commit 8ea76c1b24effb8f995b2e965fef16152313afec Author: susana Date: Fri Oct 23 18:46:50 2026 +0200 Premiere commit - Omika diff --git a/.diag/runner/Program.cs b/.diag/runner/Program.cs new file mode 100644 index 0000000..8fb6ae8 --- /dev/null +++ b/.diag/runner/Program.cs @@ -0,0 +1,242 @@ +// ============================================================ +// EXÉCUTEUR DE TESTS MINIMAL (contournement du testhost bloqué par le bac à sable) +// +// Charge l'assembly de tests par réflexion et exécute les [Fact] / [Theory] +// en respectant Skip (comme le runner xunit). AUCUNE référence xunit à la +// compilation : les attributs sont reconnus par leur nom complet. +// +// USAGE : runner [--filter sous-chaine] [--list] +// ============================================================ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Runtime.Loader; +using System.Threading.Tasks; + +string assemblyPath = Path.Combine(AppContext.BaseDirectory, "Omika.Tests.dll"); +string? filtre = null; +bool listOnly = false; + +for (int i = 0; i < args.Length; i++) +{ + if (args[i] == "--filter" && i + 1 < args.Length) + { + filtre = args[++i]; + } + else if (args[i] == "--list") + { + listOnly = true; + } +} + +if (!File.Exists(assemblyPath)) +{ + Console.Error.WriteLine($"Assembly de tests introuvable : {assemblyPath}"); + return 2; +} + +Assembly tests = AssemblyLoadContext.Default.LoadFromAssemblyPath(assemblyPath); + +int reussis = 0; +int echoues = 0; +int ignores = 0; +var echecs = new List(); + +foreach (Type type in tests.GetTypes().OrderBy(t => t.FullName, StringComparer.Ordinal)) +{ + if (!type.IsClass || type.IsAbstract) + { + continue; + } + + if (filtre is not null + && !(type.FullName?.Contains(filtre, StringComparison.OrdinalIgnoreCase) ?? false)) + { + continue; + } + + MethodInfo[] methodes = type.GetMethods(BindingFlags.Public | BindingFlags.Instance) + .OrderBy(m => m.Name, StringComparer.Ordinal) + .ToArray(); + + if (!methodes.Any(m => EstTest(m))) + { + continue; + } + + foreach (MethodInfo methode in methodes) + { + if (!EstTest(methode)) + { + continue; + } + + (bool estTest, string? raisonSkip) = DetailsTest(methode); + if (!estTest) + { + continue; + } + + string nom = $"{type.FullName}.{methode.Name}"; + + if (listOnly) + { + Console.WriteLine(nom); + continue; + } + + if (!string.IsNullOrWhiteSpace(raisonSkip)) + { + ignores++; + continue; + } + + foreach (object[]? arguments in ArgumentsTheorie(methode)) + { + string etiquette = arguments is { Length: > 0 } + ? $"{nom}({string.Join(", ", arguments.Select(a => a?.ToString() ?? "null"))})" + : nom; + + try + { + object? instance = Activator.CreateInstance(type); + try + { + object? resultat = methode.Invoke(instance, arguments); + if (resultat is Task tache) + { + tache.GetAwaiter().GetResult(); + } + } + finally + { + (instance as IDisposable)?.Dispose(); + } + + reussis++; + } + catch (Exception ex) + { + echoues++; + Exception reelle = ex is TargetInvocationException { InnerException: not null } invocation + ? invocation.InnerException! + : ex; + string message = $"{etiquette} :: {reelle.GetType().Name} : {reelle.Message}"; + if (reelle.Message.Contains("SKIP", StringComparison.Ordinal)) + { + ignores++; + echoues--; + continue; + } + + echecs.Add(message); + Console.WriteLine($"ECHEC {message}"); + } + } + } +} + +if (!listOnly) +{ + Console.WriteLine(); + Console.WriteLine($"Résultat : {reussis} réussis, {echoues} échoués, {ignores} ignorés."); + if (echecs.Count > 0) + { + Console.WriteLine(); + Console.WriteLine("--- ÉCHECS ---"); + foreach (string echec in echecs) + { + Console.WriteLine(echec); + } + } +} + +return echoues == 0 ? 0 : 1; + +static bool EstTest(MethodInfo methode) => DetailsTest(methode).EstTest; + +static (bool EstTest, string? RaisonSkip) DetailsTest(MethodInfo methode) +{ + foreach (object attribut in methode.GetCustomAttributes(inherit: true)) + { + string? nom = attribut.GetType().FullName; + if (nom is "Xunit.FactAttribute" or "Xunit.TheoryAttribute") + { + string? skip = attribut.GetType().GetProperty("Skip")?.GetValue(attribut) as string; + return (true, skip); + } + } + + return (false, null); +} + +static IEnumerable ArgumentsTheorie(MethodInfo methode) +{ + bool theorie = methode.GetCustomAttributes(inherit: true) + .Any(a => a.GetType().FullName == "Xunit.TheoryAttribute"); + if (!theorie) + { + yield return null; + yield break; + } + + bool auMoinsUn = false; + foreach (object attribut in methode.GetCustomAttributes(inherit: true)) + { + // InlineData, MemberData et ClassData partagent la même entrée publique : + // DataAttribute.GetData(MethodInfo) énumère les lignes du cas de test. + MethodInfo? getData = attribut.GetType().GetMethod("GetData", [typeof(MethodInfo)]); + if (getData is null || getData.ReturnType == typeof(void)) + { + continue; + } + + object? lignesBrutes; + try + { + lignesBrutes = getData.Invoke(attribut, [methode]); + } + catch + { + continue; + } + + if (lignesBrutes is not IEnumerable lignes) + { + continue; + } + + foreach (object? ligne in lignes) + { + auMoinsUn = true; + if (ligne is object?[] tableau) + { + yield return tableau; + } + else if (methode.GetParameters().Length == 1) + { + // `[InlineData(null)]` : Roslyn passe la tableau params entier à + // null, xunit le relit comme UN argument nul (un seul paramètre). + yield return [ligne]; + } + else + { + yield return methode.GetParameters().Select(p => ValeurParDefaut(p.ParameterType)).ToArray(); + } + } + } + + if (!auMoinsUn) + { + // Théorie sans source de données exploitable : exécutée avec ses valeurs + // par défaut, uniquement pour ne pas la perdre du total. + yield return methode.GetParameters().Select(p => ValeurParDefaut(p.ParameterType)).ToArray(); + } +} + +static object? ValeurParDefaut(Type type) + => type.IsValueType ? Activator.CreateInstance(type) : null; diff --git a/.diag/signatures/281474976710671_EMAIL_ENVOI_1.html b/.diag/signatures/281474976710671_EMAIL_ENVOI_1.html new file mode 100644 index 0000000..fc9a472 --- /dev/null +++ b/.diag/signatures/281474976710671_EMAIL_ENVOI_1.html @@ -0,0 +1,8 @@ +Signature EMAIL_ENVOI_1

--- corps du courriel ---


+ + +
+ + + + \ No newline at end of file diff --git a/.diag/signatures/281474976710671_EMAIL_ENVOI_Perso_0.html b/.diag/signatures/281474976710671_EMAIL_ENVOI_Perso_0.html new file mode 100644 index 0000000..f8ed4dc --- /dev/null +++ b/.diag/signatures/281474976710671_EMAIL_ENVOI_Perso_0.html @@ -0,0 +1 @@ +Signature EMAIL_ENVOI_Perso_0

--- corps du courriel ---

Equipe Omika

omika.tech@applilogik.fr

07 61 00 19 21





\ No newline at end of file diff --git a/.diag/signatures/281474976710679_EMAIL_ENVOI_1.html b/.diag/signatures/281474976710679_EMAIL_ENVOI_1.html new file mode 100644 index 0000000..7adc9e7 --- /dev/null +++ b/.diag/signatures/281474976710679_EMAIL_ENVOI_1.html @@ -0,0 +1,14 @@ +Signature EMAIL_ENVOI_1

--- corps du courriel ---


+
+ +

Applilogik
+ + +
+ + + + + + + \ No newline at end of file diff --git a/.diag/signatures/281474976710679_EMAIL_ENVOI_Perso_0.html b/.diag/signatures/281474976710679_EMAIL_ENVOI_Perso_0.html new file mode 100644 index 0000000..3e50eda --- /dev/null +++ b/.diag/signatures/281474976710679_EMAIL_ENVOI_Perso_0.html @@ -0,0 +1 @@ +Signature EMAIL_ENVOI_Perso_0

--- corps du courriel ---

Signature :

Salvador Alexandre
Test applilogik Omika \ No newline at end of file diff --git a/.diag/signatures/281474976710697_EMAIL_ENVOI_1.html b/.diag/signatures/281474976710697_EMAIL_ENVOI_1.html new file mode 100644 index 0000000..8613ca7 --- /dev/null +++ b/.diag/signatures/281474976710697_EMAIL_ENVOI_1.html @@ -0,0 +1,14 @@ +Signature EMAIL_ENVOI_1

--- corps du courriel ---


+
+ +

Applilogik
+ + +
+ + + + + + + \ No newline at end of file diff --git a/.diag/smtp-probe-after.txt b/.diag/smtp-probe-after.txt new file mode 100644 index 0000000..074c290 Binary files /dev/null and b/.diag/smtp-probe-after.txt differ diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..84407bd --- /dev/null +++ b/.gitignore @@ -0,0 +1,85 @@ + +# ========================================================== +# OMIKA - .NET / C# / Avalonia / ASP.NET Core / Gitea +# A placer a la racine : D:\Avalonia\Omika\.gitignore +# ========================================================== + +# Build .NET et publications generees +bin/ +obj/ +artifacts/ +publish/ +TestResults/ +coverage/ +*.trx +*.prod-backup +*.user +*.suo +*.log +/.essai-es-fr/ +/.essai-itc-itc/ +/ANALYSE_OMIKA_BATIK/ +/config/ +/Documents/ +/research_out/ +# IDE et fichiers propres au poste +.vs/ +.idea/ +*.user +*.suo +*.userosscache +*.sln.docstates +*.swp + +# SECRETS LOCAUX - ne jamais envoyer dans Git +/config/*.local.json +appsettings.*.local.json +secrets.json +.env +.env.* +!.env.example +*.pfx +*.p12 +*.key +# Contient actuellement un PasswordHash administrateur local. +# Ne versionner cette configuration qu'apres assainissement. +/src/Omika.Diagnostics.Web/appsettings.Development.json + +# Runtime, journaux, diagnostics +/logs/ +*.log +*.jsonl +*-checkpoint.json +/Documents/ + +# Packs de langues et modeles lourds +/packs/ +/packs.zip +*.onnx +*.spm +.hf-cache/ +.essai-*/ + +# Projets temporaires, caches et recherches locales +/.codewhale/ +/research_out/ +/research_*.js +/.probe4/ +__pycache__/ + +# Fichiers temporaires et systeme +*.bak +~$* +desktop.ini +Thumbs.db +.DS_Store + +# Diagnostics et archives a la racine seulement +/*.txt +/*.zip +/whale + +# Batik / WinDev historique : hors du depot Omika par defaut. +# Supprimer cette regle UNIQUEMENT si la strategie de versionnement Batik est definie. +/Batik/ + diff --git a/ANALYSE-OMIKA-APP.md b/ANALYSE-OMIKA-APP.md new file mode 100644 index 0000000..ef645c1 --- /dev/null +++ b/ANALYSE-OMIKA-APP.md @@ -0,0 +1,445 @@ +# Omika — Analyse technique de l'application (mobile offline-first + desktop) + +> Source : `D:\Avalonia\Omika` — projets `src/Omika.App`, `src/Omika.App.Local`, +> `src/Omika.App.Desktop`, `src/Omika.App.Android`, `src/Omika.App.iOS`. +> Analyse factuelle destinée à la rédaction d'un site web marketing pour vendre +> le logiciel de gestion d'interventions (field-service management). + +--- + +## Vue d'ensemble de la pile technique + +| Élément | Détail | Preuve | +|---|---|---| +| Langage / runtime | C# sur **.NET 10** (`net10.0`) | `src/Omika.App/Omika.App.csproj` | +| UI | **Avalonia UI** (thème Fluent, police Inter), rendu identique sur desktop + mobile | `Omika.App.csproj`, `App.axaml` | +| MVVM | **CommunityToolkit.Mvvm** (`[ObservableProperty]`, `[RelayCommand]`) | `ViewModelBase.cs` | +| Base locale | **SQLite** (`Microsoft.Data.Sqlite`) — fichier `omika.db` | `LocalDatabase.cs` | +| Cartes | **Mapsui.Avalonia12** (vue lieu/intervention) | `Omika.App.csproj` | +| QR | **QRCoder** (génération) + **ZXing.Net** (scan Android) | `Omika.App.csproj`, `Omika.App.Android.csproj` | +| Images | **SkiaSharp** (optimisation poids photos) + **MetadataExtractor** (date EXIF) | `Omika.App.csproj` | +| Hôtes | Desktop (`Avalonia.Desktop`, `WinExe`), Android (`net10.0-android`, min SDK 23, `com.applilogik.omika.app`), iOS (`net10.0-ios`, min 14.0) | les 3 `.csproj` hôtes | +| Injection | **Pas de conteneur DI** — composition racine manuelle unique | `AppServices.cs` | + +Point notable : l'application est un **monolithe UI partagé**. `Omika.App` contient +toute la logique d'interface (Vues + ViewModels + Navigation + Services UI) ; les +trois hôtes ne contiennent que le strict minimum natif (lancement + implémentations +plateforme : caméra, QR, téléphone, email, carte, secure storage, connectivité). + +--- + +## 1. Les écrans de l'application + +Toutes les vues sont dans `src/Omika.App/Views/*.axaml`, les ViewModels dans +`src/Omika.App/ViewModels/*.cs`, et le routage page → ViewModel dans +`src/Omika.App/Navigation/PageViewModelFactory.cs` (enum `AppPage`). + +### 1.1 Activation / licence +- **`LicenseActivationView.axaml` + `LicenseActivationViewModel.cs`** — écran + d'inscription au premier démarrage. Deux entrées vers la même procédure : saisie + manuelle d'un code d'inscription ou **scan d'un QR** (avec aperçu caméra en direct, + annulable). Affiche aussi les états « Connexion requise pour vérifier votre + licence » et « Licence expirée ou révoquée ». Aucune URL codée en dur. + +### 1.2 Accueil / Shell +- **`ShellView.axaml` + `ShellViewModel.cs`** — coquille applicative : rail latéral + (desktop/tablette), **barre de navigation basse mobile** (5 accès directs max, + le reste dans un menu « Plus »), topbar avec titre, carte profil, **bouton + flottant de synchronisation avec badge du nombre d'opérations en attente**. + Mode « immersif » plein écran pour l'éditeur d'image. + +### 1.3 Agenda / Planning / Rendez-vous +- **`AgendaView.axaml` + `AgendaViewModel.cs`** — agenda personnel : vues + **Jour / Semaine / Mois**, bandeau 7 jours avec compteurs, sélecteur de date. + Lecture 100 % SQLite locale (aucun appel API au chargement). +- **`AgendaEquipeView.axaml` + `AgendaEquipeViewModel.cs`** — agenda d'équipe : + filtres par équipe/collaborateur, modes liste/calendrier. +- **`RendezVousDetailView.axaml` + `RendezVousDetailViewModel.cs`** — fiche + rendez-vous : contacts, **saisie de temps inline** (brouillons), **annulation** + (origine + motif + note), **finalisation** (« Fait » après validation des temps), + accès au **compte rendu**. + +### 1.4 Interventions +- **`InterventionsView.axaml` + `InterventionsViewModel.cs`** — recherche + d'interventions (filtres référence/client/site/collaborateur/état/type/relation + aux RDV) avec **onglets « Récentes » (dernière recherche persistée) et + « Épinglées » (favoris)**. Recherche à la demande (API), affichage offline du cache. +- **`InterventionDetailView.axaml` + `InterventionDetailViewModel.cs`** — fiche + intervention : hero (référence, client, site, dossier), **contacts, documents/ + images, notes internes, courriels, brouillons de rapport, notes administratives**, + actions **Modifier / Archiver** (offline-first via Outbox). +- **`InterventionEditView.axaml` + `InterventionEditViewModel.cs`** — formulaire + partagé de création/édition d'intervention (offline-first). +- Sous-écrans d'une intervention : + - `InterventionContactsView` + `ContactDetailView` — contacts liés + fiche contact. + - `InterventionDocumentsView` + `PhotoViewerView` + `ImageEditorView` — documents/ + photos, carrousel, **annotation d'image plein écran** (édition + signature). + - `InterventionNotesView` + `InterventionNotesAdministrativesView` — notes internes + et administratives (droit `A.NOTE.ADMIN`). + - `InterventionEmailsView` + `NouveauEmailView` — courriels d'intervention + + composition d'email (depuis modèle, rapport ou contact). + - `RapportChampsView` — saisie des champs/rubriques d'un modèle de rapport. + - `InterventionResourcesView` — vue regroupant notes / images / documents. + +### 1.5 Dossiers / Clients / Sites +- **`DossiersView` + `DossierDetailView`** — liste (recherche + **épinglage local**) + et fiche dossier. +- **`ClientsView` + `ClientDetailView`** — liste (recherche + épinglage) et fiche client. +- **`SitesView` + `SiteDetailView`** — liste (recherche + épinglage) et fiche site, + avec **carte géographique** (contrôle `Controls/LieuMap.axaml`, Mapsui) et + lancement d'itinéraire. + +### 1.6 Équipe / Collaborateurs +- **`EquipesView.axaml` + `EquipesViewModel.cs`** — menu « Équipe » : liste des + équipes de l'utilisateur. +- **`EquipeDetailView` + `EquipeDetailViewModel.cs`** — membres d'une équipe. +- **`CollaborateurDetailView` + `CollaborateurDetailViewModel.cs`** — fiche + collaborateur (dont **attribution/révocation de licence mobile**). +- `CollaborateursView.axaml` / `CollaborateursViewModel.cs` — liste de collaborateurs + existante mais **non câblée** dans la factory de pages (voir §8). + +### 1.7 Suivi des temps / Compte rendu +- **`SuiviTempsCreateView.axaml` + `SuiviTempsCreateViewModel.cs`** — création d'une + saisie de temps (offline-first : brouillons SQLite + Outbox). Prise en compte de la + **pause déjeuner** (préférence locale par utilisateur). +- **`CompteRenduCreateView.axaml` + `CompteRenduCreateViewModel.cs`** — saisie du + compte rendu d'un rendez-vous (individuel ou groupe/journée, anti-doublon). + +### 1.8 Synchronisation / Paramètres +- **`SynchronisationView.axaml` + `SynchronisationViewModel.cs`** — file de + synchronisation : liste des opérations Outbox en attente (temps, annulations, + photos/documents, interventions…) + lancement manuel. +- **`ParametresView.axaml` + `ParametresViewModel.cs`** — réglages : **thème + clair/sombre/système**, **couleur principale** (presets + curseurs RVB), section + **Compte/Licence** (n° masqué, validité, expiration, société), **limite de poids + des photos** (politique client, lecture seule), **horaires de pause déjeuner**, + **maintenance des données** (purge cache documents, suppression données, + réinitialisation complète), **email au support** (export des logs en pièce jointe), + déconnexion, version. + +### 1.9 Composants réutilisables (`Controls/`) +Cartes (`ClientCard`, `SiteCard`, `ContactCard`, `DossierCard`, `InterventionCard`, +`RendezVousCard`, `EquipeCard`), boutons d'action (`CallButton`, `EmailButton`, +`OpenButton`), champs (`DateField`, `TimeField`, `SignaturePad` pour signature, +`ImageEditorControl`), `LieuMap`, aperçu HTML d'email +(`EmailHtmlPreviewControl`), templates d'édition de champs +(`Views/ChampEditionTemplates.axaml`). + +--- + +## 2. Navigation et MVVM + +### ViewLocator (`src/Omika.App/ViewLocator.cs`) +`IDataTemplate` standard d'Avalonia : résout la vue à partir du type du ViewModel en +remplaçant le suffixe `ViewModel` par `View` (réflexion). Cas particulier pour +`PlaceholderViewModel` → `PlaceholderPage`. Retour `Match` sur `ViewModelBase`. + +### NavigationService (`Navigation/NavigationService.cs`, `INavigationService.cs`) +- Liste d'items `NavigationItem` : Agenda (Home), Interventions, Dossiers, Équipe, + Clients, Sites, Paramètres. Les 5 premiers sont « primaires » sur mobile, les + autres passent par le menu « Plus ». +- **Pile de retour** (`_backStack` de `NavigationEntry`) pour `GoBack`. +- Événements `PageChanged` / `ParameterChanged` (le Shell écoute pour recharger le VM). +- **Blocage en amont par droits** via `PermissionGuard.IsPageAllowed` — impossible de + naviguer vers une page non autorisée (pas seulement masquée). +- Le changement de page est **purement visuel** : aucun appel API. + +### ShellViewModel (`ViewModels/ShellViewModel.cs`) +Orchestre : page courante + ViewModel courant, titre, état de synchronisation +(`SyncUiState`), identité utilisateur (nom/initiales), mode immersif, **badge de +synchronisation en attente** (`PendingSyncCount` via Outbox), commande +`SyncNowCommand` (avec verrou anti-double-clic), filtrage du menu par droits, +`RefreshCurrentPage()` après sync. + +### RootViewModel (`ViewModels/RootViewModel.cs`) +Décide au démarrage entre **écran d'activation** et **Shell**. Règles : +- rejet terminal serveur (licence inactive/expirée/révoquée/device mismatch) → activation avec QR ; +- session valide (token valide, renouvelé, ou période offline autorisée) → Shell ; +- session présente mais hors grace ET serveur injoignable → activation sans QR (« Connexion requise ») ; +- aucune session → inscription QR. + +### PageViewModelFactory (`Navigation/PageViewModelFactory.cs`) +Fabrique les ViewModels métier par page, avec **routage des paramètres** (Guid, +`AgendaItem`, `DetailNavigation`, `InterventionEditNavigation`, `EmailEditionNavigation`, +`NouveauEmailRapportNavigation`, `NouveauEmailContactNavigation`, `ImageEditorNavigation`…). +Réutilise les instances Agenda / Agenda-équipe pour conserver date/filtres/mode au +retour. Câble `SetShell` pour résoudre la dépendance circulaire Shell ↔ Factory. + +### CommunityToolkit.Mvvm (`ViewModels/ViewModelBase.cs`) +`ObservableObject` de base, `[ObservableProperty]` (code généré), `[RelayCommand]`, +helpers `LogError`/`TrackFeature` (télémétrie d'usage/erreurs best-effort). + +### Droits (`Services/PermissionService.cs`, `Navigation/PermissionGuard.cs`) +Droits centralisés par clés canoniques (`MobilePermissionKeys` : `VoirClients`, +`VoirSites`, `VoirDossiers`, `PeutEnvoyerEmail`, `PeutCreerRapport`, +`PeutVoirAgendaEquipe`, `LicenceMobile`, `A.TEMP.COLB`…). Le menu et les pages sont +filtrés/recalculés dès que le bootstrap (droits serveur) est rafraîchi. + +--- + +## 3. La couche offline-first + +### 3.1 Base SQLite (`Sqlite/LocalDatabase.cs`, `Sqlite/SqliteSchema.cs`) +- Fichier **`omika.db`** dans `%LocalAppData%\Omika` (desktop) / dossier app (mobile). +- Schéma versionné (`CurrentVersion = 1`), créé **idempotent** (`CREATE TABLE IF NOT + EXISTS`) + **migrations de colonnes** via `PRAGMA table_info` (ajout de colonnes + sans détruire les lignes). +- Séparation stricte : + - **Tables métier** (remplacées par snapshot) : `Client`, `Personne`, `Site`, + `Intervention`, `Dossier`, `RendezVous`, `Collaborateur`, `DocumentMetadata`, + `SuiviTemps` — chacune = `Id` (PK GUID) + `PayloadJson` (DTO complet) + colonnes + de référence typées (`ClientId`, `SiteId`, `DossierId`, `InterventionId`…). + - **Tables techniques** (jamais purgées) : `Outbox`, `IdentityMapping`, `SyncState`, + `DocumentCache`, `LocalBootstrap`, `MobileEnrollment`, `UiPreferences`, + `PreferencesUtilisateur`, `SuiviTempsDraft`, `RendezVousTempsValidation`, + `RendezVousDraftReference`, `InterventionCache`, `DossierLocalState`, + `DossierInterventionCache`, `ContextInterventionCache(State)`, `RapportBrouillon`, + `NoteInterne`, + caches de dernière recherche (`DossierLastSearch`, + `ClientLastSearch`, `SiteLastSearch`). +- `LocalRepository` (`Repositories/LocalRepository.cs`) : repository + générique `Upsert/GetById/GetAll/Delete/Clear/Count` sur ce schéma JSON + colonnes + de référence (mapper `ReferenceColumnMapper`). + +### 3.2 L'Outbox (`Services/OutboxService.cs`, `Models/OutboxOperation.cs`, `Models/OutboxState.cs`, `Repositories/OutboxRepository.cs`) +- Chaque mutation métier locale produit une **opération Outbox** (idempotente). +- `OutboxOperation` porte : `OperationId` (GUID de transaction **immuable**, créé une + fois et conservé à travers les retries), `EntityType`, `OperationType` + (CREATE/UPDATE/DELETE/ARCHIVE), `RequestedEntityGuid` (GUID local temporaire), + `CanonicalEntityGuid` (GUID serveur après réconciliation A→B), `Payload` (JSON), + `DependencyEntityType`/`DependencyRequestedEntityGuid` (ordonnancement), `State`, + `RetryCount`, `LastError`. +- `OutboxState` : `Pending → Sending → Accepted → WaitingResult → Succeeded | Rejected + | StatusNotAvailable` (7 états, récupérables après crash). + +### 3.3 Le SyncEngine (`Services/SyncEngine.cs`) — cycle complet +Protégé par `SemaphoreSlim` (une seule sync à la fois). Cycle : +1. **Vérifier la connectivité** (`INetworkConnectivity`) — hors ligne → retour + « Hors ligne. » **sans aucune tentative HTTP**. +2. **Envoyer les opérations prêtes** (`GetReadyAsync`) en différant celles dont la + dépendance (ex. note → intervention créée) est encore active ; marquage `Sending` + avant envoi ; `DeviceId` réel transmis (cohérence serveur token/opération). + Erreur réseau → retour `Pending` + `RetryCount++`. + **Documents** : upload **synchrone** multipart (jamais de Base64) ; résultat + connu immédiatement, sans polling. +3. **Interroger les statuts** (`GET /api/sync/status/{OperationId}`) : `Success` + (réconciliation A→B), `Rejected` (définitif, conservé pour diagnostic), + `StatusNotAvailable` → **ré-émission bornée à 5** puis anomalie visible (jamais + convertie artificiellement en succès). +4. **Appliquer le snapshot atomiquement** (voir ci-dessous). +Résultat structuré `SyncCycleResult` (Executed, SnapshotApplied, OperationsSent/ +Succeeded/Rejected/Anomaly, FailureStage, ExceptionType, Message). + +### 3.4 SnapshotApplier (`Services/SnapshotApplier.cs`) — transaction atomique +- Le snapshot est **entièrement téléchargé et validé AVANT** toute modification. +- **Transaction SQLite unique** : remplace `Personne`, `Intervention`, `RendezVous` + (DELETE + INSERT), **préserve les rendez-vous ayant une mutation locale en + attente** (annulation non confirmée), puis purge les tables « à la demande » + (Client, Site, Dossier, Collaborateur, DocumentMetadata, SuiviTemps). +- En cas d'erreur : **rollback** — l'ancienne base métier reste intacte. +- Les tables techniques (Outbox, IdentityMapping, DocumentCache, LocalBootstrap, + favoris, brouillons…) **ne sont jamais touchées**. + +### 3.5 Réconciliation d'identités (`Services/MobileIdentityReconciliationService.cs`) +GUID mobile temporaire (A) → GUID canonique serveur (B). Idempotente et +**transactionnelle** : enregistre le mapping (`IdentityMapping`), réécrit la PK +logique, réconcilie le cache document, les **références enfants** (foreign keys +locales), l'Outbox en attente, et **réécrit les payloads Outbox** via des +`IOutboxPayloadRewriter` typés (`PayloadRewriters/ClientPayloadRewriter.cs`, +`SitePayloadRewriter.cs`, `DossierPayloadRewriter.cs`, `InterventionPayloadRewriter.cs`, +`RendezVousPayloadRewriter.cs`, `NoteInternePayloadRewriter.cs`, +`NoteAdministrativePayloadRewriter`). + +### 3.6 Cache document (`Services/DocumentCacheService.cs`, `Repositories/DocumentCacheRepository.cs`) +- Les **binaires sont dans des fichiers locaux** (`%LocalAppData%\Omika\documents`) ; + SQLite ne contient que les **métadonnées** (`DocumentCache` : LocalPath, NomFichier, + MimeType, Size, State). +- Téléchargement **à la demande**, survit au snapshot, purge possible depuis les + Paramètres. + +### 3.7 Détection de connectivité +- Repli portable (`Services/NetworkConnectivity.cs`) : interface `NetworkInterface` + active non loopback. +- **Android** (`AndroidNetworkConnectivity.cs`, branché dans `Application.cs`) : + `ConnectivityManager` — évite les faux positifs « en ligne » (mode avion, hotspot + sans Internet). + +--- + +## 4. Session et activation + +### 4.1 MobileSessionService (`Services/MobileSessionService.cs`) +- **Token stocké en secure storage dédié**, jamais en SQLite en clair + (`ISecureTokenStore`) ; le bootstrap (profil/droits/licence) est, lui, en SQLite + (`LocalBootstrapState`, singleton). +- **Période offline autorisée** : une session déjà validée reste accessible hors + connexion pendant `OfflineGraceDays` jours, calculés **strictement** depuis la + dernière confirmation serveur (`LastLicenseValidationUtc`), jamais depuis une + écriture locale. +- **Renouvellement single-flight** (`SemaphoreSlim`) : un seul `license/validate` + à la fois ; mémorisation d'un rejet terminal pour ne pas marteler le serveur. +- `ClearSessionAsync` supprime **seulement** token + bootstrap — **jamais les données + métier** (SQLite, cache, Documents, Outbox). +- `RefreshBootstrapAsync` recharge référentiels/équipes/collaborateurs/droits sans + repousser la grace. + +### 4.2 Flux d'activation côté mobile (`Services/MobileEnrollmentService.cs`, `Services/LicenseEnrollmentClient.cs`) +1. Lecture du **QR d'inscription** (`EnrollmentQrCodec.Decode`, **vérification de + signature par `kid`** via `Security/EnrollmentVerificationKey.cs`). +2. **Validation stricte HTTPS non-local** de l'URL du service de licence + (`EndpointValidator`). +3. Appel `POST /api/license/activate` avec `CodeClient`, `NumeroLicence`, `DeviceId` + + snapshot d'appareil. +4. Validation HTTPS de l'URL d'API Omika retournée par le serveur. +5. Persistance de la configuration (`MobileEnrollment` / `MobileEnrollmentStore`). +6. `ApplyEnrollmentSessionAsync` : token en secure storage + bootstrap en SQLite. +Aucune URL codée en dur — tout provient du QR puis du serveur de licence. + +### 4.3 Licence de développement (Debug uniquement) +- `Services/DevelopmentLicenseProvider.cs` + `DevelopmentLicenseConfigurationLoader.cs` : + licence locale valide chargée depuis un fichier **non sensible** + `development-license.json`, **compilée sous `#if DEBUG` uniquement** — en Release, + le provider retourne toujours `null` (le serveur reste l'autorité). +- Permet de tester navigation/SQLite/snapshot/offline sans base de licences HFSQL. +- `EnsureDevelopmentSessionAsync` obtient un **vrai token signé** via + `POST /api/dev/session` pour le flux Desktop de développement. + +### 4.4 Secure storage par plateforme +- **Android** : `AndroidSecureTokenStore` — **Keystore AES-GCM**, clé non exportée, + supprimée à la désinstallation (→ réinstallation = écran QR). `LegacyTokenMigrator` + migre l'ancien `session.token` en clair vers le blob chiffré. +- **iOS** : `IosSecureTokenStore` — **Keychain** ; `IosTokenBootstrap` gère le marker + d'installation (purge Keychain à la réinstallation) + migration. +- **Desktop/fallback** : `PlatformSecureTokenStore` (fichier, développement). + +--- + +## 5. Le client HTTP (`Services/MobileApiClient.cs`, ~1135 lignes) + +- Client HTTP typé vers l'API mobile Omika, réutilisant les **contrats backend + partagés** (`Omika.Core.Contracts.Mobile.*`). +- `BaseUrl` : **`null` tant que l'appareil n'est pas inscrit**, puis fixée depuis la + configuration d'inscription (jamais de localhost/fallback codé en dur). + `RequireBaseUrl()` lève si aucune URL. +- **Bearer token** : `AccessToken` posé via `Authorization: Bearer` dans + `CreateAuthenticatedRequest` (jamais loggé). +- ~50 endpoints : licence (`activate`/`validate`/`dev/session`), bootstrap, sync + (`operations`, `status/{id}`, `snapshot`), recherche intervention/dossier/client/ + site/collaborateur, fiches par GUID, documents (download/upload), notes, emails, + modèles (mail/rapport), génération (`email`/`rapport`), compte rendu, suivi temps. +- **Deux `DelegatingHandler`** branchés dans `AppServices` : + - `TraceIdPropagationHandler` — propagation TraceId/SessionId (corrélation). + - `SessionRefreshHandler` — **renouvellement 401 single-flight** (réémission + transparente), anti-récursion via option `SkipAuthRefresh` sur les appels licence. + +--- + +## 6. Plateformes + +### Desktop (`src/Omika.App.Desktop/Program.cs`) +- `WinExe`, `[STAThread]`, `IClassicDesktopStyleApplicationLifetime`. +- Capture globale des exceptions non gérées → `crash.log` + télémétrie + (`ExceptionTelemetry`). Rendu Windows/macOS/Linux via `Avalonia.Desktop`. + +### Android (`src/Omika.App.Android/`) +- `MainActivity` (`AvaloniaMainActivity`) : demande de **permission caméra** runtime, + **sélecteur de fichiers SAF** (`ACTION_OPEN_DOCUMENT`, multi-sélection), **capture + photo** (`ACTION_IMAGE_CAPTURE` + FileProvider), gestion des résultats, handlers + d'exceptions natives (`AndroidEnvironment.UnhandledExceptionRaiser`). +- `Application.cs` (`CustomizeAppBuilder`) : installe **tous** les services natifs + AVANT l'init Avalonia — `AndroidEnrollmentQrScanner` (Camera2 + ZXing), launchers + `tel:`/`mailto:`/`geo:`, `AndroidFilePicker`, `AndroidPhotoCapture`, + `AndroidFileLauncher`, `AndroidSecureTokenStore` (Keystore), `AndroidDeviceInfoProvider`, + `AndroidNetworkConnectivity` (ConnectivityManager), migration du token. + +### iOS (`src/Omika.App.iOS/`) +- `AppDelegate.cs` (`CustomizeAppBuilder`) : `IosEnrollmentQrScanner`, launchers + `tel:`/`mailto:`/Apple Maps, `IosFilePicker` (UIDocumentPicker + PHPicker photos), + `IosPhotoCapture` (UIImagePickerController), `IosFileLauncher` + (UIDocumentInteractionController), `IosSecureTokenStore` (Keychain) + + `IosTokenBootstrap` (marker d'installation), `IosDeviceInfoProvider`. +- `Main.cs` : entrée `UIApplication.Main`. + +### Points spécifiques transverse +- **QR code** : génération (`QrCodeToImageConverter.cs`) + scan natif (aperçu caméra + en direct via `IQrScannerPreviewSink` / `LicenseActivationViewModel.OnFrame`). +- **Caméra/photo** : capture native + **optimisation du poids** (`SkiaImageOptimizer`) + + **date EXIF** (`MetadataDocumentDateResolver`) avant enregistrement. +- **Téléphone/email/carte** : abstractions `IPhoneLauncher`/`IEmailLauncher`/ + `IMapLauncher` avec implémentations natives par plateforme. +- **Secure storage** : Keystore / Keychain / fichier (voir §4.4). + +--- + +## 7. Extraction marketing (fonctionnalités concrètes, avec preuve technique) + +| Argument marketing | Réalité technique (fichier) | +|---|---| +| **100 % hors-ligne** | Agenda et fiches lisent SQLite locale sans appel API (`AgendaViewModel.cs` « Ne déclenche aucun appel API », `InterventionDetailViewModel.cs`). Les mutations sont écrites localement puis envoyées plus tard (Outbox). | +| **Synchronisation automatique** | Sync au lancement (`App.axaml.cs` `StartInitialSyncAsync`) + après inscription + manuelle (`ShellViewModel.SyncNowAsync`). | +| **Aucune perte de données** | Snapshot atomique avec rollback (`SnapshotApplier.cs`), préservation des RDV en attente, réconciliation d'identités idempotente (`MobileIdentityReconciliationService.cs`). | +| **File d'attente hors-ligne fiable** | Outbox avec états récupérables après crash, ré-émission bornée, jamais de faux succès (`SyncEngine.cs`, `OutboxState.cs`). | +| **Multi-plateforme, une seule base de code** | ~165 fichiers UI partagés (`Omika.App`), 3 hôtes fins (Desktop/Android/iOS). | +| **Interface native** | Avalonia Fluent + Inter, adaptative (rail desktop vs barre basse mobile, `ShellView.axaml`), thème clair/sombre/système + couleur personnalisable (`ThemeService`, `ParametresViewModel`). | +| **Activation sécurisée par QR** | QR signé (`kid`), validation HTTPS stricte, token en Keystore/Keychain (`MobileEnrollmentService`, `AndroidSecureTokenStore`, `IosSecureTokenStore`). | +| **Photos/documents optimisés** | Compression poids (SkiaSharp), date réelle EXIF, cache fichier, upload multipart sans Base64 (`DocumentLocalService`, `SkiaImageOptimizer`, `MetadataDocumentDateResolver`). | +| **Signature + annotation d'image** | `Controls/SignaturePad.axaml`, `ImageEditorView`/`ImageEditorControl` + `SignatureStrokeTracker`. | +| **Emails & rapports depuis modèles** | `NouveauEmailView`, `RapportChampsView`, génération serveur (`/generation/email`, `/generation/rapport`). | +| **Suivi des temps intelligent** | Pré-remplissage, pause déjeuner, saisie pour autrui (`A.TEMP.COLB`), brouillons offline (`RendezVousDetailViewModel`, `SuiviTempsLocalService`). | +| **Sécurité par droits** | Menu/pages filtrés par droits serveur, rechargés à chaque sync (`PermissionGuard`, `PermissionService`). | +| **Diagnostic & support intégrés** | Télémétrie locale (JSONL), export logs en email au support, capture de crash (`AppServices`, `SupportLogExporter`, `ExceptionTelemetry`). | +| **Gestion de licence & licences collaborateurs** | Activation/validation/grace offline, attribution/révocation de licence mobile (`MobileSessionService`, `MobileApiClient.AssignMobileLicenceAsync/ReleaseMobileLicenceAsync`). | +| **Cartographie des interventions** | `Controls/LieuMap.axaml` (Mapsui) + itinéraire (`IMapLauncher`). | + +--- + +## 8. Limites / risques + +1. **Journalisation de diagnostic « temporaire » abondante** : de nombreux + `Console.WriteLine` marqués « à retirer après diagnostic » subsistent dans le + code de production (`[TOKEN-DIAG]`, `[INTERVENTION-HTTP]`, `[API-CONFIG]`, + `[STARTUP]`, `REFRESH START/SUCCESS`, `SQLITE IMPORT END`) — `MobileSessionService.cs`, + `MobileApiClient.cs`, `AppServices.cs`, `SyncEngine.cs`. Aucun secret n'est loggé, + mais c'est du bruit à nettoyer avant une démo publique. +2. **Licence de développement (Debug)** : bypass local `#if DEBUG` — correctement + compilé hors Release, mais à ne jamais laisser fuir en production + (`DevelopmentLicenseProvider.cs`). +3. **Commentaires d'énumération obsolètes** : `AppPage.cs` qualifie encore Agenda/ + Interventions/Dossiers/Clients/Sites de « placeholder pour ce lot » alors qu'ils + sont **entièrement implémentés** (`PageViewModelFactory.cs` route tout vers de + vrais ViewModels). Risque de confusion lors de la relecture. +4. **Écran orphelin** : `CollaborateursView.axaml` + `CollaborateursViewModel.cs` + existent mais ne sont **pas référencés** par la navigation (le menu « Équipe » + passe par `EquipesView`/`EquipeDetail`). +5. **Composition racine manuelle** : `AppServices.cs` (~840 lignes) câble tout sans + conteneur DI — explicite mais long à maintenir. +6. **Snapshot réduit** : le snapshot ne fournit plus que Personne/Intervention/ + RendezVous ; Client/Site/Dossier/Collaborateur/DocumentMetadata/SuiviTemps sont + « à la demande » et **purgés à chaque snapshot** (`SnapshotApplier.cs`). La + première consultation hors ligne de ces fiches dépend donc des **caches/épinglages** + locaux (`DossierLocalState`, `ClientLocalState`, `SiteLocalState`, + `InterventionCache`, `ContextInterventionCache`) — comportement à bien expliquer + (les favoris et la dernière recherche restent disponibles offline). +7. **Connectivité portable naïve** : le repli `NetworkConnectivity` (interface + active ≠ internet) est corrigé sur Android par `ConnectivityManager`, mais iOS et + desktop utilisent le repli. +8. **Stockage du token Desktop** : le repli fichier (`PlatformSecureTokenStore`) est + moins robuste que Keystore/Keychain (documenté « développement/desktop »). +9. **Grace offline pilotée serveur** : la durée hors-ligne autorisée dépend de + `OfflineGraceDays` renvoyé par la licence ; en mode Dev elle est fixée à la durée + d'expiration (`DevelopmentLicenseProvider.cs`). + +--- + +## Résumé (5 lignes) + +Omika est un logiciel de gestion d'interventions **offline-first** réécrit en +**.NET 10 / Avalonia UI**, avec une UI partagée unique déployée sur **desktop +(Windows/macOS/Linux), Android et iOS**. Il couvre l'ensemble du cycle terrain — +**agenda/planning, interventions, dossiers, clients, sites, équipe, suivi des temps, +comptes rendus, documents/emails** — avec une base **SQLite locale** et un +**moteur de synchronisation robuste (Outbox + snapshot atomique + réconciliation +d'identités)**. L'**activation par QR sécurisée** et le **token en Keystore/Keychain** +assurent un onboarding et une session maîtrisés, avec **période offline autorisée**. +Les points de vigilance avant commercialisation sont la **journalisation de +diagnostic temporaire** à nettoyer, quelques **commentaires/écrans obsolètes**, et le +**repli fichier du token desktop**. diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 0000000..8ace7fb --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,36 @@ + + + + 1.0.0 + 1 + + + + $(OmikaVersion) + $(OmikaVersion).0 + $(OmikaVersion).0 + $(OmikaVersion)+$(OmikaBuild) + + diff --git a/Directory.Packages.props b/Directory.Packages.props new file mode 100644 index 0000000..69ce0cb --- /dev/null +++ b/Directory.Packages.props @@ -0,0 +1,129 @@ + + + + true + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Omika.slnx b/Omika.slnx new file mode 100644 index 0000000..28a2dfb --- /dev/null +++ b/Omika.slnx @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/README.md b/README.md new file mode 100644 index 0000000..cb83b07 --- /dev/null +++ b/README.md @@ -0,0 +1,581 @@ +# Omika + +> **Gestion d'interventions terrain** — application .NET 10 / Avalonia, réécriture moderne de +> l'application WinDev historique **Batik**. + +Omika couvre le cycle complet d'une intervention technique : agenda et rendez-vous, dossiers, +clients et sites, interventions et suivi des temps, comptes rendus, documents et photos, courriels, +rapports — sur **poste de bureau, Android et iOS**, avec un fonctionnement **hors ligne** complet et +une synchronisation vers le serveur HFSQL existant. + +| | | +|---|---| +| **Langage / runtime** | C# · .NET 10 (`net10.0`) | +| **UI** | Avalonia 12.1.1 (thème Fluent, police Inter) — rendu identique desktop et mobile | +| **MVVM** | CommunityToolkit.Mvvm 8.4.2 | +| **Base locale (mobile)** | SQLite (`Microsoft.Data.Sqlite`) — `omika.db` | +| **Base serveur** | HFSQL Client/Server (PC SOFT) via ODBC / OLE DB | +| **Version** | `1.0.0` build `1` — source unique : `Directory.Build.props` | +| **Éditeur** | Applilogik — `com.applilogik.omika.app` | + +--- + +## Sommaire + +1. [Ce que fait Omika](#1-ce-que-fait-omika) +2. [Architecture](#2-architecture) +3. [Les projets](#3-les-projets) +4. [Prérequis](#4-prérequis) +5. [Démarrage rapide](#5-démarrage-rapide) +6. [Configuration](#6-configuration) +7. [Tests](#7-tests) +8. [Publier et déployer](#8-publier-et-déployer) +9. [Observabilité](#9-observabilité) +10. [Traduction hors ligne et packs de langues](#10-traduction-hors-ligne-et-packs-de-langues) +11. [Bases de données](#11-bases-de-données) +12. [Arborescence du dépôt](#12-arborescence-du-dépôt) +13. [Règles d'architecture](#13-règles-darchitecture) +14. [Documentation](#14-documentation) +15. [Dépannage](#15-dépannage) + +--- + +## 1. Ce que fait Omika + +### 1.1 Fonctionnel + +| Domaine | Contenu | +|---|---| +| **Licence / activation** | Inscription au premier démarrage par code ou **scan de QR** (aperçu caméra), états « connexion requise », « licence expirée ou révoquée ». Attribution et révocation de licence mobile depuis la fiche collaborateur. | +| **Agenda** | Agenda personnel **Jour / Semaine / Mois**, agenda d'équipe avec filtres par équipe et collaborateur. Lecture 100 % locale, aucun appel réseau au chargement. | +| **Rendez-vous** | Fiche complète : contacts, saisie de temps inline, annulation (origine + motif + note), finalisation « Fait ». | +| **Interventions** | Recherche multi-critères (référence, client, site, collaborateur, état, type), onglets « Récentes » et « Épinglées », fiche complète, **création / modification / archivage offline-first**. | +| **Dossiers, clients, sites** | Listes avec recherche et épinglage local, fiches détaillées, **carte géographique** (Mapsui) et lancement d'itinéraire. | +| **Équipe** | Équipes de l'utilisateur, membres, fiches collaborateurs. | +| **Temps et comptes rendus** | Saisie de temps avec gestion de la pause déjeuner, compte rendu individuel ou groupe/journée avec anti-doublon. | +| **Documents et photos** | Téléchargement à la demande, cache hors ligne, ajout offline-first, **éditeur d'image plein écran** (annotation + signature), date réelle lue dans les métadonnées EXIF. | +| **Courriels** | Composition depuis un modèle, un rapport ou un contact, envoi SMTP, brouillons. | +| **Rapports** | Remplissage de modèles DOCX par champs/rubriques. | +| **Synchronisation** | File Outbox, badge du nombre d'opérations en attente, déclenchement manuel, reconstruction de la base locale par **snapshot**. | +| **Paramètres** | Thème clair/sombre/système, couleur principale, compte et licence, limite de poids des photos, horaires de pause, maintenance des données (purge, réinitialisation), export des journaux vers le support. | +| **Traduction hors ligne** | Traduction FR ⇄ 32 langues directement sur l'appareil (ONNX Runtime), sans réseau. | + +### 1.2 Principe directeur : offline-first + +Toute écriture métier part d'abord dans la **base SQLite locale** et dans l'**Outbox**, puis remonte +au serveur à la première occasion. L'utilisateur n'attend jamais le réseau. + +- **Snapshot** : le serveur renvoie une photographie complète des données métier pour reconstruire + la base locale. +- **Outbox** : file locale des changements à pousser, rejouable après coupure. +- **Idempotence** : chaque opération porte un `OperationId` unique ; la rejouer ne produit pas de + doublon. + +--- + +## 2. Architecture + +``` +┌──────────────────────────────────────────────────────────────────────┐ +│ TÉLÉPHONE / POSTE DE BUREAU │ +│ │ +│ Omika.App.Desktop · Omika.App.Android · Omika.App.iOS │ +│ │ hôtes plateformes │ +│ ▼ │ +│ Omika.App Vues + ViewModels + Navigation + Contrôles │ +│ │ │ +│ ▼ │ +│ Omika.App.Local SQLite (omika.db) + SyncEngine + Outbox │ +│ + cache documents + traduction ONNX │ +└──────────────────────────────┬───────────────────────────────────────┘ + │ HTTP / JSON + Bearer token + ▼ +┌──────────────────────────────────────────────────────────────────────┐ +│ SERVEUR DU CLIENT (HFSQL) │ +│ │ +│ Omika.Api Web service · licence · bootstrap · snapshot │ +│ │ │ sync │ +│ ▼ ▼ │ +│ Omika.Core (métier) Omika.Worker (application des ops) │ +│ │ │ │ +│ └────────► Omika.Data (HFSQL par ODBC / OLE DB) ◄───────────┘ +└──────────────────────────────┬───────────────────────────────────────┘ + │ forwarding HTTPS des diagnostics + ▼ +┌──────────────────────────────────────────────────────────────────────┐ +│ SERVEUR CENTRAL OMIKA │ +│ Omika.Diagnostics.Api → Omika.Diagnostics.Worker → PostgreSQL │ +│ └──► Omika.Diagnostics.Web │ +│ Omika.Langues.Api distribution des modèles de langue (ONNX) │ +│ (optionnel) OpenTelemetry → Collector → SigNoz → ClickHouse │ +└──────────────────────────────────────────────────────────────────────┘ +``` + +**À retenir :** + +- Le **mobile ne parle jamais directement à HFSQL** : il passe toujours par `Omika.Api`. +- Le **desktop** accède à HFSQL **directement** (chemin historique). +- `Omika.Api` **reçoit** les opérations ; `Omika.Worker` les **applique**. +- `Omika.Core` est le cerveau métier ; `Omika.Data` est la seule couche qui touche HFSQL. +- Tout ce qui est **hors** métier (diagnostics, observabilité, langues) est **fail-open** : l'arrêter + ne casse jamais l'application. + +--- + +## 3. Les projets + +### 3.1 Projets de la solution (`Omika.slnx`) + +| Projet | TFM | Rôle | +|---|---|---| +| `src/Omika.Core` | `net10.0` | **Noyau métier**, sans dépendance UI ni base : entités de domaine, value objects, commands, DTO (`Contracts/`), interfaces, services métier — dont le **cœur serveur de la synchronisation mobile** (`Services/Mobile/` : licence, jetons, bootstrap, snapshot, documents, opérations de sync) — configuration typée, constantes, `Runtime/` (Batik vs Omika), sécurité, politiques d'observabilité. | +| `src/Omika.Data` | `net10.0` | **Accès HFSQL** : options de connexion et validation, connexion ODBC / OLE DB, repositories, mapping, **modèles physiques générés** (Batik 48 tables / Omika 58 tables), migrations Batik → Omika, détection de schéma. | +| `src/Omika.App.Local` | `net10.0` | **Cerveau local du client** : SQLite (`omika.db`), schéma, `SyncEngine`, `OutboxService`, cache documents, un service local par entité, traduction ONNX, licence de développement, diagnostics locaux. | +| `src/Omika.App` | `net10.0` | **Bibliothèque UI partagée** : 38 vues XAML, 48 ViewModels, navigation (`PageViewModelFactory`), contrôles réutilisables (dont la carte), styles, services d'interface. | +| `src/Omika.App.Desktop` | `net10.0` | Hôte **bureau** (`WinExe`, manifeste Windows 10). | +| `src/Omika.App.Android` | `net10.0-android` | Hôte **Android** — min SDK 23, `com.applilogik.omika.app`, format APK, scan QR via ZXing. | +| `src/Omika.App.iOS` | `net10.0-ios` | Hôte **iOS** — min 14.0. **La compilation d'un `.app` exige macOS + Xcode.** | +| `src/Omika.Api` | `net10.0` | **API métier et mobile**, installée chez chaque client : licence, bootstrap, snapshot, sync, documents, courriels, rapports, aide contextuelle. OpenAPI. | +| `src/Omika.Worker` | `net10.0` | **Service de synchronisation** : dépile `TOSRV`, exécute le handler métier, journalise dans `MobLog`. Service Windows. | +| `src/Omika.Observability.External` | `net10.0` | **Seul projet autorisé** à référencer OpenTelemetry : adaptateur OTLP HTTP/protobuf, `RemoteDiagnosticForwarder`, câblage DI. | +| `tests/Omika.Tests` | `net10.0` | Tests xUnit de la solution métier et du client. | +| `tools/Omika.HfSqlProbe` | `net10.0` | Sonde de connexion et d'inspection HFSQL. | +| `tools/HfSqlModelAudit` | `net10.0` | Audit des modèles physiques (attributs de mapping). | +| `tools/HfSqlOleDbAudit` | `net10.0` | Audit du schéma par OLE DB (mode `connection-test` inclus). | +| `tools/Omika.LanguesProbe` | `net10.0` | Validation hors ligne d'un couple de traduction (vocabulaire SentencePiece, paire FR⇄ES). | + +### 3.2 Projets compilés hors solution + +Ces projets existent, se compilent et se testent, mais **ne sont pas référencés par `Omika.slnx`** : +un `dotnet build Omika.slnx` ne les couvre pas. Les compiler explicitement par leur chemin. + +| Projet | TFM | Rôle | +|---|---|---| +| `src/Omika.Diagnostics.Core` | `net10.0` | Modèles, abstractions de repository, importeur JSONL → PostgreSQL. Aucune logique métier. | +| `src/Omika.Diagnostics.Data` | `net10.0` | Persistance PostgreSQL du Diagnostic Center (base dédiée `omika_diagnostics`), Npgsql direct. | +| `src/Omika.Diagnostics.Api` | `net10.0` | API **centrale** : reçoit les lots des serveurs clients, authentifie (`ClientCode` + `ApiKey`), écrit le spool central. | +| `src/Omika.Diagnostics.Worker` | `net10.0` | Import asynchrone du spool central JSONL → PostgreSQL, déduplication par `event_id`, backoff borné. | +| `src/Omika.Diagnostics.Web` | `net10.0` | Interface support (Razor Pages) : Dashboard, Diagnostics, Erreurs, Traces, Synchronisation, Telemetry, Parc, Versions, Référentiel, Utilisateurs, Clients Diagnostics, Système, Mon compte. | +| `src/Omika.Langues.Api` | `net10.0` | Service **stateless** de distribution des modèles de langue ONNX (`/api/langues`, `/api/langues/{code}/{sens}/{fichier}`). Sans base ni authentification. | +| `tests/Omika.Diagnostics.Tests` | `net10.0` | Tests du Diagnostic Center (faux repositories, PostgreSQL simulé en panne, mappers, checkpoint, sécurité, pagination). | +| `tools/*` (21 autres) | `net10.0` | Sondes de diagnostic : `ClientSnapshotProbe`, `CollaborateurBulkProbe`, `CountProbe`, `DiagnosticHashTool`, `FileAccessProbe`, `FilePasswordProbe`, `IdempotenceProbe`, `IdentityProbe`, `LieuProbe`, `MessageExterneProbe`, `OleDbSchemaProbe`, `RdvProbeJour`, `RendezVousBulkProbe`, `RendezVousProbe`, `SiteSnapshotProbe`, `SmtpMobileConfigProbe`, `SmtpRealProbe`, `StatusProbe`, `TosrvProbe`, `Verif.Dictee`, `Verif.Langues`. | + +--- + +## 4. Prérequis + +| Besoin | Détail | +|---|---| +| **.NET SDK 10** | SDK de référence : **10.0.302** (voir `global.json.bak`). Le dépôt ne contient pas encore de `global.json` actif : renommer le `.bak` si vous voulez figer la version. | +| **Workloads mobiles** | `dotnet workload install android` pour l'APK. iOS demande **macOS + Xcode**. | +| **Serveur HFSQL** | HFSQL Client/Server (port **4900**) + pilote ODBC « HFSQL Client/Server », pour le développement local et les tests d'intégration. | +| **Windows** | Requis pour le client desktop (OLE DB, manifeste Windows) et pour les services Windows déployés. | +| **PostgreSQL** | Uniquement pour le Diagnostic Center (`omika_diagnostics`). Optionnel pour le métier. | +| **Docker** | Uniquement pour la pile d'observabilité externe (optionnelle). | + +Packages : gestion **centralisée** via `Directory.Packages.props`. Les `.csproj` référencent les +packages **sans version** — ne jamais ajouter de `Version=` dans un `.csproj`. + +--- + +## 5. Démarrage rapide + +### 5.1 Tout-en-un (mode test local) + +Les scripts de `docs/` compilent et lancent les trois composants (API, Worker, desktop) : + +```powershell +# Compiler (arrête les processus Omika en cours pour libérer les DLL) +powershell -NoProfile -ExecutionPolicy Bypass -File .\docs\build_omika_test.ps1 + +# Lancer : API (http://localhost:5097) + Worker + application de bureau +powershell -NoProfile -ExecutionPolicy Bypass -File .\docs\start_omika_test.ps1 -NoBuild + +# Arrêter +powershell -NoProfile -ExecutionPolicy Bypass -File .\docs\stop_omika_test.ps1 +``` + +Options utiles de `start_omika_test.ps1` : + +| Option | Effet | +|---|---| +| `-NoBuild` | Ne pas recompiler. | +| `-SkipDesktop` | Lancer seulement l'API et le Worker. | +| `-SkipWorker` | Lancer seulement l'API et le desktop. | +| `-Clean` | Purger `omika.db` et `omika-diagnostics.db` avant lancement (changement d'environnement). | + +Le script crée automatiquement, si absent, le fichier de licence de développement +`%LOCALAPPDATA%\Omika\development-license.json` : + +```json +{ + "Enabled": true, + "ClientCode": "LOCAL-DEV", + "UserDisplayName": "", + "ExpirationDays": 365, + "ApiUrl": "http://localhost:5097" +} +``` + +### 5.2 Commandes `dotnet` directes + +```powershell +# Restauration +dotnet restore .\Omika.slnx + +# Compiler toute la solution (client + API + Worker + bibliothèques + tests + 4 outils) +dotnet build .\Omika.slnx + +# Composants pris isolément +dotnet build .\src\Omika.Api\Omika.Api.csproj +dotnet build .\src\Omika.Worker\Omika.Worker.csproj +dotnet build .\src\Omika.App.Desktop\Omika.App.Desktop.csproj +dotnet build .\src\Omika.App.Android\Omika.App.Android.csproj # APK +dotnet build .\src\Omika.App.iOS\Omika.App.iOS.csproj # macOS + Xcode requis + +# Projets hors solution +dotnet build .\src\Omika.Diagnostics.Web\Omika.Diagnostics.Web.csproj +dotnet build .\src\Omika.Langues.Api\Omika.Langues.Api.csproj + +# Lancer +dotnet run --project .\src\Omika.Api\Omika.Api.csproj # http://localhost:5097/health +dotnet run --project .\src\Omika.Worker\Omika.Worker.csproj +dotnet run --project .\src\Omika.App.Desktop\Omika.App.Desktop.csproj +``` + +### 5.3 Ports de développement + +| Service | Port | +|---|---| +| `Omika.Api` | **5097** (HTTP) · 7160 (HTTPS) | +| `Omika.Diagnostics.Api` | **5098** | +| `Omika.Diagnostics.Web` | **5080** | +| `Omika.Langues.Api` | **5099** (derrière Apache sur `/langues/`) | +| HFSQL Client/Server | **4900** | + +En production, Kestrel reste en **HTTP sur loopback** ; l'exposition HTTPS est assurée par un +reverse proxy **Apache**. + +--- + +## 6. Configuration + +### 6.1 `config/hfsql-test.local.json` — non versionné + +Les `appsettings.json` ne contiennent que des **placeholders** (hôtes `localhost`, mots de passe +vides). Les vraies connexions de test vivent dans `config/hfsql-test.local.json`, **exclu du dépôt** +par `.gitignore` (`/config/`). + +Le fichier est chargé par `HfSqlTestConfigurationLoader` **uniquement** en environnement +`Development` ou `Test`, jamais en `Production`, et les **variables d'environnement restent +prioritaires**. Il est localisé de deux façons : + +1. variable d'environnement `OMIKA_HFSQL_TEST_CONFIG` = chemin explicite (fait foi) ; +2. sinon, `config/hfsql-test.local.json` en remontant jusqu'à 6 niveaux depuis le répertoire courant. + +Structure attendue pour reconstituer ce fichier : + +```json +{ + "Server": "", + "Port": 4900, + "FilePasswords": { "ProtectionStd": "", "ProtectionPlus": "" }, + "Batik": { "Database": "", "User": "", "Credential": "" }, + "Omika": { "DatabaseVersion": "Auto", "Database": "", "User": "", "Credential": "" }, + "Hfsql": { + "ConnectionName": "Business", "Server": "", "Port": 4900, "DatabaseName": "", + "Login": "", "Password": "", "Driver": "HFSQL Client/Server", + "ConnectionTimeoutSeconds": 30, + "FilePasswords": { "ProtectionStd": "", "ProtectionPlus": "" } + }, + "LicenseConnection": { "Server": "", "Port": 4900, "DatabaseName": "Licence", "Login": "", "Password": "", "FilePasswords": { "ProtectionStd": "", "ProtectionPlus": "" } }, + "SyncConnection": { "Server": "", "Port": 4900, "DatabaseName": "Sync", "Login": "", "Password": "", "FilePasswords": { "ProtectionStd": "", "ProtectionPlus": "" } }, + "ServiceConnection": { "Server": "", "Port": 4900, "DatabaseName": "", "Login": "", "Password": "", "FilePasswords": { "ProtectionStd": "", "ProtectionPlus": "" } }, + "MobileAuth": { "SigningKey": "" }, + "DevelopmentAuth": { "Enabled": true, "DevCollaborateurPkId": 0, "DevCodeClient": "" }, + "E2E": { "AllowHfSqlWrites": false, "ServiceDatabaseConfirmedTest": false, "WebServiceDatabaseConfirmedTest": false } +} +``` + +> **Garde-fou E2E** : `E2E:AllowHfSqlWrites` doit rester à `false`. Il n'est activé que +> temporairement, et explicitement, pour un test end-to-end qui écrit réellement dans HFSQL. + +### 6.2 Variables d'environnement + +La convention .NET `__` (double souligné) permet de surcharger n'importe quelle clé : + +```powershell +$env:ASPNETCORE_ENVIRONMENT = 'Development' # charge config/hfsql-test.local.json +$env:DOTNET_ENVIRONMENT = 'Development' +$env:ASPNETCORE_URLS = 'http://localhost:5097' +$env:Omika__DatabaseVersion = 'Auto' # Auto | Batik | Omika +$env:Sync__RetryDelaySeconds = '5' # accélère le Worker en test E2E +$env:OMIKA_HFSQL_TEST_CONFIG = 'D:\chemin\vers\hfsql-test.local.json' +$env:DiagnosticsForwarding__ApiKey = '' # serveur client, jamais dans un fichier versionné +``` + +### 6.3 Sélection de base : Batik ou Omika + +Deux notions distinctes, à ne pas confondre : + +- **`DatabaseSchemaSelection`** (`Omika:DatabaseVersion`) — la sélection **demandée** : + `Auto` (détection automatique, défaut sûr), `Batik` (forcer l'ancienne base), `Omika` (forcer la + nouvelle). +- **`DatabaseSchemaVersion`** — la version **réellement détectée**. Tant que la détection n'a pas eu + lieu, elle reste `Unknown`, même si une sélection forcée est configurée. En mode forcé, une base + détectée différente provoque un échec explicite. + +### 6.4 Secrets — ce qui ne doit jamais être versionné + +| Fichier / clé | Statut | +|---|---| +| `config/*.local.json` | **Exclu.** Contient les identifiants HFSQL réels (dont mots de passe de fichiers). | +| `src/Omika.Diagnostics.Web/appsettings.Development.json` | **Exclu.** Contient un `PasswordHash` d'administrateur local. | +| `appsettings.*.local.json`, `secrets.json`, `.env`, `*.pfx`, `*.p12`, `*.key` | **Exclus.** | +| `DiagnosticsForwarding:ApiKey`, `MobileAuth:SigningKey`, `DiagnosticsIdentity:HmacKey`, `Diagnostics:ConnectionString` | **Vides dans les fichiers versionnés.** Injectés sur le serveur par variables d'environnement. | + +--- + +## 7. Tests + +```powershell +# Tests métier et client (~3 400 tests) +dotnet test .\tests\Omika.Tests\Omika.Tests.csproj + +# Tests du Diagnostic Center (~540 tests, sans PostgreSQL réel) +dotnet test .\tests\Omika.Diagnostics.Tests\Omika.Diagnostics.Tests.csproj + +# Tests internes d'un outil +dotnet test .\tools\HfSqlOleDbAudit\tests\HfSqlOleDbAudit.Tests\HfSqlOleDbAudit.Tests.csproj +``` + +**Échecs attendus hors environnement complet** — ce ne sont pas des régressions : + +| Type | Cause | +|---|---| +| Tests HFSQL / OLE DB | Exigent un serveur HFSQL réel et `config/hfsql-test.local.json`. Ils se désactivent d'eux-mêmes si le fichier est absent. | +| Tests Avalonia headless | Peuvent échouer selon la configuration graphique de la machine. | +| `DevelopmentLicenseTests` en **Release** | Le contournement de licence de développement est compilé en `#if DEBUG` : comportement voulu. | + +**Vérifications hors xUnit** — deux outils rejouent des tests sans `testhost` (contournement d'un +`Win32Exception 5` sur certains postes) : + +```powershell +dotnet run --project .\tools\Omika.Verif.Dictee +dotnet run --project .\tools\Omika.Verif.Langues +``` + +--- + +## 8. Publier et déployer + +Les scripts de `infra/deploy/` installent les services **Windows**. Chacun accepte une simulation +(`-WhatIf` / `-Simulation`) et s'appuie sur le module commun `Omika.Deploy.Common.psm1`. + +| Script | Service Windows créé | +|---|---| +| `Install-OmikaApi.ps1` | `OmikaApi` | +| `Install-OmikaWorker.ps1` | `OmikaWorker` | +| `Install-OmikaLanguesApi.ps1` | `OmikaLanguesApi` | +| `Install-OmikaDiagnosticsApi.ps1` | `OmikaDiagnosticsApi` | +| `Install-OmikaDiagnosticsWorker.ps1` | `OmikaDiagnosticsWorker` | +| `Install-OmikaDiagnosticsWeb.ps1` | `OmikaDiagnosticsWeb` | +| `Install-OmikaServices.ps1` | Orchestration de l'ensemble | +| `Install-OmikaServerFiles.ps1` | Arborescence serveur (données, documents, journaux) | +| `Install-DatabaseSchema.ps1` | Application des migrations PostgreSQL `001` → `016` | +| `Harden-DatabaseRoles.ps1` | Rôles et droits PostgreSQL | +| `New-OmikaLanguesManifeste.ps1` | Manifeste des packs de langues à distribuer | +| `Test-PortDisponible.ps1` | Contrôle de disponibilité des ports | + +Le schéma PostgreSQL vit dans `infra/postgresql/` : appliquer les migrations **dans l'ordre** +(`001_diagnostics_schema.sql` → `016_diagnostics_event_delete.sql`). Elles sont idempotentes. + +Procédures détaillées : + +- `docs/DEPLOIEMENT_PRODUCTION_DIAGNOSTICS.md` — déploiement du Diagnostic Center, rôles, ports, + bootstrap du premier administrateur. +- `docs/T15-RUNBOOK-DEPLOIEMENT-PRODUCTION.md` — runbook de mise en production. +- `docs/DEPLOIEMENT_API_LANGUES.md` — API de distribution des modèles de langue. +- `infra/deploy/tests/` — tests des scripts de déploiement. + +--- + +## 9. Observabilité + +Trois niveaux, **durables et fail-open** : + +1. **Journaux locaux JSONL** — `logs/` côté serveur, base `omika-diagnostics.db` côté appareil. +2. **Diagnostic Center** — remontée des diagnostics vers le serveur central + (`Omika.Diagnostics.Api` → spool → `Omika.Diagnostics.Worker` → PostgreSQL → + `Omika.Diagnostics.Web`). +3. **OpenTelemetry (optionnel)** — `Observability:External:Enabled=false` par défaut. Activable vers + un Collector OTLP HTTP/protobuf (port 4318) puis SigNoz / ClickHouse. + +> **Règle absolue** : *les journaux servent Omika, Omika ne dépend jamais des journaux.* Arrêter le +> Collector, SigNoz, ClickHouse ou PostgreSQL Diagnostics ne casse **jamais** le métier. + +Pile de référence : `infra/observability/docker-compose.yml` + `otel-collector-config.yaml`. +Documentation : `docs/observability/` (configuration, déploiement, guide support, données exportées, +procédure de débranchement). + +Le flux mobile ne passe **jamais** par OTLP : `Mobile → POST /api/diagnostics → spool JSONL serveur +→ ACK`, le forwarding externe étant asynchrone et best-effort **après** l'acquittement. + +--- + +## 10. Traduction hors ligne et packs de langues + +La traduction FR ⇄ 32 langues s'exécute **sur l'appareil** via `Microsoft.ML.OnnxRuntime` +(SentencePiece + modèles encodeur/décodeur). Le moteur n'est compilé que si le symbole +`OMIKA_ONNX_RUNTIME` est défini — il l'est dans `Omika.App.Local.csproj`. Sans lui, la traduction +répond « indisponible ». + +Les modèles (`*.onnx`, `*.spm`, environ 0,5 à 1,1 Go **par langue**) sont **hors dépôt** : + +| Élément | Statut | +|---|---| +| `packs/` (≈ 26 Go, 32 langues × `commun` / `versFrancais` / `depuisFrancais`) | **Non versionné.** Distribué par `Omika.Langues.Api` / GitHub Releases. | +| `packs.zip` (≈ 23 Go) | **Non versionné.** | +| `tests/fixtures/sentencepiece/*.spm`, `encoder.onnx` | **Non versionnés** — seuls les `.fixtures.json` le sont. Les tests se désactivent silencieusement en leur absence. | + +Régénération des packs : + +```powershell +.\scripts\Exporter-Packs-Langues.ps1 # export des packs +.\scripts\Completer-Packs-Langues.ps1 # complétion des langues manquantes +.\scripts\Generer-Fixtures-SentencePiece.ps1 +``` + +Voir `docs/TRADUCTION_HORS_LIGNE_MOBILE.md`, `docs/LIVRAISON_MODELES_LANGUES.md` et +`docs/VALIDATION_TRADUCTION_ONNX.md`. + +--- + +## 11. Bases de données + +| Base | Technologie | Rôle | +|---|---|---| +| **HFSQL « Batik »** | HFSQL C/S (48 tables) | Ancienne base WINDEV, toujours lue et écrite. | +| **HFSQL « Omika »** | HFSQL C/S (58 tables) | Nouvelle base cible. | +| **`Licence`** | HFSQL C/S | Licences et inscriptions. | +| **`Sync`** | HFSQL C/S (`TOSRV`, `MobReception`, `MobLog`) | File d'opérations de synchronisation. | +| **`omika.db`** | SQLite | Base locale de l'appareil (offline-first). | +| **`omika-diagnostics.db`** | SQLite | Diagnostics locaux de l'appareil. | +| **`omika_diagnostics`** | PostgreSQL | Diagnostic Center central. | + +> **Règle d'or** : la base HFSQL existante **n'est jamais modifiée**. Aucune table n'est créée, +> supprimée ni altérée par le nouveau code — il ne fait que lire et écrire dans le schéma existant. +> Les migrations présentes dans `Omika.Data/Migrations` concernent la **compatibilité des données** +> Batik → Omika, pas la structure. + +Le dictionnaire machine-readable du schéma est `docs/schema-compatibilite-batik-omika.json` +(582 Ko) ; les 106 modèles physiques de `src/Omika.Data/HfSql/Models/` en sont générés. + +--- + +## 12. Arborescence du dépôt + +``` +Omika.slnx Solution (format .slnx) — 15 projets +Directory.Build.props Version unique : OmikaVersion 1.0.0 / OmikaBuild 1 +Directory.Packages.props Gestion centralisée des versions NuGet +.gitignore Exclusions (build, secrets, runtime, packs, Batik) +fix-sdk-locators.ps1 Correctif MSB4276 (poste de développement, admin) + +src/ Code source (16 projets) + Omika.Core/ Métier, contrats, services (dont sync mobile) + Omika.Data/ HFSQL : connexion, repositories, mapping, migrations + Omika.App.Local/ SQLite, SyncEngine, Outbox, traduction ONNX + Omika.App/ UI Avalonia partagée (Views, ViewModels, Navigation) + Omika.App.Desktop/ Hôte bureau + Omika.App.Android/ Hôte Android + Omika.App.iOS/ Hôte iOS + Omika.Api/ API métier et mobile + Omika.Worker/ Service de synchronisation + Omika.Observability.External/ Adaptateur OpenTelemetry (isolé) + Omika.Diagnostics.*/ Diagnostic Center (Core, Data, Api, Worker, Web) + Omika.Langues.Api/ Distribution des modèles de langue + +tests/ + Omika.Tests/ Tests métier et client (~3 400) + Omika.Diagnostics.Tests/ Tests du Diagnostic Center (~540) + fixtures/sentencepiece/ Fixtures de traduction (LISEZMOI + *.fixtures.json) + +tools/ 25 sondes console de diagnostic +docs/ Documentation (~64 documents) +infra/ + deploy/ Scripts d'installation des services Windows + postgresql/ Migrations 001 → 016 + observability/ Pile OTel / SigNoz / ClickHouse (optionnelle) + collector/ Exemple de configuration collector +scripts/ Export des packs de langues, seeds, publication +config/ Secrets locaux — NON versionné +packs/ Modèles de langue ONNX (≈ 26 Go) — NON versionné +Batik/ Projet WinDev historique — NON versionné +artifacts/ Sorties de publication — NON versionné +logs/ Journaux runtime — NON versionné +``` + +--- + +## 13. Règles d'architecture + +Ces règles sont **vérifiées par des tests** dans `tests/Omika.Tests/Architecture/` : + +1. **`Omika.Core` ne référence ni Avalonia, ni ASP.NET Core, ni `Omika.Data`.** + C'est le noyau partagé, sans dépendance technique. +2. **Le métier ne référence jamais OpenTelemetry.** Les packages OTel sont confinés à + `Omika.Observability.External` ; seules des politiques pures vivent dans `Core`. +3. **L'UI ne référence jamais `Omika.Data`.** L'application passe par l'API (HTTP) ou par + `Omika.App.Local`. +4. **Les contrats publics ne contiennent ni nom de table HFSQL, ni champ « zombie ».** Les DTO + exposés ne laissent pas fuiter le schéma physique. +5. **`Omika.Data` est la seule couche qui parle HFSQL.** +6. **Résultats d'opération** : les services renvoient `Result` / `Result` plutôt que de lever des + exceptions pour les cas métier. +7. **Pas de conteneur DI dans l'UI partagée** : une composition racine manuelle unique + (`AppServices.cs`). +8. **Hors métier = fail-open.** Diagnostics, observabilité, distribution des langues : leur + indisponibilité ne doit jamais dégrader l'application. + +--- + +## 14. Documentation + +| Document | Contenu | +|---|---| +| `docs/ARCHITECTURE_PROJET.md` | **Guide complet** : rôle de chaque projet, flux, où chercher quand un bug apparaît. Le meilleur point d'entrée. | +| `docs/architecture-solution.md` | Architecture initiale de la solution, conventions, gestion de la base Batik/Omika. | +| `docs/LOT_MOBILE_0.md` | Architecture technique mobile : offline-first, SQLite, sync, identités, design system. | +| `docs/MOBILE_FUNCTIONAL_STATUS.md` | État fonctionnel réel de l'application mobile, écran par écran. | +| `docs/E2E_SYNC_VALIDATION.md` | Validation end-to-end du pipeline de synchronisation. | +| `docs/TRADUCTION_HORS_LIGNE_MOBILE.md` | Traduction ONNX embarquée. | +| `docs/DEPLOIEMENT_PRODUCTION_DIAGNOSTICS.md` | Déploiement multi-serveurs du Diagnostic Center. | +| `docs/T15-RUNBOOK-DEPLOIEMENT-PRODUCTION.md` | Runbook de mise en production. | +| `docs/dictionnaire-compatibilite-batik-omika.md` | Dictionnaire de compatibilité des schémas. | +| `docs/observability/` | Observabilité externe (configuration, déploiement, support, débranchement). | +| `docs/BATIK.md`, `docs/OMIKA.md`, `docs/Documentation_*.md` | **Exports WINDEV de l'ancien système** — référence historique uniquement. | +| `ANALYSE-OMIKA-APP.md` | Analyse technique complète de l'application (écrans, pile, limites). | +| `ANALYSE_OMIKA_BATIK/` | Études comparatives Batik / Omika. | + +--- + +## 15. Dépannage + +| Symptôme | Cause probable / solution | +|---|---| +| **MSB4276** à la compilation | Workload Android/iOS corrompu sur le poste. Contournement utilisé par les scripts : `dotnet build --no-restore -m:1`. Solution durable : `dotnet workload repair`, ou exécuter `fix-sdk-locators.ps1` **en administrateur**. | +| **MSB3027** (fichier verrouillé) | Une instance d'Omika tourne encore. `stop_omika_test.ps1`, ou `build_omika_test.ps1` sans `-NoStop`. | +| L'API démarre mais les données sont vides | `config/hfsql-test.local.json` absent ou non résolu. Vérifier `OMIKA_HFSQL_TEST_CONFIG`, et que `ASPNETCORE_ENVIRONMENT=Development`. | +| Traduction « indisponible » | Le symbole `OMIKA_ONNX_RUNTIME` n'est pas défini, ou les modèles de langue ne sont pas installés sur l'appareil. | +| `omika.db` contient des données de la mauvaise base | Relancer avec `start_omika_test.ps1 -Clean` après un changement Batik ⇄ Omika. | +| Le Worker ne traite pas les opérations | Vérifier la connexion `SyncConnection` et la table `TOSRV`. En test E2E, `Sync__RetryDelaySeconds=5` accélère la boucle. | +| Diagnostics.Web : pages « indisponible » | PostgreSQL est en panne. **Comportement attendu** (fail-open) : l'outil support ne bloque jamais le métier. | +| `dotnet build Omika.slnx` ne compile pas les Diagnostics | Normal : ces projets sont **hors solution**. Les compiler par leur chemin explicite. | +| L'application Android ne se compile pas | `dotnet workload install android`. iOS exige macOS + Xcode. | + +--- + +## Licence + +Projet propriétaire — © Applilogik. Tous droits réservés. diff --git a/docs/ARCHITECTURE_PROJET.md b/docs/ARCHITECTURE_PROJET.md new file mode 100644 index 0000000..ff10f86 --- /dev/null +++ b/docs/ARCHITECTURE_PROJET.md @@ -0,0 +1,1114 @@ +# ARCHITECTURE PROJET OMIKA — Guide complet (pour comprendre et débugger) + +> Ce document explique **comment fonctionne** chaque application du dépôt Omika, +> **à quoi sert** chaque projet, et **où chercher** quand un bug apparaît. +> Il a été rédigé en lecture seule (aucun code modifié), à partir du code source +> réel et de la documentation existante (`docs/*.md`). +> +> Public visé : développeur débutant qui doit retrouver la cause d'un bug. + +--- + +## Table des matières + +1. [Le vocabulaire indispensable](#1-le-vocabulaire-indispensable) +2. [Vue d'ensemble en une image](#2-vue-densemble-en-une-image) +3. [Les deux générations (legacy WINDEV → moderne .NET)](#3-les-deux-générations) +4. [La carte des 13 projets](#4-la-carte-des-13-projets) +5. [Le graphe des dépendances](#5-le-graphe-des-dépendances) +6. [Les bases de données et connexions](#6-les-bases-de-données-et-connexions) +7. [Flux 1 : démarrage de l'application](#7-flux-1--démarrage-de-lapplication) +8. [Flux 2 : activation de licence](#8-flux-2--activation-de-licence) +9. [Flux 3 : synchronisation mobile → serveur](#9-flux-3--synchronisation-mobile--serveur) +10. [Flux 4 : snapshot serveur → mobile](#10-flux-4--snapshot-serveur--mobile) +11. [Flux 5 : documents (upload / download)](#11-flux-5--documents) +12. [L'authentification par token](#12-lauthentification-par-token) +13. [La configuration (où sont les réglages)](#13-la-configuration) +14. [Les codes d'erreur et états](#14-les-codes-derreur-et-états) +15. [Guide de diagnostic : symptôme → où chercher](#15-guide-de-diagnostic) +16. [Les points de trace / logs](#16-les-points-de-trace--logs) +17. [Les pièges et limites connus](#17-les-pièges-et-limites-connus) + +--- + +## 1. Le vocabulaire indispensable + +- **Solution (`.slnx`)** : le conteneur qui regroupe tous les projets. Ici `Omika.slnx`. +- **Projet (`.csproj`)** : une "brique" de code qui se compile en un exécutable (`.exe`) ou une bibliothèque (`.dll`). +- **Bibliothèque** : du code réutilisable qui ne démarre pas tout seul (ex. `Omika.Core`). +- **Exécutable / app** : un programme qui démarre (ex. `Omika.Api`, `Omika.Worker`, `Omika.App.Desktop`). +- **Couche (layer)** : découpage logique du code (UI, métier, données…). +- **API / Web service** : un serveur qui répond à des requêtes HTTP (pour des programmes, pas des humains). Ici `Omika.Api`. +- **Worker / Service** : programme sans fenêtre qui tourne en boucle en arrière-plan. Ici `Omika.Worker`. +- **Endpoint** : une "porte" précise de l'API, ex. `POST /api/sync/operations`. +- **DI (injection de dépendances)** : technique pour assembler automatiquement les briques. +- **Scoped / Singleton / HostedService** : durées de vie des services en DI (par requête / unique / arrière-plan). +- **Repository** : objet chargé de lire/écrire dans une base de données. +- **Service applicatif** : objet qui contient la logique métier (règles), indépendant de l'UI et de la base. +- **DTO (Data Transfer Object)** : objet "plat" qui transporte des données entre deux couches. +- **Entité** : objet métier qui représente une donnée du domaine (Client, Intervention…). +- **HFSQL** : la base de données historique (PC SOFT), accessible via **ODBC** ou **OLE DB**. +- **SQLite** : base locale embarquée dans le téléphone (mode hors-ligne). +- **Sync** : mécanisme qui fait transiter les données téléphone ↔ serveur. +- **Outbox** : "boîte d'envoi" locale qui met en file les changements à envoyer au serveur. +- **Snapshot** : "photo" complète des données métier renvoyée au mobile pour reconstruire sa base locale. +- **Idempotence** : rejouer la même opération ne produit pas d'effet en double (grâce à un `OperationId` unique). + +--- + +## 2. Vue d'ensemble en une image + +``` + ┌──────────────────────────────────────────────┐ + │ TÉLÉPHONE / BUREAU │ + │ │ + │ Omika.App.Desktop / Android / iOS (l'UI) │ + │ │ utilise │ + │ ▼ │ + │ Omika.App (Vues + ViewModels + Navigation) │ + │ │ utilise │ + │ ▼ │ + │ Omika.App.Local (SQLite + SyncEngine) │ + └──────────────────┬───────────────────────────┘ + │ HTTP (JSON + Bearer token) + ▼ + ┌──────────────────────────────────────────────┐ + │ SERVEUR (HFSQL) │ + │ │ + │ Omika.Api (web service) ──► écrit TOSRV │ + │ │ utilise │ + │ ▼ │ + │ Omika.Worker (service de sync) │ + │ │ TOSRV → MobReception → handler │ + │ │ → MobLog │ + │ ▼ │ + │ Omika.Core (métier) + Omika.Data (HFSQL) │ + └──────────────────────────────────────────────┘ +``` + +**À retenir absolument :** +- Le **mobile** ne parle **jamais** directement à HFSQL : il passe **toujours** par `Omika.Api`. +- Le **desktop** accède à HFSQL **directement** (historique). +- `Omika.Api` **reçoit** les opérations ; `Omika.Worker` les **applique**. +- `Omika.Core` est le cerveau métier ; `Omika.Data` est la main qui touche HFSQL. + +--- + +## 3. Les deux générations + +| | Génération 1 (legacy) | Génération 2 (ce dépôt) | +|---|---|---| +| Langage | WINDEV | C# / .NET 10 | +| Base de données | HFSQL (serveur) | HFSQL (serveur) + SQLite (mobile) | +| Interface | Fenêtres WINDEV | Avalonia (Desktop / Android / iOS) | +| Web service | `Batik_WS_Com_Mob`, `Batik_WS_Lic_Mob` | `Omika.Api` (ASP.NET Core) | +| Service de sync | `Omika_S_Comm_DEV` (WINDEV) | `Omika.Worker` (.NET) | + +Les fichiers `docs/BATIK.md`, `docs/OMIKA.md`, `docs/Documentation_Service.md`, +`docs/Documentation_WebService_*.md` sont des **exports WINDEV** de l'ancien +système. Ils servent **uniquement de référence historique** : on ne copie plus +leur code. La logique moderne fait foi. + +> ⚠️ **Règle d'or du projet** : la base HFSQL existante **n'est jamais modifiée** +> (aucune table créée, supprimée ou changée). Le nouveau code ne fait que +> **lire/écrire** dans les tables déjà existantes. + +--- + +## 4. La carte des 13 projets + +Chaque projet est décrit avec son **rôle** et ses **fichiers clés** (les endroits +où regarder en premier en cas de bug). + +### 4.1 `Omika.Core` — le cerveau métier (indépendant de l'UI et de la base) + +**Chemin :** `src/Omika.Core/` — **TargetFramework :** `net10.0` — **Dépend de :** rien. + +| Dossier / fichier | Rôle | +|---|---| +| `Domain/Entities/` | Les entités métier (Client, Intervention, Licence, Document…). | +| `Domain/ValueObjects/` | Objets-valeur (petites notions métier immuables). | +| `Domain/Commands/` | Commandes (intentions d'action). | +| `Domain/Exceptions/` | Exceptions métier (ex. `DomainValidationException`). | +| `Contracts/` | Les **DTO** échangés via l'API, organisés par domaine (`Clients`, `Interventions`, `Mobile`, `Planning`, `Security`…). | +| `Interfaces/` | Les contrats (`IClientService`, `IInterventionRepository`, `ISyncOperationService`, `ILicenceRepository`…). | +| `Services/` | L'implémentation des services métier (`ClientService`, `InterventionService`…) + le sous-dossier `Services/Mobile`. | +| `Services/Mobile/` | **Le cœur serveur de la sync mobile** (voir détails ci-dessous). | +| `Configuration/` | Options de configuration (`MobileAuthOptions`, `LicenseOptions`, `SyncOptions`, `DevelopmentAuthOptions`…). | +| `Constants/` | Constantes (`ApplicationConstants`, `LicenseErrorCodes`, `SyncEntityTypes`…). | +| `Runtime/` | `ApplicationRuntimeContext` : décide **Batik vs Omika**. | +| `ServiceCollectionExtensions.cs` | Enregistre les services mobile en DI (`AddOmikaMobileServices`). | + +**`Services/Mobile/` en détail (les fichiers les plus importants du serveur) :** + +| Fichier | Rôle | +|---|---| +| `LicenseService.cs` | Vérifie et active/valide une licence dans HFSQL. | +| `TokenService.cs` | Fabrique et valide les **jetons d'authentification** (HMAC-SHA256). | +| `MobileBootstrapService.cs` | Construit le "bootstrap" (profil, droits, collaborateur, licence, paramètres). | +| `MobileSnapshotService.cs` | Construit le **snapshot** complet des données métier. | +| `MobileDocumentService.cs` | Upload/download des documents (via `IDocumentFileStorage`). | +| `SyncOperationService.cs` | Reçoit les opérations de sync et les écrit dans `TOSRV`. | +| `MobileIdentityProvider.cs` | Fournit le profil et les droits (Batik vs Omika). | +| `MobileEntityIdentityResolver.cs` | Convertit l'identité **publique** (GUID mobile) ↔ identité **physique** (PK HFSQL). | +| `MobileIdentityMapper.cs` | Aide à la résolution d'identité. | + +### 4.2 `Omika.Data` — la main qui touche HFSQL + +**Chemin :** `src/Omika.Data/` — **Dépend de :** `Omika.Core`. + +| Dossier / fichier | Rôle | +|---|---| +| `Connection/` | Les connexions HFSQL (ODBC + OLE DB `PCSOFT.HFSQL`). | +| `Configuration/` | `HfsqlOptions` + validateurs (`HfsqlOptionsValidator`, etc.). | +| `Repositories/Adaptive*.cs` | Repositories **adaptatifs** : lisent **Batik OU Omika** (noms de colonnes différents). | +| `Repositories/Batik/` et `Repositories/Omika/` | Les variantes par génération de base. | +| `Repositories/Technical/LicenceRepository.cs` | Accès aux tables de licence (`ClientBase`, `Licence`, `LicenceHisto`). | +| `Repositories/Technical/SyncTransferRepository.cs` | Accès aux tables de sync (`TOSRV`, `MobReception`, `MobLog`). | +| `HfSql/Models/` | Modèles physiques générés des tables HFSQL (106 classes). | +| `HfSql/Mapping/` | Attributs de mapping (Table, Column, PrimaryKey…). | +| `SchemaDetection/` | Détecte le schéma réel de la base connectée. | +| `Runtime/` | Initialisation du runtime (validation de la base). | +| `Migrations/` | Migration Batik → Omika. | +| `ServiceCollectionExtensions.cs` | **La clé du branchement** : `AddOmikaData()`, `AddOmikaDataLicenseConnection()`, `AddOmikaDataSyncConnection()`, `AddOmikaDataServiceConnection()`, `AddOmikaDataBusinessOleDb()`. | + +### 4.3 `Omika.Api` — le web service moderne + +**Chemin :** `src/Omika.Api/` — **SDK :** `Microsoft.NET.Sdk.Web` — **Dépend de :** `Omika.Core`, `Omika.Data`. + +| Fichier | Rôle | +|---|---| +| `Program.cs` | Le point d'entrée : config, DI, détection de base, endpoints. | +| `MobileAuthMiddleware.cs` | Valide le token `Bearer` et stocke l'identité dans `HttpContext.Items`. | +| `Endpoints/*.cs` | Tous les endpoints (voir liste ci-dessous). | + +**Endpoints métier :** `ClientEndpoints`, `ContactEndpoints`, `SiteEndpoints`, +`InterventionEndpoints`, `DossierEndpoints`, `RendezVousEndpoints`, +`CollaborateurEndpoints`, `DocumentEndpoints`, `ReferenceDataEndpoints`. + +**Endpoints mobile :** +- `LicenseEndpoints` → `POST /api/license/activate`, `POST /api/license/validate` +- `MobileBootstrapEndpoints` → `GET /api/mobile/bootstrap` +- `SyncEndpoints` → `POST /api/sync/operations`, `GET /api/sync/status/{id}`, `GET /api/sync/snapshot` +- `MobileDocumentEndpoints` → `POST /api/documents`, `GET /api/documents/{guid}` + +**Endpoints techniques :** `HealthEndpoints` (`/health`), `DevelopmentAuthEndpoints` +(`POST /api/dev/session`, actif **uniquement en Development**). + +### 4.4 `Omika.Worker` — le service de synchronisation (arrière-plan) + +**Chemin :** `src/Omika.Worker/` — **SDK :** `Microsoft.NET.Sdk.Worker` — **Dépend de :** `Omika.Core`, `Omika.Data`. + +| Fichier | Rôle | +|---|---| +| `Program.cs` | Point d'entrée du `Host` .NET, enregistre les services et le worker. | +| `SyncWorker.cs` | `BackgroundService` : la boucle infinie (cycle + délai). | +| `SyncProcessor.cs` | La logique de traitement testable (transfert + application). | +| `SyncOperationHandlerRegistry.cs` | Le registre qui mappe un `EntityType` → handler. | +| `InterventionSyncOperationHandler.cs` | Applique les opérations **Intervention** (CREATE/UPDATE/ARCHIVE). | +| `SuiviTempsSyncOperationHandler.cs` | Applique les opérations **SuiviTemps**. | +| `DefaultSyncOperationHandler.cs` | Fallback : refuse proprement (`NO_HANDLER`), jamais de faux SUCCESS. | + +### 4.5 `Omika.App.Local` — la couche locale "hors-ligne" du mobile + +**Chemin :** `src/Omika.App.Local/` — **Dépend de :** `Omika.Core`. + +| Dossier / fichier | Rôle | +|---|---| +| `Sqlite/` | La base locale `omika.db` (schéma, connexion). | +| `Models/` | Entités locales (`LocalClient`, `LocalIntervention`, `OutboxOperation`…). | +| `Repositories/` | Accès SQLite : `LocalRepository`, `OutboxRepository`, `IdentityMappingRepository`, `DocumentCacheRepository`, `SyncStateRepository`, `UiPreferencesRepository`, `LocalBootstrapRepository`. | +| `Services/SyncEngine.cs` | **Le moteur de synchronisation** (cycle complet). | +| `Services/MobileApiClient.cs` | Client HTTP typé vers l'API (Bearer token). | +| `Services/MobileSessionService.cs` | Gestion de la session (token sécurisé + bootstrap + période offline). | +| `Services/OutboxService.cs` | Met en file les changements locaux à envoyer. | +| `Services/SnapshotApplier.cs` | Applique le snapshot serveur à SQLite (transaction atomique). | +| `Services/MobileIdentityReconciliationService.cs` | Réconcilie les identités locales (GUID mobile ↔ GUID canonique). | +| `Services/DocumentCacheService.cs` | Cache local des documents. | +| `Services/NetworkConnectivity.cs` | Détecte si on est en ligne. | +| `Services/*LocalService.cs` | Services métier locaux (`ClientLocalService`, `SiteLocalService`, `InterventionLocalService`…). | +| `Services/DevelopmentLicense*.cs` | Licence de développement (Debug uniquement). | + +### 4.6 `Omika.App` — l'interface utilisateur partagée (Avalonia) + +**Chemin :** `src/Omika.App/` — **Dépend de :** `Omika.Core`, `Omika.App.Local` — **Packages :** Avalonia 12.1.1, CommunityToolkit.Mvvm 8.4.2. + +| Fichier / dossier | Rôle | +|---|---| +| `App.axaml` / `App.axaml.cs` | Le point d'entrée de l'application Avalonia (classe `App`). | +| `AppServices.cs` | **Le "composition root"** : construit tous les services à la main (pas de conteneur DI). | +| `Views/` | Les écrans `.axaml` + code-behind (≈ 25 vues). | +| `ViewModels/` | La logique de chaque écran (MVVM). | +| `ViewLocator.cs` | Fait le lien Vue ↔ ViewModel par convention de nommage. | +| `Navigation/` | La navigation entre pages (`NavigationService`, `AppPage`…). | +| `Services/` | Services de plateforme (`ThemeService`, `PlatformPhoneLauncher`, `PlatformSecureTokenStore`…). | +| `Styles/` | Apparence (couleurs, typographie, contrôles). | +| `Assets/` | Ressources (icônes…). | + +### 4.7 Les hôtes plateforme (démarrage) + +| Projet | Chemin | Rôle | Fichier clé | +|---|---|---|---| +| `Omika.App.Desktop` | `src/Omika.App.Desktop/` | Hôte Windows (`WinExe`) | `Program.cs` (`Main` + `BuildAvaloniaApp`) | +| `Omika.App.Android` | `src/Omika.App.Android/` | Hôte Android (`net10.0-android`) | `MainActivity.cs`, `Application.cs` | +| `Omika.App.iOS` | `src/Omika.App.iOS/` | Hôte iOS (`net10.0-ios`) | `AppDelegate.cs`, `Main.cs` | + +### 4.8 `Omika.Tests` — les tests automatiques + +**Chemin :** `tests/Omika.Tests/` — **Framework :** xUnit. Dépend de presque tous les projets. +Vérifie le comportement du code sans base HFSQL réelle pour la plupart des tests. + +### 4.9 `tools/` — outils de diagnostic (lecture seule) + +**Chemin :** `tools/` — Petits programmes "sondes" (`Probe`) pour explorer la base +HFSQL **sans rien écrire**. Dans la solution : `Omika.HfSqlProbe`, `HfSqlModelAudit`, +`HfSqlOleDbAudit`. Hors solution : ≈ 14 autres `Omika.*Probe` + scripts +PowerShell (`probe_*.ps1`, `start_*_e2e.ps1`) et Python (`generate_models.py`, +`extract_schema_tables.py`). + +--- + +## 5. Le graphe des dépendances + +``` +Omika.Core ◄── Omika.Data ◄── Omika.Api (web service) + ▲ ▲ + │ Omika.Worker (service de sync) + │ +Omika.Core ◄── Omika.App.Local ◄── Omika.App ◄── Omika.App.Desktop + ◄── Omika.App.Android + ◄── Omika.App.iOS + +Omika.Tests → (utilise presque tout) +``` + +- `Omika.Core` ne dépend de **personne** (c'est la base). +- `Omika.Data` ne dépend que de `Omika.Core`. +- `Omika.Api` et `Omika.Worker` partagent `Core` + `Data`. +- L'UI (`App`) dépend de `Core` + `App.Local`, **jamais** de `Data` (le mobile ne touche jamais HFSQL directement). + +--- + +## 6. Les bases de données et connexions + +### 6.1 HFSQL (côté serveur) + +Base historique, **répartie en plusieurs bases physiques** sur un serveur HFSQL +(ex. `127.0.0.1:4900`). D'après les docs des "lots serveur" : + +| Base HFSQL | Rôle | Connexion .NET | +|---|---|---| +| `BATIK_TEST` / `OMIKA_TEST` | Données métier | `Business` / `WebService` | +| `BATIK.01_BLS` | Table `TOSRV` (file d'attente) | `Service` (OLE DB) | +| base métier WebService | Tables `MobReception` + `MobLog` | `WebService` | +| `BASE_LICENCES` | Licences | `License` (OLE DB) | + +Les **3 tables techniques de synchronisation** : + +| Table | Base | Rôle | Colonnes clés | +|---|---|---|---| +| `TOSRV` | Service | File d'entrée (opérations reçues du mobile) | `TS_PKID`, `TS_Date`, `TS_Mobile`, `TS_CMD`, `TS_Buffer`, `TS_Lu`, `TS_JSON` | +| `MobReception` | WebService | File de travail (en attente de traitement) | `MR_PKID`, `MR_IDToSRV`, `MR_JSON`, `MR_CMD`, `MR_Buffer`, `MR_NumSerie`, `MR_Fait`, `MR_DateHeureRecep` | +| `MobLog` | WebService | Journal des résultats terminaux | `ML_PKID`, `ML_DateCreat`, `ML_Message`, `ML_Niveau` | + +Les tables de **licence** (base Licence) : `ClientBase` (`CL_PKID`, `CL_Code`, `CL_Nom`), +`Licence` (`LI_*`), `LicenceHisto` (`LH_*`). + +### 6.2 SQLite (côté mobile) + +Fichier `omika.db` dans le dossier de données de l'application. Contient : +- les **tables métier** (copie locale : `Client`, `Site`, `Intervention`, `Dossier`, `RendezVous`, `Collaborateur`, `DocumentMetadata`, `SuiviTemps`, `Personne`) ; +- les **tables techniques** (`Outbox`, `IdentityMapping`, `SyncState`, `DocumentCache`, `LocalBootstrap`, `UiPreferences`). + +### 6.3 Comment les connexions sont branchées (DI) + +Tout se joue dans `src/Omika.Data/ServiceCollectionExtensions.cs` : + +| Méthode | Effet | +|---|---| +| `AddOmikaData()` | Connexion **Business/WebService** (ODBC historique), repositories métier, détecteur de schéma, `IWebServiceHfSqlConnection`. | +| `AddOmikaDataLicenseConnection()` | Connexion **License** (OLE DB), branche `ILicenceRepository`. | +| `AddOmikaDataSyncConnection()` | Connexion **Sync** (OLE DB) — **OBSOLÈTE**, conservée pour compat. | +| `AddOmikaDataServiceConnection()` | Connexion **Service** (OLE DB), branche `IServiceHfSqlConnection` (table `TOSRV`). | +| `AddOmikaDataBusinessOleDb()` | **Override** : remplace `IHfsqlConnection` ODBC par OLE DB + ajoute `IWebServiceTransactionContext`. | + +> Important pour le debug : dans MS DI, **le dernier enregistrement gagne**. C'est +> pour cela que `AddOmikaDataBusinessOleDb()` doit être appelé **après** `AddOmikaData()`. + +--- + +## 7. Flux 1 : démarrage de l'application + +**Point d'entrée** : `src/Omika.App.Desktop/Program.cs` + +``` +Main() [STAThread] + → BuildAvaloniaApp().StartWithClassicDesktopLifetime(args) + → AppBuilder.Configure() + .UsePlatformDetect() + .WithInterFont() + .LogToTrace() +``` + +Ensuite `src/Omika.App/App.axaml.cs` : + +``` +Initialize() + → AvaloniaXamlLoader.Load(this) (charge App.axaml) + → AttachDeveloperTools() (Debug uniquement) + +OnFrameworkInitializationCompleted() + → _services = new AppServices() (composition root) + → _services.ThemeService.Application = this + → _ = InitializeServicesAsync() (async, sans bloquer l'UI) + → crée MainWindow (desktop) / MainView (mobile) avec DataContext = RootViewModel +``` + +`AppServices.cs` construit **à la main** : la base SQLite, les repositories locaux, +le `SyncEngine`, le `MobileApiClient`, la navigation, `ShellViewModel`, `RootViewModel`. + +Puis `InitializeServicesAsync()` : +1. `_services.InitializeAsync()` → schéma SQLite + thème ; +2. `_services.InitializeSessionAsync()` → restaure le token + charge le bootstrap ; +3. `_services.RootViewModel.EvaluateSessionAsync()` → décide **Activation** ou **Shell**. + +**Où chercher en cas de bug de démarrage :** +- Écran vide / crash au lancement → `App.axaml.cs`, `AppServices.cs`. +- L'app reste sur l'écran d'activation → `RootViewModel.EvaluateSessionAsync()`, `MobileSessionService.HasValidSessionAsync()`. +- Erreur SQLite → `LocalDatabase` (schéma), `AppServices.InitializeAsync()`. + +--- + +## 8. Flux 2 : activation de licence + +**Côté mobile (déclencheur)** : `MobileSessionService.ActivateAsync(codeClient, numeroLicence)`. + +``` +1. MobileSessionService.ActivateAsync +2. → MobileApiClient.ActivateAsync (POST /api/license/activate, JSON) +3. → LicenseService.ActivateAsync (côté serveur, Omika.Core) +4. → LicenceRepository.GetClientByCodeAsync (HFSQL: ClientBase) +5. → LicenceRepository.GetByNumeroAndClientAsync (HFSQL: Licence) +6. → vérifie : active ? non expirée ? non attribuée à un autre mobile ? +7. → si OK : AssignDeviceAsync (LI_IDMobile) + AddHistoAsync (LicenceHisto) +8. → renvoie LicenseResponse { IsValid, AccessToken (si valide), ... } +9. → si valide : PersistSessionAsync (token en secure storage + bootstrap en SQLite) +10. → RootViewModel.OnActivationSucceeded() → affiche le Shell +``` + +**Règles métier (dans `LicenseService.ActivateAsync`)**, dans l'ordre : + +| # | Vérification | Code d'erreur si échec | +|---|---|---| +| 1 | Données présentes (codeClient, numéro, deviceId) | `E1001` (DataEmpty) | +| 2 | Client existe | `E2001` (ClientInconnu) | +| 3 | Licence existe et appartient au client | `E3001` (LicenceInconnue) | +| 4 | Licence active | `E3002` (LicenceInactive) | +| 5 | Licence non expirée | `E3003` (LicenceExpiree) | +| 6 | DeviceId non attribué à un autre mobile | `E3004` (LicenceAttribuee) | + +**Où chercher en cas de bug d'activation :** +- "Client inconnu" / "Licence inconnue" → `LicenceRepository` + la base Licence HFSQL (noms de base/table réels !). +- "Licence inactive/expirée" → données HFSQL (`LI_Active`, `LI_DateExpiration`). +- "Licence attribuée à un autre mobile" → `LI_IDMobile` déjà renseigné. +- Le token ne revient pas → `LicenseEndpoints.BuildSession` + `TokenService` (clé `MobileAuth:SigningKey`). + +--- + +## 9. Flux 3 : synchronisation mobile → serveur + +C'est le flux le plus important. Il y a **deux acteurs** : le mobile (`SyncEngine`) +et le serveur (`Omika.Api` + `Omika.Worker`). + +### 9.1 Côté mobile — `SyncEngine.SyncAsync()` + +``` +1. Vérifie le réseau (NetworkConnectivity.IsOnlineAsync) +2. Lit l'Outbox (OutboxRepository.GetReadyAsync) +3. Pour chaque opération prête : + - diffère si une dépendance n'est pas encore réconciliée + - envoie : SendOperationAsync (POST /api/sync/operations) + OU SendDocumentAsync (POST /api/documents) pour les documents +4. Interroge les statuts (GetStatusAsync pour chaque OperationId) +5. Réconcilie les identités (MobileIdentityReconciliationService.ReconcileAsync) +6. Applique le snapshot (SnapshotApplier.ApplyAsync) +``` + +Protégé par un `SemaphoreSlim` (un seul cycle à la fois). Déclenché par +`ShellViewModel.SyncNowAsync` (bouton de sync). + +### 9.2 Côté API — `SyncOperationService.ReceiveAsync()` + +``` +1. Valide OperationId, DeviceId, EntityType, OperationType, EntityGuid, Payload +2. Vérifie l'idempotence (opération déjà reçue ?) +3. Construit le SyncEnvelope (identités depuis le token, jamais du payload) +4. InsertToSrvAsync → écrit dans TOSRV +5. WriteLogAsync → écrit un état "Pending" dans MobLog +6. Retourne "RECEIVED" +``` + +### 9.3 Côté Worker — `SyncWorker` → `SyncProcessor.ProcessAsync()` + +``` +Phase 1 : TransferToReceptionAsync + TOSRV → MobReception (copie), puis suppression TOSRV +Phase 2 : GetPendingOperationsAsync + lit MobReception (MR_Fait = false), exclut les opérations terminales +Phase 3 : trie les opérations (CREATE → UPDATE → ARCHIVE/DELETE, puis par date) +Phase 4 : pour chaque opération : + handler = HandlerRegistry.GetHandler(EntityType) + résultat = handler.ApplyAsync(opération) + → Success : MarkSuccessAsync (supprime MobReception + écrit MobLog SUCCESS) + → TransientFailure : IncrementRetryAsync (retry, max 30) + → PermanentFailure : MarkRejectedAsync (écrit MobLog REJECTED) +``` + +### 9.4 Les handlers + +| Handler | EntityType | Actions supportées | +|---|---|---| +| `InterventionSyncOperationHandler` | `Intervention` | CREATE, UPDATE, ARCHIVE. DELETE → échec permanent. | +| `SuiviTempsSyncOperationHandler` | `SuiviTemps` | (création/suivi des temps) | +| `DefaultSyncOperationHandler` | tout le reste | Refuse proprement (`NO_HANDLER`) | + +### 9.5 L'idempotence et le retry (anti-bug essentiel) + +- Chaque opération a un **`OperationId`** (GUID) unique généré par le mobile. +- Si la même opération est rejouée (réseau coupé, retry), le serveur la reconnaît et **ne la duplique pas**. +- **Retry** : `RetryCount` incrémenté à chaque échec transitoire (`TRANSIENT_FAILURE`). + Au-delà de `MaxRetryCount` (défaut **30**), l'opération passe en `REJECTED` (terminal). +- Un échec définitif (`PERMANENT_FAILURE`) est rejeté **immédiatement** (ex. DELETE non supporté). + +**Où chercher en cas de bug de sync :** +- "L'opération reste en attente" → `TOSRV`/`MobReception` (le Worker n'a pas tourné ?). +- "L'opération est rejetée" → `MobLog.ML_Message` (code d'erreur + message). +- "Rien n'est envoyé" → `OutboxRepository`, `SyncEngine` (hors-ligne ?), `NetworkConnectivity`. +- "Double application" → vérifier l'idempotence par `OperationId`. + +--- + +## 10. Flux 4 : snapshot serveur → mobile + +Quand le mobile se synchronise, il récupère une "photo" complète des données : + +``` +1. MobileApiClient.GetSnapshotAsync (GET /api/sync/snapshot, authentifié) +2. → MobileSnapshotService.GetSnapshotAsync (côté serveur) + - charge Clients, Collaborateurs, Sites, Interventions, Dossiers, + RendezVous (filtrés par collaborateur), Documents, SuiviTemps + - résout les identités publiques (GUID) via MobileEntityIdentityResolver +3. → renvoie MobileSnapshotResponse +4. SnapshotApplier.ApplyAsync (côté mobile) + - validation du snapshot (ex. Id unique des Personnes) + - transaction SQLite : DELETE + INSERT de chaque table métier + - commit atomique (en cas d'erreur : rollback, l'ancienne base reste utilisable) +``` + +**Point important (bug fréquent)** : le snapshot ne touche **jamais** les tables +techniques (`Outbox`, `IdentityMapping`, `SyncState`, `DocumentCache`, `LocalBootstrap`). + +**Où chercher en cas de bug de snapshot :** +- "Snapshot timeout" → `MobileSnapshotService` (les docs mentionnent un ancien + problème de N+1 résolu par du chargement BULK — voir `LoadInterventionsAsync`). +- "Snapshot non appliqué" → `SnapshotApplier` + logs (`REFRESH FAILED stage=...`). +- "Données locales vides" → le filtre par collaborateur (`FilterRendezVousByCollaborateur`). + +--- + +## 11. Flux 5 : documents + +### Upload (mobile → serveur) + +``` +SyncEngine.SendDocumentAsync + → lit le fichier local référencé dans le payload + → MobileApiClient.UploadDocumentAsync (POST /api/documents) + → MobileDocumentService.UploadAsync (serveur) + → IDocumentFileStorage.SanitizeFileName / Write (stockage physique) + → IDocumentRepository.CreateAsync (métadonnées en base) + → renvoie DocumentUploadResponse +``` + +### Download (serveur → mobile) + +``` +MobileApiClient.DownloadDocumentAsync (GET /api/documents/{guid}) + → MobileDocumentService.DownloadAsync + → résout DocumentGuid → identité physique + → IDocumentRepository.GetByPhysicalIdentityAsync + → IDocumentFileStorage.Read (contenu binaire) + → renvoie DocumentDownloadResponse +``` + +**Règles de sécurité** : le `DocumentGuid` est l'identifiant public ; le PK HFSQL et +le chemin physique du serveur ne sont **jamais** exposés au mobile. + +**Où chercher en cas de bug document :** +- "Fichier local introuvable" → `SyncEngine.SendDocumentAsync` (état `Rejected`). +- "Nom de fichier invalide" → `IDocumentFileStorage.SanitizeFileName`. +- "Taille dépassée" → `IDocumentFileStorage.Write` (exception `DOCUMENT_SIZE_EXCEEDED`). +- "Document introuvable" → `MobileDocumentService.DownloadAsync` (résolution d'identité). + +--- + +## 12. L'authentification par token + +- **Émission** : après une licence valide, `TokenService.GenerateToken(identity)` crée + un jeton **stateless signé** en HMAC-SHA256 : `payloadBase64.signature`. +- **Validation** : `MobileAuthMiddleware` lit le header `Authorization: Bearer `, + appelle `TokenService.ValidateToken`, et stocke l'identité dans `HttpContext.Items` + (clé `Omika.MobileIdentity`). Les endpoints la récupèrent via `GetMobileIdentity()`. +- **Durée de vie** : `MobileAuth:TokenLifetimeHours` (config). +- **Clé de signature** : `MobileAuth:SigningKey`, **obligatoire en Production** (le + `Program.cs` de l'API lève une erreur au démarrage si elle manque). + +**Où chercher en cas de bug d'auth :** +- "401 Unauthorized" sur un endpoint → token absent/expiré/invalide → `TokenService.ValidateToken`. +- "Clé de signature manquante" au démarrage → config `MobileAuth:SigningKey`. + +--- + +## 13. La configuration + +### 13.1 `src/Omika.Api/appsettings.json` + +- `Omika:DatabaseVersion` → `Auto` / `Batik` / `Omika` +- `LicenseConnection` → serveur/port/base de la base Licence +- `SyncConnection` → serveur/port/base Sync (obsolète) +- `Logging`, `AllowedHosts` + +### 13.2 `src/Omika.Worker/appsettings.json` + +- `Omika:DatabaseVersion` +- `Hfsql` → connexion Business (serveur, port, base, login, driver) +- `SyncConnection` → base Sync (obsolète) +- `Sync` → `MaxRetryCount` (30), `RetryDelaySeconds` (120), `LogRetentionDays` (30) +- `Logging` + +### 13.3 Config locale mobile + +- `MobileApiClient.BaseUrl` (défaut `http://localhost:5000`), surchargeable via + `mobile-api.local.json` (fichier local, non sensible). +- Le token est stocké en **secure storage** (jamais en clair dans SQLite). + +> Les secrets (`Password`, `FilePasswords`, `SigningKey`) doivent venir de +> configuration **sécurisée** (variables d'environnement / User Secrets), jamais en clair. + +--- + +## 14. Les codes d'erreur et états + +### 14.1 Licence (`LicenseErrorCodes`) + +| Code | Signification | +|---|---| +| `E0000` | OK | +| `E1001` | Données vides | +| `E1002` | Format JSON invalide | +| `E2001` | Client inconnu | +| `E2002` | Erreur licence client | +| `E2003` | Configuration incomplète | +| `E2004` | Clé API incorrecte | +| `E3001` | Licence inconnue | +| `E3002` | Licence inactive | +| `E3003` | Licence expirée | +| `E3004` | Licence attribuée à un autre mobile | +| `E3005` | Aucune licence | + +### 14.2 Synchronisation + +- **`SyncStatus`** : `Success`, `Rejected`, `Pending`, `StatusNotAvailable`. +- **`SyncOperationState`** : `Unknown`, `Pending`, `Success`, `Rejected`. +- **`SyncOperationType`** : `Create`, `Update`, `Archive`, `Delete`. +- **Résultat de handler** : `Success`, `TransientFailure` (→ retry), `PermanentFailure` (→ rejet). + +Codes d'erreur de handler (exemples) : +- `INTERVENTION_INVALID_ENTITY_GUID` — `EntityGuid` vide ; +- `INTERVENTION_OPERATION_NOT_SUPPORTED` — type d'opération non supporté (ex. DELETE) ; +- `INTERVENTION_NOT_FOUND` — entité introuvable (transitoire si un CREATE est en attente) ; +- `INTERVENTION_VALIDATION_FAILED` — échec de validation métier ; +- `NO_HANDLER` — aucun handler pour cet `EntityType`. + +Codes d'erreur documents : +- `DOCUMENT_GUID_INVALID`, `DOCUMENT_FILENAME_INVALID`, `DOCUMENT_SIZE_EXCEEDED`, `DOCUMENT_UPLOAD_FAILED`. + +--- + +## 15. Guide de diagnostic + +Chaque ligne : **symptôme** → **où regarder en premier**. + +### Démarrage / interface + +- L'app ne démarre pas → `Omika.App.Desktop/Program.cs`, `App.axaml.cs`. +- Écran vide / "Not Found: ...ViewModel" → `ViewLocator.cs` (le lien Vue↔ViewModel est cassé). +- Mauvaise page affichée au départ → `RootViewModel` (Activation vs Shell). +- Navigation qui ne répond pas → `NavigationService.cs`, `ShellViewModel.OnPageChanged`. +- Bouton de sync qui ne fait rien → `ShellViewModel.SyncNowAsync`, `SyncEngine`. + +### Session / licence + +- L'app reste sur l'écran d'activation → `MobileSessionService.HasValidSessionAsync`, `RootViewModel.EvaluateSessionAsync`. +- "Client inconnu" → `LicenceRepository.GetClientByCodeAsync` + base Licence réelle. +- "Licence inconnue" → `LicenceRepository.GetByNumeroAndClientAsync` + base Licence. +- "Licence inactive/expirée" → données HFSQL (`LI_Active`, `LI_DateExpiration`). +- "Attribuée à un autre mobile" → `LI_IDMobile`. +- Token absent → `TokenService.GenerateToken` + `MobileAuth:SigningKey`. + +### Synchronisation + +- "Hors ligne" affiché → `NetworkConnectivity.IsOnlineAsync`. +- Rien n'est envoyé → `OutboxRepository.GetReadyAsync`, `SyncEngine.SyncAsync` (étape 2). +- Opération "différée" → dépendance non réconciliée (`SyncEngine`, `MobileIdentityReconciliationService`). +- Opération rejetée → lire `MobLog.ML_Message` (code + message), puis le handler correspondant. +- Opération qui boucle en retry → `SyncProcessor.RetryAsync`, `MaxRetryCount`. +- Données locales fausses → `SnapshotApplier`, `MobileSnapshotService`. +- Doublons → idempotence `OperationId` (`SyncOperationService.ReceiveAsync`, `SyncProcessor`). + +### Base de données + +- Erreur de connexion HFSQL → `src/Omika.Data/Connection/`, `HfsqlOptions`, config `Hfsql`/`LicenseConnection`/`ServiceConnection`. +- "Table/colonne introuvable" → divergence entre le modèle attendu et la base réelle (`HfSql/Models`, `SchemaDetection`). +- Erreur SQLite → `LocalDatabase`, `SnapshotApplier`, `MobileIdentityReconciliationService`. + +--- + +## 16. Les points de trace / logs + +- **Console mobile** : `Console.WriteLine("REFRESH START")`, `"REFRESH SUCCESS/Failed stage=..."`, + `"SQLITE IMPORT END"` (dans `SyncEngine`, `SnapshotApplier`). +- **Logs serveur** : `ILogger` (`.LogInformation` / `.LogWarning` / `.LogError`) dans + `SyncEngine`, `SyncWorker`, `SyncProcessor`, `MobileSessionService`, etc. +- **API** : logs `SNAPSHOT START/END` dans `SyncEndpoints`. +- **`MobLog`** : le journal terminal des opérations de sync (succès / rejet) — **c'est + le premier endroit à consulter** pour comprendre pourquoi une opération a été rejetée. + +--- + +## 17. Les pièges et limites connus + +1. **Divergence de topologie HFSQL** : les docs indiquent que certaines bases/tables + attendues ne sont pas toutes présentes sur le serveur réel (ex. `BASE_LICENCES` + sans les tables `Licence`/`ClientBase`/`LicenceHisto` ; `SYNC_TEST` vs `OMIKA_TEST`). + → Toujours vérifier la **base réelle** avant de conclure à un bug de code. +2. **Un seul Worker actif** par file Sync (pas de verrou distribué). Deux Workers + simultanés peuvent poser problème. +3. **Support Windows Service** : prévu (`UseWindowsService()`) mais pas encore activé. +4. **Handlers limités** : seuls `Intervention` et `SuiviTemps` sont branchés ; les + autres `EntityType` passent par le fallback `NO_HANDLER` (rejet). +5. **DELETE non supporté** : la suppression physique est refusée ; on utilise `ARCHIVE`. +6. **Le desktop accède à HFSQL directement**, le mobile uniquement via l'API : ne pas + confondre les deux chemins. +7. **DI : le dernier enregistrement gagne** (`AddOmikaDataBusinessOleDb` doit être + appelé après `AddOmikaData`). +8. **Le token n'est jamais stocké en SQLite en clair** (secure storage). Ne pas + chercher le token dans la base locale. + +--- + +## Annexe — arborescence rapide des fichiers les plus importants + +``` +src/ + Omika.Core/ + Services/Mobile/ ← serveur : licence, token, sync, snapshot, bootstrap, documents + Domain/ ← entités + objets-valeur + exceptions + Contracts/ ← DTO + Interfaces/ ← contrats + Runtime/ ← sélection Batik/Omika + Omika.Data/ + ServiceCollectionExtensions.cs ← le branchement DI des connexions + Repositories/Technical/ ← LicenceRepository, SyncTransferRepository + Repositories/Adaptive*.cs ← repositories Batik/Omika + Connection/ ← connexions HFSQL (ODBC/OLE DB) + Omika.Api/ + Program.cs ← point d'entrée + DI + endpoints + Endpoints/ ← tous les endpoints + MobileAuthMiddleware.cs ← validation du Bearer token + Omika.Worker/ + Program.cs ← point d'entrée + DI + SyncWorker.cs ← la boucle + SyncProcessor.cs ← la logique de traitement + *SyncOperationHandler.cs ← les handlers métier + Omika.App.Local/ + Services/SyncEngine.cs ← le moteur de sync mobile + Services/MobileApiClient.cs ← le client HTTP + Services/MobileSessionService.cs ← la session + Services/SnapshotApplier.cs ← application du snapshot + Sqlite/ ← base locale + Omika.App/ + App.axaml.cs ← point d'entrée Avalonia + AppServices.cs ← composition root + Views/ + ViewModels/ ← UI + logique (MVVM) + Navigation/ ← navigation +tests/Omika.Tests/ ← les tests +tools/ ← sondes de diagnostic +``` + +--- + +# ANNEXE B — Tracer un bug de synchronisation de bout en bout + +Cette annexe est un **mode d'emploi pratique**. Elle reprend le flux de +synchronisation et indique, **pour chaque étape**, le fichier exact, la méthode +exacte, et ce qu'il faut vérifier quand ça ne marche pas. + +## B.1 Le diagramme de séquence complet (aller-retour) + +``` +TÉLÉPHONE (mobile) SERVEUR +──────────────────────────── ──────────────────────────────────────── +ShellViewModel.SyncNowAsync + └─ SyncEngine.SyncAsync + │ 1. NetworkConnectivity.IsOnlineAsync + │ 2. OutboxRepository.GetReadyAsync + │ + │ 3. pour chaque opération : + │ MobileApiClient.SendOperationAsync + │─────────────────────────────► POST /api/sync/operations + │ SyncOperationService.ReceiveAsync + │ 1. valide (OperationId, DeviceId, …) + │ 2. idempotence (déjà reçu ?) + │ 3. SyncTransferRepository.InsertToSrvAsync + │ → INSERT dans TOSRV (base Service) + │ 4. SyncTransferRepository.WriteLogAsync + │ → INSERT MobLog (Pending) + │◄───────────────────────────── { "status": "RECEIVED" } + │ + │ 4. MobileApiClient.GetStatusAsync + │─────────────────────────────► GET /api/sync/status/{operationId} + │◄───────────────────────────── SyncStatus (Pending / Success / Rejected) + │ + │ 5. MobileIdentityReconciliationService.ReconcileAsync + │ (si le serveur a retourné un GUID canonique différent) + │ + │ 6. MobileApiClient.GetSnapshotAsync + │─────────────────────────────► GET /api/sync/snapshot + │ MobileSnapshotService.GetSnapshotAsync + │◄───────────────────────────── MobileSnapshotResponse + │ SnapshotApplier.ApplyAsync + │ (DELETE + INSERT de chaque table métier SQLite, transaction) + ▼ + + ====== EN PARALLÈLE (Worker, en boucle) ====== + SyncWorker.ExecuteAsync + └─ SyncProcessor.ProcessAsync + Phase 1 : TransferToReceptionAsync + TOSRV → MobReception (copie) + puis DELETE TOSRV + Phase 2 : GetPendingOperationsAsync + lit MobReception (MR_Fait = false) + Phase 3 : trie CREATE → UPDATE → ARCHIVE + Phase 4 : ProcessOperationAsync + → handler.ApplyAsync + → Success / Retry / Reject + → MobLog (terminal) +``` + +## B.2 Le traçage étape par étape + +Pour chaque étape : le **fichier** → la **méthode** → **ce qu'il faut vérifier**. + +| # | Étape | Fichier → méthode | Vérifier si bug | +|---|---|---|---| +| 1 | Vérif réseau | `App.Local/Services/NetworkConnectivity.cs` → `IsOnlineAsync` | L'app dit "Hors ligne" à tort → ici. | +| 2 | Lire l'Outbox | `App.Local/Repositories/OutboxRepository.cs` → `GetReadyAsync` | "Rien n'est envoyé" → l'opération est-elle bien dans la table SQLite `Outbox` ? | +| 3 | Différer dépendance | `SyncEngine.cs` → bloc `operation.DependencyEntityType` | Opération "différée" → dépendance non réconciliée. | +| 4 | Envoi HTTP | `App.Local/Services/MobileApiClient.cs` → `SendOperationAsync` | Erreur 401/500 → token, `BaseUrl`, API démarrée ? | +| 5 | Réception API | `Core/Services/Mobile/SyncOperationService.cs` → `ReceiveAsync` | Validation (OperationId/DeviceId/EntityType/Payload) → code 400. | +| 6 | Écriture TOSRV | `Data/Repositories/Technical/SyncTransferRepository.cs` → `InsertToSrvAsync` | Connexion **Service** (OLE DB) OK ? | +| 7 | Transfert | `SyncTransferRepository.cs` → `TransferToReceptionAsync` | TOSRV lu, copié dans MobReception, puis supprimé. | +| 8 | Lecture en attente | `SyncTransferRepository.cs` → `GetPendingOperationsAsync` | MobReception avec `MR_Fait = false`. | +| 9 | Tri | `Worker/SyncProcessor.cs` → `OrderOf` + `OrderBy` | CREATE avant UPDATE avant ARCHIVE. | +| 10 | Application | `Worker/SyncProcessor.cs` → `ProcessOperationAsync` | Décision Success / Retry / Reject (voir B.4). | +| 11 | Handler | `Worker/InterventionSyncOperationHandler.cs` → `ApplyAsync` | Logique métier Intervention (voir B.5). | +| 12 | Résultat | `SyncTransferRepository.cs` → `MarkSuccessAsync` / `MarkRejectedAsync` / `IncrementRetryAsync` | MobLog terminal. | + +## B.3 Exemple concret : "mon intervention créée sur le mobile n'arrive jamais" + +Suivre cette **checklist dans l'ordre** : + +1. **Le mobile a-t-il bien mis l'opération en Outbox ?** + → Regarder la table SQLite `Outbox` (`omika.db`). Si vide, le problème est en + amont (le service local qui crée l'intervention n'a pas appelé `OutboxService.EnqueueAsync`). + +2. **L'opération part-elle ?** + → `SyncEngine.SyncAsync` : vérifier les logs `REFRESH START` / `REFRESH FAILED stage=...`. + Si `stage` indique une exception, lire `result.FailureStage` et `result.ExceptionType`. + +3. **L'API a-t-elle reçu ?** + → Regarder les logs de `Omika.Api` (ou un outil comme `MobLog`). Si `RECEIVED` + est retourné, l'opération est dans `TOSRV`. + +4. **Le Worker l'a-t-il traitée ?** + → Regarder `TOSRV` (doit se vider) puis `MobReception` (doit contenir + l'opération avec `MR_Fait = false`), puis `MobLog` (résultat terminal). + Si `TOSRV` reste plein → le Worker ne tourne pas ou la connexion **Service** est cassée. + Si `MobReception` reste plein → le handler échoue (voir `MobLog.ML_Message`). + +5. **Le résultat est-il revenu au mobile ?** + → Le mobile interroge `/api/sync/status/{operationId}`. Si `Rejected`, lire le + code d'erreur dans `MobLog.ML_Message` et le corréler avec la section B.5. + +## B.4 L'arbre de décision de `ProcessOperationAsync` (le cœur du Worker) + +`Worker/SyncProcessor.cs` → `ProcessOperationAsync` : + +``` +1. RetryCount >= MaxRetryCount (30) ? + OUI → RejectAsync("MAX_RETRY") → REJECTED (terminal) + NON → continuer + +2. Idempotence : GetTerminalResultAsync(OperationId) existe déjà ? + OUI + Success → reconstruit SUCCESS sans réappliquer le handler + OUI + Rejected → reconstruit REJECTED sans réappliquer le handler + NON → continuer + +3. handler = HandlerRegistry.GetHandler(EntityType) ?? DefaultSyncOperationHandler + +4. Ouvre UNE transaction OLE DB locale (Business/WebService) + +5. result = handler.ApplyAsync(operation) + + Success → MarkSuccessAsync + Commit → SUCCESS + PermanentFailure → Rollback + MarkRejectedAsync → REJECTED + TransientFailure → Rollback + IncrementRetryAsync → RETRY (retryCount + 1) + Exception → Rollback + IncrementRetryAsync → RETRY +``` + +**À retenir pour le debug :** +- `TRANSIENT_FAILURE` = erreur temporaire → **retry** (ex. un CREATE pas encore arrivé). +- `PERMANENT_FAILURE` = erreur définitive → **rejet immédiat** (ex. DELETE non supporté, validation métier). +- L'**idempotence** empêche de réappliquer deux fois le même `OperationId`. + +## B.5 Le handler Intervention en détail (exemple à connaître) + +`Worker/InterventionSyncOperationHandler.cs` — `ApplyAsync` : + +``` +EntityGuid vide ? → PERMANENT_FAILURE ("INTERVENTION_INVALID_ENTITY_GUID") + +OperationType : + Create → HandleCreateAsync + Update → HandleUpdateAsync + Archive → HandleArchiveAsync + Delete → PERMANENT_FAILURE ("INTERVENTION_OPERATION_NOT_SUPPORTED") + (la suppression physique est interdite → utiliser ARCHIVE) +``` + +### CREATE (`HandleCreateAsync`) + +- Désérialise le payload (`InterventionSyncPayload`). Si invalide → `INTERVENTION_INVALID_PAYLOAD`. +- Appelle `IInterventionService.CreateAsync`. +- Si succès → `Success(created.Id, requestedEntityGuid: operation.EntityGuid, canonicalEntityGuid: ...)`. +- Si `DomainValidationException` → `PERMANENT_FAILURE ("INTERVENTION_VALIDATION_FAILED")`. + +### UPDATE (`HandleUpdateAsync`) + +- Désérialise le payload. Si invalide → `INTERVENTION_INVALID_PAYLOAD`. +- Résout l'identité physique (`ResolvePhysicalIdentity`). Si non résolvable → + `TRANSIENT_FAILURE ("INTERVENTION_NOT_FOUND")` — **un CREATE peut encore être en attente**. +- Vérifie l'existence. Si absente → `TRANSIENT_FAILURE` (retry). +- Sinon → `IInterventionService.UpdateAsync`. + +### ARCHIVE (`HandleArchiveAsync`) + +- Résout l'identité physique. Si non résolvable → `TRANSIENT_FAILURE`. +- Vérifie l'existence. Si absente → `TRANSIENT_FAILURE`. +- Sinon → `IInterventionService.ArchiveAsync`. + +### Le fallback (`DefaultSyncOperationHandler`) + +- Ne déclare **aucun** `EntityType`. S'il est sélectionné, c'est qu'aucun handler + n'existe pour ce type → `PERMANENT_FAILURE ("NO_HANDLER")`. **Jamais** de faux SUCCESS. + +## B.6 Récapitulatif "où est le problème ?" en une phrase + +| Où l'opération est bloquée | Cause probable | Fichier à ouvrir | +|---|---|---| +| Jamais dans l'Outbox | Le service local n'a pas enregistré le changement | `App.Local/Services/*LocalService.cs`, `OutboxService.cs` | +| Dans l'Outbox mais jamais envoyée | Hors ligne, ou `SyncEngine` en erreur | `NetworkConnectivity.cs`, `SyncEngine.cs` | +| Envoyée mais rejetée par l'API (400) | Validation échouée (OperationId/DeviceId/Payload) | `SyncOperationService.ReceiveAsync` | +| Dans `TOSRV` mais pas traitée | Worker arrêté, ou connexion **Service** cassée | `SyncWorker.cs`, `SyncTransferRepository.cs` | +| Dans `MobReception` mais jamais finalisée | Handler échoue (voir `MobLog`) | `*SyncOperationHandler.cs`, `SyncProcessor.cs` | +| `MobLog` = REJECTED | Erreur métier/définitive | `MobLog.ML_Message` → corréler avec B.5 | + +--- + +--- + +# ANNEXE C — Tracer un bug d'activation de licence + +## C.1 Le diagramme de séquence + +``` +TÉLÉPHONE (mobile) SERVEUR +──────────────────────────── ────────────────────────────── +LicenseActivationViewModel + └─ MobileSessionService.ActivateAsync(codeClient, numeroLicence) + │ 1. lit deviceId (IDeviceIdProvider) + │ 2. MobileApiClient.ActivateAsync + │─────────────────────────────► POST /api/license/activate + │ LicenseService.ActivateAsync + │ 1. LicenceRepository.GetClientByCodeAsync + │ → SELECT ClientBase (HFSQL) + │ 2. LicenceRepository.GetByNumeroAndClientAsync + │ → SELECT Licence (HFSQL) + │ 3. vérifie active / expiration / deviceId + │ 4. si OK : AssignDeviceAsync (UPDATE Licence) + │ + AddHistoAsync (INSERT LicenceHisto) + │ LicenseEndpoints.BuildSession + │ → TokenService.GenerateToken (si valide) + │◄───────────────────────────── LicenseResponse + AccessToken + │ 3. si valide : PersistSessionAsync + │ → token en secure storage (ISecureTokenStore) + │ → GET /api/mobile/bootstrap → sauvegardé en SQLite + ▼ +RootViewModel.OnActivationSucceeded → affiche le Shell +``` + +## C.2 La checklist "l'activation échoue" + +Suivre dans l'ordre : + +1. **Le mobile appelle-t-il l'API ?** + → `MobileSessionService.ActivateAsync`. Vérifier `BaseUrl` (défaut + `http://localhost:5000`) et que l'API tourne. + +2. **Quel code d'erreur est renvoyé ?** + → `LicenseResponse.ErrorCode` + `ErrorMessage`. Corréler avec le tableau C.3. + +3. **Le client existe-t-il en base ?** + → `LicenceRepository.GetClientByCodeAsync` → table `ClientBase` (`CL_Code`). + +4. **La licence existe-t-elle pour ce client ?** + → `LicenceRepository.GetByNumeroAndClientAsync` → table `Licence` + (`LI_Numero` + `LI_IDClient`). + +5. **La licence est-elle active / non expirée / non déjà attribuée ?** + → colonnes `LI_Active`, `LI_DateExpiration`, `LI_IDMobile`. + +6. **Le token est-il bien émis ?** + → `LicenseEndpoints.BuildSession` + `TokenService.GenerateToken` + (clé `MobileAuth:SigningKey` obligatoire). + +## C.3 Correspondance code d'erreur → cause → fichier + +| Code | Cause | Où regarder | +|---|---|---| +| `E1001` | Données incomplètes (codeClient, numéro, deviceId) | `LicenseService.ActivateAsync` (étape 1) | +| `E2001` | Client inconnu | `LicenceRepository.GetClientByCodeAsync` + table `ClientBase` | +| `E3001` | Licence inconnue | `LicenceRepository.GetByNumeroAndClientAsync` + table `Licence` | +| `E3002` | Licence inactive | `LI_Active` | +| `E3003` | Licence expirée | `LI_DateExpiration` | +| `E3004` | Licence attribuée à un autre mobile | `LI_IDMobile` | + +> ⚠️ Rappel (déjà signalé dans les docs) : la base Licence réelle (`BASE_LICENCES`) +> peut ne pas contenir les tables `ClientBase`/`Licence`/`LicenceHisto`. Vérifier +> la **base réelle** avant de conclure à un bug de code. + +--- + +# ANNEXE D — Tracer un bug de document (upload / download) + +## D.1 Upload (mobile → serveur) + +``` +SyncEngine.SendDocumentAsync + │ 1. désérialise le payload (DocumentOutboxPayload) + │ 2. vérifie File.Exists(payload.LocalPath) → sinon Rejected + │ 3. lit le fichier en bytes + │ 4. MobileApiClient.UploadDocumentAsync + │─────────────────────────────► POST /api/documents + │ MobileDocumentService.UploadAsync + │ → SanitizeFileName (nom sûr ?) + │ → IDocumentFileStorage.Write (stockage) + │ → IDocumentRepository.CreateAsync (métadonnées) + │◄───────────────────────────── DocumentUploadResponse + │ 5. si Success → OutboxState.Accepted + │ sinon → OutboxState.Rejected + LastError +``` + +**Checklist upload :** +- "Fichier local introuvable" → `SyncEngine.SendDocumentAsync` (étape 2). +- "Nom de fichier invalide" → `MobileDocumentService.UploadAsync` (`SanitizeFileName`). +- "Taille dépassée" → `IDocumentFileStorage.Write` (`DOCUMENT_SIZE_EXCEEDED`). +- "Upload échoué" → `IDocumentRepository.CreateAsync` (`DOCUMENT_UPLOAD_FAILED`). + +## D.2 Download (serveur → mobile) + +``` +MobileApiClient.DownloadDocumentAsync + │─────────────────────────────► GET /api/documents/{documentGuid} + │ MobileDocumentService.DownloadAsync + │ → résout DocumentGuid → identité physique + │ → IDocumentRepository.GetByPhysicalIdentityAsync + │ → IDocumentFileStorage.Read (bytes) + │◄───────────────────────────── DocumentDownloadResponse +``` + +**Checklist download :** +- "Document introuvable" → résolution d'identité (`ResolvePhysicalIdentity`) ou + `GetByPhysicalIdentityAsync` retourne `null`. +- Contenu vide → `IDocumentFileStorage.Read` (chemin physique invalide ?). + +--- + +# ANNEXE E — Lancer l'API et le Worker en local (guide pratique) + +## E.1 Prérequis + +- Un **serveur HFSQL** doit être joignable à `127.0.0.1:4900` (config de test). +- Le fichier `config/hfsql-test.local.json` est chargé **uniquement en + Development/Test** (via `HfSqlTestConfigurationLoader.AddLocalTestConfiguration`). + Il contient les connexions `Hfsql` (Business), `LicenseConnection`, + `SyncConnection`, `ServiceConnection`, la clé `MobileAuth:SigningKey` et les + flags `E2E`. +- ⚠️ **Point de sécurité important** : ce fichier de test contient + `"AllowHfSqlWrites": false` → **les écritures HFSQL sont désactivées** dans ce + mode. C'est un environnement de **lecture seule** pour déboguer sans risque. +- L'API et le Worker font un **fail-fast au démarrage** : ils appellent + `IDatabaseRuntimeInitializer.InitializeAsync()` et lèvent une exception si la + base est injoignable ou inconnue. **Sans HFSQL démarré, ils ne démarrent pas.** + +## E.2 Commandes PowerShell (depuis `D:\Avalonia\Omika`) + +```powershell +# 1. Restaurer les packages +dotnet restore .\Omika.slnx + +# 2. Compiler +dotnet build .\Omika.slnx + +# 3a. Lancer l'API (ou utiliser le script tout prêt) +dotnet run --project .\src\Omika.Api\Omika.Api.csproj + +# 3b. Lancer le Worker (ou utiliser le script tout prêt) +dotnet run --project .\src\Omika.Worker\Omika.Worker.csproj +``` + +Il existe aussi des scripts qui démarrent en arrière-plan et redirigent les logs : + +```powershell +.\tools\start_api_e2e.ps1 # → logs dans api_e2e_out.txt / api_e2e_err.txt +.\tools\start_worker_e2e.ps1 # → logs dans worker_e2e_out.txt / worker_e2e_err.txt +``` + +Pour l'application mobile/desktop, l'API doit être joignable à l'URL configurée +(défaut `http://localhost:5000`, surchargeable via `mobile-api.local.json`). + +## E.3 Les logs à observer + +| Composant | Où regarder | +|---|---| +| API | Console / `api_e2e_out.txt`, `api_e2e_err.txt`. Endpoint `/health`. | +| Worker | Console / `worker_e2e_out.txt`, `worker_e2e_err.txt`. Logs "Worker de synchronisation démarré". | +| Mobile | `Console.WriteLine` : `REFRESH START`, `REFRESH SUCCESS/FAILED stage=...`, `SQLITE IMPORT END`. | +| Sync serveur | `MobLog` (résultats terminaux) + logs `ILogger` dans `SyncProcessor`/`SyncWorker`. | + +--- + +*Fin du guide. Document généré en lecture seule du code source ; aucun fichier +source n'a été modifié.* +``` diff --git a/docs/BATIK.md b/docs/BATIK.md new file mode 100644 index 0000000..02d9c4c --- /dev/null +++ b/docs/BATIK.md @@ -0,0 +1,310500 @@ +DOCUMENTATION +TECHNIQUE +DU PROJET +Isis_BO +06/08/2026 + +Partie 1 › Projet +Partie 1 +Projet +| 06/08/2026 | Isis_BO | 2 | +| ---------- | ------- | --- | + +Partie 1 › Projet +Projet +Informations générales +Isis_BO Application windows permettant la gestion des interventions +Répertoire D:\Projets Windev\Batik\WD30\Dev +Première fenêtre FEN_Login +Schéma des données associé D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda +Thème 190 GENSTEEL +Projet +Liste des éléments du projet +Nom Libellé +FEN_AGD_PL +FEN_Agenda +FEN_Choix_Clb_AGD +FEN_Choix_Collab_Responsable +FEN_Choix_Colonne_Et_Tri +FEN_Choix_Contact_Site +FEN_Choix_ContactMessageExterne +FEN_Choix_ContactUtilisateurs +FEN_Choix_Couleur +FEN_Choix_Couleur_Param +FEN_Choix_Dossier_Batigest +FEN_Choix_ElementModeleMail +FEN_Choix_Equipe_Collaborateur +FEN_Choix_Impression_Agenda +FEN_Choix_ModeleEtat_Intervention +FEN_Choix_ModeleMail +FEN_Choix_ModeleRapport_Intervention +FEN_Choix_Parametre_Metier +FEN_Choix_Resultat_Recherche +FEN_Choix_Role_Personne +06/08/2026 Isis_BO 3 + +Partie 1 › Projet › Liste des éléments du projet +Nom Libellé +FEN_Choix_Societe +FEN_Choix_Societe_Collaborateur +FEN_Choix_Tous_Collaborateurs +FEN_ChoixCalendrier +FEN_ChoixCalendrierTps +FEN_ChoixFenetreInterne +FEN_Collaborateur +FEN_Confirmation_Suppression +FEN_Date_CR +FEN_Exporter_Temps_CSV +FEN_Extraction_Donnees +FEN_Fiche +FEN_Fiche_Parametre_Status_RDV +FEN_Fiche_Parametre_Type_Activite +FEN_Fiche_Parametre_Type_temps +FEN_Fiche_RDV_F +FEN_Liste_Collaborateurs_Temps +FEN_Liste_Rapport_Mobile +FEN_Login +FEN_Login1 +FEN_LoginOLD +FEN_Maquette_checklist +FEN_Menu +FEN_MobileInscription +FEN_Modele +FEN_ModelesChamps +FEN_ModEmail_ChoixCatégories +FEN_Modification_Date_Groupe +FEN_Mot_Cle_Rapport +FEN_Parametrage_ModeleRapport +FEN_Parametres_Dossier +FEN_Parametres_Granularite_RDV +FEN_ParamModeleMail +FEN_Popup_Calendrier +FEN_Popup_Saisie_Durée +06/08/2026 Isis_BO 4 + +Partie 1 › Projet › Liste des éléments du projet +Nom Libellé +FEN_Popup_Saisie_Heure +FEN_Question_Modif_RDV +FEN_Reduire_Image +FEN_Saisie_Temps +FEN_SlammHeures +FEN_TestSusana +FEN_Type +FEN_Utilitaire +EI_COLLAB_INTERVENTION +EI_COLLAB_RDV +EI_CONTACT_CLIENT +EI_CONTACT_CLIENT_PETITE_FICHE +EI_CONTACT_SITE +EI_CONTACT_SITE_RDV +EI_FOURNITURE +ETAT_Agenda_Collaborateur Agenda Collaborateur +ETAT_CompteRendu_Intervention Compte rendu d'intervention +ETAT_FicheDeplacement +ETAT_FicheDeplacement_GAP_1 +ETAT_FicheDeplacement_SLAMM_1 +ETAT_FicheDeplacement_SLAMM_2 +ETAT_FicheDeplacement_SLAMM_3 +ETAT_FicheDeplacement_SLAMM_4 +ETAT_FicheIntervention +ETAT_FicheIntervention_SLAMM_1 +ETAT_FicheIntervention_SLAMM_2 +ETAT_FicheIntervention_SLAMM_3 +ETAT_FicheIntervention_SLAMM_4 +ETAT_GrandeFiche2_BOUVARD +ETAT_PetiteFiche2_BOUVARD +ETAT_Planning_Collaborateur Planning collaborateur +ETAT_SuivieDesTemps +ETAT_TEST +ETAT_WinDevVueRDV +C_ConnecteurBatigest +06/08/2026 Isis_BO 5 + +Partie 1 › Projet › Liste des éléments du projet +Nom Libellé +C_ConnecteurBddBatigest +CErreur +cPressePapier +MAccesEtDroit +MAction +MAdresse +MBase +MBddExterne +MCheckList +MCheckList_Collab +MClient +MClient_Adresse +MClient_BddExterne +MClient_Lieu +MCollaborateur +MCompteRendu +MDocument +MDocumentNote +MDossier +MDossier_Lieu +MDossier_Personne +MEquipe +MEquipe_Collaborateur +MEtatCRIntervention +MEtatFicheDeplacement +MEtatFicheIntervention +MEtatIntervention +MIntervention +MIntervention_BddExt +MIntervention_ChampLibre +MIntervention_Collaborateur +MIntervention_Lot +MIntervention_Personne +MLieu +MLieu_Personne +06/08/2026 Isis_BO 6 + +Partie 1 › Projet › Liste des éléments du projet +Nom Libellé +MLot +MLot_Personne +MMailCat +MMailModele +MMessageExterne +MMessageInterne +MModeleEmail +ModeleRapportMobile +MParametreApplication +MParametreMetier +MParametreMetierEntete +MParametreUtilisateur +MPersonne +MPlanning_RDV_Personne +MRdv +MSociete +MSociete_Collaborateur +MSuiviDesTemps +MTableauDeAccesEtDroit +MTableauDeAction +MTableauDeAdresse +MTableauDeCheckList +MTableauDeCheckList_Collab +MTableauDeClient +MTableauDeClient_Adresse +MTableauDeClient_BddExterne +MTableauDeClient_Lieu +MTableauDeCollaborateur +MTableauDeCompteRendu +MTableauDeDocument +MTableauDeDocumentNote +MTableauDeDossier +MTableauDeEquipe +MTableauDeEquipe_Collaborateur +MTableauDeEtatIntervention +06/08/2026 Isis_BO 7 + +Partie 1 › Projet › Liste des éléments du projet +Nom Libellé +MTableauDeIntervention +MTableauDeIntervention_BddExt +MTableauDeIntervention_ChampLibre +MTableauDeIntervention_Collaborateur +MTableauDeIntervention_Lot +MTableauDeIntervention_Personne +MTableauDeLieu +MTableauDeLieu_Personne +MTableauDeLot +MTableauDeLot_Personne +MTableauDeMailModele +MTableauDeMessageExterne +MTableauDeMessageInterne +MTableauDeParametreApplication +MTableauDeParametreMetier +MTableauDeParametreMetierEntete +MTableauDeParametreUtilisateur +MTableauDePersonne +MTableauDePlanning_RDV_Personne +MTableauDeRDV +MTableauDeSociete +MTableauDeSociete_Collaborateur +MTableauDeSuiviDesTemps +MTableauDeUtilisateur +MUtilisateur +PF_ModeleEmail +PFicheAccesEtDroit +PFicheAction +PFicheAdresse +PFicheBddExterne +PFicheCheckList +PFicheCheckList_Collab +PFicheClient +PFicheClient_Adresse +PFicheClient_BddExterne +06/08/2026 Isis_BO 8 + +Partie 1 › Projet › Liste des éléments du projet +Nom Libellé +PFicheClient_Lieu +PFicheCollaborateur +PFicheCompteRendu +PFicheDocument +PFicheDocumentNote +PFicheDossier +PFicheEquipe +PFicheEquipe_Collaborateur +PFicheEtatIntervention +PFicheIntervention +PFicheIntervention_BddExt +PFicheIntervention_ChampLibre +PFicheIntervention_Collaborateur +PFicheIntervention_Lot +PFicheIntervention_Personne +PFicheLieu +PFicheLieu_Personne +PFicheLot +PFicheLot_Personne +PFicheMailModele +PFicheMessageExterne +PFicheMessageInterne +PFicheParametreApplication +PFicheParametreMetier +PFicheParametreMetierEntete +PFicheParametreUtilisateur +PFichePersonne +PFichePlanning_RDV_Personne +PFicheRdv +PFicheSociete +PFicheSociete_Collaborateur +PFicheSuiviDesTemps +PFicheUtilisateur +PTableAccesEtDroit +PTableAction +06/08/2026 Isis_BO 9 + +Partie 1 › Projet › Liste des éléments du projet +Nom Libellé +PTableAdresse +PTableCheckList +PTableCheckList_Collab +PTableClient +PTableClient_Adresse +PTableClient_BddExterne +PTableClient_Lieu +PTableCollaborateur +PTableCompteRendu +PTableDocument +PTableDocumentNote +PTableDossier +PTableEquipe +PTableEquipe_Collaborateur +PTableEtatIntervention +PTableIntervention +PTableIntervention_BddExt +PTableIntervention_ChampLibre +PTableIntervention_Collaborateur +PTableIntervention_Lot +PTableIntervention_Personne +PTableLieu +PTableLieu_Personne +PTableLot +PTableLot_Personne +PTableMailModele +PTableMessageExterne +PTableMessageInterne +PTableParametreApplication +PTableParametreMetier +PTableParametreMetierEntete +PTableParametreUtilisateur +PTablePersonne +PTablePlanning_RDV_Personne +PTableRDV +06/08/2026 Isis_BO 10 + +Partie 1 › Projet › Liste des éléments du projet +Nom Libellé +PTableSociete +PTableSociete_Collaborateur +PTableSuiviDesTemps +PTableUtilisateur +RapportMobile +Aide_ArtPart +COL_COMMUN +COL_CONNEXION +COL_Constantes +COL_DOCUMENT +COL_EXPORT +COL_HFSQL +COL_IHM +COL_JSON_INFO +COL_MOBILE +COL_PrefAGD +COL_Structures +COL_TEMPORAIRE +COL_THREAD +COL_VERSION +COL_Visite +LIB_ModelesEmails +LIB_Synchro +FI_AG_OU_PL +FI_Agenda +FI_Agenda_Suivi_Temps +FI_Agenda3 +FI_AgendaPlanning +FI_CollaborateurListe +FI_EmailNouveau +FI_EmailVisualiser +FI_Fiche_Client +FI_Fiche_Collaborateur +FI_Fiche_Document +FI_Fiche_Dossier +06/08/2026 Isis_BO 11 + +Partie 1 › Projet › Liste des éléments du projet +Nom Libellé +FI_Fiche_DossierV1 +FI_Fiche_Equipe +FI_Fiche_Intervention +FI_Fiche_Lieu +FI_Fiche_Personne +FI_Fiche_Rdv +FI_Fiche_Societe +FI_GalerieDocument +FI_Liste_Client +FI_Liste_Client_V2 +FI_Liste_Collaborateur +FI_Liste_Dossier +FI_Liste_Equipe +FI_Liste_Lieu +FI_Liste_Personne +FI_Liste_Societe +FI_Listing_Intervention +FI_Modele_Rapport +FI_ModEmail_Gestion +FI_Parametrage +FI_Parametrage_Batigest +FI_Parametrage_CategorieDoc +FI_Parametrage_Email +FI_Parametrage_Profil +FI_Parametres_Service +FI_Planning +FI_Rapport_Intervention +FI_RDV +FI_ResultatsRecherche +FI_RubanTT_Mails +FI_Saisie_Temps_Def +FI_TdbPrincipal_Client_Non_Batigest +FI_TdBPrincipal_Collaborateur_Inactif +FI_TdBPrincipal_DerniersClients +FI_TdBPrincipal_DerniersClients_Suppr +06/08/2026 Isis_BO 12 + +Partie 1 › Projet › Liste des éléments du projet +Nom Libellé +FI_TdBPrincipal_GrapheNbDossierParCateg +FI_TdBPrincipal_IntervDuJour +FI_TdbPrincipal_Intervention_Non_Batigest +FI_TdBPrincipal_Logo +FI_TdbPrincipal_RDV_Manque +FI_TdBPrincipal_RDV_Non_Positionne +FI_Temps_Saisie +FI_Vierge +TEST_PFicheSociete +Modèle_FenêtreSimple +MDLC_EnteteBloc +checkVatService +WS_COM_MOBILE +WS_LICENCE +D:\Projets Windev\Batik\WD30\Dev\etoile_bleue_vide.png +D:\Projets Windev\Batik\WD30\Dev\etoile_verte_vide.png +D:\Projets Windev\Batik\WD30\Dev\exporte_16_5.png +D:\Projets Windev\Batik\WD30\Dev\Importe_16_5.png +D:\Projets Windev\Batik\WD30\Dev\fleche_croissante.png +D:\Projets Windev\Batik\WD30\Dev\interdit.png +D:\Projets Windev\Batik\WD30\Dev\voir.png +D:\Projets +Windev\Batik\WD30\Dev\demandeur_ok_bleu_vide.png +D:\Projets +Windev\Batik\WD30\Dev\demandeur_ok_vert_vide.png +D:\Projets Windev\Batik\WD30\Dev\etoile_bleue.png +D:\Projets Windev\Batik\WD30\Dev\etoile_verte.png +D:\Projets Windev\Batik\WD30\Dev\fleche_decroissante.png +D:\Projets Windev\Batik\WD30\Dev\masquer.png +D:\Projets +Windev\Batik\WD30\Dev\Blueberries_Scroll_V_2_Edit.png.wdp +ic +D:\Projets Windev\Batik\WD30\Dev\Licence_JSON.json +D:\Projets Windev\Batik\WD30\Dev\LOGO_GAP.ico +D:\Projets Windev\Batik\WD30\Dev\LOGO_FOND_BLANC.ico +D:\Projets Windev\Batik\WD30\Dev\DescripImg.png.wdpic +D:\Projets Windev\Batik\WD30\Dev\connexionTest.png.wdpic +06/08/2026 Isis_BO 13 + +Partie 1 › Projet › Liste des éléments du projet +Nom Libellé +D:\Projets +Windev\Batik\WD30\Dev\Description_Rubriques_Rapport.json +D:\Projets +Windev\Batik\WD30\Dev\Description_Rubriques_Rapport_APP +.json +Statistiques +| Nombre de fenêtres : | | 118 | +| ------------------------------------- | --- | --- | +| Nombre de modèles : | | 1 | +| Nombre de modèles de champs : | | 1 | +| Nombre d'états : | | 26 | +| Nombre de classes : | | 181 | +| Nombre de fichiers d'aide : | | 1 | +| Nombre de collections de procédures : | | 17 | +| Nombre de test : | | 1 | +Projet +Liste des Perso-Dossiers +Perso-Dossier Nom +| 01-Utilitaire | FEN_Utilitaire | | +| --------------- | --------------- | --- | +| 02-SLAMM Heures | FEN_SlammHeures | | +| Ancien_version | FI_Agenda3 | | +FI_Planning +| Archives | FEN_Login1 | | +| -------- | ---------- | --- | +FEN_LoginOLD +COL_CONNEXION +| Artisans_Partenaires | ETAT_FicheDeplacement_GAP_1 | | +| -------------------- | --------------------------- | --- | +| Batigest | FEN_Choix_Dossier_Batigest | | +C_ConnecteurBatigest +C_ConnecteurBddBatigest +FI_Parametrage_Batigest +| Bouvard | ETAT_GrandeFiche2_BOUVARD | | +| ------- | ------------------------- | --- | +ETAT_PetiteFiche2_BOUVARD +| Choix | FEN_Choix_Couleur | | +| ----- | ----------------- | --- | +FEN_Popup_Calendrier +FEN_Popup_Saisie_Durée +| 06/08/2026 | Isis_BO | 14 | +| ---------- | ------- | --- | + +Partie 1 › Projet › Liste des Perso-Dossiers +Perso-Dossier Nom +FEN_Popup_Saisie_Heure +| Client | FI_Fiche_Client | | +| ------ | --------------- | --- | +FI_Liste_Client +FI_Liste_Client_V2 +| Collaborateur | FEN_Collaborateur | | +| ------------- | ----------------- | --- | +FEN_MobileInscription +FI_CollaborateurListe +FI_Fiche_Collaborateur +FI_Liste_Collaborateur +FI_Parametrage_Email +| Contact | FI_Fiche_Personne | | +| ------- | ----------------- | --- | +FI_Liste_Personne +| Dossier | FI_Fiche_Dossier | | +| ------- | ---------------- | --- | +FI_Fiche_DossierV1 +FI_Liste_Dossier +| Equipe | FI_Fiche_Equipe | | +| ------ | --------------- | --- | +FI_Liste_Equipe +| Extraction donnees | FEN_Extraction_Donnees | | +| ------------------ | ------------------------------ | --- | +| Fiche Parametres | FEN_Fiche_Parametre_Status_RDV | | +FEN_Fiche_Parametre_Type_Activite +FEN_Fiche_Parametre_Type_temps +| Intervention | ETAT_FicheDeplacement | | +| ------------ | --------------------- | --- | +ETAT_FicheIntervention +FI_EmailNouveau +FI_EmailVisualiser +FI_Fiche_Document +FI_Fiche_Intervention +FI_GalerieDocument +FI_Rapport_Intervention +| Modele de mails | FEN_Choix_ModeleMail | | +| --------------- | -------------------- | --- | +FEN_ModEmail_ChoixCatégories +FEN_ParamModeleMail +MMailCat +MModeleEmail +PF_ModeleEmail +| 06/08/2026 | Isis_BO | 15 | +| ---------- | ------- | --- | + +Partie 1 › Projet › Liste des Perso-Dossiers +Perso-Dossier Nom +LIB_ModelesEmails +FI_ModEmail_Gestion +FI_RubanTT_Mails +Parametrage Utilisateur FEN_Choix_Clb_AGD +FEN_Parametres_Dossier +FEN_Parametres_Granularite_RDV +Parametres FEN_Choix_Couleur_Param +FEN_Fiche +FI_Parametrage +FI_Parametrage_CategorieDoc +FI_Parametrage_Profil +FI_Parametres_Service +Planning FEN_AGD_PL +FEN_Agenda +FEN_Date_CR +FEN_Fiche_RDV_F +FEN_Modification_Date_Groupe +FEN_Question_Modif_RDV +FI_AG_OU_PL +FI_Agenda +FI_AgendaPlanning +FI_Fiche_Rdv +FI_RDV +PopUp FEN_Choix_Collab_Responsable +FEN_Choix_Colonne_Et_Tri +FEN_Choix_Contact_Site +FEN_Choix_ContactMessageExterne +FEN_Choix_ContactUtilisateurs +FEN_Choix_ElementModeleMail +FEN_Choix_Equipe_Collaborateur +FEN_Choix_Impression_Agenda +FEN_Choix_ModeleEtat_Intervention +FEN_Choix_ModeleRapport_Intervention +FEN_Choix_Parametre_Metier +FEN_Choix_Resultat_Recherche +06/08/2026 Isis_BO 16 + +Partie 1 › Projet › Liste des Perso-Dossiers +Perso-Dossier Nom +FEN_Choix_Role_Personne +FEN_Choix_Societe +FEN_Choix_Societe_Collaborateur +FEN_Choix_Tous_Collaborateurs +FEN_ChoixCalendrier +FEN_Confirmation_Suppression +FEN_Reduire_Image +FEN_Type +Rapport FEN_Liste_Rapport_Mobile +FEN_Mot_Cle_Rapport +FEN_Parametrage_ModeleRapport +FI_Modele_Rapport +Saisie des temps FEN_ChoixCalendrierTps +FEN_Exporter_Temps_CSV +FEN_Liste_Collaborateurs_Temps +FEN_Saisie_Temps +FI_Agenda_Suivi_Temps +FI_Saisie_Temps_Def +FI_Temps_Saisie +Site FI_Fiche_Lieu +FI_Liste_Lieu +Slamm ETAT_FicheDeplacement_SLAMM_1 +ETAT_FicheDeplacement_SLAMM_2 +ETAT_FicheDeplacement_SLAMM_3 +ETAT_FicheDeplacement_SLAMM_4 +ETAT_FicheIntervention_SLAMM_1 +ETAT_FicheIntervention_SLAMM_2 +ETAT_FicheIntervention_SLAMM_3 +ETAT_FicheIntervention_SLAMM_4 +Societe FI_Fiche_Societe +FI_Liste_Societe +Tableaux de Bord FI_TdbPrincipal_Client_Non_Batigest +FI_TdBPrincipal_Collaborateur_Inactif +FI_TdBPrincipal_DerniersClients +FI_TdBPrincipal_DerniersClients_Suppr +06/08/2026 Isis_BO 17 + +Partie 1 › Projet › Liste des Perso-Dossiers +Perso-Dossier Nom +FI_TdBPrincipal_GrapheNbDossierParCateg +FI_TdBPrincipal_IntervDuJour +FI_TdbPrincipal_Intervention_Non_Batigest +FI_TdBPrincipal_Logo +FI_TdbPrincipal_RDV_Manque +FI_TdBPrincipal_RDV_Non_Positionne +Projet +Code +Initialisation de Isis_BO +constante +libVersionBarreMessage = "ver : %1" +libIdBarreMessage = "id : %1" +libDateBarreMessage = "Modifié le %1 par %2" +Mdp1 = "62" +Mdp2 = "Langénieux" +Mdp3 = "eBdFfDxVfB" +RepertoireDocument = "CHEMIN_REPERTOIRE_BASE_DOCUMENTS" +FormatRepClient = "FORMAT_REPERTOIRE_CLIENT" +FormatRepIntervention = "FORMAT_REPERTOIRE_INTERVENTION" +FormatRepDocument = "FORMAT_REPERTOIRE_DOCUMENTS" +VersionProjet = "1.13.00.0" //22/05/2025 +gcSuperUser = "superuser" +gcSUperUserPass = "F911-Q927-K880-N196" +groupeConnexion = "GROUPE_CONNEXION" +groupeAdminClient = "GROUPE_ADMIN_CLIENT" +groupeUserClient = "GROUPE_USER_CLIENT" +baliseSigMailD = "" +baliseSigMailF = "" +NBPixelesXMilimetres = 3.7795275591 +IdNoteAdministrative = 1000 +fin +cURLWSLicence est une chaîne ANSI +gLOGO_FOND_CLAIR est une Image +gLOGO_FOND_SOMBREest une Image +//gLOGO_FOND_CLAIR..Image = "inter venir_logo_gd.svg" +//gLOGO_FOND_SOMBRE..Image = "inter venir_logo_gd.svg" +gLOGO_FOND_CLAIR..Image = "LOGO_FOND_CLAIR.png" +gLOGO_FOND_SOMBRE..Image = "LOGO_FOND_SOMBRE.png" +gbFichierCryptés est un booléen =Vrai + +constante +06/08/2026 Isis_BO 18 + +Partie 1 › Projet › Code +RepertoireIni = "Isis" +NomFichierIni = "Isis.ini" +cNomProduit = "Isis" +fin +si pas EnModeTest() alors +cURLWSLicence = " +https://crm.artisanspartenaires.com/WS_LICENCE_WEB/awws/WS_LICENCE.awws" +fin +gLOGO_FOND_CLAIR..Image = "LOGO_FOND_CLAIR.png" +gLOGO_FOND_SOMBRE..Image = "LOGO_FOND_SOMBRE.png" +gbFichierCryptés = Faux + + +constante +RepertoireIni = "Batik" +NomFichierIni = "BOUVARD.ini" +cNomProduit = "Batik" +fin +si pas EnModeTest() alors +cURLWSLicence = " +https://intervenir.entreprise-bouvard.com/WS_LICINTER_V1_WEB/awws/WS_LICINTER_V1.awws" +fin + + +constante +RepertoireIni = "Batik" +NomFichierIni = "SLAMM.ini" +cNomProduit = "Batik" +fin +si pas EnModeTest() alors +cURLWSLicence = " +https://intervenir.slamm-bergeroux.com/WS_LICINTER_V1_WEB/awws/WS_LICINTER_V1.awws" +fin + + +constante +RepertoireIni = "Batik" +NomFichierIni = "Batik.ini" +cNomProduit = "Batik" +fin + + +constante +RepertoireIni = "Batik" +NomFichierIni = "Batik.ini" +cNomProduit = "HeuresBatik" +fin + +si EnModeTest() alors +//cURLWSLicence = " +https://intervenir.fr/BATIK_WS_LICENCE_MOBILE_WEB/awws/BATIK_WS_LICENCE_MOBILE.awws" +cURLWSLicence = "https://batik.applilogik.fr/WS_LICENCE_WEB/awws/WS_LICENCE.awws" +fin +//// Intégrer les fichiers "KeyConst.WL" et "WinConst.WL" +externe "KeyConst.WL" +externe "WinConst.WL" +gsaFicIni est une chaîne ANSI = ComplèteRep(fRepGlobalCommun)+RepertoireIni+["\"]+ +06/08/2026 Isis_BO 19 + +Partie 1 › Projet › Code +NomFichierIni +//SI EnModeTest() ALORS TraceDébut(trFichier,"c:\temp\trace.txt") +//*****************Liste des méthodes d'appel des fenêtres interne******************* +ETypeAppelFenetreest une Enumération +| Libre | | // Libre | = non précisé | | | +| ----------- | --- | -------------- | ------------- | --- | --- | +| DansFenetre | | // DansFenetre | | | | += utilise une Fenêtre contenant un Champ Fenêtre Interne +| DansChampFI | | // DansChampFI | | | | +| ----------- | --- | -------------- | --- | --- | --- | += utilise un Champ Fenêtre Interne dans une Fenêtre Interne +| DansOnglet | | // DansOnglet | = utilise un Onglet Dynamique | | | +| ---------- | --- | ------------- | ----------------------------- | --- | --- | +fin +//*****************Liste des modes d'appel des fenêtres interne de type PFiche******************* +EModeAppelFiche est une Enumération +| FicheEnAjout | | // | | | | +| ------------ | --- | --- | --- | --- | --- | +Utilise la méthode Nouveau à partir d'une PTable... pour générér une PFiche... +| FicheEnAjoutCustom | | // | | | | +| ------------------ | --- | --- | --- | --- | --- | +Utilise la méthode NouveauCustom à partir d'une PTable... pour générér une PFiche... +| FicheEnModification | | // | | | | +| ------------------- | --- | --- | --- | --- | --- | +Utilise la méthode Modifier à partir d'une PTable... pour générér une PFiche... +| FicheEnModifCustom | | // | | | | +| ------------------ | --- | --- | --- | --- | --- | +Utilise la méthode ModifierCustom à partir d'une PTable... pour générér une PFiche... +fin +ETypeFiltre est une Enumération +tfMilieutexte +tfFinTexte +tfDebutTexte +tfTexteComplet +tfDate +tfNumerique +tfBooleen +tfnull +tfDansRequete +tfPasNull +tfPeriode +tfDansListe +tfExiste +tfPeriodeLarge +tfExistePas +fin +//*****************Structure des variables passées en paramètre des fenêtre interne******************* +STParamFenetreAppelante est une Structure +| eTypeAppel | est un ETypeAppelFenetre | | | // | | +| ---------- | ------------------------ | --- | --- | --- | --- | +Indique la méthode d'appel de la fenêtre +| sNomFenetreAppelante | est une chaîne | | | // | | +| -------------------- | -------------- | --- | --- | --- | --- | +Indique le nom de la fenêtre qui appel +| sContexteAppelant | est une chaîne | | | // | | +| ----------------- | -------------- | --- | --- | --- | --- | +Indique le contexte dans le lequele on appel la fenêtre (ex: "BTN_Nouveau" ou "BTN_Modifier") +| sNomIDAppelant | est une chaîne | | | // | | +| -------------- | -------------- | --- | --- | --- | --- | +Indique le nom de l'id à utiliser dans la fenêtre interne +| nIdFenetreAppelante | est un entier sur 8 octets | | | // | | +| ------------------- | -------------------------- | --- | --- | --- | --- | +Indique l'id à utiliser dans la fenêtre interne +| gProcMAJRetour | est une procédure | | | // | | +| -------------- | ----------------- | --- | --- | --- | --- | +Indique la procédure callBack à appeler dans le fenêtre interne +| sTitreFenetre | est une chaîne | | | // | | +| ------------- | -------------- | --- | --- | --- | --- | +Indique le titre à afficher dans le fenêtre interne (Ex: "Sélectionnez un client") +| bMultiSelect | est un booléen | | | // | | +| ------------ | -------------- | --- | --- | --- | --- | +Indique si l'utilisateur peut sélectionner plusieurs éléments (pour les fenêtre interne de type +liste rend visible un colonne pour cocher les différents éléments) +| pclObjetAppelant | est un objet dynamique | | | // | | +| ---------------- | ---------------------- | --- | --- | --- | --- | +Indique le pointeur sur l'objet dans le cas où l'on souhaite passer plusieurs paramètres à la +fenêtre interne +| saCodeModelMail | est une chaîne | | | | | +| --------------- | -------------- | ------- | --- | --- | --- | +| 06/08/2026 | | Isis_BO | | | 20 | + +Partie 1 › Projet › Code +| bRafraichit | | est un booléen | | | | | +| ----------- | --- | -------------------------- | --- | --- | --- | --- | +| nIdRenvoye | | est un entier sur 8 octets | | | | // | +Indique l'id renvoyé +| tabIDS | | est un tableau d'entiers sur 8 octets | | | | | +| ------ | --- | ------------------------------------- | --- | --- | --- | --- | +fin +STFicheTempsEtat est une Structure +dDate est une Date +| sRefIntervention | est une chaîne | | | | | | +| ---------------- | -------------- | --- | --- | --- | --- | --- | +| rNbHeure | est un réel | | | | | | +sType est une chaîne +| sDescription | est une chaîne | | | | | | +| ------------ | -------------- | --- | --- | --- | --- | --- | +| rPonderation | est un réel | | | | | | +sNomCollab est une chaîne +fin +| gclErreur | | est un CErreur | | | | | +| ---------------------- | --- | ------------------- | --- | ---------------- | ------------------------ | --- | +| gsCleUser | | est un chaîne | | = Mdp1+Mdp2+Mdp3 | | | +| gsCleMdp | | est une chaîne | | = Mdp1+Mdp3+Mdp2 | | | +| gcnxBO | | est une Connexion | | | // Variable de connexion | | +| gsCodeClient | | est une chaîne | | | | | +| gsLibConnexionCourante | | est une chaîne ANSI | | | | | +| gbBaseCryptée | | est un booléen | | = Vrai | | | +// Suivant que la base soit cryptée ou non +| gsNomPrenomUser | | est une chaîne | | | | | +| --------------- | --- | -------------- | --- | --- | --- | --- | +//gsListeLiaison est une chaine=HListeLiaison("*",hLstDétail)//,*,*,hLstDétail) +| //gsListeGrpFic | | est une chaine=HListePersoDossier() | | | | | +| --------------- | --- | ----------------------------------- | --- | --- | --- | --- | +| gnTotalFichier | | est un entier | | | // | | +Variable stockant le nombre de fichier de l'Analyse +| gbRenomeAncienIni | | est un booléen | | | | | +| ----------------- | --- | ------------------------------------------ | --- | --- | --- | --- | +| gbBATIGESTActif | | est un booléen | | | | | +| gProcInfoUser | | est une procédure= DonneUtilisateurEnCours | | | | | +| gProcEquipeCollab | | est une procédure= ChargeListeEquipeCollab | | | | | +gProcSocieteCollab est une procédure= ChargeListeSocieteCollab +| gProcLibTypeTemps | | est une procédure= DonneLibTypeTemps | | | | | +| ----------------- | --- | ------------------------------------ | --- | --- | --- | --- | +gProcDonneCollabUser est une procédure= DonneCollaborateurUtilisateur +//Variable stockant le numéro de version +| gsInfoVersion | | est une chaîne | | | | | +| ------------- | --- | -------------- | --- | --- | --- | --- | +gsPreferenceAgdUt est une chaîne ANSI = "Planning" // par defaut +//gsInfoVersion +est une chaîne=EnModeTest ? ComposantInfo("", ciVersion,fRepExe+"\"+cNomProduit+".exe +") SINON ExeInfo(exeVersion) +//******************************Fichier INI****************************************************** +//Variable listant les sections du fichiers Ini +| //gsListeSection | | est une chaine | | | | | +| ---------------- | --- | -------------- | --- | --- | --- | --- | += INILit("","","",ComplèteRep(fRepGlobalCommun)+RepertoireIni+["\"]+NomFichierIni) +| //gsListeMotCle | | est une chaine | | | | | +| ------------------ | ---------------------------------- | -------------- | --- | --- | --- | --- | +| //gsListeConnexion | est un tableau de STparamConnexion | | | | | | +//----------------------------------------------------------------------------------------------------- +--------------------------------------------- +//--------------------------------------------------- Gestion des paramètres métiers +--------------------------------------------------------------- +//----------------------------------------------------------------------------------------------------- +--------------------------------------------- +| ST_TypeParam | | est une Structure | | | | | +| ------------ | -------------- | ----------------- | -------------------------------- | --- | --- | --- | +| sLibelle | est une chaîne | | //Libellé | | | | +| bSystem | est un booléen | | //Flag réservé au System | | | | +| nOrdre | est un entier | | //Ordre pour le tri en affichage | | | | +| 06/08/2026 | | | Isis_BO | | | 21 | + +Partie 1 › Projet › Code +| sNote | est une chaîne ANSI | //Description du paramètre | | +| ----- | ------------------- | -------------------------- | --- | +bCodeVisible est un booléen //Vrai si le code doit être visible +| bCodeEditable | est un booléen | //Vrai si le code est éditable | | +| ------------- | -------------- | ------------------------------ | --- | +nCodeChrono est un entier //Numéro du dernier code généré (afin de ne pas +regénérer des codes ayant éxistés si les derniers) +//Proposition pour le calcul auto des codes +sCodeFormat est une chaîne //; ; ; Ex: "1;S;P;3" pour des codes de "05.S001" à "05.S999" et "05.P001" à +"05.P999" +//Si non précisé, le code est un numéro issu de l'incrémentation de nCodeChrono +fin +constante +cPM_01_ChampsPerso = "01" +| cPM_02_ClientType | = "02" | | | +| ----------------- | ------ | --- | --- | +cPM_03_ClientStatut = "03" +cPM_04_AdresseType = "04" +cPM_05_Civilite = "05" +cPM_06_DossierType = "06" +| cPM_07_DossierStatut | = "07" | | | +| -------------------- | ------ | --- | --- | +cPM_08_LieuType = "08" +cPM_09_DestDemande = "09" +cPM_10_Priorité = "10" +cPM_11_Role = "11" +| cPM_12_IntervType | = "12" | | | +| ----------------- | ------ | --- | --- | +| cPM_13_IntervEtat | = "13" | | | +cPM_14_RdvType = "14" +| cPM_15_RdvStatut | = "15" | | | +| ----------------- | ------ | --- | --- | +| cPM_16_ActionType | = "16" | | | +cPM_17_DocCategorie = "17" +| cPM_18_TempsType | = "18" | | | +| ----------------- | ------ | --- | --- | +| cPM_19_UserProfil | = "19" | | | +cPM_20_CollabStatut = "20" +| cPM_21_ParamType | = "21" | | | +| ---------------- | ------ | --- | --- | +cPM_22_ModelEtatInterv = "22" +cPM_23_ModelRapport = "23" +//cPM_24_PresenceEtat= "24" +cPM_24_DocEtat = "24" +cPM_25_ModelEtatIntRdv = "25" +cPM_26_SeuilAffichage= "26" +cPM_27_PeriodeAffichage = "27" +cPM_MM_MailCat = "MC" +fin +//Variable stockant le numéro de version +gpclListeParamMetier est un PTableParametreMetier dynamique +//Variable contenant la Liste des Champs personnalisés +gpclListeChampPerso est un PTableParametreMetier dynamique // +//Variable contenant la Liste des Types de client +gpclListeTypeClient est un PTableParametreMetier dynamique +//Variable contenant la Liste des Statuts d'un client +gpclListeStatutClient est un PTableParametreMetier dynamique +//Variable contenant la Liste des Types d'adresse +gpclListeTypeAdresse est un PTableParametreMetier dynamique +//Variable contenant la Liste des Rôles d'un contact +gpclListeRoleContact est un PTableParametreMetier dynamique +//Variable contenant la Liste des Civilités +gpclListeCivilite est un PTableParametreMetier dynamique +//Variable contenant la Liste des Statut d'une demande +gpclListeTypeDossier est un PTableParametreMetier dynamique +| 06/08/2026 | | Isis_BO | 22 | +| ---------- | --- | ------- | --- | + +Partie 1 › Projet › Code +//Variable contenant la Liste des Statut d'une demande +gpclListeStatutDossier est un PTableParametreMetier dynamique +//Variable contenant la Liste des types de lieu +gpclListeTypeLieu est un PTableParametreMetier dynamique +//Variable contenant la Liste des Destination d'une demande +//gpclListeDestinationDemande est un PTableParametreMetier dynamique +//Variable contenant la Liste des Types d'intervention +gpclListeTypeIntervention est un PTableParametreMetier dynamique +//Variable contenant la Liste des Etats d'intervention +gpclListeEtatIntervention est un PTableParametreMetier dynamique +//Variable contenant la Liste des niveau de priorité des demandes +gpclListeNivPriorite est un PTableParametreMetier dynamique +//Variable contenant la Liste des type de rendez-vous +gpclListeTypeRendezVous est un PTableParametreMetier dynamique +//Variable contenant la Liste des Statuts des rendez-vous +gpclListeStatutRendezVous est un PTableParametreMetier dynamique +gtaStatutRDV est un tableau associatif (*, *, wlEntier) de chaînes +//Variable contenant la Liste des types d'action +gpclListeTypeAction est un PTableParametreMetier dynamique +//Variable contenant la Liste des catégories de document +gpclListeCategorieDocument est un PTableParametreMetier dynamique +//Variable contenant la Liste des types de saisie des temps +gpclListeTypeTemps est un PTableParametreMetier dynamique +//Variable contenant la Liste des profils utilisateur +gpclListeProfilUser est un PTableParametreMetier dynamique +//Variable contenant la Liste des statuts des collaborateurs +gpclListeStatutCollab est un PTableParametreMetier dynamique +//Variable contenant la Liste des modèles d'états pour l'intervention +gpclListeModelEtatInterv est un PTableParametreMetier dynamique +//Variable contenant la Liste des modèles de rapport pour l'intervention +gpclListeModelRapportInterv est un PTableParametreMetier dynamique +//Variable contenant la Liste des états de documents +gpclListeEtatDocument est un PTableParametreMetier dynamique +//Variable contenant la Liste des catégories de document sans rapport +gclListeCategorieDocHorsRapport est un PTableParametreMetier dynamique +//Variable contenant la Liste des modèles d'états pour l'intervention +gpclListeModelEtatIntervRdv est un PTableParametreMetier dynamique +//Variable contenant la Liste du seuil d'affichage des listes +gpclListeSeuilAffichageListe est un PTableParametreMetier dynamique +//Variable contenant la Liste des période d'affichage des listes +gpclListePeriodeAffichageListe est un PTableParametreMetier dynamique +//Variable contenant la Liste des catégories de modèles de mail +gpclListeCategorieModelMail est un PTableParametreMetier dynamique +//Variable contenant la Liste des apporteur client ##SPEC ArtisansPartenaires## +gpclListeApporteurClient est un PTableParametreMetier dynamique +//Variable contenant la Liste des origine client ##SPEC ArtisansPartenaires## +gpclListeOrigineClient est un PTableParametreMetier dynamique +//Variable contenant la Liste des type de signataire CR ##SPEC ArtisansPartenaires## +gpclListeTypeSignataireCR est un PTableParametreMetier dynamique +//Variable contenant la Liste des modes de règlements client ##SPEC ArtisansPartenaires## +gpclListeModeReglementCli est un PTableParametreMetier dynamique +//Variable qui stock les informations de l'utilisateur connecté +gpclFicheUtilisateurEnCours est un PFicheUtilisateur dynamique +gpclFichePrefMessagerie est un PFicheParametreUtilisateur dynamique +//gpclFicParamEnvoiEmail est un PFicheParametreUtilisateur dynamique +gstConfigEnvoiEmail est un STParamEnvoiEmail +//Variable qui stock l'ensemble des sociétés +gpclListeSociete est un PTableSociete dynamique +//Variable qui stock l'ensemble des Utilisateur Avec et Sans Collab +gpclListeUtilisateur est un PTableUtilisateur dynamique +06/08/2026 Isis_BO 23 + +Partie 1 › Projet › Code +//Variable qui stock l'ensemble des Collaborateurs actifs +gpclListeCollabActif est un PTableCollaborateur dynamique +gpclListeTOUTCollab est un PTableCollaborateur dynamique +//Variable qui stock l'ensemble des Collaborateurs +gpclListeSuiviPar est un PTableCollaborateur dynamique +//Variable qui stock l'ensemble des Paramètres Application +gpclListeParamAppli est un PTableParametreApplication dynamique +gclBaseExterne est un PFicheBddExterne dynamique +gtaBaseExterneParNom est un tableau associatif(*,*,wlChaîne) de PFicheBddExterne dynamique +gtaBaseExterneParSoc est un tableau associatif(*,*,wlEntier_8) de PFicheBddExterne +dynamique +gtaBaseExterneParIndice est un tableau associatif(*,*,wlEntier) de PFicheBddExterne +dynamique +gbThreadFinListeDossier est un booléen, section critique +gbThreadFinListeContact est un booléen, section critique +gbThreadFinListeLieu est un booléen, section critique +gbThreadFinListeClient est un booléen, section critique +gbThreadFinListeLieuGlobal est un booléen, section critique +gbThreadFinListeLieuClient est un booléen, section critique +gbThreadFinListeDossierGlobal est un booléen, section critique +gbThreadFinListePersonneGlobal est un booléen, section critique +gbThreadFinListeClientGlobal est un booléen, section critique +gtabListeTypeRendezVousJSON est un tableau associatif de ST_TypeActiviteRDV +//TraceDébut(trFichier,ComplèteRep(fRepGlobalCommun)+RepertoireIni+["\"] +"Logs_" + DateHeureSys() + " +.txt") +DélaiAvantFermeture(1000) +FenTauxGFI(80) +FenActiveGFI(Vrai) +// Désactive la gestion automatique des erreurs de blocage par HFSQL +HSurErreur("*",hErrBlocage,"") + +gsaFicIni = ComplèteRep(fRepExe)+RepertoireIni+["\"]+NomFichierIni + +si pas EnModeTest() alors +gsServeurBatik est une chaîne ANSI = INILit("SysLog","Serveur","",gsaFicIni) +gsPortServeurBatik est une chaîne ANSI = INILit("SysLog","Port","",gsaFicIni) +//Configuration du composant Syslog utilisé pour tracer l'application dans la base SYSLOG +LogConnecteBase(gsServeurBatik+":"+gsPortServeurBatik,"AdminSyslog","AdminSyslog","SYSLOG",Faux,"") +LogInitialise(ExeInfo(exeNom),NetNomMachine(),RéseauUtilisateur()) +LogEcrit("Démarrage",eInfo) +fin +gnIdDossierAnnule est un entier sur 8 octets +//Ouvre la base par défaut pour permettre les tests unitaires de fenêtres et autres +"Utilitaire" et Configuration<>"SLAMM_RecupHeures"> +si EnModeTest() alors +OuvreConnexionDeDev(1) +ChargeParametreMetier() +gpclListeSociete <-PTableSociete.gNouvellePresentation(0) //Charge le tableau des sociétés +gpclFicheUtilisateurEnCours = PFicheUtilisateur.gNouvellePresentation() +HLitRecherchePremier(Utilisateur,UT_Login,"EGI") +gpclFicheUtilisateurEnCours.Charger(Utilisateur) +fin + +06/08/2026 Isis_BO 24 + +Partie 1 › Projet › Code +OuvreConnexionDeDev(1)// Batik +// Pour les bases de données test +//OuvreConnexionDeDev(2)// Isis +//OuvreConnexionDeDev(3)// Slamm +//OuvreConnexionDeDev(4)// Bouvard + +HGèreJournal("*", Faux) +Fermeture de Isis_BO +si TélémétrieEstActive() = Vrai alors TélémétrieDésactive() +Projet +Statistiques sur le code +| | | ¹ .mmoc % | ¹ .tiart/.giL | +| --- | --- | --------- | ------------- | +¹ sengiL +| COL_COMMUN | | 444 22 | 48 | +| ---------- | --- | ------ | --- | +163 +| COL_CONNEXION | | 40 | 38 | +| -------------- | --- | ------ | --- | +| COL_Constantes | | 133 5 | 133 | +| COL_DOCUMENT | | 154 36 | 49 | +| COL_EXPORT | | 107 1 | 107 | +| COL_HFSQL | | 303 24 | 37 | +177 +| COL_IHM | | 42 | 36 | +| ------------------------------- | ------- | ------ | --- | +| COL_JSON_INFO | | 146 0 | 146 | +| COL_MOBILE | | 192 7 | 192 | +| COL_PrefAGD | | 234 0 | 117 | +| COL_Structures | | 221 0 | 221 | +| COL_TEMPORAIRE | | 266 33 | 33 | +| COL_THREAD | | 211 25 | 70 | +| COL_VERSION | | 573 22 | 95 | +| COL_Visite | | 301 1 | 100 | +| LIB_ModelesEmails | | 693 17 | 69 | +| LIB_Synchro | | 108 25 | 180 | +| FEN_AGD_PL | | 212 3 | 212 | +| FEN_Agenda | | 206 0 | 206 | +| FEN_ChoixCalendrier | | 241 6 | 60 | +| FEN_ChoixCalendrierTps | | 224 3 | 44 | +| FEN_ChoixFenetreInterne | | 353 12 | 353 | +| FEN_Choix_Clb_AGD | | 932 11 | 21 | +| FEN_Choix_Collab_Responsable | | 315 4 | 45 | +| FEN_Choix_Colonne_Et_Tri | | 571 22 | 28 | +| FEN_Choix_ContactMessageExterne | | 383 12 | 63 | +| FEN_Choix_ContactUtilisateurs | | 331 7 | 55 | +| FEN_Choix_Contact_Site | | 356 17 | 29 | +| FEN_Choix_Couleur | | 249 0 | 49 | +| 06/08/2026 | Isis_BO | | 25 | + +Partie 1 › Projet › Statistiques sur le code +| | | ¹ .mmoc % | ¹ .tiart/.giL | +| --- | --- | --------- | ------------- | +¹ sengiL +| FEN_Choix_Couleur_Param | | 260 0 | 52 | +| ------------------------------------ | ------- | ------ | --- | +| FEN_Choix_Dossier_Batigest | | 298 1 | 37 | +| FEN_Choix_ElementModeleMail | | 371 22 | 53 | +| FEN_Choix_Equipe_Collaborateur | | 530 8 | 35 | +| FEN_Choix_Impression_Agenda | | 253 2 | 84 | +| FEN_Choix_ModeleEtat_Intervention | | 332 8 | 47 | +| FEN_Choix_ModeleMail | | 326 14 | 46 | +| FEN_Choix_ModeleRapport_Intervention | | 322 4 | 40 | +| FEN_Choix_Parametre_Metier | | 335 7 | 47 | +| FEN_Choix_Resultat_Recherche | | 372 11 | 46 | +| FEN_Choix_Role_Personne | | 327 4 | 46 | +| FEN_Choix_Societe | | 384 17 | 48 | +| FEN_Choix_Societe_Collaborateur | | 357 9 | 39 | +| FEN_Choix_Tous_Collaborateurs | | 379 1 | 63 | +| FEN_Collaborateur | | 123 8 | 19 | +| FEN_Confirmation_Suppression | | 266 2 | 53 | +| FEN_Date_CR | | 336 3 | 33 | +| FEN_Exporter_Temps_CSV | | 107 5 | 53 | +| FEN_Extraction_Donnees | | 605 9 | 13 | +| FEN_Fiche | | 261 0 | 261 | +| FEN_Fiche_Parametre_Status_RDV | | 312 4 | 44 | +| FEN_Fiche_Parametre_Type_Activite | | 354 12 | 20 | +| FEN_Fiche_Parametre_Type_temps | | 468 16 | 15 | +| FEN_Fiche_RDV_F | | 432 5 | 18 | +| FEN_Liste_Collaborateurs_Temps | | 316 7 | 45 | +| FEN_Liste_Rapport_Mobile | | 147 6 | 36 | +| FEN_Login | | 436 7 | 72 | +| FEN_Login1 | | 437 9 | 54 | +| FEN_LoginOLD | | 439 9 | 54 | +| FEN_Maquette_checklist | | 435 18 | 43 | +| FEN_Menu | | 108 30 | 31 | +| FEN_MobileInscription | | 345 8 | 57 | +| FEN_ModEmail_ChoixCatégories | | 327 3 | 46 | +| FEN_Modele | | 285 0 | 285 | +| FEN_ModelesChamps | | 411 15 | 6 | +| FEN_Modification_Date_Groupe | | 740 6 | 27 | +| FEN_Mot_Cle_Rapport | | 352 6 | 29 | +| FEN_ParamModeleMail | | 297 0 | 42 | +| FEN_Parametrage_ModeleRapport | | 297 0 | 42 | +| FEN_Parametres_Dossier | | 342 3 | 31 | +| FEN_Parametres_Granularite_RDV | | 466 10 | 14 | +| FEN_Popup_Calendrier | | 395 8 | 23 | +| FEN_Popup_Saisie_Durée | | 331 5 | 36 | +| FEN_Popup_Saisie_Heure | | 331 4 | 47 | +| FEN_Question_Modif_RDV | | 320 5 | 32 | +| FEN_Reduire_Image | | 373 1 | 41 | +| FEN_Saisie_Temps | | 490 3 | 32 | +| FEN_SlammHeures | | 728 6 | 72 | +| 06/08/2026 | Isis_BO | | 26 | + +Partie 1 › Projet › Statistiques sur le code +| | | ¹ .mmoc % | ¹ .tiart/.giL | +| --- | --- | --------- | ------------- | +¹ sengiL +| FEN_TestSusana | | 131 16 | 59 | +| -------------- | --- | ------ | --- | +| FEN_Type | | 324 0 | 64 | +103 +| FEN_Utilitaire | | 7 | 47 | +| --------------------- | --- | ------ | --- | +| WinDevDialogBox | | 859 20 | 42 | +| WinDevMessageBox | | 542 18 | 60 | +| FI_AG_OU_PL | | 375 0 | 75 | +| FI_Agenda | | 865 6 | 17 | +| FI_Agenda3 | | 307 23 | 48 | +| FI_AgendaPlanning | | 116 12 | 21 | +| FI_Agenda_Suivi_Temps | | 130 14 | 25 | +| FI_CollaborateurListe | | 553 11 | 55 | +105 +| FI_EmailNouveau | | 24 | 36 | +| ---------------------- | --- | ------ | --- | +| FI_EmailVisualiser | | 547 18 | 91 | +| FI_Fiche_Client | | 246 32 | 15 | +| FI_Fiche_Collaborateur | | 139 26 | 17 | +| FI_Fiche_Document | | 688 5 | 45 | +| FI_Fiche_Dossier | | 129 23 | 25 | +| FI_Fiche_DossierV1 | | 175 27 | 33 | +| FI_Fiche_Equipe | | 841 13 | 24 | +524 +| FI_Fiche_Intervention | | 41 | 22 | +| --------------------- | --- | --- | --- | +132 +| FI_Fiche_Lieu | | 20 | 17 | +| ---------------------- | --- | ------ | --- | +| FI_Fiche_Personne | | 129 21 | 16 | +| FI_Fiche_Rdv | | 216 23 | 29 | +| FI_Fiche_Societe | | 142 23 | 18 | +| FI_GalerieDocument | | 740 12 | 74 | +| FI_Liste_Client | | 163 29 | 13 | +| FI_Liste_Client_V2 | | 167 39 | 8 | +| FI_Liste_Collaborateur | | 878 12 | 51 | +136 +| FI_Liste_Dossier | | 22 | 11 | +| ----------------- | --- | ------ | --- | +| FI_Liste_Equipe | | 867 13 | 57 | +| FI_Liste_Lieu | | 161 26 | 20 | +| FI_Liste_Personne | | 174 28 | 24 | +| FI_Liste_Societe | | 876 10 | 54 | +125 +| FI_Listing_Intervention | | 16 | 12 | +| ----------------------- | --- | ------ | --- | +| FI_ModEmail_Gestion | | 118 4 | 38 | +| FI_Modele_Rapport | | 907 9 | 50 | +| FI_Parametrage | | 165 27 | 31 | +158 +| FI_Parametrage_Batigest | | 15 | 93 | +| --------------------------- | --- | ----- | --- | +| FI_Parametrage_CategorieDoc | | 736 0 | 736 | +| FI_Parametrage_Email | | 883 3 | 147 | +| FI_Parametrage_Profil | | 879 9 | 125 | +| FI_Parametres_Service | | 801 1 | 53 | +295 +| FI_Planning | | 14 | 46 | +| ----------------------- | --- | ------ | --- | +| FI_RDV | | 797 2 | 199 | +| FI_Rapport_Intervention | | 156 28 | 50 | +| FI_ResultatsRecherche | | 112 9 | 46 | +308 +| FI_RubanTT_Mails | | 10 | 11 | +| ------------------- | ------- | ------ | --- | +| FI_Saisie_Temps_Def | | 272 25 | 46 | +| 06/08/2026 | Isis_BO | | 27 | + +Partie 1 › Projet › Statistiques sur le code +| | | ¹ .mmoc % | ¹ .tiart/.giL | +| --- | --- | --------- | ------------- | +¹ sengiL +| FI_TdBPrincipal_Collaborateur_Inactif | | 866 4 | 86 | +| ----------------------------------------- | --- | ----- | --- | +| FI_TdBPrincipal_DerniersClients | | 794 2 | 397 | +| FI_TdBPrincipal_DerniersClients_Suppr | | 836 4 | 418 | +| FI_TdBPrincipal_GrapheNbDossierParCateg | | 799 2 | 399 | +| FI_TdBPrincipal_IntervDuJour | | 805 1 | 402 | +| FI_TdBPrincipal_Logo | | 768 0 | 768 | +| FI_TdBPrincipal_RDV_Non_Positionne | | 862 3 | 143 | +| FI_TdbPrincipal_Client_Non_Batigest | | 840 4 | 120 | +| FI_TdbPrincipal_Intervention_Non_Batigest | | 861 3 | 143 | +| FI_TdbPrincipal_RDV_Manque | | 864 5 | 108 | +204 +| FI_Temps_Saisie | | 10 | 28 | +| --------------------------- | ------- | ------ | --- | +| FI_Vierge | | 768 0 | 0 | +| FI_WinDevFAA_RubanTT | | 310 10 | 11 | +| FI_WinDevVueRDV | | 810 2 | 270 | +| Modèle_FenêtreSimple | | 781 0 | 0 | +| MDLC_EnteteBloc | | 781 0 | 0 | +| Isis_BO | | 113 10 | 565 | +| CErreur | | 909 3 | 75 | +| C_ConnecteurBatigest | | 102 3 | 51 | +| C_ConnecteurBddBatigest | | 875 1 | 125 | +| MAccesEtDroit | | 849 0 | 169 | +| MAction | | 851 0 | 170 | +| MAdresse | | 915 3 | 130 | +| MBase | | 121 15 | 50 | +| MBddExterne | | 851 0 | 170 | +| MCheckList | | 869 0 | 144 | +| MCheckList_Collab | | 851 0 | 170 | +| MClient | | 950 2 | 86 | +| MClient_Adresse | | 907 3 | 151 | +| MClient_BddExterne | | 854 0 | 170 | +| MClient_Lieu | | 908 0 | 90 | +| MCollaborateur | | 101 3 | 77 | +| MCompteRendu | | 864 0 | 172 | +| MDocument | | 909 2 | 113 | +| MDocumentNote | | 854 0 | 170 | +| MDossier | | 907 2 | 151 | +| MDossier_Lieu | | 854 0 | 170 | +| MDossier_Personne | | 904 3 | 150 | +| MEquipe | | 927 2 | 132 | +| MEquipe_Collaborateur | | 867 1 | 173 | +| MEtatCRIntervention | | 850 0 | 283 | +| MEtatFicheDeplacement | | 948 1 | 158 | +| MEtatFicheIntervention | | 901 0 | 225 | +| MEtatIntervention | | 857 0 | 171 | +| MIntervention | | 920 2 | 131 | +| MIntervention_BddExt | | 856 0 | 171 | +| MIntervention_ChampLibre | | 856 0 | 171 | +| MIntervention_Collaborateur | | 855 0 | 171 | +| 06/08/2026 | Isis_BO | | 28 | + +Partie 1 › Projet › Statistiques sur le code +| | | ¹ .mmoc % | ¹ .tiart/.giL | +| --- | --- | --------- | ------------- | +¹ sengiL +| MIntervention_Lot | | 855 0 | 171 | +| ------------------------------------ | ------- | ------ | --- | +| MIntervention_Personne | | 889 0 | 111 | +| MLieu | | 925 1 | 102 | +| MLieu_Personne | | 906 0 | 129 | +| MLot | | 887 0 | 147 | +| MLot_Personne | | 856 0 | 171 | +| MMailCat | | 892 0 | 55 | +| MMailModele | | 859 0 | 171 | +| MMessageExterne | | 864 0 | 172 | +| MMessageInterne | | 856 0 | 171 | +| MModeleEmail | | 905 0 | 47 | +| MParametreApplication | | 855 0 | 171 | +| MParametreMetier | | 896 1 | 99 | +| MParametreMetierEntete | | 859 0 | 171 | +| MParametreUtilisateur | | 854 0 | 170 | +| MPersonne | | 978 4 | 61 | +| MPlanning_RDV_Personne | | 856 0 | 171 | +| MRdv | | 965 1 | 74 | +| MSociete | | 953 3 | 158 | +| MSociete_Collaborateur | | 908 3 | 151 | +| MSuiviDesTemps | | 899 0 | 89 | +| MTableauDeAccesEtDroit | | 987 3 | 123 | +| MTableauDeAction | | 911 2 | 130 | +| MTableauDeAdresse | | 893 2 | 148 | +| MTableauDeCheckList | | 927 2 | 132 | +| MTableauDeCheckList_Collab | | 890 2 | 148 | +| MTableauDeClient | | 112 10 | 93 | +| MTableauDeClient_Adresse | | 902 2 | 150 | +| MTableauDeClient_BddExterne | | 904 2 | 150 | +| MTableauDeClient_Lieu | | 905 2 | 150 | +| MTableauDeCollaborateur | | 126 12 | 74 | +| MTableauDeCompteRendu | | 918 2 | 131 | +| MTableauDeDocument | | 133 12 | 120 | +| MTableauDeDocumentNote | | 902 2 | 150 | +| MTableauDeDossier | | 119 9 | 85 | +| MTableauDeEquipe | | 952 3 | 119 | +| MTableauDeEquipe_Collaborateur | | 959 3 | 119 | +| MTableauDeEtatIntervention | | 922 2 | 131 | +| MTableauDeIntervention | | 107 7 | 97 | +| MTableauDeIntervention_BddExt | | 901 2 | 150 | +| MTableauDeIntervention_ChampLibre | | 928 2 | 132 | +| MTableauDeIntervention_Collaborateur | | 923 2 | 131 | +| MTableauDeIntervention_Lot | | 907 4 | 151 | +| MTableauDeIntervention_Personne | | 955 3 | 119 | +| MTableauDeLieu | | 120 10 | 92 | +| MTableauDeLieu_Personne | | 934 2 | 133 | +| MTableauDeLot | | 932 5 | 133 | +| MTableauDeLot_Personne | | 909 4 | 151 | +| 06/08/2026 | Isis_BO | | 29 | + +Partie 1 › Projet › Statistiques sur le code +| | | ¹ .mmoc % | ¹ .tiart/.giL | +| --- | --- | --------- | ------------- | +¹ sengiL +| MTableauDeMailModele | | 903 2 | 150 | +| ------------------------------- | --- | ------ | --- | +| MTableauDeMessageExterne | | 901 2 | 150 | +| MTableauDeMessageInterne | | 953 3 | 119 | +| MTableauDeParametreApplication | | 900 2 | 150 | +| MTableauDeParametreMetier | | 936 4 | 133 | +| MTableauDeParametreMetierEntete | | 907 2 | 151 | +| MTableauDeParametreUtilisateur | | 901 2 | 150 | +| MTableauDePersonne | | 139 17 | 86 | +| MTableauDePlanning_RDV_Personne | | 932 2 | 155 | +| MTableauDeRDV | | 111 6 | 123 | +101 +| MTableauDeSociete | | 5 | 144 | +| ------------------------------- | --- | ------ | --- | +| MTableauDeSociete_Collaborateur | | 954 3 | 136 | +| MTableauDeSuiviDesTemps | | 100 4 | 126 | +| MTableauDeUtilisateur | | 945 3 | 135 | +| MUtilisateur | | 968 2 | 80 | +| ModeleRapportMobile | | 917 0 | 183 | +| PF_ModeleEmail | | 931 0 | 133 | +| PFicheAccesEtDroit | | 898 1 | 149 | +| PFicheAction | | 955 3 | 136 | +| PFicheAdresse | | 951 3 | 135 | +| PFicheBddExterne | | 908 1 | 151 | +| PFicheCheckList | | 963 3 | 137 | +| PFicheCheckList_Collab | | 943 2 | 157 | +| PFicheClient | | 139 11 | 39 | +102 +| PFicheClient_Adresse | | 5 | 113 | +| ----------------------- | --- | ------ | --- | +| PFicheClient_BddExterne | | 940 1 | 156 | +| PFicheClient_Lieu | | 103 5 | 86 | +| PFicheCollaborateur | | 114 6 | 63 | +| PFicheCompteRendu | | 986 2 | 164 | +| PFicheDocument | | 989 2 | 164 | +| PFicheDocumentNote | | 991 2 | 165 | +| PFicheDossier | | 119 10 | 74 | +| PFicheEquipe | | 108 6 | 60 | +100 +| PFicheEquipe_Collaborateur | | 2 | 167 | +| -------------------------- | --- | ------ | --- | +| PFicheEtatIntervention | | 103 3 | 147 | +| PFicheIntervention | | 266 24 | 28 | +| PFicheIntervention_BddExt | | 102 1 | 170 | +105 +| PFicheIntervention_ChampLibre | | 2 | 176 | +| -------------------------------- | --- | ----- | --- | +| PFicheIntervention_Collaborateur | | 105 2 | 176 | +| PFicheIntervention_Lot | | 106 2 | 133 | +| PFicheIntervention_Personne | | 108 3 | 181 | +| PFicheLieu | | 127 7 | 63 | +115 +| PFicheLieu_Personne | | 5 | 96 | +| ------------------- | --- | ----- | --- | +| PFicheLot | | 115 3 | 76 | +| PFicheLot_Personne | | 108 2 | 181 | +| PFicheMailModele | | 106 1 | 176 | +109 +| PFicheMessageExterne | | 2 | 182 | +| -------------------- | ------- | ----- | --- | +| PFicheMessageInterne | | 109 2 | 182 | +| 06/08/2026 | Isis_BO | | 30 | + +Partie 1 › Projet › Statistiques sur le code +| | | ¹ .mmoc % | ¹ .tiart/.giL | +| --- | --- | --------- | ------------- | +¹ sengiL +| PFicheParametreApplication | | 110 2 | 183 | +| -------------------------- | --- | ----- | --- | +| PFicheParametreMetier | | 113 3 | 125 | +107 +| PFicheParametreMetierEntete | | 1 | 179 | +| --------------------------- | --- | ----- | --- | +| PFicheParametreUtilisateur | | 111 2 | 158 | +| PFichePersonne | | 141 8 | 61 | +| PFichePlanning_RDV_Personne | | 113 2 | 161 | +130 +| PFicheRdv | | 7 | 76 | +| --------------------------- | --- | ----- | --- | +| PFicheSociete | | 125 6 | 69 | +| PFicheSociete_Collaborateur | | 118 4 | 132 | +| PFicheSuiviDesTemps | | 116 3 | 145 | +171 +| PFicheUtilisateur | | 9 | 51 | +| ----------------- | --- | --- | --- | +112 +| PTableAccesEtDroit | | 0 | 102 | +| ------------------ | --- | ----- | --- | +| PTableAction | | 114 1 | 95 | +| PTableAdresse | | 112 0 | 102 | +| PTableCheckList | | 113 0 | 103 | +113 +| PTableCheckList_Collab | | 0 | 103 | +| ----------------------- | --- | ----- | --- | +| PTableClient | | 127 6 | 70 | +| PTableClient_Adresse | | 116 1 | 83 | +| PTableClient_BddExterne | | 114 0 | 104 | +118 +| PTableClient_Lieu | | 2 | 90 | +| ----------------- | --- | --- | --- | +118 +| PTableCollaborateur | | 1 | 90 | +| ------------------- | --- | ----- | --- | +| PTableCompteRendu | | 116 1 | 97 | +| PTableDocument | | 118 1 | 65 | +| PTableDocumentNote | | 115 1 | 105 | +132 +| PTableDossier | | 7 | 66 | +| -------------------------- | --- | ----- | --- | +| PTableEquipe | | 120 2 | 86 | +| PTableEquipe_Collaborateur | | 117 1 | 98 | +| PTableEtatIntervention | | 117 1 | 98 | +119 +| PTableIntervention | | 2 | 91 | +| -------------------------------- | --- | ----- | --- | +| PTableIntervention_BddExt | | 116 0 | 106 | +| PTableIntervention_ChampLibre | | 117 0 | 106 | +| PTableIntervention_Collaborateur | | 117 0 | 106 | +| PTableIntervention_Lot | | 117 1 | 106 | +120 +| PTableIntervention_Personne | | 1 | 92 | +| --------------------------- | --- | ------ | --- | +| PTableLieu | | 140 10 | 73 | +| PTableLieu_Personne | | 133 5 | 83 | +| PTableLot | | 118 0 | 107 | +118 +| PTableLot_Personne | | 0 | 107 | +| -------------------------- | --- | ----- | --- | +| PTableMailModele | | 118 0 | 107 | +| PTableMessageExterne | | 120 1 | 100 | +| PTableMessageInterne | | 119 1 | 108 | +| PTableParametreApplication | | 119 0 | 108 | +139 +| PTableParametreMetier | | 8 | 66 | +| --------------------------- | --- | ----- | --- | +| PTableParametreMetierEntete | | 119 0 | 108 | +| PTableParametreUtilisateur | | 120 0 | 109 | +| PTablePersonne | | 135 5 | 75 | +121 +| PTablePlanning_RDV_Personne | | 0 | 101 | +| --------------------------- | ------- | ----- | --- | +| PTableRDV | | 125 3 | 96 | +| 06/08/2026 | Isis_BO | | 31 | + +Partie 1 › Projet › Statistiques sur le code +| | | ¹ .mmoc % | ¹ .tiart/.giL | +| --- | --- | --------- | ------------- | +¹ sengiL +| PTableSociete | | 126 2 | 79 | +| --------------------------- | --- | ----- | --- | +| PTableSociete_Collaborateur | | 133 4 | 83 | +122 +| PTableSuiviDesTemps | | 0 | 110 | +| ------------------- | --- | ----- | --- | +| PTableUtilisateur | | 130 4 | 100 | +| RapportMobile | | 119 0 | 397 | +| cPressePapier | | 144 2 | 111 | +119 +| EI_COLLAB_INTERVENTION | | 1 | 595 | +| ------------------------------ | --- | ----- | --- | +| EI_COLLAB_RDV | | 119 1 | 595 | +| EI_CONTACT_CLIENT | | 119 1 | 596 | +| EI_CONTACT_CLIENT_PETITE_FICHE | | 119 1 | 596 | +119 +| EI_CONTACT_SITE | | 1 | 597 | +| --------------- | --- | --- | --- | +119 +| EI_CONTACT_SITE_RDV | | 1 | 597 | +| ----------------------------- | --- | ----- | --- | +| EI_FOURNITURE | | 119 0 | 598 | +| ETAT_Agenda_Collaborateur | | 119 0 | 119 | +| ETAT_CompteRendu_Intervention | | 119 0 | 596 | +124 +| ETAT_FicheDeplacement | | 3 | 311 | +| ----------------------------- | --- | ----- | --- | +| ETAT_FicheDeplacement_GAP_1 | | 125 3 | 314 | +| ETAT_FicheDeplacement_SLAMM_1 | | 124 4 | 311 | +| ETAT_FicheDeplacement_SLAMM_2 | | 124 4 | 311 | +120 +| ETAT_FicheDeplacement_SLAMM_3 | | 0 | 401 | +| ----------------------------- | --- | --- | --- | +124 +| ETAT_FicheDeplacement_SLAMM_4 | | 4 | 311 | +| ------------------------------ | --- | ----- | --- | +| ETAT_FicheIntervention | | 124 3 | 415 | +| ETAT_FicheIntervention_SLAMM_1 | | 125 4 | 250 | +| ETAT_FicheIntervention_SLAMM_2 | | 125 4 | 250 | +125 +| ETAT_FicheIntervention_SLAMM_3 | | 4 | 416 | +| ------------------------------ | --- | ------ | --- | +| ETAT_FicheIntervention_SLAMM_4 | | 125 4 | 250 | +| ETAT_GrandeFiche2_BOUVARD | | 121 1 | 304 | +| ETAT_PetiteFiche2_BOUVARD | | 121 1 | 304 | +| | | 119 | 119 | +| ETAT_Planning_Collaborateur | | 0 | | +| ETAT_SuivieDesTemps | | 119 0 | 119 | +| ETAT_WinDevVueRDV | | 119 0 | 119 | +| TEST_PFicheSociete | | 120 0 | 400 | +| | | 894 30 | 14 | +¹ 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 inclus dans le projet +| 06/08/2026 | Isis_BO | | 32 | +| ---------- | ------- | --- | --- | + +Partie 1 › Projet › Composants inclus dans le projet +COMP_SysLog +COMP_SysLog D:\Projets Windev\Batik\WD30\Dev\COMP_SysLog.wdi +Emplacement d'origine D:\Projets Windev\Batik\WD30\Dev\COMP_SysLog.wdi +Propriétaire APPLILOGIK +Version 1.00Aq +Copyright APPLILOGIK 2021 +Email support@applilogik.fr +Initialisation +//Configuration du composant Syslog utilisé pour tracer l'application dans la base SYSLOG +LogConnecteBase("192.168.1.94:4901","AdminSyslog","AdminSyslog","SYSLOG",Faux,"") +LogInitialise("Mon Application",NetNomMachine(),RéseauUtilisateur()) +LogEcrit("Démarrage",eInfo) +Les entrées/sorties du composant : +Liste des procédures +Le composant COMP_SysLog propose les collections de procédures suivantes : +Collection de procédures 'LIB_SysLog' +LogInitialise +LogConnecteBase +LogEcrit +LogFerme +LogDebuteSession +LogNiveau +ActivitéDemarre +ActivitéArrete +ActivitéOK +ActiviteSupprimeTout +LogModeFichier +LogInitFichier +EcritException +LogDesactive +LogActive +Liste des variables globales +Le composant COMP_SysLog propose les variables globales suivantes : +Collection de procédures 'LIB_SysLog' +gcnxBase +06/08/2026 Isis_BO 33 + +Partie 1 › Projet › Composants inclus dans le projet +gnIdApplication +gsaNomApplication +gnIdPoste +gsaNomPoste +gnIdUtilisateur +gsaNomUtilisateur +gsaMsgErreur +gbConnecté +gbModeFichier +gsaFichierLog +geNiveauMini +gbLogArret +1 - Collections de procédures accessibles +1.1 - Collection de procédures 'LIB_SysLog' +1.1.1 - Procédure 'LogInitialise' +Résumé : +Syntaxe : +[ = ] LogInitialise ( [ est chaîne [, est chaîne [, est +chaîne]]]) +Paramètres : +saApplication (chaîne ANSI) : +saPoste (chaîne ANSI) : +saUtilisateur (chaîne ANSI) : +Valeur de retour : +booléen : +Exemple : +Indiquez ici un exemple d'utilisation. +1.1.2 - Procédure 'LogConnecteBase' +Résumé : +Syntaxe : +[ = ] LogConnecteBase ( est chaîne, est chaîne, est +chaîne, est chaîne [, est booléen [, est chaîne]]) +Paramètres : +saServeurPort (chaîne ANSI) : +saUtilisateur (chaîne ANSI) : +saPass (chaîne ANSI) : +saBase (chaîne ANSI) : +bCrypte (booléen - valeur par défaut=0) : +saCleCryptage (chaîne ANSI) : +Valeur de retour : +booléen : +Exemple : +Indiquez ici un exemple d'utilisation. +1.1.3 - Procédure 'LogEcrit' +Résumé : +Syntaxe : +LogEcrit ( est chaîne [, est LIB_SysLog.E_Niveau [, est chaîne]]) +Paramètres : +saMessage (chaîne ANSI) : +eNiveau (LIB_SysLog.E_Niveau) : +saThread (chaîne ANSI) : +Valeur de retour : +Aucune +Exemple : +Indiquez ici un exemple d'utilisation. +06/08/2026 Isis_BO 34 + +Partie 1 › Projet › Composants inclus dans le projet +1.1.4 - Procédure 'LogFerme' +Résumé : +Syntaxe : +LogFerme () +Paramètres : +Aucun +Valeur de retour : +Aucune +Exemple : +Indiquez ici un exemple d'utilisation. +1.1.5 - Procédure 'LogDebuteSession' +Résumé : +Syntaxe : +LogDebuteSession () +Paramètres : +Aucun +Valeur de retour : +Aucune +Exemple : +Indiquez ici un exemple d'utilisation. +1.1.6 - Procédure 'LogNiveau' +1.1.7 - Procédure 'ActivitéDemarre' +1.1.8 - Procédure 'ActivitéArrete' +1.1.9 - Procédure 'ActivitéOK' +1.1.10 - Procédure 'ActiviteSupprimeTout' +1.1.11 - Procédure 'LogModeFichier' +1.1.12 - Procédure 'LogInitFichier' +1.1.13 - Procédure 'EcritException' +1.1.14 - Procédure 'LogDesactive' +1.1.15 - Procédure 'LogActive' +1 - Collections de procédures navigateur accessibles + +2 - Classes accessibles + +3 - Pages accessibles + +3 - Fenêtres accessibles + +4 - Etats accessibles + +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 : +06/08/2026 Isis_BO 35 + +Partie 1 › Projet › Composants inclus 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_SysLog +Projet +Composants internes +Composant Interne WDFAA +Répertoire D:\Projets Windev\Batik\WD30\Dev\WDFAA_1 +Nom physique WDFAA.wci +Le composant interne utilise le schéma des données du projet ou aucun schéma des données (partage complet). +Le composant interne accède aux tables du projet et utilise les mêmes contextes d'exécution que le projet. +Nom Libellé Public +WinDevDialogBox +WinDevMessageBox +FI_WinDevFAA_RubanTT +FI_WinDevVueRDV +Statistiques +Nombre de fenêtres : 4 +06/08/2026 Isis_BO 36 + +Partie 2 › Schéma des données +Partie 2 +Schéma des +données +| 06/08/2026 | Isis_BO | 37 | +| ---------- | ------- | --- | + +Partie 2 › Schéma des données +Schéma des données +Graphe +| 06/08/2026 | Isis_BO | 38 | +| ---------- | ------- | --- | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Informations générales +Schéma des données +Informations générales +Isis_BO.wda +| Répertoire | | D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\ | | | | | +| --------------------- | --- | --------------------------------------------- | --- | --- | --- | --- | +| Répertoire des tables | | Répertoire de l'application | | | | | +N°génération Nb. tables Nb. rubriques Nb. liaisons Nb. connexions Nb. groupes +| 314 | 48 | 720 | 38 | 1 | 2 | | +| --- | --- | --- | --- | --- | --- | --- | +Schéma des données +Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | | Utilisée par... | | +| --- | -------- | ---- | --- | --- | --------------- | --- | +elliaT +| AC_ | | Entier sur 8 octets | | Action | | | +| -------------------- | --- | --------------------------- | ------- | ------------ | --- | --- | +| AC_Clos | | Booléen | | Action | | | +| AC_DATEACTION | | Date (aaaammjj) | | Action | | | +| AC_Description | | Chaîne | 250 | Action | | | +| AC_HEUREACTION | | Heure (hhmm) | | Action | | | +| AC_IDImport | | Chaîne | 50 | Action | | | +| AC_IDIntervention | | Entier sur 8 octets | | Action | | | +| AC_IDQui | | Entier sur 8 octets | | Action | | | +| AC_IDTypeAction | | Entier sur 8 octets | | Action | | | +| AC_IDTypeQui | | | | | | | +| AC_PKID | | Identifiant automatique (8 | | Action | | | +| AD_AdresseLigne_1 | | | | | | | +| AD_AdresseLigne_2 | | | | | | | +| AD_AdresseLigne_3 | | | | | | | +| AD_AdresseLigne_4 | | | | | | | +| AD_AdresseLigne_5 | | | | | | | +| AD_CodePostal | | Chaîne | 15 | Adresse | | | +| AD_CodePostalAdresse | | | | | | | +| AD_CreationDate | | | | | | | +| AD_CreationUser | | | | | | | +| AD_Etiquette | | Chaîne | 25 | Adresse | | | +| AD_IDAdresse | | | | | | | +| AD_Ligne_1 | | Chaîne | 38 | Adresse | | | +| AD_Ligne_2 | | Chaîne | 38 | Adresse | | | +| AD_Ligne_3 | | Chaîne | 38 | Adresse | | | +| 06/08/2026 | | | Isis_BO | | | 39 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| AD_Ligne_4 | | Chaîne | 100 | Adresse | | +| ------------------------ | --- | --------------------------- | --- | --------------------- | --- | +| AD_Ligne_5 | | Chaîne | 38 | Adresse | | +| AD_LigneAdresse_1 | | | | | | +| AD_LigneAdresse_2 | | | | | | +| AD_LigneAdresse_3 | | | | | | +| AD_LigneAdresse_4 | | | | | | +| AD_LigneAdresse_5 | | | | | | +| AD_ModifDate | | | | | | +| AD_ModifUser | | | | | | +| AD_Nom | | | | | | +| AD_PKID | | Identifiant automatique (8 | | Adresse | | +| AD_Presentation | | Chaîne | 255 | Adresse | | +| AD_PresentationAdresse | | | | | | +| AD_Ville | | Chaîne | 45 | Adresse | | +| AD_VilleAdresse | | | | | | +| AED_Acces | | Booléen | | AccesEtDroit | | +| AED_IDModule | | Entier sur 8 octets | | AccesEtDroit | | +| AED_IDProfil | | Entier sur 8 octets | | AccesEtDroit | | +| AED_PKID | | Identifiant automatique (8 | | AccesEtDroit | | +| Archive | | Booléen | | Personne | | +| | | Booléen | | Client | | +| | | Booléen | | Lieu | | +| | | Booléen | | Dossier | | +| | | Booléen | | Intervention | | +| | | Booléen | | Lieu_Personne | | +| | | Booléen | | Planning_RDV | | +| | | Booléen | | Planning_RDV_Personne | | +| Belogik_Adresse_ligne | | | | | | +| Belogik_Créé_par | | | | | | +| Belogik_ModificationUser | | | | | | +| BSX_IDSociete | | Entier sur 8 octets | | BddExterne | | +| BSX_Nom | | Chaîne | 50 | BddExterne | | +| BSX_Param | | Mémo texte | | BddExterne | | +| BSX_PKID | | Identifiant automatique (8 | | BddExterne | | +| CA_IDAdresse | | Entier sur 8 octets | | Client_Adresse | | +| CA_IDCli_IDAd | | Clé composée | 16 | Client_Adresse | | +| CA_IDClient | | Entier sur 8 octets | | Client_Adresse | | +| CA_IDClient_AD_IDAdresse | | | | | | +| CA_IDTypeAdresse | | Entier sur 8 octets | | Client_Adresse | | +Identifiant automatique (8 +| CA_PKID | | | | Client_Adresse | | +| ---------------------------------- | --- | --------------------------- | ------- | ---------------- | --- | +| CA_Principale | | Booléen | | Client_Adresse | | +| CHC_Fait | | Booléen | | CheckList_Collab | | +| CHC_IDCheckList | | Entier sur 8 octets | | CheckList_Collab | | +| CHC_IDCollaborateur | | Entier sur 8 octets | | CheckList_Collab | | +| CHC_IDCollaborateur_CHC_IDCheckLis | | | | | | +| CHC_PKID | | Identifiant automatique (8 | | CheckList_Collab | | +| CHK_Element | | Chaîne | 50 | CheckList | | +| CHK_Fait | | Booléen | | CheckList | | +| 06/08/2026 | | | Isis_BO | | 40 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| CHK_IDIntervention | | Entier sur 8 octets | | CheckList | | +| ------------------------ | --- | --------------------------- | --- | ------------ | --- | +| CHK_IDModele | | Entier sur 8 octets | | CheckList | | +| CHK_Nom | | Chaîne | 50 | CheckList | | +| CHK_Ordre | | Entier sur 4 octets | | CheckList | | +| CHK_OrdreDuGroupe | | Entier sur 4 octets | | CheckList | | +| CHK_PKID | | Identifiant automatique (8 | | CheckList | | +| CL_AdresseClient | | | | | | +| CL_AdresseClient_1 | | | | | | +| CL_AdresseClient_2 | | | | | | +| CL_AdresseClient_3 | | | | | | +| CL_AdresseClient_4 | | | | | | +| CL_AdresseClient_5 | | | | | | +| CL_Apporteur | | | | | | +| CL_Blocage | | Booléen | | Client | | +| CL_CodeClient | | Chaîne | 10 | Client | | +| CL_CodeComptable | | Chaîne | 25 | Client | | +| CL_CodePostalClient | | | | | | +| CL_CodeTVA | | Chaîne | 13 | Client | | +| CL_CompteComptable | | | | | | +| CL_CreationDate | | | | | | +| CL_CreationUser | | | | | | +| CL_Email | | Mémo texte | | Client | | +| CL_Fax | | Chaîne | 15 | Client | | +| CL_FormeJuridique | | Chaîne | 25 | Client | | +| CL_IDAdressePrincipale | | Entier sur 8 octets | | Client | | +| CL_IDApporteur | | Entier sur 8 octets | | Client | | +| CL_IDApportOrigine | | Entier sur 8 octets | | Client | | +| CL_IDClient | | | | | | +| CL_IDClient_AD_IDAdresse | | | | | | +| CL_IDContactDefaut | | Entier sur 8 octets | | Client | | +| CL_IDContactPrincipal | | Entier sur 8 octets | | Client | | +| CL_IDImport | | Chaîne | 50 | Client | | +| CL_IDLieuPrincipal | | Entier sur 8 octets | | Client | | +| CL_IDModeReglement | | Entier sur 8 octets | | Client | | +| CL_IDSitePrincipal | | | | | | +| CL_IDStatut | | Entier sur 8 octets | | Client | | +| CL_IDStatutClient | | | | | | +| CL_IDType | | Entier sur 8 octets | | Client | | +| CL_IDTypeAdresse | | | | | | +| CL_IDTypeClient | | | | | | +| CL_InfoSup | | Mémo texte | | Client | | +| CL_ModifDate | | | | | | +| CL_ModifUser | | | | | | +| CL_Nom | | Chaîne | 100 | Client | | +| CL_NomClient | | | | | | +| CL_Origine | | | | | | +| CL_Pays | | Chaîne | 3 | Client | | +Identifiant automatique (8 +| CL_PKID | | | | Client | | +| ---------- | --- | --- | ------- | ------ | --- | +| 06/08/2026 | | | Isis_BO | | 41 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| CL_PresentationAdresse | | | | | | +| ---------------------------- | --- | --------------------------- | --- | ------------ | --- | +| CL_PresentationAdresseClient | | | | | | +| Cl_RaisonBlocage | | Mémo texte | | Client | | +| CL_RepertoireDocs | | Chaîne | 255 | Client | | +| CL_SIREN | | Chaîne | 9 | Client | | +| CL_SIRET | | Chaîne | 14 | Client | | +| CL_Tel | | Chaîne | 15 | Client | | +| CL_VilleClient | | | | | | +| CleComp | | | | | | +| CLI_IDClient | | Entier sur 8 octets | | Client_Lieu | | +| CLI_IDLieu | | Entier sur 8 octets | | Client_Lieu | | +| CLI_PKID | | Identifiant automatique (8 | | Client_Lieu | | +Date et Heure +| CLX_DateSynchro | | | | Client_BddExterne | | +| ---------------- | --- | ------------------- | --- | ----------------- | --- | +| CLX_IDBaseExt | | | | | | +| CLX_IDBddExterne | | Entier sur 8 octets | | Client_BddExterne | | +CLX_IDBddExterneCLX_IDCLient Clé composée 16 Client_BddExterne +| CLX_IDCLient | | Entier sur 8 octets | | Client_BddExterne | | +| ---------------- | --- | --------------------------- | ------- | ----------------- | --- | +| CLX_IDExterne | | Chaîne | 30 | Client_BddExterne | | +| CLX_PKID | | Identifiant automatique (8 | | Client_BddExterne | | +| CMI_CMD | | | | | | +| CMI_DATE | | | | | | +| CMI_FROM | | | | | | +| CMI_JSON | | | | | | +| CMI_PKID | | | | | | +| CMO_CMD | | | | | | +| CMO_DATE | | | | | | +| CMO_JSON | | | | | | +| CMO_PKID | | | | | | +| CMO_TO | | | | | | +| CO_AccesBO | | Booléen | | Collaborateur | | +| CO_AccesMobile | | Booléen | | Collaborateur | | +| CO_Actif | | Booléen | | Collaborateur | | +| CO_AuPlanning | | Booléen | | Collaborateur | | +| CO_Civilite | | Entier sur 8 octets | | Collaborateur | | +| CO_Email | | Chaîne | 50 | Collaborateur | | +| CO_Fonction | | Chaîne | 50 | Collaborateur | | +| CO_IDCivilite | | Entier sur 8 octets | | Collaborateur | | +| CO_IDImport | | Chaîne | 50 | Collaborateur | | +| CO_IDStatut | | Entier sur 8 octets | | Collaborateur | | +| CO_IDUtilisateur | | | | | | +| CO_Nom | | Chaîne | 50 | Collaborateur | | +| CO_PKID | | Identifiant automatique (8 | | Collaborateur | | +| CO_Ponderation | | Réel sur 4 octets | | Collaborateur | | +| CO_Prenom | | Chaîne | 50 | Collaborateur | | +| CO_TelFixe | | Chaîne | 15 | Collaborateur | | +| CO_TelMobile | | Chaîne | 15 | Collaborateur | | +| CO_Trigramme | | Chaîne | 3 | Collaborateur | | +| CO_UtiliseBO | | | | | | +| 06/08/2026 | | | Isis_BO | | 42 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| CO_UtiliseMobile | | | | | | +| ----------------- | --- | --------------------------- | --- | ----------------- | --- | +| CPT_Actif | | Booléen | | Compteur | | +| CPT_Annee | | Entier sur 2 octets | | Compteur | | +| CPT_AvecPrefixe | | | | | | +| CPT_Code | | Chaîne | 50 | Compteur | | +| CPT_Longueur | | | | | | +| CPT_Mois | | Entier sur 1 octet | | Compteur | | +| CPT_ParAn | | | | | | +| CPT_ParAnnee | | Booléen | | Compteur | | +| CPT_ParMois | | Booléen | | Compteur | | +| CPT_PKID | | Identifiant automatique (8 | | Compteur | | +| CPT_Valeur | | Entier sur 8 octets | | Compteur | | +| CR_AvecReserve | | Booléen | | CompteRendu | | +| CR_DateHeureDebut | | Date et Heure | | CompteRendu | | +| | | Date et Heure | | Client_BddExterne | | +| CR_DateHeureFin | | Date et Heure | | CompteRendu | | +Date et Heure +| CR_DateHeureSignature | | | | CompteRendu | | +| --------------------- | --- | --------------------------- | --- | ------------ | --- | +| CR_DateSignature | | | | | | +| CR_DevisConforme | | Booléen | | CompteRendu | | +| CR_GUID | | | | | | +| CR_IDCollaborateur | | Entier sur 8 octets | | CompteRendu | | +| CR_IDIntervention | | Entier sur 8 octets | | CompteRendu | | +| CR_IDRdv | | Entier sur 8 octets | | CompteRendu | | +| CR_IDTypeSignataire | | Entier sur 8 octets | | CompteRendu | | +| CR_NomSignataire | | Chaîne | 50 | CompteRendu | | +| CR_NomSignataireTech | | Chaîne | 50 | CompteRendu | | +| CR_NoteCollaborateur | | Mémo texte | | CompteRendu | | +| CR_NoteSignataire | | Chaîne | 50 | CompteRendu | | +| CR_PKID | | Identifiant automatique (8 | | CompteRendu | | +| CR_ReserveCommentaire | | Chaîne | 100 | CompteRendu | | +| CR_Signature | | Image (mémo binaire) | | CompteRendu | | +| CR_SignatureTech | | Image (mémo binaire) | | CompteRendu | | +| CreationDate | | Date et Heure | | Personne | | +| | | Date et Heure | | Societe | | +Date et Heure +Client +| | | Date et Heure | | Lieu | | +| --- | --- | -------------- | --- | --------------------- | --- | +| | | Date et Heure | | Adresse | | +| | | Date et Heure | | Collaborateur | | +| | | Date et Heure | | Societe_Collaborateur | | +Date et Heure +Equipe +| | | Date et Heure | | Equipe_Collaborateur | | +| --- | --- | -------------- | --- | -------------------- | --- | +| | | Date et Heure | | Utilisateur | | +| | | Date et Heure | | Dossier | | +Date et Heure +Intervention +| | | Date et Heure | | Lieu_Personne | | +| --- | --- | -------------- | --- | ------------- | --- | +| | | Date et Heure | | Client_Lieu | | +| | | Date et Heure | | Planning_RDV | | +Date et Heure +SuiviDesTemps +| 06/08/2026 | | | Isis_BO | | 43 | +| ---------- | --- | --- | ------- | --- | --- | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| | | Date et Heure | | Document | | +| --- | --- | -------------- | --- | -------------- | --- | +| | | Date et Heure | | MessageInterne | | +| | | Date et Heure | | DocumentNote | | +Date et Heure +MessageExterne +| | | Date et Heure | | CheckList | | +| --- | --- | -------------- | --- | --------------------- | --- | +| | | Date et Heure | | CheckList_Collab | | +| | | Date et Heure | | Intervention_Personne | | +Date et Heure +Intervention_Collaborateur +Date et Heure +CompteRendu +| | | Date et Heure | | Planning_RDV_Personne | | +| --- | --- | -------------- | --- | ----------------------- | --- | +| | | Date et Heure | | Intervention_ChampLibre | | +| | | Date et Heure | | MailModele | | +Date et Heure +BddExterne +| | | Date et Heure | | Client_BddExterne | | +| ------------ | --- | ------------------- | ------- | -------------------------- | --- | +| | | Date et Heure | | Intervention_BddExterne | | +| | | Date et Heure | | AccesEtDroit | | +| CreationUser | | Entier sur 8 octets | | Personne | | +| | | Entier sur 8 octets | | Societe | | +| | | Entier sur 8 octets | | Client | | +| | | Entier sur 8 octets | | Lieu | | +| | | Entier sur 8 octets | | Adresse | | +| | | Entier sur 8 octets | | Collaborateur | | +| | | Entier sur 8 octets | | Societe_Collaborateur | | +| | | Entier sur 8 octets | | Equipe | | +| | | Entier sur 8 octets | | Equipe_Collaborateur | | +| | | Entier sur 8 octets | | Utilisateur | | +| | | Entier sur 8 octets | | Dossier | | +| | | Entier sur 8 octets | | Intervention | | +| | | Entier sur 8 octets | | Lieu_Personne | | +| | | Entier sur 8 octets | | Client_Lieu | | +| | | Entier sur 8 octets | | Planning_RDV | | +| | | Entier sur 8 octets | | SuiviDesTemps | | +| | | Entier sur 8 octets | | Document | | +| | | Entier sur 8 octets | | MessageInterne | | +| | | Entier sur 8 octets | | DocumentNote | | +| | | Entier sur 8 octets | | MessageExterne | | +| | | Entier sur 8 octets | | CheckList | | +| | | Entier sur 8 octets | | CheckList_Collab | | +| | | Entier sur 8 octets | | Intervention_Personne | | +| | | Entier sur 8 octets | | Intervention_Collaborateur | | +| | | Entier sur 8 octets | | CompteRendu | | +| | | Entier sur 8 octets | | Planning_RDV_Personne | | +| | | Entier sur 8 octets | | Intervention_ChampLibre | | +| | | Entier sur 8 octets | | MailModele | | +| | | Entier sur 8 octets | | BddExterne | | +| | | Entier sur 8 octets | | Client_BddExterne | | +| | | Entier sur 8 octets | | Intervention_BddExterne | | +| | | Entier sur 8 octets | | AccesEtDroit | | +| 06/08/2026 | | | Isis_BO | | 44 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| DateArchivage | | Date et Heure | | Personne | | +| ------------- | --- | -------------- | --- | -------- | --- | +| | | Date et Heure | | Client | | +| | | Date et Heure | | Lieu | | +Date et Heure +Dossier +| | | Date et Heure | | Intervention | | +| --- | --- | -------------- | --- | ------------- | --- | +| | | Date et Heure | | Lieu_Personne | | +| | | Date et Heure | | Planning_RDV | | +Date et Heure +Planning_RDV_Personne +| DC_Categorie | | Entier sur 8 octets | | Document | | +| ---------------------- | --- | --------------------------- | ------- | ------------ | --- | +| DC_Chemin | | Mémo texte | | Document | | +| DC_Commentaire | | Mémo texte | | Document | | +| DC_DateFichier | | Date (aaaammjj) | | Document | | +| DC_DroitAcces | | | | | | +| DC_GUID | | | | | | +| DC_HeriteDroit | | Chaîne | 8 | Document | | +| DC_IDEtatDocument | | Entier sur 8 octets | | Document | | +| DC_IDIntervention | | Entier sur 8 octets | | Document | | +| DC_IDMessageExterne | | Entier sur 8 octets | | Document | | +| DC_Nom | | Chaîne | 255 | Document | | +| DC_PKID | | Identifiant automatique (8 | | Document | | +| DE_Description | | | | | | +| DE_IDAdressePrincipale | | | | | | +| DE_IDDemandeur | | | | | | +| DE_IDDestination | | | | | | +| DE_IDPriorite | | | | | | +| DE_IDStatut | | | | | | +| DE_IDSuiveur | | | | | | +| DE_IDTypeDemandeur | | | | | | +| DE_PKID | | | | | | +| DE_RefExterne | | | | | | +| DE_RefInterne | | | | | | +| DL_IDDossier | | | | | | +| DL_IDLieu | | | | | | +| DL_PKID | | | | | | +| DN_GUID | | | | | | +| DN_IDDocument | | Entier sur 8 octets | | DocumentNote | | +| DN_Note | | Mémo texte | | DocumentNote | | +| DN_PKID | | Identifiant automatique (8 | | DocumentNote | | +| DO_DateDebut | | Date (aaaammjj) | | Dossier | | +| DO_Description | | Chaîne | 50 | Dossier | | +| DO_IDClient | | Entier sur 8 octets | | Dossier | | +| DO_IDDemandeur | | | | | | +| DO_IDImport | | Chaîne | 50 | Dossier | | +| DO_IDSociete | | Entier sur 8 octets | | Dossier | | +| DO_IDStatut | | Entier sur 8 octets | | Dossier | | +| DO_IDSuiveur | | | | | | +| DO_IDTypeDossier | | Entier sur 8 octets | | Dossier | | +| DO_NumDossier | | Chaîne | 6 | Dossier | | +| 06/08/2026 | | | Isis_BO | | 45 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| DO_PKID | | Identifiant automatique (8 | | Dossier | | +| ------------------ | --- | --------------------------- | --- | -------------------- | --- | +| DO_RefExterne | | Chaîne | 50 | Dossier | | +| DO_RefInterne | | Chaîne | 50 | Dossier | | +| DO_Titre | | Chaîne | 50 | Dossier | | +| DP_IDDossier | | | | | | +| DP_IDPersonne | | | | | | +| DP_PKID | | | | | | +| EC_IDCollaborateur | | Entier sur 8 octets | | Equipe_Collaborateur | | +| EC_IDEquipe | | Entier sur 8 octets | | Equipe_Collaborateur | | +EC_IDEquipe_EC_IDCollaborateur Clé composée 16 Equipe_Collaborateur +| EC_PKID | | Identifiant automatique (8 | | Equipe_Collaborateur | | +| ------------ | --- | --------------------------- | --- | -------------------- | --- | +| EI_DateDebut | | Date et Heure | | EtatIntervention | | +Date et Heure +| EI_DateFin | | | | EtatIntervention | | +| ----------------- | --- | ------------------- | --- | ---------------- | --- | +| EI_Description | | Mémo texte | | EtatIntervention | | +| EI_IDEtat | | Entier sur 8 octets | | EtatIntervention | | +| EI_IDIntervention | | Entier sur 8 octets | | EtatIntervention | | +Identifiant automatique (8 +| EI_PKID | | | | EtatIntervention | | +| ------------------ | --- | --------------------------- | --- | ---------------- | --- | +| EmailPersonne | | | | | | +| EQ_IDSociete | | Entier sur 8 octets | | Equipe | | +| EQ_Nom | | Chaîne | 50 | Equipe | | +| EQ_PKID | | Identifiant automatique (8 | | Equipe | | +| GUID | | Chaîne | 32 | Planning_RDV | | +| | | Chaîne | 32 | SuiviDesTemps | | +| | | Chaîne | 32 | Document | | +| | | Chaîne | 32 | MessageInterne | | +| | | Chaîne | 32 | DocumentNote | | +| | | Chaîne | 32 | MessageExterne | | +| | | Chaîne | 32 | CompteRendu | | +| HEI_ | | Date et Heure | | EtatIntervention | | +| HEI_DateDebut | | | | | | +| HEI_DateFin | | | | | | +| HEI_Description | | | | | | +| HEI_IDEtat | | | | | | +| HEI_IDIntervention | | | | | | +| HEI_PKID | | | | | | +IC_IDCollaborateur Entier sur 8 octets Intervention_Collaborateur +IC_IDIntervention Entier sur 8 octets Intervention_Collaborateur +| IC_IDIntervention_IC_IDCollaborateur | | | | | | +| ------------------------------------ | --- | --- | --- | ------------ | --- | +IC_PKID Identifiant automatique (8 Intervention_Collaborateur +ICL_IDIntervention Entier sur 8 octets Intervention_ChampLibre +ICL_IDIntervention_ICL_IDParametreM Clé composée 16 Intervention_ChampLibre +| ICL_IDInterventionICL_IDParametreM | | | | | | +| ---------------------------------- | --- | --- | --- | ------------ | --- | +ICL_IDParametreMetier Entier sur 8 octets Intervention_ChampLibre +Identifiant automatique (8 +| ICL_PKID | | | | Intervention_ChampLibre | | +| ------------------ | --- | ------ | ------- | ----------------------- | --- | +| ICL_ValeurDuChamp | | Chaîne | 50 | Intervention_ChampLibre | | +| ICP_IDClient | | | | | | +| ICP_IDImport | | | | | | +| ICP_IDIntervention | | | | | | +| 06/08/2026 | | | Isis_BO | | 46 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| ICP_IDPersonne | | | | | | +| ---------------------------- | --- | --------------------------- | --- | ------------ | --- | +| ICP_PKID | | | | | | +| IDAction | | | | | | +| IDADRESSE | | | | | | +| IDCheckList | | | | | | +| IDCheckList_Collab | | | | | | +| IDClient | | | | | | +| IDClient_Lieu | | | | | | +| IDCollaboteur | | | | | | +| IDCompteRendu | | Identifiant automatique (8 | | CompteRendu | | +| IDCompteur | | | | | | +| IDDocument | | | | | | +| IDDocumentNote | | | | | | +| IDEquipe | | | | | | +| IDEquipe_Collaborateur | | | | | | +| IDHistoriqueEtatIntervention | | | | | | +| IDIntervention | | | | | | +Identifiant automatique (8 +| IDIntervention_ChampLibre | | | | Intervention_ChampLibre | | +| ------------------------------ | --- | --- | --- | ----------------------- | --- | +| IDIntervention_Client_Personne | | | | | | +| IDIntervention_Collaborateur | | | | | | +| IDIntervention_Lieu_Personne | | | | | | +| IDIntervention_Lot | | | | | | +| IDIntervention_Personne | | | | | | +| IDLieu | | | | | | +| IDLieu_Personne | | | | | | +| IDLots | | | | | | +| IDMessageExterne | | | | | | +| IDMessageInterne | | | | | | +| IDMobile | | | | | | +| IDMobLog | | | | | | +| IDMobReception | | | | | | +| IDModeleRapportMob | | | | | | +| IDParametreApplication | | | | | | +| IDPARAMETREMETIER | | | | | | +| IDParametreMetierEntete | | | | | | +IDParametreSysteme Identifiant automatique (8 ParametreSysteme +| IDParametreUtilisateur | | | | | | +| -------------------------- | --- | --- | ------- | ------------ | --- | +| IDPersonne | | | | | | +| IDPlanning_RDV | | | | | | +| IDSociete | | | | | | +| IDSociete_Collaborateur | | | | | | +| IDTelephone | | | | | | +| IDTemps | | | | | | +| IDUtilisateur | | | | | | +| IL_IDIntervention | | | | | | +| IL_IDIntervention_IL_IDLot | | | | | | +| IL_IDLot | | | | | | +| IL_PKID | | | | | | +| 06/08/2026 | | | Isis_BO | | 47 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| ILP_Etage | | | | | | +| ------------------------------------ | --- | --------------------------- | --- | ------------ | --- | +| ILP_IDIntervention | | | | | | +| ILP_IDIntervention_ILP_IDLieuPersonn | | | | | | +| ILP_IDLieu | | | | | | +| ILP_IDLieuPersonne | | | | | | +| ILP_IDPersonne | | | | | | +| ILP_Lot | | | | | | +| ILP_PKID | | | | | | +| IN_AttestationTVAPresente | | Booléen | | Intervention | | +| IN_ChpPersonnalise1 | | | | | | +| IN_ChpPersonnalise2 | | | | | | +| IN_CodeBddExterne | | | | | | +| IN_CodeExterne | | | | | | +| IN_DateDevis | | Date (aaaammjj) | | Intervention | | +| IN_DateFacture | | Date (aaaammjj) | | Intervention | | +| IN_DateIntervention | | Date (aaaammjj) | | Intervention | | +| IN_Description | | Mémo texte | | Intervention | | +| IN_DureePrevue | | Réel sur 4 octets | | Intervention | | +| IN_IDClient | | Entier sur 8 octets | | Intervention | | +| IN_IDDemandeur | | Entier sur 8 octets | | Intervention | | +| IN_IDDossier | | Entier sur 8 octets | | Intervention | | +| IN_IDEtatIntervention | | Entier sur 8 octets | | Intervention | | +| IN_IDImport | | Chaîne | 50 | Intervention | | +| IN_IDLieu | | Entier sur 8 octets | | Intervention | | +| IN_IDSociete | | Entier sur 8 octets | | Intervention | | +| IN_IDSuiveur | | | | | | +| IN_IDSuiviPar | | Entier sur 8 octets | | Intervention | | +| IN_IDTypeIntervention | | Entier sur 8 octets | | Intervention | | +| IN_NoteInterne | | Mémo texte | | Intervention | | +| IN_NumDevis | | Chaîne | 20 | Intervention | | +| IN_NumFacture | | Chaîne | 20 | Intervention | | +| IN_NumIntervention | | Chaîne | 6 | Intervention | | +| IN_PKID | | Identifiant automatique (8 | | Intervention | | +| IN_RefExterne | | Chaîne | 50 | Intervention | | +| IN_RefInterne | | Chaîne | 50 | Intervention | | +| IN_Titre | | Chaîne | 51 | Intervention | | +| INX_IDBaseExt | | | | | | +INX_IDBaseExtINX_IDIntervention Clé composée 16 Intervention_BddExterne +| INX_IDBddExterne | | Entier sur 8 octets | | Intervention_BddExterne | | +| ---------------- | --- | ------------------- | --- | ----------------------- | --- | +| INX_IDExterne | | Chaîne | 30 | Intervention_BddExterne | | +INX_IDIntervention Entier sur 8 octets Intervention_BddExterne +| INX_PKID | | Identifiant automatique (8 | | Intervention_BddExterne | | +| ----------------- | --- | --------------------------- | ------- | ----------------------- | --- | +| IP_EstDemandeur | | Booléen | | Intervention_Personne | | +| IP_Etage | | Chaîne | 10 | Intervention_Personne | | +| IP_IDClient | | Entier sur 8 octets | | Intervention_Personne | | +| IP_IDImport | | Entier sur 8 octets | | Intervention_Personne | | +| IP_IDIntervention | | Entier sur 8 octets | | Intervention_Personne | | +| IP_IDLieu | | Entier sur 8 octets | | Intervention_Personne | | +| 06/08/2026 | | | Isis_BO | | 48 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| IP_IDPersonne | | Entier sur 8 octets | | Intervention_Personne | | +| ------------- | --- | ------------------- | --- | --------------------- | --- | +| IP_IDRole | | Entier sur 8 octets | | Intervention_Personne | | +| IP_Lot | | Chaîne | 25 | Intervention_Personne | | +Identifiant automatique (8 +| IP_PKID | | | | Intervention_Personne | | +| ---------------------- | --- | --------------------------- | ------- | --------------------- | --- | +| LI_Archive | | | | | | +| LI_Badge | | Booléen | | Lieu | | +| LI_Blocage | | Booléen | | Lieu | | +| LI_CodeAcces | | Mémo texte | | Lieu | | +| LI_CodeLieu | | Chaîne | 50 | Lieu | | +| LI_CreationDate | | | | | | +| LI_CreationUser | | | | | | +| LI_DateArchivage | | | | | | +| LI_IDAdresse | | Entier sur 8 octets | | Lieu | | +| LI_IDClientPrincipal | | Entier sur 8 octets | | Lieu | | +| LI_IDImport | | Chaîne | 50 | Lieu | | +| LI_IDType | | Entier sur 8 octets | | Lieu | | +| LI_Interphone | | Booléen | | Lieu | | +| LI_ModifDate | | | | | | +| LI_ModifUser | | | | | | +| LI_Note | | Chaîne | 250 | Lieu | | +| LI_PKID | | Identifiant automatique (8 | | Lieu | | +| LI_RaisonBlocage | | Mémo texte | | Lieu | | +| LI_RepertoireDocs | | Chaîne | 255 | Lieu | | +| LIP_Actif | | Booléen | | Lieu_Personne | | +| LIP_Etage | | Chaîne | 10 | Lieu_Personne | | +| LIP_EtiquetteAdresse | | Chaîne | 50 | Lieu_Personne | | +| LIP_IDLieu | | Entier sur 8 octets | | Lieu_Personne | | +| LIP_IDPersonne | | Entier sur 8 octets | | Lieu_Personne | | +| LIP_IDRole | | Entier sur 8 octets | | Lieu_Personne | | +| LIP_IDTypeLieuPersonne | | Entier sur 8 octets | | Lieu_Personne | | +| LIP_Lot | | Chaîne | 25 | Lieu_Personne | | +| LIP_PKID | | Identifiant automatique (8 | | Lieu_Personne | | +| LO_IDLieu | | | | | | +| LO_Localisation | | | | | | +| LO_Nom | | | | | | +| LO_PKID | | | | | | +| Login | | | | | | +| LP_IDLot | | | | | | +| LP_IDPersonne | | | | | | +| LP_PKID | | | | | | +| MC_Code | | | | | | +| MC_Nom | | | | | | +| MC_Note | | | | | | +| MC_Ordre | | | | | | +| MC_PKID | | | | | | +| MC_System | | | | | | +| ME_AdrCC | | Chaîne | 200 | MessageExterne | | +| ME_AdrCCI | | Chaîne | 200 | MessageExterne | | +| 06/08/2026 | | | Isis_BO | | 49 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| ME_AdrDestinataires | | Mémo texte | | MessageExterne | | +| ------------------- | --- | --------------------------- | --- | -------------- | --- | +| ME_AdrExp | | Chaîne | 250 | MessageExterne | | +| ME_Brouillon | | Booléen | | MessageExterne | | +| ME_Envoyer | | Booléen | | MessageExterne | | +| ME_EnvoyerMob | | Booléen | | MessageExterne | | +| ME_IDDocPJ | | Chaîne | 100 | MessageExterne | | +| ME_IDImport | | Chaîne | 50 | MessageExterne | | +| ME_IDIntervention | | Entier sur 8 octets | | MessageExterne | | +| ME_Message | | Mémo texte | | MessageExterne | | +| ME_Objet | | Chaîne | 200 | MessageExterne | | +| ME_PJ | | Booléen | | MessageExterne | | +| ME_PKID | | Identifiant automatique (8 | | MessageExterne | | +| MI_IDIntervention | | Entier sur 8 octets | | MessageInterne | | +| MI_IDTypeMessage | | Entier sur 8 octets | | MessageInterne | | +| MI_Message | | Mémo texte | | MessageInterne | | +| MI_PKID | | Identifiant automatique (8 | | MessageInterne | | +Date et Heure +| ML_DateCreat | | | | MobLog | | +| ------------ | --- | --------------------------- | --- | ------------ | --- | +| ML_Message | | Mémo texte | | MobLog | | +| ML_Niveau | | Entier sur 1 octet | | MobLog | | +| ML_PKID | | Identifiant automatique (8 | | MobLog | | +| MM_Code | | Chaîne | 5 | MailModele | | +| MM_Corps | | | | | | +| MM_Langue | | Chaîne | 50 | MailModele | | +| MM_MsgDoc | | Image (mémo binaire) | | MailModele | | +| MM_Nom | | Chaîne | 50 | MailModele | | +Identifiant automatique (8 +| MM_PKID | | | | MailModele | | +| ----------------------- | --- | --------------------------- | --- | ---------- | --- | +| MM_Sujet | | Mémo texte | | MailModele | | +| MM_System | | Booléen | | MailModele | | +| MMC_CodeCat | | Chaîne | 5 | MailCat | | +| MMC_CodeModMail | | Chaîne | 5 | MailCat | | +| MMC_CodeModMail_CodeCat | | Clé composée | 10 | MailCat | | +| MMC_PKID | | Identifiant automatique (8 | | MailCat | | +| MOB_NomPersonne | | Chaîne | 100 | Mobile | | +| MOB_NumSerie | | Chaîne | 100 | Mobile | | +Identifiant automatique (8 +| MOB_PKID | | | | Mobile | | +| ------------------ | --- | --------------------------- | --- | ------- | --- | +| MOC_Code | | Chaîne | 20 | MotClef | | +| MOC_CodeMOC_Langue | | Clé composée | 23 | MotClef | | +| MOC_Groupe | | Chaîne | 25 | MotClef | | +| MOC_Langue | | Chaîne | 3 | MotClef | | +| MOC_Lib | | Chaîne | 50 | MotClef | | +| MOC_Mot | | Chaîne | 50 | MotClef | | +| MOC_MotMOC_Langue | | Clé composée | 53 | MotClef | | +| MOC_PKID | | Identifiant automatique (8 | | MotClef | | +Date et Heure +| ModifDate | | | | Personne | | +| --------- | --- | -------------- | --- | -------- | --- | +| | | Date et Heure | | Societe | | +| | | Date et Heure | | Client | | +| | | Date et Heure | | Lieu | | +Date et Heure +Adresse +| 06/08/2026 | | | Isis_BO | | 50 | +| ---------- | --- | --- | ------- | --- | --- | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| | | Date et Heure | | Collaborateur | | +| --- | --- | -------------- | --- | --------------------- | --- | +| | | Date et Heure | | Societe_Collaborateur | | +| | | Date et Heure | | Equipe | | +Date et Heure +Equipe_Collaborateur +| | | Date et Heure | | Utilisateur | | +| --- | --- | -------------- | --- | ------------ | --- | +| | | Date et Heure | | Dossier | | +| | | Date et Heure | | Intervention | | +Date et Heure +Lieu_Personne +Date et Heure +Client_Lieu +| | | Date et Heure | | Planning_RDV | | +| --- | --- | -------------- | --- | ------------- | --- | +| | | Date et Heure | | SuiviDesTemps | | +| | | Date et Heure | | Document | | +Date et Heure +CheckList +| | | Date et Heure | | CheckList_Collab | | +| --- | --- | -------------- | --- | -------------------------- | --- | +| | | Date et Heure | | Intervention_Personne | | +| | | Date et Heure | | Intervention_Collaborateur | | +Date et Heure +CompteRendu +Date et Heure +Planning_RDV_Personne +| | | Date et Heure | | Intervention_ChampLibre | | +| --- | --- | -------------- | --- | ----------------------- | --- | +| | | Date et Heure | | MailModele | | +| | | Date et Heure | | BddExterne | | +Date et Heure +Client_BddExterne +| | | Date et Heure | | Intervention_BddExterne | | +| ---------- | --- | ------------------- | ------- | -------------------------- | --- | +| | | Date et Heure | | AccesEtDroit | | +| ModifUser | | Entier sur 8 octets | | Personne | | +| | | Entier sur 8 octets | | Societe | | +| | | Entier sur 8 octets | | Client | | +| | | Entier sur 8 octets | | Lieu | | +| | | Entier sur 8 octets | | Adresse | | +| | | Entier sur 8 octets | | Collaborateur | | +| | | Entier sur 8 octets | | Societe_Collaborateur | | +| | | Entier sur 8 octets | | Equipe | | +| | | Entier sur 8 octets | | Equipe_Collaborateur | | +| | | Entier sur 8 octets | | Utilisateur | | +| | | Entier sur 8 octets | | Dossier | | +| | | Entier sur 8 octets | | Intervention | | +| | | Entier sur 8 octets | | Lieu_Personne | | +| | | Entier sur 8 octets | | Client_Lieu | | +| | | Entier sur 8 octets | | Planning_RDV | | +| | | Entier sur 8 octets | | SuiviDesTemps | | +| | | Entier sur 8 octets | | Document | | +| | | Entier sur 8 octets | | CheckList | | +| | | Entier sur 8 octets | | CheckList_Collab | | +| | | Entier sur 8 octets | | Intervention_Personne | | +| | | Entier sur 8 octets | | Intervention_Collaborateur | | +| | | Entier sur 8 octets | | CompteRendu | | +| | | Entier sur 8 octets | | Planning_RDV_Personne | | +| | | Entier sur 8 octets | | Intervention_ChampLibre | | +| 06/08/2026 | | | Isis_BO | | 51 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| | | Entier sur 8 octets | | MailModele | | +| ------------------ | --- | -------------------- | --- | ----------------------- | --- | +| | | Entier sur 8 octets | | BddExterne | | +| | | Entier sur 8 octets | | Client_BddExterne | | +| | | Entier sur 8 octets | | Intervention_BddExterne | | +| | | Entier sur 8 octets | | AccesEtDroit | | +| MotDePasseAChanger | | | | | | +| MR_Buffer | | Image (mémo binaire) | | MobReception | | +| MR_CMD | | Chaîne | 50 | MobReception | | +Date et Heure +| MR_DateHeureRecep | | | | MobReception | | +| ----------------- | --- | --------------------------- | --- | ---------------- | --- | +| MR_Fait | | Booléen | | MobReception | | +| MR_IDToSRV | | Entier sur 8 octets | | MobReception | | +| MR_JSON | | Mémo texte | | MobReception | | +| MR_NumSerie | | Chaîne | 50 | MobReception | | +| MR_PKID | | Identifiant automatique (8 | | MobReception | | +| MRM_Actif | | | | | | +| MRM_Modele | | Image (mémo binaire) | | ModeleRapportMob | | +| MRM_Nom | | Chaîne | 30 | ModeleRapportMob | | +Identifiant automatique (8 +| MRM_PKID | | | | ModeleRapportMob | | +| ------------------------------- | --- | --------------------------- | ------- | ---------------- | --- | +| MRM_RubMob | | Mémo texte | | ModeleRapportMob | | +| NbJrsDepuisDerniereModif | | | | | | +| NomPersonne | | | | | | +| NomSociete | | | | | | +| PA_Actif | | Booléen | | ParametreMetier | | +| PA_AjoutParametreMetier | | | | | | +| PA_CleLiaison | | Chaîne | 23 | ParametreMetier | | +| PA_Code | | Chaîne | 3 | ParametreMetier | | +| PA_CodePA_Valeur | | Clé composée | 23 | ParametreMetier | | +| PA_CodeParametreMetier | | | | | | +| PA_Custom | | | | | | +| PA_CustomCodeParametreMetier | | | | | | +| PA_CustomParametreMetier | | | | | | +| PA_Est | | | | | | +| PA_EstModifiableParametreMetier | | | | | | +| PA_IDImport | | Chaîne | 50 | ParametreMetier | | +| PA_Invisible | | Booléen | | ParametreMetier | | +| PA_Libelle | | Chaîne | 250 | ParametreMetier | | +| PA_LibelleCourt | | Chaîne | 20 | ParametreMetier | | +| PA_LibelleParametreMetier | | | | | | +| PA_NumeroParametreMetier | | | | | | +| PA_Ordre | | Entier sur 4 octets | | ParametreMetier | | +| PA_OrdreParametreMetier | | | | | | +| PA_Parametre | | Mémo texte | | ParametreMetier | | +| PA_PKID | | Identifiant automatique (8 | | ParametreMetier | | +| PA_Systeme | | Booléen | | ParametreMetier | | +| PA_Valeur | | Chaîne | 20 | ParametreMetier | | +| PA_ValeurParametreMetier | | | | | | +| PA_Visible | | | | | | +| PAP_Categorie | | | | | | +| 06/08/2026 | | | Isis_BO | | 52 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| PAP_Code | | Chaîne | 50 | ParametreApplication | | +| ------------------ | --- | ---------- | --- | -------------------- | --- | +| PAP_Description | | Mémo texte | | ParametreApplication | | +| PAP_ListeParametre | | Chaîne | 50 | ParametreApplication | | +Identifiant automatique (8 +| PAP_PKID | | | | ParametreApplication | | +| --------------- | --- | ---------- | --- | -------------------- | --- | +| PAP_Valeur | | Mémo texte | | ParametreApplication | | +| PAS_Code | | Chaîne | 50 | ParametreSysteme | | +| PAS_Description | | Chaîne | 250 | ParametreSysteme | | +Identifiant automatique (8 +| PAS_PKID | | | | ParametreSysteme | | +| ------------------------------ | --- | --------------------------- | ------- | ---------------- | --- | +| PAS_Valeur | | Mémo texte | | ParametreSysteme | | +| PE_Actif | | Booléen | | Personne | | +| PE_AdressePersonne_1 | | | | | | +| PE_AdressePersonne_2 | | | | | | +| PE_AdressePersonne_3 | | | | | | +| PE_AdressePersonne_4 | | | | | | +| PE_AdressePersonne_5 | | | | | | +| PE_AdresseSociete_4 | | | | | | +| PE_CodePostalPersonne | | | | | | +| PE_CreationDate | | | | | | +| PE_CreationUser | | | | | | +| PE_Email | | Mémo texte | | Personne | | +| PE_EmailPersonne | | | | | | +| PE_Etage | | | | | | +| PE_Fax | | Chaîne | 15 | Personne | | +| PE_IDAdressePrincipale | | Entier sur 8 octets | | Personne | | +| PE_IDCivilite | | Entier sur 8 octets | | Personne | | +| PE_IDClient | | Entier sur 8 octets | | Personne | | +| PE_IDImport | | Chaîne | 50 | Personne | | +| PE_IDRole | | Entier sur 8 octets | | Personne | | +| PE_IDRolePersonne | | | | | | +| PE_InfoSupp | | Mémo texte | | Personne | | +| PE_ModifDate | | | | | | +| PE_ModifUser | | | | | | +| PE_Nom | | Chaîne | 50 | Personne | | +| PE_NomPersonne | | | | | | +| PE_Note | | Chaîne | 250 | Personne | | +| PE_PKID | | Identifiant automatique (8 | | Personne | | +| PE_Prenom | | Chaîne | 50 | Personne | | +| PE_PrenomPersonne | | | | | | +| PE_PresentationAdressePersonne | | | | | | +| PE_TelFixe | | Chaîne | 15 | Personne | | +| PE_TelFixePersonne | | | | | | +| PE_TelMobile | | Chaîne | 15 | Personne | | +| PE_TelMobilePersonne | | | | | | +| PE_TelPortablePersonne | | | | | | +| PE_UsageInterne | | Booléen | | Personne | | +| PE_VillePersonne | | | | | | +| PEFax | | | | | | +| PL_CR | | Booléen | | Planning_RDV | | +| 06/08/2026 | | | Isis_BO | | 53 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| PL_DateDebut | | Date et Heure | | Planning_RDV | | +| ------------------ | --- | ------------------- | --- | ------------ | --- | +| PL_DateExport | | Date et Heure | | Planning_RDV | | +| PL_DateFin | | Date et Heure | | Planning_RDV | | +| PL_Descriptif | | | | | | +| PL_Description | | Mémo texte | | Planning_RDV | | +| PL_Duree | | | | | | +| PL_EstSuperposable | | | | | | +| PL_Grouper | | Booléen | | Planning_RDV | | +| PL_GUID | | | | | | +| PL_IDCollaborateur | | Entier sur 8 octets | | Planning_RDV | | +| PL_IDDossier | | Entier sur 8 octets | | Planning_RDV | | +| PL_IDEquipe | | Entier sur 8 octets | | Planning_RDV | | +| PL_IDGroupe | | Entier sur 8 octets | | Planning_RDV | | +| PL_IdGroupeDate | | Entier sur 8 octets | | Planning_RDV | | +| PL_IDImport | | Chaîne | 50 | Planning_RDV | | +| PL_IDIntervention | | Entier sur 8 octets | | Planning_RDV | | +| PL_IDLieu | | Entier sur 8 octets | | Planning_RDV | | +Entier non signé sur 8 +| PL_IDMotifAnnul | | | | Planning_RDV | | +| ----------------- | --- | ----------------------- | --- | ------------ | --- | +| PL_IDOrigineAnnul | | Entier non signé sur 8 | | Planning_RDV | | +| PL_IDPersonne | | Entier sur 8 octets | | Planning_RDV | | +| PL_IDSociete | | Entier sur 8 octets | | Planning_RDV | | +| PL_IDStatut | | Entier sur 8 octets | | Planning_RDV | | +| PL_IDTypeActivite | | Entier sur 8 octets | | Planning_RDV | | +| PL_NoteCollab | | Mémo texte | | Planning_RDV | | +| PL_Objet | | Chaîne | 25 | Planning_RDV | | +Identifiant automatique (8 +| PL_PKID | | | | Planning_RDV | | +| ------------------ | --- | --------------------------- | ------- | --------------------- | --- | +| PL_PKID_PE_PKID | | | | | | +| PL_Pri | | Booléen | | Planning_RDV | | +| PL_Prive | | Booléen | | Planning_RDV | | +| PL_RappelSMS | | Booléen | | Planning_RDV | | +| PL_SAV | | Booléen | | Planning_RDV | | +| PL_Superposable | | Booléen | | Planning_RDV | | +| PL_TempsValide | | Booléen | | Planning_RDV | | +| PM_AucunPossible | | Booléen | | ParametreMetierEntete | | +| PM_Code | | Chaîne | 3 | ParametreMetierEntete | | +| PM_Contexte | | | | | | +| PM_Description | | Chaîne | 250 | ParametreMetierEntete | | +| PM_FormatValeur | | | | | | +| PM_Groupe | | Chaîne | 25 | ParametreMetierEntete | | +| PM_JSONSpec | | | | | | +| PM_Libelle | | Chaîne | 50 | ParametreMetierEntete | | +| PM_Personnalisable | | | | | | +| PM_PKID | | Identifiant automatique (8 | | ParametreMetierEntete | | +| PM_Specifique | | Mémo texte | | ParametreMetierEntete | | +| PM_Systeme | | Booléen | | ParametreMetierEntete | | +| PrenomPersonne | | | | | | +| PRP_IDGroupeRDV | | Entier sur 8 octets | | Planning_RDV_Personne | | +| PRP_IDPersonne | | Entier sur 8 octets | | Planning_RDV_Personne | | +| 06/08/2026 | | | Isis_BO | | 54 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| PRP_IDRdv | | Entier sur 8 octets | | Planning_RDV_Personne | | +| ----------------------------- | --- | --------------------------- | --- | --------------------- | --- | +| PRP_PKID | | Identifiant automatique (8 | | Planning_RDV_Personne | | +| PRP_PKID_PE_PKID | | Clé composée | 16 | Planning_RDV_Personne | | +| PT_Description | | | | | | +| PT_Libelle | | | | | | +| PT_Personnalisable | | | | | | +| PT_PKID | | | | | | +| PU_CODE | | Chaîne | 50 | ParametreUtilisateur | | +| PU_CodePU_IDUtilisateur | | Clé composée | 58 | ParametreUtilisateur | | +| PU_IDUtilisateur | | Entier sur 8 octets | | ParametreUtilisateur | | +| PU_PKID | | Identifiant automatique (8 | | ParametreUtilisateur | | +| PU_Valeur | | Mémo texte | | ParametreUtilisateur | | +| RolePersonne | | Entier sur 8 octets | | Personne | | +| SC_IDCollaborateur | | Entier sur 8 octets | | Societe_Collaborateur | | +| SC_IDCSoc_IDCol | | Clé composée | 16 | Societe_Collaborateur | | +| SC_IDCSociete | | Entier sur 8 octets | | Societe_Collaborateur | | +| SC_IDCSociete_IDCollaborateur | | | | | | +SC_IDCSociete_SC_IDCollaborateur Clé composée 16 Societe_Collaborateur +| SC_IDCSocieteSC_IDCollaborateur | | | | | | +| ------------------------------- | --- | --------------------------- | --- | --------------------- | --- | +| SC_IDCSocite | | | | | | +| SC_PKID | | Identifiant automatique (8 | | Societe_Collaborateur | | +| SDT_Collaborateur | | | | | | +| SDT_Controle | | Booléen | | SuiviDesTemps | | +| SDT_DateDebut | | Date et Heure | | SuiviDesTemps | | +| SDT_DateFin | | | | | | +Date et Heure +| SDT_DateHeureFin | | | | SuiviDesTemps | | +| ------------------- | --- | --------------------------- | ------- | ------------- | --- | +| SDT_HeureDebut | | | | | | +| SDT_HeureFin | | | | | | +| SDT_IDCollaborateur | | Entier sur 8 octets | | SuiviDesTemps | | +| SDT_IDGroupe | | Entier sur 8 octets | | SuiviDesTemps | | +| SDT_IDImport | | Chaîne | 50 | SuiviDesTemps | | +| SDT_IDIntervention | | Entier sur 8 octets | | SuiviDesTemps | | +| SDT_IDPartenaire | | Entier sur 8 octets | | SuiviDesTemps | | +| SDT_IDRdv | | Entier sur 8 octets | | SuiviDesTemps | | +| SDT_IDTypeRdv | | Entier sur 8 octets | | SuiviDesTemps | | +| SDT_IDTypeTemps | | Entier sur 8 octets | | SuiviDesTemps | | +| SDT_Intervention | | | | | | +| SDT_Libelle | | Chaîne | 50 | SuiviDesTemps | | +| SDT_NbMinutes | | Entier sur 4 octets | | SuiviDesTemps | | +| SDT_Partenaire | | | | | | +| SDT_PKID | | Identifiant automatique (8 | | SuiviDesTemps | | +| SDT_Ponderation | | Réel sur 4 octets | | SuiviDesTemps | | +| SIRETSociete | | | | | | +| SO_AdresseSociete_1 | | | | | | +| SO_AdresseSociete_2 | | | | | | +| SO_AdresseSociete_3 | | | | | | +| SO_AdresseSociete_4 | | | | | | +| SO_AdresseSociete_5 | | | | | | +| 06/08/2026 | | | Isis_BO | | 55 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| SO_Archive | | Booléen | | Societe | | +| ------------------------------ | --- | --------------------------- | ------- | ------------- | --- | +| SO_CodePostalSociete | | | | | | +| SO_CreationDate | | | | | | +| SO_CreationUser | | | | | | +| SO_Email | | Chaîne | 50 | Societe | | +| SO_FAX | | Chaîne | 25 | Societe | | +| SO_IDAdressePrincipale | | Entier sur 8 octets | | Societe | | +| SO_IDImport | | Chaîne | 50 | Societe | | +| SO_LigneAdresse_1 | | | | | | +| SO_LigneAdresse_2 | | | | | | +| SO_LigneAdresse_3 | | | | | | +| SO_LigneAdresseSociete_1 | | | | | | +| SO_LigneAdresseSociete_2 | | | | | | +| SO_Logo | | Image (mémo binaire) | | Societe | | +| SO_ModifDate | | | | | | +| SO_ModifUser | | | | | | +| SO_Nom | | Chaîne | 80 | Societe | | +| SO_NomSociete | | | | | | +| SO_Parametres | | Mémo texte | | Societe | | +| SO_PKID | | Identifiant automatique (8 | | Societe | | +| SO_PKID_CO_PKID | | | | | | +| SO_PresentationAdressePersonne | | | | | | +| SO_PresentationAdresseSociete | | | | | | +| SO_SIRET | | Chaîne | 50 | Societe | | +| SO_SIRETSociete | | | | | | +| SO_SiteWeb | | Chaîne | 100 | Societe | | +| SO_Tel | | Chaîne | 25 | Societe | | +| SO_VilleSociete | | | | | | +| Te | | | | | | +| TE_Collaborateur | | | | | | +| TE_Date | | | | | | +| TE_DateDebut | | | | | | +| TE_Duree | | Entier sur 4 octets | | SuiviDesTemps | | +| TE_IDPersonne | | Entier sur 8 octets | | Telephone | | +| TE_IDQualif | | Entier sur 8 octets | | Telephone | | +| TE_IDTypeTemps | | | | | | +| TE_Intervention | | | | | | +| TE_Libelle | | | | | | +| TE_NbHeure | | | | | | +| TE_NbMinutes | | | | | | +| TE_Numero | | Entier sur 4 octets | | Telephone | | +| TE_Partenaire | | | | | | +| TE_PKID | | Identifiant automatique (8 | | Telephone | | +| TelFixePersonne | | | | | | +| TelPersonne | | | | | | +| TelPortablePersonne | | | | | | +| UT_AccesBO | | Booléen | | Utilisateur | | +| UT_AccesMobile | | Booléen | | Utilisateur | | +| 06/08/2026 | | | Isis_BO | | 56 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | | Utilisée par... | | +| --- | -------- | ---- | --- | --- | --------------- | --- | +elliaT +| UT_Administrateur | | Booléen | | Utilisateur | | | +| ---------------------- | --- | ------------------- | --- | ------------ | --- | --- | +| UT_CleLicence | | | | | | | +| UT_CleLicenceMobile | | Chaîne | 50 | Utilisateur | | | +| UT_Email | | Chaîne | 100 | Utilisateur | | | +| UT_IDCollaborateur | | Entier sur 8 octets | | Utilisateur | | | +| UT_IDProfil | | | | | | | +| UT_IDSocietePrincipale | | Entier sur 8 octets | | Utilisateur | | | +| UT_IDTypeProfil | | Entier sur 8 octets | | Utilisateur | | | +| UT_Login | | Chaîne | 100 | Utilisateur | | | +| UT_MotDePasse | | Chaîne | 50 | Utilisateur | | | +| UT_MotDePasseAChanger | | Booléen | | Utilisateur | | | +| UT_Nom | | Chaîne | 50 | Utilisateur | | | +Identifiant automatique (8 +| UT_PKID | | | | Utilisateur | | | +| -------------- | --- | ------ | --- | ------------ | --- | --- | +| UT_Prenom | | Chaîne | 50 | Utilisateur | | | +| UT_SansLicence | | | | | | | +| UT_TelMobile | | Chaîne | 25 | Utilisateur | | | +| UT_UtiliseBO | | | | | | | +| ValeurDuChamp | | | | | | | +Schéma des données +Groupes de fichiers +| | Groupe | | Table | | Libellé | | +| -------------- | ------ | -------------------------- | ------- | -------------------------- | ------- | --- | +| ProtectionPlus | | ParametreSysteme | | ParametreSysteme | | | +| | | ParametreMetierEntete | | ParametreMetierEntete | | | +| ProtectionStd | | MobReception | | MobReception | | | +| | | MobLog | | MobLog | | | +| | | SuiviDesTemps | | SuiviDesTemps | | | +| | | Mobile | | Mobile | | | +| | | Intervention | | Intervention | | | +| | | EtatIntervention | | EtatIntervention | | | +| | | Action | | Action | | | +| | | Intervention_Collaborateur | | Intervention_Collaborateur | | | +| | | CompteRendu | | CompteRendu | | | +| | | Lieu | | Lieu | | | +| | | CheckList | | CheckList | | | +| | | ParametreUtilisateur | | ParametreUtilisateur | | | +| | | Intervention_Personne | | Intervention_Personne | | | +| | | Intervention_ChampLibre | | Intervention_ChampLibre | | | +| | | Client_Lieu | | Client_Lieu | | | +| | | Lieu_Personne | | Lieu_Personne | | | +| | | MessageInterne | | MessageInterne | | | +| 06/08/2026 | | | Isis_BO | | | 57 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Groupes de fichiers +Groupe Table Libellé +Personne Personne +Client Client +Adresse Adresse +Document Document +ParametreApplication ParametreApplication +DocumentNote DocumentNote +CheckList_Collab CheckList_Collab +Dossier Dossier +Societe Societe +ParametreMetier ParametreMetier +Collaborateur Collaborateur +Societe_Collaborateur Societe_Collaborateur +Planning_RDV_Personne Relation Planning_RDV/Personne +Utilisateur Utilisateur +Equipe Equipe +Equipe_Collaborateur Equipe_Collaborateur +Compteur Compteur +Telephone Telephone +MessageExterne Message Externe +Client_Adresse Relation Client/Adresse +MailCat MailCat +MailModele MailModele +MotClef MotClef +BddExterne BddExterne +Client_BddExterne Client_BddExterne +Intervention_BddExterne Intervention_BddExterne +AccesEtDroit AccesEtDroit +ModeleRapportMob ModeleRapportMob +Planning_RDV Planning_RDV +Schéma des données +Liaisons +Contrainte_Action_Intervention +Source Relié +Table Intervention Action +Rubrique IN_PKID () AC_IDIntervention () +Cardinalités 0,n 1,1 +Modification Modification en cascade des enregistrements reliés +Suppression Suppression en cascade des enregistrements reliés. +06/08/2026 Isis_BO 58 + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Liaisons +Contrainte_Adresse_Client +Source Relié +| Table | Adresse | | Client_Adresse | | +| ------------ | ----------------------------------------------------- | --- | ------------------------------------- | --- | +| Rubrique | AD_PKID () | | CA_IDAdresse () | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +Contrainte_BddExterne_Interventio +n_BddExt +Source Relié +| Table | BddExterne | | Intervention_BddExterne | | +| ----- | ---------- | --- | ----------------------- | --- | +Rubrique BSX_PKID () INX_IDBddExterne () +| Cardinalités | 0,n | | 1,1 | | +| ------------ | -------------------------------------------------- | --- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_CheckList_Collaborateur +Source Relié +| Table | CheckList | | CheckList_Collab | | +| ----- | --------- | --- | ---------------- | --- | +Rubrique CHK_PKID () CHC_IDCheckList () +| Cardinalités | 0,n | | 0,1 | | +| ------------ | -------------------------------------------------- | --- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_CheckList_Intervention +Source Relié +| Table | Intervention | | CheckList | | +| ----- | ------------ | --- | --------- | --- | +Rubrique IN_PKID () CHK_IDIntervention () +| Cardinalités | 0,n | | 0,1 | | +| ------------ | -------------------------------------------------- | ------- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +| 06/08/2026 | | Isis_BO | | 59 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Liaisons +Contrainte_Client_Adresse +Source Relié +| Table | Client | | Client_Adresse | | +| ------------ | -------------------------------------------------- | --- | ------------------------------------ | --- | +| Rubrique | CL_PKID () | | CA_IDClient () | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Client_BddExterne_BddE +xterne +Source Relié +| Table | BddExterne | | Client_BddExterne | | +| ----- | ---------- | --- | ----------------- | --- | +Rubrique BSX_PKID () CLX_IDBddExterne () +| Cardinalités | 0,n | | 1,1 | | +| ------------ | -------------------------------------------------- | --- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Client_Client_BddExtern +e +Source Relié +| Table | Client | | Client_BddExterne | | +| ------------ | -------------------------------------------------- | --- | ------------------------------------- | --- | +| Rubrique | CL_PKID () | | CLX_IDCLient () | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Client_Client_Lieu +Source Relié +| Table | Client | | Client_Lieu | | +| ------------ | ----------------------------------------------------- | ------- | ------------------------------------- | --- | +| Rubrique | CL_PKID () | | CLI_IDClient () | | +| Cardinalités | 0,n | | 1,1 | | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +| 06/08/2026 | | Isis_BO | | 60 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Liaisons +Contrainte_Client_Dossier +Source Relié +| Table | Client | | Dossier | | +| ------------ | ----------------------------------------------------- | --- | ------------------------------------ | --- | +| Rubrique | CL_PKID () | | DO_IDClient () | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +Contrainte_Client_Personne +Source Relié +| Table | Client | | Personne | | +| ------------ | -------------------------------------------------- | --- | ------------------------------------ | --- | +| Rubrique | CL_PKID () | | PE_IDClient () | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Pas de suppression des enregistrements reliés | | | | +Contrainte_Collaborateur_CheckList +Source Relié +| Table | Collaborateur | | CheckList_Collab | | +| ----- | ------------- | --- | ---------------- | --- | +Rubrique CO_PKID () CHC_IDCollaborateur () +| Cardinalités | 0,n | | 0,1 | | +| ------------ | ----------------------------------------------------- | --- | --- | --- | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +Contrainte_Collaborateur_Equipe +Source Relié +| Table | Collaborateur | | Equipe_Collaborateur | | +| ----- | ------------- | --- | -------------------- | --- | +Rubrique CO_PKID () EC_IDCollaborateur () +| Cardinalités | 0,n | | 0,1 | | +| ------------ | -------------------------------------------------- | ------- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +| 06/08/2026 | | Isis_BO | | 61 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Liaisons +Contrainte_Collaborateur_Interventi +on +Source Relié +| Table | Collaborateur | | Intervention_Collaborateur | | +| ----- | ------------- | --- | -------------------------- | --- | +Rubrique CO_PKID () IC_IDCollaborateur () +| Cardinalités | 0,n | | 0,1 | | +| ------------ | ----------------------------------------------------- | --- | --- | --- | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +Contrainte_Collaborateur_Societe +Source Relié +| Table | Collaborateur | | Societe_Collaborateur | | +| ----- | ------------- | --- | --------------------- | --- | +Rubrique CO_PKID () SC_IDCollaborateur () +| Cardinalités | 0,n | | 0,1 | | +| ------------ | -------------------------------------------------- | --- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_DocumentNote_Docume +nt +Source Relié +| Table | Document | | DocumentNote | | +| ------------ | -------------------------------------------------- | --- | -------------------------------------- | --- | +| Rubrique | DC_PKID () | | DN_IDDocument () | | +| Cardinalités | 0,n | | 1,1 | | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Dossier_Intervention +Source Relié +| Table | Dossier | | Intervention | | +| ------------ | -------------------------------------------------- | ------- | ------------------------------------- | --- | +| Rubrique | DO_PKID () | | IN_IDDossier () | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +| 06/08/2026 | | Isis_BO | | 62 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Liaisons +Contrainte_Equipe_Collaborateur +Source Relié +| Table | Equipe | | Equipe_Collaborateur | | +| ------------ | ----------------------------------------------------- | --- | ------------------------------------ | --- | +| Rubrique | EQ_PKID () | | EC_IDEquipe () | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +Contrainte_Intervention_Collaborat +eur +Source Relié +| Table | Intervention | | Intervention_Collaborateur | | +| ----- | ------------ | --- | -------------------------- | --- | +Rubrique IN_PKID () IC_IDIntervention () +| Cardinalités | 0,n | | 0,1 | | +| ------------ | -------------------------------------------------- | --- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Intervention_Historique +EtatIntervention +Source Relié +| Table | Intervention | | EtatIntervention | | +| ----- | ------------ | --- | ---------------- | --- | +Rubrique IN_PKID () EI_IDIntervention () +| Cardinalités | 0,n | | 1,1 | | +| ------------ | -------------------------------------------------- | --- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Intervention_Interventio +n_BddExt +Source Relié +| Table | Intervention | | Intervention_BddExterne | | +| ----- | ------------ | --- | ----------------------- | --- | +Rubrique IN_PKID () INX_IDIntervention () +| Cardinalités | 0,n | | 1,1 | | +| ------------ | -------------------------------------------------- | ------- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +| 06/08/2026 | | Isis_BO | | 63 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Liaisons +Contrainte_Intervention_MessageEx +terne +Source Relié +| Table | Intervention | | MessageExterne | | +| ----- | ------------ | --- | -------------- | --- | +Rubrique IN_PKID () ME_IDIntervention () +| Cardinalités | 0,n | | 1,1 | | +| ------------ | -------------------------------------------------- | --- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Intervention_Parametre +Metier +Source Relié +| Table | Intervention | | Intervention_ChampLibre | | +| ----- | ------------ | --- | ----------------------- | --- | +Rubrique IN_PKID () ICL_IDIntervention () +| Cardinalités | 0,n | | 0,1 | | +| ------------ | -------------------------------------------------- | --- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Lieu_Adresse +Source Relié +| Table | Adresse | | Lieu | | +| ------------ | ----------------------------------------------------- | --- | ------------------------------------- | --- | +| Rubrique | AD_PKID () | | LI_IDAdresse () | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +Contrainte_Lieu_Client_Lieu +Source Relié +| Table | Lieu | | Client_Lieu | | +| ------------ | ----------------------------------------------------- | ------- | ----------------------------------- | --- | +| Rubrique | LI_PKID () | | CLI_IDLieu () | | +| Cardinalités | 0,n | | 1,1 | | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +| 06/08/2026 | | Isis_BO | | 64 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Liaisons +Contrainte_Lieu_Lieu_Personne +Source Relié +| Table | Lieu | | Lieu_Personne | | +| ------------ | ----------------------------------------------------- | --- | ----------------------------------- | --- | +| Rubrique | LI_PKID () | | LIP_IDLieu () | | +| Cardinalités | 0,n | | 1,1 | | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_MailModele_MailCat +Source Relié +| Table | MailModele | | MailCat | | +| ------------ | ----------------------------------------------------- | --- | ---------------------------------------- | --- | +| Rubrique | MM_Code () | | MMC_CodeModMail () | | +| Cardinalités | 0,n | | 1,1 | | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +Contrainte_MessageInterne_Interve +ntion +Source Relié +| Table | Intervention | | MessageInterne | | +| ----- | ------------ | --- | -------------- | --- | +Rubrique IN_PKID () MI_IDIntervention () +| Cardinalités | 0,n | | 1,1 | | +| ------------ | -------------------------------------------------- | --- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_ParametreMetier_Interv +ention +Source Relié +| Table | ParametreMetier | | Intervention_ChampLibre | | +| ----- | --------------- | --- | ----------------------- | --- | +Rubrique PA_PKID () ICL_IDParametreMetier () +| Cardinalités | 0,n | | 0,1 | | +| ------------ | ----------------------------------------------------- | ------- | --- | --- | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +| 06/08/2026 | | Isis_BO | | 65 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Liaisons +Contrainte_ParametreMetier_Param +etreMetierEntete +Source Relié +| Table | ParametreMetierEntete | | ParametreMetier | | +| ------------ | -------------------------------------------------- | --- | -------------------------------- | --- | +| Rubrique | PM_Code () | | PA_Code () | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Personne_Adresse +Source Relié +| Table | Adresse | | Personne | | +| ----- | ------- | --- | -------- | --- | +Rubrique AD_PKID () PE_IDAdressePrincipale () +| Cardinalités | 0,n | | 0,1 | | +| ------------ | ----------------------------------------------------- | --- | --- | --- | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +Contrainte_Personne_Lieu_Personne +Source Relié +| Table | Personne | | Lieu_Personne | | +| ------------ | -------------------------------------------------- | --- | --------------------------------------- | --- | +| Rubrique | PE_PKID () | | LIP_IDPersonne () | | +| Cardinalités | 0,n | | 1,1 | | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Personne_Planning_RDV +Source Relié +| Table | Personne | | Planning_RDV_Personne | | +| ------------ | ----------------------------------------------------- | ------- | --------------------------------------- | --- | +| Rubrique | PE_PKID () | | PRP_IDPersonne () | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +| 06/08/2026 | | Isis_BO | | 66 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Liaisons +Contrainte_Societe_Adresse +Source Relié +| Table | Adresse | | Societe | | +| ----- | ------- | --- | ------- | --- | +Rubrique AD_PKID () SO_IDAdressePrincipale () +| Cardinalités | 0,n | | 0,1 | | +| ------------ | ----------------------------------------------------- | --- | --- | --- | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +Contrainte_Societe_Collaborateur +Source Relié +| Table | Societe | | Societe_Collaborateur | | +| ------------ | -------------------------------------------------- | --- | -------------------------------------- | --- | +| Rubrique | SO_PKID () | | SC_IDCSociete () | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Societe_Equipe +Source Relié +| Table | Societe | | Equipe | | +| ------------ | ----------------------------------------------------- | --- | ------------------------------------- | --- | +| Rubrique | SO_PKID () | | EQ_IDSociete () | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +Contrainte_SuiviDesTemps_Interven +tion +Source Relié +| Table | Intervention | | SuiviDesTemps | | +| ----- | ------------ | --- | ------------- | --- | +Rubrique IN_PKID () SDT_IDIntervention () +| Cardinalités | 0,n | | 0,1 | | +| ------------ | -------------------------------------------------- | ------- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Pas de suppression des enregistrements reliés | | | | +| 06/08/2026 | | Isis_BO | | 67 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Liaisons +Contrainte_Telephone_Personne +| | | | Source | | | Relié | | +| ------------ | --- | -------------------------------------------------- | ------ | --- | -------------------------------------- | ----- | --- | +| Table | | Personne | | | Telephone | | | +| Rubrique | | PE_PKID () | | | TE_IDPersonne () | | | +| Cardinalités | | 0,n | | | 0,1 | | | +| Modification | | Modification en cascade des enregistrements reliés | | | | | | +| Suppression | | Suppression en cascade des enregistrements reliés. | | | | | | +Schéma des données +Connexions +¹ *nnoC .mT +| | | | | | ruetasilitU | | ¹ *cexE .mT | +| --------------- | --------- | --- | ----------------- | --- | ----------- | -------- | ----------- | +| | Connexion | | Source de données | | | Provider | | +| ConnexionLocale | | | | | | | 0 0 | + +Connexion HFSQL Classic +| Utilisée par... | | Personne | | Societe | | Client | | +| --------------- | --- | -------- | --- | --------------- | --- | ------- | --- | +| | | Lieu | | ParametreMetier | | Adresse | | +Client_Adresse +Tm. Exec* : Timeout d'exécution +¹ Tm. Conn* : Timeout de connexion +Schéma des données +Tables et rubriques +somém .sserpmoC +| | | | | | ¹ * rcE/tceL .lnJ | seénnod .tpyrC | | +| --- | --- | --- | --- | --- | ----------------- | -------------- | --- | +noitarénég°N +.gerne elliaT omém .tpyrC +| | | noitaivérbA | | noitacilpéR | ¹ * étirucéS | xedni .tpyrC | | +| --- | --- | ----------- | --- | ----------- | ------------ | ------------ | --- | +¹ * secapsE +¹ * rcE .lnJ +| | | | .otua .dI oG2 ed + | | | | | +| --- | --- | --- | ------------------ | --- | --- | --- | --- | +epyT +| AccesEtDroit | | | 4 67 | | | | HFSQL | +| ------------ | --- | --- | ----- | --- | --- | --- | ------ | +Classic +| Action | | | 3 359 | | | | HFSQL | +| ------ | --- | --- | ------ | --- | --- | --- | ------ | +Classic +| 06/08/2026 | | | | Isis_BO | | | 68 | +| ---------- | --- | --- | --- | ------- | --- | --- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Schéma des données +somém .sserpmoC +¹ * rcE/tceL .lnJ seénnod .tpyrC +noitarénég°N +.gerne elliaT xedni .tpyrC omém .tpyrC +| | noitaivérbA | noitacilpéR | ¹ * étirucéS | | +| --- | ----------- | ----------- | ------------ | --- | +¹ * secapsE +¹ * rcE .lnJ +| | .otua .dI oG2 ed + | | | | +| --- | ------------------ | --- | --- | --- | +epyT +| Adresse | 12 651 | | | HFSQL | +| ------- | ------- | --- | --- | ------ | +Classic +| BddExterne | 8 117 | | | HFSQL | +| ---------- | ------ | --- | --- | ------ | +Classic +| CheckList | 6 177 | | | HFSQL | +| --------- | ------ | --- | --- | ------ | +Classic +| CheckList_Collab | 5 67 | | | HFSQL | +| ---------------- | ----- | --- | --- | ------ | +Classic +| Client | 37 696 | | | HFSQL | +| ------ | ------- | --- | --- | ------ | +Classic +| Client_Adresse | 8 42 | | | HFSQL | +| -------------- | ----- | --- | --- | ------ | +Classic +| Client_BddExterne | 8 105 | | | HFSQL | +| ----------------- | ------ | --- | --- | ------ | +Classic +| Client_Lieu | 4 65 | | | HFSQL | +| ----------- | ----- | --- | --- | ------ | +Classic +366 +| Collaborateur | 20 | | | HFSQL | +| ------------- | --- | --- | --- | ------ | +Classic +420 +| CompteRendu | 5 | | | HFSQL | +| ----------- | --- | --- | --- | ------ | +Classic +83 +| Compteur | 4 | | | HFSQL | +| -------- | --- | --- | --- | ------ | +Classic +405 +| Document | 12 | | | HFSQL | +| -------- | --- | --- | --- | ------ | +Classic +82 +| DocumentNote | 3 | | | HFSQL | +| ------------ | --- | --- | --- | ------ | +Classic +312 +| Dossier | 27 | | | HFSQL | +| ------- | --- | --- | --- | ------ | +Classic +108 +| Equipe | 3 | | | HFSQL | +| ------ | --- | --- | --- | ------ | +Classic +66 +| Equipe_Collaborateur | 4 | | | HFSQL | +| -------------------- | --- | --- | --- | ------ | +Classic +57 +| EtatIntervention | 6 | | | HFSQL | +| ---------------- | --- | --- | --- | ------ | +Classic +427 +| Intervention | 51 | | | HFSQL | +| ------------ | --- | --- | --- | ------ | +Classic +Intervention_BddExter 97 +4 HFSQL +Classic +Intervention_ChampLib 117 +3 HFSQL +Classic +Intervention_Collabora 65 +1 HFSQL +Classic +136 +| Intervention_Personne | 3 | | | HFSQL | +| --------------------- | --- | --- | --- | ------ | +Classic +712 +| Lieu | 28 | | | HFSQL | +| ---- | --- | --- | --- | ------ | +Classic +180 +| Lieu_Personne | 11 | | | HFSQL | +| ------------- | --- | --- | --- | ------ | +Classic +29 +| MailCat | 2 | | | HFSQL | +| ------- | --- | --- | --- | ------ | +Classic +| 06/08/2026 | | Isis_BO | | 69 | +| ---------- | --- | ------- | --- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Schéma des données +somém .sserpmoC +¹ * rcE/tceL .lnJ seénnod .tpyrC +noitarénég°N +.gerne elliaT xedni .tpyrC omém .tpyrC +| | noitaivérbA | noitacilpéR | ¹ * étirucéS | | +| --- | ----------- | ----------- | ------------ | --- | +¹ * secapsE +¹ * rcE .lnJ +| | .otua .dI oG2 ed + | | | | +| --- | ------------------ | --- | --- | --- | +epyT +| MailModele | 7 175 | | | HFSQL | +| ---------- | ------ | --- | --- | ------ | +Classic +| MessageExterne | 6 1102 | | | HFSQL | +| -------------- | ------- | --- | --- | ------ | +Classic +| MessageInterne | 2 90 | | | HFSQL | +| -------------- | ----- | --- | --- | ------ | +Classic +| Mobile | 3 219 | | | HFSQL | +| ------ | ------ | --- | --- | ------ | +Classic +| MobLog | 1 34 | | | HFSQL | +| ------ | ----- | --- | --- | ------ | +Classic +| MobReception | 1 153 | | | HFSQL | +| ------------ | ------ | --- | --- | ------ | +Classic +| ModeleRapportMob | 3 64 | | | HFSQL | +| ---------------- | ----- | --- | --- | ------ | +Classic +| MotClef | 5 171 | | | HFSQL | +| ------- | ------ | --- | --- | ------ | +Classic +84 +| ParametreApplication | 3 | | | HFSQL | +| -------------------- | --- | --- | --- | ------ | +Classic +405 +| ParametreMetier | 17 | | | HFSQL | +| --------------- | --- | --- | --- | ------ | +Classic +ParametreMetierEntet 360 +11 HFSQL +Classic +327 +| ParametreSysteme | 1 | | | HFSQL | +| ---------------- | --- | --- | --- | ------ | +Classic +84 +| ParametreUtilisateur | 3 | | | HFSQL | +| -------------------- | --- | --- | --- | ------ | +Classic +562 +| Personne | 28 | | | HFSQL | +| -------- | --- | --- | --- | ------ | +Classic +323 +| Planning_RDV | 25 | | | HFSQL | +| ------------ | --- | --- | --- | ------ | +Classic +Planning_RDV_Personn 83 +8 HFSQL +Classic +463 +| Societe | 16 | | | HFSQL | +| ------- | --- | --- | --- | ------ | +Classic +66 +| Societe_Collaborateur | 4 | | | HFSQL | +| --------------------- | --- | --- | --- | ------ | +Classic +267 +| SuiviDesTemps | 17 | | | HFSQL | +| ------------- | --- | --- | --- | ------ | +Classic +37 +| Telephone | 2 | | | HFSQL | +| --------- | --- | --- | --- | ------ | +Classic +511 +| Utilisateur | 14 | | | HFSQL | +| ----------- | --- | --- | --- | ------ | +Classic +¹ Espaces * : Complétion des chaînes par des espaces Jnl. Ecr * : Journalisation des écritures +Jnl. Lect/Ecr * : Journalisation des lectures et écritures Sécurité * : Mode sécurité renforcée +| 06/08/2026 | | Isis_BO | | 70 | +| ---------- | --- | ------- | --- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › AccesEtDroit › Tables et rubriques +AccesEtDroit +Tables et rubriques +Informations générales +AccesEtDroit AccesEtDroit +Nom sur disque AccesEtDroit.fic +Groupe(s) ProtectionStd +Rubriques de la table AccesEtDroit +nolbuoD élC +tuaféd .laV +euqinU élC +Libellé Type +elliaT +sneS +AED_PKID Identifiant de AccesEtDroit Identifiant automatique +(8 octets) +| AED_IDProfil | Identifiant de Profil | Entier sur 8 octets | 0 | +| ------------ | ----------------------- | ------------------- | --- | +| AED_IDModule | Identifiant de Module | Entier sur 8 octets | 0 | +| AED_Acces | L'accès est il autorisé | Booléen | 0 | +| CreationDate | Créé le | Date et Heure | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | 0 | +| ------------ | ---------- | ------------------- | --- | +| ModifDate | Modifié le | Date et Heure | | +(aaaammjjhhmmssccc) +| ModifUser | Modifié par | Entier sur 8 octets | 0 | +| ---------- | ----------- | ------------------- | --- | +| 06/08/2026 | | Isis_BO | 71 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Action › Tables et rubriques +Action +Tables et rubriques +Informations générales +Action Action +Nom sur disque Action.fic +Groupe(s) ProtectionStd +Rubriques de la table Action +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| AC_PKID | Identifiant de Action | Identifiant automatique | | | +| ------- | --------------------- | ------------------------ | --- | --- | +(8 octets) +| AC_DateAction | Date de l'action | Date (aaaammjj) | | | +| -------------- | ----------------- | --------------- | --- | --- | +| AC_HeureAction | Heure de l'action | Heure (hhmm) | | | +AC_IDTypeAction Identifiant du type d'action Entier sur 8 octets 0 +AC_IDIntervention Identifiant de l'Intervention Entier sur 8 octets 0 +| AC_Description | Description de l'action | Chaîne | 250 | | +| -------------- | -------------------------- | ------- | --- | --- | +| AC_Clos | L'action est Clos | Booléen | | 0 | +| AC_IDQui | Identifiant de la personne | | | 0 | +Entier sur 8 octets +| AC_IDImport | Identifiant de l'import | Chaîne | 50 | | +| ----------- | ----------------------- | ------- | --- | --- | +| 06/08/2026 | | Isis_BO | | 72 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Adresse › Tables et rubriques +Adresse +Tables et rubriques +Informations générales +Adresse Adresse +Nom sur disque Adresse.fic +Connexion Connexion HFSQL Classic +Groupe(s) ProtectionStd +Index full-text AD_Index_FullText (Rubriques : AD_Etiquette, AD_Presentation) +Rubriques de la table Adresse +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| AD_PKID | Identifiant de ADRESSE | Identifiant automatique | | | +| ------- | ---------------------- | ------------------------ | --- | --- | +(8 octets) +FR: Identifiant unique du fichier Adresse +| AD_Etiquette | Etiquette de l'adresse | Chaîne | 25 | | +| ------------ | ---------------------- | ------ | --- | --- | +FR: Etiquette libre d'une Adresse +| AD_Ligne_1 | 1ère ligne d'adresse | Chaîne | 38 | | +| ---------- | -------------------- | ------ | --- | --- | +FR: Première ligne d'adresse +BtoC : Civilité - Titre ou Qualité - Prénom - Nom +BtoB : Raison sociale ou dénomination +| AD_Ligne_2 | 2ème ligne d'adresse | Chaîne | 38 | | +| ---------- | -------------------- | ------ | --- | --- | +FR: Deuxième ligne d'adresse +BtoC : N°APP ou BAL - Etage - Couloir - Esc +BtoB : Identité du destinataire et/ou service +| AD_Ligne_3 | 3ème ligne d'adresse | Chaîne | 38 | | +| ---------- | -------------------- | ------ | --- | --- | +FR: Troisième ligne d'adresse +BtoC : Entrée - Bâtiment - Immeuble - Résidence +BtoB : Entrée - Bâtiment - Immeuble - Résidence - ZI +| AD_Ligne_4 | 4ème ligne d'adresse | Chaîne | 100 | | +| ---------- | -------------------- | ------ | --- | --- | +FR: Quatrième ligne d'adresse +BtoC : Numéro - Libellé de la voie +BtoB : Numéro - Libellé de la voie +| AD_Ligne_5 | 5ème ligne d'adresse | Chaîne | 38 | | +| ---------- | -------------------- | ------ | --- | --- | +FR: Cinquième ligne d'adresse +BtoC : Lieu dit ou Service particulier de distribution +BtoB : Mention spéciale et commune géographique +| AD_CodePostal | Code Postal | Chaîne | 15 | | +| ------------- | ----------- | ------ | --- | --- | +FR: Code postale de l'adresse +| AD_Ville | Ville | Chaîne | 45 | | +| -------- | ----- | ------ | --- | --- | +FR: Ville de l'adresse +| AD_Presentation | Présentation Adresse | Chaîne | 255 | | +| --------------- | -------------------- | ------ | --- | --- | +FR: Présentation de l'adresse composée librement pour figurer sur les documents à destination du courrier +| 06/08/2026 | | Isis_BO | | 73 | +| ---------- | --- | ------- | --- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Adresse › Tables et rubriques +nolbuoD élC +euqinU élC tuaféd .laV +Libellé Type +elliaT sneS +| CreationDate | Date de création | Date et Heure | | +| ------------ | ---------------- | -------------- | --- | +(aaaammjjhhmmssccc) +| CreationUser | Utilisateur de création | Entier sur 8 octets | 0 | +| ------------ | ----------------------- | ------------------- | --- | +| ModifDate | Date de Modification | Date et Heure | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | 0 | +| ---------- | --------------------------- | ------------------- | --- | +| 06/08/2026 | | Isis_BO | 74 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › BddExterne › Tables et rubriques +BddExterne +Tables et rubriques +Informations générales +BddExterne BddExterne +Nom sur disque BddExterne.fic +Groupe(s) ProtectionStd +Rubriques de la table BddExterne +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| BSX_PKID | Identifiant de Base_Ext | Identifiant automatique | | | +| -------- | ----------------------- | ------------------------ | --- | --- | +(8 octets) +| BSX_Nom | Nom | Chaîne | 50 | | +| ------------ | --------------- | -------------- | --- | --- | +| BSX_Param | Paramètres JSON | Mémo texte | | | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifDate | Modifié le | Date et Heure | | | +| --------- | ---------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ------------- | --------------------------- | ------------------- | --- | --- | +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| BSX_IDSociete | Identifiant de la Société | Entier sur 8 octets | | | +| 06/08/2026 | | Isis_BO | | 75 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › CheckList › Tables et rubriques +CheckList +Tables et rubriques +Informations générales +CheckList CheckList +Nom sur disque CheckList.fic +Groupe(s) ProtectionStd +Rubriques de la table CheckList +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| CHK_PKID | Identifiant de CheckList | Identifiant automatique | | | +| -------- | ------------------------ | ------------------------ | --- | --- | +(8 octets) +| CHK_Nom | Nom regoupant les éléments | Chaîne | 50 | | +| ----------- | ----------------------------- | ------- | --- | --- | +| CHK_Element | Element de la checklist | Chaîne | 50 | | +| CHK_Fait | Indique si l'élément est fait | Booléen | | 0 | +CHK_Ordre Ordre d'apparation de l'élément Entier sur 4 octets 0 +| CHK_IDModele | Identifiant du modèle | Entier sur 8 octets | | 0 | +| ------------ | --------------------- | ------------------- | --- | --- | +CHK_IDIntervention Identifiant de Intervention Entier sur 8 octets 0 +| CreationDate | Créé le | Date et Heure | | | +| ------------ | ------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | ---------- | ------------------- | --- | --- | +| ModifDate | Modifié le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| --------- | --------------------------- | ------------------- | --- | --- | +CHK_OrdreDuGroupe Ordre d'apparition du Groupe Entier sur 4 octets 0 +| 06/08/2026 | | Isis_BO | | 76 | +| ---------- | --- | ------- | --- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › CheckList_Collab › Tables et rubriques +CheckList_Collab +Tables et rubriques +Informations générales +CheckList_Collab CheckList_Collab +Nom sur disque CheckList_Collab.fic +Groupe(s) ProtectionStd +Rubriques de la table CheckList_Collab +nolbuoD élC +euqinU élC tuaféd .laV +Libellé Type +elliaT +sneS +CHC_PKID Identifiant de CheckList_Collab Identifiant automatique +(8 octets) +CHC_IDCollaborateur Identifiant de Collaborateur Entier sur 8 octets 0 +CHC_IDCheckList Identifiant de CheckList Entier sur 8 octets 0 +| CHC_Fait | Indique l'élément de la checklist | Booléen | 0 | +| ------------ | ---------------------------------- | -------------- | --- | +| CreationDate | Créé le | Date et Heure | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | 0 | +| ------------ | ---------- | ------------------- | --- | +| ModifDate | Modifié le | Date et Heure | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | 0 | +| ---------- | --------------------------- | ------------------- | --- | +| 06/08/2026 | | Isis_BO | 77 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Client › Tables et rubriques +Client +Tables et rubriques +Informations générales +Client Client +Nom sur disque Client.fic +Connexion Connexion HFSQL Classic +Répertoire de la table +Groupe(s) ProtectionStd +Index full-text CL_Index_FullText (Rubriques : CL_Nom, CL_Tel, CL_Fax, CL_CodeClient) +Rubriques de la table Client +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| CL_PKID | Identifiant de Client | Identifiant automatique | | | +| ------- | --------------------- | ------------------------ | --- | --- | +(8 octets) +FR: Identifiant unique du fichier Client +| CL_Nom | Nom | Chaîne | 100 | | +| ------ | --- | ------ | --- | --- | +FR: Nom du client +| CL_IDType | Type | Entier sur 8 octets | | 0 | +| --------- | ---- | ------------------- | --- | --- | +FR: Type de client +Régie, Collectivité, Entreprise, Particulier +| CL_IDStatut | Statut | Entier sur 8 octets | | 0 | +| ----------- | ------ | ------------------- | --- | --- | +FR: Statut du client +Client, Actif +CL_IDAdressePrincipale Adresse principale Entier sur 8 octets 0 +FR: Identifiant unique dans le fichier Adresse permettant de référencer l'adresse principale du client +| ModifDate | Date de Modification | Date et Heure | | | +| --------- | -------------------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ------------ | --------------------------- | ------------------- | --- | --- | +| CreationDate | Date de création | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Utilisateur de création | Entier sur 8 octets | | 0 | +| ------------- | ----------------------- | ------------------- | --- | --- | +| CL_Tel | Téléphone Client | Chaîne | 15 | | +| CL_Fax | Fax Client | Chaîne | 15 | | +| CL_IDImport | Identifiant Import | Chaîne | 50 | | +| Archive | Enregistrement Archivée | Booléen | | 0 | +| DateArchivage | Date d'archivage | Date et Heure | | | +(aaaammjjhhmmssccc) +| CL_CodeComptable | Code comptable | Chaîne | 25 | | +| ---------------- | -------------- | ---------- | --- | --- | +| CL_Email | Email | Mémo texte | | | +| 06/08/2026 | | Isis_BO | | 78 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Client › Tables et rubriques +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| ----------------- | ----------------------------- | ------ | ------ | ---- | +| CL_RepertoireDocs | Répertoire des docs du client | Chaîne | 255 | | +CL_IDContactPrincipal Identifiant du contact principal Entier sur 8 octets 0 +CL_IDLieuPrincipal Identifiant du site principal Entier sur 8 octets 0 +| CL_IDApporteur | Apporté par | Entier sur 8 octets | | 0 | +| ------------------ | ----------------------------- | ------------------- | --- | --- | +| CL_IDApportOrigine | Apporté comment | Entier sur 8 octets | | 0 | +| CL_CodeClient | Code client | Chaîne | 10 | | +| CL_Blocage | Blocage commerciale du client | Booléen | | 0 | +| Cl_RaisonBlocage | Raison du blocage Blocage | Mémo texte | | | +| CL_FormeJuridique | Forme juridique | Chaîne | 25 | 0 | +| CL_IDModeReglement | Mode de règlement | Entier sur 8 octets | | 0 | +| CL_InfoSup | Information supplémentaire | Mémo texte | | | +| CL_Pays | Code Pays | Chaîne | 3 | | +| CL_CodeTVA | Code de TVA | Chaîne | 13 | | +| CL_SIREN | Numéro de SIREN | Chaîne | 9 | | +| CL_SIRET | Numéro de SIRET | Chaîne | 14 | | +| 06/08/2026 | | Isis_BO | | 79 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Client_Adresse › Tables et rubriques +Client_Adresse +Tables et rubriques +Informations générales +Client_Adresse Relation Client/Adresse +Nom sur disque Client_Adresse.fic +Connexion Connexion HFSQL Classic +Répertoire de la table +Groupe(s) ProtectionStd +Rubriques de la table Client_Adresse +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| CA_PKID | CA_PKID | Identifiant automatique | | | +| ------- | ------- | ------------------------ | --- | --- | +(8 octets) +| CA_IDAdresse | Adresse | Entier sur 8 octets | | 0 | +| ------------ | ------- | ------------------- | --- | --- | +FR: Identifiant unique du fichier Adresse +| CA_IDClient | Client | Entier sur 8 octets | | 0 | +| ----------- | ------ | ------------------- | --- | --- | +FR: Identifiant unique du fichier Client +| CA_IDCli_IDAd | Clé composée Client_Adresse | Clé composée : | 16 | | +| ------------- | --------------------------- | --------------- | --- | --- | +CA_IDClient+CA_IDAdres +se +FR: Clé composé du fichier Client et Adresse +| CA_IDTypeAdresse | Type d'adresse | Entier sur 8 octets | | 0 | +| ---------------- | --------------- | ------------------- | --- | --- | +FR: Identifiant unique du fichier ParamètreMetier permettant d'affecter un type d'adresse au fichier de relation +Livraison, Facturation +| CA_Principale | CA_Principale | Booléen | | 0 | +| ------------- | ------------- | ------- | --- | --- | +| 06/08/2026 | | Isis_BO | | 80 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Client_BddExterne › Tables et rubriques +Client_BddExterne +Tables et rubriques +Informations générales +Client_BddExterne Client_BddExterne +Nom sur disque Client_BddExterne.fic +Groupe(s) ProtectionStd +Rubriques de la table Client_BddExterne +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| CLX_PKID | Identifiant de Client_Ext | Identifiant automatique | | | +| -------- | ------------------------- | ------------------------ | --- | --- | +(8 octets) +| CLX_IDCLient | ID CLient | Entier sur 8 octets | | 0 | +| --------------- | --------------------------- | ------------------- | --- | --- | +| CLX_IDExterne | ID Externe | Chaîne | 30 | | +| CLX_DateSynchro | Date Heure dernière synchro | Date et Heure | | | +(aaaammjjhhmmssccc) +| CLX_IDBddExterne | ID Bdd externe | Entier sur 8 octets | | 0 | +| ---------------- | -------------- | ------------------- | --- | --- | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | ---------- | ------------------- | --- | --- | +| ModifDate | Modifié le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| --------- | --------------------------- | ------------------- | --- | --- | +CLX_IDBddExterneCLX_I +| | CLX_IDBddExterne + CLX_IDCLient | Clé composée : | 16 | | +| --- | ------------------------------- | --------------- | --- | --- | +CLX_IDBddExterne+CLX_I +DCLient +| 06/08/2026 | | Isis_BO | | 81 | +| ---------- | --- | ------- | --- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Client_Lieu › Tables et rubriques +Client_Lieu +Tables et rubriques +Informations générales +Client_Lieu Client_Lieu +Nom sur disque Client_Lieu.fic +Groupe(s) ProtectionStd +Rubriques de la table Client_Lieu +nolbuoD élC +euqinU élC tuaféd .laV +Libellé Type +elliaT +sneS +| CLI_PKID | Identifiant de Client_Lieu | Identifiant automatique | | +| -------- | -------------------------- | ------------------------ | --- | +(8 octets) +| CLI_IDClient | CLI_IDClient | Entier sur 8 octets | 0 | +| ------------ | ---------------- | ------------------- | --- | +| CLI_IDLieu | CLI_IDLieu | Entier sur 8 octets | 0 | +| CreationDate | Date de création | Date et Heure | | +(aaaammjjhhmmssccc) +| ModifDate | Date de Modification | Date et Heure | | +| --------- | -------------------- | -------------- | --- | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | 0 | +| ------------ | --------------------------- | ------------------- | --- | +| CreationUser | Utilisateur de création | Entier sur 8 octets | 0 | +| 06/08/2026 | | Isis_BO | 82 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Collaborateur › Tables et rubriques +Collaborateur +Tables et rubriques +Informations générales +Collaborateur Collaborateur +Nom sur disque Collaborateur.fic +Groupe(s) ProtectionStd +CO_Index_FullText (Rubriques : CO_Nom, CO_Prenom, CO_TelFixe, CO_TelMobile, CO_Email, +Index full-text +CO_Trigramme) +Rubriques de la table Collaborateur +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| CO_PKID | Identifiant de Collaboteur | Identifiant automatique | | | +| ------- | -------------------------- | ------------------------ | --- | --- | +(8 octets) +CO_IDCivilite Identifiant de la civilité du Entier sur 8 octets 0 +| CO_Nom | CO_Nom | Chaîne | 50 | | +| ------------ | ------------------------- | -------------- | --- | --- | +| CO_Prenom | CO_Prenom | Chaîne | 50 | | +| CO_TelFixe | CO_TelFixe | Chaîne | 15 | | +| CO_TelMobile | CO_TelMobile | Chaîne | 15 | | +| CO_Email | CO_Email | Chaîne | 50 | | +| CO_Fonction | Fonction du collaborateur | Chaîne | 50 | | +| CreationDate | Date de création | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Utilisateur de création | Entier sur 8 octets | | 0 | +| ------------ | ----------------------- | ------------------- | --- | --- | +| ModifDate | Date de Modification | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| --------- | --------------------------- | ------------------- | --- | --- | +CO_AuPlanning Indique qu'on gère le planning pour ce Booléen 0 +| CO_Actif | Collaborateur Actif | Booléen | | 1 | +| ----------- | -------------------- | ------- | --- | --- | +| CO_IDImport | Identifiant d'Import | Chaîne | 50 | | +CO_Ponderation Pondération sur le collaborateur Réel sur 4 octets 0 +| CO_Trigramme | Trigramme | Chaîne | 3 | | +| -------------- | ----------------------- | ------------------- | --- | --- | +| CO_IDStatut | Statut du collaborateur | Entier sur 8 octets | | 0 | +| CO_AccesBO | Utilise le Back-Office | Booléen | | 0 | +| CO_AccesMobile | Utilise le Mobile | Booléen | | 0 | +| 06/08/2026 | | Isis_BO | | 83 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › CompteRendu › Tables et rubriques +CompteRendu +Tables et rubriques +Informations générales +CompteRendu CompteRendu +Nom sur disque CompteRendu.fic +Groupe(s) ProtectionStd +Rubriques de la table CompteRendu +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| CR_PKID | Identifiant de CompteRendu | Identifiant automatique | | | +| ------- | -------------------------- | ------------------------ | --- | --- | +(8 octets) +| CR_IDRdv | Identifiant de Planning_RDV | Entier sur 8 octets | | 0 | +| -------- | --------------------------- | ------------------- | --- | --- | +CR_IDIntervention Identifiant de Intervention Entier sur 8 octets 0 +| GUID | GUID | Chaîne | 32 | | +| ----------------- | ---------------------- | -------------- | --- | --- | +| CR_DateHeureDebut | Date et Heure de Debut | Date et Heure | | | +(aaaammjjhhmmssccc) +| CR_DateHeureFin | Date et Heure de Fin | Date et Heure | | | +| --------------- | -------------------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| CR_NoteCollaborateur | Note du collaborateur | Mémo texte | | | +| -------------------- | -------------------------- | -------------- | --- | --- | +| CR_NomSignataire | Nom du Signataire | Chaîne | 50 | | +| CR_NoteSignataire | Note Signataire | Chaîne | 50 | | +| CR_DateHeureSignatur | Date et Heure de Signature | Date et Heure | | | +(aaaammjjhhmmssccc) +| CR_Signature | Signature | Image (mémo binaire) | | | +| ------------ | --------- | -------------------- | --- | --- | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | ---------- | ------------------- | --- | --- | +| ModifDate | Modifié le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| --------- | --------------------------- | ------------------- | --- | --- | +CR_IDCollaborateur Identifiant de Collaborateur Entier sur 8 octets 0 +CR_SignatureTech Signature du technicien Image (mémo binaire) +| CR_NomSignataireTech | Nom du technicien Signataire | Chaîne | 50 | | +| -------------------- | ---------------------------- | ------- | --- | --- | +| CR_DevisConforme | Devis Conforme | Booléen | | 0 | +| CR_AvecReserve | Avec Réserve | Booléen | | 0 | +| CR_ReserveCommentai | Commentaire de Réserve | Chaîne | 100 | | +CR_IDTypeSignataire Identifiant du TypeSignataire Entier sur 8 octets 0 +| 06/08/2026 | | Isis_BO | | 84 | +| ---------- | --- | ------- | --- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Compteur › Tables et rubriques +Compteur +Tables et rubriques +Informations générales +Compteur Compteur +Nom sur disque Compteur.fic +Groupe(s) ProtectionStd +Rubriques de la table Compteur +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| CPT_PKID | Identifiant de Compteur | Identifiant automatique | | | +| -------- | ----------------------- | ------------------------ | --- | --- | +(8 octets) +| CPT_Code | Code Compteur | Chaîne | 50 | | +| ------------ | -------------- | ------------------- | --- | --- | +| CPT_Annee | Année Compteur | Entier sur 2 octets | | 0 | +| CPT_Valeur | Valeur | Entier sur 8 octets | | 0 | +| CPT_ParAnnee | Par Année | Booléen | | 0 | +| CPT_ParMois | Par Mois | Booléen | | 0 | +| CPT_Mois | Mois Compteur | Entier sur 1 octet | | 0 | +| CPT_Actif | Actif | | | 0 | +Booléen +| 06/08/2026 | | Isis_BO | | 85 | +| ---------- | --- | ------- | --- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Document › Tables et rubriques +Document +Tables et rubriques +Informations générales +Document Document +Nom sur disque Document.fic +Groupe(s) ProtectionStd +Rubriques de la table Document +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| DC_PKID | Identifiant de Document | Identifiant automatique | | | +| ------- | ----------------------- | ------------------------ | --- | --- | +(8 octets) +DC_IDIntervention Identifiant de Intervention Entier sur 8 octets 0 +| DC_Nom | Nom du document | Chaîne | 255 | | +| -------------- | ------------------------------- | ------------------- | --- | --- | +| DC_Commentaire | Commentaire attaché au document | Mémo texte | | | +| DC_Categorie | Catégorie de classement | Entier sur 8 octets | | 0 | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | ---------- | ------------------- | --- | --- | +| ModifDate | Modifié le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| -------------- | --------------------------- | ------------------- | --- | --- | +| DC_DateFichier | DC_DateFichier | Date (aaaammjj) | | | +DC_IDMessageExterne Identifiant du Message externe Entier sur 8 octets 0 +| GUID | GUID | Chaîne | 32 | | +| ---- | ---- | ------ | --- | --- | +DC_IDEtatDocument Identifiant de l'état du document Entier sur 8 octets 0 +| DC_HeriteDroit | Hérite du droit | Chaîne | 8 | | +| -------------- | --------------- | ---------- | --- | --- | +| DC_Chemin | Chemin | Mémo texte | | | +| 06/08/2026 | | Isis_BO | | 86 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › DocumentNote › Tables et rubriques +DocumentNote +Tables et rubriques +Informations générales +DocumentNote DocumentNote +Nom sur disque DocumentNote.fic +Groupe(s) ProtectionStd +Rubriques de la table DocumentNote +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| DN_PKID | Identifiant de DocumentNote | Identifiant automatique | | | +| ------- | --------------------------- | ------------------------ | --- | --- | +(8 octets) +| DN_IDDocument | DN_IDDocument | Entier sur 8 octets | | 0 | +| ------------- | ------------- | ------------------- | --- | --- | +| DN_Note | Note | Mémo texte | | | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | -------- | ------------------- | --- | --- | +| GUID | GUID | Chaîne | 32 | | +| 06/08/2026 | | Isis_BO | | 87 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Dossier › Tables et rubriques +Dossier +Tables et rubriques +Informations générales +Dossier Dossier +Nom sur disque Dossier.fic +Groupe(s) ProtectionStd +Index full-text DO_Index_FullText (Rubriques : DO_Titre, DO_RefInterne, DO_RefExterne, DO_NumDossier) +Rubriques de la table Dossier +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| ------- | ---------------------- | ------------------------ | ------ | ---- | +| DO_PKID | Identifiant de DOSSIER | Identifiant automatique | | | +(8 octets) +| DO_IDClient | Identifiant de CLIENT | Entier sur 8 octets | | 0 | +| ---------------- | --------------------- | ------------------- | --- | --- | +| DO_IDTypeDossier | Type de Dossier | Entier sur 8 octets | | 0 | +| DO_Titre | Titre du Dossier | Chaîne | 50 | | +DO_IDStatut Identifiant du Statut du dossier Entier sur 8 octets 0 +| DO_RefInterne | Référence interne du dossier | Chaîne | 50 | | +| ------------- | ---------------------------- | -------------- | --- | --- | +| DO_RefExterne | Référence externe du dossier | Chaîne | 50 | | +| CreationDate | Date de création | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Utilisateur de création | Entier sur 8 octets | | 0 | +| ------------ | ----------------------- | ------------------- | --- | --- | +| ModifDate | Date de Modification | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ------------- | --------------------------- | ------------------- | --- | --- | +| DO_IDImport | Identifiant Import | Chaîne | 50 | | +| DO_IDSociete | Identifiant de SOCIETE | Entier sur 8 octets | | 0 | +| DO_DateDebut | Date de début du dossier | Date (aaaammjj) | | | +| Archive | Enregistrement Archivée | Booléen | | 0 | +| DateArchivage | Date d'archivage | Date et Heure | | | +(aaaammjjhhmmssccc) +| DO_NumDossier | NumDossier | Chaîne | 6 | | +| ------------- | ---------- | ------- | --- | --- | +| 06/08/2026 | | Isis_BO | | 88 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Equipe › Tables et rubriques +Equipe +Tables et rubriques +Informations générales +Equipe Equipe +Nom sur disque Equipe.fic +Groupe(s) ProtectionStd +Rubriques de la table Equipe +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| EQ_PKID | Identifiant de Equipe | Identifiant automatique | | | +| ------- | --------------------- | ------------------------ | --- | --- | +(8 octets) +| EQ_Nom | Nom de l'équipe | Chaîne | 50 | | +| ------------ | ---------------- | ------------------- | --- | --- | +| EQ_IDSociete | SO_PKID | Entier sur 8 octets | | 0 | +| CreationDate | Date de création | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Utilisateur de création | Entier sur 8 octets | | 0 | +| ------------ | ----------------------- | ------------------- | --- | --- | +| ModifDate | Date de Modification | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ---------- | --------------------------- | ------------------- | --- | --- | +| 06/08/2026 | | Isis_BO | | 89 | + +Partie 2 › ... › Tables et rubriques › Equipe_Collaborateur › Tables et rubriques +Equipe_Collaborateur +Tables et rubriques +Informations générales +Equipe_Collaborateur Equipe_Collaborateur +Nom sur disque Equipe_Collaborateur.fic +Groupe(s) ProtectionStd +Rubriques de la table Equipe_Collaborateur +nolbuoD élC +euqinU élC tuaféd .laV +Libellé Type +elliaT +sneS +EC_PKID Identifiant de Equipe_Collaborateur Identifiant automatique +(8 octets) +EC_IDCollaborateur Identifiant de Collaborateur Entier sur 8 octets 0 +| EC_IDEquipe | Identifiant de Equipe | Entier sur 8 octets | 0 | +| ----------- | --------------------- | ------------------- | --- | +EC_IDEquipe_EC_IDColla Identifiant de Equipe_Collaborateur Clé composée : 16 +EC_IDEquipe+EC_IDColla +borateur +| CreationDate | Date de création | Date et Heure | | +| ------------ | ---------------- | -------------- | --- | +(aaaammjjhhmmssccc) +| CreationUser | Utilisateur de création | Entier sur 8 octets | 0 | +| ------------ | ----------------------- | ------------------- | --- | +| ModifDate | Date de Modification | Date et Heure | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | 0 | +| ---------- | --------------------------- | ------------------- | --- | +| 06/08/2026 | | Isis_BO | 90 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › EtatIntervention › Tables et rubriques +EtatIntervention +Tables et rubriques +Informations générales +EtatIntervention EtatIntervention +Nom sur disque EtatIntervention.fic +Groupe(s) ProtectionStd +Rubriques de la table EtatIntervention +nolbuoD élC +euqinU élC tuaféd .laV +Libellé Type +elliaT +sneS +| EI_PKID | Identifiant de | Identifiant automatique | | +| ------- | --------------- | ------------------------ | --- | +(8 octets) +EI_IDEtat Identifiant de Etat d'intervention Entier sur 8 octets 0 +| EI_DateDebut | Date début | Date et Heure | | +| ------------ | ---------- | -------------- | --- | +(aaaammjjhhmmssccc) +| EI_DateFin | Date fin | Date et Heure | | +| ---------- | -------- | -------------- | --- | +(aaaammjjhhmmssccc) +| EI_Description | Description de l'intervention pour | Mémo texte | | +| -------------- | ----------------------------------- | ---------- | --- | +EI_IDIntervention Identifiant de Intervention Entier sur 8 octets 0 +| 06/08/2026 | | Isis_BO | 91 | +| ---------- | --- | ------- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Intervention › Tables et rubriques +Intervention +Tables et rubriques +Informations générales +Intervention Intervention +Nom sur disque Intervention.fic +Groupe(s) ProtectionStd +IN_Index_FullText (Rubriques : IN_Description, IN_NoteInterne, IN_Titre, IN_RefInterne, +Index full-text +IN_RefExterne, IN_NumIntervention, IN_NumDevis, IN_NumFacture) +Rubriques de la table Intervention +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| IN_PKID | Identifiant de Intervention | Identifiant automatique | | | +| ------- | --------------------------- | ------------------------ | --- | --- | +(8 octets) +IN_IDTypeIntervention Identifiant du Type d'Intervention Entier sur 8 octets 0 +IN_IDEtatIntervention Identifiant de l'état de l'Intervention Entier sur 8 octets 0 +IN_IDSuiviPar Identifiant du Collaborateur Entier sur 8 octets 0 +| IN_IDDossier | Identifiant de Dossier | Entier sur 8 octets | | 0 | +| ------------ | ---------------------- | ------------------- | --- | --- | +IN_IDDemandeur Identifiant du DEMANDEUR Entier sur 8 octets 0 +| IN_IDClient | Identifiant de Client | Entier sur 8 octets | | 0 | +| --------------------- | ----------------------------- | ------------------- | --- | --- | +| IN_IDLieu | Identifiant de Lieu | Entier sur 8 octets | | 0 | +| IN_Description | Description de l'intervention | Mémo texte | | | +| IN_AttestationTVAPres | Attestation TVA présentée | Booléen | | 0 | +| IN_NoteInterne | Note Interne | Mémo texte | | | +| CreationDate | Date de création | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Utilisateur de création | Entier sur 8 octets | | 0 | +| ------------ | ----------------------- | ------------------- | --- | --- | +| ModifDate | Date de Modification | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ------------- | ----------------------------------- | ------------------- | --- | --- | +| IN_Titre | Titre de l'intervention | Chaîne | 51 | | +| IN_RefInterne | Référence interne de l'intervention | Chaîne | 50 | | +| IN_RefExterne | Référence externe de l'interne | Chaîne | 50 | | +| IN_IDImport | Identifiant Import | Chaîne | 50 | | +| IN_IDSociete | Identifiant de Societe | Entier sur 8 octets | | 0 | +| Archive | Enregistrement Archivée | Booléen | | 0 | +| DateArchivage | Date d'archivage | Date et Heure | | | +(aaaammjjhhmmssccc) +| IN_DateIntervention | Date d'Intervention | Date (aaaammjj) | | | +| ------------------- | ------------------- | --------------- | --- | --- | +IN_DureePrevue Durée prévue d'intervention Réel sur 4 octets 0 +| 06/08/2026 | | Isis_BO | | 92 | +| ---------- | --- | ------- | --- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Intervention › Tables et rubriques +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT sneS +| IN_NumDevis | Numéro du devis | Chaîne | 20 | | +| ------------------ | -------------------- | --------------- | --- | --- | +| IN_DateDevis | Date du devis | Date (aaaammjj) | | | +| IN_NumFacture | Numéro de la facture | Chaîne | 20 | | +| IN_DateFacture | Date de la facture | Date (aaaammjj) | | | +| IN_NumIntervention | IN_NumIntervention | Chaîne | 6 | | +| 06/08/2026 | | Isis_BO | | 93 | + +Partie 2 › ... › Tables et rubriques › Intervention_BddExterne › Tables et rubriques +Intervention_BddExterne +Tables et rubriques +Informations générales +Intervention_BddExterne Intervention_BddExterne +Nom sur disque Intervention_BddExterne.fic +Groupe(s) ProtectionStd +Rubriques de la table Intervention_BddExterne +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +INX_PKID Identifiant de Intervention_Ext Identifiant automatique +(8 octets) +| INX_IDIntervention | INX_IDIntervention | Entier sur 8 octets | | 0 | +| ------------------ | ------------------ | ------------------- | --- | --- | +| INX_IDExterne | INX_IDExterne | Chaîne | 30 | | +| INX_IDBddExterne | Id bdd externe | Entier sur 8 octets | | 0 | +| ModifDate | Modifié le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ------------ | --------------------------- | ------------------- | --- | --- | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | -------- | ------------------- | --- | --- | +INX_IDBaseExtINX_IDIn +| | INX_IDBaseExt + INX_IDIntervention | Clé composée : | 16 | | +| --- | ---------------------------------- | --------------- | --- | --- | +INX_IDBddExterne+INX_I +DIntervention +| 06/08/2026 | | Isis_BO | | 94 | +| ---------- | --- | ------- | --- | --- | + +Partie 2 › ... › Tables et rubriques › Intervention_ChampLibre › Tables et rubriques +Intervention_ChampLibre +Tables et rubriques +Informations générales +Intervention_ChampLibre Intervention_ChampLibre +Nom sur disque Intervention_ChampLibre.fic +Groupe(s) ProtectionStd +Rubriques de la table Intervention_ChampLibre +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| ICL_PKID | Identifiant de | Identifiant automatique | | | +| -------- | --------------- | ------------------------ | --- | --- | +(8 octets) +| ICL_IDIntervention_ICL_ | Identifiant de | Clé composée : | 16 | | +| ----------------------- | --------------- | --------------- | --- | --- | +ICL_IDIntervention+ICL_I +DParametreMetier +ICL_IDIntervention Identifiant de Intervention Entier sur 8 octets 0 +| ICL_IDParametreMetier | Identifiant de ParametreMetier | | | 0 | +| --------------------- | ------------------------------ | --- | --- | --- | +Entier sur 8 octets +| ICL_ValeurDuChamp | Valeur Du Champ | Chaîne | 50 | | +| ----------------- | --------------- | -------------- | --- | --- | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | ---------- | ------------------- | --- | --- | +| ModifDate | Modifié le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ---------- | --------------------------- | ------------------- | --- | --- | +| 06/08/2026 | | Isis_BO | | 95 | + +Partie 2 › ... › Tables et rubriques › Intervention_Collaborateur › Tables et rubriques +Intervention_Collaborateur +Tables et rubriques +Informations générales +Intervention_Collaborateur Intervention_Collaborateur +Nom sur disque Intervention_Collaborateur.fic +Groupe(s) ProtectionStd +Rubriques de la table Intervention_Collaborateur +nolbuoD élC +euqinU élC tuaféd .laV +Libellé Type +elliaT +sneS +| IC_PKID | Identifiant de | Identifiant automatique | | +| ------- | --------------- | ------------------------ | --- | +(8 octets) +IC_IDIntervention Identifiant de Intervention Entier sur 8 octets 0 +IC_IDCollaborateur Identifiant de Collaborateur Entier sur 8 octets 0 +| CreationDate | Créé le | Date et Heure | | +| ------------ | ------- | -------------- | --- | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | 0 | +| ------------ | ---------- | ------------------- | --- | +| ModifDate | Modifié le | Date et Heure | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | 0 | +| ---------- | --------------------------- | ------------------- | --- | +| 06/08/2026 | | Isis_BO | 96 | + +Partie 2 › ... › Tables et rubriques › Intervention_Personne › Tables et rubriques +Intervention_Personne +Tables et rubriques +Informations générales +Intervention_Personne Intervention_Personne +Nom sur disque Intervention_Personne.fic +Groupe(s) ProtectionStd +Rubriques de la table Intervention_Personne +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +IP_PKID Identifiant de Intervention_Personne Identifiant automatique +(8 octets) +IP_IDIntervention Identifiant de Intervention Entier sur 8 octets 0 +| IP_IDPersonne | Identifiant de Personne | Entier sur 8 octets | | 0 | +| ------------- | ----------------------- | ------------------- | --- | --- | +| IP_IDClient | Identifiant de Client | Entier sur 8 octets | | 0 | +| IP_IDLieu | Identifiant de Lieu | Entier sur 8 octets | | 0 | +IP_IDRole Role de la personne dans l'intervention Entier sur 8 octets 0 +| IP_IDImport | Identifiant Import | Entier sur 8 octets | | 0 | +| --------------- | --------------------------------- | ------------------- | --- | --- | +| IP_EstDemandeur | La personne est le demandeur sur | | | 0 | +Booléen +| IP_Etage | Etage où se situe l'occupant | Chaîne | 10 | 0 | +| ------------ | ---------------------------- | -------------- | --- | --- | +| IP_Lot | Lot concerné | Chaîne | 25 | | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | ---------- | ------------------- | --- | --- | +| ModifDate | Modifié le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ---------- | --------------------------- | ------------------- | --- | --- | +| 06/08/2026 | | Isis_BO | | 97 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Lieu › Tables et rubriques +Lieu +Tables et rubriques +Informations générales +Lieu Lieu +Nom sur disque Lieu.fic +Connexion Connexion HFSQL Classic +Répertoire de la table +Groupe(s) ProtectionStd +Index full-text LI_Index_FullText (Rubriques : LI_CodeLieu, LI_Note) +Rubriques de la table Lieu +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| LI_PKID | Identifiant de Lieu | Identifiant automatique | | | +| ------- | ------------------- | ------------------------ | --- | --- | +(8 octets) +FR: Identifiant unique du fichier Lieu +| LI_CodeLieu | Code du lieu | Chaîne | 50 | | +| ----------- | ------------ | ------ | --- | --- | +FR: Code interne pour situer le lieu +| LI_IDAdresse | Adresse du lieu | Entier sur 8 octets | | 0 | +| ------------ | --------------- | ------------------- | --- | --- | +FR: Identifiant unique du fichier Adresse permettant de localiser le lieu +| CreationDate | Date de création | Date et Heure | | | +| ------------ | ---------------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| CreationUser | Utilisateur de création | Entier sur 8 octets | | 0 | +| ------------ | ----------------------- | ------------------- | --- | --- | +| ModifDate | Date de Modification | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| --------- | --------------------------- | ------------------- | --- | --- | +| LI_IDType | Type | Entier sur 8 octets | | 0 | +FR: Type de Lieu +Immeuble, Maison Indiv. +| LI_CodeAcces | Code d'acces du lieu | Mémo texte | | | +| ------------- | ----------------------- | -------------- | --- | --- | +| LI_Badge | Badge sur lieu | Booléen | | 0 | +| LI_Interphone | Interphone sur lieu | Booléen | | 0 | +| LI_Note | Note sur le lieu | Chaîne | 250 | | +| Archive | Enregistrement Archivée | Booléen | | 0 | +| DateArchivage | Date d'archivage | Date et Heure | | | +(aaaammjjhhmmssccc) +| LI_IDImport | Identifiant Import | Chaîne | 50 | | +| ----------------- | --------------------------- | ------ | --- | --- | +| LI_RepertoireDocs | Répertoire des docs du lieu | Chaîne | 255 | | +LI_IDClientPrincipal Identifiant du client principal Entier sur 8 octets 0 +| LI_Blocage | LI_Blocage | Booléen | | 0 | +| ---------- | ---------- | ------- | --- | --- | +| 06/08/2026 | | Isis_BO | | 98 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Lieu › Tables et rubriques +nolbuoD élC +euqinU élC tuaféd .laV +Libellé Type +elliaT sneS +| LI_RaisonBlocage | Raison de blocage | Mémo texte | | +| ---------------- | ----------------- | ---------- | --- | +| 06/08/2026 | | Isis_BO | 99 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Lieu_Personne › Tables et rubriques +Lieu_Personne +Tables et rubriques +Informations générales +Lieu_Personne Lieu_Personne +Nom sur disque Lieu_Personne.fic +Groupe(s) ProtectionStd +Rubriques de la table Lieu_Personne +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +LIP_PKID Identifiant de LOT_PERSONNE Identifiant automatique +(8 octets) +LIP_IDPersonne Identifiant de la Personne Entier sur 8 octets 0 +| LIP_IDLieu | Identifiant du lieu | Entier sur 8 octets | | 0 | +| ---------- | --------------------------- | ------------------- | --- | --- | +| LIP_IDRole | Rôle de la Personne du lieu | Entier sur 8 octets | | 0 | +LIP_IDTypeLieuPersonn Identifiant du Type du Lieu Personne Entier sur 8 octets 0 +| LIP_Etage | Etage | Chaîne | 10 | | +| ------------ | ---------------- | -------------- | --- | --- | +| LIP_Lot | Lot | Chaîne | 25 | | +| CreationDate | Date de création | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifDate | Date de Modification | Date et Heure | | | +| --------- | -------------------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| CreationUser | Utilisateur de création | Entier sur 8 octets | | 0 | +| ------------- | --------------------------- | ------------------- | --- | --- | +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| Archive | Enregistrement Archivée | Booléen | | 0 | +| DateArchivage | Date d'archivage | Date et Heure | | | +(aaaammjjhhmmssccc) +| LIP_EtiquetteAdresse | Etiquette de l'adresse | Chaîne | 50 | | +| -------------------- | ---------------------- | ------- | --- | --- | +| LIP_Actif | Adresse contact Active | Booléen | | 0 | +| 06/08/2026 | | Isis_BO | | 100 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › MailCat › Tables et rubriques +MailCat +Tables et rubriques +Informations générales +MailCat MailCat +Nom sur disque MailCat.fic +Groupe(s) ProtectionStd +Rubriques de la table MailCat +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| MMC_PKID | Identifiant de MailCat | Identifiant automatique | | | +| -------- | ---------------------- | ------------------------ | --- | --- | +(8 octets) +| MMC_CodeModMail | MMC_CodeModMail | Chaîne | 5 | | +| --------------- | --------------- | ------ | --- | --- | +| MMC_CodeCat | MMC_CodeCat | Chaîne | 5 | | +MMC_CodeModMail_Co MMC_CodeModMail + MMC_CodeCat Clé composée : 10 +MMC_CodeModMail+MM +C_CodeCat +| 06/08/2026 | | Isis_BO | | 101 | +| ---------- | --- | ------- | --- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › MailModele › Tables et rubriques +MailModele +Tables et rubriques +Informations générales +MailModele MailModele +Nom sur disque MailModele.fic +Groupe(s) ProtectionStd +Rubriques de la table MailModele +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| MM_PKID | Identifiant de ModMail | Identifiant automatique | | | +| ------- | ---------------------- | ------------------------ | --- | --- | +(8 octets) +| MM_Code | MM_Code | Chaîne | 5 | | +| ------------ | --------------------- | -------------------- | --- | --- | +| MM_Nom | Désignation du modèle | Chaîne | 50 | | +| MM_Sujet | Sujet du mail | Mémo texte | | | +| MM_MsgDoc | Corps du message | Image (mémo binaire) | | | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | ---------- | ------------------- | --- | --- | +| ModifDate | Modifié le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ---------- | ---------------------------- | ------------------- | --- | --- | +| MM_System | Donnée system non modifiable | Booléen | | 0 | +| MM_Langue | Langue | Chaîne | 50 | FR | +| 06/08/2026 | | Isis_BO | | 102 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › MessageExterne › Tables et rubriques +MessageExterne +Tables et rubriques +Informations générales +MessageExterne Message Externe +Nom sur disque MessageExterne.fic +Groupe(s) ProtectionStd +Rubriques de la table MessageExterne +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +ME_PKID Identifiant de MessageExterne Identifiant automatique +(8 octets) +| ME_IDIntervention | IDIntervention | Entier sur 8 octets | | 0 | +| ------------------- | -------------------------- | ------------------- | --- | --- | +| ME_AdrExp | Adresse Expediteur | Chaîne | 250 | | +| ME_AdrDestinataires | Adresses des destinataires | Mémo texte | | | +| ME_Objet | ME_Objet | Chaîne | 200 | | +| ME_Message | Message | Mémo texte | | | +| ME_IDDocPJ | ID du document en PJ | Chaîne | 100 | 0 | +| ME_Envoyer | Message envoyé | | | 0 | +Booléen +| ME_Brouillon | Mode Brouillon | Booléen | | 0 | +| ------------ | -------------- | -------------- | --- | --- | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------- | ---------------------------- | ------------------- | --- | --- | +| ME_PJ | Avec PJ | Booléen | | 0 | +| ME_AdrCC | Adresse expéditeur CC | Chaîne | 200 | | +| ME_AdrCCI | Adresse expéditeur CCI | Chaîne | 200 | | +| GUID | GUID | Chaîne | 32 | | +| ME_IDImport | Identifiant de l'import | Chaîne | 50 | | +| ME_EnvoyerMob | Message envoyé par le mobile | Booléen | | 0 | +| 06/08/2026 | | Isis_BO | | 103 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › MessageInterne › Tables et rubriques +MessageInterne +Tables et rubriques +Informations générales +MessageInterne MessageInterne +Nom sur disque MessageInterne.fic +Groupe(s) ProtectionStd +Rubriques de la table MessageInterne +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +MI_PKID Identifiant de MessageInterne Identifiant automatique +(8 octets) +MI_IDTypeMessage Identifiant du Type de Message Entier sur 8 octets 0 +| MI_Message | Message | Mémo texte | | | +| ---------- | ------- | ---------- | --- | --- | +MI_IDIntervention Identifiant de l'intervention Entier sur 8 octets 0 +| CreationDate | Créé le | Date et Heure | | | +| ------------ | ------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | -------- | ------------------- | --- | --- | +| GUID | GUID | Chaîne | 32 | | +| 06/08/2026 | | Isis_BO | | 104 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Mobile › Tables et rubriques +Mobile +Tables et rubriques +Informations générales +Mobile Mobile +Nom sur disque Mobile.fic +Groupe(s) ProtectionStd +Rubriques de la table Mobile +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| MOB_PKID | Identifiant de Mobile | Identifiant automatique | | | +| -------- | --------------------- | ------------------------ | --- | --- | +(8 octets) +| MOB_NumSerie | MOB_NumSerie | Chaîne | 100 | | +| --------------- | --------------- | ------- | --- | --- | +| MOB_NomPersonne | MOB_NomPersonne | Chaîne | 100 | | +| 06/08/2026 | | Isis_BO | | 105 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › MobLog › Tables et rubriques +MobLog +Tables et rubriques +Informations générales +MobLog MobLog +Nom sur disque MobLog.fic +Groupe(s) ProtectionStd +Rubriques de la table MobLog +nolbuoD élC +euqinU élC tuaféd .laV +Libellé Type +elliaT +sneS +| ML_PKID | Identifiant de MobLog | Identifiant automatique | | +| ------- | --------------------- | ------------------------ | --- | +(8 octets) +| ML_DateCreat | DateHeure | Date et Heure | | +| ------------ | --------- | -------------- | --- | +(aaaammjjhhmmssccc) +| ML_Message | Message | Mémo texte | | +| ---------- | --------- | ------------------ | --- | +| ML_Niveau | ML_Niveau | Entier sur 1 octet | 0 | +| 06/08/2026 | | Isis_BO | 106 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › MobReception › Tables et rubriques +MobReception +Tables et rubriques +Informations générales +MobReception MobReception +Nom sur disque MobReception.fic +Groupe(s) ProtectionStd +Rubriques de la table MobReception +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| MR_PKID | Identifiant de MobReception | Identifiant automatique | | | +| ------- | --------------------------- | ------------------------ | --- | --- | +(8 octets) +| MR_IDToSRV | MR_IDToSRV | Entier sur 8 octets | | 0 | +| ----------------- | ---------------------- | -------------------- | --- | --- | +| MR_JSON | JSON | Mémo texte | | | +| MR_CMD | Commande | Chaîne | 50 | | +| MR_Buffer | Buffer | Image (mémo binaire) | | | +| MR_NumSerie | Numéro de Série | Chaîne | 50 | | +| MR_Fait | Fait | Booléen | | 0 | +| MR_DateHeureRecep | DateHeure de Réception | Date et Heure | | | +(aaaammjjhhmmssccc) +| 06/08/2026 | | Isis_BO | | 107 | +| ---------- | --- | ------- | --- | --- | + +Partie 2 › ... › Tables et rubriques › ModeleRapportMob › Tables et rubriques +ModeleRapportMob +Tables et rubriques +Informations générales +ModeleRapportMob ModeleRapportMob +Nom sur disque ModeleRapportMob.fic +Groupe(s) ProtectionStd +Rubriques de la table ModeleRapportMob +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +MRM_PKID Identifiant de ModeleRapportMob Identifiant automatique +(8 octets) +| MRM_Nom | Nom | Chaîne | 30 | | +| ---------- | ----------------- | -------------------- | --- | --- | +| MRM_Modele | Buffer Modele | Image (mémo binaire) | | | +| MRM_RubMob | Rubriques mobiles | Mémo texte | | | +| 06/08/2026 | | Isis_BO | | 108 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › MotClef › Tables et rubriques +MotClef +Tables et rubriques +Informations générales +MotClef MotClef +Nom sur disque MotClef.fic +Groupe(s) ProtectionStd +Rubriques de la table MotClef +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| MOC_PKID | Identifiant de MotClef | Identifiant automatique | | | +| -------- | ---------------------- | ------------------------ | --- | --- | +(8 octets) +| MOC_Code | Code Valeur | Chaîne | 20 | | +| ------------------ | --------------------- | --------------- | --- | --- | +| MOC_Mot | Mot | Chaîne | 50 | | +| MOC_Lib | Libellé | Chaîne | 50 | | +| MOC_Langue | Langue | Chaîne | 3 | | +| MOC_CodeMOC_Langue | MOC_Code + MOC_Langue | Clé composée : | 23 | | +MOC_Code+MOC_Langu +e +| MOC_MotMOC_Langue | MOC_Mot + MOC_Langue | Clé composée : | 53 | | +| ----------------- | -------------------- | --------------- | --- | --- | +MOC_Mot+MOC_Langue +| MOC_Groupe | Groupe de mots clés | Chaîne | 25 | | +| ---------- | ------------------- | ------- | --- | --- | +| 06/08/2026 | | Isis_BO | | 109 | + +Partie 2 › ... › Tables et rubriques › ParametreApplication › Tables et rubriques +ParametreApplication +Tables et rubriques +Informations générales +ParametreApplication ParametreApplication +Nom sur disque ParametreApplication.fic +Groupe(s) ProtectionStd +Rubriques de la table ParametreApplication +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +PAP_PKID Identifiant de ParametreApplication Identifiant automatique +(8 octets) +| PAP_Code | Code du paramètre | Chaîne | 50 | 0 | +| --------------- | ------------------------ | ---------- | --- | --- | +| PAP_Description | Description du paramètre | Mémo texte | | | +| PAP_Valeur | Valeur du paramètre | Mémo texte | | | +| 06/08/2026 | | Isis_BO | | 110 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › ParametreMetier › Tables et rubriques +ParametreMetier +Tables et rubriques +Informations générales +ParametreMetier ParametreMetier +Nom sur disque ParametreMetier.fic +Connexion Connexion HFSQL Classic +Groupe(s) ProtectionStd +Rubriques de la table ParametreMetier +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| --- | --- | --- | ------ | ---- | +PA_PKID Identifiant de PARAMETREMETIER Identifiant automatique +(8 octets) +| PA_Code | Code | Chaîne | 3 | | +| ------- | ---- | ------ | --- | --- | +FR: Code du paramètre métier +| PA_Libelle | Libellé | Chaîne | 250 | | +| ---------- | ------- | ------ | --- | --- | +FR: Libellé du paramètre métier +| PA_Valeur | Valeur | Chaîne | 20 | | +| --------- | ------ | ------ | --- | --- | +FR: Valeur du paramètre métier +| PA_Ordre | Ordre | Entier sur 4 octets | | 0 | +| -------- | ----- | ------------------- | --- | --- | +FR: Ordre d'affichage du paramètre métier +| PA_Systeme | Valeur Systeme | Booléen | | 0 | +| ---------------- | ---------------------------- | --------------- | --- | --- | +| PA_Invisible | Invisible pour l'utilisateur | Booléen | | 0 | +| PA_IDImport | ID Import | Chaîne | 50 | | +| PA_Actif | Actif | Booléen | | 1 | +| PA_CodePA_Valeur | PA_Code + PA_Valeur | Clé composée : | 23 | | +PA_Code+PA_Valeur +| PA_CleLiaison | Clé de liaison | Chaîne | 23 | | +| --------------- | -------------- | ---------- | --- | --- | +| PA_Parametre | PA_Parametre | Mémo texte | | | +| PA_LibelleCourt | Libellé court | Chaîne | 20 | | +| 06/08/2026 | | Isis_BO | | 111 | + +Partie 2 › ... › Tables et rubriques › ParametreMetierEntete › Tables et rubriques +ParametreMetierEntete +Tables et rubriques +Informations générales +ParametreMetierEntete ParametreMetierEntete +Nom sur disque ParametreMetierEntete.fic +Groupe(s) ProtectionPlus +Rubriques de la table ParametreMetierEntete +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +PM_PKID Identifiant de ParametreMetierEntete Identifiant automatique +(8 octets) +| PM_Libelle | Libellé du paramètre métier | Chaîne | 50 | | +| ---------------- | ----------------------------------- | ------- | --- | --- | +| PM_Description | Description pour les utilisateurs | Chaîne | 250 | | +| PM_Systeme | Le paramètre est-il personnalisable | Booléen | | 0 | +| PM_Groupe | Nom du groupe de rattachement | Chaîne | 25 | | +| PM_Code | Code interne du paramètre | Chaîne | 3 | | +| PM_AucunPossible | Gestion de la valeur aucune | Booléen | | 0 | +| PM_Specifique | Code Specifique | | | | +Mémo texte +| 06/08/2026 | | Isis_BO | | 112 | +| ---------- | --- | ------- | --- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › ParametreSysteme › Tables et rubriques +ParametreSysteme +Tables et rubriques +Informations générales +ParametreSysteme ParametreSysteme +Nom sur disque ParametreSysteme.fic +Groupe(s) ProtectionPlus +Rubriques de la table ParametreSysteme +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +PAS_PKID Identifiant de ParametreSysteme Identifiant automatique +(8 octets) +| PAS_Code | Code du paramètre | Chaîne | 50 | | +| --------------- | ------------------------ | ---------- | --- | --- | +| PAS_Description | Description du paramètre | Chaîne | 250 | | +| PAS_Valeur | Valeur du paramètre | Mémo texte | | | +| 06/08/2026 | | Isis_BO | | 113 | + +Partie 2 › ... › Tables et rubriques › ParametreUtilisateur › Tables et rubriques +ParametreUtilisateur +Tables et rubriques +Informations générales +ParametreUtilisateur ParametreUtilisateur +Nom sur disque ParametreUtilisateur.fic +Groupe(s) ProtectionStd +Rubriques de la table ParametreUtilisateur +Libellé Type +06/08/2026 Isis_BO 114 +elliaT +euqinU +élC +nolbuoD +élC +sneS +tuaféd +.laV +PU_PKID Identifiant de ParametreUtilisateur Identifiant automatique +(8 octets) +PU_Code Code du paramètre Chaîne 50 +PU_IDUtilisateur Identifiant de Utilisateur Entier sur 8 octets 0 +PU_Valeur Valeur du paramètre Mémo texte +PU_CodePU_IDUtilisate PU_Code + PU_IDUtilisateur Clé composée : 58 +PU_Code+PU_IDUtilisate +ur + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Personne › Tables et rubriques +Personne +Tables et rubriques +Informations générales +Personne Personne +Nom sur disque Personne.fic +Connexion Connexion HFSQL Classic +Groupe(s) ProtectionStd +PE_Index_FullText (Rubriques : PE_Nom, PE_Prenom, PE_TelFixe, PE_TelMobile, PE_Email, +Index full-text +PE_Note, PE_Fax) +Rubriques de la table Personne +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| ------- | ----------------------- | ------------------------ | ------ | ---- | +| PE_PKID | Identifiant de Personne | Identifiant automatique | | | +(8 octets) +FR: Identifiants unique du fichier Personne +| PE_IDCivilite | Civilite du contact | Entier sur 8 octets | | 0 | +| ------------- | ------------------- | ------------------- | --- | --- | +| PE_Nom | Nom | Chaîne | 50 | | +FR: Nom de la personne +| PE_Prenom | Prénom | Chaîne | 50 | | +| --------- | ------ | ------ | --- | --- | +FR: Prénom de la personne +| PE_TelFixe | Téléphone fixe | Chaîne | 15 | | +| ---------- | -------------- | ------ | --- | --- | +FR: Téléphone fixe de la personne +| PE_TelMobile | Téléphone mobile | Chaîne | 15 | | +| ------------ | ---------------- | ------ | --- | --- | +FR: Téléphone mobile de la personne +| PE_Email | Email | Mémo texte | | | +| -------- | ----- | ---------- | --- | --- | +FR: Email de la personne +| PE_IDRole | Rôle | Entier sur 8 octets | | 0 | +| --------- | ---- | ------------------- | --- | --- | +FR: Rôle de la personne +PE_IDAdressePrincipale Adresse principale Entier sur 8 octets 0 +FR: Identifiant unique dans le fichier Adresse permettant de référencer l'adresse principale de la personne +| PE_IDClient | Appartient au client | Entier sur 8 octets | | 0 | +| ----------- | -------------------- | ------------------- | --- | --- | +FR: Identifiant unique du fichier Client +| CreationDate | Créé le | Date et Heure | | | +| ------------ | ------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | ---------- | ------------------- | --- | --- | +| ModifDate | Modifié le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ---------- | --------------------------- | ------------------- | --- | --- | +| 06/08/2026 | | Isis_BO | | 115 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Personne › Tables et rubriques +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| ------------- | ----------------------- | -------------- | ------ | ---- | +| Archive | Enregistrement Archivée | Booléen | | 0 | +| DateArchivage | Date d'archivage | Date et Heure | | | +(aaaammjjhhmmssccc) +| PE_Note | Note sur le contact | Chaîne | 250 | | +| --------------- | ---------------------- | ------- | --- | --- | +| PE_Fax | Fax du contact | Chaîne | 15 | | +| PE_IDImport | Identifiant du contact | Chaîne | 50 | | +| PE_Actif | PE_Actif | Booléen | | 1 | +| PE_UsageInterne | Usage Interne | | | 0 | +Booléen +| PE_InfoSupp | Information supplémentaire | Mémo texte | | | +| ----------- | -------------------------- | ---------- | --- | --- | +| 06/08/2026 | | Isis_BO | | 116 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Planning_RDV › Tables et rubriques +Planning_RDV +Tables et rubriques +Informations générales +Planning_RDV Planning_RDV +Nom sur disque Planning_RDV.fic +Groupe(s) ProtectionStd +Rubriques de la table Planning_RDV +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| PL_PKID | Identifiant de Planning_RDV | Identifiant automatique | | | +| ------- | --------------------------- | ------------------------ | --- | --- | +(8 octets) +| PL_IDGroupe | Groupe de Rendez-vous | Entier sur 8 octets | | 0 | +| ------------ | ------------------------- | ------------------- | --- | --- | +| PL_Grouper | Rendez-vous groupé | Booléen | | 0 | +| PL_IDSociete | Identifiant de la Société | Entier sur 8 octets | | 0 | +| PL_IDEquipe | Identifiant de l'équipe | Entier sur 8 octets | | 0 | +PL_IDCollaborateur Identifiant du collaborateur Entier sur 8 octets 0 +| PL_IDDossier | Identifiant du dossier | Entier sur 8 octets | | 0 | +| ----------------- | ----------------------------- | ------------------- | --- | --- | +| PL_IDIntervention | Identifiant de l'intervention | | | 0 | +Entier sur 8 octets +| PL_IDTypeActivite | Type activité du RDV | Entier sur 8 octets | | 0 | +| ----------------- | ----------------------------- | ------------------- | --- | --- | +| PL_IDStatut | Statut du RDV | Entier sur 8 octets | | 0 | +| PL_Objet | Objet du Rendez-vous | Chaîne | 25 | | +| GUID | GUID | Chaîne | 32 | | +| PL_Description | Description du Rendez-vous | Mémo texte | | | +| PL_DateDebut | Date et heure du début du RDV | Date et Heure | | | +(aaaammjjhhmmssccc) +| PL_DateFin | Date et heure de la fin du RDV | Date et Heure | | | +| ---------- | ------------------------------ | -------------- | --- | --- | +(aaaammjjhhmmssccc) +PL_Superposable Condition de superposition d'un RDV Booléen 0 +| PL_Prive | RDV Prive | Booléen | | 0 | +| ------------- | ----------------------- | -------------- | --- | --- | +| Archive | Enregistrement Archivée | Booléen | | 0 | +| DateArchivage | Date d'archivage | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationDate | Date de création | Date et Heure | | | +| ------------ | ---------------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| CreationUser | Utilisateur de création | Entier sur 8 octets | | 0 | +| ------------ | ----------------------- | ------------------- | --- | --- | +| ModifDate | Date de Modification | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ----------- | --------------------------- | ------------------- | --- | --- | +| PL_IDImport | Identifiant Import | Chaîne | 50 | | +| 06/08/2026 | | Isis_BO | | 117 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Planning_RDV › Tables et rubriques +nolbuoD élC +euqinU élC tuaféd .laV +Libellé Type +elliaT sneS +PL_IDPersonne Identifiant de la personne Entier sur 8 octets 0 +| PL_IDLieu | Identifiant du site | Entier sur 8 octets | 0 | +| -------------- | ------------------------------- | ------------------- | --- | +| PL_TempsValide | Validation des Temps sur le RDV | Booléen | 0 | +| PL_DateExport | Date d'export du rdv | Date et Heure | | +(aaaammjjhhmmssccc) +| PL_SAV | Rdv SAV? | Booléen | 0 | +| ------ | -------- | ------- | --- | +PL_IdGroupeDate Id de Groupe de RDV par date Entier sur 8 octets 0 +| PL_CR | Rdv avec CR | | 0 | +| ----- | ------------ | --- | --- | +Booléen +| PL_NoteCollab | Note Collaborateur depuis mobile | Mémo texte | | +| ------------- | -------------------------------- | ---------- | --- | +PL_IDOrigineAnnul ID Origine Annulation Entier non signé sur 8 0 +octets +PL_IDMotifAnnul ID Motif Annulation Entier non signé sur 8 0 +octets +| PL_RappelSMS | Rappel SMS | Booléen | 0 | +| ------------ | ---------- | ------- | --- | +| 06/08/2026 | | Isis_BO | 118 | + +Partie 2 › ... › Tables et rubriques › Planning_RDV_Personne › Tables et rubriques +Planning_RDV_Personne +Tables et rubriques +Informations générales +Planning_RDV_Personne Relation Planning_RDV/Personne +Nom sur disque Planning_RDV_Personne.fic +Groupe(s) ProtectionStd +Rubriques de la table Planning_RDV_Personne +nolbuoD élC +euqinU élC tuaféd .laV +Libellé Type +elliaT +sneS +PRP_PKID Identifiant du RDV_Personne Identifiant automatique +(8 octets) +PRP_IDPersonne Identifiant de la personne Entier sur 8 octets 0 +| PRP_IDRdv | Identifiant du RDV | Entier sur 8 octets | 0 | +| --------- | ------------------ | ------------------- | --- | +PRP_PKID_PE_PKID Identifiant de Planning_RDV_Personne Clé composée : 16 +PRP_IDRdv+PRP_IDPerso +nne +PRP_IDGroupeRDV Identifiant Groupe du RDV Entier sur 8 octets 0 +| CreationDate | Date de création | Date et Heure | | +| ------------ | ---------------- | -------------- | --- | +(aaaammjjhhmmssccc) +| ModifDate | Modifié le | Date et Heure | | +| --------- | ---------- | -------------- | --- | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | 0 | +| ------------- | --------------------------- | ------------------- | --- | +| ModifUser | Utilisateur de modification | Entier sur 8 octets | 0 | +| Archive | Enregistrement Archivée | Booléen | 0 | +| DateArchivage | Date d'archivage | Date et Heure | | +(aaaammjjhhmmssccc) +| 06/08/2026 | | Isis_BO | 119 | +| ---------- | --- | ------- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Societe › Tables et rubriques +Societe +Tables et rubriques +Informations générales +Societe Societe +Nom sur disque Societe.fic +Connexion Connexion HFSQL Classic +Groupe(s) ProtectionStd +Rubriques de la table Societe +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| ------- | ---------------------- | ------------------------ | ------ | ---- | +| SO_PKID | Identifiant de Societe | Identifiant automatique | | | +(8 octets) +FR: Identifiant unique du fichier Societe +| SO_Nom | Nom | Chaîne | 80 | | +| ------ | --- | ------ | --- | --- | +FR: Nom de la société (Raison sociale) +| SO_SIRET | SIRET | Chaîne | 50 | | +| -------- | ----- | ------ | --- | --- | +FR: SIRET de la société +| SO_Tel | Téléphone | Chaîne | 25 | | +| ------ | --------- | ------ | --- | --- | +FR: Téléphone de la société +| SO_Fax | Fax | Chaîne | 25 | | +| ------ | --- | ------ | --- | --- | +FR: Fax de la société +| SO_Email | Email | Chaîne | 50 | | +| -------- | ----- | ------ | --- | --- | +FR: Email de la société +| SO_SiteWeb | Site Web | Chaîne | 100 | | +| ---------- | -------- | ------ | --- | --- | +FR: Site Web de la société +SO_IDAdressePrincipale Adresse principale Entier sur 8 octets 0 +FR: Identifiant unique dans le fichier Adresse permettant de référencer l'adresse principale de la société +| CreationDate | Date de création | Date et Heure | | | +| ------------ | ---------------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +FR: Date de création de l'enregistrement +| CreationUser | Utilisateur de création | Entier sur 8 octets | | 0 | +| ------------ | ----------------------- | ------------------- | --- | --- | +FR: Utilisateur qui a créé l'enregistrement +| ModifDate | Date de Modification | Date et Heure | | | +| --------- | -------------------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +FR: Date de Modification de l'enregistrement +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| --------- | --------------------------- | ------------------- | --- | --- | +FR: Utilisateur qui a modifié l'enregistrement +| SO_IDImport | Identifiant d'import | Chaîne | 50 | | +| ----------- | -------------------- | ------- | --- | --- | +| 06/08/2026 | | Isis_BO | | 120 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Societe › Tables et rubriques +nolbuoD élC +euqinU élC tuaféd .laV +Libellé Type +elliaT sneS +| SO_Logo | Logo de la société | Image (mémo binaire) | | +| ------------- | ------------------ | -------------------- | --- | +| SO_Parametres | Paramètres société | Mémo texte | | +| SO_Archive | SO_Archive | Booléen | 0 | +| 06/08/2026 | | Isis_BO | 121 | + +Partie 2 › ... › Tables et rubriques › Societe_Collaborateur › Tables et rubriques +Societe_Collaborateur +Tables et rubriques +Informations générales +Societe_Collaborateur Societe_Collaborateur +Nom sur disque Societe_Collaborateur.fic +Groupe(s) ProtectionStd +Rubriques de la table Societe_Collaborateur +Libellé Type +06/08/2026 Isis_BO 122 +elliaT +euqinU +élC +nolbuoD +élC +sneS +tuaféd +.laV +SC_PKID Identifiant de Societe_Collaborateur Identifiant automatique +(8 octets) +SC_IDCollaborateur Identifiant de Collaborateur Entier sur 8 octets 0 +SC_IDCSociete Identifiant de Societe Entier sur 8 octets 0 +SC_IDCSoc_IDCol SC_IDCSociete + SC_IDCollaborateur Clé composée : 16 +SC_IDCSociete+SC_IDColl +aborateur +SC_IDCSociete_SC_IDCol Identifiant de Societe_Collaborateur Clé composée : 16 +SC_IDCSociete+SC_IDColl +aborateur +CreationDate Date de création Date et Heure +(aaaammjjhhmmssccc) +CreationUser Utilisateur de création Entier sur 8 octets 0 +ModifDate Date de Modification Date et Heure +(aaaammjjhhmmssccc) +ModifUser Utilisateur de modification Entier sur 8 octets 0 + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › SuiviDesTemps › Tables et rubriques +SuiviDesTemps +Tables et rubriques +Informations générales +SuiviDesTemps SuiviDesTemps +Nom sur disque SuiviDesTemps.fic +Groupe(s) ProtectionStd +Rubriques de la table SuiviDesTemps +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| SDT_PKID | Identifiant de Temps | Identifiant automatique | | | +| -------- | -------------------- | ------------------------ | --- | --- | +(8 octets) +| SDT_DateDebut | Date à laquelle à débuter l'événement | Date et Heure | | | +| ------------- | ------------------------------------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +SDT_IDIntervention Identifiant de Intervention Entier sur 8 octets 0 +SDT_IDCollaborateur Collaborateur concerné par le temps Entier sur 8 octets 0 +SDT_IDPartenaire Partenaire présent avec le Entier sur 8 octets 0 +| SDT_NbMinutes | Temps passé en minute | Entier sur 4 octets | | 0 | +| ------------- | --------------------- | ------------------- | --- | --- | +| SDT_Libelle | TE_Libelle | Chaîne | 50 | | +SDT_IDTypeTemps Identifiant du type de temps Entier sur 8 octets 0 +| SDT_IDRdv | Identifiant du Rendez-vous | Entier sur 8 octets | | 0 | +| ---------------- | ----------------------------------- | ------------------- | --- | --- | +| SDT_Ponderation | Ponderation | Réel sur 4 octets | | 0 | +| SDT_IDImport | Import | Chaîne | 50 | | +| SDT_DateHeureFin | Date à laquelle à finir l'événement | Date et Heure | | | +(aaaammjjhhmmssccc) +| GUID | GUID | Chaîne | 32 | | +| ---- | ---- | ------ | --- | --- | +SDT_IDTypeRdv Identifiant du type de RDV Entier sur 8 octets 0 +| SDT_Controle | Suivie des temps contrôlé | Booléen | | 0 | +| ------------ | ------------------------- | ------------------- | --- | --- | +| SDT_IDGroupe | Identifiant Groupe | Entier sur 8 octets | | 0 | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | ---------- | ------------------- | --- | --- | +| ModifDate | Modifié le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ---------- | --------------------------- | ------------------- | --- | --- | +| 06/08/2026 | | Isis_BO | | 123 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Telephone › Tables et rubriques +Telephone +Tables et rubriques +Informations générales +Telephone Telephone +Nom sur disque Telephone.fic +Groupe(s) ProtectionStd +Rubriques de la table Telephone +nolbuoD élC +euqinU élC tuaféd .laV +Libellé Type +elliaT +sneS +| TE_PKID | Identifiant de Telephone | Identifiant automatique | | +| ------- | ------------------------ | ------------------------ | --- | +(8 octets) +TE_IDQualif Identifiant de ParametreMetier Entier sur 8 octets 0 +| TE_Numero | TE_Numero | Entier sur 4 octets | 0 | +| ------------- | ----------------------- | ------------------- | --- | +| TE_IDPersonne | Identifiant de Personne | Entier sur 8 octets | 0 | +| 06/08/2026 | | Isis_BO | 124 | + +Partie 2 › ... › D:\Projets Windev\Batik\WD30\Dev\Isis_BO.ana\Isis_BO.wda › Tables et rubriques › Utilisateur › Tables et rubriques +Utilisateur +Tables et rubriques +Informations générales +Utilisateur Utilisateur +Nom sur disque Utilisateur.fic +Groupe(s) ProtectionStd +Rubriques de la table Utilisateur +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| UT_PKID | Identifiant de Utilisateur | Identifiant automatique | | | +| ------- | -------------------------- | ------------------------ | --- | --- | +(8 octets) +| UT_Login | Login | Chaîne | 100 | | +| ------------------- | ----------------------- | ------- | --- | --- | +| UT_Nom | Nom de l'utilisateur | Chaîne | 50 | | +| UT_Prenom | Prénom de l'utilisateur | Chaîne | 50 | | +| UT_MotDePasse | Mot De Passe | Chaîne | 50 | | +| UT_MotDePasseAChang | Mot de passe à changer | Booléen | | 0 | +| UT_Email | Email | Chaîne | 100 | | +| UT_TelMobile | Téléphone Mobile | | 25 | | +Chaîne +| UT_Administrateur | Est un utilisateur admin | Booléen | | 0 | +| ----------------- | ------------------------ | -------------- | --- | --- | +| CreationDate | Date de création | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Utilisateur de création | Entier sur 8 octets | | 0 | +| ------------ | ----------------------- | ------------------- | --- | --- | +| ModifDate | Date de Modification | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| --------- | --------------------------- | ------------------- | --- | --- | +UT_IDCollaborateur Identifiant du Collaborateur Entier sur 8 octets 0 +Identifiant de la société principale +| UT_IDSocietePrincipale | | Entier sur 8 octets | | 0 | +| ---------------------- | --- | ------------------- | --- | --- | +UT_IDTypeProfil Identifiant du type de profil Entier sur 8 octets 0 +| UT_CleLicenceMobile | Clé de Licence Mobile | Chaîne | 50 | | +| ------------------- | --------------------- | ------- | --- | --- | +| UT_AccesBO | Acces au Back-Office | Booléen | | 0 | +| UT_AccesMobile | Acces sur le Mobile | Booléen | | 0 | +| 06/08/2026 | | Isis_BO | | 125 | + +Partie 3 › Fenêtre WINDEV +Partie 3 +Fenêtre WINDEV +| 06/08/2026 | Isis_BO | 126 | +| ---------- | ------- | --- | + +Partie 3 › Fenêtre WINDEV +FEN_ChoixFenetreInterne +Image +| 06/08/2026 | Isis_BO | 127 | +| ---------- | ------- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_ChoixFenetreInterne › Informations générales +FEN_ChoixFenetreInterne +Informations générales +FEN_ChoixFenetreInterne +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_ChoixFenetreInterne.wdw +| Créé par | | frederic.bourras@applilogik.fr | | | | +| -------------------------- | ------------ | ------------------------------ | --------- | --------------- | --- | +| Date de création | | 20/08/2018 11:26:41 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 02/05/2025 12:10:54 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à l'écran | | | | +| Position X | 0 Position Y | | 0 Largeur | 1400 Hauteur | 907 | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Non | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 128 | + +Partie 3 › Fenêtre WINDEV › FEN_ChoixFenetreInterne › Informations générales +| Valide auto. 0 | | | | | | | +| ---------------------------------- | --- | --- | --- | --- | --- | --- | +| Lib. + tps restant Oui | | | | | | | +| Pos. X Menu 6 | | | | | | | +| Pos. Y Menu 28 | | | | | | | +| Texte Markdown Non | | | | | | | +| Mode menu ctx. | | | | | | | +| 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 | | | | | | | +Statistiques de la fenêtre +Fenêtre interne 1 +Nombre d'éléments dans la fenêtre : 1 +FEN_ChoixFenetreInterne +Informations sur les champs +Fenêtre : FEN_ChoixFenetreInterne +Fenêtre interne +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CFI_CHOIX | 0 | 0 1400 | 907 | 0 | Actif | | +| ---------- | --- | ------- | --- | --- | ----- | --- | +| 06/08/2026 | | Isis_BO | | | | 129 | + +Partie 3 › Fenêtre WINDEV › FEN_ChoixFenetreInterne › Informations sur les champs +Fenêtre : FEN_ChoixFenetreInterne +Fenêtre interne : CFI_CHOIX +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 +Ancrage au contenu +Numéro aide 0 +Ascenseur auto. 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 +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur et hauteur +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_ChoixFenetreInterne +Code +Déclarations globales de FEN_ChoixFenetreInterne +procédure FEN_ChoixFenetreInterne(local sNomFenetreInterne est une chaîne,paramSupplementaire est un +STParamFenetreAppelante=Null,*) +nlargeur est un entier +nHauteur est un entier +selon sNomFenetreInterne +cas "FI_Liste_Personne" : +ChangeFenêtreSource(CFI_CHOIX,FI_Liste_Personne,paramSupplementaire.pclObjetAppelant, +paramSupplementaire) +nHauteur={sNomFenetreInterne,indFenêtre}..Hauteur +nlargeur={sNomFenetreInterne,indFenêtre}..Largeur +FenTaille(CFI_CHOIX,nlargeur,nHauteur) +06/08/2026 Isis_BO 130 + +Partie 3 › Fenêtre WINDEV › FEN_ChoixFenetreInterne › Code +FenTaille(FEN_ChoixFenetreInterne ,nlargeur,nHauteur) +MaFenêtre..X = ({ParentObjet(MaFenêtre),indFenêtre}..Largeur-nlargeur)/2 +MaFenêtre..Y = ({ParentObjet(MaFenêtre),indFenêtre}..Hauteur-nHauteur)/2 +cas "FI_Liste_Collaborateur" : +//ChangeFenêtreSource(CFI_CHOIX,FI_Liste_Collaborateur,MesParamètres[2]="" ? Null SINON +MesParamètres[2],MesParamètres[3 À]) +ChangeFenêtreSource(CFI_CHOIX,FI_Liste_Collaborateur,paramSupplementaire.pclObjetAppelant, +paramSupplementaire) +// nHauteur={sNomFenetreInterne,indFenêtre}..Hauteur +// nlargeur={sNomFenetreInterne,indFenêtre}..Largeur +// FenTaille(CFI_CHOIX,nlargeur,nHauteur) +// FenTaille(FEN_ChoixFenetreInterne ,nlargeur,nHauteur) +// MaFenêtre..X = ({ParentObjet(MaFenêtre),indFenêtre}..Largeur-nlargeur)/2 +// MaFenêtre..Y = ({ParentObjet(MaFenêtre),indFenêtre}..Hauteur-nHauteur)/2 +cas "FI_Liste_Equipe" : ChangeFenêtreSource(CFI_CHOIX,FI_Liste_Equipe,MesParamètres[2]= +"" ? Null sinon MesParamètres[2],MesParamètres[3 à]) +cas "FI_Fiche_Personne" : +clFichePersonne est une PFichePersonne dynamique +//param est STParamFenetreAppelante = paramSupplementaire +si paramSupplementaire:sNomIDAppelant="ModifLieuPersonne" alors +clFichePersonne <- paramSupplementaire.pclObjetAppelant.ListeContact.ModifierCustom() +ChangeFenêtreSource(CFI_CHOIX,FI_Fiche_Personne,clFichePersonne,paramSupplementaire) +sinon si paramSupplementaire:sNomIDAppelant="AddLieuPersonne" alors +//clFichePersonne <- +paramSupplementaire.pclObjetAppelant.ListeContact.NouveauCustom(vrai,paramSupplementaire.p +clObjetAppelant:m_nPKID) +ChangeFenêtreSource(CFI_CHOIX,FI_Fiche_Personne,*,paramSupplementaire) +sinon +ChangeFenêtreSource(CFI_CHOIX,FI_Fiche_Personne,paramSupplementaire.pclObjetAppelant, +paramSupplementaire) +fin +//ChangeFenêtreSource(CFI_CHOIX,FI_Fiche_Personne,paramSupplementaire.pclObjetAppelant,paramSup +plementaire) +nHauteur={sNomFenetreInterne,indFenêtre}..HauteurUtile +nlargeur={sNomFenetreInterne,indFenêtre}..LargeurUtile +FenTaille(CFI_CHOIX,nlargeur,nHauteur) +FenTaille(FEN_ChoixFenetreInterne ,nlargeur,nHauteur) +MaFenêtre..X = ({ParentObjet(MaFenêtre),indFenêtre}..Largeur-nlargeur)/2 +MaFenêtre..Y = ({ParentObjet(MaFenêtre),indFenêtre}..Hauteur-nHauteur)/2 +//ParentObjet(MaFenêtre) +cas "FI_Fiche_Collaborateur" : +//param est STParamFenetreAppelante = paramSupplementaire +ChangeFenêtreSource(CFI_CHOIX,FI_Fiche_Collaborateur,paramSupplementaire.pclObjetAppelant, +paramSupplementaire) +si paramSupplementaire.sNomIDAppelant <> "SocieteCollaborateur" et paramSupplementaire.s +NomIDAppelant <> "LieuPersonne" alors +nHauteur={sNomFenetreInterne,indFenêtre}..HauteurUtile +nlargeur={sNomFenetreInterne,indFenêtre}..LargeurUtile +FenTaille(FEN_ChoixFenetreInterne ,nlargeur,nHauteur) +FenTailleUtile(CFI_CHOIX,nlargeur,nHauteur) +MaFenêtre..X = ({ParentObjet(MaFenêtre),indFenêtre}..Largeur-nlargeur)/2 +MaFenêtre..Y = ({ParentObjet(MaFenêtre),indFenêtre}..Hauteur-nHauteur)/2 +fin +//CFI_CHOIX..Largeur = FEN_ChoixFenetreInterne..Largeur +cas "FI_GalerieDocument" +ChangeFenêtreSource(CFI_CHOIX,FI_GalerieDocument,paramSupplementaire.pclObjetAppelant, +06/08/2026 Isis_BO 131 + +Partie 3 › Fenêtre WINDEV › FEN_ChoixFenetreInterne › Code +paramSupplementaire) +nHauteur={sNomFenetreInterne,indFenêtre}..Hauteur +nlargeur={sNomFenetreInterne,indFenêtre}..Largeur +FenTaille(CFI_CHOIX,nlargeur,nHauteur) +FenTaille(FEN_ChoixFenetreInterne ,nlargeur,nHauteur) +//FenTaille(FEN_ChoixFenetreInterne ,nlargeur,nHauteur) +//FenTailleUtile(CFI_CHOIX,nlargeur,nHauteur) +MaFenêtre..X = ({ParentObjet(MaFenêtre),indFenêtre}..Largeur-nlargeur)/2 +MaFenêtre..Y = ({ParentObjet(MaFenêtre),indFenêtre}..Hauteur-nHauteur)/2 +cas "FI_Liste_Lieu" : +ChangeFenêtreSource(CFI_CHOIX,FI_Liste_Lieu,*,paramSupplementaire) +nHauteur={sNomFenetreInterne,indFenêtre}..Hauteur +nlargeur={sNomFenetreInterne,indFenêtre}..Largeur +FenTaille(CFI_CHOIX,nlargeur,nHauteur) +FenTaille(FEN_ChoixFenetreInterne ,nlargeur,nHauteur) +MaFenêtre..X = ({ParentObjet(MaFenêtre),indFenêtre}..Largeur-nlargeur)/2 +MaFenêtre..Y = ({ParentObjet(MaFenêtre),indFenêtre}..Hauteur-nHauteur)/2 +cas "FI_Fiche_Lieu" : +pclFicheLieu est une PFicheLieu dynamique +//param est STParamFenetreAppelante = paramSupplementaire +si paramSupplementaire:sNomIDAppelant="ModifLieu" alors +si paramSupplementaire.pclObjetAppelant:m_clModeleCourant = Null alors +si paramSupplementaire.pclObjetAppelant:m_clTableauModele:m_clTabModele..Occurrence > +0 alors +pclFicheLieu2 est une PFicheLieu(paramSupplementaire.pclObjetAppelant: +m_clTableauModele:m_clTabModele[1]) +pclFicheLieu = pclFicheLieu2 +fin +sinon +pclFicheLieu <- paramSupplementaire.pclObjetAppelant.Modifier() +fin +ChangeFenêtreSource(CFI_CHOIX,FI_Fiche_Lieu,pclFicheLieu,paramSupplementaire) +sinon si paramSupplementaire:sNomIDAppelant="AddLieu" alors +pclFicheLieu <- paramSupplementaire.pclObjetAppelant.Nouveau() +ChangeFenêtreSource(CFI_CHOIX,FI_Fiche_Lieu,pclFicheLieu,paramSupplementaire) +// SINON +// +ChangeFenêtreSource(CFI_CHOIX,FI_Fiche_lieu,paramSupplementaire.pclObjetAppelant,paramSupplementaire) +fin +//ChangeFenêtreSource(CFI_CHOIX,FI_Fiche_Personne,paramSupplementaire.pclObjetAppelant,paramSup +plementaire) +nHauteur={sNomFenetreInterne,indFenêtre}..HauteurUtile +nlargeur={sNomFenetreInterne,indFenêtre}..LargeurUtile +FenTaille(CFI_CHOIX,nlargeur,nHauteur) +FenTaille(FEN_ChoixFenetreInterne ,nlargeur,nHauteur) +MaFenêtre..X = ({ParentObjet(MaFenêtre),indFenêtre}..Largeur-nlargeur)/2 +MaFenêtre..Y = ({ParentObjet(MaFenêtre),indFenêtre}..Hauteur-nHauteur)/2 +cas "FI_Liste_Client" : +ChangeFenêtreSource(CFI_CHOIX,FI_Liste_Client,*,paramSupplementaire) +nHauteur={sNomFenetreInterne,indFenêtre}..Hauteur +nlargeur={sNomFenetreInterne,indFenêtre}..Largeur +FenTaille(CFI_CHOIX,nlargeur,nHauteur) +FenTaille(FEN_ChoixFenetreInterne ,nlargeur,nHauteur) +MaFenêtre..X = ({ParentObjet(MaFenêtre),indFenêtre}..Largeur-nlargeur)/2 +MaFenêtre..Y = ({ParentObjet(MaFenêtre),indFenêtre}..Hauteur-nHauteur)/2 +cas "FI_Fiche_Client" : +pclFicheClient est une PFicheClient dynamique +//param est STParamFenetreAppelante = paramSupplementaire +si paramSupplementaire:sNomIDAppelant="ModifClient" alors +pclFicheClient <- paramSupplementaire.pclObjetAppelant.Modifier() +06/08/2026 Isis_BO 132 + +Partie 3 › Fenêtre WINDEV › FEN_ChoixFenetreInterne › Code +ChangeFenêtreSource(CFI_CHOIX,FI_Fiche_Client,pclFicheClient,paramSupplementaire) +sinon si paramSupplementaire:sNomIDAppelant="AddClient" alors +pclFicheClient <- paramSupplementaire.pclObjetAppelant.Nouveau() +ChangeFenêtreSource(CFI_CHOIX,FI_Fiche_Client,pclFicheClient,paramSupplementaire) +sinon si paramSupplementaire:sNomIDAppelant="ModifClientDossier" alors +pclFicheClient <- paramSupplementaire.pclObjetAppelant +ChangeFenêtreSource(CFI_CHOIX,FI_Fiche_Client,pclFicheClient,paramSupplementaire) +sinon si paramSupplementaire:sNomIDAppelant="AddClientDossier" alors +pclFicheClient <- paramSupplementaire.pclObjetAppelant +ChangeFenêtreSource(CFI_CHOIX,FI_Fiche_Client,pclFicheClient,paramSupplementaire) +fin +//ChangeFenêtreSource(CFI_CHOIX,FI_Fiche_Personne,paramSupplementaire.pclObjetAppelant,paramSup +plementaire) +nHauteur={sNomFenetreInterne,indFenêtre}..HauteurUtile +nlargeur={sNomFenetreInterne,indFenêtre}..LargeurUtile +FenTaille(CFI_CHOIX,nlargeur,nHauteur) +FenTaille(FEN_ChoixFenetreInterne ,nlargeur,nHauteur) +MaFenêtre..X = ({ParentObjet(MaFenêtre),indFenêtre}..Largeur-nlargeur)/2 +MaFenêtre..Y = ({ParentObjet(MaFenêtre),indFenêtre}..Hauteur-nHauteur)/2 +cas "FI_Rapport_Intervention" : +ChangeFenêtreSource(CFI_CHOIX,FI_Rapport_Intervention,paramSupplementaire.pclObjetAppelant, +paramSupplementaire) +nHauteur={sNomFenetreInterne,indFenêtre}..HauteurUtile +nlargeur={sNomFenetreInterne,indFenêtre}..LargeurUtile +//Maximise(MaFenêtre) +FenTaille(FEN_ChoixFenetreInterne ,nlargeur,nHauteur) +FenTailleUtile(CFI_CHOIX,nlargeur,nHauteur) +FenEtat(MaFenêtre,DessusTout) +//MaFenêtre..X = ({ParentObjet(MaFenêtre),indFenêtre}..Largeur-nlargeur)/2 +//MaFenêtre..Y = ({ParentObjet(MaFenêtre),indFenêtre}..Hauteur-nHauteur)/2 +cas "FI_Parametrage_Email" : +//param est STParamFenetreAppelante = paramSupplementaire +ChangeFenêtreSource(CFI_CHOIX,FI_Parametrage_Email,paramSupplementaire.pclObjetAppelant, +paramSupplementaire) +nHauteur={sNomFenetreInterne,indFenêtre}..HauteurUtile +nlargeur={sNomFenetreInterne,indFenêtre}..LargeurUtile +FenTaille(FEN_ChoixFenetreInterne ,nlargeur,nHauteur) +FenTailleUtile(CFI_CHOIX,nlargeur,nHauteur) +MaFenêtre..X = ({ParentObjet(MaFenêtre),indFenêtre}..Largeur-nlargeur)/2 +MaFenêtre..Y = ({ParentObjet(MaFenêtre),indFenêtre}..Hauteur-nHauteur)/2 +fin +06/08/2026 Isis_BO 133 + +Partie 3 › Fenêtre WINDEV › FEN_Login1 › Image +FEN_Login1 +Image +FEN_Login1 +Informations générales +FEN_Login1 +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Login1.wdw +Créé par frederic.bourras@applilogik.fr +Date de création 05/09/2018 19:07:38 +Dernière modification par SMR +Date dernière modification 11/04/2025 16:08:24 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à l'écran +06/08/2026 Isis_BO 134 + +Partie 3 › Fenêtre WINDEV › FEN_Login1 › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 598 Hauteur | 598 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| 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 | | | | +| Menu contextuel | | | | | | +| Unité des tailles | | Compatible desktop ET mobile | | | | +| Ancrage au contenu | | | | | | +| Opacité | | 95 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Non | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| M.C.U. | | Non | | | | +| 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 | | | | +| ---------------------- | --- | --- | ------- | --- | --- | +| 06/08/2026 | | | Isis_BO | | 135 | + +Partie 3 › Fenêtre WINDEV › FEN_Login1 › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | | 2 | Libellé | | | 2 | +| --- | ---------------------- | --- | --- | --- | ---------------- | --- | --- | --- | +| | Bouton | | | 2 | Image | | | 3 | +| | Jauge | | | 1 | Colonne de table | | | 3 | +| | Combo + table | | | 1 | Disposition | | | 2 | +| | Cellule de disposition | | | 4 | | | | | +Nombre d'éléments dans la fenêtre : 20 +FEN_Login1 +Informations sur les champs +Fenêtre : FEN_Login1 +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 | | | | +ruetuaH +| | | ruegraL | elbisiV | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +nalP +| SAI_LOGIN | 175 | 57 250 49 | 0 Actif | | Texte | Non | | | +| -------------- | ------- | --------- | ------- | --- | ----- | --- | --- | --- | +| SAI_MOTDEPASSE | 175 108 | 250 49 | 0 Actif | | Texte | Non | | | +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| LIB_INFO_CONNEXION | | 175 190 | 250 | 17 | 0 | Actif Centre | Haut | | +| ------------------ | --- | ------- | --- | ------- | --- | ------------ | ------ | --- | +| LIB_VERSION | | 271 269 | 45 | 12 | 0 | Actif Centre | Centre | | +| 06/08/2026 | | | | Isis_BO | | | | 136 | + +Partie 3 › Fenêtre WINDEV › FEN_Login1 › Informations sur les champs +Bouton +notuob epyT +| | | | | | | | laitini tatE | BAT ehcuoT | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | --- | --- | +| | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| BTN_CONNECTER | | | 89 203 | 80 | 80 | 0 | Actif | | Validati | | +| ------------- | --- | --- | ------ | --- | --- | --- | ----- | --- | -------- | --- | +| BTN_Fermer | | 434 | 203 | 80 | 80 | 0 | Actif | | Abandon | | +Image +| | | | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --------------------------------------- | ---------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | sucof cevA | +cilc cevA +ruegraL ruetuaH +elbisiV +nalP +| IMG_Inter_venir_logo_gd | | -409 | 219 | 235 | 144 | 0 | Actif | | | | +| ----------------------- | --- | ---- | --- | --- | --- | --- | ----- | --- | --- | --- | +| IMG_LOGO | | 0 | 17 | 586 | 283 | 0 | Actif | | | | +| IMG_LogoIcono | | -25 | 649 | 444 | 258 | 0 | Actif | | | | +Jauge +| | | | | | | BAT ehcuoT | | .nim enroB | .xam enroB | euqirtémyS | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | ---------- | ---------- | ---------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | | | +ruetuaH +| | | | ruegraL | | elbisiV | | lacitreV | | | | +| --- | --- | --- | ------- | --- | ------- | --- | -------- | --- | --- | --- | +nalP +| JAUGE_SAUVEGARDE | 175 | 157 | 250 | 27 | 0 Actif | | | 0 | 100 | | +| ---------------- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | --- | +Combo + table +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | +| | | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| COMBO_ServeurEtBDD | | | 175 | 8 | 250 | 49 | 0 | Actif | | | +| ------------------ | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Disposition +BAT ehcuoT +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | --- | +| | | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| DISP_CONNEXION_HORIZONTAL | | | 0 | 0 | 1174 | 288 | 0 | Actif | | | +| ------------------------- | --- | --- | --- | ------- | ---- | --- | --- | ----- | --- | --- | +| DISP_CONNEXION_VERTICAL | | | 6 | 6 | 586 | 586 | 0 | Actif | | | +| 06/08/2026 | | | | Isis_BO | | | | | | 137 | + +Partie 3 › Fenêtre WINDEV › FEN_Login1 › Informations sur les champs +Combo + table : +DISP_CONNEXION_VERTICAL.DISP_CONNEXION_HORIZONTAL.COMBO_ServeurEtBDD +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_MACHINE | 100 | affichag | | Gauche Centre | Texte | | +| COL_BASE | 130 | affichag | | Gauche Centre | Texte | | +| COL_MACHBASE | 100 | Actif | | Gauche Centre | Texte | | +Fenêtre : FEN_Login1 +Bouton : +| Libellé | FR: | Se connecter | | | | | +| -------------------------- | ----------------------------------- | ------------ | --- | --- | --- | --- | +| Groupe | GR_CONNEXION | | | | | | +| 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 | | | | | | | +| 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 | | | | | | | +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 | | | | | | | +| Texte Markdown | Non | | | | | | +| Mode menu ctx. | | | | | | | +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH01610_32_5.png +| Nb. états image | 5 | | | | | | +| --------------- | --- | --- | ------- | --- | --- | --- | +| 06/08/2026 | | | Isis_BO | | | 138 | + +Partie 3 › Fenêtre WINDEV › FEN_Login1 › Informations sur les champs +Nb. états fond 1 +Etirement de l'image de fond +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 1000 Taux anc. hauteur 1000 +Bouton : DISP_CONNEXION_VERTICAL.DISP_CONNEXION_HORIZONTAL.BTN_Fermer +Libellé FR: Sortir +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH01620_32_5.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +06/08/2026 Isis_BO 139 + +Partie 3 › Fenêtre WINDEV › FEN_Login1 › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo + table : +Libellé FR: &Serveur et base de données +Ordre navigation 1 +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 +Cadrage horz. Gauche +Cadrage vert. Haut +Orientation verticale Non +Hauteur liste 0 +Largeur liste 248 +Larg. déroulée perso. Non +Hauteur ligne 18 +Retrait gauche 0 +Colonne ancrée 0 +Position X interne 181 +Largeur interne 250 +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 +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Bulle ascenseur Oui +Asc. horizontal Automatique +Asc. vertical Automatique +Avec saisie Non +Saisie assistée fichier Non +Défilement Horz. Retour à la ligne automatique +Saisie obligatoire 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 +06/08/2026 Isis_BO 140 + +Partie 3 › Fenêtre WINDEV › FEN_Login1 › Informations sur les champs +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +NULL si vide Non +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +Valeur persistante Oui +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Source de remplissage Variable +Nb. Enreg. Max 0 +Parcours Automatique +Fichier parcouru :COL_CONNEXION.gsListeConnexion +Rub. mémorisée :COL_CONNEXION.gsListeConnexion.gnIndiceSection +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : DISP_CONNEXION_VERTICAL.DISP_CONNEXION_HORIZONTAL +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Agrandir le champ, pousse les champs autour +Débordement - Réduire Non +Ancrage Largeur et hauteur +06/08/2026 Isis_BO 141 + +Partie 3 › Fenêtre WINDEV › FEN_Login1 › Informations sur les champs +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : DISP_CONNEXION_VERTICAL +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Agrandir le champ, pousse les champs autour +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Inter_venir_logo_gd +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\inter venir_logo_gd.svg +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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 +06/08/2026 Isis_BO 142 + +Partie 3 › Fenêtre WINDEV › FEN_Login1 › Informations sur les champs +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : DISP_CONNEXION_VERTICAL.IMG_LOGO +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 143 + +Partie 3 › Fenêtre WINDEV › FEN_Login1 › Informations sur les champs +Image : IMG_LogoIcono +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\logoIcono.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Jauge : +Libellé FR: Sauvegarde des données, veuillez patientez... +Valeur initiale 0 +Ordre navigation -1 +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 +Cadrage horz. Gauche +Cadrage vert. Haut +Position X interne 181 +Largeur interne 250 +06/08/2026 Isis_BO 144 + +Partie 3 › Fenêtre WINDEV › FEN_Login1 › Informations sur les champs +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Afficher le pourcentage Oui +Mode LCD Non +Animée par défaut Non +Type jauge Jauge linéaire +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Mise à blanc Non +Texte Markdown Non +Image fixe Oui +Mode 9 images Non +Mode 9 images (image) Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Information de connexion +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 +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 +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 +06/08/2026 Isis_BO 145 + +Partie 3 › Fenêtre WINDEV › FEN_Login1 › Informations sur les champs +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : DISP_CONNEXION_VERTICAL.DISP_CONNEXION_HORIZONTAL.LIB_VERSION +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 +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 +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 +Liaison des données :gsInfoVersion +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 146 + +Partie 3 › Fenêtre WINDEV › FEN_Login1 › Informations sur les champs +Champ de saisie : +Libellé FR: Login +Groupe GR_CONNEXION +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 181 +Largeur interne 250 +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 +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 +06/08/2026 Isis_BO 147 + +Partie 3 › Fenêtre WINDEV › FEN_Login1 › Informations sur les champs +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. +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 Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Mot de passe +Groupe GR_CONNEXION +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 181 +Largeur interne 250 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +06/08/2026 Isis_BO 148 + +Partie 3 › Fenêtre WINDEV › FEN_Login1 › Informations sur les champs +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 +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. +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 Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 149 + +Partie 3 › Fenêtre WINDEV › FEN_Login1 › Informations sur les champs +Combo + table : +DISP_CONNEXION_VERTICAL.DISP_CONNEXION_HORIZONTAL.COMBO_ServeurEtBDD +Colonne de table : +Titre FR: BASE +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 +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 +Liaison des données :COL_CONNEXION.gsListeConnexion.gsNomLogique +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: MACHBASE +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 +06/08/2026 Isis_BO 150 + +Partie 3 › Fenêtre WINDEV › FEN_Login1 › Informations sur les champs +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :COL_CONNEXION.gsListeConnexion.gsServeurBDDEtBDD +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: MACHINE +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 +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 +Liaison des données :COL_CONNEXION.gsListeConnexion.gsServeurBDD +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 151 + +Partie 3 › Fenêtre WINDEV › FEN_Login1 › Code +FEN_Login1 +Code +Déclarations globales de FEN_Login1 +procédure FEN_Login1() +IMG_LOGO = gLOGO_FOND_SOMBRE..Image +gbConnecte est un booléen +gbListeConnexion est un booléen +gbSansIni est un booléen +gbConnexionFaite est un booléen +LIB_VERSION=gsInfoVersion +(gbListeConnexion,gbSansIni)=ConstruitListeConnexion(gclErreur) +si gbSansIni _ou_ pas gbListeConnexion alors +GR_CONNEXION..Grisé=Vrai +si pas gclErreur.p_bOk alors Erreur(gclErreur.FormateMessage()) +sinon +si COL_CONNEXION.gsListeConnexion..Occurrence>1 alors +COMBO_ServeurEtBDD..Visible=Vrai +sinon si COL_CONNEXION.gsListeConnexion..Occurrence=1 alors//SI gbConnecte ALORS +COMBO_ServeurEtBDD..Visible=Faux +ListeAffiche(COMBO_ServeurEtBDD,taInit) +ListeSelectPlus(COMBO_ServeurEtBDD,1) +//SelectServeurBase() +//ListeAffiche(COMBO_ServeurEtBDD,1) +fin +si pas gclErreur.p_bOk alors Erreur(gclErreur.FormateMessage()) +fin +Fin d'initialisation de FEN_Login1 +COL_CONNEXION.gsCleCryptageUserHFSQL = "62, rue Langénieux" +COL_CONNEXION.gsConstCryptageUserHFSQL = "@APPLILOGIK" +COL_CONNEXION.gsCleDecryptageMotDePasse = gsCleMdp +//SI COMBO_ServeurEtBDD..Valeur<>"" ALORS +// SelectServeurBase()//ExécuteTraitement(COMBO_ServeurEtBDD,trtSélection) +//FIN +FEN_Login1 +Code des champs +Clic sur BTN_CONNECTER +06/08/2026 Isis_BO 152 + +Partie 3 › Fenêtre WINDEV › FEN_Login1 › Code des champs +sListeDesErreurs est une chaîne +bContinue est un booléen +//Récupération de l'indice sélectionné dans la combo Serveur/BDD +nIndiceConnexion est un entier = COMBO_ServeurEtBDD..Visible ? ListeSelect(COMBO_ServeurEtBDD) sinon 1 +Sablier(Vrai) +LIB_INFO_CONNEXION = "Contrôle de l'utilisateur" +LIB_INFO_CONNEXION..Visible = Vrai +PrepareConnexion(gcnxBO,nIndiceConnexion,sListeDesErreurs) +bContinue = ControleUtilisateur(gcnxBO,sListeDesErreurs,SAI_LOGIN,SAI_MOTDEPASSE) +si bContinue alors +LIB_INFO_CONNEXION = "Vérification de l'environnement" +SelectServeurBase(sListeDesErreurs) +sinon +Erreur(sListeDesErreurs) +fin +si pas gbConnexionFaite alors +LIB_INFO_CONNEXION..Visible = Faux +retour +sinon +LIB_INFO_CONNEXION = "Préparation de l'environnement" +fin +si ConnexionUtilisateur(gcnxBO,COL_CONNEXION.gsListeConnexion[COL_CONNEXION.gnIndiceConnexion]: +gsAdresseIPServeur,COL_CONNEXION.gsListeConnexion[COL_CONNEXION.gnIndiceConnexion]:gsPortServeur,COL_ +CONNEXION.gsListeConnexion[COL_CONNEXION.gnIndiceConnexion]:gsNomBDD,SAI_LOGIN,SAI_MOTDEPASSE, +sListeDesErreurs) alors +gbBATIGESTActif = ParametreSystemeLit("BATIGEST_ACTIF",0,Faux, +"Indique si le module BATIGEST est actif") +gpclFicheUtilisateurEnCours = PFicheUtilisateur.gNouvellePresentation() +si HLitRecherchePremier(Utilisateur,Utilisateur.UT_Login,SAI_LOGIN) alors +gpclFicheUtilisateurEnCours.Charger(Utilisateur) +//TraceDébut(trFichier,ComplèteRep(fRepGlobalCommun)+RepertoireIni+["\"] ++"Logs_"+Utilisateur.UT_Login+"_" + DateHeureSys() + " +.txt") +fin +PFicheUtilisateur.gListeParamUtilisateur(gpclFicheUtilisateurEnCours) +//gpclPresenListeParamUtilisateur=PTableParametreUtilisateur.gNouvellePresentation(gpclFicheUti +lisateurEnCours.m_nPKID) +PFicheUtilisateur.gListeSocietePossible(gpclFicheUtilisateurEnCours) +PFicheUtilisateur.gListeAccesEtDroit(gpclFicheUtilisateurEnCours) +si gpclFicheUtilisateurEnCours:ListeParametreUtilisateur<>Null alors +//Récupération des préférences de messagerie +gpclFichePrefMessagerie <- gpclFicheUtilisateurEnCours:p_PrefMessagerie +//Récupération de la configuration de messagerie +gpclFicParamEnvoiEmail <- gpclFicheUtilisateurEnCours:p_ParamEnvoiMail +bufCle est un Buffer = HashChaîne(HA_MD5_128,gsCleMdp) +si gpclFicParamEnvoiEmail<>Null alors +bufCrypte est un Buffer = gpclFicParamEnvoiEmail:m_sValeur +06/08/2026 Isis_BO 153 + +Partie 3 › Fenêtre WINDEV › FEN_Login1 › Code des champs +Désérialise(gstConfigEnvoiEmail,DécrypteStandard(bufCrypte, bufCle, crypteAES128), +psdJSON) +fin +fin +ChargeParametreMetier() +gpclListeParamAppli = PTableParametreApplication.gNouvellePresentation() +gsCodeClient = ParametreSystemeLit(cParam_CodeClient) +//Test pour les bases installées avant cet ajout. +si gsCodeClient="" alors +gsCodeClient=Gauche(gcnxBO..BaseDeDonnées,Taille(gcnxBO..BaseDeDonnées)-4) +ParametreSystemeEcrit(cParam_CodeClient,gsCodeClient) +fin +Utilise(FEN_Menu) +sinon +LIB_INFO_CONNEXION..Visible = Faux +Erreur(sListeDesErreurs) +fin +Clic sur BTN_Fermer +FinProgramme() +Sélection d'une ligne de COMBO_ServeurEtBDD +//SelectServeurBase() +FEN_Login1 +Procédures +Procédure locale callBackConnexion +// Résumé : +// Syntaxe : +//[ = ] callBackConnexion () +// +// Paramètres : +// Aucun +// Valeur de retour : +// chaîne ANSI : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure callBackConnexion(*) +sListeDesErreurs est une chaîne +si MesParamètres..Occurrence>=1 _et_ MesParamètres[1]="SvgBDD" alors +06/08/2026 Isis_BO 154 + +Partie 3 › Fenêtre WINDEV › FEN_Login1 › Procédures +Sablier(Vrai) +si ControleSauvegarde(gcnxBO,sListeDesErreurs,gsInfoVersion) _et_ sListeDesErreurs="" alors +LIB_INFO_CONNEXION = "Sauvegarde avant mise à jour" +JAUGE_SAUVEGARDE..Visible = Vrai +JAUGE_SAUVEGARDE=0 +//Lance une sauvergarde et attend la fin +SauvegardeEtAttend(gcnxBO,sListeDesErreurs,callBackJaugeSvgBDD) +JAUGE_SAUVEGARDE..Visible = Faux +fin +Sablier(Faux) +sinon si MesParamètres..Occurrence>=1 _et_ MesParamètres[1]="StopCnx" alors +Sablier(Vrai) +si InterditAccesBDD(gcnxBO,sListeDesErreurs) alors +//ToastAffiche("Mise à jour en cours, veuillez patientez") +LIB_INFO_CONNEXION = "Mise à jour de l'environnement" +AttendDeconnexionServiceMobile(gcnxBO,sListeDesErreurs) +fin +Sablier(Faux) +fin +renvoyer sListeDesErreurs +Procédure locale callBackJaugeSvgBDD +// Résumé : +// Syntaxe : +//callBackJaugeSvgBDD ([...]) +// +// Paramètres : +// <*> : > +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure callBackJaugeSvgBDD(*) +si MesParamètres..Occurrence>=1 alors +JAUGE_SAUVEGARDE = Val(MesParamètres[1])/10 +fin +Procédure locale SelectServeurBase +procédure SelectServeurBase(sListeDesErreurs est une chaîne) +//Vérification et MAJ de l'environnement sélectionné +gbConnexionFaite = ValideEnvironnement(gcnxBO,sListeDesErreurs,gsInfoVersion,COMBO_ServeurEtBDD.. +Visible ? ListeSelect(COMBO_ServeurEtBDD) sinon 1,callBackConnexion) +si sListeDesErreurs<>"" alors Erreur(sListeDesErreurs) +Sablier(Faux) +06/08/2026 Isis_BO 155 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Image +FEN_Menu +Image +| 06/08/2026 | Isis_BO | 156 | +| ---------- | ------- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations générales +FEN_Menu +Informations générales +FEN_Menu +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Menu.wdw +| Créé par | | FBO | | | | +| -------------------------- | ------------ | ----------------------- | --------- | --------------- | --- | +| Date de création | | 19/09/2018 19:30:56 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 16/05/2025 09:01:05 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Maximisée à l'ouverture | | | | +| Position X | 0 Position Y | | 0 Largeur | 1562 Hauteur | 912 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ------- | --- | --- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | Simple (non redimensionnable) | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 157 | + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations générales +Valide auto. 0 +Lib. + tps restant Oui +Pos. X Menu 6 +Pos. Y Menu 28 +Texte Markdown Non +Mode menu ctx. +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 +Statistiques de la fenêtre +| | Champ de saisie | 1 | Libellé | 21 | +| --- | --------------- | --- | ------------------------ | --- | +| | Bouton | 9 | Image | 42 | +| | Onglet | 1 | Fenêtre interne | 4 | +| | Volet (Onglet) | 1 | Case barre de message | 5 | +| | Zone multiligne | 1 | Ligne de zone multiligne | 17 | +| | Disposition | 2 | Cellule de disposition | 5 | +Nombre d'éléments dans la fenêtre : 109 +FEN_Menu +Informations sur les champs +Fenêtre : FEN_Menu +| 06/08/2026 | | Isis_BO | | 158 | +| ---------- | --- | ------- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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_RechercheGlobal | 508 | 3 348 | 25 | 0 | Actif | Texte | Non | | | | | +| ------------------- | --- | ----- | --- | --- | ----- | ----- | --- | --- | --- | --- | --- | +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | --- | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | +nalP +| LIB_BASEMACHINE | | 109 | 4 | 368 | 22 | 0 | Actif | Droite | Haut | | | +| ------------------------ | --- | ---- | --- | --- | --- | --- | ----- | ------ | ------ | --- | --- | +| LIB_BORDURE_DROITE_MENU | | 2 | 0 | 5 | 887 | 0 | Actif | Gauche | Haut | | | +| LIB_BORDURE_DROITE_MENU1 | | 12 | 180 | 71 | 4 | 0 | Actif | Gauche | Haut | | | +| LIB_BORDURE_DROITE_MENU2 | | 12 | 385 | 71 | 4 | 0 | Actif | Gauche | Haut | | | +| LIB_BORDURE_DROITE_MENU3 | | 12 | 527 | 71 | 4 | 0 | Actif | Gauche | Haut | | | +| LIB_BORDURE_DROITE_MENU4 | | 12 | 732 | 71 | 4 | 0 | Actif | Gauche | Haut | | | +| LIB_CLIENT | | 7 | 441 | 81 | 17 | 0 | Actif | Centre | Centre | | | +| LIB_COLLABORATEUR | | 7 | 583 | 81 | 17 | 0 | Actif | Centre | Centre | | | +| LIB_CONTACT | | 7 | 504 | 81 | 17 | 0 | Actif | Centre | Centre | | | +| LIB_EQUIPE | | 7 | 646 | 81 | 17 | 0 | Actif | Centre | Centre | | | +| LIB_Extraction | | 7 | 857 | 81 | 17 | 0 | Actif | Centre | Haut | | | +| LIB_INTERVENTION | | 7 | 236 | 81 | 17 | 0 | Actif | Centre | Centre | | | +| LIB_LIEU | | 7 | 299 | 81 | 17 | 0 | Actif | Centre | Centre | | | +| LIB_PARAMETRAGE | | 7 | 788 | 81 | 17 | 0 | Actif | Centre | Haut | | | +| LIB_PLANNING | | 7 | 95 | 81 | 17 | 0 | Actif | Centre | Centre | | | +| LIB_SOCIETE | | 7 | 709 | 81 | 17 | 0 | Actif | Centre | Centre | | | +| LIB_STAT | | 7 | 362 | 81 | 17 | 0 | Actif | Centre | Centre | | | +| LIB_TEMPS | | 7 | 157 | 81 | 17 | 0 | Actif | Centre | Centre | | | +| LIB_Titre_Application | | 1 | 4 | 93 | 22 | 0 | Actif | Gauche | Haut | | | +| LIB_Titre_de_fenêtre | | -137 | 272 | 131 | 95 | 0 | Actif | Centre | Centre | | | +| LIB_USER | | 921 | 4 | 333 | 22 | 0 | Actif | Droite | Haut | | | +Bouton +notuob epyT +| | | | | | | | | laitini tatE | BAT ehcuoT | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | --- | --- | +| | | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| BTN_AGRANDIR | | | 1345 | 4 | 24 | 24 | 0 | Actif | | Abandon | | +| -------------------------- | --- | --- | ---- | --- | ------- | --- | --- | ----- | --- | ------- | --- | +| BTN_Annuler | | | 1384 | 4 | 24 | 24 | 0 | Actif | | Abandon | | +| BTN_BOUTON | | | 1395 | 62 | 85 | 24 | 0 | Actif | | Normal | | +| BTN_FERMER_TOUSLESONGLETS | | | 1265 | 4 | 24 | 24 | 0 | Actif | | Abandon | | +| BTN_ICONISER | | | 1306 | 4 | 24 | 24 | 0 | Actif | | Abandon | | +| BTN_LOUPE_RechercheGlobale | | | 862 | 4 | 24 | 24 | 0 | Actif | | Normal | | +| BTN_MENU | | | 3 | 4 | 24 | 24 | 0 | Actif | | Normal | | +| BTN_RESTAURER | | | 1345 | 4 | 24 | 24 | 0 | Actif | | Abandon | | +| BTN_Rafraichir | | | 1519 | 70 | 24 | 24 | 0 | Actif | | Normal | | +| 06/08/2026 | | | | | Isis_BO | | | | | | 159 | + +Partie 3 › 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_CLIENT | 27 | 401 40 | 40 0 | Actif | | +| ------------------------ | ---- | ------- | ----- | ----- | --- | +| IMG_COLLABORATEUR | 27 | 543 40 | 40 0 | Actif | | +| IMG_CONTACT | 27 | 464 40 | 40 0 | Actif | | +| IMG_Cercle_ | -49 | 709 35 | 34 0 | Actif | | +| IMG_Cercle_10066431 | -42 | 612 20 | 20 0 | Actif | | +| IMG_Cercle_10092441 | -42 | 593 20 | 20 0 | Actif | | +| IMG_Cercle_10092543 | -42 | 687 20 | 20 0 | Actif | | +| IMG_Cercle_12632256 | -42 | 564 20 | 20 0 | Actif | | +| IMG_Cercle_128 | -42 | 690 20 | 20 0 | Actif | | +| IMG_Cercle_13212107 | -42 | 567 20 | 20 0 | Actif | | +| IMG_Cercle_16751001 | -42 | 616 20 | 20 0 | Actif | | +| IMG_Cercle_16751103 | -42 | 661 20 | 20 0 | Actif | | +| IMG_Cercle_16777113 | -42 | 616 20 | 20 0 | Actif | | +| IMG_Cercle_255 | -42 | 566 20 | 20 0 | Actif | | +| IMG_Cercle_2763429 | -42 | 643 20 | 20 0 | Actif | | +| IMG_Cercle_32768 | -42 | 667 20 | 20 0 | Actif | | +| IMG_Cercle_3309517 | -42 | 588 20 | 20 0 | Actif | | +| IMG_Cercle_36095 | -42 | 637 20 | 20 0 | Actif | | +| IMG_Cercle_55295 | -42 | 637 20 | 20 0 | Actif | | +| IMG_Cercle_6510979 | -42 | 667 20 | 20 0 | Actif | | +| IMG_Cercle_8421376 | -42 | 643 20 | 20 0 | Actif | | +| IMG_EQUIPE | 27 | 606 40 | 40 0 | Actif | | +| IMG_Extraction | 27 | 816 42 | 42 0 | Actif | | +| IMG_INTERVENTION | 27 | 196 40 | 40 0 | Actif | | +| IMG_INTERVENTION1 | 27 | 259 40 | 40 0 | Actif | | +| IMG_LISTING_INTERVENTION | 27 | 322 40 | 40 0 | Actif | | +| IMG_LOGO_MENU1 | -99 | 20 83 | 23 0 | Actif | | +| IMG_Lien | -142 | 615 30 | 30 0 | Actif | | +| IMG_ONG_BLANC | -124 | 217 118 | 36 0 | Actif | | +| IMG_ONG_BLEU | -121 | 94 118 | 36 0 | Actif | | +| IMG_ONG_CREME | -124 | 133 118 | 36 0 | Actif | | +| IMG_ONG_JAUNE | -124 | 175 118 | 36 0 | Actif | | +| IMG_ONG_ORANGE | -124 | 49 118 | 36 0 | Actif | | +| IMG_PARAMETRE | 27 | 748 40 | 40 0 | Actif | | +| IMG_PLANNING | 27 | 55 40 | 40 0 | Actif | | +| IMG_PLANNING1 | 26 | 3 42 | 41 0 | Actif | | +| IMG_PLANNING2 | -146 | 3 42 | 41 0 | Actif | | +| IMG_SCROLL_HORIZONTAL | -124 | 521 118 | 36 0 | Actif | | +| IMG_SCROLL_VERTICAL | -124 | 479 118 | 36 0 | Actif | | +| IMG_SOCIETE | 27 | 669 40 | 40 0 | Actif | | +| IMG_TEMP | 27 | 117 40 | 40 0 | Actif | | +| IMG_VIDE | -106 | 373 100 | 100 0 | Actif | | +| 06/08/2026 | | Isis_BO | | | 160 | + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Onglet +slennoitroporp steloV +engil/stelov .bN +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | stelov .soP | | | +| --- | ---------- | ---------- | --- | --- | ------------ | ----------- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ONG_FENETRE | 0 | 32 1458 | 855 | 0 | Actif | haut | | 0 | +| ----------- | --- | ------- | --- | --- | ----- | ---- | --- | --- | +Fenêtre interne +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | --- | ------- | --- | ------------ | --- | +| | | | ruegraL | | ruetuaH | | | | +elbisiV +nalP +| CFI_1 | | 116 | 101 | 282 | 780 | 0 | Actif | | +| ----- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CFI_2 | | 404 | 101 | 282 | 780 | 0 | Actif | | +| CFI_3 | | 692 | 101 | 282 | 780 | 0 | Actif | | +| CFI_4 | | 982 | 101 | 562 | 780 | 0 | Actif | | +Zone multiligne +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| ZM_MENU | | 0 | 7 | 100 | 874 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Disposition +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | --- | ------- | --- | ------------ | --- | +| | | | ruegraL | | ruetuaH | | | | +elbisiV +nalP +| DISP_ENTETE_GENERALE | | 1 | 0 | 1458 | 32 | 0 | Actif | | +| -------------------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +| DISP_GENERAL | | 0 | 0 | 1560 | 887 | 0 | Actif | | +Fenêtre : FEN_Menu +| 06/08/2026 | | | Isis_BO | | | | | 161 | +| ---------- | --- | --- | ------- | --- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Bouton : DISP_GENERAL.DISP_ENTETE_GENERALE.BTN_AGRANDIR +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Structure_icone_système_agrandir.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 162 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Bouton : DISP_GENERAL.DISP_ENTETE_GENERALE.BTN_Annuler +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Systeme_Fermer_5.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 163 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Bouton : DISP_GENERAL.ONG_FENETRE.BTN_BOUTON +Libellé FR: &Bouton +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Image fond FR: D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\210 +Blueberries\Blueberries_Btn_Std.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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 164 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Bouton : DISP_GENERAL.DISP_ENTETE_GENERALE.BTN_FERMER_TOUSLESONGLETS +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_système_fermertouslesonglets.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 165 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Bouton : DISP_GENERAL.DISP_ENTETE_GENERALE.BTN_ICONISER +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Systeme_Reduire.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 166 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Bouton : DISP_GENERAL.DISP_ENTETE_GENERALE.BTN_LOUPE_RechercheGlobale +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_chercher.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 167 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Bouton : DISP_GENERAL.DISP_ENTETE_GENERALE.BTN_MENU +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\210 +Blueberries\Blueberries_Pict_Ribbon_List.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 168 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Bouton : DISP_GENERAL.DISP_ENTETE_GENERALE.BTN_RESTAURER +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Structure_icone_système_restaurer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 169 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Bouton : DISP_GENERAL.ONG_FENETRE.BTN_Rafraichir +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_refresh.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 170 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Fenêtre interne : DISP_GENERAL.ONG_FENETRE.CFI_1 +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 +Ancrage au contenu +Numéro aide 0 +Ascenseur auto. 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 +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Hauteur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : DISP_GENERAL.ONG_FENETRE.CFI_2 +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 +Ancrage au contenu +Numéro aide 0 +Ascenseur auto. 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 +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +06/08/2026 Isis_BO 171 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : DISP_GENERAL.ONG_FENETRE.CFI_3 +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 +Ancrage au contenu +Numéro aide 0 +Ascenseur auto. 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 +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : DISP_GENERAL.ONG_FENETRE.CFI_4 +Ordre navigation 6 +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 +Numéro aide 0 +Ascenseur auto. Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Isis_BO 172 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Swipe Non +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Hauteur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : DISP_GENERAL.DISP_ENTETE_GENERALE +Libellé FR: Disposition +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 +Cellule ancrée 2 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 173 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Disposition : DISP_GENERAL +Libellé FR: Disposition +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 +Cellule ancrée 3 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : DISP_GENERAL.ZM_MENU.IMG_CLIENT +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Menu_Client.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +06/08/2026 Isis_BO 174 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Force monochrome Non +Mode 9 images Non +Chargement en fond Oui +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : DISP_GENERAL.ZM_MENU.IMG_COLLABORATEUR +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Menu_Collaborateur.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Oui +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 175 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Image : DISP_GENERAL.ZM_MENU.IMG_CONTACT +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Menu_Contact.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Oui +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Cercle_ +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\cercleSansChoix.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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 +06/08/2026 Isis_BO 176 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Cercle_10066431 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\cercle_10066431.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +06/08/2026 Isis_BO 177 + +Partie 3 › 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 +Image : IMG_Cercle_10092441 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\cercle_10092441.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Cercle_10092543 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\cercle_10092543.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +06/08/2026 Isis_BO 178 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Cercle_12632256 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\cercle_12632256.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +06/08/2026 Isis_BO 179 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Cercle_128 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\cercle_128.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 180 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Image : IMG_Cercle_13212107 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\cercle_13212107.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Cercle_16751001 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\cercle_16751001.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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 +06/08/2026 Isis_BO 181 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Cercle_16751103 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\cercle_16751103.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +06/08/2026 Isis_BO 182 + +Partie 3 › 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 +Image : IMG_Cercle_16777113 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\cercle_16777113.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Cercle_255 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\cercle_255.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +06/08/2026 Isis_BO 183 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Cercle_2763429 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\cercle_2763429.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +06/08/2026 Isis_BO 184 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Cercle_32768 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\cercle_32768.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 185 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Image : IMG_Cercle_3309517 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\cercle_3309517.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Cercle_36095 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\cercle_36095.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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 +06/08/2026 Isis_BO 186 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Cercle_55295 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\cercle_55295.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +06/08/2026 Isis_BO 187 + +Partie 3 › 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 +Image : IMG_Cercle_6510979 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\cercle_6510979.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Cercle_8421376 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\cercle_8421376.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +06/08/2026 Isis_BO 188 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : DISP_GENERAL.ZM_MENU.IMG_EQUIPE +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Menu_Equipe.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Oui +Orientation EXIF Oui +06/08/2026 Isis_BO 189 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : DISP_GENERAL.ZM_MENU.IMG_Extraction +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\excel.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Oui +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 190 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Image : DISP_GENERAL.ZM_MENU.IMG_INTERVENTION +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Menu_Dossier.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Oui +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : DISP_GENERAL.ZM_MENU.IMG_INTERVENTION1 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Menu_Site.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Ascenseur et zoom auto. Non +06/08/2026 Isis_BO 191 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Oui +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : DISP_GENERAL.ZM_MENU.IMG_LISTING_INTERVENTION +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Menu_Stat.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Oui +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +06/08/2026 Isis_BO 192 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_LOGO_MENU1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Lien +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\lié.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 193 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_ONG_BLANC +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\Custom_Tab_Top_Blanc.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 194 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_ONG_BLEU +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\Custom_Tab_Top_Bleu.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 195 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Image : IMG_ONG_CREME +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\Custom_Tab_Top_Vert.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_ONG_JAUNE +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\Custom_Tab_Top_Jaune.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Ascenseur et zoom auto. Non +06/08/2026 Isis_BO 196 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_ONG_ORANGE +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\Custom_Tab_Top_Orange.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +06/08/2026 Isis_BO 197 + +Partie 3 › 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 +Image : DISP_GENERAL.ZM_MENU.IMG_PARAMETRE +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Menu_Parametre.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Oui +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : DISP_GENERAL.ZM_MENU.IMG_PLANNING +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Menu_Planning.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +06/08/2026 Isis_BO 198 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Oui +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : DISP_GENERAL.ZM_MENU.IMG_PLANNING1 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\date.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Oui +Orientation EXIF Oui +06/08/2026 Isis_BO 199 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_PLANNING2 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\date.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Oui +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 200 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Image : IMG_SCROLL_HORIZONTAL +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\Blueberries_Scroll_H_2_Edit.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_SCROLL_VERTICAL +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\Blueberries_Scroll_V_2_Edit.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Ascenseur et zoom auto. Non +06/08/2026 Isis_BO 201 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : DISP_GENERAL.ZM_MENU.IMG_SOCIETE +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Menu_Societe.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Oui +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +06/08/2026 Isis_BO 202 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : DISP_GENERAL.ZM_MENU.IMG_TEMP +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Menu_SaisieDesTemps.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Oui +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_VIDE +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\image_vide_80.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +06/08/2026 Isis_BO 203 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_GENERAL.DISP_ENTETE_GENERALE.LIB_BASEMACHINE +Libellé FR: BaseMachine +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 +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 +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 +06/08/2026 Isis_BO 204 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_GENERAL.LIB_BORDURE_DROITE_MENU +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 +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 A la fin +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 Hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_GENERAL.ZM_MENU.LIB_BORDURE_DROITE_MENU1 +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 205 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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 A la fin +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 Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_GENERAL.ZM_MENU.LIB_BORDURE_DROITE_MENU2 +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 +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 A la fin +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 +06/08/2026 Isis_BO 206 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_GENERAL.ZM_MENU.LIB_BORDURE_DROITE_MENU3 +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 +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 A la fin +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 Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_GENERAL.ZM_MENU.LIB_BORDURE_DROITE_MENU4 +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 207 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse A la fin +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 Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_GENERAL.ZM_MENU.LIB_CLIENT +Libellé FR: Client +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 +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 A la fin +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 Droite +06/08/2026 Isis_BO 208 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_GENERAL.ZM_MENU.LIB_COLLABORATEUR +Libellé FR: Collaborateur +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 +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 A la fin +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_GENERAL.ZM_MENU.LIB_CONTACT +Libellé FR: Contact +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +06/08/2026 Isis_BO 209 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse A la fin +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_GENERAL.ZM_MENU.LIB_EQUIPE +Libellé FR: Equipe +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 +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 A la fin +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 +06/08/2026 Isis_BO 210 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_GENERAL.ZM_MENU.LIB_Extraction +Libellé FR: Données +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 +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 A la fin +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 Droite et bas +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : DISP_GENERAL.ZM_MENU.LIB_INTERVENTION +Libellé FR: Dossier +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 211 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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 A la fin +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_GENERAL.ZM_MENU.LIB_LIEU +Libellé FR: Site +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 +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 A la fin +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 +06/08/2026 Isis_BO 212 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_GENERAL.ZM_MENU.LIB_PARAMETRAGE +Libellé FR: Paramétrage +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 +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 A la fin +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_GENERAL.ZM_MENU.LIB_PLANNING +Libellé FR: Planning +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 213 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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 A la fin +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_GENERAL.ZM_MENU.LIB_SOCIETE +Libellé FR: Société +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 +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 A la fin +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 +06/08/2026 Isis_BO 214 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_GENERAL.ZM_MENU.LIB_STAT +Libellé FR: Suivi +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 +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 A la fin +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_GENERAL.ZM_MENU.LIB_TEMPS +Libellé FR: Temps passé +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 215 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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 A la fin +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_GENERAL.DISP_ENTETE_GENERALE.LIB_Titre_Application +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 +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 +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 +06/08/2026 Isis_BO 216 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Titre_de_fenêtre +Libellé FR: Bienvenue +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_GENERAL.DISP_ENTETE_GENERALE.LIB_USER +Libellé FR: Utilisateur +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 217 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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 +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 +Liaison des données :gpclFicheUtilisateurEnCours.NomPrenomLogin +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 +Onglet : DISP_GENERAL.ONG_FENETRE +Libellé FR: O&nglet +Valeur initiale 1 +Ordre navigation 2 +Curseur survol 0 +Onglet dynamique Oui +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Retrait gauche 0 +Retrait des onglets 0 +Numéro aide 0 +Autorise ChangeGabarit Oui +Bouton Fermer Oui +Bouton Nouveau Non +Volets détachables Non +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 +06/08/2026 Isis_BO 218 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Mode menu ctx. +Nb. états image 1 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : DISP_GENERAL.DISP_ENTETE_GENERALE.SAI_RechercheGlobal +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 643 +Largeur interne 348 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Texte d'indication si vide FR: Rechercher des dossiers, des clients,des contacts et des sites +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 219 + +Partie 3 › 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 Non +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. +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone multiligne : DISP_GENERAL.ZM_MENU +Libellé FR: Zone multiligne +Ordre navigation 1 +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 +Hauteur ligne 48 +Ligne dynamique 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Isis_BO 220 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Texte Markdown Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Menu +Code +Déclarations globales de FEN_Menu +procédure FEN_Menu() +LIB_Titre_Application = cNomProduit +gtabOngletRef est un tableau associatif (ccSansCasse) de chaînes +gtabOngletLog est un tableau associatif (ccSansCasse) de chaînes +FEN_Menu..AffichageActif=Faux +sVoletEnCoursDeFermeture est une chaîne +gpclListeSociete <-PTableSociete.gNouvellePresentation(0) +gpclListeUtilisateur <-PTableUtilisateur.gNouvellePresentation(0) +gpclListeCollabActif <-PTableCollaborateur.gNouvellePresentation(5) +gpclListeTOUTCollab = PTableCollaborateur.gNouvellePresentation(0) +gpclListeSuiviPar = gpclListeTOUTCollab +PFicheUtilisateur::gFicheCollaborateur(gpclFicheUtilisateurEnCours) +//Si le module Batigest est activé on récupère l'identifiant de la base paramètrée dans Base_Ext +si gbBATIGESTActif alors +nCpt est un entier +pour tout BddExterne sur BSX_PKID +nCpt += 1 +clBddExterne est un PFicheBddExterne dynamique +clBddExterne = PFicheBddExterne.gNouvellePresentation() +clBddExterne.Charger(BddExterne) +gtaBaseExterneParNom[clBddExterne.m_sNom] <- clBddExterne +gtaBaseExterneParSoc[clBddExterne.m_nIDSociete] <- clBddExterne +gtaBaseExterneParIndice[nCpt] <- clBddExterne +si nCpt=1 alors gclBaseExterne <- clBddExterne +fin +si nCpt=0 alors +gclBaseExterne = PFicheBddExterne.gNouvellePresentation() +gtaBaseExterneParNom[gclBaseExterne.m_sNom] <- gclBaseExterne +gtaBaseExterneParSoc[gclBaseExterne.m_nIDSociete] <- gclBaseExterne +gtaBaseExterneParIndice[1] <- gclBaseExterne +fin +06/08/2026 Isis_BO 221 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Code +// +// SI HLitPremier(BddExterne,BSX_PKID) ALORS +// +// gclBaseExterne.Charger(BddExterne) +// +//TraceDébut(trFichier,ComplèteRep(fRepGlobalCommun)+RepertoireIni+["\"] ++"Logs_"+Utilisateur.UT_Login+"_" + DateHeureSys() + " +.txt") +// FIN +fin +FEN_Menu.CBM_VERSION = TAB+gsInfoVersion +LIB_BASEMACHINE = gsLibConnexionCourante +si EnModeTest() alors +WS_LICENCE..Adresse=cURLWSLicence +BTN_BOUTON..Visible = Vrai +sinon +WS_LICENCE..Adresse=ParametreSystemeLit("SRV_LICENCE",cURLWSLicence) +fin +LIB_BASEMACHINE..Visible = Vrai +BTN_MENU..Enfoncé = Vrai +si gpclFicheUtilisateurEnCours:m_bAdministrateur _et_ (gpclFicheUtilisateurEnCours:m_bAccesBO=Vrai _ou_ +(gpclFicheUtilisateurEnCours:m_bAccesBO=Faux _et_ gpclFicheUtilisateurEnCours:m_bAccesMobile=Faux)) +alors +ZM_MENU[16]..Visible=Vrai +sinon +ZM_MENU[16]..Visible=Faux +fin +si pas gpclFicheUtilisateurEnCours:m_bAdministrateur alors +si gpclFicheUtilisateurEnCours.ListeAccesEtDroit<>Null alors +pour i = 1 _à_ gpclFicheUtilisateurEnCours.ListeAccesEtDroit.p_nTotal +si pas gpclFicheUtilisateurEnCours.ListeAccesEtDroit.m_clTabModele[i]:m_bAcces alors +nindicep est un entier = TableauCherche(gpclListeParamMetier.m_clTabModele,tcLinéaire, +"m_nPKID",gpclFicheUtilisateurEnCours.ListeAccesEtDroit.m_clTabModele[i]:m_nIDModule,1 +) +si nindicep>0 _et_ ExtraitChaîne(gpclListeParamMetier.m_clTabModele[nindicep].m_s +Valeur,1,".")="" alors +ZM_MENU[gpclListeParamMetier.m_clTabModele[nindicep].m_sValeur]..Visible=Faux +fin +fin +fin +sinon +ZM_MENU[1]..Visible = Faux +ZM_MENU[2]..Visible = Faux +ZM_MENU[3]..Visible = Faux +ZM_MENU[5]..Visible = Faux +ZM_MENU[6]..Visible = Faux +ZM_MENU[7]..Visible = Faux +ZM_MENU[9]..Visible = Faux +ZM_MENU[10]..Visible = Faux +ZM_MENU[12]..Visible = Faux +ZM_MENU[13]..Visible = Faux +ZM_MENU[14]..Visible = Faux +fin +sinon si pas HUtilisateur.SuperUtilisateur +ZM_MENU[1]..Visible = Faux +ZM_MENU[2]..Visible = Faux +ZM_MENU[3]..Visible = Faux +ZM_MENU[4]..Visible = Faux +ZM_MENU[5]..Visible = Faux +ZM_MENU[6]..Visible = Faux +06/08/2026 Isis_BO 222 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Code +ZM_MENU[7]..Visible = Faux +ZM_MENU[8]..Visible = Faux +ZM_MENU[9]..Visible = Faux +ZM_MENU[10]..Visible = Faux +ZM_MENU[11]..Visible = Faux +//ZM_MENU[12]..Visible = Faux +ZM_MENU[13]..Visible = Faux +ZM_MENU[14]..Visible = Faux +fin +si EnModeTest() alors +ZM_MENU[16]..Visible = Vrai +fin +ChoixPlanning_Agenda() +ChoixMessagerie() +HSurveille(Societe,surveillanceSociete,hNumEnrTous,hsAjout+hsModification+hsRaye+hsSuppression) +SourceVersEcran() +ExécuteTraitement(BTN_MENU,trtClic) +"ARTISANS_PARTENAIRES"> +CFI_1..Visible = Faux +CFI_2..Visible = Faux +CFI_3..Visible = Faux +CFI_4..Visible = Faux +BTN_Rafraichir..Visible = Faux + +"Utilitaire"> +gnIdDossierAnnule = gpclListeStatutDossier.RechercheEtDonneIdDepuisValeur("99") + +ActiverTLM() +Fin d'initialisation de FEN_Menu +Maximise(FEN_Menu) +FEN_Menu..X=0 +FEN_Menu..Hauteur=FEN_Menu..Hauteur-40 +FEN_Menu..AffichageActif=Vrai + +ChangeFenêtreSource(CFI_1,FI_TdbPrincipal_Client_Non_Batigest) +ChangeFenêtreSource(CFI_2,FI_TdbPrincipal_Intervention_Non_Batigest) +ChangeFenêtreSource(CFI_3,FI_TdbPrincipal_RDV_Manque) +ChangeFenêtreSource(CFI_4,FI_TdBPrincipal_RDV_Non_Positionne) + +Demande de mise à jour de l'affichage de FEN_Menu +//SourceVersEcran() +Fermeture de FEN_Menu +"Utilitaire"> +si FenEtat(FEN_AGD_PL)=Actif alors +Ferme(FEN_AGD_PL) +fin + +06/08/2026 Isis_BO 223 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Code des champs +FEN_Menu +Code des champs +Clic sur BTN_AGRANDIR +Maximise(FEN_Menu) +//FEN_Menu..X=0 +//FEN_Menu..Hauteur=FEN_Menu..Hauteur-40 +MoiMême..Visible = Faux +BTN_RESTAURER..Visible=Vrai +Clic sur BTN_Annuler +//1 : &Oui +//2 : &Non +//DélaiAvantFermeture(1000) +selon Dialogue("Souhaitez-vous sortir de l'application ?") +// &Oui +cas 1 +si FenEtat(FEN_Agenda)=Actif alors +Ferme(FEN_Agenda) +fin +Ferme() +// &Non +cas 2 +fin +Clic sur BTN_FERMER_TOUSLESONGLETS +ONG_FENETRE.FermeTout() +Clic sur BTN_ICONISER +Iconise(FEN_Menu) +Clic sur BTN_LOUPE_RechercheGlobale +Sablier(Vrai) +si Taille(SAI_RechercheGlobal..ValeurAffichée)>= 2 alors +//Chargement liste des Dossiers +pclListeRechercheDossier est une PTableDossier dynamique +pclListeRechercheDossier=PTableDossier.gNouvellePresentation(2,SAI_RechercheGlobal) +//Chargement liste des Interventions trouvées +pclListeRechercheIntervention est une PTableIntervention dynamique +pclListeRechercheIntervention=PTableIntervention.gNouvellePresentation(2,SAI_RechercheGlobal) +//Chargement liste des site trouvés +pclListeRechercheSite est une PTableLieu dynamique +pclListeRechercheSite=PTableLieu.gNouvellePresentation(4,SAI_RechercheGlobal) +06/08/2026 Isis_BO 224 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Code des champs +si pclListeRechercheSite.m_clTabModele..Occurrence > 0 +//En commentaire car redondant avec la recherche du lieu dans l'intervention +//POUR i= 1 _A_ pclListeRechercheSite.m_clTabModele..Occurrence +// pour TOUT Intervention avec IN_IDLieu=pclListeRechercheSite.m_clTabModele[i].m_nPKID +// pclInterventionLieu est un MIntervention +// pclInterventionLieu.Charger(Intervention) +// TableauAjouteLigne(pclListeRechercheIntervention.m_clTabModele,pclInterventionLieu) +// FIN +//FIN +fin +//Chargement liste des Clients trouvés +pclListeRechercheClient est une PTableClient dynamique +pclListeRechercheClient=PTableClient.gNouvellePresentation(5,SAI_RechercheGlobal) +//Chargement liste des Contacts trouvés +pclListeRechercheContact est une PTablePersonne dynamique +pclListeRechercheContact=PTablePersonne.gNouvellePresentation(7,SAI_RechercheGlobal) +nCompteur est un entier +nCompteur=pclListeRechercheDossier.m_clTabModele..Occurrence+pclListeRechercheIntervention. +m_clTabModele..Occurrence+pclListeRechercheSite.m_clTabModele..Occurrence+pclListeRechercheClient. +m_clTabModele..Occurrence+pclListeRechercheContact.m_clTabModele..Occurrence +si nCompteur=0 alors +Sablier(Faux) +Info("Aucun résultat trouvé pour cette recherche") +retour +fin +si nCompteur=1 alors +si pclListeRechercheDossier.m_clTabModele..Occurrence=1 alors +//Trace(DateHeureSys()+" :Dbl clic liste des dossiers rech global unique") +pclListeRechercheDossier.p_clCourant=pclListeRechercheDossier.m_clTabModele[1] +clPresentationFiche est un PFicheDossier<-pclListeRechercheDossier.Modifier() +ToastAffiche(gPoliceTaille(10)+"Termes recherchés: "+gStylo(RougeFoncé)+SAI_RechercheGlobal.. +ValeurAffichée+gStylo(Blanc)+RC+" Résultat de la recherche du dossier : "+clPresentationFiche. +m_sRefInterne,toastLong,cvMilieu,chCentre,Noir) +FEN_Menu.OuvreOuActive(FI_Fiche_Dossier,"Fiche Dossier",*,clPresentationFiche) +fin +si pclListeRechercheIntervention.m_clTabModele..Occurrence=1 alors +//Trace(DateHeureSys()+" :Dbl clic liste des interventions rech global unique") +pclListeRechercheIntervention.p_clCourant=pclListeRechercheIntervention.m_clTabModele[1] +nIdInter est un entier sur 8 octets=pclListeRechercheIntervention.p_clCourant.m_nPKID +pclPresentationListeDossier est une PTableDossier dynamique +pclPresentationListeDossier=PTableDossier.gNouvellePresentation(0, +pclListeRechercheIntervention.p_clCourant.m_nIDDossier) +si pclPresentationListeDossier.m_clTabModele..Occurrence<>0 alors +clFicheDossier est un PFicheDossier (pclPresentationListeDossier.m_clTabModele[1]) +stParametreFenInterne est un STParamFenetreAppelante +stParametreFenInterne.eTypeAppel = DansOnglet +stParametreFenInterne.sNomFenetreAppelante = "FI_ResultatsRecherche" +stParametreFenInterne.sNomIDAppelant = pclListeRechercheIntervention.p_clCourant +.m_nPKID +stParametreFenInterne.sTitreFenetre = "Fiche Dossier Intervention" +stParametreFenInterne.pclObjetAppelant = clFicheDossier +ToastAffiche(gPoliceTaille(10)+"Termes recherchés: "+gStylo(RougeFoncé)+SAI_ +RechercheGlobal..ValeurAffichée+gStylo(Blanc)+RC+ +" Résultat de la recherche de l'intervention : "+clFicheDossier.m_sRefInterne, +toastLong,cvMilieu,chCentre,Noir) +FEN_Menu.OuvreOuActive(FI_Fiche_Dossier,"Fiche Dossier",Vrai,clFicheDossier, +stParametreFenInterne) +sinon +Info("Aucun dossier lié à cette intervention") +06/08/2026 Isis_BO 225 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Code des champs +fin +fin +si pclListeRechercheSite.m_clTabModele..Occurrence=1 alors +pclListeRechercheSite.p_clCourant=pclListeRechercheSite.m_clTabModele[1] +clPresentationFiche est un PFicheLieu<-pclListeRechercheSite.Modifier() +ToastAffiche(gPoliceTaille(10)+"Termes recherchés: "+gStylo(RougeFoncé)+SAI_RechercheGlobal.. +ValeurAffichée+gStylo(Blanc)+RC+" Résultat de la recherche du site : "+clPresentationFiche. +m_sCodeLieu,toastLong,cvMilieu,chCentre,Noir) +FEN_Menu.OuvreOuActive(FI_Fiche_Lieu,"Fiche site",*,clPresentationFiche) +fin +si pclListeRechercheClient.m_clTabModele..Occurrence=1 alors +pclListeRechercheClient.p_clCourant=pclListeRechercheClient.m_clTabModele[1] +clPresentationFiche est un PFicheClient<-pclListeRechercheClient.Modifier() +ToastAffiche(gPoliceTaille(10)+" Termes recherchés: "+gStylo(RougeFoncé)+SAI_RechercheGlobal.. +ValeurAffichée+gStylo(Blanc)+RC+" Resultat de la recherche Client : "+clPresentationFiche. +m_sNom,toastLong,cvMilieu,chCentre,Noir) +FEN_Menu.OuvreOuActive(FI_Fiche_Client,"Fiche Client",*,clPresentationFiche) +fin +si pclListeRechercheContact.m_clTabModele..Occurrence=1 alors +pclListeRechercheContact.p_clCourant=pclListeRechercheContact.m_clTabModele[1] +clPresentationFiche est un PFichePersonne<-pclListeRechercheContact.Modifier() +ToastAffiche(gPoliceTaille(10)+"Termes recherchés: "+gStylo(RougeFoncé)+SAI_RechercheGlobal.. +ValeurAffichée+gStylo(Blanc)+RC+" Résultat de la recherche du Contact : "+clPresentationFiche. +m_sNom+" "+clPresentationFiche.m_sPrenom,toastLong,cvMilieu,chCentre,Noir) +FEN_Menu.OuvreOuActive(FI_Fiche_Personne,"Fiche Contact",*,clPresentationFiche) +fin +SAI_RechercheGlobal="" +sinon +FEN_Menu.OuvreOuActive(FI_ResultatsRecherche,"Recherche",*,SAI_RechercheGlobal..ValeurAffichée, +pclListeRechercheIntervention,pclListeRechercheSite,pclListeRechercheClient, +pclListeRechercheContact,pclListeRechercheDossier,SAI_RechercheGlobal..ValeurAffichée) +fin +sinon +Info("Vous devez saisir au moins 3 caratères pour réaliser votre recherche") +// RepriseSaisie(SAI_RechercheGlobal) +fin +Sablier(Faux) +cas erreur: +Sablier(Faux) +Erreur(HErreurInfo()) +Clic sur BTN_MENU +//SI BTN_MENU..Enfoncé ALORS +// DISP_GENERAL[1]..visible = vrai +// DISP_GENERAL[2]..Visible = faux +// ZM_MENU_COMPACT..Visible = Faux +// //DISP_ENTETE_GENERALE[1]..Visible=faux +//SINON +// DISP_GENERAL[2]..Visible = Vrai +// DISP_GENERAL[1]..Visible = faux +// ZM_MENU_COMPACT..Visible = vrai +// //DISP_ENTETE_GENERALE[1]..Visible=Vrai +//FIN +Clic sur BTN_RESTAURER +06/08/2026 Isis_BO 226 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Code des champs +Restaure(FEN_Menu) +MoiMême..Visible = Faux +BTN_AGRANDIR..Visible = Vrai +Sortie de SAI_RechercheGlobal +si MoiMême<>"" alors +ExecuteClicSurBoutonSiToucheEntree(DISP_GENERAL.DISP_ENTETE_GENERALE.BTN_LOUPE_RechercheGlobale) +fin +A chaque modification de SAI_RechercheGlobal +Création d'un volet dans ONG_FENETRE +//CAS EXCEPTION: +// exceptioninfo(errComplet) +Fermeture d'un volet de ONG_FENETRE +sVoletEnCoursDeFermeture = MoiMême +FermetureOnglet(sVoletEnCoursDeFermeture) +Modification du volet affiché de ONG_FENETRE +PriseFocus(MoiMême,sVoletEnCoursDeFermeture) +sVoletEnCoursDeFermeture="" +Initialisation de BTN_BOUTON +// Version 1 +// Description +// Bouton simple +Clic sur BTN_BOUTON +OuvreSoeur(FEN_AGD_PL) +Clic sur BTN_Rafraichir +ExécuteTraitement(DISP_GENERAL.ONG_FENETRE.CFI_1.Init,trtProcédure) +ExécuteTraitement(DISP_GENERAL.ONG_FENETRE.CFI_2.Init,trtProcédure) +ExécuteTraitement(DISP_GENERAL.ONG_FENETRE.CFI_3.Init,trtProcédure) +ExécuteTraitement(DISP_GENERAL.ONG_FENETRE.CFI_4.Init,trtProcédure) +Sélection (clic) d'une ligne dans ZM_MENU +06/08/2026 Isis_BO 227 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Code des champs +OuvreOuActiveFenetre(MoiMême) +FEN_Menu +Procédures +Procédure locale ChoixMessagerie +// Résumé : +// Syntaxe : +//ChoixMessagerie () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChoixMessagerie() +nIndice est un entier=TableauCherche(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur. +m_clTabModele,tcLinéaire,"m_sCode;m_nIDUtilisateur","CHOIX_MESSAGERIE",gpclFicheUtilisateurEnCours.m_n +PKID) +si nIndice=-1 alors +clErreur est un CErreur +clNewParametreUtilisateur est un MParametreUtilisateur +clNewParametreUtilisateur.m_sCode="CHOIX_MESSAGERIE" +clNewParametreUtilisateur.m_nIDUtilisateur=gpclFicheUtilisateurEnCours.m_nPKID +clNewParametreUtilisateur.m_sValeur="Externe" +clNewParametreUtilisateur.bEnregistrer(clErreur) +TableauAjouteLigne(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele, +clNewParametreUtilisateur) +fin +Procédure locale ChoixPlanning_Agenda +// Résumé : +// Syntaxe : +// ChoixPlanning_Agenda () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChoixPlanning_Agenda() +nIndice est un entier=TableauCherche(gpclFicheUtilisateurEnCours.ListeParametreUtilisateur. +m_clTabModele,tcLinéaire,"m_sCode;m_nIDUtilisateur","CHOIX_PLANNING_AGENDA",gpclFicheUtilisateurEnCours +.m_nPKID) +si nIndice<>-1 alors +LIB_PLANNING=gpclFicheUtilisateurEnCours.ListeParametreUtilisateur.m_clTabModele[nIndice].m_sValeur +gsPreferenceAgdUt = gpclFicheUtilisateurEnCours.ListeParametreUtilisateur.m_clTabModele[nIndice]. +06/08/2026 Isis_BO 228 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Procédures +m_sValeur +sinon +clErreur est un CErreur +clNewParametreUtilisateur est un MParametreUtilisateur +clNewParametreUtilisateur.m_sCode="CHOIX_PLANNING_AGENDA" +clNewParametreUtilisateur.m_nIDUtilisateur=gpclFicheUtilisateurEnCours.m_nPKID +clNewParametreUtilisateur.m_sValeur="Planning" +clNewParametreUtilisateur.bEnregistrer(clErreur) +TableauAjouteLigne(gpclFicheUtilisateurEnCours.ListeParametreUtilisateur.m_clTabModele, +clNewParametreUtilisateur) +fin +Procédure locale DonneMoiNomObjetEtCouleur +procédure DonneMoiNomObjetEtCouleur(sAliasLogique est une chaîne, bRafraichissement est un booléen = +Vrai) +sNomObjet est une chaîne ANSI +sCouleur est une chaîne ANSI +bAffichePKID est un booléen +bRafraichissementFiche est un booléen = bRafraichissement +selon sAliasLogique +cas "FI_Liste_Collaborateur" : sNomObjet = "gclPresentationListeCollaborateur"; sCouleur +="JAUNE" +cas "FI_Liste_Equipe" : sNomObjet = "gclPresentationListeEquipe"; sCouleur +="JAUNE" +cas "FI_Liste_Societe" : sNomObjet = "gclPresentationListeSociete"; +sCouleur="JAUNE" +cas "FI_Liste_Client" : sNomObjet = "gclPresentationListeClient"; +sCouleur="VERT" +cas "FI_Liste_Personne" : sNomObjet = "gclPresentationListePersonne"; sCouleur +="VERT" +cas "FI_Liste_Dossier" : sNomObjet = "gclPresentationListeDossier"; +sCouleur="BLEU" +cas "FI_Liste_Lieu" : sNomObjet = "gclPresentationListeLieu"; +sCouleur="BLEU" +cas "FI_Planning","FI_Temps_Saisie" : sNomObjet = ""; sCouleur +="ORANGE" +autre cas +si ChaîneCommencePar(sAliasLogique,"FI_Fiche_Collaborateur")alors sNomObjet = +"gclPresentationFicheCollab"; bAffichePKID=Vrai; sCouleur="JAUNE"; +bRafraichissementFiche = Faux +si ChaîneCommencePar(sAliasLogique,"FI_Fiche_Equipe") alors sNomObjet = +"gclPresentationFicheEquipe"; bAffichePKID=Vrai; sCouleur="JAUNE"; +bRafraichissementFiche = Faux +si ChaîneCommencePar(sAliasLogique,"FI_Fiche_Societe") alors sNomObjet = +"gclPresentationFicheSociete";bAffichePKID=Vrai; sCouleur="JAUNE"; +bRafraichissementFiche = Faux +si ChaîneCommencePar(sAliasLogique,"FI_Fiche_Client") alors sNomObjet = +"gclPresentationFicheClient"; bAffichePKID=Vrai; sCouleur="VERT"; +bRafraichissementFiche = Vrai +si ChaîneCommencePar(sAliasLogique,"FI_Fiche_Personne") alors sNomObjet = +"gclPresentationFichePersonne"; bAffichePKID=Vrai; sCouleur="VERT"; +bRafraichissementFiche = Vrai +si ChaîneCommencePar(sAliasLogique,"FI_Fiche_Lieu") alors sNomObjet = +"gclPresentationFicheLieu"; bAffichePKID=Vrai; sCouleur="BLEU"; +bRafraichissementFiche = Vrai +si ChaîneCommencePar(sAliasLogique,"FI_Fiche_Dossier") alors sNomObjet = +"gclPresentationFicheDossier";bAffichePKID=Vrai; sCouleur="BLEU"; +bRafraichissementFiche = Vrai +si ChaîneCommencePar(sAliasLogique,"FI_Fiche_rdv") alors sNomObjet = +"gclPresentationFicheRdv"; bAffichePKID=Vrai; sCouleur="" +06/08/2026 Isis_BO 229 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Procédures +fin +renvoyer (sCouleur,sNomObjet,bAffichePKID, bRafraichissementFiche) +Procédure locale FermetureOnglet +// Résumé : +// Syntaxe : +//FermetureOnglet ( est chaîne) +// +// Paramètres : +// sVoletEnFermeture (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure FermetureOnglet(sVoletEnFermeture est une chaîne) +si gtabOngletRef[sVoletEnFermeture]..Existe alors +si TableauSupprime(gtabOngletLog,gtabOngletRef[sVoletEnFermeture])>0 alors +TableauSupprime(gtabOngletRef,sVoletEnFermeture) +fin +fin +Procédure locale MAJHSurveilleCR +// Résumé : +// Syntaxe : +//MAJHSurveilleCR ( est source de données, , ) +// +// Paramètres : +// sdCRSurveille (source de données) : +// Numenreg : +// TypAction : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure MAJHSurveilleCR(sdCRSurveille est une Source de Données,Numenreg, TypAction) +nIdIntervention est un entier sur 8 octets = sdCRSurveille.CR_IDIntervention +si TypAction<>2 _et_ sdCRSurveille.ModifUser<>gpclFicheUtilisateurEnCours:m_nPKID alors +//Boucle sur tous les onglets ouverts +pour tout sAliasLogique de gtabOngletRef +//Il s'agit d'un onglet "Fiche Dossier" +si Contient(sAliasLogique,"FI_Fiche_Dossier") alors +//Stock l'alias de l'onglet +sAliasRefDoss est une chaîne = gtabOngletLog[sAliasLogique] +si OngletEtat(ONG_FENETRE,sAliasRefDoss)<>voletInexistant alors +//Boucle sur tous les onglets du dossier +pour tout sAliasLogiqueInterv de {sAliasRefDoss+".gtabOngletIntervRef"} +//Il s'agit de l'onglet de l'intervention concerné par le HSurveille +si Contient(sAliasLogiqueInterv,"FI_Fiche_Intervention"+nIdIntervention) _et_ +OngletEtat({sAliasRefDoss+".ONG_INTERVENTION"},{sAliasRefDoss+ +".gtabOngletIntervLog"}[sAliasLogiqueInterv])<>voletInexistant alors +06/08/2026 Isis_BO 230 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Procédures +//Execute la procédure de rafraichissement des rendez-vous pour l'intervention concernée +ExécuteTraitement({sAliasRefDoss+".gtabOngletIntervLog"}[sAliasLogiqueInterv] ++".MAJHSurveilleCR", trtProcédure) +fin +fin +fin +fin +fin +fin +Procédure locale MAJHSurveilleDoc +// Résumé : +// Syntaxe : +//MAJHSurveilleDoc ( est source de données, , ) +// +// Paramètres : +// sdDocSurveille (source de données) : +// Numenreg : +// TypAction : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure MAJHSurveilleDoc(sdDocSurveille est une Source de Données,Numenreg, TypAction) +nIdIntervention est un entier sur 8 octets = sdDocSurveille.DC_IDIntervention +si TypAction<>2 _et_ sdDocSurveille.ModifUser<>gpclFicheUtilisateurEnCours:m_nPKID alors +//Boucle sur tous les onglets ouverts +pour tout sAliasLogique de gtabOngletRef +//Il s'agit d'un onglet "Fiche Dossier" +si Contient(sAliasLogique,"FI_Fiche_Dossier") alors +//Stock l'alias de l'onglet +sAliasRefDoss est une chaîne = gtabOngletLog[sAliasLogique] +si OngletEtat(ONG_FENETRE,sAliasRefDoss)<>voletInexistant alors +//Boucle sur tous les onglets du dossier +pour tout sAliasLogiqueInterv de {sAliasRefDoss+".gtabOngletIntervRef"} +//Il s'agit de l'onglet de l'intervention concerné par le HSurveille +si Contient(sAliasLogiqueInterv,"FI_Fiche_Intervention"+nIdIntervention) _et_ +OngletEtat({sAliasRefDoss+".ONG_INTERVENTION"},{sAliasRefDoss+ +".gtabOngletIntervLog"}[sAliasLogiqueInterv])<>voletInexistant alors +//Execute la procédure de rafraichissement des rendez-vous pour l'intervention concernée +ExécuteTraitement({sAliasRefDoss+".gtabOngletIntervLog"}[sAliasLogiqueInterv] ++".MAJHSurveilleDoc", trtProcédure) +fin +fin +fin +fin +fin +fin +Procédure locale MAJHSurveilleMI +procédure MAJHSurveilleMI(sdMISurveille est une Source de Données,Numenreg, TypAction) +Procédure locale MAJHSurveilleRdv +06/08/2026 Isis_BO 231 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Procédures +// Résumé : +// Syntaxe : +//MAJHSurveilleRdv ( est source de données, , ) +// +// Paramètres : +// sdRdvSurveille (source de données) : +// Numenreg : +// TypAction : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure MAJHSurveilleRdv(sdRdvSurveille est une Source de Données,Numenreg, TypAction) +nIdIntervention est un entier sur 8 octets = sdRdvSurveille.PL_IDIntervention +si TypAction<>2 _et_ sdRdvSurveille.ModifUser<>gpclFicheUtilisateurEnCours:m_nPKID alors +//Boucle sur tous les onglets ouverts +pour tout sAliasLogique de gtabOngletRef +//Il s'agit d'un onglet "Fiche Dossier" +si Contient(sAliasLogique,"FI_Fiche_Dossier") alors +//Stock l'alias de l'onglet +sAliasRefDoss est une chaîne = gtabOngletLog[sAliasLogique] +si OngletEtat(ONG_FENETRE,sAliasRefDoss)<>voletInexistant alors +//Boucle sur tous les onglets du dossier +pour tout sAliasLogiqueInterv de {sAliasRefDoss+".gtabOngletIntervRef"} +//Il s'agit de l'onglet de l'intervention concerné par le HSurveille +si Contient(sAliasLogiqueInterv,"FI_Fiche_Intervention"+nIdIntervention) _et_ +OngletEtat({sAliasRefDoss+".ONG_INTERVENTION"},{sAliasRefDoss+ +".gtabOngletIntervLog"}[sAliasLogiqueInterv])<>voletInexistant alors +//Execute la procédure de rafraichissement des rendez-vous pour l'intervention concernée +ExécuteTraitement({sAliasRefDoss+".gtabOngletIntervLog"}[sAliasLogiqueInterv] ++".MAJHSurveilleRdv", trtProcédure) +fin +fin +fin +fin +fin +fin +Procédure locale OuvreIntervDepuisRDV +// Résumé : +// Syntaxe : +//OuvreIntervDepuisRDV ( est chaîne) +// +// Paramètres : +// sAlias (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure OuvreIntervDepuisRDV(sAlias est une chaîne ANSI,stParametreFenInterne est un +STParamFenetreAppelante) +si sAlias <> "" alors +//Ouverture du volet à partir de son alias +ONG_FENETRE=gtabOngletLog[sAlias] +06/08/2026 Isis_BO 232 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Procédures +ExécuteTraitement(gtabOngletLog[sAlias]+".RafraichissementFiche", trtProcédure, +stParametreFenInterne)//RafraichissementDossierIntervention +// Indique que l'onglet prend le focus +PriseFocus(AnsiVersUnicode(gtabOngletLog[sAlias])) +fin +Procédure locale OuvreOuActive +// Résumé : Permet d'ouvrir la fenêtre dans un onglet ou de l'activer +// Syntaxe : +//OuvreOuActive ( est chaîne, est chaîne [, est +booléen [, ...]]) +// +// Paramètres : +// sNomFenetre (chaîne ANSI) : Nom de la fenêtre +// sLibelle (chaîne ANSI) : Libellé du bouton du volet d'onglet +// bForceRafraichissement (booléen - valeur par défaut=0) : > +// <*> : > +// Valeur de retour : +// Aucune +// bForceRafraissement (booléen) : > +// <*> : > +// <*> : > +// <*> : > +// <*> : > +// <*> : > +// <*> : > +procédure OuvreOuActive(sNomFenetre est une chaîne, sLibelle est chaîne, +bForceRafraichissement est un booléen=Faux, *)//,bForceRafraissement est un booléen +sAlias est une chaîne =sNomFenetre +sCompl est une chaîne +si (Contient(sNomFenetre,"FI_Fiche") ou Contient(sNomFenetre,"FI_ResultatsRecherche") ou Contient( +sNomFenetre,"FI_Rapport_Intervention")) _et_ sNomFenetre<>"FI_Fiche_Parametre"alors +si Contient(sNomFenetre,"FI_ResultatsRecherche") alors +sAlias += MesParamètres[4] +sCompl = RC+Gauche(MesParamètres[4],15) +si Taille(MesParamètres[4]) > 15 alors +sCompl+="..." +fin +sinon +sAlias += MesParamètres[4]:IdentifiantUnique +sCompl = RC+Gauche(MesParamètres[4]:InfoOnglet,15) +si Taille(MesParamètres[4]:InfoOnglet) > 15 alors +sCompl+="..." +fin +fin +fin +// touche CTRL enfoncée +bactif est un booléen=pas ToucheEnfoncée(teControl) +// volet courant +sAliasCourant est une chaîne=ONG_FENETRE +// désactive l'affichage +si pas EnModeTest() alors MaFenêtre..AffichageActif=Faux +06/08/2026 Isis_BO 233 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Procédures +// Le volet n'existe pas encore +si gtabOngletLog[sAlias]..Existe=Faux _ou_ OngletEtat(ONG_FENETRE,gtabOngletLog[sAlias])= +voletInexistant alors +// ouverture du nouveau volet +quand exception dans +//NouvOnglet est un champ +sAliasCreation est une chaîne +si Contient(sNomFenetre,"FI_Fiche_Dossier") alors +// //NouvOnglet <- OngletOuvre(ONG_FENETRE,sLibelle+sCompl,sNomFenetre)//,MesParamètres[4 A] +sAliasCreation = OngletOuvre(ONG_FENETRE,sLibelle+sCompl,sNomFenetre) +sinon +//NouvOnglet <- OngletOuvre(ONG_FENETRE,sLibelle+sCompl,sNomFenetre,MesParamètres[4 A]) +sAliasCreation =OngletOuvre(ONG_FENETRE,sLibelle+sCompl,sNomFenetre,MesParamètres[4 à]) +fin +gtabOngletRef[sAliasCreation]=sAlias +gtabOngletLog[sAlias]=sAliasCreation +// sCouleur est une chaîne ANSI = DonneMoiNomObjetEtCouleur(sNomFenetre) +// SELON sCouleur +// CAS "JAUNE" : ONG_FENETRE[sAliasCreation]..Image=IMG_ONG_JAUNE +// CAS "VERT" : ONG_FENETRE[sAliasCreation]..Image=IMG_ONG_CREME +// CAS "BLEU" : ONG_FENETRE[sAliasCreation]..Image=IMG_ONG_BLEU +// CAS "ORANGE": ONG_FENETRE[sAliasCreation]..Image=IMG_ONG_ORANGE +// +// FIN +faire +Info(ExceptionInfo(errComplet)) +fin +// Affectation de l'alias pour les futur appel +//NouvOnglet..Alias=sAlias +si Contient(sNomFenetre,"FI_Fiche_Dossier") alors +//ExécuteTraitement(sAlias+".InitFiche",trtProcédure, MesParamètres[4 À]) +ExécuteTraitement(sAliasCreation+".InitFiche",trtProcédure, MesParamètres[4 à]) +fin +// Indique que l'onglet prend le focus +PriseFocus(AnsiVersUnicode(sAliasCreation),*,Faux) +si bForceRafraichissement alors +quand exception dans +//ExécuteTraitement(sAlias+".DonneFocusChamp", trtProcédure) +ExécuteTraitement(sAliasCreation+".DonneFocusChamp", trtProcédure) +faire +fin +fin +// Le volet existe +sinon si bactif +//Ouverture du volet à partir de son alias +ONG_FENETRE=gtabOngletLog[sAlias] +si bForceRafraichissement alors +si Contient(sNomFenetre,"FI_AgendaPlanning",MotComplet+SansCasse) ou Contient(sNomFenetre, +"FI_Agenda",MotComplet+SansCasse) alors +ExécuteTraitement(gtabOngletLog[sAlias]+".RafraichissementFiche", trtProcédure, +MesParamètres[4 à]) +sinon +ExécuteTraitement(gtabOngletLog[sAlias]+".RafraichissementFiche", trtProcédure, +MesParamètres[5 à])//RafraichissementDossierIntervention +fin +fin +// Indique que l'onglet prend le focus +PriseFocus(AnsiVersUnicode(gtabOngletLog[sAlias])) +fin +06/08/2026 Isis_BO 234 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Procédures +// Le volet ne doit pas être actif (touche CTRL enfoncée) +si pas bactif alors +//Reactivation du volet courant +ONG_FENETRE=sAliasCourant +fin +// active l'affichage +MaFenêtre..AffichageActif=Vrai +//Trace(DateHeureSys()+" :Fin d'ouverture d'onglet menu") +Procédure locale OuvreOuActiveFenetre +// Résumé : +// Syntaxe : +//OuvreOuActiveFenetre ( est entier) +// +// Paramètres : +// nIndice (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure OuvreOuActiveFenetre(nIndice est un entier) +selon nIndice +cas 1 : +Sablier() +si FenEtat(FEN_Agenda)=Actif alors +DonneFocus(FEN_AGD_PL) +sinon +OuvreSoeur(FEN_AGD_PL) +fin +Sablier(Faux) +cas 2 : +Sablier() +si LIB_PLANNING="Planning" alors +OuvreOuActive(FI_AG_OU_PL,"Planning") +sinon +OuvreOuActive(FI_AG_OU_PL,"Agenda") +fin +Sablier(Faux) +// sablier() +// si LIB_PLANNING="Planning" alors +// OuvreOuActive(FI_AgendaPlanning,"Planning") +// sinon +// OuvreOuActive(FI_Agenda,"Agenda") +// FIN +// Sablier(faux) +cas 3 : OuvreOuActive(FI_Temps_Saisie,"Saisie des Temps") +cas 5 : OuvreOuActive(FI_Liste_Dossier,"Liste dossier") +cas 6 : OuvreOuActive(FI_Liste_Lieu,"Liste Site") +cas 7 : OuvreOuActive(FI_Listing_Intervention,"Suivi") +cas 9 : OuvreOuActive(FI_Liste_Client,"Liste Client") +cas 10 : OuvreOuActive(FI_Liste_Personne,"Liste Contact") +cas 12 : OuvreOuActive(FI_CollaborateurListe,"Liste Collaborateur") +cas 13 : OuvreOuActive(FI_Liste_Equipe,"Liste Équipe") +cas 14 : OuvreOuActive(FI_Liste_Societe,"Liste Société") +cas 16 : OuvreOuActive(FI_Parametrage,"Paramétrage") +cas 51 : OuvreOuActive(FI_Fiche_Dossier,"Fiche dossier") +cas 17 : Ouvre(FEN_Extraction_Donnees) +cas 99 : Ouvre(FEN_Choix_Clb_AGD) +06/08/2026 Isis_BO 235 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Procédures +fin +Procédure locale PriseFocus +// Résumé : +// Syntaxe : +//PriseFocus ( est chaîne UNICODE [, est chaîne [, + est booléen]]) +// +// Paramètres : +// sAliasCourant (chaîne UNICODE) : +// sVoletEnFermeture (chaîne ANSI - valeur par défaut="") : +// bRafraichissement (booléen - valeur par défaut=1) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure PriseFocus(sAliasCourant est une chaîne Unicode,local sVoletEnFermeture est une chaîne="",local bRafraichissement est un booléen=Vrai) +si gtabOngletRef[sAliasCourant]..Existe alors +sAliasLogique est une chaîne = gtabOngletRef[sAliasCourant] +sNomObjet est une chaîne +bAffichePKID est un booléen +sCouleur est une chaîne +bRafraichissementFiche est un booléen +(sCouleur,sNomObjet,bAffichePKID, bRafraichissementFiche) = DonneMoiNomObjetEtCouleur(sAliasLogique +,bRafraichissement) +bDifferentDeNull est un booléen +selon sAliasLogique +cas "FI_Liste_Client", "FI_Liste_Collaborateur","FI_Liste_Societe","FI_Liste_Equipe", +"FI_Liste_Dossier" +bDifferentDeNull = {sAliasCourant+"."+sNomObjet}<>Null _et_ {sAliasCourant+"."+sNomObjet+ +":p_clCourant"}<>Null +FEN_Menu.CBM_PKID= bDifferentDeNull ? ChaîneConstruit(libIdBarreMessage,{sAliasCourant+"." ++sNomObjet+":p_clCourant",indVariable}:IdentifiantUnique) sinon "" +DemandeMiseAJourIHM(sAliasCourant) +cas "FI_Liste_Lieu","FI_Liste_Personne" : +bDifferentDeNull = {sAliasCourant+"."+sNomObjet}<>Null _et_ {sAliasCourant+"."+sNomObjet+ +":p_clCourant"}<>Null +FEN_Menu.CBM_PKID= bDifferentDeNull ? ChaîneConstruit(libIdBarreMessage,{sAliasCourant+"." ++sNomObjet+":p_clCourant",indVariable}:IdentifiantUnique) sinon "" +DemandeMiseAJourIHM(sAliasCourant) +si bRafraichissement alors +quand exception dans +ExécuteTraitement(UnicodeVersAnsi(sAliasCourant)+".RafraichissementFiche", +trtProcédure, DonneParam(DansOnglet,"FEN_MENU",MoiMême..Nom)) +DemandeMiseAJourIHM(sAliasCourant) +faire +fin +fin +autre cas +si bAffichePKID alors +bDifferentDeNull = {sAliasCourant+"."+sNomObjet}<>Null +FEN_Menu.CBM_PKID= bDifferentDeNull ? ChaîneConstruit(libIdBarreMessage,{sAliasCourant +06/08/2026 Isis_BO 236 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Procédures ++"."+sNomObjet,indVariable}:IdentifiantUnique) sinon "" +// +SI bRafraichissement _et_ sAliasLogique DANS +("FI_Fiche_Dossier","FI_Fiche_Intervention","FI_Planning","FI_Agenda3","FI_ResultatsRecherche") ALORS +// +ExécuteTraitement(UnicodeVersAnsi(sAliasCourant)+".RafraichissementFiche",trtProcédure, +DonneParam(DansOnglet,"FEN_MENU",MoiMême..Nom)) +// FIN +// DemandeMiseAJourIHM(sAliasCourant) +si bRafraichissementFiche alors +quand exception dans +ExécuteTraitement(UnicodeVersAnsi(sAliasCourant)+".RafraichissementFiche", +trtProcédure, DonneParam(DansOnglet,"FEN_MENU",MoiMême..Nom)) +DemandeMiseAJourIHM(sAliasCourant) +faire +fin +fin +sinon si bRafraichissementFiche alors +quand exception dans +ExécuteTraitement(UnicodeVersAnsi(sAliasCourant)+".RafraichissementFiche", +trtProcédure, DonneParam(DansOnglet,"FEN_MENU",MoiMême..Nom)) +DemandeMiseAJourIHM(sAliasCourant) +faire +fin +fin +fin +selon sCouleur +cas "JAUNE" : ONG_FENETRE..Image=IMG_ONG_JAUNE +cas "VERT" : ONG_FENETRE..Image=IMG_ONG_CREME +cas "BLEU" : ONG_FENETRE..Image=IMG_ONG_BLEU +cas "ORANGE": ONG_FENETRE..Image=IMG_ONG_ORANGE +fin +fin +Procédure locale RenomeOnglet +// Résumé : +// Syntaxe : +//RenomeOnglet ( est entier sur 8 octets, est chaîne) +// +// Paramètres : +// nPKID (entier sur 8 octets) : +// sInfoOnglet (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RenomeOnglet(local nPKID est un entier sur 8 octets,local sInfoOnglet est une chaîne) +//sAliaARenomer est une chaine UNICODE +ONG_FENETRE[ONG_FENETRE]..Alias = Remplace(ONG_FENETRE..Valeur,"0",nPKID) +sCompl est une chaîne = Gauche(sInfoOnglet,15) +si Taille(sInfoOnglet) > 15 alors +sCompl+="..." +fin +06/08/2026 Isis_BO 237 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Procédures +ONG_FENETRE[ONG_FENETRE]..Libellé = ONG_FENETRE[ONG_FENETRE]..Libellé+sCompl +//i est un entier = 1 +//ResChamp est une chaîne +//ResChamp = EnumèreChamp(ONG_FENETRE, i) +//TANTQUE ResChamp <> "" +// i++ +// Trace(ResChamp) +// ResChamp = EnumèreChamp(ONG_FENETRE, i) +// +//FIN +Procédure locale surveillanceSociete +// Résumé : +// Syntaxe : +// surveillanceSociete () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure surveillanceSociete() +gpclListeSociete <-PTableSociete.gNouvellePresentation(0) +06/08/2026 Isis_BO 238 + +Partie 3 › Fenêtre WINDEV › FEN_ChoixCalendrier › Image +FEN_ChoixCalendrier +Image +FEN_ChoixCalendrier +Informations générales +FEN_ChoixCalendrier +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_ChoixCalendrier.wdw +| Créé par | | XVA | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | --- | +| Date de création | | 10/12/2018 12:50:38 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:23 | | | | +| Titre | | FR: ChoixCalendrier | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 242 | 277 | +| Position X | Position Y | | Largeur | Hauteur | | +| 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. +| 06/08/2026 | | | Isis_BO | | 239 | +| ---------- | --- | --- | ------- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_ChoixCalendrier › Informations générales +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +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 +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Image fond FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Blueberries\Blueberries_Background_Purple.jpg +Image poignée D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +06/08/2026 Isis_BO 240 + +Partie 3 › Fenêtre WINDEV › FEN_ChoixCalendrier › Informations générales +Statistiques de la fenêtre +| | Libellé | | | | 1 | Bouton | | | | | 2 | +| --- | ----------- | --- | --- | --- | --- | ---------------------- | --- | --- | --- | --- | --- | +| | Combo | | | | 2 | Calendrier | | | | | 1 | +| | Disposition | | | | 1 | Cellule de disposition | | | | | 2 | +Nombre d'éléments dans la fenêtre : 9 +FEN_ChoixCalendrier +Informations sur les champs +Fenêtre : FEN_ChoixCalendrier +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | | X noitisoP Y noitisoP | | | | laitini tatE | | | | | +| --- | --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| LIB_Titre | | | 2 | 6 140 | 41 | 0 | Actif | Gauche | Centre | | | +| --------- | --- | --- | --- | ----- | --- | --- | ----- | ------ | ------ | --- | --- | +Bouton +| | | | | | | | | | BAT ehcuoT | | notuob epyT | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | ----------- | +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Fermer_compact | | | 210 | 16 | 24 | 24 | 0 | Actif | | Abandon | | +| ------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | ------- | --- | +| BTN_Valider_compact | | | 170 | 16 | 24 | 24 | 0 | Actif | | Normal | | +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 | | | | +| COMBO_HeureDebut | | 0 | 0 112 | 39 | 0 Actif | | Mémoire | | Non | | | +| COMBO_HeureFin | | 0 | 0 106 | 37 | 0 Actif | | Mémoire | | Non | | | +| 06/08/2026 | | | | | Isis_BO | | | | | | 241 | + +Partie 3 › Fenêtre WINDEV › FEN_ChoixCalendrier › Informations sur les champs +Calendrier +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CAL_ChoixDate | 6 | 53 224 | 158 | 0 | Actif | | +| ------------- | --- | ------ | --- | --- | ----- | --- | +Disposition +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| DISP_Heure | 6 | 217 224 | 37 | 0 | Actif | | +| ---------- | --- | ------- | --- | --- | ----- | --- | +Fenêtre : FEN_ChoixCalendrier +Bouton : BTN_Fermer_compact +| 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 | | | | | | | +| 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 | | | | | | | +| 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 | | | | | | | +| Texte Markdown Non | | | | | | | +| Mode menu ctx. | | | | | | | +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +| Nb. états image 5 | | | | | | | +| ------------------------------------ | --- | ------- | --- | --- | --- | --- | +| Nb. états fond 1 | | | | | | | +| Etirement de l'image de fond | | | | | | | +| 06/08/2026 | | Isis_BO | | | | 242 | + +Partie 3 › Fenêtre WINDEV › FEN_ChoixCalendrier › Informations sur les champs +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : BTN_Valider_compact +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 243 + +Partie 3 › Fenêtre WINDEV › FEN_ChoixCalendrier › Informations sur les champs +Calendrier : CAL_ChoixDate +Libellé FR: Calendrier +Ordre navigation 3 +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format retour AAAAMMJJ +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Numéro semaine Non +Semaine ISO8601 Non +Texte Markdown Non +Sélection hors mois Oui +Style hors mois Oui +Jours hors mois Oui +Premier jour semaine Lundi +Bouton aujourd'hui Oui +Libellé aujourd'hui FR: période prédéfinie +Format mois FR: MMMM AAAA +Sélection de périodes Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : DISP_Heure.COMBO_HeureDebut +Libellé FR: Heure début : +06/08/2026 Isis_BO 244 + +Partie 3 › Fenêtre WINDEV › FEN_ChoixCalendrier › Informations sur les champs +Contenu initial FR: 00:00 +00:30 +01:00 +01:30 +02:00 +02:30 +03:00 +03:30 +04:00 +04:30 +05:00 +05:30 +06:00 +06:30 +07:00 +07:30 +08:00 +08:30 +09:00 +09:30 +10:00 +10:30 +11:00 +11:30 +12:00 +12:30 +13:00 +13:30 +14:00 +14:30 +15:00 +15:30 +16:00 +16:30 +17:00 +17:30 +18:00 +18:30 +19:00 +19:30 +20:00 +20:30 +21:00 +21:30 +22:00 +22:30 +23:00 +23:30 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 112 +Larg. déroulée perso. Non +06/08/2026 Isis_BO 245 + +Partie 3 › Fenêtre WINDEV › FEN_ChoixCalendrier › Informations sur les champs +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 6 +Largeur interne 112 +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 +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. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 246 + +Partie 3 › Fenêtre WINDEV › FEN_ChoixCalendrier › Informations sur les champs +Combo : DISP_Heure.COMBO_HeureFin +Libellé FR: Heure fin : +Contenu initial FR: 00:00 +00:30 +01:00 +01:30 +02:00 +02:30 +03:00 +03:30 +04:00 +04:30 +05:00 +05:30 +06:00 +06:30 +07:00 +07:30 +08:00 +08:30 +09:00 +09:30 +10:00 +10:30 +11:00 +11:30 +12:00 +12:30 +13:00 +13:30 +14:00 +14:30 +15:00 +15:30 +16:00 +16:30 +17:00 +17:30 +18:00 +18:30 +19:00 +19:30 +20:00 +20:30 +21:00 +21:30 +22:00 +22:30 +23:00 +23:30 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Centre +06/08/2026 Isis_BO 247 + +Partie 3 › Fenêtre WINDEV › FEN_ChoixCalendrier › Informations sur les champs +Orientation verticale Non +Hauteur liste 0 +Largeur liste 105 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 125 +Largeur interne 105 +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 +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. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 248 + +Partie 3 › Fenêtre WINDEV › FEN_ChoixCalendrier › Informations sur les champs +Disposition : DISP_Heure +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 6 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Titre +Libellé FR: Date du rendez-vous +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 +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 +Unicode Non +Transforme le & Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 249 + +Partie 3 › Fenêtre WINDEV › FEN_ChoixCalendrier › Informations sur les champs +Facteur d'agrandissement 0 +Mise à blanc Oui +Texte Markdown Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_ChoixCalendrier +Code +Déclarations globales de FEN_ChoixCalendrier +//--- Fenêtre Popup --- +// Pour accéder au champ ou à la combo popup qui a ouvert cette fenêtre +// vous pouvez utiliser : MonChampPopup +procédure FEN_ChoixCalendrier(gdDateRdvDebut est une chaîne ANSI,gdDateRdvfin est une chaîne ANSI, +gdHeureDebut est une chaîne ANSI,gdHeuredeFin est une chaîne ANSI,gsAfficheDate chaîne) +//AfficheDate=0 affiche date debut - AfficheDate=1 affiche date fin +sDateRetourDebut,sDateRetourFin,sHeureRetourDebut, sHeureRetourFin sont des chaînes +gnIndice est un entier +//si AfficheDate=0 alors +// DISP_Heure[1]..visible=vrai +// DISP_Heure[2]..Visible=faux +//sinon +// DISP_Heure[1]..Visible=faux +// DISP_Heure[2]..Visible=vrai +//FIN +gsDatejour est une chaîne=gdDateRdvDebut +gsHeurejour est une chaîne=gdHeureDebut +gsHeurejour=Gauche(gsHeurejour,2)+":"+Milieu(gsHeurejour,3,2) +//CalendrierSelectPlus(CAL_ChoixDate,gsDatejour) +CAL_ChoixDate..DateDébut=gsDatejour +gnIndice=ListeCherche(COMBO_HeureDebut,gsHeurejour,Vrai) +ListeSelectPlus(COMBO_HeureDebut, gnIndice) +gsDatejourFin est une chaîne=gdDateRdvfin +gsHeurejourfin est une chaîne=gdHeuredeFin +gsHeurejourfin=Gauche(gsHeurejourfin,2)+":"+Milieu(gsHeurejourfin,3,2) +//CalendrierSelectPlus(CAL_ChoixDate,gdDateRdvfin) +CAL_ChoixDate..DateFin=gsDatejourFin +gnIndice=ListeCherche(COMBO_HeureFin,gsHeurejourfin,Vrai) +ListeSelectPlus(COMBO_HeureFin, gnIndice) +Fermeture de FEN_ChoixCalendrier +renvoyer (sDateRetourDebut,sDateRetourFin,sHeureRetourDebut, sHeureRetourFin) +06/08/2026 Isis_BO 250 + +Partie 3 › Fenêtre WINDEV › FEN_ChoixCalendrier › Code des champs +FEN_ChoixCalendrier +Code des champs +Clic sur BTN_Fermer_compact +Ferme(FEN_ChoixCalendrier,gdDateRdvDebut,gdDateRdvfin,gdHeureDebut,gdHeuredeFin) +Clic sur BTN_Valider_compact +//sDateHeureRetourDebut=CAL_ChoixDate..DateDébut+ExtraitChaîne(COMBO_HeureDebut..ValeurAffichée,1,":")+ +ExtraitChaîne(COMBO_HeureDebut..ValeurAffichée,2,":")+"00" +//sDateHeureRetourFin=CAL_ChoixDate..Datefin+ExtraitChaîne(COMBO_HeureFin..ValeurAffichée,1,":")+Extrai +tChaîne(COMBO_HeureFin..ValeurAffichée,2,":")+"00" +sDateRetourDebut=CAL_ChoixDate..DateDébut +sDateRetourFin=CAL_ChoixDate..DateFin +sHeureRetourDebut=ExtraitChaîne(COMBO_HeureDebut..ValeurAffichée,1,":")+ExtraitChaîne(COMBO_HeureDebut. +.ValeurAffichée,2,":") +sHeureRetourFin=ExtraitChaîne(COMBO_HeureFin..ValeurAffichée,1,":")+ExtraitChaîne(COMBO_HeureFin.. +ValeurAffichée,2,":") +Ferme(FEN_ChoixCalendrier,sDateRetourDebut,sDateRetourFin,sHeureRetourDebut,sHeureRetourFin) +06/08/2026 Isis_BO 251 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Image +FEN_Choix_Equipe_Collaborateur +Image +FEN_Choix_Equipe_Collaborateur +Informations générales +FEN_Choix_Equipe_Collaborateur +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Choix_Equipe_Collaborateur.wdw +| Créé par | | XVA | | | | +| -------------------------- | ------------ | ------------------------------ | --------- | --------------- | --- | +| Date de création | | 15/11/2018 15:38:11 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:23 | | | | +| Titre | | FR: Choix Equipe_Collaborateur | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 317 Hauteur | 318 | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 252 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Informations générales +Ctx. HFSQL indép. +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Non +Type cadre +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +06/08/2026 Isis_BO 253 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | | | 1 | Libellé | | | | 8 | +| --- | ----------------------- | --- | --- | --- | --- | --------------------- | --- | --- | --- | --- | +| | Bouton | | | | 3 | Interrupteur | | | | 3 | +| | Combo | | | | 1 | Zone répétée | | | | 1 | +| | Attribut zone répétée | | | | 8 | Option d'interrupteur | | | | 3 | +| | Rupture de zone répétée | | | | 2 | Disposition | | | | 2 | +| | Cellule de disposition | | | | 7 | | | | | | +Nombre d'éléments dans la fenêtre : 39 +FEN_Choix_Equipe_Collaborateur +Informations sur les champs +Fenêtre : FEN_Choix_Equipe_Collaborateur +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_Collaborateur | | 7 7 | 269 22 | 0 | Actif | Texte | Non | | | | +| ----------------- | --- | --- | ------ | --- | ----- | ----- | --- | --- | --- | --- | +Libellé +tuaféd rap eéminA +| | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | | X noitisoP | | | | laitini tatE | | | | +| --- | --- | --- | ---------- | --- | --- | --- | ------------ | --- | --- | --- | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Equipe | | | 7 35 | 136 | 14 | 0 | Actif | Gauche | Haut | | +| ---------- | --- | --- | ---- | --- | --- | --- | ----- | ------ | ---- | --- | +LIB_Titre_de_fenêtre_Liste_Colla +| | | | 7 6 | 197 | 21 | 0 | Actif | Gauche | Centre | | +| ---------- | --- | --- | --- | --- | ------- | --- | ----- | ------ | ------ | --- | +| 06/08/2026 | | | | | Isis_BO | | | | | 254 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Informations sur les champs +Bouton +notuob epyT +| | | | | | | | | | laitini tatE | BAT ehcuoT | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | ---------- | --- | --- | +| | | | X noitisoP | Y noitisoP | | | | | | | | | +| | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_Fermer_Fiche_Rdv | | | 4 | | 4 24 | 24 | 0 | Actif | | | Abandon | | +| ----------------------- | --- | --- | --- | --- | ---- | --- | --- | ----- | --- | --- | -------- | --- | +| BTN_LOUPE_Collaborateur | | | 282 | | 6 24 | 24 | 0 | Actif | | | Validati | | +| BTN_Valider_Fiche_Rdv | | | 4 | | 4 24 | 24 | 0 | Actif | | | Normal | | +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 | | | | | +| -------------- | --- | --- | --- | --- | ---- | ----- | -------- | ----- | --- | --- | --- | --- | +| COMBO_IDEquipe | 58 | 31 | 246 | 22 | 0 | Actif | Variable | | Non | | | | +Zone répétée +BAT ehcuoT +| | | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | +| --- | --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | --- | +| | | | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| ZR_Collaborateur | | | | 0 | 3 | 317 | 213 | 0 | | Actif | | | +| ---------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Disposition +| | | | | | | | | | | laitini tatE | | BAT ehcuoT | +| --- | --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | ---------- | +| | | | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| DISP_BANDEAU_ENTETE_LISTE_EQUIPE_COL | | | | 0 | 0 | 317 | 33 | 0 | | Actif | | | +| ------------------------------------ | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +| DISP_CHOIX_EQUIPE_COLLAB | | | | 0 | 0 | 317 | 317 | 0 | | Actif | | | +Zone répétée : DISP_CHOIX_EQUIPE_COLLAB.ZR_Collaborateur +Libellé +tuaféd rap eéminA +| | | | | | | | | .zroh egardaC | | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------- | --- | ------------- | --- | --- | +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | --- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | | | | +elbisiV +nalP +| LIB_Archive | | 221 | | 6 | 16 20 | 0 | Actif | Gauche | | Haut | | | +| -------------- | --- | --- | --- | ----- | ------- | --- | ----- | ------ | --- | ---- | --- | --- | +| LIB_AuPlanning | | 254 | | 6 | 16 20 | 0 | Actif | Gauche | | Haut | | | +| LIB_IdCollab | | 172 | | 6 | 16 20 | 0 | Actif | Gauche | | Haut | | | +| LIB_IdRdv | | 194 | | 6 | 16 20 | 0 | Actif | Gauche | | Haut | | | +| LIB_NomCollab | | 49 | | 7 245 | 20 | 0 | Actif | Gauche | | Haut | | | +| 06/08/2026 | | | | | Isis_BO | | | | | | | 255 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Informations sur les champs +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | ------------ | ------------- | ------------- | --- | +| | | | laitini tatE | | FTR tamroF | | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Titre | 49 6 | 187 18 | 0 Actif | Gauche | Haut | | +| --------- | ---- | ------ | ------- | ------ | ---- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | staté siorT | +| --- | --------------------- | --------------- | --- | ------------ | --- | ----------- | +| | | ruegraL ruetuaH | | | | | +elbisiV +nalP +| INT_Actif | 276 | 3 23 28 | 0 | affichag | 1 | | +| ---------- | --- | ------- | --- | -------- | --- | --- | +| INT_COLLAB | 20 | 3 23 28 | 0 | Actif | 1 | | +| INT_Sel1 | 20 | 6 23 18 | 0 | Actif | 1 | | +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +ATT_Actif +ATT_Archive +ATT_AuPlanning +ATT_Equipe +ATT_IdCollab +ATT_IdEquipe +ATT_Nom +ATT_sel +Rupture de zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +RUPT_BasRupture1 +RUPT_HautRupture1 +| 06/08/2026 | | Isis_BO | | | | 256 | +| ---------- | --- | ------- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Informations sur les champs +Fenêtre : FEN_Choix_Equipe_Collaborateur +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 257 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Informations sur les champs +Bouton : DISP_CHOIX_EQUIPE_COLLAB.BTN_LOUPE_Collaborateur +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_chercher.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 258 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 259 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Informations sur les champs +Combo : DISP_CHOIX_EQUIPE_COLLAB.COMBO_IDEquipe +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 15 +Retrait gauche 2 +Position X interne 58 +Largeur interne 246 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Équipe +Numéro aide 0 +Texte d'indication si vide FR: Équipe +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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 +06/08/2026 Isis_BO 260 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Informations sur les champs +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeRendezVous.m_clTabVisible +Filtre 14 +Rub. affichée :gpclListeTypeRendezVous.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeTypeRendezVous.m_clTabVisible.m_nPKID +1ère ligne perso. Non +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 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 261 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Informations sur les champs +Disposition : DISP_CHOIX_EQUIPE_COLLAB +Libellé FR: Disposition +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 +Cellule ancrée 3 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_CHOIX_EQUIPE_COLLAB.LIB_Equipe +Libellé FR: Équipe +Groupe GR_NONPLANIFIE +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 +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 +Unicode Non +Transforme le & Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Isis_BO 262 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Informations sur les champs +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Titre +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 263 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Informations sur les champs +Champ de saisie : DISP_CHOIX_EQUIPE_COLLAB.SAI_Collaborateur +Libellé FR: Collaborateur +Groupe GR_CADENAS_RDV +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 7 +Largeur interne 269 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Nom ou prénom du collaborateur +Numéro aide 0 +Texte d'indication si vide FR: Collaborateur +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 30 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 264 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Informations sur les champs +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. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : DISP_CHOIX_EQUIPE_COLLAB.ZR_Collaborateur +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 35 +Largeur colonne 300 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 265 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Informations sur les champs +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Oui +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection multiple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +Nb. Enreg. Max 0 +Parcours Automatique +Fichier parcouru :gclPresentationListeCollab.m_clTabModele +Rub. mémorisée :gclPresentationListeCollab.m_clTabModele +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +06/08/2026 Isis_BO 266 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Informations sur les champs +Zone répétée : DISP_CHOIX_EQUIPE_COLLAB.ZR_Collaborateur +Attribut zone répétée : DISP_CHOIX_EQUIPE_COLLAB.ZR_Collaborateur.ATT_Actif (8) +Champ associé INT_Actif +Propriété associée 1 +Liaison des données :gclPresentationListeCollab.m_clTabModele.m_bActif +Attribut zone répétée : DISP_CHOIX_EQUIPE_COLLAB.ZR_Collaborateur.ATT_Archive (5) +Champ associé LIB_Archive +Propriété associée 1 +Liaison des données :gclPresentationListeCollab.m_clTabModele.m_bArchive +Attribut zone répétée : DISP_CHOIX_EQUIPE_COLLAB.ZR_Collaborateur.ATT_AuPlanning +Champ associé LIB_AuPlanning +Propriété associée 1 +Liaison des données :gclPresentationListeCollab.m_clTabModele.m_bAuPlanning +Attribut zone répétée : DISP_CHOIX_EQUIPE_COLLAB.ZR_Collaborateur.ATT_Equipe (7) +Champ associé LIB_Titre +Propriété associée 1 +Liaison des données :gclPresentationListeCollab.m_clTabModele.m_clEquipe.m_sNom +Attribut zone répétée : DISP_CHOIX_EQUIPE_COLLAB.ZR_Collaborateur.ATT_IdCollab (2) +Champ associé LIB_IdCollab +Propriété associée 1 +Liaison des données :gclPresentationListeCollab.m_clTabModele.m_nPKID +06/08/2026 Isis_BO 267 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Informations sur les champs +Attribut zone répétée : DISP_CHOIX_EQUIPE_COLLAB.ZR_Collaborateur.ATT_IdEquipe +Propriété associée 1 +Attribut zone répétée : DISP_CHOIX_EQUIPE_COLLAB.ZR_Collaborateur.ATT_Nom (1) +Champ associé LIB_NomCollab +Propriété associée 1 +Liaison des données :gclPresentationListeCollab.m_clTabModele.NomPrenom +Attribut zone répétée : DISP_CHOIX_EQUIPE_COLLAB.ZR_Collaborateur.ATT_sel (3) +Champ associé INT_COLLAB +Propriété associée 1 +Liaison des données :gclPresentationListeCollab.m_clTabModele.m_bSelection +Interrupteur : DISP_CHOIX_EQUIPE_COLLAB.ZR_Collaborateur.INT_Actif +Valeur initiale 0 +Ordre navigation 2 +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 +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 +06/08/2026 Isis_BO 268 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Informations sur les champs +Valeur persistante Non +Option multilignes Non +Option format RTF Non +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationListeCollab.m_clTabModele.m_bActif +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : DISP_CHOIX_EQUIPE_COLLAB.ZR_Collaborateur.INT_COLLAB +Valeur initiale 0 +Ordre navigation 1 +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 +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. +Liaison des données :gclPresentationListeCollab.m_clTabModele.m_bSelection +06/08/2026 Isis_BO 269 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Informations sur les champs +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : +Valeur initiale 0 +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +06/08/2026 Isis_BO 270 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_CHOIX_EQUIPE_COLLAB.ZR_Collaborateur.LIB_Archive +Libellé FR: Ar +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 +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 +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 +Liaison des données :gclPresentationListeCollab.m_clTabModele.m_bArchive +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_CHOIX_EQUIPE_COLLAB.ZR_Collaborateur.LIB_AuPlanning +Libellé FR: AP +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 271 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Informations sur les champs +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 +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 +Liaison des données :gclPresentationListeCollab.m_clTabModele.m_bAuPlanning +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_CHOIX_EQUIPE_COLLAB.ZR_Collaborateur.LIB_IdCollab +Libellé FR: id +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 +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 +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 +Liaison des données :gclPresentationListeCollab.m_clTabModele.m_nPKID +06/08/2026 Isis_BO 272 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_CHOIX_EQUIPE_COLLAB.ZR_Collaborateur.LIB_IdRdv +Libellé FR: id +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 273 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Informations sur les champs +Libellé : DISP_CHOIX_EQUIPE_COLLAB.ZR_Collaborateur.LIB_NomCollab +Libellé FR: Nom Collaborateur +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 +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 +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 +Liaison des données :gclPresentationListeCollab.m_clTabModele.NomPrenom +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_CHOIX_EQUIPE_COLLAB.ZR_Collaborateur.RUPT_HautRupture1.LIB_Titre +Libellé FR: Vos collaborateurs +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Isis_BO 274 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 6 +Rupture de zone répétée : +Toujours visible Oui +Attribut de rupture 6 +FEN_Choix_Equipe_Collaborateur +Messages multilingues +06/08/2026 Isis_BO 275 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Code +FEN_Choix_Equipe_Collaborateur +Code +Déclarations globales de FEN_Choix_Equipe_Collaborateur +procédure FEN_Choix_Equipe_Collaborateur(gclPresentationListeCollab est un PTableCollaborateur +dynamique=Null,paramSupplementaire est un STParamFenetreAppelante=Null,gbInactif est un +booléen = faux) +LIB_Titre_de_fenêtre_Liste_Collaborateur = paramSupplementaire.eTypeAppel=Libre ? "Collaborateurs" +sinon paramSupplementaire.sTitreFenetre<>"" ? paramSupplementaire.sTitreFenetre sinon "Collaborateurs" +gnIdCollaborateur est un entier sur 8 octets +gnIdCollabSelection est un entier sur 8 octets +local +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentationListeCollab=Null alors +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.sNomIDAppelant<>"" alors +selon paramSupplementaire.sNomIDAppelant +cas "RendezVousEquipeCollab", "RendezVousEquipeCollabRDVP" : +gclPresentationListeCollab=PTableCollaborateur.gNouvellePresentation(1, +paramSupplementaire.nIdFenetreAppelante) +si paramSupplementaire.pclObjetAppelant<>Null _et_ gclPresentationListeCollab: +m_clTabModele..Occurrence>0 alors +pour i = 1 _à_ paramSupplementaire.pclObjetAppelant.m_clTabModele..Occurrence +k est un entier=1 +si paramSupplementaire.pclObjetAppelant.m_clTabModele[i]. +m_bOuvertureCollaborateur alors +gnIdCollaborateur = paramSupplementaire.pclObjetAppelant.m_clTabModele[i] +.m_nIDCollaborateur +fin +nIndice est un entier = TableauCherche( gclPresentationListeCollab: +m_clTabModele,tcLinéaire,"m_nPKID",paramSupplementaire.pclObjetAppelant. +m_clTabModele[i].m_nIDCollaborateur,k) +si nIndice>0 alors +boucle +gclPresentationListeCollab:m_clTabModele[nIndice]:m_bSelection = Vrai +k++ +nIndice = TableauCherche( gclPresentationListeCollab:m_clTabModele, +tcLinéaire,"m_nPKID",paramSupplementaire.pclObjetAppelant. +m_clTabModele[i].m_nIDCollaborateur,k) +à faire tantque nIndice>0 +fin +fin +pour toute ligne de ZR_Collaborateur +si ATT_AuPlanning=0 alors +ZoneRépétéeSupprime(ZR_Collaborateur) +fin +fin +fin +cas "IntervEquipeCollab" +gclPresentationListeCollab=PTableCollaborateur.gNouvellePresentation(1, +paramSupplementaire.nIdFenetreAppelante) +si paramSupplementaire.pclObjetAppelant<>Null _et_ gclPresentationListeCollab: +m_clTabModele..Occurrence>0 alors +pour i = 1 _à_ paramSupplementaire.pclObjetAppelant.m_clTabModele..Occurrence +k est un entier=1 +nIndice est un entier = TableauCherche( gclPresentationListeCollab: +m_clTabModele,tcLinéaire,"m_nPKID",paramSupplementaire.pclObjetAppelant. +06/08/2026 Isis_BO 276 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Code +m_clTabModele[i].m_nIDCollaborateur,k) +si nIndice>0 alors +boucle +gclPresentationListeCollab:m_clTabModele[nIndice]:m_bSelection = Vrai +k++ +nIndice = TableauCherche( gclPresentationListeCollab:m_clTabModele, +tcLinéaire,"m_nPKID",paramSupplementaire.pclObjetAppelant. +m_clTabModele[i].m_nIDCollaborateur,k) +à faire tantque nIndice>0 +fin +fin +fin +cas "SuiviEquipeCollab" ,"AgendaPlanning" +gclPresentationListeCollab=PTableCollaborateur.gNouvellePresentation(0) +si paramSupplementaire.pclObjetAppelant<>Null _et_ gclPresentationListeCollab: +m_clTabModele..Occurrence>0 alors +pour i = 1 _à_ paramSupplementaire.pclObjetAppelant.m_clTabModele..Occurrence +k est un entier=1 +nIndice est un entier = TableauCherche( gclPresentationListeCollab: +m_clTabModele,tcLinéaire,"m_nPKID",paramSupplementaire.pclObjetAppelant. +m_clTabModele[i]:m_nPKID,k) +si nIndice>0 alors +boucle +gclPresentationListeCollab:m_clTabModele[nIndice]:m_bSelection = Vrai +k++ +nIndice = TableauCherche( gclPresentationListeCollab:m_clTabModele, +tcLinéaire,"m_nPKID",paramSupplementaire.pclObjetAppelant. +m_clTabModele[i]:m_nPKID,k) +à faire tantque nIndice>0 +fin +fin +fin +cas "SuiviTemps" +gclPresentationListeCollab=PTableCollaborateur.gNouvellePresentation(1, +paramSupplementaire.nIdFenetreAppelante) +autre cas : gclPresentationListeCollab=PTableCollaborateur.gNouvellePresentation(0) +fin +sinon +gclPresentationListeCollab=PTableCollaborateur.gNouvellePresentation(0) +fin +fin +Demande de mise à jour de l'affichage de FEN_Choix_Equipe_Collaborateur +si gclPresentationListeCollab<>Null _et_ gclPresentationListeCollab est PTableCollaborateur alors +SourceVersEcran("","gclPresentationListeCollab") +si pas gbInactif alors +pour toute ligne de ZR_Collaborateur +si ATT_Actif=0 alors +ZoneRépétéeSupprime(ZR_Collaborateur) +fin +fin +fin +ZR_Collaborateur.Trie("ATT_Equipe"+TAB+"ATT_Nom") +06/08/2026 Isis_BO 277 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Code +EquipeCombo() +fin +Fermeture de FEN_Choix_Equipe_Collaborateur +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.gProcMAJRetour<> Null _et_ +paramSupplementaire.sNomIDAppelant="RendezVousEquipeCollab" _et_ MaFenêtre..ValeurRenvoyée=1 alors +paramSupplementaire.sContexteAppelant = Remplace(paramSupplementaire.sContexteAppelant,"INT_COLLAB" +,"") +bResultat est un booléen = AppelProcFenetreAppelante(gclPresentationListeCollab,paramSupplementaire +,Vrai,Vrai) +//paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationListeColl +ab) +sinon si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.gProcMAJRetour<> Null _et_ +paramSupplementaire.sNomIDAppelant="RendezVousEquipeCollabRDVP" _et_ MaFenêtre..ValeurRenvoyée=1 alors +paramSupplementaire.sContexteAppelant = Remplace(paramSupplementaire.sContexteAppelant,"INT_COLLAB" +,"") +bResultat est un booléen = AppelProcFenetreAppelante(gclPresentationListeCollab,paramSupplementaire +,Vrai,Vrai) +sinon si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.gProcMAJRetour<> Null _et_ +paramSupplementaire.sNomIDAppelant="IntervEquipeCollab" _et_ MaFenêtre..ValeurRenvoyée=1 alors +//paramSupplementaire.gProcMAJRetour(1,paramSupplementaire.sContexteAppelant,gclPresentationListeCo +llab) +AppelProcFenetreAppelante(gclPresentationListeCollab,paramSupplementaire,Vrai,Vrai) +sinon si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.gProcMAJRetour<> Null _et_ +paramSupplementaire.sNomIDAppelant="SuiviEquipeCollab" _et_ MaFenêtre..ValeurRenvoyée=1 alors +AppelProcFenetreAppelante(gclPresentationListeCollab,paramSupplementaire,Vrai,Vrai) +sinon si paramSupplementaire.sNomIDAppelant="RendezVousEquipeCollab" alors +//renvoyer gnIdCollabSelection +fin +FEN_Choix_Equipe_Collaborateur +Code des champs +Clic sur BTN_LOUPE_Collaborateur +FiltreZR() +Sélection d'une ligne de COMBO_IDEquipe +FiltreZR() +Clic sur BTN_Fermer_Fiche_Rdv +pour toute ligne de ZR_Collaborateur +ATT_sel=0 +fin +Ferme(FEN_Choix_Equipe_Collaborateur) +Clic sur BTN_Valider_Fiche_Rdv +06/08/2026 Isis_BO 278 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Code des champs +si paramSupplementaire.sNomIDAppelant= "ExtractionDonnees" ou paramSupplementaire.sNomIDAppelant= +"AgendaPlanning" alors +pour toute ligne b de ZR_Collaborateur +si ATT_sel[b] alors +TableauAjoute(paramSupplementaire.tabIDS, ZR_Collaborateur[b].LIB_IdCollab) +fin +fin +fin +EcranVersSource("","gclPresentationListeCollab") +Ferme(FEN_Choix_Equipe_Collaborateur,1) +Fin d'initialisation de ZR_Collaborateur +pour toute ligne i de ZR_Collaborateur +si ZR_Collaborateur[i].ATT_IdCollab = gnIdCollaborateur alors +ZR_Collaborateur[i].INT_COLLAB..Grisé = Vrai +fin +fin +Sélection d'une ligne de ZR_Collaborateur +//SI ATT_sel=1 ALORS +// ATT_sel=0 +//sinon +// si gclPresentRDVGroupe:m_clTabModele..occurrence>0 alors +// MessageErreur est une chaine +// +MessageErreur=Gestion_Conflit(gclPresentRDVGroupe:m_clTabModele[1].m_dhDateDebut,gclPresentRDVGroupe:m_ +clTabModele[1].m_dhDateFin,ATT_IdCollab) +// SI MessageErreur<>"" ALORS +// Erreur("Vous ne pouvez pas déplacer ce rendez-vous pour les utiliateurs +suivant:"+RC+RC+MessageErreur+RC+RC+"Conflit de Rendez-vous") +// ATT_sel=0 +// RETOUR +// fin +// sinon +// ATT_sel=1 +// FIN +//FIN +Entrée dans INT_COLLAB ( ZR_Collaborateur ) +//ZR_Collaborateur..AffichageActif=Faux +A chaque modification de INT_COLLAB ( ZR_Collaborateur ) +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.gProcMAJRetour<> Null _et_ ( +paramSupplementaire.sNomIDAppelant="RendezVousEquipeCollab" ou paramSupplementaire.sNomIDAppelant= +"RendezVousEquipeCollabRDVP") _et_ INT_COLLAB=1 alors +EcranVersSource("","gclPresentationListeCollab") +clUnCollab est un MCollaborateur = ZR_Collaborateur +paramSupplementaire.sContexteAppelant += TAB+MoiMême..Nom +MessageErreur est une chaîne = "" +si paramSupplementaire:pclObjetAppelant:m_clTableauModele:m_clTabModele..Occurrence > 0 et +paramSupplementaire.sNomIDAppelant="RendezVousEquipeCollab" alors +si paramSupplementaire:pclObjetAppelant:m_clTableauModele:m_clTabModele[1]:m_bSuperposable = +Faux alors +MessageErreur =GestionConflitRDV(paramSupplementaire:pclObjetAppelant:m_clTableauModele: +06/08/2026 Isis_BO 279 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Code des champs +m_clTabModele[1]:m_dhDateDebut,paramSupplementaire:pclObjetAppelant:m_clTableauModele:m_clTabModele[1]: +m_dhDateFin,clUnCollab.m_nPKID,... +paramSupplementaire:pclObjetAppelant:m_clTableauModele:m_clTabModele[1]:m_nPKID, +paramSupplementaire:pclObjetAppelant:m_clTableauModele:m_clTabModele[1]:m_nIDGroupe, +paramSupplementaire:pclObjetAppelant:m_clTableauModele:m_clTabModele[1]:m_nIDGroupeDate) +fin +fin +bResultat est un booléen = Vrai +si MessageErreur<>"" alors +Erreur("Vous ne pouvez pas affecter ce rendez-vous à cet utilisateur"+RC+RC+ +"Conflit de Rendez-vous"+RC+MessageErreur) +bResultat = Faux +sinon +bResultat = AppelProcFenetreAppelante(clUnCollab,paramSupplementaire,Vrai,Vrai) +//paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant+TAB+MoiMême..Nom,clU +nCollab) +fin +si pas bResultat alors +ATT_sel=0 +retour +fin +sinon si INT_COLLAB=1 et paramSupplementaire.sNomIDAppelant="SuiviTemps" alors +paramSupplementaire.nIdRenvoye = ZR_Collaborateur.ATT_IdCollab +pour toute ligne b de ZR_Collaborateur +si ZR_Collaborateur[b].ATT_IdCollab <> paramSupplementaire.nIdRenvoye alors +ZR_Collaborateur[b].INT_COLLAB = Faux +fin +fin +sinon si paramSupplementaire.sNomIDAppelant="AgendaSuiviTemps" alors +ResIndice est un entier +ResIndice = paramSupplementaire.tabIDS.Cherche(tcLinéairePremier,ZR_Collaborateur.ATT_IdCollab) +si INT_COLLAB=1 et ResIndice <= 0 alors +TableauAjoute(paramSupplementaire.tabIDS,ZR_Collaborateur.ATT_IdCollab) +sinon si INT_COLLAB=0 et ResIndice > 0 alors +TableauSupprime(paramSupplementaire.tabIDS,ResIndice) +fin +fin +//ZR_Collaborateur..AffichageActif=Vrai +A chaque modification de INT_Sel1 ( ZR_Collaborateur ) +nIndice est un entier +k est un entier +si MoiMême[1]=1 et paramSupplementaire.sNomIDAppelant<>"SuiviTemps" alors +pour tout ligne de ZR_Collaborateur +ZR_Collaborateur.ATT_sel=1 +k =1 +nIndice = TableauCherche( gclPresentationListeCollab:m_clTabModele,tcLinéaire,"m_nPKID",ZR_ +Collaborateur.ATT_IdCollab,k) +si nIndice>0 alors +boucle +gclPresentationListeCollab:m_clTabModele[nIndice]:m_bSelection = Vrai +k++ +nIndice = TableauCherche( gclPresentationListeCollab:m_clTabModele,tcLinéaire, +"m_nPKID",ZR_Collaborateur.ATT_IdCollab,k) +à faire tantque nIndice>0 +06/08/2026 Isis_BO 280 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Code des champs +fin +fin +sinon +pour tout ligne de ZR_Collaborateur +ZR_Collaborateur.ATT_sel=0 +k =1 +nIndice = TableauCherche( gclPresentationListeCollab:m_clTabModele,tcLinéaire,"m_nPKID",ZR_ +Collaborateur.ATT_IdCollab,k) +si nIndice>0 alors +boucle +gclPresentationListeCollab:m_clTabModele[nIndice]:m_bSelection = Faux +k++ +nIndice = TableauCherche( gclPresentationListeCollab:m_clTabModele,tcLinéaire, +"m_nPKID",ZR_Collaborateur.ATT_IdCollab,k) +à faire tantque nIndice>0 +fin +fin +fin +FEN_Choix_Equipe_Collaborateur +Procédures +Procédure locale EquipeCombo +procédure EquipeCombo() +ListeSupprimeTout(COMBO_IDEquipe) +nIDSociete est un entier sur 8 octets +selon paramSupplementaire.sNomIDAppelant +cas "RendezVousEquipeCollab", "RendezVousEquipeCollabRDVP", "SuiviTemps" : +nIDSociete = paramSupplementaire.nIdFenetreAppelante +si nIDSociete <= 0 alors +si paramSupplementaire:pclObjetAppelant est PTableRDV alors +si paramSupplementaire:pclObjetAppelant:m_clTableauModele.m_clTabModele..Occurrence > +0 alors +nIDSociete = paramSupplementaire:pclObjetAppelant:m_clTableauModele:m_clTabModele[ +1]:m_nIDSociete +fin +fin +fin +autres cas +nIDSociete = 0 +fin +si nIDSociete > 0 alors +pour tout Equipe avec EQ_IDSociete = nIDSociete +ListeAjoute(COMBO_IDEquipe,Equipe.EQ_Nom) +fin +fin +Procédure locale FiltreZR +06/08/2026 Isis_BO 281 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Procédures +procédure FiltreZR() +sEq est une chaîne ANSI = COMBO_IDEquipe.ValeurAffichée +sNomest une chaîne ANSI = SAI_Collaborateur +si sEq <> "" alors +i est un entier = ZoneRépétéeCherche(ATT_Equipe,sEq,rechercheContient) +si i > 0 alors +ZR_Collaborateur=ZR_Collaborateur[i].ValeurMémorisée +si sNom <> "" alors +b est un entier = ZoneRépétéeCherche(ATT_Nom,sNom,rechercheContient,i) +si b > 0 alors +ZR_Collaborateur=ZR_Collaborateur[b].ValeurMémorisée +fin +fin +fin +sinon +si sNom <> "" alors +b est un entier = ZoneRépétéeCherche(ATT_Nom,sNom,rechercheContient) +si b > 0 alors +ZR_Collaborateur=ZR_Collaborateur[b].ValeurMémorisée +fin +fin +fin +Procédure locale Gestion_Conflit +// Résumé : +procédure Gestion_Conflit(P_DateInf est une DateHeure,P_DateSup est une DateHeure,nP_IdCollab est une +chaîne ANSI) +Resp est une chaîne +DuréeModif est une Durée = "0001000000" +dhDateInf est une DateHeure=P_DateInf+DuréeModif +dhDatesup est une DateHeure=P_DateSup-DuréeModif +req est une Requête SQL = +[ +SELECT Planning_RDV.PL_Superposable,Planning_RDV.PL_IDCollaborateur,Collaborateur.CO_Nom, +Collaborateur.CO_Prenom,PL_DateDebut,PL_DateFin FROM Planning_RDV +INNER JOIN Collaborateur ON Collaborateur.CO_PKID=Planning_RDV.PL_IDCollaborateur +WHERE (Planning_RDV.PL_DateDebut BETWEEN {P_DateInf} AND {P_DateSup} OR Planning_RDV.PL_DateFin +BETWEEN {P_DateInf} AND {P_DateSup}) AND Planning_RDV.Archive=0 AND Planning_RDV.PL_IDCollaborateur +IN ({P_IdCollab}) +] +req.P_DateInf=dhDateInf +req.P_DateSup=dhDatesup +req.P_IdCollab=nP_IdCollab +si pas HExécuteRequête(req,hRequêteDéfaut) alors +Resp="Erreur HFSQL : " + HErreurInfo(hErrComplet) +renvoyer Resp +fin +pour tout req +si req.PL_Superposable=0 alors +si Resp="" alors +Resp="- "+req.CO_Prenom+" "+req.CO_Nom+" :"+" Un Rdv est déjà planifié et non superposable le "+ +DateVersChaîne(req.PL_DateDebut,"JJ/MM/AAAA")+" entre "+HeureVersChaîne(Droite(req.PL_DateDebut,9), +"HH:MM:SS")+" et "+HeureVersChaîne(Droite(req.PL_DateFin,9),"HH:MM:SS") +sinon +06/08/2026 Isis_BO 282 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Equipe_Collaborateur › Procédures +Resp+=RC+RC+"- "+ req.CO_Prenom+" "+req.CO_Nom+" :"+" Un Rdv +est déjà planifié et non superposable le "+ DateVersChaîne(req.PL_DateDebut,"JJ/MM/AAAA")+ +" entre "+HeureVersChaîne(Droite(req.PL_DateDebut,9),"HH:MM:SS")+" et "+HeureVersChaîne(Droite(req. +PL_DateFin,9),"HH:MM:SS") +fin +fin +fin +renvoyer Resp +06/08/2026 Isis_BO 283 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Collaborateurs_Temps › Image +FEN_Liste_Collaborateurs_Temps +Image +FEN_Liste_Collaborateurs_Temps +Informations générales +FEN_Liste_Collaborateurs_Temps +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Liste_Collaborateurs_Temps.wdw +Créé par XVA +Date de création 04/02/2019 12:34:09 +Dernière modification par SMR +Date dernière modification 11/04/2025 16:08:24 +Titre FR: Liste_Collaborateurs_Temps +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +06/08/2026 Isis_BO 284 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Collaborateurs_Temps › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 400 Hauteur | 500 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| 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 | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| 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 | | | | +Image fond FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Bg_ColorSide_msbox_Orange.png +D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Image poignée +| 06/08/2026 | | | Isis_BO | | 285 | +| ---------- | --- | --- | ------- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Collaborateurs_Temps › Informations générales +Statistiques de la fenêtre +| | Libellé | | | 3 | | Bouton | | | | 1 | +| --- | --------------------- | --- | --- | --- | --- | --------------------- | --- | --- | --- | --- | +| | Interrupteur | | | 1 | | Zone répétée | | | | 1 | +| | Attribut zone répétée | | | 4 | | Option d'interrupteur | | | | 1 | +Nombre d'éléments dans la fenêtre : 11 +FEN_Liste_Collaborateurs_Temps +Informations sur les champs +Fenêtre : FEN_Liste_Collaborateurs_Temps +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| LIB_Titre | | 6 | 6 245 | 20 | 0 | Actif | Gauche | Haut | | | +| --------- | --- | --- | ----- | --- | --- | ----- | ------ | ---- | --- | --- | +Bouton +| | | | | | | | | BAT ehcuoT | notuob epyT | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | ---------- | ----------- | --- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Fermer_fiche_intervention | | 369 | 5 | 24 | 24 | 0 | Actif | | Abandon | | +| ----------------------------- | --- | --- | --- | --- | --- | --- | ----- | --- | ------- | --- | +Zone répétée +BAT ehcuoT +| | | | X noitisoP Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | --------------------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | elbisiV | | | | +| --- | --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| ZR_Collaborateur | | | -2 | 32 | 400 | 462 | 0 | Actif | | | +| ---------------- | --- | --- | --- | ------- | --- | --- | --- | ----- | --- | --- | +| 06/08/2026 | | | | Isis_BO | | | | | | 286 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Collaborateurs_Temps › Informations sur les champs +Zone répétée : ZR_Collaborateur +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +X noitisoP Y noitisoP laitini tatE +ruegraL ruetuaH +elbisiV +nalP +| LIB_IdCollab | 172 6 | 16 20 | 0 Actif | Gauche | Haut | | +| ------------- | ----- | ------ | ------- | ------ | ---- | --- | +| LIB_NomCollab | 49 9 | 245 20 | 0 Actif | Gauche | Haut | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | BAT ehcuoT | | staté siorT | +| --- | --------------------- | --------------- | --- | ------------ | --- | ----------- | +| | X noitisoP Y noitisoP | | | laitini tatE | | | +| | | ruegraL ruetuaH | | | | | +elbisiV +nalP +| INT_Inter | 20 | 4 23 28 | 0 Actif | | 1 | | +| --------- | --- | ------- | ------- | --- | --- | --- | +Attribut zone répétée +BAT ehcuoT +laitini tatE +| | X noitisoP | Y noitisoP | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +ATT_IdCollab +ATT_IdEquipe +ATT_Nom +ATT_sel +Fenêtre : FEN_Liste_Collaborateurs_Temps +Bouton : BTN_Fermer_fiche_intervention +| Groupe | GR_MODEOPAQUE_FICHE_INTERVENTION | | | | | | +| -------------------------- | -------------------------------- | ------- | --- | --- | --- | --- | +| Ordre navigation | 1 | | | | | | +| 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 | | | | | | | +| 06/08/2026 | | Isis_BO | | | | 287 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Collaborateurs_Temps › 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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +Libellé : LIB_Titre +Libellé FR: Sélectionner un collaborateur +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 +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 +Unicode Non +Transforme le & Non +06/08/2026 Isis_BO 288 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Collaborateurs_Temps › 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 +Mise à blanc Oui +Texte Markdown Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : ZR_Collaborateur +Libellé FR: &Zone répétée +Ordre navigation 2 +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 +Hauteur ligne max. 0 +Hauteur ligne 35 +Largeur colonne 383 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Oui +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +06/08/2026 Isis_BO 289 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Collaborateurs_Temps › Informations sur les champs +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +Nb. Enreg. Max 0 +Parcours Automatique +Fichier parcouru :gclPresentationCollab.m_clTabModele +Rub. mémorisée :gclPresentationCollab.m_clTabModele +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : ZR_Collaborateur +Attribut zone répétée : ZR_Collaborateur.ATT_IdCollab (2) +Champ associé LIB_IdCollab +Propriété associée 1 +Liaison des données :gclPresentationCollab.m_clTabModele.m_nPKID +Attribut zone répétée : ZR_Collaborateur.ATT_IdEquipe (4) +Propriété associée 1 +06/08/2026 Isis_BO 290 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Collaborateurs_Temps › Informations sur les champs +Attribut zone répétée : ZR_Collaborateur.ATT_Nom (1) +Champ associé LIB_NomCollab +Propriété associée 1 +Liaison des données :gclPresentationCollab.m_clTabModele.NomPrenom +Attribut zone répétée : ZR_Collaborateur.ATT_sel (3) +Champ associé INT_Inter +Propriété associée 1 +Liaison des données :gclPresentationCollab.m_clTabModele.m_bLiaison +Interrupteur : ZR_Collaborateur.INT_Inter +Valeur initiale 0 +Ordre navigation 1 +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 +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. +Liaison des données :gclPresentationCollab.m_clTabModele.m_bLiaison +06/08/2026 Isis_BO 291 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Collaborateurs_Temps › Informations sur les champs +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_Collaborateur.LIB_IdCollab +Libellé FR: id +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 +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 +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 +Liaison des données :gclPresentationCollab.m_clTabModele.m_nPKID +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 292 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Collaborateurs_Temps › Informations sur les champs +Libellé : ZR_Collaborateur.LIB_NomCollab +Libellé FR: Nom Collaborateur +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 +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 +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 +Liaison des données :gclPresentationCollab.m_clTabModele.NomPrenom +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Liste_Collaborateurs_Temps +Code +Déclarations globales de FEN_Liste_Collaborateurs_Temps +//--- Fenêtre Popup --- +// Pour accéder au champ ou à la combo popup qui a ouvert cette fenêtre +// vous pouvez utiliser : MonChampPopup +procédure MaFenêtre(gclPresentationCollab est un PTableCollaborateur dynamique=Null, +CollabActif est un booléen=Vrai,local gnIDCollabenCours est un entier sur 8 octets=-1) +si gclPresentationCollab=Null et CollabActif=Faux alors +gclPresentationCollab=PTableCollaborateur.gNouvellePresentation(5) +06/08/2026 Isis_BO 293 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Collaborateurs_Temps › Code +sinon +gclPresentationCollab=PTableCollaborateur.gNouvellePresentation(0) +fin +Fin d'initialisation de FEN_Liste_Collaborateurs_Temps +nIndice est un entier +pour tout ligne de ZR_Collaborateur +nIndice++ +fin +pour i = 1 _à_ gclPresentationCollab.m_clTabModele..Occurrence +si gclPresentationCollab.m_clTabModele[i].m_nPKID=gnIDCollabenCours alors +TableauSupprime(gclPresentationCollab.m_clTabModele,i) +sortir +fin +fin +ZoneRépétéeAffiche(ZR_Collaborateur,taInit) +Demande de mise à jour de l'affichage de FEN_Liste_Collaborateurs_Temps +si gclPresentationCollab<>Null alors +SourceVersEcran("","gclPresentationCollab") +fin +Fermeture de FEN_Liste_Collaborateurs_Temps +sIdcollab est une chaîne +pour tout ligne de ZR_Collaborateur +si ATT_sel=1 alors +si sIdcollab="" alors +sIdcollab =ATT_IdCollab +sinon +sIdcollab +=";"+ATT_IdCollab +fin +fin +fin +renvoyer sIdcollab +FEN_Liste_Collaborateurs_Temps +Code des champs +Clic sur BTN_Fermer_fiche_intervention +Ferme(FEN_Liste_Collaborateurs_Temps) +Sélection d'une ligne de ZR_Collaborateur +06/08/2026 Isis_BO 294 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Collaborateurs_Temps › Code des champs +//SI ATT_sel=1 ALORS +// ATT_sel=0 +//sinon +// si gclPresentRDVGroupe:m_clTabModele..occurrence>0 alors +// MessageErreur est une chaine +// +MessageErreur=Gestion_Conflit(gclPresentRDVGroupe:m_clTabModele[1].m_dhDateDebut,gclPresentRDVGroupe:m_ +clTabModele[1].m_dhDateFin,ATT_IdCollab) +// SI MessageErreur<>"" ALORS +// Erreur("Vous ne pouvez pas déplacer ce rendez-vous pour les utiliateurs +suivant:"+RC+RC+MessageErreur+RC+RC+"Conflit de Rendez-vous") +// ATT_sel=0 +// RETOUR +// fin +// sinon +// ATT_sel=1 +// FIN +//FIN +A chaque modification de INT_Inter ( ZR_Collaborateur ) +Ferme(FEN_Liste_Collaborateurs_Temps) +06/08/2026 Isis_BO 295 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe_Collaborateur › Image +FEN_Choix_Societe_Collaborateur +Image +FEN_Choix_Societe_Collaborateur +Informations générales +FEN_Choix_Societe_Collaborateur +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Choix_Societe_Collaborateur.wdw +| Créé par | | XVA | | | | +| -------------------------- | ------------ | ------------------------------- | --------- | --------------- | --- | +| Date de création | | 15/11/2018 15:38:11 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:24 | | | | +| Titre | | FR: Choix Societe_Collaborateur | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 319 Hauteur | 320 | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 296 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe_Collaborateur › Informations générales +Ctx. HFSQL indép. +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Non +Type cadre Double +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Image fond FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Blueberries\Blueberries_Background_Purple.jpg +Image poignée D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +06/08/2026 Isis_BO 297 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe_Collaborateur › Informations générales +Statistiques de la fenêtre +| | Libellé | | 3 | Bouton | | | 2 | +| --- | ----------------------- | --- | --- | --------------------- | --- | --- | --- | +| | Interrupteur | | 2 | Zone répétée | | | 1 | +| | Attribut zone répétée | | 4 | Option d'interrupteur | | | 2 | +| | Rupture de zone répétée | | 2 | | | | | +Nombre d'éléments dans la fenêtre : 16 +FEN_Choix_Societe_Collaborateur +Informations sur les champs +Fenêtre : FEN_Choix_Societe_Collaborateur +Bouton +BAT ehcuoT notuob epyT +laitini tatE +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Fermer_Fiche_Rdv | | 274 2 | 24 24 | 0 | Actif | Abandon | | +| --------------------- | --- | ----- | ----- | --- | ----- | ------- | --- | +| BTN_Valider_Fiche_Rdv | | 244 2 | 24 24 | 0 | Actif | Normal | | +Zone répétée +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | ---------- | +| | | X noitisoP Y noitisoP | | | | | | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| ZR_Societe | | 0 | 0 317 | 312 | 0 | Actif | | +| ---------- | --- | --- | ----- | --- | --- | ----- | --- | +Zone répétée : ZR_Societe +| 06/08/2026 | | | Isis_BO | | | | 298 | +| ---------- | --- | --- | ------- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe_Collaborateur › 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_IdSociete | 172 6 | 16 20 | 0 Actif | Gauche | Haut | | +| -------------- | ----- | ------ | ------- | ------ | ---- | --- | +| LIB_NomSociete | 49 9 | 245 20 | 0 Actif | Gauche | Haut | | +| LIB_Titre | 49 6 | 245 20 | 0 Actif | Gauche | Haut | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | | | laitini tatE | | staté siorT | +| --- | --------------------- | --------------- | --- | ------------ | --- | ----------- | +| | X noitisoP Y noitisoP | | | | | | +| | | ruegraL ruetuaH | | | | | +elbisiV +nalP +| INT_Inter | 20 | 4 23 28 | 0 Actif | | 1 | | +| --------- | --- | ------- | ------- | --- | --- | --- | +| INT_Sel1 | 20 | 6 23 18 | 0 Actif | | 1 | | +Attribut zone répétée +| | | | | | laitini tatE | BAT ehcuoT | +| --- | ---------- | ---------- | --- | --- | ------------ | ---------- | +| | X noitisoP | Y noitisoP | | | | | +ruegraL ruetuaH +elbisiV +nalP +ATT_Equipe +ATT_IdSociete +ATT_Nom +ATT_sel +Rupture de zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +RUPT_BasRupture1 +RUPT_HautRupture1 +| 06/08/2026 | | Isis_BO | | | | 299 | +| ---------- | --- | ------- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe_Collaborateur › Informations sur les champs +Fenêtre : FEN_Choix_Societe_Collaborateur +Bouton : BTN_Fermer_Fiche_Rdv +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 300 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe_Collaborateur › Informations sur les champs +Bouton : BTN_Valider_Fiche_Rdv +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 301 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe_Collaborateur › Informations sur les champs +Zone répétée : ZR_Societe +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 35 +Largeur colonne 300 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Oui +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection multiple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +Nb. Enreg. Max 0 +06/08/2026 Isis_BO 302 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe_Collaborateur › Informations sur les champs +Parcours Automatique +Fichier parcouru :gpclClpresentation.m_clTabModele +Rub. mémorisée :gpclClpresentation.m_clTabModele +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : ZR_Societe +Attribut zone répétée : ZR_Societe.ATT_Equipe (4) +Champ associé LIB_Titre +Propriété associée 1 +Attribut zone répétée : ZR_Societe.ATT_IdSociete (2) +Champ associé LIB_IdSociete +Propriété associée 1 +Liaison des données :gpclClpresentation.m_clTabModele.m_nPKID +Attribut zone répétée : ZR_Societe.ATT_Nom (1) +Champ associé LIB_NomSociete +Propriété associée 1 +Liaison des données :gpclClpresentation.m_clTabModele.m_sNom +06/08/2026 Isis_BO 303 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe_Collaborateur › Informations sur les champs +Attribut zone répétée : ZR_Societe.ATT_sel (3) +Champ associé INT_Inter +Propriété associée 1 +Liaison des données :gpclClpresentation.m_clTabModele.m_bLiaison +Interrupteur : ZR_Societe.INT_Inter +Valeur initiale 0 +Ordre navigation 1 +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 +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. +Liaison des données :gpclClpresentation.m_clTabModele.m_bLiaison +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 304 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe_Collaborateur › Informations sur les champs +Interrupteur : ZR_Societe.RUPT_HautRupture1.INT_Sel1 +Valeur initiale 0 +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 305 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe_Collaborateur › Informations sur les champs +Libellé : ZR_Societe.LIB_IdSociete +Libellé FR: id +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 +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 +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 +Liaison des données :gpclClpresentation.m_clTabModele.m_nPKID +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_Societe.LIB_NomSociete +Libellé FR: Nom Société +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Isis_BO 306 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe_Collaborateur › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gpclClpresentation.m_clTabModele.m_sNom +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_Societe.RUPT_HautRupture1.LIB_Titre +Libellé FR: Vos sociétés +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 +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 +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 +06/08/2026 Isis_BO 307 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe_Collaborateur › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : ZR_Societe.RUPT_BasRupture1 (6) +Toujours visible Non +Attribut de rupture 3 +Rupture de zone répétée : ZR_Societe.RUPT_HautRupture1 (5) +Toujours visible Oui +Attribut de rupture 3 +FEN_Choix_Societe_Collaborateur +Code +Déclarations globales de FEN_Choix_Societe_Collaborateur +procédure FEN_Choix_Societe_Collaborateur(gclPresentSociete est un PTableSociete_Collaborateur +dynamique=Null,local IdCollaborateur est un entier sur 8 octets=-1) +gpclClpresentation est un PTableSociete dynamique +gpclClpresentation=PTableSociete.gNouvellePresentation(0) +Fin d'initialisation de FEN_Choix_Societe_Collaborateur +nIndice est un entier +pour tout ligne de ZR_Societe +nIndice++ +si TableauCherche(gclPresentSociete:m_clTabModele,tcLinéaire,"m_nIDSociete",ZR_Societe.ATT_ +IdSociete,1)<>-1 alors +ZR_Societe.ATT_sel=1 +ZoneRépétéeSelectPlus(ZR_Societe,nIndice) +fin +ZR_Societe.ATT_Equipe="Vos sociétés" +fin +Demande de mise à jour de l'affichage de FEN_Choix_Societe_Collaborateur +si gclPresentSociete<>Null alors +SourceVersEcran("","gclPresentSociete") +06/08/2026 Isis_BO 308 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe_Collaborateur › Code +fin +Fermeture de FEN_Choix_Societe_Collaborateur +nindice est un entier +clClErreur est un CErreur +nCompteur est un entier +pour toute ligne de ZR_Societe +si ATT_sel=1 alors +nCompteur++ +fin +fin +si nCompteur >= 1 alors +pour tout ligne de ZR_Societe +si ATT_sel=0 alors +nindice=TableauCherche(gclPresentSociete:m_clTabModele,tcLinéaire,"m_nIDSociete",ZR_Societe.ATT_ +IdSociete,1) +si nindice<>-1 alors +gclPresentSociete:m_clTabModele[nindice].m_bArchive=1 +gclPresentSociete:m_clTabModele[nindice].bSupprimer(clClErreur) +TableauSupprimeLigne(gclPresentSociete:m_clTabModele,nindice) +fin +sinon +nindice=TableauCherche(gclPresentSociete:m_clTabModele,tcLinéaire,"m_nIDSociete",ZR_Societe.ATT_ +IdSociete,1) +si nindice =-1 alors +clClFicheRDV est un PFicheSociete_Collaborateur<- gclPresentSociete.Nouveau(faux,0) +clClFicheRDV.m_nIDCollaborateur=IdCollaborateur +clClFicheRDV.m_nIDSociete = ATT_IdSociete +clClFicheRDV.m_clSociete.m_nPKID=ATT_IdSociete +clClFicheRDV.m_clSociete.m_sNom=ATT_Nom +clClFicheRDV.AppelProcValidation(2) +sinon +gclPresentSociete:m_clTabModele[nindice].m_nIDCollaborateur=IdCollaborateur +gclPresentSociete:m_clTabModele[nindice].m_clSociete.m_nPKID=ATT_IdSociete +gclPresentSociete:m_clTabModele[nindice].m_clSociete.m_sNom=ATT_Nom +fin +fin +fin +renvoyer (gclPresentSociete) +sinon +renvoyer (gclPresentSociete) +fin +FEN_Choix_Societe_Collaborateur +Code des champs +Clic sur BTN_Fermer_Fiche_Rdv +pour toute ligne de ZR_Societe +ATT_sel=0 +fin +Ferme(FEN_Choix_Societe_Collaborateur) +Clic sur BTN_Valider_Fiche_Rdv +06/08/2026 Isis_BO 309 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe_Collaborateur › Code des champs +Ferme(FEN_Choix_Societe_Collaborateur) +Sélection d'une ligne de ZR_Societe +//SI ATT_sel=1 ALORS +// ATT_sel=0 +//sinon +// si gclPresentRDVGroupe:m_clTabModele..occurrence>0 alors +// MessageErreur est une chaine +// +MessageErreur=Gestion_Conflit(gclPresentRDVGroupe:m_clTabModele[1].m_dhDateDebut,gclPresentRDVGroupe:m_ +clTabModele[1].m_dhDateFin,ATT_IdCollab) +// SI MessageErreur<>"" ALORS +// Erreur("Vous ne pouvez pas déplacer ce rendez-vous pour les utiliateurs +suivant:"+RC+RC+MessageErreur+RC+RC+"Conflit de Rendez-vous") +// ATT_sel=0 +// RETOUR +// fin +// sinon +// ATT_sel=1 +// FIN +//FIN +A chaque modification de INT_Sel1 ( ZR_Societe ) +//si MoiMême[1]=1 alors +// pour tout ligne de ZR_Collaborateur +// ZR_Collaborateur.ATT_Sel=1 +// FIN +//sinon +// POUR TOUT LIGNE DE ZR_Collaborateur +// ZR_Collaborateur.ATT_Sel=0 +// FIN +//FIN +FEN_Choix_Societe_Collaborateur +Procédures +Procédure locale Gestion_Conflit +// Résumé : +procédure Gestion_Conflit(P_DateInf est une DateHeure,P_DateSup est une DateHeure,nP_IdCollab est une +chaîne ANSI) +Resp est une chaîne +DuréeModif est une Durée = "0001000000" +dhDateInf est une DateHeure=P_DateInf+DuréeModif +dhDatesup est une DateHeure=P_DateSup-DuréeModif +req est une Requête SQL = +[ +SELECT Planning_RDV.PL_Superposable,Planning_RDV.PL_IDCollaborateur,Collaborateur.CO_Nom, +06/08/2026 Isis_BO 310 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe_Collaborateur › Procédures +Collaborateur.CO_Prenom,PL_DateDebut,PL_DateFin FROM Planning_RDV +INNER JOIN Collaborateur ON Collaborateur.CO_PKID=Planning_RDV.PL_IDCollaborateur +WHERE (Planning_RDV.PL_DateDebut BETWEEN {P_DateInf} AND {P_DateSup} OR Planning_RDV.PL_DateFin +BETWEEN {P_DateInf} AND {P_DateSup}) AND Planning_RDV.Archive=0 AND Planning_RDV.PL_IDCollaborateur +IN ({P_IdCollab}) +] +req.P_DateInf=dhDateInf +req.P_DateSup=dhDatesup +req.P_IdCollab=nP_IdCollab +si pas HExécuteRequête(req,hRequêteDéfaut) alors +Resp="Erreur HFSQL : " + HErreurInfo(hErrComplet) +renvoyer Resp +fin +pour tout req +si req.PL_Superposable=0 alors +si Resp="" alors +Resp="- "+req.CO_Prenom+" "+req.CO_Nom+" :"+" Un Rdv est déjà planifié et non superposable le "+ +DateVersChaîne(req.PL_DateDebut,"JJ/MM/AAAA")+" entre "+HeureVersChaîne(Droite(req.PL_DateDebut,9), +"HH:MM:SS")+" et "+HeureVersChaîne(Droite(req.PL_DateFin,9),"HH:MM:SS") +sinon +Resp+=RC+RC+"- "+ req.CO_Prenom+" "+req.CO_Nom+" :"+" Un Rdv +est déjà planifié et non superposable le "+ DateVersChaîne(req.PL_DateDebut,"JJ/MM/AAAA")+ +" entre "+HeureVersChaîne(Droite(req.PL_DateDebut,9),"HH:MM:SS")+" et "+HeureVersChaîne(Droite(req. +PL_DateFin,9),"HH:MM:SS") +fin +fin +fin +renvoyer Resp +06/08/2026 Isis_BO 311 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactMessageExterne › Image +FEN_Choix_ContactMessageExterne +Image +FEN_Choix_ContactMessageExterne +Informations générales +FEN_Choix_ContactMessageExterne +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Choix_ContactMessageExterne.wdw +Créé par XVA +Date de création 15/11/2018 15:38:11 +Dernière modification par SMR +Date dernière modification 11/04/2025 16:08:24 +Titre FR: Choix ContactMessageExterne +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +06/08/2026 Isis_BO 312 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactMessageExterne › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 626 Hauteur | 501 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Non | | | | +| Type cadre | | Double | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| 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 | | | | +Image fond FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Blueberries\Blueberries_Background_Purple.jpg +D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Image poignée +| 06/08/2026 | | | Isis_BO | | 313 | +| ---------- | --- | --- | ------- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactMessageExterne › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | | 1 | Libellé | | | | 4 | +| --- | --------------------- | --- | --- | --- | ----------------------- | --- | --- | --- | --- | +| | Bouton | | | 2 | Interrupteur | | | | 1 | +| | Zone répétée | | | 1 | Attribut zone répétée | | | | 5 | +| | Option d'interrupteur | | | 1 | Rupture de zone répétée | | | | 2 | +Nombre d'éléments dans la fenêtre : 17 +FEN_Choix_ContactMessageExterne +Informations sur les champs +Fenêtre : FEN_Choix_ContactMessageExterne +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_MailManuel | | 6 464 612 | 26 0 | Actif Texte | | Non | | | | +| -------------- | --- | --------- | ---- | ----------- | --- | --- | --- | --- | --- | +Bouton +BAT ehcuoT notuob epyT +laitini tatE +X noitisoP Y noitisoP +| | | | | ruegraL ruetuaH | | | | | | +| --- | --- | --- | --- | --------------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| BTN_Fermer_Fiche_Rdv | | | 578 | 2 24 | 24 | 0 | Actif | Abandon | | +| --------------------- | --- | --- | --- | ------- | --- | --- | ----- | ------- | --- | +| BTN_Valider_Fiche_Rdv | | | 548 | 2 24 | 24 | 0 | Actif | Normal | | +| 06/08/2026 | | | | Isis_BO | | | | | 314 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactMessageExterne › Informations sur les champs +Zone répétée +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_Contact | | 0 | 0 | 624 458 | 0 | Actif | | +| ---------- | --- | --- | --- | ------- | --- | ----- | --- | +Zone répétée : ZR_Contact +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +X noitisoP Y noitisoP laitini tatE +| | | ruegraL | ruetuaH | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Contact | 49 | 9 245 | 20 | 0 Actif | Gauche | Haut | | +| --------------- | --- | ----- | --- | ------- | ------ | ---- | --- | +| LIB_IdContact | 172 | 6 16 | 20 | 0 Actif | Gauche | Haut | | +| LIB_MailContact | 327 | 9 275 | 20 | 0 Actif | Gauche | Haut | | +| LIB_Titre | 49 | 6 245 | 20 | 0 Actif | Gauche | Haut | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | BAT ehcuoT | | staté siorT | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | ----------- | +| | X noitisoP | Y noitisoP | | | laitini tatE | | | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| INT_Inter | 20 | 4 | 23 28 | 0 Actif | | 1 | | +| --------- | --- | --- | ----- | ------- | --- | --- | --- | +Attribut zone répétée +BAT ehcuoT +laitini tatE +| | | X noitisoP Y noitisoP | | | | | | +| --- | --- | --------------------- | ------- | ------- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +ATT_IdContact +ATT_Mail +ATT_Nom +ATT_Type +ATT_sel +| 06/08/2026 | | | Isis_BO | | | | 315 | +| ---------- | --- | --- | ------- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactMessageExterne › Informations sur les champs +Rupture de zone répétée +06/08/2026 Isis_BO 316 +X +noitisoP +Y +noitisoP ruegraL ruetuaH +nalP +elbisiV +laitini +tatE +BAT +ehcuoT +RUPT_BasRupture1 +RUPT_HautRupture1 +Fenêtre : FEN_Choix_ContactMessageExterne +Bouton : BTN_Fermer_Fiche_Rdv +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactMessageExterne › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : BTN_Valider_Fiche_Rdv +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 317 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactMessageExterne › Informations sur les champs +Champ de saisie : SAI_MailManuel +Libellé FR: Adresses mails séparées par un ";" : +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 231 +Largeur interne 387 +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: 63 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 318 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactMessageExterne › 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. +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 et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : ZR_Contact +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 35 +Largeur colonne 624 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Oui +Bulle ascenseur Oui +06/08/2026 Isis_BO 319 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactMessageExterne › Informations sur les champs +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection multiple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : ZR_Contact +Attribut zone répétée : ZR_Contact.ATT_IdContact (2) +Champ associé LIB_IdContact +Propriété associée 1 +06/08/2026 Isis_BO 320 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactMessageExterne › Informations sur les champs +Attribut zone répétée : ZR_Contact.ATT_Mail (5) +Champ associé LIB_MailContact +Propriété associée 1 +Attribut zone répétée : ZR_Contact.ATT_Nom (1) +Champ associé LIB_Contact +Propriété associée 1 +Attribut zone répétée : ZR_Contact.ATT_Type (4) +Champ associé LIB_Titre +Propriété associée 1 +Attribut zone répétée : ZR_Contact.ATT_sel (3) +Champ associé INT_Inter +Propriété associée 1 +Interrupteur : ZR_Contact.INT_Inter +Valeur initiale 0 +Ordre navigation 1 +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 +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) +06/08/2026 Isis_BO 321 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactMessageExterne › Informations sur les champs +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. +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_Contact.LIB_Contact +Libellé FR: Nom Contact +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 +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 +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 +06/08/2026 Isis_BO 322 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactMessageExterne › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_Contact.LIB_IdContact +Libellé FR: id +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_Contact.LIB_MailContact +Libellé FR: Mail Contact +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 323 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactMessageExterne › Informations sur les champs +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_Contact.RUPT_HautRupture1.LIB_Titre +Libellé FR: Vos contacts +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 +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 +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 +06/08/2026 Isis_BO 324 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactMessageExterne › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : ZR_Contact.RUPT_BasRupture1 (7) +Toujours visible Non +Attribut de rupture 3 +Rupture de zone répétée : ZR_Contact.RUPT_HautRupture1 (6) +Toujours visible Oui +Attribut de rupture 3 +FEN_Choix_ContactMessageExterne +Code +Déclarations globales de FEN_Choix_ContactMessageExterne +procédure FEN_Choix_ContactMessageExterne(local IdLieu est un entier sans signe sur 8 octets=-1,local +IdClient est un entier sur 8 octets=-1,local IdInter est un entier sur 8 octets=-1,local TabContact est +un tableau de chaînes="") +gbSansModif est un booléen +//gpclPresentContactLieu est un Ptablepersonne dynamique +=PTablePersonne.gNouvellePresentation(4,IdLieu,IdInter) +//gpclPresentContactClient est un PTablePersonne dynamique +=PTablePersonne.gNouvellePresentation(5,IdClient,IdInter) +gnCompt est un entier +nIndice est un entier +gsClientEmailPrincipal est une chaîne ANSI +pour tout Client avec CL_PKID = IdClient +si Client.CL_Email <> "" alors +nIndice=TableauCherche(TabContact,tcLinéaire,Client.CL_Email) +gsClientEmailPrincipal = Client.CL_Email +si nIndice=-1 alors +ZoneRépétéeAjouteLigne(ZR_Contact,Client.CL_Nom,Client.CL_PKID,0,"Client",Client.CL_Email) +sinon +ZoneRépétéeAjouteLigne(ZR_Contact,Client.CL_Nom,Client.CL_PKID,1,"Client",Client.CL_Email) +fin +fin +fin +pour tout Personne avec PE_IDClient=IdClient +06/08/2026 Isis_BO 325 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactMessageExterne › Code +si Personne.PE_Email<>"" _et_ Personne.PE_Email <> gsClientEmailPrincipal alors +nIndice=TableauCherche(TabContact,tcLinéaire,Personne.PE_Email) +si nIndice=-1 alors +ZoneRépétéeAjouteLigne(ZR_Contact,Personne.PE_Prenom+" "+Personne.PE_Nom,Personne.PE_PKID, +0,"Contacts du Client",Personne.PE_Email) +sinon +ZoneRépétéeAjouteLigne(ZR_Contact,Personne.PE_Prenom+" "+Personne.PE_Nom,Personne.PE_PKID, +1,"Contacts du Client",Personne.PE_Email) +fin +fin +fin +reqSQL est une Requête SQL = [ +SELECT Personne.* +FROM Personne +INNER JOIN Lieu_Personne ON (Lieu_Personne.LIP_IDPersonne=Personne.PE_PKID) +WHERE Lieu_Personne.LIP_IDLieu={p_IdLieu} +] +reqSQL.p_IdLieu = IdLieu +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +si reqSQL.PE_Email<>"" alors +nIndice=TableauCherche(TabContact,tcLinéaire,reqSQL.PE_Email) +si nIndice=-1 alors +ZoneRépétéeAjouteLigne(ZR_Contact,reqSQL.PE_Prenom+" "+reqSQL.PE_Nom,reqSQL.PE_PKID,0, +"Contacts du lieu",reqSQL.PE_Email) +sinon +ZoneRépétéeAjouteLigne(ZR_Contact,reqSQL.PE_Prenom+" "+reqSQL.PE_Nom,reqSQL.PE_PKID,1, +"Contacts du lieu",reqSQL.PE_Email) +fin +fin +fin +fin +HAnnuleDéclaration(reqSQL) +//Pour TOUT pclContacts DE gpclPresentContactLieu.m_clTabModele +// nIndice=TableauCherche(TabContact,tcLinéaire,Contacts.m_sEmail) +// si nIndice=-1 alors +// +ZoneRépétéeAjouteLigne(ZR_Contact,Contacts.m_sPrenom+" "+Contacts.m_sNom,Contacts.m_nPKID,0,"Contacts +du lieu",Contacts.m_sEmail) +// sinon +// +ZoneRépétéeAjouteLigne(ZR_Contact,Contacts.m_sPrenom+" "+Contacts.m_sNom,Contacts.m_nPKID,1,"Contacts +du lieu",Contacts.m_sEmail) +// fin +//FIN +//POUR TOUT pclContacts DE gpclPresentContactClient.m_clTabModele +// nIndice=TableauCherche(TabContact,tcLinéaire,Contacts.m_sEmail) +// SI nIndice=-1 ALORS +// +ZoneRépétéeAjouteLigne(ZR_Contact,Contacts.m_sPrenom+" "+Contacts.m_sNom,Contacts.m_nPKID,0,"Contacts +du Client",Contacts.m_sEmail) +// sinon +// +ZoneRépétéeAjouteLigne(ZR_Contact,Contacts.m_sPrenom+" "+Contacts.m_sNom,Contacts.m_nPKID,1,"Contacts +du Client",Contacts.m_sEmail) +06/08/2026 Isis_BO 326 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactMessageExterne › Code +// FIN +//FIN +pour tout adressemail de TabContact +gnCompt=0 +pour tout ligne de ZR_Contact +si ZR_Contact.ATT_Mail=adressemail alors +gnCompt++ +fin +fin +si gnCompt=0 alors +si SAI_MailManuel="" alors +SAI_MailManuel=adressemail +sinon +SAI_MailManuel+=";"+adressemail +fin +fin +fin +Fermeture de FEN_Choix_ContactMessageExterne +si gbSansModif=Faux alors +nCompteur est un entier +TableauSupprimeTout(TabContact) +pour toute ligne de ZR_Contact +si ATT_sel=1 alors +nCompteur++ +TableauAjouteLigne(TabContact,ATT_Mail) +fin +fin +si SAI_MailManuel<>"" alors +pour toute chaîne adressemail de SAI_MailManuel séparée par ";" +TableauAjouteLigne(TabContact,adressemail) +fin +fin +fin +renvoyer (TabContact) +FEN_Choix_ContactMessageExterne +Code des champs +Clic sur BTN_Fermer_Fiche_Rdv +gbSansModif=Vrai +Ferme(FEN_Choix_ContactMessageExterne) +Clic sur BTN_Valider_Fiche_Rdv +Ferme(FEN_Choix_ContactMessageExterne) +Sélection d'une ligne de ZR_Contact +//SI ATT_sel=1 ALORS +06/08/2026 Isis_BO 327 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactMessageExterne › Code des champs +// ATT_sel=0 +//sinon +// si gclPresentRDVGroupe:m_clTabModele..occurrence>0 alors +// MessageErreur est une chaine +// +MessageErreur=Gestion_Conflit(gclPresentRDVGroupe:m_clTabModele[1].m_dhDateDebut,gclPresentRDVGroupe:m_ +clTabModele[1].m_dhDateFin,ATT_IdCollab) +// SI MessageErreur<>"" ALORS +// Erreur("Vous ne pouvez pas déplacer ce rendez-vous pour les utiliateurs +suivant:"+RC+RC+MessageErreur+RC+RC+"Conflit de Rendez-vous") +// ATT_sel=0 +// RETOUR +// fin +// sinon +// ATT_sel=1 +// FIN +//FIN +FEN_Choix_ContactMessageExterne +Procédures +Procédure locale Gestion_Conflit +// Résumé : +procédure Gestion_Conflit(P_DateInf est une DateHeure,P_DateSup est une DateHeure,nP_IdCollab est une +chaîne ANSI) +Resp est une chaîne +DuréeModif est une Durée = "0001000000" +dhDateInf est une DateHeure=P_DateInf+DuréeModif +dhDatesup est une DateHeure=P_DateSup-DuréeModif +req est une Requête SQL = +[ +SELECT Planning_RDV.PL_Superposable,Planning_RDV.PL_IDCollaborateur,Collaborateur.CO_Nom, +Collaborateur.CO_Prenom,PL_DateDebut,PL_DateFin FROM Planning_RDV +INNER JOIN Collaborateur ON Collaborateur.CO_PKID=Planning_RDV.PL_IDCollaborateur +WHERE (Planning_RDV.PL_DateDebut BETWEEN {P_DateInf} AND {P_DateSup} OR Planning_RDV.PL_DateFin +BETWEEN {P_DateInf} AND {P_DateSup}) AND Planning_RDV.Archive=0 AND Planning_RDV.PL_IDCollaborateur +IN ({P_IdCollab}) +] +req.P_DateInf=dhDateInf +req.P_DateSup=dhDatesup +req.P_IdCollab=nP_IdCollab +si pas HExécuteRequête(req,hRequêteDéfaut) alors +Resp="Erreur HFSQL : " + HErreurInfo(hErrComplet) +renvoyer Resp +fin +pour tout req +si req.PL_Superposable=0 alors +si Resp="" alors +Resp="- "+req.CO_Prenom+" "+req.CO_Nom+" :"+" Un Rdv est déjà planifié et non superposable le "+ +06/08/2026 Isis_BO 328 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactMessageExterne › Procédures +DateVersChaîne(req.PL_DateDebut,"JJ/MM/AAAA")+" entre "+HeureVersChaîne(Droite(req.PL_DateDebut,9), +"HH:MM:SS")+" et "+HeureVersChaîne(Droite(req.PL_DateFin,9),"HH:MM:SS") +sinon +Resp+=RC+RC+"- "+ req.CO_Prenom+" "+req.CO_Nom+" :"+" Un Rdv +est déjà planifié et non superposable le "+ DateVersChaîne(req.PL_DateDebut,"JJ/MM/AAAA")+ +" entre "+HeureVersChaîne(Droite(req.PL_DateDebut,9),"HH:MM:SS")+" et "+HeureVersChaîne(Droite(req. +PL_DateFin,9),"HH:MM:SS") +fin +fin +fin +renvoyer Resp +06/08/2026 Isis_BO 329 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Role_Personne › Image +FEN_Choix_Role_Personne +Image +FEN_Choix_Role_Personne +Informations générales +FEN_Choix_Role_Personne +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Choix_Role_Personne.wdw +| Créé par | | FBO | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 10/04/2019 11:16:36 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:25 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 255 Hauteur | 318 | +| 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. +| 06/08/2026 | | | Isis_BO | | 330 | +| ---------- | --- | --- | ------- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Role_Personne › Informations générales +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Statistiques de la fenêtre +Libellé 2 Bouton 2 +Interrupteur 1 Table 1 +Option d'interrupteur 1 Colonne de table 4 +Rupture de zone répétée 2 Disposition 2 +Cellule de disposition 4 +06/08/2026 Isis_BO 331 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Role_Personne › Informations générales +Nombre d'éléments dans la fenêtre : 19 +FEN_Choix_Role_Personne +Informations sur les champs +Fenêtre : FEN_Choix_Role_Personne +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC .trev egardaC | | +| --- | --- | --- | --- | --- | --------------------------- | --- | +FTR tamroF +| | X noitisoP | Y noitisoP | | laitini tatE | | | +| --- | ---------- | ---------- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +LIB_Titre_de_fenêtre_Liste_Role 7 6 176 21 0 Actif Gauche Centre +Bouton +notuob epyT +| | | | | | laitini tatE BAT ehcuoT | | +| --- | --- | --- | --- | --- | ----------------------- | --- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Fermer_Liste_Role | | 213 | 4 24 24 | 0 | Actif | Abandon | +| ---------------------- | --- | --- | ------- | --- | ----- | ------- | +| BTN_Valider_Liste_Role | | 183 | 4 24 24 | 0 | Actif | Normal | +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +lennoitroporp .csA +.loc .gifnoc .oméM +| | | | | )(ertliFH resilitU | ruesnecsa elluB EERTNE noitseG | eércna ennoloC | +| --- | --- | --- | --- | ----------------------------- | ------------------------------ | -------------- | +| | | | | .gerne egacolB noitcelésitluM | edacsac eisiaS | 5.5 elbitapmoC | +BAT ehcuoT +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --------------------- | ------- | ------------ | -------- | --- | --- | +| | | ruetuaH | | sruocraP | | | +| | ruegraL | | elbisiV | | | | +elbaT +nalP +TABLE_ROLE_CONTAC +| | 0 0 255 | 286 0 | affichag Variable | | | 2 | +| ---------- | ------- | ----- | ----------------- | --- | --- | --- | +| 06/08/2026 | | | Isis_BO | | | 332 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Role_Personne › Informations sur les champs +Disposition +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +DISP_BANDEAU_ENTETE_LISTE_EQUIPE_COL +| | | 0 | 0 | 255 | 33 | | 0 | Actif | | +| ------------------------ | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| DISP_CHOIX_EQUIPE_COLLAB | | 0 | 0 | 255 | 318 | | 0 | Actif | | +Table : DISP_CHOIX_EQUIPE_COLLAB.TABLE_ROLE_CONTACT +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Titre | 23 | 4 | 175 18 | | 0 Actif | | Gauche | Haut | | +| --------- | --- | --- | ------ | --- | ------- | --- | ------ | ---- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | ---------- | ---------- | --------------- | --- | --- | ------------ | --- | --- | ----------- | +| | | | ruegraL ruetuaH | | | | | | | +elbisiV +nalP +| INT_TITRE_RUPTURE | 21 | 5 | 19 | 16 | 0 | Actif | | 1 | | +| ----------------- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | +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_M_bSelection | 25 | Actif | | | Centre | Centre | | | | +| COL_M_sLibelle | 225 | Actif | | | Gauche | Centre | Texte | | | +Numériq +| COL_M_nPKID | 162 | Actif | | | Droite | Centre | | | | +| ---------------------- | --- | ----- | ------- | --- | ------ | ------ | ----- | --- | --- | +| COL_DonneCategorieRole | 99 | Actif | | | Gauche | Centre | Texte | | | +| 06/08/2026 | | | Isis_BO | | | | | | 333 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Role_Personne › Informations sur les champs +Rupture de zone répétée +06/08/2026 Isis_BO 334 +X +noitisoP +Y +noitisoP ruegraL ruetuaH +nalP +elbisiV +laitini +tatE +BAT +ehcuoT +RUPT_BasRupture1 +RUPT_HautRupture1 +Fenêtre : FEN_Choix_Role_Personne +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Role_Personne › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 335 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Role_Personne › Informations sur les champs +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : DISP_CHOIX_EQUIPE_COLLAB +Libellé FR: Disposition +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 +Cellule ancrée 2 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +06/08/2026 Isis_BO 336 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Role_Personne › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Titre +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : DISP_CHOIX_EQUIPE_COLLAB.TABLE_ROLE_CONTACT +Libellé FR: Table m_clTabVisible +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre +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 +06/08/2026 Isis_BO 337 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Role_Personne › Informations sur les champs +Hauteur ligne (sans marges) 16 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationListeRole.m_clTabVisible +Rub. mémorisée :gclPresentationListeRole.m_clTabVisible +Ajout/Suppr. dans variable Non +Synchro HFSQL C/S Jamais +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 338 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Role_Personne › Informations sur les champs +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 : DISP_CHOIX_EQUIPE_COLLAB.TABLE_ROLE_CONTACT +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 3 +Interrupteur : +Valeur initiale 0 +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +06/08/2026 Isis_BO 339 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Role_Personne › Informations sur les champs +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Titre de rupture +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 +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 +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 +Liaison des données :gclPresentationListeRole.m_clTabVisible.DonneCategorieRole +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 340 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Role_Personne › Informations sur les champs +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 3 +Colonne de table : +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Oui +Retour à la ligne Non +Coche tous dans entête Oui +Liaison des données :gclPresentationListeRole.m_clTabVisible.m_bSelection +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +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 +06/08/2026 Isis_BO 341 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Role_Personne › Informations sur les champs +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 Oui +Liaison des données :gclPresentationListeRole.m_clTabVisible.m_sLibelle +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : DISP_CHOIX_EQUIPE_COLLAB.TABLE_ROLE_CONTACT.COL_M_nPKID +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: +9 999 999 999 999 999 999 +Mode ellipse +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 Oui +Liaison des données :gclPresentationListeRole.m_clTabVisible.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 342 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Role_Personne › Informations sur les champs +Colonne de table : +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 +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 Oui +Liaison des données :gclPresentationListeRole.m_clTabVisible.DonneCategorieRole +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FEN_Choix_Role_Personne +Code +Déclarations globales de FEN_Choix_Role_Personne +procédure FEN_Choix_Role_Personne(gclPresentationListeRole est un PTableParametreMetier dynamique< +présentation>=Null,paramSupplementaire est un STParamFenetreAppelante=Null) +LIB_Titre_de_fenêtre_Liste_Role = paramSupplementaire.eTypeAppel=Libre ? "Rôle" sinon +paramSupplementaire.sTitreFenetre<>"" ? paramSupplementaire.sTitreFenetre sinon "Rôle" +local +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentationListeRole=Null alors +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.sNomIDAppelant<>"" alors +selon paramSupplementaire.sNomIDAppelant +06/08/2026 Isis_BO 343 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Role_Personne › Code +cas "InterventionClientPersonne","ContactClient": gclPresentationListeRole<- +DonneRoleContactClient()//"ContactClient", +cas "ContactSite","ModifIntervLieuPersonne","AddIntervLieuPersonne","AddLieuPersonne" +gclPresentationListeRole<- DonneRoleContactLieu() +autre cas : gclPresentationListeRole<- gpcl +ListeRoleContact +fin +si paramSupplementaire.pclObjetAppelant<>Null _et_ gclPresentationListeRole:m_clTabModele.. +Occurrence>0 _et_ paramSupplementaire.nIdFenetreAppelante>0 alors +nIndice est un entier = TableauCherche( gclPresentationListeRole:m_clTabModele,tcLinéaire, +"m_nPKID",paramSupplementaire.nIdFenetreAppelante,1) +si nIndice>0 alors +gclPresentationListeRole:m_clTabModele[nIndice]:m_bSelection = Vrai +fin +fin +sinon +gclPresentationListeRole<- gpclListeRoleContact +fin +fin +Demande de mise à jour de l'affichage de FEN_Choix_Role_Personne +si gclPresentationListeRole<>Null _et_ gclPresentationListeRole est PTableParametreMetier +// mise à jour des champs bindés sur la présentation (compteur par exemple) +SourceVersEcran("","gclPresentationListeRole") +//MAJ du champ TABLE et de l'objet Liste CLient +MAJChampTableEtObjet(TABLE_ROLE_CONTACT,gclPresentationListeRole.p_clCourant) +fin +FEN_Choix_Role_Personne +Code des champs +Clic sur BTN_Fermer_Liste_Role +pour i = 1 _à_ gclPresentationListeRole.p_nTotal +gclPresentationListeRole:m_clTabModele[i]:m_bSelection=Faux +fin +Ferme(MaFenêtre) +Clic sur BTN_Valider_Liste_Role +si paramSupplementaire.eTypeAppel<>Libre alors +AppelProcFenetreAppelante(gclPresentationListeRole,paramSupplementaire,Vrai,Vrai) +fin +Ferme(MaFenêtre) +Sortie d'une ligne de TABLE_ROLE_CONTACT +06/08/2026 Isis_BO 344 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Role_Personne › Code des champs +// si la table n'a pas été modifiée, il ne faut rien faire +si TABLE_ROLE_CONTACT..Modifié=Faux alors +retour +fin +pclPresentationFiche est un PFichePersonne dynamique +// ajout d'une nouvelle ligne +si TABLE_ROLE_CONTACT..Nouveau alors +pclPresentationFiche<-gclPresentationListeRole.Nouveau() +// modification d'une ligne existante +sinon +pclPresentationFiche<-gclPresentationListeRole.Modifier() +fin +// sauvegarde de la table +TableEnregistre(TABLE_ROLE_CONTACT,pclPresentationFiche) +// repasse la table en non modifiée +TABLE_ROLE_CONTACT..Modifié=Faux +Sélection d'une ligne de TABLE_ROLE_CONTACT +si TABLE_ROLE_CONTACT..Nouveau alors +gclPresentationListeRole.p_clCourant=Null +sinon +gclPresentationListeRole.p_clCourant=TABLE_ROLE_CONTACT +ExécuteTraitement(BTN_Valider_Liste_Role,trtClic) +fin +A chaque modification de INT_TITRE_RUPTURE ( TABLE_ROLE_CONTACT ) +sCateg est une chaîne = TABLE_ROLE_CONTACT.COL_DonneCategorieRole +si MoiMême[1]=1 alors +pour tout ligne de TABLE_ROLE_CONTACT +si TABLE_ROLE_CONTACT.COL_DonneCategorieRole=sCateg alors +TABLE_ROLE_CONTACT.COL_M_bSelection=1 +fin +fin +sinon +pour tout ligne de TABLE_ROLE_CONTACT +si TABLE_ROLE_CONTACT.COL_DonneCategorieRole=sCateg alors +TABLE_ROLE_CONTACT.COL_M_bSelection=0 +fin +fin +fin +06/08/2026 Isis_BO 345 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Collab_Responsable › Image +FEN_Choix_Collab_Responsable +Image +FEN_Choix_Collab_Responsable +Informations générales +FEN_Choix_Collab_Responsable +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Choix_Collab_Responsable.wdw +| Créé par | | FBO | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 19/04/2019 11:54:06 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:25 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 255 Hauteur | 318 | +| 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. +| 06/08/2026 | | | Isis_BO | | 346 | +| ---------- | --- | --- | ------- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Collab_Responsable › Informations générales +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Non +Type cadre Double +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Statistiques de la fenêtre +Libellé 2 Bouton 2 +Interrupteur 1 Table 1 +Option d'interrupteur 1 Colonne de table 4 +Rupture de zone répétée 2 Disposition 2 +Cellule de disposition 4 +06/08/2026 Isis_BO 347 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Collab_Responsable › Informations générales +Nombre d'éléments dans la fenêtre : 19 +FEN_Choix_Collab_Responsable +Informations sur les champs +Fenêtre : FEN_Choix_Collab_Responsable +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC .trev egardaC | | +| --- | --- | --- | --- | --- | --------------------------- | --- | +FTR tamroF +| | X noitisoP | Y noitisoP | | laitini tatE | | | +| --- | ---------- | ---------- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +LIB_Titre_de_fenêtre_Liste_Colla 7 6 176 21 0 Actif Gauche Centre +Bouton +notuob epyT +| | | | | | laitini tatE BAT ehcuoT | | +| --- | --- | --- | --- | --- | ----------------------- | --- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Fermer_Liste_Collab | | 213 | 4 24 24 | 0 | Actif | Abandon | +| ------------------------ | --- | --- | ------- | --- | ----- | ------- | +| BTN_Valider_Liste_Collab | | 183 | 4 24 24 | 0 | Actif | Normal | +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +lennoitroporp .csA +.loc .gifnoc .oméM +| | | | | )(ertliFH resilitU | ruesnecsa elluB EERTNE noitseG | eércna ennoloC | +| --- | --- | --- | --- | ----------------------------- | ------------------------------ | -------------- | +| | | | | .gerne egacolB noitcelésitluM | edacsac eisiaS | 5.5 elbitapmoC | +BAT ehcuoT +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --------------------- | ------- | ------------ | -------- | --- | --- | +| | | ruetuaH | | sruocraP | | | +| | ruegraL | | elbisiV | | | | +elbaT +nalP +| TABLE_COLLAB | 0 0 255 | 286 0 | affichag Variable | | | 2 | +| ------------ | ------- | ----- | ----------------- | --- | --- | --- | +| 06/08/2026 | | | Isis_BO | | | 348 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Collab_Responsable › Informations sur les champs +Disposition +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +DISP_BANDEAU_ENTETE_LISTE_EQUIPE_COL +| | | 0 | 0 | 255 | 33 | | 0 | Actif | | +| ----------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| DISP_CHOIX_COLLAB | | 0 | 0 | 255 | 318 | | 0 | Actif | | +Table : DISP_CHOIX_COLLAB.TABLE_COLLAB +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Titre | 23 | 27 | 175 18 | | 0 Actif | | Gauche | Haut | | +| --------- | --- | --- | ------ | --- | ------- | --- | ------ | ---- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | ---------- | ---------- | --------------- | --- | --- | ------------ | --- | --- | ----------- | +| | | | ruegraL ruetuaH | | | | | | | +elbisiV +nalP +| INT_TITRE_RUPTURE | 21 | 28 | 19 | 16 | 0 | Actif | | 1 | | +| ----------------- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | +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_M_bSelection | 25 | Actif | | | Centre | Centre | | | | +| COL_M_sLibelle | 225 | Actif | | | Gauche | Centre | Texte | | | +Numériq +| COL_M_nPKID | 162 | Actif | | | Droite | Centre | | | | +| ----------- | --- | ----- | ------- | --- | ------ | ------ | ----- | --- | --- | +| COL_Equipe | 99 | Actif | | | Gauche | Centre | Texte | | | +| 06/08/2026 | | | Isis_BO | | | | | | 349 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Collab_Responsable › Informations sur les champs +Rupture de zone répétée +06/08/2026 Isis_BO 350 +X +noitisoP +Y +noitisoP ruegraL ruetuaH +nalP +elbisiV +laitini +tatE +BAT +ehcuoT +RUPT_BasRupture1 +RUPT_HautRupture1 +Fenêtre : FEN_Choix_Collab_Responsable +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Collab_Responsable › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 351 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Collab_Responsable › Informations sur les champs +Disposition : DISP_CHOIX_COLLAB.DISP_BANDEAU_ENTETE_LISTE_EQUIPE_COLLAB +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : DISP_CHOIX_COLLAB +Libellé FR: Disposition +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 +Cellule ancrée 2 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +06/08/2026 Isis_BO 352 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Collab_Responsable › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Titre +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : DISP_CHOIX_COLLAB.TABLE_COLLAB +Libellé FR: Table m_clTabVisible +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre +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 +06/08/2026 Isis_BO 353 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Collab_Responsable › Informations sur les champs +Hauteur ligne (sans marges) 16 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationListeCollab.m_clTabModele +Rub. mémorisée :gclPresentationListeCollab.m_clTabModele +Ajout/Suppr. dans variable Non +Synchro HFSQL C/S Jamais +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 354 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Collab_Responsable › Informations sur les champs +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 : DISP_CHOIX_COLLAB.TABLE_COLLAB +Rupture de zone répétée : DISP_CHOIX_COLLAB.TABLE_COLLAB.RUPT_HautRupture1 +Toujours visible Non +Attribut de rupture 3 +Interrupteur : +Valeur initiale 0 +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +06/08/2026 Isis_BO 355 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Collab_Responsable › Informations sur les champs +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_CHOIX_COLLAB.TABLE_COLLAB.RUPT_HautRupture1.LIB_Titre +Libellé FR: Titre de rupture +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 +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 +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 +Liaison des données :gclPresentationListeCollab.m_clTabModele.m_clEquipe.m_sNom +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 356 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Collab_Responsable › Informations sur les champs +Rupture de zone répétée : DISP_CHOIX_COLLAB.TABLE_COLLAB.RUPT_BasRupture1 (2) +Toujours visible Non +Attribut de rupture 3 +Colonne de table : DISP_CHOIX_COLLAB.TABLE_COLLAB.COL_M_bSelection (3) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Oui +Retour à la ligne Non +Coche tous dans entête Oui +Liaison des données :gclPresentationListeCollab.m_clTabModele.m_bSelection +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : DISP_CHOIX_COLLAB.TABLE_COLLAB.COL_M_sLibelle (4) +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 +06/08/2026 Isis_BO 357 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Collab_Responsable › Informations sur les champs +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 Oui +Liaison des données :gclPresentationListeCollab.m_clTabModele.NomPrenom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : DISP_CHOIX_COLLAB.TABLE_COLLAB.COL_M_nPKID (5) +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: +9 999 999 999 999 999 999 +Mode ellipse +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 Oui +Liaison des données :gclPresentationListeCollab.m_clTabModele.IdentifiantUnique +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 358 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Collab_Responsable › Informations sur les champs +Colonne de table : DISP_CHOIX_COLLAB.TABLE_COLLAB.COL_Equipe (6) +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 +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 Oui +Liaison des données :gclPresentationListeCollab.m_clTabModele.m_clEquipe.m_sNom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FEN_Choix_Collab_Responsable +Code +Déclarations globales de FEN_Choix_Collab_Responsable +procédure FEN_Choix_Collab_Responsable(gclPresentationListeCollab est un PTableCollaborateur dynamique< +présentation>=Null,paramSupplementaire est un STParamFenetreAppelante=Null) +LIB_Titre_de_fenêtre_Liste_Collab = paramSupplementaire.eTypeAppel=Libre ? "Collaborateur" sinon +paramSupplementaire.sTitreFenetre<>"" ? paramSupplementaire.sTitreFenetre sinon "Collaborateur" +local +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentationListeCollab=Null alors +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.sNomIDAppelant<>"" alors +selon paramSupplementaire.sNomIDAppelant +06/08/2026 Isis_BO 359 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Collab_Responsable › Code +cas "InterventionSuiviPar": gclPresentationListeCollab=PTableCollaborateur. +gNouvellePresentation(6,paramSupplementaire.pclObjetAppelant:m_nIDSociete,Vrai) +cas "ListeDossierSuiviPar": gclPresentationListeCollab=PTableCollaborateur. +gNouvellePresentation(6) +cas "ListeClientSuiviPar": gclPresentationListeCollab=PTableCollaborateur. +gNouvellePresentation(6) +fin +si gclPresentationListeCollab<>Null _et_ gclPresentationListeCollab:m_clTabModele..Occurrence>0 +_et_ paramSupplementaire.nIdFenetreAppelante>0 alors +nIndice est un entier = TableauCherche( gclPresentationListeCollab:m_clTabModele, +tcLinéaire,"m_nPKID",paramSupplementaire.nIdFenetreAppelante,1) +si nIndice>0 alors +gclPresentationListeCollab:m_clTabModele[nIndice]:m_bSelection = Vrai +fin +fin +sinon +gclPresentationListeCollab<- gpclListeSuiviPar +fin +fin +Demande de mise à jour de l'affichage de FEN_Choix_Collab_Responsable +si gclPresentationListeCollab<>Null _et_ gclPresentationListeCollab est PTableCollaborateur +// mise à jour des champs bindés sur la présentation (compteur par exemple) +SourceVersEcran("","gclPresentationListeCollab") +//MAJ du champ TABLE et de l'objet Liste CLient +MAJChampTableEtObjet(TABLE_COLLAB,gclPresentationListeCollab.p_clCourant) +fin +FEN_Choix_Collab_Responsable +Code des champs +Clic sur BTN_Fermer_Liste_Collab +pour i = 1 _à_ gclPresentationListeCollab.p_nTotal +gclPresentationListeCollab:m_clTabModele[i]:m_bSelection=Faux +fin +Ferme(MaFenêtre) +Clic sur BTN_Valider_Liste_Collab +si paramSupplementaire.eTypeAppel<>Libre alors +si gclPresentationListeCollab:p_clCourant<>Null alors +AppelProcFenetreAppelante(gclPresentationListeCollab,paramSupplementaire,Vrai,Vrai) +sinon +AppelProcFenetreAppelante(Null,paramSupplementaire,Vrai,Vrai) +fin +fin +Ferme(MaFenêtre) +Sortie d'une ligne de TABLE_COLLAB +06/08/2026 Isis_BO 360 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Collab_Responsable › Code des champs +// si la table n'a pas été modifiée, il ne faut rien faire +si TABLE_COLLAB..Modifié=Faux alors +retour +fin +pclPresentationFiche est un PFicheCollaborateur dynamique +// ajout d'une nouvelle ligne +si TABLE_COLLAB..Nouveau alors +pclPresentationFiche<-gclPresentationListeCollab.Nouveau() +// modification d'une ligne existante +sinon +pclPresentationFiche<-gclPresentationListeCollab.Modifier() +fin +// sauvegarde de la table +TableEnregistre(TABLE_COLLAB,pclPresentationFiche) +// repasse la table en non modifiée +TABLE_COLLAB..Modifié=Faux +Sélection d'une ligne de TABLE_COLLAB +si TABLE_COLLAB..Nouveau alors +gclPresentationListeCollab.p_clCourant=Null +sinon +gclPresentationListeCollab.p_clCourant=TABLE_COLLAB +ExécuteTraitement(BTN_Valider_Liste_Collab,trtClic) +fin +A chaque modification de INT_TITRE_RUPTURE ( TABLE_COLLAB ) +sEquipe est une chaîne = TABLE_COLLAB.COL_Equipe +si MoiMême[1]=1 alors +pour tout ligne de TABLE_COLLAB +si TABLE_COLLAB.COL_Equipe=sEquipe alors +TABLE_COLLAB.COL_M_bSelection=1 +fin +fin +sinon +pour tout ligne de TABLE_COLLAB +si TABLE_COLLAB.COL_Equipe=sEquipe alors +TABLE_COLLAB.COL_M_bSelection=0 +fin +fin +fin +06/08/2026 Isis_BO 361 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Impression_Agenda › Image +FEN_Choix_Impression_Agenda +Image +FEN_Choix_Impression_Agenda +Informations générales +FEN_Choix_Impression_Agenda +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Choix_Impression_Agenda.wdw +| Créé par | | XVA | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 26/04/2019 10:01:02 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:25 | | | | +| Titre | | FR: Choix_Impression_Agenda | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 466 Hauteur | 204 | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 362 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Impression_Agenda › Informations générales +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Non +Type cadre Double +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +M.C.U. Oui +Anim. Ouverture 0 +Anim. Fermeture 0 +Durée Anim. Ouverture 100 +Durée Anim. Fermeture 50 +Adapte Taille contenu Oui +Assombri quand inactif Oui +Déplace souris sur bouton par Non +Compact. barres outils Non +Statistiques de la fenêtre +Libellé 4 Image 1 +Zone répétée 1 Attribut zone répétée 3 +Nombre d'éléments dans la fenêtre : 9 +FEN_Choix_Impression_Agenda +Informations sur les champs +06/08/2026 Isis_BO 363 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Impression_Agenda › Informations sur les champs +Fenêtre : FEN_Choix_Impression_Agenda +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| LIB_Titre | 6 | 6 448 | 24 0 | Actif | Centre | Centre | | +| --------- | --- | ----- | ---- | ----- | ------ | ------ | --- | +Zone répétée +BAT ehcuoT +laitini tatE +| | | X noitisoP Y noitisoP | | | | | | +| --- | --- | --------------------- | ------- | ------- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| ZR_ChoixAgenda | | 6 | 32 448 | 155 | 0 | Actif | | +| -------------- | --- | --- | ------ | --- | --- | ----- | --- | +Zone répétée : ZR_ChoixAgenda +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_AuteurMessageBO | 6 | 12 96 | 49 0 | Actif | Centre | Centre | | +| ------------------- | --- | ------ | ---- | ----- | ------ | ------ | --- | +| LIB_Collab | 4 | 78 100 | 64 0 | Actif | Centre | Haut | | +| LIB_Id | 78 | 6 24 | 20 0 | Actif | Gauche | Haut | | +Image +| | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | --- | --- | ------------ | --------------------------------------- | ---------- | +| | X noitisoP | Y noitisoP | | | laitini tatE | | sucof cevA | +cilc cevA +| | | | ruegraL ruetuaH | | | | | +| --- | --- | --- | --------------- | --- | --- | --- | --- | +elbisiV +nalP +| IMG_AuteurBO | 6 | 10 | 96 53 | 0 | Actif | | | +| ------------ | --- | --- | ------- | --- | ----- | --- | --- | +| 06/08/2026 | | | Isis_BO | | | | 364 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Impression_Agenda › Informations sur les champs +Attribut zone répétée +06/08/2026 Isis_BO 365 +X +noitisoP +Y +noitisoP ruegraL ruetuaH +nalP +elbisiV +laitini +tatE +BAT +ehcuoT +ATT_Initial +ATT_Nom +ATT_id +Fenêtre : FEN_Choix_Impression_Agenda +Libellé : LIB_Titre +Libellé FR: Choisissez l'agenda du collaborateur à imprimer +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 +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 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Impression_Agenda › Informations sur les champs +Zone répétée : ZR_ChoixAgenda +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 147 +Largeur colonne 108 +Sens Horizontal +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +Nb. Enreg. Max 0 +06/08/2026 Isis_BO 366 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Impression_Agenda › Informations sur les champs +Parcours Automatique +Fichier parcouru :gclPresentationListeCollab.m_clTabModele +Rub. mémorisée :gclPresentationListeCollab.m_clTabModele +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : ZR_ChoixAgenda +Attribut zone répétée : ZR_ChoixAgenda.ATT_Initial (1) +Champ associé LIB_AuteurMessageBO +Propriété associée 1 +Liaison des données :gclPresentationListeCollab.m_clTabModele.m_sTrigramme +Attribut zone répétée : ZR_ChoixAgenda.ATT_Nom (2) +Champ associé LIB_Collab +Propriété associée 1 +Liaison des données :gclPresentationListeCollab.m_clTabModele.NomPrenom +Attribut zone répétée : ZR_ChoixAgenda.ATT_id (3) +Champ associé LIB_Id +Propriété associée 1 +Liaison des données :gclPresentationListeCollab.m_clTabModele.m_nPKID +06/08/2026 Isis_BO 367 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Impression_Agenda › Informations sur les champs +Image : ZR_ChoixAgenda.IMG_AuteurBO +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_ChoixAgenda.LIB_AuteurMessageBO +Libellé FR: XVA +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 +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 +06/08/2026 Isis_BO 368 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Impression_Agenda › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationListeCollab.m_clTabModele.m_sTrigramme +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_ChoixAgenda.LIB_Collab +Libellé FR: Nom +Prénom +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 +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 +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 +Liaison des données :gclPresentationListeCollab.m_clTabModele.NomPrenom +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +06/08/2026 Isis_BO 369 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Impression_Agenda › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_ChoixAgenda.LIB_Id +Libellé FR: ID +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 +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 +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 +Liaison des données :gclPresentationListeCollab.m_clTabModele.m_nPKID +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Choix_Impression_Agenda +Code +Déclarations globales de FEN_Choix_Impression_Agenda +//--- Fenêtre Popup --- +// Pour accéder au champ ou à la combo popup qui a ouvert cette fenêtre +06/08/2026 Isis_BO 370 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Impression_Agenda › Code +// vous pouvez utiliser : MonChampPopup +procédure FEN_Choix_Impression_Agenda(gclPresentationListeCollab est un PTableCollaborateur dynamique< +présentation>=Null,paramSupplementaire est un STParamFenetreAppelante=Null) +gsIdCollabSelect est une chaîne +Fermeture de FEN_Choix_Impression_Agenda +renvoyer gsIdCollabSelect +FEN_Choix_Impression_Agenda +Code des champs +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur ZR_ChoixAgenda +gsIdCollabSelect=ATT_id +Ferme(FEN_Choix_Impression_Agenda,gsIdCollabSelect) +06/08/2026 Isis_BO 371 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Contact_Site › Image +FEN_Choix_Contact_Site +Image +FEN_Choix_Contact_Site +Informations générales +FEN_Choix_Contact_Site +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Choix_Contact_Site.wdw +| Créé par | | XVA | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 15/11/2018 15:38:11 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:25 | | | | +| Titre | | FR: Choix Contact_Site | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 317 Hauteur | 318 | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 372 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Contact_Site › Informations générales +Ctx. HFSQL indép. +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Non +Type cadre +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +06/08/2026 Isis_BO 373 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Contact_Site › Informations générales +Statistiques de la fenêtre +| | Libellé | | | 5 | Bouton | | | | 3 | +| --- | --------------------- | --- | --- | --- | ----------------------- | --- | --- | --- | --- | +| | Interrupteur | | | 2 | Combo | | | | 1 | +| | Zone répétée | | | 2 | Attribut zone répétée | | | | 6 | +| | Option d'interrupteur | | | 2 | Rupture de zone répétée | | | | 2 | +| | Disposition | | | 2 | Cellule de disposition | | | | 7 | +Nombre d'éléments dans la fenêtre : 32 +FEN_Choix_Contact_Site +Informations sur les champs +Fenêtre : FEN_Choix_Contact_Site +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | --- | +| | | | | | | laitini tatE | | FTR tamroF | | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Titre | | -253 59 | 187 | 18 | 0 | Actif | Gauche | Haut | | +| --------- | --- | ------- | --- | --- | --- | ----- | ------ | ---- | --- | +LIB_Titre_de_fenêtre_Liste_Colla +| | | 7 6 | 197 | 21 | 0 | Actif | Gauche | Centre | | +| --- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | +Bouton +| | | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | ----------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Fermer_Fiche_Rdv | | 4 | 4 | 24 | 24 | 0 | Actif | Abandon | | +| --------------------- | --- | --- | --- | ------- | --- | --- | ----- | ------- | --- | +| BTN_Valider_Fiche_Rdv | | 4 | 4 | 24 | 24 | 0 | Actif | Normal | | +| 06/08/2026 | | | | Isis_BO | | | | | 374 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Contact_Site › Informations sur les champs +Zone répétée +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_COLONNE | 0 | 0 317 | 64 | 0 | Actif | | +| ---------- | --- | ----- | --- | --- | ----- | --- | +| ZR_Contact | 0 | 0 317 | 286 | 0 | Actif | | +Disposition +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| DISP_BANDEAU_ENTETE_LISTE_EQUIPE_COL | 0 | 0 317 | 33 | 0 | Actif | | +| ------------------------------------ | --- | ----- | --- | --- | ----- | --- | +| DISP_CHOIX_EQUIPE_COLLAB | 0 | 0 317 | 318 | 0 | Actif | | +Zone répétée : DISP_CHOIX_EQUIPE_COLLAB.ZR_COLONNE +Bouton +BAT ehcuoT notuob epyT +| | X noitisoP Y noitisoP | | | laitini tatE | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_NOMPRENOM | 12 5 | 80 22 | 0 | Actif | Normal | | +| ------------- | ---- | ----- | --- | ----- | ------ | --- | +Attribut zone répétée +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +ATT_Attribut1 +ATT_Attribut2 +Zone répétée : DISP_CHOIX_EQUIPE_COLLAB.ZR_Contact +| 06/08/2026 | | Isis_BO | | | | 375 | +| ---------- | --- | ------- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Contact_Site › 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_IdContact | | 172 | 6 | 16 | 20 | | 0 Actif | Gauche | Haut | | | +| -------------- | --- | --- | --- | --- | --- | --- | ------- | ------ | ---- | --- | --- | +| LIB_IdRdv | | 194 | 6 | 16 | 20 | | 0 Actif | Gauche | Haut | | | +| LIB_NomContact | | 49 | 7 | 245 | 20 | | 0 Actif | Gauche | Haut | | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | | | | | | | laitini tatE | | | staté siorT | +| --- | --- | ---------- | ---------- | ------- | --- | ------- | --- | ------------ | --- | --- | ----------- | +| | | X noitisoP | Y noitisoP | | | | | | | | | +| | | | | ruegraL | | ruetuaH | | | | | | +elbisiV +nalP +| INT_CONTACT | | | 20 | 3 | 23 | 28 | 0 Actif | | | 1 | | +| ----------- | --- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | +| INT_Sel1 | | | 20 | 6 | 23 | 18 | 0 Actif | | | 1 | | +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 | | | | +| ---------- | --- | --- | --- | ---- | --- | -------- | -------- | ----- | --- | --- | --- | +| COMBO_ROLE | 49 | 3 | 245 | 24 | 0 | affichag | Variable | | Non | | | +Attribut zone répétée +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +ATT_Fonction +ATT_IdContact +ATT_Nom +ATT_sel +| 06/08/2026 | | | | | Isis_BO | | | | | | 376 | +| ---------- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Contact_Site › Informations sur les champs +Rupture de zone répétée +06/08/2026 Isis_BO 377 +X +noitisoP +Y +noitisoP ruegraL ruetuaH +nalP +elbisiV +laitini +tatE +BAT +ehcuoT +RUPT_BasRupture1 +RUPT_HautRupture1 +Fenêtre : FEN_Choix_Contact_Site +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Contact_Site › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 378 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Contact_Site › Informations sur les champs +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : DISP_CHOIX_EQUIPE_COLLAB +Libellé FR: Disposition +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 +Cellule ancrée 3 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +06/08/2026 Isis_BO 379 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Contact_Site › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Titre +Libellé FR: Contact(s) du site +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Titre +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +06/08/2026 Isis_BO 380 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Contact_Site › Informations sur les champs +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : DISP_CHOIX_EQUIPE_COLLAB.ZR_COLONNE +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 32 +Largeur colonne 105 +Sens Horizontal +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Jamais +06/08/2026 Isis_BO 381 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Contact_Site › Informations sur les champs +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 2 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur et nombre de colonnes fixes (à gauche) +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : DISP_CHOIX_EQUIPE_COLLAB.ZR_Contact +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 35 +Largeur colonne 300 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +06/08/2026 Isis_BO 382 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Contact_Site › Informations sur les champs +Largeur des colonnes Non +Sélection multiple Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Oui +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection multiple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +Nb. Enreg. Max 0 +Parcours Automatique +Fichier parcouru :gclPresentationListeContact.m_clTabModele +Rub. mémorisée :gclPresentationListeContact.m_clTabModele +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +06/08/2026 Isis_BO 383 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Contact_Site › Informations sur les champs +Zone répétée : DISP_CHOIX_EQUIPE_COLLAB.ZR_COLONNE +Attribut zone répétée : DISP_CHOIX_EQUIPE_COLLAB.ZR_COLONNE.ATT_Attribut1 (1) +Champ associé BTN_NOMPRENOM +Propriété associée 5 +Attribut zone répétée : DISP_CHOIX_EQUIPE_COLLAB.ZR_COLONNE.ATT_Attribut2 (2) +Champ associé BTN_NOMPRENOM +Propriété associée 132 +Bouton : DISP_CHOIX_EQUIPE_COLLAB.ZR_COLONNE.BTN_NOMPRENOM +Libellé FR: NomPrenom +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +06/08/2026 Isis_BO 384 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Contact_Site › Informations sur les champs +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : DISP_CHOIX_EQUIPE_COLLAB.ZR_Contact +Attribut zone répétée : DISP_CHOIX_EQUIPE_COLLAB.ZR_Contact.ATT_Fonction (4) +Champ associé COMBO_ROLE +Propriété associée 1 +Liaison des données :gclPresentationListeContact.m_clTabModele.m_nIDRole +Attribut zone répétée : DISP_CHOIX_EQUIPE_COLLAB.ZR_Contact.ATT_IdContact (2) +Champ associé LIB_IdContact +Propriété associée 1 +Liaison des données :gclPresentationListeContact.m_clTabModele.m_nPKID +Attribut zone répétée : DISP_CHOIX_EQUIPE_COLLAB.ZR_Contact.ATT_Nom (1) +Champ associé LIB_NomContact +Propriété associée 1 +Liaison des données :gclPresentationListeContact.m_clTabModele.NomPrenom +Attribut zone répétée : DISP_CHOIX_EQUIPE_COLLAB.ZR_Contact.ATT_sel (3) +Champ associé INT_CONTACT +Propriété associée 1 +Liaison des données :gclPresentationListeContact.m_clTabModele.m_bSelection +06/08/2026 Isis_BO 385 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Contact_Site › Informations sur les champs +Combo : DISP_CHOIX_EQUIPE_COLLAB.ZR_Contact.RUPT_HautRupture1.COMBO_ROLE +Libellé FR: &Combo +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Haut +Orientation verticale Non +Hauteur liste 0 +Largeur liste 245 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 0 +Position X interne 49 +Largeur interne 245 +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 +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 +06/08/2026 Isis_BO 386 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Contact_Site › Informations sur les champs +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Liaison des données :gclPresentationListeContact.m_clTabModele.m_nIDRole +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeRoleContact.m_clTabVisible +Rub. affichée :gpclListeRoleContact.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeRoleContact.m_clTabVisible.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : DISP_CHOIX_EQUIPE_COLLAB.ZR_Contact.INT_CONTACT +Valeur initiale 0 +Ordre navigation 1 +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 +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. +Liaison des données :gclPresentationListeContact.m_clTabModele.m_bSelection +06/08/2026 Isis_BO 387 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Contact_Site › Informations sur les champs +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : DISP_CHOIX_EQUIPE_COLLAB.ZR_Contact.RUPT_HautRupture1.INT_Sel1 +Valeur initiale 0 +Ordre navigation 2 +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 +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 Toute la hauteur de l'option +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. +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +06/08/2026 Isis_BO 388 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Contact_Site › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_CHOIX_EQUIPE_COLLAB.ZR_Contact.LIB_IdContact +Libellé FR: id +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 +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 +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 +Liaison des données :gclPresentationListeContact.m_clTabModele.m_nPKID +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_CHOIX_EQUIPE_COLLAB.ZR_Contact.LIB_IdRdv +Libellé FR: id +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 389 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Contact_Site › Informations sur les champs +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_CHOIX_EQUIPE_COLLAB.ZR_Contact.LIB_NomContact +Libellé FR: Nom Contact +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 +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 +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 +Liaison des données :gclPresentationListeContact.m_clTabModele.NomPrenom +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 390 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Contact_Site › Informations sur les champs +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 3 +Rupture de zone répétée : +Toujours visible Oui +Attribut de rupture 3 +FEN_Choix_Contact_Site +Messages multilingues +06/08/2026 Isis_BO 391 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FEN_Choix_Contact_Site +Code +Déclarations globales de FEN_Choix_Contact_Site +procédure FEN_Choix_Contact_Site(gclPresentationListeContact est un PTablePersonne dynamique< +présentation>=Null,paramSupplementaire est un STParamFenetreAppelante=Null,local nIdIntervention est un +entier sur 8 octets=-1) +//gclPresentRDVGroupe est un PTableRDV dynamique=Null,LOCAL Idsociete +est un entier sur 8 octets=-1 +//gclPresentationListeCollab est un PTableCollaborateur dynamique +//gclPresentationListeCollab=PTableCollaborateur.gNouvellePresentation(1,Idsociete) + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Contact_Site › Code +LIB_Titre_de_fenêtre_Liste_Collaborateur = paramSupplementaire.eTypeAppel=Libre ? "Contacts" sinon +paramSupplementaire.sTitreFenetre<>"" ? paramSupplementaire.sTitreFenetre sinon "Contacts" +local +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentationListeContact=Null alors +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.sNomIDAppelant<>"" alors +selon paramSupplementaire.sNomIDAppelant +cas "RendezVousContactsSite" : +// ZoneRépétéeAjouteLigne(ZR_COLONNE,"Civilité",Faux) +// ZoneRépétéeAjouteLigne(ZR_COLONNE,"Nom prénom",Faux) +// ZoneRépétéeAjouteLigne(ZR_COLONNE,"Tél. 1",Faux) +// ZoneRépétéeAjouteLigne(ZR_COLONNE,"Tél. 2",Faux) +// ZoneRépétéeAjouteLigne(ZR_COLONNE,"Email",Faux) +// ZoneRépétéeAjouteLigne(ZR_COLONNE,"Rôle",Faux) +gclPresentationListeContact=PTablePersonne.gNouvellePresentation(6,paramSupplementaire +.nIdFenetreAppelante,nIdIntervention) +si paramSupplementaire.pclObjetAppelant<>Null _et_ gclPresentationListeContact: +m_clTabModele..Occurrence>0 alors +gclPresentationListeContact.Trie("m_nIDRole") +pour i = 1 _à_ paramSupplementaire.pclObjetAppelant.m_clTabModele..Occurrence +nIndice est un entier = TableauCherche( gclPresentationListeContact: +m_clTabModele,tcLinéaire,"m_nPKID",paramSupplementaire.pclObjetAppelant. +m_clTabModele[i].m_nIDPersonne,1) +si nIndice>0 alors +gclPresentationListeContact:m_clTabModele[nIndice]:m_bSelection = Vrai +fin +fin +fin +cas "IntervEquipeCollab" +// +gclPresentationListeCollab=PTableCollaborateur.gNouvellePresentation(1,paramSupplementaire.nIdFenetreAp +pelante) +// +SI paramSupplementaire.pclObjetAppelant<>Null _ET_ +gclPresentationListeCollab:m_clTabModele..Occurrence>0 ALORS +// POUR i = 1 _A_ paramSupplementaire.pclObjetAppelant.m_clTabModele..Occurrence +// +nIndice est un entier = TableauCherche( +gclPresentationListeCollab:m_clTabModele,tcLinéaire,"m_nPKID",paramSupplementaire.pclObjetAppelant.m_cl +TabModele[i].m_nIDCollaborateur,1) +// SI nIndice>0 ALORS +// gclPresentationListeCollab:m_clTabModele[nIndice]:m_bSelection = Vrai +// FIN +// FIN +// FIN +// AUTRE CAS : gclPresentationListeCollab=PTableCollaborateur.gNouvellePresentation(0) +fin +sinon +gclPresentationListeContact=PTablePersonne.gNouvellePresentation(0) +fin +fin +Fin d'initialisation de FEN_Choix_Contact_Site +//nIndice est un entier +//POUR TOUT LIGNE DE ZR_Collaborateur +// nIndice++ +06/08/2026 Isis_BO 392 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Contact_Site › Code +// +si +TableauCherche(gclPresentRDVGroupe:m_clTabModele,tcLinéaire,"m_nIDCollaborateur",ZR_Collaborateur.ATT_I +dCollab,1)<>-1 alors +// ZR_Collaborateur.ATT_sel=1 +// ZoneRépétéeSelectPlus(ZR_Collaborateur,nIndice) +// fin +// SI ZR_Collaborateur.ATT_Equipe="" ALORS +// ZR_Collaborateur.ATT_Equipe="Collaborateurs" +// FIN +//FIN +Demande de mise à jour de l'affichage de FEN_Choix_Contact_Site +si gclPresentationListeContact<>Null _et_ gclPresentationListeContact est PTablePersonne alors +SourceVersEcran("","gclPresentationListeContact") +fin +Fermeture de FEN_Choix_Contact_Site +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.gProcMAJRetour<> Null _et_ +paramSupplementaire.sNomIDAppelant="RendezVousContactsSite" alors +paramSupplementaire.sContexteAppelant = Remplace(paramSupplementaire.sContexteAppelant, +"INT_CONTACT","") +bResultat est un booléen = AppelProcFenetreAppelante(gclPresentationListeContact, +paramSupplementaire,Vrai,Vrai) +//paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationListeCont +act) +fin +FEN_Choix_Contact_Site +Code des champs +Clic sur BTN_Fermer_Fiche_Rdv +pour toute ligne de ZR_Contact +ATT_sel=0 +fin +Ferme(FEN_Choix_Contact_Site) +Clic sur BTN_Valider_Fiche_Rdv +Ferme(FEN_Choix_Contact_Site) +Initialisation de BTN_NOMPRENOM ( ZR_COLONNE ) +06/08/2026 Isis_BO 393 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Contact_Site › Code des champs +MoiMême..Libellé="OFF" +Clic sur BTN_NOMPRENOM ( ZR_COLONNE ) +MoiMême..Libellé=(MoiMême..Enfoncé?"ON" sinon "OFF") +Sélection d'une ligne de ZR_Contact +//SI ATT_sel=1 ALORS +// ATT_sel=0 +//sinon +// si gclPresentRDVGroupe:m_clTabModele..occurrence>0 alors +// MessageErreur est une chaine +// +MessageErreur=Gestion_Conflit(gclPresentRDVGroupe:m_clTabModele[1].m_dhDateDebut,gclPresentRDVGroupe:m_ +clTabModele[1].m_dhDateFin,ATT_IdCollab) +// SI MessageErreur<>"" ALORS +// Erreur("Vous ne pouvez pas déplacer ce rendez-vous pour les utiliateurs +suivant:"+RC+RC+MessageErreur+RC+RC+"Conflit de Rendez-vous") +// ATT_sel=0 +// RETOUR +// fin +// sinon +// ATT_sel=1 +// FIN +//FIN +Entrée dans INT_CONTACT ( ZR_Contact ) +ZR_Contact..AffichageActif=Faux +A chaque modification de INT_CONTACT ( ZR_Contact ) +EcranVersSource("","gclPresentationListeContact") +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.gProcMAJRetour<> Null _et_ +paramSupplementaire.sNomIDAppelant="RendezVousContactsSite" _et_ INT_CONTACT=1 alors +clUnContact est un MPersonne = ZR_Contact +paramSupplementaire.sContexteAppelant += TAB+MoiMême..Nom +bResultat est un booléen = AppelProcFenetreAppelante(clUnContact,paramSupplementaire,Vrai,Vrai) +// +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant+TAB+MoiMême..Nom,clUnConta +ct) +si pas bResultat alors +ATT_sel=0 +retour +fin +fin +//Pour toute ligne de ZR_Collaborateur +// si ATT_sel=1 alors +// MessageErreur est une chaine +// +MessageErreur=Gestion_Conflit(gclPresentRDVGroupe:m_clTabModele[1].m_dhDateDebut,gclPresentRDVGroupe:m_ +clTabModele[1].m_dhDateFin,ATT_IdCollab) +// SI MessageErreur<>"" ALORS +// Erreur("Vous ne pouvez pas déplacer ce rendez-vous pour les utiliateurs +suivant:"+RC+RC+MessageErreur+RC+RC+"Conflit de Rendez-vous") +06/08/2026 Isis_BO 394 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Contact_Site › Code des champs +// ATT_sel=0 +// RETOUR +// fin +// fin +//fin +ZR_Contact..AffichageActif=Vrai +A chaque modification de INT_Sel1 ( ZR_Contact ) +si MoiMême[1]=1 alors +pour tout ligne de ZR_Contact +ZR_Contact.ATT_sel=1 +fin +sinon +pour tout ligne de ZR_Contact +ZR_Contact.ATT_sel=0 +fin +fin +06/08/2026 Isis_BO 395 + +Partie 3 › Fenêtre WINDEV › FEN_MobileInscription › Image +FEN_MobileInscription +Image +FEN_MobileInscription +Informations générales +FEN_MobileInscription +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_MobileInscription.wdw +Créé par DFI +Date de création 21/06/2019 09:50:29 +Dernière modification par SMR +Date dernière modification 11/04/2025 16:08:23 +Titre FR: Inscription Mobile +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +06/08/2026 Isis_BO 396 + +Partie 3 › Fenêtre WINDEV › FEN_MobileInscription › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 630 Hauteur | 545 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Non | | | | +| Type cadre | | Double | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 397 | + +Partie 3 › Fenêtre WINDEV › FEN_MobileInscription › Informations générales +Statistiques de la fenêtre +| | Libellé | | | 3 | | Bouton | | | | 1 | +| --- | ------- | --- | --- | --- | --- | ----------- | --- | --- | --- | --- | +| | Forme | | | 1 | | Code-barres | | | | 1 | +Nombre d'éléments dans la fenêtre : 6 +FEN_MobileInscription +Informations sur les champs +Fenêtre : FEN_MobileInscription +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | --- | +ruetuaH +| | | | ruegraL | | | elbisiV | | | | | +| --- | --- | --- | ------- | --- | --- | ------- | --- | --- | --- | --- | +nalP +LIB_INSCRIPTION_D_UN_MOBILE +| | | 3 | 4 360 | 20 | 0 | Actif | Gauche | Haut | | | +| ------------------------ | --- | --- | ------ | --- | --- | -------- | ------ | ---- | --- | --- | +| LIB_Scannez_ce_code_avec | | 21 | 35 587 | 20 | 0 | affichag | Centre | Haut | | | +LIB_Scannez_ce_code_avec1 25 510 587 20 0 affichag Centre Haut +Bouton +| | | | | | | | | BAT ehcuoT | notuob epyT | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | ---------- | ----------- | --- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Fermer_Liste_Role | | 598 | 2 | 24 | 24 | 0 | Actif | | Abandon | | +| --------------------- | --- | --- | --- | --- | --- | --- | ----- | --- | ------- | --- | +Forme +BAT ehcuoT +| | | | X noitisoP Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | --------------------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_Bandeau | | | -1 | 0 | 630 | 29 | 0 | Actif | | | +| ----------- | --- | --- | --- | ------- | --- | --- | --- | ----- | --- | --- | +| 06/08/2026 | | | | Isis_BO | | | | | | 398 | + +Partie 3 › Fenêtre WINDEV › FEN_MobileInscription › Informations sur les champs +Code-barres +serrab-edoc epyT +| | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --------------------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| CBA_QRCODE | 82 72 | 472 425 | 0 | Actif | Code | +| ---------- | ----- | ------- | --- | ----- | ---- | +Fenêtre : FEN_MobileInscription +Bouton : BTN_Fermer_Liste_Role +| Ordre navigation | 1 | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | +| 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 | | | | | | +| 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 | | | | | | +| 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 | | | | | | +| Texte Markdown | Non | | | | | +| Mode menu ctx. | | | | | | +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +| Nb. états image | 5 | | | | | +| ---------------------------- | ------- | ------- | --- | --- | --- | +| Nb. états fond | 1 | | | | | +| Etirement de l'image de fond | | | | | | +| Nb. étapes animation | 1 | | | | | +| Largeur Halo | 0 | | | | | +| Hauteur Halo | 0 | | | | | +| Personnaliser le picto AMI | Non | | | | | +| Indice du picto AMI | 1 | | | | | +| Ancrage | Droite | | | | | +| 06/08/2026 | | Isis_BO | | | 399 | + +Partie 3 › Fenêtre WINDEV › FEN_MobileInscription › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Code-barres : CBA_QRCODE +Libellé FR: Code-Barres +Valeur initiale 0123456789 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Touche TAB Non +Type contenu Texte/URL (défaut) +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Centre +Cadrage vert. Centre +Orientation Normale +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 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FRM_Bandeau +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 400 + +Partie 3 › Fenêtre WINDEV › FEN_MobileInscription › Informations sur les champs +Libellé : LIB_INSCRIPTION_D_UN_MOBILE_UTILISATEUR +Libellé FR: INSCRIPTION D'UN MOBILE UTILISATEUR +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Scannez_ce_code_avec +Libellé FR: Scannez ce code avec l'application mobile pour inscrire un smartphone +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 +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 +06/08/2026 Isis_BO 401 + +Partie 3 › Fenêtre WINDEV › FEN_MobileInscription › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Scannez_ce_code_avec1 +Libellé FR: CE QR CODE NE FONCTIONNE QU'AVEC L'ANCIENNE APPLICATION 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 +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 +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 Largeur et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 402 + +Partie 3 › Fenêtre WINDEV › FEN_MobileInscription › Code +FEN_MobileInscription +Code +Déclarations globales de FEN_MobileInscription +procédure MaFenêtre(sCleMobile est une chaîne) +gbAncienQR est un booléen +sQR est une chaîne ANSI +gbufChaine est un Buffer +gbufCleHexa est un Buffer +saCleEnClair est une chaîne ANSI = "QR" + Mdp3+Mdp1 + NumériqueVersChaîne( 1/7*1000,"2.5f") +//Construction du message transmis dans le QRCODE +stQR est un ST_MOB_QRCODE +stQR.saCodeClient=gsCodeClient +stQR.saNumLicence=sCleMobile +si EnModeTest() alors +//stQR.saURLLicence = " +https://intervenir.fr/BATIK_WS_LICENCE_MOBILE_WEB/awws/BATIK_WS_LICENCE_MOBILE.awws" +stQR.saURLLicence=cURLWSLicence +sinon +stQR.saURLLicence=ParametreSystemeLit("SRV_LICENCE",cURLWSLicence) +fin +Sérialise(stQR,gbufChaine,psdJSON) +EncodeNouveauQRCode() +Fin d'initialisation de FEN_MobileInscription +CBA_QRCODE=sQR +FEN_MobileInscription +Code des champs +Clic sur BTN_Fermer_Liste_Role +Ferme(MaFenêtre) +Double clic sur CBA_QRCODE +si gbAncienQR=Faux alors +CBA_QRCODE = EncodeAncienQRCode() +gbAncienQR = Vrai +sinon +CBA_QRCODE = EncodeNouveauQRCode() +gbAncienQR = Faux +06/08/2026 Isis_BO 403 + +Partie 3 › Fenêtre WINDEV › FEN_MobileInscription › Code des champs +fin +LIB_Scannez_ce_code_avec1..Visible = gbAncienQR +FEN_MobileInscription +Procédures +Procédure locale EncodeAncienQRCode +// Résumé : +// Syntaxe : +//[ = ] EncodeAncienQRCode () +// +// Paramètres : +// Aucun +// Valeur de retour : +// variant : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure EncodeAncienQRCode() +saMdp est une chaîne ANSI = "QR" + Mdp3+Mdp1 + NumériqueVersChaîne( 1/7*1000,"2.5f") +bufCle est un Buffer=HashChaîne(HA_HMAC_MD5_128, saMdp,"0") +bufRES est un Buffer = CrypteStandard(gbufChaine,bufCle,crypteAES128,crypteCBC,cryptePaddingPKCS) +renvoyer UUEncode(bufRES) +Procédure locale EncodeNouveauQRCode +// Résumé : +// Syntaxe : +//[ = ] EncodeNouveauQRCode () +// +// Paramètres : +// Aucun +// Valeur de retour : +// chaîne ANSI : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure EncodeNouveauQRCode() +gbufCleHexa=BufferVersHexa(HashChaîne(HA_HMAC_SHA_256, saCleEnClair,"0"),SansRegroupement,SansLigne)[[à +32]] +sQR=Remplace(Encode(CrypteStandard(ChaîneVersUTF8(gbufChaine),gbufCleHexa,crypteAES256,crypteCBC, +cryptePaddingPKCS)),RC,"") +renvoyer sQR +06/08/2026 Isis_BO 404 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleEtat_Intervention › Image +FEN_Choix_ModeleEtat_Intervention +Image +FEN_Choix_ModeleEtat_Intervention +Informations générales +FEN_Choix_ModeleEtat_Intervention +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Choix_ModeleEtat_Intervention.wdw +| Créé par | | FBO | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 10/04/2019 11:16:36 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:23 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 257 Hauteur | 320 | +| 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. +| 06/08/2026 | | | Isis_BO | | 405 | +| ---------- | --- | --- | ------- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleEtat_Intervention › Informations générales +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre Simple (non redimensionnable) +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Statistiques de la fenêtre +Libellé 2 Bouton 2 +Interrupteur 1 Table 1 +Option d'interrupteur 1 Colonne de table 4 +Rupture de zone répétée 2 Disposition 2 +Cellule de disposition 4 +06/08/2026 Isis_BO 406 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleEtat_Intervention › Informations générales +Nombre d'éléments dans la fenêtre : 19 +FEN_Choix_ModeleEtat_Intervention +Informations sur les champs +Fenêtre : FEN_Choix_ModeleEtat_Intervention +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Titre_ModeleEtat | | 7 6 | 176 | 21 | 0 | Actif | Gauche | Centre | | +| -------------------- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | +Bouton +notuob epyT +| | | | | | | | laitini tatE | BAT ehcuoT | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | --- | +| | | X noitisoP | Y noitisoP | | | | | | | +| | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Fermer_Liste_modele | | 213 | 4 | 24 | 24 | 0 | Actif | | Abandon | +| ------------------------ | --- | --- | --- | --- | --- | --- | ----- | --- | ------- | +| BTN_Valider_Liste_modele | | 183 | 4 | 24 | 24 | 0 | Actif | | Normal | +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +lennoitroporp .csA +.loc .gifnoc .oméM +| | | | | | | )(ertliFH resilitU | | ruesnecsa elluB EERTNE noitseG | eércna ennoloC | +| --- | --- | --- | --- | --- | --- | ------------------ | -------------- | ------------------------------ | -------------- | +| | | | | | | .gerne egacolB | noitcelésitluM | edacsac eisiaS | 5.5 elbitapmoC | +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | | +| --- | --------------------- | ------- | ------- | ------------ | -------- | --- | --- | --- | --- | +| | | ruetuaH | | | sruocraP | | | | | +| | | ruegraL | elbisiV | | | | | | | +elbaT +nalP +| TABLE_MODELE_ETAT | 0 0 | 255 286 | 0 affichag | | Variable | | | | 2 | +| ----------------- | --- | ------- | ---------- | ------- | -------- | --- | --- | --- | --- | +| 06/08/2026 | | | | Isis_BO | | | | | 407 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleEtat_Intervention › Informations sur les champs +Disposition +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +DISP_BANDEAU_ENTETE_LISTE_EQUIPE_COL +| | | 0 | 0 | 255 | 33 | | 0 | Actif | | +| ------------------------ | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| DISP_CHOIX_EQUIPE_COLLAB | | 0 | 0 | 255 | 318 | | 0 | Actif | | +Table : DISP_CHOIX_EQUIPE_COLLAB.TABLE_MODELE_ETAT +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Titre | 23 | 4 | 175 18 | | 0 Actif | | Gauche | Haut | | +| --------- | --- | --- | ------ | --- | ------- | --- | ------ | ---- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | ---------- | ---------- | --------------- | --- | --- | ------------ | --- | --- | ----------- | +| | | | ruegraL ruetuaH | | | | | | | +elbisiV +nalP +| INT_TITRE_RUPTURE | 21 | 5 | 19 | 16 | 0 | Actif | | 1 | | +| ----------------- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | +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_M_bSelection | 25 | Actif | | | Centre | Centre | | | | +| COL_M_sLibelle | 225 | Actif | | | Gauche | Centre | Texte | | | +Numériq +| COL_M_nPKID | 162 | Actif | | | Droite | Centre | | | | +| ---------------------- | --- | ----- | ------- | --- | ------ | ------ | ----- | --- | --- | +| COL_DonneLibCleLiaison | 99 | Actif | | | Gauche | Centre | Texte | | | +| 06/08/2026 | | | Isis_BO | | | | | | 408 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleEtat_Intervention › Informations sur les champs +Rupture de zone répétée +06/08/2026 Isis_BO 409 +X +noitisoP +Y +noitisoP ruegraL ruetuaH +nalP +elbisiV +laitini +tatE +BAT +ehcuoT +RUPT_BasRupture1 +RUPT_HautRupture1 +Fenêtre : FEN_Choix_ModeleEtat_Intervention +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleEtat_Intervention › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 410 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleEtat_Intervention › Informations sur les champs +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : DISP_CHOIX_EQUIPE_COLLAB +Libellé FR: Disposition +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 +Cellule ancrée 2 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +06/08/2026 Isis_BO 411 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleEtat_Intervention › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Titre +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : DISP_CHOIX_EQUIPE_COLLAB.TABLE_MODELE_ETAT +Libellé FR: Table m_clTabVisible +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre +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 +06/08/2026 Isis_BO 412 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleEtat_Intervention › Informations sur les champs +Hauteur ligne (sans marges) 16 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationListeModele.m_clTabVisible +Rub. mémorisée :gclPresentationListeModele.m_clTabVisible +Ajout/Suppr. dans variable Non +Synchro HFSQL C/S Jamais +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 413 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleEtat_Intervention › Informations sur les champs +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 : DISP_CHOIX_EQUIPE_COLLAB.TABLE_MODELE_ETAT +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 3 +Interrupteur : +Valeur initiale 0 +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +06/08/2026 Isis_BO 414 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleEtat_Intervention › Informations sur les champs +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Titre de rupture +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 +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 +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 +Liaison des données :gclPresentationListeModele.m_clTabVisible.DonneLibCleLiaison +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 415 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleEtat_Intervention › Informations sur les champs +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 3 +Colonne de table : +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Oui +Retour à la ligne Non +Coche tous dans entête Oui +Liaison des données :gclPresentationListeModele.m_clTabVisible.m_bSelection +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : DISP_CHOIX_EQUIPE_COLLAB.TABLE_MODELE_ETAT.COL_M_sLibelle +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 +06/08/2026 Isis_BO 416 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleEtat_Intervention › Informations sur les champs +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 Oui +Liaison des données :gclPresentationListeModele.m_clTabVisible.m_sLibelle +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : DISP_CHOIX_EQUIPE_COLLAB.TABLE_MODELE_ETAT.COL_M_nPKID +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: +9 999 999 999 999 999 999 +Mode ellipse +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 Oui +Liaison des données :gclPresentationListeModele.m_clTabVisible.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 417 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleEtat_Intervention › Informations sur les champs +Colonne de table : +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 +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 Oui +Liaison des données :gclPresentationListeModele.m_clTabVisible.DonneLibCleLiaison +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FEN_Choix_ModeleEtat_Intervention +Code +Déclarations globales de FEN_Choix_ModeleEtat_Intervention +procédure FEN_Choix_ModeleEtat_Intervention(gclPresentationListeModele est un PTableParametreMetier +dynamique=Null,paramSupplementaire est un STParamFenetreAppelante=Null) +LIB_Titre_ModeleEtat = paramSupplementaire.eTypeAppel=Libre ? "Modèle d'état" sinon paramSupplementaire +.sTitreFenetre<>"" ? paramSupplementaire.sTitreFenetre sinon "Modèle d'état" +local +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentationListeModele=Null alors +// SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.sNomIDAppelant<>"" ALORS +// SELON paramSupplementaire.sNomIDAppelant +06/08/2026 Isis_BO 418 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleEtat_Intervention › Code +// +CAS "InterventionClientPersonne": gclPresentationListeModele<- +DonneRoleContactClient()//"ContactClient", +// +// CAS "ContactSite","ModifIntervLieuPersonne","AddIntervLieuPersonne" +// gclPresentationListeModele<- DonneRoleContactLieu() +// +// AUTRE CAS +: gclPresentationListeModele<- gpclListeRoleContact +// +// FIN +// +SI paramSupplementaire.pclObjetAppelant<>Null _ET_ +gclPresentationListeModele:m_clTabModele..Occurrence>0 _ET_ paramSupplementaire.nIdFenetreAppelante>0 +ALORS +// +nIndice est un entier = TableauCherche( +gclPresentationListeModele:m_clTabModele,tcLinéaire,"m_nPKID",paramSupplementaire.nIdFenetreAppelante,1 +) +// SI nIndice>0 ALORS +// gclPresentationListeModele:m_clTabModele[nIndice]:m_bSelection = Vrai +// FIN +// FIN +// SINON +selon paramSupplementaire.sNomIDAppelant +cas "InterventionRendezVous": gclPresentationListeModele<- gpclListeModelEtatIntervRdv +cas "InterventionLibre" : gclPresentationListeModele<- gpclListeModelEtatInterv +fin +// FIN +fin +Demande de mise à jour de l'affichage de FEN_Choix_ModeleEtat_Intervention +si gclPresentationListeModele<>Null _et_ gclPresentationListeModele est PTableParametreMetier +// mise à jour des champs bindés sur la présentation (compteur par exemple) +SourceVersEcran("","gclPresentationListeModele") +//MAJ du champ TABLE et de l'objet Liste CLient +MAJChampTableEtObjet(TABLE_MODELE_ETAT,gclPresentationListeModele.p_clCourant) +fin +FEN_Choix_ModeleEtat_Intervention +Code des champs +Clic sur BTN_Fermer_Liste_modele +si gclPresentationListeModele<>Null alors +pour i = 1 _à_ gclPresentationListeModele.p_nTotal +gclPresentationListeModele:m_clTabModele[i]:m_bSelection=Faux +fin +06/08/2026 Isis_BO 419 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleEtat_Intervention › Code des champs +fin +Ferme(MaFenêtre) +Clic sur BTN_Valider_Liste_modele +si paramSupplementaire.eTypeAppel<>Libre alors +AppelProcFenetreAppelante(gclPresentationListeModele,paramSupplementaire,Vrai,Vrai) +sinon +Ferme() +fin +Sortie d'une ligne de TABLE_MODELE_ETAT +// si la table n'a pas été modifiée, il ne faut rien faire +si TABLE_MODELE_ETAT..Modifié=Faux alors +retour +fin +pclPresentationFiche est un PFichePersonne dynamique +// ajout d'une nouvelle ligne +si TABLE_MODELE_ETAT..Nouveau alors +pclPresentationFiche<-gclPresentationListeModele.Nouveau() +// modification d'une ligne existante +sinon +pclPresentationFiche<-gclPresentationListeModele.Modifier() +fin +// sauvegarde de la table +TableEnregistre(TABLE_MODELE_ETAT,pclPresentationFiche) +// repasse la table en non modifiée +TABLE_MODELE_ETAT..Modifié=Faux +Sélection d'une ligne de TABLE_MODELE_ETAT +si TABLE_MODELE_ETAT..Nouveau alors +gclPresentationListeModele.p_clCourant=Null +sinon +gclPresentationListeModele.p_clCourant=TABLE_MODELE_ETAT +ExécuteTraitement(BTN_Valider_Liste_modele,trtClic) +fin +A chaque modification de INT_TITRE_RUPTURE ( TABLE_MODELE_ETAT ) +sCateg est une chaîne = TABLE_MODELE_ETAT.COL_DonneLibCleLiaison +si MoiMême[1]=1 alors +pour tout ligne de TABLE_MODELE_ETAT +si TABLE_MODELE_ETAT.COL_DonneLibCleLiaison=sCateg alors +TABLE_MODELE_ETAT.COL_M_bSelection=1 +fin +fin +sinon +pour tout ligne de TABLE_MODELE_ETAT +si TABLE_MODELE_ETAT.COL_DonneLibCleLiaison=sCateg alors +TABLE_MODELE_ETAT.COL_M_bSelection=0 +fin +fin +06/08/2026 Isis_BO 420 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleEtat_Intervention › Code des champs +fin +| 06/08/2026 | Isis_BO | 421 | +| ---------- | ------- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleRapport_Intervention › Image +FEN_Choix_ModeleRapport_Intervention +Image +FEN_Choix_ModeleRapport_Intervention +Informations générales +FEN_Choix_ModeleRapport_Interven +tion +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Choix_ModeleRapport_Intervention.wdw +| Créé par | | FBO | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 10/04/2019 11:16:36 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:23 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 257 Hauteur | 320 | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 422 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleRapport_Intervention › Informations générales +Ctx. HFSQL indép. +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre Simple (non redimensionnable) +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +06/08/2026 Isis_BO 423 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleRapport_Intervention › Informations générales +Statistiques de la fenêtre +| | Libellé | | 2 | Bouton | | | | 3 | +| --- | ----------------------- | --- | --- | ---------------- | --- | --- | --- | --- | +| | Interrupteur | | 1 | Table | | | | 1 | +| | Option d'interrupteur | | 1 | Colonne de table | | | | 4 | +| | Rupture de zone répétée | | 2 | Disposition | | | | 2 | +| | Cellule de disposition | | 4 | | | | | | +Nombre d'éléments dans la fenêtre : 20 +FEN_Choix_ModeleRapport_Intervention +Informations sur les champs +Fenêtre : FEN_Choix_ModeleRapport_Intervention +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | --- | +| | | | | | laitini tatE | | FTR tamroF | | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Titre_ModeleEtat | | 7 6 | 176 21 | 0 | Actif | Gauche | Centre | | +| -------------------- | --- | --- | ------ | --- | ----- | ------ | ------ | --- | +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | --- | +| | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_ADD_MODELE_RAPPORT | | 159 | 4 24 | 24 | 0 | Actif | Normal | | +| ------------------------ | --- | --- | ------- | --- | --- | ----- | ------ | --- | +| BTN_Fermer_Liste_modele | | 219 | 4 24 | 24 | 0 | Actif | Normal | | +| BTN_Valider_Liste_modele | | 189 | 4 24 | 24 | 0 | Actif | Normal | | +| 06/08/2026 | | | Isis_BO | | | | | 424 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleRapport_Intervention › Informations sur les champs +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 | | | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | | | +ruegraL +elbisiV +| | | | nalP | | elbaT | | | | | | | +| ----------------- | --- | --------- | ---- | -------- | -------- | --- | --- | --- | --- | --- | --- | +| TABLE_MODELE_ETAT | 0 | 0 255 286 | 0 | affichag | Variable | | | | | | 2 | +Disposition +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | --- | ------- | --- | --- | +nalP +DISP_BANDEAU_ENTETE_LISTE_EQUIPE_COL +| | | | 0 | 0 | 255 | | 33 | 0 | | Actif | | +| ------------------------ | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| DISP_CHOIX_EQUIPE_COLLAB | | | 0 | 0 | 255 | | 318 | 0 | | Actif | | +Table : DISP_CHOIX_EQUIPE_COLLAB.TABLE_MODELE_ETAT +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | | | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Titre | | 23 | 4 | 175 18 | | 0 | Actif | Gauche | | Haut | | +| --------- | --- | --- | --- | ------ | --- | --- | ----- | ------ | --- | ---- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | | | | BAT ehcuoT | | staté siorT | +| --- | --- | ---------- | ---------- | --------------- | --- | --- | --- | ------------ | ---------- | --- | ----------- | +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | +| | | | | ruegraL ruetuaH | | | | | | | | +elbisiV +nalP +| INT_TITRE_RUPTURE | | 21 | 5 | 19 | 16 | 0 | Actif | | | | 1 | +| ----------------- | --- | --- | --- | ------- | --- | --- | ----- | --- | --- | --- | --- | +| 06/08/2026 | | | | Isis_BO | | | | | | | 425 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleRapport_Intervention › Informations sur les champs +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | elbairt ennoloC | ehcrehcer cevA | | | +| --- | --- | -------------- | --------------- | --------------------------- | ---------------------- | ----------- | +| | | ehcuag à eéxiF | | .zroh egardaC .trev egardaC | | | +| | | laitini tatE | elbaçalpéD | | eisias epyT FTR tamroF | eisias cevA | +engilitluM +ruegraL +elbisiV +| epyT | | | | | | eéirT | +| ---------------------- | --- | ----- | --- | ------------- | ------- | ----- | +| COL_M_bSelection | 25 | Actif | | Centre Centre | | | +| COL_M_sLibelle | 225 | Actif | | Gauche Centre | Texte | | +| COL_M_nPKID | 162 | Actif | | Droite Centre | Numériq | | +| COL_DonneLibCleLiaison | 99 | Actif | | Gauche Centre | Texte | | +Rupture de zone répétée +BAT ehcuoT +| | | X noitisoP | | | laitini tatE | | +| --- | --- | ---------- | --- | --- | ------------ | --- | +Y noitisoP +| | | | ruegraL | ruetuaH | | | +| --- | --- | --- | ------- | ------- | --- | --- | +elbisiV +nalP +RUPT_BasRupture1 +RUPT_HautRupture1 +Fenêtre : FEN_Choix_ModeleRapport_Intervention +Bouton : +| Groupe | GR_MODEOPAQUE_FICHE_INTERVENTION | | | | | | +| -------------------------------- | ----------------------------------- | --- | ------- | --- | --- | --- | +| Ordre navigation | -1 | | | | | | +| 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 | | | | | | | +| Retrait gauche | 2 | | | | | | +| 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 | | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +| 06/08/2026 | | | Isis_BO | | | 426 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleRapport_Intervention › Informations sur les champs +Facteur d'agrandissement 0 +Type flèche +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 : +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +06/08/2026 Isis_BO 427 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleRapport_Intervention › Informations sur les champs +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 : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 428 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleRapport_Intervention › Informations sur les champs +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : DISP_CHOIX_EQUIPE_COLLAB +Libellé FR: Disposition +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 +Cellule ancrée 2 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +06/08/2026 Isis_BO 429 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleRapport_Intervention › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Titre +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : DISP_CHOIX_EQUIPE_COLLAB.TABLE_MODELE_ETAT +Libellé FR: Table m_clTabVisible +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre +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 +06/08/2026 Isis_BO 430 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleRapport_Intervention › Informations sur les champs +Hauteur ligne (sans marges) 16 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationListeModele.m_clTabVisible +Rub. mémorisée :gclPresentationListeModele.m_clTabVisible +Ajout/Suppr. dans variable Non +Synchro HFSQL C/S Jamais +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 431 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleRapport_Intervention › Informations sur les champs +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 : DISP_CHOIX_EQUIPE_COLLAB.TABLE_MODELE_ETAT +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 3 +Interrupteur : +Valeur initiale 0 +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +06/08/2026 Isis_BO 432 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleRapport_Intervention › Informations sur les champs +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Titre de rupture +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 +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 +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 +Liaison des données :gclPresentationListeModele.m_clTabVisible.DonneLibCleLiaison +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 433 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleRapport_Intervention › Informations sur les champs +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 3 +Colonne de table : +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Oui +Retour à la ligne Non +Coche tous dans entête Oui +Liaison des données :gclPresentationListeModele.m_clTabVisible.m_bSelection +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : DISP_CHOIX_EQUIPE_COLLAB.TABLE_MODELE_ETAT.COL_M_sLibelle +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 +06/08/2026 Isis_BO 434 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleRapport_Intervention › Informations sur les champs +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 Oui +Liaison des données :gclPresentationListeModele.m_clTabVisible.m_sLibelle +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : DISP_CHOIX_EQUIPE_COLLAB.TABLE_MODELE_ETAT.COL_M_nPKID +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: +9 999 999 999 999 999 999 +Mode ellipse +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 Oui +Liaison des données :gclPresentationListeModele.m_clTabVisible.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 435 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleRapport_Intervention › Informations sur les champs +Colonne de table : +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 +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 Oui +Liaison des données :gclPresentationListeModele.m_clTabVisible.DonneLibCleLiaison +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FEN_Choix_ModeleRapport_Intervention +Code +Déclarations globales de FEN_Choix_ModeleRapport_Intervention +procédure FEN_Choix_ModeleRapport_Intervention(gclPresentationListeModele est un PTableParametreMetier +dynamique=Null,paramSupplementaire est un STParamFenetreAppelante=Null) +LIB_Titre_ModeleEtat = paramSupplementaire.eTypeAppel=Libre ? "Modèle de rapport" sinon +paramSupplementaire.sTitreFenetre<>"" ? paramSupplementaire.sTitreFenetre sinon "Modèle de rapport" +local +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentationListeModele=Null alors +gclPresentationListeModele<- gpclListeModelRapportInterv +06/08/2026 Isis_BO 436 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleRapport_Intervention › Code +fin +Demande de mise à jour de l'affichage de FEN_Choix_ModeleRapport_Intervention +si gclPresentationListeModele<>Null _et_ gclPresentationListeModele est PTableParametreMetier +// mise à jour des champs bindés sur la présentation (compteur par exemple) +SourceVersEcran("","gclPresentationListeModele") +//MAJ du champ TABLE et de l'objet Liste CLient +MAJChampTableEtObjet(TABLE_MODELE_ETAT,gclPresentationListeModele.p_clCourant) +fin +FEN_Choix_ModeleRapport_Intervention +Code des champs +Clic sur BTN_ADD_MODELE_RAPPORT +//D_FIC_INTERV..Visible=Faux +si pas fRepExiste(gpclListeParamAppli:m_clTabModele["CHEMIN_REPERTOIRE_MODELE_RAPPORT"]:m_sValeur) +alors +Erreur("Le répertoire des modèles de rapport n'a pas été défini") +retour +sinon +paramSupplementaire.sContexteAppelant = MoiMême..Nom +si paramSupplementaire.eTypeAppel<>Libre alors +AppelProcFenetreAppelante(gclPresentationListeModele,paramSupplementaire,Faux,Vrai) +fin +Ferme(MaFenêtre) +fin +//D_FIC_INTERV..Visible=vrai +Clic sur BTN_Fermer_Liste_modele +pour i = 1 _à_ gclPresentationListeModele.p_nTotal +gclPresentationListeModele:m_clTabModele[i]:m_bSelection=Faux +fin +Ferme(MaFenêtre) +Clic sur BTN_Valider_Liste_modele +si paramSupplementaire.eTypeAppel<>Libre alors +AppelProcFenetreAppelante(gclPresentationListeModele,paramSupplementaire,Vrai,Vrai) +fin +Ferme(MaFenêtre) +Sortie d'une ligne de TABLE_MODELE_ETAT +06/08/2026 Isis_BO 437 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleRapport_Intervention › Code des champs +// si la table n'a pas été modifiée, il ne faut rien faire +si TABLE_MODELE_ETAT..Modifié=Faux alors +retour +fin +pclPresentationFiche est un PFichePersonne dynamique +// ajout d'une nouvelle ligne +si TABLE_MODELE_ETAT..Nouveau alors +pclPresentationFiche<-gclPresentationListeModele.Nouveau() +// modification d'une ligne existante +sinon +pclPresentationFiche<-gclPresentationListeModele.Modifier() +fin +// sauvegarde de la table +TableEnregistre(TABLE_MODELE_ETAT,pclPresentationFiche) +// repasse la table en non modifiée +TABLE_MODELE_ETAT..Modifié=Faux +Sélection d'une ligne de TABLE_MODELE_ETAT +si TABLE_MODELE_ETAT..Nouveau alors +gclPresentationListeModele.p_clCourant=Null +sinon +gclPresentationListeModele.p_clCourant=TABLE_MODELE_ETAT +ExécuteTraitement(BTN_Valider_Liste_modele,trtClic) +fin +A chaque modification de INT_TITRE_RUPTURE ( TABLE_MODELE_ETAT ) +sCateg est une chaîne = TABLE_MODELE_ETAT.COL_DonneLibCleLiaison +si MoiMême[1]=1 alors +pour tout ligne de TABLE_MODELE_ETAT +si TABLE_MODELE_ETAT.COL_DonneLibCleLiaison=sCateg alors +TABLE_MODELE_ETAT.COL_M_bSelection=1 +fin +fin +sinon +pour tout ligne de TABLE_MODELE_ETAT +si TABLE_MODELE_ETAT.COL_DonneLibCleLiaison=sCateg alors +TABLE_MODELE_ETAT.COL_M_bSelection=0 +fin +fin +fin +06/08/2026 Isis_BO 438 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Resultat_Recherche › Image +FEN_Choix_Resultat_Recherche +Image +FEN_Choix_Resultat_Recherche +Informations générales +FEN_Choix_Resultat_Recherche +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Choix_Resultat_Recherche.wdw +| Créé par | | FBO | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 10/04/2019 11:16:36 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:22 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 257 Hauteur | 320 | +| 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. +| 06/08/2026 | | | Isis_BO | | 439 | +| ---------- | --- | --- | ------- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Resultat_Recherche › Informations générales +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Non +Type cadre Double +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Statistiques de la fenêtre +Libellé 2 Bouton 2 +Interrupteur 1 Table 1 +Option d'interrupteur 1 Colonne de table 4 +Rupture de zone répétée 2 Disposition 2 +Cellule de disposition 4 +06/08/2026 Isis_BO 440 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Resultat_Recherche › Informations générales +Nombre d'éléments dans la fenêtre : 19 +FEN_Choix_Resultat_Recherche +Informations sur les champs +Fenêtre : FEN_Choix_Resultat_Recherche +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC .trev egardaC | | +| --- | --- | --- | --- | --- | --------------------------- | --- | +FTR tamroF +| | X noitisoP | Y noitisoP | | laitini tatE | | | +| --- | ---------- | ---------- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +LIB_Titre_de_fenêtre_ResultRech 7 6 176 21 0 Actif Gauche Centre +Bouton +notuob epyT +| | | | | | laitini tatE BAT ehcuoT | | +| --- | --- | --- | --- | --- | ----------------------- | --- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Fermer_Resultat_Recherche | | 213 | 4 24 24 | 0 | Actif | Abandon | +| ----------------------------- | --- | --- | ------- | --- | ----- | ------- | +| BTN_Valider_Result_Recherche | | 183 | 4 24 24 | 0 | Actif | Normal | +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +lennoitroporp .csA +.loc .gifnoc .oméM +| | | | | )(ertliFH resilitU | ruesnecsa elluB EERTNE noitseG | eércna ennoloC | +| --- | --- | --- | --- | ----------------------------- | ------------------------------ | -------------- | +| | | | | .gerne egacolB noitcelésitluM | edacsac eisiaS | 5.5 elbitapmoC | +BAT ehcuoT +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --------------------- | ------- | ------------ | -------- | --- | --- | +| | | ruetuaH | | sruocraP | | | +| | ruegraL | | elbisiV | | | | +elbaT +nalP +TABLE_RESULTAT_RE Mémoir +| | 0 0 255 | 286 0 | affichag | | | 2 | +| ---------- | ------- | ----- | -------- | --- | --- | --- | +| 06/08/2026 | | | Isis_BO | | | 441 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Resultat_Recherche › Informations sur les champs +Disposition +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +DISP_BANDEAU_ENTETE_LISTE_EQUIPE_COL +| | | 0 | 0 | 255 | 33 | | 0 | Actif | | +| ----------------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| DISP_CHOIX_RESULTAT_RECHERCHE | | 0 | 0 | 255 | 318 | | 0 | Actif | | +Table : DISP_CHOIX_RESULTAT_RECHERCHE.TABLE_RESULTAT_RECHERCHE +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Titre | 46 | 4 | 186 18 | | 0 Actif | | Gauche | Haut | | +| --------- | --- | --- | ------ | --- | ------- | --- | ------ | ---- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | ---------- | ---------- | --------------- | --- | --- | ------------ | --- | --- | ----------- | +| | | | ruegraL ruetuaH | | | | | | | +elbisiV +nalP +| INT_TITRE_RUPTURE | 21 | 5 | 19 | 16 | 0 | Actif | | 1 | | +| ----------------- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | +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_bSelection | 25 | Actif | | | Centre | Centre | | | | +| COL_sLibelle | 238 | Actif | | | Gauche | Centre | Texte | | | +Numériq +| COL_nPKID | 162 | Actif | | | Droite | Centre | | | | +| ------------ | --- | ----- | ------- | --- | ------ | ------ | ----- | --- | --- | +| COL_sRupture | 99 | Actif | | | Gauche | Centre | Texte | | | +| 06/08/2026 | | | Isis_BO | | | | | | 442 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Resultat_Recherche › Informations sur les champs +Rupture de zone répétée +06/08/2026 Isis_BO 443 +X +noitisoP +Y +noitisoP ruegraL ruetuaH +nalP +elbisiV +laitini +tatE +BAT +ehcuoT +RUPT_BasRupture1 +RUPT_HautRupture1 +Fenêtre : FEN_Choix_Resultat_Recherche +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Resultat_Recherche › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 444 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Resultat_Recherche › Informations sur les champs +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : DISP_CHOIX_RESULTAT_RECHERCHE +Libellé FR: Disposition +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 +Cellule ancrée 2 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +06/08/2026 Isis_BO 445 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Resultat_Recherche › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Titre +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : DISP_CHOIX_RESULTAT_RECHERCHE.TABLE_RESULTAT_RECHERCHE +Libellé FR: Table m_clTabVisible +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre +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 +06/08/2026 Isis_BO 446 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Resultat_Recherche › Informations sur les champs +Hauteur ligne (sans marges) 16 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Rub. mémorisée :gclPresentationListeRole.m_clTabVisible +Ajout/Suppr. dans variable Non +Synchro HFSQL C/S Jamais +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 447 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Resultat_Recherche › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : DISP_CHOIX_RESULTAT_RECHERCHE.TABLE_RESULTAT_RECHERCHE +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 3 +Interrupteur : +Valeur initiale 0 +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +06/08/2026 Isis_BO 448 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Resultat_Recherche › Informations sur les champs +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 449 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Resultat_Recherche › Informations sur les champs +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 3 +Colonne de table : +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Oui +Retour à la ligne Non +Coche tous dans entête Oui +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +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 +06/08/2026 Isis_BO 450 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Resultat_Recherche › Informations sur les champs +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 Oui +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +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: +9 999 999 999 999 999 999 +Mode ellipse +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 Oui +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 451 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Resultat_Recherche › Informations sur les champs +Colonne de table : +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 +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 Oui +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FEN_Choix_Resultat_Recherche +Code +Déclarations globales de FEN_Choix_Resultat_Recherche +procédure FEN_Choix_Resultat_Recherche(gclPresentation est un objet dynamique=Null, +paramSupplementaire est un STParamFenetreAppelante=Null,*) +LIB_Titre_de_fenêtre_ResultRech = paramSupplementaire<>Null _et_ paramSupplementaire.sTitreFenetre<>"" +? paramSupplementaire.sTitreFenetre sinon "Résultat" +local +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentation=Null alors +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.sNomIDAppelant<>"" alors +// +SI paramSupplementaire.pclObjetAppelant<>Null _ET_ gclPresentation:m_clTabModele..Occurrence>0 +_ET_ paramSupplementaire.nIdFenetreAppelante>0 ALORS +06/08/2026 Isis_BO 452 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Resultat_Recherche › Code +// +nIndice est un entier = TableauCherche( +gclPresentation:m_clTabModele,tcLinéaire,"m_nPKID",paramSupplementaire.nIdFenetreAppelante,1) +// SI nIndice>0 ALORS +// gclPresentation:m_clTabModele[nIndice]:m_bSelection = Vrai +// FIN +// FIN +fin +sinon si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.sNomIDAppelant<>"" alors +selon paramSupplementaire.sNomIDAppelant +cas "InterventionContactSite": +DISP_CHOIX_RESULTAT_RECHERCHE[1]..Visible=Faux +pour i = 1 _à_ gclPresentation:m_clTabModele..Occurrence +sRupture est une chaîne = gclPresentation:m_clTabModele[i]:LibRole +TableAjouteLigne(TABLE_RESULTAT_RECHERCHE,Faux,gclPresentation:m_clTabModele[i]: +NomPrenom,gclPresentation:m_clTabModele[i]:m_nPKID,sRupture) +TABLE_RESULTAT_RECHERCHE[i].LIB_Titre..Valeur = sRupture +fin +TableTrie(TABLE_RESULTAT_RECHERCHE,COL_sRupture..Nom) +si MesParamètres..Occurrence>=4 alors +FenTaille(MaFenêtre ,MesParamètres[3],MesParamètres[4]) +fin +cas "InterventionSite": +DISP_CHOIX_RESULTAT_RECHERCHE[1]..Visible=Faux +//nCptEnreg est un entier +// +// TableauTrie(gclPresentation:m_clTabModele,ttMembre,"m_clAdresse:m_sVille") +pour i = 1 _à_ gclPresentation:m_clTabModele..Occurrence +sRupture est une chaîne = SansEspace(Majuscule(gclPresentation:m_clTabModele[i]: +m_clAdresse:m_sVille)) +// nCptEnreg+=1 +// SI nCptEnreg=1 ALORS +// +// SI TableColonnesTriées(TABLE_RESULTAT_RECHERCHE)="" ALORS +// +TableTrie(TABLE_RESULTAT_RECHERCHE,TABLE_RESULTAT_RECHERCHE.COL_sRupture..Nom) +// FIN +// FIN +TableAjouteLigne(TABLE_RESULTAT_RECHERCHE,Faux,gclPresentation:m_clTabModele[i]: +m_sCodeLieu,gclPresentation:m_clTabModele[i]:m_nPKID,sRupture) +TABLE_RESULTAT_RECHERCHE[i].LIB_Titre..Valeur = sRupture +fin +TableTrie(TABLE_RESULTAT_RECHERCHE,COL_sRupture..Nom) +TableAffiche(TABLE_RESULTAT_RECHERCHE,taDébut) +si MesParamètres..Occurrence>=4 alors +FenTaille(MaFenêtre ,MesParamètres[3],MesParamètres[4]) +fin +fin +fin +Fin d'initialisation de FEN_Choix_Resultat_Recherche +//TableTrie(TABLE_RESULTAT_RECHERCHE,COL_sRupture..Nom) +Fermeture de FEN_Choix_Resultat_Recherche +06/08/2026 Isis_BO 453 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Resultat_Recherche › Code +si MaFenêtre..ValeurRenvoyée<>1 alors +MaFenêtre..ValeurRenvoyée=0 +fin +FEN_Choix_Resultat_Recherche +Code des champs +Clic sur BTN_Fermer_Resultat_Recherche +pour i = 1 _à_ gclPresentation.p_nTotal +gclPresentation:m_clTabModele[i]:m_bSelection=Faux +fin +Ferme(MaFenêtre,0) +Clic sur BTN_Valider_Result_Recherche +si paramSupplementaire.eTypeAppel<>Libre alors +AppelProcFenetreAppelante(gclPresentation,paramSupplementaire,Vrai,Vrai) +fin +Ferme(MaFenêtre,1) +Sortie d'une ligne de TABLE_RESULTAT_RECHERCHE +//// si la table n'a pas été modifiée, il ne faut rien faire +//SI TABLE_RESULTAT_RECHERCHE..Modifié=Faux ALORS +// RETOUR +//FIN +// +//pclPresentationFiche est un PFichePersonne dynamique +// +//// ajout d'une nouvelle ligne +//SI TABLE_RESULTAT_RECHERCHE..Nouveau ALORS +// pclPresentationFiche<-gclPresentation.Nouveau() +// // modification d'une ligne existante +//SINON +// pclPresentationFiche<-gclPresentation.Modifier() +//FIN +// +//// sauvegarde de la table +//TableEnregistre(TABLE_RESULTAT_RECHERCHE,pclPresentationFiche) +// +//// repasse la table en non modifiée +//TABLE_RESULTAT_RECHERCHE..Modifié=Faux +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_RESULTAT_RECHERCHE +nIndice est un entier = TableauCherche(gclPresentation:m_clTabModele,tcLinéaire,"m_nPKID",TABLE_ +RESULTAT_RECHERCHE.COL_nPKID,1) +si nIndice>0 alors +si paramSupplementaire:pclObjetAppelant <> Null _et_ paramSupplementaire.sNomIDAppelant = +"InterventionSite" alors +si paramSupplementaire:pclObjetAppelant:FicheClient <> Null _et_ paramSupplementaire:pcl +ObjetAppelant:FicheClient:ListeLieu <> Null alors +06/08/2026 Isis_BO 454 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Resultat_Recherche › Code des champs +nIndice2 est un entier = TableauCherche(paramSupplementaire:pclObjetAppelant:FicheClient: +ListeLieu:m_clTabModele,tcLinéaire,"m_nIDLieu",TABLE_RESULTAT_RECHERCHE.COL_nPKID,1) +si nIndice2<=0 alors +si OuiNon( +"Le site choisi n'est pas dans la liste des sites du client, souhaitez-vous continuer +? " +)= Oui alors +gclPresentation.p_clCourant=gclPresentation:m_clTabModele[nIndice] +ExécuteTraitement(BTN_Valider_Result_Recherche,trtClic) +fin +sinon +gclPresentation.p_clCourant=gclPresentation:m_clTabModele[nIndice] +ExécuteTraitement(BTN_Valider_Result_Recherche,trtClic) +fin +fin +sinon +gclPresentation.p_clCourant=gclPresentation:m_clTabModele[nIndice] +ExécuteTraitement(BTN_Valider_Result_Recherche,trtClic) +fin +fin +A chaque modification de INT_TITRE_RUPTURE ( TABLE_RESULTAT_RECHERCHE ) +sCateg est une chaîne = TABLE_RESULTAT_RECHERCHE.COL_sRupture +si MoiMême[1]=1 alors +pour tout ligne de TABLE_RESULTAT_RECHERCHE +si TABLE_RESULTAT_RECHERCHE.COL_sRupture=sCateg alors +TABLE_RESULTAT_RECHERCHE.COL_bSelection=1 +fin +fin +sinon +pour tout ligne de TABLE_RESULTAT_RECHERCHE +si TABLE_RESULTAT_RECHERCHE.COL_sRupture=sCateg alors +TABLE_RESULTAT_RECHERCHE.COL_bSelection=0 +fin +fin +fin +06/08/2026 Isis_BO 455 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe › Image +FEN_Choix_Societe +Image +FEN_Choix_Societe +Informations générales +FEN_Choix_Societe +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Choix_Societe.wdw +| Créé par | | XVA | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | --- | +| Date de création | | 15/11/2018 15:38:11 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:23 | | | | +| Titre | | FR: Choix Societe | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 323 | 324 | +| Position X | Position Y | | Largeur | Hauteur | | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 456 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe › Informations générales +Ctx. HFSQL indép. +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Non +Type cadre Double +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Image poignée D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +06/08/2026 Isis_BO 457 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe › Informations générales +Statistiques de la fenêtre +| | Libellé | | 3 | Bouton | | 2 | +| --- | ----------------------- | --- | --- | --------------------- | --- | --- | +| | Interrupteur | | 2 | Zone répétée | | 1 | +| | Attribut zone répétée | | 4 | Option d'interrupteur | | 2 | +| | Rupture de zone répétée | | 2 | Disposition | | 2 | +| | Cellule de disposition | | 6 | | | | +Nombre d'éléments dans la fenêtre : 24 +FEN_Choix_Societe +Informations sur les champs +Fenêtre : FEN_Choix_Societe +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC .trev egardaC | | +| --- | --- | --- | --- | ------------ | --------------------------- | ---------- | +| | | | | laitini tatE | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +LIB_Titre_de_fenêtre_Liste_Colla 7 6 197 21 0 Actif Gauche Centre +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Fermer_Choix_Societe | | 4 4 | 24 24 | 0 | Actif | Abandon | +| ------------------------- | --- | --- | ------- | --- | ----- | ------- | +| BTN_Valider_Choix_Societe | | 4 4 | 24 24 | 0 | Actif | Normal | +| 06/08/2026 | | | Isis_BO | | | 458 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe › Informations sur les champs +Zone répétée +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_Societe | | 0 | 0 | 317 | 285 | 0 | Actif | | +| ---------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Disposition +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | --- | ------- | --- | ------------ | --- | +| | | | ruegraL | | ruetuaH | | | | +elbisiV +nalP +DISP_BANDEAU_ENTETE_LISTE_EQUIPE_COL +| | | 0 | 0 | 317 | 33 | 0 | Actif | | +| ------------------ | --- | --- | --- | --- | --- | --- | ----- | --- | +| DISP_CHOIX_SOCIETE | | 0 | 0 | 317 | 318 | 0 | Actif | | +Zone répétée : DISP_CHOIX_SOCIETE.ZR_Societe +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_NomSociete | 43 | 2 245 | 20 | 0 | Actif | Gauche | Haut | | +| -------------- | --- | ----- | --- | --- | ----- | ------ | ---- | --- | +| LIB_Titre | 43 | 6 189 | 20 | 0 | Actif | Gauche | Haut | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | staté siorT | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | ----------- | +ruetuaH +ruegraL +elbisiV +nalP +| INT_SOCIETE | 20 | 4 | 19 16 | 0 | Actif | | 1 | | +| ------------------ | --- | --- | ------- | --- | ----- | --- | --- | --- | +| INT_TOUTES_SOCIETE | 20 | 7 | 19 16 | 0 | Actif | | 1 | | +| 06/08/2026 | | | Isis_BO | | | | | 459 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe › Informations sur les champs +Attribut zone répétée +06/08/2026 Isis_BO 460 +X +noitisoP +Y +noitisoP ruegraL ruetuaH +nalP +elbisiV +laitini +tatE +BAT +ehcuoT +ATT_Equipe +ATT_IdSociete +ATT_Nom +ATT_sel +Rupture de zone répétée +X +noitisoP +Y +noitisoP ruegraL ruetuaH +nalP +elbisiV +laitini +tatE +BAT +ehcuoT +RUPT_BasRupture1 +RUPT_HautRupture1 +Fenêtre : FEN_Choix_Societe +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe › Informations sur les champs +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 461 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : DISP_CHOIX_SOCIETE.DISP_BANDEAU_ENTETE_LISTE_EQUIPE_COLLAB +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : DISP_CHOIX_SOCIETE +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +06/08/2026 Isis_BO 462 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe › Informations sur les champs +Marge entre les cellules 0 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Titre +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 463 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe › Informations sur les champs +Zone répétée : DISP_CHOIX_SOCIETE.ZR_Societe +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 25 +Largeur colonne 300 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Oui +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection multiple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +Nb. Enreg. Max 0 +06/08/2026 Isis_BO 464 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe › Informations sur les champs +Parcours Automatique +Fichier parcouru :gclPresentSociete.m_clTabModele +Rub. mémorisée :gclPresentSociete.m_clTabModele.m_nPKID +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : DISP_CHOIX_SOCIETE.ZR_Societe +Attribut zone répétée : DISP_CHOIX_SOCIETE.ZR_Societe.ATT_Equipe (4) +Champ associé LIB_Titre +Propriété associée 1 +Attribut zone répétée : DISP_CHOIX_SOCIETE.ZR_Societe.ATT_IdSociete (2) +Propriété associée 1 +Attribut zone répétée : DISP_CHOIX_SOCIETE.ZR_Societe.ATT_Nom (1) +Champ associé LIB_NomSociete +Propriété associée 1 +Liaison des données :gclPresentSociete.m_clTabModele.m_sNom +Attribut zone répétée : DISP_CHOIX_SOCIETE.ZR_Societe.ATT_sel (3) +Champ associé INT_SOCIETE +Propriété associée 1 +Liaison des données :gclPresentSociete.m_clTabModele.m_bSelection +06/08/2026 Isis_BO 465 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe › Informations sur les champs +Interrupteur : DISP_CHOIX_SOCIETE.ZR_Societe.INT_SOCIETE +Valeur initiale 0 +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Liaison des données :gclPresentSociete.m_clTabModele.m_bSelection +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 466 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 467 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe › Informations sur les champs +Libellé : DISP_CHOIX_SOCIETE.ZR_Societe.LIB_NomSociete +Libellé FR: Nom Société +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 +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 +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 +Liaison des données :gclPresentSociete.m_clTabModele.m_sNom +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_CHOIX_SOCIETE.ZR_Societe.RUPT_HautRupture1.LIB_Titre +Libellé FR: Vos sociétés +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Isis_BO 468 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : DISP_CHOIX_SOCIETE.ZR_Societe.RUPT_BasRupture1 (6) +Toujours visible Non +Attribut de rupture 3 +Rupture de zone répétée : DISP_CHOIX_SOCIETE.ZR_Societe.RUPT_HautRupture1 (5) +Toujours visible Oui +Attribut de rupture 3 +FEN_Choix_Societe +Code +Déclarations globales de FEN_Choix_Societe +procédure FEN_Choix_Societe(gclPresentSociete est un PTableSociete dynamique=Null, +paramSupplementaire est un STParamFenetreAppelante=Null) +LIB_Titre_de_fenêtre_Liste_Collaborateur = paramSupplementaire.eTypeAppel=Libre ? "Société" sinon +paramSupplementaire.sTitreFenetre<>"" ? paramSupplementaire.sTitreFenetre sinon "Société" +local +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentSociete=Null alors +06/08/2026 Isis_BO 469 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe › Code +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.sNomIDAppelant<>"" alors +selon paramSupplementaire.sNomIDAppelant +cas "SuiviSociete" : +gclPresentSociete=PTableSociete.gNouvellePresentation(1,gpclFicheUtilisateurEnCours: +m_nPKID) +RUPT_HautRupture1..Visible=Faux +si paramSupplementaire.pclObjetAppelant<>Null _et_ gclPresentSociete:m_clTabModele.. +Occurrence>0 alors +pour i = 1 _à_ paramSupplementaire.pclObjetAppelant.m_clTabModele..Occurrence +k est un entier=1 +nIndice est un entier = TableauCherche( gclPresentSociete:m_clTabModele, +tcLinéaire,"m_nPKID",paramSupplementaire.pclObjetAppelant.m_clTabModele[i]: +m_nPKID,k) +si nIndice>0 alors +boucle +gclPresentSociete:m_clTabModele[nIndice]:m_bSelection = Vrai +k++ +nIndice = TableauCherche( gclPresentSociete:m_clTabModele,tcLinéaire, +"m_nPKID",paramSupplementaire.pclObjetAppelant.m_clTabModele[i]: +m_nPKID,k) +à faire tantque nIndice>0 +fin +fin +fin +autre cas : gclPresentSociete=PTableCollaborateur.gNouvellePresentation(0) +fin +sinon +gclPresentSociete=PTableCollaborateur.gNouvellePresentation(0) +fin +fin +Fin d'initialisation de FEN_Choix_Societe +//nIndice est un entier +//POUR TOUT LIGNE DE ZR_Societe +// nIndice++ +// +si +TableauCherche(gclPresentSociete:m_clTabModele,tcLinéaire,"m_nIDSociete",ZR_societe.ATT_IdSociete,1)<>- +1 alors +// ZR_Societe.ATT_sel=1 +// ZoneRépétéeSelectPlus(ZR_Societe,nIndice) +// fin +// ZR_societe.ATT_Equipe="Vos sociétés" +//FIN +Demande de mise à jour de l'affichage de FEN_Choix_Societe +si gclPresentSociete<>Null alors +SourceVersEcran("","gclPresentSociete") +fin +Fermeture de FEN_Choix_Societe +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.gProcMAJRetour<> Null _et_ +06/08/2026 Isis_BO 470 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe › Code +paramSupplementaire.sNomIDAppelant="SuiviSociete" _et_ MaFenêtre..ValeurRenvoyée=1 alors +AppelProcFenetreAppelante(gclPresentSociete,paramSupplementaire,Vrai,Vrai) +fin +//nindice est un entier +//clClErreur est un CErreur +//nCompteur est un entier +//pour toute ligne de ZR_Societe +// si att_sel=1 alors +// nCompteur++ +// FIN +//FIN +//si nCompteur >= 1 alors +//pour tout ligne de ZR_Societe +//SI ATT_sel=0 ALORS +// +nIndice=TableauCherche(gclPresentSociete:m_clTabModele,tcLinéaire,"m_nIDSociete",ZR_societe.ATT_IdSocie +te,1) +// SI nIndice<>-1 ALORS +// gclPresentSociete:m_clTabModele[nIndice].m_bArchive=1 +// gclPresentSociete:m_clTabModele[nIndice].bSupprimer(clClErreur) +// tableausupprimeligne(gclPresentSociete:m_clTabModele,nIndice) +// FIN +//SINON +// +nIndice=TableauCherche(gclPresentSociete:m_clTabModele,tcLinéaire,"m_nIDSociete",ZR_Societe.ATT_IdSocie +te,1) +// SI nIndice =-1 ALORS +// clClFicheRDV est un PFicheSociete_Collaborateur<- gclPresentSociete.Nouveau(Faux,0) +// +// clClFicheRDV.m_nIDCollaborateur=IdCollaborateur +// clClFicheRDV.m_nIDSociete = ATT_IdSociete +// clClFicheRDV.m_clSociete.m_nPKID=ATT_IdSociete +// clClFicheRDV.m_clSociete.m_sNom=ATT_Nom +// clClFicheRDV.AppelProcValidation(2) +// sinon +// gclPresentSociete:m_clTabModele[nIndice].m_nIDCollaborateur=IdCollaborateur +// gclPresentSociete:m_clTabModele[nIndice].m_clSociete.m_nPKID=ATT_IdSociete +// gclPresentSociete:m_clTabModele[nIndice].m_clSociete.m_sNom=ATT_Nom +// FIN +//FIN +//fin +//renvoyer (gclPresentSociete) +//sinon +// RENVOYER (gclPresentSociete) +//fin +FEN_Choix_Societe +Code des champs +Clic sur BTN_Fermer_Choix_Societe +pour toute ligne de ZR_Societe +ATT_sel=0 +06/08/2026 Isis_BO 471 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe › Code des champs +fin +Ferme(FEN_Choix_Societe,0) +Clic sur BTN_Valider_Choix_Societe +Ferme(FEN_Choix_Societe,1) +Sélection d'une ligne de ZR_Societe +//SI ATT_sel=1 ALORS +// ATT_sel=0 +//sinon +// si gclPresentRDVGroupe:m_clTabModele..occurrence>0 alors +// MessageErreur est une chaine +// +MessageErreur=Gestion_Conflit(gclPresentRDVGroupe:m_clTabModele[1].m_dhDateDebut,gclPresentRDVGroupe:m_ +clTabModele[1].m_dhDateFin,ATT_IdCollab) +// SI MessageErreur<>"" ALORS +// Erreur("Vous ne pouvez pas déplacer ce rendez-vous pour les utiliateurs +suivant:"+RC+RC+MessageErreur+RC+RC+"Conflit de Rendez-vous") +// ATT_sel=0 +// RETOUR +// fin +// sinon +// ATT_sel=1 +// FIN +//FIN +FEN_Choix_Societe +Procédures +Procédure locale Gestion_Conflit +// Résumé : +procédure Gestion_Conflit(P_DateInf est une DateHeure,P_DateSup est une DateHeure,nP_IdCollab est une +chaîne ANSI) +Resp est une chaîne +DuréeModif est une Durée = "0001000000" +dhDateInf est une DateHeure=P_DateInf+DuréeModif +dhDatesup est une DateHeure=P_DateSup-DuréeModif +req est une Requête SQL = +[ +SELECT Planning_RDV.PL_Superposable,Planning_RDV.PL_IDCollaborateur,Collaborateur.CO_Nom, +Collaborateur.CO_Prenom,PL_DateDebut,PL_DateFin FROM Planning_RDV +INNER JOIN Collaborateur ON Collaborateur.CO_PKID=Planning_RDV.PL_IDCollaborateur +WHERE (Planning_RDV.PL_DateDebut BETWEEN {P_DateInf} AND {P_DateSup} OR Planning_RDV.PL_DateFin +BETWEEN {P_DateInf} AND {P_DateSup}) AND Planning_RDV.Archive=0 AND Planning_RDV.PL_IDCollaborateur +IN ({P_IdCollab}) +] +06/08/2026 Isis_BO 472 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Societe › Procédures +req.P_DateInf=dhDateInf +req.P_DateSup=dhDatesup +req.P_IdCollab=nP_IdCollab +si pas HExécuteRequête(req,hRequêteDéfaut) alors +Resp="Erreur HFSQL : " + HErreurInfo(hErrComplet) +renvoyer Resp +fin +pour tout req +si req.PL_Superposable=0 alors +si Resp="" alors +Resp="- "+req.CO_Prenom+" "+req.CO_Nom+" :"+" Un Rdv est déjà planifié et non superposable le "+ +DateVersChaîne(req.PL_DateDebut,"JJ/MM/AAAA")+" entre "+HeureVersChaîne(Droite(req.PL_DateDebut,9), +"HH:MM:SS")+" et "+HeureVersChaîne(Droite(req.PL_DateFin,9),"HH:MM:SS") +sinon +Resp+=RC+RC+"- "+ req.CO_Prenom+" "+req.CO_Nom+" :"+" Un Rdv +est déjà planifié et non superposable le "+ DateVersChaîne(req.PL_DateDebut,"JJ/MM/AAAA")+ +" entre "+HeureVersChaîne(Droite(req.PL_DateDebut,9),"HH:MM:SS")+" et "+HeureVersChaîne(Droite(req. +PL_DateFin,9),"HH:MM:SS") +fin +fin +fin +renvoyer Resp +06/08/2026 Isis_BO 473 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Parametre_Metier › Image +FEN_Choix_Parametre_Metier +Image +FEN_Choix_Parametre_Metier +Informations générales +FEN_Choix_Parametre_Metier +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Choix_Parametre_Metier.wdw +| Créé par | | XVA | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | --- | +| Date de création | | 15/11/2018 15:38:11 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:25 | | | | +| Titre | | FR: Choix Paramètre Metier | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 323 | 324 | +| Position X | Position Y | | Largeur | Hauteur | | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 474 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Parametre_Metier › Informations générales +Ctx. HFSQL indép. +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Non +Type cadre Double +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Image poignée D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +06/08/2026 Isis_BO 475 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Parametre_Metier › Informations générales +Statistiques de la fenêtre +| | Libellé | | 3 | Bouton | | 2 | +| --- | ----------------------- | --- | --- | --------------------- | --- | --- | +| | Interrupteur | | 2 | Zone répétée | | 1 | +| | Attribut zone répétée | | 4 | Option d'interrupteur | | 2 | +| | Rupture de zone répétée | | 2 | Disposition | | 2 | +| | Cellule de disposition | | 6 | | | | +Nombre d'éléments dans la fenêtre : 24 +FEN_Choix_Parametre_Metier +Informations sur les champs +Fenêtre : FEN_Choix_Parametre_Metier +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC .trev egardaC | | +| --- | --- | --- | --- | ------------ | --------------------------- | ---------- | +| | | | | laitini tatE | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +LIB_TITRE_FEN_CHOIX_ETAT_INTE 7 6 197 21 0 Actif Gauche Centre +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_EXIT_PARAM | | 4 4 | 24 24 | 0 | Actif | Abandon | +| -------------- | --- | --- | ------- | --- | ----- | ------- | +| BTN_VAL_PARAM | | 4 4 | 24 24 | 0 | Actif | Normal | +| 06/08/2026 | | | Isis_BO | | | 476 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Parametre_Metier › Informations sur les champs +Zone répétée +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_PARAM | | 0 | 0 | 317 | 285 | 0 | Actif | | +| -------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Disposition +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | --- | ------- | --- | ------------ | --- | +| | | | ruegraL | | ruetuaH | | | | +elbisiV +nalP +| DISP_BANDEAU_ENTETE_PARAM | | 0 | 0 | 317 | 33 | 0 | Actif | | +| ------------------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +| DISP_CHOIX_SOCIETE | | 0 | 0 | 317 | 318 | 0 | Actif | | +Zone répétée : DISP_CHOIX_SOCIETE.ZR_PARAM +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_PARAM | 43 | 2 245 | 20 | 0 | Actif | Gauche | Haut | | +| -------------- | --- | ----- | --- | --- | ----- | ------ | ---- | --- | +| LIB_TITRE_RUPT | 43 | 6 189 | 20 | 0 | Actif | Gauche | Haut | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | staté siorT | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | ----------- | +ruetuaH +ruegraL +elbisiV +nalP +| INT_PARAM | 20 | 4 | 19 16 | 0 | Actif | | 1 | | +| -------------- | --- | --- | ------- | --- | ----- | --- | --- | --- | +| INT_TOUT_PARAM | 20 | 7 | 19 16 | 0 | Actif | | 1 | | +| 06/08/2026 | | | Isis_BO | | | | | 477 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Parametre_Metier › Informations sur les champs +Attribut zone répétée +06/08/2026 Isis_BO 478 +X +noitisoP +Y +noitisoP ruegraL ruetuaH +nalP +elbisiV +laitini +tatE +BAT +ehcuoT +ATT_IDPARAM +ATT_Nom +ATT_RUPT +ATT_SEL +Rupture de zone répétée +X +noitisoP +Y +noitisoP ruegraL ruetuaH +nalP +elbisiV +laitini +tatE +BAT +ehcuoT +RUPT_BasRupture1 +RUPT_HautRupture1 +Fenêtre : FEN_Choix_Parametre_Metier +Bouton : DISP_CHOIX_SOCIETE.DISP_BANDEAU_ENTETE_PARAM.BTN_EXIT_PARAM +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Parametre_Metier › Informations sur les champs +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : DISP_CHOIX_SOCIETE.DISP_BANDEAU_ENTETE_PARAM.BTN_VAL_PARAM +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 479 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Parametre_Metier › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : DISP_CHOIX_SOCIETE.DISP_BANDEAU_ENTETE_PARAM +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : DISP_CHOIX_SOCIETE +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +06/08/2026 Isis_BO 480 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Parametre_Metier › Informations sur les champs +Marge entre les cellules 0 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Titre +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 481 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Parametre_Metier › Informations sur les champs +Zone répétée : DISP_CHOIX_SOCIETE.ZR_PARAM +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 25 +Largeur colonne 300 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Oui +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection multiple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +Nb. Enreg. Max 0 +06/08/2026 Isis_BO 482 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Parametre_Metier › Informations sur les champs +Parcours Automatique +Fichier parcouru :gclPresentParamMetier.m_clTabVisible +Rub. mémorisée :gclPresentParamMetier.m_clTabVisible +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : DISP_CHOIX_SOCIETE.ZR_PARAM +Attribut zone répétée : DISP_CHOIX_SOCIETE.ZR_PARAM.ATT_IDPARAM (2) +Propriété associée 1 +Attribut zone répétée : DISP_CHOIX_SOCIETE.ZR_PARAM.ATT_Nom (1) +Champ associé LIB_PARAM +Propriété associée 1 +Liaison des données :gclPresentParamMetier.m_clTabVisible.m_sLibelle +Attribut zone répétée : DISP_CHOIX_SOCIETE.ZR_PARAM.ATT_RUPT (4) +Champ associé LIB_TITRE_RUPT +Propriété associée 1 +Attribut zone répétée : DISP_CHOIX_SOCIETE.ZR_PARAM.ATT_SEL (3) +Champ associé INT_PARAM +Propriété associée 1 +Liaison des données :gclPresentParamMetier.m_clTabVisible.m_bSelection +06/08/2026 Isis_BO 483 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Parametre_Metier › Informations sur les champs +Interrupteur : DISP_CHOIX_SOCIETE.ZR_PARAM.INT_PARAM +Valeur initiale 0 +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Liaison des données :gclPresentParamMetier.m_clTabVisible.m_bSelection +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 484 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Parametre_Metier › Informations sur les champs +Interrupteur : DISP_CHOIX_SOCIETE.ZR_PARAM.RUPT_HautRupture1.INT_TOUT_PARAM +Valeur initiale 0 +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 485 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Parametre_Metier › Informations sur les champs +Libellé : DISP_CHOIX_SOCIETE.ZR_PARAM.LIB_PARAM +Libellé FR: Libellé du paramètre +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 +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 +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 +Liaison des données :gclPresentParamMetier.m_clTabVisible.m_sLibelle +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_CHOIX_SOCIETE.ZR_PARAM.RUPT_HautRupture1.LIB_TITRE_RUPT +Libellé FR: Le groupe de paramètre +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Isis_BO 486 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Parametre_Metier › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : DISP_CHOIX_SOCIETE.ZR_PARAM.RUPT_BasRupture1 (6) +Toujours visible Non +Attribut de rupture 3 +Rupture de zone répétée : DISP_CHOIX_SOCIETE.ZR_PARAM.RUPT_HautRupture1 (5) +Toujours visible Oui +Attribut de rupture 3 +FEN_Choix_Parametre_Metier +Code +Déclarations globales de FEN_Choix_Parametre_Metier +procédure FEN_Choix_Parametre_Metier(gclPresentParamMetier est un PTableParametreMetier dynamique< +présentation>=Null,paramSupplementaire est un STParamFenetreAppelante=Null) +LIB_TITRE_FEN_CHOIX_ETAT_INTERV = paramSupplementaire.eTypeAppel=Libre ? "Paramètre" sinon +paramSupplementaire.sTitreFenetre<>"" ? paramSupplementaire.sTitreFenetre sinon "Paramètre" +local +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentParamMetier=Null alors +06/08/2026 Isis_BO 487 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Parametre_Metier › Code +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.sNomIDAppelant<>"" alors +selon paramSupplementaire.sNomIDAppelant +cas "EtatIntervention" : +DISP_BANDEAU_ENTETE_PARAM..CouleurFond = RVB(86,124,143) +gclPresentParamMetier<-gpclListeEtatIntervention +RUPT_HautRupture1..Visible=Faux +si paramSupplementaire.pclObjetAppelant<>Null _et_ gclPresentParamMetier:m_clTabModele +..Occurrence>0 alors +pour i = 1 _à_ paramSupplementaire.pclObjetAppelant.m_clTabModele..Occurrence +k est un entier=1 +nIndice est un entier = TableauCherche( gclPresentParamMetier:m_clTabModele, +tcLinéaire,"m_nPKID",paramSupplementaire.pclObjetAppelant.m_clTabModele[i]: +m_nPKID,k) +si nIndice>0 alors +boucle +gclPresentParamMetier:m_clTabModele[nIndice]:m_bSelection = Vrai +k++ +nIndice = TableauCherche( gclPresentParamMetier:m_clTabModele, +tcLinéaire,"m_nPKID",paramSupplementaire.pclObjetAppelant. +m_clTabModele[i]:m_nPKID,k) +à faire tantque nIndice>0 +fin +fin +fin +autre cas : gclPresentParamMetier<-gpclListeParamMetier +//PTableParametreMetier.gNouvellePresentation("") +fin +sinon +gclPresentParamMetier<-gpclListeParamMetier//PTableParametreMetier.gNouvellePresentation("") +fin +fin +Demande de mise à jour de l'affichage de FEN_Choix_Parametre_Metier +si gclPresentParamMetier<>Null alors +SourceVersEcran("","gclPresentParamMetier") +fin +Fermeture de FEN_Choix_Parametre_Metier +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.gProcMAJRetour<> Null _et_ +paramSupplementaire.sNomIDAppelant="EtatIntervention" _et_ MaFenêtre..ValeurRenvoyée=1 alors +AppelProcFenetreAppelante(gclPresentParamMetier,paramSupplementaire,Vrai,Vrai) +fin +FEN_Choix_Parametre_Metier +Code des champs +Clic sur BTN_EXIT_PARAM +06/08/2026 Isis_BO 488 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Parametre_Metier › Code des champs +pour toute ligne de ZR_PARAM +ATT_SEL=0 +fin +Ferme(MaFenêtre,0) +Clic sur BTN_VAL_PARAM +Ferme(MaFenêtre,1) +Sélection d'une ligne de ZR_PARAM +//SI ATT_sel=1 ALORS +// ATT_sel=0 +//sinon +// si gclPresentRDVGroupe:m_clTabModele..occurrence>0 alors +// MessageErreur est une chaine +// +MessageErreur=Gestion_Conflit(gclPresentRDVGroupe:m_clTabModele[1].m_dhDateDebut,gclPresentRDVGroupe:m_ +clTabModele[1].m_dhDateFin,ATT_IdCollab) +// SI MessageErreur<>"" ALORS +// Erreur("Vous ne pouvez pas déplacer ce rendez-vous pour les utiliateurs +suivant:"+RC+RC+MessageErreur+RC+RC+"Conflit de Rendez-vous") +// ATT_sel=0 +// RETOUR +// fin +// sinon +// ATT_sel=1 +// FIN +//FIN +FEN_Choix_Parametre_Metier +Procédures +Procédure locale Gestion_Conflit +// Résumé : +procédure Gestion_Conflit(P_DateInf est une DateHeure,P_DateSup est une DateHeure,nP_IdCollab est une +chaîne ANSI) +Resp est une chaîne +DuréeModif est une Durée = "0001000000" +dhDateInf est une DateHeure=P_DateInf+DuréeModif +dhDatesup est une DateHeure=P_DateSup-DuréeModif +req est une Requête SQL = +[ +SELECT Planning_RDV.PL_Superposable,Planning_RDV.PL_IDCollaborateur,Collaborateur.CO_Nom, +Collaborateur.CO_Prenom,PL_DateDebut,PL_DateFin FROM Planning_RDV +INNER JOIN Collaborateur ON Collaborateur.CO_PKID=Planning_RDV.PL_IDCollaborateur +WHERE (Planning_RDV.PL_DateDebut BETWEEN {P_DateInf} AND {P_DateSup} OR Planning_RDV.PL_DateFin +BETWEEN {P_DateInf} AND {P_DateSup}) AND Planning_RDV.Archive=0 AND Planning_RDV.PL_IDCollaborateur +IN ({P_IdCollab}) +06/08/2026 Isis_BO 489 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Parametre_Metier › Procédures +] +req.P_DateInf=dhDateInf +req.P_DateSup=dhDatesup +req.P_IdCollab=nP_IdCollab +si pas HExécuteRequête(req,hRequêteDéfaut) alors +Resp="Erreur HFSQL : " + HErreurInfo(hErrComplet) +renvoyer Resp +fin +pour tout req +si req.PL_Superposable=0 alors +si Resp="" alors +Resp="- "+req.CO_Prenom+" "+req.CO_Nom+" :"+" Un Rdv est déjà planifié et non superposable le "+ +DateVersChaîne(req.PL_DateDebut,"JJ/MM/AAAA")+" entre "+HeureVersChaîne(Droite(req.PL_DateDebut,9), +"HH:MM:SS")+" et "+HeureVersChaîne(Droite(req.PL_DateFin,9),"HH:MM:SS") +sinon +Resp+=RC+RC+"- "+ req.CO_Prenom+" "+req.CO_Nom+" :"+" Un Rdv +est déjà planifié et non superposable le "+ DateVersChaîne(req.PL_DateDebut,"JJ/MM/AAAA")+ +" entre "+HeureVersChaîne(Droite(req.PL_DateDebut,9),"HH:MM:SS")+" et "+HeureVersChaîne(Droite(req. +PL_DateFin,9),"HH:MM:SS") +fin +fin +fin +renvoyer Resp +06/08/2026 Isis_BO 490 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Image +FEN_Choix_Colonne_Et_Tri +Image +FEN_Choix_Colonne_Et_Tri +Informations générales +FEN_Choix_Colonne_Et_Tri +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Choix_Colonne_Et_Tri.wdw +| Créé par | | FBO | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | ------------ | --- | +| Date de création | | 20/02/2020 09:55:47 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:23 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 640 Hauteur | 450 | +| Visible | | Barre de titre | | Menu système | | +| 06/08/2026 | | | Isis_BO | | 491 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations générales +| 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 | | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Non | | | | +| Type cadre | Simple (non redimensionnable) | | | | +| Transparence Vista | Non | | | | +| Transparence gérée par Vista | Non | | | | +| Appliquer le thème du projet | | | | | +| Grisé : Utiliser couleur perso. | Non | | | | +| Grisé : Algo pour images | | | | | +| 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. | | | | | +| 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 | | | | +| ---------------------- | --- | ------- | --- | --- | +| 06/08/2026 | | Isis_BO | | 492 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations générales +Statistiques de la fenêtre +| | Libellé | | | 5 | Bouton | | | | 13 | +| --- | ------------ | --- | --- | --- | ---------------------- | --- | --- | --- | --- | +| | Image | | | 2 | Forme | | | | 2 | +| | Zone répétée | | | 2 | Attribut zone répétée | | | | 11 | +| | Disposition | | | 6 | Cellule de disposition | | | | 19 | +Nombre d'éléments dans la fenêtre : 60 +FEN_Choix_Colonne_Et_Tri +Informations sur les champs +Fenêtre : FEN_Choix_Colonne_Et_Tri +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | --- | +| | | | | | | laitini tatE | | FTR tamroF | | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_TITRECOLONNE | | 0 6 | 173 | 19 | 0 | Actif | Gauche | Haut | | +| ---------------- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | +| LIB_TITRETRI | | 0 6 | 173 | 19 | 0 | Actif | Gauche | Haut | | +LIB_Titre_de_fenêtre_Liste_Colla 7 6 41 20 0 Actif Gauche Centre +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| BTN_AFFECTATION_MULTIPLE | | 62 | -123 | 24 | 24 | 0 | Actif | Normal | | +| --------------------------- | --- | --- | ---- | ------- | --- | --- | ----- | ------- | --- | +| BTN_AJOUTE_AU_TRI | | 5 | 195 | 24 | 24 | 0 | Actif | Normal | | +| BTN_BAS_DONNEES | | 5 | 194 | 24 | 24 | 0 | Actif | Normal | | +| BTN_BAS_TRI | | 5 | 227 | 24 | 24 | 0 | Actif | Normal | | +| BTN_DESAFFECTATION_MULTIPLE | | 98 | -121 | 24 | 24 | 0 | Actif | Normal | | +| BTN_ENLEVE_AU_TRI | | 5 | 163 | 24 | 24 | 0 | Actif | Normal | | +| BTN_Fermer_Choix_Societe | | 4 | 4 | 24 | 24 | 0 | Actif | Abandon | | +| BTN_GOMMER | | 4 | 4 | 24 | 24 | 0 | Actif | Normal | | +| BTN_HAUT_DONNEES | | 5 | 164 | 24 | 24 | 0 | Actif | Normal | | +| BTN_HAUT_TRI | | 5 | 131 | 24 | 24 | 0 | Actif | Normal | | +| BTN_Valider_Choix_Societe | | 4 | 4 | 24 | 24 | 0 | Actif | Normal | | +| 06/08/2026 | | | | Isis_BO | | | | | 493 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › 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_ICONE_CARACTERISTIQUES | 4 7 | 16 16 | 0 | Actif | | | +| -------------------------- | --- | ----- | --- | ----- | --- | --- | +| IMG_ICONE_CARACTERISTIQUES | 4 7 | 16 16 | 0 | Actif | | | +Forme +| | | | | | laitini tatE | BAT ehcuoT | +| --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | +| | X noitisoP | Y noitisoP | | | | | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_CADRE_CARACTERISTIQUES | 0 | 0 35 | 383 | 0 | Actif | | +| --------------------------- | --- | ---- | --- | --- | ----- | --- | +| FRM_CADRE_CARACTERISTIQUES1 | 0 | 0 35 | 383 | 0 | Actif | | +Zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| ZR_DONNEES_DISPO | 35 | 0 259 | 368 | 0 | Actif | | +| ---------------- | --- | ----- | --- | --- | ----- | --- | +| ZR_DONNEES_TRI | 36 | 0 258 | 383 | 0 | Actif | | +Disposition +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| DISP_BANDEAU_ENTETE_LISTE_EQUIPE_COL | 0 | 0 638 | 33 | 0 | Actif | | +| ------------------------------------ | --- | ----- | --- | --- | ----- | --- | +| DISP_CHOIX_COLONNE_TRI | 0 | 0 638 | 448 | 0 | Actif | | +| DISP_DONNEES_DISPONIBLE | 12 | 6 294 | 400 | 0 | Actif | | +| DISP_DONNEES_DISPONIBLE1 | 331 | 6 294 | 400 | 0 | Actif | | +| DISP_IDENT_COLLAB_TETE | 0 | 0 294 | 32 | 0 | Actif | | +| DISP_IDENT_COLLAB_TETE | 0 | 0 294 | 32 | 0 | Actif | | +Zone répétée : +DISP_CHOIX_COLONNE_TRI.DISP_DONNEES_DISPONIBLE.ZR_DONNEES_DISPO +| 06/08/2026 | | Isis_BO | | | | 494 | +| ---------- | --- | ------- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › 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_NomColonne | 31 2 | 173 20 | 0 | Actif | Gauche | Centre | | +| -------------- | ---- | ------ | --- | ----- | ------ | ------ | --- | +Bouton +| | | | | | | BAT ehcuoT | notuob epyT | +| --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | ----------- | +| | X noitisoP | Y noitisoP | | | laitini tatE | | | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_VISIBLE_INVISIBLE | 6 | 4 19 | 16 | 0 | Actif | Normal | | +| --------------------- | --- | ---- | --- | --- | ----- | ------ | --- | +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +ATT_BTN_ENFONCE +ATT_IMG_BTN +ATT_NomColonne +ATT_OrdreAffichage +ATT_TitreColonne +Zone répétée : +DISP_CHOIX_COLONNE_TRI.DISP_DONNEES_DISPONIBLE1.ZR_DONNEES_TRI +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | --- | +| | | | | laitini tatE | | FTR tamroF | | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_NomColonne | 31 2 | 173 20 | 0 | Actif | Gauche | Centre | | +| -------------- | ---- | ------- | --- | ----- | ------ | ------ | --- | +| 06/08/2026 | | Isis_BO | | | | | 495 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +Bouton +notuob epyT +| | | | | laitini tatE BAT ehcuoT | | +| --- | --- | --- | --- | ----------------------- | --- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_TRI | 210 6 | 19 16 | 0 | Actif | Normal | +| ------- | ----- | ----- | --- | ----- | ------ | +Attribut zone répétée +BAT ehcuoT +laitini tatE +| | X noitisoP Y noitisoP | | | | | +| --- | --------------------- | --------------- | --- | --- | --- | +| | | ruegraL ruetuaH | | | | +elbisiV +nalP +ATT_BtnEnfonce +ATT_BtnTriGrise +ATT_NomColTri +ATT_TRI +ATT_TitreColTri +ATT_TitreColTriGrise +Fenêtre : FEN_Choix_Colonne_Et_Tri +Bouton : BTN_AFFECTATION_MULTIPLE +| Ordre navigation | 1 | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | +| 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 | | | | | | +| 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 | | | | | | +| 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 | | | | | | +| -------------- | ------- | ------- | --- | --- | --- | +| Texte Markdown | Non | | | | | +| 06/08/2026 | | Isis_BO | | | 496 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Tout_A_Gauche.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 : +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_A_Droite.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +06/08/2026 Isis_BO 497 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : DISP_CHOIX_COLONNE_TRI.DISP_DONNEES_DISPONIBLE.BTN_BAS_DONNEES +Groupe GR_MODEFORMULAIRE +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 498 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +Bouton : DISP_CHOIX_COLONNE_TRI.DISP_DONNEES_DISPONIBLE1.BTN_BAS_TRI +Groupe GR_MODEFORMULAIRE +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 499 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +Bouton : BTN_DESAFFECTATION_MULTIPLE +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Tout_A_Droite.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 500 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +Bouton : +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_A_Gauche.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 501 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 502 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation 1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Gommer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 503 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +Bouton : +Groupe GR_MODEFORMULAIRE +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Plier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 504 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +Bouton : DISP_CHOIX_COLONNE_TRI.DISP_DONNEES_DISPONIBLE1.BTN_HAUT_TRI +Groupe GR_MODEFORMULAIRE +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Plier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 505 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 506 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : DISP_CHOIX_COLONNE_TRI +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage +06/08/2026 Isis_BO 507 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : DISP_CHOIX_COLONNE_TRI.DISP_DONNEES_DISPONIBLE +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : DISP_CHOIX_COLONNE_TRI.DISP_DONNEES_DISPONIBLE1 +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +06/08/2026 Isis_BO 508 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 509 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +Facteur d'agrandissement 0 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 510 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_CARACT.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_TRI.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 511 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › 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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Données disponibles +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 +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 +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 +06/08/2026 Isis_BO 512 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Données triées (16 max.) +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Titre +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +06/08/2026 Isis_BO 513 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 25 +Largeur colonne 259 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +06/08/2026 Isis_BO 514 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 28 +Largeur colonne 258 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +06/08/2026 Isis_BO 515 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Oui +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +06/08/2026 Isis_BO 516 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +Zone répétée : +DISP_CHOIX_COLONNE_TRI.DISP_DONNEES_DISPONIBLE.ZR_DONNEES_DISPO +Attribut zone répétée : +Champ associé BTN_VISIBLE_INVISIBLE +Propriété associée 132 +Attribut zone répétée : +Champ associé BTN_VISIBLE_INVISIBLE +Propriété associée 1 +Attribut zone répétée : +Propriété associée 1 +Attribut zone répétée : +Propriété associée 1 +Attribut zone répétée : +Champ associé LIB_NomColonne +Propriété associée 1 +Bouton : +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Retrait gauche 0 +06/08/2026 Isis_BO 517 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\voir.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Nom de la colonne +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 +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 +Unicode Non +Transforme le & Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Isis_BO 518 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : +DISP_CHOIX_COLONNE_TRI.DISP_DONNEES_DISPONIBLE1.ZR_DONNEES_TRI +Attribut zone répétée : +Champ associé BTN_TRI +Propriété associée 132 +Attribut zone répétée : +Champ associé BTN_TRI +Propriété associée 22 +Attribut zone répétée : +Propriété associée 1 +Attribut zone répétée : +Champ associé BTN_TRI +Propriété associée 1 +06/08/2026 Isis_BO 519 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +Attribut zone répétée : +Champ associé LIB_NomColonne +Propriété associée 1 +Attribut zone répétée : +Champ associé LIB_NomColonne +Propriété associée 22 +Bouton : +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\fleche_croissante.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 520 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Nom de la colonne +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Choix_Colonne_Et_Tri +Code +Déclarations globales de FEN_Choix_Colonne_Et_Tri +procédure FEN_Choix_Colonne_Et_Tri(local nListe est un entier,chpTable est un Champ,stListeCustom est +un STListePerso) +06/08/2026 Isis_BO 521 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Code +LIB_Titre_de_fenêtre_Liste_Collaborateur = "Configuration des données de la liste" +//gstListePerso est un STListePerso +gbExisteColonnesVisible est un booléen +gbExisteColonnesTri est un booléen +gbExisteColonnesVisible = stListeCustom:tabColsVisible..Occurrence>0 +gbExisteColonnesTri = stListeCustom:tabColsTri..Occurrence>0 +UneColonne est un Champ +nIndice est un entier +nOrdreCol est un entier +nMaxCol est un entier=TableOccurrence(chpTable, toColonne) +pour nColonne = 1 _à_ nMaxCol +UneColonne <- TableEnumèreColonne(chpTable, nColonne) +si pas UneColonne..Grisé _et_ pas UneColonne..CurseurSouris=curMainSystème alors +nOrdreCol = TableIndiceColonne(chpTable..NomComplet,UneColonne..Nom,ticAffichage) +ZoneRépétéeAjouteLigne(ZR_DONNEES_DISPO,Remplace(UneColonne..Titre,RC," "),UneColonne..Visible +?"voir.png" sinon "masquer.png",UneColonne..Nom,UneColonne..Visible ? Faux sinon Vrai,nOrdreCol +) +fin +fin +ZoneRépétéeTrie("ATT_OrdreAffichage") +ZoneRépétéeSelectPlus(ZR_DONNEES_DISPO,1) +ListeColonnesTrie est une chaîne +ListeColonnesTrie = TableColonnesTriées(chpTable) +tabColonnesTriees est un tableau de chaîne +pour toute chaîne sUneColonneSens de ListeColonnesTrie séparée par TAB +sSens est une chaîne = Gauche(sUneColonneSens,1)//ExtraitChaîne(sUneColonneSens,1,"-",DepuisDébut) +sUneColonne est une chaîne = sSens="-" _ou_ sSens="+" ? ExtraitChaîne(sUneColonneSens,2,sSens, +DepuisDébut) sinon sUneColonneSens +si sUneColonne<>"" alors +sSens=sSens<>"-" ? "" sinon sSens +//gnIndiceCol est un entier = +UneColonne <- TableEnumèreColonne(chpTable..NomComplet,TableIndiceColonne(chpTable..NomComplet, +sUneColonne,ticCréation)) +ZoneRépétéeAjouteLigne(ZR_DONNEES_TRI,Remplace(UneColonne..Titre,RC," "),sSens="-" ? +"fleche_decroissante.png" sinon "fleche_croissante.png",UneColonne..BandeauVisible ? Actif +sinon Grisé,UneColonne..BandeauVisible ? Actif sinon Grisé,UneColonne..Nom,sSens="-" ? Vrai +sinon Faux) +TableauAjoute(tabColonnesTriees,sSens+chpTable..NomComplet+"."+UneColonne..Nom) +fin +fin +FEN_Choix_Colonne_Et_Tri +Code des champs +Clic sur BTN_Fermer_Choix_Societe +06/08/2026 Isis_BO 522 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Code des champs +Ferme(MaFenêtre,0) +Clic sur BTN_GOMMER +//Si OuiNon(non,"Confirmez-vous la réinitialisation de votre configuration ?")=Oui ALORS +// nOrdreCol2 est un entier +// nMaxCol2 est un entier=TableOccurrence(chpTable, toColonne) +// UneColonne2 est un chaamp +// POUR nColonne = 1 _À_ nMaxCol2 +// +// UneColonne2 <- TableEnumèreColonne(chpTable, nColonne) +// +// +// SI PAS UneColonne2..Grisé ALORS +// +// nOrdreCol2 = TableIndiceColonne(chpTable..NomComplet,UneColonne2..Nom,ticCréation) +// +ZoneRépétéeAjouteLigne(ZR_DONNEES_DISPO,Remplace(UneColonne..Titre,RC," "),UneColonne..Visible ?" +voir.png" SINON "masquer.png",UneColonne..Nom,UneColonne..Visible ? Faux SINON Vrai,nOrdreCol ) +// +// +// FIN +// +// +// FIN +// TableTrie(ZR_DONNEES_DISPO,"ATT_OrdreAffichage") +//FIN +Clic sur BTN_Valider_Choix_Societe +si gpclFicheUtilisateurEnCours<>Null _et_ gpclFicheUtilisateurEnCours:ListeParametreUtilisateur<>Null +alors +TableauSupprimeTout(stListeCustom.tabColsVisible) +pour toute ligne de ZR_DONNEES_DISPO +si ZR_DONNEES_DISPO.ATT_BTN_ENFONCE=Faux alors +stUneColVisible est un STListeColVisible +stUneColVisible.sNomColonne = ZR_DONNEES_DISPO.ATT_NomColonne +stUneColVisible.nOrdreAffichage = ZR_DONNEES_DISPO.ATT_OrdreAffichage +TableauAjouteLigne(stListeCustom.tabColsVisible,stUneColVisible) +fin +fin +TableauSupprimeTout(stListeCustom.tabColsTri) +pour toute ligne de ZR_DONNEES_TRI +//SI ZR_DONNEES_DISPO.ATT_BTN_ENFONCE=Faux ALORS +stUneColTri est un STListeColTrie +stUneColTri.sNomColonne = ZR_DONNEES_TRI.ATT_NomColTri +stUneColTri.sSensTri = ZR_DONNEES_TRI.ATT_BtnEnfonce=Vrai ? "-" sinon "" +stUneColTri.nOrdreTri = ZR_DONNEES_TRI +TableauAjouteLigne(stListeCustom.tabColsTri,stUneColTri) +//FIN +fin +gpclFicheUtilisateurEnCours.MAJColonneEtTrieListePerso(nListe,stListeCustom) +// gpclFicheUtilisateurEnCours:p_nCodeListePerso = 1 +// clListePerso <- gpclFicheUtilisateurEnCours:p_Liste_Colonne_Perso +// +// SI clListePerso<> Null ALORS +// +// +// bufListePerso est un Buffer +// clErreur est un cerreur +06/08/2026 Isis_BO 523 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Code des champs +// Sérialise(stListeCustom,bufListePerso,psdJSON) +// clListePerso.m_sValeur = bufListePerso +// clListePerso.bOK(clErreur) +// SINON +// gpclFicheUtilisateurEnCours:p_Liste_Colonne_Perso = stListeCustom +// FIN +fin +//gpclFicheUtilisateurEnCours:ListeParametreUtilisateur +//bufParamEmail est un buffer +//Sérialise(gstParamEmail,bufParamEmail,psdJSON) +//gpclFicheParam:m_sValeur = bufParamEmail +Ferme(MaFenêtre,1) +Clic sur BTN_BAS_DONNEES +nIndiceSel est un entier=ZoneRépétéeSelect(ZR_DONNEES_DISPO) +nMax est un entier = ZoneRépétéeOccurrence(ZR_DONNEES_DISPO) +si nIndiceSel>0 _et_ nIndiceSel<=ZoneRépétéeOccurrence(ZR_DONNEES_DISPO) _et_ nIndiceSel+1<=nMax alors +ZoneRépétéeDéplaceLigne(ZR_DONNEES_DISPO,nIndiceSel,nIndiceSel+1,tdAfficheDestination+tdEchange) +TableDéplaceColonne(chpTable,ZR_DONNEES_DISPO[nIndiceSel+1].ATT_NomColonne..Valeur , +TableIndiceColonne(chpTable, ZR_DONNEES_DISPO[nIndiceSel+1].ATT_NomColonne..Valeur, ticAffichage)+1 +) +fin +Clic sur BTN_HAUT_DONNEES +nIndiceSel est un entier=ZoneRépétéeSelect(ZR_DONNEES_DISPO) +si nIndiceSel>0 _et_ nIndiceSel<=ZoneRépétéeOccurrence(ZR_DONNEES_DISPO) _et_ nIndiceSel-1>0 alors +ZoneRépétéeDéplaceLigne(ZR_DONNEES_DISPO,nIndiceSel,nIndiceSel-1,tdAfficheDestination+tdEchange) +TableDéplaceColonne(chpTable,ZR_DONNEES_DISPO[nIndiceSel-1].ATT_NomColonne..Valeur , +TableIndiceColonne(chpTable, ZR_DONNEES_DISPO[nIndiceSel-1].ATT_NomColonne..Valeur, ticAffichage)-1 +) +TableAffiche(chpTable,taCourantBandeau) +fin +Sélection d'une ligne de ZR_DONNEES_DISPO +nIndiceSel est un entier=ZoneRépétéeSelect(ZR_DONNEES_DISPO) +si nIndiceSel>0 alors +nIndiceColTri est un entier = ZoneRépétéeCherche(ATT_NomColTri,ZR_DONNEES_DISPO[ZR_DONNEES_DISPO]. +ATT_NomColonne,rechercheIdentique) +BTN_AJOUTE_AU_TRI..Visible = nIndiceColTri=-1 +BTN_ENLEVE_AU_TRI..Visible = nIndiceColTri>0 +fin +Initialisation de BTN_VISIBLE_INVISIBLE ( ZR_DONNEES_DISPO ) +MoiMême..Image="voir.png" +Clic sur BTN_VISIBLE_INVISIBLE ( ZR_DONNEES_DISPO ) +MoiMême..Image=(MoiMême..Enfoncé?"masquer.png" sinon "voir.png") +ZR_DONNEES_DISPO[ZR_DONNEES_DISPO].ATT_IMG_BTN = (MoiMême..Enfoncé?"masquer.png" sinon "voir.png") +06/08/2026 Isis_BO 524 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Code des champs +nIndiceSel est un entier=ZoneRépétéeSelect(ZR_DONNEES_DISPO) +si nIndiceSel>0 _et_ nIndiceSel<=ZoneRépétéeOccurrence(ZR_DONNEES_DISPO) alors +UneColonne <- TableEnumèreColonne(chpTable,TableIndiceColonne(chpTable, ZR_DONNEES_DISPO[nIndiceSel +].ATT_NomColonne, ticCréation)) +UneColonne..Visible = MoiMême..Enfoncé ?Faux sinon Vrai +{UneColonne..NomComplet}..Visible = MoiMême..Enfoncé ?Faux sinon Vrai +//On rend invisible la colonne, La colonne n'est pas la dernière de la liste et la colonne d'après +est visible +si (MoiMême..Enfoncé) _et_ nIndiceSel+1<=ZoneRépétéeOccurrence(ZR_DONNEES_DISPO) _et_ ZR_ +DONNEES_DISPO[nIndiceSel+1].ATT_BTN_ENFONCE=Faux alors +boucle +//Augmente l'ordre d'affichage de la colonne rendue invisible Descend la colonne rendu +invisible d'un cran +ZoneRépétéeModifieLigne(ZR_DONNEES_DISPO,nIndiceSel,ZR_DONNEES_DISPO[nIndiceSel].ATT_ +TitreColonne,ZR_DONNEES_DISPO[nIndiceSel].ATT_IMG_BTN,ZR_DONNEES_DISPO[nIndiceSel].ATT_ +NomColonne,ZR_DONNEES_DISPO[nIndiceSel].ATT_BTN_ENFONCE,ZR_DONNEES_DISPO[nIndiceSel].ATT_ +OrdreAffichage+1) +//Diminue l'ordre d'affichage de la colonne suivante qui est visible +ZoneRépétéeModifieLigne(ZR_DONNEES_DISPO,nIndiceSel+1,ZR_DONNEES_DISPO[nIndiceSel+1].ATT_ +TitreColonne,ZR_DONNEES_DISPO[nIndiceSel+1].ATT_IMG_BTN,ZR_DONNEES_DISPO[nIndiceSel+1]. +ATT_NomColonne,ZR_DONNEES_DISPO[nIndiceSel+1].ATT_BTN_ENFONCE,ZR_DONNEES_DISPO[nIndiceSel+ +1].ATT_OrdreAffichage-1) +//Inverse les deux lignes +ZoneRépétéeDéplaceLigne(ZR_DONNEES_DISPO,nIndiceSel,nIndiceSel+1,tdAfficheDestination+ +tdEchange) +nIndiceSel+=1 +à faire tantque nIndiceSel+1<=ZoneRépétéeOccurrence(ZR_DONNEES_DISPO) _et_ ZR_DONNEES_DISPO[ +nIndiceSel+1].ATT_BTN_ENFONCE=Faux +//On rend visible la colonne, La colonne n'est pas la première de la liste et la colonne d'avant +est invisible +sinon si (MoiMême..Enfoncé=Faux) _et_ nIndiceSel-1>=1 _et_ ZR_DONNEES_DISPO[nIndiceSel-1].ATT_ +BTN_ENFONCE=Vrai alors +boucle +//Diminue l'ordre d'affichage de la colonne rendue invisible Descend la colonne rendu +invisible d'un cran +ZoneRépétéeModifieLigne(ZR_DONNEES_DISPO,nIndiceSel,ZR_DONNEES_DISPO[nIndiceSel].ATT_ +TitreColonne,ZR_DONNEES_DISPO[nIndiceSel].ATT_IMG_BTN,ZR_DONNEES_DISPO[nIndiceSel].ATT_ +NomColonne,ZR_DONNEES_DISPO[nIndiceSel].ATT_BTN_ENFONCE,ZR_DONNEES_DISPO[nIndiceSel].ATT_ +OrdreAffichage-1) +//Augmente l'ordre d'affichage de la colonne suivante qui est visible +ZoneRépétéeModifieLigne(ZR_DONNEES_DISPO,nIndiceSel-1,ZR_DONNEES_DISPO[nIndiceSel-1].ATT_ +TitreColonne,ZR_DONNEES_DISPO[nIndiceSel-1].ATT_IMG_BTN,ZR_DONNEES_DISPO[nIndiceSel-1]. +ATT_NomColonne,ZR_DONNEES_DISPO[nIndiceSel-1].ATT_BTN_ENFONCE,ZR_DONNEES_DISPO[nIndiceSel- +1].ATT_OrdreAffichage+1) +//Inverse les deux lignes +ZoneRépétéeDéplaceLigne(ZR_DONNEES_DISPO,nIndiceSel,nIndiceSel-1,tdAfficheDestination+ +tdEchange) +nIndiceSel-=1 +à faire tantque nIndiceSel-1>=1 _et_ ZR_DONNEES_DISPO[nIndiceSel-1].ATT_BTN_ENFONCE=Vrai +fin +// +06/08/2026 Isis_BO 525 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Code des champs +nIndiceSearch est un entier = +TableauChercheParProcédure(tabColonnesTriees,ChercheTabContient,tcLinéaire,0,UneColonne..Nom)//TableauC +herche(tabColonnesTriees,tcLinéaire,UneColonne..Nom,1) +// +// SI nIndiceSearch>0 ALORS +// SI MoiMême..Enfoncé ALORS +// tabColonnesTriees[nIndiceSearch] = "-"+chpTable..NomComplet+"."+UneColonne..Nom +// SINON +// tabColonnesTriees[nIndiceSearch] = chpTable..NomComplet+"."+UneColonne..Nom +// FIN +// TableTrie(TableauVersChaîne(tabColonnesTriees,TAB)) +// FIN +fin +Clic sur BTN_AJOUTE_AU_TRI +nIndiceSel est un entier=ZoneRépétéeSelect(ZR_DONNEES_DISPO) +nIndiceCol est un entier = ZoneRépétéeCherche(ATT_NomColTri,ZR_DONNEES_DISPO[ZR_DONNEES_DISPO].ATT_ +NomColonne,rechercheIdentique) +si nIndiceSel>0 _et_ nIndiceSel<=ZoneRépétéeOccurrence(ZR_DONNEES_DISPO) _et_ ZR_DONNEES_TRI.. +Occurrence<16 _et_ nIndiceCol=-1 alors +UneColonne <- TableEnumèreColonne(chpTable,TableIndiceColonne(chpTable, ZR_DONNEES_DISPO[ZR_ +DONNEES_DISPO].ATT_NomColonne, ticCréation)) +ZoneRépétéeAjouteLigne(ZR_DONNEES_TRI,Remplace(UneColonne..Titre,RC," "),"fleche_croissante.png", +UneColonne..BandeauVisible ? Actif sinon Grisé,UneColonne..BandeauVisible ? Actif sinon Grisé, +UneColonne..Nom,Faux) +TableauAjoute(tabColonnesTriees,chpTable..NomComplet+"."+UneColonne..Nom) +TableTrie(TableauVersChaîne(tabColonnesTriees,TAB)) +BTN_AJOUTE_AU_TRI..Visible = Faux +// ZoneRépétéeDéplaceLigne(ZR_DONNEES_DISPO,nIndiceSel,nIndiceSel-1,tdAfficheDestination+tdEchange) +// +TableDéplaceColonne(chpTable,ZR_DONNEES_DISPO[nIndiceSel-1].ATT_NomColonne..Valeur , +TableIndiceColonne(chpTable, ZR_DONNEES_DISPO[nIndiceSel-1].ATT_NomColonne..Valeur, ticAffichage)-1) +fin +Clic sur BTN_BAS_TRI +nIndiceSel est un entier=ZoneRépétéeSelect(ZR_DONNEES_TRI) +nMaxColTri est un entier=ZoneRépétéeOccurrence(ZR_DONNEES_TRI) +si nIndiceSel>0 _et_ nIndiceSel<=nMaxColTri _et_ ZR_DONNEES_TRI[nIndiceSel].ATT_TitreColTriGrise<> +Grisé _et_ nIndiceSel+1<=nMaxColTri alors +nIndiceSel = ZoneRépétéeDéplaceLigne(ZR_DONNEES_TRI,nIndiceSel,nIndiceSel+1,tdAfficheDestination+ +tdEchange) +GestionBoutonHautTri(nIndiceSel) +GestionBoutonBasTri(nIndiceSel) +si nIndiceSel<=nMaxColTri alors +nIndTabTri est un entier = TableauChercheParProcédure(tabColonnesTriees, +ChercheTabNomChampFiniPar,tcLinéaire,0,ZR_DONNEES_TRI[nIndiceSel].ATT_NomColTri) +si nIndTabTri<=tabColonnesTriees..Occurrence alors +TableauDéplaceLigne(tabColonnesTriees,nIndTabTri,nIndTabTri+1,tdEchange) +TableTrie(TableauVersChaîne(tabColonnesTriees,TAB)) +fin +fin +fin +Clic sur BTN_ENLEVE_AU_TRI +06/08/2026 Isis_BO 526 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Code des champs +nIndiceSel est un entier=ZoneRépétéeSelect(ZR_DONNEES_TRI) +si nIndiceSel>0 _et_ nIndiceSel<=ZoneRépétéeOccurrence(ZR_DONNEES_TRI) _et_ ZR_DONNEES_TRI[nIndiceSel] +.ATT_TitreColTriGrise<>Grisé alors +UneColonne <- TableEnumèreColonne(chpTable,TableIndiceColonne(chpTable, ZR_DONNEES_TRI[ZR_ +DONNEES_TRI].ATT_NomColTri, ticCréation)) +ZoneRépétéeSupprime(ZR_DONNEES_TRI,nIndiceSel,zrAnimationSuppression) +nIndiceSearch est un entier = TableauChercheParProcédure(tabColonnesTriees,ChercheTabContient, +tcLinéaire,0,UneColonne..Nom)//TableauCherche(tabColonnesTriees,tcLinéaire,UneColonne..Nom,1) +si nIndiceSearch>0 alors +TableauSupprime(tabColonnesTriees,nIndiceSearch) +fin +TableTrie(TableauVersChaîne(tabColonnesTriees,TAB)) +nIndiceSel = ZoneRépétéeSelect(ZR_DONNEES_TRI) +GestionBoutonEnleveTri(nIndiceSel) +GestionBoutonHautTri(nIndiceSel) +GestionBoutonBasTri(nIndiceSel) +// +ZoneRépétéeDéplaceLigne(ZR_DONNEES_DISPO,nIndiceSel,nIndiceSel-1,tdAfficheDestination+tdEchange) +// +TableDéplaceColonne(chpTable,ZR_DONNEES_DISPO[nIndiceSel-1].ATT_NomColonne..Valeur , +TableIndiceColonne(chpTable, ZR_DONNEES_DISPO[nIndiceSel-1].ATT_NomColonne..Valeur, +ticAffichage)-1) +fin +Clic sur BTN_HAUT_TRI +nIndiceSel est un entier=ZoneRépétéeSelect(ZR_DONNEES_TRI) +si nIndiceSel>0 _et_ nIndiceSel>0 _et_ ZR_DONNEES_TRI[nIndiceSel].ATT_TitreColTriGrise<>Grisé _et_ ( +nIndiceSel-1)>0 _et_ ZR_DONNEES_TRI[nIndiceSel-1].ATT_TitreColTriGrise<>Grisé alors +nIndiceSel = ZoneRépétéeDéplaceLigne(ZR_DONNEES_TRI,nIndiceSel,nIndiceSel-1,tdAfficheDestination+ +tdEchange) +GestionBoutonHautTri(nIndiceSel) +GestionBoutonBasTri(nIndiceSel) +si nIndiceSel>0 alors +nIndTabTri est un entier = TableauChercheParProcédure(tabColonnesTriees, +ChercheTabNomChampFiniPar,tcLinéaire,0, ZR_DONNEES_TRI[nIndiceSel].ATT_NomColTri) +si nIndTabTri>0 alors +TableauDéplaceLigne(tabColonnesTriees,nIndTabTri,nIndTabTri-1,tdEchange) +TableTrie(TableauVersChaîne(tabColonnesTriees,TAB)) +fin +fin +fin +Sélection d'une ligne de ZR_DONNEES_TRI +nIndiceSel est un entier=ZoneRépétéeSelect(ZR_DONNEES_TRI) +GestionBoutonEnleveTri(nIndiceSel) +GestionBoutonHautTri(nIndiceSel) +GestionBoutonBasTri(nIndiceSel) +Initialisation de BTN_TRI ( ZR_DONNEES_TRI ) +MoiMême..Image="fleche_croissante.png" +Clic sur BTN_TRI ( ZR_DONNEES_TRI ) +06/08/2026 Isis_BO 527 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Code des champs +MoiMême..Image=(MoiMême..Enfoncé?"fleche_decroissante.png" sinon "fleche_croissante.png") +ZR_DONNEES_TRI[ZR_DONNEES_TRI].ATT_TRI = (MoiMême..Enfoncé?"fleche_decroissante.png" sinon +"fleche_croissante.png") +nIndiceSel est un entier=ZoneRépétéeSelect(ZR_DONNEES_TRI) +si nIndiceSel>0 _et_ nIndiceSel<=ZoneRépétéeOccurrence(ZR_DONNEES_TRI) alors +UneColonne <- TableEnumèreColonne(chpTable,TableIndiceColonne(chpTable, ZR_DONNEES_TRI[ZR_ +DONNEES_TRI].ATT_NomColTri, ticCréation)) +nIndiceSearch est un entier = TableauChercheParProcédure(tabColonnesTriees,ChercheTabContient, +tcLinéaire,0,UneColonne..Nom)//TableauCherche(tabColonnesTriees,tcLinéaire,UneColonne..Nom,1) +si nIndiceSearch>0 alors +si MoiMême..Enfoncé alors +tabColonnesTriees[nIndiceSearch] = "-"+chpTable..NomComplet+"."+UneColonne..Nom +sinon +tabColonnesTriees[nIndiceSearch] = chpTable..NomComplet+"."+UneColonne..Nom +fin +TableTrie(TableauVersChaîne(tabColonnesTriees,TAB)) +fin +fin +FEN_Choix_Colonne_Et_Tri +Procédures +Procédure locale ChercheTabContient +// Résumé : +// Syntaxe : +//[ = ] ChercheTabContient (, ) +// +// Paramètres : +// ElementTableau : +// ValeureRecherche : +// Valeur de retour : +// entier : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChercheTabContient(ElementTableau, ValeureRecherche) +sChaine est une chaîne = ExtraitChaîne(ExtraitChaîne(ElementTableau,1,".",DepuisFin),1,"-",DepuisFin) +si ValeureRecherche=sChaine alors +renvoyer 0 +sinon +renvoyer -1 +fin +Procédure locale GestionBoutonBasTri +// Résumé : +// Syntaxe : +//GestionBoutonBasTri ( est entier) +// +// Paramètres : +// nIndiceSel (entier) : +// Valeur de retour : +// Aucune +// +06/08/2026 Isis_BO 528 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colonne_Et_Tri › Procédures +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure GestionBoutonBasTri(local nIndiceSel est un entier) +si (nIndiceSel)<=ZoneRépétéeOccurrence(ZR_DONNEES_TRI) _et_ ZR_DONNEES_TRI[nIndiceSel].ATT_ +TitreColTriGrise<>Grisé _et_ (nIndiceSel+1)<=ZoneRépétéeOccurrence(ZR_DONNEES_TRI) alors +BTN_BAS_TRI..Visible = Vrai +sinon +BTN_BAS_TRI..Visible = Faux +fin +Procédure locale GestionBoutonEnleveTri +// Résumé : +// Syntaxe : +//GestionBoutonEnleveTri () +// +// Paramètres : +// nIndiceSel : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure GestionBoutonEnleveTri(nIndiceSel) +si nIndiceSel>0 _et_ ZR_DONNEES_TRI[ZR_DONNEES_TRI].ATT_TitreColTriGrise<>Grisé alors +nIndiceColTri est un entier = ZoneRépétéeCherche(ATT_NomColonne,ZR_DONNEES_TRI[ZR_DONNEES_TRI].ATT_ +NomColTri,rechercheIdentique) +BTN_ENLEVE_AU_TRI..Visible = nIndiceColTri>0 +sinon +BTN_ENLEVE_AU_TRI..Visible = Faux +fin +Procédure locale GestionBoutonHautTri +// Résumé : +// Syntaxe : +//GestionBoutonHautTri ( est entier) +// +// Paramètres : +// nIndiceSel (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure GestionBoutonHautTri(local nIndiceSel est un entier) +si (nIndiceSel-1)>0 _et_ ZR_DONNEES_TRI[nIndiceSel-1].ATT_TitreColTriGrise<>Grisé alors +BTN_HAUT_TRI..Visible = Vrai +sinon +BTN_HAUT_TRI..Visible = Faux +fin +06/08/2026 Isis_BO 529 + +Partie 3 › Fenêtre WINDEV › FEN_ChoixCalendrierTps › Image +FEN_ChoixCalendrierTps +Image +FEN_ChoixCalendrierTps +Informations générales +FEN_ChoixCalendrierTps +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_ChoixCalendrierTps.wdw +| Créé par | | XVA | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 10/12/2018 12:50:38 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 23/04/2025 11:43:31 | | | | +| Titre | | FR: ChoixCalendrierTps | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 242 Hauteur | 235 | +| 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 | | | | +| ------------ | --- | ----- | ------- | --- | --- | +| 06/08/2026 | | | Isis_BO | | 530 | + +Partie 3 › Fenêtre WINDEV › FEN_ChoixCalendrierTps › Informations générales +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +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 +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Image fond FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Blueberries\Blueberries_Background_Purple.jpg +Image poignée D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +06/08/2026 Isis_BO 531 + +Partie 3 › Fenêtre WINDEV › FEN_ChoixCalendrierTps › Informations générales +Statistiques de la fenêtre +| | Libellé | | | 1 | | Bouton | | | | 2 | +| --- | ---------- | --- | --- | --- | --- | ------ | --- | --- | --- | --- | +| | Calendrier | | | 1 | | | | | | | +Nombre d'éléments dans la fenêtre : 4 +FEN_ChoixCalendrierTps +Informations sur les champs +Fenêtre : FEN_ChoixCalendrierTps +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | --- | +ruetuaH +| | | | ruegraL | | | elbisiV | | | | | +| --- | --- | --- | ------- | --- | --- | ------- | --- | --- | --- | --- | +nalP +| LIB_Titre | | 2 | 6 162 | 41 | 0 | Actif | Gauche | Centre | | | +| --------- | --- | --- | ----- | --- | --- | ----- | ------ | ------ | --- | --- | +Bouton +| | | | | | | | | BAT ehcuoT | notuob epyT | | +| --- | --- | ---------- | --- | --- | --- | --- | ------------ | ---------- | ----------- | --- | +| | | X noitisoP | | | | | laitini tatE | | | | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Fermer_compact | | 210 | 16 | 24 | 24 | 0 | Actif | | Abandon | | +| ------------------- | --- | --- | --- | --- | --- | --- | ----- | --- | ------- | --- | +| BTN_Valider_compact | | 170 | 16 | 24 | 24 | 0 | Actif | | Normal | | +Calendrier +| | | | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | --------------------- | --- | ------- | ------- | --- | --- | ------------ | ---------- | +| | | | X noitisoP Y noitisoP | | | | | | | | +| | | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| CAL_ChoixDate | | | 6 | 53 | 224 | 158 | 0 | Actif | | | +| ------------- | --- | --- | --- | ------- | --- | --- | --- | ----- | --- | --- | +| 06/08/2026 | | | | Isis_BO | | | | | | 532 | + +Partie 3 › Fenêtre WINDEV › FEN_ChoixCalendrierTps › Informations sur les champs +Fenêtre : FEN_ChoixCalendrierTps +Bouton : BTN_Fermer_compact +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 533 + +Partie 3 › Fenêtre WINDEV › FEN_ChoixCalendrierTps › Informations sur les champs +Bouton : BTN_Valider_compact +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 534 + +Partie 3 › Fenêtre WINDEV › FEN_ChoixCalendrierTps › Informations sur les champs +Calendrier : CAL_ChoixDate +Libellé FR: Calendrier +Ordre navigation 3 +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format retour AAAAMMJJ +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Numéro semaine Non +Semaine ISO8601 Non +Texte Markdown Non +Sélection hors mois Oui +Style hors mois Oui +Jours hors mois Oui +Premier jour semaine Lundi +Bouton aujourd'hui Oui +Libellé aujourd'hui FR: aujourd'hui +Format mois FR: MMMM AAAA +Sélection de périodes Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Titre +Libellé FR: Veuillez sélectionner une date +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +06/08/2026 Isis_BO 535 + +Partie 3 › Fenêtre WINDEV › FEN_ChoixCalendrierTps › Informations sur les champs +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_ChoixCalendrierTps +Code +Déclarations globales de FEN_ChoixCalendrierTps +//--- Fenêtre Popup --- +// Pour accéder au champ ou à la combo popup qui a ouvert cette fenêtre +// vous pouvez utiliser : MonChampPopup +procédure MaFenêtre(local gdDateDebut est une chaîne ANSI) +//AfficheDate=0 affiche date debut - AfficheDate=1 affiche date fin +sDateRetourDebut est une chaîne +gnIndice est un entier +gsDatejour est une chaîne=gdDateDebut +CalendrierSelectPlus(CAL_ChoixDate,gdDateDebut) +Fermeture de FEN_ChoixCalendrierTps +si sDateRetourDebut="" alors +sDateRetourDebut=gdDateDebut +fin +renvoyer (sDateRetourDebut) +06/08/2026 Isis_BO 536 + +Partie 3 › Fenêtre WINDEV › FEN_ChoixCalendrierTps › Code des champs +FEN_ChoixCalendrierTps +Code des champs +Clic sur BTN_Fermer_compact +Ferme(FEN_ChoixCalendrierTps,gdDateDebut) +Clic sur BTN_Valider_compact +//sDateHeureRetourDebut=CAL_ChoixDate..DateDébut+ExtraitChaîne(COMBO_HeureDebut..ValeurAffichée,1,":")+ +ExtraitChaîne(COMBO_HeureDebut..ValeurAffichée,2,":")+"00" +//sDateHeureRetourFin=CAL_ChoixDate..Datefin+ExtraitChaîne(COMBO_HeureFin..ValeurAffichée,1,":")+Extrai +tChaîne(COMBO_HeureFin..ValeurAffichée,2,":")+"00" +sDateRetourDebut=CalendrierSelect(CAL_ChoixDate) +Ferme(FEN_ChoixCalendrierTps,sDateRetourDebut) +Sélection d'un jour dans CAL_ChoixDate +sDateRetourDebut=CalendrierSelect(CAL_ChoixDate) +Ferme(FEN_ChoixCalendrierTps,sDateRetourDebut) +06/08/2026 Isis_BO 537 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleMail › Image +FEN_Choix_ModeleMail +Image +FEN_Choix_ModeleMail +Informations générales +FEN_Choix_ModeleMail +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Choix_ModeleMail.wdw +| Créé par | | FBO | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 10/04/2019 11:16:36 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:23 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 257 Hauteur | 320 | +| 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. +| 06/08/2026 | | | Isis_BO | | 538 | +| ---------- | --- | --- | ------- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleMail › Informations générales +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre Simple (non redimensionnable) +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Statistiques de la fenêtre +Libellé 2 Bouton 2 +Table 1 Colonne de table 3 +Rupture de zone répétée 2 +06/08/2026 Isis_BO 539 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleMail › Informations générales +Nombre d'éléments dans la fenêtre : 10 +FEN_Choix_ModeleMail +Informations sur les champs +Fenêtre : FEN_Choix_ModeleMail +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Titre_Modele_de_mail | | 4 5 | 146 | 21 | 0 | Actif | Gauche | Centre | | +| ------------------------ | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | +Bouton +notuob epyT +| | | | | | | | laitini tatE | BAT ehcuoT | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | --- | +| | | X noitisoP | Y noitisoP | | | | | | | +| | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Fermer_Liste_modele | | 225 | 3 | 24 | 24 | 0 | Actif | | Abandon | +| ------------------------ | --- | --- | --- | --- | --- | --- | ----- | --- | ------- | +| BTN_Valider_Liste_modele | | 195 | 3 | 24 | 24 | 0 | Actif | | Normal | +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +lennoitroporp .csA +.loc .gifnoc .oméM +| | | | | | | )(ertliFH resilitU | | ruesnecsa elluB EERTNE noitseG | eércna ennoloC | +| --- | --- | --- | --- | --- | --- | ------------------ | -------------- | ------------------------------ | -------------- | +| | | | | | | .gerne egacolB | noitcelésitluM | edacsac eisiaS | 5.5 elbitapmoC | +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | | +| --- | --------------------- | ------- | ------- | ------------ | -------- | --- | --- | --- | --- | +| | | ruetuaH | | | sruocraP | | | | | +| | | ruegraL | elbisiV | | | | | | | +elbaT +nalP +| TABLE_MODELE_MAIL | 0 31 | 255 286 | 0 affichag | | Variable | | | | 1 | +| ----------------- | ---- | ------- | ---------- | ------- | -------- | --- | --- | --- | --- | +| 06/08/2026 | | | | Isis_BO | | | | | 540 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleMail › Informations sur les champs +Table : TABLE_MODELE_MAIL +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| LIB_Rupt | 24 | 34 209 | 18 | 0 Actif | Gauche | Haut | | +| -------- | --- | ------ | --- | ------- | ------ | ---- | --- | +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC +| | | ehcuag à eéxiF | | ehcrehcer cevA | | | | +| --- | --- | -------------- | --- | --------------------------- | --- | --- | --- | +| | | | | .zroh egardaC .trev egardaC | | | | +FTR tamroF +| | | laitini tatE | elbaçalpéD | | eisias epyT | engilitluM | eisias cevA | +| --- | --- | ------------ | ---------- | --- | ----------- | ---------- | ----------- | +ruegraL +elbisiV +| epyT | | | | | | eéirT | | +| -------------- | --- | -------- | --- | ------------- | ----- | ----- | --- | +| COL_M_sLibelle | 238 | affichag | | Gauche Centre | Texte | | | +| COL_M_Code | 162 | affichag | | Gauche Centre | Texte | | | +| COL_M_CAT | 100 | Actif | | Gauche Centre | Texte | | | +Rupture de zone répétée +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +RUPT_RuptCat +RUPT_RuptCatBas +Fenêtre : FEN_Choix_ModeleMail +Bouton : BTN_Fermer_Liste_modele +| 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 | | | | | | | | +| Retrait gauche | 0 | | | | | | | +| 06/08/2026 | | | Isis_BO | | | | 541 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleMail › Informations sur les champs +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Abandonner +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 : BTN_Valider_Liste_modele +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Valider le choix +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +06/08/2026 Isis_BO 542 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleMail › Informations sur les champs +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +Libellé : LIB_Titre_Modele_de_mail +Libellé FR: Modèle de mail +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 +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 +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 +06/08/2026 Isis_BO 543 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleMail › Informations sur les champs +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : TABLE_MODELE_MAIL +Libellé FR: Table m_clTabVisible +Ordre navigation 3 +Curseur survol 0 +Mode Loupe Filtre +UI par l'utilisateur Selon fenêtre +Menu contextuel +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 0 +Hauteur ligne (sans marges) 16 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 544 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleMail › Informations sur les champs +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. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationListeMailModele.m_clTabModele +Rub. mémorisée :gclPresentationListeMailModele.m_clTabModele +Ajout/Suppr. dans variable Non +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 : TABLE_MODELE_MAIL +Rupture de zone répétée : TABLE_MODELE_MAIL.RUPT_RuptCat (1) +Toujours visible Non +Attribut de rupture 2 +Libellé : TABLE_MODELE_MAIL.RUPT_RuptCat.LIB_Rupt +Libellé FR: Catégorie +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Isis_BO 545 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleMail › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationListeMailModele.m_clTabModele.m_sLibCategorie +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : TABLE_MODELE_MAIL.RUPT_RuptCatBas (2) +Toujours visible Non +Attribut de rupture 2 +Colonne de table : TABLE_MODELE_MAIL.COL_M_sLibelle (3) +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +06/08/2026 Isis_BO 546 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleMail › Informations sur les champs +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Oui +Liaison des données :gclPresentationListeMailModele.m_clTabModele.m_sNom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : TABLE_MODELE_MAIL.COL_M_Code (4) +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 +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 Oui +Liaison des données :gclPresentationListeMailModele.m_clTabModele.m_sCode +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 547 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleMail › Informations sur les champs +Colonne de table : TABLE_MODELE_MAIL.COL_M_CAT (5) +Titre FR: M_CAT +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 +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 +Liaison des données :gclPresentationListeMailModele.m_clTabModele.m_sLibCategorie +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FEN_Choix_ModeleMail +Code +Déclarations globales de FEN_Choix_ModeleMail +procédure FEN_Choix_ModeleMail(gclPresentationListeMailModele est un PTableMailModele dynamique< +présentation>=Null,paramSupplementaire est un STParamFenetreAppelante=Null) +LIB_Titre_Modele_de_mail = paramSupplementaire.eTypeAppel=Libre ? "Modèles de mail" sinon +paramSupplementaire.sTitreFenetre<>"" ? paramSupplementaire.sTitreFenetre sinon "Modèles de mail" +local +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentationListeMailModele=Null alors +gclPresentationListeMailModele=PTableMailModele.gNouvellePresentation() +06/08/2026 Isis_BO 548 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleMail › Code +fin +//Chargement de la liste des Modèles de mail +//rq est une requête SQL = +//[ +// SELECT MM_Code,MM_Nom,PA_Libelle +// FROM +// ( +// MailModele +// INNER JOIN +// MailCat +// ON MailModele.MM_Code = MailCat.MMC_CodeModMail +// ) +// INNER JOIN +// ParametreMetier +// ON MailCat.MMC_CodeCat = ParametreMetier.PA_Valeur +// +// WHERE ParametreMetier.PA_Code ='MC' +// Order BY PA_Libelle,MM_Nom +// +//] +// +// +//HExécuteRequête(rq) +//n est un entier +//pour tout rq +// +// n=TABLE_MODELE.AjouteLigne(rq.MM_Nom,rq.MM_Code,rq.PA_Libelle) +// TableIndiceRupture(RUPT_RuptCat,n) +// TABLE_MODELE[n].RUPT_RuptCat.LIB_Rupt=rq.PA_Libelle +// +// +//FIN +//si TABLE_MODELE..Occurrence>0 alors +// TABLE_MODELE.SelectPlus(1) +//sinon +// info("Il n'y pas de modèles de mail dans la base") +// ferme(MaFenêtre ,"") +//fin +Demande de mise à jour de l'affichage de FEN_Choix_ModeleMail +si gclPresentationListeMailModele<>Null _et_ gclPresentationListeMailModele est PTableMailModele +// mise à jour des champs bindés sur la présentation (compteur par exemple) +SourceVersEcran("","gclPresentationListeMailModele") +//MAJ du champ TABLE et de l'objet Liste CLient +MAJChampTableEtObjet(TABLE_MODELE_MAIL,gclPresentationListeMailModele.p_clCourant) +fin +Fermeture de FEN_Choix_ModeleMail +//MaFenêtre..ValeurRenvoyée= TABLE_MODELE.COL_M_Code +FEN_Choix_ModeleMail +Code des champs +Clic sur BTN_Fermer_Liste_modele +06/08/2026 Isis_BO 549 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ModeleMail › Code des champs +Ferme(MaFenêtre,"X") +Clic sur BTN_Valider_Liste_modele +si paramSupplementaire.eTypeAppel<>Libre alors +AppelProcFenetreAppelante(gclPresentationListeMailModele,paramSupplementaire,Vrai,Vrai) +fin +Ferme(MaFenêtre) +Sortie d'une ligne de TABLE_MODELE_MAIL +// si la table n'a pas été modifiée, il ne faut rien faire +si TABLE_MODELE_MAIL..Modifié=Faux alors +retour +fin +pclPresentationFiche est un PFichePersonne dynamique +// ajout d'une nouvelle ligne +si TABLE_MODELE_MAIL..Nouveau alors +pclPresentationFiche<-gclPresentationListeMailModele.Nouveau() +// modification d'une ligne existante +sinon +pclPresentationFiche<-gclPresentationListeMailModele.Modifier() +fin +// sauvegarde de la table +TableEnregistre(TABLE_MODELE_MAIL,pclPresentationFiche) +// repasse la table en non modifiée +TABLE_MODELE_MAIL..Modifié=Faux +Sélection d'une ligne de TABLE_MODELE_MAIL +si TABLE_MODELE_MAIL..Nouveau alors +gclPresentationListeMailModele.p_clCourant=Null +sinon +gclPresentationListeMailModele.p_clCourant=TABLE_MODELE_MAIL +ExécuteTraitement(BTN_Valider_Liste_modele,trtClic) +fin +06/08/2026 Isis_BO 550 + +Partie 3 › Fenêtre WINDEV › FEN_ModEmail_ChoixCatégories › Image +FEN_ModEmail_ChoixCatégories +Image +FEN_ModEmail_ChoixCatégories +Informations générales +FEN_ModEmail_ChoixCatégories +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_ModEmail_ChoixCatégories.wdw +| Créé par | | DFI | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | ------------ | --- | +| Date de création | | 10/03/2020 10:39:05 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:23 | | | | +| Titre | | FR: Catégories de mail | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 429 Hauteur | 430 | +| Visible | | Barre de titre | | Menu système | | +| 06/08/2026 | | | Isis_BO | | 551 | + +Partie 3 › Fenêtre WINDEV › FEN_ModEmail_ChoixCatégories › Informations générales +| 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 | | | | +| Menu contextuel | | | | | +| Unité des tailles | Compatible desktop ET mobile | | | | +| Ancrage au contenu | | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Oui | | | | +| Type cadre | Simple (non redimensionnable) | | | | +| Transparence Vista | Non | | | | +| Transparence gérée par Vista | Non | | | | +| Appliquer le thème du projet | | | | | +| Grisé : Utiliser couleur perso. | Non | | | | +| Grisé : Algo pour images | | | | | +| 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. | | | | | +| 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 | Non | | | | +| Déplace souris sur bouton par | Non | | | | +| Compact. barres outils | Non | | | | +| 06/08/2026 | | Isis_BO | | 552 | + +Partie 3 › Fenêtre WINDEV › FEN_ModEmail_ChoixCatégories › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | | 1 | Libellé | | | | 1 | +| --- | --------------- | --- | --- | --- | --------------------- | --- | --- | --- | --- | +| | Bouton | | | 1 | Image | | | | 3 | +| | Zone répétée | | | 1 | Attribut zone répétée | | | | 6 | +Nombre d'éléments dans la fenêtre : 13 +FEN_ModEmail_ChoixCatégories +Informations sur les champs +Fenêtre : FEN_ModEmail_ChoixCatégories +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_Titre | | 17 9 | 206 | 20 | 0 | Actif | Gauche | Centre | | +| --------- | --- | ---- | --- | --- | --- | ----- | ------ | ------ | --- | +Bouton +| | | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | ---------- | ----------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Valider_fiche_intervention | | 330 | 6 | 24 | 24 | 0 | Actif | Normal | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | ----- | ------ | --- | +Image +| | | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --------------------------------------- | ---------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +cilc cevA +| | | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| IMG_SansNom1 | | 4 | 4 | 418 | 32 | 0 | Actif | | | +| ------------ | --- | --- | --- | ------- | --- | --- | ----- | --- | --- | +| 06/08/2026 | | | | Isis_BO | | | | | 553 | + +Partie 3 › Fenêtre WINDEV › FEN_ModEmail_ChoixCatégories › Informations sur les champs +Zone répétée +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_Cat | | | 4 | 36 | 418 | 387 | | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Zone répétée : ZR_Cat +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_Nom | 43 8 | 348 31 | 0 | affichag | Texte | | Non | | | | +| ------- | ---- | ------ | --- | -------- | ----- | --- | --- | --- | --- | --- | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | ---------- | +cilc cevA +| | | | | ruegraL | ruetuaH | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| IMG_CocheNon | | 8 | | 7 | 32 32 | 0 | | Actif | | | +| ------------ | --- | --- | --- | --- | ----- | --- | --- | ----- | --- | --- | +| IMG_CocheOui | | 8 | | 7 | 32 32 | 0 | | Actif | | | +Attribut zone répétée +| | | | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | ---------- | +| | | | X noitisoP | Y noitisoP | | | | | | | +| | | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +ATT_CocheNon +ATT_CocheOui +ATT_Code +ATT_ID +ATT_Indice +ATT_Nom +| 06/08/2026 | | | | | Isis_BO | | | | | 554 | +| ---------- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_ModEmail_ChoixCatégories › Informations sur les champs +Fenêtre : FEN_ModEmail_ChoixCatégories +Bouton : BTN_Valider_fiche_intervention +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS_INTERV +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 555 + +Partie 3 › Fenêtre WINDEV › FEN_ModEmail_ChoixCatégories › Informations sur les champs +Image : IMG_SansNom1 +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Titre +Libellé FR: Catégories +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 556 + +Partie 3 › Fenêtre WINDEV › FEN_ModEmail_ChoixCatégories › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : ZR_Cat +Libellé FR: &Zone répétée +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu contextuel +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 0 +Hauteur ligne 48 +Largeur colonne 418 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +06/08/2026 Isis_BO 557 + +Partie 3 › Fenêtre WINDEV › FEN_ModEmail_ChoixCatégories › Informations sur les champs +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : ZR_Cat +Attribut zone répétée : ZR_Cat.ATT_CocheNon (5) +Champ associé IMG_CocheNon +Propriété associée 73 +06/08/2026 Isis_BO 558 + +Partie 3 › Fenêtre WINDEV › FEN_ModEmail_ChoixCatégories › Informations sur les champs +Attribut zone répétée : ZR_Cat.ATT_CocheOui (4) +Champ associé IMG_CocheOui +Propriété associée 73 +Attribut zone répétée : ZR_Cat.ATT_Code (1) +Propriété associée 1 +Attribut zone répétée : ZR_Cat.ATT_ID (3) +Propriété associée 1 +Attribut zone répétée : ZR_Cat.ATT_Indice (6) +Propriété associée 1 +Attribut zone répétée : ZR_Cat.ATT_Nom (2) +Champ associé SAI_Nom +Propriété associée 1 +Image : ZR_Cat.IMG_CocheNon +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Coche_NOK_32_1.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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) +06/08/2026 Isis_BO 559 + +Partie 3 › Fenêtre WINDEV › FEN_ModEmail_ChoixCatégories › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Texte Markdown Non +Mode menu ctx. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : ZR_Cat.IMG_CocheOui +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Coche_OK_32_1.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu contextuel +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Non +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 560 + +Partie 3 › Fenêtre WINDEV › FEN_ModEmail_ChoixCatégories › Informations sur les champs +Champ de saisie : ZR_Cat.SAI_Nom +Libellé FR: Nom +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 47 +Largeur interne 348 +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 +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 +06/08/2026 Isis_BO 561 + +Partie 3 › Fenêtre WINDEV › FEN_ModEmail_ChoixCatégories › 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. +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 +FEN_ModEmail_ChoixCatégories +Code +Déclarations globales de FEN_ModEmail_ChoixCatégories +//--- Fenêtre Popup --- +// Pour accéder au champ ou à la combo popup qui a ouvert cette fenêtre +// vous pouvez utiliser : MonChampPopup +procédure MaFenêtre(odMC est un PF_ModeleEmail dynamique ) +bSelect est un booléen +tbCategories est un tableau de MParametreMetier dynamique +nIndice est un entier +odCat est un MParametreMetier dynamique +pour tout ParametreMetier avec PA_Code=cPM_MM_MailCat +odCat = allouer un MParametreMetier +FichierVersMémoire(odCat,ParametreMetier) +tbCategories.Ajoute(odCat) +nIndice++ +bSelect = TableauCherche(odMC:tbCat,tcLinéaire,"saCodeCat",odCat.m_sValeur) <> -1 +//Vrai si le code Catégorie est dans le tableau tbCat +06/08/2026 Isis_BO 562 + +Partie 3 › Fenêtre WINDEV › FEN_ModEmail_ChoixCatégories › Code +ZR_Cat.AjouteLigne(odCat.m_sValeur ,odCat.m_sLibelle,odCat.IdentifiantUnique,bSelect,pas bSelect, +nIndice) +fin +Fermeture de FEN_ModEmail_ChoixCatégories +//Mise à jour du tableau des Catégories +odMC:tbCat.SupprimeTout() +odC est un MMailCat dynamique +pour toute ligne i de ZR_Cat +si ZR_Cat[i].ATT_CocheOui alors +odC = allouer un MMailCat +odC:saCodeCat = ZR_Cat[i].ATT_Code +odC:saCodeModMail = odMC:saCodeModel +odC:p_saLibCat = tbCategories[ZR_Cat[i].ATT_Indice]:m_sLibelle +odMC:tbCat.Ajoute(odC) +fin +fin +FEN_ModEmail_ChoixCatégories +Code des champs +Clic sur BTN_Valider_fiche_intervention +Ferme() +Affichage d'une ligne de ZR_Cat +//trace("Affiche ligne " + ZR_Cat) +Sélection d'une ligne de ZR_Cat +//Trace("Selection ligne " + ZR_Cat) +Clic sur IMG_CocheNon ( ZR_Cat ) +IMG_CocheOui..Visible = Vrai +IMG_CocheNon..Visible = Faux +ATT_CocheOui=Oui +ATT_CocheNon=Non +Clic sur IMG_CocheOui ( ZR_Cat ) +IMG_CocheOui..Visible = Faux +IMG_CocheNon..Visible = Vrai +ATT_CocheOui=Faux +ATT_CocheNon=Oui +06/08/2026 Isis_BO 563 + +Partie 3 › Fenêtre WINDEV › FEN_ParamModeleMail › Image +FEN_ParamModeleMail +Image +FEN_ParamModeleMail +Informations générales +FEN_ParamModeleMail +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_ParamModeleMail.wdw +Créé par DFI +Date de création 12/02/2020 08:33:52 +Dernière modification par SMR +Date dernière modification 11/04/2025 16:08:23 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +06/08/2026 Isis_BO 564 + +Partie 3 › Fenêtre WINDEV › FEN_ParamModeleMail › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 1125 Hauteur | 562 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Non | | | | +| Type cadre | | Simple (non redimensionnable) | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| 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 | | | | +Image fond FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\FondFenetreSombre_02.png +| 06/08/2026 | | | Isis_BO | | 565 | +| ---------- | --- | --- | ------- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_ParamModeleMail › Informations générales +Statistiques de la fenêtre +| | Bouton | | | 4 | | Fenêtre interne | | | 1 | +| --- | ---------- | --- | --- | --- | --- | --------------- | --- | --- | --- | +| | Superchamp | | | 1 | | | | | | +Nombre d'éléments dans la fenêtre : 6 +FEN_ParamModeleMail +Informations sur les champs +Fenêtre : FEN_ParamModeleMail +Fenêtre interne +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CFI_SansNom1 | | | 4 | 34 | 1113 | 520 | 0 | Actif | | +| ------------ | --- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_BoutonsSysteme | | | 1014 | 4 | 102 | 24 | 0 | Actif | | +| ----------------- | --- | --- | ---- | --- | --- | --- | --- | ----- | --- | +Superchamp : SC_BoutonsSysteme +Bouton +BAT ehcuoT notuob epyT +| | | X noitisoP | | | | | laitini tatE | | | +| --- | --- | ---------- | --- | --- | --- | --- | ------------ | --- | --- | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_AGRANDIR | | 1054 | 4 | 24 | 24 | 0 | Actif | Normal | | +| ------------- | --- | ---- | --- | ------- | --- | --- | ----- | ------ | --- | +| BTN_Annuler | | 1092 | 4 | 24 | 24 | 0 | Actif | Normal | | +| BTN_ICONISER | | 1014 | 4 | 24 | 24 | 0 | Actif | Normal | | +| BTN_RESTAURER | | 1054 | 4 | 24 | 24 | 0 | Actif | Normal | | +| 06/08/2026 | | | | Isis_BO | | | | | 566 | + +Partie 3 › Fenêtre WINDEV › FEN_ParamModeleMail › Informations sur les champs +Fenêtre : FEN_ParamModeleMail +Fenêtre interne : CFI_SansNom1 +Ordre navigation 2 +UI par l'utilisateur Selon fenêtre +Fenêtre Interne FI_ModEmail_Gestion +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Ascenseur auto. 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 +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_BoutonsSysteme +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 102 +Hauteur externe 24 +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 +06/08/2026 Isis_BO 567 + +Partie 3 › Fenêtre WINDEV › FEN_ParamModeleMail › Informations sur les champs +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_BoutonsSysteme +Bouton : SC_BoutonsSysteme.BTN_AGRANDIR +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Structure_icone_système_agrandir.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 568 + +Partie 3 › Fenêtre WINDEV › FEN_ParamModeleMail › Informations sur les champs +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : SC_BoutonsSysteme.BTN_Annuler +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Systeme_Fermer_5.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 569 + +Partie 3 › Fenêtre WINDEV › FEN_ParamModeleMail › Informations sur les champs +Bouton : SC_BoutonsSysteme.BTN_ICONISER +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Systeme_Reduire.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 570 + +Partie 3 › Fenêtre WINDEV › FEN_ParamModeleMail › Informations sur les champs +Bouton : SC_BoutonsSysteme.BTN_RESTAURER +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Structure_icone_système_restaurer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_ParamModeleMail +Code +Déclarations globales de FEN_ParamModeleMail +06/08/2026 Isis_BO 571 + +Partie 3 › Fenêtre WINDEV › FEN_ParamModeleMail › Code +procédure FEN_ParamModeleMail() +FEN_ParamModeleMail +Code des champs +Fin d'initialisation de SC_BoutonsSysteme +ConfigureAffichage +Clic sur BTN_AGRANDIR ( SC_BoutonsSysteme ) +Maximise(MaFenêtre) +ConfigureAffichage +Clic sur BTN_Annuler ( SC_BoutonsSysteme ) +Ferme(MaFenêtre) +Clic sur BTN_ICONISER ( SC_BoutonsSysteme ) +Iconise(MaFenêtre) +ConfigureAffichage +Clic sur BTN_RESTAURER ( SC_BoutonsSysteme ) +Restaure(MaFenêtre) +ConfigureAffichage +FEN_ParamModeleMail +Procédures +Procédure locale ConfigureAffichage ( SC_BoutonsSysteme ) +procédure ConfigureAffichage() +BTN_AGRANDIR..Visible = FenTaille(MaFenêtre) <> TailleMaxi +BTN_RESTAURER..Visible = pas BTN_AGRANDIR..Visible +06/08/2026 Isis_BO 572 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Dossier_Batigest › Image +FEN_Choix_Dossier_Batigest +Image +FEN_Choix_Dossier_Batigest +Informations générales +FEN_Choix_Dossier_Batigest +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Choix_Dossier_Batigest.wdw +| Créé par | | DFI | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | --- | +| Date de création | | 05/06/2020 20:30:25 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:24 | | | | +| Titre | | FR: Selection | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 566 | 253 | +| Position X | Position Y | | Largeur | Hauteur | | +| 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. +| 06/08/2026 | | | Isis_BO | | 573 | +| ---------- | --- | --- | ------- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Dossier_Batigest › Informations générales +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Non +Type cadre Double +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Image poignée D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +06/08/2026 Isis_BO 574 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Dossier_Batigest › Informations générales +Statistiques de la fenêtre +| | Libellé | | | | 2 | Bouton | | | | | 2 | +| --- | ------- | --- | --- | --- | --- | ------ | --- | --- | --- | --- | --- | +| | Liste | | | | 1 | Combo | | | | | 1 | +| | Forme | | | | 1 | | | | | | | +Nombre d'éléments dans la fenêtre : 7 +FEN_Choix_Dossier_Batigest +Informations sur les champs +Fenêtre : FEN_Choix_Dossier_Batigest +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_Contexte | | 12 | 42 | 540 | 20 | 0 | Actif | Gauche | Haut | | | +| --------------------- | --- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | --- | +| LIB_SEL_DOSS_BATIGEST | | | 6 6 | 474 | 21 | 0 | Actif | Gauche | Centre | | | +Bouton +notuob epyT +| | | | | | | | | laitini tatE | BAT ehcuoT | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | --- | --- | +| | | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| BTN_Fermer_Resultat_Recherche | | | 528 | 4 | 24 | 24 | 0 | Actif | | Abandon | | +| ----------------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | ------- | --- | +| BTN_Valider_Result_Recherche | | | 486 | 4 | 24 | 24 | 0 | Actif | | Normal | | +Liste +ruesnecsa/egahciffA +ruesnecsa elluB +noitcelésitluM +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | ------------ | --- | -------- | --- | --- | --- | +| | | | | ruetuaH | | | | sruocraP | | | | +| | | | ruegraL | | elbisiV | | | | | | | +elbaT +| | | | | | nalP | | | eéirT | | | | +| ---------- | --- | --- | ------ | --- | ------- | ----- | ------- | ----- | --- | --- | --- | +| LISTE_Rep | | 12 | 99 540 | 146 | 0 | Actif | Mémoire | | | | 1 | +| 06/08/2026 | | | | | Isis_BO | | | | | | 575 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Dossier_Batigest › 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 +| COMBO_Racine | 12 69 | 540 24 | 0 Actif | Mémoire | Non | | | +| ------------ | ----- | ------ | ------- | ------- | --- | --- | --- | +Forme +BAT ehcuoT +laitini tatE +| | | X noitisoP | Y noitisoP | | | | | +| --- | --- | ---------- | ---------- | ------- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_SansNom1 | | 0 | 0 565 | 32 | 0 | Actif | | +| ------------ | --- | --- | ----- | --- | --- | ----- | --- | +Fenêtre : FEN_Choix_Dossier_Batigest +Bouton : BTN_Fermer_Resultat_Recherche +| 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 | | | | | | | | +| 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 | | | | | | | | +| 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 | | | | | | | | +| Texte Markdown | | Non | | | | | | +| Mode menu ctx. | | | | | | | | +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +| 06/08/2026 | | | Isis_BO | | | | 576 | +| ---------- | --- | --- | ------- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Dossier_Batigest › Informations sur les champs +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 : BTN_Valider_Result_Recherche +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +06/08/2026 Isis_BO 577 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Dossier_Batigest › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : COMBO_Racine +Libellé FR: Racine +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 540 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 12 +Largeur interne 540 +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 +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 Oui +Avec focus Oui +Redimensionnable Oui +06/08/2026 Isis_BO 578 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Dossier_Batigest › Informations sur les champs +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. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FRM_SansNom1 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Contexte +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 579 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Dossier_Batigest › Informations sur les champs +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_SEL_DOSS_BATIGEST +Libellé FR: Sélectionnez le dossier BATIGEST +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 +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 +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 Largeur +06/08/2026 Isis_BO 580 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Dossier_Batigest › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Liste : LISTE_Rep +Libellé FR: &Liste +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Haut +Hauteur ligne 16 +Retrait gauche 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Sélection multiple Non +Mode ellipse +Unicode 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 Automatique +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Nb. Enreg. Max 0 +1ère ligne perso. Non +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 +06/08/2026 Isis_BO 581 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Dossier_Batigest › Code +FEN_Choix_Dossier_Batigest +Code +Déclarations globales de FEN_Choix_Dossier_Batigest +procédure MaFenêtre(oConnecteur est un C_ConnecteurBatigest) +MaFenêtre..ValeurRenvoyée="" +bOk est un booléen +sRep est une chaîne ANSI +(bOk,sRep)= oConnecteur:ListeDisques() +si bOk alors +ListeAjoute(COMBO_Racine,sRep) +fin +(bOk,sRep)= oConnecteur:Environnement("COMPUTERNAME") +si bOk alors +LIB_Contexte="POSTE : " + sRep[14 à] +fin +Fin d'initialisation de FEN_Choix_Dossier_Batigest +si COMBO_Racine..Occurrence>0 alors +COMBO_Racine.SelectPlus(1) +ListeDossier(COMBO_Racine..ValeurAffichée) +fin +FEN_Choix_Dossier_Batigest +Code des champs +Clic sur BTN_Fermer_Resultat_Recherche +Ferme(MaFenêtre,"") +Clic sur BTN_Valider_Result_Recherche +s est une chaîne = LISTE_Rep..ValeurAffichée +si s <> ".." alors +Ferme(MaFenêtre,s) +fin +Sortie de COMBO_Racine +ListeDossier(COMBO_Racine..ValeurAffichée) +Sélection d'une ligne de COMBO_Racine +06/08/2026 Isis_BO 582 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Dossier_Batigest › Code des champs +ListeDossier(COMBO_Racine..ValeurAffichée) +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur LISTE_Rep +si LISTE_Rep..ValeurAffichée=".." alors +n est un entier = ChaîneOccurrence( COMBO_Racine..ValeurAffichée,"\") +si n=1 alors +ListeDossier(Gauche(COMBO_Racine..ValeurAffichée,n)) +sinon si n>1 alors +n=Position(COMBO_Racine..ValeurAffichée,"\",0,DepuisFin) +sRacine est une chaîne +sRacine=Gauche(COMBO_Racine..ValeurAffichée,n-1) +ListeDossier(sRacine) +fin +sinon +ListeDossier(LISTE_Rep..ValeurAffichée) +fin +FEN_Choix_Dossier_Batigest +Procédures +Procédure locale ListeDossier +procédure ListeDossier(sDossier est une chaîne ANSI) +n est un entier =ListeCherche(COMBO_Racine,sDossier) +si n-1 alors +ListeAjoute(COMBO_Racine,sDossier) +ListeSelectPlus(COMBO_Racine,COMBO_Racine..Occurrence) +sinon +ListeSelectPlus(COMBO_Racine,n) +fin +(bOk,sRep)= oConnecteur:ListeRepertoires(sDossier) +si pas bOk alors +Erreur(sRep) +retour +fin +ListeSupprimeTout(LISTE_Rep) +ListeAjoute(LISTE_Rep,"..") +pour toute chaîne sDos de sRep séparée par RC +si ChaîneOccurrence(sDos,"\$")=0 alors +ListeAjoute(LISTE_Rep,sDos) +fin +fin +06/08/2026 Isis_BO 583 + +Partie 3 › Fenêtre WINDEV › FEN_Parametrage_ModeleRapport › Image +FEN_Parametrage_ModeleRapport +Image +FEN_Parametrage_ModeleRapport +Informations générales +FEN_Parametrage_ModeleRapport +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Parametrage_ModeleRapport.wdw +Créé par DFI +Date de création 12/02/2020 08:33:52 +Dernière modification par SMR +Date dernière modification 11/04/2025 16:08:24 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +06/08/2026 Isis_BO 584 + +Partie 3 › Fenêtre WINDEV › FEN_Parametrage_ModeleRapport › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 1125 Hauteur | 562 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Non | | | | +| Type cadre | | Simple (non redimensionnable) | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| 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 | | | | +Image fond FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\FondFenetreSombre_02.png +| 06/08/2026 | | | Isis_BO | | 585 | +| ---------- | --- | --- | ------- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Parametrage_ModeleRapport › Informations générales +Statistiques de la fenêtre +| | Bouton | | | 4 | | Fenêtre interne | | | 1 | +| --- | ---------- | --- | --- | --- | --- | --------------- | --- | --- | --- | +| | Superchamp | | | 1 | | | | | | +Nombre d'éléments dans la fenêtre : 6 +FEN_Parametrage_ModeleRapport +Informations sur les champs +Fenêtre : FEN_Parametrage_ModeleRapport +Fenêtre interne +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CFI_MODELE_RAPPORT | | | 4 | 34 | 1113 | 520 | 0 | Actif | | +| ------------------ | --- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_BoutonsSysteme | | | 1014 | 4 | 102 | 24 | 0 | Actif | | +| ----------------- | --- | --- | ---- | --- | --- | --- | --- | ----- | --- | +Superchamp : SC_BoutonsSysteme +Bouton +BAT ehcuoT notuob epyT +| | | X noitisoP | | | | | laitini tatE | | | +| --- | --- | ---------- | --- | --- | --- | --- | ------------ | --- | --- | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_AGRANDIR | | 1054 | 4 | 24 | 24 | 0 | Actif | Normal | | +| ------------------------- | --- | ---- | --- | ------- | --- | --- | ----- | ------ | --- | +| BTN_FERMER_MODELE_RAPPORT | | 1092 | 4 | 24 | 24 | 0 | Actif | Normal | | +| BTN_ICONISER | | 1014 | 4 | 24 | 24 | 0 | Actif | Normal | | +| BTN_RESTAURER | | 1054 | 4 | 24 | 24 | 0 | Actif | Normal | | +| 06/08/2026 | | | | Isis_BO | | | | | 586 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametrage_ModeleRapport › Informations sur les champs +Fenêtre : FEN_Parametrage_ModeleRapport +Fenêtre interne : CFI_MODELE_RAPPORT +Ordre navigation 2 +UI par l'utilisateur Selon fenêtre +Fenêtre Interne FI_Modele_Rapport +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Ascenseur auto. 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 +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_BoutonsSysteme +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 102 +Hauteur externe 24 +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 +06/08/2026 Isis_BO 587 + +Partie 3 › Fenêtre WINDEV › FEN_Parametrage_ModeleRapport › Informations sur les champs +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_BoutonsSysteme +Bouton : SC_BoutonsSysteme.BTN_AGRANDIR +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Structure_icone_système_agrandir.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 588 + +Partie 3 › Fenêtre WINDEV › FEN_Parametrage_ModeleRapport › Informations sur les champs +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : SC_BoutonsSysteme.BTN_FERMER_MODELE_RAPPORT +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Systeme_Fermer_5.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 589 + +Partie 3 › Fenêtre WINDEV › FEN_Parametrage_ModeleRapport › Informations sur les champs +Bouton : SC_BoutonsSysteme.BTN_ICONISER +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Systeme_Reduire.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 590 + +Partie 3 › Fenêtre WINDEV › FEN_Parametrage_ModeleRapport › Informations sur les champs +Bouton : SC_BoutonsSysteme.BTN_RESTAURER +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Structure_icone_système_restaurer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Parametrage_ModeleRapport +Code +Déclarations globales de FEN_Parametrage_ModeleRapport +06/08/2026 Isis_BO 591 + +Partie 3 › Fenêtre WINDEV › FEN_Parametrage_ModeleRapport › Code +procédure FEN_Parametrage_ModeleRapport() +FEN_Parametrage_ModeleRapport +Code des champs +Fin d'initialisation de SC_BoutonsSysteme +ConfigureAffichage +Clic sur BTN_AGRANDIR ( SC_BoutonsSysteme ) +Maximise(MaFenêtre) +ConfigureAffichage +Clic sur BTN_FERMER_MODELE_RAPPORT ( SC_BoutonsSysteme ) +Ferme(MaFenêtre) +Clic sur BTN_ICONISER ( SC_BoutonsSysteme ) +Iconise(MaFenêtre) +ConfigureAffichage +Clic sur BTN_RESTAURER ( SC_BoutonsSysteme ) +Restaure(MaFenêtre) +ConfigureAffichage +FEN_Parametrage_ModeleRapport +Procédures +Procédure locale ConfigureAffichage ( SC_BoutonsSysteme ) +procédure ConfigureAffichage() +BTN_AGRANDIR..Visible = FenTaille(MaFenêtre) <> TailleMaxi +BTN_RESTAURER..Visible = pas BTN_AGRANDIR..Visible +06/08/2026 Isis_BO 592 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ElementModeleMail › Image +FEN_Choix_ElementModeleMail +Image +FEN_Choix_ElementModeleMail +Informations générales +FEN_Choix_ElementModeleMail +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Choix_ElementModeleMail.wdw +| Créé par | | FBO | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 10/04/2019 11:16:36 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:24 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 257 Hauteur | 320 | +| 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. +| 06/08/2026 | | | Isis_BO | | 593 | +| ---------- | --- | --- | ------- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ElementModeleMail › Informations générales +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre Simple (non redimensionnable) +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Statistiques de la fenêtre +Libellé 4 Bouton 2 +Interrupteur 1 Zone répétée 1 +Attribut zone répétée 3 Option d'interrupteur 1 +Rupture de zone répétée 2 +06/08/2026 Isis_BO 594 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ElementModeleMail › Informations générales +Nombre d'éléments dans la fenêtre : 14 +FEN_Choix_ElementModeleMail +Informations sur les champs +Fenêtre : FEN_Choix_ElementModeleMail +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_SELECT_TABDONNEE | 0 | 33 255 | 34 | 0 | Actif | Gauche | Centre | | +| ------------------------ | --- | ------ | --- | --- | ----- | ------ | ------ | --- | +| LIB_Titre_Modele_de_mail | 2 | 5 191 | 21 | 0 | Actif | Gauche | Centre | | +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Fermer_Liste_modele | 225 | 3 | 24 | 24 | 0 | Actif | | Abandon | +| ------------------------ | --- | --- | --- | --- | --- | ----- | --- | ------- | +| BTN_Valider_Liste_modele | 195 | 3 | 24 | 24 | 0 | Actif | | Normal | +Zone répétée +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | | laitini tatE | +| --- | --- | --------------------- | --- | --------------- | --- | --- | --- | ------------ | +| | | | | ruegraL ruetuaH | | | | | +elbisiV +nalP +| ZR_DONNEES | | 0 | 67 | 255 | 251 | 0 | Actif | | +| ---------- | --- | --- | ------- | --- | --- | --- | ----- | --- | +| 06/08/2026 | | | Isis_BO | | | | | 595 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ElementModeleMail › Informations sur les champs +Zone répétée : ZR_DONNEES +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +X noitisoP Y noitisoP laitini tatE +ruegraL ruetuaH +elbisiV +nalP +| LIB_GROUPE | 24 5 | 208 14 | 0 Actif | Gauche | Haut | | +| ------------------ | ---- | ------ | ------- | ------ | ---- | --- | +| LIB_TYPE_PARAMETRE | 32 9 | 195 15 | 0 Actif | Gauche | Haut | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | BAT ehcuoT | | staté siorT | +| --- | --------------------- | --------------- | --- | ------------ | --- | ----------- | +| | X noitisoP Y noitisoP | | | laitini tatE | | | +| | | ruegraL ruetuaH | | | | | +elbisiV +nalP +| INT_ACTIF | 6 | 7 20 18 | 0 Actif | | 1 | | +| --------- | --- | ------- | ------- | --- | --- | --- | +Attribut zone répétée +BAT ehcuoT +laitini tatE +| | X noitisoP | Y noitisoP | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +ATT_GROUPE +ATT_LIB +ATT_SEL +Rupture de zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +RUPT_BRuptGR +RUPT_HRuptGR +| 06/08/2026 | | Isis_BO | | | | 596 | +| ---------- | --- | ------- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ElementModeleMail › Informations sur les champs +Fenêtre : FEN_Choix_ElementModeleMail +Bouton : BTN_Fermer_Liste_modele +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Abandonner +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 597 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ElementModeleMail › Informations sur les champs +Bouton : BTN_Valider_Liste_modele +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Valider le choix +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 598 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ElementModeleMail › Informations sur les champs +Libellé : LIB_SELECT_TABDONNEE +Libellé FR: Cochez les élements à insérer dans le mail +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 +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 +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Titre_Modele_de_mail +Libellé FR: Données disponibles +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 +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 +06/08/2026 Isis_BO 599 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ElementModeleMail › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : ZR_DONNEES +Libellé FR: &Zone répétée +Ordre navigation 3 +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 +Hauteur ligne max. 0 +Hauteur ligne 31 +Largeur colonne 238 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sans sélection +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +06/08/2026 Isis_BO 600 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ElementModeleMail › Informations sur les champs +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +Nb. Enreg. Max 0 +Parcours Automatique +Fichier parcouru :gstListeDonnees +Rub. mémorisée :gstListeDonnees +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Hauteur et droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : ZR_DONNEES +Attribut zone répétée : ZR_DONNEES.ATT_GROUPE (3) +Champ associé LIB_GROUPE +Propriété associée 1 +Liaison des données :gstListeDonnees.sGroupe +06/08/2026 Isis_BO 601 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ElementModeleMail › Informations sur les champs +Attribut zone répétée : ZR_DONNEES.ATT_LIB (2) +Champ associé LIB_TYPE_PARAMETRE +Propriété associée 1 +Liaison des données :gstListeDonnees.sElmt +Attribut zone répétée : ZR_DONNEES.ATT_SEL (1) +Champ associé INT_ACTIF +Propriété associée 1 +Liaison des données :gstListeDonnees.bSelect +Interrupteur : ZR_DONNEES.INT_ACTIF +Libellé FR: Badge +Valeur initiale 0 +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Liaison des données :gstListeDonnees.bSelect +06/08/2026 Isis_BO 602 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ElementModeleMail › Informations sur les champs +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : ZR_DONNEES.RUPT_HRuptGR.LIB_GROUPE +Libellé FR: Groupe +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 +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 +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 +Liaison des données :gstListeDonnees.sGroupe +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 603 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ElementModeleMail › Informations sur les champs +Libellé : ZR_DONNEES.LIB_TYPE_PARAMETRE +Libellé FR: Libellé +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 +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 A la fin +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 +Liaison des données :gstListeDonnees.sElmt +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : ZR_DONNEES.RUPT_BRuptGR (5) +Toujours visible Non +Attribut de rupture 2 +06/08/2026 Isis_BO 604 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ElementModeleMail › Informations sur les champs +Rupture de zone répétée : ZR_DONNEES.RUPT_HRuptGR (4) +Toujours visible Non +Attribut de rupture 2 +FEN_Choix_ElementModeleMail +Code +Déclarations globales de FEN_Choix_ElementModeleMail +procédure FEN_Choix_ElementModeleMail(gclFicheInterv est un PFicheIntervention dynamique, tbMC est un +tableau de ST_MotCle) +//gclPresentationListeMailModele est un PTableMailModele +dynamique=Null,paramSupplementaire est un STParamFenetreAppelante=Null +gstListeDonnees est un tableau de STDonnees +pour i=1 _à_ tbMC..Occurrence +si tbMC[i].bPresent _et_ tbMC[i].bTableau alors +//tbMC[i]:saTexte = DonneValeurMotClef(tbMC[i]:saCodeValeur,odFI) +selon tbMC[i]:saMotCle +//CAS "$TABPHOTO$" : bBlocPhotoVisible += ExisteMembreRubrique(unTerme,TT_RAPPORT); SI bBlocPhotoVisibleALORS FiltreDocument() +cas "" : SelectDonnee(gclFicheInterv:ListeContactClient,tbMC[i], +ExtraitChaîne(tbMC[i]:saCodeValeur,1,".")+ExtraitChaîne(tbMC[i]:saCodeValeur,2,".")) +cas "" : SelectDonnee(gclFicheInterv:ListeContactLieu,tbMC[i], +ExtraitChaîne(tbMC[i]:saCodeValeur,1,".")+ExtraitChaîne(tbMC[i]:saCodeValeur,2,".")) +cas "" : SelectDonnee(gclFicheInterv:ListeCompteRendu,tbMC[i], +ExtraitChaîne(tbMC[i]:saCodeValeur,1,".")+ExtraitChaîne(tbMC[i]:saCodeValeur,2,".")) +cas "" : SelectDonnee(gclFicheInterv:ListeRendezVous,tbMC[i], +ExtraitChaîne(tbMC[i]:saCodeValeur,1,".")+ExtraitChaîne(tbMC[i]:saCodeValeur,2,".")) +autre cas +si tbMC[i].bPresent _et_ Contient(tbMC[i]:saMotCle,"UNIQUE") alors +selon ExtraitChaîne(tbMC[i]:saMotCle,1,".") +cas """ ? paramSupplementaire.sTitreFenetre SINON "Modèles de mail" +STDonnees est une Structure +bSelect est un booléen +sGroupe est une chaîne +//sTerme est une chaîne +sCateg est une chaîne +06/08/2026 Isis_BO 605 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ElementModeleMail › Code +sRubrique est une chaîne +nIdElmt est un entier sur 8 octets +sElmt est une chaîne +fin +//LOCAL +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +//SI gclPresentationListeMailModele=Null ALORS +// gclPresentationListeMailModele=PTableMailModele.gNouvellePresentation() +//FIN +//Chargement de la liste des Modèles de mail +//rq est une requête SQL = +//[ +// SELECT MM_Code,MM_Nom,PA_Libelle +// FROM +// ( +// MailModele +// INNER JOIN +// MailCat +// ON MailModele.MM_Code = MailCat.MMC_CodeModMail +// ) +// INNER JOIN +// ParametreMetier +// ON MailCat.MMC_CodeCat = ParametreMetier.PA_Valeur +// +// WHERE ParametreMetier.PA_Code ='MC' +// Order BY PA_Libelle,MM_Nom +// +//] +// +// +//HExécuteRequête(rq) +//n est un entier +//pour tout rq +// +// n=TABLE_MODELE.AjouteLigne(rq.MM_Nom,rq.MM_Code,rq.PA_Libelle) +// TableIndiceRupture(RUPT_RuptCat,n) +// TABLE_MODELE[n].RUPT_RuptCat.LIB_Rupt=rq.PA_Libelle +// +// +//FIN +//si TABLE_MODELE..Occurrence>0 alors +// TABLE_MODELE.SelectPlus(1) +//sinon +// info("Il n'y pas de modèles de mail dans la base") +// ferme(MaFenêtre ,"") +//fin +Demande de mise à jour de l'affichage de FEN_Choix_ElementModeleMail +//SI gclPresentationListeMailModele<>Null _ET_ gclPresentationListeMailModele est PTableMailModele +// +// // mise à jour des champs bindés sur la présentation (compteur par exemple) +// SourceVersEcran("","gclPresentationListeMailModele") +// +// //MAJ du champ TABLE et de l'objet Liste CLient +// MAJChampTableEtObjet(TABLE_MODELE_MAIL,gclPresentationListeMailModele.p_clCourant) +//FIN +Fermeture de FEN_Choix_ElementModeleMail +//MaFenêtre..ValeurRenvoyée= TABLE_MODELE.COL_M_Code +06/08/2026 Isis_BO 606 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ElementModeleMail › Code +si MaFenêtre..ValeurRenvoyée="X" alors +TableauSupprimeTout(gstListeDonnees) +fin +renvoyer gstListeDonnees +FEN_Choix_ElementModeleMail +Code des champs +Clic sur BTN_Fermer_Liste_modele +Ferme(MaFenêtre,"X") +Clic sur BTN_Valider_Liste_modele +//SI paramSupplementaire.eTypeAppel<>Libre ALORS +// +//AppelProcFenetreAppelante(gclPresentationListeMailModele,paramSupplementaire,Vrai,Vrai) +//FIN +Ferme(MaFenêtre,"V") +A chaque modification de INT_ACTIF ( ZR_DONNEES ) +//ChampVersSource() +FEN_Choix_ElementModeleMail +Procédures +Procédure locale SelectDonnee +// Résumé : +// Syntaxe : +//SelectDonnee ( est objet dynamique, est ST_MotCle, est chaîne) +// +// Paramètres : +// tabDyn (objet dynamique) : +// stUnTerme (ST_MotCle) : +// sCateg (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SelectDonnee(tabDyn est un objet dynamique, stUnTerme est un ST_MotCle,sCateg est une chaîne) +nIndiceDonnee est un entier = TableauCherche(gstListeDonnees,tcLinéaire,"sCateg",sCateg,1) +si nIndiceDonnee=-1 _et_ tabDyn<>Null alors +pour i = 1 _à_ {tabDyn,":m_clTabModele"}..Occurrence +stUneDonnee est un STDonnees +06/08/2026 Isis_BO 607 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ElementModeleMail › Procédures +stUneDonnee.bSelect = Faux +stUneDonnee.nIdElmt = {{tabDyn,":m_clTabModele"}[i],"m_nPKID"} +stUneDonnee.sCateg = sCateg//stUnTerme.Rubrique +stUneDonnee.sGroupe = stUnTerme.saGroupe +//stUneDonnee.sRubrique = stUnTerme.Rubrique +si tabDyn est PTableRDV alors +stUneDonnee.sElmt=DateVersChaîne({{tabDyn,":m_clTabModele"}[i],"m_dhDateDebut"}, +"JJ/MM/AAAA")+" - "+{{tabDyn,":m_clTabModele"}[i],"m_sDescription"} +sinon si tabDyn est PTableCompteRendu +stUneDonnee.sElmt=DateVersChaîne({{tabDyn,":m_clTabModele"}[i],"m_dhDateHeureDebut"}, +"JJ/MM/AAAA")+" - "+{{tabDyn,":m_clTabModele"}[i],"m_sNomSignataire"} +sinon si tabDyn est PTableIntervention_Personne +stUneDonnee.sElmt={{tabDyn,":m_clTabModele"}[i],":m_clContact:CiviliteNomPrenom"} +fin +TableauAjoute(gstListeDonnees,stUneDonnee) +fin +fin +06/08/2026 Isis_BO 608 + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › Image +FEN_Maquette_checklist +Image +FEN_Maquette_checklist +Informations générales +FEN_Maquette_checklist +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Maquette_checklist.wdw +| Créé par | | FBO | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 10/04/2019 11:16:36 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:24 | | | | +| Titre | | FR: Maquette checklist | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 568 Hauteur | 320 | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 609 | + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › Informations générales +Ctx. HFSQL indép. +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre Simple (non redimensionnable) +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +06/08/2026 Isis_BO 610 + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › Informations générales +Statistiques de la fenêtre +| | Libellé | | | 7 | Bouton | | | | 5 | +| --- | --------------------- | --- | --- | --- | ----------------------- | --- | --- | --- | --- | +| | Interrupteur | | | 1 | Image | | | | 1 | +| | Zone répétée | | | 2 | Attribut zone répétée | | | | 11 | +| | Option d'interrupteur | | | 1 | Rupture de zone répétée | | | | 2 | +| | Disposition | | | 2 | Cellule de disposition | | | | 7 | +Nombre d'éléments dans la fenêtre : 39 +FEN_Maquette_checklist +Informations sur les champs +Fenêtre : FEN_Maquette_checklist +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | --- | +| | | | | | | laitini tatE | | FTR tamroF | | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_COLLAB1 | | 0 8 | 100 | 14 | 0 | Actif | Gauche | Haut | | +| ------------------------ | --- | ---- | --- | --- | --- | ----- | ------ | ------ | --- | +| LIB_SELECT_TABDONNEE | | 0 33 | 566 | 34 | 0 | Actif | Gauche | Centre | | +| LIB_Titre_Modele_de_mail | | 2 5 | 502 | 21 | 0 | Actif | Gauche | Centre | | +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_AjoutRessource | | 2 | 3 | 24 | 24 | 0 | Actif | Normal | | +| ------------------------ | --- | --- | --- | ------- | --- | --- | ----- | ------- | --- | +| BTN_Fermer_Liste_modele | | 536 | 3 | 24 | 24 | 0 | Actif | Abandon | | +| BTN_Valider_Liste_modele | | 506 | 3 | 24 | 24 | 0 | Actif | Normal | | +| 06/08/2026 | | | | Isis_BO | | | | | 611 | + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › 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_ICONE_CARACTERISTIQUES | 4 | 7 | 16 16 | 0 | Actif | | | +| -------------------------- | --- | --- | ----- | --- | ----- | --- | --- | +Zone répétée +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_CollabRDV | | 5 | 38 279 | 215 | 0 | Actif | | +| ------------ | --- | --- | ------ | --- | --- | ----- | --- | +| ZR_DONNEES | | 0 | 0 284 | 251 | 0 | Actif | | +Disposition +BAT ehcuoT +laitini tatE +| | | X noitisoP Y noitisoP | | | | | | +| --- | --- | --------------------- | ------- | ------- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| DISP_CHECKLIST | | 0 | 68 568 | 253 | 0 | Actif | | +| ---------------------------- | --- | --- | ------ | --- | --- | ----- | --- | +| DISP_ENTETE_CARACTERISTIQUES | | 5 | 6 279 | 32 | 0 | Actif | | +Zone répétée : DISP_CHECKLIST.ZR_CollabRDV +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | --- | +| | | | | laitini tatE | | FTR tamroF | | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Auplanning | 47 | 20 12 | 9 0 | Actif | Gauche | Haut | | +| -------------- | --- | ----- | ------- | ----- | ------ | ------ | --- | +| LIB_Nom | 2 | 9 119 | 25 0 | Actif | Gauche | Centre | | +| 06/08/2026 | | | Isis_BO | | | | 612 | + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › Informations sur les champs +Bouton +notuob epyT +| | | | | | laitini tatE | BAT ehcuoT | | +| --- | ---------- | ---------- | --------------- | --- | ------------ | ---------- | --- | +| | X noitisoP | Y noitisoP | | | | | | +| | | | ruegraL ruetuaH | | | | | +elbisiV +nalP +| BTN_SupprimeRessource | 115 | 0 | 16 16 | 0 | Actif | | Normal | +| --------------------- | --- | --- | ----- | --- | ----- | --- | ------ | +Attribut zone répétée +BAT ehcuoT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL ruetuaH | | | | | +| --- | --- | --- | --------------- | --- | --- | --- | --- | +elbisiV +nalP +ATT_Archive +ATT_AuPlanning +ATT_CouleurFond +ATT_IDRdv +ATT_Id +ATT_IdEquipe +ATT_Nom +ATT_Supprime +Zone répétée : DISP_CHECKLIST.ZR_DONNEES +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | ---------- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | X noitisoP | | | laitini tatE | | | FTR tamroF | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_GROUPE | 24 5 | 208 | 14 0 | Actif | Gauche | Haut | | +| ------------------ | ---- | --- | ---- | ----- | ------ | ---- | --- | +| LIB_TYPE_PARAMETRE | 32 9 | 200 | 15 0 | Actif | Gauche | Haut | | +Bouton +| | | | | | | BAT ehcuoT | notuob epyT | +| --- | ---------- | ---------- | --- | --- | ------------ | ---------- | ----------- | +| | X noitisoP | Y noitisoP | | | laitini tatE | | | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_COLLAB | 238 | 3 | 24 24 | 0 | Actif | | Normal | +| ---------- | --- | --- | ------- | --- | ----- | --- | ------ | +| 06/08/2026 | | | Isis_BO | | | | 613 | + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | staté siorT | +| --- | --------------------- | --- | --- | ------------ | ----------- | +ruetuaH +| | | ruegraL | elbisiV | | | +| --- | --- | ------- | ------- | --- | --- | +nalP +| INT_ACTIF | 6 7 | 20 18 | 0 | Actif | 1 | +| --------- | --- | ----- | --- | ----- | --- | +Attribut zone répétée +laitini tatE BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | +| --- | ---------- | ---------- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +ATT_GROUPE +ATT_LIB +ATT_SEL +Rupture de zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | +| --- | ---------- | ---------- | --- | --- | ------------ | +ruegraL ruetuaH +elbisiV +nalP +RUPT_BRuptGR +RUPT_HRuptGR +Fenêtre : FEN_Maquette_checklist +Bouton : DISP_CHECKLIST.DISP_ENTETE_CARACTERISTIQUES.BTN_AjoutRessource +| Ordre navigation | 1 | | | | | +| -------------------------- | ----------------------------------- | ------- | --- | --- | --- | +| 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 | | | | | | +| 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 | | | | | +| 06/08/2026 | | Isis_BO | | | 614 | + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › Informations sur les champs +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 : BTN_Fermer_Liste_modele +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Abandonner +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +06/08/2026 Isis_BO 615 + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › Informations sur les champs +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 : BTN_Valider_Liste_modele +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Valider le choix +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +06/08/2026 Isis_BO 616 + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › Informations sur les champs +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 +Disposition : DISP_CHECKLIST +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : DISP_CHECKLIST.DISP_ENTETE_CARACTERISTIQUES +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 617 + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › Informations sur les champs +Facteur d'agrandissement 0 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_COLLAB.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 618 + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › Informations sur les champs +Libellé : DISP_CHECKLIST.DISP_ENTETE_CARACTERISTIQUES.LIB_COLLAB1 +Libellé FR: Collaborateur(s) +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_SELECT_TABDONNEE +Libellé FR: Cochez ou décochez les checklist à associées à l'intervention et choisissez les +collaborateurs concernés +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 619 + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Titre_Modele_de_mail +Libellé FR: Liste des checklist +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 620 + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › Informations sur les champs +Zone répétée : DISP_CHECKLIST.ZR_CollabRDV +Libellé FR: &Zone répétée +Ordre navigation 2 +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 +Hauteur ligne max. 0 +Hauteur ligne 36 +Largeur colonne 139 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 2 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +06/08/2026 Isis_BO 621 + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › Informations sur les champs +Parcours Automatique +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : DISP_CHECKLIST.ZR_DONNEES +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 31 +Largeur colonne 267 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sans sélection +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +06/08/2026 Isis_BO 622 + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › Informations sur les champs +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +Nb. Enreg. Max 0 +Parcours Automatique +Fichier parcouru :gstListeDonnees +Rub. mémorisée :gstListeDonnees +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : DISP_CHECKLIST.ZR_CollabRDV +Attribut zone répétée : DISP_CHECKLIST.ZR_CollabRDV.ATT_Archive (5) +Propriété associée 1 +Attribut zone répétée : DISP_CHECKLIST.ZR_CollabRDV.ATT_AuPlanning (6) +Champ associé LIB_Auplanning +Propriété associée 1 +06/08/2026 Isis_BO 623 + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › Informations sur les champs +Attribut zone répétée : DISP_CHECKLIST.ZR_CollabRDV.ATT_CouleurFond (8) +Champ associé LIB_Nom +Propriété associée 21 +Attribut zone répétée : DISP_CHECKLIST.ZR_CollabRDV.ATT_IDRdv (4) +Propriété associée 5 +Attribut zone répétée : DISP_CHECKLIST.ZR_CollabRDV.ATT_Id (1) +Propriété associée 1 +Attribut zone répétée : DISP_CHECKLIST.ZR_CollabRDV.ATT_IdEquipe (3) +Propriété associée 1 +Attribut zone répétée : DISP_CHECKLIST.ZR_CollabRDV.ATT_Nom (2) +Champ associé LIB_Nom +Propriété associée 1 +Attribut zone répétée : DISP_CHECKLIST.ZR_CollabRDV.ATT_Supprime (7) +Propriété associée 73 +Bouton : DISP_CHECKLIST.ZR_CollabRDV.BTN_SupprimeRessource +Ordre navigation 1 +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 +06/08/2026 Isis_BO 624 + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › Informations sur les champs +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Image fond FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_16_5_fermer.png +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_CHECKLIST.ZR_CollabRDV.LIB_Auplanning +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 +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 +Unicode Non +Transforme le & Non +06/08/2026 Isis_BO 625 + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › 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 +Mise à blanc Oui +Texte Markdown Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : DISP_CHECKLIST.ZR_CollabRDV.LIB_Nom +Libellé FR: Libellé +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 626 + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › Informations sur les champs +Zone répétée : DISP_CHECKLIST.ZR_DONNEES +Attribut zone répétée : DISP_CHECKLIST.ZR_DONNEES.ATT_GROUPE (3) +Champ associé LIB_GROUPE +Propriété associée 1 +Liaison des données :gstListeDonnees.sGroupe +Attribut zone répétée : DISP_CHECKLIST.ZR_DONNEES.ATT_LIB (2) +Champ associé LIB_TYPE_PARAMETRE +Propriété associée 1 +Liaison des données :gstListeDonnees.sElmt +Attribut zone répétée : DISP_CHECKLIST.ZR_DONNEES.ATT_SEL (1) +Champ associé INT_ACTIF +Propriété associée 1 +Liaison des données :gstListeDonnees.bSelect +Bouton : DISP_CHECKLIST.ZR_DONNEES.BTN_COLLAB +Groupe GR_CADENAS_INTERV +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +06/08/2026 Isis_BO 627 + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › 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 +Type flèche +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_COLLAB.png +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +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 +Interrupteur : DISP_CHECKLIST.ZR_DONNEES.INT_ACTIF +Libellé FR: Badge +Valeur initiale 0 +Ordre navigation 2 +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 +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 Toute la hauteur de l'option +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 +06/08/2026 Isis_BO 628 + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › Informations sur les champs +Option multilignes Non +Option format RTF Non +Texte Markdown Non +Mode menu ctx. +Liaison des données :gstListeDonnees.bSelect +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : DISP_CHECKLIST.ZR_DONNEES.RUPT_HRuptGR.LIB_GROUPE +Libellé FR: Groupe +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 +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 +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 +Liaison des données :gstListeDonnees.sGroupe +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 629 + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › Informations sur les champs +Libellé : DISP_CHECKLIST.ZR_DONNEES.LIB_TYPE_PARAMETRE +Libellé FR: Libellé +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 +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 A la fin +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 +Liaison des données :gstListeDonnees.sElmt +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : DISP_CHECKLIST.ZR_DONNEES.RUPT_BRuptGR (5) +Toujours visible Non +Attribut de rupture 2 +06/08/2026 Isis_BO 630 + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › Informations sur les champs +Rupture de zone répétée : DISP_CHECKLIST.ZR_DONNEES.RUPT_HRuptGR (4) +Toujours visible Non +Attribut de rupture 2 +FEN_Maquette_checklist +Code +Déclarations globales de FEN_Maquette_checklist +procédure FEN_Maquette_checklist(gclFicheInterv est un PFicheIntervention dynamique, tbMC est un +tableau de ST_MotCle) +//gclPresentationListeMailModele est un PTableMailModele +dynamique=Null,paramSupplementaire est un STParamFenetreAppelante=Null +gstListeDonnees est un tableau de STDonnees +pour i=1 _à_ tbMC..Occurrence +si tbMC[i].bPresent _et_ tbMC[i].bTableau alors +//tbMC[i]:saTexte = DonneValeurMotClef(tbMC[i]:saCodeValeur,odFI) +selon tbMC[i]:saMotCle +//CAS "$TABPHOTO$" : bBlocPhotoVisible += ExisteMembreRubrique(unTerme,TT_RAPPORT); SI bBlocPhotoVisibleALORS FiltreDocument() +cas "" : SelectDonnee(gclFicheInterv:ListeContactClient,tbMC[i], +ExtraitChaîne(tbMC[i]:saCodeValeur,1,".")+ExtraitChaîne(tbMC[i]:saCodeValeur,2,".")) +cas "" : SelectDonnee(gclFicheInterv:ListeContactLieu,tbMC[i], +ExtraitChaîne(tbMC[i]:saCodeValeur,1,".")+ExtraitChaîne(tbMC[i]:saCodeValeur,2,".")) +cas "" : SelectDonnee(gclFicheInterv:ListeCompteRendu,tbMC[i], +ExtraitChaîne(tbMC[i]:saCodeValeur,1,".")+ExtraitChaîne(tbMC[i]:saCodeValeur,2,".")) +cas "" : SelectDonnee(gclFicheInterv:ListeRendezVous,tbMC[i], +ExtraitChaîne(tbMC[i]:saCodeValeur,1,".")+ExtraitChaîne(tbMC[i]:saCodeValeur,2,".")) +autre cas +si tbMC[i].bPresent _et_ Contient(tbMC[i]:saMotCle,"UNIQUE") alors +selon ExtraitChaîne(tbMC[i]:saMotCle,1,".") +cas """ ? paramSupplementaire.sTitreFenetre SINON "Modèles de mail" +STDonnees est une Structure +bSelect est un booléen +sGroupe est une chaîne +//sTerme est une chaîne +sCateg est une chaîne +06/08/2026 Isis_BO 631 + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › Code +sRubrique est une chaîne +nIdElmt est un entier sur 8 octets +sElmt est une chaîne +fin +//LOCAL +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +//SI gclPresentationListeMailModele=Null ALORS +// gclPresentationListeMailModele=PTableMailModele.gNouvellePresentation() +//FIN +//Chargement de la liste des Modèles de mail +//rq est une requête SQL = +//[ +// SELECT MM_Code,MM_Nom,PA_Libelle +// FROM +// ( +// MailModele +// INNER JOIN +// MailCat +// ON MailModele.MM_Code = MailCat.MMC_CodeModMail +// ) +// INNER JOIN +// ParametreMetier +// ON MailCat.MMC_CodeCat = ParametreMetier.PA_Valeur +// +// WHERE ParametreMetier.PA_Code ='MC' +// Order BY PA_Libelle,MM_Nom +// +//] +// +// +//HExécuteRequête(rq) +//n est un entier +//pour tout rq +// +// n=TABLE_MODELE.AjouteLigne(rq.MM_Nom,rq.MM_Code,rq.PA_Libelle) +// TableIndiceRupture(RUPT_RuptCat,n) +// TABLE_MODELE[n].RUPT_RuptCat.LIB_Rupt=rq.PA_Libelle +// +// +//FIN +//si TABLE_MODELE..Occurrence>0 alors +// TABLE_MODELE.SelectPlus(1) +//sinon +// info("Il n'y pas de modèles de mail dans la base") +// ferme(MaFenêtre ,"") +//fin +ZoneRépétéeAjouteLigne(ZR_DONNEES,Vrai,"CheckList A","08/10/2020 à 14h30") +ZoneRépétéeAjouteLigne(ZR_DONNEES,Faux,"CheckList B","08/10/2020 à 14h30") +ZoneRépétéeAjouteLigne(ZR_DONNEES,Faux,"CheckList C","08/10/2020 à 14h30") +ZoneRépétéeAjouteLigne(ZR_DONNEES,Faux,"CheckList D","08/10/2020 à 14h30") +ZoneRépétéeAjouteLigne(ZR_DONNEES,Vrai,"CheckList A","10/10/2020 à 15h00") +ZoneRépétéeAjouteLigne(ZR_DONNEES,Vrai,"CheckList B","10/10/2020 à 15h00") +ZoneRépétéeAjouteLigne(ZR_DONNEES,Vrai,"CheckList C","10/10/2020 à 15h00") +ZoneRépétéeAjouteLigne(ZR_DONNEES,Faux,"CheckList D","10/10/2020 à 15h00") +ZoneRépétéeAjouteLigne(ZR_DONNEES,Faux,"CheckList A","20/10/2020 à 13h00") +ZoneRépétéeAjouteLigne(ZR_DONNEES,Faux,"CheckList B","20/10/2020 à 13h00") +ZoneRépétéeAjouteLigne(ZR_DONNEES,Faux,"CheckList C","20/10/2020 à 13h00") +ZoneRépétéeAjouteLigne(ZR_DONNEES,Vrai,"CheckList D","20/10/2020 à 13h00") +ZoneRépétéeAjouteLigne(ZR_CollabRDV,1,"Pierre MACHIN") +ZoneRépétéeAjouteLigne(ZR_CollabRDV,2,"Paul TRUCMUCHE") +Demande de mise à jour de l'affichage de FEN_Maquette_checklist +06/08/2026 Isis_BO 632 + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › Code +//SI gclPresentationListeMailModele<>Null _ET_ gclPresentationListeMailModele est PTableMailModele +// +// // mise à jour des champs bindés sur la présentation (compteur par exemple) +// SourceVersEcran("","gclPresentationListeMailModele") +// +// //MAJ du champ TABLE et de l'objet Liste CLient +// MAJChampTableEtObjet(TABLE_MODELE_MAIL,gclPresentationListeMailModele.p_clCourant) +//FIN +Fermeture de FEN_Maquette_checklist +//MaFenêtre..ValeurRenvoyée= TABLE_MODELE.COL_M_Code +si MaFenêtre..ValeurRenvoyée="X" alors +TableauSupprimeTout(gstListeDonnees) +fin +renvoyer gstListeDonnees +FEN_Maquette_checklist +Code des champs +Clic sur BTN_Fermer_Liste_modele +Ferme(MaFenêtre,"X") +Clic sur BTN_Valider_Liste_modele +//SI paramSupplementaire.eTypeAppel<>Libre ALORS +// +//AppelProcFenetreAppelante(gclPresentationListeMailModele,paramSupplementaire,Vrai,Vrai) +//FIN +Ferme(MaFenêtre,"V") +Initialisation de ZR_CollabRDV +SourceVersEcran("","gclPresentationFicheRdv") +Affichage d'une ligne de ZR_CollabRDV +si ATT_AuPlanning="0" alors +ATT_CouleurFond=GrisFoncé +sinon +ATT_CouleurFond=RVB(245,179,1) +fin +Clic sur BTN_COLLAB ( ZR_DONNEES ) +si MoiMême..Enfoncé alors +ZR_DONNEES[1].BTN_COLLAB..CouleurFond=RVB(86,124,143) +DISP_CHECKLIST[2]..Visible=Vrai +sinon +ZR_DONNEES[1].BTN_COLLAB..CouleurFond=Blanc +DISP_CHECKLIST[2]..Visible=Faux +fin +A chaque modification de INT_ACTIF ( ZR_DONNEES ) +06/08/2026 Isis_BO 633 + +Partie 3 › Fenêtre WINDEV › FEN_Maquette_checklist › Code des champs +//ChampVersSource() +FEN_Maquette_checklist +Procédures +Procédure locale SelectDonnee +// Résumé : +// Syntaxe : +//SelectDonnee ( est objet dynamique, est ST_MotCle, est chaîne) +// +// Paramètres : +// tabDyn (objet dynamique) : +// stUnTerme (ST_MotCle) : +// sCateg (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SelectDonnee(tabDyn est un objet dynamique, stUnTerme est un ST_MotCle,sCateg est une chaîne) +nIndiceDonnee est un entier = TableauCherche(gstListeDonnees,tcLinéaire,"sCateg",sCateg,1) +si nIndiceDonnee=-1 _et_ tabDyn<>Null alors +pour i = 1 _à_ {tabDyn,":m_clTabModele"}..Occurrence +stUneDonnee est un STDonnees +stUneDonnee.bSelect = Faux +stUneDonnee.nIdElmt = {{tabDyn,":m_clTabModele"}[i],"m_nPKID"} +stUneDonnee.sCateg = sCateg//stUnTerme.Rubrique +stUneDonnee.sGroupe = stUnTerme.saGroupe +//stUneDonnee.sRubrique = stUnTerme.Rubrique +si tabDyn est PTableRDV alors +stUneDonnee.sElmt=DateVersChaîne({{tabDyn,":m_clTabModele"}[i],"m_dhDateDebut"}, +"JJ/MM/AAAA")+" - "+{{tabDyn,":m_clTabModele"}[i],"m_sDescription"} +sinon si tabDyn est PTableCompteRendu +stUneDonnee.sElmt=DateVersChaîne({{tabDyn,":m_clTabModele"}[i],"m_dhDateHeureDebut"}, +"JJ/MM/AAAA")+" - "+{{tabDyn,":m_clTabModele"}[i],"m_sNomSignataire"} +sinon si tabDyn est PTableIntervention_Personne +stUneDonnee.sElmt={{tabDyn,":m_clTabModele"}[i],":m_clContact:CiviliteNomPrenom"} +fin +TableauAjoute(gstListeDonnees,stUneDonnee) +fin +fin +06/08/2026 Isis_BO 634 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Image +FEN_Agenda +Image +| 06/08/2026 | Isis_BO | 635 | +| ---------- | ------- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Image +| 06/08/2026 | Isis_BO | 636 | +| ---------- | ------- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations générales +FEN_Agenda +Informations générales +FEN_Agenda +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Agenda.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | ---- | +| Date de création | | 12/05/2023 14:42:20 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:25 | | | | +| Titre | | FR: Agenda | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1680 Hauteur | 1023 | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| 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 | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 637 | + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations générales +| 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. | | | | | | | | +| 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 | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | +Statistiques de la fenêtre +| | Fenêtre interne | | 1 | Case barre de message | | | 1 | +| --- | --------------- | --- | --- | --------------------- | --- | --- | --- | +Nombre d'éléments dans la fenêtre : 2 +FEN_Agenda +Informations sur les champs +Fenêtre : FEN_Agenda +Fenêtre interne +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| CFI_SansNom1 | | 6 | 6 1666 | 956 | 0 | Actif | | +| ------------ | --- | --- | ------- | --- | --- | ----- | --- | +| 06/08/2026 | | | Isis_BO | | | | 638 | + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Fenêtre : FEN_Agenda +Fenêtre interne : CFI_SansNom1 +Ordre navigation 1 +UI par l'utilisateur Selon fenêtre +Fenêtre Interne FI_Agenda3 +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Ascenseur auto. Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Swipe Non +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 980 Taux anc. hauteur 1000 +FEN_Agenda +Code +Déclarations globales de FEN_Agenda +procédure FEN_Agenda() +CFI_SansNom1.BTN_Fermer_fiche_intervention..Visible = Faux +06/08/2026 Isis_BO 639 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Image +FEN_Fiche_RDV_F +Image +FEN_Fiche_RDV_F +Informations générales +FEN_Fiche_RDV_F +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Fiche_RDV_F.wdw +Créé par SMR +Date de création 19/05/2023 10:13:24 +Dernière modification par SMR +Date dernière modification 27/05/2025 11:15:42 +Titre FR: Fiche RDV +06/08/2026 Isis_BO 640 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations générales +| Type fenêtre | | Fenêtre libre | | | | +| ------------------------ | ------------ | ----------------------------- | --------- | --------------- | --- | +| Mode ouverture (Desktop) | | Centrée par rapport à l'écran | | | | +| Position X | 0 Position Y | | 0 Largeur | 1359 Hauteur | 610 | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | Simple (non redimensionnable) | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| Style du menu | | | | | | +| 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. | | | | | | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 641 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations générales +| Déplace souris sur bouton par | | Non | | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | --- | +| Compact. barres outils | | Non | | | | | | +Statistiques de la fenêtre +| | Champ de saisie | | 10 | Libellé | | | 6 | +| --- | ---------------- | --- | --- | --------------------- | --- | --- | --- | +| | Bouton | | 4 | Interrupteur | | | 10 | +| | Table | | 1 | Fenêtre interne | | | 1 | +| | Superchamp | | 1 | Option d'interrupteur | | | 10 | +| | Colonne de table | | 9 | | | | | +Nombre d'éléments dans la fenêtre : 52 +FEN_Fiche_RDV_F +Informations sur les champs +Fenêtre : FEN_Fiche_RDV_F +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Fermer | | 641 124 | 24 24 | 0 | Actif | Normal | | +| ---------- | --- | ------- | ----- | --- | ----- | ------ | --- | +| BTN_Ouvrir | | 639 125 | 26 24 | 0 | Actif | Normal | | +Fenêtre interne +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CFI_RDV | | 0 | 2 678 | 600 | 0 | Actif | | +| ---------- | --- | --- | ------- | --- | --- | ----- | --- | +| 06/08/2026 | | | Isis_BO | | | | 642 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Superchamp +BAT ehcuoT +| | | | X noitisoP | | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | --- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_Recherche | | | | 684 | | 2 | 667 | 600 | | 0 | Actif | | +| ------------ | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : SC_Recherche +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_ADRESSE_SITE | 832 | 172 488 | 22 | 0 | Actif | | Texte | | Non | | | | +| ------------------ | ---- | ------- | --- | --- | ----- | --- | ----- | --- | --- | --- | --- | --- | +| SAI_CLIENT | 832 | 42 173 | 22 | 0 | Actif | | Texte | | Non | | | | +| SAI_CODEPOSTAL_SIT | 832 | 200 173 | 22 | 0 | Actif | | Texte | | Non | | | | +| SAI_CODE_LIEU | 832 | 144 488 | 22 | 0 | Actif | | Texte | | Non | | | | +| SAI_DEVIS_INTERV | 1150 | 44 173 | 22 | 0 | Actif | | Texte | | Non | | | | +| SAI_REFEXT_DOSSIER | 832 | 95 173 | 22 | 0 | Actif | | Texte | | Non | | | | +| SAI_REFEXT_INTERV | 1150 | 97 173 | 22 | 0 | Actif | | Texte | | Non | | | | +| SAI_TITRE_DOSSIER | 832 | 69 173 | 22 | 0 | Actif | | Texte | | Non | | | | +| SAI_TITRE_INTER | 1150 | 69 173 | 22 | 0 | Actif | | Texte | | Non | | | | +| SAI_VILLE_SITE | 1082 | 200 238 | 22 | 0 | Actif | | Texte | | Non | | | | +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | | | ruegraL | | | | elbisiV | | | | | +| --- | --- | --- | --- | ------- | --- | --- | --- | ------- | --- | --- | --- | --- | +nalP +| LIB_Libellé | | 690 | 251 | | 353 | 18 | 0 | | Actif | Gauche | Haut | | +| ----------------------- | --- | ---- | --- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | +| LIB_Libellé1 | | 702 | | 22 | 311 | 101 | 0 | | Actif | Gauche | Haut | | +| LIB_Libellé2 | | 1017 | | 22 | 311 | 101 | 0 | | Actif | Gauche | Haut | | +| LIB_Libellé3 | | 702 | 129 | | 626 | 101 | 0 | | Actif | Gauche | Haut | | +| LIB_Total_Liste_Dossier | | 735 | 581 | | 36 | 14 | 0 | | Actif | Gauche | Haut | | +LIB_Total_Titre_Liste_Dossier 691 581 40 14 0 Actif Gauche Haut +| 06/08/2026 | | | | | | Isis_BO | | | | | | 643 | +| ---------- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Bouton +notuob epyT +| | | | | | laitini tatE BAT ehcuoT | | | +| --- | --- | --------------------- | --------------- | --- | ----------------------- | --- | --- | +| | | X noitisoP Y noitisoP | | | | | | +| | | | ruegraL ruetuaH | | | | | +elbisiV +nalP +| BTN_GOMMER | | 1266 | 239 24 | 24 0 | Actif | Normal | | +| ------------- | --- | ---- | ------ | ---- | ----- | ------ | --- | +| BTN_RECHERCHE | | 1296 | 240 24 | 24 0 | Actif | Normal | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | laitini tatE | BAT ehcuoT | | staté siorT | +| --- | --- | --- | --- | ------------ | ---------- | --- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_ADRESSE_SITE | | 702 171 | 130 25 | 0 Actif | | 1 | | +| ------------------- | --- | -------- | ------ | ------- | --- | --- | --- | +| INT_CLIENT | | 702 41 | 130 25 | 0 Actif | | 1 | | +| INT_CODEPOSTAL_SITE | | 702 199 | 130 25 | 0 Actif | | 1 | | +| INT_CODE_LIEU | | 702 143 | 130 25 | 0 Actif | | 1 | | +| INT_DEVIS_INTERV | | 1020 41 | 130 25 | 0 Actif | | 1 | | +| INT_REFEXT_DOSSIER | | 702 94 | 130 25 | 0 Actif | | 1 | | +| INT_REFEXT_INTERV | | 1020 94 | 130 25 | 0 Actif | | 1 | | +| INT_TITRE_DOSSIER | | 702 68 | 130 25 | 0 Actif | | 1 | | +| INT_TITRE_INTER | | 1020 68 | 130 25 | 0 Actif | | 1 | | +| INT_VILLE_SITE | | 1017 199 | 130 25 | 0 Actif | | 1 | | +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_Inter | 684 276 | 659 304 0 | affichag | | | | 1 | +| ----------- | ------- | --------- | -------- | --- | --- | --- | --- | +Table : SC_Recherche.TABLE_Inter +| 06/08/2026 | | | Isis_BO | | | | 644 | +| ---------- | --- | --- | ------- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | elbairt ennoloC | ehcrehcer cevA | | | +| --- | --- | -------------- | --------------- | --------------------------- | ---------------------- | ----------- | +| | | ehcuag à eéxiF | | .zroh egardaC .trev egardaC | | | +| | | laitini tatE | elbaçalpéD | | eisias epyT FTR tamroF | eisias cevA | +engilitluM +ruegraL +elbisiV +| epyT | | | | | | eéirT | +| ----------------- | --- | -------- | --- | ------------- | ------- | ----- | +| COL_IdDossier | 104 | Grisé | | Droite Centre | Numériq | | +| COL_IdInter | 100 | Grisé | | Droite Centre | Numériq | | +| COL_NINTER | 79 | affichag | | Gauche Centre | Texte | | +| COL_EtatInter | 84 | affichag | | Gauche Centre | Texte | | +| COL_NDev | 58 | affichag | | Gauche Centre | Texte | | +| COL_StatusDossier | 110 | affichag | | Gauche Centre | Texte | | +| COL_Client | 100 | affichag | | Gauche Centre | Texte | | +| COL_CodeLieu | 109 | affichag | | Gauche Centre | Texte | | +| COL_Societe | 100 | affichag | | Gauche Centre | Texte | | +Fenêtre : FEN_Fiche_RDV_F +Bouton : BTN_Fermer +| 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 | | | | | | | +| 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 | | | | | | | +| 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 | | | | | | | +| -------------- | ------- | --- | --- | --- | --- | --- | +| Texte Markdown | Non | | | | | | +| Mode menu ctx. | | | | | | | +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_A_Gauche.png +| 06/08/2026 | | | Isis_BO | | | 645 | +| ---------- | --- | --- | ------- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : BTN_Ouvrir +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_A_Droite.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +06/08/2026 Isis_BO 646 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : CFI_RDV +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 +Ancrage au contenu +Numéro aide 0 +Ascenseur auto. 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 +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_Recherche +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 667 +Hauteur externe 600 +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 +06/08/2026 Isis_BO 647 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Texte Markdown Non +Source de remplissage Table chargée en mémoire +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_Recherche +Bouton : SC_Recherche.BTN_GOMMER +Ordre navigation 21 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_Gommer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 648 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : SC_Recherche.BTN_RECHERCHE +Ordre navigation 22 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_refresh.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 649 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Interrupteur : SC_Recherche.INT_ADRESSE_SITE +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 15 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 650 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Interrupteur : SC_Recherche.INT_CLIENT +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 651 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Interrupteur : SC_Recherche.INT_CODEPOSTAL_SITE +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 17 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 652 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Interrupteur : SC_Recherche.INT_CODE_LIEU +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 13 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 653 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Interrupteur : SC_Recherche.INT_DEVIS_INTERV +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 2 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 654 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Interrupteur : SC_Recherche.INT_REFEXT_DOSSIER +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 9 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 655 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Interrupteur : SC_Recherche.INT_REFEXT_INTERV +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 10 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 656 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Interrupteur : SC_Recherche.INT_TITRE_DOSSIER +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 657 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Interrupteur : SC_Recherche.INT_TITRE_INTER +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 658 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Interrupteur : SC_Recherche.INT_VILLE_SITE +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 18 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 659 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Libellé : SC_Recherche.LIB_Libellé +Libellé FR: Double-cliquez sur la ligne recherchée pour la choisir +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : SC_Recherche.LIB_Libellé1 +Libellé FR: Dossier +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 +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 +06/08/2026 Isis_BO 660 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : SC_Recherche.LIB_Libellé2 +Libellé FR: Intervention +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 661 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Libellé : SC_Recherche.LIB_Libellé3 +Libellé FR: Site +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : SC_Recherche.LIB_Total_Liste_Dossier +Libellé FR: 000 +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 +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 +06/08/2026 Isis_BO 662 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : SC_Recherche.LIB_Total_Titre_Liste_Dossier +Libellé FR: Total : +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 +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 +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 Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 663 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Champ de saisie : SC_Recherche.SAI_ADRESSE_SITE +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 16 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 832 +Largeur interne 488 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 664 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SC_Recherche.SAI_CLIENT +Libellé FR: &Client +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 832 +Largeur interne 173 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 665 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 666 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Champ de saisie : SC_Recherche.SAI_CODEPOSTAL_SITE +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 19 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 832 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 667 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SC_Recherche.SAI_CODE_LIEU +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 14 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 832 +Largeur interne 488 +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 +06/08/2026 Isis_BO 668 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 669 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Champ de saisie : SC_Recherche.SAI_DEVIS_INTERV +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1150 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 670 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SC_Recherche.SAI_REFEXT_DOSSIER +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 832 +Largeur interne 173 +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 +06/08/2026 Isis_BO 671 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 672 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Champ de saisie : SC_Recherche.SAI_REFEXT_INTERV +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1150 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 673 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SC_Recherche.SAI_TITRE_DOSSIER +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 832 +Largeur interne 173 +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 +06/08/2026 Isis_BO 674 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 675 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Champ de saisie : SC_Recherche.SAI_TITRE_INTER +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1150 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 676 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SC_Recherche.SAI_VILLE_SITE +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 20 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1082 +Largeur interne 238 +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 +06/08/2026 Isis_BO 677 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 678 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Table : SC_Recherche.TABLE_Inter +Libellé FR: Table +Ordre navigation 23 +Curseur survol 0 +Mode Loupe Filtre +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) 24 +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 +06/08/2026 Isis_BO 679 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +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 +Table : SC_Recherche.TABLE_Inter +Colonne de table : SC_Recherche.TABLE_Inter.COL_IdDossier (1) +Titre FR: IdDossier +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 680 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Colonne de table : SC_Recherche.TABLE_Inter.COL_IdInter (2) +Titre FR: IdInter +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_Recherche.TABLE_Inter.COL_NINTER (3) +Titre FR: N° 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: 0 +06/08/2026 Isis_BO 681 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_Recherche.TABLE_Inter.COL_EtatInter (4) +Titre FR: État 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: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 682 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Colonne de table : SC_Recherche.TABLE_Inter.COL_NDev (5) +Titre FR: Devis n° +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_Recherche.TABLE_Inter.COL_StatusDossier (6) +Titre FR: Statut Dossier +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 +06/08/2026 Isis_BO 683 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_Recherche.TABLE_Inter.COL_Client (7) +Titre FR: Client +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 684 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Colonne de table : SC_Recherche.TABLE_Inter.COL_CodeLieu (8) +Titre FR: Code Lieu +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_Recherche.TABLE_Inter.COL_Societe (9) +Titre FR: Societe +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 +06/08/2026 Isis_BO 685 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FEN_Fiche_RDV_F +Code +Déclarations globales de FEN_Fiche_RDV_F +procédure FEN_Fiche_RDV_F(clPresentationFiche est un PFicheRdv,stParametreFenInterne est un +STParamFenetreAppelante) +CFI_RDV..Visible = Faux +gbRecherche est un booléen = Faux +gnLargeurOuvert est un entier = FEN_Fiche_RDV_F..Largeur +gnLargeurFerme est un entier = CFI_RDV..Largeur + 5 +FEN_Fiche_RDV_F..Largeur = gnLargeurFerme +Sablier(Vrai) +ChangeFenêtreSource(CFI_RDV,FI_Fiche_Rdv,clPresentationFiche,stParametreFenInterne) +BTN_Fermer..Visible = Faux +si clPresentationFiche:m_nPKID > 0 _et_ (clPresentationFiche:m_nIDDossier > 0 et clPresentationFiche: +m_nIDIntervention > 0 ) alors +BTN_Ouvrir..Visible = Faux +sinon +BTN_Ouvrir..Visible = Vrai +fin +Fin d'initialisation de FEN_Fiche_RDV_F +Sablier(Faux) +CFI_RDV..Visible = Vrai +FEN_Fiche_RDV_F +Code des champs +Clic sur BTN_Fermer +06/08/2026 Isis_BO 686 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Code des champs +OuvrirFermer() +Clic sur BTN_Ouvrir +OuvrirFermer() +Clic sur BTN_GOMMER ( SC_Recherche ) +RAZ(GR_CRITERE_LISTEDOSS) +TableSupprimeTout(TABLE_Inter) +Clic sur BTN_RECHERCHE ( SC_Recherche ) +VerificationSelection() +Initialisation de LIB_Libellé ( SC_Recherche ) +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_Libellé1 ( SC_Recherche ) +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_Libellé2 ( SC_Recherche ) +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_Libellé3 ( SC_Recherche ) +// Version 1 +// Description +// Libellé simple +Sortie de SAI_ADRESSE_SITE ( SC_Recherche ) +MAJCocheCritere(MoiMême) +Sortie de SAI_CLIENT ( SC_Recherche ) +MAJCocheCritere(MoiMême) +Sortie de SAI_CODE_LIEU ( SC_Recherche ) +MAJCocheCritere(MoiMême) +Sortie de SAI_CODEPOSTAL_SITE ( SC_Recherche ) +06/08/2026 Isis_BO 687 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Code des champs +MAJCocheCritere(MoiMême) +Sortie de SAI_DEVIS_INTERV ( SC_Recherche ) +MAJCocheCritere(MoiMême) +Sortie de SAI_REFEXT_DOSSIER ( SC_Recherche ) +MAJCocheCritere(MoiMême) +Sortie de SAI_REFEXT_INTERV ( SC_Recherche ) +MAJCocheCritere(MoiMême) +Sortie de SAI_TITRE_DOSSIER ( SC_Recherche ) +MAJCocheCritere(MoiMême) +Sortie de SAI_TITRE_INTER ( SC_Recherche ) +MAJCocheCritere(MoiMême) +Sortie de SAI_VILLE_SITE ( SC_Recherche ) +MAJCocheCritere(MoiMême) +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Inter +clPresentationFiche.m_nIDIntervention = COL_IdInter +clPresentationFiche.m_nIDDossier = COL_IdDossier +FI_Fiche_Rdv.Charge_DossierIntervention() +FEN_Fiche_RDV_F +Procédures +Procédure locale ChargementSQL +procédure ChargementSQL() +TableSupprimeTout(TABLE_Inter) +ReqSQL est une chaîne +sCR est une chaîne +sdListeDoss est une Source de Données +// récupération des données +//ReqSQL est une Requête SQL = +ReqSQL+=[ +SELECT +Intervention.IN_PKID +,IN_RefInterne AS RefInterneInterv +,IN_RefExterne AS RefExterneInterv +,IN_IDEtatIntervention +,IN_IDSociete +,IN_IDLieu +,IN_NumDevis +06/08/2026 Isis_BO 688 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Procédures +,DO_PKID +,DO_IDStatut +,DO_Titre +,CL_Nom +,LI_CodeLieu +,CAST(GREATEST(Dossier.ModifDate,NVL(Intervention.ModifDate,'19000101')) AS DATE) AS MinDateModif +,WL.Val(WL.DuréeVersChaîne(WL.ChaîneVersDurée (WL.DateHeureDifférence ( +CAST(GREATEST(Dossier.ModifDate,NVL(Intervention.ModifDate,'19000101')) AS DATE), WL.DateHeureSys() +),'+JHHMMSSLL'),'+J')) AS NbJours +,NVL(IN_RefInterne,DO_RefInterne) AS NumRef +] +ReqSQL+=[ +FROM ( +( +( +Dossier +LEFT OUTER JOIN +Intervention +ON Dossier.DO_PKID = Intervention.IN_IDDossier +) +LEFT OUTER JOIN +Client +ON Client.CL_PKID = Dossier.DO_IDClient +) +LEFT OUTER JOIN +Lieu +ON Lieu.LI_PKID = Intervention.IN_IDLieu +) +LEFT OUTER JOIN +Adresse +ON Adresse.AD_PKID = Lieu.LI_IDAdresse +] +ReqSQL+=[ +WHERE 1=1 +] +sCR+=CritereHF(INT_CLIENT ,SAI_CLIENT ,Client.CL_Nom..Nom , +tfMilieutexte) +sCR+=CritereHF(INT_TITRE_DOSSIER ,SAI_TITRE_DOSSIER ,Dossier.DO_Titre..Nom +,tfMilieutexte) +sCR+=CritereHF(INT_REFEXT_DOSSIER ,SAI_REFEXT_DOSSIER ,Dossier.DO_RefExterne..Nom , +tfMilieutexte) +sCR+=CritereHF(INT_TITRE_INTER ,SAI_TITRE_INTER ,Intervention.IN_Titre..Nom , +tfMilieutexte) +sCR+=CritereHF(INT_REFEXT_INTERV ,SAI_REFEXT_INTERV ,Intervention.IN_RefExterne..Nom , +tfMilieutexte) +sCR+=CritereHF(INT_DEVIS_INTERV ,SAI_DEVIS_INTERV ,Intervention.IN_NumDevis..Nom , +tfDebutTexte) +sCR+=CritereHF(INT_CODE_LIEU ,SAI_CODE_LIEU ,Lieu.LI_CodeLieu..Nom , +tfMilieutexte) +sCR+=CritereHF(INT_ADRESSE_SITE ,SAI_ADRESSE_SITE ,Lieu.LI_IDAdresse..Nom +,tfExiste,ChaîneConstruit("SELECT 1 FROM Adresse WHERE AD_PKID=%1 %2",Lieu.LI_IDAdresse..Nom,CritereHF( +INT_ADRESSE_SITE,SAI_ADRESSE_SITE,Adresse.AD_Presentation..Nom,tfMilieutexte)))// +sCR+=CritereHF(INT_CODEPOSTAL_SITE,SAI_CODEPOSTAL_SITE ,Lieu.LI_IDAdresse..Nom , +tfExiste,ChaîneConstruit("SELECT 1 FROM Adresse WHERE AD_PKID=%1 %2",Lieu.LI_IDAdresse..Nom,CritereHF( +INT_CODEPOSTAL_SITE,SAI_CODEPOSTAL_SITE,Adresse.AD_CodePostal..Nom,tfMilieutexte))) +//,tfDansRequete,"SELECT Adresse.AD_PKID FROM Adresse WHERE Adresse.AD_CodePostal LIKE '%" + +SAI_CODEPOSTAL_SITE + "%'") +sCR+=CritereHF(INT_VILLE_SITE ,SAI_VILLE_SITE ,Lieu.LI_IDAdresse..Nom , +tfExiste,ChaîneConstruit("SELECT 1 FROM Adresse WHERE AD_PKID=%1 %2",Lieu.LI_IDAdresse..Nom,CritereHF( +INT_VILLE_SITE,SAI_VILLE_SITE,Adresse.AD_Ville..Nom,tfMilieutexte))) +06/08/2026 Isis_BO 689 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Procédures +//,tfDansRequete,"SELECT Adresse.AD_PKID FROM Adresse WHERE Adresse.AD_Ville LIKE '%" + SAI_VILLE_SITE ++ "%'")//,"SELECT Immeubles.IM_ID WHERE Immeubles.IM_Ville LIKE '%" + +ch2 + "%'" +sCR += "AND " + Dossier.DO_IDStatut..Nom + "<>" + gnIdDossierAnnule + " " +ReqSQL+=sCR +ReqSQL+=[ +ORDER BY MinDateModif DESC +] +//ReqSQL.p_IdDossier = Null//MesParamètres..Occurrence>0 _ET_ MesParamètres[1]<>-1 ? MesParamètres[1] +SINON Null +// exécution de la requête +si HExécuteRequêteSQL(sdListeDoss,gcnxBO,hRequêteDéfaut+hRequêteSansCorrection,ReqSQL) alors +nIndiceLigne est un entier +nCptEnreg est un entier //= HNbEnr(sdListeDoss) +// charge les enregistrements en mémoire +pour tout sdListeDoss +nCptEnreg+=1 +si sdListeDoss.DO_PKID > 0 _et_ sdListeDoss.IN_PKID > 0 alors +nIndiceLigne = TableAjouteLigne(TABLE_Inter) +COL_IdDossier[nIndiceLigne] = sdListeDoss.DO_PKID +COL_IdInter[nIndiceLigne] = sdListeDoss.IN_PKID +COL_NINTER[nIndiceLigne] = sdListeDoss.RefInterneInterv +COL_EtatInter[nIndiceLigne] = gpclListeEtatIntervention: +RechercheEtDonneLibelleDepuisID(sdListeDoss.IN_IDEtatIntervention) +COL_NDev[nIndiceLigne] = sdListeDoss.IN_NumDevis +COL_StatusDossier[nIndiceLigne] = gpclListeStatutDossier: +RechercheEtDonneLibelleDepuisID(sdListeDoss.DO_IDStatut) +COL_CodeLieu[nIndiceLigne] = sdListeDoss.LI_CodeLieu +COL_Client[nIndiceLigne] = sdListeDoss.CL_Nom +COL_Societe[nIndiceLigne] = gpclListeSociete:RechercheNomSociteParId( +sdListeDoss.IN_IDSociete) +fin +fin +LIB_Total_Liste_Dossier = nCptEnreg +sinon +LIB_Total_Liste_Dossier = 0 +fin +HLibèreRequête(sdListeDoss) +Procédure locale OuvrirFermer +procédure OuvrirFermer() +si gbRecherche alors +gbRecherche = Faux +sinon +gbRecherche = Vrai +fin +si gbRecherche alors +FEN_Fiche_RDV_F..Largeur = gnLargeurOuvert +BTN_Fermer..Visible = Vrai +BTN_Ouvrir..Visible = Faux +sinon +FEN_Fiche_RDV_F..Largeur = gnLargeurFerme +BTN_Fermer..Visible = Faux +BTN_Ouvrir..Visible = Vrai +fin +Procédure locale VerificationSelection +06/08/2026 Isis_BO 690 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV_F › Procédures +procédure VerificationSelection() +n est un entier = 0 +| si INT_CLIENT | _et_ SAI_CLIENT | | <> "" alors n+= 1 | | +| -------------- | ---------------- | --- | ----------------- | --- | +si INT_TITRE_DOSSIER _et_SAI_TITRE_DOSSIER <> "" alors n+= 1 +si INT_REFEXT_DOSSIER _et_ SAI_REFEXT_DOSSIER <> "" alors n+= 1 +| si INT_TITRE_INTER | _et_SAI_TITRE_INTER | | <> "" alors n+= 1 | | +| ------------------- | ------------------- | --- | ----------------- | --- | +si INT_REFEXT_INTERV _et_ SAI_REFEXT_INTERV <> "" alors n+= 1 +| si INT_DEVIS_INTERV | _et_ SAI_DEVIS_INTERV | | <> "" alors n+= 1 | | +| ------------------- | ---------------------- | --- | ----------------- | --- | +| si INT_CODE_LIEU | _et_ SAI_CODE_LIEU | | <> "" alors n+= 1 | | +si INT_ADRESSE_SITE _et_ SAI_ADRESSE_SITE <> "" alors n+= 1 +si INT_CODEPOSTAL_SITE _et_ SAI_CODEPOSTAL_SITE <> "" alors n+= 1 +| si INT_VILLE_SITE | _et_ SAI_VILLE_SITE | <> "" alors n+= 1 | | | +| ----------------- | ------------------- | ------------------- | --- | --- | +si n <= 0 alors +Info("Veuillez sélectionner un critère de recherche") +retour +sinon +ChargementSQL() +fin +| 06/08/2026 | | Isis_BO | | 691 | +| ---------- | --- | ------- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Image +FEN_Exporter_Temps_CSV +Image +FEN_Exporter_Temps_CSV +Informations générales +FEN_Exporter_Temps_CSV +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Exporter_Temps_CSV.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ---------------------------------------- | --------- | --------------- | --- | +| Date de création | | 28/07/2023 11:14:16 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:25 | | | | +| Titre | | FR: Exporter le temps des collaborateurs | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 337 Hauteur | 377 | +| 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 | | +| 06/08/2026 | | | Isis_BO | | 692 | + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Informations générales +| 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 | | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Non | | | | +| Type cadre | Double | | | | +| Transparence Vista | Non | | | | +| Transparence gérée par Vista | Non | | | | +| Appliquer le thème du projet | | | | | +| Grisé : Utiliser couleur perso. | Non | | | | +| Grisé : Algo pour images | | | | | +| 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. | | | | | +| 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 | | | | +Image poignée D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +| 06/08/2026 | | Isis_BO | | 693 | +| ---------- | --- | ------- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | | | 3 | Libellé | | | 2 | +| --- | --------------------- | --- | --- | --- | --- | ------------ | --- | --- | --- | +| | Bouton | | | | 4 | Interrupteur | | | 1 | +| | Combo | | | | 1 | Forme | | | 1 | +| | Option d'interrupteur | | | | 1 | | | | | +Nombre d'éléments dans la fenêtre : 13 +FEN_Exporter_Temps_CSV +Informations sur les champs +Fenêtre : FEN_Exporter_Temps_CSV +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_DateDebut | | 17 99 | 128 42 | 0 Actif | | Date | Non | | | +| -------------- | --- | ------ | ------ | ------- | --- | ----- | --- | --- | --- | +| SAI_DateFin | | 189 99 | 128 42 | 0 Actif | | Date | Non | | | +| SAI_Repertoire | | 17 247 | 270 42 | 0 Actif | | Texte | Non | | | +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --------------------- | --- | --- | --- | ------------- | ------------- | --- | +| | | | | | | | laitini tatE | FTR tamroF | | +| | | | X noitisoP Y noitisoP | | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| LIB_SOCIETE | | | 17 156 | 174 | 16 | 0 | Actif Gauche | Haut | | +| -------------------- | --- | --- | ------ | --- | ------- | --- | ------------ | ------ | --- | +| LIB_Titre_de_fenêtre | | | 3 0 | 298 | 74 | 0 | Actif Centre | Centre | | +| 06/08/2026 | | | | | Isis_BO | | | | 694 | + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Informations sur les champs +Bouton +notuob epyT +| | | | | | | | | | | laitini tatE BAT ehcuoT | | | +| --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | --- | ----------------------- | --- | --- | +| | | X noitisoP | Y noitisoP | | | | | | | | | | +| | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_Fermer | | 305 | | 6 | 24 | | 24 | 0 | Actif | | Abandon | | +| ------------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | ------- | --- | +| BTN_GenererFichier | | 91 | | 317 | 152 | | 24 | 0 | Actif | | Normal | | +| BTN_GenererFichier1 | | 492 | | 256 | 221 | | 24 | 0 | Actif | | Normal | | +| BTN_Parcourir | | 293 | | 263 | 24 | | 24 | 0 | Actif | | Normal | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | | | laitini tatE | | BAT ehcuoT | | staté siorT | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | ---------- | --- | ----------- | +| | | X noitisoP | Y noitisoP | | | | | | | | | | +| | | | | ruegraL | ruetuaH | | | | | | | | +elbisiV +nalP +| INT_RdvExporte | | 17 | 211 | 300 | | 25 | 0 | Actif | | | 1 | | +| -------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | +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 | | | | +| COMBO_Societe | 17 | 172 300 | 22 | 0 | | Actif | | Table ch | | Non | | | +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | --- | ------------ | --- | +| | | | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| FRM_ENTETE | | | 0 | | 0 | 337 | | 75 | 0 | | Actif | | +| ---------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Fenêtre : FEN_Exporter_Temps_CSV +| 06/08/2026 | | | | | Isis_BO | | | | | | | 695 | +| ---------- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Informations sur les champs +Bouton : BTN_Fermer +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 696 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Informations sur les champs +Bouton : BTN_GenererFichier +Libellé FR: Générer fichier CSV +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite et bas +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 697 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Informations sur les champs +Bouton : BTN_GenererFichier1 +Libellé FR: Générer fichier CSV Temps CR +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 698 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Informations sur les champs +Bouton : BTN_Parcourir +Libellé FR: ... +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +GENSTEEL\Gensteel_Pict_Browse_16_5.png +Nb. états image 5 +Image fond FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +GENSTEEL\Gensteel_Btn_Brw.png +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 699 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Informations sur les champs +Combo : COMBO_Societe +Libellé FR: Société +Groupe GR_CADENAS_RDV +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 300 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 17 +Largeur interne 300 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Nom de la société +Numéro aide 0 +Texte d'indication si vide FR: Nom de la société +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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 +06/08/2026 Isis_BO 700 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Informations sur les champs +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru Societe +Rub. parcourue SO_PKID +Rub. affichée SO_Nom +Rub. mémorisée SO_PKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FRM_ENTETE +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 701 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Informations sur les champs +Interrupteur : INT_RdvExporte +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 +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. +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 6 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 702 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Informations sur les champs +Libellé : LIB_SOCIETE +Libellé FR: Société * +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Titre_de_fenêtre +Libellé FR: Export des temps des collaborateurs " Fichier CSV " +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 +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 +06/08/2026 Isis_BO 703 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_DateDebut +Libellé FR: Date de début* +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 19 +Largeur interne 126 +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 +06/08/2026 Isis_BO 704 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Informations sur les champs +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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 705 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Informations sur les champs +Champ de saisie : SAI_DateFin +Libellé FR: Date de fin +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 190 +Largeur interne 127 +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 +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 +06/08/2026 Isis_BO 706 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › 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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_Repertoire +Libellé FR: Enregistrer sous * +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 19 +Largeur interne 268 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 707 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Informations sur les champs +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 +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 +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 708 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Messages multilingues +FEN_Exporter_Temps_CSV +Messages multilingues +06/08/2026 Isis_BO 709 +¹ +.ssem +°N +Message +2000 FR: Sélectionner un répertoire... +¹ N° mess. : numéro de message. +FEN_Exporter_Temps_CSV +Code +Déclarations globales de FEN_Exporter_Temps_CSV +procédure FEN_Exporter_Temps_CSV() +saCheminInit est une chaîne Unicode = ComplèteRep(fRepGlobalCommun)+RepertoireIni+["\"]+ +NomFichierIni +saCheminDossier est une chaîne ANSI +gnIdStatutFait est un entier sur 8 octets = gpclListeStatutRendezVous. +RechercheEtDonneIdDepuisValeur("4") +gnIdTypActiviteInter est un entier sur 8 octets = gpclListeTypeRendezVous. +RechercheEtDonneIdDepuisValeur("1") +gtaCompteRendu est un tableau associatif de STCompteRenduRqListe +gtaCompteRenduGroupeDate est un tableau associatif de STCompteRenduRqListe +gtaTempParSociete est un tableau associatif de STInfoRdvSoc +gsErreur est une chaîne ANSI +gtaSuivi est un tableau associatif de STInfoSuivis +gtabIdActTempSuivi est un tableau d'entiers sur 8 octets +RecupererDossierInit() +RechercherIdActTemp() +SAI_Repertoire = saCheminDossier +Fin d'initialisation de FEN_Exporter_Temps_CSV +SAI_DateFin = DateSys() +RemplirComboSoc() +FEN_Exporter_Temps_CSV +Code des champs +Clic sur BTN_Fermer + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Code des champs +Ferme(FEN_Exporter_Temps_CSV) +Clic sur BTN_GenererFichier +gsErreur = "" +VerificationDates() +si SAI_Repertoire <> "" alors +si COMBO_Societe > 0 alors +// generer le fichier +si pas ReqTemps() alors +Erreur(gsErreur) +retour +sinon +CreationFichierCSV() +fin +si saCheminDossier <> SAI_Repertoire alors +si pas ModifierDossierInit() alors +Info( +"Le nouveau répertoire pour enregistrer les fichiers CSV n'a pas pu être enregistré +dans le fichier INI" +) +Ferme() +fin +sinon +Ferme() +fin +sinon +Info("Vous devez choisir une société") +retour +fin +sinon +Info("Vous devez choisir le répertoire pour enregistrer les fichiers CSV") +retour +fin +Clic sur BTN_GenererFichier1 +gsErreur = "" +VerificationDates() +si SAI_Repertoire <> "" alors +si COMBO_Societe > 0 alors +// generer le fichier +si pas ReqTemps(Vrai) alors +Erreur(gsErreur) +retour +sinon +CreationFichierCSV() +fin +si saCheminDossier <> SAI_Repertoire alors +si pas ModifierDossierInit() alors +Info( +"Le nouveau répertoire pour enregistrer les fichiers CSV n'a pas pu être enregistré +dans le fichier INI" +) +Ferme() +fin +sinon +Ferme() +fin +sinon +06/08/2026 Isis_BO 710 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Code des champs +Info("Vous devez choisir une société") +retour +fin +sinon +Info("Vous devez choisir le répertoire pour enregistrer les fichiers CSV") +retour +fin +Clic sur BTN_Parcourir +sRepertoire est une chaîne +// Ouvre le sélecteur de fichiers +soit sTitre="Sélectionner un répertoire..." +// ouvre le sélecteur +sRepertoire = fRepSélecteur(SAI_Repertoire, sTitre, "") +si sRepertoire<>"" alors +SAI_Repertoire = sRepertoire +ExécuteTraitement(SAI_Repertoire,trtModification) +fin +FEN_Exporter_Temps_CSV +Procédures +Procédure locale AjouterDateExportRDV +procédure AjouterDateExportRDV(sId est une chaîne ANSI) +saComplReq est une chaîne ANSI = "" +sReq est une chaîne ANSI = [ +UPDATE Planning_RDV +SET Planning_RDV.PL_DateExport = +] +saComplReq = "'" + DateHeureSys() + "' " +saComplReq +="WHERE Planning_RDV.PL_PKID IN ("+ Gauche(sId,Taille(sId)-1)+")" +sReq += saComplReq +sdRReq est une Source de Données +si pas HExécuteRequêteSQL(sdRReq,hRequêteDéfaut,sReq) alors +gsErreur = "Une erreur s'est produite, la date d'exportation n'a pas pu être attribuée" +renvoyer Faux +fin +renvoyer Vrai +Procédure locale CreationFichierCSV +procédure CreationFichierCSV() +// Conversion d'un fichier de données en CSV (export) +06/08/2026 Isis_BO 711 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Procédures +sLigneAEcrire est une chaîne +sContenuLignes est une chaîne +sContenuFichier est une chaîne +sCheminFichier est une chaîne +sNomSoc est une chaîne ANSI +nQteFichier est un entier +sNomFichier est une chaîne ANSI +sFichierCrees est une chaîne ANSI +sFichierNonCrees est une chaîne ANSI +sIdRdvs est une chaîne ANSI +bOk est un booléen +si gtaTempParSociete..Occurrence > 0 alors +pour tout stSoc de gtaTempParSociete +bOk = Faux +sIdRdvs = "" +sContenuLignes = "" +pour tout stInfo de stSoc:tabRDv +sLigneAEcrire = TraitementChaine(stInfo.saDateDebut)+";"... ++TraitementChaine(stInfo.saDateFin)+";"... ++TraitementChaine(stInfo.saHeureDebut)+";"... ++TraitementChaine(stInfo.saHeureFin)+";"... ++TraitementChaine(stInfo.saHeureDebutPlanning)+";"... ++TraitementChaine(stInfo.saHeureFinPlanning)+";"... ++TraitementChaine(stInfo.saDossier)+";"... ++TraitementChaine(stInfo.saIntervention)+";"... ++stInfo.nSav+";"... ++TraitementChaine(stInfo.saDevis)+";"... ++TraitementChaine(stInfo.saNomClient)+";"... ++TraitementChaine(stInfo.saCodeClient)+";"... ++TraitementChaine(stInfo.saTechnicien)+";"... ++TraitementChaine(stInfo.saQteHeures)+";"... ++TraitementChaine(stInfo.saTypeTemps)+";"... ++TraitementChaine(stInfo.sCreationCR)+";"... ++TraitementChaine(stInfo.saTypeRDV)+";"... ++TraitementChaine(stInfo.saNomSociete)+";"... ++TraitementChaine(stInfo.saBGSociete)+";"... ++TraitementChaine(stInfo.saAdresse)+";" +si stInfo.bTempsSaisie alors +sLigneAEcrire += "OUI" +sinon +sLigneAEcrire += "NON" +fin +sContenuLignes += sLigneAEcrire + RC +si stInfo.saBGSociete <> "" alors +sNomSoc = stInfo.saBGSociete +sinon +sNomSoc = stInfo.saNomSociete +fin +sIdRdvs += stInfo.nIdRdv+"," +bOk = Vrai +fin +si bOk alors +sNomFichier = SansEspace(sNomSoc, sscIntérieur+sscExtérieur)+".csv" +sCheminFichier = SAI_Repertoire+"\"+sNomFichier +si fFichierExiste(sCheminFichier) = Vrai alors +sContenuFichier = fChargeTexte(sCheminFichier) +sinon +sContenuFichier = +"DateDebut;DateFin;HeureDebut;HeureFin;HeureDebutPlanning;HeureFinPlanning;Dossier;Int +ervention; +06/08/2026 Isis_BO 712 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Procédures +Sav;Devis;NomClient;CodeClient;Technicien;"... ++ +"QteHeures;TypeTemps;DateCompteRendu;TypeRDV;NomSociete;BGSociete;Adresse;Temps +validé" ++RC +fin +sContenuFichier += sContenuLignes +si fSauveTexte (sCheminFichier, sContenuFichier) alors +nQteFichier += 1 +sFichierCrees += sNomFichier + RC +//Appelle méthode pour mettre la date de export +si pas AjouterDateExportRDV(sIdRdvs) alors +Info(gsErreur) +MessageProcd() +retour +fin +sinon +sFichierNonCrees += sNomFichier + RC +fin +fin +fin +MessageProcd() +sinon +Info("Aucun RDV trouvé pour cette période") +fin +procédure interne MessageProcd() +si nQteFichier > 0 ou sFichierNonCrees <> "" alors +si nQteFichier > 0 alors +si nQteFichier > 1 alors +Info("Extraction réussi"+RC+nQteFichier+" fichiers ont été créés."+RC+sFichierCrees) +sinon +Info("Extraction réussi"+RC+nQteFichier+" fichier a été créé."+RC+sFichierCrees) +fin +fin +si sFichierNonCrees <> "" alors +Info("Un erreur est survenu"+RC+"Certains fichiers non pas pu être crées"+RC+ +sFichierNonCrees) +fin +sinon +Info("Aucune donnée récupérée") +fin +fin +Procédure locale FiltreInfo +procédure FiltreInfo(sdReq_1 est une Source de Données) +pstUnRdv est une stInfoRDV dynamique +saAdrs est une chaîne ANSI +bOk est un booléen +//nRechercheTemps est un entier +duMaDurée est une Durée +sDD, sDF, sDC_CR est une chaîne ANSI +06/08/2026 Isis_BO 713 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Procédures +HD, HF est une Heure +duDureeRdv est une Durée +nTempHInterMoins est un entier +dhHeurDebutInter , dhHeureFinInter est une DateHeure +nIDtempInter est un entier sur 8 octets = gpclListeTypeTemps.RechercheEtDonneIdDepuisValeur(2) +sTypeTempsInter est une chaîne ANSI = gpclListeTypeTemps.RechercheEtDonneLibelleDepuisID( +nIDtempInter) +pour tout sdReq_1 +bOk = Faux +sDD = "" +sDF = "" +HD = "" +HF = "" +sDC_CR = "" +nTempHInterMoins = 0 +si gtaSuivi[sdReq_1.PL_PKID]..Existe alors +pour tout stSuivi de gtaSuivi[sdReq_1.PL_PKID].taSuivis +bOk = DonneTemp(stSuivi.dhDateHeureDebut,stSuivi.dhDateHeureFin) +si bOk et stSuivi.nNbMin > 0 et stSuivi.nIdTypeTemps = nIDtempInter alors +dhHeurDebutInter = stSuivi.dhDateHeureDebut +dhHeureFinInter = stSuivi.dhDateHeureFin +fin +fin +pour tout stSuivi de gtaSuivi[sdReq_1.PL_PKID].taSuivis +bOk = DonneTemp(stSuivi.dhDateHeureDebut,stSuivi.dhDateHeureFin) +si bOk et stSuivi.nNbMin > 0 et stSuivi.nIdTypeTemps <> nIDtempInter alors +RemplirRDV(sdReq_1,0,stSuivi.sTypeTemps,Vrai) +si stSuivi.dhDateHeureDebut >= dhHeurDebutInter et stSuivi.dhDateHeureFin <= +dhHeureFinInter alors +duMaDurée = (stSuivi.dhDateHeureFin - stSuivi. +dhDateHeureDebut) +nTempHInterMoins += duMaDurée..EnMinutes +fin +fin +fin +pour tout stSuivi de gtaSuivi[sdReq_1.PL_PKID].taSuivis +bOk = DonneTemp(stSuivi.dhDateHeureDebut,stSuivi.dhDateHeureFin) +si bOk et stSuivi.nNbMin > 0 et stSuivi.nIdTypeTemps = nIDtempInter alors +RemplirRDV(sdReq_1,nTempHInterMoins,stSuivi.sTypeTemps,Vrai) +fin +fin +sinon +bOk = Faux +bOk =DonneTemp(sdReq_1.PL_DateDebut,sdReq_1.PL_DateFin) +si bOk alors +RemplirRDV(sdReq_1,0,sTypeTempsInter,Faux) +fin +fin +fin +procédure interne RemplirRDV(local sdReq est un Source de Données, nDureeAutreTemps est un +entier, sATypeTemps est une chaîne ANSI, bTempos est un booléen) +pstUnRdv = allouer un stInfoRDV +pstUnRdv.nIdRdv = sdReq.PL_PKID +pstUnRdv.saDateDebut = sDD +pstUnRdv.saDateFin = sDD +si HF < HD alors +dateFinDif est une Date = sDD +dateFinDif..Jour += 1 +06/08/2026 Isis_BO 714 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Procédures +pstUnRdv.saDateFin = dateFinDif // rdv de nuit +sDF = dateFinDif +fin +pstUnRdv.saHeureDebut = Gauche(HD,2)+"h"+Droite(Gauche(HD,4),2) +pstUnRdv.saHeureFin = Gauche(HF,2)+"h"+Droite(Gauche(HF,4),2) +pstUnRdv.saHeureDebutPlanning = Gauche(Droite(sdReq.PL_DateDebut,9),2)+"h"+Droite(Gauche( +Droite(sdReq.PL_DateDebut,9),4),2) +pstUnRdv.saHeureFinPlanning = Gauche(Droite(sdReq.PL_DateFin,9),2)+"h"+Droite(Gauche +(Droite(sdReq.PL_DateFin,9),4),2) +pstUnRdv.saDossier = sdReq.DO_RefInterne +pstUnRdv.saIntervention = sdReq.IN_RefInterne +pstUnRdv.saDevis = sdReq.IN_NumDevis +pstUnRdv.saNomClient = sdReq.CL_Nom +pstUnRdv.saCodeClient = sdReq.CL_CodeClient +nPos est un entier = TableauCherche(gpclListeCollabActif:m_clTabModele,tcLinéaire, +"m_nPKID",sdReq.PL_IDCollaborateur) +si nPos > 0 alors +pstUnRdv.saTechnicien = gpclListeCollabActif:m_clTabModele[nPos].m_sTrigramme +fin +dhDateD est une DateHeure +dhDatef est une DateHeure +dhDateD..PartieDate = sDD +dhDateD..PartieHeure = HD +dhDatef..PartieDate = sDF +dhDatef..PartieHeure = HF +duDureeRdv = dhDatef - dhDateD +pstUnRdv.sAQteHeures = Abs(Arrondi(((duDureeRdv..EnMinutes-nDureeAutreTemps)/60), +2)) +pstUnRdv.saTypeTemps = sATypeTemps +pstUnRdv.saTypeRDV = gpclListeTypeRendezVous. +RechercheEtDonneLibelleDepuisID(sdReq.PL_IDTypeActivite) +pstUnRdv.nSav = sdReq.PL_SAV ? 1 sinon 0 +pstUnRdv.sCreationCR = sDC_CR +pstUnRdv.bTempsSaisie = bTempos +//récupération variable global +si sdReq.PL_IDSociete > 0 alors +pstUnRdv.saNomSociete= gpclListeSociete.RechercheNomSociteParId(sdReq.PL_IDSociete) +fin +si gtaBaseExterneParSoc[sdReq.UT_IDSocietePrincipale]..Existe alors +pour tout SocB_Ext de gtaBaseExterneParSoc +si SocB_Ext.m_nIDSociete = sdReq.UT_IDSocietePrincipale alors +pstUnRdv.saBGSociete = SocB_Ext.m_sNom +fin +fin +fin +saAdrs = "" +TraitementAdresse(saAdrs,sdReq.AD_Ligne_1) +TraitementAdresse(saAdrs,sdReq.AD_Ligne_2) +TraitementAdresse(saAdrs,sdReq.AD_Ligne_3) +TraitementAdresse(saAdrs,sdReq.AD_Ligne_4) +TraitementAdresse(saAdrs,sdReq.AD_Ligne_5) +TraitementAdresse(saAdrs,sdReq.AD_CodePostal) +TraitementAdresse(saAdrs,sdReq.AD_Ville) +pstUnRdv.saAdresse = saAdrs +06/08/2026 Isis_BO 715 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Procédures +si gtaTempParSociete[sdReq.UT_IDSocietePrincipale]..Existe alors +TableauAjoute(gtaTempParSociete[sdReq.UT_IDSocietePrincipale].tabRDV, pstUnRdv) +sinon +stTableRdvs est un STInfoRdvSoc +gtaTempParSociete[sdReq.UT_IDSocietePrincipale] = stTableRdvs +TableauAjoute(gtaTempParSociete[sdReq.UT_IDSocietePrincipale].tabRDV, pstUnRdv) +fin +si duDureeRdv..EnJours > 1 alors +dNouvelleDate est une Date = sDD +numeroJour est un entier +boucle +dNouvelleDate.Jour++ +si numeroJour >= Abs(duDureeRdv..EnJours) alors +pstUnRdv.saDateDebut = dNouvelleDate +si HF < HD alors // rdv de nuit +dNouvelleDate..Jour += 1 +fin +pstUnRdv.saDateFin = dNouvelleDate +TableauAjoute(gtaTempParSociete[sdReq.UT_IDSocietePrincipale].tabRDV, +pstUnRdv) +si HF < HD alors // rdv de nuit +dNouvelleDate..Jour -= 1 +fin +numeroJour += 1 +sinon +sortir +fin +fin +fin +fin +procédure interne DonneTemp(DateHD est une DateHeure, DateHF est une DateHeure) +sDD = Gauche(DateHD,8) +sDF = Gauche(DateHF,8) +HD = Droite(DateHD,9) +HF = Droite(DateHF,9) +si sDD = "" ou sDF = "" ou HD = "" ou HF = "" alors +renvoyer Faux +sinon +renvoyer Vrai +fin +fin +Procédure locale FiltreInformation +procédure FiltreInformation(sdReq est une Source de Données) +pstUnRdv est une stInfoRDV dynamique +saAdrs est une chaîne ANSI +bOk est un booléen +saCle est une chaîne ANSI +dhDateDebut, dhDateFin est une DateHeure +sDD, sDF, sDC_CR est une chaîne ANSI +HD, HF est une Heure +duDureeRdv est une Durée +pour tout sdReq +06/08/2026 Isis_BO 716 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Procédures +bOk = Faux +sDD = "" +sDF = "" +HD = "" +HF = "" +sDC_CR = "" +// si le rdv est de type intervention il faut verifier l'status du rdv +si sdReq.PL_IDTypeActivite = gnIdTypActiviteInter alors +si sdReq.PL_IDStatut = gnIdStatutFait alors +// si le rdv a été fait il doit avoir un compte rendu +si sdReq.PL_IDGroupe > 0 alors +saCle = sdReq.PL_IDGroupe +sinon +saCle = sdReq.GUID +fin +si gtaCompteRendu[saCle]..Existe alors +si gtaCompteRendu[saCle].dhDateHeureDebut <> "" et gtaCompteRendu[saCle].dh +DateHeureFin <> "" alors +gtaCompteRendu[saCle].dhDateHeureDebut..PartieDate = sdReq.PL_DateDebut +gtaCompteRendu[saCle].dhDateHeureFin..PartieDate = sdReq.PL_DateFin +bOk =DonneTemp(gtaCompteRendu[saCle].dhDateHeureDebut,gtaCompteRendu[saCle].dh +DateHeureFin) +si gtaCompteRendu[saCle].dhDateCreation <> "" alors +sDC_CR = Gauche(gtaCompteRendu[saCle].dhDateCreation,8) +fin +sinon +bOk =DonneTemp(sdReq.PL_DateDebut,sdReq.PL_DateFin) +fin +sinon +bOk =DonneTemp(sdReq.PL_DateDebut,sdReq.PL_DateFin) +fin +sinon +bOk = Faux +si sdReq.PL_IdGroupeDate > 0 alors +si gtaCompteRenduGroupeDate[sdReq.PL_IdGroupeDate]..Existe alors +si gtaCompteRenduGroupeDate[sdReq.PL_IdGroupeDate].dhDateHeureDebut <> "" et gta +CompteRenduGroupeDate[sdReq.PL_IdGroupeDate].dhDateHeureFin <> "" alors +dhDateDebut = sdReq.PL_DateDebut +dhDateFin = sdReq.PL_DateFin +si gtaCompteRenduGroupeDate[sdReq.PL_IdGroupeDate].dhDateHeureDebut.. +PartieDate >= dhDateDebut..PartieDate et gtaCompteRenduGroupeDate[sdReq. +PL_IdGroupeDate].dhDateHeureFin..PartieDate >= dhDateFin..PartieDate alors +dhDateDebut..PartieHeure = gtaCompteRenduGroupeDate[sdReq. +PL_IdGroupeDate].dhDateHeureDebut.PartieHeure +dhDateFin..PartieHeure = gtaCompteRenduGroupeDate[sdReq. +PL_IdGroupeDate].dhDateHeureFin.PartieHeure +bOk = DonneTemp(dhDateDebut,dhDateFin) +si gtaCompteRenduGroupeDate[sdReq.PL_IdGroupeDate].dhDateCreation <> "" +alors +sDC_CR = Gauche(gtaCompteRenduGroupeDate[sdReq.PL_IdGroupeDate].dh +DateCreation,8) +fin +fin +fin +fin +fin +fin +sinon +06/08/2026 Isis_BO 717 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Procédures +bOk = DonneTemp(sdReq.PL_DateDebut,sdReq.PL_DateFin) +fin +si bOk alors +pstUnRdv = allouer un stInfoRDV +pstUnRdv.nIdRdv = sdReq.PL_PKID +pstUnRdv.saDateDebut = sDD +pstUnRdv.saDateFin = sDD +pstUnRdv.saHeureDebut = Gauche(HD,2)+"h"+Droite(Gauche(HD,4),2) +pstUnRdv.saHeureFin = Gauche(HF,2)+"h"+Droite(Gauche(HF,4),2) +pstUnRdv.sAHeureDebutPlanning = Gauche(Droite(sdReq.PL_DateDebut,9),2)+"h"+Droite(Gauche( +Droite(sdReq.PL_DateDebut,9),4),2) +pstUnRdv.sAHeureFinPlanning = Gauche(Droite(sdReq.PL_DateFin,9),2)+"h"+Droite(Gauche( +Droite(sdReq.PL_DateFin,9),4),2) +pstUnRdv.saDossier = sdReq.DO_RefInterne +pstUnRdv.saIntervention = sdReq.IN_RefInterne +pstUnRdv.saDevis = sdReq.IN_NumDevis +pstUnRdv.saNomClient = sdReq.CL_Nom +pstUnRdv.saCodeClient = sdReq.CL_CodeClient +nPos est un entier = TableauCherche(gpclListeCollabActif:m_clTabModele,tcLinéaire,"m_nPKID", +sdReq.PL_IDCollaborateur) +si nPos > 0 alors +pstUnRdv.saTechnicien = gpclListeCollabActif:m_clTabModele[nPos].m_sTrigramme +fin +duDureeRdv = HF - HD +pstUnRdv.saQteHeures = Arrondi((duDureeRdv..EnMinutes/60),2) +pstUnRdv.saTypeRDV = gpclListeTypeRendezVous.RechercheEtDonneLibelleDepuisID( +sdReq.PL_IDTypeActivite) +pstUnRdv.nSav = sdReq.PL_SAV ? 1 sinon 0 +pstUnRdv.sCreationCR = sDC_CR +//récupération variable global +si sdReq.PL_IDSociete > 0 alors +pstUnRdv.saNomSociete= gpclListeSociete.RechercheNomSociteParId(sdReq.PL_IDSociete) +fin +si gtaBaseExterneParSoc[sdReq.PL_IDSociete]..Existe alors +pour tout SocB_Ext de gtaBaseExterneParSoc +si SocB_Ext.m_nIDSociete = sdReq.PL_IDSociete alors +pstUnRdv.saBGSociete = SocB_Ext.m_sNom +fin +fin +fin +saAdrs = "" +TraitementAdresse(saAdrs,sdReq.AD_Ligne_1) +TraitementAdresse(saAdrs,sdReq.AD_Ligne_2) +TraitementAdresse(saAdrs,sdReq.AD_Ligne_3) +TraitementAdresse(saAdrs,sdReq.AD_Ligne_4) +TraitementAdresse(saAdrs,sdReq.AD_Ligne_5) +TraitementAdresse(saAdrs,sdReq.AD_CodePostal) +TraitementAdresse(saAdrs,sdReq.AD_Ville) +06/08/2026 Isis_BO 718 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Procédures +pstUnRdv.saAdresse = saAdrs +si gtaTempParSociete[sdReq.PL_IDSociete]..Existe alors +TableauAjoute(gtaTempParSociete[sdReq.PL_IDSociete].tabRDV, pstUnRdv) +sinon +stTableRdvs est un STInfoRdvSoc +gtaTempParSociete[sdReq.PL_IDSociete] = stTableRdvs +fin +dNouvelleDate est une Date = sDD +si sDD <> "" et sDF <> "" alors +si sDD <> sDF alors +boucle +dNouvelleDate.Jour++ +si dNouvelleDate <= sDF alors +pstUnRdv.saDateDebut = dNouvelleDate +pstUnRdv.saDateFin = dNouvelleDate +TableauAjoute(gtaTempParSociete[sdReq.PL_IDSociete].tabRDV, pstUnRdv) +sinon +sortir +fin +fin +fin +fin +fin +fin +procédure interne DonneTemp(DateHD est une DateHeure, DateHF est une DateHeure) +sDD = Gauche(DateHD,8) +sDF = Gauche(DateHF,8) +HD = Droite(DateHD,9) +HF = Droite(DateHF,9) +si sDD = "" ou sDF = "" ou HD = "" ou HF = "" alors +renvoyer Faux +sinon +renvoyer Vrai +fin +fin +Procédure locale ModifierDossierInit +procédure ModifierDossierInit() +si pas INIEcrit("Export_Temps", "Dossier",SAI_Repertoire,saCheminInit) alors +renvoyer Faux +fin +renvoyer Vrai +Procédure locale RechercheCompteRendu +procédure RechercheCompteRendu() +TableauSupprimeTout(gtaCompteRendu) +TableauSupprimeTout(gtaCompteRenduGroupeDate) +saComplReq est une chaîne ANSI = "" +saRqCR est une chaîne ANSI = [ +06/08/2026 Isis_BO 719 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Procédures +SELECT +CompteRendu.CR_PKID, +CompteRendu.GUID AS CR_GUID, +CompteRendu.CR_DateHeureDebut, +CompteRendu.CR_DateHeureFin, +CompteRendu.CR_IDIntervention, +CompteRendu.CR_IDRdv, +CompteRendu.CreationDate AS CreationDate_CR, +Planning_RDV.PL_IDCollaborateur, +Planning_RDV.PL_IDGroupe, +Planning_RDV.PL_IdGroupeDate, +Planning_RDV.GUID +FROM CompteRendu +INNER JOIN Planning_RDV ON PL_PKID = CR_IDRdv +WHERE +Planning_RDV.Archive=0 +] +saComplReq += "AND Planning_RDV.PL_IDTypeActivite= " + gnIdTypActiviteInter +saComplReq += "AND Planning_RDV.PL_IDStatut= "+gnIdStatutFait +saComplReq += "AND Planning_RDV.PL_DateDebut > '" + StrSQL(SAI_DateDebut) + "' " +//Traitement de la date fin +nDateFinest un entier = 0 +sRDF est une chaîne +si SAI_DateFin <> "" alors +nDateFin = SAI_DateFin +sinon +nDateFin = DateSys() +fin +nDateFin += 1 +sRDF = nDateFin +saComplReq += "AND Planning_RDV.PL_DateFin < '" + StrSQL(sRDF) + "' " +saComplReq += "ORDER by CR_IDRdv" +saRqCR += saComplReq +sdSDCR est une Source de Données +si pas HExécuteRequêteSQL(sdSDCR,hRequêteDéfaut,saRqCR) alors +renvoyer Faux +sinon +pour tout sdSDCR +stCpR est une STCompteRenduRqListe +stCpR.dhDateHeureDebut = sdSDCR.CR_DateHeureDebut +stCpR.dhDateHeureFin = sdSDCR.CR_DateHeureFin +stCpR.nIN_PKID = sdSDCR.CR_IDIntervention +stCpR.nRDV_PKID = sdSDCR.CR_IDRdv +stCpR.nIdGroupe = sdSDCR.PL_IDGroupe +stCpR.dhDateCreation = sdSDCR.CreationDate_CR +stCpR.nIdGroupeDate = sdSDCR.PL_IdGroupeDate +stCpR.GUID = sdSDCR.GUID +si stCpR.nRDV_PKID > 0 et stCpR.dhDateHeureDebut <> "" et stCpR.dhDateHeureFin <> "" alors +si stCpR.nIdGroupe > 0 alors +gtaCompteRendu[stCpR.nIdGroupe] = stCpR +sinon +gtaCompteRendu[stCpR.GUID] = stCpR +fin +06/08/2026 Isis_BO 720 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Procédures +si stCpR.nIdGroupeDate > 0 alors +gtaCompteRenduGroupeDate[stCpR.nIdGroupeDate] = stCpR +fin +fin +fin +fin +renvoyer Vrai +Procédure locale RechercherIdActTemp +procédure RechercherIdActTemp() +ValeurJson est un ST_TypeActiviteRDV +TableauSupprimeTout(gtabIdActTempSuivi) +pour tout pclParam de gpclListeTypeRendezVous:m_clTabModele +si pclParam:m_sParametre <> "" alors +Désérialise(ValeurJson,pclParam:m_sParametre,psdJSON) +si ValeurJson.Saisir_temps_obligatoire > 0 alors +TableauAjoute(gtabIdActTempSuivi,pclParam.m_nPKID) +fin +fin +fin +Procédure locale RechercheSuiviTemps +procédure RechercheSuiviTemps() +TableauSupprimeTout(gtaSuivi) +nIdTypeTempsInter est un entier sur 8 octets = gpclListeTypeTemps.RechercheEtDonneIdDepuisValeur(2) +saComplReq est une chaîne ANSI = "" +saRqSDT est une chaîne ANSI = [ +SELECT +SuiviDesTemps.*, +PL_DateDebut, +PL_DateFin, +PA_Libelle +FROM SuiviDesTemps +INNER JOIN Planning_RDV ON PL_PKID = suiviDesTemps.SDT_IDRdv +INNER JOIN ParametreMetier on PA_PKID = SuiviDesTemps.SDT_IDTypeTemps +INNER JOIN Utilisateur ON (UT_IDCollaborateur = PL_IDCollaborateur) +where +Planning_RDV.Archive=0 +AND SDT_NbMinutes > 0 +AND SDT_DateDebut > '00000000' AND SDT_DateHeureFin > '00000000' +and SDT_IDTypeTemps > 0 +] +saComplReq += " AND Planning_RDV.PL_DateDebut > '" + StrSQL(SAI_DateDebut) + "' " +si COMBO_Societe..ValeurMémorisée > 0 alors +saComplReq += " AND Utilisateur.UT_IDSocietePrincipale = " + COMBO_Societe..ValeurMémorisée +fin +06/08/2026 Isis_BO 721 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Procédures +//Traitement de la date fin +nDateFinest un entier = 0 +sRDF est une chaîne +si SAI_DateFin <> "" alors +nDateFin = SAI_DateFin +sinon +nDateFin = DateSys() +fin +nDateFin += 1 +sRDF = nDateFin +saComplReq += " AND Planning_RDV.PL_DateFin < '" + StrSQL(sRDF) + "' " +saComplReq += " ORDER by SuiviDesTemps.SDT_IDRdv" +saRqSDT += saComplReq +sdSDSDT est une Source de Données +si pas HExécuteRequêteSQL(sdSDSDT,hRequêteDéfaut,saRqSDT) alors +renvoyer Faux +sinon +pour tout sdSDSDT +stSDT est une STSuivisRqListe +stSDT.dhDateHeureDebut = sdSDSDT.SDT_DateDebut +stSDT.dhDateHeureFin = sdSDSDT.SDT_DateHeureFin +stSDT.nIN_PKID = sdSDSDT.SDT_IDIntervention +stSDT.nRDV_PKID = sdSDSDT.SDT_IDRdv +stSDT.dhDateCreation = sdSDSDT.CreationDate +stSDT.sGUID = sdSDSDT.GUID +stSDT.nNbMin = sdSDSDT.SDT_NbMinutes +stSDT.sTypeTemps = sdSDSDT.PA_Libelle +stSDT.nIdTypeTemps = sdSDSDT.SDT_IDTypeTemps +stSDT.dhDateHDRDV = sdSDSDT.PL_DateDebut +stSDT.dhDateHFRDV = sdSDSDT.PL_DateFin +gtaSuivi[sdSDSDT.SDT_IDRdv].nRDV_PKID = sdSDSDT.SDT_IDRdv +gtaSuivi[sdSDSDT.SDT_IDRdv].taSuivis[sdSDSDT.SDT_IDTypeTemps] = stSDT +fin +fin +pour tout suivis de gtaSuivi +si suivis.taSuivis[nIdTypeTempsInter]..Existe <> Faux alors +pour tout stTemps de suivis.taSuivis +si stTemps.nIdTypeTemps <> nIdTypeTempsInter alors +si stTemps.dhDateHDRDV <= stTemps.dhDateHeureDebut et stTemps.dhDateHFRDV >= stTemps. +dhDateHeureFin alors +suivis.taSuivis[nIdTypeTempsInter].nNbMin -= stTemps.nNbMin +fin +fin +fin +fin +fin +renvoyer Vrai +Procédure locale RecupererDossierInit +procédure RecupererDossierInit() +saCheminDossier = INILit("Export_Temps", "Dossier","",saCheminInit ) +Procédure locale RemplirComboSoc +06/08/2026 Isis_BO 722 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Procédures +procédure RemplirComboSoc() +ListeSupprimeTout(COMBO_Societe) +si gpclFicheUtilisateurEnCours:m_nPKID > 0 alors +reqSQL est une Requête SQL= [ +SELECT DISTINCT * +FROM Societe +INNER JOIN Societe_Collaborateur ON (Societe_Collaborateur.SC_IDCSociete=Societe.SO_PKID) +WHERE Societe_Collaborateur.SC_IDCollaborateur={p_IDUser} +] +reqSQL.p_IDUser = gpclFicheUtilisateurEnCours:m_nPKID +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +ListeAjoute(COMBO_Societe,reqSQL.SO_Nom + gLien(reqSQL.SO_PKID)) +fin +fin +fin +Procédure locale ReqTemps +procédure ReqTemps(bAncienVersion est un booléen = Faux) +saComplReq est une chaîne ANSI = "" +saReqRDV est une chaîne ANSI = [ +SELECT Planning_RDV.*,CL_CodeClient, CL_Nom, IN_NumDevis, IN_RefInterne, DO_RefInterne, AD_Ligne_1, +AD_Ligne_2, AD_Ligne_3,AD_Ligne_4,AD_Ligne_5,AD_CodePostal,AD_Ville,UT_IDSocietePrincipale +FROM Planning_RDV +LEFT OUTER JOIN Intervention ON (Intervention.IN_PKID=Planning_RDV.PL_IDIntervention) +LEFT OUTER JOIN Dossier ON (Dossier.DO_PKID=Intervention.IN_IDDossier) +LEFT OUTER JOIN Client ON (Client.CL_PKID=Intervention.IN_IDClient) +LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Planning_RDV.PL_IDLieu) +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +LEFT OUTER JOIN Utilisateur ON (UT_IDCollaborateur = PL_IDCollaborateur) +WHERE Planning_RDV.Archive=0 +] +saComplReq += " AND Planning_RDV.PL_DateDebut > '" + StrSQL(SAI_DateDebut) + "'" +si COMBO_Societe..ValeurMémorisée > 0 alors +saComplReq += " AND Utilisateur.UT_IDSocietePrincipale = " + COMBO_Societe..ValeurMémorisée +fin +//Traitement de la date fin +nDateFin est un entier = 0 +sRDF est une chaîne +si SAI_DateFin <> "" alors +nDateFin = SAI_DateFin +sinon +nDateFin = DateSys() +fin +nDateFin += 1 +sRDF = nDateFin +saComplReq += " AND Planning_RDV.PL_DateFin < '" + StrSQL(sRDF) + "'" +si pas INT_RdvExporte alors +06/08/2026 Isis_BO 723 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Procédures +saComplReq += " AND Planning_RDV.PL_DateExport = ''" +fin +saComplReq += " ORDER by Planning_RDV.PL_DateDebut" +saReqRDV += saComplReq +sdSDRDV est une Source de Données +si pas HExécuteRequêteSQL(sdSDRDV,hRequêteDéfaut,saReqRDV) alors +gsErreur = "Une erreur s'est produite, les rendez-vous n'ont pas été récupérés" +renvoyer Faux +sinon +si pas bAncienVersion alors +si RechercheSuiviTemps() alors +FiltreInfo(sdSDRDV) +renvoyer Vrai +sinon +gsErreur = "Une erreur s'est produite, les suivis de temps n'ont pas été récupérés" +renvoyer Faux +fin +sinon +si RechercheCompteRendu() alors +FiltreInformation(sdSDRDV) +renvoyer Vrai +sinon +gsErreur = "Une erreur s'est produite, les compte-rendu n'ont pas été récupérés" +renvoyer Faux +fin +fin +fin +Procédure locale TraitementAdresse +procédure TraitementAdresse(sAdresse est une chaîne ANSI, sLigne est une chaîne ANSI) +si sLigne <> "" alors +si sAdresse <> "" alors +sAdresse += " " +fin +sAdresse += sLigne +fin +Procédure locale TraitementChaine +procédure TraitementChaine(sMaChaine est une chaîne) +sMaChaine = Remplace(sMaChaine,";","") +sMaChaine = Remplace(sMaChaine,",",".") +sMaChaine = Remplace(sMaChaine,TAB," ") +renvoyer SupprimerRC(sMaChaine) +Procédure locale VerificationDates +procédure VerificationDates() +si SAI_DateDebut <> "" alors +06/08/2026 Isis_BO 724 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps_CSV › Procédures +si SAI_DateDebut > DateDuJour() alors +Info("La date de début doit être inférieure ou égale à la date d'aujourd'hui") +RepriseSaisie(SAI_DateDebut) +fin +// SI SAI_DateFin > DateDuJour() ALORS +// Info("La date de fin doit être inférieure ou égale à la date d'aujourd'hui") +// RepriseSaisie(SAI_DateFin) +// FIN +si SAI_DateFin <> "" alors +si SAI_DateDebut > SAI_DateFin alors +Info("La date de début doit être inférieure ou égale à la date de fin") +RepriseSaisie(SAI_DateDebut) +fin +fin +sinon +Info("Vous devez saisir la date de début") +RepriseSaisie(SAI_DateDebut) +fin +06/08/2026 Isis_BO 725 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Image +FEN_Utilitaire +Image +| 06/08/2026 | Isis_BO | 726 | +| ---------- | ------- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Image +| 06/08/2026 | Isis_BO | 727 | +| ---------- | ------- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Image +FEN_Utilitaire +Informations générales +FEN_Utilitaire +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Utilitaire.wdw +Créé par SMR +Date de création 09/08/2023 11:18:01 +Dernière modification par SMR +Date dernière modification 11/04/2025 16:08:25 +Titre FR: Utilitaire +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +06/08/2026 Isis_BO 728 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 838 Hauteur | 656 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 729 | + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | | | 3 | Libellé | | | | 3 | +| --- | --------------------- | --- | --- | --- | --- | -------------- | --- | --- | --- | --- | +| | Bouton | | | | 7 | Image | | | | 1 | +| | Table | | | | 1 | Jauge | | | | 1 | +| | Onglet | | | | 1 | Forme | | | | 1 | +| | Colonne de table | | | | 2 | Volet (Onglet) | | | | 3 | +| | Case barre de message | | | | 2 | | | | | | +Nombre d'éléments dans la fenêtre : 25 +FEN_Utilitaire +Informations sur les champs +Fenêtre : FEN_Utilitaire +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_Code | | 20 177 | 801 378 | 0 | Actif | Texte | Non | | | | +| -------------- | --- | ------ | --------- | --- | ----- | ----- | --- | --- | --- | --- | +| SAI_Fichier | | 6 | 53 407 42 | 0 | Actif | Texte | Non | | | | +| SAI_MOTDEPASSE | | 465 | 53 356 51 | 0 | Actif | Texte | Non | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_LibelléCode | | | 18 157 | 179 | 14 | 0 | Actif | Gauche | Haut | | +| -------------------- | --- | --- | ------- | --- | ------- | --- | ----- | ------ | ------ | --- | +| LIB_LibelléCode1 | | | 465 104 | 356 | 17 | 0 | Actif | Gauche | Haut | | +| LIB_Titre_de_fenêtre | | | 271 6 | 298 | 38 | 0 | Actif | Centre | Centre | | +| 06/08/2026 | | | | | Isis_BO | | | | | 730 | + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Informations sur les champs +Bouton +notuob epyT +| | | | | | | | | | | laitini tatE BAT ehcuoT | | | +| --- | --- | --- | ---------- | ---------- | --- | --------------- | --- | --- | --- | ----------------------- | --- | --- | +| | | | X noitisoP | Y noitisoP | | | | | | | | | +| | | | | | | ruegraL ruetuaH | | | | | | | +elbisiV +nalP +| BTN_CLOSE_PARAM | | | 803 | | 11 | 24 | 24 | 0 | | Actif | Abandon | | +| ------------------ | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | ------- | --- | +| BTN_CorrectifTemps | | | 16 | | 244 | 210 | 25 | 0 | | Actif | Normal | | +| BTN_Executer | | | 322 | | 561 | 196 | 24 | 0 | | Actif | Normal | | +| BTN_ImportClient | | | 16 | | 203 | 210 | 25 | 0 | | Actif | Normal | | +| BTN_MaJStructure | | | 16 | | 201 | 210 | 25 | 0 | | Actif | Normal | | +| BTN_Parcourir | | | 419 | | 71 | 24 | 24 | 0 | | Actif | Normal | | +| BTN_Verification | | | 16 | | 165 | 210 | 23 | 0 | | Actif | Normal | | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | | | | laitini tatE | | | sucof cevA | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --------- | --- | ---------- | +| | | | X noitisoP | Y noitisoP | | | | | | | | | +| | | | | | ruegraL | ruetuaH | | | | cilc cevA | | | +elbisiV +nalP +| IMG_InfoImportClient | | | 233 | 199 | | 32 32 | | 0 | Actif | | | | +| -------------------- | --- | --- | --- | --- | --- | ----- | --- | --- | ----- | --- | --- | --- | +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------------ | ------------------ | --- | +)(ertliFH resilitU +| | | | | | | | | .gerne egacolB | | ruesnecsa elluB EERTNE noitseG | eércna ennoloC | 5.5 elbitapmoC | +| --- | --- | --- | --- | --- | --- | --- | --- | -------------- | -------------- | ------------------------------ | -------------- | -------------- | +| | | | | | | | | | noitcelésitluM | edacsac eisiaS | | | +BAT ehcuoT +laitini tatE +| | X noitisoP | Y noitisoP | | | | | sruocraP | | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | -------- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +elbaT +nalP +| TABLE_Structure | 12 | 232 | 814 360 | 0 | affichag | Mémoir | | | | | | 1 | +| --------------- | --- | --- | ------- | --- | -------- | ------ | --- | --- | --- | --- | --- | --- | +Jauge +| | | | | | | | | BAT ehcuoT | | | .xam enroB | euqirtémyS | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | -------- | ---------- | ---------- | ---------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | .nim enroB | | | +| | | | | ruegraL | ruetuaH | | | | lacitreV | | | | +elbisiV +nalP +| JAUGE_Simple | | 27 | 611 | 786 | 14 | 0 | Actif | | | 0 | 100 | | +| ------------ | --- | --- | --- | --- | --- | ------- | ----- | --- | --- | --- | --- | --- | +| 06/08/2026 | | | | | | Isis_BO | | | | | | 731 | + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Informations sur les champs +Onglet +slennoitroporp steloV +engil/stelov .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | stelov .soP | | | +| --- | --------------------- | --- | --- | --- | ------------ | ----------- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ONG_Utilitaire | 6 | 122 826 | 476 | 0 | Actif | haut | | 0 | +| -------------- | --- | ------- | --- | --- | ----- | ---- | --- | --- | +Forme +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_ENTETE | | 0 | 0 | 838 | 47 | 0 | Actif | | +| ---------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Table : ONG_Utilitaire.TABLE_Structure +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_Rubrique | 295 | Actif | | Gauche | Centre | Texte | | | +| COL_MaJ | 501 | Actif | | Gauche | Centre | Texte | | | +Fenêtre : FEN_Utilitaire +Bouton : BTN_CLOSE_PARAM +| Ordre navigation | 1 | | | | | | | | +| -------------------------- | ------------- | --- | ------- | --- | --- | --- | --- | --- | +| 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 | | | | | | | | | +| Retrait gauche | 0 | | | | | | | | +| 06/08/2026 | | | Isis_BO | | | | | 732 | + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Informations sur les champs +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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_Utilitaire.BTN_CorrectifTemps +Libellé FR: Mise à jour suivi de temps +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 +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 +06/08/2026 Isis_BO 733 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › 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 +Type flèche +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : ONG_Utilitaire.BTN_Executer +Libellé FR: Exécuter le traitement +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +06/08/2026 Isis_BO 734 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Informations sur les champs +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : ONG_Utilitaire.BTN_ImportClient +Libellé FR: Import client +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 735 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Informations sur les champs +Bouton : ONG_Utilitaire.BTN_MaJStructure +Libellé FR: Mise à jour structure +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 736 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Informations sur les champs +Bouton : BTN_Parcourir +Libellé FR: ... +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +GENSTEEL\Gensteel_Pict_Browse_16_5.png +Nb. états image 5 +Image fond FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +GENSTEEL\Gensteel_Btn_Brw.png +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 737 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Informations sur les champs +Bouton : ONG_Utilitaire.BTN_Verification +Libellé FR: Vérification structure +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 738 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Informations sur les champs +Forme : FRM_ENTETE +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : ONG_Utilitaire.IMG_InfoImportClient +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Info.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 739 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Jauge : JAUGE_Simple +Libellé FR: Jauge +Valeur initiale 0 +Ordre navigation -1 +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 +Cadrage horz. Gauche +Cadrage vert. Haut +Position X interne 27 +Largeur interne 786 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Afficher le pourcentage Oui +Mode LCD Non +Animée par défaut Non +Type jauge Jauge linéaire +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Mise à blanc Non +Texte Markdown Non +Image fixe Oui +Mode 9 images Non +Mode 9 images (image) Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 740 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Informations sur les champs +Libellé : ONG_Utilitaire.LIB_LibelléCode +Libellé FR: Code à exécuter : +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_LibelléCode1 +Libellé FR: Attention le mot de passe est obligatoire pour utiliser l'utilitaire +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 +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 +06/08/2026 Isis_BO 741 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Titre_de_fenêtre +Libellé FR: Utilitaire +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 742 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Informations sur les champs +Onglet : ONG_Utilitaire +Libellé FR: &Onglet +Valeur initiale 1 +Ordre navigation 5 +Curseur survol 0 +Onglet dynamique Non +Libellé volet FR: Nouvel onglet +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Retrait gauche 0 +Retrait des onglets 0 +Numéro aide 0 +Autorise ChangeGabarit Oui +Bouton Fermer Oui +Bouton Nouveau Oui +Volets détachables Oui +Mémoriser Configuration Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Swipe Non +Mode affichage volets < Standard > +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : ONG_Utilitaire.SAI_Code +Libellé FR: Texte +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Isis_BO 743 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Informations sur les champs +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 21 +Largeur interne 800 +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 +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. +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 +06/08/2026 Isis_BO 744 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_Fichier +Libellé FR: Fichier à traiter (SAI_Fichier) : +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 8 +Largeur interne 405 +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 +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 +06/08/2026 Isis_BO 745 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Informations sur les champs +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 En saisie +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_MOTDEPASSE +Libellé FR: Mot de passe +Groupe GR_CONNEXION +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Isis_BO 746 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 466 +Largeur interne 355 +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 +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. +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 +06/08/2026 Isis_BO 747 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Informations sur les champs +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 +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : ONG_Utilitaire.TABLE_Structure +Libellé FR: Table +Ordre navigation 3 +Curseur survol 0 +Mode Loupe Filtre +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 +06/08/2026 Isis_BO 748 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › 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. +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_Utilitaire.TABLE_Structure +Colonne de table : ONG_Utilitaire.TABLE_Structure.COL_Rubrique (1) +Titre FR: Rubrique +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 +06/08/2026 Isis_BO 749 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Informations sur les champs +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : ONG_Utilitaire.TABLE_Structure.COL_MaJ (2) +Titre FR: Mise à jour +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 750 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Messages multilingues +FEN_Utilitaire +Messages multilingues +¹ .ssem °N +Message +2000 FR: Sélectionner un fichier... +¹ N° mess. : numéro de message. +FEN_Utilitaire +Code +Déclarations globales de FEN_Utilitaire +procédure FEN_Utilitaire() +//il faut que artesain partenaires creer un libelle pour apporté par , +// code comptable le meme ? +// Mode de reglement ??? +| gsClientErreurBatigest | est une chaîne ANSI | | | +| --------------------------------------------------- | ------------------- | --- | --- | +| gdhDateHeureEnr est une DateHeure = DateHeureSys() | | | | +constante +cMDP = "Batik_Applilogik_2023" +cCvte = "Civilité" +cFJ = "Forme_juridique" +cRS = "Raison_sociale" +cN = "Nom" +cPN = "Prénom" +cT = "Type" +cAP = "Apporté_par" +cO = "Origine" +cTel_1 = "Tel1" +cTel_2 = "Tel2" +cAdr = "Adresse" +cCP = "CP" +cV = "Ville" +cE = "Email" +cEtiquetteAdr = "Adresse Importée" +fin +STInfoLigne est une Structure +| nIDCivilite | est un entier sur 8 octets | | | +| ------------------------------------ | -------------------------- | ------- | --- | +| sFormeJuridique est une chaîne ANSI | | | | +| sRaisonSociale | est une chaîne ANSI | | | +| sNom est une chaîne ANSI | | | | +| sPrenom | est une chaîne ANSI | | | +| nIDType | est un entier sur 8 octets | | | +| nIDApportePar | est un entier sur 8 octets | | | +| nIDOrigine | est un entier sur 8 octets | | | +| sTelMobile | est une chaîne ANSI | //Tel 1 | | +| 06/08/2026 | | Isis_BO | 751 | + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Code +| sTelFixe est une chaîne ANSI //Tel 2 | | | | +| ------------------------------------- | -------------------------- | --------------------- | --- | +| sEmail | est une chaîne ANSI | | | +| sLigneAdr | est une chaîne ANSI | // Ligne 4 dans la BD | | +| sCodePostal | est une chaîne ANSI | | | +| sVille | est une chaîne ANSI | | | +| nIdAdresse | est un entier sur 8 octets | | | +| nIdPersonne | est un entier sur 8 octets | | | +| nIdClient | est un entier sur 8 octets | | | +| nIdUser | est un entier sur 8 octets | | | +| sNomClient | est une chaîne ANSI | | | +| sCodeClient | est une chaîne ANSI | | | +| sCodeComptable | est une chaîne ANSI | | | +fin +gsMSGMP est une chaîne ANSI = "Le mot de passe est incorrect." +FEN_Utilitaire +Code des champs +Clic sur BTN_CLOSE_PARAM +Ferme() +Clic sur BTN_Parcourir +sFichier est une chaîne +// Ouvre le sélecteur de fichiers +soit sTitre="Sélectionner un fichier..." +// ouvre le sélecteur +sFichier = fSélecteur(SAI_Fichier,"",sTitre,"*.*","*.*") +si sFichier<>"" alors +SAI_Fichier = sFichier +fin +Initialisation de JAUGE_Simple +// Version 1 +// Description +// Jauge linéaire simple horizontale +Clic sur BTN_CorrectifTemps +si pas VerificationMotDePasse() alors +Erreur(gsMSGMP) +retour +fin +nTempsAjoute est un entier +nTempsNonA est un entier +nTempsGlobal est un entier +nIdTempsInter est un entier sur 8 octets +nTotalEnrg est un entier = HNbEnr(Planning_RDV) +i est un entier +| 06/08/2026 | | Isis_BO | 752 | +| ---------- | --- | ------- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Code des champs +Sablier(Vrai) +pour tout Planning_RDV +i += 1 +JAUGE_Simple = (i*100/nTotalEnrg) +si Planning_RDV.Archive = 0 _et_ Planning_RDV.PL_DateDebut..PartieDate = Planning_RDV.PL_DateFin.. +PartieDate alors +nTempsAjoute = 0 +nTempsNonA = 0 +nIdTempsInter = 0 +nTempsGlobal = 0 +HLitRecherchePremier(SuiviDesTemps,SDT_IDRdv,Planning_RDV.PL_PKID) +tantque HTrouve(SuiviDesTemps) +selon SuiviDesTemps.SDT_IDTypeTemps +cas 58 +nTempsAjoute += SuiviDesTemps.SDT_NbMinutes +nIdTempsInter = SuiviDesTemps.SDT_PKID +cas 59,60,61 +nTempsAjoute += SuiviDesTemps.SDT_NbMinutes +cas 281474976710666 +nTempsNonA += SuiviDesTemps.SDT_NbMinutes +cas 57 +nTempsGlobal = SuiviDesTemps.SDT_NbMinutes +autre cas +fin +HLitSuivant(SuiviDesTemps) +fin +si nTempsAjoute <= 0 et nTempsNonA > 0 et nIdTempsInter > 0 alors +HLitRecherchePremier(SuiviDesTemps,SDT_PKID,nIdTempsInter) +si HTrouve(SuiviDesTemps) alors +duMaDurée est une Durée = (Planning_RDV.PL_DateFin - Planning_RDV. +PL_DateDebut) +nDiff est un entier +SuiviDesTemps.SDT_DateDebut = Planning_RDV.PL_DateDebut +SuiviDesTemps.SDT_DateHeureFin= Planning_RDV.PL_DateFin +si duMaDurée..EnMinutes <> nTempsGlobal alors +nDiff = nTempsGlobal - duMaDurée..EnMinutes +fin +si nDiff > 0 alors +SuiviDesTemps.SDT_DateHeureFin..PartieHeure..Minute += Abs(nDiff) +sinon si nDiff < 0 alors +SuiviDesTemps.SDT_DateHeureFin..PartieHeure..Minute -= Abs(nDiff) +fin +duMaDurée = (SuiviDesTemps.SDT_DateHeureFin - +SuiviDesTemps.SDT_DateDebut) +SuiviDesTemps.SDT_NbMinutes = duMaDurée..EnMinutes +SuiviDesTemps.SDT_Controle = Vrai +SuiviDesTemps.ModifDate = DateHeureSys() +SuiviDesTemps.ModifUser = gpclFicheUtilisateurEnCours:m_nPKID +SAI_Code += SuiviDesTemps.SDT_PKID+RC +HModifie(SuiviDesTemps) +fin +fin +fin +fin +Sablier(fauxToutSablier) +// BOUVARD +// 56 Aucun Type de temps 0 +// 57 Temps global 1 +06/08/2026 Isis_BO 753 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Code des champs +// 58 Temps d'intervention 2 +// 59 Temps de trajet 3 +// 60 Temps de pause 4 +// 61 Temps de préparation 5 +// 281474976710666 Temps non affecté 99 +Clic sur BTN_Executer +si VerificationMotDePasse() alors +bOk est un booléen = Vrai +sCode est une chaîne = SAI_Code +si Compile("ProcDyn", sCode) <> "" alors +bOk = Faux +Erreur("Erreur de compilation de la procédure dynamique : ", ... +ErreurInfo()) +sinon +// Puis de l'exécuter +quand exception dans +ExécuteTraitement("ProcDyn", trtProcédure) +faire +bOk = Faux +Erreur("Erreur d'exécution de la procédure dynamique : ", ... +ExceptionInfo()) +fin +fin +//ExécuteCode(SAI_Code) +si bOk alors Info("Le code a été exécuté") +sinon +Erreur(gsMSGMP) +fin +Clic sur BTN_ImportClient +si VerificationMotDePasse() alors +si SAI_Fichier = "" alors +Info("Veuillez indiquer l'emplacement du fichier Excel") +retour +fin +ImporterClientsExcel() +sinon +Erreur(gsMSGMP) +fin +Clic sur BTN_MaJStructure +si pas VerificationMotDePasse() alors +Erreur(gsMSGMP) +retour +fin +VerificationBD(Faux) +Clic sur BTN_Verification +si pas VerificationMotDePasse() alors +Erreur(gsMSGMP) +retour +fin +VerificationBD(Vrai) +Clic sur IMG_InfoImportClient +06/08/2026 Isis_BO 754 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Code des champs +InfoAvecDélai(500000,"Ce bouton permet d'importer une liste de clients depuis un document Excel +puis d'exporter cette liste de clients vers Batigest."+RC+... +"Le document excel doit être composé de 14 colonnes :"+RC+... +"(Civilité, Forme_juridique, Raison_sociale, Nom, Prénom, Type, Apporté_par, Origine, Tel_1, Tel_2, +Adresse, CP, Ville, +Email)."+RC+... +"La première ligne du document doit contenir le titre de colonne.") +Initialisation de SAI_Code +// Version 1 +// Description +// Saisie de texte multiligne +FEN_Utilitaire +Procédures +Procédure locale AccesBDDExt +procédure AccesBDDExt(bAccess est un booléen = Faux) +bResultat est un booléen +sLerreur est une chaîne ANSI +si pas bAccess alors +si HInterditAccèsBaseDeDonnées(gcnxBO,gcnxBO..BaseDeDonnées) alors +bResultat = Vrai +sinon si HErreur()>0 alors +bResultat = Faux +sLerreur = HErreurInfo(hErrEnCours) +Erreur("Impossible d'interdire l'accès à la base de données"+RC+sLerreur) +si pas EnModeTest() alors +LogEcrit("Impossible d'interdire l'accès à la base de données"+RC+sLerreur,eDebug, +"AccesBDDExt") +fin +fin +sinon +si HFinInterditAccèsBaseDeDonnées(gcnxBO,gcnxBO..BaseDeDonnées) alors +bResultat = Vrai +sinon si HErreur()>0 alors +bResultat = Faux +sLerreur = HErreurInfo(hErrEnCours) +Erreur("Impossible de mettre fin a l’interdiction de l'accès à la base de données"+RC+sLerreur) +si pas EnModeTest() alors +LogEcrit("Impossible de mettre fin a l’interdiction de l'accès à la base de données"+RC+ +sLerreur,eDebug,"AccesBDDExt") +fin +fin +fin +renvoyer bResultat +Procédure locale CreationAdresse +procédure CreationAdresse(stInfoClient est un STInfoLigne) +sMessage est une chaîne ANSI +06/08/2026 Isis_BO 755 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Procédures +| bOk | est un booléen | = Vrai | | | +| --- | -------------- | ------ | --- | --- | +HRAZ(Adresse) +| Adresse.AD_Etiquette | = cEtiquetteAdr | | | | +| -------------------- | --------------- | --- | --- | --- | +Adresse.AD_Ligne_4 = stInfoClient.sLigneAdr +Adresse.AD_CodePostal= stInfoClient.sCodePostal +| Adresse.AD_Ville | = stInfoClient.sVille | | | | +| ---------------- | --------------------- | --- | --- | --- | +Adresse.AD_Presentation = stInfoClient.sLigneAdr +Adresse.AD_Presentation = SansEspace(stInfoClient.sLigneAdr)<>"" ? stInfoClient.sLigneAdr+RC sinon +"" +Adresse.AD_Presentation += stInfoClient.sCodePostal+TAB+stInfoClient.sVille +| Adresse.CreationDate | = gdhDateHeureEnr | | | | +| -------------------- | ---------------------- | --- | --- | --- | +| Adresse.ModifDate | = gdhDateHeureEnr | | | | +| Adresse.CreationUser | = stInfoClient.nIdUser | | | | +| Adresse.ModifUser | = stInfoClient.nIdUser | | | | +si HAjoute(Adresse) alors +stInfoClient.nIdAdresse = Adresse.AD_PKID +bOk = Vrai +sinon +| bOk | = Faux | | | | +| --- | ------ | --- | --- | --- | +sMessage= "Une erreur est survenue pendant la création de l'adresse"+RC +si HErreurIntégrité() alors +sMessage += "Erreur d'intégrité"+RC +sMessage +=(HErreurInfo(hErrComplet)) +fin +fin +renvoyer (bOk, sMessage) +Procédure locale CreationClient +procédure CreationClient(stInfoClient est un STInfoLigne) +| sMessage est une chaîne ANSI | | | | | +| ---------------------------- | -------------- | ------ | --- | --- | +| bOk | est un booléen | = Vrai | | | +HRAZ(Client) +si stInfoClient.nIDType = gpclListeTypeClient.RechercheEtDonneIdDepuisValeur("1") ou stInfoClient. +nIDType = gpclListeTypeClient.RechercheEtDonneIdDepuisValeur("5") alors +Client.CL_Nom = stInfoClient.sRaisonSociale +sinon +Client.CL_Nom = SansEspace(stInfoClient.sNom,sscExtérieur) + " " +SansEspace(stInfoClient.sPrenom, +sscExtérieur) +fin +stInfoClient.sNomClient = Client.CL_Nom +| Client.CL_IDType | = stInfoClient.nIDType | | | | +| ---------------- | ---------------------- | --- | --- | --- | +Client.CL_IDStatut = gpclListeStatutClient.RechercheEtDonneIdDepuisValeur("1") +si stInfoClient.nIdAdresse > 0 alors Client.CL_IDAdressePrincipale = stInfoClient.nIdAdresse +| Client.CreationUser | = stInfoClient.nIdUser | | | | +| ------------------- | ---------------------- | --- | --- | --- | +| Client.ModifUser | = stInfoClient.nIdUser | | | | +| Client.CreationDate | = gdhDateHeureEnr | | | | +| Client.ModifDate | = gdhDateHeureEnr | | | | +Client.DateArchivage = gdhDateHeureEnr +si SansEspace(stInfoClient.sTelMobile,sscExtérieur) <> "" et SansEspace(stInfoClient.sTelFixe, +sscExtérieur) <> "" alors +Client.CL_Tel = stInfoClient.sTelMobile +Client.CL_Fax = stInfoClient.sTelFixe +| 06/08/2026 | | | Isis_BO | 756 | +| ---------- | --- | --- | ------- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Procédures +sinon si SansEspace(stInfoClient.sTelMobile,sscExtérieur) <> "" alors +Client.CL_Tel = stInfoClient.sTelMobile +sinon +Client.CL_Tel = stInfoClient.sTelFixe +fin +Client.CL_Email = stInfoClient.sEmail +si stInfoClient.nIdPersonne > 0 alors Client.CL_IDContactPrincipal = stInfoClient.nIdPersonne +Client.CL_IDApporteur = stInfoClient.nIDApportePar +Client.CL_IDApportOrigine = stInfoClient.nIDOrigine +Client.CL_FormeJuridique = stInfoClient.sFormeJuridique +stInfoClient.sCodeClient = CreaCompteur(gpclListeParamAppli:m_clTabModele["PREFIXE_CODE_CLIENT"]:m_s +Valeur,-1,-1,Vrai,gpclListeParamAppli:m_clTabModele["TAILLE_COMPTEUR_CLIENT"]:m_sValeur) +stInfoClient.sCodeComptable = Remplace(stInfoClient.sCodeClient,gpclListeParamAppli:m_clTabModele[ +"PREFIXE_CODE_CLIENT"]:m_sValeur,gpclListeParamAppli:m_clTabModele["PREFIXE_CODE_COMPTABLE_CLIENT"]:m_s +Valeur) +si SansEspace(stInfoClient.sCodeClient) <> "" et SansEspace(stInfoClient.sCodeComptable) <> "" alors +Client.CL_CodeClient = stInfoClient.sCodeClient +Client.CL_CodeComptable = stInfoClient.sCodeComptable +si HAjoute(Client) alors +stInfoClient.nIdClient = Client.CL_PKID +bOk = Vrai +sinon +bOk = Faux +sMessage = "Une erreur est survenue pendant la création du client"+RC+ +"Identifiant de l'adresse = "+stInfoClient.nIdAdresse+RC+"Identifiant du contact = "+ +stInfoClient.nIdPersonne+RC +si HErreurIntégrité() alors +sMessage += "Erreur d'intégrité"+RC +sMessage +=(HErreurInfo(hErrComplet)) +fin +fin +sinon +bOk = Faux +sMessage= "Une erreur est survenue pendant la création du client"+RC+... +"Impossible de générer le numéro comptable et le code client"+RC+... +"Identifiant de l'adresse = "+stInfoClient.nIdAdresse+RC+"Identifiant du contact = "+stInfoClient. +nIdPersonne+RC +fin +si stInfoClient.nIdPersonne > 0 et bOk alors +HLitRecherchePremier(Personne,PE_PKID, stInfoClient.nIdPersonne) +si HTrouve() = Vrai alors +Personne.PE_IDClient = stInfoClient.nIdClient +HModifie(Personne) +sinon +bOk = Faux +sMessage = "Une erreur est survenue pendant la création du client"+RC+... +"Impossible de modifier l'identifiant du client dans la table personne"+RC+... +"Identifiant de l'adresse = "+stInfoClient.nIdAdresse+RC+"Identifiant du contact = "+ +stInfoClient.nIdPersonne+RC +fin +fin +renvoyer (bOk, sMessage) +Procédure locale CreationClientDansBD +procédure CreationClientDansBD(stInfoClient est un STInfoLigne) +06/08/2026 Isis_BO 757 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Procédures +sMessage est une chaîne ANSI +bOk est un booléen = Vrai +bOkBatigest est un booléen +sARep est une chaîne ANSI +stInfoClient.nIdUser = 1 +si gpclFicheUtilisateurEnCours:m_nPKID > 0 alors +stInfoClient.nIdUser = gpclFicheUtilisateurEnCours:m_nPKID +fin +// il faut créer l'adresse,la personne,le client et le client adresse, +Message(CBM_TypeTraitement,"Création du fichier client...") +(bOk, sMessage) = CreationAdresse(stInfoClient) +si pas bOk alors renvoyer (bOk, sMessage) +(bOk, sMessage) = CreationPersonne(stInfoClient) +si pas bOk alors renvoyer (bOk, sMessage) +(bOk, sMessage) = CreationClient(stInfoClient) +si pas bOk alors renvoyer (bOk, sMessage) +si stInfoClient.nIdAdresse > 0 et stInfoClient.nIdClient > 0 alors +HRAZ(Client_Adresse) +Client_Adresse.CA_IDAdresse = stInfoClient.nIdAdresse +Client_Adresse.CA_IDClient = stInfoClient.nIdClient +Client_Adresse.CA_IDTypeAdresse = gpclListeTypeAdresse.RechercheEtDonneIdDepuisValeur("2") +si pas HAjoute(Client_Adresse) alors +bOk = Faux +sMessage = "Une erreur est survenue pendant l'affectation de l'adresse client "+RC+ +"Identifiant de l'adresse = "+stInfoClient.nIdAdresse+RC+... +"Identifiant du contact = "+stInfoClient.nIdPersonne+RC+"Identifiant du client = "+stInfoClient +.nIdClient+RC +si HErreurIntégrité() alors +sMessage += "Erreur d'intégrité"+RC +sMessage +=(HErreurInfo(hErrComplet)) +fin +renvoyer (bOk, sMessage) +fin +fin +Message(CBM_TypeTraitement,"Export du client "+stInfoClient.sCodeClient+" vers Batigest") +pour tout pclBaseBG de gtaBaseExterneParNom +(bOkBatigest,sARep) = EnvoiClientVersBatigest(stInfoClient, pclBaseBG) +si bOkBatigest _et_ sARep<>"" alors +Message(CBM_TypeTraitement,"Export effectué ") +sinon si bOkBatigest=Faux alors +gsClientErreurBatigest += ","+stInfoClient.sCodeClient +si pas OuiNon("Une erreur est survenue pendant la connexion batigest."+RC+sARep+RC+ +"Voulez-vous continuer?") alors +bOk = Faux +sMessage = "Une erreur est survenue."+RC+"Identifiant du client = "+stInfoClient.nIdClient+ +RC +renvoyer (bOk, sMessage) +fin +fin +fin +renvoyer (bOk, sMessage) +Procédure locale CreationPersonne +06/08/2026 Isis_BO 758 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Procédures +procédure CreationPersonne(stInfoClient est un STInfoLigne) +| sMessage est une chaîne ANSI | | | | | +| ---------------------------- | -------------- | ------ | --- | --- | +| bOk | est un booléen | = Vrai | | | +si SansEspace(stInfoClient:sNom) <> "" ou SansEspace(stInfoClient:sPrenom) <> "" alors +HRAZ(Personne) +| Personne.PE_IDCivilite | = stInfoClient.nIDCivilite | | | | +| ---------------------- | -------------------------- | --- | --- | --- | +| Personne.PE_Nom | = stInfoClient.sNom | | | | +| Personne.PE_Prenom | = stInfoClient.sPrenom | | | | +Personne.PE_Email = stInfoClient.sEmail +| Personne.PE_TelFixe | = stInfoClient.sTelFixe | | | | +| ------------------- | ----------------------- | --- | --- | --- | +Personne.PE_TelMobile= stInfoClient.sTelMobile +| Personne.PE_IDRole | = 0 | | | | +| ------------------ | --- | --- | --- | --- | +Personne.CreationUser= stInfoClient.nIdUser +| Personne.ModifUser | = stInfoClient.nIdUser | | | | +| ------------------ | ---------------------- | --- | --- | --- | +Personne.PE_Actif = Vrai +Personne.CreationDate= gdhDateHeureEnr +| Personne.ModifDate | = gdhDateHeureEnr | | | | +| ---------------------- | ----------------- | --- | --- | --- | +| Personne.DateArchivage | = gdhDateHeureEnr | | | | +si HAjoute(Personne) alors +stInfoClient.nIdPersonne = Personne.PE_PKID +bOk = Vrai +sinon +bOk = Faux +sMessage = "Une erreur est survenue pendant la création du contact"+RC +si HErreurIntégrité() alors +sMessage += "Erreur d'intégrité"+RC +sMessage +=(HErreurInfo(hErrComplet)) +fin +fin +sinon +bOk = Vrai +fin +renvoyer (bOk, sMessage) +Procédure locale EnvoiClientVersBatigest +procédure EnvoiClientVersBatigest(stInfoClient est un STInfoLigne,pclBaseBG est un PFicheBddExterne +dynamique) +| saReponse | est une chaîne ANSI | | | | +| --------- | ------------------- | ------ | --- | --- | +| sMessage | est une chaîne ANSI | | | | +| bOk | est un booléen | = Vrai | | | +sLibelleClient est une chaîne ANSI = gpclListeTypeClient.RechercheEtDonneLibelleDepuisID( +stInfoClient.nIDType) +| clConnecteur | est un C_ConnecteurBatigest | | | | +| ------------ | --------------------------- | --- | --- | --- | +clConnecteur:LitParametresSocket() +//Préparation des données pour l'export vers BATIGEST +| stClient | est un ST_BG_CLIENT | | | | +| ------------------- | ------------------- | -------------------------------------- | --- | --- | +| stClient.sNomClient | | = SupprimerRC(stInfoClient.sNomClient) | | | +stClient.sCodeExterne = SupprimerRC(stInfoClient.sCodeClient) +sValTypeClient est une chaîne = gpclListeTypeClient.RechercheEtDonneValeurDepuisId( +stInfoClient.nIDType) +stClient.sStatut = sValTypeClient="1" ? "E" sinon sValTypeClient="2" ? "P" sinon "A" +| stClient.sTypeClient | | = SupprimerRC(sLibelleClient) | | | +| -------------------- | --- | ----------------------------- | --- | --- | +stClient.sCodeComptable = SupprimerRC(stInfoClient.sCodeComptable) +sApporteur est une chaîne = gpclListeApporteurClient.RechercheEtDonneLibelleDepuisID( +stInfoClient.nIDApportePar) +| 06/08/2026 | | | Isis_BO | 759 | +| ---------- | --- | --- | ------- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Procédures +stClient.sApporteur = SupprimerRC(sApporteur) +sOrigine est une chaîne = gpclListeOrigineClient.RechercheEtDonneLibelleDepuisID(stInfoClient. +nIDOrigine) +stClient.sOrigine = SupprimerRC(sOrigine) +stClient.sCreateur = "Import fichier Excel" +stClient.sModeReglement = "" +stClient.sFormeJuridique = SupprimerRC(stInfoClient.sFormeJuridique) +si stInfoClient.nIdPersonne > 0 alors +stClient.stContactPrincipal:sContactCivilite= SupprimerRC(gpclListeCivilite. +RechercheEtDonneLibelleDepuisID(stInfoClient.nIDCivilite)) +stClient.stContactPrincipal:sInterLocuteur = SupprimerRC(SansEspace(stInfoClient.sNom, +sscExtérieur)+" "+SansEspace(stInfoClient.sPrenom,sscExtérieur)) +stClient.stContactPrincipal.sTel = SupprimerRC(stInfoClient.sTelFixe) +stClient.stContactPrincipal.sPortable = SupprimerRC(stInfoClient.sTelMobile) +sinon +si SansEspace(stInfoClient.sTelMobile,sscExtérieur) <> "" alors +stClient.stContactPrincipal.sTel = stInfoClient.sTelMobile +sinon +stClient.stContactPrincipal.sTel = stInfoClient.sTelFixe +fin +fin +stClient.stContactPrincipal.sEmail = SupprimerRC(stInfoClient.sEmail) +stClient.sContactCivilite = stClient.sStatut="P" ? stClient.stContactPrincipal: +sContactCivilite sinon SupprimerRC(stInfoClient.sFormeJuridique) +si stInfoClient.nIdAdresse > 0 alors +stClient.stAdresse:sAdd_Etiquette = SupprimerRC(cEtiquetteAdr) +stClient.stAdresse:sAdd_1 = SupprimerRC(stInfoClient.sLigneAdr) +stClient.stAdresse:sAdd_CP = SupprimerRC(stInfoClient.sCodePostal) +stClient.stAdresse:sAdd_Ville = SupprimerRC(stInfoClient.sVille) +fin +//Créé un objet BaseBatigest avec les paramètres JSON lu dans Base_Ext +clConnecteurBddBG est C_ConnecteurBddBatigest +//Initialisation des paramètres de connexion +si pas clConnecteurBddBG:InitParam(pclBaseBG:m_sParam) alors//gclBaseExterne:m_sParam +renvoyer (Faux,cSBG_Err_ParametreIncorrecte) +fin +//Connexion au Service de communication Batigest +(bOk,saReponse)=clConnecteur:ConnectAuService() +si pas bOk alors +si stClient.bBGConnect alors +clConnecteur:FermeConnexion(stClient.bBGConnect,stClient.stBGConnect) +renvoyer (Faux,saReponse) +sinon +clConnecteur:FermeConnexion() +renvoyer (Faux,saReponse) +fin +fin +si gpclListeParamAppli:m_clTabModele[cParam_Connect]..Existe _et_ gpclListeParamAppli: +m_clTabModele[cParam_Connect]:m_sValeur="1" alors +stClient.bBGConnect = Vrai +06/08/2026 Isis_BO 760 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Procédures +stClient.stBGConnect.sBGCServeur = clConnecteurBddBG:sBG_Connect_Serveur +stClient.stBGConnect.sBGCBdd = clConnecteurBddBG:suBG_Dossier +stClient.stBGConnect.sBGCUser = clConnecteurBddBG:sBG_Connect_Utilisateur +stClient.stBGConnect.sBGCMdP = clConnecteurBddBG:sBG_Connect_MotDePasse +fin +si pas stClient.bBGConnect alors +stClient:suDossier = clConnecteurBddBG:suBG_Dossier +fin +(bOk,saReponse) = clConnecteur:ExporteClient(stClient) +si pas bOk alors renvoyer (Faux,cSBF_Err_ProblemDansFicheClient) +//Si le Client n'a pas de CodeExterne, c'est donc qu'il n'a pas déjà été exporté dans Batigest +//On l'exporte afin de récupérer son code +HRAZ(Client_BddExterne) +Client_BddExterne.CLX_IDCLient = stInfoClient.nIdClient +Client_BddExterne.CLX_IDExterne = saReponse +Client_BddExterne.CLX_IDBddExterne = pclBaseBG:m_nPKID +Client_BddExterne.CreationDate = gdhDateHeureEnr +Client_BddExterne.ModifDate = gdhDateHeureEnr +Client_BddExterne.CreationUser = stInfoClient.nIdUser +Client_BddExterne.ModifUser = stInfoClient.nIdUser +Client_BddExterne.CLX_DateSynchro = gdhDateHeureEnr +si HAjoute(Client_BddExterne) alors +bOk = Vrai +sinon +bOk = Faux +gsClientErreurBatigest += ","+stInfoClient.sCodeClient +sMessage = "Une erreur est survenue pendant l'enregistrement de données envoyé vers Batigest "+ +RC+"Identifiant du client = "+stInfoClient.sCodeClient +si HErreurIntégrité() alors +sMessage += "Erreur d'intégrité"+RC +sMessage +=(HErreurInfo(hErrComplet)) +fin +fin +clConnecteur:FermeConnexion() +renvoyer (bOk,sMessage) +Procédure locale ImporterClientsExcel +procédure ImporterClientsExcel() +IDFicXLS est un xlsDocument +nNbFeuilles est un entier +nNbLignes est un entier +nNbColonnes est un entier +pstInfoLigne est un STInfoLigne dynamique +sMessage est une chaîne ANSI +bOk est un booléen +nNClientsTraites est un entier +bCreation est un booléen +IDFicXLS = xlsOuvre(SAI_Fichier) +si ErreurDétectée() alors +06/08/2026 Isis_BO 761 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Procédures +Erreur(ErreurInfo()) +retour +fin +// il faut créer l'adresse,la personne,le client et le client adresse, +nNbFeuilles = xlsNbFeuille(IDFicXLS) +pour i = 1 à nNbFeuilles +IDFicXLS..Feuille = i +nNbLignes = xlsNbLigne(IDFicXLS, Vrai) +pour b = 1 à nNbLignes +si b <> 1 alors +nNbColonnes = xlsNbColonne(IDFicXLS) +pstInfoLigne = allouer un STInfoLigne +bCreation = Vrai +Message(CBM_NLigne,"Traitement en cours, lecture ligne n°" +b) +pour c = 1 à nNbColonnes +selon SansEspace(xlsTitreColonne(IDFicXLS,c),sscExtérieur) +//xlsDonnée( , , ) +cas cCvte //Civilité +selon SansEspace(SansEspace(Majuscule(xlsDonnée(IDFicXLS,b,c)),sscExtérieur), +sscIntérieur) +cas Majuscule("Monsieur"), "M" +pstInfoLigne.nIDCivilite = gpclListeCivilite. +RechercheEtDonneIdDepuisValeur("1") +cas Majuscule("Mme"),Majuscule("Madame") +pstInfoLigne.nIDCivilite = gpclListeCivilite. +RechercheEtDonneIdDepuisValeur("2") +cas Majuscule("Mr&Mme"), Majuscule("M.etMme"), Majuscule("MMeetM."), +Majuscule("MetMme") +pstInfoLigne.nIDCivilite = gpclListeCivilite. +RechercheEtDonneIdDepuisValeur("3") +autre cas +pstInfoLigne.nIDCivilite = gpclListeCivilite. +RechercheEtDonneIdDepuisValeur("0") +fin +cas cFJ //Forme_juridique +pstInfoLigne.sFormeJuridique = SansEspace(xlsDonnée(IDFicXLS,b,c), +sscExtérieur) +cas cRS //Raison_sociale +pstInfoLigne.sRaisonSociale = SansEspace(xlsDonnée(IDFicXLS,b,c),sscExtérieur +) +cas cN //Nom +pstInfoLigne.sNom = SansEspace(xlsDonnée(IDFicXLS,b,c),sscExtérieur) +cas cPN //Prénom +pstInfoLigne.sPrenom = SansEspace(xlsDonnée(IDFicXLS,b,c),sscExtérieur) +cas cT //Type +selon SansEspace(SansEspace(Majuscule(xlsDonnée(IDFicXLS,b,c)),sscExtérieur), +sscIntérieur) +cas Majuscule("Régie"), Majuscule("Régie-Syndic") +pstInfoLigne.nIDType = gpclListeTypeClient. +RechercheEtDonneIdDepuisValeur("5") +cas Majuscule("Particulier") +pstInfoLigne.nIDType = gpclListeTypeClient. +RechercheEtDonneIdDepuisValeur("2") +cas Majuscule("Entreprise"), Majuscule("Professionnel") +pstInfoLigne.nIDType = gpclListeTypeClient. +RechercheEtDonneIdDepuisValeur("1") +autre cas +si gpclListeTypeClient.RechercheEtDonneIdDepuisLibelle(xlsDonnée( +IDFicXLS,b,c)) > 0 alors +pstInfoLigne.nIDType = gpclListeTypeClient. +RechercheEtDonneIdDepuisLibelle(xlsDonnée(IDFicXLS,b,c)) +sinon +06/08/2026 Isis_BO 762 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Procédures +pstInfoLigne.nIDType = gpclListeTypeClient. +RechercheEtDonneIdDepuisValeur("7") +fin +fin +cas cAP //Apporté_pa +si gpclListeApporteurClient.RechercheEtDonneIdDepuisLibelle(xlsDonnée( +IDFicXLS,b,c)) > 0 alors +pstInfoLigne.nIDApportePar = gpclListeApporteurClient. +RechercheEtDonneIdDepuisLibelle(xlsDonnée(IDFicXLS,b,c)) +sinon +pstInfoLigne.nIDApportePar = gpclListeApporteurClient. +RechercheEtDonneIdDepuisValeur("10") +fin +cas cO //Origine +sAOrigine est une chaîne ANSI = xlsDonnée(IDFicXLS,b,c) +si sAOrigine..Taille > 0 et sAOrigine <> "" alors +si "Apporteur - Régis MARC" = xlsDonnée(IDFicXLS,b,c) alors +pstInfoLigne.nIDOrigine = gpclListeOrigineClient. +RechercheEtDonneIdDepuisValeur("13") +sinon +si gpclListeOrigineClient.RechercheEtDonneIdDepuisLibelle(xlsDonnée( +IDFicXLS,b,c)) > 0 alors +pstInfoLigne.nIDOrigine = gpclListeOrigineClient. +RechercheEtDonneIdDepuisLibelle(xlsDonnée(IDFicXLS,b,c)) +sinon +pstInfoLigne.nIDOrigine = gpclListeOrigineClient. +RechercheEtDonneIdDepuisValeur("10") +fin +fin +sinon +bCreation = Faux +fin +cas cTel_1 //Tel_1 +pstInfoLigne.sTelMobile = SansEspace(xlsDonnée(IDFicXLS,b,c),sscExtérieur) +cas cTel_2 //Tel_2 +pstInfoLigne.sTelFixe = SansEspace(xlsDonnée(IDFicXLS,b,c),sscExtérieur) +cas cAdr //Adresse +pstInfoLigne.sLigneAdr = SansEspace(xlsDonnée(IDFicXLS,b,c),sscExtérieur) +cas cCP //CP +pstInfoLigne.sCodePostal = SansEspace(xlsDonnée(IDFicXLS,b,c),sscExtérieur) +cas cV //Ville +pstInfoLigne.sVille = SansEspace(xlsDonnée(IDFicXLS,b,c),sscExtérieur) +cas cE //Email +pstInfoLigne.sEmail = SansEspace(xlsDonnée(IDFicXLS,b,c),sscExtérieur) +autre cas +fin +fin +si pstInfoLigne <> Null et bCreation alors +(bOk, sMessage) = CreationClientDansBD(pstInfoLigne) +si bOk alors +nNClientsTraites += 1 +sinon +Erreur(sMessage+RC+"Le traitement s'est arrêté à la ligne n°"+b+... +", merci de supprimer les lignes précédentes (informations déjà traitées) du +document +Excel avant de renouveler le traitement ") +retour +fin +fin +fin +fin +Message(CBM_NLigne, "Traitement fini, nombre de clients importés "+nNClientsTraites) +06/08/2026 Isis_BO 763 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Procédures +Message(CBM_TypeTraitement,"") +fin +xlsFerme(IDFicXLS) +SAI_Code = gsClientErreurBatigest +Procédure locale MiseAJourFichiersBD +procédure MiseAJourFichiersBD(sGroupe est une chaîne ANSI, sFic est une chaîne ANSI) +sLerreur est une chaîne ANSI +quand exception dans +si pas HFichierExiste(gcnxBO,sFic+".FIC") alors +si pas HCréationSiInexistant(sFic,DonneMdpGroupeDeFichier(sGroupe,gcnxBO..BaseDeDonnées),"","", +hOuvertureDifférée) alors +TableAjouteLigne(TABLE_Structure,sFic,"Fichier inexistante - problème dans la création") +sLerreur = HErreurInfo() +si pas EnModeTest() alors +LogEcrit("Problème dans la création du fichier "+sFic+RC+sLerreur,eErreur, +"MiseAJourFichiersBD") +fin +Erreur(sLerreur) +sinon +TableAjouteLigne(TABLE_Structure,sFic,"Fichier inexistante - Crée") +fin +sinon +si pas HModifieStructure(sFic) alors +TableAjouteLigne(TABLE_Structure,sFic,"Erreur dans la mise à jour de la structure") +sLerreur = HErreurInfo() +si pas EnModeTest() alors +LogEcrit("Erreur dans la mise à jour de la structure fichier :"+sFic+RC+sLerreur, +eErreur,"MiseAJourFichiersBD") +fin +Erreur(sLerreur) +fin +si pas HMiseAJourLiaison(sFic) alors +TableAjouteLigne(TABLE_Structure,sFic,"Erreur dans la mise à jour de la liaison") +sLerreur = HErreurInfo() +si pas EnModeTest() alors +LogEcrit("Erreur dans la mise à jour de la liaison fichier :"+sFic+RC+sLerreur,eErreur +,"MiseAJourFichiersBD") +fin +Erreur(sLerreur) +fin +fin +faire +sLerreur = HErreurInfo() +si pas EnModeTest() alors +LogEcrit("Erreur dans la mise à jour du fichier :"+sFic+RC+sLerreur,eErreur, +"MiseAJourFichiersBD") +fin +Erreur(sLerreur+RC+ExceptionInfo(errCode)) +fin +Procédure locale VerificationBD +06/08/2026 Isis_BO 764 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Procédures +procédure VerificationBD(bVerification est un booléen = Faux) +TableSupprimeTout(TABLE_Structure) +sListeGrpFic est une chaîne = HListePersoDossier() +sListeFic est une chaîne +si pas bVerification alors +si pas AccesBDDExt(Faux) alors +retour +fin +fin +quand exception dans +pour toute chaîne sUnGroupe de sListeGrpFic séparée par RC +sListeFic = HListeFichier(sUnGroupe) +pour toute chaîne sUnFichier de sListeFic séparée par RC +si bVerification alors +VerificationFichier(sUnGroupe,sUnFichier) +sinon +MiseAJourFichiersBD(sUnGroupe,sUnFichier) +fin +fin +fin +faire +sLerreur est une chaîne ANSI = HErreurInfo() +si pas EnModeTest() alors +LogEcrit("Erreur dans la vérification de la structure"+RC+sLerreur,eErreur,"VerificationBD") +fin +Erreur(sLerreur) +fin +si pas bVerification alors +AccesBDDExt(Vrai) +fin +Info("Traitement terminé") +Procédure locale VerificationFichier +procédure VerificationFichier(sGroupe est une chaîne ANSI, sFic est une chaîne ANSI) +quand exception dans +si pas HFichierExiste(gcnxBO,sFic+".FIC") alors +TableAjouteLigne(TABLE_Structure,sFic,"Fichier inexistante") +sinon +si HNbEnr(sFic) > 0 et pas HLitPremier(sFic) alors +TableAjouteLigne(TABLE_Structure,sFic,HErreurInfo()) +fin +fin +faire +si HErreur(hErrEnCours) = 70016 _ou_ ExceptionInfo(errCode)=70016 alors +TableAjouteLigne(TABLE_Structure,sFic,"Structure non compatible") +sinon +TableAjouteLigne(TABLE_Structure,sFic,HErreurInfo()) +fin +fin +Procédure locale VerificationMotDePasse +procédure VerificationMotDePasse() +si EnModeTest() alors +renvoyer Vrai +fin +si SAI_MOTDEPASSE <> cMDP alors +06/08/2026 Isis_BO 765 + +Partie 3 › Fenêtre WINDEV › FEN_Utilitaire › Procédures +renvoyer Faux +fin +renvoyer Vrai +| 06/08/2026 | Isis_BO | 766 | +| ---------- | ------- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Question_Modif_RDV › Image +FEN_Question_Modif_RDV +Image +FEN_Question_Modif_RDV +Informations générales +FEN_Question_Modif_RDV +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Question_Modif_RDV.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | ------------ | --- | +| Date de création | | 17/10/2023 11:00:44 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:25 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 942 Hauteur | 442 | +| Visible | | Barre de titre | | Menu système | | +| 06/08/2026 | | | Isis_BO | | 767 | + +Partie 3 › Fenêtre WINDEV › FEN_Question_Modif_RDV › Informations générales +| 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 | | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Oui | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Non | | | | +| Type cadre | Double | | | | +| Transparence Vista | Non | | | | +| Transparence gérée par Vista | Non | | | | +| Appliquer le thème du projet | | | | | +| Grisé : Utiliser couleur perso. | Non | | | | +| Grisé : Algo pour images | | | | | +| 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. | | | | | +| 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 | | | | +| ---------------------- | --- | ------- | --- | --- | +| 06/08/2026 | | Isis_BO | | 768 | + +Partie 3 › Fenêtre WINDEV › FEN_Question_Modif_RDV › Informations générales +Statistiques de la fenêtre +| | Libellé | | 5 | Bouton | | | | 2 | +| --- | ------- | --- | --- | ---------------- | --- | --- | --- | --- | +| | Table | | 1 | Colonne de table | | | | 2 | +Nombre d'éléments dans la fenêtre : 10 +FEN_Question_Modif_RDV +Informations sur les champs +Fenêtre : FEN_Question_Modif_RDV +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | | ruegraL | elbisiV | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +nalP +| LIB_DATEDEBUT | | 596 84 | 95 15 | 0 | Actif | Gauche | Haut | | +| -------------- | --- | ------- | ------ | --- | ----- | ------ | ------ | --- | +| LIB_DATEFIN | | 596 109 | 95 16 | 0 | Actif | Gauche | Haut | | +| LIB_DateHeureD | | 691 81 | 136 20 | 0 | Actif | Centre | Centre | | +| LIB_DateHeureF | | 691 107 | 136 20 | 0 | Actif | Centre | Centre | | +| LIB_Question | | -1 -2 | 938 73 | 0 | Actif | Centre | Centre | | +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | ---------- | ----------- | +| | | X noitisoP | Y noitisoP | | | laitini tatE | | | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Annuler | | 850 | 394 80 | 24 | 0 | Actif | Normal | | +| ----------- | --- | --- | ------- | --- | --- | ----- | ------ | --- | +| BTN_Valider | | 751 | 394 80 | 24 | 0 | Actif | Normal | | +| 06/08/2026 | | | Isis_BO | | | | | 769 | + +Partie 3 › Fenêtre WINDEV › FEN_Question_Modif_RDV › Informations sur les champs +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 | | | | +| --- | --------------------- | ------- | ------------ | -------- | --- | --- | +| | | ruetuaH | | sruocraP | | | +ruegraL +elbisiV +| | | nalP | elbaT | | | | +| ------------------- | --------- | ----- | ----------------- | --- | --- | --- | +| TABLE_TabFormulaire | 6 141 924 | 219 0 | affichag Variable | | | 1 | +Table : TABLE_TabFormulaire +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +| | | | ehcuag à eéxiF | .zroh egardaC .trev egardaC | | | +| --- | --- | --- | -------------- | --------------------------- | ---------------------- | ----------- | +| | | | elbaçalpéD | | eisias epyT FTR tamroF | eisias cevA | +laitini tatE engilitluM +ruegraL +elbisiV +eéirT +epyT +| COL_NValeur | 468 | Grisé | | Droite Centre | Numériq | | +| ------------- | --- | ----- | --- | ------------- | ------- | --- | +| COL_SQuestion | 908 | Actif | | Gauche Centre | Texte | | +Fenêtre : FEN_Question_Modif_RDV +Bouton : BTN_Annuler +| Libellé | | FR: Annuler | | | | | +| -------------------------- | --- | ----------------------------------- | ------- | --- | --- | --- | +| 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 | | | | | | | +| 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 | | | | | +| 06/08/2026 | | | Isis_BO | | | 770 | + +Partie 3 › Fenêtre WINDEV › FEN_Question_Modif_RDV › Informations sur les champs +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Bouton : BTN_Valider +Libellé FR: Valider +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +06/08/2026 Isis_BO 771 + +Partie 3 › Fenêtre WINDEV › FEN_Question_Modif_RDV › Informations sur les champs +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : LIB_DATEDEBUT +Libellé FR: Date de début +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 772 + +Partie 3 › Fenêtre WINDEV › FEN_Question_Modif_RDV › Informations sur les champs +Libellé : LIB_DATEFIN +Libellé FR: Date de fin +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_DateHeureD +Libellé FR: 20190715185300 +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 +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 +06/08/2026 Isis_BO 773 + +Partie 3 › Fenêtre WINDEV › FEN_Question_Modif_RDV › Informations sur les champs +Type saisie Date +Masque saisie FR: JJ/MM/AAAA HH:mm:SS +Format retour AAAAMMJJHHmmSSCCC +Mode ellipse +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 +Liaison des données :gdhDateD +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_DateHeureF +Libellé FR: 20190715185300 +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 +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 Date +Masque saisie FR: JJ/MM/AAAA HH:mm:SS +Format retour AAAAMMJJHHmmSSCCC +Mode ellipse +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 +Liaison des données :gdhDateF +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 774 + +Partie 3 › Fenêtre WINDEV › FEN_Question_Modif_RDV › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Question +Libellé FR: Libellé +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 +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 +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 +Liaison des données :gsQuestion +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : TABLE_TabFormulaire +Libellé FR: Table tabFormulaire +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Isis_BO 775 + +Partie 3 › Fenêtre WINDEV › FEN_Question_Modif_RDV › Informations sur les champs +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 +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :tabFormulaire +Ajout/Suppr. dans variable Oui +Synchro HFSQL C/S Jamais +06/08/2026 Isis_BO 776 + +Partie 3 › Fenêtre WINDEV › FEN_Question_Modif_RDV › Informations sur les champs +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 : TABLE_TabFormulaire +Colonne de table : TABLE_TabFormulaire.COL_NValeur (1) +Titre FR: NValeur +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: +999 999 999 +Mode ellipse +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 +Liaison des données :tabFormulaire.nValeur +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 777 + +Partie 3 › Fenêtre WINDEV › FEN_Question_Modif_RDV › Informations sur les champs +Colonne de table : TABLE_TabFormulaire.COL_SQuestion (2) +Titre FR: SQuestion +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 +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 +Liaison des données :tabFormulaire.sQuestion +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FEN_Question_Modif_RDV +Code +Déclarations globales de FEN_Question_Modif_RDV +procédure FEN_Question_Modif_RDV(gsQuestion est une chaîne ANSI,gdhDateD est une DateHeure, gdhDateF +est une DateHeure, tabFormulaire est un tableau de STQuestionModifRdv) +gnValeur est un entier = 0 +Fin d'initialisation de FEN_Question_Modif_RDV +06/08/2026 Isis_BO 778 + +Partie 3 › Fenêtre WINDEV › FEN_Question_Modif_RDV › Code +SourceVersEcran() +Fermeture de FEN_Question_Modif_RDV +renvoyer gnValeur +FEN_Question_Modif_RDV +Code des champs +Initialisation de BTN_Annuler +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Annuler +gnValeur = 0 +Ferme() +Initialisation de BTN_Valider +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Valider +si pas TABLE_TabFormulaire > 0 alors +Info("Veuillez sélectionner une option") +retour +sinon +si TABLE_TabFormulaire.COL_NValeur > 0 alors +gnValeur = TABLE_TabFormulaire.COL_NValeur +sinon +Info("Veuillez sélectionner une option") +retour +fin +fin +Ferme() +Initialisation de LIB_DateHeureD +// Version 1 +// Description +// Texte simple formaté pour afficher une date et une heure +06/08/2026 Isis_BO 779 + +Partie 3 › Fenêtre WINDEV › FEN_Question_Modif_RDV › Code des champs +MoiMême = DateHeureSys() +Initialisation de LIB_DateHeureF +// Version 1 +// Description +// Texte simple formaté pour afficher une date et une heure +MoiMême = DateHeureSys() +Initialisation de LIB_Question +// Version 1 +// Description +// Libellé simple +06/08/2026 Isis_BO 780 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Image +FEN_Modification_Date_Groupe +Image +FEN_Modification_Date_Groupe +Informations générales +FEN_Modification_Date_Groupe +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Modification_Date_Groupe.wdw +Créé par SMR +Date de création 19/10/2023 10:22:47 +Dernière modification par SMR +Date dernière modification 11/04/2025 16:08:25 +Titre FR: Modification date groupe +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +06/08/2026 Isis_BO 781 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 958 Hauteur | 555 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| 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 | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| 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 | | | | +D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +Image poignée +| 06/08/2026 | | | Isis_BO | | 782 | +| ---------- | --- | --- | ------- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | | | 3 | | Libellé | | | 6 | +| --- | --------------- | --- | --- | --- | --- | --- | ---------------- | --- | --- | --- | +| | Bouton | | | | 4 | | Image | | | 1 | +| | Table | | | | 1 | | Forme | | | 1 | +| | Zone répétée | | | | 1 | | Colonne de table | | | 8 | +Nombre d'éléments dans la fenêtre : 25 +FEN_Modification_Date_Groupe +Informations sur les champs +Fenêtre : FEN_Modification_Date_Groupe +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_PL_DateDebut | | 17 112 | 119 22 | 0 | Actif | Date | | Non | | | +| ----------------- | --- | ------- | ------ | --- | ----- | ----- | --- | --- | --- | --- | +| SAI_PL_HeureFin | | 261 112 | 95 22 | 0 | Actif | Heure | | Non | | | +| SAI_PL_HuereDebut | | 153 112 | 95 22 | 0 | Actif | Heure | | Non | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +| | | | | | | | | laitini tatE | FTR tamroF | | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_DATEDEBUT | | | 17 | 98 | 95 16 | 0 | | Actif Gauche | Haut | | +| ---------------- | --- | --- | --- | ------ | ------- | --- | --- | ------------ | ------ | --- | +| LIB_DATE_HORAIRE | | | 50 | 71 172 | 14 | 0 | | Actif Gauche | Haut | | +| LIB_HEUREDEBUT | | | 153 | 98 | 95 16 | 0 | | Actif Gauche | Haut | | +| LIB_HEUREFIN | | | 261 | 98 | 95 16 | 0 | | Actif Gauche | Haut | | +| LIB_Titre | | | 0 | 0 957 | 51 | 0 | | Actif Centre | Centre | | +| 06/08/2026 | | | | | Isis_BO | | | | | 783 | + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations sur les champs +Bouton +notuob epyT +| | | | | | | | | laitini tatE | BAT ehcuoT | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | ---------- | --- | +| | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| BTN_Ajout | | 371 | 110 | 24 | 24 | 0 | | Actif | | Normal | +| ------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | ------ | +| BTN_Annuler | | 870 | 507 | 80 | 24 | 0 | | Actif | | Normal | +| BTN_Supprimer | | 918 | 108 | 32 | 32 | 0 | | Actif | | Normal | +| BTN_Valider | | 771 | 507 | 80 | 24 | 0 | | Actif | | Normal | +Image +| | | | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | --- | ---------- | ---------- | --- | ------- | --- | ------------ | --- | --------------------- | ----------------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | sucof cevA | +| | | | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_ICONE_DATEETHORAIRE1 | | 17 | 70 | 16 | 16 | 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 | | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | | +ruegraL +| | | | | elbisiV | elbaT | | | | | | +| --- | --- | --- | --- | ------- | ----- | --- | --- | --- | --- | --- | +nalP +| TABLE_RDVS | 6 153 | 944 341 | 0 | Actif | Mémoir | | | | | 1 | +| ---------- | ----- | ------- | --- | ----- | ------ | --- | --- | --- | --- | --- | +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| FRM_CADRE_CARACTERISTIQUES1 | | | 12 | 66 | 400 | 76 | 0 | | Actif | | +| --------------------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Table : TABLE_RDVS +| 06/08/2026 | | | | Isis_BO | | | | | | 784 | +| ---------- | --- | --- | --- | ------- | --- | --- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations sur les champs +Zone répétée +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_Collaborateurs | | 455 | 183 | 565 | 56 | 0 | Actif | | +| ----------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +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_IdRdv | 191 | Grisé | | Gauche | Centre | Texte | | | +| COL_IdGrope | 100 | Grisé | | Gauche | Centre | Texte | | | +| COL_Date | 116 | Actif | | Centre | Centre | Date | | | +| COL_DateFin | 100 | Actif | | | Droite Centre | Date | | | +| COL_HeureDebut | 116 | Actif | | Centre | Centre | Heure | | | +| COL_HeureFin | 117 | Actif | | Centre | Centre | Heure | | | +| COL_Collaborateur | 575 | Actif | | Gauche | Centre | | | | +| COL_Supprimer | 100 | Grisé | | Centre | Centre | | | | +Zone répétée : TABLE_RDVS.COL_Collaborateur.ZR_Collaborateurs +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Nom | 13 | 6 119 | 25 | 0 | Actif | Gauche | Centre | | +| ------- | --- | ----- | --- | --- | ----- | ------ | ------ | --- | +Fenêtre : FEN_Modification_Date_Groupe +| 06/08/2026 | | | Isis_BO | | | | | 785 | +| ---------- | --- | --- | ------- | --- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations sur les champs +Bouton : BTN_Ajout +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 786 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations sur les champs +Bouton : BTN_Annuler +Libellé FR: Annuler +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 787 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations sur les champs +Bouton : BTN_Supprimer +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 788 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations sur les champs +Bouton : BTN_Valider +Libellé FR: Valider +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 789 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations sur les champs +Forme : FRM_CADRE_CARACTERISTIQUES1 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_ICONE_DATEETHORAIRE1 +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\horaire.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 790 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_DATEDEBUT +Libellé FR: Date de début +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_DATE_HORAIRE +Libellé FR: Dates et horaires +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 791 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations sur les champs +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_HEUREDEBUT +Libellé FR: Heure de début +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 +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 +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 +06/08/2026 Isis_BO 792 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_HEUREFIN +Libellé FR: Heure de fin +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Titre +Libellé FR: Le rendez-vous a été créé sur plusieurs jours, modifiez les dates des rendez-vous +concernés +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 +06/08/2026 Isis_BO 793 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations sur les champs +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_PL_DateDebut +Libellé FR: Date de début +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 17 +Largeur interne 119 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Date de début du Rendez-vous +Numéro aide 0 +Texte d'indication si vide FR: Date de début du Rendez-vous +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +Visualisation markdown Non +06/08/2026 Isis_BO 794 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: JJ/MM/AAAA +Masque affichage FR: JJ/MM/AAAA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 795 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations sur les champs +Champ de saisie : SAI_PL_HeureFin +Libellé FR: Heure de fin +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 261 +Largeur interne 95 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Date de fin du Rendez-vous +Numéro aide 0 +Texte d'indication si vide FR: Date de fin du Rendez-vous +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 +Masque affichage FR: HH:MM +Format retour HHMMSS +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 796 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations sur les champs +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_PL_HuereDebut +Libellé FR: Heure de début +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 153 +Largeur interne 95 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Date de début du Rendez-vous +Numéro aide 0 +06/08/2026 Isis_BO 797 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations sur les champs +Texte d'indication si vide FR: Date de début du Rendez-vous +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 +Masque affichage FR: HH:MM +Format retour HHMMSS +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +06/08/2026 Isis_BO 798 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations sur les champs +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome Couleur monochrome du style +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : TABLE_RDVS +Libellé FR: Table +Ordre navigation 5 +Curseur survol 0 +Mode Loupe Filtre +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) 65 +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 +06/08/2026 Isis_BO 799 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations sur les champs +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. +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 : TABLE_RDVS +Colonne de table : TABLE_RDVS.COL_IdRdv (1) +Titre FR: IdRdv +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 +Verifier l'orthographe Non +Unicode Non +06/08/2026 Isis_BO 800 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › 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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : TABLE_RDVS.COL_IdGrope (2) +Titre FR: IdGrope +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 801 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations sur les champs +Colonne de table : TABLE_RDVS.COL_Date (3) +Titre FR: Date début +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Oui +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: UseSystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : TABLE_RDVS.COL_DateFin (4) +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: UseSystemMask +06/08/2026 Isis_BO 802 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : TABLE_RDVS.COL_HeureDebut (5) +Titre FR: Heure de 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: UseSystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 803 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations sur les champs +Colonne de table : TABLE_RDVS.COL_HeureFin (6) +Titre FR: Heure de 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: UseSystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : TABLE_RDVS.COL_Collaborateur (7) +Titre FR: Collaborateur +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +06/08/2026 Isis_BO 804 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Zone répétée : TABLE_RDVS.COL_Collaborateur.ZR_Collaborateurs +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 56 +Largeur colonne 144 +Sens Horizontal +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +06/08/2026 Isis_BO 805 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations sur les champs +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Colonne de table : TABLE_RDVS.COL_Supprimer (8) +Titre FR: Supprimer +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +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 +06/08/2026 Isis_BO 806 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Zone répétée : TABLE_RDVS.COL_Collaborateur.ZR_Collaborateurs +Libellé : TABLE_RDVS.COL_Collaborateur.ZR_Collaborateurs.LIB_Nom +Libellé FR: Libellé +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Modification_Date_Groupe +Messages multilingues +06/08/2026 Isis_BO 807 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Messages multilingues +06/08/2026 Isis_BO 808 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression de l'action ? +¹ N° mess. : numéro de message. +FEN_Modification_Date_Groupe +Code +Déclarations globales de FEN_Modification_Date_Groupe +procédure FEN_Modification_Date_Groupe(gnIdGroupeDate est un entier sur 8 octets, gnIdRdv est un entier +sur 8 octets, gnIDGroupe est un entier sur 8 octets) +ST_InfoRdv est une Structure +Rdv est un RendezVous +sCollaborateurs est une chaîne ANSI +tabIdCollaborateur est un tableau d'entiers sur 8 octets +fin +gtaRdvsRecouperes est un tableau associatif de ST_InfoRdv +gnColonne est un entier +gbRafraichir est un booléen = Faux +Fin d'initialisation de FEN_Modification_Date_Groupe +Filtre() +MajTBL() +Fermeture de FEN_Modification_Date_Groupe +renvoyer gbRafraichir +FEN_Modification_Date_Groupe +Code des champs +Clic sur BTN_Ajout +sRefRdv est une chaîne ANSI +si TABLE_RDVS..Occurrence > 0 alors +sRefRdv = TABLE_RDVS[1].COL_IdRdv + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Code des champs +sinon +retour +fin +si pas SAI_PL_DateDebut >= DateSys() alors +Erreur("La date doit être supérieure ou égale à la date du jour.") +retour +fin +si SAI_PL_HuereDebut <= "" alors +Erreur("Vous devez saisir une heure de début valide.") +retour +fin +si SAI_PL_HeureFin <= "" alors +Erreur("Vous devez saisir une heure de fin valide.") +retour +fin +pour toute ligne de TABLE_RDVS +si COL_Date = SAI_PL_DateDebut alors +Erreur("La date existe déjà") +retour +fin +fin +DateDebut est une DateHeure +dateFin est une DateHeure +DateDebut..PartieDate = SAI_PL_DateDebut +si SAI_PL_HeureFin <= SAI_PL_HuereDebut alors +dateFin..PartieDate = SAI_PL_DateDebut // traitement pour les rendez-vous de nuit +dateFin..Jour += 1 +sinon +dateFin..PartieDate = SAI_PL_DateDebut +fin +DateDebut..PartieHeure = SAI_PL_HuereDebut +dateFin..PartieHeure = SAI_PL_HeureFin +MaDurée est une Durée = dateFin - DateDebut +nNbRdvs est un entier = PartieEntière(MaDurée..EnJours) +si nNbRdvs > 0 alors +Erreur("La durée estimée du rendez-vous dépasse 24 heures, veuillez modifier les horaires") +retour +fin +MessageErreur est une chaîne ANSI +si gtaRdvsRecouperes[sRefRdv]..Existe alors +pour tout nidC de gtaRdvsRecouperes[sRefRdv].tabIdCollaborateur +MessageErreur = GestionConflitRDV(DateDebut,dateFin,nidC,0,0,0) +si MessageErreur <> "" alors +Erreur("Vous ne pouvez pas modifier le rendez-vous."+RC+ +"Conflit de Rendez-vous pour les utilisateurs suivant:"+RC+RC+MessageErreur+RC) +retour +fin +fin +fin +i, b est un entier +06/08/2026 Isis_BO 809 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Code des champs +i = TableAjouteLigne(TABLE_RDVS) +TABLE_RDVS[i].COL_Date = DateDebut +TABLE_RDVS[i].COL_DateFin = dateFin +TABLE_RDVS[i].COL_HeureDebut = SAI_PL_HuereDebut +TABLE_RDVS[i].COL_HeureFin = SAI_PL_HeureFin +ZoneRépétéeSupprimeTout(TABLE_RDVS[i].COL_Collaborateur.ZR_Collaborateurs) +b = 0 +si gtaRdvsRecouperes[sRefRdv]..Existe = Vrai alors +pour toute chaîne nom de gtaRdvsRecouperes[sRefRdv].sCollaborateurs séparée par ";" +b+=1 +ZoneRépétéeAjoute(TABLE_RDVS[i].COL_Collaborateur.ZR_Collaborateurs) +TABLE_RDVS[i].COL_Collaborateur.ZR_Collaborateurs[b].LIB_Nom = nom +fin +fin +TABLE_RDVS[i].COL_IdRdv = 0 +TABLE_RDVS[i].COL_IdGrope = gnIdGroupeDate +Initialisation de BTN_Annuler +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Annuler +Ferme() +Clic sur BTN_Supprimer +nCol est un entier = TABLE_RDVS +si nCol > 0 alors +si OuiNon(Non, "Voulez-vous vraiment supprimer ce rendez-vous de la base de données ?")=Oui alors +TABLE_RDVS[nCol].COL_Supprimer = Vrai +TABLE_RDVS[nCol].Grisé = Vrai +fin +sinon +Info("Veillez sélectionner un rendez-vous") +retour +fin +Initialisation de BTN_Valider +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Valider +si Verification() alors +si Enregistrer() alors +Ferme() +06/08/2026 Isis_BO 810 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Code des champs +sinon +retour +fin +fin +Initialisation de LIB_Titre +// Version 1 +// Description +// Libellé simple +Entrée dans SAI_PL_DateDebut +//SI gclPresentationFicheRdv.m_bNouveau<>Vrai ALORS +// ChoixDateDebut() +//SINON +// ChoixDateNewDebut() +//FIN +Sortie de SAI_PL_DateDebut +//reprisesaisie(INT_BPL_Prive) +A chaque modification de SAI_PL_DateDebut +ChampVersSource() +Entrée dans SAI_PL_HeureFin +//SI gclPresentationFicheRdv.m_bNouveau<>Vrai ALORS +// ChoixDateDebut() +//SINON +// ChoixDateNewDebut() +//FIN +Sortie de SAI_PL_HeureFin +//RepriseSaisie(INT_BPL_Prive) +A chaque modification de SAI_PL_HeureFin +ChampVersSource() +Entrée dans SAI_PL_HuereDebut +//SI gclPresentationFicheRdv.m_bNouveau<>Vrai ALORS +// ChoixDateDebut() +//SINON +// ChoixDateNewDebut() +//FIN +Sortie de SAI_PL_HuereDebut +06/08/2026 Isis_BO 811 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Code des champs +//reprisesaisie(INT_BPL_Prive) +A chaque modification de SAI_PL_HuereDebut +//ChampVersSource() +Sortie d'une ligne de TABLE_RDVS +MessageErreur est une chaîne ANSI +bChangement est un booléen = Faux +DateDebut est une DateHeure +dateFin est une DateHeure +DateDebut..PartieDate = TABLE_RDVS[TABLE_RDVS].COL_Date +dateFin..PartieDate = TABLE_RDVS[TABLE_RDVS].COL_DateFin +DateDebut..PartieHeure = TABLE_RDVS[TABLE_RDVS].COL_HeureDebut +dateFin..PartieHeure = TABLE_RDVS[TABLE_RDVS].COL_HeureFin +MaDurée est une Durée = dateFin - DateDebut +nNbRdvs est un entier = PartieEntière(MaDurée..EnJours) +si nNbRdvs > 0 alors +Erreur("La durée estimée du rendez-vous dépasse 24 heures, veuillez modifier les dates/heures ") +retour +fin +si gtaRdvsRecouperes[TABLE_RDVS[TABLE_RDVS].COL_IdRdv]..Existe alors +si gtaRdvsRecouperes[TABLE_RDVS[TABLE_RDVS].COL_IdRdv].Rdv.DateDébut.PartieDate <> TABLE_RDVS[ +TABLE_RDVS].COL_Date alors +bChangement = Vrai +fin +si gtaRdvsRecouperes[TABLE_RDVS[TABLE_RDVS].COL_IdRdv].Rdv.DateFin.PartieDate <> TABLE_RDVS[TABLE_ +RDVS].COL_DateFin alors +bChangement = Vrai +fin +si gtaRdvsRecouperes[TABLE_RDVS[TABLE_RDVS].COL_IdRdv].Rdv.DateDébut.PartieHeure <> TABLE_RDVS[ +TABLE_RDVS].COL_HeureDebut alors +bChangement = Vrai +fin +si gtaRdvsRecouperes[TABLE_RDVS[TABLE_RDVS].COL_IdRdv].Rdv.DateFin.PartieHeure <> TABLE_RDVS[TABLE_ +RDVS].COL_HeureFin alors +bChangement = Vrai +fin +si bChangement alors +pour tout nidC de gtaRdvsRecouperes[TABLE_RDVS[TABLE_RDVS].COL_IdRdv].tabIdCollaborateur +MessageErreur = GestionConflitRDV(DateDebut,dateFin,nidC,0,Val(gtaRdvsRecouperes[TABLE_ +RDVS[TABLE_RDVS].COL_IdRdv].Rdv.Auteur),Val(gtaRdvsRecouperes[TABLE_RDVS[TABLE_RDVS].COL_ +IdRdv].Rdv.Note)) +si MessageErreur <> "" alors +Erreur("Vous ne pouvez pas modifier le rendez-vous."+RC+ +"Conflit de Rendez-vous pour les utilisateurs suivant:"+RC+RC+MessageErreur+RC) +TABLE_RDVS[TABLE_RDVS].COL_Date = gtaRdvsRecouperes[TABLE_RDVS[TABLE_RDVS]. +COL_IdRdv].Rdv.DateDébut.PartieDate +TABLE_RDVS[TABLE_RDVS].COL_DateFin = gtaRdvsRecouperes[TABLE_RDVS[TABLE_RDVS].COL_ +IdRdv].Rdv.DateFin.PartieDate +TABLE_RDVS[TABLE_RDVS].COL_HeureDebut = gtaRdvsRecouperes[TABLE_RDVS[TABLE_RDVS]. +COL_IdRdv].Rdv.DateDébut.PartieHeure +06/08/2026 Isis_BO 812 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Code des champs +TABLE_RDVS[TABLE_RDVS].COL_HeureFin = gtaRdvsRecouperes[TABLE_RDVS[TABLE_RDVS]. +COL_IdRdv].Rdv.DateFin.PartieHeure +retour +fin +fin +fin +sinon +pour tout stUnRdv de gtaRdvsRecouperes +pour tout nidC de stUnRdv.tabIdCollaborateur +MessageErreur = GestionConflitRDV(DateDebut,dateFin,nidC,0,0,0) +si MessageErreur <> "" alors +Erreur("Vous ne pouvez pas modifier le rendez-vous."+RC+ +"Conflit de Rendez-vous pour les utilisateurs suivant:"+RC+RC+MessageErreur+RC) +retour +fin +fin +sortir +fin +fin +Sortie de COL_Date ( TABLE_RDVS ) +gnColonne = TABLE_RDVS +si gnColonne > 0 alors +si pas TABLE_RDVS[gnColonne].COL_Date >= DateSys() alors +Erreur("La date doit être supérieure ou égale à la date du jour.") +si gtaRdvsRecouperes[TABLE_RDVS[gnColonne].COL_IdRdv]..Existe alors +COL_Date[gnColonne] = gtaRdvsRecouperes[TABLE_RDVS[gnColonne].COL_IdRdv].Rdv.DateDébut. +PartieDate +fin +retour +sinon +si COL_Date[gnColonne] > COL_DateFin[gnColonne] alors +Erreur("La date de début doit être inférieur ou égale à la date de fin.") +si gtaRdvsRecouperes[TABLE_RDVS[gnColonne].COL_IdRdv]..Existe alors +COL_Date[gnColonne] = gtaRdvsRecouperes[TABLE_RDVS[gnColonne].COL_IdRdv].Rdv.DateDébut +.PartieDate +fin +retour +fin +pour toute ligne de TABLE_RDVS +si COL_Date = TABLE_RDVS[gnColonne].COL_Date et TABLE_RDVS <> gnColonne alors +Erreur("La date existe déjà") +si gtaRdvsRecouperes[TABLE_RDVS[gnColonne].COL_IdRdv]..Existe alors +COL_Date[gnColonne] = gtaRdvsRecouperes[TABLE_RDVS[gnColonne].COL_IdRdv].Rdv. +DateDébut.PartieDate +fin +retour +fin +fin +fin +fin +Sortie de COL_DateFin ( TABLE_RDVS ) +06/08/2026 Isis_BO 813 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Code des champs +gnColonne = TABLE_RDVS +si gnColonne > 0 alors +si pas TABLE_RDVS[gnColonne].COL_DateFin >= DateSys() alors +Erreur("La date doit être supérieure ou égale à la date du jour.") +si gtaRdvsRecouperes[TABLE_RDVS[gnColonne].COL_IdRdv]..Existe alors +COL_DateFin[gnColonne] = gtaRdvsRecouperes[TABLE_RDVS[gnColonne].COL_IdRdv].Rdv.DateFin. +PartieDate +fin +retour +sinon +pour toute ligne de TABLE_RDVS +si COL_DateFin = TABLE_RDVS[gnColonne].COL_DateFin et TABLE_RDVS <> gnColonne alors +Erreur("La date existe déjà") +si gtaRdvsRecouperes[TABLE_RDVS[gnColonne].COL_IdRdv]..Existe alors +COL_DateFin[gnColonne] = gtaRdvsRecouperes[TABLE_RDVS[gnColonne].COL_IdRdv].Rdv. +DateFin.PartieDate +fin +retour +fin +si COL_DateFin[gnColonne] < COL_Date[gnColonne] alors +Erreur("La date de fin doit être supérieure ou égale à la date de début.") +si gtaRdvsRecouperes[TABLE_RDVS[gnColonne].COL_IdRdv]..Existe alors +COL_DateFin[gnColonne] = gtaRdvsRecouperes[TABLE_RDVS[gnColonne].COL_IdRdv].Rdv. +DateFin.PartieDate +fin +retour +fin +fin +fin +fin +FEN_Modification_Date_Groupe +Procédures +Procédure locale CreationRDV +procédure CreationRDV() +sRefRdv est une chaîne ANSI +si TABLE_RDVS..Occurrence > 0 alors +sRefRdv = TABLE_RDVS[1].COL_IdRdv +sinon +Erreur("Une erreur s'est produite, les rendez-vous n'ont pas pu être crées") +renvoyer Faux +fin +gclPresentRDVGroupe est un PTableRDV dynamique +si gnIDGroupe > 0 alors +gclPresentRDVGroupe=PTableRDV.gNouvellePresentation(3,-1,gnIDGroupe) +sinon +gclPresentRDVGroupe=PTableRDV.gNouvellePresentation(0,gnIdRdv,gnIDGroupe) +fin +nIndice est un entier +06/08/2026 Isis_BO 814 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Procédures +sIDRDV est une chaîne ANSI = "" +nIndice=TableauCherche(gclPresentRDVGroupe.m_clTabModele,tcLinéaire,"m_nPKID",gnIdRdv,1) +si nIndice<>-1 alors +gclPresentRDVGroupe.p_clCourant=gclPresentRDVGroupe:m_clTabModele[nIndice] +sinon +si gclPresentRDVGroupe:m_clTabModele.Occurrence >= 1 alors +gclPresentRDVGroupe.p_clCourant=gclPresentRDVGroupe:m_clTabModele[1] +fin +fin +clPresentationFiche est un PFicheRdv <- gclPresentRDVGroupe.Modifier() +gclPresentListeContactRDV est un PTablePlanning_RDV_Personne dynamique +gclPresentListeContactRDV = PTablePlanning_RDV_Personne.gNouvellePresentation(gnIdRdv) +pour toute ligne de TABLE_RDVS +si COL_IdRdv <= 0 alors +sIDRDV = "" +clPresentationFiche.m_dhDateDebut = COL_Date+COL_HeureDebut +clPresentationFiche.m_dhDateFin = COL_DateFin+COL_HeureFin +clPresentationFiche.m_bNouveau = Vrai +clPresentationFiche.m_nIDGroupeDate = gnIdGroupeDate +si gtaRdvsRecouperes[sRefRdv]..Existe = Vrai alors +si gtaRdvsRecouperes[sRefRdv].tabIdCollaborateur..Occurrence > 1 alors +clPresentationFiche.m_nIDGroupe = CreaCompteur("GrpeRdv") +sinon +clPresentationFiche.m_nIDGroupe = 0 +fin +pour tout nId de gtaRdvsRecouperes[sRefRdv].tabIdCollaborateur +si nId > 0 alors +si pas CreationUnRdvSurGroupeDate(clPresentationFiche,nId,sIDRDV) alors +renvoyer Faux +fin +fin +fin +fin +si pas EnregistrerContactRdv(sIDRDV, gclPresentListeContactRDV, clPresentationFiche.m_nIDGroupe +) alors +renvoyer Faux +sinon +gbRafraichir = Vrai +fin +renvoyer Vrai +fin +fin +Procédure locale Enregistrer +procédure Enregistrer() +sReqUpdate,sReqDelete,sComplReq est une chaîne ANSI = "" +sDateD, sDateF est une chaîne ANSI +bModif est un booléen +bCreation est un booléen = Faux +pour toute ligne de TABLE_RDVS +bModif = Faux +si COL_IdRdv > 0 alors +si COL_Supprimer alors +si gtaRdvsRecouperes[COL_IdRdv]..Existe alors +06/08/2026 Isis_BO 815 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Procédures +sComplReq = "UPDATE Planning_RDV SET Archive = 1, DateArchivage = '" +DateHeureSys() + +"'" +sComplReq += " ,ModifDate = " + "'"+DateHeureSys()+"'" +sComplReq += " ,ModifUser = " + gpclFicheUtilisateurEnCours:m_nPKID +sComplReq += " WHERE PL_DateDebut = '"+gtaRdvsRecouperes[COL_IdRdv].Rdv.DateDébut + +"' AND PL_DateFin = "+gtaRdvsRecouperes[COL_IdRdv].Rdv.DateFin+ +" AND PL_IdGroupeDate = "+gnIdGroupeDate +sReqDelete += sComplReq +";" +fin +sinon +si gtaRdvsRecouperes[COL_IdRdv]..Existe alors +si gtaRdvsRecouperes[COL_IdRdv].Rdv.DateDébut.PartieDate <> COL_Date alors bModif = +Vrai +si gtaRdvsRecouperes[COL_IdRdv].Rdv.DateFin.PartieDate <> COL_DateFin alors bModif = +Vrai +si gtaRdvsRecouperes[COL_IdRdv].Rdv.DateDébut.PartieHeure <> COL_HeureDebut alors +bModif =Vrai +si gtaRdvsRecouperes[COL_IdRdv].Rdv.DateFin.PartieHeure <> COL_HeureFin alors bModif = +Vrai +fin +si bModif alors +sDateD = COL_Date+COL_HeureDebut +sDateF = COL_DateFin+COL_HeureFin +sComplReq = "UPDATE Planning_RDV SET PL_DateDebut = '" + sDateD + +"', PL_DateFin = '" + sDateF+"'" +sComplReq += " ,ModifDate = " + "'"+DateHeureSys()+"'" +sComplReq += " ,ModifUser = " + gpclFicheUtilisateurEnCours:m_nPKID +sComplReq += " WHERE PL_IDGroupedate = " + gnIdGroupeDate +sComplReq += " AND PL_DateDebut LIKE '"+Gauche(gtaRdvsRecouperes[COL_IdRdv].Rdv. +DateDébut,8)+"%' AND PL_Datefin LIKE '"+ Gauche(gtaRdvsRecouperes[COL_IdRdv].Rdv. +DateFin,8)+"%'" +sReqUpdate += sComplReq+";" +fin +fin +sinon +bCreation = Vrai +fin +fin +si sReqDelete..Taille > 3 et gnIdGroupeDate > 0 alors +sdSDRDV est une Source de Données +si pas HExécuteRequêteSQL(sdSDRDV,hVérifieDoublon+hVérifieIntégrité,sReqDelete) alors +Erreur("Une erreur s'est produite, les rendez-vous n'ont pas pu être supprimés" + RC + +HErreurInfo()) +renvoyer Faux +sinon +gbRafraichir = Vrai +fin +fin +si sReqUpdate.Taille > 3 et gnIdGroupeDate > 0 alors +sdSDRDV2 est une Source de Données +si pas HExécuteRequêteSQL(sdSDRDV2,hVérifieDoublon+hVérifieIntégrité,sReqUpdate) alors +Erreur("Une erreur s'est produite, les rendez-vous n'ont pas pu être modifiés" + RC + +HErreurInfo()) +renvoyer Faux +sinon +gbRafraichir = Vrai +fin +fin +si bCreation et gnIdGroupeDate > 0 alors +06/08/2026 Isis_BO 816 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Procédures +si pas CreationRDV() alors +renvoyer Faux +fin +fin +renvoyer Vrai +Procédure locale Filtre +procédure Filtre() +UnRdv est un RendezVous dynamique +pstInfoRdvs est un ST_InfoRdv dynamique +TableauSupprimeTout(gtaRdvsRecouperes) +si gnIdGroupeDate > 0 alors +i est un entier = 0 +sReq est une chaîne ANSI = [ +SELECT PL_PKID,PL_IDCollaborateur,PL_DateDebut,PL_DateFin,PL_IDGroupe,CO_Nom, +CO_Prenom,CO_PKID,PL_IdGroupeDate +FROM Planning_RDV +INNER JOIN Collaborateur ON PL_IDCollaborateur = CO_PKID +WHERE Archive = 0 AND PL_IdGroupeDate = +] +sComplReq est une chaîne ANSI = gnIdGroupeDate + " ORDER by PL_DateDebut asc" +sReq += sComplReq +sdSDRDV est une Source de Données +si pas HExécuteRequêteSQL(sdSDRDV,hRequêteDéfaut,sReq) alors +Erreur("Une erreur s'est produite, les rendez-vous n'ont pas pu être récupérés" + RC + +HErreurInfo()) +sinon +pour tout sdSDRDV +si gtaRdvsRecouperes[sdSDRDV.PL_DateDebut+sdSDRDV.PL_DateFin]..Existe = Faux alors +UnRdv = allouer un RendezVous +UnRdv..DateDébut = sdSDRDV.PL_DateDebut +UnRdv..DateFin = sdSDRDV.PL_DateFin +UnRdv..Auteur = sdSDRDV.PL_IDGroupe +UnRdv..Note = sdSDRDV.PL_IdGroupeDate +pstInfoRdvs = allouer un ST_InfoRdv +pstInfoRdvs.Rdv = UnRdv +pstInfoRdvs.sCollaborateurs = sdSDRDV.CO_Nom + " "+sdSDRDV.CO_Prenom +TableauAjoute(pstInfoRdvs.tabIdCollaborateur,sdSDRDV.CO_PKID) +gtaRdvsRecouperes[sdSDRDV.PL_DateDebut+sdSDRDV.PL_DateFin] = pstInfoRdvs +sinon +gtaRdvsRecouperes[sdSDRDV.PL_DateDebut+sdSDRDV.PL_DateFin].sCollaborateurs += ";" + +sdSDRDV.CO_Nom + " "+sdSDRDV.CO_Prenom +TableauAjoute(gtaRdvsRecouperes[sdSDRDV.PL_DateDebut+sdSDRDV.PL_DateFin].tab +IdCollaborateur,sdSDRDV.CO_PKID) +fin +fin +fin +fin +Procédure locale MajTBL +06/08/2026 Isis_BO 817 + +Partie 3 › Fenêtre WINDEV › FEN_Modification_Date_Groupe › Procédures +procédure MajTBL() +i est un entier +b est un entier +TableSupprimeTout(TABLE_RDVS) +pour tout stRdv de gtaRdvsRecouperes +i = TableAjouteLigne(TABLE_RDVS) +TABLE_RDVS[i].COL_Date = stRdv.Rdv.DateDébut.PartieDate +TABLE_RDVS[i].COL_DateFin = stRdv.Rdv.Datefin.PartieDate +TABLE_RDVS[i].COL_HeureDebut = stRdv.rdv.DateDébut.PartieHeure +TABLE_RDVS[i].COL_HeureFin = stRdv.Rdv.DateFin.PartieHeure +ZoneRépétéeSupprimeTout(TABLE_RDVS[i].COL_Collaborateur.ZR_Collaborateurs) +b = 0 +pour toute chaîne nom de stRdv.sCollaborateurs séparée par ";" +b+=1 +ZoneRépétéeAjoute(TABLE_RDVS[i].COL_Collaborateur.ZR_Collaborateurs) +TABLE_RDVS[i].COL_Collaborateur.ZR_Collaborateurs[b].LIB_Nom = nom +fin +TABLE_RDVS[i].COL_IdRdv = stRdv.Rdv.DateDébut+stRdv.Rdv.DateFin +TABLE_RDVS[i].COL_IdGrope = stRdv.Rdv.Auteur +TABLE_RDVS[i].COL_Supprimer = Faux +si stRdv.Rdv.DateDébut.PartieDate < DateSys() alors +TABLE_RDVS[i].Grisé = Vrai +fin +fin +Procédure locale Verification +procédure Verification() +pour toute ligne i de TABLE_RDVS +DateDebut est une DateHeure +dateFin est une DateHeure +DateDebut..PartieDate = COL_Date[i] +dateFin..PartieDate = COL_DateFin[i] +DateDebut..PartieHeure = COL_HeureDebut[i] +dateFin..PartieHeure = COL_HeureFin[i] +MaDurée est une Durée = dateFin - DateDebut +nNbRdvs est un entier = PartieEntière(MaDurée..EnJours) +si nNbRdvs > 0 alors +Erreur( +"La durée estimée d'un rendez-vous ne doit pas dépasser les 24 heures, veuillez modifier les +dates/heures dans la ligne n° " ++ i) +renvoyer Faux +fin +fin +renvoyer Vrai +06/08/2026 Isis_BO 818 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Image +FEN_Saisie_Temps +Image +FEN_Saisie_Temps +Informations générales +FEN_Saisie_Temps +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Saisie_Temps.wdw +Créé par SMR +Date de création 14/11/2023 11:47:53 +Dernière modification par SMR +Date dernière modification 11/04/2025 16:08:24 +Titre FR: Saisie de temps +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +06/08/2026 Isis_BO 819 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 502 Hauteur | 493 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Non | | | | +| Type cadre | | Double | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| 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 | | | | +D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +Image poignée +| 06/08/2026 | | | Isis_BO | | 820 | +| ---------- | --- | --- | ------- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | | | | 9 | | Libellé | | | | 4 | +| --- | --------------- | --- | --- | --- | --- | --- | --- | ---------------------- | --- | --- | --- | --- | +| | Bouton | | | | | 3 | | Combo | | | | 1 | +| | Disposition | | | | | 1 | | Cellule de disposition | | | | 3 | +Nombre d'éléments dans la fenêtre : 21 +FEN_Saisie_Temps +Informations sur les champs +Fenêtre : FEN_Saisie_Temps +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_AdresseRdv | | 15 240 | 468 61 | 0 | Actif | | Texte | | Non | | | | +| -------------- | --- | ------- | ------ | --- | -------- | --- | ----- | --- | --- | --- | --- | --- | +| SAI_Client | | 14 206 | 468 26 | 0 | affichag | | Texte | | Non | | | | +| SAI_DateDebut | | 288 384 | 194 42 | 0 | Actif | | Date | | Non | | | | +| SAI_HeureDebut | | 15 437 | 102 42 | 0 | Actif | | Heure | | Non | | | | +| SAI_HeureFin | | 175 437 | 99 42 | 0 | Actif | | Heure | | Non | | | | +| SAI_Note | | 15 309 | 467 67 | 0 | Actif | | Texte | | Non | | | | +| SAI_NumDossier | | 15 137 | 468 27 | 0 | affichag | | Texte | | Non | | | | +| SAI_NumInter | | 15 172 | 468 26 | 0 | affichag | | Texte | | Non | | | | +Numéri +| SAI_TempTotal | | 288 437 | 194 42 | 0 | Actif | | | | Non | | | | +| ------------- | --- | ------- | ------ | --- | ----- | --- | --- | --- | --- | --- | --- | --- | +Libellé +tuaféd rap eéminA +| | | | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | --- | +| | | | | | | | | | laitini tatE | | FTR tamroF | | +X noitisoP Y noitisoP +| | | | | ruegraL | | ruetuaH | | | | | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_NomPrenom | | | 61 | 52 | 427 | 23 | 0 | | Actif | Gauche | Centre | | +| -------------------- | --- | --- | ------ | --- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +| LIB_Periodeinter | | | 15 116 | | 467 | 16 | 0 | | Actif | Gauche | Haut | | +| LIB_Rdv | | | 15 | 94 | 468 | 16 | 0 | | Actif | Gauche | Haut | | +| LIB_Titre_de_fenêtre | | | 6 | 6 | 287 | 21 | 0 | | Actif | Gauche | Centre | | +| 06/08/2026 | | | | | | Isis_BO | | | | | | 821 | + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Informations sur les champs +Bouton +notuob epyT +| | | | | | | | laitini tatE BAT ehcuoT | | +| --- | --- | --- | --- | --- | --- | --- | ----------------------- | --- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| BTN_Fermer_fiche | | 4 | 4 24 | 24 | 0 | Actif | | Normal | +| ----------------- | --- | ---- | ---- | --- | --- | ----- | --- | ------ | +| BTN_Initiale | | 5 46 | 56 | 34 | 0 | Actif | | Normal | +| BTN_Valider_Fiche | | 4 | 4 24 | 24 | 0 | Actif | | Normal | +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 | | | +| --------------- | ------ | ------ | ---- | ----- | ------- | ----- | --- | --- | +| COMBO_TypeTemps | 15 384 | 259 42 | 0 | Actif | Mémoire | | Non | | +Disposition +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| DISP_BANDEAU_ENTETE | | -1 | 0 | 502 | 33 | 0 | Actif | | +| ------------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Fenêtre : FEN_Saisie_Temps +Bouton : DISP_BANDEAU_ENTETE.BTN_Fermer_fiche +| Ordre navigation | | -1 | | | | | | | +| -------------------------- | --- | ----------------------------------- | ------- | --- | --- | --- | --- | --- | +| 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 | | | | | | | | | +| 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 | | | | | | | +| 06/08/2026 | | | Isis_BO | | | | | 822 | + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Informations sur les champs +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 : BTN_Initiale +Libellé FR: XVA +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +06/08/2026 Isis_BO 823 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : DISP_BANDEAU_ENTETE.BTN_Valider_Fiche +Groupe GR_CADENAS_RDV +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 824 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : COMBO_TypeTemps +Libellé FR: Type d'activité * +Groupe GR_NewSaisie +Ordre navigation 8 +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 259 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 15 +Largeur interne 259 +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 +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 +06/08/2026 Isis_BO 825 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Informations sur les champs +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. +Avec recherche Non +Nb. Enreg. Max 0 +Rub. affichée :gpclListeTypeRendezVous.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeTypeRendezVous.m_clTabVisible.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : DISP_BANDEAU_ENTETE +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 0 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 826 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Informations sur les champs +Libellé : LIB_NomPrenom +Libellé FR: Nom prénom +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Periodeinter +Libellé FR: Le 02/02/2020 de 14h00 à 16h00 +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 +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 +06/08/2026 Isis_BO 827 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Rdv +Libellé FR: Intervention +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 828 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Informations sur les champs +Libellé : DISP_BANDEAU_ENTETE.LIB_Titre_de_fenêtre +Libellé FR: Saisie des temps par Collaborateur +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_AdresseRdv +Libellé FR: Adresse du site +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +06/08/2026 Isis_BO 829 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Informations sur les champs +Position X interne 145 +Largeur interne 338 +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 +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. +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 +06/08/2026 Isis_BO 830 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Informations sur les champs +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome Couleur monochrome du style +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_Client +Libellé FR: Nom du client +Groupe GR_NewSaisie +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 144 +Largeur interne 338 +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 +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 +06/08/2026 Isis_BO 831 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Informations sur les champs +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Non +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_DateDebut +Libellé FR: Date* +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +06/08/2026 Isis_BO 832 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Informations sur les champs +Cadrage horz. Droite +Position X interne 288 +Largeur interne 194 +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 +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. +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 +06/08/2026 Isis_BO 833 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Informations sur les champs +Bouton droit : Largeur 0 +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_HeureDebut +Libellé FR: Heure de début +Groupe GR_NewSaisie +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 15 +Largeur interne 102 +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 +Format retour HHMM +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 834 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_HeureFin +Libellé FR: Heure de fin +Groupe GR_NewSaisie +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +06/08/2026 Isis_BO 835 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Informations sur les champs +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 175 +Largeur interne 99 +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 +Format retour HHMM +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Gestion Euro Non +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 836 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › 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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_Note +Libellé FR: Note +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 15 +Largeur interne 467 +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 50 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Isis_BO 837 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Informations sur les champs +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 Non +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_NumDossier +Libellé FR: N° Dossier +Groupe GR_NewSaisie +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Non +Bouton Suppression +06/08/2026 Isis_BO 838 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Informations sur les champs +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 145 +Largeur interne 338 +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 +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 Non +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. +Gestion Euro Non +06/08/2026 Isis_BO 839 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_NumInter +Libellé FR: Lié à l'intervention +Groupe GR_NewSaisie +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 145 +Largeur interne 338 +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 +Lien automatique Non +Verifier l'orthographe Non +06/08/2026 Isis_BO 840 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › 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 +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 Non +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 841 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Informations sur les champs +Champ de saisie : SAI_TempTotal +Libellé FR: Temps en heures +Groupe GR_NewSaisie +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 288 +Largeur interne 194 +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: 99,99 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 842 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Saisie_Temps +Messages multilingues +06/08/2026 Isis_BO 843 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FEN_Saisie_Temps +Code +Déclarations globales de FEN_Saisie_Temps + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Code +procédure FEN_Saisie_Temps(gnIdPlanning est un entier sur 8 octets, gnIdSuiviTemps est un entier sur 8 +octets) +gnIdIntervention est un entier sur 8 octets +gnIdTempsInter est un entier sur 8 octets +gnIdTypeRdv est un entier sur 8 octets +gnIdCollaborateur est un entier sur 8 octets +gbModif est un booléen = Faux +gdhDateHeureDb est une DateHeure +gdhDateHeureFin est une DateHeure +InitCombo() +Filtre() +Fermeture de FEN_Saisie_Temps +renvoyer gbModif +FEN_Saisie_Temps +Code des champs +Clic sur BTN_Fermer_fiche +si OuiNon("Si vous fermez, toutes les modifications seront perdues, voulez-vous continuer ?") = Non +alors +retour +fin +gbModif = Faux +Ferme() +Clic sur BTN_Valider_Fiche +si pas COMBO_TypeTemps..ValeurMémorisée > 0 alors +Info("Veuillez sélectionner un type d'activité") +retour +fin +si pas SAI_HeureDebut > 0000 alors +Info("Veuillez sélectionner une heure de début") +retour +fin +si pas SAI_HeureFin > 0000 alors +Info("Veuillez sélectionner une heure de fin") +retour +fin +si pas SAI_DateDebut > 00000000 alors +Info("Veuillez sélectionner une date") +retour +fin +si Enregistrer() alors +gbModif = Vrai +Ferme() +06/08/2026 Isis_BO 844 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Code des champs +fin +Initialisation de LIB_NomPrenom +// Version 1 +// Description +// Libellé simple +Initialisation de SAI_AdresseRdv +// Version 1 +// Description +// Champ de saisie pour un texte multiligne simple, sans mise en forme +A chaque modification de SAI_DateDebut +ChampVersSource() +Sortie de SAI_HeureDebut +CalculAutoDuree() +Sortie de SAI_HeureFin +CalculAutoDuree() +Sortie de SAI_TempTotal +CalculAutoHeure() +FEN_Saisie_Temps +Procédures +Procédure locale CalculAutoDuree +procédure CalculAutoDuree() +dhDateHeureFin_M est une DateHeure= gdhDateHeureFin +dhDateHeureDbt_M est une DateHeure= gdhDateHeureDb +dhDateHeureFin_M..PartieHeure = SAI_HeureFin +dhDateHeureDbt_M..PartieHeure = SAI_HeureDebut +DureRDV est une Durée = (dhDateHeureFin_M - dhDateHeureDbt_M) +SAI_TempTotal = (DureRDV..EnMinutes/60) +Procédure locale CalculAutoHeure +06/08/2026 Isis_BO 845 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Procédures +procédure CalculAutoHeure() +| DureRDV | est une Durée | = (gdhDateHeureFin - gdhDateHeureDb) | | +| --------------------------------------------------- | ------------- | ------------------------------------ | --- | +| nTempsTotal | est un entier | = (DureRDV..EnMinutes) | | +| nDiff | est un entier | = ((SAI_TempTotal*60) - nTempsTotal) | | +| dhDateHeureFin_M est une DateHeure= gdhDateHeureFin | | | | +si nDiff > 0 alors +dhDateHeureFin_M..PartieHeure..Minute += Abs(nDiff) +sinon si nDiff < 0 alors +dhDateHeureFin_M..PartieHeure..Minute -= Abs(nDiff) +fin +SAI_HeureFin = dhDateHeureFin_M..PartieHeure +Procédure locale Enregistrer +procédure Enregistrer() +si gnIdSuiviTemps <= 0 alors +HRAZ(SuiviDesTemps) +SuiviDesTemps.CreationDate = DateHeureSys() +SuiviDesTemps.CreationUser = gpclFicheUtilisateurEnCours:m_nPKID +SuiviDesTemps.GUID = DonneGUID(guidBrut) +sinon +HLitRecherchePremier(SuiviDesTemps,SDT_PKID,gnIdSuiviTemps) +fin +| SuiviDesTemps.SDT_IDCollaborateur | | = gnIdCollaborateur | | +| --------------------------------- | --- | ------------------- | --- | +| SuiviDesTemps.SDT_IDIntervention | | = gnIdIntervention | | +| SuiviDesTemps.SDT_IDRdv | | = gnIdPlanning | | +| SuiviDesTemps.SDT_IDTypeRdv | | = gnIdTypeRdv | | +SuiviDesTemps.SDT_IDTypeTemps = COMBO_TypeTemps..ValeurMémorisée +| SuiviDesTemps.SDT_DateDebut..PartieDate | | = SAI_DateDebut | | +| ------------------------------------------ | --- | ---------------- | --- | +| SuiviDesTemps.SDT_DateDebut..PartieHeure | | = SAI_HeureDebut | | +| SuiviDesTemps.SDT_DateHeureFin..PartieDate | | = SAI_DateDebut | | +SuiviDesTemps.SDT_DateHeureFin..PartieHeure= SAI_HeureFin +si SAI_HeureFin < SAI_HeureDebut alors // traitement pour les heures âpres minuit +SuiviDesTemps.SDT_DateHeureFin..Jour += 1 +fin +duMaDurée est une Durée = (SuiviDesTemps.SDT_DateHeureFin - SuiviDesTemps. +SDT_DateDebut) +| SuiviDesTemps.SDT_NbMinutes | | = duMaDurée..EnMinutes | | +| --------------------------- | --- | ---------------------- | --- | +| SuiviDesTemps.SDT_Libelle | | = SAI_Note | | +| SuiviDesTemps.SDT_Controle | | = Vrai | | +| SuiviDesTemps.ModifDate | | = DateHeureSys() | | +SuiviDesTemps.ModifUser = gpclFicheUtilisateurEnCours:m_nPKID +HLitRecherchePremier(Collaborateur,CO_PKID,gnIdCollaborateur) +si HTrouve(Collaborateur) alors +SuiviDesTemps.SDT_Ponderation = Collaborateur.CO_Ponderation +fin +si gnIdSuiviTemps <=0 alors +si pas HAjoute(SuiviDesTemps) alors +si HErreurIntégrité() alors +Erreur("Erreur d'intégrité", HErreurInfo(hErrComplet)) +renvoyer Faux +fin +sinon +| 06/08/2026 | | Isis_BO | 846 | +| ---------- | --- | ------- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Procédures +gnIdSuiviTemps = SuiviDesTemps.SDT_PKID +fin +sinon +si pas HModifie(SuiviDesTemps) alors +si HErreurIntégrité() alors +Erreur("Erreur d'intégrité", HErreurInfo(hErrComplet)) +renvoyer Faux +fin +fin +fin +renvoyer Vrai +Procédure locale Filtre +procédure Filtre() +si gnIdPlanning <= 0 alors +retour +fin +rTempsTotal est un réel +DureRDV est une Durée +reqRdv est une Requête SQL = +[ +SELECT PL_DateDebut,PL_DateFin,PL_PKID,PL_IDIntervention,PL_IDTypeActivite,IN_RefInterne, +AD_Presentation, DO_RefInterne, +CL_Nom , IN_PKID, PL_IDCollaborateur,PL_IDTypeActivite, CO_Nom, CO_Prenom,CO_Trigramme +FROM Planning_RDV +LEFT OUTER JOIN Intervention ON Intervention.IN_PKID=Planning_RDV.PL_IDIntervention +LEFT OUTER JOIN Dossier ON Dossier.DO_PKID = Intervention.IN_IDDossier +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 Collaborateur ON Collaborateur.CO_PKID = PL_IDCollaborateur +WHERE Planning_RDV.PL_PKID = {P_PKID} +] +reqRdv.P_PKID = gnIdPlanning +si HExécuteRequête(reqRdv) alors +pour tout reqRdv +nIndice est un entier = TableauCherche(gpclListeTypeRendezVous.m_clTabModele,tcLinéaire, +"m_nPKID",reqRdv.PL_IDTypeActivite) +si nIndice<>-1 alors +LIB_Rdv=gpclListeTypeRendezVous.m_clTabModele[nIndice].m_sLibelle +fin +LIB_Periodeinter = "Le "+DateVersChaîne(reqRdv.PL_DateDebut,"JJ/MM/AAAA")+ " de " + +HeureVersChaîne(Droite(reqRdv.PL_DateDebut,9),"HH:mm")+" à "+HeureVersChaîne(Droite(reqRdv. +PL_DateFin,9),"HH:mm") +SAI_NumDossier = reqRdv.DO_RefInterne +SAI_NumInter = reqRdv.IN_RefInterne +SAI_Client = reqRdv.CL_Nom +SAI_AdresseRdv = reqRdv.AD_Presentation +LIB_NomPrenom = reqRdv.CO_Nom + " "+ reqRdv.CO_Prenom +BTN_Initiale..Libellé = reqRdv.CO_Trigramme +si gnIdSuiviTemps <= 0 alors +SAI_DateDebut = reqRdv.PL_DateDebut..PartieDate +06/08/2026 Isis_BO 847 + +Partie 3 › Fenêtre WINDEV › FEN_Saisie_Temps › Procédures +SAI_HeureDebut = reqRdv.PL_DateDebut..PartieHeure +SAI_HeureFin = reqRdv.PL_DateFin..PartieHeure +gdhDateHeureDb = reqRdv.PL_DateDebut +gdhDateHeureFin = reqRdv.PL_DateFin +fin +gnIdIntervention = reqRdv.IN_PKID +gnIdCollaborateur = reqRdv.PL_IDCollaborateur +gnIdTypeRdv = reqRdv.PL_IDTypeActivite +fin +fin +si gnIdSuiviTemps > 0 alors +HLitRecherchePremier(SuiviDesTemps,SDT_PKID,gnIdSuiviTemps) +si HTrouve(SuiviDesTemps) alors +SAI_DateDebut = SuiviDesTemps.SDT_DateDebut..PartieDate +SAI_HeureDebut = SuiviDesTemps.SDT_DateDebut..PartieHeure +SAI_HeureFin = SuiviDesTemps.SDT_DateHeureFin..PartieHeure +COMBO_TypeTemps = SuiviDesTemps.SDT_IDTypeTemps +SAI_Note = SuiviDesTemps.SDT_Libelle +gdhDateHeureDb = SuiviDesTemps.SDT_DateDebut +gdhDateHeureFin = SuiviDesTemps.SDT_DateHeureFin +fin +sinon si gnIdTempsInter > 0 alors +COMBO_TypeTemps = gnIdTempsInter +fin +DureRDV = (gdhDateHeureFin - gdhDateHeureDb) +rTempsTotal = (DureRDV..EnMinutes/60) +si rTempsTotal > 0.00 alors +SAI_TempTotal = rTempsTotal +fin +Procédure locale InitCombo +procédure InitCombo() +ListeSupprimeTout(COMBO_TypeTemps) +si gpclListeTypeTemps.m_clTabModele..Occurrence > 0 alors +pour tout pclParam de gpclListeTypeTemps.m_clTabModele +si pclParam.m_sValeur <> "0" et pclParam.m_sValeur <> "1" et pclParam.m_sValeur <> "99" alors +ListeAjoute(COMBO_TypeTemps,pclParam.m_sLibelle+gLien(pclParam.m_nPKID)) +si pclParam.m_sValeur = "2" alors +gnIdTempsInter = pclParam.m_nPKID +fin +fin +fin +sinon +pour tout ParametreMetier avec PA_Code=cPM_18_TempsType +si ParametreMetier.PA_Valeur <> "0" et ParametreMetier.PA_Valeur <> "1" et ParametreMetier. +PA_Valeur <> "99" alors +ListeAjoute(COMBO_TypeTemps,ParametreMetier.PA_Valeur+gLien(ParametreMetier.PA_PKID)) +si ParametreMetier.PA_Valeur = "2" alors +gnIdTempsInter = ParametreMetier.PA_PKID +fin +fin +fin +fin +06/08/2026 Isis_BO 848 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Activite › Image +FEN_Fiche_Parametre_Type_Activite +Image +FEN_Fiche_Parametre_Type_Activite +Informations générales +FEN_Fiche_Parametre_Type_Activite +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Fiche_Parametre_Type_Activite.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | --------------------------------- | --------- | --------------- | --- | +| Date de création | | 27/11/2023 12:07:32 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 22/04/2025 08:55:07 | | | | +| Titre | | FR: Fiche Paramètre Type Activité | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 572 Hauteur | 414 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| 06/08/2026 | | | Isis_BO | | 849 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Activite › Informations générales +| 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 | | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Non | | | | +| Type cadre | Double | | | | +| Transparence Vista | Non | | | | +| Transparence gérée par Vista | Non | | | | +| Appliquer le thème du projet | | | | | +| Grisé : Utiliser couleur perso. | Non | | | | +| Grisé : Algo pour images | | | | | +| 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. | | | | | +| 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 | | | | +| ---------------------- | --- | --- | --- | --- | +Image poignée D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\190 GENSTEEL\Gensteel_Resize.gif +| 06/08/2026 | | Isis_BO | | 850 | +| ---------- | --- | ------- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Activite › Informations générales +Statistiques de la fenêtre +| | Libellé | | | 7 | Bouton | | | | 2 | +| --- | ---------------------- | --- | --- | --- | ---------------------- | --- | --- | --- | --- | +| | Image | | | 1 | Forme | | | | 6 | +| | Disposition | | | 1 | Cellule de disposition | | | | 4 | +| | Interrupteur à bascule | | | 4 | Option d'interrupteur | | | | 8 | +Nombre d'éléments dans la fenêtre : 33 +FEN_Fiche_Parametre_Type_Activite +Informations sur les champs +Fenêtre : FEN_Fiche_Parametre_Type_Activite +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | --- | +| | | | | | | laitini tatE | | FTR tamroF | | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Couleur | | 19 335 | 339 | 25 | 0 | Actif | Gauche | Centre | | +| ---------------- | --- | ------ | --- | --- | --- | ----- | ------ | ------ | --- | +| LIB_Devis | | 19 213 | 433 | 25 | 0 | Actif | Gauche | Centre | | +| LIB_EnvoiMobile | | 19 87 | 334 | 25 | 0 | Actif | Gauche | Centre | | +| LIB_LibelleParam | | 14 41 | 550 | 27 | 0 | Actif | Gauche | Haut | | +| LIB_Temps | | 19 150 | 334 | 25 | 0 | Actif | Gauche | Centre | | +| LIB_Titre | | 6 6 | 439 | 20 | 0 | Actif | Gauche | Centre | | +| LIB_Validation | | 19 276 | 433 | 25 | 0 | Actif | Gauche | Centre | | +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Fermer | | 4 | 4 | 24 | 24 | 0 | Actif | Normal | | +| ----------- | --- | --- | --- | ------- | --- | --- | ----- | ------ | --- | +| BTN_Valider | | 4 | 4 | 24 | 24 | 0 | Actif | Normal | | +| 06/08/2026 | | | | Isis_BO | | | | | 851 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Activite › 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_Couleur | 470 332 | 33 32 | 0 | Actif | | | +| ----------- | ------- | ----- | --- | ----- | --- | --- | +Forme +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_Couleur | 461 | 322 50 | 50 | 0 | Actif | | +| ------------------ | --- | ------- | --- | --- | ----- | --- | +| FRM_EnvoiMob | 14 | 75 550 | 48 | 0 | Actif | | +| FRM_ValidationRDV | 14 | 264 550 | 48 | 0 | Actif | | +| FRM_ValidationRDV1 | 14 | 318 550 | 60 | 0 | Actif | | +| FRM_devis | 14 | 201 550 | 48 | 0 | Actif | | +| FRM_temps | 14 | 138 550 | 48 | 0 | Actif | | +Disposition +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| D_TETE_LISTE | -2 | 0 573 | 32 | 0 | Actif | | +| ------------ | --- | ----- | --- | --- | ----- | --- | +Interrupteur à bascule +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| INT_Devis | 462 | 205 99 | 32 | 0 | Actif | | +| ----------------- | --- | ------ | --- | --- | ----- | --- | +| INT_EnvoiMobile | 462 | 79 99 | 32 | 0 | Actif | | +| INT_SaisieTamps | 462 | 142 99 | 32 | 0 | Actif | | +| INT_ValidationRDV | 462 | 268 99 | 32 | 0 | Actif | | +Fenêtre : FEN_Fiche_Parametre_Type_Activite +| 06/08/2026 | | Isis_BO | | | | 852 | +| ---------- | --- | ------- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Activite › Informations sur les champs +Bouton : D_TETE_LISTE.BTN_Fermer +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 853 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Activite › Informations sur les champs +Bouton : D_TETE_LISTE.BTN_Valider +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 854 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Activite › Informations sur les champs +Disposition : D_TETE_LISTE +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FRM_Couleur +Groupe GR_Couleur +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Epaisseur 1 +AntiAliasing Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 855 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Activite › Informations sur les champs +Forme : FRM_EnvoiMob +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FRM_ValidationRDV +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 856 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Activite › Informations sur les champs +Forme : FRM_ValidationRDV1 +Groupe GR_Couleur +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FRM_devis +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 857 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Activite › Informations sur les champs +Forme : FRM_temps +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Couleur +Groupe GR_Couleur +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +06/08/2026 Isis_BO 858 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Activite › Informations sur les champs +Ancrage +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur à bascule : INT_Devis +Valeur initiale 0 +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +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 d'affichage Externe - 1 libellé à droite +Cadrage libellés externes Collés au bord du champ +Cadrage des options (internes) Centrés +Largeur curseur 50% Non +Liaison des données :gParamTypeAct.present_devis +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur à bascule : INT_EnvoiMobile +Valeur initiale 0 +Ordre navigation 2 +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +06/08/2026 Isis_BO 859 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Activite › Informations sur les champs +Opacité 100 +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 d'affichage Externe - 1 libellé à droite +Cadrage libellés externes Collés au bord du champ +Cadrage des options (internes) Centrés +Largeur curseur 50% Non +Liaison des données :gParamTypeAct.Envoi_mobile +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur à bascule : INT_SaisieTamps +Valeur initiale 0 +Ordre navigation 3 +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +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 d'affichage Externe - 1 libellé à droite +Cadrage libellés externes Collés au bord du champ +Cadrage des options (internes) Centrés +Largeur curseur 50% Non +Liaison des données :gParamTypeAct.saisir_temps_obligatoire +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 860 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Activite › Informations sur les champs +Interrupteur à bascule : INT_ValidationRDV +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +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 d'affichage Externe - 1 libellé à droite +Cadrage libellés externes Collés au bord du champ +Cadrage des options (internes) Centrés +Largeur curseur 50% Non +Liaison des données :gParamTypeAct.valider_rdv +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Couleur +Libellé FR: Couleur associé au rendez-vous dans le Planning/Agenda +Groupe GR_Couleur +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 +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 +06/08/2026 Isis_BO 861 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Activite › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Devis +Libellé FR: Le temps du rendez-vous est-il prise en compte dans le devis ? +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 862 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Activite › Informations sur les champs +Libellé : LIB_EnvoiMobile +Libellé FR: Envoyer le rendez-vous vers l'application 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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_LibelleParam +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 +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 +06/08/2026 Isis_BO 863 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Activite › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Temps +Libellé FR: Saisie de temps obligatoire +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 864 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Activite › Informations sur les champs +Libellé : D_TETE_LISTE.LIB_Titre +Libellé FR: Paramétrage spécifique selon type de rendez-vous +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Validation +Libellé FR: La validation du rendez-vous est-elle obligatoire ? +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 +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 +06/08/2026 Isis_BO 865 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Activite › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Fiche_Parametre_Type_Activite +Messages multilingues +06/08/2026 Isis_BO 866 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FEN_Fiche_Parametre_Type_Activite +Code +Déclarations globales de FEN_Fiche_Parametre_Type_Activite +procédure FEN_Fiche_Parametre_Type_Activite(gnIdParametre est un entier sur 8 octets) +gParamTypeAct est un ST_TypeActiviteRDV +si gnIdParametre > 0 alors +HLitRecherchePremier(ParametreMetier,PA_PKID,gnIdParametre) +si HTrouve(ParametreMetier) alors +LIB_LibelleParam = ParametreMetier.PA_Libelle +si ParametreMetier.PA_Parametre <> "" alors +Désérialise(gParamTypeAct,ParametreMetier.PA_Parametre,psdJSON) +fin +sinon + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Activite › Code +Erreur("Enregistrement non trouvé") +Ferme() +fin +sinon +Ferme() +fin +SourceVersEcran() +CouleurParam() +FEN_Fiche_Parametre_Type_Activite +Code des champs +Clic sur BTN_Fermer +Ferme() +Clic sur BTN_Valider +EcranVersSource() +bufResulBuf est un Buffer +Sérialise(gParamTypeAct,bufResulBuf,psdJSON) +si gnIdParametre > 0 alors +HLitRecherchePremier(ParametreMetier,PA_PKID,gnIdParametre) +si HTrouve(ParametreMetier) alors +ParametreMetier.PA_Parametre = bufResulBuf +si pas HModifie(ParametreMetier) alors +si HErreurIntégrité() alors +Erreur("Erreur d'intégrité", HErreurInfo(hErrComplet)) +renvoyer Faux +fin +fin +fin +sinon +Ferme() +fin +Ferme() +Clic sur IMG_Couleur +//scouleur est une chaîne ANSI = Ouvre(FEN_Choix_Couleur_Param,gParamTypeAct.sCouleur) +// +//SI scouleur<> "" ALORS +// gParamTypeAct.sCouleur = scouleur +// CouleurParam() +//FIN +scouleur est une chaîne ANSI = Ouvre(FEN_Choix_Couleur, gParamTypeAct.sCouleur) +si scouleur <> "" alors +gParamTypeAct.sCouleur = scouleur +CouleurParam() +fin +Initialisation de INT_Devis +06/08/2026 Isis_BO 867 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Activite › Code des champs +// Version 1 +// Description +// Interrupteur à bascule 1 libellé externe à droite +A chaque modification de INT_Devis +si pas INT_SaisieTamps et INT_Devis alors +Erreur("La saisie de temps doit être obligatoire ") +INT_Devis = 0 +retour +fin +Initialisation de INT_EnvoiMobile +// Version 1 +// Description +// Interrupteur à bascule 1 libellé externe à droite +Initialisation de INT_SaisieTamps +// Version 1 +// Description +// Interrupteur à bascule 1 libellé externe à droite +A chaque modification de INT_SaisieTamps +si INT_Devis et pas INT_SaisieTamps alors +Info( +"Le temps du rendez-vous ne seras pas prise en compte dans le devis, car la saisie de temps est +obligatoire " +) +INT_Devis = 0 +fin +Initialisation de INT_ValidationRDV +// Version 1 +// Description +// Interrupteur à bascule 1 libellé externe à droite +Initialisation de LIB_Couleur +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_Devis +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_EnvoiMobile +06/08/2026 Isis_BO 868 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Activite › Code des champs +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_LibelleParam +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_Temps +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_Validation +// Version 1 +// Description +// Libellé simple +FEN_Fiche_Parametre_Type_Activite +Procédures +Procédure locale CouleurParam +procédure CouleurParam() +//FRM_Couleur..CouleurFond = CouleurHTMLVersRVB(gParamTypeAct.sCouleur) +FRM_Couleur..CouleurFond = gParamTypeAct.sCouleur +//IMG_Couleur = {"FEN_Menu.IMG_Cercle_"+gParamTypeAct.sCouleur} +IMG_Couleur = {"FEN_Menu.IMG_Cercle_"} +//SI PAS DonneDroitParamAppli(cParam_CouleurRDV) ALORS +// GR_Couleur..Visible = faux +//FIN +06/08/2026 Isis_BO 869 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Image +FEN_Fiche_Parametre_Type_temps +Image +FEN_Fiche_Parametre_Type_temps +Informations générales +FEN_Fiche_Parametre_Type_temps +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Fiche_Parametre_Type_temps.wdw +Créé par SMR +Date de création 27/11/2023 16:57:31 +06/08/2026 Isis_BO 870 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations générales +| Dernière modification par | | SMR | | | | +| -------------------------- | ------------ | ---------------------------------------------- | --------- | --------------- | --- | +| Date dernière modification | | 11/04/2025 16:08:24 | | | | +| Titre | | FR: Paramétrage spécifique selon type de temps | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 689 Hauteur | 673 | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| 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 | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| Anim. Fermeture | | 0 | | | | +| Durée Anim. Ouverture | | 100 | | | | +| 06/08/2026 | | | Isis_BO | | 871 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations générales +| Durée Anim. Fermeture | | 50 | | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | --- | +| Adapte Taille contenu | | Non | | | | | | +| Assombri quand inactif | | Oui | | | | | | +| Déplace souris sur bouton par | | Non | | | | | | +| Compact. barres outils | | Non | | | | | | +Image poignée D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\190 GENSTEEL\Gensteel_Resize.gif +Statistiques de la fenêtre +| | Champ de saisie | | | 3 | Libellé | | 10 | +| --- | ---------------------- | --- | --- | --- | ---------------------- | --- | --- | +| | Bouton | | | 4 | Image | | 1 | +| | Table | | | 2 | Combo | | 2 | +| | Forme | | | 6 | Superchamp | | 1 | +| | Colonne de table | | | 4 | Disposition | | 1 | +| | Cellule de disposition | | | 4 | Interrupteur à bascule | | 1 | +| | Option d'interrupteur | | | 2 | | | | +Nombre d'éléments dans la fenêtre : 41 +FEN_Fiche_Parametre_Type_temps +Informations sur les champs +Fenêtre : FEN_Fiche_Parametre_Type_temps +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 | FTR tamroF | | | +| | X noitisoP Y noitisoP | | | | engilitluM | | | +ruegraL ruetuaH +elbisiV +nalP +| SAI_Durée | 523 92 | 72 22 | 0 | Actif Numéri | | Non | | +| --------- | ------ | ----- | --- | ------------ | --- | --- | --- | +Numéri +| SAI_Max | 523 214 | 129 22 | 0 | Actif | | Non | | +| ---------- | ------- | ------ | --- | ------------ | --- | --- | --- | +| SAI_Min | 343 214 | 133 22 | 0 | Actif Numéri | | Non | | +| 06/08/2026 | | | | Isis_BO | | | 872 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › 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_Couleur | | 19 607 | 339 | 25 | 0 | Actif | Gauche | Centre | | +| --------------------- | --- | ------ | --- | --- | --- | ----- | ------ | ------ | --- | +| LIB_Devis | | 21 274 | 433 | 25 | 0 | Actif | Gauche | Centre | | +| LIB_Duree | | 21 215 | 319 | 25 | 0 | Actif | Gauche | Centre | | +| LIB_HeureSaisi | | 21 152 | 316 | 25 | 0 | Actif | Gauche | Centre | | +| LIB_LibelleParam | | 16 41 | 648 | 27 | 0 | Actif | Gauche | Haut | | +| LIB_Minutes | | 598 89 | 51 | 25 | 0 | Actif | Gauche | Centre | | +| LIB_SaisieObligatoire | | 21 89 | 482 | 25 | 0 | Actif | Gauche | Centre | | +| LIB_Titre | | 6 6 | 549 | 20 | 0 | Actif | Gauche | Centre | | +Bouton +| | | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | | X noitisoP | Y noitisoP | | | | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Fermer | | 4 | 4 | 24 | 24 | 0 | Actif | | Normal | +| ----------- | --- | --- | --- | --- | --- | --- | ----- | --- | ------ | +| BTN_Valider | | 4 | 4 | 24 | 24 | 0 | Actif | | Normal | +Image +| | | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------------------- | ----------------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| | | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Couleur | | 556 | 599 | 40 | 40 | 0 | Actif | | | +| ----------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +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 +| COMBO_HeureDebut | 343 | 152 133 | 25 | 0 Actif | | Mémoire | | Non | | +| ---------------- | --- | ------- | --- | ------- | --- | ------- | --- | --- | --- | +| COMBO_HeureFin | 519 | 151 133 | 25 | 0 Actif | | Mémoire | | Non | | +| 06/08/2026 | | | | Isis_BO | | | | | 873 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Forme +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_Couleur | | 551 | 595 50 | 50 | 0 | Actif | | +| ------------------ | --- | --- | ------- | --- | --- | ----- | --- | +| FRM_Dure | | 16 | 203 648 | 48 | 0 | Actif | | +| FRM_Heures | | 16 | 140 648 | 48 | 0 | Actif | | +| FRM_Obligatoire | | 16 | 77 648 | 48 | 0 | Actif | | +| FRM_ValidationRDV1 | | 14 | 590 648 | 60 | 0 | Actif | | +| FRM_devis | | 16 | 262 648 | 48 | 0 | Actif | | +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_SansNom1 | | 14 | 321 650 | 258 | 0 | Actif | | +| ----------- | --- | --- | ------- | --- | --- | ----- | --- | +Disposition +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| D_TETE_LISTE | | 0 | 0 687 | 32 | 0 | Actif | | +| ------------ | --- | --- | ----- | --- | --- | ----- | --- | +Interrupteur à bascule +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| INT_Devis | | 553 | 267 99 | 32 | 0 | Actif | | +| --------- | --- | --- | ------ | --- | --- | ----- | --- | +Superchamp : SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | --- | +| | | | | laitini tatE | | FTR tamroF | | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_LibelléListe | 381 | 361 171 | 16 0 | Actif | Gauche | Haut | | +| ---------------- | --- | ------- | ------- | ----- | ------ | ------ | --- | +| LIB_TypeAct_1 | 26 | 330 539 | 25 0 | Actif | Gauche | Centre | | +| 06/08/2026 | | | Isis_BO | | | | 874 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Bouton +notuob epyT +| | | | | | | | | laitini tatE | BAT ehcuoT | | | +| --- | --- | ---------- | ---------- | --- | --------------- | --- | --- | ------------ | ---------- | --- | --- | +| | | X noitisoP | Y noitisoP | | | | | | | | | +| | | | | | ruegraL ruetuaH | | | | | | | +elbisiV +nalP +| BTN_AFFECTATION_SIMPLE | | 335 | | 441 | 24 | 24 | 0 | Actif | | Normal | | +| ------------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | ------ | --- | +| BTN_DESAFFECTATION_SIMPLE | | 335 | | 471 | 24 | 24 | 0 | Actif | | Normal | | +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +lennoitroporp .csA +.loc .gifnoc .oméM +| | | | | | | | )(ertliFH resilitU | | ruesnecsa elluB EERTNE noitseG | eércna ennoloC | | +| --- | --- | --- | --- | --- | --- | --- | ----------------------------- | --- | ------------------------------ | -------------- | -------------- | +| | | | | | | | .gerne egacolB noitcelésitluM | | edacsac eisiaS | | 5.5 elbitapmoC | +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | | | | +| --- | --------------------- | ------- | --- | --- | ------------ | -------- | --- | --- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | | | +ruegraL +| | | | | elbisiV | elbaT | | | | | | | +| --- | --- | --- | --- | ------- | ----- | --- | --- | --- | --- | --- | --- | +nalP +| TABLE_TypeRDV_1 | 26 361 | 296 211 | 0 | affichag | Mémoir | | | | | | 1 | +| --------------- | ------- | ------- | --- | -------- | ------ | --- | --- | --- | --- | --- | --- | +| TABLE_TypeRDV_2 | 381 383 | 269 189 | 0 | affichag | Mémoir | | | | | | 1 | +Table : SC_SansNom1.TABLE_TypeRDV_1 +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +ehcuag à eéxiF +| | | | | | | | .zroh egardaC .trev egardaC | | | | | +| --- | --- | --- | ------------ | --- | ---------- | --- | --------------------------- | ----------- | ---------- | --- | ----------- | +| | | | | | elbaçalpéD | | | | FTR tamroF | | | +| | | | laitini tatE | | | | | eisias epyT | engilitluM | | eisias cevA | +ruegraL +elbisiV +| | epyT | | | | | | | | | eéirT | | +| ----------- | ---- | --- | -------- | --- | --- | ------ | ------ | ----- | --- | ----- | --- | +| COL_Code | | 220 | Grisé | | | Gauche | Centre | Texte | | | | +| COL_Libelle | | 284 | affichag | | | Gauche | Centre | Texte | | | | +Table : SC_SansNom1.TABLE_TypeRDV_2 +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +| | | | | ehcuag à eéxiF | | | .zroh egardaC .trev egardaC | | | | | +| --- | --- | --- | ------------ | -------------- | ---------- | --- | --------------------------- | ----------- | ---------- | --- | ----------- | +| | | | | | elbaçalpéD | | | eisias epyT | FTR tamroF | | eisias cevA | +| | | | laitini tatE | | | | | | engilitluM | | | +ruegraL +elbisiV +eéirT +epyT +| COL_Code | | 220 | Grisé | | | Gauche | Centre | Texte | | | | +| ----------- | --- | --- | -------- | --- | ------- | ------ | ------ | ----- | --- | --- | --- | +| COL_Libelle | | 284 | affichag | | | Gauche | Centre | Texte | | | | +| 06/08/2026 | | | | | Isis_BO | | | | | | 875 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Fenêtre : FEN_Fiche_Parametre_Type_temps +Bouton : D_TETE_LISTE.BTN_Fermer +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 876 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Bouton : D_TETE_LISTE.BTN_Valider +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 877 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Combo : COMBO_HeureDebut +Libellé FR: De : +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Droite +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 95 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 381 +Largeur interne 95 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Heure +Masque saisie FR: HH:MM +Format retour HHMMSS +Mode ellipse +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 Oui +Fin saisie automatique Non +Vide si zéro Oui +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +06/08/2026 Isis_BO 878 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Liaison des données :gParamTypeTemps.heure_debut +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : COMBO_HeureFin +Libellé FR: à : +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Droite +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 95 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 557 +Largeur interne 95 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Heure +Masque saisie FR: HH:MM +Format retour HHMMSS +Mode ellipse +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Isis_BO 879 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Oui +Fin saisie automatique Non +Vide si zéro Oui +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. +Avec recherche Non +Liaison des données :gParamTypeTemps.heure_fin +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : D_TETE_LISTE +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +06/08/2026 Isis_BO 880 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FRM_Couleur +Groupe GR_Couleur +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Epaisseur 1 +AntiAliasing Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FRM_Dure +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 881 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Forme : FRM_Heures +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FRM_Obligatoire +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 882 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Forme : FRM_ValidationRDV1 +Groupe GR_Couleur +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FRM_devis +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 883 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Image : IMG_Couleur +Groupe GR_Couleur +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur à bascule : INT_Devis +Valeur initiale 0 +Ordre navigation 7 +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 884 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › 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 +Texte Markdown Non +Mode d'affichage Externe - 1 libellé à droite +Cadrage libellés externes Collés au bord du champ +Cadrage des options (internes) Centrés +Largeur curseur 50% Non +Liaison des données :gParamTypeTemps.devis +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Couleur +Libellé FR: Couleur associé au type de temps +Groupe GR_Couleur +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 885 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Libellé : LIB_Devis +Libellé FR: Le temps du rendez-vous est-il prise en compte dans le devis ? +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Duree +Libellé FR: Durée en minutes autorisée par rendez-vous +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 +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 +06/08/2026 Isis_BO 886 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_HeureSaisi +Libellé FR: Heures autorisées de saisie +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 887 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Libellé : LIB_LibelleParam +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Minutes +Libellé FR: Minutes +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 +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 +06/08/2026 Isis_BO 888 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_SaisieObligatoire +Libellé FR: Saisie obligatoire dans l'application mobile dès que le rendez-vous dépasse de : +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 889 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Libellé : D_TETE_LISTE.LIB_Titre +Libellé FR: Paramétrage spécifique selon type de temps +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_Durée +Libellé FR: Durée +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +06/08/2026 Isis_BO 890 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Position X interne 523 +Largeur interne 67 +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: 9 999 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gParamTypeTemps.obligatoire +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 +06/08/2026 Isis_BO 891 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_Max +Libellé FR: Maximum +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 590 +Largeur interne 62 +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: 9 999 999 999 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 892 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +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. +Liaison des données :gParamTypeTemps.temps_max +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_Min +Libellé FR: Minimum +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Isis_BO 893 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 417 +Largeur interne 59 +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: 9 999 999 999 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gParamTypeTemps.temps_min +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 894 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_SansNom1 +Ordre navigation 8 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Largeur externe 648 +Hauteur externe 256 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 895 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Superchamp : SC_SansNom1 +Bouton : SC_SansNom1.BTN_AFFECTATION_SIMPLE +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_A_Gauche.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 896 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Bouton : SC_SansNom1.BTN_DESAFFECTATION_SIMPLE +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_A_Droite.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 897 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Libellé : SC_SansNom1.LIB_LibelléListe +Libellé FR: Type d'activité disponible +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : SC_SansNom1.LIB_TypeAct_1 +Libellé FR: Les collaborateurs pourront saisir le temps dans les types de rendez-vous suivants : +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 +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 +06/08/2026 Isis_BO 898 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : SC_SansNom1.TABLE_TypeRDV_1 +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre +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 +06/08/2026 Isis_BO 899 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +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. +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 +Table : SC_SansNom1.TABLE_TypeRDV_2 +Libellé FR: Table +Ordre navigation 2 +Curseur survol 0 +Mode Loupe Filtre +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 +06/08/2026 Isis_BO 900 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +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 +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +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 et droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 901 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Table : SC_SansNom1.TABLE_TypeRDV_1 +Colonne de table : SC_SansNom1.TABLE_TypeRDV_1.COL_Code (1) +Titre FR: Code +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_SansNom1.TABLE_TypeRDV_1.COL_Libelle (2) +Titre FR: Type d’activité +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 +06/08/2026 Isis_BO 902 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Table : SC_SansNom1.TABLE_TypeRDV_2 +Colonne de table : SC_SansNom1.TABLE_TypeRDV_2.COL_Code (1) +Titre FR: Code +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 903 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Informations sur les champs +Colonne de table : SC_SansNom1.TABLE_TypeRDV_2.COL_Libelle (2) +Titre FR: Type d’activité +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FEN_Fiche_Parametre_Type_temps +Code +Déclarations globales de FEN_Fiche_Parametre_Type_temps +procédure FEN_Fiche_Parametre_Type_temps(gnIdParametre est un entier sur 8 octets) +gParamTypeTemps est un ST_TypeTempsrdv +si gnIdParametre > 0 alors +HLitRecherchePremier(ParametreMetier,PA_PKID,gnIdParametre) +si HTrouve(ParametreMetier) alors +LIB_LibelleParam = ParametreMetier.PA_Libelle +si ParametreMetier.PA_Parametre <> "" alors +Désérialise(gParamTypeTemps,ParametreMetier.PA_Parametre,psdJSON) +fin +FiltreListeActivite() +sinon +06/08/2026 Isis_BO 904 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Code +Erreur("Enregistrement non trouvé") +Ferme() +fin +sinon +Ferme() +fin +CouleurParam() +Fin d'initialisation de FEN_Fiche_Parametre_Type_temps +SourceVersEcran() +FEN_Fiche_Parametre_Type_temps +Code des champs +Initialisation de COMBO_HeureDebut +// Version 1 +// Description +// Saisie de plage horaire avec sélecteur +// Fonctionnement : +// Saisir (ou sélectionner) le début de la plage horaire dans la première combo (COMBO_HeureDébut), +// et saisie (ou sélectionner) la fin de la plage horaire dans la seconde combo (COMBO_HeureFin). +// La combo COMBO_HeureFin propose l'horaire de fin à partir de l'horaire de début sélectionnée et +indique la durée totale de la plage horaire. +// La saisie libre est possible (12h15 à 12h37 par exemple). +// Adaptation : +// Il est possible de supprimer la durée dans la combo COMBO_HeureFin en supprimant le commentaire de +l'événement "Sélection d'une ligne". +MoiMême = HeureSys() +//Réglage du pas en minutes +MoiMême..Note = 15 +hDepart est une Heure +hDepart..Heure = 0 +hDepart..Minute = 0 +hDepart..seconde = 0 +hDepart..milliseconde = 0 +hFinal est un Heure = hDepart +hFinal..Heure = 23 +hFinal..Minute = 60 - Val(MoiMême..Note) +hCourante est une Heure =hDepart +ListeSupprimeTout(MoiMême) +tantque hCourante < hFinal +06/08/2026 Isis_BO 905 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Code des champs +d est une Durée = hCourante - hDepart +ListeAjoute(MoiMême,hCourante) +hCourante..Minute += MoiMême..Note +fin +ListeAjoute(MoiMême,hFinal) +Entrée dans COMBO_HeureDebut +ComboOuvre(MoiMême) +Sélection d'une ligne de COMBO_HeureDebut +ExécuteTraitement(MoiMême,trtModification) +A chaque modification de COMBO_HeureDebut +//alimente la combo suivante +MoiMême..Note = Max(1,Min(MoiMême..Note,59)) +hDepart est une Heure = MoiMême +hCourante est une Heure =hDepart +si hCourante..minute < MoiMême..Note alors +hCourante..Minute = MoiMême..Note +sinon +hCourante..Minute = 0 +hCourante..heure++ +fin +ListeSupprimeTout(COMBO_HeureFin) +COMBO_HeureFin=MoiMême +ListeAjoute(COMBO_HeureFin,MoiMême) +hFinal est un Heure = hDepart +hFinal..Heure = 23 +hFinal..minute = (60 - Val(MoiMême..Note)) +d est une Durée = hCourante - hDepart +tantque hCourante < hFinal +d = hCourante - hDepart +ListeAjoute(COMBO_HeureFin,hCourante) +hCourante..minute += MoiMême..Note +fin +d = hFinal - hDepart +ListeAjoute(COMBO_HeureFin,hFinal) +ExécuteTraitement(COMBO_HeureFin,trtModification) +Initialisation de COMBO_HeureFin +// Version 1 +// Description +// Saisie de plage horaire avec sélecteur +// Fonctionnement : +// Saisir (ou sélectionner) le début de la plage horaire dans la première combo (COMBO_HeureDébut), +// et saisie (ou sélectionner) la fin de la plage horaire dans la seconde combo (COMBO_HeureFin). +// La combo COMBO_HeureFin propose l'horaire de fin à partir de l'horaire de début sélectionnée et +indique la durée totale de la plage horaire dans sa bulle. +// La saisie libre est possible (12h15 à 12h37 par exemple). +// Adaptation : +// Il est possible de supprimer la durée dans la combo COMBO_HeureFin en supprimant le commentaire de +l'événement "Sélection d'une ligne". +06/08/2026 Isis_BO 906 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Code des champs +MoiMême = HeureSys() +// Heure de fin par défaut au prochain pas +si COMBO_HeureDebut..Occurrence>1 alors +MoiMême = COMBO_HeureDebut[2]..ValeurAffichée +fin +Entrée dans COMBO_HeureFin +ComboOuvre(MoiMême) +Sélection d'une ligne de COMBO_HeureFin +ExécuteTraitement(MoiMême,trtModification) +A chaque modification de COMBO_HeureFin +// Met à jour la durée dans la bulle si l'heure est valide +si pas HeureValide(MoiMême) _ou_ pas HeureValide(COMBO_HeureDebut) retour +hDebut est une Heure = COMBO_HeureDebut +hFin est une Heure = COMBO_HeureFin +d est une Durée = hFin - hDebut +MoiMême..Bulle = d=0 ? "" sinon ChaîneConstruit("Durée : %1h%2",d..heure,d..minute=0? "" sinon d.. +Minute) +Clic sur BTN_Fermer +Ferme() +Clic sur BTN_Valider +EcranVersSource() +EnregistrerTypeAct() +bufResulBuf est un Buffer +Sérialise(gParamTypeTemps,bufResulBuf,psdJSON) +si gnIdParametre > 0 alors +HLitRecherchePremier(ParametreMetier,PA_PKID,gnIdParametre) +si HTrouve(ParametreMetier) alors +ParametreMetier.PA_Parametre = bufResulBuf +si pas HModifie(ParametreMetier) alors +si HErreurIntégrité() alors +Erreur("Erreur d'intégrité", HErreurInfo(hErrComplet)) +renvoyer Faux +fin +fin +fin +sinon +Ferme() +fin +Ferme() +Clic sur IMG_Couleur +scouleur est une chaîne ANSI = Ouvre(FEN_Choix_Couleur_Param,gParamTypeTemps.sCouleur) +si scouleur<> "" alors +06/08/2026 Isis_BO 907 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Code des champs +gParamTypeTemps.sCouleur = scouleur +CouleurParam() +fin +Initialisation de INT_Devis +// Version 1 +// Description +// Interrupteur à bascule 1 libellé externe à droite +Initialisation de LIB_Couleur +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_Devis +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_Duree +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_HeureSaisi +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_LibelleParam +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_Minutes +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_SaisieObligatoire +// Version 1 +// Description +// Libellé simple +Initialisation de SAI_Durée +06/08/2026 Isis_BO 908 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Code des champs +// Version 2 +// Description +// Saisie d'une durée au format J j H h M m S s +// En entrée de champ, une popup s'ouvre permettant la saisie des valeurs +Initialisation de SAI_Max +// Version 1 +// Description +// Champ de saisie pour un texte simple sur une ligne +Initialisation de SAI_Min +// Version 1 +// Description +// Champ de saisie pour un texte simple sur une ligne +Clic sur BTN_AFFECTATION_SIMPLE ( SC_SansNom1 ) +si TABLE_TypeRDV_2 > 0 alors +TableAjouteLigne(TABLE_TypeRDV_1,TABLE_TypeRDV_2[TABLE_TypeRDV_2 ].COL_Code, TABLE_TypeRDV_2[TABLE_ +TypeRDV_2 ].COL_Libelle) +TableSupprimeSelect(TABLE_TypeRDV_2) +sinon +Info("Veuillez sélectionner un élément de la liste "+"Type d'activité disponible") +retour +fin +Clic sur BTN_DESAFFECTATION_SIMPLE ( SC_SansNom1 ) +si TABLE_TypeRDV_1 > 0 alors +TableAjouteLigne(TABLE_TypeRDV_2,TABLE_TypeRDV_1[TABLE_TypeRDV_1 ].COL_Code, TABLE_TypeRDV_1[TABLE_ +TypeRDV_1 ].COL_Libelle) +TableSupprimeSelect(TABLE_TypeRDV_1) +sinon +Info("Veuillez sélectionner un élément de la table "+"Type d'activité") +retour +fin +Initialisation de LIB_LibelléListe ( SC_SansNom1 ) +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_TypeAct_1 ( SC_SansNom1 ) +// Version 1 +// Description +// Libellé simple +FEN_Fiche_Parametre_Type_temps +Procédures +Procédure locale CouleurParam +06/08/2026 Isis_BO 909 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_temps › Procédures +procédure CouleurParam() +FRM_Couleur..CouleurFond = gParamTypeTemps.sCouleur +IMG_Couleur = {"FEN_Menu.IMG_Cercle_"+gParamTypeTemps.sCouleur} +//SI PAS DonneDroitParamAppli(cParam_CouleurRDV) ALORS +// GR_Couleur..Visible = faux +//FIN +Procédure locale EnregistrerTypeAct +procédure EnregistrerTypeAct() +sValeurs est une chaîne ANSI +pour toute ligne i de TABLE_TypeRDV_1 +si sValeurs..Taille > 0 alors +sValeurs += " ; " +fin +sValeurs += TABLE_TypeRDV_1[i].COL_Code +fin +gParamTypeTemps.type_act = sValeurs +Procédure locale FiltreListeActivite +procédure FiltreListeActivite() +TableSupprimeTout(TABLE_TypeRDV_2) +pour tout pclParam de gpclListeTypeRendezVous:m_clTabModele +si Contient(gParamTypeTemps.type_act, pclParam:m_sValeur,MotComplet+SansCasse) <= 0 et pclParam: +m_sValeur > 0 alors +TableAjouteLigne(TABLE_TypeRDV_2,pclParam:m_sValeur,pclParam:m_sLibelle) +fin +fin +TableSupprimeTout(TABLE_TypeRDV_1) +pour tout pclParam de gpclListeTypeRendezVous:m_clTabModele +si Contient(gParamTypeTemps.type_act, pclParam:m_sValeur,MotComplet+SansCasse) > 0 et pclParam: +m_sValeur > 0 alors +TableAjouteLigne(TABLE_TypeRDV_1,pclParam:m_sValeur,pclParam:m_sLibelle) +fin +fin +06/08/2026 Isis_BO 910 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Heure › Image +FEN_Popup_Saisie_Heure +Image +FEN_Popup_Saisie_Heure +Informations générales +FEN_Popup_Saisie_Heure +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Popup_Saisie_Heure.wdw +| Créé par | | GF | | | | +| -------------------------- | --- | ------------------- | --- | --- | --- | +| Date de création | | 08/10/2019 19:11:49 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:23 | | | | +FR: Popup Saisie Heure +| Titre | | GB: Time Edit Popup | | | | +| ----- | --- | ------------------- | --- | --- | --- | +ES: Popup Entrada Hora +| Type fenêtre | | Fenêtre libre | | | | +| ------------------------ | ------------ | ----------------------------- | --------- | --------------- | --- | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 159 Hauteur | 54 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------ | --- | ----------------------------------- | ------- | --- | --- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| 06/08/2026 | | | Isis_BO | | 911 | + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Heure › Informations générales +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 +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Image poignée D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +Statistiques de la fenêtre +Libellé 2 Bouton 1 +Combo 2 Superchamp 1 +Nombre d'éléments dans la fenêtre : 6 +FEN_Popup_Saisie_Heure +Informations sur les champs +06/08/2026 Isis_BO 912 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Heure › Informations sur les champs +Fenêtre : FEN_Popup_Saisie_Heure +Bouton +| | | | | | | | | | | BAT ehcuoT | | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---------- | --- | ----------- | +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | | | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | --- | --- | --- | +| | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_Ferme | | | -157 | -44 | 80 | 24 | 0 | Actif | | | Normal | | +| --------- | --- | --- | ---- | --- | --- | --- | --- | ----- | --- | --- | ------ | --- | +Superchamp +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | +| --- | --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | ------------ | --- | --- | +| | | | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| SC_Heure | | | 0 | | 0 | 154 | 49 | 0 | | Actif | | | +| -------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Superchamp : SC_Heure +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | --- | --- | --- | +ruetuaH +| | | | | ruegraL | | | elbisiV | | | | | | +| --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | --- | --- | --- | +nalP +| LIB_Heures | | 7 | 4 | 64 | 16 | 0 | Actif | Gauche | | Haut | | | +| ----------- | --- | --- | --- | --- | --- | --- | ----- | ------ | --- | ---- | --- | --- | +| LIB_Minutes | | 83 | 4 | 64 | 16 | 0 | Actif | Gauche | | Haut | | | +Combo +reihcif eétsissa eisiaS +| | | | | | | | | | eriotagilbo eisiaS | | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------------ | --- | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | | | | BAT ehcuoT | eisias cevA | | | | | +| --- | ---------- | ---------- | ------- | --- | ------- | ------------ | ---------- | ----------- | --- | --- | --- | --- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | | | | | +| | | | ruetuaH | | | | sruocraP | | | | | | +| | | | ruegraL | | elbisiV | | | | | | | | +| | | | | | | | elbaT | eéirT | | | | | +nalP +| COMBO_Heures | 4 | 19 | 57 | 24 | 0 | Actif | Mémoire | | Non | | | | +| ------------- | --- | --- | --- | --- | ------- | ----- | ------- | --- | --- | --- | --- | --- | +| COMBO_Minutes | 81 | 19 | 57 | 24 | 0 | Actif | Mémoire | | Non | | | | +| 06/08/2026 | | | | | Isis_BO | | | | | | | 913 | + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Heure › Informations sur les champs +Fenêtre : FEN_Popup_Saisie_Heure +Bouton : BTN_Ferme +Libellé FR: Ferme +GB: Close +ES: Close +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Image fond FR,GB,...: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +GENSTEEL\Gensteel_Btn_Std.png +Nb. états fond 5 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 914 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Heure › Informations sur les champs +Superchamp : SC_Heure +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 154 +Hauteur externe 49 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_Heure +Combo : SC_Heure.COMBO_Heures +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 51 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 10 +06/08/2026 Isis_BO 915 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Heure › Informations sur les champs +Largeur interne 51 +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 +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. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 916 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Heure › Informations sur les champs +Combo : SC_Heure.COMBO_Minutes +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 51 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 87 +Largeur interne 51 +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 +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 +06/08/2026 Isis_BO 917 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Heure › Informations sur les champs +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : SC_Heure.LIB_Heures +Libellé FR: Heures +GB: Hours +ES: Horas +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 +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,GB,...: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 918 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Heure › Informations sur les champs +Libellé : SC_Heure.LIB_Minutes +Libellé FR: Minutes +GB: Minutes +ES: Minutos +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 +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,GB,...: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Popup_Saisie_Heure +Code +Déclarations globales de FEN_Popup_Saisie_Heure +//--- Fenêtre Popup --- +// Pour accéder au champ ou à la combo popup qui a ouvert cette fenêtre +// vous pouvez utiliser : MonChampPopup +procédure MaFenêtre(local ghValeur est une Heure) +local +06/08/2026 Isis_BO 919 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Heure › Code +// Regarde si le format par défaut de l'application est sur 12 ou 24 heures +sFormatHeure est une chaîne = "HH" +bFormatHeureSur12 est un booléen = Contient(HeureVersChaîne("14000000",maskHeureSystème),"PM", +SansCasse) +si bFormatHeureSur12 alors +sFormatHeure += "AP" +fin +// Initialisation des heures et minutes +pour i = 0 à 23 +h est une Heure +h..Heure = i +ListeAjoute(COMBO_Heures,Minuscule(HeureVersChaîne(h,sFormatHeure))) +fin +pour i = 0 _à_ 59 +h est une Heure +h..Minute = i +ListeAjoute(COMBO_Minutes,HeureVersChaîne(h,"MM")) +fin +SC_Heure = ghValeur +DonneFocus(COMBO_Heures) +Fermeture de FEN_Popup_Saisie_Heure +renvoyer SC_Heure +FEN_Popup_Saisie_Heure +Code des champs +Clic sur BTN_Ferme +Affectation de la propriété Valeur de SC_Heure +Maj(MoiMême) +Récupération de la propriété Valeur de SC_Heure +renvoyer Maj() +Sélection d'une ligne de COMBO_Heures ( SC_Heure ) +Maj() +Sélection d'une ligne de COMBO_Minutes ( SC_Heure ) +06/08/2026 Isis_BO 920 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Heure › Code des champs +Maj() +FEN_Popup_Saisie_Heure +Procédures +Procédure locale Maj ( SC_Heure ) +// Met à jour l'UI à partir de la dernière saisie +// ou à partir de la valeur fournie en paramètre (=Null ici permet d'affecter la valeur par défaut afin +de tester ..Défaut) +procédure Maj(local hValeur est une Heure = Null) +// Les combos commencent avec en 1ère +ligne avec l'heure ou la minute 0, donc l'heure ou la minute courante est à l'indice Nème + 1 +si hValeur..Défaut alors +// Le type durée fait la correction en cas de dépassement des valeurs par composante de temps +hValeur..heure = COMBO_Heures - 1 +hValeur..Minute = COMBO_Minutes - 1 +fin +// Met à jour l'affichage avec la correction +COMBO_Heures = hValeur..Heure + 1 +COMBO_Minutes = hValeur..Minute + 1 +renvoyer hValeur +06/08/2026 Isis_BO 921 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Durée › Image +FEN_Popup_Saisie_Durée +Image +FEN_Popup_Saisie_Durée +Informations générales +FEN_Popup_Saisie_Durée +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Popup_Saisie_Durée.wdw +| Créé par | | GF | | | | +| -------------------------- | --- | ------------------- | --- | --- | --- | +| Date de création | | 08/10/2019 19:11:49 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:23 | | | | +FR: Popup Saisie Durée +| Titre | | GB: Popup Duration Edit | | | | +| ----- | --- | ----------------------- | --- | --- | --- | +ES: Popup Entrada Duración +| Type fenêtre | | Fenêtre libre | | | | +| ------------------------ | ------------ | ----------------------------- | --------- | --------------- | --- | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 106 Hauteur | 118 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------ | --- | ----------------------------------- | ------- | --- | --- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | | | | | +| 06/08/2026 | | | Isis_BO | | 922 | + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Durée › Informations générales +Opacité 100 +Titre personnalisé Non +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 +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Image poignée D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +Statistiques de la fenêtre +Champ de saisie 4 Libellé 4 +Bouton 1 Superchamp 1 +Nombre d'éléments dans la fenêtre : 10 +FEN_Popup_Saisie_Durée +Informations sur les champs +06/08/2026 Isis_BO 923 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Durée › Informations sur les champs +Fenêtre : FEN_Popup_Saisie_Durée +Bouton +| | | | | | | | | | | BAT ehcuoT | | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---------- | --- | ----------- | +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | | | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | --- | --- | --- | +| | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_Ferme | | | -157 | -44 | 80 | | 24 | 0 | Actif | | Normal | | +| --------- | --- | --- | ---- | --- | --- | --- | --- | --- | ----- | --- | ------ | --- | +Superchamp +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | +| --- | --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | ------------ | --- | --- | +| | | | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| SC_Durée | | | 0 | | 0 | 100 | | 112 | 0 | Actif | | | +| -------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Superchamp : SC_Durée +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 | +| --- | ---------- | --- | --- | --- | ------------ | ----------- | ---------- | ---------- | ------------------------- | --- | --- | ------------- | +| | X noitisoP | | | | laitini tatE | eisias epyT | engilitluM | FTR tamroF | | | | | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| SAI_Heures | 6 29 | 28 | 25 | 0 | Actif | Numéri | | Non | | | | | +| ---------- | ---- | --- | --- | --- | ----- | ------ | --- | --- | --- | --- | --- | --- | +Numéri +| SAI_Jours | 6 | 6 28 | 25 | 0 | Actif | | | Non | | | | | +| ------------ | ---- | ---- | --- | --- | ----- | ------ | --- | --- | --- | --- | --- | --- | +| SAI_Minutes | 6 52 | 28 | 25 | 0 | Actif | Numéri | | Non | | | | | +| SAI_Secondes | 6 75 | 28 | 25 | 0 | Actif | Numéri | | Non | | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | --- | +| | | | | | | | | laitini tatE | | | FTR tamroF | | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Heures | | 38 | 34 | 52 | 15 | | 0 | Actif | Gauche | Haut | | | +| ------------ | --- | --- | --- | --- | ------- | --- | --- | ----- | ------ | ---- | --- | --- | +| LIB_Jours | | 38 | 10 | 52 | 15 | | 0 | Actif | Gauche | Haut | | | +| LIB_Minutes | | 38 | 57 | 52 | 15 | | 0 | Actif | Gauche | Haut | | | +| LIB_Secondes | | 38 | 80 | 52 | 15 | | 0 | Actif | Gauche | Haut | | | +| 06/08/2026 | | | | | Isis_BO | | | | | | | 924 | + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Durée › Informations sur les champs +Fenêtre : FEN_Popup_Saisie_Durée +Bouton : BTN_Ferme +Libellé FR: Ferme +GB: Close +ES: Close +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Image fond FR,GB,...: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +GENSTEEL\Gensteel_Btn_Std.png +Nb. états fond 5 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 925 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Durée › Informations sur les champs +Superchamp : SC_Durée +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 100 +Hauteur externe 112 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_Durée +Libellé : SC_Durée.LIB_Heures +Libellé FR: heures +GB: hours +ES: horas +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 +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 +06/08/2026 Isis_BO 926 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Durée › Informations sur les champs +Type saisie Texte +Masque saisie FR,GB,...: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : SC_Durée.LIB_Jours +Libellé FR: jours +GB: days +ES: días +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 +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,GB,...: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 927 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Durée › Informations sur les champs +Libellé : SC_Durée.LIB_Minutes +Libellé FR: minutes +GB: minutes +ES: minutos +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 +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,GB,...: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : SC_Durée.LIB_Secondes +Libellé FR: secondes +GB: seconds +ES: segundos +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +06/08/2026 Isis_BO 928 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Durée › Informations sur les champs +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR,GB,...: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SC_Durée.SAI_Heures +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 6 +Largeur interne 28 +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,GB,...: +99 +Borne dans bulle Non +Borne dans texte d'indication Oui +06/08/2026 Isis_BO 929 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Durée › Informations sur les champs +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 930 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Durée › Informations sur les champs +Champ de saisie : SC_Durée.SAI_Jours +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 6 +Largeur interne 28 +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,GB,...: +999 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 931 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Durée › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SC_Durée.SAI_Minutes +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 6 +Largeur interne 28 +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 +06/08/2026 Isis_BO 932 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Durée › Informations sur les champs +Masque saisie FR,GB,...: +99 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 933 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Durée › Informations sur les champs +Champ de saisie : SC_Durée.SAI_Secondes +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 6 +Largeur interne 28 +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,GB,...: +99 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 934 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Durée › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Popup_Saisie_Durée +Code +Déclarations globales de FEN_Popup_Saisie_Durée +//--- Fenêtre Popup --- +// Pour accéder au champ ou à la combo popup qui a ouvert cette fenêtre +// vous pouvez utiliser : MonChampPopup +procédure MaFenêtre(local gduValeur est une Durée) +SC_Durée = gduValeur +DonneFocus(SAI_Jours) +Fermeture de FEN_Popup_Saisie_Durée +renvoyer SC_Durée +FEN_Popup_Saisie_Durée +Code des champs +Clic sur BTN_Ferme +06/08/2026 Isis_BO 935 +Affectation de la propriété Valeur de SC_Durée + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Durée › Code des champs +SAI_Jours = gduValeur..Jour +SAI_Heures = gduValeur..Heure +SAI_Minutes = gduValeur..Minute +SAI_Secondes = gduValeur..Seconde +Récupération de la propriété Valeur de SC_Durée +duValeur est une Durée +duValeur..Jour = SAI_Jours +duValeur..Heure = SAI_Heures +duValeur..Minute = SAI_Minutes +duValeur..Seconde = SAI_Secondes +renvoyer duValeur +Sortie de SAI_Heures ( SC_Durée ) +Maj() +Sortie de SAI_Jours ( SC_Durée ) +Maj() +Sortie de SAI_Minutes ( SC_Durée ) +Maj() +Sortie de SAI_Secondes ( SC_Durée ) +Maj() +FEN_Popup_Saisie_Durée +Procédures +Procédure locale Maj ( SC_Durée ) +// Résumé : +// Syntaxe : +// Maj () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Maj() +06/08/2026 Isis_BO 936 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Saisie_Durée › Procédures +// Le type durée fait la correction en cas de dépassement des valeurs par composante de temps +duValeur est une Durée +duValeur..EnJours += SAI_Jours +duValeur..EnHeures += SAI_Heures +duValeur..EnMinutes += SAI_Minutes +duValeur..EnSecondes += SAI_Secondes +// Met à jour l'affichage +SAI_Jours = duValeur..Jour +SAI_Heures = duValeur..Heure +SAI_Minutes = duValeur..Minute +SAI_Secondes = duValeur..Seconde +06/08/2026 Isis_BO 937 + +Partie 3 › Fenêtre WINDEV › FEN_Date_CR › Image +FEN_Date_CR +Image +FEN_Date_CR +Informations générales +FEN_Date_CR +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Date_CR.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 04/01/2024 15:56:47 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:23 | | | | +| Titre | | FR: Date des compte rendu | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 369 Hauteur | 400 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| 06/08/2026 | | | Isis_BO | | 938 | + +Partie 3 › Fenêtre WINDEV › FEN_Date_CR › Informations générales +| 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 | | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| 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 | | | | | +| Grisé : Utiliser couleur perso. | Non | | | | +| Grisé : Algo pour images | | | | | +| 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. | | | | | +| M.C.U. | Oui | | | | +| Anim. Ouverture | 0 | | | | +| Anim. Fermeture | 0 | | | | +| Durée Anim. Ouverture | 100 | | | | +| Durée Anim. Fermeture | 50 | | | | +| Adapte Taille contenu | Oui | | | | +| Assombri quand inactif | Oui | | | | +Déplace souris sur bouton par +Non +| Compact. barres outils | Non | | | | +| ---------------------- | --- | --- | --- | --- | +D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +Image poignée +| 06/08/2026 | | Isis_BO | | 939 | +| ---------- | --- | ------- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Date_CR › Informations générales +Statistiques de la fenêtre +| | Libellé | | | | 1 | Bouton | | | | 2 | +| --- | ------- | --- | --- | --- | --- | ---------------- | --- | --- | --- | --- | +| | Table | | | | 1 | Colonne de table | | | | 3 | +Nombre d'éléments dans la fenêtre : 7 +FEN_Date_CR +Informations sur les champs +Fenêtre : FEN_Date_CR +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| LIB_Titre | | | -2 0 | 365 | 76 | 0 | Actif | Centre | Centre | | +| --------- | --- | --- | ---- | --- | --- | --- | ----- | ------ | ------ | --- | +Bouton +| | | | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | ---------- | --- | --- | --- | --- | ------------ | ---------- | ----------- | +| | | | X noitisoP | | | | | laitini tatE | | | +Y noitisoP +| | | | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| BTN_Annuler | | | 270 | 360 | 80 | 24 | 0 | Actif | | Normal | +| ----------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | ------ | +| BTN_Valider | | | 171 | 360 | 80 | 24 | 0 | Actif | | Normal | +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | --- | --- | ------------------ | ------------------ | ------------------ | ----------------------------- | +| | | | | | | | )(ertliFH resilitU | ruesnecsa elluB | EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +| | | | | | | | .gerne egacolB | noitcelésitluM | edacsac eisiaS | | +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | | | | | | +| --- | --- | --------------------- | --------------- | --- | ------------ | -------- | --- | --- | --- | --- | +| | | | ruegraL ruetuaH | | | sruocraP | | | | | +elbisiV +elbaT +nalP +| TABLE_Dates | | 6 91 | 344 254 | 0 Actif | | Mémoir | | | | 1 | +| ----------- | --- | ---- | ------- | ------- | ------- | ------ | --- | --- | --- | --- | +| 06/08/2026 | | | | | Isis_BO | | | | | 940 | + +Partie 3 › Fenêtre WINDEV › FEN_Date_CR › Informations sur les champs +Table : TABLE_Dates +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_Selection | 64 | Actif | | Centre Centre | | | +| COL_Date | 263 | affichag | | Droite Centre | Date | | +| COL_DateHeure | 100 | Actif | | Droite Centre | Date | | +Fenêtre : FEN_Date_CR +Bouton : BTN_Annuler +| Libellé | FR: | Annuler | | | | | +| -------------------------- | ----------------------------------- | ------- | --- | --- | --- | --- | +| 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 | | | | | | | +| 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 | | | | | | | +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 | | | | | | | +| Texte Markdown | Non | | | | | | +| Mode menu ctx. | | | | | | | +| Nb. états image | 1 | | | | | | +| Nb. états fond | 1 | | | | | | +| Etirement de l'image de fond | Largeur et hauteur | | | | | | +| 06/08/2026 | | | Isis_BO | | | 941 | + +Partie 3 › Fenêtre WINDEV › FEN_Date_CR › Informations sur les champs +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Bouton : BTN_Valider +Libellé FR: Valider +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 942 + +Partie 3 › Fenêtre WINDEV › FEN_Date_CR › Informations sur les champs +Libellé : LIB_Titre +Libellé FR: Le rendez-vous a été créé sur plusieurs jours, sélectionnez la date des rendez-vous pour +lesquels le compte rendu est obligatoire +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : TABLE_Dates +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre +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 +06/08/2026 Isis_BO 943 + +Partie 3 › Fenêtre WINDEV › FEN_Date_CR › Informations sur les champs +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 +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +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 +06/08/2026 Isis_BO 944 + +Partie 3 › Fenêtre WINDEV › FEN_Date_CR › Informations sur les champs +Table : TABLE_Dates +Colonne de table : TABLE_Dates.COL_Selection (1) +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : TABLE_Dates.COL_Date (2) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +06/08/2026 Isis_BO 945 + +Partie 3 › Fenêtre WINDEV › FEN_Date_CR › Informations sur les champs +Masque saisie FR: UseSystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : TABLE_Dates.COL_DateHeure (3) +Titre FR: DateHeure +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: UseSystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 946 + +Partie 3 › Fenêtre WINDEV › FEN_Date_CR › Code +FEN_Date_CR +Code +Déclarations globales de FEN_Date_CR +procédure FEN_Date_CR(gnIdGroupeDate est un entier sur 8 octets) +gtabDates est un tableau de STDate_Sel +gRdvsRecouperes est un tableau associatif de STDate_Sel +FiltreDate() +Fin d'initialisation de FEN_Date_CR +MaJTBL() +Fermeture de FEN_Date_CR +renvoyer gtabDates +FEN_Date_CR +Code des champs +Initialisation de BTN_Annuler +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Annuler +TableauSupprimeTout(gtabDates) +Ferme() +Initialisation de BTN_Valider +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Valider +TableauSupprimeTout(gtabDates) +pstUneDateHeure est un STDate_Sel dynamique +06/08/2026 Isis_BO 947 + +Partie 3 › Fenêtre WINDEV › FEN_Date_CR › Code des champs +bSel est un booléen = Faux +pour toute ligne i de TABLE_Dates +si TABLE_Dates[i].COL_Selection alors +bSel = Vrai +fin +pstUneDateHeure = allouer un STDate_Sel +pstUneDateHeure.bSel = TABLE_Dates[i].COL_Selection +pstUneDateHeure.dhUneDate = TABLE_Dates[i].COL_DateHeure +TableauAjoute(gtabDates,pstUneDateHeure) +fin +si pas bSel alors +si OuiNon("Vous n'avez sélectionné aucun rendez-vous, vous souhaitez continuer?") = Oui alors +Ferme() +fin +sinon +Ferme() +fin +Initialisation de LIB_Titre +// Version 1 +// Description +// Libellé simple +FEN_Date_CR +Procédures +Procédure locale FiltreDate +procédure FiltreDate() +pstUneDateHeure est un STDate_Sel dynamique +TableauSupprimeTout(gRdvsRecouperes) +si gnIdGroupeDate > 0 alors +i est un entier = 0 +sReq est une chaîne ANSI = [ +SELECT PL_DateDebut,PL_CR +FROM Planning_RDV +WHERE Archive = 0 AND PL_IdGroupeDate = +] +sComplReq est une chaîne ANSI = gnIdGroupeDate + " ORDER by PL_DateDebut asc" +sReq += sComplReq +sdSDRDV est une Source de Données +si pas HExécuteRequêteSQL(sdSDRDV,hRequêteDéfaut,sReq) alors +Erreur("Une erreur s'est produite, les rendez-vous n'ont pas pu être récupérés" + RC + +HErreurInfo()) +sinon +pour tout sdSDRDV +06/08/2026 Isis_BO 948 + +Partie 3 › Fenêtre WINDEV › FEN_Date_CR › Procédures +si gRdvsRecouperes[sdSDRDV.PL_DateDebut]..Existe = Faux alors +pstUneDateHeure = allouer un STDate_Sel +pstUneDateHeure.bSel = sdSDRDV.PL_CR +pstUneDateHeure.dhUneDate = sdSDRDV.PL_DateDebut +gRdvsRecouperes[sdSDRDV.PL_DateDebut] = pstUneDateHeure +fin +fin +fin +fin +Procédure locale MaJTBL +procédure MaJTBL() +i est un entier +TableSupprimeTout(TABLE_Dates) +si gRdvsRecouperes..Occurrence > 0 alors +pour tout UneDate de gRdvsRecouperes +i = TableAjouteLigne(TABLE_Dates) +TABLE_Dates[i].COL_DateHeure = UneDate.dhUneDate +TABLE_Dates[i].COL_Date = UneDate.dhUneDate..PartieDate +TABLE_Dates[i].COL_Selection = UneDate.bSel +fin +fin +06/08/2026 Isis_BO 949 + +Partie 3 › Fenêtre WINDEV › FEN_Confirmation_Suppression › Image +FEN_Confirmation_Suppression +Image +FEN_Confirmation_Suppression +Informations générales +FEN_Confirmation_Suppression +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Confirmation_Suppression.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 29/01/2024 17:16:46 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:23 | | | | +| Titre | | FR: Confirmation suppression | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 570 Hauteur | 215 | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 950 | + +Partie 3 › Fenêtre WINDEV › FEN_Confirmation_Suppression › Informations générales +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +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 +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Image poignée D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +Statistiques de la fenêtre +Libellé 1 Bouton 1 +Interrupteur à bascule 1 Option d'interrupteur 2 +06/08/2026 Isis_BO 951 + +Partie 3 › Fenêtre WINDEV › FEN_Confirmation_Suppression › Informations générales +Nombre d'éléments dans la fenêtre : 5 +FEN_Confirmation_Suppression +Informations sur les champs +Fenêtre : FEN_Confirmation_Suppression +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Msg | 20 | 36 529 | 116 | 0 | Actif | Centre | Centre | | +| ------- | --- | ------ | --- | --- | ----- | ------ | ------ | --- | +Bouton +notuob epyT +| | | | | | | laitini tatE | BAT ehcuoT | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | ---------- | --- | +| | X noitisoP | Y noitisoP | | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Valider_fiche_dossier | 538 | 6 | 24 | 24 | 0 | Actif | | Normal | +| ------------------------- | --- | --- | --- | --- | --- | ----- | --- | ------ | +Interrupteur à bascule +BAT ehcuoT +| | | X noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | --- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | | | ruegraL ruetuaH | | | | | +| --- | --- | --- | --- | --------------- | --- | --- | --- | --- | +elbisiV +nalP +| INT_Reponse | | 241 | 175 | 87 | 32 | 0 | Actif | | +| ----------- | --- | --- | ------- | --- | --- | --- | ----- | --- | +| 06/08/2026 | | | Isis_BO | | | | | 952 | + +Partie 3 › Fenêtre WINDEV › FEN_Confirmation_Suppression › Informations sur les champs +Fenêtre : FEN_Confirmation_Suppression +Bouton : BTN_Valider_fiche_dossier +Groupe GR_MODEOPAQUE_FICHE_DOSSIER,GR_CADENAS_DOSSIER +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 953 + +Partie 3 › Fenêtre WINDEV › FEN_Confirmation_Suppression › Informations sur les champs +Interrupteur à bascule : INT_Reponse +Valeur initiale 0 +Ordre navigation 2 +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +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 d'affichage Externe - 1 libellé à gauche +Cadrage libellés externes Collés au bord du champ +Cadrage des options (internes) Centrés +Largeur curseur 50% Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : LIB_Msg +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 +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 +06/08/2026 Isis_BO 954 + +Partie 3 › Fenêtre WINDEV › FEN_Confirmation_Suppression › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Confirmation_Suppression +Code +Déclarations globales de FEN_Confirmation_Suppression +procédure FEN_Confirmation_Suppression(gsMsg est une chaîne ANSI) +LIB_Msg = gsMsg +Fermeture de FEN_Confirmation_Suppression +renvoyer INT_Reponse +FEN_Confirmation_Suppression +Code des champs +Clic sur BTN_Valider_fiche_dossier +Ferme() +Initialisation de INT_Reponse +// Version 1 +// Description +// Interrupteur à bascule 1 libellé externe à gauche +Initialisation de LIB_Msg +// Version 1 +// Description +06/08/2026 Isis_BO 955 + +Partie 3 › Fenêtre WINDEV › FEN_Confirmation_Suppression › Code des champs +// Libellé simple +| 06/08/2026 | Isis_BO | 956 | +| ---------- | ------- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_LoginOLD › Image +FEN_LoginOLD +Image +FEN_LoginOLD +Informations générales +FEN_LoginOLD +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_LoginOLD.wdw +Créé par frederic.bourras@applilogik.fr +Date de création 05/09/2018 19:07:38 +Dernière modification par SMR +Date dernière modification 11/04/2025 16:08:23 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à l'écran +06/08/2026 Isis_BO 957 + +Partie 3 › Fenêtre WINDEV › FEN_LoginOLD › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 598 Hauteur | 598 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| 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 | | | | +| Menu contextuel | | | | | | +| Unité des tailles | | Compatible desktop ET mobile | | | | +| Ancrage au contenu | | | | | | +| Opacité | | 95 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Non | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| M.C.U. | | Non | | | | +| 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 | | | | +| ---------------------- | --- | --- | ------- | --- | --- | +| 06/08/2026 | | | Isis_BO | | 958 | + +Partie 3 › Fenêtre WINDEV › FEN_LoginOLD › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | | 2 | Libellé | | | 2 | +| --- | ---------------------- | --- | --- | --- | ---------------- | --- | --- | --- | +| | Bouton | | | 2 | Image | | | 3 | +| | Jauge | | | 1 | Colonne de table | | | 3 | +| | Combo + table | | | 1 | Disposition | | | 2 | +| | Cellule de disposition | | | 4 | | | | | +Nombre d'éléments dans la fenêtre : 20 +FEN_LoginOLD +Informations sur les champs +Fenêtre : FEN_LoginOLD +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 | | | | +ruetuaH +| | | ruegraL | elbisiV | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +nalP +| SAI_LOGIN | 175 | 57 250 49 | 0 Actif | | Texte | Non | | | +| -------------- | ------- | --------- | ------- | --- | ----- | --- | --- | --- | +| SAI_MOTDEPASSE | 175 108 | 250 49 | 0 Actif | | Texte | Non | | | +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| LIB_INFO_CONNEXION | | 175 190 | 250 | 17 | 0 | Actif Centre | Haut | | +| ------------------ | --- | ------- | --- | ------- | --- | ------------ | ------ | --- | +| LIB_VERSION | | 271 269 | 45 | 12 | 0 | Actif Centre | Centre | | +| 06/08/2026 | | | | Isis_BO | | | | 959 | + +Partie 3 › Fenêtre WINDEV › FEN_LoginOLD › Informations sur les champs +Bouton +notuob epyT +| | | | | | | | laitini tatE | BAT ehcuoT | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | --- | --- | +| | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| BTN_CONNECTER | | | 89 203 | 80 | 80 | 0 | Actif | | Validati | | +| ------------- | --- | --- | ------ | --- | --- | --- | ----- | --- | -------- | --- | +| BTN_Fermer | | 434 | 203 | 80 | 80 | 0 | Actif | | Abandon | | +Image +| | | | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --------------------------------------- | ---------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | sucof cevA | +cilc cevA +ruegraL ruetuaH +elbisiV +nalP +| IMG_Inter_venir_logo_gd | | -409 | 219 | 235 | 144 | 0 | Actif | | | | +| ----------------------- | --- | ---- | --- | --- | --- | --- | ----- | --- | --- | --- | +| IMG_LOGO | | 0 | 17 | 586 | 283 | 0 | Actif | | | | +| IMG_LogoIcono | | -25 | 649 | 444 | 258 | 0 | Actif | | | | +Jauge +| | | | | | | BAT ehcuoT | | .nim enroB | .xam enroB | euqirtémyS | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | ---------- | ---------- | ---------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | | | +ruetuaH +| | | | ruegraL | | elbisiV | | lacitreV | | | | +| --- | --- | --- | ------- | --- | ------- | --- | -------- | --- | --- | --- | +nalP +| JAUGE_SAUVEGARDE | 175 | 157 | 250 | 27 | 0 Actif | | | 0 | 100 | | +| ---------------- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | --- | +Combo + table +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | +| | | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| COMBO_ServeurEtBDD | | | 175 | 8 | 250 | 49 | 0 | Actif | | | +| ------------------ | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Disposition +BAT ehcuoT +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | --- | +| | | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| DISP_CONNEXION_HORIZONTAL | | | 0 | 0 | 1174 | 288 | 0 | Actif | | | +| ------------------------- | --- | --- | --- | ------- | ---- | --- | --- | ----- | --- | --- | +| DISP_CONNEXION_VERTICAL | | | 6 | 6 | 586 | 586 | 0 | Actif | | | +| 06/08/2026 | | | | Isis_BO | | | | | | 960 | + +Partie 3 › Fenêtre WINDEV › FEN_LoginOLD › Informations sur les champs +Combo + table : +DISP_CONNEXION_VERTICAL.DISP_CONNEXION_HORIZONTAL.COMBO_ServeurEtBDD +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_MACHINE | 100 | affichag | | Gauche Centre | Texte | | +| COL_BASE | 130 | affichag | | Gauche Centre | Texte | | +| COL_MACHBASE | 100 | Actif | | Gauche Centre | Texte | | +Fenêtre : FEN_LoginOLD +Bouton : +| Libellé | FR: | Se connecter | | | | | +| -------------------------- | ----------------------------------- | ------------ | --- | --- | --- | --- | +| Groupe | GR_CONNEXION | | | | | | +| 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 | | | | | | | +| 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 | | | | | | | +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 | | | | | | | +| Texte Markdown | Non | | | | | | +| Mode menu ctx. | | | | | | | +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH01610_32_5.png +| Nb. états image | 5 | | | | | | +| --------------- | --- | --- | ------- | --- | --- | --- | +| 06/08/2026 | | | Isis_BO | | | 961 | + +Partie 3 › Fenêtre WINDEV › FEN_LoginOLD › Informations sur les champs +Nb. états fond 1 +Etirement de l'image de fond +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 1000 Taux anc. hauteur 1000 +Bouton : DISP_CONNEXION_VERTICAL.DISP_CONNEXION_HORIZONTAL.BTN_Fermer +Libellé FR: Sortir +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH01620_32_5.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +06/08/2026 Isis_BO 962 + +Partie 3 › Fenêtre WINDEV › FEN_LoginOLD › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo + table : +Libellé FR: &Serveur et base de données +Ordre navigation 1 +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 +Cadrage horz. Gauche +Cadrage vert. Haut +Orientation verticale Non +Hauteur liste 0 +Largeur liste 248 +Larg. déroulée perso. Non +Hauteur ligne 18 +Retrait gauche 0 +Colonne ancrée 0 +Position X interne 181 +Largeur interne 250 +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 +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Bulle ascenseur Oui +Asc. horizontal Automatique +Asc. vertical Automatique +Avec saisie Non +Saisie assistée fichier Non +Défilement Horz. Retour à la ligne automatique +Saisie obligatoire 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 +06/08/2026 Isis_BO 963 + +Partie 3 › Fenêtre WINDEV › FEN_LoginOLD › Informations sur les champs +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +NULL si vide Non +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +Valeur persistante Oui +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Source de remplissage Variable +Nb. Enreg. Max 0 +Parcours Automatique +Fichier parcouru :COL_CONNEXION.gsListeConnexion +Rub. mémorisée :COL_CONNEXION.gsListeConnexion.gnIndiceSection +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : DISP_CONNEXION_VERTICAL.DISP_CONNEXION_HORIZONTAL +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Agrandir le champ, pousse les champs autour +Débordement - Réduire Non +Ancrage Largeur et hauteur +06/08/2026 Isis_BO 964 + +Partie 3 › Fenêtre WINDEV › FEN_LoginOLD › Informations sur les champs +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : DISP_CONNEXION_VERTICAL +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Agrandir le champ, pousse les champs autour +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Inter_venir_logo_gd +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\inter venir_logo_gd.svg +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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 +06/08/2026 Isis_BO 965 + +Partie 3 › Fenêtre WINDEV › FEN_LoginOLD › Informations sur les champs +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : DISP_CONNEXION_VERTICAL.IMG_LOGO +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 966 + +Partie 3 › Fenêtre WINDEV › FEN_LoginOLD › Informations sur les champs +Image : IMG_LogoIcono +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\logoIcono.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Jauge : +Libellé FR: Sauvegarde des données, veuillez patientez... +Valeur initiale 0 +Ordre navigation -1 +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 +Cadrage horz. Gauche +Cadrage vert. Haut +Position X interne 181 +Largeur interne 250 +06/08/2026 Isis_BO 967 + +Partie 3 › Fenêtre WINDEV › FEN_LoginOLD › Informations sur les champs +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Afficher le pourcentage Oui +Mode LCD Non +Animée par défaut Non +Type jauge Jauge linéaire +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Mise à blanc Non +Texte Markdown Non +Image fixe Oui +Mode 9 images Non +Mode 9 images (image) Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Information de connexion +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 +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 +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 +06/08/2026 Isis_BO 968 + +Partie 3 › Fenêtre WINDEV › FEN_LoginOLD › Informations sur les champs +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : DISP_CONNEXION_VERTICAL.DISP_CONNEXION_HORIZONTAL.LIB_VERSION +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 +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 +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 +Liaison des données :gsInfoVersion +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 969 + +Partie 3 › Fenêtre WINDEV › FEN_LoginOLD › Informations sur les champs +Champ de saisie : +Libellé FR: Login +Groupe GR_CONNEXION +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 181 +Largeur interne 250 +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 +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 +06/08/2026 Isis_BO 970 + +Partie 3 › Fenêtre WINDEV › FEN_LoginOLD › Informations sur les champs +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. +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 Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Mot de passe +Groupe GR_CONNEXION +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 181 +Largeur interne 250 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +06/08/2026 Isis_BO 971 + +Partie 3 › Fenêtre WINDEV › FEN_LoginOLD › Informations sur les champs +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 +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. +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 Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 972 + +Partie 3 › Fenêtre WINDEV › FEN_LoginOLD › Informations sur les champs +Combo + table : +DISP_CONNEXION_VERTICAL.DISP_CONNEXION_HORIZONTAL.COMBO_ServeurEtBDD +Colonne de table : +Titre FR: BASE +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 +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 +Liaison des données :COL_CONNEXION.gsListeConnexion.gsNomLogique +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: MACHBASE +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 +06/08/2026 Isis_BO 973 + +Partie 3 › Fenêtre WINDEV › FEN_LoginOLD › Informations sur les champs +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :COL_CONNEXION.gsListeConnexion.gsServeurBDDEtBDD +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: MACHINE +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 +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 +Liaison des données :COL_CONNEXION.gsListeConnexion.gsServeurBDD +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 974 + +Partie 3 › Fenêtre WINDEV › FEN_LoginOLD › Code +FEN_LoginOLD +Code +Déclarations globales de FEN_LoginOLD +procédure FEN_LoginOLD() +IMG_LOGO = gLOGO_FOND_SOMBRE..Image +gbConnecte est un booléen +gbListeConnexion est un booléen +gbSansIni est un booléen +gbConnexionFaite est un booléen +LIB_VERSION=gsInfoVersion +(gbListeConnexion,gbSansIni)=ConstruitListeConnexion(gclErreur) +si gbSansIni _ou_ pas gbListeConnexion alors +GR_CONNEXION..Grisé=Vrai +si pas gclErreur.p_bOk alors Erreur(gclErreur.FormateMessage()) +sinon +si COL_CONNEXION.gsListeConnexion..Occurrence>1 alors +COMBO_ServeurEtBDD..Visible=Vrai +sinon si COL_CONNEXION.gsListeConnexion..Occurrence=1 alors//SI gbConnecte ALORS +COMBO_ServeurEtBDD..Visible=Faux +ListeAffiche(COMBO_ServeurEtBDD,taInit) +ListeSelectPlus(COMBO_ServeurEtBDD,1) +//SelectServeurBase() +//ListeAffiche(COMBO_ServeurEtBDD,1) +fin +si pas gclErreur.p_bOk alors Erreur(gclErreur.FormateMessage()) +fin +Fin d'initialisation de FEN_LoginOLD +COL_CONNEXION.gsCleCryptageUserHFSQL = "62, rue Langénieux" +COL_CONNEXION.gsConstCryptageUserHFSQL = "@APPLILOGIK" +COL_CONNEXION.gsCleDecryptageMotDePasse = gsCleMdp +//SI COMBO_ServeurEtBDD..Valeur<>"" ALORS +// SelectServeurBase()//ExécuteTraitement(COMBO_ServeurEtBDD,trtSélection) +//FIN +FEN_LoginOLD +Code des champs +Clic sur BTN_CONNECTER +06/08/2026 Isis_BO 975 + +Partie 3 › Fenêtre WINDEV › FEN_LoginOLD › Code des champs +sListeDesErreurs est une chaîne +bContinue est un booléen +//Récupération de l'indice sélectionné dans la combo Serveur/BDD +nIndiceConnexion est un entier = COMBO_ServeurEtBDD..Visible ? ListeSelect(COMBO_ServeurEtBDD) sinon 1 +Sablier(Vrai) +LIB_INFO_CONNEXION = "Contrôle de l'utilisateur" +LIB_INFO_CONNEXION..Visible = Vrai +PrepareConnexion(gcnxBO,nIndiceConnexion,sListeDesErreurs) +bContinue = ControleUtilisateur(gcnxBO,sListeDesErreurs,SAI_LOGIN,SAI_MOTDEPASSE) +si bContinue alors +LIB_INFO_CONNEXION = "Vérification de l'environnement" +SelectServeurBase(sListeDesErreurs) +sinon +Erreur(sListeDesErreurs) +fin +si pas gbConnexionFaite alors +LIB_INFO_CONNEXION..Visible = Faux +retour +sinon +LIB_INFO_CONNEXION = "Préparation de l'environnement" +fin +si ConnexionUtilisateur(gcnxBO,COL_CONNEXION.gsListeConnexion[COL_CONNEXION.gnIndiceConnexion]: +gsAdresseIPServeur,COL_CONNEXION.gsListeConnexion[COL_CONNEXION.gnIndiceConnexion]:gsPortServeur,COL_ +CONNEXION.gsListeConnexion[COL_CONNEXION.gnIndiceConnexion]:gsNomBDD,SAI_LOGIN,SAI_MOTDEPASSE, +sListeDesErreurs) alors +gbBATIGESTActif = ParametreSystemeLit("BATIGEST_ACTIF",0,Faux, +"Indique si le module BATIGEST est actif") +gpclFicheUtilisateurEnCours = PFicheUtilisateur.gNouvellePresentation() +si HLitRecherchePremier(Utilisateur,Utilisateur.UT_Login,SAI_LOGIN) alors +gpclFicheUtilisateurEnCours.Charger(Utilisateur) +//TraceDébut(trFichier,ComplèteRep(fRepGlobalCommun)+RepertoireIni+["\"] ++"Logs_"+Utilisateur.UT_Login+"_" + DateHeureSys() + " +.txt") +fin +PFicheUtilisateur.gListeParamUtilisateur(gpclFicheUtilisateurEnCours) +//gpclPresenListeParamUtilisateur=PTableParametreUtilisateur.gNouvellePresentation(gpclFicheUti +lisateurEnCours.m_nPKID) +PFicheUtilisateur.gListeSocietePossible(gpclFicheUtilisateurEnCours) +PFicheUtilisateur.gListeAccesEtDroit(gpclFicheUtilisateurEnCours) +si gpclFicheUtilisateurEnCours:ListeParametreUtilisateur<>Null alors +//Récupération des préférences de messagerie +gpclFichePrefMessagerie <- gpclFicheUtilisateurEnCours:p_PrefMessagerie +//Récupération de la configuration de messagerie +gpclFicParamEnvoiEmail <- gpclFicheUtilisateurEnCours:p_ParamEnvoiMail +bufCle est un Buffer = HashChaîne(HA_MD5_128,gsCleMdp) +si gpclFicParamEnvoiEmail<>Null alors +bufCrypte est un Buffer = gpclFicParamEnvoiEmail:m_sValeur +06/08/2026 Isis_BO 976 + +Partie 3 › Fenêtre WINDEV › FEN_LoginOLD › Code des champs +Désérialise(gstConfigEnvoiEmail,DécrypteStandard(bufCrypte, bufCle, crypteAES128), +psdJSON) +fin +fin +ChargeParametreMetier() +gpclListeParamAppli = PTableParametreApplication.gNouvellePresentation() +gsCodeClient = ParametreSystemeLit(cParam_CodeClient) +//Test pour les bases installées avant cet ajout. +si gsCodeClient="" alors +gsCodeClient=Gauche(gcnxBO..BaseDeDonnées,Taille(gcnxBO..BaseDeDonnées)-4) +ParametreSystemeEcrit(cParam_CodeClient,gsCodeClient) +fin +Utilise(FEN_Menu) +sinon +LIB_INFO_CONNEXION..Visible = Faux +Erreur(sListeDesErreurs) +fin +Clic sur BTN_Fermer +FinProgramme() +Sélection d'une ligne de COMBO_ServeurEtBDD +//SelectServeurBase() +FEN_LoginOLD +Procédures +Procédure locale callBackConnexion +// Résumé : +// Syntaxe : +//[ = ] callBackConnexion () +// +// Paramètres : +// Aucun +// Valeur de retour : +// chaîne ANSI : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure callBackConnexion(*) +sListeDesErreurs est une chaîne +si MesParamètres..Occurrence>=1 _et_ MesParamètres[1]="SvgBDD" alors +06/08/2026 Isis_BO 977 + +Partie 3 › Fenêtre WINDEV › FEN_LoginOLD › Procédures +Sablier(Vrai) +si ControleSauvegarde(gcnxBO,sListeDesErreurs,gsInfoVersion) _et_ sListeDesErreurs="" alors +LIB_INFO_CONNEXION = "Sauvegarde avant mise à jour" +JAUGE_SAUVEGARDE..Visible = Vrai +JAUGE_SAUVEGARDE=0 +//Lance une sauvergarde et attend la fin +SauvegardeEtAttend(gcnxBO,sListeDesErreurs,callBackJaugeSvgBDD) +JAUGE_SAUVEGARDE..Visible = Faux +fin +Sablier(Faux) +sinon si MesParamètres..Occurrence>=1 _et_ MesParamètres[1]="StopCnx" alors +Sablier(Vrai) +si InterditAccesBDD(gcnxBO,sListeDesErreurs) alors +//ToastAffiche("Mise à jour en cours, veuillez patientez") +LIB_INFO_CONNEXION = "Mise à jour de l'environnement" +AttendDeconnexionServiceMobile(gcnxBO,sListeDesErreurs) +fin +Sablier(Faux) +fin +renvoyer sListeDesErreurs +Procédure locale callBackJaugeSvgBDD +// Résumé : +// Syntaxe : +//callBackJaugeSvgBDD ([...]) +// +// Paramètres : +// <*> : > +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure callBackJaugeSvgBDD(*) +si MesParamètres..Occurrence>=1 alors +JAUGE_SAUVEGARDE = Val(MesParamètres[1])/10 +fin +Procédure locale SelectServeurBase +procédure SelectServeurBase(sListeDesErreurs est une chaîne) +//Vérification et MAJ de l'environnement sélectionné +gbConnexionFaite = ValideEnvironnement(gcnxBO,sListeDesErreurs,gsInfoVersion,COMBO_ServeurEtBDD.. +Visible ? ListeSelect(COMBO_ServeurEtBDD) sinon 1,callBackConnexion) +si sListeDesErreurs<>"" alors Erreur(sListeDesErreurs) +Sablier(Faux) +06/08/2026 Isis_BO 978 + +Partie 3 › Fenêtre WINDEV › FEN_Login › Image +FEN_Login +Image +FEN_Login +Informations générales +FEN_Login +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Login.wdw +Créé par frederic.bourras@applilogik.fr +Date de création 05/09/2018 19:07:38 +Dernière modification par SMR +Date dernière modification 28/05/2025 16:35:48 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à l'écran +06/08/2026 Isis_BO 979 + +Partie 3 › Fenêtre WINDEV › FEN_Login › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 598 Hauteur | 598 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| 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 | | | | +| Menu contextuel | | | | | | +| Unité des tailles | | Compatible desktop ET mobile | | | | +| Ancrage au contenu | | | | | | +| Opacité | | 95 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Non | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| M.C.U. | | Non | | | | +| 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 | | | | +| ---------------------- | --- | --- | ------- | --- | --- | +| 06/08/2026 | | | Isis_BO | | 980 | + +Partie 3 › Fenêtre WINDEV › FEN_Login › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | | 2 | Libellé | | | 2 | +| --- | --------------- | --- | --- | --- | ------- | --- | --- | --- | +| | Bouton | | | 2 | Image | | | 1 | +| | Jauge | | | 1 | Combo | | | 1 | +Nombre d'éléments dans la fenêtre : 9 +FEN_Login +Informations sur les champs +Fenêtre : FEN_Login +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_LOGIN | 157 351 | 250 49 | 0 Actif | | Texte | Non | | | +| -------------- | ------- | ------ | ------- | --- | ----- | --- | --- | --- | +| SAI_MOTDEPASSE | 157 402 | 250 49 | 0 Actif | | Texte | Non | | | +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_INFO_CONNEXION | | 157 484 | 250 | 17 | 0 | Actif Centre | Haut | | +| ------------------ | --- | ------- | --- | ------- | --- | ------------ | ------ | --- | +| LIB_VERSION | | 253 563 | 45 | 12 | 0 | Actif Centre | Centre | | +| 06/08/2026 | | | | Isis_BO | | | | 981 | + +Partie 3 › Fenêtre WINDEV › FEN_Login › Informations sur les champs +Bouton +notuob epyT +| | | | | | | | | laitini tatE BAT ehcuoT | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ----------------------- | --- | --- | +| | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| BTN_CONNECTER | | 71 | 497 | | 80 80 | 0 | Actif | | Validati | | +| ------------- | --- | --- | --- | --- | ----- | --- | ----- | --- | -------- | --- | +| BTN_Fermer | | 416 | 497 | | 80 80 | 0 | Actif | | Abandon | | +Image +| | | | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --------------------------------------- | ---------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | sucof cevA | +cilc cevA +| | | | | ruegraL | ruetuaH | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| IMG_LOGO | | 6 | 6 | 586 | 283 | 0 | Actif | | | | +| -------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | +Jauge +| | | | | | | BAT ehcuoT | | .nim enroB | .xam enroB | euqirtémyS | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | ---------- | ---------- | ---------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | | | +ruetuaH +| | | | ruegraL | | | | lacitreV | | | | +| --- | --- | --- | ------- | --- | --- | --- | -------- | --- | --- | --- | +elbisiV +nalP +| JAUGE_SAUVEGARDE | 157 | 451 | 250 | 27 | 0 | Actif | | 0 | 100 | | +| ---------------- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | +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 +| | | | | nalP | | elbaT | eéirT | | | | +| ------------------ | --- | ------- | --- | ---- | ----- | ------- | ----- | --- | --- | --- | +| COMBO_ServeurEtBDD | 157 | 302 250 | 49 | 0 | Actif | Mémoire | | Non | | | +Fenêtre : FEN_Login +Bouton : BTN_CONNECTER +| Libellé | | FR: | Se connecter | | | | | | | | +| -------------------------- | --- | ------------- | ------------ | --- | ------- | --- | --- | --- | --- | --- | +| Groupe | | GR_CONNEXION | | | | | | | | | +| 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 | | | | | | | | | +| 06/08/2026 | | | | | Isis_BO | | | | | 982 | + +Partie 3 › Fenêtre WINDEV › FEN_Login › Informations sur les champs +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH01610_32_5.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 1000 Taux anc. hauteur 1000 +Bouton : BTN_Fermer +Libellé FR: Sortir +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +06/08/2026 Isis_BO 983 + +Partie 3 › Fenêtre WINDEV › FEN_Login › Informations sur les champs +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH01620_32_5.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +Combo : COMBO_ServeurEtBDD +Libellé FR: &Serveur et base de données +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. Haut +Orientation verticale Non +Hauteur liste 0 +Largeur liste 250 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 0 +Position X interne 157 +Largeur interne 250 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 984 + +Partie 3 › Fenêtre WINDEV › FEN_Login › Informations sur les champs +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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 Oui +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_LOGO +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 985 + +Partie 3 › Fenêtre WINDEV › FEN_Login › Informations sur les champs +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +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 +Jauge : JAUGE_SAUVEGARDE +Libellé FR: Sauvegarde des données, veuillez patientez... +Valeur initiale 0 +Ordre navigation -1 +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 +Cadrage horz. Gauche +Cadrage vert. Haut +Position X interne 157 +Largeur interne 250 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Afficher le pourcentage Oui +Mode LCD Non +Animée par défaut Non +Type jauge Jauge linéaire +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Mise à blanc Non +Texte Markdown Non +06/08/2026 Isis_BO 986 + +Partie 3 › Fenêtre WINDEV › FEN_Login › Informations sur les champs +Image fixe Oui +Mode 9 images Non +Mode 9 images (image) Non +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 +Libellé : LIB_INFO_CONNEXION +Libellé FR: Information de connexion +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 +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 +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 Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 987 + +Partie 3 › Fenêtre WINDEV › FEN_Login › Informations sur les champs +Libellé : LIB_VERSION +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 +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 +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 +Liaison des données :gsInfoVersion +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 +Champ de saisie : SAI_LOGIN +Libellé FR: Login +Groupe GR_CONNEXION +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +06/08/2026 Isis_BO 988 + +Partie 3 › Fenêtre WINDEV › FEN_Login › Informations sur les champs +Cadrage horz. Gauche +Position X interne 157 +Largeur interne 250 +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 +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. +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 +06/08/2026 Isis_BO 989 + +Partie 3 › Fenêtre WINDEV › FEN_Login › Informations sur les champs +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome Couleur monochrome du style +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Champ de saisie : SAI_MOTDEPASSE +Libellé FR: Mot de passe +Groupe GR_CONNEXION +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 157 +Largeur interne 250 +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 +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 +06/08/2026 Isis_BO 990 + +Partie 3 › Fenêtre WINDEV › FEN_Login › Informations sur les champs +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. +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 Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FEN_Login +Code +Déclarations globales de FEN_Login +procédure FEN_Login() +IMG_LOGO = gLOGO_FOND_SOMBRE..Image +LIB_VERSION=gsInfoVersion +si pas fFichierExiste(gsaFicIni) alors +Erreur("Le fichier de configuration :",gsaFicIni,"est introuvable.", +"L'application ne peut démarrer.") +06/08/2026 Isis_BO 991 + +Partie 3 › Fenêtre WINDEV › FEN_Login › Code +FinProgramme() +fin +tbConnexion est un tableau de ST_ParamConnexion +tbConnexion=ConstruitListeConnexion(gclErreur) +si tbConnexion.Occurrence=0 alors +GR_CONNEXION..Grisé=Vrai +si pas gclErreur.p_bOk alors Erreur(gclErreur.FormateMessage()) +sinon +//Si plusieurs connexions sont paramétrées dans le fichier ini +si tbConnexion..Occurrence>1 alors +//Charge et affiche la combo des connexions possibles +pour tout st,i de tbConnexion +COMBO_ServeurEtBDD.Ajoute(st.sNomLogique+gLien(i)) +fin +COMBO_ServeurEtBDD..Visible=Vrai +//Si il n'y à qu'une connexion (cas par défaut) +sinon si tbConnexion..Occurrence=1 alors +//Masque la combo +COMBO_ServeurEtBDD..Visible=Faux +fin +si pas gclErreur.p_bOk alors Erreur(gclErreur.FormateMessage()) +fin +Fin d'initialisation de FEN_Login +FEN_Login +Code des champs +Clic sur BTN_CONNECTER +Valider() +Clic sur BTN_Fermer +FinProgramme() +Sélection d'une ligne de COMBO_ServeurEtBDD +//SelectServeurBase() +06/08/2026 Isis_BO 992 + +Partie 3 › Fenêtre WINDEV › FEN_Login › Procédures +FEN_Login +Procédures +Procédure locale Valider +procédure Valider() +bAcces est un booléen = Faux +bModeTest est un booléen = EnModeTest() // afin de pouvoir tester sans le mode test +//bModeTest = faux +quand exception dans +si SAI_LOGIN="" alors RepriseSaisie(SAI_LOGIN) +//Indice dans tbConnexion de la connexion choisie +nIndice est un entier = COMBO_ServeurEtBDD..Visible ? COMBO_ServeurEtBDD sinon 1 +stCnx est un ST_ParamConnexion +stCnx=tbConnexion[nIndice] +Sablier(Vrai) +LIB_INFO_CONNEXION = "Contrôle de l'utilisateur" +LIB_INFO_CONNEXION..Visible = Vrai +//Connexion à la base en mode cryptée ou non-cryptée avec le compte superuser +si pas OuvreConnexionBase(tbConnexion[nIndice]) alors +retour +fin +sLogin est une chaîne ANSI = SAI_LOGIN +sHashMotDePasse est une chaîne ANSI = Gauche(BufferVersHexa(HashChaîne(HA_MD5_128,SAI_ +MOTDEPASSE+Mdp3),SansRegroupement),50) +// Vérifier l’accès du collaborateur et utilisateur +rqColb est une Requête SQL = +[ +SELECT CO_AccesBO, CO_PKID , UT_AccesBO FROM Utilisateur +LEFT JOIN Collaborateur ON UT_IDCollaborateur = CO_PKID +WHERE UPPER(Utilisateur.UT_Login)={pLogin} +AND Utilisateur.UT_MotDePasse={pMdp} +] +rqColb.pLogin = Majuscule(sLogin) +si pas bModeTest alors +rqColb.pMdp = sHashMotDePasse +fin +rqColb.ExécuteRequête() +si (rqColb.CO_PKID > 0 et rqColb.CO_AccesBO) ou (rqColb.CO_PKID <= 0 et rqColb.UT_AccesBO) alors +bAcces = Vrai +fin +//L'utilisateur a été trouvé +rq est une Requête SQL = +[ +SELECT * FROM Utilisateur +WHERE UPPER(Utilisateur.UT_Login)={pLogin} +06/08/2026 Isis_BO 993 + +Partie 3 › Fenêtre WINDEV › FEN_Login › Procédures +AND Utilisateur.UT_MotDePasse={pMdp} +] +rq.pLogin = Majuscule(sLogin) +si pas bModeTest alors +rq.pMdp = sHashMotDePasse +fin +rq.ExécuteRequête() +si pas bModeTest alors +si pas HLitPremier(rq) alors +Erreur( "Compte ou mot de passe incorrect !") +retour +fin +si pas bAcces alors +Erreur( "Cet utilisateur n'a pas le droit d'accéder à l'application bureau" ) +retour +fin +sinon +HLitPremier(rq) +fin +gpclFicheUtilisateurEnCours = PFicheUtilisateur.gNouvellePresentation() +gpclFicheUtilisateurEnCours.Charger(rq) +//L'utilisateur HFSQL existe-t-il ? +bUserExiste est un booléen +sMdpHF est une chaîne ANSI = Crypte(sLogin, "62, rue Langénieux", crypteSécurisé, +Vrai)+"@APPLILOGIK" +bUserExiste = HInfoUtilisateur(gcnxBO,sLogin) _et_ ChaîneFormate(HUtilisateur.Login,ccMajuscule)= +ChaîneFormate(sLogin,ccMajuscule) +nMode est un entier +si bUserExiste alors +//Ré-écriture de son mdp +HUtilisateur.Login = sLogin +si pas HUtilisateur.SuperUtilisateur alors +HUtilisateur.MotDePasse = sMdpHF +fin +HUtilisateur.NomComplet = rq.UT_Prenom +" " + rq.UT_Nom +HUtilisateur.Groupes = groupeUserClient +HModifieUtilisateur(gcnxBO,HUtilisateur.Login) +// 1 : L'utilisateur est un utilisateur standard +// 2 : L'utilisateur est un utilisateur administrateur client ou un super utilisateur HFSQL +nMode = (pas HUtilisateur.Groupes dans (groupeAdminClient)) _et_ (pas HUtilisateur. +SuperUtilisateur) ? 1 sinon (HUtilisateur.Groupes dans (groupeAdminClient)) _ou_ (HUtilisateur. +SuperUtilisateur) ? 2 sinon 3 +sinon +nMode = 1 +//Création du compte de l'utilisateur +HUtilisateur.Login = sLogin +HUtilisateur.MotDePasse = sMdpHF +HUtilisateur.NomComplet = rq.UT_Prenom +" " + rq.UT_Nom +HUtilisateur.Groupes = groupeUserClient +si pas HAjouteUtilisateur(gcnxBO) alors +Info("Le compte utilisateur "+sLogin+" n'a pu être créé sur le serveur", +"Informez en votre administrateur") +fin +fin +si nMode=1 alors +//Limitation à une connexion par utilisateur. Règle imposée pour gérer les licences +06/08/2026 Isis_BO 994 + +Partie 3 › Fenêtre WINDEV › FEN_Login › Procédures +sListeUser est une chaîne = HListeUtilisateurConnecté(gcnxBO,gcnxBO..BaseDeDonnées) +si Contient(sListeUser,sLogin) alors +Erreur( "Cet utilisateur est déjà connecté") +retour +fin +fin +//Re-connexion à la base avec le login de l'utilisateur. +gcnxBO.FermeConnexion() +gcnxBO.Utilisateur = sLogin +gcnxBO.MotDePasse= sMdpHF +si pas gcnxBO.OuvreConnexion() alors +Erreur("Erreur de connexion avec le compte "+sLogin,ErreurInfo(errMessage)) +retour +fin +gsLibConnexionCourante = gcnxBO..Serveur +TAB+gcnxBO..BaseDeDonnées +gbBATIGESTActif = ParametreSystemeLit("BATIGEST_ACTIF",0,Faux, +"Indique si le module BATIGEST est actif") +MAJApresSelonVersion() +PFicheUtilisateur.gListeParamUtilisateur(gpclFicheUtilisateurEnCours) +//gpclPresenListeParamUtilisateur=PTableParametreUtilisateur.gNouvellePresentation(gpclFicheUtilisa +teurEnCours.m_nPKID) +PFicheUtilisateur.gListeSocietePossible(gpclFicheUtilisateurEnCours) +PFicheUtilisateur.gListeAccesEtDroit(gpclFicheUtilisateurEnCours) +si gpclFicheUtilisateurEnCours:ListeParametreUtilisateur<>Null alors +//Récupération des préférences de messagerie +gpclFichePrefMessagerie <- gpclFicheUtilisateurEnCours:p_PrefMessagerie +//Récupération de la configuration de messagerie +// gpclFicParamEnvoiEmail <- gpclFicheUtilisateurEnCours:p_ParamEnvoiMail +fin +ChargeParametreMetier() +gpclListeParamAppli = PTableParametreApplication.gNouvellePresentation() +gsCodeClient = ParametreSystemeLit(cParam_CodeClient) +//Test pour les bases installées avant cet ajout. +si gsCodeClient="" alors +gsCodeClient=Gauche(gcnxBO..BaseDeDonnées,Taille(gcnxBO..BaseDeDonnées)-4) +ParametreSystemeEcrit(cParam_CodeClient,gsCodeClient) +fin +Utilise(FEN_Menu) +faire +Erreur(ErreurInfo(errMessage)) +fin +06/08/2026 Isis_BO 995 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Image +FEN_Parametres_Granularite_RDV +Image +FEN_Parametres_Granularite_RDV +Informations générales +FEN_Parametres_Granularite_RDV +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Parametres_Granularite_RDV.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ------------------------------ | --------- | --------------- | --- | +| Date de création | | 08/08/2024 11:38:27 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 29/04/2025 17:40:59 | | | | +| Titre | | FR: Paramètres granularité RDV | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1206 Hauteur | 235 | +| 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 | | | | +| ------------ | --- | ----- | ------- | --- | --- | +| 06/08/2026 | | | Isis_BO | | 996 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations générales +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Non +Type cadre Double +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Image poignée D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +Statistiques de la fenêtre +Champ de saisie 5 Libellé 4 +Bouton 7 Image 2 +Table 3 Combo 1 +Forme 1 Superchamp 1 +Colonne de table 12 +06/08/2026 Isis_BO 997 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations générales +Nombre d'éléments dans la fenêtre : 36 +FEN_Parametres_Granularite_RDV +Informations sur les champs +Fenêtre : FEN_Parametres_Granularite_RDV +Superchamp +BAT ehcuoT +| | | | X noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| SC_FicheRDV | | | 4 | 6 1188 | 217 | 0 | Actif | | +| ----------- | --- | --- | --- | ------ | --- | --- | ----- | --- | +Superchamp : SC_FicheRDV +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_HeureDO | 11 197 | 92 22 | 0 | Actif Heure | Non | | | | +| -------------- | ------- | ----- | --- | ----------- | --- | --- | --- | --- | +| SAI_HeureDV | 13 132 | 92 22 | 0 | Actif Heure | Non | | | | +| SAI_HeureFO | 109 197 | 72 22 | 0 | Actif Heure | Non | | | | +| SAI_HeureFV | 111 132 | 72 22 | 0 | Actif Heure | Non | | | | +| SAI_TempsGranu | 17 67 | 47 21 | 0 | Actif Texte | Non | | | | +| 06/08/2026 | | | | Isis_BO | | | | 998 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › 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é | | 464 10 | 220 | 25 | 0 | Actif | Gauche | Haut | | +| ----------- | --- | ------ | --- | --- | --- | ----- | ------ | ---- | --- | +| LIB_Titre1 | | 10 41 | 173 | 20 | 0 | Actif | Gauche | Haut | | +| LIB_Titre2 | | 13 107 | 148 | 20 | 0 | Actif | Gauche | Haut | | +| LIB_Titre3 | | 11 172 | 148 | 20 | 0 | Actif | Gauche | Haut | | +Bouton +notuob epyT +| | | | | | | | laitini tatE | BAT ehcuoT | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | --- | +| | | X noitisoP | Y noitisoP | | | | | | | +| | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_BulleHaut | | 925 | 97 | 35 | 29 | 0 | Actif | | Validati | +| -------------- | --- | ---- | --- | --- | --- | --- | ----- | --- | -------- | +| BTN_BulleMoins | | 925 | 132 | 35 | 29 | 0 | Actif | | Validati | +| BTN_DescHaut | | 675 | 97 | 35 | 29 | 0 | Actif | | Validati | +| BTN_DescrMoins | | 675 | 132 | 35 | 29 | 0 | Actif | | Validati | +| BTN_TitreHaut | | 428 | 97 | 35 | 29 | 0 | Actif | | Validati | +| BTN_TitreMoins | | 428 | 132 | 35 | 29 | 0 | Actif | | Validati | +| BTN_Valider | | 1158 | 192 | 24 | 24 | 0 | Actif | | Normal | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | | laitini tatE | | sucof cevA | +| --- | --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------- | ---------- | +| | | X noitisoP | Y noitisoP | | | | | | | +| | | | ruegraL | | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Pregunta | | 1152 | 11 | 30 | 30 | 0 | Actif | | | +| ------------- | --- | ---- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_RdvDescrp | | 975 | 18 | 169 | 164 | 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 | | | | | | +| --- | --------------------- | ------- | ------- | ------------ | -------- | --- | --- | --- | --- | +| | | ruetuaH | | | sruocraP | | | | | +| | | ruegraL | elbisiV | | | | | | | +elbaT +nalP +Mémoir +| TABLE_BulleRDV | 720 | 41 202 178 | 0 Actif | | | | | | 3 | +| -------------- | --- | ---------- | ------- | --- | ------ | --- | --- | --- | --- | +| TABLE_DescRDV | 470 | 41 202 178 | 0 Actif | | Mémoir | | | | 3 | +Mémoir +| TABLE_TitreRDV | 220 | 40 202 178 | 0 Actif | | | | | | 3 | +| -------------- | --- | ---------- | ------- | ------- | --- | --- | --- | --- | --- | +| 06/08/2026 | | | | Isis_BO | | | | | 999 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › 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 +| COMBO_Heure | 78 | 65 | 81 24 | 0 Actif | Mémoire | | Non | | +| ----------- | --- | --- | ----- | ------- | ------- | --- | --- | --- | +Forme +BAT ehcuoT +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | +| --- | --- | --- | ---------- | ---------- | ------- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_SansNom1 | | | 209 | 7 4 | 214 | 0 | Actif | | +| ------------ | --- | --- | --- | --- | --- | --- | ----- | --- | +Table : SC_FicheRDV.TABLE_BulleRDV +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +| | | | | ehcuag à eéxiF | .zroh egardaC | | | | +| --- | --- | --- | --- | -------------- | ------------- | --- | --- | --- | +.trev egardaC +| | | | | elbaçalpéD | | | eisias epyT FTR tamroF | eisias cevA | +| ---------- | ---- | --------------- | ------------ | ---------- | ------------- | ------- | ---------------------- | ----------- | +| | | | laitini tatE | | | | engilitluM | | +| | | ruegraL elbisiV | | | | | | | +| | epyT | | | | | | | eéirT | +| COL_Option | | 244 | Grisé | | Gauche Centre | Texte | | | +| COL_Sel_Op | | 32 | Actif | | Centre Centre | | | | +| COL_Nom_Op | | 111 | affichag | | Gauche Centre | Texte | | | +| COL_Ordre | | 100 | Grisé | | Droite Centre | Numériq | | | +Table : SC_FicheRDV.TABLE_DescRDV +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_Option | | 244 | Grisé | | Gauche Centre | Texte | | | +| COL_Sel_Op | | 32 | Actif | | Centre Centre | | | | +| COL_Nom_Op | | 111 | affichag | | Gauche Centre | Texte | | | +Numériq +| COL_Ordre | | 100 | Grisé | | Droite Centre | | | | +| ---------- | --- | --- | ----- | ------- | ------------- | --- | --- | ---- | +| 06/08/2026 | | | | Isis_BO | | | | 1000 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Table : SC_FicheRDV.TABLE_TitreRDV +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_Option | 244 | Grisé | | Gauche Centre | Texte | | +| COL_Sel_Op | 32 | Actif | | Centre Centre | | | +| COL_Nom_Op | 132 | affichag | | Gauche Centre | Texte | | +Numériq +| COL_Ordre | 100 | Grisé | | Droite Centre | | | +| --------- | --- | ----- | --- | ------------- | --- | --- | +Fenêtre : FEN_Parametres_Granularite_RDV +Superchamp : SC_FicheRDV +| 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 | 1186 | | | | | | +| Hauteur externe | 215 | | | | | | +| 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 | Largeur | | | | | | +Taux anc. droite 270 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Isis_BO | | | 1001 | +| ---------- | --- | --- | ------- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Superchamp : SC_FicheRDV +Bouton : SC_FicheRDV.BTN_BulleHaut +Groupe GR_BTN +Ordre navigation 8 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\flecheHaut.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 860 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1002 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Bouton : SC_FicheRDV.BTN_BulleMoins +Groupe GR_BTN +Ordre navigation 13 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\flecheBas.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 860 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1003 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Bouton : SC_FicheRDV.BTN_DescHaut +Groupe GR_BTN +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\flecheHaut.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 560 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1004 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Bouton : SC_FicheRDV.BTN_DescrMoins +Groupe GR_BTN +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\flecheBas.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 560 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1005 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Bouton : SC_FicheRDV.BTN_TitreHaut +Groupe GR_BTN +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\flecheHaut.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 260 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1006 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Bouton : SC_FicheRDV.BTN_TitreMoins +Groupe GR_BTN +Ordre navigation 11 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\flecheBas.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 260 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1007 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Bouton : SC_FicheRDV.BTN_Valider +Ordre navigation 14 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Non +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Valider la granularité du rendez-vous +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\ANL01610a.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1008 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Combo : SC_FicheRDV.COMBO_Heure +Contenu initial FR: Minute(s) +Heure(s) +Jour(s) +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 81 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 78 +Largeur interne 81 +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 +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 +06/08/2026 Isis_BO 1009 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : SC_FicheRDV.FRM_SansNom1 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : SC_FicheRDV.IMG_Pregunta +Libellé FR: FAQ +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\pregunta.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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 +06/08/2026 Isis_BO 1010 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Bulle d'aide FR: FAQ +Nouvelles fonctionnalités +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. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : SC_FicheRDV.IMG_RdvDescrp +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\RdvDescrp.PNG +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +06/08/2026 Isis_BO 1011 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 880 Taux anc. bas 1000 Taux anc. largeur 120 Taux anc. hauteur 1000 +Libellé : SC_FicheRDV.LIB_Libellé +Libellé FR: Visualisation du rendez-vous +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1012 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Libellé : SC_FicheRDV.LIB_Titre1 +Libellé FR: Granularité Rendez-vous : +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : SC_FicheRDV.LIB_Titre2 +Libellé FR: Heures visibles : +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 +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 +06/08/2026 Isis_BO 1013 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : SC_FicheRDV.LIB_Titre3 +Libellé FR: Heures ouvrables : +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1014 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Champ de saisie : SC_FicheRDV.SAI_HeureDO +Libellé FR: Début +Ordre navigation 15 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 53 +Largeur interne 45 +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 +Format retour HHMM +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1015 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SC_FicheRDV.SAI_HeureDV +Libellé FR: Début +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 55 +Largeur interne 45 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 1016 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: HH:MM +Format retour HHMM +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1017 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Champ de saisie : SC_FicheRDV.SAI_HeureFO +Libellé FR: Fin +Ordre navigation 16 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 135 +Largeur interne 46 +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 +Format retour HHMM +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1018 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SC_FicheRDV.SAI_HeureFV +Libellé FR: Fin +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 137 +Largeur interne 46 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 1019 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: HH:MM +Format retour HHMM +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1020 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Champ de saisie : SC_FicheRDV.SAI_TempsGranu +Libellé FR: &Champ de saisie +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 17 +Largeur interne 47 +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 +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 +06/08/2026 Isis_BO 1021 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : SC_FicheRDV.TABLE_BulleRDV +Libellé FR: Table +Ordre navigation 3 +Curseur survol 0 +Mode Loupe Filtre +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) 16 +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 +06/08/2026 Isis_BO 1022 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +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. +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 +Taux anc. droite 600 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1023 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Table : SC_FicheRDV.TABLE_DescRDV +Libellé FR: Table +Ordre navigation 2 +Curseur survol 0 +Mode Loupe Filtre +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) 16 +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 +06/08/2026 Isis_BO 1024 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 300 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +Table : SC_FicheRDV.TABLE_TitreRDV +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre +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) 16 +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 +06/08/2026 Isis_BO 1025 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 0 Taux anc. largeur 250 Taux anc. hauteur 1000 +Table : SC_FicheRDV.TABLE_BulleRDV +Colonne de table : SC_FicheRDV.TABLE_BulleRDV.COL_Option (1) +Titre FR: Option +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 +06/08/2026 Isis_BO 1026 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_FicheRDV.TABLE_BulleRDV.COL_Sel_Op (2) +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1027 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Colonne de table : SC_FicheRDV.TABLE_BulleRDV.COL_Nom_Op (3) +Titre FR: Bulle 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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_FicheRDV.TABLE_BulleRDV.COL_Ordre (4) +Titre FR: Ordre +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: 999 +06/08/2026 Isis_BO 1028 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Table : SC_FicheRDV.TABLE_DescRDV +Colonne de table : SC_FicheRDV.TABLE_DescRDV.COL_Option (1) +Titre FR: Option +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1029 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Colonne de table : SC_FicheRDV.TABLE_DescRDV.COL_Sel_Op (2) +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_FicheRDV.TABLE_DescRDV.COL_Nom_Op (3) +Titre FR: Description 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 +Verifier l'orthographe Non +06/08/2026 Isis_BO 1030 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_FicheRDV.TABLE_DescRDV.COL_Ordre (4) +Titre FR: Ordre +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: 999 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1031 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Table : SC_FicheRDV.TABLE_TitreRDV +Colonne de table : SC_FicheRDV.TABLE_TitreRDV.COL_Option (1) +Titre FR: Option +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_FicheRDV.TABLE_TitreRDV.COL_Sel_Op (2) +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +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 +06/08/2026 Isis_BO 1032 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_FicheRDV.TABLE_TitreRDV.COL_Nom_Op (3) +Titre FR: Titre 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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1033 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Informations sur les champs +Colonne de table : SC_FicheRDV.TABLE_TitreRDV.COL_Ordre (4) +Titre FR: Ordre +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: 999 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FEN_Parametres_Granularite_RDV +Code +Déclarations globales de FEN_Parametres_Granularite_RDV +procédure FEN_Parametres_Granularite_RDV() +gstPrefUserAGD est un ST_ChoixAGD +gnGranulariteRDV est un entier = gpclFicheUtilisateurEnCours:GranulariteRDV() +ghHDO,ghHFO sont des Heures +ghHDV,ghHFV sont des Heures +(ghHDO,ghHFO) = gpclFicheUtilisateurEnCours:HeuresOuvrablesRDV() +(ghHDV,ghHFV) = gpclFicheUtilisateurEnCours:HeuresVisiblesRDV() +gbModif est un booléen = Faux +Fin d'initialisation de FEN_Parametres_Granularite_RDV +06/08/2026 Isis_BO 1034 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Code +Filtre() +Fermeture de FEN_Parametres_Granularite_RDV +renvoyer gbModif +FEN_Parametres_Granularite_RDV +Code des champs +Initialisation de BTN_BulleHaut ( SC_FicheRDV ) +// Version 1 +// Description +// Bouton en validation +Clic sur BTN_BulleHaut ( SC_FicheRDV ) +MonterTBLRDV(TABLE_BulleRDV..Nom) +Initialisation de BTN_BulleMoins ( SC_FicheRDV ) +// Version 1 +// Description +// Bouton en validation +Clic sur BTN_BulleMoins ( SC_FicheRDV ) +DescendreTBLRDV(TABLE_BulleRDV..Nom) +Initialisation de BTN_DescHaut ( SC_FicheRDV ) +// Version 1 +// Description +// Bouton en validation +Clic sur BTN_DescHaut ( SC_FicheRDV ) +MonterTBLRDV(TABLE_DescRDV..Nom) +Initialisation de BTN_DescrMoins ( SC_FicheRDV ) +// Version 1 +// Description +// Bouton en validation +Clic sur BTN_DescrMoins ( SC_FicheRDV ) +06/08/2026 Isis_BO 1035 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Code des champs +DescendreTBLRDV(TABLE_DescRDV..Nom) +Initialisation de BTN_TitreHaut ( SC_FicheRDV ) +// Version 1 +// Description +// Bouton en validation +Clic sur BTN_TitreHaut ( SC_FicheRDV ) +MonterTBLRDV(TABLE_TitreRDV..Nom) +Initialisation de BTN_TitreMoins ( SC_FicheRDV ) +// Version 1 +// Description +// Bouton en validation +Clic sur BTN_TitreMoins ( SC_FicheRDV ) +DescendreTBLRDV(TABLE_TitreRDV..Nom) +Clic sur BTN_Valider ( SC_FicheRDV ) +nGranularite est un entier +selon COMBO_Heure +cas 1 +nGranularite = SAI_TempsGranu +cas 2 +nGranularite = Val(SAI_TempsGranu)*60 +cas 3 +nGranularite = (Val(SAI_TempsGranu)*60)*24 +autre cas +fin +si nGranularite <> gnGranulariteRDV alors +gpclFicheUtilisateurEnCours:GranulariteRDV(nGranularite) +gbModif = Vrai +fin +si ghHDO <> SAI_HeureDO ou ghHFO <> SAI_HeureFO alors +gpclFicheUtilisateurEnCours:HeuresOuvrablesRDV(SAI_HeureDO,SAI_HeureFO) +gbModif = Vrai +fin +si ghHDV <> SAI_HeureDV ou ghHFV <> SAI_HeureFV alors +gpclFicheUtilisateurEnCours:HeuresVisiblesRDV(SAI_HeureDV,SAI_HeureFV) +gbModif = Vrai +fin +EnregistrerPrefUser() +Ferme() +Clic sur IMG_Pregunta ( SC_FicheRDV ) +InitVisiteParamAGD() +Initialisation de LIB_Libellé ( SC_FicheRDV ) +06/08/2026 Isis_BO 1036 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Code des champs +// Version 1 +// Description +// Libellé simple +Initialisation de SAI_HeureDO ( SC_FicheRDV ) +// Version 1 +// Description +// Saisie d'heure à la souris avec les composantes heure et minute chacune dans un champ Combo +// Personnalisez ici la valeur initiale de l'heure à saisir +MoiMême = ghHDO +Bouton gauche relâché (WM_LBUTTONUP) de SAI_HeureDO ( SC_FicheRDV ) +// Ouvre la popup d'édition de l'heure +MoiMême = OuvrePopup(FEN_Popup_Saisie_Heure,MoiMême) +Initialisation de SAI_HeureDV ( SC_FicheRDV ) +// Version 1 +// Description +// Saisie d'heure à la souris avec les composantes heure et minute chacune dans un champ Combo +// Personnalisez ici la valeur initiale de l'heure à saisir +MoiMême = ghHDV +Bouton gauche relâché (WM_LBUTTONUP) de SAI_HeureDV ( SC_FicheRDV ) +// Ouvre la popup d'édition de l'heure +MoiMême = OuvrePopup(FEN_Popup_Saisie_Heure,MoiMême) +Initialisation de SAI_HeureFO ( SC_FicheRDV ) +// Version 1 +// Description +// Saisie d'heure à la souris avec les composantes heure et minute chacune dans un champ Combo +// Personnalisez ici la valeur initiale de l'heure à saisir +MoiMême = ghHFO +Bouton gauche relâché (WM_LBUTTONUP) de SAI_HeureFO ( SC_FicheRDV ) +// Ouvre la popup d'édition de l'heure +MoiMême = OuvrePopup(FEN_Popup_Saisie_Heure,MoiMême) +Initialisation de SAI_HeureFV ( SC_FicheRDV ) +// Version 1 +// Description +// Saisie d'heure à la souris avec les composantes heure et minute chacune dans un champ Combo +// Personnalisez ici la valeur initiale de l'heure à saisir +MoiMême = ghHFV +Bouton gauche relâché (WM_LBUTTONUP) de SAI_HeureFV ( SC_FicheRDV ) +06/08/2026 Isis_BO 1037 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Code des champs +// Ouvre la popup d'édition de l'heure +MoiMême = OuvrePopup(FEN_Popup_Saisie_Heure,MoiMême) +Initialisation de SAI_TempsGranu ( SC_FicheRDV ) +MoiMême=gnGranulariteRDV +FEN_Parametres_Granularite_RDV +Procédures +Procédure locale DescendreTBLRDV +procédure DescendreTBLRDV(sNomTable est une chaîne ANSI) +k est un entier = {sNomTable} +si k > 0 alors +TableDéplaceLigne(sNomTable, k, tdSuivant, tdEchange) +fin +Procédure locale EnregistrerPrefUser +procédure EnregistrerPrefUser() +bufResulBuf est un Buffer +si gstPrefUserAGD <> Null alors +EnrInfoRDV(TABLE_TitreRDV..Nom, gstPrefUserAGD.tabTitreRDV) +EnrInfoRDV(TABLE_DescRDV..Nom, gstPrefUserAGD.tabDescrRDV) +EnrInfoRDV(TABLE_BulleRDV..Nom, gstPrefUserAGD.tabBulleRDV) +// Remettre les Id dans l'ordre afin d'eviter d'avoir de doubler qui peuvent causer problemes +pour tout stListe, saCle de gstPrefUserAGD.tabListe +stListe.nId = Val(saCle) +fin +Sérialise(gstPrefUserAGD,bufResulBuf,psdJSON) +fin +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,[c_Choix_AGD_PL,gpcl +FicheUtilisateurEnCours:m_nPKID]) +si HTrouve(ParametreUtilisateur) alors +ParametreUtilisateur.PU_Valeur = bufResulBuf +sinon +HRAZ(ParametreUtilisateur) +ParametreUtilisateur.PU_IDUtilisateur = gpclFicheUtilisateurEnCours:m_nPKID +ParametreUtilisateur.PU_Code = c_Choix_AGD_PL +ParametreUtilisateur.PU_Valeur = bufResulBuf +fin +si HEnregistre(ParametreUtilisateur) alors +gbModif = Vrai +sinon +LogEcrit("Erreur pendant l’enregistrement de la préférence agenda"+RC+HErreurInfo(hErrComplet), +eErreur) +06/08/2026 Isis_BO 1038 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Procédures +Info("Une erreur s'est produite lors de l'enregistrement de vos préférences d'agenda") +fin +Procédure locale EnrInfoRDV +procédure EnrInfoRDV(sNomTable est une chaîne ANSI, tabChoix est un tableau de STItemChoixRDV) +TableauSupprimeTout(tabChoix) +pstChoix est un STItemChoixRDV dynamique +i est un entier +pour toute ligne b de {sNomTable} +si {sNomTable+"["+b+"].COL_Sel_Op"} = Vrai alors +i+= 1 +pstChoix = allouer un STItemChoixRDV +pstChoix.nOrdre = i +pstChoix.saOption = {sNomTable+"["+b+"].COL_Option"} +TableauAjoute(tabChoix,pstChoix) +fin +fin +Procédure locale Filtre +procédure Filtre() +gstPrefUserAGD = ChargePrefAGD() +FiltreTBLDeatilsRDV(TABLE_TitreRDV..Nom,gstPrefUserAGD.tabTitreRDV) +FiltreTBLDeatilsRDV(TABLE_DescRDV..Nom,gstPrefUserAGD.tabDescrRDV) +FiltreTBLDeatilsRDV(TABLE_BulleRDV..Nom,gstPrefUserAGD.tabBulleRDV) +TABLE_TitreRDV = -1 +TABLE_DescRDV = -1 +TABLE_BulleRDV = -1 +Procédure locale FiltreTBLDeatilsRDV +procédure FiltreTBLDeatilsRDV(sNomTable est une chaîne ANSI, tabChoix est un tableau de STItemChoixRDV) +TableSupprimeTout(sNomTable) +i est un entier +i+= 1 +TableAjouteLigne(sNomTable,cAGD_HRDV,Faux,"Heure",i) +i+= 1 +TableAjouteLigne(sNomTable,cAGD_NDevis,Faux,"Numéro de devis",i) +i+= 1 +TableAjouteLigne(sNomTable,cAGD_NInter,Faux,"Numéro d'intervention",i) +i+= 1 +TableAjouteLigne(sNomTable,cAGD_RefExtInter,Faux,"Référence externe",i) +i+= 1 +TableAjouteLigne(sNomTable,cAGD_TypeRDV,Faux,"Type de rendez-vous",i) +i+= 1 +TableAjouteLigne(sNomTable,cAGD_SiteNom,Faux,"Nom du site",i) +i+= 1 +TableAjouteLigne(sNomTable,cAGD_Site,Faux,"Adresse",i) +06/08/2026 Isis_BO 1039 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Granularite_RDV › Procédures +i+= 1 +TableAjouteLigne(sNomTable,cAGD_Contact,Faux,"Contact du rendez-vous",i) +i+= 1 +TableAjouteLigne(sNomTable,cAGD_Obj,Faux,"Objet du rendez-vous",i) +i+= 1 +TableAjouteLigne(sNomTable,cAGD_Note,Faux,"Note du rendez-vous",i) +// Mettre à jour la table avec le choix de l'utilisateur +TableauTrie(tabChoix,ttMembre+tccRespecteNumérique,"+nOrdre") +pour tout stChoix de tabChoix +npos est un entier = TableCherche(sNomTable+".COL_Option", stChoix.saOption, rechercheIdentique) +si npos > 0 alors +{sNomTable+"["+npos+"].COL_Sel_Op"} = Vrai +{sNomTable+"["+npos+"].COL_Ordre"} = stChoix.nOrdre +si npos <> stChoix.nordre alors +TableDéplaceLigne(sNomTable,npos,stChoix.nOrdre,tdEchange) +fin +fin +fin +Procédure locale MonterTBLRDV +procédure MonterTBLRDV(sNomTable est une chaîne ANSI) +k est un entier = {sNomTable} +si k > 0 alors +TableDéplaceLigne(sNomTable, k, tdPrécédent, tdEchange) +fin +06/08/2026 Isis_BO 1040 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Dossier › Image +FEN_Parametres_Dossier +Image +FEN_Parametres_Dossier +Informations générales +FEN_Parametres_Dossier +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Parametres_Dossier.wdw +Créé par SMR +Date de création 08/08/2024 11:38:27 +Dernière modification par SMR +Date dernière modification 09/07/2025 12:13:54 +06/08/2026 Isis_BO 1041 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Dossier › Informations générales +| Titre | | FR: Paramètres dossier | | | | +| ------------------------ | ---------- | ----------------------------- | ------- | --------------- | --- | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 557 | 626 | +| Position X | Position Y | | Largeur | Hauteur | | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Non | | | | +| Type cadre | | Double | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| Anim. Fermeture | | 0 | | | | +| Durée Anim. Ouverture | | 100 | | | | +| Durée Anim. Fermeture | | 50 | | | | +| Adapte Taille contenu | | Non | | | | +| 06/08/2026 | | | Isis_BO | | 1042 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Dossier › Informations générales +| Assombri quand inactif | | Oui | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | --- | +Déplace souris sur bouton par +Non +| Compact. barres outils | | Non | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | --- | +Image poignée D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\190 GENSTEEL\Gensteel_Resize.gif +Statistiques de la fenêtre +| | Libellé | | 3 | Bouton | | | | 1 | +| --- | ------------------- | --- | --- | ------ | --- | --- | --- | --- | +| | Sélecteur | | 3 | Image | | | | 1 | +| | Option de sélecteur | | 20 | | | | | | +Nombre d'éléments dans la fenêtre : 28 +FEN_Parametres_Dossier +Informations sur les champs +Fenêtre : FEN_Parametres_Dossier +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Titre1 | | 6 14 | 306 20 | 0 | Actif | Gauche | Haut | | +| ---------- | --- | ----- | ------ | --- | ----- | ------ | ---- | --- | +| LIB_Titre2 | | 9 236 | 427 20 | 0 | Actif | Gauche | Haut | | +| LIB_Titre3 | | 9 363 | 512 15 | 0 | Actif | Gauche | Haut | | +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | | X noitisoP | Y noitisoP | | | | | | +| --- | --- | ---------- | ---------- | ------- | --- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Valider | | 507 | 586 24 | 24 | 0 | Actif | Normal | | +| ----------- | --- | --- | ------- | --- | --- | ----- | ------ | ---- | +| 06/08/2026 | | | Isis_BO | | | | | 1043 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Dossier › Informations sur les champs +Sélecteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | staté siorT | +| --- | --------------------- | --- | --- | ------------ | --- | ----------- | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| SEL_Mode_de_trie_1 | 9 40 | 510 190 | 0 | Actif | 1 | | +| ------------------ | ----- | ------- | --- | ----- | --- | --- | +| SEL_Mode_de_trie_2 | 9 256 | 510 95 | 0 | Actif | 1 | | +| SEL_Mode_de_trie_3 | 9 384 | 510 95 | 0 | Actif | 1 | | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | ------- | --- | ------------ | --- | ---------- | +| | | ruetuaH | | cilc cevA | | | +| | | ruegraL | | elbisiV | | | +nalP +| IMG_SansNom1 | 6 479 | 484 141 | 0 | Actif | | | +| ------------ | ----- | ------- | --- | ----- | --- | --- | +Fenêtre : FEN_Parametres_Dossier +Bouton : BTN_Valider +| 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 | | | | | | | +| Retrait gauche | 2 | | | | | | +| Réduction Ruban | Ne pas réduire le bouton | | | | | | +| Cadrage fonctions gXXX | Cadrage ignoré (pour compatibilité) | | | | | | +| Bulle d'aide | FR: Valider la granularité du rendez-vous | | | | | | +| Numéro aide | 0 | | | | | | +| Opacité | 100 | | | | | | +| Autorise ChangeGabarit | Oui | | | | | | +| Animer si trop long | Non | | | | | | +| Animée par défaut | Oui | | | | | | +| Mode ellipse | | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +Facteur d'agrandissement +0 +| 06/08/2026 | | Isis_BO | | | | 1044 | +| ---------- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Dossier › Informations sur les champs +Type flèche +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\ANL01610a.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_SansNom1 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\DescripImg.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. Oui +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1045 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Dossier › Informations sur les champs +Libellé : LIB_Titre1 +Libellé FR: Trier les interventions par : +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Titre2 +Libellé FR: Titre des onglets des interventions : +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 +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 +06/08/2026 Isis_BO 1046 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Dossier › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Titre3 +Libellé FR: Sous-titre des onglets des interventions : +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1047 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Dossier › Informations sur les champs +Sélecteur : SEL_Mode_de_trie_1 +Valeur initiale 1 +Ordre navigation 1 +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 +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. +Liaison des données :gnTrie +Image D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\190 GENSTEEL\Gensteel_Radio.png +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 6 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1048 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Dossier › Informations sur les champs +Sélecteur : SEL_Mode_de_trie_2 +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 +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. +Liaison des données :gnTitre +Image D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\190 GENSTEEL\Gensteel_Radio.png +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 6 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1049 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Dossier › Informations sur les champs +Sélecteur : SEL_Mode_de_trie_3 +Valeur initiale 1 +Ordre navigation 3 +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 +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. +Liaison des données :gnSousTitre +Image D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\190 GENSTEEL\Gensteel_Radio.png +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 6 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1050 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Dossier › Code +FEN_Parametres_Dossier +Code +Déclarations globales de FEN_Parametres_Dossier +procédure FEN_Parametres_Dossier() +gsValeurDefaut est une chaîne ANSI = "4_2_4" +gnTrie, gnTitre, gnSousTitre sont des entiers +gbModif est un booléen = Faux +Fin d'initialisation de FEN_Parametres_Dossier +Filtre() +Fermeture de FEN_Parametres_Dossier +renvoyer gbModif +FEN_Parametres_Dossier +Code des champs +Clic sur BTN_Valider +EnregistrePreference() +Ferme() +Entrée en survol de IMG_SansNom1 +IMG_SansNom1..Zoom = 100 +Sortie du survol de IMG_SansNom1 +IMG_SansNom1..Zoom = zoomAdapteTaille +Initialisation de SEL_Mode_de_trie_1 +// Version 1 +// Description +// Sélecteur du mode de paiement +Initialisation de SEL_Mode_de_trie_2 +06/08/2026 Isis_BO 1051 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Dossier › Code des champs +// Version 1 +// Description +// Sélecteur du mode de paiement +Initialisation de SEL_Mode_de_trie_3 +// Version 1 +// Description +// Sélecteur du mode de paiement +FEN_Parametres_Dossier +Procédures +Procédure locale EnregistrePreference +procédure EnregistrePreference() +si gnTrie <> SEL_Mode_de_trie_1 ou gnTitre <> SEL_Mode_de_trie_2 ou gnSousTitre <> SEL_Mode_de_trie_3 +alors +gbModif = Vrai +fin +si gbModif et gpclFicheUtilisateurEnCours:m_nPKID > 0 alors +EcranVersSource() +sValeur est une chaîne ANSI = gnTrie+"_"+gnTitre+"_"+gnSousTitre +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,[c_NomParamTrieInter,gpcl +FicheUtilisateurEnCours:m_nPKID]) +si pas HTrouve(ParametreUtilisateur) alors +HRAZ(ParametreUtilisateur) +ParametreUtilisateur.PU_Code = c_NomParamTrieInter +ParametreUtilisateur.PU_IDUtilisateur = gpclFicheUtilisateurEnCours:m_nPKID +fin +ParametreUtilisateur.PU_Valeur = sValeur +HEnregistre(ParametreUtilisateur) +PFicheUtilisateur.gListeParamUtilisateur(gpclFicheUtilisateurEnCours) +fin +Procédure locale Filtre +procédure Filtre() +sValeur est une chaîne ANSI +si gpclFicheUtilisateurEnCours:m_nPKID > 0 alors +nIndice est un entier=TableauCherche(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur. +m_clTabModele,tcLinéaire,"m_nIDUtilisateur;m_sCode",gpclFicheUtilisateurEnCours:m_nPKID, +c_NomParamTrieInter) +si nIndice>0 alors +06/08/2026 Isis_BO 1052 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Dossier › Procédures +sValeur = gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele[nIndice].m_s +Valeur +sinon +HRAZ(ParametreUtilisateur) +ParametreUtilisateur.PU_Code = c_NomParamTrieInter +ParametreUtilisateur.PU_IDUtilisateur = gpclFicheUtilisateurEnCours:m_nPKID +ParametreUtilisateur.PU_Valeur = gsValeurDefaut +HAjoute(ParametreUtilisateur) +sValeur = gsValeurDefaut +fin +fin +si sValeur <> "" alors +gnTrie=Val(ExtraitChaîne(sValeur,1,"_",DepuisDébut)) +gnTitre=Val(ExtraitChaîne(sValeur,2,"_",DepuisDébut)) +gnSousTitre=Val(ExtraitChaîne(sValeur,3,"_",DepuisDébut)) +fin +SourceVersEcran() +06/08/2026 Isis_BO 1053 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche › Image +FEN_Fiche +Image +FEN_Fiche +Informations générales +FEN_Fiche +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Fiche.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | ---- | +| Date de création | | 13/08/2024 08:13:04 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:23 | | | | +| Titre | | FR: Fiche | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à l'écran | | | | +| Position X | 0 Position Y | | 0 Largeur | 1042 Hauteur | 376 | +| 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 | | +| 06/08/2026 | | | Isis_BO | | 1054 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche › Informations générales +| 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 | | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| 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 | | | | | +| Grisé : Utiliser couleur perso. | Non | | | | +| Grisé : Algo pour images | | | | | +| 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. | | | | | +| M.C.U. | Oui | | | | +| Anim. Ouverture | 0 | | | | +| Anim. Fermeture | 0 | | | | +| Durée Anim. Ouverture | 100 | | | | +| Durée Anim. Fermeture | 50 | | | | +| Adapte Taille contenu | Oui | | | | +| Assombri quand inactif | Oui | | | | +| Déplace souris sur bouton par | Non | | | | +| Compact. barres outils | Non | | | | +Image poignée D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +| 06/08/2026 | | Isis_BO | | 1055 | +| ---------- | --- | ------- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche › Informations générales +Statistiques de la fenêtre +Fenêtre interne 1 +Nombre d'éléments dans la fenêtre : 1 +FEN_Fiche +Informations sur les champs +Fenêtre : FEN_Fiche +Fenêtre interne +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CFI_Fiche | 1 | 1 1041 | 367 | 0 | Actif | | +| --------- | --- | ------ | --- | --- | ----- | --- | +Fenêtre : FEN_Fiche +Fenêtre interne : CFI_Fiche +| 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 | | | | | | | +| Ancrage au contenu | | | | | | | +| Numéro aide 0 | | | | | | | +| Ascenseur auto. 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 | | | | | | | +| ------------------------ | --- | ------- | --- | --- | --- | ---- | +| Sens balayage Horizontal | | | | | | | +| Balayage en boucle Non | | | | | | | +| Cache pour swipe 21 | | | | | | | +| Même contenu/ligne Oui | | | | | | | +| Valeur persistante Non | | | | | | | +| 06/08/2026 | | Isis_BO | | | | 1056 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche › Informations sur les champs +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Fiche +Code +Déclarations globales de FEN_Fiche +procédure FEN_Fiche(gclPresentation est un objet dynamique=Null, paramSupplementaire est +un STParamFenetreAppelante=Null) +si gclPresentation est PFicheSociete alors ChangeFenêtreSource(CFI_Fiche,FI_Fiche_Societe, +gclPresentation,paramSupplementaire) +06/08/2026 Isis_BO 1057 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur_Param › Image +FEN_Choix_Couleur_Param +Image +FEN_Choix_Couleur_Param +Informations générales +FEN_Choix_Couleur_Param +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Choix_Couleur_Param.wdw +Créé par SMR +Date de création 14/08/2024 17:40:48 +Dernière modification par SMR +Date dernière modification 11/04/2025 16:08:23 +06/08/2026 Isis_BO 1058 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur_Param › Informations générales +| Titre | | FR: Choix couleur | | | | +| ------------------------ | ---------- | ----------------------------- | ------- | --------------- | --- | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 406 | 634 | +| Position X | Position Y | | Largeur | Hauteur | | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| 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 | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| Anim. Fermeture | | 0 | | | | +| Durée Anim. Ouverture | | 100 | | | | +| Durée Anim. Fermeture | | 50 | | | | +| Adapte Taille contenu | | Non | | | | +| 06/08/2026 | | | Isis_BO | | 1059 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur_Param › Informations générales +| Assombri quand inactif | | | Oui | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +Déplace souris sur bouton par +Non +| Compact. barres outils | | | Non | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +Image poignée D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +Statistiques de la fenêtre +| | Libellé | | | 1 | | Bouton | | | 2 | +| --- | ---------------- | --- | --- | --- | --- | ---------- | --- | --- | --- | +| | Table | | | 1 | | Superchamp | | | 1 | +| | Colonne de table | | | 4 | | | | | | +Nombre d'éléments dans la fenêtre : 9 +FEN_Choix_Couleur_Param +Informations sur les champs +Fenêtre : FEN_Choix_Couleur_Param +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | --- | --- | ------------------ | ------------------ | --- | +)(ertliFH resilitU +| | | | | | | .gerne egacolB | ruesnecsa elluB | EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +| --- | --- | --- | --- | --- | --- | -------------- | --------------- | -------------- | ----------------------------- | +| | | | | | | | noitcelésitluM | edacsac eisiaS | | +BAT ehcuoT +laitini tatE +| | | X noitisoP Y noitisoP | | | sruocraP | | | | | +| --- | --- | --------------------- | --- | --- | -------- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +elbaT +nalP +| TABLE_Couleur | | 13 57 380 | 560 0 | Actif | Mémoir | | | | 1 | +| ------------- | --- | --------- | ----- | ----- | ------ | --- | --- | --- | --- | +Superchamp +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| SC_Titre | | | 0 | -1 | 405 | 47 | 0 | Actif | | +| ---------- | --- | --- | --- | ------- | --- | --- | --- | ----- | ---- | +| 06/08/2026 | | | | Isis_BO | | | | | 1060 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur_Param › Informations sur les champs +Table : TABLE_Couleur +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_Selection | 74 | Actif | | Centre | Centre | | | | +| COL_Couleur | 98 | affichag | | Gauche | Centre | Texte | | | +| COL_Img | 192 | affichag | | Centre | Centre | | | | +| COL_Valeur | 136 | Grisé | | Gauche | Centre | Texte | | | +Superchamp : SC_Titre +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Titre | 6 | 12 241 | 20 | 0 | Actif | Gauche | Centre | | +| --------- | --- | ------ | --- | --- | ----- | ------ | ------ | --- | +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Fermer | 374 | 10 | 24 | 24 | 0 | Actif | | Normal | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | ------ | +| BTN_Valider | 344 | 10 | 24 | 24 | 0 | Actif | | Normal | +Fenêtre : FEN_Choix_Couleur_Param +| 06/08/2026 | | | Isis_BO | | | | | 1061 | +| ---------- | --- | --- | ------- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur_Param › Informations sur les champs +Superchamp : SC_Titre +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 405 +Hauteur externe 47 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : TABLE_Couleur +Libellé FR: Table +Ordre navigation 2 +Curseur survol 0 +Mode Loupe Filtre +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 +06/08/2026 Isis_BO 1062 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur_Param › Informations sur les champs +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. +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 +06/08/2026 Isis_BO 1063 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur_Param › Informations sur les champs +Superchamp : SC_Titre +Bouton : SC_Titre.BTN_Fermer +Groupe GR_MODEFORMULAIRE_LISTE_LIEU +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 1064 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur_Param › Informations sur les champs +Bouton : SC_Titre.BTN_Valider +Groupe GR_MODEFORMULAIRE_LISTE_LIEU +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1065 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur_Param › Informations sur les champs +Libellé : SC_Titre.LIB_Titre +Libellé FR: Veuillez choisir une couleur +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : TABLE_Couleur +Colonne de table : TABLE_Couleur.COL_Selection (1) +Titre FR: Sélection +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +06/08/2026 Isis_BO 1066 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur_Param › Informations sur les champs +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : TABLE_Couleur.COL_Couleur (2) +Titre FR: Couleur +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1067 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur_Param › Informations sur les champs +Colonne de table : TABLE_Couleur.COL_Img (3) +Titre FR: Img +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 4 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : TABLE_Couleur.COL_Valeur (4) +Titre FR: Valeur +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 +06/08/2026 Isis_BO 1068 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur_Param › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FEN_Choix_Couleur_Param +Code +Déclarations globales de FEN_Choix_Couleur_Param +procédure FEN_Choix_Couleur_Param(sCouleur est une chaîne ANSI = "") +InitTableCouleur(TABLE_Couleur,sCouleur) +Fermeture de FEN_Choix_Couleur_Param +renvoyer sCouleur +FEN_Choix_Couleur_Param +Code des champs +Clic sur BTN_Fermer ( SC_Titre ) +sCouleur = "" +Ferme() +Clic sur BTN_Valider ( SC_Titre ) +Ferme() +A chaque modification de COL_Selection ( TABLE_Couleur ) +i est un entier = TABLE_Couleur +bSelection est un booléen = MoiMême +pour toute ligne b de TABLE_Couleur +si b = i alors +06/08/2026 Isis_BO 1069 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur_Param › Code des champs +COL_Selection[b] = bSelection +sinon +COL_Selection[b] = Faux +fin +fin +si pas bSelection alors +sCouleur = "" +sinon +sCouleur = COL_Valeur[i] +fin +06/08/2026 Isis_BO 1070 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Status_RDV › Image +FEN_Fiche_Parametre_Status_RDV +Image +FEN_Fiche_Parametre_Status_RDV +Informations générales +FEN_Fiche_Parametre_Status_RDV +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Fiche_Parametre_Status_RDV.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ------------------------------ | --------- | --------------- | --- | +| Date de création | | 27/11/2023 12:07:32 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 23/04/2025 14:18:21 | | | | +| Titre | | FR: Fiche Paramètre Status RDV | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 648 Hauteur | 154 | +| 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 | | | | | | +| 06/08/2026 | | | Isis_BO | | 1071 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Status_RDV › Informations générales +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Non +Type cadre Double +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Image poignée D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\190 GENSTEEL\Gensteel_Resize.gif +Statistiques de la fenêtre +Libellé 3 Bouton 2 +Image 1 Forme 2 +Disposition 1 Cellule de disposition 4 +Nombre d'éléments dans la fenêtre : 13 +FEN_Fiche_Parametre_Status_RDV +Informations sur les champs +06/08/2026 Isis_BO 1072 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Status_RDV › Informations sur les champs +Fenêtre : FEN_Fiche_Parametre_Status_RDV +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_Couleur | 11 | 94 | 409 | 25 | 0 | Actif | Gauche | Centre | | +| ---------------- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | +| LIB_LibelleParam | 14 | 41 | 624 | 27 | 0 | Actif | Gauche | Haut | | +| LIB_Titre | 6 | 6 | 527 | 20 | 0 | Actif | Gauche | Centre | | +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Fermer | | 4 | 4 | 24 | 24 | 0 | Actif | | Normal | +| ----------- | --- | --- | --- | --- | --- | --- | ----- | --- | ------ | +| BTN_Valider | | 4 | 4 | 24 | 24 | 0 | Actif | | Normal | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | --- | ---------- | ------- | ------- | --- | ------------ | --------- | ---------- | +| | X noitisoP | | Y noitisoP | | | | | | | +| | | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Couleur | | 575 | 87 | 40 | 40 | 0 | Actif | | | +| ----------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Forme +BAT ehcuoT +laitini tatE +| | | X noitisoP | Y noitisoP | | | | | | | +| --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | --- | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_Couleur | | 570 | | 82 | 50 | 50 | 0 | Actif | | +| ------------------ | --- | --- | --- | ------- | --- | --- | --- | ----- | ---- | +| FRM_ValidationRDV1 | | | 6 | 77 | 632 | 60 | 0 | Actif | | +| 06/08/2026 | | | | Isis_BO | | | | | 1073 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Status_RDV › Informations sur les champs +Disposition +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| D_TETE_LISTE | -2 | 0 649 | 32 | 0 | Actif | | +| ------------ | --- | ----- | --- | --- | ----- | --- | +Fenêtre : FEN_Fiche_Parametre_Status_RDV +Bouton : D_TETE_LISTE.BTN_Fermer +| Ordre navigation 1 | | | | | | | +| ------------------------------------------------------------------- | --- | --- | --- | --- | --- | --- | +| 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 | | | | | | | +| 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 | | | | | | | +| 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 | | | | | | | +| Texte Markdown Non | | | | | | | +| Mode menu ctx. | | | | | | | +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_fermer.png +| Nb. états image 5 | | | | | | | +| ------------------------------------ | --- | --- | --- | --- | --- | --- | +| Nb. états fond 1 | | | | | | | +| Etirement de l'image de fond | | | | | | | +| Nb. étapes animation 1 | | | | | | | +| Largeur Halo 0 | | | | | | | +| Hauteur Halo 0 | | | | | | | +| Personnaliser le picto AMI Non | | | | | | | +| Indice du picto AMI 1 | | | | | | | +| Ancrage | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Isis_BO | | | | 1074 | +| ---------- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Status_RDV › Informations sur les champs +Bouton : D_TETE_LISTE.BTN_Valider +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1075 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Status_RDV › Informations sur les champs +Disposition : D_TETE_LISTE +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FRM_Couleur +Groupe GR_Couleur +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Epaisseur 1 +AntiAliasing Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1076 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Status_RDV › Informations sur les champs +Forme : FRM_ValidationRDV1 +Groupe GR_Couleur +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Couleur +Groupe GR_Couleur +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +06/08/2026 Isis_BO 1077 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Status_RDV › Informations sur les champs +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Couleur +Libellé FR: Couleur associé au status du rendez-vous dans le Planning/Agenda +Groupe GR_Couleur +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1078 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Status_RDV › Informations sur les champs +Libellé : LIB_LibelleParam +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : D_TETE_LISTE.LIB_Titre +Libellé FR: Paramétrage spécifique en fonction du statut du rendez-vous. +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 +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 +06/08/2026 Isis_BO 1079 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Status_RDV › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Fiche_Parametre_Status_RDV +Messages multilingues +06/08/2026 Isis_BO 1080 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FEN_Fiche_Parametre_Status_RDV +Code +Déclarations globales de FEN_Fiche_Parametre_Status_RDV +procédure FEN_Fiche_Parametre_Status_RDV(gnIdParametre est un entier sur 8 octets) +gParamStatusRDV est un ST_Param_Status_RDV +si gnIdParametre > 0 alors +HLitRecherchePremier(ParametreMetier,PA_PKID,gnIdParametre) +si HTrouve(ParametreMetier) alors +LIB_LibelleParam = ParametreMetier.PA_Libelle +si ParametreMetier.PA_Parametre <> "" alors +Désérialise(gParamStatusRDV,ParametreMetier.PA_Parametre,psdJSON) +fin +sinon + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Status_RDV › Code +Erreur("Enregistrement non trouvé") +Ferme() +fin +sinon +Ferme() +fin +CouleurParam() +FEN_Fiche_Parametre_Status_RDV +Code des champs +Clic sur BTN_Fermer +Ferme() +Clic sur BTN_Valider +EcranVersSource() +bufResulBuf est un Buffer +Sérialise(gParamStatusRDV,bufResulBuf,psdJSON) +si gnIdParametre > 0 alors +HLitRecherchePremier(ParametreMetier,PA_PKID,gnIdParametre) +si HTrouve(ParametreMetier) alors +ParametreMetier.PA_Parametre = bufResulBuf +si pas HModifie(ParametreMetier) alors +si HErreurIntégrité() alors +Erreur("Erreur d'intégrité", HErreurInfo(hErrComplet)) +renvoyer Faux +fin +fin +fin +sinon +Ferme() +fin +Ferme() +Clic sur IMG_Couleur +scouleur est une chaîne ANSI = Ouvre(FEN_Choix_Couleur,gParamStatusRDV.sCouleur) +si scouleur<> "" alors +gParamStatusRDV.sCouleur = scouleur +CouleurParam() +fin +Initialisation de LIB_Couleur +06/08/2026 Isis_BO 1081 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Status_RDV › Code des champs +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_LibelleParam +// Version 1 +// Description +// Libellé simple +FEN_Fiche_Parametre_Status_RDV +Procédures +Procédure locale CouleurParam +procédure CouleurParam() +FRM_Couleur..CouleurFond = gParamStatusRDV.sCouleur +IMG_Couleur = {"FEN_Menu.IMG_Cercle_"} +//SI PAS DonneDroitParamAppli(cParam_CouleurRDV) ALORS +// GR_Couleur..Visible = faux +//FIN +06/08/2026 Isis_BO 1082 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Image +FEN_Collaborateur +Image +| 06/08/2026 | Isis_BO | 1083 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Image +| 06/08/2026 | Isis_BO | 1084 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Image +| 06/08/2026 | Isis_BO | 1085 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Image +FEN_Collaborateur +Informations générales +FEN_Collaborateur +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Collaborateur.wdw +| Créé par | | DFI | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | ------------ | ---- | +| Date de création | | 23/08/2024 18:45:23 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 23/04/2025 09:15:41 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à l'écran | | | | +| | 0 | | 0 | 858 | 613 | +| Position X | Position Y | | Largeur | Hauteur | | +| Visible | | Barre de titre | | Menu système | | +| 06/08/2026 | | | Isis_BO | | 1086 | + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations générales +| Icône réduction | Icône agrandissement | | Icône aide ctx. | | +| --------------------- | -------------------- | --- | --------------- | --- | +| Barre de message | Détourer le fond | | Mode 9 images | | +| Redimensionnable | Avec grip | | Grip dans image | | +| Déplace/fond | Sauve position | | Ascenseur auto. | | +| Gestion grande police | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | Actif | | | | +| ------------------------------- | ----------------------------------- | --- | --- | --- | +| Curseur survol | 0 | | | | +| Copie d'écran | Oui | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | | | | +| 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 | | | | | +| Grisé : Utiliser couleur perso. | Non | | | | +| Grisé : Algo pour images | | | | | +| 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. | | | | | +| M.C.U. | Non | | | | +| Anim. Ouverture | 0 | | | | +| Anim. Fermeture | 0 | | | | +| Durée Anim. Ouverture | 100 | | | | +| Durée Anim. Fermeture | 50 | | | | +| Adapte Taille contenu | Non | | | | +| Assombri quand inactif | Non | | | | +Déplace souris sur bouton par +Non +| Compact. barres outils | Non | | | | +| ---------------------- | --- | --- | --- | --- | +Image poignée D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +| 06/08/2026 | | Isis_BO | | 1087 | +| ---------- | --- | ------- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | 21 | Libellé | | 16 | +| --- | ---------------------- | --- | --- | ----------------------- | --- | --- | +| | Bouton | | 9 | Interrupteur | | 1 | +| | Image | | 3 | Combo | | 6 | +| | Onglet | | 1 | Code-barres | | 1 | +| | Zone répétée | | 2 | Superchamp | | 1 | +| | Attribut zone répétée | | 5 | Option d'interrupteur | | 1 | +| | Volet (Onglet) | | 4 | Rupture de zone répétée | | 2 | +| | Disposition | | 1 | Cellule de disposition | | 3 | +| | Interrupteur à bascule | | 4 | Option d'interrupteur | | 8 | +Nombre d'éléments dans la fenêtre : 89 +FEN_Collaborateur +Informations sur les champs +Fenêtre : FEN_Collaborateur +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_Compte | 22 155 304 | 24 0 | Actif Texte | | Non | | +| ------------------- | ---------- | ---- | ----------- | --- | --- | ---- | +| SAI_Fonction | 30 144 357 | 24 0 | Actif Texte | | Non | | +| SAI_Mail | 30 246 357 | 24 0 | Actif Texte | | Non | | +| SAI_Mot_de_passe | 22 189 304 | 24 0 | Actif Texte | | Non | | +| SAI_Mot_de_passe_M | 25 228 301 | 24 0 | Actif Texte | | Non | | +| SAI_Nom | 30 76 357 | 24 0 | Actif Texte | | Non | | +| SAI_Pondération_des | | | Numéri | | | | +| | 26 161 279 | 22 0 | Actif | | Non | | +| SAI_Prénom | 30 110 357 | 24 0 | Actif Texte | | Non | | +| SAI_Trigramme | 26 123 139 | 24 0 | Actif Texte | | Non | | +| SAI_Tél_fixe | 30 212 357 | 24 0 | Actif Texte | | Non | | +| SAI_Tél_mob | 30 178 357 | 24 0 | Actif Texte | | Non | | +| 06/08/2026 | | | Isis_BO | | | 1088 | + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › 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_Administrateur | | 26 294 | 108 | 20 | 0 | Actif | Gauche | Haut | | +| ------------------------- | --- | ------ | --- | --- | --- | ----- | ------ | ---- | --- | +| LIB_Apparait_au_planning1 | | 24 90 | 145 | 20 | 0 | Actif | Gauche | Haut | | +LIB_Intervient_pour_les_sociétés 384 50 353 20 0 Actif Gauche Haut +| LIB_LicenceBO | | 95 123 | 165 | 20 | 0 | Actif | Gauche | Haut | | +| --------------------- | --- | ------ | --- | --- | --- | ----- | ------ | ---- | --- | +| LIB_LicenceMOB | | 479 77 | 175 | 20 | 0 | Actif | Gauche | Haut | | +| LIB_SansNom2 | | 72 99 | 266 | 20 | 0 | Actif | Gauche | Haut | | +| LIB_SansNom3 | | 479 55 | 243 | 20 | 0 | Actif | Gauche | Haut | | +| LIB_Titre | | 37 -24 | 681 | 20 | 0 | Actif | Gauche | Haut | | +| LIB_Utilisateur_actif | | 26 261 | 145 | 20 | 0 | Actif | Gauche | Haut | | +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| BTN_AjouterConfig | | 66 | 42 | 121 | 34 | 0 | Actif | | Normal | +| ------------------------------- | --- | --- | --- | --- | --- | --- | ----- | --- | ------ | +| BTN_LicenceBOChange | | 266 | 116 | 60 | 24 | 0 | Actif | | Normal | +| BTN_LicenceMOBChange | | 662 | 68 | 60 | 24 | 0 | Actif | | Normal | +| BTN_Modifier_MP_Collaborateur | | 338 | 189 | 24 | 24 | 0 | Actif | | Normal | +| BTN_Valider_fiche_collaborateur | | 818 | 2 | 24 | 24 | 0 | Actif | | Normal | +Image +| | | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | --- | ---------- | ---------- | ------- | ------- | ------- | ------------ | --------------------- | ----------------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| | | | | | ruetuaH | | | cilc cevA | | +| | | | | ruegraL | | elbisiV | | | | +nalP +| IMG_MOB | | 432 | 55 | 34 | 34 | 0 | Actif | | | +| ------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_PC | | 25 | 99 | 34 | 34 | 0 | Actif | | | +Combo +reihcif eétsissa eisiaS +| | | | | | | | | eriotagilbo eisiaS | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------------ | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | | BAT ehcuoT | | eisias cevA | | | +| --- | ---------- | ---------- | ------- | ------- | ------------ | -------- | ----------- | --- | --- | +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | | +| | | | ruetuaH | | | sruocraP | | | | +| | | ruegraL | | elbisiV | | | | | | +| | | | | | | elbaT | eéirT | | | +nalP +CMB_Affichage_par_défau +| | 26 | 197 279 | 24 | 0 Actif | | Mémoire | | Non | | +| ---------------------- | --- | ------- | --- | ------- | --- | ------- | --- | --- | ---- | +| CMB_Civilité | 30 | 42 181 | 24 | 0 Actif | | Mémoire | | Non | | +| CMB_Messagerie_par_déf | 26 | 227 279 | 24 | 0 Actif | | Mémoire | | Non | | +| CMB_Profil | 24 | 48 279 | 24 | 0 Actif | | Mémoire | | Non | | +| CMB_Societe | 30 | 280 357 | 24 | 0 Actif | | Mémoire | | Non | | +| 06/08/2026 | | | | Isis_BO | | | | | 1089 | + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Onglet +slennoitroporp steloV +engil/stelov .bN +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | | laitini tatE | stelov .soP | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | ----------- | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ONG_Principal | 6 | 6 | 836 | 570 | 0 | | Actif | haut | | | 0 | +| ------------- | --- | --- | --- | --- | --- | --- | ----- | ---- | --- | --- | --- | +Code-barres +serrab-edoc epyT +laitini tatE +| | | X noitisoP | Y noitisoP | | | | | | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| CBA_QrCode | | 387 | | 99 431 | 464 | | 0 | Actif | | Code | | +| ---------- | --- | --- | --- | ------ | --- | --- | --- | ----- | --- | ---- | --- | +Zone répétée +BAT ehcuoT +| | | X noitisoP | | | | | | | laitini tatE | | | +| --- | --- | ---------- | --- | --- | --- | --- | --- | --- | ------------ | --- | --- | +Y noitisoP +| | | | | | ruegraL | ruetuaH | | | | | | +| --- | --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| ZR_ConfigEmail | | 12 | | 84 | 245 | 486 | 0 | | Actif | | | +| -------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +| ZR_Soc | | 384 | | 74 | 442 | 469 | 0 | | Actif | | | +Superchamp +| | | | | | | | | | laitini tatE | | BAT ehcuoT | +| --- | --- | ---------- | --- | ---------- | ------- | ------- | --- | --- | ------------ | --- | ---------- | +| | | X noitisoP | | Y noitisoP | | | | | | | | +| | | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| SC_ConfigMail | | 258 | | 49 | 584 | 519 | 0 | | Actif | | | +| ------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Interrupteur à bascule +BAT ehcuoT +| | | X noitisoP | | | | | | | laitini tatE | | | +| --- | --- | ---------- | --- | --- | --- | --- | --- | --- | ------------ | --- | --- | +Y noitisoP +| | | | | | ruegraL | ruetuaH | | | | | | +| --- | --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| INT_Administrateur | | 239 | | 288 | 66 | 32 | 0 | | Actif | | | +| -------------------- | --- | --- | --- | ------- | --- | --- | --- | --- | ----- | --- | ---- | +| INT_AuPlanning | | 169 | | 84 | 66 | 32 | 0 | | Actif | | | +| INT_UtilisateurActif | | 239 | | 255 | 66 | 32 | 0 | | Actif | | | +| 06/08/2026 | | | | Isis_BO | | | | | | | 1090 | + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Zone répétée : ONG_Principal.ZR_ConfigEmail +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_AdresseMailCom | 7 | 69 215 | 22 | 0 | Actif | Texte | | Non | | | | | +| ------------------ | --- | ------ | --- | --- | ----- | ----- | --- | --- | --- | --- | --- | --- | +| SAI_NomCompte | 7 | 29 215 | 22 | 0 | Actif | Texte | | Non | | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | --- | +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_ADRESSE_EMAIL | | 7 | 53 | 215 | 14 | 0 | | Actif | Gauche | Haut | | | +| ----------------- | --- | --- | --- | --- | --- | --- | ----- | ----- | ------ | ---- | --- | --- | +| LIB_Code | | 6 | 2 | 100 | 20 | 0 | Grisé | | Gauche | Haut | | | +| LIB_IdSoc | | 131 | 68 | 95 | 25 | 0 | Grisé | | Droite | Haut | | | +| LIB_LibelleSoc | | 24 | 6 | 154 | 19 | 0 | | Actif | Gauche | Haut | | | +| LIB_NOMCOMPTE | | 7 | 15 | 142 | 14 | 0 | | Actif | Gauche | Haut | | | +Bouton +| | | | | | | | | | | BAT ehcuoT | notuob epyT | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | --- | +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | | | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | --- | --- | --- | +| | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_Modifier_Liste_Collaborateur | | | 198 | 2 | 24 | 24 | | 0 | Actif | | Normal | | +| -------------------------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | ------ | --- | +| BTN_Supprimer_ConfigMail | | | 168 | 2 | 24 | 24 | | 0 | Actif | | Normal | | +Attribut zone répétée +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | +| --- | --- | --- | ---------- | ---------- | ------- | --- | ------- | --- | --- | ------------ | --- | --- | +| | | | | | ruegraL | | ruetuaH | | | | | | +elbisiV +nalP +ATT_Code +ATT_IdSoc +| 06/08/2026 | | | | | Isis_BO | | | | | | | 1091 | +| ---------- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Rupture de zone répétée +06/08/2026 Isis_BO 1092 +X +noitisoP +Y +noitisoP ruegraL ruetuaH +nalP +elbisiV +laitini +tatE +BAT +ehcuoT +RUPT_BasRupture1 +RUPT_HautRupture1 +Zone répétée : ONG_Principal.ZR_Soc +Libellé +X +noitisoP +Y +noitisoP ruegraL ruetuaH +nalP +elbisiV +laitini +tatE +.zroh +egardaC +.trev +egardaC +FTR +tamroF +tuaféd +rap +eéminA +LIB_Id 152 6 100 20 0 Grisé Droite Haut +LIB_Societe 6 6 250 20 0 Actif Gauche Haut +Attribut zone répétée +X +noitisoP +Y +noitisoP ruegraL ruetuaH +nalP +elbisiV +laitini +tatE +BAT +ehcuoT +ATT_Actif +ATT_Societe +ATT_SocieteID +Interrupteur à bascule +X +noitisoP +Y +noitisoP ruegraL ruetuaH +nalP +elbisiV +laitini +tatE +BAT +ehcuoT +INT_Actif 343 0 72 30 0 Actif + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Superchamp : ONG_Principal.SC_ConfigMail +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_AdresseMailCom | 285 | 5 276 | 39 | 0 | Actif | Texte | | Non | | | | +| ------------------- | ------ | ----- | --- | --- | ----- | ----- | --- | --- | --- | --- | --- | +| SAI_AdresseServeurS | 240 | 7 226 | 39 | 0 | Actif | Texte | | Non | | | | +| SAI_CC_Email | 11 29 | 520 | 56 | 0 | Actif | Texte | | Non | | | | +| SAI_MotdePasseSMTP | 10 52 | 215 | 39 | 0 | Actif | Texte | | Non | | | | +| SAI_NomCompte | 6 | 6 265 | 39 | 0 | Actif | Texte | | Non | | | | +| SAI_NomUtilisateurS | 11 | 7 215 | 39 | 0 | Actif | Texte | | Non | | | | +| SAI_PortSMTP | 240 51 | 68 | 39 | 0 | Actif | Texte | | Non | | | | +| SAI_Texte_HTML | 8 94 | 553 | 195 | 0 | Actif | Texte | | Non | | | | +Bouton +notuob epyT +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | +| --- | --- | --- | ---------- | ---------- | --- | --------------- | --- | --- | ------------ | --- | --- | +| | | | | | | ruegraL ruetuaH | | | | | | +elbisiV +nalP +| BTN_AjoutCC | | | 536 | | 49 | 24 | 24 | 0 | Actif | Normal | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | --- | +| BTN_Valider_ConfigMail | | | 803 | | 56 | 24 | 24 | 0 | Actif | Normal | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | | Y noitisoP | | | | | laitini tatE | | staté siorT | +| --- | --- | ---------- | --- | ---------- | ------- | ------- | --- | --- | ------------ | --- | ----------- | +| | | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| INT_CCi | | | 9 | 3 | 361 | 25 | 0 | Actif | | 1 | | +| ------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | ------- | ------------ | --- | ---------- | +| | | | | | | ruetuaH | | | cilc cevA | | | +| | | | | | ruegraL | | | elbisiV | | | | +nalP +| IMG_Tester | | | 491 | 26 | | 73 60 | | 0 | Actif | | | +| ---------- | --- | --- | --- | --- | --- | ------- | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | | | | | Isis_BO | | | | | 1093 | + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › 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 +| COMBO_SecuriteSMTP | 316 52 | 150 37 | 0 Actif | Mémoire | Non | | | +| ------------------ | ------ | ------ | ------- | ------- | --- | --- | --- | +Disposition +BAT ehcuoT +laitini tatE +| | | X noitisoP | Y noitisoP | | | | | +| --- | --- | ---------- | ---------- | ------- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| DISP_ConfigMail | | 266 | 84 572 | 477 | 0 | Actif | | +| --------------- | --- | --- | ------ | --- | --- | ----- | --- | +Fenêtre : FEN_Collaborateur +Bouton : ONG_Principal.BTN_AjouterConfig +| Libellé | | FR: Ajouter une nouvelle configuration mail | | | | | | +| -------------------------------- | --- | ------------------------------------------- | ------- | --- | --- | --- | ---- | +| Groupe | | GR_SAISIE | | | | | | +| 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 | | | | | | | | +| 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 | | | | | | | | +| 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 | | | | | | | | +| Texte Markdown | | Non | | | | | | +| Mode menu ctx. | | | | | | | | +| 06/08/2026 | | | Isis_BO | | | | 1094 | + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : ONG_Principal.BTN_LicenceBOChange +Libellé FR: Attribuer +Groupe GR_SAISIE +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 1095 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : ONG_Principal.BTN_LicenceMOBChange +Libellé FR: Attribuer +Groupe GR_SAISIE +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1096 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Bouton : ONG_Principal.BTN_Modifier_MP_Collaborateur +Groupe GR_Compte +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1097 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Bouton : BTN_Valider_fiche_collaborateur +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 1098 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Code-barres : ONG_Principal.CBA_QrCode +Libellé FR: Code-Barres +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Touche TAB Non +Type contenu Texte/URL (défaut) +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Centre +Cadrage vert. Centre +Orientation Normale +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 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : ONG_Principal.CMB_Affichage_par_défaut +Libellé FR: Affichage par défaut +Groupe GR_SAISIE +Ordre navigation 6 +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 140 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 165 +Largeur interne 140 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 1099 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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, non 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. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : ONG_Principal.CMB_Civilité +Libellé FR: Civilité +Groupe GR_SAISIE +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 +06/08/2026 Isis_BO 1100 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 110 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 101 +Largeur interne 110 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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, non 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. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +06/08/2026 Isis_BO 1101 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : ONG_Principal.CMB_Messagerie_par_défaut +Libellé FR: Messagerie par défaut +Groupe GR_SAISIE +Ordre navigation 7 +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 140 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 165 +Largeur interne 140 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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, non 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 +06/08/2026 Isis_BO 1102 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +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. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : ONG_Principal.CMB_Profil +Libellé FR: Profil +Groupe GR_SAISIE +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 201 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 102 +Largeur interne 201 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 1103 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Facteur d'agrandissement 0 +Saisie invalide Oui, non 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. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : ONG_Principal.CMB_Societe +Libellé FR: Société +Groupe GR_SAISIE +Ordre navigation 8 +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 286 +06/08/2026 Isis_BO 1104 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 101 +Largeur interne 286 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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, non 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. +Avec recherche Oui +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1105 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Image : ONG_Principal.IMG_MOB +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\mobile_32_1.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : ONG_Principal.IMG_PC +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Ordinateur_32_1.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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 +06/08/2026 Isis_BO 1106 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur à bascule : ONG_Principal.INT_Administrateur +Valeur initiale 0 +Groupe GR_Compte,GR_SAISIE +Ordre navigation 9 +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +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 d'affichage Externe - 1 libellé à droite +Cadrage libellés externes Collés au bord du champ +Cadrage des options (internes) Centrés +Largeur curseur 50% Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1107 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Interrupteur à bascule : ONG_Principal.INT_AuPlanning +Valeur initiale 0 +Groupe GR_SAISIE +Ordre navigation 3 +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +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 d'affichage Externe - 1 libellé à droite +Cadrage libellés externes Collés au bord du champ +Cadrage des options (internes) Centrés +Largeur curseur 50% Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur à bascule : ONG_Principal.INT_UtilisateurActif +Valeur initiale 0 +Groupe GR_SAISIE +Ordre navigation 8 +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Isis_BO 1108 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Texte Markdown Non +Mode d'affichage Externe - 1 libellé à droite +Cadrage libellés externes Collés au bord du champ +Cadrage des options (internes) Centrés +Largeur curseur 50% Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ONG_Principal.LIB_Administrateur +Libellé FR: Administrateur +Groupe GR_Compte +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 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1109 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Libellé : ONG_Principal.LIB_Apparait_au_planning1 +Libellé FR: Apparait au planning +Groupe GR_SAISIE +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 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ONG_Principal.LIB_Intervient_pour_les_sociétés +Libellé FR: Intervient pour les sociétés suivantes +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 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 1110 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ONG_Principal.LIB_LicenceBO +Libellé FR: Licence non attribuée +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 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1111 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Libellé : ONG_Principal.LIB_LicenceMOB +Libellé FR: Licence non attribuée +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 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ONG_Principal.LIB_SansNom2 +Libellé FR: Application de bureau +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 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +06/08/2026 Isis_BO 1112 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ONG_Principal.LIB_SansNom3 +Libellé FR: Application 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 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1113 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Libellé : LIB_Titre +Libellé FR: Libellé +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 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ONG_Principal.LIB_Utilisateur_actif +Libellé FR: Utilisateur actif +Groupe GR_SAISIE +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 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 1114 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Onglet : ONG_Principal +Libellé FR: &Onglet +Valeur initiale 1 +Ordre navigation 1 +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 +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. +Nb. états image 1 +Ancrage Largeur et hauteur +06/08/2026 Isis_BO 1115 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : ONG_Principal.SAI_Compte +Libellé FR: Compte +Groupe GR_Compte,GR_SAISIE +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 179 +Largeur interne 147 +Cadrage fonctions gXXX Tenir compte du cadrage +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: 18 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Isis_BO 1116 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : ONG_Principal.SAI_Fonction +Libellé FR: Fonction +Groupe GR_SAISIE +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 101 +Largeur interne 286 +Cadrage fonctions gXXX Tenir compte du cadrage +06/08/2026 Isis_BO 1117 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › 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: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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, non 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. +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 +06/08/2026 Isis_BO 1118 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : ONG_Principal.SAI_Mail +Libellé FR: Mail +Groupe GR_SAISIE +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 101 +Largeur interne 286 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +06/08/2026 Isis_BO 1119 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : ONG_Principal.SAI_Mot_de_passe +Libellé FR: Mot de passe +Groupe GR_Compte,GR_SAISIE +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 179 +Largeur interne 147 +06/08/2026 Isis_BO 1120 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Cadrage fonctions gXXX Tenir compte du cadrage +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 +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, non 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. +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 +06/08/2026 Isis_BO 1121 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Bouton droit : Monochrome Couleur monochrome du style +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : ONG_Principal.SAI_Mot_de_passe_Modif +Libellé FR: Nouveau Mot de passe +Groupe GR_Compte,GR_SAISIE +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 179 +Largeur interne 147 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Isis_BO 1122 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : ONG_Principal.SAI_Nom +Libellé FR: Nom +Groupe GR_SAISIE +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +06/08/2026 Isis_BO 1123 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Position X interne 101 +Largeur interne 286 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +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, non 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. +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 +06/08/2026 Isis_BO 1124 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome Couleur monochrome du style +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : ONG_Principal.SAI_Pondération_des_temps_passés +Libellé FR: Pondération des temps passés +Valeur initiale FR: 1 +Groupe GR_SAISIE +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 260 +Largeur interne 45 +Cadrage fonctions gXXX Tenir compte du cadrage +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: 99,99 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1125 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Complétion système de fichier Non +Saisie invalide Oui, non 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : ONG_Principal.SAI_Prénom +Libellé FR: Prénom +Groupe GR_SAISIE +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Isis_BO 1126 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 101 +Largeur interne 286 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +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, non 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. +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 +06/08/2026 Isis_BO 1127 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : ONG_Principal.SAI_Trigramme +Libellé FR: Trigramme +Groupe GR_SAISIE +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 104 +Largeur interne 61 +Cadrage fonctions gXXX Tenir compte du cadrage +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: 18 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1128 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, non 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : ONG_Principal.SAI_Tél_fixe +Libellé FR: Tél fixe +Groupe GR_SAISIE +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +06/08/2026 Isis_BO 1129 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 101 +Largeur interne 286 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +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, non 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. +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 1130 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : ONG_Principal.SAI_Tél_mob +Libellé FR: Tél mob. +Groupe GR_SAISIE +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 101 +Largeur interne 286 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Isis_BO 1131 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › 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, non 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : ONG_Principal.SC_ConfigMail +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 584 +Hauteur externe 519 +06/08/2026 Isis_BO 1132 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : ONG_Principal.ZR_ConfigEmail +Libellé FR: &Zone répétée +Groupe GR_SAISIE +Ordre navigation 2 +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 +Hauteur ligne max. 0 +Hauteur ligne 98 +Largeur colonne 245 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +06/08/2026 Isis_BO 1133 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : ONG_Principal.ZR_Soc +Libellé FR: &Zone répétée +Groupe GR_SAISIE +Ordre navigation 2 +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 +Hauteur ligne max. 0 +Hauteur ligne 29 +Largeur colonne 440 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Isis_BO 1134 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sans sélection +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Oui +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 +06/08/2026 Isis_BO 1135 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Superchamp : ONG_Principal.SC_ConfigMail +Bouton : ONG_Principal.SC_ConfigMail.DISP_ConfigMail.BTN_AjoutCC +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Ajouter destinataire(s) en CC +Message FR: Ajouter destinataire(s) en CC +Titre aide FR: Ajouter destinataire(s) en CC +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Image fond FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1136 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Bouton : ONG_Principal.SC_ConfigMail.BTN_Valider_ConfigMail +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 1137 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Combo : ONG_Principal.SC_ConfigMail.DISP_ConfigMail.COMBO_SecuriteSMTP +Libellé FR: Cryptage +Ordre navigation 6 +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 150 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 582 +Largeur interne 150 +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 +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 +06/08/2026 Isis_BO 1138 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : ONG_Principal.SC_ConfigMail.DISP_ConfigMail +Libellé FR: Disposition +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 +Cellule ancrée 3 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 6 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1139 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Image : ONG_Principal.SC_ConfigMail.DISP_ConfigMail.IMG_Tester +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\connexionTest.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : ONG_Principal.SC_ConfigMail.DISP_ConfigMail.INT_CCi +Valeur initiale 0 +Ordre navigation 8 +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 +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 1140 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Adresse Mail +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 551 +Largeur interne 276 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +06/08/2026 Isis_BO 1141 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +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 +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1142 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Champ de saisie : +Libellé FR: Adresse du serveur SMTP +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 506 +Largeur interne 226 +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 +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 +06/08/2026 Isis_BO 1143 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : ONG_Principal.SC_ConfigMail.DISP_ConfigMail.SAI_CC_Email +Libellé FR: En copie émail : +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 277 +Largeur interne 520 +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 +06/08/2026 Isis_BO 1144 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +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 +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1145 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Champ de saisie : ONG_Principal.SC_ConfigMail.DISP_ConfigMail.SAI_MotdePasseSMTP +Libellé FR: Mot de passe +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 276 +Largeur interne 215 +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 +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 +06/08/2026 Isis_BO 1146 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : ONG_Principal.SC_ConfigMail.DISP_ConfigMail.SAI_NomCompte +Libellé FR: Nom du compte +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 272 +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 +06/08/2026 Isis_BO 1147 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › 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 +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1148 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Champ de saisie : +Libellé FR: Nom d'utilisateur/Login +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 277 +Largeur interne 215 +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 +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 +06/08/2026 Isis_BO 1149 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : ONG_Principal.SC_ConfigMail.DISP_ConfigMail.SAI_PortSMTP +Libellé FR: Port +Valeur initiale FR: 25 +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 506 +Largeur interne 68 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 1150 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › 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 +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1151 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Champ de saisie : ONG_Principal.SC_ConfigMail.DISP_ConfigMail.SAI_Texte_HTML +Libellé FR: Texte HTML +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 278 +Largeur interne 549 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 1 +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 +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 Automatique +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 +06/08/2026 Isis_BO 1152 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › 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. +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : ONG_Principal.ZR_ConfigEmail +Attribut zone répétée : ONG_Principal.ZR_ConfigEmail.ATT_Code (2) +Champ associé LIB_Code +Propriété associée 1 +Attribut zone répétée : ONG_Principal.ZR_ConfigEmail.ATT_IdSoc (1) +Champ associé LIB_IdSoc +Propriété associée 1 +06/08/2026 Isis_BO 1153 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Bouton : ONG_Principal.ZR_ConfigEmail.BTN_Modifier_Liste_Collaborateur +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 1154 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Bouton : ONG_Principal.ZR_ConfigEmail.BTN_Supprimer_ConfigMail +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 1155 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Libellé : ONG_Principal.ZR_ConfigEmail.LIB_ADRESSE_EMAIL +Libellé FR: Adresse mail +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ONG_Principal.ZR_ConfigEmail.LIB_Code +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 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +06/08/2026 Isis_BO 1156 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ONG_Principal.ZR_ConfigEmail.LIB_IdSoc +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 +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 Numérique +Masque saisie FR: 99 999 999 999 999 999 999 +Mode ellipse +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1157 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Libellé : ONG_Principal.ZR_ConfigEmail.RUPT_HautRupture1.LIB_LibelleSoc +Libellé FR: Société +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ONG_Principal.ZR_ConfigEmail.LIB_NOMCOMPTE +Libellé FR: Nom du compte +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 +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 +06/08/2026 Isis_BO 1158 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : ONG_Principal.ZR_ConfigEmail.RUPT_BasRupture1 (4) +Toujours visible Non +Attribut de rupture 0 +Rupture de zone répétée : ONG_Principal.ZR_ConfigEmail.RUPT_HautRupture1 (3) +Toujours visible Non +Attribut de rupture 0 +Champ de saisie : ONG_Principal.ZR_ConfigEmail.SAI_AdresseMailCompte +Libellé FR: Adresse Mail +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 19 +Largeur interne 215 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 1159 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › 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: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +06/08/2026 Isis_BO 1160 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : ONG_Principal.ZR_ConfigEmail.SAI_NomCompte +Libellé FR: Nom du compte +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 19 +Largeur interne 215 +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 +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 +06/08/2026 Isis_BO 1161 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : ONG_Principal.ZR_Soc +Attribut zone répétée : ONG_Principal.ZR_Soc.ATT_Actif (2) +Champ associé INT_Actif +Propriété associée 1 +06/08/2026 Isis_BO 1162 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Attribut zone répétée : ONG_Principal.ZR_Soc.ATT_Societe (1) +Champ associé LIB_Societe +Propriété associée 1 +Attribut zone répétée : ONG_Principal.ZR_Soc.ATT_SocieteID (3) +Champ associé LIB_Id +Propriété associée 5 +Interrupteur à bascule : ONG_Principal.ZR_Soc.INT_Actif +Valeur initiale 0 +Ordre navigation 1 +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +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 d'affichage Externe - 1 libellé à droite +Cadrage libellés externes Collés au bord du champ +Cadrage des options (internes) Centrés +Largeur curseur 50% Non +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 +06/08/2026 Isis_BO 1163 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Libellé : ONG_Principal.ZR_Soc.LIB_Id +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 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Numérique +Masque saisie FR: 99 999 999 999 999 999 999 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ONG_Principal.ZR_Soc.LIB_Societe +Libellé FR: NOM SOCIETE +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 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +06/08/2026 Isis_BO 1164 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Informations sur les champs +Type saisie Texte +| Masque saisie | FR: 0 | | | +| ------------- | ----- | --- | --- | +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Collaborateur +Messages multilingues +¹ .ssem °N +Message +2000 FR: Confirmez vous la suppression ? +2001 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FEN_Collaborateur +Code +Déclarations globales de FEN_Collaborateur +procédure FEN_Collaborateur(local n8IdCollaborateur est un entier sur 8 octets=0) +| bLicenceBO | est un booléen | | | +| -------------------- | ---------------------------------------- | ----------------------- | --- | +| bLicenceMOB | est un booléen | | | +| saCleLicenceMOB | est une chaîne ANSI | | | +| gn8IdUser | est un entier sur 8 octets=0 | | | +| gn8IdSoc | est un entier sur 8 octets=0 | | | +| s | est une chaîne | = gcnxBO..BaseDeDonnées | | +| sCodeCli | est une chaîne ANSI | = Gauche(s,Taille(s)-4) | | +| gtabParamEmailPerso | est un tableau de STParamEnvoiEmailPerso | | | +gtaParamEmailConfig est un tableau associatif de STParamEnvoiEmailPerso +| gbTesteMail | est un booléen | | | +| ----------- | -------------- | ------- | ---- | +| 06/08/2026 | | Isis_BO | 1165 | + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Code +gbModifMail est un booléen = Faux +gbDroitModif est un booléen = AccesEtDroitCollaborateur() +gbNouveauMP est un booléen = Faux +gnNumONG est un entier +GR_SAISIE.Modifié = Faux //Le GR_SAISIE permet de savoir si l'utilisateur à fait une modification +GR_ConfigMail.Modifié= Faux +//Le GR_ConfigMail permet de savoir si l'utilisateur à fait une modification dans la liste de +configuration mail // NE MARCHE PAS +constante +cParamEmail = 4 +fin +Fin d'initialisation de FEN_Collaborateur +Charge() +LIB_Titre=SAI_Nom +" " + SAI_Prénom +ConfigureAffichage() +GR_SAISIE..EnSaisie = gbDroitModif +Fermeture de FEN_Collaborateur +si GR_SAISIE.Modifié = Vrai alors +si OuiNon("Enregistrer les modifications") alors +si pas ControleOK() alors RepriseSaisie() +si pas SauveDonnées() alors RepriseSaisie() +fin +fin +FEN_Collaborateur +Code des champs +Clic sur BTN_Valider_fiche_collaborateur +si gbDroitModif alors +si pas ControleOK alors RepriseSaisie() +si pas SauveDonnées() alors RepriseSaisie() +GR_SAISIE.Modifié =Faux +fin +Ferme() +Modification du volet affiché de ONG_Principal +si gnNumONG = 4 alors +si gbModifMail alors +pour tout stConfig, sCle de gtaParamEmailConfig +si pas TesterParamEmail(sCle, Faux) alors +si pas MessageErreurCompte(stConfig) alors +ONG_Principal = 4 +renvoyer Faux +06/08/2026 Isis_BO 1166 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Code des champs +fin +fin +fin +gbModifMail = Faux +fin +fin +gnNumONG = ONG_Principal +Initialisation de BTN_AjouterConfig +// Version 1 +// Description +// Bouton simple +Clic sur BTN_AjouterConfig +AjouterConfigMail() +Clic sur BTN_LicenceBOChange +bLicenceBO = pas bLicenceBO +GR_SAISIE.Modifié = Vrai +ConfigureAffichage() +si bLicenceBO alors +si SAI_Compte = "" alors +si SAI_Trigramme = "" alors +SAI_Trigramme = CalculTrigramme() +fin +SAI_Compte = SAI_Trigramme +fin +gbNouveauMP = Vrai +fin +Clic sur BTN_LicenceMOBChange +bLicenceMOB = pas bLicenceMOB +GR_SAISIE.Modifié= Vrai +si bLicenceMOB alors +AttribuerLicenceMobile() +sinon +si pas OuiNon("Retirer la licence mobile de cet utilisateur ?", +"La licence ainsi libérée sera disponible pour un autre utilisateur") alors +bLicenceMOB = Vrai +sinon +RetirerLicenceMobile() +fin +fin +ConfigureAffichage() +Clic sur BTN_Modifier_MP_Collaborateur +06/08/2026 Isis_BO 1167 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Code des champs +SAI_Mot_de_passe_Modif..Visible = Vrai +gbNouveauMP = Vrai +Initialisation de CMB_Affichage_par_défaut +ListeAjoute(MonChamp,"Planning"+gLien("Planning")) +ListeAjoute(MonChamp,"Agenda"+gLien("Agenda")) +ListeSelectPlus(MonChamp,1) +Initialisation de CMB_Civilité +ListeAjoute(MonChamp,gpclListeCivilite:ListeLibelleIDVersCombo()) +ListeSelectPlus(MonChamp,1) //Présélectionne le premier par défaut +Initialisation de CMB_Messagerie_par_défaut +ListeAjoute(MonChamp,"Externe"+gLien("Externe")) +ListeAjoute(MonChamp,"Back-Office"+gLien("Back-Office")) +ListeSelectPlus(MonChamp,1) +Sélection d'une ligne de CMB_Messagerie_par_défaut +ModeMsgParDefaut() +Initialisation de CMB_Profil +ListeAjoute(MonChamp,gpclListeProfilUser:ListeLibelleIDVersCombo()) +ListeSelectPlus(MonChamp,1) +Initialisation de CMB_Societe +ListeAjoute(MonChamp,gpclListeSociete:ListeLibelleIDVersCombo()) +ListeSelectPlus(MonChamp,1) +Sélection d'une ligne de CMB_Societe +n est un entier +si CMB_Societe <> gn8IdSoc alors +si gn8IdSoc > 0 alors +n = ZoneRépétéeCherche(ATT_SocieteID,gn8IdSoc,rechercheIdentique) +si n > 0 _et_ ZR_Soc[n].ATT_Actif alors +si OuiNon("Voulez-vous supprimer la société "+ZR_Soc[n].LIB_Societe+ +" des sociétés rattaches ") = Oui alors +ZR_Soc[n].ATT_Actif = Faux +RevoirConfigMailSoc(Faux,gn8IdSoc) +fin +ZR_Soc[n]..Grisé = Faux +fin +fin +fin +gn8IdSoc = CMB_Societe +n = ZoneRépétéeCherche(ATT_SocieteID,gn8IdSoc,rechercheIdentique) +ZR_Soc[n].ATT_Actif = Vrai +ZR_Soc[n]..Grisé = Vrai +06/08/2026 Isis_BO 1168 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Code des champs +RevoirConfigMailSoc(Vrai,gn8IdSoc) +Initialisation de INT_Administrateur +// Version 1 +// Description +// Interrupteur à bascule 1 libellé externe à droite +Initialisation de INT_AuPlanning +// Version 1 +// Description +// Interrupteur à bascule 1 libellé externe à droite +Initialisation de INT_UtilisateurActif +// Version 1 +// Description +// Interrupteur à bascule 1 libellé externe à droite +A chaque modification de SAI_Mot_de_passe +SAI_Mot_de_passe_Modif = SAI_Mot_de_passe +A chaque modification de SAI_Mot_de_passe_Modif +gbNouveauMP = Vrai +Sortie de SAI_Nom +SAI_Trigramme = CalculTrigramme() +A chaque modification de SAI_Nom +LIB_Titre=SAI_Nom +" " + SAI_Prénom +Sortie de SAI_Prénom +SAI_Trigramme = CalculTrigramme() +A chaque modification de SAI_Prénom +LIB_Titre=SAI_Nom +" " + SAI_Prénom +Clic sur BTN_Valider_ConfigMail ( SC_ConfigMail ) +si ZR_ConfigEmail > 0 alors +si gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]]..Existe alors +si pas gbTesteMail alors +si pas TesterParamEmail("") alors +retour +06/08/2026 Isis_BO 1169 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Code des champs +fin +fin +gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]].Compte.sEmail = SC_ConfigMail.SAI_ +AdresseMailCompte +gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]].Compte.sCompte = SC_ConfigMail.SAI_ +NomCompte +gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]].SMTP.sLogin = SC_ConfigMail.SAI_ +NomUtilisateurSMTP +gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]].SMTP.sMdp = SC_ConfigMail.SAI_ +MotdePasseSMTP +gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]].SMTP.sAdresseServeur = SC_ConfigMail.SAI_ +AdresseServeurSMTP +gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]].SMTP.sPortServeur = SC_ConfigMail.SAI_ +PortSMTP +gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]].SMTP.nCryptage = SC_ConfigMail. +COMBO_SecuriteSMTP..ValeurMémorisée +gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]].SMTP.bEnCopieCachee = SC_ConfigMail.INT_ +CCi +gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]].SMTP.bufSignature = SC_ConfigMail.SAI_ +Texte_HTML +ZR_ConfigEmail[ZR_ConfigEmail].SAI_AdresseMailCompte = gtaParamEmailConfig[ATT_Code[ZR_ +ConfigEmail]].Compte.sEmail +ZR_ConfigEmail[ZR_ConfigEmail].SAI_NomCompte = gtaParamEmailConfig[ATT_Code[ZR_ +ConfigEmail]].Compte.sCompte +i est un entier = 1 +nPos est un entier = PositionOccurrence(Majuscule(gtaParamEmailConfig[ATT_Code[ZR_ +ConfigEmail]].SMTP.bufSignature),"0 +sTexte est une chaîne = Milieu(gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]].SMTP.buf +Signature,nPos,(Position(gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]].SMTP.bufSignature, +">",nPos+1)+1)-nPos) +CodeSrcHtmlEnBase64IMG(sTexte,gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]].SMTP) +i+=1 +nPos = PositionOccurrence(Majuscule(gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]].SMTP.buf +Signature)," emailAdresseValide alors +MoiMême..JetonSaisieEnCours = MonJeton..Libellé +//pour interdire l'ajout du jeton +renvoyer Faux +fin +renvoyer Vrai +Suppression d'un jeton dans SAI_CC_Email ( SC_ConfigMail ) +procédure SuppressionJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +renvoyer Vrai +Clic sur un jeton de SAI_CC_Email ( SC_ConfigMail ) +procédure ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de SAI_CC_Email ( SC_ConfigMail ) +procédure EntreSaisieJeton (MonJeton est un Jeton) +06/08/2026 Isis_BO 1171 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Code des champs +//RENVOYER Faux pour interdire l'entrée en saisie du jeton +renvoyer Vrai +Modification d'un jeton de SAI_CC_Email ( SC_ConfigMail ) +procédure ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +renvoyer Vrai +Clic sur BTN_Modifier_Liste_Collaborateur ( ZR_ConfigEmail ) +ChargeUneConfigMail() +Clic sur BTN_Supprimer_ConfigMail ( ZR_ConfigEmail ) +si OuiNon("Confirmez vous la suppression ?")=Non alors +retour +sinon +SupprimeConfigMail() +fin +Initialisation de LIB_IdSoc ( ZR_ConfigEmail ) +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_LibelleSoc ( ZR_ConfigEmail ) +// Version 1 +// Description +// Libellé simple +Initialisation de ZR_Soc +pour tout od de gpclListeSociete:m_clTabModele +si pas od:m_bArchive alors +ZR_Soc.AjouteLigne(od:m_sNom,Faux,od:m_nPKID) +fin +fin +ZR_Soc.SelectMoins() +Initialisation de INT_Actif ( ZR_Soc ) +// Version 1 +// Description +// Interrupteur à bascule 1 libellé externe à droite +A chaque modification de INT_Actif ( ZR_Soc ) +RevoirConfigMailSoc(ATT_Actif[ZR_Soc],ATT_SocieteID[ZR_Soc]) +06/08/2026 Isis_BO 1172 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Procédures +FEN_Collaborateur +Procédures +Procédure locale AjouteLigneZREmail +procédure AjouteLigneZREmail(sCode est une chaîne ANSI, stParam est une STParamEnvoiEmailPerso) +sCodeTableau est une chaîne ANSI +nIdSoc est un entier sur 8 octets +nIndice est un entier +n est un entier = ZoneRépétéeAjouteLigne(ZR_ConfigEmail) +ZR_ConfigEmail[n].SAI_AdresseMailCompte = stParam.Compte.sEmail +ZR_ConfigEmail[n].SAI_NomCompte = stParam.Compte.sCompte +ZR_ConfigEmail[n].ATT_Code = sCode +sCodeTableau = ExtraitChaîne(sCode,3,"_",DepuisDébut) +si Contient(sCodeTableau,"Perso") alors +nIdSoc = 0 +sinon +nIdSoc = Val(sCodeTableau) +fin +ZR_ConfigEmail[n].ATT_IdSoc = nIdSoc +si nIdSoc > 0 alors +nIndice = TableauCherche(gpclListeSociete:m_clTabModele,tcLinéaire,"m_nPKID",nIdSoc,1) +si nIndice > 0 alors +si gpclListeSociete:m_clTabModele[nIndice] <> Null alors +ZR_ConfigEmail[n].LIB_LibelleSoc = gpclListeSociete:m_clTabModele[nIndice].m_sNom +fin +fin +sinon +ZR_ConfigEmail[n].LIB_LibelleSoc = "Personnel" +fin +ZR_ConfigEmail[n].BTN_Supprimer_ConfigMail..Visible = ZR_ConfigEmail[n].ATT_IdSoc <= 0 ? Vrai sinon +Faux +Procédure locale AjouterConfigMail +procédure AjouterConfigMail() +gbModifMail = Vrai +n est un entier = ZoneRépétéeAjouteLigne(ZR_ConfigEmail) +sCode est une chaîne ANSI = "EMAIL_ENVOI_Perso_"+n +si n > 0 _et_ pas gtaParamEmailConfig[sCode]..Existe alors +stParm est un STParamEnvoiEmailPerso +gtaParamEmailConfig[sCode] = stParm +ZR_ConfigEmail[n].ATT_IdSoc = 0 +ZR_ConfigEmail[n].LIB_LibelleSoc = "Personnel" +ZR_ConfigEmail[n].ATT_Code = sCode +ZR_ConfigEmail[n].BTN_Supprimer_ConfigMail..Visible = ZR_ConfigEmail[n].ATT_IdSoc <= 0 ? Vrai sinon +Faux +ZR_ConfigEmail = n +ChargeUneConfigMail() +fin +Procédure locale AttribuerLicenceMobile +06/08/2026 Isis_BO 1173 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Procédures +procédure AttribuerLicenceMobile() +//Le login est vide et l'utilisateur sera uniquement mobile +si pas bLicenceBO _et_ SAI_Compte = "" alors +//Utilise le trigramme comme login par défaut (ce dernier étant normalement unique par +collaborateur) +si SAI_Trigramme = "" alors +CalculTrigramme() +fin +SAI_Compte = SAI_Trigramme +si CMB_Profil <= 0 alors +CMB_Profil = gpclListeProfilUser.RechercheEtDonneIdDepuisValeur("0") +fin +fin +bLicenceMOB = Faux +si pas ControleOK alors RepriseSaisie() +si pas SauveDonnées() alors RepriseSaisie() +stRep est un ST_REP_CLIENT +bOk est un booléen +(bOk, stRep) = ConnexionServeurLicence(Vrai) +//Affectation de la licence à l'utilisateur et enregistrement +si bOk alors +//Analyse de la réponse +stLIC est un ST_CLI_REP_DMD_LM +sJson est une chaîne ANSI = stRep.saRepJSON +Désérialise(stLIC,sJson,psdJSON) +si ErreurDétectée() alors +Erreur("La réponse du serveur n'est pas dans le format attendu.", +"Si cela se reproduit, contactez le support technique") +retour +sinon +saCleLicenceMOB = stLIC.saNumLicence +bLicenceMOB = Vrai +SauveDonnées() +fin +sinon +saCleLicenceMOB = "" +bLicenceMOB = Faux +SauveDonnées() +fin +Procédure locale CalculTrigramme +procédure CalculTrigramme() +sTrigramme est une chaîne +si SAI_Prénom <>"" et SAI_Nom <>"" et SAI_Trigramme = "" alors +sTrigramme=Majuscule(Gauche(SAI_Prénom,1)+Gauche(SAI_Nom,2)) +HLitRecherchePremier(Collaborateur,"CO_Trigramme",sTrigramme) +si HTrouve(Collaborateur) alors +sTrigramme=Majuscule(Gauche(SAI_Prénom,2)+Gauche(SAI_Nom,1)) +HLitRecherchePremier(Collaborateur,CO_Trigramme,sTrigramme) +si HTrouve(Collaborateur) alors +sTrigramme="" +fin +fin +sinon +06/08/2026 Isis_BO 1174 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Procédures +sTrigramme="" +fin +renvoyer sTrigramme +Procédure locale Charge +// Résumé : +// Syntaxe : +// Charge () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// +// +procédure Charge() +si n8IdCollaborateur=0 alors +//Création +LIB_Titre = "" +INT_UtilisateurActif = Vrai +sinon +//Modification +si pas HLitRecherchePremier(Collaborateur,CO_PKID,n8IdCollaborateur) alors +Erreur("Fiche introuvable !") +Ferme() +fin +| CMB_Civilité | = Collaborateur.CO_IDCivilite | | +| -------------------- | ----------------------------- | --- | +| SAI_Nom | = Collaborateur.CO_Nom | | +| SAI_Prénom | = Collaborateur.CO_Prenom | | +| SAI_Tél_fixe | = Collaborateur.CO_TelFixe | | +| SAI_Tél_mob | = Collaborateur.CO_TelMobile | | +| SAI_Mail | = Collaborateur.CO_Email | | +| SAI_Fonction | = Collaborateur.CO_Fonction | | +| INT_AuPlanning | = Collaborateur.CO_AuPlanning | | +| INT_UtilisateurActif | = Collaborateur.CO_Actif | | +SAI_Pondération_des_temps_passés = Collaborateur.CO_Ponderation +| SAI_Trigramme | = Collaborateur.CO_Trigramme | | +| ------------- | ---------------------------- | --- | +| CMB_Profil | = Collaborateur.CO_IDStatut | | +| bLicenceBO | = Collaborateur.CO_AccesBO | | +si pas HLitRecherchePremier(Utilisateur,UT_IDCollaborateur,n8IdCollaborateur) alors +// si il n'existe pas il faut le créer sinon il y a des problèmes +si SAI_Trigramme <> "" alors +si HLitRecherchePremier(Utilisateur,UT_Login,SAI_Trigramme) alors +si Utilisateur.UT_IDCollaborateur = 0 alors +Utilisateur.UT_IDCollaborateur = n8IdCollaborateur +gn8IdUser = Utilisateur.UT_PKID +sinon +SAI_Trigramme = "" +fin +fin +fin +si SAI_Trigramme = "" _et_ (SAI_Prénom <> "" ou SAI_Nom <> "") alors +CalculTrigramme() +fin +si SAI_Trigramme <> "" et gn8IdUser <= 0 alors +HRAZ(Utilisateur) +Utilisateur.UT_IDCollaborateur= n8IdCollaborateur +Utilisateur.UT_Login = SAI_Trigramme +| 06/08/2026 | Isis_BO | 1175 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Procédures +gbNouveauMP = Vrai +HAjoute(Utilisateur) +gn8IdUser = Utilisateur.UT_PKID +sinon +gn8IdUser = 0 +fin +sinon +gn8IdUser = Utilisateur.UT_PKID +fin +si gn8IdUser > 0 alors +SAI_Compte = Utilisateur.UT_Login +si bLicenceBO alors +SAI_Mot_de_passe = Utilisateur.UT_MotDePasse +fin +INT_Administrateur = Utilisateur.UT_Administrateur +CMB_Societe = Utilisateur.UT_IDSocietePrincipale +gn8IdSoc = Utilisateur.UT_IDSocietePrincipale +CMB_Profil = Utilisateur.UT_IDTypeProfil +saCleLicenceMOB = Utilisateur.UT_CleLicenceMobile +bLicenceMOB = saCleLicenceMOB<>"" +si HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,["CHOIX_MESSAGERIE", +Utilisateur.UT_PKID]) alors +CMB_Messagerie_par_défaut=ParametreUtilisateur.PU_Valeur +fin +si HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,["CHOIX_PLANNING_AGENDA", +Utilisateur.UT_PKID]) alors +CMB_Affichage_par_défaut=ParametreUtilisateur.PU_Valeur +fin +n est un entier +pour tout Societe_Collaborateur avec SC_IDCollaborateur=n8IdCollaborateur +n=ZoneRépétéeCherche(ATT_SocieteID,Societe_Collaborateur.SC_IDCSociete,rechercheIdentique) +si n>0 alors +ZR_Soc[n].ATT_Actif = Vrai +fin +fin +n = 0 +pour toute ligne de ZR_Soc +n+= 1 +si ATT_SocieteID = Utilisateur.UT_IDSocietePrincipale alors +ZR_Soc[n].ATT_Actif = Vrai +ZR_Soc[n]..Grisé = Vrai +fin +fin +fin +ModeMsgParDefaut() +fin +Procédure locale ChargeConfigMail +procédure ChargeConfigMail() +ZoneRépétéeSupprimeTout(ZR_ConfigEmail) +TableauSupprimeTout(gtaParamEmailConfig) +si gn8IdUser <= 0 alors retour +gtaParamEmailConfig = DonneListeConfigMail(n8IdCollaborateur, gn8IdUser) +06/08/2026 Isis_BO 1176 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Procédures +sCodeTableau est une chaîne ANSI +nIdSoc est un entier sur 8 octets +bContinuer est un booléen +pour tout stParam, sCode de gtaParamEmailConfig +sCodeTableau=ExtraitChaîne(sCode,3,"_",DepuisDébut) +si Contient(sCodeTableau,"Perso") alors +nIdSoc = 0 +bContinuer = Vrai +sinon +nIdSoc = Val(sCodeTableau) +bContinuer = Faux +fin +si nIdSoc > 0 _et_ ZoneRépétéeCherche(ATT_SocieteID,nIdSoc,rechercheIdentique) > 0 alors bContinuer += Vrai +si bContinuer alors +AjouteLigneZREmail(sCode, stParam) +fin +fin +Procédure locale ChargeUneConfigMail +procédure ChargeUneConfigMail() +si ATT_IdSoc > 0 alors +DISP_ConfigMail[2]..Visible = Faux +sinon +DISP_ConfigMail[2]..Visible = Vrai +fin +ExécuteTraitement(SC_ConfigMail,trtInit) //Supprime ancien valeurs +gbTesteMail = Faux +gbModifMail = Vrai +si ZR_ConfigEmail > 0 alors +si gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]]..Existe alors +SC_ConfigMail.SAI_NomCompte = gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]]. +Compte.sCompte +SC_ConfigMail.SAI_AdresseMailCompte = gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]]. +Compte.sEmail +SC_ConfigMail.SAI_NomUtilisateurSMTP = gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]]. +SMTP.sLogin +SC_ConfigMail.SAI_MotdePasseSMTP = gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]]. +SMTP.sMdp +SC_ConfigMail.SAI_AdresseServeurSMTP = gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]]. +SMTP.sAdresseServeur +SC_ConfigMail.SAI_PortSMTP = gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]]. +SMTP.sPortServeur +SC_ConfigMail.COMBO_SecuriteSMTP = Val(gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]] +.SMTP.nCryptage) +SC_ConfigMail.INT_CCi = gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]].SMTP.b +EnCopieCachee +SC_ConfigMail.SAI_Texte_HTML = gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]].SMTP.buf +Signature +SAI_CC_Email = TableauVersChaîne(gtaParamEmailConfig[ATT_Code[ +ZR_ConfigEmail]].SMTP.tabCC_CopieEmail,RC) +06/08/2026 Isis_BO 1177 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Procédures +fin +SC_ConfigMail..Visible = gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]]..Existe +fin +Procédure locale ConfigureAffichage +procédure ConfigureAffichage() +si bLicenceBO alors +LIB_LicenceBO = "Licence attribuée" +LIB_LicenceBO.Couleur= RVB(13,192,144) +BTN_LicenceBOChange.Libellé="Retirer" +GR_Compte.Grisé=Faux +si SAI_Compte <> "" et SAI_Mot_de_passe <> "" alors +BTN_Modifier_MP_Collaborateur..Visible = gbDroitModif +SAI_Mot_de_passe..Grisé = Vrai +fin +sinon +LIB_LicenceBO = "Licence NON attribuée" +LIB_LicenceBO.Couleur= RVB(255,153,153) +BTN_LicenceBOChange.Libellé="Attribuer" +GR_Compte.Grisé=Vrai +fin +si bLicenceMOB alors +LIB_LicenceMOB = "Licence attribuée" +LIB_LicenceMOB.Couleur = RVB(13,192,144) +BTN_LicenceMOBChange.Libellé="Retirer" +sinon +LIB_LicenceMOB = "Licence NON attribuée" +LIB_LicenceMOB.Couleur = RVB(255,153,153) +BTN_LicenceMOBChange.Libellé="Attribuer" +fin +QrCode() +Procédure locale ConnexionServeurLicence +procédure ConnexionServeurLicence(bAttribuer est un booléen) +stRep est un ST_REP_CLIENT +stCMD est un ST_CMD_CLIENT +sJson est une chaîne ANSI +si EnModeTest() alors +WS_LICENCE..Adresse=cURLWSLicence +sinon +WS_LICENCE..Adresse=ParametreSystemeLit("SRV_LICENCE",cURLWSLicence) +fin +si WS_LICENCE.Tesla()<>"OUI" alors +Erreur("Le serveur de licence n'est pas joignable.") +renvoyer (Faux,stRep) +fin +si bAttribuer alors +stINS est un ST_CLI_DMD_LM +stINS.saCodeClient = sCodeCli // Nom de la base sans "_BLD" +stINS.nIdClb = n8IdCollaborateur +stINS.nIdUser = gn8IdUser +stINS.saNom = SAI_Nom +06/08/2026 Isis_BO 1178 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Procédures +stINS.saPrenom = SAI_Prénom +Sérialise(stINS,sJson,psdJSON) +stCMD.saCMD = cCLI_LIC_ATTRIBUTION +stCMD.saJSON = sJson +sinon +si saCleLicenceMOB <> "" alors +stINS est un ST_CLI_ACTION_LM +stINS.saCodeClient = sCodeCli // Nom de la base sans "_BLD" +stINS.saNumLicence = saCleLicenceMOB +Sérialise(stINS,sJson,psdJSON) +stCMD.saCMD = cCLI_LIC_LIBERE +stCMD.saJSON = sJson +sinon +Erreur("La licence n'a pas été reconnue", +"Vous pouvez cependant ré-attribuer une licence à cet utilisateur.") +renvoyer (Faux,stRep) +fin +fin +stRep = WS_LICENCE.BOCLI_CMD(stCMD) +si ErreurDétectée() alors +Erreur("Problème de communication avec le serveur de Licence.") +renvoyer (Faux,stRep) +fin +selon stRep.saEtatReponse..Valeur +cas cREP_OK +renvoyer (Vrai,stRep) +cas cERR_CLI_INCONNU +Erreur("Le code client :" + sCodeCli +" n'a pas été reconnu dans la base.", +"Contactez le support technique.") +renvoyer (Faux,stRep) +cas cERR_LIC_INCONNUE,cERR_CLI_LIC +//La licence est inconnue ou incohérente +si bAttribuer alors +Erreur("Il n'y a pas de licence mobile disponible","Liberez +une licence inutilisée ou augmentez votre nombre de licences mobile.") +renvoyer (Faux,stRep) +sinon +Erreur("La licence n'a pas été reconnue", +"Vous pouvez cependant ré-attribuer une licence à cet utilisateur.") +renvoyer (Vrai,stRep) +fin +cas cERR_EXCEPTION,cERR_HF_BLOCAGE,cERR_CMD_INCONNUE,cERR_FORMAT_JSON +Erreur("Le serveur de Licence ne peut satisfaire votre requête", +"Contactez le support technique.","Erreur : " + stRep.saEtatReponse..Valeur) +renvoyer (Faux,stRep) +autre cas +Erreur("Erreur système : " + stRep.saEtatReponse..Valeur ) +renvoyer (Faux,stRep) +fin +Procédure locale ControleLogin +06/08/2026 Isis_BO 1179 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Procédures +procédure ControleLogin() +sTrigramme est une chaîne ANSI +bExiste est un booléen = Faux +sMessage est une chaîne ANSI +si SAI_Compte = "" et SAI_Trigramme <> "" alors +SAI_Compte = SAI_Trigramme +fin +si SAI_Compte <> "" alors +sTrigramme = SAI_Compte +sMessage = +"Veuillez modifier le nom de compte, car un autre utilisateur en possède déjà un identique" +fin +si sTrigramme <> "" alors +rq est une Requête SQL = +[ +SELECT * FROM Utilisateur +WHERE UPPER(Utilisateur.UT_Login)={pLogin} +AND Utilisateur.UT_PKID<>{pId} +] +rq.pLogin = Majuscule(sTrigramme) +rq.pId = gn8IdUser +rq.ExécuteRequête() +si HNbEnr(rq) > 0 alors +bExiste = Vrai +fin +sinon +Erreur("Saisie incomplète","Trigramme") +renvoyer Faux +fin +si bExiste alors +Info(sMessage) +renvoyer Faux +fin +renvoyer Vrai +Procédure locale ControleOK +// Résumé : +// Syntaxe : +//[ = ] ControleOK () +// +// Paramètres : +// Aucun +// Valeur de retour : +// booléen : +// +// Exemple : +// +// +procédure ControleOK() +saMsg est une chaîne ANSI +si SAI_Nom="" alors +saMsg="- Nom" +fin +si bLicenceBO alors +06/08/2026 Isis_BO 1180 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Procédures +si SAI_Compte="" alors +saMsg="- Compte" +fin +si SAI_Mot_de_passe="" alors +saMsg="- Mot de passe" +fin +fin +si bLicenceMOB alors +si SAI_Trigramme="" alors +saMsg="- Trigramme" +fin +fin +si saMsg<>"" alors +Erreur("Saisie incomplète",saMsg) +renvoyer Faux +fin +si gbModifMail alors +pour tout stConfig, sCle de gtaParamEmailConfig +si pas TesterParamEmail(sCle, Faux) alors +si pas MessageErreurCompte(stConfig) alors +renvoyer Faux +fin +fin +fin +fin +si pas ControleLogin() alors +renvoyer Faux +fin +renvoyer Vrai +Procédure locale EnregistrerConfigMail +procédure EnregistrerConfigMail() +si pas gbModifMail alors retour +n est un entier +bufValRech est un Buffer +sCode est une chaîne ANSI +si CMB_Messagerie_par_défaut="Back-Office" alors +TableauSupprimeTout(gtabParamEmailPerso) +pour toute ligne b de ZR_ConfigEmail +n += 1 +si ATT_IdSoc[b] > 0 et ATT_Code[n] <> "" alors +bufValRech = HConstruitValClé(ParametreUtilisateur, PU_CodePU_IDUtilisateur, ATT_Code[n], +gn8IdUser) +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,bufValRech) +si pas HTrouve(ParametreUtilisateur) alors +HRAZ(ParametreUtilisateur) +ParametreUtilisateur.PU_Code = ATT_Code[n] +ParametreUtilisateur.PU_IDUtilisateur = gn8IdUser +sinon +si ZR_ConfigEmail[b]..Grisé alors +HSupprime(ParametreUtilisateur) +fin +fin +si gtaParamEmailConfig[ATT_Code[n]]..Existe alors +06/08/2026 Isis_BO 1181 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Procédures +gtaParamEmailConfig[ATT_Code[n]].SMTP.sMdp = Crypte(gtaParamEmailConfig[ATT_Code[n]]. +SMTP.sMdp, gsCleMdp) +bufParam est un Buffer +Sérialise(gtaParamEmailConfig[ATT_Code[n]],bufParam,psdJSON) +ParametreUtilisateur.PU_Valeur = bufParam +HEnregistre(ParametreUtilisateur) +fin +sinon +si pas ZR_ConfigEmail[b]..Grisé alors +si gtaParamEmailConfig[ATT_Code[n]]..Existe alors +gtaParamEmailConfig[ATT_Code[n]].SMTP.sMdp = Crypte(gtaParamEmailConfig[ATT_Code[n +]].SMTP.sMdp, gsCleMdp) +TableauAjoute(gtabParamEmailPerso,gtaParamEmailConfig[ATT_Code[n]]) +fin +fin +fin +fin +bufValRech = HConstruitValClé(ParametreUtilisateur, PU_CodePU_IDUtilisateur, "EMAIL_ENVOI", +gn8IdUser) +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,bufValRech) +si gtabParamEmailPerso..Occurrence > 0 alors +si pas HTrouve(ParametreUtilisateur) alors +HRAZ(ParametreUtilisateur) +ParametreUtilisateur.PU_Code = "EMAIL_ENVOI" +ParametreUtilisateur.PU_IDUtilisateur = gn8IdUser +fin +bufParam est un Buffer +Sérialise(gtabParamEmailPerso,bufParam,psdJSON) +ParametreUtilisateur.PU_Valeur = bufParam +HEnregistre(ParametreUtilisateur) +sinon +si HTrouve(ParametreUtilisateur) alors +HSupprime(ParametreUtilisateur) +fin +fin +sinon si CMB_Messagerie_par_défaut="Externe" +pour toute ligne b de ZR_Soc +sCode = "EMAIL_ENVOI_"+ATT_SocieteID[b] +si ATT_SocieteID[b] > 0 alors +bufValRech = HConstruitValClé(ParametreUtilisateur, PU_CodePU_IDUtilisateur,sCode, +gn8IdUser) +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,bufValRech) +si HTrouve(ParametreUtilisateur) alors +HSupprime(ParametreUtilisateur) +fin +fin +fin +sCode = "EMAIL_ENVOI" +bufValRech = HConstruitValClé(ParametreUtilisateur, PU_CodePU_IDUtilisateur,sCode, gn8IdUser) +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,bufValRech) +si HTrouve(ParametreUtilisateur) alors +HSupprime(ParametreUtilisateur) +fin +fin +Procédure locale MessageErreurCompte +06/08/2026 Isis_BO 1182 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Procédures +procédure MessageErreurCompte(stCompte est un STParamEnvoiEmailPerso = Null) +si stCompte <> Null alors +compte est une chaîne ANSI = stCompte.Compte.sCompte +si stCompte.compte.sEmail <> "" alors +compte += [","]+ stCompte.compte.sEmail +fin +si OuiNon( +"Problème de connexion au serveur SMTP, merci de vérifier les données que vous avez saisies"+RC + +"Compte :" +compte+RC+"Voulez-vous continuer ?") = Oui alors +renvoyer Vrai +fin +fin +renvoyer Faux +Procédure locale ModeMsgParDefaut +procédure ModeMsgParDefaut() +si gn8IdUser <= 0 alors +ONG_Principal[cParamEmail]..Visible = Faux +sinon +si CMB_Messagerie_par_défaut="Back-Office" alors +ChargeConfigMail() +ONG_Principal[cParamEmail]..Visible = Vrai +sinon si CMB_Messagerie_par_défaut="Externe" +ONG_Principal[cParamEmail]..Visible = Faux +fin +fin +Procédure locale QrCode +procédure QrCode() +si bLicenceMOB et saCleLicenceMOB <> "" alors +sQR est une chaîne ANSI +gbufChaine est un Buffer +gbufCleHexa est un Buffer +saCleEnClair est une chaîne ANSI = "QR" + Mdp3+Mdp1 + NumériqueVersChaîne( 1/7*1000,"2.5f") +//Construction du message transmis dans le QRCODE +stQR est un ST_MOB_QRCODE +stQR.saCodeClient= sCodeCli +stQR.saNumLicence= saCleLicenceMOB +si EnModeTest() alors +//stQR.saURLLicence = " +https://intervenir.fr/BATIK_WS_LICENCE_MOBILE_WEB/awws/BATIK_WS_LICENCE_MOBILE.awws" +stQR.saURLLicence=cURLWSLicence +sinon +stQR.saURLLicence=ParametreSystemeLit("SRV_LICENCE",cURLWSLicence) +fin +Sérialise(stQR,gbufChaine,psdJSON) +gbufCleHexa = BufferVersHexa(HashChaîne(HA_HMAC_SHA_256, saCleEnClair,"0"),SansRegroupement, +SansLigne)[[à 32]] +sQR = Remplace(Encode(CrypteStandard(ChaîneVersUTF8(gbufChaine),gbufCleHexa,crypteAES256, +crypteCBC,cryptePaddingPKCS)),RC,"") +si sQR <> "" alors +CBA_QrCode = sQR +06/08/2026 Isis_BO 1183 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Procédures +CBA_QrCode..Visible = Vrai +sinon +CBA_QrCode..Visible = Faux +fin +sinon +CBA_QrCode..Visible = Faux +fin +Procédure locale RetirerLicenceMobile +procédure RetirerLicenceMobile() +si ConnexionServeurLicence(Faux) alors +bLicenceMOB = Faux +saCleLicenceMOB = "" +SauveDonnées() +fin +Procédure locale RevoirConfigMailSoc +procédure RevoirConfigMailSoc(local bSoc est un booléen, nIdSoc est un entier sur 8 octets) +sCode est une chaîne ANSI = "EMAIL_ENVOI_"+nIdSoc +bufValRech est un Buffer +stParametreEmail est une STParamEnvoiEmailPerso +n est un entier +gbModifMail = Vrai +si n8IdCollaborateur > 0 _et_ gn8IdUser > 0 et nIdSoc > 0 alors +n = ZoneRépétéeCherche(ATT_Code,sCode,rechercheIdentique) +si bSoc alors +bAncienVersion est un booléen = Faux +bufValRech = HConstruitValClé(ParametreUtilisateur, PU_CodePU_IDUtilisateur, sCode, +gn8IdUser) +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,bufValRech) +si HTrouve(ParametreUtilisateur) alors +Désérialise(stParametreEmail,ParametreUtilisateur.PU_Valeur,psdJSON) +sinon +nIndice est un entier = TableauCherche(gpclListeSociete:m_clTabModele,tcLinéaire, +"m_nPKID",nIdSoc,1) +si nIndice > 0 alors +si gpclListeSociete:m_clTabModele[nIndice] <> Null _et_ gpclListeSociete: +m_clTabModele[nIndice].m_sParametres <> "" alors +Désérialise(stParametreEmail,gpclListeSociete:m_clTabModele[nIndice].m_s +Parametres,psdJSON) +fin +fin +fin +si stParametreEmail:SMTP:sLogin <> "" alors +si pas gtaParamEmailConfig[sCode]..Existe alors +stParametreEmail.SMTP.sMdp = Décrypte(stParametreEmail.SMTP.sMdp,gsCleMdp) +gtaParamEmailConfig[sCode] = stParametreEmail +fin +si n > 0 alors +06/08/2026 Isis_BO 1184 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Procédures +ZR_ConfigEmail[n]..Grisé = Faux +sinon +AjouteLigneZREmail(sCode, stParametreEmail) +fin +fin +sinon +si gtaParamEmailConfig[sCode]..Existe alors +TableauSupprime(gtaParamEmailConfig,sCode) +si n > 0 alors +ZR_ConfigEmail[n]..Grisé = Vrai +fin +fin +fin +fin +Procédure locale SauveDonnées +procédure SauveDonnées() +quand exception dans +si n8IdCollaborateur<>0 alors +si pas HLitRecherchePremier(Collaborateur,CO_PKID,n8IdCollaborateur) alors +Erreur("Fiche Collaborateur introuvable !","Saisie abandonnée") +Ferme() +fin +si pas HLitRecherchePremier(Utilisateur,UT_IDCollaborateur,n8IdCollaborateur) alors +Erreur("Fiche Utilisateur introuvable !","Saisie abandonnée") +Ferme() +fin +sinon +Collaborateur.RAZ() +Utilisateur.RAZ() +fin +bLicenceMOB = saCleLicenceMOB<>"" +Collaborateur.CO_IDCivilite = CMB_Civilité +Collaborateur.CO_Nom = SAI_Nom +Collaborateur.CO_Prenom = SAI_Prénom +Collaborateur.CO_TelFixe = SAI_Tél_fixe +Collaborateur.CO_TelMobile = SAI_Tél_mob +Collaborateur.CO_Email = SAI_Mail +Collaborateur.CO_Fonction = SAI_Fonction +Collaborateur.ModifDate = DateHeureSys() +Collaborateur.ModifUser = gpclFicheUtilisateurEnCours:m_nPKID +Collaborateur.CO_AuPlanning = INT_AuPlanning +Collaborateur.CO_Actif = INT_UtilisateurActif +Collaborateur.CO_Ponderation = SAI_Pondération_des_temps_passés +Collaborateur.CO_Trigramme = SAI_Trigramme +Collaborateur.CO_IDStatut = CMB_Profil +Collaborateur.CO_AccesBO = bLicenceBO +Collaborateur.CO_AccesMobile = bLicenceMOB +si Collaborateur.NouvelEnregistrement alors +Collaborateur.CreationUser = gpclFicheUtilisateurEnCours:m_nPKID +Collaborateur.CreationDate = DateHeureSys() +fin +Collaborateur.Enregistre() +n8IdCollaborateur = Collaborateur.CO_PKID +Utilisateur.UT_Login = SAI_Compte +Utilisateur.UT_Administrateur = INT_Administrateur +Utilisateur.ModifDate = DateHeureSys() +06/08/2026 Isis_BO 1185 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Procédures +Utilisateur.ModifUser = gpclFicheUtilisateurEnCours:m_nPKID +Utilisateur.UT_IDCollaborateur = n8IdCollaborateur +Utilisateur.UT_IDSocietePrincipale= CMB_Societe +Utilisateur.UT_IDTypeProfil = CMB_Profil +Utilisateur.UT_CleLicenceMobile = saCleLicenceMOB +Utilisateur.UT_AccesBO = bLicenceBO +Utilisateur.UT_AccesMobile = bLicenceMOB +si gbNouveauMP _et_ SAI_Mot_de_passe_Modif <> "" alors +Utilisateur.UT_MotDePasse = Gauche(BufferVersHexa(HashChaîne(HA_MD5_128,SAI_Mot_de_passe_Modif+ +Mdp3),SansRegroupement),50) +fin +si Utilisateur.NouvelEnregistrement alors +Utilisateur.UT_MotDePasse = Gauche(BufferVersHexa(HashChaîne(HA_MD5_128,SAI_ +Mot_de_passe_Modif+Mdp3),SansRegroupement),50) +Utilisateur.CreationDate = DateHeureSys() +Utilisateur.CreationUser = gpclFicheUtilisateurEnCours:m_nPKID +fin +Utilisateur.Enregistre() +gn8IdUser = Utilisateur.UT_PKID +si pas HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,["CHOIX_MESSAGERIE", +Utilisateur.UT_PKID]) alors +ParametreUtilisateur.RAZ() +fin +ParametreUtilisateur.PU_Code = "CHOIX_MESSAGERIE" +ParametreUtilisateur.PU_IDUtilisateur = Utilisateur.UT_PKID +ParametreUtilisateur.PU_Valeur = CMB_Messagerie_par_défaut +ParametreUtilisateur.Enregistre() +si pas HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,["CHOIX_PLANNING_AGENDA", +Utilisateur.UT_PKID]) alors +ParametreUtilisateur.RAZ() +fin +ParametreUtilisateur.PU_Code = "CHOIX_PLANNING_AGENDA" +ParametreUtilisateur.PU_IDUtilisateur = Utilisateur.UT_PKID +ParametreUtilisateur.PU_Valeur = CMB_Affichage_par_défaut +ParametreUtilisateur.Enregistre() +//Mise à jour de la table Societe_Collaborateur +HExécuteRequêteSQL("DEL",hRequêteDéfaut, +"DELETE FROM Societe_Collaborateur WHERE Societe_Collaborateur.SC_IDCollaborateur="+ +n8IdCollaborateur) +pour toute ligne de ZR_Soc +si ATT_Actif alors +Societe_Collaborateur.RAZ() +Societe_Collaborateur.SC_IDCollaborateur = n8IdCollaborateur +Societe_Collaborateur.SC_IDCSociete = ATT_SocieteID +Societe_Collaborateur.Ajoute() +fin +fin +ConfigureAffichage() +EnregistrerConfigMail() +renvoyer Vrai +faire +Erreur("Erreur lors de l'enregistrement des données",ExceptionInfo(errMessage)) +renvoyer Faux +fin +Procédure locale SupprimeConfigMail +06/08/2026 Isis_BO 1186 + +Partie 3 › Fenêtre WINDEV › FEN_Collaborateur › Procédures +procédure SupprimeConfigMail() +si ZR_ConfigEmail > 0 alors +si gtaParamEmailConfig[ATT_Code[ZR_ConfigEmail]]..Existe _et_ ZR_ConfigEmail[ZR_ConfigEmail].ATT_ +IdSoc <= 0 alors +TableauSupprime(gtaParamEmailConfig,ATT_Code[ZR_ConfigEmail]) +ZR_ConfigEmail[ZR_ConfigEmail]..Grisé = Vrai +SC_ConfigMail..Visible = Faux +gbModifMail = Vrai +sinon +Erreur("Cette configuration n'est peut pas être supprime") +retour +fin +fin +Procédure locale TesterParamEmail +procédure TesterParamEmail(local cle est une chaîne, local bMsg est un booléen = Vrai) +bSMTPCnxOk est un booléen +MessageInfoCnx est une chaîne = +"Rapport sur les tests de configuration de votre compte de messagerie:"+RC+RC +sMsg est une chaîne +Sablier(Vrai) +si cle <> "" _et_ pas gtaParamEmailConfig[cle]..Existe alors +renvoyer Faux +sinon +(bSMTPCnxOk,sMsg)=VerifieEmailOuvreSession(3,SAI_NomUtilisateurSMTP,SAI_MotdePasseSMTP, SAI_ +AdresseServeurSMTP, Val(SAI_PortSMTP),COMBO_SecuriteSMTP) +fin +//***************************************************************************************************** +***************************************** +//*********************************VERIFICATION +SMTP******************************************************************************************** +//***************************************************************************************************** +***************************************** +si cle <> "" alors +(bSMTPCnxOk,sMsg)=VerifieEmailOuvreSession(3,gtaParamEmailConfig[cle].SMTP.sLogin, gta +ParamEmailConfig[cle].SMTP.sMdp, gtaParamEmailConfig[cle].SMTP.sAdresseServeur,... +Val(gtaParamEmailConfig[cle].SMTP.sPortServeur), gtaParamEmailConfig[cle].SMTP.nCryptage) +fin +si bSMTPCnxOk=Vrai alors +EmailFermeSession(gtaParamEmailConfig[cle].SMTP.sLogin) +MessageInfoCnx+="- Vos paramètres de connexion SMTP sont corrects"+RC +sinon +MessageInfoCnx+= +"- Problème de connexion au serveur SMTP, merci de vérifier les données que vous avez saisies"+RC + +"Erreur reçue :" + sMsg +fin +Sablier(Faux) +si bMsg alors +Info(MessageInfoCnx) +fin +renvoyer bSMTPCnxOk +06/08/2026 Isis_BO 1187 + +Partie 3 › Fenêtre WINDEV › FEN_Modele › Image +FEN_Modele +Image +| 06/08/2026 | Isis_BO | 1188 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Modele › Image +| 06/08/2026 | Isis_BO | 1189 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Modele › Informations générales +FEN_Modele +Informations générales +FEN_Modele +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Modele.wdw +| Créé par | | DFI | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | ---- | +| Date de création | | 23/08/2024 18:48:40 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:22 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1680 Hauteur | 1000 | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| 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 | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 1190 | + +Partie 3 › Fenêtre WINDEV › FEN_Modele › Informations générales +Valide auto. 0 +Lib. + tps restant Oui +Pos. X Menu 6 +Pos. Y Menu 28 +Texte Markdown Non +Mode menu ctx. +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 +Image poignée D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +Statistiques de la fenêtre +Nombre d'éléments dans la fenêtre : 0 +FEN_Modele +Code +Déclarations globales de FEN_Modele +procédure MaFenêtre() +06/08/2026 Isis_BO 1191 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Image +FEN_ModelesChamps +Image +| 06/08/2026 | Isis_BO | 1192 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Image +| 06/08/2026 | Isis_BO | 1193 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations générales +FEN_ModelesChamps +Informations générales +FEN_ModelesChamps +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_ModelesChamps.wdw +| Créé par | | DFI | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | ---- | +| Date de création | | 24/08/2024 21:40:09 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:23 | | | | +| Titre | | FR: ModelesChamps | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1680 Hauteur | 1000 | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| 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 | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 1194 | + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations générales +| 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. | | | | | | | | +| 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 | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | +D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +Image poignée +Statistiques de la fenêtre +| | Libellé | | 9 | Image | | | 17 | +| --- | ---------- | --- | --- | ---------------------- | --- | --- | --- | +| | Superchamp | | 4 | Champ Modèle de champs | | | 5 | +Nombre d'éléments dans la fenêtre : 35 +FEN_ModelesChamps +Informations sur les champs +Fenêtre : FEN_ModelesChamps +Superchamp +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| SC_Entete | | 25 | 35 271 | 29 | 0 | Actif | | +| --------------------- | --- | --- | ------- | --- | --- | ----- | ---- | +| SC_EnteteDossier | | 23 | 76 271 | 29 | 0 | Actif | | +| SC_EnteteIntervention | | 25 | 117 271 | 29 | 0 | Actif | | +| SC_EnteteSite | | 25 | 158 271 | 29 | 0 | Actif | | +| 06/08/2026 | | | Isis_BO | | | | 1195 | + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Entete_Client | 31 | 257 | 271 | 29 | 0 | Actif | | +| ------------------- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_Entete_Contact | 31 | 313 | 271 | 29 | 0 | Actif | | +| CMOD_Entete_Dossier | 31 | 367 | 271 | 29 | 0 | Actif | | +| CMOD_Entete_Inter | 31 | 424 | 271 | 29 | 0 | Actif | | +| CMOD_Entete_Site | 31 | 199 | 271 | 29 | 0 | Actif | | +Superchamp : SC_Entete +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_CARACTERISTIQUE | 60 40 | 146 19 | 0 | Actif | Gauche | Haut | | +| ------------------- | ----- | ------ | --- | ----- | ------ | ---- | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | | laitini tatE | | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --------- | --- | +| | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Entete | 25 | 35 271 | 29 | 0 | Actif | | | +| -------------------------- | --- | ------ | --- | --- | ----- | --- | --- | +| IMG_ICONE_CARACTERISTIQUES | 34 | 41 16 | 16 | 0 | Actif | | | +Superchamp : SC_EnteteDossier +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | ruegraL | elbisiV | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +nalP +| LIB_CARACTERISTIQUE | 58 81 | 146 19 | 0 | Actif | Gauche | Haut | | +| ------------------- | ----- | ------- | --- | ----- | ------ | ---- | ---- | +| 06/08/2026 | | Isis_BO | | | | | 1196 | + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › 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_Entete | 23 | 76 271 | 29 0 | Actif | | | +| -------------------------- | --- | ------ | ---- | ----- | --- | --- | +| IMG_ICONE_CARACTERISTIQUES | 32 | 82 16 | 16 0 | Actif | | | +Superchamp : SC_EnteteIntervention +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_CARACTERISTIQUE | 60 122 | 146 19 | 0 Actif | Gauche | Haut | | +| ------------------- | ------ | ------ | ------- | ------ | ---- | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | laitini tatE | | | +| --- | ---------- | ---------- | ------- | ------------ | --------- | --- | +| | | ruegraL | ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_Entete | 25 | 117 271 | 29 0 | Actif | | | +| -------------------------- | --- | ------- | ---- | ----- | --- | --- | +| IMG_ICONE_CARACTERISTIQUES | 34 | 123 16 | 16 0 | Actif | | | +Superchamp : SC_EnteteSite +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --------------------- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| LIB_CARACTERISTIQUE | 60 163 | 146 19 | 0 Actif | Gauche | Haut | | +| ------------------- | ------ | ------- | ------- | ------ | ---- | ---- | +| 06/08/2026 | | Isis_BO | | | | 1197 | + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › 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_ICONE_CARACTERISTIQUES | 34 | 164 16 | 16 0 | Actif | | | +| -------------------------- | --- | ------ | ---- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Entete_Client +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --------------------- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_BLOC | 65 262 | 146 19 | 0 Actif | Gauche | Haut | | +| -------- | ------ | ------ | ------- | ------ | ---- | --- | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | --- | ------------ | --- | ---------- | +cilc cevA +| | | ruegraL | ruetuaH | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| IMG_Entete | 31 | 257 271 | 29 0 | Actif | | | +| ---------- | --- | ------- | ---- | ----- | --- | --- | +| IMG_ICONE | 39 | 263 16 | 16 0 | Actif | | | +Champ Modèle de champs : CMOD_Entete_Contact +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_BLOC | 65 318 | 146 19 | 0 Actif | Gauche | Haut | | +| ---------- | ------ | ------- | ------- | ------ | ---- | ---- | +| 06/08/2026 | | Isis_BO | | | | 1198 | + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › 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_Entete | 31 | 313 271 | 29 0 | Actif | | | +| ---------- | --- | ------- | ---- | ----- | --- | --- | +| IMG_ICONE | 39 | 319 16 | 16 0 | Actif | | | +Champ Modèle de champs : CMOD_Entete_Dossier +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_BLOC | 65 372 | 146 19 | 0 Actif | Gauche | Haut | | +| -------- | ------ | ------ | ------- | ------ | ---- | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | laitini tatE | | | +| --- | ---------- | ---------- | ------- | ------------ | --------- | --- | +| | | ruegraL | ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_Entete | 31 | 367 271 | 29 0 | Actif | | | +| ---------- | --- | ------- | ---- | ----- | --- | --- | +| IMG_ICONE | 39 | 373 16 | 16 0 | Actif | | | +Champ Modèle de champs : CMOD_Entete_Inter +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --------------------- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| LIB_BLOC | 65 429 | 146 19 | 0 Actif | Gauche | Haut | | +| ---------- | ------ | ------- | ------- | ------ | ---- | ---- | +| 06/08/2026 | | Isis_BO | | | | 1199 | + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › 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_Entete | 31 | 424 271 | 29 0 | Actif | | | +| ---------- | --- | ------- | ---- | ----- | --- | --- | +| IMG_ICONE | 39 | 430 16 | 16 0 | Actif | | | +Champ Modèle de champs : CMOD_Entete_Site +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_BLOC | 65 204 | 146 19 | 0 Actif | Gauche | Haut | | +| -------- | ------ | ------ | ------- | ------ | ---- | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | laitini tatE | | | +| --- | ---------- | ---------- | ------- | ------------ | --------- | --- | +| | | ruegraL | ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_Entete | 31 | 199 271 | 29 0 | Actif | | | +| ---------- | --- | ------- | ---- | ----- | --- | --- | +| IMG_ICONE | 39 | 205 16 | 16 0 | Actif | | | +Fenêtre : FEN_ModelesChamps +Champ Modèle de champs : CMOD_Entete_Client +| Ordre navigation | 6 | | | | | | +| ------------------------- | ---------------------------- | ------- | --- | --- | --- | ---- | +| Curseur survol | 0 | | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | | +| Unité des tailles | Compatible desktop ET mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | | | | | | | +| Numéro aide | 0 | | | | | | +| 06/08/2026 | | Isis_BO | | | | 1200 | + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › 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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Entete_Contact +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Entete_Dossier +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1201 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations sur les champs +Champ Modèle de champs : CMOD_Entete_Inter +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Entete_Site +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1202 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations sur les champs +Superchamp : SC_Entete +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 271 +Hauteur externe 29 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_EnteteDossier +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 271 +Hauteur externe 29 +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 +06/08/2026 Isis_BO 1203 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_EnteteIntervention +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 271 +Hauteur externe 29 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_EnteteSite +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 271 +Hauteur externe 29 +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 +06/08/2026 Isis_BO 1204 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations sur les champs +Source de remplissage Table chargée en mémoire +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Entete_Client +Image : CMOD_Entete_Client.IMG_Entete +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1205 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations sur les champs +Image : CMOD_Entete_Client.IMG_ICONE +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_CLIENT.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Entete_Client.LIB_BLOC +Libellé FR: Client +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Isis_BO 1206 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Entete_Contact +Image : CMOD_Entete_Contact.IMG_Entete +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Oui +06/08/2026 Isis_BO 1207 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_Entete_Contact.IMG_ICONE +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_CONTACTSITE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1208 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations sur les champs +Libellé : CMOD_Entete_Contact.LIB_BLOC +Libellé FR: Contact +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Entete_Dossier +Image : CMOD_Entete_Dossier.IMG_Entete +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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 +06/08/2026 Isis_BO 1209 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations sur les champs +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_Entete_Dossier.IMG_ICONE +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_dossier.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +06/08/2026 Isis_BO 1210 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Entete_Dossier.LIB_BLOC +Libellé FR: Dossier +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1211 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations sur les champs +Champ Modèle de champs : CMOD_Entete_Inter +Image : CMOD_Entete_Inter.IMG_Entete +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_Entete_Inter.IMG_ICONE +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_action.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +06/08/2026 Isis_BO 1212 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations sur les champs +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Entete_Inter.LIB_BLOC +Libellé FR: Intervention +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 +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 +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 +06/08/2026 Isis_BO 1213 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations sur les champs +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Entete_Site +Image : CMOD_Entete_Site.IMG_Entete +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1214 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations sur les champs +Image : CMOD_Entete_Site.IMG_ICONE +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_SITE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Entete_Site.LIB_BLOC +Libellé FR: Site +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Isis_BO 1215 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_Entete +Image : SC_Entete.IMG_Entete +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Oui +06/08/2026 Isis_BO 1216 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : SC_Entete.IMG_ICONE_CARACTERISTIQUES +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_CARACT.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1217 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations sur les champs +Libellé : SC_Entete.LIB_CARACTERISTIQUE +Libellé FR: Intervention du jour +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_EnteteDossier +Image : SC_EnteteDossier.IMG_Entete +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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 +06/08/2026 Isis_BO 1218 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations sur les champs +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : SC_EnteteDossier.IMG_ICONE_CARACTERISTIQUES +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_dossier.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +06/08/2026 Isis_BO 1219 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : SC_EnteteDossier.LIB_CARACTERISTIQUE +Libellé FR: Dossier +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1220 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations sur les champs +Superchamp : SC_EnteteIntervention +Image : SC_EnteteIntervention.IMG_Entete +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : SC_EnteteIntervention.IMG_ICONE_CARACTERISTIQUES +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_action.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +06/08/2026 Isis_BO 1221 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations sur les champs +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : SC_EnteteIntervention.LIB_CARACTERISTIQUE +Libellé FR: Intervention +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 +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 +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 +06/08/2026 Isis_BO 1222 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations sur les champs +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_EnteteSite +Image : SC_EnteteSite.IMG_ICONE_CARACTERISTIQUES +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_SITE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1223 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Informations sur les champs +Libellé : SC_EnteteSite.LIB_CARACTERISTIQUE +Libellé FR: Site +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_ModelesChamps +Code +Déclarations globales de FEN_ModelesChamps +procédure MaFenêtre() +FEN_ModelesChamps +Code des champs +Fin d'initialisation de CMOD_Entete_Client +06/08/2026 Isis_BO 1224 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Entete_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Entete_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Entete_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Entete_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Entete_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Entete_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_ICONE ( CMOD_Entete_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_ICONE ( CMOD_Entete_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_ICONE ( CMOD_Entete_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_ICONE ( CMOD_Entete_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_ICONE ( CMOD_Entete_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_ICONE ( CMOD_Entete_Client ) +//Exécute le traitement défini dans le modèle +06/08/2026 Isis_BO 1225 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Code des champs +ExécuteAncêtre +Initialisation de LIB_BLOC ( CMOD_Entete_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Entete_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Entete_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Entete_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Entete_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Entete_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Entete_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Entete_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_ICONE ( CMOD_Entete_Contact ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_ICONE ( CMOD_Entete_Contact ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_ICONE ( CMOD_Entete_Contact ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_ICONE ( CMOD_Entete_Contact ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_ICONE ( CMOD_Entete_Contact ) +06/08/2026 Isis_BO 1226 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_ICONE ( CMOD_Entete_Contact ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_BLOC ( CMOD_Entete_Contact ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Entete_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Entete_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Entete_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Entete_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Entete_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Entete_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Entete_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_ICONE ( CMOD_Entete_Dossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_ICONE ( CMOD_Entete_Dossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_ICONE ( CMOD_Entete_Dossier ) +//Exécute le traitement défini dans le modèle +06/08/2026 Isis_BO 1227 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Code des champs +ExécuteAncêtre +Balayage horizontal et vertical de IMG_ICONE ( CMOD_Entete_Dossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_ICONE ( CMOD_Entete_Dossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_ICONE ( CMOD_Entete_Dossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_BLOC ( CMOD_Entete_Dossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Entete_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Entete_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Entete_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Entete_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Entete_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Entete_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Entete_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_ICONE ( CMOD_Entete_Inter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_ICONE ( CMOD_Entete_Inter ) +06/08/2026 Isis_BO 1228 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_ICONE ( CMOD_Entete_Inter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_ICONE ( CMOD_Entete_Inter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_ICONE ( CMOD_Entete_Inter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_ICONE ( CMOD_Entete_Inter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_BLOC ( CMOD_Entete_Inter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Entete_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Entete_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Entete_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Entete_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Entete_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Entete_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Entete_Site +//Exécute le traitement défini dans le modèle +06/08/2026 Isis_BO 1229 + +Partie 3 › Fenêtre WINDEV › FEN_ModelesChamps › Code des champs +ExécuteAncêtre +| 06/08/2026 | Isis_BO | 1230 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactUtilisateurs › Image +FEN_Choix_ContactUtilisateurs +Image +FEN_Choix_ContactUtilisateurs +Informations générales +FEN_Choix_ContactUtilisateurs +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Choix_ContactUtilisateurs.wdw +Créé par XVA +Date de création 15/11/2018 15:38:11 +Dernière modification par SMR +Date dernière modification 11/04/2025 16:08:23 +Titre FR: Choix ContactUtilisateurs +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +06/08/2026 Isis_BO 1231 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactUtilisateurs › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 626 Hauteur | 501 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Non | | | | +| Type cadre | | Double | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| 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 | | | | +Image fond FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Blueberries\Blueberries_Background_Purple.jpg +D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Image poignée +| 06/08/2026 | | | Isis_BO | | 1232 | +| ---------- | --- | --- | ------- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactUtilisateurs › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | | 1 | Libellé | | | | 4 | +| --- | --------------------- | --- | --- | --- | ----------------------- | --- | --- | --- | --- | +| | Bouton | | | 2 | Interrupteur | | | | 1 | +| | Zone répétée | | | 1 | Attribut zone répétée | | | | 5 | +| | Option d'interrupteur | | | 1 | Rupture de zone répétée | | | | 2 | +Nombre d'éléments dans la fenêtre : 17 +FEN_Choix_ContactUtilisateurs +Informations sur les champs +Fenêtre : FEN_Choix_ContactUtilisateurs +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_MailManuel | | 6 464 612 | 26 0 | Actif Texte | | Non | | | | +| -------------- | --- | --------- | ---- | ----------- | --- | --- | --- | --- | --- | +Bouton +BAT ehcuoT notuob epyT +laitini tatE +X noitisoP Y noitisoP +| | | | | ruegraL ruetuaH | | | | | | +| --- | --- | --- | --- | --------------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| BTN_Fermer_Fiche_Rdv | | | 578 | 2 24 | 24 | 0 | Actif | Abandon | | +| --------------------- | --- | --- | --- | ------- | --- | --- | ----- | ------- | ---- | +| BTN_Valider_Fiche_Rdv | | | 548 | 2 24 | 24 | 0 | Actif | Normal | | +| 06/08/2026 | | | | Isis_BO | | | | | 1233 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactUtilisateurs › Informations sur les champs +Zone répétée +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_Contact | | 0 | 0 | 624 458 | 0 | Actif | | +| ---------- | --- | --- | --- | ------- | --- | ----- | --- | +Zone répétée : ZR_Contact +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +X noitisoP Y noitisoP laitini tatE +| | | ruegraL | ruetuaH | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Contact | 49 | 9 245 | 20 | 0 Actif | Gauche | Haut | | +| --------------- | --- | ----- | --- | ------- | ------ | ---- | --- | +| LIB_IdContact | 172 | 6 16 | 20 | 0 Actif | Gauche | Haut | | +| LIB_MailContact | 327 | 9 275 | 20 | 0 Actif | Gauche | Haut | | +| LIB_Titre | 49 | 6 245 | 20 | 0 Actif | Gauche | Haut | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | BAT ehcuoT | | staté siorT | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | ----------- | +| | X noitisoP | Y noitisoP | | | laitini tatE | | | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| INT_Inter | 20 | 4 | 23 28 | 0 Actif | | 1 | | +| --------- | --- | --- | ----- | ------- | --- | --- | --- | +Attribut zone répétée +BAT ehcuoT +laitini tatE +| | | X noitisoP Y noitisoP | | | | | | +| --- | --- | --------------------- | ------- | ------- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +ATT_IdContact +ATT_Mail +ATT_Nom +ATT_Type +ATT_sel +| 06/08/2026 | | | Isis_BO | | | | 1234 | +| ---------- | --- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactUtilisateurs › Informations sur les champs +Rupture de zone répétée +06/08/2026 Isis_BO 1235 +X +noitisoP +Y +noitisoP ruegraL ruetuaH +nalP +elbisiV +laitini +tatE +BAT +ehcuoT +RUPT_BasRupture1 +RUPT_HautRupture1 +Fenêtre : FEN_Choix_ContactUtilisateurs +Bouton : BTN_Fermer_Fiche_Rdv +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactUtilisateurs › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : BTN_Valider_Fiche_Rdv +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1236 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactUtilisateurs › Informations sur les champs +Champ de saisie : SAI_MailManuel +Libellé FR: Adresses mails séparées par un ";" : +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 231 +Largeur interne 387 +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: 63 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1237 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactUtilisateurs › 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. +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 et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : ZR_Contact +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 35 +Largeur colonne 624 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Oui +Bulle ascenseur Oui +06/08/2026 Isis_BO 1238 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactUtilisateurs › Informations sur les champs +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection multiple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : ZR_Contact +Attribut zone répétée : ZR_Contact.ATT_IdContact (2) +Champ associé LIB_IdContact +Propriété associée 1 +06/08/2026 Isis_BO 1239 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactUtilisateurs › Informations sur les champs +Attribut zone répétée : ZR_Contact.ATT_Mail (5) +Champ associé LIB_MailContact +Propriété associée 1 +Attribut zone répétée : ZR_Contact.ATT_Nom (1) +Champ associé LIB_Contact +Propriété associée 1 +Attribut zone répétée : ZR_Contact.ATT_Type (4) +Champ associé LIB_Titre +Propriété associée 1 +Attribut zone répétée : ZR_Contact.ATT_sel (3) +Champ associé INT_Inter +Propriété associée 1 +Interrupteur : ZR_Contact.INT_Inter +Valeur initiale 0 +Ordre navigation 1 +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 +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) +06/08/2026 Isis_BO 1240 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactUtilisateurs › Informations sur les champs +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. +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_Contact.LIB_Contact +Libellé FR: Nom Contact +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 +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 +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 +06/08/2026 Isis_BO 1241 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactUtilisateurs › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_Contact.LIB_IdContact +Libellé FR: id +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_Contact.LIB_MailContact +Libellé FR: Mail Contact +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 1242 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactUtilisateurs › Informations sur les champs +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_Contact.RUPT_HautRupture1.LIB_Titre +Libellé FR: Vos contacts +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 +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 +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 +06/08/2026 Isis_BO 1243 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactUtilisateurs › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : ZR_Contact.RUPT_BasRupture1 (7) +Toujours visible Non +Attribut de rupture 3 +Rupture de zone répétée : ZR_Contact.RUPT_HautRupture1 (6) +Toujours visible Oui +Attribut de rupture 3 +FEN_Choix_ContactUtilisateurs +Code +Déclarations globales de FEN_Choix_ContactUtilisateurs +procédure FEN_Choix_ContactUtilisateurs(local IdUtilisateur est un entier sans signe sur 8 octets=0, +local TabContact est un tableau de chaînes="") +gbSansModif est un booléen +gnCompt est un entier +nIndice est un entier +pour tout Collaborateur +si Collaborateur.CO_PKID <> IdUtilisateur _et_ Collaborateur.CO_Email <> "" alors +nIndice=TableauCherche(TabContact,tcLinéaire,Collaborateur.CO_Email) +si nIndice=-1 alors +ZoneRépétéeAjouteLigne(ZR_Contact,Collaborateur.CO_Trigramme+" "+Collaborateur.CO_Nom, +Collaborateur.CO_PKID,0,"Collaborateurs",Collaborateur.CO_Email) +sinon +ZoneRépétéeAjouteLigne(ZR_Contact,Collaborateur.CO_Trigramme+" "+Collaborateur.CO_Nom, +Collaborateur.CO_PKID,1,"Collaborateurs",Collaborateur.CO_Email) +fin +fin +fin +pour tout adressemail de TabContact +gnCompt=0 +pour tout ligne de ZR_Contact +si ZR_Contact.ATT_Mail=adressemail alors +gnCompt++ +fin +06/08/2026 Isis_BO 1244 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactUtilisateurs › Code +fin +si gnCompt=0 alors +si SAI_MailManuel="" alors +SAI_MailManuel=adressemail +sinon +SAI_MailManuel+=";"+adressemail +fin +fin +fin +Fermeture de FEN_Choix_ContactUtilisateurs +si gbSansModif=Faux alors +nCompteur est un entier +TableauSupprimeTout(TabContact) +pour toute ligne de ZR_Contact +si ATT_sel=1 alors +nCompteur++ +TableauAjouteLigne(TabContact,ATT_Mail) +fin +fin +si SAI_MailManuel<>"" alors +pour toute chaîne adressemail de SAI_MailManuel séparée par ";" +TableauAjouteLigne(TabContact,adressemail) +fin +fin +fin +renvoyer (TabContact) +FEN_Choix_ContactUtilisateurs +Code des champs +Clic sur BTN_Fermer_Fiche_Rdv +gbSansModif=Vrai +Ferme(FEN_Choix_ContactUtilisateurs) +Clic sur BTN_Valider_Fiche_Rdv +Ferme(FEN_Choix_ContactUtilisateurs) +Sélection d'une ligne de ZR_Contact +//SI ATT_sel=1 ALORS +// ATT_sel=0 +//sinon +// si gclPresentRDVGroupe:m_clTabModele..occurrence>0 alors +// MessageErreur est une chaine +// +MessageErreur=Gestion_Conflit(gclPresentRDVGroupe:m_clTabModele[1].m_dhDateDebut,gclPresentRDVGroupe:m_ +clTabModele[1].m_dhDateFin,ATT_IdCollab) +06/08/2026 Isis_BO 1245 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactUtilisateurs › Code des champs +// SI MessageErreur<>"" ALORS +// Erreur("Vous ne pouvez pas déplacer ce rendez-vous pour les utiliateurs +suivant:"+RC+RC+MessageErreur+RC+RC+"Conflit de Rendez-vous") +// ATT_sel=0 +// RETOUR +// fin +// sinon +// ATT_sel=1 +// FIN +//FIN +FEN_Choix_ContactUtilisateurs +Procédures +Procédure locale Gestion_Conflit +// Résumé : +procédure Gestion_Conflit(P_DateInf est une DateHeure,P_DateSup est une DateHeure,nP_IdCollab est une +chaîne ANSI) +Resp est une chaîne +DuréeModif est une Durée = "0001000000" +dhDateInf est une DateHeure=P_DateInf+DuréeModif +dhDatesup est une DateHeure=P_DateSup-DuréeModif +req est une Requête SQL = +[ +SELECT Planning_RDV.PL_Superposable,Planning_RDV.PL_IDCollaborateur,Collaborateur.CO_Nom, +Collaborateur.CO_Prenom,PL_DateDebut,PL_DateFin FROM Planning_RDV +INNER JOIN Collaborateur ON Collaborateur.CO_PKID=Planning_RDV.PL_IDCollaborateur +WHERE (Planning_RDV.PL_DateDebut BETWEEN {P_DateInf} AND {P_DateSup} OR Planning_RDV.PL_DateFin +BETWEEN {P_DateInf} AND {P_DateSup}) AND Planning_RDV.Archive=0 AND Planning_RDV.PL_IDCollaborateur +IN ({P_IdCollab}) +] +req.P_DateInf=dhDateInf +req.P_DateSup=dhDatesup +req.P_IdCollab=nP_IdCollab +si pas HExécuteRequête(req,hRequêteDéfaut) alors +Resp="Erreur HFSQL : " + HErreurInfo(hErrComplet) +renvoyer Resp +fin +pour tout req +si req.PL_Superposable=0 alors +si Resp="" alors +Resp="- "+req.CO_Prenom+" "+req.CO_Nom+" :"+" Un Rdv est déjà planifié et non superposable le "+ +DateVersChaîne(req.PL_DateDebut,"JJ/MM/AAAA")+" entre "+HeureVersChaîne(Droite(req.PL_DateDebut,9), +"HH:MM:SS")+" et "+HeureVersChaîne(Droite(req.PL_DateFin,9),"HH:MM:SS") +sinon +Resp+=RC+RC+"- "+ req.CO_Prenom+" "+req.CO_Nom+" :"+" Un Rdv +est déjà planifié et non superposable le "+ DateVersChaîne(req.PL_DateDebut,"JJ/MM/AAAA")+ +" entre "+HeureVersChaîne(Droite(req.PL_DateDebut,9),"HH:MM:SS")+" et "+HeureVersChaîne(Droite(req. +PL_DateFin,9),"HH:MM:SS") +fin +06/08/2026 Isis_BO 1246 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_ContactUtilisateurs › Procédures +fin +fin +renvoyer Resp +| 06/08/2026 | Isis_BO | 1247 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Image +FEN_Extraction_Donnees +Image +FEN_Extraction_Donnees +Informations générales +FEN_Extraction_Donnees +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Extraction_Donnees.wdw +Créé par SMR +Date de création 12/11/2024 13:50:38 +Dernière modification par susana@applilogik.fr +Date dernière modification 17/04/2026 16:25:04 +Titre FR: Extraction de données +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +06/08/2026 Isis_BO 1248 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 1094 Hauteur | 537 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| 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 | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| 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 | | | | +Image poignée D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\190 GENSTEEL\Gensteel_Resize.gif +| 06/08/2026 | | | Isis_BO | | 1249 | +| ---------- | --- | --- | ------- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | | | 12 | | Libellé | | | | 3 | +| --- | --------------------- | --- | --- | --- | --- | --- | ---------------- | --- | --- | --- | --- | +| | Bouton | | | | 5 | | Interrupteur | | | | 3 | +| | Image | | | | 1 | | Table | | | | 1 | +| | Combo | | | | 3 | | Superchamp | | | | 2 | +| | Option d'interrupteur | | | | 3 | | Colonne de table | | | | 1 | +Nombre d'éléments dans la fenêtre : 34 +FEN_Extraction_Donnees +Informations sur les champs +Fenêtre : FEN_Extraction_Donnees +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 | | | | | +ruetuaH +| | | | ruegraL | elbisiV | | | | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_Répertoire | | -252 -165 | 250 | 25 0 | Actif | Texte | | Non | | | | +| -------------- | --- | --------- | --- | ---- | ----- | ----- | --- | --- | --- | --- | --- | +Bouton +BAT ehcuoT notuob epyT +| | | | | X noitisoP Y noitisoP | | | | | laitini tatE | | | +| --- | --- | --- | --- | --------------------- | ------- | ------- | --- | --- | ------------ | --- | --- | +| | | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| BTN_Fichier | | | | 4 -163 | 21 | 21 | | 0 | Actif | Normal | | +| ------------- | --- | --- | --- | ------ | ------- | --- | --- | --- | ----- | ------ | ---- | +| BTN_RECHERCHE | | | | 547 25 | 24 | 24 | | 0 | Actif | Normal | | +| 06/08/2026 | | | | | Isis_BO | | | | | | 1250 | + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › 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_Excel | | 1026 | | 5 50 | 50 | 0 | Actif | | | +| --------- | --- | ---- | --- | ---- | --- | --- | ----- | --- | --- | +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | --- | ------------------ | ------------------ | ------------------ | ----------------------------- | +| | | | | | | )(ertliFH resilitU | | ruesnecsa elluB | | +| | | | | | | .gerne egacolB | noitcelésitluM | EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +edacsac eisiaS +BAT ehcuoT +| | X noitisoP | | | laitini tatE | | | | | | +| --- | ---------- | --- | --- | ------------ | --- | -------- | --- | --- | --- | +| | Y noitisoP | | | | | sruocraP | | | | +ruegraL ruetuaH +elbisiV +| | | | nalP | | elbaT | | | | | +| -------------- | ----- | -------- | ---- | -------- | ------ | --- | --- | --- | --- | +| TABLE_Resultat | 6 130 | 1070 369 | 0 | affichag | Mémoir | | | | 0 | +Combo +reihcif eétsissa eisiaS +| | | | | | | | | eriotagilbo eisiaS | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------------ | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | | BAT ehcuoT | | eisias cevA | | | +| --- | ---------- | ---------- | ------- | --- | ------------ | -------- | ----------- | --- | --- | +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | | +| | | ruegraL | ruetuaH | | | sruocraP | | | | +elbisiV +| | | | | | | elbaT | eéirT | | | +| --- | --- | --- | --- | --- | --- | ----- | ----- | --- | --- | +nalP +| COMBO_Rq | 6 | 11 535 | 38 | 0 | Actif | Variable | | Non | | +| -------- | --- | ------ | --- | --- | ----- | -------- | --- | --- | --- | +Superchamp +BAT ehcuoT +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_Client | | | 6 | 55 | 1084 | 63 | 0 | Actif | | +| ---------- | --- | --- | --- | ---- | ---- | --- | --- | ----- | --- | +| SC_RDVColb | | | -33 | -105 | 1016 | 63 | 0 | Actif | | +Table : TABLE_Resultat +| 06/08/2026 | | | | Isis_BO | | | | | 1251 | +| ---------- | --- | --- | --- | ------- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +| | | | | | ehcuag à eéxiF | | | .zroh egardaC | .trev egardaC | | | | +| --- | --- | --- | --- | ------------ | -------------- | --- | --- | ------------- | ------------- | ----------- | ---------- | ----------- | +| | | | | laitini tatE | elbaçalpéD | | | | | eisias epyT | FTR tamroF | eisias cevA | +engilitluM +ruegraL +elbisiV +| | epyT | | | | | | | | | | | eéirT | +| ------------ | ---- | --- | --- | ----- | --- | --- | --- | ------ | ------ | ----- | --- | ----- | +| COL_SansNom1 | | 141 | | Actif | | | | Gauche | Centre | Texte | | | +Superchamp : SC_Client +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_DATEDeb | 14 | 78 74 | 39 | 0 | Actif | | Date | | Non | | | | +| ----------- | --- | ------ | --- | --- | ----- | --- | ----- | --- | --- | --- | --- | --- | +| SAI_DATEFin | 98 | 78 74 | 39 | 0 | Actif | | Date | | Non | | | | +| SAI_DbDevis | 184 | 77 74 | 39 | 0 | Actif | | Date | | Non | | | | +| SAI_DbInter | 361 | 76 74 | 39 | 0 | Actif | | Date | | Non | | | | +| SAI_DfDevis | 268 | 77 74 | 39 | 0 | Actif | | Date | | Non | | | | +| SAI_DfInter | 445 | 76 74 | 39 | 0 | Actif | | Date | | Non | | | | +| SAI_Type | 872 | 61 190 | 51 | 0 | Actif | | Texte | | Non | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | | | ruegraL | | ruetuaH | | | | | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libelle2 | | 184 | | 59 | 119 | 17 | 0 | | Actif | Gauche | Haut | | +| ------------ | --- | --- | --- | --- | --- | ------- | --- | --- | ----- | ------ | ---- | ---- | +| LIB_Libelle3 | | 361 | | 58 | 180 | 17 | 0 | | Actif | Gauche | Haut | | +| LIB_Libellé | | 14 | | 60 | 119 | 20 | 0 | | Actif | Gauche | Haut | | +| 06/08/2026 | | | | | | Isis_BO | | | | | | 1252 | + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Bouton +notuob epyT +| | | | | | | | | | laitini tatE BAT ehcuoT | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ----------------------- | --- | --- | +| | | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| BTN_LOUPE_Type | | | 1063 | | 80 24 | | 24 | 0 | Actif | Normal | | +| -------------- | --- | --- | ---- | --- | ----- | --- | --- | --- | ----- | ------ | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | | Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | ---------- | --- | ---------- | --------------- | --- | --- | ------------ | --- | --- | ----------- | +| | | | | | ruegraL ruetuaH | | | | | | | +elbisiV +nalP +| INT_Blocage | | 642 | | 92 | 71 | 25 | 0 | Actif | | 1 | | +| ----------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | +| INT_Devis | | 541 | | 92 | 101 | 25 | 0 | Actif | | 1 | | +| INT_Inter | | 541 | | 67 | 163 | 25 | 0 | Actif | | 1 | | +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 | | | | | | sruocraP | | | | +| | | | ruegraL | ruetuaH | | | | | | | | +elbisiV +| | | | | | | | | elbaT | eéirT | | | +| --- | --- | --- | --- | --- | --- | --- | --- | ----- | ----- | --- | --- | +nalP +| COMBO_Soc | 716 | 75 | 146 | 37 | 0 | Actif | | Variable | Non | | | +| --------- | --- | --- | --- | --- | --- | ----- | --- | -------- | --- | --- | --- | +Superchamp : SC_RDVColb +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_Collaborateur | 659 -100 | 273 | 51 | 0 | Actif | Texte | | Non | | | | +| ----------------- | -------- | --- | --- | --- | ------- | ----- | --- | --- | --- | --- | ---- | +| SAI_DATEDeb | -25 -90 | 74 | 39 | 0 | Actif | Date | | Non | | | | +| SAI_DATEFin | 62 -90 | 74 | 39 | 0 | Actif | Date | | Non | | | | +| SAI_Type | 149 -100 | 254 | 51 | 0 | Actif | Texte | | Non | | | | +| 06/08/2026 | | | | | Isis_BO | | | | | | 1253 | + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Bouton +notuob epyT +| | | | | | laitini tatE BAT ehcuoT | | +| --- | --- | --- | --- | --- | ----------------------- | --- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_LOUPE_Collaborateur | | 938 -85 | 24 24 | 0 | Actif | Normal | +| ----------------------- | --- | ------- | ----- | --- | ----- | ------ | +| BTN_LOUPE_Type | | 409 -75 | 24 24 | 0 | Actif | Normal | +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 +| COMBO_Soc | 446 -86 | 197 37 | 0 Actif | Variable | Non | | +| --------- | ------- | ------ | ------- | -------- | --- | --- | +Fenêtre : FEN_Extraction_Donnees +Bouton : 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 | | | | | | | +| 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 | | | | | | | +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 | | | | | | | +| Texte Markdown | | Non | | | | | +| 06/08/2026 | | | Isis_BO | | | 1254 | + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\190 +Gensteel\Gensteel_Pict_Browse_16_5.png +Nb. états image 5 +Image fond FR: D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\190 Gensteel\Gensteel_Btn_Brw.png +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : BTN_RECHERCHE +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_refresh.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +06/08/2026 Isis_BO 1255 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : COMBO_Rq +Libellé FR: Requête +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 535 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 6 +Largeur interne 535 +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 +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 +06/08/2026 Isis_BO 1256 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +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. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Excel +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\excel.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +06/08/2026 Isis_BO 1257 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_Répertoire +Libellé FR: Répertoire +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne -191 +Largeur interne 189 +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 +06/08/2026 Isis_BO 1258 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › 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 +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_Client +Ordre navigation 6 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Largeur externe 1082 +Hauteur externe 61 +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 +06/08/2026 Isis_BO 1259 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Source de remplissage Table chargée en mémoire +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_RDVColb +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 1014 +Hauteur externe 61 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : TABLE_Resultat +Libellé FR: Table +Ordre navigation 7 +Curseur survol 0 +Mode Loupe Filtre +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 +06/08/2026 Isis_BO 1260 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +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 +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +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 +06/08/2026 Isis_BO 1261 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Superchamp : SC_Client +Bouton : SC_Client.BTN_LOUPE_Type +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_chercher.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 1262 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Combo : SC_Client.COMBO_Soc +Libellé FR: Société de l'intervention +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 138 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 724 +Largeur interne 138 +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 +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 +06/08/2026 Isis_BO 1263 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Oui +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : SC_Client.INT_Blocage +Libellé FR: Bloqué +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 +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. +Image D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\190 Gensteel\Gensteel_CBox.png +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 6 +06/08/2026 Isis_BO 1264 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : SC_Client.INT_Devis +Valeur initiale 0 +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 +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. +Image D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\190 Gensteel\Gensteel_CBox.png +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 6 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1265 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Interrupteur : SC_Client.INT_Inter +Valeur initiale 0 +Ordre navigation 2 +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 +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. +Image D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\190 Gensteel\Gensteel_CBox.png +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 6 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1266 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Libellé : SC_Client.LIB_Libelle2 +Libellé FR: Création du devis +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : SC_Client.LIB_Libelle3 +Libellé FR: Création de l’intervention +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 +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 +06/08/2026 Isis_BO 1267 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : SC_Client.LIB_Libellé +Libellé FR: Création du client +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1268 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Champ de saisie : SC_Client.SAI_DATEDeb +Libellé FR: À partir de : +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 14 +Largeur interne 74 +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: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1269 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › 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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Champ de saisie : SC_Client.SAI_DATEFin +Libellé FR: jusqu’à +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 98 +Largeur interne 74 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 1270 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1271 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Champ de saisie : SC_Client.SAI_DbDevis +Libellé FR: À partir de : +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 184 +Largeur interne 74 +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: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1272 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › 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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SC_Client.SAI_DbInter +Libellé FR: À partir de : +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 361 +Largeur interne 74 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 1273 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1274 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Champ de saisie : SC_Client.SAI_DfDevis +Libellé FR: jusqu’à +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 268 +Largeur interne 74 +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: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1275 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › 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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SC_Client.SAI_DfInter +Libellé FR: jusqu’à +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 445 +Largeur interne 74 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 1276 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1277 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Champ de saisie : SC_Client.SAI_Type +Libellé FR: Type +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 875 +Largeur interne 187 +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 +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 +06/08/2026 Isis_BO 1278 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +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. +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 : SC_RDVColb +Bouton : SC_RDVColb.BTN_LOUPE_Collaborateur +Ordre navigation -1 +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 +Retrait gauche 2 +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 +06/08/2026 Isis_BO 1279 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › 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 +Type flèche +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_chercher.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 : SC_RDVColb.BTN_LOUPE_Type +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_chercher.png +Nb. états image 5 +Nb. états fond 5 +06/08/2026 Isis_BO 1280 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : SC_RDVColb.COMBO_Soc +Libellé FR: Société +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 197 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 446 +Largeur interne 197 +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 +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 +06/08/2026 Isis_BO 1281 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +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. +Avec recherche Oui +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SC_RDVColb.SAI_Collaborateur +Libellé FR: Collaborateur +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 659 +Largeur interne 273 +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 +06/08/2026 Isis_BO 1282 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › 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 +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. +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 +06/08/2026 Isis_BO 1283 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Champ de saisie : SC_RDVColb.SAI_DATEDeb +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 +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne -25 +Largeur interne 74 +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: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1284 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › 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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Champ de saisie : SC_RDVColb.SAI_DATEFin +Libellé FR: Date fin +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 62 +Largeur interne 74 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 1285 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1286 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Champ de saisie : SC_RDVColb.SAI_Type +Libellé FR: Type +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 149 +Largeur interne 254 +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 +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 +06/08/2026 Isis_BO 1287 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : TABLE_Resultat +Colonne de table : TABLE_Resultat.COL_SansNom1 (1) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +06/08/2026 Isis_BO 1288 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Informations sur les champs +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FEN_Extraction_Donnees +Code +Déclarations globales de FEN_Extraction_Donnees +procédure FEN_Extraction_Donnees() +constante +CReqClient = 1 +CReqRDV = 2 +CVX = 6 +CVY = 55 +fin +Fin d'initialisation de FEN_Extraction_Donnees +RempliComboReq() +FEN_Extraction_Donnees +Code des champs +Clic sur BTN_Fichier +sRepertoire est une chaîne +// Ouvre le sélecteur de fichiers +soit sTitre="Sélectionner un répertoire..." +// ouvre le sélecteur +sRepertoire = fRepSélecteur(SAI_Répertoire, sTitre, "") +si sRepertoire<>"" alors +SAI_Répertoire = sRepertoire +ExécuteTraitement(SAI_Répertoire,trtModification) +fin +Clic sur BTN_RECHERCHE +06/08/2026 Isis_BO 1289 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Code des champs +Charge() +Sélection d'une ligne de COMBO_Rq +selon COMBO_Rq..ValeurMémorisée +cas CReqClient +SC_Client..Visible = Vrai +SC_RDVColb..Visible= Faux +SC_Client..X = CVX +SC_Client..Y = CVY +SC_RDVColb..X = -CVX +SC_RDVColb..Y = -(CVY*2) +cas CReqRDV +SC_Client..Visible = Faux +SC_RDVColb..Visible= Vrai +SC_Client..X = -CVX +SC_Client..Y = -(CVY*2) +SC_RDVColb..X = CVX +SC_RDVColb..Y = CVY +autre cas +SC_Client..Visible = Faux +SC_RDVColb..Visible = Faux +SC_Client..X = -CVX +SC_Client..Y = -(CVY*2) +SC_RDVColb..X = -CVX +SC_RDVColb..Y = -(CVY*2) +fin +Clic sur IMG_Excel +si TABLE_Resultat..Occurrence > 0 alors +sNomFichier est une chaîne = "Extration_Isis_"+DateSys()+".xls" +... +// Génère un fichier Excel Chemin pris âpres la recherche du dossier +ExécuteTraitement(BTN_Fichier,trtClic) +sFichierID est une chaîne +si SAI_Répertoire <> "" alors +sFichierID = ComplèteRep(SAI_Répertoire) +sFichierID += sNomFichier +si sFichierID <> "" alors +si TableVersExcel(TABLE_Resultat, sFichierID) = Faux alors +Info(ErreurInfo()) +sinon +ToastAffiche("Fichier généré") +fin +fin +fin +fin +Initialisation de SAI_Répertoire +// Version 1 +// Description +// Sélecteur de répertoire +Clic sur BTN_LOUPE_Type ( SC_Client ) +tbIdType est un tableau d'entiers sur 8 octets = OuvrePopupPosition(FEN_Type,poBas,cPM_02_ClientType) +si tbIdType..Occurrence > 0 alors +pour tout ID de tbIdType +06/08/2026 Isis_BO 1290 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Code des champs +Colb est un Jeton +Colb.Valeur = gpclListeTypeClient:RechercheEtDonneLibelleDepuisID(ID) +Colb.ValeurMémorisée = ID +SaisieAjouteJeton(SAI_Type, Colb) +fin +fin +Fin d'initialisation de COMBO_Soc ( SC_Client ) +ListeSupprimeTout(COMBO_Soc) +ListeAjoute(MonChamp,gpclListeSociete:ListeLibelleIDVersCombo()) +ListeSelectMoins(COMBO_Soc) +Initialisation de INT_Blocage ( SC_Client ) +// Version 1 +// Description +// Interrupteur simple 2 états +Initialisation de INT_Devis ( SC_Client ) +// Version 1 +// Description +// Interrupteur simple 2 états +Initialisation de INT_Inter ( SC_Client ) +// Version 1 +// Description +// Interrupteur simple 2 états +Initialisation de LIB_Libelle2 ( SC_Client ) +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_Libelle3 ( SC_Client ) +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_Libellé ( SC_Client ) +// Version 1 +// Description +// Libellé simple +Initialisation de SAI_Type ( SC_Client ) +// Version 1 +// Description +// Saisie avec jetons +Sortie de SAI_Type ( SC_Client ) +06/08/2026 Isis_BO 1291 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Code des champs +ChampVersSource() +Ajout d'un jeton dans SAI_Type ( SC_Client ) +procédure AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +renvoyer Faux +Suppression d'un jeton dans SAI_Type ( SC_Client ) +procédure SuppressionJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +renvoyer Vrai +Clic sur un jeton de SAI_Type ( SC_Client ) +procédure ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de SAI_Type ( SC_Client ) +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_Type ( SC_Client ) +procédure ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +renvoyer Vrai +A chaque modification de SAI_Type ( SC_Client ) +ChampVersSource() +Clic sur BTN_LOUPE_Collaborateur ( SC_RDVColb ) +maProcMAJObjetRetourFI est une procédure +stParametreFenInterne est un STParamFenetreAppelante = DonneParam(DansFenetre, +"FEN_Extraction_Donnees",MoiMême..Nom,maProcMAJObjetRetourFI,"Collaborateurs","ExtractionDonnees",0 +) +//TableauSupprimeTout(PresentRDVGroupe.m_clTabModele) +OuvrePopupPosition(FEN_Choix_Equipe_Collaborateur,poBas,gpclListeCollabActif,stParametreFenInterne) +si stParametreFenInterne.tabIDS..Occurrence > 0 alors +pour tout ID de stParametreFenInterne.tabIDS +nPos est un entier = TableauCherche(gpclListeCollabActif:m_clTabModele,tcLinéaire,"m_nPKID", +ID) +si nPos > 0 alors +Colb est un Jeton +Colb.Valeur = gpclListeCollabActif:m_clTabModele[nPos].m_sNom +Colb.ValeurMémorisée = ID +SaisieAjouteJeton(SAI_Collaborateur, Colb) +fin +fin +06/08/2026 Isis_BO 1292 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Code des champs +fin +Clic sur BTN_LOUPE_Type ( SC_RDVColb ) +tbIdType est un tableau d'entiers sur 8 octets = OuvrePopupPosition(FEN_Type,poBas,cPM_14_RdvType) +si tbIdType..Occurrence > 0 alors +pour tout ID de tbIdType +Colb est un Jeton +Colb.Valeur = gpclListeTypeRendezVous:RechercheEtDonneLibelleDepuisID(ID) +Colb.ValeurMémorisée = ID +SaisieAjouteJeton(SAI_Type, Colb) +fin +fin +Fin d'initialisation de COMBO_Soc ( SC_RDVColb ) +ListeSupprimeTout(COMBO_Soc) +ListeAjoute(MonChamp,gpclListeSociete:ListeLibelleIDVersCombo()) +ListeSelectMoins(COMBO_Soc) +Initialisation de SAI_Collaborateur ( SC_RDVColb ) +// Version 1 +// Description +// Saisie avec jetons +Sortie de SAI_Collaborateur ( SC_RDVColb ) +ChampVersSource() +Ajout d'un jeton dans SAI_Collaborateur ( SC_RDVColb ) +procédure AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +renvoyer Faux +Suppression d'un jeton dans SAI_Collaborateur ( SC_RDVColb ) +procédure SuppressionJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +renvoyer Vrai +Clic sur un jeton de SAI_Collaborateur ( SC_RDVColb ) +procédure ClicJeton (MonJeton est un Jeton) +Info(MonJeton.Valeur + MonJeton.ValeurMémorisée) +Entrée en saisie d'un jeton de SAI_Collaborateur ( SC_RDVColb ) +procédure EntreSaisieJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'entrée en saisie du jeton +renvoyer Vrai +Modification d'un jeton de SAI_Collaborateur ( SC_RDVColb ) +06/08/2026 Isis_BO 1293 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Code des champs +procédure ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +renvoyer Vrai +A chaque modification de SAI_Collaborateur ( SC_RDVColb ) +ChampVersSource() +Initialisation de SAI_Type ( SC_RDVColb ) +// Version 1 +// Description +// Saisie avec jetons +Sortie de SAI_Type ( SC_RDVColb ) +ChampVersSource() +Ajout d'un jeton dans SAI_Type ( SC_RDVColb ) +procédure AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +renvoyer Faux +Suppression d'un jeton dans SAI_Type ( SC_RDVColb ) +procédure SuppressionJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +renvoyer Vrai +Clic sur un jeton de SAI_Type ( SC_RDVColb ) +procédure ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de SAI_Type ( SC_RDVColb ) +procédure EntreSaisieJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'entrée en saisie du jeton +renvoyer Vrai +Modification d'un jeton de SAI_Type ( SC_RDVColb ) +procédure ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +renvoyer Vrai +A chaque modification de SAI_Type ( SC_RDVColb ) +ChampVersSource() +06/08/2026 Isis_BO 1294 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Procédures +FEN_Extraction_Donnees +Procédures +Procédure locale Charge +procédure Charge() +Sablier(Vrai) +TableSupprimeTout(TABLE_Resultat) +selon COMBO_Rq..ValeurMémorisée +cas CReqClient +ReqClient() +cas CReqRDV +ReqRDV() +autre cas +fin +Procédure locale RempliComboReq +procédure RempliComboReq() +ListeSupprimeTout(COMBO_Rq) +si HUtilisateur.SuperUtilisateur alors +ListeAjoute(COMBO_Rq,"Liste des clients avec leur contact principal"+gValeurMémorisée(CReqClient)) +ListeAjoute(COMBO_Rq,"Liste des rendez-vous collaborateurs"+gValeurMémorisée(CReqRDV)) +sinon +si gpclFicheUtilisateurEnCours <> Null _et_ gpclFicheUtilisateurEnCours:ListeAccesEtDroit <> Null +alors +nIndice est un entier = 0 +nIndice = TableauCherche(gpclFicheUtilisateurEnCours.ListeAccesEtDroit.m_clTabModele,tcLinéaire +,"m_clModule:m_sValeur","Rq.C",1) +si nIndice > 0 alors +si gpclFicheUtilisateurEnCours.ListeAccesEtDroit.m_clTabModele[nIndice]:m_bAcces alors +ListeAjoute(COMBO_Rq,"Liste des clients avec leur contact principal"+gValeurMémorisée( +CReqClient)) +fin +fin +nIndice = 0 +nIndice = TableauCherche(gpclFicheUtilisateurEnCours.ListeAccesEtDroit.m_clTabModele,tcLinéaire +,"m_clModule:m_sValeur","Rq.RDV",1) +si nIndice > 0 alors +si gpclFicheUtilisateurEnCours.ListeAccesEtDroit.m_clTabModele[nIndice]:m_bAcces alors +ListeAjoute(COMBO_Rq,"Liste des rendez-vous collaborateurs"+gValeurMémorisée(CReqRDV)) +fin +fin +fin +fin +Procédure locale ReqClient +procédure ReqClient() +06/08/2026 Isis_BO 1295 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Procédures +dhDateH est une DateHeure +sCompl est une chaîne ANSI +sREQest une chaîne ANSI = [ +SELECT CL_Nom AS Client, PA.PA_Libelle as Type, CL_Tel AS Telephone, cl_fax AS Fax, CL_Email AS Email, +CONCAT(PE_Nom, ' ', PE_Prenom) AS Contact, PE_TelFixe AS Fixe, PE_TelMobile AS Mobile, PE_Email AS +Email_Contact, PE_InfoSupp AS Information, +CL_Blocage as Bloque, Cl_RaisonBlocage as Raison_blocage +FROM Client +LEFT JOIN Personne on Personne.PE_PKID = CL_IDContactPrincipal +LEFT JOIN ParametreMetier as PA ON PA.PA_PKID = CL_IDType +] +sJoin est une chaîne ANSI +si SC_Client.SAI_DbInter <> Null or SC_Client.SAI_DfInter <> Null or SC_Client.SAI_DbDevis <> Null... +or SC_Client.SAI_DfDevis <> Null or SC_Client.INT_Devis or SC_Client.INT_Inter or SC_Client.COMBO_ +Soc..ValeurMémorisée > 0 alors +sJoin = " INNER JOIN Intervention on IN_IDClient = CL_PKID " +fin +si SC_Client.SAI_DATEDeb <> Null alors +dhDateH..PartieDate = SC_Client.SAI_DATEDeb +sCompl += "AND Client.CreationDate >= '"+dhDateH+"' " +fin +si SC_Client.SAI_DATEFin <> Null alors +dhDateH..PartieDate = SC_Client.SAI_DATEFin +sCompl += "AND Client.CreationDate <= '"+dhDateH+"' " +fin +si SC_Client.SAI_DbDevis <> Null alors +sCompl += "AND IN_DateDevis >= '"+SC_Client.SAI_DbDevis+"' " +fin +si SC_Client.SAI_DfDevis <> Null alors +sCompl += "AND IN_DateDevis <= '"+SC_Client.SAI_DfDevis+"' " +fin +si SC_Client.SAI_DbInter <> Null alors +dhDateH..PartieDate = SC_Client.SAI_DbInter +sCompl += "AND Intervention.CreationDate >= '"+dhDateH+"' " +fin +si SC_Client.SAI_DfInter <> Null alors +dhDateH..PartieDate = SC_Client.SAI_DfInter +sCompl += "AND Intervention.CreationDate <= '"+dhDateH+"' " +fin +si SC_Client.INT_Devis alors +sCompl += " and IN_NumDevis <> '' " +fin +si SC_Client.INT_Blocage alors +sCompl += " and CL_Blocage = 1 " +fin +si SC_Client.COMBO_Soc..ValeurMémorisée > 0 alors +sCompl += "AND IN_IDSociete = "+SC_Client.COMBO_Soc..ValeurMémorisée+" " +fin +nNbIdType est un entier = SaisieOccurrenceJeton(SC_Client.SAI_Type) +sIdType est une chaîne ANSI +si nNbIdType > 0 alors +06/08/2026 Isis_BO 1296 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Procédures +pour i = 1 à nNbIdType +sIdType += [","]+SC_Client.SAI_Type..Jeton[i]..ValeurMémorisée +fin +fin +si sIdType <> "" alors +sCompl += "AND CL_IDType in ("+sIdType+") " +fin +si SansEspace(sCompl) = "" alors +Info("Veuillez sélectionner au moins un critère") +retour +sinon +sREQ += sJoin +sREQ += " WHERE Client.Archive = 0" + sCompl +"Order by CL_Nom" +sdDonnees est une Source de Données +si HExécuteRequêteSQL(sdDonnees,hRequêteDéfaut,sREQ) alors +ConstruitTableFichier(TABLE_Resultat,sdDonnees,taRemplirTable) +ToastAffiche(sdDonnees.NbEnr() + " Enregistrements trouvés", toastCourt, cvMilieu, chCentre) +sinon +Erreur("Un erreur est survenu ",HErreurInfo()) +retour +fin +fin +Procédure locale ReqRDV +procédure ReqRDV() +sCompl est une chaîne ANSI +sAREQ est une chaîne ANSI = [ +SELECT CONCAT(CO_Nom, ' ', CO_Prenom, ' ',CO_Trigramme) as Collaborateur, so_nom as Société, +pl_datedebut as Début, pl_datefin as Fin, PA.pa_libelle as Type, +in_numdevis as Devis, in_refinterne as Référence, li_codelieu as Lieu,pl_objet as Objet, +pl_description as Description +FROM planning_rdv +INNER JOIN parametreMetier AS PA ON PA.pa_pkid = pl_idtypeActivite +INNER JOIN collaborateur ON CO_PKID = pl_idcollaborateur +LEFT JOIN societe on so_pkid = pl_idsociete +INNER JOIN intervention on in_pkid = pl_idintervention +LEFT JOIN lieu on li_pkid = pl_idlieu +WHERE Planning_RDV.Archive = 0 +] +i est un entier +dhDateH est une DateHeure +si SC_RDVColb.SAI_DATEDeb <> Null alors +dhDateH..PartieDate = SC_RDVColb.SAI_DATEDeb +sCompl += "AND pl_datedebut >= '"+dhDateH+"' " +fin +si SC_RDVColb.SAI_DATEFin <> Null alors +dhDateH..PartieDate = SC_RDVColb.SAI_DATEFin +sCompl += "AND pl_datefin <= '"+dhDateH+"' " +fin +si SC_RDVColb.COMBO_Soc..ValeurMémorisée > 0 alors +sCompl += "AND pl_idsociete = "+SC_RDVColb.COMBO_Soc..ValeurMémorisée+" " +fin +06/08/2026 Isis_BO 1297 + +Partie 3 › Fenêtre WINDEV › FEN_Extraction_Donnees › Procédures +NbId est un entier = SaisieOccurrenceJeton(SC_RDVColb.SAI_Collaborateur) +sIdColb est une chaîne ANSI +si NbId > 0 alors +pour i = 1 à NbId +sIdColb += [","]+SC_RDVColb.SAI_Collaborateur..Jeton[i]..ValeurMémorisée +fin +fin +si sIdColb <> "" alors +sCompl += "AND pl_idcollaborateur in ("+sIdColb+") " +fin +nNbIdType est un entier = SaisieOccurrenceJeton(SC_RDVColb.SAI_Type) +sIdType est une chaîne ANSI +si nNbIdType > 0 alors +pour i = 1 à nNbIdType +sIdType += [","]+SC_RDVColb.SAI_Type..Jeton[i]..ValeurMémorisée +fin +fin +si sIdType <> "" alors +sCompl += "AND pl_idtypeActivite in ("+sIdType+") " +fin +si SansEspace(sCompl) = "" alors +Info("Veuillez sélectionner au moins un critère") +retour +sinon +//sAREQ += "WHERE "+sCompl[[4 À ]] +sAREQ += sCompl +sdDonnees est une Source de Données +si HExécuteRequêteSQL(sdDonnees,hRequêteDéfaut,sAREQ) alors +ConstruitTableFichier(TABLE_Resultat,sdDonnees,taRemplirTable) +ToastAffiche(sdDonnees.NbEnr() + " Enregistrements trouvés", toastCourt, cvMilieu, chCentre) +sinon +Erreur("Un erreur est survenu ",HErreurInfo()) +retour +fin +fin +06/08/2026 Isis_BO 1298 + +Partie 3 › Fenêtre WINDEV › FEN_Type › Image +FEN_Type +Image +FEN_Type +Informations générales +FEN_Type +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Type.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 15/11/2024 11:43:52 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:24 | | | | +| Titre | | FR: FEN_TypeRDV | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 259 Hauteur | 299 | +| 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. +| 06/08/2026 | | | Isis_BO | | 1299 | +| ---------- | --- | --- | ------- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Type › Informations générales +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +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 +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Image poignée D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +06/08/2026 Isis_BO 1300 + +Partie 3 › Fenêtre WINDEV › FEN_Type › Informations générales +Statistiques de la fenêtre +| | Libellé | | | | 1 | Bouton | | | | 2 | +| --- | ------- | --- | --- | --- | --- | ---------------- | --- | --- | --- | --- | +| | Table | | | | 1 | Colonne de table | | | | 3 | +Nombre d'éléments dans la fenêtre : 7 +FEN_Type +Informations sur les champs +Fenêtre : FEN_Type +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| LIB_Titre | | | 6 8 | 185 | 21 | 0 | Actif | Gauche | Centre | | +| --------- | --- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | +Bouton +| | | | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | ---------- | --- | --- | --- | --- | ------------ | ---------- | ----------- | +| | | | X noitisoP | | | | | laitini tatE | | | +Y noitisoP +| | | | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| BTN_Fermer_Liste_Collab | | | 227 | 6 | 24 | 24 | 0 | Actif | | Abandon | +| ------------------------ | --- | --- | --- | --- | --- | --- | --- | ----- | --- | ------- | +| BTN_Valider_Liste_Collab | | | 197 | 6 | 24 | 24 | 0 | Actif | | Normal | +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | --- | --- | ------------------ | ------------------ | ------------------ | ----------------------------- | +| | | | | | | | )(ertliFH resilitU | ruesnecsa elluB | EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +| | | | | | | | .gerne egacolB | noitcelésitluM | edacsac eisiaS | | +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | | | | | | +| --- | --- | --------------------- | --------------- | --- | ------------ | -------- | --- | --- | --- | --- | +| | | | ruegraL ruetuaH | | | sruocraP | | | | | +elbisiV +elbaT +nalP +| TABLE_Type | | 0 42 | 256 249 | 0 Actif | | Mémoir | | | | 3 | +| ---------- | --- | ---- | ------- | ------- | ------- | ------ | --- | --- | --- | ---- | +| 06/08/2026 | | | | | Isis_BO | | | | | 1301 | + +Partie 3 › Fenêtre WINDEV › FEN_Type › Informations sur les champs +Table : TABLE_Type +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_PKID | 162 | Grisé | | Droite Centre | Numériq | | +| COL_Sel | 27 | Actif | | Centre Centre | | | +| COL_Lib | 210 | affichag | | Gauche Centre | Texte | | +Fenêtre : FEN_Type +Bouton : BTN_Fermer_Liste_Collab +| 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 | | | | | | | +| 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 | | | | | | | +| 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 | | | | | | | +| -------------- | ------- | --- | --- | --- | --- | --- | +| Texte Markdown | Non | | | | | | +| Mode menu ctx. | | | | | | | +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +| Nb. états image | 5 | | | | | | +| ---------------------------- | ------- | --- | ------- | --- | --- | ---- | +| Nb. états fond | 1 | | | | | | +| Etirement de l'image de fond | | | | | | | +| 06/08/2026 | | | Isis_BO | | | 1302 | + +Partie 3 › Fenêtre WINDEV › FEN_Type › Informations sur les champs +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 : BTN_Valider_Liste_Collab +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 1303 + +Partie 3 › Fenêtre WINDEV › FEN_Type › Informations sur les champs +Libellé : LIB_Titre +Libellé FR: Type +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : TABLE_Type +Ordre navigation 3 +Curseur survol 0 +Mode Loupe Filtre +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) 16 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +06/08/2026 Isis_BO 1304 + +Partie 3 › Fenêtre WINDEV › FEN_Type › Informations sur les champs +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Rub. mémorisée :gclPresentationListeCollab.m_clTabModele +Ajout/Suppr. dans variable Non +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 +06/08/2026 Isis_BO 1305 + +Partie 3 › Fenêtre WINDEV › FEN_Type › Informations sur les champs +Table : TABLE_Type +Colonne de table : TABLE_Type.COL_PKID (1) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: +9 999 999 999 999 999 999 +Mode ellipse +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 Oui +Liaison des données :gclPresentationListeCollab.m_clTabModele.IdentifiantUnique +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : TABLE_Type.COL_Sel (2) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +06/08/2026 Isis_BO 1306 + +Partie 3 › Fenêtre WINDEV › FEN_Type › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : TABLE_Type.COL_Lib (3) +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 +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 Oui +Liaison des données :gclPresentationListeCollab.m_clTabModele.NomPrenom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1307 + +Partie 3 › Fenêtre WINDEV › FEN_Type › Code +FEN_Type +Code +Déclarations globales de FEN_Type +procédure FEN_Type(gsType est une chaîne ANSI = "") +gtabType est un tableau d'entiers sur 8 octets +Fin d'initialisation de FEN_Type +si gsType = cPM_14_RdvType alors +pour tout pclParam de gpclListeTypeRendezVous:m_clTabModele +TableAjouteLigne(TABLE_Type,pclParam:m_nPKID,Faux,pclParam:m_sLibelle) +fin +LIB_Titre = "Type de RDV" +sinon si gsType = cPM_02_ClientType alors +pour tout pclParam de gpclListeTypeClient:m_clTabModele +TableAjouteLigne(TABLE_Type,pclParam:m_nPKID,Faux,pclParam:m_sLibelle) +fin +LIB_Titre = "Type de client" +sinon +Ferme() +fin +Fermeture de FEN_Type +renvoyer gtabType +FEN_Type +Code des champs +Clic sur BTN_Fermer_Liste_Collab +TableauSupprimeTout(gtabType) +Ferme() +Clic sur BTN_Valider_Liste_Collab +TableauSupprimeTout(gtabType) +pour toute ligne b de TABLE_Type +si COL_Sel[b] alors +TableauAjoute(gtabType,COL_PKID[b]) +fin +fin +Ferme(MaFenêtre) +06/08/2026 Isis_BO 1308 + +Partie 3 › Fenêtre WINDEV › FEN_Reduire_Image › Image +FEN_Reduire_Image +Image +FEN_Reduire_Image +Informations générales +FEN_Reduire_Image +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Reduire_Image.wdw +Créé par SMR +Date de création 20/11/2024 14:31:18 +Dernière modification par SMR +Date dernière modification 11/04/2025 16:08:24 +Titre FR: Reduire Image +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +Position X 0 Position Y 0 Largeur 1038 Hauteur 458 +06/08/2026 Isis_BO 1309 + +Partie 3 › Fenêtre WINDEV › FEN_Reduire_Image › Informations générales +| 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 | | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| 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 | | | | | +| Grisé : Utiliser couleur perso. | Non | | | | +| Grisé : Algo pour images | | | | | +| 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. | | | | | +| 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 | | | | +| ---------------------- | --- | --- | --- | --- | +D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +Image poignée +| 06/08/2026 | | Isis_BO | | 1310 | +| ---------- | --- | ------- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Reduire_Image › Informations générales +Statistiques de la fenêtre +| | Libellé | | 4 | Bouton | | | | 2 | +| --- | ------- | --- | --- | ------ | --- | --- | --- | --- | +| | Image | | 4 | Forme | | | | 2 | +Nombre d'éléments dans la fenêtre : 12 +FEN_Reduire_Image +Informations sur les champs +Fenêtre : FEN_Reduire_Image +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | | ruegraL | elbisiV | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +nalP +| LIB_Lib | | 20 79 | 498 21 | 0 | Actif | Centre | Centre | | +| ------------ | --- | ------- | ------ | --- | ----- | ------ | ------ | --- | +| LIB_Lib1 | | 528 73 | 498 21 | 0 | Actif | Centre | Centre | | +| LIB_Poids | | 20 100 | 498 21 | 0 | Actif | Centre | Centre | | +| LIB_PoidsRed | | 623 100 | 312 21 | 0 | Actif | Centre | Centre | | +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | --- | +| | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Fermer | | 1006 | 6 24 | 24 | 0 | Actif | Abandon | | +| ----------- | --- | ---- | ------- | --- | --- | ----- | ------- | ---- | +| BTN_Valider | | 976 | 6 24 | 24 | 0 | Actif | Normal | | +| 06/08/2026 | | | Isis_BO | | | | | 1311 | + +Partie 3 › Fenêtre WINDEV › FEN_Reduire_Image › 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_Comprimir | 970 36 | 60 66 | 0 | Actif | | | +| --------------- | ------- | ------- | --- | ----- | --- | --- | +| IMG_Maximizar | 891 36 | 73 66 | 0 | Actif | | | +| IMG_imgOriginal | 20 127 | 498 320 | 0 | Actif | | | +| IMG_imgReduit | 528 127 | 498 320 | 0 | Actif | | | +Forme +| | | | | | laitini tatE | BAT ehcuoT | +| --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | +| | X noitisoP | Y noitisoP | | | | | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_SansNom1 | 20 | 127 498 | 320 | 0 | Actif | | +| ------------ | --- | ------- | --- | --- | ----- | --- | +| FRM_SansNom2 | 528 | 127 498 | 320 | 0 | Actif | | +Fenêtre : FEN_Reduire_Image +Bouton : BTN_Fermer +| 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 | | | | | | | +| 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 | | | | | | | +| 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 | | | | | | | +| 06/08/2026 | | Isis_BO | | | | 1312 | + +Partie 3 › Fenêtre WINDEV › FEN_Reduire_Image › Informations sur les champs +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 : BTN_Valider +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +06/08/2026 Isis_BO 1313 + +Partie 3 › Fenêtre WINDEV › FEN_Reduire_Image › Informations sur les champs +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 +Forme : FRM_SansNom1 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Forme : FRM_SansNom2 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 0 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1314 + +Partie 3 › Fenêtre WINDEV › FEN_Reduire_Image › Informations sur les champs +Image : IMG_Comprimir +Libellé FR: Réduire +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\comprimir.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Maximizar +Libellé FR: Augmenter +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\maximizar.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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 +06/08/2026 Isis_BO 1315 + +Partie 3 › Fenêtre WINDEV › FEN_Reduire_Image › Informations sur les champs +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. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_imgOriginal +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +06/08/2026 Isis_BO 1316 + +Partie 3 › Fenêtre WINDEV › FEN_Reduire_Image › Informations sur les champs +Ancrage Largeur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Image : IMG_imgReduit +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Libellé : LIB_Lib +Libellé FR: Image original +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 1317 + +Partie 3 › Fenêtre WINDEV › FEN_Reduire_Image › Informations sur les champs +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 +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 Largeur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Libellé : LIB_Lib1 +Libellé FR: Image réduite +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 +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 +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 +06/08/2026 Isis_BO 1318 + +Partie 3 › Fenêtre WINDEV › FEN_Reduire_Image › Informations sur les champs +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Libellé : LIB_Poids +Libellé FR: 0 Ko +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 +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 +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 Largeur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Libellé : LIB_PoidsRed +Libellé FR: 0 Ko +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 1319 + +Partie 3 › Fenêtre WINDEV › FEN_Reduire_Image › Informations sur les champs +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 +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 +Taux anc. droite 600 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +FEN_Reduire_Image +Code +Déclarations globales de FEN_Reduire_Image +procédure FEN_Reduire_Image(gsChemin est une chaîne ANSI) +gnTailleMin est un entier = 500 +gnTailleMax est un entier +gsCheminReduit est une chaîne ANSI = gsChemin +Fin d'initialisation de FEN_Reduire_Image +si gsChemin <> "" alors +Ext est une chaîne ANSI = fExtraitChemin(gsChemin,fExtension) +Ext = Majuscule(Ext[[2 à]]) +selon Ext +cas "BMP","JPG","JPEG","GIF", "PCD", "PCX", "PNG", "PSD", "TGA", "TIF","TIFF","EMF","WMF","ICO" +,"ICW","CUR" +IMG_imgOriginal = gsChemin +IMG_imgReduit = gsCheminReduit +autre cas +Ferme() +fin +sinon +Ferme() +fin +Redimentionner(Vrai) +06/08/2026 Isis_BO 1320 + +Partie 3 › Fenêtre WINDEV › FEN_Reduire_Image › Code des champs +FEN_Reduire_Image +Code des champs +Clic sur BTN_Fermer +Ferme() +Clic sur BTN_Valider +si LIB_Poids <> LIB_PoidsRed alors +sNomFichier est une chaîne = fRépertoireTemp() + ["CompressionIMG"] +fExtraitChemin(gs +CheminReduit,fExtension) +si pas fCopyFile(sNomFichier, gsChemin) alors +Erreur("Une erreur s'est produite lors de l'enregistrement de la photo. ",ErreurInfo()) +fin +Ferme() +fin +Clic sur IMG_Comprimir +Redimentionner(Vrai) +Clic sur IMG_Maximizar +Redimentionner(Faux) +FEN_Reduire_Image +Procédures +Procédure locale Affichage +procédure Affichage() +| MonImageest une Image | | = gsCheminReduit | | | | +| --------------------- | ------------------------------------------- | ------------------------------------- | --- | --- | --- | +| MonImageOri | est une Image = gsChemin | | | | | +| nTaille | est un réel | = Arrondi((fTaille(gsChemin)/1024),2) | | | | +| LIB_Poids | = "Ko "+nTaille | | | | | +| nTaille2est un réel | = Arrondi((fTaille(gsCheminReduit)/1024),2) | | | | | +LIB_PoidsRed = "Ko "+nTaille2 +| nLargeur | est un entier | = MonImage..Largeur | | | | +| ----------- | ------------- | ------------------- | ---------------------- | ------- | ---- | +| nHauteur | est un entier | = MonImage..Hauteur | | | | +| nLargeurOri | est un entier | | = MonImageOri..Largeur | | | +| nHauteurOri | est un entier | | = MonImageOri..Hauteur | | | +| 06/08/2026 | | | | Isis_BO | 1321 | + +Partie 3 › Fenêtre WINDEV › FEN_Reduire_Image › Procédures +si nLargeur >= nLargeurOri _et_ nHauteur >= nHauteurOri alors +IMG_Maximizar..Visible = Faux +sinon +IMG_Maximizar..Visible = Vrai +fin +Procédure locale Augumenter +procédure Augumenter() +Procédure locale Redimentionner +procédure Redimentionner(bReduire est un booléen = Vrai) +si gsCheminReduit<>"" alors +ToastAffiche("Compression de l'image en cours ...") +MonImage est une Image = gsCheminReduit +sNomFichier est une chaîne = fRépertoireTemp() + ["CompressionIMG"] +fExtraitChemin(gs +CheminReduit,fExtension) +fCopyFile(gsCheminReduit,sNomFichier) +sExtension est une chaîne = Minuscule(fExtraitChemin(gsCheminReduit,fExtension)) +rRatio est un réel = 1.2 +nLargeur est un entier = MonImage..Largeur +nHauteur est un entier = MonImage..Hauteur +nTailleMax est un entier = (500*1024) //Taille maxi en Ko +si bReduire alors +nHauteur = Arrondi(nHauteur/rRatio) +nLargeur = Arrondi(nLargeur/rRatio) +sinon +MonImage = gsChemin +nHauteur = Arrondi(nHauteur*rRatio) +nLargeur = Arrondi(nLargeur*rRatio) +fin +dRedimensionne(MonImage,nLargeur,nHauteur,drEtiré) +selon sExtension +cas ".jpg",".jpeg" +dSauveImageJPEG(MonImage,sNomFichier) +cas ".png" +dSauveImagePNG(MonImage,sNomFichier) +cas ".gif" +dSauveImageGIF(MonImage,sNomFichier) +fin +IMG_imgReduit = sNomFichier +gsCheminReduit = sNomFichier +ToastAffiche("Compression terminé") +fin +Affichage() +renvoyer Vrai +06/08/2026 Isis_BO 1322 + +Partie 3 › Fenêtre WINDEV › FEN_TestSusana › Image +FEN_TestSusana +Image +FEN_TestSusana +Informations générales +FEN_TestSusana +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_TestSusana.wdw +Créé par SMR +Date de création 05/12/2024 15:59:53 +Dernière modification par SMR +Date dernière modification 11/04/2025 16:08:24 +Titre FR: TestSusana +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +06/08/2026 Isis_BO 1323 + +Partie 3 › Fenêtre WINDEV › FEN_TestSusana › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 996 Hauteur | 533 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| 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 | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| 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 | | | | +D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +Image poignée +| 06/08/2026 | | | Isis_BO | | 1324 | +| ---------- | --- | --- | ------- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_TestSusana › Informations générales +Statistiques de la fenêtre +| | Bouton | | 1 | Affichage HTML | | | 1 | +| --- | ------ | --- | --- | -------------- | --- | --- | --- | +Nombre d'éléments dans la fenêtre : 2 +FEN_TestSusana +Informations sur les champs +Fenêtre : FEN_TestSusana +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | --- | +ruetuaH +| | | | ruegraL | elbisiV | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +nalP +| BTN_BOUTON | | 56 60 | 85 24 | 0 | Actif | Normal | | +| ---------- | --- | ----- | ----- | --- | ----- | ------ | --- | +Affichage HTML +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | +| | | X noitisoP | Y noitisoP | | | | | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| HTM_SansNom1 | | 147 | 6 841 | 489 | 0 | Actif | | +| ------------ | --- | --- | ----- | --- | --- | ----- | --- | +Fenêtre : FEN_TestSusana +Bouton : BTN_BOUTON +| Libellé | | FR: &Bouton | | | | | | +| -------------------------- | --- | ------------- | ------- | --- | --- | --- | ---- | +| Ordre navigation | | 1 | | | | | | +| 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 | | | | | | +| 06/08/2026 | | | Isis_BO | | | | 1325 | + +Partie 3 › Fenêtre WINDEV › FEN_TestSusana › Informations sur les champs +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Image fond FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +GENSTEEL\Gensteel_Btn_Std.png +Nb. états fond 5 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Affichage HTML : HTM_SansNom1 +Libellé FR: HTML +UI par l'utilisateur Selon fenêtre +Menu contextuel +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Autorise ChangeGabarit Oui +Sécurité HTML Non +WL.Execute() dans JS Non +ExecuteJS avec lambda Non +Autoriser popups Non +ActiveX IE/Edge Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 1326 + +Partie 3 › Fenêtre WINDEV › FEN_TestSusana › Informations sur les champs +Facteur d'agrandissement 0 +Mode menu ctx. +Boutons Zoom Oui +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_TestSusana +Code +Déclarations globales de FEN_TestSusana +procédure FEN_TestSusana() +ST_RDV_Rp est une Structure +saGuid est une chaîne ANSI +nIDGroupe est un entier sur 8 octets +saDateDebut est une chaîne ANSI +saDateFin est une chaîne ANSI +saObjet est une chaîne ANSI +saNote est une chaîne ANSI +saCollaborateurs est une chaîne ANSI +saExtra est une chaîne ANSI +bSelection est un booléen +fin +ST_CONTACT_Rp est une Structure +nID est un entier sur 8 octets +saNom est une chaîne ANSI +saPren est une chaîne ANSI +saRole est une chaîne ANSI +saTFix est une chaîne ANSI +saTMob est une chaîne ANSI +saEtage est une chaîne ANSI +saExtra est une chaîne ANSI +bSelection est un booléen +fin +ST_CR_Rp est une Structure +saGuidCR est une chaîne ANSI +saDebut est une chaîne ANSI +saFin est une chaîne ANSI +saSignataire est une chaîne ANSI +saNomCollaborateur est une chaîne ANSI +saExtra est une chaîne ANSI +bSelection est un booléen +fin +ST_ClientAd est une Structure +sAAdresse est une chaîne ANSI +sAExtra est une chaîne ANSI +bSelection est un booléen +fin +ST_Img_Rp est une Structure +nDC_PKID est un entier sur 8 octets +06/08/2026 Isis_BO 1327 + +Partie 3 › Fenêtre WINDEV › FEN_TestSusana › Code +saNom est une chaîne ANSI +saExtra est une chaîne ANSI +saNotes est une chaîne ANSI +saDate est une chaîne ANSI +bSelection est un booléen +nPosTable est un entier +fin +FEN_TestSusana +Code des champs +Initialisation de BTN_BOUTON +// Version 1 +// Description +// Bouton simple +Clic sur BTN_BOUTON +ConstruireListeChampModeleEmail() +Avant chargement de la page HTML dans HTM_SansNom1 +procédure ChangePage(sUrl est chaîne, sDestination est une chaîne) +renvoyer Vrai +Chargement de ressources par HTM_SansNom1 +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 +Clic sur un lien de HTM_SansNom1 +procédure ClicLien(sUrl est chaîne, bDansNouvelleFenetre est un booléen, sDestination est une chaîne) +renvoyer Vrai +Clic-droit sur un lien de HTM_SansNom1 +procédure ClicDroitLien(sUrl est chaîne) +06/08/2026 Isis_BO 1328 + +Partie 3 › Fenêtre WINDEV › FEN_TestSusana › Procédures +FEN_TestSusana +Procédures +Procédure locale AjouterDonnesBDDansChampRapport +procédure AjouterDonnesBDDansChampRapport(nIdInter est un entier sur 8 octets, tabRubMobile est un +tableau de STJSONMembreRubRapport) +saRQ est une chaîne = [ +SELECT +Intervention.IN_Titre AS IN_Titre, +Intervention.IN_RefInterne AS IN_RefInterne, +Intervention.CreationDate AS IN_CreationDate, +Intervention.IN_NumDevis, +Intervention.IN_DateDevis, +Intervention.IN_NumFacture, +Intervention.IN_DateFacture, +Intervention.IN_RefExterne AS IN_RefExterne, +Intervention.IN_Description AS IN_Description, +Intervention.IN_DureePrevue, +CONCAT(Collaborateur.CO_Nom, ' ', Collaborateur.CO_Prenom) AS IN_CO_Nom, +PA_TypeInter.PA_Libelle as IN_PA_Type, +Lieu.LI_CodeLieu AS LI_CodeLieu, +CONCAT(AdLieu.AD_Ligne_1, ' ',AdLieu.AD_Ligne_2, ' ',AdLieu.AD_Ligne_3, ' ',AdLieu.AD_Ligne_4, ' +',AdLieu.AD_Ligne_5, ' ',AdLieu.AD_CodePostal, ' ', AdLieu.AD_Ville, ' ') AS LI_Adresse, +Lieu.LI_CodeAcces AS LI_CodeAcces, +Client.CL_Nom AS CL_Nom, +CONCAT(AdClient.AD_Ligne_1, ' ',AdClient.AD_Ligne_2, ' ',AdClient.AD_Ligne_3, ' +',AdClient.AD_Ligne_4, ' ',AdClient.AD_Ligne_5, ' ', AdClient.AD_CodePostal, ' ',AdClient.AD_Ville) +AS AD_Presentation, +Societe.SO_Nom +FROM +Intervention LEFT OUTER JOIN (Lieu LEFT OUTER JOIN Adresse AdLieu ON Lieu.LI_IDAdresse = +AdLieu.AD_PKID ) ON Intervention.IN_IDLieu = Lieu.LI_PKID, +Intervention INNER JOIN +(Dossier LEFT OUTER JOIN (Client LEFT OUTER JOIN Adresse AdClient ON Client.CL_IDAdressePrincipale += AdClient.AD_PKID) ON Dossier.DO_IDClient = Client.CL_PKID ) ON Intervention.IN_IDDossier = +Dossier.DO_PKID , +Intervention LEFT OUTER JOIN Collaborateur ON Intervention.IN_IDSuiviPar=Collaborateur.CO_PKID, +Intervention LEFT OUTER JOIN Societe ON Intervention.IN_IDSociete = Societe.SO_PKID, +Intervention LEFT OUTER JOIN ParametreMetier PA_TypeInter ON Intervention.IN_IDTypeIntervention = +PA_TypeInter.PA_PKID +WHERE +IN_PKID={pIdInter} +] +saRQ=Remplace(saRQ,"{pIdInter}",nIdInter ) +sARQAdresseClient est une chaîne ANSI = [ +SELECT CONCAT(AdLieu.AD_Ligne_1, ' ',AdLieu.AD_Ligne_2, ' ',AdLieu.AD_Ligne_3, ' +',AdLieu.AD_Ligne_4, ' ',AdLieu.AD_Ligne_5, ' ',AdLieu.AD_CodePostal, ' ', AdLieu.AD_Ville, ' ') AS +Adresse +FROM Client +INNER JOIN Intervention on Intervention.IN_IDClient = Client.CL_PKID +LEFT JOIN Client_Adresse on Client_Adresse.CA_IDClient = Client.CL_PKID +06/08/2026 Isis_BO 1329 + +Partie 3 › Fenêtre WINDEV › FEN_TestSusana › Procédures +INNER JOIN Adresse AdLieu on adlieu.AD_PKID = Client_Adresse.CA_IDAdresse +WHERE Intervention.IN_PKID = {pIdInter} +] +sARQAdresseClient=Remplace(sARQAdresseClient,"{pIdInter}",nIdInter ) +sARQDossier est une chaîne ANSI = [ +SELECT Dossier.DO_Titre as DOSSIER_TITRE , dossier.DO_RefExterne as DOSSIER_REFEXT , +dossier.DO_NumDossier as DOSSIER_NUM, Dossier.DO_DateDebut as DOSSIER_DATE, +PA_TypeDossier.PA_Libelle as DOSSIER_TYPE, PA_StatutDossier.PA_Libelle as DOSSIER_STATUT +FROM Dossier +INNER JOIN Intervention on Intervention.IN_IDDossier = Dossier.DO_PKID +LEFT OUTER JOIN ParametreMetier PA_TypeDossier ON Dossier.DO_IDTypeDossier = PA_TypeDossier.PA_PKID +LEFT OUTER JOIN ParametreMetier PA_StatutDossier ON Dossier.DO_IDStatut = PA_StatutDossier.PA_PKID +WHERE Intervention.IN_PKID = {pIdInter} +] +sARQDossier=Remplace(sARQDossier,"{pIdInter}",nIdInter ) +saRqCR est une chaîne ANSI = [ +SELECT +CompteRendu.CR_PKID, +CompteRendu.GUID AS CR_GUID, +CompteRendu.CR_DateHeureDebut, +CompteRendu.CR_DateHeureFin, +CompteRendu.CR_NoteCollaborateur, +CompteRendu.CR_NomSignataire, +CompteRendu.CR_NomSignataireTech, +CompteRendu.CR_NoteSignataire, +CompteRendu.CR_DevisConforme, +CompteRendu.CR_AvecReserve, +CompteRendu.CR_ReserveCommentaire, +CompteRendu.CR_DateHeureSignature, +CompteRendu.CR_Signature, +CompteRendu.CR_SignatureTech, +CompteRendu.CR_IDTypeSignataire, +ParametreMetier.PA_Libelle AS CR_PA_Type +FROM CompteRendu +INNER JOIN Planning_RDV ON PL_PKID = CR_IDRdv +LEFT OUTER JOIN ParametreMetier ON CompteRendu.CR_IDTypeSignataire = ParametreMetier.PA_PKID +WHERE +Planning_RDV.Archive=0 +AND Planning_RDV.PL_IDIntervention = {p_IdInter} +] +saRqCR = Remplace(saRqCR,"{p_IdInter}",nIdInter) +saRQRDV est une chaîne ANSI = [ +SELECT +Planning_RDV.GUID, +Planning_RDV.PL_DateDebut, +Planning_RDV.PL_DateFin, +Planning_RDV.PL_Objet, +Planning_RDV.PL_Description, +Planning_RDV.PL_IDGroupe, +CONCAT(Collaborateur.CO_Nom, ' ', Collaborateur.CO_Prenom) AS PL_CO_NOM +FROM Planning_RDV +LEFT OUTER JOIN Collaborateur ON Planning_RDV.PL_IDCollaborateur = Collaborateur.CO_PKID +WHERE +Planning_RDV.Archive=0 +AND Planning_RDV.PL_IDIntervention = {p_IdInter} +ORDER BY Planning_RDV.PL_DateDebut +] +saRQRDV = Remplace(saRQRDV,"{p_IdInter}",nIdInter) +06/08/2026 Isis_BO 1330 + +Partie 3 › Fenêtre WINDEV › FEN_TestSusana › Procédures +sdRReqInter est une Source de Données +sdRReqClient est une Source de Données +sdRReqDossier est une Source de Données +sdRReqCR est une Source de Données +sdReqRDV est une Source de Données +y est un entier +y = TableauCherche(tabRubMobile,tcLinéaire,"GroupeApp",cRp_Inter) +si y > 0 _et_ pas HExécuteRequêteSQL(sdRReqInter,hRequêteDéfaut,saRQ) alors // ne pas exécuter la req +pour rien +fin +y = 0 +y = TableauCherche(tabRubMobile,tcLinéaire,"GroupeApp",cRp_Client) +si y > 0 _et_ pas HExécuteRequêteSQL(sdRReqClient,hRequêteDéfaut,sARQAdresseClient) alors +// ne pas exécuter la req pour rien +fin +y = 0 +y = TableauCherche(tabRubMobile,tcLinéaire,"GroupeApp",cRp_Dossier) +si y > 0 _et_ pas HExécuteRequêteSQL(sdRReqDossier,hRequêteDéfaut,sARQDossier) alors +// ne pas exécuter la req pour rien +fin +y = 0 +y = TableauCherche(tabRubMobile,tcLinéaire,"GroupeApp",cRp_CR) +si y > 0 _et_ pas HExécuteRequêteSQL(sdRReqCR,hRequêteDéfaut,saRqCR) alors // ne pas exécuter la req +pour rien +fin +y = 0 +y = TableauCherche(tabRubMobile,tcLinéaire,"GroupeApp",cRp_RDV) +si y > 0 _et_ pas HExécuteRequêteSQL(sdReqRDV,hRequêteDéfaut,saRQRDV) alors // ne pas exécuter la req +pour rien +fin +pour tout stEle de tabRubMobile +si stEle:Type = "Tableau" ou stEle:GroupeApp dans (cRp_Inter, cRp_Dossier, cRp_Client) alors +selon stEle:GroupeApp +cas cRp_Inter +quand exception dans +si "IN_Description" = stEle.MembreMob alors +stEle:ListeDonnesBD = RTFVersTexte({sdRReqInter+"."+stEle.MembreMob}) +sinon +stEle:ListeDonnesBD = {sdRReqInter+"."+stEle.MembreMob} +fin +faire +stEle:ListeDonnesBD = "" +fin +cas cRp_Dossier +quand exception dans +stEle:ListeDonnesBD = {sdRReqDossier+"."+stEle.MembreMob} +faire +stEle:ListeDonnesBD = "" +fin +06/08/2026 Isis_BO 1331 + +Partie 3 › Fenêtre WINDEV › FEN_TestSusana › Procédures +cas cRp_Client +tbClientAd est un tableau de ST_ClientAd +stUnCliAd est un ST_ClientAd +pour tout sdRReqClient +stUnCliAd.sAAdresse = sdRReqClient.Adresse +TableauAjoute(tbClientAd,stUnCliAd) +fin +sJson est une chaîne ANSI +Sérialise(tbClientAd,sJson,psdJSON) +stEle:ListeDonnesBD = sJson +stEle:Type = "Tableau" +cas cRp_CR +tbCrest un tableau de ST_CR_Rp +stUnCr est un ST_CR_Rp +pour tout sdRReqCR +stUnCr.saGuidCR = sdRReqCR.CR_GUID +stUnCr.saDebut = sdRReqCR.CR_DateHeureDebut +stUnCr.saFin = sdRReqCR.CR_DateHeureFin +stUnCr.saSignataire = sdRReqCR.cR_NomSignataire +stUnCr.saNomCollaborateur = sdRReqCR.CR_NomSignataireTech +TableauAjoute(tbCr,stUnCr) +fin +sJson est une chaîne ANSI +Sérialise(tbCr,sJson,psdJSON) +stEle:ListeDonnesBD = sJson +cas cRp_RDV +bDouble est un booléen +tbRDV est un tableau de ST_RDV_Rp +stUnRDV est un ST_RDV_Rp +pour tout sdReqRDV +stUnRDV:saGuid = sdReqRDV.GUID +stUnRDV:nIDGroupe = sdReqRDV.PL_IDGroupe +stUnRDV:saCollaborateurs = sdReqRDV.PL_CO_NOM +stUnRDV:saDateDebut = sdReqRDV.PL_DateDebut +stUnRDV:saDateFin = sdReqRDV.PL_DateFin +stUnRDV:saObjet = sdReqRDV.PL_Objet +stUnRDV:saNote = RTFVersTexte(sdReqRDV.PL_Description) +bDouble = Faux +si sdReqRDV.PL_IDGroupe > 0 alors +pour tout stRDV de tbRDV +si stRDV:nIDGroupe = sdReqRDV.PL_IDGroupe alors +stRDV:saCollaborateurs += RC + stUnRDV:saCollaborateurs +bDouble = Vrai +sortir +fin +fin +si pas bDouble alors +TableauAjoute(tbRDV,stUnRDV) +fin +sinon +TableauAjoute(tbRDV,stUnRDV) +fin +fin +sJson est une chaîne ANSI +Sérialise(tbRDV,sJson,psdJSON) +stEle:ListeDonnesBD = sJson +autre cas +06/08/2026 Isis_BO 1332 + +Partie 3 › Fenêtre WINDEV › FEN_TestSusana › Procédures +fin +fin +fin +Procédure locale ConstructionTbRubBaseEmail +procédure ConstructionTbRubBaseEmail(TermeRapport est un STJSONRubriqueRapport, tabToutesRub est un +tableau de STJSONMembreRubRapport, LeDoc est un Document,bSujetEmail est un booléen = Faux) +k est un entier +ListeMembreNull est un tableau de STJSONListeMembre +MonDoc est un Document = LeDoc +pour i = 1 _à_ TermeRapport.ListeTerme..Occurrence +k = 0 +stUnTerme est un STJSONMembreRubRapport = TermeRapport.ListeTerme[i] +si stUnTerme.Rubrique <> "" alors +tabFragments est tableau de docFragment = DocRecherche(MonDoc,stUnTerme.Rubrique,MotComplet+ +SansCasse) +si tabFragments.Occurrence > 0 alors +pour b = 1 _à_ tabFragments.Occurrence +stUnTerme.Ordre = tabFragments[b].PositionFin +stUnTerme.Ordre = tabFragments[b].PositionFin +si bSujetEmail alors +// si c'est dans le sujet un transforme le numéro d'ordre en décimal afin que le sujet +soit demande et traite avant le corps de +l'email +stUnTerme.Ordre ="0."+tabFragments[b].PositionFin +fin +k = TableauAjoute(tabToutesRub,stUnTerme) +tabToutesRub[k].ListeMembre = ListeMembreNull +// toujours car pas tous les termes son requis +fin +fin +si stUnTerme.ListeMembre..Occurrence > 0 _et_ k <= 0 alors +pour c = 1 _à_ stUnTerme.ListeMembre..Occurrence +tabFragment2 est tableau de docFragment = DocRecherche(MonDoc,stUnTerme.ListeMembre[c] +.Rubrique,MotComplet+SansCasse) +si tabFragment2.Occurrence > 0 alors +pour l = 1 _à_ tabFragment2.Occurrence +stUnTerme2 est un STJSONMembreRubRapport = stUnTerme.Listemembre[c] +stUnTerme2.Ordre = tabFragment2[l].PositionFin +k = TableauAjoute(tabToutesRub,stUnTerme2) +tabToutesRub[k].ListeMembre = ListeMembreNull +fin +fin +06/08/2026 Isis_BO 1333 + +Partie 3 › Fenêtre WINDEV › FEN_TestSusana › Procédures +fin +fin +fin +fin +TableauTrie(tabToutesRub,ttMembre+tccRespecteNumérique,"+Ordre") +Procédure locale ConstructionTbRubEmailEnvoyerMob +procédure ConstructionTbRubEmailEnvoyerMob(TermeRapport est un STJSONRubriqueRapport, tabToutesRub est +un tableau de STJSONMembreRubRapport, tabRubMobile est un tableau de STJSONMembreRubRapport, MonDoc est +un Document, bToutesRub est un booléen = Faux, tbMotCleSpec est un tableau de STJSONMembreRubRapport = +Null) +ListeMembreNull est un tableau de STJSONListeMembre +sGroupe est une chaîne ANSI +n est un entier = -1 +h est un entier +pour tout stEle de tabToutesRub +si (stEle:EnvoiMob ou bToutesRub ) alors +si Contient(stEle:Rubrique, "$TAB") ou Contient(stEle:Rubrique, "$UN") ou Contient(stEle. +Rubrique,".UNIQUE") alors +si sGroupe <> stEle:GroupeApp ou h <= 0 alors +n = TableauCherche(TermeRapport.ListeTerme,tcLinéaire,"GroupeApp;Type",stEle:GroupeApp +,"Tableau") +si n > 0 alors +stUnTermeGr est un STJSONMembreRubRapport = TermeRapport.ListeTerme[n] +stUnTermeGr.Ordre = stEle:Ordre +stUnTermeGr.ListeMembre = ListeMembreNull +TableauAjoute(stUnTermeGr:ListeMembre,stEle) +h = TableauAjoute(tabRubMobile,stUnTermeGr) +sinon +//TraceINFO("Rub non trouvé "+stEle:Rubrique+" "+stEle:GroupeApp) +fin +sinon +si h > 0 alors +stUnTermeRec est un STJSONMembreRubRapport = tabRubMobile[h] +n = 0 +pour tout stElem2 de tabRubMobile[h]:ListeMembre +si stElem2.Rubrique = stEle:Rubrique alors +n += 1 +sortir +fin +fin +//TableauCherche(stUnTermeRec.ListeMembre,tcLinéairePremier,"Rubrique",stEle:Rubri +que) +si n <= 0 alors +TableauAjoute(tabRubMobile[h].ListeMembre,stEle) +sinon +n = TableauCherche(TermeRapport.ListeTerme,tcLinéaire,"GroupeApp;Type",stEle: +GroupeApp,"Tableau") +si n > 0 alors +stUnTermeGr est un STJSONMembreRubRapport = TermeRapport.ListeTerme[n] +stUnTermeGr.Ordre = stEle:Ordre +stUnTermeGr.ListeMembre = ListeMembreNull +TableauAjoute(stUnTermeGr:ListeMembre,stEle) +h = TableauAjoute(tabRubMobile,stUnTermeGr) +fin +fin +fin +fin +sGroupe = stEle:GroupeApp +sinon +06/08/2026 Isis_BO 1334 + +Partie 3 › Fenêtre WINDEV › FEN_TestSusana › Procédures +si ChaîneOccurrence(stEle.Rubrique,".LISTE") > 0 alors +h = 0 +n = TableauCherche(TermeRapport.ListeTerme,tcLinéaire,"GroupeApp;Type",stEle: +GroupeApp,"Tableau") +si n > 0 alors +stUnTermeGr est un STJSONMembreRubRapport = TermeRapport.ListeTerme[n] +pour tout stElem2 de TermeRapport.ListeTerme[n]:ListeMembre +si stElem2.MembreEmailMob <> "" alors +si h <= 0 alors +stUnTermeGr.Ordre = stEle:Ordre +stUnTermeGr.ListeMembre = ListeMembreNull +stUnTermeGr.ListeMembre.ajoute(stElem2) +h = TableauAjoute(tabRubMobile,stUnTermeGr) +sinon +tabRubMobile[h].ListeMembre.Ajoute(stElem2) +fin +fin +fin +fin +sinon +TableauAjoute(tabRubMobile,stEle) +fin +h = 0 +sGroupe = "" +fin +sinon +h = 0 +sGroupe = "" +fin +fin +k est un entier +si tbMotCleSpec<> Null alors +pour tout stEleCle de tbMotCleSpec +tabFragments est tableau de docFragment = DocRecherche(MonDoc,stEleCle.Rubrique,MotComplet+ +SansCasse) +si tabFragments.Occurrence > 0 alors +pour b = 1 _à_ tabFragments.Occurrence +stEleCle.Ordre = tabFragments[b].PositionFin +k = TableauAjoute(tabRubMobile,stEleCle) +tabRubMobile[k].ListeMembre = ListeMembreNull +// toujours car pas tous les termes son requis +fin +fin +fin +fin +TableauTrie(tabRubMobile,ttMembre+tccRespecteNumérique,"+Ordre") +Procédure locale ConstruireListeChampModeleEmail +procédure ConstruireListeChampModeleEmail() +nIdModeleMail est un entier sur 8 octets = 2 +nIdInter est un entier sur 8 octets = 105 +CorpEmail est un Document +sSujetEmail est une chaîne ANSI +06/08/2026 Isis_BO 1335 + +Partie 3 › Fenêtre WINDEV › FEN_TestSusana › Procédures +sCorpsEmail est une chaîne ANSI +saRQModeleMail est une chaîne ANSI = [ +SELECT * FROM MailModele WHERE MM_PKID = +] +saRQModeleMail += nIdModeleMail +sdRqModele est une Source de Données +si pas HExécuteRequêteSQL(sdRqModele,gcnxBO,saRQModeleMail) alors +// modele introuvable +sinon +CorpEmail = sdRqModele.MM_MsgDoc +sSujetEmail = sdRqModele.MM_Sujet +sCorpsEmail = UTF8VersChaîne(DocVersHTML(CorpEmail)) +fin +TermeRapport est un STJSONRubriqueRapport +vRub est un Variant +saRQRub est une chaîne ANSI = [ +SELECT * FROM ParametreSysteme WHERE PAS_Code = 'RUBRIQUE_RAPPORT_INTERVENTION' +] +sdRpRub est une Source de Données +HExécuteRequêteSQL(sdRpRub,gcnxBO,saRQRub) +vRub = JSONVersVariant(sdRpRub.PAS_Valeur) +si vRub<>Null alors +Désérialise(TermeRapport,sdRpRub.PAS_Valeur,psdJSON) +TableauTrie(TermeRapport:ListeTerme,ttMembre,"Groupe;Ordre") +fin +TermeRapportEmail est un STJSONRubriqueRapport +//n est un entier +//sGrouppeApp est une chaîne ANSI +MotCleModeleEmail_Rub_Rapport(TermeRapportEmail,TermeRapport) +tabToutesRub est un tableau de STJSONMembreRubRapport +tabRubMobile est un tableau de STJSONMembreRubRapport +ListeMob est un tableau de STJSONMembreRubRapport +bufMobile est un Buffer = [ +[ { "Nom":"", "Rubrique":"", "Description":"Tableau contacts site", +"Groupe":"Contacts site", "Type":"Tableau", "Ordre":101, "MembreMob":"CONTACT_SITE", "EnvoiMob":1, +"BD":0, "GroupeApp":"CONTACT_SITE", "TypeMembre":"", "ListeMembre": +[ { "Nom":"Tel. 1", "Rubrique":"$TABCTSITE.TELFIXE$", "Description":"", "Groupe":"", "Type":"", +"Ordre":0, "MembreMob":"saTFix", "EnvoiMob":1, "BD":0 }, { "Nom":"Tel. 2", +"Rubrique":"$TABCTSITE.TELFAXE$", "Description":"", "Groupe":"", "Type":"", "Ordre": +0, "MembreMob":"saTMob", "EnvoiMob":1, "BD":0 }, { "Nom":"R\u00f4le", "Rubrique":"$TABCTSITE.ROLE$", +"Description":"", "Groupe":"", "Type":"", "Ordre":0, "MembreMob":"saRole", "EnvoiMob":1, "BD":0 }, { +"Nom":" +Etage", "Rubrique":"$TABCTSITE.ETAGE$", "Description +":"", "Groupe":"", "Type":"", "Ordre":0, "MembreMob":"saEtage", "EnvoiMob":1, "BD":0 } ], +"ListeDonnesMob":"[ { \"nID\":16, \"saNom\":\"TEST MADAME 5 test 5\", \"saPren\":\"\", +\"saRole\":\"Contact\", \"saTFix\":\"00.00.00.00.00\", \"saTMob\":\"\", +\"saEtage\":\"\", \"saExtra\":\"\", \"bSelection\":true, \"nPosTable\":1 }, { \"nID\":13, +\"saNom\":\"TEST&MOSIEUR 2 < > test\", \"saPren\":\"\", \"saRole\":\"Contact\", +\"saTFix\":\"00.00.00.00.00\", \"saTMob\":\"\", \"saEtage\":\"\", \"saExtra\":\"\", \ +"bSelection\":false, \"nPosTable\":2 }, { \"nID\":20, \"saNom\":\"TEST 6 6\", \"saPren\":\"\", +\"saRole\":\"Gardien(ne)\", \"saTFix\":\"66.66.66.66.66\", \"saTMob\":\"\", \"saEtage\":\"\", +\"saExtra\":\"\", \"bSelection\":false, \"nPosTable\":3 }, { \"nID +\":12, \"saNom\":\"TEST & COMPLET 2 test\", \"saPren\":\"\", \"saRole\":\"Occupant\", +\"saTFix\":\"11.11.11.11.11\", \"saTMob\":\"\", \"saEtage\":\"\", \"saExtra\":\"\", +\"bSelection\":false, \"nPosTable\":4 }, { \"nID\":1, \"saNom\":\"GIRIN Emmanuel\", \ +"saPren\":\"\", \"saRole\":\"Propri\\u00e9taire\", \"saTFix\":\"\", \"saTMob\":\"\", \"saEtage\":\"\", +\"saExtra\":\"\", \"bSelection\":false, \"nPosTable\":5 }, { \"nID\":2, \"saNom\":\"BOURRAS +Fr\\u00e9d\\u00e9ric\", \"saPren\":\"\", \"saRole\":\" +06/08/2026 Isis_BO 1336 + +Partie 3 › Fenêtre WINDEV › FEN_TestSusana › Procédures +Resp. +Immeuble\", \"saTFix\":\"\", \"saTMob\":\"\", \"saEtage\":\"\", \"saExtra\":\"\", \"bSelection\":false, +\"nPosTable\":6 } ]", "ListeDonnesBD":"" }, { "Nom":"", "Rubrique":"", +"Description":"Tableau donneurs d'ordres", "Groupe":" +Donneurs +d'ordres", "Type":"Tableau", "Ordre":136, "MembreMob":"CONTACT_CLIENT_DONNEURS", "EnvoiMob":1, "BD":0, +"GroupeApp":"DONNEURS_ORDRE", "TypeMembre":"", "ListeMembre":[ { "Nom":"Tel. 1", +"Rubrique":"$TABCTCLIENT.TELFIXE$", "Description":"", "Groupe":"", +"Type":"", "Ordre":0, "MembreMob":"saTFix", "EnvoiMob":1, "BD":0 }, { "Nom":"Tel. 2", +"Rubrique":"$TABCTCLIENT.TELFAXE$", "Description":"", "Groupe":"", "Type":"", "Ordre":0, +"MembreMob":"saTMob", "EnvoiMob":1, "BD":0 }, { "Nom":"R\u00f4le", "Rubrique":" +$TABCTCLIENT.ROLE$", "Description":"", "Groupe":"", "Type":"", "Ordre":0, "MembreMob":"saRole", +"EnvoiMob":1, "BD":0 } ], "ListeDonnesMob":"[ { \"nID\":11, \"saNom\":\"TEST&COMPLET 2 > test 2\", +\"saPren\":\"test 2\", \"saRole\":\"Contact\", \"saTFix\":\" +00.00.00.00.00\", \"saTMob\":\"\", \"saEtage\":\"\", \"saExtra\":\"\", \"bSelection\":true, +\"nPosTable\":1 } ]", "ListeDonnesBD":"" }, { "Nom":"", "Rubrique":"", +"Description":"Tableau rendez-vous", "Groupe":"Rendez-vous", "Type":"Tableau", "O +rdre +":301, "MembreMob":"RDV", "EnvoiMob":1, "BD":0, "GroupeApp":"RDV_INTER", "TypeMembre":"", +"ListeMembre":[ { "Nom":"Fini le", "Rubrique":"$TABRDV.DATEFIN$", "Description":"", "Groupe":"", +"Type":"", "Ordre":0, "MembreMob":"saDateFin", "EnvoiMob":1, "BD +":0 }, { "Nom":"Objet du rendez-vous", "Rubrique":"$TABRDV.OBJET$", "Description":"", "Groupe":"", +"Type":"", "Ordre":0, "MembreMob":"saObjet", "EnvoiMob":1, "BD":0 }, { "Nom":"Note rendez-vous", +"Rubrique":"$TABRDV.NOTE$", "Description":"", "Groupe":"", +"Type":"", "Ordre":0, "MembreMob":"saNote", "EnvoiMob":1, "BD":0 } ], "ListeDonnesMob":"[ { +\"saGuid\":\"0cbd94198b6b4271bdf35a65316e8143\", \"nIDGroupe\":0, +\"saDateDebut\":\"20230505090000000\", \"saDateFin\":\"20230505100000000\", \"saObjet\":\"\", \"s +aNote\":\"rdv +2\", \"saCollaborateurs\":\"GUILLEMOT Olivier\", \"saExtra\":\"\", \"bSelection\":true, +\"nPosTable\":1 }, { \"saGuid\":\"35c1e4832bde4e46be9c5e1654af27a1\", \"nIDGroupe\":0, +\"saDateDebut\":\"20241001170000000\", \"saDateFin\":\"20241001180 +000000\", \"saObjet\":\"obj +5\", \"saNote\":\"\", \"saCollaborateurs\":\"RODRIGUES Susana\", \"saExtra\":\"\", +\"bSelection\":false, \"nPosTable\":2 }, { \"saGuid\":\"32924fd70d384db18977892d7a80b8ea\", +\"nIDGroupe\":0, \"saDateDebut\":\"20241231110000000 +\", \"saDateFin\":\"20241231140000000\", \"saObjet\":\"\", \"saNote\":\"\", +\"saCollaborateurs\":\"RODRIGUES Susana\", \"saExtra\":\"\", \"bSelection\":false, \"nPosTable\":3 } +]", "ListeDonnesBD":"[ { \"saGuid\":\"0cbd94198b6b4271bdf35a65316e8143\", \"nI +DGroupe\":0, \"saDateDebut\":\"20230505090000000\", \"saDateFin\":\"20230505100000000\", +\"saObjet\":\"\", \"saNote\":\" +rdv +2\", \"saCollaborateurs\":\"GUILLEMOT Olivier\", \"saExtra\":\"\", \"bSelection\":false }, { +\"saGuid\":\" +35c1e4832bde4e46be9c5e165 +4af27a1\", \"nIDGroupe\":0, \"saDateDebut\":\"20241001170000000\", \"saDateFin\":\"20241001180000000\", +\"saObjet\":\" +obj +5\", \"saNote\":\"\", \"saCollaborateurs\":\"RODRIGUES Susana\", \"saExtra\":\"\", +\"bSelection\":false }, { \"saGuid\":\" +32924fd70d3 +84db18977892d7a80b8ea\", \"nIDGroupe\":0, \"saDateDebut\":\"20241231110000000\", +\"saDateFin\":\"20241231140000000\", \"saObjet\":\"\", \"saNote\":\"\", +\"saCollaborateurs\":\"RODRIGUES Susana\", \"saExtra\":\"\", \"bSelection\":false } ]" } ] +] +Rub est un Variant +Rub = JSONVersVariant(bufMobile) +Désérialise(ListeMob,bufMobile,psdJSON) +si TermeRapportEmail.ListeTerme..Occurrence > 0 alors +SujetEmailDo est un Document = sSujetEmail +ConstructionTbRubBaseEmail(TermeRapportEmail,tabToutesRub,SujetEmailDo,Vrai) +ConstructionTbRubBaseEmail(TermeRapportEmail,tabToutesRub,CorpEmail) +06/08/2026 Isis_BO 1337 + +Partie 3 › Fenêtre WINDEV › FEN_TestSusana › Procédures +ConstructionTbRubEmailEnvoyerMob(TermeRapportEmail, tabToutesRub ,tabRubMobile,CorpEmail,Vrai) +AjouterDonnesBDDansChampRapport(nIdInter, tabRubMobile) +TraiteEmailBuffer(tabRubMobile,ListeMob,SujetEmailDo) +TraiteEmailBuffer(tabRubMobile,ListeMob,CorpEmail) +SupprimerToutesRubRapportMob(tabToutesRub,CorpEmail) +sSujetEmail = DocVersTexte(SujetEmailDo) +corpHTML est un Buffer = DocVersHTML(CorpEmail) +HTM_SansNom1 = corpHTML +ht est un htmlDocument = DocVersHTML(CorpEmail) +ht..ContenuHTML= ht..ContenuHTML + "

je suis la

" +HTM_SansNom1 = ht +si pas EnvoiRubMob(tabRubMobile) alors +// TraiteEmailBuffer(tabToutesRub,tabRubMobile,SujetEmailDo) +// TraiteEmailBuffer(tabToutesRub,tabRubMobile,CorpEmail) +SupprimerToutesRubRapportMob(tabToutesRub,SujetEmailDo) +SupprimerToutesRubRapportMob(tabToutesRub,CorpEmail) +// sSujetEmail = DocVersTexte(SujetEmailDo) +// corpHTML est un buffer = DocVersHTML(CorpEmail) +// HTM_SansNom1 = corpHTML +sinon +tabRubMobileEnvoyer est un tableau de STJSONMembreRubRapport +pour tout stEle de tabRubMobile +si stEle:EnvoiMob alors +TableauAjoute(tabRubMobileEnvoyer,stEle) +fin +fin +TableauTrie(tabRubMobileEnvoyer,ttMembre,"Groupe;Ordre") +// envoi buffer +fin +fin +Procédure locale CreationTbdansModeleEmail +procédure CreationTbdansModeleEmail(ListeMob est un tableau de STJSONMembreRubRapport, unTerme est un +STJSONMembreRubRapport, mondoc est un Document) +sADonnes est une chaîne ANSI +b est un entier +//saRep est une chaîne ANSI +sdRReq est une Source de Données +//tabTitreCol est un tableau de chaînes ANSI +//taCol est un tableau associatif de chaînes ANSI +//sTitresCols , sTbHTML, sInfoLigne sont des chaînes ANSI +nLigne, nCol sont des entiers +vInfoVariante est un Variant +TableauTrie(unTerme.ListeMembre,ttMembre+tccRespecteNumérique,"+Ordre") +si unTerme:EnvoiMob alors +b = TableauCherche(ListeMob,tcLinéaire,"Rubrique;Utilisee",unTerme:Rubrique,Faux) +fin +si b > 0 alors +sADonnes = ListeMob[b].ListeDonnesMob +fin +06/08/2026 Isis_BO 1338 + +Partie 3 › Fenêtre WINDEV › FEN_TestSusana › Procédures +si sADonnes <> "" _et_ unTerme:Type = "Tableau" alors +vInfoVariante = JSONVersVariant(sADonnes) +nLigne = 1 // entête de table +pour tout stTerme, b de unTerme.ListeMembre +nCol += 1 +fin +pour tout UnEle, c de vInfoVariante +si UnEle.bSelection alors +nLigne += 1 +fin +fin +tabFragments est un tableau de docFragments = DocRecherche(mondoc,unTerme.Rubrique,MotComplet+ +SansCasse) +si tabFragments..Occurrence > 0 alors +TabDoc est un docFragment = DocInsèreTableau(mondoc,tabFragments[1]..PositionDébut +,nCol, nLigne) +soit para2 <- TabDoc..Paragraphe[2] +nLigneEnCours est un entier = 1 +nColEnCours est un entier = 1 +pour tout stTerme, b de unTerme.ListeMembre +para2..Tableau..Cellules[1,b].Contenu..Texte = stTerme:nom +nLigneEnCours = 1 +pour tout UnEle, c de vInfoVariante +si stTerme:EnvoiMob alors +infoR est une chaîne ANSI +si UnEle.bSelection alors +nLigneEnCours += 1 +imgBuf est un Buffer +si stTerme:TypeMembre <> "ChpImage" ou stTerme:Type <> "ChpImage"alors +RechercheInfoDansVariantRapport(unTerme, stTerme, UnEle,imgBuf,infoR, +sdRReq,"") +para2..Tableau..Cellules[nLigneEnCours,b].Contenu..Texte = +TraitementSelonTypeRubRapportMob(stTerme,infoR) +fin +fin +fin +fin +fin +fin +fin +// +// +// +//TableauTrie(unTerme.ListeMembre,ttMembre+tccRespecteNumérique,"+Ordre") +// +// +//SI unTerme:EnvoiMob ALORS +// b = TableauCherche(ListeMob,tcLinéaire,"Rubrique;Utilisee",unTerme:Rubrique,Faux) +//FIN +// +//SI b > 0 ALORS +// sADonnes = ListeMob[b].ListeDonnesMob +//FIN +// +//SI sADonnes <> "" _ET_ unTerme:Type = "Tableau" ALORS +// vInfoVariante est un Variant = JSONVersVariant(sADonnes) +06/08/2026 Isis_BO 1339 + +Partie 3 › Fenêtre WINDEV › FEN_TestSusana › Procédures +// +SI unTerme.GroupeApp = cRp_CR ALORS // Requête dans la base de données , le compte rendu ne peuvent pas +être modifiées par l'utilisateur +// // donc le données ne sont pas récupérer à partir de données envoyés par le mobile +| // RqCompteRenduRemplirRapport(vInfoVariante,sdRReq) | | | | | +| ---------------------------------------------------- | --- | --- | --- | --- | +// FIN +// +// SELON unTerme:GroupeApp +// CAS cRp_CtSite,cRp_Client,cRp_CtDonneurs,cRp_Photo,cRp_CR,cRp_RDV +// +| // | sTB | est une chaîne ANSI | = [ | | +| --- | -------------------------------------------- | ------------------- | --- | --- | +| // |
| | | | +| // | +| // | | | | | +| --- | ------------------------ | --- | --- | --- | +| // | ] | | | | +// +| // | POUR TOUT stTerme, b DE unTerme.ListeMembre | | | | +| --- | ------------------------------------------- | --- | --- | --- | +| // | TableauAjoute(tabTitreCol,stTerme:Nom) | | | | +| // | POUR TOUT UnEle, c DE vInfoVariante | | | | +| // | SI stTerme:EnvoiMob ALORS | | | | +// +| // | | infoR est une chaîne ANSI | | | +| --- | --- | ------------------------- | --- | --- | +| // | | SI UnEle.bSelection ALORS | | | +| // | | imgBuf est un buffer | | | +// SI stTerme:TypeMembre <> "ChpImage" OU stTerme:Type <> "ChpImage"ALORS +// +RechercheInfoDansVariantRapport(unTerme, stTerme, UnEle,imgBuf,infoR,sdRReq,"") +// taCol[b+"-"+c] = TraitementSelonTypeRubRapportMob(stTerme,infoR) +| // | | FIN | | | +| --- | --- | --- | --- | --- | +| // | | FIN | | | +| // | FIN | | | | +// +| // | FIN | | | | +| --- | --- | --- | --- | --- | +| // | FIN | | | | +// +| // | POUR TOUT sTitre de tabTitreCol | | | | +| --- | ------------------------------- | --- | --- | --- | +// sInfoLigne+="" +| // | FIN | | | | +| --- | --- | --- | --- | --- | +// +| // | SI sInfoLigne <> "" ALORS | | | | +| --- | ------------------------- | ---------------------------- | --- | --- | +| // | sTitresCols | = sTB + sInfoLigne + "" | | | +// +| // | sInfoLigne | = "" | | | +| --- | ---------- | ---- | --- | --- | +// +// +| // | POUR TOUT UnEle, c DE vInfoVariante | | | | +| --- | ----------------------------------- | --------------------------------- | --- | --- | +| // | sTB = "" | | | | +| // | SI UnEle.bSelection ALORS | | | | +| // | | POUR TOUT sTitre,b de tabTitreCol | | | +| // | | SI taCol[b+"-"+c]..Existe ALORS | | | +// sTB+="" +| // | | FIN | | | +| ---------- | --- | --- | ------- | ---- | +| 06/08/2026 | | | Isis_BO | 1340 | + +Partie 3 › Fenêtre WINDEV › FEN_TestSusana › Procédures +// FIN +// +// SI sTB <> "" ALORS +// sInfoLigne += "" + sTB+"" +// FIN +// FIN +// FIN +// FIN +// +// SI sInfoLigne <> "" ALORS +// sTbHTML = sTitresCols+sInfoLigne+"
" +// +sInfoLigne+="

" ++TexteVersHTML(sTitre) + "

" +// //sTB+=" " +// sTB+="

"+taCol[b+"-"+c] +"

" +// FIN +// +// +// +// AUTRE CAS +// +// sTbHTML = TraitementSelonTypeRubRapportMob(unTerme,sADonnes) +// +// FIN +// +// +//FIN +// +//saRep = ChaîneVersUTF8(sTbHTML) +//RENVOYER saRep +Procédure locale DonneGrouppeAppSelonGroupe +procédure DonneGrouppeAppSelonGroupe(sGroupe est une chaîne ANSI) +sGroupeApp est une chaîne ANSI +selon sGroupe +cas "Dossier" +sGroupeApp = cRp_Dossier +cas "Intervention" +sGroupeApp = cRp_Inter +cas "Comptes-rendus" +sGroupeApp = cRp_CR +cas "Donneurs d'ordres" +sGroupeApp = cRp_CtDonneurs +cas "Client" +sGroupeApp = cRp_Client +cas "Site" +sGroupeApp = cRp_CtSite +cas "Rendez-vous" +sGroupeApp = cRp_RDV +autre cas +sGroupeApp = "" +fin +renvoyer sGroupeApp +Procédure locale EnvoiRubMob +procédure EnvoiRubMob(ListeMob est un tableau de STJSONMembreRubRapport) +n est un entier +si ListeMob..Occurrence <= 0 alors +renvoyer Faux +fin +06/08/2026 Isis_BO 1341 + +Partie 3 › Fenêtre WINDEV › FEN_TestSusana › Procédures +pour tout stEle de ListeMob +si stEle:EnvoiMob alors +si stEle.GroupeApp dans (cRp_Client,cRp_CR,cRp_RDV) alors +si stEle.ListeDonnesBD <> "" alors +n += 1 +fin +sinon si stEle.GroupeApp dans (cRp_Photo,cRp_CtDonneurs,cRp_CtSite,cRp_Extra) alors +n += 1 +sinon si stEle.ListeDonnesBD <> "" alors +n+= 1 +fin +fin +fin +si n > 0 alors +renvoyer Vrai +sinon +renvoyer Faux +fin +Procédure locale LireModele +procédure LireModele() +//POUR TOUT unMotCle DE tbMC +// SI unMotCle.bPresent _ET_ PAS unMotCle.bTableau ALORS +// +// unMotCle:saTexte = DonneValeurMotClef(unMotCle:saCodeValeur,odFI) +// +// SINON SI unMotCle.bPresent ALORS +// SELON unMotCle:saMotCle +// CAS "" +: unMotCle:saTexte = +DonneValeurMotClef(unMotCle:saCodeValeur,odFI,FiltreDonneesMail(unMotCle,odFI:ListeContactClient,ptabDo +nnees)) +// CAS "" +: unMotCle:saTexte = +DonneValeurMotClef(unMotCle:saCodeValeur,odFI,FiltreDonneesMail(unMotCle,odFI:ListeContactLieu,ptabDonn +ees)) +// CAS "" +: unMotCle:saTexte = +DonneValeurMotClef(unMotCle:saCodeValeur,odFI,FiltreDonneesMail(unMotCle,odFI:ListeCompteRendu,ptabDonn +ees)) +// CAS "" +: unMotCle:saTexte = +DonneValeurMotClef(unMotCle:saCodeValeur,odFI,FiltreDonneesMail(unMotCle,odFI:ListeRendezVous,ptabDonne +es)) +// AUTRE CAS +// SI ChaîneCommencePar(unMotCle:saMotCle," 0 alors +stMC = TermeRapport.ListeTerme[n] +sinon +stMC.Nom = sdRqRub.MOC_Lib +stMC.MembreMob = sdRqRub.MOC_Code +n = TableauCherche(TermeRapport.ListeTerme,tcLinéaire,"Groupe",sdRqRub. +MOC_Groupe) +si n > 0 alors +stMC.GroupeApp = TermeRapport.ListeTerme[n].GroupeApp +stMC.Groupe = TermeRapport.ListeTerme[n].Groupe +sinon +stMC.GroupeApp = DonneGrouppeAppSelonGroupe(sdRqRub.MOC_Groupe) +stMC.MembreMob = Remplace(sdRqRub.MOC_Code,".", "_") +fin +stMC.EnvoiMob = Faux +fin +stMC.Rubrique = sdRqRub.MOC_Mot +TermeRapportEmail.ListeTerme.Ajoute(stMC) +fin +fin +Procédure locale RechercheDonneesSimpleRapportMob +procédure RechercheDonneesSimpleRapportMob(ListeMob est un tableau de STJSONMembreRubRapport, unTerme +est un STJSONMembreRubRapport) +b est un entier +sAInfoRemp est une chaîne ANSI +si unTerme:EnvoiMob alors +b = TableauCherche(ListeMob,tcLinéaire,"Rubrique;Utilisee",unTerme:Rubrique, Faux) +fin +si b > 0 alors +ListeMob[b].Utilisee = Vrai +si ListeMob[b].ListeDonnesBD <> "" alors +sAInfoRemp = TraitementSelonTypeRubRapportMob(unTerme,ListeMob[b].ListeDonnesBD) +sinon +sAInfoRemp = TraitementSelonTypeRubRapportMob(unTerme,unTerme:ListeDonnesBD) +fin +sinon +// Comment ce n'est pas envoyé dans le mobile je cherche directement dans le données (Bqse +de données) +b = TableauCherche(ListeMob,tcLinéaire,"Rubrique;Utilisee",unTerme:Rubrique +, Faux) +si b > 0 alors +sAInfoRemp = TraitementSelonTypeRubRapportMob(unTerme,ListeMob[b].ListeDonnesBD) +ListeMob[b].Utilisee = Vrai +sinon +sAInfoRemp = TraitementSelonTypeRubRapportMob(unTerme,unTerme:ListeDonnesBD) +fin +fin +renvoyer sAInfoRemp +Procédure locale RechercheInfoDansVariantRapport +06/08/2026 Isis_BO 1344 + +Partie 3 › Fenêtre WINDEV › FEN_TestSusana › Procédures +procédure RechercheInfoDansVariantRapport(unTerme est un STJSONMembreRubRapport, stTerme est un +STJSONListeMembre, UnEle est un Variant,ImgBuf est un Buffer,... +saInfoV est une chaîne ANSI, sdRReq est une source de données,CheminImg est une chaîne +ANSI) +satxt est une chaîne ANSI +saIdentifiant est une chaîne ANSI +saValeurId est une chaîne ANSI +quand exception dans +selon unTerme.GroupeApp +cas cRp_CR +saIdentifiant = "sdRReq.CR_GUID" +saValeurId = Remplace(UnEle.saGuidCR,RC,"") +cas cRp_Photo +saIdentifiant = "UnEle.nDC_PKID" +saValeurId = Remplace(UnEle.nDC_PKID,RC,"") +fin +si pas stTerme:BD alors +satxt = "UnEle."+stTerme:MembreMob +saInfoV = {satxt} +si stTerme:TypeMembre = "ChpImage" ou stTerme:Type = "ChpImage"alors +si fRepExiste(CheminImg) alors +sExtension est une chaîne ANSI = fExtraitChemin(UnEle.saNom, fExtension) +sNOMiMG est une chaîne ANSI = saValeurId+sExtension +si fFichierExiste(CheminImg+sNOMiMG) alors +ImgBuf = fChargeBuffer(CheminImg+sNOMiMG) +fin +fin +fin +sinon +pour tout sdRReq +si {saIdentifiant} = saValeurId alors +satxt = "sdRReq." +satxt += stTerme:MembreMob +saInfoV = {satxt} +si stTerme:TypeMembre = "ChpImage" ou stTerme:Type = "ChpImage"alors +ImgBuf = {satxt} +fin +fin +fin +fin +faire +saInfoV = "" +ImgBuf = "" +//TraceERREUR("Erreur dans la création du rapport IMG"+ExceptionInfo()) +fin +Procédure locale RqCompteRenduRemplirRapport +procédure RqCompteRenduRemplirRapport(vInfoVariante est un Variant,sdRReqCR est une Source de Données) +saGUIDS est une chaîne ANSI +pour tout UnEle de vInfoVariante +06/08/2026 Isis_BO 1345 + +Partie 3 › Fenêtre WINDEV › FEN_TestSusana › Procédures +si UnEle.bSelection alors +saGUIDS += [" , "]+"'"+UnEle.saGuidCR +"'" +fin +fin +si saGUIDS = "" alors +renvoyer Faux +fin +saRqCR est une chaîne ANSI = [ +SELECT +CompteRendu.CR_PKID, +CompteRendu.GUID AS CR_GUID, +CompteRendu.CR_DateHeureDebut, +CompteRendu.CR_DateHeureFin, +CompteRendu.CR_NoteCollaborateur, +CompteRendu.CR_NomSignataire, +CompteRendu.CR_NomSignataireTech, +CompteRendu.CR_NoteSignataire, +CompteRendu.CR_DevisConforme, +CompteRendu.CR_AvecReserve, +CompteRendu.CR_ReserveCommentaire, +CompteRendu.CR_DateHeureSignature, +CompteRendu.CR_Signature, +CompteRendu.CR_SignatureTech, +CompteRendu.CR_IDTypeSignataire +FROM CompteRendu +WHERE +CR_GUID IN ({p_GUIDS}) +] +saRqCR = Remplace(saRqCR,"{p_GUIDS}",Remplace(saGUIDS, RC,"")) +si pas HExécuteRequêteSQL(sdRReqCR,hRequêteDéfaut,saRqCR) alors +fin +Procédure locale SupprimerToutesRubRapportMob +procédure SupprimerToutesRubRapportMob(tabToutesRub est un tableau de STJSONMembreRubRapport,MonDoc est +un Document) +tabFragments est tableau de docFragment +pour i = 1 _à_ tabToutesRub..Occurrence +stUnTerme est un STJSONMembreRubRapport = tabToutesRub[i] +tabFragments = DocRecherche(MonDoc,stUnTerme.Rubrique,MotComplet+SansCasse) +pour c = 1 _à_ tabFragments.Occurrence +tabFragments[c].Texte= "" +fin +pour tout stTermes de stUnTerme.ListeMembre +tabFragments = DocRecherche(MonDoc,stTermes.Rubrique,MotComplet+SansCasse) +pour h = 1 _à_ tabFragments.Occurrence +tabFragments[h].Texte= "" +fin +fin +fin +Procédure locale TraiteEmailBuffer +06/08/2026 Isis_BO 1346 + +Partie 3 › Fenêtre WINDEV › FEN_TestSusana › Procédures +procédure TraiteEmailBuffer(tabRubMobile est un tableau de STJSONMembreRubRapport, ListeMob est un +tableau de STJSONMembreRubRapport,mondoc est un Document) +c est un entier +sAInfoRemp est une chaîne ANSI +TableauTrie(tabRubMobile,ttMembre+tccRespecteNumérique,"+Rubrique;+Ordre") +sNomRub est une chaîne ANSI +pour i = 1 _à_ tabRubMobile..Occurrence +unTerme est un STJSONMembreRubRapport = tabRubMobile[i] +sAInfoRemp = "" +//SI sNomRub <> unTerme.Rubrique ALORS +// moyen de savoir si la rubrique a été déjà traite, une rubrique peuvent être pressent +plusieurs fois dans un modèle , +// toutes les rubriques seront traites dans la variable tabfragments +si unTerme.Type = "Tableau" _et_ unTerme.GroupeApp <> cRp_Inter alors +quand exception dans +// nTotalOcurrence est un entier = ChaîneOccurrence(sTexte, unTerme.Rubrique,MotComplet) +// POUR p = 1 À nTotalOcurrence +// nPos est un entier = Position(sTexte,unTerme.Rubrique ,p) +// sTexteAvant est une chaîne ANSI = sTexte[1 à nPos] +// sTexteApres est une chaîne ANSI = sTexte[(nPos+unTerme.Rubrique..Taille) à] +// FIN +tabFragments est tableau de docFragment = DocRecherche(mondoc,unTerme.Rubrique, +MotComplet+SansCasse) +c = 1 +pour c = 1 _à_ tabFragments.Occurrence +CreationTbdansModeleEmail(ListeMob,tabRubMobile[i],mondoc) +//tabFragments[c].Texte = HTMLVersTexte(sAInfoRemp) +//tabFragments[c].Texte = sAInfoRemp +fin +faire +//TraceERREUR("Erreur dans la création du modele mail "+ExceptionInfo()) +fin +sinon +quand exception dans +tabFragments est tableau de docFragment = DocRecherche(mondoc,unTerme.Rubrique, +MotComplet+SansCasse) +si tabFragments..Occurrence > 0 alors +c = 1 +pour c = 1 _à_ tabFragments.Occurrence +sAInfoRemp = RechercheDonneesSimpleRapportMob(ListeMob,unTerme +) +tabFragments[c].Texte= sAInfoRemp +fin +fin +faire +//TraceERREUR("Erreur dans la création du modele email "+ExceptionInfo()) +fin +fin +//FIN +sNomRub= unTerme.Rubrique +fin +Procédure locale TraitementSelonTypeRubRapportMob +06/08/2026 Isis_BO 1347 + +Partie 3 › Fenêtre WINDEV › FEN_TestSusana › Procédures +procédure TraitementSelonTypeRubRapportMob(stMembre, sADonnes est une chaîne ANSI) +| sTexte | est une chaîne | = " " | | | +| ------------- | ------------------- | --------------------- | --- | --- | +| dhUnDateHeure | est une DateHeure | | | | +| bUnBoolean | est un booléen | | | | +| sType | est une chaîne ANSI | = stMembre:TypeMembre | | | +si sType = "" alors +sType = stMembre:Type +fin +si sADonnes..Taille < 8 _et_ (stMembre:TypeMembre = "ChpSimpleDate" ou stMembre:TypeMembre = +"ChpSimpleDateHeure") alors +renvoyer sTexte +fin +quand exception dans +si stMembre:GroupeApp = cRp_Extra alors +selon stMembre:Type +cas typDate +| | dhUnDateHeure = sADonnes | | | | +| --- | --------------------------------------------------- | --- | --- | --- | +| | sTexte = DateVersChaîne(dhUnDateHeure,"JJ/MM/AAAA") | | | | +cas typHeure +| | dhUnDateHeure = sADonnes | | | | +| --- | ----------------------------------------------- | --- | --- | --- | +| | sTexte = HeureVersChaîne(dhUnDateHeure,"HH:mm") | | | | +cas typTexte +sTexte=sADonnes +cas typSélect +sTexte=bUnBoolean=Vrai ? "Oui" sinon "Non" +autre cas +sTexte = sADonnes +fin +sinon +selon sType +| cas "ChpSimpleDate" | : dhUnDateHeure = sADonnes | | | | +| -------------------- | -------------------------- | --- | --- | --- | +cas "ChpSimpleDateHeure": dhUnDateHeure = sADonnes +| cas "ChpSimpleBooleen" | | : bUnBoolean = sADonnes | | | +| ----------------------- | --- | ----------------------- | --- | --- | +fin +selon sType +| cas "ChpSimpleChaine" | | : sTexte=sADonnes | | | +| ---------------------- | --- | ------------------------------- | --- | --- | +| cas "ChpSimpleRTF" | | : sTexte=RTFVersTexte(sADonnes) | | | +cas "ChpSimpleDate" : sTexte=DateVersChaîne(dhUnDateHeure,"JJ/MM/AAAA") +cas "ChpSimpleDateHeure": sTexte=DateVersChaîne(dhUnDateHeure,"JJ/MM/AAAA HH:mm") +| cas "ChpSimpleReel" | | : sTexte=sADonnes | | | +| ------------------- | --- | ----------------- | --- | --- | +cas "ChpSimpleBooleen" : sTexte=bUnBoolean=Vrai ? "Oui" sinon "Non" +autre cas +sTexte = sADonnes +fin +fin +renvoyer sTexte +faire +renvoyer sTexte +fin +| 06/08/2026 | | | Isis_BO | 1348 | +| ---------- | --- | --- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle_Rapport › Image +FEN_Mot_Cle_Rapport +Image +FEN_Mot_Cle_Rapport +Informations générales +FEN_Mot_Cle_Rapport +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Mot_Cle_Rapport.wdw +Créé par SMR +Date de création 05/12/2024 17:28:22 +Dernière modification par SMR +Date dernière modification 11/04/2025 16:08:24 +Titre FR: Mot cle Rapport +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +Position X 0 Position Y 0 Largeur 309 Hauteur 456 +06/08/2026 Isis_BO 1349 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle_Rapport › Informations générales +| 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 | | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| 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 | | | | | +| Grisé : Utiliser couleur perso. | Non | | | | +| Grisé : Algo pour images | | | | | +| 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. | | | | | +| 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 | | | | +| ---------------------- | --- | --- | --- | --- | +D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +Image poignée +| 06/08/2026 | | Isis_BO | | 1350 | +| ---------- | --- | ------- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle_Rapport › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | | | 2 | Libellé | | | 5 | +| --- | ------------------- | --- | --- | --- | --- | ------- | --- | --- | --- | +| | Bouton | | | | 2 | Combo | | | 1 | +| | Traitement de texte | | | | 1 | | | | | +Nombre d'éléments dans la fenêtre : 11 +FEN_Mot_Cle_Rapport +Informations sur les champs +Fenêtre : FEN_Mot_Cle_Rapport +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_Descr | | 10 214 | 284 193 | 0 Actif | | Texte | Non | | | +| --------- | --- | ------ | ------- | ------- | --- | ----- | --- | --- | --- | +| SAI_Lib | | 10 157 | 284 27 | 0 Actif | | Texte | Non | | | +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_Code | | | 10 58 | 284 | 20 | 0 | Actif Gauche | Haut | | +| ----------- | --- | --- | ------ | --- | ------- | --- | ------------ | ------ | ---- | +| LIB_Desc | | | 10 201 | 284 | 14 | 0 | Actif Gauche | Haut | | +| LIB_Libelle | | | 71 10 | 166 | 23 | 0 | Actif Centre | Centre | | +| LIB_NOM | | | 10 145 | 284 | 14 | 0 | Actif Gauche | Haut | | +| LIB_Type | | | 10 88 | 284 | 14 | 0 | Actif Gauche | Haut | | +| 06/08/2026 | | | | | Isis_BO | | | | 1351 | + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle_Rapport › Informations sur les champs +Bouton +notuob epyT +| | | | | | | laitini tatE | BAT ehcuoT | | +| --- | --- | --- | --- | --- | --- | ------------ | ---------- | --- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| BTN_Annuler | | 122 413 | 80 | 24 | 0 | Actif | Normal | | +| ----------- | --- | ------- | --- | --- | --- | ----- | ------ | --- | +| BTN_Valider | | 214 413 | 80 | 24 | 0 | Actif | Normal | | +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 +| COMBO_Type | 10 102 | 284 25 | 0 | Actif | Mémoire | Non | | | +| ---------- | ------ | ------ | --- | ----- | ------- | --- | --- | --- | +Traitement de texte +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --------------- | --- | --- | ------------ | --- | +| | | | | ruegraL ruetuaH | | | | | +elbisiV +nalP +| TT_CORPS | | -443 | 323 | 65 | 72 | 0 | Grisé | | +| -------- | --- | ---- | --- | --- | --- | --- | ----- | --- | +Fenêtre : FEN_Mot_Cle_Rapport +Bouton : BTN_Annuler +| Libellé | | FR: Annuler | | | | | | | +| -------------------------- | --- | ----------------------------------- | ------- | --- | --- | --- | --- | ---- | +| 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 | | | | | | | | | +| 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 | | | | | | | +| 06/08/2026 | | | Isis_BO | | | | | 1352 | + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle_Rapport › Informations sur les champs +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : BTN_Valider +Libellé FR: Valider +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +06/08/2026 Isis_BO 1353 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle_Rapport › Informations sur les champs +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : COMBO_Type +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 284 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 10 +Largeur interne 284 +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 +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 +06/08/2026 Isis_BO 1354 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle_Rapport › Informations sur les champs +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. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Code +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 +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 +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 +06/08/2026 Isis_BO 1355 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle_Rapport › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Libellé : LIB_Desc +Libellé FR: Description +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1356 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle_Rapport › Informations sur les champs +Libellé : LIB_Libelle +Libellé FR: Mot clé +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 +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 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_NOM +Libellé FR: Libellé +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 +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 +06/08/2026 Isis_BO 1357 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle_Rapport › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Libellé : LIB_Type +Libellé FR: Type +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1358 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle_Rapport › Informations sur les champs +Champ de saisie : SAI_Descr +Libellé FR: Texte +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 10 +Largeur interne 284 +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 +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 +06/08/2026 Isis_BO 1359 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle_Rapport › 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. +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 +Champ de saisie : SAI_Lib +Libellé FR: Texte +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 10 +Largeur interne 284 +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 +06/08/2026 Isis_BO 1360 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle_Rapport › 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 +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. +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 +06/08/2026 Isis_BO 1361 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle_Rapport › Informations sur les champs +Traitement de texte : TT_CORPS +Ordre navigation 4 +Épinglé Non +Masquer lors du scrolling Non +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Autorise ChangeGabarit Oui +Lien automatique Oui +Verifier l'orthographe Oui +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 +FI source ruban FI_WinDevFAA_RubanTT +Mode Minibarre Non +Texte Markdown Non +Édition HTML Non +Thème sur ruban Non +Change Document Non +Mode d'affichage Plusieurs listes +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Mot_Cle_Rapport +Code +Déclarations globales de FEN_Mot_Cle_Rapport +procédure FEN_Mot_Cle_Rapport(gclModele est un ModeleRapportMobile) +Rub est un STJSONMembreRubRapport +gsCodeRub est une chaîne ANSI +Fin d'initialisation de FEN_Mot_Cle_Rapport +CalculCle() +Fermeture de FEN_Mot_Cle_Rapport +renvoyer gsCodeRub +06/08/2026 Isis_BO 1362 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle_Rapport › Code des champs +FEN_Mot_Cle_Rapport +Code des champs +Initialisation de BTN_Annuler +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Annuler +gsCodeRub = "" +Ferme() +Initialisation de BTN_Valider +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Valider +si COMBO_Type <= 0 alors +Info("Le type de mot clé est obligatoire") +retour +fin +si SansEspace(SAI_Lib) = "" alors +Info("Le libellé est obligatoire") +retour +fin +Rub:Nom = SAI_Lib +Rub:Rubrique = LIB_Code +Rub:Description = SAI_Descr +Rub:Type = COMBO_Type +Rub:EnvoiMob = Vrai +Rub:GroupeApp = "EXTRA" +npos est un entier = TableauCherche(gclModele:tbMotCleSpec,tcLinéaire,"Rubrique",LIB_Code) +si npos > 0 alors +TableauSupprime(gclModele:tbMotCleSpec,npos) +fin +TableauAjoute(gclModele:tbMotCleSpec, Rub) +Ferme() +Initialisation de COMBO_Type +// Version 1 +// Description +// Combo liste simple +ListeAjoute(COMBO_Type,"Texte"+gLien(typTexte)) +06/08/2026 Isis_BO 1363 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle_Rapport › Code des champs +ListeAjoute(COMBO_Type,"Date"+gLien(typDate)) +ListeAjoute(COMBO_Type,"Heure"+gLien(typHeure)) +ListeAjoute(COMBO_Type,"Validation (Oui-Non)"+gLien(typSélect)) +Initialisation de SAI_Descr +// Version 1 +// Description +// Champ de saisie pour un texte simple sur une ligne +Initialisation de SAI_Lib +// Version 1 +// Description +// Champ de saisie pour un texte simple sur une ligne +A chaque changement de la sélection de TT_CORPS +//nPos = TT_CORPS..Curseur +FEN_Mot_Cle_Rapport +Procédures +Procédure locale CalculCle +procédure CalculCle() +n est un entier +b est un entier +sCodeB est une chaîne ANSI = "$Saisie_Mob_" +sCodeR est une chaîne ANSI +si gclModele:m_bufRapport <> "" alors +TT_CORPS = gclModele:m_bufRapport +tantque b <= 0 +n+= 1 +sCodeR = sCodeB+n+"$" +tabFragments est tableau de docFragment = DocRecherche(TT_CORPS,sCodeR,MotComplet+SansCasse) +si tabFragments.Occurrence <= 0 alors +b = n +fin +fin +fin +si b > 0 alors +LIB_Code = sCodeR +gsCodeRub = sCodeR +fin +06/08/2026 Isis_BO 1364 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Image +FEN_Liste_Rapport_Mobile +Image +FEN_Liste_Rapport_Mobile +Informations générales +FEN_Liste_Rapport_Mobile +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Liste_Rapport_Mobile.wdw +Créé par SMR +Date de création 05/12/2024 17:36:00 +Dernière modification par SMR +Date dernière modification 11/04/2025 16:08:25 +Titre FR: Liste rapport mobile +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +06/08/2026 Isis_BO 1365 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 1155 Hauteur | 570 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| 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 | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| 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 | | | | +D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +Image poignée +| 06/08/2026 | | | Isis_BO | | 1366 | +| ---------- | --- | --- | ------- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | 1 | Libellé | | | | 9 | +| --- | ----------------------- | --- | --- | --------------------- | --- | --- | --- | --- | +| | Bouton | | 10 | Zone répétée | | | | 2 | +| | Superchamp | | 4 | Attribut zone répétée | | | | 5 | +| | Rupture de zone répétée | | 2 | Traitement de texte | | | | 1 | +Nombre d'éléments dans la fenêtre : 34 +FEN_Liste_Rapport_Mobile +Informations sur les champs +Fenêtre : FEN_Liste_Rapport_Mobile +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_ENTETE_MODELES | | 6 80 | 166 17 | 0 | Actif | Gauche | Centre | | +| ------------------ | --- | ------ | ------ | --- | ----- | ------ | ------ | --- | +| LIB_Nom | | 896 79 | 156 18 | 0 | Actif | Centre | Centre | | +| LIB_Titre | | 455 55 | 242 20 | 0 | Actif | Centre | Centre | | +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| BTN_AjoutMotCle | | 921 | 45 177 | 24 | 0 | Actif | Normal | | +| --------------- | --- | --- | ------- | --- | --- | ----- | ------ | ---- | +| 06/08/2026 | | | Isis_BO | | | | | 1367 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Zone répétée +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_MOT_CLE_RAPPORT | | 896 | | 98 | 244 | 457 | 0 | Actif | | +| ------------------ | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| ZR_Modeles | | | 6 | 98 | 194 | 464 | 0 | Actif | | +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | ------------ | --- | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_ActionModele | | | 5 | 40 | 197 | 31 | 0 | Actif | | +| --------------- | --- | --- | --- | --- | ---- | --- | --- | ----- | --- | +| SC_Doc | | 206 | | 98 | 681 | 466 | 0 | Actif | | +| SC_SansNom1 | | | 0 | 0 | 1154 | 37 | 0 | Actif | | +Zone répétée : ZR_MOT_CLE_RAPPORT +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| LIB_Description | 37 | 1 | 187 | 16 | 0 | Actif | Gauche | Haut | | +| --------------- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | +| LIB_GROUPE | 22 | 5 | 199 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_Mot | 37 | 19 | 187 | 16 | 0 | Actif | Droite | Haut | | +Bouton +| | | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | ----------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_COPIE_COLLE_MOTCLES | | 6 | 4 | 24 | 24 | 0 | Actif | | Normal | +| ----------------------- | --- | --- | --- | ------- | --- | --- | ----- | --- | ------ | +| 06/08/2026 | | | | Isis_BO | | | | | 1368 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +ATT_BTNCOPIER +ATT_Groupe +ATT_Lib +ATT_Mot +ATT_ORDRE +Rupture de zone répétée +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | ---------- | +| | X noitisoP | Y noitisoP | | | | | | +ruegraL ruetuaH +elbisiV +nalP +RUPT_BasRupture1 +RUPT_HRUPT_MOTCLES +Zone répétée : ZR_Modeles +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | ruegraL | elbisiV | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +nalP +| LIB_ID | 7 5 | 95 25 | 0 | Grisé | Droite | Haut | | +| ------- | --- | ------ | --- | ----- | ------ | ------ | --- | +| LIB_Nom | 7 9 | 162 49 | 0 | Actif | Gauche | Centre | | +Superchamp : SC_ActionModele +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | --- | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_ADD_MODELE_RAPPORT | 131 | 43 24 | 24 | 0 | Actif | Normal | | +| ------------------------- | --- | ------- | --- | --- | ----- | ------ | ---- | +| BTN_DEL_MODELE_RAPPORT | 161 | 43 24 | 24 | 0 | Actif | Normal | | +| BTN_Modifier | 101 | 43 24 | 24 | 0 | Actif | Normal | | +| BTN_VALIDE_MODELE_ENCOURS | 71 | 43 24 | 24 | 0 | Actif | Normal | | +| 06/08/2026 | | Isis_BO | | | | | 1369 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Superchamp : SC_Doc +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_Texte | 218 127 | 660 | 27 | 0 | Actif | Texte | | Non | | | | +| --------- | ------- | --- | --- | --- | ----- | ----- | --- | --- | --- | --- | --- | +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| LIB_NOM_MODELE | | 214 | 105 | 378 | 14 | | 0 | Actif | Gauche | Haut | | +| -------------- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | +Traitement de texte +| | | | | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | ---------- | --- | ---------- | ------- | ------- | --- | --- | ------------ | ---------- | +| | | | X noitisoP | | Y noitisoP | | | | | | | +| | | | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| TT_CORPS | | | 214 | | 163 | 664 | 393 | | 0 | Actif | | +| -------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : SC_SansNom1 +Superchamp +BAT ehcuoT +laitini tatE +| | | | X noitisoP | | Y noitisoP | | | | | | | +| --- | --- | --- | ---------- | --- | ---------- | ------- | ------- | --- | --- | --- | --- | +| | | | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| SC_BoutonsSysteme | | | 1045 | | 6 | 102 | 24 | | 0 | Actif | | +| ----------------- | --- | --- | ---- | --- | ------- | --- | --- | --- | --- | ----- | ---- | +| 06/08/2026 | | | | | Isis_BO | | | | | | 1370 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Superchamp : SC_SansNom1.SC_BoutonsSysteme +Bouton +BAT ehcuoT notuob epyT +laitini tatE +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | +| --- | --- | ------- | ------- | --- | --- | +elbisiV +nalP +| BTN_AGRANDIR | 1085 | 6 24 | 24 0 | Actif | Normal | +| ------------------------- | ---- | ---- | ---- | ----- | ------ | +| BTN_FERMER_MODELE_RAPPORT | 1123 | 6 24 | 24 0 | Actif | Normal | +| BTN_ICONISER | 1045 | 6 24 | 24 0 | Actif | Normal | +| BTN_RESTAURER | 1085 | 6 24 | 24 0 | Actif | Normal | +Fenêtre : FEN_Liste_Rapport_Mobile +Bouton : BTN_AjoutMotCle +| Libellé | FR: Créer un mot-clé | | | | | +| -------------------------------- | ---------------------------------- | --- | --- | --- | --- | +| Groupe | GR_Modif | | | | | +| 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 | | | | | | +| Retrait gauche | 0 | | | | | +| Réduction Ruban | Ne pas réduire le bouton | | | | | +| Cadrage fonctions gXXX | Tenir compte du cadrage | | | | | +| Numéro aide | 0 | | | | | +| Opacité | 100 | | | | | +| Autorise ChangeGabarit | Oui | | | | | +| Animer si trop long | Non | | | | | +| Animée par défaut | Oui | | | | | +| Mode ellipse | | | | | | +| 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 | | | | | | +| Texte Markdown | Non | | | | | +| Mode menu ctx. | | | | | | +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\plusRub.png +| Nb. états image | 5 | | | | | +| ---------------------------- | ------- | ------- | --- | --- | ---- | +| Nb. états fond | 1 | | | | | +| Etirement de l'image de fond | | | | | | +| 06/08/2026 | | Isis_BO | | | 1371 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 850 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Libellé : LIB_ENTETE_MODELES +Libellé FR: Liste des modèles +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1372 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Libellé : LIB_Nom +Libellé FR: Mots Clés disponibles +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 +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 +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 +Taux anc. droite 800 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Libellé : LIB_Titre +Libellé FR: Editeur de modèles de rapports +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 +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 +06/08/2026 Isis_BO 1373 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_ActionModele +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 195 +Hauteur externe 29 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1374 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Superchamp : SC_Doc +Groupe GR_Modif +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 679 +Hauteur externe 464 +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 Droite, largeur et hauteur +Taux anc. droite 200 Taux anc. bas 1000 Taux anc. largeur 600 Taux anc. hauteur 1000 +Superchamp : SC_SansNom1 +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 1154 +Hauteur externe 37 +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 +06/08/2026 Isis_BO 1375 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : ZR_MOT_CLE_RAPPORT +Libellé FR: &Zone répétée +Groupe GR_Modif +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 +Hauteur ligne max. 0 +Hauteur ligne 34 +Largeur colonne 227 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +06/08/2026 Isis_BO 1376 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +Nb. Enreg. Max 0 +Parcours Automatique +Fichier parcouru :TermeRapport.ListeTerme +Rub. mémorisée :TermeRapport.ListeTerme +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite, largeur et hauteur +Taux anc. droite 800 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Zone répétée : ZR_Modeles +Libellé FR: &Zone répétée +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 +Hauteur ligne max. 0 +Hauteur ligne 64 +Largeur colonne 194 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +06/08/2026 Isis_BO 1377 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Oui +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 200 Taux anc. hauteur 1000 +Superchamp : SC_ActionModele +Bouton : SC_ActionModele.BTN_ADD_MODELE_RAPPORT +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 1378 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 : SC_ActionModele.BTN_DEL_MODELE_RAPPORT +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +06/08/2026 Isis_BO 1379 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 : SC_ActionModele.BTN_Modifier +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 1380 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : SC_ActionModele.BTN_VALIDE_MODELE_ENCOURS +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 1381 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Superchamp : SC_Doc +Libellé : SC_Doc.LIB_NOM_MODELE +Libellé FR: Nom du modèle +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ de saisie : SC_Doc.SAI_Texte +Libellé FR: Texte +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Isis_BO 1382 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 218 +Largeur interne 660 +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 +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. +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 +06/08/2026 Isis_BO 1383 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +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 +Traitement de texte : SC_Doc.TT_CORPS +Ordre navigation 2 +Épinglé Non +Masquer lors du scrolling Non +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Autorise ChangeGabarit Oui +Lien automatique Oui +Verifier l'orthographe Oui +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 +FI source ruban FI_WinDevFAA_RubanTT +Mode Minibarre Non +Texte Markdown Non +Édition HTML Non +Thème sur ruban Non +Change Document Non +Mode d'affichage Plusieurs listes +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 +Superchamp : SC_SansNom1 +06/08/2026 Isis_BO 1384 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Superchamp : SC_SansNom1.SC_BoutonsSysteme +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 102 +Hauteur externe 24 +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_SansNom1.SC_BoutonsSysteme +Bouton : SC_SansNom1.SC_BoutonsSysteme.BTN_AGRANDIR +Ordre navigation -1 +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 +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 +06/08/2026 Isis_BO 1385 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Structure_icone_système_agrandir.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : SC_SansNom1.SC_BoutonsSysteme.BTN_FERMER_MODELE_RAPPORT +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +06/08/2026 Isis_BO 1386 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Systeme_Fermer_5.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 : SC_SansNom1.SC_BoutonsSysteme.BTN_ICONISER +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Systeme_Reduire.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 1387 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : SC_SansNom1.SC_BoutonsSysteme.BTN_RESTAURER +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Structure_icone_système_restaurer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1388 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Zone répétée : ZR_MOT_CLE_RAPPORT +Attribut zone répétée : ZR_MOT_CLE_RAPPORT.ATT_BTNCOPIER (4) +Champ associé BTN_COPIE_COLLE_MOTCLES +Propriété associée 5 +Attribut zone répétée : ZR_MOT_CLE_RAPPORT.ATT_Groupe (3) +Champ associé LIB_GROUPE +Propriété associée 1 +Liaison des données :TermeRapport.ListeTerme.Groupe +Attribut zone répétée : ZR_MOT_CLE_RAPPORT.ATT_Lib (1) +Champ associé LIB_Description +Propriété associée 1 +Liaison des données :TermeRapport.ListeTerme.Description +Attribut zone répétée : ZR_MOT_CLE_RAPPORT.ATT_Mot (2) +Champ associé LIB_Mot +Propriété associée 1 +Liaison des données :TermeRapport.ListeTerme.Rubrique +Attribut zone répétée : ZR_MOT_CLE_RAPPORT.ATT_ORDRE (5) +Propriété associée 1 +Liaison des données :TermeRapport.ListeTerme.Ordre +06/08/2026 Isis_BO 1389 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Bouton : ZR_MOT_CLE_RAPPORT.BTN_COPIE_COLLE_MOTCLES +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_dupliquer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1390 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Libellé : ZR_MOT_CLE_RAPPORT.LIB_Description +Libellé FR: Libellé +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 +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 +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 +Liaison des données :TermeRapport.ListeTerme.Description +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_MOT_CLE_RAPPORT.RUPT_HRUPT_MOTCLES.LIB_GROUPE +Libellé FR: Groupe +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Isis_BO 1391 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :TermeRapport.ListeTerme.Groupe +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_MOT_CLE_RAPPORT.LIB_Mot +Libellé FR: Libellé +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 +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 +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 +Liaison des données :TermeRapport.ListeTerme.Rubrique +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 1392 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : ZR_MOT_CLE_RAPPORT.RUPT_BasRupture1 (7) +Toujours visible Non +Attribut de rupture 2 +Rupture de zone répétée : ZR_MOT_CLE_RAPPORT.RUPT_HRUPT_MOTCLES (6) +Toujours visible Non +Attribut de rupture 2 +Zone répétée : ZR_Modeles +Libellé : ZR_Modeles.LIB_ID +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 +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 Numérique +Masque saisie FR: 99 999 999 999 999 999 999 +Mode ellipse +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 +06/08/2026 Isis_BO 1393 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_Modeles.LIB_Nom +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 +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 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Liste_Rapport_Mobile +Messages multilingues +06/08/2026 Isis_BO 1394 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Code +FEN_Liste_Rapport_Mobile +Code +Déclarations globales de FEN_Liste_Rapport_Mobile +procédure FEN_Liste_Rapport_Mobile() +TermeRapportOrig est un STJSONRubriqueRapport +TermeRapport est un STJSONRubriqueRapport +vRub est un Variant +si HLitRecherchePremier(ParametreSysteme,PAS_Code,"RUBRIQUE_RAPPORT_INTERVENTION") alors +vRub = JSONVersVariant(ParametreSysteme.PAS_Valeur) +fin +si vRub<>Null alors +Désérialise(TermeRapportOrig,ParametreSysteme.PAS_Valeur,psdJSON) +VisibleBO() +TableauTrie(TermeRapport:ListeTerme,ttMembre,"Groupe;Ordre") +ZoneRépétéeAffiche(ZR_MOT_CLE_RAPPORT,taInit) +fin +gbModif est un booléen = Faux +gtaModeles est un tableau associatif de ModeleRapportMobile +gclModeleSel est un ModeleRapportMobile = Null +//// TESTE +//gDocumentT est un Document = "C:\ProgramData\Batik\Doc\Modèles\Modèle2.docx" +//gclModeleSel1 est un ModeleRapportMobile +//gclModeleSel1:m_nPKID = 1 +//gclModeleSel1:m_sNom= "Modele 1" +//gclModeleSel1:m_bufRapport = fChargeBuffer("C:\ProgramData\Batik\Doc\Modèles\Modèle2.docx") +// +//gclModeleSel2 est un ModeleRapportMobile +//gclModeleSel2:m_nPKID = 2 +//gclModeleSel2:m_sNom= "Modele 2" +//gclModeleSel2:m_bufRapport = fChargeBuffer("C:\ProgramData\Batik\Doc\Modèles\Recherche de fuite.docx +") +// +// +//gtaModeles[1] = gclModeleSel1 +//gtaModeles[2] = gclModeleSel2 +ST_RDV_Rp est une Structure +saGuid est une chaîne ANSI +nIDGroupe est un entier sur 8 octets +saDateDebut est une chaîne ANSI +saDateFin est une chaîne ANSI +saObjet est une chaîne ANSI +saNote est une chaîne ANSI +saCollaborateurs est une chaîne ANSI +saExtra est une chaîne ANSI +fin +ST_CONTACT_Rp est une Structure +nID est un entier sur 8 octets +saNom est une chaîne ANSI +saPren est une chaîne ANSI +saRole est une chaîne ANSI +saTFix est une chaîne ANSI +saTMob est une chaîne ANSI +06/08/2026 Isis_BO 1395 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Code +saEtage est une chaîne ANSI +saExtra est une chaîne ANSI +bSelection est un booléen +fin +ST_CR_Rp est une Structure +saGuidCR est une chaîne ANSI +saDebut est une chaîne ANSI +saFin est une chaîne ANSI +saSignataire est une chaîne ANSI +saNomCollaborateur est une chaîne ANSI +saExtra est une chaîne ANSI +bSelection est un booléen +fin +ST_NOTEDOC_Rp est une Structure +nDN_PKID est un entier sur 8 octets +sADN_Note est une chaîne ANSI +nDN_DOCPKID est un entier 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_Img_Rp est une Structure +nDC_PKID est un entier sur 8 octets +saNom est une chaîne ANSI +saExtra est une chaîne ANSI +tblNotes est un tableau de ST_DOCNOTE +saNotes est une chaîne ANSI +saDate est une chaîne ANSI +bSelection est un booléen +fin +Fin d'initialisation de FEN_Liste_Rapport_Mobile +ChargeModele() +Affichage() +FEN_Liste_Rapport_Mobile +Code des champs +Clic sur BTN_AjoutMotCle +si gclModeleSel <> Null _et_ gclModeleSel:nIndice > 0 alors +sCode est une chaîne ANSI = Ouvre(FEN_Mot_Cle_Rapport,gclModeleSel) +si sCode <> "" alors +elt est un docElément +elt..Type = typeDocElémentTexte +elt..Texte = sCode +DocInsère(TT_CORPS,TT_CORPS..Curseur,elt) +gclModeleSel:m_bufRapport = TT_CORPS +fin +06/08/2026 Isis_BO 1396 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Code des champs +fin +Clic sur BTN_ADD_MODELE_RAPPORT ( SC_ActionModele ) +clModeleNew est un ModeleRapportMobile +n est un entier = ZR_Modeles..Occurrence + 1 +b est un entier = (gtaModeles..Occurrence+1) +tantque gtaModeles[b]..Existe +b+=1 +fin +clModeleNew:m_sNom = "Nouveau rapport" +clModeleNew:nIndice = b +gtaModeles[b] = clModeleNew +ZoneRépétéeAjoute(ZR_Modeles) +ZR_Modeles[n].LIB_Nom = "Nouveau rapport" +ZR_Modeles[n].LIB_ID = b +ChargeModeleSel(b) +gbModif = Vrai +Affichage() +Clic sur BTN_DEL_MODELE_RAPPORT ( SC_ActionModele ) +si gclModeleSel <> Null alors +si OuiNon("Voulez-vous supprimer le modèle "+gclModeleSel:m_sNom) = Oui alors +gclModeleSel:Supprimer() +ZR_Modeles[gclModeleSel:nIndice]..Grisé = Vrai +ZR_Modeles[gclModeleSel:nIndice].LIB_Nom..PoliceBarrée = Vrai +gbModif = Faux +Affichage() +fin +fin +Clic sur BTN_Modifier ( SC_ActionModele ) +si gclModeleSel <> Null alors +gbModif = Vrai +Affichage() +fin +Clic sur BTN_VALIDE_MODELE_ENCOURS ( SC_ActionModele ) +si gclModeleSel <> Null _et_ gbModif alors +gclModeleSel:m_bufRapport = TT_CORPS +gclModeleSel:Enregistrement() +ZR_Modeles[gclModeleSel:nIndice].LIB_Nom = gclModeleSel.m_sNom +gtaModeles[gclModeleSel:nIndice] = gclModeleSel +gbModif = Faux +Affichage() +fin +Initialisation de SAI_Texte ( SC_Doc ) +// Version 1 +06/08/2026 Isis_BO 1397 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Code des champs +// Description +// Champ de saisie pour un texte simple sur une ligne +A chaque modification de SAI_Texte ( SC_Doc ) +gclModeleSel:m_sNom = SAI_Texte +A chaque changement de la sélection de TT_CORPS ( SC_Doc ) +//nPos = TT_CORPS..Curseur +A chaque modification de TT_CORPS ( SC_Doc ) +gclModeleSel:m_bufRapport = TT_CORPS +Fin d'initialisation de SC_BoutonsSysteme +ConfigureAffichage +Clic sur BTN_AGRANDIR ( SC_BoutonsSysteme ) +Maximise(MaFenêtre) +ConfigureAffichage +Clic sur BTN_FERMER_MODELE_RAPPORT ( SC_BoutonsSysteme ) +Ferme(MaFenêtre) +Clic sur BTN_ICONISER ( SC_BoutonsSysteme ) +Iconise(MaFenêtre) +ConfigureAffichage() +Clic sur BTN_RESTAURER ( SC_BoutonsSysteme ) +Restaure(MaFenêtre) +ConfigureAffichage +Sélection d'une ligne de ZR_Modeles +si ZR_Modeles > 0 alors +ChargeModeleSel(ZR_Modeles) +fin +Initialisation de LIB_ID ( ZR_Modeles ) +// Version 1 +// Description +// Libellé simple +Affichage d'une ligne de ZR_MOT_CLE_RAPPORT +06/08/2026 Isis_BO 1398 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Code des champs +//unTerme est un STJSONListTerme +//unTerme=ZR_MOT_CLE_RAPPORT[ZR_MOT_CLE_RAPPORT] +//SI ChaîneCommencePar(unTerme:Rubrique,"$TAB") ALORS +// ZR_MOT_CLE_RAPPORT[ZR_MOT_CLE_RAPPORT].BTN_COPIE_COLLE_MOTCLES..Visible=faux +//FIN +Clic sur BTN_COPIE_COLLE_MOTCLES ( ZR_MOT_CLE_RAPPORT ) +//VersPressePapier(LIB_Mot) +//TT_Corps..Curseur=nPos +unTerme est un STJSONListTerme= ZR_MOT_CLE_RAPPORT +si unTerme:Type="Tableau" alors +si Contient(LIB_Mot,"PHOTO") alors +InsereTableauPhotoTraitementdeTexte(unTerme:ListeMembre,TT_CORPS, Vrai) +sinon +InsereTableauTraitementdeTexte(unTerme:ListeMembre,TT_CORPS) +fin +sinon +elt est un docElément +elt..Type = typeDocElémentTexte +elt..Texte = LIB_Mot +DocInsère(TT_CORPS,TT_CORPS..Curseur,elt) +fin +gclModeleSel:m_bufRapport = TT_CORPS +FEN_Liste_Rapport_Mobile +Procédures +Procédure locale Affichage +procédure Affichage() +si gbModif alors +ZR_Modeles..Grisé = Vrai +GR_Modif..Grisé = Faux +sinon +ZR_Modeles..Grisé= Faux +GR_Modif..Grisé = Vrai +fin +Procédure locale CelluleAvecPlusiersRub +procédure CelluleAvecPlusiersRub(unTerme est un STJSONMembreRubRapport, TexteInitial est une chaîne +ANSI, tabListeRubCol est un tableau de entiers) +nNbTermeCellule est un entier +pour tout stTerme de unTerme.ListeMembre +si Contient(TexteInitial,stTerme:Rubrique,MotComplet+SansCasse) alors +nNbTermeCellule += 1 +TableauAjoute(tabListeRubCol,stTerme:Ordre) +fin +fin +06/08/2026 Isis_BO 1399 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Procédures +si nNbTermeCellule > 1 alors +renvoyer Vrai +sinon +renvoyer Faux +fin +Procédure locale ChargeModele +procédure ChargeModele() +saReq est une Requête SQL = +[ +SELECT * FROM ModeleRapportMob +] +UnRapport est un ModeleRapportMobile dynamique +b est un entier +si HExécuteRequête(saReq) alors +pour tout saReq +UnRapport = allouer un ModeleRapportMobile +UnRapport:m_nPKID = saReq.MRM_PKID +UnRapport:m_sNom = saReq.MRM_Nom +UnRapport:m_bufRapport = saReq.MRM_Modele +UnRapport:m_sRubriques = saReq.MRM_RubMob +si UnRapport:m_nPKID > 0 alors +b+= 1 +si UnRapport:m_sRubriques <> "" alors +Désérialise(UnRapport:tbMotCleSpec,UnRapport:m_sRubriques,psdJSON) +fin +UnRapport:nIndice = b +gtaModeles[b] = UnRapport +fin +fin +sinon +Erreur("Une erreur est survenue",HErreurInfo()) +retour +fin +ZoneRépétéeSupprimeTout(ZR_Modeles) +n est un entier +si gtaModeles..Occurrence > 0 alors +pour tout clModele de gtaModeles +n += 1 +ZoneRépétéeAjoute(ZR_Modeles) +ZR_Modeles[n].LIB_ID = clModele.m_nPKID +ZR_Modeles[n].LIB_Nom = clModele.m_sNom +clModele:nIndice = n +fin +fin +ZoneRépétéeSelectMoins(ZR_Modeles) +Procédure locale ChargeModeleSel +procédure ChargeModeleSel(local nIndice est un entier) +gclModeleSel = Null +si nIndice > 0 _et_ gtaModeles[nIndice]..Existe alors +gclModeleSel <- gtaModeles[nIndice] +fin +06/08/2026 Isis_BO 1400 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Procédures +si gclModeleSel <> Null alors +si gclModeleSel:m_bufRapport = "" alors +doc est un Document +TT_CORPS = doc +sinon +TT_CORPS = gclModeleSel:m_bufRapport +fin +SAI_Texte = gclModeleSel:m_sNom +fin +Procédure locale CreationTableauIntDocRp +procédure CreationTableauIntDocRp(unTerme est un STJSONMembreRubRapport,MonDoc est un Document, nIMin +est un entier, vInfoVariante est un Variant, CheminImg est une chaîne ANSI,sdRReq est une Source de +Données) +nNumLignes est un entier +saInfoV est une chaîne ANSI +imgBuf est un Buffer +pour tout stTerme de unTerme.ListeMembre +tabFragments est un tableau de docFragments = DocRecherche(MonDoc,stTerme.Rubrique,MotComplet+ +SansCasse) +si tabFragments..Occurrence > 0 alors +nNumLignes += 1 +fin +fin +bCree est un booléen = Faux +si nNumLignes > 1 alors +pour tout stTerme de unTerme.ListeMembre +tabFragments est un tableau de docFragments = DocRecherche(MonDoc,stTerme.Rubrique,MotComplet+ +SansCasse) +si tabFragments..Occurrence > 0 alors +nColonne est un entier = tabFragments[1].Elément[1].Cellule..IndiceColonne +nLigne est un entier = tabFragments[1].Elément[1].Cellule..IndiceLigne +nIMax est un entier = nIMin +soit para <- tabFragments[1]..Paragraphe[1] +si para.Tableau = Null alors +renvoyer Faux +fin +pour tout UnEle de vInfoVariante +//sIdentifiant = {NomRubId} +si UnEle.bselection alors +para..Tableau..Cellules[nIMax,nColonne]..Contenu..Texte = " " +cellDoc est un docCellule <- para..Tableau..Cellules[nIMax,nColonne] +cellColDoc est un docColonne <- para..Tableau..Colonnes[nColonne] +cellColDoc..LargeurMillimètres = (cellColDoc..LargeurMillimètres+10) +// Insère un tableau à la position du curseur (PositionDébut) de taille 1 colonnes +et x lignes +TabDoc est un docFragment = DocInsèreTableau(MonDoc,cellDoc..Contenu +..PositionDébut,1, nNumLignes) +soit para2 <- TabDoc..Paragraphe[2] +nLigneEnCours est un entier +pour tout stTerme2 de unTerme.ListeMembre +tabFragments = DocRecherche(MonDoc,stTerme2.Rubrique,MotComplet+SansCasse) +06/08/2026 Isis_BO 1401 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Procédures +si tabFragments..Occurrence > 0 alors +nLigneEnCours += 1 +imgBuf = "" +saInfoV ="" +RechercheInfoDansVariantRapport(unTerme, stTerme2, UnEle,imgBuf,saInfoV, +sdRReq,CheminImg) +cell est un docCellule <- para2..Tableau..Cellules[nLigneEnCours,1 +] +cell.MiseEnPage.Cadre.Couleur = Transparent +// rendre transparent les lignes du nouveaux tableau +si stTerme2:TypeMembre = "ChpImage" alors +si imgBuf..Taille > 0 alors +nLargPixCol est un entier = para2..Tableau..Colonnes[1].. +LargeurMillimètres*NBPixelesXMilimetres +elt est un docElément <- DonneImgTableauRp(imgBuf, +nLargPixCol) +cell2 est un docLigne <- para2..Tableau..Lignes[ +nLigneEnCours] +cell2.Hauteur = (elt..Image..Hauteur) +cell3 est un docColonne <- para2..Tableau..Colonnes[1] +cell3..LargeurMillimètres = (elt.Image..Largeur) +DocInsère(MonDoc,cell..Contenu..PositionDébut, elt) +sinon +para2..Tableau..Cellules[nLigneEnCours,1]..Contenu..Texte = " " +fin +para2..Tableau..Cellules[nLigneEnCours,nColonne]..MiseEnPage.. +Alignement = chCentre +sinon +para2..Tableau..Cellules[nLigneEnCours,1].Contenu..Texte = +TraitementSelonType(stTerme2,saInfoV) +fin +fin +fin +bCree = Vrai +nIMax += 1 +fin +fin +fin +si bCree alors +sortir +fin +fin +fin +Procédure locale DonneImgTableauRp +procédure DonneImgTableauRp(imgBuf est un Buffer,largPixCol est un entier) +img est une Image = imgBuf +HauteurImg est un réel = (img..Hauteur*largPixCol)/img..Largeur +dRedimensionne(img,largPixCol,HauteurImg,drHomothétiqueCentré) +elt est un docElément +elt..Type = typeDocElémentImage +elt..Image..BufferImage = img +elt..Image..Habillage= docHabillageAlignéSurLeTexte +// La taille de l'image est en pixels dans la variable de type Image. +06/08/2026 Isis_BO 1402 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Procédures +// Cette taille est convertie en mm dans l'élément (unité utilisée dans un document) +elt..Image..Largeur = img..Largeur * 25.4 / 96.0 +elt..Image..Hauteur = img..Hauteur * 25.4 / 96.0 +// Position de l'image +elt.Image.X = 0 +elt.Image.Y = 0 +renvoyer elt +Procédure locale RechercheDonnesSimple +procédure RechercheDonnesSimple(ListeMob est un tableau de STJSONMembreRubRapport, unTerme est un +STJSONMembreRubRapport,nIndice est un entier) +b est un entier +sAInfoRemp est une chaîne ANSI +si unTerme:EnvoiMob alors +b = TableauCherche(ListeMob,tcLinéaire,"Rubrique;",unTerme:Rubrique, nIndice) +fin +si b > 0 alors +si ListeMob[b].ListeDonnesMob <> "" alors +sAInfoRemp = ListeMob[b].ListeDonnesMob +sinon +sAInfoRemp = unTerme:ListeDonnesBD +fin +sinon +sAInfoRemp = unTerme:ListeDonnesBD +fin +renvoyer sAInfoRemp +Procédure locale RechercheInfoDansVariantRapport +procédure RechercheInfoDansVariantRapport(unTerme est un STJSONMembreRubRapport, stTerme est un +STJSONListeMembre, UnEle est un Variant,ImgBuf est un Buffer,... +saInfoV est une chaîne ANSI, sdRReq est une source de données, +CheminImg est une chaîne ANSI) +satxt est une chaîne ANSI +saIdentifiant est une chaîne ANSI +saValeurId est une chaîne ANSI +quand exception dans +selon unTerme.GroupeApp +cas cRp_CR +saIdentifiant = "sdRReq.CR_GUID" +saValeurId = Remplace(UnEle.saGuidCR,RC,"") +cas cRp_Photo +saIdentifiant = "UnEle.nDC_PKID" +saValeurId = Remplace(UnEle.nDC_PKID,RC,"") +fin +si pas stTerme:BD alors +satxt = "UnEle."+stTerme:MembreMob +saInfoV = {satxt} +si stTerme:TypeMembre = "ChpImage" alors +si fRepExiste(CheminImg) alors +sExtension est une chaîne ANSI = fExtraitChemin(UnEle.saNom, fExtension) +sNOMiMG est une chaîne ANSI = saValeurId+sExtension +si fFichierExiste(CheminImg+sNOMiMG) alors +06/08/2026 Isis_BO 1403 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Procédures +ImgBuf = fChargeBuffer(CheminImg+sNOMiMG) +fin +fin +fin +sinon +pour tout sdRReq +si {saIdentifiant} = saValeurId alors +satxt = "sdRReq." +satxt += stTerme:MembreMob +saInfoV = {satxt} +si stTerme:TypeMembre = "ChpImage" alors +ImgBuf = {satxt} +fin +fin +fin +fin +faire +saInfoV = "" +ImgBuf = "" +fin +Procédure locale RempliLigneSimple +procédure RempliLigneSimple(unTerme est un STJSONMembreRubRapport, nIMin est un entier, MonDoc est un +Document,vInfoVariante est un Variant,CheminImg est une chaîne ANSI) +saInfoV est une chaîne ANSI +sdRReq est une Source de Données +nIndDebutPara est un entier +tabListeRubCol_1 est un tableau de entiers +tabListeRubCol_2 est un tableau de entiers +si unTerme.GroupeApp = cRp_CR alors +// Requête dans la base de données , le compte rendu ne peuvent pas être modifiées par l'utilisateur +// donc le données ne sont pas récupérer à partir de données envoyés par le mobile +RqCompteRenduRemplirRapport(vInfoVariante,sdRReq) +fin +pour tout stTerme de unTerme.ListeMembre +tabFragments est un tableau de docFragments = DocRecherche(MonDoc,stTerme.Rubrique,MotComplet+ +SansCasse) +si tabFragments..Occurrence > 0 alors +nColonne est un entier = tabFragments[1].Elément[1].Cellule..IndiceColonne +nLigne est un entier = tabFragments[1].Elément[1].Cellule..IndiceLigne +nIMax est un entier = nIMin +soit para <- tabFragments[1]..Paragraphe[1] +si nIndDebutPara = 0 alors // Pour pouvoir savoir si un est toujours dans le même tableau +nIndDebutPara = para.Parent.Parent.Paragraphe.PositionDébut +fin +si para.Tableau = Null alors +retour +fin +si nIndDebutPara = para.Parent.Parent.Paragraphe.PositionDébut alors +// moulinette faite pour savoir si on a est toujours dans la même colonne +06/08/2026 Isis_BO 1404 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Procédures +si CelluleAvecPlusiersRub(unTerme,para..Tableau..Cellules[nIMax,nColonne]..Contenu..Texte, +tabListeRubCol_2) alors +si tabListeRubCol_1..Occurrence <= 0 alors +tabListeRubCol_1 = tabListeRubCol_2 +CreationTableauIntDocRp(unTerme,MonDoc, nIMin, vInfoVariante, CheminImg,sdRReq) +sinon +si pas TableauCherche(tabListeRubCol_1,tcLinéaire,stTerme:Ordre) alors +CreationTableauIntDocRp(unTerme,MonDoc, nIMin, vInfoVariante, CheminImg, +sdRReq) +tabListeRubCol_1 = tabListeRubCol_2 +fin +fin +sinon +pour tout UnEle de vInfoVariante +si stTerme:EnvoiMob alors +si UnEle.bSelection alors +imgBuf est un Buffer +imgBuf = "" +saInfoV = "" +RechercheInfoDansVariantRapport(unTerme, stTerme, UnEle,imgBuf,saInfoV, +sdRReq,CheminImg) +si stTerme:TypeMembre = "ChpImage" alors +si imgBuf..Taille > 0 alors +nLargPixCol est un entier = para..Tableau..Colonnes[nColonne].. +LargeurMillimètres*NBPixelesXMilimetres // transformer le +milimetres dans pixels (nombre de pixeles par milimetres) +para..Tableau..Cellules[nIMax,nColonne]..Contenu..Texte ="" +elt est un docElément <- DonneImgTableauRp(imgBuf, +nLargPixCol) +cell est un docCellule <- para..Tableau..Cellules[nIMax, +nColonne] +si elt..Image..Hauteur > 0 _et_ elt.Image..Largeur > 0 alors +cell2 est un docLigne <- para..Tableau.. +Lignes[nIMax] +cell2.Hauteur = elt..Image..Hauteur +cell3 est un docColonne <- para..Tableau..Colonnes[nColonne] +cell3..LargeurMillimètres = elt.Image..Largeur +fin +para..Tableau..Cellules[nIMax,nColonne]..MiseEnPage..Alignement += chCentre +DocInsère(MonDoc,cell..Contenu..PositionDébut, elt) +sinon +para..Tableau..Cellules[nIMax,nColonne]..Contenu..Texte = " " +fin +sinon +para..Tableau..Cellules[nIMax,nColonne]..Contenu..Texte = +TraitementSelonType(stTerme,saInfoV) +fin +nIMax += 1 +si Contient(unTerme:Rubrique,"$UN") alors +sortir +fin +fin +fin +fin +fin +fin +06/08/2026 Isis_BO 1405 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Procédures +fin +fin +Procédure locale RemplirLigneSansTbRapport +procédure RemplirLigneSansTbRapport(unTerme est un STJSONMembreRubRapport, MonDoc est un Document, +vInfoVariante est un Variant,CheminImg est une chaîne ANSI) +saInfoV est une chaîne ANSI +sdRReq est une Source de Données +si unTerme.GroupeApp = cRp_CR alors +// Requête dans la base de données , le compte rendu ne peuvent pas être modifiées par l'utilisateur +// donc le données ne sont pas récupérer à partir de données envoyés par le mobile +RqCompteRenduRemplirRapport(vInfoVariante,sdRReq) +fin +pour tout stTerme de unTerme.ListeMembre +tabFragments est un tableau de docFragments = DocRecherche(MonDoc,stTerme.Rubrique,MotComplet+ +SansCasse) +si tabFragments..Occurrence > 0 alors +pour c = 1 _à_ tabFragments.Occurrence +pour tout UnEle de vInfoVariante +si stTerme:EnvoiMob alors +si UnEle.bSelection alors +imgBuf est un Buffer +imgBuf = "" +saInfoV = "" +RechercheInfoDansVariantRapport(unTerme, stTerme, UnEle,imgBuf,saInfoV,sdRReq +,CheminImg) +si stTerme:TypeMembre = "ChpImage" alors +si imgBuf..Taille > 0 alors +nLargPixCol est un entier = 100*NBPixelesXMilimetres +// transformer le milimetres dans pixels (nombre de pixeles par +milimetres) +elt est un docElément <- DonneImgTableauRp(imgBuf, +nLargPixCol) +DocInsère(MonDoc,tabFragments[c]..PositionDébut, elt) +sinon +tabFragments[c].Texte = " " +fin +sinon +tabFragments[c].Texte = TraitementSelonType(stTerme,saInfoV) +fin +si Contient(unTerme:Rubrique,"$UN") alors +sortir +fin +fin +fin +fin +fin +fin +fin +Procédure locale RqCompteRenduRemplirRapport +06/08/2026 Isis_BO 1406 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Procédures +procédure RqCompteRenduRemplirRapport(vInfoVariante est un Variant,sdRReqCR est une Source de Données) +saGUIDS est une chaîne ANSI +pour tout UnEle de vInfoVariante +si UnEle.bSelection alors +saGUIDS += [" , "]+"'"+UnEle.saGuidCR +"'" +fin +fin +si saGUIDS = "" alors +renvoyer Faux +fin +saRqCR est une chaîne ANSI = [ +SELECT +CompteRendu.CR_PKID, +CompteRendu.GUID AS CR_GUID, +CompteRendu.CR_DateHeureDebut, +CompteRendu.CR_DateHeureFin, +CompteRendu.CR_NoteCollaborateur, +CompteRendu.CR_NomSignataire, +CompteRendu.CR_NomSignataireTech, +CompteRendu.CR_NoteSignataire, +CompteRendu.CR_DevisConforme, +CompteRendu.CR_AvecReserve, +CompteRendu.CR_ReserveCommentaire, +CompteRendu.CR_DateHeureSignature, +CompteRendu.CR_Signature, +CompteRendu.CR_SignatureTech, +CompteRendu.CR_IDTypeSignataire +FROM CompteRendu +WHERE +CR_GUID IN ({p_GUIDS}) +] +saRqCR = Remplace(saRqCR,"{p_GUIDS}",Remplace(saGUIDS, RC,"")) +si pas HExécuteRequêteSQL(sdRReqCR,hRequêteDéfaut,saRqCR) alors +fin +Procédure locale SupprimerToutesRubDoc +procédure SupprimerToutesRubDoc(tabToutesRub est un tableau de STJSONMembreRubRapport,MonDoc est un +Document) +tabFragments est tableau de docFragment +pour i = 1 _à_ tabToutesRub..Occurrence +stUnTerme est un STJSONMembreRubRapport = tabToutesRub[i] +tabFragments = DocRecherche(MonDoc,stUnTerme.Rubrique,MotComplet+SansCasse) +pour c = 1 _à_ tabFragments.Occurrence +tabFragments[c].Texte= "" +fin +pour tout stTermes de stUnTerme.ListeMembre +tabFragments = DocRecherche(MonDoc,stTermes.Rubrique,MotComplet+SansCasse) +pour h = 1 _à_ tabFragments.Occurrence +tabFragments[h].Texte= "" +fin +06/08/2026 Isis_BO 1407 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Procédures +fin +fin +Procédure locale TestMob +procédure TestMob() +STJSONInfoRapportMob est une Structure +saGuid est une chaîne ANSI +saDate est une chaîne ANSI +nIdModele est un entier sur 8 octets +nIdInter est un entier sur 8 octets +saNomRapport est une chaîne ANSI +ListeMob est un tableau de STJSONMembreRubRapport +fin +sResRepTemp est une chaîne ANSI = "C:\Users\Xavier\OneDrive - Applilogik\Documents 1\TEMP\" +sInfotest est une chaîne ANSI = [ +{ "saGuid":"299b2312094d458a939b6c71f3900284", "saDate":"20241220154216662", "nIdModele":4, +"nIdInter":106, "saNomRapport":" +Raport +3", "ListeMob":[ { "Nom":"", "Rubrique":"$TABCOMPTERENDU$", "Description":"Tableau comptes-rendus", +"Groupe":"Comptes-rendus +", "Type":"Tableau", "Ordre":223, "MembreMob":"CR", "EnvoiMob":1, "BD":0, "GroupeApp":"CR_INTER", +"ListeMembre":[ { "Nom":"D\u00e9but\u00e9 le", "Rubrique":"$TABCR.DATEDEBUT$", "Description":"", +"Groupe":"", "Type":"", "Ordre":223, "MembreMob":"CR_DateHeu +reDebut", "EnvoiMob":1, "BD":1 }, { "Nom":"Fini le", "Rubrique":"$TABCR.DATEFIN$", "Description":"", +"Groupe":"", "Type":"", "Ordre":239, "MembreMob":"CR_DateHeureFin", "EnvoiMob":1, "BD":1 }, { +"Nom":"Note collaborateur", "Rubrique":"$TABCR.NOTECOLLAB$", +"Description":"", "Groupe":"", "Type":"", "Ordre":258, "MembreMob":"CR_NoteCollaborateur", +"EnvoiMob":1, "BD":1 }, { "Nom":"Nom signataire", "Rubrique":"$TABCR.SIGNATAIRE$", "Description":"", +"Groupe":"", "Type":"", "Ordre":277, " +Mem +breMob":"CR_NomSignataire", "EnvoiMob":1, "BD":1 }, { "Nom":"Note signataire", +"Rubrique":"$TABCR.NOTESIGNATAIRE$", "Description":"", "Groupe":"", "Type":"", "Ordre":300, +"MembreMob":"CR_NoteSignataire", "EnvoiMob":1, "BD":1 }, { "Nom":"Nom Signature Tech +", "Rubrique":"$TABCR.NOMSIGNATURETECH$", "Description":"", "Groupe":"", "Type":"", "Ordre":328, +"MembreMob":"CR_NomSignataireTech", "EnvoiMob":1, "BD":1 }, { "Nom":"Devis conforme", +"Rubrique":"$TABCR.DEVISCONFORME$", "Description":"", "Groupe":"", "Type +":"", "Ordre":350, "MembreMob":"CR_DevisConforme", "EnvoiMob":1, "BD":1 }, { "Nom":"Avec R\u00e9serve", +"Rubrique":"$TABCR.AVECRESERVE$", "Description":"", "Groupe":"", "Type":"", "Ordre":370, +"MembreMob":"CR_AvecReserve", "EnvoiMob":1, "BD":1 }, { "Nom": +"Commentaire R\u00e9serve", "Rubrique":"$TABCR.RESERVECOMMENTAIRE$", "Description":"", "Groupe":"", +"Type":"", "Ordre":397, "MembreMob":"CR_ReserveCommentaire", "EnvoiMob":1, "BD":1 } ], +"ListeDonnesMob":"[ { \"saGuidCR\":\" +3af24eefb4 +614283860320e9acf8b633\", \"saDebut\":\"20240717110000000\", \"saFin\":\"20240717120000000\", +\"saSignataire\":\"ARTISANS PARTENAIRES\", \"saNomCollaborateur\":\" +Susana RODRIGUES\", \"saExtra\":\"\", \"bSelection\":true, \"nPosTable\":1 }, { \"saGuidCR\": +\"e31dee4048c911eebb75a5fc9208e4e1\", \"saDebut\":\"20230901080000000\", +\"saFin\":\"20230901090000000\", \"saSignataire\":\"TEST et COMPLET 2 test\", +\"saNomCollaborateur\":\" +Susana RODRIGUES\", \"saExtra\":\"\", \"bSelection\":true, \"nPosTable\":2 }, +{ \"saGuidCR\":\"39832b705ddc11ee8a3b15958f094c63\", \"saDebut\":\"20230928090000000\", +\"saFin\":\"20230928100000000\", \"saSignataire\":\"TEST & COMPLET 2 test\", \"saNomCollaborateur\":\" +Susana RODRIGUES\", \"saExtra\":\"\", \"bSelection\":false, \"nPo +sTable\":3 }, { \"saGuidCR\":\"db81a075d17a482fb5af41e2bba9b346\", \"saDebut\":\"20240103120000000\", +\"saFin\":\"20240103130000000\", \"saSignataire\":\"ARTISANS PARTENAIRES\", +\"saNomCollaborateur\":\"Fr\\u00e9d\\u00e9ric BOURRAS\", +\"saExtra\":\"\", \"bSelection\":false, \"nPosTable\":4 }, { +\"saGuidCR\":\"053081f6c5054d62a52913a90eb118c7\", \"saDebut\":\"20231226120000000\", +\"saFin\":\"20231226130000000\", \"saSignataire\":\"ARTISANS PARTENAIRES\", +\"saNomCollaborateur\":\"\", \" +06/08/2026 Isis_BO 1408 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Procédures +saExtra\":\"\", \"bSelection\":true, \"nPosTable\":5 }, { +\"saGuidCR\":\"1d31d3c4460c4500a74a9790dcf70179\", \"saDebut\":\"20231227120000000\", +\"saFin\":\"20231227130000000\", \"saSignataire\":\"ARTISANS PARTENAIRES\", +\"saNomCollaborateur\":\"Fr\\u00e9d +\\u00e9ric +BOURRAS\", \"saExtra\":\"\", \"bSelection\":false, \"nPosTable\":6 }, { +\"saGuidCR\":\"93e056bf5b8c40fa953c350c6c142de2\", \"saDebut\":\"20240103090000000\", +\"saFin\":\"20240103100000000\", \"saSignataire\":\"ARTISANS PARTENAIRES\", \"saNomCol +laborateur\":\"Fr\\u00e9d\\u00e9ric BOURRAS\", \"saExtra\":\"\", \"bSelection\":false, \"nPosTable\":7 +}, { \"saGuidCR\":\"b3160fae1d9c445f95305c676042b8a6\", \"saDebut\":\"20240109080000000\", +\"saFin\":\"20240109090000000\", \"saSig +nataire\":\"ARTISANS PARTENAIRES\", \"saNomCollaborateur\":\"Olivier GUILLEMOT\", \"saExtra\":\"\", +\"bSelection\":false, \"nPosTable\":8 }, { \"saGuidCR\":\"d8011b2f6c6644178d0baa22f509f9b4\", +\"saDebut\":\"20240109100000000\", \"saFin\":\"20240109130000 +000\", \"saSignataire\":\"ARTISANS PARTENAIRES\", \"saNomCollaborateur\":\"Olivier GUILLEMOT\", +\"saExtra\":\"\", \"bSelection\":false, \"nPosTable\":9 } ]", "ListeDonnesBD":"[ { +\"saGuidCR\":\"3af24eefb4614283860320e9acf8b633\", \"saDebut\":\"20240717110 +000000\", \"saFin\":\"20240717120000000\", \"saSignataire\":\"ARTISANS PARTENAIRES\", +\"saNomCollaborateur\":\" +Susana +RODRIGUES\", \"saExtra\":\"\", \"bSelection\":false }, { +\"saGuidCR\":\"e31dee4048c911eebb75a5fc9208e4e1\", \"saDebut\":\"202309010800000 +00\", \"saFin\":\"20230901090000000\", \"saSignataire\":\"TEST et COMPLET 2 test\", +\"saNomCollaborateur\":\" +Susana +RODRIGUES\", \"saExtra\":\"\", \"bSelection\":false }, { +\"saGuidCR\":\"39832b705ddc11ee8a3b15958f094c63\", \"saDebut +\":\"20230928090000000\", \"saFin\":\"20230928100000000\", \"saSignataire\":\"TEST & COMPLET 2 test\", +\"saNomCollaborateur\":\" +Susana +RODRIGUES\", \"saExtra\":\"\", \"bSelection\":false }, { +\"saGuidCR\":\"db81a075d17a482fb5af41e2bba9b346\", \"saDebut\": +\"20240103120000000\", \"saFin\":\"20240103130000000\", \"saSignataire\":\"ARTISANS PARTENAIRES\", +\"saNomCollaborateur\":\"Fr\\u00e9d\\u00e9ric BOURRAS\", \"saExtra\":\"\", \"bSelection\":false }, { +\"saGuidCR\":\"053081f6c5054d62a52913a90eb118c7\", \"sa +Debut\":\"20231226120000000\", \"saFin\":\"20231226130000000\", \"saSignataire\":\"ARTISANS +PARTENAIRES\", \"saNomCollaborateur\":\"\", \"saExtra\":\"\", \"bSelection\":false }, { +\"saGuidCR\":\"1d31d3c4460c4500a74a9790dcf70179\", \"saDebut\":\"2023122712 +0000000\", \"saFin\":\"20231227130000000\", \"saSignataire\":\"ARTISANS PARTENAIRES\", +\"saNomCollaborateur\":\"Fr\\u00e9d\\u00e9ric BOURRAS\", \"saExtra\":\"\", \"bSelection\":false }, { +\"saGuidCR\":\"93e056bf5b8c40fa953c350c6c142de +2\", \"saDebut\":\"20240103090000000\", \"saFin\":\"20240103100000000\", \"saSignataire\":\"ARTISANS +PARTENAIRES\", \"saNomCollaborateur\":\"Fr\\u00e9d\\u00e9ric BOURRAS\", \"saExtra\":\"\", +\"bSelection\":false }, { \"saGuidCR\":\" +b3160fae1d9c445f95305c6 +76042b8a6\", \"saDebut\":\"20240109080000000\", \"saFin\":\"20240109090000000\", +\"saSignataire\":\"ARTISANS PARTENAIRES\", \"saNomCollaborateur\":\"Olivier GUILLEMOT\", +\"saExtra\":\"\", \"bSelection\":false }, { \"saGuidCR\":\" +d8011b2f6c6644178d0baa22f5 +09f9b4\", \"saDebut\":\"20240109100000000\", \"saFin\":\"20240109130000000\", +\"saSignataire\":\"ARTISANS PARTENAIRES\", \"saNomCollaborateur\":\"Olivier GUILLEMOT\", +\"saExtra\":\"\", \"bSelection\":false } ]" }, { "Nom":"", "Rubrique":"$TABRENDEZVOUS$", +"Description":"Tableau rendez-vous", "Groupe":"Rendez-vous", "Type":"Tableau", "Ordre":416, +"MembreMob":"RDV", "EnvoiMob":1, "BD":0, "GroupeApp":"RDV_INTER", "ListeMembre":[ { "Nom":"", +"Rubrique":"$UNRDV.DATEDEBUT$", "Description":" +", "Groupe":"", "Type":"ChpSimpleDateHeure", "Ordre":416, "MembreMob":"saDateDebut", "EnvoiMob":1, +"BD":0 }, { "Nom":"", "Rubrique":"$UNRDV.DATEFIN$", "Description":"", "Groupe":"", +"Type":"ChpSimpleDateHeure", "Ordre":432, "MembreMob":"saDateFin", "Envoi +Mob":1, "BD":0 }, { "Nom":"", "Rubrique":"$UNRDV.OBJET$", "Description":"", "Groupe":"", +"Type":"ChpSimpleChaine", "Ordre":446, "MembreMob":"saObjet", "EnvoiMob":1, "BD":0 }, { "Nom":"", +"Rubrique":"$UNRDV.NOTE$", "Description":"", "Groupe":"", "Type":"Ch +pSimpleChaine", "Ordre":459, "MembreMob":"saNote", "EnvoiMob":1, "BD":0 }, { "Nom":"", +"Rubrique":"$UNRDV.COLLABORATEUR$", "Description":"", "Groupe":"", "Type":"ChpSimpleChaine", +"Ordre":481, "MembreMob":"saCollaborateurs", "EnvoiMob":1, "BD":0 } ], "Lis +06/08/2026 Isis_BO 1409 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Procédures +teDonnesMob":"[ { \"saGuid\":\"c47bc95df1e74dc6a4f85eec8a7cfa78\", \"nIDGroupe\":0, +\"saDateDebut\":\"20230504100000000\", \"saDateFin\":\"20230504110000000\", \"saObjet\":\"\", +\"saNote\":\"test 2\", \"saCollaborateurs\":\"GUILLEMOT +Olivier\", \"saExtra\":\"\", \"bSelection\":true, \"nPosTable\":1 }, { +\"saGuid\":\"57cf851c56124403b255cdabee1c926c\", \"nIDGroupe\":0, +\"saDateDebut\":\"20230505100000000\", \"saDateFin\":\"20230505110000000\", \"saObjet\":\"\", +\"saNote\":\"\", \"saCol +laborateurs\":\"GUILLEMOT Olivier\", \"saExtra\":\"\", \"bSelection\":true, \"nPosTable\":2 }, { +\"saGuid\":\"80e5ea0939ad43218a1f64a3792089ab\", \"nIDGroupe\":0, +\"saDateDebut\":\"20230531080000000\", \"saDateFin\":\"20230601180000000\", \"saObjet\":\"\" +, \"saNote\":\"test 2\", \"saCollaborateurs\":\"RODRIGUES Susana\", \"saExtra\":\"\", +\"bSelection\":false, \"nPosTable\":3 }, { \"saGuid\":\"3adc72e99518441d88853e3f02c03411\", +\"nIDGroupe\":0, \"saDateDebut\":\"20230828080000000\", \"saDateFin\":\"20230 +828090000000\", \"saObjet\":\"\", \"saNote\":\"test\", \"saCollaborateurs\":\"RODRIGUES Susana\", +\"saExtra\":\"\", \"bSelection\":false, \"nPosTable\":4 }, { +\"saGuid\":\"06e3ceb097ee472f9a996391d27e3ce0\", \"nIDGroupe\":36, \"saDate +Debut\":\"20231219120000000\", \"saDateFin\":\"20231219130000000\", \"saObjet\":\"\", \"saNote\":\"\", +\"saCollaborateurs\":\"RITA Anthony\\r\\nBOURRAS Fr\\u00e9d\\u00e9ric\", \"saExtra\":\"\", +\"bSelection\":false, \"nPosTable\":5 }, { \"saGuid\":\"3281e +7e762b54f818e9f102bd9c7fbef\", \"nIDGroupe\":37, \"saDateDebut\":\"20231220120000000\", +\"saDateFin\":\"20231220130000000\", \"saObjet\":\"\", \"saNote\":\"\", \"saCollaborateurs\":\"BOURRAS +Fr\\u00e9d\\u00e9ric\\r\\nRITA Anthony\", \"saExtra\":\"\", \"bS +election\":false, \"nPosTable\":6 }, { \"saGuid\":\"31fe68a615ca41f9a529cf22d0704799\", +\"nIDGroupe\":38, \"saDateDebut\":\"20231221120000000\", \"saDateFin\":\"20231221130000000\", +\"saObjet\":\"\", \"saNote\":\"\", \"saCollaborateurs\":\"BOURRAS Fr\\u00 +e9d\\u00e9ric\\r\\nRITA Anthony\", \"saExtra\":\"\", \"bSelection\":false, \"nPosTable\":7 }, { +\"saGuid\":\"f7cc533ae9c24ebcb192e33b22fb63fc\", \"nIDGroupe\":32, +\"saDateDebut\":\"20231224090000000\", \"saDateFin\":\"2023122410000000 +0\", \"saObjet\":\"\", \"saNote\":\"tesr\", \"saCollaborateurs\":\"RODRIGUES Susana\\r\\nBOURRAS +Fr\\u00e9d\\u00e9ric\", \"saExtra\":\"\", \"bSelection\":false, \"nPosTable\":8 }, { +\"saGuid\":\"1cd57a30efc04d0292bb64d515f846db\", \"nIDGroupe\":0, \"saDat +eDebut\":\"20231227150000000\", \"saDateFin\":\"20231227160000000\", \"saObjet\":\"\", \"saNote\":\"\", +\"saCollaborateurs\":\"BOURRAS Fr\\u00e9d\\u00e9ric\", \"saExtra\":\"\", \"bSelection\":false, +\"nPosTable\":9 }, { \"saGuid\":\" +f000b2fab4cc4e81acc361 +7693649bf0\", \"nIDGroupe\":0, \"saDateDebut\":\"20240102150000000\", +\"saDateFin\":\"20240102160000000\", \"saObjet\":\"\", \"saNote\":\"\", \"saCollaborateurs\":\"BOURRAS +Fr\\u00e9d\\u00e9ric\", \"saExtra\":\"\", \"bSelection\":false, \"nPosTable\":10 } +, { \"saGuid\":\"72a76f9d44cf45d1802b019e3bd71254\", \"nIDGroupe\":0, +\"saDateDebut\":\"20240103090000000\", \"saDateFin\":\"20240103100000000\", \"saObjet\":\"test\", +\"saNote\":\"\", \"saCollaborateurs\":\"BOURRAS Fr\\u00e9d\\u00e9r +ic\", \"saExtra\":\"\", \"bSelection\":false, \"nPosTable\":11 }, { +\"saGuid\":\"81aeec5d6ee7453b8e301e6d2a731602\", \"nIDGroupe\":0, +\"saDateDebut\":\"20240103110000000\", \"saDateFin\":\"20240103120000000\", \"saObjet\":\"test 2\", +\"saNote\":\"\", \"sa +Collaborateurs\":\"BOURRAS Fr\\u00e9d\\u00e9ric\", \"saExtra\":\"\", \"bSelection\":false, +\"nPosTable\":12 }, { \"saGuid\":\"4102a1b065c34237bcd414d072157053\", \"nIDGroupe\":0, +\"saDateDebut\":\"20240105100000000\", \"saDateFin\":\"20240105130000000\", +\"saObjet\":\"\", \"saNote\":\"\", \"saCollaborateurs\":\"GUILLEMOT Olivier\", \"saExtra\":\"\", +\"bSelection\":false, \"nPosTable\":13 }, { \"saGuid\":\"d97d7dab765340bd89b82703eec8aba9\", +\"nIDGroupe\":0, \"saDateDebut\":\"20240108080000000\", \"saDateF +in\":\"20240108090000000\", \"saObjet\":\"\", \"saNote\":\"\", \"saCollaborateurs\":\"GUILLEMOT +Olivier\", \"saExtra\":\"\", \"bSelection\":false, \"nPosTable\":14 }, { +\"saGuid\":\"3485f3cca8644878bbba259fa551ce3a\", \"nIDGroupe\":0, +\"saDateDebut\":\"20240419080000000\", \"saDateFin\":\"20240419160000000\", \"saObjet\":\"avec +temps\", \"saNote\":\"\", \"saCollaborateurs\":\"RODRIGUES Susana\", \"saExtra\":\"\", +\"bSelection\":false, \"nPosTable\":15 }, { \"saGuid\":\" +c1599f79afc44bf +fba20c41914f66415\", \"nIDGroupe\":0, \"saDateDebut\":\"20240515110000000\", +\"saDateFin\":\"20240515120000000\", \"saObjet\":\"\", \"saNote\":\"\", \"saCollaborateurs\":\"BOURRAS +Fr\\u00e9d\\u00e9ric\", \"saExtra\":\"\", \"bSelection\":false, \"nPosTable +06/08/2026 Isis_BO 1410 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Procédures +\":16 }, { \"saGuid\":\"3c28f3e590f848518d29ad3e6333300e\", \"nIDGroupe\":0, +\"saDateDebut\":\"20240708180000000\", \"saDateFin\":\"20240709030000000\", \"saObjet\":\"\", +\"saNote\":\"\", \"saCollaborateurs\":\"BOURRAS Fr\\u00e9d\\u00e9ric\", \"saExtra\": +\"\", \"bSelection\":false, \"nPosTable\":17 }, { \"saGuid\":\"f8b46b080ad5457db2da95fd2fd2bd45\", +\"nIDGroupe\":0, \"saDateDebut\":\"20240709110000000\", \"saDateFin\":\"20240709120000000\", +\"saObjet\":\"cr 3\", \"saNote\":\"\", \"s +aCollaborateurs\":\"RODRIGUES Susana\", \"saExtra\":\"\", \"bSelection\":false, \"nPosTable\":18 }, { +\"saGuid\":\"de638438f42e43ada95fda7983208319\", \"nIDGroupe\":0, +\"saDateDebut\":\"20240709180000000\", \"saDateFin\":\"20240710030000000\", \"saObjet\" +:\"\", \"saNote\":\"\", \"saCollaborateurs\":\"BOURRAS Fr\\u00e9d\\u00e9ric\", \"saExtra\":\"\", +\"bSelection\":false, \"nPosTable\":19 }, { \"saGuid\":\"40171c644e2343978df3c38c6a605f1a\", +\"nIDGroupe\":0, \"saDateDebut\":\"20240826120000000\", \"saDateF +in\":\"20240826130000000\", \"saObjet\":\"\", \"saNote\":\"\", \"saCollaborateurs\":\"FOURNIER +Didier\", \"saExtra\":\"\", \"bSelection\":false, \"nPosTable\":20 }, { +\"saGuid\":\"d32018a005324241a75bd15ce0f93a49\", \"nIDGroupe\":0, \"saDateDebut\":\"2024 +1001110000000\", \"saDateFin\":\"20241001120000000\", \"saObjet\":\"obj +2\", \"saNote\":\"\", \"saCollaborateurs\":\"RODRIGUES Susana\", \"saExtra\":\"\", +\"bSelection\":false, \"nPosTable\":21 }, { \"saGuid\":\" +e54bdbc6815b47538c4e4f +4ba856453b\", \"nIDGroupe\":60, \"saDateDebut\":\"20241118120000000\", +\"saDateFin\":\"20241118150000000\", \"saObjet\":\"\", \"saNote\":\"\", +\"saCollaborateurs\":\"RODRIGUES Susana\", \"saExtra\":\"\", \"bSelection\":false, \"nPosTable\":22 } +]", "Liste +DonnesBD":"[ { \"saGuid\":\"c47bc95df1e74dc6a4f85eec8a7cfa78\", \"nIDGroupe\":0, +\"saDateDebut\":\"20230504100000000\", \"saDateFin\":\"20230504110000000\", \"saObjet\":\"\", +\"saNote\":\"test 2\", \"saCollaborateurs\":\"GUILLEMOT Olivier\", \"saExtra\":\ +"\", \"bSelection\":false }, { \"saGuid\":\"57cf851c56124403b255cdabee1c926c\", \"nIDGroupe\":0, +\"saDateDebut\":\"20230505100000000\", \"saDateFin\":\"20230505110000000\", \"saObjet\":\"\", +\"saNote\":\"\", \"saCollaborateurs\":\"GUILLEMOT Olivier\", \"s +aExtra\":\"\", \"bSelection\":false }, { \"saGuid\":\"80e5ea0939ad43218a1f64a3792089ab\", +\"nIDGroupe\":0, \"saDateDebut\":\"20230531080000000\", \"saDateFin\":\"20230601180000000\", +\"saObjet\":\"\", \"saNote\":\"test 2\", \"saCollab +orateurs\":\"RODRIGUES Susana\", \"saExtra\":\"\", \"bSelection\":false }, { +\"saGuid\":\"3adc72e99518441d88853e3f02c03411\", \"nIDGroupe\":0, +\"saDateDebut\":\"20230828080000000\", \"saDateFin\":\"20230828090000000\", \"saObjet\":\"\", +\"saNote\":\"test\ +", \"saCollaborateurs\":\"RODRIGUES Susana\", \"saExtra\":\"\", \"bSelection\":false }, { +\"saGuid\":\"06e3ceb097ee472f9a996391d27e3ce0\", \"nIDGroupe\":36, +\"saDateDebut\":\"20231219120000000\", \"saDateFin\":\"20231219130000000\", \"saObjet\":\"\", \"sa +Note\":\"\", \"saCollaborateurs\":\"RITA Anthony\\r\\nBOURRAS Fr\\u00e9d\\u00e9ric\", \"saExtra\":\"\", +\"bSelection\":false }, { \"saGuid\":\"3281e7e762b54f818e9f102bd9c7fbef\", \"nIDGroupe\":37, +\"saDateDebut\":\"20231220120000000\", \"saDateFin\":\"202 +31220130000000\", \"saObjet\":\"\", \"saNote\":\"\", \"saCollaborateurs\":\"BOURRAS +Fr\\u00e9d\\u00e9ric\\r\\nRITA Anthony\", \"saExtra\":\"\", \"bSelection\":false }, { +\"saGuid\":\"31fe68a615ca41f9a529cf22d0704799\", \"nIDGroupe\":3 +8, \"saDateDebut\":\"20231221120000000\", \"saDateFin\":\"20231221130000000\", \"saObjet\":\"\", +\"saNote\":\"\", \"saCollaborateurs\":\"BOURRAS Fr\\u00e9d\\u00e9ric\\r\\nRITA Anthony\", +\"saExtra\":\"\", \"bSelection\":false }, { \"saGuid\":\" +f7cc533ae9c +24ebcb192e33b22fb63fc\", \"nIDGroupe\":32, \"saDateDebut\":\"20231224090000000\", +\"saDateFin\":\"20231224100000000\", \"saObjet\":\"\", \"saNote\":\"tesr\", +\"saCollaborateurs\":\"RODRIGUES Susana\\r\\nBOURRAS Fr\\u00e9d\\u00e9ric\", \"saExtra\":\"\", \" +bSelection\":false }, { \"saGuid\":\"1cd57a30efc04d0292bb64d515f846db\", \"nIDGroupe\":0, +\"saDateDebut\":\"20231227150000000\", \"saDateFin\":\"20231227160000000\", \"saObjet\":\"\", +\"saNote\":\"\", \"saCollaborateurs\":\"BOURRAS Fr\\u00e9d\\u00e9ric\", +\"saExtra\":\"\", \"bSelection\":false }, { \"saGuid\":\"f000b2fab4cc4e81acc3617693649bf0\", +\"nIDGroupe\":0, \"saDateDebut\":\"20240102150000000\", \"saDateFin\":\"20240102160000000\", +\"saObjet\":\"\", \"saNote\":\"\", \"saCollabor +ateurs\":\"BOURRAS Fr\\u00e9d\\u00e9ric\", \"saExtra\":\"\", \"bSelection\":false }, { +\"saGuid\":\"72a76f9d44cf45d1802b019e3bd71254\", \"nIDGroupe\":0, +\"saDateDebut\":\"20240103090000000\", \"saDateFin\":\"20240103100000000\", \"saObjet\":\"test\", \"sa +Note\":\"\", \"saCollaborateurs\":\"BOURRAS Fr\\u00e9d\\u00e9ric\", \"saExtra\":\"\", +\"bSelection\":false }, { \"saGuid\":\"81aeec5d6ee7453b8e301e6d2a731602\", \"nIDGroupe\":0, +\"saDateDebut\":\"20240103110000000\", \"saDateFin\":\"20240103120000000\", \ +06/08/2026 Isis_BO 1411 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Procédures +"saObjet\":\"test 2\", \"saNote\":\"\", \"saCollaborateurs\":\"BOURRAS Fr\\u00e9d\\u00e9ric\", +\"saExtra\":\"\", \"bSelection\":false }, { \"saGuid\":\"4102a1b065c34237bcd414d072157053\", +\"nIDGroupe\":0, \"saDateDebut\":\"20240105100000000\", \"saDateFin +\":\"20240105130000000\", \"saObjet\":\"\", \"saNote\":\"\", \"saCollaborateurs\":\"GUILLEMOT +Olivier\", \"saExtra\":\"\", \"bSelection\":false }, { \"saGuid\":\"d97d7dab765340bd89b82703eec8aba9\", +\"nIDGroupe\":0, \"saDateDebut\":\"2 +0240108080000000\", \"saDateFin\":\"20240108090000000\", \"saObjet\":\"\", \"saNote\":\"\", +\"saCollaborateurs\":\"GUILLEMOT Olivier\", \"saExtra\":\"\", \"bSelection\":false }, { +\"saGuid\":\"3485f3cca8644878bbba259fa551ce3a\", \"nIDGroupe\":0, \"saDateD +ebut\":\"20240419080000000\", \"saDateFin\":\"20240419160000000\", \"saObjet\":\"avec temps\", +\"saNote\":\"\", \"saCollaborateurs\":\"RODRIGUES Susana\", \"saExtra\":\"\", \"bSelection\":false }, { +\"saGuid\":\"c1599f79afc44bffba20c41914f66415\", \"nIDGr +oupe\":0, \"saDateDebut\":\"20240515110000000\", \"saDateFin\":\"20240515120000000\", \"saObjet\":\"\", +\"saNote\":\"\", \"saCollaborateurs\":\"BOURRAS Fr\\u00e9d\\u00e9ric\", \"saExtra\":\"\", +\"bSelection\":false }, { \"saGuid\":\" +3c28f3e590f848518d29ad +3e6333300e\", \"nIDGroupe\":0, \"saDateDebut\":\"20240708180000000\", +\"saDateFin\":\"20240709030000000\", \"saObjet\":\"\", \"saNote\":\"\", \"saCollaborateurs\":\"BOURRAS +Fr\\u00e9d\\u00e9ric\", \"saExtra\":\"\", \"bSelection\": +fals +e }, { \"saGuid\":\"f8b46b080ad5457db2da95fd2fd2bd45\", \"nIDGroupe\":0, +\"saDateDebut\":\"20240709110000000\", \"saDateFin\":\"20240709120000000\", \"saObjet\":\"cr 3\", +\"saNote\":\"\", \"saCollaborateurs\":\"RODRIGUES Susana\", \"saExtra\":\"\", \"bSel +ection\":false }, { \"saGuid\":\"de638438f42e43ada95fda7983208319\", \"nIDGroupe\":0, +\"saDateDebut\":\"20240709180000000\", \"saDateFin\":\"20240710030000000\", \"saObjet\":\"\", +\"saNote\":\"\", \"saCollaborateurs\":\"BOURRAS Fr\\u00e9d\\u00e9ric\", \"s +aExtra\":\"\", \"bSelection\":false }, { \"saGuid\":\"40171c644e2343978df3c38c6a605f1a\", +\"nIDGroupe\":0, \"saDateDebut\":\"20240826120000000\", \"saDateFin\":\"20240826130000000\", +\"saObjet\":\"\", \"saNote\":\"\", \"saCollaborateurs\":\"FOURNIER +Didie +r\", \"saExtra\":\"\", \"bSelection\":false }, { \"saGuid\":\"d32018a005324241a75bd15ce0f93a49\", +\"nIDGroupe\":0, \"saDateDebut\":\"20241001110000000\", \"saDateFin\":\"20241001120000000\", +\"saObjet\":\" +obj 2\", \"saNote\":\"\", \"s +aCollaborateurs\":\"RODRIGUES Susana\", \"saExtra\":\"\", \"bSelection\":false }, { +\"saGuid\":\"e54bdbc6815b47538c4e4f4ba856453b\", \"nIDGroupe\":60, +\"saDateDebut\":\"20241118120000000\", \"saDateFin\":\"20241118150000000\", \"saObjet\":\"\", +\"saNote\" +:\"\", \"saCollaborateurs\":\"RODRIGUES Susana\", \"saExtra\":\"\", \"bSelection\":false } ]" }, { +"Nom":"", "Rubrique":"$TABPHOTO$", "Description":"Tableau photos d'intervention", "Groupe":"Photos", +"Type":"Tableau", "Ordre":551, "MembreMob":"PHOTOS", "E +nvoiMob":1, "BD":0, "GroupeApp":"PHOTO_INTER", "ListeMembre":[ { "Nom":"Photo", +"Rubrique":"$TABPHOTO.IMAGE$", "Description":"", "Groupe":"", "Type":"", "Ordre":551, +"MembreMob":"DC_Nom", "EnvoiMob":1, "BD":1 }, { "Nom":"Date Photo", "Rubrique":"$TABPHOTO +.DATEIMAGE$", "Description":"", "Groupe":"", "Type":"", "Ordre":572, "MembreMob":"DC_DateFichier", +"EnvoiMob":1, "BD":1 }, { "Nom":"Note Photo", "Rubrique":"$TABPHOTO.NOTEIMAGE$", "Description":"", +"Groupe":"", "Type":"", "Ordre":593, +"MembreMob":"saNotes", "EnvoiMob":1, "BD":0 } ], "ListeDonnesMob":"[ { \"nDC_PKID\":35, +\"saNom\":\"D:\\\\Projets +Windev\\\\Batik\\\\Mobile\\\\Batik\\\\Exe\\\\Batik\\\\Doc\\\\D000002-6__20230922_113737.jpg\", +\"saExtra\":\"\", \"tblNotes\":[ ], \"saNote +s\":\"\", \"saDate\":\"20230922000000000\", \"bSelection\":true, \"nPosTable\":1 }, { \"nDC_PKID\":39, +\"saNom\":\"D:\\\\Projets +Windev\\\\Batik\\\\Mobile\\\\Batik\\\\Exe\\\\Batik\\\\Doc\\\\D000002-6__20230926_153638.jpg\", +\"saExtra\":\"\", \"tblNotes\": +[ ], \"saNotes\":\"\", \"saDate\":\"20230926000000000\", \"bSelection\":true, \"nPosTable\":2 }, { +\"nDC_PKID\":79, \"saNom\":\"D:\\\\Projets +Windev\\\\Batik\\\\Mobile\\\\Batik\\\\Exe\\\\Batik\\\\Doc\\\\P20240109114044750.1.jpg\", +\"saExtra\":\"\", \" +tbl +Notes\":[ ], \"saNotes\":\"\", \"saDate\":\"20240109000000000\", \"bSelection\":true, \"nPosTable\":3 +}, { \"nDC_PKID\":137, \"saNom\":\"D:\\\\Projets +Windev\\\\Batik\\\\Mobile\\\\Batik\\\\Exe\\\\Batik\\\\Doc\\\\P20241203152835982.1. +06/08/2026 Isis_BO 1412 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Procédures +jpg\", \"saExtra\":\"\", \"tblNotes\":[ ], \"saNotes\":\"\", \"saDate\":\"20241203000000000\", +\"bSelection\":false, \"nPosTable\":4 } ]", "ListeDonnesBD":"" } ] } +] +vInfoVariant est un Variant = JSONVersVariant(sInfotest) +stInfoRapport est un STJSONInfoRapportMob +Désérialise(stInfoRapport,sInfotest,psdJSON) +tabToutesRub est un tableau de STJSONMembreRubRapport +tbMotCleSpec est un tableau de STJSONMembreRubRapport +nPKID_Rapport est un entier sur 8 octets = stInfoRapport.nIdModele +CheminImg est une chaîne ANSI = ComplèteRep(sResRepTemp+stInfoRapport.nIdInter) +si nPKID_Rapport <= 0 alors +// mauvas reponse +fin +saRQRp est une chaîne ANSI=[ +SELECT * FROM ModeleRapportMob WHERE MRM_PKID = +] +saRQRp += nPKID_Rapport +sdRpest une Source de Données +HExécuteRequêteSQL(sdRp,gcnxBO,saRQRp) +MonDoc est un Document +si sdRp.MRM_Modele <> "" alors +MonDoc = sdRp.MRM_Modele +fin +si sdRp.MRM_RubMob <> "" alors +Désérialise(tbMotCleSpec,sdRp.MRM_RubMob,psdJSON) +fin +TestMob2(TermeRapport,tabToutesRub,MonDoc,tbMotCleSpec) +TraiteDocument(tabToutesRub,stInfoRapport.ListeMob,MonDoc,CheminImg) +SupprimerToutesRubDoc(tabToutesRub,MonDoc) +sANomDoc est une chaîne ANSI = CheminImg+DateHeureSys()+".pdf" +si DocVersPDF(MonDoc,sANomDoc) alors +bufRapportPDF est un Buffer = fChargeBuffer(sANomDoc) +si bufRapportPDF..Taille > 0 alors +// faire l'appel service +fin +fin +TT_CORPS = MonDoc +GR_Modif..Grisé = Faux +Procédure locale TestMob2 +procédure TestMob2(TermeRapport est un STJSONRubriqueRapport, tabToutesRub est un tableau de +STJSONMembreRubRapport, MonDoc est un Document, tbMotCleSpec est un tableau de STJSONMembreRubRapport) +k est un entier +ListeMembreNull est un tableau de STJSONListeMembre +tabRubNonTraite est un tableau de STJSONMembreRubRapport +pour i = 1 _à_ TermeRapport.ListeTerme..Occurrence +k = 0 +stUnTerme est un STJSONMembreRubRapport = TermeRapport.ListeTerme[i] +si stUnTerme.Rubrique <> "" alors +tabFragments est tableau de docFragment = DocRecherche(MonDoc,stUnTerme.Rubrique,MotComplet+ +SansCasse) +si tabFragments.Occurrence > 0 alors +pour b = 1 _à_ tabFragments.Occurrence +stUnTerme.Ordre = tabFragments[b].PositionFin +06/08/2026 Isis_BO 1413 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Procédures +k = TableauAjoute(tabRubNonTraite,stUnTerme) +tabRubNonTraite[k].ListeMembre= ListeMembreNull +// toujours car pas tous les termes son requis +fin +fin +si stUnTerme.ListeMembre..Occurrence > 0 _et_ k <= 0 alors +pour c = 1 _à_ stUnTerme.ListeMembre..Occurrence +tabFragment2 est tableau de docFragment = DocRecherche(MonDoc,stUnTerme.ListeMembre[c] +.Rubrique,MotComplet+SansCasse) +si tabFragment2.Occurrence > 0 alors +pour l = 1 _à_ tabFragment2.Occurrence +stUnTerme2 est un STJSONMembreRubRapport = stUnTerme.ListeMembre[c] +stUnTerme2.Ordre = tabFragment2[l].PositionFin +k = TableauAjoute(tabRubNonTraite,stUnTerme2) +tabRubNonTraite[k].ListeMembre= ListeMembreNull +fin +fin +fin +fin +fin +fin +TableauTrie(tabRubNonTraite,ttMembre+tccRespecteNumérique,"+Ordre") +sGroupe est une chaîne ANSI +n est un entier = -1 +h est un entier +pour tout stEle de tabRubNonTraite +si Contient(stEle:Rubrique, "$TAB") ou Contient(stEle:Rubrique, "$UN") alors +si sGroupe <> stEle:GroupeApp alors +n = TableauCherche(TermeRapport.ListeTerme,tcLinéaire,"GroupeApp;Type",stEle:GroupeApp, +"Tableau") +si n > 0 alors +stUnTermeGr est un STJSONMembreRubRapport = TermeRapport.ListeTerme[n] +stUnTermeGr.Ordre = stEle:Ordre +stUnTermeGr.ListeMembre = ListeMembreNull +TableauAjoute(stUnTermeGr:ListeMembre,stEle) +h = TableauAjoute(tabToutesRub,stUnTermeGr) +fin +sinon +si h > 0 alors +stUnTermeRec est un STJSONMembreRubRapport = tabToutesRub[h] +n = 0 +pour tout stElem2 de tabToutesRub[h]:ListeMembre +si stElem2.Rubrique = stEle:Rubrique alors +n += 1 +sortir +fin +fin +//TableauCherche(stUnTermeRec.ListeMembre,tcLinéairePremier,"Rubrique",stEle:Rubrique) +si n <= 0 alors +TableauAjoute(tabToutesRub[h].ListeMembre,stEle) +sinon +n = TableauCherche(TermeRapport.ListeTerme,tcLinéaire,"GroupeApp;Type",stEle: +GroupeApp,"Tableau") +si n > 0 alors +06/08/2026 Isis_BO 1414 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Procédures +stUnTermeGr est un STJSONMembreRubRapport = TermeRapport.ListeTerme[n] +stUnTermeGr.Ordre = stEle:Ordre +stUnTermeGr.ListeMembre = ListeMembreNull +TableauAjoute(stUnTermeGr:ListeMembre,stEle) +h = TableauAjoute(tabToutesRub,stUnTermeGr) +fin +fin +fin +fin +sGroupe = stEle:GroupeApp +sinon +TableauAjoute(tabToutesRub,stEle) +h = 0 +fin +fin +pour tout stEleCle de tbMotCleSpec +tabFragments est tableau de docFragment = DocRecherche(MonDoc,stEleCle.Rubrique,MotComplet+ +SansCasse) +si tabFragments.Occurrence > 0 alors +pour b = 1 _à_ tabFragments.Occurrence +stEleCle.Ordre = tabFragments[b].PositionFin +k = TableauAjoute(tabToutesRub,stEleCle) +tabToutesRub[k].ListeMembre = ListeMembreNull +// toujours car pas tous les termes son requis +fin +fin +fin +TableauTrie(tabToutesRub,ttMembre+tccRespecteNumérique,"+Ordre") +nIdInterest un entier sur 8 octets = 10 +saRQ est une chaîne = [ +SELECT +Intervention.IN_Titre AS IN_Titre, +Intervention.IN_RefInterne AS IN_RefInterne, +Intervention.CreationDate AS IN_CreationDate, +Intervention.IN_NumDevis, +Intervention.IN_DateDevis, +Intervention.IN_NumFacture, +Intervention.IN_DateFacture, +Intervention.IN_RefExterne AS IN_RefExterne, +Intervention.IN_Description AS IN_Description, +Intervention.IN_DureePrevue, +CONCAT(Collaborateur.CO_Nom, ' ', Collaborateur.CO_Prenom) AS IN_CO_Nom, +PA_TypeInter.PA_Libelle as IN_PA_Type, +Lieu.LI_CodeLieu AS LI_CodeLieu, +CONCAT(AdLieu.AD_Ligne_1, ' ',AdLieu.AD_Ligne_2, ' ',AdLieu.AD_Ligne_3, ' ',AdLieu.AD_Ligne_4, ' +',AdLieu.AD_Ligne_5, ' ',AdLieu.AD_CodePostal, ' ', AdLieu.AD_Ville, ' ') AS LI_Adresse, +Lieu.LI_CodeAcces AS LI_CodeAcces, +Client.CL_Nom AS CL_Nom, +CONCAT(AdClient.AD_Ligne_1, ' ',AdClient.AD_Ligne_2, ' ',AdClient.AD_Ligne_3, ' +',AdClient.AD_Ligne_4, ' ',AdClient.AD_Ligne_5, ' ', AdClient.AD_CodePostal, ' ',AdClient.AD_Ville) +AS AD_Presentation, +Societe.SO_Nom +FROM +Intervention LEFT OUTER JOIN (Lieu LEFT OUTER JOIN Adresse AdLieu ON Lieu.LI_IDAdresse = +AdLieu.AD_PKID ) ON Intervention.IN_IDLieu = Lieu.LI_PKID, +Intervention INNER JOIN +06/08/2026 Isis_BO 1415 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Procédures +(Dossier LEFT OUTER JOIN (Client LEFT OUTER JOIN Adresse AdClient ON Client.CL_IDAdressePrincipale += AdClient.AD_PKID) ON Dossier.DO_IDClient = Client.CL_PKID ) ON Intervention.IN_IDDossier = +Dossier.DO_PKID , +Intervention LEFT OUTER JOIN Collaborateur ON Intervention.IN_IDSuiviPar=Collaborateur.CO_PKID, +Intervention LEFT OUTER JOIN Societe ON Intervention.IN_IDSociete = Societe.SO_PKID, +Intervention LEFT OUTER JOIN ParametreMetier PA_TypeInter ON Intervention.IN_IDTypeIntervention = +PA_TypeInter.PA_PKID +WHERE +IN_PKID={pIdInter} +] +saRQ=Remplace(saRQ,"{pIdInter}",nIdInter ) +saRqCR est une chaîne ANSI = [ +SELECT +CompteRendu.CR_PKID, +CompteRendu.GUID AS CR_GUID, +CompteRendu.CR_DateHeureDebut, +CompteRendu.CR_DateHeureFin, +CompteRendu.CR_NoteCollaborateur, +CompteRendu.CR_NomSignataire, +CompteRendu.CR_NomSignataireTech, +CompteRendu.CR_NoteSignataire, +CompteRendu.CR_DevisConforme, +CompteRendu.CR_AvecReserve, +CompteRendu.CR_ReserveCommentaire, +CompteRendu.CR_DateHeureSignature, +CompteRendu.CR_Signature, +CompteRendu.CR_SignatureTech, +CompteRendu.CR_IDTypeSignataire, +ParametreMetier.PA_Libelle AS CR_PA_Type +FROM CompteRendu +INNER JOIN Planning_RDV ON PL_PKID = CR_IDRdv +LEFT OUTER JOIN ParametreMetier ON CompteRendu.CR_IDTypeSignataire = ParametreMetier.PA_PKID +WHERE +Planning_RDV.Archive=0 +AND Planning_RDV.PL_IDIntervention = {p_IdInter} +] +saRqCR = Remplace(saRqCR,"{p_IdInter}",nIdInter) +saRQRDV est une chaîne ANSI = [ +SELECT +Planning_RDV.GUID, +Planning_RDV.PL_DateDebut, +Planning_RDV.PL_DateFin, +Planning_RDV.PL_Objet, +Planning_RDV.PL_Description, +Planning_RDV.PL_IDGroupe, +CONCAT(Collaborateur.CO_Nom, ' ', Collaborateur.CO_Prenom) AS PL_CO_NOM +FROM Planning_RDV +LEFT OUTER JOIN Collaborateur ON Planning_RDV.PL_IDCollaborateur = Collaborateur.CO_PKID +WHERE +Planning_RDV.Archive=0 +AND Planning_RDV.PL_IDIntervention = {p_IdInter} +ORDER BY Planning_RDV.PL_DateDebut +] +saRQRDV = Remplace(saRQRDV,"{p_IdInter}",nIdInter) +sdRReqInter est une Source de Données +sdRReqCRest une Source de Données +06/08/2026 Isis_BO 1416 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Procédures +sdReqRDVest une Source de Données +y est un entier +y = TableauCherche(tabToutesRub,tcLinéaire,"GroupeApp","INTER") +si y > 0 _et_ pas HExécuteRequêteSQL(sdRReqInter,hRequêteDéfaut,saRQ) alors +fin +y = 0 +y = TableauCherche(tabToutesRub,tcLinéaire,"GroupeApp","CR_INTER") +si y > 0 _et_ pas HExécuteRequêteSQL(sdRReqCR,hRequêteDéfaut,saRqCR) alors +fin +y = 0 +y = TableauCherche(tabToutesRub,tcLinéaire,"GroupeApp","RDV_INTER") +si pas HExécuteRequêteSQL(sdReqRDV,hRequêteDéfaut,saRQRDV) alors +fin +pour tout stEle de tabToutesRub +si stEle:Type = "Tableau" ou stEle:GroupeApp = "INTER" alors +selon stEle:GroupeApp +cas "INTER" +quand exception dans +si "IN_Description" = stEle.MembreMob alors +stEle:ListeDonnesBD = RTFVersTexte({sdRReqInter+"."+stEle.MembreMob}) +sinon +stEle:ListeDonnesBD = {sdRReqInter+"."+stEle.MembreMob} +fin +faire +stEle:ListeDonnesBD = "" +fin +cas "CR_INTER" +tbCrest un tableau de ST_CR_Rp +stUnCr est un ST_CR_Rp +pour tout sdRReqCR +stUnCr.saGuidCR = sdRReqCR.CR_GUID +stUnCr.saDebut = sdRReqCR.CR_DateHeureDebut +stUnCr.saFin = sdRReqCR.CR_DateHeureFin +stUnCr.saSignataire = sdRReqCR.cR_NomSignataire +stUnCr.saNomCollaborateur = sdRReqCR.CR_NomSignataireTech +TableauAjoute(tbCr,stUnCr) +fin +sJson est une chaîne ANSI +Sérialise(tbCr,sJson,psdJSON) +stEle:ListeDonnesBD = sJson +cas "RDV_INTER" +bDouble est un booléen +tbRDV est un tableau de ST_RDV_Rp +stUnRDV est un ST_RDV_Rp +pour tout sdReqRDV +stUnRDV:saGuid = sdReqRDV.GUID +stUnRDV:nIDGroupe = sdReqRDV.PL_IDGroupe +stUnRDV:saCollaborateurs = sdReqRDV.PL_CO_NOM +stUnRDV:saDateDebut = sdReqRDV.PL_DateDebut +stUnRDV:saDateFin = sdReqRDV.PL_DateFin +stUnRDV:saObjet = sdReqRDV.PL_Objet +06/08/2026 Isis_BO 1417 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Procédures +stUnRDV:saNote = RTFVersTexte(sdReqRDV.PL_Description) +bDouble = Faux +si sdReqRDV.PL_IDGroupe > 0 alors +pour tout stRDV de tbRDV +si stRDV:nIDGroupe = sdReqRDV.PL_IDGroupe alors +stRDV:saCollaborateurs += RC + stUnRDV:saCollaborateurs +bDouble = Vrai +sortir +fin +fin +si pas bDouble alors +TableauAjoute(tbRDV,stUnRDV) +fin +sinon +TableauAjoute(tbRDV,stUnRDV) +fin +fin +sJson est une chaîne ANSI +Sérialise(tbRDV,sJson,psdJSON) +stEle:ListeDonnesBD = sJson +autre cas +fin +fin +fin +TableauTrie(tabToutesRub,ttMembre+tccRespecteNumérique,"+Ordre") +Procédure locale TraiteCrRp +procédure TraiteCrRp(unTerme est un STJSONMembreRubRapport,MonDoc est un Document, nIMin est un entier, +vInfoVariante est un Variant) +saGUIDS est une chaîne ANSI +pour tout UnEle de vInfoVariante +si UnEle.bSelection alors +saGUIDS += [" , "]+"'"+UnEle.saGuidCR +"'" +fin +fin +si saGUIDS = "" alors +renvoyer Faux +fin +saRqCR est une chaîne ANSI = [ +SELECT +CompteRendu.CR_PKID, +CompteRendu.GUID AS CR_GUID, +CompteRendu.CR_DateHeureDebut, +CompteRendu.CR_DateHeureFin, +CompteRendu.CR_NoteCollaborateur, +CompteRendu.CR_NomSignataire, +CompteRendu.CR_NomSignataireTech, +CompteRendu.CR_NoteSignataire, +CompteRendu.CR_DevisConforme, +CompteRendu.CR_AvecReserve, +06/08/2026 Isis_BO 1418 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Procédures +CompteRendu.CR_ReserveCommentaire, +CompteRendu.CR_DateHeureSignature, +CompteRendu.CR_Signature, +CompteRendu.CR_SignatureTech, +CompteRendu.CR_IDTypeSignataire +FROM CompteRendu +WHERE +CR_GUID IN ({p_GUIDS}) +] +saRqCR = Remplace(saRqCR,"{p_GUIDS}",Remplace(saGUIDS, RC,"")) +sdRReqCRest une Source de Données +si pas HExécuteRequêteSQL(sdRReqCR,hRequêteDéfaut,saRqCR) alors +fin +pour tout stTerme de unTerme.ListeMembre +tabFragments est un tableau de docFragments = DocRecherche(MonDoc,stTerme.Rubrique,MotComplet+ +SansCasse) +si tabFragments..Occurrence > 0 alors +nColonne est un entier = tabFragments[1].Elément[1].Cellule..IndiceColonne +nLigne est un entier = tabFragments[1].Elément[1].Cellule..IndiceLigne +nIMax est un entier = nIMin +soit para <- tabFragments[1]..Paragraphe[1] +si para.Tableau = Null alors +renvoyer Faux +fin +pour tout sdRReqCR +satxt est une chaîne ANSI +saInfoV est une chaîne ANSI +si "$TABCR.EXTRA$" = stTerme.Rubrique alors +pour tout UnEle de vInfoVariante +si UnEle.saGuidCR = sdRReqCR.CR_GUID alors +satxt = "UnEle."+stTerme:MembreMob +saInfoV = {satxt} +fin +fin +sinon +satxt = "sdRReqCR."+stTerme:MembreMob +saInfoV = {satxt} +fin +si stTerme:TypeMembre = "ChpImage" alors +imgBuf est un Buffer = {satxt} +si imgBuf..Taille > 0 alors +nLargPixCol est un entier = para..Tableau..Colonnes[nColonne]..LargeurMillimètres* +NBPixelesXMilimetres +para..Tableau..Cellules[nIMax,nColonne]..Contenu..Texte ="" +elt est un docElément <- DonneImgTableauRp(imgBuf,nLargPixCol) +cell est un docCellule <- para..Tableau..Cellules[nIMax,nColonne] +cell2 est un docLigne <- para..Tableau..Lignes[nIMax] +cell2.Hauteur = elt..Image..Hauteur +cell3 est un docColonne <- para..Tableau..Colonnes[nColonne] +cell3..LargeurMillimètres = elt.Image..Largeur +DocInsère(MonDoc,cell..Contenu..PositionDébut, elt) +sinon +para..Tableau..Cellules[nIMax,nColonne]..Contenu..Texte = "" +06/08/2026 Isis_BO 1419 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Procédures +fin +sinon +para..Tableau..Cellules[nIMax,nColonne]..Contenu..Texte = TraitementSelonType(stTerme, +saInfoV) +fin +nIMax += 1 +si Contient(unTerme:Rubrique,"$UN") alors +sortir +fin +fin +fin +fin +Procédure locale TraiteDocument +procédure TraiteDocument(tabToutesRub est un tableau de STJSONMembreRubRapport, ListeMob est un tableau +de STJSONMembreRubRapport,MonDoc est un Document,CheminImg est une chaîne ANSI ) +b, c sont des entiers +sAInfoRemp est une chaîne ANSI +TableauTrie(tabToutesRub,ttMembre+tccRespecteNumérique,"+Rubrique;+Ordre") +sNomRub est une chaîne ANSI +pour i = 1 _à_ tabToutesRub..Occurrence +unTerme est un STJSONMembreRubRapport = tabToutesRub[i] +sAInfoRemp = "" +si sNomRub <> unTerme.Rubrique alors +// moyen de savoir si la rubrique a été déjà traite, une rubrique peuvent être pressent plusieurs +fois dans un modèle , +// toutes les rubriques seront traites dans la variable tabfragments +si unTerme:Type = "Tableau" +b = 0 +pour c = 1 _à_ tabToutesRub..Occurrence +si unTerme.Rubrique = tabToutesRub[c].Rubrique _et_ tabToutesRub[c].ListeMembre.. +Occurrence > 0 alors +tabFragments est tableau de docFragment = DocRecherche(MonDoc,tabToutesRub[c]. +ListeMembre[1].Rubrique,MotComplet+SansCasse) +si tabFragments.Occurrence > 0 alors +TraiteLigneTableau(ListeMob,tabToutesRub[c],b, MonDoc,CheminImg) +b+= 1 +fin +fin +fin +sinon +tabFragments est tableau de docFragment = DocRecherche(MonDoc,unTerme.Rubrique,MotComplet+ +SansCasse) +si tabFragments..Occurrence > 0 alors +si tabFragments.Occurrence > 1 alors +b = 0 +pour c = 1 _à_ tabFragments.Occurrence +sAInfoRemp = RechercheDonnesSimple(ListeMob,unTerme,b) +tabFragments[c].Texte= sAInfoRemp +b+= 1 +fin +06/08/2026 Isis_BO 1420 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Procédures +sinon +sAInfoRemp = RechercheDonnesSimple(ListeMob,unTerme,0) +DocRemplace(MonDoc, unTerme:Rubrique, sAInfoRemp,MotComplet+SansCasse) +fin +fin +fin +fin +sNomRub= unTerme.Rubrique +fin +Procédure locale TraiteLigneTableau +procédure TraiteLigneTableau(ListeMob est un tableau de STJSONMembreRubRapport, unTerme est un +STJSONMembreRubRapport, nindice est un entier, MonDoc est un Document,CheminImg est une chaîne ANSI) +sADonnes est une chaîne ANSI +b est un entier +nColonne, nLigne, nIMax, nIMin, h sont des entiers +bUnAjout est un booléen +tabFragments est tableau de docFragment +TableauTrie(unTerme.ListeMembre,ttMembre+tccRespecteNumérique,"+Ordre") +si unTerme:EnvoiMob alors +si nindice <= 0 alors +b = TableauCherche(ListeMob,tcLinéaire,"Rubrique;",unTerme:Rubrique, b) +sinon +// moulinette pour trouver les données correspondants, dans le cas ou le même tableau de +données est demande +tantque h < (nindice+1) +b += 1 +b = TableauCherche(ListeMob,tcLinéaire,"Rubrique;",unTerme:Rubrique, b) +h += 1 +fin +fin +fin +si b > 0 alors +sADonnes = ListeMob[b].ListeDonnesMob +fin +si sADonnes <> "" _et_ unTerme:Type = "Tableau" alors +vInfoVariante est un Variant = JSONVersVariant(sADonnes) +// on commence pour ajouter le nombre de ligne dans le tableau +si unTerme.ListeMembre..Occurrence > 0 alors +tabFragments = DocRecherche(MonDoc,unTerme.ListeMembre[1].Rubrique,MotComplet+SansCasse) +si tabFragments..Occurrence <= 0 _et_ unTerme.ListeMembre..Occurrence > 1 alors +tabFragments = DocRecherche(MonDoc,unTerme.ListeMembre[2].Rubrique,MotComplet+SansCasse) +fin +si tabFragments..Occurrence > 0 alors +soit para <- tabFragments[1]..Paragraphe[1] +si para.Tableau = Null alors +bUnAjout = Faux +sinon +bUnAjout = Vrai +fin +si bUnAjout alors +nColonne = tabFragments[1].Elément[1].Cellule..IndiceColonne +nLigne = tabFragments[1].Elément[1].Cellule..IndiceLigne +nIMax = nLigne +06/08/2026 Isis_BO 1421 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Procédures +nIMin = nLigne +pour tout Ele de vInfoVariante +si Ele.bselection alors +si Contient(unTerme:Rubrique,"$UN") alors +sortir +fin +si nIMax > nLigne alors +Ajoute(para.Tableau.Lignes) +fin +nIMax += 1 +fin +fin +fin +fin +fin +//Âpres l'ajout des toutes les lignes un ajoute l'information +si bUnAjout alors +RempliLigneSimple(unTerme,nIMin,MonDoc,vInfoVariante,CheminImg) +sinon +RemplirLigneSansTbRapport(unTerme, MonDoc,vInfoVariante,CheminImg) +fin +fin +Procédure locale TraitementSelonType +procédure TraitementSelonType(stMembre est un STJSONListeMembre, sADonnes est une chaîne ANSI) +sTexte est une chaîne = " " +dhUnDateHeure est une DateHeure +bUnBoolean est un booléen +sType est une chaîne ANSI = stMembre:TypeMembre +si sType = "" alors +sType = stMembre:Type +fin +si sADonnes..Taille < 8 _et_ (stMembre:TypeMembre = "ChpSimpleDate" ou stMembre:TypeMembre = +"ChpSimpleDateHeure") alors +renvoyer sTexte +fin +quand exception dans +selon sType +cas "ChpSimpleDate" : dhUnDateHeure = sADonnes +cas "ChpSimpleDateHeure": dhUnDateHeure = sADonnes +cas "ChpSimpleBooleen" : bUnBoolean = sADonnes +fin +selon sType +cas "ChpSimpleChaine" : sTexte=sADonnes +cas "ChpSimpleRTF" : sTexte=RTFVersTexte(sADonnes) +cas "ChpSimpleDate" : sTexte=DateVersChaîne(dhUnDateHeure,"JJ/MM/AAAA") +cas "ChpSimpleDateHeure": sTexte=DateVersChaîne(dhUnDateHeure,"JJ/MM/AAAA HH:mm") +cas "ChpSimpleReel" : sTexte=sADonnes +cas "ChpSimpleBooleen" : sTexte=bUnBoolean=Vrai ? "Oui" sinon "Non" +fin +renvoyer sTexte +faire +06/08/2026 Isis_BO 1422 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Rapport_Mobile › Procédures +renvoyer sTexte +fin +Procédure locale VisibleBO +procédure VisibleBO() +h est un entier +pour i = 1 _à_ TermeRapportOrig.ListeTerme..Occurrence +stUnTerme est un STJSONListTerme = TermeRapportOrig.ListeTerme[i] +si stUnTerme.Rubrique <> "" alors +si pas stUnTerme.InvisibleBO alors +si stUnTerme.Type = "Tableau" alors +h = 0 +si pas stUnTerme.InvisibleBO alors +pour b = 1 _à_ TermeRapportOrig.ListeTerme[i].ListeMembre..Occurrence +h += 1 +si pas TermeRapportOrig.ListeTerme[i].ListeMembre[b].EnvoiMob alors +TableauSupprime(stUnTerme.ListeMembre,h) +h -= 1 +fin +fin +TableauAjoute(TermeRapport.ListeTerme, stUnTerme) +fin +sinon +TableauAjoute(TermeRapport.ListeTerme, stUnTerme) +fin +fin +fin +fin +Procédure locale ConfigureAffichage ( SC_BoutonsSysteme ) +procédure ConfigureAffichage() +BTN_AGRANDIR..Visible = FenTaille(MaFenêtre) <> TailleMaxi +BTN_RESTAURER..Visible = pas BTN_AGRANDIR..Visible +06/08/2026 Isis_BO 1423 + +Partie 3 › Fenêtre WINDEV › FEN_AGD_PL › Image +FEN_AGD_PL +Image +FEN_AGD_PL +Informations générales +FEN_AGD_PL +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_AGD_PL.wdw +Créé par SMR +Date de création 27/03/2025 11:41:05 +Dernière modification par SMR +Date dernière modification 23/04/2025 08:10:25 +06/08/2026 Isis_BO 1424 + +Partie 3 › Fenêtre WINDEV › FEN_AGD_PL › Informations générales +| Titre | | FR: Agenda | | | | +| ------------------------ | ---------- | ----------------------------- | ------- | --------------- | --- | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 1403 | 631 | +| Position X | Position Y | | Largeur | Hauteur | | +| 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 | | | | | | +| 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 | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| Anim. Fermeture | | 0 | | | | +| Durée Anim. Ouverture | | 100 | | | | +| Durée Anim. Fermeture | | 50 | | | | +| Adapte Taille contenu | | Non | | | | +| 06/08/2026 | | | Isis_BO | | 1425 | + +Partie 3 › Fenêtre WINDEV › FEN_AGD_PL › Informations générales +| Assombri quand inactif Oui | | | | | | | +| -------------------------- | --- | --- | --- | --- | --- | --- | +Déplace souris sur bouton par +Non +| Compact. barres outils Non | | | | | | | +| -------------------------- | --- | --- | --- | --- | --- | --- | +Image poignée D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +Statistiques de la fenêtre +Fenêtre interne 1 +Nombre d'éléments dans la fenêtre : 1 +FEN_AGD_PL +Informations sur les champs +Fenêtre : FEN_AGD_PL +Fenêtre interne +| | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| CFI_Agenda | 6 | 6 1389 | 582 | 0 | Actif | | +| ---------- | --- | ------ | --- | --- | ----- | --- | +Fenêtre : FEN_AGD_PL +Fenêtre interne : CFI_Agenda +| 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 | | | | | | | +| Ancrage au contenu | | | | | | | +| Numéro aide 0 | | | | | | | +| Ascenseur auto. Non | | | | | | | +| Alignement sur l'axe secondaire défini par le champ flexbox (auto) | | | | | | | +| Facteur de rétrécissement 0 | | | | | | | +| 06/08/2026 | | Isis_BO | | | | 1426 | + +Partie 3 › Fenêtre WINDEV › FEN_AGD_PL › Informations sur les champs +Facteur d'agrandissement 0 +Swipe Non +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 21 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_AGD_PL +Messages multilingues +06/08/2026 Isis_BO 1427 +¹ +.ssem +°N +Message +2000 FR: Semaine %1 +¹ N° mess. : numéro de message. +FEN_AGD_PL +Code +Déclarations globales de FEN_AGD_PL +procédure FEN_AGD_PL() +ChangeFenêtreSource(CFI_Agenda,FI_AgendaPlanning) +//SELON gpclFicheUtilisateurEnCours:p_PrefPlanningAgenda:m_sValeur +// CAS "Planning" +// ChangeFenêtreSource(CFI_Agenda,FI_AgendaPlanning) +// CAS "Agenda" +// ChangeFenêtreSource(CFI_Agenda,FI_Agenda) +//FIN + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Image +FEN_Choix_Clb_AGD +Image +FEN_Choix_Clb_AGD +Informations générales +FEN_Choix_Clb_AGD +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Choix_Clb_AGD.wdw +Créé par SMR +Date de création 27/03/2025 15:11:00 +Dernière modification par SMR +06/08/2026 Isis_BO 1428 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations générales +| Date dernière modification | | 29/04/2025 17:48:06 | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Titre | | FR: Choix collaborateur | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1243 Hauteur | 655 | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| 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 | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| Anim. Fermeture | | 0 | | | | +| Durée Anim. Ouverture | | 100 | | | | +| Durée Anim. Fermeture | | 50 | | | | +| 06/08/2026 | | | Isis_BO | | 1429 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations générales +| Adapte Taille contenu | | Non | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | +| Assombri quand inactif | | Oui | | | | | +| Déplace souris sur bouton par | | Non | | | | | +| Compact. barres outils | | Non | | | | | +Image poignée D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +Statistiques de la fenêtre +| | Libellé | | 2 | Bouton | | 8 | +| --- | -------------- | --- | --- | ------------------- | --- | --- | +| | Sélecteur | | 1 | Image | | 9 | +| | Table | | 2 | Arbre | | 1 | +| | Superchamp | | 1 | Option de sélecteur | | 2 | +| | Option de menu | | 3 | Colonne de table | | 9 | +Nombre d'éléments dans la fenêtre : 38 +FEN_Choix_Clb_AGD +Informations sur les champs +Fenêtre : FEN_Choix_Clb_AGD +Bouton +BAT ehcuoT notuob epyT +| | | X noitisoP | | | laitini tatE | | +| --- | --- | ---------- | --- | --- | ------------ | --- | +Y noitisoP +| | | | ruegraL | ruetuaH | | | +| --- | --- | --- | ------- | ------- | --- | --- | +elbisiV +nalP +| BTN_Fermer | | 1211 | 6 24 | 24 0 | Actif | Abandon | +| ------------ | --- | ---- | ---- | ---- | ----- | ------- | +| BTN_valider1 | | 1177 | 6 24 | 24 0 | Actif | Normal | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP | Y noitisoP | | laitini tatE | sucof cevA | +| --- | --- | ---------- | ---------- | --- | ------------ | ---------- | +ruetuaH cilc cevA +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| IMG_Advertencia | | -201 | 57 33 | 27 0 | Actif | | +| ------------------ | --- | ---- | ------- | ---- | ----- | ---- | +| IMG_Cercle_couleur | | -210 | 6 41 | 38 0 | Grisé | | +| IMG_EquipeAGD | | -109 | -20 16 | 18 0 | Actif | | +| IMG_Femme | | -208 | -23 18 | 18 0 | Actif | | +| IMG_Homme | | -184 | -23 16 | 18 0 | Actif | | +| IMG_Pregunta | | 1130 | 3 30 | 30 0 | Actif | | +| 06/08/2026 | | | Isis_BO | | | 1430 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------- | ---------- | +| | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_SocieteAGD | -136 | -19 | 16 | 18 | 0 | Actif | | | +| -------------- | ---- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_Tous | -157 | -8 | 16 | 18 | 0 | Actif | | | +Superchamp +BAT ehcuoT +laitini tatE +| | | X noitisoP Y noitisoP | | | | | | | +| --- | --- | --------------------- | --- | ------- | ------- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_Pref | | 6 | 43 | 1218 | 599 | 0 | Actif | | +| ------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : SC_Pref +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Libellé | 9 | 45 220 | 25 | 0 | Actif | Gauche | Haut | | +| ----------- | --- | ------ | --- | --- | ----- | ------ | ---- | --- | +| LIB_NomPref | 213 | 76 994 | 21 | 0 | Actif | Gauche | Bas | | +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| BTN_ColbHaut | 1176 | 334 | 35 | 29 | 0 | Actif | | Validati | +| -------------- | ---- | --- | ------- | --- | --- | ----- | --- | -------- | +| BTN_ColbMoins1 | 1176 | 369 | 35 | 29 | 0 | Actif | | Validati | +| BTN_EqpMoins | 1176 | 299 | 35 | 29 | 0 | Actif | | Validati | +| BTN_EqpPlus | 600 | 334 | 35 | 29 | 0 | Actif | | Validati | +| BTN_ListePlus | 169 | 103 | 35 | 29 | 0 | Actif | | Validati | +| BTN_SupListe | 125 | 103 | 35 | 29 | 0 | Actif | | Validati | +| 06/08/2026 | | | Isis_BO | | | | | 1431 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +Sélecteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | staté siorT | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | --- | --- | ----------- | +ruetuaH +| | | | | ruegraL | | | elbisiV | | | | | | +| --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | --- | --- | --- | +nalP +| SEL_ChoixVisuel | | 672 | 108 | 383 | 24 | 0 | | Actif | | | 2 | | +| --------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | +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_Liste | 9 138 | 195 496 | 0 | Actif | | | | | | | | 3 | +| ----------- | ------- | ------- | --- | ----- | ------ | --- | --- | --- | --- | --- | --- | --- | +| TABLE_Sel | 672 149 | 477 488 | 0 | Actif | Mémoir | | | | | | | 3 | +Arbre +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ARBRE_Colb | | | 213 | 103 | 378 | | 538 | | 0 | | Actif | | +| ---------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Table : SC_Pref.TABLE_Liste +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_NumListe | | 244 | Grisé | | | Droite | | Centre | Numériq | | | | +| COL_Defaut | | 53 | Actif | | | Centre | | Centre | | | | | +| COL_Pref | | 123 | Actif | | | Gauche | | Centre | Texte | | | | +| 06/08/2026 | | | | Isis_BO | | | | | | | | 1432 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +Table : SC_Pref.TABLE_Sel +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | laitini tatE | sucof cevA | +| --- | ---------- | ---------- | --- | --- | ------------ | ---------- | +ruetuaH cilc cevA +ruegraL +elbisiV +nalP +| IMG_Couleur | 955 | 172 | 24 23 | 0 | Actif | | +| ----------- | --- | --- | ----- | --- | ----- | --- | +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_IdColb | 102 | Grisé | | Droite Centre | Numériq | | +| COL_IdEq | 77 | Grisé | | Droite Centre | Numériq | | +| COL_Nom | 250 | Actif | | Gauche Centre | Texte | | +| COL_Ordre | 61 | affichag | | Centre Centre | Numériq | | +| COL_Couleur | 100 | Actif | | Gauche Centre | | | +| COL_CouleurHTML | 100 | Grisé | | Gauche Centre | Texte | | +Fenêtre : FEN_Choix_Clb_AGD +Bouton : BTN_Fermer +| 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 | | | | | | | +| 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 | | | | | | +| 06/08/2026 | | | Isis_BO | | | 1433 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 : BTN_valider1 +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +06/08/2026 Isis_BO 1434 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +Image : IMG_Advertencia +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\advertencia.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1435 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +Image : IMG_Cercle_couleur +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\circulo-de-color.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_EquipeAGD +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\EquipeAGD.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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 +06/08/2026 Isis_BO 1436 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Femme +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\femme.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Non +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +06/08/2026 Isis_BO 1437 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Homme +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\homme.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Non +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Pregunta +Libellé FR: FAQ +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\pregunta.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Isis_BO 1438 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +Cadrage vert. Haut +Cadrage fonctions gXXX Tenir compte du cadrage +Bulle d'aide FR: FAQ +Nouvelles fonctionnalités +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. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_SocieteAGD +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\societeAGD.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +Mire visible Oui +Zoom par double taps Oui +06/08/2026 Isis_BO 1439 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Tous +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\tous.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1440 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +Superchamp : SC_Pref +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 1216 +Hauteur externe 597 +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 Largeur et hauteur +Taux anc. droite 270 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_Pref +Arbre : SC_Pref.ARBRE_Colb +Libellé FR: &Arbre +Groupe GR_ChoixListe +Ordre navigation 3 +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 +Hauteur ligne (sans marges) 18 +Marge en haut 2 +Marge en bas 2 +Marge à gauche 1 +Marge à droite 3 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +06/08/2026 Isis_BO 1441 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +Opacité 100 +Autorise ChangeGabarit Oui +Multiligne Non +Trois états Oui +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 +Transparence Magenta transparent +Multisélection Non +Bulle ascenseur Oui +Avec saisie Non +Avec coche Non +Texte Markdown Non +Mode menu ctx. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Remplissage différé Oui +Largeur image dossier -1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite, largeur et hauteur +Taux anc. droite 250 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +Bouton : SC_Pref.BTN_ColbHaut +Groupe GR_ChoixListe,GR_BTN +Ordre navigation 9 +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 +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 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 1442 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +Facteur d'agrandissement 0 +Type flèche +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\flecheHaut.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : SC_Pref.BTN_ColbMoins1 +Groupe GR_ChoixListe,GR_BTN +Ordre navigation 10 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\flecheBas.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +06/08/2026 Isis_BO 1443 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : SC_Pref.BTN_EqpMoins +Groupe GR_ChoixListe +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\poubelle.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1444 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +Bouton : SC_Pref.BTN_EqpPlus +Groupe GR_ChoixListe +Ordre navigation 8 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\fleche.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1445 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +Bouton : SC_Pref.BTN_ListePlus +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\plus.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 250 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1446 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +Bouton : SC_Pref.BTN_SupListe +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\poubelle.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 240 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1447 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +Libellé : SC_Pref.LIB_Libellé +Libellé FR: Sélection des collaborateurs +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : SC_Pref.LIB_NomPref +Groupe GR_ChoixListe +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 +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 +06/08/2026 Isis_BO 1448 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 550 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Sélecteur : SC_Pref.SEL_ChoixVisuel +Libellé FR: &Sélecteur 2 colonnes +Valeur initiale 1 +Groupe GR_ChoixListe +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec ValeurRenvoyée Oui +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +06/08/2026 Isis_BO 1449 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +Texte Markdown Non +Mode menu ctx. +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 6 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 550 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : SC_Pref.TABLE_Liste +Libellé FR: Table +Ordre navigation 5 +Curseur survol 0 +Mode Loupe Filtre +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) 16 +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 +06/08/2026 Isis_BO 1450 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +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. +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 0 Taux anc. largeur 250 Taux anc. hauteur 1000 +Table : SC_Pref.TABLE_Sel +Libellé FR: Table +Groupe GR_ChoixListe +Ordre navigation 6 +Curseur survol 0 +Mode Loupe Filtre +UI par l'utilisateur Selon fenêtre +Menu contextuel MENU_SansNom1 +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 0 +Hauteur ligne (sans marges) 21 +Marge en haut 2 +Marge en bas 2 +Marge à gauche 5 +Marge à droite 3 +06/08/2026 Isis_BO 1451 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Sélection multiple Non +Bulle sur tronqués Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Toujours visible +Mode de sélection Sélection simple +Sélect. colonnes Sans sélection +Sélect. cellules Sans sélection +Ajout éléments supplémentaires Non +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. A la fin +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Ajout/Suppr. dans variable Oui +Synchro HFSQL C/S Jamais +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite, largeur et hauteur +Taux anc. droite 550 Taux anc. bas 1000 Taux anc. largeur 400 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1452 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +Table : SC_Pref.TABLE_Liste +Colonne de table : SC_Pref.TABLE_Liste.COL_NumListe (1) +Titre FR: NumListe +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 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_Pref.TABLE_Liste.COL_Defaut (2) +Titre FR: Défaut +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +06/08/2026 Isis_BO 1453 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_Pref.TABLE_Liste.COL_Pref (3) +Titre FR: Préférence +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1454 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +Table : SC_Pref.TABLE_Sel +Colonne de table : SC_Pref.TABLE_Sel.COL_IdColb (1) +Titre FR: IdColb +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_Pref.TABLE_Sel.COL_IdEq (2) +Titre FR: IdEq +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 +06/08/2026 Isis_BO 1455 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 99 999 999 999 999 999 999 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_Pref.TABLE_Sel.COL_Nom (3) +Titre FR: Collaborateurs +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Oui +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1456 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +Colonne de table : SC_Pref.TABLE_Sel.COL_Ordre (4) +Titre FR: Ordre +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: 9 999 999 999 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_Pref.TABLE_Sel.COL_Couleur (5) +Titre FR: Couleur +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +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 +06/08/2026 Isis_BO 1457 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Image : SC_Pref.TABLE_Sel.COL_Couleur.IMG_Couleur +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1458 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les champs +Colonne de table : SC_Pref.TABLE_Sel.COL_CouleurHTML (6) +Titre FR: CouleurHTML +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FEN_Choix_Clb_AGD +Informations sur les menus +Menu contextuel : 'MENU_SansNom1' +06/08/2026 Isis_BO 1459 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Informations sur les menus +Nom des options +OPT_Monter (2) +OPT_Bas (3) +Libellé des options : Français +FEN_Choix_Clb_AGD +Code +Déclarations globales de FEN_Choix_Clb_AGD +procédure FEN_Choix_Clb_AGD() +gstPrefUserAGD est un ST_ChoixAGD +gnIdMad est un entier sur 8 octets = gpclListeCivilite.RechercheEtDonneIdDepuisValeur("2") +gtaNomColb est un tableau associatif de chaînes ANSI +gtaCheminInfo est un tableau associatif de chaînes ANSI +gCouleurEq est une Couleur = RVB(255, 153, 102) +gUnCouleur est un Couleur +constante +nType_Eq = 1 +nType_Colb = 2 +fin +GR_ChoixListe..Visible = Faux +gnLigneSel est un entier +gbModif est un booléen +Fin d'initialisation de FEN_Choix_Clb_AGD +PrefUser() +FiltreColbs() +Fermeture de FEN_Choix_Clb_AGD +renvoyer gbModif +FEN_Choix_Clb_AGD +Code des champs +Clic sur BTN_Fermer +06/08/2026 Isis_BO 1460 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Code des champs +Ferme() +Clic sur BTN_valider1 +si gnLigneSel > 0 _et_ TABLE_Liste..Occurrence >= gnLigneSel alors +MaJPref() // Enregistrer le modifs dans la variable temp +fin +bufResulBuf est un Buffer +bParDefaut est un booléen +si gstPrefUserAGD <> Null alors +// Remettre les Id dans l'ordre afin d'eviter d'avoir de doubler qui peuvent causer problemes +pour tout stListe, saCle de gstPrefUserAGD.tabListe +stListe.nId = Val(saCle) +si stListe.bParDefaut alors +bParDefaut = Vrai +fin +fin +si pas bParDefaut alors +si OuiNon("Aucune liste n'a été choisie pour être la liste par défaut. Voulez-vous continuer ?" +) = Non alors +retour +fin +fin +Sérialise(gstPrefUserAGD,bufResulBuf,psdJSON) +fin +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,[c_Choix_AGD_PL,gpcl +FicheUtilisateurEnCours:m_nPKID]) +si HTrouve(ParametreUtilisateur) alors +ParametreUtilisateur.PU_Valeur = bufResulBuf +sinon +HRAZ(ParametreUtilisateur) +ParametreUtilisateur.PU_IDUtilisateur = gpclFicheUtilisateurEnCours:m_nPKID +ParametreUtilisateur.PU_Code = c_Choix_AGD_PL +ParametreUtilisateur.PU_Valeur = bufResulBuf +fin +si HEnregistre(ParametreUtilisateur) alors +gbModif = Vrai +Ferme() +sinon +LogEcrit("Erreur pendant l’enregistrement de la préférence agenda"+RC+HErreurInfo(hErrComplet), +eErreur) +Info("Une erreur s'est produite lors de l'enregistrement de vos préférences d'agenda") +fin +Clic sur IMG_Pregunta +InitVisiteListeColb() +Sélection du menu de MENU_SansNom1.OPT_Bas +Descendre() +Sélection du menu de MENU_SansNom1.OPT_Monter +Monter() +Double clic sur ARBRE_Colb ( SC_Pref ) +06/08/2026 Isis_BO 1461 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Code des champs +SelEleArbre() +Initialisation de BTN_ColbHaut ( SC_Pref ) +// Version 1 +// Description +// Bouton en validation +Clic sur BTN_ColbHaut ( SC_Pref ) +Monter() +Initialisation de BTN_ColbMoins1 ( SC_Pref ) +// Version 1 +// Description +// Bouton en validation +Clic sur BTN_ColbMoins1 ( SC_Pref ) +Descendre() +Initialisation de BTN_EqpMoins ( SC_Pref ) +// Version 1 +// Description +// Bouton en validation +Clic sur BTN_EqpMoins ( SC_Pref ) +SupprimerOption() +Initialisation de BTN_EqpPlus ( SC_Pref ) +// Version 1 +// Description +// Bouton en validation +Clic sur BTN_EqpPlus ( SC_Pref ) +SelEleArbre() +Initialisation de BTN_ListePlus ( SC_Pref ) +// Version 1 +// Description +// Bouton en validation +Clic sur BTN_ListePlus ( SC_Pref ) +sNomListe est une chaîne +06/08/2026 Isis_BO 1462 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Code des champs +si Saisie("Quel nom souhaitez-vous donner à la nouvelle liste ?", sNomListe) = 1 alors +si sNomListe <> "" alors +nId est un entier = 1 +TableauTrie(gstPrefUserAGD.tabListe,ttMembre+tccRespecteNumérique,"+nId") +si gstPrefUserAGD.tabListe..Occurrence > 0 alors +nId = (gstPrefUserAGD.tabListe[gstPrefUserAGD.tabListe..Occurrence].nId + 1) +fin +si gnLigneSel > 0 _et_ TABLE_Liste..Occurrence >= gnLigneSel alors +MaJPref() // Enregistrer le modifs dans la variable temp +fin +i est un entier = TableAjouteLigne(TABLE_Liste, nId , Faux, sNomListe) +TableSelectPlus(TABLE_Liste,i) +pref est un STPrefAgdPl +pref.sNom = sNomListe +pref.nId = nId +pref.bAffichageParEq = Vrai +TableauAjoute(gstPrefUserAGD.tabListe,pref) +SelListe(nId) +fin +fin +Initialisation de BTN_SupListe ( SC_Pref ) +// Version 1 +// Description +// Bouton en validation +Clic sur BTN_SupListe ( SC_Pref ) +SupprimerPref() +Initialisation de LIB_Libellé ( SC_Pref ) +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_NomPref ( SC_Pref ) +// Version 1 +// Description +// Libellé simple +Initialisation de SEL_ChoixVisuel ( SC_Pref ) +// Version 1 +// Description +// Sélecteur simple en lignes sur 2 colonnes +Sortie d'une ligne de TABLE_Liste +06/08/2026 Isis_BO 1463 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Code des champs +nPos est un entier = TableauCherche(gstPrefUserAGD.tabListe,tcLinéaire,"nID",COL_NumListe[TABLE_Liste]) +si nPos > 0 alors +gstPrefUserAGD.tabListe[nPos].sNom = COL_Pref[TABLE_Liste] +SelListe(gstPrefUserAGD.tabListe[nPos].nId) +sinon +stPref est un STPrefAgdPl +stPref.nId = COL_NumListe[TABLE_Liste] +stPref.sNom = COL_Pref[TABLE_Liste] +TableauAjoute(gstPrefUserAGD.tabListe,stPref) +SelListe(stPref.nId) +fin +Sélection d'une ligne de TABLE_Liste +si COL_NumListe[TABLE_Liste] > 0 alors +SelListe(COL_NumListe[TABLE_Liste]) +fin +A chaque modification de COL_Defaut ( TABLE_Liste ) +n est un entier = TABLE_Liste +nPosListe est un entier +si n > 0 _et_ COL_Defaut[TABLE_Liste] alors +pour toute ligne b de TABLE_Liste +nPosListe = TableauCherche(gstPrefUserAGD.tabListe,tcLinéaire,"nID",COL_NumListe[b]) +si b <> n alors +COL_Defaut[b] = Faux +si nPosListe > 0 alors +gstPrefUserAGD.tabListe[nPosListe].bParDefaut = Faux +fin +sinon +si nPosListe > 0 alors +gstPrefUserAGD.tabListe[nPosListe].bParDefaut = Vrai +fin +fin +fin +fin +Clic sur IMG_Couleur ( COL_Couleur ) +si TABLE_Sel > 0 _et_ COL_IdEq[TABLE_Sel] > 0 alors +sUnCouleur est une chaîne ANSI = Ouvre(FEN_Choix_Couleur, COL_CouleurHTML[TABLE_Sel]) +si sUnCouleur <> "" alors +COL_CouleurHTML[TABLE_Sel] = sUnCouleur +TABLE_Sel[TABLE_Sel].CouleurFond = sUnCouleur +gUnCouleur = sUnCouleur +MaPalette est une Palette = PaletteGénère(gUnCouleur) +TABLE_Sel[TABLE_Sel].Couleur = MaPalette.Couleur["primary_text"] +fin +fin +Sortie de COL_Nom ( TABLE_Sel ) +si SansEspace(MoiMême) = "" alors +Info("Saisie obligatoire") +DonneFocus(MoiMême) +06/08/2026 Isis_BO 1464 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Code des champs +fin +FEN_Choix_Clb_AGD +Procédures +Procédure locale Descendre +procédure Descendre() +i est un entier = TABLE_Sel +b est un entier = i+1 +si i <= 0 ou i >= TABLE_Sel..Occurrence alors +retour +fin +si COL_IdColb[i] > 0 _et_ COL_IdEq[i] <= 0 alors // colb seul +si COL_IdEq[b] <= 0 alors // colb seul +TableDéplaceLigne(TABLE_Sel, i, tdSuivant, tdEchange) +sinon // dans un equipe +TableSelectPlus(TABLE_Sel,b) +Monter(Vrai) // on monte le collaborateur pour faire descendre l'équipe +fin +sinon si COL_IdColb[i] > 0 _et_ COL_IdEq[i] > 0 alors // collaborateur dans un équipe +si COL_IdEq[i] = COL_IdEq[b] et COL_IdColb[b] > 0 et COL_Nom[b] <> "" alors +// test pour les lignes vide +TableSelectPlus(TABLE_Sel,b) +Monter(Vrai) // on monte le collaborateur pour faire descendre l'équipe +fin +sinon si COL_IdColb[i] <= 0 _et_ COL_IdEq[i] > 0 alors // on monte toute l’équipe +nNbLigne est un entier +pour h = i à TABLE_Sel..Occurrence +si COL_IdEq[h] = COL_IdEq[i] alors // on cherche une ligne disponible hors une équipe +nNbLigne += 1 +sinon +sortir +fin +fin +b = i + nNbLigne +si b > TABLE_Sel..Occurrence alors +retour +fin +si COL_IdEq[b] <= 0 _et_ COL_IdColb[b] > 0 alors // colb seul +TableSelectPlus(TABLE_Sel,b) +Monter(Vrai) // on monte le collaborateur pour faire descendre l'équipe +sinon // dans un equipe +f est un entier = i +nid est un entier sur 8 octets = COL_IdEq[b] +pour h = b à TABLE_Sel..Occurrence +si COL_IdEq[h] = nid alors +TableDéplaceLigne(TABLE_Sel,h,f, tdDéplace) +f+=1 +sinon +06/08/2026 Isis_BO 1465 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Procédures +sortir +fin +fin +fin +fin +Procédure locale DescendreTBLRDV +procédure DescendreTBLRDV(sNomTable est une chaîne ANSI) +k est un entier = {sNomTable} +si k > 0 alors +TableDéplaceLigne(sNomTable, k, tdSuivant, tdEchange) +fin +Procédure locale EnrInfoRDV +procédure EnrInfoRDV(sNomTable est une chaîne ANSI, tabChoix est un tableau de STItemChoixRDV) +TableauSupprimeTout(tabChoix) +pstChoix est un STItemChoixRDV dynamique +i est un entier +pour toute ligne b de {sNomTable} +si {sNomTable+"["+b+"].COL_Sel_Op"} = Vrai alors +i+= 1 +pstChoix = allouer un STItemChoixRDV +pstChoix.nOrdre = i +pstChoix.saOption = {sNomTable+"["+b+"].COL_Option"} +TableauAjoute(tabChoix,pstChoix) +fin +fin +Procédure locale FiltreChoix +procédure FiltreChoix(nID est un entier) +// je du faire une nouvelle table car le filtre dans la table cause des problèmes +infoLigne est une Structure +nIdColb est un entier sur 8 octets +nIdEq est un entier sur 8 octets +sNom est une chaîne +nOrdre est un entier sur 8 octets +couleurLigne est un Couleur +couleurHTML est une chaîne ANSI +bGrise est un booléen +bGriseNom est un booléen +fin +tabTblInfo est un tableau de infoLigne +pstUneLigne est un infoLigne dynamique +i est un entier +nPos est un entier = TableauCherche(gstPrefUserAGD.tabListe,tcLinéaire,"nID", nID) +pour tout Eq de gstPrefUserAGD.tabListe[nPos].tabEquipe +pstUneLigne = allouer un infoLigne +pstUneLigne.nIdColb = 0 +pstUneLigne.nIdEq = Eq.nOrdre +06/08/2026 Isis_BO 1466 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Procédures +pstUneLigne.sNom = Eq.sNom +pstUneLigne.nOrdre = Eq.nOrdre +pstUneLigne.couleurLigne = Eq.sCouleur <> "" ? Eq.sCouleur sinon gCouleurEq +pstUneLigne.couleurHTML = Eq.sCouleur +TableauAjoute(tabTblInfo,pstUneLigne) +pour tout stColb de Eq.tabColb +HLitRecherchePremier(Collaborateur,CO_PKID,stColb.nId) +si HTrouve(Collaborateur) alors +si Collaborateur.CO_Actif _et_ Collaborateur.CO_AuPlanning alors +pstUneLigne = allouer un infoLigne +pstUneLigne.nIdColb = stColb.nId +pstUneLigne.nIdEq = Eq.nOrdre +pstUneLigne.sNom = Collaborateur.CO_Nom+" "+Collaborateur.CO_Prenom+" ("+ +Collaborateur.CO_Trigramme+")" +pstUneLigne.nOrdre = stColb.nOrdre +pstUneLigne.couleurLigne = CouleurDéfaut +pstUneLigne.bGriseNom = Vrai +pstUneLigne.couleurHTML = Eq.sCouleur +TableauAjoute(tabTblInfo,pstUneLigne) +fin +fin +fin +pstUneLigne = allouer un infoLigne +pstUneLigne.nIdColb = 0 +pstUneLigne.nIdEq = Eq.nOrdre +pstUneLigne.sNom = "" +pstUneLigne.nOrdre = Eq.nOrdre+Eq.tabColb..Occurrence+1 +pstUneLigne.couleurLigne = Blanc +pstUneLigne.bGrise = Vrai +TableauAjoute(tabTblInfo,pstUneLigne) +fin +pour tout stColb de gstPrefUserAGD.tabListe[nPos].tabColb +HLitRecherchePremier(Collaborateur,CO_PKID,stColb.nId) +si HTrouve(Collaborateur) alors +si Collaborateur.CO_AuPlanning alors +pstUneLigne = allouer un infoLigne +pstUneLigne.nIdColb = stColb.nId +pstUneLigne.nIdEq = 0 +pstUneLigne.sNom = Collaborateur.CO_Nom+" "+Collaborateur.CO_Prenom+" ("+ +Collaborateur.CO_Trigramme+")" +pstUneLigne.nOrdre = stColb.nOrdre +pstUneLigne.couleurLigne = CouleurDéfaut +pstUneLigne.bGriseNom = Vrai +TableauAjoute(tabTblInfo,pstUneLigne) +fin +fin +fin +TableauTrie(tabTblInfo,ttMembre+tccRespecteNumérique,"+nOrdre") +pour toute lg de tabTblInfo +i = TableAjouteLigne(TABLE_Sel,lg.nIdColb, lg.nIdEq, lg.sNom,lg.nOrdre) +TABLE_Sel[i]..CouleurFond = lg.couleurLigne +gUnCouleur = lg.couleurLigne +MaPalette est une Palette = PaletteGénère(gUnCouleur) +TABLE_Sel[i].Couleur = MaPalette.Couleur["primary_text"] +TABLE_Sel[i]..Grisé = lg.bGrise +06/08/2026 Isis_BO 1467 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Procédures +COL_Nom[i]..Grisé = lg.bGriseNom +COL_CouleurHTML[i] = lg.couleurHTML +COL_Couleur[i]..Grisé = Vrai +si SansEspace(COL_Nom[i]) = "" _et_ COL_IdColb[i] <= 0 _et_ TABLE_Sel[i]..CouleurFond = Blanc alors +TABLE_Sel[i]..Hauteur = 6 +sinon si COL_IdEq[i] > 0 _et_ COL_IdColb[i] <= 0 _et_ TABLE_Sel[i]..CouleurFond <> Blanc alors +COL_Couleur[i].IMG_Couleur = IMG_Cercle_couleur +COL_Couleur[i]..Grisé = Faux +fin +fin +Procédure locale FiltreColbs +procédure FiltreColbs() +ArbreSupprimeTout(ARBRE_Colb) +sIdSoc est une chaîne ANSI +sIdEq est une chaîne ANSI +sImageColb est une chaîne ANSI +pour tout Societe +si pas Societe.SO_Archive alors +sImageSoc est une chaîne ANSI = PreferenceCouleurSoc(c_CouleurIconeSoc,Societe.SO_PKID) +si SansEspace(sImageSoc) = "" alors +sImageSoc = IMG_SocieteAGD +sinon +sImageSoc = {sImageSoc} +fin +si ArbreAjoute(ARBRE_Colb,Societe.SO_Nom,sImageSoc,sImageSoc,"SO_PKID"+Societe.SO_PKID, +aTriAlpha,Societe.SO_Nom) alors // on peut avoir le mème Id pour societe et colb ou eq +sIdSoc += [";"]+Societe.SO_PKID +//ArbreAjoute(ARBRE_Colb,Societe.SO_Nom+TAB+"Tous les +collaborateurs",IMG_Tous,IMG_Tous,"EQ_PKID_SO_PKID0_"+Societe.SO_PKID,aAccepteDoublon ++aTriAlpha,"Tous les collaborateurs") +fin +fin +fin +si SansEspace(sIdSoc) <> "" alors +reqEqp est une Requête SQL = +[ +SELECT EQ_PKID, EQ_Nom , SO_PKID , SO_Nom FROM Equipe +INNER JOIN Societe ON SO_PKID = EQ_IDSociete +WHERE EQ_IDSociete IN {p_idSoc} ORDER BY EQ_IDSociete +] +reqEqp.p_idSoc = sIdSoc +si HExécuteRequêteSQL(reqEqp) alors +pour tout reqEqp +si ArbreAjoute(ARBRE_Colb,reqEqp.SO_Nom+TAB+reqEqp.EQ_Nom,IMG_EquipeAGD,IMG_EquipeAGD, +"EQ_PKID"+reqEqp.EQ_PKID,aAccepteDoublon +aTriAlpha,reqEqp.SO_Nom) alors +sIdEq += [";"]+reqEqp.EQ_PKID +gtaCheminInfo["EQ_PKID"+reqEqp.EQ_PKID] = reqEqp.SO_Nom+TAB+reqEqp.EQ_Nom +fin +fin +fin +fin +si SansEspace(sIdEq) <> "" alors +06/08/2026 Isis_BO 1468 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Procédures +reqColb est une Requête SQL = +[ +SELECT EQ_IDSociete, EQ_Nom, CO_PKID, CO_Nom, CO_Prenom, CO_Trigramme,CO_IDCivilite,EQ_PKID, +SO_PKID, SO_Nom +FROM Equipe_Collaborateur +INNER JOIN Equipe ON EQ_PKID = EC_IDEquipe +INNER JOIN Collaborateur ON CO_PKID = EC_IDCollaborateur +INNER JOIN Societe ON SO_PKID = EQ_IDSociete +WHERE EC_IDEquipe IN {p_IdEq} AND CO_Actif = 1 AND CO_AuPlanning = 1 ORDER BY EQ_IDSociete +] +reqColb.p_IdEq = sIdEq +si HExécuteRequêteSQL(reqColb) alors +pour tout reqColb +sImageColb = IMG_Homme +si reqColb.CO_IDCivilite = gnIdMad alors +sImageColb = IMG_Femme +sinon +sImageColb = IMG_Homme +fin +ArbreAjoute(ARBRE_Colb,reqColb.SO_Nom+TAB+reqColb.EQ_Nom+TAB+reqColb.CO_Nom+" "+reqColb. +CO_Prenom,sImageColb,sImageColb,... +"CO_PKID_EQ_PKID"+reqColb.CO_PKID+"_"+reqColb.EQ_PKID,aAccepteDoublon + aTriAlpha,reqColb. +CO_Nom+" ("+reqColb.CO_Trigramme+")") +gtaNomColb[reqColb.CO_PKID] = reqColb.CO_Nom+" "+reqColb.CO_Prenom + " ("+reqColb. +CO_Trigramme+")" +fin +fin +fin +nUnIdSocActifs est un entier sur 8 octets +nUnIdSocInactifs est un entier sur 8 octets +si SansEspace(sIdSoc) <> "" alors +reqColb2 est une Requête SQL = +[ +SELECT CO_PKID, CO_Nom, CO_Prenom,CO_Trigramme,CO_IDCivilite,CO_Actif, SO_PKID, SO_Nom FROM +Collaborateur +INNER JOIN Societe_Collaborateur ON SC_IDCollaborateur = CO_PKID +INNER JOIN Societe ON SO_PKID = SC_IDCSociete +WHERE SC_IDCSociete IN {p_IdSoc} AND CO_AuPlanning = 1 ORDER BY SC_IDCSociete +] +reqColb2.p_IdSoc = sIdSoc +si HExécuteRequête(reqColb2) alors +pour tout reqColb2 +si reqColb2.CO_IDCivilite = gnIdMad alors +sImageColb = IMG_Femme +sinon +sImageColb = IMG_Homme +fin +si reqColb2.co_actif alors +si nUnIdSocActifs <> reqColb2.SO_PKID alors +nUnIdSocActifs = reqColb2.SO_PKID +ArbreAjoute(ARBRE_Colb,reqColb2.SO_Nom+TAB+"Tous les collaborateurs",IMG_Tous,IMG_ +Tous,"EQ_PKID_SO_PKID0_"+reqColb2.SO_PKID,aDernier+aAccepteDoublon +aTriAlpha, +"Tous les collaborateurs") +fin +ArbreAjoute(ARBRE_Colb,reqColb2.SO_Nom+TAB+"Tous les collaborateurs"+TAB+reqColb2. +CO_Nom+" "+reqColb2.CO_Prenom,... +sImageColb,sImageColb,"CO_PKID_SO_PKID"+reqColb2.CO_PKID+"_"+reqColb2.SO_PKID, +aAccepteDoublon + aTriAlpha,reqColb2.CO_Nom+" ("+reqColb2.CO_Trigramme+")") +gtaNomColb[reqColb2.CO_PKID] = reqColb2.CO_Nom+" "+reqColb2.CO_Prenom + " ("+reqColb2. +06/08/2026 Isis_BO 1469 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Procédures +CO_Trigramme+")" +sinon +si nUnIdSocInactifs <> reqColb2.SO_PKID alors +nUnIdSocInactifs = reqColb2.SO_PKID +ArbreAjoute(ARBRE_Colb,reqColb2.SO_Nom+TAB+"Collaborateurs inactifs",IMG_ +Advertencia,IMG_Advertencia,"EQ_PKID_SO_PKID0_"+reqColb2.SO_PKID,aDernier+ +aAccepteDoublon +aTriAlpha,"Collaborateurs inactifs") +fin +ArbreAjoute(ARBRE_Colb,reqColb2.SO_Nom+TAB+"Collaborateurs inactifs"+TAB+reqColb2. +CO_Nom+" "+reqColb2.CO_Prenom,... +sImageColb,sImageColb,"CO_PKID_SO_PKID"+reqColb2.CO_PKID+"_"+reqColb2.SO_PKID, +aAccepteDoublon + aTriAlpha,reqColb2.CO_Nom+" ("+reqColb2.CO_Trigramme+")") +gtaNomColb[reqColb2.CO_PKID] = reqColb2.CO_Nom+" "+reqColb2.CO_Prenom + " ("+reqColb2. +CO_Trigramme+")" +fin +fin +fin +fin +Procédure locale FiltreTBLDeatilsRDV +procédure FiltreTBLDeatilsRDV(sNomTable est une chaîne ANSI, tabChoix est un tableau de STItemChoixRDV) +TableSupprimeTout(sNomTable) +i est un entier +i+= 1 +TableAjouteLigne(sNomTable,cAGD_HRDV,Faux,"Heure",i) +i+= 1 +TableAjouteLigne(sNomTable,cAGD_NDevis,Faux,"Numéro de devis",i) +i+= 1 +TableAjouteLigne(sNomTable,cAGD_NInter,Faux,"Numéro d'intervention",i) +i+= 1 +TableAjouteLigne(sNomTable,cAGD_RefExtInter,Faux,"Référence externe",i) +i+= 1 +TableAjouteLigne(sNomTable,cAGD_TypeRDV,Faux,"Type de rendez-vous",i) +i+= 1 +TableAjouteLigne(sNomTable,cAGD_SiteNom,Faux,"Nom du site",i) +i+= 1 +TableAjouteLigne(sNomTable,cAGD_Site,Faux,"Adresse",i) +i+= 1 +TableAjouteLigne(sNomTable,cAGD_Contact,Faux,"Contact du rendez-vous",i) +i+= 1 +TableAjouteLigne(sNomTable,cAGD_Obj,Faux,"Objet du rendez-vous",i) +i+= 1 +TableAjouteLigne(sNomTable,cAGD_Note,Faux,"Note du rendez-vous",i) +// Mettre à jour la table avec le choix de l'utilisateur +TableauTrie(tabChoix,ttMembre+tccRespecteNumérique,"+nOrdre") +pour tout stChoix de tabChoix +npos est un entier = TableCherche(sNomTable+".COL_Option", stChoix.saOption, rechercheIdentique) +06/08/2026 Isis_BO 1470 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Procédures +si npos > 0 alors +{sNomTable+"["+npos+"].COL_Sel_Op"} = Vrai +{sNomTable+"["+npos+"].COL_Ordre"} = stChoix.nOrdre +si npos <> stChoix.nordre alors +TableDéplaceLigne(sNomTable,npos,stChoix.nOrdre,tdEchange) +fin +fin +fin +Procédure locale MaJPref +procédure MaJPref() +pref est un STPrefAgdPl +pref.sNom = COL_Pref[gnLigneSel] +pref.nId = COL_NumListe[gnLigneSel] +pref.bAffichageParEq = SEL_ChoixVisuel +stEqPref est un STItemChoixEq +stColb est un STItemChoix +nPosEq est un entier sur 8 octets +h est un entier +nPosListe est un entier = TableauCherche(gstPrefUserAGD.tabListe,tcLinéaire,"nID",COL_NumListe[gn +LigneSel]) +pour toute ligne b de TABLE_Sel +h += 1 +si COL_IdEq[b] > 0 _et_ COL_Nom[b] <> "" _et_ COL_IdColb[b] <= 0 alors // Nom de l’équipe +nPosEq = h +stEqPref.nOrdre = h +stEqPref.sNom = COL_Nom[b] +stEqPref.sCouleur = COL_CouleurHTML[b] +TableauSupprimeTout(stEqPref.tabColb) +TableauAjoute(pref.tabEquipe,stEqPref) +sinon si COL_IdEq[b] > 0 _et_ COL_IdColb[b] > 0 _et_ nPosEq > 0 alors +nPos est un entier = TableauCherche(pref.tabEquipe,tcLinéaire,"nOrdre",nPosEq) +si nPos > 0 alors +nPos2 est un entier +si pref.tabEquipe..Occurrence >= nPosEq _et_ pref.tabEquipe[nPosEq].tabColb..Occurrence > +0 alors +nPos2 = TableauCherche(pref.tabEquipe[nPosEq].tabColb,tcLinéaire,"nId",COL_IdColb[b]) +fin +si nPos2 <= 0 alors +stColb.nId = COL_IdColb[b] +stColb.nOrdre = h +TableauAjoute(pref.tabEquipe[nPos].tabColb,stColb) +fin +fin +sinon si COL_IdEq[b] <= 0 _et_ COL_IdColb[b] > 0 alors +nPos2 est un entier = TableauCherche(pref.tabColb,tcLinéaire,"nId",COL_IdColb[b]) +si nPos2 <= 0 alors +stColb.nId = COL_IdColb[b] +stColb.nOrdre = h +TableauAjoute(pref.tabColb,stColb) +fin +nPosEq = 0 +sinon si COL_IdEq[b] > 0 _et_ COL_IdColb[b] <= 0 _et_ nPosEq > 0 _et_ COL_Nom[b] = "" alors +nPosEq = 0 +fin +06/08/2026 Isis_BO 1471 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Procédures +fin +pref.bParDefaut = COL_Defaut[gnLigneSel] +si nPosListe > 0 alors +gstPrefUserAGD.tabListe[nPosListe] = pref +sinon +TableauAjoute(gstPrefUserAGD.tabListe,pref) +fin +Procédure locale Monter +procédure Monter(bDesc est un booléen = Faux) +i est un entier = TABLE_Sel +b est un entier = i-1 +k est un entier +si i <= 0 ou i < 2 alors +retour +fin +si COL_IdColb[i] > 0 _et_ COL_IdEq[i] <= 0 alors // colb seul +si COL_IdEq[b] <= 0 alors // colb seul +k = b +TableDéplaceLigne(TABLE_Sel, k, tdSuivant, tdEchange) +TableSelectPlus(TABLE_Sel,k) +sinon // dans un equipe +pour h = 1 à i +si COL_IdEq[h] = COL_IdEq[b] _et_ COL_IdColb[h] <= 0 alors +// on cherche une ligne disponible hors une équipe +k = h +sortir +fin +fin +si k <= 0 alors +k = 1 +fin +TableDéplaceLigne(TABLE_Sel,i, k, tdDéplace) +TableSelectPlus(TABLE_Sel,k) +fin +sinon si COL_IdColb[i] > 0 _et_ COL_IdEq[i] > 0 alors // collaborateur dans un équipe +pour h = 1 à i +si COL_IdEq[h] = COL_IdEq[i] _et_ COL_IdColb[h] > 0 alors +// on cherche une ligne disponible hors une équipe +si COL_IdColb[h] = COL_IdColb[i] alors +sortir +fin +k = h +fin +fin +si k < i _et_ k > 0 alors // on monte // test +TableDéplaceLigne(TABLE_Sel,i, k, tdDéplace) +si bDesc alors +TableSelectPlus(TABLE_Sel,i) +fin +fin +sinon si COL_IdColb[i] <= 0 _et_ COL_IdEq[i] > 0 alors // on monte toute l’équipe +nNbLigne est un entier +pour h = i à TABLE_Sel..Occurrence +si COL_IdEq[h] = COL_IdEq[i] alors // on cherche une ligne disponible hors une équipe +nNbLigne += 1 +06/08/2026 Isis_BO 1472 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Procédures +sinon +sortir +fin +fin +si COL_IdEq[b] <= 0 _et_ COL_IdColb[b] > 0 alors // colb seul +si nNbLigne > 0 alors // toutes les lignes a monter +k = b + (nNbLigne) +TableDéplaceLigne(TABLE_Sel,b,k, tdDéplace) +si bDesc alors +TableSelectPlus(TABLE_Sel,k) +fin +fin +sinon // dans un equipe +j est un entier = (i+nNbLigne)-1 // dernière ligne de l’équipe +pour h = 1 à i +si COL_IdEq[h] = COL_IdEq[b] et COL_IdColb[h] <= 0 et COL_Nom[h] <> "" alors +// on cherche une ligne disponible hors une équipe +k = h +sortir +fin +fin +// k est la ligne ou il faut tout deplacer +pour t=i à j +TableDéplaceLigne(TABLE_Sel,j,k, tdDéplace) +fin +TableSelectPlus(TABLE_Sel,k) +fin +fin +Procédure locale MonterTBLRDV +procédure MonterTBLRDV(sNomTable est une chaîne ANSI) +k est un entier = {sNomTable} +si k > 0 alors +TableDéplaceLigne(sNomTable, k, tdPrécédent, tdEchange) +fin +Procédure locale PrefUser +procédure PrefUser() +TableSupprimeTout(TABLE_Liste) +gstPrefUserAGD = ChargePrefAGD() +pour tout stPref de gstPrefUserAGD.tabListe +si stPref.nId > 0 alors +TableAjouteLigne(TABLE_Liste,stPref.nId,stPref.bParDefaut,stPref.sNom) +fin +fin +si TABLE_Liste..Occurrence > 0 alors +TableSelect(TABLE_Liste,1) +SelListe(COL_NumListe[1]) +06/08/2026 Isis_BO 1473 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Procédures +fin +Procédure locale SelColbIUnique +procédure SelColbIUnique(nId est un entier sur 8 octets, local nIdEq est un entier sur 8 octets = 0, +local nOrdre est un entier = 0) +si nId > 0 alors +HLitRecherchePremier(Collaborateur,CO_PKID,nId) +si HTrouve(Collaborateur) alors +si Collaborateur.CO_AuPlanning alors +si nOrdre <= 0 alors +nOrdre = TABLE_Sel..Occurrence+1 +fin +nI est un entier= TableAjouteLigne(TABLE_Sel, Collaborateur.CO_PKID,nIdEq,...) +Collaborateur.CO_Nom+" "+Collaborateur.CO_Prenom+" ("+Collaborateur.CO_Trigramme+")", +nOrdre) +COL_Nom[nI]..Grisé = Vrai +fin +fin +fin +Procédure locale SelEleArbre +procédure SelEleArbre() +sAId est une chaîne ANSI = ArbreRécupèreIdentifiant(ARBRE_Colb, ArbreSelect(ARBRE_Colb, Vrai)) +sID_1 est une chaîne ANSI +i est un entier +nID est un entier sur 8 octets +bEq est un booléen = Faux +si SansEspace(sAId) <> "" alors +si pas Contient(sAId,"CO_PKID_SO_PKID",SansCasse) _et_ Contient(sAId,"SO_PKID",SansCasse) ou +Contient(sAId,"EQ_PKID_SO_PKID",SansCasse) alors +retour +// Equipe +sinon si pas Contient(sAId,"CO_PKID_EQ_PKID",SansCasse) _et_ Contient(sAId,"EQ_PKID",SansCasse) +alors +sID_1 = Remplace(sAId,"EQ_PKID","",SansCasse) +nID = Val(sID_1) +SelEqComplet(nID) +// collaborateur dans une équipe +sinon si Contient(sAId,"CO_PKID_EQ_PKID",SansCasse) alors +sID_1 = Remplace(sAId,"CO_PKID_EQ_PKID","",SansCasse) +i = Position(sID_1,"_",0,DepuisDébut) +si i > 0 alors +nID = Val(sID_1[1 à i]) +fin +SelColbIUnique(nID) +// Collaborateur seul +sinon si Contient(sAId,"CO_PKID_SO_PKID",SansCasse) alors +sID_1 = Remplace(sAId,"CO_PKID_SO_PKID","",SansCasse) +i = Position(sID_1,"_",0,DepuisDébut) +si i > 0 alors +nID = Val(sID_1[1 à i]) +fin +06/08/2026 Isis_BO 1474 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Procédures +SelColbIUnique(nID) +sinon +nID = 0 +fin +fin +Procédure locale SelEqComplet +procédure SelEqComplet(nId est un entier sur 8 octets) +bEq est un booléen = Faux +si nId > 0 alors +reqEqp est une Requête SQL = +[ +SELECT EQ_PKID, EQ_Nom, EC_IDCollaborateur, CO_Nom, CO_Prenom, CO_Trigramme, CO_PKID, +CO_IDCivilite FROM Equipe +INNER JOIN Equipe_Collaborateur ON Equipe_Collaborateur.EC_IDEquipe = EQ_PKID +INNER JOIN Collaborateur ON CO_PKID = EC_IDCollaborateur +WHERE EQ_PKID = {p_idEq} AND CO_Actif = 1 AND CO_AuPlanning = 1 ORDER BY EQ_IDSociete +] +reqEqp.p_idEq = nId +si HExécuteRequêteSQL(reqEqp) alors +nI est un entier +pour tout reqEqp +si pas bEq alors +nI = TableAjouteLigne(TABLE_Sel,0,reqEqp.EQ_PKID, reqEqp.EQ_Nom,TABLE_Sel..Occurrence+ +1) +si nI > 0 alors +bEq = Vrai +TABLE_Sel[nI]..CouleurFond = gCouleurEq +COL_Couleur[nI].IMG_Couleur = IMG_Cercle_couleur +fin +fin +si bEq alors +nI = TableAjouteLigne(TABLE_Sel,reqEqp.CO_PKID, reqEqp.EQ_PKID, +reqEqp.CO_Nom+" "+reqEqp.CO_Prenom+" ("+reqEqp.CO_Trigramme+")",TABLE_Sel..Occurrence+ +1) +COL_Nom[nI]..Grisé = Vrai +fin +fin +si nI > 0 alors +nI = TableAjouteLigne(TABLE_Sel) +TABLE_Sel[nI]..Grisé = Vrai +TABLE_Sel[nI]..CouleurFond = Blanc +TABLE_Sel[nI]..Hauteur = 6 +TABLE_Sel[nI]..Grisé = Vrai +COL_IdEq[nI] = nId +TABLE_Sel[nI].COL_Ordre = TABLE_Sel..Occurrence+1 +fin +fin +fin +Procédure locale SelListe +procédure SelListe(nID est un entier) +si gnLigneSel > 0 _et_ TABLE_Liste..Occurrence >= gnLigneSel alors +MaJPref() // Enregistrer le modifs dans la variable temp +06/08/2026 Isis_BO 1475 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Procédures +fin +TableSupprimeTout(TABLE_Sel) +nPos est un entier +LIB_NomPref = "" +si nID > 0 alors +nPos = TableauCherche(gstPrefUserAGD.tabListe,tcLinéaire,"nID", nID) +fin +si nPos <= 0 alors +retour +fin +LIB_NomPref = gstPrefUserAGD.tabListe[nPos].sNom +SEL_ChoixVisuel = gstPrefUserAGD.tabListe[nPos].bAffichageParEq +FiltreChoix(nID) +GR_ChoixListe..Visible = Vrai +gnLigneSel = TABLE_Liste +Procédure locale SupprimerOption +procédure SupprimerOption() +i est un entier = TABLE_Sel +nIdEqp est un entier sur 8 octets +si i > 0 alors +si COL_IdColb[i] > 0 _et_ COL_IdEq[i] <= 0 alors +TableSupprime(TABLE_Sel,i) +sinon si COL_IdColb[i] > 0 _et_ COL_IdEq[i] > 0 alors +TableSupprime(TABLE_Sel,i) +sinon si COL_IdColb[i] <= 0 _et_ COL_IdEq[i] > 0 alors +nIdEqp = COL_IdEq[i] +h est un entier = TABLE_Sel..Occurrence +pour b = i à h +si i <= TABLE_Sel..Occurrence _et_ COL_IdEq[i] = nIdEqp alors +TableSupprime(TABLE_Sel,i) +fin +fin +fin +fin +Procédure locale SupprimerPref +procédure SupprimerPref() +si TABLE_Liste <= 0 alors +Info("Veuillez sélectionner une liste") +retour +fin +si COL_NumListe[TABLE_Liste] > 0 alors +nPos est un entier = TableauCherche(gstPrefUserAGD.tabListe,tcLinéaire,"nID",COL_NumListe[TABLE_ +Liste]) +si nPos > 0 alors +TableauSupprime(gstPrefUserAGD.tabListe,nPos) +TableSupprimeSelect(TABLE_Liste) +sinon +TableSupprimeSelect(TABLE_Liste) +fin +TABLE_Liste = -1 +06/08/2026 Isis_BO 1476 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Clb_AGD › Procédures +GR_ChoixListe..Visible = Faux +fin +| 06/08/2026 | Isis_BO | 1477 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Calendrier › Image +FEN_Popup_Calendrier +Image +FEN_Popup_Calendrier +Informations générales +FEN_Popup_Calendrier +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Popup_Calendrier.wdw +| Créé par | | GF | | | | +| -------------------------- | --- | ------------------- | --- | --- | --- | +| Date de création | | 02/10/2019 09:47:22 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:22 | | | | +FR: Popup Calendrier +| Titre | | GB: Popup Calendar | | | | +| ----- | --- | ------------------ | --- | --- | --- | +ES: Popup Calendario +| Type fenêtre | | Fenêtre libre | | | | +| ------------------------ | ------------ | ----------------------------- | --------- | --------------- | ---- | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 470 Hauteur | 340 | +| 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 | | +| 06/08/2026 | | | Isis_BO | | 1478 | + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Calendrier › Informations générales +| Redimensionnable | Avec grip | | Grip dans image | | +| --------------------- | -------------- | --- | --------------- | --- | +| Déplace/fond | Sauve position | | Ascenseur auto. | | +| Gestion grande police | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | Actif | | | | +| ------------------------------- | ----------------------------------- | --- | --- | --- | +| Curseur survol | 0 | | | | +| Copie d'écran | Oui | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| 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 | | | | | +| Grisé : Utiliser couleur perso. | Non | | | | +| Grisé : Algo pour images | | | | | +| 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. | | | | | +| 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 | | | | +Image poignée D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +| 06/08/2026 | | Isis_BO | | 1479 | +| ---------- | --- | ------- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Calendrier › Informations générales +Statistiques de la fenêtre +| | Libellé | | 1 | Bouton | | | | 9 | +| --- | ------- | --- | --- | ---------- | --- | --- | --- | --- | +| | Combo | | 2 | Calendrier | | | | 1 | +Nombre d'éléments dans la fenêtre : 13 +FEN_Popup_Calendrier +Informations sur les champs +Fenêtre : FEN_Popup_Calendrier +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | | ruegraL | elbisiV | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +nalP +| LIB_Séparateur | | 128 12 | 1 290 | 0 | Actif | Gauche | Haut | | +| -------------- | --- | ------ | ----- | --- | ----- | ------ | ---- | --- | +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | ---------- | --- | --- | --- | ------------ | ---------- | ----------- | +| | | X noitisoP | | | | laitini tatE | | | +Y noitisoP +| | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| BTN_Annuler | | 294 | 308 80 | 24 | 0 | Actif | Abandon | | +| ---------------------- | --- | --- | ------- | --- | --- | ----- | -------- | ---- | +| BTN_Aujourd_hui | | 6 | 6 124 | 24 | 0 | Actif | Normal | | +| BTN_Mois_en_cours | | 6 | 126 124 | 24 | 0 | Actif | Normal | | +| BTN_Mois_flottant | | 6 | 156 124 | 24 | 0 | Actif | Normal | | +| BTN_Mois_précédent | | 6 | 186 124 | 24 | 0 | Actif | Normal | | +| BTN_Semaine_en_cours | | 6 | 36 124 | 24 | 0 | Actif | Normal | | +| BTN_Semaine_flottante | | 6 | 66 124 | 24 | 0 | Actif | Normal | | +| BTN_Semaine_précédente | | 6 | 96 124 | 24 | 0 | Actif | Normal | | +| BTN_Valider | | 380 | 308 80 | 24 | 0 | Actif | Validati | | +| 06/08/2026 | | | Isis_BO | | | | | 1480 | + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Calendrier › 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 +| COMBO_Année | 313 14 | 63 24 | 0 Actif | Mémoire | Non | | | +| ----------- | ------ | ----- | ------- | ------- | --- | --- | --- | +| COMBO_Mois | 218 14 | 83 24 | 0 Actif | Mémoire | Non | | | +Calendrier +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CAL_Periode | | 136 | 6 324 | 300 | 0 | Actif | | +| ----------- | --- | --- | ----- | --- | --- | ----- | --- | +Fenêtre : FEN_Popup_Calendrier +Bouton : BTN_Annuler +| Libellé | | FR: Annuler | | | | | | +| ------- | --- | ----------- | --- | --- | --- | --- | --- | +GB: Cancel +ES: Cancelar +| Ordre navigation | | 11 | | | | | | +| -------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | --- | +| 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 | | | | | | | | +| 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 | | | | | | | | +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 | | | | | | | | +| 06/08/2026 | | | Isis_BO | | | | 1481 | + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Calendrier › Informations sur les champs +Texte Markdown Non +Mode menu ctx. +Image FR,GB,...: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +GENSTEEL\Gensteel_Pict_Close_16_5.png +Nb. états image 5 +Image fond FR,GB,...: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +GENSTEEL\Gensteel_Btn_Std.png +Nb. états fond 5 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : BTN_Aujourd_hui +Libellé FR: &Aujourd'hui +GB: &Today +ES: &Hoy +Ordre navigation 1 +Curseur survol 32649 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +06/08/2026 Isis_BO 1482 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Calendrier › Informations sur les champs +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : BTN_Mois_en_cours +Libellé FR: &Mois en cours +GB: This &month +ES: Este &mes +Ordre navigation 8 +Curseur survol 32649 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 1483 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Calendrier › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : BTN_Mois_flottant +Libellé FR: M&ois flottant +GB: L&ast 30 days +ES: Últim&os 30 días +Ordre navigation 9 +Curseur survol 32649 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1484 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Calendrier › Informations sur les champs +Bouton : BTN_Mois_précédent +Libellé FR: Mo&is précédent +GB: Last mont&h +ES: Mes &pasado +Ordre navigation 10 +Curseur survol 32649 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1485 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Calendrier › Informations sur les champs +Bouton : BTN_Semaine_en_cours +Libellé FR: &Semaine en cours +GB: This &week +ES: &Esta semana +Ordre navigation 5 +Curseur survol 32649 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1486 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Calendrier › Informations sur les champs +Bouton : BTN_Semaine_flottante +Libellé FR: S&emaine flottante +GB: &Last 7 days +ES: Ú<imos 7 días +Ordre navigation 6 +Curseur survol 32649 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1487 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Calendrier › Informations sur les champs +Bouton : BTN_Semaine_précédente +Libellé FR: Semaine précédente +GB: Last week +ES: Semana pasada +Ordre navigation 7 +Curseur survol 32649 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1488 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Calendrier › Informations sur les champs +Bouton : BTN_Valider +Libellé FR: Valider +GB: OK +ES: Validar +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB,...: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +GENSTEEL\Gensteel_Pict_Correct_16_5.png +Nb. états image 5 +Image fond FR,GB,...: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +GENSTEEL\Gensteel_Btn_Std.png +Nb. états fond 5 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1489 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Calendrier › Informations sur les champs +Calendrier : CAL_Periode +Libellé FR: Calendrier +GB: Calendar +ES: Calendario +Ordre navigation 2 +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format retour AAAAMMJJ +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Numéro semaine Non +Semaine ISO8601 Non +Texte Markdown Non +Sélection hors mois Oui +Style hors mois Non +Jours hors mois Oui +Premier jour semaine Lundi +Bouton aujourd'hui Non +Libellé aujourd'hui FR: période prédéfinie +GB: preset date range +ES: período predefinido +Format mois FR,GB,...: +Sélection de périodes Oui +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 +06/08/2026 Isis_BO 1490 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Calendrier › Informations sur les champs +Combo : COMBO_Année +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 63 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 313 +Largeur interne 63 +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 +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 +06/08/2026 Isis_BO 1491 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Calendrier › Informations sur les champs +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : COMBO_Mois +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 83 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 218 +Largeur interne 83 +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 +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 +06/08/2026 Isis_BO 1492 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Calendrier › Informations sur les champs +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. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Séparateur +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 +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,GB,...: 0 +Mode ellipse +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 +06/08/2026 Isis_BO 1493 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Calendrier › Informations sur les champs +| 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 +FEN_Popup_Calendrier +Code +Déclarations globales de FEN_Popup_Calendrier +//--- Fenêtre Popup --- +// Pour accéder au champ ou à la combo popup qui a ouvert cette fenêtre +// vous pouvez utiliser : MonChampPopup +procédure MaFenêtre(local gdDateDébut est une Date,local gdDateFin est une Date,gMiseAJour est une +procédure) +//init +| CAL_Periode..DateDébut | = gdDateDébut | | | | +| ---------------------- | ------------- | ------------- | --- | --- | +| CAL_Periode..DateFin | = gdDateFin | | | | +| gdatePrécédenteDébut | est une Date | = gdDateDébut | | | +| gdDatePrécédenteFin | est une Date | = gdDateFin | | | +Fin d'initialisation de FEN_Popup_Calendrier +// Synchronise le calendrier et les combos +d est une Date = CalendrierPosition(CAL_Periode) +COMBO_Mois = d..Mois +COMBO_Année = d..Année +FEN_Popup_Calendrier +Code des champs +Clic sur BTN_Annuler +// Retour à la période précédente +gMiseAJour(gdatePrécédenteDébut,gdDatePrécédenteFin,Vrai) +Clic sur BTN_Aujourd_hui +dDate est une Date = DateSys() +CalendrierSelectPlus(CAL_Periode,dDate) +//gMiseAJour(dDate,dDate) +Clic sur BTN_Mois_en_cours +| 06/08/2026 | | | Isis_BO | 1494 | +| ---------- | --- | --- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Calendrier › Code des champs +dDateDebut est une Date = DateSys() +dDateFinest une Date = DateSys() +// Mois courant +dDateDebut..Jour = 1 +CAL_Periode..DateDébut = dDateDebut +CAL_Periode..DateFin = dDateFin +//gMiseAJour(dDateDebut,dDateFin) +Clic sur BTN_Mois_flottant +dDateDebut est une Date = DateSys() +dDateFinest une Date = DateSys() +// Mois flottant +dDateDebut..Mois-- +dDateDebut..Jour++ +CAL_Periode..DateDébut = dDateDebut +CAL_Periode..DateFin = dDateFin +//gMiseAJour(dDateDebut,dDateFin) +Clic sur BTN_Mois_précédent +dDateDebut est une Date = DateSys() +dDateFinest une Date = DateSys() +// Mois précédent +dDateDebut..Mois-- +dDateDebut..Jour = 1 +dDateFin..Mois-- +dDateFin..Jour = 31 +CAL_Periode..DateDébut = dDateDebut +CAL_Periode..DateFin = dDateFin +//gMiseAJour(dDateDebut,dDateFin) +Clic sur BTN_Semaine_en_cours +dDateDebut est une Date = DateSys() +dDateFinest une Date = DateSys() +nNumJour est un entier +// Récupérer le numéro du jour de la semaine +nNumJour = EntierVersJour(dDateDebut) +// Semaine courante +dDateDebut..Jour -= (nNumJour-1) +CAL_Periode..DateDébut = dDateDebut +CAL_Periode..DateFin = dDateFin +//gMiseAJour(dDateDebut,dDateFin) +Clic sur BTN_Semaine_flottante +dDateDebut est une Date = DateSys() +dDateFinest une Date = DateSys() +// Positionner le jour sur la semaine précédente +dDateDebut..Jour -= 6 +CAL_Periode..DateDébut = dDateDebut +CAL_Periode..DateFin = dDateFin +//gMiseAJour(dDateDebut,dDateFin) +Clic sur BTN_Semaine_précédente +06/08/2026 Isis_BO 1495 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Calendrier › Code des champs +dDateDebut est une Date = DateSys() +dDateFinest une Date = DateSys() +nNumJour est un entier +// Semaine précédente +dDateDebut..Jour -= 7 +nNumJour = EntierVersJour(dDateDebut) +dDateDebut..Jour -= (nNumJour-1) +dDateFin = dDateDebut +dDateFin += 6 +CAL_Periode..DateDébut = dDateDebut +CAL_Periode..DateFin = dDateFin +//gMiseAJour(dDateDebut,dDateFin) +Clic sur BTN_Valider +// Met à jour la combo repliée de sélection de période présente dans la fenêtre appelante +gMiseAJour(CAL_Periode..DateDébut,CAL_Periode..DateFin,Vrai) +// Met à jour la combo repliée de sélection de période présente dans la fenêtre appelante +//gMiseAJour(CalendrierSelect(CAL_Periode),CalendrierSelect(CAL_Periode),Vrai) +Affichage d'un mois dans CAL_Periode +// Synchronise le calendrier et les combos +d est une Date = CalendrierPosition(CAL_Periode) +COMBO_Mois = d..Mois +COMBO_Année = d..année +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur CAL_Periode +// Le double clic valide la popup +//ExécuteTraitement(BTN_Valider,trtClic) +Initialisation de COMBO_Année +d est une Date = CalendrierPosition(CAL_Periode) +pour i = d..année-150 _à_ d..année+10 +d..Année=i +ListeAjoute(MoiMême,DateVersChaîne(d,"AAAA") + gLien(d..Année)) +fin +d = DateSys +MoiMême = d..Année +Sélection d'une ligne de COMBO_Année +d est une Date = CalendrierPosition(CAL_Periode) +pour i = 1 _à_ CalendrierSelectOccurrence(CAL_Periode) +CalendrierSelectMoins(CAL_Periode,CalendrierSelect(CAL_Periode,i)) +fin +CalendrierSelectPlus(CAL_Periode, ChaîneVersDate("01/"+ d..mois + "/" + MoiMême..ValeurMémorisée , +"JJ/M/AAAA")) +ExécuteTraitement(CAL_Periode,trtSélection) +Initialisation de COMBO_Mois +06/08/2026 Isis_BO 1496 + +Partie 3 › Fenêtre WINDEV › FEN_Popup_Calendrier › Code des champs +d est une Date = CalendrierPosition(CAL_Periode) +pour m = 1 _à_ 12 +d..mois = m +ListeAjoute(MoiMême,DateVersChaîne(d,"Mmmm") + gLien(d..mois)) +fin +d = DateSys +MoiMême = d..Mois +Sélection d'une ligne de COMBO_Mois +d est une Date = CalendrierPosition(CAL_Periode) +pour i = 1 _à_ CalendrierSelectOccurrence(CAL_Periode) +CalendrierSelectMoins(CAL_Periode,CalendrierSelect(CAL_Periode,i)) +fin +CalendrierSelectPlus(CAL_Periode, ChaîneVersDate("01/"+ MoiMême..ValeurMémorisée + "/" + d..Année , +"JJ/M/AAAA")) +ExécuteTraitement(CAL_Periode,trtSélection) +06/08/2026 Isis_BO 1497 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Image +FEN_Choix_Couleur +Image +FEN_Choix_Couleur +Informations générales +FEN_Choix_Couleur +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Choix_Couleur.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | ---- | +| Date de création | | 11/04/2025 16:33:19 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 09/07/2025 12:13:55 | | | | +| Titre | | FR: Choix Couleur | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 330 Hauteur | 323 | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 1498 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Informations générales +Ctx. HFSQL indép. +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +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 +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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 Oui +Mode menu ctx. +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 +Image poignée D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\190 GENSTEEL\Gensteel_Resize.gif +06/08/2026 Isis_BO 1499 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | 4 | Libellé | | | 1 | +| --- | --------------- | --- | --- | ------- | --- | --- | --- | +| | Bouton | | 2 | Image | | | 1 | +| | Superchamp | | 1 | | | | | +Nombre d'éléments dans la fenêtre : 9 +FEN_Choix_Couleur +Informations sur les champs +Fenêtre : FEN_Choix_Couleur +Bouton +notuob epyT +| | | | | | laitini tatE | BAT ehcuoT | | +| --- | --- | --- | --- | --- | ------------ | ---------- | --- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Fermer | | 298 14 | 24 24 | 0 | Actif | Abandon | | +| ----------- | --- | ------ | ----- | --- | ----- | ------- | --- | +| BTN_valider | | 268 14 | 24 24 | 0 | Actif | Normal | | +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_Couleur | | 6 | 57 316 | 230 | 0 | Actif | | +| ---------- | --- | --- | ------ | --- | --- | ----- | --- | +Superchamp : SC_Couleur +| 06/08/2026 | | | Isis_BO | | | | 1500 | +| ---------- | --- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Informations sur les champs +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_Bleu | 211 57 | 32 25 | 0 | Actif | | Numéri | | Non | | | | +| --------- | ------ | ----- | --- | ----- | --- | ------ | --- | --- | --- | --- | --- | +| SAI_HTML | 32 57 | 62 25 | 0 | Actif | | Texte | | Non | | | | +| SAI_Rouge | 104 57 | 63 25 | 0 | Actif | | Numéri | | Non | | | | +| SAI_Vert | 172 57 | 31 25 | 0 | Actif | | Numéri | | Non | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP | | | | | | laitini tatE | | | | +| --- | --- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | --- | --- | +Y noitisoP +| | | | ruegraL | | ruetuaH | | | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Couleur | | 17 255 | | 288 | 20 | 0 | | Actif | Gauche | Haut | | +| ----------- | --- | ------ | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | | | | | | | | laitini tatE | | sucof cevA | +| --- | --- | ---------- | ---------- | ------- | --- | ------- | --- | --- | ------------ | --------- | ---------- | +| | | X noitisoP | Y noitisoP | | | | | | | | | +| | | | | ruegraL | | ruetuaH | | | | cilc cevA | | +elbisiV +nalP +| IMG_Palette | | 6 | 84 | | 303 | 200 | 0 | | Actif | | | +| ----------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Fenêtre : FEN_Choix_Couleur +Bouton : BTN_Fermer +| 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 | | | | | | | | | | | | +| Retrait gauche | | 0 | | | | | | | | | | +| Réduction Ruban | | Ne pas réduire le bouton | | | | | | | | | | +| 06/08/2026 | | | | | Isis_BO | | | | | | 1501 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Informations sur les champs +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 : BTN_valider +Ordre navigation 1 +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 +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 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 1502 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Informations sur les champs +Facteur d'agrandissement 0 +Type flèche +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +Superchamp : SC_Couleur +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 316 +Hauteur externe 230 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1503 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Informations sur les champs +Superchamp : SC_Couleur +Image : SC_Couleur.IMG_Palette +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\CM_palette-couleurs.svg +Curseur survol 32649 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +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 +Libellé : SC_Couleur.LIB_Couleur +Curseur survol 32649 +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Cliquez pour plus de choix +06/08/2026 Isis_BO 1504 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Informations sur les champs +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 +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 Largeur et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SC_Couleur.SAI_Bleu +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 211 +Largeur interne 32 +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: 999 +Borne dans bulle Non +06/08/2026 Isis_BO 1505 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Informations sur les champs +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1506 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Informations sur les champs +Champ de saisie : SC_Couleur.SAI_HTML +Libellé FR: # +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 42 +Largeur interne 52 +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 +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 +06/08/2026 Isis_BO 1507 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SC_Couleur.SAI_Rouge +Libellé FR: RGB +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 135 +Largeur interne 32 +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 +06/08/2026 Isis_BO 1508 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 999 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1509 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Informations sur les champs +Champ de saisie : SC_Couleur.SAI_Vert +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 172 +Largeur interne 31 +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: 999 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1510 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Choix_Couleur +Code +Déclarations globales de FEN_Choix_Couleur +procédure FEN_Choix_Couleur(gsCouleur est une chaîne ANSI = "") +Fin d'initialisation de FEN_Choix_Couleur +si gsCouleur <> "" alors +LIB_Couleur..CouleurFond = gsCouleur +fin +Fermeture de FEN_Choix_Couleur +renvoyer gsCouleur +06/08/2026 Isis_BO 1511 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Code des champs +FEN_Choix_Couleur +Code des champs +Clic sur BTN_Fermer +Ferme() +Clic sur BTN_valider +UnCouleur est un Couleur = CouleurHTMLVersRVB(SAI_HTML) +gsCouleur = UnCouleur.Couleur +Ferme() +Déclarations globales de SC_Couleur +// Version 1 +// Description +// Sélecteur de couleur avancé +// Fonctionnement : +// Permet d'afficher une couleur, en indiquant la couleur hexa Web et la couleur RVB correspondantes +// Permet également de choisir une couleur : +// * via un clic dans la palette de couleurs +// * en saisissant un valeur hexa Web +// * en saisissant la valeur RVB de la couleur. +// Utilisation : +// Quelques exemples : +// Affecter la couleur sélectionnée +// = SC_Couleur +// ..Couleur = SC_Couleur +// Initialiser le sélecteur avec une couleur +// SC_Couleur = MaCouleur +Fin d'initialisation de SC_Couleur +// Met à jour avec la couleur par défaut +MajCouleur() +Affectation de la propriété Valeur de SC_Couleur +// Permet la syntaxe SC_Couleur = +MajCouleur(MoiMême..Valeur) +Récupération de la propriété Valeur de SC_Couleur +// Permet la syntaxe = SC_Couleur +CouleurActuelle est une Couleur = RVB(SAI_Rouge,SAI_Vert,SAI_Bleu) +renvoyer CouleurActuelle +Clic sur IMG_Palette ( SC_Couleur ) +06/08/2026 Isis_BO 1512 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Code des champs +// Lecture de la couleur sous le curseur +dCouleur est une Couleur = dPixelCouleur(IMG_Palette,SourisPosX(spChamp),SourisPosY(spChamp)) +// Met à jour l'UI avec la nouvelle couleur +MajCouleur(dCouleur) +Survol souris (WM_MOUSEMOVE) sur IMG_Palette ( SC_Couleur ) +// Met à jour la couleur sélectionnée au survol de la souris si le clic gauche est maintenu +si ToucheEnfoncée(teBoutonG) alors +ExécuteTraitement(MoiMême,trtClic) +fin +Clic sur LIB_Couleur ( SC_Couleur ) +nCouleur est un entier = RVB(SAI_Rouge,SAI_Vert,SAI_Bleu) +si SelectCouleur(nCouleur, scInit) alors +// Une couleur a été choisie, nCouleur contient la nouvelle couleur +MajCouleur(nCouleur) +fin +A chaque modification de SAI_Bleu ( SC_Couleur ) +// Met à jour l'UI à partir de la saisie RGB +MajDepuisRGB +A chaque modification de SAI_HTML ( SC_Couleur ) +// Si la saisie est valide +si Taille(SAI_HTML) = 6 alors +// Convertit la saisie HTML en couleur +d est une Couleur = RGB( HexaVersEntier(MoiMême[[1 sur 2]]) ,HexaVersEntier(MoiMême[[3 sur 2]]), +HexaVersEntier(MoiMême[[5 sur 2]]) ) +// Met à jour l'UI avec la nouvelle couleur +MajCouleur(d) +fin +A chaque modification de SAI_Rouge ( SC_Couleur ) +// Met à jour l'UI à partir de la saisie RGB +MajDepuisRGB +A chaque modification de SAI_Vert ( SC_Couleur ) +// Met à jour l'UI à partir de la saisie RGB +MajDepuisRGB +FEN_Choix_Couleur +Procédures +Procédure locale MajCouleur ( SC_Couleur ) +06/08/2026 Isis_BO 1513 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Procédures +procédure MajCouleur(local dCouleur est une Couleur = Blanc) +// Met à jour l'aperçu de la couleur +LIB_Couleur..CouleurFond = dCouleur +// Met à jour la valeur hexa HTML de la couleur sans le # +SAI_HTML = Majuscule(RVBVersHTML(dCouleur)[[2 à]]) +// Met à jours la saisie (uniquement si différente, afin de ne pas déplacer le curseur de +l'utilisateur) +si pas SAI_Rouge = dCouleur.Rouge alors SAI_Rouge = dCouleur.Rouge +si pas SAI_Vert = dCouleur.Vert alors SAI_Vert = dCouleur.Vert +si pas SAI_Bleu = dCouleur.Bleu alors SAI_Bleu = dCouleur.Bleu +Procédure locale MajDepuisRGB ( SC_Couleur ) +procédure MajDepuisRGB() +// Convertit la saisie RGB en couleur +d est une Couleur = RGB( Val(SAI_Rouge) ,Val(SAI_Vert), Val(SAI_Bleu) ) +// Met à jour l'UI à partir de cette couleur +MajCouleur(d) +06/08/2026 Isis_BO 1514 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Tous_Collaborateurs › Image +FEN_Choix_Tous_Collaborateurs +Image +FEN_Choix_Tous_Collaborateurs +Informations générales +FEN_Choix_Tous_Collaborateurs +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_Choix_Tous_Collaborateurs.wdw +Créé par SMR +Date de création 18/04/2025 13:35:23 +Dernière modification par SMR +Date dernière modification 06/08/2025 18:19:11 +Titre FR: Choix tous collaborateurs +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +06/08/2026 Isis_BO 1515 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Tous_Collaborateurs › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 469 Hauteur | 580 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| 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 | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| 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 | | | | +Image poignée D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\190 GENSTEEL\Gensteel_Resize.gif +| 06/08/2026 | | | Isis_BO | | 1516 | +| ---------- | --- | --- | ------- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Tous_Collaborateurs › Informations générales +Statistiques de la fenêtre +| | Bouton | | 2 | Image | | 6 | +| --- | ------ | --- | --- | ----- | --- | --- | +| | Arbre | | 1 | | | | +Nombre d'éléments dans la fenêtre : 9 +FEN_Choix_Tous_Collaborateurs +Informations sur les champs +Fenêtre : FEN_Choix_Tous_Collaborateurs +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Fermer | | 431 6 | 24 24 | 0 | Actif | Abandon | +| ------------ | --- | ----- | ----- | --- | ----- | ------- | +| BTN_valider1 | | 397 6 | 24 24 | 0 | Actif | Normal | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | laitini tatE | sucof cevA | +| --- | --- | --------------------- | --- | --- | ------------ | ---------- | +cilc cevA +ruegraL ruetuaH +elbisiV +nalP +| IMG_Advertencia | | -398 34 | 33 27 | 0 | Actif | | +| --------------- | --- | -------- | ------- | --- | ----- | ---- | +| IMG_EquipeAGD | | -306 -43 | 16 18 | 0 | Actif | | +| IMG_Femme | | -405 -46 | 18 18 | 0 | Actif | | +| IMG_Homme | | -381 -46 | 16 18 | 0 | Actif | | +| IMG_SocieteAGD | | -333 -42 | 16 18 | 0 | Actif | | +| IMG_Tous | | -354 -31 | 30 26 | 0 | Actif | | +| 06/08/2026 | | | Isis_BO | | | 1517 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Tous_Collaborateurs › Informations sur les champs +Arbre +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --------------------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ARBRE_Colb | 12 | 43 443 529 | 0 | Actif | | +| ---------- | --- | ---------- | --- | ----- | --- | +Fenêtre : FEN_Choix_Tous_Collaborateurs +Arbre : ARBRE_Colb +| Libellé FR: | &Arbre | | | | | +| ------------------------------------------------------------------- | ------ | --- | --- | --- | --- | +| Groupe GR_ChoixListe | | | | | | +| Ordre navigation 3 | | | | | | +| 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 | | | | | | +| Hauteur ligne (sans marges) 18 | | | | | | +| Marge en haut 2 | | | | | | +| Marge en bas 2 | | | | | | +| Marge à gauche 1 | | | | | | +| Marge à droite 3 | | | | | | +| Cadrage fonctions gXXX Tenir compte du cadrage | | | | | | +| Numéro aide 0 | | | | | | +| Opacité 100 | | | | | | +| Autorise ChangeGabarit Oui | | | | | | +| Multiligne Non | | | | | | +| Trois états 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 +| Transparence Magenta transparent | | | | | | +| -------------------------------- | --- | ------- | --- | --- | ---- | +| Multisélection Non | | | | | | +| Bulle ascenseur Oui | | | | | | +| Avec saisie Non | | | | | | +| Avec coche Oui | | | | | | +| Texte Markdown Non | | | | | | +| Mode menu ctx. | | | | | | +| Source de remplissage Mémoire | | | | | | +| Nb. Enreg. Max 0 | | | | | | +| Remplissage différé Oui | | | | | | +| Largeur image dossier -1 | | | | | | +| Personnaliser le picto AMI Non | | | | | | +| Indice du picto AMI 1 | | | | | | +| 06/08/2026 | | Isis_BO | | | 1518 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Tous_Collaborateurs › Informations sur les champs +Ancrage Droite, largeur et hauteur +Taux anc. droite 250 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +Bouton : BTN_Fermer +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 1519 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Tous_Collaborateurs › Informations sur les champs +Bouton : BTN_valider1 +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 1520 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Tous_Collaborateurs › Informations sur les champs +Image : IMG_Advertencia +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\advertencia.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_EquipeAGD +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\EquipeAGD.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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 +06/08/2026 Isis_BO 1521 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Tous_Collaborateurs › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Femme +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\femme.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Non +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +06/08/2026 Isis_BO 1522 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Tous_Collaborateurs › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Homme +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\homme.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Non +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_SocieteAGD +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\societeAGD.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +06/08/2026 Isis_BO 1523 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Tous_Collaborateurs › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Tous +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\tous.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +06/08/2026 Isis_BO 1524 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Tous_Collaborateurs › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Choix_Tous_Collaborateurs +Code +Déclarations globales de FEN_Choix_Tous_Collaborateurs +procédure FEN_Choix_Tous_Collaborateurs(paramSupplementaire est un STParamFenetreAppelante=Null) +gnIdMad est un entier sur 8 octets = gpclListeCivilite.RechercheEtDonneIdDepuisValeur("2") +Fin d'initialisation de FEN_Choix_Tous_Collaborateurs +FiltreColb() +FEN_Choix_Tous_Collaborateurs +Code des champs +Clic sur BTN_Fermer +si paramSupplementaire <> Null _et_ paramSupplementaire.sNomIDAppelant dans("ExtractionDonnees", +"AgendaPlanning" ) alors +TableauSupprimeTout(paramSupplementaire.tabIDS) +fin +Ferme() +Clic sur BTN_valider1 +RecuperIdColbSel() +Ferme() +FEN_Choix_Tous_Collaborateurs +Procédures +Procédure locale FiltreColb +06/08/2026 Isis_BO 1525 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Tous_Collaborateurs › Procédures +procédure FiltreColb() +ArbreSupprimeTout(ARBRE_Colb) +sIdSoc est une chaîne ANSI +sIdEq est une chaîne ANSI +sImageColb est une chaîne ANSI +pour tout Societe +si pas Societe.SO_Archive alors +sImageSoc est une chaîne ANSI = PreferenceCouleurSoc(c_CouleurIconeSoc,Societe.SO_PKID) +si SansEspace(sImageSoc) = "" alors +sImageSoc = IMG_SocieteAGD +sinon +sImageSoc = {sImageSoc} +fin +si ArbreAjoute(ARBRE_Colb,Societe.SO_Nom,sImageSoc,sImageSoc,"SO_PKID"+Societe.SO_PKID, +aTriAlpha,Societe.SO_Nom) alors // on peut avoir le mème Id pour societe et colb ou eq +ARBRE_Colb[Societe.SO_Nom]..CocheVisible = Faux +sIdSoc += [";"]+Societe.SO_PKID +fin +fin +fin +si SansEspace(sIdSoc) <> "" alors +reqEqp est une Requête SQL = +[ +SELECT EQ_PKID, EQ_Nom , SO_PKID , SO_Nom FROM Equipe +INNER JOIN Societe ON SO_PKID = EQ_IDSociete +WHERE EQ_IDSociete IN {p_idSoc} ORDER BY EQ_IDSociete +] +reqEqp.p_idSoc = sIdSoc +si HExécuteRequêteSQL(reqEqp) alors +pour tout reqEqp +si ArbreAjoute(ARBRE_Colb,reqEqp.SO_Nom+TAB+reqEqp.EQ_Nom,IMG_EquipeAGD,IMG_EquipeAGD, +"EQ_PKID"+reqEqp.EQ_PKID,aAccepteDoublon +aTriAlpha,reqEqp.SO_Nom) alors +ARBRE_Colb[reqEqp.SO_Nom+TAB+reqEqp.EQ_Nom]..CocheVisible = Faux +sIdEq += [";"]+reqEqp.EQ_PKID +fin +fin +fin +fin +si SansEspace(sIdEq) <> "" alors +reqColb est une Requête SQL = +[ +SELECT EQ_IDSociete, EQ_Nom, CO_PKID, CO_Nom, CO_Prenom, CO_Trigramme,CO_IDCivilite,EQ_PKID, +SO_PKID, SO_Nom +FROM Equipe_Collaborateur +INNER JOIN Equipe ON EQ_PKID = EC_IDEquipe +INNER JOIN Collaborateur ON CO_PKID = EC_IDCollaborateur +INNER JOIN Societe ON SO_PKID = EQ_IDSociete +WHERE EC_IDEquipe IN {p_IdEq} AND CO_Actif = 1 AND CO_AuPlanning = 1 ORDER BY EQ_IDSociete +] +reqColb.p_IdEq = sIdEq +si HExécuteRequêteSQL(reqColb) alors +pour tout reqColb +sImageColb = IMG_Homme +si reqColb.CO_IDCivilite = gnIdMad alors +sImageColb = IMG_Femme +sinon +sImageColb = IMG_Homme +fin +06/08/2026 Isis_BO 1526 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Tous_Collaborateurs › Procédures +ArbreAjoute(ARBRE_Colb,reqColb.SO_Nom+TAB+reqColb.EQ_Nom+TAB+reqColb.CO_Nom+" "+reqColb. +CO_Prenom,sImageColb,sImageColb,... +"CO_PKID_EQ_PKID"+reqColb.CO_PKID+"_"+reqColb.EQ_PKID,aAccepteDoublon + aTriAlpha,reqColb. +CO_Nom+" ("+reqColb.CO_Trigramme+")") +fin +fin +fin +nUnIdSocActifs est un entier sur 8 octets +nUnIdSocInactifs est un entier sur 8 octets +si SansEspace(sIdSoc) <> "" alors +reqColb2 est une Requête SQL = +[ +SELECT CO_PKID, CO_Nom, CO_Prenom,CO_Trigramme,CO_IDCivilite,CO_Actif, SO_PKID, SO_Nom FROM +Collaborateur +INNER JOIN Societe_Collaborateur ON SC_IDCollaborateur = CO_PKID +INNER JOIN Societe ON SO_PKID = SC_IDCSociete +WHERE SC_IDCSociete IN {p_IdSoc} AND CO_AuPlanning = 1 ORDER BY SC_IDCSociete +] +reqColb2.p_IdSoc = sIdSoc +si HExécuteRequête(reqColb2) alors +pour tout reqColb2 +si reqColb2.CO_IDCivilite = gnIdMad alors +sImageColb = IMG_Femme +sinon +sImageColb = IMG_Homme +fin +si reqColb2.co_actif alors +si nUnIdSocActifs <> reqColb2.SO_PKID alors +nUnIdSocActifs = reqColb2.SO_PKID +ArbreAjoute(ARBRE_Colb,reqColb2.SO_Nom+TAB+"Tous les collaborateurs",IMG_Tous,IMG_ +Tous,"EQ_PKID_SO_PKID0_"+reqColb2.SO_PKID,aDernier+aAccepteDoublon +aTriAlpha, +"Tous les collaborateurs") +ARBRE_Colb[reqColb2.SO_Nom+TAB+"Tous les collaborateurs"]..CocheVisible = Faux +fin +ArbreAjoute(ARBRE_Colb,reqColb2.SO_Nom+TAB+"Tous les collaborateurs"+TAB+reqColb2. +CO_Nom+" "+reqColb2.CO_Prenom,... +sImageColb,sImageColb,"CO_PKID_SO_PKID"+reqColb2.CO_PKID+"_"+reqColb2.SO_PKID, +aAccepteDoublon + aTriAlpha,reqColb2.CO_Nom+" ("+reqColb2.CO_Trigramme+")") +sinon +si nUnIdSocInactifs <> reqColb2.SO_PKID alors +nUnIdSocInactifs = reqColb2.SO_PKID +ArbreAjoute(ARBRE_Colb,reqColb2.SO_Nom+TAB+"Collaborateurs inactifs",IMG_ +Advertencia,IMG_Advertencia,"EQ_PKID_SO_PKID0_"+reqColb2.SO_PKID,aDernier+ +aAccepteDoublon +aTriAlpha,"Collaborateurs inactifs") +ARBRE_Colb[reqColb2.SO_Nom+TAB+"Collaborateurs inactifs"]..CocheVisible = Faux +fin +ArbreAjoute(ARBRE_Colb,reqColb2.SO_Nom+TAB+"Collaborateurs inactifs"+TAB+reqColb2. +CO_Nom+" "+reqColb2.CO_Prenom,... +sImageColb,sImageColb,"CO_PKID_SO_PKID"+reqColb2.CO_PKID+"_"+reqColb2.SO_PKID, +aAccepteDoublon + aTriAlpha,reqColb2.CO_Nom+" ("+reqColb2.CO_Trigramme+")") +fin +fin +fin +fin +Procédure locale RecuperIdColbSel +06/08/2026 Isis_BO 1527 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Tous_Collaborateurs › Procédures +procédure RecuperIdColbSel() +nOccurenceTotale est un entier +sIdentifiantArbre est une chaîne +nIdColb est un entier sur 8 octets +sID_1 est une chaîne ANSI +nOccurenceTotale = ArbreOccurrence(ARBRE_Colb) +b est un entier +si paramSupplementaire <> Null _et_ paramSupplementaire.sNomIDAppelant dans("ExtractionDonnees", +"AgendaPlanning" ) alors +TableauSupprimeTout(paramSupplementaire.tabIDS) +pour i = 1 à nOccurenceTotale +sIdentifiantArbre = ArbreRécupèreIdentifiant(ARBRE_Colb,ARBRE_Colb[i]) +si Contient(sIdentifiantArbre,"CO_PKID_EQ_PKID",SansCasse) ou Contient(sIdentifiantArbre, +"CO_PKID_SO_PKID",SansCasse) alors // Collaborateurs uniquement +si ARBRE_Colb[i]..CocheVisible _et_ ARBRE_Colb[i]..Cochée alors +nIdColb = 0 +sID_1 = Remplace(sIdentifiantArbre,"CO_PKID_SO_PKID","",SansCasse) +sID_1 = Remplace(sID_1,"CO_PKID_EQ_PKID","",SansCasse) +b = Position(sID_1,"_",0,DepuisDébut) +si b > 0 alors +nIdColb = Val(sID_1[1 à b]) +TableauAjoute(paramSupplementaire.tabIDS, nIdColb) +fin +fin +fin +fin +fin +06/08/2026 Isis_BO 1528 + +Partie 3 › Fenêtre WINDEV › FEN_SlammHeures › Image +FEN_SlammHeures +Image +FEN_SlammHeures +Informations générales +FEN_SlammHeures +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FEN_SlammHeures.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 04/12/2025 16:18:07 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 10/02/2026 08:41:09 | | | | +| Titre | | FR: Export Slamm Heures | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 355 Hauteur | 294 | +| 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. +| 06/08/2026 | | | Isis_BO | | 1529 | +| ---------- | --- | --- | ------- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_SlammHeures › Informations générales +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +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 +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Image poignée D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\190 GENSTEEL\Gensteel_Resize.gif +06/08/2026 Isis_BO 1530 + +Partie 3 › Fenêtre WINDEV › FEN_SlammHeures › Informations générales +Statistiques de la fenêtre +Image 1 +Nombre d'éléments dans la fenêtre : 1 +FEN_SlammHeures +Informations sur les champs +Fenêtre : FEN_SlammHeures +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | laitini tatE | sucof cevA | +| --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +ruegraL ruetuaH cilc cevA +elbisiV +nalP +| IMG_SansNom80 | 64 26 | 224 209 | 0 | Actif | | +| ------------- | ----- | ------- | --- | ----- | --- | +Fenêtre : FEN_SlammHeures +Image : IMG_SansNom80 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\IMG-Chargement-25.svg +| Curseur survol | 0 | | | | | +| -------------------------------- | ---------------------------------- | ------- | --- | --- | ---- | +| UI par l'utilisateur | Selon fenêtre | | | | | +| Menu manip. image | | | | | | +| 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 | | | | | +| 06/08/2026 | | Isis_BO | | | 1531 | + +Partie 3 › Fenêtre WINDEV › FEN_SlammHeures › Informations sur les champs +Facteur d'agrandissement 0 +Texte Markdown Non +Mode menu ctx. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_SlammHeures +Code +Déclarations globales de FEN_SlammHeures +procédure FEN_SlammHeures() +gsErreur est une chaîne ANSI +gdhDateDeb est une DateHeure +gdhDateFin est une DateHeure +gsRep est une chaîne ANSI +gbRdvDejaExporte est un booléen +gtaSuivi est un tableau associatif de STInfoSuivis +gtaTempParSociete est un tableau associatif de STInfoRdvSoc +gsaNomFichier est une chaîne ANSI +Filtrer() +FEN_SlammHeures +Code des champs +FEN_SlammHeures +Procédures +Procédure locale AjouterDateExportRDV +06/08/2026 Isis_BO 1532 + +Partie 3 › Fenêtre WINDEV › FEN_SlammHeures › Procédures +procédure AjouterDateExportRDV(sId est une chaîne ANSI) +saComplReq est une chaîne ANSI = "" +sReq est une chaîne ANSI = [ +UPDATE Planning_RDV +SET Planning_RDV.PL_DateExport = +] +saComplReq = "'" + DateHeureSys() + "' " +saComplReq +="WHERE Planning_RDV.PL_PKID IN ("+ Gauche(sId,Taille(sId)-1)+")" +sReq += saComplReq +sdRReq est une Source de Données +si pas HExécuteRequêteSQL(sdRReq,hRequêteDéfaut,sReq) alors +gsErreur = "Une erreur s'est produite, la date d'exportation n'a pas pu être attribuée" +renvoyer Faux +fin +renvoyer Vrai +Procédure locale CreationFichierCSV +procédure CreationFichierCSV() +// Conversion d'un fichier de données en CSV (export) +sLigneAEcrire est une chaîne +sContenuLignes est une chaîne +sContenuFichier est une chaîne +sCheminFichier est une chaîne +nQteFichier est un entier +sFichierCrees est une chaîne ANSI +sFichierNonCrees est une chaîne ANSI +sIdRdvs est une chaîne ANSI +bOk est un booléen +si gtaTempParSociete..Occurrence > 0 alors +pour tout stSoc de gtaTempParSociete +bOk = Faux +sIdRdvs = "" +sContenuLignes = "" +pour tout stInfo de stSoc:tabRDv +sLigneAEcrire = TraitementChaine(stInfo.saDateDebut)+";"... ++TraitementChaine(stInfo.saDateFin)+";"... ++TraitementChaine(stInfo.saHeureDebut)+";"... ++TraitementChaine(stInfo.saHeureFin)+";"... ++TraitementChaine(stInfo.saHeureDebutPlanning)+";"... ++TraitementChaine(stInfo.saHeureFinPlanning)+";"... ++TraitementChaine(stInfo.saDossier)+";"... ++TraitementChaine(stInfo.saIntervention)+";"... ++TraitementChaine(stInfo.saDevis)+";"... ++TraitementChaine(stInfo.saNomClient)+";"... ++TraitementChaine(stInfo.saTechnicien)+";"... ++TraitementChaine(stInfo.saQteHeures)+";"... ++TraitementChaine(stInfo.saTypeTemps)+";"... ++TraitementChaine(stInfo.saTypeRDV)+";"... ++TraitementChaine(stInfo.saAdresse)+";"... ++TraitementChaine(stInfo.saCP)+";"... ++TraitementChaine(stInfo.sAVille)+";" +si stInfo.bTempsSaisie alors +sLigneAEcrire += "OUI" +sinon +06/08/2026 Isis_BO 1533 + +Partie 3 › Fenêtre WINDEV › FEN_SlammHeures › Procédures +sLigneAEcrire += "NON" +fin +sContenuLignes += sLigneAEcrire + RC +sIdRdvs += stInfo.nIdRdv+"," +bOk = Vrai +fin +si bOk alors +si SansEspace(gsaNomFichier) = "" alors +gsaNomFichier = DateHeureSys() +fin +sCheminFichier = gsRep+"\"+gsaNomFichier+".csv" +si fFichierExiste(sCheminFichier) = Vrai alors +sContenuFichier = fChargeTexte(sCheminFichier) +sinon +sContenuFichier = +"DateDebut;DateFin;HeureDebut;HeureFin;HeureDebutPlanning;HeureFinPlanning;Dossier;Int +ervention;Devis;NomClient;Technicien;" +... ++"QteHeures;TypeTemps;TypeRDV;Adresse;CP;Ville;Temps validé"+RC +fin +sContenuFichier += sContenuLignes +si fSauveTexte (sCheminFichier, sContenuFichier) alors +nQteFichier += 1 +sFichierCrees += sCheminFichier + RC +//Appelle méthode pour mettre la date de export +si pas AjouterDateExportRDV(sIdRdvs) alors +LogEcrit(gsErreur,eErreur) +MessageProcd() +retour +fin +sinon +sFichierNonCrees += sCheminFichier + RC +fin +fin +fin +MessageProcd() +sinon +LogEcrit("Aucun RDV trouvé pour cette période",eInfo) +fin +procédure interne MessageProcd() +si nQteFichier > 0 ou sFichierNonCrees <> "" alors +si sFichierNonCrees <> "" alors +LogEcrit("Un erreur est survenu"+RC+"Certains fichiers non pas pu être crées"+RC+ +sFichierNonCrees,eAlerte) +fin +fin +fin +Procédure locale FiltreInfo +procédure FiltreInfo(sdReq_1 est une Source de Données) +06/08/2026 Isis_BO 1534 + +Partie 3 › Fenêtre WINDEV › FEN_SlammHeures › Procédures +pstUnRdv est une stInfoRDV dynamique +saAdrs est une chaîne ANSI +bOk est un booléen +//nRechercheTemps est un entier +duMaDurée est une Durée +sDD, sDF, sDC_CR est une chaîne ANSI +HD, HF est une Heure +duDureeRdv est une Durée +nTempHInterMoins est un entier +dhHeurDebutInter , dhHeureFinInterest une DateHeure +nIDtempInter est un entier sur 8 octets = gpclListeTypeTemps. +RechercheEtDonneIdDepuisValeur(2) +sTypeTempsInter est une chaîne ANSI = gpclListeTypeTemps. +RechercheEtDonneLibelleDepuisID(nIDtempInter) +pour tout sdReq_1 +bOk = Faux +sDD = "" +sDF = "" +HD = "" +HF = "" +sDC_CR = "" +nTempHInterMoins = 0 +si gtaSuivi[sdReq_1.PL_PKID]..Existe alors +pour tout stSuivi de gtaSuivi[sdReq_1.PL_PKID].taSuivis +bOk = DonneTemp(stSuivi.dhDateHeureDebut,stSuivi.dhDateHeureFin) +si bOk et stSuivi.nNbMin > 0 et stSuivi.nIdTypeTemps = nIDtempInter alors +dhHeurDebutInter = stSuivi.dhDateHeureDebut +dhHeureFinInter = stSuivi.dhDateHeureFin +fin +fin +pour tout stSuivi de gtaSuivi[sdReq_1.PL_PKID].taSuivis +bOk = DonneTemp(stSuivi.dhDateHeureDebut,stSuivi.dhDateHeureFin) +si bOk et stSuivi.nNbMin > 0 et stSuivi.nIdTypeTemps <> nIDtempInter alors +RemplirRDV(sdReq_1,0,stSuivi.sTypeTemps,Vrai) +si stSuivi.dhDateHeureDebut >= dhHeurDebutInter et stSuivi.dhDateHeureFin <= +dhHeureFinInter alors +duMaDurée = (stSuivi.dhDateHeureFin - stSuivi.dhDateHeureDebut) +nTempHInterMoins += duMaDurée..EnMinutes +fin +fin +fin +pour tout stSuivi de gtaSuivi[sdReq_1.PL_PKID].taSuivis +bOk = DonneTemp(stSuivi.dhDateHeureDebut,stSuivi.dhDateHeureFin) +si bOk et stSuivi.nNbMin > 0 et stSuivi.nIdTypeTemps = nIDtempInter alors +RemplirRDV(sdReq_1,nTempHInterMoins,stSuivi.sTypeTemps,Vrai) +fin +fin +sinon +bOk = Faux +bOk = DonneTemp(sdReq_1.PL_DateDebut,sdReq_1.PL_DateFin) +si bOk alors +RemplirRDV(sdReq_1,0,sTypeTempsInter,Faux) +fin +fin +fin +procédure interne RemplirRDV(local sdReq est un Source de Données, nDureeAutreTemps est un entier, +sATypeTemps est une chaîne ANSI, bTempos est un booléen) +pstUnRdv = allouer un stInfoRDV +06/08/2026 Isis_BO 1535 + +Partie 3 › Fenêtre WINDEV › FEN_SlammHeures › Procédures +pstUnRdv.nIdRdv = sdReq.PL_PKID +pstUnRdv.saDateDebut = sDD +pstUnRdv.saDateFin = sDD +si HF < HD alors +dateFinDif est une Date = sDD +dateFinDif..Jour += 1 +pstUnRdv.saDateFin = dateFinDif // rdv de nuit +sDF = dateFinDif +fin +pstUnRdv.saHeureDebut = Gauche(HD,2)+"h"+Droite(Gauche(HD,4),2) +pstUnRdv.saHeureFin = Gauche(HF,2)+"h"+Droite(Gauche(HF,4),2) +pstUnRdv.saHeureDebutPlanning = Gauche(Droite(sdReq.PL_DateDebut,9),2)+"h"+Droite(Gauche( +Droite(sdReq.PL_DateDebut,9),4),2) +pstUnRdv.saHeureFinPlanning = Gauche(Droite(sdReq.PL_DateFin,9),2)+"h"+Droite(Gauche( +Droite(sdReq.PL_DateFin,9),4),2) +pstUnRdv.saDossier = sdReq.DO_RefInterne +pstUnRdv.saIntervention = sdReq.IN_RefInterne +pstUnRdv.saDevis = sdReq.IN_NumDevis +pstUnRdv.saNomClient = sdReq.CL_Nom +pstUnRdv.saTechnicien = sdReq.CO_Trigramme +dhDateD est une DateHeure +dhDatef est une DateHeure +dhDateD..PartieDate = sDD +dhDateD..PartieHeure = HD +dhDatef..PartieDate = sDF +dhDatef..PartieHeure = HF +duDureeRdv = dhDatef - dhDateD +pstUnRdv.sAQteHeures = Abs(Arrondi(((duDureeRdv..EnMinutes-nDureeAutreTemps)/60),2)) +pstUnRdv.saTypeTemps = sATypeTemps +pstUnRdv.saTypeRDV = gpclListeTypeRendezVous.RechercheEtDonneLibelleDepuisID( +sdReq.PL_IDTypeActivite) +pstUnRdv.nSav = sdReq.PL_SAV ? 1 sinon 0 +pstUnRdv.sCreationCR = sDC_CR +pstUnRdv.bTempsSaisie = bTempos +si gtaBaseExterneParSoc[sdReq.UT_IDSocietePrincipale]..Existe alors +pour tout SocB_Ext de gtaBaseExterneParSoc +si SocB_Ext.m_nIDSociete = sdReq.UT_IDSocietePrincipale alors +pstUnRdv.saBGSociete = SocB_Ext.m_sNom +fin +fin +fin +saAdrs = "" +TraitementAdresse(saAdrs,sdReq.AD_Ligne_1) +TraitementAdresse(saAdrs,sdReq.AD_Ligne_2) +TraitementAdresse(saAdrs,sdReq.AD_Ligne_3) +TraitementAdresse(saAdrs,sdReq.AD_Ligne_4) +TraitementAdresse(saAdrs,sdReq.AD_Ligne_5) +pstUnRdv.saAdresse = saAdrs +pstUnRdv.saCP = sdReq.AD_CodePostal +pstUnRdv.sAVille = sdReq.AD_Ville +si gtaTempParSociete[sdReq.UT_IDSocietePrincipale]..Existe alors +TableauAjoute(gtaTempParSociete[sdReq.UT_IDSocietePrincipale].tabRDV, pstUnRdv) +06/08/2026 Isis_BO 1536 + +Partie 3 › Fenêtre WINDEV › FEN_SlammHeures › Procédures +sinon +stTableRdvs est un STInfoRdvSoc +gtaTempParSociete[sdReq.UT_IDSocietePrincipale] = stTableRdvs +TableauAjoute(gtaTempParSociete[sdReq.UT_IDSocietePrincipale].tabRDV, pstUnRdv) +fin +si duDureeRdv..EnJours > 1 alors +dNouvelleDate est une Date = sDD +numeroJour est un entier +boucle +dNouvelleDate.Jour++ +si numeroJour >= Abs(duDureeRdv..EnJours) alors +pstUnRdv.saDateDebut = dNouvelleDate +si HF < HD alors // rdv de nuit +dNouvelleDate..Jour += 1 +fin +pstUnRdv.saDateFin = dNouvelleDate +TableauAjoute(gtaTempParSociete[sdReq.UT_IDSocietePrincipale].tabRDV, pstUnRdv) +si HF < HD alors // rdv de nuit +dNouvelleDate..Jour -= 1 +fin +numeroJour += 1 +sinon +sortir +fin +fin +fin +fin +procédure interne DonneTemp(DateHD est une DateHeure, DateHF est une DateHeure) +sDD = Gauche(DateHD,8) +sDF = Gauche(DateHF,8) +HD = Droite(DateHD,9) +HF = Droite(DateHF,9) +si sDD = "" ou sDF = "" ou HD = "" ou HF = "" alors +renvoyer Faux +sinon +renvoyer Vrai +fin +fin +Procédure locale Filtrer +procédure Filtrer() +quand exception dans +sDateDebest une chaîne ANSI +sDatefinest une chaîne ANSI +sDateDeb = LigneCommande("DateD") +sDatefin = LigneCommande("DateF") +gbRdvDejaExporte = LigneCommande("Exporte") +gsaNomFichier = LigneCommande("NomFichier") +si EnModeTest() alors +sDateDeb = "20260208" +sDatefin = "20260210" +gbRdvDejaExporte = 1 +gsaNomFichier = "Tests" +fin +06/08/2026 Isis_BO 1537 + +Partie 3 › Fenêtre WINDEV › FEN_SlammHeures › Procédures +si SansEspace(sDateDeb,sscExtérieur) = "" alors +LogEcrit("La date de début n’a pas été spécifiée",eErreur) +FinProgramme() +sinon +gdhDateDeb..PartieDate = sDateDeb +fin +si SansEspace(sDatefin,sscExtérieur) <> "" alors +gdhDateFin..PartieDate = sDatefin +sinon +gdhDateFin..PartieDate = DateSys() +fin +gdhDateDeb..PartieHeure = "000000000" +gdhDateFin..PartieHeure = "000000000" +gdhDateFin.Jour += 1 +si gdhDateDeb > DateDuJour() alors +LogEcrit("La date de début doit être inférieure ou égale à la date d'aujourd'hui",eErreur) +FinProgramme() +fin +si gdhDateDeb > gdhDateFin alors +LogEcrit("La date de début doit être inférieure ou égale à la date de fin",eErreur) +fin +si HLitRecherchePremier(ParametreSysteme,PAS_Code,"PARAM_REP_HEURES") alors +gsRep = ParametreSysteme.PAS_Valeur +fin +si gsRep = "" alors +LogEcrit("Erreur : le répertoire n’a pas été spécifié.",eErreur) +FinProgramme() +sinon +si pas fRepCrée(gsRep) alors +LogEcrit("Erreur pendant la création du répertoire : "+gsRep+RC+ErreurInfo(errMessage), +eErreur) +FinProgramme() +fin +fin +RechercherIdActTemp() +si pas ReqTemps() alors +LogEcrit("Erreur pendant la création du fichier : "+RC+gsErreur,eErreur) +FinProgramme() +sinon +CreationFichierCSV() +fin +FinProgramme() +faire +LogEcrit("Erreur exception "+ExceptionInfo(errMessage),eErreur) +FinProgramme() +fin +//@echo off +//"D:\Projets Windev\Batik\WD30\Dev\Exe\SLAMM_RecupHeures\ExportHeure.exe" -DateD=20240201 +-DateF=20240231 -Exporte=0 +//"D:\Applilogik\ExportHeure.exe" -DateD=20180201 -DateF=20180231 -Exporte=0 +//exit +//@echo off +//"D:\Applilogik\ExportHeure.exe" -DateD=20180201 -DateF=20180231 -Exporte=0 +//exit +Procédure locale RechercherIdActTemp +06/08/2026 Isis_BO 1538 + +Partie 3 › Fenêtre WINDEV › FEN_SlammHeures › Procédures +procédure RechercherIdActTemp() +//ValeurJson est un ST_TypeActiviteRDV +//Chargement des types des rendez-vous +gpclListeTypeRendezVous = PTableParametreMetier.gNouvellePresentation("14") +gpclListeTypeTemps = PTableParametreMetier.gNouvellePresentation("18") +//TableauSupprimeTout(gtabIdActTempSuivi) +// +//pour tout pclParam de gpclListeTypeRendezVous:m_clTabModele +// TableauAjoute(gtabIdActTempSuivi,pclParam.m_nPKID) +// +////si pclParam:m_sParametre <> "" alors +//// Désérialise(ValeurJson,pclParam:m_sParametre,psdJSON) +//// SI ValeurJson.Saisir_temps_obligatoire > 0 ALORS +//// TableauAjoute(gtabIdActTempSuivi,pclParam.m_nPKID) +//// FIN +////FIN +//FIN +Procédure locale RechercheSuiviTemps +procédure RechercheSuiviTemps() +TableauSupprimeTout(gtaSuivi) +nIdTypeTempsInter est un entier sur 8 octets = gpclListeTypeTemps.RechercheEtDonneIdDepuisValeur(2) +saComplReq est une chaîne ANSI = "" +saRqSDT est une chaîne ANSI = [ +SELECT +SuiviDesTemps.*, +PL_DateDebut, +PL_DateFin, +PA_Libelle +FROM SuiviDesTemps +INNER JOIN Planning_RDV ON PL_PKID = suiviDesTemps.SDT_IDRdv +INNER JOIN ParametreMetier on PA_PKID = SuiviDesTemps.SDT_IDTypeTemps +INNER JOIN Utilisateur ON (UT_IDCollaborateur = PL_IDCollaborateur) +where +Planning_RDV.Archive=0 +AND SDT_NbMinutes > 0 +AND SDT_DateDebut > '00000000' AND SDT_DateHeureFin > '00000000' +and SDT_IDTypeTemps > 0 +] +saComplReq += " AND Planning_RDV.PL_DateDebut > '" + StrSQL(gdhDateDeb) + "' " +//Traitement de la date fin +nDateFinest un entier = 0 +saComplReq += " AND Planning_RDV.PL_DateFin < '" + StrSQL(gdhDateFin) + "' " +saComplReq += " ORDER by SuiviDesTemps.SDT_IDRdv" +saRqSDT += saComplReq +sdSDSDT est une Source de Données +si pas HExécuteRequêteSQL(sdSDSDT,hRequêteSansCorrectionHF,saRqSDT) alors +gsErreur = "Une erreur s'est produite, les temps n'ont pas été récupérés"+RC+HErreurInfo( +hErrComplet) +renvoyer Faux +sinon +pour tout sdSDSDT +06/08/2026 Isis_BO 1539 + +Partie 3 › Fenêtre WINDEV › FEN_SlammHeures › Procédures +stSDT est une STSuivisRqListe +| stSDT.dhDateHeureDebut | | = sdSDSDT.SDT_DateDebut | | | +| ---------------------- | --- | ---------------------------- | --- | --- | +| stSDT.dhDateHeureFin | | = sdSDSDT.SDT_DateHeureFin | | | +| stSDT.nIN_PKID | | = sdSDSDT.SDT_IDIntervention | | | +| stSDT.nRDV_PKID | | = sdSDSDT.SDT_IDRdv | | | +| stSDT.dhDateCreation | | = sdSDSDT.CreationDate | | | +| stSDT.sGUID | | = sdSDSDT.GUID | | | +| stSDT.nNbMin | | = sdSDSDT.SDT_NbMinutes | | | +| stSDT.sTypeTemps | | = sdSDSDT.PA_Libelle | | | +| stSDT.nIdTypeTemps | | = sdSDSDT.SDT_IDTypeTemps | | | +| stSDT.dhDateHDRDV | | = sdSDSDT.PL_DateDebut | | | +| stSDT.dhDateHFRDV | | = sdSDSDT.PL_DateFin | | | +gtaSuivi[sdSDSDT.SDT_IDRdv].nRDV_PKID = sdSDSDT.SDT_IDRdv +gtaSuivi[sdSDSDT.SDT_IDRdv].taSuivis[sdSDSDT.SDT_IDTypeTemps] = stSDT +fin +fin +pour tout suivis de gtaSuivi +si suivis.taSuivis[nIdTypeTempsInter]..Existe <> Faux alors +pour tout stTemps de suivis.taSuivis +si stTemps.nIdTypeTemps <> nIdTypeTempsInter alors +si stTemps.dhDateHDRDV <= stTemps.dhDateHeureDebut et stTemps.dhDateHFRDV >= stTemps. +dhDateHeureFin alors +suivis.taSuivis[nIdTypeTempsInter].nNbMin -= stTemps.nNbMin +fin +fin +fin +fin +fin +renvoyer Vrai +Procédure locale ReqTemps +procédure ReqTemps() +| saComplReq | est une chaîne ANSI | = "" | | | +| ---------- | ----------------------- | ---- | --- | --- | +| saReqRDV | est une chaîne ANSI = [ | | | | +SELECT Planning_RDV.*, CL_Nom, IN_NumDevis, IN_RefInterne, DO_RefInterne, AD_Ligne_1, AD_Ligne_2, +AD_Ligne_3,AD_Ligne_4,AD_Ligne_5,AD_CodePostal,AD_Ville,UT_IDSocietePrincipale,CO_Trigramme +FROM Planning_RDV +LEFT OUTER JOIN Intervention ON (Intervention.IN_PKID=Planning_RDV.PL_IDIntervention) +LEFT OUTER JOIN Dossier ON (Dossier.DO_PKID=Intervention.IN_IDDossier) +LEFT OUTER JOIN Client ON (Client.CL_PKID=Intervention.IN_IDClient) +LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Planning_RDV.PL_IDLieu) +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +LEFT OUTER JOIN Utilisateur ON (UT_IDCollaborateur = PL_IDCollaborateur) +LEFT OUTER JOIN Collaborateur ON (Collaborateur.CO_PKID=PL_IDCollaborateur) +WHERE Planning_RDV.Archive=0 +] +saComplReq += " AND Planning_RDV.PL_DateDebut > '" + StrSQL(gdhDateDeb) + "'" +//Traitement de la date fin +nDateFin est un entier = 0 +saComplReq += " AND Planning_RDV.PL_DateFin < '" + StrSQL(gdhDateFin) + "'" +si pas gbRdvDejaExporte alors +| 06/08/2026 | | | Isis_BO | 1540 | +| ---------- | --- | --- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_SlammHeures › Procédures +saComplReq += " AND Planning_RDV.PL_DateExport = ''" +fin +saComplReq += " ORDER by Planning_RDV.PL_DateDebut" +saReqRDV += saComplReq +sdSDRDV est une Source de Données +si pas HExécuteRequêteSQL(sdSDRDV,hRequêteSansCorrectionHF,saReqRDV) alors +gsErreur = "Une erreur s'est produite, les rendez-vous n'ont pas été récupérés"+RC+HErreurInfo( +hErrComplet) +renvoyer Faux +sinon +si RechercheSuiviTemps() alors +FiltreInfo(sdSDRDV) +renvoyer Vrai +sinon +gsErreur = "Une erreur s'est produite, les suivis de temps n'ont pas été récupérés" +renvoyer Faux +fin +fin +Procédure locale TraitementAdresse +procédure TraitementAdresse(sAdresse est une chaîne ANSI, sLigne est une chaîne ANSI) +si sLigne <> "" alors +si sAdresse <> "" alors +sAdresse += " " +fin +sAdresse += sLigne +fin +Procédure locale TraitementChaine +procédure TraitementChaine(sMaChaine est une chaîne) +sMaChaine = Remplace(sMaChaine,";","") +sMaChaine = Remplace(sMaChaine,",",".") +sMaChaine = Remplace(sMaChaine,TAB," ") +renvoyer SupprimerRC(sMaChaine) +06/08/2026 Isis_BO 1541 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Image +FI_Liste_Societe +Image +FI_Liste_Societe +Informations générales +FI_Liste_Societe +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Liste_Societe.wdw +| Créé par | | frederic.bourras@applilogik.fr | | | | +| -------------------------- | ------------ | ------------------------------ | --------- | --------------- | --- | +| Date de création | | 07/08/2018 14:04:23 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:32 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 769 Hauteur | 89 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ------- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| 06/08/2026 | | | Isis_BO | | 1542 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Informations générales +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Statistiques de la fenêtre +Libellé 3 Bouton 6 +Image 2 Table 1 +Forme 1 Fenêtre interne 1 +Fenêtre interne 1 Colonne de table 8 +Disposition 2 Cellule de disposition 13 +Nombre d'éléments dans la fenêtre : 38 +FI_Liste_Societe +Informations sur les champs +06/08/2026 Isis_BO 1543 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Informations sur les champs +Fenêtre : FI_Liste_Societe +Fenêtre interne +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| FI_Liste_Societe | | 0 | 0 | 769 | 89 | 0 | | | | +| ---------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +Fenêtre interne : FI_Liste_Societe +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | --- | +| | | | | | laitini tatE | | | FTR tamroF | | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +LIB_Titre_de_fenêtre_liste_societ 6 6 39 21 0 Actif Gauche Centre +| LIB_Total_Titre_Liste_Societe | 0 | 0 40 | 14 | 0 | Actif | Gauche | Haut | | | +| ----------------------------- | --- | ---- | --- | --- | ----- | ------ | ---- | --- | --- | +| LIB_Total_liste_Societe | 44 | 0 36 | 14 | 0 | Actif | Gauche | Haut | | | +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| BTN_F5_LISTE_SOCIETE | -86 | 5 | 80 | 24 | 0 | Actif | | Normal | | +| ----------------------------- | --- | --- | --- | --- | --- | ----- | --- | ------- | --- | +| BTN_Fermer_liste_societe | 4 | 4 | 24 | 24 | 0 | Actif | | Abandon | | +| BTN_Modifier_liste_societe | 4 | 4 | 24 | 24 | 0 | Grisé | | Normal | | +| BTN_Nouveau_liste_societe | 4 | 4 | 24 | 24 | 0 | Actif | | Normal | | +| BTN_SelectLigne_liste_societe | 4 | 4 | 24 | 24 | 0 | Grisé | | Normal | | +| BTN_Supprimer_liste_societe | 4 | 4 | 24 | 24 | 0 | Grisé | | Normal | | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | sucof cevA | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | ---------- | +cilc cevA +| | | | ruegraL | ruetuaH | | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| IMG_OPACITE_ENTETE_SOCIETE | 0 | 0 | 769 | 33 | 0 | Actif | | | | +| -------------------------- | --- | --- | ------- | --- | --- | ----- | --- | --- | ---- | +| IMG_OPACITE_TABLE_SOCIETE | 0 | 0 | 769 | 42 | 0 | Actif | | | | +| 06/08/2026 | | | Isis_BO | | | | | | 1544 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Informations sur les champs +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 | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | +ruegraL +elbisiV +| | | | nalP | | elbaT | | | | | +| ------------- | --- | -------- | ---- | -------- | -------- | --- | --- | --- | --- | +| TABLE_SOCIETE | 0 | 0 769 42 | 0 | affichag | Variable | | | | 7 | +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| FRM_BANDEAU_BAS_CLIENT | | | 0 | 0 | 769 | 14 | 0 | Actif | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Fenêtre interne +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| CFI_SOUSELEMENT_LISTE_SOCIETE | | | 0 | 0 | 769 | 562 | 0 | Actif | | +| ----------------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Disposition +BAT ehcuoT +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| DISP_BANDEAU_ENTETE_LISTE_SOCIETE | | | 0 | 0 | 769 | 32 | 0 | Actif | | +| --------------------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| DISP_LISTE_SOCIETE | | | 0 | 0 | 769 | 89 | 0 | Actif | | +Table : FI_Liste_Societe.DISP_LISTE_SOCIETE.TABLE_SOCIETE +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_sNom | | 211 | Actif | | | Gauche Centre | Texte | | | +| COL_sSIRET | | 123 | Actif | | | Gauche Centre | Texte | | | +| COL_sTel | | 110 | Actif | | | Gauche Centre | Texte | | | +| COL_sFAX | | 105 | Actif | | | Gauche Centre | Texte | | | +| COL_sEmail | | 139 | Actif | | | Gauche Centre | Texte | | | +| 06/08/2026 | | | | Isis_BO | | | | | 1545 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Informations sur les champs +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_sSiteWeb | 141 | Actif | | Gauche Centre | Texte | | +| COL_Adresse | 270 | Actif | | Gauche Centre | Texte | | +| COL_PKID | 100 | Actif | | Droite Centre | Numériq | | +Fenêtre : FI_Liste_Societe +Fenêtre interne : FI_Liste_Societe +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ---------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Compatible desktop ET mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +Facteur d'agrandissement +0 +| Ctx. HFSQL indép. | Non | | | | | | +| ----------------- | ------- | --- | --- | --- | --- | --- | +| Ancrage | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Liste_Societe +Bouton : FI_Liste_Societe.BTN_F5_LISTE_SOCIETE +| Libellé | FR: | F5 | | | | | +| -------------------------- | ------------- | --- | ------- | --- | --- | ---- | +| Ordre navigation | -1 | | | | | | +| 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 | | | | | | +| 06/08/2026 | | | Isis_BO | | | 1546 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Image fond FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Blueberries\Blueberries_Btn_Std.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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Bouton : +Ordre navigation 1 +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 +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 +06/08/2026 Isis_BO 1547 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GR_MODIFICATION_LISTE_SOCIETE +Ordre navigation 1 +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 +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 +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 +06/08/2026 Isis_BO 1548 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Informations sur les champs +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +06/08/2026 Isis_BO 1549 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GR_MODEFORMULAIRE_LISTE_SOCIETE +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1550 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Informations sur les champs +Bouton : +Groupe GR_MODIFICATION_LISTE_SOCIETE +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1551 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Informations sur les champs +Fenêtre interne : +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 +Ancrage au contenu +Numéro aide 0 +Ascenseur auto. 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 +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Afficher un ascenseur automatiquement +06/08/2026 Isis_BO 1552 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Informations sur les champs +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Societe.DISP_LISTE_SOCIETE +Libellé FR: Disposition +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 +Cellule ancrée 4 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Liste_Societe.DISP_LISTE_SOCIETE.FRM_BANDEAU_BAS_CLIENT +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et bas +06/08/2026 Isis_BO 1553 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Liste_Societe.DISP_LISTE_SOCIETE.IMG_OPACITE_ENTETE_SOCIETE +Groupe GR_IMAGE_OPAQUE_LISTE_SOCIETE +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 50 +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. +Mire visible Non +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF 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 +Image : FI_Liste_Societe.DISP_LISTE_SOCIETE.IMG_OPACITE_TABLE_SOCIETE +Groupe GR_IMAGE_OPAQUE_LISTE_SOCIETE,GR_HAUTEUR_LISTE_SOCIETE +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +06/08/2026 Isis_BO 1554 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Informations sur les champs +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 50 +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. +Mire visible Non +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +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 +Libellé : +Libellé FR: Titre +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 +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 +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 +06/08/2026 Isis_BO 1555 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Informations sur les champs +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Societe.DISP_LISTE_SOCIETE.LIB_Total_Titre_Liste_Societe +Libellé FR: Total : +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 +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 +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 Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1556 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Informations sur les champs +Libellé : FI_Liste_Societe.DISP_LISTE_SOCIETE.LIB_Total_liste_Societe +Libellé FR: 000 +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 +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 +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 +Liaison des données :gclPresentationListeSociete.p_nTotal +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 +Table : FI_Liste_Societe.DISP_LISTE_SOCIETE.TABLE_SOCIETE +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Recherche +UI par l'utilisateur Selon fenêtre +Menu contextuel +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 0 +Marge en bas 0 +06/08/2026 Isis_BO 1557 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Informations sur les champs +Marge à gauche 1 +Marge à droite 3 +Sens Vertical +Retrait gauche 2 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 500 +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 +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationListeSociete.m_clTabModele +Rub. mémorisée :gclPresentationListeSociete.m_clTabModele +Ajout/Suppr. dans variable Non +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 +06/08/2026 Isis_BO 1558 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Informations sur les champs +Table : FI_Liste_Societe.DISP_LISTE_SOCIETE.TABLE_SOCIETE +Colonne de table : FI_Liste_Societe.DISP_LISTE_SOCIETE.TABLE_SOCIETE.COL_sNom (1) +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 80 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationListeSociete.m_clTabModele.m_sNom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Societe.DISP_LISTE_SOCIETE.TABLE_SOCIETE.COL_sSIRET (2) +Titre FR: SIRET +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 +06/08/2026 Isis_BO 1559 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Informations sur les champs +Bandeau visible Oui +Format HTML 0 +Taille de saisie 50 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationListeSociete.m_clTabModele.m_sSIRET +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Societe.DISP_LISTE_SOCIETE.TABLE_SOCIETE.COL_sTel (3) +Titre FR: Téléphone +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 25 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationListeSociete.m_clTabModele.m_sTel +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1560 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Informations sur les champs +Colonne de table : FI_Liste_Societe.DISP_LISTE_SOCIETE.TABLE_SOCIETE.COL_sFAX (4) +Titre FR: FAX +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 25 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationListeSociete.m_clTabModele.m_sFAX +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Societe.DISP_LISTE_SOCIETE.TABLE_SOCIETE.COL_sEmail (5) +Titre FR: Email +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 50 +06/08/2026 Isis_BO 1561 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationListeSociete.m_clTabModele.m_sEmail +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Societe.DISP_LISTE_SOCIETE.TABLE_SOCIETE.COL_sSiteWeb +Titre FR: Site Web +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 100 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationListeSociete.m_clTabModele.m_sSiteWeb +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1562 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Informations sur les champs +Colonne de table : FI_Liste_Societe.DISP_LISTE_SOCIETE.TABLE_SOCIETE.COL_Adresse +Titre FR: Adresse +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 +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 +Liaison des données :gclPresentationListeSociete.m_clTabModele.m_clAdresse.m_sPresentation +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Societe.DISP_LISTE_SOCIETE.TABLE_SOCIETE.COL_PKID (8) +Titre FR: PKID +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 +06/08/2026 Isis_BO 1563 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Informations sur les champs +Mot de passe Non +Masque saisie FR: MoneySystemMask +Mode ellipse +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 +Liaison des données :gclPresentationListeSociete.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FI_Liste_Societe +Messages multilingues +06/08/2026 Isis_BO 1564 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FI_Liste_Societe +Code des champs +Déclarations globales de FI_Liste_Societe +procédure FI_Liste_Societe(gclPresentationListeSociete est un PTableSociete dynamique= +Null, paramSupplementaire est un STParamFenetreAppelante=Null) +//Variable qui contient la call stack à appeler dans les appels de sous fenêtre +maProcMAJObjetRetourFISoc est une procédure = MAJObjetRetourFI +gsTriEnCoursSociete est une chaîne +Evénement(TriColonne,"TABLE_SOCIETE",1529) +LIB_Titre_de_fenêtre_liste_societe = paramSupplementaire.eTypeAppel=Libre ? "Liste des sociétés" sinon +paramSupplementaire.sTitreFenetre<>"" ? paramSupplementaire.sTitreFenetre sinon "Liste des sociétés" +local +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentationListeSociete=Null alors +gclPresentationListeSociete=PTableSociete.gNouvellePresentation(0) + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Code des champs +fin +Demande de mise à jour de l'affichage de FI_Liste_Societe +si gclPresentationListeSociete<>Null _et_ gclPresentationListeSociete est PTableSociete alors +//TrieObjetChampTableSiBesoin(gclPresentationListeSociete,TABLE_SOCIETE,gsTriEnCoursSociete) +// mise à jour des champs bindés sur la présentation (compteur par exemple) +SourceVersEcran("","gclPresentationListeSociete") +MAJChampTableEtObjet(TABLE_SOCIETE,gclPresentationListeSociete:p_clCourant) +// Gestion de l'accessibilité des boutons +GestionBoutonsEnteteDansListe(GR_MODIFICATION_LISTE_SOCIETE,BTN_Nouveau_liste_societe,BTN_ +SelectLigne_liste_societe,gclPresentationListeSociete,paramSupplementaire) +//En demande de MAJ la cellule des totaux peut avoir changé au niveau de la visibilité +DISP_LISTE_SOCIETE[3]..Visible = (paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.e +TypeAppel=DansChampFI) ? Faux sinon Vrai +si paramSupplementaire.eTypeAppel<>DansFenetre alors FEN_Menu.PriseFocus(VoletDuChamp(DISP_ +LISTE_SOCIETE))//FEN_Menu.PriseFocus("FI_Liste_Societe") +fin +Clic sur BTN_F5_LISTE_SOCIETE +DemandeMiseAJourIHM() +Clic sur BTN_Fermer_liste_societe +si paramSupplementaire.eTypeAppel=DansChampFI alors +//SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,Null) +AppelProcFenetreAppelante(gclPresentationListeSociete,paramSupplementaire,Faux,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon +FermeVoletEtActiveLePrecedent(VoletDuChamp(DISP_LISTE_SOCIETE)) +fin +Clic sur BTN_Modifier_liste_societe +//OuvreFicheSociete() +si gclPresentationListeSociete.p_clCourant<>Null +OuvreFicheDepuisListe(FicheEnModification,paramSupplementaire,gclPresentationListeSociete,FI_ +Fiche_Societe,MaFenêtreInterne..Nom,DISP_LISTE_SOCIETE,TABLE_SOCIETE,CFI_SOUSELEMENT_LISTE_SOCIETE, +GR_IMAGE_OPAQUE_LISTE_SOCIETE,GR_HAUTEUR_LISTE_SOCIETE,GR_MODEFORMULAIRE_LISTE_SOCIETE, +maProcMAJObjetRetourFISoc,MoiMême..Nom) +fin +Clic sur BTN_Nouveau_liste_societe +Ouvre(FEN_Fiche,gclPresentationListeSociete.Nouveau(),paramSupplementaire) +//OuvreFicheDepuisListe(FicheEnAjout,paramSupplementaire,gclPresentationListeSociete,FI_Fiche_Societe,M +aFenêtreInterne..Nom,DISP_LISTE_SOCIETE,TABLE_SOCIETE,CFI_SOUSELEMENT_LISTE_SOCIETE,GR_IMAGE_OPAQUE_LIS +TE_SOCIETE,GR_HAUTEUR_LISTE_SOCIETE,GR_MODEFORMUL +06/08/2026 Isis_BO 1565 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Code des champs +AIRE_LISTE_SOCIETE,maProcMAJObjetRetourFISoc,MoiMême..Nom) +//clPresentationFiche est un PFicheSociete<-gclPresentation.Nouveau() +//FEN_Menu.OuvreOuActive(FI_Fiche_Societe,"Fiche +société",clPresentationFiche,DonneParam(DansOnglet,"FI_Liste_Societe",MoiMême..Nom,*,*,"ListeSociete",* +,gclPresentation,faux)) +Clic sur BTN_SelectLigne_liste_societe +si paramSupplementaire.eTypeAppel=DansChampFI alors +AppelProcFenetreAppelante(gclPresentationListeSociete,paramSupplementaire,Vrai,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon si paramSupplementaire.eTypeAppel=DansFenetre alors +Ferme(FEN_ChoixFenetreInterne,gclPresentationListeSociete.p_clCourant) +fin +Clic sur BTN_Supprimer_liste_societe +si OuiNon("Confirmez vous la suppression ?")=Non alors +retour +fin +// gestion de la saisie en cascade +// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +nIndice est un entier=TableSelect(TABLE_SOCIETE) +si nIndice>1 _et_ nIndice=TableOccurrence(TABLE_SOCIETE) alors +TableSelectPlus(TABLE_SOCIETE,nIndice-1) +fin +clErreur est un CErreur +clFicheSociete est un PFicheSociete(gclPresentationListeSociete:p_clCourant,*) +bControle est un booléen = clFicheSociete.bControle(clErreur,Vrai) +si pas bControle alors +Erreur("Impossible de supprimer cette société",clErreur.FormateMessage()) +sinon si pas gclPresentationListeSociete.bSupprimer(clErreur) alors +Erreur("Impossible de supprimer cette société",clErreur.FormateMessage()) +fin +//SI PAS gclPresentationListeSociete.bSupprimer(clErreur) ALORS +// Erreur(clErreur.FormateMessage()) +//FIN +Sortie d'une ligne de TABLE_SOCIETE +// si la table n'a pas été modifiée, il ne faut rien faire +si TABLE_SOCIETE..Modifié=Faux alors +retour +fin +clErr est un CErreur +pclPresentationFiche est un PFicheSociete dynamique +// ajout d'une nouvelle ligne +si TABLE_SOCIETE..Nouveau alors +pclPresentationFiche<-gclPresentationListeSociete.Nouveau() +// modification d'une ligne existante +sinon +pclPresentationFiche<-gclPresentationListeSociete.Modifier() +fin +// sauvegarde de la table +TableEnregistre(TABLE_SOCIETE,pclPresentationFiche) +// traitement des erreurs +06/08/2026 Isis_BO 1566 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Code des champs +si pas pclPresentationFiche.bOK(clErr) alors//PAS pclPresentationFiche.bOK(clErr,Faux) +Erreur(clErr.FormateMessage()) +fin +// repasse la table en non modifiée +TABLE_SOCIETE..Modifié=Faux +Sélection d'une ligne de TABLE_SOCIETE +si TABLE_SOCIETE..Nouveau alors +gclPresentationListeSociete.p_clCourant=Null +sinon +gclPresentationListeSociete.p_clCourant=TABLE_SOCIETE +fin +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_SOCIETE +DoubleClicLigneTableau() +Touche appuyée (WM_CHAR) de TABLE_SOCIETE +nTouche est un entier = 0x0d +// Vérifie si la touche dont le code virtuel est 0x0d a été appuyée +si ToucheEnfoncée(nTouche) _ou_ _EVE.wParam = nTouche alors +// Insérer ici le traitement à effectuer +DoubleClicLigneTableau() +fin +FI_Liste_Societe +Procédures +Procédure locale DoubleClicLigneTableau +// Résumé : +// Syntaxe : +// DoubleClicLigneTableau () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DoubleClicLigneTableau() +si gclPresentationListeSociete.p_clCourant<>Null alors +paramSoc est STParamFenetreAppelante //= paramSupplementaire +paramSoc.eTypeAppel = DansFenetre +paramSoc.sContexteAppelant = MoiMême..Nom +paramSoc.gProcMAJRetour = maProcMAJObjetRetourFISoc +paramSoc.sTitreFenetre="Société" +06/08/2026 Isis_BO 1567 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Procédures +Ouvre(FEN_Fiche,gclPresentationListeSociete.Modifier(),paramSoc) +//OuvreFicheOuRetourneSelection(paramSupplementaire,paramSoc,gclPresentationListeSociete,FI_Fiche_S +ociete,FicheEnModification,DansChampFI,MaFenêtreInterne..Nom,DISP_LISTE_SOCIETE,TABLE_SOCIETE,CFI_S +OUSELEMENT_LISTE_SOCIETE,GR_IMAGE_OPAQUE_LISTE_SOCIETE,GR +_HAUTEUR_LISTE_SOCIETE,GR_MODEFORMULAIRE_LISTE_SOCIETE,maProcMAJObjetRetourFISoc) +fin +Procédure locale MAJObjetRetourFI +// Résumé : +// Syntaxe : +//[ = ] MAJObjetRetourFI ([...]) +// +// Paramètres : +// <*> : > +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sContexte (chaîne ANSI) : +// pclObjet (objet dynamique) : +// <*> : > +procédure MAJObjetRetourFI(*)//LOCAL sContexte est une chaîne, pclObjet est un objet dynamique +bResultat est un booléen=Vrai +nMode est un entier +sNomChamp est une chaîne +pclObjet est un objet dynamique +bReorga est un booléen=Vrai +bBloc est un booléen +si MesParamètres..Occurrence>0 alors +nMode = MesParamètres[1] +fin +selon nMode +cas 1 : +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 2 +bReorga = Faux +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 3 +bReorga = Faux +bBloc = Vrai +fin +si bReorga alors//Gestion de l'affichage pour oublier le champ Fenêtre Interne +ReorganiseChampDispoDansListe(DISP_LISTE_SOCIETE,TABLE_SOCIETE,CFI_SOUSELEMENT_LISTE_SOCIETE,GR_ +IMAGE_OPAQUE_LISTE_SOCIETE,GR_HAUTEUR_LISTE_SOCIETE,GR_MODEFORMULAIRE_LISTE_SOCIETE,Faux) +GestionBoutonsEnteteDansListe(GR_MODIFICATION_LISTE_SOCIETE,BTN_Nouveau_liste_societe,BTN_ +SelectLigne_liste_societe,gclPresentationListeSociete,paramSupplementaire) +fin +//sNomChampPrec est une chaine = ExtraitChaîne(sContexte,2,TAB) +si pclObjet<>Null alors +//*******************************MISE A JOUR DE +L'OBJET********************************************************* +selon sNomChamp +06/08/2026 Isis_BO 1568 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societe › Procédures +cas BTN_Modifier_liste_societe..Nom,BTN_Nouveau_liste_societe..Nom : +DemandeMiseAJourIHM() +autre cas +DemandeMiseAJourIHM() +fin +fin +renvoyer bResultat +//GESTION DE L'APRES +Procédure locale OuvreFicheSociete +// Résumé : +// Syntaxe : +// OuvreFicheSociete () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure OuvreFicheSociete() +clPresentationFiche est un PFicheSociete<-gclPresentationListeSociete.Modifier() +FEN_Menu.OuvreOuActive(FI_Fiche_Societe,"Fiche société",*,clPresentationFiche) +Procédure locale TriColonne +// Procédure callback appelée à chaque clic sur entête de colonne de "Table1" pour trier la colonne +// wEve [in]: Numéro du message Windows +// wParam [in] : Numéro de la colonne a trier +// lParam [in]: Ordre du tri 5 (1 : Croissant, 0 : décroissant) +// Renvoyer 0 pour ne pas effectuer le tri demandé +procédure TriColonne(wEve,wParam,lParam) +sSens est une chaîne="" +si wParam<>0 alors//N° de colonne sur laquelle le clic est effectué +//Détection du sens du tri +si pas lParam alors sSens="-" +//Trier sur la colonne +TableTrie(TABLE_SOCIETE,sSens+TableEnumèreColonne(TABLE_SOCIETE,wParam),"+COL_PKID") +//Traitement à effectuer "Après chaque tri" +TrieObjetChampTableSiBesoin(gclPresentationListeSociete,TABLE_SOCIETE,gsTriEnCoursSociete) +renvoyer 0 +fin +06/08/2026 Isis_BO 1569 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Image +FI_Fiche_Societe +Image +| 06/08/2026 | Isis_BO | 1570 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Image +FI_Fiche_Societe +Informations générales +FI_Fiche_Societe +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Fiche_Societe.wdw +| Créé par | | frederic.bourras@applilogik.fr | | | | +| -------------------------- | ------------ | ------------------------------ | --------- | --------------- | --- | +| Date de création | | 07/08/2018 10:55:19 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 18/04/2025 16:24:59 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 916 Hauteur | 485 | +| 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. +| 06/08/2026 | | | Isis_BO | | 1571 | +| ---------- | --- | --- | ------- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations générales +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Statistiques de la fenêtre +| | Champ de saisie | 22 | Libellé | 22 | +| ---------- | ---------------------- | ------- | ---------------- | ---- | +| | Bouton | 18 | Interrupteur | 1 | +| | Liste | 1 | Image | 6 | +| | Table | 2 | Combo | 1 | +| | Onglet | 1 | Forme | 2 | +| | Zone répétée | 1 | Fenêtre interne | 1 | +| | Option d'interrupteur | 1 | Colonne de table | 10 | +| | Volet (Onglet) | 4 | Disposition | 9 | +| | Cellule de disposition | 36 | | | +| 06/08/2026 | | Isis_BO | | 1572 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations générales +Nombre d'éléments dans la fenêtre : 138 +FI_Fiche_Societe +Informations sur les champs +Fenêtre : FI_Fiche_Societe +Fenêtre interne +BAT ehcuoT +X noitisoP laitini tatE +Y noitisoP +| | | | | ruegraL ruetuaH | | | +| --- | --- | --- | --- | --------------- | --- | --- | +elbisiV +nalP +| FI_Fiche_Societe | | | 0 | 0 916 485 | 0 | | +| ---------------- | --- | --- | --- | --------- | --- | --- | +Fenêtre interne : FI_Fiche_Societe +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_AdresseMailCom | 321 203 | 284 22 | 0 | Actif Texte | Non | | +| ------------------ | ------- | ------ | --- | ----------- | --- | --- | +SAI_AdresseServeurS +| | 618 203 | 284 22 | 0 | Actif Texte | Non | | +| ------------------- | ------- | ------- | --- | ----------- | --- | ---- | +| SAI_MotdePasseSMTP | 321 241 | 284 22 | 0 | Actif Texte | Non | | +| SAI_NomCompte | 21 203 | 284 22 | 0 | Actif Texte | Non | | +| SAI_NomUtilisateurS | 21 241 | 284 22 | 0 | Actif Texte | Non | | +| SAI_PortSMTP | 618 240 | 90 22 | 0 | Actif Texte | Non | | +| SAI_SEmail | 6 188 | 502 22 | 0 | Actif Texte | Non | | +| SAI_SFAX | 273 62 | 235 22 | 0 | Actif Texte | Non | | +| SAI_SNom | 6 20 | 502 22 | 0 | Actif Texte | Non | | +| SAI_SSIRET | 6 104 | 502 22 | 0 | Actif Texte | Non | | +| SAI_SSiteWeb | 6 148 | 502 22 | 0 | Actif Texte | Non | | +| SAI_STel | 6 62 | 251 22 | 0 | Actif Texte | Non | | +| SAI_Texte | 8 20 | 315 22 | 0 | Actif Texte | Non | | +| SAI_Texte_HTML | 21 290 | 881 159 | 0 | Actif Texte | Non | | +| SAI_sCodePostal | 8 172 | 86 22 | 0 | Actif Texte | Non | | +| SAI_sLigneAdresse_1 | 8 62 | 315 22 | 0 | Actif Texte | Non | | +| SAI_sLigneAdresse_2 | 8 128 | 315 22 | 0 | Actif Texte | Non | | +| SAI_sLigneAdresse_3 | 8 150 | 315 22 | 0 | Actif Texte | Non | | +| 06/08/2026 | | | | Isis_BO | | 1573 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +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_sLigneAdresse_4 | 8 | 84 315 | 22 | 0 | Actif | Texte | | Non | | | | | +| ------------------- | ------- | ------ | --- | --- | ----- | ----- | --- | --- | --- | --- | --- | --- | +| SAI_sLigneAdresse_5 | 8 106 | 315 | 22 | 0 | Actif | Texte | | Non | | | | | +| SAI_sVille | 122 172 | 201 | 22 | 0 | Actif | Texte | | Non | | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | --- | +| | | | | | | | | laitini tatE | | | FTR tamroF | | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_ADRESSE_EMAIL | | 321 | 189 | 284 | 14 | 0 | | Actif | Gauche | Haut | | | +| ----------------- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | --- | +| LIB_ADRESSE_SMTP | | 618 | 189 | 284 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_COLLABORATEUR | | 0 | 8 | 424 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_CRYPTAGE_SMTP | | 714 | 226 | 110 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_Couleur | | 12 | 102 | 177 | 25 | 0 | | Actif | Gauche | Centre | | | +| LIB_EMAIL | | 6 | 174 | 105 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_EQUIPE | | 0 | 8 | 448 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_ETIQUETTE | | 6 | 6 | 200 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_FAX | | 273 | 48 | 134 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_IDENTITE | | 0 | 8 | 100 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_LIGNE_ADRESSE | | 6 | 48 | 200 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_MDP_SMTP | | 321 | 227 | 284 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_NOMCOMPTE | | 21 | 189 | 284 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_PORT_SMTP | | 618 | 226 | 90 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_RAISONSOCIALE | | 6 | 6 | 157 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_SIRET | | 6 | 90 | 105 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_SITE | | 0 | 8 | 100 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_SITEWEB | | 6 | 134 | 118 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_TEL | | 6 | 48 | 136 | 14 | 0 | | Actif | Gauche | Haut | | | +LIB_Titre_de_fenêtre_fiche_societ 6 6 652 21 0 Actif Gauche Centre +| LIB_USER_SMTP | | 21 | 227 | 284 | 14 | 0 | | Actif | Gauche | Haut | | | +| ------------- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | --- | +Bouton +| | | | | | | | | | | BAT ehcuoT | notuob epyT | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | ---------- | ----------- | --- | +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | +| | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_ADD_COLLAB | | | 36 | 3 | 24 | 24 | | 0 | Actif | | Normal | | +| -------------------------- | --- | --- | --- | --- | ------- | --- | --- | --- | ----- | --- | ------ | ---- | +| BTN_AFFECTATION_MULTIPLE | | | 668 | 27 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_AFFECTATION_SIMPLE | | | 668 | 61 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_CADENAS_FERME_SOC | | | 4 | 4 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_CADENAS_OUVERT_SOC | | | 4 | 4 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_Cherche_Equipe_compact | | | 38 | 5 | 20 | 20 | | 0 | Actif | | Normal | | +| BTN_DEL_COLLAB | | | 108 | 3 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_DEL_EQUIPE | | | 108 | 3 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_DEL_FICHE_SOCIETE | | | 4 | 4 | 24 | 24 | | 0 | Actif | | Normal | | +| 06/08/2026 | | | | | Isis_BO | | | | | | | 1574 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +BAT ehcuoT notuob epyT +laitini tatE +| | | X noitisoP Y noitisoP | | | | | | | +| --- | --- | --------------------- | --------------- | --- | --- | --- | --- | --- | +| | | | ruegraL ruetuaH | | | | | | +elbisiV +nalP +| BTN_DESAFFECTATION_MULTIPLE | | 668 | 129 24 | 24 | 0 | Actif | Normal | | +| ---------------------------------- | --- | --- | ------ | --- | --- | ----- | ------- | --- | +| BTN_DESAFFECTATION_SIMPLE | | 669 | 95 24 | 24 | 0 | Actif | Normal | | +| BTN_Fermer_fiche_societe | | 4 | 4 24 | 24 | 0 | Actif | Abandon | | +| BTN_LOUPE_COLLAB | | 0 | 3 24 | 24 | 0 | Actif | Normal | | +| BTN_Nouveau_fiche_societe | | 4 | 4 24 | 24 | 0 | Actif | Normal | | +| BTN_Nouvelle_Equipe_compact | | 36 | 3 24 | 24 | 0 | Actif | Normal | | +| BTN_VAL_COLLAB | | 72 | 3 24 | 24 | 0 | Actif | Normal | | +| BTN_Valider_Collaborateur_compact1 | | 72 | 3 24 | 24 | 0 | Actif | Normal | | +| BTN_Valider_fiche_societe | | 4 | 4 24 | 24 | 0 | Actif | Normal | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | laitini tatE | BAT ehcuoT | | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | ---------- | --- | ----------- | +| | | X noitisoP Y noitisoP | | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| INT_CCi | | 21 265 | 361 25 | 0 | Actif | | 1 | | +| ------- | --- | ------ | ------ | --- | ----- | --- | --- | --- | +Liste +ruesnecsa/egahciffA +ruesnecsa elluB +noitcelésitluM +| | | | | BAT ehcuoT | | | | sennoloc .bN | +| --- | --- | --- | --- | ---------- | --- | --- | --- | ------------ | +laitini tatE +| | X noitisoP | Y noitisoP | | | | sruocraP | | | +| --- | ---------- | ---------- | ------- | --- | --- | -------- | --- | --- | +| | | ruegraL | ruetuaH | | | | | | +elbisiV +| | | | | | elbaT | eéirT | | | +| --- | --- | --- | --- | --- | ----- | ----- | --- | --- | +nalP +| LISTE_Collaborateur | 699 | 0 185 | 325 0 Actif | | Variable | | | 1 | +| ------------------- | --- | ----- | ----------- | --- | -------- | --- | --- | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | laitini tatE | | sucof cevA | +| --- | --- | --------------------- | --------------- | --- | --- | ------------ | --- | ---------- | +| | | X noitisoP Y noitisoP | | | | | | | +| | | | ruegraL ruetuaH | | | cilc cevA | | | +elbisiV +nalP +| IMG_Couleur | | 237 94 | 40 40 | 0 | | Actif | | | +| -------------------------- | --- | ------- | ------- | --- | --- | ----- | --- | ---- | +| IMG_ICONE_CARACTERISTIQUES | | 4 | 7 16 16 | 0 | | Actif | | | +| IMG_ICONE_CARACTERISTIQUES | | 4 | 7 16 16 | 0 | | Actif | | | +| IMG_ICONE_CARACTERISTIQUES | | 4 | 7 16 16 | 0 | | Actif | | | +| IMG_ICONE_CARACTERISTIQUES | | 4 | 7 16 16 | 0 | | Actif | | | +| IMG_Tester | | 829 225 | 73 60 | 0 | | Actif | | | +| 06/08/2026 | | | Isis_BO | | | | | 1575 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +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 | | | | | | | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | --- | --- | +| | | | ruetuaH | | | | sruocraP | | | | | | +ruegraL +elbisiV +| | | | | nalP | | elbaT | | | | | | | +| ------------------- | --- | ------- | --- | ---- | -------- | -------- | --- | --- | --- | --- | --- | --- | +| TABLE_Collaborateur | 30 | 130 860 | 310 | 0 | affichag | Variable | | | | | | 1 | +| TABLE_EquipeCollabo | 177 | 0 491 | 325 | 0 | affichag | Variable | | | | | | 2 | +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 | | | | | +| COMBO_SecuriteSMTP | 714 | 240 | 110 | 22 | 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_Societe | | | 6 | 7 | 910 435 | 0 | Actif | | haut | | | 0 | +| ----------- | --- | --- | --- | --- | ------- | --- | ----- | --- | ---- | --- | --- | --- | +Forme +| | | | | | | | | | | laitini tatE | | BAT ehcuoT | +| --- | --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | ---------- | +| | | | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| FRM_CADRE_CARACTERISTIQUES | | | | 0 | 0 | 890 | 325 | 0 | | Actif | | | +| -------------------------- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | ----- | --- | ---- | +| FRM_Couleur | | | | 232 | 89 | 50 | 50 | 0 | | Actif | | | +| 06/08/2026 | | | | | Isis_BO | | | | | | | 1576 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Zone répétée +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_Equipe | | 0 | 0 | 177 | 325 | 0 | Actif | | +| --------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Disposition +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| DISP_BANDEAU_ENTETE_FICHE_SOCIETE | | 0 | 0 | 916 | 33 | 0 | Actif | | +| --------------------------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +| DISP_CARACTERISTIQUE | | 18 | 89 | 338 | 265 | 0 | Actif | | +| DISP_ENTETE_CARACTERISTIQUES | | 0 | 0 | 526 | 32 | 0 | Actif | | +| DISP_ENTETE_COORDONNEES | | 25 | 100 | 868 | 30 | 0 | Actif | | +| DISP_ENTETE_COORDONNEES | | 0 | 0 | 338 | 32 | 0 | Actif | | +| DISP_ENTETE_EQUIPE | | 0 | -3 | 892 | 32 | 0 | Actif | | +| DISP_EQUIPE | | 10 | 80 | 890 | 382 | 0 | Actif | | +| DISP_FICHE_SOCIETE | | 0 | 0 | 916 | 485 | 0 | Actif | | +| DISP_IDENTITE | | 378 | 89 | 526 | 274 | 0 | Actif | | +Table : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.TABLE_Collaborateur +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | elbairt ennoloC ehcrehcer cevA | | | | | +| --- | --- | --- | --- | ------------------------------ | --- | --- | --- | --- | +ehcuag à eéxiF +| | | | | | .zroh egardaC .trev egardaC | | | | +| --- | --- | ------------ | ---------- | --- | --------------------------- | ----------- | ---------- | ----------- | +| | | | elbaçalpéD | | | | FTR tamroF | | +| | | laitini tatE | | | | eisias epyT | engilitluM | eisias cevA | +ruegraL +elbisiV +| epyT | | | | | | | eéirT | | +| ----------------- | --- | ----- | ------- | --- | ------------- | ------- | ----- | ---- | +| COL_SCO_Nom | 140 | Actif | | | Gauche Centre | Texte | | | +| COL_SCO_Prenom | 176 | Actif | | | Gauche Centre | Texte | | | +| COL_SCO_TelFixe | 168 | Actif | | | Gauche Centre | Texte | | | +| COL_SCO_TelMobile | 173 | Actif | | | Gauche Centre | Texte | | | +| COL_SCO_Email | 252 | Actif | | | Gauche Centre | Texte | | | +| COL_PKID | 100 | Actif | | | Droite Centre | Numériq | | | +| 06/08/2026 | | | Isis_BO | | | | | 1577 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Table : +FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.DISP_EQUIPE.TABLE_EquipeCollabo +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_Responsable | | 90 | Actif | | Centre | Centre | | | | +| COL_Nom | | 160 | Actif | | Gauche | Centre | Texte | | | +| COL_Prénom | | 373 | Actif | | Gauche | Centre | Texte | | | +Numériq +| COL_PKID | | 100 | Actif | | Droite | Centre | | | | +| -------- | --- | --- | ----- | --- | ------ | ------ | --- | --- | --- | +Zone répétée : +FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.DISP_EQUIPE.ZR_Equipe +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 FTR tamroF | | | | | +| | X noitisoP Y noitisoP | | | | engilitluM | | | | | +ruegraL ruetuaH +elbisiV +nalP +| SAI_SEQ_Nom | 6 26 | 148 22 | 0 | Actif | Texte | Non | | | | +| ----------- | ---- | ------ | --- | ----- | ----- | --- | --- | --- | --- | +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_NOMEQUIPE | | 6 | 6 | 148 14 | 0 | Actif | Gauche | Haut | | +| ------------- | --- | --- | --- | ------- | --- | ----- | ------ | ---- | ---- | +| 06/08/2026 | | | | Isis_BO | | | | | 1578 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Fenêtre : FI_Fiche_Societe +Fenêtre interne : FI_Fiche_Societe +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Fiche_Societe +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 +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 +06/08/2026 Isis_BO 1579 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › 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 +Type flèche +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_Tout_A_Gauche.png +Nb. états image 5 +Nb. états fond 1 +06/08/2026 Isis_BO 1580 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Etirement de l'image de fond +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 : +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_A_Gauche.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 1581 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Bouton : +Groupe ,GR_MODEOPAQUE_FICHE_DOSSIER +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_Cadenas_Fermer_rouge.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1582 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Bouton : +Groupe ,GR_MODEOPAQUE_FICHE_DOSSIER +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_Cadenas.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1583 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Bouton : +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\ANH01370d_20_5.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1584 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Bouton : +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1585 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Bouton : +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1586 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1587 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Bouton : +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_Tout_A_Droite.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 1588 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Bouton : +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_A_Droite.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 1589 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1590 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_chercher.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1591 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1592 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1593 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Bouton : +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1594 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1595 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1596 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Combo : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.COMBO_SecuriteSMTP +Libellé FR: Connexion +Contenu initial FR: Aucun +TLS +SSL +Groupe GR_Email +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 110 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 714 +Largeur interne 110 +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 +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 +06/08/2026 Isis_BO 1597 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +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. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1598 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +06/08/2026 Isis_BO 1599 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 3 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +06/08/2026 Isis_BO 1600 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 3 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.DISP_EQUIPE +Libellé FR: Disposition +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 +Cellule ancrée 3 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 1601 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Facteur d'agrandissement 0 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Societe.DISP_FICHE_SOCIETE +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.DISP_IDENTITE +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +06/08/2026 Isis_BO 1602 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.FRM_Couleur +Groupe GR_Couleur +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Epaisseur 1 +AntiAliasing Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 1603 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.IMG_Couleur +Groupe GR_Couleur +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1604 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_COORDONNEE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_COLLAB.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Ascenseur et zoom auto. Non +06/08/2026 Isis_BO 1605 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_EQUIPE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +06/08/2026 Isis_BO 1606 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_SOCEITE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.IMG_Tester +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\connexionTest.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +06/08/2026 Isis_BO 1607 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.INT_CCi +Valeur initiale 0 +Groupe GR_Email +Ordre navigation 8 +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 +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 Toute la hauteur de l'option +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 +06/08/2026 Isis_BO 1608 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Saisie obligatoire (erreur) : Picto Non +Valeur persistante Non +Option multilignes Non +Option format RTF Non +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.LIB_ADRESSE_EMAIL +Libellé FR: Adresse mail +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1609 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Libellé : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.LIB_ADRESSE_SMTP +Libellé FR: Adresse du serveur SMTP +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Collaborateurs de la société +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 +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 +06/08/2026 Isis_BO 1610 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.LIB_CRYPTAGE_SMTP +Libellé FR: Cryptage +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1611 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Libellé : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.LIB_Couleur +Libellé FR: Couleur associé à la société +Groupe GR_Couleur +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.DISP_IDENTITE.LIB_EMAIL +Libellé FR: Email +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 1612 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Equipe et les collaborateurs par équipe +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1613 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Libellé : +Libellé FR: Etiquette +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.DISP_IDENTITE.LIB_FAX +Libellé FR: Fax +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 +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 +06/08/2026 Isis_BO 1614 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Identité +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1615 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Libellé : +Libellé FR: Ligne d'adresse +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.LIB_MDP_SMTP +Libellé FR: Mot de passe +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 +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 +06/08/2026 Isis_BO 1616 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.LIB_NOMCOMPTE +Libellé FR: Nom du compte +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1617 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Libellé : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.LIB_PORT_SMTP +Libellé FR: Port +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Raison sociale +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 +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 +06/08/2026 Isis_BO 1618 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.DISP_IDENTITE.LIB_SIRET +Libellé FR: SIRET +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1619 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Libellé : +Libellé FR: Coordonnées +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Site Web +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 +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 +06/08/2026 Isis_BO 1620 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.DISP_IDENTITE.LIB_TEL +Libellé FR: Téléphone +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1621 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Libellé : +Libellé FR: Titre +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.LIB_USER_SMTP +Libellé FR: Nom d'utilisateur/Login +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 +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 +06/08/2026 Isis_BO 1622 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Liste : +Libellé FR: Collaborateur disponible +Ordre navigation 3 +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. Haut +Hauteur ligne 15 +Retrait gauche 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Sélection multiple Oui +Mode ellipse +Unicode 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 Automatique +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +06/08/2026 Isis_BO 1623 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Nb. Enreg. Max 0 +Fichier parcouru :gpclPresenListeCollabPasDansEquipe.m_clTabModele +Rub. affichée :gpclPresenListeCollabPasDansEquipe.m_clTabModele.NomPrenom +Rub. mémorisée :gpclPresenListeCollabPasDansEquipe.m_clTabModele +1ère ligne perso. Non +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 +Onglet : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe +Libellé FR: &Onglet +Valeur initiale 1 +Ordre navigation 1 +Curseur survol 0 +Onglet dynamique Non +Libellé volet FR: Nouvel onglet +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Retrait gauche 0 +Retrait des onglets 0 +Numéro aide 0 +Autorise ChangeGabarit Oui +Bouton Fermer Oui +Bouton Nouveau Oui +Volets détachables Oui +Mémoriser Configuration Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Swipe Non +Mode affichage volets < Standard > +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1624 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Champ de saisie : +Libellé FR: Adresse Mail +Groupe GR_Email +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 321 +Largeur interne 284 +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 +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 +06/08/2026 Isis_BO 1625 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Adresse du serveur SMTP +Groupe GR_Email +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 618 +Largeur interne 284 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +06/08/2026 Isis_BO 1626 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +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 +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1627 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Champ de saisie : +Libellé FR: Mot de passe +Groupe GR_Email +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 321 +Largeur interne 284 +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 +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 +06/08/2026 Isis_BO 1628 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.SAI_NomCompte +Libellé FR: Nom du compte +Groupe GR_Email +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 21 +Largeur interne 284 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +06/08/2026 Isis_BO 1629 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +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 +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1630 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Champ de saisie : +Libellé FR: Nom d'utilisateur/Login +Groupe GR_Email +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 21 +Largeur interne 284 +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 +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 +06/08/2026 Isis_BO 1631 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.SAI_PortSMTP +Libellé FR: Numéro du port SMTP +Valeur initiale FR: 25 +Groupe GR_Email +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 618 +Largeur interne 90 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 1632 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +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 +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1633 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Champ de saisie : +Libellé FR: Email +Groupe GR_CADENAS_SOC +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 384 +Largeur interne 502 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: saisir l'adresse email principale de la société +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: 27 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1634 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +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. +Liaison des données :gclPresentationFicheSociete.m_sEmail +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Fax +Groupe GR_CADENAS_SOC +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 651 +Largeur interne 235 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: saisir un n° de fax +Numéro aide 0 +06/08/2026 Isis_BO 1635 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › 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 25 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFicheSociete.m_sFAX +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 +06/08/2026 Isis_BO 1636 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Raison sociale +Groupe GR_CADENAS_SOC +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 384 +Largeur interne 502 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Saisir un nom de société +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 80 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1637 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › 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 +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. +Liaison des données :gclPresentationFicheSociete.m_sNom +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: SIRET +Groupe GR_CADENAS_SOC +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +06/08/2026 Isis_BO 1638 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Position X interne 384 +Largeur interne 502 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: saisir un n° de SIRET +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 50 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFicheSociete.m_sSIRET +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 +06/08/2026 Isis_BO 1639 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Site Web +Groupe GR_CADENAS_SOC +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 384 +Largeur interne 502 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: saisir l'URL du site Web de la société +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 100 +Masque saisie FR: 64 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1640 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +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. +Liaison des données :gclPresentationFicheSociete.m_sSiteWeb +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Téléphone +Groupe GR_CADENAS_SOC +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +06/08/2026 Isis_BO 1641 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 384 +Largeur interne 251 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: saisir un n° de téléphone fixe +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 25 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +06/08/2026 Isis_BO 1642 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Liaison des données :gclPresentationFicheSociete.m_sTel +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Texte +Groupe GR_CADENAS_SOC +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 26 +Largeur interne 315 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Texte d'indication si vide FR: Donner une étiquette à votre adresse +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 +06/08/2026 Isis_BO 1643 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1644 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Champ de saisie : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.SAI_Texte_HTML +Libellé FR: Texte HTML +Groupe GR_Email +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 22 +Largeur interne 880 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 1 +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 +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 Automatique +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 +06/08/2026 Isis_BO 1645 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › 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. +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 +Champ de saisie : +Libellé FR: Code postal +Groupe GR_CADENAS_SOC +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 26 +Largeur interne 86 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: saisir le code postal +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 1646 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 15 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 Jamais +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFicheSociete.FicheAdresse.m_sCodePostal +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 +06/08/2026 Isis_BO 1647 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 26 +Largeur interne 315 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: CIVILITÉ-TITRE ou QUALITÉ / PRÉNOM NOM / RAISON SOCIALE +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1648 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF Jamais +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFicheSociete.FicheAdresse.m_sLigne_1 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_CADENAS_SOC +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 26 +Largeur interne 315 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: N°APP ou BAL-ÉTAGE-COULOIR-ESC / IDENTITÉ DESTINATAIRE et/ou SERVICE +06/08/2026 Isis_BO 1649 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 Jamais +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFicheSociete.FicheAdresse.m_sLigne_2 +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 +06/08/2026 Isis_BO 1650 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Bouton droit : Monochrome Couleur monochrome du style +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_CADENAS_SOC +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 26 +Largeur interne 315 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: ENTRÉE - BÂTIMENT - IMMEUBLE - RÉSIDENCE / ZI +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1651 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › 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 Jamais +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFicheSociete.FicheAdresse.m_sLigne_3 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_CADENAS_SOC +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +06/08/2026 Isis_BO 1652 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Position X interne 26 +Largeur interne 315 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: NUMÉRO - LIBELLÉ DE LA VOIE +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 Jamais +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFicheSociete.FicheAdresse.m_sLigne_4 +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 +06/08/2026 Isis_BO 1653 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_CADENAS_SOC +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 26 +Largeur interne 315 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: LIEU DIT ou SERVICE PART. DE DISTRIBUTION / M. SPÉCIALE +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 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1654 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +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. +Liaison des données :gclPresentationFicheSociete.FicheAdresse.m_sLigne_5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Ville +Groupe GR_CADENAS_SOC +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +06/08/2026 Isis_BO 1655 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 140 +Largeur interne 200 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Saisir la ville +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 45 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFicheSociete.FicheAdresse.m_sVille +06/08/2026 Isis_BO 1656 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.TABLE_Collaborateur +Ordre navigation 2 +Curseur survol 0 +Mode Loupe Recherche +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 0 +Marge en bas 0 +Marge à gauche 1 +Marge à droite 3 +Sens Vertical +Retrait gauche 2 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 1657 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +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 500 +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 +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclPresenListeCollaborateur.m_clTabModele +Rub. mémorisée :gpclPresenListeCollaborateur.m_clTabModele +Ajout/Suppr. dans variable Non +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 : +Libellé FR: Collaborateurs de l'équipe +Ordre navigation 2 +Curseur survol 0 +Mode Loupe Filtre +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) 16 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +06/08/2026 Isis_BO 1658 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 Sous le champ Table +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. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationFicheSociete.ListeEquipe.PFicheEnCours.ListeCollaborateurEquipe.m_clTabM +Rub. mémorisée :gclPresentationFicheSociete.ListeEquipe.PFicheEnCours.ListeCollaborateurEquipe.m_clTabM +Ajout/Suppr. dans variable Non +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 +06/08/2026 Isis_BO 1659 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Zone répétée : +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 52 +Largeur colonne 160 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur et nombre de colonnes fixes (à gauche) +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +Nb. Enreg. Max 0 +06/08/2026 Isis_BO 1660 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Parcours Automatique +Fichier parcouru :gclPresentationFicheSociete.ListeEquipe.m_clTabModele +Rub. mémorisée :gclPresentationFicheSociete.ListeEquipe.m_clTabModele +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Table : FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.TABLE_Collaborateur +Colonne de table : +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 50 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gpclPresenListeCollaborateur.m_clTabModele.m_clCollaborateur.m_sNom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1661 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Colonne de table : +Titre FR: Prénom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 50 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gpclPresenListeCollaborateur.m_clTabModele.m_clCollaborateur.m_sPrenom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Tél. fixe +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 15 +06/08/2026 Isis_BO 1662 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gpclPresenListeCollaborateur.m_clTabModele.m_clCollaborateur.m_sTelFixe +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Tél. Mobile +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 15 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gpclPresenListeCollaborateur.m_clTabModele.m_clCollaborateur.m_sTelMobile +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1663 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Colonne de table : +Titre FR: Email +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 50 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gpclPresenListeCollaborateur.m_clTabModele.m_clCollaborateur.m_sEmail +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: PKID +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 +06/08/2026 Isis_BO 1664 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Mot de passe Non +Masque saisie FR: MoneySystemMask +Mode ellipse +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 +Liaison des données :gpclPresenListeCollaborateur.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Table : +FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.DISP_EQUIPE.TABLE_EquipeCollabo +Colonne de table : +Titre FR: Responsable +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Oui +Retour à la ligne Non +Coche tous dans entête Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1665 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Colonne de table : +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheSociete.ListeEquipe.PFicheEnCours.ListeCollaborateurEquipe.m_clTabM +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Prénom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +06/08/2026 Isis_BO 1666 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheSociete.ListeEquipe.PFicheEnCours.ListeCollaborateurEquipe.m_clTabM +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: PKID +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: MoneySystemMask +Mode ellipse +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 +Liaison des données :gclPresentationFicheSociete.ListeEquipe.PFicheEnCours.ListeCollaborateurEquipe.m_clTabM +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1667 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Zone répétée : +FI_Fiche_Societe.DISP_FICHE_SOCIETE.ONG_Societe.DISP_EQUIPE.ZR_Equipe +Libellé : +Libellé FR: Nom de l'équipe +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Nom de l'équipe +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Isis_BO 1668 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 16 +Largeur interne 148 +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 50 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFicheSociete.ListeEquipe.m_clTabModele.m_sNom +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 1669 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Informations sur les champs +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 +FI_Fiche_Societe +Messages multilingues +06/08/2026 Isis_BO 1670 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FI_Fiche_Societe +Code des champs +Déclarations globales de FI_Fiche_Societe +procédure FI_Fiche_Societe(gclPresentationFicheSociete est un PFicheSociete dynamique= +Null, paramSupplementaire est un STParamFenetreAppelante=Null) +//gpclPresentationAdresse est PFicheAdresse dynamique +gpclPresenListeCollaborateur est un PTableSociete_Collaborateur dynamique +//gpclPresenListeEquipe est un PTableEquipe dynamique +gpclPresenListeCollabEquipe est un PTableEquipe_Collaborateur dynamique +gpclPresenListeCollabPasDansEquipeest un PTableCollaborateur dynamique +//gpclPresenFicheCollaborateur est un PFicheCollaborateur dynamique +gsTriEnCoursCollab est une chaîne +gsTriEnCoursEqCollab est une chaîne +gnDelai est un entier +gstParametreSoc est une ST_Param_Societe +Evénement(TriColonne,"TABLE_Collaborateur",1529) +Evénement(TriColonne,"TABLE_EquipeCollaborateur",1529) +Evénement(SurActivite, "*.*", WM_LBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_RBUTTONDOWN) + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Code des champs +Evénement(SurActivite, "*.*", WM_MBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_MOUSEMOVE) +Evénement(SurActivite, "*.*", WM_KEYDOWN) +LIB_Titre_de_fenêtre_fiche_societe = paramSupplementaire.eTypeAppel=Libre _et_ +gclPresentationFicheSociete:m_nPKID = 0 ? "Nouvelle société" sinon paramSupplementaire.sTitreFenetre<> +"" ? paramSupplementaire.sTitreFenetre sinon "Société" +gbAccesEtDroitCollab est un booléen= gpclFicheUtilisateurEnCours:m_bAdministrateur ? Vrai sinon +AccesEtDroitCollaborateur() +gbAccesEtDroitEquipe est un booléen= gpclFicheUtilisateurEnCours:m_bAdministrateur ? Vrai sinon +AccesEtDroitEquipe() +local +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentationFicheSociete=Null alors +gclPresentationFicheSociete=PFicheSociete.gNouvellePresentation() +fin +gnDelai=DonneValeurTimeOutObjet(gclPresentationFicheSociete) +//Recherche de l'adresse de la société +PFicheSociete.gFicheAdresse(gclPresentationFicheSociete) +//Recherche de la liste des collaborateurs +PFicheSociete.gListeCollaborateur(gclPresentationFicheSociete) +//Recherche de la liste des equipes +PFicheSociete.gListeEquipe(gclPresentationFicheSociete) +//Référencement de la liste des collaborateurs vers une variable globale présentation +gpclPresenListeCollaborateur <- gclPresentationFicheSociete.ListeCollaborateur +BlocEnregistrement(gclPresentationFicheSociete,ActiveTimer,BTN_CADENAS_FERME_SOC,BTN_CADENAS_OUVERT_SOC +,GR_CADENAS_SOC,DISP_FICHE_SOCIETE) +si gclPresentationFicheSociete:m_sParametres <> "" alors +Désérialise(gstParametreSoc,gclPresentationFicheSociete:m_sParametres,psdJSON) +fin +CouleurSoc() +GR_Email.Modifié = Faux +//Le GR_Email permet de savoir si l'utilisateur à fait une modification dans la configuration SMTP +Fin d'initialisation de FI_Fiche_Societe +ONG_Societe[2]..Visible = gbAccesEtDroitCollab +ONG_Societe[3]..Visible = gbAccesEtDroitEquipe +ONG_Societe[4]..Visible = HUtilisateur.SuperUtilisateur ? Vrai sinon gpclFicheUtilisateurEnCours: +m_bAdministrateur ? Vrai sinon Faux +si ONG_Societe[4]..Visible alors +ChargeParamEmail() +fin +Demande de mise à jour de l'affichage de FI_Fiche_Societe +si gclPresentationFicheSociete<>Null _et_ gclPresentationFicheSociete est PFicheSociete alors +SourceVersEcran("","gclPresentationFicheSociete") +SourceVersEcran("","gpclPresenListeCollaborateur") +//SourceVersEcran("","gpclPresenListeEquipe") +SourceVersEcran("","gpclPresenListeCollabEquipe") +SourceVersEcran("","gpclPresenListeCollabPasDansEquipe") +MAJChampTableEtObjet(TABLE_Collaborateur,gclPresentationFicheSociete:ListeCollaborateur:p_clCourant +) +06/08/2026 Isis_BO 1671 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Code des champs +MAJChampZREtObjet(ZR_Equipe,gclPresentationFicheSociete:ListeEquipe:p_clCourant) +//gpclPresenListeEquipe:p_clCourant) +// // affiche la table et restauration de la position courante +// SI ZR_Equipe..Occurrence>0 ALORS ZoneRépétéeSauvePositionEtSélection(ZR_Equipe) +// ZoneRépétéeAffiche(ZR_Equipe,taInit) +// SI ZR_Equipe..Occurrence>0 ALORS ZoneRépétéeRestaurePositionEtSélection(ZR_Equipe) +// +// // récupération de l'instance courante +// nIndiceEquipe est un entier=ZoneRépétéeSelect(ZR_Equipe) +// SI nIndiceEquipe<=0 ALORS//_OU_ ZR_Contacts..Nouveau +// SI ZoneRépétéeOccurrence(ZR_Equipe)>0 ALORS +// ZoneRépétéeSelectPlus(ZR_Equipe,1) +// gpclPresenListeEquipe:p_clCourant=ZR_Equipe[1] +// ExécuteTraitement(ZR_Equipe,trtSélection) +// SINON +// gpclPresenListeEquipe:p_clCourant=Null +// FIN +// +// +// SINON +// gpclPresenListeEquipe:p_clCourant=ZR_Equipe[nIndiceEquipe] +// +// FIN +MAJchampTable(TABLE_EquipeCollaborateur) +// affiche la table et restauration de la position courante +// +SI TABLE_EquipeCollaborateur..Occurrence>0 ALORS +TableSauvePositionEtSélection(TABLE_EquipeCollaborateur) +// TableAffiche(TABLE_EquipeCollaborateur,taInit) +// +SI TABLE_EquipeCollaborateur..Occurrence>0 ALORS +TableRestaurePositionEtSélection(TABLE_EquipeCollaborateur) +// +// récupération de l'instance courante +nIndiceCollabEquip est un entier=TableSelect(TABLE_EquipeCollaborateur) +// +si nIndiceCollabEquip<=0 _et_ gclPresentationFicheSociete:ListeEquipe:p_clCourant<>Null _et_ +gclPresentationFicheSociete:ListeEquipe:PFicheEnCours:ListeCollaborateurEquipe:p_clCourant<> Null +alors +gclPresentationFicheSociete:ListeEquipe:PFicheEnCours:ListeCollaborateurEquipe:p_clCourant=Null +//gpclPresenListeCollabEquipe:p_clCourant=Null +sinon si nIndiceCollabEquip>0 alors +gclPresentationFicheSociete:ListeEquipe:PFicheEnCours:ListeCollaborateurEquipe:p_clCourant= +TABLE_EquipeCollaborateur[nIndiceCollabEquip] +//gpclPresenListeCollabEquipe:p_clCourant=TABLE_EquipeCollaborateur[nIndiceCollabEquip] +fin +// affiche la table et restauration de la position courante +nIndiceCollabSansEquip est un entier = ListeSelect(LISTE_Collaborateur) +si nIndiceCollabSansEquip<=0 _et_ gpclPresenListeCollabPasDansEquipe<>Null alors +gpclPresenListeCollabPasDansEquipe:p_clCourant=Null +sinon si nIndiceCollabSansEquip>0 alors +gpclPresenListeCollabPasDansEquipe:p_clCourant = LISTE_Collaborateur[nIndiceCollabSansEquip] +fin +//ListeAffiche(LISTE_Collaborateur,taInit) +// grise les champs si la table est vide +//GR_MODIFCOLLABORATEUR..Grisé = gclPresentation:ListeCollaborateur:p_bModeleCourantVide +//BTN_Cherche_Collaborateur_compact..Etat += gclPresentation:ListeCollaborateur:p_bModeleCourantVide _OU_ PAS +gclPresentation:ListeCollaborateur:p_clCourant:bNouveau() ? Grisé SINON Actif +//BTN_CopieAdresse..Grisé = faux +06/08/2026 Isis_BO 1672 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Code des champs +//GR_MODIFEQUIPE..Grisé = gclPresentation:ListeEquipe:p_bModeleCourantVide +//BTN_Cherche_Equipe_compact..Etat += gclPresentationFicheSociete:ListeEquipe:p_bModeleCourantVide _OU_ PAS +gclPresentationFicheSociete:ListeEquipe:p_clCourant:bNouveau() ? Grisé SINON Actif +GestionBoutonCollaborateur() +GestionBoutonEquipe() +//ExécuteTraitement(FI_Fiche_societe.ONG_COMPLEMENT_FICHE_SOCIETE,trtModification) +fin +Fermeture de FI_Fiche_Societe +DeblocEnregistrement(gclPresentationFicheSociete,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_SOC,BTN_CADENAS_OUVERT_SOC,GR_CADENAS_SOC,DISP_FICHE_SOCIETE,Faux) +Clic sur BTN_CADENAS_FERME_SOC +si 1=BlocEnregistrement(gclPresentationFicheSociete,ActiveTimer,BTN_CADENAS_FERME_SOC,BTN_ +CADENAS_OUVERT_SOC,GR_CADENAS_SOC,DISP_FICHE_SOCIETE) +si pas AppelProcFenetreAppelante(gclPresentationFicheSociete,paramSupplementaire,Faux,Faux,Vrai) +alors +DeblocEnregistrement(gclPresentationFicheSociete,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_SOC,BTN_CADENAS_OUVERT_SOC,GR_CADENAS_SOC,DISP_FICHE_SOCIETE,Faux) +fin +fin +Clic sur BTN_CADENAS_OUVERT_SOC +DeblocEnregistrement(gclPresentationFicheSociete,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_SOC,BTN_CADENAS_OUVERT_SOC,GR_CADENAS_SOC,DISP_FICHE_SOCIETE,Faux) +Clic sur BTN_DEL_FICHE_SOCIETE +si OuiNon("Confirmez vous la suppression ?")=Non alors +retour +fin +clErreur est un CErreur +si pas gclPresentationFicheSociete.bControle(clErreur,Vrai) _ou_ pas gclPresentationFicheSociete. +bSupprimer(clErreur) alors +Erreur("Impossible de supprimer cette société",clErreur.FormateMessage()) +//SINON +//SI PAS gclPresentationFicheSociete.bSupprimer(clErreur) ALORS +// Erreur(clErreur.FormateMessage()) +fin +ExécuteTraitement(FI_Fiche_Societe.DISP_FICHE_SOCIETE.DISP_BANDEAU_ENTETE_FICHE_SOCIETE.BTN_ +Fermer_fiche_societe,trtClic) +Clic sur BTN_Fermer_fiche_societe +si paramSupplementaire.eTypeAppel=DansChampFI alors +//SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,Null) +AppelProcFenetreAppelante(gclPresentationFicheSociete,paramSupplementaire,Faux,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon +FermeVoletEtActiveLePrecedent(VoletDuChamp(DISP_FICHE_SOCIETE)) +fin +06/08/2026 Isis_BO 1673 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Code des champs +FermeFiche() +Clic sur BTN_Nouveau_fiche_societe +pclPresentationFiche est un PFicheSociete dynamique +si paramSupplementaire.eTypeAppel=DansOnglet _et_ paramSupplementaire.sNomIDAppelant="ListeSociete" +alors +pclPresentationFiche <-paramSupplementaire.pclObjetAppelant.Nouveau() +FEN_Menu.OuvreOuActive(FI_Fiche_Societe,"Fiche société",*,pclPresentationFiche,DonneParam( +paramSupplementaire)) +sinon +pclPresentationFiche <-PFicheSociete.gNouvellePresentation() +FEN_Menu.OuvreOuActive(FI_Fiche_Societe,"Fiche société",*,pclPresentationFiche) +fin +Clic sur BTN_Valider_fiche_societe +si paramSupplementaire.eTypeAppel=DansChampFI _et_ EnregistreFiche() alors +//SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheSociet +e) +AppelProcFenetreAppelante(gclPresentationFicheSociete,paramSupplementaire,Vrai,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +//FermeVoletEtActiveLePrecedent(VoletDuChamp(DISP_FICHE_COLLABORATEUR)) +sinon si paramSupplementaire.eTypeAppel=DansOnglet _et_ EnregistreFiche() alors +//SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheSociet +e) +AppelProcFenetreAppelante(gclPresentationFicheSociete,paramSupplementaire,Vrai,Vrai) +//FermeVoletEtActiveLePrecedent(VoletDuChamp(DISP_FICHE_SOCIETE)) +sinon +EnregistreFiche() +fin +FermeFiche() +Sortie de SAI_sCodePostal +EnregistreFiche() +A chaque modification de SAI_sCodePostal +ChampVersSource() +Sortie de SAI_sLigneAdresse_1 +EnregistreFiche() +A chaque modification de SAI_sLigneAdresse_1 +ChampVersSource() +Sortie de SAI_sLigneAdresse_2 +06/08/2026 Isis_BO 1674 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Code des champs +EnregistreFiche() +A chaque modification de SAI_sLigneAdresse_2 +ChampVersSource() +Sortie de SAI_sLigneAdresse_3 +EnregistreFiche() +A chaque modification de SAI_sLigneAdresse_3 +ChampVersSource() +Sortie de SAI_sLigneAdresse_4 +EnregistreFiche() +A chaque modification de SAI_sLigneAdresse_4 +ChampVersSource() +Sortie de SAI_sLigneAdresse_5 +EnregistreFiche() +A chaque modification de SAI_sLigneAdresse_5 +ChampVersSource() +Sortie de SAI_sVille +EnregistreFiche() +A chaque modification de SAI_sVille +ChampVersSource() +Sortie de SAI_Texte +EnregistreFiche() +Clic sur BTN_ADD_COLLAB +06/08/2026 Isis_BO 1675 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Code des champs +//Déclaration d'une variable Fiche Personne +pclFicheCollaborateur est une PFicheCollaborateur dynamique +//Indique le choix de la méthode d'ajout de contact personnalisé 1 (Ajout d'un contact puis +rattachement au lieu) +gclPresentationFicheSociete:ListeCollaborateur:MethodeCustom = 1 +//Appel et affectation du résultat d'ajout de contact personnalisé en passant l'identifiant unique du +lieu +pclFicheCollaborateur <-gclPresentationFicheSociete:ListeCollaborateur.NouveauCustom(Vrai, +gclPresentationFicheSociete.IdentifiantUnique) +paramSuppl est STParamFenetreAppelante +paramSuppl.pclObjetAppelant=pclFicheCollaborateur +paramSuppl.eTypeAppel=DansFenetre +paramSuppl.sTitreFenetre="Création du collaborateur" +paramSuppl.sNomIDAppelant="SocieteCollaborateur" +Ouvre(FEN_ChoixFenetreInterne,"FI_Fiche_Collaborateur",paramSuppl) +PFicheSociete.gListeCollaborateur(gclPresentationFicheSociete) +ExécuteTraitement(TABLE_Collaborateur,trtInit) +//clErreur est une CErreur +// +// +//SI gclPresentation:IdentifiantUnique=0 ALORS +// +// gclPresentation:FicheEnCours:bControle(clErreur,Faux) +// +// SI PAS clErreur:p_bOk ALORS +// GOTO ERREURFONCTIONNELLE +// SINON +// gclPresentation:bOK(clErreur,Vrai) +// FIN +// +//FIN +//BTN_Nouveau_Collaborateur_compact..Visible = faux +//BTN_Cherche_Collaborateur_compact..Visible = vrai +////Création d'une nouvelle fiche personne +//clFicheContact est un PFicheSociete_Collaborateur +<-gpclPresenListeCollaborateur:Nouveau(vrai,gclPresentation:IdentifiantUnique) +// +////Validation en mémoire de la nouvelle fiche Societe_Collaborateur +//clFicheContact.AppelProcValidation() +// +// +////Création d'un nouvel enregistrement dans la zone répétée des collaborateurs +//nIndice est un entier = TableAjouteLigne(TABLE_Collaborateur) +// +////Positionnement dans le nouvel enregistrement de la zone répétée des collaborateurs +//TableSelectPlus(TABLE_Collaborateur,nIndice) +// +////Rafraichissement des données de la zone répétée des collaborateurs +////TableAffiche(TABLE_Collaborateur,nIndice) +// +//GOTO SORTIE +// +//ERREURFONCTIONNELLE : +//Erreur(clErreur.FormateMessage()) +//RETOUR +// +//SORTIE: +//RETOUR +Clic sur BTN_DEL_COLLAB +06/08/2026 Isis_BO 1676 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Code des champs +bSupprimer est un booléen +bQuestionPoussee est un booléen +si pas gpclPresenListeCollaborateur:p_bModeleCourantVide _et_ pas gpclPresenListeCollaborateur: +p_clCourant:bNouveau() _et_ gpclPresenListeCollaborateur:p_clCourant:bLiaison() alors +bQuestionPoussee = Vrai +fin +si pas bQuestionPoussee _et_ OuiNon("Confirmez vous la suppression ?")=Non alors +retour +sinon si bQuestionPoussee _et_ pas gpclPresenListeCollaborateur:p_bModeleCourantVide _et_ pas gpcl +PresenListeCollaborateur:p_clCourant:bNouveau() alors +//1 : Supprimer la &liaison +//2 : Supprimer &entierement +//3 : &Ne pas supprimer +selon Dialogue( +"Souhaitez-vous supprimer uniquement la liaison avec la société ou supprimer totalement le +collaborateur" +) +// Supprimer la &liaison +cas 1 +si gpclPresenListeCollaborateur:p_clCourant:m_nIDSociete = gclPresentationFicheSociete:m_n +PKID alors +Erreur( +"Vous ne pouvez pas supprimer la liaison avec ce collaborateur, car cette société est +sa société principale" +) +retour +fin +bSupprimer = Faux +// Supprimer &entierement +cas 2 +bSupprimer = Vrai +cas 3 +retour +fin +fin +// gestion de la saisie en cascade +// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +nIndice est un entier=TableSelect(TABLE_Collaborateur) +si nIndice>1 _et_ nIndice=TableOccurrence(TABLE_Collaborateur) alors +TableSelectPlus(TABLE_Collaborateur,nIndice-1) +fin +clErreur est un CErreur +si gpclPresenListeCollaborateur:p_clCourant:bLiaison() _et_ pas gpclPresenListeCollaborateur: +p_clCourant:bNouveau() alors +gpclPresenListeCollaborateur:p_clCourant:m_bLiaison = Faux +si pas gpclPresenListeCollaborateur:p_clCourant:bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +fin +si bSupprimer alors +si pas gpclPresenListeCollaborateur:p_clCourant:m_clCollaborateur:bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +fin +fin +fin +TableSupprime(TABLE_Collaborateur,nIndice) +Clic sur BTN_LOUPE_COLLAB +//Création d'un nouvel enregistrement dans la zone répétée des collaborateurs +06/08/2026 Isis_BO 1677 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Code des champs +nIndice est un entier = TableAjouteLigne(TABLE_Collaborateur) +//Positionnement dans le nouvel enregistrement de la zone répétée des collaborateurs +TableSelectPlus(TABLE_Collaborateur,nIndice) +//Recherche de l'indice en cours de la zone répétée +nIndice = TableSelect(TABLE_Collaborateur) +//Objet qui reçoit les données de la sous fenêtre +clModele est un MCollaborateur() +//Objet temporaire qui sert à pointer vers l'enregistrement en cours de la zone répétée +//clModeleSource est un MSociete_Collaborateur() +//Recherche d'un contact dans une liste et affectation dans l'objet +clModele = Ouvre(FEN_ChoixFenetreInterne,"FI_Liste_Collaborateur",DonneParam(DansFenetre, +"FI_Fiche_Societe",MoiMême..Nom,*,"Sélectionnez le collaborateur","SocieteCollaborateur", +gclPresentationFicheSociete:IdentifiantUnique)) +si clModele<>Null _et_ clModele:m_nPKID<>0 alors +nIndiceTab est un entier = TableauCherche(gclPresentationFicheSociete:ListeCollaborateur: +m_clTabModele,tcLinéaire,"m_nIDCollaborateur",clModele:m_nPKID,1) +si nIndiceTab<1 alors +gclPresentationFicheSociete:ListeCollaborateur.Nouveau(Vrai,gclPresentationFicheSociete. +IdentifiantUnique,clModele) +PFicheSociete.gListeCollaborateur(gclPresentationFicheSociete) +ExécuteTraitement(TABLE_Collaborateur,trtInit) +sinon +Info("Ce collaborateur est déjà présent") +fin +fin +Clic sur BTN_VAL_COLLAB +clErreur est un CErreur +gpclPresenFicheCollaborateur est un PFicheSociete_Collaborateur dynamique +gpclPresenFicheCollaborateur<-gpclPresenListeCollaborateur:Modifier() +// validation +si pas gpclPresenFicheCollaborateur.bOK(clErreur) alors +//PAS gpclPresenFicheCollaborateur.bOK(clErreur,Vrai,Vrai) +Erreur(clErreur.FormateMessage()) +retour +fin +Clic sur BTN_AFFECTATION_MULTIPLE +pour toute ligne de LISTE_Collaborateur +//Variable temporaire servant à passer les éléments de la table +pclModeleCollab est un MCollaborateur dynamique +//Copie des valeurs de la table dans la variable temporaire +pclModeleCollab = LISTE_Collaborateur +gpclPresenListeCollabPasDansEquipe.p_clCourant=pclModeleCollab +AffecterCollaborateur() +fin +ListeAffiche(LISTE_Collaborateur,taInit) +DemandeMiseAJourIHM() +Clic sur BTN_AFFECTATION_SIMPLE +AffecterCollaborateur() +ListeAffiche(LISTE_Collaborateur,taInit) +Clic sur BTN_DESAFFECTATION_MULTIPLE +06/08/2026 Isis_BO 1678 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Code des champs +pour toute ligne de TABLE_EquipeCollaborateur +gclPresentationFicheSociete:ListeEquipe:PFicheEnCours:ListeCollaborateurEquipe.p_clCourant=TABLE_ +EquipeCollaborateur +DesaffecterCollaborateur(Vrai) +fin +si gclPresentationFicheSociete:ListeEquipe:p_clCourant<>Null alors +pclPresenFicheEquipe est un PFicheEquipe dynamique +pclPresenFicheEquipe<-gclPresentationFicheSociete:ListeEquipe:Modifier() +//gpclPresenListeEquipe.Modifier() +PFicheEquipe.gListeCollaborateurPasDansEquipe(pclPresenFicheEquipe) +gpclPresenListeCollabPasDansEquipe <- pclPresenFicheEquipe.ListeCollaborateurPasDansEquipe +ListeAffiche(LISTE_Collaborateur,taInit) +DemandeMiseAJourIHM() +fin +Clic sur BTN_DESAFFECTATION_SIMPLE +DesaffecterCollaborateur() +Clic sur BTN_Cherche_Equipe_compact +//Recherche de l'indice en cours de la zone répétée +nIndice est un entier = ZoneRépétéeSelect(ZR_Equipe) +//Objet qui reçoit les données de la sous fenêtre +clModele est un MEquipe() +//Objet temporaire qui sert à pointer vers l'enregistrement en cours de la zone répétée +clModeleSource est un MEquipe() +//Recherche d'un contact dans une liste et affectation dans l'objet +clModele = Ouvre(FEN_ChoixFenetreInterne,"FI_Liste_Equipe",Null,Vrai,"FI_Fiche_Societe", +gclPresentationFicheSociete:IdentifiantUnique) +si clModele<>Null _et_ clModele:m_nPKID<>0 alors +//Indique la liaison avec l'entité Collaborateur +clModele:m_bLiaison = Vrai +//Récupération de l'adresse de l'enregistrement en cours dans la zone répétée des équipes +clModeleSource <- ZR_Equipe[nIndice] +//Copie des valeurs de l'objet issu de la sous-fenêtre dans l'enregistrement de la zone répétée +clModeleSource = clModele +pclFicheEquipe est un PFicheEquipe dynamique +pclFicheEquipe<-gclPresentationFicheSociete:ListeEquipe:Modifier() +//gpclPresenListeEquipe:Modifier() +//Copie des valeurs de l'objet issu de la sous-fenêtre dans l'objet courant des équipes +gclPresentationFicheSociete:ListeEquipe:p_clCourant = clModele +//gpclPresenListeEquipe:p_clCourant = clModele +//Affectation de l'idSociete au collaborateur +clModeleSource:m_nIDSociete = gclPresentationFicheSociete:IdentifiantUnique +gclPresentationFicheSociete:ListeEquipe:p_clCourant:m_nIDSociete=gclPresentationFicheSociete: +IdentifiantUnique +//gpclPresenListeEquipe:p_clCourant:m_nIDSociete = gclPresentationFicheSociete:IdentifiantUnique +PFicheEquipe.gListeCollaborateurDansEquipe(pclFicheEquipe) +gpclPresenListeCollabEquipe <- pclFicheEquipe.ListeCollaborateurEquipe +//LIB_0_DATA_COLLABEQUIPE..Visible +06/08/2026 Isis_BO 1679 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Code des champs += gpclPresenListeCollabEquipe:p_bModeleCourantVide ? Vrai SINON Faux +PFicheEquipe.gListeCollaborateurPasDansEquipe(pclFicheEquipe) +gpclPresenListeCollabPasDansEquipe <- pclFicheEquipe.ListeCollaborateurPasDansEquipe +ListeAffiche(LISTE_Collaborateur,taInit) +clErreur est un CErreur +si pas pclFicheEquipe:bOK(clErreur) alors//PAS pclFicheEquipe:bOK(clErreur,Vrai,Vrai) +Erreur(clErreur.FormateMessage()) +fin +fin +Clic sur BTN_DEL_EQUIPE +bSupprimer est un booléen +bQuestionPoussee est un booléen +si pas gclPresentationFicheSociete:ListeEquipe:p_bModeleCourantVide _et_ pas +gclPresentationFicheSociete:ListeEquipe:p_clCourant:bNouveau() _et_ gclPresentationFicheSociete: +ListeEquipe:p_clCourant:bLiaison() alors +bQuestionPoussee = Vrai +fin +si pas bQuestionPoussee _et_ OuiNon("Confirmez vous la suppression ?")=Non alors +retour +sinon si bQuestionPoussee _et_ pas gclPresentationFicheSociete:ListeEquipe:p_bModeleCourantVide _et_ +pas gclPresentationFicheSociete:ListeEquipe:p_clCourant:bNouveau() alors +//1 : Supprimer la &liaison +//3 : Supprimer &entierement +//2 : &Ne pas supprimer +selon Dialogue( +"Souhaitez-vous supprimer uniquement la liaison avec la société ou supprimer totalement l'équipe ?" +) +// Supprimer la &liaison +cas 1 +bSupprimer = Faux +// Supprimer &entierement +cas 2 +bSupprimer = Vrai +cas 3 +retour +fin +fin +// gestion de la saisie en cascade +// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +nIndice est un entier=ZoneRépétéeSelect(ZR_Equipe) +si nIndice>1 _et_ nIndice=ZoneRépétéeOccurrence(ZR_Equipe) alors +ZoneRépétéeSelectPlus(ZR_Equipe,nIndice-1) +fin +clErreur est un CErreur +si gclPresentationFicheSociete:ListeEquipe:p_clCourant:bLiaison() _et_ pas gclPresentationFicheSociete: +ListeEquipe:p_clCourant:bNouveau() alors +gclPresentationFicheSociete:ListeEquipe:p_clCourant:m_nIDSociete = 0 +si pas gclPresentationFicheSociete:ListeEquipe:p_clCourant:bEnregistrer(clErreur) alors +Erreur(clErreur.FormateMessage()) +fin +si bSupprimer alors +gclPresentationFicheSociete:ListeEquipe:p_clCourant:m_bLiaison = Faux +fin +fin +si pas gclPresentationFicheSociete:ListeEquipe:bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +fin +ZoneRépétéeSupprime(ZR_Equipe,nIndice,zrAnimationSuppression) +Clic sur BTN_Nouvelle_Equipe_compact +06/08/2026 Isis_BO 1680 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Code des champs +clErreur est une CErreur +si gclPresentationFicheSociete:IdentifiantUnique=0 alors +gclPresentationFicheSociete:FicheEnCours:bControle(clErreur,Faux) +si pas clErreur:p_bOk alors +goto ERREURFONCTIONNELLE +sinon +gclPresentationFicheSociete:bOK(clErreur)//gclPresentationFicheSociete:bOK(clErreur,Vrai) +fin +fin +//Création d'une nouvelle fiche personne +clFicheEquipe est un PFicheEquipe <-gclPresentationFicheSociete:ListeEquipe:Nouveau(Vrai, +gclPresentationFicheSociete:IdentifiantUnique) +//gpclPresenListeEquipe:Nouveau(vrai,gclPresentationFicheSociete:IdentifiantUnique) +//Validation en mémoire de la nouvelle fiche Societe_Collaborateur +clFicheEquipe.AppelProcValidation() +//Création d'un nouvel enregistrement dans la zone répétée des collaborateurs +nIndice est un entier = ZoneRépétéeAjouteLigne(ZR_Equipe) +//Positionnement dans le nouvel enregistrement de la zone répétée des collaborateurs +ZoneRépétéeSelectPlus(ZR_Equipe,nIndice) +//Rafraichissement des données de la zone répétée des collaborateurs +ZoneRépétéeAffiche(ZR_Equipe,nIndice) +goto SORTIE +ERREURFONCTIONNELLE : +Erreur(clErreur.FormateMessage()) +retour +SORTIE: +retour +Clic sur BTN_Valider_Collaborateur_compact1 +ExécuteTraitement(ZR_Equipe,trtSortieLigne) +Fin d'initialisation de LISTE_Collaborateur +si LISTE_Collaborateur..Occurrence>0 alors +ListeSelectPlus(LISTE_Collaborateur,1) +sinon +BTN_AFFECTATION_SIMPLE..Visible = Faux +fin +Sélection d'une ligne de LISTE_Collaborateur +//Variable temporaire servant à passer les éléments de la table +pclModeleCollab est un MCollaborateur dynamique +//Copie des valeurs de la table dans la variable temporaire +pclModeleCollab = LISTE_Collaborateur +gpclPresenListeCollabPasDansEquipe.p_clCourant=pclModeleCollab +BTN_AFFECTATION_SIMPLE..Visible = Vrai +Sélection d'une ligne de TABLE_EquipeCollaborateur +06/08/2026 Isis_BO 1681 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Code des champs +si TABLE_EquipeCollaborateur..Nouveau alors +gclPresentationFicheSociete:ListeEquipe:PFicheEnCours:ListeCollaborateurEquipe:p_clCourant=Null +//gpclPresenListeCollabEquipe.p_clCourant=Null +sinon +gclPresentationFicheSociete:ListeEquipe:PFicheEnCours:ListeCollaborateurEquipe:p_clCourant=TABLE_ +EquipeCollaborateur//gpclPresenListeCollabEquipe.p_clCourant=TABLE_EquipeCollaborateur +// SI TABLE_EquipeCollaborateur est PFicheEquipe_Collaborateur ALORS +// clModele est un PFicheEquipe_Collaborateur dynamique +// clModele = TABLE_EquipeCollaborateur +// +gclPresentationFicheSociete:ListeEquipe:PFicheEnCours:ListeCollaborateurEquipe:p_clCourant=clModele:p_c +lCourant +// SINON +// +gclPresentationFicheSociete:ListeEquipe:PFicheEnCours:ListeCollaborateurEquipe:p_clCourant=TABLE_Equipe +Collaborateur +// FIN +fin +BTN_DESAFFECTATION_SIMPLE..Visible = Vrai +Sortie d'une ligne de ZR_Equipe +// si la table n'a pas été modifiée, il ne faut rien faire +si ZR_Equipe..Modifié=Faux alors +retour +fin +clErr est un CErreur +pclPresenFicheEquipe est un PFicheEquipe dynamique +// ajout d'une nouvelle ligne +si ZR_Equipe..Nouveau alors +pclPresenFicheEquipe<-gclPresentationFicheSociete:ListeEquipe:Nouveau(Vrai, +gclPresentationFicheSociete:IdentifiantUnique) +//gpclPresenListeEquipe.Nouveau(vrai,gclPresentationFicheSociete:IdentifiantUnique) +// modification d'une ligne existante +sinon +pclPresenFicheEquipe<-gclPresentationFicheSociete:ListeEquipe:Modifier() +//gpclPresenListeEquipe.Modifier() +fin +// sauvegarde de la table +pclPresenFicheEquipe:FicheEnCours = ZR_Equipe//TableEnregistre(TABLE,pclPresentationFiche) +// traitement des erreurs +si pas pclPresenFicheEquipe.bOK(clErr) alors//PAS pclPresenFicheEquipe.bOK(clErr,Vrai,Vrai) +Erreur(clErr.FormateMessage()) +fin +// repasse la table en non modifiée +ZR_Equipe..Modifié=Faux +Sélection d'une ligne de ZR_Equipe +//Variable temporaire servant à passer les éléments de la table +pclModeleEquipe est un MEquipe dynamique +//Copie des valeurs de la table dans la variable temporaire +pclModeleEquipe = ZR_Equipe +//mise à jour de la ligne courante +06/08/2026 Isis_BO 1682 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Code des champs +gclPresentationFicheSociete:ListeEquipe.p_clCourant = pclModeleEquipe +//pclPresenFicheEquipe est un PFicheEquipe dynamique +//pclPresenFicheEquipe<-gclPresentationFicheSociete:ListeEquipe:PFicheEnCours//Modifier()//gpclPresenLi +steEquipe.Modifier() +//PFicheEquipe.gListeCollaborateurDansEquipe(pclPresenFicheEquipe) +//gpclPresenListeCollabEquipe <- pclPresenFicheEquipe.ListeCollaborateurEquipe +//LIB_0_DATA_COLLABEQUIPE..Visible +=gclPresentationFicheSociete:ListeEquipe:PFicheEnCours:ListeCollaborateurEquipe:p_bModeleCourantVide ? +Vrai SINON Faux//pclPresenFicheEquipe:ListeCollaborateurEquipe:p_bModeleCourantVide ? VRAI SINON +Faux//gpclPresenList +eCollabEquipe:p_bModeleCourantVide ? Vrai SINON Faux +//clErreur est un CErreur +//pclPresenFicheEquipe:bok(clErreur) +//PFicheEquipe.gListeCollaborateurPasDansEquipe(pclPresenFicheEquipe) +gpclPresenListeCollabPasDansEquipe <- gclPresentationFicheSociete:ListeEquipe:PFicheEnCours: +ListeCollaborateurPasDansEquipe//pclPresenFicheEquipe.ListeCollaborateurPasDansEquipe +ListeAffiche(LISTE_Collaborateur,taInit) +DemandeMiseAJourIHM() +A chaque modification de SAI_SEQ_Nom ( ZR_Equipe ) +ChampsVersSource(MoiMême..LiaisonFichier,MoiMême..Valeur, +"gclPresentationFicheSociete:ListeEquipe:p_clCourant") +Sortie de SAI_SEmail +EnregistreFiche() +A chaque modification de SAI_SEmail +ChampVersSource() +Sortie de SAI_SFAX +EnregistreFiche() +A chaque modification de SAI_SFAX +ChampVersSource() +Sortie de SAI_SNom +SAI_sLigneAdresse_1 = SAI_SNom +EnregistreFiche() +A chaque modification de SAI_SNom +ChampVersSource() +Sortie de SAI_SSIRET +06/08/2026 Isis_BO 1683 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Code des champs +EnregistreFiche +A chaque modification de SAI_SSIRET +ChampVersSource() +Sortie de SAI_SSiteWeb +EnregistreFiche() +A chaque modification de SAI_SSiteWeb +ChampVersSource() +Sortie de SAI_STel +EnregistreFiche() +A chaque modification de SAI_STel +ChampVersSource() +Clic sur IMG_Couleur +scouleur est une chaîne ANSI = Ouvre(FEN_Choix_Couleur_Param,gstParametreSoc.sCouleur) +si scouleur<> "" alors +gstParametreSoc.sCouleur = scouleur +CouleurSoc() +fin +//bufResulBuf est un buffer +//Sérialise(gstParametreSoc,bufResulBuf,psdJSON) +// +//gclPresentationFicheSociete:m_sParametres = bufResulBuf +Clic sur IMG_Tester +TesterParamEmailSMTP() +Initialisation de LIB_Couleur +// Version 1 +// Description +// Libellé simple +Sortie d'une ligne de TABLE_Collaborateur +06/08/2026 Isis_BO 1684 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Code des champs +// si la table n'a pas été modifiée, il ne faut rien faire +si TABLE_Collaborateur..Modifié=Faux alors +retour +fin +clErr est un CErreur +pclPresentationFiche est un PFicheSociete_Collaborateur dynamique +// ajout d'une nouvelle ligne +si TABLE_Collaborateur..Nouveau alors +pclPresentationFiche<-gpclPresenListeCollaborateur:Nouveau(Vrai,gclPresentationFicheSociete: +IdentifiantUnique) +// modification d'une ligne existante +sinon +pclPresentationFiche<-gpclPresenListeCollaborateur:Modifier() +fin +// sauvegarde de la table +TableEnregistre(TABLE_Collaborateur,pclPresentationFiche) +// traitement des erreurs +si pas pclPresentationFiche.bOK(clErr) alors//PAS pclPresentationFiche.bOK(clErr,Vrai,Faux) +Erreur(clErr.FormateMessage()) +fin +// repasse la table en non modifiée +TABLE_Collaborateur..Modifié=Faux +Sélection d'une ligne de TABLE_Collaborateur +si TABLE_Collaborateur..Nouveau alors +gpclPresenListeCollaborateur.p_clCourant=Null +sinon +gpclPresenListeCollaborateur.p_clCourant=TABLE_Collaborateur +//gpclPresenListeCollaborateur.p_clCourant=TABLE_Collaborateur +//gpclPresenFicheCollaborateur<-gpclPresenListeCollaborateur:Modifier() +// DISP_SansNom1[1]..Visible = faux +// DISP_SansNom1[2]..Visible = vrai +// DISP_SansNom1.TABLE_Collaborateur..Visible = Faux +// DISP_SansNom1.BTN_OK..Visible=Vrai +// DISP_SansNom1.BTN_Fermer..Visible=Vrai +// DISP_SansNom1.SAI_SPE_Email..Visible=Vrai +// DISP_SansNom1.SAI_SPE_Nom..Visible=Vrai +// DISP_SansNom1.SAI_SPE_Prenom..Visible=Vrai +// DISP_SansNom1.SAI_SPE_TelFixe..Visible=Vrai +// DISP_SansNom1.SAI_SPE_TelMobile..Visible=Vrai +fin +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Collaborateur +//Indique que le programme doit faire un appel customisé de la classe +gclPresentationFicheSociete:ListeCollaborateur:MethodeCustom = 1 +//Déclaration d'une variable Fiche Personne +pclFicheCollab est une PFicheCollaborateur dynamique +pclFicheCollab <- gclPresentationFicheSociete:ListeCollaborateur.ModifierCustom() +Ouvre(FEN_ChoixFenetreInterne,"FI_Fiche_Collaborateur",DonneParam(DansFenetre,"FI_Fiche_Lieu",MoiMême.. +Nom,*,"","LieuPersonne",*,pclFicheCollab,Faux)) +DemandeMiseAJourIHM() +06/08/2026 Isis_BO 1685 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Procédures +FI_Fiche_Societe +Procédures +Procédure locale ActiveTimer +// Résumé : +// Syntaxe : +//ActiveTimer ( est entier) +// +// Paramètres : +// nIdTimer (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ActiveTimer(local nIdTimer est un entier) +TimerSys(TimeOutSociete,100,nIdTimer) +Procédure locale AffecterCollaborateur +procédure AffecterCollaborateur() +//SI gclPresentationFicheSociete:ListeEquipe:PFicheEnCours:ListeCollaborateurEquipe:p_clCourant <>NUll +ALORS +si gpclPresenListeCollabPasDansEquipe:p_clCourant<>Null alors +clErreur est un CErreur +pclFicheEquipCollaborateur est un PFicheEquipe_Collaborateur dynamique +pclFicheEquipCollaborateur<-gclPresentationFicheSociete:ListeEquipe:PFicheEnCours: +ListeCollaborateurEquipe:Nouveau() +// sauvegarde de la table +pclFicheEquipCollaborateur:m_nIDEquipe = gclPresentationFicheSociete:ListeEquipe: +p_clCourant:m_nPKID//gpclPresenListeEquipe:p_clCourant:m_nPKID +pclFicheEquipCollaborateur:m_nIDCollaborateur = gpclPresenListeCollabPasDansEquipe:p_clCourant: +m_nPKID +pclFicheEquipCollaborateur:m_clCollaborateur = gpclPresenListeCollabPasDansEquipe:p_clCourant +// traitement des erreurs +si pas pclFicheEquipCollaborateur.bOK(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +gpclPresenListeCollabPasDansEquipe.bSupprimer(clErreur) +fin +fin +Procédure locale ChargeParamEmail +procédure ChargeParamEmail() +si gstParametreSoc.Compte.sCompte = "" _ou_ pas gstParametreSoc.SMTP <> Null alors +sRésultat est une chaîne ANSI = ParametreLit(cParam_SMTP,"",Vrai) +si sRésultat<>"" alors +SAI_NomUtilisateurSMTP = ExtraitChaîne(sRésultat,1,"<>",DepuisDébut) +SAI_MotdePasseSMTP = ExtraitChaîne(sRésultat,2,"<>",DepuisDébut) +SAI_AdresseServeurSMTP = ExtraitChaîne(sRésultat,3,"<>",DepuisDébut) +06/08/2026 Isis_BO 1686 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Procédures +SAI_PortSMTP = ExtraitChaîne(sRésultat,4,"<>",DepuisDébut) +ListeSelectPlus(COMBO_SecuriteSMTP,Val(ExtraitChaîne(sRésultat,5,"<>",DepuisDébut))) +SAI_AdresseMailCompte= ExtraitChaîne(sRésultat,6,"<>",DepuisDébut) +SAI_NomCompte = ExtraitChaîne(sRésultat,7,"<>",DepuisDébut) +GR_Email..Modifié = Vrai // pour enregistrer les paramètres dans la fiche Societe +fin +sinon si gstParametreSoc.SMTP <> Null alors +SAI_NomUtilisateurSMTP = gstParametreSoc.SMTP.sLogin +SAI_MotdePasseSMTP = Décrypte(gstParametreSoc.SMTP.sMdp, gsCleMdp) +SAI_AdresseServeurSMTP = gstParametreSoc.SMTP.sAdresseServeur +SAI_PortSMTP = gstParametreSoc.SMTP.sPortServeur +ListeSelectPlus(COMBO_SecuriteSMTP,Val( gstParametreSoc.SMTP.nCryptage)) +SAI_AdresseMailCompte= gstParametreSoc.Compte.sEmail +SAI_NomCompte = gstParametreSoc.Compte.sCompte +fin +Procédure locale CouleurSoc +procédure CouleurSoc() +FRM_Couleur..CouleurFond = gstParametreSoc.sCouleur +sNomImg est une chaîne ANSI = "FEN_Menu.IMG_Cercle_"+gstParametreSoc.sCouleur +IMG_Couleur = {sNomImg} +Procédure locale DesactiveTimer +// Résumé : +// Syntaxe : +//DesactiveTimer ( est entier) +// +// Paramètres : +// nIdTimer (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DesactiveTimer(local nIdTimer est un entier) +FinTimerSys(nIdTimer) +Procédure locale DesaffecterCollaborateur +procédure DesaffecterCollaborateur(local bTous est un booléen=Faux) +clErreur est un CErreur +si gclPresentationFicheSociete:ListeEquipe:PFicheEnCours:ListeCollaborateurEquipe.bSupprimer(clErreur) +alors +si pas bTous alors +pclPresenFicheEquipe est un PFicheEquipe dynamique +pclPresenFicheEquipe<-gclPresentationFicheSociete:ListeEquipe:Modifier() +//gpclPresenListeEquipe.Modifier() +PFicheEquipe.gListeCollaborateurPasDansEquipe(pclPresenFicheEquipe) +gpclPresenListeCollabPasDansEquipe <- pclPresenFicheEquipe.ListeCollaborateurPasDansEquipe +ListeAffiche(LISTE_Collaborateur,taInit) +DemandeMiseAJourIHM() +fin +fin +Procédure locale EnregistreFiche +06/08/2026 Isis_BO 1687 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Procédures +// Résumé : +// Syntaxe : +//[ = ] EnregistreFiche () +// +// Paramètres : +// Aucun +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure EnregistreFiche() +bResultat est un booléen +tabChampSuivant est un tableau de chaînes = [SAI_SNom..Nom,BTN_Valider_fiche_societe..Nom, +BTN_Fermer_fiche_societe..Nom] +EnregistreParamSoc() +//SI PAS ChampSuivant() dans +(SAI_sNom..nom,BTN_Valider_fiche_societe..Nom,BTN_Fermer_fiche_societe..nom) ALORS +si pas Contient(ChampSuivant(),tabChampSuivant) alors +//SI champencours() DANS (BTN_Valider_fiche_societe..Nom) ALORS EcranVersSource() +si Contient(ChampEnCours(),BTN_Valider_fiche_societe..Nom) alors EcranVersSource() +bResultat = ValideFicheSimple(gclPresentationFicheSociete,paramSupplementaire,ActiveTimer,BTN_ +CADENAS_FERME_SOC,BTN_CADENAS_OUVERT_SOC,GR_CADENAS_SOC,DISP_FICHE_SOCIETE) +// nPKID est un entier sur 8 octets = gclPresentationFicheSociete:IdentifiantUnique +// clErreur est un CErreur +// +bResultat = gclPresentationFicheSociete.bOK(clErreur)//gclPresentationFicheSociete.bOK(clErreur,Vrai) +// // validation +// SI PAS bResultat ALORS +// Erreur(clErreur.FormateMessage()) +// SINON +// SI nPKID=0 _ET_ paramSupplementaire.eTypeAppel=DansOnglet ALORS +// +FEN_Menu.RenomeOnglet(gclPresentationFicheSociete:IdentifiantUnique,gclPresentationFicheSociete:InfoOng +let) +// FIN +// FIN +fin +renvoyer bResultat +Procédure locale EnregistreParamSoc +procédure EnregistreParamSoc() +si GR_Email..Modifié _et_ (SAI_AdresseServeurSMTP <> "" ou SAI_AdresseMailCompte <> "") alors +si TesterParamEmailSMTP(Faux) alors +si pas gstParametreSoc.SMTP <> Null alors +STParamEmail est un STParamEnvoiEmail +gstParametreSoc.SMTP = STParamEmail +fin +gstParametreSoc.SMTP.sLogin = SAI_NomUtilisateurSMTP +gstParametreSoc.SMTP.sMdp = Crypte(SAI_MotdePasseSMTP,gsCleMdp) +gstParametreSoc.SMTP.sAdresseServeur = SAI_AdresseServeurSMTP +gstParametreSoc.SMTP.sPortServeur = SAI_PortSMTP +gstParametreSoc.SMTP.nCryptage = Val(COMBO_SecuriteSMTP) +gstParametreSoc.SMTP.bufSignature = SAI_Texte_HTML +gstParametreSoc.SMTP.bEnCopieCachee = INT_CCi +gstParametreSoc.Compte.sEmail = SAI_AdresseMailCompte +gstParametreSoc.Compte.sCompte = SAI_NomCompte +gstParametreSoc.SMTP.sType = c_SMTP +06/08/2026 Isis_BO 1688 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Procédures +i est un entier = 1 +nPosest un entier = PositionOccurrence(Majuscule(gstParametreSoc.SMTP.bufSignature), +"0 +sTexte est une chaîne = Milieu(gstParametreSoc.SMTP.bufSignature,nPos,(Position(gst +ParametreSoc.SMTP.bufSignature,">",nPos+1)+1)-nPos) +CodeSrcHtmlEnBase64IMG(sTexte,gstParametreSoc.SMTP) +i+=1 +nPos = PositionOccurrence(Majuscule(gstParametreSoc.SMTP.bufSignature)," 0 alors +HLitRecherchePremier(Societe,SO_PKID,gclPresentationFicheSociete:m_nPKID) +si HTrouve(Societe) alors +Societe.SO_Parametres = gclPresentationFicheSociete:m_sParametres +si pas HModifie(Societe) alors +LogEcrit("Erreur modification paramètres de société"+RC+HErreurInfo(),eErreur) +Erreur("Erreur dans la modification des paramètres dans la fiche société",HErreurInfo()) +fin +fin +fin +renvoyer Vrai +Procédure locale FermeFiche +procédure FermeFiche() +si FenEtat(FEN_Fiche)=Actif alors +Ferme(FEN_Fiche) +fin +Procédure locale GestionBoutonCollaborateur +// Résumé : +// Syntaxe : +// GestionBoutonCollaborateur () +// +// Paramètres : +// Aucun +06/08/2026 Isis_BO 1689 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Procédures +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure GestionBoutonCollaborateur() +bGrise est un booléen = gclPresentationFicheSociete.ListeCollaborateur.p_bModeleCourantVide +_ou_ gclPresentationFicheSociete:ListeCollaborateur.p_clCourant=Null +bVisible est un booléen = pas gclPresentationFicheSociete:ListeCollaborateur.p_bModeleCourantVide +_et_ gclPresentationFicheSociete:ListeCollaborateur.p_clCourant<>Null +//BTN_EDT_COLLAB..Visible = bVisible +BTN_DEL_COLLAB..Visible = bVisible +Procédure locale GestionBoutonEquipe +// Résumé : +// Syntaxe : +//GestionBoutonEquipe () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure GestionBoutonEquipe() +bGrise est un booléen = gclPresentationFicheSociete.ListeEquipe.p_bModeleCourantVide _ou_ +gclPresentationFicheSociete:ListeEquipe.p_clCourant=Null _ou_ pas gclPresentationFicheSociete: +ListeEquipe:p_clCourant:bNouveau() +bVisible est un booléen = pas gclPresentationFicheSociete:ListeEquipe.p_bModeleCourantVide _et_ +gclPresentationFicheSociete:ListeEquipe.p_clCourant<>Null +//BTN_EDT_COLLAB..Visible = bVisible +BTN_DEL_EQUIPE..Visible = bVisible +BTN_Cherche_Equipe_compact..Grisé = bGrise +//gclPresentationFicheSociete:ListeEquipe:p_bModeleCourantVide _OU_ PAS +gclPresentationFicheSociete:ListeEquipe:p_clCourant:bNouveau() ? Grisé SINON Actif +Procédure locale SurActivite +// Résumé : +// Syntaxe : +//SurActivite (, , ) +// +// Paramètres : +// wEve : +// wParam : +// lParam : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SurActivite(wEve,wParam,lParam) +si gclPresentationFicheSociete:m_bBlocageEcriture alors +gnDelai=DonneValeurTimeOutObjet(gclPresentationFicheSociete) +fin +Procédure locale TesterParamEmailSMTP +06/08/2026 Isis_BO 1690 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Procédures +procédure TesterParamEmailSMTP(bAvecMSG est un booléen = Vrai) +bSMTPCnxOk est un booléen +MessageInfoCnx est une chaîne = +"Rapport sur les tests de configuration de votre compte de messagerie:"+RC+RC +sMsg est une chaîne +Sablier(Vrai) +//***************************************************************************************************** +***************************************** +//*********************************VERIFICATION +SMTP******************************************************************************************** +//***************************************************************************************************** +***************************************** +(bSMTPCnxOk,sMsg)=VerifieEmailOuvreSession(3,SAI_NomUtilisateurSMTP,SAI_MotdePasseSMTP, SAI_ +AdresseServeurSMTP, Val(SAI_PortSMTP),COMBO_SecuriteSMTP) +si bSMTPCnxOk=Vrai alors +EmailFermeSession(SAI_NomUtilisateurSMTP) +MessageInfoCnx+="- Vos paramètres de connexion SMTP sont corrects"+RC +sinon +MessageInfoCnx+= +"- Problème de connexion au serveur SMTP, merci de vérifier les données que vous avez saisies"+RC + +"Erreur reçue :" + sMsg +fin +Sablier(Faux) +si bAvecMSG alors +Info(MessageInfoCnx) +sinon si pas bSMTPCnxOk alors +Erreur(MessageInfoCnx) +fin +renvoyer bSMTPCnxOk +Procédure locale TimeOutSociete +procédure TimeOutSociete() +//Enlève 1 seconde au temps restant +gnDelai-- +//Le temps est écoulé, l'enregistrement et le déblocage de ce dernier c'est bien passé +si gnDelai = 0 alors +DeblocEnregistrement(gclPresentationFicheSociete,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_SOC,BTN_CADENAS_OUVERT_SOC,GR_CADENAS_SOC,DISP_FICHE_SOCIETE,*,Vrai) +fin +Procédure locale TriColonne +// Procédure callback appelée à chaque clic sur entête de colonne de "Table1" pour trier la colonne +// wEve [in]: Numéro du message Windows +// wParam [in] : Numéro de la colonne a trier +// lParam [in]: Ordre du tri 5 (1 : Croissant, 0 : décroissant) +// Renvoyer 0 pour ne pas effectuer le tri demandé +procédure TriColonne(wEve,wParam,lParam) +sSens est une chaîne="" +si wParam<>0 alors//N° de colonne sur laquelle le clic est effectué +06/08/2026 Isis_BO 1691 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Societe › Procédures +//Détection du sens du tri +si pas lParam alors sSens="-" +selon MoiMême..Nom +cas TABLE_Collaborateur..Nom +//Trier sur la colonne +TableTrie(TABLE_Collaborateur,sSens+TableEnumèreColonne(TABLE_Collaborateur,wParam), +"+COL_PKID") +//Traitement à effectuer "Après chaque tri" +TrieObjetChampTableSiBesoin(gclPresentationFicheSociete:ListeCollaborateur,TABLE_ +Collaborateur,gsTriEnCoursCollab) +cas TABLE_EquipeCollaborateur..Nom +//Trier sur la colonne +TableTrie(TABLE_EquipeCollaborateur,sSens+TableEnumèreColonne(TABLE_EquipeCollaborateur, +wParam),"+COL_PKID") +//Traitement à effectuer "Après chaque tri" +TrieObjetChampTableSiBesoin(gclPresentationFicheSociete:ListeEquipe,TABLE_ +EquipeCollaborateur,gsTriEnCoursEqCollab) +fin +renvoyer 0 +fin +06/08/2026 Isis_BO 1692 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Image +FI_Fiche_Personne +Image +| 06/08/2026 | Isis_BO | 1693 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Image +| 06/08/2026 | Isis_BO | 1694 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations générales +FI_Fiche_Personne +Informations générales +FI_Fiche_Personne +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Fiche_Personne.wdw +| Créé par | | frederic.bourras@applilogik.fr | | | | +| -------------------------- | ------------ | ------------------------------ | --------- | --------------- | --- | +| Date de création | | 09/08/2018 17:00:54 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 29/04/2025 15:54:02 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 858 Hauteur | 514 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ------- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 1695 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations générales +Valide auto. 0 +Lib. + tps restant Oui +Pos. X Menu 6 +Pos. Y Menu 28 +Texte Markdown Non +Mode menu ctx. +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 +Statistiques de la fenêtre +| | Champ de saisie | 18 | Libellé | 20 | +| --- | ---------------------- | --- | --------------------- | --- | +| | Bouton | 15 | Interrupteur | 3 | +| | Image | 2 | Table | 3 | +| | Combo | 1 | Forme | 2 | +| | Fenêtre interne | 1 | Option d'interrupteur | 3 | +| | Colonne de table | 13 | Disposition | 6 | +| | Cellule de disposition | 24 | | | +Nombre d'éléments dans la fenêtre : 111 +FI_Fiche_Personne +Informations sur les champs +Fenêtre : FI_Fiche_Personne +| 06/08/2026 | | Isis_BO | | 1696 | +| ---------- | --- | ------- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Fenêtre interne +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FI_Fiche_Personne | | | | 0 | 0 | 858 | 514 | | 0 | | | +| ----------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +Fenêtre interne : FI_Fiche_Personne +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_CLIENT | 437 | 71 172 | 22 | 0 | Actif | Texte | | Non | | | | +| ------------------- | ------- | ------ | --- | --- | ----- | ----- | --- | --- | --- | --- | --- | +| SAI_CODESITE | 14 | 18 268 | 22 | 2 | Actif | Texte | | Non | | | | +| SAI_CodeLieu | 0 | 18 197 | 22 | 1 | Actif | Texte | | Non | | | | +| SAI_Etage | 301 102 | 123 | 22 | 2 | Actif | Texte | | Non | | | | +| SAI_LOT | 301 148 | 123 | 22 | 2 | Actif | Texte | | Non | | | | +| SAI_SPE_Email | 259 | 71 172 | 22 | 0 | Actif | Texte | | Non | | | | +| SAI_SPE_InfoSupp | 13 111 | 828 | 22 | 0 | Actif | Texte | | Non | | | | +| SAI_SPE_Nom | 139 | 26 292 | 22 | 0 | Actif | Texte | | Non | | | | +| SAI_SPE_Prenom | 437 | 26 172 | 22 | 0 | Actif | Texte | | Non | | | | +| SAI_SPE_TelFixe | 13 | 71 120 | 22 | 0 | Actif | Texte | | Non | | | | +| SAI_SPE_TelMobile | 139 | 71 114 | 22 | 0 | Actif | Texte | | Non | | | | +| SAI_sCodePostal | 14 164 | 66 | 22 | 2 | Actif | Texte | | Non | | | | +| SAI_sEtiquette | 301 | 58 123 | 22 | 2 | Actif | Texte | | Non | | | | +| SAI_sLigneAdresse_2 | 14 102 | 268 | 22 | 2 | Actif | Texte | | Non | | | | +| SAI_sLigneAdresse_3 | 14 124 | 268 | 22 | 2 | Actif | Texte | | Non | | | | +| SAI_sLigneAdresse_4 | 14 | 58 268 | 22 | 2 | Actif | Texte | | Non | | | | +| SAI_sLigneAdresse_5 | 14 | 80 268 | 22 | 2 | Actif | Texte | | Non | | | | +| SAI_sVille | 90 164 | 192 | 22 | 2 | Actif | Texte | | Non | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_ADRESSE | | 14 | 44 | 268 | 14 | | 2 | Actif | Gauche | Haut | | +| -------------- | --- | --- | --- | --- | ------- | --- | --- | ----- | ------ | ---- | ---- | +| LIB_CIVILITE | | 13 | 12 | 120 | 14 | | 0 | Actif | Gauche | Haut | | +| LIB_CLIENT | | 437 | 57 | 172 | 14 | | 0 | Actif | Gauche | Haut | | +| LIB_CODEPOSTAL | | 14 | 149 | 66 | 14 | | 2 | Actif | Gauche | Haut | | +| LIB_CODESITE | | 14 | 4 | 268 | 14 | | 2 | Actif | Gauche | Haut | | +| LIB_EMAIL | | 259 | 57 | 172 | 14 | | 0 | Actif | Gauche | Haut | | +| LIB_ETAGE | | 301 | 88 | 123 | 14 | | 2 | Actif | Gauche | Haut | | +| LIB_ETIQUETTE | | 301 | 44 | 123 | 14 | | 2 | Actif | Gauche | Haut | | +| 06/08/2026 | | | | | Isis_BO | | | | | | 1697 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_InfoSupp | 13 | 97 | 198 | 14 | 0 | Actif | Gauche | Haut | | +| --------------------- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | +| LIB_LOT | 301 | 132 | 123 | 14 | 2 | Actif | Gauche | Haut | | +| LIB_NOM | 139 | 12 | 178 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_PRENOM | 437 | 12 | 172 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_ROLE | 613 | 12 | 172 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_ResultatRecherche | 1 | 1 | 197 | 18 | 1 | Actif | Gauche | Haut | | +| LIB_TELFIXE | 13 | 57 | 120 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_TELMOBILE | 139 | 57 | 114 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_TITREINTERVENTION | 0 | 6 | 119 | 19 | 0 | Actif | Gauche | Haut | | +| LIB_TITRESITE | 0 | 6 | 47 | 19 | 0 | Actif | Gauche | Haut | | +LIB_Titre_de_fenêtre_fiche_perso 4 6 285 21 0 Actif Gauche Centre +| LIB_VILLE | 90 | 149 | 133 | 14 | 2 | Actif | Gauche | Haut | | +| --------- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_AJOUTE_CONTACT_SITE | | 27 | 15 | 24 | 24 | 1 | Actif | | Normal | +| ---------------------------- | --- | --- | --- | --- | --- | --- | ----- | --- | ------- | +| BTN_CADENAS_FERME_PERS | | 4 | 4 | 24 | 24 | 0 | Actif | | Normal | +| BTN_CADENAS_OUVERT_PERS | | 4 | 4 | 24 | 24 | 0 | Actif | | Normal | +| BTN_Fermer_Site | | 85 | 3 | 24 | 24 | 2 | Actif | | Abandon | +| BTN_Fermer_fiche_personne | | 4 | 4 | 24 | 24 | 0 | Actif | | Abandon | +| BTN_LOUPE_CLIENT | | 616 | 70 | 24 | 24 | 0 | Actif | | Normal | +| BTN_LOUPE_CONTACT_SITE | | 0 | 15 | 24 | 24 | 1 | Actif | | Normal | +| BTN_LigneSuivante | | 204 | 10 | 30 | 26 | 1 | Actif | | Normal | +| BTN_MODIF_CONTACT_SITE | | 55 | 15 | 24 | 24 | 1 | Grisé | | Normal | +| BTN_Nouveau_fiche_personne | | 4 | 4 | 24 | 24 | 0 | Actif | | Normal | +| BTN_ROLE | | 613 | 26 | 172 | 22 | 0 | Actif | | Normal | +| BTN_SUPPRIME_CONTACT_SITE | | 85 | 15 | 24 | 24 | 1 | Grisé | | Normal | +| BTN_Supprimer_fiche_personne | | 4 | 4 | 24 | 24 | 0 | Actif | | Normal | +| BTN_Valide_Site | | 53 | 3 | 24 | 24 | 2 | Actif | | Normal | +| BTN_Valider_fiche_personne | | 4 | 4 | 24 | 24 | 0 | Actif | | Normal | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | | laitini tatE | | staté siorT | +| --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | ----------- | +ruetuaH +ruegraL +elbisiV +nalP +| INT_ActifLieuPersonne | 365 | 21 | | 62 16 | 2 | Actif | | | 1 | +| --------------------- | --- | --- | --- | ------- | --- | ----- | --- | --- | ---- | +| INT_ActifPersonne | 791 | 29 | | 54 16 | 0 | Actif | | | 1 | +| INT_USAGEINTERNE | 669 | 71 | 172 | 22 | 0 | Actif | | | 1 | +| 06/08/2026 | | | | Isis_BO | | | | | 1698 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › 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_ICONE_CARACTERISTIQUES | | 4 | | 7 16 | 16 | 0 | Actif | | | | +| -------------------------- | --- | --- | --- | ---- | --- | --- | ----- | --- | --- | --- | +| IMG_ICONE_CARACTERISTIQUES | | 4 | | 7 16 | 16 | 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 +TABLE_INTERLOCUTE +| | 0 0 405 | 201 | 0 | affichag | Variable | | | | | 0 | +| ----------------- | ------- | --- | --- | -------- | -------- | --- | --- | --- | --- | --- | +| TABLE_INTERLOCUTE | 0 0 434 | 188 | 1 | affichag | Variable | | | | | 0 | +| TABLE_NUMERO_TEL | 4 4 858 | 53 | 0 | Actif | Mémoir | | | | | 2 | +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 | | | | +| COMBO_nIDCivilite | 13 26 | 120 | 22 | 0 | Actif | Variable | | Non | | | +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| FRM_CADRE_CARACTERISTIQUES | | | 6 | 6 | 846 | 133 | 0 | | Actif | | +| -------------------------- | --- | --- | --- | ------- | --- | --- | --- | --- | ----- | ---- | +| FRM_CADRE_SITE | | | 0 | 0 | 434 | 193 | 2 | | Actif | | +| 06/08/2026 | | | | Isis_BO | | | | | | 1699 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Disposition +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| DISP_ENTETE_FICHE_PERSONNE | | 0 | 0 | 858 | 33 | 0 | Actif | | +| -------------------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +| DISP_FICHE_PERSONNE | | 0 | 0 | 858 | 514 | 0 | Actif | | +| DISP_IDENT_COLLAB | | 6 | 6 | 434 | 239 | 0 | Actif | | +| DISP_IDENT_COLLAB1 | | 447 | 6 | 405 | 239 | 0 | Actif | | +| DISP_IDENT_COLLAB_TETE | | 0 | 0 | 405 | 32 | 0 | Actif | | +| DISP_IDENT_COLLAB_TETE | | 0 | 0 | 435 | 45 | 0 | Actif | | +Table : +FI_Fiche_Personne.DISP_FICHE_PERSONNE.DISP_IDENT_COLLAB1.TABLE_INTERLOCUTE +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | elbairt ennoloC ehcrehcer cevA | | | | | +| --- | --- | --- | -------------- | ------------------------------ | ------------- | --- | --- | --- | +| | | | ehcuag à eéxiF | | .zroh egardaC | | | | +.trev egardaC +| | | | elbaçalpéD | | | eisias epyT | FTR tamroF | eisias cevA | +| --- | --- | ------------ | ---------- | --- | --- | ----------- | ---------- | ----------- | +| | | laitini tatE | | | | | engilitluM | | +ruegraL elbisiV +eéirT +epyT +| COL_REFINTERNE | 63 | affichag | | | Gauche Centre | Texte | | | +| -------------------- | --- | -------- | --- | --- | ------------- | ------- | --- | --- | +| COL_Site | 146 | affichag | | | Gauche Centre | Texte | | | +| COL_Etat | 100 | affichag | | | Gauche Centre | Texte | | | +| COL_TypeIntervention | 80 | affichag | | | Gauche Centre | Texte | | | +| COL_PKID | 100 | affichag | | | Droite Centre | Numériq | | | +Table : +FI_Fiche_Personne.DISP_FICHE_PERSONNE.DISP_IDENT_COLLAB.TABLE_INTERLOCUTEU +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | elbairt ennoloC ehcrehcer cevA | | | | | +| --- | --- | --- | --- | ------------------------------ | --- | --- | --- | --- | +ehcuag à eéxiF +| | | | | | .zroh egardaC .trev egardaC | | | | +| --- | --- | ------------ | ---------- | --- | --------------------------- | ----------- | ---------- | ----------- | +| | | | elbaçalpéD | | | | FTR tamroF | | +| | | laitini tatE | | | | eisias epyT | engilitluM | eisias cevA | +ruegraL +elbisiV +| epyT | | | | | | | eéirT | | +| ----------- | --- | -------- | ------- | --- | ------------- | ------- | ----- | ---- | +| COL_Adresse | 169 | affichag | | | Gauche Centre | Texte | | | +| COL_Etage | 100 | affichag | | | Gauche Centre | Texte | | | +| COL_Lot | 101 | affichag | | | Gauche Centre | Texte | | | +| COL_Actif | 45 | affichag | | | Centre Centre | | | | +| COL_PKID | 100 | Actif | | | Droite Centre | Numériq | | | +| COL_IDLieu | 100 | Actif | | | Droite Centre | Numériq | | | +| 06/08/2026 | | | Isis_BO | | | | | 1700 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Table : FI_Fiche_Personne.DISP_FICHE_PERSONNE.TABLE_NUMERO_TELEPHONE +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_Type | 16 Actif | | Gauche Centre | Texte | | +| COL_Numéro | 18 Actif | | Gauche Centre | Texte | | +Fenêtre : FI_Fiche_Personne +Fenêtre interne : FI_Fiche_Personne +| UI par l'utilisateur | Selon fenêtre | | | | | +| -------------------------------- | ---------------------------------- | --- | --- | --- | --- | +| Unité des tailles | Compatible desktop ET mobile | | | | | +| Taux Paral. hauteur | 0 | | | | | +| Taux Paral. Y | 0 | | | | | +| Épinglé | Non | | | | | +| Masquer lors du scrolling | Non | | | | | +| Ancrage au contenu | | | | | | +| Numéro aide | 0 | | | | | +| Thème destination | Oui | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | +| Facteur de rétrécissement | 0 | | | | | +| Facteur d'agrandissement | 0 | | | | | +| Ctx. HFSQL indép. | Non | | | | | +| Ancrage | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Isis_BO | | | 1701 | +| ---------- | --- | ------- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Fenêtre interne : FI_Fiche_Personne +Bouton : +Groupe GR_CADENAS_PERS +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Ajouter un site +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 1702 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Bouton : +Groupe ,GR_MODEOPAQUE_FICHE_DOSSIER +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Cadenas_Fermer_rou +ge.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1703 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Bouton : +Groupe ,GR_MODEOPAQUE_FICHE_DOSSIER +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Cadenas.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1704 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 1705 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Bouton : +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1706 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Bouton : FI_Fiche_Personne.DISP_FICHE_PERSONNE.BTN_LOUPE_CLIENT +Groupe GR_MODEOPAQUE_FICHE_DOSSIER,GR_CADENAS_PERS +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_chercher.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1707 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Bouton : +Groupe GR_CADENAS_PERS +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Rechercher un site +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_chercher.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 1708 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_A_Droite.png +Nb. états image 5 +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1709 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Bouton : +Groupe GR_EDITLIEU_FICHE_CLIENT,GR_CADENAS_PERS +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Modifier un site +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 1710 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Bouton : +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1711 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Bouton : FI_Fiche_Personne.DISP_FICHE_PERSONNE.BTN_ROLE +Groupe GR_CADENAS_PERS +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 +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 +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +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 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1712 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Bouton : +Groupe GR_EDITLIEU_FICHE_CLIENT,GR_CADENAS_PERS +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Supprimer un site +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 1713 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Bouton : +Groupe GR_CADENAS_PERS +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1714 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Valider l'adresse +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 1715 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Bouton : +Groupe GR_CADENAS_PERS +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1716 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Combo : FI_Fiche_Personne.DISP_FICHE_PERSONNE.COMBO_nIDCivilite +Libellé FR: Civilité +Groupe GR_CADENAS_PERS +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 120 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 13 +Largeur interne 120 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Civilité du contact +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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 Oui +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +06/08/2026 Isis_BO 1717 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Liaison des données :gclPresentationFichePersonne.m_nIDCivilite +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeCivilite.m_clTabModele +Filtre 1 +Rub. affichée :gpclListeCivilite.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeCivilite.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1718 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Disposition : FI_Fiche_Personne.DISP_FICHE_PERSONNE +Libellé FR: Disposition +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 +Cellule ancrée 3 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Personne.DISP_FICHE_PERSONNE.DISP_IDENT_COLLAB +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +06/08/2026 Isis_BO 1719 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Taux anc. droite 0 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Personne.DISP_FICHE_PERSONNE.DISP_IDENT_COLLAB1 +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 5 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +06/08/2026 Isis_BO 1720 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 3 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Fiche_Personne.DISP_FICHE_PERSONNE.FRM_CADRE_CARACTERISTIQUES +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +06/08/2026 Isis_BO 1721 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_CARACT.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +06/08/2026 Isis_BO 1722 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_SITE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1723 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Interrupteur : +Libellé FR: Actif +Valeur initiale 0 +Ordre navigation 2 +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 +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 Toute la hauteur de l'option +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. +Liaison des données :gclPresentationFichePersonne.ListeLieu.p_clCourant.m_bActif +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1724 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Interrupteur : FI_Fiche_Personne.DISP_FICHE_PERSONNE.INT_ActifPersonne +Libellé FR: Actif +Valeur initiale 0 +Groupe GR_CADENAS_PERS +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 +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 Toute la hauteur de l'option +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. +Liaison des données :gclPresentationFichePersonne.m_bActif +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1725 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Interrupteur : FI_Fiche_Personne.DISP_FICHE_PERSONNE.INT_USAGEINTERNE +Libellé FR: Actif +Valeur initiale 0 +Groupe GR_CADENAS_PERS +Ordre navigation 11 +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 +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 Toute la hauteur de l'option +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. +Liaison des données :gclPresentationFichePersonne.m_bUsageInterne +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1726 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Libellé : FI_Fiche_Personne.DISP_FICHE_PERSONNE.DISP_IDENT_COLLAB.LIB_ADRESSE +Libellé FR: Adresse +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Personne.DISP_FICHE_PERSONNE.LIB_CIVILITE +Libellé FR: Civilité +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 +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 +06/08/2026 Isis_BO 1727 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Personne.DISP_FICHE_PERSONNE.LIB_CLIENT +Libellé FR: Client +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 +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 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1728 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Libellé : +Libellé FR: Code postal +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Personne.DISP_FICHE_PERSONNE.DISP_IDENT_COLLAB.LIB_CODESITE +Libellé FR: Code site +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 +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 +06/08/2026 Isis_BO 1729 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Personne.DISP_FICHE_PERSONNE.LIB_EMAIL +Libellé FR: Email +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 +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 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1730 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Libellé : FI_Fiche_Personne.DISP_FICHE_PERSONNE.DISP_IDENT_COLLAB.LIB_ETAGE +Libellé FR: Etage +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Etiquette +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 +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 +06/08/2026 Isis_BO 1731 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Personne.DISP_FICHE_PERSONNE.LIB_InfoSupp +Libellé FR: Informations supplémentaires +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 +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 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1732 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Libellé : FI_Fiche_Personne.DISP_FICHE_PERSONNE.DISP_IDENT_COLLAB.LIB_LOT +Libellé FR: Lot +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Personne.DISP_FICHE_PERSONNE.LIB_NOM +Libellé FR: Nom +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 +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 +06/08/2026 Isis_BO 1733 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Personne.DISP_FICHE_PERSONNE.LIB_PRENOM +Libellé FR: Prénom +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 +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 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1734 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Libellé : FI_Fiche_Personne.DISP_FICHE_PERSONNE.LIB_ROLE +Libellé FR: Rôle +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 +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 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +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 +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 +06/08/2026 Isis_BO 1735 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Personne.DISP_FICHE_PERSONNE.LIB_TELFIXE +Libellé FR: Téléphone n°1 +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 +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 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1736 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Libellé : FI_Fiche_Personne.DISP_FICHE_PERSONNE.LIB_TELMOBILE +Libellé FR: Téléphone n°2 +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 +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 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Intervention +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 +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 +06/08/2026 Isis_BO 1737 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Site +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1738 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Libellé : +Libellé FR: Titre +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 En largeur +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Personne.DISP_FICHE_PERSONNE.DISP_IDENT_COLLAB.LIB_VILLE +Libellé FR: Ville +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 +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 +06/08/2026 Isis_BO 1739 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Fiche_Personne.DISP_FICHE_PERSONNE.SAI_CLIENT +Libellé FR: &Client +Groupe GR_CADENAS_PERS +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 437 +Largeur interne 172 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +06/08/2026 Isis_BO 1740 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +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. +Liaison des données :gclPresentationFichePersonne.FicheClient.FicheEncours.m_sNom +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 Droite +Taux anc. droite 500 Taux anc. bas 0 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1741 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Champ de saisie : +Libellé FR: Adresse +Groupe GR_EDITADRESSE_FICHE_SITE +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 20 +Largeur interne 268 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: CIVILITÉ-TITRE ou QUALITÉ / PRÉNOM NOM / RAISON SOCIALE +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1742 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +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. +Liaison des données :gclPresentationFichePersonne.ListeLieu.p_clCourant.m_clLieu.m_sCodeLieu +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: &Code Site +Groupe GR_CADENAS_PERS +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 84 +Largeur interne 197 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 1743 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +06/08/2026 Isis_BO 1744 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Etage +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 307 +Largeur interne 123 +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 10 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1745 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFichePersonne.ListeLieu.p_clCourant.m_sEtage +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Etage +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 307 +Largeur interne 123 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +06/08/2026 Isis_BO 1746 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › 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 10 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFichePersonne.ListeLieu.p_clCourant.m_sLot +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 +06/08/2026 Isis_BO 1747 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Fiche_Personne.DISP_FICHE_PERSONNE.SAI_SPE_Email +Libellé FR: Email +Groupe GR_CADENAS_PERS +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 259 +Largeur interne 172 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Email du contact +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 +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 +06/08/2026 Isis_BO 1748 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › 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 +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. +Liaison des données :gclPresentationFichePersonne.m_sEmail +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Fiche_Personne.DISP_FICHE_PERSONNE.SAI_SPE_InfoSupp +Libellé FR: Information supplémentaire +Groupe GR_CADENAS_PERS +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +06/08/2026 Isis_BO 1749 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Position X interne 13 +Largeur interne 828 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Nom du contact +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 Jamais +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFichePersonne.m_sInfoSupp +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 +06/08/2026 Isis_BO 1750 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Fiche_Personne.DISP_FICHE_PERSONNE.SAI_SPE_Nom +Libellé FR: Nom +Groupe GR_CADENAS_PERS +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 139 +Largeur interne 292 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Nom du contact +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 50 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1751 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +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 Jamais +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFichePersonne.m_sNom +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Fiche_Personne.DISP_FICHE_PERSONNE.SAI_SPE_Prenom +Libellé FR: Prénom +Groupe GR_CADENAS_PERS +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +06/08/2026 Isis_BO 1752 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 437 +Largeur interne 172 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Prénom du contact +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 50 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +06/08/2026 Isis_BO 1753 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Liaison des données :gclPresentationFichePersonne.m_sPrenom +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Fiche_Personne.DISP_FICHE_PERSONNE.SAI_SPE_TelFixe +Libellé FR: Téléphone fixe +Groupe GR_CADENAS_PERS +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 13 +Largeur interne 120 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Téléphone fixe du contact +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 14 +Masque saisie FR: 21 +Masque affichage FR: 21 +Borne dans bulle Non +Borne dans texte d'indication Oui +06/08/2026 Isis_BO 1754 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFichePersonne.m_sTelFixe +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1755 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Champ de saisie : FI_Fiche_Personne.DISP_FICHE_PERSONNE.SAI_SPE_TelMobile +Libellé FR: Téléphone portable +Groupe GR_CADENAS_PERS +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 139 +Largeur interne 114 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Téléphone mobile du contact +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 14 +Masque saisie FR: 21 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1756 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +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. +Liaison des données :gclPresentationFichePersonne.m_sTelMobile +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Code postal +Groupe GR_EDITADRESSE_FICHE_SITE +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 20 +Largeur interne 66 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Saisir le code postal +Numéro aide 0 +06/08/2026 Isis_BO 1757 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 15 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 Jamais +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFichePersonne.ListeLieu.p_clCourant.m_clLieu.m_clAdresse.m_sCodePostal +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 +06/08/2026 Isis_BO 1758 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Etiquette +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 307 +Largeur interne 123 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Donner une étiquette à votre adresse +Numéro aide 0 +Texte d'indication si vide FR: Perso, Pro, autre +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 +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 +06/08/2026 Isis_BO 1759 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › 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 +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. +Liaison des données :gclPresentationFichePersonne.ListeLieu.p_clCourant.m_sEtiquette +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_EDITADRESSE_FICHE_SITE +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 20 +06/08/2026 Isis_BO 1760 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Largeur interne 268 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Saisir un lieu dit ou un service particulier de distribution ou une mention spéciale +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 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFichePersonne.ListeLieu.p_clCourant.m_clLieu.m_clAdresse.m_sLigne_2 +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 +06/08/2026 Isis_BO 1761 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_EDITADRESSE_FICHE_SITE +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 20 +Largeur interne 268 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: ENTRÉE - BÂTIMENT - IMMEUBLE - RÉSIDENCE / ZI +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1762 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +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 Jamais +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFichePersonne.ListeLieu.p_clCourant.m_clLieu.m_clAdresse.m_sLigne_3 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Adresse +Groupe GR_EDITADRESSE_FICHE_SITE +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +06/08/2026 Isis_BO 1763 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 20 +Largeur interne 268 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: CIVILITÉ-TITRE ou QUALITÉ / PRÉNOM NOM / RAISON SOCIALE +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 Jamais +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFichePersonne.ListeLieu.p_clCourant.m_clLieu.m_clAdresse.m_sLigne_4 +Gestion Euro Non +06/08/2026 Isis_BO 1764 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_EDITADRESSE_FICHE_SITE +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 20 +Largeur interne 268 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Saisir le numéro et le libellé de la voie +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +Lien automatique Non +Verifier l'orthographe Non +06/08/2026 Isis_BO 1765 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › 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 +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 Jamais +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFichePersonne.ListeLieu.p_clCourant.m_clLieu.m_clAdresse.m_sLigne_5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1766 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Champ de saisie : +Libellé FR: Ville +Groupe GR_EDITADRESSE_FICHE_SITE +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 100 +Largeur interne 188 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: saisir la ville +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 45 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1767 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +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. +Liaison des données :gclPresentationFichePersonne.ListeLieu.p_clCourant.m_clLieu.m_clAdresse.m_sVille +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : +Libellé FR: Donneurs d'ordre +Groupe GR_CADENAS_PERS +Ordre navigation -1 +Curseur survol 0 +Mode Loupe Filtre +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) 16 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 1768 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › 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. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationFichePersonne.ListeIntervention.m_clTabModele +Rub. mémorisée :gclPresentationFichePersonne.ListeIntervention.m_clTabModele +Ajout/Suppr. dans variable Non +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 +06/08/2026 Isis_BO 1769 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Table : +Libellé FR: Donneurs d'ordre +Groupe GR_CADENAS_PERS +Ordre navigation -1 +Curseur survol 0 +Mode Loupe Filtre +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) 16 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 1770 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationFichePersonne.ListeLieu.m_clTabModele +Rub. mémorisée :gclPresentationFichePersonne.ListeLieu.m_clTabModele +Ajout/Suppr. dans variable Non +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 : FI_Fiche_Personne.DISP_FICHE_PERSONNE.TABLE_NUMERO_TELEPHONE +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre +UI par l'utilisateur Selon fenêtre +Menu contextuel +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 0 +Hauteur ligne (sans marges) 118 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Horizontal +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Hauteur des lignes Oui +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 +06/08/2026 Isis_BO 1771 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Facteur d'agrandissement 0 +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Toujours visible +Asc. vertical Automatique +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. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Ajout/Suppr. dans variable Non +Synchro HFSQL C/S Jamais +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : +FI_Fiche_Personne.DISP_FICHE_PERSONNE.DISP_IDENT_COLLAB1.TABLE_INTERLOCUTE +06/08/2026 Isis_BO 1772 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Colonne de table : +Titre FR: N° +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 +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 +Liaison des données :gclPresentationFichePersonne.ListeIntervention.m_clTabModele.m_sRefInterne +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Site +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 +06/08/2026 Isis_BO 1773 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFichePersonne.ListeIntervention.m_clTabModele.m_sCodeSite +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 400 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Etat +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 100 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Liaison des données :gclPresentationFichePersonne.ListeIntervention.m_clTabModele.m_nIDEtatIntervention +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1774 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Colonne de table : +Titre FR: Type +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 80 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Liaison des données :gclPresentationFichePersonne.ListeIntervention.m_clTabModele.m_nIDTypeIntervention +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: PKID +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 +06/08/2026 Isis_BO 1775 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: MoneySystemMask +Mode ellipse +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 +Liaison des données :gclPresentationFichePersonne.ListeIntervention.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Table : +FI_Fiche_Personne.DISP_FICHE_PERSONNE.DISP_IDENT_COLLAB.TABLE_INTERLOCUTEU +Colonne de table : +Titre FR: Adresse +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Oui +Coche tous dans entête Non +Liaison des données :gclPresentationFichePersonne.ListeLieu.m_clTabModele.EtiquetteEtPresentation +Ancrage +06/08/2026 Isis_BO 1776 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 600 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Etage +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 +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 +Liaison des données :gclPresentationFichePersonne.ListeLieu.m_clTabModele.m_sEtage +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Lot +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 +06/08/2026 Isis_BO 1777 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFichePersonne.ListeLieu.m_clTabModele.m_sLot +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Actif +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +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 +Liaison des données :gclPresentationFichePersonne.ListeLieu.m_clTabModele.m_bActif +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1778 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Colonne de table : +Titre FR: PKID +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: MoneySystemMask +Mode ellipse +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 +Liaison des données :gclPresentationFichePersonne.ListeLieu.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: IDLieu +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 +06/08/2026 Isis_BO 1779 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Mot de passe Non +Masque saisie FR: MoneySystemMask +Mode ellipse +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 +Liaison des données :gclPresentationFichePersonne.ListeLieu.m_clTabModele.m_nIDLieu +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Table : FI_Fiche_Personne.DISP_FICHE_PERSONNE.TABLE_NUMERO_TELEPHONE +Colonne de table : +Titre FR: Type +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 858 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1780 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Informations sur les champs +Colonne de table : +Titre FR: Numéro +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FI_Fiche_Personne +Messages multilingues +06/08/2026 Isis_BO 1781 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Code des champs +FI_Fiche_Personne +Code des champs +Déclarations globales de FI_Fiche_Personne +procédure FI_Fiche_Personne(gclPresentationFichePersonne est un PFichePersonne dynamique= +Null, paramSupplementaire est un STParamFenetreAppelante=Null) +//gpclPresenListeClient est un PTableClient dynamique +gpclPresenFicheAdresse est un PFicheAdresse dynamique +gpclListeRolePersonneest un PTableParametreMetier dynamique +maProcMAJObjetRetourFI est une procédure = MAJObjetRetourFI +//gProcTimer est une procedure = ActiveTimer +//gProcFermeCadenas est une Procédure = FermetureCadenas +gbEnregistementOk est un booléen=Vrai +gsTriEnCoursContact est une chaîne +gsTriEnCoursInterv est une chaîne +gCouleurFondEntete est une Couleur +gnDelai est un entier +gbAppelProcFenAppelante est un booléen +gnPosRechercheSite est un entier +gbFicheBloque est un booléen +Evénement(TriColonne,"TABLE_INTERLOCUTEUR_SITE",1529) +Evénement(TriColonne,"TABLE_INTERLOCUTEUR_INTERVENTION",1529) +Evénement(SurActivite, "*.*", WM_LBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_RBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_MBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_MOUSEMOVE) +Evénement(SurActivite, "*.*", WM_KEYDOWN) +//Titre de la fenêtre +LIB_Titre_de_fenêtre_fiche_personne = paramSupplementaire.eTypeAppel=Libre _et_ +gclPresentationFichePersonne:m_nPKID = 0 ? "Nouveau contact" sinon paramSupplementaire.sTitreFenetre<> +"" ? paramSupplementaire.sTitreFenetre sinon "Contact" +local +gCouleurFondEntete = DISP_ENTETE_FICHE_PERSONNE..CouleurFond +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentationFichePersonne=Null alors +gclPresentationFichePersonne=PFichePersonne.gNouvellePresentation() +fin +gnDelai = DonneValeurTimeOutObjet(gclPresentationFichePersonne) +PFichePersonne.gFicheClient(gclPresentationFichePersonne) +//gpclPresenListeClient=PTableClient.gNouvellePresentation(1,-1,-1) +PFichePersonne.gListeLieu(gclPresentationFichePersonne) +PFichePersonne.gListeIntervention(gclPresentationFichePersonne) +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.sNomIDAppelant<>"" alors +selon paramSupplementaire.sNomIDAppelant +cas "AddIntervLieuPersonne","ModifIntervLieuPersonne","ModifLieuPersonne","AddLieuPersonne" +: +SAI_CLIENT..Etat = Grisé +SAI_CLIENT..Visible = Faux +LIB_CLIENT..Etat = Grisé +LIB_CLIENT..Visible = Faux +BTN_LOUPE_CLIENT..Visible=Faux +BTN_Nouveau_fiche_personne..Grisé = Vrai +gpclListeRolePersonne <- DonneRoleContactLieu() +GR_ADRESSE_FICHE_PERSONNE..Visible = Faux +si gclPresentationFichePersonne:IdentifiantUnique=0 _et_ paramSupplementaire.s +NomIDAppelant="AddIntervLieuPersonne" alors +PFichePersonne.gListeLieu(gclPresentationFichePersonne,paramSupplementaire:pcl +ObjetAppelant:FicheLieu) +06/08/2026 Isis_BO 1782 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Code des champs +sinon si gclPresentationFichePersonne:IdentifiantUnique=0 _et_ paramSupplementaire.s +NomIDAppelant="AddLieuPersonne" alors +PFichePersonne.gListeLieu(gclPresentationFichePersonne,paramSupplementaire.pcl +ObjetAppelant.p_clCourant) +fin +FI_Fiche_Personne..Plan = 1 +nIndice est un entier = TableauCherche(gclPresentationFichePersonne:ListeLieu: +m_clTabModele,tcLinéaire,"m_nIDLieu",paramSupplementaire.sNomIDAppelant dans ( +"AddLieuPersonne","ModifLieuPersonne","AddIntervLieuPersonne", +"ModifIntervLieuPersonne") ? paramSupplementaire.nIdFenetreAppelante sinon +paramSupplementaire:pclObjetAppelant:m_nPKID,1) +si nIndice>0 alors +si paramSupplementaire.sNomIDAppelant="ModifLieuPersonne" alors +gclPresentationFichePersonne:ListeLieu:m_clTabModele[nIndice] = +paramSupplementaire.pclObjetAppelant.ListeContact.p_clCourant +sinon si paramSupplementaire.sNomIDAppelant="ModifIntervLieuPersonne" alors +gclPresentationFichePersonne:ListeLieu:m_clTabModele[nIndice] = +paramSupplementaire.pclObjetAppelant.ListeContactLieu.p_clCourant: +m_clLieuPersonne +fin +si paramSupplementaire.sNomIDAppelant dans ("AddLieuPersonne","ModifLieuPersonne") +alors +gclPresentationFichePersonne:ListeLieu:m_clTabModele[nIndice]:m_clLieu <- +paramSupplementaire.pclObjetAppelant.p_clCourant +sinon si paramSupplementaire.sNomIDAppelant dans ("AddIntervLieuPersonne", +"ModifIntervLieuPersonne") alors +gclPresentationFichePersonne:ListeLieu:m_clTabModele[nIndice]:m_clLieu <- +paramSupplementaire.pclObjetAppelant.FicheLieu:p_clCourant +fin +gclPresentationFichePersonne:ListeLieu:p_clCourant = gclPresentationFichePersonne: +ListeLieu:m_clTabModele[nIndice] +TableAffiche(TABLE_INTERLOCUTEUR_SITE,taInit) +nIndice = TableCherche(COL_IDLieu,gclPresentationFichePersonne:ListeLieu: +p_clCourant:m_nIDLieu,rechercheIdentique) +si nIndice>0 alors +TableSelectPlus(TABLE_INTERLOCUTEUR_SITE,nIndice) +si paramSupplementaire.sNomIDAppelant dans ("AddLieuPersonne", +"ModifLieuPersonne","AddIntervLieuPersonne","ModifIntervLieuPersonne") alors +GR_EDITADRESSE_FICHE_SITE..Etat = AffichageSeulement +GR_EDITADRESSE_FICHE_SITE..Couleur = Blanc +GR_EDITADRESSE_FICHE_SITE..CouleurFond = RVB(36,36,36) +BTN_Valide_Site..Visible = paramSupplementaire.s +NomIDAppelant dans ("ModifLieuPersonne","ModifIntervLieuPersonne") +BTN_Fermer_Site..Visible = paramSupplementaire.s +NomIDAppelant dans ("ModifLieuPersonne","ModifIntervLieuPersonne") +sinon +GR_EDITADRESSE_FICHE_SITE..Etat = Actif +GR_EDITADRESSE_FICHE_SITE..Couleur = Noir +GR_EDITADRESSE_FICHE_SITE..CouleurFond = RVB(167,167,167) +//BTN_Valide_Site..Visible = vrai +//BTN_Fermer_Site..Visible = vrai +fin +FI_Fiche_Personne..Plan = 2 +sinon +FI_Fiche_Personne..Plan = 1 +fin +sinon +06/08/2026 Isis_BO 1783 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Code des champs +FI_Fiche_Personne..Plan = 1 +fin +cas "ModifIntervClientPersonne","AddIntervClientPersonne","ContactClient" +BTN_Nouveau_fiche_personne..Grisé = Vrai +GR_ADRESSE_FICHE_PERSONNE..Visible = Faux +gpclListeRolePersonne <- DonneRoleContactClient() +PFichePersonne.gListeLieu(gclPresentationFichePersonne) +autre cas +PFichePersonne.gListeLieu(gclPresentationFichePersonne) +gpclListeRolePersonne <- gpclListeRoleContact +fin +sinon +gpclListeRolePersonne <- gpclListeRoleContact +fin +MAJBoutonRole() +//BloqueEnregistrement(gclPresentationFichePersonne,FermeCadenas) +BlocEnregistrement(gclPresentationFichePersonne,ActiveTimer,BTN_CADENAS_FERME_PERS,BTN_ +CADENAS_OUVERT_PERS,GR_CADENAS_PERS,DISP_FICHE_PERSONNE) +gbFicheBloque = gclPresentationFichePersonne:m_bBlocageEcriture +//ExécuteTraitement(TABLE_INTERLOCUTEUR_SITE,trtSélection) +Fin d'initialisation de FI_Fiche_Personne +AfficheOuNonEtage(gclPresentationFichePersonne:m_nIDRole) +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.sNomIDAppelant dans ( +"ModifIntervLieuPersonne","ModifLieuPersonne","AddLieuPersonne","AddIntervLieuPersonne") _et_ +gclPresentationFichePersonne:ListeLieu:p_clCourant<>Null alors +sinon +FI_Fiche_Personne..Plan = 1 +fin +DonneFocusChamp() +Demande de mise à jour de l'affichage de FI_Fiche_Personne +si gclPresentationFichePersonne<>Null _et_ gclPresentationFichePersonne est PFichePersonne alors +gclPresentationFichePersonne:m_bBlocageEcriture = gbFicheBloque +SourceVersEcran("","gclPresentationFichePersonne") +MAJChampTableEtObjet(TABLE_INTERLOCUTEUR_SITE,gclPresentationFichePersonne:ListeLieu:p_clCourant) +MAJChampTableEtObjet(TABLE_INTERLOCUTEUR_INTERVENTION,gclPresentationFichePersonne: +ListeIntervention:p_clCourant) +//BTN_CADENAS_OUVERT_PERS..Visible += gpclListeParamAppli:m_clTabModele["TIMEOUT_BLOC_ENREG_PERS"]:m_sValeur>-1 +// GR_CADENAS..Etat += BTN_CADENAS_FERME_PERS..Visible ? AffichageSeulement SINON Actif +// DISP_FICHE_PERSONNE..CouleurFond = BTN_CADENAS_FERME_PERS..Visible ? Noir SINON Transparent +//DISP_ENTETE_FICHE_PERSONNE..CouleurFond = BTN_CADENAS_FERME_PERS..Visible ? Noir SINON +gCouleurFondEntete +BTN_MODIF_CONTACT_SITE..Grisé = gclPresentationFichePersonne.ListeLieu. +p_bModeleCourantVide _ou_ gclPresentationFichePersonne.ListeLieu.p_clCourant=Null +BTN_SUPPRIME_CONTACT_SITE..Grisé = gclPresentationFichePersonne.ListeLieu. +p_bModeleCourantVide _ou_ gclPresentationFichePersonne.ListeLieu.p_clCourant=Null +BTN_SUPPRIME_CONTACT_SITE..Visible = pas gclPresentationFichePersonne.ListeLieu. +06/08/2026 Isis_BO 1784 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Code des champs +p_bModeleCourantVide _et_ pas gclPresentationFichePersonne.ListeLieu.p_clCourant=Null +//RechercheSiteTable() +fin +//DISP_FICHE_CLIENT[4]..Visible = gbEnSelection ? Faux SINON Vrai +//FEN_Menu.CBM_PKID = ChaîneConstruit(libIdBarreMessage,gclPresentation:IdentifiantUnique) +//FEN_Menu.CBM_MODIF += +ChaîneConstruit(libDateBarreMessage,DateVersChaîne(gclPresentation:m_dhCreationDate,"JJ/MM/AAAA"),gclPr +esentation:m_sCreationUser) +Fermeture de FI_Fiche_Personne +DeblocEnregistrement(gclPresentationFichePersonne,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_PERS,BTN_CADENAS_OUVERT_PERS,GR_CADENAS_PERS,DISP_FICHE_PERSONNE,Faux,*,pas gb +AppelProcFenAppelante) +Clic sur BTN_LOUPE_CLIENT +si gbEnregistementOk alors +stNewParam est un STParamFenetreAppelante= DonneParam(DansFenetre,"FI_Fiche_Personne",MoiMême..Nom, +maProcMAJObjetRetourFI,*,*,*,*) +Ouvre(FEN_ChoixFenetreInterne,"FI_Liste_Client",stNewParam) +fin +Clic sur BTN_ROLE +OuvrePopupPosition(FEN_Choix_Role_Personne,poHaut,*,DonneParam(DansFenetre,"FI_Fiche_Personne",MoiMême. +.Nom,maProcMAJObjetRetourFI,"",paramSupplementaire.sNomIDAppelant,gclPresentationFichePersonne:m_n +IDRole,gclPresentationFichePersonne,Faux)) +Sortie de COMBO_nIDCivilite +EnregistreFiche() +Sélection d'une ligne de COMBO_nIDCivilite +ChampVersSource() +Clic sur BTN_CADENAS_FERME_PERS +si 1=BlocEnregistrement(gclPresentationFichePersonne,ActiveTimer,BTN_CADENAS_FERME_PERS,BTN_ +CADENAS_OUVERT_PERS,GR_CADENAS_PERS,DISP_FICHE_PERSONNE) +si pas AppelProcFenetreAppelante(gclPresentationFichePersonne,paramSupplementaire,Faux,Faux,Vrai) +alors +DeblocEnregistrement(gclPresentationFichePersonne,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_PERS,BTN_CADENAS_OUVERT_PERS,GR_CADENAS_PERS,DISP_FICHE_PERSONNE,Faux) +fin +gbAppelProcFenAppelante=Vrai +fin +// +BlocEnregistrement(gclPresentationFichePersonne,ActiveTimer,FermetureCadenas,BTN_CADENAS_FERME_PERS,BTN +_CADENAS_OUVERT_PERS,GR_CADENAS,DISP_FICHE_PERSONNE) +//SI +BlocEnregistrement(gclPresentationFichePersonne,activetimer,FermetureCadenas,BTN_CADENAS_FERME_PERS,BTN +_CADENAS_OUVERT_PERS,GR_CADENAS,DISP_FICHE_PERSONNE,"Contact")=1 ALORS +06/08/2026 Isis_BO 1785 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Code des champs +// BTN_CADENAS_FERME_PERS..Visible=faux +// BTN_CADENAS_OUVERT_PERS..Visible=Vrai +// DemandeMiseAJourIHM() +//FIN +Clic sur BTN_CADENAS_OUVERT_PERS +DeblocEnregistrement(gclPresentationFichePersonne,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_PERS,BTN_CADENAS_OUVERT_PERS,GR_CADENAS_PERS,DISP_FICHE_PERSONNE,Faux) +//gnDelai=0 +//clErreur est un cerreur +//SI (gclPresentationFichePersonne:bOK(clErreur) ET +gclPresentationFichePersonne:DebloqueEnregistrement()) ALORS +// +FermetureCadenas(BTN_CADENAS_FERME_PERS,BTN_CADENAS_OUVERT_PERS,GR_CADENAS,DISP_FICHE_PERSONNE,"Contact +") +//FIN +Clic sur BTN_Fermer_fiche_personne +si FI_Fiche_Personne..Plan=2 alors +ExécuteTraitement(BTN_Fermer_Site,trtClic) +fin +si paramSupplementaire.eTypeAppel=DansChampFI alors +//SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,Null) +AppelProcFenetreAppelante(gclPresentationFichePersonne,paramSupplementaire,Faux,Vrai) +gbAppelProcFenAppelante=Vrai +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon si paramSupplementaire.eTypeAppel=DansFenetre +//SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,Null) +AppelProcFenetreAppelante(gclPresentationFichePersonne,paramSupplementaire,Faux,Vrai) +gbAppelProcFenAppelante=Vrai +Ferme(FEN_ChoixFenetreInterne,0) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon +FermeVoletEtActiveLePrecedent(VoletDuChamp(DISP_FICHE_PERSONNE)) +fin +Clic sur BTN_Nouveau_fiche_personne +pclPresentationFiche est un PFichePersonne dynamique +si paramSupplementaire.eTypeAppel=DansOnglet _et_ paramSupplementaire.sNomIDAppelant="ListePersonne" +alors +pclPresentationFiche <-paramSupplementaire.pclObjetAppelant.Nouveau() +FEN_Menu.OuvreOuActive(FI_Fiche_Personne,"Fiche contact",*,pclPresentationFiche,DonneParam( +paramSupplementaire)) +sinon +pclPresentationFiche <-PFichePersonne.gNouvellePresentation() +FEN_Menu.OuvreOuActive(FI_Fiche_Personne,"Fiche contact",*,pclPresentationFiche) +fin +Clic sur BTN_Supprimer_fiche_personne +06/08/2026 Isis_BO 1786 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Code des champs +si OuiNon("Confirmez vous la suppression ?")=Non alors +retour +fin +clErreur est un CErreur +si pas gclPresentationFichePersonne.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +fin +ExécuteTraitement(FI_Fiche_Personne.DISP_FICHE_PERSONNE.DISP_ENTETE_FICHE_PERSONNE.BTN_ +Fermer_fiche_personne,trtClic) +Clic sur BTN_Valider_fiche_personne +si paramSupplementaire.eTypeAppel=DansChampFI _et_ EnregistreFiche() alors +AppelProcFenetreAppelante(gclPresentationFichePersonne,paramSupplementaire,Vrai,Vrai) +gbAppelProcFenAppelante=Vrai +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon si paramSupplementaire.eTypeAppel=DansOnglet _et_ EnregistreFiche() alors +AppelProcFenetreAppelante(gclPresentationFichePersonne,paramSupplementaire,Vrai,Vrai) +gbAppelProcFenAppelante=Vrai +FermeVoletEtActiveLePrecedent(VoletDuChamp(DISP_FICHE_PERSONNE)) +sinon si paramSupplementaire.eTypeAppel=DansFenetre _et_ EnregistreFiche() alors +AppelProcFenetreAppelante(gclPresentationFichePersonne,paramSupplementaire,Vrai,Vrai) +gbAppelProcFenAppelante=Vrai +Ferme(FEN_ChoixFenetreInterne,0) +sinon +EnregistreFiche() +fin +Clic sur BTN_AJOUTE_CONTACT_SITE +//Création d'un nouvel enregistrement +nIndice est un entier = TableAjouteLigne(TABLE_INTERLOCUTEUR_SITE) +//Positionnement dans le nouvel enregistrement de la zone répétée des adresses +TableSelectPlus(TABLE_INTERLOCUTEUR_SITE,nIndice) +//Création d'une nouvelle fiche adresse +clFicheLieuPersonne est un PFicheLieu_Personne <-gclPresentationFichePersonne:ListeLieu:Nouveau(Vrai, +gclPresentationFichePersonne:m_nPKID,*,1) +//Validation en mémoire de la nouvelle fiche personne +clFicheLieuPersonne.AppelProcValidation(1) +// sauvegarde de la table +TableEnregistre(TABLE_INTERLOCUTEUR_SITE,clFicheLieuPersonne) +//Rafraichissement des données +TableAffiche(TABLE_INTERLOCUTEUR_SITE,nIndice) +gclPresentationFichePersonne:ListeLieu.p_clCourant = TABLE_INTERLOCUTEUR_SITE +//clFicheClientAdresse.FicheEnCours +FI_Fiche_Personne..Plan=2 +06/08/2026 Isis_BO 1787 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Code des champs +DemandeMiseAJourIHM() +Clic sur BTN_Fermer_Site +si gclPresentationFichePersonne:ListeLieu:p_clCourant:bNouveau() alors +clErreur est un CErreur +gclPresentationFichePersonne:ListeLieu:bSupprimer(clErreur) +fin +FI_Fiche_Personne..Plan=1 +Clic sur BTN_LigneSuivante +RechercheSiteTable(Vrai) +Clic sur BTN_LOUPE_CONTACT_SITE +stNewParam est un STParamFenetreAppelante = DonneParam(DansFenetre,"FI_Fiche_Personne",MoiMême..Nom, +maProcMAJObjetRetourFI,*,"PersonneListeLieu",*,gclPresentationFichePersonne,Vrai) +Ouvre(FEN_ChoixFenetreInterne,"FI_Liste_Lieu",stNewParam) +Clic sur BTN_MODIF_CONTACT_SITE +SourceVersEcran("","gclPresentationFichePersonne") +FI_Fiche_Personne..Plan=2 +Clic sur BTN_SUPPRIME_CONTACT_SITE +bSupprimer est un booléen +bQuestionPoussee est un booléen +//SI PAS gclPresentationFichePersonne:ListeLieu:p_bModeleCourantVide _ET_ PAS +gclPresentationFichePersonne:ListeLieu:p_clCourant:bNouveau() _ET_ +gclPresentationFichePersonne:ListeLieu:p_clCourant:bLiaison() ALORS +// bQuestionPoussee = Vrai +//FIN +si pas bQuestionPoussee _et_ OuiNon("Confirmez vous la suppression ?")=Non alors +retour +//SINON SI bQuestionPoussee _ET_ PAS gclPresentationFichePersonne:ListeLieu:p_bModeleCourantVide _ET_ +PAS gclPresentationFichePersonne:ListeLieu:p_clCourant:bNouveau() ALORS +// +// SELON Dialogue( +"Souhaitez-vous supprimer uniquement la liaison avec le site ou supprimer totalement le contact") +// // Supprimer la &liaison +// CAS 1 +// bSupprimer = Faux +// // Supprimer &entierement +// CAS 2 +// bSupprimer = Vrai +// CAS 3 +// RETOUR +// FIN +fin +// gestion de la saisie en cascade +// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +nIndice est un entier=TableSelect(TABLE_INTERLOCUTEUR_SITE) +si nIndice>1 _et_ nIndice=TableOccurrence(TABLE_INTERLOCUTEUR_SITE) alors +TableSelectPlus(TABLE_INTERLOCUTEUR_SITE,nIndice-1) +fin +06/08/2026 Isis_BO 1788 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Code des champs +clErreur est un CErreur +si gclPresentationFichePersonne:ListeLieu:p_clCourant:bLiaison() _et_ pas gclPresentationFichePersonne: +ListeLieu:p_clCourant:bNouveau() alors +gclPresentationFichePersonne:ListeLieu:p_clCourant:m_bLiaison = Faux +si pas gclPresentationFichePersonne:ListeLieu:p_clCourant:bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +fin +si bSupprimer alors +si pas gclPresentationFichePersonne:ListeLieu:p_clCourant:m_clContact:bSupprimer(clErreur) +alors +Erreur(clErreur.FormateMessage()) +fin +fin +fin +TableSupprime(TABLE_INTERLOCUTEUR_SITE,nIndice) +BTN_Supprimer_fiche_personne..Etat=Grisé +Clic sur BTN_Valide_Site +EcranVersSource() +si EnregistreFiche() alors +FI_Fiche_Personne..Plan=1 +DemandeMiseAJourIHM() +fin +Initialisation de LIB_ResultatRecherche +// Version 1 +// Description +// Libellé simple +Entrée dans SAI_CodeLieu +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(ChampPrécédent()) +Sortie de SAI_CodeLieu +//nPKID est un entier sur 8 octets = +val(ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"[",DepuisDébut),1,"]")) +//SI nPKID>0 ALORS +// SI PFichePersonne.gListeLieu(gclPresentationFichePersonne,*,nPKID) ALORS +// //nIndiTableCherche(COL_PKID,nPKID,rechercheIdentique) +// +nIndice est un entier = +TableauCherche(gclPresentationFichePersonne:ListeLieu:m_clTabModele,tcLinéaire,"m_nIDLieu",nPKID,1) +// SI nIndice>0 ALORS +// +gclPresentationFichePersonne:ListeLieu:p_clCourant = +gclPresentationFichePersonne:ListeLieu:m_clTabModele[nIndice] +// FI_Fiche_Personne..Plan=2 +// DemandeMiseAJourIHM() +// FIN +// FIN +//SINON +// +SI +ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"---",DepuisDébut),1,"---",DepuisFin)=ChaîneFormate("Aucu +n résultat",ccMajuscule) ALORS +06/08/2026 Isis_BO 1789 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Code des champs +// MoiMême="" +// SaisieAssistéeSupprimeTout(MoiMême) +// ExécuteTraitement(MoiMême,trtModification) +// SINON +// +// +SI PAS PFichePersonne.gListeLieu(gclPresentationFichePersonne,*,-1,MoiMême..ValeurAffichée) ALORS +// +// +// SINOn +// DemandeMiseAJourIHM() +// FI_Fiche_Personne..Plan=2 +// FIN +// FIN +//FIN +//MoiMême="" +//EnregistreFiche() +A chaque modification de SAI_CodeLieu +ModifZoneSaisieAssistee(MoiMême,2,Faux,"","")//gclPresentationFicheInterv:m_nIDClient +RechercheSiteListe() +Sélection d'une valeur dans la liste de saisie assistée de SAI_CodeLieu +RechercheSiteTable() +A chaque modification de INT_ActifLieuPersonne +ChampVersSource() +Sortie de SAI_CODESITE +si MoiMême..ValeurAffichée<>"" alors +ChampVersSource() +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +fin +A chaque modification de SAI_CODESITE +//ChampVersSource() +A chaque modification de SAI_Etage +ChampVersSource() +A chaque modification de SAI_LOT +ChampVersSource() +Sortie de SAI_sCodePostal +si MoiMême..ValeurAffichée<>"" alors +06/08/2026 Isis_BO 1790 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Code des champs +ChampVersSource() +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +fin +A chaque modification de SAI_sCodePostal +//ChampVersSource() +Sortie de SAI_sEtiquette +si MoiMême..ValeurAffichée<>"" alors +ChampVersSource() +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +fin +A chaque modification de SAI_sEtiquette +//ChampVersSource(MoiMême..LiaisonFichier,MoiMême..Valeur,"gclPresenListAdresse:p_clCourant:m_clAdresse +") +Sortie de SAI_sLigneAdresse_2 +si MoiMême..ValeurAffichée<>"" alors +ChampVersSource() +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +fin +A chaque modification de SAI_sLigneAdresse_2 +//ChampVersSource() +Sortie de SAI_sLigneAdresse_3 +si MoiMême..ValeurAffichée<>"" alors +ChampVersSource() +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +fin +A chaque modification de SAI_sLigneAdresse_3 +//ChampVersSource() +Sortie de SAI_sLigneAdresse_4 +si MoiMême..ValeurAffichée<>"" alors +ChampVersSource() +06/08/2026 Isis_BO 1791 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Code des champs +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +fin +A chaque modification de SAI_sLigneAdresse_4 +//ChampVersSource() +Sortie de SAI_sLigneAdresse_5 +si MoiMême..ValeurAffichée<>"" alors +ChampVersSource() +// SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +fin +A chaque modification de SAI_sLigneAdresse_5 +//ChampVersSource() +Sortie de SAI_sVille +si MoiMême..ValeurAffichée<>"" alors +ChampVersSource() +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +fin +A chaque modification de SAI_sVille +//ChampVersSource() +Sélection d'une ligne de TABLE_INTERLOCUTEUR_SITE +si TABLE_INTERLOCUTEUR_SITE..Nouveau alors +gclPresentationFichePersonne.ListeLieu.p_clCourant=Null +sinon +gclPresentationFichePersonne.ListeLieu.p_clCourant=TABLE_INTERLOCUTEUR_SITE +fin +//DemandeMiseAJourUIParent() +Sortie de INT_ActifPersonne +EnregistreFiche() +A chaque modification de INT_ActifPersonne +ChampVersSource() +Sortie de INT_USAGEINTERNE +06/08/2026 Isis_BO 1792 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Code des champs +EnregistreFiche() +A chaque modification de INT_USAGEINTERNE +ChampVersSource() +Entrée dans SAI_CLIENT +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(ChampPrécédent()) +Sortie de SAI_CLIENT +si MoiMême..ValeurAffichée<>"" alors +//Récupération de l'id entre crochet lors de la sélectionne de l'élément dans la liste +nPKID est un entier sur 8 octets = Val(ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"[", +DepuisDébut),1,"]")) +//L'id existe bien +si nPKID>0 alors +//Récupération de la fiche client suivant l'id +PFichePersonne.gFicheClient(gclPresentationFichePersonne,gclPresentationFichePersonne. +FicheClient,nPKID,Vrai) +//L'id n'existe pas +sinon +si ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"---",DepuisDébut),1,"---",DepuisFin)= +ChaîneFormate("Aucun résultat",ccMajuscule) alors +MoiMême="" +SaisieAssistéeSupprimeTout(MoiMême) +ExécuteTraitement(MoiMême,trtModification) +sinon +//Récupération de la fiche client suivant la valeur saisie dans la zone +PFichePersonne.gFicheClient(gclPresentationFichePersonne,gclPresentationFichePersonne. +FicheClient,-1,Vrai,MoiMême..ValeurAffichée) +fin +fin +//L'id existe bien +si nPKID>0 alors +// Reformatage de la zone de saisie pour ne pas afficher l'id entre crochet +MoiMême = Majuscule(gclPresentationFichePersonne:FicheClient.m_sNom) +fin +EnregistreFiche() +//Enchainement des actions suite au choix du client comme si l'utilisateur avait cliqué sur la +loupe +//GestionEnchainement(BTN_LOUPE_CLIENT,"") +fin +A chaque modification de SAI_CLIENT +//Recherche le client suivant ce qui a été saisi par l'utilisateur +ModifZoneSaisieAssistee(MoiMême,2,Faux,"","") +Sélection d'une valeur dans la liste de saisie assistée de SAI_CLIENT +06/08/2026 Isis_BO 1793 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Code des champs +//Appel du traitement en sortie de champ +ExécuteTraitement(MoiMême,trtSortie) +Touche système appuyée (WM_SYSCHAR) de SAI_CLIENT +//SI ToucheEnfoncée(teEchap) ALORS +// SourceVersEcran("",ChampAlias(MoiMême)) +//FIN +Sortie de SAI_SPE_Email +EnregistreFiche() +A chaque modification de SAI_SPE_Email +ChampVersSource() +Sortie de SAI_SPE_InfoSupp +EnregistreFiche() +A chaque modification de SAI_SPE_InfoSupp +ChampVersSource() +Sortie de SAI_SPE_Nom +EnregistreFiche() +A chaque modification de SAI_SPE_Nom +ChampVersSource() +Sortie de SAI_SPE_Prenom +EnregistreFiche() +A chaque modification de SAI_SPE_Prenom +ChampVersSource() +Sortie de SAI_SPE_TelFixe +EnregistreFiche() +A chaque modification de SAI_SPE_TelFixe +06/08/2026 Isis_BO 1794 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Code des champs +ChampVersSource() +Sortie de SAI_SPE_TelMobile +EnregistreFiche() +A chaque modification de SAI_SPE_TelMobile +ChampVersSource() +FI_Fiche_Personne +Procédures +Procédure locale ActiveTimer +// Résumé : +// Syntaxe : +//ActiveTimer ( est entier) +// +// Paramètres : +// nIdTimer (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ActiveTimer(local nIdTimer est un entier) +TimerSys(TimeOutPersonne,100,nIdTimer) +Procédure locale AfficheOuNonEtage +// Résumé : +// Syntaxe : +//AfficheOuNonEtage ( est entier sur 8 octets) +// +// Paramètres : +// nIdRole (entier sur 8 octets) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AfficheOuNonEtage(local nIdRole est un entier sur 8 octets) +nIndice est un entier = TableauCherche(gpclListeRolePersonne:m_clTabModele,tcLinéaire,"m_nPKID",nIdRole +,1) +si (nIndice>0 _et_ Gauche(gpclListeRolePersonne:m_clTabModele[nIndice]:m_sValeur,1)="S") _ou_ ( +paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.sNomIDAppelant= +"InterventionLieuPersonne") alors +SAI_Etage..Visible = Vrai +06/08/2026 Isis_BO 1795 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Procédures +fin +Procédure locale DesactiveTimer +// Résumé : +// Syntaxe : +//DesactiveTimer ( est entier) +// +// Paramètres : +// nIdTimer (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DesactiveTimer(local nIdTimer est un entier) +FinTimerSys(nIdTimer) +Procédure locale DonneFocusChamp +// Résumé : +// Syntaxe : +// DonneFocusChamp () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneFocusChamp() +DonneFocus(SAI_SPE_Nom) +Procédure locale EnregistreFiche +// Résumé : +// Syntaxe : +//[ = ] EnregistreFiche () +// +// Paramètres : +// Aucun +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// stParamSupplementaire (STParamFenetreAppelante - valeur par défaut=0) : < +indiquez ici le rôle de stParamSupplementaire> +procédure EnregistreFiche() +bResultat est un booléen +sChampSuivant est une chaîne = ChampSuivant() +si SAI_SPE_Nom<>"" et sChampSuivant<>COMBO_nIDCivilite..Nom alors +// sListeChpAExclure est une chaine += SAI_SPE_Nom..Nom+","+BTN_Valider_fiche_personne..Nom+","+BTN_Fermer_fiche_personne..Nom +// sListeChpAInclureMAJ est une chaine = BTN_Valider_fiche_personne..Nom +// +gbEnregistementOk = +ValideFiche(ChampSuivant(),ChampEnCours(),gclPresentationFichePersonne,paramSupplementaire,sListeChpAEx +clure,sListeChpAInclureMAJ) +06/08/2026 Isis_BO 1796 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Procédures +// clErreur est un CErreur +si pas ChampSuivant() dans (SAI_SPE_Nom..Nom,BTN_Valider_fiche_personne..Nom,BTN_ +Fermer_fiche_personne..Nom) alors +si ChampEnCours() dans (BTN_Valider_fiche_personne..Nom) alors EcranVersSource() +bResultat = ValideFicheSimple(gclPresentationFichePersonne,paramSupplementaire,ActiveTimer,BTN_ +CADENAS_FERME_PERS,BTN_CADENAS_OUVERT_PERS,GR_CADENAS_PERS,DISP_FICHE_PERSONNE) +gbEnregistementOk = bResultat +// nPKID est un entier sur 8 octets = gclPresentationFichePersonne:IdentifiantUnique +// // validation +// +SI PAS gclPresentationFichePersonne.bOK(clErreur) ALORS//PAS +gclPresentationFichePersonne.bOK(clErreur,Vrai,Vrai) +// Erreur(clErreur.FormateMessage()) +// gbEnregistementOk = Faux +// SINON +// SI nPKID=0 _ET_ paramSupplementaire.eTypeAppel=DansOnglet ALORS +// +FEN_Menu.RenomeOnglet(gclPresentationFichePersonne:IdentifiantUnique,gclPresentationFichePersonne:InfoO +nglet) +// FIN +// bResultat = Vrai +// gbEnregistementOk = bResultat +// FIN +fin +fin +renvoyer bResultat +Procédure locale MAJBoutonRole +// Résumé : +// Syntaxe : +// MAJBoutonRole () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure MAJBoutonRole() +nIndice est un entier = TableauCherche(gpclListeRoleContact:m_clTabModele,tcLinéaire,"m_nPKID", +gclPresentationFichePersonne.m_nIDRole,1) +si nIndice>0 alors +BTN_ROLE..Libellé = gpclListeRoleContact:m_clTabModele[nIndice]:m_sLibelle +sinon +BTN_ROLE..Libellé = "" +fin +Procédure locale MAJObjetRetourFI +// Résumé : +// Syntaxe : +//[ = ] MAJObjetRetourFI ([...]) +// +// Paramètres : +// <*> : > +// Valeur de retour : +// booléen : // Aucune +06/08/2026 Isis_BO 1797 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Procédures +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sContexte (chaîne ANSI) : +// pclObjet (objet dynamique) : +// <*> : > +procédure MAJObjetRetourFI(*)//LOCAL sContexte est une chaîne, pclObjet est un objet dynamique +bResultat est un booléen=Vrai +nMode est un entier +sNomChamp est une chaîne +pclObjet est un objet dynamique +bReorga est un booléen=Vrai +bBloc est un booléen +si MesParamètres..Occurrence>0 alors +nMode = MesParamètres[1] +fin +selon nMode +cas 1 : +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 2 +bReorga = Faux +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 3 +bReorga = Faux +bBloc = Vrai +fin +si bReorga alors +fin +si pclObjet<>Null alors +//*******************************MISE A JOUR DE +L'OBJET********************************************************* +selon sNomChamp +// CAS COMBO_NPE_IDRole..Nom : +// COMBO_NPE_IDRole..Valeur = pclObjet.m_nPKID +cas BTN_LOUPE_CONTACT_SITE..Nom : PFichePersonne.gListeLieu(gclPresentationFichePersonne, +pclObjet) +cas BTN_LOUPE_CLIENT..Nom : PFichePersonne.gFicheClient(gclPresentationFichePersonne,pclObjet) +cas BTN_ROLE..Nom +gclPresentationFichePersonne:m_nIDRole = pclObjet.m_nPKID +MAJBoutonRole() +fin +fin +renvoyer bResultat +Procédure locale RafraichissementFiche +procédure RafraichissementFiche() +si gclPresentationFichePersonne:m_nPKID > 0 alors +gclPresentationListePersonne est un PTablePersonne dynamique = PTablePersonne.gNouvellePresentation +(8,gclPresentationFichePersonne:m_nPKID) +06/08/2026 Isis_BO 1798 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Procédures +si gclPresentationListePersonne:p_nTotal=1 alors +gclPresentationListePersonne:p_clCourant = gclPresentationListePersonne:m_clTabModele[1] +fin +gclPresentationFichePersonne <-gclPresentationListePersonne.Modifier() +PFichePersonne.gFicheClient(gclPresentationFichePersonne) +PFichePersonne.gListeLieu(gclPresentationFichePersonne) +PFichePersonne.gListeIntervention(gclPresentationFichePersonne) +DemandeMiseAJourUI() +fin +Procédure locale RechercheSiteListe +procédure RechercheSiteListe() +gnPosRechercheSite = 0 +LIB_ResultatRecherche = "" +b est un entier = 0 +sValeurCol est une chaîne ANSI +sValeurRecherche est une chaîne ANSI = SansEspace(SAI_CodeLieu) +pour toute ligne i de TABLE_INTERLOCUTEUR_SITE +sValeurCol = Majuscule(SansEspace(TABLE_INTERLOCUTEUR_SITE.COL_Adresse[i])) +si Contient(sValeurCol,sValeurRecherche) alors +b += 1 +fin +fin +LIB_ResultatRecherche = b + " enregistrements(s) trouvés" +Procédure locale RechercheSiteTable +procédure RechercheSiteTable(bAjout est un booléen = Faux) +b est un entier +c est un entier +nPKID est un entier sur 8 octets = Val(ExtraitChaîne(ExtraitChaîne(SAI_CodeLieu..ValeurAffichée,2 +,"[",DepuisDébut),1,"]")) +sValeurRecherche est une chaîne ANSI = ChaîneSupprime(SAI_CodeLieu,"["+nPKID+"]" ) +sValeurRecherche = SansAccent(Majuscule(SansEspace(sValeurRecherche))) +sValeurCol est une chaîne ANSI +si gnPosRechercheSite > 0 _et_ gnPosRechercheSite < TABLE_INTERLOCUTEUR_SITE.Occurrence() alors +c = gnPosRechercheSite +sinon +c = 0 +fin +pour toute ligne i de TABLE_INTERLOCUTEUR_SITE +c += 1 +si c <= TABLE_INTERLOCUTEUR_SITE.Occurrence() alors +sValeurCol = SansAccent(Majuscule(SansEspace(TABLE_INTERLOCUTEUR_SITE.COL_Adresse[c]))) +si Contient(sValeurCol,sValeurRecherche) alors +b = c +sortir +fin +fin +fin +si b > 0 alors +TableSelectPlus(TABLE_INTERLOCUTEUR_SITE,b) +sinon +06/08/2026 Isis_BO 1799 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Procédures +si gnPosRechercheSite > 0 alors +c = 0 +pour toute ligne i de TABLE_INTERLOCUTEUR_SITE +c += 1 +sValeurCol = SansAccent(Majuscule(SansEspace(TABLE_INTERLOCUTEUR_SITE.COL_Adresse[c]))) +si Contient(sValeurCol,sValeurRecherche) alors +b = c +sortir +fin +fin +fin +si b > 0 alors +TableSelectPlus(TABLE_INTERLOCUTEUR_SITE,b) +fin +fin +gnPosRechercheSite = b +si b <= 0 _et_ bAjout alors +si SAI_CodeLieu..ValeurAffichée<>"" alors +sCodeLieu est une chaîne ANSI = SAI_CodeLieu +nPKID = Val(ExtraitChaîne(ExtraitChaîne(SAI_CodeLieu..ValeurAffichée,2,"[",DepuisDébut),1,"]") +) +si nPKID>0 alors +si OuiNon("Souhaitez-vous ajouter l'adresse du site à la liste des sites du contact ? ") = +Oui alors +si PFichePersonne.gListeLieu(gclPresentationFichePersonne,*,nPKID) alors +//nIndiTableCherche(COL_PKID,nPKID,rechercheIdentique) +nIndice est un entier = TableauCherche(gclPresentationFichePersonne:ListeLieu +:m_clTabModele,tcLinéaire,"m_nIDLieu",nPKID,1) +si nIndice>0 alors +gclPresentationFichePersonne:ListeLieu:p_clCourant = +gclPresentationFichePersonne:ListeLieu:m_clTabModele[nIndice] +FI_Fiche_Personne..Plan = 2 +DemandeMiseAJourIHM() +fin +SAI_CodeLieu = "" +LIB_ResultatRecherche= "" +SaisieAssistéeSupprimeTout(SAI_CodeLieu) +SAI_CodeLieu = ChaîneSupprime(sCodeLieu,"["+nPKID+"]" ) +EnregistreFiche() +fin +fin +fin +fin +fin +Procédure locale SurActivite +// Résumé : +// Syntaxe : +//SurActivite (, , ) +// +// Paramètres : +// wEve : +// wParam : +06/08/2026 Isis_BO 1800 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Personne › Procédures +// lParam : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SurActivite(wEve,wParam,lParam) +si gclPresentationFichePersonne:m_bBlocageEcriture alors +gnDelai=DonneValeurTimeOutObjet(gclPresentationFichePersonne) +fin +Procédure locale TimeOutPersonne +procédure TimeOutPersonne() +//Enlève 1 seconde au temps restant +gnDelai-- +//Le temps est écoulé +si gnDelai = 0 alors +DeblocEnregistrement(gclPresentationFichePersonne,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_PERS,BTN_CADENAS_OUVERT_PERS,GR_CADENAS_PERS,DISP_FICHE_PERSONNE,*,Vrai) +fin +Procédure locale TriColonne +// Procédure callback appelée à chaque clic sur entête de colonne de "Table1" pour trier la colonne +// wEve [in]: Numéro du message Windows +// wParam [in] : Numéro de la colonne a trier +// lParam [in]: Ordre du tri 5 (1 : Croissant, 0 : décroissant) +// Renvoyer 0 pour ne pas effectuer le tri demandé +procédure TriColonne(wEve,wParam,lParam) +sSens est une chaîne="" +si wParam<>0 alors//N° de colonne sur laquelle le clic est effectué +//Détection du sens du tri +si pas lParam alors sSens="-" +selon MoiMême..Nom +cas TABLE_INTERLOCUTEUR_SITE..Nom +//Trier sur la colonne +TableTrie(TABLE_INTERLOCUTEUR_SITE,sSens+TableEnumèreColonne(TABLE_INTERLOCUTEUR_SITE, +wParam),"+COL_PKID") +//Traitement à effectuer "Après chaque tri" +TrieObjetChampTableSiBesoin(gclPresentationFichePersonne:ListeLieu,TABLE_ +INTERLOCUTEUR_SITE,gsTriEnCoursContact) +cas TABLE_INTERLOCUTEUR_INTERVENTION..Nom +//Trier sur la colonne +TableTrie(TABLE_INTERLOCUTEUR_INTERVENTION,sSens+TableEnumèreColonne(TABLE_ +INTERLOCUTEUR_INTERVENTION,wParam),"+COL_PKID") +//Traitement à effectuer "Après chaque tri" +TrieObjetChampTableSiBesoin(gclPresentationFichePersonne:ListeIntervention,TABLE_ +INTERLOCUTEUR_INTERVENTION,gsTriEnCoursInterv) +fin +renvoyer 0 +fin +06/08/2026 Isis_BO 1801 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Image +FI_Liste_Personne +Image +FI_Liste_Personne +Informations générales +FI_Liste_Personne +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Liste_Personne.wdw +| Créé par | | frederic.bourras@applilogik.fr | | | | +| -------------------------- | ------------ | ------------------------------ | --------- | --------------- | --- | +| Date de création | | 09/08/2018 16:42:36 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 23/04/2025 09:15:42 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 773 Hauteur | 317 | +| 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. +| 06/08/2026 | | | Isis_BO | | 1802 | +| ---------- | --- | --- | ------- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations générales +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Statistiques de la fenêtre +Champ de saisie 10 Libellé 9 +Bouton 10 Interrupteur 12 +Image 5 Table 1 +Combo 5 Forme 6 +Fenêtre interne 1 Fenêtre interne 1 +Option d'interrupteur 12 Colonne de table 11 +Rupture de zone répétée 2 Disposition 8 +Cellule de disposition 39 +06/08/2026 Isis_BO 1803 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations générales +Nombre d'éléments dans la fenêtre : 132 +FI_Liste_Personne +Informations sur les champs +Fenêtre : FI_Liste_Personne +Fenêtre interne +BAT ehcuoT +X noitisoP laitini tatE +Y noitisoP +| | | | | ruegraL ruetuaH | | | +| --- | --- | --- | --- | --------------- | --- | --- | +elbisiV +nalP +| FI_Liste_Personne | | | 0 | 0 773 317 | 0 | | +| ----------------- | --- | --- | --- | --------- | --- | --- | +Fenêtre interne : FI_Liste_Personne +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_ADRESSE_SITE | 130 26 | 102 22 | 0 | Actif Texte | Non | | +| ------------------ | ------ | -------- | --- | ----------- | --- | --- | +| SAI_CLIENT | 130 | 3 102 22 | 0 | Actif Texte | Non | | +| SAI_CODEPOSTAL_SIT | 130 51 | 102 22 | 0 | Actif Texte | Non | | +SAI_CODE_COMPTAB +| | 130 53 | 102 22 | 0 | Actif Texte | Non | | +| ----------------- | --------- | -------- | --- | ----------- | --- | ---- | +| SAI_CODE_LIEU | 130 | 1 102 22 | 0 | Actif Texte | Non | | +| SAI_CodeContact | -343 -153 | 200 26 | 0 | Actif Texte | Non | | +| SAI_EMAIL_CONTACT | 133 51 | 99 22 | 0 | Actif Texte | Non | | +| SAI_NOM_CONTACT | 133 | 0 99 22 | 0 | Actif Texte | Non | | +| SAI_TELS_CONTACT | 133 26 | 99 22 | 0 | Actif Texte | Non | | +| SAI_VILLE_SITE | 130 76 | 102 22 | 0 | Actif Texte | Non | | +| 06/08/2026 | | | | Isis_BO | | 1804 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › 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_AFFICHER_CONTACT | 6 | 9 | 45 | 14 | 0 | Actif | Gauche | Haut | | | +| -------------------- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | --- | +| LIB_CLEINT | 0 | 8 | 100 | 14 | 0 | Actif | Gauche | Haut | | | +| LIB_DEPUIS_CONTACT | 227 | 9 | 45 | 14 | 0 | Actif | Gauche | Haut | | | +| LIB_SITE | 0 | 8 | 100 | 14 | 0 | Actif | Gauche | Haut | | | +| LIB_SITE | 0 | 8 | 100 | 14 | 0 | Actif | Gauche | Haut | | | +LIB_Titre_de_fenêtre_liste_perso 6 6 39 21 0 Actif Gauche Centre +| LIB_Total_Liste_personne | 44 | 0 | 36 | 14 | 0 | Actif | Gauche | Haut | | | +| ------------------------------ | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | --- | +| LIB_Total_Titre_Liste_Personne | 0 | 0 | 40 | 14 | 0 | Actif | Gauche | Haut | | | +Bouton +| | | | | | | | | BAT ehcuoT | | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | --- | ---------- | --- | ----------- | +laitini tatE +| | | X noitisoP | Y noitisoP | | | | | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| BTN_ADD_LISTE_CONTACT | | 4 | 4 | 24 | 24 | 0 | Actif | | Normal | | +| ---------------------------- | --- | --- | --- | --- | --- | --- | ----- | --- | ------- | --- | +| BTN_AVANCEE_CONTACT | | 4 | 4 | 24 | 24 | 0 | Actif | | Normal | | +| BTN_CLOSE_LISTE_CONTACT | | 4 | 4 | 24 | 24 | 0 | Actif | | Abandon | | +| BTN_COLLAPSE_LISTE_CONTACT | | 372 | 4 | 24 | 24 | 0 | Actif | | Normal | | +| BTN_DEL_LISTE_CONTACT | | 4 | 4 | 24 | 24 | 0 | Grisé | | Normal | | +| BTN_EDT_LISTE_CONTACT | | 4 | 4 | 24 | 24 | 0 | Grisé | | Normal | | +| BTN_GOMMER_CONTACT | | 4 | 4 | 24 | 24 | 0 | Actif | | Normal | | +| BTN_RECHERCHE_CONTACT | | 4 | 4 | 24 | 24 | 0 | Actif | | Normal | | +| BTN_SEL_LISTE_CONTACT | | 4 | 4 | 24 | 24 | 0 | Grisé | | Normal | | +| BTN_UNCOLLAPSE_LISTE_CONTACT | | 372 | 4 | 24 | 24 | 0 | Actif | | Normal | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | | laitini tatE | | | staté siorT | +| --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | --- | ----------- | +| | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| INT_ADRESSE_SITE | | 0 25 | 130 | 25 | 0 | Actif | | | 1 | | +| ------------------- | --- | ---- | ----- | ------- | --- | ----- | --- | --- | --- | ---- | +| INT_CLIENT | | 0 | 2 130 | 25 | 0 | Actif | | | 1 | | +| INT_CODEPOSTAL_SITE | | 0 50 | 130 | 25 | 0 | Actif | | | 1 | | +| INT_CODE_COMPTABLE | | 0 52 | 130 | 25 | 0 | Actif | | | 1 | | +| INT_CODE_LIEU | | 0 | 0 130 | 25 | 0 | Actif | | | 1 | | +| INT_EMAIL_CONTACT | | 3 50 | 130 | 25 | 0 | Actif | | | 1 | | +| INT_NOM_CONTACT | | 3 | 0 130 | 25 | 0 | Actif | | | 1 | | +| INT_ROLE_CONTACT | | 3 75 | 130 | 25 | 0 | Actif | | | 1 | | +| INT_STATUT_CLIENT | | 0 77 | 130 | 25 | 0 | Actif | | | 1 | | +| INT_TELS_CONTACT | | 3 25 | 130 | 25 | 0 | Actif | | | 1 | | +| INT_TYPE_CLIENT | | 0 27 | 130 | 25 | 0 | Actif | | | 1 | | +| INT_VILLE_SITE | | 0 75 | 130 | 25 | 0 | Actif | | | 1 | | +| 06/08/2026 | | | | Isis_BO | | | | | | 1805 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › 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_ICONE_CARACTERISTIQUES | | 4 7 | 16 | 16 | 0 | Actif | | | +| -------------------------- | --- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_ICONE_CARACTERISTIQUES | | 4 7 | 16 | 16 | 0 | Actif | | | +| IMG_ICONE_CARACTERISTIQUES | | 4 7 | 16 | 16 | 0 | Actif | | | +| IMG_OPAQ_TETE_LISTE_PERS | | 0 0 | 768 | 33 | 0 | Actif | | | +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | ------------------ | ------------------ | ------------------------------ | ----------------------------- | +| | | | | | )(ertliFH resilitU | | ruesnecsa elluB EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +| | | | | | .gerne egacolB | noitcelésitluM | edacsac eisiaS | | +BAT ehcuoT +| | X noitisoP Y noitisoP | | laitini tatE | | | | | | +| --- | --------------------- | ------- | ------------ | --- | -------- | --- | --- | --- | +| | ruegraL | ruetuaH | | | sruocraP | | | | +elbisiV +elbaT +nalP +| TABLE_PERSONNE | 0 0 768 | 90 0 | Actif | Mémoir | | | | 2 | +| -------------- | ------- | ---- | ----- | ------ | --- | --- | --- | --- | +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 | | | +| COMBO_PERIODE_AFFICH | 272 5 | 87 22 | 0 | Actif | Variable | | Non | | +| COMBO_ROLE_CONTACT | 133 76 | 99 22 | 0 | Actif | Variable | | Non | | +| COMBO_SEUIL_AFFICHAG | 57 5 | 158 22 | 0 | Actif | Variable | | Non | | +| COMBO_STATUT_CLIENT | 130 78 | 102 22 | 0 | Actif | Variable | | Non | | +| COMBO_TYPE_CLIENT | 130 28 | 102 22 | 0 | Actif | Variable | | Non | | +Forme +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_BANDEAU_BAS_CONTACT | | 0 | 0 | 768 | 14 | 0 | Actif | | +| ------------------------------- | --- | --- | ------- | --- | --- | --- | ----- | ---- | +| FRM_CADRE_CARACTERISTIQUES | | 0 | 0 | 238 | 103 | 0 | Actif | | +| FRM_CADRE_CARACTERISTIQUES | | 0 | 0 | 238 | 103 | 0 | Actif | | +| FRM_CADRE_CARACTERISTIQUES | | 0 | 0 | 238 | 103 | 0 | Actif | | +| FRM_CRITERE_LISTE_CONTACT | | 0 | 0 | 768 | 216 | 0 | Actif | | +| FRM_DEPLIER_PLIER_LISTE_CONTACT | | 0 | 0 | 768 | 33 | 0 | Actif | | +| 06/08/2026 | | | Isis_BO | | | | | 1806 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Fenêtre interne +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CFI_SOUSELEMENT_LISTE_PERSONNE | | 0 | 0 768 | 430 | 0 | Actif | | +| ------------------------------ | --- | --- | ----- | --- | --- | ----- | --- | +Disposition +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| DISP_CG_L1_C2_L1 | | 0 | 0 238 | 32 | 0 | Actif | | +| ----------------- | --- | --- | ----- | --- | --- | ----- | --- | +| DISP_CG_L1_C2_L1 | | 0 | 0 238 | 32 | 0 | Actif | | +| DISP_CG_L1_C2_L1 | | 0 | 0 238 | 32 | 0 | Actif | | +| DISP_CLIENT | | 263 | 0 238 | 141 | 0 | Actif | | +| DISP_SITE | | 13 | 0 238 | 141 | 0 | Actif | | +| DISP_SITE1 | | 513 | 0 238 | 141 | 0 | Actif | | +| D_LISTE_PERS | | 0 | 0 768 | 321 | 0 | Actif | | +| D_TETE_LISTE_PERS | | 0 | 0 768 | 32 | 0 | Actif | | +Table : FI_Liste_Personne.D_LISTE_PERS.TABLE_PERSONNE +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| LIB_DATEMODIF_CONTACT | 21 | 28 758 | 16 0 | Actif | Gauche | Haut | | +| --------------------- | --- | ------ | ---- | ----- | ------ | ---- | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | ------------ | --------- | ---------- | +| | | | ruetuaH | | | cilc cevA | | +| | | | ruegraL | elbisiV | | | | +nalP +| IMG_OPAQ_TABLE_PERS | -2 | 1 | 768 90 | 0 | Actif | | | +| ------------------- | --- | --- | ------- | --- | ----- | --- | ---- | +| 06/08/2026 | | | Isis_BO | | | | 1807 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | elbairt ennoloC | ehcrehcer cevA | | | +| --- | --- | -------------- | --------------- | --------------------------- | ---------------------- | ----------- | +| | | ehcuag à eéxiF | | .zroh egardaC .trev egardaC | | | +| | | laitini tatE | elbaçalpéD | | eisias epyT FTR tamroF | eisias cevA | +engilitluM +ruegraL +elbisiV +| epyT | | | | | | eéirT | +| ----------------- | --- | -------- | --- | ------------- | ------- | ----- | +| COL_SEL | 30 | Actif | | Centre Centre | | | +| COL_NomContact | 192 | affichag | | Gauche Centre | Texte | | +| COL_PrenomContact | 151 | affichag | | Gauche Centre | Texte | | +| COL_TelFixe | 119 | affichag | | Gauche Centre | Texte | | +| COL_TelMobile | 116 | affichag | | Gauche Centre | Texte | | +| COL_Adresse | 160 | Grisé | | Gauche Centre | Texte | | +| COL_IDRole | 145 | affichag | | Gauche Haut | Texte | | +| COL_IDClient | 156 | affichag | | Gauche Centre | Texte | | +| MinDateModif | 100 | Grisé | | Gauche Centre | Texte | | +| NbJrsModif | 100 | affichag | | Droite Centre | Numériq | | +Numériq +| COL_PKID | 100 | Grisé | | Droite Centre | | | +| -------- | --- | ----- | --- | ------------- | --- | --- | +Rupture de zone répétée +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +RUPT_B_MinDateModif +RUPT_H_MinDateModif_Contact +Fenêtre : FI_Liste_Personne +Fenêtre interne : FI_Liste_Personne +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ---------------------------------- | --- | ------- | --- | --- | ---- | +| Unité des tailles | Compatible desktop ET mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +| Facteur d'agrandissement | 0 | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | +| Ancrage | | | | | | | +| 06/08/2026 | | | Isis_BO | | | 1808 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Liste_Personne +Bouton : +Groupe GR_MODEFORMULAIRE_LISTE_PERSONNE +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1809 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Bouton : FI_Liste_Personne.D_LISTE_PERS.D_TETE_LISTE_PERS.BTN_AVANCEE_CONTACT +Ordre navigation 1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Paramétrage.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1810 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Bouton : +Groupe GR_MODEFORMULAIRE_LISTE_PERSONNE +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1811 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Bouton : FI_Liste_Personne.D_LISTE_PERS.BTN_COLLAPSE_LISTE_CONTACT +Groupe GR_MODEFORMULAIRE_LISTE_CLIENT +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Plier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1812 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Bouton : +Groupe GR_MODEFORMULAIRE_LISTE_PERSONNE,GR_MODIFICATION_LISTE_PERSONNE +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1813 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Bouton : +Groupe GR_MODIFICATION_LISTE_PERSONNE,GR_MODEFORMULAIRE_LISTE_PERSONNE +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1814 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Gommer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1815 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_refresh.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1816 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Bouton : +Groupe GR_MODEFORMULAIRE_LISTE_PERSONNE +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1817 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Bouton : FI_Liste_Personne.D_LISTE_PERS.BTN_UNCOLLAPSE_LISTE_CONTACT +Groupe GR_MODEFORMULAIRE_LISTE_CLIENT +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1818 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Fenêtre interne : FI_Liste_Personne.D_LISTE_PERS.CFI_SOUSELEMENT_LISTE_PERSONNE +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 +Ancrage au contenu +Numéro aide 0 +Ascenseur auto. 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 +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Personne.D_LISTE_PERS.COMBO_PERIODE_AFFICHAGE_CONTACT +Groupe GR_PERIODE_AFFICHAGE_CONTACT +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 87 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 272 +Largeur interne 87 +06/08/2026 Isis_BO 1819 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Période d'affichage du nombre de lignes +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListePeriodeAffichageListe.m_clTabVisible +Filtre 02 +Rub. affichée :gpclListePeriodeAffichageListe.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListePeriodeAffichageListe.m_clTabVisible.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 333 Taux anc. bas 250 Taux anc. largeur 1000 Taux anc. hauteur 250 +06/08/2026 Isis_BO 1820 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Combo : FI_Liste_Personne.D_LISTE_PERS.DISP_SITE.COMBO_ROLE_CONTACT +Libellé FR: Stat&ut du client +Valeur initiale 1 +Groupe ,GR_CRITERE_LISTECONTACT +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 99 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 146 +Largeur interne 99 +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 +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 +06/08/2026 Isis_BO 1821 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Oui +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeRoleContact.m_clTabVisible +Rub. affichée :gpclListeRoleContact.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeRoleContact.m_clTabVisible.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Personne.D_LISTE_PERS.COMBO_SEUIL_AFFICHAGE_CONTACT +Groupe ,GR_CRITERE_LISTECONTACT +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 158 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 57 +Largeur interne 158 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Seuil d'affichage du nombre de lignes +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 1822 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeSeuilAffichageListe.m_clTabVisible +Filtre 02 +Rub. affichée :gpclListeSeuilAffichageListe.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeSeuilAffichageListe.m_clTabVisible.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 333 Taux anc. bas 250 Taux anc. largeur 1000 Taux anc. hauteur 250 +Combo : FI_Liste_Personne.D_LISTE_PERS.DISP_CLIENT.COMBO_STATUT_CLIENT +Libellé FR: Stat&ut du client +Valeur initiale 1 +Groupe ,GR_CRITERE_LISTECONTACT +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Isis_BO 1823 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 102 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 393 +Largeur interne 102 +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 +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. +Avec recherche Oui +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeStatutClient.m_clTabVisible +Rub. affichée :gpclListeStatutClient.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeStatutClient.m_clTabVisible.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 1824 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Ancrage Largeur +Taux anc. droite 333 Taux anc. bas 750 Taux anc. largeur 1000 Taux anc. hauteur 250 +Combo : FI_Liste_Personne.D_LISTE_PERS.DISP_CLIENT.COMBO_TYPE_CLIENT +Libellé FR: Type de client +Groupe ,GR_CRITERE_LISTECONTACT +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 102 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 393 +Largeur interne 102 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Type de client +Numéro aide 0 +Texte d'indication si vide FR: Type de client +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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 +06/08/2026 Isis_BO 1825 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +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. +Avec recherche Oui +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeClient.m_clTabVisible +Filtre 2 +Rub. affichée :gpclListeTypeClient.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeTypeClient.m_clTabVisible.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 333 Taux anc. bas 250 Taux anc. largeur 1000 Taux anc. hauteur 250 +Disposition : FI_Liste_Personne.D_LISTE_PERS.DISP_SITE.DISP_CG_L1_C2_L1 +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1826 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Disposition : FI_Liste_Personne.D_LISTE_PERS.DISP_SITE1.DISP_CG_L1_C2_L1 +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Personne.D_LISTE_PERS.DISP_CLIENT.DISP_CG_L1_C2_L1 +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +06/08/2026 Isis_BO 1827 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Personne.D_LISTE_PERS.DISP_CLIENT +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 333 Taux anc. bas 1000 Taux anc. largeur 333 Taux anc. hauteur 1000 +Disposition : FI_Liste_Personne.D_LISTE_PERS.DISP_SITE +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +06/08/2026 Isis_BO 1828 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 0 Taux anc. bas 1000 Taux anc. largeur 333 Taux anc. hauteur 1000 +Disposition : FI_Liste_Personne.D_LISTE_PERS.DISP_SITE1 +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 666 Taux anc. bas 1000 Taux anc. largeur 333 Taux anc. hauteur 1000 +Disposition : FI_Liste_Personne.D_LISTE_PERS +Libellé FR: Disposition +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 +Cellule ancrée 4 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 1829 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Facteur d'agrandissement 0 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Personne.D_LISTE_PERS.D_TETE_LISTE_PERS +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Liste_Personne.D_LISTE_PERS.FRM_BANDEAU_BAS_CONTACT +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +06/08/2026 Isis_BO 1830 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › 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 +Ancrage Largeur et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Liste_Personne.D_LISTE_PERS.DISP_SITE1.FRM_CADRE_CARACTERISTIQUES +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Liste_Personne.D_LISTE_PERS.DISP_CLIENT.FRM_CADRE_CARACTERISTIQUES +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1831 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Forme : FI_Liste_Personne.D_LISTE_PERS.DISP_SITE.FRM_CADRE_CARACTERISTIQUES +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Liste_Personne.D_LISTE_PERS.FRM_CRITERE_LISTE_CONTACT +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 0 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1832 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Forme : FI_Liste_Personne.D_LISTE_PERS.FRM_DEPLIER_PLIER_LISTE_CONTACT +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_CONTACTSITE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 1833 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_SITE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1834 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_CLIENT.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Liste_Personne.D_LISTE_PERS.IMG_OPAQ_TETE_LISTE_PERS +Groupe GR_IMAGE_OPAQUE_LISTE_PERSONNE +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 50 +06/08/2026 Isis_BO 1835 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › 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. +Mire visible Non +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF 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 +Interrupteur : FI_Liste_Personne.D_LISTE_PERS.DISP_SITE1.INT_ADRESSE_SITE +Valeur initiale 0 +Groupe ,GR_CRITERE_LISTECONTACT +Ordre navigation 3 +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 +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 Toute la hauteur de l'option +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 +06/08/2026 Isis_BO 1836 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Option format RTF Non +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Personne.D_LISTE_PERS.DISP_CLIENT.INT_CLIENT +Valeur initiale 0 +Groupe ,GR_CRITERE_LISTECONTACT +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 1837 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Personne.D_LISTE_PERS.DISP_SITE1.INT_CODEPOSTAL_SITE +Valeur initiale 0 +Groupe ,GR_CRITERE_LISTECONTACT +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1838 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Interrupteur : FI_Liste_Personne.D_LISTE_PERS.DISP_CLIENT.INT_CODE_COMPTABLE +Valeur initiale 0 +Groupe ,GR_CRITERE_LISTECONTACT +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1839 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Interrupteur : FI_Liste_Personne.D_LISTE_PERS.DISP_SITE1.INT_CODE_LIEU +Valeur initiale 0 +Groupe ,GR_CRITERE_LISTECONTACT +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1840 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Interrupteur : FI_Liste_Personne.D_LISTE_PERS.DISP_SITE.INT_EMAIL_CONTACT +Valeur initiale 0 +Groupe GR_CRITERE_LISTECONTACT +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1841 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Interrupteur : FI_Liste_Personne.D_LISTE_PERS.DISP_SITE.INT_NOM_CONTACT +Valeur initiale 0 +Groupe ,GR_CRITERE_LISTECONTACT +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1842 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Interrupteur : FI_Liste_Personne.D_LISTE_PERS.DISP_SITE.INT_ROLE_CONTACT +Valeur initiale 0 +Groupe ,GR_CRITERE_LISTECONTACT +Ordre navigation 7 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1843 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Interrupteur : FI_Liste_Personne.D_LISTE_PERS.DISP_CLIENT.INT_STATUT_CLIENT +Valeur initiale 0 +Groupe ,GR_CRITERE_LISTECONTACT +Ordre navigation 7 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1844 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Interrupteur : FI_Liste_Personne.D_LISTE_PERS.DISP_SITE.INT_TELS_CONTACT +Valeur initiale 0 +Groupe GR_CRITERE_LISTECONTACT +Ordre navigation 3 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1845 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Interrupteur : FI_Liste_Personne.D_LISTE_PERS.DISP_CLIENT.INT_TYPE_CLIENT +Valeur initiale 0 +Groupe ,GR_CRITERE_LISTECONTACT +Ordre navigation 3 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1846 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Interrupteur : FI_Liste_Personne.D_LISTE_PERS.DISP_SITE1.INT_VILLE_SITE +Valeur initiale 0 +Groupe ,GR_CRITERE_LISTECONTACT +Ordre navigation 7 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1847 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Libellé : FI_Liste_Personne.D_LISTE_PERS.LIB_AFFICHER_CONTACT +Libellé FR: Afficher +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Personne.D_LISTE_PERS.DISP_CLIENT.DISP_CG_L1_C2_L1.LIB_CLEINT +Libellé FR: Client +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 +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 +06/08/2026 Isis_BO 1848 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Personne.D_LISTE_PERS.LIB_DEPUIS_CONTACT +Libellé FR: Depuis +Groupe GR_PERIODE_AFFICHAGE_CONTACT +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1849 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Libellé : FI_Liste_Personne.D_LISTE_PERS.DISP_SITE.DISP_CG_L1_C2_L1.LIB_SITE +Libellé FR: Contact +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Personne.D_LISTE_PERS.DISP_SITE1.DISP_CG_L1_C2_L1.LIB_SITE +Libellé FR: Site +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 +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 +06/08/2026 Isis_BO 1850 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Titre +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1851 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Libellé : FI_Liste_Personne.D_LISTE_PERS.LIB_Total_Liste_personne +Libellé FR: 000 +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 +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 +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 +Liaison des données :gclPresentationListePersonne.p_nTotal +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 +Libellé : FI_Liste_Personne.D_LISTE_PERS.LIB_Total_Titre_Liste_Personne +Libellé FR: Total : +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Isis_BO 1852 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Personne.D_LISTE_PERS.DISP_SITE1.SAI_ADRESSE_SITE +Groupe ,GR_CRITERE_LISTECONTACT +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 643 +Largeur interne 102 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +06/08/2026 Isis_BO 1853 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Mode ellipse +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. +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 666 Taux anc. bas 250 Taux anc. largeur 1000 Taux anc. hauteur 250 +06/08/2026 Isis_BO 1854 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Champ de saisie : FI_Liste_Personne.D_LISTE_PERS.DISP_CLIENT.SAI_CLIENT +Libellé FR: &Client +Groupe ,GR_CRITERE_LISTECONTACT +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 393 +Largeur interne 102 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1855 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › 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. +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 333 Taux anc. bas 0 Taux anc. largeur 1000 Taux anc. hauteur 250 +Champ de saisie : FI_Liste_Personne.D_LISTE_PERS.DISP_SITE1.SAI_CODEPOSTAL_SITE +Groupe ,GR_CRITERE_LISTECONTACT +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 643 +Largeur interne 102 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 1856 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 666 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 250 +06/08/2026 Isis_BO 1857 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Champ de saisie : +Groupe ,GR_CRITERE_LISTECONTACT +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 393 +Largeur interne 102 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1858 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › 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. +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 333 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 250 +Champ de saisie : FI_Liste_Personne.D_LISTE_PERS.DISP_SITE1.SAI_CODE_LIEU +Groupe ,GR_CRITERE_LISTECONTACT +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 643 +Largeur interne 102 +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 +06/08/2026 Isis_BO 1859 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 666 Taux anc. bas 0 Taux anc. largeur 1000 Taux anc. hauteur 250 +06/08/2026 Isis_BO 1860 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Champ de saisie : FI_Liste_Personne.SAI_CodeContact +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne -343 +Largeur interne 200 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Texte d'indication si vide FR: Nom, prénom, adresse du contact +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1861 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › 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. +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 +Champ de saisie : FI_Liste_Personne.D_LISTE_PERS.DISP_SITE.SAI_EMAIL_CONTACT +Groupe GR_CRITERE_LISTECONTACT +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 146 +Largeur interne 99 +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 +06/08/2026 Isis_BO 1862 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 0 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 250 +06/08/2026 Isis_BO 1863 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Champ de saisie : FI_Liste_Personne.D_LISTE_PERS.DISP_SITE.SAI_NOM_CONTACT +Groupe ,GR_CRITERE_LISTECONTACT +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 146 +Largeur interne 99 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1864 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › 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. +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 0 Taux anc. bas 0 Taux anc. largeur 1000 Taux anc. hauteur 250 +Champ de saisie : FI_Liste_Personne.D_LISTE_PERS.DISP_SITE.SAI_TELS_CONTACT +Groupe GR_CRITERE_LISTECONTACT +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 146 +Largeur interne 99 +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 +06/08/2026 Isis_BO 1865 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 0 Taux anc. bas 250 Taux anc. largeur 1000 Taux anc. hauteur 250 +06/08/2026 Isis_BO 1866 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Champ de saisie : FI_Liste_Personne.D_LISTE_PERS.DISP_SITE1.SAI_VILLE_SITE +Groupe ,GR_CRITERE_LISTECONTACT +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 643 +Largeur interne 102 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1867 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › 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. +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 666 Taux anc. bas 750 Taux anc. largeur 1000 Taux anc. hauteur 250 +Table : FI_Liste_Personne.D_LISTE_PERS.TABLE_PERSONNE +Groupe GR_MODEFORMULAIRE_LISTE_PERSONNE +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Recherche +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 0 +Marge en bas 0 +Marge à gauche 1 +Marge à droite 3 +Sens Vertical +Retrait gauche 2 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +06/08/2026 Isis_BO 1868 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +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 Automatique +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 500 +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 +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Rub. mémorisée :gclPresentationListePersonne.m_clTabModele +Ajout/Suppr. dans variable Non +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 +06/08/2026 Isis_BO 1869 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Table : FI_Liste_Personne.D_LISTE_PERS.TABLE_PERSONNE +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 8 +Libellé : +Libellé FR: Date de modification +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1870 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 8 +Image : +Groupe GR_HAUTEUR_LISTE_PERSONNE,GR_IMAGE_OPAQUE_LISTE_PERSONNE +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 50 +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. +Mire visible Non +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +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 +06/08/2026 Isis_BO 1871 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Colonne de table : FI_Liste_Personne.D_LISTE_PERS.TABLE_PERSONNE.COL_SEL (3) +Curseur survol 32649 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +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 Oui +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 50 +Mot de passe Non +Masque saisie FR: 2 +Mode ellipse +Verifier l'orthographe Non +06/08/2026 Isis_BO 1872 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Prénom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 50 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1873 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Colonne de table : FI_Liste_Personne.D_LISTE_PERS.TABLE_PERSONNE.COL_TelFixe (6) +Titre FR: Tél. 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 15 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Personne.D_LISTE_PERS.TABLE_PERSONNE.COL_TelMobile +Titre FR: Tél. 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 15 +Mot de passe Non +Masque saisie FR: 0 +06/08/2026 Isis_BO 1874 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Mode ellipse +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Oui +Retour à la ligne Non +Coche tous dans entête Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Personne.D_LISTE_PERS.TABLE_PERSONNE.COL_Adresse (8) +Titre FR: Adresse +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 Non +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1875 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Colonne de table : FI_Liste_Personne.D_LISTE_PERS.TABLE_PERSONNE.COL_IDRole (9) +Titre FR: Rôle +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 100 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 80 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Personne.D_LISTE_PERS.TABLE_PERSONNE.COL_IDClient +Titre FR: Appartient au client +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 100 +Larg. déroulée perso. Non +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 +06/08/2026 Isis_BO 1876 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Taille de saisie 0 +Mot de passe Non +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Personne.D_LISTE_PERS.TABLE_PERSONNE.MinDateModif +Titre FR: MinDateModif +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 Non +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1877 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Colonne de table : FI_Liste_Personne.D_LISTE_PERS.TABLE_PERSONNE.NbJrsModif (12) +Titre FR: NbJrsModif +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: MoneySystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Personne.D_LISTE_PERS.TABLE_PERSONNE.COL_PKID (13) +Titre FR: PKID +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: +9 999 999 999 999 999 999 +06/08/2026 Isis_BO 1878 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FI_Liste_Personne +Messages multilingues +06/08/2026 Isis_BO 1879 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FI_Liste_Personne +Code des champs +Déclarations globales de FI_Liste_Personne +procédure FI_Liste_Personne(gclPresentationListePersonne est un PTablePersonne dynamique= +Null, paramSupplementaire est un STParamFenetreAppelante=Null)// +//Variable qui contient la call stack à appeler dans les appels de sous fenêtre +maProcMAJObjetRetourPers est une procédure = MAJObjetRetourFI +maProcRefreshObjetPres est une procédure = RefreshObjetPresentation +maProcMAJCriterePerso est une procédure = Null//MAJCriterePerso +//gbEnRechercheLocal est un booléen=faux +gsTriEnCoursPersonne est une chaîne +gstListePerso est un STListePerso +gstCriterePerso est un STCritereListePerso +gnDelai est un entier +LIB_Titre_de_fenêtre_liste_personne = paramSupplementaire.eTypeAppel=Libre ? "Liste des contacts" sinon +paramSupplementaire.sTitreFenetre<>"" ? paramSupplementaire.sTitreFenetre sinon "Liste des contacts" +local + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Code des champs +ListeAffiche(COMBO_ROLE_CONTACT,taInit) +ListeAffiche(COMBO_STATUT_CLIENT,taInit) +ListeAffiche(COMBO_TYPE_CLIENT,taInit) +ListeAffiche(COMBO_SEUIL_AFFICHAGE_CONTACT,taInit) +ListeAffiche(COMBO_PERIODE_AFFICHAGE_CONTACT,taInit) +SelectionValeurCombo(COMBO_SEUIL_AFFICHAGE_CONTACT,1)//INT_LIMITE_LISTE_CONTACT[1]=vrai +SelectionValeurCombo(COMBO_PERIODE_AFFICHAGE_CONTACT,0) +//ZoneRépétéeAjouteLigne(ZR_CRITERE_PERSONNE,"Contacts",vrai) +//ZoneRépétéeAjouteLigne(ZR_CRITERE_PERSONNE,"Sites",Vrai) +//ZoneRépétéeAjouteLigne(ZR_CRITERE_PERSONNE,"Clients",Vrai) +//ZoneRépétéeAjouteLigne(ZR_CRITERE_PERSONNE,"Dossiers",Vrai) +//ZoneRépétéeAjouteLigne(ZR_CRITERE_PERSONNE,"Interventions",Vrai) +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentationListePersonne=Null alors +ChargerSelonAppelant(Vrai,Faux) +// SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.sNomIDAppelant<>"" ALORS +// ChargerSelonAppelant(vrai,Faux) +// +// SINON +// +PTablePersonne.gTHNouvellePresentation(0,maProcRefreshObjetPres)//gclPresentation=PTablePersonne.gNouve +llePresentation(0) +// FIN +//gclPresentation=PTablePersonne.gNouvellePresentation(-1, paramSupplementaire.eTypeAppel<>Libre +_et_ paramSupplementaire.nIdFenetreAppelante<>0 ? paramSupplementaire.nIdFenetreAppelante SINON -1) +fin +Fin d'initialisation de FI_Liste_Personne +InitColonneChampTablePerso(TABLE_PERSONNE,gstListePerso) +si TABLE_PERSONNE..Occurrence>0 alors +TableSelectPlus(TABLE_PERSONNE,1) +fin +Evénement(TriColonne,"TABLE_PERSONNE",1529) +Evénement(DoubleClicLigneTableau,"TABLE_PERSONNE",WM_LBUTTONDBLCLK) +//D_LISTE_PERS..AffichageActif=vrai +//MaFenêtreInterne..AffichageActif=vrai +Demande de mise à jour de l'affichage de FI_Liste_Personne +si gclPresentationListePersonne<>Null _et_ gclPresentationListePersonne est PTablePersonne alors +//Trie l'objet lié au champ TABLE selon le trie effectuée sur ce champ +//TrieObjetChampTableSiBesoin(gclPresentationListePersonne,TABLE_PERSONNE,gsTriEnCoursPersonne) +// mise à jour des champs bindés sur la présentation (compteur par exemple) +//SourceVersEcran("","gclPresentationListePersonne") +//MAJChampTableEtObjet(TABLE_PERSONNE,gclPresentationListePersonne.p_clCourant) +// Gestion de l'accessibilité des boutons +GestionBoutonsEnteteDansListe(GR_MODIFICATION_LISTE_PERSONNE,BTN_ADD_LISTE_CONTACT,BTN_ +SEL_LISTE_CONTACT,TABLE_PERSONNE,paramSupplementaire) +//En demande de MAJ la cellule des totaux peut avoir changé au niveau de la visibilité +//D_LISTE_PERS[5]..Visible = (paramSupplementaire.eTypeAppel<>Libre _ET_ +paramSupplementaire.eTypeAppel=DansChampFI) _OU_ CFI_SOUSELEMENT_LISTE_PERSONNE..Visible ? Faux +SINON Vrai +06/08/2026 Isis_BO 1880 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Code des champs +TABLE_PERSONNE.COL_SEL..Visible = (paramSupplementaire.eTypeAppel<>Libre _et_ +paramSupplementaire.bMultiSelect) +//SI paramSupplementaire.eTypeAppel<>DansFenetre ALORS +FEN_Menu.PriseFocus(VoletDuChamp(D_LISTE_PERS))//FEN_Menu.PriseFocus(MaFenêtreInterne..nom+".FI_Lis +te_Personne") +fin +Clic sur BTN_COLLAPSE_LISTE_CONTACT +D_LISTE_PERS[2]..Visible = Faux +BTN_UNCOLLAPSE_LISTE_CONTACT..Visible=Vrai +MoiMême..Visible = Faux +TABLE_PERSONNE.MinDateModif..Visible = Vrai +Clic sur BTN_UNCOLLAPSE_LISTE_CONTACT +D_LISTE_PERS[2]..Visible = Vrai +BTN_COLLAPSE_LISTE_CONTACT..Visible=Vrai +MoiMême..Visible = Faux +Sélection d'une ligne de COMBO_PERIODE_AFFICHAGE_CONTACT +ChargerSelonAppelant(Faux,Vrai) +Sélection d'une ligne de COMBO_SEUIL_AFFICHAGE_CONTACT +GR_PERIODE_AFFICHAGE_CONTACT..Etat = DonneParametreCombo(MoiMême)="-1" ? Grisé sinon Actif +ChargerSelonAppelant(Faux,Vrai) +Clic sur BTN_ADD_LISTE_CONTACT +//Duplication des paramètres initiaux +stNewParam est STParamFenetreAppelante //= paramSupplementaire +gnDelai=0 +TimeOutDeFermeture() +//La liste est sur l'onglet principale +si paramSupplementaire.eTypeAppel = Libre alors +//Appel de la fiche en dessous de la liste +OuvreFicheDepuisListe(FicheEnAjout,DonneParam(Libre,"FI_Liste_Personne",MoiMême..Nom, +maProcMAJObjetRetourPers),gclPresentationListePersonne,FI_Fiche_Personne,MaFenêtreInterne..Nom, +D_LISTE_PERS,TABLE_PERSONNE,CFI_SOUSELEMENT_LISTE_PERSONNE,GR_IMAGE_OPAQUE_LISTE_PERSONNE,GR_ +HAUTEUR_LISTE_PERSONNE,GR_MODEFORMULAIRE_LISTE_PERSONNE,maProcMAJObjetRetourPers,MoiMême..Nom) +//La liste est dans un champ FI +sinon si paramSupplementaire.eTypeAppel=DansChampFI alors +//Déclaration d'une variable Fiche Personne +pclFichePersonne est une PFichePersonne dynamique +//La liste provient de l'appel sur le bouton ajoute un contact pour un lieu dans une intervention +si paramSupplementaire.sContexteAppelant="BTN_LOUPE_PERS_LIEU_INTERV" alors +//Indique le choix de la méthode d'ajout de contact personnalisé 1 (Ajout d'un contact puis +rattachement au lieu) +paramSupplementaire.pclObjetAppelant.FicheLieu:ListeContact:MethodeCustom = 1 +//Appel et affectation du résultat d'ajout de contact personnalisé en passant l'identifiant +unique du lieu +06/08/2026 Isis_BO 1881 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Code des champs +pclFichePersonne <-paramSupplementaire.pclObjetAppelant.FicheLieu:ListeContact.NouveauCustom( +Vrai,paramSupplementaire.pclObjetAppelant.FicheLieu.m_nPKID) +//pclFichePersonne.m_clAdresse=paramSuppl.pclObjetAppelant.FicheLieu:m_clAdresse +pclFichePersonne.m_nIDAdressePrincipale=paramSupplementaire.pclObjetAppelant.FicheLieu: +m_clAdresse.m_nPKID +//La liste provient de l'appel sur le bouton ajoute un contact pour un client dans une intervention +sinon si paramSupplementaire.sContexteAppelant="BTN_LOUPE_PERS_CLI_INTERV" alors +pclFichePersonne=PFichePersonne.gNouvellePresentation() +//pclFichePersonne.m_clAdresse=paramSupplementaire.pclObjetAppelant.m_clAdresse +pclFichePersonne.m_nIDAdressePrincipale=paramSupplementaire.pclObjetAppelant.FicheClient. +m_nIDAdressePrincipale +pclFichePersonne.m_nIDClient=paramSupplementaire.pclObjetAppelant.FicheClient.m_nPKID +//La liste provient de l'appel sur le bouton Loupe/Recherche un contact pour un lieu dans une +intervention +sinon si paramSupplementaire.sContexteAppelant="BTN_LOUPE_PERS_SITE" alors +//Indique le choix de la méthode d'ajout de contact personnalisé 1 (Ajout d'un contact puis +rattachement au lieu) +paramSupplementaire.pclObjetAppelant.FicheLieu:ListeContact:MethodeCustom = 1 +//Appel et affectation du résultat d'ajout de contact personnalisé en passant l'identifiant +unique du lieu +pclFichePersonne <-paramSupplementaire.pclObjetAppelant.FicheLieu:ListeContact.NouveauCustom( +Vrai,paramSupplementaire.pclObjetAppelant.FicheLieu.m_nPKID) +//pclFichePersonne.m_clAdresse=paramSuppl.pclObjetAppelant.FicheLieu:m_clAdresse +pclFichePersonne.m_nIDAdressePrincipale=paramSupplementaire.pclObjetAppelant.FicheLieu: +m_clAdresse.m_nPKID +fin +nIdIntervention est un entier sur 8 octets=paramSupplementaire.pclObjetAppelant.m_nPKID +// SI paramSupplementaire.sNomIDAppelant="InterventionLieuPersonne" ALORS +// +DonneParam(DansFenetre,"FI_Liste_Personne",MoiMême..Nom,maProcMAJObjetRetourPers,*,"AddIntervLieuPerson +ne",paramSupplementaire.pclObjetAppelant.FicheLieu.m_nPKID,pclFichePersonne) +// SINON +stNewParam = DonneParam(DansFenetre,"FI_Liste_Personne",MoiMême..Nom,maProcMAJObjetRetourPers,* +,*,*,pclFichePersonne) +//FIN +nRetour est un entier = Ouvre(FEN_ChoixFenetreInterne,"FI_Fiche_Personne",stNewParam) +si paramSupplementaire.sNomIDAppelant="InterventionClientPersonne" alors +gclPresentationListePersonne=PTablePersonne.gNouvellePresentation(5,paramSupplementaire.pcl +ObjetAppelant.m_nIDClient,nIdIntervention=0 ? -1 sinon nIdIntervention) +//Recherche de la personne ajoutée +nIndice est un entier = TableauCherche(gclPresentationListePersonne.m_clTabModele,tcLinéaire, +"m_nPKID",stNewParam.pclObjetAppelant:m_nPKID,1) +si nIndice>0 alors +//Sélection par défaut de la nouvelle personne +gclPresentationListePersonne.m_clTabModele[nIndice]:m_bSelection = Vrai +fin +sinon si paramSupplementaire.sNomIDAppelant="InterventionLieuPersonne" alors +06/08/2026 Isis_BO 1882 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Code des champs +//Rechargement de la liste suivant le contexte +gclPresentationListePersonne=PTablePersonne.gNouvellePresentation(4,paramSupplementaire.pcl +ObjetAppelant.FicheLieu.m_nPKID,nIdIntervention=0 ? -1 sinon nIdIntervention) +//Recherche de la personne ajoutée +nIndice est un entier = TableauCherche(gclPresentationListePersonne.m_clTabModele,tcLinéaire, +"m_nPKID",stNewParam.pclObjetAppelant:m_nPKID,1) +si nIndice>0 alors +//Sélection par défaut de la nouvelle personne +gclPresentationListePersonne.m_clTabModele[nIndice]:m_bSelection = Vrai +fin +fin +//Fermeture par Timer +si nRetour=-1 alors +gnDelai=1 +TimeOutDeFermeture() +fin +DemandeMiseAJourIHM() +fin +//SI paramSupplementaire.eTypeAppel<>Libre ALORS +// pclFichePersonne est une pfichepersonne dynamique +// SI paramSupplementaire.sContexteAppelant="BTN_AJOUTE_CONTACT_LIEU_INTERVENTION" alors +// paramSupplementaire.pclObjetAppelant.FicheLieu:ListeLieuPersonne:MethodeCustom = 1 +// +// +pclFichePersonne +<-paramSupplementaire.pclObjetAppelant.FicheLieu:ListeLieuPersonne.NouveauCustom(Vrai,paramSupplementai +re.pclObjetAppelant.FicheLieu.m_nPKID) +// pclFichePersonne.m_clAdresse=paramSupplementaire.pclObjetAppelant.FicheLieu:m_clAdresse +// +pclFichePersonne.m_nIDAdressePrincipale=paramSupplementaire.pclObjetAppelant.FicheLieu:m_clAdresse.m_nP +KID +// // +SI paramSupplementaire.sContexteAppelant="BTN_AJOUTE_CONTACT_CLIENT_INTERVENTION" ALORS +// // pclFichePersonne.m_nIDClient=paramSupplementaire.pclObjetAppelant.m_nIDClient +// // FIN +// sinon +// si paramSupplementaire.eTypeAppel<>DansFenetre alors +// pclFichePersonne=pfichepersonne.gNouvellePresentation() +// pclFichePersonne.m_clAdresse=paramSupplementaire.pclObjetAppelant.FicheLieu:m_clAdresse +// +pclFichePersonne.m_nIDAdressePrincipale=paramSupplementaire.pclObjetAppelant.FicheLieu:m_clAdresse.m_nP +KID +// pclFichePersonne.m_nIDClient=paramSupplementaire.pclObjetAppelant.m_nIDClient +// sinon +// pclFichePersonne=PFichePersonne.gNouvellePresentation() +// pclFichePersonne.m_clAdresse=paramSupplementaire.pclObjetAppelant.m_clAdresse +// +pclFichePersonne.m_nIDAdressePrincipale=paramSupplementaire.pclObjetAppelant.m_nIDAdressePrincipale +// pclFichePersonne.m_nIDClient=paramSupplementaire.pclObjetAppelant.m_nIDClient +// fin +// +// fin +// +// +// nIdIntervention est un entier sur 8 octets=paramSupplementaire.pclObjetAppelant.m_nPKID +// paramSupplementaire.pclObjetAppelant=pclFichePersonne +// paramSupplementaire.eTypeAppel=DansFenetre +// paramSupplementaire.sTitreFenetre="Création du contact" +// Ouvre(FEN_ChoixFenetreInterne,"FI_Fiche_Personne",paramSupplementaire) +06/08/2026 Isis_BO 1883 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Code des champs +// SI paramSupplementaire.sContexteAppelant="BTN_AJOUTE_CONTACT_CLIENT_INTERVENTION" alors +// +gclPresentation=PTablePersonne.gNouvellePresentation(5,paramSupplementaire.pclObjetAppelant.m_nIDClient +,nIdIntervention=0 ? -1 SINON nIdIntervention) +// sinon +// +gclPresentation=PTablePersonne.gNouvellePresentation(4,paramSupplementaire.pclObjetAppelant.m_nIdLie,nI +dIntervention=0 ? -1 SINON nIdIntervention) +// fin +// DemandeMiseAJourIHM() +//sinon +// //paramSupplementaire.eTypeAppel = Libre +// paramSuppl est STParamFenetreAppelante = paramSupplementaire +// paramSuppl.eTypeAppel = Libre +// +OuvreFicheDepuisListe(FicheEnAjout,paramSuppl,gclPresentation,FI_Fiche_Personne,MaFenêtreInterne..Nom,D +ISP_LISTE,TABLE,CFI_SOUSELEMENT,IMG_OPACITE_ENTETE,IMG_OPACITE_TABLE,GR_MODEFORMULAIRE,maProcMAJObjetRe +tourFI,MoiMême..Nom) +// //OuvreFichePersonne(FicheEnAjout) +// //SI paramSupplementaire.eTypeAppel=DansChampFI ALORS +// // ChangeFenêtreSource(MaFenêtreInterne..Nom,FI_Fiche_Personne,*,DonneParam(paramSupplementaire)) +// //SINON +// // clPresentationFiche est un PFichePersonne<-gclPresentation.Nouveau(Faux,0) +// // //FEN_Test_menu.OuvreOuActive(FI_Fiche_Personne,"Fiche personne",clPresentationFiche) +// // FEN_Menu.OuvreOuActive(FI_Fiche_Personne,"Fiche personne",clPresentationFiche) +// //FIN +//fin +Clic sur BTN_AVANCEE_CONTACT +//,DonneParam(DansFenetre,"FI_Liste_Dossier",MoiMême..Nom,maProcMAJObjetRetourListDossier,"","",*,pclTa +bSoc,Vrai) +OuvrePopupPosition(FEN_Choix_Colonne_Et_Tri,poHaut,4,TABLE_PERSONNE,gstListePerso)//ChargementSQL() +nIndiceRupt est un entier +nIndiceRuptsvg est un entier +pour toute ligne de TABLE_PERSONNE +nIndiceRupt = TableIndiceRupture(TABLE_PERSONNE.RUPT_H_MinDateModif_Contact,TABLE_PERSONNE) +si nIndiceRuptsvg<>nIndiceRupt alors +nIndiceRuptsvg = nIndiceRupt +TABLE_PERSONNE[nIndiceRupt].LIB_DATEMODIF_CONTACT = TABLE_PERSONNE[TABLE_PERSONNE].MinDateModif +TableAffiche(TABLE_PERSONNE,taCourantBandeau) +fin +fin +Clic sur BTN_CLOSE_LISTE_CONTACT +si paramSupplementaire.eTypeAppel dans (DansChampFI,DansFenetre) alors +AppelProcFenetreAppelante(gclPresentationListePersonne,paramSupplementaire,Faux,Vrai) +fin +si paramSupplementaire.eTypeAppel=DansChampFI alors +//SI paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,Null) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon si paramSupplementaire.eTypeAppel=DansFenetre alors +//SI paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,Null) +06/08/2026 Isis_BO 1884 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Code des champs +clModele est un MPersonne +Ferme(FEN_ChoixFenetreInterne,clModele) +sinon +FermeVoletEtActiveLePrecedent(VoletDuChamp(D_LISTE_PERS)) +fin +Clic sur BTN_DEL_LISTE_CONTACT +si ChargeLigneSelectionnee(COL_SEL..Visible) alors +si OuiNon("Confirmez vous la suppression ?")=Non alors +retour +fin +clErreur est un CErreur +clFicheContact est un PFichePersonne(gclPresentationListePersonne:p_clCourant,*) +si pas clFicheContact:bControle(clErreur,Vrai) alors +Erreur("Suppression impossible",clErreur.FormateMessage()) +sinon si pas gclPresentationListePersonne.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +nIndice est un entier=TableSelect(TABLE_PERSONNE) +TableSupprime(TABLE_PERSONNE,nIndice) +// SI nIndice>1 _ET_ nIndice=TableOccurrence(TABLE_PERSONNE) ALORS +// TableSelectPlus(TABLE_PERSONNE,nIndice-1) +// FIN +DemandeMiseAJourIHM() +fin +fin +Clic sur BTN_EDT_LISTE_CONTACT +gnDelai=0 +TimeOutDeFermeture() +//La liste est sur l'onglet principale +si paramSupplementaire.eTypeAppel = Libre //_ET_ gclPresentationListePersonne.p_clCourant<>Null ALORS +//OuvreFicheDepuisListe(FicheEnModification,DonneParam(Libre,"FI_Liste_Personne",MoiMême..Nom,maPro +cMAJObjetRetourPers),gclPresentationListePersonne,FI_Fiche_Personne,MaFenêtreInterne..Nom,DISP_LIST +E_PERSONNE,TABLE_PERSONNE,CFI_SOUSELEMENT_LISTE_PERSONNE, +GR_IMAGE_OPAQUE_LISTE_PERSONNE,GR_HAUTEUR_LISTE_PERSONNE,GR_MODEFORMULAIRE_LISTE_PERSONNE,maProcMAJ +ObjetRetourPers,MoiMême..Nom) +DoubleClicLigneTableau() +//La liste est dans un champ FI +sinon si paramSupplementaire.eTypeAppel=DansChampFI _et_ ChargeLigneSelectionnee(COL_SEL..Visible) +//gclPresentationListePersonne.p_clCourant<>Null ALORS +stNewParam est un STParamFenetreAppelante +stNewParam = DonneParam(DansFenetre,"FI_Liste_Personne",MoiMême..Nom,maProcMAJObjetRetourPers,"",*, +*,gclPresentationListePersonne.Modifier(),*) +nRetour est un entier = Ouvre(FEN_ChoixFenetreInterne,"FI_Fiche_Personne",stNewParam) +//Fermeture par Timer +si nRetour=-1 alors +gnDelai=1 +TimeOutDeFermeture() +fin +DemandeMiseAJourIHM() +fin +Clic sur BTN_GOMMER_CONTACT +06/08/2026 Isis_BO 1885 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Code des champs +RAZ(GR_CRITERE_LISTECONTACT) +//ListeSupprimeTout(COMBO_ETAT_INTERV) +//COMBO_ETAT_INTERV..Bulle="" +//TableauSupprimeTout(pclTabEtat:m_clTabModele) +//TableauSupprimeTout(pclTabEtat:m_clTabVisible) +//ListeSupprimeTout(COMBO_SOCIETE_INTERV) +//COMBO_SOCIETE_INTERV..Bulle="" +//TableauSupprimeTout(pclTabSoc:m_clTabModele) +SelectionValeurCombo(COMBO_SEUIL_AFFICHAGE_CONTACT,1)//INT_LIMITE_LISTE_CONTACT[1]=vrai +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +Clic sur BTN_RECHERCHE_CONTACT +bCocheContexteLieu est un booléen = INT_CODE_LIEU_et_ SAI_CODE_LIEU<>"" _et_ +paramSupplementaire.sNomIDAppelant="InterventionLieuPersonne" +bCocheContexteClient est un booléen = INT_CLIENT _et_ SAI_CLIENT<>"" _et_ paramSupplementaire.s +NomIDAppelant="InterventionClientPersonne" +si bCocheContexteLieu alors +INT_CODE_LIEU=Faux +fin +si bCocheContexteClient alors +INT_CLIENT=Faux +fin +si gpclFicheUtilisateurEnCours<>Null _et_ gpclFicheUtilisateurEnCours:ListeParametreUtilisateur<>Null +alors +//Récupération des critère dans un tableau +RecupCriterePerso(GR_CRITERE_LISTECONTACT,gstCriterePerso,maProcMAJCriterePerso) +//Sauvegarde des critères en base +gpclFicheUtilisateurEnCours:MAJCritereListePerso(4,gstCriterePerso) +fin +si bCocheContexteLieu alors +INT_CODE_LIEU=Vrai +fin +si bCocheContexteClient alors +INT_CLIENT=Vrai +fin +//Execution des critères +ChargerSelonAppelant(Faux,Vrai) +//Application des tris +InitTriChampTablePerso(TABLE_PERSONNE,gstListePerso) +Clic sur BTN_SEL_LISTE_CONTACT +si paramSupplementaire.eTypeAppel dans (DansChampFI,DansFenetre) alors +AppelProcFenetreAppelante(gclPresentationListePersonne,paramSupplementaire,Vrai,Vrai) +fin +si paramSupplementaire.eTypeAppel=DansChampFI alors +// SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +// SI paramSupplementaire.bMultiSelect ALORS +// +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationListePersonne) +// SINON +// pclPresentationFiche est un PFichePersonne dynamique +// pclPresentationFiche <- gclPresentationListePersonne.Modifier() +// +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,pclPresentationFiche) +// FIN +// +06/08/2026 Isis_BO 1886 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Code des champs +// FIN +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon si paramSupplementaire.eTypeAppel=DansFenetre alors +// SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +// SI paramSupplementaire.bMultiSelect ALORS +// +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationListePersonne) +// SINON +// pclPresentationFiche est un PFichePersonne dynamique +// pclPresentationFiche <- gclPresentationListePersonne.Modifier() +// +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,pclPresentationFiche) +// FIN +// +// FIN +Ferme(FEN_ChoixFenetreInterne) +fin +Sortie de COMBO_STATUT_CLIENT +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CONTACT) +Sélection d'une ligne de COMBO_STATUT_CLIENT +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +Sélection d'une ligne de COMBO_TYPE_CLIENT +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +A chaque modification de INT_CLIENT +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +A chaque modification de INT_CODE_COMPTABLE +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +A chaque modification de INT_STATUT_CLIENT +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +A chaque modification de INT_TYPE_CLIENT +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +Sortie de SAI_CLIENT +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CONTACT) +A chaque modification de SAI_CLIENT +MAJCocheCritere(MoiMême) +06/08/2026 Isis_BO 1887 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Code des champs +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +Sortie de SAI_CODE_COMPTABLE +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CONTACT) +A chaque modification de SAI_CODE_COMPTABLE +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +Sortie de COMBO_ROLE_CONTACT +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CONTACT) +Sélection d'une ligne de COMBO_ROLE_CONTACT +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +A chaque modification de INT_EMAIL_CONTACT +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +A chaque modification de INT_NOM_CONTACT +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +A chaque modification de INT_ROLE_CONTACT +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +A chaque modification de INT_TELS_CONTACT +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +Sortie de SAI_EMAIL_CONTACT +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CONTACT) +A chaque modification de SAI_EMAIL_CONTACT +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +Sortie de SAI_NOM_CONTACT +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CONTACT) +A chaque modification de SAI_NOM_CONTACT +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +Sortie de SAI_TELS_CONTACT +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CONTACT) +A chaque modification de SAI_TELS_CONTACT +06/08/2026 Isis_BO 1888 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Code des champs +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +A chaque modification de INT_ADRESSE_SITE +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +A chaque modification de INT_CODE_LIEU +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +A chaque modification de INT_CODEPOSTAL_SITE +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +A chaque modification de INT_VILLE_SITE +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +Sortie de SAI_ADRESSE_SITE +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CONTACT) +A chaque modification de SAI_ADRESSE_SITE +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +Sortie de SAI_CODE_LIEU +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CONTACT) +A chaque modification de SAI_CODE_LIEU +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +Sortie de SAI_CODEPOSTAL_SITE +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CONTACT) +A chaque modification de SAI_CODEPOSTAL_SITE +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +Sortie de SAI_VILLE_SITE +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CONTACT) +A chaque modification de SAI_VILLE_SITE +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +Sortie d'une ligne de TABLE_PERSONNE +//// si la table n'a pas été modifiée, il ne faut rien faire +06/08/2026 Isis_BO 1889 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Code des champs +//SI TABLE_PERSONNE..Modifié=Faux ALORS +// RETOUR +//FIN +// +//clErr est un CErreur +//pclPresentationFiche est un PFichePersonne dynamique +// +//// ajout d'une nouvelle ligne +//SI TABLE_PERSONNE..Nouveau ALORS +// pclPresentationFiche<-gclPresentationListePersonne.Nouveau(Faux,0) +//// modification d'une ligne existante +//SINON +// pclPresentationFiche<-gclPresentationListePersonne.Modifier() +//FIN +// +////gpclFichePersonneSelect = pclPresentationFiche +//// sauvegarde de la table +//TableEnregistre(TABLE_PERSONNE,pclPresentationFiche) +// +//// traitement des erreurs +//si pas pclPresentationFiche.bOK(clErr) alors//PAS pclPresentationFiche.bOK(clErr,Vrai,Faux) +// Erreur(clErr.FormateMessage()) +//FIN +// +//// repasse la table en non modifiée +//TABLE_PERSONNE..Modifié=Faux +Sélection d'une ligne de TABLE_PERSONNE +//SI TABLE_PERSONNE..Nouveau ALORS +// gclPresentationListePersonne.p_clCourant=Null +//SINON +// gclPresentationListePersonne.p_clCourant=TABLE_PERSONNE +// +// //gpclFichePersonneSelect <-gclPresentation.Modifier() +//FIN +DemandeMiseAJourIHM() +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_PERSONNE +DoubleClicLigneTableau() +//ExécuteTraitement(BTN_Modifier_liste_personne,trtClic) +Touche appuyée (WM_CHAR) de TABLE_PERSONNE +nTouche est un entier = 0x0d +// Vérifie si la touche dont le code virtuel est 0x0d a été appuyée +si ToucheEnfoncée(nTouche) _ou_ _EVE.wParam = nTouche alors +// Insérer ici le traitement à effectuer +DoubleClicLigneTableau() +fin +Roulette souris (WM_MOUSEWHEEL) sur TABLE_PERSONNE +si TABLE_PERSONNE..Etat=Grisé alors +renvoyer 0 +fin +A chaque modification de COL_SEL ( TABLE_PERSONNE ) +06/08/2026 Isis_BO 1890 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Code des champs +si COL_SEL alors +ChargeLigneSelectionnee(Vrai) +sinon +DechargeLigneSelectionnee(Vrai) +fin +Affichage d'une ligne de RUPT_H_MinDateModif_Contact ( TABLE_PERSONNE ) +TABLE_PERSONNE[TABLE_PERSONNE].LIB_DATEMODIF_CONTACT = TABLE_PERSONNE[TABLE_PERSONNE].MinDateModif +Sortie de SAI_CodeContact +//SI MoiMême..ValeurAffichée<>"" _et_ gbEnRechercheLocal ALORS +// gbEnRechercheLocal = faux +// +nPKID est un entier sur 8 octets = +val(ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"[",DepuisDébut),1,"]")) +// SI nPKID>0 ALORS +// gclPresentationListePersonne=PTablePersonne.gNouvellePresentation(0,-1,-1,nPKID) +// +// SINON +// +SI +ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"---",DepuisDébut),1,"---",DepuisFin)=ChaîneFormate("Aucu +n résultat",ccMajuscule) ALORS +// MoiMême="" +// SaisieAssistéeSupprimeTout(MoiMême) +// ExécuteTraitement(MoiMême,trtModification) +// SINON +// +gclPresentationListePersonne=PTablePersonne.gNouvellePresentation(0,-1,-1,-1,MoiMême..ValeurAffichée) +// FIN +// FIN +// SI nPKID>0 ALORS +// MoiMême = ExtraitChaîne(MoiMême,2," [",DepuisFin) +// FIN +// DonneFocus(BTN_Fermer_liste_personne) +// DemandeMiseAJourIHM() +// //EnregistreFiche() +// //Enchainement des actions suite au choix du lieu comme si l'utilisateur avait cliqué sur la loupe +// //GestionEnchainement(BTN_LOUPE_LIEU,"") +//FIN +A chaque modification de SAI_CodeContact +//gbEnRechercheLocal = vrai +TH_SuspendThread("ListePersonneGlobal") +si MoiMême..ValeurAffichée<>"" alors +//ModifZoneSaisieAssistee(MoiMême,2,faux,"","") +Sablier(Vrai) +si Taille(SAI_CodeContact..ValeurAffichée)> 2 alors +//Chargement liste des Contacts trouvés +pclListeRechercheContact est une PTablePersonne dynamique +pclListeRechercheContact=PTablePersonne.gNouvellePresentation(7,SAI_CodeContact) +si pclListeRechercheContact.m_clTabModele..Occurrence<1 alors +06/08/2026 Isis_BO 1891 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Code des champs +// Info("Aucun résultat trouvé pour cette recherche") +TableauSupprimeTout(gclPresentationListePersonne.m_clTabModele) +DemandeMiseAJourIHM() +retour +sinon +gclPresentationListePersonne=pclListeRechercheContact +DemandeMiseAJourIHM() +fin +fin +Sablier(Faux) +sinon +ChargerSelonAppelant(Faux,Faux)//PTablePersonne.gTHNouvellePresentation(0,maProcRefreshObjetPres) +, bTous) +//DemandeMiseAJourIHM() +fin +Sélection d'une valeur dans la liste de saisie assistée de SAI_CodeContact +ExécuteTraitement(MoiMême,trtSortie) +FI_Liste_Personne +Procédures +Procédure locale ActiveEvenement +// Résumé : +// Syntaxe : +// ActiveEvenement () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ActiveEvenement() +Evénement(SurActivite, "*.*", WM_LBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_RBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_MBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_MOUSEMOVE) +Evénement(SurActivite, "*.*", WM_KEYDOWN) +Procédure locale ChargeLigneSelectionnee +// Résumé : +// Syntaxe : +//[ = ] ChargeLigneSelectionnee ( est booléen) +// +// Paramètres : +06/08/2026 Isis_BO 1892 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Procédures +// bMultiSelect (booléen) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargeLigneSelectionnee(local bMultiSelect est un booléen) +bResultat est un booléen +si pas bMultiSelect alors +si COL_PKID>0 alors +gclPresentationListePersonne = PTablePersonne.gNouvellePresentation(8,COL_PKID) +fin +si gclPresentationListePersonne:p_nTotal=1 alors +gclPresentationListePersonne:p_clCourant = gclPresentationListePersonne:m_clTabModele[1] +fin +bResultat = gclPresentationListePersonne.p_clCourant<>Null +sinon +gclPresentationListeContactTemp est un PTablePersonne dynamique +si COL_PKID>0 alors +gclPresentationListeContactTemp = PTablePersonne.gNouvellePresentation(8,COL_PKID) +fin +si gclPresentationListeContactTemp:p_nTotal=1 alors +gclPresentationListeContactTemp:m_clTabModele[1]:m_bSelection= Vrai +nIndice est un entier = gclPresentationListePersonne.m_clTabModele.Ajoute( +gclPresentationListeContactTemp:m_clTabModele[1]) +si nIndice>0 alors +bResultat = Vrai +gclPresentationListePersonne.p_clCourant = gclPresentationListePersonne.m_clTabModele[ +nIndice] +sinon +bResultat = Faux +fin +fin +fin +renvoyer bResultat +Procédure locale ChargementSQL +// Résumé : +// Syntaxe : +// ChargementSQL () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargementSQL(*) +// vide le tableau +TableSupprimeTout(TABLE_PERSONNE) +ReqSQL est une chaîne +sCR est une chaîne +sExistContact est une chaîne = +"SELECT 1 FROM Lieu INNER JOIN Lieu_Personne ON (LIP_IDLieu=LI_PKID) WHERE LIP_IDPersonne=%1 %2" +sExistAdrSite est une chaîne = +"SELECT 1 FROM Adresse INNER JOIN Lieu ON (LI_IDAdresse=AD_PKID) INNER JOIN Lieu_Personne ON +(LIP_IDLieu=LI_PKID) WHERE LIP_IDPersonne=%1 %2" +sExistClient est une chaîne = "SELECT 1 FROM Client WHERE CL_PKID=%1 %2" +06/08/2026 Isis_BO 1893 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Procédures +sdListeClient est une Source de Données +nTop est un entier = Val(DonneParametreCombo(COMBO_SEUIL_AFFICHAGE_CONTACT)) +si nTop>0 alors +ReqSQL=ChaîneConstruit("SELECT DISTINCT TOP %1 ",nTop) +sinon +ReqSQL="SELECT DISTINCT " +fin +// récupération des données +//ReqSQL est une Requête SQL = +ReqSQL+=[ +Personne.PE_PKID +,Personne.PE_IDCivilite +,Personne.PE_Nom +,Personne.PE_Prenom +,Personne.PE_TelFixe +,Personne.PE_TelMobile +,Personne.PE_Email +,Personne.PE_IDRole +,Personne.PE_IDClient +,CAST(Personne.ModifDate AS DATE) AS MinDateModif +,WL.Val(WL.DuréeVersChaîne(WL.ChaîneVersDurée (WL.DateHeureDifférence ( CAST(Personne.ModifDate AS +DATE), WL.DateHeureSys() ),'+JHHMMSSLL'),'+J')) AS NbJours +] +ReqSQL+=[ +FROM Personne +] +si INT_CODE_LIEU _et_ SAI_CODE_LIEU<>"" _et_ MesParamètres..Occurrence>=1 _et_ MesParamètres[1]= +"InterventionLieuPersonne" _et_ MesParamètres[2]>0 _et_ MesParamètres[3]>0 alors +ReqSQL+=" LEFT OUTER JOIN Lieu_Personne ON (LIP_IDPersonne=PE_PKID)" +//" LEFT OUTER JOIN Intervention_Personne ON +(Intervention_Personne.IP_IDPersonne=Personne.PE_PKID)" +ReqSQL+=" LEFT OUTER JOIN ParametreMetier ON (ParametreMetier.PA_PKID=Personne.PE_IDRole)" +fin +si INT_CLIENT _et_ SAI_CLIENT<>"" _et_ MesParamètres..Occurrence>=1 _et_ MesParamètres[1]= +"InterventionClientPersonne" _et_ MesParamètres[2]>0 _et_ MesParamètres[3]>0 alors +//ReqSQL+=" LEFT OUTER JOIN Intervention_Personne ON +(Intervention_Personne.IP_IDPersonne=Personne.PE_PKID)" +ReqSQL+=" LEFT OUTER JOIN ParametreMetier ON (ParametreMetier.PA_PKID=Personne.PE_IDRole)" +fin +// FROM Intervention +// INNER JOIN Dossier ON (DO_PKID=IN_IDDossier) +// LEFT OUTER JOIN Client ON (Client.CL_PKID=Dossier.DO_IDClient) +// LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Intervention.IN_IDLieu) +// LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +// +//] +ReqSQL+=[ +WHERE 1=1 +] +//sCR+=CritereHF(opt1,ch1,Affaires.AF_Nom..Nom,tfMilieutexte) +//sListeEtat est une chaine +//sListeSociete est une chaine +//SI pclTabEtat<>Null _et_ pclTabEtat:p_nTotal>0 ALORS +// POUR I = 1 _À_ pclTabEtat:p_nTotal +// sListeEtat +=[","]+ pclTabEtat:m_clTabModele[I]:m_nPKID +06/08/2026 Isis_BO 1894 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Procédures +// FIN +//SINON +// sListeEtat = "" +//FIN +// +//SI pclTabSoc<>Null _ET_ pclTabSoc:p_nTotal>0 ALORS +// POUR I = 1 _À_ pclTabSoc:p_nTotal +// +// sListeSociete +=[","]+ pclTabSoc:m_clTabModele[i]:m_nPKID +// +// FIN +//SINON +// sListeSociete="" +//FIN +//sCR+=CritereHF(INT_NUMDOSSIER ,SAI_NUMDOSSIER ,Dossier.DO_RefInterne..Nom +,tfFinTexte) +//sCR+=CritereHF(INT_CLIENT ,SAI_CLIENT ,Client.CL_Nom..Nom +,tfMilieutexte) +//sCR+=CritereHF(INT_CODE_COMPTABLE ,SAI_CODE_COMPTABLE ,Client.CL_CodeComptable..Nom +,tfMilieutexte) +//sCR+=CritereHF(INT_TYPE_CLIENT ,COMBO_TYPE_CLIENT ,Client.CL_IDType..Nom +,tfNumerique) +//sCR+=CritereHF(INT_STATUT_CLIENT ,COMBO_STATUT_CLIENT ,Client.CL_IDStatut..Nom +,tfNumerique) +//sCR+=CritereHF(INT_NUMINTERV ,SAI_NUMINTERV ,Intervention.IN_RefInterne..Nom +,tfFinTexte) +//sCR+=CritereHF(INT_SUIVI_PAR ,COMBO_SUIVI_PAR ,Intervention.IN_IDSuiviPar..Nom +,tfNumerique) +//sCR+=CritereHF(INT_REFEXT_INTERV ,SAI_REFEXT_INTERV ,Intervention.IN_RefExterne..Nom +,tfMilieutexte) +//sCR+=CritereHF(INT_TYPE_INTERVENTION ,COMBO_TYPE_INTERVENTION,Intervention.IN_IDTypeIntervention..Nom +,tfNumerique) +//sCR+=CritereHF(INT_DESCRIPTION ,SAI_DESCRIPTION ,Intervention.IN_Description..Nom +,tfMilieutexte) +//sCR+=CritereHF(INT_SOCIETE_INTERV ,sListeSociete ,Intervention.IN_IDSociete..Nom +,tfDansListe)//sCR+=CritereHF(INT_SOCIETE ,COMBO_Societe +,Intervention.IN_IDSociete..Nom ,tfNumerique) +//sCR+=CritereHF(INT_ETAT_INTERVENTION ,sListeEtat +,Intervention.IN_IDEtatIntervention..Nom ,tfDansListe) +//sCR+=CritereHF(INT_DATE_INTERV_DU ,SAI_DATE_INTERV_DU +,Intervention..Nom+"."+Intervention.CreationDate..Nom ,tfPeriodelarge ,"",SAI_DATE_INTERV_AU) +// +sCR+=CritereHF(INT_NOM_CONTACT ,SAI_NOM_CONTACT ,Personne.PE_Nom..Nom +,tfMilieutexte) +sCR+=INT_TELS_CONTACT ? Remplace(CritereHF(INT_TELS_CONTACT ,SAI_TELS_CONTACT ,Personne. +PE_TelFixe..Nom ,tfMilieutexte),"AND ","AND ( ")+Remplace(CritereHF(INT_TELS_CONTACT,SAI_TELS_CONTACT, +Personne.PE_TelMobile..Nom,tfMilieutexte),"AND "," OR ")+") " sinon "" +sCR+=CritereHF(INT_EMAIL_CONTACT ,SAI_EMAIL_CONTACT ,Personne.PE_Email..Nom +,tfMilieutexte) +sCR+=CritereHF(INT_ROLE_CONTACT ,COMBO_ROLE_CONTACT ,Personne.PE_IDRole..Nom +,tfNumerique) +sCR+=CritereHF(INT_CLIENT ,SAI_CLIENT ,Personne.PE_IDClient..Nom +,tfExiste ,ChaîneConstruit(sExistClient ,Personne.PE_IDClient..Nom,CritereHF(INT_CLIENT +,SAI_CLIENT ,Client.CL_Nom..Nom,tfMilieutexte))) +sCR+=CritereHF(INT_TYPE_CLIENT ,COMBO_TYPE_CLIENT ,Personne.PE_IDClient..Nom +,tfExiste ,ChaîneConstruit(sExistClient ,Personne.PE_IDClient..Nom,CritereHF(INT_TYPE_CLIENT +,COMBO_TYPE_CLIENT ,Client.CL_IDType..Nom,tfNumerique))) +sCR+=CritereHF(INT_STATUT_CLIENT ,COMBO_STATUT_CLIENT ,Personne.PE_IDClient..Nom +,tfExiste ,ChaîneConstruit(sExistClient ,Personne.PE_IDClient..Nom,CritereHF(INT_STATUT_CLIENT +,COMBO_STATUT_CLIENT,Client.CL_IDStatut..Nom,tfNumerique))) +sCR+=CritereHF(INT_CODE_COMPTABLE ,SAI_CODE_COMPTABLE ,Personne.PE_IDClient..Nom +,tfExiste ,ChaîneConstruit(sExistClient ,Personne.PE_IDClient..Nom,CritereHF(INT_CODE_COMPTABLE +,SAI_CODE_COMPTABLE ,Client.CL_CodeComptable..Nom,tfMilieutexte))) +06/08/2026 Isis_BO 1895 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Procédures +sCR+=CritereHF(INT_CODE_LIEU ,SAI_CODE_LIEU ,Personne.PE_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistContact,Personne.PE_PKID..Nom,CritereHF(INT_CODE_LIEU , +SAI_CODE_LIEU ,Lieu.LI_CodeLieu..Nom ,tfMilieutexte))) +sCR+=CritereHF(INT_ADRESSE_SITE ,SAI_ADRESSE_SITE ,Personne.PE_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistAdrSite,Personne.PE_PKID..Nom,CritereHF(INT_ADRESSE_SITE , +SAI_ADRESSE_SITE ,Adresse.AD_Presentation..Nom ,tfMilieutexte))) +sCR+=CritereHF(INT_CODEPOSTAL_SITE ,SAI_CODEPOSTAL_SITE ,Personne.PE_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistAdrSite,Personne.PE_PKID..Nom,CritereHF(INT_CODEPOSTAL_SITE, +SAI_CODEPOSTAL_SITE,Adresse.AD_CodePostal..Nom ,tfMilieutexte))) +sCR+=CritereHF(INT_VILLE_SITE ,SAI_VILLE_SITE ,Personne.PE_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistAdrSite,Personne.PE_PKID..Nom,CritereHF(INT_VILLE_SITE , +SAI_VILLE_SITE ,Adresse.AD_Ville..Nom ,tfMilieutexte))) +si INT_CODE_LIEU _et_ SAI_CODE_LIEU<>"" _et_ MesParamètres..Occurrence>=2 _et_ MesParamètres[1]= +"InterventionLieuPersonne" _et_ MesParamètres[2]>0 _et_ MesParamètres[3]>0 alors +sCR+=CritereHF(1,MesParamètres[2],Lieu_Personne.LIP_IDLieu..Nom,tfNumerique) +sNotExists est une chaîne=[ +SELECT 1 FROM Intervention_Personne +WHERE Intervention_Personne.IP_IDLieu=Lieu_Personne.LIP_IDLieu +AND Intervention_Personne.IP_IDPersonne=Lieu_Personne.LIP_IDPersonne +AND Intervention_Personne.IP_IDIntervention=%1 +] +sCR+=CritereHF(1,MesParamètres[3],"",tfExistePas,ChaîneConstruit(sNotExists,MesParamètres[3])) +sCR+=" AND (ParametreMetier.PA_PKID IS NULL OR LEFT(ParametreMetier.PA_Valeur,1) IN ('*','S'))" +fin +si INT_CLIENT _et_ SAI_CLIENT<>"" _et_ MesParamètres..Occurrence>=2 _et_ MesParamètres[1]= +"InterventionClientPersonne" _et_ MesParamètres[2]>0 _et_ MesParamètres[3]>0 alors +sNotExists est une chaîne=[ +SELECT 1 FROM Intervention_Personne +WHERE Intervention_Personne.IP_IDClient=Personne.PE_IDClient +AND Intervention_Personne.IP_IDPersonne=Personne.PE_PKID +AND Intervention_Personne.IP_IDIntervention=%1 +] +sCR+=CritereHF(1,MesParamètres[3],"",tfExistePas,ChaîneConstruit(sNotExists,MesParamètres[3])) +sCR+=" AND (ParametreMetier.PA_PKID IS NULL OR LEFT(ParametreMetier.PA_Valeur,1) IN ('*','C'))" +//sCR+=CritereHF(1,MesParamètres[2],Intervention_Personne.IP_IDClient..Nom,tfNumerique) +//sCR+=CritereHF(1,MesParamètres[3],Intervention_Personne.IP_IDIntervention..Nom,tfNumerique) +fin +ReqSQL+=sCR +si sCR="" _et_ COMBO_PERIODE_AFFICHAGE_CONTACT..Etat=Actif alors +// ReqSQL+=[ +// AND ( Dossier.ModifDate>='%1' +// OR Intervention.ModifDate>='%1' +// ) +// ] +// ReqSQL+=[ +// AND ( NbJours<=%1 +// ) +// ] +ReqSQL+=[ +AND ( MinDateModif>=%1 +) +] +dDateCpt est une Date = DateSys() +dDateCpt..Jour-= Val(DonneParametreCombo(COMBO_PERIODE_AFFICHAGE_CONTACT)) +//ParametreLit("NBJOUR_DERNIEREMODIF_CONTACT","30") +ReqSQL = ChaîneConstruit(ReqSQL,DateVersChaîne(dDateCpt,"AAAAMMJJ")) +//ReqSQL = ChaîneConstruit(ReqSQL,val(ParametreLit("NBJOUR_DERNIEREMODIF_DOSS_INTERV","30"))) +fin +ReqSQL+=[ +ORDER BY MinDateModif DESC +06/08/2026 Isis_BO 1896 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Procédures +] +//ReqSQL.p_IdDossier = Null//MesParamètres..Occurrence>0 _ET_ MesParamètres[1]<>-1 ? MesParamètres[1] +SINON Null +// exécution de la requête +si HExécuteRequêteSQL(sdListeClient,gcnxBO,hRequêteDéfaut+hRequêteSansCorrection,ReqSQL) alors +nIndiceLigne est un entier +// nIndiceRupt est un entier +// nIndiceRuptsvg est un entier +nCptEnreg est un entier = HNbEnr(sdListeClient) +si nCptEnreg>0 alors +//TableTrie(TABLE_DOSSIER,TABLE_DOSSIER.NbJrsModif..nom)//,"-"+TABLE_DOSSIER.MinDateModif..Nom +InitTriChampTablePerso(TABLE_PERSONNE,gstListePerso) +si TableColonnesTriées(TABLE_PERSONNE)="" alors +TableTrie(TABLE_PERSONNE,TABLE_PERSONNE.NbJrsModif..Nom) +fin +// charge les enregistrements en mémoire +pour tout sdListeClient +avec sdListeClient +nIndiceLigne = TableAjouteLigne(TABLE_PERSONNE,Faux,.PE_Nom,.PE_Prenom,.PE_TelFixe,. +PE_TelMobile,"",.PE_IDRole,.PE_IDClient,DateVersChaîne(.MinDateModif, +maskDateDuréeRelative),.NbJours,.PE_PKID) +fin +// nIndiceRupt = TableIndiceRupture(TABLE_DOSSIER.RUPT_Haut,nIndiceLigne) +// SI nIndiceRuptsvg<>nIndiceRupt ALORS +// nIndiceRuptsvg = nIndiceRupt +// +TABLE_DOSSIER[nIndiceRupt].LIB_DATEMODIF = +DateVersChaîne(sdListeDoss.MinDateModif,maskDateDuréeRelative) +// +// //TableAffiche(TABLE_DOSSIER,taCourantBandeau) +// FIN +//trace(TABLE_DOSSIER[nIndiceRupt].LIB_DATEMODIF) +fin +// TableAffiche(TABLE_PERSONNE,taCourantBandeau) +// pour TOUTE LIGNE DE TABLE_PERSONNE +// +nIndiceRupt = TableIndiceRupture(TABLE_PERSONNE.RUPT_H_MinDateModif_Contact,TABLE_PERSONNE) +// SI nIndiceRuptsvg<>nIndiceRupt ALORS +// nIndiceRuptsvg = nIndiceRupt +// +TABLE_PERSONNE[nIndiceRupt].LIB_DATEMODIF_CONTACT = TABLE_PERSONNE[TABLE_PERSONNE].MinDateModif +// +// TableAffiche(TABLE_PERSONNE,taCourantBandeau) +// FIN +// FIN +fin +LIB_Total_Liste_personne = nCptEnreg +sinon +LIB_Total_Liste_personne = 0 +fin +HLibèreRequête(sdListeClient) +Procédure locale ChargerSelonAppelant +// Résumé : +// Syntaxe : +//ChargerSelonAppelant ( est booléen, est booléen) +// +// Paramètres : +// bPremiereFois (booléen) : +// bTous (booléen) : +06/08/2026 Isis_BO 1897 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Procédures +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargerSelonAppelant(local bPremiereFois est un booléen,local bTous est un booléen) +si bPremiereFois alors +//TABLE_PERSONNE.COL_nIDRole..Visible = Faux +TABLE_PERSONNE.COL_IDClient..Visible = Faux +//INT_TOUSLESCONTACTS..Visible = faux +fin +gclPresentationListePersonne=PTablePersonne.gNouvellePresentation(-1) +selon paramSupplementaire.sNomIDAppelant +cas "InterventionLieuPersonne" : +si bPremiereFois alors +ExécuteTraitement(BTN_COLLAPSE_LISTE_CONTACT,trtClic) +SAI_CODE_LIEU = paramSupplementaire.pclObjetAppelant.FicheLieu.m_sCodeLieu +INT_CODE_LIEU = Vrai +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +fin +ChargementSQL(paramSupplementaire.sNomIDAppelant,paramSupplementaire.pclObjetAppelant.m_nIDLieu +,paramSupplementaire.pclObjetAppelant.m_nPKID) +//gclPresentationListePersonne=PTablePersonne.gNouvellePresentation(4,paramSupplementaire.pclOb +jetAppelant.m_nIDLieu,paramSupplementaire.pclObjetAppelant.m_nPKID=0 ? -1 SINON +paramSupplementaire.pclObjetAppelant.m_nPKID,bTous) +si bPremiereFois alors +TABLE_PERSONNE.COL_IDClient..Visible = Faux +TABLE_PERSONNE.COL_IDRole..Visible = Vrai +//INT_TOUSLESCONTACTS..Visible = vrai +//INT_TOUSLESCONTACTS[1]..Libellé = "Tous les contacts site" +si paramSupplementaire.pclObjetAppelant:m_bBlocageEcriture alors +gnDelai = DonneValeurTimeOutObjet(paramSupplementaire.pclObjetAppelant) +si gnDelai>0 alors +ActiveEvenement() +fin +TimerSys(TimeOutDeFermeture,100) +fin +fin +cas "InterventionClientPersonne" +si bPremiereFois alors +ExécuteTraitement(BTN_COLLAPSE_LISTE_CONTACT,trtClic) +SAI_CLIENT = paramSupplementaire.pclObjetAppelant.FicheClient.m_sNom +INT_CLIENT = Vrai +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +fin +ChargementSQL(paramSupplementaire.sNomIDAppelant,paramSupplementaire.pclObjetAppelant. +m_nIDClient,paramSupplementaire.pclObjetAppelant.m_nPKID) +//gclPresentationListePersonne=PTablePersonne.gNouvellePresentation(5,paramSupplementaire.pclOb +jetAppelant.m_nIDClient,paramSupplementaire.pclObjetAppelant.m_nPKID=0 ? -1 SINON +paramSupplementaire.pclObjetAppelant.m_nPKID,bTous) +si bPremiereFois alors +TABLE_PERSONNE.COL_IDClient..Visible = Faux +//TABLE_PERSONNE.COL_nIDRole..Visible = Faux +//INT_TOUSLESCONTACTS..Visible = Vrai +//INT_TOUSLESCONTACTS[1]..Libellé = "Tous les contacts client" +fin +cas "ClientContact" +si bPremiereFois alors +06/08/2026 Isis_BO 1898 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Procédures +ExécuteTraitement(BTN_COLLAPSE_LISTE_CONTACT,trtClic) +SAI_CLIENT = paramSupplementaire.pclObjetAppelant.m_sNom +INT_CLIENT = Vrai +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +fin +ChargementSQL()//gclPresentationListePersonne=PTablePersonne.gNouvellePresentation(0,0) +si bPremiereFois alors +TABLE_PERSONNE.COL_IDClient..Visible = Faux +TABLE_PERSONNE.COL_IDRole..Visible = Vrai +fin +//INT_TOUSLESCONTACTS..Visible = Vrai +cas "ContactLieu" +si bPremiereFois alors +ExécuteTraitement(BTN_COLLAPSE_LISTE_CONTACT,trtClic) +si HLitRecherche(Lieu,LI_PKID,paramSupplementaire.nIdFenetreAppelante,hIdentique) alors +SAI_CODE_LIEU = Lieu.LI_CodeLieu +INT_CODE_LIEU = Vrai +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +fin +fin +ChargementSQL()//gclPresentationListePersonne=PTablePersonne.gNouvellePresentation(0,0) +si bPremiereFois alors +TABLE_PERSONNE.COL_IDClient..Visible = Vrai +TABLE_PERSONNE.COL_IDRole..Visible = Vrai +fin +//INT_TOUSLESCONTACTS..Visible = Vrai +cas "" +ExécuteTraitement(BTN_UNCOLLAPSE_LISTE_CONTACT,trtClic) +si gpclFicheUtilisateurEnCours<>Null _et_ gpclFicheUtilisateurEnCours:ListeParametreUtilisateur +<>Null alors +gstListePerso = gpclFicheUtilisateurEnCours:DonneColonneEtTriListePerso(4) +gstCriterePerso = gpclFicheUtilisateurEnCours:DonneCritereListePerso(4) +fin +InitCriterePerso(GR_CRITERE_LISTECONTACT,gstCriterePerso,maProcMAJCriterePerso) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECONTACT,GR_PERIODE_AFFICHAGE_CONTACT) +ChargementSQL() +//PTablePersonne.gTHNouvellePresentation(0,maProcRefreshObjetPres) +fin +Procédure locale DechargeLigneSelectionnee +// Résumé : +// Syntaxe : +//[ = ] DechargeLigneSelectionnee ( est booléen) +// +// Paramètres : +// bMultiSelect (booléen) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DechargeLigneSelectionnee(local bMultiSelect est un booléen) +bResultat est un booléen +si pas bMultiSelect alors +sinon si COL_PKID>0 alors +nIndice est un entier = TableauCherche(gclPresentationListePersonne:m_clTabModele,tcLinéaire, +"m_nPKID",COL_PKID,1) +06/08/2026 Isis_BO 1899 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Procédures +si nIndice>0 alors +gclPresentationListePersonne:m_clTabModele[nIndice]:m_bSelection = Faux +bResultat = Vrai +fin +fin +renvoyer bResultat +Procédure locale DoubleClicLigneTableau +// Résumé : +// Syntaxe : +// DoubleClicLigneTableau () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DoubleClicLigneTableau() +si ChargeLigneSelectionnee(COL_SEL..Visible)//gclPresentationListePersonne.p_clCourant<>Null ALORS +si paramSupplementaire.eTypeAppel=DansChampFI _et_ paramSupplementaire.bMultiSelect alors +pclPresentationFiche est un PFichePersonne dynamique +pclPresentationFiche<-gclPresentationListePersonne.Modifier() +//On inverse la coche la colonne de selection +TABLE_PERSONNE[TableSelect(TABLE_PERSONNE)].COL_SEL = pas COL_SEL +gclPresentationListePersonne.p_clCourant:m_bSelection= TABLE_PERSONNE[TableSelect(TABLE_ +PERSONNE)].COL_SEL +// sauvegarde de la table +//TableEnregistre(TABLE_PERSONNE,pclPresentationFiche) +DemandeMiseAJourIHM() +//bValeurCoche = PAS COL_SEL +//TableModifieLigne(TABLE_PERSONNE,TableSelect(TABLE_PERSONNE), PAS COL_SEL) +sinon +paramPers est STParamFenetreAppelante //= paramSupplementaire +paramPers.eTypeAppel = DansOnglet +paramPers.sContexteAppelant = MoiMême..Nom +paramPers.gProcMAJRetour = maProcMAJObjetRetourPers +paramPers.sTitreFenetre="Contact" +//OuvreFicheDepuisListe(FicheEnModification,paramSupplementaire,gclPresentationListeLieu,FI_Fic +he_Lieu,MaFenêtreInterne..Nom,DISP_LISTE_LIEU,TABLE_LIEU,CFI_SOUSELEMENT_LISTE_LIEU,GR_IMAGE_OP +AQUE_LISTE_LIEU,GR_HAUTEUR_LISTE_LIEU,GR_MODEFORMULAIRE_LISTE_LIE +U,maProcMAJObjetRetourFI,MoiMême..Nom) +OuvreFicheOuRetourneSelection(paramSupplementaire,paramPers,gclPresentationListePersonne,FI_ +Fiche_Personne,FicheEnAjout,DansChampFI,MaFenêtreInterne..Nom,D_LISTE_PERS,TABLE_PERSONNE,CFI_ +SOUSELEMENT_LISTE_PERSONNE,GR_IMAGE_OPAQUE_LISTE_PERSONNE,GR_HAUTEUR_LISTE_PERSONNE,GR_ +MODEFORMULAIRE_LISTE_PERSONNE,maProcMAJObjetRetourPers) +fin +fin +Procédure locale MAJObjetRetourFI +// Résumé : +// Syntaxe : +//[ = ] MAJObjetRetourFI ([...]) +06/08/2026 Isis_BO 1900 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Procédures +// +// Paramètres : +// <*> : > +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sContexte (chaîne ANSI) : +// pclObjet (objet dynamique) : +// bAvecReorga (booléen - valeur par défaut=1) : +// <*> : > +procédure MAJObjetRetourFI(*)//LOCAL sContexte est une chaîne, pclObjet est un objet dynamique +bResultat est un booléen=Vrai +nMode est un entier +sNomChamp est une chaîne +pclObjet est un objet dynamique +bReorga est un booléen=Vrai +bBloc est un booléen +si MesParamètres..Occurrence>0 alors +nMode = MesParamètres[1] +fin +selon nMode +cas 1 : +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 2 +bReorga = Faux +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 3 +bReorga = Faux +bBloc = Vrai +fin +si bReorga alors +//Gestion de l'affichage pour oublier le champ Fenêtre Interne +ReorganiseChampDispoDansListe(D_LISTE_PERS,TABLE_PERSONNE,CFI_SOUSELEMENT_LISTE_PERSONNE,GR_ +IMAGE_OPAQUE_LISTE_PERSONNE,GR_HAUTEUR_LISTE_PERSONNE,GR_MODEFORMULAIRE_LISTE_PERSONNE,Faux) +GestionBoutonsEnteteDansListe(GR_MODIFICATION_LISTE_PERSONNE,BTN_ADD_LISTE_CONTACT,BTN_ +SEL_LISTE_CONTACT,gclPresentationListePersonne,paramSupplementaire) +fin +si pclObjet<>Null alors +//*******************************MISE A JOUR DE +L'OBJET********************************************************* +selon sNomChamp +cas BTN_EDT_LISTE_CONTACT..Nom,BTN_ADD_LISTE_CONTACT..Nom : DemandeMiseAJourIHM() +fin +sinon +DemandeMiseAJourIHM() +fin +si paramSupplementaire.pclObjetAppelant<>Null alors +//paramSupplementaire.sNomIDAppelant DANS ("InterventionLieuPersonne","InterventionClientPersonne") +ALORS +si paramSupplementaire.pclObjetAppelant:m_bBlocageEcriture alors +si bReorga alors +gnDelai = DonneValeurTimeOutObjet(paramSupplementaire.pclObjetAppelant) +TimerSys(TimeOutDeFermeture,100) +06/08/2026 Isis_BO 1901 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Procédures +sinon +AppelProcFenetreAppelante(gclPresentationListePersonne,paramSupplementaire,Vrai,Faux) +fin +//Une demande de blocage a été demandée par une fenetre fille et l'enregistrement n'est pas bloqué +sinon si bBloc alors +//Tentative de blocage +bResultat= AppelProcFenetreAppelante(gclPresentationListePersonne,paramSupplementaire,Faux,Faux +,Vrai) +fin +fin +ExécuteTraitement(BTN_RECHERCHE_CONTACT,trtClic) +renvoyer bResultat +Procédure locale RafraichissementFiche +procédure RafraichissementFiche(stParamSupplementaire est STParamFenetreAppelante) +si stParamSupplementaire.sNomFenetreAppelante="FEN_MENU" _et_ D_LISTE_PERS[6]..Visible alors +quand exception dans +ExécuteTraitement(FI_Fiche_Personne.RafraichissementFiche,trtProcédure) +faire +fin +fin +Procédure locale RefreshObjetPresentation +// Résumé : +// Syntaxe : +//RefreshObjetPresentation ( est objet dynamique) +// +// Paramètres : +// pclObjet (objet dynamique) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RefreshObjetPresentation(pclObjet est un objet dynamique) +si pclObjet<>Null alors +clPresention est un PTablePersonne(pclObjet) +sPos est une chaîne = TableSauvePositionEtSélection(TABLE_PERSONNE) +// récupération de l'instance courante +nIndice est un entier=TableSelect(TABLE_PERSONNE) +gclPresentationListePersonne = clPresention +SourceVersEcran("","gclPresentationListePersonne") +TableAffiche(TABLE_PERSONNE,taInit) +si sPos<>"" alors TableRestaurePositionEtSélection(TABLE_PERSONNE) +// // récupération de l'instance courante +// nIndice =TableSelect(TABLE) +si nIndice<=0 _ou_ TABLE_PERSONNE..Nouveau alors +gclPresentationListePersonne.p_bMajCourantSansIHM=Vrai +gclPresentationListePersonne.p_clCourant=Null +gclPresentationListePersonne.p_bMajCourantSansIHM=Faux +sinon +gclPresentationListePersonne.p_bMajCourantSansIHM=Vrai +gclPresentationListePersonne.p_clCourant=TABLE_PERSONNE[nIndice] +gclPresentationListePersonne.p_bMajCourantSansIHM=Faux +fin +06/08/2026 Isis_BO 1902 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Personne › Procédures +fin +Procédure locale SurActivite +// Résumé : +// Syntaxe : +//SurActivite (, , ) +// +// Paramètres : +// wEve : +// wParam : +// lParam : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SurActivite(wEve,wParam,lParam) +//SELON paramSupplementaire.sNomIDAppelant +// CAS "InterventionLieuPersonne" : +// SI paramSupplementaire.pclObjetAppelant:m_bBlocageEcriture ALORS +gnDelai = DonneValeurTimeOutObjet(paramSupplementaire.pclObjetAppelant) +// FIN +//FIN +Procédure locale TimeOutDeFermeture +procédure TimeOutDeFermeture() +//Enlève 1 seconde au temps restant +gnDelai-- +//Le temps est écoulé, l'enregistrement et le déblocage de ce dernier c'est bien passé +si gnDelai = 0 alors +FinTimerSys() +ExécuteTraitement(BTN_CLOSE_LISTE_CONTACT,trtClic) +sinon si gnDelai < 0 alors +FinTimerSys() +fin +Procédure locale TriColonne +// Procédure callback appelée à chaque clic sur entête de colonne de "Table1" pour trier la colonne +// wEve [in]: Numéro du message Windows +// wParam [in] : Numéro de la colonne a trier +// lParam [in]: Ordre du tri 5 (1 : Croissant, 0 : décroissant) +// Renvoyer 0 pour ne pas effectuer le tri demandé +procédure TriColonne(wEve,wParam,lParam) +sSens est une chaîne="" +si wParam<>0 alors//N° de colonne sur laquelle le clic est effectué +//Détection du sens du tri +si pas lParam alors sSens="-" +//Trier sur la colonne +TableTrie(TABLE_PERSONNE,sSens+TableEnumèreColonne(TABLE_PERSONNE,wParam),"+COL_PKID") +//Traitement à effectuer "Après chaque tri" +TrieObjetChampTableSiBesoin(gclPresentationListePersonne,TABLE_PERSONNE,gsTriEnCoursPersonne) +renvoyer 0 +fin +06/08/2026 Isis_BO 1903 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Image +FI_Fiche_Client +Image +| 06/08/2026 | Isis_BO | 1904 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Image +| 06/08/2026 | Isis_BO | 1905 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Image +FI_Fiche_Client +Informations générales +FI_Fiche_Client +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Fiche_Client.wdw +Créé par frederic.bourras@applilogik.fr +Date de création 13/08/2018 09:57:38 +Dernière modification par susana@applilogik.fr +Date dernière modification 07/05/2026 10:23:07 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +Position X 0 Position Y 0 Largeur 1458 Hauteur 623 +06/08/2026 Isis_BO 1906 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations générales +| 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 | | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Oui | | | | +| Type cadre | | | | | +| Transparence Vista | Non | | | | +| Transparence gérée par Vista | Non | | | | +| Appliquer le thème du projet | | | | | +| Grisé : Utiliser couleur perso. | Non | | | | +| Grisé : Algo pour images | | | | | +| 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. | | | | | +| 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 | | | | +| ---------------------- | --- | ------- | --- | ---- | +| 06/08/2026 | | Isis_BO | | 1907 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | 28 | Libellé | | 33 | +| --- | ---------------------- | --- | --- | --------------------- | --- | --- | +| | Bouton | | 29 | Interrupteur | | 1 | +| | Image | | 14 | Table | | 4 | +| | Combo | | 7 | Séparateur | | 1 | +| | Fenêtre interne | | 1 | Fenêtre interne | | 1 | +| | Superchamp | | 12 | Option d'interrupteur | | 1 | +| | Colonne de table | | 38 | Disposition | | 1 | +| | Cellule de disposition | | 2 | | | | +Nombre d'éléments dans la fenêtre : 173 +FI_Fiche_Client +Informations sur les champs +Fenêtre : FI_Fiche_Client +Fenêtre interne +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FI_Fiche_Client | | 0 | 0 1458 | 623 | 0 | | +| --------------- | --- | --- | ------ | --- | --- | --- | +Fenêtre interne : FI_Fiche_Client +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP | | | laitini tatE | sucof cevA | +| --- | --- | ---------- | --- | --- | ------------ | ---------- | +Y noitisoP cilc cevA +ruegraL ruetuaH +elbisiV +nalP +| IMG_Bloque | | -235 186 | 20 20 | 0 | Actif | | +| ------------- | --- | -------- | ------- | --- | ----- | ---- | +| IMG_NonBloque | | -234 160 | 20 20 | 0 | Actif | | +| 06/08/2026 | | | Isis_BO | | | 1908 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_FIC_CLI | | 0 | 0 | 1458 | 623 | 0 | Actif | | +| ---------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : FI_Fiche_Client.SC_FIC_CLI +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_COL_DROITE_CLI | | 658 | 168 | 782 | 447 | 0 | Actif | | +| ------------------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +| SC_COL_GAUCHE_CLI | | 18 | 167 | 622 | 448 | 0 | Actif | | +| SC_ENTETE_FH_CLIENT | | 0 | 0 | 1458 | 157 | 0 | Actif | | +Superchamp : FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI +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 | | | | | | +| --- | --------------------- | ------- | ------------ | --- | -------- | --- | --- | --- | +| | | ruetuaH | | | sruocraP | | | | +| | ruegraL | | elbisiV | | | | | | +elbaT +nalP +| TABLE_Dossier | 658 500 782 | 115 0 | affichag | Variable | | | | 4 | +| ------------- | ----------- | ----- | -------- | -------- | --- | --- | --- | --- | +Séparateur +| | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | +| | | X noitisoP | Y noitisoP | | | | | | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SPLIT_Site | | 658 | 444 | 782 | 5 | 0 | Actif | | +| ---------- | --- | --- | ------- | --- | --- | --- | ----- | ---- | +| 06/08/2026 | | | Isis_BO | | | | | 1909 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Fenêtre interne +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CFI_SOUSELEMENT_FICHE_CLIENT | | | 658 | 168 | 782 | 447 | 0 | Actif | | +| ---------------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| SC_SITE_CLI | | | 658 | 168 | 782 | 262 | 0 | Actif | | +| --------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| SC_TET_DOSS_CLI | | | 658 | 466 | 784 | 34 | 0 | Actif | | +Table : FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI.TABLE_Dossier +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +| | | | | ehcuag à eéxiF | | .zroh egardaC | | | | +| --- | --- | --- | --- | -------------- | --- | ------------- | --- | --- | --- | +.trev egardaC +| | | | | elbaçalpéD | | | eisias epyT | FTR tamroF | eisias cevA | +| --- | --- | --- | ------------ | ---------- | --- | --- | ----------- | ---------- | ----------- | +| | | | laitini tatE | | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +| COL_RefInterne | | 100 | affichag | | | Centre Centre | Texte | | | +| ----------------- | --- | --- | -------- | --- | --- | ------------- | ----- | --- | --- | +| COL_DateDossier | | 125 | affichag | | | Centre Centre | Date | | | +| COL_IDTypeDossier | | 16 | affichag | | | Centre Centre | Texte | | | +| COL_Titre | | 300 | affichag | | | Centre Centre | Texte | | | +| COL_RefExterne | | 127 | affichag | | | Gauche Centre | Texte | | | +| COL_Statut | | 100 | affichag | | | Gauche Centre | Texte | | | +Numériq +| COL_PKID | | 100 | affichag | | | Droite Centre | | | | +| -------- | --- | --- | -------- | --- | --- | ------------- | --- | --- | --- | +Superchamp : FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI.SC_SITE_CLI +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 | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | +ruegraL +elbisiV +| | | | nalP | | elbaT | | | | | +| ---------- | ------- | ------- | ---- | ------- | -------- | --- | --- | --- | ---- | +| TABLE_Lieu | 658 225 | 782 202 | 0 | Actif | Variable | | | | 14 | +| 06/08/2026 | | | | Isis_BO | | | | | 1910 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_TET_SITE_CLI | | 658 | 168 | 782 | 57 | 0 | Actif | | +| --------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Table : FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI.SC_SITE_CLI.TABLE_Lieu +Bouton +BAT ehcuoT notuob epyT +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_SITE_PRINCIPAL | 663 | 243 | 16 | | 16 0 | Actif | | Normal | +| ------------------ | --- | --- | --- | --- | ---- | ----- | --- | ------ | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Bloque | 700 | 243 | 22 | 16 | 0 | Actif | | | +| ---------- | --- | --- | --- | --- | --- | ----- | --- | --- | +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | elbairt ennoloC ehcrehcer cevA | | | | | +| --- | --- | --- | --- | ------------------------------ | --- | --- | --- | --- | +ehcuag à eéxiF +| | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | ------------ | ---------- | --- | ------------- | ------------- | ---------- | ----------- | +| | | | elbaçalpéD | | | | FTR tamroF | | +| | | laitini tatE | | | | eisias epyT | engilitluM | eisias cevA | +ruegraL +elbisiV +| epyT | | | | | | | | eéirT | +| ----------------- | --- | -------- | ------- | --- | ------------- | ------- | --- | ----- | +| COL_SITEPRINCIPAL | 32 | Actif | | | Gauche Centre | | | | +| COL_Bloque | 48 | Actif | | | Centre Centre | | | | +| COL_sNom | 184 | affichag | | | Gauche Centre | Texte | | | +| COL_nType | 135 | affichag | | | Gauche Centre | Texte | | | +| COL_sCode | 106 | affichag | | | Gauche Centre | Texte | | | +| COL_bBadge | 60 | affichag | | | Centre Centre | | | | +| COL_bInter | 60 | affichag | | | Centre Centre | | | | +| COL_sAdress | 239 | affichag | | | Gauche Centre | Texte | | | +| COL_sNote | 176 | affichag | | | Gauche Centre | Texte | | | +| COL_IdLieu | 100 | affichag | | | Gauche Centre | Texte | | | +| COL_PKID | 100 | affichag | | | Droite Centre | Numériq | | | +| COL_Principal | 100 | Grisé | | | Centre Centre | | | | +| COL_bBloque | 63 | Actif | | | Centre Centre | | | | +| COL_RaisonBlocage | 136 | Actif | | | Gauche Centre | Texte | | | +| 06/08/2026 | | | Isis_BO | | | | | 1911 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Superchamp : +FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI.SC_SITE_CLI.SC_TET_SITE_CLI +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_CodeLieu | 755 193 | 317 | 26 | 0 | Actif | Texte | | Non | | | | | +| ------------ | ------- | --- | --- | --- | ----- | ----- | --- | --- | --- | --- | --- | --- | +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | | | | +elbisiV +nalP +| LIB_ResultatRecherche | | 754 | 174 | 317 | 20 | 0 | | Actif | Gauche | Haut | | | +| --------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | --- | +| LIB_SITE | | 684 | 178 | 33 | 16 | 0 | | Actif | Gauche | Haut | | | +Bouton +notuob epyT +| | | | | | | | | | laitini tatE | BAT ehcuoT | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | ---------- | --- | --- | +| | | | X noitisoP | Y noitisoP | | | | | | | | | +| | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_AJOUTE_LIEU | | | 1292 | 173 | 24 | 24 | | 0 | Actif | | Normal | | +| ----------------- | --- | --- | ---- | --- | --- | --- | --- | --- | ----- | --- | ------ | --- | +| BTN_ARCHIV_LIEU | | | 1350 | 173 | 24 | 24 | | 0 | Grisé | | Normal | | +| BTN_LOUPE_LIEU | | | 1265 | 173 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_LigneSuivante | | | 1075 | 193 | 30 | 26 | | 0 | Actif | | Normal | | +| BTN_MODIF_LIEU | | | 1320 | 173 | 24 | 24 | | 0 | Grisé | | Normal | | +| BTN_VueDossier | | | 1236 | 173 | 24 | 24 | | 0 | Grisé | | Normal | | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | sucof cevA | +| --- | --- | --- | ---------- | ---------- | --- | ------- | --- | --- | ------------ | --------- | --- | ---------- | +| | | | | | | ruetuaH | | | | cilc cevA | | | +ruegraL +elbisiV +nalP +| IMG_ICONE_ | | | 664 | 177 | 16 | 16 | 0 | | Actif | | | | +| ---------- | --- | --- | --- | --- | ------- | --- | --- | --- | ----- | --- | --- | ---- | +| 06/08/2026 | | | | | Isis_BO | | | | | | | 1912 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Superchamp : FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI.SC_TET_DOSS_CLI +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_DOSSIER | 689 476 | 55 16 | 0 | Actif | Gauche | Haut | | +| ----------- | ------- | ----- | --- | ----- | ------ | ---- | --- | +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_AJOUTE_DOSSIER | 1322 | 471 24 | 24 | 0 | Actif | Normal | | +| ------------------ | ---- | ------ | --- | --- | ----- | ------ | --- | +| BTN_MODIF_DOSSIER | 1350 | 471 24 | 24 | 0 | Grisé | Normal | | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | | sucof cevA | +| --- | --------------------- | ------- | ------- | --- | ------------ | --------- | ---------- | +| | X noitisoP Y noitisoP | | | | | | | +| | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_ICONE_ | 669 | 475 16 | 16 | 0 | Actif | | | +| ---------- | --- | ------ | --- | --- | ----- | --- | --- | +Superchamp : FI_Fiche_Client.SC_FIC_CLI.SC_COL_GAUCHE_CLI +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | | laitini tatE | | sucof cevA | +| --- | --------------------- | ------- | ------- | ------- | ------------ | --------- | ---------- | +| | | | ruetuaH | | | cilc cevA | | +| | | ruegraL | | elbisiV | | | | +nalP +IMG_OPACITE_COLONNE_GAUCHE_C +| | 18 | 168 622 | 278 | 0 | Actif | | | +| ---------- | --- | ------- | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | Isis_BO | | | | | 1913 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_CONTACT_CLI | | 18 | 465 | 622 | 150 | 0 | Actif | | +| -------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +| SC_COORD_CLI | | 18 | 167 | 622 | 280 | 0 | Actif | | +Superchamp : FI_Fiche_Client.SC_FIC_CLI.SC_COL_GAUCHE_CLI.SC_CONTACT_CLI +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | --- | ------------------ | ------------------ | --- | +)(ertliFH resilitU +| | | | | | .gerne egacolB | ruesnecsa elluB | EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +| --- | --- | --- | --- | --- | -------------- | --------------- | -------------- | ----------------------------- | +| | | | | | | noitcelésitluM | edacsac eisiaS | | +BAT ehcuoT +laitini tatE +| | X noitisoP Y noitisoP | | | sruocraP | | | | | +| --- | --------------------- | --- | --- | -------- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +elbaT +nalP +| TABLE_Interlocuteur | 18 519 622 | 96 0 | affichag | Variable | | | | 2 | +| ------------------- | ---------- | ---- | -------- | -------- | --- | --- | --- | --- | +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| SC_TET_CONTACT_CLI | | 18 | 465 | 622 | 55 | 0 | Actif | | +| ------------------ | --- | --- | --- | --- | --- | --- | ----- | --- | +Table : +FI_Fiche_Client.SC_FIC_CLI.SC_COL_GAUCHE_CLI.SC_CONTACT_CLI.TABLE_Interlocuteur +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | --- | +| | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_PRINCIPAL | | 24 | 538 16 | 16 | 0 | Actif | | Normal | +| ------------- | --- | --- | ------- | --- | --- | ----- | --- | ------ | +| 06/08/2026 | | | Isis_BO | | | | | 1914 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +| | | | | ehcuag à eéxiF | .zroh egardaC | .trev egardaC | | | | +| --- | --- | --- | ------------ | -------------- | ------------- | ------------- | ----------- | ---------- | ----------- | +| | | | laitini tatE | elbaçalpéD | | | eisias epyT | FTR tamroF | eisias cevA | +engilitluM +ruegraL +elbisiV +| | epyT | | | | | | | | eéirT | +| -------------- | ---- | --- | -------- | --- | ------ | ------ | ------- | --- | ----- | +| COL_PRINCIPAL | | 32 | Actif | | Gauche | Centre | | | | +| COL_sNom | | 285 | affichag | | Gauche | Centre | Texte | | | +| COL_sPrenom | | 113 | affichag | | Gauche | Centre | Texte | | | +| COL_sTelFixe | | 100 | affichag | | Gauche | Centre | Texte | | | +| COL_sTelMobile | | 100 | affichag | | Gauche | Centre | Texte | | | +| COL_nIDRole | | 180 | affichag | | Gauche | Haut | Texte | | | +| COL_sEmail | | 270 | affichag | | Gauche | Centre | Texte | | | +| COL_IdContact | | 100 | affichag | | Gauche | Centre | Texte | | | +| COL_Adresse | | 178 | affichag | | Gauche | Centre | Texte | | | +| COL_PKID | | 100 | affichag | | Droite | Centre | Numériq | | | +| COL_bPrincipal | | 100 | Grisé | | Centre | Centre | | | | +| COL_NomPrenom | | 100 | Grisé | | Gauche | Centre | Texte | | | +Superchamp : +FI_Fiche_Client.SC_FIC_CLI.SC_COL_GAUCHE_CLI.SC_CONTACT_CLI.SC_TET_CONTACT_CLI +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 | +| --- | ---------- | --- | --- | ------------ | --------------------------------- | --- | ------------------------- | --- | ------------- | +| | X noitisoP | | | laitini tatE | eisias epyT engilitluM FTR tamroF | | | | | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| SAI_CodeContact | 117 487 | 303 26 | 0 | Actif | Texte | Non | | | | +| --------------- | ------- | ------ | --- | ----- | ----- | --- | --- | --- | --- | +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_CONTACT | | 49 | 474 | 55 19 | 0 | Actif | Gauche | Haut | | +| ----------- | --- | --- | --- | ----- | --- | ----- | ------ | ---- | --- | +LIB_ResultatRechercheContact 117 467 317 20 0 Actif Gauche Haut +| 06/08/2026 | | | | Isis_BO | | | | | 1915 | +| ---------- | --- | --- | --- | ------- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Bouton +notuob epyT +| | | | | | | | | laitini tatE BAT ehcuoT | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ----------------------- | --- | --- | +| | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| BTN_ADD_CONTACT | | 492 | 471 | 24 | | 24 | 0 | Actif | Normal | | +| ------------------------ | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | --- | +| BTN_DEL_CONTACT | | 550 | 471 | 24 | | 24 | 0 | Grisé | Normal | | +| BTN_EDT_CONTACT | | 520 | 471 | 24 | | 24 | 0 | Grisé | Normal | | +| BTN_LOUPE_CONTACT | | 465 | 471 | 24 | | 24 | 0 | Actif | Normal | | +| BTN_LigneSuivanteContact | | 426 | 487 | 30 | | 26 | 0 | Actif | Normal | | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | | | laitini tatE | | sucof cevA | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | ---------- | +| | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | ruegraL | ruetuaH | | | cilc cevA | | | +elbisiV +nalP +| IMG_ICONE_ | | 29 | 475 | 16 | 16 | | 0 | Actif | | | +| ---------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Superchamp : FI_Fiche_Client.SC_FIC_CLI.SC_COL_GAUCHE_CLI.SC_COORD_CLI +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_sCodePostal | 201 421 | 79 22 | 2 | Actif | Texte | | Non | | | | +| ------------------- | ------- | ------ | --- | ------- | ----- | --- | --- | --- | --- | ---- | +| SAI_sEtiquette | 201 251 | 268 22 | 2 | Actif | Texte | | Non | | | | +| SAI_sLigneAdresse_1 | 201 385 | 268 22 | 2 | Actif | Texte | | Non | | | | +| SAI_sLigneAdresse_2 | 201 341 | 268 22 | 2 | Actif | Texte | | Non | | | | +| SAI_sLigneAdresse_3 | 201 363 | 268 22 | 2 | Actif | Texte | | Non | | | | +| SAI_sLigneAdresse_4 | 201 297 | 268 22 | 2 | Actif | Texte | | Non | | | | +| SAI_sLigneAdresse_5 | 201 319 | 268 22 | 2 | Actif | Texte | | Non | | | | +| SAI_sVille | 282 421 | 187 22 | 2 | Actif | Texte | | Non | | | | +| 06/08/2026 | | | | Isis_BO | | | | | | 1916 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › 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_CODEPOSTAL | | 201 | 407 | 79 | 14 | 2 | Actif | Gauche | | Haut | | +| ----------------- | --- | --- | --- | --- | --- | --- | ----- | ------ | --- | ---- | --- | +| LIB_ETIQUETTE | | 201 | 237 | 200 | 14 | 2 | Actif | Gauche | | Haut | | +| LIB_LIGNE_ADRESSE | | 201 | 283 | 200 | 14 | 2 | Actif | Gauche | | Haut | | +| LIB_VILLE | | 282 | 407 | 187 | 14 | 2 | Actif | Gauche | | Haut | | +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 | | | | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | --- | --- | --- | +sruocraP +ruegraL ruetuaH +elbisiV +| | | | nalP | | | elbaT | | | | | | +| -------------------- | ------ | --- | ---- | ---------- | --- | -------- | --- | --- | --- | --- | --- | +| TABLE_Client_Adresse | 18 203 | 622 | 248 | 1 affichag | | Variable | | | | | 1 | +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 +| COMBO_nIDTypeAdresse | 201 | 209 | 334 | 26 | 2 | Actif | Variable | | | Non | | +| -------------------- | --- | --- | --- | --- | --- | ----- | -------- | --- | --- | --- | --- | +Superchamp +BAT ehcuoT +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | | | | +| --- | --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | --- | --- | +| | | | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| SC_TET_COORD_CLI | | | 18 | | 167 | 622 | 36 | 0 | | Actif | | +| ---------------- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | ----- | ---- | +| 06/08/2026 | | | | | Isis_BO | | | | | | 1917 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Table : +FI_Fiche_Client.SC_FIC_CLI.SC_COL_GAUCHE_CLI.SC_COORD_CLI.TABLE_Client_Adresse +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_SEL | 175 | Actif | | Centre | Centre | | | | +| COL_ETIQUETE | 202 | Actif | | Gauche | Centre | Texte | | | +| COL_TYPEADRESSE | 120 | Actif | | Gauche | Centre | Texte | | | +| COL_ADRESSE | 285 | affichag | | Gauche | Haut | Texte | | | +Numériq +| COL_PKID | 100 | Actif | | Droite | Centre | | | | +| -------- | --- | ----- | --- | ------ | ------ | --- | --- | --- | +Superchamp : +FI_Fiche_Client.SC_FIC_CLI.SC_COL_GAUCHE_CLI.SC_COORD_CLI.SC_TET_COORD_CLI +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | | | +| --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| LIB_COORDONNEE | 45 | 176 79 | 19 | 0 | Actif | Gauche | Haut | | +| -------------- | --- | ------ | --- | --- | ----- | ------ | ---- | --- | +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | ---------- | ----------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | +ruegraL ruetuaH +elbisiV +nalP +| BTN_AJOUTE_ADRESSE | 491 | 168 | 24 | 24 | 1 | Actif | | Normal | +| ------------------------- | --- | --- | ------- | --- | --- | ----- | --- | ------ | +| BTN_ARCHIV_ADRESSE | 550 | 168 | 24 | 24 | 1 | Grisé | | Normal | +| BTN_Fermer_Adresse_Client | 550 | 171 | 24 | 24 | 2 | Actif | | Normal | +| BTN_MODIF_ADRESSE | 521 | 168 | 24 | 24 | 1 | Grisé | | Normal | +| BTN_ValideAdresse | 520 | 171 | 24 | 24 | 2 | Actif | | Normal | +| 06/08/2026 | | | Isis_BO | | | | | 1918 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › 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_ICONE_ | | | 25 | 177 | 16 | 16 | 0 | Actif | | | +| ---------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Superchamp : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT +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 | FTR tamroF | | | | +| | X noitisoP | Y noitisoP | | | | engilitluM | | | | | +ruegraL ruetuaH +elbisiV +nalP +| SAI_CL_RAISONBLOC | 1215 | 97 234 | 53 | 0 | Actif | Texte | Non | | | | +| ------------------ | ---- | ------- | --- | --- | ----- | ----- | --- | --- | --- | --- | +| SAI_CODE_CLIENT | 6 | 94 125 | 22 | 0 | Grisé | Texte | Non | | | | +| SAI_FORME_JURIDIQU | 135 | 94 125 | 22 | 0 | Actif | Texte | Non | | | | +| SAI_InfoSupp | 818 | 96 386 | 53 | 0 | Actif | Texte | Non | | | | +| SAI_NumSiret | 446 | 116 176 | 35 | 0 | Actif | Texte | Non | | | | +| SAI_Pays | 5 | 116 55 | 35 | 0 | Actif | Texte | Non | | | | +| SAI_SCL_CODECOMPT | 1322 | 54 130 | 22 | 0 | Actif | Texte | Non | | | | +| SAI_SCL_Email | 188 | 21 172 | 22 | 0 | Actif | Texte | Non | | | | +| SAI_SCL_Fax | 94 | 21 90 | 22 | 0 | Actif | Texte | Non | | | | +| SAI_SCL_Nom | 135 | 53 230 | 22 | 0 | Actif | Texte | Non | | | | +| SAI_SCL_TelFixe | 0 | 21 90 | 22 | 0 | Actif | Texte | Non | | | | +| SAI_SPE_Email | 642 | 21 172 | 22 | 0 | Actif | Texte | Non | | | | +| SAI_SPE_Nom | 124 | 21 172 | 22 | 0 | Actif | Texte | Non | | | | +| SAI_SPE_Prenom | 300 | 21 150 | 22 | 0 | Actif | Texte | Non | | | | +| SAI_SPE_TelFixe | 454 | 21 90 | 22 | 0 | Actif | Texte | Non | | | | +| SAI_SPE_TelMobile | 548 | 21 90 | 22 | 0 | Actif | Texte | Non | | | | +| SAI_TVA | 66 | 116 194 | 35 | 0 | Actif | Texte | Non | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_APPORTEUR | | 446 | 77 | 125 | 17 | 0 | Actif | Gauche | Haut | | +| ----------------- | --- | ---- | --- | --- | ------- | --- | ----- | ------ | ---- | ---- | +| LIB_CIVILITE | | 0 | 4 | 120 | 17 | 0 | Actif | Gauche | Haut | | +| LIB_CODECLIENT | | 6 | 78 | 120 | 17 | 0 | Actif | Gauche | Haut | | +| LIB_CODECOMPTABLE | | 1322 | 37 | 130 | 17 | 0 | Actif | Gauche | Haut | | +| LIB_EMAIL | | 188 | 4 | 172 | 17 | 0 | Actif | Gauche | Haut | | +| LIB_EMAIL1 | | 642 | 4 | 172 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_Erreur | | -320 | 156 | 71 | 16 | 0 | Actif | Centre | Haut | | +| 06/08/2026 | | | | | Isis_BO | | | | | 1919 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_FAX | 94 4 | 90 17 | 0 Actif | Gauche | Haut | | +| ------------------ | ------- | ------ | ------- | ------ | ---- | --- | +| LIB_FORMEJURIDIQUE | 137 78 | 125 17 | 0 Actif | Gauche | Haut | | +| LIB_InfoSupp | 818 81 | 198 14 | 0 Actif | Gauche | Haut | | +| LIB_MODEREGLEMENT | 266 76 | 125 17 | 0 Actif | Gauche | Haut | | +| LIB_NOM | 135 36 | 120 17 | 0 Actif | Gauche | Haut | | +| LIB_NOM1 | 124 4 | 172 17 | 0 Actif | Gauche | Haut | | +| LIB_ORIGINE | 631 77 | 125 17 | 0 Actif | Gauche | Haut | | +| LIB_PRENOM | 300 4 | 150 17 | 0 Actif | Gauche | Haut | | +| LIB_RAISONBLOCAGE | 1302 82 | 125 17 | 0 Actif | Gauche | Haut | | +| LIB_STATUTCLIETN | 1188 37 | 130 17 | 0 Actif | Gauche | Haut | | +| LIB_TELFIXE | 0 4 | 90 17 | 0 Actif | Gauche | Haut | | +| LIB_TELFIXE1 | 454 4 | 90 17 | 0 Actif | Gauche | Haut | | +| LIB_TELMOBILE | 548 4 | 90 17 | 0 Actif | Gauche | Haut | | +| LIB_TYPECLIETN | 6 36 | 125 17 | 0 Actif | Gauche | Haut | | +LIB_Titre_de_fenêtre_Fiche_client 6 5 39 21 0 Actif Gauche Centre +| LIB_Valide | -280 124 | 55 16 | 0 Actif | Centre | Haut | | +| ---------- | -------- | ----- | ------- | ------ | ---- | --- | +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | laitini tatE | | | +| --- | ---------- | ---------- | --- | ------------ | --- | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| BTN_ADD_CLIENT | 1290 | 4 24 | 24 0 | Actif | Normal | | +| ------------------------------ | ---- | ---- | ---- | ----- | ------- | --- | +| BTN_CADENAS_FERME_CLIENT | 1246 | 4 24 | 24 0 | Actif | Normal | | +| BTN_CADENAS_OUVERT_CLIENT | 1246 | 4 24 | 24 0 | Actif | Normal | | +| BTN_CLOSE_CLIENT | 1422 | 4 24 | 24 0 | Actif | Abandon | | +| BTN_DEL_CLIENT | 1378 | 4 24 | 24 0 | Actif | Normal | | +| BTN_MiseAJourBaseExt | 1173 | 4 24 | 24 0 | Actif | Normal | | +| BTN_Refresh_fiche_intervention | 1152 | 4 24 | 24 1 | Actif | Normal | | +| BTN_SynchroBaseExt | 1203 | 4 24 | 24 0 | Actif | Normal | | +| BTN_VAL_CLIENT | 1334 | 4 24 | 24 0 | Actif | Normal | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | staté siorT | +| --- | --------------------- | --------------- | --- | ------------ | --- | ----------- | +| | | ruegraL ruetuaH | | | | | +elbisiV +nalP +| INT_CL_Blocage | 1217 78 | 72 25 | 0 | Actif | 1 | | +| -------------- | ------- | ------- | --- | ----- | --- | ---- | +| 06/08/2026 | | Isis_BO | | | | 1920 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › 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_Chargement | | -203 | 134 | 10 | 10 | 0 | Actif | | | +| ------------------------- | --- | ---- | --- | ---- | --- | --- | ----- | --- | --- | +| IMG_Erreur | | -205 | 95 | 24 | 24 | 0 | Actif | | | +| IMG_OPACITE_ENTETE_CLIENT | | 0 | 1 | 1449 | 153 | 0 | Actif | | | +| IMG_Valide | | -209 | 105 | 24 | 24 | 0 | Actif | | | +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 +| | | | | nalP | | elbaT | eéirT | | | +| ------------------ | ---- | ------ | --- | ---- | ----- | -------- | ----- | --- | --- | +| COMBO_APPORTEUR | 446 | 94 176 | 22 | 0 | Actif | Variable | | Non | | +| COMBO_MODEREGLEME | 266 | 93 176 | 22 | 0 | Actif | Variable | | Non | | +| COMBO_NCL_IDStatut | 1188 | 54 130 | 22 | 0 | Actif | Variable | | Non | | +| COMBO_ORIGINE | 631 | 94 176 | 22 | 0 | Actif | Variable | | Non | | +| COMBO_TypeClient | 6 | 53 125 | 22 | 0 | Actif | Variable | | Non | | +| COMBO_nIDCivilite | 0 | 21 120 | 22 | 0 | Actif | Variable | | Non | | +Superchamp +BAT ehcuoT +| | | X noitisoP | | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | --- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_SIREN | | | 266 | 116 | 176 | 35 | 0 | Actif | | +| -------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Disposition +BAT ehcuoT +| | | X noitisoP | | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | --- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| DISP_BANDEAU_TYPE_CLIENT | | | 367 | 32 | 815 | 45 | 0 | Actif | | +| ------------------------ | --- | --- | --- | ------- | --- | --- | --- | ----- | ---- | +| 06/08/2026 | | | | Isis_BO | | | | | 1921 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Superchamp : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.SC_SIREN +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_NumSiren | 266 117 | 146 35 0 | Actif Texte | | Non | | +| ------------ | ------- | -------- | ----------- | --- | --- | --- | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | laitini tatE | sucof cevA | +| --- | --- | --------------------- | --- | --- | ------------ | ---------- | +cilc cevA +| | | | ruegraL ruetuaH | | | | +| --- | --- | --- | --------------- | --- | --- | --- | +elbisiV +nalP +| IMG_Erreur | | 411 126 | 24 24 | 0 | Actif | | +| ---------- | --- | ------- | ----- | --- | ----- | --- | +| IMG_Valide | | 411 126 | 24 24 | 0 | Actif | | +Fenêtre : FI_Fiche_Client +Fenêtre interne : FI_Fiche_Client +| UI par l'utilisateur | | Selon fenêtre | | | | | +| -------------------------------- | --- | ---------------------------------- | --- | --- | --- | --- | +| Menu contextuel | | | | | | | +| Unité des tailles | | Compatible desktop ET mobile | | | | | +| Taux Paral. hauteur | | 0 | | | | | +| Taux Paral. Y | | 0 | | | | | +| Épinglé | | Non | | | | | +| Masquer lors du scrolling | | Non | | | | | +| Ancrage au contenu | | | | | | | +| Numéro aide | | 0 | | | | | +| Thème destination | | Oui | | | | | +| Alignement sur l'axe secondaire | | défini par le champ flexbox (auto) | | | | | +| Facteur de rétrécissement | | 0 | | | | | +Facteur d'agrandissement +0 +| Ctx. HFSQL indép. | | Non | | | | | +| ----------------- | --- | ------- | --- | --- | --- | --- | +| Ancrage | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Isis_BO | | | 1922 | +| ---------- | --- | --- | ------- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Fenêtre interne : FI_Fiche_Client +Image : FI_Fiche_Client.IMG_Bloque +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\candado.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Fiche_Client.IMG_NonBloque +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\candado-abierto.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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 +06/08/2026 Isis_BO 1923 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Fiche_Client.SC_FIC_CLI +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 1458 +Hauteur externe 623 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1924 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Superchamp : FI_Fiche_Client.SC_FIC_CLI +Superchamp : FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI +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 782 +Hauteur externe 447 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Fiche_Client.SC_FIC_CLI.SC_COL_GAUCHE_CLI +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 622 +Hauteur externe 448 +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 +06/08/2026 Isis_BO 1925 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Superchamp : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT +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 1458 +Hauteur externe 157 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI +Fenêtre interne : +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 +Ancrage au contenu +Numéro aide 0 +Ascenseur auto. Non +06/08/2026 Isis_BO 1926 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › 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 +Swipe Non +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI.SC_SITE_CLI +Groupe GR_ALAPLACECFI +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 782 +Hauteur externe 262 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1927 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Superchamp : FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI.SC_TET_DOSS_CLI +Groupe GR_ALAPLACECFI +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 782 +Hauteur externe 32 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Séparateur : FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI.SPLIT_Site +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 +Sens Horizontal +Numéro aide 0 +Opacité 100 +Borne max. -1 +Borne min. -1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Sauve position Oui +Image D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\210 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1928 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Table : FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI.TABLE_Dossier +Groupe GR_CADENAS_CLIENT,GR_ALAPLACECFI +Ordre navigation -1 +Curseur survol 0 +Mode Loupe Filtre +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 0 +Marge en bas 0 +Marge à gauche 1 +Marge à droite 3 +Sens Vertical +Retrait gauche 2 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 500 +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 +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +06/08/2026 Isis_BO 1929 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationFicheClient.ListeDossier.m_clTabModele +Rub. mémorisée :gclPresentationFicheClient.ListeDossier.m_clTabModele +Ajout/Suppr. dans variable Non +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 +Superchamp : FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI.SC_SITE_CLI +Superchamp : +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 780 +Hauteur externe 55 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1930 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Table : FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI.SC_SITE_CLI.TABLE_Lieu +Groupe GR_CADENAS_CLIENT +Ordre navigation -1 +Curseur survol 0 +Mode Loupe Filtre +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 0 +Marge en bas 0 +Marge à gauche 1 +Marge à droite 3 +Sens Vertical +Retrait gauche 2 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 500 +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 +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +06/08/2026 Isis_BO 1931 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationFicheClient.ListeLieu.m_clTabModele +Rub. mémorisée :gclPresentationFicheClient.ListeLieu.m_clTabModele +Ajout/Suppr. dans variable Non +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 +Superchamp : +FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI.SC_SITE_CLI.SC_TET_SITE_CLI +Bouton : +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Ajouter un site +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +06/08/2026 Isis_BO 1932 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 : +Groupe GR_EDITLIEU_FICHE_CLIENT,GR_CADENAS_CLIENT +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Supprimer un site +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 1933 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Rechercher un site +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_chercher.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 1934 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_A_Droite.png +Nb. états image 5 +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 +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1935 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Bouton : +Groupe GR_EDITLIEU_FICHE_CLIENT +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Modifier un site +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 1936 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Bouton : +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Rechercher un dossier +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\dossier.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 1937 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_ADRESSE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +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 +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 +06/08/2026 Isis_BO 1938 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Sites +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1939 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Champ de saisie : +Groupe GR_CADENAS_CLIENT +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 755 +Largeur interne 317 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Rechercher un site parmi les sites non présent pour le client +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1940 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI.SC_SITE_CLI.TABLE_Lieu +Colonne de table : +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +06/08/2026 Isis_BO 1941 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Oui +Liaison des données :gclPresentationFicheClient.ListeLieu.m_clTabModele.ImageLieuPrincipalClient +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Bouton : +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\etoile_bleue_vide.png +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1942 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Colonne de table : +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +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 +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 +Liaison des données :gclPresentationFicheClient.ListeLieu.m_clTabModele.m_clLieu.ImageEtatLieu +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Image : +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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 +06/08/2026 Isis_BO 1943 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Texte Markdown Non +Mode menu ctx. +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 Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheClient.ListeLieu.m_clTabModele.m_clLieu.m_sCodeLieu +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1944 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Colonne de table : +Titre FR: Type +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 135 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Liaison des données :gclPresentationFicheClient.ListeLieu.m_clTabModele.m_clLieu.m_nIDType +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Code +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 +06/08/2026 Isis_BO 1945 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheClient.ListeLieu.m_clTabModele.m_clLieu.m_sCodeAcces +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Badge +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +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 +Liaison des données :gclPresentationFicheClient.ListeLieu.m_clTabModele.m_clLieu.m_bBadge +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1946 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Colonne de table : +Titre FR: Interphone +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +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 +Liaison des données :gclPresentationFicheClient.ListeLieu.m_clTabModele.m_clLieu.m_bInterphone +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Adresse +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 +06/08/2026 Isis_BO 1947 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheClient.ListeLieu.m_clTabModele.m_clLieu.m_clAdresse.m_sPresentation +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Note +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 +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 +Liaison des données :gclPresentationFicheClient.ListeLieu.m_clTabModele.m_clLieu.m_sNote +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1948 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Colonne de table : +Titre FR: IdLieu +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 +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 +Liaison des données :gclPresentationFicheClient.ListeLieu.m_clTabModele.m_clLieu.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: PKID +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 +06/08/2026 Isis_BO 1949 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Mot de passe Non +Masque saisie FR: MoneySystemMask +Mode ellipse +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 +Liaison des données :gclPresentationFicheClient.ListeLieu.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Principal +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +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 +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 +Liaison des données :gclPresentationFicheClient.ListeLieu.m_clTabModele.m_bLieuPrincipalCli +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1950 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Colonne de table : +Titre FR: Bloqué +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +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 +Liaison des données :gclPresentationFicheClient.ListeLieu.m_clTabModele.m_clLieu.m_bBlocage +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Raison du blocage +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 +06/08/2026 Isis_BO 1951 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheClient.ListeLieu.m_clTabModele.m_clLieu.m_sRaisonBlocage +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Superchamp : FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI.SC_TET_DOSS_CLI +Bouton : +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Ajouter un dossier +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 5 +06/08/2026 Isis_BO 1952 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Etirement de l'image de fond +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 : +Groupe GR_EDITDOSSIER_FICHE_CLIENT,GR_CADENAS_CLIENT +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Modifier le dossier +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +06/08/2026 Isis_BO 1953 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI.SC_TET_DOSS_CLI.IMG_ICONE_ +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_ADRESSE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI.SC_TET_DOSS_CLI.LIB_DOSSIER +Libellé FR: Dossiers +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 1954 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI.TABLE_Dossier +Colonne de table : +Titre FR: N° +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +06/08/2026 Isis_BO 1955 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Retour à la ligne Non +Coche tous dans entête Non +Liaison des données :gclPresentationFicheClient.ListeDossier.m_clTabModele.m_sRefInterne +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Date du Dossier +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: UseSystemMask +Mode ellipse +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 +Liaison des données :gclPresentationFicheClient.ListeDossier.m_clTabModele.m_dDebutDossier +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1956 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Colonne de table : +Titre FR: Type de Dossier +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 16 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Liaison des données :gclPresentationFicheClient.ListeDossier.m_clTabModele.m_nIDTypeDossier +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Titre +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 +06/08/2026 Isis_BO 1957 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheClient.ListeDossier.m_clTabModele.m_sTitre +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Ref. Externe +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 +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 +Liaison des données :gclPresentationFicheClient.ListeDossier.m_clTabModele.m_sRefExterne +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1958 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Colonne de table : +Titre FR: Statut +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 100 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Liaison des données :gclPresentationFicheClient.ListeDossier.m_clTabModele.m_nIDStatut +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: PKID +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 +06/08/2026 Isis_BO 1959 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: MoneySystemMask +Mode ellipse +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 +Liaison des données :gclPresentationFicheClient.ListeDossier.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Superchamp : FI_Fiche_Client.SC_FIC_CLI.SC_COL_GAUCHE_CLI +Image : +Groupe GR_IMAGE_OPAQUE_FICHE_CLIENT +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 50 +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. +Mire visible Non +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 1960 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Fiche_Client.SC_FIC_CLI.SC_COL_GAUCHE_CLI.SC_CONTACT_CLI +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 622 +Hauteur externe 150 +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 Hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Fiche_Client.SC_FIC_CLI.SC_COL_GAUCHE_CLI.SC_COORD_CLI +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 622 +Hauteur externe 280 +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 +06/08/2026 Isis_BO 1961 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Texte Markdown Non +Source de remplissage Table chargée en mémoire +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Fiche_Client.SC_FIC_CLI.SC_COL_GAUCHE_CLI.SC_CONTACT_CLI +Superchamp : +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 620 +Hauteur externe 53 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1962 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Table : +Groupe GR_CADENAS_CLIENT +Ordre navigation -1 +Curseur survol 0 +Mode Loupe Recherche +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) 20 +Marge en haut 0 +Marge en bas 0 +Marge à gauche 1 +Marge à droite 3 +Sens Vertical +Retrait gauche 2 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 500 +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 +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +06/08/2026 Isis_BO 1963 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationFicheClient.ListeContact.m_clTabModele +Rub. mémorisée :gclPresentationFicheClient.ListeContact.m_clTabModele +Ajout/Suppr. dans variable Non +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 +Superchamp : +FI_Fiche_Client.SC_FIC_CLI.SC_COL_GAUCHE_CLI.SC_CONTACT_CLI.SC_TET_CONTACT_CLI +Bouton : +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Ajouter un contact +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +06/08/2026 Isis_BO 1964 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 : +Groupe GR_EDITCONTACT_FICHE_CLIENT,GR_CADENAS_CLIENT +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Supprimer le contact +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 1965 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GR_EDITCONTACT_FICHE_CLIENT +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Modifier le contact +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 1966 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Bouton : +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Rechercher un contact +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_chercher.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 1967 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_A_Droite.png +Nb. états image 5 +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 +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1968 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_ADRESSE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Contacts +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 1969 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1970 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Champ de saisie : +Groupe GR_CADENAS_CLIENT +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 117 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1971 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : +FI_Fiche_Client.SC_FIC_CLI.SC_COL_GAUCHE_CLI.SC_CONTACT_CLI.TABLE_Interlocuteur +Colonne de table : +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +06/08/2026 Isis_BO 1972 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Oui +Liaison des données :gclPresentationFicheClient.ListeContact.m_clTabModele.ImageContactPrincipalClient +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Bouton : +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\etoile_verte_vide.png +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1973 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Colonne de table : +Titre FR: Nom : +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 50 +Mot de passe Non +Masque saisie FR: 2 +Mode ellipse +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 +Liaison des données :gclPresentationFicheClient.ListeContact.m_clTabModele.m_sNom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Prénom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 50 +06/08/2026 Isis_BO 1974 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheClient.ListeContact.m_clTabModele.m_sPrenom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Tél. fixe +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 15 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheClient.ListeContact.m_clTabModele.m_sTelFixe +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1975 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Colonne de table : +Titre FR: Tél. mobile +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 15 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Oui +Retour à la ligne Non +Coche tous dans entête Non +Liaison des données :gclPresentationFicheClient.ListeContact.m_clTabModele.m_sTelMobile +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Rôle +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 180 +Larg. déroulée perso. Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +06/08/2026 Isis_BO 1976 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Mode ellipse +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 +Liaison des données :gclPresentationFicheClient.ListeContact.m_clTabModele.m_nIDRole +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: sEmail +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 +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 +Liaison des données :gclPresentationFicheClient.ListeContact.m_clTabModele.m_sEmail +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1977 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Colonne de table : +Titre FR: IdContact +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 +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 +Liaison des données :gclPresentationFicheClient.ListeContact.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Adresse +Curseur survol 0 +UI par l'utilisateur +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 +06/08/2026 Isis_BO 1978 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Mot de passe Non +Mode ellipse +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 +Liaison des données :gclPresentationFicheClient.ListeContact.m_clTabModele.m_clAdresse.m_sPresentation +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: PKID +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: MoneySystemMask +Mode ellipse +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 +Liaison des données :gclPresentationFicheClient.ListeContact.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1979 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Colonne de table : +Titre FR: bPrincipal +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +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 +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 +Liaison des données :gclPresentationFicheClient.ListeContact.m_clTabModele.m_bContactPrincipalCli +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: NomPrenom +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 +06/08/2026 Isis_BO 1980 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheClient.ListeContact.m_clTabModele.NomPrenom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Superchamp : FI_Fiche_Client.SC_FIC_CLI.SC_COL_GAUCHE_CLI.SC_COORD_CLI +Combo : +Libellé FR: Type +Groupe GR_EDITADRESSE_FICHE_CLIENT,GR_CADENAS_CLIENT +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 272 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 263 +Largeur interne 272 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Type d'adresse +Numéro aide 0 +Texte d'indication si vide FR: Type d'adresse +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +06/08/2026 Isis_BO 1981 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › 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. +Avec recherche Non +Liaison des données :gclPresentationFicheClient.ListeAdresse.p_clCourant.m_nIDTypeAdresse +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeAdresse.m_clTabVisible +Filtre 04 +Rub. affichée :gpclListeTypeAdresse.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeTypeAdresse.m_clTabVisible.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1982 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Libellé : +Libellé FR: Code postal +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Client.SC_FIC_CLI.SC_COL_GAUCHE_CLI.SC_COORD_CLI.LIB_ETIQUETTE +Libellé FR: Etiquette +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 +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 +06/08/2026 Isis_BO 1983 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Ligne d'adresse +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1984 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Libellé : FI_Fiche_Client.SC_FIC_CLI.SC_COL_GAUCHE_CLI.SC_COORD_CLI.LIB_VILLE +Libellé FR: Ville +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Code postal +Groupe GR_EDITADRESSE_FICHE_CLIENT +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +06/08/2026 Isis_BO 1985 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Cadrage horz. Gauche +Position X interne 201 +Largeur interne 79 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Saisir le code postal +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 15 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 Jamais +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFicheClient.ListeAdresse.p_clCourant.m_clAdresse.m_sCodePostal +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +06/08/2026 Isis_BO 1986 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Etiquette +Groupe GR_EDITADRESSE_FICHE_CLIENT,GR_CADENAS_CLIENT +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 201 +Largeur interne 268 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Etiquette de l'adresse +Numéro aide 0 +Texte d'indication si vide FR: Donner une étiquette à votre adresse +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 +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +06/08/2026 Isis_BO 1987 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › 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 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. +Liaison des données :gclPresentationFicheClient.ListeAdresse.p_clCourant.m_clAdresse.m_sEtiquette +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1988 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Champ de saisie : +Libellé FR: Adresse +Groupe GR_EDITADRESSE_FICHE_CLIENT,GR_CADENAS_CLIENT +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 201 +Largeur interne 268 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: CIVILITÉ-TITRE ou QUALITÉ / PRÉNOM NOM / RAISON SOCIALE +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1989 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +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. +Liaison des données :gclPresentationFicheClient.ListeAdresse.p_clCourant.m_clAdresse.m_sLigne_1 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_EDITADRESSE_FICHE_CLIENT +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 201 +Largeur interne 268 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: N°APP ou BAL-ÉTAGE-COULOIR-ESC / IDENTITÉ DESTINATAIRE et/ou SERVICE +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 1990 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 Jamais +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFicheClient.ListeAdresse.p_clCourant.m_clAdresse.m_sLigne_2 +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 +06/08/2026 Isis_BO 1991 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_EDITADRESSE_FICHE_CLIENT +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 201 +Largeur interne 268 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: ENTRÉE - BÂTIMENT - IMMEUBLE - RÉSIDENCE / ZI +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1992 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › 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 Jamais +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFicheClient.ListeAdresse.p_clCourant.m_clAdresse.m_sLigne_3 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_EDITADRESSE_FICHE_CLIENT,GR_CADENAS_CLIENT +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 201 +Largeur interne 268 +06/08/2026 Isis_BO 1993 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Saisir le numéro et le libellé de la voie +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 Jamais +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFicheClient.ListeAdresse.p_clCourant.m_clAdresse.m_sLigne_4 +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 +06/08/2026 Isis_BO 1994 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome Couleur monochrome du style +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_EDITADRESSE_FICHE_CLIENT,GR_CADENAS_CLIENT +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 201 +Largeur interne 268 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Saisir un lieu dit ou un service particulier de distribution ou une mention spéciale +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 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 1995 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +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. +Liaison des données :gclPresentationFicheClient.ListeAdresse.p_clCourant.m_clAdresse.m_sLigne_5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Ville +Groupe GR_EDITADRESSE_FICHE_CLIENT +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +06/08/2026 Isis_BO 1996 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 282 +Largeur interne 187 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: saisir la ville +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 45 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFicheClient.ListeAdresse.p_clCourant.m_clAdresse.m_sVille +Gestion Euro Non +06/08/2026 Isis_BO 1997 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : +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 620 +Hauteur externe 34 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 1998 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Table : +Libellé FR: Table +Groupe GR_CADENAS_CLIENT +Ordre navigation -1 +Curseur survol 0 +Mode Loupe Filtre +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) 16 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 1999 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationFicheClient.ListeAdresse.m_clTabModele +Rub. mémorisée :gclPresentationFicheClient.ListeAdresse.m_clTabModele +Ajout/Suppr. dans variable Non +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 +Superchamp : +FI_Fiche_Client.SC_FIC_CLI.SC_COL_GAUCHE_CLI.SC_COORD_CLI.SC_TET_COORD_CLI +Bouton : +Groupe GR_CADENAS_CLIENT +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Ajouter une adresse +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Isis_BO 2000 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Type flèche +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GR_EDITADRESSE_FICHE_CLIENT,GR_CADENAS_CLIENT +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Supprimer une adresse +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +06/08/2026 Isis_BO 2001 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2002 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Bouton : +Groupe GR_EDITADRESSE_FICHE_CLIENT,GR_CADENAS_CLIENT +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Modifier l'adresse +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2003 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Valider l'adresse +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2004 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_MAISON.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Coordonnées +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 2005 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : +FI_Fiche_Client.SC_FIC_CLI.SC_COL_GAUCHE_CLI.SC_COORD_CLI.TABLE_Client_Adresse +Colonne de table : +Titre FR: SEL +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2006 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Colonne de table : +Titre FR: Etiquette +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 +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 +Liaison des données :gclPresentationFicheClient.ListeAdresse.m_clTabModele.m_clAdresse.m_sEtiquette +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Type d'adresse +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 120 +Larg. déroulée perso. Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +06/08/2026 Isis_BO 2007 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Mode ellipse +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 +Liaison des données :gclPresentationFicheClient.ListeAdresse.m_clTabModele.m_nIDTypeAdresse +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Adresse +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 +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 +Liaison des données :gclPresentationFicheClient.ListeAdresse.m_clTabModele.m_clAdresse.m_sPresentation +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2008 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Colonne de table : +Titre FR: PKID +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: MoneySystemMask +Mode ellipse +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 +Liaison des données :gclPresentationFicheClient.ListeAdresse.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Superchamp : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT +Bouton : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.BTN_ADD_CLIENT +Groupe GR_MODEOPAQUE_FICHE_CLIENT +Ordre navigation -1 +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 +06/08/2026 Isis_BO 2009 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › 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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 : +Groupe ,GR_MODEOPAQUE_FICHE_DOSSIER +Ordre navigation -1 +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 +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 +06/08/2026 Isis_BO 2010 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_Cadenas_Fermer_rouge.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 : +Groupe ,GR_MODEOPAQUE_FICHE_DOSSIER +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_Cadenas.png +06/08/2026 Isis_BO 2011 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.BTN_CLOSE_CLIENT +Groupe GR_MODEOPAQUE_FICHE_CLIENT +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 2012 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.BTN_DEL_CLIENT +Groupe GR_MODEOPAQUE_FICHE_CLIENT,GR_CADENAS_CLIENT +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2013 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Bouton : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.BTN_MiseAJourBaseExt +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\poulieActualiser.png +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2014 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_refresh.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2015 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Bouton : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.BTN_SynchroBaseExt +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\batigest_poulie.png +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2016 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Bouton : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.BTN_VAL_CLIENT +Groupe GR_MODEOPAQUE_FICHE_CLIENT,GR_CADENAS_CLIENT +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2017 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Combo : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.COMBO_APPORTEUR +Groupe GR_CADENAS_CLIENT,GR_Nouveau +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 176 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 446 +Largeur interne 176 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Apporteur +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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 +06/08/2026 Isis_BO 2018 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Oui +Liaison des données :gclPresentationFicheClient.m_nIDApporteur +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeApporteurClient.m_clTabVisible +Filtre 2 +Rub. affichée :gpclListeApporteurClient.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeApporteurClient.m_clTabVisible.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 260 Taux anc. bas 1000 Taux anc. largeur 80 Taux anc. hauteur 1000 +Combo : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.COMBO_MODEREGLEMENT +Groupe GR_CADENAS_CLIENT,GR_Nouveau +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 176 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 266 +Largeur interne 176 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Apporteur +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Isis_BO 2019 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +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. +Avec recherche Oui +Liaison des données :gclPresentationFicheClient.m_nIDModeReglement +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeModeReglementCli.m_clTabModele +Filtre 2 +Rub. affichée :gpclListeModeReglementCli.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeModeReglementCli.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 170 Taux anc. bas 1000 Taux anc. largeur 80 Taux anc. hauteur 1000 +Combo : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.COMBO_NCL_IDStatut +Libellé FR: Statut +Groupe GR_CADENAS_CLIENT,GR_Nouveau +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Isis_BO 2020 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 130 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 1188 +Largeur interne 130 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Statut du client +Numéro aide 0 +Texte d'indication si vide FR: Statut du client +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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. +Avec recherche Non +Liaison des données :gclPresentationFicheClient.m_nIDStatut +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeStatutClient.m_clTabVisible +Filtre 03 +Rub. affichée :gpclListeStatutClient.m_clTabVisible.m_sLibelle +06/08/2026 Isis_BO 2021 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Rub. mémorisée :gpclListeStatutClient.m_clTabVisible.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.COMBO_ORIGINE +Groupe GR_CADENAS_CLIENT,GR_Nouveau +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 176 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 631 +Largeur interne 176 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Origine +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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 +06/08/2026 Isis_BO 2022 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +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. +Avec recherche Oui +Liaison des données :gclPresentationFicheClient.m_nIDOrigine +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeOrigineClient.m_clTabVisible +Filtre 2 +Rub. affichée :gpclListeOrigineClient.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeOrigineClient.m_clTabVisible.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 340 Taux anc. bas 1000 Taux anc. largeur 80 Taux anc. hauteur 1000 +Combo : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.COMBO_TypeClient +Libellé FR: Type de client +Groupe GR_CADENAS_CLIENT +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 125 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 6 +06/08/2026 Isis_BO 2023 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Largeur interne 125 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Type de client +Numéro aide 0 +Texte d'indication si vide FR: Type de client +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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. +Avec recherche Non +Liaison des données :gclPresentationFicheClient.m_nIDType +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeClient.m_clTabVisible +Filtre 02 +Rub. affichée :gpclListeTypeClient.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeTypeClient.m_clTabVisible.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2024 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Combo : +Libellé FR: Civilité +Groupe GR_CADENAS_PERS +Ordre navigation 6 +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 120 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 727 +Largeur interne 120 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Civilité du contact +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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 Oui +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +06/08/2026 Isis_BO 2025 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Liaison des données :gpclFicheContactDefaut.m_nIDCivilite +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeCivilite.m_clTabModele +Filtre 1 +Rub. affichée :gpclListeCivilite.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeCivilite.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +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 +Disposition : +Libellé FR: Disposition +Groupe GR_Nouveau +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2026 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Image : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.IMG_Chargement +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\CM_IMG-Chargement-20.svg +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Vérification du numéro de TVA Européen en cours +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.IMG_Erreur +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\CM_IMG-Erreur.svg +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 2027 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › 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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Groupe GR_IMAGE_OPAQUE_FICHE_CLIENT +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 50 +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. +Mire visible Non +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 2028 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.IMG_Valide +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\CM_IMG-Valider-02.svg +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Numéro de TVA valide +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2029 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Interrupteur : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.INT_CL_Blocage +Valeur initiale 0 +Groupe GR_USER,GR_Nouveau +Ordre navigation -1 +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 +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 Toute la hauteur de l'option +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 Oui +Option format RTF Non +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFicheClient.m_bBlocageCciale +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 800 Taux anc. bas 1000 Taux anc. largeur 10 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2030 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Libellé : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.LIB_APPORTEUR +Libellé FR: Apporté par +Groupe GR_Nouveau +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 +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 +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 +Taux anc. droite 260 Taux anc. bas 1000 Taux anc. largeur 80 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Civilité +Groupe GR_Nouveau +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Isis_BO 2031 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.LIB_CODECLIENT +Libellé FR: Code client +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 +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 +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 Largeur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 80 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2032 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Libellé : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.LIB_CODECOMPTABLE +Libellé FR: Code comptable +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 +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 +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Email +Groupe GR_Nouveau +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 2033 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Email +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 +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 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2034 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Libellé : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.LIB_Erreur +Libellé FR: Numéro invalide +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Téléphone 2 +Groupe GR_Nouveau +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 2035 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.LIB_FORMEJURIDIQUE +Libellé FR: Forme juridique +Groupe GR_Nouveau +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 +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 +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 +Taux anc. droite 90 Taux anc. bas 1000 Taux anc. largeur 80 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2036 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Libellé : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.LIB_InfoSupp +Libellé FR: Informations supplémentaires +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 +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 +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 +Taux anc. droite 420 Taux anc. bas 1000 Taux anc. largeur 380 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.LIB_MODEREGLEMENT +Libellé FR: Mode de règlement +Groupe GR_Nouveau +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 2037 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 170 Taux anc. bas 1000 Taux anc. largeur 80 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.LIB_NOM +Libellé FR: Nom du client +Groupe GR_NOM_CLIENT,GR_Nouveau +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 +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 +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 +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2038 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Libellé : +Libellé FR: Nom +Groupe GR_Nouveau +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 +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 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.LIB_ORIGINE +Libellé FR: Origine +Groupe GR_Nouveau +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Isis_BO 2039 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 340 Taux anc. bas 1000 Taux anc. largeur 80 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Prénom +Groupe GR_Nouveau +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 +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 +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 Droite +06/08/2026 Isis_BO 2040 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.LIB_RAISONBLOCAGE +Libellé FR: Raison du blocage +Groupe GR_BLOCAGE,GR_Nouveau +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 +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 +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 Droite +Taux anc. droite 810 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.LIB_STATUTCLIETN +Libellé FR: Statut du client +Groupe GR_Nouveau +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 +06/08/2026 Isis_BO 2041 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +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 +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Téléphone 1 +Groupe GR_Nouveau +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 +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 +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 +06/08/2026 Isis_BO 2042 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Téléphone n°1 +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 +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 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2043 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Libellé : +Libellé FR: Téléphone n°2 +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 +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 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.LIB_TYPECLIETN +Libellé FR: Type du client +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 +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 +06/08/2026 Isis_BO 2044 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Titre +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2045 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Libellé : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.LIB_Valide +Libellé FR: +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Raison du blocage +Groupe GR_CADENAS_PERS,GR_BLOCAGE,GR_Nouveau +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +06/08/2026 Isis_BO 2046 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Cadrage horz. Gauche +Position X interne 1217 +Largeur interne 232 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Raison du blocage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 Non +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. +Liaison des données :gclPresentationFicheClient.m_sRaisonBlocage +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +06/08/2026 Isis_BO 2047 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +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 +Taux anc. droite 800 Taux anc. bas 1000 Taux anc. largeur 190 Taux anc. hauteur 1000 +Champ de saisie : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.SAI_CODE_CLIENT +Libellé FR: Code +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 6 +Largeur interne 125 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Code client +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 100 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2048 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +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. +Liaison des données :gclPresentationFicheClient.m_sCodeClient +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 80 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Code +Groupe GR_Nouveau +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +06/08/2026 Isis_BO 2049 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 135 +Largeur interne 125 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Code client +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 100 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +06/08/2026 Isis_BO 2050 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Liaison des données :gclPresentationFicheClient.m_sFormeJuridique +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 +Taux anc. droite 90 Taux anc. bas 1000 Taux anc. largeur 80 Taux anc. hauteur 1000 +Champ de saisie : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.SAI_InfoSupp +Libellé FR: Information supplémentaire +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 818 +Largeur interne 386 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Nom du contact +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +06/08/2026 Isis_BO 2051 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +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 Jamais +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFicheClient.m_sInfoSup +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 +Taux anc. droite 420 Taux anc. bas 1000 Taux anc. largeur 380 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2052 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Champ de saisie : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.SAI_NumSiret +Libellé FR: SIRET +Ordre navigation 16 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 446 +Largeur interne 176 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Texte d'indication si vide FR: n° SIRET +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 14 +Masque saisie FR: 25 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 Non +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 +06/08/2026 Isis_BO 2053 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › 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 Jamais +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFicheClient.m_sSIRET +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.SAI_Pays +Libellé FR: Pays +Valeur initiale FR: FR +Ordre navigation 13 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 5 +Largeur interne 55 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 2054 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Format HTML 0 +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 8 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 Non +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. +Liaison des données :gclPresentationFicheClient.m_sPays +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 +06/08/2026 Isis_BO 2055 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Code comptable +Groupe GR_CADENAS_CLIENT +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1322 +Largeur interne 130 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Email du contact +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 50 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2056 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › 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. +Liaison des données :gclPresentationFicheClient.m_sCodeComptable +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Email +Groupe GR_CADENAS_CLIENT +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 555 +06/08/2026 Isis_BO 2057 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Largeur interne 172 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Email du contact +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 50 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFicheClient.m_sEmail +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 +06/08/2026 Isis_BO 2058 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +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 +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Téléphone portable +Groupe GR_CADENAS_CLIENT +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 461 +Largeur interne 90 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Téléphone mobile du contact +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 14 +Masque saisie FR: 21 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2059 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +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. +Liaison des données :gclPresentationFicheClient.m_sFax +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 +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Champ de saisie : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.SAI_SCL_Nom +Libellé FR: Nom +Groupe GR_NOM_CLIENT,GR_Nouveau +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +06/08/2026 Isis_BO 2060 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 135 +Largeur interne 230 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Nom du client +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 100 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFicheClient.m_sNom +06/08/2026 Isis_BO 2061 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Téléphone +Groupe GR_CADENAS_CLIENT +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 367 +Largeur interne 90 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Téléphone fixe du contact +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 14 +Masque saisie FR: 21 +Masque affichage FR: 21 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +06/08/2026 Isis_BO 2062 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Mode ellipse +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. +Liaison des données :gclPresentationFicheClient.m_sTel +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 +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2063 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Champ de saisie : +Libellé FR: Email +Groupe GR_CADENAS_PERS +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1369 +Largeur interne 172 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Email du contact +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 +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 +06/08/2026 Isis_BO 2064 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +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. +Liaison des données :gpclFicheContactDefaut.m_sEmail +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Nom +Groupe GR_CADENAS_PERS +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 851 +Largeur interne 172 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Nom du contact +Numéro aide 0 +06/08/2026 Isis_BO 2065 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 50 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 Jamais +Texte Markdown Non +Mode menu ctx. +Liaison des données :gpclFicheContactDefaut.m_sNom +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 +06/08/2026 Isis_BO 2066 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Prénom +Groupe GR_CADENAS_PERS +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1027 +Largeur interne 150 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Prénom du contact +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 50 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2067 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › 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 +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. +Liaison des données :gpclFicheContactDefaut.m_sPrenom +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Téléphone fixe +Groupe GR_CADENAS_PERS +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +06/08/2026 Isis_BO 2068 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Position X interne 1181 +Largeur interne 90 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Téléphone fixe du contact +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 14 +Masque saisie FR: 21 +Masque affichage FR: 21 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gpclFicheContactDefaut.m_sTelFixe +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +06/08/2026 Isis_BO 2069 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Téléphone portable +Groupe GR_CADENAS_PERS +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1275 +Largeur interne 90 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Téléphone mobile du contact +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 14 +Masque saisie FR: 21 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Isis_BO 2070 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › 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) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. +Liaison des données :gpclFicheContactDefaut.m_sTelMobile +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2071 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Champ de saisie : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.SAI_TVA +Libellé FR: Numéro de TVA +Ordre navigation 14 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 68 +Largeur interne 192 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Texte d'indication si vide FR: TVA intracommunautaire +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 13 +Masque saisie FR: 8 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 Non +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 +06/08/2026 Isis_BO 2072 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › 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. +Liaison des données :gclPresentationFicheClient.m_sCodeTVA +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.SC_SIREN +Note pour la documentation technique +FR: Ce superchamp permet de contrôler un numéro SIREN, qui est un identifiant d'entreprise. Il est composé de 8 chiffres et d'un +chiffre de contrôle qui est utilisé lors de la vérification de la validité du numéro. +Ce superchamp est composé de 4 éléments : +- un champ de saisie permettant de saisir le numéro SIREN +- un champ Bouton contenant le code de vérification de ce numéro +- un champ Libellé +- un champ Image symbolisant le numéro SIREN +Ordre navigation 15 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Largeur externe 176 +Hauteur externe 35 +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 +06/08/2026 Isis_BO 2073 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Superchamp : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.SC_SIREN +Image : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.SC_SIREN.IMG_Erreur +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\CM_IMG-Erreur.svg +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Numéro de carte bancaire invalide +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2074 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Image : FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.SC_SIREN.IMG_Valide +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\CM_IMG-Valider-02.svg +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Numéro de carte bancaire valide +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: SIREN +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Isis_BO 2075 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 266 +Largeur interne 146 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Texte d'indication si vide FR: n° SIREN +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 9 +Masque saisie FR: 24 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 Non +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. +Liaison des données :gclPresentationFicheClient.m_sSIREN +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 2076 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Informations sur les champs +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 +| | 1000 | 1000 | 1000 | 1000 | +| --- | ---- | ---- | ---- | ---- | +Taux anc. droite Taux anc. bas Taux anc. largeur Taux anc. hauteur +FI_Fiche_Client +Messages multilingues +¹ .ssem °N +Message +2000 FR: Confirmez vous la suppression ? +2001 FR: Confirmez vous la suppression ? +2002 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FI_Fiche_Client +Code des champs +Déclarations globales de FI_Fiche_Client +procédure FI_Fiche_Client(gclPresentationFicheClient est un PFicheClient dynamique=Null, +paramSupplementaire est un STParamFenetreAppelante=Null) +maProcMAJObjetRetourFI est une procédure = MAJObjetRetourFI +| gsTriEnCoursContact | est une chaîne | | | | +| ------------------- | -------------- | --- | --- | --- | +| gsTriEnCoursLieu | est une chaîne | | | | +| gsTriEnCoursDossier | est une chaîne | | | | +| gsTriEnCoursAdresse | est une chaîne | | | | +| gnDelai | est un entier | | | | +gbAppelProcFenAppelante est un booléen +| gbDoublonVerife | est un booléen | | | | +| -------------------- | -------------------------- | ------- | --- | ---- | +| gbIgnoreDeboqueEnreg | est un booléen | | | | +| gnIdTypeParticulier | est un entier sur 8 octets | | | | +| gnIdRoleProprietaire | est un entier sur 8 octets | | | | +| vParent | est un Champ | | | | +| vNomFenInterne | est une chaîne | | | | +| 06/08/2026 | | Isis_BO | | 2077 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +gnPosRechercheSite est un entier +gnPosRechercheCont est un entier +gbFicheBloque est un booléen +Evénement(TriColonne,"TABLE_Interlocuteur",1529) +Evénement(TriColonne,"TABLE_Lieu",1529) +Evénement(TriColonne,"TABLE_Dossier",1529) +Evénement(TriColonne,"TABLE_Client_Adresse",1529) +Evénement(SurActivite, "*.*", WM_LBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_RBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_MBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_MOUSEMOVE) +Evénement(SurActivite, "*.*", WM_KEYDOWN) +//gclPresenListContact est un PTablePersonne dynamique +// liste des contacts du client +//gclPresenListAdresse est un PTableClient_Adresse dynamique +// liste des adresses du client +//gclPresenListLieu est un PTableLieu dynamique +//liste des lieux du client +//gclPresenListClient_Lieu est un PTableClient_Lieu dynamique //liste relation +Client_Lieu +//gclPresenFicheLieu est un PficheLieu dynamique +//gbEnSuppression est un booléen +gclListeRoleContactCli est un PTableParametreMetier dynamique +gpclFicheContactDefaut est un PFichePersonne dynamique +//gclFicheClientAdresse est un PFicheClient_Adresse dynamique +//Titre de la fenêtre +LIB_Titre_de_fenêtre_Fiche_client = paramSupplementaire.eTypeAppel=Libre _et_ +gclPresentationFicheClient:m_nPKID = 0 ? "Nouveau client" sinon paramSupplementaire.sTitreFenetre<>"" ? +paramSupplementaire.sTitreFenetre sinon "Client" +local +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentationFicheClient=Null alors +gclPresentationFicheClient=PFicheClient.gNouvellePresentation() +fin +gnDelai = DonneValeurTimeOutObjet(gclPresentationFicheClient) +PFicheClient.gListeAdresses(gclPresentationFicheClient) +PFicheClient.gListeContacts(gclPresentationFicheClient) +//PFicheClient.gListeLieux(gclPresentation) +PFicheClient.gListeLieu(gclPresentationFicheClient) +PFicheClient.gListeDossier(gclPresentationFicheClient) +//gclPresenListContact <- gclPresentationFicheClient.ListeContact +si gclPresentationFicheClient<> Null _et_ gclPresentationFicheClient:FicheClientBddExterne=Null _et_ +gtaBaseExterneParIndice..Occurrence>0 alors +PFicheClient.gFicheClientBddExterne(gclPresentationFicheClient,0) +fin +clPers est un MPersonne +//gclPresenListClient_Lieu <- gclPresentationFicheClient.ListeLieu +gpclFicheContactDefaut = allouer un PFichePersonne(clPers) +gclListeRoleContactCli <-gpclListeRoleContact//= DonneRoleContactClient() +//ListeAffiche(COMBO_NPE_IDRole,tainit) +//ListeAffiche(COMBO_nIDTypeAdresse,taInit) +gnIdTypeParticulier = gpclListeTypeClient.RechercheEtDonneIdDepuisValeur("2") +gnIdRoleProprietaire= gpclListeRoleContact.RechercheEtDonneIdDepuisValeur("*1") +//PFicheClient.gFicheLieu(gclPresentation,*,-1,Vrai,"",Faux) +BlocEnregistrement(gclPresentationFicheClient,ActiveTimer,BTN_CADENAS_FERME_CLIENT,BTN_ +CADENAS_OUVERT_CLIENT,GR_CADENAS_CLIENT,SC_FIC_CLI) +gbFicheBloque = gclPresentationFicheClient:m_bBlocageEcriture +Fin d'initialisation de FI_Fiche_Client +06/08/2026 Isis_BO 2078 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +SourceVersEcran("","gclPresentationFicheClient") +si TABLE_Client_Adresse..Occurrence>0 alors +TableSelectPlus(TABLE_Client_Adresse,TABLE_Client_Adresse..Occurrence) +ExécuteTraitement(TABLE_Client_Adresse,trtSélection) +SourceVersEcran("","gclPresentationFicheClient") +fin +//SAI_SCL_Nom..Visible = vrai +//SI gclPresentationFicheClient<>Null _ET_ gclPresentationFicheClient:m_nPKID = 0 ALORS +// GR_Nouveau..Visible = vrai +//FIN +FI_Fiche_Client..Plan=1 +si gclPresentationFicheClient<>Null _et_ gclPresentationFicheClient:m_nPKID = 0 alors +ListeSelectPlus(COMBO_TypeClient,1) +DonneFocusChamp() +// ListeSelectPlus(COMBO_NCL_IDStatut,1) +sinon si gclPresentationFicheClient<>Null _et_ gclPresentationFicheClient:m_nIDType= gn +IdTypeParticulier _et_ gclPresentationFicheClient:ListeContact<>Null _et_ gclPresentationFicheClient: +ListeContact:p_nTotal>0 alors +nIndice est un entier = TableauCherche(gclPresentationFicheClient:ListeContact:m_clTabModele, +tcLinéaire,"m_nPKID",gclPresentationFicheClient:m_nIDContactPrincipal,1) +si nIndice>0 alors +clPresentation est un PFichePersonne(gclPresentationFicheClient:ListeContact:m_clTabModele[ +nIndice],*) +gpclFicheContactDefaut <- clPresentation +//gclPresentationFicheClient:ListeContact:p_clCourant = gpclFicheContactDefaut:p_clCourant +SourceVersEcran("","gpclFicheContactDefaut") +fin +fin +si gclPresentationFicheClient <> Null _et_ gclPresentationFicheClient:m_nPKID = 0 alors +sValStatutClientDef est une chaîne = ParametreLit("STATUT_CLIENT_PARDEFAUT") +si Val(sValStatutClientDef) > 0 alors +ListeSelectPlus(COMBO_NCL_IDStatut, ListeCherche(COMBO_NCL_IDStatut, gpclListeStatutClient: +RechercheEtDonneIdDepuisValeur(sValStatutClientDef))) +gclPresentationFicheClient:m_nIDStatut = COMBO_NCL_IDStatut +fin +fin +GestionTypeClient() +si paramSupplementaire.eTypeAppel dans (Libre,DansOnglet) alors +vParent<-VoletDuChamp(SC_FIC_CLI) +// Récupère le nom de la fenêtre interne associée à cet onglet dynamique +vNomFenInterne=EnumèreChamp(vParent,1,parOrdreDeCréation) +sinon si paramSupplementaire.eTypeAppel=DansChampFI +vNomFenInterne = {MaFenêtreInterne..Nom,indChamp}..FenêtreSource +fin +si gpclListeParamAppli:m_clTabModele["PREFIXE_CODE_CLIENT"]:m_sValeur<>"" _et_ SAI_SCL_Nom="" alors +SAI_CODE_CLIENT = CreaCompteur(gpclListeParamAppli:m_clTabModele[ +"PREFIXE_CODE_CLIENT"]:m_sValeur,-1,-1,Vrai,gpclListeParamAppli:m_clTabModele[ +"TAILLE_COMPTEUR_CLIENT"]:m_sValeur) +SAI_SCL_CODECOMPTABLE = Remplace(SAI_CODE_CLIENT,gpclListeParamAppli: +m_clTabModele["PREFIXE_CODE_CLIENT"]:m_sValeur,gpclListeParamAppli:m_clTabModele[ +"PREFIXE_CODE_COMPTABLE_CLIENT"]:m_sValeur) +gclPresentationFicheClient:m_sCodeClient = SAI_CODE_CLIENT +gclPresentationFicheClient:m_sCodeComptable= SAI_SCL_CODECOMPTABLE +fin +BTN_MiseAJourBaseExt..Visible = gbBATIGESTActif +BTN_SynchroBaseExt..Visible=gbBATIGESTActif +TABLE_Dossier.COL_RefExterne..Visible = ParametreLit("AVEC_REFEXT_DOSSIER") +TABLE_Dossier.COL_IDTypeDossier..Visible = ParametreLit("AVEC_TYPEDOS_DOSSIER") +06/08/2026 Isis_BO 2079 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +////Initialise la variable à passer en paramètre avec les valeurs communes +//stParam est un STParamFenetreAppelante = +DonneParam(DansChampFI,"FI_Fiche_Client","sNomChamp",maProcMAJObjetRetourFI) +//stParam.sNomIDAppelant = "ClientListeLieu" +//stParam.sTitreFenetre = "Sélectionnez le site" +//stParam.pclObjetAppelant = gclPresentationFicheClient +//stParam.bMultiSelect = Vrai +////DesactiveAffichage() +//CFI_SOUSELEMENT_FICHE_CLIENT..Visible = Vrai +//GR_ALAPLACECFI..Visible = Faux +//ChangeFenêtreSource(CFI_SOUSELEMENT_FICHE_CLIENT,FI_Liste_Lieu,*,stParam) +GestionBoutonExportBaseExterne(gclPresentationFicheClient) +si gclPresentationFicheClient:m_nPKID = 0 alors +//GR_Nouveau..Visible = Faux +SC_COL_DROITE_CLI..Visible = Faux +SC_COL_GAUCHE_CLI..Visible = Faux +sinon +SC_COL_DROITE_CLI..Visible = Vrai +SC_COL_GAUCHE_CLI..Visible = Vrai +fin +Demande de mise à jour de l'affichage de FI_Fiche_Client +si gclPresentationFicheClient<>Null _et_ gclPresentationFicheClient est PFicheClient alors +gclPresentationFicheClient:m_bBlocageEcriture = gbFicheBloque +// Dans la mise a jour de l'objet cette information peut être perdu +nIndice est un entier = TableauCherche(gclPresentationFicheClient:ListeContact:m_clTabModele, +tcLinéaire,"m_nPKID",gclPresentationFicheClient:m_nIDContactPrincipal,1) +si nIndice>0 alors +clPresentation est un PFichePersonne(gclPresentationFicheClient:ListeContact:m_clTabModele[ +nIndice],*) +gpclFicheContactDefaut <- clPresentation +//gclPresentationFicheClient:ListeContact:p_clCourant = gpclFicheContactDefaut:p_clCourant +SourceVersEcran("","gpclFicheContactDefaut") +fin +SourceVersEcran("","gclPresentationFicheClient") +//SourceVersEcran("","gpclFicheContactDefaut") +//MAJ du champ TABLE et de l'objet Contact Client +MAJChampTableEtObjet(TABLE_Interlocuteur,gclPresentationFicheClient.ListeContact:p_clCourant) +//MAJ du champ TABLE et de l'objet Adresse +MAJChampTableEtObjet(TABLE_Client_Adresse,gclPresentationFicheClient.ListeAdresse:p_clCourant) +//MAJ du champ TABLE et de l'objet Lieu +MAJChampTableEtObjet(TABLE_Lieu,gclPresentationFicheClient.ListeLieu:p_clCourant) +//MAJ du champ TABLE et de l'objet Dossier +MAJChampTableEtObjet(TABLE_Dossier,gclPresentationFicheClient.ListeDossier:p_clCourant) +// grise les champs si la table est vide +GR_EDITCONTACT_FICHE_CLIENT..Grisé = gclPresentationFicheClient:ListeContact. +p_bModeleCourantVide _ou_ gclPresentationFicheClient:ListeContact.p_clCourant=Null +//GR_EDITCONTACT_FICHE_CLIENT..Visible += PAS gclPresentationFicheClient:ListeContact.p_bModeleCourantVide _ET_ PAS +gclPresentationFicheClient:ListeContact.p_clCourant=Null +GR_EDITADRESSE_FICHE_CLIENT..Grisé = gclPresentationFicheClient:ListeAdresse. +p_bModeleCourantVide _ou_ gclPresentationFicheClient:ListeAdresse.p_clCourant=Null +//GR_EDITADRESSE_FICHE_CLIENT..Visible += PAS gclPresentationFicheClient:ListeAdresse.p_bModeleCourantVide _ET_ PAS +gclPresentationFicheClient:ListeAdresse.p_clCourant=Null +06/08/2026 Isis_BO 2080 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +GR_EDITLIEU_FICHE_CLIENT..Grisé = gclPresentationFicheClient:ListeLieu: +p_bModeleCourantVide _ou_ gclPresentationFicheClient:ListeLieu.p_clCourant=Null +//GR_EDITLIEU_FICHE_CLIENT..Visible += PAS gclPresentationFicheClient:ListeLieu:p_bModeleCourantVide _ET_ PAS +gclPresentationFicheClient:ListeLieu.p_clCourant=Null +GR_EDITDOSSIER_FICHE_CLIENT..Grisé = gclPresentationFicheClient:ListeDossier: +p_bModeleCourantVide _ou_ gclPresentationFicheClient:ListeDossier.p_clCourant=Null +//GR_EDITDOSSIER_FICHE_CLIENT..Visible += PAS gclPresentationFicheClient:ListeDossier:p_bModeleCourantVide _ET_ PAS +gclPresentationFicheClient:ListeDossier.p_clCourant=Null +SAI_SCL_CODECOMPTABLE..Etat = gbBATIGESTActif _et_ gpclListeParamAppli:m_clTabModele +["PREFIXE_CODE_CLIENT"]:m_sValeur<>"" ? AffichageSeulement sinon Actif +LIB_CODECLIENT..Visible = gbBATIGESTActif _et_ gpclListeParamAppli:m_clTabModele +["PREFIXE_CODE_CLIENT"]:m_sValeur<>"" +SAI_CODE_CLIENT..Visible = gbBATIGESTActif _et_ gpclListeParamAppli:m_clTabModele[ +"PREFIXE_CODE_CLIENT"]:m_sValeur<>"" +SAI_CODE_CLIENT..Etat = gbBATIGESTActif _et_ gpclListeParamAppli:m_clTabModele[ +"PREFIXE_CODE_CLIENT"]:m_sValeur<>"" ? AffichageSeulement sinon Actif +GR_BLOCAGE..Visible = gclPresentationFicheClient:m_bBlocageCciale +BTN_AJOUTE_DOSSIER..Etat = gclPresentationFicheClient:m_bBlocageCciale ? Grisé sinon +Actif +RechercheContactTable() +RechercheSiteTable() +fin +Fermeture de FI_Fiche_Client +si pas gbIgnoreDeboqueEnreg alors DeblocEnregistrement(gclPresentationFicheClient,paramSupplementaire, +DesactiveTimer,BTN_CADENAS_FERME_CLIENT,BTN_CADENAS_OUVERT_CLIENT,GR_CADENAS_CLIENT,SC_FIC_CLI,Faux,*, +pas gbAppelProcFenAppelante) +Après chargement de la fenêtre interne de CFI_SOUSELEMENT_FICHE_CLIENT ( SC_COL_DROITE_CLI ) +CFI_SOUSELEMENT_FICHE_CLIENT..Visible = Vrai +Clic sur BTN_AJOUTE_LIEU ( SC_TET_SITE_CLI ) +AppelSousFenetre(MoiMême..Nom) +//ReorganiseChampDispoDansFiche(DISP_COLONNE_FICHE_CLIENT,DISP_SITE,CFI_SOUSELEMENT_FICHE_CLIENT,GR_IMA +GE_OPAQUE_FICHE_CLIENT,GR_MODEOPAQUE_FICHE_CLIENT,Vrai,50,3,4) +// +//ChangeFenêtreSource(CFI_SOUSELEMENT_FICHE_CLIENT,FI_Fiche_Lieu,*,DonneParam(DansChampFI,"FI_Fiche_Int +ervention",MoiMême..Nom,maProcMAJObjetRetourFI,"Nouveau +Site"))//,"InterventionListeLieu",paramSupplementaire.pclObjetAppelant.m_nIDClient +Clic sur BTN_ARCHIV_LIEU ( SC_TET_SITE_CLI ) +clErreur est un CErreur +si OuiNon("Confirmez vous la suppression ?")=Non alors +retour +sinon +// gestion de la saisie en cascade +// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +nIndice est un entier=TableSelect(TABLE_Lieu) +si nIndice>1 _et_ nIndice=TableOccurrence(TABLE_Lieu) alors +TableSelectPlus(TABLE_Lieu,nIndice-1) +fin +06/08/2026 Isis_BO 2081 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +si gclPresentationFicheClient:ListeLieu:p_clCourant:bLiaison() _et_ pas gclPresentationFicheClient: +ListeLieu:p_clCourant:bNouveau() alors +gclPresentationFicheClient:ListeLieu:p_clCourant:m_bLiaison = Faux +fin +si pas gclPresentationFicheClient:ListeLieu:bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +si gclPresentationFicheClient:m_nIDLieuPrincipal<>0 alors +gclPresentationFicheClient:m_nIDLieuPrincipal = 0 +EnregistrerFiche() +fin +gclPresentationFicheClient.MajUI()//DemandeMiseAJourIHM() +fin +// +SI gclPresenListClient_Lieu:p_clCourant:bLiaison() _ET_ PAS +gclPresenListClient_Lieu:p_clCourant:bNouveau() ALORS +// +// gclPresenListClient_Lieu:p_clCourant:m_bLiaison = Faux +// FIN +// SI PAS gclPresenListClient_Lieu:bSupprimer(clErreur) ALORS +// Erreur(clErreur.FormateMessage()) +// FIN +//TableSupprime(TABLE_Lieu,nIndice) +//BTN_ARCHIV_LIEU..Etat=Grisé +fin +Clic sur BTN_LigneSuivante ( SC_TET_SITE_CLI ) +RechercheSiteTable(Vrai) +Clic sur BTN_LOUPE_LIEU ( SC_TET_SITE_CLI ) +//ReorganiseChampDispoDansFiche(DISP_COLONNE_FICHE_CLIENT,DISP_SITE,CFI_SOUSELEMENT_FICHE_CLIENT,GR_IMA +GE_OPAQUE_FICHE_CLIENT,GR_MODEOPAQUE_FICHE_CLIENT,Vrai,50,3,4,TABLE_Lieu..Largeur) +// +//ChangeFenêtreSource(CFI_SOUSELEMENT_FICHE_CLIENT,FI_Liste_Lieu,*,DonneParam(DansChampFI,"FI_Fiche_Int +ervention",MoiMême..Nom,maProcMAJObjetRetourFI,"Sélectionnez le +site","ClientListeLieu",*,gclPresentationFicheClient,vrai)) +AppelSousFenetre(MoiMême..Nom) +Clic sur BTN_MODIF_LIEU ( SC_TET_SITE_CLI ) +AppelSousFenetre(MoiMême..Nom) +//clPresentationFiche est un PFicheLieu <- allouer un +PFicheLieu(gclPresentationFicheClient.ListeLieu.p_clCourant.m_clLieu,*) +////clPresentationFiche.m_clAdresse=gclPresenListClient_Lieu:p_clCourant:m_clAdresse +////FEN_Menu.OuvreOuActive(FI_Fiche_Lieu,"Fiche +Site",*,clPresentationFiche,DonneParam(DansOnglet,"FI_Fiche_Client",MoiMême..Nom,maProcMAJObjetRetourFI +)) +//ReorganiseChampDispoDansFiche(DISP_COLONNE_FICHE_CLIENT,DISP_SITE,CFI_SOUSELEMENT_FICHE_CLIENT,GR_IMA +GE_OPAQUE_FICHE_CLIENT,GR_MODEOPAQUE_FICHE_CLIENT,Vrai,50,3,4) +// +06/08/2026 Isis_BO 2082 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +//ChangeFenêtreSource(CFI_SOUSELEMENT_FICHE_CLIENT,FI_Fiche_Lieu,clPresentationFiche,DonneParam(DansCha +mpFI,"FI_Fiche_Client",MoiMême..Nom,maProcMAJObjetRetourFI,"Site")) +Clic sur BTN_VueDossier ( SC_TET_SITE_CLI ) +si gclPresentationFicheClient.ListeLieu.p_clCourant <> Null _et_ gclPresentationFicheClient.ListeLieu. +p_clCourant.m_nIDLieu > 0 alors +RechercheInfoParSite(gclPresentationFicheClient.ListeLieu.p_clCourant.m_nIDLieu, +gclPresentationFicheClient.ListeLieu.p_clCourant.m_clLieu.m_sCodeLieu) +sinon +Info("Veuillez sélectionner un site") +fin +Initialisation de LIB_ResultatRecherche ( SC_TET_SITE_CLI ) +// Version 1 +// Description +// Libellé simple +Sortie de SAI_CodeLieu ( SC_TET_SITE_CLI ) +//clErreur est une CErreur +//SI MoiMême..ValeurAffichée<>"" ALORS +// +nPKID est un entier sur 8 octets = +val(ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"[",DepuisDébut),1,"]")) +// SI nPKID>0 ALORS +// +SI PFicheClient.gListeLieu(gclPresentationFicheClient,*,nPKID) ALORS //_et_ +gclPresentationFicheClient:ListeLieu:p_nTotal=1 ALORS +// +Si ParametreLit("DUPLIQUE_ADRSITE_VERS_ADRCLI")="1" _ET_ OuiNon(Oui,"Souhaitez-vous ajouter l'adresse +du site comme coordonnées du client")=oui ALORS +// PreparationNouvelleCoordonnee() +// +// MAJAdresseDepuisSite() +// +// +// clErreur est un CErreur +// ValideCoordonnee(clErreur) +// +// FIN +// FIN +// +// SINON +// +SI +ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"---",DepuisDébut),1,"---",DepuisFin)=ChaîneFormate("Aucu +n résultat",ccMajuscule) ALORS +// MoiMême="" +// SaisieAssistéeSupprimeTout(MoiMême) +// ExécuteTraitement(MoiMême,trtModification) +// SINON +// +SI PFicheClient.gListeLieu(gclPresentationFicheClient,*,-1,MoiMême..ValeurAffichée) ALORS//_ET_ +gclPresentationFicheClient:ListeLieu:p_nTotal=1 +06/08/2026 Isis_BO 2083 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +// +SI ParametreLit("DUPLIQUE_ADRSITE_VERS_ADRCLI")="1" _ET_ OuiNon(Oui,"Souhaitez-vous ajouter l'adresse +du site comme coordonnées du client")=Oui ALORS +// PreparationNouvelleCoordonnee() +// MAJAdresseDepuisSite() +// clErreur est un CErreur +// ValideCoordonnee(clErreur) +// +// FIN +// +// FIN +// FIN +// FIN +// MoiMême ="" +//sinon +//retour +//FIN +A chaque modification de SAI_CodeLieu ( SC_TET_SITE_CLI ) +ModifZoneSaisieAssistee(MoiMême,2,Vrai,Tronque(ExtraitChaîne(ChampAlias(TABLE_Lieu),2,":"),Taille( +ExtraitChaîne(ChampAlias(TABLE_Lieu),2,":"))-1,nombreDeCaractèresAConserver),"") +RechercheSiteListe() +Sélection d'une valeur dans la liste de saisie assistée de SAI_CodeLieu ( SC_TET_SITE_CLI ) +RechercheSiteTable() +Fin d'initialisation de TABLE_Lieu +i est un entier = 0 +pour toute ligne de TABLE_Lieu +i += 1 +si COL_Principal alors +TABLE_Lieu[i].COL_SITEPRINCIPAL.BTN_SITE_PRINCIPAL.Image = fRepEnCours+"\"+MClient_Lieu:: +cIMG_Principal +sinon +TABLE_Lieu[i].COL_SITEPRINCIPAL.BTN_SITE_PRINCIPAL.Image = fRepEnCours+"\"+MClient_Lieu:: +cIMG_PasPrincipal +fin +si COL_bBloque alors +TABLE_Lieu[i].COL_Bloque.IMG_Bloque = fRepEnCours+"\"+MClient_Lieu::cIMG_Bloque +sinon +TABLE_Lieu[i].COL_Bloque.IMG_Bloque = fRepEnCours+"\"+MClient_Lieu::cIMG_NonBloque +fin +fin +TableFixeColonne(TABLE_Lieu.COL_sNom,Vrai) +Sortie d'une ligne de TABLE_Lieu +// si la table n'a pas été modifiée, il ne faut rien faire +si TABLE_Lieu..Modifié=Faux alors +retour +fin +06/08/2026 Isis_BO 2084 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +clErr est un CErreur +pclPresentationFiche est un PFicheClient_Lieu dynamique +// ajout d'une nouvelle ligne +si TABLE_Lieu..Nouveau alors +pclPresentationFiche<-gclPresentationFicheClient.ListeLieu.Nouveau(Faux,0) +// modification d'une ligne existante +sinon +pclPresentationFiche<-gclPresentationFicheClient.ListeLieu.Modifier() +fin +// sauvegarde de la table +TableEnregistre(TABLE_Lieu,pclPresentationFiche) +// traitement des erreurs +si pas pclPresentationFiche.bOK(clErr) alors//PAS pclPresentationFiche.bOK(clErr,Vrai,Faux) +Erreur(clErr.FormateMessage()) +fin +// repasse la table en non modifiée +TABLE_Lieu..Modifié=Faux +Sélection d'une ligne de TABLE_Lieu +si TABLE_Lieu..Nouveau alors +gclPresentationFicheClient.ListeLieu.p_clCourant=Null +sinon +gclPresentationFicheClient.ListeLieu.p_clCourant=TABLE_Lieu +gclPresentationFicheClient.MajUI()//DemandeMiseAJourUIParent() +//GR_EDITLIEU_FICHE_CLIENT..Grisé = faux +//BTN_ARCHIV_LIEU..Etat=Actif +//BTN_MODIF_LIEU..Etat=Actif +fin +BTN_VueDossier..Grisé = Faux +A chaque modification de COL_bBloque ( TABLE_Lieu ) +nPkid est un entier sur 8 octets = COL_IdLieu +si nPkid > 0 alors +si HLitRecherchePremier(Lieu,LI_PKID,nPkid) alors +si pas Lieu.LI_Blocage alors +Lieu.LI_RaisonBlocage = COL_RaisonBlocage +Lieu.LI_Blocage = Vrai +sinon +Lieu.LI_RaisonBlocage = "" +Lieu.LI_Blocage = Faux +fin +si HEnregistre(Lieu) alors +gclPresentationFicheClient.MajUI() +fin +fin +fin +Sortie de COL_RaisonBlocage ( TABLE_Lieu ) +06/08/2026 Isis_BO 2085 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +nPkid est un entier sur 8 octets = COL_IdLieu +si nPkid > 0 alors +si HLitRecherchePremier(Lieu,LI_PKID,nPkid) alors +Lieu.LI_RaisonBlocage = COL_RaisonBlocage +HEnregistre(Lieu) +fin +fin +Clic sur BTN_SITE_PRINCIPAL ( COL_SITEPRINCIPAL ) +si pas gclPresentationFicheClient:ListeLieu:p_clCourant:LieuPrincipalClient alors +//Le contact courant devient le nouveau site principal +gclPresentationFicheClient:ListeLieu:p_clCourant:LieuPrincipalClient = pas +gclPresentationFicheClient:ListeLieu:p_clCourant:m_bLieuPrincipalCli +//Recherche de l'ancien ID +nIndice est un entier = TableauCherche(gclPresentationFicheClient:ListeLieu:m_clTabModele, +tcLinéaire,"m_nIDLieu",gclPresentationFicheClient.p_clCourant:m_nIDLieuPrincipal,1) +si nIndice>0 alors +gclPresentationFicheClient:ListeLieu:m_clTabModele[nIndice]:LieuPrincipalClient = Faux +fin +//Mise à jour du client pour indiquer le nouveau site principal +gclPresentationFicheClient:m_nIDLieuPrincipal = gclPresentationFicheClient:ListeLieu:p_clCourant: +m_nIDLieu +si EnregistrerFiche() alors +gclPresentationFicheClient.MajUI()//DemandeMiseAJourIHM() +fin +sinon +Info(ChaîneConstruit("Cliquez sur un autre site pour indiquer que %1 n'est plus le site principal", +gclPresentationFicheClient:ListeLieu:p_clCourant:m_clLieu.m_sCodeLieu)) +fin +Clic sur BTN_AJOUTE_DOSSIER ( SC_TET_DOSS_CLI ) +ChampVersSource() +si EnregistrerFiche() alors +clPresentationFiche est un PFicheDossier<-gclPresentationFicheClient.ListeDossier.Nouveau() +clPresentationFiche:m_nIDClient = gclPresentationFicheClient.IdentifiantUnique +clPresentationFiche:FicheClient = gclPresentationFicheClient +//Initialise la variable à passer en paramètre avec les valeurs communes +stParam est un STParamFenetreAppelante = DonneParam(DansOnglet,"FI_Fiche_Dossier",MoiMême..Nom, +maProcMAJObjetRetourFI) +//PFicheDossier.gFicheClient(clPresentationFiche,gclPresentation,gclPresentation.IdentifiantUnique) +//PFicheDossier.gFicheClient(clPresentationFiche,gclPresentation,gclPresentation.IdentifiantUnique) +FEN_Menu.OuvreOuActive(FI_Fiche_Dossier,"Dossier",*,clPresentationFiche,stParam) +fin +Clic sur BTN_MODIF_DOSSIER ( SC_TET_DOSS_CLI ) +06/08/2026 Isis_BO 2086 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +ChampVersSource() +si EnregistrerFiche() alors +clPresentationFiche est un PFicheDossier <- allouer un PFicheDossier(gclPresentationFicheClient. +ListeDossier.p_clCourant,*) +stParam est un STParamFenetreAppelante = DonneParam(DansOnglet,"FI_Fiche_Dossier",MoiMême..Nom, +maProcMAJObjetRetourFI) +FEN_Menu.OuvreOuActive(FI_Fiche_Dossier,"Dossier",*,clPresentationFiche,stParam) +fin +Sortie d'une ligne de TABLE_Dossier +// si la table n'a pas été modifiée, il ne faut rien faire +si TABLE_Dossier..Modifié=Faux alors +retour +fin +clErr est un CErreur +pclPresentationFiche est un PFicheDossier dynamique +// ajout d'une nouvelle ligne +si TABLE_Dossier..Nouveau alors +pclPresentationFiche<-gclPresentationFicheClient.ListeDossier.Nouveau() +// modification d'une ligne existante +sinon +pclPresentationFiche<-gclPresentationFicheClient.ListeDossier.Modifier() +fin +// sauvegarde de la table +TableEnregistre(TABLE_Dossier,pclPresentationFiche) +// traitement des erreurs +si pas pclPresentationFiche.bOK(clErr) alors +Erreur(clErr.FormateMessage()) +fin +// repasse la table en non modifiée +TABLE_Dossier..Modifié=Faux +Sélection d'une ligne de TABLE_Dossier +si TABLE_Dossier..Nouveau alors +gclPresentationFicheClient.ListeDossier.p_clCourant=Null +sinon +gclPresentationFicheClient.ListeDossier.p_clCourant=TABLE_Dossier +//trace("selection "+gclPresentation.p_clCourant:m_sRefInterne) +GR_EDITDOSSIER_FICHE_CLIENT..Etat = Actif +gclPresentationFicheClient.MajUI()//DemandeMiseAJourUI()//DemandeMiseAJourUIparent() +fin +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Dossier +//Trace("Db click "+gclPresentation.p_clCourant:m_sRefInterne) +//OuvreFicheDossier() +ExécuteTraitement(BTN_MODIF_DOSSIER,trtClic) +Demande de mise à jour de l'affichage de SC_COL_GAUCHE_CLI +//DemandeMiseAJourUIParent() +Clic sur BTN_ADD_CONTACT ( SC_TET_CONTACT_CLI ) +06/08/2026 Isis_BO 2087 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +////Création d'une nouvelle fiche personne +//clFicheContact est un PFichePersonne +<-gclPresentationFicheClient:ListeContact:Nouveau(vrai,gclPresentationFicheClient:IdentifiantUnique) +//clFicheContact:m_nIDAdressePrincipale = gclPresentationFicheClient:m_nIDAdressePrincipale +//ReorganiseChampDispoDansFiche(DISP_COLONNE_FICHE_CLIENT,DISP_SITE,CFI_SOUSELEMENT_FICHE_CLIENT,GR_IMA +GE_OPAQUE_FICHE_CLIENT,GR_MODEOPAQUE_FICHE_CLIENT,Vrai,50,3,4) +// +//ChangeFenêtreSource(CFI_SOUSELEMENT_FICHE_CLIENT,FI_Fiche_Personne,clFicheContact,DonneParam(DansCham +pFI,"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJObjetRetourFI,"Nouveau contact","ContactClient",0)) +AppelSousFenetre(MoiMême..Nom) +Clic sur BTN_DEL_CONTACT ( SC_TET_CONTACT_CLI ) +bSupprimer est un booléen +bQuestionPoussee est un booléen +si pas gclPresentationFicheClient.ListeContact:p_bModeleCourantVide _et_ pas gclPresentationFicheClient +.ListeContact:p_clCourant:bNouveau() _et_ gclPresentationFicheClient.ListeContact:p_clCourant:bLiaison( +) alors +bQuestionPoussee = Vrai +fin +si pas bQuestionPoussee _et_ OuiNon("Confirmez vous la suppression ?")=Non alors +retour +sinon si bQuestionPoussee _et_ pas gclPresentationFicheClient.ListeContact:p_bModeleCourantVide _et_ +pas gclPresentationFicheClient.ListeContact:p_clCourant:bNouveau() alors +//1 : Supprimer la &liaison +//2 : Supprimer &entierement +//3 : &Ne pas supprimer +selon Dialogue( +"Souhaitez-vous supprimer uniquement la liaison avec la société ou supprimer totalement le +collaborateur" +) +// Supprimer la &liaison +cas 1 +bSupprimer = Faux +// Supprimer &entierement +cas 2 +bSupprimer = Vrai +cas 3 +retour +fin +fin +// gestion de la saisie en cascade +// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +nIndice est un entier=TableSelect(TABLE_Interlocuteur) +si nIndice>1 _et_ nIndice=TableOccurrence(TABLE_Interlocuteur) alors +TableSelectPlus(TABLE_Interlocuteur,nIndice-1) +fin +bOKSuppLiaison est un booléen +bOKSuppTout est un booléen +clErreur est un CErreur +si gclPresentationFicheClient.ListeContact:p_clCourant:bLiaison() _et_ pas gclPresentationFicheClient. +ListeContact:p_clCourant:bNouveau() alors +gclPresentationFicheClient.ListeContact:p_clCourant:m_nIDClient = 0 +si pas gclPresentationFicheClient.ListeContact:p_clCourant:bEnregistrer(clErreur) alors +Erreur(clErreur.FormateMessage()) +06/08/2026 Isis_BO 2088 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +sinon +bOKSuppLiaison = Vrai +fin +si bSupprimer alors +gclPresentationFicheClient.ListeContact:p_clCourant:m_bLiaison = Faux +fin +fin +si pas gclPresentationFicheClient.ListeContact:bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +bOKSuppTout = Vrai +fin +si bOKSuppLiaison _ou_ bOKSuppTout alors +gclPresentationFicheClient.MajUI()//DemandeMiseAJourIHM() +fin +Clic sur BTN_EDT_CONTACT ( SC_TET_CONTACT_CLI ) +//clPresentationFiche est un PFichePersonne <- allouer un +PFichePersonne(gclPresentationFicheClient:ListeContact:p_clCourant) +// +//ReorganiseChampDispoDansFiche(DISP_COLONNE_FICHE_CLIENT,DISP_SITE,CFI_SOUSELEMENT_FICHE_CLIENT,GR_IMA +GE_OPAQUE_FICHE_CLIENT,GR_MODEOPAQUE_FICHE_CLIENT,Vrai,50,3,4) +// +//ChangeFenêtreSource(CFI_SOUSELEMENT_FICHE_CLIENT,FI_Fiche_Personne,clPresentationFiche,DonneParam(Dan +sChampFI,"FI_Fiche_Client",MoiMême..Nom,maProcMAJObjetRetourFI,"Contact","ContactClient",clPresentation +Fiche:m_nIDRole)) +AppelSousFenetre(MoiMême..Nom) +//clErreur est une CErreur +// +// +// +//SI gclPresenListContact:p_clCourant:IdentifiantUnique=0 ALORS +// gclPresenListContact:p_clCourant:bControle(clErreur,Faux) +// +// SI PAS clErreur:p_bOk ALORS +// GOTO ERREURFONCTIONNELLE +// SINON +// gclPresenFichePersonne est un PFichePersonne dynamique +// gclPresenFichePersonne<-gclPresenListContact:Modifier() +// // validation +// SI PAS gclPresenFichePersonne.bOK(clErreur,Vrai,Vrai) ALORS +// Erreur(clErreur.FormateMessage()) +// RETOUR +// FIN +// FIN +//FIN +// +//clPresentationFiche est un PFichePersonne <- allouer un +PFichePersonne(gclPresenListContact:p_clCourant) +//FEN_Menu.OuvreOuActive(FI_Fiche_Personne,"Fiche +Personne",*,clPresentationFiche,DonneParam(DansOnglet,"FI_Fiche_Personne",MoiMême..Nom,maProcMAJObjetRe +tourFI)) +//GOTO SORTIE +// +//ERREURFONCTIONNELLE : +06/08/2026 Isis_BO 2089 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +//Erreur(clErreur.FormateMessage()) +//RETOUR +// +//SORTIE: +//RETOUR +Clic sur BTN_LigneSuivanteContact ( SC_TET_CONTACT_CLI ) +RechercheContactTable(Vrai) +Clic sur BTN_LOUPE_CONTACT ( SC_TET_CONTACT_CLI ) +//ReorganiseChampDispoDansFiche(DISP_COLONNE_FICHE_CLIENT,DISP_SITE.DISP_ENTETE,CFI_SOUSELEMENT_FICHE_C +LIENT,GR_IMAGE_OPAQUE_FICHE_CLIENT,GR_MODEOPAQUE_FICHE_CLIENT,Vrai,50,3,4) +//ChangeFenêtreSource(CFI_SOUSELEMENT_FICHE_CLIENT,FI_Liste_Personne,*,DonneParam(DansChampFI,"FI_Fiche +_Client",MoiMême..Nom,maProcMAJObjetRetourFI,"Sélectionnez les contacts du +clients","ClientContact",*,gclPresentationFicheClient,Vrai)) +AppelSousFenetre(MoiMême..Nom) +Initialisation de LIB_ResultatRechercheContact ( SC_TET_CONTACT_CLI ) +// Version 1 +// Description +// Libellé simple +Sortie de SAI_CodeContact ( SC_TET_CONTACT_CLI ) +//SI MoiMême..ValeurAffichée<>"" ALORS +// +nPKID est un entier sur 8 octets = +val(ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"[",DepuisDébut),1,"]")) +// SI nPKID>0 ALORS +// PFicheClient.gListeContacts(gclPresentationFicheClient,*,nPKID) +// +// SINON +// +SI +ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"---",DepuisDébut),1,"---",DepuisFin)=ChaîneFormate("Aucu +n résultat",ccMajuscule) ALORS +// MoiMême="" +// SaisieAssistéeSupprimeTout(MoiMême) +// ExécuteTraitement(MoiMême,trtModification) +// SINON +// PFicheClient.gListeContacts(gclPresentationFicheClient,*,-1,MoiMême..ValeurAffichée) +// FIN +// FIN +// MoiMême ="" +// +gclPresentationFicheClient.ListeContact=PTABLEpERSONNE.gNouvellePresentation(0,gclPresentationFicheClie +nt.m_nPKID) +// gclPresentationFicheClient.MajUI()//DemandeMiseAJourIHM() +//SINON +06/08/2026 Isis_BO 2090 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +// RETOUR +//FIN +A chaque modification de SAI_CodeContact ( SC_TET_CONTACT_CLI ) +ModifZoneSaisieAssistee(MoiMême,2,Vrai,Tronque(ExtraitChaîne(ChampAlias(TABLE_Interlocuteur),2,":"), +Taille(ExtraitChaîne(ChampAlias(TABLE_Interlocuteur),2,":"))-1,nombreDeCaractèresAConserver),"") +RechercheContactListe() +Sélection d'une valeur dans la liste de saisie assistée de SAI_CodeContact ( SC_TET_CONTACT_CLI ) +RechercheContactTable() +Fin d'initialisation de TABLE_Interlocuteur +i est un entier +pour toute ligne de TABLE_Interlocuteur +i += 1 +si COL_bPrincipal alors +TABLE_Interlocuteur[i].COL_PRINCIPAL.BTN_PRINCIPAL.Image = fRepEnCours+"\"+MPersonne:: +cIMG_Principal +sinon +TABLE_Interlocuteur[i].COL_PRINCIPAL.BTN_PRINCIPAL.Image = fRepEnCours+"\"+MPersonne:: +cIMG_PasPrincipal +fin +fin +Sortie d'une ligne de TABLE_Interlocuteur +// si la table n'a pas été modifiée, il ne faut rien faire +si TABLE_Interlocuteur..Modifié=Faux alors +retour +fin +clErr est un CErreur +pclPresentationFiche est un PFichePersonne dynamique +// ajout d'une nouvelle ligne +si TABLE_Interlocuteur..Nouveau alors +pclPresentationFiche<-gclPresentationFicheClient.ListeContact.Nouveau(Faux,0) +// modification d'une ligne existante +sinon +pclPresentationFiche<-gclPresentationFicheClient.ListeContact.Modifier() +fin +// sauvegarde de la table +TableEnregistre(TABLE_Interlocuteur,pclPresentationFiche) +// traitement des erreurs +si pas pclPresentationFiche.bOK(clErr) alors//PAS pclPresentationFiche.bOK(clErr,Vrai,Faux) +Erreur(clErr.FormateMessage()) +fin +// repasse la table en non modifiée +TABLE_Interlocuteur..Modifié=Faux +Sélection d'une ligne de TABLE_Interlocuteur +06/08/2026 Isis_BO 2091 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +si TABLE_Interlocuteur..Nouveau alors +gclPresentationFicheClient.ListeContact.p_clCourant=Null +sinon +gclPresentationFicheClient.ListeContact.p_clCourant=TABLE_Interlocuteur +si gclPresentationFicheClient.ListeContact.p_clCourant:m_nPKID = gclPresentationFicheClient:m_n +IDContactPrincipal alors +clPresentation est un PFichePersonne(gclPresentationFicheClient.ListeContact.p_clCourant,*) +gpclFicheContactDefaut <- clPresentation +fin +//gclPresentationFicheClient.MajUI()//DemandeMiseAJourUIparent() +//FI_Fiche_Client..Plan=2 +// BTN_ARCHIV_CONTACT..Etat=Actif +// +BTN_EDT_CONTACT..Etat=Actif +fin +Clic sur BTN_PRINCIPAL ( COL_PRINCIPAL ) +si pas gclPresentationFicheClient:ListeContact:p_clCourant:ContactPrincipalClient alors +//Le contact courant devient le nouveau contact principal +gclPresentationFicheClient:ListeContact:p_clCourant:ContactPrincipalClient = pas +gclPresentationFicheClient:ListeContact:p_clCourant:m_bContactPrincipalCli +//Recherche de l'ancien ID +nIndice est un entier = TableauCherche(gclPresentationFicheClient:ListeContact:m_clTabModele, +tcLinéaire,"m_nPKID",gclPresentationFicheClient.p_clCourant:m_nIDContactPrincipal,1) +si nIndice>0 alors +gclPresentationFicheClient:ListeContact:m_clTabModele[nIndice]:ContactPrincipalClient = Faux +fin +//Mise à jour du client pour indiquer le nouveau contact principal +gclPresentationFicheClient.p_clCourant:m_nIDContactPrincipal = gclPresentationFicheClient: +ListeContact:p_clCourant:m_nPKID +//Affiche la bonne image +//MoiMême..Image = gclPresentationFicheClient:ListeContact:p_clCourant.ImageContactPrincipalClient +si EnregistrerFiche() alors +clPresentation est un PFichePersonne(gclPresentationFicheClient:ListeContact:p_clCourant,*) +gpclFicheContactDefaut <- clPresentation +SourceVersEcran("","gpclFicheContactDefaut") +gclPresentationFicheClient.MajUI()//DemandeMiseAJourIHM() +fin +sinon +Info(ChaîneConstruit( +"Cliquez sur un autre contact pour indiquer que %1 n'est plus le contact principal", +gclPresentationFicheClient:ListeContact:p_clCourant:CiviliteNomPrenom)) +06/08/2026 Isis_BO 2092 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +fin +Demande de mise à jour de l'affichage de SC_COORD_CLI +//DemandeMiseAJourUIParent() +Initialisation de COMBO_nIDTypeAdresse ( SC_COORD_CLI ) +//ListeAffiche(COMBO_nIDTypeAdresse,taCourantBandeau) +Sortie de COMBO_nIDTypeAdresse ( SC_COORD_CLI ) +//SI MoiMême..ValeurAffichée<>"" ALORS +ChampVersSource() +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +//FIN +Sélection d'une ligne de COMBO_nIDTypeAdresse ( SC_COORD_CLI ) +//ChampVersSource(MoiMême..LiaisonFichier,MoiMême..Valeur,"gclPresenListAdresse:p_clCourant") +si SansEspace(SAI_sEtiquette)="" alors +SAI_sEtiquette = SAI_SCL_Nom+" : "+MoiMême..ValeurAffichée +ChampsVersSource(SAI_sEtiquette..LiaisonFichier,SAI_sEtiquette..Valeur, +"gclPresentationFicheClient:ListeAdresse.p_clCourant:m_clAdresse") +fin +Sortie de SAI_sCodePostal ( SC_COORD_CLI ) +//SI MoiMême..ValeurAffichée<>"" ALORS +ChampVersSource() +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +//FIN +A chaque modification de SAI_sCodePostal ( SC_COORD_CLI ) +//ChampVersSource() +Sortie de SAI_sEtiquette ( SC_COORD_CLI ) +//SI MoiMême..ValeurAffichée<>"" ALORS +ChampVersSource() +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +//FIN +A chaque modification de SAI_sEtiquette ( SC_COORD_CLI ) +//ChampVersSource(MoiMême..LiaisonFichier,MoiMême..Valeur,"gclPresenListAdresse:p_clCourant:m_clAdresse +") +Sortie de SAI_sLigneAdresse_1 ( SC_COORD_CLI ) +06/08/2026 Isis_BO 2093 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +//SI MoiMême..ValeurAffichée<>"" ALORS +ChampVersSource() +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +//FIN +A chaque modification de SAI_sLigneAdresse_1 ( SC_COORD_CLI ) +//ChampVersSource() +Sortie de SAI_sLigneAdresse_2 ( SC_COORD_CLI ) +//SI MoiMême..ValeurAffichée<>"" ALORS +ChampVersSource() +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +//FIN +A chaque modification de SAI_sLigneAdresse_2 ( SC_COORD_CLI ) +//ChampVersSource() +Sortie de SAI_sLigneAdresse_3 ( SC_COORD_CLI ) +//SI MoiMême..ValeurAffichée<>"" ALORS +ChampVersSource() +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +//FIN +A chaque modification de SAI_sLigneAdresse_3 ( SC_COORD_CLI ) +//ChampVersSource() +Sortie de SAI_sLigneAdresse_4 ( SC_COORD_CLI ) +//SI MoiMême..ValeurAffichée<>"" ALORS +ChampVersSource() +// SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +//FIN +A chaque modification de SAI_sLigneAdresse_4 ( SC_COORD_CLI ) +//ChampVersSource() +Sortie de SAI_sLigneAdresse_5 ( SC_COORD_CLI ) +//SI MoiMême..ValeurAffichée<>"" ALORS +ChampVersSource() +06/08/2026 Isis_BO 2094 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +//FIN +A chaque modification de SAI_sLigneAdresse_5 ( SC_COORD_CLI ) +//ChampVersSource() +Sortie de SAI_sVille ( SC_COORD_CLI ) +//SI MoiMême..ValeurAffichée<>"" ALORS +ChampVersSource() +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +//FIN +A chaque modification de SAI_sVille ( SC_COORD_CLI ) +//ChampVersSource() +Demande de mise à jour de l'affichage de SC_TET_COORD_CLI +//DemandeMiseAJourUIParent() +Clic sur BTN_AJOUTE_ADRESSE ( SC_TET_COORD_CLI ) +PreparationNouvelleCoordonnee() +FI_Fiche_Client..Plan = 2 +gclPresentationFicheClient.MajUI() +//GR_EDITADRESSE_FICHE_CLIENT..Grisé += gclPresentationFicheClient:ListeAdresse.p_bModeleCourantVide _OU_ +gclPresentationFicheClient:ListeAdresse.p_clCourant=Null +Clic sur BTN_ARCHIV_ADRESSE ( SC_TET_COORD_CLI ) +bSupprimer est un booléen +bQuestionPoussee est un booléen +//SI PAS gclPresentationFicheClient:ListeAdresse:p_bModeleCourantVide _ET_ PAS +gclPresentationFicheClient:ListeAdresse:p_clCourant:bNouveau() _ET_ +gclPresentationFicheClient:ListeAdresse:p_clCourant:bLiaison() ALORS +// bQuestionPoussee = Vrai +//FIN +si pas bQuestionPoussee _et_ OuiNon("Confirmez vous la suppression ?")=Non alors +retour +sinon si bQuestionPoussee _et_ pas gclPresentationFicheClient:ListeAdresse:p_bModeleCourantVide _et_ +pas gclPresentationFicheClient:ListeAdresse:p_clCourant:bNouveau() alors +//1 : Supprimer &liaison +//3 : Supprimer &entierement +//2 : &Ne pas supprimer +selon Dialogue( +"Souhaitez-vous supprimer uniquement la liaison avec le client ou supprimer totalement l'adresse ?" +) +06/08/2026 Isis_BO 2095 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +// Supprimer &liaison +cas 1 +bSupprimer = Faux +// Supprimer &entierement +cas 3 +bSupprimer = Vrai +// &Ne pas supprimer +cas 2 +retour +fin +fin +// gestion de la saisie en cascade +// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +nIndice est un entier=TableSelect(TABLE_Client_Adresse) +si nIndice>1 _et_ nIndice=TableOccurrence(TABLE_Client_Adresse) alors +TableSelectPlus(TABLE_Client_Adresse,nIndice-1) +fin +clErreur est un CErreur +si gclPresentationFicheClient:ListeAdresse:p_clCourant:bLiaison() _et_ pas gclPresentationFicheClient: +ListeAdresse:p_clCourant:bNouveau() alors +// gclPresentationFicheClient:ListeAdresse:p_clCourant:m_nIDClient = 0 +// gclPresentationFicheClient:ListeAdresse:p_clCourant:m_nIDAdresse= 0 +gclPresentationFicheClient:ListeAdresse:p_clCourant:m_bLiaison = Faux +si pas gclPresentationFicheClient:ListeAdresse:p_clCourant:bSupprimer(clErreur) alors +//PAS gclPresentationFicheClient:ListeAdresse:p_clCourant:bEnregistrer(clErreur) +Erreur(clErreur.FormateMessage()) +sinon si pas gclPresentationFicheClient:ListeAdresse:p_clCourant:m_clAdresse:bSupprimer(clErreur) +alors +Erreur(clErreur.FormateMessage()) +sinon +gclPresentationFicheClient:ListeAdresse:bSupprimer(clErreur,Vrai) +fin +// SI bSupprimer ALORS +// gclPresentationFicheClient:ListeAdresse:p_clCourant:m_bLiaison = Faux +// FIN +fin +//SI PAS gclPresentationFicheClient:ListeAdresse:bSupprimer(clErreur) ALORS //_OU_ PAS +gclPresentationFicheClient:ListeAdresse:p_clCourant:m_clAdresse:bSupprimer(clErreur) ALORS +// Erreur(clErreur.FormateMessage()) +//FIN +//gbEnSuppression = Faux +TableSupprime(TABLE_Client_Adresse,nIndice) +BTN_ARCHIV_ADRESSE..Etat=Grisé +gclPresentationFicheClient.MajUI() +Initialisation de BTN_Fermer_Adresse_Client ( SC_TET_COORD_CLI ) +Clic sur BTN_Fermer_Adresse_Client ( SC_TET_COORD_CLI ) +si gclPresentationFicheClient:ListeAdresse:p_clCourant:bNouveau() alors +clerreur est un CErreur +si gclPresentationFicheClient:ListeAdresse:bSupprimer(clerreur,Faux) alors +FI_Fiche_Client..Plan=1 +gclPresentationFicheClient.MajUI()//DemandeMiseAJourIHM() +EnregistrerFiche() +sinon +06/08/2026 Isis_BO 2096 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +Erreur(clerreur.FormateMessage()) +fin +sinon +FI_Fiche_Client..Plan=1 +fin +Clic sur BTN_MODIF_ADRESSE ( SC_TET_COORD_CLI ) +//Création d'une nouvelle fiche adresse +//clFicheClientAdresse est un PFicheClient_Adresse <-gclPresentationFicheClient:ListeAdresse:Modifier() +gclPresentationFicheClient.ModifieCoordonnees() +//GR_EDITADRESSE_FICHE_CLIENT..Grisé = Faux +//BTN_ValideAdresse..Grisé = faux +FI_Fiche_Client..Plan=2 +//DemandeMiseAJourUIParent() +Clic sur BTN_ValideAdresse ( SC_TET_COORD_CLI ) +//EcranVersSource() +bNew est un booléen = gclPresentationFicheClient:ListeAdresse:p_clCourant:m_bNouveau +clErreur est un CErreur +si ValideCoordonnee(clErreur) alors +si bNew _et_ OuiNon(Oui,"Souhaitez-vous ajouter les coordonnées du client en tant que site ?")=Oui +alors +//gclPresentationFicheClient.DupliqueCoordonneesEnSite() +pclFicheLieu est un PFicheLieu dynamique = PFicheLieu.gNouvellePresentation() +pclFicheLieu:m_sCodeLieu = gclPresentationFicheClient:m_sNom+" - "+ +gclPresentationFicheClient:m_sCodeClient+" - "+ NumériqueVersChaîne(gclPresentationFicheClient: +ListeLieu:p_nTotal+1) +pclFicheLieu:m_clAdresse:m_sLigne_2 = gclPresentationFicheClient:ListeAdresse: +p_clCourant:m_clAdresse:m_sLigne_2 +pclFicheLieu:m_clAdresse:m_sLigne_3 = gclPresentationFicheClient:ListeAdresse: +p_clCourant:m_clAdresse:m_sLigne_3 +pclFicheLieu:m_clAdresse:m_sLigne_4 = gclPresentationFicheClient:ListeAdresse: +p_clCourant:m_clAdresse:m_sLigne_4 +pclFicheLieu:m_clAdresse:m_sLigne_5 = gclPresentationFicheClient:ListeAdresse: +p_clCourant:m_clAdresse:m_sLigne_5 +pclFicheLieu:m_clAdresse:m_sLigne_1 = gclPresentationFicheClient:ListeAdresse: +p_clCourant:m_clAdresse:m_sLigne_1 +pclFicheLieu:m_clAdresse:m_sCodePostal = gclPresentationFicheClient:ListeAdresse:p_clCourant: +m_clAdresse:m_sCodePostal +pclFicheLieu:m_clAdresse:m_sVille = gclPresentationFicheClient:ListeAdresse:p_clCourant: +m_clAdresse:m_sVille +si pclFicheLieu:bOK(clErreur) alors +si gclPresentationFicheClient:m_nPKID > 0 _et_ PFicheClient.gListeLieu( +gclPresentationFicheClient,pclFicheLieu) _et_ gpclListeTypeClient. +RechercheEtDonneValeurDepuisId(COMBO_TypeClient)="2" alors +//Recherche des contacts du site +PFicheLieu.gListeContact(pclFicheLieu) +PFicheLieu.gListeContact(pclFicheLieu,gpclFicheContactDefaut) +fin +SourceVersEcran("","gclPresentationFicheClient:ListeLieu:p_clCourant") +fin +fin +FI_Fiche_Client..Plan=1 +gclPresentationFicheClient.MajUI()//DemandeMiseAJourUIParent() +sinon +Erreur(clErreur.FormateMessage()) +06/08/2026 Isis_BO 2097 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +fin +Sortie d'une ligne de TABLE_Client_Adresse +// si la table n'a pas été modifiée, il ne faut rien faire +si TABLE_Client_Adresse..Modifié=Faux alors +retour +fin +clErr est un CErreur +pclPresentationFiche est un PFicheClient_Adresse dynamique +// ajout d'une nouvelle ligne +si TABLE_Client_Adresse..Nouveau alors +pclPresentationFiche<-gclPresentationFicheClient:ListeAdresse:Nouveau(Vrai, +gclPresentationFicheClient:IdentifiantUnique) +// modification d'une ligne existante +sinon +pclPresentationFiche<-gclPresentationFicheClient:ListeAdresse.Modifier() +fin +// sauvegarde de la table +TableEnregistre(TABLE_Client_Adresse,pclPresentationFiche) +// traitement des erreurs +si pas pclPresentationFiche.bOK(clErr) alors//PAS pclPresentationFiche.bOK(clErr,Vrai,Vrai) +Erreur(clErr.FormateMessage()) +sinon +// repasse la table en non modifiée +TABLE_Client_Adresse..Modifié=Faux +fin +Sélection d'une ligne de TABLE_Client_Adresse +//BTN_MODIF_ADRESSE..Grisé=Faux +si TABLE_Client_Adresse..Nouveau alors +gclPresentationFicheClient.ListeAdresse.p_clCourant=Null +sinon +gclPresentationFicheClient.ListeAdresse.p_clCourant=TABLE_Client_Adresse +BTN_ARCHIV_ADRESSE..Etat=Actif +fin +gclPresentationFicheClient.MajUI() +Clic sur BTN_ADD_CLIENT ( SC_ENTETE_FH_CLIENT ) +pclPresentationFiche est un PFichePersonne dynamique +si paramSupplementaire.eTypeAppel=DansOnglet _et_ paramSupplementaire.sNomIDAppelant="ListePersonne" +alors +pclPresentationFiche <-paramSupplementaire.pclObjetAppelant.Nouveau() +FEN_Menu.OuvreOuActive(FI_Fiche_Personne,"Fiche contact",*,pclPresentationFiche,DonneParam( +paramSupplementaire)) +sinon +pclPresentationFiche <-PFichePersonne.gNouvellePresentation() +FEN_Menu.OuvreOuActive(FI_Fiche_Personne,"Fiche contact",*,pclPresentationFiche) +fin +Clic sur BTN_CADENAS_FERME_CLIENT ( SC_ENTETE_FH_CLIENT ) +06/08/2026 Isis_BO 2098 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +si 1=BlocEnregistrement(gclPresentationFicheClient,ActiveTimer,BTN_CADENAS_FERME_CLIENT,BTN_ +CADENAS_OUVERT_CLIENT,GR_CADENAS_CLIENT,SC_FIC_CLI) +si pas AppelProcFenetreAppelante(gclPresentationFicheClient,paramSupplementaire,Faux,Faux,Vrai) +alors +DeblocEnregistrement(gclPresentationFicheClient,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_CLIENT,BTN_CADENAS_OUVERT_CLIENT,GR_CADENAS_CLIENT,SC_FIC_CLI,Faux) +fin +gbAppelProcFenAppelante=Vrai +fin +//SI BloqueEnregistrement(gclPresentationFicheClient,FermeCadenas) ALORS +// BTN_CADENAS_FERME_CLIENT..Visible=faux +// BTN_CADENAS_OUVERT_CLIENT..Visible=Vrai +// DemandeMiseAJourIHM() +//FIN +Clic sur BTN_CADENAS_OUVERT_CLIENT ( SC_ENTETE_FH_CLIENT ) +DeblocEnregistrement(gclPresentationFicheClient,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_CLIENT,BTN_CADENAS_OUVERT_CLIENT,GR_CADENAS_CLIENT,SC_FIC_CLI,Faux) +Clic sur BTN_CLOSE_CLIENT ( SC_ENTETE_FH_CLIENT ) +si paramSupplementaire.eTypeAppel=DansChampFI alors +//SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,Null) +AppelProcFenetreAppelante(gclPresentationFicheClient,paramSupplementaire,Faux,Vrai) +gbAppelProcFenAppelante=Vrai +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon si paramSupplementaire.eTypeAppel=DansFenetre +//SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,Null) +AppelProcFenetreAppelante(gclPresentationFicheClient,paramSupplementaire,Faux,Vrai) +gbAppelProcFenAppelante=Vrai +Ferme(FEN_ChoixFenetreInterne,0) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon +FermeVoletEtActiveLePrecedent(VoletDuChamp(SC_FIC_CLI)) +fin +Clic sur BTN_DEL_CLIENT ( SC_ENTETE_FH_CLIENT ) +si OuiNon("Confirmez vous la suppression ?")=Non alors +retour +fin +SupprimeClient() +Clic sur BTN_MiseAJourBaseExt ( SC_ENTETE_FH_CLIENT ) +sRepOkFinal est une chaîne ANSI +sRepErFinal est une chaîne ANSI +si gtaBaseExterneParNom..Occurrence=0 alors//gclBaseExterne=null _ou_ gclBaseExterne:m_nPKID=0 ALORS +Info("Vous devez paramétrer le connecteur Batigest pour pouvoir faire cette action.") +06/08/2026 Isis_BO 2099 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +retour +fin +si gclPresentationFicheClient <> Null _et_ gclPresentationFicheClient:FicheClientBddExterne = Null +alors +si gclPresentationFicheClient<> Null _et_ gclPresentationFicheClient:FicheClientBddExterne=Null +_et_ gtaBaseExterneParIndice..Occurrence>0 alors +PFicheClient.gFicheClientBddExterne(gclPresentationFicheClient,gtaBaseExterneParIndice[1]:m_n +PKID) +fin +si gclPresentationFicheClient:FicheClientBddExterne = Null alors +Info("Ce client n'est pas associé à aucun code client Batigest") +retour +fin +fin +bOk est un booléen +saRep est une chaîne ANSI +bChoixAdr est un booléen = Faux +nChoix, nI est un entier +si gclPresentationFicheClient:ListeAdresse<>Null _et_ gclPresentationFicheClient:ListeAdresse:p_nTotal> +0 alors +si gclPresentationFicheClient:ListeAdresse:p_nTotal>1 alors +tabLigneAdresse est un tableau de chaînes +pour tout pclAdr de gclPresentationFicheClient:ListeAdresse:m_clTabModele +pclAdr.m_clAdresse:CopieAdresseDansPresentation() +si pclAdr.m_clAdresse.m_sPresentation <> "" alors +TableauAjoute(tabLigneAdresse,pclAdr.m_clAdresse.m_sPresentation) +fin +fin +si tabLigneAdresse..Occurrence > 1 alors +nChoix = Dialogue("Quelle est l'adresse du client ?", tabLigneAdresse) +nI = 1 +pour tout pclAdr de gclPresentationFicheClient:ListeAdresse:m_clTabModele +si nI = nChoix et pclAdr.m_clAdresse.m_sPresentation = tabLigneAdresse[nChoix] alors +nChoix = nI +bChoixAdr = Vrai +fin +nI += 1 +fin +fin +fin +fin +si pas bChoixAdr alors nChoix = 0 +Sablier(Vrai) +pour tout pclBaseBG de gtaBaseExterneParNom +(bOk,saRep) = MiseAJourClientDansBatigest(gclPresentationFicheClient,pclBaseBG, nChoix) +si bOk _et_ saRep<>"" alors +sRepOkFinal = RC+saRep +sinon si bOk=Faux alors +sRepErFinal += RC+saRep+ "Dans le dossier "+ pclBaseBG.m_sNom +fin +fin +si sRepOkFinal <> "" alors +Info("Mise à jour effectué",sRepOkFinal) +fin +si sRepErFinal <> "" alors +Erreur(sRepErFinal) +06/08/2026 Isis_BO 2100 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +fin +Sablier(Faux) +Survol souris (WM_MOUSEMOVE) sur BTN_MiseAJourBaseExt ( SC_ENTETE_FH_CLIENT ) +//SI gclPresentationFicheClient <> null _et_ gclPresentationFicheClient:FicheClientBddExterne <> null +_et_ gclPresentationFicheClient:FicheClientBddExterne:m_sIDExterne<>"" ALORS +// +BTN_MiseAJourBaseExt..Bulle = ChaîneConstruit("Ce client est associé au code client BATIGEST n°%1 +",gclPresentationFicheClient:FicheClientBddExterne:m_sIDExterne) +//SINON +// BTN_MiseAJourBaseExt..Bulle = "Ce client n'a pas été exporté vers BATIGEST " +//FIN +Clic sur BTN_Refresh_fiche_intervention ( SC_ENTETE_FH_CLIENT ) +gclPresentationFicheClient.MajUI() +Clic sur BTN_SynchroBaseExt ( SC_ENTETE_FH_CLIENT ) +si gtaBaseExterneParNom..Occurrence=0 alors//gclBaseExterne=null _ou_ gclBaseExterne:m_nPKID=0 ALORS +Info("Vous devez paramétrer le connecteur Batigest pour pouvoir faire cette action.") +retour +fin +si gclPresentationFicheClient:FicheClientBddExterne<>Null _et_ gclPresentationFicheClient: +FicheClientBddExterne:m_sIDExterne<>"" alors +Info("Ce client est déjà associé au code client Batigest n° " + gclPresentationFicheClient: +FicheClientBddExterne:m_sIDExterne) +retour +fin +bOk est un booléen +saRep est une chaîne ANSI +Sablier(Vrai) +pour tout pclBaseBG de gtaBaseExterneParNom +(bOk,saRep) = ExporteClientDansBatigest(gclPresentationFicheClient,pclBaseBG) +si bOk _et_ saRep<>"" alors +Info("Export effectué",saRep) +sinon si bOk=Faux alors +Erreur(saRep) +fin +fin +Sablier(Faux) +si gclPresentationFicheClient<> Null _et_ gclPresentationFicheClient:FicheClientBddExterne=Null _et_ +gtaBaseExterneParIndice..Occurrence>0 alors +PFicheClient.gFicheClientBddExterne(gclPresentationFicheClient,0) +fin +GestionBoutonExportBaseExterne(gclPresentationFicheClient) +//SI paramSupplementaire.pclObjetAppelant= Null ALORS retour +//si gclBaseExterne=null _ou_ pas gclBaseExterne:m_nPKID=0 alors +// info("Vous devez paramétrer le connecteur Batigest pour pouvoir faire cette action.") +// retour +//fin +//si gclPresentationFicheInterv:m_sCodeBddExterne<>"" alors +// +06/08/2026 Isis_BO 2101 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +info("Cette intervention est déjà associée au chantier n° " + +gclPresentationFicheInterv:m_sCodeBddExterne) +// retour +//FIN +//SI gbBATIGESTActif ALORS ExporteInterventionDansBatigest(gclPresentationFicheInterv) +Survol souris (WM_MOUSEMOVE) sur BTN_SynchroBaseExt ( SC_ENTETE_FH_CLIENT ) +//SI gclPresentationFicheClient <> null _et_ gclPresentationFicheClient:FicheClientBddExterne <> null +_et_ gclPresentationFicheClient:FicheClientBddExterne:m_sIDExterne<>"" ALORS +// +BTN_SynchroBaseExt..Bulle = ChaîneConstruit("Ce client est associé au code client BATIGEST n°%1 +",gclPresentationFicheClient:FicheClientBddExterne:m_sIDExterne) +//SINON +// BTN_SynchroBaseExt..Bulle = "Ce client n'a pas été exporté vers BATIGEST " +//FIN +Clic sur BTN_VAL_CLIENT ( SC_ENTETE_FH_CLIENT ) +si paramSupplementaire.eTypeAppel=DansChampFI alors +si EnregistrerFiche() alors +//_et_ paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheClient +) +AppelProcFenetreAppelante(gclPresentationFicheClient,paramSupplementaire,Vrai,Vrai) +gbAppelProcFenAppelante=Vrai +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +fin +sinon si paramSupplementaire.eTypeAppel=DansOnglet alors +si EnregistrerFiche() alors +//_ET_ paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheClient +) +AppelProcFenetreAppelante(gclPresentationFicheClient,paramSupplementaire,Vrai,Vrai) +gbAppelProcFenAppelante=Vrai +FermeVoletEtActiveLePrecedent(VoletDuChamp(SC_FIC_CLI)) +fin +sinon si paramSupplementaire.eTypeAppel=DansFenetre +si EnregistrerFiche() alors +//_ET_ paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,Null) +AppelProcFenetreAppelante(gclPresentationFicheClient,paramSupplementaire,Vrai,Vrai) +gbAppelProcFenAppelante=Vrai +06/08/2026 Isis_BO 2102 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +Ferme(FEN_ChoixFenetreInterne,0) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +fin +sinon +si EnregistrerFiche() alors FermeVoletEtActiveLePrecedent(VoletDuChamp(SC_FIC_CLI)) +fin +Sortie de COMBO_APPORTEUR ( SC_ENTETE_FH_CLIENT ) +// SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +si gclPresentationFicheClient<>Null _et_ gclPresentationFicheClient:m_nPKID <> 0 alors +EnregistrerFiche() +fin +Sélection d'une ligne de COMBO_APPORTEUR ( SC_ENTETE_FH_CLIENT ) +ChampVersSource() +Sortie de COMBO_MODEREGLEMENT ( SC_ENTETE_FH_CLIENT ) +// SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +si gclPresentationFicheClient<>Null _et_ gclPresentationFicheClient:m_nPKID <> 0 alors +EnregistrerFiche() +fin +Sélection d'une ligne de COMBO_MODEREGLEMENT ( SC_ENTETE_FH_CLIENT ) +ChampVersSource() +Sortie de COMBO_NCL_IDStatut ( SC_ENTETE_FH_CLIENT ) +ChampVersSource() +// SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +EnregistrerFiche() +Sélection d'une ligne de COMBO_NCL_IDStatut ( SC_ENTETE_FH_CLIENT ) +//ChampVersSource() +Sortie de COMBO_ORIGINE ( SC_ENTETE_FH_CLIENT ) +// SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +si gclPresentationFicheClient<>Null _et_ gclPresentationFicheClient:m_nPKID <> 0 alors +EnregistrerFiche() +fin +Sélection d'une ligne de COMBO_ORIGINE ( SC_ENTETE_FH_CLIENT ) +06/08/2026 Isis_BO 2103 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +ChampVersSource() +Sortie de COMBO_TypeClient ( SC_ENTETE_FH_CLIENT ) +//ChampVersSource() +// SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +si gclPresentationFicheClient<>Null _et_ gclPresentationFicheClient:m_nPKID <> 0 alors +EnregistrerFiche() +fin +Sélection d'une ligne de COMBO_TypeClient ( SC_ENTETE_FH_CLIENT ) +GestionTypeClient() +ChampVersSource() +Sortie de COMBO_nIDCivilite ( SC_ENTETE_FH_CLIENT ) +//EnregistreFiche() +Sélection d'une ligne de COMBO_nIDCivilite ( SC_ENTETE_FH_CLIENT ) +ChampVersSource() +Sortie de SAI_SCL_Email ( SC_ENTETE_FH_CLIENT ) +//ChampVersSource() +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +si pas EnregistrerFiche() alors RepriseSaisie(MoiMême) sinon gclPresentationFicheClient.MajUI() +A chaque modification de SAI_SCL_Email ( SC_ENTETE_FH_CLIENT ) +ChampVersSource() +Sortie de SAI_SCL_Fax ( SC_ENTETE_FH_CLIENT ) +//ChampVersSource() +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +si pas EnregistrerFiche() alors RepriseSaisie(MoiMême) sinon gclPresentationFicheClient.MajUI() +A chaque modification de SAI_SCL_Fax ( SC_ENTETE_FH_CLIENT ) +ChampVersSource() +Sortie de SAI_SCL_TelFixe ( SC_ENTETE_FH_CLIENT ) +//ChampVersSource() +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +06/08/2026 Isis_BO 2104 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +si pas EnregistrerFiche() alors RepriseSaisie(MoiMême) sinon gclPresentationFicheClient.MajUI() +A chaque modification de SAI_SCL_TelFixe ( SC_ENTETE_FH_CLIENT ) +ChampVersSource() +Sortie de SAI_SPE_Email ( SC_ENTETE_FH_CLIENT ) +//EnregistreFiche() +//ChampVersSource() +si pas EnregistrerFicheContactParticulier() alors RepriseSaisie(MoiMême) +A chaque modification de SAI_SPE_Email ( SC_ENTETE_FH_CLIENT ) +ChampVersSource() +Sortie de SAI_SPE_Nom ( SC_ENTETE_FH_CLIENT ) +//EnregistrerFiche() +//ChampVersSource() +si pas EnregistrerFicheContactParticulier() alors RepriseSaisie(MoiMême) sinon +gclPresentationFicheClient.MajUI() +A chaque modification de SAI_SPE_Nom ( SC_ENTETE_FH_CLIENT ) +ChampVersSource() +Sortie de SAI_SPE_Prenom ( SC_ENTETE_FH_CLIENT ) +//EnregistreFiche() +//ChampVersSource() +si pas EnregistrerFicheContactParticulier() alors RepriseSaisie(MoiMême) sinon +gclPresentationFicheClient.MajUI() +A chaque modification de SAI_SPE_Prenom ( SC_ENTETE_FH_CLIENT ) +ChampVersSource() +Sortie de SAI_SPE_TelFixe ( SC_ENTETE_FH_CLIENT ) +//EnregistreFiche() +//ChampVersSource() +si pas EnregistrerFicheContactParticulier() alors RepriseSaisie(MoiMême) +A chaque modification de SAI_SPE_TelFixe ( SC_ENTETE_FH_CLIENT ) +ChampVersSource() +Sortie de SAI_SPE_TelMobile ( SC_ENTETE_FH_CLIENT ) +//EnregistreFiche() +06/08/2026 Isis_BO 2105 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +//ChampVersSource() +si pas EnregistrerFicheContactParticulier() alors RepriseSaisie(MoiMême) +A chaque modification de SAI_SPE_TelMobile ( SC_ENTETE_FH_CLIENT ) +ChampVersSource() +Clic sur IMG_Erreur ( SC_ENTETE_FH_CLIENT ) +ExécuteTraitement(SAI_TVA,trtSortie) +Clic sur IMG_Valide ( SC_ENTETE_FH_CLIENT ) +ExécuteTraitement(SAI_TVA,trtSortie) +Sortie de INT_CL_Blocage ( SC_ENTETE_FH_CLIENT ) +//EnregistreFiche() +si gclPresentationFicheClient<>Null _et_ gclPresentationFicheClient:m_nPKID <> 0 alors +EnregistrerFiche() +fin +A chaque modification de INT_CL_Blocage ( SC_ENTETE_FH_CLIENT ) +ChampVersSource() +si INT_CL_Blocage[1] alors +GR_BLOCAGE..Visible=Vrai +BTN_AJOUTE_DOSSIER..Etat=Grisé +Info( +"Ce client ne sera plus utilisable dans les prochaines interventions tant qu'il sera considéré +'bloqué' " +,"Veuillez renseigner les raisons de ce blocage",gclPresentationFicheClient:m_sRaisonBlocage<>"" ? +"Ce client a déjà fait l'objet d'un blocage"+RC+gclPresentationFicheClient:m_sRaisonBlocage sinon +"") +SAI_CL_RAISONBLOCAGE ="" +//SAI_CL_RAISONBLOCAGE = DateVersChaine(DateHeureSys(),"JJ/MM/AA")+" : " +//donnefocus(SAI_CL_RAISONBLOCAGE) +sinon +BTN_AJOUTE_DOSSIER..Etat=Actif +//gclPresentationFicheClient:m_sRaisonBlocage = "" +GR_BLOCAGE..Visible=Faux +fin +Initialisation de LIB_Valide ( SC_ENTETE_FH_CLIENT ) +MoiMême = "" +Sortie de SAI_CL_RAISONBLOCAGE ( SC_ENTETE_FH_CLIENT ) +//EnregistrerFiche() +si gclPresentationFicheClient<>Null _et_ gclPresentationFicheClient:m_nPKID <> 0 alors +EnregistrerFiche() +fin +A chaque modification de SAI_CL_RAISONBLOCAGE ( SC_ENTETE_FH_CLIENT ) +ChampVersSource() +//ChampVersSource() +Sortie de SAI_CODE_CLIENT ( SC_ENTETE_FH_CLIENT ) +06/08/2026 Isis_BO 2106 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +//SI MoiMême..ValeurAffichée<>"" ALORS +//ChampVersSource() +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +si pas EnregistrerFiche() alors RepriseSaisie(MoiMême) +//FIN +A chaque modification de SAI_CODE_CLIENT ( SC_ENTETE_FH_CLIENT ) +ChampVersSource() +Sortie de SAI_FORME_JURIDIQUE ( SC_ENTETE_FH_CLIENT ) +//SI MoiMême..ValeurAffichée<>"" ALORS +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +si pas EnregistrerFiche() alors RepriseSaisie(MoiMême) +//FIN +A chaque modification de SAI_FORME_JURIDIQUE ( SC_ENTETE_FH_CLIENT ) +ChampVersSource() +Sortie de SAI_InfoSupp ( SC_ENTETE_FH_CLIENT ) +si gclPresentationFicheClient<>Null _et_ gclPresentationFicheClient:m_nPKID <> 0 alors +EnregistrerFiche() +fin +A chaque modification de SAI_InfoSupp ( SC_ENTETE_FH_CLIENT ) +ChampVersSource() +Sortie de SAI_NumSiret ( SC_ENTETE_FH_CLIENT ) +si pas EnregistrerFiche() alors RepriseSaisie(MoiMême) +A chaque modification de SAI_NumSiret ( SC_ENTETE_FH_CLIENT ) +ChampVersSource() +Initialisation de SAI_Pays ( SC_ENTETE_FH_CLIENT ) +SaisieAssistéeAjoute(MoiMême,"AT") +SaisieAssistéeAjoute(MoiMême,"BE") +SaisieAssistéeAjoute(MoiMême,"BG") +SaisieAssistéeAjoute(MoiMême,"CY") +SaisieAssistéeAjoute(MoiMême,"CZ") +SaisieAssistéeAjoute(MoiMême,"DE") +SaisieAssistéeAjoute(MoiMême,"DK") +SaisieAssistéeAjoute(MoiMême,"EE") +06/08/2026 Isis_BO 2107 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +SaisieAssistéeAjoute(MoiMême,"EL") +SaisieAssistéeAjoute(MoiMême,"ES") +SaisieAssistéeAjoute(MoiMême,"FI") +SaisieAssistéeAjoute(MoiMême,"FR") +SaisieAssistéeAjoute(MoiMême,"GB") +SaisieAssistéeAjoute(MoiMême,"HR") +SaisieAssistéeAjoute(MoiMême,"HU") +SaisieAssistéeAjoute(MoiMême,"IE") +SaisieAssistéeAjoute(MoiMême,"IT") +SaisieAssistéeAjoute(MoiMême,"LT") +SaisieAssistéeAjoute(MoiMême,"LU") +SaisieAssistéeAjoute(MoiMême,"LV") +SaisieAssistéeAjoute(MoiMême,"MT") +SaisieAssistéeAjoute(MoiMême,"NL") +SaisieAssistéeAjoute(MoiMême,"PL") +SaisieAssistéeAjoute(MoiMême,"PT") +SaisieAssistéeAjoute(MoiMême,"RO") +SaisieAssistéeAjoute(MoiMême,"SE") +SaisieAssistéeAjoute(MoiMême,"SI") +SaisieAssistéeAjoute(MoiMême,"SK") +Sortie de SAI_Pays ( SC_ENTETE_FH_CLIENT ) +si pas EnregistrerFiche() alors RepriseSaisie(MoiMême) +A chaque modification de SAI_Pays ( SC_ENTETE_FH_CLIENT ) +ChampVersSource() +Sortie de SAI_SCL_CODECOMPTABLE ( SC_ENTETE_FH_CLIENT ) +ChampVersSource() +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +si pas EnregistrerFiche() alors RepriseSaisie(MoiMême) +A chaque modification de SAI_SCL_CODECOMPTABLE ( SC_ENTETE_FH_CLIENT ) +//ChampVersSource() +Sortie de SAI_SCL_Nom ( SC_ENTETE_FH_CLIENT ) +//SI MoiMême..ValeurAffichée<>"" ALORS +//ChampVersSource() +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(MoiMême) +si pas EnregistrerFiche() alors RepriseSaisie(MoiMême) +//FIN +A chaque modification de SAI_SCL_Nom ( SC_ENTETE_FH_CLIENT ) +ChampVersSource() +Initialisation de SAI_TVA ( SC_ENTETE_FH_CLIENT ) +06/08/2026 Isis_BO 2108 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Code des champs +// Version 1 +// Description +// Saisie de numéro de TVA avec vérification syntaxique du numéro puis validation auprès du service de +l'Union Européenne +// En cas d'erreur, la bulle du pictogramme d'erreur indique le motif de l'erreur +// En cas de numéro valide, la bulle du pictogramme de validité indique les informations sur +l'entreprise ayant ce numéro de TVA +Sortie de SAI_TVA ( SC_ENTETE_FH_CLIENT ) +si pas EnregistrerFiche() alors RepriseSaisie(MoiMême) +//IMG_Erreur..Visible = Faux +//IMG_Valide..Visible = Faux +//IMG_Chargement..Visible = Vrai +//VérifieNuméroTVA(SAI_Pays,SAI_TVA) +A chaque modification de SAI_TVA ( SC_ENTETE_FH_CLIENT ) +ChampVersSource() +Déclarations globales de SC_SIREN +// Version 1 +// Description +// Ce super champ permet de contrôler un numéro SIREN, qui est un identifiant d'entreprise. +// Il est composé de 8 chiffres et d'un chiffre de contrôle qui est utilisé lors de la vérification de +la validité du numéro +Affectation de la propriété Valeur de SC_SIREN +SAI_NumSiren=MoiMême +MiseAJourUI() +Récupération de la propriété Valeur de SC_SIREN +renvoyer SansEspace(SAI_NumSiren, sscTout) +Sortie de SAI_NumSiren ( SC_SIREN ) +si pas EnregistrerFiche() alors RepriseSaisie(MoiMême) +A chaque modification de SAI_NumSiren ( SC_SIREN ) +MiseAJourUI() +ChampVersSource() +06/08/2026 Isis_BO 2109 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Procédures +FI_Fiche_Client +Procédures +Procédure locale bVérifierSIREN ( SC_SIREN ) +fonction bVérifierSIREN(nNumSiren) +// Procédure qui permet de vérifier la validité d'un N° de SIREN selon le principe défini ci-dessous +// ENTREE : nNumSiren : N° de SIREN à vérifier +// La clé de contrôle utilisée est une clé 1-2 +// +// Principe: On multiplie les chiffres de rang pair par 2 et les chiffres de rang impair par 1. +// En partant de la droite, le premier chiffre est de rang impair. +// La somme des chiffres et pas des nombres doit être un multiple de 10 +// +// EXEMPLE: SIREN 732 829 320 +// +// Numéro Siren: 7 3 2 8 2 9 3 2 0 +// Rang pair(*2): 0+6 1+6 1+8 0+4 +// Rang impair: 7 2 2 3 0 +// ---------------------------- +// Calcul: 7+0+6+2+1+6+2+1+8+3+0+4+0=40 +// +// Le résultat est un multiple de 10, le numéro SIREN est correct +sNuméro est une chaîne = "" +nSomme est un entier = 0 +nPosSiren est un entier = 0 +// Convertir la valeur passée en paramètre en chaîne +sNuméro = SansEspace(nNumSiren, sscTout) +// La taille du N° de SIREN est égale à 9 chiffres +si Taille(sNuméro) <> 9 alors renvoyer Faux +pour nPosSiren = 1 à 9 +// Calcule la valeur protocolaire pour les neuf chiffres +nSomme += nCalculerRang(sNuméro, nPosSiren) +fin +// Si la somme obtenue est un multiple de 10, le numéro est correct +si modulo(nSomme, 10) = 0 alors renvoyer Vrai +renvoyer Faux +Procédure locale MiseAJourUI ( SC_SIREN ) +procédure privée MiseAJourUI() +// si le numero est incomplet : pas de picto +sNumero est une chaîne = SansEspace(SAI_NumSiren,sscTout) +soit nTaille = Taille(sNumero) +si nTaille<>9 alors +IMG_Erreur..Visible =Faux +IMG_Valide..Visible =Faux +retour +fin +// Appelle la fonction de vérification du numéro +soit bNumeroValide = bVérifierSIREN(sNumero) +// affiche les picto en consequence +IMG_Erreur..Visible = pas bNumeroValide +06/08/2026 Isis_BO 2110 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Procédures +IMG_Valide..Visible = bNumeroValide +Procédure locale nCalculerRang ( SC_SIREN ) +fonction privé nCalculerRang(sNuméro, nPosSiren) +// Fonction qui renvoie un entier correspondant a la valeur du chiffre à la position nPosSiren dans le +numéro SIREN +// Protocole utilisé : +// +-> Si La position est paire, on multiplie le chiffre par deux et on renvoie la somme de ses dizaines et +de ses unités +// -> Si la position est impaire, on renvoie la valeur du chiffre +sMultipleDeux est une chaîne = "" +si modulo(nPosSiren, 2) = 0 alors +// Position paire +sMultipleDeux = Val(sNuméro[[nPosSiren]])*2 +si Taille(sMultipleDeux) = 1 alors +// On n'a pas de dizaines +renvoyer Val(sMultipleDeux) +sinon +renvoyer Val(sMultipleDeux[[1]])+Val(sMultipleDeux[[2]]) +fin +sinon +// Position impaire +renvoyer Val(sNuméro[[nPosSiren]]) +fin +Procédure locale ActiveAffichage +// Résumé : +// Syntaxe : +// ActiveAffichage () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ActiveAffichage() +SC_COL_DROITE_CLI..Visible = Faux +CFI_SOUSELEMENT_FICHE_CLIENT..Visible = Vrai +//D_COL_FIC_CLIENT..Visible = Vrai +//{vNomFenInterne,indFenêtre}..AffichageActif=Vrai +Procédure locale ActiveTimer +// Résumé : +// Syntaxe : +//ActiveTimer ( est entier) +// +// Paramètres : +// nIdTimer (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +06/08/2026 Isis_BO 2111 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Procédures +// +procédure ActiveTimer(local nIdTimer est un entier) +TimerSys(TimeOutClient,100,nIdTimer) +Procédure locale AppelSousFenetre +// Résumé : +// Syntaxe : +//AppelSousFenetre ( est chaîne) +// +// Paramètres : +// sNomChamp (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AppelSousFenetre(local sNomChamp est une chaîne) +si pas EnregistrerFiche() alors RepriseSaisie(ChampPrécédent()) +//Arrête le timer qui sert à fermer automatiquement la fenêtre si pas d'action utilisateur +FinTimerSys(gclPresentationFicheClient:m_nIDTimer) +//Préparation de la fenêtre pour recevoir la sous fenêtre +ReorganiseChampDispoDansFiche1(GR_ALAPLACECFI,CFI_SOUSELEMENT_FICHE_CLIENT,GR_IMAGE_OPAQUE_FICHE_CLIENT +,GR_MODEOPAQUE_FICHE_CLIENT,Vrai,50) +//Initialise la variable à passer en paramètre avec les valeurs communes +stParam est un STParamFenetreAppelante = DonneParam(DansChampFI,"FI_Fiche_Client",sNomChamp, +maProcMAJObjetRetourFI) +selon sNomChamp +cas BTN_EDT_CONTACT..Nom +stParam.sNomIDAppelant = "ContactClient" +stParam.nIdFenetreAppelante = gclPresentationFicheClient:ListeContact:p_clCourant:m_n +IDRole +ChangeFenêtreSource(CFI_SOUSELEMENT_FICHE_CLIENT,FI_Fiche_Personne,gclPresentationFicheClient: +ListeContact:Modifier(),stParam) +cas BTN_ADD_CONTACT..Nom +stParam.sNomIDAppelant = "ContactClient" +stParam.sTitreFenetre = "Nouveau contact" +ChangeFenêtreSource(CFI_SOUSELEMENT_FICHE_CLIENT,FI_Fiche_Personne,gclPresentationFicheClient: +ListeContact:Nouveau(Vrai,gclPresentationFicheClient:IdentifiantUnique, +gclPresentationFicheClient:m_nIDAdressePrincipale),stParam) +cas BTN_LOUPE_CONTACT..Nom +stParam.sNomIDAppelant = "ClientContact" +stParam.sTitreFenetre = ChaîneConstruit("Sélectionnez les contacts du client %1",SAI_ +SCL_Nom) +stParam.pclObjetAppelant = gclPresentationFicheClient +stParam.bMultiSelect = Vrai +//DesactiveAffichage() +ChangeFenêtreSource(CFI_SOUSELEMENT_FICHE_CLIENT,FI_Liste_Personne,*,stParam) +//ActiveAffichage() +cas BTN_MODIF_LIEU..Nom +ChangeFenêtreSource(CFI_SOUSELEMENT_FICHE_CLIENT,FI_Fiche_Lieu,gclPresentationFicheClient. +ListeLieu.ModifierFicheLieu(),stParam) +cas BTN_AJOUTE_LIEU..Nom +ChangeFenêtreSource(CFI_SOUSELEMENT_FICHE_CLIENT,FI_Fiche_Lieu,*,stParam) +cas BTN_LOUPE_LIEU..Nom +06/08/2026 Isis_BO 2112 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Procédures +stParam.sNomIDAppelant = "ClientListeLieu" +stParam.sTitreFenetre = "Sélectionnez le site" +stParam.pclObjetAppelant = gclPresentationFicheClient +stParam.bMultiSelect = Vrai +//DesactiveAffichage() +ChangeFenêtreSource(CFI_SOUSELEMENT_FICHE_CLIENT,FI_Liste_Lieu,*,stParam) +//GereAffichage(Vrai) +//info(CFI_SOUSELEMENT_FICHE_CLIENT..FenêtreSource) +//ActiveAffichage() +fin +Procédure locale DesactiveAffichage +// Résumé : +// Syntaxe : +// DesactiveAffichage () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DesactiveAffichage() +SC_COL_DROITE_CLI..Visible=Vrai +CFI_SOUSELEMENT_FICHE_CLIENT..Visible=Faux +//{vNomFenInterne,indFenêtre}..AffichageActif=Faux +//D_COL_FIC_CLIENT..Visible = Faux +Procédure locale DesactiveTimer +// Résumé : +// Syntaxe : +//DesactiveTimer ( est entier) +// +// Paramètres : +// nIdTimer (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DesactiveTimer(local nIdTimer est un entier) +FinTimerSys(nIdTimer) +Procédure locale DonneFocusChamp +// Résumé : +// Syntaxe : +// DonneFocusChamp () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +06/08/2026 Isis_BO 2113 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Procédures +// Indiquez ici un exemple d'utilisation. +// +procédure DonneFocusChamp() +DonneFocus(COMBO_TypeClient) +Procédure locale DoublonDetecte +// Résumé : +// Syntaxe : +//[ = ] DoublonDetecte ( est entier sur 8 octets, est chaîne, +est chaîne) +// +// Paramètres : +// nIdCli (entier sur 8 octets) : +// sNomCli (chaîne ANSI) : +// sTelCli (chaîne ANSI) : +// Valeur de retour : +// entier : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DoublonDetecte(nIdCli est un entier sur 8 octets,sNomCli est une chaîne,sTelCli est une +chaîne) +bResultat est un entier +nPOS est un entier = HSauvePosition(Client,CL_PKID,hSauveRubriques) +sReq est une Requête SQL = +[ +SELECT 1 FROM Client +WHERE Client.CL_PKID<>{p_idCli} +AND (Client.CL_Nom={p_nomCli} OR CL_Tel={p_telCli}) +] +sReq.p_idCli=nIdCli +sReq.p_nomCli=sNomCli +sReq.p_telCli=sTelCli="" ? Null sinon sTelCli +si HExécuteRequête(sReq,hRequêteDéfaut) _et_ HNbEnr(sReq)>0 alors +bResultat= Vrai +sinon +bResultat = Faux +fin +HRetourPosition(nPOS) +renvoyer bResultat +Procédure locale EnregistrerFiche +// Résumé : +// Syntaxe : +//[ = ] EnregistrerFiche () +// +// Paramètres : +// Aucun +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure EnregistrerFiche() +si pas ChampSuivant() dans (BTN_DEL_CLIENT..Nom,BTN_CLOSE_CLIENT..Nom) alors +bNouveauClient est un booléen = gclPresentationFicheClient:m_bNouveau +bPoursuivre est un booléen +sChpEnCours est une chaîne = ChampEnCours() +06/08/2026 Isis_BO 2114 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Procédures +si (Contient(sChpEnCours,SAI_SCL_Nom..Nom) _ou_ Contient(sChpEnCours,SAI_SCL_TelFixe..Nom)) _et_ gb +DoublonVerife=Faux _et_ bNouveauClient _et_ (SAI_SCL_Nom..Nom<>gclPresentationFicheClient:m_sNom +_ou_ SAI_SCL_TelFixe<>gclPresentationFicheClient:m_sTel) _et_ DoublonDetecte( +gclPresentationFicheClient:m_nPKID,gclPresentationFicheClient:m_sNom,gclPresentationFicheClient:m_s +Tel) alors +si Contient(sChpEnCours,SAI_SCL_Nom..Nom) _et_ gclPresentationFicheClient:m_nPKID=0 alors +gpclFicheContactDefaut <- gclPresentationFicheClient.ListeContact.Nouveau() +gclPresentationFicheClient.ListeContact:p_clCourant = gpclFicheContactDefaut.p_clCourant +fin +//1 : &Poursuivre +//2 : &Ne pas poursuivre +selon Dialogue("Ce client existe déjà avec le même nom ou le même numéro de téléphone.") +// &Poursuivre +cas 1 : bPoursuivre=Vrai;gbDoublonVerife=Vrai +// &Ne pas poursuivre +cas 2 : bPoursuivre=Faux +fin +sinon +bPoursuivre = Vrai +fin +bResultat est un booléen +si bPoursuivre alors +bResultat = ValideFicheSimple(gclPresentationFicheClient,paramSupplementaire,ActiveTimer,BTN_ +CADENAS_FERME_CLIENT,BTN_CADENAS_OUVERT_CLIENT,GR_CADENAS_CLIENT,SC_FIC_CLI) +sinon si bNouveauClient alors +DeblocEnregistrement(gclPresentationFicheClient,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_CLIENT,BTN_CADENAS_OUVERT_CLIENT,GR_CADENAS_CLIENT,SC_FIC_CLI,Faux,*,pas gb +AppelProcFenAppelante,Faux) +gbIgnoreDeboqueEnreg = Vrai +SupprimeClient() +bResultat = Faux +fin +si gclPresentationFicheClient:m_nPKID > 0 alors +SC_COL_DROITE_CLI..Visible = Vrai +SC_COL_GAUCHE_CLI..Visible = Vrai +fin +renvoyer bResultat +sinon +renvoyer Faux +fin +//bResultat est un booléen=faux +//SI ChampSuivant()<>BTN_Supprimer_compact..Nom ALORS +// clErreur est une CErreur +// nPKID est un entier sur 8 octets = gclPresentationFicheClient:IdentifiantUnique +// +SI PAS gclPresentationFicheClient:bOK(clErreur) ALORS //PAS +gclPresentationFicheClient:bOK(clErreur,Vrai,Vrai) +// Erreur(clErreur.FormateMessage()) +// SINON +// SI nPKID=0 _et_ paramSupplementaire.eTypeAppel=DansOnglet ALORS +// +FEN_Menu.RenomeOnglet(gclPresentationFicheClient:IdentifiantUnique,gclPresentationFicheClient:InfoOngle +t) +// FIN +// bResultat = vrai +// FIN +//FIN +//RENVOYER bResultat +Procédure locale EnregistrerFicheContactParticulier +06/08/2026 Isis_BO 2115 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Procédures +// Résumé : +// Syntaxe : +//[ = ] EnregistrerFicheContactParticulier () +// +// Paramètres : +// Aucun +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure EnregistrerFicheContactParticulier() +bResultat est un booléen +tabChampSuivant est un tableau de chaînes = [BTN_DEL_CLIENT..Nom,BTN_CLOSE_CLIENT..Nom] +si SAI_SPE_Nom<>"" _et_ pas Contient(ChampSuivant(),tabChampSuivant) alors +//EcranVersSource("","gpclFicheContactDefaut") +//Stockage de l'ID actuel +nPKID est un entier sur 8 octets = gpclFicheContactDefaut:IdentifiantUnique +gpclFicheContactDefaut:ContactPrincipalClient = Vrai +//Initialise la variable à passer en paramètre avec les valeurs communes +stParam est un STParamFenetreAppelante = DonneParam(DansChampFI,"FI_Fiche_Client",ChampEnCours(), +maProcMAJObjetRetourFI) +bResultat = ValideFicheSimple(gpclFicheContactDefaut,stParam,ActiveTimer,BTN_CADENAS_FERME_CLIENT, +BTN_CADENAS_OUVERT_CLIENT,GR_CADENAS_CLIENT,SC_FIC_CLI) +si bResultat alors +SourceVersEcran("","gpclFicheContactDefaut") +nIndice est un entier = TableauCherche(gclPresentationFicheClient:ListeContact:m_clTabModele, +tcLinéaire,"m_nPKID",gpclFicheContactDefaut:IdentifiantUnique,1) +si nIndice>0 alors +gclPresentationFicheClient:ListeContact:m_clTabModele[nIndice] <= gpclFicheContactDefaut: +p_clCourant +fin +gclPresentationFicheClient:m_nIDContactPrincipal = gpclFicheContactDefaut:IdentifiantUnique +//SI gclPresentationFicheClient.ListeContact.p_clCourant:m_nPKID = +gclPresentationFicheClient:m_nIDContactPrincipal ALORS +SAI_SCL_Nom = SAI_SPE_Nom+" "+SAI_SPE_Prenom +//COMBO_nIDCivilite..ValeurAffichée+" "+SAI_SPE_Nom+" "+SAI_SPE_Prenom +SAI_SCL_TelFixe = SAI_SPE_TelFixe +SAI_SCL_Email = SAI_SPE_Email +EcranVersSource("","gclPresentationFicheClient") +bResultat = EnregistrerFiche() +si bResultat _et_ nPKID=0 alors +gpclFicheContactDefaut:m_nIDClient = gclPresentationFicheClient.m_nPKID +gpclFicheContactDefaut:m_nIDRole = gnIdRoleProprietaire +bResultat = ValideFicheSimple(gpclFicheContactDefaut,stParam,ActiveTimer,BTN_ +CADENAS_FERME_CLIENT,BTN_CADENAS_OUVERT_CLIENT,GR_CADENAS_CLIENT,SC_FIC_CLI) +fin +fin +sinon +bResultat = Faux +fin +si bResultat alors +gclPresentationFicheClient.MajUI()//DemandeMiseAJourIHM() +fin +renvoyer bResultat +Procédure locale GereAffichage +06/08/2026 Isis_BO 2116 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Procédures +// Résumé : +// Syntaxe : +//GereAffichage ( est booléen) +// +// Paramètres : +// bAfficheFenetreInterne (booléen) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure GereAffichage(bAfficheFenetreInterne est un booléen) +//GR_ALAPLACECFI..Visible = PAS bAfficheFenetreInterne +CFI_SOUSELEMENT_FICHE_CLIENT..Visible = bAfficheFenetreInterne +Procédure locale GestionBoutonExportBaseExterne +// Résumé : +// Syntaxe : +// GestionBoutonExportBaseExterne () +// +// Paramètres : +// gclPresentationFicheInterv : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure GestionBoutonExportBaseExterne(gclFicheClient) +si gbBATIGESTActif alors +bCree est un booléen = Vrai +si gclFicheClient:FicheClientBddExterne <> Null _et_ gclFicheClient:FicheClientBddExterne: +m_sIDExterne="" alors +bCree = Faux +fin +si gclFicheClient:FicheClientBddExterne = Null alors +bCree = Faux +fin +si pas bCree alors +BTN_SynchroBaseExt..Visible = Vrai +BTN_MiseAJourBaseExt..Visible = Vrai +BTN_MiseAJourBaseExt..Etat = AffichageSeulement +BTN_MiseAJourBaseExt..CouleurFond = RVB(128, 128, 128) +BTN_SynchroBaseExt..Bulle = "Ce client n'a pas été exporté vers BATIGEST " +sinon +BTN_MiseAJourBaseExt..Visible = Vrai +BTN_MiseAJourBaseExt..Etat = Actif +BTN_MiseAJourBaseExt..CouleurFond = CouleurDéfaut +BTN_SynchroBaseExt..Etat = AffichageSeulement +BTN_SynchroBaseExt..CouleurFond = RVB(128, 128, 128) +BTN_SynchroBaseExt..Bulle = "Client exporté dans BATIGEST avec le code client : " + +gclFicheClient:FicheClientBddExterne:m_sIDExterne +fin +sinon +BTN_SynchroBaseExt..Visible = Faux +BTN_MiseAJourBaseExt..Visible = Faux +06/08/2026 Isis_BO 2117 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Procédures +fin +Procédure locale GestionTypeClient +// Résumé : +// Syntaxe : +// GestionTypeClient () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure GestionTypeClient() +sValeur est une chaîne = gpclListeTypeClient.RechercheEtDonneValeurDepuisId(COMBO_TypeClient) +sValeurParticulier est une chaîne ANSI = "2" +//SLAMM +sValeurParticulier = "1" + +selon sValeur +//2 : Particulier +cas sValeurParticulier : +DISP_BANDEAU_TYPE_CLIENT[2]..Visible = Vrai +DISP_BANDEAU_TYPE_CLIENT[1]..Visible = Faux +GR_NOM_CLIENT..Visible = gclPresentationFicheClient:m_nPKID>0 +GR_NOM_CLIENT..Etat = AffichageSeulement +//gbBATIGESTActif ? Actif SINON gclPresentationFicheClient:m_nPKID>0 ? AffichageSeulement SINON +Actif +SAI_FORME_JURIDIQUE..Visible = Faux +LIB_FORMEJURIDIQUE..Visible = Faux +autre cas +DISP_BANDEAU_TYPE_CLIENT[1]..Visible = Vrai +DISP_BANDEAU_TYPE_CLIENT[2]..Visible = Faux +GR_NOM_CLIENT..Visible = Vrai +GR_NOM_CLIENT..Etat = gbBATIGESTActif ? Actif sinon +gclPresentationFicheClient:m_nPKID>0 ? AffichageSeulement sinon Actif +SAI_FORME_JURIDIQUE..Visible = Vrai +LIB_FORMEJURIDIQUE..Visible = Vrai +fin +"ARTISANS_PARTENAIRES"> +GR_NOM_CLIENT..Etat = Actif + +si gclPresentationFicheClient:m_nPKID=0 alors +gpclFicheContactDefaut <- gclPresentationFicheClient.ListeContact.Nouveau() +gclPresentationFicheClient.ListeContact:p_clCourant = gpclFicheContactDefaut.p_clCourant +fin +Procédure locale ListeChampsLiaisons +// Résumé : +// Syntaxe : +//ListeChampsLiaisons (, ) +// +06/08/2026 Isis_BO 2118 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Procédures +// Paramètres : +// sChampParent : +// sMembre : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ListeChampsLiaisons(sChampParent,sMembre) +i est un entier = 1 +ResChamp est une chaîne +ResChamp = EnumèreChamp(sChampParent, i) +tantque ResChamp <> "" +c est un Champ <- {ResChamp,indChamp} +//Trace(ResChamp+TAB+c..LiaisonFichier) +si Contient(c..LiaisonFichier,sMembre,MotComplet) alors +RepriseSaisie(ResChamp) +sortir +sinon +ListeChampsLiaisons(c,sMembre) +fin +i++ +ResChamp = EnumèreChamp(FI_Fiche_Client, i) +fin +Procédure locale MAJAdresseDepuisSite +// Résumé : +// Syntaxe : +// MAJAdresseDepuisSite () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure MAJAdresseDepuisSite() +gclPresentationFicheClient:ListeAdresse:p_clCourant:m_nIDTypeAdresse = gpclListeTypeAdresse: +RechercheEtDonneIdDepuisValeur("0") +gclPresentationFicheClient:ListeAdresse:p_clCourant:m_clAdresse:m_sEtiquette = ChaîneConstruit( +"Issue du site %1",gclPresentationFicheClient:ListeLieu:m_clTabModele[gclPresentationFicheClient: +ListeLieu:p_nTotal]:m_clLieu:m_sCodeLieu) +gclPresentationFicheClient:ListeAdresse:p_clCourant:m_clAdresse:m_sLigne_1 = +gclPresentationFicheClient:ListeLieu:m_clTabModele[gclPresentationFicheClient:ListeLieu:p_nTotal]:m_cl +Lieu:m_clAdresse:m_sLigne_1 +gclPresentationFicheClient:ListeAdresse:p_clCourant:m_clAdresse:m_sLigne_2 = +gclPresentationFicheClient:ListeLieu:m_clTabModele[gclPresentationFicheClient:ListeLieu:p_nTotal]:m_cl +Lieu:m_clAdresse:m_sLigne_2 +gclPresentationFicheClient:ListeAdresse:p_clCourant:m_clAdresse:m_sLigne_3 = +gclPresentationFicheClient:ListeLieu:m_clTabModele[gclPresentationFicheClient:ListeLieu:p_nTotal]:m_cl +Lieu:m_clAdresse:m_sLigne_3 +gclPresentationFicheClient:ListeAdresse:p_clCourant:m_clAdresse:m_sLigne_4 = +gclPresentationFicheClient:ListeLieu:m_clTabModele[gclPresentationFicheClient:ListeLieu:p_nTotal]:m_cl +Lieu:m_clAdresse:m_sLigne_4 +gclPresentationFicheClient:ListeAdresse:p_clCourant:m_clAdresse:m_sLigne_5 = +gclPresentationFicheClient:ListeLieu:m_clTabModele[gclPresentationFicheClient:ListeLieu:p_nTotal]:m_cl +Lieu:m_clAdresse:m_sLigne_5 +gclPresentationFicheClient:ListeAdresse:p_clCourant:m_clAdresse:m_sCodePostal = +gclPresentationFicheClient:ListeLieu:m_clTabModele[gclPresentationFicheClient:ListeLieu:p_nTotal]:m_cl +06/08/2026 Isis_BO 2119 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Procédures +Lieu:m_clAdresse:m_sCodePostal +gclPresentationFicheClient:ListeAdresse:p_clCourant:m_clAdresse:m_sVille = +gclPresentationFicheClient:ListeLieu:m_clTabModele[gclPresentationFicheClient:ListeLieu:p_nTotal]:m_cl +Lieu:m_clAdresse:m_sVille +SourceVersEcran("","gclPresentationFicheClient:ListeAdresse:p_clCourant") +Procédure locale MAJObjetRetourFI +// Résumé : +// Syntaxe : +//[ = ] MAJObjetRetourFI ([...]) +// +// Paramètres : +// <*> : > +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sContexte (chaîne ANSI) : +// pclObjet (objet dynamique) : +// <*> : > +// <*> : > +procédure MAJObjetRetourFI(*)//LOCAL sContexte est une chaîne, pclObjet est un objet dynamique +bResultat est un booléen=Vrai +nMode est un entier +sNomChamp est une chaîne +pclObjet est un objet dynamique +bReorga est un booléen=Vrai +bBloc est un booléen +si MesParamètres..Occurrence>0 alors +nMode = MesParamètres[1] +fin +selon nMode +cas 1 : +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 2 +bReorga = Faux +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 3 +bReorga = Faux +bBloc = Vrai +fin +si bReorga alors +ReorganiseChampDispoDansFiche1(GR_ALAPLACECFI,CFI_SOUSELEMENT_FICHE_CLIENT,GR_ +IMAGE_OPAQUE_FICHE_CLIENT,GR_MODEOPAQUE_FICHE_CLIENT,Faux,50) +fin +//L'enregistrement est bloqué et un IDTimer existe bien +si gclPresentationFicheClient:m_bBlocageEcriture _et_ gclPresentationFicheClient:m_nIDTimer>0 alors +//La fenêtre n'est plus en arrière plan +si bReorga alors +//Reactivation du Timer +TimerSys(TimeOutClient,100,gclPresentationFicheClient:m_nIDTimer) +sinon //La fenêtre est en arrière plan +//Débloque l'enregistrement +06/08/2026 Isis_BO 2120 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Procédures +DeblocEnregistrement(gclPresentationFicheClient,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_CLIENT,BTN_CADENAS_OUVERT_CLIENT,GR_CADENAS_CLIENT,SC_FIC_CLI,Faux) +fin +//Une demande de blocage a été demandée par une fenetre fille et l'enregistrement n'est pas bloqué +sinon si bBloc _et_ pas gclPresentationFicheClient:m_bBlocageEcriture alors +//Tentative de blocage +bResultat= (1=BlocEnregistrement(gclPresentationFicheClient,ActiveTimer,BTN_CADENAS_FERME_CLIENT, +BTN_CADENAS_OUVERT_CLIENT,GR_CADENAS_CLIENT,SC_FIC_CLI)) +fin +si pclObjet<>Null alors +bNewLieu est un booléen +//*******************************MISE A JOUR DE +L'OBJET********************************************************* +selon sNomChamp +cas BTN_LOUPE_LIEU..Nom : bNewLieu = PFicheClient.gListeLieu( +gclPresentationFicheClient,pclObjet) +cas BTN_AJOUTE_LIEU..Nom : bNewLieu = PFicheClient.gListeLieu( +gclPresentationFicheClient,pclObjet) +cas BTN_MODIF_LIEU..Nom : gclPresentationFicheClient.MajUI() +//DemandeMiseAJourIHM() +cas BTN_LOUPE_CONTACT..Nom : PFicheClient.gListeContacts( +gclPresentationFicheClient,pclObjet) +cas BTN_ADD_CONTACT..Nom : PFicheClient.gListeContacts( +gclPresentationFicheClient,pclObjet) +cas BTN_EDT_CONTACT..Nom : gclPresentationFicheClient.MajUI() +//DemandeMiseAJourIHM() +cas BTN_AJOUTE_ADRESSE..Nom : gclPresentationFicheClient.MajUI() +//DemandeMiseAJourIHM() +autre cas +fin +si bNewLieu _et_ ParametreLit("DUPLIQUE_ADRSITE_VERS_ADRCLI")="1" _et_ OuiNon(Oui, +"Souhaitez-vous ajouter l'adresse du site comme coordonnées du client")=Oui alors +//gclPresentationFicheClient:ListeLieu:p_nTotal=1 _ET_ +PreparationNouvelleCoordonnee() +MAJAdresseDepuisSite() +clErreur est un CErreur +ValideCoordonnee(clErreur) +fin +gclPresentationFicheClient.ListeContact=PTablePersonne.gNouvellePresentation(0, +gclPresentationFicheClient.m_nPKID) +gclPresentationFicheClient.MajUI()//DemandeMiseAJourUI()//DemandeMiseAJourIHM() +//EnregistrerFiche() +fin +//SI sNomChamp dans +(BTN_LOUPE_CONTACT..Nom,BTN_AJOUTE_CONTACT..Nom,BTN_MODIF_CONTACT..Nom,BTN_LOUPE_LIEU..nom,BTN_AJOUTE_L +IEU..nom,BTN_MODIF_LIEU..nom) _ET_ gclPresentationFicheClient:m_bBlocageEcriture ALORS +// gnDelai = Val(gpclListeParamAppli:m_clTabModele["TIMEOUT_BLOC_ENREG_CLIENT"]:m_sValeur) +// TimerSys(TimeOutClient,100) +//FIN +//SI gclPresentationFicheClient:m_bBlocageEcriture ALORS +// SI bReorga ALORS +// gnDelai = DonneValeurTimeOutObjet(gclPresentationFicheClient) +// TimerSys(TimeOutClient,100) +// SINON +// AppelProcFenetreAppelante(gclPresentationFicheClient,paramSupplementaire,Vrai,Faux) +// FIN +06/08/2026 Isis_BO 2121 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Procédures +// //Une demande de blocage a été demandée par une fenetre fille et l'enregistrement n'est pas bloqué +//SINON SI bBloc ALORS +// //Tentative de blocage +// bResultat= AppelProcFenetreAppelante(gclPresentationFicheClient,paramSupplementaire,Faux,Faux,Vrai) +//FIN +renvoyer bResultat +Procédure locale PreparationNouvelleCoordonnee +// Résumé : +// Syntaxe : +// PreparationNouvelleCoordonnee () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure PreparationNouvelleCoordonnee() +//Création d'un nouvel enregistrement dans la zone répétée des adresses +nIndice est un entier = TableAjouteLigne(TABLE_Client_Adresse) +//Positionnement dans le nouvel enregistrement de la zone répétée des adresses +TableSelectPlus(TABLE_Client_Adresse,nIndice) +//gclPresentationFicheClient:AjouteCoordonnees() +//Création d'une nouvelle fiche adresse +clFicheClientAdresse est un PFicheClient_Adresse <-gclPresentationFicheClient:ListeAdresse:Nouveau(Vrai +,gclPresentationFicheClient:IdentifiantUnique) +//Validation en mémoire de la nouvelle fiche personne +clFicheClientAdresse.AppelProcValidation() +// sauvegarde de la table +TableEnregistre(TABLE_Client_Adresse,clFicheClientAdresse) +//Rafraichissement des données de la zone répétée des adresses +TableAffiche(TABLE_Client_Adresse,nIndice) +gclPresentationFicheClient:ListeAdresse.p_clCourant = TABLE_Client_Adresse +Procédure locale RafraichissementFiche +procédure RafraichissementFiche(stParamSupplementaire est STParamFenetreAppelante) +si gclPresentationFicheClient:m_nPKID > 0 _et_ stParamSupplementaire.sNomFenetreAppelante="FEN_MENU" +alors +gclPresentationListeClient est un PTableClient dynamique = PTableClient.gNouvellePresentation(6, +gclPresentationFicheClient:m_nPKID) +si gclPresentationListeClient:p_nTotal=1 alors +gclPresentationListeClient:p_clCourant = gclPresentationListeClient:m_clTabModele[1] +fin +gclPresentationFicheClient <-gclPresentationListeClient.Modifier() +PFicheClient.gListeAdresses(gclPresentationFicheClient) +PFicheClient.gListeContacts(gclPresentationFicheClient) +PFicheClient.gListeLieu(gclPresentationFicheClient) +PFicheClient.gListeDossier(gclPresentationFicheClient) +GestionTypeClient() +DemandeMiseAJourUI() +fin +Procédure locale RechercheContactListe +06/08/2026 Isis_BO 2122 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Procédures +procédure RechercheContactListe() +gnPosRechercheCont = 0 +LIB_ResultatRechercheContact = "" +b est un entier = 0 +sValeurCol est une chaîne ANSI +sValeurRecherche est une chaîne ANSI = SansAccent(SansEspace(SAI_CodeContact)) +pour toute ligne i de TABLE_Interlocuteur +sValeurCol = SansAccent(Majuscule(SansEspace(TABLE_Interlocuteur.COL_sNom[i]))) +si Contient(sValeurCol,sValeurRecherche) alors +b += 1 +fin +fin +LIB_ResultatRechercheContact = b + " enregistrements(s) trouvés" +Procédure locale RechercheContactTable +procédure RechercheContactTable(bAjout est un booléen = Faux) +b est un entier +c est un entier +nPKID est un entier sur 8 octets = Val(ExtraitChaîne(ExtraitChaîne(SAI_CodeContact.. +ValeurAffichée,2,"[",DepuisDébut),1,"]")) +sValeurRecherche est une chaîne ANSI = ChaîneSupprime(SAI_CodeContact,"["+nPKID+"]" ) +sValeurRecherche = SansAccent(Majuscule(SansEspace(sValeurRecherche))) +sValeurCol est une chaîne ANSI +si gnPosRechercheCont > 0 _et_ gnPosRechercheCont < TABLE_Interlocuteur.Occurrence() alors +c = gnPosRechercheCont +sinon +c = 0 +fin +pour toute ligne i de TABLE_Interlocuteur +c += 1 +si c <= TABLE_Interlocuteur.Occurrence() alors +sValeurCol = SansAccent(Majuscule(SansEspace(TABLE_Interlocuteur.COL_NomPrenom[c]))) +si Contient(sValeurCol,sValeurRecherche) alors +b = c +sortir +fin +fin +fin +si b > 0 alors +TableSelectPlus(TABLE_Interlocuteur,b) +sinon +si gnPosRechercheCont > 0 alors +c = 0 +pour toute ligne i de TABLE_Interlocuteur +c += 1 +sValeurCol = SansAccent(Majuscule(SansEspace(TABLE_Interlocuteur.COL_NomPrenom[c]))) +si Contient(sValeurCol,sValeurRecherche) alors +b = c +sortir +fin +fin +fin +06/08/2026 Isis_BO 2123 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Procédures +si b > 0 alors +TableSelectPlus(TABLE_Interlocuteur,b) +fin +fin +gnPosRechercheCont = b +si b <= 0 alors +si SAI_CodeContact..ValeurAffichée<>"" _et_ bAjout alors +nPKID = Val(ExtraitChaîne(ExtraitChaîne(SAI_CodeContact,2,"[",DepuisDébut),1,"]")) +si nPKID>0 alors +si OuiNon("Souhaitez-vous ajouter le contact à la liste des contacts du client ? ") = Oui +alors +PFicheClient.gListeContacts(gclPresentationFicheClient,*,nPKID) +LIB_ResultatRechercheContact = "" +SaisieAssistéeSupprimeTout(SAI_CodeContact) +SAI_CodeContact = sValeurRecherche +gclPresentationFicheClient.ListeContact = PTablePersonne.gNouvellePresentation(0, +gclPresentationFicheClient.m_nPKID) +gclPresentationFicheClient.MajUI()//DemandeMiseAJourIHM() +gnPosRechercheCont = 0 +// POUR TOUTE LIGNE i DE TABLE_Interlocuteur +// +SI FI_Fiche_Client.SC_FIC_CLI.SC_COL_GAUCHE_CLI.SC_CONTACT_CLI.TABLE_Interlocuteur.COL_PKID[i] = nPKID +ALORS +// TableSelectPlus(TABLE_Interlocuteur,i) +// gnPosRechercheCont = i +// SORTIR +// FIN +// FIN +fin +fin +fin +fin +Procédure locale RechercheSiteListe +procédure RechercheSiteListe() +gnPosRechercheSite = 0 +LIB_ResultatRecherche = "" +b est un entier = 0 +sValeurCol est une chaîne ANSI +sValeurRecherche est une chaîne ANSI = SansEspace(SAI_CodeLieu) +pour toute ligne i de TABLE_Lieu +sValeurCol = Majuscule(SansEspace(FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI.SC_SITE_CLI.TABLE_ +Lieu.COL_sNom[i])) +si Contient(sValeurCol,sValeurRecherche) alors +b += 1 +fin +fin +LIB_ResultatRecherche = b + " enregistrements(s) trouvés" +Procédure locale RechercheSiteTable +06/08/2026 Isis_BO 2124 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Procédures +procédure RechercheSiteTable(bAjout est un booléen = Faux) +b est un entier +c est un entier +nPKID est un entier sur 8 octets = Val(ExtraitChaîne(ExtraitChaîne(SAI_CodeLieu..ValeurAffichée,2 +,"[",DepuisDébut),1,"]")) +sValeurRecherche est une chaîne ANSI = ChaîneSupprime(SAI_CodeLieu,"["+nPKID+"]" ) +sValeurRecherche = SansAccent(Majuscule(SansEspace(sValeurRecherche))) +sValeurCol est une chaîne ANSI +si gnPosRechercheSite > 0 _et_ gnPosRechercheSite < TABLE_Lieu.Occurrence() alors +c = gnPosRechercheSite +sinon +c = 0 +fin +pour toute ligne i de TABLE_Lieu +c += 1 +si c <= TABLE_Lieu.Occurrence() alors +sValeurCol = SansAccent(Majuscule(SansEspace(TABLE_Lieu.COL_sNom[c]))) +si Contient(sValeurCol,sValeurRecherche) alors +b = c +sortir +fin +fin +fin +si b > 0 alors +TableSelectPlus(TABLE_Lieu,b) +sinon +si gnPosRechercheSite > 0 alors +c = 0 +pour toute ligne i de TABLE_Lieu +c += 1 +sValeurCol = SansAccent(Majuscule(SansEspace(TABLE_Lieu.COL_sNom[c]))) +si Contient(sValeurCol,sValeurRecherche) alors +b = c +sortir +fin +fin +fin +si b > 0 alors +TableSelectPlus(TABLE_Lieu,b) +fin +fin +gnPosRechercheSite = b +si b <= 0 _et_ bAjout alors +si SAI_CodeLieu..ValeurAffichée<>"" alors +sCodeLieu est une chaîne ANSI = SAI_CodeLieu +nPKID = Val(ExtraitChaîne(ExtraitChaîne(SAI_CodeLieu..ValeurAffichée,2,"[",DepuisDébut),1,"]") +) +si nPKID>0 alors +si OuiNon("Souhaitez-vous ajouter l'adresse du site à la liste des sites du client ? ") = +Oui alors +si PFicheClient.gListeLieu(gclPresentationFicheClient,*,nPKID) alors +//_et_ gclPresentationFicheClient:ListeLieu:p_nTotal=1 ALORS +si ParametreLit("DUPLIQUE_ADRSITE_VERS_ADRCLI")="1" _et_ OuiNon(Oui, +06/08/2026 Isis_BO 2125 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Procédures +"Souhaitez-vous ajouter l'adresse du site comme coordonnées du client")=Oui alors +PreparationNouvelleCoordonnee() +MAJAdresseDepuisSite() +clErreur est un CErreur +ValideCoordonnee(clErreur) +fin +SAI_CodeLieu="" +LIB_ResultatRecherche = "" +SaisieAssistéeSupprimeTout(SAI_CodeLieu) +SAI_CodeLieu = ChaîneSupprime(sCodeLieu,"["+nPKID+"]" ) +// gnPosRechercheSite = 0 +// +POUR TOUTE LIGNE i DE FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI.SC_SITE_CLI.TABLE_Lieu +// +si FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI.SC_SITE_CLI.TABLE_Lieu.COL_PKID[i] = nPKID alors +// +TableSelectPlus(FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI.SC_SITE_CLI.TABLE_Lieu,i) +// gnPosRechercheSite = i +// sortir +// FIN +// FIN +// +// +si gnPosRechercheSite <= 0 _et_ +FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI.SC_SITE_CLI.TABLE_Lieu.Occurrence() > 0 alors +// +gnPosRechercheSite = FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI.SC_SITE_CLI.TABLE_Lieu.Occurrence() +// +tableSelectPlus(FI_Fiche_Client.SC_FIC_CLI.SC_COL_DROITE_CLI.SC_SITE_CLI.TABLE_Lieu,gnPosRechercheSite) +// FIN +fin +fin +fin +fin +fin +Procédure locale SupprimeClient +// Résumé : +// Syntaxe : +// SupprimeClient () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SupprimeClient() +clErreurest un CErreur +bControle est un booléen = gclPresentationFicheClient:bControle(clErreur,Vrai) +si bControle=Faux alors +Erreur(clErreur.FormateMessage()) +sinon si pas gclPresentationFicheClient.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +06/08/2026 Isis_BO 2126 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Procédures +sinon +si paramSupplementaire.eTypeAppel=DansChampFI alors +//SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,Null) +AppelProcFenetreAppelante(gclPresentationFicheClient,paramSupplementaire,Faux,Vrai) +gbAppelProcFenAppelante=Vrai +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon +FermeVoletEtActiveLePrecedent(VoletDuChamp(SC_FIC_CLI)) +fin +fin +Procédure locale SurActivite +// Résumé : +// Syntaxe : +//SurActivite (, , ) +// +// Paramètres : +// wEve : +// wParam : +// lParam : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SurActivite(wEve,wParam,lParam) +si gclPresentationFicheClient:m_bBlocageEcriture alors +gnDelai=DonneValeurTimeOutObjet(gclPresentationFicheClient) +fin +Procédure locale TermineVérificationTVA +procédure TermineVérificationTVA(sValeur,bValide,sMessage="") +// Supprime la jauge +IMG_Chargement..Visible=Faux +si bValide alors +LIB_Valide = "Numéro de TVA valide" +LIB_Valide..Visible = Vrai +FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.IMG_Valide..Bulle = sMessage<>"" ? sMessage sinon +LIB_Valide +FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.IMG_Valide..Visible = Vrai +sinon +LIB_Erreur = "TVA invalide / ou service VIES indisponible" +LIB_Erreur..Visible = Vrai +FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.IMG_Erreur..Bulle = sMessage<>"" ? sMessage sinon +LIB_Erreur +FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.IMG_Erreur..Visible = Vrai +SaisieInvalideAfficheIcone (FI_Fiche_Client.SC_FIC_CLI.SC_ENTETE_FH_CLIENT.IMG_Erreur..Bulle, +icoADroite) +fin +Procédure locale TimeOutClient +procédure TimeOutClient() +//Enlève 1 seconde au temps restant +gnDelai-- +06/08/2026 Isis_BO 2127 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Procédures +//SI FI_Fiche_Client.Plan = 2 _ET_ gclPresentationFicheClient:ListeAdresse:p_clCourant <> Null ALORS +// +// EcranVersSource("", "gclPresentationFicheClient:ListeAdresse:p_clCourant") +// clErreur est un CErreur +// SI PAS ValideCoordonnee(clErreur) ALORS +// Erreur(clErreur.FormateMessage()) +// RETOUR Faux +// FIN +//FIN +//Le temps est écoulé, l'enregistrement et le déblocage de ce dernier c'est bien passé +si gnDelai = 0 alors +DeblocEnregistrement(gclPresentationFicheClient,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_CLIENT,BTN_CADENAS_OUVERT_CLIENT,GR_CADENAS_CLIENT,SC_FIC_CLI,*,Vrai) +fin +Procédure locale TriColonne +// Procédure callback appelée à chaque clic sur entête de colonne de "Table1" pour trier la colonne +// wEve [in]: Numéro du message Windows +// wParam [in] : Numéro de la colonne a trier +// lParam [in]: Ordre du tri 5 (1 : Croissant, 0 : décroissant) +// Renvoyer 0 pour ne pas effectuer le tri demandé +procédure TriColonne(wEve,wParam,lParam) +sSens est une chaîne="" +si wParam<>0 alors//N° de colonne sur laquelle le clic est effectué +//Détection du sens du tri +si pas lParam alors sSens="-" +selon MoiMême..Nom +cas TABLE_Interlocuteur..Nom +//Trier sur la colonne +TableTrie(TABLE_Interlocuteur,sSens+TableEnumèreColonne(TABLE_Interlocuteur,wParam), +"+COL_PKID") +//Traitement à effectuer "Après chaque tri" +TrieObjetChampTableSiBesoin(gclPresentationFicheClient:ListeContact,TABLE_Interlocuteur,gs +TriEnCoursContact) +cas TABLE_Lieu..Nom +//Trier sur la colonne +TableTrie(TABLE_Lieu,sSens+TableEnumèreColonne(TABLE_Lieu,wParam),"+COL_PKID") +//Traitement à effectuer "Après chaque tri" +TrieObjetChampTableSiBesoin(gclPresentationFicheClient:ListeLieu,TABLE_Lieu,gs +TriEnCoursLieu) +cas TABLE_Dossier..Nom +//Trier sur la colonne +TableTrie(TABLE_Dossier,sSens+TableEnumèreColonne(TABLE_Dossier,wParam),"+COL_PKID") +//Traitement à effectuer "Après chaque tri" +TrieObjetChampTableSiBesoin(gclPresentationFicheClient:ListeDossier,TABLE_Dossier,gs +TriEnCoursDossier) +cas TABLE_Client_Adresse..Nom +//Trier sur la colonne +TableTrie(TABLE_Client_Adresse,sSens+TableEnumèreColonne(TABLE_Client_Adresse,wParam), +"+COL_PKID") +//Traitement à effectuer "Après chaque tri" +TrieObjetChampTableSiBesoin(gclPresentationFicheClient:ListeAdresse,TABLE_Client_Adresse, +gsTriEnCoursAdresse) +fin +renvoyer 0 +06/08/2026 Isis_BO 2128 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Client › Procédures +fin +Procédure locale ValideCoordonnee +// Résumé : +// Syntaxe : +//[ = ] ValideCoordonnee ( est CErreur) +// +// Paramètres : +// clErreur (CErreur) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ValideCoordonnee(clErreur est un CErreur) +//Instanciation d'une fiche client_adresse à partir de l'enregistrement du tableau des adresses +clFicheClientAdresse est un PFicheClient_Adresse(gclPresentationFicheClient:ListeAdresse:p_clCourant) +//Affectation de l'identifiant du client au client adresse +clFicheClientAdresse:m_nIDClient = gclPresentationFicheClient:IdentifiantUnique +renvoyer clFicheClientAdresse:bOK(clErreur) +Procédure locale VérifieNuméroTVA +procédure VérifieNuméroTVA(sPays,sNuméro_de_TVA) +// Accorde 3 secondes maximum pour que le WebService réponde +wsOptionsRequête est un wsRequête +wsOptionsRequête..DuréeNonRéponse = 3 s +// Contacte le Webservice de validation de TVA +wsCheckVatResponse est un checkVatService.checkVatResponse = checkVatService.checkVat(wsOptionsRequête, +sPays,sNuméro_de_TVA) +// le traitement est terminé, on peut mettre à jour l'interface (UI) +// conserver cet appel de fin pour masquer la jauge +si ErreurDétectée() alors +TermineVérificationTVA(sNuméro_de_TVA,Faux,"Échec de l'appel au service Web : " + [RC] + ErreurInfo +()) +sinon +soit sMessage = "Numéro de TVA valide" +si wsCheckVatResponse.valid alors +// Indique le nom et l'adresse associés à ce numéro de TVA (le WS indique "---" si non +renseigné) +sMessage+= [RC] + (wsCheckVatResponse.name="---" ? "" sinon wsCheckVatResponse.name) +sMessage+= [RC] + (wsCheckVatResponse.address="---" ? "" sinon wsCheckVatResponse.address) +fin +TermineVérificationTVA(sNuméro_de_TVA,wsCheckVatResponse.valid,sMessage) +fin +06/08/2026 Isis_BO 2129 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Image +FI_Liste_Client +Image +FI_Liste_Client +Informations générales +FI_Liste_Client +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Liste_Client.wdw +| Créé par | | frederic.bourras@applilogik.fr | | | | +| -------------------------- | ------------ | ------------------------------ | --------- | ------------ | ---- | +| Date de création | | 13/08/2018 18:42:43 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 23/04/2025 09:13:41 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1458 Hauteur | 452 | +| Visible | | Barre de titre | | Menu système | | +| 06/08/2026 | | | Isis_BO | | 2130 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations générales +| Icône réduction | Icône agrandissement | | Icône aide ctx. | | +| --------------------- | -------------------- | --- | --------------- | --- | +| Barre de message | Détourer le fond | | Mode 9 images | | +| Redimensionnable | Avec grip | | Grip dans image | | +| Déplace/fond | Sauve position | | Ascenseur auto. | | +| Gestion grande police | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | Actif | | | | +| ------------------------------- | ----------------------------------- | --- | --- | --- | +| Curseur survol | 0 | | | | +| Copie d'écran | Oui | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Oui | | | | +| Type cadre | | | | | +| Transparence Vista | Non | | | | +| Transparence gérée par Vista | Non | | | | +| Appliquer le thème du projet | | | | | +| Grisé : Utiliser couleur perso. | Non | | | | +| Grisé : Algo pour images | | | | | +| 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. | | | | | +| 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 | | | | +| ---------------------- | --- | ------- | --- | ---- | +| 06/08/2026 | | Isis_BO | | 2131 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | | 20 | | Libellé | | 13 | +| --- | --------------------- | --- | --- | --- | --- | ----------------------- | --- | --- | +| | Bouton | | | 10 | | Interrupteur | | 30 | +| | Sélecteur | | | 1 | | Image | | 5 | +| | Table | | | 1 | | Combo | | 14 | +| | Forme | | | 9 | | Fenêtre interne | | 1 | +| | Option d'interrupteur | | | 30 | | Option de sélecteur | | 3 | +| | Colonne de table | | | 11 | | Rupture de zone répétée | | 2 | +| | Disposition | | | 12 | | Cellule de disposition | | 52 | +Nombre d'éléments dans la fenêtre : 214 +FI_Liste_Client +Informations sur les champs +Fenêtre : FI_Liste_Client +Fenêtre interne +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FI_Liste_Client | | | 0 | 0 | 1458 | 452 | 0 | | +| --------------- | --- | --- | --- | --- | ---- | --- | --- | --- | +Fenêtre interne : FI_Liste_Client +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_ADRESSE_SITE | | 130 26 173 | 22 0 | Actif | Texte | | Non | | +| ------------------ | --- | ---------- | ---- | ------- | ----- | --- | --- | ---- | +| SAI_CLIENT | | 130 3 173 | 22 0 | Actif | Texte | | Non | | +| SAI_CLIENT_RECH | | 75 -83 259 | 24 0 | Actif | Texte | | Non | | +| SAI_CODEPOSTAL_CLI | | 452 26 173 | 22 0 | Actif | Texte | | Non | | +| SAI_CODEPOSTAL_SIT | | 130 51 173 | 22 0 | Actif | Texte | | Non | | +| SAI_CODE_CLIENT | | 130 53 173 | 22 0 | Actif | Texte | | Non | | +| 06/08/2026 | | | | Isis_BO | | | | 2132 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +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_CODE_LIEU | 130 | 1 173 | 22 | 0 | Actif | | Texte | | Non | | | | | +| ------------------ | --- | ------ | --- | --- | ----- | --- | ----- | --- | --- | --- | --- | --- | --- | +| SAI_COORD_CLIENT | 452 | 1 173 | 22 | 0 | Actif | | Texte | | Non | | | | | +| SAI_DATE_INTERV_AU | 544 | 81 74 | 22 | 0 | Actif | | Date | | Non | | | | | +| SAI_DATE_INTERV_DU | 445 | 81 74 | 22 | 0 | Actif | | Date | | Non | | | | | +| SAI_DESCRIPTION | 445 | 54 172 | 22 | 0 | Actif | | Texte | | Non | | | | | +| SAI_EMAIL_CONTACT | 130 | 51 173 | 22 | 0 | Actif | | Texte | | Non | | | | | +| SAI_NOM_CONTACT | 130 | 1 173 | 22 | 0 | Actif | | Texte | | Non | | | | | +| SAI_NUMDOSSIER | 130 | 3 173 | 22 | 0 | Actif | | Texte | | Non | | | | | +| SAI_NUMINTERV | 130 | 3 173 | 22 | 0 | Actif | | Texte | | Non | | | | | +| SAI_REFEXT_DOSSIER | 130 | 28 173 | 22 | 0 | Actif | | Texte | | Non | | | | | +| SAI_REFEXT_INTERV | 130 | 81 173 | 22 | 0 | Actif | | Texte | | Non | | | | | +| SAI_TELS_CONTACT | 130 | 26 173 | 22 | 0 | Actif | | Texte | | Non | | | | | +| SAI_VILLE_CLIENT | 452 | 51 173 | 22 | 0 | Actif | | Texte | | Non | | | | | +| SAI_VILLE_SITE | 130 | 76 173 | 22 | 0 | Actif | | Texte | | Non | | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | --- | +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | | | +| --- | --- | ---------- | ---------- | ------- | --- | ------- | --- | --- | ------------ | --- | --- | --- | --- | +| | | | | ruegraL | | ruetuaH | | | | | | | | +elbisiV +nalP +| LIB_AFFICHER | | 6 | | 9 | 45 | 14 | 0 | | Actif | Gauche | Haut | | | +| ------------------ | --- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | --- | +| LIB_BLOCAGE | | 343 | | 80 | 100 | 17 | 0 | | Actif | Gauche | Haut | | | +| LIB_CLEINT | | 0 | | 8 | 100 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_DATE_INTERV_AU | | 526 | | 85 | 17 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_DEPUIS | | 227 | | 9 | 45 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_DOSSIER | | 0 | | 8 | 100 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_INTERVENTION | | 0 | | 8 | 100 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_SITE | | 0 | | 8 | 100 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_SITE | | 0 | | 8 | 100 | 14 | 0 | | Actif | Gauche | Haut | | | +LIB_Titre_de_fenêtre_liste_client 6 6 39 21 0 Actif Gauche Centre +| LIB_Total_Liste_Client | | 44 | | 0 | 36 | 14 | 0 | | Actif | Gauche | Haut | | | +| ---------------------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | --- | +| LIB_Total_Titre_Liste_Client | | 0 | | 0 | 40 | 14 | 0 | | Actif | Gauche | Haut | | | +Bouton +| | | | | | | | | | | | BAT ehcuoT | notuob epyT | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | ---------- | ----------- | --- | +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_ADD_LISTE_CLIENT | | | 4 | | 4 | 24 | 24 | | 0 | Actif | | Normal | | +| ------------------------- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | ----- | --- | ------ | ---- | +| BTN_AVANCEE | | | 4 | | 4 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_CLOSE_LISTE_CLIENT | | | 4 | | 4 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_COLLAPSE_LISTE_CLIENT | | | 717 | | 4 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_DEL_LISTE_CLIENT | | | 4 | | 4 | 24 | 24 | | 0 | Grisé | | Normal | | +| BTN_EDT_LISTE_CLIENT | | | 4 | | 4 | 24 | 24 | | 0 | Grisé | | Normal | | +| BTN_GOMMER | | | 4 | | 4 | 24 | 24 | | 0 | Actif | | Normal | | +| 06/08/2026 | | | | | | Isis_BO | | | | | | | 2133 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +BAT ehcuoT notuob epyT +laitini tatE +| | X noitisoP Y noitisoP | | | | | | +| --- | --------------------- | --------------- | --- | --- | --- | --- | +| | | ruegraL ruetuaH | | | | | +elbisiV +nalP +| BTN_RECHERCHE_CLIENT | 4 | 4 24 | 24 0 | Actif | Normal | | +| --------------------------- | --- | ---- | ---- | ----- | ------ | --- | +| BTN_SEL_LISTE_CLIENT | 4 | 4 24 | 24 0 | Grisé | Normal | | +| BTN_UNCOLLAPSE_LISTE_CLIENT | 717 | 4 24 | 24 0 | Actif | Normal | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | staté siorT | +| --- | --------------------- | --- | --- | ------------ | --- | ----------- | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| INT_ADRESSE_SITE | 0 25 | 130 25 | 0 | Actif | 1 | | +| --------------------- | ------ | ------- | --- | ----- | --- | ---- | +| INT_APPORTEUR | 636 0 | 130 25 | 0 | Actif | 1 | | +| INT_CLIENT | 0 2 | 130 25 | 0 | Actif | 1 | | +| INT_CODEPOSTAL_CLIENT | 322 25 | 130 25 | 0 | Actif | 1 | | +| INT_CODEPOSTAL_SITE | 0 50 | 130 25 | 0 | Actif | 1 | | +| INT_CODE_CLIENT | 0 52 | 130 25 | 0 | Actif | 1 | | +| INT_CODE_LIEU | 0 0 | 130 25 | 0 | Actif | 1 | | +| INT_COORD_CLIENT | 322 0 | 130 25 | 0 | Actif | 1 | | +| INT_DATE_INTERV_DU | 315 80 | 130 25 | 0 | Actif | 1 | | +| INT_DESCRIPTION | 314 53 | 130 25 | 0 | Actif | 1 | | +| INT_EMAIL_CONTACT | 0 50 | 130 25 | 0 | Actif | 1 | | +| INT_ETAT_INTERV | 314 27 | 130 25 | 0 | Actif | 1 | | +| INT_NOM_CONTACT | 0 0 | 130 25 | 0 | Actif | 1 | | +| INT_NUMDOSSIER | 0 2 | 130 25 | 0 | Actif | 1 | | +| INT_NUMINTERV | 0 2 | 130 25 | 0 | Actif | 1 | | +| INT_ORIGINE | 636 25 | 130 25 | 0 | Actif | 1 | | +| INT_REFEXT_DOSSIER | 0 27 | 130 25 | 0 | Actif | 1 | | +| INT_REFEXT_INTERV | 0 78 | 130 25 | 0 | Actif | 1 | | +| INT_REGLEMENT | 636 50 | 130 25 | 0 | Actif | 1 | | +| INT_ROLE_CONTACT | 0 78 | 130 25 | 0 | Actif | 1 | | +| INT_SOCIETE_INTERV | 314 2 | 130 25 | 0 | Actif | 1 | | +| INT_STATUT_CLIENT | 0 77 | 130 25 | 0 | Actif | 1 | | +| INT_STATUT_DOSSIER | 0 77 | 130 25 | 0 | Actif | 1 | | +| INT_SUIVI_PAR | 0 28 | 130 25 | 0 | Actif | 1 | | +| INT_TELS_CONTACT | 0 25 | 130 25 | 0 | Actif | 1 | | +| INT_TYPE_CLIENT | 0 27 | 130 25 | 0 | Actif | 1 | | +| INT_TYPE_DOSSIER | 0 52 | 130 25 | 0 | Actif | 1 | | +| INT_TYPE_INTERVENTION | 0 53 | 131 25 | 0 | Actif | 1 | | +| INT_VILLE_CLIENT | 322 50 | 130 25 | 0 | Actif | 1 | | +| INT_VILLE_SITE | 0 75 | 130 25 | 0 | Actif | 1 | | +| 06/08/2026 | | Isis_BO | | | | 2134 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Sélecteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| SEL_BLOCAGE_CLIENT | | 452 73 | 173 | 25 | 0 | Actif | | 3 | | +| ------------------ | --- | ------ | --- | --- | --- | ----- | --- | --- | --- | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | sucof cevA | +| --- | --- | --------------------- | ------- | ------- | --- | ------- | ------------ | --- | ---------- | +| | | | | ruetuaH | | | cilc cevA | | | +| | | | ruegraL | | | elbisiV | | | | +nalP +| IMG_ICONE_CARACTERISTIQUES | | 4 | 7 16 | 16 | 0 | | Actif | | | +| -------------------------- | --- | --- | ---- | --- | --- | --- | ----- | --- | --- | +| IMG_ICONE_CARACTERISTIQUES | | 4 | 7 16 | 16 | 0 | | Actif | | | +| IMG_ICONE_CARACTERISTIQUES | | 4 | 7 16 | 16 | 0 | | Actif | | | +| IMG_ICONE_CARACTERISTIQUES | | 4 | 7 16 | 16 | 0 | | Actif | | | +| IMG_ICONE_CARACTERISTIQUES | | 4 | 7 16 | 16 | 0 | | Actif | | | +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | ------------------ | -------------- | ------------------------------ | ------------------ | ----------------------------- | +| | | | | | )(ertliFH resilitU | | ruesnecsa elluB EERTNE noitseG | | eércna ennoloC 5.5 elbitapmoC | +| | | | | | .gerne egacolB | noitcelésitluM | edacsac eisiaS | | | +BAT ehcuoT +| | X noitisoP Y noitisoP | | laitini tatE | | | | | | | +| --- | --------------------- | --------------- | ------------ | --- | -------- | --- | --- | --- | --- | +| | | ruegraL ruetuaH | | | sruocraP | | | | | +elbisiV +elbaT +nalP +Mémoir +| TABLE_LISTE_CLIENT | 0 | 0 1458 90 0 | affichag | | | | | | 1 | +| ------------------ | --- | ----------- | -------- | --- | --- | --- | --- | --- | --- | +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 +| | | | nalP | | elbaT | | eéirT | | | +| -------------------- | --- | --------- | ---- | ----- | -------- | --- | ----- | --- | --- | +| COMBO_APPORTEUR | 766 | 1 173 22 | 0 | Actif | Variable | | Non | | | +| COMBO_ETAT_INTERV | 445 | 28 173 22 | 0 | Actif | Mémoire | | Non | | | +| COMBO_ORIGINE | 766 | 26 173 22 | 0 | Actif | Variable | | Non | | | +| COMBO_PERIODE_AFFICH | 272 | 5 87 22 | 0 | Actif | Variable | | Non | | | +| COMBO_REGLEMENT | 766 | 51 173 22 | 0 | Actif | Variable | | Non | | | +| COMBO_ROLE_CONTACT | 130 | 79 173 22 | 0 | Actif | Variable | | Non | | | +COMBO_SEUIL_AFFICHAG +| | 57 | 5 158 22 | 0 | Actif | Variable | | Non | | | +| -------------------- | --- | --------- | ------- | ----- | -------- | --- | --- | --- | ---- | +| COMBO_SOCIETE_INTERV | 445 | 3 173 22 | 0 | Actif | Mémoire | | Non | | | +| COMBO_STATUT_CLIENT | 130 | 78 173 22 | 0 | Actif | Variable | | Non | | | +| COMBO_STATUT_DOSSIE | 130 | 78 173 22 | 0 | Actif | Variable | | Non | | | +| COMBO_SUIVI_PAR | 130 | 28 173 22 | 0 | Actif | Variable | | Non | | | +| 06/08/2026 | | | Isis_BO | | | | | | 2135 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +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 +| | | | nalP | elbaT | eéirT | | | +| -------------------- | ------ | ------ | ------- | -------- | ----- | --- | --- | +| COMBO_TYPE_CLIENT | 130 28 | 173 22 | 0 Actif | Variable | Non | | | +| COMBO_TYPE_DOSSIER | 130 53 | 173 22 | 0 Actif | Variable | Non | | | +| COMBO_TYPE_INTERVENT | 130 54 | 173 22 | 0 Actif | Variable | Non | | | +Forme +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_BANDEAU_BAS_CLIENT | | 0 | 0 1458 | 14 | 0 | Actif | | +| ------------------------------ | --- | --- | ------ | --- | --- | ----- | --- | +| FRM_CADRE_CARACTERISTIQUES | | 0 | 0 944 | 103 | 0 | Actif | | +| FRM_CADRE_CARACTERISTIQUES | | 0 | 0 309 | 103 | 0 | Actif | | +| FRM_CADRE_CARACTERISTIQUES | | 0 | 0 309 | 103 | 0 | Actif | | +| FRM_CADRE_CARACTERISTIQUES | | 0 | 0 309 | 103 | 0 | Actif | | +| FRM_CADRE_CARACTERISTIQUES | | 0 | 0 624 | 103 | 0 | Actif | | +| FRM_CRITERE_LISTE_CLIENT | | 0 | 0 1458 | 282 | 0 | Actif | | +| FRM_DEPLIER_PLIER_LISTE_CLIENT | | 0 | 0 1458 | 33 | 0 | Actif | | +| FRM_SansNom1 | | 307 | 0 8 | 103 | 0 | Actif | | +Disposition +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | +| | | X noitisoP | Y noitisoP | | | | | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| DISP_CG_L1_C2_L1 | | 0 | 0 309 | 32 | 0 | Actif | | +| ------------------- | --- | ---- | ------- | --- | --- | ----- | ---- | +| DISP_CG_L1_C2_L1 | | 0 | 0 309 | 32 | 0 | Actif | | +| DISP_CG_L1_C2_L1 | | 0 | 0 944 | 32 | 0 | Actif | | +| DISP_CG_L1_C2_L1 | | 0 | 0 309 | 32 | 0 | Actif | | +| DISP_CG_L1_C2_L1 | | 0 | 0 624 | 32 | 0 | Actif | | +| DISP_CLIENT | | 92 | 0 944 | 141 | 0 | Actif | | +| DISP_CONTACT | | 92 | 140 309 | 141 | 0 | Actif | | +| DISP_DOSSIER | | 413 | 141 309 | 141 | 0 | Actif | | +| DISP_INTERVENTION | | 735 | 141 624 | 141 | 0 | Actif | | +| DISP_SITE | | 1050 | 0 309 | 141 | 0 | Actif | | +| D_LISTE_CLIENT | | 0 | 0 1458 | 518 | 0 | Actif | | +| D_TETE_LISTE_CLIENT | | 0 | 0 1458 | 33 | 0 | Actif | | +| 06/08/2026 | | | Isis_BO | | | | 2136 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Table : FI_Liste_Client.D_LISTE_CLIENT.TABLE_LISTE_CLIENT +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| LIB_DATEMODIF | 24 | 43 1490 | 16 | 0 Actif | Gauche | Haut | | +| ------------- | --- | ------- | --- | ------- | ------ | ---- | --- | +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC +| | | ehcuag à eéxiF | | ehcrehcer cevA | | | | +| --- | --- | -------------- | --- | --------------------------- | --- | --- | --- | +| | | | | .zroh egardaC .trev egardaC | | | | +FTR tamroF +| | | laitini tatE | elbaçalpéD | | eisias epyT | engilitluM | eisias cevA | +| --- | --- | ------------ | ---------- | --- | ----------- | ---------- | ----------- | +ruegraL +elbisiV +| epyT | | | | | | eéirT | | +| -------------- | --- | -------- | --- | ------------- | ----- | ----- | --- | +| COL_NomClient | 386 | affichag | | Gauche Centre | Texte | | | +| COL_Coordonnee | 280 | affichag | | Gauche Centre | Texte | | | +| COL_NIDType | 199 | affichag | | Gauche Centre | Texte | | | +| COL_NIDStatut | 201 | affichag | | Gauche Centre | Texte | | | +| CodeClient | 227 | Actif | | Gauche Centre | Texte | | | +| CodeComptable | 150 | affichag | | Gauche Centre | Texte | | | +| MinDateModif | 100 | affichag | | Gauche Centre | Texte | | | +Numériq +| NbJrsModif | 100 | affichag | | Droite Centre | | | | +| ---------- | --- | -------- | --- | ------------- | --- | --- | --- | +Numériq +| COL_PKID | 100 | affichag | | Droite Centre | | | | +| ----------- | --- | -------- | --- | ------------- | ----- | --- | --- | +| IDOrigine | 100 | Actif | | Gauche Centre | Texte | | | +| IDApporteur | 100 | Actif | | Gauche Centre | Texte | | | +Rupture de zone répétée +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | ---------- | +| | | X noitisoP Y noitisoP | | | | | | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +RUPT_H_MinDateModif +RUPT_V_MinDateModif +| 06/08/2026 | | | Isis_BO | | | | 2137 | +| ---------- | --- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Fenêtre : FI_Liste_Client +Fenêtre interne : FI_Liste_Client +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Liste_Client +Bouton : FI_Liste_Client.D_LISTE_CLIENT.D_TETE_LISTE_CLIENT.BTN_ADD_LISTE_CLIENT +Groupe GR_MODEFORMULAIRE_LISTE_CLIENT +Ordre navigation 1 +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 +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 +06/08/2026 Isis_BO 2138 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : FI_Liste_Client.D_LISTE_CLIENT.D_TETE_LISTE_CLIENT.BTN_AVANCEE +Ordre navigation 1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Paramétrage.png +06/08/2026 Isis_BO 2139 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GR_MODEFORMULAIRE_LISTE_CLIENT +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 2140 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : FI_Liste_Client.D_LISTE_CLIENT.BTN_COLLAPSE_LISTE_CLIENT +Groupe GR_MODEFORMULAIRE_LISTE_CLIENT +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Plier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2141 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Bouton : FI_Liste_Client.D_LISTE_CLIENT.D_TETE_LISTE_CLIENT.BTN_DEL_LISTE_CLIENT +Groupe GR_MODEFORMULAIRE_LISTE_CLIENT,GR_MODIFICATION_LISTE_CLIENT +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2142 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Bouton : FI_Liste_Client.D_LISTE_CLIENT.D_TETE_LISTE_CLIENT.BTN_EDT_LISTE_CLIENT +Groupe GR_MODIFICATION_LISTE_CLIENT,GR_MODEFORMULAIRE_LISTE_CLIENT +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2143 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Bouton : FI_Liste_Client.D_LISTE_CLIENT.D_TETE_LISTE_CLIENT.BTN_GOMMER +Ordre navigation 1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Gommer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2144 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_refresh.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2145 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Bouton : FI_Liste_Client.D_LISTE_CLIENT.D_TETE_LISTE_CLIENT.BTN_SEL_LISTE_CLIENT +Groupe GR_MODEFORMULAIRE_LISTE_CLIENT +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2146 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Bouton : FI_Liste_Client.D_LISTE_CLIENT.BTN_UNCOLLAPSE_LISTE_CLIENT +Groupe GR_MODEFORMULAIRE_LISTE_CLIENT +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2147 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Combo : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT.COMBO_APPORTEUR +Libellé FR: &Apporté par +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 858 +Largeur interne 173 +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 +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 +06/08/2026 Isis_BO 2148 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Oui +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeApporteurClient.m_clTabModele +Filtre 6 +Rub. affichée :gpclListeApporteurClient.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeApporteurClient.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Client.D_LISTE_CLIENT.DISP_INTERVENTION.COMBO_ETAT_INTERV +Libellé FR: &Intervention suivi par +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Fenêtre Popup FEN_Choix_Parametre_Metier +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 1180 +Largeur interne 173 +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 +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Isis_BO 2149 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +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. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT.COMBO_ORIGINE +Libellé FR: &Origine +Valeur initiale 1 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +06/08/2026 Isis_BO 2150 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Hauteur liste 0 +Largeur liste 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 858 +Largeur interne 173 +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 +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. +Avec recherche Oui +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeOrigineClient.m_clTabModele +Rub. affichée :gpclListeOrigineClient.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeOrigineClient.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2151 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Combo : FI_Liste_Client.D_LISTE_CLIENT.COMBO_PERIODE_AFFICHAGE_CLIENT +Groupe GR_PERIODE_AFFICHAGE_CLIENT +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 87 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 272 +Largeur interne 87 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Période d'affichage du nombre de lignes +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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 +06/08/2026 Isis_BO 2152 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListePeriodeAffichageListe.m_clTabVisible +Filtre 02 +Rub. affichée :gpclListePeriodeAffichageListe.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListePeriodeAffichageListe.m_clTabVisible.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 333 Taux anc. bas 250 Taux anc. largeur 1000 Taux anc. hauteur 250 +Combo : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT.COMBO_REGLEMENT +Libellé FR: &Règlement +Valeur initiale 1 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 16 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 858 +Largeur interne 173 +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 +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Isis_BO 2153 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +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. +Avec recherche Oui +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeModeReglementCli.m_clTabModele +Rub. affichée :gpclListeModeReglementCli.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeModeReglementCli.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Client.D_LISTE_CLIENT.DISP_CONTACT.COMBO_ROLE_CONTACT +Libellé FR: Stat&ut du client +Valeur initiale 1 +Groupe ,GR_CRITERE_LISTECLIENT +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Isis_BO 2154 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 222 +Largeur interne 173 +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 +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. +Avec recherche Oui +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeRoleContact.m_clTabVisible +Rub. affichée :gpclListeRoleContact.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeRoleContact.m_clTabVisible.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 2155 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Client.D_LISTE_CLIENT.COMBO_SEUIL_AFFICHAGE_CLIENT +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 158 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 57 +Largeur interne 158 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Seuil d'affichage du nombre de lignes +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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 +06/08/2026 Isis_BO 2156 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeSeuilAffichageListe.m_clTabVisible +Filtre 02 +Rub. affichée :gpclListeSeuilAffichageListe.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeSeuilAffichageListe.m_clTabVisible.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 333 Taux anc. bas 250 Taux anc. largeur 1000 Taux anc. hauteur 250 +Combo : FI_Liste_Client.D_LISTE_CLIENT.DISP_INTERVENTION.COMBO_SOCIETE_INTERV +Libellé FR: &Intervention suivi par +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Fenêtre Popup FEN_Choix_Parametre_Metier +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 1180 +Largeur interne 173 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +06/08/2026 Isis_BO 2157 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Type saisie Texte +Mode ellipse +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. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT.COMBO_STATUT_CLIENT +Libellé FR: Stat&ut du client +Valeur initiale 1 +Groupe ,GR_CRITERE_LISTECLIENT +Ordre navigation 21 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Isis_BO 2158 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 222 +Largeur interne 173 +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 +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. +Avec recherche Oui +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeStatutClient.m_clTabVisible +Rub. affichée :gpclListeStatutClient.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeStatutClient.m_clTabVisible.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 2159 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Client.D_LISTE_CLIENT.DISP_DOSSIER.COMBO_STATUT_DOSSIER +Libellé FR: Stat&ut du dossier +Valeur initiale 1 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 543 +Largeur interne 173 +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 +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 +06/08/2026 Isis_BO 2160 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +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. +Avec recherche Oui +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeStatutDossier.m_clTabModele +Rub. affichée :gpclListeStatutDossier.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeStatutDossier.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Client.D_LISTE_CLIENT.DISP_INTERVENTION.COMBO_SUIVI_PAR +Libellé FR: &Intervention suivi par +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Fenêtre Popup FEN_Choix_Collab_Responsable +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 865 +Largeur interne 173 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 2161 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeCollabResp.m_clTabModele +Rub. affichée :gpclListeCollabResp.m_clTabModele.NomPrenom +Rub. mémorisée :gpclListeCollabResp.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2162 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Combo : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT.COMBO_TYPE_CLIENT +Libellé FR: Type de client +Groupe ,GR_CRITERE_LISTECLIENT +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 222 +Largeur interne 173 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Type de client +Numéro aide 0 +Texte d'indication si vide FR: Type de client +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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 +06/08/2026 Isis_BO 2163 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Oui +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeClient.m_clTabVisible +Filtre 2 +Rub. affichée :gpclListeTypeClient.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeTypeClient.m_clTabVisible.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Client.D_LISTE_CLIENT.DISP_DOSSIER.COMBO_TYPE_DOSSIER +Libellé FR: &Type de dossier +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 543 +Largeur interne 173 +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 +Unicode Non +06/08/2026 Isis_BO 2164 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › 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 +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. +Avec recherche Oui +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeDossier.m_clTabModele +Filtre 6 +Rub. affichée :gpclListeTypeDossier.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeTypeDossier.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : +Libellé FR: &Type d'intervention +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Isis_BO 2165 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 865 +Largeur interne 173 +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 +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. +Avec recherche Oui +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeIntervention.m_clTabModele +Rub. affichée :gpclListeTypeIntervention.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeTypeIntervention.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 2166 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Client.D_LISTE_CLIENT.DISP_DOSSIER.DISP_CG_L1_C2_L1 +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Client.D_LISTE_CLIENT.DISP_SITE.DISP_CG_L1_C2_L1 +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +06/08/2026 Isis_BO 2167 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Client.D_LISTE_CLIENT.DISP_CONTACT.DISP_CG_L1_C2_L1 +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT.DISP_CG_L1_C2_L1 +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Isis_BO 2168 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Client.D_LISTE_CLIENT.DISP_INTERVENTION.DISP_CG_L1_C2_L1 +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT +Libellé FR: Disposition +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 +Cellule ancrée 0 +06/08/2026 Isis_BO 2169 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Client.D_LISTE_CLIENT.DISP_CONTACT +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2170 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Disposition : FI_Liste_Client.D_LISTE_CLIENT.DISP_DOSSIER +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Client.D_LISTE_CLIENT.DISP_INTERVENTION +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +06/08/2026 Isis_BO 2171 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Disposition : FI_Liste_Client.D_LISTE_CLIENT.DISP_SITE +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Client.D_LISTE_CLIENT +Libellé FR: Disposition +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 +Cellule ancrée 4 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +06/08/2026 Isis_BO 2172 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Client.D_LISTE_CLIENT.D_TETE_LISTE_CLIENT +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Liste_Client.D_LISTE_CLIENT.FRM_BANDEAU_BAS_CLIENT +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et bas +06/08/2026 Isis_BO 2173 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Liste_Client.D_LISTE_CLIENT.DISP_DOSSIER.FRM_CADRE_CARACTERISTIQUES +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Liste_Client.D_LISTE_CLIENT.DISP_SITE.FRM_CADRE_CARACTERISTIQUES +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2174 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT.FRM_CADRE_CARACTERISTIQUES +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2175 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Liste_Client.D_LISTE_CLIENT.FRM_CRITERE_LISTE_CLIENT +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 0 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2176 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Forme : FI_Liste_Client.D_LISTE_CLIENT.FRM_DEPLIER_PLIER_LISTE_CLIENT +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Liste_Client.D_LISTE_CLIENT.DISP_INTERVENTION.FRM_SansNom1 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Vertical +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_action.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Isis_BO 2177 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_CLIENT.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +06/08/2026 Isis_BO 2178 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_dossier.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2179 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_CONTACTSITE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_SITE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +06/08/2026 Isis_BO 2180 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_SITE.INT_ADRESSE_SITE +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 3 +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 +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 Toute la hauteur de l'option +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 +06/08/2026 Isis_BO 2181 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Option multilignes Non +Option format RTF Non +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT.INT_APPORTEUR +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 2 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +06/08/2026 Isis_BO 2182 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT.INT_CLIENT +Valeur initiale 0 +Groupe ,GR_CRITERE_LISTECLIENT +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2183 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT.INT_CODEPOSTAL_CLIENT +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 7 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2184 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_SITE.INT_CODEPOSTAL_SITE +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2185 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT.INT_CODE_CLIENT +Valeur initiale 0 +Groupe ,GR_CRITERE_LISTECLIENT +Ordre navigation 17 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2186 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_SITE.INT_CODE_LIEU +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2187 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT.INT_COORD_CLIENT +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2188 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 14 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2189 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_INTERVENTION.INT_DESCRIPTION +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 10 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2190 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_CONTACT.INT_EMAIL_CONTACT +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2191 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_INTERVENTION.INT_ETAT_INTERV +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2192 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_CONTACT.INT_NOM_CONTACT +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2193 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_DOSSIER.INT_NUMDOSSIER +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2194 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_INTERVENTION.INT_NUMINTERV +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2195 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT.INT_ORIGINE +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 8 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2196 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_DOSSIER.INT_REFEXT_DOSSIER +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 3 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2197 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_INTERVENTION.INT_REFEXT_INTERV +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 13 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2198 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT.INT_REGLEMENT +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 14 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2199 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_CONTACT.INT_ROLE_CONTACT +Valeur initiale 0 +Groupe ,GR_CRITERE_LISTECLIENT +Ordre navigation 8 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2200 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 2 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2201 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT.INT_STATUT_CLIENT +Valeur initiale 0 +Groupe ,GR_CRITERE_LISTECLIENT +Ordre navigation 20 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2202 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_DOSSIER.INT_STATUT_DOSSIER +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 7 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2203 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_INTERVENTION.INT_SUIVI_PAR +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2204 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_CONTACT.INT_TELS_CONTACT +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 3 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2205 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT.INT_TYPE_CLIENT +Valeur initiale 0 +Groupe ,GR_CRITERE_LISTECLIENT +Ordre navigation 11 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2206 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_DOSSIER.INT_TYPE_DOSSIER +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2207 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 9 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2208 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT.INT_VILLE_CLIENT +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 13 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2209 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_SITE.INT_VILLE_SITE +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 7 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2210 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Libellé : FI_Liste_Client.D_LISTE_CLIENT.LIB_AFFICHER +Libellé FR: Afficher +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT.LIB_BLOCAGE +Libellé FR: Blocage +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 +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 +06/08/2026 Isis_BO 2211 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT.DISP_CG_L1_C2_L1.LIB_CLEINT +Libellé FR: Client +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2212 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Libellé : FI_Liste_Client.D_LISTE_CLIENT.DISP_INTERVENTION.LIB_DATE_INTERV_AU +Libellé FR: au +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Client.D_LISTE_CLIENT.LIB_DEPUIS +Libellé FR: Depuis +Groupe GR_PERIODE_AFFICHAGE_CLIENT +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 2213 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Client.D_LISTE_CLIENT.DISP_DOSSIER.DISP_CG_L1_C2_L1.LIB_DOSSIER +Libellé FR: Dossier +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2214 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Libellé : +Libellé FR: Intervention +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Client.D_LISTE_CLIENT.DISP_CONTACT.DISP_CG_L1_C2_L1.LIB_SITE +Libellé FR: Contact +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 +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 +06/08/2026 Isis_BO 2215 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Client.D_LISTE_CLIENT.DISP_SITE.DISP_CG_L1_C2_L1.LIB_SITE +Libellé FR: Site +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2216 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Libellé : +Libellé FR: Titre +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Client.D_LISTE_CLIENT.LIB_Total_Liste_Client +Libellé FR: 000 +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 +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 +06/08/2026 Isis_BO 2217 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationListeClient.p_nTotal +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 +Libellé : FI_Liste_Client.D_LISTE_CLIENT.LIB_Total_Titre_Liste_Client +Libellé FR: Total : +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 +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 +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 Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2218 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ de saisie : FI_Liste_Client.D_LISTE_CLIENT.DISP_SITE.SAI_ADRESSE_SITE +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1180 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2219 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT.SAI_CLIENT +Libellé FR: &Client +Groupe ,GR_CRITERE_LISTECLIENT +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 222 +Largeur interne 173 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 2220 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2221 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ de saisie : FI_Liste_Client.SAI_CLIENT_RECH +Libellé FR: &Client +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 75 +Largeur interne 259 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Texte d'indication si vide FR: Saisir le nom du client recherché +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2222 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 544 +Largeur interne 173 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 2223 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2224 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ de saisie : FI_Liste_Client.D_LISTE_CLIENT.DISP_SITE.SAI_CODEPOSTAL_SITE +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1180 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2225 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT.SAI_CODE_CLIENT +Groupe ,GR_CRITERE_LISTECLIENT +Ordre navigation 18 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 222 +Largeur interne 173 +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 +06/08/2026 Isis_BO 2226 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2227 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ de saisie : FI_Liste_Client.D_LISTE_CLIENT.DISP_SITE.SAI_CODE_LIEU +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1180 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2228 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT.SAI_COORD_CLIENT +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 544 +Largeur interne 173 +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 +06/08/2026 Isis_BO 2229 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2230 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ de saisie : +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 17 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 1279 +Largeur interne 74 +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: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2231 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › 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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 16 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 1180 +Largeur interne 74 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 2232 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2233 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ de saisie : +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1180 +Largeur interne 172 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2234 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client.D_LISTE_CLIENT.DISP_CONTACT.SAI_EMAIL_CONTACT +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 222 +Largeur interne 173 +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 +06/08/2026 Isis_BO 2235 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2236 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ de saisie : FI_Liste_Client.D_LISTE_CLIENT.DISP_CONTACT.SAI_NOM_CONTACT +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 222 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2237 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client.D_LISTE_CLIENT.DISP_DOSSIER.SAI_NUMDOSSIER +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 543 +Largeur interne 173 +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 +06/08/2026 Isis_BO 2238 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2239 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ de saisie : FI_Liste_Client.D_LISTE_CLIENT.DISP_INTERVENTION.SAI_NUMINTERV +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 865 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2240 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client.D_LISTE_CLIENT.DISP_DOSSIER.SAI_REFEXT_DOSSIER +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 543 +Largeur interne 173 +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 +06/08/2026 Isis_BO 2241 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2242 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ de saisie : +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 15 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 865 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2243 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client.D_LISTE_CLIENT.DISP_CONTACT.SAI_TELS_CONTACT +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 222 +Largeur interne 173 +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 +06/08/2026 Isis_BO 2244 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2245 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ de saisie : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT.SAI_VILLE_CLIENT +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 15 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 544 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2246 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client.D_LISTE_CLIENT.DISP_SITE.SAI_VILLE_SITE +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1180 +Largeur interne 173 +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 +06/08/2026 Isis_BO 2247 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2248 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Sélecteur : FI_Liste_Client.D_LISTE_CLIENT.DISP_CLIENT.SEL_BLOCAGE_CLIENT +Libellé FR: &Sélecteur +Valeur initiale 1 +Ordre navigation 19 +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 +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 Toute la hauteur de l'option +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. +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CBox_A28.png +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2249 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Table : FI_Liste_Client.D_LISTE_CLIENT.TABLE_LISTE_CLIENT +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Recherche +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 0 +Marge en bas 0 +Marge à gauche 1 +Marge à droite 3 +Sens Vertical +Retrait gauche 2 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 500 +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 +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +06/08/2026 Isis_BO 2250 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Ajout/Suppr. dans variable Non +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 : FI_Liste_Client.D_LISTE_CLIENT.TABLE_LISTE_CLIENT +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 6 +Libellé : +Libellé FR: Date de modification +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 +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 +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 +06/08/2026 Isis_BO 2251 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Mise à blanc Oui +Texte Markdown Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 6 +Colonne de table : FI_Liste_Client.D_LISTE_CLIENT.TABLE_LISTE_CLIENT.COL_NomClient +Titre FR: Nom du Client +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 100 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2252 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Colonne de table : +Titre FR: Coordonnées +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Client.D_LISTE_CLIENT.TABLE_LISTE_CLIENT.COL_NIDType +Titre FR: Type +client +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 227 +Larg. déroulée perso. Non +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 +06/08/2026 Isis_BO 2253 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Taille de saisie 0 +Mot de passe Non +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Client.D_LISTE_CLIENT.TABLE_LISTE_CLIENT.COL_NIDStatut +Titre FR: Statut +Client +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 150 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2254 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Colonne de table : FI_Liste_Client.D_LISTE_CLIENT.TABLE_LISTE_CLIENT.CodeClient (7) +Titre FR: CodeClient +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Client.D_LISTE_CLIENT.TABLE_LISTE_CLIENT.CodeComptable +Titre FR: CodeComptable +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 +06/08/2026 Isis_BO 2255 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Client.D_LISTE_CLIENT.TABLE_LISTE_CLIENT.MinDateModif +Titre FR: MinDateModif +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2256 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Colonne de table : FI_Liste_Client.D_LISTE_CLIENT.TABLE_LISTE_CLIENT.NbJrsModif (10) +Titre FR: NbJrsModif +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: MoneySystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Client.D_LISTE_CLIENT.TABLE_LISTE_CLIENT.COL_PKID (11) +Titre FR: PKID +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 Non +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: +9 999 999 999 999 999 999 +06/08/2026 Isis_BO 2257 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Client.D_LISTE_CLIENT.TABLE_LISTE_CLIENT.IDOrigine (12) +Titre FR: Origine +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 0 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2258 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Colonne de table : FI_Liste_Client.D_LISTE_CLIENT.TABLE_LISTE_CLIENT.IDApporteur +Titre FR: Apporteur +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 0 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FI_Liste_Client +Messages multilingues +06/08/2026 Isis_BO 2259 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +FI_Liste_Client +Code des champs +Déclarations globales de FI_Liste_Client +procédure FI_Liste_Client(gclPresentationListeClient est un PTableClient dynamique=Null, +paramSupplementaire est un STParamFenetreAppelante=Null) +//Variable qui contient la call stack à appeler dans les appels de sous fenêtre +//maProcMAJObjetRetourFI est une Procédure = MAJObjetRetourFI +maProcMAJObjetRetourListClient est une procédure = MAJObjetRetourFI +maProcRefreshObjetPres est une procédure = RefreshObjetListeClient +maProcMAJCriterePerso est une procédure = MAJCriterePerso +//gbEnRechercheLocal est un booléen = faux +gsTriEnCours est une chaîne +gstListePerso est un STListePerso +gstCriterePerso est un STCritereListePerso +gpclListeCollabResp est un PTableCollaborateur dynamique +pclTabEtat est un PTableParametreMetier dynamique +pclTabSoc est un PTableSociete dynamique +gnDelai est un entier +//IDEve est entier +LIB_Titre_de_fenêtre_liste_client = paramSupplementaire.eTypeAppel=Libre ? "Liste des clients" sinon +paramSupplementaire.sTitreFenetre<>"" ? paramSupplementaire.sTitreFenetre sinon "Liste des clients" +local +pclTabEtat = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"13") +// PTableParametreMetier.gNouvellePresentation(-1) +pclTabSoc = PTableSociete.gNouvellePresentation(-1) +gpclListeCollabResp=PTableCollaborateur.gNouvellePresentation(6) +ListeAffiche(COMBO_TYPE_CLIENT,taInit) +ListeAffiche(COMBO_STATUT_CLIENT,taInit) +ListeAffiche(COMBO_ROLE_CONTACT,taInit) +ListeAffiche(COMBO_TYPE_DOSSIER,taInit) +ListeAffiche(COMBO_STATUT_DOSSIER,taInit) +ListeAffiche(COMBO_SUIVI_PAR,taInit) +ListeAffiche(COMBO_TYPE_INTERVENTION,taInit) +ListeAffiche(COMBO_SEUIL_AFFICHAGE_CLIENT,taInit) +ListeAffiche(COMBO_PERIODE_AFFICHAGE_CLIENT,taInit) +SelectionValeurCombo(COMBO_SEUIL_AFFICHAGE_CLIENT,1)//INT_LIMITE_LISTE_CLIENT=1 +SelectionValeurCombo(COMBO_PERIODE_AFFICHAGE_CLIENT,0) +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentationListeClient=Null alors +gclPresentationListeClient=PTableClient.gNouvellePresentation(-1) +// SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.sNomIDAppelant<>"" ALORS +// SELON paramSupplementaire.sNomIDAppelant +// CAS "IDLieu" +: +gclPresentationListeClient=PTableClient.gNouvellePresentation(3,paramSupplementaire.nIdFenetreAppelante +) +// AUTRE CAS : gclPresentationListeClient=PTableClient.gNouvellePresentation(1,-1,-1) +06/08/2026 Isis_BO 2260 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +// FIN +// SINON +// +PTableClient.gTHNouvellePresentation(0,maProcRefreshObjetPres)//gclPresentationListeClient=PTableClient +.gNouvellePresentation(1,-1)// +// FIN +fin +SEL_BLOCAGE_CLIENT=-1 +si paramSupplementaire.sNomIDAppelant="DossierClient" alors +//_ET_ paramSupplementaire.pclObjetAppelant:m_bBlocageEcriture ALORS +GR_PERIODE_AFFICHAGE_CLIENT..Etat = Grisé +SEL_BLOCAGE_CLIENT=0 +SEL_BLOCAGE_CLIENT..Etat=Grisé +ExécuteTraitement(BTN_COLLAPSE_LISTE_CLIENT,trtClic) +ChargementSQL() +si paramSupplementaire.pclObjetAppelant:m_bBlocageEcriture +gnDelai = DonneValeurTimeOutObjet(paramSupplementaire.pclObjetAppelant) +si gnDelai>0 alors +ActiveEvenement() +fin +TimerSys(TimeOutDeFermeture,100) +fin +sinon +si gpclFicheUtilisateurEnCours<>Null _et_ gpclFicheUtilisateurEnCours:ListeParametreUtilisateur<> +Null alors +gstListePerso = gpclFicheUtilisateurEnCours:DonneColonneEtTriListePerso(2) +gstCriterePerso = gpclFicheUtilisateurEnCours:DonneCritereListePerso(2) +fin +InitCriterePerso(GR_CRITERE_LISTECLIENT,gstCriterePerso,maProcMAJCriterePerso) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +//MajCocheBlocage(INT_BLOCAGE_CLIENT) +ChargementSQL() +fin +Fin d'initialisation de FI_Liste_Client +InitColonneChampTablePerso(TABLE_LISTE_CLIENT,gstListePerso) +si TABLE_LISTE_CLIENT..Occurrence>0 alors +TableSelectPlus(TABLE_LISTE_CLIENT,1) +fin +Evénement(TriColonne,"TABLE_LISTE_CLIENT",1529) +Evénement(DoubleClicLigneTableau,"TABLE_LISTE_CLIENT",WM_LBUTTONDBLCLK) +//IDEve = Evénement(SurModifCritere,"INT_CLIENT",0) +Demande de mise à jour de l'affichage de FI_Liste_Client +//PROCÉDURE DemandeMiseAJour(pclObjet est un objet dynamique=Null) +si gclPresentationListeClient<>Null _et_ gclPresentationListeClient est PTableClient +//(gclPresentationListeClient=pclObjet _ou_ pclObjet=Null) ALORS +//Trie l'objet lié au champ TABLE selon le trie effectuée sur ce champ +//TrieObjetChampTableSiBesoin(gclPresentationListeClient,TABLE_LISTE_CLIENT,gsTriEnCours) +// mise à jour des champs bindés sur la présentation (compteur par exemple) +//SourceVersEcran("","gclPresentationListeClient") +//MAJ du champ TABLE et de l'objet Liste CLient +//MAJChampTableEtObjet(TABLE_LISTE_CLIENT,gclPresentationListeClient.p_clCourant) +06/08/2026 Isis_BO 2261 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +// Gestion de l'accessibilité des boutons +GestionBoutonsEnteteDansListe(GR_MODIFICATION_LISTE_CLIENT,BTN_ADD_LISTE_CLIENT,BTN_ +SEL_LISTE_CLIENT,TABLE_LISTE_CLIENT,paramSupplementaire) +//En demande de MAJ la cellule des totaux peut avoir changé au niveau de la visibilité +//DISP_LISTE_CLIENT[5]..Visible = (paramSupplementaire.eTypeAppel<>Libre _ET_ +paramSupplementaire.eTypeAppel=DansChampFI) ? Faux SINON Vrai +si paramSupplementaire.eTypeAppel<>DansFenetre alors FEN_Menu.PriseFocus(VoletDuChamp( +D_LISTE_CLIENT))//FEN_Menu.PriseFocus("FI_Liste_Client") +fin +Clic sur BTN_COLLAPSE_LISTE_CLIENT +D_LISTE_CLIENT[2]..Visible = Faux +BTN_UNCOLLAPSE_LISTE_CLIENT..Visible=Vrai +MoiMême..Visible = Faux +TABLE_LISTE_CLIENT.MinDateModif..Visible = Vrai +Clic sur BTN_UNCOLLAPSE_LISTE_CLIENT +D_LISTE_CLIENT[2]..Visible = Vrai +BTN_COLLAPSE_LISTE_CLIENT..Visible=Vrai +MoiMême..Visible = Faux +Sélection d'une ligne de COMBO_PERIODE_AFFICHAGE_CLIENT +ChargementSQL() +Sélection d'une ligne de COMBO_SEUIL_AFFICHAGE_CLIENT +GR_PERIODE_AFFICHAGE_CLIENT..Etat = DonneParametreCombo(MoiMême)="-1" ? Grisé sinon Actif +ChargementSQL() +Clic sur BTN_ADD_LISTE_CLIENT +//OuvreFicheDepuisListe(FicheEnAjout,DonneParam(DansOnglet,"FI_Fiche_Client",MoiMême..Nom,maProcMAJObje +tRetourListClient,"Client",*,*,gclPresentationListeClient,*),gclPresentationListeClient,FI_Fiche_Client +,MaFenêtreInterne..Nom,DISP_LISTE_CLIENT,TABLE_LI +STE_CLIENT,Null,Null,Null,Null,maProcMAJObjetRetourListClient,MoiMême..Nom,DansOnglet,faux,0,Vrai) +gnDelai=0 +TimeOutDeFermeture() +//La liste est sur l'onglet principale +si paramSupplementaire.eTypeAppel = Libre alors +//Appel de la fiche en dessous de la liste +OuvreFicheDepuisListe(FicheEnAjout,DonneParam(DansOnglet,"FI_Fiche_Client",MoiMême..Nom, +maProcMAJObjetRetourListClient,"Client",*,*,gclPresentationListeClient,*), +gclPresentationListeClient,FI_Fiche_Client,MaFenêtreInterne..Nom,D_LISTE_CLIENT,TABLE_LISTE_CLIENT, +Null,Null,Null,Null,maProcMAJObjetRetourListClient,MoiMême..Nom,DansOnglet,Faux,0,Vrai) +//La liste est dans un champ FI +sinon si paramSupplementaire.eTypeAppel=DansChampFI alors +//nIdIntervention est un entier sur 8 octets=paramSupplementaire.pclObjetAppelant.m_nPKID +stNewParam est un STParamFenetreAppelante = DonneParam(DansFenetre,"FI_Liste_Client",MoiMême..Nom, +maProcMAJObjetRetourListClient,*,"AddClient",*,gclPresentationListeClient) +nRetour est un entier = Ouvre(FEN_ChoixFenetreInterne,"FI_Fiche_Client",stNewParam) +//Fermeture par Timer +06/08/2026 Isis_BO 2262 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +si nRetour=-1 alors +gnDelai=1 +TimeOutDeFermeture() +fin +fin +Clic sur BTN_AVANCEE +//,DonneParam(DansFenetre,"FI_Liste_Dossier",MoiMême..Nom,maProcMAJObjetRetourListDossier,"","",*,pclTa +bSoc,Vrai) +OuvrePopupPosition(FEN_Choix_Colonne_Et_Tri,poHaut,2,TABLE_LISTE_CLIENT,gstListePerso)//ChargementSQL() +nIndiceRupt est un entier +nIndiceRuptsvg est un entier +pour toute ligne de TABLE_LISTE_CLIENT +nIndiceRupt = TableIndiceRupture(TABLE_LISTE_CLIENT.RUPT_H_MinDateModif,TABLE_LISTE_CLIENT) +si nIndiceRuptsvg<>nIndiceRupt alors +nIndiceRuptsvg = nIndiceRupt +TABLE_LISTE_CLIENT[nIndiceRupt].LIB_DATEMODIF = TABLE_LISTE_CLIENT[TABLE_LISTE_CLIENT]. +MinDateModif +TableAffiche(TABLE_LISTE_CLIENT,taCourantBandeau) +fin +fin +Clic sur BTN_CLOSE_LISTE_CLIENT +si paramSupplementaire.eTypeAppel=DansChampFI alors +//SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,Null) +AppelProcFenetreAppelante(gclPresentationListeClient,paramSupplementaire,Faux,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon si paramSupplementaire.eTypeAppel=DansOnglet alors +FermeVoletEtActiveLePrecedent(VoletDuChamp(D_LISTE_CLIENT)) +sinon si paramSupplementaire.eTypeAppel=DansFenetre alors +Ferme() +sinon +FermeVoletEtActiveLePrecedent(VoletDuChamp(D_LISTE_CLIENT)) +fin +Clic sur BTN_DEL_LISTE_CLIENT +si ChargeLigneSelectionnee(Faux) +si OuiNon("Confirmez vous la suppression ?")=Non alors +retour +fin +clErreur est un CErreur +clFicheClient est un PFicheClient(gclPresentationListeClient:p_clCourant,*) +si pas clFicheClient:bControle(clErreur,Vrai) alors +Erreur(clErreur.FormateMessage()) +sinon si pas gclPresentationListeClient.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +// gestion de la saisie en cascade +// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +nIndice est un entier=TableSelect(TABLE_LISTE_CLIENT) +TableSupprime(TABLE_LISTE_CLIENT,nIndice) +DemandeMiseAJourIHM() +// SI nIndice>1 _ET_ nIndice=TableOccurrence(TABLE_LISTE_CLIENT) ALORS +// TableSelectPlus(TABLE_LISTE_CLIENT,nIndice-1) +// FIN +06/08/2026 Isis_BO 2263 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +fin +fin +Clic sur BTN_EDT_LISTE_CLIENT +//OuvreFicheClient() +gnDelai=0 +TimeOutDeFermeture() +//La liste est sur l'onglet principale +si paramSupplementaire.eTypeAppel = Libre alors +//_ET_ gclPresentationListeClient.p_clCourant<>Null ALORS +DoubleClicLigneTableau()//OuvreFicheClient() +//La liste est dans un champ FI +sinon si paramSupplementaire.eTypeAppel=DansChampFI _et_ ChargeLigneSelectionnee(Faux) alors +stNewParam est un STParamFenetreAppelante +stNewParam = DonneParam(DansFenetre,"FI_Liste_Client",MoiMême..Nom,maProcMAJObjetRetourListClient,* +,"ModifClient",*,gclPresentationListeClient,*) +nRetour est un entier = Ouvre(FEN_ChoixFenetreInterne,"FI_Fiche_Client",stNewParam) +//Fermeture par Timer +si nRetour=-1 alors +gnDelai=1 +TimeOutDeFermeture() +fin +DemandeMiseAJourIHM() +fin +Clic sur BTN_GOMMER +RAZ(GR_CRITERE_LISTECLIENT) +ListeSupprimeTout(COMBO_ETAT_INTERV) +COMBO_ETAT_INTERV..Bulle="" +TableauSupprimeTout(pclTabEtat:m_clTabModele) +//TableauSupprimeTout(pclTabEtat:m_clTabVisible) +ListeSupprimeTout(COMBO_SOCIETE_INTERV) +COMBO_SOCIETE_INTERV..Bulle="" +TableauSupprimeTout(pclTabSoc:m_clTabModele) +SelectionValeurCombo(COMBO_SEUIL_AFFICHAGE_CLIENT,1)//INT_LIMITE_LISTE_CLIENT[1]=vrai +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Clic sur BTN_RECHERCHE_CLIENT +si gpclFicheUtilisateurEnCours<>Null _et_ gpclFicheUtilisateurEnCours:ListeParametreUtilisateur<>Null +alors +//Récupération des critère dans un tableau +RecupCriterePerso(GR_CRITERE_LISTECLIENT,gstCriterePerso,maProcMAJCriterePerso) +//Sauvegarde des critères en base +gpclFicheUtilisateurEnCours:MAJCritereListePerso(2,gstCriterePerso) +fin +//Execution des critères +ChargementSQL() +//Application des tris +InitTriChampTablePerso(TABLE_LISTE_CLIENT,gstListePerso) +Clic sur BTN_SEL_LISTE_CLIENT +06/08/2026 Isis_BO 2264 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +si paramSupplementaire.eTypeAppel=DansChampFI alors +// SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +// SI paramSupplementaire.bMultiSelect ALORS +// +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationListeClient) +// SINON +// pclPresentationFiche est un PFichePersonne dynamique +// pclPresentationFiche <- gclPresentationListeClient.Modifier() +// +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,pclPresentationFiche) +// FIN +// +// FIN +AppelProcFenetreAppelante(gclPresentationListeClient,paramSupplementaire,Vrai,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon si paramSupplementaire.eTypeAppel=DansFenetre alors +AppelProcFenetreAppelante(gclPresentationListeClient,paramSupplementaire,Vrai,Vrai) +Ferme(FEN_ChoixFenetreInterne,gclPresentationListeClient.p_clCourant) +fin +//SI MaFenêtreInterne..Nom="CFI_CLIENT" ALORS +// +// SI paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.gProcMAJRetour<> Null ALORS +// pclPresentationFiche est un PFichePersonne dynamique +// pclPresentationFiche <- gclPresentation.Modifier() +// paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,pclPresentationFiche) +// FIN +// ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +// +//SINON +// Ferme(FEN_ChoixFenetreInterne,gclPresentation.p_clCourant) +//FIN +Sortie de COMBO_APPORTEUR +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +Sélection d'une ligne de COMBO_APPORTEUR +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de COMBO_ORIGINE +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +Sélection d'une ligne de COMBO_ORIGINE +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de COMBO_REGLEMENT +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +Sélection d'une ligne de COMBO_REGLEMENT +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de COMBO_STATUT_CLIENT +06/08/2026 Isis_BO 2265 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +Sélection d'une ligne de COMBO_STATUT_CLIENT +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sélection d'une ligne de COMBO_TYPE_CLIENT +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_APPORTEUR +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_CLIENT +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_CODE_CLIENT +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_CODEPOSTAL_CLIENT +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_COORD_CLIENT +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_ORIGINE +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_REGLEMENT +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_STATUT_CLIENT +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_TYPE_CLIENT +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_VILLE_CLIENT +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_CLIENT +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_CLIENT +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_CODE_CLIENT +06/08/2026 Isis_BO 2266 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_CODE_CLIENT +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_CODEPOSTAL_CLIENT +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_CODEPOSTAL_CLIENT +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_COORD_CLIENT +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_COORD_CLIENT +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_VILLE_CLIENT +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_VILLE_CLIENT +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de SEL_BLOCAGE_CLIENT +//MAJCocheCritere(MoiMême) +//MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de COMBO_ROLE_CONTACT +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +Sélection d'une ligne de COMBO_ROLE_CONTACT +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_EMAIL_CONTACT +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_NOM_CONTACT +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_ROLE_CONTACT +06/08/2026 Isis_BO 2267 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_TELS_CONTACT +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_EMAIL_CONTACT +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_EMAIL_CONTACT +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_NOM_CONTACT +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_NOM_CONTACT +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_TELS_CONTACT +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_TELS_CONTACT +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de COMBO_STATUT_DOSSIER +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +Sélection d'une ligne de COMBO_STATUT_DOSSIER +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de COMBO_TYPE_DOSSIER +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +Sélection d'une ligne de COMBO_TYPE_DOSSIER +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_NUMDOSSIER +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_REFEXT_DOSSIER +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_STATUT_DOSSIER +06/08/2026 Isis_BO 2268 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_TYPE_DOSSIER +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_NUMDOSSIER +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_NUMDOSSIER +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_REFEXT_DOSSIER +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_REFEXT_DOSSIER +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Ouverture de la liste déroulante de COMBO_ETAT_INTERV +OuvrePopupPosition(FEN_Choix_Parametre_Metier,poHaut,*,DonneParam(DansFenetre,"FI_Liste_Client",MoiMême +..Nom,maProcMAJObjetRetourListClient,"Etat d'intervention","EtatIntervention",*,pclTabEtat,Vrai)) +Ouverture de la liste déroulante de COMBO_SOCIETE_INTERV +OuvrePopupPosition(FEN_Choix_Societe,poHaut,*,DonneParam(DansFenetre,"FI_Liste_Client",MoiMême..Nom, +maProcMAJObjetRetourListClient,"Sociétés","SuiviSociete",*,pclTabSoc,Vrai)) +Ouverture de la liste déroulante de COMBO_SUIVI_PAR +OuvrePopupPosition(FEN_Choix_Collab_Responsable,poBas,*,DonneParam(DansFenetre,"FI_Liste_Client", +MoiMême..Nom,maProcMAJObjetRetourListClient,"","ListeClientSuiviPar",Val(MoiMême..ValeurMémorisée))) +Sélection d'une ligne de COMBO_TYPE_INTERVENTION +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_DATE_INTERV_DU +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_DESCRIPTION +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_ETAT_INTERV +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_NUMINTERV +06/08/2026 Isis_BO 2269 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_REFEXT_INTERV +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_SOCIETE_INTERV +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_SUIVI_PAR +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_TYPE_INTERVENTION +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_DATE_INTERV_AU +//SI MoiMême..ValeurAffichée<>"" ALORS ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_DATE_INTERV_AU +INT_DATE_INTERV_DU=SAI_DATE_INTERV_DU..ValeurAffichée<>"" _ou_ SAI_DATE_INTERV_AU..ValeurAffichée<>"" +//MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_DATE_INTERV_DU +//SI MoiMême..ValeurAffichée<>"" ALORS ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_DATE_INTERV_DU +INT_DATE_INTERV_DU=SAI_DATE_INTERV_DU..ValeurAffichée<>"" _ou_ SAI_DATE_INTERV_AU..ValeurAffichée<>"" +//MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_DESCRIPTION +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_DESCRIPTION +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_NUMINTERV +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_NUMINTERV +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_REFEXT_INTERV +06/08/2026 Isis_BO 2270 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_REFEXT_INTERV +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_ADRESSE_SITE +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_CODE_LIEU +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_CODEPOSTAL_SITE +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_VILLE_SITE +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_ADRESSE_SITE +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_ADRESSE_SITE +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_CODE_LIEU +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_CODE_LIEU +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_CODEPOSTAL_SITE +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_CODEPOSTAL_SITE +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_VILLE_SITE +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_VILLE_SITE +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie d'une ligne de TABLE_LISTE_CLIENT +06/08/2026 Isis_BO 2271 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//// si la table n'a pas été modifiée, il ne faut rien faire +//SI TABLE_LISTE_CLIENT..Modifié=Faux ALORS +// RETOUR +//FIN +// +//clErr est un CErreur +//pclPresentationFiche est un PFicheClient dynamique +// +//// ajout d'une nouvelle ligne +//SI TABLE_LISTE_CLIENT..Nouveau ALORS +// pclPresentationFiche<-gclPresentationListeClient.Nouveau() +//// modification d'une ligne existante +//SINON +// pclPresentationFiche<-gclPresentationListeClient.Modifier() +//FIN +// +//// sauvegarde de la table +//TableEnregistre(TABLE_LISTE_CLIENT,pclPresentationFiche) +// +//// traitement des erreurs +//si pas pclPresentationFiche.bOK(clErr) alors//PAS pclPresentationFiche.bOK(clErr,Faux,Faux) +// Erreur(clErr.FormateMessage()) +//FIN +// +//// repasse la table en non modifiée +//TABLE_LISTE_CLIENT..Modifié=Faux +Sélection d'une ligne de TABLE_LISTE_CLIENT +//SI TABLE_LISTE_CLIENT..Nouveau ALORS +// gclPresentationListeClient.p_clCourant=Null +//SINON +// //gclPresentationListeClient.Trie(DonneTrieClasseDepuisTable(TABLE_LISTE_CLIENT)) +// gclPresentationListeClient.p_clCourant=TABLE_LISTE_CLIENT +// +//FIN +DemandeMiseAJourIHM() +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_LISTE_CLIENT +DoubleClicLigneTableau() +Touche appuyée (WM_CHAR) de TABLE_LISTE_CLIENT +nTouche est un entier = 0x0d +// Vérifie si la touche dont le code virtuel est 0x0d a été appuyée +si ToucheEnfoncée(nTouche) _ou_ _EVE.wParam = nTouche alors +// Insérer ici le traitement à effectuer +DoubleClicLigneTableau() +fin +Affichage d'une ligne de RUPT_H_MinDateModif ( TABLE_LISTE_CLIENT ) +TABLE_LISTE_CLIENT[TABLE_LISTE_CLIENT].LIB_DATEMODIF = TABLE_LISTE_CLIENT[TABLE_LISTE_CLIENT]. +MinDateModif +Entrée dans SAI_CLIENT_RECH +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(ChampPrécédent()) +Sortie de SAI_CLIENT_RECH +06/08/2026 Isis_BO 2272 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +// +//SI MoiMême..ValeurAffichée<>"" ALORS +// gbEnRechercheLocal = faux +// nPKID est un entier sur 8 octets +// nPKID = Val(ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"[",DepuisDébut),1,"]")) +// sTitre est une chaine = ExtraitChaîne(MoiMême,2," [",DepuisFin) +// SI nPKID>0 ALORS +// gclPresentationListeClient=PTableClient.gNouvellePresentation(1,nPKID) +// +// SINON +// +SI +ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"---",DepuisDébut),1,"---",DepuisFin)=ChaîneFormate("Aucu +n résultat",ccMajuscule) ALORS +// MoiMême="" +// SaisieAssistéeSupprimeTout(MoiMême) +// ExécuteTraitement(MoiMême,trtModification) +// SINON +// +gclPresentationListeClient=PTableClient.gNouvellePresentation(1,-1,MoiMême..ValeurAffichée) +// FIN +// FIN +// SI nPKID>0 ALORS +// MoiMême = Majuscule(sTitre) +// FIN +// DonneFocus(BTN_Fermer_liste_client) +// DemandeMiseAJourIHM() +//FIN +A chaque modification de SAI_CLIENT_RECH +////Recherche le client suivant ce qui a été saisi par l'utilisateur +//gbEnRechercheLocal = Vrai +//TH_SuspendThread("ListeClientGlobal") +//SI MoiMême..ValeurAffichée<>"" ALORS +// ModifZoneSaisieAssistee(MoiMême,2,Faux,"","") +//SINON +// PTableclient.gTHNouvellePresentation(0,maProcRefreshObjetPres) +//FIN +si SAI_CLIENT="" alors +PTableClient.gTHNouvellePresentation(0,maProcRefreshObjetPres) +TableAffiche(TABLE_LISTE_CLIENT,taInit) +retour +fin +Sablier(Vrai) +si Taille(SAI_CLIENT..ValeurAffichée)> 2 alors +//Chargement liste des Clients trouvés +pclListeRechercheClient est une PTableClient dynamique +pclListeRechercheClient=PTableClient.gNouvellePresentation(5,SAI_CLIENT) +nCompteur est un entier +nCompteur=pclListeRechercheClient.m_clTabModele..Occurrence +si nCompteur=0 alors +// Info("Aucun résultat trouvé pour cette recherche") +TableauSupprimeTout(gclPresentationListeClient.m_clTabModele) +TableAffiche(TABLE_LISTE_CLIENT,taInit) +Sablier(Faux) +retour +06/08/2026 Isis_BO 2273 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +fin +si nCompteur=1 alors +// SI pclListeRechercheClient.m_clTabModele..Occurrence=1 ALORS +// pclListeRechercheClient.p_clCourant=pclListeRechercheClient.m_clTabModele[1] +// clPresentationFiche est un PFicheClient<-pclListeRechercheClient.Modifier() +// FEN_Menu.OuvreOuActive(FI_Fiche_Client,"Fiche Client",*,clPresentationFiche) +// FIN +gclPresentationListeClient=pclListeRechercheClient +sinon +gclPresentationListeClient=pclListeRechercheClient +fin +TableAffiche(TABLE_LISTE_CLIENT,taInit) +sinon +// Info("Vous devez saisir au moins 3 caratères pour réaliser votre recherche") +// RepriseSaisie(SAI_CLIENT) +fin +Sablier(Faux) +cas erreur: +Erreur(HErreurInfo()) +Sélection d'une valeur dans la liste de saisie assistée de SAI_CLIENT_RECH +//ExécuteTraitement(MoiMême,trtSortie) +FI_Liste_Client +Procédures +Procédure locale ActiveEvenement +// Résumé : +// Syntaxe : +// ActiveEvenement () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ActiveEvenement() +Evénement(SurActivite, "*.*", WM_LBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_RBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_MBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_MOUSEMOVE) +Evénement(SurActivite, "*.*", WM_KEYDOWN) +Procédure locale ChargeLigneSelectionnee +// Résumé : +// Syntaxe : +06/08/2026 Isis_BO 2274 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Procédures +//[ = ] ChargeLigneSelectionnee ( est booléen) +// +// Paramètres : +// bMultiSelect (booléen) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargeLigneSelectionnee(local bMultiSelect est un booléen) +bResultat est un booléen +si pas bMultiSelect alors +si COL_PKID>0 alors +gclPresentationListeClient = PTableClient.gNouvellePresentation(6,COL_PKID) +fin +si gclPresentationListeClient:p_nTotal=1 alors +gclPresentationListeClient:p_clCourant = gclPresentationListeClient:m_clTabModele[1] +fin +bResultat = gclPresentationListeClient:p_clCourant<>Null +sinon +gclPresentationListeClientTemp est un PTableClient dynamique +si COL_PKID>0 alors +gclPresentationListeClientTemp = PTableClient.gNouvellePresentation(6,COL_PKID) +fin +si gclPresentationListeClientTemp:p_nTotal=1 alors +gclPresentationListeClientTemp:m_clTabModele[1]:m_bSelection= Vrai +si gclPresentationListeClient.m_clTabModele.Ajoute(gclPresentationListeClientTemp:m_clTabModele +[1]) alors +bResultat = Vrai +sinon +bResultat = Faux +fin +fin +fin +renvoyer bResultat +Procédure locale ChargementSQL +// Résumé : +// Syntaxe : +// ChargementSQL () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargementSQL() +// vide le tableau +TableSupprimeTout(TABLE_LISTE_CLIENT) +ReqSQL est une chaîne +sCR est une chaîne +//ReqTopSite est une Requête SQL = +//[ +// +SELECT (SELECT STRING_AGG(Lieu.LI_CodeLieu+' | '+Adresse.AD_Presentation+' | +'+ParametreMetier.PA_Libelle,CHR(13)) +// FROM Lieu +06/08/2026 Isis_BO 2275 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Procédures +// INNER JOIN ParametreMetier ON (ParametreMetier.PA_PKID=Lieu.LI_IDType) +// INNER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +// WHERE LI_PKID=Client_Lieu.CLI_IDLieu +// ) +// FROM Client_Lieu +// WHERE Client_Lieu.CLI_IDClient={p_IDClient} +// ORDER BY Client_Lieu.ModifDate DESC +// LIMIT 5 +//] +sExisteAdresse est une chaîne = "SELECT 1 FROM Adresse WHERE AD_PKID=%1 %2" +sExistSite est une chaîne = +"SELECT 1 FROM Lieu INNER JOIN Client_Lieu ON (CLI_IDLieu=LI_PKID) WHERE CLI_IDClient=%1 %2" +sExistAdrSite est une chaîne = +"SELECT 1 FROM Adresse INNER JOIN Lieu ON (LI_IDAdresse=AD_PKID) INNER JOIN Client_Lieu ON +(CLI_IDLieu=LI_PKID) WHERE CLI_IDClient=%1 %2" +sExistContact est une chaîne = "SELECT 1 FROM Personne WHERE PE_IDclient=%1 %2" +sExistContactOr est une chaîne = "SELECT 1 FROM Personne WHERE PE_IDclient=%1 AND (%2)" +sExistDossier est une chaîne = "SELECT 1 FROM Dossier WHERE DO_IDClient=%1 %2" +sExistInterv est une chaîne = +"SELECT 1 FROM Intervention INNER JOIN Dossier ON (DO_PKID=IN_IDDossier) WHERE DO_IDClient=%1 %2" +sdListeClient est une Source de Données +nTop est un entier = Val(DonneParametreCombo(COMBO_SEUIL_AFFICHAGE_CLIENT)) +si nTop>0 alors +ReqSQL=ChaîneConstruit("SELECT DISTINCT TOP %1 ",nTop) +sinon +ReqSQL="SELECT DISTINCT " +fin +// récupération des données +//ReqSQL est une Requête SQL = +ReqSQL+=[ +CL_PKID +,CL_Nom AS NomClient +,CL_IDStatut AS IDStatutClient +,CL_IDType AS IDTypeClient +,CL_CodeClient AS CodeClient +,CL_IDApportOrigine AS IDOrigine +,CL_IDApporteur AS IDApporteur +,CL_CodeComptable AS CodeComptableClient +,(SELECT STRING_AGG(Adresse.AD_Presentation,CHR(13)+'--------------------' ++CHR(13)) FROM Adresse INNER JOIN Client_Adresse ON (CA_IDAdresse=AD_PKID) WHERE +CA_IDClient=CL_PKID) AS +Coord +,CAST(CLIENT.ModifDate AS DATE) AS MinDateModif +,WL.Val(WL.DuréeVersChaîne(WL.ChaîneVersDurée (WL.DateHeureDifférence ( CAST(CLIENT.ModifDate AS +DATE), WL.DateHeureSys() ),'+JHHMMSSLL'),'+J')) AS NbJours +] +ReqSQL+=[ +FROM CLIENT +] +// FROM Intervention +// INNER JOIN Dossier ON (DO_PKID=IN_IDDossier) +// LEFT OUTER JOIN Client ON (Client.CL_PKID=Dossier.DO_IDClient) +// LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Intervention.IN_IDLieu) +// LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +// +//] +ReqSQL+=[ +WHERE 1=1 +] +06/08/2026 Isis_BO 2276 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Procédures +//sCR+=CritereHF(opt1,ch1,Affaires.AF_Nom..Nom,tfMilieutexte) +sListeEtat est une chaîne +sListeSociete est une chaîne +si pclTabEtat<>Null _et_ pclTabEtat:p_nTotal>0 alors +pour I = 1 _à_ pclTabEtat:p_nTotal +sListeEtat +=[","]+ pclTabEtat:m_clTabModele[I]:m_nPKID +fin +sinon +sListeEtat = "" +fin +si pclTabSoc<>Null _et_ pclTabSoc:p_nTotal>0 alors +pour I = 1 _à_ pclTabSoc:p_nTotal +sListeSociete +=[","]+ pclTabSoc:m_clTabModele[i]:m_nPKID +fin +sinon +sListeSociete="" +fin +//sCR+=CritereHF(INT_NUMDOSSIER ,SAI_NUMDOSSIER ,Dossier.DO_RefInterne..Nom +,tfFinTexte) +sCR+=CritereHF(INT_CLIENT ,SAI_CLIENT ,Client.CL_Nom..Nom +,tfMilieutexte ) +sCR+=CritereHF(INT_CODE_CLIENT ,SAI_CODE_CLIENT ,Client.CL_CodeClient..Nom +,tfMilieutexte )//sCR+=CritereHF(INT_CODE_COMPTABLE ,SAI_CODE_COMPTABLE +,Client.CL_CodeComptable..Nom ,tfMilieutexte ) +sCR+=CritereHF(INT_TYPE_CLIENT ,COMBO_TYPE_CLIENT ,Client.CL_IDType..Nom +,tfNumerique ) +sCR+=CritereHF(INT_STATUT_CLIENT ,COMBO_STATUT_CLIENT ,Client.CL_IDStatut..Nom +,tfNumerique ) +sCR+=CritereHF(INT_COORD_CLIENT ,SAI_COORD_CLIENT ,Client.CL_IDAdressePrincipale..Nom +,tfExiste ,ChaîneConstruit(sExisteAdresse ,Client.CL_IDAdressePrincipale..Nom,CritereHF(INT_ +COORD_CLIENT,SAI_COORD_CLIENT,Adresse.AD_Presentation..Nom,tfMilieutexte)))// +sCR+=CritereHF(INT_CODEPOSTAL_CLIENT ,SAI_CODEPOSTAL_CLIENT ,Client.CL_IDAdressePrincipale..Nom +,tfExiste ,ChaîneConstruit(sExisteAdresse ,Client.CL_IDAdressePrincipale..Nom,CritereHF(INT_ +CODEPOSTAL_CLIENT,SAI_CODEPOSTAL_CLIENT,Adresse.AD_CodePostal..Nom,tfMilieutexte))) +sCR+=CritereHF(INT_VILLE_CLIENT ,SAI_VILLE_CLIENT ,Client.CL_IDAdressePrincipale..Nom +,tfExiste ,ChaîneConstruit(sExisteAdresse ,Client.CL_IDAdressePrincipale..Nom,CritereHF(INT_ +VILLE_CLIENT,SAI_VILLE_CLIENT,Adresse.AD_Ville..Nom,tfMilieutexte))) +sCR+=CritereHF(SEL_BLOCAGE_CLIENT=-1? Faux sinon Vrai,Val(SEL_BLOCAGE_CLIENT),Client.CL_Blocage..Nom +,tfBooleen ) +sCR+=CritereHF(INT_APPORTEUR ,COMBO_APPORTEUR ,Client.CL_IDApporteur..Nom +,tfNumerique ) +sCR+=CritereHF(INT_ORIGINE ,COMBO_ORIGINE ,Client.CL_IDApportOrigine..Nom +,tfNumerique ) +sCR+=CritereHF(INT_REGLEMENT ,COMBO_REGLEMENT ,Client.CL_IDModeReglement..Nom +,tfNumerique ) +sCR+=CritereHF(INT_CODE_LIEU ,SAI_CODE_LIEU ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistSite ,Client.CL_PKID..Nom,CritereHF(INT_CODE_LIEU,SAI_ +CODE_LIEU,Lieu.LI_CodeLieu..Nom,tfMilieutexte))) +sCR+=CritereHF(INT_ADRESSE_SITE ,SAI_ADRESSE_SITE ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistAdrSite,Client.CL_PKID..Nom,CritereHF(INT_ADRESSE_SITE,SAI_ +ADRESSE_SITE,Adresse.AD_Presentation..Nom,tfMilieutexte))) +sCR+=CritereHF(INT_CODEPOSTAL_SITE ,SAI_CODEPOSTAL_SITE ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistAdrSite,Client.CL_PKID..Nom,CritereHF(INT_CODEPOSTAL_SITE,SAI_ +CODEPOSTAL_SITE,Adresse.AD_CodePostal..Nom,tfMilieutexte))) +sCR+=CritereHF(INT_VILLE_SITE ,SAI_VILLE_SITE ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistAdrSite,Client.CL_PKID..Nom,CritereHF(INT_VILLE_SITE,SAI_ +VILLE_SITE,Adresse.AD_Ville..Nom,tfMilieutexte))) +06/08/2026 Isis_BO 2277 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Procédures +sCR+=CritereHF(INT_NOM_CONTACT ,SAI_NOM_CONTACT ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistContact,Client.CL_PKID..Nom,CritereHF(INT_NOM_CONTACT,SAI_ +NOM_CONTACT,Personne.PE_Nom..Nom,tfMilieutexte))) +sCR+=CritereHF(INT_TELS_CONTACT ,SAI_TELS_CONTACT ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistContactOr,Client.CL_PKID..Nom,Remplace(CritereHF(INT_ +TELS_CONTACT,SAI_TELS_CONTACT,Personne.PE_TelFixe..Nom,tfMilieutexte),"AND ","")+Remplace(CritereHF( +INT_TELS_CONTACT,SAI_TELS_CONTACT,Personne.PE_TelMobile..Nom,tfMilieutexte),"AND "," OR "))) +sCR+=CritereHF(INT_EMAIL_CONTACT ,SAI_EMAIL_CONTACT ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistContact,Client.CL_PKID..Nom,CritereHF(INT_EMAIL_CONTACT,SAI_ +EMAIL_CONTACT,Personne.PE_Email..Nom,tfMilieutexte))) +sCR+=CritereHF(INT_ROLE_CONTACT ,COMBO_ROLE_CONTACT ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistContact,Client.CL_PKID..Nom,CritereHF(INT_ROLE_CONTACT,COMBO_ +ROLE_CONTACT,Personne.PE_IDRole..Nom,tfNumerique))) +sCR+=CritereHF(INT_NUMDOSSIER ,SAI_NUMDOSSIER ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistDossier,Client.CL_PKID..Nom,CritereHF(INT_NUMDOSSIER,SAI_ +NUMDOSSIER,Dossier.DO_RefInterne..Nom,tfFinTexte))) +sCR+=CritereHF(INT_REFEXT_DOSSIER ,SAI_REFEXT_DOSSIER ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistDossier,Client.CL_PKID..Nom,CritereHF(INT_REFEXT_DOSSIER,SAI_ +REFEXT_DOSSIER,Dossier.DO_RefExterne..Nom,tfMilieutexte))) +sCR+=CritereHF(INT_TYPE_DOSSIER ,COMBO_TYPE_DOSSIER ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistDossier,Client.CL_PKID..Nom,CritereHF(INT_TYPE_DOSSIER,COMBO_ +TYPE_DOSSIER,Dossier.DO_IDTypeDossier..Nom,tfNumerique))) +sCR+=CritereHF(INT_STATUT_DOSSIER ,COMBO_STATUT_DOSSIER,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistDossier,Client.CL_PKID..Nom,CritereHF(INT_STATUT_DOSSIER,COMBO_ +STATUT_DOSSIER,Dossier.DO_IDStatut..Nom,tfNumerique))) +sCR+=CritereHF(INT_NUMINTERV ,SAI_NUMINTERV ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistInterv ,Client.CL_PKID..Nom,CritereHF(INT_NUMINTERV,SAI_ +NUMINTERV,Intervention.IN_RefInterne..Nom,tfFinTexte))) +sCR+=CritereHF(INT_SUIVI_PAR ,COMBO_SUIVI_PAR ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistInterv ,Client.CL_PKID..Nom,CritereHF(INT_SUIVI_PAR,COMBO_ +SUIVI_PAR,Intervention.IN_IDSuiviPar..Nom,tfNumerique))) +sCR+=CritereHF(INT_REFEXT_INTERV ,SAI_REFEXT_INTERV ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistInterv ,Client.CL_PKID..Nom,CritereHF(INT_REFEXT_INTERV,SAI_ +REFEXT_INTERV,Intervention.IN_RefExterne..Nom,tfMilieutexte))) +sCR+=CritereHF(INT_TYPE_INTERVENTION ,COMBO_TYPE_INTERVENTION,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistInterv ,Client.CL_PKID..Nom,CritereHF(INT_TYPE_INTERVENTION, +COMBO_TYPE_INTERVENTION,Intervention.IN_IDTypeIntervention..Nom,tfNumerique))) +sCR+=CritereHF(INT_DESCRIPTION ,SAI_DESCRIPTION ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistInterv ,Client.CL_PKID..Nom,CritereHF(INT_DESCRIPTION,SAI_ +DESCRIPTION,Intervention.IN_Description..Nom,tfMilieutexte))) +sCR+=CritereHF(INT_SOCIETE_INTERV ,sListeSociete ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistInterv ,Client.CL_PKID..Nom,CritereHF(INT_SOCIETE_INTERV, +sListeSociete,Intervention.IN_IDSociete..Nom,tfDansListe))) +sCR+=CritereHF(INT_ETAT_INTERV ,sListeEtat ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistInterv ,Client.CL_PKID..Nom,CritereHF(INT_ETAT_INTERV, +sListeEtat,Intervention.IN_IDEtatIntervention..Nom,tfDansListe))) +sCR+=CritereHF(INT_DATE_INTERV_DU ,SAI_DATE_INTERV_DU ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistInterv ,Client.CL_PKID..Nom,CritereHF(INT_DATE_INTERV_DU,SAI_ +DATE_INTERV_DU,Intervention..Nom+"."+Intervention.CreationDate..Nom ,tfPeriodeLarge ,"",SAI_ +DATE_INTERV_AU))) +// +ReqSQL+=sCR +si sCR="" _et_ COMBO_PERIODE_AFFICHAGE_CLIENT..Etat=Actif alors +// ReqSQL+=[ +// AND ( Dossier.ModifDate>='%1' +// OR Intervention.ModifDate>='%1' +// ) +06/08/2026 Isis_BO 2278 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Procédures +// ] +// ReqSQL+=[ +// AND ( NbJours<=%1 +// ) +// ] +nbJours est un entier = Val(DonneParametreCombo(COMBO_PERIODE_AFFICHAGE_CLIENT)) +si nbJours<>-1 alors +ReqSQL+=[ +AND ( MinDateModif>=%1 +) +] +dDateCpt est une Date = DateSys() +dDateCpt..Jour-= Val(DonneParametreCombo(COMBO_PERIODE_AFFICHAGE_CLIENT)) +//ParametreLit("NBJOUR_DERNIEREMODIF_CLIENT","30") +ReqSQL = ChaîneConstruit(ReqSQL,DateVersChaîne(dDateCpt,"AAAAMMJJ")) +fin +//ReqSQL = ChaîneConstruit(ReqSQL,val(ParametreLit("NBJOUR_DERNIEREMODIF_DOSS_INTERV","30"))) +fin +ReqSQL+=[ +ORDER BY MinDateModif DESC +] +//ReqSQL.p_IdDossier = Null//MesParamètres..Occurrence>0 _ET_ MesParamètres[1]<>-1 ? MesParamètres[1] +SINON Null +// exécution de la requête +si HExécuteRequêteSQL(sdListeClient,gcnxBO,hRequêteDéfaut+hRequêteSansCorrection,ReqSQL) alors +nIndiceLigne est un entier +// nIndiceRupt est un entier +// nIndiceRuptsvg est un entier +nCptEnreg est un entier = HNbEnr(sdListeClient) +si nCptEnreg>0 alors +//TableTrie(TABLE_DOSSIER,TABLE_DOSSIER.NbJrsModif..nom)//,"-"+TABLE_DOSSIER.MinDateModif..Nom +InitTriChampTablePerso(TABLE_LISTE_CLIENT,gstListePerso) +si TableColonnesTriées(TABLE_LISTE_CLIENT)="" alors +TableTrie(TABLE_LISTE_CLIENT,TABLE_LISTE_CLIENT.NbJrsModif..Nom) +fin +// charge les enregistrements en mémoire +pour tout sdListeClient +avec sdListeClient +nIndiceLigne = TableAjouteLigne(TABLE_LISTE_CLIENT,.NomClient,.Coord,.IDTypeClient,. +IDStatutClient,.CodeClient,.CodeComptableClient,DateVersChaîne(.MinDateModif, +maskDateDuréeRelative),.NbJours,.CL_PKID,.IDOrigine,.IDApporteur) +// Si nIndiceLigne>0 ALORS +// ReqTopSite.p_IDClient = sdListeClient.CL_PKID +// SI HExécuteRequête(ReqTopSite,hRequêteDéfaut) ALORS +// POUR TOUTE ReqTopSite +// +TableAjouteLigne(TABLE_LISTE_CLIENT[nIndiceLigne].TABLE_LIEN_SITE,ReqTopSite.Expr1) +// FIN +// FIN +// FIN +fin +// nIndiceRupt = TableIndiceRupture(TABLE_DOSSIER.RUPT_Haut,nIndiceLigne) +// SI nIndiceRuptsvg<>nIndiceRupt ALORS +// nIndiceRuptsvg = nIndiceRupt +// +TABLE_DOSSIER[nIndiceRupt].LIB_DATEMODIF = +DateVersChaîne(sdListeDoss.MinDateModif,maskDateDuréeRelative) +// +// //TableAffiche(TABLE_DOSSIER,taCourantBandeau) +// FIN +06/08/2026 Isis_BO 2279 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Procédures +//trace(TABLE_DOSSIER[nIndiceRupt].LIB_DATEMODIF) +fin +// TableAffiche(TABLE_LISTE_CLIENT,taCourantBandeau) +// pour TOUTE LIGNE DE TABLE_LISTE_CLIENT +// +nIndiceRupt = TableIndiceRupture(TABLE_LISTE_CLIENT.RUPT_H_MinDateModif,TABLE_LISTE_CLIENT) +// SI nIndiceRuptsvg<>nIndiceRupt ALORS +// nIndiceRuptsvg = nIndiceRupt +// +TABLE_LISTE_CLIENT[nIndiceRupt].LIB_DATEMODIF = TABLE_LISTE_CLIENT[TABLE_LISTE_CLIENT].MinDateModif +// +// TableAffiche(TABLE_LISTE_CLIENT,taCourantBandeau) +// FIN +// FIN +fin +LIB_Total_Liste_Client = nCptEnreg +sinon +LIB_Total_Liste_Client = 0 +fin +HLibèreRequête(sdListeClient) +Procédure locale DechargeLigneSelectionnee +// Résumé : +// Syntaxe : +//[ = ] DechargeLigneSelectionnee ( est booléen) +// +// Paramètres : +// bMultiSelect (booléen) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DechargeLigneSelectionnee(local bMultiSelect est un booléen) +bResultat est un booléen +si pas bMultiSelect alors +sinon si COL_PKID>0 alors +nIndice est un entier = TableauCherche(gclPresentationListeClient:m_clTabModele,tcLinéaire, +"m_nPKID",COL_PKID,1) +si nIndice>0 alors +gclPresentationListeClient:m_clTabModele[nIndice]:m_bSelection = Faux +bResultat = Vrai +fin +fin +renvoyer bResultat +Procédure locale DoubleClicLigneTableau +// Résumé : +// Syntaxe : +// DoubleClicLigneTableau () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +06/08/2026 Isis_BO 2280 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Procédures +procédure DoubleClicLigneTableau() +si ChargeLigneSelectionnee(Faux) alors +//Sablier() +paramCli est STParamFenetreAppelante //= paramSupplementaire +paramCli.eTypeAppel = DansOnglet +paramCli.sNomIDAppelant = "Client" +//paramDoss.nIdFenetreAppelante = idInterv +paramCli.sContexteAppelant = MoiMême..Nom +paramCli.gProcMAJRetour = maProcMAJObjetRetourListClient +paramCli.sTitreFenetre = "Client" +OuvreFicheOuRetourneSelection(paramSupplementaire,paramCli,gclPresentationListeClient,FI_ +Fiche_Client,FicheEnModification,DansOnglet,MaFenêtreInterne..Nom,D_LISTE_CLIENT,TABLE_LISTE_CLIENT +,Null,Null,Null,GR_MODEFORMULAIRE_LISTE_CLIENT,maProcMAJObjetRetourListClient) +//Sablier(Faux) +fin +//SI gclPresentationListeClient.p_clCourant<>Null ALORS +// +// +OuvreFicheOuRetourneSelection(paramSupplementaire,DonneParam(DansOnglet,"FI_Liste_Client",MoiMême..Nom, +*,"Client"),gclPresentationListeClient,FI_Fiche_Client,FicheEnModification,DansOnglet,MaFenêtreInterne. +.Nom,DISP_LISTE_CLIENT,TABLE_LISTE_CLIENT,Null +,Null,Null,GR_MODEFORMULAIRE_LISTE_CLIENT) +//FIN +Procédure locale MAJCriterePerso +// Résumé : +// Syntaxe : +//MAJCriterePerso ( est chaîne, est objet dynamique, est objet +dynamique, est champ) +// +// Paramètres : +// sNomChamp (chaîne ANSI) : +// pclListeAll (objet dynamique) : +// pclListeCrit (objet dynamique) : +// champBouton (champ) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure MAJCriterePerso(local sNomChamp est une chaîne,pclListeAll est un objet dynamique< +utile>,pclListeCrit est un objet dynamique,champBouton est un Champ) +//Pour le critère Société +si sNomChamp = COMBO_SOCIETE_INTERV..Nom _et_ pclTabSoc<>Null alors +pclListeAll = PTableSociete.gNouvellePresentation(0) +pclListeCrit = pclTabSoc +//champBouton <- BTN_SOCIETE_INTERV +//Pour le critère état intervention +sinon si sNomChamp = COMBO_ETAT_INTERV..Nom_et_ pclTabEtat<>Null alors +pclListeAll = gpclListeEtatIntervention +pclListeCrit = pclTabEtat +//champBouton <- BTN_ETAT_INTERVENTION +06/08/2026 Isis_BO 2281 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Procédures +fin +Procédure locale MAJObjetRetourFI +// Résumé : +// Syntaxe : +//[ = ] MAJObjetRetourFI ([...]) +// +// Paramètres : +// <*> : > +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sContexte (chaîne ANSI) : +// pclObjet (objet dynamique) : +// <*> : > +procédure MAJObjetRetourFI(*)//LOCAL sContexte est une chaîne, pclObjet est un objet dynamique +bResultat est un booléen=Vrai +nMode est un entier +sNomChamp est une chaîne +pclObjet est un objet dynamique +bReorga est un booléen=Vrai +bBloc est un booléen +si MesParamètres..Occurrence>0 alors +nMode = MesParamètres[1] +fin +selon nMode +cas 1 : +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 2 +bReorga = Faux +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 3 +bReorga = Faux +bBloc = Vrai +fin +si bReorga alors +fin +si pclObjet<>Null alors +//*******************************MISE A JOUR DE +L'OBJET********************************************************* +selon sNomChamp +cas BTN_EDT_LISTE_CLIENT..Nom,BTN_ADD_LISTE_CLIENT..Nom : DemandeMiseAJourIHM +() +cas COMBO_SUIVI_PAR..Nom : +COMBO_SUIVI_PAR = pclObjet:m_nPKID +ListeAffiche(COMBO_SUIVI_PAR,taCourantBandeau) +INT_SUIVI_PAR[1] = COMBO_SUIVI_PAR..ValeurAffichée<>"" +cas COMBO_SOCIETE_INTERV..Nom : MAJComboMultiLigne(pclObjet,pclTabSoc,COMBO_SOCIETE_INTERV) +// sListe est une chaine = "" +// COMBO_SOCIETE_INTERV..Bulle="" +06/08/2026 Isis_BO 2282 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Procédures +// TableauSupprimeTout(pclTabSoc:m_clTabModele) +// POUR i = 1 _A_ pclObjet:p_nTotal +// SI pclObjet.m_clTabModele[i].m_bSelection ALORS +// +sListe += sListe="" ? Gauche(pclObjet:m_clTabModele[i]:m_sNom,3) SINON +";"+Gauche(pclObjet:m_clTabModele[i]:m_sNom,3) +// +COMBO_SOCIETE_INTERV..Bulle += COMBO_SOCIETE_INTERV..Bulle="" ? pclObjet:m_clTabModele[i]:m_sNom SINON +RC+pclObjet:m_clTabModele[i]:m_sNom +// pclTabSoc.Ajouter(pclObjet:m_clTabModele[i]) +// pclObjet.m_clTabModele[i].m_bSelection = Faux +// FIN +// FIN +// ListeSupprimeTout(COMBO_SOCIETE_INTERV) +// ListeAjoute(COMBO_SOCIETE_INTERV,sListe) +// ListeSelectPlus(COMBO_SOCIETE_INTERV,1) +// INT_SOCIETE_INTERV[1] = pclTabSoc:p_nTotal>0 +cas COMBO_ETAT_INTERV..Nom : MAJComboMultiLigne(pclObjet,pclTabEtat,COMBO_ETAT_INTERV) +// sListe est une chaine = "" +// +// COMBO_ETAT_INTERV..Bulle="" +// TableauSupprimeTout(pclTabEtat:m_clTabModele) +// POUR i = 1 _A_ pclObjet:p_nTotal +// SI pclObjet.m_clTabModele[i].m_bSelection ALORS +// +sListe += sListe="" ? Gauche(pclObjet:m_clTabModele[i]:m_sLibelle,3) SINON +";"+Gauche(pclObjet:m_clTabModele[i]:m_sLibelle,3) +// +COMBO_ETAT_INTERV..Bulle += COMBO_ETAT_INTERV..Bulle="" ? pclObjet:m_clTabModele[i]:m_sLibelle SINON +RC+pclObjet:m_clTabModele[i]:m_sLibelle +// pclTabEtat.Ajouter(pclObjet:m_clTabModele[i]) +// pclObjet.m_clTabModele[i].m_bSelection = Faux +// FIN +// FIN +// ListeSupprimeTout(COMBO_ETAT_INTERV) +// ListeAjoute(COMBO_ETAT_INTERV,sListe) +// ListeSelectPlus(COMBO_ETAT_INTERV,1) +// ListeAffiche(COMBO_ETAT_INTERV,taCourantBandeau) +// INT_ETAT_INTERV[1] = pclTabEtat:p_nTotal>0 +autre cas +fin +fin +si paramSupplementaire.sNomIDAppelant="DossierClient" alors +si paramSupplementaire.pclObjetAppelant:m_bBlocageEcriture alors +si bReorga alors +gnDelai = DonneValeurTimeOutObjet(paramSupplementaire.pclObjetAppelant) +TimerSys(TimeOutDeFermeture,100) +sinon +AppelProcFenetreAppelante(gclPresentationListeClient,paramSupplementaire,Vrai,Faux) +fin +//Une demande de blocage a été demandée par une fenetre +fille et l'enregistrement n'est pas bloqué +sinon si bBloc alors +//Tentative de blocage +bResultat= AppelProcFenetreAppelante(gclPresentationListeClient,paramSupplementaire,Faux,Faux, +Vrai) +fin +fin +renvoyer bResultat +Procédure locale OuvreFicheClient +06/08/2026 Isis_BO 2283 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Procédures +// Résumé : +// Syntaxe : +// OuvreFicheClient () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure OuvreFicheClient() +clPresentationFiche est un PFicheClient<-gclPresentationListeClient.Modifier() +FEN_Menu.OuvreOuActive(FI_Fiche_Client,"Fiche client",*,clPresentationFiche) +Procédure locale RefreshObjetListeClient +// Résumé : +// Syntaxe : +//RefreshObjetListeClient ( est objet dynamique) +// +// Paramètres : +// pclObjet (objet dynamique) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RefreshObjetListeClient(pclObjet est un objet dynamique) +si pclObjet<>Null alors +clPresention est un PTableClient(pclObjet) +TableSauvePositionEtSélection(TABLE_LISTE_CLIENT) +// récupération de l'instance courante +nIndice est un entier=TableSelect(TABLE_LISTE_CLIENT) +gclPresentationListeClient = clPresention +SourceVersEcran("","gclPresentationListeClient") +TableAffiche(TABLE_LISTE_CLIENT,taInit) +TableRestaurePositionEtSélection(TABLE_LISTE_CLIENT) +// récupération de l'instance courante +//nIndice =TableSelect(TABLE) +si nIndice<=0 _ou_ TABLE_LISTE_CLIENT..Nouveau alors +gclPresentationListeClient.p_bMajCourantSansIHM=Vrai +gclPresentationListeClient.p_clCourant=Null +gclPresentationListeClient.p_bMajCourantSansIHM=Faux +sinon +gclPresentationListeClient.p_bMajCourantSansIHM=Vrai +gclPresentationListeClient.p_clCourant=TABLE_LISTE_CLIENT[nIndice] +gclPresentationListeClient.p_bMajCourantSansIHM=Faux +fin +fin +Procédure locale SurActivite +// Résumé : +// Syntaxe : +//SurActivite (, , ) +06/08/2026 Isis_BO 2284 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Procédures +// +// Paramètres : +// wEve : +// wParam : +// lParam : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SurActivite(wEve,wParam,lParam) +selon paramSupplementaire.sNomIDAppelant +cas "DossierClient" : +si paramSupplementaire.pclObjetAppelant:m_bBlocageEcriture alors +gnDelai = DonneValeurTimeOutObjet(paramSupplementaire.pclObjetAppelant) +fin +fin +Procédure locale SurModifCritere +// Résumé : +// Syntaxe : +//SurModifCritere (, , ) +// +// Paramètres : +// UnMessage : +// wParam : +// lParam : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SurModifCritere(UnMessage, wParam, lParam) +//trace("Mess :"+UnMessage+" wp:"+wParam+" lp:"+lParam) +//SI ExtraitChaîne(MoiMême..Nom,1,"_")<>"INT" ALORS +// MAJCocheCritere(MoiMême) +//FIN +//MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +//MAJCocheCritere(MoiMême) +//MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Procédure locale TimeOutDeFermeture +procédure TimeOutDeFermeture() +//Enlève 1 seconde au temps restant +gnDelai-- +//Le temps est écoulé, l'enregistrement et le déblocage de ce dernier c'est bien passé +si gnDelai = 0 alors +FinTimerSys() +ExécuteTraitement(BTN_CLOSE_LISTE_CLIENT,trtClic) +sinon si gnDelai < 0 alors +FinTimerSys() +fin +Procédure locale TriColonne +// Procédure callback appelée à chaque clic sur entête de colonne de "Table1" pour trier la colonne +06/08/2026 Isis_BO 2285 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Procédures +// wEve [in]: Numéro du message Windows +// wParam [in] : Numéro de la colonne a trier +// lParam [in]: Ordre du tri 5 (1 : Croissant, 0 : décroissant) +// Renvoyer 0 pour ne pas effectuer le tri demandé +procédure TriColonne(wEve,wParam,lParam) +sSens est une chaîne="" +//Trace("wParam = "+wParam+" lParam="+lParam)// Pour test uniquement +si wParam<>0 alors//N° de colonne sur laquelle le clic est effectué +//Détection du sens du tri +si pas lParam alors sSens="-" +//Trier sur la colonne +TableTrie(TABLE_LISTE_CLIENT,sSens+TableEnumèreColonne(TABLE_LISTE_CLIENT,wParam),"+COL_PKID") +//Traitement à effectuer "Après chaque tri" +TrieObjetChampTableSiBesoin(gclPresentationListeClient,TABLE_LISTE_CLIENT,gsTriEnCours) +renvoyer 0 +fin +//SI wParam<>gsTriEnCours ALORS +// // Clic sur une nouvelle colonne +// giColTrié=wParam +// SI lParam=1 ALORS +// // Si le tri est croissant on l'ignore et on demande un tri décroissant +// SendMessage(Handle("Table1"),wEve,wParam,0) +// RENVOYER 0 +// FIN +//FIN +06/08/2026 Isis_BO 2286 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Image +FI_Liste_Collaborateur +Image +FI_Liste_Collaborateur +Informations générales +FI_Liste_Collaborateur +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Liste_Collaborateur.wdw +| Créé par | | frederic.bourras@applilogik.fr | | | | +| -------------------------- | ------------ | ------------------------------ | --------- | --------------- | --- | +| Date de création | | 27/08/2018 17:46:26 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:26 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 768 Hauteur | 89 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ------- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| 06/08/2026 | | | Isis_BO | | 2287 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Informations générales +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Statistiques de la fenêtre +Champ de saisie 1 Libellé 3 +Bouton 5 Interrupteur 1 +Table 1 Forme 1 +Fenêtre interne 1 Fenêtre interne 1 +Option d'interrupteur 1 Colonne de table 12 +Disposition 2 Cellule de disposition 15 +Nombre d'éléments dans la fenêtre : 44 +FI_Liste_Collaborateur +Informations sur les champs +06/08/2026 Isis_BO 2288 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Informations sur les champs +Fenêtre : FI_Liste_Collaborateur +Fenêtre interne +BAT ehcuoT +| | | | | X noitisoP | Y noitisoP | | | | | | | laitini tatE | | +| --- | --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | | ruegraL | | | | elbisiV | | | | +| --- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | ------- | --- | --- | --- | +nalP +| FI_Liste_Collaborateur | | | | 0 | | 0 | 768 | 89 | | 0 | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +Fenêtre interne : FI_Liste_Collaborateur +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 | eisias epyT | FTR tamroF | | ediv is LLUN | | | lacitrev .csA | +| | X noitisoP Y noitisoP | | | | laitini tatE | | | engilitluM | | | | | | +ruetuaH +| | | ruegraL | | | elbisiV | | | | | | | | | +| --- | --- | ------- | --- | --- | ------- | --- | --- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_COLLABORATEUR | 8 | 3 278 | 26 | 0 | Actif | | Texte | | Non | | | | | +| ----------------- | --- | ----- | --- | --- | ----- | --- | ----- | --- | --- | --- | --- | --- | --- | +Libellé +tuaféd rap eéminA +| | | | | | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | --- | ---------- | +| | | | | | | | | | laitini tatE | | | | FTR tamroF | +X noitisoP Y noitisoP +| | | | | ruegraL | | ruetuaH | | | | | | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +LIB_Titre_de_fenêtre_Liste_Colla 7 6 39 21 0 Actif Gauche Centre +| LIB_Total_Liste_Collaborateur | | 44 | | 0 | 36 | 14 | 0 | | Actif | Gauche | Haut | | | +| ----------------------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | --- | +LIB_Total_Titre_Liste_Collaborate 0 0 40 14 0 Actif Gauche Haut +Bouton +notuob epyT +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | | | | | ruegraL | | | elbisiV | | | | | +| --- | --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | --- | --- | +nalP +| BTN_Fermer_Liste_Collaborateur | | | 4 | | 4 | 24 | 24 | | 0 | Actif | | Abandon | | +| ----------------------------------- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | ----- | --- | ------- | ---- | +| BTN_Modifier_Liste_Collaborateur | | | 4 | | 4 | 24 | 24 | | 0 | Grisé | | Normal | | +| BTN_Nouveau_Liste_Collaborateur | | | 4 | | 4 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_SelectLigne_Liste_Collaborateur | | | 4 | | 4 | 24 | 24 | | 0 | Grisé | | Normal | | +| BTN_Supprimer_Liste_Collaborateur | | | 4 | | 4 | 24 | 24 | | 0 | Grisé | | Normal | | +| 06/08/2026 | | | | | | Isis_BO | | | | | | | 2289 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | | staté siorT | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | --- | ----------- | +ruetuaH +| | | | | ruegraL | | | elbisiV | | | | | +| --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | --- | --- | +nalP +| INT_TOUSLESCOLLABORATEURS | | | 7 4 | 160 | 25 | 0 | Actif | | | 1 | | +| ------------------------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | +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 +TABLE_COLLABORATE +| | 0 | 0 768 | 42 0 | affichag | Variable | | | | | | 1 | +| --- | --- | ----- | ---- | -------- | -------- | --- | --- | --- | --- | --- | --- | +Forme +| | | | | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | ---------- | +| | | | X noitisoP | Y noitisoP | | | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| FRM_BANDEAU_BAS_CLIENT | | | 0 | 0 | 768 | | 14 | 0 | | Actif | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Fenêtre interne +BAT ehcuoT +| | | | X noitisoP | | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | --- | --- | --- | --- | --- | --- | ------------ | --- | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| CFI_SOUSELEMENT_LISTE_COLLABORATEUR | | | 0 | 0 | 768 | | 362 | 0 | | Actif | | +| ----------------------------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Disposition +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| DISP_BANDEAU_ENTETE_LISTE_COLLABORA | | | 0 | 0 | 768 | | 33 | 0 | | Actif | | +| ----------------------------------- | --- | --- | --- | ------- | --- | --- | --- | --- | --- | ----- | ---- | +| DISP_LISTE_COLLABORATEUR | | | 0 | 0 | 768 | | 89 | 0 | | Actif | | +| 06/08/2026 | | | | Isis_BO | | | | | | | 2290 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Informations sur les champs +Table : FI_Liste_Collaborateur.DISP_LISTE_COLLABORATEUR.TABLE_COLLABORATEUR +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_SCO_Nom | 120 | Actif | | Gauche Centre | Texte | | +| COL_SCO_Prenom | 120 | Actif | | Gauche Centre | Texte | | +| COL_LOGIN | 100 | Actif | | Gauche Centre | Texte | | +| COL_ACCESBO | 40 | Actif | | Centre Centre | | | +| COL_ACCESMOB | 40 | Actif | | Centre Centre | | | +| COL_SCO_TelFixe | 90 | Actif | | Gauche Centre | Texte | | +| COL_SCO_TelMobile | 90 | Actif | | Gauche Centre | Texte | | +| COL_SCO_Email | 120 | Actif | | Gauche Centre | Texte | | +| COL_Fonction | 100 | Actif | | Gauche Centre | Texte | | +| COL_ListeSociete | 100 | Actif | | Gauche Centre | Texte | | +| COL_ListeEquipe | 0 | Actif | | Gauche Centre | Texte | | +| COL_PKID | 100 | Actif | | Droite Centre | Numériq | | +Fenêtre : FI_Liste_Collaborateur +Fenêtre interne : FI_Liste_Collaborateur +| UI par l'utilisateur | Selon fenêtre | | | | | | +| ------------------------- | ---------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Compatible desktop ET mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | | +| ------------------------- | ------- | --- | --- | --- | --- | --- | +| Ctx. HFSQL indép. | Non | | | | | | +| Ancrage | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Isis_BO | | | 2291 | +| ---------- | --- | --- | ------- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Informations sur les champs +Fenêtre interne : FI_Liste_Collaborateur +Bouton : +Groupe GR_MODEFORMULAIRE_LISTE_COLLABORATEUR +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2292 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Informations sur les champs +Bouton : +Groupe GR_MODIFICATION_LISTE_COLLABORATEUR,GR_MODEFORMULAIRE_LISTE_COLLABORATEUR +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2293 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Informations sur les champs +Bouton : +Groupe GR_MODEFORMULAIRE_LISTE_COLLABORATEUR +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2294 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Informations sur les champs +Bouton : +Groupe GR_MODEFORMULAIRE_LISTE_COLLABORATEUR +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2295 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Informations sur les champs +Bouton : +Groupe GR_MODEFORMULAIRE_LISTE_COLLABORATEUR,GR_MODIFICATION_LISTE_COLLABORATEUR +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2296 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Informations sur les champs +Fenêtre interne : +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 +Ancrage au contenu +Numéro aide 0 +Ascenseur auto. 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 +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +06/08/2026 Isis_BO 2297 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Informations sur les champs +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Collaborateur.DISP_LISTE_COLLABORATEUR +Libellé FR: Disposition +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 +Cellule ancrée 4 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Agrandir le champ, pousse les champs autour +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et bas +06/08/2026 Isis_BO 2298 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : +Valeur initiale 0 +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2299 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Informations sur les champs +Libellé : +Libellé FR: Titre +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: 000 +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 +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 +06/08/2026 Isis_BO 2300 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationListeCollaborateur.p_nTotal +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 +Libellé : +Libellé FR: Total : +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 +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 +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 Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2301 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Informations sur les champs +Champ de saisie : +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 253 +Largeur interne 278 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Texte d'indication si vide FR: Nom, prénom, adresse du contact +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2302 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : FI_Liste_Collaborateur.DISP_LISTE_COLLABORATEUR.TABLE_COLLABORATEUR +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Recherche +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 0 +Marge en bas 0 +Marge à gauche 1 +Marge à droite 3 +Sens Vertical +Retrait gauche 2 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Sélection multiple Non +06/08/2026 Isis_BO 2303 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Informations sur les champs +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 500 +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 +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationListeCollaborateur.m_clTabModele +Rub. mémorisée :gclPresentationListeCollaborateur.m_clTabModele +Ajout/Suppr. dans variable Non +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 +06/08/2026 Isis_BO 2304 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Informations sur les champs +Table : FI_Liste_Collaborateur.DISP_LISTE_COLLABORATEUR.TABLE_COLLABORATEUR +Colonne de table : +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 50 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationListeCollaborateur.m_clTabModele.m_sNom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Prénom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +06/08/2026 Isis_BO 2305 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Informations sur les champs +Bandeau visible Oui +Format HTML 0 +Taille de saisie 50 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationListeCollaborateur.m_clTabModele.m_sPrenom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Login +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 +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 +Liaison des données :gclPresentationListeCollaborateur.m_clTabModele.m_sLogin +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2306 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Informations sur les champs +Colonne de table : +Titre FR: Accès +Bureau +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +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 +Liaison des données :gclPresentationListeCollaborateur.m_clTabModele.m_bUtiliseBO +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 50 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Accès +Mobile +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +06/08/2026 Isis_BO 2307 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Informations sur les champs +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationListeCollaborateur.m_clTabModele.m_bUtiliseMob +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 50 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Tél. fixe +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 15 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationListeCollaborateur.m_clTabModele.m_sTelFixe +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 50 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2308 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Informations sur les champs +Colonne de table : +Titre FR: Tél. Mobile +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 15 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationListeCollaborateur.m_clTabModele.m_sTelMobile +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 50 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Email +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 50 +06/08/2026 Isis_BO 2309 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationListeCollaborateur.m_clTabModele.m_sEmail +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Fonction +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 +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 +Liaison des données :gclPresentationListeCollaborateur.m_clTabModele.m_sFonction +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 50 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2310 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Informations sur les champs +Colonne de table : +Titre FR: Société rattachée +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 +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 +Liaison des données :gclPresentationListeCollaborateur.m_clTabModele.ListeSociete +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: ListeEquipe +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 +06/08/2026 Isis_BO 2311 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: PKID +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: MoneySystemMask +Mode ellipse +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 +Liaison des données :gclPresentationListeCollaborateur.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2312 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Messages multilingues +FI_Liste_Collaborateur +Messages multilingues +06/08/2026 Isis_BO 2313 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FI_Liste_Collaborateur +Code des champs +Déclarations globales de FI_Liste_Collaborateur +procédure FI_Liste_Collaborateur(gclPresentationListeCollaborateur est un PTableCollaborateur dynamique +=Null, paramSupplementaire est un STParamFenetreAppelante=Null) +//Variable qui contient la call stack à appeler dans les appels de sous fenêtre +maProcMAJObjetRetourFI est une procédure = MAJObjetRetourFI +gsTriEnCours est une chaîne +Evénement(TriColonne,"TABLE_COLLABORATEUR",1529) +//Titre de la fenêtre +LIB_Titre_de_fenêtre_Liste_Collaborateur = paramSupplementaire.eTypeAppel=Libre ? +"Liste des collaborateurs" sinon paramSupplementaire.sTitreFenetre<>"" ? paramSupplementaire.s +TitreFenetre sinon "Liste des collaborateurs" +local +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentationListeCollaborateur=Null alors +gclPresentationListeCollaborateur=PTableCollaborateur.gNouvellePresentation(5) +//(paramSupplementaire.eTypeAppel=DansFenetre _ET_ paramSupplementaire.nIdFenetreAppelante<>0 ? 2 +SINON 5,paramSupplementaire.eTypeAppel=DansFenetre _ET_ paramSupplementaire.nIdFenetreAppelante<>0 +? paramSupplementaire.nIdFenetreAppelante SINON -1) +fin +Demande de mise à jour de l'affichage de FI_Liste_Collaborateur +//PROCEDURE DemandeMiseAJour +si gclPresentationListeCollaborateur<>Null _et_ gclPresentationListeCollaborateur est +PTableCollaborateur alors//_ET_ (gclPresentationListeCollaborateur=pclObjet _OU_ pclObjet=Null) ALORS +// gclPresentationListeCollaborateur.Trie(DonneTrieClasseDepuisTable(TABLE_COLLABORATEUR)) +// mise à jour des champs bindés sur la présentation (compteur par exemple) +SourceVersEcran("","gclPresentationListeCollaborateur") +MAJChampTableEtObjet(TABLE_COLLABORATEUR,gclPresentationListeCollaborateur.p_clCourant) +// Gestion de l'accessibilité des boutons + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Code des champs +GestionBoutonsEnteteDansListe(GR_MODIFICATION_LISTE_COLLABORATEUR,BTN_Nouveau_Liste_Collaborateur, +BTN_SelectLigne_Liste_Collaborateur,gclPresentationListeCollaborateur,paramSupplementaire) +//En demande de MAJ la cellule des totaux peut avoir changé au niveau de la visibilité +DISP_LISTE_COLLABORATEUR[3]..Visible = (paramSupplementaire.eTypeAppel<>Libre _et_ +paramSupplementaire.eTypeAppel=DansChampFI) _ou_ DISP_LISTE_COLLABORATEUR[4]..Visible ? Faux sinon +Vrai +fin +Clic sur BTN_Fermer_Liste_Collaborateur +si paramSupplementaire.eTypeAppel=DansChampFI alors +//SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,Null) +AppelProcFenetreAppelante(gclPresentationListeCollaborateur,paramSupplementaire,Faux,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon si paramSupplementaire.eTypeAppel=DansFenetre alors +clModele est un MCollaborateur() +Ferme(FEN_ChoixFenetreInterne,clModele) +sinon +FermeVoletEtActiveLePrecedent(VoletDuChamp(DISP_LISTE_COLLABORATEUR)) +fin +Clic sur BTN_Modifier_Liste_Collaborateur +//OuvreFicheDepuisListe(FicheEnModification,paramSupplementaire,gclPresentationListeCollaborateur,FI_Fi +che_Collaborateur,MaFenêtreInterne..Nom,DISP_LISTE_COLLABORATEUR,TABLE_COLLABORATEUR,CFI_SOUSELEMENT_LI +STE_COLLABORATEUR,GR_IMAGE_OPAQUE_LISTE_COLLABORA +TEUR,GR_HAUTEUR_LISTE_COLLABORATEUR,GR_MODEFORMULAIRE_LISTE_COLLABORATEUR,maProcMAJObjetRetourFI,MoiMêm +e..Nom) +//gnDelai=0 +//TimeOutDeFermeture() +//La liste est sur l'onglet principale +si paramSupplementaire.eTypeAppel = Libre _et_ gclPresentationListeCollaborateur.p_clCourant<>Null +alors +OuvreFicheDepuisListe(FicheEnModification,DonneParam(Libre,"FI_Liste_Collaborateur",MoiMême..Nom, +maProcMAJObjetRetourFI),gclPresentationListeCollaborateur,FI_Fiche_Collaborateur,MaFenêtreInterne.. +Nom,DISP_LISTE_COLLABORATEUR,TABLE_COLLABORATEUR,CFI_SOUSELEMENT_LISTE_COLLABORATEUR,GR_ +IMAGE_OPAQUE_LISTE_COLLABORATEUR,GR_HAUTEUR_LISTE_COLLABORATEUR,GR_ +MODEFORMULAIRE_LISTE_COLLABORATEUR,maProcMAJObjetRetourFI,MoiMême..Nom) +//La liste est dans un champ FI +sinon si paramSupplementaire.eTypeAppel dans (DansChampFI,DansFenetre) _et_ +gclPresentationListeCollaborateur.p_clCourant<>Null alors +stNewParam est un STParamFenetreAppelante +stNewParam = DonneParam(DansFenetre,"FI_Liste_Collaborateur",MoiMême..Nom,maProcMAJObjetRetourFI,"" +,*,*,gclPresentationListeCollaborateur.Modifier(),*) +nRetour est un entier = Ouvre(FEN_ChoixFenetreInterne,"FI_Fiche_Collaborateur",stNewParam) +//Fermeture par Timer +si nRetour=-1 alors +// gnDelai=1 +// TimeOutDeFermeture() +fin +DemandeMiseAJourIHM() +fin +Clic sur BTN_Nouveau_Liste_Collaborateur +06/08/2026 Isis_BO 2314 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Code des champs +//OuvreFicheDepuisListe(FicheEnAjout,paramSupplementaire,gclPresentationListeCollaborateur,FI_Fiche_Col +laborateur,MaFenêtreInterne..Nom,DISP_LISTE_COLLABORATEUR,TABLE_COLLABORATEUR,CFI_SOUSELEMENT_LISTE_COL +LABORATEUR,GR_IMAGE_OPAQUE_LISTE_COLLABORATEUR,GR +_HAUTEUR_LISTE_COLLABORATEUR,GR_MODEFORMULAIRE_LISTE_COLLABORATEUR,maProcMAJObjetRetourFI,MoiMême..Nom) +//La liste est sur l'onglet principale +si paramSupplementaire.eTypeAppel = Libre alors +//_ET_ gclPresentationListeCollaborateur.p_clCourant<>Null ALORS +OuvreFicheDepuisListe(FicheEnAjout,DonneParam(Libre,"FI_Liste_Collaborateur",MoiMême..Nom, +maProcMAJObjetRetourFI),gclPresentationListeCollaborateur,FI_Fiche_Collaborateur,MaFenêtreInterne.. +Nom,DISP_LISTE_COLLABORATEUR,TABLE_COLLABORATEUR,CFI_SOUSELEMENT_LISTE_COLLABORATEUR,GR_ +IMAGE_OPAQUE_LISTE_COLLABORATEUR,GR_HAUTEUR_LISTE_COLLABORATEUR,GR_ +MODEFORMULAIRE_LISTE_COLLABORATEUR,maProcMAJObjetRetourFI,MoiMême..Nom) +//La liste est dans un champ FI +sinon si paramSupplementaire.eTypeAppel dans (DansChampFI,DansFenetre) alors +//_ET_ gclPresentationListeCollaborateur.p_clCourant<>Null ALORS +stNewParam est un STParamFenetreAppelante +stNewParam = DonneParam(DansFenetre,"FI_Liste_Collaborateur",MoiMême..Nom,maProcMAJObjetRetourFI,"" +,*,*,gclPresentationListeCollaborateur.Nouveau(),*) +nRetour est un entier = Ouvre(FEN_ChoixFenetreInterne,"FI_Fiche_Collaborateur",stNewParam) +//Fermeture par Timer +si nRetour=-1 alors +// gnDelai=1 +// TimeOutDeFermeture() +fin +DemandeMiseAJourIHM() +fin +Clic sur BTN_SelectLigne_Liste_Collaborateur +si paramSupplementaire.eTypeAppel=DansChampFI _et_ gclPresentationListeCollaborateur.p_clCourant<>Null +alors +// SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +// SI paramSupplementaire.bMultiSelect ALORS +// +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationListeCollaborat +eur) +// SINON +// pclPresentationFiche est un PFicheCollaborateur dynamique +// pclPresentationFiche <- gclPresentationListeCollaborateur.Modifier() +// +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,pclPresentationFiche) +// FIN +// +// FIN +AppelProcFenetreAppelante(gclPresentationListeCollaborateur,paramSupplementaire,Vrai,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon si paramSupplementaire.eTypeAppel=DansFenetre _et_ gclPresentationListeCollaborateur.p_clCourant< +>Null alors +Ferme(FEN_ChoixFenetreInterne,gclPresentationListeCollaborateur.p_clCourant) +fin +Clic sur BTN_Supprimer_Liste_Collaborateur +si OuiNon("Confirmez vous la suppression ?")=Non alors +retour +fin +06/08/2026 Isis_BO 2315 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Code des champs +// gestion de la saisie en cascade +// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +nIndice est un entier=TableSelect(TABLE_COLLABORATEUR) +si nIndice>1 _et_ nIndice=TableOccurrence(TABLE_COLLABORATEUR) alors +TableSelectPlus(TABLE_COLLABORATEUR,nIndice-1) +fin +clErreur est un CErreur +si pas gclPresentationListeCollaborateur.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +fin +A chaque modification de INT_TOUSLESCOLLABORATEURS +si INT_TOUSLESCOLLABORATEURS=1 alors +gclPresentationListeCollaborateur=PTableCollaborateur.gNouvellePresentation(0) +sinon +gclPresentationListeCollaborateur=PTableCollaborateur.gNouvellePresentation(5) +fin +DemandeMiseAJourIHM() +//ChampVersSource() +A chaque modification de SAI_COLLABORATEUR +si MoiMême..ValeurAffichée<>"" alors +//ModifZoneSaisieAssistee(MoiMême,2,faux,"","") +Sablier(Vrai) +si Taille(MoiMême..ValeurAffichée)> 2 alors +//Chargement liste des Contacts trouvés +pclListeRechercheCollab est une PTableCollaborateur dynamique +pclListeRechercheCollab=PTableCollaborateur.gNouvellePresentation(9,MoiMême..ValeurAffichée) +si pclListeRechercheCollab.m_clTabModele..Occurrence<1 alors +// Info("Aucun résultat trouvé pour cette recherche") +TableauSupprimeTout(gclPresentationListeCollaborateur.m_clTabModele) +DemandeMiseAJourIHM() +Sablier(Faux) +retour +sinon +gclPresentationListeCollaborateur=pclListeRechercheCollab +DemandeMiseAJourIHM() +fin +fin +Sablier(Faux) +sinon +gclPresentationListeCollaborateur = PTableCollaborateur.gNouvellePresentation(5) +//(paramSupplementaire.eTypeAppel=DansFenetre _ET_ paramSupplementaire.nIdFenetreAppelante<>0 ? 2 +SINON 5,paramSupplementaire.eTypeAppel=DansFenetre _ET_ paramSupplementaire.nIdFenetreAppelante<>0 +? paramSupplementaire.nIdFenetreAppelante SINON -1) +DemandeMiseAJourIHM() +fin +Sélection d'une valeur dans la liste de saisie assistée de SAI_COLLABORATEUR +06/08/2026 Isis_BO 2316 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Code des champs +ExécuteTraitement(MoiMême,trtSortie) +Sortie d'une ligne de TABLE_COLLABORATEUR +// si la table n'a pas été modifiée, il ne faut rien faire +si TABLE_COLLABORATEUR..Modifié=Faux alors +retour +fin +clErr est un CErreur +pclPresentationFiche est un PFicheCollaborateur dynamique +// ajout d'une nouvelle ligne +si TABLE_COLLABORATEUR..Nouveau alors +pclPresentationFiche<-gclPresentationListeCollaborateur.Nouveau() +// modification d'une ligne existante +sinon +pclPresentationFiche<-gclPresentationListeCollaborateur.Modifier() +fin +// sauvegarde de la table +TableEnregistre(TABLE_COLLABORATEUR,pclPresentationFiche) +// traitement des erreurs +si pas pclPresentationFiche.bOK(clErr) alors//PAS pclPresentationFiche.bOK(clErr,Vrai,Faux) +Erreur(clErr.FormateMessage()) +fin +// repasse la table en non modifiée +TABLE_COLLABORATEUR..Modifié=Faux +Sélection d'une ligne de TABLE_COLLABORATEUR +si TABLE_COLLABORATEUR..Nouveau alors +gclPresentationListeCollaborateur.p_clCourant=Null +sinon +gclPresentationListeCollaborateur.p_clCourant=TABLE_COLLABORATEUR +fin +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_COLLABORATEUR +DoubleClicLigneTableau() +//OuvreFicheCollaborateur() +//ExécuteTraitement(BTN_Modifier_compact,trtClic) +Touche appuyée (WM_CHAR) de TABLE_COLLABORATEUR +nTouche est un entier = 0x0d +// Vérifie si la touche dont le code virtuel est 0x0d a été appuyée +si ToucheEnfoncée(nTouche) _ou_ _EVE.wParam = nTouche alors +// Insérer ici le traitement à effectuer +DoubleClicLigneTableau() +fin +06/08/2026 Isis_BO 2317 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Procédures +FI_Liste_Collaborateur +Procédures +Procédure locale DoubleClicLigneTableau +// Résumé : +// Syntaxe : +// DoubleClicLigneTableau () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DoubleClicLigneTableau() +si (paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.eTypeAppel dans (DansChampFI, +DansFenetre) _et_ pas paramSupplementaire.bMultiSelect) alors +ExécuteTraitement(BTN_SelectLigne_Liste_Collaborateur,trtClic) +sinon si gclPresentationListeCollaborateur.p_clCourant<>Null alors +ExécuteTraitement(BTN_Modifier_Liste_Collaborateur,trtClic) +fin +Procédure locale MAJObjetRetourFI +// Résumé : +// Syntaxe : +//[ = ] MAJObjetRetourFI ([...]) +// +// Paramètres : +// <*> : > +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sContexte (chaîne ANSI) : +// pclObjet (objet dynamique) : +// <*> : > +procédure MAJObjetRetourFI(*)//LOCAL sContexte est une chaîne, pclObjet est un objet dynamique +bResultat est un booléen=Vrai +nMode est un entier +sNomChamp est une chaîne +pclObjet est un objet dynamique +bReorga est un booléen=Vrai +bBloc est un booléen +si MesParamètres..Occurrence>0 alors +nMode = MesParamètres[1] +fin +selon nMode +cas 1 : +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 2 +bReorga = Faux +06/08/2026 Isis_BO 2318 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Procédures +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 3 +bReorga = Faux +bBloc = Vrai +fin +si bReorga alors +//Gestion de l'affichage pour oublier le champ Fenêtre Interne +ReorganiseChampDispoDansListe(DISP_LISTE_COLLABORATEUR,TABLE_COLLABORATEUR,CFI_ +SOUSELEMENT_LISTE_COLLABORATEUR,GR_IMAGE_OPAQUE_LISTE_COLLABORATEUR,GR_HAUTEUR_LISTE_COLLABORATEUR, +GR_MODEFORMULAIRE_LISTE_COLLABORATEUR,Faux) +GestionBoutonsEnteteDansListe(GR_MODIFICATION_LISTE_COLLABORATEUR,BTN_Nouveau_Liste_Collaborateur, +BTN_SelectLigne_Liste_Collaborateur,gclPresentationListeCollaborateur,paramSupplementaire) +fin +//sNomChampPrec est une chaine = ExtraitChaîne(sContexte,2,TAB) +si pclObjet<>Null alors +//*******************************MISE A JOUR DE +L'OBJET********************************************************* +selon sNomChamp +cas BTN_Modifier_Liste_Collaborateur..Nom,BTN_Nouveau_Liste_Collaborateur..Nom +: +//gclPresentationListeCollaborateur=PTableCollaborateur.gNouvellePresentation(5) +DemandeMiseAJourIHM() +cas BTN_Supprimer_Liste_Collaborateur..Nom : +clErreur est un CErreur +nIndice est un entier = TableauCherche(gclPresentationListeCollaborateur:m_clTabModele, +tcLinéaire,"m_nPKID",pclObjet.m_nPKID,1) +si nIndice >0 alors +gclPresentationListeCollaborateur.p_clCourant = gclPresentationListeCollaborateur: +m_clTabModele[nIndice] +gclPresentationListeCollaborateur.bSupprimer(clErreur) +fin +//gclPresentationListeCollaborateur.p_clCourant = pclObjet +//gclPresentationListeCollaborateur.bSupprimer(clErreur) +DemandeMiseAJourIHM() +autre cas +fin +sinon +DemandeMiseAJourIHM() +fin +renvoyer bResultat +Procédure locale TriColonne +// Procédure callback appelée à chaque clic sur entête de colonne de "Table1" pour trier la colonne +// wEve [in]: Numéro du message Windows +// wParam [in] : Numéro de la colonne a trier +// lParam [in]: Ordre du tri 5 (1 : Croissant, 0 : décroissant) +// Renvoyer 0 pour ne pas effectuer le tri demandé +procédure TriColonne(wEve,wParam,lParam) +sSens est une chaîne="" +si wParam<>0 alors//N° de colonne sur laquelle le clic est effectué +//Détection du sens du tri +06/08/2026 Isis_BO 2319 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateur › Procédures +si pas lParam alors sSens="-" +//Trier sur la colonne +TableTrie(TABLE_COLLABORATEUR,sSens+TableEnumèreColonne(TABLE_COLLABORATEUR,wParam),"+COL_PKID") +//Traitement à effectuer "Après chaque tri" +TrieObjetChampTableSiBesoin(gclPresentationListeCollaborateur,TABLE_COLLABORATEUR,gsTriEnCours) +renvoyer 0 +fin +06/08/2026 Isis_BO 2320 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Image +FI_Fiche_Collaborateur +Image +FI_Fiche_Collaborateur +Informations générales +FI_Fiche_Collaborateur +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Fiche_Collaborateur.wdw +| Créé par | | frederic.bourras@applilogik.fr | | | | +| -------------------------- | ------------ | ------------------------------ | --------- | --------------- | --- | +| Date de création | | 27/08/2018 19:16:24 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:27 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1329 Hauteur | 249 | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 2321 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations générales +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Statistiques de la fenêtre +Champ de saisie 11 Libellé 24 +Bouton 18 Interrupteur 5 +Sélecteur 2 Image 6 +Combo 3 Forme 6 +Zone répétée 1 Fenêtre interne 1 +Attribut zone répétée 1 Option d'interrupteur 5 +Option de sélecteur 4 Disposition 12 +Cellule de disposition 45 +06/08/2026 Isis_BO 2322 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations générales +Nombre d'éléments dans la fenêtre : 144 +FI_Fiche_Collaborateur +Informations sur les champs +Fenêtre : FI_Fiche_Collaborateur +Fenêtre interne +BAT ehcuoT +X noitisoP laitini tatE +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| FI_Fiche_Collaborateur | | 0 | 0 1329 | 249 | 0 | | +| ---------------------- | --- | --- | ------ | --- | --- | --- | +Fenêtre interne : FI_Fiche_Collaborateur +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_CONFIRMATION_ | 136 144 118 | 22 0 | Actif Texte | Non | | | +| ----------------- | ----------- | ---- | ------------ | --- | --- | ---- | +| SAI_LOGIN | 19 81 111 | 22 0 | Grisé Texte | Non | | | +| SAI_MDP | 19 144 111 | 22 0 | Actif Texte | Non | | | +| SAI_TRIGRAMME | 21 145 63 | 22 0 | Actif Texte | Non | | | +| SAI_rPonderation | 21 103 136 | 22 0 | Actif Numéri | Non | | | +| SAI_sEmail | 31 103 169 | 22 0 | Actif Texte | Non | | | +| SAI_sFonction | 31 145 172 | 22 0 | Actif Texte | Non | | | +| SAI_sNom | 31 59 172 | 22 0 | Actif Texte | Non | | | +| SAI_sPrenom | 31 103 172 | 22 0 | Actif Texte | Non | | | +| SAI_sTelFixe | 31 59 169 | 22 0 | Actif Texte | Non | | | +| SAI_sTelMobile | 31 17 169 | 22 0 | Actif Texte | Non | | | +| 06/08/2026 | | | Isis_BO | | | 2323 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › 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_Affichage | 267 3 | 144 21 | 0 | Actif | Gauche | Haut | | +| -------------------------- | ------- | ------ | --- | ----- | ------ | ------ | --- | +| LIB_Affichage2 | 267 89 | 136 14 | 0 | Actif | Gauche | Haut | | +| LIB_CARACTERISTIQUE | 0 6 | 47 19 | 0 | Actif | Gauche | Haut | | +| LIB_CIVILITE_COLLABORATEUR | 31 3 | 172 14 | 0 | Actif | Gauche | Haut | | +| LIB_CONFIRMATION_MDP | 134 130 | 111 14 | 0 | Actif | Gauche | Haut | | +| LIB_COORDONNEES | 0 6 | 79 19 | 0 | Actif | Gauche | Haut | | +| LIB_EMAIL | 31 89 | 172 14 | 0 | Actif | Gauche | Haut | | +| LIB_FONCTION_COLLABORATEU | 31 131 | 172 14 | 0 | Actif | Gauche | Haut | | +| LIB_GESTION | 0 6 | 48 19 | 0 | Actif | Gauche | Haut | | +| LIB_LOGIN | 19 67 | 38 14 | 0 | Actif | Gauche | Haut | | +| LIB_MDP | 19 130 | 111 14 | 0 | Actif | Gauche | Haut | | +| LIB_NOM_COLLABORATEUR | 31 45 | 172 14 | 0 | Actif | Gauche | Haut | | +| LIB_PONDERATION | 21 89 | 138 14 | 0 | Actif | Gauche | Haut | | +| LIB_PRENOM_COLLABORATEUR | 31 89 | 172 14 | 0 | Actif | Gauche | Haut | | +| LIB_PROFIL | 134 67 | 46 14 | 0 | Actif | Gauche | Centre | | +| LIB_SOCIETE | 0 6 | 47 19 | 0 | Actif | Gauche | Haut | | +| LIB_Statut | 21 45 | 172 14 | 0 | Actif | Gauche | Haut | | +| LIB_TELFIXE | 31 45 | 172 14 | 0 | Actif | Gauche | Haut | | +| LIB_TELMOBILE | 31 3 | 172 14 | 0 | Actif | Gauche | Haut | | +| LIB_TRIGRAMME | 21 131 | 63 14 | 0 | Actif | Gauche | Haut | | +LIB_Titre_de_fenêtre_fiche_collab 6 6 163 21 0 Actif Gauche Centre +| LIB_Utilisateur | 0 8 | 36 15 | 0 | Actif | Gauche | Haut | | +| --------------- | --- | ----- | --- | ----- | ------ | ---- | --- | +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | | +| --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| BTN_ADD_USER_COLLAB | 998 | -30 24 | 24 | 0 | Actif | Normal | | +| --------------------------------- | ---- | ------- | --- | --- | ----- | ------- | ---- | +| BTN_ADD_USER_MOBILE | 1193 | -30 24 | 24 | 0 | Actif | Normal | | +| BTN_AfficheQrCode | 230 | 34 24 | 24 | 0 | Actif | Normal | | +| BTN_Attribuer_une_licence | 197 | 34 24 | 24 | 0 | Actif | Normal | | +| BTN_CADENAS_FERME_COLLAB | 4 | 4 24 | 24 | 0 | Actif | Normal | | +| BTN_CADENAS_OUVERT_COLLAB | 4 | 4 24 | 24 | 0 | Actif | Normal | | +| BTN_Fermer_User | 54 | 3 24 | 24 | 0 | Actif | Abandon | | +| BTN_Fermer_fiche_collaborateur | 4 | 4 24 | 24 | 0 | Actif | Abandon | | +| BTN_MODIF_USER_COLLAB | 24 | 3 24 | 24 | 0 | Actif | Normal | | +| BTN_Nouveau_Societe_Collab | 20 | 3 24 | 24 | 0 | Actif | Normal | | +| BTN_Nouveau_fiche_collaborateur | 4 | 4 24 | 24 | 0 | Actif | Normal | | +| BTN_Param_Email | 380 | 138 24 | 24 | 0 | Actif | Abandon | | +| BTN_Retirer_la_licence | 1090 | -45 24 | 24 | 0 | Actif | Normal | | +| BTN_Supprimer_fiche_collaborateur | 4 | 4 24 | 24 | 0 | Actif | Normal | | +| BTN_VAL_USER | 24 | 3 24 | 24 | 0 | Actif | Normal | | +| BTN_VAL_USERMOB | 1160 | -30 24 | 24 | 0 | Actif | Normal | | +| BTN_Valider_fiche_collaborateur | 4 | 4 24 | 24 | 0 | Actif | Normal | | +| 06/08/2026 | | Isis_BO | | | | | 2324 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| INT_ActifCollaborateur | | 19 12 | 62 | 25 | 0 | Actif | | 1 | | +| ---------------------- | --- | ------- | --- | --- | --- | ----- | --- | --- | --- | +| INT_Administrateur | | 136 103 | 118 | 25 | 0 | Actif | | 1 | | +| INT_AuPlanning | | 87 12 | 100 | 25 | 0 | Actif | | 1 | | +| INT_LICENCE_BO | | 19 5 | 171 | 28 | 0 | Actif | | 1 | | +| INT_LICENCE_MOBILE | | 19 36 | 171 | 28 | 0 | Actif | | 1 | | +Sélecteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruegraL ruetuaH +elbisiV +nalP +| SEL_AffichePlanning | | 268 31 | 136 | 48 | 0 | Actif | | 1 | | +| ------------------- | --- | ------- | --- | --- | --- | ----- | --- | --- | --- | +| SEL_Messagerie | | 267 116 | 96 | 46 | 0 | Actif | | 1 | | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | sucof cevA | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --------- | --- | ---------- | +| | | | | ruetuaH | | | cilc cevA | | | +| | | | ruegraL | | | elbisiV | | | | +nalP +| IMG_ICONE_CARACTERISTIQUES | | 4 | 7 16 | 16 | 0 | Actif | | | | +| -------------------------- | --- | --- | ---- | --- | --- | ----- | --- | --- | --- | +| IMG_ICONE_CARACTERISTIQUES | | 4 | 7 16 | 16 | 0 | Actif | | | | +| IMG_ICONE_CARACTERISTIQUES | | 4 | 7 16 | 16 | 0 | Actif | | | | +| IMG_ICONE_CARACTERISTIQUES | | 4 | 7 16 | 16 | 0 | Actif | | | | +| IMG_ICONE_CARACTERISTIQUES | | 4 | 7 16 | 16 | 0 | Actif | | | | +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 | | | | +| COMBO_Profil_User | 136 | 81 118 22 | 0 | Grisé | Variable | | Non | | | +| COMBO_Statut | 21 | 59 172 22 | 0 | Actif | Table ch | | Non | | | +| COMBO_nIDCivilite | 31 | 17 172 22 | 0 | Actif | Variable | | Non | | | +| 06/08/2026 | | | Isis_BO | | | | | | 2325 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Forme +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_CADRE_CARACTERISTIQUES | 0 | 0 215 | 174 | 0 | Actif | | +| --------------------------- | --- | ----- | --- | --- | ----- | --- | +| FRM_CADRE_CARACTERISTIQUES1 | 0 | 0 215 | 174 | 0 | Actif | | +| FRM_CADRE_CARACTERISTIQUES2 | 0 | 0 205 | 174 | 0 | Actif | | +| FRM_CADRE_CARACTERISTIQUES3 | 0 | 0 418 | 174 | 0 | Actif | | +| FRM_CADRE_CARACTERISTIQUES4 | 0 | 0 215 | 174 | 0 | Actif | | +| FRM_SansNom1 | 259 | 0 2 | 172 | 0 | Actif | | +Zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_CollabSociete | 0 | 0 215 | 174 | 0 | Actif | | +| ---------------- | --- | ----- | --- | --- | ----- | --- | +Disposition +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +DISP_BANDEAU_ENTETE_FICHE_COLLABORA +| | 0 | 0 1328 | 33 | 0 | Actif | | +| ------------------------ | --- | ------ | --- | --- | ----- | --- | +| DISP_COORD_COLLAB | 233 | 0 215 | 212 | 0 | Actif | | +| DISP_COORD_COLLAB_TETE | 0 | 0 215 | 32 | 0 | Actif | | +| DISP_FICHE_COLLABORATEUR | 0 | 0 1328 | 249 | 0 | Actif | | +| DISP_GEST_COLLAB | 687 | 0 205 | 212 | 0 | Actif | | +| DISP_GEST_COLLAB_TETE | 0 | 0 205 | 32 | 0 | Actif | | +| DISP_IDENT_COLLAB | 6 | 0 215 | 212 | 0 | Actif | | +| DISP_IDENT_COLLAB_TETE | 0 | 0 215 | 32 | 0 | Actif | | +| DISP_SOC_COLLAB | 460 | 0 215 | 212 | 0 | Actif | | +| DISP_SOC_COLLAB_TETE | 0 | 0 215 | 32 | 0 | Actif | | +| DISP_USER_BO | 904 | 0 418 | 216 | 0 | Actif | | +| DISP_USER_COLLAB_TETE | 0 | 0 418 | 32 | 0 | Actif | | +Zone répétée : +FI_Fiche_Collaborateur.DISP_FICHE_COLLABORATEUR.DISP_SOC_COLLAB.ZR_CollabSoci +| 06/08/2026 | | Isis_BO | | | | 2326 | +| ---------- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › 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_IDSociete | 109 8 | 50 | 14 0 | Grisé | Droite | Haut | | +| -------------- | ----- | --- | ---- | ----- | ------ | ------ | --- | +| LIB_NOMSOCIETE | 6 9 | 180 | 25 0 | Actif | Gauche | Centre | | +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | | +| --- | ---------- | ---------- | --------------- | --- | ------------ | --- | --- | +| | | | ruegraL ruetuaH | | | | | +elbisiV +nalP +| BTN_SupprimeSociete | 179 | 2 | 16 16 | 0 | Actif | Normal | | +| ------------------- | --- | --- | ----- | --- | ----- | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | ------------ | --------- | ---------- | +| | | | ruetuaH | | | cilc cevA | | +| | | ruegraL | | elbisiV | | | | +nalP +| IMG_Principal | 158 | 8 | 29 28 | 0 | Actif | | | +| ------------- | --- | --- | ----- | --- | ----- | --- | --- | +Attribut zone répétée +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | +| | X noitisoP | Y noitisoP | | | | | | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +ATT_Nom +Fenêtre : FI_Fiche_Collaborateur +Fenêtre interne : FI_Fiche_Collaborateur +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| ------------------------- | ---------------------------- | --- | ------- | --- | --- | --- | ---- | +| Unité des tailles | Compatible desktop ET mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Ancrage au contenu | | | | | | | | +| Numéro aide | 0 | | | | | | | +| Thème destination | Oui | | | | | | | +| 06/08/2026 | | | Isis_BO | | | | 2327 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › 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 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Fiche_Collaborateur +Bouton : FI_Fiche_Collaborateur.BTN_ADD_USER_COLLAB +Groupe GR_CADENAS_COLLAB +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 2328 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : FI_Fiche_Collaborateur.BTN_ADD_USER_MOBILE +Groupe GR_CADENAS_COLLAB +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2329 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Bouton : +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_QRCode.png +Nb. états image 5 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2330 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2331 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_COLLAB +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Cadenas_Fermer_rou +ge.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2332 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_COLLAB +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Cadenas.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2333 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Bouton : +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2334 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Bouton : +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2335 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Bouton : +Groupe GR_USEREXIST +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2336 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Bouton : +Groupe GR_CADENAS_COLLAB +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2337 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Bouton : +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2338 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Bouton : +Groupe GR_CADENAS_COLLAB +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Paramétrage.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2339 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Bouton : FI_Fiche_Collaborateur.BTN_Retirer_la_licence +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_supprimer.png +Nb. états image 5 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2340 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Bouton : +Groupe GR_CADENAS_COLLAB +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2341 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Bouton : +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2342 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Bouton : FI_Fiche_Collaborateur.BTN_VAL_USERMOB +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2343 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Bouton : +Groupe GR_CADENAS_COLLAB +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2344 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Combo : +Groupe GR_USER +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 116 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 1040 +Largeur interne 116 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Civilité du contact +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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 +06/08/2026 Isis_BO 2345 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Liaison des données :gclPresentationFicheCollab.FicheUtilisateur.m_nIDTypeProfil +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeProfilUser.m_clTabVisible +Filtre 01 +Rub. affichée :gpclListeProfilUser.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeProfilUser.m_clTabVisible.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : +Groupe GR_CADENAS_COLLAB +Ordre navigation 3 +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 172 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 708 +Largeur interne 172 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Civilité du contact +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Isis_BO 2346 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +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. +Avec recherche Non +Liaison des données :gclPresentationFicheCollab.m_nStatut +Nb. Enreg. Max 0 +Fichier parcouru ParametreMetier +Rub. parcourue -PA_Code +Filtre 20 +Rub. affichée PA_Libelle +Rub. mémorisée PA_PKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : +Libellé FR: Civilité +Groupe GR_CADENAS_COLLAB +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 +06/08/2026 Isis_BO 2347 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 172 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 37 +Largeur interne 172 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Civilité du contact +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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 Oui +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. +Avec recherche Non +Liaison des données :gclPresentationFicheCollab.m_nIDCivilite +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeCivilite.m_clTabModele +Filtre 01 +Rub. affichée :gpclListeCivilite.m_clTabModele.m_sLibelle +06/08/2026 Isis_BO 2348 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Rub. mémorisée :gpclListeCivilite.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 2349 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › 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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2350 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Disposition : FI_Fiche_Collaborateur.DISP_FICHE_COLLABORATEUR +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Collaborateur.DISP_FICHE_COLLABORATEUR.DISP_GEST_COLLAB +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +06/08/2026 Isis_BO 2351 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +06/08/2026 Isis_BO 2352 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Collaborateur.DISP_FICHE_COLLABORATEUR.DISP_SOC_COLLAB +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 2353 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Facteur d'agrandissement 0 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Collaborateur.DISP_FICHE_COLLABORATEUR.DISP_USER_BO +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +06/08/2026 Isis_BO 2354 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2355 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2356 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2357 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Vertical +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_CARACT.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Isis_BO 2358 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_batiment.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +06/08/2026 Isis_BO 2359 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_login.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2360 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_COORDONNEE.pn +g +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_gestion.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 2361 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : +Libellé FR: Actif +Valeur initiale 0 +Groupe GR_CADENAS_COLLAB +Ordre navigation 3 +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 +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 Toute la hauteur de l'option +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 +06/08/2026 Isis_BO 2362 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Saisie obligatoire (erreur) : Picto Non +Valeur persistante Non +Option multilignes Non +Option format RTF Non +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFicheCollab.m_bActif +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : +Libellé FR: Administrateur +Valeur initiale 0 +Groupe GR_CADENAS_COLLAB +Ordre navigation 3 +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 +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 Toute la hauteur de l'option +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 +06/08/2026 Isis_BO 2363 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Mode menu ctx. +Liaison des données :gclPresentationFicheCollab.FicheUtilisateur.m_bAdministrateur +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : +Libellé FR: Au Planning +Valeur initiale 0 +Groupe GR_CADENAS_COLLAB +Ordre navigation 3 +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 +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 Toute la hauteur de l'option +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. +Liaison des données :gclPresentationFicheCollab.m_bAuPlanning +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +06/08/2026 Isis_BO 2364 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : +Libellé FR: Au Planning +Valeur initiale 0 +Groupe GR_USER +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 +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 Toute la hauteur de l'option +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 Oui +Option format RTF Non +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFicheCollab.m_bUtiliseBO +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2365 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_USER +Ordre navigation -1 +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 +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Titre aide FR: Accès +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 Oui +Option format RTF Non +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFicheCollab.m_bUtiliseMob +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2366 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Libellé : +Libellé FR: Affichage par défaut +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Messagerie par défaut +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 +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 +06/08/2026 Isis_BO 2367 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Identité +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2368 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Libellé : +Libellé FR: Civilité +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Confirmation +Groupe GR_NEWUSER,GR_USERGRISE +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 2369 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Coordonnées +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2370 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Libellé : +Libellé FR: Email +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Fonction +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 +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 +06/08/2026 Isis_BO 2371 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Gestion +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2372 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Libellé : +Libellé FR: Login +Groupe GR_USERGRISE +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Collaborateur.DISP_FICHE_COLLABORATEUR.DISP_USER_BO.LIB_MDP +Libellé FR: Mot de passe +Groupe GR_USEREXIST,GR_NEWUSER,GR_USERGRISE +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Isis_BO 2373 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Nom +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2374 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Libellé : +Libellé FR: Pondération temps passé +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Prénom +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 +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 +06/08/2026 Isis_BO 2375 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Profil +Groupe GR_USERGRISE +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2376 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Libellé : +Libellé FR: Société +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Statut +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 +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 +06/08/2026 Isis_BO 2377 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Téléphone fixe +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2378 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Libellé : +Libellé FR: Téléphone 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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Trigramme +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 +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 +06/08/2026 Isis_BO 2379 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Titre +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2380 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Libellé : +Libellé FR: Accès +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Confirmation mot de passe +Groupe GR_USER +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +06/08/2026 Isis_BO 2381 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Cadrage horz. Gauche +Position X interne 1040 +Largeur interne 116 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Mot de passe +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 +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. +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 +06/08/2026 Isis_BO 2382 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_USER +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 923 +Largeur interne 109 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Texte d'indication si vide FR: Aucun utilisateur +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2383 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +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. +Liaison des données :gclPresentationFicheCollab.FicheUtilisateur.m_sLogin +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Mot de passe +Groupe GR_USER +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +06/08/2026 Isis_BO 2384 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 925 +Largeur interne 109 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Mot de passe +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 +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. +Liaison des données :gclPresentationFicheCollab.FicheUtilisateur.MotDePasseAffichage +Gestion Euro Non +06/08/2026 Isis_BO 2385 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Email +Groupe GR_CADENAS_COLLAB +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 708 +Largeur interne 63 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Email du collaborateur +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 50 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +Lien automatique Non +06/08/2026 Isis_BO 2386 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › 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 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. +Liaison des données :gclPresentationFicheCollab.m_sTrigramme +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2387 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Champ de saisie : +Libellé FR: Pondération +Groupe GR_CADENAS_COLLAB +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 708 +Largeur interne 136 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Texte d'indication si vide FR: Téléphone mobile du collaborateur +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: 9,99 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2388 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +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. +Liaison des données :gclPresentationFicheCollab.m_rPonderation +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Email +Groupe GR_CADENAS_COLLAB +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 264 +Largeur interne 169 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Email du collaborateur +Numéro aide 0 +06/08/2026 Isis_BO 2389 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › 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 50 +Masque saisie FR: 27 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFicheCollab.m_sEmail +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 +06/08/2026 Isis_BO 2390 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Fonction +Groupe GR_CADENAS_COLLAB +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 37 +Largeur interne 172 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Fonction du collaborateur +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 50 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2391 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › 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 +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. +Liaison des données :gclPresentationFicheCollab.m_sFonction +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Nom +Groupe GR_CADENAS_COLLAB +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +06/08/2026 Isis_BO 2392 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Position X interne 37 +Largeur interne 172 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Nom du collaborateur +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 50 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFicheCollab.m_sNom +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 +06/08/2026 Isis_BO 2393 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Prénom +Groupe GR_CADENAS_COLLAB +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 37 +Largeur interne 172 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Prénom du collaborateur +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 50 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2394 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +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. +Liaison des données :gclPresentationFicheCollab.m_sPrenom +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Téléphone fixe +Groupe GR_CADENAS_COLLAB +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +06/08/2026 Isis_BO 2395 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 264 +Largeur interne 169 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Téléphone fixe du collaborateur +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 15 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +06/08/2026 Isis_BO 2396 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Liaison des données :gclPresentationFicheCollab.m_sTelFixe +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Téléphone mobile +Groupe GR_CADENAS_COLLAB +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 264 +Largeur interne 169 +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 15 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +06/08/2026 Isis_BO 2397 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +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. +Liaison des données :gclPresentationFicheCollab.m_sTelMobile +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2398 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Sélecteur : +Libellé FR: &Sélecteur +Valeur initiale 1 +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec ValeurRenvoyée Oui +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 Toute la hauteur de l'option +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. +Liaison des données :gclPresentationFicheCollab.FicheUtilisateur.p_PrefPlanningAgenda.m_sValeur +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2399 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Sélecteur : +Libellé FR: &Sélecteur +Valeur initiale 1 +Ordre navigation 5 +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 +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 Toute la hauteur de l'option +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. +Liaison des données :gclPresentationFicheCollab.FicheUtilisateur.p_PrefMessagerie.m_sValeur +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2400 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Zone répétée : +Libellé FR: Société +Groupe GR_CADENAS_COLLAB +Ordre navigation -1 +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 +Hauteur ligne max. 0 +Hauteur ligne 36 +Largeur colonne 198 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +06/08/2026 Isis_BO 2401 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Nb. Enreg. Max 0 +Parcours Automatique +Fichier parcouru :gclPresentationFicheCollab.ListeSociete.m_clTabModele +Rub. mémorisée :gclPresentationFicheCollab.ListeSociete.m_clTabModele +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : +FI_Fiche_Collaborateur.DISP_FICHE_COLLABORATEUR.DISP_SOC_COLLAB.ZR_CollabSoci +Attribut zone répétée : +Champ associé LIB_NOMSOCIETE +Propriété associée 1 +Liaison des données :gclPresentationFicheCollab.ListeSociete.m_clTabModele.m_clSociete.m_sNom +Bouton : +Ordre navigation -1 +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 +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 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Isis_BO 2402 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Type flèche +Texte Markdown Non +Mode menu ctx. +Nb. états image 5 +Image fond FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_16_5_fermer.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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\société.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2403 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Libellé : +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 +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 Numérique +Masque saisie FR: 9 999 999 999 999 999 999 +Mode ellipse +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 Non +Texte Markdown Non +Liaison des données :gclPresentationFicheCollab.ListeSociete.m_clTabModele.m_clSociete.m_nPKID +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Libellé +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 2404 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheCollab.ListeSociete.m_clTabModele.m_clSociete.m_sNom +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_Fiche_Collaborateur +Messages multilingues +06/08/2026 Isis_BO 2405 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +2001 FR: Confirmez vous la suppression ? +2002 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FI_Fiche_Collaborateur +Code des champs +Déclarations globales de FI_Fiche_Collaborateur +procédure FI_Fiche_Collaborateur(gclPresentationFicheCollab est un PFicheCollaborateur dynamique< +présentation>=Null, paramSupplementaire est un STParamFenetreAppelante=Null) +gpclPresenListeCollabSociete est un PTableSociete_Collaborateur dynamique// +gnDelai est un entier +gbAppelProcFenAppelante est un booléen +Evénement(SurActivite, "*.*", WM_LBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_RBUTTONDOWN) + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Code des champs +Evénement(SurActivite, "*.*", WM_MBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_MOUSEMOVE) +Evénement(SurActivite, "*.*", WM_KEYDOWN) +//Titre de la fenêtre +LIB_Titre_de_fenêtre_fiche_collaborateur = paramSupplementaire.eTypeAppel=Libre _et_ +gclPresentationFicheCollab:m_nPKID = 0 ? "Nouveau collaborateur" sinon paramSupplementaire.s +TitreFenetre<>"" ? paramSupplementaire.sTitreFenetre sinon "Collaborateur" +local +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentationFicheCollab=Null alors +gclPresentationFicheCollab=PFicheCollaborateur.gNouvellePresentation() +fin +gnDelai = DonneValeurTimeOutObjet(gclPresentationFicheCollab) +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.sNomIDAppelant="SocieteCollaborateur" +_et_ paramSupplementaire:pclObjetAppelant<>Null alors +PFicheCollaborateur.gListeSociete(gclPresentationFicheCollab,Vrai,paramSupplementaire:pcl +ObjetAppelant:m_nIdLie) +sinon +PFicheCollaborateur.gListeSociete(gclPresentationFicheCollab,Vrai,0) +fin +PFicheCollaborateur.gFicheUtilisateur(gclPresentationFicheCollab) +PFicheUtilisateur.gListeParamUtilisateur(gclPresentationFicheCollab:FicheUtilisateur) +BlocEnregistrement(gclPresentationFicheCollab,ActiveTimer,BTN_CADENAS_FERME_COLLAB,BTN_ +CADENAS_OUVERT_COLLAB,GR_CADENAS_COLLAB,DISP_FICHE_COLLABORATEUR) +Demande de mise à jour de l'affichage de FI_Fiche_Collaborateur +si gclPresentationFicheCollab<>Null alors +SourceVersEcran("","gclPresentationFicheCollab") +// affiche la table et restauration de la position courante +MAJChampZREtObjet(ZR_CollabSociete,gclPresentationFicheCollab.ListeSociete.p_clCourant) +//BTN_ADD_USER_COLLAB..Visible += gclPresentationFicheCollab.FicheUtilisateur:IdentifiantUnique=0 +//BTN_MODIF_USER_COLLAB..Visible += gclPresentationFicheCollab:m_bUtiliseBO _ET_ SAI_LOGIN<>""//PAS +gclPresentationFicheCollab.FicheUtilisateur:IdentifiantUnique=0 +bCollabExiste est un booléen = gclPresentationFicheCollab:m_nPKID>0 _et_ +gclPresentationFicheCollab:m_sNom<>"" et gclPresentationFicheCollab:m_sPrenom<>"" +//BTN_MODIF_USER_COLLAB..Etat = BTN_MODIF_USER_COLLAB..Visible _et_ ? Grisé SINON Actif +INT_LICENCE_BO..Etat = bCollabExiste _et_ gpclFicheUtilisateurEnCours:m_b +Administrateur ? Actif sinon Grisé +INT_LICENCE_MOBILE..Etat = bCollabExiste _et_ gpclFicheUtilisateurEnCours:m_b +Administrateur ? Actif sinon Grisé +SAI_LOGIN..Etat = bCollabExiste _et_ gpclFicheUtilisateurEnCours:m_b +Administrateur _et_ BTN_VAL_USER..Visible ? Actif sinon Grisé +COMBO_Profil_User..Etat = bCollabExiste _et_ gpclFicheUtilisateurEnCours:m_b +Administrateur _et_ BTN_VAL_USER..Visible ? Actif sinon Grisé +// SAI_MDP..Etat += SAI_LOGIN..Etat=Actif _ou_ (bCollabExiste _ET_ BTN_VAL_USER..Visible _et_ +gclPresentationFicheCollab.FicheUtilisateur<>null _et_ +gpclFicheUtilisateurEnCours:m_nPKID=gclPresentationFicheCollab.FicheUtilisateur:m_nPKID) +// SAI_CONFIRMATION_MDP..Etat = SAI_MDP..Etat +06/08/2026 Isis_BO 2406 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Code des champs +SEL_AffichePlanning..Etat = SAI_LOGIN..Etat=Actif _et_ gclPresentationFicheCollab:m_b +UtiliseBO ? Actif sinon Grisé +//gclPresentationFicheCollab:m_bUtiliseBO _et_ (gpclFicheUtilisateurEnCours:m_bAdministrateur _ou_ +gpclFicheUtilisateurEnCours:m_nPKID=gclPresentationFicheCollab.FicheUtilisateur:m_nPKID) ? actif +SINON Grisé +SEL_Messagerie..Etat = SAI_LOGIN..Etat=Actif _et_ gclPresentationFicheCollab:m_b +UtiliseBO ? Actif sinon Grisé +//gclPresentationFicheCollab:m_bUtiliseBO _ET_ (gpclFicheUtilisateurEnCours:m_bAdministrateur _OU_ +gpclFicheUtilisateurEnCours:m_nPKID=gclPresentationFicheCollab.FicheUtilisateur:m_nPKID) ? Actif +SINON Grisé +BTN_MODIF_USER_COLLAB..Visible = ((gclPresentationFicheCollab:m_bUtiliseBO _ou_ +gclPresentationFicheCollab:m_bUtiliseMob) _et_ SAI_LOGIN<>"") _et_ (gpclFicheUtilisateurEnCours:m_b +Administrateur _ou_ (gclPresentationFicheCollab.FicheUtilisateur<>Null _et_ gpcl +FicheUtilisateurEnCours:m_nPKID=gclPresentationFicheCollab.FicheUtilisateur:m_nPKID)) +BTN_AfficheQrCode..Visible = gclPresentationFicheCollab:m_bUtiliseMob +SAI_MDP..Visible = SAI_LOGIN..Etat=Actif _ou_ (bCollabExiste _et_ BTN_VAL_USER.. +Visible _et_ gclPresentationFicheCollab.FicheUtilisateur<>Null _et_ gpclFicheUtilisateurEnCours:m_n +PKID=gclPresentationFicheCollab.FicheUtilisateur:m_nPKID) +LIB_MDP..Visible = SAI_MDP..Visible +SAI_CONFIRMATION_MDP..Visible = SAI_MDP..Visible +LIB_CONFIRMATION_MDP..Visible = SAI_MDP..Visible +BTN_Param_Email..Visible = SEL_Messagerie="Back-Office" +INT_LICENCE_MOBILE[1]..Libellé = gclPresentationFicheCollab:m_bUtiliseMob=Faux ? +"Aucune licence mobile" sinon "Licence mobile attribuée" +INT_LICENCE_BO[1]..Libellé = gclPresentationFicheCollab:m_bUtiliseBO=Faux ? +"Aucune licence bureau" sinon "Licence bureau attribuée" +SocietePrincipal() +// +//Par défaut l'état est actif sauf si le collaborateur n'existe pas encore en base +// GR_USER..Etat += gclPresentationFicheCollab:m_nPKID>0 _ET_ gclPresentationFicheCollab:m_sNom<>"" ET +gclPresentationFicheCollab:m_sPrenom<>"" ? Actif SINON Grisé +// GR_USEREXIST..Visible += PAS gclPresentationFicheCollab.FicheUtilisateur:IdentifiantUnique=0 +// GR_USEREXIST..Etat += gclPresentationFicheCollab:m_bUtiliseBO=Faux _ET_ SAI_LOGIN<>"" ? Grisé SINON Actif +// GR_NEWUSER..Visible += gclPresentationFicheCollab.FicheUtilisateur:m_bNouveau _et_ btn_val_user..Visible +// GR_USERGRISE..Etat = BTN_VAL_USER..Visible ? Actif SINON Grisé +// GR_NEWUSER..Etat = BTN_VAL_USER..Visible ? Actif SINON Grisé +// INT_LICENCE_BO..Etat += GR_USER..Etat=grisé _ou_ (gclPresentationFicheCollab:m_bUtiliseBO=faux _et_ SAI_LOGIN<>"") ? grisé +SINON actif +// //INT_LICENCE_BO[1] = +// //BTN_MODIF_USER_MOB..Visible += gclPresentationFicheCollab:m_bUtiliseMob _ET_ SAI_CLE_MOBILE<>""//PAS +gclPresentationFicheCollab.FicheUtilisateur:IdentifiantUnique=0 +// //GR_USERMOBEXIST..Visible += gclPresentationFicheCollab:m_bUtiliseMob _ET_ +gclPresentationFicheCollab.FicheUtilisateur:m_sCleLicenceMobile<>""//PAS +gclPresentationFicheCollab.FicheUtilisateur:IdentifiantUnique=0 +// //GR_USERMOBEXIST..Etat += gclPresentationFicheCollab:m_bUtiliseMob=Faux _ET_ +gclPresentationFicheCollab.FicheUtilisateur:m_sCleLicenceMobile<>"" ? Grisé SINON Actif +// INT_LICENCE_BO[1]..Libellé += gclPresentationFicheCollab:m_bUtiliseBO=Faux ? "Aucune licence bureau" SINON "Licence bureau +attribuée" +06/08/2026 Isis_BO 2407 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Code des champs +// INT_LICENCE_MOBILE[1]..Libellé += gclPresentationFicheCollab:m_bUtiliseMob=Faux ? "Aucune licence mobile" SINON "Licence mobile +attribuée" +// //INT_LICENCE_MOBILE..Etat += gclPresentationFicheCollab:m_bUtiliseMob=Faux _ET_ +gclPresentationFicheCollab.FicheUtilisateur:m_sCleLicenceMobile<>"" ? Grisé SINON Actif +// BTN_Attribuer_une_licence..Visible += faux //gclPresentationFicheCollab:m_bUtiliseMob=Faux _ET_ +gclPresentationFicheCollab.FicheUtilisateur:m_sCleLicenceMobile= "" +// BTN_Retirer_la_licence..Visible = faux //pas BTN_Attribuer_une_licence..Visible +// //BTN_MODIF_USER_COLLAB..Visible = BTN_VAL_USER..Visible +// BTN_AfficheQrCode..Visible += gclPresentationFicheCollab:m_bUtiliseMob//BTN_Attribuer_une_licence..Visible +// SEL_AffichePlanning..Etat += gclPresentationFicheCollab:m_npkid=gpclFicheUtilisateurEnCours:m_nPKID ? actif SINON Grisé +// SEL_Messagerie..Etat += gclPresentationFicheCollab:m_nPKID=gpclFicheUtilisateurEnCours:m_nPKID ? Actif SINON Grisé +fin +Fermeture de FI_Fiche_Collaborateur +DeblocEnregistrement(gclPresentationFicheCollab,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_COLLAB,BTN_CADENAS_OUVERT_COLLAB,GR_CADENAS_COLLAB,DISP_FICHE_COLLABORATEUR,Faux,*,pas gb +AppelProcFenAppelante) +si pas gbAppelProcFenAppelante alors +fin +Clic sur BTN_ADD_USER_COLLAB +bContinue est un booléen=Vrai +bCreateUser est un booléen=Vrai +si HLitRecherchePremier(ParametreSysteme,PAS_Code,"LICENCE") alors +stEnregLicence est un STJSONLicence +Désérialise(stEnregLicence,ParametreSysteme.PAS_Valeur,psdJSON) +bContinue = stEnregLicence:nBLicenceDesktopRestante>0 +si pas bContinue alors +Erreur("Vous ne pouvez pas créer de nouvel utilisateur","Le nombre de licence a été atteint") +sinon +si gclPresentationFicheCollab:FicheUtilisateur:m_sLogin="" alors +SAI_LOGIN = gclPresentationFicheCollab:m_sTrigramme +SAI_MDP = SAI_LOGIN +SAI_CONFIRMATION_MDP = SAI_MDP +ListeSelectPlus(COMBO_Profil_User,4) +EcranVersSource() +bCreateUser = Vrai +fin +fin +si bContinue alors +bContinue = EnregistreFiche() +si SAI_LOGIN..Etat=Grisé alors +bContinue = EnregistreFicheUser() +fin +si bContinue alors +stEnregLicence:nBLicenceDesktopRestante -= 1 +bufLicence est un Buffer +Sérialise(stEnregLicence,bufLicence,psdJSON) +si HLitRecherchePremier(ParametreSysteme,PAS_Code,"LICENCE") alors +06/08/2026 Isis_BO 2408 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Code des champs +ParametreSysteme.PAS_Valeur = bufLicence +HModifie(ParametreSysteme,hNumEnrEnCours) +fin +sinon si bCreateUser alors +clerreur est un CErreur +gclPresentationFicheCollab:FicheUtilisateur:bSupprimer(clerreur) +fin +si bContinue alors +BTN_ADD_USER_COLLAB..Visible=Faux +GR_NEWUSER..Visible = Vrai +BTN_VAL_USER..Visible=Vrai +GR_USERGRISE..Etat = Actif +GR_NEWUSER..Etat = Actif +BTN_Fermer_User..Visible=Vrai +ListeSelectPlus(COMBO_Profil_User,4) +fin +fin +fin +//EnregistreFiche() +//nIDCollab est une entier sur 8 octets=gclPresentationFicheCollab.IdentifiantUnique +//clPresentation est un PTableSociete_Collaborateur <-gpclPresenListeCollabSociete +//clPresentation=OuvrePopupPosition(FEN_Choix_societe_Collaborateur,poBas,clPresentation,nIDCollab) +//gpclPresenListeCollabSociete <-clPresentation +//AffecterCollaborateur() +//ZONEREPETEEAFFICHE(ZR_CollabSociete,taInit) +//DemandeMiseAJourIHM() +Clic sur BTN_ADD_USER_MOBILE +bContinue est un booléen=Vrai +si HLitRecherchePremier(ParametreSysteme,PAS_Code,"LICENCE") alors +stEnregLicence est un STJSONLicence +Désérialise(stEnregLicence,ParametreSysteme.PAS_Valeur,psdJSON) +bContinue = stEnregLicence:nBLicenceMobileRestante>0 +si pas bContinue alors +Erreur("Vous ne pouvez pas créer de nouvel utilisateur mobile", +"Le nombre de licence a été atteint") +fin +fin +si bContinue alors +BTN_ADD_USER_MOBILE..Visible=Faux +BTN_VAL_USERMOB..Visible=Vrai +//BTN_Fermer_UserMob..visible=vrai +ListeSelectPlus(COMBO_Profil_User,4) +fin +//EnregistreFiche() +//nIDCollab est une entier sur 8 octets=gclPresentationFicheCollab.IdentifiantUnique +//clPresentation est un PTableSociete_Collaborateur <-gpclPresenListeCollabSociete +//clPresentation=OuvrePopupPosition(FEN_Choix_societe_Collaborateur,poBas,clPresentation,nIDCollab) +//gpclPresenListeCollabSociete <-clPresentation +//AffecterCollaborateur() +//ZONEREPETEEAFFICHE(ZR_CollabSociete,taInit) +//DemandeMiseAJourIHM() +Clic sur BTN_Retirer_la_licence +si gclPresentationFicheCollab.FicheUtilisateur.m_sCleLicenceMobile="" alors retour +si pas OuiNon("Retirer la licence mobile de cet utilisateur ?", +"La licence ainsi libérée sera disponible pour un autre utilisateur") alors retour +si LicenceRetire() alors +06/08/2026 Isis_BO 2409 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Code des champs +EnregistreLicenceMobile() +EnregistreFiche() +clErreur est un CErreur +// validation +si pas gclPresentationFicheCollab:FicheUtilisateur.bOK(clErreur) alors +Erreur(clErreur.FormateMessage()) +fin +DemandeMiseAJourIHM() +fin +Clic sur BTN_VAL_USERMOB +clErreur est un CErreur +gclPresentationFicheCollab:FicheUtilisateur:m_nIDCollaborateur = gclPresentationFicheCollab: +IdentifiantUnique +gclPresentationFicheCollab:FicheUtilisateur:m_sLogin = SAI_LOGIN +// gclPresentationFicheCollab:FicheUtilisateur:m_sCleLicenceMobile = SAI_CLE_MOBILE +gclPresentationFicheCollab:FicheUtilisateur:m_nIDTypeProfil = COMBO_Profil_User.. +ValeurMémorisée +gclPresentationFicheCollab:FicheUtilisateur:m_nIDSocietePrincipale=gclPresentationFicheCollab. +ListeSociete.m_clTabModele[1].m_clSociete.m_nPKID +gclPresentationFicheCollab:FicheUtilisateur:m_bAccesBO = gclPresentationFicheCollab: +m_bUtiliseBO +gclPresentationFicheCollab:FicheUtilisateur:m_bAccesMobile = gclPresentationFicheCollab: +m_bUtiliseMob +// validation +si pas gclPresentationFicheCollab:FicheUtilisateur.bOK(clErreur) alors +//PAS gclPresentationFicheCollab:FicheUtilisateur.bOK(clErreur,Vrai) +Erreur(clErreur.FormateMessage()) +retour +fin +BTN_VAL_USERMOB..Visible=Faux +DemandeMiseAJourIHM() +Clic sur BTN_CADENAS_FERME_COLLAB +si 1=BlocEnregistrement(gclPresentationFicheCollab,ActiveTimer,BTN_CADENAS_FERME_COLLAB,BTN_ +CADENAS_OUVERT_COLLAB,GR_CADENAS_COLLAB,DISP_FICHE_COLLABORATEUR) +si pas AppelProcFenetreAppelante(gclPresentationFicheCollab,paramSupplementaire,Faux,Faux,Vrai) +alors +DeblocEnregistrement(gclPresentationFicheCollab,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_COLLAB,BTN_CADENAS_OUVERT_COLLAB,GR_CADENAS_COLLAB,DISP_FICHE_COLLABORATEUR,Faux) +fin +fin +Clic sur BTN_CADENAS_OUVERT_COLLAB +DeblocEnregistrement(gclPresentationFicheCollab,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_COLLAB,BTN_CADENAS_OUVERT_COLLAB,GR_CADENAS_COLLAB,DISP_FICHE_COLLABORATEUR,Faux) +Clic sur BTN_Fermer_fiche_collaborateur +06/08/2026 Isis_BO 2410 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Code des champs +si paramSupplementaire.eTypeAppel=DansChampFI alors +// +SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,Null) +AppelProcFenetreAppelante(gclPresentationFicheCollab,paramSupplementaire,Faux,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon si paramSupplementaire.eTypeAppel=DansFenetre +Ferme(FEN_ChoixFenetreInterne,0) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon +FermeVoletEtActiveLePrecedent(VoletDuChamp(DISP_FICHE_COLLABORATEUR)) +fin +Clic sur BTN_Nouveau_fiche_collaborateur +pclPresentationFiche est un PFicheCollaborateur dynamique +si paramSupplementaire.eTypeAppel=DansOnglet _et_ paramSupplementaire.sNomIDAppelant= +"ListeCollaborateur" alors +pclPresentationFiche <-paramSupplementaire.pclObjetAppelant.Nouveau() +FEN_Menu.OuvreOuActive(FI_Fiche_Collaborateur,"Fiche collaborateur",*,pclPresentationFiche, +DonneParam(paramSupplementaire)) +sinon +pclPresentationFiche <-PFicheCollaborateur.gNouvellePresentation() +FEN_Menu.OuvreOuActive(FI_Fiche_Collaborateur,"Fiche collaborateur",*,pclPresentationFiche) +fin +Clic sur BTN_Supprimer_fiche_collaborateur +si OuiNon("Confirmez vous la suppression ?")=Non alors +retour +fin +si paramSupplementaire.eTypeAppel dans (DansChampFI,DansFenetre) _et_ paramSupplementaire. +gProcMAJRetour<> Null alors +clErreur est un CErreur +paramSupplementaire.pclObjetAppelant.bSupprimer(clErreur) +si paramSupplementaire.eTypeAppel=DansChampFI alors +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon si paramSupplementaire.eTypeAppel=DansFenetre alors +Ferme(FEN_ChoixFenetreInterne,0) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +fin +//paramSupplementaire.gProcMAJRetour("BTN_Supprimer_Liste_Collaborateur",gclPresentationFicheCollab +:FicheEnCours) +//ExécuteTraitement(BTN_Fermer_fiche_collaborateur,trtClic) +//SINON +// clErreur est un CErreur +// +// SI PAS gclPresentationFicheCollab.bSupprimer(clErreur) ALORS +// Erreur(clErreur.FormateMessage()) +// SINON +// +// +// ExécuteTraitement(BTN_Fermer_fiche_collaborateur,trtClic) +// FIN +fin +Clic sur BTN_Valider_fiche_collaborateur +si paramSupplementaire.eTypeAppel=DansChampFI _et_ EnregistreFiche() alors +06/08/2026 Isis_BO 2411 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Code des champs +// +SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheCollab) +AppelProcFenetreAppelante(gclPresentationFicheCollab,paramSupplementaire,Vrai,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +//FermeVoletEtActiveLePrecedent(VoletDuChamp(DISP_FICHE_COLLABORATEUR)) +sinon si paramSupplementaire.eTypeAppel=DansOnglet _et_ EnregistreFiche() alors +//SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheCollab +) +AppelProcFenetreAppelante(gclPresentationFicheCollab,paramSupplementaire,Vrai,Vrai) +FermeVoletEtActiveLePrecedent(VoletDuChamp(DISP_FICHE_COLLABORATEUR)) +sinon si paramSupplementaire.eTypeAppel=DansFenetre _et_ EnregistreFiche() alors +Ferme(MaFenêtre,0) +sinon si pas paramSupplementaire.eTypeAppel dans (DansChampFI,DansOnglet,DansFenetre) alors +EnregistreFiche() +fin +Sortie de SAI_sEmail +EnregistreFiche() +A chaque modification de SAI_sEmail +ChampVersSource() +Sortie de SAI_sTelFixe +EnregistreFiche() +A chaque modification de SAI_sTelFixe +ChampVersSource() +Sortie de SAI_sTelMobile +EnregistreFiche() +A chaque modification de SAI_sTelMobile +ChampVersSource() +Fin d'initialisation de COMBO_Statut +si gclPresentationFicheCollab.m_nStatut=0 alors +06/08/2026 Isis_BO 2412 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Code des champs +ListeSelectPlus(COMBO_Statut,1) +fin +Sortie de COMBO_Statut +EnregistreFiche() +Sélection d'une ligne de COMBO_Statut +ChampVersSource() +Sortie de INT_ActifCollaborateur +EnregistreFiche() +A chaque modification de INT_ActifCollaborateur +ChampVersSource() +Sortie de INT_AuPlanning +EnregistreFiche() +A chaque modification de INT_AuPlanning +ChampVersSource() +Sortie de SAI_rPonderation +EnregistreFiche() +A chaque modification de SAI_rPonderation +ChampVersSource() +Sortie de SAI_TRIGRAMME +strigramme est une chaîne +strigramme=SAI_TRIGRAMME +HLitRecherchePremier(Collaborateur,CO_Trigramme,strigramme) +si HTrouve(Collaborateur) alors +strigramme=Gauche(SAI_sPrenom,2)+Gauche(SAI_sNom,1) +HLitRecherchePremier(Collaborateur,CO_Trigramme,strigramme) +si HTrouve(Collaborateur) alors +SAI_TRIGRAMME="" +Info("Ce trigramme existe déjà, merci d'en créer un nouveau") +sinon +SAI_TRIGRAMME=strigramme +EnregistreFiche() +fin +sinon +SAI_TRIGRAMME=strigramme +06/08/2026 Isis_BO 2413 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Code des champs +EnregistreFiche() +fin +A chaque modification de SAI_TRIGRAMME +ChampVersSource() +Fin d'initialisation de COMBO_nIDCivilite +si gclPresentationFicheCollab.m_nIDCivilite=0 alors +ListeSelectPlus(COMBO_nIDCivilite,1) +fin +Sortie de COMBO_nIDCivilite +EnregistreFiche() +Sélection d'une ligne de COMBO_nIDCivilite +ChampVersSource() +Sortie de SAI_sFonction +EnregistreFiche() +A chaque modification de SAI_sFonction +ChampVersSource() +Sortie de SAI_sNom +gclPresentationFicheCollab:CalculTrigramme() +EnregistreFiche() +A chaque modification de SAI_sNom +ChampVersSource() +Sortie de SAI_sPrenom +gclPresentationFicheCollab:CalculTrigramme() +EnregistreFiche() +A chaque modification de SAI_sPrenom +ChampVersSource() +Clic sur BTN_Nouveau_Societe_Collab +06/08/2026 Isis_BO 2414 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Code des champs +//EnregistreFiche() +//nIDCollab est une entier sur 8 octets=gclPresentationFicheCollab.IdentifiantUnique +//clPresentation est un PTableSociete_Collaborateur dynamique//<-gpclPresenListeCollabSociete +si gpclListeSociete:p_nTotal>0 alors +gclPresentationFicheCollab:ListeSociete=OuvrePopupPosition(FEN_Choix_Societe_Collaborateur,poBas, +gclPresentationFicheCollab:ListeSociete,gclPresentationFicheCollab.IdentifiantUnique) +//gpclPresenListeCollabSociete <-clPresentation +//AffecterCollaborateur() +ZoneRépétéeAffiche(ZR_CollabSociete,taInit) +DemandeMiseAJourIHM() +sinon +Info("Aucune société n'existe") +fin +Initialisation de ZR_CollabSociete +//SourceVersEcran() +Fin d'initialisation de ZR_CollabSociete +SocietePrincipal() +Affichage d'une ligne de ZR_CollabSociete +//HLitRecherchePremier(Societe,SO_PKID,ATT_IdSociete) +//si htrouve(Societe) alors +//ATT_Nom=Societe.SO_Nom +//fin +Sélection d'une ligne de ZR_CollabSociete +gclPresentationFicheCollab.ListeSociete.p_clCourant=ZR_CollabSociete +Clic sur BTN_SupprimeSociete ( ZR_CollabSociete ) +si ZR_CollabSociete..Occurrence>1 _et_ OuiNon("Confirmez vous la suppression ?")=Non alors +retour +sinon si ZR_CollabSociete..Occurrence<=1 alors +Info("Vous devez avoir au moins une société de rattaché.") +retour +fin +// gestion de la saisie en cascade +// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +nIndiceSocCollab est un entier=ZoneRépétéeSelect(ZR_CollabSociete) +si nIndiceSocCollab>1 _et_ nIndiceSocCollab=ZoneRépétéeOccurrence(ZR_CollabSociete) alors +ZoneRépétéeSelectPlus(ZR_CollabSociete,nIndiceSocCollab-1) +fin +clErreur est un CErreur +gclPresentationFicheCollab.ListeSociete.p_clCourant.m_bLiaison = Faux +si pas gclPresentationFicheCollab.ListeSociete.p_clCourant.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +TableauSupprimeLigne(gclPresentationFicheCollab.ListeSociete.m_clTabModele,nIndiceSocCollab) +fin +06/08/2026 Isis_BO 2415 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Code des champs +ZoneRépétéeAffiche(ZR_CollabSociete,taInit) +//si ZR_CollabSociete..occurrence<=1 alors +// Info("Vous devez avoir sélectionnié au moins une société") +// retour +//FIN +// +//nindice est un entier +// +//nindice +=TableauCherche(gpclPresenListeCollabSociete:m_clTabModele,tcLinéaire,"m_nIDSociete",val(ATT_IdSociete) +,1) +//SI nindice<>-1 ALORS +//Pour TOUT societe_Collaborateur avec SC_IDCollaborateur=VAL(ATT_Id) +// si Societe_Collaborateur.SC_IDCSociete=gpclPresenListeCollabSociete:m_clTabModele[nindice +].m_nIDSociete ALORS +// HSupprime(Societe_Collaborateur) +// FIN +//fin +// TableauSupprimeLigne(gpclPresenListeCollabSociete:m_clTabModele,nindice) +//FIN +//zonerepeteeaffiche(ZR_CollabSociete,tainit) +Initialisation de LIB_IDSociete ( ZR_CollabSociete ) +// Version 1 +// Description +// Libellé simple +Clic sur BTN_AfficheQrCode +//Si une licence a été attribuée et que le mode mobile est activé +si gclPresentationFicheCollab.FicheUtilisateur.m_sCleLicenceMobile="" alors +Erreur("Aucune licence mobile attribuée à cet utilisateur !") +retour +fin +si pas gclPresentationFicheCollab.FicheUtilisateur.m_bAccesMobile alors +Erreur("Accès mobile désactivé !") +retour +fin +Ouvre(FEN_MobileInscription,gclPresentationFicheCollab.FicheUtilisateur.m_sCleLicenceMobile) +Clic sur BTN_Attribuer_une_licence +bResultat est un booléen +bCreateUser est un booléen +//Le login est vide et l'utilisateur sera uniquement mobile +si gclPresentationFicheCollab:m_bUtiliseBO=Faux _et_ gclPresentationFicheCollab:FicheUtilisateur:m_s +Login="" alors +//Utilise le trigramme comme login par défaut (ce dernier étant normalement unique par +collaborateur) +06/08/2026 Isis_BO 2416 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Code des champs +SAI_LOGIN = gclPresentationFicheCollab:m_sTrigramme +COMBO_Profil_User..Valeur = gpclListeProfilUser.RechercheEtDonneIdDepuisValeur("0") +//Indique qu'il faut créer l'utilisateur +bCreateUser = Vrai +//Après modification du champ il faut pousser l'info dans la variable lié +EcranVersSource() +fin +//Appel la méthode qui gère l'enregistrement des données de la fiche collaborateur +bResultat = EnregistreFiche() +//Si le login est grisé (cas où c'est un utilisateur mobile uniquement) +si SAI_LOGIN..Etat=Grisé alors +//Appel de la méthode d'enregistrement de l'utilisateur car cette méthode n'a pas été appelé dans +EnregistreFiche +bResultat = EnregistreFicheUser() +fin +//Si tout va bien et que l'on a un utilisateur +si bResultat alors +//Tente d'attribuer une licence +bResultat = AttribueLicenceMobile() +//La licence n'a pas pu être attribuée +si pas bResultat alors +//Repasse l'utilisation mobile à faux +gclPresentationFicheCollab:m_bUtiliseMob=Faux +//Comme aucune licence mobile et création de l'utilisateur spécifiquement pour ce cas +si bCreateUser alors +clerreur est un CErreur +//Suppression de l'utilisateur +gclPresentationFicheCollab:FicheUtilisateur.bSupprimer(clerreur) +fin +fin +fin +//Rafraichement des données écran +DemandeMiseAJourIHM() +Clic sur BTN_Param_Email +Ouvre(FEN_ChoixFenetreInterne,"FI_Parametrage_Email",DonneParam(DansFenetre,"FI_Fiche_Collaborateur", +MoiMême..Nom,*,"","ParamEmail",*,gclPresentationFicheCollab:FicheUtilisateur,Faux)) +DemandeMiseAJourIHM() +Sélection d'une ligne de COMBO_Profil_User +ChampVersSource() +Clic sur BTN_Fermer_User +06/08/2026 Isis_BO 2417 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Code des champs +//BTN_ADD_USER_COLLAB..Visible=vrai +ListeSelectPlus(COMBO_Profil_User,1) +si gclPresentationFicheCollab.FicheUtilisateur:m_bNouveau alors +//INT_LICENCE_BO[1] = 0 +gclPresentationFicheCollab:m_bUtiliseBO = Faux +fin +//GR_NEWUSER..Visible = faux +BTN_VAL_USER..Visible=Faux +//GR_USERGRISE..Etat = GRISE +//GR_NEWUSER..Etat = Grisé +BTN_Fermer_User..Visible=Faux +DemandeMiseAJourIHM() +Clic sur BTN_MODIF_USER_COLLAB +//OuvreFicheDepuisListe(FicheEnModification,paramSupplementaire,gclPresentationListeCollaborateur,FI_Fi +che_Collaborateur,MaFenêtreInterne..Nom,DISP_LISTE_COLLABORATEUR,TABLE_COLLABORATEUR,CFI_SOUSELEMENT_LI +STE_COLLABORATEUR,GR_IMAGE_OPAQUE_LISTE_COLLABORA +TEUR,GR_HAUTEUR_LISTE_COLLABORATEUR,GR_MODEFORMULAIRE_LISTE_COLLABORATEUR,maProcMAJObjetRetourFI,MoiMêm +e..Nom) +//BTN_ADD_USER_COLLAB..Visible=Faux +//GR_NEWUSER..Visible = vrai +BTN_MODIF_USER_COLLAB..Visible= Faux +BTN_VAL_USER..Visible = Vrai +BTN_Fermer_User..Visible = Vrai +//GR_USERGRISE..etat = actif +SAI_CONFIRMATION_MDP = SAI_MDP +DemandeMiseAJourIHM() +Clic sur BTN_VAL_USER +EcranVersSource("","gclPresentationFicheCollab") +clErreur est un CErreur +si gclPresentationFicheCollab:m_nPKID > 0 et gclPresentationFicheCollab:m_sTrigramme <> "" alors +nIDSocP est un entier sur 8 octets +si gclPresentationFicheCollab.ListeSociete.m_clTabModele..Occurrence > 0 alors +nIDSocP = gclPresentationFicheCollab.ListeSociete.m_clTabModele[1].m_clSociete.m_nPKID +fin +gclPresentationFicheCollab:FicheUtilisateur:m_nIDSocietePrincipale = nIDSocP +// validation +si pas gclPresentationFicheCollab:FicheUtilisateur.bOK(clErreur) alors +//PAS gclPresentationFicheCollab:FicheUtilisateur.bOK(clErreur,Vrai) +Erreur(clErreur.FormateMessage()) +retour +fin +fin +gclPresentationFicheCollab:FicheUtilisateur:m_nIDCollaborateur = gclPresentationFicheCollab: +IdentifiantUnique +gclPresentationFicheCollab:FicheUtilisateur:m_sLogin = gclPresentationFicheCollab:m_s +Trigramme +gclPresentationFicheCollab:FicheUtilisateur:m_sNom = gclPresentationFicheCollab:m_sNom +gclPresentationFicheCollab:FicheUtilisateur:m_sPrenom = gclPresentationFicheCollab:m_sPrenom +gclPresentationFicheCollab:FicheUtilisateur:m_bAccesBO = gclPresentationFicheCollab:m_b +UtiliseBO +gclPresentationFicheCollab:FicheUtilisateur:m_bAccesMobile = gclPresentationFicheCollab:m_b +UtiliseMob +// validation +si gclPresentationFicheCollab:m_nPKID > 0 et gclPresentationFicheCollab:m_sTrigramme <> "" alors +si pas gclPresentationFicheCollab:FicheUtilisateur.bOK(clErreur) alors +06/08/2026 Isis_BO 2418 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Code des champs +Erreur(clErreur.FormateMessage()) +retour +fin +sinon +Erreur("Veuillez remplir le formulaire du collaborateur") +retour +fin +BTN_VAL_USER..Visible=Faux +BTN_Fermer_User..Visible=Faux +DemandeMiseAJourIHM() +Sortie de INT_Administrateur +EnregistreFiche() +A chaque modification de INT_Administrateur +ChampVersSource() +Sortie de INT_LICENCE_BO +//EnregistreFiche() +A chaque modification de INT_LICENCE_BO +si gclPresentationFicheCollab:m_bUtiliseBO=Faux _et_ INT_LICENCE_BO[1]=1 _et_ AncienUserBO alors +INT_LICENCE_BO[1]=0 +Erreur("Vous ne pouvez pas réactiver un utilisateur qui a été désactivé") +sinon si gclPresentationFicheCollab:m_bUtiliseBO _et_ INT_LICENCE_BO[1]=0 _et_ SAI_LOGIN<>"" alors +si OuiNon("Vous allez désactiver cet utilisateur","Confirmez-vous ?") alors +ChampVersSource() +INT_LICENCE_BO..Etat = gclPresentationFicheCollab:m_bUtiliseBO=Faux _et_ SAI_LOGIN<> +"" ? Grisé sinon Actif +// SI HLitRecherchePremier(ParametreSysteme,PAS_Code,"LICENCE") ALORS +// stEnregLicence est un STJSONLicence +// Désérialise(stEnregLicence,ParametreSysteme.PAS_Valeur,psdJSON) +// stEnregLicence:nBLicenceDesktopRestante += 1 +// bufLicence est un buffer +// Sérialise(stEnregLicence,bufLicence,psdJSON) +// ParametreSysteme.PAS_Valeur = bufLicence +// SI HModifie(ParametreSysteme,hNumEnrEnCours) ALORS +// SI HLitRecherchePremier(ParametreSysteme,PAS_Code,"USER_SANS_LICENCE") ALORS +// stEnregSansLicence est un STJSONUSERSSANSLICENCE +// Désérialise(stEnregSansLicence,ParametreSysteme.PAS_Valeur,psdJSON) +// stEnregUserSansLic est un STJSONSANSLICENCE +// stEnregUserSansLic.Login = SAI_LOGIN +// stEnregUserSansLic.PKID += gclPresentationFicheCollab:FicheUtilisateur:m_nPKID +// stEnregSansLicence.Utilisateurs.Ajoute(stEnregUserSansLic) +// bufSansLicence est un buffer +// Sérialise(stEnregSansLicence,bufSansLicence,psdJSON) +// ParametreSysteme.PAS_Valeur = bufSansLicence +// SI HModifie(ParametreSysteme,hNumEnrEnCours) ALORS +// EnregistreFicheUser() +// FIN +// FIN +// FIN +// +06/08/2026 Isis_BO 2419 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Code des champs +// FIN +sinon +INT_LICENCE_BO[1]=1 +fin +sinon si gclPresentationFicheCollab:m_bUtiliseBO=Faux _et_ INT_LICENCE_BO[1]=1 _et_ SAI_LOGIN="" +ExécuteTraitement(FI_Fiche_Collaborateur.BTN_ADD_USER_COLLAB,trtClic) +sinon +ChampVersSource() +si BTN_Fermer_User..Visible alors +ExécuteTraitement(FI_Fiche_Collaborateur.BTN_Fermer_User,trtClic) +fin +fin +Sortie de INT_LICENCE_MOBILE +//EnregistreFiche() +A chaque modification de INT_LICENCE_MOBILE +si gclPresentationFicheCollab:m_bUtiliseMob=Faux _et_ INT_LICENCE_MOBILE[1]=1 _et_ +gclPresentationFicheCollab.FicheUtilisateur:m_sCleLicenceMobile<>"" alors +retour +sinon si gclPresentationFicheCollab:m_bUtiliseMob _et_ INT_LICENCE_MOBILE[1]=0 _et_ +gclPresentationFicheCollab.FicheUtilisateur:m_sCleLicenceMobile<>"" alors +ExécuteTraitement(BTN_Retirer_la_licence,trtClic) +sinon si gclPresentationFicheCollab:m_bUtiliseMob=Faux _et_ INT_LICENCE_MOBILE[1]=1 _et_ +gclPresentationFicheCollab.FicheUtilisateur:m_sCleLicenceMobile="" alors +ExécuteTraitement(BTN_Attribuer_une_licence,trtClic) +fin +A chaque modification de SAI_CONFIRMATION_MDP +ChampVersSource() +Sortie de SAI_LOGIN +//SI MoiMême..ValeurAffichée<>"" ALORS +// +// +nPKID est un entier sur 8 octets = +val(ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"[",DepuisDébut),1,"]")) +// SI nPKID>0 ALORS +// +//PFicheIntervention.gFicheLieu(gclPresentationFicheInterv,gclPresentationFicheInterv.FicheLieu,nPKID,V +rai,"",Vrai) +// +PFicheCollaborateur.gFicheUtilisateur(gclPresentationFicheCollab,gclPresentationFicheCollab.FicheUtilis +ateur,nPKID,"") +// SINON +// +SI +ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"---",DepuisDébut),1,"---",DepuisFin)=ChaîneFormate("Aucu +n résultat",ccMajuscule) ALORS +06/08/2026 Isis_BO 2420 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Code des champs +// MoiMême="" +// SaisieAssistéeSupprimeTout(MoiMême) +// ExécuteTraitement(MoiMême,trtModification) +// SINON +// +//PFicheIntervention.gFicheLieu(gclPresentationFicheInterv,gclPresentationFicheInterv.FicheLieu,-1,Vrai +,MoiMême..ValeurAffichée,Vrai) +// +PFicheCollaborateur.gFicheUtilisateur(gclPresentationFicheCollab,gclPresentationFicheCollab.FicheUtilis +ateur,-1,MoiMême..ValeurAffichée) +// FIN +// FIN +// SI nPKID>0 ALORS +// MoiMême = Majuscule(gclPresentationFicheCollab:FicheUtilisateur.m_sLogin) +// FIN +// //EnregistreFiche() +// //Enchainement des actions suite au choix du lieu comme si l'utilisateur avait cliqué sur la loupe +// //GestionEnchainement(BTN_LOUPE_LIEU,"") +//FIN +A chaque modification de SAI_LOGIN +ChampVersSource() +//SI MoiMême..ValeurAffichée<>"" ALORS +// ModifZoneSaisieAssistee(MoiMême,2,faux,"","") +//FIN +Sélection d'une valeur dans la liste de saisie assistée de SAI_LOGIN +//ExécuteTraitement(MoiMême,trtSortie) +A chaque modification de SAI_MDP +ChampVersSource() +A chaque modification de SEL_AffichePlanning +clErreur est un CErreur +//ChampVersSource() +//pclFichePrefAgenda.m_sValeur=SEL_AffichePlanning +pclFichePrefAgenda est un PFicheParametreUtilisateur dynamique +pclFichePrefAgenda<-gclPresentationFicheCollab.FicheUtilisateur.p_PrefPlanningAgenda +pclFichePrefAgenda:m_sValeur = SEL_AffichePlanning +//SEL_AffichePlanning..AffichageActif=Faux +// validation +si pas pclFichePrefAgenda.bOK(clErreur) alors +Erreur(clErreur.FormateMessage()) +retour +fin +//SEL_AffichePlanning..AffichageActif=vrai +//Modification du menu principal selon le changement de préférence +FEN_Menu.LIB_PLANNING=gclPresentationFicheCollab.FicheUtilisateur.p_PrefPlanningAgenda:m_sValeur +//pclFichePrefAgenda.m_sValeur +A chaque modification de SEL_Messagerie +06/08/2026 Isis_BO 2421 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Code des champs +clErreur est un CErreur +pclFichePrefMessagerie est un PFicheParametreUtilisateur dynamique +pclFichePrefMessagerie<-gclPresentationFicheCollab.FicheUtilisateur.p_PrefMessagerie +pclFichePrefMessagerie.m_sValeur=SEL_Messagerie +si pas pclFichePrefMessagerie.bOK(clErreur) alors +Erreur(clErreur.FormateMessage()) +retour +fin +//si SEL_Messagerie="Externe" alors +// +// +//sinon +// ONG_PARAMETRE=3 +// Affiche_SMTP() +// Affiche_IMAP() +// Affiche_POP3() +// Valide_Parametres() +//fin +FI_Fiche_Collaborateur +Procédures +Procédure locale ActiveTimer +// Résumé : +// Syntaxe : +//ActiveTimer ( est entier) +// +// Paramètres : +// nIdTimer (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ActiveTimer(local nIdTimer est un entier) +TimerSys(TimeOutCollaborateur,100,nIdTimer) +Procédure locale AncienUserBO +// Résumé : +// Syntaxe : +//[ = ] AncienUserBO () +// +// Paramètres : +// Aucun +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AncienUserBO() +bResultat est un booléen +si HLitRecherchePremier(ParametreSysteme,PAS_Code,"USER_SANS_LICENCE") alors +stEnregSansLicence est un STJSONUSERSSANSLICENCE +06/08/2026 Isis_BO 2422 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Procédures +si ParametreSysteme.PAS_Valeur<>"" alors +Désérialise(stEnregSansLicence,ParametreSysteme.PAS_Valeur,psdJSON) +nIndice est un entier = TableauCherche(stEnregSansLicence.Utilisateurs,tcLinéaire,"PKID", +gclPresentationFicheCollab:FicheUtilisateur:m_nPKID,1) +si nIndice>0 _et_ stEnregSansLicence.Utilisateurs[nIndice].PKID = gclPresentationFicheCollab: +FicheUtilisateur:m_nPKID alors +bResultat = Vrai +fin +fin +fin +renvoyer bResultat +Procédure locale AttribueLicenceMobile +procédure AttribueLicenceMobile() +//Coucou +si WS_LICENCE.Tesla()<>"OUI" alors +Erreur("Le serveur de licence n'est pas joignable.") +renvoyer Faux +fin +s est une chaîne = gcnxBO..BaseDeDonnées +stINS est un ST_CLI_DMD_LM +stINS.saCodeClient = Gauche(s,Taille(s)-4) // Nom de la base sans "_BLD" +stINS.nIdClb = gclPresentationFicheCollab:FicheUtilisateur:m_nIDCollaborateur +stINS.nIdUser = gclPresentationFicheCollab:FicheUtilisateur:m_nPKID +stINS.saNom = gclPresentationFicheCollab:m_sNom +stINS.saPrenom = gclPresentationFicheCollab:m_sPrenom +sJson est une chaîne ANSI +Sérialise(stINS,sJson,psdJSON) +stCMD est un ST_CMD_CLIENT +stCMD.saCMD =cCLI_LIC_ATTRIBUTION +stCMD.saJSON =sJson +stRep est un ST_REP_CLIENT = WS_LICENCE.BOCLI_CMD(stCMD) +si ErreurDétectée() alors +Erreur("Problème de communication avec le serveur de Licence.") +renvoyer Faux +fin +si stRep.saEtatReponse..Valeur<>cREP_OK alors +selon stRep.saEtatReponse..Valeur +cas cERR_CLI_INCONNU +Erreur("Le code client :" + stINS.saCodeClient +" n'a pas été reconnu dans la base.", +"Contactez le support technique.") +cas cERR_LIC_AUCUNE +Erreur("Il n'y a pas de licence mobile disponible","Liberez +une licence inutilisée ou augmentez votre nombre de licences mobile.") +cas cERR_EXCEPTION,cERR_HF_BLOCAGE,cERR_CMD_INCONNUE,cERR_FORMAT_JSON +Erreur("Le serveur de Licence ne peut satisfaire votre requête", +"Contactez le support technique.","Erreur : " + stRep.saEtatReponse..Valeur) +autre cas +Erreur("Erreur système : " + stRep.saEtatReponse..Valeur ) +06/08/2026 Isis_BO 2423 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Procédures +fin +renvoyer Faux +fin +//Analyse de la réponse +stLIC est un ST_CLI_REP_DMD_LM +sJson = stRep.saRepJSON +Désérialise(stLIC,sJson,psdJSON) +si ErreurDétectée() alors +Erreur("La réponse du serveur n'est pas dans le format attendu.", +"Si cela se reproduit, contactez le support technique") +renvoyer Faux +fin +//Affectation de la licence à l'utilisateur et enregistrement +gclPresentationFicheCollab.FicheUtilisateur.m_sCleLicenceMobile = stLIC.saNumLicence +gclPresentationFicheCollab:m_bUtiliseMob = Vrai +EnregistreLicenceMobile() +clErreur est un CErreur +// validation +si pas gclPresentationFicheCollab:FicheUtilisateur.bOK(clErreur) alors +Erreur(clErreur.FormateMessage()) +renvoyer Faux +sinon +renvoyer Vrai +fin +Procédure locale Controle_Trigramme +// Résumé : +// Syntaxe : +// Controle_Trigramme () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Controle_Trigramme() +sTrigramme est une chaîne +si SAI_sPrenom<>"" et SAI_sNom<>"" alors +sTrigramme=Gauche(SAI_sPrenom,1)+Gauche(SAI_sNom,2) +HLitRecherchePremier(Collaborateur,CO_Trigramme,sTrigramme) +si HTrouve(Collaborateur) alors +sTrigramme=Gauche(SAI_sPrenom,2)+Gauche(SAI_sNom,1) +HLitRecherchePremier(Collaborateur,CO_Trigramme,sTrigramme) +si HTrouve(Collaborateur) alors +SAI_TRIGRAMME="" +sinon +SAI_TRIGRAMME=sTrigramme +fin +sinon +SAI_TRIGRAMME=sTrigramme +fin +sinon +SAI_TRIGRAMME="" +fin +Procédure locale DesactiveTimer +06/08/2026 Isis_BO 2424 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Procédures +// Résumé : +// Syntaxe : +//DesactiveTimer ( est entier) +// +// Paramètres : +// nIdTimer (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DesactiveTimer(local nIdTimer est un entier) +FinTimerSys(nIdTimer) +Procédure locale DroitDeModifier +// Résumé : +// Syntaxe : +// DroitDeModifier () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DroitDeModifier() +Procédure locale EnregistreFiche +// Résumé : +// Syntaxe : +//[ = ] EnregistreFiche () +// +// Paramètres : +// Aucun +// Valeur de retour : +// booléen : +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure EnregistreFiche() +bResultat est un booléen +tabChampSuivant est un tableau de chaînes = [SAI_sNom..Nom,SAI_sPrenom..Nom,BTN_ +Valider_fiche_collaborateur..Nom,BTN_Fermer_fiche_collaborateur..Nom] +//clErreur est un CErreur +//SI PAS ChampSuivant() dans +(SAI_sNom..nom,SAI_sPrenom..nom,BTN_Valider_fiche_collaborateur..Nom,BTN_Fermer_fiche_collaborateur..no +m) ALORS +si pas Contient(ChampSuivant(),tabChampSuivant) alors +//SI champencours() DANS (BTN_Valider_fiche_collaborateur..Nom) ALORS EcranVersSource() +si Contient(ChampEnCours(),BTN_Valider_fiche_collaborateur..Nom) alors EcranVersSource() +bResultat = ValideFicheSimple(gclPresentationFicheCollab,paramSupplementaire,ActiveTimer,BTN_ +CADENAS_FERME_COLLAB,BTN_CADENAS_OUVERT_COLLAB,GR_CADENAS_COLLAB,DISP_FICHE_COLLABORATEUR) +si bResultat _et_ SAI_LOGIN..Etat=Actif alors +bResultat = EnregistreFicheUser() +06/08/2026 Isis_BO 2425 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Procédures +fin +// nPKID est un entier sur 8 octets = gclPresentationFicheCollab:IdentifiantUnique +// clErreur est un CErreur +// +bResultat = +gclPresentationFicheCollab.bOK(clErreur)//gclPresentationFicheCollab.bOK(clErreur,Vrai,Vrai) +// // validation +// SI PAS bResultat ALORS +// Erreur(clErreur.FormateMessage()) +// SINON +// SI SAI_LOGIN..Etat=Actif ALORS +// SI nPKID=0 _ET_ paramSupplementaire.eTypeAppel=DansOnglet ALORS +// +FEN_Menu.RenomeOnglet(gclPresentationFicheCollab:IdentifiantUnique,gclPresentationFicheCollab:InfoOngle +t) +// FIN +// bResultat = EnregistreFicheUser() +// FIN +// +// FIN +fin +//si gclPresentationFicheCollab:m_nPKID > 0 et gclPresentationFicheCollab:m_sTrigramme <> "" alors +// nIDSocP est un entier sur 8 octets +// SI gclPresentationFicheCollab.ListeSociete.m_clTabModele..Occurrence > 0 ALORS +// nIDSocP = gclPresentationFicheCollab.ListeSociete.m_clTabModele[1].m_clSociete.m_nPKID +// FIN +// gclPresentationFicheCollab:FicheUtilisateur:m_nIDSocietePrincipale = nIDSocP +// +// // validation +// +SI PAS gclPresentationFicheCollab:FicheUtilisateur.bOK(clErreur) ALORS//PAS +gclPresentationFicheCollab:FicheUtilisateur.bOK(clErreur,Vrai) +// Erreur(clErreur.FormateMessage()) +// renvoyer faux +// FIN +//fin +renvoyer bResultat +Procédure locale EnregistreFicheUser +// Résumé : +// Syntaxe : +//[ = ] EnregistreFicheUser () +// +// Paramètres : +// Aucun +// Valeur de retour : +// booléen : +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure EnregistreFicheUser() +bResultat est un booléen=Vrai +clErreur est un CErreur +si SAI_CONFIRMATION_MDP..Visible _et_ SAI_CONFIRMATION_MDP<>SAI_MDP alors +clErreur.Init(CErreur.Fonctionnelle, +"Veuillez saisir le même mot de passe dans la zone de confirmation de mot de passe") +bResultat=Faux +06/08/2026 Isis_BO 2426 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Procédures +fin +si bResultat _et_ gclPresentationFicheCollab:FicheUtilisateur:m_bNouveau _et_ HLitRecherchePremier( +ParametreSysteme,PAS_Code,"LICENCE") alors +stEnregLicence est un STJSONLicence +Désérialise(stEnregLicence,ParametreSysteme.PAS_Valeur,psdJSON) +bResultat = stEnregLicence:nBLicenceDesktopRestante>0 +si pas bResultat alors +Erreur("Vous ne pouvez pas créer de nouvel utilisateur","Le nombre de licence a été atteint") +fin +fin +si gclPresentationFicheCollab:FicheUtilisateur:IdentifiantUnique=0 alors +//gclPresentationFicheCollab:FicheUtilisateur:m_sNom += gclPresentationFicheCollab:m_sNom +//gclPresentationFicheCollab:FicheUtilisateur:m_sPrenom += gclPresentationFicheCollab:m_sPrenom +//gclPresentationFicheCollab:FicheUtilisateur:m_sTelMobile += gclPresentationFicheCollab:m_sTelMobile +//gclPresentationFicheCollab:FicheUtilisateur:m_sEmail += gclPresentationFicheCollab:m_sEmail +gclPresentationFicheCollab:FicheUtilisateur:m_nIDCollaborateur = gclPresentationFicheCollab: +IdentifiantUnique +gclPresentationFicheCollab:FicheUtilisateur:m_nIDTypeProfil = COMBO_Profil_User..ValeurMémorisée +fin +gclPresentationFicheCollab:FicheUtilisateur:m_bAccesBO = gclPresentationFicheCollab:m_b +UtiliseBO +gclPresentationFicheCollab:FicheUtilisateur:m_bAccesMobile = gclPresentationFicheCollab:m_b +UtiliseMob +// validation +si bResultat=Faux _ou_ pas gclPresentationFicheCollab:FicheUtilisateur.bOK(clErreur) alors +//PAS gclPresentationFicheCollab:FicheUtilisateur.bOK(clErreur,Vrai) +Erreur(clErreur.FormateMessage()) +bResultat=Faux +fin +si bResultat alors +gclPresentationFicheCollab:m_sLogin = gclPresentationFicheCollab:FicheUtilisateur:m_sLogin +//GR_USERGRISE..Etat=Grisé +BTN_VAL_USER..Visible=Faux +//BTN_MODIF_USER_COLLAB..Visible=Vrai +//GR_NEWUSER..Visible=Faux +fin +renvoyer bResultat +Procédure locale EnregistreLicenceMobile +procédure EnregistreLicenceMobile() +clErreur est un CErreur +gclPresentationFicheCollab:FicheUtilisateur:m_nIDCollaborateur = gclPresentationFicheCollab: +IdentifiantUnique +gclPresentationFicheCollab:FicheUtilisateur:m_nIDTypeProfil = COMBO_Profil_User..ValeurMémorisée +gclPresentationFicheCollab:FicheUtilisateur:m_nIDSocietePrincipale=gclPresentationFicheCollab. +ListeSociete.m_clTabModele[1].m_clSociete.m_nPKID +gclPresentationFicheCollab:FicheUtilisateur:m_bAccesMobile = gclPresentationFicheCollab:m_b +UtiliseMob +// validation +si pas gclPresentationFicheCollab:FicheUtilisateur.bOK(clErreur) alors +//PAS gclPresentationFicheCollab:FicheUtilisateur.bOK(clErreur,Vrai) +Erreur(clErreur.FormateMessage()) +retour +06/08/2026 Isis_BO 2427 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Procédures +fin +Procédure locale LicenceRetire +procédure LicenceRetire() +//Coucou +si WS_LICENCE.Tesla()<>"OUI" alors +Erreur("Le serveur de licence n'est pas joignable.") +renvoyer Faux +fin +s est une chaîne = gcnxBO..BaseDeDonnées +stINS est un ST_CLI_ACTION_LM +stINS.saCodeClient = Gauche(s,Taille(s)-4) // Nom de la base sans "_BLD" +stINS.saNumLicence = gclPresentationFicheCollab.FicheUtilisateur.m_sCleLicenceMobile +sJson est une chaîne ANSI +Sérialise(stINS,sJson,psdJSON) +stCMD est un ST_CMD_CLIENT +stCMD.saCMD =cCLI_LIC_LIBERE +stCMD.saJSON =sJson +stRep est un ST_REP_CLIENT = WS_LICENCE.BOCLI_CMD(stCMD) +si ErreurDétectée() alors +Erreur("Problème de communication avec le serveur de Licence.") +renvoyer Faux +fin +selon stRep.saEtatReponse..Valeur +cas cERR_CLI_INCONNU +Erreur("Le code client :" + stINS.saCodeClient +" n'a pas été reconnu dans la base.", +"Contactez le support technique.") +renvoyer Faux +cas cERR_LIC_INCONNUE,cERR_CLI_LIC +//La licence est inconnue ou incohérente +//Retrait de la licence +gclPresentationFicheCollab.FicheUtilisateur.m_sCleLicenceMobile="" +gclPresentationFicheCollab:m_bUtiliseMob=Faux +Erreur("La licence n'a pas été reconnue", +"Vous pouvez cependant ré-attribuer une licence à cet utilisateur.") +renvoyer Vrai +cas cREP_OK +//La libération à été faite avec succès +//Retrait de la licence +gclPresentationFicheCollab.FicheUtilisateur.m_sCleLicenceMobile="" +gclPresentationFicheCollab:m_bUtiliseMob=Faux +renvoyer Vrai +cas cERR_EXCEPTION,cERR_HF_BLOCAGE,cERR_CMD_INCONNUE,cERR_FORMAT_JSON +Erreur("Le serveur de Licence ne peut satisfaire votre requête", +"Contactez le support technique.","Erreur : " + stRep.saEtatReponse..Valeur) +renvoyer Faux +autre cas +Erreur("Erreur système : " + stRep.saEtatReponse..Valeur ) +renvoyer Faux +fin +Procédure locale SocietePrincipal +06/08/2026 Isis_BO 2428 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Collaborateur › Procédures +procédure SocietePrincipal() +pour toute ligne i de ZR_CollabSociete +ZR_CollabSociete[i].IMG_Principal..Visible = Faux +si i = 1 alors +ZR_CollabSociete[i].IMG_Principal..Visible = Vrai +fin +fin +Procédure locale SurActivite +// Résumé : +// Syntaxe : +//SurActivite (, , ) +// +// Paramètres : +// wEve : +// wParam : +// lParam : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SurActivite(wEve,wParam,lParam) +si gclPresentationFicheCollab:m_bBlocageEcriture alors +gnDelai=DonneValeurTimeOutObjet(gclPresentationFicheCollab) +fin +Procédure locale TimeOutCollaborateur +procédure TimeOutCollaborateur() +//Enlève 1 seconde au temps restant +gnDelai-- +//Le temps est écoulé, l'enregistrement et le déblocage de ce dernier c'est bien passé +si gnDelai = 0 alors +DeblocEnregistrement(gclPresentationFicheCollab,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_COLLAB,BTN_CADENAS_OUVERT_COLLAB,GR_CADENAS_COLLAB,DISP_FICHE_COLLABORATEUR,Faux) +fin +06/08/2026 Isis_BO 2429 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Image +FI_Fiche_Equipe +Image +FI_Fiche_Equipe +Informations générales +FI_Fiche_Equipe +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Fiche_Equipe.wdw +| Créé par | | frederic.bourras@applilogik.fr | | | | +| -------------------------- | ---------- | ------------------------------ | ------- | --------------- | ---- | +| Date de création | | 03/09/2018 19:11:48 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 23/04/2025 09:21:44 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 1190 | 338 | +| Position X | Position Y | | Largeur | Hauteur | | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 2430 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Informations générales +Ctx. HFSQL indép. +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +06/08/2026 Isis_BO 2431 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | | 1 | | Libellé | | | 1 | +| --- | --------------- | --- | --- | --- | --- | ---------------------- | --- | --- | --- | +| | Bouton | | | 11 | | Liste | | | 2 | +| | Table | | | 1 | | Combo | | | 2 | +| | Fenêtre interne | | | 1 | | Colonne de table | | | 4 | +| | Disposition | | | 2 | | Cellule de disposition | | | 9 | +Nombre d'éléments dans la fenêtre : 34 +FI_Fiche_Equipe +Informations sur les champs +Fenêtre : FI_Fiche_Equipe +Fenêtre interne +laitini tatE BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FI_Fiche_Equipe | | | 0 | 0 | 1190 | 338 | | 0 | | +| --------------- | --- | --- | --- | --- | ---- | --- | --- | --- | --- | +Fenêtre interne : FI_Fiche_Equipe +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_SEQ_Nom | | 6 0 507 | 43 0 | Actif | Texte | | Non | | | +| ----------- | --- | ------- | ---- | ------- | ----- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Isis_BO | | | | | 2432 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › 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_Titre_de_fenêtre_fiche_equip +| | | 6 | 6 | 39 | 21 | 0 | Actif | Gauche | Centre | | | +| --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | --- | +Bouton +| | | | | | | | | | BAT ehcuoT | notuob epyT | | +| --- | --- | ---------- | --- | ---------- | ------- | ------- | --- | ------------ | ---------- | ----------- | --- | +| | | X noitisoP | | Y noitisoP | | | | laitini tatE | | | | +| | | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| BTN_AFFECTATION_MULTIPLE_FICHE_E | | | 524 | 93 | 24 | 24 | 0 | Actif | | Normal | | +| -------------------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | ------ | --- | +| BTN_AFFECTATION_SIMPLE_FICHE_EQ | | | 524 | 123 | 24 | 24 | 0 | Actif | | Normal | | +| BTN_AFFECTATION_SIMPLE_FICHE_EQ | | | 815 | 138 | 24 | 24 | 0 | Actif | | Normal | | +| BTN_CADENAS_FERME_EQUIPE | | | 4 | 4 | 24 | 24 | 0 | Actif | | Normal | | +| BTN_CADENAS_OUVERT_EQUIPE | | | 4 | 4 | 24 | 24 | 0 | Actif | | Normal | | +| BTN_DESAFFECTATION_MULTIPLE_FIC | | | 524 | 183 | 24 | 24 | 0 | Actif | | Normal | | +BTN_DESAFFECTATION_SIMPLE_FICHE_ +| | | | 524 | 153 | 24 | 24 | 0 | Actif | | Normal | | +| -------------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | ------- | --- | +| BTN_Fermer_fiche_equipe | | | 4 | 4 | 24 | 24 | 0 | Actif | | Abandon | | +| BTN_Nouveau_fiche_equipe | | | 4 | 4 | 24 | 24 | 0 | Actif | | Normal | | +| BTN_Supprimer_fiche_equipe | | | 4 | 4 | 24 | 24 | 0 | Actif | | Normal | | +| BTN_Valider_fiche_equipe | | | 4 | 4 | 24 | 24 | 0 | Actif | | Normal | | +Liste +ruesnecsa/egahciffA +ruesnecsa elluB +noitcelésitluM +sennoloc .bN +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | | | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | sruocraP | | | | +elbisiV +| | | | | | | | elbaT | eéirT | | | | +| --- | --- | --- | --- | --- | --- | --- | ----- | ----- | --- | --- | --- | +nalP +| LISTE_Collaborateur | 566 | 49 | 247 | 247 | 0 | Actif | Variable | | | | 1 | +| -------------------- | --- | --- | --- | --- | --- | ----- | -------- | --- | --- | --- | --- | +| LISTE_Collaborateur1 | 845 | 49 | 339 | 247 | 0 | Actif | Variable | | | | 1 | +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 | | | | | | | +| --- | --------------------- | --- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | --- | +| | | | ruetuaH | | | | sruocraP | | | | | +ruegraL +| | | | | elbisiV | | elbaT | | | | | | +| --- | --- | --- | --- | ------- | --- | ----- | --- | --- | --- | --- | --- | +nalP +| TABLE_EquipeCollabo | 6 43 | 507 | 252 | 0 affichag | | Variable | | | | | 2 | +| ------------------- | ---- | --- | --- | ---------- | ------- | -------- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | | Isis_BO | | | | | | 2433 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › 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 +| COMBO_Societe | 566 | 0 247 | 43 | 0 | Actif | Variable | | Non | | +| -------------- | --- | ----- | --- | --- | ----- | -------- | --- | --- | --- | +| COMBO_Societe1 | 846 | 0 338 | 43 | 0 | Actif | Variable | | Non | | +Disposition +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | +nalP +| DISP_BANDEAU_ENTETE_FICHE_EQUIPE | | | 0 | 0 | 1190 | 33 | 0 | Actif | | +| -------------------------------- | --- | --- | --- | --- | ---- | --- | --- | ----- | --- | +| DISP_FICHE_EQUIPE | | | 0 | 0 | 1190 | 333 | 0 | Actif | | +Table : FI_Fiche_Equipe.DISP_FICHE_EQUIPE.TABLE_EquipeCollaborateur +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +| | | | | ehcuag à eéxiF | | .zroh egardaC | | | | +| --- | --- | --- | --- | -------------- | --- | ------------- | --- | --- | --- | +.trev egardaC +| | | | | elbaçalpéD | | | | eisias epyT FTR tamroF | eisias cevA | +| --- | --- | --------------- | ------------ | ---------- | --- | --- | --- | ---------------------- | ----------- | +| | | | laitini tatE | | | | | engilitluM | | +| | | ruegraL elbisiV | | | | | | | | +eéirT +epyT +| COL_Responsable | | 90 | Actif | | | Centre Centre | | | | +| --------------- | --- | --- | ----- | --- | --- | ------------- | ------- | --- | --- | +| COL_Nom | | 278 | Actif | | | Gauche Centre | Texte | | | +| COL_Prénom | | 212 | Actif | | | Gauche Centre | Texte | | | +| COL_PKID | | 100 | Actif | | | Droite Centre | Numériq | | | +Fenêtre : FI_Fiche_Equipe +Fenêtre interne : FI_Fiche_Equipe +| UI par l'utilisateur | | Selon fenêtre | | | | | | | | +| ------------------------- | --- | ---------------------------- | --- | ------- | --- | --- | --- | --- | ---- | +| Unité des tailles | | Compatible desktop ET mobile | | | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | | | +| Taux Paral. Y | | 0 | | | | | | | | +| Épinglé | | Non | | | | | | | | +| Masquer lors du scrolling | | Non | | | | | | | | +| Ancrage au contenu | | | | | | | | | | +| Numéro aide | | 0 | | | | | | | | +| 06/08/2026 | | | | Isis_BO | | | | | 2434 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Informations sur les champs +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Fiche_Equipe +Bouton : +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Tout_A_Gauche.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 2435 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Informations sur les champs +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Ordre navigation 8 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_A_Gauche.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2436 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Informations sur les champs +Bouton : +Ordre navigation 9 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_A_Gauche.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2437 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Informations sur les champs +Bouton : +Groupe ,GR_MODEOPAQUE_FICHE_DOSSIER +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Cadenas_Fermer_rou +ge.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2438 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Informations sur les champs +Bouton : +Groupe ,GR_MODEOPAQUE_FICHE_DOSSIER +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Cadenas.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2439 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Informations sur les champs +Bouton : +Ordre navigation 11 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Tout_A_Droite.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2440 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Informations sur les champs +Bouton : +Ordre navigation 10 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_A_Droite.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2441 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2442 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2443 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Informations sur les champs +Bouton : +Groupe GR_CADENAS_EQUIPE +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2444 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2445 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Informations sur les champs +Combo : FI_Fiche_Equipe.DISP_FICHE_EQUIPE.COMBO_Societe +Libellé FR: S&ociété +Groupe GR_CADENAS_EQUIPE +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 247 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 566 +Largeur interne 247 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Société de rattachement +Numéro aide 0 +Texte d'indication si vide FR: Lié à la société +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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 +06/08/2026 Isis_BO 2446 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Informations sur les champs +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Oui +Liaison des données :gclPresentationFicheEquipe.m_nIDSociete +Nb. Enreg. Max 0 +Fichier parcouru :gpclPresenListeSociete.m_clTabModele +Rub. affichée :gpclPresenListeSociete.m_clTabModele.m_sNom +Rub. mémorisée :gpclPresenListeSociete.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Fiche_Equipe.DISP_FICHE_EQUIPE.COMBO_Societe1 +Libellé FR: Autre Société +Groupe GR_CADENAS_EQUIPE +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 338 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 846 +Largeur interne 338 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Société de rattachement +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +06/08/2026 Isis_BO 2447 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › 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. +Avec recherche Oui +Nb. Enreg. Max 0 +Fichier parcouru :gpclPresenListeSociete.m_clTabModele +Rub. affichée :gpclPresenListeSociete.m_clTabModele.m_sNom +Rub. mémorisée :gpclPresenListeSociete.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +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 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +06/08/2026 Isis_BO 2448 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Informations sur les champs +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Equipe.DISP_FICHE_EQUIPE +Libellé FR: Disposition +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 +Cellule ancrée 2 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 0 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2449 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Informations sur les champs +Libellé : +Libellé FR: Titre +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Liste : FI_Fiche_Equipe.DISP_FICHE_EQUIPE.LISTE_Collaborateur +Libellé FR: Collaborateur disponible +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. Haut +Hauteur ligne 15 +Retrait gauche 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 2450 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Informations sur les champs +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Sélection multiple Oui +Mode ellipse +Unicode 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 Automatique +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Nb. Enreg. Max 0 +Fichier parcouru :gpclPresenListeCollabPasDansEquipe.m_clTabModele +Rub. affichée :gpclPresenListeCollabPasDansEquipe.m_clTabModele.NomPrenom +Rub. mémorisée :gpclPresenListeCollabPasDansEquipe.m_clTabModele +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Hauteur et droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Liste : FI_Fiche_Equipe.DISP_FICHE_EQUIPE.LISTE_Collaborateur1 +Libellé FR: Collaborateurs disponibles ( Autres sociétés ) +Ordre navigation 6 +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. Haut +Hauteur ligne 15 +Retrait gauche 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Sélection multiple Oui +Mode ellipse +06/08/2026 Isis_BO 2451 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Informations sur les champs +Unicode 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 Automatique +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Nb. Enreg. Max 0 +Fichier parcouru :gpclPresenListeCollabPasDansEquipe2.m_clTabModele +Rub. affichée :gpclPresenListeCollabPasDansEquipe2.m_clTabModele.NomPrenom +Rub. mémorisée :gpclPresenListeCollabPasDansEquipe2.m_clTabModele +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Hauteur et droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Fiche_Equipe.DISP_FICHE_EQUIPE.SAI_SEQ_Nom +Libellé FR: Nom de l'équipe +Groupe GR_CADENAS_EQUIPE +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 6 +Largeur interne 507 +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 +06/08/2026 Isis_BO 2452 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 50 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFicheEquipe.m_sNom +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 +06/08/2026 Isis_BO 2453 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Informations sur les champs +Table : FI_Fiche_Equipe.DISP_FICHE_EQUIPE.TABLE_EquipeCollaborateur +Libellé FR: Collaborateurs de l'équipe +Ordre navigation 4 +Curseur survol 0 +Mode Loupe Filtre +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) 16 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 Sous le champ Table +Somme FR: Somme +Moyenne FR: Moyenne +Compteur FR: Compteur +Minimum FR: Minimum +Maximum FR: Maximum +Sauve position auto Non +06/08/2026 Isis_BO 2454 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Informations sur les champs +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclPresenListeCollabEquipe.m_clTabModele +Rub. mémorisée :gpclPresenListeCollabEquipe.m_clTabModele +Ajout/Suppr. dans variable Non +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 : FI_Fiche_Equipe.DISP_FICHE_EQUIPE.TABLE_EquipeCollaborateur +Colonne de table : +Titre FR: Responsable +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Oui +Retour à la ligne Non +Coche tous dans entête Non +Ancrage +06/08/2026 Isis_BO 2455 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gpclPresenListeCollabEquipe.m_clTabModele.m_clCollaborateur.m_sNom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Prénom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +06/08/2026 Isis_BO 2456 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Informations sur les champs +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gpclPresenListeCollabEquipe.m_clTabModele.m_clCollaborateur.m_sPrenom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: PKID +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: MoneySystemMask +Mode ellipse +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 +Liaison des données :gpclPresenListeCollabEquipe.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2457 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Messages multilingues +FI_Fiche_Equipe +Messages multilingues +06/08/2026 Isis_BO 2458 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FI_Fiche_Equipe +Code des champs +Déclarations globales de FI_Fiche_Equipe +procédure FI_Fiche_Equipe(gclPresentationFicheEquipe est un PFicheEquipe dynamique=Null, +paramSupplementaire est un STParamFenetreAppelante=Null) +gpclPresenListeSociete est un PTableSociete dynamique +gpclPresenListeCollabEquipe est un PTableEquipe_Collaborateur dynamique +gpclPresenListeCollabPasDansEquipeest un PTableCollaborateur dynamique +gpclPresenListeCollabPasDansEquipe2 est un PTableCollaborateur dynamique +gsTriEnCours est une chaîne +gnDelai est un entier +Evénement(TriColonne,"TABLE_EquipeCollaborateur",1529) +Evénement(SurActivite, "*.*", WM_LBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_RBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_MBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_MOUSEMOVE) +Evénement(SurActivite, "*.*", WM_KEYDOWN) +// condition avec deux type de appel car on peux créer une nouvelle équipe a partir d'un btn +dans la FI_liste_equipe +LIB_Titre_de_fenêtre_fiche_equipe = paramSupplementaire.eTypeAppel=Libre ou paramSupplementaire.e +TypeAppel=DansChampFI _et_ gclPresentationFicheEquipe:m_nPKID = 0 ? "Nouvelle équipe" sinon +paramSupplementaire.sTitreFenetre<>"" ? paramSupplementaire.sTitreFenetre sinon "Equipe" +local +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentationFicheEquipe=Null alors +gclPresentationFicheEquipe=PFicheEquipe.gNouvellePresentation() +fin +gnDelai = DonneValeurTimeOutObjet(gclPresentationFicheEquipe) +gpclPresenListeSociete = PTableSociete.gNouvellePresentation(0) +PFicheEquipe.gListeCollaborateurDansEquipe(gclPresentationFicheEquipe) +gpclPresenListeCollabEquipe <- gclPresentationFicheEquipe.ListeCollaborateurEquipe +PFicheEquipe.gListeCollaborateurPasDansEquipe(gclPresentationFicheEquipe) +gpclPresenListeCollabPasDansEquipe <- gclPresentationFicheEquipe.ListeCollaborateurPasDansEquipe +BlocEnregistrement(gclPresentationFicheEquipe,ActiveTimer,BTN_CADENAS_FERME_EQUIPE,BTN_ +CADENAS_OUVERT_EQUIPE,GR_CADENAS_EQUIPE,DISP_FICHE_EQUIPE) +Demande de mise à jour de l'affichage de FI_Fiche_Equipe + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Code des champs +si gclPresentationFicheEquipe<>Null alors +SourceVersEcran("","gclPresentationFicheEquipe") +SourceVersEcran("","gpclPresenListeSociete") +SourceVersEcran("","gpclPresenListeCollabEquipe") +SourceVersEcran("","gpclPresenListeCollabPasDansEquipe") +//MAJ du champ TABLE et de l'objet Contact Client +MAJChampTableEtObjet(TABLE_EquipeCollaborateur,gclPresentationFicheEquipe.ListeCollaborateurEquipe: +p_clCourant) +// affiche la table et restauration de la position courante +nIndiceCollabSansEquip est un entier = ListeSelect(LISTE_Collaborateur) +si nIndiceCollabSansEquip<=0 alors +gpclPresenListeCollabPasDansEquipe:p_clCourant=Null +sinon +gpclPresenListeCollabPasDansEquipe:p_clCourant = LISTE_Collaborateur[nIndiceCollabSansEquip] +fin +BTN_AFFECTATION_MULTIPLE_FICHE_EQUIPE..Etat = gclPresentationFicheEquipe:m_nIDSociete=0 ? Grisé +sinon Actif +BTN_AFFECTATION_SIMPLE_FICHE_EQUIPE..Etat = gclPresentationFicheEquipe:m_nIDSociete=0 ? Grisé +sinon Actif +BTN_DESAFFECTATION_MULTIPLE_FICHE_EQUIPE..Etat = gclPresentationFicheEquipe:m_nIDSociete=0 ? Grisé +sinon Actif +BTN_DESAFFECTATION_SIMPLE_FICHE_EQUIPE..Etat = gclPresentationFicheEquipe:m_nIDSociete=0 ? +Grisé sinon Actif +TABLE_EquipeCollaborateur..Etat = gclPresentationFicheEquipe:m_nIDSociete=0 ? Grisé sinon +Actif +LISTE_Collaborateur..Etat = gclPresentationFicheEquipe:m_nIDSociete=0 ? Grisé sinon Actif +Societe2Accessible() +fin +Fermeture de FI_Fiche_Equipe +DeblocEnregistrement(gclPresentationFicheEquipe,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_EQUIPE,BTN_CADENAS_OUVERT_EQUIPE,GR_CADENAS_EQUIPE,DISP_FICHE_EQUIPE,Faux) +Clic sur BTN_AFFECTATION_MULTIPLE_FICHE_EQUIPE +pour toute ligne de LISTE_Collaborateur +//Variable temporaire servant à passer les éléments de la table +pclModeleCollab est un MCollaborateur dynamique +//Copie des valeurs de la table dans la variable temporaire +pclModeleCollab = LISTE_Collaborateur +gpclPresenListeCollabPasDansEquipe.p_clCourant=pclModeleCollab +AffecterCollaborateur() +fin +ListeAffiche(LISTE_Collaborateur,taInit) +Clic sur BTN_AFFECTATION_SIMPLE_FICHE_EQUIPE +//Variable temporaire servant à passer les éléments de la table +pclModeleCollab est un MCollaborateur dynamique +//Copie des valeurs de la table dans la variable temporaire +pclModeleCollab = LISTE_Collaborateur +gpclPresenListeCollabPasDansEquipe.p_clCourant =pclModeleCollab +AffecterCollaborateur() +ListeAffiche(LISTE_Collaborateur,taInit) +Clic sur BTN_AFFECTATION_SIMPLE_FICHE_EQUIPE1 +06/08/2026 Isis_BO 2459 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Code des champs +si COMBO_Societe..ValeurMémorisée > 0 et SAI_SEQ_Nom <> "" alors +//Variable temporaire servant à passer les éléments de la table +pclModeleCollab est un MCollaborateur dynamique +//Copie des valeurs de la table dans la variable temporaire +pclModeleCollab = LISTE_Collaborateur1 +gpclPresenListeCollabPasDansEquipe.p_clCourant =pclModeleCollab +AffecterCollaborateur(Faux) +ListeAffiche(LISTE_Collaborateur1,taInit) +fin +Clic sur BTN_DESAFFECTATION_MULTIPLE_FICHE_EQUIPE +pour toute ligne de TABLE_EquipeCollaborateur +gpclPresenListeCollabEquipe.p_clCourant=TABLE_EquipeCollaborateur +DesaffecterCollaborateur(Vrai) +fin +PFicheEquipe.gListeCollaborateurPasDansEquipe(gclPresentationFicheEquipe) +gpclPresenListeCollabPasDansEquipe <- gclPresentationFicheEquipe.ListeCollaborateurPasDansEquipe +MaJListeSociete2() +ListeAffiche(LISTE_Collaborateur,taInit) +Clic sur BTN_DESAFFECTATION_SIMPLE_FICHE_EQUIPE +//Variable temporaire servant à passer les éléments de la table +pclModeleCollab est un MCollaborateur dynamique +//Copie des valeurs de la table dans la variable temporaire +pclModeleCollab = TABLE_EquipeCollaborateur +gpclPresenListeCollabPasDansEquipe.p_clCourant =pclModeleCollab +DesaffecterCollaborateur() +Sélection d'une ligne de COMBO_Societe +si gclPresentationFicheEquipe:m_nIDSociete<>0 _et_ TABLE_EquipeCollaborateur..Occurrence>0 alors +si OuiNon("Les collaborateurs de l'équipe seront supprimés"+RC+"Souhaitez-vous continuer ?")=Faux +alors +DemandeMiseAJourIHM() +retour +sinon +ExécuteTraitement(FI_Fiche_Equipe.BTN_DESAFFECTATION_MULTIPLE_FICHE_EQUIPE,trtClic) +fin +fin +ChampVersSource() +PFicheEquipe.gListeCollaborateurPasDansEquipe(gclPresentationFicheEquipe) +gpclPresenListeCollabPasDansEquipe <- gclPresentationFicheEquipe.ListeCollaborateurPasDansEquipe +ListeAffiche(LISTE_Collaborateur,taInit) +BTN_AFFECTATION_MULTIPLE_FICHE_EQUIPE..Etat = gclPresentationFicheEquipe:m_nIDSociete=0 ? Grisé +sinon Actif +BTN_AFFECTATION_SIMPLE_FICHE_EQUIPE..Etat = gclPresentationFicheEquipe:m_nIDSociete=0 ? Grisé +sinon Actif +BTN_DESAFFECTATION_MULTIPLE_FICHE_EQUIPE..Etat = gclPresentationFicheEquipe:m_nIDSociete=0 ? Grisé +sinon Actif +BTN_DESAFFECTATION_SIMPLE_FICHE_EQUIPE..Etat = gclPresentationFicheEquipe:m_nIDSociete=0 ? Grisé +sinon Actif +TABLE_EquipeCollaborateur..Etat = gclPresentationFicheEquipe:m_nIDSociete=0 ? Grisé sinon Actif +LISTE_Collaborateur..Etat = gclPresentationFicheEquipe:m_nIDSociete=0 ? Grisé sinon Actif +Societe2Accessible() +Ouverture de la liste déroulante de COMBO_Societe +06/08/2026 Isis_BO 2460 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Code des champs +//nIDClient est un entier sur 8 octets +//nIDClient = +//gclPresentation:m_nIDClient = OuvrePopup(FI_Liste_Client,Null,vrai) +//ComboFerme(COMBO_Client) +Sélection d'une ligne de COMBO_Societe1 +si COMBO_Societe..ValeurMémorisée <= 0 et SAI_SEQ_Nom = "" alors +Info("Vous devez d’abord choisir une entreprise et le nom de l’Equipe.") +retour +fin +si COMBO_Societe..ValeurMémorisée <= 0 alors +Info("Vous devez d’abord choisir la société lié a l’équipe") +retour +fin +si SAI_SEQ_Nom = "" alors +Info("Vous devez d’abord choisir le nom de l’équipe.") +retour +fin +si COMBO_Societe1.ValeurMémorisée >0 alors +gpclPresenListeCollabPasDansEquipe2 = PTableCollaborateur.gNouvellePresentation(3,COMBO_Societe1. +ValeurMémorisée,gclPresentationFicheEquipe.IdentifiantUnique) +ListeAffiche(LISTE_Collaborateur1,taInit) +//BTN_AFFECTATION_MULTIPLE_FICHE_EQUIPE..Etat += gclPresentationFicheEquipe:m_nIDSociete=0 ? Grisé SINON Actif +BTN_AFFECTATION_SIMPLE_FICHE_EQUIPE1..Etat = COMBO_Societe1..ValeurMémorisée <= 0 ? Grisé +sinon Actif +//BTN_DESAFFECTATION_MULTIPLE_FICHE_EQUIPE..Etat += gclPresentationFicheEquipe:m_nIDSociete=0 ? Grisé SINON Actif +//BTN_DESAFFECTATION_SIMPLE_FICHE_EQUIPE1..Etat += COMBO_Societe1..ValeurMémorisée <= 0 ? Grisé SINON Actif +TABLE_EquipeCollaborateur..Etat = gclPresentationFicheEquipe:m_nIDSociete=0 ? +Grisé sinon Actif +LISTE_Collaborateur1..Etat = COMBO_Societe1..ValeurMémorisée <= 0 ? +Grisé sinon Actif +fin +Ouverture de la liste déroulante de COMBO_Societe1 +//nIDClient est un entier sur 8 octets +//nIDClient = +//gclPresentation:m_nIDClient = OuvrePopup(FI_Liste_Client,Null,vrai) +//ComboFerme(COMBO_Client) +Clic sur BTN_CADENAS_FERME_EQUIPE +si 1=BlocEnregistrement(gclPresentationFicheEquipe,ActiveTimer,BTN_CADENAS_FERME_EQUIPE,BTN_ +CADENAS_OUVERT_EQUIPE,GR_CADENAS_EQUIPE,DISP_FICHE_EQUIPE) +si pas AppelProcFenetreAppelante(gclPresentationFicheEquipe,paramSupplementaire,Faux,Faux,Vrai) +alors +DeblocEnregistrement(gclPresentationFicheEquipe,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_EQUIPE,BTN_CADENAS_OUVERT_EQUIPE,GR_CADENAS_EQUIPE,DISP_FICHE_EQUIPE,Faux) +fin +fin +Clic sur BTN_CADENAS_OUVERT_EQUIPE +06/08/2026 Isis_BO 2461 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Code des champs +DeblocEnregistrement(gclPresentationFicheEquipe,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_EQUIPE,BTN_CADENAS_OUVERT_EQUIPE,GR_CADENAS_EQUIPE,DISP_FICHE_EQUIPE,Faux) +Clic sur BTN_Fermer_fiche_equipe +si paramSupplementaire.eTypeAppel=DansChampFI alors +//SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,Null) +AppelProcFenetreAppelante(gclPresentationFicheEquipe,paramSupplementaire,Faux,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon +FermeVoletEtActiveLePrecedent(VoletDuChamp(DISP_FICHE_EQUIPE)) +fin +Clic sur BTN_Nouveau_fiche_equipe +pclPresentationFiche est un PFicheEquipe dynamique +si paramSupplementaire.eTypeAppel=DansOnglet _et_ paramSupplementaire.sNomIDAppelant="ListeEquipe" +alors +pclPresentationFiche <-paramSupplementaire.pclObjetAppelant.Nouveau() +FEN_Menu.OuvreOuActive(FI_Fiche_Equipe,"Fiche équipe",*,pclPresentationFiche,DonneParam( +paramSupplementaire)) +sinon +pclPresentationFiche <-PFicheEquipe.gNouvellePresentation() +FEN_Menu.OuvreOuActive(FI_Fiche_Equipe,"Fiche équipe",*,pclPresentationFiche) +fin +Clic sur BTN_Supprimer_fiche_equipe +si OuiNon("Confirmez vous la suppression ?")=Non alors +retour +fin +clErreur est un CErreur +si pas gclPresentationFicheEquipe.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +ExécuteTraitement(FI_Fiche_Equipe.DISP_FICHE_EQUIPE.DISP_BANDEAU_ENTETE_FICHE_EQUIPE.BTN_ +Fermer_fiche_equipe,trtClic) +fin +Clic sur BTN_Valider_fiche_equipe +si paramSupplementaire.eTypeAppel=DansChampFI _et_ EnregistreFiche() alors +//SI EnregistreFiche() _et_ paramSupplementaire.eTypeAppel<>Libre _ET_ +paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheEquipe +) +AppelProcFenetreAppelante(gclPresentationFicheEquipe,paramSupplementaire,Vrai,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon si paramSupplementaire.eTypeAppel=DansOnglet _et_ EnregistreFiche() alors +//SI EnregistreFiche() _ET_ paramSupplementaire.eTypeAppel<>Libre _ET_ +paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheEquipe +) +06/08/2026 Isis_BO 2462 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Code des champs +AppelProcFenetreAppelante(gclPresentationFicheEquipe,paramSupplementaire,Vrai,Vrai) +FermeVoletEtActiveLePrecedent(VoletDuChamp(DISP_FICHE_EQUIPE)) +sinon +EnregistreFiche() +fin +Fin d'initialisation de LISTE_Collaborateur +si LISTE_Collaborateur..Occurrence>0 alors +ListeSelectPlus(LISTE_Collaborateur,1) +sinon +BTN_AFFECTATION_SIMPLE_FICHE_EQUIPE..Visible = Faux +fin +Sélection d'une ligne de LISTE_Collaborateur +//Variable temporaire servant à passer les éléments de la table +pclModeleCollab est un MCollaborateur dynamique +//Copie des valeurs de la table dans la variable temporaire +pclModeleCollab = LISTE_Collaborateur +gpclPresenListeCollabPasDansEquipe.p_clCourant=pclModeleCollab +BTN_AFFECTATION_SIMPLE_FICHE_EQUIPE..Visible = Vrai +Fin d'initialisation de LISTE_Collaborateur1 +si LISTE_Collaborateur1..Occurrence>0 alors +ListeSelectPlus(LISTE_Collaborateur1,1) +sinon +BTN_AFFECTATION_SIMPLE_FICHE_EQUIPE1..Visible = Faux +fin +Sélection d'une ligne de LISTE_Collaborateur1 +//Variable temporaire servant à passer les éléments de la table +pclModeleCollab est un MCollaborateur dynamique +//Copie des valeurs de la table dans la variable temporaire +pclModeleCollab = LISTE_Collaborateur1 +gpclPresenListeCollabPasDansEquipe2.p_clCourant=pclModeleCollab +BTN_AFFECTATION_SIMPLE_FICHE_EQUIPE1..Visible = Vrai +A chaque modification de SAI_SEQ_Nom +ChampVersSource() +Societe2Accessible() +Sélection d'une ligne de TABLE_EquipeCollaborateur +si TABLE_EquipeCollaborateur..Nouveau alors +gpclPresenListeCollabEquipe.p_clCourant=Null +sinon +gpclPresenListeCollabEquipe.p_clCourant=TABLE_EquipeCollaborateur +fin +BTN_DESAFFECTATION_SIMPLE_FICHE_EQUIPE..Visible = Vrai +06/08/2026 Isis_BO 2463 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Procédures +FI_Fiche_Equipe +Procédures +Procédure locale ActiveTimer +// Résumé : +// Syntaxe : +//ActiveTimer ( est entier) +// +// Paramètres : +// nIdTimer (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ActiveTimer(local nIdTimer est un entier) +TimerSys(TimeOutEquipe,100,nIdTimer) +Procédure locale AffecterCollaborateur +procédure AffecterCollaborateur(bSociete est un booléen = Vrai) +clErreur est un CErreur +pclFicheEquipCollaborateur est un PFicheEquipe_Collaborateur dynamique +// si le PKID est egal a 0 il s'agit de la creation d'un equipe, il faut enregistrer l'equipe +avant pour pouvoir creer la liason entre les collaborateurs et l'equipe +si gclPresentationFicheEquipe:p_clCourant:m_nPKID = 0 alors +EnregistreFiche() +fin +pclFicheEquipCollaborateur<-gpclPresenListeCollabEquipe:Nouveau() +// sauvegarde de la table +pclFicheEquipCollaborateur:m_nIDEquipe = gclPresentationFicheEquipe:p_clCourant:m_nPKID +si bSociete alors +pclFicheEquipCollaborateur:m_nIDCollaborateur = gpclPresenListeCollabPasDansEquipe:p_clCourant: +m_nPKID +pclFicheEquipCollaborateur:m_clCollaborateur = gpclPresenListeCollabPasDansEquipe:p_clCourant +sinon +pclFicheEquipCollaborateur:m_nIDCollaborateur = gpclPresenListeCollabPasDansEquipe2:p_clCourant: +m_nPKID +pclFicheEquipCollaborateur:m_clCollaborateur = gpclPresenListeCollabPasDansEquipe2:p_clCourant +fin +// traitement des erreurs +si pas pclFicheEquipCollaborateur.bOK(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +si bSociete alors +gpclPresenListeCollabPasDansEquipe.bSupprimer(clErreur) +sinon +gpclPresenListeCollabPasDansEquipe2.bSupprimer(clErreur) +fin +06/08/2026 Isis_BO 2464 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Procédures +fin +Procédure locale DesactiveTimer +// Résumé : +// Syntaxe : +//DesactiveTimer ( est entier) +// +// Paramètres : +// nIdTimer (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DesactiveTimer(local nIdTimer est un entier) +FinTimerSys(nIdTimer) +Procédure locale DesaffecterCollaborateur +procédure DesaffecterCollaborateur(local bTous est un booléen=Faux) +clErreur est un CErreur +si gpclPresenListeCollabEquipe.bSupprimer(clErreur) alors +si pas bTous alors +PFicheEquipe.gListeCollaborateurPasDansEquipe(gclPresentationFicheEquipe) +gpclPresenListeCollabPasDansEquipe <- gclPresentationFicheEquipe. +ListeCollaborateurPasDansEquipe +MaJListeSociete2() +ListeAffiche(LISTE_Collaborateur,taInit) +fin +fin +Procédure locale EnregistreFiche +// Résumé : +// Syntaxe : +//[ = ] EnregistreFiche () +// +// Paramètres : +// Aucun +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure EnregistreFiche() +bResultat est un booléen +bResultat = ValideFicheSimple(gclPresentationFicheEquipe,paramSupplementaire,ActiveTimer,BTN_ +CADENAS_FERME_EQUIPE,BTN_CADENAS_OUVERT_EQUIPE,GR_CADENAS_EQUIPE,DISP_FICHE_EQUIPE) +//clErreur est un CErreur +//nPKID est un entier sur 8 octets = gclPresentationFicheEquipe:IdentifiantUnique +//// validation +//SI PAS gclPresentationFicheEquipe.bOK(clErreur) ALORS//PAS +gclPresentationFicheEquipe.bOK(clErreur,Vrai,Vrai) +// Erreur(clErreur.FormateMessage()) +// +06/08/2026 Isis_BO 2465 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Procédures +//SINON +// SI nPKID=0 _ET_ paramSupplementaire.eTypeAppel=DansOnglet ALORS +// +FEN_Menu.RenomeOnglet(gclPresentationFicheEquipe:IdentifiantUnique,gclPresentationFicheEquipe:InfoOngle +t) +// FIN +// bResultat = vrai +//FIN +renvoyer bResultat +Procédure locale MaJListeSociete2 +procédure MaJListeSociete2() +si COMBO_Societe1.ValeurMémorisée >0 alors +gpclPresenListeCollabPasDansEquipe2 = PTableCollaborateur.gNouvellePresentation(3,COMBO_Societe1. +ValeurMémorisée,gclPresentationFicheEquipe.IdentifiantUnique) +ListeAffiche(LISTE_Collaborateur1,taInit) +fin +Procédure locale Societe2Accessible +procédure Societe2Accessible() +si COMBO_Societe..ValeurMémorisée <= 0 ou SAI_SEQ_Nom = "" alors +COMBO_Societe1..Grisé = Vrai +sinon +COMBO_Societe1..Grisé = Faux +fin +Procédure locale SurActivite +// Résumé : +// Syntaxe : +//SurActivite (, , ) +// +// Paramètres : +// wEve : +// wParam : +// lParam : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SurActivite(wEve,wParam,lParam) +si gclPresentationFicheEquipe:m_bBlocageEcriture alors +gnDelai=DonneValeurTimeOutObjet(gclPresentationFicheEquipe) +fin +Procédure locale TimeOutEquipe +procédure TimeOutEquipe() +//Enlève 1 seconde au temps restant +gnDelai-- +06/08/2026 Isis_BO 2466 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Equipe › Procédures +//Le temps est écoulé, l'enregistrement et le déblocage de ce dernier c'est bien passé +si gnDelai = 0 alors +DeblocEnregistrement(gclPresentationFicheEquipe,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_EQUIPE,BTN_CADENAS_OUVERT_EQUIPE,GR_CADENAS_EQUIPE,DISP_FICHE_EQUIPE,*,Vrai) +fin +Procédure locale TriColonne +// Procédure callback appelée à chaque clic sur entête de colonne de "Table1" pour trier la colonne +// wEve [in]: Numéro du message Windows +// wParam [in] : Numéro de la colonne a trier +// lParam [in]: Ordre du tri 5 (1 : Croissant, 0 : décroissant) +// Renvoyer 0 pour ne pas effectuer le tri demandé +procédure TriColonne(wEve,wParam,lParam) +sSens est une chaîne="" +si wParam<>0 alors//N° de colonne sur laquelle le clic est effectué +//Détection du sens du tri +si pas lParam alors sSens="-" +//Trier sur la colonne +TableTrie(TABLE_EquipeCollaborateur,sSens+TableEnumèreColonne(TABLE_EquipeCollaborateur,wParam), +"+COL_PKID") +//Traitement à effectuer "Après chaque tri" +TrieObjetChampTableSiBesoin(gclPresentationFicheEquipe:ListeCollaborateurEquipe,TABLE_ +EquipeCollaborateur,gsTriEnCours) +renvoyer 0 +fin +06/08/2026 Isis_BO 2467 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Image +FI_Liste_Equipe +Image +FI_Liste_Equipe +Informations générales +FI_Liste_Equipe +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Liste_Equipe.wdw +| Créé par | | frederic.bourras@applilogik.fr | | | | +| -------------------------- | ------------ | ------------------------------ | --------- | --------------- | --- | +| Date de création | | 03/09/2018 18:50:03 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:32 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 778 Hauteur | 89 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ------- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| 06/08/2026 | | | Isis_BO | | 2468 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations générales +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Statistiques de la fenêtre +Libellé 3 Bouton 5 +Image 2 Table 1 +Forme 1 Fenêtre interne 1 +Fenêtre interne 1 Colonne de table 3 +Disposition 2 Cellule de disposition 13 +Nombre d'éléments dans la fenêtre : 32 +FI_Liste_Equipe +Informations sur les champs +06/08/2026 Isis_BO 2469 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Fenêtre : FI_Liste_Equipe +Fenêtre interne +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| FI_Liste_Equipe | | 0 | 0 | 778 | 89 | 0 | | | | +| --------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +Fenêtre interne : FI_Liste_Equipe +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | --- | +| | | | | | laitini tatE | | | FTR tamroF | | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +LIB_Titre_de_fenêtre_liste_equip 6 6 39 21 0 Actif Gauche Centre +| LIB_Total_Equipe | 46 | 0 36 | 14 | 0 | Actif | Gauche | Haut | | | +| ---------------------- | --- | ---- | --- | --- | ----- | ------ | ---- | --- | --- | +| LIB_Total_Titre_Equipe | 6 | 0 40 | 14 | 0 | Actif | Gauche | Haut | | | +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| BTN_Fermer_liste_equipe | 4 | 4 | 24 | 24 | 0 | Actif | | Abandon | | +| ---------------------------- | --- | --- | --- | --- | --- | ----- | --- | ------- | --- | +| BTN_Modifier_liste_equipe | 4 | 4 | 24 | 24 | 0 | Grisé | | Normal | | +| BTN_Nouveau_liste_equipe | 4 | 4 | 24 | 24 | 0 | Actif | | Normal | | +| BTN_SelectLigne_liste_equipe | 4 | 4 | 24 | 24 | 0 | Grisé | | Normal | | +| BTN_Supprimer_liste_equipe | 4 | 4 | 24 | 24 | 0 | Grisé | | Normal | | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | ------- | ------------ | --------- | --- | ---------- | +| | | | | ruetuaH | | | cilc cevA | | | +| | | | ruegraL | | elbisiV | | | | | +nalP +| IMG_OPACITE_ENTETE_LISTE_EQUIPE | 0 | 0 | 778 | 33 | 0 | Actif | | | | +| ------------------------------- | --- | --- | ------- | --- | --- | ----- | --- | --- | ---- | +| IMG_OPACITE_TABLE_EQUIPE | 0 | 0 | 778 | 42 | 0 | Actif | | | | +| 06/08/2026 | | | Isis_BO | | | | | | 2470 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +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 | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | +ruegraL +elbisiV +| | | | nalP | | elbaT | | | | | +| ------------ | --- | -------- | ---- | -------- | -------- | --- | --- | --- | --- | +| TABLE_EQUIPE | 0 | 0 778 42 | 0 | affichag | Variable | | | | 2 | +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| FRM_BANDEAU_BAS_CLIENT | | | 0 | 0 | 778 | 14 | 0 | Actif | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Fenêtre interne +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| CFI_SOUSELEMENT_LISTE_EQUIPE | | | 0 | 0 | 778 | 362 | 0 | Actif | | +| ---------------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Disposition +BAT ehcuoT +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| DISP_BANDEAU_ENTETE_LISTE_EQUIPE | | | 0 | 0 | 778 | 33 | 0 | Actif | | +| -------------------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| DISP_LISTE_EQUIPE | | | 0 | 0 | 778 | 89 | 0 | Actif | | +Table : FI_Liste_Equipe.DISP_LISTE_EQUIPE.TABLE_EQUIPE +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_Societe | | 300 | affichag | | | Gauche Centre | Texte | | | +| COL_SEQ_Nom | | 306 | Actif | | | Gauche Centre | Texte | | | +| COL_PKID | | 100 | Actif | | | Droite Centre | Numériq | | | +| 06/08/2026 | | | | Isis_BO | | | | | 2471 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Fenêtre : FI_Liste_Equipe +Fenêtre interne : FI_Liste_Equipe +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Liste_Equipe +Bouton : +Groupe GR_MODEFORMULAIRE_LISTE_EQUIPE +Ordre navigation 1 +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 +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 +06/08/2026 Isis_BO 2472 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GR_MODIFICATION_LISTE_EQUIPE,GR_MODEFORMULAIRE_LISTE_EQUIPE +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_modifier.png +06/08/2026 Isis_BO 2473 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GR_MODEFORMULAIRE_LISTE_EQUIPE +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 2474 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GR_MODEFORMULAIRE_LISTE_EQUIPE +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2475 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Bouton : +Groupe GR_MODEFORMULAIRE_LISTE_EQUIPE,GR_MODIFICATION_LISTE_EQUIPE +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2476 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Fenêtre interne : FI_Liste_Equipe.DISP_LISTE_EQUIPE.CFI_SOUSELEMENT_LISTE_EQUIPE +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 +Ancrage au contenu +Numéro aide 0 +Ascenseur auto. 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 +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Agrandir le champ, pousse les champs autour +06/08/2026 Isis_BO 2477 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Equipe.DISP_LISTE_EQUIPE +Libellé FR: Disposition +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 +Cellule ancrée 4 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Liste_Equipe.DISP_LISTE_EQUIPE.FRM_BANDEAU_BAS_CLIENT +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et bas +06/08/2026 Isis_BO 2478 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Liste_Equipe.DISP_LISTE_EQUIPE.IMG_OPACITE_ENTETE_LISTE_EQUIPE +Groupe GR_IMAGE_OPAQUE_LISTE_EQUIPE +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 50 +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. +Mire visible Non +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +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 +Image : FI_Liste_Equipe.DISP_LISTE_EQUIPE.IMG_OPACITE_TABLE_EQUIPE +Groupe GR_HAUTEUR_LISTE_EQUIPE,GR_IMAGE_OPAQUE_LISTE_EQUIPE +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu contextuel +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Isis_BO 2479 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 50 +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. +Mire visible Non +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +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 +Libellé : +Libellé FR: Titre +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 +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 +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 +06/08/2026 Isis_BO 2480 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Equipe.DISP_LISTE_EQUIPE.LIB_Total_Equipe +Libellé FR: 000 +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 +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 +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 +Liaison des données :gclPresentationListeEquipe.p_nTotal +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 +06/08/2026 Isis_BO 2481 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Libellé : FI_Liste_Equipe.DISP_LISTE_EQUIPE.LIB_Total_Titre_Equipe +Libellé FR: Total : +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 +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 +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 Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Table : FI_Liste_Equipe.DISP_LISTE_EQUIPE.TABLE_EQUIPE +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Recherche +UI par l'utilisateur Selon fenêtre +Menu contextuel +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 0 +Marge en bas 0 +Marge à gauche 1 +06/08/2026 Isis_BO 2482 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Marge à droite 3 +Sens Vertical +Retrait gauche 2 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 500 +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 +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationListeEquipe.m_clTabModele +Rub. mémorisée :gclPresentationListeEquipe.m_clTabModele +Ajout/Suppr. dans variable Non +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 +06/08/2026 Isis_BO 2483 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Table : FI_Liste_Equipe.DISP_LISTE_EQUIPE.TABLE_EQUIPE +Colonne de table : FI_Liste_Equipe.DISP_LISTE_EQUIPE.TABLE_EQUIPE.COL_Societe (1) +Titre FR: Societe +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 300 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Liaison des données :gclPresentationListeEquipe.m_clTabModele.m_nIDSociete +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Equipe.DISP_LISTE_EQUIPE.TABLE_EQUIPE.COL_SEQ_Nom +Titre FR: Nom de l'équipe +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 +06/08/2026 Isis_BO 2484 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 50 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationListeEquipe.m_clTabModele.m_sNom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Equipe.DISP_LISTE_EQUIPE.TABLE_EQUIPE.COL_PKID (3) +Titre FR: PKID +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: MoneySystemMask +Mode ellipse +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 +Liaison des données :gclPresentationListeEquipe.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2485 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Messages multilingues +FI_Liste_Equipe +Messages multilingues +06/08/2026 Isis_BO 2486 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FI_Liste_Equipe +Code des champs +Déclarations globales de FI_Liste_Equipe +procédure FI_Liste_Equipe(gclPresentationListeEquipe est un PTableEquipe dynamique=Null, +paramSupplementaire est un STParamFenetreAppelante=Null) +//Variable qui contient la call stack à appeler dans les appels de sous fenêtre +maProcMAJObjetRetourListEquip est une procédure = MAJObjetRetourFI +gsTriEnCoursEquipe est une chaîne +Evénement(TriColonne,"TABLE_EQUIPE",1529) +LIB_Titre_de_fenêtre_liste_equipe = paramSupplementaire.eTypeAppel=Libre ? "Liste des équipes" sinon +paramSupplementaire.sTitreFenetre<>"" ? paramSupplementaire.sTitreFenetre sinon "Liste des équipes" +local +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentationListeEquipe=Null alors +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.sNomIDAppelant<>"" alors +selon paramSupplementaire.sNomIDAppelant +cas "SocieteListeEquipe" : +gclPresentationListeEquipe=PTableEquipe.gNouvellePresentation(1,paramSupplementaire. +pclObjetAppelant.m_nPKID) +TABLE_EQUIPE.COL_Societe..Visible=Faux +cas "SocieteListeEquipeSans": +gclPresentationListeEquipe=PTableEquipe.gNouvellePresentation(2) +TABLE_EQUIPE.COL_Societe..Visible=Faux +// SI paramSupplementaire.bMultiSelect ALORS +// TABLE.COL_SEL..Visible=Vrai +// FIN +autre cas : gclPresentationListeEquipe=PTableEquipe. +gNouvellePresentation(0) +fin +sinon +gclPresentationListeEquipe=PTableEquipe.gNouvellePresentation(0) +fin +fin +Demande de mise à jour de l'affichage de FI_Liste_Equipe + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Code des champs +si gclPresentationListeEquipe<>Null _et_ gclPresentationListeEquipe est PTableEquipe alors +//Trie l'objet lié au champ TABLE selon le trie effectuée sur ce champ +//TrieObjetChampTableSiBesoin(gclPresentationListeEquipe,TABLE_EQUIPE,gsTriEnCoursEquipe) +// mise à jour des champs bindés sur la présentation (compteur par exemple) +SourceVersEcran("","gclPresentationListeEquipe") +//MAJ du champ TABLE et de l'objet Liste equipe +MAJChampTableEtObjet(TABLE_EQUIPE,gclPresentationListeEquipe:p_clCourant) +// Gestion de l'accessibilité des boutons +GestionBoutonsEnteteDansListe(GR_MODIFICATION_LISTE_EQUIPE,BTN_Nouveau_liste_equipe,BTN_ +SelectLigne_liste_equipe,gclPresentationListeEquipe,paramSupplementaire) +//En demande de MAJ la cellule des totaux peut avoir changé au niveau de la visibilité +DISP_LISTE_EQUIPE[3]..Visible = (paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.e +TypeAppel=DansChampFI) ? Faux sinon Vrai +si paramSupplementaire.eTypeAppel<>DansFenetre alors FEN_Menu.PriseFocus(VoletDuChamp(DISP_ +LISTE_EQUIPE))//FEN_Menu.PriseFocus("FI_Liste_Equipe") +fin +Clic sur BTN_Fermer_liste_equipe +si paramSupplementaire.eTypeAppel=DansChampFI alors +//SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,Null) +AppelProcFenetreAppelante(gclPresentationListeEquipe,paramSupplementaire,Faux,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon +FermeVoletEtActiveLePrecedent(VoletDuChamp(DISP_LISTE_EQUIPE)) +fin +Clic sur BTN_Modifier_liste_equipe +//OuvreFichePersonne(FicheEnModification) +OuvreFicheDepuisListe(FicheEnModification,paramSupplementaire,gclPresentationListeEquipe,FI_ +Fiche_Equipe,MaFenêtreInterne..Nom,DISP_LISTE_EQUIPE,TABLE_EQUIPE,CFI_SOUSELEMENT_LISTE_EQUIPE,GR_ +IMAGE_OPAQUE_LISTE_EQUIPE,GR_HAUTEUR_LISTE_EQUIPE,GR_MODEFORMULAIRE_LISTE_EQUIPE, +maProcMAJObjetRetourListEquip,MoiMême..Nom) +Clic sur BTN_Nouveau_liste_equipe +OuvreFicheDepuisListe(FicheEnAjout,paramSupplementaire,gclPresentationListeEquipe,FI_Fiche_Equipe, +MaFenêtreInterne..Nom,DISP_LISTE_EQUIPE,TABLE_EQUIPE,CFI_SOUSELEMENT_LISTE_EQUIPE,GR_ +IMAGE_OPAQUE_LISTE_EQUIPE,GR_HAUTEUR_LISTE_EQUIPE,GR_MODEFORMULAIRE_LISTE_EQUIPE, +maProcMAJObjetRetourListEquip,MoiMême..Nom) +//OuvreFichePersonne(FicheEnAjout) +//SI paramSupplementaire.eTypeAppel=DansChampFI ALORS +// ChangeFenêtreSource(MaFenêtreInterne..Nom,FI_Fiche_Personne,*,DonneParam(paramSupplementaire)) +//SINON +// clPresentationFiche est un PFichePersonne<-gclPresentation.Nouveau(Faux,0) +// //FEN_Test_menu.OuvreOuActive(FI_Fiche_Personne,"Fiche personne",clPresentationFiche) +// FEN_Menu.OuvreOuActive(FI_Fiche_Personne,"Fiche personne",clPresentationFiche) +//FIN +Clic sur BTN_SelectLigne_liste_equipe +si paramSupplementaire.eTypeAppel=DansChampFI alors +06/08/2026 Isis_BO 2487 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Code des champs +// SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +// SI paramSupplementaire.bMultiSelect ALORS +// +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationListeEquipe) +// SINON +// pclPresentationFiche est un PFichePersonne dynamique +// pclPresentationFiche <- gclPresentationListeEquipe.Modifier() +// +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,pclPresentationFiche) +// FIN +// +// FIN +AppelProcFenetreAppelante(gclPresentationListeEquipe,paramSupplementaire,Vrai,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon si paramSupplementaire.eTypeAppel=DansFenetre alors +Ferme(FEN_ChoixFenetreInterne,gclPresentationListeEquipe.p_clCourant) +fin +//SI MaFenêtreInterne..Nom="CFI_CLIENT" ALORS +// +// SI paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.gProcMAJRetour<> Null ALORS +// pclPresentationFiche est un PFichePersonne dynamique +// pclPresentationFiche <- gclPresentation.Modifier() +// paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,pclPresentationFiche) +// FIN +// ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +// +//SINON +// Ferme(FEN_ChoixFenetreInterne,gclPresentation.p_clCourant) +//FIN +Clic sur BTN_Supprimer_liste_equipe +si OuiNon("Confirmez vous la suppression ?")=Non alors +retour +fin +// gestion de la saisie en cascade +// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +nIndice est un entier=TableSelect(TABLE_EQUIPE) +si nIndice>1 _et_ nIndice=TableOccurrence(TABLE_EQUIPE) alors +TableSelectPlus(TABLE_EQUIPE,nIndice-1) +fin +clErreur est un CErreur +si pas gclPresentationListeEquipe.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +fin +Sortie d'une ligne de TABLE_EQUIPE +// si la table n'a pas été modifiée, il ne faut rien faire +si TABLE_EQUIPE..Modifié=Faux alors +retour +fin +clErr est un CErreur +pclPresentationFiche est un PFicheEquipe dynamique +// ajout d'une nouvelle ligne +si TABLE_EQUIPE..Nouveau alors +pclPresentationFiche<-gclPresentationListeEquipe.Nouveau(Faux,0) +// modification d'une ligne existante +sinon +pclPresentationFiche<-gclPresentationListeEquipe.Modifier() +06/08/2026 Isis_BO 2488 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Code des champs +fin +// sauvegarde de la table +TableEnregistre(TABLE_EQUIPE,pclPresentationFiche) +// traitement des erreurs +si pas pclPresentationFiche.bOK(clErr) alors//PAS pclPresentationFiche.bOK(clErr,Vrai,Vrai) +Erreur(clErr.FormateMessage()) +fin +// repasse la table en non modifiée +TABLE_EQUIPE..Modifié=Faux +Sélection d'une ligne de TABLE_EQUIPE +si TABLE_EQUIPE..Nouveau alors +gclPresentationListeEquipe.p_clCourant=Null +sinon +gclPresentationListeEquipe.p_clCourant=TABLE_EQUIPE +fin +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_EQUIPE +//OuvreFicheEquipe() +DoubleClicLigneTableau() +Touche appuyée (WM_CHAR) de TABLE_EQUIPE +nTouche est un entier = 0x0d +// Vérifie si la touche dont le code virtuel est 0x0d a été appuyée +si ToucheEnfoncée(nTouche) _ou_ _EVE.wParam = nTouche alors +// Insérer ici le traitement à effectuer +DoubleClicLigneTableau() +fin +FI_Liste_Equipe +Procédures +Procédure locale DoubleClicLigneTableau +// Résumé : +// Syntaxe : +// DoubleClicLigneTableau () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DoubleClicLigneTableau() +06/08/2026 Isis_BO 2489 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Procédures +si gclPresentationListeEquipe.p_clCourant<>Null alors +paramEquip est STParamFenetreAppelante //= paramSupplementaire +paramEquip.eTypeAppel = DansOnglet +paramEquip.sContexteAppelant = MoiMême..Nom +paramEquip.gProcMAJRetour = maProcMAJObjetRetourListEquip +paramEquip.sTitreFenetre="Equipe" +OuvreFicheOuRetourneSelection(paramSupplementaire,paramEquip,gclPresentationListeEquipe,FI_ +Fiche_Equipe,FicheEnModification,DansChampFI,MaFenêtreInterne..Nom,DISP_LISTE_EQUIPE,TABLE_EQUIPE, +CFI_SOUSELEMENT_LISTE_EQUIPE,GR_IMAGE_OPAQUE_LISTE_EQUIPE,GR_HAUTEUR_LISTE_EQUIPE,GR_ +MODEFORMULAIRE_LISTE_EQUIPE,maProcMAJObjetRetourListEquip) +fin +Procédure locale MAJObjetRetourFI +// Résumé : +// Syntaxe : +//[ = ] MAJObjetRetourFI ([...]) +// +// Paramètres : +// <*> : > +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sContexte (chaîne ANSI) : +// pclObjet (objet dynamique) : +// <*> : > +procédure MAJObjetRetourFI(*)//LOCAL sContexte est une chaîne, pclObjet est un objet dynamique +bResultat est un booléen=Vrai +nMode est un entier +sNomChamp est une chaîne +pclObjet est un objet dynamique +bReorga est un booléen=Vrai +bBloc est un booléen +si MesParamètres..Occurrence>0 alors +nMode = MesParamètres[1] +fin +selon nMode +cas 1 : +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 2 +bReorga = Faux +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 3 +bReorga = Faux +bBloc = Vrai +fin +si bReorga alors//Gestion de l'affichage pour oublier le champ Fenêtre Interne +ReorganiseChampDispoDansListe(DISP_LISTE_EQUIPE,TABLE_EQUIPE,CFI_SOUSELEMENT_LISTE_EQUIPE,GR_ +IMAGE_OPAQUE_LISTE_EQUIPE,GR_HAUTEUR_LISTE_EQUIPE,GR_MODEFORMULAIRE_LISTE_EQUIPE,Faux) +GestionBoutonsEnteteDansListe(GR_MODIFICATION_LISTE_EQUIPE,BTN_Nouveau_liste_equipe,BTN_ +SelectLigne_liste_equipe,gclPresentationListeEquipe,paramSupplementaire) +fin +//sNomChampPrec est une chaine = ExtraitChaîne(sContexte,2,TAB) +si pclObjet<>Null alors +06/08/2026 Isis_BO 2490 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Procédures +//*******************************MISE A JOUR DE +L'OBJET********************************************************* +selon sNomChamp +cas BTN_Modifier_liste_equipe..Nom,BTN_Nouveau_liste_equipe..Nom : +DemandeMiseAJourIHM() +autre cas +fin +fin +renvoyer bResultat +Procédure locale OuvreFicheEquipe +// Résumé : +// Syntaxe : +// OuvreFicheEquipe () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure OuvreFicheEquipe() +si gclPresentationListeEquipe.p_clCourant<>Null alors +clPresentationFiche est un PFicheEquipe<-gclPresentationListeEquipe.Modifier() +FEN_Menu.OuvreOuActive(FI_Fiche_Equipe,"Fiche équipe",*,clPresentationFiche) +fin +Procédure locale TriColonne +// Procédure callback appelée à chaque clic sur entête de colonne de "Table1" pour trier la colonne +// wEve [in]: Numéro du message Windows +// wParam [in] : Numéro de la colonne a trier +// lParam [in]: Ordre du tri 5 (1 : Croissant, 0 : décroissant) +// Renvoyer 0 pour ne pas effectuer le tri demandé +procédure TriColonne(wEve,wParam,lParam) +sSens est une chaîne="" +si wParam<>0 alors//N° de colonne sur laquelle le clic est effectué +//Détection du sens du tri +si pas lParam alors sSens="-" +//Trier sur la colonne +TableTrie(TABLE_EQUIPE,sSens+TableEnumèreColonne(TABLE_EQUIPE,wParam),"+COL_PKID") +//Traitement à effectuer "Après chaque tri" +TrieObjetChampTableSiBesoin(gclPresentationListeEquipe,TABLE_EQUIPE,gsTriEnCoursEquipe) +renvoyer 0 +fin +06/08/2026 Isis_BO 2491 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Image +FI_Parametrage +Image +FI_Parametrage +Informations générales +FI_Parametrage +06/08/2026 Isis_BO 2492 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations générales +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Parametrage.wdw +| Créé par | | frederic.bourras@applilogik.fr | | | | +| -------------------------- | ------------ | ------------------------------ | --------- | --------------- | --- | +| Date de création | | 05/09/2018 15:06:33 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:27 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1278 Hauteur | 762 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ------- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| 06/08/2026 | | | Isis_BO | | 2493 | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations générales +| 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 | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | +Statistiques de la fenêtre +| | Champ de saisie | | 12 | Libellé | | 21 | +| --- | --------------------- | --- | --- | ----------------------- | --- | --- | +| | Bouton | | 12 | Interrupteur | | 1 | +| | Sélecteur | | 3 | Image | | 7 | +| | Combo | | 3 | Onglet | | 1 | +| | Forme | | 4 | Zone répétée | | 2 | +| | Fenêtre interne | | 3 | Fenêtre interne | | 1 | +| | Superchamp | | 2 | Attribut zone répétée | | 14 | +| | Option d'interrupteur | | 1 | Option de sélecteur | | 6 | +| | Volet (Onglet) | | 7 | Rupture de zone répétée | | 2 | +Nombre d'éléments dans la fenêtre : 102 +FI_Parametrage +Informations sur les champs +Fenêtre : FI_Parametrage +Fenêtre interne +BAT ehcuoT +X noitisoP laitini tatE +Y noitisoP +| | | | ruegraL | ruetuaH | | | +| --- | --- | --- | ------- | ------- | --- | --- | +elbisiV +nalP +| FI_Parametrage | | 0 | 0 1278 | 762 | 0 | | +| -------------- | --- | --- | ------- | --- | --- | ---- | +| 06/08/2026 | | | Isis_BO | | | 2494 | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Fenêtre interne : FI_Parametrage +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_AdresseMailCom | 389 | 220 340 45 | 0 Actif | Texte | | Non | | | +| ------------------- | --- | ---------- | ------- | ----- | --- | --- | --- | --- | +| SAI_AdresseServeurI | 389 | 574 393 45 | 0 Actif | Texte | | Non | | | +| SAI_AdresseServeurS | 390 | 387 393 45 | 0 Actif | Texte | | Non | | | +| SAI_MotdePasseIMAP | 642 | 523 327 45 | 0 Actif | Texte | | Non | | | +| SAI_MotdePasseSMTP | 641 | 335 327 45 | 0 Actif | Texte | | Non | | | +| SAI_NomCompte | 389 | 156 340 45 | 0 Actif | Texte | | Non | | | +SAI_NomUtilisateurIM +| | 389 | 523 247 45 | 0 Actif | Texte | | Non | | | +| ------------------- | --- | ---------- | ------- | ----- | --- | --- | --- | --- | +| SAI_NomUtilisateurS | 389 | 337 247 45 | 0 Actif | Texte | | Non | | | +| SAI_PortIMAPOP | 790 | 574 179 45 | 0 Actif | Texte | | Non | | | +| SAI_PortSMTP | 789 | 387 179 45 | 0 Actif | Texte | | Non | | | +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| LIB_Affichage | | 6 81 | 470 | 20 | 0 | Actif Gauche | Haut | | +| -------------- | --- | ----- | --- | --- | --- | ------------ | ---- | --- | +| LIB_Affichage2 | | 6 152 | 470 | 20 | 0 | Actif Gauche | Haut | | +| LIB_Affichage3 | | 7 257 | 470 | 20 | 0 | Actif Gauche | Haut | | +LIB_INFORMATIONS_GENERALES 382 130 626 150 0 Actif Gauche Haut +| LIB_INFORMATIONS_SERVEUR | | 382 296 | 626 | 403 | 0 | Actif Gauche | Haut | | +| ------------------------ | --- | -------- | ---- | ------- | --- | ------------ | ------ | ---- | +| LIB_Libellé | | 9 324 | 1248 | 418 | 0 | Actif Gauche | Haut | | +| LIB_SERIE_Actif | | 300 100 | 46 | 20 | 0 | Actif Centre | Centre | | +| LIB_SERIE_Code | | 1059 100 | 89 | 20 | 0 | Actif Gauche | Centre | | +| LIB_SERIE_Libelle | | 352 100 | 190 | 20 | 0 | Actif Gauche | Centre | | +| LIB_SERIE_Note | | 582 76 | 623 | 20 | 0 | Actif Gauche | Haut | | +| LIB_SERIE_PARAMETRES | | 297 76 | 279 | 20 | 0 | Actif Gauche | Haut | | +| LIB_SERIE_PARAMETRES3 | | 382 75 | 189 | 22 | 0 | Actif Gauche | Haut | | +| LIB_SERIE_Systeme | | 1159 100 | 65 | 20 | 0 | Actif Gauche | Centre | | +| LIB_SERVEUR_POP | | 389 497 | 269 | 20 | 0 | Actif Gauche | Haut | | +| LIB_SERVEUR_SMTP | | 391 318 | 177 | 20 | 0 | Actif Gauche | Haut | | +| LIB_TYPE_DE_PARAMETRES | | 19 76 | 239 | 20 | 0 | Actif Gauche | Haut | | +| LIB_Titre_de_fenêtre | | 7 4 | 292 | 21 | 0 | Actif Gauche | Centre | | +| 06/08/2026 | | | | Isis_BO | | | | 2495 | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Bouton +notuob epyT +| | | | | | | | | | | laitini tatE BAT ehcuoT | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | ----------------------- | --- | --- | +| | | | X noitisoP | Y noitisoP | | | | | | | | | +| | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_AccessUtilitaire | | | 0 | 1 | 53 | 24 | 0 | | Actif | | Normal | | +| -------------------------- | --- | --- | ---- | --- | --- | --- | --- | --- | ----- | --- | ------- | --- | +| BTN_CLOSE_PARAM | | | 1247 | 2 | 24 | 24 | 0 | | Actif | | Abandon | | +| BTN_Descent | | | 1239 | 195 | 24 | 24 | 0 | | Actif | | Normal | | +| BTN_EDT_MODELE_RAPPORT1 | | | 528 | 410 | 223 | 66 | 0 | | Actif | | Normal | | +| BTN_EDT_MODELE_RAPPORT_Mob | | | 528 | 482 | 223 | 66 | 0 | | Actif | | Normal | | +| BTN_EDT_PARAM | | | 1239 | 257 | 24 | 24 | 0 | | Actif | | Normal | | +BTN_Editeur_de_modèles_de_mails 528 338 223 66 0 Actif Normal +| BTN_NouveauParam | | | 1239 | 134 | 24 | 24 | 0 | | Actif | | Normal | | +| ------------------ | --- | --- | ---- | --- | --- | --- | --- | --- | ----- | --- | ------ | --- | +| BTN_Remonte | | | 1239 | 167 | 24 | 24 | 0 | | Actif | | Normal | | +| BTN_SupprimerParam | | | 1239 | 225 | 25 | 25 | 0 | | Grisé | | Normal | | +| BTN_Test | | | 773 | 633 | 196 | 51 | 0 | | Actif | | Normal | | +| BTN_Test2 | | | 420 | 183 | 196 | 24 | 0 | | Actif | | Normal | | +Sélecteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | | | | | | laitini tatE | | | | staté siorT | +| --- | --- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | --- | --- | ----------- | +Y noitisoP +| | | | | ruegraL | ruetuaH | | | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| SEL_AffichePlanning | | | 6 110 | | 395 33 | | 0 | Actif | | | 2 | | +| ------------------- | --- | --- | ----- | --- | ------ | --- | --- | ----- | --- | --- | --- | --- | +| SEL_Messagerie | | | 6 181 | | 395 33 | | 0 | Actif | | | 2 | | +| SEL_TLM | | | 7 286 | | 394 33 | | 0 | Actif | | | 2 | | +Image +| | | | | | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | ---------- | --- | --- | --- | --- | --- | --- | ------------ | --- | --------------------------------------- | ---------- | +| | | X noitisoP | | | | | | | laitini tatE | | | sucof cevA | +Y noitisoP +| | | | | | ruegraL ruetuaH | | | | | cilc cevA | | | +| --- | --- | --- | --- | --- | --------------- | --- | --- | --- | --- | --------- | --- | --- | +elbisiV +nalP +| IMG_Config | | | 1198 | 14 | 30 | 30 | 0 | | Actif | | | | +| ---------- | --- | --- | ---- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | | | | BAT ehcuoT | | eisias cevA | | | | +| --- | ---------- | ---------- | --------------- | --- | ------------ | --- | ---------- | -------- | ----------- | --- | --- | --- | +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | | | | | +| | | | ruegraL ruetuaH | | | | | sruocraP | | | | | +elbisiV +| | | | | | | | elbaT | | eéirT | | | | +| --- | --- | --- | --- | --- | --- | --- | ----- | --- | ----- | --- | --- | --- | +nalP +| COMBO_PopImap | 618 | 491 | 196 | 28 | 0 Actif | | Mémoire | | | Non | | | +| -------------------- | --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | ---- | +| COMBO_SecuriteIMAPOP | 389 | 625 | 196 | 45 | 0 Actif | | Mémoire | | | Non | | | +| COMBO_SecuriteSMTP | 391 | 438 | 196 | 45 | 0 Actif | | Mémoire | | | Non | | | +| 06/08/2026 | | | | | Isis_BO | | | | | | | 2496 | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Onglet +slennoitroporp steloV +engil/stelov .bN +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | stelov .soP | | | +| --- | ---------- | ---------- | --- | --- | ------------ | ----------- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ONG_PARAMETRE | 0 | 33 1278 | 719 | 0 | Actif | haut | | 0 | +| ------------- | --- | ------- | --- | --- | ----- | ---- | --- | --- | +Forme +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_SansNom1 | | 0 | 63 | 1278 | 60 | 0 | Actif | | +| ------------ | --- | --- | --- | ---- | --- | --- | ----- | --- | +| FRM_SansNom2 | | 289 | 68 | 2 | 52 | 0 | Actif | | +| FRM_SansNom3 | | 289 | 135 | 2 | 602 | 0 | Actif | | +| FRM_SansNom4 | | 0 | 64 | 1278 | 45 | 0 | Actif | | +Zone répétée +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| ZR_PM | | 300 | 129 | 924 | 614 | 0 | Actif | | +| ------------ | --- | --- | --- | --- | --- | --- | ----- | --- | +| ZR_TypeParam | | 0 | 123 | 283 | 614 | 0 | Actif | | +Fenêtre interne +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CFI_BATIGEST | | 0 | 63 | 1278 | 689 | 0 | Actif | | +| -------------------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +| CFI_PROFIL_ET_DROITS | | 0 | 63 | 1278 | 689 | 0 | Actif | | +| CFI_SOCIETE | | 0 | 63 | 1278 | 689 | 0 | Actif | | +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_Check_POP | | 820 | 491 | 30 | 30 | 0 | Actif | | +| ------------- | --- | --- | ------- | --- | --- | --- | ----- | ---- | +| SC_Check_SMTP | | 574 | 311 | 30 | 30 | 0 | Actif | | +| 06/08/2026 | | | Isis_BO | | | | | 2497 | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Zone répétée : FI_Parametrage.ONG_PARAMETRE.ZR_PM +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_Lib | 46 | 7 699 | 28 | 0 | Actif | | Texte | | Non | | | | +| ---------- | --- | ----- | --- | --- | ----- | --- | ----- | --- | --- | --- | --- | --- | +| SAI_Valeur | 758 | 7 90 | 28 | 0 | Actif | | Texte | | Non | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Ordre | | 46 | | 5 | 699 | 20 | 0 | affichag | | Gauche | Haut | | +| --------- | --- | --- | --- | --- | --- | --- | --- | -------- | --- | ------ | ---- | --- | +| LIB_PKID | | 46 | | 16 | 801 | 20 | 0 | affichag | | Droite | Haut | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | | Y noitisoP | | | | | | laitini tatE | | staté siorT | +| --- | --- | ---------- | --- | ---------- | ------- | ------- | --- | --- | --- | ------------ | --- | ----------- | +| | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| INT_ACTIF | | | 12 | 9 | 31 | 23 | | 0 | affichag | | 1 | | +| --------- | --- | --- | --- | --- | --- | --- | --- | --- | -------- | --- | --- | --- | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | | | | | | | | | laitini tatE | | sucof cevA | +| --- | --- | --- | ---------- | ---------- | ------- | --- | ------- | --- | --- | ------------ | --------- | ---------- | +| | | | X noitisoP | Y noitisoP | | | | | | | | | +| | | | | | ruegraL | | ruetuaH | | | | cilc cevA | | +elbisiV +nalP +| IMG_System | | | 867 | 11 | | 20 | 20 | 0 | | Actif | | | +| ---------- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | | | | | Isis_BO | | | | | | 2498 | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +ATT_Actif +ATT_Lib +ATT_LibEtat +ATT_Ordre +ATT_PKID +ATT_System +ATT_Valeur +ATT_ValeurEtat +ATT_ValeurVisible +Zone répétée : FI_Parametrage.ONG_PARAMETRE.ZR_TypeParam +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_GROUPE | 21 3 | 240 18 | 0 Actif | Gauche | Haut | | +| ------------------ | ---- | ------ | ------- | ------ | ---- | --- | +| LIB_TYPE_PARAMETRE | 6 6 | 231 18 | 0 Actif | Gauche | Haut | | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------------ | --------- | ---------- | +| | | | ruetuaH | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Puce | 243 | 3 18 | 23 0 | Actif | | | +| -------- | --- | ---- | ---- | ----- | --- | --- | +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +ATT_Code +ATT_Description +ATT_GROUPE +ATT_Lib +ATT_SPEC +| 06/08/2026 | | Isis_BO | | | | 2499 | +| ---------- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Rupture de zone répétée +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --------------------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +RUPT_BasRupture1 +RUPT_HautRupture1 +Superchamp : FI_Parametrage.ONG_PARAMETRE.SC_Check_POP +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --------------------- | --- | --- | ------------ | --- | +ruegraL ruetuaH cilc cevA +elbisiV +nalP +| IMG_KO | 820 491 | 30 30 | 0 | Actif | | +| ------ | ------- | ----- | --- | ----- | --- | +| IMG_OK | 820 491 | 30 30 | 0 | Actif | | +Superchamp : FI_Parametrage.ONG_PARAMETRE.SC_Check_SMTP +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | | | laitini tatE | sucof cevA | +| --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +ruegraL ruetuaH cilc cevA +elbisiV +nalP +| IMG_KO | 574 311 | 30 30 | 0 | Actif | | +| ------ | ------- | ----- | --- | ----- | --- | +| IMG_OK | 574 311 | 30 30 | 0 | Actif | | +Fenêtre : FI_Parametrage +| 06/08/2026 | | Isis_BO | | | 2500 | +| ---------- | --- | ------- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Fenêtre interne : FI_Parametrage +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Parametrage +Bouton : FI_Parametrage.BTN_AccessUtilitaire +Libellé FR: &Bouton +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 2501 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Facteur d'agrandissement 0 +Type flèche +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : FI_Parametrage.BTN_CLOSE_PARAM +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +06/08/2026 Isis_BO 2502 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +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 : FI_Parametrage.ONG_PARAMETRE.BTN_Descent +Groupe GR_MODEFORMULAIRE +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_dePlier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2503 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Bouton : FI_Parametrage.ONG_PARAMETRE.BTN_EDT_MODELE_RAPPORT1 +Libellé FR: Editeur de modèles de rapports +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2504 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Bouton : FI_Parametrage.ONG_PARAMETRE.BTN_EDT_MODELE_RAPPORT_Mob +Libellé FR: Editeur de modèles de rapports Mobile +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2505 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Bouton : FI_Parametrage.ONG_PARAMETRE.BTN_EDT_PARAM +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_Paramétrage.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2506 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Bouton : FI_Parametrage.ONG_PARAMETRE.BTN_Editeur_de_modèles_de_mails +Libellé FR: Editeur de modèles de mails +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2507 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Bouton : FI_Parametrage.ONG_PARAMETRE.BTN_NouveauParam +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2508 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Bouton : FI_Parametrage.ONG_PARAMETRE.BTN_Remonte +Groupe GR_MODEFORMULAIRE +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_Plier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2509 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Bouton : FI_Parametrage.ONG_PARAMETRE.BTN_SupprimerParam +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2510 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Bouton : FI_Parametrage.ONG_PARAMETRE.BTN_Test +Libellé FR: Tester et valider vos paramètres de connexion +Ordre navigation 16 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2511 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Bouton : FI_Parametrage.ONG_PARAMETRE.BTN_Test2 +Libellé FR: Tester la messagerie +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2512 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Fenêtre interne : FI_Parametrage.ONG_PARAMETRE.CFI_BATIGEST +Ordre navigation 1 +UI par l'utilisateur Selon fenêtre +Fenêtre Interne FI_Parametrage_Batigest +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Ascenseur auto. 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 +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Parametrage.ONG_PARAMETRE.CFI_PROFIL_ET_DROITS +Ordre navigation 1 +UI par l'utilisateur Selon fenêtre +Fenêtre Interne FI_Parametrage_Profil +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Ascenseur auto. 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 +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +06/08/2026 Isis_BO 2513 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Parametrage.ONG_PARAMETRE.CFI_SOCIETE +Ordre navigation 1 +UI par l'utilisateur Selon fenêtre +Fenêtre Interne FI_Liste_Societe +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Ascenseur auto. 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 +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2514 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Combo : FI_Parametrage.ONG_PARAMETRE.COMBO_PopImap +Contenu initial FR: IMAP +POP +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 196 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 618 +Largeur interne 196 +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 +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 +06/08/2026 Isis_BO 2515 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Parametrage.ONG_PARAMETRE.COMBO_SecuriteIMAPOP +Libellé FR: Méthode de chiffrement +Contenu initial FR: Aucun +TLS +SSL +Ordre navigation 15 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 196 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 389 +Largeur interne 196 +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 +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 +06/08/2026 Isis_BO 2516 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +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. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Parametrage.ONG_PARAMETRE.COMBO_SecuriteSMTP +Libellé FR: Connexion +Contenu initial FR: Aucun +TLS +SSL +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 196 +Larg. déroulée perso. Non +06/08/2026 Isis_BO 2517 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 391 +Largeur interne 196 +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 +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. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2518 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Forme : FI_Parametrage.ONG_PARAMETRE.FRM_SansNom1 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Parametrage.ONG_PARAMETRE.FRM_SansNom2 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Vertical +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Parametrage.ONG_PARAMETRE.FRM_SansNom3 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Vertical +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 2519 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › 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 +Ancrage Hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Parametrage.ONG_PARAMETRE.FRM_SansNom4 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Parametrage.IMG_Config +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\configuration.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +06/08/2026 Isis_BO 2520 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +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 +Libellé : FI_Parametrage.ONG_PARAMETRE.LIB_Affichage +Libellé FR: Paramètres d'affichage Planning/Agenda par défaut : +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2521 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Libellé : FI_Parametrage.ONG_PARAMETRE.LIB_Affichage2 +Libellé FR: Paramètres de messagerie par défaut : +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage.ONG_PARAMETRE.LIB_Affichage3 +Libellé FR: Télémétrie +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 +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 +06/08/2026 Isis_BO 2522 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage.ONG_PARAMETRE.LIB_INFORMATIONS_GENERALES +Libellé FR: Informations générales +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 +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 +Unicode Non +Transforme le & Oui +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2523 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Libellé : FI_Parametrage.ONG_PARAMETRE.LIB_INFORMATIONS_SERVEUR +Libellé FR: Informations serveurs +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 +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 +Unicode Non +Transforme le & Oui +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage.ONG_PARAMETRE.LIB_Libellé +06/08/2026 Isis_BO 2524 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Libellé FR: Afin d'améliorer continuellement nos applications et de vous offrir une expérience +optimale, nous utilisons un système de télémétrie. +## **Qu'est-ce que la télémétrie ?** +La télémétrie est un processus automatisé qui collecte et transmet des données de +manière anonyme. Ces données nous permettent de : +* **Identifier les erreurs et les problèmes :** La télémétrie nous informe des +éventuelles erreurs fatales détectées par le mécanisme de sécurité du WLangage. Cela +nous permet de corriger rapidement les bugs et d'améliorer la stabilité de nos +applications. +* **Comprendre l'utilisation de nos applications :** En analysant les données de +télémétrie, nous pouvons mieux comprendre comment nos applications sont utilisées. +Cela nous aide à identifier les fonctionnalités les plus populaires, les points +d'amélioration potentiels et à orienter nos futurs développements. +* **Optimiser les performances :** La télémétrie nous permet de surveiller les +performances de nos applications et d'identifier les éventuels ralentissements ou +problèmes de performance. Cela nous permet d'optimiser nos applications pour qu'elles +soient toujours rapides et réactives. +### **Vos données sont protégées** +Nous accordons une grande importance à la protection de vos données personnelles. +Les données collectées par la télémétrie sont : +* **Anonymisées :** Aucune information personnelle identifiable n'est collectée. +* **Sécurisées :** Les données sont transmises et stockées de manière sécurisée. +* **Utilisées uniquement à des fins d'amélioration :** Les données sont utilisées +uniquement pour améliorer nos applications et vous offrir une meilleure expérience. +### **Votre choix** +Vous avez la possibilité de désactiver la télémétrie à tout moment dans les paramètres +de l'application. Cependant, nous vous encourageons à la laisser activée, car elle nous +aide à améliorer continuellement nos applications et à vous offrir une meilleure +expérience. +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 +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 +Unicode Non +Transforme le & Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 2525 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Facteur d'agrandissement 0 +Mise à blanc Oui +Texte Markdown Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage.ONG_PARAMETRE.LIB_SERIE_Actif +Libellé FR: Actif +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2526 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Libellé : FI_Parametrage.ONG_PARAMETRE.LIB_SERIE_Code +Libellé FR: Code +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 +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 +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage.ONG_PARAMETRE.LIB_SERIE_Libelle +Libellé FR: Libellé +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 +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 +06/08/2026 Isis_BO 2527 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage.ONG_PARAMETRE.LIB_SERIE_Note +Libellé FR: Notes +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2528 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Libellé : FI_Parametrage.ONG_PARAMETRE.LIB_SERIE_PARAMETRES +Libellé FR: PARAMETRES +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage.ONG_PARAMETRE.LIB_SERIE_PARAMETRES3 +Libellé FR: Réglage de messagerie +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 +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 +06/08/2026 Isis_BO 2529 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage.ONG_PARAMETRE.LIB_SERIE_Systeme +Libellé FR: Système +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 +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 +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2530 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Libellé : FI_Parametrage.ONG_PARAMETRE.LIB_SERVEUR_POP +Libellé FR: Serveur Réception (IMAP ou POP) +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 +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 +Unicode Non +Transforme le & Oui +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage.ONG_PARAMETRE.LIB_SERVEUR_SMTP +Libellé FR: Serveur SMTP (Emission) +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 +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 +06/08/2026 Isis_BO 2531 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +Unicode Non +Transforme le & Oui +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage.ONG_PARAMETRE.LIB_TYPE_DE_PARAMETRES +Libellé FR: TYPE DE PARAMETRES +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2532 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Libellé : FI_Parametrage.LIB_Titre_de_fenêtre +Libellé FR: Paramètres +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Onglet : FI_Parametrage.ONG_PARAMETRE +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 0 +Retrait des onglets 0 +Numéro aide 0 +06/08/2026 Isis_BO 2533 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › 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. +Nb. états image 1 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Parametrage.ONG_PARAMETRE.SAI_AdresseMailCompte +Libellé FR: Adresse Mail +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 389 +Largeur interne 340 +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 +06/08/2026 Isis_BO 2534 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2535 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Champ de saisie : FI_Parametrage.ONG_PARAMETRE.SAI_AdresseServeurIMAPOP +Libellé FR: Adresse du serveur IMAP/POP +Ordre navigation 13 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 389 +Largeur interne 393 +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 +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 +06/08/2026 Isis_BO 2536 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Parametrage.ONG_PARAMETRE.SAI_AdresseServeurSMTP +Libellé FR: Adresse du serveur SMTP +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 390 +Largeur interne 393 +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 +06/08/2026 Isis_BO 2537 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › 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 +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2538 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Champ de saisie : FI_Parametrage.ONG_PARAMETRE.SAI_MotdePasseIMAPOP +Libellé FR: Mot de passe +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 642 +Largeur interne 327 +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 +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 +06/08/2026 Isis_BO 2539 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Parametrage.ONG_PARAMETRE.SAI_MotdePasseSMTP +Libellé FR: Mot de passe +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 641 +Largeur interne 327 +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 +06/08/2026 Isis_BO 2540 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › 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 +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2541 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Champ de saisie : FI_Parametrage.ONG_PARAMETRE.SAI_NomCompte +Libellé FR: Nom du compte +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 389 +Largeur interne 340 +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 +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 +06/08/2026 Isis_BO 2542 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Parametrage.ONG_PARAMETRE.SAI_NomUtilisateurIMAPOP +Libellé FR: Nom d'utilisateur/Login +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 389 +Largeur interne 247 +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 +06/08/2026 Isis_BO 2543 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › 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 +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2544 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Champ de saisie : FI_Parametrage.ONG_PARAMETRE.SAI_NomUtilisateurSMTP +Libellé FR: Nom d'utilisateur/Login +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 389 +Largeur interne 247 +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 +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 +06/08/2026 Isis_BO 2545 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Parametrage.ONG_PARAMETRE.SAI_PortIMAPOP +Libellé FR: Numéro du port IMAP/POP +Valeur initiale FR: 143 +Ordre navigation 14 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 795 +Largeur interne 174 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 2546 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › 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 +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2547 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Champ de saisie : FI_Parametrage.ONG_PARAMETRE.SAI_PortSMTP +Libellé FR: Numéro du port SMTP +Valeur initiale FR: 25 +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 794 +Largeur interne 174 +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 +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 +06/08/2026 Isis_BO 2548 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Parametrage.ONG_PARAMETRE.SC_Check_POP +Ordre navigation 10 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Largeur externe 30 +Hauteur externe 30 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2549 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Superchamp : FI_Parametrage.ONG_PARAMETRE.SC_Check_SMTP +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 30 +Hauteur externe 30 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Sélecteur : FI_Parametrage.ONG_PARAMETRE.SEL_AffichePlanning +Libellé FR: &Sélecteur +Valeur initiale 1 +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +06/08/2026 Isis_BO 2550 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › 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 +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. +Image D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\210 Blueberries\Blueberries_Radio.png +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Sélecteur : FI_Parametrage.ONG_PARAMETRE.SEL_Messagerie +Libellé FR: &Sélecteur +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 +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 Toute la hauteur de l'option +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 +06/08/2026 Isis_BO 2551 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +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. +Image D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\210 Blueberries\Blueberries_Radio.png +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Sélecteur : FI_Parametrage.ONG_PARAMETRE.SEL_TLM +Libellé FR: &Sélecteur +Valeur initiale 1 +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec ValeurRenvoyée Oui +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 Toute la hauteur de l'option +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 +06/08/2026 Isis_BO 2552 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Texte Markdown Non +Mode menu ctx. +Image D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\210 Blueberries\Blueberries_Radio.png +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : FI_Parametrage.ONG_PARAMETRE.ZR_PM +Libellé FR: &Zone répétée +Ordre navigation 2 +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 +Hauteur ligne max. 0 +Hauteur ligne 42 +Largeur colonne 924 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +06/08/2026 Isis_BO 2553 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : FI_Parametrage.ONG_PARAMETRE.ZR_TypeParam +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 30 +Largeur colonne 266 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +06/08/2026 Isis_BO 2554 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +Nb. Enreg. Max 0 +Parcours Automatique +Fichier parcouru :gpclPresListeParamMetierTet.m_clTabVisible +Rub. mémorisée :gpclPresListeParamMetierTet.m_clTabVisible +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Superchamp : FI_Parametrage.ONG_PARAMETRE.SC_Check_POP +06/08/2026 Isis_BO 2555 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Image : FI_Parametrage.ONG_PARAMETRE.SC_Check_POP.IMG_KO +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\sortir.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +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 +Image : FI_Parametrage.ONG_PARAMETRE.SC_Check_POP.IMG_OK +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\valider.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Ascenseur et zoom auto. Non +06/08/2026 Isis_BO 2556 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +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 +Superchamp : FI_Parametrage.ONG_PARAMETRE.SC_Check_SMTP +Image : FI_Parametrage.ONG_PARAMETRE.SC_Check_SMTP.IMG_KO +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\sortir.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +06/08/2026 Isis_BO 2557 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +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 +Image : FI_Parametrage.ONG_PARAMETRE.SC_Check_SMTP.IMG_OK +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\valider.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +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 +06/08/2026 Isis_BO 2558 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Zone répétée : FI_Parametrage.ONG_PARAMETRE.ZR_PM +Attribut zone répétée : FI_Parametrage.ONG_PARAMETRE.ZR_PM.ATT_Actif (4) +Champ associé INT_ACTIF +Propriété associée 1 +Attribut zone répétée : FI_Parametrage.ONG_PARAMETRE.ZR_PM.ATT_Lib (2) +Champ associé SAI_Lib +Propriété associée 1 +Liaison des données :gpclPresenListeParamMetier.m_clTabModele.m_sLibelle +Attribut zone répétée : FI_Parametrage.ONG_PARAMETRE.ZR_PM.ATT_LibEtat (7) +Champ associé SAI_Lib +Propriété associée 22 +Attribut zone répétée : FI_Parametrage.ONG_PARAMETRE.ZR_PM.ATT_Ordre (5) +Champ associé LIB_Ordre +Propriété associée 1 +Attribut zone répétée : FI_Parametrage.ONG_PARAMETRE.ZR_PM.ATT_PKID (6) +Champ associé LIB_PKID +Propriété associée 1 +Attribut zone répétée : FI_Parametrage.ONG_PARAMETRE.ZR_PM.ATT_System (3) +Champ associé IMG_System +Propriété associée 73 +06/08/2026 Isis_BO 2559 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Attribut zone répétée : FI_Parametrage.ONG_PARAMETRE.ZR_PM.ATT_Valeur (1) +Champ associé SAI_Valeur +Propriété associée 1 +Attribut zone répétée : FI_Parametrage.ONG_PARAMETRE.ZR_PM.ATT_ValeurEtat (8) +Champ associé SAI_Valeur +Propriété associée 22 +Attribut zone répétée : FI_Parametrage.ONG_PARAMETRE.ZR_PM.ATT_ValeurVisible (9) +Champ associé SAI_Valeur +Propriété associée 73 +Image : FI_Parametrage.ONG_PARAMETRE.ZR_PM.IMG_System +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\Cadenas_Blanc_20_1.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 2560 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Parametrage.ONG_PARAMETRE.ZR_PM.INT_ACTIF +Libellé FR: Badge +Valeur initiale 0 +Ordre navigation 3 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2561 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Libellé : FI_Parametrage.ONG_PARAMETRE.ZR_PM.LIB_Ordre +Libellé FR: Ordre +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage.ONG_PARAMETRE.ZR_PM.LIB_PKID +Libellé FR: PKID +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 +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 +06/08/2026 Isis_BO 2562 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Type saisie Numérique +Masque saisie FR: 99 999 999 999 999 999 999 +Mode ellipse +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 Non +Texte Markdown Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Parametrage.ONG_PARAMETRE.ZR_PM.SAI_Lib +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Menu contextuel +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 346 +Largeur interne 699 +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 250 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +Lien automatique Non +06/08/2026 Isis_BO 2563 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › 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 Non +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. +Liaison des données :gpclPresenListeParamMetier.m_clTabModele.m_sLibelle +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 +06/08/2026 Isis_BO 2564 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Champ de saisie : FI_Parametrage.ONG_PARAMETRE.ZR_PM.SAI_Valeur +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Centre +Position X interne 1058 +Largeur interne 90 +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 20 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2565 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +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. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : FI_Parametrage.ONG_PARAMETRE.ZR_TypeParam +Attribut zone répétée : FI_Parametrage.ONG_PARAMETRE.ZR_TypeParam.ATT_Code (1) +Propriété associée 1 +Liaison des données :gpclPresListeParamMetierTet.m_clTabVisible.m_sCode +Attribut zone répétée : +Propriété associée 1 +Liaison des données :gpclPresListeParamMetierTet.m_clTabVisible.m_sDescription +06/08/2026 Isis_BO 2566 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Attribut zone répétée : FI_Parametrage.ONG_PARAMETRE.ZR_TypeParam.ATT_GROUPE +Champ associé LIB_GROUPE +Propriété associée 1 +Liaison des données :gpclPresListeParamMetierTet.m_clTabVisible.m_sGroupe +Attribut zone répétée : FI_Parametrage.ONG_PARAMETRE.ZR_TypeParam.ATT_Lib (2) +Champ associé LIB_TYPE_PARAMETRE +Propriété associée 1 +Liaison des données :gpclPresListeParamMetierTet.m_clTabVisible.m_sLibelle +Attribut zone répétée : FI_Parametrage.ONG_PARAMETRE.ZR_TypeParam.ATT_SPEC (5) +Propriété associée 1 +Liaison des données :gpclPresListeParamMetierTet.m_clTabVisible.m_sSpecifique +Image : FI_Parametrage.ONG_PARAMETRE.ZR_TypeParam.IMG_Puce +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\FlecheSup_24_1.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +06/08/2026 Isis_BO 2567 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Hauteur et droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Libellé +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 +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 A la fin +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 +Liaison des données :gpclPresListeParamMetierTet.m_clTabModele.m_sLibelle +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2568 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Libellé : FI_Parametrage.ONG_PARAMETRE.ZR_TypeParam.LIB_TYPE_PARAMETRE +Libellé FR: Libellé +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 +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 A la fin +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 +Liaison des données :gpclPresListeParamMetierTet.m_clTabVisible.m_sLibelle +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 3 +06/08/2026 Isis_BO 2569 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Informations sur les champs +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 3 +FI_Parametrage +Messages multilingues +06/08/2026 Isis_BO 2570 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FI_Parametrage +Code des champs +Déclarations globales de FI_Parametrage +procédure FI_Fiche_Parametre() +//========================= RUSES DE COWBOY ========================= +//Volet Paramètres métiers +//Dans la Zone répétée ZR_PM. Les champs libellés LIB_PKID et LIB_Ordre, masqués. +//Sont utilisés pour adapter la taille du champ SAI_Lib quand on masque le champ SAI_Valeur +//Il ne faut donc pas modifier leur tailles et leur ancrage. +//======================================================================= +constant +//Numéro des +cVolet_Métiers =1 +cVolet_Messagerie =2 +cVolet_Service =3 +cVolet_Utilisateur =4 +cVolet_PrefUser =5 +cVolet_Batigest =6 +cVolet_ProfilEtDroit=7 +fin +gpclPresenListeUtilisateur est un PTableUtilisateur dynamique +gpclPresenFicheUtilisateur est un PFicheUtilisateur dynamique +gpclPresenListeParamMetier est un PTableParametreMetier dynamique +gpclPresListeParamMetierTet est un PTableParametreMetierEntete dynamique + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Code des champs +pclFichePrefAgenda est une PFicheParametreUtilisateur dynamique +pclFichePrefMessagerie est une PFicheParametreUtilisateur dynamique +gpclListeCollab est un PTableCollaborateur dynamique +//gtabListeModelMail est un tableau de MCategorieMail +local +gpclPresenListeUtilisateur=PTableUtilisateur.gNouvellePresentation(0) +gpclPresenFicheUtilisateur=PFicheUtilisateur.gNouvellePresentation() +gpclPresListeParamMetierTet=PTableParametreMetierEntete.gNouvellePresentation() +gpclPresenListeParamMetier<-gpclListeParamMetier//=PTableParametreMetier.gNouvellePresentation("") +//SI gpclPresenListeParamUtilisateur=Null ALORS +// +gpclPresenListeParamUtilisateur=PTableParametreUtilisateur.gNouvellePresentation(gpclFicheUtilisateurEn +Cours.m_nPKID) +//FIN +si pclFichePrefMessagerie= Null _et_ gpclFicheUtilisateurEnCours:ListeParametreUtilisateur<>Null alors +pclFichePrefMessagerie<-gpclFicheUtilisateurEnCours:p_PrefMessagerie +fin +si pclFichePrefAgenda= Null _et_ gpclFicheUtilisateurEnCours:ListeParametreUtilisateur<>Null alors +pclFichePrefAgenda<-gpclFicheUtilisateurEnCours:p_PrefPlanningAgenda +fin +gpclListeCollab = PTableCollaborateur.gNouvellePresentation(0) +//SI gpclFicheUtilisateurEnCours:m_bAdministrateur _et_ gpclFicheUtilisateurEnCours:m_bAccesBO=faux +_et_ gpclFicheUtilisateurEnCours:m_bAccesMobile=faux ALORS +// ONG_PARAMETRE[cVolet_Utilisateur]..Visible = vrai +//SINON +// ONG_PARAMETRE[cVolet_Utilisateur]..Visible = faux +//FIN +ONG_PARAMETRE[cVolet_Batigest]..Visible = gbBATIGESTActif +si pas gbBATIGESTActif alors +ChangeFenêtreSource(ONG_PARAMETRE[cVolet_Batigest].CFI_BATIGEST,"") +fin +Fin d'initialisation de FI_Parametrage +//SI TABLE_Utilisateur..Occurrence>0 ALORS +// TableSelectPlus(TABLE_Utilisateur,1) +// ExécuteTraitement(TABLE_Utilisateur,trtSélection) +//FIN +ONG_PARAMETRE = cVolet_Métiers +//Param_ChargeListeTypeParametre() +Demande de mise à jour de l'affichage de FI_Parametrage +// mise à jour des champs bindés sur la présentation (compteur par exemple) +SourceVersEcran("","gpclPresenListeUtilisateur") +SourceVersEcran("","gpclPresenFicheUtilisateur") +SourceVersEcran("","gpclPresListeParamMetierTet") +// affiche la table et restauration de la position courante +//MAJChampTableEtObjet(TABLE_Utilisateur,gpclPresenListeUtilisateur.p_clCourant) +// grise les champs si la table est vide +//GR_MODIFICATION..Grisé=gpclPresenListeUtilisateur.p_bModeleCourantVide +06/08/2026 Isis_BO 2571 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Code des champs +ExécuteTraitement(FI_Parametrage.ONG_PARAMETRE,trtModification) +"Utilitaire"> +IMG_Config..Visible = Faux + +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur BTN_AccessUtilitaire +si gpclFicheUtilisateurEnCours:m_bAdministrateur alors +Ouvre(FEN_Utilitaire) +fin +Clic sur BTN_CLOSE_PARAM +FermeVoletEtActiveLePrecedent(VoletDuChamp(MoiMême)) +Clic sur IMG_Config +Ouvre(FEN_Utilitaire) +Modification du volet affiché de ONG_PARAMETRE +selon ONG_PARAMETRE +// cas cVolet_Utilisateur +// //RUBAN_MENU_SOCIETE.GRPRUB_Adresse..Etat = Grisé +// //RUBAN_MENU_SOCIETE.GRPRUB_Collaborateur..Etat= Grisé +// //RUBAN_MENU_PARAMETRAGE..Etat = Actif +// FI_Parametrage..Plan += TABLE_Utilisateur..Occurrence=0 ? 1 SINON GR_MODIFICATION..Visible ? 3 SINON 2 +cas cVolet_PrefUser +PrefUser_Affiche_PrefPlanning()//Init_PreferencePlanning() +Messagerie_Affiche_PrefMessagerie()//Init_PreferenceMessagerie() +PrefAffiche_TLM() // init Télémétrie +cas cVolet_Messagerie +Messagerie_Affiche_SMTP() +Messagerie_Affiche_POP_IMAP() +Messagerie_Valide_Parametres() +cas cVolet_ProfilEtDroit +fin +Clic sur BTN_Descent +nDest est un entier = ZR_PM +1 +si nDest>ZR_PM..Occurrence alors retour +ZoneRépétéeDéplaceLigne(ZR_PM,ligneSélectionnée,nDest,tdEchange) +ZoneRépétéeSelectPlus(ZR_PM,nDest) +Param_RenumeroteEtSauve() +// +// +// +//clErr est un CErreur +//gpclPresenListeParamMetier.p_clCourant=ZR_ParamMétier +06/08/2026 Isis_BO 2572 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Code des champs +//pclFicheParametre est une PFicheParametreMetier dynamique=gpclPresenListeParamMetier.Modifier() +//pclFicheParametre.m_nOrdre=val(pclFicheParametre.m_nOrdre)+1 +//SI PAS pclFicheParametre.bOK(clErr) ALORS +// Erreur(clErr.FormateMessage()) +//FIN +//nIndice est un entier=ZoneRépétéeSelect(ZR_ParamMétier) +//gpclPresenListeParamMetier.p_clCourant=ZR_ParamMétier[nIndice+1] +//pclFicheParametre=gpclPresenListeParamMetier.Modifier() +//pclFicheParametre.m_nOrdre=Val(pclFicheParametre.m_nOrdre)-1 +//SI PAS pclFicheParametre.bOK(clErr) ALORS +// Erreur(clErr.FormateMessage()) +//FIN +//gpclPresenListeParamMetier=PTableParametreMetier.gNouvellePresentation() +//ZoneRépétéeAffiche(ZR_ParamMétier,taInit) +//ZoneRépétéeSelectPlus(ZR_ParamMétier,nIndice+1) +Clic sur BTN_Editeur_de_modèles_de_mails +si FenEtat(FEN_ParamModeleMail)=Inexistant alors +OuvreSoeur(FEN_ParamModeleMail) +sinon +DonneFocus(FEN_ParamModeleMail) +fin +Clic sur BTN_EDT_MODELE_RAPPORT1 +si FenEtat(FEN_Parametrage_ModeleRapport)=Inexistant alors +OuvreSoeur(FEN_Parametrage_ModeleRapport) +sinon +DonneFocus(FEN_Parametrage_ModeleRapport) +fin +Clic sur BTN_EDT_MODELE_RAPPORT_Mob +si FenEtat(FEN_Liste_Rapport_Mobile)=Inexistant alors +OuvreSoeur(FEN_Liste_Rapport_Mobile) +sinon +DonneFocus(FEN_Liste_Rapport_Mobile) +fin +Clic sur BTN_EDT_PARAM +si gpclPresenListeParamMetier <> Null alors +si gpclPresenListeParamMetier:p_clCourant <> Null alors +si gpclPresenListeParamMetier:p_clCourant:m_nPKID > 0 alors +selon ZR_TypeParam.ATT_Code +cas cPM_14_RdvType +Ouvre(FEN_Fiche_Parametre_Type_Activite,gpclPresenListeParamMetier:p_clCourant:m_n +PKID) +cas cPM_18_TempsType +si ZR_PM.ATT_Valeur <> 0 et ZR_PM.ATT_Valeur <> 1 et ZR_PM.ATT_Valeur <> 99 alors +Ouvre(FEN_Fiche_Parametre_Type_temps,gpclPresenListeParamMetier:p_clCourant: +m_nPKID) +fin +cas cPM_15_RdvStatut +Ouvre(FEN_Fiche_Parametre_Status_RDV,gpclPresenListeParamMetier:p_clCourant:m_n +PKID) +autre cas +06/08/2026 Isis_BO 2573 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Code des champs +fin +fin +sinon +si ZR_PM..Occurrence > 0 alors +ExécuteTraitement(FI_Parametrage.ONG_PARAMETRE.ZR_PM,trtSélection) +ExécuteTraitement(FI_Parametrage.ONG_PARAMETRE.BTN_EDT_PARAM,trtClic) +fin +fin +sinon +si ZR_PM..Occurrence > 0 alors +ExécuteTraitement(FI_Parametrage.ONG_PARAMETRE.ZR_PM,trtSélection) +ExécuteTraitement(FI_Parametrage.ONG_PARAMETRE.BTN_EDT_PARAM,trtClic) +fin +fin +Clic sur BTN_NouveauParam +Param_Ajoute() +Clic sur BTN_Remonte +nDest est un entier = ZR_PM -1 +si nDest<1 alors retour +ZoneRépétéeDéplaceLigne(ZR_PM,ligneSélectionnée,nDest,tdEchange) +ZoneRépétéeSelectPlus(ZR_PM,nDest) +Param_RenumeroteEtSauve() +// +// +//clErr est un CErreur +//gpclPresenListeParamMetier.p_clCourant=ZR_ParamMétier +//pclFicheParametre est une PFicheParametreMetier dynamique=gpclPresenListeParamMetier.Modifier() +//pclFicheParametre.m_nOrdre=val(pclFicheParametre.m_nOrdre)-1 +//SI PAS pclFicheParametre.bOK(clErr) ALORS +// Erreur(clErr.FormateMessage()) +//FIN +//nIndice est un entier=ZoneRépétéeSelect(ZR_ParamMétier) +//gpclPresenListeParamMetier.p_clCourant=ZR_ParamMétier[nIndice-1] +//pclFicheParametre=gpclPresenListeParamMetier.Modifier() +//pclFicheParametre.m_nOrdre=Val(pclFicheParametre.m_nOrdre)+1 +//SI PAS pclFicheParametre.bOK(clErr) ALORS +// Erreur(clErr.FormateMessage()) +//FIN +//gpclPresenListeParamMetier=PTableParametreMetier.gNouvellePresentation() +//ZoneRépétéeAffiche(ZR_ParamMétier,taInit) +//ZoneRépétéeSelectPlus(ZR_ParamMétier,nIndice-1) +Clic sur BTN_SupprimerParam +nLigne est un entier = ZR_PM +si nLigne=-1 alors retour +si ZR_PM[nLigne].ATT_System alors +06/08/2026 Isis_BO 2574 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Code des champs +Info("Paramètre système non modifiable.") +retour +fin +si pas OuiNon("Confirmez vous la suppression ?") alors +retour +fin +//trace("Supprime " + zr_pm + " " + ZR_PM[zr_pm].ATT_Lib) +clErreur est un CErreur +si pas gpclPresenListeParamMetier.bSupprimer(clErreur) alors +selon clErreur:p_sNumero +cas "70015" //Erreur d'intégrité +Erreur("Ce paramètre est utilisé et ne peut être supprimé.", +"Vous pouvez cependant le désactiver.") +autre cas +Erreur(clErreur.FormateMessage()) +fin +retour +sinon si gpclPresenListeParamMetier.p_clCourant.m_sCode=cPM_17_DocCategorie alors +sql29 est une Requête SQL = +[ +SELECT ParametreMetier.* +FROM ParametreMetier +WHERE PA_Code='29' AND PA_CleLiaison={p_CleLiaison} +] +sql29.p_CleLiaison = gpclPresenListeParamMetier.p_clCourant:m_sCode+","+gpclPresenListeParamMetier. +p_clCourant:m_sValeur +si HExécuteRequête(sql29,hModifieFichier+hRequêteDéfaut) alors +HLitPremier(sql29) +si pas HEnDehors(sql29) alors +clParamLie est un MParametreMetier +FichierVersMémoire(clParamLie,sql29) +si HSupprime(sql29,hNumEnrEnCours) alors +//Mise à jour des listes associées +Param_Supprime(clParamLie,clParamLie.m_sCode) +fin +fin +fin +fin +//Mise à jour des listes associées +Param_Supprime(gpclPresenListeParamMetier.p_clCourant,gpclPresenListeParamMetier.p_clCourant.m_sCode) +ZR_PM.Supprime(nLigne,zrAnimationSuppression) +//Suite à la suppression, on renumérote toute la liste +Param_RenumeroteEtSauve() +//Sélection de la ligne remplaçant celle supprimée +si nLigne>ZR_PM..Occurrence alors +nLigne=ZR_PM +fin +si nLigne>0 alors +ZR_PM.SelectPlus(nLigne) +Param_SelectElemCourant() +sinon +gpclPresenListeParamMetier:p_clCourant = Null +fin +Clic sur BTN_Test +bCnxOk est un booléen +06/08/2026 Isis_BO 2575 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Code des champs +sValeurParamètres est une chaîne +MessageInfoCnx est une chaîne="Rapport sur les tests de configuration de votre compte de messagerie:"+ +RC+RC +Sablier(Vrai) +bCnxOk=VerifieEmailOuvreSession(3,SAI_NomUtilisateurSMTP, SAI_MotdePasseSMTP, SAI_AdresseServeurSMTP, +Val(SAI_PortSMTP), COMBO_SecuriteSMTP)// +si bCnxOk alors +EmailFermeSession(SAI_NomUtilisateurSMTP) +sValeurParamètres=SAI_NomUtilisateurSMTP+"<>"+SAI_MotdePasseSMTP+"<>"+SAI_AdresseServeurSMTP+"<>"+ +SAI_PortSMTP+"<>"+ListeSelect(COMBO_SecuriteSMTP)+"<>"+SAI_AdresseMailCompte+"<>"+SAI_NomCompte +ParametreEcrit(cParam_SMTP,sValeurParamètres,Vrai) +clErreur est un CErreur +//Init_PreferenceMessagerie() +nIndice est un entier=TableauCherche(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur. +m_clTabModele,tcLinéaire,"m_sCode;m_nIDUtilisateur","CHOIX_MESSAGERIE",gpclFicheUtilisateurEnCours. +m_nPKID) +si nIndice<>-1 _et_ pclFichePrefMessagerie<>Null alors +pclFichePrefMessagerie.m_sValeur="Back-Office" +// validation +si pas pclFichePrefMessagerie.bOK(clErreur) alors +Erreur(clErreur.FormateMessage()) +retour +fin +fin +MessageInfoCnx+= +"- Vos paramètres de connexion SMTP sont corrects et viennent d'être enregistrés. Vous pouvez dès à +présent utiliser la fonction d'envoi de mail depuis votre application" ++RC +SC_Check_SMTP=Vrai +sinon +MessageInfoCnx+= +"- Problème de connexion au serveur SMTP, merci de vérifier les données que vous avez saisies"+RC +SC_Check_SMTP=Faux +fin +bCnxOk= VerifieEmailOuvreSession(COMBO_PopImap,SAI_NomUtilisateurIMAPOP, SAI_MotdePasseIMAPOP, SAI_ +AdresseServeurIMAPOP, Val(SAI_PortIMAPOP),COMBO_SecuriteIMAPOP) +si bCnxOk alors +EmailFermeSession(SAI_NomUtilisateurIMAPOP) +sValeurParamètres=SAI_NomUtilisateurIMAPOP+"<>"+SAI_MotdePasseIMAPOP+"<>"+SAI_AdresseServeurIMAPOP+ +"<>"+SAI_PortIMAPOP+"<>"+ListeSelect(COMBO_SecuriteIMAPOP)+"<>"+ListeSelect(COMBO_PopImap)+"<>"+ +SAI_AdresseMailCompte+"<>"+SAI_NomCompte +ParametreEcrit(cParam_POP_IMAP,sValeurParamètres,Vrai) +MessageInfoCnx+="- Vos paramètres de connexion " + COMBO_PopImap..ValeurAffichée + +" sont corrects et viennent d'être enregistrés. Vous pouvez dès à présent utiliser la fonction +d'envoi de mail depuis votre application" ++RC +SC_Check_POP=Vrai +sinon si COMBO_PopImap=1 alors +MessageInfoCnx+="- Problème de connexion au serveur " + COMBO_PopImap..ValeurAffichée + +", merci de vérifier les données que vous avez saisies"+RC +SC_Check_POP=Faux +fin +Sablier(Faux) +Info(MessageInfoCnx) +Clic sur BTN_Test2 +06/08/2026 Isis_BO 2576 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Code des champs +si SEL_Messagerie="Externe" alors +BTN_Test2..Etat=Grisé +si LanceAppliAssociée("mailto:Test@mail.com" + "?subject=Test Objet" + "&body=Test corps message")=Vrai +alors +Info("Votre messagerie externe fonctionne correctement") +sinon +Erreur("Une erreur s'est produite lors de l'ouverture de votre messagerie externe") +fin +BTN_Test2..Etat=Actif +sinon +HLitRecherchePremier(ParametreApplication,PAP_Code,cParam_SMTP) +si pas HTrouve(ParametreApplication) alors +Erreur("Vous n'avez pas encore paramétré votre compte de messagerie sur votre application."+RC+ +"- Saisissez vos paramètres de messagerie") +ONG_PARAMETRE=cVolet_Messagerie +sinon +Info("Votre messagerie est bien configurée") +fin +fin +Initialisation de LIB_Libellé +// Version 1 +// Description +// Libellé simple +Fin d'initialisation de SC_Check_POP +MoiMême=Faux +Affectation de la propriété Valeur de SC_Check_POP +IMG_OK..Visible = MoiMême..Valeur +IMG_KO..Visible = pas IMG_OK..Visible +Fin d'initialisation de SC_Check_SMTP +MoiMême=Faux +Affectation de la propriété Valeur de SC_Check_SMTP +IMG_OK..Visible = MoiMême..Valeur +IMG_KO..Visible = pas IMG_OK..Visible +A chaque modification de SEL_AffichePlanning +//clErreur est un CErreur +//pclFichePrefAgenda.m_sValeur=SEL_AffichePlanning +//SEL_AffichePlanning..AffichageActif=Faux +//// validation +//SI PAS pclFichePrefAgenda.bOK(clErreur) ALORS +// Erreur(clErreur.FormateMessage()) +// RETOUR +//FIN +//SEL_AffichePlanning..AffichageActif=vrai +//FEN_Menu.LIB_PLANNING=pclFichePrefAgenda.m_sValeur +ParametreEcrit(cParam_Planning,MoiMême) +A chaque modification de SEL_Messagerie +06/08/2026 Isis_BO 2577 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Code des champs +//clErreur est un CErreur +//si SEL_Messagerie="Externe" alors +// pclFichePrefMessagerie.m_sValeur=SEL_Messagerie +// SEL_Messagerie..AffichageActif=Faux +// // validation +// SI PAS pclFichePrefMessagerie.bOK(clErreur) ALORS +// Erreur(clErreur.FormateMessage()) +// RETOUR +// FIN +// SEL_Messagerie..AffichageActif=vrai +//sinon +// ONG_PARAMETRE=3 +// Affiche_SMTP() +// Affiche_IMAP() +// Affiche_POP3() +// Valide_Parametres() +//fin +ParametreEcrit(cParam_Messagerie,MoiMême) +A chaque modification de SEL_TLM +ParametreEcrit(cParam_TLM,MoiMême) +Entrée en saisie d'une ligne de ZR_PM +Param_SelectElemCourant() +Sortie d'une ligne de ZR_PM +si ZR_PM..Modifié alors +Param_EnregistreLigneCourante() +ZR_PM..Modifié=Faux +fin +Sélection d'une ligne de ZR_PM +Param_SelectElemCourant() +A chaque modification de INT_ACTIF ( ZR_PM ) +ChampVersSource() +A chaque modification de SAI_Lib ( ZR_PM ) +gpclPresenListeParamMetier.p_clCourant:m_sLibelle = SAI_Lib +Sortie de SAI_Valeur ( ZR_PM ) +bPasBon est un booléen +nLigneCourante est un entier = ZR_PM +si ZR_PM[nLigneCourante].ATT_System alors retour +pour toute ligne i de ZR_PM +si i<>nLigneCourante _et_ ZR_PM[nLigneCourante].SAI_Valeur=ZR_PM[i].ATT_Valeur alors +bPasBon=Vrai +sortir +06/08/2026 Isis_BO 2578 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Code des champs +fin +fin +si bPasBon alors +ZR_PM[nLigneCourante].SAI_Valeur..CouleurFond=OrangeFoncé +Erreur("Ce code doit être unique dans cette série de paramètres.", +"Veuillez corriger pour pouvoir enregistrer") +RepriseSaisie(MoiMême) +sinon +ZR_PM[nLigneCourante].SAI_Valeur..CouleurFond = ZR_PM[nLigneCourante].SAI_Lib..CouleurFond +gpclPresenListeParamMetier.p_clCourant:m_sValeur=ZR_PM[nLigneCourante].SAI_Valeur +fin +A chaque modification de SAI_Valeur ( ZR_PM ) +//bPasBon est un booléen +//nLigneCourante est un entier = zr_pm +//POUR TOUTE LIGNE i DE ZR_PM +// +// si i<>nLigneCourante _ET_ ZR_PM[nLigneCourante].SAI_Valeur=ZR_PM[i].ATT_Valeur alors +// bPasBon=Vrai +// sortir +// FIN +//FIN +//si bPasBon alors +// zr_pm[nLigneCourante].SAI_Valeur..CouleurFond=OrangeFoncé +//sinon +// ZR_PM[nLigneCourante].SAI_Valeur..CouleurFond = ZR_PM[nLigneCourante].SAI_Lib..CouleurFond +// gpclPresenListeParamMetier.p_clCourant:m_sValeur=ZR_PM[nLigneCourante].SAI_Valeur +//fin +Sélection d'une ligne de ZR_TypeParam +Param_AfficheListe +FI_Parametrage +Procédures +Procédure locale Creation_Trigramme +// Résumé : +// Syntaxe : +// Creation_Trigramme () +// +// Paramètres : +// clNouveauCollab : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +06/08/2026 Isis_BO 2579 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Procédures +procédure Creation_Trigramme(clNouveauCollab) +sTrigramme est une chaîne +si clNouveauCollab.m_sPrenom<>"" et clNouveauCollab.m_sNom<>"" alors +sTrigramme=Gauche(clNouveauCollab.m_sPrenom,1)+Gauche(clNouveauCollab.m_sNom,2) +HLitRecherchePremier(Collaborateur,CO_Trigramme,sTrigramme) +si HTrouve(Collaborateur) alors +sTrigramme=Gauche(clNouveauCollab.m_sPrenom,2)+Gauche(clNouveauCollab.m_sNom,1) +HLitRecherchePremier(Collaborateur,CO_Trigramme,sTrigramme) +si HTrouve(Collaborateur) alors +clNouveauCollab.m_sTrigramme="" +sinon +clNouveauCollab.m_sTrigramme=sTrigramme +fin +sinon +clNouveauCollab.m_sTrigramme=sTrigramme +fin +sinon +clNouveauCollab.m_sTrigramme="" +fin +Procédure locale Init_PreferenceMessagerie +// Résumé : +// Syntaxe : +//Init_PreferenceMessagerie () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Init_PreferenceMessagerie() +//nIndice est un +entier=TableauCherche(gpclPresenListeParamUtilisateur.m_clTabModele,tcLinéaire,"m_sCode;m_nIDUtilisateu +r","CHOIX_MESSAGERIE",gpclFicheUtilisateurEnCours.m_nPKID) +//SI nIndice<>-1 ALORS +// SELON gpclPresenListeParamUtilisateur.m_clTabModele[nIndice].m_sValeur +// CAS "Externe" +// SEL_Messagerie="Externe" +// CAS "Back-Office" +// SEL_Messagerie="Back-Office" +// AUTRE CAS +// SEL_Messagerie="Externe" +// FIN +//FIN +//gpclPresenListeParamUtilisateur.p_clCourant=gpclPresenListeParamUtilisateur.m_clTabModele[nIndice] +//pclFichePrefMessagerie= gpclPresenListeParamUtilisateur.Modifier() +Procédure locale Init_PreferencePlanning +// Résumé : +// Syntaxe : +// Init_PreferencePlanning () +// +// Paramètres : +// Aucun +06/08/2026 Isis_BO 2580 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Procédures +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Init_PreferencePlanning() +//nIndice est un +entier=TableauCherche(gpclPresenListeParamUtilisateur.m_clTabModele,tcLinéaire,"m_sCode;m_nIDUtilisateu +r","CHOIX_PLANNING_AGENDA",gpclFicheUtilisateurEnCours.m_nPKID) +//SI nIndice<>-1 ALORS +// SELON gpclPresenListeParamUtilisateur.m_clTabModele[nIndice].m_sValeur +// CAS "Planning" +// SEL_AffichePlanning="Planning" +// CAS "Agenda" +// SEL_AffichePlanning="Agenda" +// AUTRE CAS +// SEL_AffichePlanning="Planning" +// FIN +//FIN +//gpclPresenListeParamUtilisateur.p_clCourant=gpclPresenListeParamUtilisateur.m_clTabModele[nIndice] +//pclFichePrefAgenda= gpclPresenListeParamUtilisateur.Modifier() +Procédure locale Messagerie_Affiche_POP_IMAP +// Résumé : +// Syntaxe : +//Messagerie_Affiche_POP_IMAP () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Messagerie_Affiche_POP_IMAP() +sRésultat est une chaîne ANSI = ParametreLit(cParam_POP_IMAP,"",Vrai) +si sRésultat="" alors +//Suppression du paramètre POP, un seul suffit pour les deux +sRésultat = ParametreLit(cParam_POP,"",Vrai) +si sRésultat<>"" alors +ParametreEcrit(cParam_POP_IMAP,sRésultat,Vrai) +ParametreSupprime(cParam_POP) +fin +fin +si sRésultat<>"" alors +SAI_NomUtilisateurIMAPOP =ExtraitChaîne(sRésultat,1,"<>",DepuisDébut) +SAI_MotdePasseIMAPOP =ExtraitChaîne(sRésultat,2,"<>",DepuisDébut) +SAI_AdresseServeurIMAPOP =ExtraitChaîne(sRésultat,3,"<>",DepuisDébut) +SAI_PortIMAPOP =ExtraitChaîne(sRésultat,4,"<>",DepuisDébut) +ListeSelectPlus(COMBO_SecuriteIMAPOP,Val(ExtraitChaîne(sRésultat,5,"<>",DepuisDébut))) +ListeSelectPlus(COMBO_PopImap,Val(ExtraitChaîne(sRésultat,6,"<>",DepuisDébut))) +SC_Check_POP=Vrai +sinon +SC_Check_POP=Faux +fin +Procédure locale Messagerie_Affiche_PrefMessagerie +06/08/2026 Isis_BO 2581 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Procédures +// Résumé : +// Syntaxe : +//Messagerie_Affiche_PrefMessagerie () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Messagerie_Affiche_PrefMessagerie() +SEL_Messagerie = gpclListeParamAppli:m_clTabModele[cParam_Messagerie]:m_sValeur +Procédure locale Messagerie_Affiche_SMTP +// Résumé : +// Syntaxe : +//Messagerie_Affiche_SMTP () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Messagerie_Affiche_SMTP() +sRésultat est une chaîne ANSI = ParametreLit(cParam_SMTP,"",Vrai) +si sRésultat<>"" alors +SAI_NomUtilisateurSMTP =ExtraitChaîne(sRésultat,1,"<>",DepuisDébut) +SAI_MotdePasseSMTP =ExtraitChaîne(sRésultat,2,"<>",DepuisDébut) +SAI_AdresseServeurSMTP =ExtraitChaîne(sRésultat,3,"<>",DepuisDébut) +SAI_PortSMTP =ExtraitChaîne(sRésultat,4,"<>",DepuisDébut) +ListeSelectPlus(COMBO_SecuriteSMTP,Val(ExtraitChaîne(sRésultat,5,"<>",DepuisDébut))) +SAI_AdresseMailCompte=ExtraitChaîne(sRésultat,6,"<>",DepuisDébut) +SAI_NomCompte =ExtraitChaîne(sRésultat,7,"<>",DepuisDébut) +SC_Check_SMTP=Vrai +sinon +SC_Check_SMTP=Faux +fin +Procédure locale Messagerie_Valide_Parametres +// Résumé : +// Syntaxe : +//Messagerie_Valide_Parametres () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Messagerie_Valide_Parametres() +si SAI_NomUtilisateurIMAPOP="" alors +06/08/2026 Isis_BO 2582 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Procédures +SC_Check_POP=Faux +fin +Procédure locale Param_11 +procédure Param_11(clParam est un MParametreMetier ) +bClient est un booléen +sNewValeur est une chaîne ANSI +nValeur est un entier +selon Dialogue("Quel type de rôle souhaitez-vous ajouter ?",["Rôle contact/site", "Rôle client", +"Annuler"]) +cas 1 : +bClient = Faux +cas 2: +bClient = Vrai +autre cas : +renvoyer Faux +fin +ReqSQL est une Requête SQL = +[ +SELECT MAX(ParametreMetier.PA_Valeur) AS Valeur ,MAX(ParametreMetier.PA_Ordre) AS Ordre +FROM ParametreMetier +WHERE PA_Code='11' AND PA_Valeur LIKE {p_valeur} +] +si bClient alors +ReqSQL.p_valeur = "C%" +sinon +ReqSQL.p_valeur = "S%" +fin +si HExécuteRequête(ReqSQL,hRequêteDéfaut) alors +HLitPremier(ReqSQL) +si pas HEnDehors(ReqSQL) alors +sNewValeur = Milieu(ReqSQL.Valeur,2) +nValeur = (Val(sNewValeur)+1) +si bClient alors +clParam.m_sValeur = "C"+nValeur +sinon +clParam.m_sValeur = "S"+nValeur +fin +clParam.m_nOrdre = Val(ReqSQL.Ordre)+1 +fin +fin +renvoyer Vrai +Procédure locale Param_AfficheListe +procédure Param_AfficheListe() +si ZoneRépétéeSelect(ZR_TypeParam)<1 alors retour +gpclPresenListeParamMetier:p_clCourant = Null +sCode est une chaîne = ZR_TypeParam.ATT_Code +ZR_PM.SupprimeTout() +si sCode="" alors +retour +sinon si sCode = cPM_14_RdvType ou sCode = cPM_18_TempsType ou (sCode = cPM_15_RdvStatut )alors +06/08/2026 Isis_BO 2583 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Procédures +BTN_EDT_PARAM..Visible = Vrai +BTN_EDT_PARAM..Grisé = Faux +sinon +BTN_EDT_PARAM..Visible = Faux +fin +//Configuration de l'affichage +LIB_SERIE_PARAMETRES = gpclPresListeParamMetierTet:m_clTabAssoc[sCode].m_sLibelle +LIB_SERIE_Note = gpclPresListeParamMetierTet:m_clTabAssoc[sCode].m_sDescription +//si pas gtaTypesParam[sCode]:bCodeVisible alors +// ZR_PM.SAI_Valeur..Visible = Faux +// LIB_SERIE_Code..Visible = Faux +// ZR_PM.SAI_Lib..Largeur += ZR_PM.LIB_PKID..Largeur //On utilise la taille de LIB_PKID pour ajuster SAI_LIB (L'ancrage de +LIB_PKID correspond à ce que l'on souhaite) +//sinon +ZR_PM.SAI_Valeur..Visible = Vrai +LIB_SERIE_Code..Visible = Vrai +ZR_PM.SAI_Lib..Largeur = ZR_PM.LIB_Ordre..Largeur +//FIN +//Remplissage de la ZR +nEtatLib est un entier +nEtatCode est un entier +n est un entier +pour tout oP de gpclPresenListeParamMetier.m_clTabModele +si oP:m_sCode=sCode _et_ pas oP:m_bInvisible alors +nEtatLib = oP:m_bActif ?( oP:m_bSysteme ? AffichageSeulement sinon Actif ) sinon Grisé +nEtatCode= oP:m_bActif ?( oP:m_bSysteme ? AffichageSeulement sinon Actif ) sinon Grisé +// si gtaTypesParam[sCode]:bCodeVisible alors +// nEtatCode=nEtatLib +// sinon +// nEtatCode=AffichageSeulement +// FIN +n=ZR_PM.AjouteLigne(oP:m_sValeur,oP:m_sLibelle,oP:m_bSysteme,oP:m_bActif,oP:m_nOrdre,oP:m_nPKID +,nEtatLib,nEtatCode,Vrai)//gtaTypesParam[sCode]:bCodeVisible +//Si on change l'état du champ de saisie SAI_Valeur, il redevient Visible. Donc on n'y touche +pas si il est masqué +// SI gtaTypesParam[sCode]:bCodeVisible ALORS ZR_PM[n].SAI_Valeur..etat=nEtatCode +fin +fin +Procédure locale Param_Ajoute +procédure Param_Ajoute() +clErr est un CErreur +//Nouvel objet ParametreMétier +clNewParam est un MParametreMetier +clNewParam.m_bInvisible =Faux +clNewParam.m_bActif =Vrai +clNewParam.m_bNouveau=Vrai +clNewParam.m_bSysteme=Faux +clNewParam.m_sCode =ZR_TypeParam.ATT_Code +clNewParam.m_nOrdre =ZR_PM..Occurrence+1 +nMax est un entier +06/08/2026 Isis_BO 2584 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Procédures +si clNewParam.m_sCode="11" alors +si pas Param_11(clNewParam) alors +retour +fin +sinon +pour i = 1 _à_ ZR_PM..Occurrence +nMax=Max(nMax,ZR_PM[i].ATT_Valeur) +fin +clNewParam.m_sValeur = nMax+1 +fin +si clNewParam:bEnregistrer(clErr) alors +si clNewParam.m_sCode=cPM_17_DocCategorie alors +sql29 est une Requête SQL = +[ +SELECT MAX(ParametreMetier.PA_Valeur) AS Valeur ,MAX(ParametreMetier.PA_Ordre) AS Ordre +FROM ParametreMetier +WHERE PA_Code='29' AND PA_Valeur LIKE '5.6%' +] +si HExécuteRequête(sql29,hRequêteDéfaut) alors +HLitPremier(sql29) +si pas HEnDehors(sql29) alors +clFicheParamMetier est un PFicheParametreMetier<-gpclListeParamMetier.Nouveau() +clFicheParamMetier.m_sCode = "29" +clFicheParamMetier.m_sValeur = ExtraitChaîne(sql29.Valeur,1,".")+"."+ +ExtraitChaîne(sql29.Valeur,2,".")+"."+NumériqueVersChaîne(Val(ExtraitChaîne(sql29. +Valeur,1,".",DepuisFin))+1) +clFicheParamMetier.m_nOrdre = Val(sql29.Ordre)+1 +clFicheParamMetier.m_bSysteme = Vrai +clFicheParamMetier.m_bInvisible = Faux +clFicheParamMetier.m_bActif = Vrai +clFicheParamMetier.m_sCleLiaison = clNewParam:m_sCode+","+clNewParam:m_sValeur +si pas clFicheParamMetier:bOK(clErr) alors +Erreur(clErr.FormateMessage()) +retour +fin +fin +fin +fin +gpclPresenListeParamMetier:m_clTabModele.Ajoute(clNewParam) +ZR_PM.AjouteLigne(clNewParam.m_sValeur,clNewParam.m_sLibelle,Faux,Vrai,clNewParam.m_nOrdre, +clNewParam.m_nPKID,Actif,Actif,Vrai)//gtaTypesParam[clNewParam.m_sCode]:bCodeVisible +Param_RenumeroteEtSauve() +//Sélectionne le paramètre ajouté +ZR_PM.SelectPlus(ZR_PM..Occurrence) +Param_SelectElemCourant() +//Mise à jour des listes associées +Param_Supprime(gpclPresenListeParamMetier.p_clCourant,gpclPresenListeParamMetier.p_clCourant.m_s +Code) +fin +Procédure locale Param_ChargeListeTypeParametre +procédure Param_ChargeListeTypeParametre() +////Rempli la liste des types de paramètre +06/08/2026 Isis_BO 2585 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Procédures +// +//pour tout stParam,sCode de gtaTypesParam +// si pas stParam.m_bSysteme alors +// ZR_TypeParam.AjouteLigne(sCode,stParam.m_sLibelle) +// fin +// +//FIN +////Séléctionne et affiche le premier élément de la liste +//si ZR_TypeParam..Occurrence>0 alors +// ZR_TypeParam.SelectPlus(1) +// Param_AfficheListe() +//fin +Procédure locale Param_EnregistreLigneCourante +procédure Param_EnregistreLigneCourante() +si gpclPresenListeParamMetier.p_clCourant<>Null alors +//Cas spécifique des catégorie de documents +si gpclPresenListeParamMetier.p_clCourant.m_sCode=cPM_17_DocCategorie alors +sJSON est une chaîne = ZR_TypeParam.ATT_SPEC +sJSON = ChaîneConstruit(sJSON,NumériqueVersChaîne(Val(gpcl +PresenListeParamMetier.p_clCourant:m_sValeur),"02d"),gpclPresenListeParamMetier.p_clCourant:m_s +Libelle) +gpclPresenListeParamMetier.p_clCourant:m_sParametre = sJSON +fin +clErreur est un CErreur +si pas gpclPresenListeParamMetier.p_clCourant:bEnregistrer(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon si gpclPresenListeParamMetier.p_clCourant.m_sCode=cPM_17_DocCategorie alors +sql29 est une Requête SQL = +[ +SELECT ParametreMetier.* +FROM ParametreMetier +WHERE PA_Code='29' AND PA_CleLiaison={p_CleLiaison} +] +sql29.p_CleLiaison = gpclPresenListeParamMetier.p_clCourant:m_sCode+","+gpcl +PresenListeParamMetier.p_clCourant:m_sValeur +si HExécuteRequête(sql29,hModifieFichier+hRequêteDéfaut) alors +HLitPremier(sql29) +si pas HEnDehors(sql29) alors +sql29.PA_LIBELLE = gpclPresenListeParamMetier.p_clCourant:m_sLibelle +HModifie(sql29,hNumEnrEnCours) +fin +fin +fin +fin +Procédure locale Param_MAJObjet +// Résumé : +// Syntaxe : +//Param_MAJObjet ( est MParametreMetier dynamique, est objet dynamique [, + est booléen [, ]]) +// +// Paramètres : +// clNewParam (MParametreMetier dynamique) : +// pclObjetListe (objet dynamique) : +// bSuppr (booléen - valeur par défaut=0) : +// sNomVariable (valeur par défaut="") : < indiquez ici le rôle de sNomVariable > +06/08/2026 Isis_BO 2586 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Procédures +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// nIndice : +procédure Param_MAJObjet(clNewParam est un MParametreMetier dynamique,pclObjetListe est un objet +dynamique,bSuppr est un booléen=Faux,sNomVariable="") +MaDef est une Définition +sNomClasse est une chaîne +si pclObjetListe<>Null alors +MaDef=RécupèreDéfinition(pclObjetListe) +sNomClasse = MaDef..Nom +fin +nIndice est un entier +nIndice=TableauCherche(pclObjetListe.m_clTabVisible,tcLinéaire,"m_nPKID",clNewParam.m_nPKID,1) +si nIndice<>-1 alors +si bSuppr alors +pclObjetListe.m_clTabVisible.SupprimeLigne(nIndice) +sinon +pclObjetListe.m_clTabVisible[nIndice]=clNewParam +fin +sinon si pas bSuppr alors +pclObjetListe.m_clTabVisible.AjouteLigne(clNewParam) +fin +TableauTrie(pclObjetListe.m_clTabVisible,ttMembre,"m_nOrdre") +nIndice=TableauCherche(pclObjetListe.m_clTabModele,tcLinéaire,"m_nPKID",clNewParam.m_nPKID,1) +si nIndice<>-1 alors +si bSuppr alors +pclObjetListe.m_clTabModele.SupprimeLigne(nIndice) +sinon +pclObjetListe.m_clTabModele[nIndice]=clNewParam +fin +sinon si pas bSuppr alors +pclObjetListe.m_clTabModele.AjouteLigne(clNewParam) +fin +TableauTrie(pclObjetListe.m_clTabModele,ttMembre,"m_nOrdre") +SourceVersEcran("",sNomVariable) +Procédure locale Param_Rafraichir +// Résumé : +// Syntaxe : +//Param_Rafraichir ( est MParametreMetier dynamique, est chaîne) +// +// Paramètres : +// clNewParam (MParametreMetier dynamique) : +// sCodeObjet (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Param_Rafraichir(clNewParam est un MParametreMetier dynamique,sCodeObjet est une chaîne ANSI) +selon sCodeObjet +cas cPM_01_ChampsPerso : Param_MAJObjet(clNewParam,gpclListeChampPerso ,Faux , +06/08/2026 Isis_BO 2587 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Procédures +"gpclListeChampPerso" ) //Chargement des Champs personnalisés +cas cPM_02_ClientType : Param_MAJObjet(clNewParam,gpclListeTypeClient ,Faux , +| "gpclListeTypeClient" | ) | //Chargement des Types de client | | +| --------------------- | --- | -------------------------------- | --- | +cas cPM_03_ClientStatut : Param_MAJObjet(clNewParam,gpclListeStatutClient ,Faux , +| "gpclListeStatutClient" | ) | //Chargement des Statut du client | | +| ----------------------- | --- | --------------------------------- | --- | +cas cPM_04_AdresseType : Param_MAJObjet(clNewParam,gpclListeTypeAdresse ,Faux , +| "gpclListeTypeAdresse" | ) | //Chargement des Types d'adresses | | +| ---------------------- | --- | --------------------------------- | --- | +cas cPM_05_Civilite : Param_MAJObjet(clNewParam,gpclListeCivilite ,Faux , +| "gpclListeCivilite" | ) | //Chargement des civilités | | +| ------------------- | --- | -------------------------- | --- | +cas cPM_06_DossierType : Param_MAJObjet(clNewParam,gpclListeTypeDossier ,Faux , +| "gpclListeTypeDossier" | ) | //Chargement des type de dossiers | | +| ---------------------- | --- | --------------------------------- | --- | +cas cPM_07_DossierStatut : Param_MAJObjet(clNewParam,gpclListeStatutDossier ,Faux , +"gpclListeStatutDossier" ) //Chargement des statuts d'un dossier +cas cPM_08_LieuType : Param_MAJObjet(clNewParam,gpclListeTypeLieu ,Faux , +| "gpclListeTypeLieu" | ) | //Chargement des Type de lieu | | +| ------------------- | --- | ----------------------------- | --- | +// cas cPM_09_DestDemande : Param_MAJObjet(clNewParam,gpclListeDestinationDemande,Faux +,"gpclListeDestinationDemande") //Chargement des Destination d'une demande +cas cPM_10_Priorité : Param_MAJObjet(clNewParam,gpclListeNivPriorite ,Faux , +| "gpclListeNivPriorite" | ) | //Recherche des niveaux de priorité | | +| ---------------------- | --- | ----------------------------------- | --- | +cas cPM_11_Role : Param_MAJObjet(clNewParam,gpclListeRoleContact ,Faux , +| "gpclListeRoleContact" | ) | //Chargement des rôles contact | | +| ---------------------- | --- | ------------------------------ | --- | +cas cPM_12_IntervType : Param_MAJObjet(clNewParam,gpclListeTypeIntervention ,Faux , +"gpclListeTypeIntervention" ) //Chargement des types d'intervention +cas cPM_13_IntervEtat : Param_MAJObjet(clNewParam,gpclListeEtatIntervention ,Faux , +"gpclListeEtatIntervention" ) //Chargement des état d'intervention +cas cPM_14_RdvType : Param_MAJObjet(clNewParam,gpclListeTypeRendezVous ,Faux , +"gpclListeTypeRendezVous" ) //Chargement des types des rendez-vous +cas cPM_15_RdvStatut : Param_MAJObjet(clNewParam,gpclListeStatutRendezVous ,Faux , +"gpclListeStatutRendezVous" ) //Chargement des statuts des rendez-vous +cas cPM_16_ActionType : Param_MAJObjet(clNewParam,gpclListeTypeAction ,Faux , +| "gpclListeTypeAction" | ) | //Chargement des types d'actions | | +| --------------------- | --- | -------------------------------- | --- | +cas cPM_17_DocCategorie : Param_MAJObjet(clNewParam,gpclListeCategorieDocument ,Faux , +"gpclListeCategorieDocument" ) //Chargement des catégories de document +cas cPM_18_TempsType : Param_MAJObjet(clNewParam,gpclListeTypeTemps ,Faux , +| "gpclListeTypeTemps" | ) | //Chargement des types de temps | | +| -------------------- | --- | ------------------------------- | --- | +cas cPM_19_UserProfil : Param_MAJObjet(clNewParam,gpclListeProfilUser ,Faux , +"gpclListeProfilUser" ) //Chargement des profils utilisateurs +cas cPM_20_CollabStatut : Param_MAJObjet(clNewParam,gpclListeStatutCollab ,Faux , +"gpclListeStatutCollab" ) //Chargement des statuts collaborateurs +//pas de 21 +cas cPM_22_ModelEtatInterv : Param_MAJObjet(clNewParam,gpclListeModelEtatInterv ,Faux , +| "gpclListeModelEtatInterv" | ) | | | +| -------------------------- | --- | --- | --- | +//Chargement des modèles d'états pour l'intervention +cas cPM_23_ModelRapport : Param_MAJObjet(clNewParam,gpclListeModelRapportInterv,Faux, +"gpclListeModelRapportInterv" ) //Chargement des modèles de rapport pour l'intervention +//pas de 24 +cas cPM_24_DocEtat : Param_MAJObjet(clNewParam,gpclListeEtatDocument ,Faux , +"gpclListeEtatDocument" ) //Chargement des états de documents +cas cPM_25_ModelEtatIntRdv : Param_MAJObjet(clNewParam,gpclListeModelEtatIntervRdv,Faux, +| "gpclListeModelEtatIntervRdv" | ) | | | +| ----------------------------- | --- | --- | --- | +//Chargement des modèles d'états pour l'intervention avec rendez-vous +cas cPM_26_SeuilAffichage : Param_MAJObjet(clNewParam,gpclListeSeuilAffichageListe,Faux , +"gpclListeSeuilAffichageListe") +cas cPM_27_PeriodeAffichage : Param_MAJObjet(clNewParam,gpclListePeriodeAffichageListe,Faux , +| "gpclListePeriodeAffichageListe" | ) | | | +| -------------------------------- | --- | --- | --- | +cas cPM_MM_MailCat : Param_MAJObjet(clNewParam,gpclListeCategorieModelMail,Faux, +| "gpclListeCategorieModelMail" | ) | | | +| ----------------------------- | --- | --- | --- | +fin +Procédure locale Param_RenumeroteEtSauve +procédure Param_RenumeroteEtSauve() +| 06/08/2026 | | Isis_BO | 2588 | +| ---------- | --- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Procédures +clErreur est un CErreur +//Renumérote l'ordre de toute les lignes de la ZR +//Mise à jour des objets +//trace("ZR_PM :" + ZR_PM..Occurrence) +pour i=1 _à_ ZR_PM..Occurrence +ZR_PM[i].ATT_Ordre=i +gpclPresenListeParamMetier.SelectionneParamCourant(ZR_PM[i].ATT_PKID) +gpclPresenListeParamMetier:p_clCourant:m_nOrdre = i +si pas gpclPresenListeParamMetier.p_clCourant:bEnregistrer(clErreur) alors +Erreur(clErreur.FormateMessage()) +fin +fin +TableauTrie(gpclPresenListeParamMetier:m_clTabModele,ttMembre,"m_sCode;m_nOrdre") +Procédure locale Param_SelectElemCourant +procédure Param_SelectElemCourant() +//Fait pointer l'objet gpclPresenListeParamMetier:p_clCourant sur l'élément correspondant à la ligne +courante +si gpclPresenListeParamMetier.SelectionneParamCourant(ZR_PM[ZR_PM].ATT_PKID) alors +BTN_SupprimerParam..Grisé= gpclPresenListeParamMetier:p_clCourant:m_bSysteme +//trace("Selectionne +: " + ZR_PM +gpclPresenListeParamMetier:p_clCourant:m_sLibelle + " " + +gpclPresenListeParamMetier:p_clCourant:m_sValeur) +si gpclPresenListeParamMetier:p_clCourant:m_sCode = cPM_18_TempsType alors +si gpclPresenListeParamMetier:p_clCourant:m_sValeur <> "0" et gpclPresenListeParamMetier: +p_clCourant:m_sValeur <> "1" et gpclPresenListeParamMetier:p_clCourant:m_sValeur <> "99" alors +BTN_EDT_PARAM..Grisé = Faux +sinon +BTN_EDT_PARAM..Grisé = Vrai +fin +fin +fin +Procédure locale Param_Supprime +// Résumé : +// Syntaxe : +//Param_Supprime ( est MParametreMetier dynamique, est chaîne) +// +// Paramètres : +// clNewParam (MParametreMetier dynamique) : +// sCodeObjet (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Param_Supprime(clNewParam est un MParametreMetier dynamique,sCodeObjet est une chaîne ANSI) +selon sCodeObjet +cas cPM_01_ChampsPerso : Param_MAJObjet(clNewParam,gpclListeChampPerso ,Vrai, +"gpclListeChampPerso" ) +cas cPM_02_ClientType : Param_MAJObjet(clNewParam,gpclListeTypeClient ,Vrai, +"gpclListeTypeClient" ) +cas cPM_03_ClientStatut : Param_MAJObjet(clNewParam,gpclListeStatutClient ,Vrai, +06/08/2026 Isis_BO 2589 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Procédures +"gpclListeStatutClient" ) +cas cPM_04_AdresseType : Param_MAJObjet(clNewParam,gpclListeTypeAdresse ,Vrai, +"gpclListeTypeAdresse" ) +cas cPM_05_Civilite : Param_MAJObjet(clNewParam,gpclListeCivilite ,Vrai, +"gpclListeCivilite" ) +cas cPM_06_DossierType : Param_MAJObjet(clNewParam,gpclListeTypeDossier ,Vrai, +"gpclListeTypeDossier" ) +cas cPM_07_DossierStatut: Param_MAJObjet(clNewParam,gpclListeStatutDossier ,Vrai, +"gpclListeStatutDossier" ) +cas cPM_08_LieuType : Param_MAJObjet(clNewParam,gpclListeTypeLieu ,Vrai, +"gpclListeTypeLieu" ) +//CAS cPM_09_DestDemande : Param_MAJObjet(clNewParam,gpclListeDestinationDemande +,vrai,"gpclListeDestinationDemande" ) +cas cPM_10_Priorité : Param_MAJObjet(clNewParam,gpclListeNivPriorite ,Vrai, +"gpclListeNivPriorite" ) +cas cPM_11_Role : Param_MAJObjet(clNewParam,gpclListeRoleContact ,Vrai, +"gpclListeRoleContact" ) +cas cPM_12_IntervType : Param_MAJObjet(clNewParam,gpclListeTypeIntervention ,Vrai, +"gpclListeTypeIntervention" ) +cas cPM_13_IntervEtat : Param_MAJObjet(clNewParam,gpclListeEtatIntervention ,Vrai, +"gpclListeEtatIntervention" ) +cas cPM_14_RdvType : Param_MAJObjet(clNewParam,gpclListeTypeRendezVous ,Vrai, +"gpclListeTypeRendezVous" ) +cas cPM_15_RdvStatut : Param_MAJObjet(clNewParam,gpclListeStatutRendezVous ,Vrai, +"gpclListeStatutRendezVous" ) +cas cPM_16_ActionType : Param_MAJObjet(clNewParam,gpclListeTypeAction ,Vrai, +"gpclListeTypeAction" ) +cas cPM_17_DocCategorie : Param_MAJObjet(clNewParam,gpclListeCategorieDocument ,Vrai, +"gpclListeCategorieDocument" ) +cas cPM_18_TempsType : Param_MAJObjet(clNewParam,gpclListeTypeTemps ,Vrai, +"gpclListeTypeTemps" ) +cas cPM_19_UserProfil : Param_MAJObjet(clNewParam,gpclListeProfilUser ,Vrai, +"gpclListeProfilUser" ) +cas cPM_20_CollabStatut : Param_MAJObjet(clNewParam,gpclListeStatutCollab ,Vrai, +"gpclListeStatutCollab" ) +//pas de 21 +cas cPM_22_ModelEtatInterv : Param_MAJObjet(clNewParam,gpclListeModelEtatInterv ,Vrai, +"gpclListeModelEtatInterv" ) //Chargement des modèles d'états pour l'intervention +cas cPM_23_ModelRapport : Param_MAJObjet(clNewParam,gpclListeModelRapportInterv ,Vrai, +"gpclListeModelRapportInterv" ) //Chargement des modèles de rapport pour l'intervention +//pas de 24 +cas cPM_24_DocEtat : Param_MAJObjet(clNewParam,gpclListeEtatDocument ,Vrai, +"gpclListeEtatDocument" ) //Chargement des états de documents +cas cPM_25_ModelEtatIntRdv : Param_MAJObjet(clNewParam,gpclListeModelEtatIntervRdv ,Vrai, +"gpclListeModelEtatIntervRdv" ) +//Chargement des modèles d'états pour l'intervention avec rendez-vous +cas cPM_26_SeuilAffichage : Param_MAJObjet(clNewParam,gpclListeSeuilAffichageListe,Vrai, +"gpclListeSeuilAffichageListe") +cas cPM_27_PeriodeAffichage : Param_MAJObjet(clNewParam,gpclListePeriodeAffichageListe,Vrai, +"gpclListePeriodeAffichageListe" ) +cas cPM_MM_MailCat : Param_MAJObjet(clNewParam,gpclListeCategorieModelMail,Vrai, +"gpclListeCategorieModelMail") +fin +Procédure locale PrefAffiche_TLM +procédure PrefAffiche_TLM() +si HLitRecherchePremier(ParametreApplication,PAP_Code,cParam_TLM) alors +SEL_TLM = Val(ParametreApplication.PAP_Valeur) +fin +Procédure locale PrefUser_Affiche_PrefPlanning +// Résumé : +06/08/2026 Isis_BO 2590 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage › Procédures +// Syntaxe : +//PrefUser_Affiche_PrefPlanning () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure PrefUser_Affiche_PrefPlanning() +SEL_AffichePlanning=gpclListeParamAppli:m_clTabModele[cParam_Planning]:m_sValeur +Procédure locale Users_Charge_Combo_Collab +// Résumé : +// Syntaxe : +//Users_Charge_Combo_Collab ( est booléen, est objet dynamique, est +entier sur 8 octets) +// +// Paramètres : +// bNouveau (booléen) : +// pclObjet (objet dynamique) : +// nIDCollab (entier sur 8 octets) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Users_Charge_Combo_Collab(bNouveau est un booléen, pclObjet est un objet dynamique< +utile>, nIDCollab est un entier sur 8 octets) +//POUR i = 1 _A_ pclObjet.p_nTotal +// +ListeAjoute(COMBO_Collaborateur,pclObjet:m_clTabModele[i].m_sNom+" +"+pclObjet:m_clTabModele[i].m_sPrenom+gLien(pclObjet:m_clTabModele[i].m_nPKID)) +//FIN +//si pas bNouveau alors +// +// //ListeAjoute(COMBO_Collaborateur,pclObjet.m_sNom+" "+pclObjet.m_sPrenom+gLien(pclObjet.m_nPKID)) +// ListeSelectPlus(COMBO_Collaborateur,ListeCherche(COMBO_Collaborateur,nIDCollab,Vrai)) +// COMBO_Collaborateur..visible=vrai +// COMBO_Collaborateur..grisé=vrai +//sinon +// +////reqCollab est une requête SQL = +////[ +//// SELECT * FROM Collaborateur +//// LEFT OUTER JOIN Utilisateur ON Utilisateur.UT_IDCollaborateur=Collaborateur.CO_PKID +//// WHERE Utilisateur.UT_IDCollaborateur IS NULL +////] +////HExécuteRequête(reqCollab,hRequêteDéfaut) +////POUR TOUT reqCollab +//// +ListeAjoute(COMBO_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom+gLien(reqCollab.CO_PKID)) +////FIN +////HAnnuleDéclaration(reqCollab) +// COMBO_Collaborateur..Grisé=faux +//FIN +06/08/2026 Isis_BO 2591 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Image +FI_Fiche_DossierV1 +Image +| 06/08/2026 | Isis_BO | 2592 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Image +| 06/08/2026 | Isis_BO | 2593 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Image +FI_Fiche_DossierV1 +Informations générales +FI_Fiche_DossierV1 +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Fiche_DossierV1.wdw +Créé par FBO +Date de création 17/09/2018 16:11:52 +Dernière modification par SMR +Date dernière modification 02/05/2025 09:42:20 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +06/08/2026 Isis_BO 2594 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 1458 Hauteur | 769 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ------- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 2595 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | | 5 | | Libellé | | 8 | +| --- | --------------- | --- | --- | --- | --- | ---------------------- | --- | --- | +| | Bouton | | | 10 | | Image | | 5 | +| | Combo | | | 2 | | Onglet | | 1 | +| | Forme | | | 1 | | Fenêtre interne | | 1 | +| | Fenêtre interne | | | 1 | | Volet (Onglet) | | 1 | +| | Disposition | | | 3 | | Cellule de disposition | | 12 | +Nombre d'éléments dans la fenêtre : 50 +FI_Fiche_DossierV1 +Informations sur les champs +Fenêtre : FI_Fiche_DossierV1 +Fenêtre interne +BAT ehcuoT +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | +| | | | | | ruegraL | ruetuaH | | | +elbisiV +nalP +| FI_Fiche_DossierV1 | | | 0 | 0 | 1458 | 769 | 0 | | +| ------------------ | --- | --- | --- | --- | ---- | --- | --- | --- | +Fenêtre interne : FI_Fiche_DossierV1 +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_CLIENT | | 199 16 220 | 22 0 | Actif | Texte | | Non | | +| ----------------- | --- | ---------- | ---- | -------- | ----- | --- | --- | ---- | +| SAI_DateDossier | | 94 16 96 | 22 0 | Actif | Date | | Non | | +| SAI_NUMERO_DOSSIE | | 6 16 88 | 22 0 | affichag | Texte | | Non | | +| SAI_REFEXTERNE | | 694 16 129 | 22 0 | Actif | Texte | | Non | | +| SAI_TITRE_DOSSIER | | 535 16 150 | 22 0 | Actif | Texte | | Non | | +| 06/08/2026 | | | | Isis_BO | | | | 2596 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › 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_CLIENT | 199 2 | 79 | 14 | 0 | Actif | Gauche | Haut | | +| ------------------ | ------ | --- | --- | --- | ----- | ------ | ---- | --- | +| LIB_DATE_DOSSIER | 94 2 | 96 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_NUMDOSSIER | 6 2 | 79 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_REF_EXTERNE | 694 2 | 129 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_STATUT_DOSSIER | 1018 2 | 125 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_TITRE_DOSSIER | 535 2 | 79 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_TYPE_DOSSIER | 832 2 | 177 | 14 | 0 | Actif | Gauche | Haut | | +LIB_Titre_de_fenêtre_fiche_dossi -121 11 39 21 0 Actif Gauche Centre +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | | +| --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_AJOUTE_CLIENT | 458 | 7 | 24 | 24 | 0 | Actif | Normal | | +| --------------------------- | --- | --- | --- | --- | --- | ----- | ------ | --- | +| BTN_CADENAS_FERME_DOSSIER | -10 | 7 | 24 | 24 | 0 | Actif | Normal | | +| BTN_CADENAS_OUVERT_DOSSIER | 4 | 7 | 24 | 24 | 0 | Actif | Normal | | +| BTN_Fermer_fiche_dossier | 4 | 7 | 24 | 24 | 0 | Actif | Normal | | +| BTN_LOUPE_CLIENT | 425 | 7 | 24 | 24 | 0 | Actif | Normal | | +| BTN_MODIF_CLIENT | 490 | 7 | 24 | 24 | 0 | Actif | Normal | | +| BTN_Nouveau_fiche_dossier | 4 | 7 | 24 | 24 | 0 | Grisé | Normal | | +| BTN_Nouvelle_Intervention | 660 | 283 | 139 | 165 | 1 | Actif | Normal | | +| BTN_Supprimer_fiche_dossier | 4 | 7 | 24 | 24 | 0 | Actif | Normal | | +| BTN_Valider_fiche_dossier | 4 | 7 | 24 | 24 | 0 | Actif | Normal | | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------- | --- | +| | | ruegraL | | ruetuaH | | | cilc cevA | | +elbisiV +nalP +IMG_CADENAS_FERME_BDD_FICHE_D +| | -26 | 14 | 20 | 20 | 0 | Actif | | | +| ------------------------------ | --- | --- | ------- | --- | --- | ----- | --- | ---- | +| IMG_CADENAS_FERME_FICHE_DOSSIE | -52 | 13 | 20 | 20 | 0 | Actif | | | +| IMG_CADENAS_OUVERT_FICHE_DOSSI | -77 | 13 | 20 | 20 | 0 | Actif | | | +| IMG_OPACITE_ENTETE | 0 | 50 | 1458 | 38 | 0 | Actif | | | +| IMG_Parametrage | 1 | 4 | 30 | 30 | 0 | Actif | | | +| 06/08/2026 | | | Isis_BO | | | | | 2597 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › 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 +| COMBO_Statut | 1018 | 16 | 125 | 22 | 0 | Actif | Variable | | Non | | | +| ----------------- | ---- | --- | --- | --- | --- | ----- | -------- | --- | --- | --- | --- | +| COMBO_TypeDossier | 832 | 16 | 177 | 22 | 0 | Actif | Variable | | Non | | | +Onglet +slennoitroporp steloV +engil/stelov .bN +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | stelov .soP | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | ----------- | --- | --- | +ruetuaH +| | | | | ruegraL | | | elbisiV | | | | | +| --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | --- | --- | +nalP +| ONG_INTERVENTION | | 149 | 145 | 1309 | 586 | 2 | Actif | | haut | | 0 | +| ---------------- | --- | --- | --- | ---- | --- | --- | ----- | --- | ---- | --- | --- | +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | ------------ | --- | +| | | | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| FRM_CACHE_MISERE | | | | 0 | 36 | 1458 | 787 | 1 | | Actif | | +| ---------------- | --- | --- | --- | --- | --- | ---- | --- | --- | --- | ----- | --- | +Fenêtre interne +BAT ehcuoT +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | | | | +| --- | --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | --- | --- | +| | | | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| CFI_SOUSELEMENT_FICHE_DOSSIER | | | | 0 | 0 | 1278 | 823 | 2 | | Actif | | +| ----------------------------- | --- | --- | --- | --- | --- | ---- | --- | --- | --- | ----- | --- | +Disposition +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | ------------ | --- | +| | | | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| DISP_BANDEAU_ENTETE_FICHE_DOSSIER | | | | 0 | 0 | 1458 | 38 | 0 | | Actif | | +| --------------------------------- | --- | --- | --- | --- | ------- | ---- | --- | --- | --- | ----- | ---- | +| D_COL_FIC_DOSSIER | | | | 0 | 0 | 1458 | 731 | 0 | | Actif | | +| D_FIC_DOSSIER | | | | 0 | 0 | 1458 | 769 | 0 | | Actif | | +| 06/08/2026 | | | | | Isis_BO | | | | | | 2598 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Fenêtre : FI_Fiche_DossierV1 +Fenêtre interne : FI_Fiche_DossierV1 +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Fiche_DossierV1 +Bouton : +Groupe GR_MODEOPAQUE_FICHE_DOSSIER,GR_CADENAS_DOSSIER +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 +Retrait gauche 2 +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 +06/08/2026 Isis_BO 2599 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 : +Groupe ,GR_MODEOPAQUE_FICHE_DOSSIER +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +06/08/2026 Isis_BO 2600 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Cadenas_Fermer_rou +ge.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe ,GR_MODEOPAQUE_FICHE_DOSSIER +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Cadenas.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +06/08/2026 Isis_BO 2601 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GR_MODEOPAQUE_FICHE_DOSSIER +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2602 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_DOSSIER,GR_CADENAS_DOSSIER +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_chercher.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2603 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_DOSSIER,GR_CADENAS_DOSSIER +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2604 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_DOSSIER +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2605 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Bouton : +Libellé FR: Nouvelle Intervention +Groupe GR_MODEOPAQUE_FICHE_DOSSIER +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\FLS01043a_64_5.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2606 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_DOSSIER,GR_CADENAS_DOSSIER +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2607 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_DOSSIER,GR_CADENAS_DOSSIER +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2608 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Fenêtre interne : +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 +Ancrage au contenu +Numéro aide 0 +Ascenseur auto. 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 +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : +Libellé FR: Stat&ut du dossier +Valeur initiale 1 +Groupe GR_CADENAS_DOSSIER +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 125 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +06/08/2026 Isis_BO 2609 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Position X interne 1018 +Largeur interne 125 +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 +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. +Avec recherche Oui +Liaison des données :gclPresentationFicheDossier.m_nIDStatut +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeStatutDossier.m_clTabModele +Rub. affichée :gpclListeStatutDossier.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeStatutDossier.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +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 +06/08/2026 Isis_BO 2610 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Combo : +Libellé FR: &Type de dossier +Groupe GR_CADENAS_DOSSIER,GR_TYPEDOSSIER +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 177 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 832 +Largeur interne 177 +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 +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 +06/08/2026 Isis_BO 2611 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Oui +Liaison des données :gclPresentationFicheDossier.m_nIDTypeDossier +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeDossier.m_clTabModele +Filtre 6 +Rub. affichée :gpclListeTypeDossier.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeTypeDossier.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +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 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Agrandir le champ, pousse les champs autour +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2612 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Disposition : FI_Fiche_DossierV1.D_FIC_DOSSIER.D_COL_FIC_DOSSIER +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Agrandir le champ, pousse les champs autour +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_DossierV1.D_FIC_DOSSIER +Libellé FR: Disposition +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 +Cellule ancrée 2 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +06/08/2026 Isis_BO 2613 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Fiche_DossierV1.D_FIC_DOSSIER.D_COL_FIC_DOSSIER.FRM_CACHE_MISERE +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Fiche_DossierV1.IMG_CADENAS_FERME_BDD_FICHE_DOSSIER +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CADENAS_FERME_BDD.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Non +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +06/08/2026 Isis_BO 2614 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Fiche_DossierV1.IMG_CADENAS_FERME_FICHE_DOSSIER +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\AND13320_20_1.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Non +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2615 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Image : FI_Fiche_DossierV1.IMG_CADENAS_OUVERT_FICHE_DOSSIER +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\AND13320b_20_1.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Non +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Fiche_DossierV1.D_FIC_DOSSIER.IMG_OPACITE_ENTETE +Groupe GR_IMAGE_OPAQUE_FICHE_DOSSIER +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 50 +Ascenseur et zoom auto. Non +06/08/2026 Isis_BO 2616 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +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. +Mire visible Non +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\parametresUtilisateur.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +06/08/2026 Isis_BO 2617 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Client +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Date du dossier +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +06/08/2026 Isis_BO 2618 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Dossier n° +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 +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 +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 +06/08/2026 Isis_BO 2619 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Réf. externe +Groupe GR_REFEXTERNE +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 +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 +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Statut du dossier +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 +06/08/2026 Isis_BO 2620 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +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 +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Titre +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 +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 +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 +06/08/2026 Isis_BO 2621 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Type de dossier +Groupe GR_TYPEDOSSIER +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 +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 +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2622 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Libellé : FI_Fiche_DossierV1.LIB_Titre_de_fenêtre_fiche_dossier +Libellé FR: Titre +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Onglet : FI_Fiche_DossierV1.D_FIC_DOSSIER.D_COL_FIC_DOSSIER.ONG_INTERVENTION +Libellé FR: &Onglet +Valeur initiale 1 +Ordre navigation 2 +Curseur survol 0 +Onglet dynamique Oui +Libellé volet FR: Nouvelle intervention +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Retrait gauche 0 +Retrait des onglets 0 +Numéro aide 0 +06/08/2026 Isis_BO 2623 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Autorise ChangeGabarit Oui +Bouton Fermer Non +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. +Nb. états image 1 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: &Client +Groupe GR_CADENAS_DOSSIER +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 199 +Largeur interne 220 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +06/08/2026 Isis_BO 2624 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFicheDossier.FicheClient.FicheEncours.CodeEtNomClient +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 +06/08/2026 Isis_BO 2625 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Champ de saisie : +Libellé FR: Date du dossier +Groupe GR_CADENAS_DOSSIER +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 94 +Largeur interne 96 +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: JJ/MM/AAAA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2626 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +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. +Liaison des données :gclPresentationFicheDossier.m_dDebutDossier +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Dossier N° +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 6 +Largeur interne 88 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Texte d'indication si vide FR: XXXXXXX +Opacité 100 +06/08/2026 Isis_BO 2627 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +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 +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. +Liaison des données :gclPresentationFicheDossier.m_sRefInterne +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 +06/08/2026 Isis_BO 2628 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Réf. externe +Groupe GR_CADENAS_DOSSIER,GR_REFEXTERNE +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 694 +Largeur interne 129 +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 +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 +06/08/2026 Isis_BO 2629 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › 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. +Liaison des données :gclPresentationFicheDossier.m_sRefExterne +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Titre +Groupe GR_CADENAS_DOSSIER +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 535 +06/08/2026 Isis_BO 2630 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Largeur interne 150 +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 +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. +Liaison des données :gclPresentationFicheDossier.m_sTitre +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 +06/08/2026 Isis_BO 2631 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Informations sur les champs +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome Couleur monochrome du style +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_Fiche_DossierV1 +Messages multilingues +06/08/2026 Isis_BO 2632 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FI_Fiche_DossierV1 +Code des champs +Déclarations globales de FI_Fiche_DossierV1 +procédure FI_Fiche_DossierV1(gclPresentationFicheDossier est un PFicheDossier dynamique= +Null, paramSupplementaire est un STParamFenetreAppelante=Null) +sVoletIntervEnCoursDeFermetureest une chaîne +maProcMAJObjetRetourFI est une procédure= MAJObjetRetourFI +gnDelai est un entier +gbAppelProcFenAppelante est un booléen +vOngParent est un Champ +vNomFenInterne est une chaîne +//gtaTabOngletInterv est un tableau associatif (ccSansCasse) de chaînes +clFicheIntervCourant est un PFicheIntervention(Null) +gtabOngletIntervRef est un tableau associatif (ccSansCasse) de chaînes +gtabOngletIntervLog est un tableau associatif (ccSansCasse) de chaînes +sValSAI_CLIENT est une chaîne +clListeInterv est un PTableIntervention dynamique +IMG_Parametrage..Visible = DonneDroitParamAppli(cParam_TrieInter) +gbDroitSup est un booléen +nI est un entier = TableauCherche(gpclFicheUtilisateurEnCours.ListeAccesEtDroit.m_clTabModele, +tcLinéaire,"m_clModule:m_sValeur","7",1) +si nI > 0 alors +gbDroitSup = gpclFicheUtilisateurEnCours.ListeAccesEtDroit.m_clTabModele[nI]:m_bAcces + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Code des champs +fin +Demande de mise à jour de l'affichage de FI_Fiche_DossierV1 +si gclPresentationFicheDossier<>Null _et_ gclPresentationFicheDossier est PFicheDossier alors +SourceVersEcran("","gclPresentationFicheDossier") +BTN_MODIF_CLIENT..Grisé = gclPresentationFicheDossier:m_nIDClient=0 +//RafraichissementFiche(paramSupplementaire) +fin +BTN_Supprimer_fiche_dossier..Grisé = gbDroitSup = Vrai ? Faux sinon Vrai +Fermeture de FI_Fiche_DossierV1 +DeblocEnregistrement(gclPresentationFicheDossier,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_DOSSIER,BTN_CADENAS_OUVERT_DOSSIER,GR_CADENAS_DOSSIER,D_FIC_DOSSIER,Faux,*,pas gb +AppelProcFenAppelante) +si pas gbAppelProcFenAppelante alors +ONG_INTERVENTION.FermeTout() +fin +Clic sur BTN_Nouvelle_Intervention +nIdIntervention est un entier sur 8 octets +si gclPresentationFicheDossier.FicheClient.m_bBlocageCciale alors +Info( +"Vous ne pouvez pas créer de nouvelle intervention car le client est bloqué pour la raison suivante +:" +,gclPresentationFicheDossier.FicheClient.m_sRaisonBlocage, "" ) +sinon +vFenInterne est un Champ<-VoletDuChamp(D_FIC_DOSSIER) +// Récupère le nom de la fenêtre interne associée à cet onglet dynamique +vNomFenêtreInterne est une chaîne +vNomFenêtreInterne=EnumèreChamp(vFenInterne,1,parOrdreDeCréation) +si EnregistrerFiche() alors +{vNomFenêtreInterne,indFenêtre}..Plan = 2 +clPresentationFiche est un PFicheIntervention <- gclPresentationFicheDossier:ListeIntervention: +Nouveau() +si clPresentationFiche:m_sRefInterne="" alors +clPresentationFiche:m_sRefInterne = gclPresentationFicheDossier:m_sRefInterne+"-"+( +gclPresentationFicheDossier:ListeIntervention.p_nTotal+1) +fin +clPresentationFiche:m_nIDClient = gclPresentationFicheDossier:m_nIDClient +clPresentationFiche:m_nIDDossier = gclPresentationFicheDossier:m_nPKID +si gpclFicheUtilisateurEnCours:m_nIDSocietePrincipale > 0 alors +clPresentationFiche:m_nIDSociete = gpclFicheUtilisateurEnCours:m_nIDSocietePrincipale +sinon +pclListeSociete est un PTableSociete dynamique +pclListeSociete = PTableSociete.gNouvellePresentation(1,gpclFicheUtilisateurEnCours:m_n +PKID) +pour tout pclSoc de pclListeSociete:m_clTabModele +clPresentationFiche:m_nIDSociete = pclSoc.m_nPKID +sortir +fin +fin +clErreur est un CErreur +si clPresentationFiche:bOK(clErreur) alors +PFicheDossier.gListeIntervention(gclPresentationFicheDossier) +clListeInterv = DonneListeInterv() +fin +06/08/2026 Isis_BO 2633 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Code des champs +pour tout Interv de gclPresentationFicheDossier:ListeIntervention:m_clTabModele +si clPresentationFiche:m_sRefInterne = Interv:m_sRefInterne alors +nIdIntervention = Interv.m_nPKID +fin +fin +nIndice est un entier = TableauCherche(clListeInterv:m_clTabModele,tcLinéaire,"m_nPKID", +nIdIntervention,1) +si nIndice>0 alors +clListeInterv:p_clCourant = clListeInterv:m_clTabModele[nIndice] +//Récupération de l'objet FIche Intervention +clPresentationFiche <- clListeInterv.Modifier() +fin +OuvreOuActiveOnglet(FI_Fiche_Intervention,DonneLibOnglet(clPresentationFiche),*, +clPresentationFiche,DonneParam(DansChampFI,FI_Fiche_Dossier..Nom,MoiMême..Nom, +maProcMAJObjetRetourFI,"Intervention","DossierInterImmediat",*,gclPresentationFicheDossier,Faux +)) +fin +fin +Création d'un volet dans ONG_INTERVENTION +nIdIntervention est un entier sur 8 octets = 0 +si gclPresentationFicheDossier.FicheClient.m_bBlocageCciale alors +Info( +"Vous ne pouvez pas créer de nouvelle intervention car le client est bloqué pour la raison suivante +:" +,gclPresentationFicheDossier.FicheClient.m_sRaisonBlocage, "" ) +renvoyer Faux +sinon +bResultat est un booléen = EnregistrerFiche() +//clListeInterv est un PTableIntervention dynamique +si clListeInterv=Null alors clListeInterv = DonneListeInterv() +si clListeInterv<>Null alors +clPresentationFiche est un PFicheIntervention <- clListeInterv:Nouveau() +si clPresentationFiche:m_sRefInterne="" alors +nCpt est un entier +pour i = 1 _à_ clListeInterv:m_clTabModele.Occurrence() +si Val(ExtraitChaîne(clListeInterv:m_clTabModele[i]:m_sRefInterne,1,"-",DepuisFin))> +nCpt alors +nCpt = Val(ExtraitChaîne(clListeInterv:m_clTabModele[i]:m_sRefInterne,1,"-", +DepuisFin)) +fin +fin +clPresentationFiche:m_sRefInterne = gclPresentationFicheDossier:m_sRefInterne+"-"+(nCpt+1) +//(gclPresentationFicheDossier:ListeIntervention.p_nTotal+1) +clPresentationFiche:m_nIDClient = gclPresentationFicheDossier:m_nIDClient +clPresentationFiche:m_nIDDossier = gclPresentationFicheDossier:m_nPKID +si gpclFicheUtilisateurEnCours:m_nIDSocietePrincipale > 0 alors +clPresentationFiche:m_nIDSociete = gpclFicheUtilisateurEnCours:m_nIDSocietePrincipale +sinon +pclListeSociete est un PTableSociete dynamique +pclListeSociete = PTableSociete.gNouvellePresentation(1,gpclFicheUtilisateurEnCours: +06/08/2026 Isis_BO 2634 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Code des champs +m_nPKID) +pour tout pclSoc de pclListeSociete:m_clTabModele +clPresentationFiche:m_nIDSociete = pclSoc.m_nPKID +sortir +fin +fin +//clPresentationFiche:m_nIDSociete = +clErreur est un CErreur +si clPresentationFiche:bOK(clErreur) alors +PFicheDossier.gListeIntervention(gclPresentationFicheDossier) +clListeInterv = DonneListeInterv() +fin +pour tout Interv de gclPresentationFicheDossier:ListeIntervention:m_clTabModele +si clPresentationFiche:m_sRefInterne = Interv:m_sRefInterne alors +nIdIntervention = Interv.m_nPKID +fin +fin +nIndice est un entier = TableauCherche(clListeInterv:m_clTabModele,tcLinéaire,"m_nPKID", +nIdIntervention,1) +si nIndice>0 alors +clListeInterv:p_clCourant = clListeInterv:m_clTabModele[nIndice] +//Récupération de l'objet FIche Intervention +clPresentationFiche <- clListeInterv.Modifier() +fin +fin +OuvreOuActiveOnglet(FI_Fiche_Intervention,DonneLibOnglet(clPresentationFiche),*, +clPresentationFiche,DonneParam(DansChampFI,FI_Fiche_Dossier..Nom,MoiMême..Nom, +maProcMAJObjetRetourFI,"Intervention","DossierInterImmediat",*,gclPresentationFicheDossier,Faux +)) +si bResultat=Faux alors +//OngletFerme(ONG_INTERVENTION,"Nouvelle intervention") +//ExécuteTraitement(FI_Fiche_Dossier.DISP_FICHE.DISP_COLONNE.ONG_INTERVENTION,trtInit) +fin +fin +fin +Fermeture d'un volet de ONG_INTERVENTION +sVoletIntervEnCoursDeFermeture = MoiMême +si gtabOngletIntervRef[sVoletIntervEnCoursDeFermeture]..Existe alors +si TableauSupprime(gtabOngletIntervLog,gtabOngletIntervRef[sVoletIntervEnCoursDeFermeture])>0 alors +TableauSupprime(gtabOngletIntervRef,sVoletIntervEnCoursDeFermeture) +fin +fin +Modification du volet affiché de ONG_INTERVENTION +PriseFocus(MoiMême,sVoletIntervEnCoursDeFermeture) +sVoletIntervEnCoursDeFermeture="" +Clic sur BTN_AJOUTE_CLIENT +06/08/2026 Isis_BO 2635 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Code des champs +//ReorganiseChampDispoDansFiche(DISP_COLONNE_FICHE_DOSSIER,ONG_INTERVENTION,CFI_SOUSELEMENT_FICHE_DOSSI +ER,GR_IMAGE_OPAQUE_FICHE_DOSSIER,GR_MODEOPAQUE_FICHE_DOSSIER,Vrai,50,1,2) +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(ChampPrécédent()) +// +//clFicheClient est un PFicheClient<-PFicheClient.gNouvellePresentation() +//FEN_Menu.OuvreOuActive(FI_Fiche_Client,"Fiche +Client",*,clFicheClient,DonneParam(DansOnglet,"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJObjetRetour +FI)) +AppelSousFenetre(MoiMême..Nom) +Clic sur BTN_CADENAS_FERME_DOSSIER +BlocEnregistrement(gclPresentationFicheDossier,ActiveTimer,BTN_CADENAS_FERME_DOSSIER,BTN_ +CADENAS_OUVERT_DOSSIER,GR_CADENAS_DOSSIER,D_FIC_DOSSIER) +Clic sur BTN_CADENAS_OUVERT_DOSSIER +DeblocEnregistrement(gclPresentationFicheDossier,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_DOSSIER,BTN_CADENAS_OUVERT_DOSSIER,GR_CADENAS_DOSSIER,D_FIC_DOSSIER,Faux) +Clic sur BTN_Fermer_fiche_dossier +si paramSupplementaire.eTypeAppel=DansChampFI alors +// +SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,Null) +AppelProcFenetreAppelante(gclPresentationFicheDossier,paramSupplementaire,Faux,Vrai) +gbAppelProcFenAppelante = Vrai +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon +FermeVoletEtActiveLePrecedent(VoletDuChamp(D_FIC_DOSSIER)) +fin +Clic sur BTN_LOUPE_CLIENT +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(ChampPrécédent()) +//vFenInterne est un Champ<-VoletDuChamp(DISP_FICHE_DOSSIER) +// +//// Récupère le nom de la fenêtre interne associée à cet onglet dynamique +//vNomFenêtreInterne est une chaîne +//vNomFenêtreInterne=EnumèreChamp(vFenInterne,1,parOrdreDeCréation) +//{vNomFenêtreInterne,indFenêtre}..Plan = 2 +// +//ReorganiseChampDispoDansFiche(DISP_COLONNE_FICHE_DOSSIER,ONG_INTERVENTION,CFI_SOUSELEMENT_FICHE_DOSSI +ER,GR_IMAGE_OPAQUE_FICHE_DOSSIER,GR_MODEOPAQUE_FICHE_DOSSIER,Vrai,50,1,2,ONG_INTERVENTION..Largeur) +//ChangeFenêtreSource(CFI_SOUSELEMENT_FICHE_DOSSIER,FI_Liste_Client,*,DonneParam(DansChampFI,"FI_Fiche_ +Dossier",MoiMême..Nom,maProcMAJObjetRetourFI,"Sélectionnez le client","DossierClient")) +//DISP_COLONNE[1]..Visible = Faux +//DISP_COLONNE[2]..Visible = Vrai +AppelSousFenetre(MoiMême..Nom) +Clic sur BTN_MODIF_CLIENT +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(ChampPrécédent()) +//ReorganiseChampDispoDansFiche(DISP_COLONNE_FICHE_DOSSIER,ONG_INTERVENTION,CFI_SOUSELEMENT_FICHE_DOSSI +ER,GR_IMAGE_OPAQUE_FICHE_DOSSIER,GR_MODEOPAQUE_FICHE_DOSSIER,Vrai,50,1,2,ONG_INTERVENTION..Largeur) +06/08/2026 Isis_BO 2636 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Code des champs +//ChangeFenêtreSource(CFI_SOUSELEMENT_FICHE_DOSSIER,FI_Fiche_Client,gclPresentationFicheDossier:FicheCl +ient,DonneParam(DansChampFI,"FI_Fiche_Dossier",MoiMême..Nom,maProcMAJObjetRetourFI,"")) +//clFicheClient est un PFicheClient<-PFicheClient.gNouvellePresentation() +//FEN_Menu.OuvreOuActive(FI_Fiche_Client,"Fiche +Client",*,clFicheClient,DonneParam(DansOnglet,"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJObjetRetour +FI)) +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(ChampPrécédent()) +//SI gclPresentation:FicheClient<>Null _et_ gclPresentation:FicheClient:IdentifiantUnique>0 ALORS +// +FEN_Menu.OuvreOuActive(FI_Fiche_Client,"Fiche +Client",gclPresentation:FicheClient,DonneParam(DansOnglet,"FI_Fiche_Intervention",MoiMême..Nom,maProcMA +JObjetRetourFI)) +//FIN +AppelSousFenetre(MoiMême..Nom) +Clic sur BTN_Nouveau_fiche_dossier +pclPresentationFiche est un PFicheDossier dynamique +si paramSupplementaire.eTypeAppel=DansOnglet _et_ paramSupplementaire.sNomIDAppelant="ListeDossier" +alors +pclPresentationFiche <-paramSupplementaire.pclObjetAppelant.Nouveau() +FEN_Menu.OuvreOuActive(FI_Fiche_Dossier,"Fiche dossier",*,pclPresentationFiche,DonneParam( +paramSupplementaire)) +sinon +//pclPresentationFiche <-PFicheDossier.gNouvellePresentation() +//FEN_Menu.OuvreOuActive(FI_Fiche_Dossier,"Fiche dossier",*,pclPresentationFiche) +//FEN_Menu.OuvreOuActiveFenetre(51) +ExécuteTraitement(FEN_Menu.OuvreOuActiveFenetre,trtProcédure,51) +fin +Clic sur BTN_Supprimer_fiche_dossier +SuppresionDossier() +Clic sur BTN_Valider_fiche_dossier +si paramSupplementaire.eTypeAppel=DansChampFI _et_ EnregistrerFiche() alors +//SI EnregistrerFiche() _et_ paramSupplementaire.eTypeAppel<>Libre _ET_ +paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheDossie +r) +AppelProcFenetreAppelante(gclPresentationFicheDossier,paramSupplementaire,Vrai,Vrai) +gbAppelProcFenAppelante = Vrai +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon si paramSupplementaire.eTypeAppel=DansOnglet _et_ EnregistrerFiche() alors +// +SI EnregistrerFiche() _ET_ paramSupplementaire.eTypeAppel<>Libre _ET_ +paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheDossier) +06/08/2026 Isis_BO 2637 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Code des champs +AppelProcFenetreAppelante(gclPresentationFicheDossier,paramSupplementaire,Vrai,Vrai) +gbAppelProcFenAppelante = Vrai +FermeVoletEtActiveLePrecedent(VoletDuChamp(D_FIC_DOSSIER)) +sinon +EnregistrerFiche() +fin +Sélection d'une ligne de COMBO_Statut +si gnIdDossierAnnule = COMBO_Statut..ValeurMémorisée alors +si gbDroitSup alors +si OuiNon( +"Êtes-vous sûr de vouloir annuler le Dossier ? Le dossier ne sera plus visible dans les +recherches. " +) = Oui alors +ChampVersSource() +EnregistrerFiche() +sinon +COMBO_Statut = gclPresentationFicheDossier.m_nIDStatut +fin +sinon +Info("Vous n'avez pas les droits nécessaires pour annuler le dossier") +COMBO_Statut = gclPresentationFicheDossier.m_nIDStatut +fin +sinon +ChampVersSource() +EnregistrerFiche() +fin +Sortie de COMBO_TypeDossier +//SI MoiMême..ValeurAffichée<>"" ALORS +//ChampVersSource() +EnregistrerFiche() +//FIN +Sélection d'une ligne de COMBO_TypeDossier +ChampVersSource() +Clic sur IMG_Parametrage +Ouvre(FEN_Parametres_Dossier) +Entrée dans SAI_CLIENT +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(ChampPrécédent()) +sValSAI_CLIENT = MoiMême..ValeurAffichée +Sortie de SAI_CLIENT +nPKIDActuel est un entier sur 8 octets = gclPresentationFicheDossier:m_nIDClient +si MoiMême..ValeurAffichée<>"" _et_ sValSAI_CLIENT<>MoiMême..ValeurAffichée alors +//Récupération de l'id entre crochet lors de la sélectionne de l'élément dans la liste +nPKID est un entier sur 8 octets = Val(ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"[", +DepuisDébut),1,"]")) +06/08/2026 Isis_BO 2638 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Code des champs +//L'id existe bien +si nPKID>0 alors +//Récupération de la fiche client suivant l'id +PFicheDossier.gFicheClient(gclPresentationFicheDossier,gclPresentationFicheDossier.FicheClient, +nPKID,Vrai) +//L'id n'existe pas +sinon +si ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"---",DepuisDébut),1,"---",DepuisFin)= +ChaîneFormate("Aucun résultat",ccMajuscule) alors +MoiMême="" +SaisieAssistéeSupprimeTout(MoiMême) +ExécuteTraitement(MoiMême,trtModification) +sinon +//Récupération de la fiche client suivant la valeur saisie dans la zone +PFicheDossier.gFicheClient(gclPresentationFicheDossier,gclPresentationFicheDossier. +FicheClient,-1,Vrai,MoiMême..ValeurAffichée) +fin +fin +//L'id existe bien +si nPKID>0 alors +// Reformatage de la zone de saisie pour ne pas afficher l'id entre crochet +MoiMême = Majuscule(gclPresentationFicheDossier:FicheClient.m_sNom) +fin +bReponseQuestion est un booléen +si ControlePresenceClientDansDoc(nPKIDActuel,gclPresentationFicheDossier:m_nIDClient) alors +TraitementDocSurChangementClient(nPKIDActuel,MoiMême,bReponseQuestion) +EnregistrerFiche() +//Enchainement des actions suite au choix du client comme si l'utilisateur avait cliqué sur la +loupe +//GestionEnchainement(BTN_LOUPE_CLIENT,"") +fin +A chaque modification de SAI_CLIENT +//Recherche le client suivant ce qui a été saisi par l'utilisateur +ModifZoneSaisieAssistee(MoiMême,2,Faux,"","") +Sélection d'une valeur dans la liste de saisie assistée de SAI_CLIENT +//Appel du traitement en sortie de champ +ExécuteTraitement(MoiMême,trtSortie) +Touche système appuyée (WM_SYSCHAR) de SAI_CLIENT +//SI ToucheEnfoncée(teEchap) ALORS +// SourceVersEcran("",ChampAlias(MoiMême)) +//FIN +Sortie de SAI_DateDossier +//SI MoiMême..ValeurAffichée<>"" ALORS +EnregistrerFiche() +06/08/2026 Isis_BO 2639 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Code des champs +//FIN +A chaque modification de SAI_DateDossier +ChampVersSource() +Sortie de SAI_REFEXTERNE +//SI MoiMême..ValeurAffichée<>"" ALORS +//ChampVersSource() +EnregistrerFiche() +//FIN +A chaque modification de SAI_REFEXTERNE +ChampVersSource() +Sortie de SAI_TITRE_DOSSIER +// +//SI MoiMême..ValeurAffichée<>"" ALORS +EnregistrerFiche() +//FIN +A chaque modification de SAI_TITRE_DOSSIER +ChampVersSource() +Touche système appuyée (WM_SYSCHAR) de SAI_TITRE_DOSSIER +//SI ToucheEnfoncée(VK_DOWN) ALORS +// SourceVersEcran("",ChampAlias(MoiMême)) +//FIN +FI_Fiche_DossierV1 +Procédures +Procédure locale ActiveAffichage +// Résumé : +// Syntaxe : +// ActiveAffichage () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +06/08/2026 Isis_BO 2640 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Procédures +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ActiveAffichage() +D_COL_FIC_DOSSIER..Visible = Vrai +{vNomFenInterne,indFenêtre}..AffichageActif=Vrai +Procédure locale ActiveTimer +// Résumé : +// Syntaxe : +//ActiveTimer ( est entier) +// +// Paramètres : +// nIdTimer (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ActiveTimer(local nIdTimer est un entier) +TimerSys(TimeOutDossier,100,nIdTimer) +Procédure locale AppelSousFenetre +// Résumé : +// Syntaxe : +//AppelSousFenetre ( est chaîne) +// +// Paramètres : +// sNomChamp (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AppelSousFenetre(local sNomChamp est une chaîne) +si pas EnregistrerFiche() alors RepriseSaisie(ChampPrécédent()) +//Arrête le timer qui sert à fermer automatiquement la fenêtre si pas d'action utilisateur +FinTimerSys(gclPresentationFicheDossier:m_nIDTimer) +//Préparation de la fenêtre pour recevoir la sous fenêtre +ReorganiseChampDispoDansFiche(D_COL_FIC_DOSSIER,ONG_INTERVENTION,CFI_SOUSELEMENT_FICHE_DOSSIER,GR_ +IMAGE_OPAQUE_FICHE_DOSSIER,GR_MODEOPAQUE_FICHE_DOSSIER,Vrai,50,1,2,ONG_INTERVENTION..Largeur) +//Initialise la variable à passer en paramètre avec les valeurs communes +stParam est un STParamFenetreAppelante = DonneParam(DansChampFI,"FI_Fiche_Dossier",sNomChamp, +maProcMAJObjetRetourFI) +vFenInterne est un Champ<-VoletDuChamp(D_FIC_DOSSIER) +// Récupère le nom de la fenêtre interne associée à cet onglet dynamique +vNomFenêtreInterne est une chaîne +vNomFenêtreInterne=EnumèreChamp(vFenInterne,1,parOrdreDeCréation) +{vNomFenêtreInterne,indFenêtre}..Plan = 2 +selon sNomChamp +cas BTN_LOUPE_CLIENT..Nom +// vFenInterne est un Champ<-VoletDuChamp(DISP_FICHE_DOSSIER) +// +// // Récupère le nom de la fenêtre interne associée à cet onglet dynamique +06/08/2026 Isis_BO 2641 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Procédures +// vNomFenêtreInterne est une chaîne +// vNomFenêtreInterne=EnumèreChamp(vFenInterne,1,parOrdreDeCréation) +// {vNomFenêtreInterne,indFenêtre}..Plan = 2 +stParam.sTitreFenetre = "Sélectionnez le client" +stParam.sNomIDAppelant = "DossierClient" +stParam.pclObjetAppelant = gclPresentationFicheDossier +DesactiveAffichage() +ChangeFenêtreSource(CFI_SOUSELEMENT_FICHE_DOSSIER,FI_Liste_Client,*,stParam) +ActiveAffichage() +cas BTN_MODIF_CLIENT..Nom +ChangeFenêtreSource(CFI_SOUSELEMENT_FICHE_DOSSIER,FI_Fiche_Client,gclPresentationFicheDossier: +FicheClient,stParam) +cas BTN_AJOUTE_CLIENT..Nom +ChangeFenêtreSource(CFI_SOUSELEMENT_FICHE_DOSSIER,FI_Fiche_Client,PFicheClient. +gNouvellePresentation(),stParam) +fin +Procédure locale ControlePresenceClientDansDoc +// Résumé : +// Syntaxe : +//[ = ] ControlePresenceClientDansDoc ( est entier sur 8 octets, est +entier sur 8 octets) +// +// Paramètres : +// nIDDepart (entier sur 8 octets) : +// nIDArrive (entier sur 8 octets) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ControlePresenceClientDansDoc(nIDDepart est un entier sur 8 octets,nIDArrive est un entier +sur 8 octets) +bTrouve est un booléen +nTotalInterv est un entier +//clListeInterv est un PTableIntervention dynamique +si clListeInterv=Null alors clListeInterv = DonneListeInterv() +si clListeInterv<>Null alors +nTotalInterv = clListeInterv:m_clTabModele.Occurrence() +pour i = 1 _à_ nTotalInterv +clListeInterv:p_clCourant = clListeInterv:m_clTabModele[i] +clFicheInterv est un PFicheIntervention <-clListeInterv.Modifier() +//Il se peut que la liste des document ne soit pas chargées à cause du chargement différé +si clFicheInterv:ListeDocument = Null alors PFicheIntervention.gListeDocument(clFicheInterv) +bTrouve = clFicheInterv:ListeDocument:p_nTotal>0 _et_ Contient(DonneFormatRepertoireDoc(), +"#[CL_PKID]") _et_ nIDDepart<>nIDArrive +si bTrouve alors break +fin +fin +renvoyer bTrouve +Procédure locale DesactiveAffichage +06/08/2026 Isis_BO 2642 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Procédures +// Résumé : +// Syntaxe : +// DesactiveAffichage () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DesactiveAffichage() +{vNomFenInterne,indFenêtre}..AffichageActif=Faux +D_COL_FIC_DOSSIER..Visible = Faux +Procédure locale DesactiveTimer +// Résumé : +// Syntaxe : +//DesactiveTimer ( est entier) +// +// Paramètres : +// nIdTimer (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DesactiveTimer(local nIdTimer est un entier) +FinTimerSys(nIdTimer) +Procédure locale DonneListeInterv +// Résumé : +// Syntaxe : +//[ = ] DonneListeInterv () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Type indéterminé : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneListeInterv() +clTabIntervention est un MTableauDeIntervention +si pas gclPresentationFicheDossier:bEstNulleListeIntervention alors +clTabIntervention <-gclPresentationFicheDossier:ListeIntervention:p_clTableauModele +si clTabIntervention<>Null alors +renvoyer PTableIntervention.gNouvellePresentation(4,clTabIntervention) +sinon +renvoyer Null +fin +sinon +renvoyer Null +fin +Procédure locale DupliquerIntervention +06/08/2026 Isis_BO 2643 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Procédures +// Résumé : +// Syntaxe : +//DupliquerIntervention ( est PFicheIntervention, est +STParamFenetreAppelante) +// +// Paramètres : +// clFicheIntervSource (PFicheIntervention) : +// stParamIntervSource (STParamFenetreAppelante) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// clFicheIntervSource (PFicheIntervention) : +// paramIntervSource (STParamFenetreAppelante) : +procédure DupliquerIntervention(clFicheIntervSource est un PFicheIntervention,stParamIntervSource est +un STParamFenetreAppelante) +clPresentationFiche est un PFicheIntervention <- stParamIntervSource.pclObjetAppelant:ListeIntervention +:nouveau() +//clPresentationFiche<= gclPresentationFicheInterv +si clPresentationFiche:m_sRefInterne="" alors +nCpt est un entier +pour i = 1 _à_ stParamIntervSource.pclObjetAppelant:ListeIntervention:m_clTabModele.Occurrence() +si Val(ExtraitChaîne(stParamIntervSource.pclObjetAppelant:ListeIntervention:m_clTabModele[i]: +m_sRefInterne,1,"-",DepuisFin))>nCpt alors +nCpt = Val(ExtraitChaîne(stParamIntervSource.pclObjetAppelant:ListeIntervention: +m_clTabModele[i]:m_sRefInterne,1,"-",DepuisFin)) +fin +fin +clPresentationFiche:m_sRefInterne = ExtraitChaîne(stParamIntervSource. +pclObjetAppelant:m_sRefInterne,1,"-")+"-"+(nCpt+1) +//(gclPresentationFicheDossier:ListeIntervention.p_nTotal+1) +clPresentationFiche:m_nIDEtatIntervention = clFicheIntervSource:m_nIDEtatIntervention +clPresentationFiche:m_nIDDossier = clFicheIntervSource:m_nIDDossier +clPresentationFiche:m_nIDSociete = clFicheIntervSource:m_nIDSociete +clPresentationFiche:m_nIDLieu = clFicheIntervSource:m_nIDLieu +clPresentationFiche:m_nIDClient = clFicheIntervSource:m_nIDClient +clPresentationFiche:m_nIDTypeIntervention = clFicheIntervSource:m_nIDTypeIntervention +clPresentationFiche:m_bAttestationTVAPresente = clFicheIntervSource:m_bAttestationTVAPresente +clPresentationFiche:m_sDescription = clFicheIntervSource:m_sDescription +clPresentationFiche:m_sNoteInterne = clFicheIntervSource:m_sNoteInterne +clPresentationFiche:m_nIDSuiviPar = clFicheIntervSource:m_nIDSuiviPar +clPresentationFiche:m_sTitre = clFicheIntervSource:m_sTitre +clPresentationFiche:m_sRefExterne = clFicheIntervSource:m_sRefExterne +clPresentationFiche:m_dDateIntervention = DateSys() +clPresentationFiche:m_rDureePrevue = clFicheIntervSource:m_rDureePrevue +//clPresentationFiche:m_sNumDevis = //clFicheIntervSource:m_sNumDevis +//clPresentationFiche:m_dDateDevis = //clFicheIntervSource:m_dDateDevis +//clPresentationFiche:m_sNumFacture = clFicheIntervSource:m_sNumFacture +//clPresentationFiche:m_dDateFacture = clFicheIntervSource:m_dDateFacture +clPresentationFiche:FicheClient = clFicheIntervSource:FicheClient +clPresentationFiche:FicheLieu = clFicheIntervSource:FicheLieu +clPresentationFiche:FicheSociete = clFicheIntervSource:FicheSociete +clPresentationFiche:FicheSuiveur = clFicheIntervSource:FicheSuiveur +clErreur est un CErreur +si clPresentationFiche.bOK(clErreur) alors//SI clPresentationFiche.bOK(clErreur,vrai) ALORS +//Création des variables +PFicheIntervention.gListeContactClient(clPresentationFiche) +PFicheIntervention.gListeContactLieu(clPresentationFiche) +06/08/2026 Isis_BO 2644 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Procédures +PFicheIntervention.gListeCollaborateur(clPresentationFiche) +//Chargement des variables +PFicheIntervention.gListeContactClient(clPresentationFiche,clFicheIntervSource: +ListeContactClient) +PFicheIntervention.gListeContactLieu(clPresentationFiche,clFicheIntervSource:ListeContactLieu) +PFicheIntervention.gListeCollaborateur(clPresentationFiche,clFicheIntervSource: +ListeCollaborateur) +fin +fin +OuvreOuActiveOnglet(FI_Fiche_Intervention,DonneLibOnglet(clPresentationFiche),*,clPresentationFiche, +DonneParam(DansChampFI,FI_Fiche_Dossier..Nom,MoiMême..Nom,maProcMAJObjetRetourFI,"Intervention", +"DossierInterImmediat",*,stParamIntervSource.pclObjetAppelant,Faux)) +Procédure locale EnregistrerFiche +// Résumé : +// Syntaxe : +//[ = ] EnregistrerFiche () +// +// Paramètres : +// Aucun +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure EnregistrerFiche() +bResultat est un booléen=Faux +//SI PAS ChampSuivant() DANS +(SAI_CLIENT..Nom,BTN_Valider_fiche_dossier..Nom,BTN_Fermer_fiche_dossier..Nom,BTN_LOUPE_CLIENT..nom) +ALORS +// SI ChampEnCours() DANS (BTN_Valider_fiche_dossier..Nom) ALORS EcranVersSource() +// nPKID est un entier sur 8 octets = gclPresentationFicheDossier:IdentifiantUnique +// clErreur est un CErreur +// +bResultat = +gclPresentationFicheDossier.bOK(clErreur)//gclPresentationFicheCollab.bOK(clErreur,Vrai,Vrai) +// // validation +// SI PAS bResultat ALORS +// Erreur(clErreur.FormateMessage()) +// SINON +// SI SAI_LOGIN..Etat=Actif ALORS +// SI nPKID=0 _ET_ ParamSupplementaire.eTypeAppel=DansOnglet ALORS +// +FEN_Menu.RenomeOnglet(gclPresentationFicheCollab:IdentifiantUnique,gclPresentationFicheCollab:InfoOngle +t) +// FIN +// bResultat = EnregistreFicheUser() +// FIN +// +// FIN +// +//FIN +//sListeChpAExclure est une chaine += +SAI_CLIENT..Nom+","+BTN_Valider_fiche_dossier..Nom+","+BTN_Fermer_fiche_dossier..Nom+","+BTN_LOUPE_CLIE +NT..nom+","+BTN_AJOUTE_CLIENT..Nom+","+BTN_MODIF_CLIENT..nom +06/08/2026 Isis_BO 2645 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Procédures +//sListeChpAInclureMAJ est une chaine = +BTN_Valider_fiche_dossier..Nom+","+SAI_DateDossier..Nom+","+SAI_CLIENT..nom+","+SAI_REFEXTERNE..nom+"," ++SAI_TITRE_DOSSIER..nom+","+COMBO_Statut+","+COMBO_TypeDossier +//bResultat = +ValideFiche(ChampSuivant(),ChampEnCours(),gclPresentationFicheDossier,ParamSupplementaire,sListeChpAExc +lure,sListeChpAInclureMAJ) +tabChampSuivant est un tableau de chaînes = [SAI_CLIENT..Nom,BTN_Valider_fiche_dossier..Nom,BTN_ +Fermer_fiche_dossier..Nom,BTN_LOUPE_CLIENT..Nom,BTN_AJOUTE_CLIENT..Nom] +tabChampEnCoursIgnore est un tableau de chaînes = [BTN_LOUPE_CLIENT..Nom,BTN_AJOUTE_CLIENT..Nom] +//SI PAS ChampSuivant() DANS +(SAI_CLIENT..Nom,BTN_Valider_fiche_dossier..Nom,BTN_Fermer_fiche_dossier..Nom,BTN_LOUPE_CLIENT..nom,BTN +_AJOUTE_CLIENT..Nom) ALORS +si pas Contient(ChampSuivant(),tabChampSuivant) alors +sChampEnCours est une chaîne = ChampEnCours() +//SI ChampEnCours() DANS (BTN_LOUPE_CLIENT..Nom,BTN_AJOUTE_CLIENT..Nom) _et_ SAI_CLIENT="" ALORS +si Contient(sChampEnCours,tabChampEnCoursIgnore) alors +bResultat = Vrai +goto SORTIE +fin +//SI ChampEnCours() DANS (BTN_Valider_fiche_dossier..Nom) ALORS EcranVersSource() +si Contient(sChampEnCours,BTN_Valider_fiche_dossier..Nom) alors EcranVersSource() +bResultat = ValideFicheSimple(gclPresentationFicheDossier,paramSupplementaire,ActiveTimer,BTN_ +CADENAS_FERME_DOSSIER,BTN_CADENAS_OUVERT_DOSSIER,GR_CADENAS_DOSSIER,D_FIC_DOSSIER) +// clErreur est une CErreur +// nPKID est un entier sur 8 octets=gclPresentationFicheDossier:IdentifiantUnique +// SI PAS gclPresentationFicheDossier:bOK(clErreur) ALORS GOTO ERREURFONCTIONNELLE +// SI nPKID=0 _ET_ paramSupplementaire.eTypeAppel DANS (Libre,DansOnglet) ALORS +// +FEN_Menu.RenomeOnglet(gclPresentationFicheDossier:IdentifiantUnique,gclPresentationFicheDossier:InfoOng +let) +// FIN +// bResultat = vrai +// GOTO SORTIE +// +// ERREURFONCTIONNELLE : +// Erreur(clErreur.FormateMessage()) +// GOTO SORTIE +fin +SORTIE: +renvoyer bResultat +Procédure locale InitFiche +// Résumé : +// Syntaxe : +//InitFiche ( [ est PFicheDossier dynamique [, est +STParamFenetreAppelante]]) +// +// Paramètres : +// gclFicheDossier (PFicheDossier dynamique - valeur par défaut=0) : < +indiquez ici le rôle de gclFicheDossier> +// paramFiche (STParamFenetreAppelante - valeur par défaut=0) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure InitFiche(gclFicheDossier est un PFicheDossier dynamique=Null, paramFiche est un +STParamFenetreAppelante=Null) +06/08/2026 Isis_BO 2646 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Procédures +si gclFicheDossier<>Null alors +gclPresentationFicheDossier<-gclFicheDossier +paramSupplementaire = paramFiche +si gclPresentationFicheDossier<>Null _et_ gclPresentationFicheDossier est PFicheDossier alors +//Mise à jour du client +PFicheDossier.gFicheClient(gclPresentationFicheDossier,gclPresentationFicheDossier:FicheClient, +gclPresentationFicheDossier:m_nIDClient) +fin +LIB_Titre_de_fenêtre_fiche_dossier = paramSupplementaire.eTypeAppel=Libre _et_ ( +gclPresentationFicheDossier=Null _ou_ gclPresentationFicheDossier:m_nPKID = 0) ? "Nouveau dossier" +sinon paramSupplementaire.sTitreFenetre<>"" ? paramSupplementaire.sTitreFenetre sinon "Dossier" +si DonneValeurTimeOutObjet(gclPresentationFicheDossier) >-1 alors +Evénement(SurActivite, "*.*", WM_LBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_RBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_MBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_MOUSEMOVE) +Evénement(SurActivite, "*.*", WM_KEYDOWN) +fin +local +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentationFicheDossier=Null alors +gclPresentationFicheDossier=PFicheDossier.gNouvellePresentation() +fin +gnDelai = DonneValeurTimeOutObjet(gclPresentationFicheDossier) +//Recherche du client +PFicheDossier.gFicheClient(gclPresentationFicheDossier,gclPresentationFicheDossier:FicheClient, +gclPresentationFicheDossier:m_nIDClient) +si paramSupplementaire<>Null _et_ paramSupplementaire:sNomIDAppelant="AddLieuIntervention" alors +sinon +//Recherche des interventions du dossier +PFicheDossier.gListeIntervention(gclPresentationFicheDossier) +fin +BlocEnregistrement(gclPresentationFicheDossier,ActiveTimer,BTN_CADENAS_FERME_DOSSIER,BTN_ +CADENAS_OUVERT_DOSSIER,GR_CADENAS_DOSSIER,D_FIC_DOSSIER) +nIndiceCourant est un entier +sOnglet est un chaîne="" +//Variables locales pour éviter l'occupation mémoire +GR_REFEXTERNE..Visible = ParametreLit("AVEC_REFEXT_DOSSIER") +GR_TYPEDOSSIER..Visible = ParametreLit("AVEC_TYPEDOS_DOSSIER") +si clListeInterv=Null alors clListeInterv = DonneListeInterv() +si clListeInterv<>Null alors +nTotalInterv est un entier = clListeInterv:m_clTabModele.Occurrence() +TrieOngletInter(clListeInterv:m_clTabModele) +bImmediat est un booléen +pour i = 1 _à_ nTotalInterv +clListeInterv:p_clCourant = clListeInterv:m_clTabModele[i] +clListeInterv:p_clCourant:m_sRefInterne = clListeInterv:p_clCourant:m_sRefInterne= +"" ? gclPresentationFicheDossier:m_sRefInterne+"-"+i sinon clListeInterv:p_clCourant: +m_sRefInterne +clPresentation est un PFicheIntervention <-clListeInterv.Modifier() +//Initialise la variable à passer en paramètre avec les valeurs communes +stParamInterv est un STParamFenetreAppelante = DonneParam(DansChampFI,FI_Fiche_Dossier.. +06/08/2026 Isis_BO 2647 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Procédures +Nom,"InitIntervention",maProcMAJObjetRetourFI,"Intervention",*,*,gclPresentationFicheDossier,Faux) +//Est-ce une ouverture immédiate ou différée de l'intervention +bImmediat = sOnglet="" _et_ (( +paramSupplementaire<>Null _et_ paramSupplementaire.sNomIDAppelant dans ( +"RechercheGlobaleInterv","DossierInterv","SuiviInterv") _et_ paramSupplementaire.n +IdFenetreAppelante>0 _et_ paramSupplementaire.nIdFenetreAppelante=clListeInterv: +m_clTabModele[i]:m_nPKID) _ou_ (i=nTotalInterv)) +si paramSupplementaire:sNomFenetreAppelante = "FI_ResultatsRecherche" _et_ Val( +paramSupplementaire.sNomIDAppelant) > 0 alors +si clListeInterv:p_clCourant.m_nPKID = Val(paramSupplementaire.sNomIDAppelant) alors +bImmediat = Vrai +fin +fin +//Renseigne le paramètre +stParamInterv.sNomIDAppelant = bImmediat ? "DossierInterImmediat" sinon +"DossierInterDifféré" +//Ouvre ou reactive l'onglet de l'intervention +OuvreOuActiveOnglet(FI_Fiche_Intervention,DonneLibOnglet(clPresentation),*,clPresentation, +stParamInterv) +si bImmediat alors +sOnglet = ONG_INTERVENTION +nIndiceCourant = i +fin +fin +fin +quand exception dans +si clListeInterv<>Null _et_ clListeInterv:p_nTotal>0 alors +//gclPresentationFicheDossier:ListeIntervention:m_clTabModele.Occurrence()>0 ALORS// +MoiMême..Plan = 2 +ONG_INTERVENTION = sOnglet +si nIndiceCourant>0 alors clListeInterv:p_clCourant = clListeInterv:m_clTabModele[ +nIndiceCourant] +sinon +MoiMême..Plan = 1 +fin +faire +Erreur(ExceptionInfo(errComplet)) +fin +vOngParent<-VoletDuChamp(D_FIC_DOSSIER) +// Récupère le nom de la fenêtre interne associée à cet onglet dynamique +vNomFenInterne=EnumèreChamp(vOngParent,1,parOrdreDeCréation) +fin +DemandeMiseAJourUIParent() +Procédure locale MAJObjetRetourFI +// Résumé : +// Syntaxe : +//[ = ] MAJObjetRetourFI ([...]) +// +// Paramètres : +// <*> : > +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +06/08/2026 Isis_BO 2648 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Procédures +// Indiquez ici un exemple d'utilisation. +// +// sContexte (chaîne ANSI) : +// pclObjet (objet dynamique) : +// <*> : > +procédure MAJObjetRetourFI(*)//LOCAL sContexte est une chaîne, pclObjet est un objet dynamique +bResultat est un booléen=Vrai +nMode est un entier +sNomChamp est une chaîne +pclObjet est un objet dynamique +bReorga est un booléen=Vrai +//clErreur est un CErreur +si MesParamètres..Occurrence>0 alors +nMode = MesParamètres[1] +fin +selon nMode +cas 1 : +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 2 +bReorga = Faux +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +fin +si bReorga alors +ReorganiseChampDispoDansFiche(D_COL_FIC_DOSSIER,ONG_INTERVENTION,CFI_SOUSELEMENT_FICHE_DOSSIER,GR_ +IMAGE_OPAQUE_FICHE_DOSSIER,GR_MODEOPAQUE_FICHE_DOSSIER,Faux,50,1,2) +fin +si pclObjet<>Null alors +//*******************************MISE A JOUR DE +L'OBJET********************************************************* +selon sNomChamp +//CAS BTN_LOUPE_CLIENT..Nom +: PFicheDossier.gFicheClient(gclPresentationFicheDossier,pclObjet,*,Vrai) +cas BTN_LOUPE_CLIENT..Nom, BTN_AJOUTE_CLIENT..Nom, BTN_MODIF_CLIENT..Nom +: +nPKIDActuel est un entier sur 8 octets = gclPresentationFicheDossier:m_nIDClient +si sNomChamp=BTN_LOUPE_CLIENT..Nom alors +PFicheDossier.gFicheClient(gclPresentationFicheDossier,pclObjet,*,Vrai) +sinon +PFicheDossier.gFicheClient(gclPresentationFicheDossier,pclObjet) +fin +bReponseQuestion est un booléen +si ControlePresenceClientDansDoc(nPKIDActuel,gclPresentationFicheDossier:m_nIDClient) +alors TraitementDocSurChangementClient(nPKIDActuel,SAI_CLIENT,bReponseQuestion) +//CAS BTN_MODIF_CLIENT..Nom +: PFicheDossier.gFicheClient(gclPresentationFicheDossier,pclObjet) +//CAS ONG_INTERVENTION..Nom : // +//AUTRE CAS +fin +EnregistrerFiche() +sinon si Contient(sNomChamp,"InitIntervention") alors +si gtabOngletIntervRef[ExtraitChaîne(sNomChamp,2,";")]..Existe alors +si gtabOngletIntervLog[gtabOngletIntervRef[ExtraitChaîne(sNomChamp,2,";")]]..Existe alors +TableauSupprime(gtabOngletIntervLog,gtabOngletIntervRef[ExtraitChaîne(sNomChamp,2,";")]) +fin +TableauSupprime(gtabOngletIntervRef,ExtraitChaîne(sNomChamp,2,";")) +fin +fin +si sNomChamp dans (BTN_LOUPE_CLIENT..Nom,BTN_AJOUTE_CLIENT..Nom,BTN_MODIF_CLIENT..Nom) alors +06/08/2026 Isis_BO 2649 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Procédures +vFenInterne est un Champ<-VoletDuChamp(D_FIC_DOSSIER) +// Récupère le nom de la fenêtre interne associée à cet onglet dynamique +vNomFenêtreInterne est une chaîne +vNomFenêtreInterne=EnumèreChamp(vFenInterne,1,parOrdreDeCréation) +{vNomFenêtreInterne,indFenêtre}..Plan = gclPresentationFicheDossier:IdentifiantUnique=0 _ou_ +gclPresentationFicheDossier:ListeIntervention:p_nTotal=0 ? 1 sinon 2 +fin +//GESTION DE L'APRES +//DISP_COLONNE[1]..Visible=vrai +//DISP_COLONNE[2]..Visible=faux +renvoyer bResultat +Procédure locale OuvreOuActiveOnglet +// Résumé : +// Syntaxe : +//OuvreOuActiveOnglet ( est chaîne, est chaîne [, est +booléen [, est PFicheIntervention dynamique [, ...]]]) +// +// Paramètres : +// sNomFenetre (chaîne ANSI) : +// sLibelle (chaîne ANSI) : +// bForceRafraichissement (booléen - valeur par défaut=0) : > +// pclObjet (PFicheIntervention dynamique - valeur par défaut=0) : > +// <*> : > +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// <*> : > +// <*> : > +// <*> : > +// <*> : > +// <*> : > +procédure OuvreOuActiveOnglet(sNomFenetre est une chaîne, sLibelle est chaîne< +utile>,bForceRafraichissement est un booléen=Faux, pclObjet est un PFicheIntervention dynamique=Null,*) +sAliasLogique est une chaîne=sNomFenetre +si Contient(sNomFenetre,"FI_Fiche") _et_ sNomFenetre<>"FI_Parametrage"alors +sAliasLogique += pclObjet:IdentifiantUnique//MesParamètres[4]:IdentifiantUnique +fin +// touche CTRL enfoncée +bActif est un booléen=pas ToucheEnfoncée(teControl) +// volet courant +sAliasCourant est une chaîne=ONG_INTERVENTION +// désactive l'affichage +MaFenêtre..AffichageActif=Faux +// Le volet n'existe pas encore +si gtabOngletIntervLog[sAliasLogique]..Existe=Faux _ou_ OngletEtat(ONG_INTERVENTION,gtabOngletIntervLog +[sAliasLogique])=voletInexistant _et_ sLibelle<>"-1" alors +// MaDéfinition est une Définition +// SI MesParamètres..NbReçus=7 ALORS +// +// MaDéfinition = RécupèreDéfinition(MesParamètres[7]) +// FIN +//NouvOnglet est un champ +sAliasCreation est une chaîne +si Contient(sNomFenetre,"FI_Fiche_Intervention") alors +06/08/2026 Isis_BO 2650 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Procédures +//NouvOnglet <- OngletOuvre(ONG_INTERVENTION,sLibelle,sNomFenetre)//,MesParamètres[4 A] +sAliasCreation = OngletOuvre(ONG_INTERVENTION,sLibelle,MesParamètres[5].sNomIDAppelant= +"DossierInterImmediat" ? sNomFenetre sinon "")// +sinon +// ouverture du nouveau volet +//NouvOnglet <- OngletOuvre(ONG_INTERVENTION,sLibelle,sNomFenetre,MesParamètres[4 A]) +sAliasCreation =OngletOuvre(ONG_INTERVENTION,sLibelle,sNomFenetre,MesParamètres[4 à]) +fin +sImageSoc, sCouleurText sont des chaînes ANSI +si clListeInterv:p_clCourant <> Null alors +clPresentationFiche est un PFicheIntervention<-clListeInterv:Modifier() +sImageSoc = PreferenceOngletInter(c_CouleurIconeSoc,clPresentationFiche) +sCouleurText = PreferenceOngletInter(c_CouleurSociete,clPresentationFiche) +fin +si sImageSoc <> "" _et_ ChampExiste(sImageSoc) alors +ONG_INTERVENTION[sAliasCreation].Image = {sImageSoc} +fin +si sCouleurText <> "" alors +ONG_INTERVENTION[sAliasCreation].Couleur = sCouleurText +fin +//sAliasCreation=sAlias +gtabOngletIntervLog[sAliasLogique] = sAliasCreation +gtabOngletIntervRef[sAliasCreation] = sAliasLogique +// Affectation de l'alias pour les futur appel +//NouvOnglet..Alias=sAlias +si Contient(sNomFenetre,"FI_Fiche_Intervention") _et_ MesParamètres[5].sNomIDAppelant= +"DossierInterImmediat" alors +//ExécuteTraitement(sAlias+".InitFiche",trtProcédure, pclObjet,MesParamètres[5 À]) +ExécuteTraitement(sAliasCreation+".InitFiche",trtProcédure, pclObjet,MesParamètres[5 à]) +fin +//NouvOnglet.sNomFenetre..Y = 40 +// Le volet existe +sinon si bActif _et_ sLibelle<>"-1" +//Ouverture du volet à partir de son alias +ONG_INTERVENTION=gtabOngletIntervLog[sAliasLogique]//sAlias +// Récupère le volet affiché +oFenInterne est un Champ <- ONG_INTERVENTION[gtabOngletIntervLog[sAliasLogique]] +// Récupère la fenêtre interne associée au volet +sNomFenêtreInterne est une chaîne +sNomFenêtreInterne = EnumèreChamp(oFenInterne, 1, parOrdreDeCréation) +si sNomFenêtreInterne="" _et_ MesParamètres[5].sNomIDAppelant="DossierInterImmediat" alors +ChangeFenêtreSource(ONG_INTERVENTION[gtabOngletIntervLog[sAliasLogique]],sNomFenetre) +ExécuteTraitement(gtabOngletIntervLog[sAliasLogique]+".InitFiche",trtProcédure, pclObjet, +MesParamètres[5 à]) +sinon si bForceRafraichissement alors +//ExécuteTraitement(sAlias+".RafraichissementFiche", trtProcédure,MesParamètres[5 +À])//RafraichissementIntervention +ExécuteTraitement(gtabOngletIntervLog[sAliasLogique]+".RafraichissementFiche", trtProcédure, +MesParamètres[5 à]) +fin +fin +06/08/2026 Isis_BO 2651 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Procédures +// Le volet ne doit pas être actif (touche CTRL enfoncée) +si pas bActif alors +//Reactivation du volet courant +ONG_INTERVENTION=sAliasCourant +fin +// active l'affichage +MaFenêtre..AffichageActif=Vrai //sLibelle<>"-1" +Procédure locale PreferenceOngletInter +procédure PreferenceOngletInter(sType est une chaîne ANSI, local pclPresentationFiche est un +PFicheIntervention dynamique) +bContinuer est un booléen +nCouleur est un entier +stParametreSoc est un ST_Param_Societe +sValeur, sPref sont des chaînes ANSI +si gpclFicheUtilisateurEnCours:m_nPKID > 0 alors +nIndice est un entier=TableauCherche(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur. +m_clTabModele,tcLinéaire,"m_nIDUtilisateur;m_sCode",gpclFicheUtilisateurEnCours:m_nPKID, +c_NomParamTrieInter) +si nIndice>0 alors +sValeur = gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele[nIndice].m_s +Valeur +fin +fin +si sValeur <> "" alors +nCouleur= Val(ExtraitChaîne(sValeur,3,"_",DepuisDébut)) +fin +si nCouleur > 0 et nCouleur <> 4 alors +si (nCouleur = C_ParTexte ou nCouleur = C_ParTexIcon) et sType = c_CouleurSociete alors +bContinuer = Vrai +fin +si (nCouleur = C_ParIcone ou nCouleur = C_ParTexIcon) et sType = c_CouleurIconeSoc alors +bContinuer = Vrai +fin +fin +si pclPresentationFiche:m_nIDSociete > 0 et bContinuer alors +nIndice est un entier = TableauCherche(gpclListeSociete:m_clTabModele,tcLinéaire,"m_nPKID", +pclPresentationFiche:m_nIDSociete,1) +si nIndice>0 alors +si gpclListeSociete:m_clTabModele[nIndice]:m_sParametres <> "" alors +Désérialise(stParametreSoc,gpclListeSociete:m_clTabModele[nIndice]:m_sParametres,psdJSON) +fin +fin +si stParametreSoc:sCouleur <> "" alors +selon sType +cas c_CouleurSociete +sPref = stParametreSoc:sCouleur +cas c_CouleurIconeSoc +sPref = "FEN_Menu.IMG_Cercle_"+stParametreSoc:sCouleur +autre cas +fin +fin +06/08/2026 Isis_BO 2652 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Procédures +fin +renvoyer sPref +Procédure locale PriseFocus +// Résumé : +// Syntaxe : +//PriseFocus ( est chaîne UNICODE [, est chaîne]) +// +// Paramètres : +// sAliasCourant (chaîne UNICODE) : +// sVoletEnFermeture (chaîne ANSI - valeur par défaut="") : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure PriseFocus(local sAliasCourant est une chaîne Unicode,local sVoletEnFermeture est une chaîne< +utile>="") +si gtabOngletIntervRef[sAliasCourant]..Existe alors +sAliasCourant = gtabOngletIntervRef[sAliasCourant] +//sTitreOnglet est une chaine = clPresentationFiche:m_sTitre<>"" ? clPresentationFiche:m_sTitre +SINON clPresentationFiche:m_sRefInterne +sNomFenetre est une chaîne = "FI_Fiche_Intervention"//FI_Fiche_Intervention..Nom +//Récupère l'id de l'intervention présentat dans l'alias du volet +nPKIDIntervention est un entier sur 8 octets = Milieu(sAliasCourant,Position(sAliasCourant, +sNomFenetre)+Taille(sNomFenetre)) +si nPKIDIntervention>0 alors +//clListeInterv est un PTableIntervention dynamique +si clListeInterv=Null alors clListeInterv = DonneListeInterv() +si clListeInterv<>Null alors +//Rechercher l'id dans la liste des interventions +nIndice est un entier = TableauCherche(clListeInterv:m_clTabModele,tcLinéaire,"m_nPKID", +nPKIDIntervention,1) +si nIndice>0 alors +clListeInterv:p_clCourant = clListeInterv:m_clTabModele[nIndice] +//Récupération de l'objet FIche Intervention +clPresentationFiche est un PFicheIntervention <- clListeInterv.Modifier() +//Rend actif l'onglet cliqué en précisant qu'il faut charger ses données +OuvreOuActiveOnglet(sNomFenetre,"Intervention",Vrai,clPresentationFiche,DonneParam( +DansChampFI,FI_Fiche_Dossier..Nom,"InitIntervention",maProcMAJObjetRetourFI, +"Intervention","DossierInterImmediat",*,gclPresentationFicheDossier,Faux)) +fin +fin +fin +fin +Procédure locale RafraichissementFiche +// Résumé : +// Syntaxe : +//RafraichissementFiche ( est STParamFenetreAppelante) +// +// Paramètres : +06/08/2026 Isis_BO 2653 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Procédures +// stParamSupplementaire (STParamFenetreAppelante) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RafraichissementFiche(stParamSupplementaire est STParamFenetreAppelante) +si clListeInterv=Null alors clListeInterv = DonneListeInterv() +si clListeInterv<>Null alors +si stParamSupplementaire.sNomFenetreAppelante="FI_Fiche_Rdv" alors +//OU stParamSupplementaire.sNomFenetreAppelante="FI_ResultatsRecherche" ALORS +nindice est un entier=TableauCherche(clListeInterv:m_clTabModele,tcLinéaire,"m_nPKID", +stParamSupplementaire.sNomIDAppelant) +si nindice<>-1 alors +clListeInterv:p_clCourant = clListeInterv:m_clTabModele[nindice] +clPresentationFiche est un PFicheIntervention<-clListeInterv:Modifier() +OuvreOuActiveOnglet(FI_Fiche_Intervention,DonneLibOnglet(clPresentationFiche),Vrai, +clPresentationFiche,DonneParam(DansChampFI,FI_Fiche_Dossier..Nom,"DossierInterImmediat", +maProcMAJObjetRetourFI,"Intervention",*,*,gclPresentationFicheDossier,Faux)) +fin +sinon si stParamSupplementaire.sNomIDAppelant dans ("RechercheGlobaleInterv","DossierInterv", +"SuiviInterv","FI_ResultatsRecherche") alors +nindice est un entier=TableauCherche(clListeInterv:m_clTabModele,tcLinéaire,"m_nPKID", +stParamSupplementaire.nIdFenetreAppelante) +si nindice<>-1 alors +clListeInterv:p_clCourant = clListeInterv:m_clTabModele[nindice] +clPresentationFiche est un PFicheIntervention<-clListeInterv:Modifier() +OuvreOuActiveOnglet(FI_Fiche_Intervention,DonneLibOnglet(clPresentationFiche),Vrai, +clPresentationFiche,DonneParam(DansChampFI,FI_Fiche_Dossier..Nom,stParamSupplementaire. +sNomIDAppelant,maProcMAJObjetRetourFI,"Intervention","DossierInterImmediat",*, +gclPresentationFicheDossier,Faux)) +fin +sinon si stParamSupplementaire.sNomFenetreAppelante="FEN_MENU" alors +si clListeInterv<>Null _et_ clListeInterv:p_clCourant<>Null alors +nindice est un entier=TableauCherche(clListeInterv:m_clTabModele,tcLinéaire,"m_nPKID", +clListeInterv:p_clCourant:m_nPKID) +si nindice<>-1 alors +clListeInterv:p_clCourant = clListeInterv:m_clTabModele[nindice] +clPresentationFiche est un PFicheIntervention<-clListeInterv:Modifier() +OuvreOuActiveOnglet(FI_Fiche_Intervention,DonneLibOnglet(clPresentationFiche),Vrai, +clPresentationFiche,stParamSupplementaire) +fin +fin +fin +fin +DemandeMiseAJourUIParent() +Procédure locale SuppresionDossier +procédure SuppresionDossier() +si gclPresentationFicheDossier:m_nPKID > 0 alors +reqVerif est une Requête SQL = +[ +SELECT +Intervention.IN_RefInterne, +COUNT(DISTINCT DC_PKID) AS NbDocuments, +COUNT(DISTINCT ME_PKID) AS NbMessages, +COUNT(DISTINCT AC_PKID) AS NbAction, +06/08/2026 Isis_BO 2654 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Procédures +COUNT(DISTINCT PL_PKID) AS NbRdvs +FROM +Intervention +LEFT JOIN +Document ON Document.DC_IDIntervention = IN_PKID +LEFT JOIN +MessageExterne ON MessageExterne.ME_IDIntervention = IN_PKID +LEFT JOIN +Action ON Action.AC_IDIntervention = IN_PKID +LEFT JOIN +Planning_RDV ON Planning_RDV.PL_IDIntervention = IN_PKID AND Planning_RDV.Archive = 0 +WHERE +Intervention.IN_IDDossier = {p_IdDossier} +GROUP BY +Intervention.IN_RefInterne +] +reqVerif.p_IdDossier = gclPresentationFicheDossier:m_nPKID +sMsgInfo est une chaîne ANSI +si pas HExécuteRequêteSQL(reqVerif) alors +LogEcrit("Erreur dans la req vérification suppression dossier "+RC+HErreurInfo(hErrComplet), +eDebug) +Info("Une erreur s'est produite, le dossier ne peut pas être supprimé") +retour +sinon +pour tout reqVerif +si reqVerif.NbRdvs > 0 alors sMsgInfo += [RC]+"Il y a "+reqVerif.NbRdvs + +" rendez-vous pour l'intervention "+reqVerif.IN_RefInterne +si reqVerif.NbDocuments > 0 alors sMsgInfo += [RC]+"Il existe "+reqVerif.NbDocuments + +" documents pour l'intervention "+reqVerif.IN_RefInterne +si reqVerif.NbMessages > 0 alors sMsgInfo += [RC]+"Il y a "+reqVerif.NbMessages + +" messages pour l'intervention "+reqVerif.IN_RefInterne +si reqVerif.NbAction > 0 alors sMsgInfo += [RC]+"Il y a "+reqVerif.NbAction + +" actions pour l'intervention "+reqVerif.IN_RefInterne +fin +fin +si sMsgInfo <> "" alors +Info("Le dossier ne peut pas être supprimé car : "+sMsgInfo) +retour +sinon +clErreur est un CErreur +bOk est un booléen = Vrai +si pas gclPresentationFicheDossier.bControle(clErreur,Vrai) alors +bOk = Faux +sMsgInfo += [RC] + clErreur.FormateMessage() +fin +pour tout pclInter de gclPresentationFicheDossier:ListeIntervention:m_clTabModele +si pas pclInter.bControle(clErreur,Vrai) alors +bOk = Faux +sMsgInfo += [RC] + clErreur.FormateMessage() +fin +fin +si pas bOk alors +Erreur("Impossible de supprimer le dossier",sMsgInfo) +retour +fin +si OuiNon("Êtes-vous sûr de vouloir supprimer le dossier ? Cette opération est irréversible.") += Oui alors +si pas gclPresentationFicheDossier.bSupprimer(clErreur) alors +06/08/2026 Isis_BO 2655 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Procédures +Erreur(clErreur.FormateMessage()) +sinon +ExécuteTraitement(BTN_Fermer_fiche_dossier,trtClic) +fin +sinon +retour +fin +fin +fin +Procédure locale SurActivite +// Résumé : +// Syntaxe : +//SurActivite (, , ) +// +// Paramètres : +// wEve : +// wParam : +// lParam : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SurActivite(wEve,wParam,lParam) +//gbUserEnMouvement = Vrai +si gclPresentationFicheDossier:m_bBlocageEcriture alors +gnDelai=DonneValeurTimeOutObjet(gclPresentationFicheDossier) +fin +//SI wParam<>0 ALORS//N° de colonne sur laquelle le clic est effectué +// +//FIN +Procédure locale TimeOutDossier +procédure TimeOutDossier() +//Enlève 1 seconde au temps restant +gnDelai-- +//Le temps est écoulé, l'enregistrement et le déblocage de ce dernier c'est bien passé +si gnDelai = 0 alors +DeblocEnregistrement(gclPresentationFicheDossier,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_DOSSIER,BTN_CADENAS_OUVERT_DOSSIER,GR_CADENAS_DOSSIER,D_FIC_DOSSIER,*,Vrai) +fin +Procédure locale TraitementDocSurChangementClient +// Résumé : +// Syntaxe : +//[ = ] TraitementDocSurChangementClient ( est entier sur 8 octets, +est champ, est booléen) +// +// Paramètres : +// nPKIDActuel (entier sur 8 octets) : +// chpSite (champ) : +// bReponseQuestion (booléen) : +06/08/2026 Isis_BO 2656 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Procédures +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure TraitementDocSurChangementClient(nPKIDActuel est un entier sur 8 octets,chpSite est un Champ, +bReponseQuestion est un booléen) +bResultat est un booléen +bSort est un booléen +//Demande à l'utilisateur s'il est d'accord de changer le site et de copier les documents avec +bReponseQuestion = OuiNon( +"Le changement du client aura pour effet de copier les documents dans un nouveau répertoire", +"Confirmez-vous le changement ?") +si bReponseQuestion alors +//Variable stockant les messages d'erreurs de la copie +sMSG est une chaîne +//Variable contentant l'ID de l'état du document qui correspond à "présent" +nIDEtatDocPresent est un entier sur 8 octets = gpclListeEtatDocument. +RechercheEtDonneIdDepuisValeur("1") +// //Enregistre les changements +// EnregistrerFiche() +nTotalInterv est un entier +//clListeInterv est un PTableIntervention dynamique +si clListeInterv=Null alors clListeInterv = DonneListeInterv() +si clListeInterv<>Null alors +sListeFicCumul est une chaîne +nTotalInterv = clListeInterv:m_clTabModele.Occurrence() +pour i = 1 _à_ nTotalInterv +clListeInterv:p_clCourant = clListeInterv:m_clTabModele[i] +clFicheInterv est un PFicheIntervention <-clListeInterv.Modifier() +//Il se peut que la liste des document ne soit pas chargées à cause du chargement différé +si clFicheInterv:ListeDocument = Null alors PFicheIntervention.gListeDocument( +clFicheInterv) +nTotalDoc est un entier = clFicheInterv:ListeDocument:p_nTotal +//Boucle sur tous les documents hors rapport +pour j = 1 _à_ nTotalDoc +//Le document est présent à l'endroit attendu +si clFicheInterv:ListeDocument:m_clTabModele[j]:m_nIDEtatDocument=nIDEtatDocPresent +alors +//Concatene les chemins des fichiers +//sListeFichiers+=clFicheInterv:ListeDocument:m_clTabModele[j]:m_sCheminFichier+RC +sListeFicCumul+=clFicheInterv:m_nPKID+TAB+clFicheInterv:ListeDocument: +m_clTabModele[j]:m_sCheminFichier+RC +fin +fin +fin +//Enregistre les changements +EnregistrerFiche() +pour i = 1 _à_ nTotalInterv +clListeInterv:p_clCourant = clListeInterv:m_clTabModele[i] +clFicheInterv est un PFicheIntervention <-clListeInterv.Modifier() +06/08/2026 Isis_BO 2657 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Procédures +//Variable contenant le nom des fichiers à copier +sListeFichiers est une chaîne +//Il se peut que la liste des document ne soit pas chargées à cause du chargement différé +si clFicheInterv:ListeDocument = Null alors PFicheIntervention.gListeDocument( +clFicheInterv) +pour toute chaîne unLotDoc de sListeFicCumul séparée par RC +si ExtraitChaîne(unLotDoc,1,TAB)=clFicheInterv:m_nPKID alors +sListeFichiers+=ExtraitChaîne(unLotDoc,2,TAB)+RC +fin +fin +//La copie des fichiers ne s'est pas bien passé=>inutile d'aller pplus loin +si sListeFichiers<>"" _et_ pas AjouteFichier(sListeFichiers,0,clFicheInterv,sMSG,Vrai) +_ou_ sMSG<>"" alors bSort = Vrai +si bSort alors break +//Recharge la liste des documents avec le nouveau site +PFicheIntervention.gListeDocument(clFicheInterv) +fin +si bSort alors +//Affiche l'erreur +Erreur("Les fichiers suivant n'ont pas pu être copiés",RC+sMSG) +//Recharge l'ancien client +PFicheDossier.gFicheClient(gclPresentationFicheDossier,gclPresentationFicheDossier. +FicheClient,nPKIDActuel,Vrai) +//Actualise le code client à l'écran +chpSite = Majuscule(gclPresentationFicheDossier.FicheClient.m_sNom) +sinon +//La copie des fichiers s'est bien passé +bResultat = Vrai +//Demande à l'utilisateurs s'il faut supprimer les anciens fichiers ? +si OuiNon("Les fichiers ont bien été copiés", +"Souhaitez-vous les supprimer de leur ancien emplacement") alors +//Boucle sur la liste des fichiers +pour toute chaîne sUnFichier de sListeFicCumul séparée par RC +//Le fichier existe +si fFichierExiste(ExtraitChaîne(sUnFichier,2,TAB)) alors +//Supprime le fichier +fSupprime(ExtraitChaîne(sUnFichier,2,TAB),frLectureSeule) +fin +fin +fin +fin +fin +sinon +//Recharge l'ancien client +PFicheDossier.gFicheClient(gclPresentationFicheDossier,gclPresentationFicheDossier.FicheClient, +nPKIDActuel,Vrai) +//Actualise le code site à l'écran +06/08/2026 Isis_BO 2658 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_DossierV1 › Procédures +chpSite = Majuscule(gclPresentationFicheDossier:FicheClient.m_sNom) +//Enregistre les changements +EnregistrerFiche() +fin +renvoyer bResultat +Procédure locale TrieOngletInter +procédure TrieOngletInter(TabModele est un tableau de MIntervention dynamique) +nValeur est un entier = 0 +nIndice est un entier=TableauCherche(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur. +m_clTabModele,tcLinéaire,"m_nIDUtilisateur;m_sCode",gpclFicheUtilisateurEnCours:m_nPKID, +c_NomParamTrieInter) +si nIndice>0 alors +nValeur = Val(ExtraitChaîne(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele[ +nIndice].m_sValeur,1,"_",DepuisDébut)) +fin +si pas DonneDroitParamAppli(cParam_TrieInter) alors +nValeur = 0 +fin +selon nValeur +cas C_DateD_R +TableauTrie(TabModele,ttMembre,"-m_dhCreationDate") +cas C_DateD_A +TableauTrie(TabModele,ttMembre,"+m_dhCreationDate") +cas C_NumInter_E +TableauTrie(TabModele,ttMembre+tccRespecteNumérique,"-m_sRefInterne") +cas C_NumInter_P +TableauTrie(TabModele,ttMembre+tccRespecteNumérique,"+m_sRefInterne") +cas C_TitreInter_A +TableauTrie(TabModele,ttMembre,"+m_sTitre") +cas C_TitreInter_Z +TableauTrie(TabModele,ttMembre,"-m_sTitre") +cas C_NumDevis_E +TableauTrie(TabModele,ttMembre+tccRespecteNumérique,"-m_sNumDevis") +cas C_NumDevis_A +TableauTrie(TabModele,ttMembre+tccRespecteNumérique,"+m_sNumDevis") +cas C_RefExtInter_E +TableauTrie(TabModele,ttMembre+tccRespecteNumérique,"-m_sRefExterne") +cas C_RefExtInter_P +TableauTrie(TabModele,ttMembre+tccRespecteNumérique,"+m_sRefExterne") +autre cas +TableauTrie(TabModele,ttMembre+tccRespecteNumérique,"-m_nPKID") +fin +06/08/2026 Isis_BO 2659 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Image +FI_Liste_Dossier +Image +FI_Liste_Dossier +Informations générales +FI_Liste_Dossier +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Liste_Dossier.wdw +| Créé par | | FBO | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | ---- | +| Date de création | | 17/09/2018 18:14:36 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 20/05/2025 11:36:31 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1278 Hauteur | 386 | +| 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 | | +| 06/08/2026 | | | Isis_BO | | 2660 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations générales +| Déplace/fond | Sauve position | | Ascenseur auto. | | +| --------------------- | -------------- | --- | --------------- | --- | +| Gestion grande police | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | Actif | | | | +| ------------------------------- | ----------------------------------- | ------- | --- | ---- | +| Curseur survol | 0 | | | | +| Copie d'écran | Oui | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Oui | | | | +| Type cadre | | | | | +| Transparence Vista | Non | | | | +| Transparence gérée par Vista | Non | | | | +| Appliquer le thème du projet | | | | | +| Grisé : Utiliser couleur perso. | Non | | | | +| Grisé : Algo pour images | | | | | +| 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. | | | | | +| 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 | | | | +| 06/08/2026 | | Isis_BO | | 2661 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | | | 14 | | Libellé | | 10 | +| --- | ---------------------- | --- | --- | --- | --- | --- | ----------------------- | --- | --- | +| | Bouton | | | | 10 | | Interrupteur | | 19 | +| | Image | | | | 6 | | Table | | 1 | +| | Combo | | | | 8 | | Forme | | 4 | +| | Fenêtre interne | | | | 1 | | Fenêtre interne | | 1 | +| | Champ Modèle de champs | | | | 3 | | Option d'interrupteur | | 19 | +| | Colonne de table | | | | 18 | | Rupture de zone répétée | | 2 | +| | Disposition | | | | 4 | | Cellule de disposition | | 18 | +Nombre d'éléments dans la fenêtre : 138 +FI_Liste_Dossier +Informations sur les champs +Fenêtre : FI_Liste_Dossier +Fenêtre interne +BAT ehcuoT +| | | | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FI_Liste_Dossier | | | | 0 | 0 | 1278 | 386 | 0 | | +| ---------------- | --- | --- | --- | --- | --- | ---- | --- | --- | --- | +Fenêtre interne : FI_Liste_Dossier +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_ADRESSE_SITE | | 130 31 | 173 22 | 0 | Actif | Texte | | Non | | +| ------------------ | --- | ------ | ------ | --- | ------- | ----- | --- | --- | ---- | +| SAI_CLIENT | | 130 32 | 173 22 | 0 | Actif | Texte | | Non | | +| SAI_CODEPOSTAL_SIT | | 130 59 | 173 22 | 0 | Actif | Texte | | Non | | +| SAI_CODE_LIEU | | 130 3 | 173 22 | 0 | Actif | Texte | | Non | | +| SAI_DATE_INTERV_AU | | 544 87 | 74 22 | 0 | Actif | Date | | Non | | +| SAI_DATE_INTERV_DU | | 445 87 | 74 22 | 0 | Actif | Date | | Non | | +| 06/08/2026 | | | | | Isis_BO | | | | 2662 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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_DESCRIPTION | 445 | 59 172 22 | 0 Actif | | Texte | Non | | | | +| ------------------ | ------- | --------- | ------- | --- | ----- | --- | --- | --- | --- | +| SAI_DEVIS_INTERV | 130 117 | 173 22 | 0 Actif | | Texte | Non | | | | +| SAI_NUMDOSSIER | 130 | 3 173 22 | 0 Actif | | Texte | Non | | | | +| SAI_NUMINTERV | 130 | 3 173 22 | 0 Actif | | Texte | Non | | | | +| SAI_REFEXT_DOSSIER | 130 | 85 173 22 | 0 Actif | | Texte | Non | | | | +| SAI_REFEXT_INTERV | 130 | 87 173 22 | 0 Actif | | Texte | Non | | | | +| SAI_TITRE_DOSSIER | 130 | 59 173 22 | 0 Actif | | Texte | Non | | | | +| SAI_VILLE_SITE | 130 | 87 173 22 | 0 Actif | | Texte | Non | | | | +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| LIB_AFFICHER_DOSSIER | | 6 9 | 45 | 14 | 0 | Actif | Gauche | Haut | | +| -------------------- | --- | ------ | --- | --- | --- | ----- | ------ | ---- | --- | +| LIB_DATE_INTERV_AU | | 526 91 | 17 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_DEPUIS_DOSSIER | | 234 9 | 45 | 14 | 0 | Actif | Gauche | Haut | | +LIB_Titre_de_fenêtre_Liste_dossi 8 5 389 21 0 Actif Gauche Centre +| LIB_Total_Liste_Dossier | | 44 0 | 36 | 14 | 0 | Actif | Gauche | Haut | | +| ----------------------------- | --- | ---- | --- | --- | --- | ----- | ------ | ---- | --- | +| LIB_Total_Titre_Liste_Dossier | | 0 0 | 40 | 14 | 0 | Actif | Gauche | Haut | | +Bouton +notuob epyT +| | | | | | | | laitini tatE | BAT ehcuoT | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | --- | +| | | X noitisoP | Y noitisoP | | | | | | | +| | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_AVANCEE | | 970 | 4 | 24 | 24 | 0 | Actif | | Normal | +| ----------------------------- | --- | ---- | --- | ------- | --- | --- | ----- | --- | ------ | +| BTN_COLLAPSE | | 627 | 4 | 24 | 24 | 0 | Actif | | Normal | +| BTN_Fermer_liste_dossier | | 1243 | 4 | 24 | 24 | 0 | Actif | | Normal | +| BTN_GOMMER | | 1048 | 4 | 24 | 24 | 0 | Actif | | Normal | +| BTN_Modifier_liste_dossier | | 1126 | 4 | 24 | 24 | 0 | Grisé | | Normal | +| BTN_Nouveau_liste_dossier | | 1087 | 4 | 24 | 24 | 0 | Actif | | Normal | +| BTN_RECHERCHE | | 1009 | 4 | 24 | 24 | 0 | Actif | | Normal | +| BTN_SelectLigne_liste_dossier | | 1165 | 4 | 24 | 24 | 0 | Grisé | | Normal | +| BTN_Supprimer_liste_dossier | | 1204 | 4 | 24 | 24 | 0 | Grisé | | Normal | +| BTN_UNCOLLAPSE | | 627 | 4 | 24 | 24 | 0 | Actif | | Normal | +| 06/08/2026 | | | | Isis_BO | | | | | 2663 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| INT_ADRESSE_SITE | | 0 30 | 130 | 25 | 0 | Actif | | 1 | | +| --------------------- | --- | ------ | --- | --- | --- | ----- | --- | --- | --- | +| INT_CLIENT | | 0 31 | 130 | 25 | 0 | Actif | | 1 | | +| INT_CODEPOSTAL_SITE | | 0 58 | 130 | 25 | 0 | Actif | | 1 | | +| INT_CODE_LIEU | | 0 2 | 130 | 25 | 0 | Actif | | 1 | | +| INT_DATE_INTERV_DU | | 315 86 | 130 | 25 | 0 | Actif | | 1 | | +| INT_DESCRIPTION | | 314 58 | 130 | 25 | 0 | Actif | | 1 | | +| INT_DEVIS_INTERV | | 0 114 | 130 | 25 | 0 | Actif | | 1 | | +| INT_ETAT_INTERV | | 314 30 | 130 | 25 | 0 | Actif | | 1 | | +| INT_NUMDOSSIER | | 0 2 | 130 | 25 | 0 | Actif | | 1 | | +| INT_NUMINTERV | | 0 2 | 130 | 25 | 0 | Actif | | 1 | | +| INT_REFEXT_DOSSIER | | 0 84 | 130 | 25 | 0 | Actif | | 1 | | +| INT_REFEXT_INTERV | | 0 84 | 130 | 25 | 0 | Actif | | 1 | | +| INT_SOCIETE_INTERV | | 314 2 | 130 | 25 | 0 | Actif | | 1 | | +| INT_STATUT_DOSSIER | | 0 143 | 130 | 25 | 0 | Actif | | 1 | | +| INT_SUIVI_PAR | | 0 31 | 130 | 25 | 0 | Actif | | 1 | | +| INT_TITRE_DOSSIER | | 0 58 | 130 | 25 | 0 | Actif | | 1 | | +| INT_TYPE_DOSSIER | | 0 114 | 130 | 25 | 0 | Actif | | 1 | | +| INT_TYPE_INTERVENTION | | 0 58 | 131 | 25 | 0 | Actif | | 1 | | +| INT_VILLE_SITE | | 0 86 | 130 | 25 | 0 | Actif | | 1 | | +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 | | | | | | | +| --- | --------------------- | ------- | ------------ | --- | -------- | --- | --- | --- | --- | +| | | ruetuaH | | | sruocraP | | | | | +ruegraL +| | | | elbisiV | elbaT | | | | | | +| --- | --- | --- | ------- | ----- | --- | --- | --- | --- | --- | +nalP +| TABLE_DOSSIER | 0 | 0 1278 90 0 | affichag | Mémoir | | | | | 1 | +| ------------- | --- | ----------- | -------- | ------ | --- | --- | --- | --- | --- | +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 | | | | sruocraP | | | | +| | | ruegraL ruetuaH | | | | | | | | +elbisiV +| | | | | | elbaT | eéirT | | | | +| --- | --- | --- | --- | --- | ----- | ----- | --- | --- | --- | +nalP +| COMBO_ETAT_INTERV | 445 | 31 173 22 | 0 | Actif | Mémoire | | Non | | | +| ----------------- | --- | --------- | --- | ----- | ------- | --- | --- | --- | --- | +COMBO_PERIODE_AFFICH +| | 279 | 5 87 22 | 0 | Actif | Variable | | Non | | | +| -------------------- | --- | ---------- | --- | ----- | -------- | --- | --- | --- | --- | +| COMBO_SEUIL_AFFICHAG | 51 | 5 158 22 | 0 | Actif | Variable | | Non | | | +| COMBO_SOCIETE_INTERV | 445 | 3 173 22 | 0 | Actif | Mémoire | | Non | | | +| COMBO_STATUT_DOSSIE | 130 | 144 173 22 | 0 | Actif | Variable | | Non | | | +| COMBO_SUIVI_PAR | 130 | 31 173 22 | 0 | Actif | Variable | | Non | | | +| COMBO_TYPE_DOSSIER | 130 | 115 173 22 | 0 | Actif | Variable | | Non | | | +COMBO_TYPE_INTERVENT +| | 130 | 59 173 22 | 0 | Actif | Variable | | Non | | | +| ---------- | --- | --------- | ------- | ----- | -------- | --- | --- | --- | ---- | +| 06/08/2026 | | | Isis_BO | | | | | | 2664 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Forme +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_CADRE_CARACTERISTIQUES | 0 | 0 309 | 172 | 0 | Actif | | +| -------------------------- | --- | ----- | --- | --- | ----- | --- | +| FRM_CADRE_CARACTERISTIQUES | 0 | 0 309 | 172 | 0 | Actif | | +| FRM_CADRE_CARACTERISTIQUES | 0 | 0 624 | 172 | 0 | Actif | | +| FRM_SansNom1 | 307 | 0 8 | 169 | 0 | Actif | | +Fenêtre interne +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CFI_SOUSELEMENT_LISTE_DOSSIER | 0 | 0 1278 | 362 | 0 | Actif | | +| ----------------------------- | --- | ------ | --- | --- | ----- | --- | +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_SansNom1 | 0 | 3 624 | 29 | 0 | Actif | | +| ------------- | --- | ----- | --- | --- | ----- | --- | +| CMOD_SansNom2 | 0 | 3 309 | 29 | 0 | Actif | | +| CMOD_SansNom3 | 0 | 3 309 | 29 | 0 | Actif | | +Disposition +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| DISP_DOSSIER | 13 | 0 309 | 216 | 0 | Actif | | +| ----------------- | --- | ------ | --- | --- | ----- | --- | +| DISP_INTERVENTION | 328 | 0 624 | 216 | 0 | Actif | | +| DISP_SITE | 958 | 0 309 | 216 | 0 | Actif | | +| D_LISTE_DOSSIER | 0 | 0 1278 | 386 | 0 | Actif | | +Table : FI_Liste_Dossier.D_LISTE_DOSSIER.TABLE_DOSSIER +| 06/08/2026 | | Isis_BO | | | | 2665 | +| ---------- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › 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_DATEMODIF | 21 | 43 316 | 16 | 0 Actif | Gauche | Haut | | +| ------------- | --- | ------ | --- | ------- | ------ | ---- | --- | +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 | +| ----------------- | --- | -------- | --- | ------------- | ------- | --- | ----- | +| RefInterneInterv | 70 | affichag | | Gauche Centre | Texte | | | +| IDTypeInterv | 100 | affichag | | Gauche Centre | Texte | | | +| IDEtatInterv | 100 | affichag | | Centre Centre | Texte | | | +| Description | 150 | affichag | | Gauche Centre | Texte | | | +| IDSociete | 100 | affichag | | Gauche Centre | Texte | | | +| CodeLieu | 100 | affichag | | Gauche Centre | Texte | | | +| AdresseLieu | 150 | affichag | | Gauche Centre | Texte | | | +| Client | 100 | affichag | | Gauche Centre | Texte | | | +| TitreDossier | 100 | affichag | | Gauche Centre | Texte | | | +| RefExterneDossier | 80 | affichag | | Gauche Centre | Texte | | | +| IDTypeDossier | 100 | affichag | | Gauche Centre | Texte | | | +| IDStatutDossier | 100 | affichag | | Gauche Centre | Texte | | | +| MinDateModif | 100 | Grisé | | Gauche Centre | Texte | | | +| NbJrsModif | 100 | affichag | | Droite Centre | Numériq | | | +| RefInterneDoss | 70 | Grisé | | Gauche Centre | Texte | | | +Numériq +| idDossier | 100 | Grisé | | Droite Centre | | | | +| ---------- | --- | -------- | --- | ------------- | ------- | --- | --- | +| idInterv | 100 | Grisé | | Droite Centre | Numériq | | | +| COL_NDevis | 100 | affichag | | Gauche Centre | Texte | | | +Rupture de zone répétée +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | ---------- | +| | | X noitisoP Y noitisoP | | | | | | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +RUPT_BasRupture1 +RUPT_Haut +| 06/08/2026 | | | Isis_BO | | | | 2666 | +| ---------- | --- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : +FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_INTERVENTION.CMOD_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --------------------- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_BLOC | 34 5 | 499 19 | 0 Actif | Gauche | Haut | | +| -------- | ---- | ------ | ------- | ------ | ---- | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------------ | --------- | ---------- | +| | | ruegraL | ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_Entete | 0 | 0 624 | 29 0 | Actif | | | +| ---------- | --- | ----- | ---- | ----- | --- | --- | +| IMG_ICONE | 8 | 6 16 | 16 0 | Actif | | | +Champ Modèle de champs : +FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_SITE.CMOD_SansNom2 +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --------------------- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_BLOC | 34 5 | 184 19 | 0 Actif | Gauche | Haut | | +| -------- | ---- | ------ | ------- | ------ | ---- | --- | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------------ | --------- | ---------- | +| | | | ruetuaH | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Entete | 0 | 0 309 | 29 0 | Actif | | | +| ---------- | --- | ------- | ---- | ----- | --- | ---- | +| IMG_ICONE | 8 | 6 16 | 16 0 | Actif | | | +| 06/08/2026 | | Isis_BO | | | | 2667 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : +FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_DOSSIER.CMOD_SansNom3 +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --------------------- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_BLOC | 34 5 | 184 19 | 0 Actif | Gauche | Haut | | +| -------- | ---- | ------ | ------- | ------ | ---- | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------------ | --------- | ---------- | +| | | ruegraL | ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_Entete | 0 | 0 309 | 29 0 | Actif | | | +| ---------- | --- | ----- | ---- | ----- | --- | --- | +| IMG_ICONE | 8 | 6 16 | 16 0 | Actif | | | +Fenêtre : FI_Liste_Dossier +Fenêtre interne : FI_Liste_Dossier +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ---------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Compatible desktop ET mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +Facteur de rétrécissement +0 +Facteur d'agrandissement +0 +| Ctx. HFSQL indép. | Non | | | | | | +| ----------------- | ------- | --- | --- | --- | --- | --- | +| Ancrage | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Isis_BO | | | | 2668 | +| ---------- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Fenêtre interne : FI_Liste_Dossier +Bouton : FI_Liste_Dossier.D_LISTE_DOSSIER.BTN_AVANCEE +Ordre navigation 1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_Paramétrage.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2669 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Bouton : FI_Liste_Dossier.D_LISTE_DOSSIER.BTN_COLLAPSE +Groupe GR_MODEFORMULAIRE_LISTE_CLIENT +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_Plier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2670 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Bouton : FI_Liste_Dossier.D_LISTE_DOSSIER.BTN_Fermer_liste_dossier +Groupe GR_MODEFORMULAIRE_LISTE_DOSSIER +Ordre navigation 8 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2671 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Bouton : FI_Liste_Dossier.D_LISTE_DOSSIER.BTN_GOMMER +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_Gommer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2672 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Bouton : FI_Liste_Dossier.D_LISTE_DOSSIER.BTN_Modifier_liste_dossier +Groupe GR_MODIFICATION_LISTE_DOSSIER,GR_MODEFORMULAIRE_LISTE_DOSSIER +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2673 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Bouton : FI_Liste_Dossier.D_LISTE_DOSSIER.BTN_Nouveau_liste_dossier +Groupe GR_MODEFORMULAIRE_LISTE_DOSSIER +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2674 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Bouton : FI_Liste_Dossier.D_LISTE_DOSSIER.BTN_RECHERCHE +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_refresh.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2675 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Bouton : FI_Liste_Dossier.D_LISTE_DOSSIER.BTN_SelectLigne_liste_dossier +Groupe GR_MODEFORMULAIRE_LISTE_DOSSIER +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2676 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Bouton : FI_Liste_Dossier.D_LISTE_DOSSIER.BTN_Supprimer_liste_dossier +Groupe GR_MODEFORMULAIRE_LISTE_DOSSIER,GR_MODIFICATION_LISTE_DOSSIER +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2677 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Bouton : FI_Liste_Dossier.D_LISTE_DOSSIER.BTN_UNCOLLAPSE +Groupe GR_MODEFORMULAIRE_LISTE_CLIENT +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_Deplier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2678 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Fenêtre interne : FI_Liste_Dossier.D_LISTE_DOSSIER.CFI_SOUSELEMENT_LISTE_DOSSIER +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 +Ancrage au contenu +Numéro aide 0 +Ascenseur auto. 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 +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2679 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2680 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Combo : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_INTERVENTION.COMBO_ETAT_INTERV +Libellé FR: &Intervention suivi par +Groupe ,GR_CRITERE_LISTEDOSS +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Fenêtre Popup FEN_Choix_Parametre_Metier +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 773 +Largeur interne 173 +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 +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 +06/08/2026 Isis_BO 2681 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Dossier.D_LISTE_DOSSIER.COMBO_PERIODE_AFFICHAGE_DOSSIER +Groupe GR_PERIODE_AFFICHAGE_DOSSIER +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 87 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 279 +Largeur interne 87 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Période d'affichage du nombre de lignes +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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 +06/08/2026 Isis_BO 2682 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › 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 +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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListePeriodeAffichageListe.m_clTabVisible +Filtre 02 +Rub. affichée :gpclListePeriodeAffichageListe.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListePeriodeAffichageListe.m_clTabVisible.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 333 Taux anc. bas 250 Taux anc. largeur 1000 Taux anc. hauteur 250 +Combo : FI_Liste_Dossier.D_LISTE_DOSSIER.COMBO_SEUIL_AFFICHAGE_DOSSIER +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 158 +Larg. déroulée perso. Non +06/08/2026 Isis_BO 2683 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 51 +Largeur interne 158 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Seuil d'affichage du nombre de lignes +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeSeuilAffichageListe.m_clTabVisible +Filtre 02 +Rub. affichée :gpclListeSeuilAffichageListe.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeSeuilAffichageListe.m_clTabVisible.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 333 Taux anc. bas 250 Taux anc. largeur 1000 Taux anc. hauteur 250 +06/08/2026 Isis_BO 2684 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Combo : +Libellé FR: &Intervention suivi par +Groupe ,GR_CRITERE_LISTEDOSS +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Fenêtre Popup FEN_Choix_Parametre_Metier +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 773 +Largeur interne 173 +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 +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 +06/08/2026 Isis_BO 2685 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_DOSSIER.COMBO_STATUT_DOSSIER +Libellé FR: Stat&ut du dossier +Valeur initiale 1 +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 143 +Largeur interne 173 +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 +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 +06/08/2026 Isis_BO 2686 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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. +Avec recherche Oui +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeStatutDossier.m_clTabModele +Rub. affichée :gpclListeStatutDossier.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeStatutDossier.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_INTERVENTION.COMBO_SUIVI_PAR +Libellé FR: &Intervention suivi par +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Fenêtre Popup FEN_Choix_Collab_Responsable +Util. gValeurMémorisée pour valeur Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +06/08/2026 Isis_BO 2687 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Hauteur liste 0 +Largeur liste 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 458 +Largeur interne 173 +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 +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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeCollabResp.m_clTabModele +Rub. affichée :gpclListeCollabResp.m_clTabModele.NomPrenom +Rub. mémorisée :gpclListeCollabResp.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2688 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Combo : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_DOSSIER.COMBO_TYPE_DOSSIER +Libellé FR: &Type de dossier +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 143 +Largeur interne 173 +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 +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 +06/08/2026 Isis_BO 2689 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Oui +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeDossier.m_clTabModele +Filtre 6 +Rub. affichée :gpclListeTypeDossier.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeTypeDossier.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : +Libellé FR: &Type d'intervention +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 458 +Largeur interne 173 +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 +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 2690 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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. +Avec recherche Oui +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeIntervention.m_clTabModele +Rub. affichée :gpclListeTypeIntervention.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeTypeIntervention.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_DOSSIER +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Isis_BO 2691 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 200 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_INTERVENTION +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Disposition : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_SITE +Libellé FR: Disposition +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 +Cellule ancrée 0 +06/08/2026 Isis_BO 2692 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 800 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Dossier.D_LISTE_DOSSIER +Libellé FR: Disposition +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 +Cellule ancrée 4 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2693 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_SITE.FRM_CADRE_CARACTERISTIQUES +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2694 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_INTERVENTION.FRM_SansNom1 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Vertical +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_SITE.INT_ADRESSE_SITE +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Isis_BO 2695 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_DOSSIER.INT_CLIENT +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 3 +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 +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +06/08/2026 Isis_BO 2696 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_SITE.INT_CODEPOSTAL_SITE +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +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 +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 Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Isis_BO 2697 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_SITE.INT_CODE_LIEU +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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 +06/08/2026 Isis_BO 2698 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 14 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 2699 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 10 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2700 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 18 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2701 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2702 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Interrupteur : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_DOSSIER.INT_NUMDOSSIER +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2703 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Interrupteur : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_INTERVENTION.INT_NUMINTERV +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2704 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Interrupteur : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_DOSSIER.INT_REFEXT_DOSSIER +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 7 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2705 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 13 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2706 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 2 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2707 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Interrupteur : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_DOSSIER.INT_STATUT_DOSSIER +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 11 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2708 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Interrupteur : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_INTERVENTION.INT_SUIVI_PAR +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2709 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Interrupteur : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_DOSSIER.INT_TITRE_DOSSIER +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2710 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Interrupteur : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_DOSSIER.INT_TYPE_DOSSIER +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 9 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2711 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 9 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2712 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Interrupteur : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_SITE.INT_VILLE_SITE +Valeur initiale 0 +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 7 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2713 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Libellé : FI_Liste_Dossier.D_LISTE_DOSSIER.LIB_AFFICHER_DOSSIER +Libellé FR: Afficher +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_INTERVENTION.LIB_DATE_INTERV_AU +Libellé FR: au +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 +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 +06/08/2026 Isis_BO 2714 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Dossier.D_LISTE_DOSSIER.LIB_DEPUIS_DOSSIER +Libellé FR: Depuis +Groupe GR_PERIODE_AFFICHAGE_DOSSIER +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2715 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Libellé : FI_Liste_Dossier.D_LISTE_DOSSIER.LIB_Titre_de_fenêtre_Liste_dossier +Libellé FR: Titre +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Dossier.D_LISTE_DOSSIER.LIB_Total_Liste_Dossier +Libellé FR: 000 +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 +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 +06/08/2026 Isis_BO 2716 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationListeDossier.p_nTotal +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 +Libellé : FI_Liste_Dossier.D_LISTE_DOSSIER.LIB_Total_Titre_Liste_Dossier +Libellé FR: Total : +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 +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 +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 Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2717 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ de saisie : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_SITE.SAI_ADRESSE_SITE +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1088 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2718 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_DOSSIER.SAI_CLIENT +Libellé FR: &Client +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 143 +Largeur interne 173 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 2719 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2720 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ de saisie : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_SITE.SAI_CODEPOSTAL_SITE +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1088 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2721 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_SITE.SAI_CODE_LIEU +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1088 +Largeur interne 173 +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 +06/08/2026 Isis_BO 2722 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2723 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ de saisie : +Groupe ,GR_CRITERE_LISTEDOSS +Ordre navigation 17 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 872 +Largeur interne 74 +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: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2724 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › 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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe ,GR_CRITERE_LISTEDOSS +Ordre navigation 16 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 773 +Largeur interne 74 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 2725 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2726 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ de saisie : +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 773 +Largeur interne 172 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2727 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 19 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 458 +Largeur interne 173 +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 +06/08/2026 Isis_BO 2728 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2729 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ de saisie : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_DOSSIER.SAI_NUMDOSSIER +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 143 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2730 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 458 +Largeur interne 173 +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 +06/08/2026 Isis_BO 2731 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2732 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ de saisie : +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 143 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2733 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 15 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 458 +Largeur interne 173 +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 +06/08/2026 Isis_BO 2734 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2735 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ de saisie : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_DOSSIER.SAI_TITRE_DOSSIER +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 143 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2736 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_SITE.SAI_VILLE_SITE +Groupe GR_CRITERE_LISTEDOSS +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1088 +Largeur interne 173 +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 +06/08/2026 Isis_BO 2737 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2738 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Table : FI_Liste_Dossier.D_LISTE_DOSSIER.TABLE_DOSSIER +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Recherche +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 0 +Marge en bas 0 +Marge à gauche 1 +Marge à droite 3 +Sens Vertical +Retrait gauche 2 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 500 +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 +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Non +06/08/2026 Isis_BO 2739 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Ajout/Suppr. dans variable Non +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 +Champ Modèle de champs : +FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_INTERVENTION.CMOD_SansNom1 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2740 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_action.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Intervention +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 2741 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_SITE.CMOD_SansNom2 +Image : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_SITE.CMOD_SansNom2.IMG_Entete +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 2742 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_SITE.CMOD_SansNom2.IMG_ICONE +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_SITE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2743 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Libellé : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_SITE.CMOD_SansNom2.LIB_BLOC +Libellé FR: Site +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_DOSSIER.CMOD_SansNom3 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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 +06/08/2026 Isis_BO 2744 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_dossier.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 2745 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Dossier.D_LISTE_DOSSIER.DISP_DOSSIER.CMOD_SansNom3.LIB_BLOC +Libellé FR: Dossier +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2746 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Table : FI_Liste_Dossier.D_LISTE_DOSSIER.TABLE_DOSSIER +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 12 +Libellé : FI_Liste_Dossier.D_LISTE_DOSSIER.TABLE_DOSSIER.RUPT_Haut.LIB_DATEMODIF +Libellé FR: Date de modification +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2747 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 12 +Colonne de table : FI_Liste_Dossier.D_LISTE_DOSSIER.TABLE_DOSSIER.RefInterneInterv +Titre FR: N° +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: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 29 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Dossier.D_LISTE_DOSSIER.TABLE_DOSSIER.IDTypeInterv (4) +Titre FR: Type +Intervention +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 150 +Larg. déroulée perso. Non +06/08/2026 Isis_BO 2748 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 57 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Dossier.D_LISTE_DOSSIER.TABLE_DOSSIER.IDEtatInterv (5) +Titre FR: Etat +Intervention +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 100 +Larg. déroulée perso. Non +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 +Mode ellipse +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +06/08/2026 Isis_BO 2749 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Coche tous dans entête Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 57 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Dossier.D_LISTE_DOSSIER.TABLE_DOSSIER.Description (6) +Titre FR: Description +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 226 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Dossier.D_LISTE_DOSSIER.TABLE_DOSSIER.IDSociete (7) +Titre FR: Société +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 150 +Larg. déroulée perso. Non +Marge en haut 0 +Marge en bas 0 +06/08/2026 Isis_BO 2750 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 57 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Dossier.D_LISTE_DOSSIER.TABLE_DOSSIER.CodeLieu (8) +Titre FR: Code Lieu +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 86 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2751 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Colonne de table : FI_Liste_Dossier.D_LISTE_DOSSIER.TABLE_DOSSIER.AdresseLieu (9) +Titre FR: Adresse +Lieu +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 114 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Dossier.D_LISTE_DOSSIER.TABLE_DOSSIER.Client (10) +Titre FR: Client +Curseur survol 0 +UI par l'utilisateur +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 +06/08/2026 Isis_BO 2752 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 114 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Dossier.D_LISTE_DOSSIER.TABLE_DOSSIER.TitreDossier (11) +Titre FR: Titre du dossier +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 86 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2753 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Colonne de table : +Titre FR: Ref. +Externe +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 29 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Dossier.D_LISTE_DOSSIER.TABLE_DOSSIER.IDTypeDossier +Titre FR: Type +Dossier +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 100 +Larg. déroulée perso. Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +06/08/2026 Isis_BO 2754 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 57 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Dossier.D_LISTE_DOSSIER.TABLE_DOSSIER.IDStatutDossier +Titre FR: Statut +Dossier +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 100 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 57 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2755 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Colonne de table : FI_Liste_Dossier.D_LISTE_DOSSIER.TABLE_DOSSIER.MinDateModif +Titre FR: DureeRelative +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 +Masque affichage FR: UseDateRelativeDurationMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Dossier.D_LISTE_DOSSIER.TABLE_DOSSIER.NbJrsModif (16) +Titre FR: Nombre Jours +Depuis Modif. +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 Non +Format HTML 0 +Taille de saisie 0 +06/08/2026 Isis_BO 2756 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Mot de passe Non +Masque saisie FR: +99 999 999 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 31 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Dossier.D_LISTE_DOSSIER.TABLE_DOSSIER.RefInterneDoss +Titre FR: N°Dossier +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2757 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Colonne de table : FI_Liste_Dossier.D_LISTE_DOSSIER.TABLE_DOSSIER.idDossier (18) +Titre FR: idDossier +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: +9 999 999 999 999 999 999 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Dossier.D_LISTE_DOSSIER.TABLE_DOSSIER.idInterv (19) +Titre FR: idInterv +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: +9 999 999 999 999 999 999 +06/08/2026 Isis_BO 2758 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Dossier.D_LISTE_DOSSIER.TABLE_DOSSIER.COL_NDevis (20) +Titre FR: Devis n° +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FI_Liste_Dossier +Messages multilingues +06/08/2026 Isis_BO 2759 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Messages multilingues +06/08/2026 Isis_BO 2760 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +2001 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FI_Liste_Dossier +Code des champs +Déclarations globales de FI_Liste_Dossier +procédure FI_Liste_Dossier(gclPresentationListeDossier est un PTableDossier dynamique= +Null, paramSupplementaire est un STParamFenetreAppelante=Null) +maProcMAJObjetRetourListDossier est une procédure = MAJObjetRetourFI +maProcRefreshObjetPres est une procédure = RefreshObjetPresentation +maProcMAJCriterePerso est une procédure = MAJCriterePerso +gsTriEnCoursDossier est une chaîne +pclTabEtat est un PTableParametreMetier dynamique +pclTabSoc est un PTableSociete dynamique +gstListePerso est un STListePerso +gstCriterePerso est un STCritereListePerso +gpclListeCollabResp est un PTableCollaborateur dynamique +//Evénement(TriColonne,"TABLE_DOSSIER",1529) +LIB_Titre_de_fenêtre_Liste_dossier = paramSupplementaire.eTypeAppel=Libre ? "Liste des dossiers" sinon +paramSupplementaire.sTitreFenetre<>"" ? paramSupplementaire.sTitreFenetre sinon "Liste des dossiers" +local +ListeAffiche(COMBO_SEUIL_AFFICHAGE_DOSSIER,taInit) +ListeAffiche(COMBO_PERIODE_AFFICHAGE_DOSSIER,taInit) +SelectionValeurCombo(COMBO_SEUIL_AFFICHAGE_DOSSIER,1)//INT_LIMITE=1 +SelectionValeurCombo(COMBO_PERIODE_AFFICHAGE_DOSSIER,0) +si gpclFicheUtilisateurEnCours<>Null _et_ gpclFicheUtilisateurEnCours:ListeParametreUtilisateur<>Null +alors +gstListePerso = gpclFicheUtilisateurEnCours:DonneColonneEtTriListePerso(1) +gstCriterePerso = gpclFicheUtilisateurEnCours:DonneCritereListePerso(1) +fin +pclTabEtat = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"13") +// PTableParametreMetier.gNouvellePresentation(-1) +pclTabSoc = PTableSociete.gNouvellePresentation(-1) +gpclListeCollabResp=PTableCollaborateur.gNouvellePresentation(6) +ListeAffiche(COMBO_SUIVI_PAR,taInit) +ListeAffiche(COMBO_STATUT_DOSSIER,taInit) +ListeAffiche(COMBO_TYPE_DOSSIER,taInit) +ListeAffiche(COMBO_TYPE_INTERVENTION,taInit) +InitCriterePerso(GR_CRITERE_LISTEDOSS,gstCriterePerso,maProcMAJCriterePerso) +//,BTN_SOCIETE_INTERV,pclTabSoc,BTN_ETAT_INTERVENTION,pclTabEtat +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +ChargementSQL() + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentationListeDossier=Null alors +gclPresentationListeDossier=PTableDossier.gNouvellePresentation(-1) +//PTableDossier.gTHNouvellePresentation(0,maProcRefreshObjetPres)// +fin +Fin d'initialisation de FI_Liste_Dossier +InitColonneChampTablePerso(TABLE_DOSSIER,gstListePerso) +//InitTriChampTablePerso(TABLE_DOSSIER,gstListePerso) +Demande de mise à jour de l'affichage de FI_Liste_Dossier +si gclPresentationListeDossier<>Null _et_ gclPresentationListeDossier est PTableDossier alors +// +// //Trie l'objet lié au champ TABLE selon le trie effectuée sur ce champ +// //TrieObjetChampTableSiBesoin(gclPresentationListeDossier,TABLE_DOSSIER,gsTriEnCoursDossier) +// +// // mise à jour des champs bindés sur la présentation (compteur par exemple) +// SourceVersEcran("","gclPresentationListeDossier") +// +// //MAJ du champ TABLE et de l'objet Liste dossier +// MAJChampTableEtObjet(TABLE_DOSSIER,gclPresentationListeDossier:p_clCourant) +// Gestion de l'accessibilité des boutons +GestionBoutonsEnteteDansListe(GR_MODIFICATION_LISTE_DOSSIER,BTN_Nouveau_liste_dossier,BTN_ +SelectLigne_liste_dossier,TABLE_DOSSIER,paramSupplementaire) +// +//Les totaux sont invisble si on appel depuis un champ fenêtre interne +D_LISTE_DOSSIER[3]..Visible = (paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.e +TypeAppel=DansChampFI) ? Faux sinon Vrai +// +si paramSupplementaire.eTypeAppel<>DansFenetre alors FEN_Menu.PriseFocus(VoletDuChamp( +D_LISTE_DOSSIER))//FEN_Menu.PriseFocus("FI_Liste_Dossier") +sinon +// +fin +Clic sur BTN_AVANCEE +//,DonneParam(DansFenetre,"FI_Liste_Dossier",MoiMême..Nom,maProcMAJObjetRetourListDossier,"","",*,pclTa +bSoc,Vrai) +OuvrePopupPosition(FEN_Choix_Colonne_Et_Tri,poHaut,1,TABLE_DOSSIER,gstListePerso)//ChargementSQL() +nIndiceRupt est un entier +nIndiceRuptsvg est un entier +pour toute ligne de TABLE_DOSSIER +nIndiceRupt = TableIndiceRupture(TABLE_DOSSIER.RUPT_Haut,TABLE_DOSSIER) +si nIndiceRuptsvg<>nIndiceRupt alors +nIndiceRuptsvg = nIndiceRupt +TABLE_DOSSIER[nIndiceRupt].LIB_DATEMODIF = TABLE_DOSSIER[TABLE_DOSSIER].MinDateModif +TableAffiche(TABLE_DOSSIER,taCourantBandeau) +fin +fin +Clic sur BTN_COLLAPSE +06/08/2026 Isis_BO 2761 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +D_LISTE_DOSSIER[2]..Visible = Faux +BTN_UNCOLLAPSE..Visible=Vrai +MoiMême..Visible = Faux +TABLE_DOSSIER.MinDateModif..Visible = Vrai +Clic sur BTN_Fermer_liste_dossier +si paramSupplementaire.eTypeAppel=DansChampFI alors +// SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,Null) +AppelProcFenetreAppelante(gclPresentationListeDossier,paramSupplementaire,Faux,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon +//FermeVoletEtActiveLePrecedent(VoletDuChamp(DISP_))LISTE_DOSSIER),VoletDuChamp(DISP_LISTE_DOSSIER) +) +FermeVoletEtActiveLePrecedent(VoletDuChamp(D_LISTE_DOSSIER)) +fin +Clic sur BTN_GOMMER +RAZ(GR_CRITERE_LISTEDOSS) +ListeSupprimeTout(COMBO_ETAT_INTERV) +COMBO_ETAT_INTERV..Bulle="" +TableauSupprimeTout(pclTabEtat:m_clTabModele) +//TableauSupprimeTout(pclTabEtat:m_clTabVisible) +ListeSupprimeTout(COMBO_SOCIETE_INTERV) +COMBO_SOCIETE_INTERV..Bulle="" +TableauSupprimeTout(pclTabSoc:m_clTabModele) +SelectionValeurCombo(COMBO_SEUIL_AFFICHAGE_DOSSIER,1)//INT_LIMITE[1]=vrai +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +Clic sur BTN_Modifier_liste_dossier +DoubleClicLigneTableau +//OuvreFicheDepuisListe(FicheEnModification,DonneParam(DansOnglet,FI_Liste_Dossier..Nom,MoiMême..Nom,ma +ProcMAJObjetRetourListDossier,"Dossier",*,*,gclPresentationListeDossier,*),gclPresentationListeDossier, +FI_Fiche_Dossier,MaFenêtreInterne..Nom,DISP_LISTE +_DOSSIER,TABLE_DOSSIER,CFI_SOUSELEMENT_LISTE_DOSSIER,GR_IMAGE_OPAQUE_LISTE_DOSSIER,GR_HAUTEUR_LISTE_DOS +SIER,GR_MODEFORMULAIRE_LISTE_DOSSIER,maProcMAJObjetRetourListDossier,MoiMême..Nom,DansOnglet) +Clic sur BTN_Nouveau_liste_dossier +OuvreFicheDepuisListe(FicheEnAjout,DonneParam(DansOnglet,FI_Liste_Dossier..Nom,MoiMême..Nom, +maProcMAJObjetRetourListDossier,"Nouveau Dossier",*,*,gclPresentationListeDossier,*), +gclPresentationListeDossier,FI_Fiche_Dossier,MaFenêtreInterne..Nom,D_LISTE_DOSSIER,TABLE_DOSSIER,CFI_ +SOUSELEMENT_LISTE_DOSSIER,GR_IMAGE_OPAQUE_LISTE_DOSSIER,GR_HAUTEUR_LISTE_DOSSIER,GR_ +MODEFORMULAIRE_LISTE_DOSSIER,maProcMAJObjetRetourListDossier,MoiMême..Nom,DansOnglet) +Clic sur BTN_RECHERCHE +si gpclFicheUtilisateurEnCours<>Null _et_ gpclFicheUtilisateurEnCours:ListeParametreUtilisateur<>Null +alors +//Récupération des critère dans un tableau +RecupCriterePerso(GR_CRITERE_LISTEDOSS,gstCriterePerso,maProcMAJCriterePerso) +//,BTN_SOCIETE_INTERV,pclTabSoc,BTN_ETAT_INTERVENTION,pclTabEtat +//Sauvegarde des critères en base +gpclFicheUtilisateurEnCours:MAJCritereListePerso(1,gstCriterePerso) +fin +06/08/2026 Isis_BO 2762 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Execution des critères +ChargementSQL() +//Application des tris +InitTriChampTablePerso(TABLE_DOSSIER,gstListePerso) +Clic sur BTN_SelectLigne_liste_dossier +si paramSupplementaire.eTypeAppel=DansChampFI alors +// SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +// SI paramSupplementaire.bMultiSelect ALORS +// +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationListeDossier) +// SINON +// pclPresentationFiche est un PFichePersonne dynamique +// pclPresentationFiche <- gclPresentationListeDossier.Modifier() +// +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,pclPresentationFiche) +// FIN +// +// FIN +AppelProcFenetreAppelante(gclPresentationListeDossier,paramSupplementaire,Vrai,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon si paramSupplementaire.eTypeAppel=DansFenetre alors +Ferme(FEN_ChoixFenetreInterne,gclPresentationListeDossier.p_clCourant) +fin +Clic sur BTN_Supprimer_liste_dossier +//SI ChargeLigneSelectionnee() ALORS +// SI OuiNon("Confirmez vous la suppression ?")=non alors +// RETOUR +// FIN +// +// +// +// clErreur est un CErreur +// +////SI PAS gclPresentationListeDossier.bSupprimer(clErreur) ALORS +//// Erreur(clErreur.FormateMessage()) +////SINON +//// // gestion de la saisie en cascade +//// // si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +//// nIndice est un entier=TableSelect(TABLE_DOSSIER) +//// +////// SI nIndice>1 _ET_ nIndice=TableOccurrence(TABLE_DOSSIER) ALORS +////// TableSelectPlus(TABLE_DOSSIER,nIndice-1) +////// FIN +////FIN +//FIN +Clic sur BTN_UNCOLLAPSE +D_LISTE_DOSSIER[2]..Visible = Vrai +BTN_COLLAPSE..Visible=Vrai +MoiMême..Visible = Faux +Sélection d'une ligne de COMBO_PERIODE_AFFICHAGE_DOSSIER +ChargementSQL() +Sélection d'une ligne de COMBO_SEUIL_AFFICHAGE_DOSSIER +06/08/2026 Isis_BO 2763 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +GR_PERIODE_AFFICHAGE_DOSSIER..Etat = DonneParametreCombo(MoiMême)="-1" ? Grisé sinon Actif +ChargementSQL() +Fin d'initialisation de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_ICONE ( CMOD_SansNom3 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_ICONE ( CMOD_SansNom3 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_ICONE ( CMOD_SansNom3 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_ICONE ( CMOD_SansNom3 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_ICONE ( CMOD_SansNom3 ) +//Exécute le traitement défini dans le modèle +06/08/2026 Isis_BO 2764 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +ExécuteAncêtre +Zoom aux doigts de IMG_ICONE ( CMOD_SansNom3 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_BLOC ( CMOD_SansNom3 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COMBO_STATUT_DOSSIER +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +Sélection d'une ligne de COMBO_STATUT_DOSSIER +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +Sortie de COMBO_TYPE_DOSSIER +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +Sélection d'une ligne de COMBO_TYPE_DOSSIER +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +A chaque modification de INT_CLIENT +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +A chaque modification de INT_NUMDOSSIER +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +A chaque modification de INT_REFEXT_DOSSIER +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +A chaque modification de INT_STATUT_DOSSIER +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +A chaque modification de INT_TITRE_DOSSIER +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +A chaque modification de INT_TYPE_DOSSIER +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +Sortie de SAI_CLIENT +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_CLIENT +06/08/2026 Isis_BO 2765 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +Sortie de SAI_NUMDOSSIER +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_NUMDOSSIER +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +Sortie de SAI_REFEXT_DOSSIER +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_REFEXT_DOSSIER +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +Sortie de SAI_TITRE_DOSSIER +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_TITRE_DOSSIER +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +Fin d'initialisation de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +06/08/2026 Isis_BO 2766 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_ICONE ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_ICONE ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_ICONE ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_ICONE ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_ICONE ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_ICONE ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_BLOC ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ouverture de la liste déroulante de COMBO_ETAT_INTERV +OuvrePopupPosition(FEN_Choix_Parametre_Metier,poHaut,*,DonneParam(DansFenetre,"FI_Listing_Intervention" +,MoiMême..Nom,maProcMAJObjetRetourListDossier,"Etat d'intervention","EtatIntervention",*,pclTabEtat, +Vrai)) +Ouverture de la liste déroulante de COMBO_SOCIETE_INTERV +OuvrePopupPosition(FEN_Choix_Societe,poHaut,*,DonneParam(DansFenetre,"FI_Liste_Dossier",MoiMême..Nom, +maProcMAJObjetRetourListDossier,"Sociétés","SuiviSociete",*,pclTabSoc,Vrai)) +Ouverture de la liste déroulante de COMBO_SUIVI_PAR +OuvrePopupPosition(FEN_Choix_Collab_Responsable,poBas,*,DonneParam(DansFenetre,"FI_Liste_Dossier", +MoiMême..Nom,maProcMAJObjetRetourListDossier,"","ListeDossierSuiviPar",Val(MoiMême..ValeurMémorisée))) +Sélection d'une ligne de COMBO_TYPE_INTERVENTION +06/08/2026 Isis_BO 2767 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +A chaque modification de INT_DATE_INTERV_DU +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +A chaque modification de INT_DESCRIPTION +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +A chaque modification de INT_DEVIS_INTERV +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +A chaque modification de INT_ETAT_INTERV +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +A chaque modification de INT_NUMINTERV +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +A chaque modification de INT_REFEXT_INTERV +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +A chaque modification de INT_SOCIETE_INTERV +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +A chaque modification de INT_SUIVI_PAR +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +A chaque modification de INT_TYPE_INTERVENTION +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +Sortie de SAI_DATE_INTERV_AU +//SI MoiMême..ValeurAffichée<>"" ALORS ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_DATE_INTERV_AU +INT_DATE_INTERV_DU=SAI_DATE_INTERV_DU..ValeurAffichée<>"" _ou_ SAI_DATE_INTERV_AU..ValeurAffichée<>"" +//MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +Sortie de SAI_DATE_INTERV_DU +//SI MoiMême..ValeurAffichée<>"" ALORS ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_DATE_INTERV_DU +INT_DATE_INTERV_DU=SAI_DATE_INTERV_DU..ValeurAffichée<>"" _ou_ SAI_DATE_INTERV_AU..ValeurAffichée<>"" +//MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +Sortie de SAI_DESCRIPTION +06/08/2026 Isis_BO 2768 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_DESCRIPTION +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +Sortie de SAI_DEVIS_INTERV +MAJCocheCritere(MoiMême) +Sortie de SAI_NUMINTERV +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_NUMINTERV +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +Sortie de SAI_REFEXT_INTERV +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_REFEXT_INTERV +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +Fin d'initialisation de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom2 +06/08/2026 Isis_BO 2769 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_ADRESSE_SITE +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +A chaque modification de INT_CODE_LIEU +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +A chaque modification de INT_CODEPOSTAL_SITE +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +A chaque modification de INT_VILLE_SITE +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +Sortie de SAI_ADRESSE_SITE +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_ADRESSE_SITE +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +Sortie de SAI_CODE_LIEU +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_CODE_LIEU +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +Sortie de SAI_CODEPOSTAL_SITE +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_CODEPOSTAL_SITE +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +Sortie de SAI_VILLE_SITE +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_VILLE_SITE +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTEDOSS,GR_PERIODE_AFFICHAGE_DOSSIER) +Sortie d'une ligne de TABLE_DOSSIER +//// si la table n'a pas été modifiée, il ne faut rien faire +//SI TABLE_DOSSIER..Modifié=Faux ALORS +// RETOUR +//FIN +06/08/2026 Isis_BO 2770 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +// +//clErr est un CErreur +//pclPresentationFiche est un PFicheDossier dynamique +// +//// ajout d'une nouvelle ligne +//SI TABLE_DOSSIER..Nouveau ALORS +// pclPresentationFiche<-gclPresentationListeDossier.Nouveau() +//// modification d'une ligne existante +//SINON +// pclPresentationFiche<-gclPresentationListeDossier.Modifier() +//FIN +// +//// sauvegarde de la table +//TableEnregistre(TABLE_DOSSIER,pclPresentationFiche) +// +//// traitement des erreurs +//si pas pclPresentationFiche.bOK(clErr) alors +// Erreur(clErr.FormateMessage()) +//FIN +// +//// repasse la table en non modifiée +//TABLE_DOSSIER..Modifié=Faux +Sélection d'une ligne de TABLE_DOSSIER +//SI TABLE_DOSSIER..Nouveau ALORS +// gclPresentationListeDossier.p_clCourant=Null +//SINON +// gclPresentationListeDossier.p_clCourant=TABLE_DOSSIER +// //trace("selection "+gclPresentation.p_clCourant:m_sRefInterne) +//FIN +// Gestion de l'accessibilité des boutons +DemandeMiseAJourIHM() +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_DOSSIER +DoubleClicLigneTableau() +Touche appuyée (WM_CHAR) de TABLE_DOSSIER +nTouche est un entier = 0x0d +// Vérifie si la touche dont le code virtuel est 0x0d a été appuyée +si ToucheEnfoncée(nTouche) _ou_ _EVE.wParam = nTouche alors +// Insérer ici le traitement à effectuer +DoubleClicLigneTableau() +fin +Affichage d'une ligne de RUPT_Haut ( TABLE_DOSSIER ) +TABLE_DOSSIER[TABLE_DOSSIER].LIB_DATEMODIF = TABLE_DOSSIER[TABLE_DOSSIER].MinDateModif +FI_Liste_Dossier +Procédures +Procédure locale ChargeLigneSelectionnee +06/08/2026 Isis_BO 2771 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Procédures +// Résumé : +// Syntaxe : +//[ = ] ChargeLigneSelectionnee () +// +// Paramètres : +// Aucun +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargeLigneSelectionnee() +si idDossier>0 alors +gclPresentationListeDossier = PTableDossier.gNouvellePresentation(5,idDossier) +fin +si gclPresentationListeDossier:p_nTotal=1 alors +gclPresentationListeDossier:p_clCourant = gclPresentationListeDossier:m_clTabModele[1] +fin +renvoyer gclPresentationListeDossier.p_clCourant<>Null +Procédure locale ChargementSQL +procédure ChargementSQL() +// vide le tableau +TableSupprimeTout(TABLE_DOSSIER) +ReqSQL est une chaîne +sCR est une chaîne +sdListeDoss est une Source de Données +nTop est un entier = Val(DonneParametreCombo(COMBO_SEUIL_AFFICHAGE_DOSSIER)) +si nTop>0 alors +ReqSQL=ChaîneConstruit("SELECT TOP %1 ",nTop) +sinon +ReqSQL="SELECT " +fin +// récupération des données +//ReqSQL est une Requête SQL = +ReqSQL+=[ +Intervention.IN_PKID +,IN_RefInterne AS RefInterneInterv +,IN_RefExterne AS RefExterneInterv +,IN_IDEtatIntervention +,IN_IDTypeIntervention +,IN_Description +,IN_IDSuiviPar +,IN_IDSociete +,IN_IDLieu +,IN_NumDevis +,DO_PKID +,DO_IDTypeDossier +,DO_IDStatut +,DO_Titre +,DO_RefInterne AS RefInterneDoss +,DO_RefExterne AS RefExterneDoss +,CL_Nom +,LI_CodeLieu +,AD_Presentation +//,CAST(CAST(SYSDATE AS DATE) AS INTEGER)-CAST(CAST(Dossier.ModifDate AS DATE) AS INTEGER) AS +NBJModifDoss +//,CAST(CAST(SYSDATE AS DATE) AS INTEGER)-CAST(CAST(Intervention.ModifDate AS DATE) AS INTEGER) AS +NBJModifInterv +06/08/2026 Isis_BO 2772 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Procédures +,CAST(GREATEST(Dossier.ModifDate,NVL(Intervention.ModifDate,'19000101')) AS DATE) AS MinDateModif +,WL.Val(WL.DuréeVersChaîne(WL.ChaîneVersDurée (WL.DateHeureDifférence ( +CAST(GREATEST(Dossier.ModifDate,NVL(Intervention.ModifDate,'19000101')) AS DATE), WL.DateHeureSys() +),'+JHHMMSSLL'),'+J')) AS NbJours +,NVL(IN_RefInterne,DO_RefInterne) AS NumRef +] +ReqSQL+=[ +FROM ( +( +( +Dossier +LEFT OUTER JOIN +Intervention +ON Dossier.DO_PKID = Intervention.IN_IDDossier +) +LEFT OUTER JOIN +Client +ON Client.CL_PKID = Dossier.DO_IDClient +) +LEFT OUTER JOIN +Lieu +ON Lieu.LI_PKID = Intervention.IN_IDLieu +) +LEFT OUTER JOIN +Adresse +ON Adresse.AD_PKID = Lieu.LI_IDAdresse +] +ReqSQL+=[ +WHERE 1=1 +] +sListeEtat est une chaîne +sListeSociete est une chaîne +si pclTabEtat<>Null _et_ pclTabEtat:p_nTotal>0 alors +pour I = 1 _à_ pclTabEtat:p_nTotal +sListeEtat +=[","]+ pclTabEtat:m_clTabModele[I]:m_nPKID +fin +sinon +sListeEtat = "" +fin +si pclTabSoc<>Null _et_ pclTabSoc:p_nTotal>0 alors +pour I = 1 _à_ pclTabSoc:p_nTotal +sListeSociete +=[","]+ pclTabSoc:m_clTabModele[i]:m_nPKID +fin +sinon +pclListeAll est un objet dynamique = PTableSociete.gNouvellePresentation(1,gpcl +FicheUtilisateurEnCours.m_nPKID) +si pclListeAll:p_nTotal>0 alors +pour I = 1 _à_ pclListeAll:p_nTotal +sListeSociete +=[","]+ pclListeAll:m_clTabModele[i]:m_nPKID +fin +sCR+=CritereHF(Vrai ,sListeSociete ,Intervention.IN_IDSociete..Nom +,tfDansListe) +fin +//sListeSociete="" +fin +sCR+=CritereHF(INT_NUMDOSSIER ,SAI_NUMDOSSIER ,Dossier.DO_RefInterne..Nom +06/08/2026 Isis_BO 2773 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Procédures +,tfFinTexte) +sCR+=CritereHF(INT_CLIENT ,SAI_CLIENT ,Client.CL_Nom..Nom +,tfMilieutexte) +sCR+=CritereHF(INT_TITRE_DOSSIER ,SAI_TITRE_DOSSIER ,Dossier.DO_Titre..Nom +,tfMilieutexte) +sCR+=CritereHF(INT_REFEXT_DOSSIER ,SAI_REFEXT_DOSSIER ,Dossier.DO_RefExterne..Nom +,tfMilieutexte) +sCR+=CritereHF(INT_TYPE_DOSSIER ,COMBO_TYPE_DOSSIER ,Dossier.DO_IDTypeDossier..Nom +,tfNumerique) +sCR+=CritereHF(INT_STATUT_DOSSIER ,COMBO_STATUT_DOSSIER,Dossier.DO_IDStatut..Nom +,tfNumerique) +si pas INT_STATUT_DOSSIER alors +sCR+="AND " + Dossier.DO_IDStatut..Nom + "<>" + gnIdDossierAnnule + " " +fin +sCR+=CritereHF(INT_NUMINTERV ,SAI_NUMINTERV ,Intervention.IN_RefInterne..Nom +,tfFinTexte) +sCR+=CritereHF(INT_SUIVI_PAR ,COMBO_SUIVI_PAR ,Intervention.IN_IDSuiviPar..Nom +,tfNumerique) +sCR+=CritereHF(INT_REFEXT_INTERV ,SAI_REFEXT_INTERV ,Intervention.IN_RefExterne..Nom +,tfMilieutexte) +sCR+=CritereHF(INT_DEVIS_INTERV ,SAI_DEVIS_INTERV ,Intervention.IN_NumDevis..Nom +,tfDebutTexte) +sCR+=CritereHF(INT_TYPE_INTERVENTION ,COMBO_TYPE_INTERVENTION,Intervention.IN_IDTypeIntervention..Nom +,tfNumerique) +sCR+=CritereHF(INT_DESCRIPTION ,SAI_DESCRIPTION ,Intervention.IN_Description..Nom +,tfMilieutexte) +sCR+=CritereHF(INT_SOCIETE_INTERV ,sListeSociete ,Intervention.IN_IDSociete..Nom +,tfDansListe)//sCR+=CritereHF(INT_SOCIETE ,COMBO_Societe +,Intervention.IN_IDSociete..Nom ,tfNumerique) +sCR+=CritereHF(INT_ETAT_INTERV ,sListeEtat ,Intervention.IN_IDEtatIntervention.. +Nom ,tfDansListe) +sCR+=CritereHF(INT_DATE_INTERV_DU ,SAI_DATE_INTERV_DU ,Intervention..Nom+"."+Intervention. +CreationDate..Nom,tfPeriodeLarge ,"",SAI_DATE_INTERV_AU) +sCR+=CritereHF(INT_CODE_LIEU ,SAI_CODE_LIEU ,Lieu.LI_CodeLieu..Nom +,tfMilieutexte) +sCR+=CritereHF(INT_ADRESSE_SITE ,SAI_ADRESSE_SITE ,Lieu.LI_IDAdresse..Nom +,tfExiste,ChaîneConstruit("SELECT 1 FROM Adresse WHERE AD_PKID=%1 %2",Lieu.LI_IDAdresse..Nom,CritereHF( +INT_ADRESSE_SITE,SAI_ADRESSE_SITE,Adresse.AD_Presentation..Nom,tfMilieutexte)))// +sCR+=CritereHF(INT_CODEPOSTAL_SITE ,SAI_CODEPOSTAL_SITE ,Lieu.LI_IDAdresse..Nom +,tfExiste,ChaîneConstruit("SELECT 1 FROM Adresse WHERE AD_PKID=%1 %2",Lieu.LI_IDAdresse..Nom,CritereHF( +INT_CODEPOSTAL_SITE,SAI_CODEPOSTAL_SITE,Adresse.AD_CodePostal..Nom,tfMilieutexte))) +//,tfDansRequete,"SELECT Adresse.AD_PKID FROM Adresse WHERE Adresse.AD_CodePostal LIKE '%" + +SAI_CODEPOSTAL_SITE + "%'") +sCR+=CritereHF(INT_VILLE_SITE ,SAI_VILLE_SITE ,Lieu.LI_IDAdresse..Nom +,tfExiste,ChaîneConstruit("SELECT 1 FROM Adresse WHERE AD_PKID=%1 %2",Lieu.LI_IDAdresse..Nom,CritereHF( +INT_VILLE_SITE,SAI_VILLE_SITE,Adresse.AD_Ville..Nom,tfMilieutexte))) +//,tfDansRequete,"SELECT Adresse.AD_PKID FROM Adresse WHERE Adresse.AD_Ville LIKE '%" + SAI_VILLE_SITE ++ "%'")//,"SELECT Immeubles.IM_ID WHERE Immeubles.IM_Ville LIKE '%" + +ch2 + "%'" +ReqSQL+=sCR +si sCR="" _et_ COMBO_PERIODE_AFFICHAGE_DOSSIER..Etat=Actif alors +ReqSQL+=[ +AND ( MinDateModif>=%1 +) +] +dDateCpt est une Date = DateSys() +dDateCpt..Jour-= Val(DonneParametreCombo(COMBO_PERIODE_AFFICHAGE_DOSSIER)) +//ParametreLit("NBJOUR_DERNIEREMODIF_DOSS_INTERV","30") +06/08/2026 Isis_BO 2774 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Procédures +ReqSQL = ChaîneConstruit(ReqSQL,DateVersChaîne(dDateCpt,"AAAAMMJJ")) +fin +ReqSQL+=[ +ORDER BY MinDateModif DESC +] +si HExécuteRequêteSQL(sdListeDoss,gcnxBO,hRequêteDéfaut+hRequêteSansCorrection,ReqSQL) alors +nCptEnreg est un entier //= HNbEnr(sdListeDoss) +pour tout sdListeDoss +nCptEnreg+=1 +si nCptEnreg=1 alors +InitTriChampTablePerso(TABLE_DOSSIER,gstListePerso) +si TableColonnesTriées(TABLE_DOSSIER)="" alors +TableTrie(TABLE_DOSSIER,TABLE_DOSSIER.NbJrsModif..Nom) +fin +fin +avec sdListeDoss +TableAjouteLigne(TABLE_DOSSIER, +.NumRef, +.IN_IDTypeIntervention, +.IN_IDEtatIntervention, +RTFVersTexte(.IN_Description), +.IN_IDSociete, +.LI_CodeLieu, +.AD_Presentation, +.CL_Nom, +.DO_Titre, +.RefExterneDoss, +.DO_IDTypeDossier, +.DO_IDStatut, +DateVersChaîne(.MinDateModif,maskDateDuréeRelative), +.NbJours, +.RefInterneDoss, +.DO_PKID, +.IN_PKID, +.IN_NumDevis) +fin +fin +LIB_Total_Liste_Dossier = nCptEnreg +sinon +LIB_Total_Liste_Dossier = 0 +fin +HLibèreRequête(sdListeDoss) +Procédure locale DoubleClicLigneTableau +// Résumé : +// Syntaxe : +// DoubleClicLigneTableau () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +06/08/2026 Isis_BO 2775 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Procédures +procédure DoubleClicLigneTableau() +si idDossier>0 alors//gclPresentationListeDossier.p_clCourant<>Null ALORS +//stParametreFenInterne.pclObjetAppelant = clFicheDossier +gclPresentationListeDossier = PTableDossier.gNouvellePresentation(5,idDossier) +si gclPresentationListeDossier:p_nTotal=1 alors +gclPresentationListeDossier:p_clCourant = gclPresentationListeDossier:m_clTabModele[1] +Sablier() +clPresentationFiche est un objet dynamique +paramDoss est STParamFenetreAppelante //= paramSupplementaire +paramDoss.eTypeAppel = DansOnglet +paramDoss.sNomIDAppelant = "DossierInterv" +paramDoss.nIdFenetreAppelante = idInterv +paramDoss.sContexteAppelant = MoiMême..Nom +paramDoss.gProcMAJRetour = maProcMAJObjetRetourListDossier +paramDoss.sTitreFenetre = "Dossier" +paramDoss.bRafraichit = Vrai +clPresentationFiche <-gclPresentationListeDossier.Modifier() +paramDoss.pclObjetAppelant = clPresentationFiche +//ouvre(FEN_ChoixFenetreInterne,"FI_Fiche_Dossier",paramDoss) +//NouvOnglet est un champ <- +OngletOuvre(fen_menu.ONG_FENETRE,"sLibelle+sCompl",FI_Fiche_Dossier)//,FEN_Menu.clPresentationF +iche,paramDoss +//NouvOnglet..Alias="FI_Fiche_Dossier"+gclPresentationListeDossier:p_clCourant:IdentifiantUniqu +e +//ExécuteTraitement("FI_Fiche_Dossier"+gclPresentationListeDossier:p_clCourant:IdentifiantUniqu +e+".InitFiche",trtProcédure, FEN_Menu.clPresentationFiche,paramDoss) +OuvreFicheOuRetourneSelection(paramSupplementaire,paramDoss,gclPresentationListeDossier,FI_ +Fiche_Dossier,FicheEnModification,DansOnglet,MaFenêtreInterne..Nom,D_LISTE_DOSSIER,TABLE_ +DOSSIER,CFI_SOUSELEMENT_LISTE_DOSSIER,GR_IMAGE_OPAQUE_LISTE_DOSSIER,GR_HAUTEUR_LISTE_DOSSIER, +GR_MODEFORMULAIRE_LISTE_DOSSIER,maProcMAJObjetRetourListDossier) +Sablier(Faux) +fin +fin +Procédure locale MAJCriterePerso +// Résumé : +// Syntaxe : +//MAJCriterePerso ( est chaîne, est objet dynamique, est objet +dynamique, est champ) +// +// Paramètres : +// sNomChamp (chaîne ANSI) : +// clListeAll (objet dynamique) : +// clListeCrit (objet dynamique) : +// champBouton (champ) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure MAJCriterePerso(local sNomChamp est une chaîne,pclListeAll est un objet dynamique< +utile>,pclListeCrit est un objet dynamique,champBouton est un Champ) +//Pour le critère Société +si sNomChamp = COMBO_SOCIETE_INTERV..Nom _et_ pclTabSoc<>Null alors +06/08/2026 Isis_BO 2776 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Procédures +pclListeAll = PTableSociete.gNouvellePresentation(1,gpclFicheUtilisateurEnCours.m_nPKID) +pclListeCrit = pclTabSoc +//champBouton <- BTN_SOCIETE_INTERV +//Pour le critère état intervention +sinon si sNomChamp = COMBO_ETAT_INTERV..Nom_et_ pclTabEtat<>Null alors +pclListeAll = gpclListeEtatIntervention +pclListeCrit = pclTabEtat +//champBouton <- BTN_ETAT_INTERVENTION +fin +Procédure locale MAJObjetRetourFI +// Résumé : +// Syntaxe : +//[ = ] MAJObjetRetourFI ([...]) +// +// Paramètres : +// <*> : > +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sContexte (chaîne ANSI) : +// pclObjet (objet dynamique) : +procédure MAJObjetRetourFI(*)//LOCAL sContexte est une chaîne, pclObjet est un objet dynamique +bResultat est un booléen=Vrai +nMode est un entier +sNomChamp est une chaîne +pclObjet est un objet dynamique +bReorga est un booléen=Vrai +bBloc est un booléen +si MesParamètres..Occurrence>0 alors +nMode = MesParamètres[1] +fin +selon nMode +cas 1 : +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 2 +bReorga = Faux +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 3 +bReorga = Faux +bBloc = Vrai +fin +si bReorga alors//Gestion de l'affichage pour oublier le champ Fenêtre Interne +ReorganiseChampDispoDansListe(D_LISTE_DOSSIER,TABLE_DOSSIER,CFI_SOUSELEMENT_LISTE_DOSSIER,GR_ +IMAGE_OPAQUE_LISTE_DOSSIER,GR_HAUTEUR_LISTE_DOSSIER,GR_MODEFORMULAIRE_LISTE_DOSSIER,Faux,*,4,5,6,*) +GestionBoutonsEnteteDansListe(GR_MODIFICATION_LISTE_DOSSIER,BTN_Nouveau_liste_dossier,BTN_ +SelectLigne_liste_dossier,gclPresentationListeDossier,paramSupplementaire) +fin +//sNomChampPrec est une chaine = ExtraitChaîne(sContexte,2,TAB) +si pclObjet<>Null alors +//*******************************MISE A JOUR DE +L'OBJET********************************************************* +06/08/2026 Isis_BO 2777 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Procédures +selon sNomChamp +cas BTN_Modifier_liste_dossier..Nom,BTN_Nouveau_liste_dossier..Nom : +DemandeMiseAJourIHM() +cas COMBO_SUIVI_PAR..Nom : +COMBO_SUIVI_PAR = pclObjet:m_nPKID +ListeAffiche(COMBO_SUIVI_PAR,taCourantBandeau) +INT_SUIVI_PAR[1] = COMBO_SUIVI_PAR..ValeurAffichée<>"" +// CAS BTN_SOCIETE_INTERV..Nom : +// BTN_SOCIETE_INTERV..Libellé="" +// BTN_SOCIETE_INTERV..Bulle="" +// TableauSupprimeTout(pclTabSoc:m_clTabModele) +// POUR i = 1 _A_ pclObjet:p_nTotal +// SI pclObjet.m_clTabModele[i].m_bSelection ALORS +// +//BTN_SOCIETE_INTERV..Libellé += BTN_SOCIETE_INTERV..Libellé="" ? +Gauche(pclObjet:m_clTabModele[i]:m_sNom,3) SINON ";"+Gauche(pclObjet:m_clTabModele[i]:m_sNom,3) +// +//BTN_SOCIETE_INTERV..Bulle += BTN_SOCIETE_INTERV..Bulle="" ? pclObjet:m_clTabModele[i]:m_sNom SINON +RC+pclObjet:m_clTabModele[i]:m_sNom +// MAJBoutonMultiCritere(BTN_SOCIETE_INTERV,pclObjet:m_clTabModele[i]:m_sNom) +// pclTabSoc.Ajouter(pclObjet:m_clTabModele[i]) +// pclObjet.m_clTabModele[i].m_bSelection = Faux +// FIN +// FIN +// INT_SOCIETE_INTERV[1] = pclTabSoc:p_nTotal>0 +// CAS BTN_ETAT_INTERVENTION..Nom : +// BTN_ETAT_INTERVENTION..Libellé="" +// BTN_ETAT_INTERVENTION..Bulle="" +// TableauSupprimeTout(pclTabEtat:m_clTabModele) +// POUR i = 1 _A_ pclObjet:p_nTotal +// SI pclObjet.m_clTabModele[i].m_bSelection ALORS +// +//BTN_ETAT_INTERVENTION..Libellé += BTN_ETAT_INTERVENTION..Libellé="" ? +Gauche(pclObjet:m_clTabModele[i]:m_sLibelle,3) SINON ";"+Gauche(pclObjet:m_clTabModele[i]:m_sLibelle,3) +// +//BTN_ETAT_INTERVENTION..Bulle += BTN_ETAT_INTERVENTION..Bulle="" ? +pclObjet:m_clTabModele[i]:m_sLibelle SINON RC+pclObjet:m_clTabModele[i]:m_sLibelle +// MAJBoutonMultiCritere(BTN_ETAT_INTERVENTION,pclObjet:m_clTabModele[i]:m_sLibelle) +// pclTabEtat.Ajouter(pclObjet:m_clTabModele[i]) +// pclObjet.m_clTabModele[i].m_bSelection = Faux +// FIN +// FIN +// INT_ETAT_INTERVENTION[1] = pclTabEtat:p_nTotal>0 +cas COMBO_SOCIETE_INTERV..Nom : MAJComboMultiLigne(pclObjet,pclTabSoc,COMBO_SOCIETE_INTERV) +// sListe est une chaine = "" +// COMBO_SOCIETE_INTERV..Bulle="" +// TableauSupprimeTout(pclTabSoc:m_clTabModele) +// POUR i = 1 _A_ pclObjet:p_nTotal +// SI pclObjet.m_clTabModele[i].m_bSelection ALORS +// +sListe += sListe="" ? Gauche(pclObjet:m_clTabModele[i]:m_sNom,3) SINON +";"+Gauche(pclObjet:m_clTabModele[i]:m_sNom,3) +// +COMBO_SOCIETE_INTERV..Bulle += COMBO_SOCIETE_INTERV..Bulle="" ? pclObjet:m_clTabModele[i]:m_sNom SINON +RC+pclObjet:m_clTabModele[i]:m_sNom +// pclTabSoc.Ajouter(pclObjet:m_clTabModele[i]) +// pclObjet.m_clTabModele[i].m_bSelection = Faux +// FIN +06/08/2026 Isis_BO 2778 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Procédures +// FIN +// ListeSupprimeTout(COMBO_SOCIETE_INTERV) +// ListeAjoute(COMBO_SOCIETE_INTERV,sListe) +// ListeSelectPlus(COMBO_SOCIETE_INTERV,1) +// INT_SOCIETE_INTERV[1] = pclTabSoc:p_nTotal>0 +cas COMBO_ETAT_INTERV..Nom : MAJComboMultiLigne(pclObjet,pclTabEtat,COMBO_ETAT_INTERV) +autre cas +fin +fin +renvoyer bResultat +Procédure locale OuvreFicheDossier +// Résumé : +// Syntaxe : +// OuvreFicheDossier () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure OuvreFicheDossier() +si gclPresentationListeDossier.p_clCourant<>Null alors +clPresentationFiche est un PFicheDossier<-gclPresentationListeDossier.Modifier() +FEN_Menu.OuvreOuActive(FI_Fiche_Dossier,"Fiche dossier",*,clPresentationFiche) +fin +Procédure locale RefreshObjetPresentation +// Résumé : +// Syntaxe : +//RefreshObjetPresentation ( est objet dynamique, est booléen) +// +// Paramètres : +// pclObjet (objet dynamique) : +// bFinRecherche (booléen) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RefreshObjetPresentation(pclObjet est un objet dynamique,local bFinRecherche est un booléen) +si pclObjet<>Null alors +clPresention est un PTableDossier(pclObjet) +TableSauvePositionEtSélection(TABLE_DOSSIER) +// récupération de l'instance courante +nIndice est un entier=TableSelect(TABLE_DOSSIER) +gclPresentationListeDossier = clPresention +SourceVersEcran("","gclPresentationListeDossier") +06/08/2026 Isis_BO 2779 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Procédures +TableAffiche(TABLE_DOSSIER,taInit) +TableRestaurePositionEtSélection(TABLE_DOSSIER) +// récupération de l'instance courante +//nIndice =TableSelect(TABLE) +si nIndice<=0 _ou_ TABLE_DOSSIER..Nouveau alors +gclPresentationListeDossier.p_bMajCourantSansIHM=Vrai +gclPresentationListeDossier.p_clCourant=Null +gclPresentationListeDossier.p_bMajCourantSansIHM=Faux +sinon +gclPresentationListeDossier.p_bMajCourantSansIHM=Vrai +gclPresentationListeDossier.p_clCourant=TABLE_DOSSIER[nIndice] +gclPresentationListeDossier.p_bMajCourantSansIHM=Faux +fin +fin +si bFinRecherche alors +//ThreadSuspend(gclPresentation:p_sNomThreadListeGlobale) +fin +Procédure locale TriColonne +// Procédure callback appelée à chaque clic sur entête de colonne de "Table1" pour trier la colonne +// wEve [in]: Numéro du message Windows +// wParam [in] : Numéro de la colonne a trier +// lParam [in]: Ordre du tri 5 (1 : Croissant, 0 : décroissant) +// Renvoyer 0 pour ne pas effectuer le tri demandé +procédure TriColonne(wEve,wParam,lParam) +sSens est une chaîne="" +si wParam<>0 alors//N° de colonne sur laquelle le clic est effectué +//Détection du sens du tri +si pas lParam alors sSens="-" +//Trier sur la colonne +TableTrie(TABLE_DOSSIER,sSens+TableEnumèreColonne(TABLE_DOSSIER,wParam),"+COL_PKID") +//Traitement à effectuer "Après chaque tri" +TrieObjetChampTableSiBesoin(gclPresentationListeDossier,TABLE_DOSSIER,gsTriEnCoursDossier) +renvoyer 0 +fin +06/08/2026 Isis_BO 2780 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Image +FI_Fiche_Lieu +Image +FI_Fiche_Lieu +Informations générales +FI_Fiche_Lieu +06/08/2026 Isis_BO 2781 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations générales +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Fiche_Lieu.wdw +| Créé par | | XVA | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 01/10/2018 16:54:32 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 20/05/2025 13:49:26 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 782 Hauteur | 772 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ------- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| 06/08/2026 | | | Isis_BO | | 2782 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations générales +| 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 | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | +Statistiques de la fenêtre +| | Champ de saisie | | 12 | Libellé | | 14 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | +| | Bouton | | 14 | Interrupteur | | 3 | +| | Image | | 12 | Table | | 3 | +| | Combo | | 1 | Forme | | 2 | +| | Fenêtre interne | | 1 | Fenêtre interne | | 1 | +| | Option d'interrupteur | | 3 | Colonne de table | | 21 | +| | Disposition | | 14 | Cellule de disposition | | 49 | +Nombre d'éléments dans la fenêtre : 150 +FI_Fiche_Lieu +Informations sur les champs +Fenêtre : FI_Fiche_Lieu +Fenêtre interne +laitini tatE BAT ehcuoT +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | +| --- | --- | --- | ------- | ------- | --- | --- | +elbisiV +nalP +| FI_Fiche_Lieu | | 0 | 0 782 | 772 | 0 | | +| ------------- | --- | --- | ------- | --- | --- | ---- | +| 06/08/2026 | | | Isis_BO | | | 2783 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Fenêtre interne : FI_Fiche_Lieu +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_CodeAcces | 6 | 81 271 63 | 0 Actif | Texte | | Non | | | +| ------------------- | ------ | --------- | ------- | ----- | --- | --- | --- | --- | +| SAI_CodeContact | 5 | 31 197 26 | 0 Actif | Texte | | Non | | | +| SAI_CodeLieu | 8 | 20 275 22 | 0 Actif | Texte | | Non | | | +| SAI_Note | 6 146 | 271 71 | 0 Actif | Texte | | Non | | | +| SAI_RaisonBlocage | 6 | 4 271 53 | 0 Actif | Texte | | Non | | | +| SAI_sCodePostal | 8 177 | 68 22 | 0 Actif | Texte | | Non | | | +| SAI_sLigneAdresse_1 | 8 155 | 275 22 | 0 Actif | Texte | | Non | | | +| SAI_sLigneAdresse_2 | 8 111 | 275 22 | 0 Actif | Texte | | Non | | | +| SAI_sLigneAdresse_3 | 8 133 | 275 22 | 0 Actif | Texte | | Non | | | +| SAI_sLigneAdresse_4 | 8 | 67 275 22 | 0 Actif | Texte | | Non | | | +| SAI_sLigneAdresse_5 | 8 | 89 275 22 | 0 Actif | Texte | | Non | | | +| SAI_sVille | 82 177 | 201 22 | 0 Actif | Texte | | Non | | | +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| LIB_CARACTERISTIQUES | | 0 8 | 100 | 14 | 0 | Actif Gauche | Haut | | +| ---------------------------- | --- | ---- | --- | --- | --- | ------------ | ---- | --- | +| LIB_CLIENT | | 0 8 | 100 | 14 | 0 | Actif Gauche | Haut | | +| LIB_CLIENT | | 0 8 | 100 | 14 | 0 | Actif Gauche | Haut | | +| LIB_CODELIEU | | 6 6 | 200 | 14 | 0 | Actif Gauche | Haut | | +| LIB_CODE_ACCES | | 6 67 | 105 | 14 | 0 | Actif Gauche | Haut | | +| LIB_CONTACT | | 0 6 | 55 | 19 | 0 | Actif Gauche | Haut | | +| LIB_LIGNE_ADRESSE | | 6 48 | 200 | 14 | 0 | Actif Gauche | Haut | | +| LIB_ResultatRechercheContact | | 5 9 | 234 | 20 | 0 | Actif Gauche | Haut | | +| LIB_SITE | | 0 8 | 100 | 14 | 0 | Actif Gauche | Haut | | +| LIB_TRUC | | 4 4 | 24 | 24 | 0 | Actif Gauche | Haut | | +| LIB_TYPELIEU | | 6 6 | 157 | 14 | 0 | Actif Gauche | Haut | | +LIB_Titre_de_fenêtre_Fiche_Lieu 6 6 39 21 0 Actif Gauche Centre +| LIB_Total_Fiche_Lieu | | 350 -31 | 36 | 14 | 0 | Actif Gauche | Haut | | +| -------------------------- | --- | ------- | --- | ------- | --- | ------------ | ---- | ---- | +| LIB_Total_Titre_Fiche_Lieu | | 306 -31 | 40 | 14 | 0 | Actif Gauche | Haut | | +| 06/08/2026 | | | | Isis_BO | | | | 2784 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Bouton +notuob epyT +| | | | | laitini tatE BAT ehcuoT | | +| --- | --------------------- | --------------- | --- | ----------------------- | --- | +| | X noitisoP Y noitisoP | | | | | +| | | ruegraL ruetuaH | | | | +elbisiV +nalP +| BTN_ADD_DOSSIER | 151 | 3 24 | 24 0 | Actif | Normal | +| --------------------------------- | ------- | ----- | ---- | ----- | ------- | +| BTN_CADENAS_FERME_LIEU | 4 | 4 24 | 24 0 | Actif | Normal | +| BTN_CADENAS_OUVERT_LIEU | 4 | 4 24 | 24 0 | Actif | Normal | +| BTN_Cherche_Personne | 3 | 3 24 | 24 0 | Actif | Normal | +| BTN_Fermer_Fiche_Lieu | 4 | 4 24 | 24 0 | Actif | Abandon | +| BTN_LigneSuivanteContact | 208 | 31 30 | 26 0 | Actif | Normal | +| BTN_MODIF_DOSSIER | 179 | 3 24 | 24 0 | Grisé | Normal | +| BTN_Modifier_Contact_Fiche_Lieu | 3 | 33 24 | 24 0 | Actif | Normal | +| BTN_Nouveau_Contact_compact_Fiche | 36 | 3 24 | 24 0 | Actif | Normal | +| BTN_Nouveau_Fiche_Lieu | 162 -51 | 24 | 24 0 | Actif | Normal | +| BTN_Supprimer_Contact_Fiche_Lieu | 36 | 34 24 | 24 0 | Actif | Normal | +| BTN_Supprimer_Fiche_Lieu | 4 | 4 24 | 24 0 | Actif | Normal | +| BTN_Valider_Fiche_Lieu | 4 | 4 24 | 24 0 | Actif | Normal | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | BAT ehcuoT | staté siorT | +| --- | --------------------- | --- | --- | ------------ | ----------- | +| | X noitisoP Y noitisoP | | | laitini tatE | | +ruegraL ruetuaH +elbisiV +nalP +| INT_Badge_Fiche_Lieu | 99 45 | 87 16 | 0 Actif | | 1 | +| ------------------------- | ----- | ----- | ------- | --- | --- | +| INT_Blocage | 6 226 | 87 16 | 0 Actif | | 1 | +| INT_Interphone_Fiche_Lieu | 6 45 | 87 16 | 0 Actif | | 1 | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | sucof cevA | +| --- | --------------------- | ------- | ------- | ------------ | ---------- | +| | | ruetuaH | | cilc cevA | | +| | | ruegraL | elbisiV | | | +nalP +| IMG_Bloque | -437 94 | 20 20 | 0 | Actif | | +| -------------------------------- | ------- | ------- | --- | ----- | --- | +| IMG_BloqueSite | 19 5 | 26 22 | 0 | Actif | | +| IMG_ICONE_ | 4 7 | 16 16 | 0 | Actif | | +| IMG_ICONE_CARACTERISTIQUES | 4 7 | 16 16 | 0 | Actif | | +| IMG_ICONE_CARACTERISTIQUES | 4 7 | 16 16 | 0 | Actif | | +| IMG_ICONE_CARACTERISTIQUES | 4 7 | 16 16 | 0 | Actif | | +| IMG_ICONE_DOSSIER | 4 7 | 16 16 | 0 | Actif | | +| IMG_NonBloque | -436 68 | 20 20 | 0 | Actif | | +| IMG_OPACITE_CORPS_LIEU_Fiche_Lie | 0 0 | 782 748 | 0 | Actif | | +IMG_OPACITE_ENTETE_CONTACT_Fic +| | 826 -6 | 476 33 | 0 | Actif | | +| ----------------------------- | ------ | ------- | --- | ----- | ---- | +| IMG_OPACITE_ENTETE_Fiche_Lieu | 0 0 | 782 33 | 0 | Actif | | +| IMG_OPACITE_TABLE_Fiche_Lieu | 825 69 | 476 358 | 0 | Actif | | +| 06/08/2026 | | Isis_BO | | | 2785 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +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 | | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | | +ruegraL +elbisiV +| | | | nalP | | elbaT | | | | | | +| -------------------- | ------- | --- | ---- | -------- | -------- | --- | --- | --- | --- | --- | +| TABLE_CLIENT | 1 0 287 | 100 | 0 | Actif | Variable | | | | | 2 | +| TABLE_Dossier | 0 2 476 | 281 | 0 | affichag | Variable | | | | | 3 | +| TABLE_ListeContact_F | 0 5 476 | 318 | 0 | Actif | Variable | | | | | 2 | +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 | | | | | sruocraP | | | | | +ruegraL ruetuaH +elbisiV +| | | | | | | elbaT | eéirT | | | | +| --- | --- | --- | --- | --- | --- | ----- | ----- | --- | --- | --- | +nalP +| COMBO_Type_Lieu | 6 20 | 271 | 22 | 0 | Actif | Variable | | Non | | | +| --------------- | ---- | --- | --- | --- | ----- | -------- | --- | --- | --- | --- | +Forme +BAT ehcuoT +| | | | X noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| FRM_BANDEAU_BAS_CONTACT_SITE | | | 306 | -31 | 476 | 14 | 0 | | Actif | | +| ---------------------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| FRM_CADRE_CARACTERISTIQUES | | | 0 | 0 | 287 | 204 | 0 | | Actif | | +Fenêtre interne +| | | | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | ---------- | +| | | | X noitisoP | Y noitisoP | | | | | | | +| | | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| CFI_SOUSELEMENT_LIEU_Fiche_Lieu | | | 224 | -56 | 69 | 35 | 0 | | Actif | | +| ------------------------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Disposition +BAT ehcuoT +| | | | X noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| DISP_BANDEAU_ENTETE_Fiche_Lieu | | | 0 | 0 | 782 | 33 | 0 | | Actif | | +| ------------------------------ | --- | --- | --- | ------- | --- | --- | --- | --- | ----- | ---- | +| DISP_CARACTERISTIQUE | | | 6 | 0 | 287 | 242 | 0 | | Actif | | +| DISP_CARACTERISTIQUE1 | | | 6 | 242 | 287 | 344 | 0 | | Actif | | +| DISP_CLIENT | | | 6 | 592 | 287 | 149 | 0 | | Actif | | +| DISP_COL | | | 0 | 0 | 782 | 742 | 0 | | Actif | | +| DISP_CONTACT_Fiche_Lieu | | | 0 | 0 | 476 | 375 | 0 | | Actif | | +| DISP_DOSSIER | | | 0 | 1 | 476 | 321 | 0 | | Actif | | +| DISP_ENTETE | | | 0 | 0 | 476 | 68 | 0 | | Actif | | +| 06/08/2026 | | | | Isis_BO | | | | | | 2786 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| DISP_ENTETE_CARACTERISTIQUES | | 0 | 0 | 287 | 32 | 0 | Actif | | +| ---------------------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +| DISP_ENTETE_CLIENT | | 0 | 0 | 287 | 32 | 0 | Actif | | +| DISP_ENTETE_COORDONNEES | | 0 | 0 | 287 | 32 | 0 | Actif | | +| DISP_ENTETE_DOSSIER | | 0 | 0 | 476 | 32 | 0 | Actif | | +| DISP_FICHE_Lieu | | 0 | 0 | 782 | 781 | 0 | Actif | | +| DISP_SansNom1 | | 0 | 0 | 483 | 741 | 0 | Actif | | +Table : FI_Fiche_Lieu.DISP_FICHE_Lieu.DISP_COL.DISP_CLIENT.TABLE_CLIENT +Bouton +notuob epyT +| | | | | | | laitini tatE | BAT ehcuoT | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | ---------- | --- | +| | | X noitisoP Y noitisoP | | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| BTN_CLIENT_PRINCIPAL | | 3 1 | 16 | | 16 0 | Actif | | Normal | +| -------------------- | --- | --- | --- | --- | ---- | ----- | --- | ------ | +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | elbairt ennoloC ehcrehcer cevA | | | | | +| --- | --- | --- | --- | ------------------------------ | --- | --- | --- | --- | +ehcuag à eéxiF +| | | | | | .zroh egardaC .trev egardaC | | | | +| --- | --- | ------------ | ---------- | --- | --------------------------- | ----------- | ---------- | ----------- | +| | | | elbaçalpéD | | | | FTR tamroF | | +| | | laitini tatE | | | | eisias epyT | engilitluM | eisias cevA | +ruegraL +elbisiV +| epyT | | | | | | | | eéirT | +| -------------------- | --- | -------- | --- | --- | ------------- | ----- | --- | ----- | +| COL_CLIENT_PRINCIPAL | 32 | Actif | | | Gauche Centre | | | | +| COL_sNom | 140 | affichag | | | Gauche Centre | Texte | | | +| COL_nIDType | 100 | affichag | | | Gauche Centre | Texte | | | +Table : +FI_Fiche_Lieu.DISP_FICHE_Lieu.DISP_COL.DISP_SansNom1.DISP_DOSSIER.TABLE_Dossie +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_RefInterne | 91 | affichag | | | Gauche Centre | Texte | | | +| COL_DateDossier | 125 | affichag | | | Droite Centre | Date | | | +| COL_IDTypeDossier | 80 | affichag | | | Gauche Centre | Texte | | | +| COL_Titre | 321 | affichag | | | Gauche Centre | Texte | | | +| COL_RefExterne | 72 | affichag | | | Gauche Centre | Texte | | | +| 06/08/2026 | | | Isis_BO | | | | | 2787 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +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_Statut | 72 | affichag | | Gauche Centre | Texte | | +| COL_PKID | 100 | affichag | | Droite Centre | Numériq | | +Table : +FI_Fiche_Lieu.DISP_FICHE_Lieu.DISP_COL.DISP_SansNom1.DISP_CONTACT_Fiche_Lieu.T +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_PKID | 162 | Actif | | Droite Centre | Numériq | | +| COL_NLIP_Nom | 87 | affichag | | Gauche Centre | Texte | | +| COL_Prenom | 81 | affichag | | Gauche Centre | Texte | | +| COL_NLIP_IDLieu | 271 | Actif | | Droite Centre | Numériq | | +| COL_NLIP_IDRole | 80 | affichag | | Gauche Centre | Texte | | +| COL_NumTel | 74 | affichag | | Gauche Centre | Texte | | +| COL_Portable | 79 | affichag | | Gauche Centre | Texte | | +| COL_Email | 103 | affichag | | Gauche Centre | Texte | | +| COL_Etage | 47 | Actif | | Gauche Centre | Texte | | +| COL_Lot | 67 | Actif | | Gauche Centre | Texte | | +| COL_NomPrenom | 100 | Grisé | | Gauche Centre | Texte | | +Fenêtre : FI_Fiche_Lieu +Fenêtre interne : FI_Fiche_Lieu +| UI par l'utilisateur | Selon fenêtre | | | | | | +| ------------------------- | ---------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Compatible desktop ET mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | 0 | | | | | | +| -------------------------- | --- | --- | ------- | --- | --- | ---- | +| 06/08/2026 | | | Isis_BO | | | 2788 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Fiche_Lieu +Bouton : +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Ajouter un dossier +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +06/08/2026 Isis_BO 2789 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe ,GR_MODEOPAQUE_FICHE_DOSSIER +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_Cadenas_Fermer_rouge.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2790 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Bouton : +Groupe ,GR_MODEOPAQUE_FICHE_DOSSIER +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_Cadenas.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2791 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_chercher.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2792 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Bouton : +Groupe GR_MODEFORMULAIRE_Fiche_Lieu +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2793 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Bouton : +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_A_Droite.png +Nb. états image 5 +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2794 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Bouton : +Groupe GR_EDITDOSSIER_FICHE_CLIENT,GR_CADENAS_LIEU +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Modifier le dossier +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2795 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Bouton : +Groupe GR_MODIFICATION_Fiche_Lieu,GR_MODEFORMULAIRE_Fiche_Lieu +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2796 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Bouton : +Groupe GR_MODEFORMULAIRE_Fiche_Lieu +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2797 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Bouton : FI_Fiche_Lieu.BTN_Nouveau_Fiche_Lieu +Groupe GR_MODEFORMULAIRE_Fiche_Lieu +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2798 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Bouton : +Groupe GR_MODEFORMULAIRE_Fiche_Lieu,GR_CADENAS_LIEU +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2799 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Bouton : +Groupe GR_MODEFORMULAIRE_Fiche_Lieu,GR_CADENAS_LIEU +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2800 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Bouton : +Groupe GR_MODEFORMULAIRE_Fiche_Lieu,GR_CADENAS_LIEU +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2801 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Fenêtre interne : FI_Fiche_Lieu.CFI_SOUSELEMENT_LIEU_Fiche_Lieu +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 +Ancrage au contenu +Numéro aide 0 +Ascenseur auto. 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 +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : +Libellé FR: Type +Valeur initiale 0 +Groupe GR_CADENAS_LIEU +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 271 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +06/08/2026 Isis_BO 2802 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Position X interne 12 +Largeur interne 271 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Type de site +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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 Oui +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. +Avec recherche Non +Liaison des données :gclPresentationFicheLieu.m_nIDType +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeLieu.m_clTabModele +Filtre 08 +Rub. affichée :gpclListeTypeLieu.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeTypeLieu.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2803 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Disposition : FI_Fiche_Lieu.DISP_FICHE_Lieu.DISP_BANDEAU_ENTETE_Fiche_Lieu +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Lieu.DISP_FICHE_Lieu.DISP_COL.DISP_CARACTERISTIQUE +Libellé FR: Disposition +Ordre navigation 8 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +06/08/2026 Isis_BO 2804 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Lieu.DISP_FICHE_Lieu.DISP_COL.DISP_CARACTERISTIQUE1 +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Lieu.DISP_FICHE_Lieu.DISP_COL.DISP_CLIENT +Libellé FR: Disposition +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 +Cellule ancrée 3 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +06/08/2026 Isis_BO 2805 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Hauteur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Lieu.DISP_FICHE_Lieu.DISP_COL +Libellé FR: Disposition +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 +Cellule ancrée 2 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +Ordre navigation 10 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cellule ancrée 3 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 2806 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Facteur d'agrandissement 0 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Lieu.DISP_FICHE_Lieu.DISP_COL.DISP_SansNom1.DISP_DOSSIER +Libellé FR: Disposition +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 +Cellule ancrée 2 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +Ordre navigation 11 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cellule ancrée 4 +Numéro aide 0 +06/08/2026 Isis_BO 2807 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +Ordre navigation 11 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2808 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Disposition : +Libellé FR: Disposition +Ordre navigation 11 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +Ordre navigation 11 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +06/08/2026 Isis_BO 2809 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +Ordre navigation 11 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Lieu.DISP_FICHE_Lieu +Libellé FR: Disposition +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 +Cellule ancrée 2 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +06/08/2026 Isis_BO 2810 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Lieu.DISP_FICHE_Lieu.DISP_COL.DISP_SansNom1 +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Fiche_Lieu.FRM_BANDEAU_BAS_CONTACT_SITE +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +06/08/2026 Isis_BO 2811 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Fiche_Lieu.IMG_Bloque +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\candado.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +06/08/2026 Isis_BO 2812 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2813 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_CONTACTSITE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_gestion.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Ascenseur et zoom auto. Non +06/08/2026 Isis_BO 2814 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_COORDONNEE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +06/08/2026 Isis_BO 2815 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_CLIENT.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_dossier.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +06/08/2026 Isis_BO 2816 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Fiche_Lieu.IMG_NonBloque +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\candado-abierto.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +06/08/2026 Isis_BO 2817 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Fiche_Lieu.DISP_FICHE_Lieu.IMG_OPACITE_CORPS_LIEU_Fiche_Lieu +Groupe GR_IMAGE_OPAQUE_Fiche_Lieu +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 50 +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. +Mire visible Non +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF 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 +06/08/2026 Isis_BO 2818 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Image : FI_Fiche_Lieu.IMG_OPACITE_ENTETE_CONTACT_Fiche_Lieu +Groupe GR_IMAGE_OPAQUE_Fiche_Lieu +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 50 +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. +Mire visible Non +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF 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 +Image : FI_Fiche_Lieu.DISP_FICHE_Lieu.IMG_OPACITE_ENTETE_Fiche_Lieu +Groupe GR_IMAGE_OPAQUE_Fiche_Lieu +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 50 +Ascenseur et zoom auto. Non +06/08/2026 Isis_BO 2819 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +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. +Mire visible Non +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Fiche_Lieu.IMG_OPACITE_TABLE_Fiche_Lieu +Groupe GR_IMAGE_OPAQUE_Fiche_Lieu,GR_HAUTEUR_Fiche_Lieu +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 50 +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. +Mire visible Non +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur et hauteur +06/08/2026 Isis_BO 2820 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : +Libellé FR: Badge +Valeur initiale 0 +Groupe GR_CADENAS_LIEU +Ordre navigation 12 +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 +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 Toute la hauteur de l'option +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. +Liaison des données :gclPresentationFicheLieu.m_bBadge +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2821 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Interrupteur : +Libellé FR: Blocage +Valeur initiale 0 +Groupe GR_CADENAS_LIEU +Ordre navigation 3 +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 +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 Toute la hauteur de l'option +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. +Liaison des données :gclPresentationFicheLieu.m_bBlocage +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2822 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Interrupteur : +Libellé FR: Badge +Valeur initiale 0 +Groupe GR_CADENAS_LIEU +Ordre navigation 13 +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 +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 Toute la hauteur de l'option +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. +Liaison des données :gclPresentationFicheLieu.m_bInterphone +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2823 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Libellé : +Libellé FR: Caractéristiques +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Dossiers +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 +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 +06/08/2026 Isis_BO 2824 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Clients +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2825 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Libellé : +Libellé FR: Nom du site +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Code d'accès +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 +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 +06/08/2026 Isis_BO 2826 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Contacts +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2827 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Libellé : +Libellé FR: Ligne d'adresse +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +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 +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 +06/08/2026 Isis_BO 2828 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Coordonnées +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2829 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Libellé : FI_Fiche_Lieu.DISP_FICHE_Lieu.DISP_BANDEAU_ENTETE_Fiche_Lieu.LIB_TRUC +Libellé FR: +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Type de lieu +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 +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 +06/08/2026 Isis_BO 2830 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Titre +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2831 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Libellé : FI_Fiche_Lieu.LIB_Total_Fiche_Lieu +Libellé FR: 000 +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 +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 +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 +Liaison des données :gclPresentationFicheLieu.ListeContact.p_nTotal +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Lieu.LIB_Total_Titre_Fiche_Lieu +Libellé FR: Total : +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Isis_BO 2832 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Champ de saisie : +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 12 +Largeur interne 271 +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 +06/08/2026 Isis_BO 2833 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +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. +Liaison des données :gclPresentationFicheLieu.m_sCodeAcces +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2834 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Champ de saisie : +Groupe GR_CADENAS_LIEU +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 401 +Largeur interne 197 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2835 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › 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. +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 +Champ de saisie : +Libellé FR: Nom +Groupe GR_CADENAS_LIEU +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 14 +Largeur interne 275 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Nom du site +Numéro aide 0 +Texte d'indication si vide FR: Nom du site +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 2836 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Format HTML 0 +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 50 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFicheLieu.m_sCodeLieu +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 +06/08/2026 Isis_BO 2837 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Note +Groupe GR_CADENAS_LIEU +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 12 +Largeur interne 271 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Note sur le site +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 250 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2838 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › 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. +Liaison des données :gclPresentationFicheLieu.m_sNote +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 Hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Raison du blocage +Groupe GR_CADENAS_LIEU +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 12 +06/08/2026 Isis_BO 2839 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Largeur interne 271 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Note sur le site +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 250 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFicheLieu.m_sRaisonBlocage +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 +06/08/2026 Isis_BO 2840 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Code Postal +Groupe GR_CADENAS_LIEU +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 14 +Largeur interne 68 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 15 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2841 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +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 Jamais +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFicheLieu.m_clAdresse.m_sCodePostal +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Isis_BO 2842 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 14 +Largeur interne 275 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 Jamais +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFicheLieu.m_clAdresse.m_sLigne_1 +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 2843 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_CADENAS_LIEU +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 14 +Largeur interne 275 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2844 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +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 Jamais +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFicheLieu.m_clAdresse.m_sLigne_2 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_CADENAS_LIEU +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +06/08/2026 Isis_BO 2845 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 14 +Largeur interne 275 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 Jamais +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFicheLieu.m_clAdresse.m_sLigne_3 +Gestion Euro Non +06/08/2026 Isis_BO 2846 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Ligne d'adresse +Groupe GR_CADENAS_LIEU +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 14 +Largeur interne 275 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +Lien automatique Non +Verifier l'orthographe Non +06/08/2026 Isis_BO 2847 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › 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 +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 Jamais +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFicheLieu.m_clAdresse.m_sLigne_4 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2848 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Champ de saisie : +Groupe GR_CADENAS_LIEU +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 14 +Largeur interne 275 +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 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2849 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › 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. +Liaison des données :gclPresentationFicheLieu.m_clAdresse.m_sLigne_5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Ville +Groupe GR_CADENAS_LIEU +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 89 +Largeur interne 200 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +06/08/2026 Isis_BO 2850 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 45 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFicheLieu.m_clAdresse.m_sVille +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2851 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Table : FI_Fiche_Lieu.DISP_FICHE_Lieu.DISP_COL.DISP_CLIENT.TABLE_CLIENT +Libellé FR: Table m_clTabModele +Groupe GR_CADENAS_LIEU +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre +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) 16 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 2852 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationFicheLieu.ListeClient.m_clTabModele +Rub. mémorisée :gclPresentationFicheLieu.ListeClient.m_clTabModele +Ajout/Suppr. dans variable Non +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 : +Groupe GR_CADENAS_LIEU +Ordre navigation -1 +Curseur survol 0 +Mode Loupe Filtre +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 0 +Marge en bas 0 +Marge à gauche 1 +Marge à droite 3 +Sens Vertical +Retrait gauche 2 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 2853 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +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 500 +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 +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationFicheLieu.ListeDossier.m_clTabModele +Rub. mémorisée :gclPresentationFicheLieu.ListeDossier.m_clTabModele +Ajout/Suppr. dans variable Non +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 : +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Recherche +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 +06/08/2026 Isis_BO 2854 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Marge en haut 0 +Marge en bas 0 +Marge à gauche 1 +Marge à droite 3 +Sens Vertical +Retrait gauche 2 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 500 +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 +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationFicheLieu.ListeContact.m_clTabModele +Rub. mémorisée :gclPresentationFicheLieu.ListeContact.m_clTabModele +Ajout/Suppr. dans variable Non +Synchro HFSQL C/S Jamais +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur et hauteur +06/08/2026 Isis_BO 2855 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : FI_Fiche_Lieu.DISP_FICHE_Lieu.DISP_COL.DISP_CLIENT.TABLE_CLIENT +Colonne de table : +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Champ principal BTN_CLIENT_PRINCIPAL +Coche tous dans entête Oui +Liaison des données :gclPresentationFicheLieu.ListeClient.m_clTabModele.ImageClientPrincipalSite +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +06/08/2026 Isis_BO 2856 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\etoile_verte_vide.png +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +06/08/2026 Isis_BO 2857 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Mode ellipse +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 +Liaison des données :gclPresentationFicheLieu.ListeClient.m_clTabModele.m_sNom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Type +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 100 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Liaison des données :gclPresentationFicheLieu.ListeClient.m_clTabModele.m_nIDType +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2858 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Table : +FI_Fiche_Lieu.DISP_FICHE_Lieu.DISP_COL.DISP_SansNom1.DISP_DOSSIER.TABLE_Dossie +Colonne de table : +Titre FR: N° +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 +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 +Liaison des données :gclPresentationFicheLieu.ListeDossier.m_clTabModele.m_sRefInterne +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Date du Dossier +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 +06/08/2026 Isis_BO 2859 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: UseSystemMask +Mode ellipse +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 +Liaison des données :gclPresentationFicheLieu.ListeDossier.m_clTabModele.m_dDebutDossier +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Type de Dossier +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 80 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Liaison des données :gclPresentationFicheLieu.ListeDossier.m_clTabModele.m_nIDTypeDossier +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2860 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Colonne de table : +Titre FR: Description de l'affaire +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 +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 +Liaison des données :gclPresentationFicheLieu.ListeDossier.m_clTabModele.m_sTitre +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Ref. Externe +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 +06/08/2026 Isis_BO 2861 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheLieu.ListeDossier.m_clTabModele.m_sRefExterne +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Statut +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 72 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Liaison des données :gclPresentationFicheLieu.ListeDossier.m_clTabModele.m_nIDStatut +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2862 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Colonne de table : +Titre FR: PKID +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: MoneySystemMask +Mode ellipse +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 +Liaison des données :gclPresentationFicheLieu.ListeDossier.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Table : +FI_Fiche_Lieu.DISP_FICHE_Lieu.DISP_COL.DISP_SansNom1.DISP_CONTACT_Fiche_Lieu.T +Colonne de table : +Titre FR: Identifiant de LOT_PERSONNE +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 +06/08/2026 Isis_BO 2863 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: +9 999 999 999 999 999 999 +Mode ellipse +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 +Liaison des données :gclPresentationFicheLieu.ListeContact.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Oui +Coche tous dans entête Non +Liaison des données :gclPresentationFicheLieu.ListeContact.m_clTabModele.m_clContact.NomPrenomRC +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2864 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Colonne de table : +Titre FR: Prenom +Curseur survol 0 +UI par l'utilisateur +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 +Mode ellipse +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 +Liaison des données :gclPresentationFicheLieu.ListeContact.m_clTabModele.m_clContact.m_sPrenom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Identifiant du lieu +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +06/08/2026 Isis_BO 2865 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Masque saisie FR: +9 999 999 999 999 999 999 +Mode ellipse +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 +Liaison des données :gclPresentationFicheLieu.ListeContact.m_clTabModele.m_nIDLieu +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Rôle +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 80 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Liaison des données :gclPresentationFicheLieu.ListeContact.m_clTabModele.m_clContact.m_nIDRole +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2866 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Colonne de table : +Titre FR: tél. fixe +Curseur survol 0 +UI par l'utilisateur +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Oui +Coche tous dans entête Non +Liaison des données :gclPresentationFicheLieu.ListeContact.m_clTabModele.m_clContact.TelephoneFixeMobileRC +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: tél. mobile +Curseur survol 0 +UI par l'utilisateur +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 +06/08/2026 Isis_BO 2867 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Mot de passe Non +Mode ellipse +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 +Liaison des données :gclPresentationFicheLieu.ListeContact.m_clTabModele.m_clContact.m_sTelMobile +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Email +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 +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 +Liaison des données :gclPresentationFicheLieu.ListeContact.m_clTabModele.m_clContact.m_sEmail +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2868 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Colonne de table : +Titre FR: Etage +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 +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 +Liaison des données :gclPresentationFicheLieu.ListeContact.m_clTabModele.m_sEtage +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Lot +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 +06/08/2026 Isis_BO 2869 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheLieu.ListeContact.m_clTabModele.m_sLot +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: NomPrenom +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 +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 +Liaison des données :gclPresentationFicheLieu.ListeContact.m_clTabModele.m_clContact.NomPrenom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2870 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Messages multilingues +FI_Fiche_Lieu +Messages multilingues +06/08/2026 Isis_BO 2871 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +2001 FR: Confirmez vous la suppression ? +2002 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FI_Fiche_Lieu +Code des champs +Déclarations globales de FI_Fiche_Lieu +procédure FI_Fiche_Lieu(gclPresentationFicheLieu est un PFicheLieu dynamique=Null, +paramSupplementaire est un STParamFenetreAppelante=Null) +//Variable qui contient la call back à appeler dans les appels de sous fenêtre +maProcMAJObjetRetourFI est une procédure = MAJObjetRetourFI +gCouleurFondEntete est une Couleur +//Variable qui contient les rôles du contact du site +gclListeRoleContactLieu est un PTableParametreMetier dynamique +gsTriEnCours est une chaîne +gnDelai est un entier +gbAppelProcFenAppelante est un booléen +gnPosRechercheCont est un entier +gbActifSur est un booléen +gsCheminDocs est une chaîne Unicode +gbFicheBloque est un booléen +Evénement(TriColonne,"TABLE_ListeContact_Fiche_Lieu",1529) +Evénement(SurActivite, "*.*", WM_LBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_RBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_MBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_MOUSEMOVE) +Evénement(SurActivite, "*.*", WM_KEYDOWN) +//Titre de la fenêtre +LIB_Titre_de_fenêtre_Fiche_Lieu = paramSupplementaire.eTypeAppel=Libre _et_ gclPresentationFicheLieu: +m_nPKID = 0 ? "Nouveau Site" sinon paramSupplementaire.sTitreFenetre<>"" ? paramSupplementaire.s +TitreFenetre sinon "Site" +gbAccesEtDroitDossier est un booléen=AccesEtDroitDossier() +local +gCouleurFondEntete = DISP_FICHE_Lieu..CouleurFond +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentationFicheLieu=Null alors +gclPresentationFicheLieu=PFicheLieu.gNouvellePresentation() +fin +gnDelai =DonneValeurTimeOutObjet(gclPresentationFicheLieu) + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Code des champs +//Recherche des contacts du site +PFicheLieu.gListeContact(gclPresentationFicheLieu) +PFicheLieu.gListeClient(gclPresentationFicheLieu) +PFicheLieu.gListeDossier(gclPresentationFicheLieu) +//Affectation des rôles de type "site" +gclListeRoleContactLieu <- DonneRoleContactLieu() +//BloqueEnregistrement(gclPresentationFicheLieu,FermeCadenas) +BlocEnregistrement(gclPresentationFicheLieu,ActiveTimer,BTN_CADENAS_FERME_LIEU,BTN_CADENAS_OUVERT_LIEU, +GR_CADENAS_LIEU,DISP_FICHE_Lieu) +VerificationDossierDocs() +gbFicheBloque = gclPresentationFicheLieu:m_bBlocageEcriture +Fin d'initialisation de FI_Fiche_Lieu +BTN_Modifier_Contact_Fiche_Lieu..Visible=Faux +DISP_DOSSIER..Visible = gbAccesEtDroitDossier +DonneFocusChamp() +Demande de mise à jour de l'affichage de FI_Fiche_Lieu +si gclPresentationFicheLieu<>Null alors +gclPresentationFicheLieu:m_bBlocageEcriture = gbFicheBloque +SourceVersEcran("","gclPresentationFicheLieu") +VisuBlocage() +MAJChampTableEtObjet(TABLE_ListeContact_Fiche_Lieu,gclPresentationFicheLieu:ListeContact: +p_clCourant) +MAJChampTableEtObjet(TABLE_CLIENT,gclPresentationFicheLieu:ListeClient:p_clCourant) +MAJChampTableEtObjet(TABLE_Dossier,gclPresentationFicheLieu:ListeDossier:p_clCourant) +BTN_Modifier_Contact_Fiche_Lieu..Grisé = gclPresentationFicheLieu:ListeContact=Null _ou_ +gclPresentationFicheLieu:ListeContact.p_bModeleCourantVide _ou_ gclPresentationFicheLieu: +ListeContact.p_clCourant=Null +BTN_Supprimer_Contact_Fiche_Lieu..Grisé = gclPresentationFicheLieu:ListeContact=Null +_ou_ gclPresentationFicheLieu:ListeContact.p_bModeleCourantVide _ou_ gclPresentationFicheLieu: +ListeContact.p_clCourant=Null +GR_EDITDOSSIER_FICHE_CLIENT..Grisé = gclPresentationFicheLieu:ListeDossier=Null _ou_ +gclPresentationFicheLieu:ListeDossier.p_bModeleCourantVide _ou_ gclPresentationFicheLieu: +ListeDossier.p_clCourant=Null +RechercheContactTable() +fin +Fermeture de FI_Fiche_Lieu +DeblocEnregistrement(gclPresentationFicheLieu,paramSupplementaire,DesactiveTimer,BTN_CADENAS_FERME_LIEU +,BTN_CADENAS_OUVERT_LIEU,GR_CADENAS_LIEU,DISP_FICHE_Lieu,Faux,*,pas gbAppelProcFenAppelante) +Clic sur BTN_Nouveau_Fiche_Lieu +pclPresentationFiche est un PFichePersonne dynamique +si paramSupplementaire.eTypeAppel=DansOnglet _et_ paramSupplementaire.sNomIDAppelant="ListePersonne" +alors +pclPresentationFiche <-paramSupplementaire.pclObjetAppelant.Nouveau() +FEN_Menu.OuvreOuActive(FI_Fiche_Personne,"Fiche contact",*,pclPresentationFiche,DonneParam( +paramSupplementaire)) +sinon +pclPresentationFiche <-PFichePersonne.gNouvellePresentation() +FEN_Menu.OuvreOuActive(FI_Fiche_Personne,"Fiche contact",*,pclPresentationFiche) +fin +Clic sur BTN_CADENAS_FERME_LIEU +06/08/2026 Isis_BO 2872 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Code des champs +si 1=BlocEnregistrement(gclPresentationFicheLieu,ActiveTimer,BTN_CADENAS_FERME_LIEU,BTN_ +CADENAS_OUVERT_LIEU,GR_CADENAS_LIEU,DISP_FICHE_Lieu) +si pas AppelProcFenetreAppelante(gclPresentationFicheLieu,paramSupplementaire,Faux,Faux,Vrai) alors +DeblocEnregistrement(gclPresentationFicheLieu,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_LIEU,BTN_CADENAS_OUVERT_LIEU,GR_CADENAS_LIEU,DISP_FICHE_Lieu,Faux) +fin +gbAppelProcFenAppelante = Vrai +fin +//SI BloqueEnregistrement(gclPresentationFicheLieu,FermeCadenas) ALORS +// BTN_CADENAS_FERME_LIEU..Visible=faux +// BTN_CADENAS_OUVERT_LIEU..Visible=Vrai +// DemandeMiseAJourIHM() +//FIN +Clic sur BTN_CADENAS_OUVERT_LIEU +DeblocEnregistrement(gclPresentationFicheLieu,paramSupplementaire,DesactiveTimer,BTN_CADENAS_FERME_LIEU +,BTN_CADENAS_OUVERT_LIEU,GR_CADENAS_LIEU,DISP_FICHE_Lieu,Faux) +//gnDelai=0 +//clErreur est un cerreur +//SI (gclPresentationFicheLieu:bOK(clErreur) ET gclPresentationFichelieu:DebloqueEnregistrement()) +ALORS +// FermeCadenas() +// +//FIN +Clic sur BTN_Fermer_Fiche_Lieu +si GR_CADENAS_LIEU..Modifié = Vrai alors +si OuiNon("Certaines modifications apportées seront perdues, souhaitez-vous continuer ?") = Non +alors +retour +fin +fin +si paramSupplementaire.eTypeAppel=DansChampFI alors +//SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,Null) +AppelProcFenetreAppelante(gclPresentationFicheLieu,paramSupplementaire,Faux,Vrai) +gbAppelProcFenAppelante = Vrai +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon si paramSupplementaire.eTypeAppel=DansFenetre +//SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,Null) +//AppelProcedureFenetreAppelante(Faux,Vrai) +AppelProcFenetreAppelante(gclPresentationFicheLieu,paramSupplementaire,Faux,Vrai) +gbAppelProcFenAppelante = Vrai +Ferme(FEN_ChoixFenetreInterne,0) +//ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon +FermeVoletEtActiveLePrecedent(VoletDuChamp(DISP_FICHE_Lieu)) +fin +Clic sur BTN_Supprimer_Fiche_Lieu +si OuiNon("Confirmez vous la suppression ?")=Non alors +retour +fin +clErreur est un CErreur +06/08/2026 Isis_BO 2873 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Code des champs +bControle est un booléen = gclPresentationFicheLieu:bControle(clErreur,Vrai) +si bControle=Faux alors +Erreur(clErreur.FormateMessage()) +sinon si pas gclPresentationFicheLieu.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +fin +ExécuteTraitement(FI_Fiche_Lieu.DISP_FICHE_Lieu.DISP_BANDEAU_ENTETE_Fiche_Lieu.BTN_Fermer_Fiche_Lieu, +trtClic) +Clic sur BTN_Valider_Fiche_Lieu +si paramSupplementaire.eTypeAppel=DansChampFI _et_ EnregistrerFiche() alors +//AppelProcedureFenetreAppelante(vrai,Vrai) +AppelProcFenetreAppelante(gclPresentationFicheLieu,paramSupplementaire,Vrai,Vrai) +gbAppelProcFenAppelante = Vrai +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon si paramSupplementaire.eTypeAppel=DansOnglet _et_ EnregistrerFiche() alors +//AppelProcedureFenetreAppelante(vrai,Faux) +AppelProcFenetreAppelante(gclPresentationFicheLieu,paramSupplementaire,Vrai,Faux) +gbAppelProcFenAppelante = Vrai +FermeVoletEtActiveLePrecedent(VoletDuChamp(DISP_FICHE_Lieu)) +sinon si paramSupplementaire.eTypeAppel=DansFenetre _et_ EnregistrerFiche() alors +//AppelProcedureFenetreAppelante(vrai,Vrai) +AppelProcFenetreAppelante(gclPresentationFicheLieu,paramSupplementaire,Vrai,Vrai) +gbAppelProcFenAppelante = Vrai +Ferme(FEN_ChoixFenetreInterne,0) +sinon +EnregistrerFiche() +fin +Sortie de SAI_CodeLieu +ChampVersSource() +EnregistrerFiche() +A chaque modification de SAI_CodeLieu +ChampVersSource() +Sortie de SAI_sCodePostal +ChampVersSource() +EnregistrerFiche() +A chaque modification de SAI_sCodePostal +06/08/2026 Isis_BO 2874 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Code des champs +ChampVersSource() +Sortie de SAI_sLigneAdresse_1 +ChampVersSource() +EnregistrerFiche() +A chaque modification de SAI_sLigneAdresse_1 +ChampVersSource() +Sortie de SAI_sLigneAdresse_2 +ChampVersSource() +EnregistrerFiche() +A chaque modification de SAI_sLigneAdresse_2 +ChampVersSource() +Sortie de SAI_sLigneAdresse_3 +ChampVersSource() +EnregistrerFiche() +A chaque modification de SAI_sLigneAdresse_3 +ChampVersSource() +Sortie de SAI_sLigneAdresse_4 +ChampVersSource() +EnregistrerFiche() +A chaque modification de SAI_sLigneAdresse_4 +ChampVersSource() +Sortie de SAI_sLigneAdresse_5 +ChampVersSource() +EnregistrerFiche() +A chaque modification de SAI_sLigneAdresse_5 +ChampVersSource() +Sortie de SAI_sVille +06/08/2026 Isis_BO 2875 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Code des champs +ChampVersSource() +EnregistrerFiche() +A chaque modification de SAI_sVille +ChampVersSource() +Sortie de COMBO_Type_Lieu +ChampVersSource() +EnregistrerFiche() +Sélection d'une ligne de COMBO_Type_Lieu +ChampVersSource() +Sortie de INT_Badge_Fiche_Lieu +ChampVersSource() +EnregistrerFiche() +A chaque modification de INT_Badge_Fiche_Lieu +ChampVersSource() +A chaque modification de INT_Blocage +si INT_Blocage alors +si OuiNon("Êtes-vous sûr de vouloir bloquer le site ?") = Oui alors +ChampVersSource() +EnregistrerFiche() +sinon +INT_Blocage = Faux +fin +sinon +si gclPresentationFicheLieu:m_sRaisonBlocage <> "" alors +gclPresentationFicheLieu:m_sRaisonBlocage = "" +SAI_RaisonBlocage = "" +fin +ChampVersSource() +EnregistrerFiche() +fin +Sortie de INT_Interphone_Fiche_Lieu +ChampVersSource() +EnregistrerFiche() +A chaque modification de INT_Interphone_Fiche_Lieu +06/08/2026 Isis_BO 2876 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Code des champs +ChampVersSource() +Initialisation de SAI_CodeAcces +// Version 1 +// Description +// Saisie avec jetons +Sortie de SAI_CodeAcces +ChampVersSource() +EnregistrerFiche() +Ajout d'un jeton dans SAI_CodeAcces +procédure AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +renvoyer Vrai +Suppression d'un jeton dans SAI_CodeAcces +procédure SuppressionJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +renvoyer Vrai +Clic sur un jeton de SAI_CodeAcces +procédure ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de SAI_CodeAcces +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_CodeAcces +procédure ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +renvoyer Vrai +A chaque modification de SAI_CodeAcces +ChampVersSource() +Sortie de SAI_Note +ChampVersSource() +EnregistrerFiche() +A chaque modification de SAI_Note +06/08/2026 Isis_BO 2877 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Code des champs +ChampVersSource() +Sortie de SAI_RaisonBlocage +ChampVersSource() +EnregistrerFiche() +A chaque modification de SAI_RaisonBlocage +ChampVersSource() +Sélection d'une ligne de TABLE_CLIENT +gclPresentationFicheLieu.ListeClient.p_clCourant= MoiMême..Nouveau ? Null sinon MoiMême//TABLE_CLIENT +si gclPresentationFicheLieu.ListeClient.p_clCourant<>Null alors DemandeMiseAJourIHM() +Clic sur BTN_CLIENT_PRINCIPAL ( COL_CLIENT_PRINCIPAL ) +si pas gclPresentationFicheLieu:ListeClient:p_clCourant:ClientPrincipalSite alors +//Le client courant devient le nouveau client principal +gclPresentationFicheLieu:ListeClient:p_clCourant:ClientPrincipalSite = pas gclPresentationFicheLieu +:ListeClient:p_clCourant:m_bClientPrincipalSite +//Recherche de l'ancien ID +nIndice est un entier = TableauCherche(gclPresentationFicheLieu:ListeClient:m_clTabModele, +tcLinéaire,"m_nPKID",gclPresentationFicheLieu.p_clCourant:m_nIDClientPrincipal,1) +si nIndice>0 alors gclPresentationFicheLieu:ListeClient:m_clTabModele[nIndice]: +ClientPrincipalSite = Faux +//Mise à jour du site pour indiquer le nouveau client principal +gclPresentationFicheLieu.p_clCourant:m_nIDClientPrincipal = gclPresentationFicheLieu:ListeClient: +p_clCourant:m_nPKID +si EnregistrerFiche() alors DemandeMiseAJourIHM() +sinon +Info(ChaîneConstruit( +"Cliquez sur un autre client pour indiquer que %1 n'est plus le client principal", +gclPresentationFicheLieu:ListeClient:p_clCourant:m_sNom)) +fin +Clic sur BTN_Cherche_Personne +si gclPresentationFicheLieu:IdentifiantUnique >0 alors +//Création d'un nouvel enregistrement dans la table des contacts +nIndice est un entier = TableAjouteLigne(TABLE_ListeContact_Fiche_Lieu) +//Positionnement dans le nouvel enregistrement de la table des contacts +TableSelectPlus(TABLE_ListeContact_Fiche_Lieu,nIndice) +06/08/2026 Isis_BO 2878 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Code des champs +//Recherche de l'indice en cours de la table +nIndice = TableSelect(TABLE_ListeContact_Fiche_Lieu) +////Objet qui reçoit les données de la sous fenêtre +//clModele est un MPersonne() +//Recherche d'un contact dans une liste et affectation dans l'objet +Ouvre(FEN_ChoixFenetreInterne,"FI_Liste_Personne",DonneParam(DansFenetre,"FI_Fiche_Lieu",MoiMême.. +Nom,maProcMAJObjetRetourFI,"Sélectionnez le contact","ContactLieu",gclPresentationFicheLieu: +IdentifiantUnique,*,Vrai)) +si TableOccurrence(TABLE_ListeContact_Fiche_Lieu)=0 alors +BTN_Supprimer_Contact_Fiche_Lieu..Grisé=Vrai +sinon +TableAffiche(TABLE_ListeContact_Fiche_Lieu,taInit) +TableSelectPlus(TABLE_ListeContact_Fiche_Lieu,gclPresentationFicheLieu.ListeContact. +m_clTabModele..Occurrence) +DemandeMiseAJourIHM() +fin +fin +Clic sur BTN_LigneSuivanteContact +RechercheContactTable(Vrai) +Clic sur BTN_Modifier_Contact_Fiche_Lieu +//Indique que le programme doit faire un appel customisé de la classe +gclPresentationFicheLieu:ListeContact:MethodeCustom = 1 +//Déclaration d'une variable Fiche Personne +//pclFichePersonne est une pfichepersonne dynamique +//pclFichePersonne <- gclPresentationFicheLieu:ListeContact.ModifierCustom() +//pclFichePersonne.m_nIDAdressePrincipale=gclPresentationFicheLieu.m_clAdresse.m_nPKID +gnDelai=0 +TimeOutLieu() +nRetour est un entier = Ouvre(FEN_ChoixFenetreInterne,"FI_Fiche_Personne",DonneParam(DansFenetre, +"FI_Fiche_Lieu",MoiMême..Nom,maProcMAJObjetRetourFI,"","ModifLieuPersonne",gclPresentationFicheLieu: +ListeContact:p_clCourant:m_nIDLieu,gclPresentationFicheLieu,Faux)) +//Fermeture par Timer +si nRetour=-1 alors +gnDelai=1 +TimeOutLieu() +fin +DemandeMiseAJourIHM() +Clic sur BTN_Nouveau_Contact_compact_Fiche_Lieu +si gclPresentationFicheLieu:IdentifiantUnique >0 alors +gclPresentationFicheLieu:ListeContact:MethodeCustom = 1 +//Déclaration d'une variable Fiche Personne +//pclFichePersonne est une pfichepersonne dynamique +//pclFichePersonne <- +gclPresentationFicheLieu:ListeContact.NouveauCustom(Vrai,gclPresentationFicheLieu.m_nPKID) +//pclFichePersonne.m_nIDAdressePrincipale=gclPresentationFicheLieu.m_clAdresse.m_nPKID +gnDelai=0 +TimeOutLieu() +nRetour est un entier = Ouvre(FEN_ChoixFenetreInterne,"FI_Fiche_Personne",DonneParam(DansFenetre, +"FI_Fiche_Lieu",MoiMême..Nom,maProcMAJObjetRetourFI,"","AddLieuPersonne",gclPresentationFicheLieu: +06/08/2026 Isis_BO 2879 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Code des champs +m_nPKID,gclPresentationFicheLieu,Faux)) +//Fermeture par Timer +si nRetour=-1 alors +gnDelai=1 +TimeOutLieu() +fin +DemandeMiseAJourIHM() +fin +Clic sur BTN_Supprimer_Contact_Fiche_Lieu +bSupprimer est un booléen +bQuestionPoussee est un booléen +//****En commentaire pour simplifier +//SI PAS gclPresentationFicheLieu:ListeContact:p_bModeleCourantVide _ET_ PAS +gclPresentationFicheLieu:ListeContact:p_clCourant:bNouveau() _ET_ +gclPresentationFicheLieu:ListeContact:p_clCourant:bLiaison() ALORS +// bQuestionPoussee = Vrai +//FIN +si pas bQuestionPoussee _et_ OuiNon("Confirmez vous la suppression ?")=Non alors +retour +sinon si bQuestionPoussee _et_ pas gclPresentationFicheLieu:ListeContact:p_bModeleCourantVide _et_ pas +gclPresentationFicheLieu:ListeContact:p_clCourant:bNouveau() alors +selon Dialogue( +"Souhaitez-vous supprimer uniquement la liaison avec le site ou supprimer totalement le contact") +// Supprimer la &liaison +cas 1 +bSupprimer = Faux +// Supprimer &entierement +cas 2 +bSupprimer = Vrai +cas 3 +retour +fin +fin +// gestion de la saisie en cascade +// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +nIndice est un entier=TableSelect(TABLE_ListeContact_Fiche_Lieu) +si nIndice>1 _et_ nIndice=TableOccurrence(TABLE_ListeContact_Fiche_Lieu) alors +TableSelectPlus(TABLE_ListeContact_Fiche_Lieu,nIndice-1) +fin +clErreur est un CErreur +si gclPresentationFicheLieu:ListeContact:p_clCourant:bLiaison() _et_ pas gclPresentationFicheLieu: +ListeContact:p_clCourant:bNouveau() alors +gclPresentationFicheLieu:ListeContact:p_clCourant:m_bLiaison = Faux +si pas gclPresentationFicheLieu:ListeContact:bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +DemandeMiseAJourIHM() +fin +//****En commentaire pour ne pas supprimer le contact +// SI bSupprimer ALORS +// +// SI PAS gclPresentationFicheLieu:ListeContact:p_clCourant:m_clContact:bSupprimer(clErreur) ALORS +// Erreur(clErreur.FormateMessage()) +// FIN +06/08/2026 Isis_BO 2880 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Code des champs +// FIN +fin +//TableSupprime(TABLE_ListeContact_Fiche_Lieu,nIndice) +//BTN_Supprimer_Contact_Fiche_Lieu..Etat=Grisé +Initialisation de LIB_ResultatRechercheContact +// Version 1 +// Description +// Libellé simple +Sortie de SAI_CodeContact +//SI MoiMême..ValeurAffichée<>"" ALORS +// +nPKID est un entier sur 8 octets = +val(ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"[",DepuisDébut),1,"]")) +// SI nPKID>0 ALORS +// PFicheLieu.gListeContact(gclPresentationFicheLieu,*,nPKID) +// SINON +// +SI +ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"---",DepuisDébut),1,"---",DepuisFin)=ChaîneFormate("Aucu +n résultat",ccMajuscule) ALORS +// +// SaisieAssistéeSupprimeTout(MoiMême) +// ExécuteTraitement(MoiMême,trtModification) +// SINON +// +// +SI PAS PFicheLieu.gListeContact(gclPresentationFicheLieu,*,-1,MoiMême..ValeurAffichée) ALORS +// ExécuteTraitement(BTN_Nouveau_Contact_compact_Fiche_Lieu,trtClic) +// FIN +// FIN +// FIN +// MoiMême="" +// EnregistrerFiche() +//SINON +// RETOUR +//FIN +A chaque modification de SAI_CodeContact +ModifZoneSaisieAssistee(MoiMême,2,Vrai,Tronque(ExtraitChaîne(ChampAlias(TABLE_ListeContact_Fiche_Lieu), +2,":"),Taille(ExtraitChaîne(ChampAlias(TABLE_ListeContact_Fiche_Lieu),2,":"))-1, +nombreDeCaractèresAConserver),"") +RechercheContactListe() +Sélection d'une valeur dans la liste de saisie assistée de SAI_CodeContact +RechercheContactTable() +Sortie d'une ligne de TABLE_ListeContact_Fiche_Lieu +06/08/2026 Isis_BO 2881 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Code des champs +// si la table n'a pas été modifiée, il ne faut rien faire +si TABLE_ListeContact_Fiche_Lieu..Modifié=Faux alors +retour +fin +clErr est un CErreur +pclPresentationFiche est un PFicheLieu_Personne dynamique +// ajout d'une nouvelle ligne +si TABLE_ListeContact_Fiche_Lieu..Nouveau alors +pclPresentationFiche<-gclPresentationFicheLieu:ListeContact.Nouveau(Vrai,gclPresentationFicheLieu: +IdentifiantUnique) +// modification d'une ligne existante +sinon +pclPresentationFiche<-gclPresentationFicheLieu:ListeContact.Modifier() +fin +// sauvegarde de la table +TableEnregistre(TABLE_ListeContact_Fiche_Lieu,pclPresentationFiche) +// traitement des erreurs +si pas pclPresentationFiche.bOK(clErr) alors//PAS pclPresentationFiche.bOK(clErr,Vrai,Vrai) +Erreur(clErr.FormateMessage()) +fin +// repasse la table en non modifiée +TABLE_ListeContact_Fiche_Lieu..Modifié=Faux +Sélection d'une ligne de TABLE_ListeContact_Fiche_Lieu +si TABLE_ListeContact_Fiche_Lieu..Occurrence<>0 alors +BTN_Modifier_Contact_Fiche_Lieu..Visible=Vrai +si TABLE_ListeContact_Fiche_Lieu..Nouveau alors +gclPresentationFicheLieu:ListeContact.p_clCourant=Null +sinon +gclPresentationFicheLieu:ListeContact.p_clCourant=TABLE_ListeContact_Fiche_Lieu +fin +//DemandeMiseAJourIHM() +fin +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_ListeContact_Fiche_Lieu +//BTN_Supprimer_Contact_Fiche_Lieu..Etat=Actif +// +//FI_Fiche_Lieu..Plan = 3 +si TABLE_ListeContact_Fiche_Lieu..Occurrence<>0 et gclPresentationFicheLieu:ListeContact.p_clCourant. +m_nPKID<>0 alors +ExécuteTraitement(BTN_Modifier_Contact_Fiche_Lieu,trtClic) +fin +Clic sur BTN_ADD_DOSSIER +clFicheDossier est un PFicheDossier<-gclPresentationFicheLieu.ListeDossier.Nouveau() +si gclPresentationFicheLieu:ListeClient:p_nTotal=0 alors +Erreur("Vous ne pouvez pas créer de dossier sans client rattaché au site") +sinon +si gclPresentationFicheLieu.m_nIDClientPrincipal<>0 alors +clFicheDossier:m_nIDClient = gclPresentationFicheLieu.m_nIDClientPrincipal +sinon +clFicheDossier:m_nIDClient = gclPresentationFicheLieu:ListeClient:m_clTabModele[1]:m_nPKID +06/08/2026 Isis_BO 2882 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Code des champs +fin +nIndiceCli est un entier = TableauCherche(gclPresentationFicheLieu:ListeClient:m_clTabModele, +tcLinéaire,"m_nPKID",clFicheDossier:m_nIDClient,1) +si nIndiceCli>0 alors +clFicheDossier:FicheClient = allouer un PFicheClient(gclPresentationFicheLieu:ListeClient: +m_clTabModele[nIndiceCli]) +fin +//Recherche des interventions du dossier +PFicheDossier.gListeIntervention(clFicheDossier) +clerreur est un CErreur +si clFicheDossier.bOK(clerreur) alors +clFicheInterv est un PFicheIntervention <- clFicheDossier:ListeIntervention:nouveau() +si clFicheInterv:m_sRefInterne="" alors +clFicheInterv:m_sRefInterne = clFicheDossier:m_sRefInterne+"-"+(clFicheDossier: +ListeIntervention.p_nTotal+1) +fin +clFicheInterv:m_nIDClient = clFicheDossier:m_nIDClient +clFicheInterv:m_nIDDossier = clFicheDossier:m_nPKID +clFicheInterv:m_nIDLieu = gclPresentationFicheLieu:m_nPKID +clFicheDossier.ListeIntervention.ajouter(clFicheInterv:p_clCourant) +clFicheDossier.bok(clerreur) +fin +stParam est un STParamFenetreAppelante +stParam.eTypeAppel = DansOnglet +stParam.sNomFenetreAppelante= "FI_Fiche_Lieu" +stParam.sContexteAppelant = MoiMême..Nom +stParam.sNomIDAppelant = "AddLieuIntervention" +stParam.pclObjetAppelant = gclPresentationFicheLieu +FEN_Menu.OuvreOuActive(FI_Fiche_Dossier,"Dossier",Vrai,clFicheDossier,stParam) +DemandeMiseAJourIHM() +fin +//FEN_Menu.OuvreOuActive(FI_Fiche_Dossier,"Fiche Dossier",Vrai,clFicheDossier,stParametreFenInterne) +//FEN_Menu.OuvreOuActive(FI_Fiche_Dossier,"Dossier",*,clPresentationFiche) +Clic sur BTN_MODIF_DOSSIER +clPresentationFiche est un PFicheDossier <- allouer un PFicheDossier(gclPresentationFicheLieu. +ListeDossier.p_clCourant,*) +FEN_Menu.OuvreOuActive(FI_Fiche_Dossier,"Dossier",*,clPresentationFiche) +Sortie d'une ligne de TABLE_Dossier +// si la table n'a pas été modifiée, il ne faut rien faire +si TABLE_Dossier..Modifié=Faux alors +retour +fin +clErr est un CErreur +pclPresentationFiche est un PFicheDossier dynamique +// ajout d'une nouvelle ligne +si TABLE_Dossier..Nouveau alors +pclPresentationFiche<-gclPresentationFicheLieu.ListeDossier.Nouveau() +// modification d'une ligne existante +sinon +06/08/2026 Isis_BO 2883 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Code des champs +pclPresentationFiche<-gclPresentationFicheLieu.ListeDossier.Modifier() +fin +// sauvegarde de la table +TableEnregistre(TABLE_Dossier,pclPresentationFiche) +// traitement des erreurs +si pas pclPresentationFiche.bOK(clErr) alors +Erreur(clErr.FormateMessage()) +fin +// repasse la table en non modifiée +TABLE_Dossier..Modifié=Faux +Sélection d'une ligne de TABLE_Dossier +si TABLE_Dossier..Nouveau alors +gclPresentationFicheLieu.ListeDossier.p_clCourant=Null +sinon +gclPresentationFicheLieu.ListeDossier.p_clCourant=TABLE_Dossier +//trace("selection "+gclPresentation.p_clCourant:m_sRefInterne) +GR_EDITDOSSIER_FICHE_CLIENT..Grisé = Faux +fin +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Dossier +//Trace("Db click "+gclPresentation.p_clCourant:m_sRefInterne) +//OuvreFicheDossier() +ExécuteTraitement(BTN_MODIF_DOSSIER,trtClic) +FI_Fiche_Lieu +Procédures +Procédure locale ActiveTimer +// Résumé : +// Syntaxe : +//ActiveTimer ( est entier) +// +// Paramètres : +// nIdTimer (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ActiveTimer(local nIdTimer est un entier) +TimerSys(TimeOutLieu,100,nIdTimer) +Procédure locale DesactiveTimer +// Résumé : +// Syntaxe : +06/08/2026 Isis_BO 2884 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Procédures +//DesactiveTimer ( est entier) +// +// Paramètres : +// nIdTimer (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DesactiveTimer(local nIdTimer est un entier) +FinTimerSys(nIdTimer) +Procédure locale DonneFocusChamp +// Résumé : +// Syntaxe : +// DonneFocusChamp () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneFocusChamp() +DonneFocus(SAI_CodeLieu) +Procédure locale EnregistrerFiche +// Résumé : +// Syntaxe : +//[ = ] EnregistrerFiche () +// +// Paramètres : +// Aucun +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure EnregistrerFiche() +ChampVersSource() +renvoyer ValideFicheSimple(gclPresentationFicheLieu,paramSupplementaire,ActiveTimer,BTN_ +CADENAS_FERME_LIEU,BTN_CADENAS_OUVERT_LIEU,GR_CADENAS_LIEU,DISP_FICHE_Lieu) +//bResultat est un booléen +//clErreur est un CErreur +// +////Stockage de l'ID actuel +//nPKID est un entier sur 8 octets = gclPresentationFicheLieu:IdentifiantUnique +// +//// L'enregistrement est bloqué ou c'est un nouveau enregistrement et la validation ne sait pas bien +passé +//SI (gclPresentationFicheLieu:m_bBlocageEcriture _OU_ nPKID=0) _et_ PAS +gclPresentationFicheLieu.bOK(clErreur) ALORS//PAS gclPresentationFicheLieu.bOK(clErreur,Vrai,Vrai) +// Erreur(clErreur.FormateMessage()) +// +//SINON +06/08/2026 Isis_BO 2885 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Procédures +// //C'est un nouveau enregistrement +// SI nPKID=0 ALORS +// +// //On bloque ce nouvel enregistrement +// +BlocEnregistrement(gclPresentationFicheLieu,ActiveTimer,BTN_CADENAS_FERME_LIEU,BTN_CADENAS_OUVERT_LIEU, +GR_CADENAS,DISP_FICHE_Lieu) +// +// //La fiche est dans un onglet à part => renomage +de l'onglet pour afficher la référence de la fiche +// SI ParamSupplementaire.eTypeAppel = DansOnglet ALORS +// +FEN_Menu.RenomeOnglet(gclPresentationFicheLieu:IdentifiantUnique,gclPresentationFicheLieu:InfoOnglet) +// FIN +// +// FIN +// bResultat = vrai +//FIN +//renvoyer bResultat +Procédure locale MAJObjetRetourFI +// Résumé : +// Syntaxe : +//[ = ] MAJObjetRetourFI ([...]) +// +// Paramètres : +// <*> : > +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sContexte (chaîne ANSI) : +// pclObjet (objet dynamique) : +// <*> : > +procédure MAJObjetRetourFI(*)//LOCAL sContexte est une chaîne, pclObjet est un objet dynamique +bResultat est un booléen=Vrai +nMode est un entier +sNomChamp est une chaîne +pclObjet est un objet dynamique +bReorga est un booléen=Vrai +bBloc est un booléen +si MesParamètres..Occurrence>0 alors +nMode = MesParamètres[1] +fin +selon nMode +cas 1 : +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 2 +bReorga = Faux +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 3 +bReorga = Faux +bBloc = Vrai +fin +si bReorga alors//Gestion de l'affichage pour oublier le champ Fenêtre Interne +06/08/2026 Isis_BO 2886 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Procédures +//ReorganiseChampDispoDansListe(DISP_CONTACT_Fiche_Lieu,TABLE_ListeContact_Fiche_Lieu,CFI_SOUSELEMENT_L +IEU_Fiche_Lieu,GR_IMAGE_OPAQUE_Fiche_Lieu,GR_HAUTEUR_Fiche_Lieu,GR_MODEFORMULAIRE_Fiche_Lieu,Faux,50,2, +3) +//GestionBoutonsEnteteDansListe(GR_MODIFICATION_Fiche_Lieu,BTN_Nouveau_Contact_compact_Fiche_Lieu,BTN_S +electLigne_Contact_Fiche_Lieu,gclPresentationFicheLieu:ListeContact,paramSupplementaire) +fin +//sNomChampPrec est une chaine = ExtraitChaîne(sContexte,2,TAB) +si pclObjet<>Null alors +//*******************************MISE A JOUR DE +L'OBJET********************************************************* +selon sNomChamp +cas BTN_Nouveau_Fiche_Lieu..Nom : +PFicheLieu.gListeContact(gclPresentationFicheLieu,pclObjet) +DemandeMiseAJourIHM() +cas BTN_Nouveau_Contact_compact_Fiche_Lieu..Nom +gclPresentationFicheLieu:ListeContact.Ajouter(pclObjet) +DemandeMiseAJourIHM() +cas BTN_Modifier_Contact_Fiche_Lieu..Nom +nIndice est un entier = TableauCherche(pclObjet:ListeLieu.m_clTabModele,tcLinéaire, +"m_nIDLieu",gclPresentationFicheLieu:m_nPKID,1) +si nIndice >0 alors +gclPresentationFicheLieu:ListeContact:p_clCourant = pclObjet:ListeLieu.m_clTabModele[ +nIndice] +DemandeMiseAJourIHM() +fin +//CAS BTN_Nouveau_Contact_compact_Fiche_Lieu..Nom ,BTN_Modifier_Contact_Fiche_Lieu..Nom : +cas BTN_Cherche_Personne..Nom : PFicheLieu.gListeContact(gclPresentationFicheLieu,pclObjet) +si TABLE_ListeContact_Fiche_Lieu..Occurrence=0 alors +BTN_Supprimer_Contact_Fiche_Lieu..Grisé=Vrai +BTN_Modifier_Contact_Fiche_Lieu..Grisé=Vrai +fin +autre cas +fin +fin +renvoyer bResultat +Procédure locale RafraichissementFiche +procédure RafraichissementFiche(stParamSupplementaire est STParamFenetreAppelante) +si gclPresentationFicheLieu:m_nPKID > 0_et_ stParamSupplementaire.sNomFenetreAppelante="FEN_MENU" alors +gclPresentationListeLieu est un PTableLieu dynamique= PTableLieu.gNouvellePresentation(5, +gclPresentationFicheLieu:m_nPKID ) +si gclPresentationListeLieu:p_nTotal=1 alors +gclPresentationListeLieu:p_clCourant = gclPresentationListeLieu:m_clTabModele[1] +fin +gclPresentationFicheLieu <-gclPresentationListeLieu.Modifier() +PFicheLieu.gListeContact(gclPresentationFicheLieu) +PFicheLieu.gListeClient(gclPresentationFicheLieu) +PFicheLieu.gListeDossier(gclPresentationFicheLieu) +06/08/2026 Isis_BO 2887 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Procédures +DemandeMiseAJourUI() +fin +Procédure locale RechercheContactListe +procédure RechercheContactListe() +gnPosRechercheCont = 0 +LIB_ResultatRechercheContact = "" +b est un entier = 0 +sValeurCol est une chaîne ANSI +sValeurRecherche est une chaîne ANSI = SansAccent(SansEspace(SAI_CodeContact)) +pour toute ligne i de TABLE_ListeContact_Fiche_Lieu +sValeurCol = SansAccent(Majuscule(SansEspace(TABLE_ListeContact_Fiche_Lieu.COL_NomPrenom[i]))) +si Contient(sValeurCol,sValeurRecherche) alors +b += 1 +fin +fin +LIB_ResultatRechercheContact = b + " enregistrements(s) trouvés" +Procédure locale RechercheContactTable +procédure RechercheContactTable(bAjout est un booléen = Faux) +b est un entier +c est un entier +nPKID est un entier sur 8 octets = Val(ExtraitChaîne(ExtraitChaîne(SAI_CodeContact.. +ValeurAffichée,2,"[",DepuisDébut),1,"]")) +sValeurRecherche est une chaîne ANSI = ChaîneSupprime(SAI_CodeContact,"["+nPKID+"]" ) +sValeurRecherche = SansAccent(Majuscule(SansEspace(sValeurRecherche))) +sValeurCol est une chaîne ANSI +si gnPosRechercheCont > 0 _et_ gnPosRechercheCont < TABLE_ListeContact_Fiche_Lieu.Occurrence() alors +c = gnPosRechercheCont +sinon +c = 0 +fin +pour toute ligne i de TABLE_ListeContact_Fiche_Lieu +c += 1 +si c <= TABLE_ListeContact_Fiche_Lieu.Occurrence() alors +sValeurCol = SansAccent(Majuscule(SansEspace(TABLE_ListeContact_Fiche_Lieu.COL_NomPrenom[c]))) +si Contient(sValeurCol,sValeurRecherche) alors +b = c +sortir +fin +fin +fin +si b > 0 alors +TableSelectPlus(TABLE_ListeContact_Fiche_Lieu,b) +sinon +si gnPosRechercheCont > 0 alors +c = 0 +pour toute ligne i de TABLE_ListeContact_Fiche_Lieu +c += 1 +sValeurCol = SansAccent(Majuscule(SansEspace(TABLE_ListeContact_Fiche_Lieu.COL_NomPrenom +[c]))) +06/08/2026 Isis_BO 2888 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Procédures +si Contient(sValeurCol,sValeurRecherche) alors +b = c +sortir +fin +fin +fin +si b > 0 alors +TableSelectPlus(TABLE_ListeContact_Fiche_Lieu,b) +fin +fin +gnPosRechercheCont = b +si b <= 0 alors +si SAI_CodeContact..ValeurAffichée<>"" _et_ bAjout alors +nPKID = Val(ExtraitChaîne(ExtraitChaîne(SAI_CodeContact,2,"[",DepuisDébut),1,"]")) +si nPKID>0 alors +si OuiNon("Souhaitez-vous ajouter le contact à la liste des contacts du site ? ") = Oui +alors +PFicheLieu.gListeContact(gclPresentationFicheLieu,*,nPKID) +LIB_ResultatRechercheContact = "" +SaisieAssistéeSupprimeTout(SAI_CodeContact) +SAI_CodeContact = sValeurRecherche +gnPosRechercheCont = 0 +fin +fin +fin +fin +Procédure locale SurActivite +// Résumé : +// Syntaxe : +//SurActivite (, , ) +// +// Paramètres : +// wEve : +// wParam : +// lParam : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SurActivite(wEve,wParam,lParam) +si gclPresentationFicheLieu:m_bBlocageEcriture alors +gnDelai=DonneValeurTimeOutObjet(gclPresentationFicheLieu) +fin +Procédure locale TimeOutLieu +procédure TimeOutLieu() +06/08/2026 Isis_BO 2889 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Procédures +//clErreur est un CErreur +//Enlève 1 seconde au temps restant +gnDelai-- +//Le temps est écoulé, l'enregistrement et le déblocage de ce dernier c'est bien passé +si gnDelai = 0 alors +// gclPresentationFicheLieu:bOK(clErreur) +// gclPresentationFicheLieu:DebloqueEnregistrement() +// +// SI paramSupplementaire.eTypeAppel=DansFenetre ALORS +// paramSupplementaire.nIdFenetreAppelante = -1 +// SI clErreur.p_bOk ALORS +// //AppelProcedureFenetreAppelante() +// FIN +// FinTimerSys(gclPresentationFicheLieu:m_nIDTimer) +// Ferme(FEN_ChoixFenetreInterne,-1) +// SINON +// FermeCadenas() +// FinTimerSys(gclPresentationFicheLieu:m_nIDTimer) +// FIN +DeblocEnregistrement(gclPresentationFicheLieu,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_LIEU,BTN_CADENAS_OUVERT_LIEU,GR_CADENAS_LIEU,DISP_FICHE_Lieu,*,Vrai) +sinon si gnDelai < 0 alors +FinTimerSys() +fin +Procédure locale TriColonne +// Procédure callback appelée à chaque clic sur entête de colonne de "Table1" pour trier la colonne +// wEve [in]: Numéro du message Windows +// wParam [in] : Numéro de la colonne a trier +// lParam [in]: Ordre du tri 5 (1 : Croissant, 0 : décroissant) +// Renvoyer 0 pour ne pas effectuer le tri demandé +procédure TriColonne(wEve,wParam,lParam) +sSens est une chaîne="" +si wParam<>0 alors//N° de colonne sur laquelle le clic est effectué +//Détection du sens du tri +si pas lParam alors sSens="-" +//Trier sur la colonne +TableTrie(TABLE_ListeContact_Fiche_Lieu,sSens+TableEnumèreColonne(TABLE_ListeContact_Fiche_Lieu, +wParam),"+COL_PKID") +//Traitement à effectuer "Après chaque tri" +TrieObjetChampTableSiBesoin(gclPresentationFicheLieu:ListeContact,TABLE_ListeContact_Fiche_Lieu,gs +TriEnCours) +renvoyer 0 +fin +Procédure locale VerificationDossierDocs +procédure VerificationDossierDocs() +sFormatRepDoc est une chaîne = DonneFormatRepertoireDoc() +06/08/2026 Isis_BO 2890 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Lieu › Procédures +si Contient(sFormatRepDoc,"LI_PKID",MotComplet) ou Contient(sFormatRepDoc,"AD_PKID",MotComplet) alors +sRepRacine est une chaîne = DonneRepertoireRacine() +tabRep est un tableau de Rep +DecodeRepertoire(sFormatRepDoc,tabRep) +//sRepertoireFichier est une chaîne =sRepRacine+RemplaceRubriqueCheminFichier(9,tabRep,sreqsql +,sFormatRepDoc,sRepRacine,0) +fin +// +//sRepertoireFichier est une chaîne =sRepRacine+RemplaceRubriqueCheminFichier(9,tabRep,sreqsql +,sFormatRepDoc,sRepRacine,nIDCategDoc) +Procédure locale VisuBlocage +procédure VisuBlocage() +DISP_CARACTERISTIQUE1[4]..Visible = gclPresentationFicheLieu:m_bBlocage +nHauteur est un entier = 243 +si gclPresentationFicheLieu:m_nPKID > 0 alors +si pas gclPresentationFicheLieu:m_bBlocage alors +nHauteur += 58 +IMG_BloqueSite = IMG_NonBloque +sinon +IMG_BloqueSite = IMG_Bloque +fin +fin +DISP_CARACTERISTIQUE1[3]..Hauteur = nHauteur +06/08/2026 Isis_BO 2891 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Image +FI_Liste_Lieu +Image +| 06/08/2026 | Isis_BO | 2892 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations générales +FI_Liste_Lieu +Informations générales +FI_Liste_Lieu +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Liste_Lieu.wdw +| Créé par | | XVA | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | ---- | +| Date de création | | 01/10/2018 18:03:12 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 02/05/2025 16:29:22 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 773 Hauteur | 1235 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ------- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 2893 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations générales +Valide auto. 0 +Lib. + tps restant Oui +Pos. X Menu 6 +Pos. Y Menu 28 +Texte Markdown Non +Mode menu ctx. +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 +Statistiques de la fenêtre +| | Champ de saisie | 11 | Libellé | 10 | +| --- | ----------------------- | --- | --------------------- | --- | +| | Bouton | 11 | Interrupteur | 14 | +| | Sélecteur | 1 | Image | 7 | +| | Table | 1 | Combo | 6 | +| | Forme | 6 | Fenêtre interne | 1 | +| | Fenêtre interne | 1 | Option d'interrupteur | 14 | +| | Option de sélecteur | 3 | Colonne de table | 18 | +| | Rupture de zone répétée | 2 | Disposition | 8 | +| | Cellule de disposition | 40 | | | +Nombre d'éléments dans la fenêtre : 154 +FI_Liste_Lieu +Informations sur les champs +Fenêtre : FI_Liste_Lieu +| 06/08/2026 | | Isis_BO | | 2894 | +| ---------- | --- | ------- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Fenêtre interne +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FI_Liste_Lieu | | | | 0 | 0 | 773 | 1235 | | 0 | | | +| ------------- | --- | --- | --- | --- | --- | --- | ---- | --- | --- | --- | --- | +Fenêtre interne : FI_Liste_Lieu +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_ADRESSE_SITE | 448 | 1 173 | 22 | 0 | Actif | Texte | | Non | | | | +| ------------------ | ------- | ------ | --- | --- | ----- | ----- | --- | --- | --- | --- | --- | +| SAI_CLIENT | 130 | 3 173 | 22 | 0 | Actif | Texte | | Non | | | | +| SAI_CODEPOSTAL_SIT | 448 | 26 173 | 22 | 0 | Actif | Texte | | Non | | | | +| SAI_CODE_COMPTAB | 130 | 53 173 | 22 | 0 | Actif | Texte | | Non | | | | +| SAI_CODE_LIEU | 130 | 3 173 | 22 | 0 | Actif | Texte | | Non | | | | +| SAI_CodeLieu | 185 -63 | 284 | 26 | 0 | Actif | Texte | | Non | | | | +| SAI_EMAIL_CONTACT | 130 | 51 173 | 22 | 0 | Actif | Texte | | Non | | | | +| SAI_NOM_CONTACT | 130 | 1 173 | 22 | 0 | Actif | Texte | | Non | | | | +| SAI_NOTE_SITE | 130 | 53 173 | 22 | 0 | Actif | Texte | | Non | | | | +| SAI_TELS_CONTACT | 130 | 26 173 | 22 | 0 | Actif | Texte | | Non | | | | +| SAI_VILLE_SITE | 448 | 51 173 | 22 | 0 | Actif | Texte | | Non | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_AFFICHER_SITE | | 0 | 9 | 45 | 14 | | 0 | Actif | Gauche | Haut | | +| ----------------- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | +| LIB_BLOCAGE | | 20 | 82 | 100 | 17 | | 0 | Actif | Gauche | Haut | | +| LIB_CLEINT | | 0 | 8 | 100 | 14 | | 0 | Actif | Gauche | Haut | | +| LIB_DEPUIS_SITE | | 221 | 9 | 45 | 14 | | 0 | Actif | Gauche | Haut | | +| LIB_SITE | | 0 | 8 | 100 | 14 | | 0 | Actif | Gauche | Haut | | +| LIB_SITE | | 0 | 8 | 100 | 14 | | 0 | Actif | Gauche | Haut | | +LIB_Titre_de_fenêtre_liste_lieu 6 6 41 20 0 Actif Gauche Centre +| LIB_Total_Liste_Lieu | | 44 | 0 | 36 | 14 | | 0 | Actif | Gauche | Haut | | +| -------------------------- | --- | --- | --- | --- | ------- | --- | --- | ----- | ------ | ---- | ---- | +| LIB_Total_Titre_Liste_Lieu | | 0 | 0 | 40 | 14 | | 0 | Actif | Gauche | Haut | | +| 06/08/2026 | | | | | Isis_BO | | | | | | 2895 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Bouton +notuob epyT +| | | | | laitini tatE BAT ehcuoT | | | +| --- | --------------------- | --------------- | --- | ----------------------- | --- | --- | +| | X noitisoP Y noitisoP | | | | | | +| | | ruegraL ruetuaH | | | | | +elbisiV +nalP +| BTN_ADD_LISTE_SITE | 4 | 4 24 | 24 0 | Actif | Normal | | +| ------------------------- | --- | ---- | ---- | ----- | ------- | --- | +| BTN_AVANCEE_SITE | 4 | 4 24 | 24 0 | Actif | Normal | | +| BTN_CLOSE_LISTE_SITE | 4 | 4 24 | 24 0 | Actif | Abandon | | +| BTN_COLLAPSE_LISTE_SITE | 372 | 4 24 | 24 0 | Actif | Normal | | +| BTN_DEL_LISTE_SITE | 4 | 4 24 | 24 0 | Grisé | Normal | | +| BTN_EDT_LISTE_SITE | 4 | 4 24 | 24 0 | Grisé | Normal | | +| BTN_GOMMER_SITE | 4 | 4 24 | 24 0 | Actif | Normal | | +| BTN_RECHERCHE_SITE | 4 | 4 24 | 24 0 | Actif | Normal | | +| BTN_SEL_LISTE_SITE | 4 | 4 24 | 24 0 | Grisé | Normal | | +| BTN_UNCOLLAPSE_LISTE_SITE | 372 | 4 24 | 24 0 | Actif | Normal | | +| BTN_VueDossier | 10 | 5 24 | 24 0 | Actif | Normal | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | staté siorT | +| --- | --------------------- | --- | --- | ------------ | --- | ----------- | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| INT_ADRESSE_SITE | 318 0 | 130 25 | 0 | Actif | 1 | | +| ------------------- | ------ | ------ | --- | ----- | --- | --- | +| INT_CLIENT | 0 2 | 130 25 | 0 | Actif | 1 | | +| INT_CODEPOSTAL_SITE | 318 25 | 130 25 | 0 | Actif | 1 | | +| INT_CODE_COMPTABLE | 0 52 | 130 25 | 0 | Actif | 1 | | +| INT_CODE_LIEU | 0 2 | 130 25 | 0 | Actif | 1 | | +| INT_EMAIL_CONTACT | 0 50 | 130 25 | 0 | Actif | 1 | | +| INT_NOM_CONTACT | 0 0 | 130 25 | 0 | Actif | 1 | | +| INT_NOTE_SITE | 0 52 | 130 25 | 0 | Actif | 1 | | +| INT_ROLE_CONTACT | 0 78 | 130 25 | 0 | Actif | 1 | | +| INT_STATUT_CLIENT | 0 77 | 130 25 | 0 | Actif | 1 | | +| INT_TELS_CONTACT | 0 25 | 130 25 | 0 | Actif | 1 | | +| INT_TYPE_CLIENT | 0 27 | 130 25 | 0 | Actif | 1 | | +| INT_TYPE_SITE | 0 27 | 130 25 | 0 | Actif | 1 | | +| INT_VILLE_SITE | 318 50 | 130 25 | 0 | Actif | 1 | | +Sélecteur +ellennoitroporp .loC +| | | | | BAT ehcuoT sennoloc .bN | | | +| --- | --- | --- | --- | ----------------------- | --- | ----------- | +| | | | | laitini tatE | | staté siorT | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| SEL_BLOCAGE_Site | 128 77 | 173 25 | 0 | Actif | 3 | | +| ---------------- | ------ | ------- | --- | ----- | --- | ---- | +| 06/08/2026 | | Isis_BO | | | | 2896 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › 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_Bloque | | -376 | 55 | 20 | 20 | 0 | Actif | | | +| -------------------------- | --- | ---- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_ICONE_CARACTERISTIQUES | | 4 | 7 | 16 | 16 | 0 | Actif | | | +| IMG_ICONE_CARACTERISTIQUES | | 4 | 7 | 16 | 16 | 0 | Actif | | | +| IMG_ICONE_CARACTERISTIQUES | | 4 | 7 | 16 | 16 | 0 | Actif | | | +| IMG_NonBloque | | -375 | 29 | 20 | 20 | 0 | Actif | | | +| IMG_OPAQ_TABLE_LISTE_LIEU | | 0 | 0 | 768 | 90 | 0 | Actif | | | +| IMG_OPAQ_TETE_LISTE_LIEU | | 0 | 0 | 768 | 33 | 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 | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | +ruegraL +| | | | elbisiV | | elbaT | | | | | +| --- | --- | --- | ------- | --- | ----- | --- | --- | --- | --- | +nalP +| TABLE_LIEU | 0 0 | 768 90 | 0 | Actif | Mémoir | | | | 0 | +| ---------- | --- | ------ | --- | ----- | ------ | --- | --- | --- | --- | +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 | | | | | sruocraP | | | | +ruegraL ruetuaH +elbisiV +| | | | | | | elbaT | eéirT | | | +| --- | --- | --- | --- | --- | --- | ----- | ----- | --- | --- | +nalP +| COMBO_PERIODE_AFFICH | 266 | 5 87 | 22 | 0 | Actif | Variable | | Non | | +| -------------------- | --- | ------ | --- | --- | ----- | -------- | --- | --- | --- | +| COMBO_ROLE_CONTACT | 130 | 79 173 | 22 | 0 | Actif | Variable | | Non | | +| COMBO_SEUIL_AFFICHAG | 51 | 5 158 | 22 | 0 | Actif | Variable | | Non | | +| COMBO_STATUT_CLIENT | 130 | 78 173 | 22 | 0 | Actif | Variable | | Non | | +| COMBO_TYPE_CLIENT | 130 | 28 173 | 22 | 0 | Actif | Variable | | Non | | +| COMBO_TYPE_SITE | 130 | 28 173 | 22 | 0 | Actif | Variable | | Non | | +Forme +| | | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | +| | | | X noitisoP | Y noitisoP | | | | | | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_BANDEAU_BAS_SITE | | | 0 | 0 | 768 | 14 | 0 | Actif | | +| ---------------------------- | --- | --- | --- | ------- | --- | --- | --- | ----- | ---- | +| FRM_CADRE_CARACTERISTIQUES | | | 0 | 0 | 309 | 103 | 0 | Actif | | +| FRM_CADRE_CARACTERISTIQUES | | | 0 | 0 | 309 | 103 | 0 | Actif | | +| FRM_CADRE_CARACTERISTIQUES | | | 0 | 0 | 631 | 102 | 0 | Actif | | +| FRM_CRITERE_LISTE_SITE | | | 0 | 0 | 768 | 282 | 0 | Actif | | +| FRM_DEPLIER_PLIER_LISTE_SITE | | | 0 | 0 | 768 | 33 | 0 | Actif | | +| 06/08/2026 | | | | Isis_BO | | | | | 2897 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Fenêtre interne +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CFI_SOUSELEMENT_LISTE_LIEU | | 0 | 0 | 768 | 780 | 0 | Actif | | +| -------------------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Disposition +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| DISP_CG_L1_C2_L1 | | 0 | 0 | 309 | 32 | 0 | Actif | | +| ----------------- | --- | --- | --- | --- | ---- | --- | ----- | --- | +| DISP_CG_L1_C2_L1 | | 0 | 0 | 309 | 32 | 0 | Actif | | +| DISP_CG_L1_C2_L1 | | 0 | 0 | 631 | 32 | 0 | Actif | | +| DISP_CLIENT | | 391 | 141 | 309 | 141 | 0 | Actif | | +| DISP_CONTACT | | 69 | 141 | 309 | 141 | 0 | Actif | | +| DISP_SITE | | 69 | 0 | 631 | 140 | 0 | Actif | | +| D_LISTE_LIEU | | 0 | 0 | 768 | 1234 | 0 | Actif | | +| D_TETE_LISTE_SITE | | 0 | 0 | 768 | 32 | 0 | Actif | | +Table : FI_Liste_Lieu.D_LISTE_LIEU.TABLE_LIEU +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_DATEMODIF | 22 | 43 516 | 16 | 0 | Actif | Gauche | Haut | | +| ------------- | --- | ------ | --- | --- | ----- | ------ | ---- | --- | +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_SEL | 30 | Actif | | | Centre Centre | | | | +| COL_ImgBloque | 58 | affichag | | | Centre Centre | | | | +| COL_CodeLieu | 212 | affichag | | | Gauche Centre | Texte | | | +| COL_IDTypeSite | 100 | affichag | | | Gauche Centre | Texte | | | +| COL_Ligne_Adresse_4 | 130 | affichag | | | Gauche Centre | Texte | | | +| COL_Ligne_Adresse_3 | 100 | affichag | | | Gauche Centre | Texte | | | +| COL_Ligne_Adresse_5 | 100 | affichag | | | Gauche Centre | Texte | | | +| COL_CodePostal | 50 | affichag | | | Gauche Centre | Texte | | | +| COL_Ville | 100 | affichag | | | Gauche Centre | Texte | | | +| 06/08/2026 | | | Isis_BO | | | | | 2898 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +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_CodeAcces | 169 | affichag | | Gauche Centre | Texte | | +| COL_Badge | 106 | affichag | | Centre Centre | | | +| COL_Interphone | 88 | affichag | | Centre Centre | | | +| COL_Note | 216 | affichag | | Gauche Centre | Texte | | +| MinDateModif | 100 | Grisé | | Gauche Centre | Texte | | +| NbJrsModif | 100 | affichag | | Droite Centre | Numériq | | +| COL_PKID | 162 | Grisé | | Droite Centre | Numériq | | +| COL_bBloque | 100 | Grisé | | Centre Centre | | | +| COL_RaisonBlocage | 100 | Grisé | | Gauche Centre | Texte | | +Rupture de zone répétée +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | +elbisiV +nalP +RUPT_B_MinDateModif_Site +RUPT_H_MinDateModif_Site +Fenêtre : FI_Liste_Lieu +Fenêtre interne : FI_Liste_Lieu +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ---------------------------------- | --- | --- | --- | --- | --- | +| Menu contextuel | | | | | | | +| Unité des tailles | Compatible desktop ET mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +Facteur d'agrandissement +0 +| Ctx. HFSQL indép. | Non | | | | | | +| ----------------- | ------- | --- | --- | --- | --- | --- | +| Ancrage | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Isis_BO | | | 2899 | +| ---------- | --- | --- | ------- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Fenêtre interne : FI_Liste_Lieu +Bouton : FI_Liste_Lieu.D_LISTE_LIEU.D_TETE_LISTE_SITE.BTN_ADD_LISTE_SITE +Groupe GR_MODEFORMULAIRE_LISTE_LIEU +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2900 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Bouton : FI_Liste_Lieu.D_LISTE_LIEU.D_TETE_LISTE_SITE.BTN_AVANCEE_SITE +Ordre navigation 1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Paramétrage.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2901 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Bouton : FI_Liste_Lieu.D_LISTE_LIEU.D_TETE_LISTE_SITE.BTN_CLOSE_LISTE_SITE +Groupe GR_MODEFORMULAIRE_LISTE_LIEU +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2902 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Bouton : FI_Liste_Lieu.D_LISTE_LIEU.BTN_COLLAPSE_LISTE_SITE +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Plier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2903 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Bouton : FI_Liste_Lieu.D_LISTE_LIEU.D_TETE_LISTE_SITE.BTN_DEL_LISTE_SITE +Groupe GR_MODIFICATION_LISTE_LIEU,GR_MODEFORMULAIRE_LISTE_LIEU +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2904 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Bouton : FI_Liste_Lieu.D_LISTE_LIEU.D_TETE_LISTE_SITE.BTN_EDT_LISTE_SITE +Groupe GR_MODIFICATION_LISTE_LIEU,GR_MODEFORMULAIRE_LISTE_LIEU +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2905 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Bouton : FI_Liste_Lieu.D_LISTE_LIEU.D_TETE_LISTE_SITE.BTN_GOMMER_SITE +Ordre navigation 1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Gommer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2906 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Bouton : FI_Liste_Lieu.D_LISTE_LIEU.D_TETE_LISTE_SITE.BTN_RECHERCHE_SITE +Ordre navigation 1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_refresh.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2907 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Bouton : FI_Liste_Lieu.D_LISTE_LIEU.D_TETE_LISTE_SITE.BTN_SEL_LISTE_SITE +Groupe GR_MODEFORMULAIRE_LISTE_LIEU +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2908 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Bouton : FI_Liste_Lieu.D_LISTE_LIEU.BTN_UNCOLLAPSE_LISTE_SITE +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2909 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Bouton : FI_Liste_Lieu.D_LISTE_LIEU.D_TETE_LISTE_SITE.BTN_VueDossier +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Rechercher un site +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\dossier.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 2910 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Fenêtre interne : FI_Liste_Lieu.D_LISTE_LIEU.CFI_SOUSELEMENT_LISTE_LIEU +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 +Ancrage au contenu +Numéro aide 0 +Ascenseur auto. 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 +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Lieu.D_LISTE_LIEU.COMBO_PERIODE_AFFICHAGE_SITE +Groupe GR_PERIODE_AFFICHAGE_SITE +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 87 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 266 +Largeur interne 87 +06/08/2026 Isis_BO 2911 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Période d'affichage du nombre de lignes +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListePeriodeAffichageListe.m_clTabVisible +Filtre 02 +Rub. affichée :gpclListePeriodeAffichageListe.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListePeriodeAffichageListe.m_clTabVisible.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 333 Taux anc. bas 250 Taux anc. largeur 1000 Taux anc. hauteur 250 +06/08/2026 Isis_BO 2912 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Combo : FI_Liste_Lieu.D_LISTE_LIEU.DISP_CONTACT.COMBO_ROLE_CONTACT +Libellé FR: Stat&ut du client +Valeur initiale 1 +Groupe GR_CRITERE_LISTESITE +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 199 +Largeur interne 173 +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 +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 +06/08/2026 Isis_BO 2913 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Oui +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeRoleContact.m_clTabVisible +Rub. affichée :gpclListeRoleContact.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeRoleContact.m_clTabVisible.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Lieu.D_LISTE_LIEU.COMBO_SEUIL_AFFICHAGE_SITE +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 158 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 51 +Largeur interne 158 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Seuil d'affichage du nombre de lignes +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Isis_BO 2914 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeSeuilAffichageListe.m_clTabVisible +Filtre 02 +Rub. affichée :gpclListeSeuilAffichageListe.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeSeuilAffichageListe.m_clTabVisible.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 333 Taux anc. bas 250 Taux anc. largeur 1000 Taux anc. hauteur 250 +Combo : FI_Liste_Lieu.D_LISTE_LIEU.DISP_CLIENT.COMBO_STATUT_CLIENT +Libellé FR: Stat&ut du client +Valeur initiale 1 +Groupe GR_CRITERE_LISTESITE +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Gauche +06/08/2026 Isis_BO 2915 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 521 +Largeur interne 173 +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 +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. +Avec recherche Oui +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeStatutClient.m_clTabVisible +Rub. affichée :gpclListeStatutClient.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeStatutClient.m_clTabVisible.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +06/08/2026 Isis_BO 2916 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Lieu.D_LISTE_LIEU.DISP_CLIENT.COMBO_TYPE_CLIENT +Libellé FR: Type de client +Groupe GR_CRITERE_LISTESITE +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 521 +Largeur interne 173 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Type de client +Numéro aide 0 +Texte d'indication si vide FR: Type de client +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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 +06/08/2026 Isis_BO 2917 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +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. +Avec recherche Oui +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeClient.m_clTabVisible +Filtre 2 +Rub. affichée :gpclListeTypeClient.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeTypeClient.m_clTabVisible.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Lieu.D_LISTE_LIEU.DISP_SITE.COMBO_TYPE_SITE +Libellé FR: Type de site +Groupe GR_CRITERE_LISTESITE +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 199 +Largeur interne 173 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Type de client +Numéro aide 0 +Texte d'indication si vide FR: Type de client +06/08/2026 Isis_BO 2918 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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. +Avec recherche Oui +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeLieu.m_clTabVisible +Filtre 2 +Rub. affichée :gpclListeTypeLieu.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeTypeLieu.m_clTabVisible.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2919 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Disposition : FI_Liste_Lieu.D_LISTE_LIEU.DISP_CONTACT.DISP_CG_L1_C2_L1 +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Lieu.D_LISTE_LIEU.DISP_SITE.DISP_CG_L1_C2_L1 +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +06/08/2026 Isis_BO 2920 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Lieu.D_LISTE_LIEU.DISP_CLIENT.DISP_CG_L1_C2_L1 +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Lieu.D_LISTE_LIEU.DISP_CLIENT +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +06/08/2026 Isis_BO 2921 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Lieu.D_LISTE_LIEU.DISP_CONTACT +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Lieu.D_LISTE_LIEU.DISP_SITE +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 2922 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Facteur d'agrandissement 0 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Lieu.D_LISTE_LIEU +Libellé FR: Disposition +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 +Cellule ancrée 4 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Liste_Lieu.D_LISTE_LIEU.D_TETE_LISTE_SITE +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +06/08/2026 Isis_BO 2923 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Liste_Lieu.D_LISTE_LIEU.FRM_BANDEAU_BAS_SITE +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Liste_Lieu.D_LISTE_LIEU.DISP_CONTACT.FRM_CADRE_CARACTERISTIQUES +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Isis_BO 2924 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Liste_Lieu.D_LISTE_LIEU.DISP_SITE.FRM_CADRE_CARACTERISTIQUES +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Liste_Lieu.D_LISTE_LIEU.DISP_CLIENT.FRM_CADRE_CARACTERISTIQUES +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2925 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Forme : FI_Liste_Lieu.D_LISTE_LIEU.FRM_CRITERE_LISTE_SITE +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 0 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Liste_Lieu.D_LISTE_LIEU.FRM_DEPLIER_PLIER_LISTE_SITE +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2926 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Image : FI_Liste_Lieu.IMG_Bloque +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\candado.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_CLIENT.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 2927 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › 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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_SITE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 2928 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_CONTACTSITE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2929 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Image : FI_Liste_Lieu.IMG_NonBloque +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\candado-abierto.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Liste_Lieu.D_LISTE_LIEU.IMG_OPAQ_TABLE_LISTE_LIEU +Groupe GR_HAUTEUR_LISTE_LIEU,GR_IMAGE_OPAQUE_LISTE_LIEU +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 50 +Ascenseur et zoom auto. Non +06/08/2026 Isis_BO 2930 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +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. +Mire visible Non +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +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 +Image : FI_Liste_Lieu.D_LISTE_LIEU.IMG_OPAQ_TETE_LISTE_LIEU +Groupe GR_IMAGE_OPAQUE_LISTE_LIEU +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 50 +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. +Mire visible Non +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +06/08/2026 Isis_BO 2931 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 0 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Lieu.D_LISTE_LIEU.DISP_SITE.INT_ADRESSE_SITE +Valeur initiale 0 +Groupe GR_CRITERE_LISTESITE +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2932 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Interrupteur : FI_Liste_Lieu.D_LISTE_LIEU.DISP_CLIENT.INT_CLIENT +Valeur initiale 0 +Groupe GR_CRITERE_LISTESITE +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2933 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Interrupteur : FI_Liste_Lieu.D_LISTE_LIEU.DISP_SITE.INT_CODEPOSTAL_SITE +Valeur initiale 0 +Groupe GR_CRITERE_LISTESITE +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2934 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Interrupteur : FI_Liste_Lieu.D_LISTE_LIEU.DISP_CLIENT.INT_CODE_COMPTABLE +Valeur initiale 0 +Groupe GR_CRITERE_LISTESITE +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2935 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Interrupteur : FI_Liste_Lieu.D_LISTE_LIEU.DISP_SITE.INT_CODE_LIEU +Valeur initiale 0 +Groupe GR_CRITERE_LISTESITE +Ordre navigation 3 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2936 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Interrupteur : FI_Liste_Lieu.D_LISTE_LIEU.DISP_CONTACT.INT_EMAIL_CONTACT +Valeur initiale 0 +Groupe GR_CRITERE_LISTESITE +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2937 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Interrupteur : FI_Liste_Lieu.D_LISTE_LIEU.DISP_CONTACT.INT_NOM_CONTACT +Valeur initiale 0 +Groupe GR_CRITERE_LISTESITE +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2938 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Interrupteur : FI_Liste_Lieu.D_LISTE_LIEU.DISP_SITE.INT_NOTE_SITE +Valeur initiale 0 +Groupe GR_CRITERE_LISTESITE +Ordre navigation 11 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2939 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Interrupteur : FI_Liste_Lieu.D_LISTE_LIEU.DISP_CONTACT.INT_ROLE_CONTACT +Valeur initiale 0 +Groupe GR_CRITERE_LISTESITE +Ordre navigation 7 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2940 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Interrupteur : FI_Liste_Lieu.D_LISTE_LIEU.DISP_CLIENT.INT_STATUT_CLIENT +Valeur initiale 0 +Groupe GR_CRITERE_LISTESITE +Ordre navigation 7 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2941 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Interrupteur : FI_Liste_Lieu.D_LISTE_LIEU.DISP_CONTACT.INT_TELS_CONTACT +Valeur initiale 0 +Groupe GR_CRITERE_LISTESITE +Ordre navigation 3 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2942 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Interrupteur : FI_Liste_Lieu.D_LISTE_LIEU.DISP_CLIENT.INT_TYPE_CLIENT +Valeur initiale 0 +Groupe GR_CRITERE_LISTESITE +Ordre navigation 3 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2943 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Interrupteur : FI_Liste_Lieu.D_LISTE_LIEU.DISP_SITE.INT_TYPE_SITE +Valeur initiale 0 +Groupe GR_CRITERE_LISTESITE +Ordre navigation 7 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2944 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Interrupteur : FI_Liste_Lieu.D_LISTE_LIEU.DISP_SITE.INT_VILLE_SITE +Valeur initiale 0 +Groupe GR_CRITERE_LISTESITE +Ordre navigation 9 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2945 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Libellé : FI_Liste_Lieu.D_LISTE_LIEU.LIB_AFFICHER_SITE +Libellé FR: Afficher +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Lieu.D_LISTE_LIEU.DISP_SITE.LIB_BLOCAGE +Libellé FR: Blocage +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 +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 +06/08/2026 Isis_BO 2946 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Lieu.D_LISTE_LIEU.DISP_CLIENT.DISP_CG_L1_C2_L1.LIB_CLEINT +Libellé FR: Client +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2947 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Libellé : FI_Liste_Lieu.D_LISTE_LIEU.LIB_DEPUIS_SITE +Libellé FR: Depuis +Groupe GR_PERIODE_AFFICHAGE_SITE +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Lieu.D_LISTE_LIEU.DISP_SITE.DISP_CG_L1_C2_L1.LIB_SITE +Libellé FR: Site +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 2948 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Lieu.D_LISTE_LIEU.DISP_CONTACT.DISP_CG_L1_C2_L1.LIB_SITE +Libellé FR: Contact +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2949 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Libellé : FI_Liste_Lieu.D_LISTE_LIEU.D_TETE_LISTE_SITE.LIB_Titre_de_fenêtre_liste_lieu +Libellé FR: Titre +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Lieu.D_LISTE_LIEU.LIB_Total_Liste_Lieu +Libellé FR: 000 +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 +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 +06/08/2026 Isis_BO 2950 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationListeLieu.p_nTotal +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 +Libellé : FI_Liste_Lieu.D_LISTE_LIEU.LIB_Total_Titre_Liste_Lieu +Libellé FR: Total : +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 +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 +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 Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2951 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Champ de saisie : FI_Liste_Lieu.D_LISTE_LIEU.DISP_SITE.SAI_ADRESSE_SITE +Groupe GR_CRITERE_LISTESITE +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 517 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2952 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Lieu.D_LISTE_LIEU.DISP_CLIENT.SAI_CLIENT +Libellé FR: &Client +Groupe GR_CRITERE_LISTESITE +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 521 +Largeur interne 173 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 2953 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2954 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Champ de saisie : FI_Liste_Lieu.D_LISTE_LIEU.DISP_SITE.SAI_CODEPOSTAL_SITE +Groupe GR_CRITERE_LISTESITE +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 517 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2955 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Lieu.D_LISTE_LIEU.DISP_CLIENT.SAI_CODE_COMPTABLE +Groupe GR_CRITERE_LISTESITE +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 521 +Largeur interne 173 +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 +06/08/2026 Isis_BO 2956 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2957 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Champ de saisie : FI_Liste_Lieu.D_LISTE_LIEU.DISP_SITE.SAI_CODE_LIEU +Groupe GR_CRITERE_LISTESITE +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 199 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2958 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Lieu.SAI_CodeLieu +Libellé FR: &Code Lieu +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 185 +Largeur interne 284 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Texte d'indication si vide FR: Nom du site, adresse, code postal ou ville +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 2959 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2960 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Champ de saisie : FI_Liste_Lieu.D_LISTE_LIEU.DISP_CONTACT.SAI_EMAIL_CONTACT +Groupe GR_CRITERE_LISTESITE +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 199 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2961 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Lieu.D_LISTE_LIEU.DISP_CONTACT.SAI_NOM_CONTACT +Groupe GR_CRITERE_LISTESITE +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 199 +Largeur interne 173 +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 +06/08/2026 Isis_BO 2962 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2963 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Champ de saisie : FI_Liste_Lieu.D_LISTE_LIEU.DISP_SITE.SAI_NOTE_SITE +Groupe GR_CRITERE_LISTESITE +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 199 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2964 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Lieu.D_LISTE_LIEU.DISP_CONTACT.SAI_TELS_CONTACT +Groupe GR_CRITERE_LISTESITE +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 199 +Largeur interne 173 +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 +06/08/2026 Isis_BO 2965 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2966 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Champ de saisie : FI_Liste_Lieu.D_LISTE_LIEU.DISP_SITE.SAI_VILLE_SITE +Groupe GR_CRITERE_LISTESITE +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 517 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 2967 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Sélecteur : FI_Liste_Lieu.D_LISTE_LIEU.DISP_SITE.SEL_BLOCAGE_Site +Libellé FR: &Sélecteur +Valeur initiale 1 +Ordre navigation 13 +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 +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 Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Isis_BO 2968 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +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. +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CBox_A28.png +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : FI_Liste_Lieu.D_LISTE_LIEU.TABLE_LIEU +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Recherche +UI par l'utilisateur Selon fenêtre +Menu contextuel +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 0 +Marge en bas 0 +Marge à gauche 1 +Marge à droite 3 +Sens Vertical +Retrait gauche 2 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 2969 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +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 500 +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 +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Rub. mémorisée :gclPresentationListeLieu.m_clTabModele +Ajout/Suppr. dans variable Non +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 : FI_Liste_Lieu.D_LISTE_LIEU.TABLE_LIEU +06/08/2026 Isis_BO 2970 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 13 +Libellé : +Libellé FR: Date de modification +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2971 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 13 +Colonne de table : FI_Liste_Lieu.D_LISTE_LIEU.TABLE_LIEU.COL_SEL (3) +Curseur survol 32649 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Non +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 Oui +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Lieu.D_LISTE_LIEU.TABLE_LIEU.COL_ImgBloque (4) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 4 +Numéro aide 0 +Bandeau visible Oui +06/08/2026 Isis_BO 2972 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Lieu.D_LISTE_LIEU.TABLE_LIEU.COL_CodeLieu (5) +Titre FR: Nom du site +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2973 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Colonne de table : FI_Liste_Lieu.D_LISTE_LIEU.TABLE_LIEU.COL_IDTypeSite (6) +Titre FR: Type +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 100 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Lieu.D_LISTE_LIEU.TABLE_LIEU.COL_Ligne_Adresse_4 (7) +Titre FR: Libellé voie +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 +06/08/2026 Isis_BO 2974 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Lieu.D_LISTE_LIEU.TABLE_LIEU.COL_Ligne_Adresse_3 (8) +Titre FR: Bât./Immeuble +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2975 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Colonne de table : FI_Liste_Lieu.D_LISTE_LIEU.TABLE_LIEU.COL_Ligne_Adresse_5 (9) +Titre FR: Lieu dit +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Lieu.D_LISTE_LIEU.TABLE_LIEU.COL_CodePostal (10) +Titre FR: Code Postal +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 +06/08/2026 Isis_BO 2976 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Lieu.D_LISTE_LIEU.TABLE_LIEU.COL_Ville (11) +Titre FR: Ville +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2977 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Colonne de table : FI_Liste_Lieu.D_LISTE_LIEU.TABLE_LIEU.COL_CodeAcces (12) +Titre FR: Code d'Acces +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Lieu.D_LISTE_LIEU.TABLE_LIEU.COL_Badge (13) +Titre FR: Badge +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +06/08/2026 Isis_BO 2978 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Lieu.D_LISTE_LIEU.TABLE_LIEU.COL_Interphone (14) +Titre FR: Interphone +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2979 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Colonne de table : FI_Liste_Lieu.D_LISTE_LIEU.TABLE_LIEU.COL_Note (15) +Titre FR: Note +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Lieu.D_LISTE_LIEU.TABLE_LIEU.MinDateModif (16) +Titre FR: MinDateModif +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 Non +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +06/08/2026 Isis_BO 2980 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Lieu.D_LISTE_LIEU.TABLE_LIEU.NbJrsModif (17) +Titre FR: Nombre Jours +Depuis Modif. +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 Non +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: MoneySystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 2981 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +Colonne de table : FI_Liste_Lieu.D_LISTE_LIEU.TABLE_LIEU.COL_PKID (18) +Titre FR: Identifiant du site +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 Non +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: +9 999 999 999 999 999 999 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Lieu.D_LISTE_LIEU.TABLE_LIEU.COL_bBloque (19) +Titre FR: bBloque +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +06/08/2026 Isis_BO 2982 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Lieu.D_LISTE_LIEU.TABLE_LIEU.COL_RaisonBlocage (20) +Titre FR: RaisonBlocage +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FI_Liste_Lieu +Messages multilingues +06/08/2026 Isis_BO 2983 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Messages multilingues +06/08/2026 Isis_BO 2984 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FI_Liste_Lieu +Code des champs +Déclarations globales de FI_Liste_Lieu +procédure FI_Liste_Lieu(gclPresentationListeLieu est un PTableLieu dynamique=Null, +paramSupplementaire est un STParamFenetreAppelante=Null) +//Variable qui contient la call stack à appeler dans les appels de sous fenêtre +maProcMAJObjetRetourListeLieu est une procédure = MAJObjetRetourFI +maProcRefreshObjetPres est une procédure = RefreshObjetPresentation +maProcMAJCriterePerso est une procédure = Null//MAJCriterePerso +//gbEnRechercheLocal est un booléen = faux +gsTriEnCours est une chaîne +gstListePerso est un STListePerso +gstCriterePerso est un STCritereListePerso +gnDelai est un entier +si paramSupplementaire.eTypeAppel=Libre alors +LIB_Titre_de_fenêtre_liste_lieu = "Liste des sites" +sinon si paramSupplementaire.sTitreFenetre<>"" alors +LIB_Titre_de_fenêtre_liste_lieu = paramSupplementaire.sTitreFenetre +fin +local +ListeAffiche(COMBO_STATUT_CLIENT,taInit) +ListeAffiche(COMBO_TYPE_CLIENT,taInit) +ListeAffiche(COMBO_TYPE_SITE,taInit) +ListeAffiche(COMBO_ROLE_CONTACT,taInit) +ListeAffiche(COMBO_SEUIL_AFFICHAGE_SITE,taInit) +ListeAffiche(COMBO_PERIODE_AFFICHAGE_SITE,taInit) +SelectionValeurCombo(COMBO_SEUIL_AFFICHAGE_SITE,1)//INT_LIMITE_LISTE_SITE=1 +SelectionValeurCombo(COMBO_PERIODE_AFFICHAGE_SITE,0) +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +SEL_BLOCAGE_Site=-1 +si paramSupplementaire.sNomIDAppelant="InterventionListeLieu" alors +SEL_BLOCAGE_Site = 0 +fin +si gclPresentationListeLieu=Null alors +ChargerSelonAppelant(Vrai,Faux) +fin + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Code des champs +// gclPresentationListeLieu=PTableLieu.gNouvellePresentation(-1) +// +// SI paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.sNomIDAppelant<>"" ALORS +// ExécuteTraitement(BTN_COLLAPSE_LISTE_SITE,trtClic) +// //INT_CLIENT _ET_ SAI_CLIENT +// ChargementSQL(paramSupplementaire.sNomIDAppelant,paramSupplementaire.nIdFenetreAppelante) +// //INT_TOUSLESSITES..Visible=vrai +// SELON paramSupplementaire.sNomIDAppelant +// +// +CAS "ClientListeLieu" : SelectionValeurCombo(COMBO_SEUIL_AFFICHAGE_SITE,0)//INT_TOUSLESSITES = 1 +// +// FIN +// SI paramSupplementaire.pclObjetAppelant:m_bBlocageEcriture ALORS +// gnDelai = DonneValeurTimeOutObjet(paramSupplementaire.pclObjetAppelant) +// SI gnDelai>0 ALORS +// ActiveEvenement() +// FIN +// TimerSys(TimeOutDeFermeture,100) +// FIN +// +// SINON +// +SI gpclFicheUtilisateurEnCours<>Null _ET_ gpclFicheUtilisateurEnCours:ListeParametreUtilisateur<>Null +ALORS +// +// gstListePerso = gpclFicheUtilisateurEnCours:DonneColonneEtTriListePerso(3) +// +// gstCriterePerso = gpclFicheUtilisateurEnCours:DonneCritereListePerso(3) +// +// FIN +// InitCriterePerso(GR_CRITERE_LISTESITE,gstCriterePerso,maProcMAJCriterePerso) +// MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +// ChargementSQL() +//// INT_TOUSLESSITES..Visible=faux +//// clTableauModele est un MTableauDeLieu +//// gclPresentationListeLieu = allouer un ptablelieu(clTableauModele) +//// +//// +PTableLieu.gTHNouvellePresentation(0,maProcRefreshObjetPres)//gclPresentation=PTableLieu.gNouvellePrese +ntation(0)// +// FIN +// +//FIN +Fin d'initialisation de FI_Liste_Lieu +InitColonneChampTablePerso(TABLE_LIEU,gstListePerso) +si TABLE_LIEU..Occurrence>0 alors +TableSelectPlus(TABLE_LIEU,1) +fin +Evénement(TriColonne,"TABLE_LIEU",1529) +Evénement(DoubleClicLigneTableau,"TABLE_LIEU",WM_LBUTTONDBLCLK) +Demande de mise à jour de l'affichage de FI_Liste_Lieu +si gclPresentationListeLieu<>Null _et_ gclPresentationListeLieu est PTableLieu alors +//Trie l'objet lié au champ TABLE selon le trie effectuée sur ce champ +//TrieObjetChampTableSiBesoin(gclPresentationListeLieu,TABLE_LIEU,gsTriEnCours) +// mise à jour des champs bindés sur la présentation (compteur par exemple) +06/08/2026 Isis_BO 2985 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Code des champs +//SourceVersEcran("","gclPresentationListeLieu") +//MAJ du champ TABLE et de l'objet Liste Lieu +//MAJChampTableEtObjet(TABLE_LIEU,gclPresentationListeLieu:p_clCourant) +// Gestion de l'accessibilité des boutons +GestionBoutonsEnteteDansListe(GR_MODIFICATION_LISTE_LIEU,BTN_ADD_LISTE_SITE,BTN_SEL_LISTE_SITE, +TABLE_LIEU,paramSupplementaire) +//En demande de MAJ la cellule des totaux peut avoir changé au niveau de la visibilité +D_LISTE_LIEU[5]..Visible = (paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.e +TypeAppel=DansChampFI) _ou_ CFI_SOUSELEMENT_LISTE_LIEU..Visible ? Faux sinon Vrai +TABLE_LIEU.COL_SEL..Visible = (paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.b +MultiSelect) +si paramSupplementaire.eTypeAppel<>DansFenetre alors +si paramSupplementaire.sNomIDAppelant <> "InterventionListeLieu" alors +FEN_Menu.PriseFocus(VoletDuChamp(D_LISTE_LIEU))//FEN_Menu.PriseFocus("FI_Liste_Lieu") +fin +fin +fin +Clic sur BTN_COLLAPSE_LISTE_SITE +D_LISTE_LIEU[2]..Visible = Faux +BTN_UNCOLLAPSE_LISTE_SITE..Visible=Vrai +MoiMême..Visible = Faux +TABLE_LIEU.MinDateModif..Visible = Vrai +Clic sur BTN_UNCOLLAPSE_LISTE_SITE +D_LISTE_LIEU[2]..Visible = Vrai +BTN_COLLAPSE_LISTE_SITE..Visible=Vrai +MoiMême..Visible = Faux +Sélection d'une ligne de COMBO_PERIODE_AFFICHAGE_SITE +ChargementSQL() +Sélection d'une ligne de COMBO_SEUIL_AFFICHAGE_SITE +GR_PERIODE_AFFICHAGE_SITE..Etat = DonneParametreCombo(MoiMême)="-1" ? Grisé sinon Actif +ChargementSQL() +Clic sur BTN_ADD_LISTE_SITE +gnDelai=0 +TimeOutDeFermeture() +//La liste est sur l'onglet principale +si paramSupplementaire.eTypeAppel = Libre alors +//Appel de la fiche en dessous de la liste +OuvreFicheDepuisListe(FicheEnAjout,paramSupplementaire,gclPresentationListeLieu,FI_Fiche_Lieu, +MaFenêtreInterne..Nom,D_LISTE_LIEU,TABLE_LIEU,CFI_SOUSELEMENT_LISTE_LIEU,GR_IMAGE_OPAQUE_LISTE_LIEU +,GR_HAUTEUR_LISTE_LIEU,GR_MODEFORMULAIRE_LISTE_LIEU,maProcMAJObjetRetourListeLieu,MoiMême..Nom,*, +Faux,0,Vrai) +//La liste est dans un champ FI +sinon si paramSupplementaire.eTypeAppel=DansChampFI alors +//nIdIntervention est un entier sur 8 octets=paramSupplementaire.pclObjetAppelant.m_nPKID +06/08/2026 Isis_BO 2986 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Code des champs +stNewParam est un STParamFenetreAppelante = DonneParam(DansFenetre,"FI_Liste_Lieu",MoiMême..Nom, +maProcMAJObjetRetourListeLieu,*,"AddLieu",*,gclPresentationListeLieu) +nRetour est un entier = Ouvre(FEN_ChoixFenetreInterne,"FI_Fiche_Lieu",stNewParam) +//Fermeture par Timer +si nRetour=-1 alors +gnDelai=1 +TimeOutDeFermeture() +fin +fin +//clPresentationFiche est un PFicheSociete<-gclPresentation.Nouveau() +//FEN_Menu.OuvreOuActive(FI_Fiche_Societe,"Fiche +société",clPresentationFiche,DonneParam(DansOnglet,"FI_Liste_Societe",MoiMême..Nom,*,*,"ListeSociete",* +,gclPresentation,faux)) +Clic sur BTN_AVANCEE_SITE +//,DonneParam(DansFenetre,"FI_Liste_Dossier",MoiMême..Nom,maProcMAJObjetRetourListDossier,"","",*,pclTa +bSoc,Vrai) +OuvrePopupPosition(FEN_Choix_Colonne_Et_Tri,poHaut,3,TABLE_LIEU,gstListePerso)//ChargementSQL() +nIndiceRupt est un entier +nIndiceRuptsvg est un entier +pour toute ligne de TABLE_LIEU +nIndiceRupt = TableIndiceRupture(TABLE_LIEU.RUPT_H_MinDateModif_Site,TABLE_LIEU) +si nIndiceRuptsvg<>nIndiceRupt alors +nIndiceRuptsvg = nIndiceRupt +TABLE_LIEU[nIndiceRupt].LIB_DATEMODIF = TABLE_LIEU[TABLE_LIEU].MinDateModif +TableAffiche(TABLE_LIEU,taCourantBandeau) +fin +fin +Clic sur BTN_CLOSE_LISTE_SITE +si paramSupplementaire.eTypeAppel=DansChampFI alors +//SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,Null) +AppelProcFenetreAppelante(Null,paramSupplementaire,Faux,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon si paramSupplementaire.eTypeAppel=DansFenetre +AppelProcFenetreAppelante(Null,paramSupplementaire,Faux,Vrai) +Ferme(FEN_ChoixFenetreInterne) +sinon +FermeVoletEtActiveLePrecedent(VoletDuChamp(D_LISTE_LIEU)) +fin +Clic sur BTN_DEL_LISTE_SITE +si ChargeLigneSelectionnee(COL_SEL..Visible) alors +si OuiNon("Confirmez vous la suppression ?")=Non alors +retour +fin +06/08/2026 Isis_BO 2987 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Code des champs +clErreur est un CErreur +clFicheSite est un PFicheLieu(gclPresentationListeLieu:p_clCourant,*) +si pas clFicheSite:bControle(clErreur,Vrai) alors +Erreur("Suppression impossible",clErreur.FormateMessage()) +sinon si pas gclPresentationListeLieu.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +// gestion de la saisie en cascade +// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +nIndice est un entier=TableSelect(TABLE_LIEU) +TableSupprime(TABLE_LIEU,nIndice) +// SI nIndice>1 _ET_ nIndice=TableOccurrence(TABLE_LIEU) ALORS +// TableSelectPlus(TABLE_LIEU,nIndice-1) +// FIN +fin +fin +Clic sur BTN_EDT_LISTE_SITE +gnDelai=0 +TimeOutDeFermeture() +//La liste est sur l'onglet principale +si paramSupplementaire.eTypeAppel = Libre alors//_ET_ gclPresentationListeLieu.p_clCourant<>Null ALORS +//ChargeLigneSelectionnee() +//OuvreFicheDepuisListe(FicheEnModification,DonneParam(DansOnglet,"FI_Liste_Lieu",MoiMême..Nom),gcl +PresentationListeLieu,FI_Fiche_Lieu,MaFenêtreInterne..Nom,DISP_LISTE_LIEU,TABLE_LIEU,CFI_SOUSELEMEN +T_LISTE_LIEU,GR_IMAGE_OPAQUE_LISTE_LIEU,GR_HAUTEUR_LISTE_ +LIEU,GR_MODEFORMULAIRE_LISTE_LIEU,maProcMAJObjetRetourListeLieu,MoiMême..Nom,*,) +DoubleClicLigneTableau()// +//La liste est dans un champ FI +sinon si paramSupplementaire.eTypeAppel=DansChampFI _et_ ChargeLigneSelectionnee(COL_SEL..Visible) +alors//gclPresentationListeLieu.p_clCourant<>Null ALORS +stNewParam est un STParamFenetreAppelante +stNewParam = DonneParam(DansFenetre,"FI_Liste_Lieu",MoiMême..Nom,maProcMAJObjetRetourListeLieu,*, +"ModifLieu",*,gclPresentationListeLieu,*) +nRetour est un entier = Ouvre(FEN_ChoixFenetreInterne,"FI_Fiche_Lieu",stNewParam) +//Fermeture par Timer +si nRetour=-1 alors +gnDelai=1 +TimeOutDeFermeture() +fin +DemandeMiseAJourIHM() +fin +Clic sur BTN_GOMMER_SITE +RAZ(GR_CRITERE_LISTESITE) +//ListeSupprimeTout(COMBO_ETAT_INTERV) +//COMBO_ETAT_INTERV..Bulle="" +//TableauSupprimeTout(pclTabEtat:m_clTabModele) +//TableauSupprimeTout(pclTabEtat:m_clTabVisible) +//ListeSupprimeTout(COMBO_SOCIETE_INTERV) +//COMBO_SOCIETE_INTERV..Bulle="" +//TableauSupprimeTout(pclTabSoc:m_clTabModele) +SelectionValeurCombo(COMBO_SEUIL_AFFICHAGE_SITE,1)//INT_LIMITE_LISTE_SITE[1]=vrai +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +Clic sur BTN_RECHERCHE_SITE +06/08/2026 Isis_BO 2988 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Code des champs +bCocheContexteClient est un booléen = INT_CLIENT _et_ SAI_CLIENT<>"" _et_ paramSupplementaire.s +NomIDAppelant="InterventionListeLieu" +si bCocheContexteClient alors +INT_CLIENT=Faux +fin +si gpclFicheUtilisateurEnCours<>Null _et_ gpclFicheUtilisateurEnCours:ListeParametreUtilisateur<>Null +alors +//Récupération des critère dans un tableau +RecupCriterePerso(GR_CRITERE_LISTESITE,gstCriterePerso,maProcMAJCriterePerso) +//Sauvegarde des critères en base +gpclFicheUtilisateurEnCours:MAJCritereListePerso(3,gstCriterePerso) +fin +si bCocheContexteClient alors +INT_CLIENT=Vrai +fin +//Execution des critères +ChargerSelonAppelant(Faux,Vrai)//ChargementSQL() +//Application des tris +InitTriChampTablePerso(TABLE_LIEU,gstListePerso) +Clic sur BTN_SEL_LISTE_SITE +si paramSupplementaire.eTypeAppel dans (DansChampFI,DansFenetre) alors +AppelProcFenetreAppelante(gclPresentationListeLieu,paramSupplementaire,Vrai,Vrai) +fin +si paramSupplementaire.eTypeAppel=DansChampFI alors +// SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +// SI paramSupplementaire.bMultiSelect ALORS +// +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationListeLieu) +// SINON +// pclPresentationFiche est un PFicheLieu dynamique +// pclPresentationFiche <- gclPresentationListeLieu.Modifier() +// +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,pclPresentationFiche) +// FIN +// +// FIN +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon si paramSupplementaire.eTypeAppel=DansFenetre alors +// SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +// SI paramSupplementaire.bMultiSelect ALORS +// +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationListeLieu) +// SINON +// pclPresentationFiche est un PFicheLieu dynamique +// pclPresentationFiche <- gclPresentationListeLieu.Modifier() +// +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,pclPresentationFiche) +// FIN +// +// FIN +Ferme(FEN_ChoixFenetreInterne,gclPresentationListeLieu.p_clCourant) +fin +Clic sur BTN_VueDossier +si COL_PKID > 0 et COL_CodeLieu <> "" alors +06/08/2026 Isis_BO 2989 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Code des champs +RechercheInfoParSite(COL_PKID, COL_CodeLieu) +sinon +Info("Veuillez sélectionner un site") +fin +Sortie de COMBO_STATUT_CLIENT +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_SITE) +Sélection d'une ligne de COMBO_STATUT_CLIENT +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +Sélection d'une ligne de COMBO_TYPE_CLIENT +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +A chaque modification de INT_CLIENT +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +A chaque modification de INT_CODE_COMPTABLE +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +A chaque modification de INT_STATUT_CLIENT +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +A chaque modification de INT_TYPE_CLIENT +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +Sortie de SAI_CLIENT +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_SITE) +A chaque modification de SAI_CLIENT +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +Sortie de SAI_CODE_COMPTABLE +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_SITE) +A chaque modification de SAI_CODE_COMPTABLE +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +Sortie de COMBO_ROLE_CONTACT +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_SITE) +Sélection d'une ligne de COMBO_ROLE_CONTACT +06/08/2026 Isis_BO 2990 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Code des champs +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +A chaque modification de INT_EMAIL_CONTACT +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +A chaque modification de INT_NOM_CONTACT +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +A chaque modification de INT_ROLE_CONTACT +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +A chaque modification de INT_TELS_CONTACT +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +Sortie de SAI_EMAIL_CONTACT +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_SITE) +A chaque modification de SAI_EMAIL_CONTACT +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +Sortie de SAI_NOM_CONTACT +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_SITE) +A chaque modification de SAI_NOM_CONTACT +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +Sortie de SAI_TELS_CONTACT +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_SITE) +A chaque modification de SAI_TELS_CONTACT +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +Sélection d'une ligne de COMBO_TYPE_SITE +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +A chaque modification de INT_ADRESSE_SITE +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +A chaque modification de INT_CODE_LIEU +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +A chaque modification de INT_CODEPOSTAL_SITE +06/08/2026 Isis_BO 2991 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Code des champs +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +A chaque modification de INT_NOTE_SITE +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +A chaque modification de INT_TYPE_SITE +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +A chaque modification de INT_VILLE_SITE +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +Sortie de SAI_ADRESSE_SITE +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_SITE) +A chaque modification de SAI_ADRESSE_SITE +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +Sortie de SAI_CODE_LIEU +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_SITE) +A chaque modification de SAI_CODE_LIEU +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +Sortie de SAI_CODEPOSTAL_SITE +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_SITE) +A chaque modification de SAI_CODEPOSTAL_SITE +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +Sortie de SAI_NOTE_SITE +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_SITE) +A chaque modification de SAI_NOTE_SITE +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +Sortie de SAI_VILLE_SITE +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_SITE) +A chaque modification de SAI_VILLE_SITE +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +Sortie d'une ligne de TABLE_LIEU +06/08/2026 Isis_BO 2992 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Code des champs +//// si la table n'a pas été modifiée, il ne faut rien faire +//SI TABLE_LIEU..Modifié=Faux ALORS +// RETOUR +//FIN +// +//clErr est un CErreur +//pclPresentationFiche est un PFicheLieu dynamique +// +//// ajout d'une nouvelle ligne +//SI TABLE_LIEU..Nouveau ALORS +// pclPresentationFiche<-gclPresentationListeLieu.Nouveau() +//// modification d'une ligne existante +//SINON +// pclPresentationFiche<-gclPresentationListeLieu.Modifier() +//FIN +// +//// sauvegarde de la table +//TableEnregistre(TABLE_LIEU,pclPresentationFiche) +// +//// traitement des erreurs +//si pas pclPresentationFiche.bOK(clErr) alors//PAS pclPresentationFiche.bOK(clErr,Vrai,Faux) +// Erreur(clErr.FormateMessage()) +//FIN +// +//// repasse la table en non modifiée +//TABLE_LIEU..Modifié=Faux +Sélection d'une ligne de TABLE_LIEU +// +//SI TABLE_LIEU..Nouveau ALORS +// gclPresentationListeLieu.p_clCourant=Null +//SINON +// gclPresentationListeLieu.p_clCourant=TABLE_LIEU +//FIN +DemandeMiseAJourIHM() +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_LIEU +//SI (ParamSupplementaire.eTypeAppel<>Libre _ET_ ParamSupplementaire.eTypeAppel=DansChampFI _et_ PAS +paramSupplementaire.bMultiSelect) ALORS +// ExécuteTraitement(BTN_SelectLigne_compact,trtClic) +//SINON +// OuvreFicheLieu() +//FIN +DoubleClicLigneTableau() +Touche appuyée (WM_CHAR) de TABLE_LIEU +nTouche est un entier = 0x0d +// Vérifie si la touche dont le code virtuel est 0x0d a été appuyée +si ToucheEnfoncée(nTouche) _ou_ _EVE.wParam = nTouche alors +// Insérer ici le traitement à effectuer +DoubleClicLigneTableau() +fin +A chaque modification de COL_SEL ( TABLE_LIEU ) +si COL_SEL alors +ChargeLigneSelectionnee(Vrai) +06/08/2026 Isis_BO 2993 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Code des champs +sinon +DechargeLigneSelectionnee(Vrai) +fin +Affichage d'une ligne de RUPT_H_MinDateModif_Site ( TABLE_LIEU ) +TABLE_LIEU[TABLE_LIEU].LIB_DATEMODIF = TABLE_LIEU[TABLE_LIEU].MinDateModif +Sortie de SAI_CodeLieu +//SI MoiMême..ValeurAffichée<>"" _et_ gbEnRechercheLocal ALORS +// gbEnRechercheLocal = faux +// +nPKID est un entier sur 8 octets = +val(ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"[",DepuisDébut),1,"]")) +// SI nPKID>0 ALORS +// gclPresentationListeLieu=PTableLieu.gNouvellePresentation(0,nPKID) +// +// SINON +// +SI +ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"---",DepuisDébut),1,"---",DepuisFin)=ChaîneFormate("Aucu +n résultat",ccMajuscule) ALORS +// MoiMême="" +// SaisieAssistéeSupprimeTout(MoiMême) +// ExécuteTraitement(MoiMême,trtModification) +// SINON +// gclPresentationListeLieu=PTableLieu.gNouvellePresentation(0,-1,MoiMême..ValeurAffichée) +// FIN +// +// FIN +// SI nPKID>0 ALORS +// MoiMême = ExtraitChaîne(MoiMême,2," [",DepuisFin) +// FIN +// DonneFocus(BTN_Fermer_liste_lieu) +// DemandeMiseAJourIHM() +// //EnregistreFiche() +// //Enchainement des actions suite au choix du lieu comme si l'utilisateur avait cliqué sur la loupe +// //GestionEnchainement(BTN_LOUPE_LIEU,"") +//FIN +A chaque modification de SAI_CodeLieu +//gbEnRechercheLocal = vrai +//TH_SuspendThread("ListeLieuGlobal") +//SI MoiMême..ValeurAffichée<>"" ALORS +// ModifZoneSaisieAssistee(MoiMême,2,faux,"","") +//SINON +// PTableLieu.gTHNouvellePresentation(0,maProcRefreshObjetPres) +// //DemandeMiseAJourIHM() +//FIN +si SAI_CodeLieu="" alors +PTableLieu.gTHNouvellePresentation(0,maProcRefreshObjetPres) +TableAffiche(TABLE_LIEU,taInit) +retour +fin +Sablier(Vrai) +si Taille(SAI_CodeLieu..ValeurAffichée)> 2 alors +06/08/2026 Isis_BO 2994 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Code des champs +//Chargement liste des Clients trouvés +pclListeRechercheLieu est une PTableLieu dynamique +pclListeRechercheLieu=PTableLieu.gNouvellePresentation(4,SAI_CodeLieu) +nCompteur est un entier +nCompteur=pclListeRechercheLieu.m_clTabModele..Occurrence +si nCompteur=0 alors +// Info("Aucun résultat trouvé pour cette recherche") +TableauSupprimeTout(gclPresentationListeLieu.m_clTabModele) +TableAffiche(TABLE_LIEU,taInit) +retour +fin +si nCompteur=1 alors +// SI pclListeRechercheClient.m_clTabModele..Occurrence=1 ALORS +// pclListeRechercheClient.p_clCourant=pclListeRechercheClient.m_clTabModele[1] +// clPresentationFiche est un PFicheClient<-pclListeRechercheClient.Modifier() +// FEN_Menu.OuvreOuActive(FI_Fiche_Client,"Fiche Client",*,clPresentationFiche) +// FIN +gclPresentationListeLieu=pclListeRechercheLieu +sinon +gclPresentationListeLieu=pclListeRechercheLieu +fin +TableAffiche(TABLE_LIEU,taInit) +sinon +// Info("Vous devez saisir au moins 3 caratères pour réaliser votre recherche") +// RepriseSaisie(SAI_CLIENT) +fin +Sablier(Faux) +cas erreur: +Erreur(HErreurInfo()) +Sélection d'une valeur dans la liste de saisie assistée de SAI_CodeLieu +//ExécuteTraitement(MoiMême,trtSortie) +FI_Liste_Lieu +Procédures +Procédure locale ActiveEvenement +// Résumé : +// Syntaxe : +// ActiveEvenement () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +06/08/2026 Isis_BO 2995 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Procédures +// Indiquez ici un exemple d'utilisation. +// +procédure ActiveEvenement() +Evénement(SurActivite, "*.*", WM_LBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_RBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_MBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_MOUSEMOVE) +Evénement(SurActivite, "*.*", WM_KEYDOWN) +Procédure locale ChargeLigneSelectionnee +// Résumé : +// Syntaxe : +//[ = ] ChargeLigneSelectionnee ( est booléen) +// +// Paramètres : +// bMultiSelect (booléen) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargeLigneSelectionnee(local bMultiSelect est un booléen) +bResultat est un booléen +si pas bMultiSelect alors +si COL_bBloque alors +si OuiNon(Non,"Le site choisi est bloqué pour la raison suivante : "+COL_RaisonBlocage, +"Voulez-vous continuer ?") = Non alors +renvoyer Faux +fin +fin +si COL_PKID>0 alors +gclPresentationListeLieu = PTableLieu.gNouvellePresentation(5,COL_PKID) +fin +si gclPresentationListeLieu:p_nTotal=1 alors +gclPresentationListeLieu:p_clCourant = gclPresentationListeLieu:m_clTabModele[1] +fin +bResultat = gclPresentationListeLieu.p_clCourant<>Null +sinon +gclPresentationListeLieuTemp est un PTableLieu dynamique +si COL_PKID>0 alors +gclPresentationListeLieuTemp = PTableLieu.gNouvellePresentation(5,COL_PKID) +fin +si gclPresentationListeLieuTemp:p_nTotal=1 alors +gclPresentationListeLieuTemp:m_clTabModele[1]:m_bSelection= Vrai +si gclPresentationListeLieu.m_clTabModele.Ajoute(gclPresentationListeLieuTemp:m_clTabModele[1]) +alors +bResultat = Vrai +sinon +bResultat = Faux +fin +fin +fin +renvoyer bResultat +Procédure locale ChargementSQL +// Résumé : +// Syntaxe : +//ChargementSQL ([...]) +// +06/08/2026 Isis_BO 2996 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Procédures +// Paramètres : +// <*> : > +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargementSQL(*) +//TraceDébut(trDessusTout) +// vide le tableau +TableSupprimeTout(TABLE_LIEU) +ReqSQL est une chaîne +sCR est une chaîne +sdListeClient est une Source de Données +sExistContact est une chaîne = +"SELECT 1 FROM Personne INNER JOIN Lieu_Personne ON (LIP_IDPersonne=PE_PKID) WHERE LIP_IDLieu=%1 %2" +sExistContactOr est une chaîne = +"SELECT 1 FROM Personne INNER JOIN Lieu_Personne ON (LIP_IDPersonne=PE_PKID) WHERE LIP_IDLieu=%1 AND +(%2)" +sExistClient est une chaîne = +"SELECT 1 FROM Client INNER JOIN Client_Lieu ON (CLI_IDClient=CL_PKID) WHERE CLI_IDLieu=%1 %2" +nTop est un entier = Val(DonneParametreCombo(COMBO_SEUIL_AFFICHAGE_SITE)) +si nTop>0 alors +ReqSQL=ChaîneConstruit("SELECT DISTINCT TOP %1 ",nTop) +sinon +ReqSQL="SELECT DISTINCT " +fin +// récupération des données +//ReqSQL est une Requête SQL = +ReqSQL+=[ +Lieu.LI_PKID +,Lieu.LI_CodeLieu +,Lieu.LI_IDType +,LIeu.LI_IDAdresse +,Lieu.LI_CodeAcces +,Lieu.LI_Badge +,Lieu.LI_Interphone +,Lieu.LI_Note +,Lieu.LI_Blocage +,Lieu.LI_RaisonBlocage +,Adresse.AD_Ligne_3 +,Adresse.AD_Ligne_4 +,Adresse.AD_Ligne_5 +,Adresse.AD_CodePostal +,Adresse.AD_Ville +,CAST(Lieu.ModifDate AS DATE) AS MinDateModif +,WL.Val(WL.DuréeVersChaîne(WL.ChaîneVersDurée (WL.DateHeureDifférence ( CAST(Lieu.ModifDate AS +DATE), WL.DateHeureSys() ),'+JHHMMSSLL'),'+J')) AS NbJours +] +ReqSQL+=[ +FROM Lieu +LEFT OUTER JOIN Adresse ON (AD_PKID=LI_IDAdresse) +] +si MesParamètres..Occurrence>=1 _et_ MesParamètres[1]="InterventionListeLieu" alors +ReqSQL+=" LEFT OUTER JOIN Client_Lieu ON (Client_Lieu.CLI_IDLieu=Lieu.LI_PKID)" +fin +// FROM Intervention +// INNER JOIN Dossier ON (DO_PKID=IN_IDDossier) +// LEFT OUTER JOIN Client ON (Client.CL_PKID=Dossier.DO_IDClient) +06/08/2026 Isis_BO 2997 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Procédures +// LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Intervention.IN_IDLieu) +// LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +// +//] +ReqSQL+=[ +WHERE 1=1 +] +//sCR+=CritereHF(opt1,ch1,Affaires.AF_Nom..Nom,tfMilieutexte) +//sListeEtat est une chaine +//sListeSociete est une chaine +//SI pclTabEtat<>Null _et_ pclTabEtat:p_nTotal>0 ALORS +// POUR I = 1 _À_ pclTabEtat:p_nTotal +// sListeEtat +=[","]+ pclTabEtat:m_clTabModele[I]:m_nPKID +// FIN +//SINON +// sListeEtat = "" +//FIN +// +//SI pclTabSoc<>Null _ET_ pclTabSoc:p_nTotal>0 ALORS +// POUR I = 1 _À_ pclTabSoc:p_nTotal +// +// sListeSociete +=[","]+ pclTabSoc:m_clTabModele[i]:m_nPKID +// +// FIN +//SINON +// sListeSociete="" +//FIN +// +sCR+=CritereHF(INT_CODE_LIEU ,SAI_CODE_LIEU ,Lieu.LI_CodeLieu..Nom +,tfMilieutexte) +sCR+=CritereHF(INT_TYPE_SITE ,COMBO_TYPE_SITE ,Lieu.LI_IDType..Nom , +tfNumerique) +sCR+=CritereHF(INT_NOTE_SITE ,SAI_NOTE_SITE ,Lieu.LI_Note..Nom +,tfMilieutexte) +sCR+=CritereHF(INT_ADRESSE_SITE ,SAI_ADRESSE_SITE ,Lieu.LI_IDAdresse..Nom +,tfExiste,ChaîneConstruit("SELECT 1 FROM Adresse WHERE AD_PKID=%1 %2",Lieu.LI_IDAdresse..Nom,CritereHF( +INT_ADRESSE_SITE,SAI_ADRESSE_SITE,Adresse.AD_Presentation..Nom,tfMilieutexte)))// +sCR+=CritereHF(INT_CODEPOSTAL_SITE ,SAI_CODEPOSTAL_SITE ,Lieu.LI_IDAdresse..Nom +,tfExiste,ChaîneConstruit("SELECT 1 FROM Adresse WHERE AD_PKID=%1 %2",Lieu.LI_IDAdresse..Nom,CritereHF( +INT_CODEPOSTAL_SITE,SAI_CODEPOSTAL_SITE,Adresse.AD_CodePostal..Nom,tfMilieutexte))) +//,tfDansRequete,"SELECT Adresse.AD_PKID FROM Adresse WHERE Adresse.AD_CodePostal LIKE '%" + +SAI_CODEPOSTAL_SITE + "%'") +sCR+=CritereHF(INT_VILLE_SITE ,SAI_VILLE_SITE ,Lieu.LI_IDAdresse..Nom +,tfExiste,ChaîneConstruit("SELECT 1 FROM Adresse WHERE AD_PKID=%1 %2",Lieu.LI_IDAdresse..Nom,CritereHF( +INT_VILLE_SITE,SAI_VILLE_SITE,Adresse.AD_Ville..Nom,tfMilieutexte))) +//,tfDansRequete,"SELECT Adresse.AD_PKID FROM Adresse WHERE Adresse.AD_Ville LIKE '%" + SAI_VILLE_SITE ++ "%'")//,"SELECT Immeubles.IM_ID WHERE Immeubles.IM_Ville LIKE '%" + +ch2 + "%'" +sCR+=CritereHF(INT_NOM_CONTACT ,SAI_NOM_CONTACT ,Lieu.LI_PKID..Nom , +tfExiste ,ChaîneConstruit(sExistContact,Lieu.LI_PKID..Nom,CritereHF(INT_NOM_CONTACT,SAI_NOM_CONTACT +,Personne.PE_Nom..Nom,tfMilieutexte))) +sCR+=CritereHF(INT_TELS_CONTACT ,SAI_TELS_CONTACT ,Lieu.LI_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistContactOr,Lieu.LI_PKID..Nom,Remplace(CritereHF(INT_TELS_CONTACT +,SAI_TELS_CONTACT,Personne.PE_TelFixe..Nom,tfMilieutexte),"AND ","")+Remplace(CritereHF(INT_ +TELS_CONTACT,SAI_TELS_CONTACT,Personne.PE_TelMobile..Nom,tfMilieutexte),"AND "," OR "))) +sCR+=CritereHF(INT_EMAIL_CONTACT ,SAI_EMAIL_CONTACT ,Lieu.LI_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistContact,Lieu.LI_PKID..Nom,CritereHF(INT_EMAIL_CONTACT,SAI_ +EMAIL_CONTACT,Personne.PE_Email..Nom,tfMilieutexte))) +sCR+=CritereHF(INT_ROLE_CONTACT ,COMBO_ROLE_CONTACT ,Lieu.LI_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistContact,Lieu.LI_PKID..Nom,CritereHF(INT_ROLE_CONTACT,COMBO_ +06/08/2026 Isis_BO 2998 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Procédures +ROLE_CONTACT,Personne.PE_IDRole..Nom,tfNumerique))) +sCR+=CritereHF(INT_CLIENT ,SAI_CLIENT ,Lieu.LI_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistClient ,Lieu.LI_PKID..Nom,CritereHF(INT_CLIENT,SAI_CLIENT, +Client.CL_Nom..Nom,tfMilieutexte))) +sCR+=CritereHF(INT_TYPE_CLIENT ,COMBO_TYPE_CLIENT ,Lieu.LI_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistClient ,Lieu.LI_PKID..Nom,CritereHF(INT_TYPE_CLIENT,COMBO_ +TYPE_CLIENT,Client.CL_IDType..Nom,tfNumerique))) +sCR+=CritereHF(INT_STATUT_CLIENT ,COMBO_STATUT_CLIENT ,Lieu.LI_PKID..Nom , +tfExiste ,ChaîneConstruit(sExistClient ,Lieu.LI_PKID..Nom,CritereHF(INT_STATUT_CLIENT,COMBO_ +STATUT_CLIENT,Client.CL_IDStatut..Nom,tfNumerique))) +sCR+=CritereHF(INT_CODE_COMPTABLE ,SAI_CODE_COMPTABLE ,Lieu.LI_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistClient ,Lieu.LI_PKID..Nom,CritereHF(INT_CODE_COMPTABLE,SAI_ +CODE_COMPTABLE,Client.CL_CodeComptable..Nom,tfMilieutexte))) +sCR+=CritereHF(SEL_BLOCAGE_Site=-1? Faux sinon Vrai,Val(SEL_BLOCAGE_Site),Lieu.LI_Blocage..Nom , +tfBooleen ) +si INT_CLIENT _et_ SAI_CLIENT<>"" _et_ MesParamètres..Occurrence>=2 _et_ MesParamètres[1]= +"InterventionListeLieu" _et_ MesParamètres[2]>0 alors +sCR+=CritereHF(1,MesParamètres[2],Client_Lieu.CLI_IDClient..Nom,tfNumerique) +fin +ReqSQL+=sCR +si sCR="" _et_ COMBO_PERIODE_AFFICHAGE_SITE..Etat=Actif alors +// ReqSQL+=[ +// AND ( Dossier.ModifDate>='%1' +// OR Intervention.ModifDate>='%1' +// ) +// ] +// ReqSQL+=[ +// AND ( NbJours<=%1 +// ) +// ] +ReqSQL+=[ +AND ( MinDateModif>=%1 +) +] +dDateCpt est une Date = DateSys() +dDateCpt..Jour-= Val(DonneParametreCombo(COMBO_PERIODE_AFFICHAGE_SITE)) +//ParametreLit("NBJOUR_DERNIEREMODIF_SITE","30") +ReqSQL = ChaîneConstruit(ReqSQL,DateVersChaîne(dDateCpt,"AAAAMMJJ")) +//ReqSQL = ChaîneConstruit(ReqSQL,val(ParametreLit("NBJOUR_DERNIEREMODIF_DOSS_INTERV","30"))) +fin +ReqSQL+=[ +ORDER BY MinDateModif DESC +] +//ReqSQL.p_IdDossier = Null//MesParamètres..Occurrence>0 _ET_ MesParamètres[1]<>-1 ? MesParamètres[1] +SINON Null +// exécution de la requête +MaFenêtre..AffichageActif = Faux +//ChronoDébut() +si HExécuteRequêteSQL(sdListeClient,gcnxBO,hRequêteDéfaut+hRequêteSansCorrection,ReqSQL) alors +nIndiceLigne est un entier +nCptEnreg est un entier = HNbEnr(sdListeClient) +si nCptEnreg>0 alors +InitTriChampTablePerso(TABLE_LIEU,gstListePerso) +si TableColonnesTriées(TABLE_LIEU)="" alors +TableTrie(TABLE_LIEU,TABLE_LIEU.NbJrsModif..Nom) +06/08/2026 Isis_BO 2999 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Procédures +fin +// charge les enregistrements en mémoire +//trace(ChronoValeur()) +pour tout sdListeClient +avec sdListeClient +si .LI_Blocage alors +nIndiceLigne = TableAjouteLigne(TABLE_LIEU,Faux,IMG_Bloque,.LI_CodeLieu,.LI_IDType +,.AD_Ligne_4,.AD_Ligne_3,.AD_Ligne_5,.AD_CodePostal,.AD_Ville,.LI_CodeAcces,. +LI_Badge,.LI_Interphone,.LI_Note,DateVersChaîne(.MinDateModif, +maskDateDuréeRelative),.NbJours,.LI_PKID,.LI_Blocage,.LI_RaisonBlocage) +sinon +nIndiceLigne = TableAjouteLigne(TABLE_LIEU,Faux,IMG_NonBloque,.LI_CodeLieu,. +LI_IDType,.AD_Ligne_4,.AD_Ligne_3,.AD_Ligne_5,.AD_CodePostal,.AD_Ville,. +LI_CodeAcces,.LI_Badge,.LI_Interphone,.LI_Note,DateVersChaîne(.MinDateModif, +maskDateDuréeRelative),.NbJours,.LI_PKID,.LI_Blocage) +fin +fin +fin +// TableAffiche(TABLE_LIEU,taCourantBandeau) +fin +LIB_Total_Liste_Lieu = nCptEnreg +sinon +LIB_Total_Liste_Lieu = 0 +fin +//Trace(ChronoFin) +HLibèreRequête(sdListeClient) +MaFenêtre..AffichageActif = Vrai +Procédure locale ChargerSelonAppelant +// Résumé : +// Syntaxe : +//ChargerSelonAppelant ( est booléen, est booléen) +// +// Paramètres : +// bPremiereFois (booléen) : +// bTous (booléen) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargerSelonAppelant(local bPremiereFois est un booléen,local bTous est un booléen) +si bPremiereFois alors +//TABLE_PERSONNE.COL_nIDRole..Visible = Faux +//TABLE_PERSONNE.COL_IDClient..Visible = Faux +//INT_TOUSLESCONTACTS..Visible = faux +fin +gclPresentationListeLieu=PTableLieu.gNouvellePresentation(-1) +selon paramSupplementaire.sNomIDAppelant +cas "InterventionListeLieu" : +si bPremiereFois alors +ExécuteTraitement(BTN_COLLAPSE_LISTE_SITE,trtClic) +SAI_CLIENT = paramSupplementaire.pclObjetAppelant.FicheClient.m_sNom +INT_CLIENT = Vrai +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +06/08/2026 Isis_BO 3000 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Procédures +fin +ChargementSQL(paramSupplementaire.sNomIDAppelant,paramSupplementaire.nIdFenetreAppelante) +si bPremiereFois alors +si paramSupplementaire.pclObjetAppelant:m_bBlocageEcriture alors +gnDelai = DonneValeurTimeOutObjet(paramSupplementaire.pclObjetAppelant) +si gnDelai>0 alors +ActiveEvenement() +fin +TimerSys(TimeOutDeFermeture,100) +fin +fin +cas "" +si gpclFicheUtilisateurEnCours<>Null _et_ gpclFicheUtilisateurEnCours:ListeParametreUtilisateur +<>Null alors +gstListePerso = gpclFicheUtilisateurEnCours:DonneColonneEtTriListePerso(3) +gstCriterePerso = gpclFicheUtilisateurEnCours:DonneCritereListePerso(3) +fin +InitCriterePerso(GR_CRITERE_LISTESITE,gstCriterePerso,maProcMAJCriterePerso) +MAJChampPeriodeAffichage(GR_CRITERE_LISTESITE,GR_PERIODE_AFFICHAGE_SITE) +ChargementSQL() +autre cas +ExécuteTraitement(BTN_COLLAPSE_LISTE_SITE,trtClic) +ChargementSQL(paramSupplementaire.sNomIDAppelant,paramSupplementaire.nIdFenetreAppelante) +selon paramSupplementaire.sNomIDAppelant +cas "ClientListeLieu" : SelectionValeurCombo(COMBO_SEUIL_AFFICHAGE_SITE,0) +//INT_TOUSLESSITES = 1 +fin +si paramSupplementaire.pclObjetAppelant:m_bBlocageEcriture alors +gnDelai = DonneValeurTimeOutObjet(paramSupplementaire.pclObjetAppelant) +si gnDelai>0 alors +ActiveEvenement() +fin +TimerSys(TimeOutDeFermeture,100) +fin +fin +Procédure locale DechargeLigneSelectionnee +// Résumé : +// Syntaxe : +//[ = ] DechargeLigneSelectionnee ( est booléen) +// +// Paramètres : +// bMultiSelect (booléen) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DechargeLigneSelectionnee(local bMultiSelect est un booléen) +bResultat est un booléen +si pas bMultiSelect alors +06/08/2026 Isis_BO 3001 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Procédures +sinon si COL_PKID>0 alors +nIndice est un entier = TableauCherche(gclPresentationListeLieu:m_clTabModele,tcLinéaire,"m_nPKID" +,COL_PKID,1) +si nIndice>0 alors +gclPresentationListeLieu:m_clTabModele[nIndice]:m_bSelection = Faux +bResultat = Vrai +fin +fin +renvoyer bResultat +Procédure locale DoubleClicLigneTableau +// Résumé : +// Syntaxe : +// DoubleClicLigneTableau () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DoubleClicLigneTableau() +si ChargeLigneSelectionnee(COL_SEL..Visible) alors +si paramSupplementaire.eTypeAppel dans (DansChampFI,DansFenetre) _et_ paramSupplementaire.b +MultiSelect alors +//pclPresentationFiche est un PFicheLieu dynamique +//pclPresentationFiche<-gclPresentationListeLieu.Modifier() +//On inverse la coche la colonne de selection +TABLE_LIEU[TableSelect(TABLE_LIEU)].COL_SEL = pas COL_SEL +gclPresentationListeLieu.p_clCourant:m_bSelection= TABLE_LIEU[TableSelect(TABLE_LIEU)].COL_SEL +DemandeMiseAJourIHM() +sinon +paramLieu est STParamFenetreAppelante //= paramSupplementaire +paramLieu.eTypeAppel = DansOnglet +paramLieu.sContexteAppelant = MoiMême..Nom +paramLieu.gProcMAJRetour = maProcMAJObjetRetourListeLieu +paramLieu.sTitreFenetre="Site" +//OuvreFicheDepuisListe(FicheEnModification,paramSupplementaire,gclPresentationListeLieu,FI_Fic +he_Lieu,MaFenêtreInterne..Nom,DISP_LISTE_LIEU,TABLE_LIEU,CFI_SOUSELEMENT_LISTE_LIEU,GR_IMAGE_OP +AQUE_LISTE_LIEU,GR_HAUTEUR_LISTE_LIEU,GR_MODEFORMULAIRE_LISTE_LIE +U,maProcMAJObjetRetourFI,MoiMême..Nom) +OuvreFicheOuRetourneSelection(paramSupplementaire,paramLieu,gclPresentationListeLieu,FI_ +Fiche_Lieu,FicheEnModification,DansChampFI,MaFenêtreInterne..Nom,D_LISTE_LIEU,TABLE_LIEU,CFI_ +SOUSELEMENT_LISTE_LIEU,GR_IMAGE_OPAQUE_LISTE_LIEU,GR_HAUTEUR_LISTE_LIEU,GR_ +MODEFORMULAIRE_LISTE_LIEU,maProcMAJObjetRetourListeLieu) +fin +fin +Procédure locale MAJObjetRetourFI +// Résumé : +// Syntaxe : +//[ = ] MAJObjetRetourFI ([...]) +// +// Paramètres : +06/08/2026 Isis_BO 3002 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Procédures +// <*> : > +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sContexte (chaîne ANSI) : +// pclObjet (objet dynamique) : +// <*> : > +// <*> : > +// <*> : > +procédure MAJObjetRetourFI(*)//LOCAL sContexte est une chaîne, pclObjet est un objet dynamique +bResultat est un booléen=Vrai +nMode est un entier +sNomChamp est une chaîne +pclObjet est un objet dynamique +bReorga est un booléen=Vrai +bBloc est un booléen +si MesParamètres..Occurrence>0 alors +nMode = MesParamètres[1] +fin +selon nMode +cas 1 : +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 2 +bReorga = Faux +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 3 +bReorga = Faux +bBloc = Vrai +fin +si bReorga alors +//Gestion de l'affichage pour oublier le champ Fenêtre Interne +ReorganiseChampDispoDansListe(D_LISTE_LIEU,TABLE_LIEU,CFI_SOUSELEMENT_LISTE_LIEU,GR_ +IMAGE_OPAQUE_LISTE_LIEU,GR_HAUTEUR_LISTE_LIEU,GR_MODEFORMULAIRE_LISTE_LIEU,Faux,*) +GestionBoutonsEnteteDansListe(GR_MODIFICATION_LISTE_LIEU,BTN_ADD_LISTE_SITE,BTN_SEL_LISTE_SITE, +gclPresentationListeLieu,paramSupplementaire) +fin +//sNomChampPrec est une chaine = ExtraitChaîne(sContexte,2,TAB) +si pclObjet<>Null alors +//*******************************MISE A JOUR DE +L'OBJET********************************************************* +selon sNomChamp +cas BTN_EDT_LISTE_SITE..Nom,BTN_ADD_LISTE_SITE..Nom : DemandeMiseAJourIHM() +fin +fin +si paramSupplementaire.sNomIDAppelant="InterventionListeLieu" alors +si paramSupplementaire.pclObjetAppelant:m_bBlocageEcriture alors +si bReorga alors +gnDelai = DonneValeurTimeOutObjet(paramSupplementaire.pclObjetAppelant) +TimerSys(TimeOutDeFermeture,100) +sinon +AppelProcFenetreAppelante(gclPresentationListeLieu,paramSupplementaire,Vrai,Faux) +fin +//Une demande de blocage a été demandée par une fenetre fille et l'enregistrement n'est pas bloqué +06/08/2026 Isis_BO 3003 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Procédures +sinon si bBloc alors +//Tentative de blocage +bResultat= AppelProcFenetreAppelante(gclPresentationListeLieu,paramSupplementaire,Faux,Faux, +Vrai) +fin +fin +ExécuteTraitement(BTN_RECHERCHE_SITE,trtClic) +renvoyer bResultat +Procédure locale OuvreFicheLieu +// Résumé : +// Syntaxe : +// OuvreFicheLieu () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure OuvreFicheLieu() +clPresentationFiche est un PFicheLieu<-gclPresentationListeLieu.Modifier() +FEN_Menu.OuvreOuActive(FI_Fiche_Lieu,"Fiche Site",*,clPresentationFiche) +Procédure locale RafraichissementFiche +procédure RafraichissementFiche(stParamSupplementaire est STParamFenetreAppelante) +si stParamSupplementaire.sNomFenetreAppelante="FEN_MENU" _et_ D_LISTE_LIEU[6]..Visible alors +quand exception dans +ExécuteTraitement(FI_Fiche_Lieu.RafraichissementFiche,trtProcédure,stParamSupplementaire) +faire +fin +fin +Procédure locale RefreshObjetPresentation +// Résumé : +// Syntaxe : +//RefreshObjetPresentation ( est objet dynamique) +// +// Paramètres : +// pclObjet (objet dynamique) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RefreshObjetPresentation(pclObjet est un objet dynamique) +si pclObjet<>Null alors +06/08/2026 Isis_BO 3004 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Procédures +clPresention est un PTableLieu(pclObjet) +// affiche la table et restauration de la position courante +TableSauvePositionEtSélection(TABLE_LIEU) +// récupération de l'instance courante +nIndice est un entier=TableSelect(TABLE_LIEU) +gclPresentationListeLieu = clPresention +// mise à jour des champs bindés sur la présentation (compteur par exemple) +SourceVersEcran("","gclPresentationListeLieu") +TableAffiche(TABLE_LIEU,taInit) +TableRestaurePositionEtSélection(TABLE_LIEU) +// récupération de l'instance courante +//nIndice =TableSelect(TABLE) +si nIndice<=0 _ou_ TABLE_LIEU..Nouveau alors +gclPresentationListeLieu.p_bMajCourantSansIHM=Vrai +gclPresentationListeLieu.p_clCourant=Null +gclPresentationListeLieu.p_bMajCourantSansIHM=Faux +sinon +gclPresentationListeLieu.p_bMajCourantSansIHM=Vrai +gclPresentationListeLieu.p_clCourant=TABLE_LIEU[nIndice] +gclPresentationListeLieu.p_bMajCourantSansIHM=Faux +fin +fin +Procédure locale SurActivite +// Résumé : +// Syntaxe : +//SurActivite (, , ) +// +// Paramètres : +// wEve : +// wParam : +// lParam : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SurActivite(wEve,wParam,lParam) +selon paramSupplementaire.sNomIDAppelant +cas "InterventionListeLieu" : +si paramSupplementaire.pclObjetAppelant:m_bBlocageEcriture alors +gnDelai = DonneValeurTimeOutObjet(paramSupplementaire.pclObjetAppelant) +fin +fin +Procédure locale TimeOutDeFermeture +procédure TimeOutDeFermeture() +//Enlève 1 seconde au temps restant +gnDelai-- +//Le temps est écoulé, l'enregistrement et le déblocage de ce dernier c'est bien passé +si gnDelai = 0 alors +FinTimerSys() +ExécuteTraitement(BTN_CLOSE_LISTE_SITE,trtClic) +sinon si gnDelai < 0 alors +06/08/2026 Isis_BO 3005 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Lieu › Procédures +FinTimerSys() +fin +Procédure locale TriColonne +// Procédure callback appelée à chaque clic sur entête de colonne de "Table1" pour trier la colonne +// wEve [in]: Numéro du message Windows +// wParam [in] : Numéro de la colonne a trier +// lParam [in]: Ordre du tri 5 (1 : Croissant, 0 : décroissant) +// Renvoyer 0 pour ne pas effectuer le tri demandé +procédure TriColonne(wEve,wParam,lParam) +sSens est une chaîne="" +si wParam<>0 alors//N° de colonne sur laquelle le clic est effectué +//Détection du sens du tri +si pas lParam alors sSens="-" +//Trier sur la colonne +TableTrie(TABLE_LIEU,sSens+TableEnumèreColonne(TABLE_LIEU,wParam),"+COL_PKID") +//Traitement à effectuer "Après chaque tri" +TrieObjetChampTableSiBesoin(gclPresentationListeLieu,TABLE_LIEU,gsTriEnCours) +renvoyer 0 +fin +06/08/2026 Isis_BO 3006 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Image +FI_Fiche_Intervention +Image +| 06/08/2026 | Isis_BO | 3007 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Image +FI_Fiche_Intervention +Informations générales +FI_Fiche_Intervention +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Fiche_Intervention.wdw +Créé par FBO +Date de création 01/10/2018 19:10:30 +Dernière modification par SMR +Date dernière modification 18/06/2025 14:28:45 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +06/08/2026 Isis_BO 3008 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 1453 Hauteur | 743 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ------- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 3009 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | 30 | Libellé | | 60 | +| --- | ----------------------- | --- | --- | ------------------------ | --- | --- | +| | Bouton | | 74 | Interrupteur | | 2 | +| | Image | | 16 | Table | | 11 | +| | Combo | | 6 | Onglet | | 1 | +| | Forme | | 4 | Zone répétée | | 3 | +| | Fenêtre interne | | 1 | Fenêtre interne | | 1 | +| | Superchamp | | 10 | Attribut zone répétée | | 18 | +| | Option d'interrupteur | | 2 | Option de menu | | 5 | +| | Colonne de table | | 78 | Volet (Onglet) | | 11 | +| | Rupture de zone répétée | | 6 | Tableau croisé dynamique | | 1 | +Valeur d'un tableau croisé dynamique 1 Entête ou filtre d'un tableau croisé 5 +| | Disposition | | 4 | Cellule de disposition | | 10 | +| --- | ----------- | --- | --- | ---------------------- | --- | --- | +Nombre d'éléments dans la fenêtre : 360 +FI_Fiche_Intervention +Informations sur les champs +Fenêtre : FI_Fiche_Intervention +Fenêtre interne +BAT ehcuoT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | +| --- | --- | --- | ------- | ------- | --- | --- | +elbisiV +nalP +| FI_Fiche_Intervention | | 0 | 0 1453 | 743 | 0 | | +| --------------------- | --- | --- | ------ | --- | --- | --- | +Fenêtre interne : FI_Fiche_Intervention +| 06/08/2026 | | | Isis_BO | | | 3010 | +| ---------- | --- | --- | ------- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton +notuob epyT +| | | | | | laitini tatE | BAT ehcuoT | | +| --- | --- | --- | --- | --- | ------------ | ---------- | --- | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| BTN_Calculer | -31 0 | 10 | 10 | 0 | Actif | Normal | | +| ------------ | ----- | --- | --- | --- | ----- | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --------------------- | ------- | ------- | --- | ------------ | --------- | --- | +| | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Bloque | -39 72 | 20 | 20 | 0 | Actif | | | +| ------------------------ | ------- | ---- | --- | --- | -------- | --- | --- | +| IMG_Charger | -41 160 | 25 | 25 | 0 | affichag | | | +| IMG_NonBloque | -38 46 | 20 | 20 | 0 | Actif | | | +| IMG_OK | -39 130 | 25 | 25 | 0 | affichag | | | +| IMG_OPAQ_TETE_FIC_INTERV | 0 0 | 1453 | 45 | 0 | Actif | | | +| IMG_SansNom1 | -40 100 | 25 | 25 | 0 | Actif | | | +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_CELL_DROITE_INTERV | 582 | 1 | 871 | 691 | 0 | Actif | | +| --------------------- | --- | --- | ---- | --- | --- | ----- | --- | +| SC_CELL_GAUCHE_INTERV | 0 | 1 | 574 | 691 | 0 | Actif | | +| SC_TETE_INTERV | 0 | 0 | 1453 | 45 | 0 | Actif | | +Disposition +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | +| | X noitisoP | Y noitisoP | | | | | | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| D_FIC_INTERV | 0 | 0 | 1453 | 743 | 0 | Actif | | +| ------------ | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV +| 06/08/2026 | | Isis_BO | | | | | 3011 | +| ---------- | --- | ------- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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_DUREEPREVUE | 592 | 518 | 46 22 | 0 | Actif | | Numéri | | Non | | | | | +| ------------------- | --- | ------- | ----- | --- | -------- | --- | ------ | --- | --- | --- | --- | --- | --- | +| SAI_MODELECHECKLI | 655 | 504 231 | 26 | 0 | Actif | | Texte | | Non | | | | | +| SAI_MaNoteAdministr | 10 | 17 797 | 30 | 0 | Actif | | Texte | | Non | | | | | +| SAI_MonCommentair | 6 | 22 797 | 35 | 0 | Actif | | Texte | | Non | | | | | +| SAI_TEMPSPASSE | 592 | 593 | 46 22 | 0 | affichag | | Numéri | | Non | | | | | +| SAI_TEMPSRESTANT | 592 | 554 | 46 22 | 0 | affichag | | Numéri | | Non | | | | | +| SAI_TEMPSRESTANT1 | 596 | 634 | 46 22 | 0 | Actif | | Numéri | | Non | | | | | +| SAI_TEMPSRESTANT2 | 598 | 679 102 | 22 | 0 | affichag | | Numéri | | Non | | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | --- | +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_0_DATA_CONTRAT | | 974 | 569 | | 162 | 17 | 0 | | Actif | Gauche | Haut | | | +| ---------------------- | --- | ---- | --- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | --- | +| LIB_AjoutNote | | | 9 | 4 | 156 | 16 | 0 | | Actif | Gauche | Centre | | | +| LIB_AjoutNoteAd | | 13 | | 1 | 188 | 16 | 0 | | Actif | Gauche | Centre | | | +| LIB_DUREEPREVUE | | 592 | 505 | | 81 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_InfoMessageAdmin | | 251 | | 6 | 337 | 15 | 0 | | Actif | Gauche | Haut | | | +| LIB_InfoMessageExterne | | 249 | | 8 | 332 | 15 | 0 | | Actif | Gauche | Haut | | | +| LIB_InfoMessageInterne | | 283 | | 8 | 291 | 15 | 0 | | Actif | Gauche | Haut | | | +| LIB_TEMPSAVECPOND | | 590 | 662 | | 112 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_TEMPSESTIME | | 590 | 621 | | 81 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_TEMPSPASSE | | 590 | 580 | | 81 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_TEMPSRESTANT | | 591 | 541 | | 81 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_UNITEDUREEPREVUE | | 641 | 521 | | 52 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_UNITETEMPSPASSE | | 641 | 599 | | 52 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_UNITETEMPSRESTANT | | 641 | 558 | | 52 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_UNITETEMPSRESTANT1 | | 645 | 637 | | 52 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_UNITETEMPSRESTANT2 | | 1504 | 576 | | 52 | 14 | 0 | | Actif | Gauche | Haut | | | +Bouton +| | | | | | | | | | | | BAT ehcuoT | notuob epyT | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | --- | +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | | | | | | +| --- | --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | +| | | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_ADD_MESS_EXT | | | 754 | | 3 | 24 | 24 | | 0 | Actif | | Normal | | +| --------------------- | --- | --- | ---- | --- | --- | ------- | --- | --- | --- | ----- | --- | ------ | ---- | +| BTN_ADD_RAPPORT | | | 1354 | | 519 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_ADD_RAPPORT_2 | | | 1354 | | 519 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_ADD_RAPPORT_3 | | | 1394 | | 504 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_AJOUTE_CHECKLIST | | | 922 | | 504 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_AJOUTE_Fichier | | | 1115 | | 495 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_AJOUTE_NOTE_Admin | | | 824 | | 3 | 24 | 24 | | 0 | Actif | | Normal | | +| 06/08/2026 | | | | | | Isis_BO | | | | | | | 3012 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +| | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | | X noitisoP Y noitisoP | | | | | | +| --- | --- | --------------------- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_AJOUTE_NOTE_INTERNE | | 816 | 3 24 24 | 0 | Actif | | Normal | +| --------------------------- | --- | ---- | --------- | --- | ----- | --- | ------ | +| BTN_DEL_DOC | | 1115 | 555 24 24 | 0 | Grisé | | Normal | +| BTN_DEL_MESS_EXT | | 814 | 3 24 24 | 0 | Actif | | Normal | +| BTN_DEL_RAPPORT | | 1416 | 519 24 24 | 0 | Actif | | Normal | +| BTN_EDT_DOC | | 1116 | 525 24 24 | 0 | Grisé | | Normal | +| BTN_EDT_MESS_EXT | | 784 | 3 24 24 | 0 | Actif | | Normal | +| BTN_EDT_RAPPORT | | 1384 | 519 24 24 | 0 | Actif | | Normal | +| BTN_ENV_MESS_EXT | | 722 | 3 24 24 | 0 | Actif | | Normal | +| BTN_GALERIE_DOC | | 1115 | 582 24 24 | 0 | Actif | | Normal | +| BTN_IMPR_CR | | 1416 | 511 24 24 | 0 | Actif | | Normal | +| BTN_LOUPE_MODELE_CHECKLIST | | 892 | 504 24 24 | 0 | Actif | | Normal | +| BTN_REFRESH_SVT | | 711 | 495 24 24 | 0 | Actif | | Normal | +| BTN_REPDOC | | 1115 | 638 24 24 | 0 | Actif | | Normal | +| BTN_Reduire | | 1115 | 665 24 24 | 0 | Actif | | Normal | +| BTN_Refresh_Action | | 1383 | 502 24 24 | 0 | Actif | | Normal | +| BTN_Refresh_CR | | 1386 | 511 24 24 | 0 | Actif | | Normal | +| BTN_Refresh_Champs_Perso | | 1414 | 520 24 24 | 0 | Actif | | Normal | +| BTN_Refresh_Doc | | 1115 | 610 24 24 | 0 | Actif | | Normal | +| BTN_Refresh_Message_Externe | | 690 | 3 24 24 | 0 | Actif | | Normal | +| BTN_Refresh_Message_Interne | | 786 | 3 24 24 | 0 | Actif | | Normal | +| BTN_Refresh_Note_Admin | | 795 | 2 24 24 | 0 | Actif | | Normal | +| BTN_Refresh_rapport | | 1322 | 519 24 24 | 0 | Actif | | Normal | +| BTN_Refresh_rapport1 | | 1364 | 504 24 24 | 0 | Actif | | Normal | +| BTN_SUPPRIME_ACTION | | 1411 | 502 24 24 | 0 | Actif | | Normal | +| BTN_SUPPRIME_CHECKLIST | | 952 | 504 24 24 | 0 | Actif | | Normal | +| BTN_VALIDER_NOTEAdmin | | 817 | 21 24 24 | 0 | Actif | | Normal | +| BTN_VALIDER_NOTEINTERNE | | 812 | 27 24 24 | 0 | Actif | | Normal | +| BTN_VueDossierRapport | | 1293 | 517 24 24 | 0 | Actif | | Normal | +Image +| | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | --- | --------------------- | --- | --- | ------------ | --------------------- | ----------------- | +| | | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +ruetuaH cilc cevA +ruegraL +elbisiV +nalP +| IMG_Previsu | | 1145 504 | 301 180 | 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 | | | | | +| --- | --------------------- | ------- | ------------ | -------- | --- | --- | --- | +| | | ruetuaH | | sruocraP | | | | +| | | ruegraL | elbisiV | | | | | +elbaT +nalP +| TABLE_ACTION | 589 529 | 857 174 0 | Actif Variable | | | | 5 | +| --------------- | ------- | --------- | -------------- | --- | --- | --- | --- | +| TABLE_CHECKLIST | 589 531 | 857 176 0 | Actif Variable | | | | 3 | +Mémoir +| TABLE_CHECKLIST1 | 589 599 | 857 81 0 | affichag | | | | 2 | +| ---------------- | ------- | --------- | -------------- | --- | --- | --- | ---- | +| TABLE_CHP_PERSO | 595 514 | 456 174 0 | Actif Variable | | | | 1 | +| 06/08/2026 | | | Isis_BO | | | | 3013 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 | | | | | | | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | --- | --- | +| | | | ruetuaH | | | | sruocraP | | | | | | +| | | ruegraL | | | elbisiV | | | | | | | | +elbaT +nalP +TABLE_COMPTEREND +| | 595 | 538 845 | 148 | 0 | affichag | Variable | | | | | | 1 | +| --------------- | --- | ------- | --- | --- | -------- | -------- | --- | --- | --- | --- | --- | --- | +| TABLE_DOCUMENTS | 589 | 509 520 | 184 | 0 | Actif | Variable | | | | | | 0 | +TABLE_MessageExter +| | 0 | 0 851 | 168 | 0 | affichag | Variable | | | | | | 6 | +| ------------- | --- | ------- | --- | --- | -------- | -------- | --- | --- | --- | --- | --- | --- | +| TABLE_RAPPORT | 589 | 546 857 | 154 | 0 | Actif | Variable | | | | | | 4 | +Onglet +slennoitroporp steloV +engil/stelov .bN +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | stelov .soP | | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | ----------- | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ONG_COMPL_INTERV | | | 7 | 410 | 857 262 | 0 | Actif | | haut | | | 0 | +| ---------------- | --- | --- | --- | --- | ------- | --- | ----- | --- | ---- | --- | --- | --- | +Forme +BAT ehcuoT +| | | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | +| --- | --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +| | | | | | | ruegraL | | | elbisiV | | | | +| --- | --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | --- | +nalP +| FRM_CADRE_CARACTERISTIQUES2 | | | | 591 | 496 | 147 | 214 | 0 | | Actif | | | +| --------------------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +| FRM_NoteAd | | | | 2 | 0 | 851 | 30 | 0 | | Actif | | | +| FRM_SansNom1 | | | | 0 | 0 | 851 | 30 | 0 | | Actif | | | +| FRM_SansNom1 | | | | 0 | 0 | 845 | 30 | 0 | | Actif | | | +Zone répétée +BAT ehcuoT +| | | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | +| --- | --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_Message_Admin | | | | 3 | 2 | 845 | 63 | 0 | | Actif | | | +| ------------------ | --- | --- | --- | --- | ------- | --- | --- | --- | --- | ----- | --- | ---- | +| ZR_Message_Interne | | | | 0 | 0 | 849 | 64 | 0 | | Actif | | | +| 06/08/2026 | | | | | Isis_BO | | | | | | | 3014 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Fenêtre interne +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CFI_SOUS_INTERV | 1 | 18 870 | 673 | 0 | Actif | | +| --------------- | --- | ------ | --- | --- | ----- | --- | +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_CONTACT_SITE_INTERV | 2 | 231 864 | 173 | 0 | Actif | | +| ---------------------- | --- | ------- | --- | --- | ----- | --- | +| SC_DESCRI_INTERV | 396 | 18 469 | 193 | 0 | Actif | | +| SC_HISTO_ETAT_INTERV | 4 | 18 384 | 193 | 0 | Actif | | +Tableau croisé dynamique +BAT ehcuoT +laitini tatE +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| TCD_SuiviTemps | 709 | 496 737 | 188 | 0 | Actif | | +| -------------- | --- | ------- | --- | --- | ----- | --- | +Valeur d'un tableau croisé dynamique +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| VAL_SansNom2 | | 104 | 18 | | Actif | | +| ------------ | --- | --- | --- | --- | ----- | --- | +Entête ou filtre d'un tableau croisé dynamique +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +COL_M_dDateDebut_Année +COL_M_dDateDebut_Jour +COL_M_dDateDebut_Mois +COL_M_dDateDebut_Semaine +COL_NomCollaborateur +| 06/08/2026 | | Isis_BO | | | | 3015 | +| ---------- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Disposition +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| DISP_MessageExterne | | 589 | 506 | 851 183 | 0 | Actif | | +| ------------------- | --- | --- | --- | ------- | --- | ----- | --- | +| DISP_NoteAdmin | | 590 | 510 | 855 180 | 0 | Actif | | +| DISP_NoteInterne | | 591 | 509 | 851 181 | 0 | Actif | | +Table : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.ONG_COMPL_INTERV.TA +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_DAC_DateAction | 66 | Actif | | Droite Centre | Date | | | +| COL_HAC_HeureAction | 36 | Actif | | Droite Centre | Heure | | | +| COL_NAC_IDTypeAction | 162 | Actif | | Gauche Centre | Texte | | | +| COL_NAC_IDQui | 100 | Actif | | Gauche Centre | Texte | | | +| COL_SAC_Description | 395 | Actif | | Gauche Centre | Texte | | | +| COL_BAC_Clos | 31 | Actif | | Centre Centre | | | | +| COL_PKID | 100 | Actif | | Gauche Centre | Texte | | | +Table : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.ONG_COMPL_INTERV.TA +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +laitini tatE FTR tamroF +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_NOMCHECKLIST | 612 | 560 231 | 16 | 0 Actif | Gauche | Haut | | +| ---------------- | --- | ------- | ------- | ------- | ------ | ---- | ---- | +| 06/08/2026 | | | Isis_BO | | | | 3016 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton +notuob epyT +| | | | | | | laitini tatE | BAT ehcuoT | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | ---------- | --- | +| | X noitisoP | Y noitisoP | | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| BTN_AJOUTE_ELEMENT_CHECKLIST | 922 | 556 | 24 | 24 | 0 | Actif | | Normal | +| ------------------------------ | --- | --- | --- | --- | --- | ----- | --- | ------ | +| BTN_Modifier_ELEMENT_CHECKLIST | 952 | 556 | 24 | 24 | 0 | Grisé | | Normal | +| BTN_SUPPRIME_ELEMENTCHECKLIST | 982 | 556 | 24 | 24 | 0 | Actif | | Normal | +| BTN_Valider_CHECKLIST | 892 | 556 | 24 | 24 | 0 | Actif | | Normal | +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_PLUSMOINS | 25 | Actif | | Gauche | Centre | Texte | | | +| COL_Fait | 35 | Actif | | Centre | Centre | | | | +| COL_Element | 264 | Actif | | Gauche | Centre | Texte | | | +| COL_Qui | 446 | affichag | | Gauche | Centre | Texte | | | +| COL_NOM | 277 | Actif | | Gauche | Centre | Texte | | | +Rupture de zone répétée +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +RUPT_BasRupture1 +RUPT_HautRupture1 +Table : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.ONG_COMPL_INTERV.TA +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_RENDEZVOUS_CHECK | 614 | 632 84 | 14 | 0 | Actif | Gauche | Haut | | +| --------------------- | --- | ------- | ------- | --- | ----- | ------ | ---- | ---- | +| LIB_RENDEZVOUS_CHECK1 | 704 | 632 148 | 14 | 0 | Actif | Gauche | Haut | | +| 06/08/2026 | | | Isis_BO | | | | | 3017 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton +notuob epyT +| | | | | | laitini tatE BAT ehcuoT | | +| --- | ---------- | ---------- | --- | --- | ----------------------- | --- | +| | X noitisoP | Y noitisoP | | | | | +ruegraL ruetuaH +elbisiV +nalP +| BTN_DEL_RAPPORT1 | 1319 | 627 | 24 | 24 0 | Actif | Normal | +| ------------------------------ | ---- | --- | --- | ---- | ----- | ------ | +| BTN_Modifier_ELEMENT_CHECKLIST | 1289 | 627 | 24 | 24 0 | Actif | Normal | +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_VIDE | 100 | Actif | | Gauche Centre | Texte | | +| COL_Eléments | 359 | Actif | | Gauche Centre | Texte | | +| COL_Collaborateur | 300 | Actif | | Gauche Centre | Texte | | +| COL_DateRendezVous | 100 | Actif | | Droite Centre | Date | | +Rupture de zone répétée +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +RUPT_BRupt_CheckList +RUPT_HRupt_CheckList +Table : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.ONG_COMPL_INTERV.TA +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_LIBCHP | 191 | affichag | | Gauche Centre | Texte | | +| COL_VALCHP | 171 | Actif | | Gauche Centre | Texte | | +Numériq +| COL_IDPARAM | 100 | Actif | | Droite Centre | | | +| ----------- | --- | ----- | ------- | ------------- | ------- | ---- | +| COL_PKID | 100 | Actif | | Droite Centre | Numériq | | +| 06/08/2026 | | | Isis_BO | | | 3018 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Table : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.ONG_COMPL_INTERV.TA +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_DATEHEURE | 66 | Actif | | Droite Centre | Date | | +| COL_DATEHEUREFIN | 60 | Actif | | Droite Centre | Date | | +| COL_RMQ_INTERNE | 222 | Actif | | Gauche Centre | Texte | | +| COL_Signataire | 133 | Actif | | Gauche Centre | Texte | | +| COL_RMQ_CLIENT | 277 | Actif | | Gauche Centre | Texte | | +| COL_PKID | 100 | Actif | | Droite Centre | Numériq | | +Table : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.ONG_COMPL_INTERV.TA +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_IdDoc | 100 | Actif | | Droite Centre | Numériq | | +| COL_Icone | 54 | affichag | | Centre Centre | | | +| COL_Categorie | 97 | Actif | | Gauche Centre | Texte | | +| COL_NomDoc | 100 | affichag | | Gauche Centre | Texte | | +| COL_Note | 150 | Actif | | Gauche Centre | Texte | | +| COL_UserCrea | 102 | affichag | | Droite Centre | Date | | +| COL_UserModif | 132 | affichag | | Droite Centre | Date | | +| COL_IdIntervention | 100 | Actif | | Gauche Centre | Texte | | +| COL_CHEMINFICHIER | 100 | Actif | | Gauche Centre | Texte | | +| COL_PKID | 100 | Actif | | Droite Centre | Numériq | | +Numériq +| COL_IdEtat | 100 | Grisé | | Droite Centre | | | +| ---------- | --- | ----- | ------- | ------------- | --- | ---- | +| 06/08/2026 | | | Isis_BO | | | 3019 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Table : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.ONG_COMPL_INTERV.DIS +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_IdMessage | 100 | Actif | | Droite Centre | Numériq | | +| COL_Envoie | 53 | Actif | | Centre Centre | | | +| COL_DateCrea | 114 | affichag | | Droite Centre | Date | | +| COL_Sujet | 146 | Actif | | Gauche Centre | Texte | | +| COL_Destinataire | 130 | Actif | | Gauche Centre | Texte | | +| COL_Message | 272 | Actif | | Gauche Centre | Texte | | +| COL_PJ | 38 | Actif | | Centre Centre | | | +| COL_Expediteur | 91 | Actif | | Gauche Centre | Texte | | +| COL_UserCrea | 129 | affichag | | Gauche Centre | Texte | | +| COL_IdIntervention | 100 | Actif | | Gauche Centre | Texte | | +| COL_Brouillon | 100 | Actif | | Centre Centre | | | +| COL_PKID | 100 | Actif | | Droite Centre | Numériq | | +Table : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.ONG_COMPL_INTERV.TA +Bouton +BAT ehcuoT notuob epyT +laitini tatE +| | X noitisoP | Y noitisoP | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_ETAT | 594 | 567 | 16 | 16 0 | affichag | Normal | +| -------- | --- | --- | --- | ---- | -------- | ------ | +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | elbairt ennoloC | ehcrehcer cevA | | | +| --- | --- | -------------- | --------------- | -------------- | --- | --- | +| | | ehcuag à eéxiF | | .zroh egardaC | | | +.trev egardaC +| | | | elbaçalpéD | | eisias epyT FTR tamroF | eisias cevA | +| --- | --- | ------------ | ---------- | --- | ---------------------- | ----------- | +| | | laitini tatE | | | engilitluM | | +ruegraL elbisiV +| epyT | | | | | | eéirT | +| ---- | --- | --- | --- | --- | --- | ----- | +Numériq +| COL_IdDoc | 100 | Actif | | Droite Centre | | | +| ------------- | --- | -------- | ------- | ------------- | ----- | ---- | +| COL_Icone | 33 | affichag | | Centre Centre | | | +| COL_Categorie | 120 | Actif | | Gauche Centre | Texte | | +| COL_NomDoc | 400 | affichag | | Gauche Centre | Texte | | +| COL_Note | 91 | Actif | | Gauche Centre | Texte | | +| COL_UserCrea | 167 | affichag | | Droite Centre | Date | | +| COL_UserModif | 167 | affichag | | Droite Centre | Date | | +| 06/08/2026 | | | Isis_BO | | | 3020 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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_IdIntervention | | 100 | Actif | | | | Gauche | Centre | Texte | | | | +| COL_CHEMINFICHIER | | 100 | Actif | | | | Gauche | Centre | Texte | | | | +| COL_PKID | | 100 | Actif | | | | Droite | Centre | Numériq | | | | +Zone répétée : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.ONG_COMPL_INTERV.DIS +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_CommentaireAd | 7 | 24 780 | 35 | 0 affichag | | Texte | | Non | | | | | +| ----------------- | --- | ------ | --- | ---------- | --- | ----- | --- | --- | --- | --- | --- | --- | +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | --- | +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | | | | +elbisiV +nalP +| LIB_AuteurAd | | 9 | 5 | 472 | 16 | | 0 | Actif | Gauche | Haut | | | +| ------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | --- | +| LIB_DateCommentaire | | 669 | 7 | 156 | 14 | | 0 | Actif | Droite | Centre | | | +| LIB_IDMessage | | 508 | 4 | 16 | 20 | | 0 | Actif | Gauche | Haut | | | +Bouton +notuob epyT +| | | | | | | | | | laitini tatE | BAT ehcuoT | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | ---------- | --- | --- | +| | | | X noitisoP | Y noitisoP | | | | | | | | | +| | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_DEL_MessageInterne | | | 800 | 29 | 24 | | 24 | 0 | Actif | | Normal | | +| ---------------------- | --- | --- | --- | --- | ------- | --- | --- | --- | ----- | --- | ------ | ---- | +| 06/08/2026 | | | | | Isis_BO | | | | | | | 3021 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Attribut zone répétée +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +ATT_AuteurAd +ATT_BulleAideAd +ATT_DateAd +ATT_IDMessageAd +ATT_NoteAd +ATT_SupprimeAd +Zone répétée : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.ONG_COMPL_INTERV.DIS +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 | FTR tamroF | | | | +| | X noitisoP Y noitisoP | | | | engilitluM | | | | | +ruegraL ruetuaH +elbisiV +nalP +| SAI_Commentaire | 7 | 24 782 35 | 0 Actif | | Texte | Non | | | | +| --------------- | --- | --------- | ------- | --- | ----- | --- | --- | --- | --- | +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Auteur | | 9 5 | 472 | 16 | 2 | Actif | Gauche | Haut | | +| ------------------- | --- | ----- | --- | --- | --- | ----- | ------ | ------ | --- | +| LIB_DateCommentaire | | 674 6 | 156 | 14 | 0 | Actif | Droite | Centre | | +| LIB_IDMessage | | 485 6 | 16 | 20 | 0 | Actif | Gauche | Haut | | +Bouton +| | | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | | X noitisoP | Y noitisoP | | | | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_DEL_MessageInterne | | 799 | 29 | 24 | 24 | 0 | Actif | Normal | | +| ---------------------- | --- | --- | --- | ------- | --- | --- | ----- | ------ | ---- | +| 06/08/2026 | | | | Isis_BO | | | | | 3022 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Attribut zone répétée +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +ATT_Auteur +ATT_BulleAide +ATT_Commentaire +ATT_Date +ATT_IDMessage +ATT_Supprime +Superchamp : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.SC_CONTACT_SITE_INTER +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 | FTR tamroF | | | | +| | X noitisoP Y noitisoP | | | | engilitluM | | | | | +ruegraL ruetuaH +elbisiV +nalP +| SAI_CodeContact | 147 | 3 385 26 | 0 Actif | | Texte | Non | | | | +| --------------- | --- | -------- | ------- | --- | ----- | --- | --- | --- | --- | +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_CONTACTSITE | | 31 7 | 116 | 19 | 0 | Actif | Gauche | Haut | | +| --------------- | --- | ---- | --- | --- | --- | ----- | ------ | ---- | --- | +Bouton +| | | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | | X noitisoP | Y noitisoP | | | | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_ADD_PERS_SITE | | 709 | 4 | 24 | 24 | 0 | Actif | Normal | | +| ------------------- | --- | --- | --- | ------- | --- | --- | ----- | ------ | ---- | +| BTN_DEL_PERS_SITE | | 773 | 4 | 24 | 24 | 0 | Actif | Normal | | +| BTN_EDT_PERS_SITE | | 741 | 4 | 24 | 24 | 0 | Actif | Normal | | +| BTN_LOUPE_PERS_SITE | | 677 | 4 | 24 | 24 | 0 | Actif | Normal | | +| BTN_LigneSuivante | | 541 | 4 | 30 | 26 | 0 | Actif | Normal | | +| 06/08/2026 | | | | Isis_BO | | | | | 3023 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › 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_ICONE_CLIENT | | 6 | 8 | 16 16 | 0 | Actif | | | +| ---------------- | --- | --- | --- | ----- | --- | ----- | --- | --- | +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | ------------------ | ------------------ | ------------------ | ----------------------------- | +| | | | | | )(ertliFH resilitU | ruesnecsa elluB | | | +| | | | | | .gerne egacolB | noitcelésitluM | EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +edacsac eisiaS +BAT ehcuoT +| | X noitisoP | | | laitini tatE | | | | | +| --- | ---------- | --- | --- | ------------ | -------- | --- | --- | --- | +| | Y noitisoP | | | | sruocraP | | | | +ruegraL ruetuaH +elbisiV +| | | | nalP | elbaT | | | | | +| ----------------- | ---- | ------- | ---- | -------------- | --- | --- | --- | --- | +| TABLE_INTERLOCUTE | 0 29 | 862 142 | 0 | Actif Variable | | | | 5 | +Table : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.SC_CONTACT_SITE_INTER +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | | +| --- | --- | ---------- | ---------- | --------------- | --- | ------------ | --- | --- | +| | | | | ruegraL ruetuaH | | | | | +elbisiV +nalP +| BTN_DEMANDEUR | | | 3 | 2 16 | 16 0 | Actif | | Normal | +| ------------- | --- | --- | --- | ---- | ---- | ----- | --- | ------ | +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_DEMANDEUR | | 32 | Actif | | Centre Centre | | | | +| COL_Nom | | 142 | affichag | | Gauche Centre | Texte | | | +| COL_Type | | 122 | affichag | | Gauche Centre | Texte | | | +| COL_Tel1 | | 108 | affichag | | Gauche Centre | Texte | | | +| COL_Tel2 | | 106 | affichag | | Gauche Centre | Texte | | | +| COL_Etage | | 78 | affichag | | Gauche Centre | Texte | | | +| COL_Lot | | 139 | affichag | | Gauche Centre | Texte | | | +| COL_NumI | | 76 | affichag | | Gauche Centre | Texte | | | +| COL_Mail | | 104 | affichag | | Gauche Centre | Texte | | | +| COL_PKID | | 100 | affichag | | Droite Centre | Numériq | | | +| 06/08/2026 | | | | Isis_BO | | | | 3024 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Superchamp : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.SC_DESCRI_INTERV +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_Description | 0 31 | 467 163 | 0 | Actif | Texte | Non | | | | +| --------------- | ---- | ------- | --- | ----- | ----- | --- | --- | --- | --- | +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_DESCRIPTION | | 31 7 | 69 | 19 | 0 | Actif | Gauche | Haut | | +| --------------- | --- | ---- | --- | --- | --- | ----- | ------ | ---- | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| --- | --- | ---------- | ---------- | ------- | ------- | ------- | ------------ | --------- | ---------- | +| | | | | | ruetuaH | | | cilc cevA | | +| | | | | ruegraL | | elbisiV | | | | +nalP +| IMG_ICONE_CARACTERISTIQUES1 | | 6 | 8 | 16 | 16 | 0 | Actif | | | +| --------------------------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Superchamp : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.SC_HISTO_ETAT_INTERV +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_CARACTERISTIQUE | | 31 7 | 153 | 19 | 0 | Actif | Gauche | Haut | | +| ------------------- | --- | ---- | --- | ------- | --- | ----- | ------ | ---- | ---- | +| 06/08/2026 | | | | Isis_BO | | | | | 3025 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton +notuob epyT +| | | | | | | | laitini tatE | BAT ehcuoT | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | --- | +| | | X noitisoP | Y noitisoP | | | | | | | +| | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_DEL_HISTO_ETATINTERV | | 292 | 4 | 24 | 24 | 0 | Actif | | Normal | +| ------------------------ | --- | --- | --- | --- | --- | --- | ----- | --- | ------ | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | | +| --- | --- | --------------------- | ------- | --- | ------- | --- | ------------ | --------- | --- | +| | | | ruegraL | | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_ICONE_CARACTERISTIQUES1 | | 6 | 8 | 16 | 16 | 0 | Actif | | | +| --------------------------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | --- | ------------------ | ------------------ | ------------------ | ----------------------------- | +| | | | | | | )(ertliFH resilitU | ruesnecsa elluB | EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +| | | | | | | .gerne egacolB | noitcelésitluM | edacsac eisiaS | | +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | | +| --- | --------------------- | --------------- | --- | ------------ | -------- | --- | --- | --- | --- | +| | | ruegraL ruetuaH | | | sruocraP | | | | | +elbisiV +elbaT +nalP +| TABLE_HISTO_ETAT | 0 31 | 382 163 | 0 Actif | | Variable | | | | 1 | +| ---------------- | ---- | ------- | ------- | --- | -------- | --- | --- | --- | --- | +Table : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.SC_HISTO_ETAT_INTERV.T +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | laitini tatE | | | FTR tamroF | +| | | X noitisoP Y noitisoP | | | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| LIB_DateHeure | | 20 58 | 92 | 19 | 0 | Actif | Gauche | Haut | | +| ------------- | --- | ----- | --- | ------- | --- | ----- | ------ | ---- | ---- | +| 06/08/2026 | | | | Isis_BO | | | | | 3026 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › 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 +| COMBO_HistoEtat | 130 | 56 229 | 22 | 0 | affichag | Variable | | Non | | +| --------------- | --- | ------ | --- | --- | -------- | -------- | --- | --- | --- | +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC +| | | | | ehcuag à eéxiF | | ehcrehcer cevA | | | | +| --- | --- | --- | --- | -------------- | --- | -------------- | ------------- | --- | --- | +| | | | | | | .zroh egardaC | .trev egardaC | | | +FTR tamroF +| | | | laitini tatE | elbaçalpéD | | | | eisias epyT engilitluM | eisias cevA | +| --- | --- | --- | ------------ | ---------- | --- | --- | --- | ---------------------- | ----------- | +ruegraL +elbisiV +| | epyT | | | | | | | | eéirT | +| --------------- | ---- | --- | -------- | --- | --- | ------ | ------ | ------- | ----- | +| COL_DateDebut | | 180 | affichag | | | Droite | Centre | Date | | +| COL_Etat | | 183 | affichag | | | Gauche | Centre | Texte | | +| COL_Commentaire | | 362 | Actif | | | Gauche | Centre | Texte | | +| COL_PKID | | 100 | Actif | | | Droite | Centre | Numériq | | +Rupture de zone répétée +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +RUPT_BasHistoEtat +RUPT_HautHistoEtat +Superchamp : FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_GAUCHE_INTERV +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 | +| --- | ---------- | --- | --- | ------------ | ----------- | --------------------- | --- | ------------------------- | ------------- | +| | X noitisoP | | | laitini tatE | eisias epyT | engilitluM FTR tamroF | | | | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| SAI_CodeLieu | -288 219 | 246 26 | 0 | Grisé | Texte | | Non | | | +| ------------ | -------- | ------ | --- | ------- | ----- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Isis_BO | | | | | 3027 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Superchamp +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_CARACTERISTIQUES_INTERV | | | 340 | 18 | 234 | 193 | 0 | Actif | | +| -------------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| SC_CONTACT_CLI_INTERV | | | 18 | 18 | 306 | 195 | 0 | Actif | | +| SC_RDV_INTERV | | | 18 | 421 | 556 | 256 | 0 | Actif | | +| SC_SITE_INTERV | | | 18 | 217 | 556 | 198 | 0 | Actif | | +Superchamp : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_GAUCHE_INTERV.SC_CARACTERISTIQUES_ +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_REFEXTERNE | 10 163 | 190 | 22 0 | Actif | Texte | Non | | | | +| -------------- | ------ | --- | ---- | ----- | ----- | --- | --- | --- | --- | +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP | Y noitisoP | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_CARACTERISTIQUE | | 30 | 8 | 125 16 | 0 | Actif | Gauche | Haut | | +| --------------------- | --- | --- | --- | ------ | --- | ----- | ------ | ---- | --- | +| LIB_ETAT_INTERVENTION | | 10 | 32 | 200 14 | 0 | Actif | Gauche | Haut | | +| LIB_REFEXTERNE | | 10 | 149 | 200 14 | 0 | Actif | Gauche | Haut | | +| LIB_SUIVIPAR | | 10 | 73 | 200 14 | 0 | Actif | Gauche | Haut | | +| LIB_TYPEINTERVENTION | | 10 | 111 | 200 14 | 0 | Actif | Gauche | Haut | | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| --- | --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------- | ---------- | +| | | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_ICONE_CARACTERISTIQUES | | 10 | 8 | 16 | 16 | 0 | Actif | | | +| -------------------------- | --- | --- | --- | ------- | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | | | Isis_BO | | | | | 3028 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › 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 +| COMBO_Etat | 10 | 46 190 | 22 | 0 Actif | | Variable | | Non | | +| ---------------------- | --- | ------- | --- | ------- | --- | -------- | --- | --- | --- | +| COMBO_SuiviPar | 10 | 87 190 | 22 | 0 Actif | | Variable | | Non | | +| COMBO_TypeIntervention | 10 | 125 190 | 22 | 0 Actif | | Variable | | Non | | +Superchamp : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_GAUCHE_INTERV.SC_CONTACT_CLI_INTER +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP | | | | laitini tatE | | | | +| --- | --- | ---------- | --- | --- | --- | ------------ | --- | --- | --- | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_DONNEUR_ORDRE | | 23 8 | 126 | 16 | 0 | Actif | Gauche | Haut | | +| ----------------- | --- | ---- | --- | --- | --- | ----- | ------ | ---- | --- | +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_ADD_PERS_CLI_INTERV | | 208 | 4 | 24 | 24 | 0 | Actif | | Normal | +| ------------------------- | --- | --- | --- | --- | --- | --- | ----- | --- | ------ | +| BTN_DEL_PERS_CLI_INTERV | | 272 | 4 | 24 | 24 | 0 | Actif | | Normal | +| BTN_EDT_PERS_CLI_INTERV | | 240 | 4 | 24 | 24 | 0 | Actif | | Normal | +| BTN_LOUPE_PERS_CLI_INTERV | | 176 | 4 | 24 | 24 | 0 | Actif | | Normal | +Image +| | | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --------------------- | ----------------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +cilc cevA +| | | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| IMG_ICONE_CLIENT | | 6 | 8 | 16 | 16 | 0 | Actif | | | +| ---------------- | --- | --- | --- | ------- | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | | | Isis_BO | | | | | 3029 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 | | | | +| --- | --------------------- | ------- | --- | ------------ | -------- | --- | --- | +| | | ruetuaH | | | sruocraP | | | +ruegraL +elbisiV +| | | | nalP | elbaT | | | | +| ----------------- | ---- | ------- | ---- | -------------- | --- | --- | --- | +| TABLE_INTERLOCUTE | 3 43 | 298 132 | 0 | Actif Variable | | | 4 | +Table : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_GAUCHE_INTERV.SC_CONTACT_CLI_INTER +Bouton +notuob epyT +| | | | | | | laitini tatE BAT ehcuoT | | +| --- | --- | ---------- | ---------- | --- | --- | ----------------------- | --- | +| | | X noitisoP | Y noitisoP | | | | | +ruegraL ruetuaH +elbisiV +nalP +| BTN_DEMANDEUR | | | 3 2 | 16 | 16 0 | Actif | Normal | +| ------------- | --- | --- | --- | --- | ---- | ----- | ------ | +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC +| | | | ehcuag à eéxiF | | ehcrehcer cevA | | | +| --- | --- | --- | -------------- | ---------- | --------------------------- | ---------------------- | ----------- | +| | | | | | .zroh egardaC .trev egardaC | | | +| | | | | elbaçalpéD | | FTR tamroF | | +| | | | laitini tatE | | | eisias epyT engilitluM | eisias cevA | +ruegraL +elbisiV +| | epyT | | | | | | eéirT | +| --------------- | ---- | --- | -------- | --- | ------------- | ------- | ----- | +| COL_DEMANDEUR | | 39 | Actif | | Centre Centre | | | +| COL_Nom | | 151 | affichag | | Gauche Centre | Texte | | +| COL_Role | | 92 | affichag | | Gauche Centre | Texte | | +| COL_ACTIONLIGNE | | 31 | Actif | | Gauche Centre | | | +| COL_PKID | | 100 | affichag | | Droite Centre | Numériq | | +Superchamp : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_GAUCHE_INTERV.SC_RDV_INTERV +| 06/08/2026 | | | | Isis_BO | | | 3030 | +| ---------- | --- | --- | --- | ------- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › 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_Date | 11 | 30 100 | 20 | 0 | Actif | Gauche | Haut | | +| ---------------- | --- | ------ | --- | --- | ----- | ------ | ---- | --- | +| LIB_Intervenants | 427 | 31 100 | 20 | 0 | Actif | Gauche | Haut | | +| LIB_Objet | 225 | 30 100 | 20 | 0 | Actif | Gauche | Haut | | +| LIB_RENDEZVOUS | 31 | 7 299 | 19 | 0 | Actif | Gauche | Haut | | +| LIB_Statut | 119 | 30 100 | 20 | 0 | Actif | Gauche | Haut | | +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_ADD_RDV | 426 | 5 | 24 | 24 | 0 | Actif | | Normal | +| --------------- | --- | --- | --- | --- | --- | ----- | --- | ------ | +| BTN_DEL_RDV | 522 | 5 | 24 | 24 | 0 | Actif | | Normal | +| BTN_EDT_RDV | 458 | 5 | 24 | 24 | 0 | Actif | | Normal | +| BTN_IMPR_RDV | 490 | 5 | 24 | 24 | 0 | Actif | | Normal | +| BTN_REFRESH_RDV | 394 | 5 | 24 | 24 | 0 | Actif | | Normal | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------- | ---------- | +| | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_ICONE_CLIENT | 6 | 8 | 16 | 16 | 0 | Actif | | | +| ---------------- | --- | --- | --- | --- | --- | ----- | --- | --- | +Zone répétée +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| ZR_RDV | | 5 | 50 | 545 | 201 | 0 | Actif | | +| ---------- | --- | --- | ------- | --- | --- | --- | ----- | ---- | +| 06/08/2026 | | | Isis_BO | | | | | 3031 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Zone répétée : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_GAUCHE_INTERV.SC_RDV_INTERV.ZR_RDV +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP | Y noitisoP | | laitini tatE | | | | +| --- | ---------- | ---------- | ------- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| LIB_Colab | 421 | 5 101 | 43 | 0 affichag | Gauche | Haut | | +| --------- | --- | ------ | --- | ---------- | ------ | ---- | --- | +| LIB_Date | 4 | 5 107 | 32 | 0 affichag | Gauche | Haut | | +| LIB_Info | 3 | 40 400 | 9 | 0 Actif | Gauche | Haut | | +| LIB_Objet | 217 | 5 188 | 32 | 0 Actif | Gauche | Haut | | +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_Statut | 116 5 | 95 32 | 0 Actif | Mémoire | | Non | | +| ---------- | ----- | ----- | ------- | ------- | --- | --- | --- | +Attribut zone répétée +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +ATT_Colab +ATT_Date +ATT_ID +ATT_Info +ATT_Objet +ATT_Statut +Superchamp : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_GAUCHE_INTERV.SC_SITE_INTERV +| 06/08/2026 | | | Isis_BO | | | | 3032 | +| ---------- | --- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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_CLI_Note1 | 280 140 | 267 | 52 | 0 affichag | | Texte | | Non | | | | | +| ------------------- | ------- | ------ | --- | ---------- | --- | ----- | --- | --- | --- | --- | --- | --- | +| SAI_CodeAcces | 281 | 61 266 | 60 | 0 affichag | | Texte | | Non | | | | | +| SAI_sCodePostal | 0 170 | 65 | 22 | 0 affichag | | Texte | | Non | | | | | +| SAI_sLigneAdresse_1 | 0 129 | 275 | 22 | 0 affichag | | Texte | | Non | | | | | +| SAI_sLigneAdresse_2 | 0 | 86 275 | 22 | 0 affichag | | Texte | | Non | | | | | +| SAI_sLigneAdresse_3 | 0 107 | 275 | 22 | 0 affichag | | Texte | | Non | | | | | +| SAI_sLigneAdresse_4 | 0 | 43 275 | 22 | 0 affichag | | Texte | | Non | | | | | +| SAI_sLigneAdresse_5 | 0 | 64 275 | 22 | 0 affichag | | Texte | | Non | | | | | +| SAI_sVille | 70 170 | 205 | 22 | 0 affichag | | Texte | | Non | | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | --- | +| | | | | | | | | laitini tatE | | | FTR tamroF | | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_ADRESSE | | 0 | 29 | 275 | 14 | | 0 | Actif | Gauche | Haut | | | +| -------------- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | --- | +| LIB_CODEACCES | | 281 | 44 | 133 | 17 | | 0 | Actif | Gauche | Haut | | | +| LIB_CODEPOSTAL | | 0 | 156 | 66 | 14 | | 0 | Actif | Gauche | Haut | | | +| LIB_CodeSITE | | 70 | 4 | 286 | 28 | | 0 | Actif | Gauche | Haut | | | +| LIB_NOTESITE | | 281 | 124 | 133 | 14 | | 0 | Actif | Gauche | Haut | | | +| LIB_SITE | | 27 | 7 | 38 | 19 | | 0 | Actif | Gauche | Haut | | | +| LIB_VILLE | | 70 | 156 | 133 | 14 | | 0 | Actif | Gauche | Haut | | | +Bouton +notuob epyT +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | --- | --- | +| | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_ADD_SITE | | | 394 | 4 | 24 | | 24 | 0 | Actif | | Normal | | +| -------------- | --- | --- | --- | --- | ------- | --- | --- | --- | ----- | --- | ------ | ---- | +| BTN_DEL_SITE | | | 458 | 4 | 24 | | 24 | 0 | Actif | | Normal | | +| BTN_EDT_SITE | | | 426 | 4 | 24 | | 24 | 0 | Actif | | Normal | | +| BTN_LOUPE_SITE | | | 362 | 4 | 24 | | 24 | 0 | Actif | | Normal | | +| 06/08/2026 | | | | | Isis_BO | | | | | | | 3033 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| INT_Badge | | 362 | 36 | 73 | 25 | 0 | affichag | | 1 | | +| -------------- | --- | --- | --- | --- | --- | --- | -------- | --- | --- | --- | +| INT_Interphone | | 447 | 36 | 100 | 25 | 0 | affichag | | 1 | | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | | | | | | | laitini tatE | | sucof cevA | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | ---------- | +| | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | ruegraL | ruetuaH | | | cilc cevA | | | +elbisiV +nalP +| IMG_BloqueSite | | 523 | 16 | | 26 22 | 0 | Actif | | | | +| ---------------- | --- | --- | --- | --- | ----- | --- | ----- | --- | --- | --- | +| IMG_ICONE_CLIENT | | 6 | 8 | | 16 16 | 0 | Actif | | | | +Superchamp : FI_Fiche_Intervention.D_FIC_INTERV.SC_TETE_INTERV +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_DATEDEVIS | 804 14 | 74 22 | 0 | Actif | Date | | Non | | | | +| -------------------- | ------ | ------ | --- | -------- | ----- | --- | --- | --- | --- | --- | +| SAI_DATEFACTURE | 990 14 | 74 22 | 0 | Actif | Date | | Non | | | | +| SAI_DateIntervention | 366 14 | 94 22 | 0 | Actif | Date | | Non | | | | +| SAI_NUMDEVIS | 701 14 | 95 22 | 0 | Actif | Texte | | Non | | | | +| SAI_NUMERO | 6 14 | 102 22 | 0 | affichag | Texte | | Non | | | | +| SAI_NUMFACTURE | 886 14 | 95 22 | 0 | Actif | Texte | | Non | | | | +SAI_OBJET_INTERVEN +| | 115 14 | 242 22 | 0 | Actif | Texte | | Non | | | | +| ---------- | ------ | ------ | --- | ----- | ------- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | | Isis_BO | | | | | 3034 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › 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_BORDURE_DROITE_MENU1 | | 0 39 | 1453 | 8 | 0 | Actif | Gauche | Haut | | +| ------------------------ | --- | ----- | ---- | --- | --- | ----- | ------ | ---- | --- | +| LIB_CREELE | | 365 0 | 96 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_DATEDEVIS | | 804 0 | 71 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_DATEFACTURE | | 990 0 | 71 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_NUMDEVIS | | 701 0 | 95 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_NUMFACTURE | | 886 0 | 95 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_NUMINTERVENTION | | 6 0 | 83 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_SOCIETE | | 469 0 | 124 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_TITREINTERVENTION | | 115 0 | 124 | 14 | 0 | Actif | Gauche | Haut | | +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| BTN_CADENAS_FERME_INTERV | | 1112 | 9 | 24 | 24 | 0 | Actif | | Normal | +| -------------------------------- | --- | ---- | --- | --- | --- | --- | ----- | --- | ------ | +| BTN_CADENAS_OUVERT_INTERV | | 1112 | 9 | 24 | 24 | 0 | Actif | | Normal | +| BTN_Dupliquer | | 1248 | 8 | 24 | 24 | 0 | Actif | | Normal | +| BTN_IMPR_INTERV | | 1146 | 8 | 24 | 24 | 0 | Actif | | Normal | +| BTN_Refresh_fiche_intervention | | 1180 | 8 | 24 | 24 | 0 | Actif | | Normal | +| BTN_Supprimer_fiche_intervention | | 1282 | 8 | 24 | 24 | 0 | Actif | | Normal | +| BTN_SynchroBaseExt | | 1078 | 8 | 24 | 24 | 0 | Actif | | Normal | +| BTN_Valider_fiche_intervention | | 1214 | 8 | 24 | 24 | 0 | Actif | | Normal | +Image +| | | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------------------- | ----------------- | +| | | X noitisoP | | | | | laitini tatE | | sucof cevA | +| | | | Y noitisoP | | | | | cilc cevA | | +| | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| IMG_OPAQ_TETE_FIC_INTERV | | 0 | 0 | 1453 | 45 | 0 | Actif | | | +| ------------------------ | --- | --- | --- | ---- | --- | --- | ----- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | | | eriotagilbo eisiaS | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------------ | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | | BAT ehcuoT | | eisias cevA | | | +| --- | ---------- | ---------- | ------- | --- | ------------ | -------- | ----------- | --- | --- | +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | | +| | | ruegraL | ruetuaH | | | sruocraP | | | | +elbisiV +| | | | | | | elbaT | eéirT | | | +| --- | --- | --- | --- | --- | --- | ----- | ----- | --- | --- | +nalP +| COMBO_Societe | 469 | 14 220 | 22 | 0 Actif | | Mémoire | | Non | | +| ------------- | --- | ------ | --- | ------- | --- | ------- | --- | --- | ---- | +| 06/08/2026 | | | | Isis_BO | | | | | 3035 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Fenêtre : FI_Fiche_Intervention +Fenêtre interne : FI_Fiche_Intervention +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Fiche_Intervention +Bouton : FI_Fiche_Intervention.BTN_Calculer +Ordre navigation -1 +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 +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 +06/08/2026 Isis_BO 3036 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › 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 +Type flèche +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Image fond FR: D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\210 +Blueberries\Blueberries_Btn_App_Back.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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Intervention.D_FIC_INTERV +Libellé FR: Disposition +Groupe GR_SURACTIVITE +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 +Cellule ancrée 2 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3037 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Image : FI_Fiche_Intervention.IMG_Bloque +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\candado.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Fiche_Intervention.IMG_Charger +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\charger.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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 +06/08/2026 Isis_BO 3038 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Image : FI_Fiche_Intervention.IMG_NonBloque +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\candado-abierto.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +06/08/2026 Isis_BO 3039 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Fiche_Intervention.IMG_OK +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ok.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Fiche_Intervention.D_FIC_INTERV.IMG_OPAQ_TETE_FIC_INTERV +Groupe GR_IMAGE_OPAQUE_FICHE_INTERVENTION +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +06/08/2026 Isis_BO 3040 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 50 +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. +Mire visible Non +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +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 +Image : FI_Fiche_Intervention.IMG_SansNom1 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\interdit.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +06/08/2026 Isis_BO 3041 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV +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 871 +Hauteur externe 691 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_GAUCHE_INTERV +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 574 +Hauteur externe 691 +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 +06/08/2026 Isis_BO 3042 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 Hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Fiche_Intervention.D_FIC_INTERV.SC_TETE_INTERV +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 1453 +Hauteur externe 45 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV +06/08/2026 Isis_BO 3043 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS_INTERV +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3044 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Non +Recopie Option menu flèche Non +Menu contextuel +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3045 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Libellé FR: &Bouton +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3046 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Libellé FR: &Bouton +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3047 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3048 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS_INTERV +Ordre navigation 1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3049 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS_INTERV +Ordre navigation 1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3050 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS_INTERV +Ordre navigation 1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3051 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_CADENAS_INTERV +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3052 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS_INTERV +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3053 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_CADENAS_INTERV +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3054 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS_INTERV +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3055 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS_INTERV +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3056 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS_INTERV +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3057 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS_INTERV +Ordre navigation 1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\IconeMail.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3058 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS_INTERV +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Sélection des documents à envoyer par mail +Titre aide FR: Sélection des documents à envoyer par mail +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\IconeMail.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3059 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation 1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Sélection des documents à envoyer par mail +Titre aide FR: Sélection des documents à envoyer par mail +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_imprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3060 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_chercher.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3061 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_refresh.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3062 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_ouvrir_dossier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3063 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\reduire.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3064 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_refresh.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3065 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_refresh.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3066 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_refresh.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3067 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_refresh.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3068 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_refresh.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3069 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_refresh.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3070 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_refresh.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3071 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_refresh.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3072 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_refresh.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3073 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_CADENAS_INTERV +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3074 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3075 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Image fond FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_valider.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 Droite et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3076 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Image fond FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_valider.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 Droite et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3077 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Ouvrir le rapport dans l'explorateur de fichiers +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\dossier.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3078 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Fenêtre interne : +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 +Ancrage au contenu +Numéro aide 0 +Ascenseur auto. 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 +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Entête ou filtre d'un tableau croisé dynamique : +Tri croissant Non +Enroulé par défaut Oui +Enrouler par l'utilisateur Oui +Masquer par l'utilisateur Oui +Affiche même si null Non +Entête ou filtre d'un tableau croisé dynamique : +Masque affichage FR: JJ/MM/AA +Tri croissant Non +Enroulé par défaut Oui +Enrouler par l'utilisateur Oui +Masquer par l'utilisateur Oui +Affiche même si null Non +06/08/2026 Isis_BO 3079 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Entête ou filtre d'un tableau croisé dynamique : +Tri croissant Non +Enroulé par défaut Oui +Enrouler par l'utilisateur Oui +Masquer par l'utilisateur Oui +Affiche même si null Non +Entête ou filtre d'un tableau croisé dynamique : +Masque affichage FR: SEM 99 +Tri croissant Non +Enroulé par défaut Oui +Enrouler par l'utilisateur Oui +Masquer par l'utilisateur Oui +Affiche même si null Non +Entête ou filtre d'un tableau croisé dynamique : +Tri croissant Oui +Enroulé par défaut Oui +Enrouler par l'utilisateur Oui +Masquer par l'utilisateur Oui +Affiche même si null Non +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 2 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +06/08/2026 Isis_BO 3080 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 3 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 6 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 3 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 3081 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Facteur d'agrandissement 0 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 5 +Débordement Agrandir le champ, pousse les champs autour +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3082 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3083 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\fichier.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image Menu simple + édition intégrée (éditeur complet) +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +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 +Libellé : +Libellé FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red128\green0\blue0;} +{\*\generator Riched20 10.0.17134}\viewkind4\uc1 +\pard\cf1\b\f0\fs17 En cours de d\'e9veloppement\cf0\b0\par +} +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 3084 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Ajouter une note interne +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 +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 +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 +06/08/2026 Isis_BO 3085 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Ajouter une note administrative +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Durée prévue +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 3086 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Aucun message administrative pour cette intervention +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 +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 +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 +06/08/2026 Isis_BO 3087 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Aucun message Externe pour cette intervention +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 +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 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Aucun message interne pour cette intervention +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 3088 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Temps pondération +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 +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 +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 +06/08/2026 Isis_BO 3089 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Temps estimé +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Temps passé +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 3090 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Temps restant +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 +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 +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 +06/08/2026 Isis_BO 3091 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Heure(s) +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Heure(s) +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 3092 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Heure(s) +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 +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 +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 +06/08/2026 Isis_BO 3093 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Heure(s) +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Heure(s) +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 3094 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Onglet : +Libellé FR: &Onglet +Valeur initiale 1 +Groupe GR_ALAPLACECFI_INTERV +Ordre navigation 5 +Curseur survol 0 +Onglet dynamique Non +Libellé volet FR: Nouvel onglet +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Retrait gauche 0 +Retrait des onglets 0 +Numéro aide 0 +Autorise ChangeGabarit Oui +Bouton Fermer Oui +Bouton Nouveau Oui +Volets détachables Oui +Mémoriser Configuration Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Swipe Non +Mode affichage volets < Standard > +Valeur persistante Oui +06/08/2026 Isis_BO 3095 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Durée prévue +Groupe GR_CADENAS_INTERV +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 592 +Largeur interne 46 +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: +9 999 999 999,99 +Masque affichage FR: +9 999 999 999,99 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3096 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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. +Liaison des données :gclPresentationFicheInterv.m_rDureePrevue +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Isis_BO 3097 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 655 +Largeur interne 231 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Saisissez un nom de modèle de checklist +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +06/08/2026 Isis_BO 3098 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 603 +Largeur interne 791 +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 +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 +06/08/2026 Isis_BO 3099 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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. +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 +Champ de saisie : +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +06/08/2026 Isis_BO 3100 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Cadrage horz. Gauche +Position X interne 600 +Largeur interne 791 +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 +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. +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 +06/08/2026 Isis_BO 3101 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 +Champ de saisie : +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 592 +Largeur interne 46 +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: +9 999 999 999,99 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3102 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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. +Liaison des données :gclPresentationFicheInterv.m_rTempsPasse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +06/08/2026 Isis_BO 3103 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Position X interne 592 +Largeur interne 46 +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: +99 999 999,99 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFicheInterv.TempsRestant +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 +06/08/2026 Isis_BO 3104 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 596 +Largeur interne 46 +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: +99 999 999,99 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3105 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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. +Liaison des données :gclPresentationFicheInterv.m_rTempsEstime +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +06/08/2026 Isis_BO 3106 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Cadrage horz. Droite +Position X interne 598 +Largeur interne 102 +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: +99 999 999,99 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFicheInterv.TempsAvecPond +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 +06/08/2026 Isis_BO 3107 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : +Groupe GR_ALAPLACECFI_INTERV +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 862 +Hauteur externe 171 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : +Groupe GR_ALAPLACECFI_INTERV +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 467 +06/08/2026 Isis_BO 3108 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Hauteur externe 191 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : +Groupe GR_ALAPLACECFI_INTERV +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 382 +Hauteur externe 191 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3109 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Table : +Groupe GR_CADENAS_INTERV +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Recherche +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 0 +Marge en bas 0 +Marge à gauche 1 +Marge à droite 3 +Sens Vertical +Retrait gauche 2 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 500 +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 +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +06/08/2026 Isis_BO 3110 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationFicheInterv.ListeAction.m_clTabModele +Rub. mémorisée :gclPresentationFicheInterv.ListeAction.m_clTabModele +Ajout/Suppr. dans variable Non +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 0 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : +Ordre navigation 6 +Curseur survol 0 +Mode Loupe Filtre +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) 16 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 3111 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Mode de sélection Sélection simple +Sélect. colonnes Sans sélection +Sélect. cellules Sans sélection +Ajout éléments supplémentaires Non +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. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationFicheInterv.CheckList.m_clTabModele +Rub. mémorisée :gclPresentationFicheInterv.CheckList.m_clTabModele +Ajout/Suppr. dans variable Non +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 : +Libellé FR: Table +Ordre navigation 7 +Curseur survol 0 +Mode Loupe Filtre +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) 16 +Marge en haut 1 +06/08/2026 Isis_BO 3112 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Ajout/Suppr. dans variable Non +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 +06/08/2026 Isis_BO 3113 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Table : +Libellé FR: Table +Groupe GR_CADENAS_INTERV +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre +UI par l'utilisateur Selon fenêtre +Menu contextuel +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 0 +Hauteur ligne (sans marges) 16 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 3114 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Maximum FR: Maximum +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Non +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationFicheInterv.ListeChpLibre.m_clTabModele +Rub. mémorisée :gclPresentationFicheInterv.ListeChpLibre.m_clTabModele +Ajout/Suppr. dans variable Non +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 : +Libellé FR: Table +Ordre navigation 2 +Curseur survol 0 +Mode Loupe Filtre +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) 16 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 3115 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationFicheInterv.ListeCompteRendu.m_clTabModele +Rub. mémorisée :gclPresentationFicheInterv.ListeCompteRendu.m_clTabModele +Ajout/Suppr. dans variable Non +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 +06/08/2026 Isis_BO 3116 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Table : +Groupe GR_CADENAS_INTERV +Ordre navigation 2 +Curseur survol 0 +Mode Loupe Filtre +UI par l'utilisateur Selon fenêtre +Menu contextuel MENU_SansNom1 +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 0 +Hauteur ligne (sans marges) 24 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Hauteur des lignes Oui +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 +06/08/2026 Isis_BO 3117 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationFicheInterv.ListeDocument.m_clTabModele +Rub. mémorisée :gclPresentationFicheInterv.ListeDocument.m_clTabModele +Ajout/Suppr. dans variable Non +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 +Table : +Groupe GR_CADENAS_INTERV +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre +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) 30 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 3118 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationFicheInterv.ListeMessageExterne.m_clTabModele +Rub. mémorisée :gclPresentationFicheInterv.ListeMessageExterne.m_clTabModele +Ajout/Suppr. dans variable Non +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 : +Groupe GR_CADENAS_INTERV +Ordre navigation 3 +Curseur survol 0 +Mode Loupe Filtre +UI par l'utilisateur Selon fenêtre +Menu contextuel MENU_SansNom1 +Taux Paral. hauteur 0 +Taux Paral. Y 0 +06/08/2026 Isis_BO 3119 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 0 +Hauteur ligne (sans marges) 24 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Hauteur des lignes Oui +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. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationFicheInterv.ListeRapport.m_clTabModele +Rub. mémorisée :gclPresentationFicheInterv.ListeRapport.m_clTabModele +06/08/2026 Isis_BO 3120 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Ajout/Suppr. dans variable Non +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 +Tableau croisé dynamique : +Libellé FR: Tableau croisé dynamique +Ordre navigation -1 +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 +Hauteur ligne (sans marges) 16 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Retrait gauche 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Sélection multiple Non +Position valeurs L'une en dessous de l'autre +Position totaux Totaux en bas et à droite +Totaux toujours visibles Oui +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 +Bulle ascenseur Oui +Asc. horizontal Automatique +Asc. vertical Automatique +Retour à la ligne auto. Non +Mémoriser paramètre utilisateur Oui +Texte Markdown Non +Mode menu ctx. +Fichier parcouru :gclPresentationFicheInterv.ListeSuiviDesTemps.m_clTabModele +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 +06/08/2026 Isis_BO 3121 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Valeur d'un tableau croisé dynamique : +Cadrage horz. Droite +Cadrage vert. Centre +Taille de saisie 0 +Type saisie Monétaire +Masque saisie FR: +999 999,99 hrs +Masque affichage FR: +999 999,99 hrs +Mode ellipse +Unicode Non +Type de calcul La somme de +Mise à blanc Oui +Zone répétée : +Libellé FR: &Zone répétée +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu contextuel +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 0 +Hauteur ligne 61 +Largeur colonne 845 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +06/08/2026 Isis_BO 3122 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Rub. mémorisée :gpclPresenListeMessageInterne.m_clTabModele +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : +Libellé FR: &Zone répétée +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu contextuel +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 0 +Hauteur ligne 61 +Largeur colonne 849 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Isis_BO 3123 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Rub. mémorisée :gpclPresenListeMessageInterne.m_clTabModele +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +06/08/2026 Isis_BO 3124 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Superchamp : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.SC_CONTACT_SITE_INTER +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3125 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_CADENAS_INTERV +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3126 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_EDITLIEU_FICHE_INTERVENTION +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3127 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_CADENAS_INTERV +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_chercher.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3128 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_A_Droite.png +Nb. états image 5 +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3129 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_CONTACTSITE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Contact du site +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 3130 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_CADENAS_INTERV +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 732 +Largeur interne 385 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +06/08/2026 Isis_BO 3131 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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. +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 +06/08/2026 Isis_BO 3132 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Table : +Libellé FR: Contacts +Groupe GR_CADENAS_INTERV +Ordre navigation -1 +Curseur survol 0 +Mode Loupe Filtre +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 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 3133 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationFicheInterv.ListeContactLieu.m_clTabModele +Rub. mémorisée :gclPresentationFicheInterv.ListeContactLieu.m_clTabModele +Ajout/Suppr. dans variable Non +Synchro HFSQL C/S Jamais +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.SC_CONTACT_SITE_INTER +Colonne de table : +Titre FR: D +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Champ principal BTN_DEMANDEUR +Coche tous dans entête Non +06/08/2026 Isis_BO 3134 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Liaison des données :gclPresentationFicheInterv.ListeContactLieu.m_clTabModele.ImageDemandeur +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\demandeur_ok_bleu.png +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3135 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Colonne de table : +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeContactLieu.m_clTabModele.m_clContact.NomPrenom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Rôle +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 122 +Larg. déroulée perso. Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +06/08/2026 Isis_BO 3136 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeContactLieu.m_clTabModele.m_clContact.m_nIDRole +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Tél. 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeContactLieu.m_clTabModele.m_clContact.m_sTelFixe +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3137 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Colonne de table : +Titre FR: Tél. 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeContactLieu.m_clTabModele.m_clContact.m_sTelMobile +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Etage +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 +06/08/2026 Isis_BO 3138 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeContactLieu.m_clTabModele.m_sEtage +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Lot +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 +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 +Liaison des données :gclPresentationFicheInterv.ListeContactLieu.m_clTabModele.m_sLot +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3139 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Colonne de table : +Titre FR: N°I +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Mail +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 +06/08/2026 Isis_BO 3140 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeContactLieu.m_clTabModele.m_clContact.m_sEmail +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: PKID +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: MoneySystemMask +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeContactLieu.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3141 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Superchamp : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.SC_DESCRI_INTERV +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_DESCRIPTION.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Description +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 3142 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Description +Groupe GR_CADENAS_INTERV +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 980 +Largeur interne 466 +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 +06/08/2026 Isis_BO 3143 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFicheInterv.m_sDescription +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3144 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Superchamp : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.SC_HISTO_ETAT_INTERV +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS_INTERV +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3145 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_HISTOETAT.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Historique des états +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 3146 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : +Libellé FR: Historique des états +Groupe GR_CADENAS_INTERV +Ordre navigation -1 +Curseur survol 0 +Mode Loupe Recherche +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 0 +Marge en bas 0 +Marge à gauche 1 +Marge à droite 3 +Sens Vertical +Retrait gauche 2 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 3147 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 500 +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 +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationFicheInterv.ListeHistoEtat.m_clTabModele +Rub. mémorisée :gclPresentationFicheInterv.ListeHistoEtat.m_clTabModele +Ajout/Suppr. dans variable Non +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 0 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.SC_HISTO_ETAT_INTERV.T +06/08/2026 Isis_BO 3148 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 0 +Libellé : +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 +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 Date +Masque saisie FR: JJ/MM/AA HH:mm +Format retour AAAAMMJJHHmmSSCCC +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeHistoEtat.m_clTabModele.m_dhDateDebut +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3149 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Combo : +Libellé FR: &Etat +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 229 +Larg. déroulée perso. Non +Hauteur ligne 18 +Retrait gauche 2 +Position X interne 717 +Largeur interne 229 +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 +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 +06/08/2026 Isis_BO 3150 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Liaison des données :gclPresentationFicheInterv.ListeHistoEtat.m_clTabModele.m_nIDEtat +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeEtatIntervention.m_clTabModele +Rub. affichée :gpclListeEtatIntervention.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeEtatIntervention.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 0 +Colonne de table : +Titre FR: Date +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/AA +Mode ellipse +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +06/08/2026 Isis_BO 3151 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Coche tous dans entête Non +Liaison des données :gclPresentationFicheInterv.ListeHistoEtat.m_clTabModele.m_dhDateDebut +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Etat +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 100 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeHistoEtat.m_clTabModele.m_nIDEtat +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3152 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Colonne de table : +Titre FR: Commentaire +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Oui +Coche tous dans entête Non +Liaison des données :gclPresentationFicheInterv.ListeHistoEtat.m_clTabModele.m_sDescription +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: PKID +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 +06/08/2026 Isis_BO 3153 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Mot de passe Non +Masque saisie FR: MoneySystemMask +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeHistoEtat.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Table : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.ONG_COMPL_INTERV.TA +Colonne de table : +Titre FR: Date +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/AA +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeAction.m_clTabModele.m_dDateAction +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3154 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Colonne de table : +Titre FR: Heure +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: HH:MM +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeAction.m_clTabModele.m_hHeureAction +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Type d'action +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 162 +Larg. déroulée perso. Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +06/08/2026 Isis_BO 3155 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeAction.m_clTabModele.m_nIDTypeAction +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Qui +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 200 +Larg. déroulée perso. Oui +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 +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeAction.m_clTabModele.m_nIDQui +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3156 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Colonne de table : +Titre FR: Description de l'action +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Oui +Coche tous dans entête Non +Liaison des données :gclPresentationFicheInterv.ListeAction.m_clTabModele.m_sDescription +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Clos +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +06/08/2026 Isis_BO 3157 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Masque saisie FR: 0 +Mode ellipse +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Oui +Retour à la ligne Non +Coche tous dans entête Non +Liaison des données :gclPresentationFicheInterv.ListeAction.m_clTabModele.m_bClos +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: PKID +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 +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 +Liaison des données :gclPresentationFicheInterv.ListeAction.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3158 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Table : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.ONG_COMPL_INTERV.TA +Rupture de zone répétée : +Toujours visible Oui +Attribut de rupture 4 +Libellé : +Libellé FR: Nom de la checkList +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 +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 +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 +Liaison des données :gclPresentationFicheInterv.CheckList.m_clTabModele.m_sNom +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3159 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3160 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3161 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3162 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3163 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 4 +Colonne de table : +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 +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 Oui +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Fait +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +06/08/2026 Isis_BO 3164 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.CheckList.m_clTabModele.m_bFait +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Element +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 +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 +Liaison des données :gclPresentationFicheInterv.CheckList.m_clTabModele.m_sElement +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3165 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Colonne de table : +Titre FR: Collaborateurs ayant validé +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 +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 +Liaison des données :gclPresentationFicheInterv.CheckList.m_clTabModele.Collaborateurs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Nom du modèle +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 +06/08/2026 Isis_BO 3166 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.CheckList.m_clTabModele.m_sNom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Table : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.ONG_COMPL_INTERV.TA +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 3 +Libellé : +Libellé FR: Rendez-vous +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 +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 +Unicode Non +Transforme le & Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 3167 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Facteur d'agrandissement 0 +Mise à blanc Oui +Texte Markdown Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: __/__/____ +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3168 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3169 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3170 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 3 +Colonne de table : +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 +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 Oui +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Nom de la checklist +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 +06/08/2026 Isis_BO 3171 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Collaborateurs +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3172 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Colonne de table : +Titre FR: Date de rendez-vous +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: UseSystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Table : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.ONG_COMPL_INTERV.TA +Colonne de table : +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 +06/08/2026 Isis_BO 3173 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 Oui +Liaison des données :gclPresentationFicheInterv.ListeChpLibre.m_clTabModele.m_sLibChampLibre +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Colonne de table : +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 +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 Oui +Liaison des données :gclPresentationFicheInterv.ListeChpLibre.m_clTabModele.m_sValeurDuChamp +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3174 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Colonne de table : +Titre FR: IDPARAM +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: MoneySystemMask +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeChpLibre.m_clTabModele.m_nIDParametreMetier +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: PKID +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 +06/08/2026 Isis_BO 3175 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Mot de passe Non +Masque saisie FR: MoneySystemMask +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeChpLibre.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Table : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.ONG_COMPL_INTERV.TA +Colonne de table : +Titre FR: Débuté le +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 +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 +Liaison des données :gclPresentationFicheInterv.ListeCompteRendu.m_clTabModele.m_dhDateHeureDebut +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 120 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3176 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Colonne de table : +Titre FR: Fini le +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 +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeCompteRendu.m_clTabModele.m_dhDateHeureFin +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 120 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Note Collaborateur +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 +06/08/2026 Isis_BO 3177 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Oui +Coche tous dans entête Non +Liaison des données :gclPresentationFicheInterv.ListeCompteRendu.m_clTabModele.m_sNoteCollaborateur +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Signataire +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 +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 +Liaison des données :gclPresentationFicheInterv.ListeCompteRendu.m_clTabModele.m_sNomSignataire +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3178 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Colonne de table : +Titre FR: Note Signataire +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Oui +Coche tous dans entête Non +Liaison des données :gclPresentationFicheInterv.ListeCompteRendu.m_clTabModele.m_sNoteSignataire +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: PKID +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 +06/08/2026 Isis_BO 3179 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Mot de passe Non +Masque saisie FR: MoneySystemMask +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeCompteRendu.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 10 Taux anc. hauteur 1000 +Table : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.ONG_COMPL_INTERV.TA +Colonne de table : +Titre FR: IdDoc +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: MoneySystemMask +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeDocument.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3180 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Colonne de table : +Titre FR: Etat +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 4 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeDocument.m_clTabModele.ImageEtatDocument +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Catégorie +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 97 +Larg. déroulée perso. Non +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 +06/08/2026 Isis_BO 3181 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Taille de saisie 0 +Mot de passe Non +Mode ellipse A la fin +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 +Liaison des données :gclPresentationFicheInterv.ListeDocument.m_clTabModele.m_nIDCategorie +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse A la fin +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 +Liaison des données :gclPresentationFicheInterv.ListeDocument.m_clTabModele.m_sNom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3182 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Colonne de table : +Titre FR: Note +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 A la fin +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 +Liaison des données :gclPresentationFicheInterv.ListeDocument.m_clTabModele.ListeCommentaire +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Création le +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 +06/08/2026 Isis_BO 3183 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Mot de passe Non +Masque saisie FR: JJ/MM/AAAA HH:mm:SS +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeDocument.m_clTabModele.m_dhCreationDate +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Modification +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 +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 +Liaison des données :gclPresentationFicheInterv.ListeDocument.m_clTabModele.m_dhModifDate +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3184 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Colonne de table : +Titre FR: IdIntervention +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 +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 +Liaison des données :gclPresentationFicheInterv.ListeDocument.m_clTabModele.m_nIDIntervention +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: CHEMINFICHIER +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 +06/08/2026 Isis_BO 3185 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeDocument.m_clTabModele.m_sCheminFichier +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: PKID +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: MoneySystemMask +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeDocument.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3186 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Colonne de table : +Titre FR: IdEtat +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 +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 +Liaison des données :gclPresentationFicheInterv.ListeDocument.m_clTabModele.m_nIDEtatDocument +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Table : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.ONG_COMPL_INTERV.DIS +Colonne de table : +Titre FR: IdMessage +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 +06/08/2026 Isis_BO 3187 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: MoneySystemMask +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeMessageExterne.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Envoyé +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +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 +Liaison des données :gclPresentationFicheInterv.ListeMessageExterne.m_clTabModele.m_bEnvoyer +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3188 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Colonne de table : +Titre FR: Date +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: UseSystemMask +Masque affichage FR: JJ/MM/AA à HH:mm +Mode ellipse A la fin +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 +Liaison des données :gclPresentationFicheInterv.ListeMessageExterne.m_clTabModele.m_dhCreationDate +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Sujet +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 +06/08/2026 Isis_BO 3189 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse A la fin +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 +Liaison des données :gclPresentationFicheInterv.ListeMessageExterne.m_clTabModele.m_sObjet +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Destinataire +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 A la fin +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 +Liaison des données :gclPresentationFicheInterv.ListeMessageExterne.m_clTabModele.m_sAdrDestinataires +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3190 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Colonne de table : +Titre FR: Message +Curseur survol 0 +UI par l'utilisateur +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 +Mode ellipse A la fin +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 +Liaison des données :gclPresentationFicheInterv.ListeMessageExterne.m_clTabModele.m_sMessage +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: PJ +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +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 +06/08/2026 Isis_BO 3191 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeMessageExterne.m_clTabModele.m_bPJ +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Expéditeur +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 A la fin +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 +Liaison des données :gclPresentationFicheInterv.ListeMessageExterne.m_clTabModele.m_sAdrExp +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3192 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Colonne de table : +Titre FR: Création +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 +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 +Liaison des données :gclPresentationFicheInterv.ListeMessageExterne.m_clTabModele.m_sCreationUser +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: IdIntervention +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 +06/08/2026 Isis_BO 3193 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeMessageExterne.m_clTabModele.m_nIDIntervention +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Brouillon +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +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 +Liaison des données :gclPresentationFicheInterv.ListeMessageExterne.m_clTabModele.m_bBrouillon +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3194 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Colonne de table : +Titre FR: PKID +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: MoneySystemMask +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeMessageExterne.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Table : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.ONG_COMPL_INTERV.TA +Colonne de table : +Titre FR: IdDoc +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 +06/08/2026 Isis_BO 3195 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: MoneySystemMask +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeRapport.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 10 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Etat +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Champ principal BTN_ETAT +Coche tous dans entête Non +Liaison des données :gclPresentationFicheInterv.ListeRapport.m_clTabModele.ImageEtatDocument +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 120 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3196 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\interdit.png +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3197 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Colonne de table : +Titre FR: Catégorie +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 120 +Larg. déroulée perso. Non +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 +Mode ellipse A la fin +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 +Liaison des données :gclPresentationFicheInterv.ListeRapport.m_clTabModele.m_nIDCategorie +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 10 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +06/08/2026 Isis_BO 3198 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse A la fin +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 +Liaison des données :gclPresentationFicheInterv.ListeRapport.m_clTabModele.m_sNom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 420 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Note +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 A la fin +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 +Liaison des données :gclPresentationFicheInterv.ListeRapport.m_clTabModele.m_sCommentaire +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 10 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3199 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Colonne de table : +Titre FR: Créé le +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 +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 +Liaison des données :gclPresentationFicheInterv.ListeRapport.m_clTabModele.m_dhCreationDate +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Modifié le +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 +06/08/2026 Isis_BO 3200 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Mot de passe Non +Masque saisie FR: JJ/MM/AAAA HH:mm:SS +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeRapport.m_clTabModele.m_dhModifDate +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: IdIntervention +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 +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 +Liaison des données :gclPresentationFicheInterv.ListeRapport.m_clTabModele.m_nIDIntervention +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 10 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3201 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Colonne de table : +Titre FR: CHEMINFICHIER +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 +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 +Liaison des données :gclPresentationFicheInterv.ListeRapport.m_clTabModele.m_sCheminFichier +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 10 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: PKID +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 +06/08/2026 Isis_BO 3202 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Mot de passe Non +Masque saisie FR: MoneySystemMask +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeRapport.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 10 Taux anc. hauteur 1000 +Zone répétée : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.ONG_COMPL_INTERV.DIS +Attribut zone répétée : +Champ associé LIB_AuteurAd +Propriété associée 1 +Attribut zone répétée : +Propriété associée 4 +Attribut zone répétée : +Champ associé LIB_DateCommentaire +Propriété associée 1 +06/08/2026 Isis_BO 3203 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Attribut zone répétée : +Champ associé LIB_IDMessage +Propriété associée 1 +Attribut zone répétée : +Champ associé SAI_CommentaireAd +Propriété associée 1 +Attribut zone répétée : +Champ associé BTN_DEL_MessageInterne +Propriété associée 73 +Bouton : +Groupe GR_CADENAS_INTERV +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +06/08/2026 Isis_BO 3204 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +Libellé : +Libellé FR: Libellé +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3205 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Libellé : +Libellé FR: Le JJ/MM/AAAA à HH:mm +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 +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 +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: ID +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 +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 +06/08/2026 Isis_BO 3206 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu En hauteur +Cadrage horz. Gauche +Position X interne 603 +Largeur interne 774 +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 +Lien automatique Non +Verifier l'orthographe Non +06/08/2026 Isis_BO 3207 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › 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 +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. +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3208 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Zone répétée : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_DROITE_INTERV.ONG_COMPL_INTERV.DIS +Attribut zone répétée : +Champ associé LIB_Auteur +Propriété associée 1 +Attribut zone répétée : +Propriété associée 4 +Attribut zone répétée : +Champ associé SAI_Commentaire +Propriété associée 1 +Attribut zone répétée : +Champ associé LIB_DateCommentaire +Propriété associée 1 +Liaison des données :gclPresentationFicheInterv.ListeMessageInterne.p_clCourant.m_dhCreationDate +Attribut zone répétée : +Champ associé LIB_IDMessage +Propriété associée 1 +Attribut zone répétée : +Champ associé BTN_DEL_MessageInterne +Propriété associée 73 +06/08/2026 Isis_BO 3209 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_CADENAS_INTERV +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3210 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Libellé : +Libellé FR: Libellé +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Le JJ/MM/AAAA à HH:mm +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 +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 +06/08/2026 Isis_BO 3211 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeMessageInterne.p_clCourant.m_dhCreationDate +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 +Libellé : +Libellé FR: ID +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3212 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Champ de saisie : +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu En hauteur +Cadrage horz. Gauche +Position X interne 600 +Largeur interne 777 +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 +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 +06/08/2026 Isis_BO 3213 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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. +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_GAUCHE_INTERV +Champ de saisie : +Libellé FR: &Code Site +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne -288 +Largeur interne 246 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 3214 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Format HTML 0 +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFicheInterv.FicheLieu.m_sCodeLieu +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 +06/08/2026 Isis_BO 3215 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : +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 232 +Hauteur externe 191 +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : +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 302 +Hauteur externe 191 +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 +06/08/2026 Isis_BO 3216 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Source de remplissage Table chargée en mémoire +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : +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 556 +Hauteur externe 256 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : +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 554 +Hauteur externe 196 +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) +06/08/2026 Isis_BO 3217 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_GAUCHE_INTERV.SC_CARACTERISTIQUES_ +Combo : +Libellé FR: &Etat +Groupe GR_CADENAS_INTERV +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 190 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 351 +Largeur interne 190 +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 +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 +06/08/2026 Isis_BO 3218 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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. +Avec recherche Oui +Liaison des données :gclPresentationFicheInterv.p_clCourant.m_nIDEtatIntervention +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeEtatIntervention.m_clTabModele +Rub. affichée :gpclListeEtatIntervention.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeEtatIntervention.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : +Libellé FR: &Intervention suivi par +Groupe GR_CADENAS_INTERV +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Fenêtre Popup FEN_Choix_Collab_Responsable +Util. gValeurMémorisée pour valeur Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Centre +06/08/2026 Isis_BO 3219 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Orientation verticale Non +Hauteur liste 0 +Largeur liste 190 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 351 +Largeur interne 190 +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 +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. +Avec recherche Non +Liaison des données :gclPresentationFicheInterv.m_nIDSuiviPar +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeCollabResp.m_clTabModele +Rub. affichée :gpclListeCollabResp.m_clTabModele.NomPrenom +Rub. mémorisée :gpclListeCollabResp.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +06/08/2026 Isis_BO 3220 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : +Libellé FR: &Type d'intervention +Groupe GR_CADENAS_INTERV +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 190 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 351 +Largeur interne 190 +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 +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 +06/08/2026 Isis_BO 3221 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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. +Avec recherche Oui +Liaison des données :gclPresentationFicheInterv.p_clCourant.m_nIDTypeIntervention +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeIntervention.m_clTabModele +Rub. affichée :gpclListeTypeIntervention.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeTypeIntervention.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_CARACT.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 3222 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Caractéristiques +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3223 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Libellé : +Libellé FR: Etat d'intervention +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Réf. externe +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 +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 +06/08/2026 Isis_BO 3224 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Intervention suivie par +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3225 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Libellé : +Libellé FR: Type d'intervention +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Réf. externe +Groupe GR_CADENAS_INTERV +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +06/08/2026 Isis_BO 3226 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Cadrage horz. Gauche +Position X interne 351 +Largeur interne 190 +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 +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. +Liaison des données :gclPresentationFicheInterv.m_sRefExterne +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 +06/08/2026 Isis_BO 3227 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_GAUCHE_INTERV.SC_CONTACT_CLI_INTER +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +06/08/2026 Isis_BO 3228 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS_INTERV +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3229 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3230 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation 1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_chercher.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3231 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_CLIENT.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Donneurs d'ordre +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 3232 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : +Libellé FR: Contacts +Groupe GR_CADENAS_INTERV +Ordre navigation -1 +Curseur survol 0 +Mode Loupe Filtre +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 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 3233 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationFicheInterv.ListeContactClient.m_clTabModele +Rub. mémorisée :gclPresentationFicheInterv.ListeContactClient.m_clTabModele +Ajout/Suppr. dans variable Non +Synchro HFSQL C/S Jamais +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_GAUCHE_INTERV.SC_CONTACT_CLI_INTER +06/08/2026 Isis_BO 3234 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Colonne de table : +Titre FR: D +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Champ principal BTN_DEMANDEUR +Coche tous dans entête Non +Liaison des données :gclPresentationFicheInterv.ListeContactClient.m_clTabModele.ImageDemandeur +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +06/08/2026 Isis_BO 3235 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\demandeur_ok_vert.png +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +06/08/2026 Isis_BO 3236 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Coche tous dans entête Non +Liaison des données :gclPresentationFicheInterv.ListeContactClient.m_clTabModele.m_clContact.NomPrenom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 600 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Rôle +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 92 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeContactClient.m_clTabModele.m_nIDRole +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3237 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Colonne de table : +Titre FR: Tél. 1 +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: PKID +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: MoneySystemMask +Mode ellipse +06/08/2026 Isis_BO 3238 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 +Liaison des données :gclPresentationFicheInterv.ListeContactClient.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Superchamp : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_GAUCHE_INTERV.SC_RDV_INTERV +Bouton : +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +06/08/2026 Isis_BO 3239 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 : +Groupe GR_CADENAS_INTERV +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3240 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS_INTERV +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3241 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_imprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3242 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_refresh.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3243 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_AGENDA.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Date +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 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 3244 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Intervenants +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 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3245 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Libellé : +Libellé FR: Objet +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 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Rendez-vous +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 +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 +06/08/2026 Isis_BO 3246 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Statut +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 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3247 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Zone répétée : +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 55 +Largeur colonne 528 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +Nb. Enreg. Max 0 +06/08/2026 Isis_BO 3248 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Parcours Automatique +Fichier parcouru :gclPresentationFicheInterv.ListeRendezVous.m_clTabModele +Rub. mémorisée :gclPresentationFicheInterv.ListeRendezVous.m_clTabModele +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_GAUCHE_INTERV.SC_RDV_INTERV.ZR_RDV +Attribut zone répétée : +Champ associé LIB_Colab +Propriété associée 1 +Liaison des données :gclPresentationFicheInterv.ListeRendezVous.m_clTabModele.Collaborateur +Attribut zone répétée : +Champ associé LIB_Date +Propriété associée 1 +Liaison des données :gclPresentationFicheInterv.ListeRendezVous.m_clTabModele.DateRendezVous +Attribut zone répétée : +Propriété associée -1 +Liaison des données :gclPresentationFicheInterv.ListeRendezVous.m_clTabModele.m_nPKID +06/08/2026 Isis_BO 3249 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Attribut zone répétée : +Champ associé LIB_Info +Propriété associée 1 +Liaison des données :gclPresentationFicheInterv.ListeRendezVous.m_clTabModele.m_sDescription +Attribut zone répétée : +Champ associé LIB_Objet +Propriété associée 1 +Liaison des données :gclPresentationFicheInterv.ListeRendezVous.m_clTabModele.m_sObjet +Attribut zone répétée : +Champ associé CMB_Statut +Propriété associée 1 +Liaison des données :gclPresentationFicheInterv.ListeRendezVous.m_clTabModele.m_nIDStatut +Combo : +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 95 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 139 +Largeur interne 95 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +06/08/2026 Isis_BO 3250 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Type saisie Texte +Mode ellipse +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. +Avec recherche Non +Liaison des données :gclPresentationFicheInterv.ListeRendezVous.m_clTabModele.m_nIDStatut +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +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 En hauteur +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +06/08/2026 Isis_BO 3251 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeRendezVous.m_clTabModele.Collaborateur +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 +Libellé : +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 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +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 +Liaison des données :gclPresentationFicheInterv.ListeRendezVous.m_clTabModele.DateRendezVous +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 3252 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +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 En hauteur +Cadrage fonctions gXXX Tenir compte du cadrage +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 +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 +Liaison des données :gclPresentationFicheInterv.ListeRendezVous.m_clTabModele.m_sDescription +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 +Libellé : +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 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +06/08/2026 Isis_BO 3253 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.ListeRendezVous.m_clTabModele.m_sObjet +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : +FI_Fiche_Intervention.D_FIC_INTERV.SC_CELL_GAUCHE_INTERV.SC_SITE_INTERV +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS_INTERV +Ordre navigation -1 +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 +Retrait gauche 2 +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 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 3254 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Facteur d'agrandissement 0 +Type flèche +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 : +Groupe GR_CADENAS_INTERV +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +06/08/2026 Isis_BO 3255 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_EDITLIEU_FICHE_INTERVENTION,GR_CADENAS_ +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3256 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS_INTERV +Ordre navigation 1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_chercher.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3257 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Image : +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_SITE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Ascenseur et zoom auto. Non +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 3258 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › 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 +Texte Markdown Non +Mode menu ctx. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : +Libellé FR: Badge +Valeur initiale 0 +Ordre navigation 2 +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 +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 Toute la hauteur de l'option +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 +06/08/2026 Isis_BO 3259 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Mode menu ctx. +Liaison des données :gclPresentationFicheInterv.FicheLieu.FicheEncours.m_bBadge +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Interrupteur : +Libellé FR: Interphone +Valeur initiale 0 +Ordre navigation 3 +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 +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 Toute la hauteur de l'option +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. +Liaison des données :gclPresentationFicheInterv.FicheLieu.FicheEncours.m_bInterphone +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 3260 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Adresse +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3261 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Libellé : +Libellé FR: Code d'accès +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Code postal +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 +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 +06/08/2026 Isis_BO 3262 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationFicheInterv.FicheLieu.m_sCodeLieu +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3263 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Libellé : +Libellé FR: Note +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Site +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 +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 +06/08/2026 Isis_BO 3264 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Ville +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3265 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Champ de saisie : +Libellé FR: Note : +Groupe GR_EDITLIEU_FICHE_INTERVENTION +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 300 +Largeur interne 266 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Note concernant le site +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 50 +Masque saisie FR: 1 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3266 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Non +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. +Liaison des données :gclPresentationFicheInterv.FicheLieu.FicheEncours.m_sNote +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 +Champ de saisie : +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 300 +Largeur interne 266 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +06/08/2026 Isis_BO 3267 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 +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 Non +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFicheInterv.FicheLieu.FicheEncours.m_sCodeAcces +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 +06/08/2026 Isis_BO 3268 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Champ de saisie : +Libellé FR: Code Postal +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 19 +Largeur interne 65 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Saisir le code postal +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 15 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3269 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Saisie invalide : Style Oui +Avec focus Non +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. +Liaison des données :gclPresentationFicheInterv.FicheLieu.FicheEncours.m_clAdresse.m_sCodePostal +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 19 +Largeur interne 275 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: ENTRÉE - BÂTIMENT - IMMEUBLE - RÉSIDENCE / ZI +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +06/08/2026 Isis_BO 3270 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 Non +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. +Liaison des données :gclPresentationFicheInterv.FicheLieu.FicheEncours.m_clAdresse.m_sLigne_1 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3271 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Champ de saisie : +Libellé FR: Ligne d'adresse +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 19 +Largeur interne 275 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: N°APP ou BAL-ÉTAGE-COULOIR-ESC / IDENTITÉ DESTINATAIRE et/ou SERVICE +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3272 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Saisie invalide : Style Oui +Avec focus Non +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. +Liaison des données :gclPresentationFicheInterv.FicheLieu.FicheEncours.m_clAdresse.m_sLigne_2 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 19 +Largeur interne 275 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: ENTRÉE - BÂTIMENT - IMMEUBLE - RÉSIDENCE / ZI +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +06/08/2026 Isis_BO 3273 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 Non +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. +Liaison des données :gclPresentationFicheInterv.FicheLieu.FicheEncours.m_clAdresse.m_sLigne_3 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3274 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Champ de saisie : +Libellé FR: Adresse +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 19 +Largeur interne 275 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Saisir le numéro et le libellé de la voie +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Non +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Non +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3275 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › 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 Jamais +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFicheInterv.FicheLieu.FicheEncours.m_clAdresse.m_sLigne_4 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 19 +Largeur interne 275 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Saisir un lieu dit ou un service particulier de distribution ou une mention spéciale +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +06/08/2026 Isis_BO 3276 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 38 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFicheInterv.FicheLieu.FicheEncours.m_clAdresse.m_sLigne_5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3277 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Champ de saisie : +Libellé FR: Ville +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 89 +Largeur interne 205 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: saisir la ville +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 45 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3278 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Saisie invalide : Style Oui +Avec focus Non +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. +Liaison des données :gclPresentationFicheInterv.FicheLieu.FicheEncours.m_clAdresse.m_sVille +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Fiche_Intervention.D_FIC_INTERV.SC_TETE_INTERV +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +06/08/2026 Isis_BO 3279 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_Cadenas_Fermer_rouge.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +06/08/2026 Isis_BO 3280 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_Cadenas.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 : FI_Fiche_Intervention.D_FIC_INTERV.SC_TETE_INTERV.BTN_Dupliquer +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_dupliquer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +06/08/2026 Isis_BO 3281 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 : FI_Fiche_Intervention.D_FIC_INTERV.SC_TETE_INTERV.BTN_IMPR_INTERV +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_imprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3282 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_refresh.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3283 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS_INTERV +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3284 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : FI_Fiche_Intervention.D_FIC_INTERV.SC_TETE_INTERV.BTN_SynchroBaseExt +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\batigest_poulie.png +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3285 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS_INTERV +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3286 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Combo : FI_Fiche_Intervention.D_FIC_INTERV.SC_TETE_INTERV.COMBO_Societe +Libellé FR: &Société +Groupe GR_CADENAS_INTERV +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 220 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 469 +Largeur interne 220 +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 +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 +06/08/2026 Isis_BO 3287 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Oui +Liaison des données :gclPresentationFicheInterv.m_nIDSociete +Nb. Enreg. Max 0 +Rub. affichée :gpclListeSocieteAppartenance.m_clTabModele.m_sNom +Rub. mémorisée :gpclListeSocieteAppartenance.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Groupe GR_IMAGE_OPAQUE_FICHE_INTERVENTION +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 50 +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. +Mire visible Non +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +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 +06/08/2026 Isis_BO 3288 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Libellé : +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 +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 A la fin +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 Largeur et bas +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Intervention.D_FIC_INTERV.SC_TETE_INTERV.LIB_CREELE +Libellé FR: Date de demande +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 +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 +06/08/2026 Isis_BO 3289 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Intervention.D_FIC_INTERV.SC_TETE_INTERV.LIB_DATEDEVIS +Libellé FR: Date devis +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3290 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Libellé : FI_Fiche_Intervention.D_FIC_INTERV.SC_TETE_INTERV.LIB_DATEFACTURE +Libellé FR: Date facture +Groupe GR_FACTURE +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Intervention.D_FIC_INTERV.SC_TETE_INTERV.LIB_NUMDEVIS +Libellé FR: Devis n° +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 3291 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Intervention.D_FIC_INTERV.SC_TETE_INTERV.LIB_NUMFACTURE +Libellé FR: Facture n° +Groupe GR_FACTURE +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3292 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Libellé : FI_Fiche_Intervention.D_FIC_INTERV.SC_TETE_INTERV.LIB_NUMINTERVENTION +Libellé FR: Intervention n° +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Intervention.D_FIC_INTERV.SC_TETE_INTERV.LIB_SOCIETE +Libellé FR: Société +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 +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 +06/08/2026 Isis_BO 3293 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Intervention.D_FIC_INTERV.SC_TETE_INTERV.LIB_TITREINTERVENTION +Libellé FR: Titre +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3294 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Champ de saisie : FI_Fiche_Intervention.D_FIC_INTERV.SC_TETE_INTERV.SAI_DATEDEVIS +Libellé FR: Date devis +Groupe GR_CADENAS_INTERV +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 804 +Largeur interne 74 +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: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3295 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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. +Liaison des données :gclPresentationFicheInterv.m_dDateDevis +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Date facture +Groupe GR_CADENAS_INTERV,GR_FACTURE +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 990 +Largeur interne 74 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 3296 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFicheInterv.m_dDateFacture +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 +06/08/2026 Isis_BO 3297 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Date demande +Valeur initiale FR: 12/12/2012 +Groupe GR_CADENAS_INTERV +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 366 +Largeur interne 94 +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: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3298 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › 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. +Liaison des données :gclPresentationFicheInterv.m_dhCreationDate +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Fiche_Intervention.D_FIC_INTERV.SC_TETE_INTERV.SAI_NUMDEVIS +Groupe GR_CADENAS_INTERV +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +06/08/2026 Isis_BO 3299 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Position X interne 701 +Largeur interne 95 +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 +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. +Liaison des données :gclPresentationFicheInterv.m_sNumDevis +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 +06/08/2026 Isis_BO 3300 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Champ de saisie : FI_Fiche_Intervention.D_FIC_INTERV.SC_TETE_INTERV.SAI_NUMERO +Libellé FR: Intervention N° +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 6 +Largeur interne 102 +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 +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 +06/08/2026 Isis_BO 3301 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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. +Liaison des données :gclPresentationFicheInterv.m_sRefInterne +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_CADENAS_INTERV,GR_FACTURE +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Isis_BO 3302 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 886 +Largeur interne 95 +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 +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. +Liaison des données :gclPresentationFicheInterv.m_sNumFacture +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 3303 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Titre +Groupe GR_CADENAS_INTERV +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 115 +Largeur interne 242 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Titre +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 50 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +06/08/2026 Isis_BO 3304 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › 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 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. +Liaison des données :gclPresentationFicheInterv.m_sTitre +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_Fiche_Intervention +Informations sur les menus +06/08/2026 Isis_BO 3305 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Informations sur les menus +Menu contextuel : 'MENU_SansNom1' +Nom des options +OPT_Copier (3) +OPT_Coller (2) +Libellé des options : Français +Copier Ctrl+C +CollerCtrl+V +Menu contextuel : 'MENU_SansNom2' +Nom des options +OPT_SansNom1 (5) +Libellé des options : Français +Option de menu +FI_Fiche_Intervention +Messages multilingues +06/08/2026 Isis_BO 3306 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression de l'action ? +2001 FR: Le fichier existant ne peut être supprimé ! +2002 FR: Fermeture automatique de la fiche de saisie dans +2003 FR: Confirmez vous la suppression ? +2004 FR: Confirmez vous la suppression ? +2005 FR: Confirmez vous la suppression de l'action ? +2006 FR: Confirmez vous la suppression du message ? +2007 FR: Confirmez vous la suppression ? +2008 FR: Confirmez vous la suppression de l'action ? +2009 FR: Confirmez vous la suppression de l'action ? +2010 FR: Confirmez vous la suppression du message ? +2011 FR: Confirmez vous la suppression du message ? + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Messages multilingues +¹ N° mess. : numéro de message. +FI_Fiche_Intervention +Code des champs +Déclarations globales de FI_Fiche_Intervention +procédure FI_Fiche_Intervention(gclPresentationFicheInterv est un PFicheIntervention dynamique< +présentation>=Null, paramSupplementaire est un STParamFenetreAppelante=Null) +| gCouleurFond | | est une Couleur | | | +| ------------------ | --- | --------------- | --- | --- | +| gCouleurText | | est une Couleur | | | +| gCouleurFondEntete | | est une Couleur | | | +gsAucunMessageExterne est une chaîne = "Aucun message Externe pour cette intervention" +gsxMessageExterne est une chaîne = "Vous avez %1 message%2 externe%3" +| maProcMAJObjetRetourFI | | est une procédure = MAJObjetRetourFI | | | +| -------------------------- | ------------------- | ------------------------------------ | --- | --- | +| nIndiceCheckListFrom | est un entier | | | | +| nIndiceCheckListTO | | est un entier | | | +| gbChargementImmediat | est un booléen=Vrai | | | | +| gsTriEnCoursMessageExterne | | est une chaîne | | | +| gbColleversDoc | | est un booléen | | | +gnDelai est un entier=DonneValeurTimeOutObjet(gclPresentationFicheInterv) +| gbEnregLectureSeul | | est un booléen | | | +| ------------------ | --- | -------------- | --- | --- | +//gpclPresenListeContactClientest un PTableIntervention_Personne dynamique +//gpclPresenListeContactLieu est un PTableIntervention_Personne dynamique +//gpclPresenListeDocument est un PTableDocument dynamique +//gpclPresenListeMessageInterne est un PTableMessageInterne DYNAMIQUE +//gpclPresenListeMessageExterne est un PTableMessageExterne DYNAMIQUE +gclListeRoleContactLieu est un PTableParametreMetier dynamique +gclListeRoleContactCli est un PTableParametreMetier dynamique +//gclListeCategorieDoc est un PTableParametreMetier dynamique +| gpclListeCollabResp | | est un PTableCollaborateur dynamique | | | +| ---------------------------- | ------------------------------ | ------------------------------------ | --- | --- | +| gpclListeSocieteAppartenance | est un PTableSociete dynamique | | | | +| gsTriEnCoursContactCli | | est une chaîne | | | +| gsTriEnCoursContactSite | | est une chaîne | | | +| gsTriEnCoursAction | | est une chaîne | | | +| gsTriEnCoursCptRd | est une chaîne | | | | +| gsTriEnCoursDoc | | est une chaîne | | | +| gsTriEnCoursHistoEtat | est une chaîne | | | | +| gsTriEnCoursMessExt | | est une chaîne | | | +| gsTriEnCoursRdv | | est une chaîne | | | +| gbAppelProcFenAppelante | | est un booléen | | | +| gbPopupEnCours | | est un booléen | | | +| //gbUserEnMouvement | | est un booléen | | | +| //saCodeModelMailChoisi | | est une chaîne ANSI | | | +| vOngParent | | est un Champ | | | +| vNomFenInterne | | est une chaîne | | | +| gbFicheAutreSociete | | est un booléen = Faux | | | +| gnPosRechercheContact | | est un entier | | | +Demande de mise à jour de l'affichage de FI_Fiche_Intervention +MiseAJourAffichage() +Fermeture de FI_Fiche_Intervention +| 06/08/2026 | | | Isis_BO | 3307 | +| ---------- | --- | --- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +DeblocEnregistrement(gclPresentationFicheInterv,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_INTERV,BTN_CADENAS_OUVERT_INTERV,GR_CADENAS_INTERV,D_FIC_INTERV,Faux,*,pas gb +AppelProcFenAppelante) +paramSupplementaire.sContexteAppelant += ";"+VoletDuChamp(D_FIC_INTERV) +AppelProcFenetreAppelante(Null,paramSupplementaire,Faux,Vrai) +Clic sur BTN_Calculer +// +// Ce traitement optimise le temps de recalcul du tableau croisé dynamique +// +quand exception dans +si gclPresentationFicheInterv:ListeSuiviDesTemps<>Null _et_ gclPresentationFicheInterv: +ListeSuiviDesTemps:m_clTabModele..Occurrence>0 alors +sNomFichier est une chaîne +sNomFichier = fRépertoireTemp() + ["\"] + TCD_SuiviTemps..Nom+gclPresentationFicheInterv: +IdentifiantUnique + ".wdolap" +si fFichierExiste(sNomFichier) _et_ TCDCharge(TCD_SuiviTemps, sNomFichier) alors +TCDCalculeMiseAJour(TCD_SuiviTemps) +sinon +TCDCalculeTout(TCD_SuiviTemps) +fin +TCDSauve(TCD_SuiviTemps, sNomFichier) +fin +faire +si EnModeTest() alors +Trace("Exception dans Calcul TDC SuiviTemps " ) +fin +fin +// Si vous voulez calculer systématiquement le tableau croisé dynamique à chaque lancement +// Utilisez uniquement TCDCalculeTout() +Après chargement de la fenêtre interne de CFI_SOUS_INTERV ( SC_CELL_DROITE_INTERV ) +//sNom est une chaine = MoiMême..FenêtreSource +//{sNom,indFenêtre}..AffichageActif=faux +Avant déchargement de la fenêtre interne de CFI_SOUS_INTERV ( SC_CELL_DROITE_INTERV ) +//sNom est une chaine = DonneNomFenetreInterne(MoiMême) +//sNom est une chaine = MoiMême..FenêtreSource +//{sNom,indFenêtre}..AffichageActif=vrai +Modification du volet affiché de ONG_COMPL_INTERV ( SC_CELL_DROITE_INTERV ) +nVoletActif est un entier = ONG_COMPL_INTERV +pour i = 1 _à_ ONG_COMPL_INTERV..Occurrence +si i<>nVoletActif alors +ONG_COMPL_INTERV[i]..Couleur= BTN_CADENAS_FERME_INTERV..Visible ? Blanc sinon Noir +sinon +ONG_COMPL_INTERV[i]..Couleur= Blanc +fin +06/08/2026 Isis_BO 3308 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +fin +si gclPresentationFicheInterv=Null alors retour +MaJAffichageOngletInfoSupp() +Clic sur BTN_ADD_RAPPORT ( SC_CELL_DROITE_INTERV ) +//D_FIC_INTERV..Visible=Faux +si pas fRepExiste(gpclListeParamAppli:m_clTabModele["CHEMIN_REPERTOIRE_MODELE_RAPPORT"]:m_sValeur) +alors +Erreur("Le répertoire des modèles de rapport n'a pas été défini") +retour +sinon +//Il se peut que la liste des document ne soit pas chargées à cause du chargement différé +si pas gclPresentationFicheInterv:m_bVerificationDoc alors +//Recherche des documents +PFicheIntervention.gListeDocument(gclPresentationFicheInterv) +sinon +//Il se peut que la liste des document ne soit pas chargées à cause du chargement différé +si gclPresentationFicheInterv.ListeDocument = Null alors PFicheIntervention.gListeDocument( +gclPresentationFicheInterv) +fin +//Il se peut que la liste des CR ne soit pas chargées à cause du chargement différé +si gclPresentationFicheInterv.ListeCompteRendu = Null alors PFicheIntervention.gListeCompteRendu( +gclPresentationFicheInterv) +stParam est un STParamFenetreAppelante = DonneParam(DansOnglet,"FI_Fiche_Intervention",MoiMême..Nom +,maProcMAJObjetRetourFI,"","InterventionAddRapport",*,*)//gclPresentationFicheInterv +//FEN_Menu.OuvreOuActive(FI_Rapport_Intervention,"Rapport",Vrai,gclPresentationFicheInterv,stParam) +OuvrePopupPosition(FEN_Choix_ModeleRapport_Intervention,poHaut,*,DonneParam(DansFenetre, +"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJObjetRetourFI,"",paramSupplementaire.sNomIDAppelant,* +,gclPresentationFicheInterv,Faux)) +fin +//D_FIC_INTERV..Visible=vrai +Clic sur BTN_ADD_RAPPORT_2 ( SC_CELL_DROITE_INTERV ) +ExécuteTraitement(BTN_ADD_RAPPORT,trtClic) +Clic sur BTN_ADD_RAPPORT_3 ( SC_CELL_DROITE_INTERV ) +ExécuteTraitement(BTN_ADD_RAPPORT,trtClic) +Clic sur BTN_AJOUTE_CHECKLIST ( SC_CELL_DROITE_INTERV ) +MoiMême..Visible = Faux +TABLE_CHECKLIST..DndSource = dndInactif +TABLE_CHECKLIST..DndCible = dndInactif +bExisteDeja est un booléen +sNomNewRegroupement est une chaîne +boucle +selon Saisie("Veuillez indiquer le nom du regoupement",sNomNewRegroupement) +// &Valider +cas 1 +si gclPresentationFicheInterv:CheckList:p_nTotal>0 alors +pour i = 1 _à_ gclPresentationFicheInterv:CheckList:p_nTotal +si sNomNewRegroupement=gclPresentationFicheInterv:CheckList:m_clTabModele[i]:m_s +Nom alors +bExisteDeja = Vrai +06/08/2026 Isis_BO 3309 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +Info("Ce nom de groupe existe déjà dans cette intervention") +sortir +sinon +bExisteDeja = Faux +fin +fin +sinon +bExisteDeja = Faux +fin +// &Annuler +cas 2 +bExisteDeja = Faux +fin +à faire tantque bExisteDeja +//Création d'une nouvelle CheckList +clFicheCheckList est un PFicheCheckList <-gclPresentationFicheInterv:CheckList:Nouveau(Vrai, +gclPresentationFicheInterv:IdentifiantUnique,1) +clFicheCheckList.m_sNom = sNomNewRegroupement +//Validation en mémoire de la nouvelle fiche CheckList +clFicheCheckList.AppelProcValidation(2) +//DemandeMiseAJourIHM() +//Création d'un nouvel enregistrement dans la table des checkList +TableInsèreLigne(TABLE_CHECKLIST,1) +//Rafraichissement des données de la zone répétée des collaborateurs +TableAffiche(TABLE_CHECKLIST,1) +pour nIndice = 3 _à_ TABLE_CHECKLIST..Occurrence +nIndiceRupt est un entier = TableIndiceRupture(RUPT_HautRupture1,nIndice) +si TABLE_CHECKLIST[nIndiceRupt]..Enroulé=Faux alors +TableEnroule(TABLE_CHECKLIST,nIndiceRupt) +TABLE_CHECKLIST[nIndiceRupt].BTN_AJOUTE_ELEMENT_CHECKLIST..Visible = Faux +TABLE_CHECKLIST[nIndiceRupt].BTN_SUPPRIME_ELEMENTCHECKLIST..Visible = Faux +TABLE_CHECKLIST[nIndiceRupt].BTN_Modifier_ELEMENT_CHECKLIST..Visible=Faux +fin +fin +TABLE_CHECKLIST[1].BTN_AJOUTE_ELEMENT_CHECKLIST..Visible = Vrai +TABLE_CHECKLIST[1].BTN_SUPPRIME_ELEMENTCHECKLIST..Visible = Vrai +TABLE_CHECKLIST[1].BTN_Valider_CHECKLIST..Visible = Vrai +TABLE_CHECKLIST[1].BTN_Modifier_ELEMENT_CHECKLIST..Visible=Faux +//Positionnement dans le nouvel enregistrement de la zone répétée des collaborateurs +TableSelectPlus(TABLE_CHECKLIST,1) +//TABLE_CHECKLIST[1].COL_NOM..Visible = vrai +//TABLE_CHECKLIST[1].COL_NOM..Couleur = noir +//TABLE_CHECKLIST[1].COL_NOM..CouleurFond = Blanc +TABLE_CHECKLIST[1].COL_Element..CouleurFond = Blanc +TABLE_CHECKLIST[1].COL_Element..Couleur = Noir +TABLE_CHECKLIST[1].COL_Element..Etat = Actif +TABLE_CHECKLIST[1].COL_Fait..Visible=Vrai +TABLE_CHECKLIST[1].COL_Fait..Etat= Grisé +TABLE_CHECKLIST[1].COL_Qui..Visible=Faux +TABLE_CHECKLIST[1,3]..Sélectionnée = Vrai +//Positionnement dans le nouvel enregistrement de la zone répétée des collaborateurs +//TableSelectPlus(TABLE_CHECKLIST,1) +06/08/2026 Isis_BO 3310 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +//Rafraichissement des données de la zone répétée des collaborateurs +//TableAffiche(TABLE_Collaborateur,nIndice) +//TableInsèreLigne(TABLE_CHECKLIST,1,"","","","",Faux,"") +//TABLE_CHECKLIST[1].COL_NOM..Visible = vrai +//TABLE_CHECKLIST[1].COL_SEP..Visible = Vrai +//TABLE_CHECKLIST[1].COL_NOM..Couleur = noir +//TABLE_CHECKLIST[1].COL_NOM..CouleurFond = Blanc +//TABLE_CHECKLIST[1].COL_Element..CouleurFond = blanc +//TABLE_CHECKLIST[1].COL_Element..Couleur = Noir +//TABLE_CHECKLIST..ensaisie = vrai +//TABLE_CHECKLIST[1].COL_Fait..Visible= Faux +//TABLE_CHECKLIST[1].COL_qui..Visible=Faux +//DonneFocus(TABLE_CHECKLIST[1,2]) +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(ChampPrécédent()) +////clFicheLieu est un PFicheLieu<-PFicheLieu.gNouvellePresentation() +// +////FEN_Menu.OuvreOuActive(FI_Fiche_Lieu,"Fiche +Site",*,clFicheLieu,DonneParam(DansOnglet,"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJObjetRetourFI)) +// +//ReorganiseChampDispoDansFiche(DISP_COLONNE_FICHE_INTERVENTION,DISP_CD_L2_C1,CFI_SOUSELEMENT_INTERVENT +ION,GR_IMAGE_OPAQUE_FICHE_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50,2,3,DISP_CD_L2_C1..Larg +eur) +// +//ChangeFenêtreSource(CFI_SOUSELEMENT_INTERVENTION,FI_Fiche_Lieu,*,DonneParam(DansChampFI,"FI_Fiche_Int +ervention",MoiMême..Nom,maProcMAJObjetRetourFI,"Nouveau +Site"))//,"InterventionListeLieu",paramSupplementaire.pclObjetAppelant.m_nIDClient +Clic sur BTN_AJOUTE_Fichier ( SC_CELL_DROITE_INTERV ) +sMsg est une chaîne +si AjouterDesDocuments(1,gclPresentationFicheInterv,sMsg) alors +TableAffiche(TABLE_DOCUMENTS,taInit) +TableSelectPlus(TABLE_DOCUMENTS,TABLE_DOCUMENTS..Occurrence) +ExécuteTraitement(TABLE_DOCUMENTS,trtSélection) +ExécuteTraitement(BTN_Refresh_Doc,trtClic) +sinon +si sMsg<>"" alors Erreur("Un problème est survenu lors de l'ajout de votre document"+RC+sMsg) +fin +Clic sur BTN_DEL_DOC ( SC_CELL_DROITE_INTERV ) +si OuiNon("Confirmez vous la suppression du message ?")=Non alors +retour +fin +// gestion de la saisie en cascade +// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +nIndice est un entier=TableSelect(TABLE_DOCUMENTS) +06/08/2026 Isis_BO 3311 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +si nIndice>1 alors +gclPresentationFicheInterv.ListeDocument.p_clCourant=gclPresentationFicheInterv.ListeDocument. +m_clTabModele[nIndice] +TableSelectPlus(TABLE_DOCUMENTS,nIndice-1) +sinon +gclPresentationFicheInterv.ListeDocument.p_clCourant=TABLE_DOCUMENTS +fin +clErreur est un CErreur +si pas gclPresentationFicheInterv.ListeDocument.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +//SupprimerunFichier(1,gclPresentationFicheInterv:ListeDocument.p_clCourant:m_sNom,gclPresentationF +icheInterv) +SupprimerUnFichier(4,gclPresentationFicheInterv:ListeDocument.p_clCourant:m_sCheminFichier, +gclPresentationFicheInterv) +PFicheIntervention.gListeDocumentSimple(gclPresentationFicheInterv) +IMG_Previsu="" +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +fin +//PFicheIntervention.gListeDocument(gclPresentationFicheInterv) +//gpclPresenListeDocument<- gclPresentationFicheInterv.ListeDocument +//IMG_Previsu="" +//DemandeMiseAJourIHM() +Clic sur BTN_DEL_RAPPORT ( SC_CELL_DROITE_INTERV ) +si OuiNon("Confirmez vous la suppression du message ?")=Non alors +retour +fin +// gestion de la saisie en cascade +// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +nIndice est un entier=TableSelect(TABLE_RAPPORT) +si nIndice>1 alors +gclPresentationFicheInterv.ListeRapport.p_clCourant=gclPresentationFicheInterv.ListeRapport. +m_clTabModele[nIndice] +TableSelectPlus(TABLE_RAPPORT,nIndice-1) +sinon +gclPresentationFicheInterv.ListeRapport.p_clCourant=TABLE_RAPPORT +fin +clErreur est un CErreur +si pas gclPresentationFicheInterv.ListeRapport.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +SupprimerUnFichier(1,gclPresentationFicheInterv:ListeRapport.p_clCourant:m_sNom, +gclPresentationFicheInterv) +PFicheIntervention.gListeRapport(gclPresentationFicheInterv) +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +fin +Clic sur BTN_EDT_DOC ( SC_CELL_DROITE_INTERV ) +si TABLE_DOCUMENTS..Occurrence<>0 alors +nIDCategRapport est un entier sur 8 octets=gpclListeCategorieDocument. +06/08/2026 Isis_BO 3312 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +RechercheEtDonneIdDepuisValeur(4) +//PTableParametreMetier.DonneIdDepuisValeur(gpclListeCategorieDocument,4) +gclPresentationFicheInterv.ListeDocument.p_clCourant=TABLE_DOCUMENTS +si gclPresentationFicheInterv.ListeDocument.p_clCourant<>Null _et_ gclPresentationFicheInterv. +ListeDocument.p_clCourant:m_nIDCategorie<>nIDCategRapport alors +//clPresentationFiche est un PFicheDocument<- +//ReorganiseChampDispoDansFiche(D_COL_FIC_INTERV,DISP_CD_L2_C1,CFI_SOUSELEMENT_INTERVENTION,GR_ +IMAGE_OPAQUE_FICHE_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50,2,3,DISP_CD_L2_C1..Lar +geur) +//ChangeFenêtreSource(CFI_SOUSELEMENT_INTERVENTION,FI_Fiche_Document,gclPresentationFicheInterv +.ListeDocument.Modifier(),DonneParam(DansChampFI,"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJ +ObjetRetourFI,"Fiche Document","InterventionDocument"),(ComplèteR +ep(DonneRepertoireRacine()+DonneRepertoireClient(gclPresentationFicheInterv:FicheClient:m_sNom, +gclPresentationFicheInterv:FicheClient:m_nPKID)+DonneRepertoireIntervention(gclPresentationFich +eInterv:m_nPKID))+gclPresentationFicheInterv.ListeDocument.p_clCo +urant:m_sNom)) +AppelSousFenetre(MoiMême..Nom) +sinon +D_FIC_INTERV..AffichageActif=Faux +stParam est un STParamFenetreAppelante = DonneParam(DansOnglet,"FI_Fiche_Intervention",MoiMême. +.Nom,maProcMAJObjetRetourFI,"","InterventionEdtRapport",gclPresentationFicheInterv. +ListeDocument.p_clCourant:m_nPKID,*)//gclPresentationFicheInterv +FEN_Menu.OuvreOuActive(FI_Rapport_Intervention,"Rapport",Faux,gclPresentationFicheInterv, +stParam) +D_FIC_INTERV..AffichageActif=Vrai +//OuvreSoeur(FEN_ChoixFenetreInterne,"FI_Rapport_Intervention",DonneParam(DansFenetre,"FI_Fiche +_Intervention",MoiMême..Nom,*,"","InterventionEdtRapport",gclPresentationFicheInterv.ListeDocum +ent.p_clCourant:m_nPKID,gclPresentationFicheInterv,Faux)) +fin +fin +Clic sur BTN_EDT_RAPPORT ( SC_CELL_DROITE_INTERV ) +si TABLE_RAPPORT..Occurrence<>0 alors +nIDCategRapport est un entier sur 8 octets=gpclListeCategorieDocument. +RechercheEtDonneIdDepuisValeur(4) +//PTableParametreMetier.DonneIdDepuisValeur(gpclListeCategorieDocument,4) +gclPresentationFicheInterv.ListeRapport.p_clCourant=TABLE_RAPPORT +si gclPresentationFicheInterv.ListeRapport.p_clCourant<>Null _et_ gclPresentationFicheInterv. +ListeRapport.p_clCourant:m_nIDCategorie=nIDCategRapport alors +//Il se peut que la liste des document ne soit pas chargées à cause du chargement différé +si pas gclPresentationFicheInterv:m_bVerificationDoc alors +//Recherche des documents +PFicheIntervention.gListeDocument(gclPresentationFicheInterv) +sinon +//Il se peut que la liste des document ne soit pas chargées à cause du chargement différé +si gclPresentationFicheInterv.ListeDocument = Null alors PFicheIntervention.gListeDocument +(gclPresentationFicheInterv) +fin +//Il se peut que la liste des CR ne soit pas chargées à cause du chargement différé +si gclPresentationFicheInterv.ListeCompteRendu = Null alors PFicheIntervention. +gListeCompteRendu(gclPresentationFicheInterv) +06/08/2026 Isis_BO 3313 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +//stParam est un STParamFenetreAppelante = +DonneParam(DansOnglet,"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJObjetRetourFI,"","Intervent +ionEdtRapport",gclPresentationFicheInterv.ListeRapport.p_clCourant:m_nPKID,*) +//FEN_Menu.OuvreOuActive(FI_Rapport_Intervention,"Rapport",Faux,gclPresentationFicheInterv,stPa +ram) +Ext est une chaîne= fExtraitChemin(gclPresentationFicheInterv.ListeRapport.p_clCourant.m_s +CheminFichier,fExtension) +Ext=Majuscule(Ext[[2 à]]) +selon Ext +cas "PDF" +LanceAppliAssociée(gclPresentationFicheInterv.ListeRapport.p_clCourant.m_s +CheminFichier) +autre cas +OuvreSoeur(FEN_ChoixFenetreInterne,"FI_Rapport_Intervention",DonneParam(DansFenetre, +"FI_Fiche_Intervention",MoiMême..Nom,*,"","InterventionEdtRapport", +gclPresentationFicheInterv.ListeRapport.p_clCourant:m_nPKID,gclPresentationFicheInterv +,Faux)) +fin +fin +fin +Clic sur BTN_GALERIE_DOC ( SC_CELL_DROITE_INTERV ) +OuvreGalerie() +//paramSuppl est STParamFenetreAppelante = paramSupplementaire +//paramSuppl.pclObjetAppelant=gpclPresenListeDocument +//paramSuppl.eTypeAppel=DansFenetre +//paramSuppl.sTitreFenetre="Galerie de document" +//paramSuppl.sContexteAppelant="Doc_PJ" +//paramSuppl.gProcMAJRetour = maProcMAJObjetRetourFI +//sablier() +//Ouvre(FEN_ChoixFenetreInterne,"FI_GalerieDocument",DonneParam(DansFenetre,"FI_Fiche_Intervention","Do +c_PJ",maProcMAJObjetRetourFI,"Galerie de document",*,*,gclPresentationFicheInterv.ListeDocument)) +//Sablier(faux) +//SI paramSupplementaire.sContexteAppelant<>"" ALORS +////pclFicheMessageexterne est une PFicheMessageExterne dynamique +//// +////pclFicheMessageexterne=gpclPresenListeMessageExterne.Nouveau() +////pclFicheMessageexterne.m_sIDDocPJ=paramSupplementaire.sContexteAppelant +////pclFicheMessageexterne.m_nIDIntervention=gclPresentationFicheInterv.m_nPKID +////fin +// +//sMailContactsDest est une chaine =RecupMailContacts() +//nIndice est un +entier=TableauCherche(gpclPresenListeParamUtilisateur.m_clTabModele,tcLinéaire,"m_sCode;m_nIDUtilisateu +r","CHOIX_MESSAGERIE",gpclFicheUtilisateurEnCours.m_nPKID) +//sNomFichier est une chaîne +//SI nIndice<>-1 ALORS +// SELON gpclPresenListeParamUtilisateur.m_clTabModele[nIndice].m_sValeur +// CAS "Externe" +// Pour TOUTE CHAINE Iddoc DE paramSupplementaire.sContexteAppelant SEPAREE PAR ";" +// HLitRecherchePremier(Document,DC_PKID,Iddoc) +// si htrouve(Document) alors +// +Fic est une chaine= +ComplèteRep(DonneRepertoireRacine()+DonneRepertoireClient(gclPresentationFicheInterv:FicheClient:m_sNom +,gclPresentationFicheInterv:FicheClient:m_nPKID)+DonneRepertoireIntervention(gclPresentationFicheInterv +:m_nPKID))+Document.DC_ +06/08/2026 Isis_BO 3314 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +Nom +// sNomFichier+=[";"]+Fic +// FIN +// FIN +// MonMessage est un Email +// +// Ajoute(MonMessage..Destinataire, sMailContactsDest) +// MonMessage..Expediteur = gpclFicheUtilisateurEnCours.m_sEmail +// MonMessage..Sujet = "Intervention n° "+gclPresentationFicheInterv.m_sRefInterne +// pour TOUTE CHAINE PJAttacher DE sNomFichier SEPAREE PAR ";" +// EmailChargeFichierAttaché(MonMessage,PJAttacher) +// FIN +//// EmailChargeFichierAttaché(MonMessage,"C:\Mes Sites\Faro_BO_Client\batiment.png") +// // Création du fichier .eml +// sCheminFichierEML EST UNE CHAINE +// SI EmailConstruitSource(MonMessage) = Vrai ALORS +// +sCheminFichierEML=ComplèteRep(DonneRepertoireRacine()+DonneRepertoireClient(gclPresentationFicheInterv: +FicheClient:m_sNom,gclPresentationFicheInterv:FicheClient:m_nPKID)+DonneRepertoireIntervention(gclPrese +ntationFicheInterv:m_nPKID))+DateHeureSys( +)+".eml" +// fSauveTexte(sCheminFichierEML, MonMessage..Source) +// FIN +// LanceAppliAssociée(sCheminFichierEML,"open") +//// EmailLanceAppli(MonMessage) +////// SI LanceAppliAssociée("mailto:"+ sMailContactsDest + "?subject +=Intervention n° "+gclPresentationFicheInterv.m_sRefInterne + "&body=" +"&attachment +=""C:\Mes Sites\Faro_BO_Client\batiment.png""" )=Vrai ALORS +//// // Envoi d'un message avec pièce jointe +//// email.AdresseExpéditeur="xvadon@gmail.com" +//// Email.Sujet = "Sujet du message" +//// Email.Message = "Texte du message" +////// Email.Attache[1] = "C:\Mes Sites\Faro_BO_Client\batiment.png" +////// Email.NbAttache = 1 +//// EmailLanceAppli() +// //1 : Oui +// //2 : Non +// SELON Dialogue( +"Envoi en cours d'un message depuis votre messagerie externe, souhaitez-vous créer un message externe +pour cet envoi ?" +) +// // Oui +// CAS 1 +//// pclFicheMessageexterne est une PFicheMessageExterne dynamique +//// +//// +pclFicheMessageexterne=gclPresentationFicheInterv.ListeMessageExterne.Nouveau() +//// pclFicheMessageexterne.m_nIDIntervention=gclPresentationFicheInterv.m_nPKID +//// pclFicheMessageexterne.m_sIDDocPJ=paramSupplementaire.sContexteAppelant +//// +pclFicheMessageexterne.m_sObjet="Intervention n° "+gclPresentationFicheInterv.m_sRefInterne +//// +ReorganiseChampDispoDansFiche(D_COL_FIC_INTERV,DISP_CD_L2_C1,CFI_SOUSELEMENT_INTERVENTION,GR_IMAGE_OPAQ +UE_FICHE_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50,2,3,DISP_CD_L2_C1..Largeur) +//// +ChangeFenêtreSource(CFI_SOUSELEMENT_INTERVENTION,FI_EmailNouveau,pclFicheMessageexterne,DonneParam(Dans +ChampFI,"FI_Fiche_Intervention","BTN_AJOUTE_Message_Externe",maProcMAJObjetRetourFI,"Nouveau +Message","InterventionMessageExterne",*,gclPresen +tationFicheInterv)) +// AppelSousFenetre(MoiMême..Nom) +// +// // Non +// CAS 2 +// RETOUR +// FIN +06/08/2026 Isis_BO 3315 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +| //// SINON | | | | | +| ---------- | --- | --- | --- | --- | +//// Erreur("Une erreur s'est produite lors de l'ouverture de votre messagerie externe") +| //// FIN | | | | | +| -------- | --- | --- | --- | --- | +// CAS "Back-Office" +// HLitRecherchePremier(ParametreApplication,PAP_Code,"CNX_SMTP") +| // SI PAS HTrouve(ParametreApplication) ALORS | | | | | +| --------------------------------------------- | --- | --- | --- | --- | +// +Erreur("Vous n'avez pas encore paramétré votre compte de messagerie sur votre application."+RC+"- Aller +dans le menu paramétrage"+RC+"- Paramètres configuration +Email"+RC+"- Tester et valider votre configuration") +| // | RETOUR | | | | +| ------ | ------ | --- | --- | --- | +| // FIN | | | | | +// pclFicheMessageexterne est une PFicheMessageExterne dynamique +// +// pclFicheMessageexterne=gclPresentationFicheInterv.ListeMessageExterne.Nouveau() +// pclFicheMessageexterne.m_sAdrDestinataires=sMailContactsDest +// pclFicheMessageexterne.m_nIDIntervention=gclPresentationFicheInterv.m_nPKID +// pclFicheMessageexterne.m_sIDDocPJ=paramSupplementaire.sContexteAppelant +// +pclFicheMessageexterne.m_sObjet="Intervention n° "+gclPresentationFicheInterv.m_sRefInterne +// +ReorganiseChampDispoDansFiche(D_COL_FIC_INTERV,D_ENTETE_PERS_SITE,CFI_SOUS_INTERV,GR_IMAGE_OPAQUE_FICHE +_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50,2,3,D_ENTETE_PERS_SITE..Largeur) +// +// +ChangeFenêtreSource(CFI_SOUS_INTERV,FI_EmailNouveau,pclFicheMessageexterne,DonneParam(DansChampFI,"FI_F +iche_Intervention",MoiMême..Nom,maProcMAJObjetRetourFI,"Nouveau +Message","InterventionMessageExterne",*,gclPresentationFicheInterv)) +// +// AUTRE CAS +// POUR TOUTE CHAÎNE Iddoc DE paramSupplementaire.sContexteAppelant SEPAREE PAR ";" +| // | HLitRecherchePremier(Document,DC_PKID,Iddoc) | | | | +| --- | -------------------------------------------- | --- | --- | --- | +| // | SI HTrouve(Document) ALORS | | | | +// +Fic est une chaine= +ComplèteRep(DonneRepertoireRacine()+DonneRepertoireClient(gclPresentationFicheInterv:FicheClient:m_sNom +,gclPresentationFicheInterv:FicheClient:m_nPKID)+DonneRepertoireIntervention(gclPresentationFicheInterv +:m_nPKID))+Document.D +C_Nom +// sNomFichier+=[";"]+Fic +| // | FIN | | | | +| --- | ----------------------- | --- | --- | --- | +| // | FIN | | | | +| // | MonMessage est un Email | | | | +// +| // | Ajoute(MonMessage..Destinataire, sMailContactsDest) | | | | +| --- | --------------------------------------------------- | --- | --- | --- | +// MonMessage..Expediteur = gpclFicheUtilisateurEnCours.m_sEmail +// MonMessage..Sujet = "Intervention n° "+gclPresentationFicheInterv.m_sRefInterne +// POUR TOUTE CHAÎNE PJAttacher DE sNomFichier SEPAREE PAR ";" +| // | EmailChargeFichierAttaché(MonMessage,PJAttacher) | | | | +| --- | ------------------------------------------------ | --- | --- | --- | +| // | FIN | | | | +| // | // | | | | +EmailChargeFichierAttaché(MonMessage,"C:\Mes Sites\Faro_BO_Client\batiment.png") +| // | // Création du fichier .eml | | | | +| --- | ------------------------------------------------ | --- | --- | --- | +| // | sCheminFichierEML EST UNE CHAINE | | | | +| // | SI EmailConstruitSource(MonMessage) = Vrai ALORS | | | | +// +sCheminFichierEML=ComplèteRep(DonneRepertoireRacine()+DonneRepertoireClient(gclPresentationFicheInterv: +FicheClient:m_sNom,gclPresentationFicheInterv:FicheClient:m_nPKID)+DonneRepertoireIntervention(gclPrese +ntationFicheInterv:m_nPKID))+DateHeureSys( +)+".eml" +| // | fSauveTexte(sCheminFichierEML, MonMessage..Source) | | | | +| ---------- | -------------------------------------------------- | --------------------------- | ------- | ---- | +| // | FIN | | | | +| // | LanceAppliAssociée(sCheminFichierEML,"open") | | | | +| // | // | EmailLanceAppli(MonMessage) | | | +| 06/08/2026 | | | Isis_BO | 3316 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +// //// SI LanceAppliAssociée("mailto:"+ sMailContactsDest + "?subject +=Intervention n° "+gclPresentationFicheInterv.m_sRefInterne + "&body=" +"&attachment +=""C:\Mes Sites\Faro_BO_Client\batiment.png""" )=Vrai ALORS +| // | // | // Envoi d'un message avec pièce jointe | | | +| --- | --- | ------------------------------------------ | --- | --- | +| // | // | email.AdresseExpéditeur="xvadon@gmail.com" | | | +| // | // | Email.Sujet = "Sujet du message" | | | +| // | // | Email.Message = "Texte du message" | | | +// //// Email.Attache[1] = "C:\Mes Sites\Faro_BO_Client\batiment.png" +| // | //// | Email.NbAttache = 1 | | | +| --- | --------------- | ------------------- | --- | --- | +| // | // | EmailLanceAppli() | | | +| // | //1 : Oui | | | | +| // | //2 : Non | | | | +| // | SELON Dialogue( | | | | +"Envoi en cours d'un message depuis votre messagerie externe, souhaitez-vous créer un message externe +pour cet envoi ?" +) +| // | // Oui | | | | +| --- | ------ | --- | --- | --- | +| // | CAS 1 | | | | +//// pclFicheMessageexterne est une PFicheMessageExterne dynamique +//// +//// +pclFicheMessageexterne=gclPresentationFicheInterv.ListeMessageExterne.Nouveau() +//// pclFicheMessageexterne.m_nIDIntervention=gclPresentationFicheInterv.m_nPKID +//// pclFicheMessageexterne.m_sIDDocPJ=paramSupplementaire.sContexteAppelant +//// +pclFicheMessageexterne.m_sObjet="Intervention n° "+gclPresentationFicheInterv.m_sRefInterne +//// +ReorganiseChampDispoDansFiche(D_COL_FIC_INTERV,DISP_CD_L2_C1,CFI_SOUSELEMENT_INTERVENTION,GR_IMAGE_OPAQ +UE_FICHE_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50,2,3,DISP_CD_L2_C1..Largeur) +//// +ChangeFenêtreSource(CFI_SOUSELEMENT_INTERVENTION,FI_EmailNouveau,pclFicheMessageexterne,DonneParam(Dans +ChampFI,"FI_Fiche_Intervention","BTN_AJOUTE_Message_Externe",maProcMAJObjetRetourFI,"Nouveau +Message","InterventionMessageExterne",*,gclPresen +tationFicheInterv)) +// AppelSousFenetre(MoiMême..nom) +| // | // Non | | | | +| --- | ------ | --- | --- | --- | +| // | CAS 2 | | | | +// RETOUR +| // | FIN | | | | +| --- | --- | --- | --- | --- | +// FIN +//FIN +//fin +Clic sur BTN_IMPR_CR ( SC_CELL_DROITE_INTERV ) +D_FIC_INTERV..Visible = Faux +clEtatCRInterv est un MEtatCRIntervention +PFicheIntervention.gFicheSuiveur(gclPresentationFicheInterv) +clEtatCRInterv:m_sRefInterneIntervention = gclPresentationFicheInterv.m_sRefInterne +clEtatCRInterv:m_dDateIntervention = gclPresentationFicheInterv.m_dDateIntervention +clEtatCRInterv:m_sSuiviPar = gclPresentationFicheInterv.FicheSuiveur:NomPrenom +clEtatCRInterv:m_sAdresseSite = gclPresentationFicheInterv:FicheLieu:m_clAdresse:m_s +Presentation +//**********************Client********************** +clEtatCRInterv:m_sNomClient = gclPresentationFicheInterv:FicheClient:m_sNom +clEtatCRInterv:m_sDescription = gclPresentationFicheInterv:m_sDescription +clEtatCRInterv.m_clCRInterv = gclPresentationFicheInterv:ListeCompteRendu:p_clCourant +iAperçu() +| 06/08/2026 | | | Isis_BO | 3317 | +| ---------- | --- | --- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +iImprimeEtat(ETAT_CompteRendu_Intervention,clEtatCRInterv) +D_FIC_INTERV..Visible = Vrai +Clic sur BTN_LOUPE_MODELE_CHECKLIST ( SC_CELL_DROITE_INTERV ) +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(ChampPrécédent()) +//ReorganiseChampDispoDansFiche(DISP_COLONNE_FICHE_INTERVENTION,DISP_CD_L2_C1,CFI_SOUSELEMENT_INTERVENT +ION,GR_IMAGE_OPAQUE_FICHE_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50,2,3,DISP_CD_L2_C1..Larg +eur) +// +//ChangeFenêtreSource(CFI_SOUSELEMENT_INTERVENTION,FI_Liste_Lieu,*,DonneParam(DansChampFI,"FI_Fiche_Int +ervention",MoiMême..Nom,maProcMAJObjetRetourFI,"Sélectionnez le +site","InterventionListeLieu",paramSupplementaire.pclObjetAppelant.m_nIDClient)) +//GestionPlan(3) +Clic sur BTN_Reduire ( SC_CELL_DROITE_INTERV ) +si gclPresentationFicheInterv.ListeDocument<>Null _et_ gclPresentationFicheInterv.ListeDocument. +p_clCourant<>Null _et_ gclPresentationFicheInterv.ListeDocument.p_clCourant:m_sCheminFichier<>"" alors +Ext est une chaîne ANSI = fExtraitChemin(gclPresentationFicheInterv.ListeDocument.p_clCourant:m_s +CheminFichier,fExtension) +Ext = Majuscule(Ext[[2 à]]) +bOk est un booléen = Faux +selon Ext +cas "BMP","JPG","JPEG","GIF", "PCD", "PCX", "PNG", "PSD", "TGA", "TIF","TIFF","EMF","WMF","ICO" +,"ICW","CUR" +bOk=Vrai +autre cas +fin +si bOk alors +Ouvre(FEN_Reduire_Image,gclPresentationFicheInterv.ListeDocument.p_clCourant:m_sCheminFichier) +fin +fin +Clic sur BTN_Refresh_Action ( SC_CELL_DROITE_INTERV ) +PFicheIntervention.gListeAction(gclPresentationFicheInterv) +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +Clic sur BTN_Refresh_Champs_Perso ( SC_CELL_DROITE_INTERV ) +PFicheIntervention.gListeChampsLibres(gclPresentationFicheInterv) +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +Clic sur BTN_Refresh_CR ( SC_CELL_DROITE_INTERV ) +bok est un booléen = EnregistrerFiche() +06/08/2026 Isis_BO 3318 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +//SI bok +_ET_ paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheInterv) +si bok _et_ paramSupplementaire.eTypeAppel<>Libre alors +AppelProcFenetreAppelante(gclPresentationFicheInterv,paramSupplementaire,Vrai,Faux) +//AppelProcedureFenetreAppelante(Vrai,Faux) +gbAppelProcFenAppelante=Vrai +fin +si bok alors +PFicheIntervention.gListeCompteRendu(gclPresentationFicheInterv) +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +fin +Clic sur BTN_Refresh_Doc ( SC_CELL_DROITE_INTERV ) +bok est un booléen = EnregistrerFiche() +//SI bok +_ET_ paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheInterv) +si bok _et_ paramSupplementaire.eTypeAppel<>Libre alors +AppelProcFenetreAppelante(gclPresentationFicheInterv,paramSupplementaire,Vrai,Faux) +//AppelProcedureFenetreAppelante(Vrai,Faux) +gbAppelProcFenAppelante=Vrai +fin +si bok alors +PFicheIntervention.gListeDocumentSimple(gclPresentationFicheInterv) +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +fin +Clic sur BTN_Refresh_rapport ( SC_CELL_DROITE_INTERV ) +bok est un booléen = EnregistrerFiche() +//SI bok +_ET_ paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheInterv) +si bok _et_ paramSupplementaire.eTypeAppel<>Libre alors +AppelProcFenetreAppelante(gclPresentationFicheInterv,paramSupplementaire,Vrai,Faux) +//AppelProcedureFenetreAppelante(Vrai,Faux) +gbAppelProcFenAppelante=Vrai +fin +si bok alors +PFicheIntervention.gListeRapport(gclPresentationFicheInterv) +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +fin +Clic sur BTN_Refresh_rapport1 ( SC_CELL_DROITE_INTERV ) +bok est un booléen = EnregistrerFiche() +//SI bok +_ET_ paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheInterv) +si bok _et_ paramSupplementaire.eTypeAppel<>Libre alors +06/08/2026 Isis_BO 3319 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +AppelProcFenetreAppelante(gclPresentationFicheInterv,paramSupplementaire,Vrai,Faux) +//AppelProcedureFenetreAppelante(Vrai,Faux) +gbAppelProcFenAppelante=Vrai +fin +si bok alors +PFicheIntervention.gListeRapport(gclPresentationFicheInterv) +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +fin +Clic sur BTN_REFRESH_SVT ( SC_CELL_DROITE_INTERV ) +ExécuteTraitement(BTN_REFRESH_RDV,trtClic) +//Recherche des Temps saisis +PFicheIntervention.gListeSuiviDesTemps(gclPresentationFicheInterv) +ExécuteTraitement(BTN_Calculer,trtClic) +TCDDérouleTout(TCD_SuiviTemps,tcdEntêteLigne) +SourceVersEcran("","gclPresentationFicheInterv") +Clic sur BTN_REPDOC ( SC_CELL_DROITE_INTERV ) +si gclPresentationFicheInterv.ListeDocument<>Null _et_ gclPresentationFicheInterv.ListeDocument. +p_clCourant<>Null _et_ gclPresentationFicheInterv.ListeDocument.p_clCourant:m_sCheminFichier<>"" alors +LanceAppliAssociée(Remplace(gclPresentationFicheInterv.ListeDocument.p_clCourant:m_sCheminFichier, +ExtraitChaîne(gclPresentationFicheInterv.ListeDocument.p_clCourant:m_sCheminFichier,1,["\"], +DepuisFin),"")) +sinon +fin +Clic sur BTN_SUPPRIME_ACTION ( SC_CELL_DROITE_INTERV ) +// gestion de la saisie en cascade +// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +nIndice est un entier=TableSelect(TABLE_ACTION) +si nIndice>1 _et_ nIndice=TableOccurrence(TABLE_ACTION) alors +TableSelectPlus(TABLE_ACTION,nIndice-1) +fin +si gclPresentationFicheInterv:ListeAction <> Null alors +si gclPresentationFicheInterv:ListeAction.p_clCourant <> Null alors + +si gclPresentationFicheInterv:ListeAction.p_clCourant.m_nIDQui = gpcl +FicheUtilisateurEnCours.m_nIDCollaborateur et gclPresentationFicheInterv:ListeAction. +p_clCourant.m_nIDTypeAction = gpclListeTypeAction.RechercheEtDonneIdDepuisValeur("8") +alors +Info("Vous ne pouvez pas supprimer cette action") +retour +sinon si gbFicheAutreSociete et gclPresentationFicheInterv:ListeAction.p_clCourant.m_n +IDTypeAction = gpclListeTypeAction.RechercheEtDonneIdDepuisValeur("8") alors +Info("Vous ne pouvez pas supprimer cette action") +retour +fin + +si OuiNon("Confirmez vous la suppression du message ?")=Non alors +retour +fin +06/08/2026 Isis_BO 3320 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +clErreur est un CErreur +si pas gclPresentationFicheInterv.ListeAction.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +fin +fin +fin +Clic sur BTN_SUPPRIME_CHECKLIST ( SC_CELL_DROITE_INTERV ) +si OuiNon("Confirmez vous la suppression du message ?")=Non alors +retour +fin +// Récupère l'indice du haut de rupture de la ligne sélectionnée +nIndiceHaut est un entier= TableIndiceRupture(TABLE_CHECKLIST.RUPT_HautRupture1) +// gestion de la saisie en cascade +// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +nIndice est un entier=TableSelect(TABLE_CHECKLIST) +si nIndice>1 _et_ nIndice=TableOccurrence(TABLE_CHECKLIST) alors +TableSelectPlus(TABLE_CHECKLIST,nIndice-1) +fin +clErreur est un CErreur +si pas gclPresentationFicheInterv.CheckList.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +fin +Clic sur BTN_VueDossierRapport ( SC_CELL_DROITE_INTERV ) +si gclPresentationFicheInterv.ListeRapport.p_clCourant <> Null +si gclPresentationFicheInterv.ListeRapport.p_clCourant:m_sNom <> "" alors +si gpclListeEtatDocument.RechercheEtDonneIdDepuisValeur("1") = gclPresentationFicheInterv. +ListeRapport.p_clCourant:m_nIDEtatDocument alors +//chemin est une chaîne ANSI = +Remplace(gclPresentationFicheInterv.ListeRapport.p_clCourant:m_sCheminFichier,gclPresentat +ionFicheInterv.ListeRapport.p_clCourant:m_sNom,"") +chemin est une chaîne ANSI = Remplace(gclPresentationFicheInterv.ListeRapport.p_clCourant: +m_sCheminFichier,ExtraitChaîne(gclPresentationFicheInterv.ListeRapport.p_clCourant:m_s +CheminFichier,1,["\"],DepuisFin),"") +LanceAppliAssociée(chemin) +fin +fin +fin +Clic sur BTN_ADD_MESS_EXT ( SC_CELL_DROITE_INTERV ) +pour tout ParametreUtilisateur avec PU_IDUtilisateur=gpclFicheUtilisateurEnCours.m_nPKID +si ParametreUtilisateur.PU_Valeur="Back-Office" alors +// si pas HLitRecherchePremier(ParametreApplication,PAP_Code,cParam_SMTP) alors +// +06/08/2026 Isis_BO 3321 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +Erreur("Vous n'avez pas encore paramétré votre compte de messagerie sur votre application."+RC+"- Aller +dans le menu paramétrage"+RC+"- Paramètres configuration +Email"+RC+"- Tester et valider votre configuration") +// RETOUR +// FIN +fin +fin +//pclFicheMessageexterne est une PFicheMessageExterne dynamique +// +//pclFicheMessageexterne=gclPresentationFicheInterv.ListeMessageExterne.Nouveau() +// +//pclFicheMessageexterne.m_nIDIntervention=gclPresentationFicheInterv.m_nPKID +//ReorganiseChampDispoDansFiche(D_COL_FIC_INTERV,DISP_CD_L2_C1,CFI_SOUSELEMENT_INTERVENTION,GR_IMAGE_OP +AQUE_FICHE_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50,2,3,DISP_CD_L2_C1..Largeur) +// +//ChangeFenêtreSource(CFI_SOUSELEMENT_INTERVENTION,FI_EmailNouveau,pclFicheMessageexterne,DonneParam(Da +nsChampFI,"FI_Fiche_Intervention",BTN_AJOUTE_Message_Externe..Nom,maProcMAJObjetRetourFI,"Nouveau +Message","InterventionMessageExterne",*,gclPresentatio +nFicheInterv)) +AppelSousFenetre(MoiMême..Nom) +Clic sur BTN_DEL_MESS_EXT ( SC_CELL_DROITE_INTERV ) +si OuiNon("Confirmez vous la suppression du message ?")=Non alors +retour +fin +// gestion de la saisie en cascade +// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +nIndice est un entier=TableSelect(TABLE_MessageExterne) +si nIndice>1 alors +gclPresentationFicheInterv.ListeMessageExterne.p_clCourant=gclPresentationFicheInterv. +ListeMessageExterne.m_clTabModele[nIndice] +TableSelectPlus(TABLE_MessageExterne,nIndice-1) +sinon +gclPresentationFicheInterv.ListeMessageExterne.p_clCourant=TABLE_MessageExterne +fin +clErreur est un CErreur +si pas gclPresentationFicheInterv.ListeMessageExterne.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +fin +//PFicheIntervention.gListeMessageExterne(gclPresentationFicheInterv) +//gpclPresenListeMessageExterne<- gclPresentationFicheInterv.ListeMessageExterne +//DemandeMiseAJourIHM() +Clic sur BTN_EDT_MESS_EXT ( SC_CELL_DROITE_INTERV ) +si TABLE_MessageExterne..Occurrence<>0 alors +gclPresentationFicheInterv.ListeMessageExterne.p_clCourant=TABLE_MessageExterne +si gclPresentationFicheInterv.ListeMessageExterne.p_clCourant<>Null alors +// pclFicheMessageexterne est une PFicheMessageExterne dynamique +// +// pclFicheMessageexterne=gclPresentationFicheInterv.ListeMessageExterne.Modifier() +// +// +ReorganiseChampDispoDansFiche(D_COL_FIC_INTERV,DISP_CD_L2_C1,CFI_SOUSELEMENT_INTERVENTION,GR_IM +AGE_OPAQUE_FICHE_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50,2,3,DISP_CD_L2_C1..Large +ur) +06/08/2026 Isis_BO 3322 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +// +// +ChangeFenêtreSource(CFI_SOUSELEMENT_INTERVENTION,FI_EmailVisualiser,pclFicheMessageexterne,Donn +eParam(DansChampFI,"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJObjetRetourFI,"Visualisation +Message","InterventionMessageExterne",*,gclPresentationFicheIn +terv)) +AppelSousFenetre(MoiMême..Nom) +fin +fin +Clic sur BTN_ENV_MESS_EXT ( SC_CELL_DROITE_INTERV ) +//SI gstConfigEnvoiEmail:sLogin="" ALORS +// +Erreur("Vous n'avez pas encore paramétré votre compte de messagerie sur votre application."+RC+"- Aller +dans le menu paramétrage"+RC+"- Paramètres configuration +Email"+RC+"- Tester et valider votre configuration") +// RETOUR +//FIN +si HNbEnr(MailModele)>0 alors +OuvrePopupPosition(FEN_Choix_ModeleMail,poHaut,*,DonneParam(DansFenetre,"FI_Fiche_Intervention", +MoiMême..Nom+"_MODELE",maProcMAJObjetRetourFI)) +sinon +si (gpclFichePrefMessagerie<>Null _et_ gpclFichePrefMessagerie:m_sValeur="Externe") alors +PrepareEmailOutlook(RecupMailContacts(),"","","",Faux) +sinon +AppelSousFenetre(MoiMême..Nom) +fin +fin +////Récupération des emails des contacts potentiels +//sMailContactsDest est une chaine =RecupMailContacts() +// +//sPrefPlanning est une chaine +//SI gpclFichePrefMessagerie<>Null ALORS sPrefPlanning= gpclFichePrefMessagerie:m_sValeur +////SI nIndice<>-1 ALORS +//SELON sPrefPlanning//gpclPresenListeParamUtilisateur.m_clTabModele[nIndice].m_sValeur +// CAS "Externe" +// SI PAS HLitRecherchePremier(ParametreApplication,PAP_Code,cParam_SMTP) ALORS +// +Erreur("Vous n'avez pas encore paramétré votre compte de messagerie sur votre application."+RC+"- Aller +dans le menu paramétrage"+RC+"- Paramètres configuration +Email"+RC+"- Tester et valider votre configuration") +// RETOUR +// FIN +// +// +OuvrePopupPosition(FEN_Choix_ModeleMail,poHaut,*,DonneParam(DansFenetre,"FI_Fiche_Intervention",MoiMême +..Nom,maProcMAJObjetRetourFI)) +// +ChargeModeleDeMail(MesParamètres..Occurrence>=2 ? MesParamètres[2] SINON "",gclPresentationFicheInterv) +// SI LanceAppliAssociée("mailto:"+ sMailContactsDest + "?subject +=Intervention n° "+gclPresentationFicheInterv.m_sRefInterne + "&body=")=Vrai ALORS +// //1 : Oui +// //2 : Non +// SELON Dialogue( +"Envoi en cours d'un message depuis votre messagerie externe, souhaitez-vous créer un message externe +pour cet envoi ?" +) +06/08/2026 Isis_BO 3323 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +// +// CAS 1 : AppelSousFenetre(MoiMême..Nom) +// CAS 2 : RETOUR +// FIN +// SINON +// Erreur("Une erreur s'est produite lors de l'ouverture de votre messagerie externe") +// FIN +// CAS "Back-Office" +// +// SI PAS HLitRecherchePremier(ParametreApplication,PAP_Code,cParam_SMTP) ALORS +// +Erreur("Vous n'avez pas encore paramétré votre compte de messagerie sur votre application."+RC+"- Aller +dans le menu paramétrage"+RC+"- Paramètres configuration +Email"+RC+"- Tester et valider votre configuration") +// RETOUR +// FIN +// +// +OuvrePopupPosition(FEN_Choix_ModeleMail,poHaut,*,DonneParam(DansFenetre,"FI_Fiche_Intervention",MoiMême +..Nom,maProcMAJObjetRetourFI)) +// +//FIN +//FIN +Clic sur BTN_Refresh_Message_Externe ( SC_CELL_DROITE_INTERV ) +PFicheIntervention.gListeMessageExterne(gclPresentationFicheInterv) +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +Affichage d'une ligne de TABLE_MessageExterne +COL_Message=Remplace(HTMLVersTexte(COL_Message),RC," ") +Sélection d'une ligne de TABLE_MessageExterne +si TABLE_MessageExterne..Nouveau alors +gclPresentationFicheInterv.ListeMessageExterne.p_clCourant=Null +sinon +gclPresentationFicheInterv.ListeMessageExterne.p_clCourant=TABLE_MessageExterne +fin +GestionBoutonMessageExt() +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_MessageExterne +//SI TABLE_MessageExterne..Occurrence<>0 ALORS +06/08/2026 Isis_BO 3324 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +// gclPresentationFicheInterv.ListeMessageExterne.p_clCourant=TABLE_MessageExterne +// si gclPresentationFicheInterv.ListeMessageExterne.p_clCourant<>Null alors +// pclFicheMessageexterne est une PFicheMessageExterne dynamique +// +// pclFicheMessageexterne=gclPresentationFicheInterv.ListeMessageExterne.Modifier() +// +// +ReorganiseChampDispoDansFiche(D_COL_FIC_INTERV,DISP_CD_L2_C1,CFI_SOUSELEMENT_INTERVENTION,GR_IMAGE_OPAQ +UE_FICHE_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50,2,3,DISP_CD_L2_C1..Largeur) +// +// +ChangeFenêtreSource(CFI_SOUSELEMENT_INTERVENTION,FI_EmailVisualiser,pclFicheMessageexterne,DonneParam(D +ansChampFI,"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJObjetRetourFI,"Visualisation +Message","InterventionMessageExterne",*,gclPresentationFicheIn +terv)) +// +// fin +//fin +ExécuteTraitement(BTN_EDT_MESS_EXT,trtClic) +Initialisation de DISP_NoteAdmin ( SC_CELL_DROITE_INTERV ) +DISP_NoteAdmin[2]..CouleurFond = RVB(86, 124, 143) +Clic sur BTN_Refresh_Note_Admin ( SC_CELL_DROITE_INTERV ) +PFicheIntervention.gListeMessageAdministratives(gclPresentationFicheInterv) +Init_NoteAdministratives() +Clic sur BTN_VALIDER_NOTEAdmin ( SC_CELL_DROITE_INTERV ) +si SansEspace(SAI_MaNoteAdministrative) = "" alors +Info("Veuillez saisir une note") +retour +fin +clErreur est un CErreur +clPresentationFichemessage est un PFicheMessageInterne<-gclPresentationFicheInterv. +ListeMessageInterneAdmin.Nouveau() +clPresentationFichemessage.m_dhCreationDate=DateHeureSys() +clPresentationFichemessage.m_nIDIntervention=gclPresentationFicheInterv.m_nPKID +clPresentationFichemessage.m_sMessage=SAI_MaNoteAdministrative +clPresentationFichemessage.m_nCreationUser=gpclFicheUtilisateurEnCours.m_nPKID +clPresentationFichemessage.m_nIDTypeMessage=IdNoteAdministrative +// validation +si pas clPresentationFichemessage.bOK(clErreur) alors +Erreur(clErreur.FormateMessage()) +retour +sinon +SAI_MaNoteAdministrative="" +DISP_NoteAdmin[3]..Visible=Vrai +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +fin +Init_NoteAdministratives() +Clic sur BTN_DEL_MessageInterne ( ZR_Message_Admin ) +06/08/2026 Isis_BO 3325 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +si OuiNon("Confirmez vous la suppression du message ?")=Non alors +retour +fin +nIndice est un entier +nIndice=TableauCherche(gclPresentationFicheInterv.ListeMessageInterneAdmin.m_clTabModele,tcLinéaire, +"m_nPKID",ATT_IDMessageAd) +si nIndice<> -1 alors +gclPresentationFicheInterv.ListeMessageInterneAdmin.p_clCourant=gclPresentationFicheInterv. +ListeMessageInterneAdmin.m_clTabModele[nIndice] +clErreur est un CErreur +si pas gclPresentationFicheInterv.ListeMessageInterneAdmin.p_clCourant.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +TableauSupprimeLigne(gclPresentationFicheInterv.ListeMessageInterneAdmin.m_clTabModele,nIndice) +Init_NoteAdministratives() +fin +sinon +Info("Message interne non trouvé dans la base") +fin +Initialisation de LIB_AuteurAd ( ZR_Message_Admin ) +// Version 1 +// Description +// Libellé simple +Initialisation de DISP_NoteInterne ( SC_CELL_DROITE_INTERV ) +DISP_NoteInterne[2]..CouleurFond = RVB(86, 124, 143) +Clic sur BTN_AJOUTE_NOTE_INTERNE ( SC_CELL_DROITE_INTERV ) +//LIB_DateMonCommentaire=DateVersChaîne(DateHeureSys(),"Le JJ/MM/AAAA à HH:mm") +//SI gpclFicheUtilisateurEnCours.FicheCollaborateur<>Null ALORS +// LIB_Auteur=gpclFicheUtilisateurEnCours.FicheCollaborateur.NomPrenom +//SINON +// LIB_Auteur=gpclFicheUtilisateurEnCours.m_sNom +" "+gpclFicheUtilisateurEnCours.m_sPrenom +//FIN +Clic sur BTN_Refresh_Message_Interne ( SC_CELL_DROITE_INTERV ) +PFicheIntervention.gListeMessageInterne(gclPresentationFicheInterv) +Init_NoteInterne() +Clic sur BTN_VALIDER_NOTEINTERNE ( SC_CELL_DROITE_INTERV ) +si SansEspace(SAI_MonCommentaire) = "" alors +Info("Veuillez saisir une note") +retour +06/08/2026 Isis_BO 3326 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +fin +clErreur est un CErreur +clPresentationFichemessage est un PFicheMessageInterne<-gclPresentationFicheInterv.ListeMessageInterne. +Nouveau() +clPresentationFichemessage.m_dhCreationDate=DateHeureSys() +clPresentationFichemessage.m_nIDIntervention=gclPresentationFicheInterv.m_nPKID +clPresentationFichemessage.m_sMessage=SAI_MonCommentaire +clPresentationFichemessage.m_nCreationUser=gpclFicheUtilisateurEnCours.m_nPKID +// validation +si pas clPresentationFichemessage.bOK(clErreur) alors +Erreur(clErreur.FormateMessage()) +retour +sinon +SAI_MonCommentaire="" +DISP_NoteInterne[3]..Visible=Vrai +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +fin +Init_NoteInterne() +//sInitialeAuteur est une chaîne +//sFormatedate est une chaine +//sInitialeAuteur=LIB_AuteurMessageBO +// +sFormatedate=DateVersChaîne(clPresentationFichemessage.m_dhCreationDate,"Le JJ/MM/AAAA à HH:mm") +// +ZoneRépétéeAjouteLigne(ZR_Message_Interne,sInitialeAuteur,clPresentationFichemessage.m_sMessage,sFormat +edate) +Clic sur BTN_DEL_MessageInterne ( ZR_Message_Interne ) +si OuiNon("Confirmez vous la suppression du message ?")=Non alors +retour +fin +nIndice est un entier +nIndice=TableauCherche(gclPresentationFicheInterv.ListeMessageInterne.m_clTabModele,tcLinéaire, +"m_nPKID",ATT_IDMessage) +si nIndice<> -1 alors +gclPresentationFicheInterv.ListeMessageInterne.p_clCourant=gclPresentationFicheInterv. +ListeMessageInterne.m_clTabModele[nIndice] +clErreur est un CErreur +si pas gclPresentationFicheInterv.ListeMessageInterne.p_clCourant.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +TableauSupprimeLigne(gclPresentationFicheInterv.ListeMessageInterne.m_clTabModele,nIndice) +Init_NoteInterne() +fin +sinon +Info("Message interne non trouvé dans la base") +fin +Initialisation de LIB_Auteur ( ZR_Message_Interne ) +// Version 1 +// Description +06/08/2026 Isis_BO 3327 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +// Libellé simple +Clic sur IMG_Previsu ( SC_CELL_DROITE_INTERV ) +//si IMG_Previsu<>"" alors +// gpclPresenListeDocument.p_clCourant=TABLE_DOCUMENTS +////LanceAppliAssociée("\\Srvgds\partage\Documents\LEBONCLIENT 3096224743817222\Intervention +3096224743817231\"+TABLE_Documents.COL_NomDoc) +//LanceAppliAssociée(ComplèteRep(DonneRepertoireRacine()+DonneRepertoireClient(gclPresentationFicheInte +rv:FicheClient:m_sNom,gclPresentationFicheInterv:FicheClient:m_nPKID)+DonneRepertoireIntervention(gclPr +esentationFicheInterv:m_nPKID))+gpclPresenListeDo +cument.p_clCourant:m_sNom) +//fin +si IMG_Previsu<>"" alors +si TABLE_DOCUMENTS..Occurrence<>0 alors +gclPresentationFicheInterv.ListeDocument.p_clCourant=TABLE_DOCUMENTS +si gclPresentationFicheInterv.ListeDocument.p_clCourant<>Null alors +//clPresentationFiche est un PFicheDocument<- +//ReorganiseChampDispoDansFiche(D_COL_FIC_INTERV,DISP_CD_L2_C1,CFI_SOUSELEMENT_INTERVENTION,GR_ +IMAGE_OPAQUE_FICHE_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50,2,3,DISP_CD_L2_C1..Lar +geur) +//ChangeFenêtreSource(CFI_SOUSELEMENT_INTERVENTION,FI_Fiche_Document,gclPresentationFicheInterv +.ListeDocument.Modifier(),DonneParam(DansChampFI,"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJ +ObjetRetourFI,"Fiche Document","InterventionDocument"),(ComplèteR +ep(DonneRepertoireRacine()+DonneRepertoireClient(gclPresentationFicheInterv:FicheClient:m_sNom, +gclPresentationFicheInterv:FicheClient:m_nPKID)+DonneRepertoireIntervention(gclPresentationFich +eInterv:m_nPKID))+gclPresentationFicheInterv.ListeDocument.p_clCo +urant:m_sNom)) +AppelSousFenetre(MoiMême..Nom) +fin +fin +fin +Sortie de SAI_DUREEPREVUE ( SC_CELL_DROITE_INTERV ) +//SI MoiMême..ValeurAffichée<>"" ALORS +ChampVersSource() +EnregistrerFiche() +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +//FIN +A chaque modification de SAI_DUREEPREVUE ( SC_CELL_DROITE_INTERV ) +//ChampVersSource() +Entrée dans SAI_MODELECHECKLIST ( SC_CELL_DROITE_INTERV ) +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(ChampPrécédent()) +Sortie de SAI_MODELECHECKLIST ( SC_CELL_DROITE_INTERV ) +//SI MoiMême..ValeurAffichée<>"" ALORS +nPKID est un entier sur 8 octets = Val(ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"[", +DepuisDébut),1,"]")) +06/08/2026 Isis_BO 3328 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +si nPKID>0 alors +PFicheIntervention.gFicheLieu(gclPresentationFicheInterv,gclPresentationFicheInterv.FicheLieu, +nPKID,Vrai,"",Vrai) +sinon +si ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"---",DepuisDébut),1,"---",DepuisFin)= +ChaîneFormate("Aucun résultat",ccMajuscule) alors +MoiMême="" +SaisieAssistéeSupprimeTout(MoiMême) +ExécuteTraitement(MoiMême,trtModification) +sinon +PFicheIntervention.gFicheLieu(gclPresentationFicheInterv,gclPresentationFicheInterv. +FicheLieu,-1,Vrai,MoiMême..ValeurAffichée,Vrai) +fin +fin +si nPKID>0 alors +MoiMême = Majuscule(gclPresentationFicheInterv:FicheLieu.m_sCodeLieu) +fin +EnregistrerFiche() +//Enchainement des actions suite au choix du lieu comme si l'utilisateur avait cliqué sur la loupe +//GestionEnchainement(BTN_LOUPE_LIEU,"") +//FIN +A chaque modification de SAI_MODELECHECKLIST ( SC_CELL_DROITE_INTERV ) +ModifZoneSaisieAssistee(MoiMême,2,Faux,"",gclPresentationFicheInterv:m_nIDClient) +Sélection d'une valeur dans la liste de saisie assistée de SAI_MODELECHECKLIST ( SC_CELL_DROITE_INTERV ) +ExécuteTraitement(MoiMême,trtSortie) +Fin d'initialisation de TABLE_ACTION + +si gpclListeTypeAction.RechercheEtDonneIdDepuisValeur("8") > 0 alors +pour toute ligne i de TABLE_ACTION +si COL_NAC_IDQui = gpclFicheUtilisateurEnCours.m_nIDCollaborateur et COL_NAC_IDTypeAction += gpclListeTypeAction.RechercheEtDonneIdDepuisValeur("8") alors +TABLE_ACTION[i].COL_NAC_IDQui.Grisé = Vrai +TABLE_ACTION[i].COL_NAC_IDTypeAction.Grisé = Vrai +TABLE_ACTION[i].COL_SAC_Description.Grisé = Vrai +fin +fin +fin + +Sortie d'une ligne de TABLE_ACTION +// si la table n'a pas été modifiée, il ne faut rien faire +si TABLE_ACTION..Modifié=Faux alors +TableSupprime(TABLE_ACTION,TableSelect(TABLE_ACTION)) +retour +sinon si gclPresentationFicheInterv:ListeAction.p_clCourant=Null alors +pclPresentationFiche est un PFicheAction dynamique +pclPresentationFiche<-gclPresentationFicheInterv:ListeAction.Nouveau(Vrai, +06/08/2026 Isis_BO 3329 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +gclPresentationFicheInterv:IdentifiantUnique) +si pclPresentationFiche.m_nIDQui=0 alors +pclPresentationFiche.m_nIDQui=gpclFicheUtilisateurEnCours.FicheCollaborateur:m_nPKID +fin +//Validation en mémoire de la nouvelle fiche Action +pclPresentationFiche.AppelProcValidation(2) +gclPresentationFicheInterv:ListeAction.p_clCourant=pclPresentationFiche.p_clCourant +fin +clErr est un CErreur +pclPresentationFiche est un PFicheAction dynamique +si gclPresentationFicheInterv:ListeAction.p_clCourant<>Null alors +// ajout d'une nouvelle ligne +//SI TABLE_ACTION..Nouveau ALORS +// +pclPresentationFiche<-gclPresentationFicheInterv:ListeAction.Nouveau(vrai,gclPresentationFicheInter +v:IdentifiantUnique) +// modification d'une ligne existante +//SINON +pclPresentationFiche<-gclPresentationFicheInterv:ListeAction.Modifier() +//FIN +// sauvegarde de la table +TableEnregistre(TABLE_ACTION,pclPresentationFiche) +// traitement des erreurs +si pas pclPresentationFiche.bOK(clErr) alors +Erreur(clErr.FormateMessage()) +sinon +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +fin +fin +// repasse la table en non modifiée +TABLE_ACTION..Modifié=Faux +Sélection d'une ligne de TABLE_ACTION +si TABLE_ACTION..Nouveau alors +gclPresentationFicheInterv:ListeAction.p_clCourant=Null +pclPresentationFiche est un PFicheAction dynamique +pclPresentationFiche<-gclPresentationFicheInterv:ListeAction.Nouveau(Vrai, +gclPresentationFicheInterv:IdentifiantUnique) +si pclPresentationFiche.m_nIDQui=0 alors +pclPresentationFiche.m_nIDQui=gpclFicheUtilisateurEnCours.FicheCollaborateur:m_nPKID +fin +//Validation en mémoire de la nouvelle fiche Action +pclPresentationFiche.AppelProcValidation(2) +gclPresentationFicheInterv:ListeAction.p_clCourant=pclPresentationFiche.p_clCourant +sinon +gclPresentationFicheInterv:ListeAction.p_clCourant=TABLE_ACTION +fin +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +Sortie de COL_NAC_IDTypeAction ( TABLE_ACTION ) +si COL_NAC_IDTypeAction<>0 alors +si COL_DAC_DateAction="" alors +COL_DAC_DateAction = DateSys() +fin +si COL_HAC_HeureAction="" alors +06/08/2026 Isis_BO 3330 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +COL_HAC_HeureAction = HeureSys() +fin +fin +Initialisation de TABLE_CHECKLIST +MoiMême..DndSource = dndProgrammé +MoiMême..DndCible = dndProgrammé +Sortie d'une ligne de TABLE_CHECKLIST +//// si la table n'a pas été modifiée, il ne faut rien faire +//SI TABLE_Collaborateur..Modifié=Faux ALORS +// RETOUR +//FIN +// +//clErr est un CErreur +//pclPresentationFiche est un PFicheSociete_Collaborateur dynamique +// +//// ajout d'une nouvelle ligne +//SI TABLE_Collaborateur..Nouveau ALORS +// +pclPresentationFiche<-gpclPresenListeCollaborateur:Nouveau(Vrai,gclPresentationFicheSociete:Identifiant +Unique) +// // modification d'une ligne existante +//SINON +// pclPresentationFiche<-gpclPresenListeCollaborateur:Modifier() +//FIN +// +//// sauvegarde de la table +//TableEnregistre(TABLE_Collaborateur,pclPresentationFiche) +// +//// traitement des erreurs +//SI PAS pclPresentationFiche.bOK(clErr,Vrai,Faux) ALORS +// Erreur(clErr.FormateMessage()) +//FIN +// +//// repasse la table en non modifiée +//TABLE_Collaborateur..Modifié=Faux +Sélection d'une ligne de TABLE_CHECKLIST +si MoiMême..Nouveau alors +gclPresentationFicheInterv:CheckList.p_clCourant=Null +sinon +gclPresentationFicheInterv:CheckList.p_clCourant=MoiMême +fin +Début du Glisser / Déplacer source (dndDébutGlisser) depuis TABLE_CHECKLIST +si MoiMême..DndSource <> dndInactif alors +// Seul le déplacement est autorisé (pas le copier) +DnDCurseur(dndDéplacer) +nIndiceCheckListFrom = TableSelect(MoiMême) +fin +//sRacine = ExtraitChaîne(sElement, 1, TAB, DepuisDébut) +06/08/2026 Isis_BO 3331 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +//sFeuille = ExtraitChaîne(sElement, 1, TAB, DepuisFin) +// +//SI sFeuille = sRacine ALORS +// SI TableChercheFils(COL_ARBRE1, sRacine) = -1 ALORS +// TableAjouteFils(TABLEH_MENU1, 0, sRacine) +// FIN +// +// sFils = ArbreRécupèreFils(ARBRE_MENU1, sRacine, aPremier) +// TANTQUE sFils <> "" +// TableAjouteFils(TABLEH_MENU1, sRacine, sFils) +// sFils = ArbreRécupèreFils(ARBRE_MENU1, sRacine, aSuivant) +// FIN +//SINON +// SI TableChercheFils(COL_ARBRE1, sRacine) = -1 ALORS +// TableAjouteFils(TABLEH_MENU1, 0, sRacine) +// FIN +// TableAjouteFils(TABLEH_MENU1, sRacine, sFeuille) +// +// +//FIN +Lâché en Glisser / Déplacer cible (dndLâcher) sur TABLE_CHECKLIST +si MoiMême..DndSource <> dndInactif alors +TableDéplaceLigne(MoiMême,nIndiceCheckListFrom,nIndiceCheckListTO) +fin +Survol en Glisser / Déplacer cible (dndSurvol) de TABLE_CHECKLIST +si TABLE_CHECKLIST..DndSource <> dndInactif alors +DnDAccepte(dndDéplacer) +nSourisPosX,nSourisPosY sont des entier +nSourisPosX = SourisPosX() +nSourisPosY = SourisPosY() +nIndiceTemp est un entier= TableInfoXY(MoiMême,tiNumLigne,nSourisPosX,nSourisPosY) +//sChaine est une chaine = +TableInfoXY(TABLE_M_clTabModele,tiOrigineEcran+tiNumLigne,nSourisPosX,nSourisPosY) +Res est un entier = CurseurPos(cpClient) +si nIndiceTemp<>nIndiceCheckListTO alors +MonImage est une Image +MonImage = dCopieImageEcran(PoidsFaible(Res),PoidsFort(Res),300,300) +si nIndiceCheckListTO>0 alors +TableSupprimeAvecAnimation(MoiMême,nIndiceCheckListTO) +fin +nIndiceCheckListTO = nIndiceTemp +TableInsèreLigneAvecAnimation(MoiMême,nIndiceCheckListTO,"","") +fin +sinon +DnDAccepte(dndInterdit) +//Multitâche(50) +fin +A chaque modification de COL_NOM ( TABLE_CHECKLIST ) +ChampVersSource() +TABLE_CHECKLIST[1].LIB_NOMCHECKLIST = MoiMême..ValeurAffichée +//SourceVersEcran("",ChampAlias(TABLE_CHECKLIST[1].LIB_NOMCHECKLIST))//:gclPresentationFicheInterv.Chec +kList.m_clTabModele.m_sNom +Clic sur BTN_AJOUTE_ELEMENT_CHECKLIST ( TABLE_CHECKLIST ) +06/08/2026 Isis_BO 3332 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +nIndice est un entier =TableSelect(TABLE_CHECKLIST) +//Création d'un nouvel enregistrement dans la table des checkList +TableInsèreLigne(TABLE_CHECKLIST,nIndice+1) +//Rafraichissement des données de la zone répétée des collaborateurs +TableAffiche(TABLE_CHECKLIST,nIndice+1) +Clic sur BTN_SUPPRIME_ELEMENTCHECKLIST ( TABLE_CHECKLIST ) +//SI OuiNon("Confirmez vous la suppression du message ?")=non alors +// RETOUR +//FIN +// +//// gestion de la saisie en cascade +//// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +//nIndice est un entier=TableSelect(TABLE_INTERLOCUTEUR_CLIENT) +//SI nIndice>1 _ET_ nIndice=TableOccurrence(TABLE_INTERLOCUTEUR_CLIENT) ALORS +// TableSelectPlus(TABLE_INTERLOCUTEUR_CLIENT,nIndice-1) +//FIN +// +//clErreur est un CErreur +// +//SI PAS gpclPresenListeContactClient.bSupprimer(clErreur) ALORS +// Erreur(clErreur.FormateMessage()) +//FIN +Affichage d'une ligne de RUPT_HRupt_CheckList ( TABLE_CHECKLIST1 ) +TABLE_CHECKLIST1[TABLE_CHECKLIST1].LIB_RENDEZVOUS_CHECK1 = DateVersChaîne(TABLE_CHECKLIST1[TABLE_ +CHECKLIST1].COL_DateRendezVous,"JJ/MM/AAAA à HHhmm") +Clic sur BTN_DEL_RAPPORT1 ( TABLE_CHECKLIST1 ) +si OuiNon("Confirmez vous la suppression du message ?")=Non alors +retour +fin +// gestion de la saisie en cascade +// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +nIndice est un entier=TableSelect(TABLE_RAPPORT) +si nIndice>1 alors +gclPresentationFicheInterv.ListeRapport.p_clCourant=gclPresentationFicheInterv.ListeRapport. +m_clTabModele[nIndice] +TableSelectPlus(TABLE_RAPPORT,nIndice-1) +sinon +gclPresentationFicheInterv.ListeRapport.p_clCourant=TABLE_RAPPORT +fin +clErreur est un CErreur +si pas gclPresentationFicheInterv.ListeRapport.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +SupprimerUnFichier(1,gclPresentationFicheInterv:ListeRapport.p_clCourant:m_sNom, +gclPresentationFicheInterv) +PFicheIntervention.gListeRapport(gclPresentationFicheInterv) +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +fin +Sortie d'une ligne de TABLE_CHP_PERSO +06/08/2026 Isis_BO 3333 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +// si la table n'a pas été modifiée, il ne faut rien faire +si TABLE_CHP_PERSO..Modifié=Faux alors +retour +fin +bNouveau est un booléen +clErr est un CErreur +pclPresentationFiche est un PFicheIntervention_ChampLibre dynamique +// ajout d'une nouvelle ligne +si gclPresentationFicheInterv.ListeChpLibre.p_clCourant=Null alors +pclPresentationFiche<-gclPresentationFicheInterv:ListeChpLibre.Nouveau(Vrai, +gclPresentationFicheInterv:IdentifiantUnique) +bNouveau = Vrai +// modification d'une ligne existante +sinon +pclPresentationFiche<-gclPresentationFicheInterv:ListeChpLibre.Modifier() +fin +//gpclFichePersonneSelect = pclPresentationFiche +// sauvegarde de la table +TableEnregistre(TABLE_CHP_PERSO,pclPresentationFiche) +//si pclPresentationFiche:m_sValeurDuChamp="" ALORS +// SI gclPresentationFicheInterv.ListeChpLibre.p_clCourant:bSupprimer(clErr) ALORS +// DemandeMiseAJourIHM() +// SINON +// Erreur(clErr.FormateMessage()) +// FIN +//SINON +si pas pclPresentationFiche.bOK(clErr) alors//,Vrai,Vrai +Erreur(clErr.FormateMessage()) +sinon si bNouveau alors +//Recherche des Champs Libres +PFicheIntervention.gListeChampsLibres(gclPresentationFicheInterv) +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +// +nIndiceChp est un entier = +TableauCherche(gclPresentationFicheInterv.ListeChpLibre:m_clTabModele,tcLinéaire,"m_sLibChampLibre",pcl +PresentationFiche.m_sLibChampLibre,1)//TableCherche(COL_LIBCHP,pclPresentationFiche.m_sLibChampLibre,re +chercheIdentique) +// +// SI nIndiceChp >0 ALORS +// gclPresentationFicheInterv.ListeChpLibre:m_clTabModele[nIndiceChp].bSupprimer(clErr) +// DemandeMiseAJourIHM() +// FIN +fin +// repasse la table en non modifiée +TABLE_CHP_PERSO..Modifié=Faux +Sélection d'une ligne de TABLE_CHP_PERSO +si TABLE_CHP_PERSO.COL_PKID=0 alors +gclPresentationFicheInterv.ListeChpLibre.p_clCourant=Null +sinon +si TABLE_CHP_PERSO est PFicheIntervention_ChampLibre alors +clModele est un PFicheIntervention_ChampLibre dynamique +clModele = TABLE_CHP_PERSO +gclPresentationFicheInterv.ListeChpLibre.p_clCourant=clModele:p_clCourant +sinon +gclPresentationFicheInterv.ListeChpLibre.p_clCourant=TABLE_CHP_PERSO +fin +DemandeMiseAJourIHM() +06/08/2026 Isis_BO 3334 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +DemandeMiseAJourUIParent() +fin +Entrée dans COL_VALCHP ( TABLE_CHP_PERSO ) +gCouleurFond = TABLE_CHP_PERSO[TableSelect(TABLE_CHP_PERSO)]..CouleurFond +gCouleurText = TABLE_CHP_PERSO[TableSelect(TABLE_CHP_PERSO)]..Couleur +TABLE_CHP_PERSO[TableSelect(TABLE_CHP_PERSO)]..CouleurFond = Blanc +TABLE_CHP_PERSO[TableSelect(TABLE_CHP_PERSO)]..Couleur = Noir +Sortie de COL_VALCHP ( TABLE_CHP_PERSO ) +TABLE_CHP_PERSO[TableSelect(TABLE_CHP_PERSO)]..CouleurFond = gCouleurFond +TABLE_CHP_PERSO[TableSelect(TABLE_CHP_PERSO)]..Couleur = gCouleurText +Sortie d'une ligne de TABLE_COMPTERENDU +// si la table n'a pas été modifiée, il ne faut rien faire +si TABLE_COMPTERENDU..Modifié=Faux alors +retour +fin +clErr est un CErreur +pclPresentationFiche est un PFicheCompteRendu dynamique +// ajout d'une nouvelle ligne +si TABLE_COMPTERENDU..Nouveau alors +pclPresentationFiche<-gclPresentationFicheInterv:ListeCompteRendu.Nouveau() +// modification d'une ligne existante +sinon +pclPresentationFiche<-gclPresentationFicheInterv:ListeCompteRendu.Modifier() +fin +// sauvegarde de la table +TableEnregistre(TABLE_COMPTERENDU,pclPresentationFiche) +// traitement des erreurs +si pas pclPresentationFiche.bOK(clErr) alors +Erreur(clErr.FormateMessage()) +fin +// repasse la table en non modifiée +TABLE_COMPTERENDU..Modifié=Faux +Sélection d'une ligne de TABLE_COMPTERENDU +si TABLE_COMPTERENDU..Nouveau alors +gclPresentationFicheInterv:ListeCompteRendu.p_clCourant=Null +sinon +gclPresentationFicheInterv:ListeCompteRendu.p_clCourant=TABLE_COMPTERENDU +fin +Sortie d'une ligne de TABLE_DOCUMENTS +// si la table n'a pas été modifiée, il ne faut rien faire +si TABLE_DOCUMENTS..Modifié=Faux alors +06/08/2026 Isis_BO 3335 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +retour +fin +gclPresentationFicheInterv.ListeDocument.p_clCourant=TABLE_DOCUMENTS +clErr est un CErreur +pclPresentationFiche est un PFicheDocument dynamique +// ajout d'une nouvelle ligne +si TABLE_DOCUMENTS..Nouveau alors +pclPresentationFiche<-gclPresentationFicheInterv.ListeDocument.Nouveau() +// modification d'une ligne existante +sinon +pclPresentationFiche<-gclPresentationFicheInterv.ListeDocument.Modifier() +fin +pclPresentationFiche:m_sChemin = pclPresentationFiche:m_sCheminFichier +// sauvegarde de la table +TableEnregistre(TABLE_DOCUMENTS,pclPresentationFiche) +// traitement des erreurs +si pas pclPresentationFiche.bOK(clErr) alors +Erreur(clErr.FormateMessage()) +fin +// repasse la table en non modifiée +TABLE_DOCUMENTS..Modifié=Faux +Sélection d'une ligne de TABLE_DOCUMENTS +Fic est une chaîne +Ext est une chaîne +si TABLE_DOCUMENTS..Nouveau alors +gclPresentationFicheInterv.ListeDocument.p_clCourant=Null +sinon +si TABLE_DOCUMENTS est PFicheDocument alors +clModele est un PFicheDocument dynamique +clModele = TABLE_DOCUMENTS +gclPresentationFicheInterv.ListeDocument.p_clCourant = clModele:p_clCourant +sinon +gclPresentationFicheInterv.ListeDocument.p_clCourant=TABLE_DOCUMENTS +fin +fin +si gclPresentationFicheInterv.ListeDocument.p_clCourant<>Null _et_ gclPresentationFicheInterv. +ListeDocument.p_clCourant:m_sNom<>"" alors +//ApercuFichier(TABLE_Documents.COL_NomDoc,IMG_Previsu) +//IMG_Previsu="\\Srvgds\partage\Documents\LEBONCLIENT 3096224743817222\Intervention +3096224743817231\"+TABLE_Documents.COL_NomDoc +si gclPresentationFicheInterv.ListeDocument.p_clCourant:m_sCheminFichier = "" alors +// Change l'état du document si la localisation a changé +si gclPresentationFicheInterv.ListeDocument.p_clCourant:m_sChemin <> "" et fFichierExiste( +gclPresentationFicheInterv.ListeDocument.p_clCourant:m_sChemin) alors +gclPresentationFicheInterv.ListeDocument.p_clCourant:m_sCheminFichier = +gclPresentationFicheInterv.ListeDocument.p_clCourant:m_sChemin +gclPresentationFicheInterv.ListeDocument.p_clCourant:m_nIDEtatDocument = gpcl +ListeEtatDocument.RechercheEtDonneIdDepuisValeur("1") +sinon +gclPresentationFicheInterv.ListeDocument.p_clCourant:m_sCheminFichier = ReqCharge1Doc( +gclPresentationFicheInterv.ListeDocument.p_clCourant:m_nPKID,gclPresentationFicheInterv. +ListeDocument.p_clCourant.sRep_Racine,gclPresentationFicheInterv.ListeDocument.p_clCourant +.sFormat_RepDoc,gclPresentationFicheInterv.ListeDocument.p_clCourant.m_sNom) +// Change l'état du document si la localisation a changé +06/08/2026 Isis_BO 3336 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +gclPresentationFicheInterv.ListeDocument.p_clCourant:m_nIDEtatDocument = fFichierExiste( +gclPresentationFicheInterv.ListeDocument.p_clCourant:m_sCheminFichier) ? gpcl +ListeEtatDocument.RechercheEtDonneIdDepuisValeur("1") sinon gpclListeEtatDocument. +RechercheEtDonneIdDepuisValeur("0") +si gpclListeEtatDocument.RechercheEtDonneIdDepuisValeur("1") = gclPresentationFicheInterv. +ListeDocument.p_clCourant:m_nIDEtatDocument alors +gclPresentationFicheInterv.ListeDocument.p_clCourant.m_sChemin = +gclPresentationFicheInterv.ListeDocument.p_clCourant.m_sCheminFichier +fin +fin +fin +Fic= gclPresentationFicheInterv.ListeDocument.p_clCourant:m_sCheminFichier +//ComplèteRep(DonneRepertoireRacine()+DonneRepertoireClient(gclPresentationFicheInterv:FicheClient: +m_sNom,gclPresentationFicheInterv:FicheClient:m_nPKID)+DonneRepertoireIntervention(gclPresentationF +icheInterv:m_nPKID))+gclPresentationFicheInterv.ListeDocu +ment.p_clCourant:m_sNom +Ext= fExtraitChemin(Fic,fExtension) +Ext=Majuscule(Ext[[2 à]]) +selon Ext +cas "BMP","JPG","JPEG","GIF", "PCD", "PCX", "PNG", "PSD", "TGA", "TIF","TIFF","EMF","WMF","ICO" +,"ICW","CUR" +IMG_Previsu=Fic +cas "PDF" +IMG_Previsu=Fic +autre cas +IMG_Previsu="fichier.png" +fin +fin +//BTN_SUPPRIME_Fichier..visible=Vrai +GestionBoutonDocument() +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_DOCUMENTS +ExécuteTraitement(BTN_EDT_DOC,trtClic) +Drop depuis l'explorateur (WM_DROPFILES) sur TABLE_DOCUMENTS +//Il se peut que la liste des document ne soit pas chargées à cause du chargement différé +si gclPresentationFicheInterv.ListeDocument = Null alors PFicheIntervention.gListeDocument( +gclPresentationFicheInterv) +nbFic est un entier = ExplorerRécupère(_EVE.wParam) +sNomFic est une chaîne +i est un entier +// Récupération de tous les fichiers +smsg est une chaîne +pour i = 1 à nbFic +sNomFic += ExplorerRécupère(_EVE.wParam, i)+RC +fin +si AjouteFichier(sNomFic,1,gclPresentationFicheInterv,smsg) alors +TableAffiche(TABLE_DOCUMENTS,taInit) +TableSelectPlus(TABLE_DOCUMENTS,TABLE_DOCUMENTS..Occurrence) +ExécuteTraitement(TABLE_DOCUMENTS,trtSélection) +sinon +Erreur(smsg) +fin +Sélection d'une ligne de COL_Categorie ( TABLE_DOCUMENTS ) +06/08/2026 Isis_BO 3337 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +sRepertoireFichier est une chaîne +bResultat est un booléen +stDroitCateg est un STParamCategDoc +nIdCatg est un entier sur 8 octets = 0 +quand exception dans +nIdCatg = MoiMême +Désérialise(stDroitCateg,gpclListeCategorieDocument.RechercheEtDonneParametreDepuisId(MoiMême), +psdJSON) +faire +fin +sReqSQL est une Requête SQL = +[ +SELECT Client.*,Lieu.*,Intervention.*,Dossier.*,Adresse.*//,'' AS PA_Libelle//,ParametreMetier.* +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 Dossier ON (DO_PKID=IN_IDDossier) +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +//INNER JOIN ParametreMetier ON (ParametreMetier.PA_PKID=IN_IDEtatIntervention) +WHERE Intervention.IN_PKID={P_IDIntervention} +] +sReqSQL.P_IDIntervention= gclPresentationFicheInterv:m_nPKID +tabRep est un tableau de Rep +//Si l'execution de la requete +se passe bien alors appel de la méthode qui donne le répertoire selon la nouvelle catégorie +si HExécuteRequête(sReqSQL,hRequêteDéfaut) alors sRepertoireFichier = ComplèteRep( +DonneRepertoireDocument(5,Null,sReqSQL,nIdCatg,tabRep,*,*)) +//Libération de la requete +HLibèreRequête(sReqSQL) +//Le répertoire de destination existe +si sRepertoireFichier<>"" _et_ (fRépertoireExiste(sRepertoireFichier) _ou_ fRepCrée(sRepertoireFichier) +) alors +//Déplace le fichier de l'ancien répertoire au nouveau répertoire +si fDéplaceFichier(gclPresentationFicheInterv.ListeDocument.p_clCourant.m_sCheminFichier, +sRepertoireFichier+gclPresentationFicheInterv.ListeDocument.p_clCourant.m_sNom ) alors +bResultat = Vrai +clerreur est un CErreur +gclPresentationFicheInterv.ListeDocument.p_clCourant.m_nIDCategorie = COL_Categorie +//Modification du chemin dans l'objet +gclPresentationFicheInterv.ListeDocument.p_clCourant.m_sCheminFichier= sRepertoireFichier+ +gclPresentationFicheInterv.ListeDocument.p_clCourant.m_sNom +//Modification de l'héritage de droit +gclPresentationFicheInterv.ListeDocument.p_clCourant.m_sHeriteDroit = stDroitCateg. +sCodeDroit +// Enregristre le changement +gclPresentationFicheInterv.ListeDocument.p_clCourant.bEnregistrer(clerreur) +//ALORS DemandeMiseAJourIHM() +fin +fin +//Si le déplacement n'a pas pu se faire +si pas bResultat alors +Erreur("Impossible de déplacer le fichier") +COL_Categorie = gclPresentationFicheInterv.ListeDocument.p_clCourant.m_nIDCategorie +fin +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +Sortie d'une ligne de TABLE_RAPPORT +06/08/2026 Isis_BO 3338 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +// si la table n'a pas été modifiée, il ne faut rien faire +si MoiMême..Modifié=Faux alors +retour +fin +gclPresentationFicheInterv.ListeRapport.p_clCourant=TABLE_RAPPORT +clErr est un CErreur +pclPresentationFiche est un PFicheDocument dynamique +// ajout d'une nouvelle ligne +si TABLE_RAPPORT..Nouveau alors +pclPresentationFiche<-gclPresentationFicheInterv.ListeRapport.Nouveau() +// modification d'une ligne existante +sinon +pclPresentationFiche<-gclPresentationFicheInterv.ListeRapport.Modifier() +fin +// sauvegarde de la table +TableEnregistre(TABLE_RAPPORT,pclPresentationFiche) +// traitement des erreurs +si pas pclPresentationFiche.bOK(clErr) alors +Erreur(clErr.FormateMessage()) +fin +// repasse la table en non modifiée +TABLE_RAPPORT..Modifié=Faux +Sélection d'une ligne de TABLE_RAPPORT +si TABLE_RAPPORT..Nouveau alors +gclPresentationFicheInterv.ListeRapport.p_clCourant=Null +sinon +gclPresentationFicheInterv.ListeRapport.p_clCourant=TABLE_RAPPORT +fin +GestionBoutonDocument() +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_RAPPORT +ExécuteTraitement(BTN_EDT_RAPPORT,trtClic) +Drop depuis l'explorateur (WM_DROPFILES) sur TABLE_RAPPORT +//nbFic est un entier = ExplorerRécupère(_EVE.wParam) +//sNomFic est une chaîne +//i est un entier +//// Récupération de tous les fichiers +//POUR i = 1 À nbFic +// sNomFic = ExplorerRécupère(_EVE.wParam, i) +// AjouteFichier(sNomFic,1,gclPresentationFicheInterv) +//FIN +//TableAffiche(TABLE_RAPPORT,taInit) +//TableSelectPlus(TABLE_RAPPORT,TABLE_RAPPORT..Occurrence) +//ExécuteTraitement(TABLE_RAPPORT,trtSélection) +Clic sur BTN_ETAT ( COL_Icone ) +//gclPresentationFicheInterv:ListeContactLieu:p_clCourant:Demandeur = PAS +gclPresentationFicheInterv:ListeContactLieu:p_clCourant:m_bEstDemandeur +06/08/2026 Isis_BO 3339 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +//MoiMême..Image = gclPresentationFicheInterv:ListeContactLieu:p_clCourant:ImageDemandeur +//ChampVersSource() +//EnregistrerFiche() +//DemandeMiseAJourIHM() +Clic sur BTN_ADD_PERS_SITE ( SC_CONTACT_SITE_INTERV ) +//AjouteContactSite(MoiMême..Nom) +si SAI_CodeLieu<>"" _et_ gclPresentationFicheInterv:FicheLieu:IdentifiantUnique<>0 alors +AppelSousFenetre(MoiMême..Nom) +sinon +Avertissement("Veuillez choisir un site") +fin +Clic sur BTN_DEL_PERS_SITE ( SC_CONTACT_SITE_INTERV ) +si OuiNon("Confirmez vous la suppression du message ?")=Non alors +retour +fin +si gclPresentationFicheInterv:bExisteContactLieuSurRdV(Vrai) alors +Erreur("Impossible de supprimer ce contact car il est présent dans au moins un rendez-vous") +retour +fin +// gestion de la saisie en cascade +// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +nIndice est un entier=TableSelect(TABLE_INTERLOCUTEUR_LIEU) +si nIndice>1 _et_ nIndice=TableOccurrence(TABLE_INTERLOCUTEUR_LIEU) alors +TableSelectPlus(TABLE_INTERLOCUTEUR_LIEU,nIndice-1) +fin +clErreur est un CErreur +si pas gclPresentationFicheInterv.ListeContactLieu.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +fin +Clic sur BTN_EDT_PERS_SITE ( SC_CONTACT_SITE_INTERV ) +si pas EnregistrerFiche() alors RepriseSaisie(ChampPrécédent()) +AppelSousFenetre(MoiMême..Nom) +//FEN_Menu.OuvreOuActive(FI_Fiche_Lieu,"Fiche +Site",*,gclPresentation.FicheLieu,DonneParam(DansOnglet,"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJO +bjetRetourFI)) +//ReorganiseChampDispoDansFiche(D_COL_FIC_INTERV,DISP_CD_L2_C1,CFI_SOUSELEMENT_INTERVENTION,GR_IMAGE_OP +AQUE_FICHE_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50,2,3,DISP_CD_L2_C1..Largeur) +//clFichePersonne est un +PFichePersonne(gclPresentationFicheInterv.ListeContactLieu.p_clCourant:m_clContact,Null) +//ChangeFenêtreSource(CFI_SOUSELEMENT_INTERVENTION,FI_Fiche_Personne,clFichePersonne,DonneParam(DansCha +mpFI,"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJObjetRetourFI,"Contact","ModifIntervLieuPersonne",gc +lPresentationFicheInterv:FicheLieu:IdentifiantUni +que,gclPresentationFicheInterv))//,"InterventionFicheLieu",paramSupplementaire.pclObjetAppelant.m_nIDCl +ient +Clic sur BTN_LigneSuivante ( SC_CONTACT_SITE_INTERV ) +06/08/2026 Isis_BO 3340 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +b est un entier +c est un entier +sValeurRecherche est une chaîne ANSI = SAI_CodeContact +sValeurRecherche = SansAccent(Majuscule(SansEspace(sValeurRecherche))) +sValeurCol est une chaîne ANSI +si gnPosRechercheContact > 0 _et_ gnPosRechercheContact < TABLE_INTERLOCUTEUR_LIEU.Occurrence() alors +c = gnPosRechercheContact +sinon +c = 0 +fin +pour toute ligne i de TABLE_INTERLOCUTEUR_LIEU +c += 1 +si c <= TABLE_INTERLOCUTEUR_LIEU.Occurrence() alors +sValeurCol = SansAccent(Majuscule(SansEspace(TABLE_INTERLOCUTEUR_LIEU.COL_Nom[c]))) +si Contient(sValeurCol,sValeurRecherche) alors +b = c +sortir +fin +fin +fin +si b > 0 alors +TableSelectPlus(TABLE_INTERLOCUTEUR_LIEU,b) +sinon +si gnPosRechercheContact > 0 alors +c = 0 +pour toute ligne i de TABLE_INTERLOCUTEUR_LIEU +c += 1 +sValeurCol = SansAccent(Majuscule(SansEspace(TABLE_INTERLOCUTEUR_LIEU.COL_Nom[c]))) +si Contient(sValeurCol,sValeurRecherche) alors +b = c +sortir +fin +fin +fin +si b > 0 alors +TableSelectPlus(TABLE_INTERLOCUTEUR_LIEU,b) +fin +fin +gnPosRechercheContact= b +Clic sur BTN_LOUPE_PERS_SITE ( SC_CONTACT_SITE_INTERV ) +//SelectionDesContactsDuLieu(MoiMême..nom) +//AjouteOuChercheContactSite(BTN_ADD_PERS_LIEU_INTERV..nom) +si SAI_CodeLieu<>"" _et_ gclPresentationFicheInterv:FicheLieu:IdentifiantUnique<>0 alors +si SAI_CodeContact<>"" alors +//Appel la fiche contact en creation +AppelSousFenetre(BTN_ADD_PERS_SITE..Nom) +sinon +//Appel la liste des contacts +AppelSousFenetre(BTN_LOUPE_PERS_SITE..Nom) +06/08/2026 Isis_BO 3341 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +fin +sinon +Avertissement("Veuillez choisir un site") +fin +Entrée dans SAI_CodeContact ( SC_CONTACT_SITE_INTERV ) +//SI SAI_CodeLieu="" ALORS +// Avertissement("Veuillez choisir un site") +// RepriseSaisie(SAI_CodeLieu) +//SINON SI gbPopupEnCours ALORS +// gbPopupEnCours=faux +//FIN +Sortie de SAI_CodeContact ( SC_CONTACT_SITE_INTERV ) +//SI MoiMême..ValeurAffichée<>"" ALORS +// +// +nPKID est un entier sur 8 octets = +val(ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"[",DepuisDébut),1,"]")) +// SI nPKID>0 ALORS +// PFicheIntervention.gListeContactLieu(gclPresentationFicheInterv,*,nPKID) +// MoiMême="" +// SINON +// +SI +ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"---",DepuisDébut),1,"---",DepuisFin)=ChaîneFormate("Aucu +n résultat",ccMajuscule) ALORS +// +// SaisieAssistéeSupprimeTout(MoiMême) +// ExécuteTraitement(MoiMême,trtModification) +// MoiMême="" +// SINON +// nCptResult est un entier +// pclObjetRetour est un PTablePersonne dynamique +// +SI PAS +PFicheIntervention.gListeContactLieu(gclPresentationFicheInterv,pclObjetRetour,-1,MoiMême..ValeurAffich +ée,nCptResult) ALORS +// MoiMême="" +// ExécuteTraitement(BTN_LOUPE_PERS_SITE,trtClic) +// +// SINON SI nCptResult>1 _et_ gbPopupEnCours=faux ALORS +// gbPopupEnCours = vrai +// +nRetour est un entier = +OuvrePopupPosition(FEN_Choix_Resultat_Recherche,poBas,pclObjetRetour,DonneParam(DansFenetre,"FI_Fiche_I +ntervention",MoiMême..Nom,maProcMAJObjetRetourFI,"","InterventionContactSite",*,gclPresentationFicheInt +erv,Faux),MoiMême.. +Largeur,200) +// SI nRetour=1 ALORS +// MoiMême="" +// SINON +// RETOUR +// FIN +// FIN +// +// +// FIN +06/08/2026 Isis_BO 3342 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +// FIN +// +// +// EnregistrerFiche() +//SINON +// +// RETOUR +//FIN +A chaque modification de SAI_CodeContact ( SC_CONTACT_SITE_INTERV ) +//gbPopupEnCours=Faux +//SI MoiMême..ValeurAffichée<>"" ALORS +// SI ToucheEntree("AChaque Modif") _ET_ PAS gbSelectLigneAssist ALORS +// +ModifZoneSaisieAssistee(MoiMême,2,Vrai,Tronque(ExtraitChaîne(ChampAlias(TABLE_INTERLOCUTEUR_LIEU),2,":" +),Taille(ExtraitChaîne(ChampAlias(TABLE_INTERLOCUTEUR_LIEU),2,":"))-1,nombreDeCaractèresAConserver),"") +// FIN +//FIN +Sélection d'une valeur dans la liste de saisie assistée de SAI_CodeContact ( SC_CONTACT_SITE_INTERV ) +//ExécuteTraitement(MoiMême,trtSortie) +Prise de focus (WM_SETFOCUS) de SAI_CodeContact ( SC_CONTACT_SITE_INTERV ) +//SI gbPopupEnCours ALORS gbPopupEnCours=Faux +Sortie d'une ligne de TABLE_INTERLOCUTEUR_LIEU +// si la table n'a pas été modifiée, il ne faut rien faire +si TABLE_INTERLOCUTEUR_LIEU..Modifié=Faux alors +retour +fin +clErr est un CErreur +pclPresentationFiche est un PFicheIntervention_Personne dynamique +// ajout d'une nouvelle ligne +si TABLE_INTERLOCUTEUR_LIEU..Nouveau alors +pclPresentationFiche<-gclPresentationFicheInterv:ListeContactLieu.Nouveau(Faux,0) +// modification d'une ligne existante +sinon +pclPresentationFiche<-gclPresentationFicheInterv:ListeContactLieu.Modifier() +fin +//gpclFichePersonneSelect = pclPresentationFiche +// sauvegarde de la table +TableEnregistre(TABLE_INTERLOCUTEUR_LIEU,pclPresentationFiche) +// traitement des erreurs +si pas pclPresentationFiche.bOK(clErr,Vrai) alors//PAS pclPresentationFiche.bOK(clErr,Vrai,Vrai) +Erreur(clErr.FormateMessage()) +fin +06/08/2026 Isis_BO 3343 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +// repasse la table en non modifiée +TABLE_INTERLOCUTEUR_LIEU..Modifié=Faux +Sélection d'une ligne de TABLE_INTERLOCUTEUR_LIEU +si MoiMême..Nouveau alors +gclPresentationFicheInterv.ListeContactLieu.p_clCourant=Null +sinon +si TABLE_INTERLOCUTEUR_LIEU est PFicheIntervention_Personne alors +clModele est un PFicheIntervention_Personne dynamique +clModele = TABLE_INTERLOCUTEUR_LIEU +gclPresentationFicheInterv.ListeContactLieu.p_clCourant=clModele:p_clCourant +sinon +gclPresentationFicheInterv.ListeContactLieu.p_clCourant=TABLE_INTERLOCUTEUR_LIEU +fin +//gclPresentationFicheInterv.ListeContactLieu.p_clCourant=TABLE_INTERLOCUTEUR_LIEU +fin +GestionBoutonContactSite() +Clic sur BTN_DEMANDEUR ( COL_DEMANDEUR ) +gclPresentationFicheInterv:ListeContactLieu:p_clCourant:Demandeur = pas gclPresentationFicheInterv: +ListeContactLieu:p_clCourant:m_bEstDemandeur +MoiMême..Image = gclPresentationFicheInterv:ListeContactLieu:p_clCourant:ImageDemandeur +ChampVersSource() +EnregistrerFiche() +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +Sortie de SAI_Description ( SC_DESCRI_INTERV ) +//SI MoiMême..ValeurAffichée<>"" ALORS +//ChampVersSource() +EnregistrerFiche() +//FIN +A chaque modification de SAI_Description ( SC_DESCRI_INTERV ) +ChampVersSource() +Clic sur BTN_DEL_HISTO_ETATINTERV ( SC_HISTO_ETAT_INTERV ) +si OuiNon("Confirmez vous la suppression ?")=Non alors +retour +fin +// gestion de la saisie en cascade +// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +nIndice est un entier=TableSelect(TABLE_HISTO_ETAT) +si nIndice>1 _et_ nIndice=TableOccurrence(TABLE_HISTO_ETAT) alors +TableSelectPlus(TABLE_HISTO_ETAT,nIndice-1) +fin +clErreur est un CErreur +si pas gclPresentationFicheInterv.ListeHistoEtat.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +06/08/2026 Isis_BO 3344 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +fin +Sortie d'une ligne de TABLE_HISTO_ETAT +// si la table n'a pas été modifiée, il ne faut rien faire +si TABLE_HISTO_ETAT..Modifié=Faux alors +retour +fin +clErr est un CErreur +pclPresentationFiche est un PFicheEtatIntervention dynamique +// ajout d'une nouvelle ligne +si TABLE_HISTO_ETAT..Nouveau alors +pclPresentationFiche<-gclPresentationFicheInterv.ListeHistoEtat.Nouveau() +// modification d'une ligne existante +sinon +pclPresentationFiche<-gclPresentationFicheInterv.ListeHistoEtat.Modifier() +fin +// sauvegarde de la table +TableEnregistre(TABLE_HISTO_ETAT,pclPresentationFiche) +// traitement des erreurs +si pas pclPresentationFiche.bOK(clErr) alors +Erreur(clErr.FormateMessage()) +fin +// repasse la table en non modifiée +TABLE_HISTO_ETAT..Modifié=Faux +Sélection d'une ligne de TABLE_HISTO_ETAT +si TABLE_HISTO_ETAT..Nouveau alors +gclPresentationFicheInterv.ListeHistoEtat.p_clCourant=Null +sinon +si TABLE_HISTO_ETAT est PFicheEtatIntervention alors +clModele est un PFicheEtatIntervention dynamique +clModele = TABLE_HISTO_ETAT +gclPresentationFicheInterv.ListeHistoEtat.p_clCourant=clModele:p_clCourant +sinon +gclPresentationFicheInterv.ListeHistoEtat.p_clCourant=TABLE_HISTO_ETAT +fin +//SAI_Description = gclPresentationFicheInterv.ListeHistoEtat.p_clCourant:m_sDescription +//SAI_Description..Etat=TableSelect(TABLE_HISTO_ETAT)=gclPresentationFicheInterv.ListeHistoEtat.p_n +Total ? Actif SINON grisé +fin +GestionBoutonHistoEtat() +Entrée dans COL_Commentaire ( TABLE_HISTO_ETAT ) +gCouleurFond = TABLE_HISTO_ETAT[TableSelect(TABLE_HISTO_ETAT)]..CouleurFond +gCouleurText = TABLE_HISTO_ETAT[TableSelect(TABLE_HISTO_ETAT)]..Couleur +TABLE_HISTO_ETAT[TableSelect(TABLE_HISTO_ETAT)]..CouleurFond = Blanc +TABLE_HISTO_ETAT[TableSelect(TABLE_HISTO_ETAT)]..Couleur = Noir +Sortie de COL_Commentaire ( TABLE_HISTO_ETAT ) +TABLE_HISTO_ETAT[TableSelect(TABLE_HISTO_ETAT)]..CouleurFond = gCouleurFond +06/08/2026 Isis_BO 3345 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +TABLE_HISTO_ETAT[TableSelect(TABLE_HISTO_ETAT)]..Couleur = gCouleurText +Initialisation de LIB_DateHeure ( TABLE_HISTO_ETAT ) +MoiMême = DateHeureSys() +Entrée dans SAI_CodeLieu ( SC_CELL_GAUCHE_INTERV ) +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(ChampPrécédent()) +//SI gbPopupEnCours ALORS +// gbPopupEnCours=Faux +//SINOn SI MoiMême..ValeurAffichée="" ALORS +// +ToastAffiche("Saisir le site et tapez entrer pour afficher les résultats",toastCourt,cvMilieu,chCentre) +//FIN +Sortie de SAI_CodeLieu ( SC_CELL_GAUCHE_INTERV ) +//nPKIDActuel est un entier sur 8 octets = gclPresentationFicheInterv:m_nIDLieu +// +//SI MoiMême..ValeurAffichée<>"" ALORS +// +// +nPKID est un entier sur 8 octets = +val(ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"[",DepuisDébut),1,"]")) +// SI nPKID>0 ALORS +// +PFicheIntervention.gFicheLieu(gclPresentationFicheInterv,gclPresentationFicheInterv.FicheLieu,nPKID,Vra +i,"",Vrai) +// +// SINON +// +SI +ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"---",DepuisDébut),1,"---",DepuisFin)=ChaîneFormate("Aucu +n résultat",ccMajuscule) ALORS +// MoiMême="" +// SaisieAssistéeSupprimeTout(MoiMême) +// ExécuteTraitement(MoiMême,trtModification) +// +// SINON +// +// pclObjetRetour est un PTableLieu dynamique +// +PFicheIntervention.gFicheLieu(gclPresentationFicheInterv,gclPresentationFicheInterv.FicheLieu,-1,Vrai,M +oiMême..ValeurAffichée,Vrai,pclObjetRetour) +// +SI ((gclPresentationFicheInterv.FicheLieu)=Null _ou_ (gclPresentationFicheInterv.FicheLieu<>null _et_ +gclPresentationFicheInterv:FicheLieu.m_sCodeLieu="")) _et_ MoiMême..ValeurAffichée<>"" ALORS +// MoiMême="" +// ExecuteClicSurBoutonSiToucheEntree(BTN_ADD_SITE) +// +SINON SI pclObjetRetour<>Null _et_ pclObjetRetour.p_nTotal>0 _et_ gbPopupEnCours=Faux ALORS +// gbPopupEnCours = Vrai +// +// +06/08/2026 Isis_BO 3346 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +nRetour est un entier = +OuvrePopupPosition(FEN_Choix_Resultat_Recherche,poBas,pclObjetRetour,DonneParam(DansFenetre,"FI_Fiche_I +ntervention",MoiMême..Nom,maProcMAJObjetRetourFI,"","InterventionSite",*,gclPresentationFicheInterv,Fau +x),MoiMême..Largeur +,200) +| // | SI nRetour=1 ALORS | | | | +| --- | ------------------ | --- | --- | --- | +| // | MoiMême="" | | | | +| // | SINON | | | | +| // | RETOUR | | | | +| // | FIN | | | | +// +| // | FIN | | | | +| --- | --- | --- | --- | --- | +// +| // | // | nCptResult | est un entier | | +| --- | --- | -------------- | ---------------------------- | --- | +| // | // | pclObjetRetour | est un PTableLieu dynamique | | +| // | // | | | | +SI PAS +PFicheIntervention.gListeContactLieu(gclPresentationFicheInterv,pclObjetRetour,-1,MoiMême..ValeurAffich +ée,nCptResult) ALORS +| // | // | MoiMême="" | | | +| --- | --- | ---------------------------------------------------- | --- | --- | +| // | // | ExécuteTraitement(BTN_LOUPE_PERS_SITE,trtClic) | | | +| // | // | | | | +| // | // | SINON SI nCptResult>1 _ET_ gbPopupEnCours=Faux ALORS | | | +| // | // | gbPopupEnCours = Vrai | | | +| // | // | | | | +nRetour est un entier = +OuvrePopupPosition(FEN_Choix_Resultat_Recherche,poBas,pclObjetRetour,DonneParam(DansFenetre,"FI_Fiche_I +ntervention",MoiMême..Nom,maProcMAJObjetRetourFI,"","InterventionContactSite",*,gclPresentationFicheInt +erv,Faux),MoiM +ême..Largeur,200) +| // | // | SI nRetour=1 ALORS | | | +| ------ | --- | ------------------ | --- | --- | +| // | // | MoiMême="" | | | +| // | // | SINON | | | +| // | // | RETOUR | | | +| // | // | FIN | | | +| // | // | FIN | | | +| // FIN | | | | | +// FIN +// +// SI nPKID>0 ALORS +// MoiMême = Majuscule(gclPresentationFicheInterv:FicheLieu.m_sCodeLieu) +// +// FIN +// bReponseQuestion est un booléen +// //Contrôle la nécessité de déplacer des documents +// +SI ControlePresenceLieuDansDoc(nPKIDActuel,gclPresentationFicheInterv:m_nIDLieu) ALORS +TraitementDocSurChangementSite(nPKIDActuel,MoiMême,bReponseQuestion) +// +// EnregistrerFiche() +// //Enchainement des actions suite au choix du lieu comme si l'utilisateur avait cliqué sur la loupe +// //GestionEnchainement(BTN_LOUPE_LIEU,"") +//SINON SI gclPresentationFicheInterv:m_nIDLieu<>0 ALORS +// +// SupprimeSite() +// +//FIN +A chaque modification de SAI_CodeLieu ( SC_CELL_GAUCHE_INTERV ) +//gbPopupEnCours=Faux +//ModifZoneSaisieAssistee(MoiMême,2,faux,"","")//gclPresentationFicheInterv:m_nIDClient +Sélection d'une valeur dans la liste de saisie assistée de SAI_CodeLieu ( SC_CELL_GAUCHE_INTERV ) +| 06/08/2026 | | | Isis_BO | 3347 | +| ---------- | --- | --- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +//ExécuteTraitement(MoiMême,trtSortie) +Sortie de COMBO_Etat ( SC_CARACTERISTIQUES_INTERV ) +si MoiMême..ValeurAffichée<>"" alors +EnregistrerFiche() +fin +Sélection d'une ligne de COMBO_Etat ( SC_CARACTERISTIQUES_INTERV ) +si COMBO_Etat..Valeur<>gclPresentationFicheInterv:m_nIDEtatIntervention alors +ChampVersSource() +CreationHistoriqueEtatIntervention(COMBO_Etat..Valeur) +// SI gclPresentationFicheInterv.ListeHistoEtat.m_clTabModele.Occurrence()>0 ALORS +// SAI_Description..Etat=Actif +// FIN +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +//SI pclPresentationFiche.bOK(clErr) ALORS +//DemandeMiseAJourIHM() +//FIN +fin +Sortie de COMBO_SuiviPar ( SC_CARACTERISTIQUES_INTERV ) +si MoiMême..ValeurAffichée<>"" alors +ChampVersSource() +EnregistrerFiche() +fin +Ouverture de la liste déroulante de COMBO_SuiviPar ( SC_CARACTERISTIQUES_INTERV ) +OuvrePopupPosition(FEN_Choix_Collab_Responsable,poBas,*,DonneParam(DansFenetre,"FI_Fiche_Intervention", +MoiMême..Nom,maProcMAJObjetRetourFI,"","InterventionSuiviPar",Val(MoiMême..ValeurMémorisée), +gclPresentationFicheInterv,Faux)) +Sortie de COMBO_TypeIntervention ( SC_CARACTERISTIQUES_INTERV ) +si MoiMême..ValeurAffichée<>"" alors +ChampVersSource() +EnregistrerFiche() +fin +Sélection d'une ligne de COMBO_TypeIntervention ( SC_CARACTERISTIQUES_INTERV ) +//ChampVersSource() +Sortie de SAI_REFEXTERNE ( SC_CARACTERISTIQUES_INTERV ) +ChampVersSource() +EnregistrerFiche() +06/08/2026 Isis_BO 3348 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +FI_Fiche_Dossier.NomInter() +A chaque modification de SAI_REFEXTERNE ( SC_CARACTERISTIQUES_INTERV ) +//ChampVersSource() +Clic sur BTN_ADD_PERS_CLI_INTERV ( SC_CONTACT_CLI_INTERV ) +//AjouteContactClient(MoiMême..Nom) +AppelSousFenetre(MoiMême..Nom) +Clic sur BTN_DEL_PERS_CLI_INTERV ( SC_CONTACT_CLI_INTERV ) +si OuiNon("Confirmez vous la suppression du message ?")=Non alors +retour +fin +// gestion de la saisie en cascade +// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +nIndice est un entier=TableSelect(TABLE_INTERLOCUTEUR_CLIENT) +si nIndice>1 _et_ nIndice=TableOccurrence(TABLE_INTERLOCUTEUR_CLIENT) alors +TableSelectPlus(TABLE_INTERLOCUTEUR_CLIENT,nIndice-1) +fin +clErreur est un CErreur +si pas gclPresentationFicheInterv.ListeContactClient.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +fin +Clic sur BTN_EDT_PERS_CLI_INTERV ( SC_CONTACT_CLI_INTERV ) +bAccessible est un booléen = pas gclPresentationFicheInterv:ListeContactClient. +p_bModeleCourantVide _et_ gclPresentationFicheInterv.ListeContactClient.p_clCourant<>Null +si bAccessible alors +AppelSousFenetre(MoiMême..Nom) +sinon +Info("Veuillez sélectionner un donneur d'ordre") +retour +fin +Clic sur BTN_LOUPE_PERS_CLI_INTERV ( SC_CONTACT_CLI_INTERV ) +//SelectionDesContactsDuClient(MoiMême..nom) +AppelSousFenetre(MoiMême..Nom) +Sélection d'une ligne de TABLE_INTERLOCUTEUR_CLIENT +si MoiMême..Nouveau alors +gclPresentationFicheInterv.ListeContactClient.p_clCourant=Null +sinon +gclPresentationFicheInterv.ListeContactClient.p_clCourant=MoiMême +//BTN_SUPPRIME_CONTACT_CLIENT_INTERVENTION..Grisé = faux +06/08/2026 Isis_BO 3349 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +fin +GestionBoutonContactClient() +Clic sur BTN_DEMANDEUR ( COL_DEMANDEUR ) +gclPresentationFicheInterv:ListeContactClient:p_clCourant:Demandeur = pas gclPresentationFicheInterv: +ListeContactClient:p_clCourant:m_bEstDemandeur +MoiMême..Image = gclPresentationFicheInterv: +ListeContactClient:p_clCourant:ImageDemandeur +ChampVersSource() +EnregistrerFiche() +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +Clic sur BTN_ADD_RDV ( SC_RDV_INTERV ) +//SelectionDesContactsDuLieu(MoiMême..nom) +si pas EnregistrerFiche() alors RepriseSaisie(ChampPrécédent()) +si gclPresentationFicheInterv:FicheClient:m_bBlocageCciale alors +si OuiNon("Le client a été bloqué voulez-vous continuer ?") = Faux alors +RepriseSaisie(ChampPrécédent()) +fin +fin +//FIN +bAPlanifier est un booléen=Faux +si Val(gpclListeParamAppli:m_clTabModele["RDV_NON_PLANIFIE"]:m_sValeur)=1 alors +//1 : &Planifier un rendez-vous +//2 : &Proposer sur mobile +selon Dialogue( +"Vous pouvez planifier un rendez-vous directement ou proposer aux collaborateurs de le planifier +sur mobile." +) +// &Planifier un rendez-vous +cas 1 +bAPlanifier = Faux +// &Proposer sur mobile +cas 2 +bAPlanifier = Vrai +fin +fin +si bAPlanifier alors +AppelSousFenetre(MoiMême..Nom) +sinon +pclPresentationFiche est un PFicheRdv dynamique +pclPresentationFiche<-gclPresentationFicheInterv.ListeRendezVous.Nouveau() +pclPresentationFiche:m_nIDIntervention = gclPresentationFicheInterv:IdentifiantUnique +pclPresentationFiche:m_nIDDossier = gclPresentationFicheInterv:m_nIDDossier +pclPresentationFiche:m_nIDSociete = gclPresentationFicheInterv:m_nIDSociete +pclPresentationFiche:m_nIDLieu = gclPresentationFicheInterv:m_nIDLieu +si gclPresentationFicheInterv:ListeContactLieu.m_clTabModele..Occurrence<>0 alors +pclPresentationFiche:m_nIDPersonne=gclPresentationFicheInterv:ListeContactLieu.m_clTabModele[1] +.m_nIDPersonne +fin +pour i= 1 _à_ gclPresentationFicheInterv:ListeContactLieu.m_clTabModele..Occurrence +clUnPersonne est un MPersonne +clUnPersonne.m_sNom = gclPresentationFicheInterv:ListeContactLieu.m_clTabModele[i].m_cl +Contact.m_sNom +06/08/2026 Isis_BO 3350 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +clUnPersonne.m_sPrenom = gclPresentationFicheInterv:ListeContactLieu.m_clTabModele[i].m_cl +Contact.m_sPrenom +clUnPersonne.m_nPKID = gclPresentationFicheInterv:ListeContactLieu.m_clTabModele[i].m_n +IDPersonne +TableauAjoute(pclPresentationFiche.m_clListePersonne,clUnPersonne) +fin +pclPresentationFiche:m_clLieu.m_clAdresse.m_sPresentation=Remplace(gclPresentationFicheInterv: +FicheLieu.m_clAdresse.m_sPresentation,[RC,TAB],"-") +//pclPresentationFiche:m_sDescription=RTFVersTexte(gclPresentationFicheInterv.m_sDescription) +si gclPresentationFicheInterv.ListeCollaborateur.m_clTabModele..Occurrence > 0 alors +pour i=1 _à_ gclPresentationFicheInterv.ListeCollaborateur.m_clTabModele..Occurrence +clCollabAajouter est un MCollaborateur +clCollabAajouter.m_nPKID = gclPresentationFicheInterv.ListeCollaborateur.m_clTabModele[i] +.m_nIDCollaborateur +clCollabAajouter.m_sNom = gclPresentationFicheInterv.ListeCollaborateur. +m_clTabModele[i].m_clCollaborateur.m_sNom +clCollabAajouter.m_sPrenom = gclPresentationFicheInterv.ListeCollaborateur. +m_clTabModele[i].m_clCollaborateur.m_sPrenom +pclPresentationFiche:m_clListeCollabGroup.Ajoute(clCollabAajouter) +fin +fin +// pclFichePrefPlanning est un PFicheParametreUtilisateur dynamique +// pclFichePrefPlanning<-gpclFicheUtilisateurEnCours:p_PrefPlanningAgenda +// sPrefPlanning est une chaine +// SI pclFichePrefPlanning<>Null ALORS sPrefPlanning= pclFichePrefPlanning:m_sValeur +// +// SELON sPrefPlanning +// CAS "Planning" +: +FEN_Menu.OuvreOuActive(FI_Planning,"Planning",Vrai,*,DonneParam(DansOnglet,"FI_Fiche_Intervention",MoiM +ême..Nom,maProcMAJObjetRetourFI,"","InterventionAjouteRendezVous",*,pclPresentationFiche)) +// CAS "Agenda" +: +FEN_Menu.OuvreOuActive(FI_Agenda3,"Agenda",Vrai,*,DonneParam(DansOnglet,"FI_Fiche_Intervention",MoiMême +..Nom,maProcMAJObjetRetourFI,"","InterventionAjouteRendezVous",*,pclPresentationFiche)) +// FIN +// SELON sPrefPlanning +// CAS "Planning" +: +FEN_Menu.OuvreOuActive(FI_AgendaPlanning,"Planning",Vrai,DonneParam(DansOnglet,"FI_Fiche_Interventi +on",MoiMême..Nom,maProcMAJObjetRetourFI,"","InterventionAjouteRendezVous",*,pclPresentationFiche)) +// CAS "Agenda" +: +FEN_Menu.OuvreOuActive(FI_Agenda,"Agenda",Vrai,DonneParam(DansOnglet,"FI_Fiche_Intervention",MoiMêm +e..Nom,maProcMAJObjetRetourFI,"","InterventionAjouteRendezVous",*,pclPresentationFiche)) +// FIN +FEN_Menu.OuvreOuActive(FI_AG_OU_PL,gsPreferenceAgdUt,Vrai,*,DonneParam(DansOnglet, +"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJObjetRetourFI,"","InterventionAjouteRendezVous",*, +pclPresentationFiche)) +fin +Clic sur BTN_DEL_RDV ( SC_RDV_INTERV ) +//SI OuiNon("Confirmez vous la suppression de l'action ?")=non alors +// RETOUR +//FIN +nIndice est un entier=ZoneRépétéeSelect(ZR_RDV) +si nIndice>1 alors +06/08/2026 Isis_BO 3351 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +gclPresentationFicheInterv.ListeRendezVous.p_clCourant=gclPresentationFicheInterv.ListeRendezVous. +m_clTabModele[nIndice] +ZoneRépétéeSelectPlus(ZR_RDV,nIndice-1) +// TableSelectPlus(TABLE_RENDEZVOUS,nIndice-1) +sinon +gclPresentationFicheInterv.ListeRendezVous.p_clCourant=ZR_RDV +fin +si SupprimerRdv(gclPresentationFicheInterv.ListeRendezVous.p_clCourant.m_nPKID, Faux ,Vrai) alors +ExécuteTraitement(BTN_REFRESH_RDV,trtClic) +SourceVersEcran("","gclPresentationFicheInterv") +fin +//SI gclPresentationFicheInterv.ListeRendezVous.p_clCourant.m_nIDGroupe<>0 ALORS +// +pour TOUT Planning_RDV avec +planning_rdv.PL_IDGroupe=gclPresentationFicheInterv.ListeRendezVous.p_clCourant.m_nIDGroupe +// si Planning_RDV.PL_PKID<>gclPresentationFicheInterv.ListeRendezVous.p_clCourant.m_nPKID alors +// POUR TOUT Planning_RDV_Personne AVEC PRP_IDRdv=Planning_RDV.PL_PKID +// HSupprime(Planning_RDV_Personne) +// FIN +// HSupprime(Planning_RDV) +// FIN +// FIN +//FIN +//POUR TOUT Planning_RDV_Personne AVEC +PRP_IDRdv=gclPresentationFicheInterv.ListeRendezVous.p_clCourant.m_nPKID +// HSupprime(Planning_RDV_Personne) +//FIN +//clErreur est un CErreur +//SI PAS gclPresentationFicheInterv.ListeRendezVous.bSupprimer(clErreur) ALORS +// Erreur(clErreur.FormateMessage()) +//SINON +// DemandeMiseAJourIHM() +// DemandeMiseAJourUIParent() +//FIN +Clic sur BTN_EDT_RDV ( SC_RDV_INTERV ) +si pas EnregistrerFiche() alors RepriseSaisie(ChampPrécédent()) +pclFicheRdv est un PFicheRdv dynamique +si ZoneRépétéeSelect(ZR_RDV)<>-1 alors +pclFicheRdv<-gclPresentationFicheInterv.ListeRendezVous.Modifier() +si pclFicheRdv:m_nIDStatut = gpclListeStatutRendezVous.RechercheEtDonneIdDepuisValeur("99") alors +AppelSousFenetre(MoiMême..Nom) +sinon +si gclPresentationFicheInterv:ListeContactLieu.m_clTabModele..Occurrence<>0 et pclFicheRdv: +m_nIDPersonne=0 alors +pclFicheRdv:m_nIDPersonne=gclPresentationFicheInterv:ListeContactLieu.m_clTabModele[1].m_n +IDPersonne +fin +si gclPresentationFicheInterv:ListeContactLieu.m_clTabModele..Occurrence <>0 alors +pour i= 1 _à_ gclPresentationFicheInterv:ListeContactLieu.m_clTabModele..Occurrence +clUnPersonne est un MPersonne +clUnPersonne.m_sNom=gclPresentationFicheInterv:ListeContactLieu.m_clTabModele[i].m_cl +Contact.m_sNom +clUnPersonne.m_sPrenom=gclPresentationFicheInterv:ListeContactLieu.m_clTabModele[i]. +m_clContact.m_sPrenom +clUnPersonne.m_nPKID=gclPresentationFicheInterv:ListeContactLieu.m_clTabModele[i].m_n +06/08/2026 Isis_BO 3352 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +IDPersonne +TableauAjoute(pclFicheRdv.m_clListePersonne,clUnPersonne) +fin +fin +//ReorganiseChampDispoDansFiche(DISP_COLONNE,DISP_LIEU_COLONNE_DROITE,CFI_SOUSELEMENT_INTERVENT +ION,IMG_OPACITE_ENTETE,IMG_OPACITE_ENTETE_2,GR_MODEOPAQUE,Vrai,50,2,3,DISP_LIEU_COLONNE_DROITE. +.Largeur) +pclFicheRdv:m_clLieu.m_clAdresse.m_sPresentation=Remplace(gclPresentationFicheInterv:FicheLieu. +m_clAdresse.m_sPresentation,[RC,TAB],"-") +//ChangeFenêtreSource(CFI_SOUSELEMENT_INTERVENTION,FI_fiche_rdv,pclPresentationFiche,DonneParam +(DansChampFI,"FI_Fiche_Rdv",MoiMême..Nom,maProcMAJObjetRetourFI,"","InterventionRendezVous",gcl +Presentation:IdentifiantUnique)) +// +nIndice est un +entier=TableauCherche(gpclPresenListeParamUtilisateur.m_clTabModele,tcLinéaire,"m_sCode;m_nIDUtilis +ateur","CHOIX_PLANNING_AGENDA",gpclFicheUtilisateurEnCours.m_nPKID) +// SI nIndice<>-1 ALORS +// sablier() +// +stParam est un STParamFenetreAppelante = +DonneParam(DansOnglet,"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJObjetRetourFI,"","InterventionR +endezVous",*,pclPresentationFiche) +// SELON gpclPresenListeParamUtilisateur.m_clTabModele[nIndice].m_sValeur +// CAS "Planning" +// FEN_Menu.OuvreOuActive(FI_Planning,"Planning",Vrai,*,stParam) +// CAS "Agenda" +// FEN_Menu.OuvreOuActive(FI_Agenda3,"Agenda",Vrai,*,stParam) +// AUTRE CAS +// FEN_Menu.OuvreOuActive(FI_Planning,"Planning",Vrai,*,stParam) +// FIN +// sablier(faux) +// FIN +pclFichePrefPlanning est un PFicheParametreUtilisateur dynamique +pclFichePrefPlanning<-gpclFicheUtilisateurEnCours:p_PrefPlanningAgenda +// sPrefPlanning est une chaine +// +// // Utilisateur actif +// +// +// +// +// +// SI pclFichePrefPlanning<>Null ALORS sPrefPlanning= pclFichePrefPlanning:m_sValeur +si pclFicheRdv:CollaborateurActif() alors +// SELON sPrefPlanning +// CAS "Planning" +: +FEN_Menu.OuvreOuActive(FI_Planning,"Planning",Vrai,*,DonneParam(DansOnglet,"FI_Fiche_Intervention",MoiM +ême..Nom,maProcMAJObjetRetourFI,"","InterventionRendezVous",*,pclFicheRdv)) +// CAS "Agenda" +: +FEN_Menu.OuvreOuActive(FI_Agenda3,"Agenda",Vrai,*,DonneParam(DansOnglet,"FI_Fiche_Intervention",MoiMême +..Nom,maProcMAJObjetRetourFI,"","InterventionRendezVous",*,pclFicheRdv)) +// FIN +// SELON sPrefPlanning +06/08/2026 Isis_BO 3353 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +// CAS "Planning" +: +FEN_Menu.OuvreOuActive(FI_AgendaPlanning,"Planning",Vrai,DonneParam(DansOnglet,"FI_Fiche_Intervention", +MoiMême..Nom,maProcMAJObjetRetourFI,"","InterventionRendezVous",*,pclFicheRdv)) +// CAS "Agenda" +: +FEN_Menu.OuvreOuActive(FI_Agenda,"Agenda",Vrai,DonneParam(DansOnglet,"FI_Fiche_Intervention",MoiMême..N +om,maProcMAJObjetRetourFI,"","InterventionRendezVous",*,pclFicheRdv)) +// FIN +FEN_Menu.OuvreOuActive(FI_AG_OU_PL,gsPreferenceAgdUt,Vrai,*,DonneParam(DansOnglet, +"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJObjetRetourFI,"","InterventionRendezVous",*, +pclFicheRdv)) +sinon +Info("Un collaborateur est inactif") +fin +fin +sinon +Info("Vous devez sélectionner un rendez-vous pour le modifier") +fin +Clic sur BTN_IMPR_RDV ( SC_RDV_INTERV ) +//OuvrePopupPosition(FEN_Choix_ModeleEtat_Intervention,poHaut,*,DonneParam(DansFenetre,"FI_Fiche_Interv +ention",MoiMême..Nom,maProcMAJObjetRetourFI,"",paramSupplementaire.sNomIDAppelant,*,gclPresentationFich +eInterv,Faux)) +//ImpressionFicheDeplacement() +OuvrePopupPosition(FEN_Choix_ModeleEtat_Intervention,poHaut,*,DonneParam(DansFenetre, +"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJObjetRetourFI,"","InterventionRendezVous",*, +gclPresentationFicheInterv,Faux)) +Clic sur BTN_REFRESH_RDV ( SC_RDV_INTERV ) +bok est un booléen = EnregistrerFiche() +//SI bok +_ET_ paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheInterv) +si bok _et_ paramSupplementaire.eTypeAppel<>Libre alors +AppelProcFenetreAppelante(gclPresentationFicheInterv,paramSupplementaire,Vrai,Faux) +//AppelProcedureFenetreAppelante(Vrai,Faux) +gbAppelProcFenAppelante=Vrai +fin +si bok alors +PFicheIntervention.gListeRendezVous(gclPresentationFicheInterv) +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +fin +Initialisation de ZR_RDV +pour tout sLib,nId de gtaStatutRDV +ListeAjoute(CMB_Statut,sLib+gLien(nId)) +fin +Sortie d'une ligne de ZR_RDV +06/08/2026 Isis_BO 3354 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +si MoiMême..Modifié=Faux alors +retour +fin +//La zone répétée n'a pas de fonction pour mettre à jour l'objet lié +//J'ai donc ajouté la commande ZoneRépétéeEnregistre utilisée pour les ZR liées à des fichiers +//Mais il semble que sans cette fonction, l'objet n'est pas mis à jour, sauf si l'on fait du pas à pas +en mode +debuggage. +ZoneRépétéeEnregistre(MonChamp) +//La zone répétée renvoie l'objet courant, on l'enregistre. +clErr est un CErreur +pclRDV est un MRdv dynamique = ZR_RDV +pclRDV:bEnregistrer(clErr) +//pclPresentationFiche est un PFicheRdv dynamique +// +//pclPresentationFiche<-gclPresentationFicheInterv.ListeRendezVous.Modifier() +//Trace("Sortie 2 +",gclPresentationFicheInterv.ListeRendezVous.p_clCourant:m_nIDStatut,gclPresentationFicheInterv.ListeRe +ndezVous.p_clCourant:saStatut) +//gclPresentationFicheInterv.ListeRendezVous.p_clCourant:bEnregistrer(clErr) +// +// +////// traitement des erreurs +//SI PAS gclPresentationFicheInterv.ListeRendezVous.p_clCourant:bEnregistrer(clErr) ALORS +// Erreur(clErr.FormateMessage()) +//FIN +// repasse la table en non modifiée +MoiMême..Modifié=Faux +Sélection d'une ligne de ZR_RDV +pclRDVSelect est un MRdv dynamique +pclRDVSelect<-ZR_RDV +si pclRDVSelect=Null alors retour +//Cette méthode sélectionne le RDV courant en fonction de son PKID +//On utilise donc celui de l'objet RDV renvoyé par la zone répétée +gclPresentationFicheInterv.ListeRendezVous:RdvCourantPKID(pclRDVSelect:m_nPKID) +//gclPresentationFicheInterv.ListeRendezVous.p_clCourant = DonneObjetTable(MoiMême) +//trace("Selection +",gclPresentationFicheInterv.ListeRendezVous.p_clCourant:m_nIDStatut,gclPresentationFicheInterv.ListeRe +ndezVous.p_clCourant:saStatut) +//BTN_SUPPRIME_CONTACT_CLIENT_INTERVENTION..Grisé = faux +//BTN_EDT_RDV..Visible=Vrai +//BTN_IMPR_RDV..Visible=Vrai +GestionBoutonRendezVous() +Sélection d'une ligne de CMB_Statut ( ZR_RDV ) +//trace("CMB_Statut=",CMB_Statut,gtaStatutRDV[CMB_Statut]) +Clic sur BTN_ADD_SITE ( SC_SITE_INTERV ) +06/08/2026 Isis_BO 3355 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(ChampPrécédent()) +//clFicheLieu est un PFicheLieu<-PFicheLieu.gNouvellePresentation() +//FEN_Menu.OuvreOuActive(FI_Fiche_Lieu,"Fiche +Site",*,clFicheLieu,DonneParam(DansOnglet,"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJObjetRetourFI)) +//ReorganiseChampDispoDansFiche(D_COL_FIC_INTERV,ONG_COMPL_INTERV,CFI_SOUSELEMENT_INTERVENTION,GR_IMAGE +_OPAQUE_FICHE_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50,2,3)//,DISP_CD_L2_C1..Largeur +//ChangeFenêtreSource(CFI_SOUSELEMENT_INTERVENTION,FI_Fiche_Lieu,*,DonneParam(DansChampFI,"FI_Fiche_Int +ervention",MoiMême..Nom,maProcMAJObjetRetourFI,"Nouveau +Site"))//,"InterventionListeLieu",paramSupplementaire.pclObjetAppelant.m_nIDClient +AppelSousFenetre(MoiMême..Nom) +Clic sur BTN_DEL_SITE ( SC_SITE_INTERV ) +SupprimeSite() +//clErreur est un CErreur +// +//SI PAS gclPresentationFicheInterv.ListeContactLieu.bSupprimer(clErreur) ALORS +// Erreur(clErreur.FormateMessage()) +//SINON +// DemandeMiseAJourIHM() +//FIN +Clic sur BTN_EDT_SITE ( SC_SITE_INTERV ) +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(ChampPrécédent()) +//FEN_Menu.OuvreOuActive(FI_Fiche_Lieu,"Fiche +Site",*,gclPresentation.FicheLieu,DonneParam(DansOnglet,"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJO +bjetRetourFI)) +//ReorganiseChampDispoDansFiche(D_COL_FIC_INTERV,DISP_CD_L2_C1,CFI_SOUSELEMENT_INTERVENTION,GR_IMAGE_OP +AQUE_FICHE_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50,2,3,DISP_CD_L2_C1..Largeur) +//ChangeFenêtreSource(CFI_SOUSELEMENT_INTERVENTION,FI_Fiche_Lieu,gclPresentationFicheInterv.FicheLieu,D +onneParam(DansChampFI,"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJObjetRetourFI,"Site"))//,"Intervent +ionFicheLieu",paramSupplementaire.pclObjetAppelan +t.m_nIDClient +AppelSousFenetre(MoiMême..Nom) +Clic sur BTN_LOUPE_SITE ( SC_SITE_INTERV ) +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(ChampPrécédent()) +//ReorganiseChampDispoDansFiche(D_COL_FIC_INTERV,ONG_COMPL_INTERV,CFI_SOUSELEMENT_INTERVENTION,GR_IMAGE +_OPAQUE_FICHE_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50,2,3)//,DISP_CD_L2_C1..Largeur +//ChangeFenêtreSource(CFI_SOUSELEMENT_INTERVENTION,FI_Liste_Lieu,*,DonneParam(DansChampFI,"FI_Fiche_Int +ervention",MoiMême..Nom,maProcMAJObjetRetourFI,"Site","InterventionListeLieu",paramSupplementaire.pclOb +jetAppelant.m_nIDClient)) +AppelSousFenetre(MoiMême..Nom) +//GestionPlan(3) +A chaque modification de INT_Badge ( SC_SITE_INTERV ) +06/08/2026 Isis_BO 3356 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +ChampVersSource() +A chaque modification de INT_Interphone ( SC_SITE_INTERV ) +ChampVersSource() +A chaque modification de SAI_CLI_Note1 ( SC_SITE_INTERV ) +ChampVersSource() +Initialisation de SAI_CodeAcces ( SC_SITE_INTERV ) +// Version 1 +// Description +// Saisie avec jetons +Sortie de SAI_CodeAcces ( SC_SITE_INTERV ) +ChampVersSource() +Ajout d'un jeton dans SAI_CodeAcces ( SC_SITE_INTERV ) +procédure AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +renvoyer Vrai +Suppression d'un jeton dans SAI_CodeAcces ( SC_SITE_INTERV ) +procédure SuppressionJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +renvoyer Vrai +Clic sur un jeton de SAI_CodeAcces ( SC_SITE_INTERV ) +procédure ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de SAI_CodeAcces ( SC_SITE_INTERV ) +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_CodeAcces ( SC_SITE_INTERV ) +procédure ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +renvoyer Vrai +A chaque modification de SAI_CodeAcces ( SC_SITE_INTERV ) +ChampVersSource() +A chaque modification de SAI_sCodePostal ( SC_SITE_INTERV ) +06/08/2026 Isis_BO 3357 + +ChampVersSource() +A chaque modification de SAI_sLigneAdresse_1 ( SC_SITE_INTERV ) +ChampVersSource() +A chaque modification de SAI_sLigneAdresse_2 ( SC_SITE_INTERV ) +ChampVersSource() +A chaque modification de SAI_sLigneAdresse_3 ( SC_SITE_INTERV ) +ChampVersSource() +A chaque modification de SAI_sLigneAdresse_4 ( SC_SITE_INTERV ) +ChampVersSource() +A chaque modification de SAI_sLigneAdresse_5 ( SC_SITE_INTERV ) +ChampVersSource() +A chaque modification de SAI_sVille ( SC_SITE_INTERV ) +ChampVersSource() +Clic sur BTN_CADENAS_FERME_INTERV ( SC_TETE_INTERV ) +BlocEnregistrement(gclPresentationFicheInterv,ActiveTimer,BTN_CADENAS_FERME_INTERV,BTN_ +CADENAS_OUVERT_INTERV,GR_CADENAS_INTERV,D_FIC_INTERV) +SC_TETE_INTERV..CouleurFond = BTN_CADENAS_FERME_INTERV..Visible ? Noir sinon gCouleurFondEntete +//SI BloqueEnregistrement(gclPresentationFicheInterv,FermeCadenas) ALORS +// BTN_CADENAS_FERME_INTERV..Visible=faux +// BTN_CADENAS_OUVERT_INTERV..Visible=Vrai +// DemandeMiseAJourIHM() +//FIN +//SI gclPresentationFicheInterv:BloqueEnregistrement() ALORS +// BTN_CADENAS_FERME_INTERV..Visible=faux +// BTN_CADENAS_OUVERT_INTERV..Visible=Vrai +// gnDelai=gpclListeParamAppli:m_clTabModele["TIMEOUT_BLOC_ENREG_INTERV"]:m_sValeur +// TimerSys(TimeOutIntervention,100,3) +// DemandeMiseAJourIHM() +//SINON SI gclPresentationFicheInterv:InfoBlocage()<>"" ALORS +// Erreur(gclPresentationFicheInterv:m_sInfoBlocage) +//FIN +Clic sur BTN_CADENAS_OUVERT_INTERV ( SC_TETE_INTERV ) +DeblocEnregistrement(gclPresentationFicheInterv,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_INTERV,BTN_CADENAS_OUVERT_INTERV,GR_CADENAS_INTERV,D_FIC_INTERV,Faux) +//gnDelai=0 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +//clErreur est un cerreur +//SI (gclPresentationFicheInterv:bOK(clErreur) ET gclPresentationFicheInterv:DebloqueEnregistrement()) +ALORS +// FermeCadenas() +// +//FIN +Clic sur BTN_Dupliquer ( SC_TETE_INTERV ) +si paramSupplementaire.pclObjetAppelant<>Null alors +si gclPresentationFicheInterv.FicheClient.m_bBlocageCciale alors +Info( +"Vous ne pouvez pas créer de nouvelle intervention car le client est bloqué pour la raison +suivante :" +,gclPresentationFicheInterv.FicheClient.m_sRaisonBlocage, "" ) +sinon +FI_Fiche_Dossier.DupliquerIntervention(gclPresentationFicheInterv,paramSupplementaire) +fin +fin +Initialisation de BTN_IMPR_INTERV ( SC_TETE_INTERV ) + +MoiMême..Visible = Vrai + +Clic sur BTN_IMPR_INTERV ( SC_TETE_INTERV ) +//bSansEtat est un booléen +//POUR i = 1 _A_ gpclListeModelEtatInterv.p_nTotal +// SI gpclListeModelEtatInterv.m_clta +//FIN +OuvrePopupPosition(FEN_Choix_ModeleEtat_Intervention,poHaut,*,DonneParam(DansFenetre, +"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJObjetRetourFI,"","InterventionLibre",*, +gclPresentationFicheInterv,Faux)) +//ImpressionFicheIntervention() +Clic sur BTN_Refresh_fiche_intervention ( SC_TETE_INTERV ) +bok est un booléen = EnregistrerFiche() +//SI bok +_ET_ paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheInterv) +si bok _et_ gclPresentationFicheInterv:m_bBlocageEcriture _et_ paramSupplementaire.eTypeAppel<>Libre +alors +AppelProcFenetreAppelante(gclPresentationFicheInterv,paramSupplementaire,Vrai,Faux) +//AppelProcedureFenetreAppelante(Vrai,Faux) +gbAppelProcFenAppelante=Vrai +fin +si bok _et_ gclPresentationFicheInterv:m_bBlocageEcriture alors ChargeLesElementsIntervention() +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +Clic sur BTN_Supprimer_fiche_intervention ( SC_TETE_INTERV ) +//= paramsupplementaire.pclobjetappelant:listeintervention:p_clcourant:m_srefinterne +06/08/2026 Isis_BO 3359 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +//// parfois il y a des problemes de syncronisation et l'element courant n'est pas vraiment l'element +courant +//si snint <> gclpresentationficheinterv:m_srefinterne alors +// pour tout interv +de paramsupplementaire:pclobjetappelant:m_cllisteintervention:m_cltableaumodele:m_cltabmodele +// si gclpresentationficheinterv:m_srefinterne = interv:m_srefinterne alors +// paramsupplementaire:pclobjetappelant:m_cllisteintervention:m_clmodelecourant = interv +// fin +// fin +// +//fin +snint est une chaîne ANSI = gclPresentationFicheInterv:m_sRefInterne +si OuiNon("confirmez vous la suppression de l'intervention : "+snint+" ?")=Non alors +retour +fin +clerreur est un CErreur +// +// +// +// +// +si pas gclPresentationFicheInterv.bControle(clerreur,Vrai) _ou_ pas gclPresentationFicheInterv: +bSupprimer(clerreur) alors +Erreur("impossible de supprimer cette intervention",clerreur.formatemessage()) +sinon +si paramSupplementaire.eTypeAppel<>Libre _et_ Contient(paramSupplementaire.sNomFenetreAppelante, +"FI_Fiche_Dossier") alors //_et_ paramsupplementaire.snomidappelant="dossierinterimmediat" +ExécuteTraitement(paramSupplementaire.sNomFenetreAppelante+".fermeficheinter",trtProcédure) +//fermevoletintervetactiveleprecedent(voletduchamp(d_fic_interv)) +fin +fin +Clic sur BTN_SynchroBaseExt ( SC_TETE_INTERV ) +si paramSupplementaire.pclObjetAppelant= Null alors retour +si gtaBaseExterneParNom..Occurrence=0 alors//gclBaseExterne=null _ou_ gclBaseExterne:m_nPKID=0 ALORS +Info("Vous devez paramétrer le connecteur Batigest pour pouvoir faire cette action.") +retour +fin +si gclPresentationFicheInterv:FicheIntervBddExt<>Null +si gclPresentationFicheInterv:FicheIntervBddExt:m_sIDExterne<>"" alors +Info("Cette intervention est déjà associée au devis n° " + gclPresentationFicheInterv: +FicheIntervBddExt:m_sIDExterne) +retour +fin +sinon +Info("Vous devez paramétrer le connecteur Batigest pour pouvoir faire cette action.") +retour +fin +PFicheIntervention.gFicheClient(gclPresentationFicheInterv,*,gclPresentationFicheInterv:m_nIDClient, +Vrai,*,Vrai,*,gbBATIGESTActif ? gclBaseExterne:m_nPKID sinon 0) +bOk est un booléen +saRep est une chaîne ANSI +Sablier(Vrai) +(bOk,saRep) = ExporteInterventionEnDevisDansBatigest(gclPresentationFicheInterv) +06/08/2026 Isis_BO 3360 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +Sablier(Faux) +si bOk alors +Info("Export effectué",saRep) +SAI_NUMDEVIS = gclPresentationFicheInterv:m_sNumDevis +SAI_DATEDEVIS= gclPresentationFicheInterv:m_dDateDevis +EcranVersSource() +EnregistrerFiche() +FI_Fiche_Dossier.NomInter() +sinon +Erreur(saRep) +fin +//SI paramSupplementaire.pclObjetAppelant= Null ALORS RETOUR +//SI gtaBaseExterneParNom..Occurrence=0 ALORS//gclBaseExterne=null _ou_ gclBaseExterne:m_nPKID=0 ALORS +// Info("Vous devez paramétrer le connecteur Batigest pour pouvoir faire cette action.") +// RETOUR +//FIN +//SI gclPresentationFicheInterv:FicheIntervBddExt<>NUll _et_ +gclPresentationFicheInterv:FicheIntervBddExt:m_sIDExterne<>"" ALORS +// +Info("Cette intervention est déjà associée au chantier n° " + +gclPresentationFicheInterv:FicheIntervBddExt:m_sIDExterne) +// RETOUR +//FIN +//bOk est un booléen +//saRep est une chaîne ANSI +// +//Sablier(Vrai) +// +//(bOk,saRep) = ExporteInterventionDansBatigest(gclPresentationFicheInterv) +// +//Sablier(Faux) +//SI bOk ALORS +// Info("Export éffectué",saRep) +//SINON +// Erreur(saRep) +//FIN +//SI paramSupplementaire.pclObjetAppelant= Null ALORS retour +//si gclBaseExterne=null _ou_ pas gclBaseExterne:m_nPKID=0 alors +// info("Vous devez paramétrer le connecteur Batigest pour pouvoir faire cette action.") +// retour +//fin +//si gclPresentationFicheInterv:m_sCodeBddExterne<>"" alors +// +info("Cette intervention est déjà associée au chantier n° " + +gclPresentationFicheInterv:m_sCodeBddExterne) +// retour +//FIN +//SI gbBATIGESTActif ALORS ExporteInterventionDansBatigest(gclPresentationFicheInterv) +Survol souris (WM_MOUSEMOVE) sur BTN_SynchroBaseExt ( SC_TETE_INTERV ) +si gclPresentationFicheInterv:FicheIntervBddExt <> Null alors +BTN_SynchroBaseExt..Bulle = ChaîneConstruit( +"Cette intervention est associée au devis BATIGEST n°%1 ",gclPresentationFicheInterv: +FicheIntervBddExt:m_sIDExterne) +fin +Clic sur BTN_Valider_fiche_intervention ( SC_TETE_INTERV ) +si paramSupplementaire.eTypeAppel=DansOnglet alors +06/08/2026 Isis_BO 3361 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +//SI EnregistrerFiche() _ET_ paramSupplementaire.eTypeAppel<>Libre _ET_ +paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheInterv +) +si EnregistrerFiche() alors +AppelProcFenetreAppelante(gclPresentationFicheInterv,paramSupplementaire,Vrai,Faux) +gbAppelProcFenAppelante=Vrai +fin +//OngletFerme(OngletDuChamp(D_FIC_INTERV),VoletDuChamp(D_FIC_INTERV)) +sinon +EnregistrerFiche() +fin +Sortie de COMBO_Societe ( SC_TETE_INTERV ) +EnregistrerFiche() +FI_Fiche_Dossier.NomInter() +Sélection d'une ligne de COMBO_Societe ( SC_TETE_INTERV ) +gpclListeCollabResp=PTableCollaborateur.gNouvellePresentation(6,COMBO_Societe..ValeurMémorisée) +ListeAffiche(COMBO_SuiviPar,taCourantBandeau) +nIndice est un entier = TableauCherche(gpclListeCollabResp.m_clTabModele,tcLinéaire,"m_nPKID", +gclPresentationFicheInterv:m_nIDSuiviPar,1) +si nIndice <=0 alors +gclPresentationFicheInterv:m_nIDSuiviPar = 0 +COMBO_SuiviPar = 0 +fin +ChampVersSource() +Sortie de SAI_DATEDEVIS ( SC_TETE_INTERV ) +//SI MoiMême..ValeurAffichée<>"" ALORS +EnregistrerFiche() +//FIN +A chaque modification de SAI_DATEDEVIS ( SC_TETE_INTERV ) +ChampVersSource() +Sortie de SAI_DATEFACTURE ( SC_TETE_INTERV ) +//SI MoiMême..ValeurAffichée<>"" ALORS +EnregistrerFiche() +//FIN +A chaque modification de SAI_DATEFACTURE ( SC_TETE_INTERV ) +ChampVersSource() +Sortie de SAI_DateIntervention ( SC_TETE_INTERV ) +ChampVersSource() +06/08/2026 Isis_BO 3362 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +EnregistrerFiche() +FI_Fiche_Dossier.NomInter() +A chaque modification de SAI_DateIntervention ( SC_TETE_INTERV ) +ChampVersSource() +Sortie de SAI_NUMDEVIS ( SC_TETE_INTERV ) +ChampVersSource() +EnregistrerFiche() +FI_Fiche_Dossier.NomInter() +A chaque modification de SAI_NUMDEVIS ( SC_TETE_INTERV ) +ChampVersSource() +A chaque modification de SAI_NUMERO ( SC_TETE_INTERV ) +ChampVersSource() +Sortie de SAI_NUMFACTURE ( SC_TETE_INTERV ) +//SI MoiMême..ValeurAffichée<>"" ALORS +EnregistrerFiche() +//FIN +A chaque modification de SAI_NUMFACTURE ( SC_TETE_INTERV ) +ChampVersSource() +Sortie de SAI_OBJET_INTERVENTION ( SC_TETE_INTERV ) +ChampVersSource() +EnregistrerFiche() +FI_Fiche_Dossier.NomInter() +A chaque modification de SAI_OBJET_INTERVENTION ( SC_TETE_INTERV ) +ChampVersSource() +Sélection du menu de MENU_SansNom1.OPT_Coller +//Variable stockant les messages d'erreurs de la copie +sMSG est une chaîne +si PressePapierFormat(ppfTexte) alors +tbNomFicest un tableau de chaînes +I est un entier +ChaîneVersTableau(PressePapier(),tbNomFic,";") +06/08/2026 Isis_BO 3363 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +//Il se peut que la liste des document ne soit pas chargées à cause du chargement différé +si gclPresentationFicheInterv.ListeDocument = Null alors PFicheIntervention.gListeDocumentSimple( +gclPresentationFicheInterv) +sListeFichier est une chaîne +pour I=1 _à_ TableauInfo(tbNomFic,tiDimension) +si fFichierExiste(tbNomFic[I]) alors +// _AjouteFichier(tbNomFic[I]) +sListeFichier+=tbNomFic[I]+RC +fin +fin +LogEcrit("Presse papier doc pdf - nom fichiers : "+sListeFichier,eInfo) +si AjouteFichier(sListeFichier,1,gclPresentationFicheInterv,sMSG) alors +TableAffiche(TABLE_DOCUMENTS,taInit) +TableSelectPlus(TABLE_DOCUMENTS,TABLE_DOCUMENTS..Occurrence) +ExécuteTraitement(TABLE_DOCUMENTS,trtSélection) +ExécuteTraitement(BTN_Refresh_Doc,trtClic) +sinon +LogEcrit("Presse papier doc pdf - nom fichiers : "+sListeFichier+RC+"Erreur : "+sMSG,eErreur) +Erreur(sMSG) +fin +sinon +NomFichier est une chaîne +PP est un cPressePapier +S est une chaîne +S=PP:ListeFormat() +LogEcrit("Presse papier coller doc - format : "+S,eInfo) +si PositionOccurrence(S,"CF_HDROP",1)<>0 alors +//Récupération de fichiers en provenance de l'explorateur +S=PP:Contenu(15) +LogEcrit("Presse papier coller doc - contenu lig 39 : "+S,eInfo) +sListeFichier est une chaîne +pour toute chaîne NomFichier de S séparée par RC +si fFichierExiste(NomFichier) alors +// _AjouteFichier(NomFichier) +sListeFichier+=NomFichier+RC +fin +fin +LogEcrit("Presse papier coller doc - liste de fichiers lig 39 : "+RC+sListeFichier,eInfo) +si AjouteFichier(sListeFichier,1,gclPresentationFicheInterv,sMSG) alors +TableAffiche(TABLE_DOCUMENTS,taInit) +TableSelectPlus(TABLE_DOCUMENTS,TABLE_DOCUMENTS..Occurrence) +ExécuteTraitement(TABLE_DOCUMENTS,trtSélection) +ExécuteTraitement(BTN_Refresh_Doc,trtClic) +sinon +LogEcrit("Presse papier coller doc - liste de fichiers lig 39 : "+sListeFichier+RC+ +"Erreur : "+sMSG,eErreur) +Erreur(sMSG) +fin +sinon si PositionOccurrence(S,"FileContents",1)<>0 alors +//Cela semble venir d'Outlook +//Nom de la pièce jointe +NomFichier=PP:ContenuParNomFormat("FileGroupDescriptor") +LogEcrit("Presse papier coller doc - contenu lig 68 : "+NomFichier,eInfo) +//On vérifie si il n'y à pas plusieurs noms de fichiers car on ne le gère pas. (le séparateur +est le CR) +06/08/2026 Isis_BO 3364 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Code des champs +si ChaîneOccurrence(NomFichier,CR)>0 alors +Info("Vous devez copier les pièces jointes d'Outlook Une par Une !") +retour +fin +Fic est un entier +sRepT est une chaîne ANSI = ComplèteRep(fRepTemp()) +NomFichier = sRepT+NomFichier +Fic=fCrée(NomFichier) +si pas ErreurDétectée alors +fEcrit(Fic,PP:ContenuParNomFormat("FileContents")) +fFerme(Fic) +si NomFichier<>"" alors +si fFichierExiste(NomFichier) alors +si AjouteFichier(NomFichier,1,gclPresentationFicheInterv) alors +TableAffiche(TABLE_DOCUMENTS,taInit) +TableSelectPlus(TABLE_DOCUMENTS,TABLE_DOCUMENTS..Occurrence) +ExécuteTraitement(TABLE_DOCUMENTS,trtSélection) +ExécuteTraitement(BTN_Refresh_Doc,trtClic) +sinon +LogEcrit("Presse papier coller doc - nom de fichier lig 89 : "+NomFichier+RC+ +"Erreur : "+sMSG,eErreur) +Erreur(sMSG) +fin +fSupprime(NomFichier) +fin +fin +sinon +Erreur("Impossible d'ajouter le fichier : " + NomFichier, ErreurInfo()) +LogEcrit("Impossible d'ajouter le fichier : " +RC+ NomFichier+RC+ErreurInfo(),eErreur) +fin +fin +fin +gbColleversDoc=Vrai +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +Sélection du menu de MENU_SansNom1.OPT_Copier +CopierFichier(1,gclPresentationFicheInterv) +FI_Fiche_Intervention +Procédures +Procédure locale ActiveAffichage +// Résumé : +// Syntaxe : +// ActiveAffichage () +// +// Paramètres : +06/08/2026 Isis_BO 3365 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ActiveAffichage() +//D_COL_FIC_INTERV..Visible = Vrai +//{vNomFenInterne,indFenêtre}..AffichageActif=Vrai +Procédure locale ActiveSurveillance +// Résumé : +// Syntaxe : +// ActiveSurveillance () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ActiveSurveillance() +si DonneValeurTimeOutObjet(gclPresentationFicheInterv) >-1 alors +Evénement(SurActivite, "GR_SURACTIVITE", WM_LBUTTONDOWN) +Evénement(SurActivite, "GR_SURACTIVITE", WM_RBUTTONDOWN) +Evénement(SurActivite, "GR_SURACTIVITE", WM_MBUTTONDOWN) +Evénement(SurActivite, "GR_SURACTIVITE", WM_MOUSEMOVE) +Evénement(SurActivite, "GR_SURACTIVITE", WM_KEYDOWN) +fin +Procédure locale ActiveTimer +// Résumé : +// Syntaxe : +//ActiveTimer ( est entier) +// +// Paramètres : +// nIdTimer (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ActiveTimer(local nIdTimer est un entier) +TimerSys(TimeOutIntervention,100,nIdTimer) +Procédure locale AffecteVariable +procédure AffecteVariable() +//Variable pour la gestion des rôles des contacts du site +gclListeRoleContactLieu <- DonneRoleContactLieu() +//Variable pour la gestion des rôles des contacts du client +gclListeRoleContactCli <- DonneRoleContactClient() +//variable pour la gestion des catégories de documuents dans l'onglet document +06/08/2026 Isis_BO 3366 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +//gclListeCategorieDocHorsRapport <- DonneCategDocSaufRapport() +//Variable pour la gestion des suppression du tableau contact d'un client (permet un appel à +DemandeMiseAJourIHM via l'objet de type présentation) +//gpclPresenListeContactClient <- gclPresentationFicheInterv.ListeContactClient +//Variable pour la gestion des suppression du tableau contact d'un lieu (permet un appel à +DemandeMiseAJourIHM via l'objet de type présentation) +//gpclPresenListeContactLieu <- gclPresentationFicheInterv.ListeContactLieu +//Variable pour la gestion des suppression du tableau document (permet un appel à DemandeMiseAJourIHM +via l'objet de type présentation) +//gpclPresenListeDocument<- gclPresentationFicheInterv.ListeDocument +//Variable pour la gestion des suppression du tableau messages internes (permet un appel à +DemandeMiseAJourIHM via l'objet de type présentation) +//gpclPresenListeMessageInterne<-gclPresentationFicheInterv.ListeMessageInterne +//Variable pour la gestion des suppression du tableau message externe (permet un appel à +DemandeMiseAJourIHM via l'objet de type présentation) +//gpclPresenListeMessageExterne<-gclPresentationFicheInterv.ListeMessageExterne +Procédure locale AjouteContactClient +// Résumé : +// Syntaxe : +//AjouteContactClient () +// +// Paramètres : +// sNomChamp : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AjouteContactClient(sNomChamp) +////Déclaration d'une variable Fiche Personne +//pclFichePersonne est une pfichepersonne dynamique +// +////provient de l'appel sur le bouton ajoute un contact pour un lieu dans une intervention +//SI sNomChamp=BTN_ADD_PERS_CLI_INTERV..nom ALORS +// pclFichePersonne=PFichePersonne.gNouvellePresentation() +// //pclFichePersonne.m_clAdresse=paramSupplementaire.pclObjetAppelant.m_clAdresse +// +pclFichePersonne.m_nIDAdressePrincipale=gclPresentationFicheInterv.FicheClient.m_nIDAdressePrincipale +// pclFichePersonne.m_nIDClient=gclPresentationFicheInterv.FicheClient.m_nPKID +// +//FIN +// +////ReorganiseChampDispoDansFiche(DISP_COLONNE_FICHE_INTERVENTION,ONG_COMPLEMENT_INTERVENTION,CFI_SOUSE +LEMENT_INTERVENTION,GR_IMAGE_OPAQUE_FICHE_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50,2,3)//, +DISP_CD_L2_C1..Largeur +//ReorganiseChampDispoDansFiche(D_COL_FIC_INTERV,DISP_CD_L2_C1,CFI_SOUSELEMENT_INTERVENTION,GR_IMAGE_OP +AQUE_FICHE_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50,2,3,DISP_CD_L2_C1..Largeur) +//ChangeFenêtreSource(CFI_SOUSELEMENT_INTERVENTION,FI_Fiche_Personne,pclFichePersonne,DonneParam(DansCh +ampFI,"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJObjetRetourFI,"Nouveau +Contact","AddIntervClientPersonne"))//,"InterventionListeLieu",paramSupplemen +06/08/2026 Isis_BO 3367 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +taire.pclObjetAppelant.m_nIDClient +Procédure locale AjouteContactSite +// Résumé : +// Syntaxe : +//AjouteContactSite () +// +// Paramètres : +// sNomChamp : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AjouteContactSite(sNomChamp) +//////Déclaration d'une variable Fiche Personne +////pclFichePersonne est une pfichepersonne dynamique +//// +//////provient de l'appel sur le bouton ajoute un contact pour un lieu dans une intervention +////SI sNomChamp="BTN_AJOUTE_CONTACT_LIEU_INTERVENTION" ALORS +//// +//// +//Indique le choix de la méthode d'ajout de contact personnalisé 1 (Ajout d'un contact puis +rattachement au lieu) +////gclPresentationFicheInterv:FicheLieu:ListeContact:MethodeCustom = 1 +//// +//// +//Appel et affectation du résultat d'ajout de contact personnalisé en passant l'identifiant unique du +lieu +//// +pclFichePersonne +<-gclPresentationFicheInterv:FicheLieu:ListeContact.NouveauCustom(Vrai,gclPresentationFicheInterv:Fiche +Lieu.m_nPKID) +//// +//////pclFichePersonne.m_clAdresse=paramSuppl.pclObjetAppelant.FicheLieu:m_clAdresse +////pclFichePersonne.m_nIDAdressePrincipale=gclPresentationFicheInterv:FicheLieu:m_clAdresse.m_nPKID +//// +////pclFichePersonne:m_sNom = SAI_CodeContact +////// +pclFichePersonne +<-gclPresentationFicheInterv:FicheLieu:ListeContact.Nouveau(vrai,gclPresentationFicheInterv:FicheLieu.m +_nPKID) +////// +pclFichePersonne.m_nIDAdressePrincipale=gclPresentationFicheInterv:FicheLieu:m_clAdresse.m_nPKID +////// pclFichePersonne:m_sNom = SAI_CodeContact +////FIN +// +////ReorganiseChampDispoDansFiche(DISP_COLONNE_FICHE_INTERVENTION,ONG_COMPLEMENT_INTERVENTION,CFI_SOUSE +LEMENT_INTERVENTION,GR_IMAGE_OPAQUE_FICHE_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50,2,3)//, +DISP_CD_L2_C1..Largeur +//ReorganiseChampDispoDansFiche(D_COL_FIC_INTERV,DISP_CD_L2_C1,CFI_SOUSELEMENT_INTERVENTION,GR_IMAGE_OP +AQUE_FICHE_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50,2,3,DISP_CD_L2_C1..Largeur) +////ChangeFenêtreSource(CFI_SOUSELEMENT_INTERVENTION,FI_Fiche_Personne,*,DonneParam(DansChampFI,"FI_Fic +he_Intervention",BTN_ADD_PERS_LIEU_INTERV..Nom,maProcMAJObjetRetourFI,"Nouveau +Contact","AddIntervLieuPersonne",gclPresentationFicheInterv:FicheLieu:m_n +06/08/2026 Isis_BO 3368 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +PKID,gclPresentationFicheInterv))//,"InterventionListeLieu",paramSupplementaire.pclObjetAppelant.m_nIDC +lient +////QUAND EXCEPTION DANS +////ExécuteTraitement(FI_Fiche_Personne.DonneFocusChamp, trtProcédure) +////FAIRE +////FIN +Procédure locale AjouteOuChercheContactSite +procédure AjouteOuChercheContactSite(local sNomChamp est une chaîne) +//SI SAI_CodeLieu<>"" _ET_ gclPresentationFicheInterv:FicheLieu:IdentifiantUnique<>0 ALORS +// //Appel la fiche contact en creation +// SI SAI_CodeContact<>"" ALORS +// +// AjouteContactSite(sNomChamp) +// +// //appel la liste des contacts +// SINON +// +//ReorganiseChampDispoDansFiche(DISP_COLONNE_FICHE_INTERVENTION,ONG_COMPLEMENT_INTERVENTION,CFI_SOUSELE +MENT_INTERVENTION,GR_IMAGE_OPAQUE_FICHE_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50,2,3,ONG_C +OMPLEMENT_INTERVENTION..Largeur) +// AppelSousFenetre(sNomChamp) +// FIN +// +// +//SINON +// Avertissement("Veuillez choisir un site") +//FIN +Procédure locale AppelSousFenetre +// Résumé : +// Syntaxe : +//AppelSousFenetre ( est chaîne [, ...]) +// +// Paramètres : +// sNomChamp (chaîne ANSI) : +// <*> : > +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AppelSousFenetre(local sNomChamp est une chaîne,*) +si pas EnregistrerFiche() alors RepriseSaisie(ChampPrécédent()) +//Arrête le timer qui sert à fermer automatiquement la fenêtre si pas d'action utilisateur +FinTimerSys(gclPresentationFicheInterv:m_nIDTimer) +//Préparation de la fenêtre pour recevoir la sous fenêtre +//ReorganiseChampDispoDansFiche(D_COL_FIC_INTERV,D_ENTETE_PERS_SITE,CFI_SOUS_INTERV,GR_IMAGE_OPAQUE_FIC +HE_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50,2,3,D_ENTETE_PERS_SITE..Largeur) +ReorganiseChampDispoDansFiche1(GR_ALAPLACECFI_INTERV,CFI_SOUS_INTERV,GR_IMAGE_OPAQUE_FICHE_INTERVENTION +,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50) +//Initialise la variable à passer en paramètre avec les valeurs communes +stParam est un STParamFenetreAppelante = DonneParam(DansChampFI,"FI_Fiche_Intervention",sNomChamp, +maProcMAJObjetRetourFI) +selon sNomChamp +06/08/2026 Isis_BO 3369 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +cas BTN_LOUPE_PERS_SITE..Nom +stParam.sTitreFenetre = ChaîneConstruit("Sélectionnez les contacts du site %1",SAI_ +CodeLieu) +stParam.sNomIDAppelant = "InterventionLieuPersonne" +stParam.nIdFenetreAppelante = gclPresentationFicheInterv:FicheLieu:m_nPKID +stParam.pclObjetAppelant = gclPresentationFicheInterv +stParam.bMultiSelect = Vrai +//DesactiveAffichage() +ChangeFenêtreSource(CFI_SOUS_INTERV,FI_Liste_Personne,*,stParam) +CFI_SOUS_INTERV..Visible=Vrai +//ActiveAffichage() +cas BTN_ADD_PERS_SITE..Nom +stParam.sTitreFenetre = "Nouveau Contact" +stParam.sNomIDAppelant = "AddIntervLieuPersonne" +stParam.nIdFenetreAppelante = gclPresentationFicheInterv:FicheLieu:m_nPKID +stParam.pclObjetAppelant = gclPresentationFicheInterv +ChangeFenêtreSource(CFI_SOUS_INTERV,FI_Fiche_Personne,*,stParam) +CFI_SOUS_INTERV..Visible=Vrai +cas BTN_EDT_PERS_SITE..Nom +si gclPresentationFicheInterv.ListeContactLieu.p_clCourant <> Null alors +clFichePersonne est un PFichePersonne(gclPresentationFicheInterv.ListeContactLieu. +p_clCourant:m_clContact,Null) +stParam.sNomIDAppelant = "ModifIntervLieuPersonne" +stParam.nIdFenetreAppelante = gclPresentationFicheInterv:FicheLieu:m_nPKID +stParam.pclObjetAppelant = gclPresentationFicheInterv +ChangeFenêtreSource(CFI_SOUS_INTERV,FI_Fiche_Personne,clFichePersonne,stParam) +CFI_SOUS_INTERV..Visible=Vrai +fin +cas BTN_LOUPE_PERS_CLI_INTERV..Nom +stParam.sTitreFenetre = ChaîneConstruit("Sélectionnez les contacts du client %1", +gclPresentationFicheInterv:FicheClient:m_sNom)//"Nouveau donneurs d'ordres" +stParam.sNomIDAppelant = "InterventionClientPersonne" +stParam.pclObjetAppelant = gclPresentationFicheInterv +stParam.bMultiSelect = Vrai +//DesactiveAffichage() +ChangeFenêtreSource(CFI_SOUS_INTERV,FI_Liste_Personne,*,stParam) +CFI_SOUS_INTERV..Visible=Vrai +//ActiveAffichage() +cas BTN_ADD_PERS_CLI_INTERV..Nom +pclFicPer est une PFichePersonne dynamique +pclFicPer = PFichePersonne.gNouvellePresentation() +pclFicPer.m_nIDAdressePrincipale= gclPresentationFicheInterv.FicheClient.m_nIDAdressePrincipale +pclFicPer.m_nIDClient = gclPresentationFicheInterv.FicheClient.m_nPKID +stParam.sTitreFenetre = "Nouveau Contact" +stParam.sNomIDAppelant = "AddIntervClientPersonne" +ChangeFenêtreSource(CFI_SOUS_INTERV,FI_Fiche_Personne,pclFicPer,stParam) +CFI_SOUS_INTERV..Visible=Vrai +cas BTN_EDT_PERS_CLI_INTERV..Nom +clFichePersonne est un PFichePersonne(gclPresentationFicheInterv.ListeContactClient.p_clCourant +:m_clContact,Null) +stParam.sNomIDAppelant = "ModifIntervClientPersonne" +ChangeFenêtreSource(CFI_SOUS_INTERV,FI_Fiche_Personne,clFichePersonne,stParam) +//DonneParam(DansChampFI,"FI_Fiche_Intervention",sNomChamp,maProcMAJObjetRetourFI,"Contact","Mo +difIntervClientPersonne",gclPresentationFicheInterv:FicheLieu:m_nPKID,gclPresentationFicheInter +v) +CFI_SOUS_INTERV..Visible=Vrai +cas BTN_LOUPE_SITE..Nom +06/08/2026 Isis_BO 3370 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +stParam.sTitreFenetre = "Sites" +stParam.sNomIDAppelant = "InterventionListeLieu" +stParam.nIdFenetreAppelante = paramSupplementaire.pclObjetAppelant.m_nIDClient +stParam.pclObjetAppelant = gclPresentationFicheInterv +//DesactiveAffichage() +ChangeFenêtreSource(CFI_SOUS_INTERV,FI_Liste_Lieu,*,stParam) +//DonneParam(DansChampFI,"FI_Fiche_Intervention",sNomChamp,maProcMAJObjetRetourFI,"Site","Inter +ventionListeLieu",paramSupplementaire.pclObjetAppelant.m_nIDClient) +CFI_SOUS_INTERV..Visible=Vrai +//ActiveAffichage() +cas BTN_ADD_SITE..Nom +stParam.sTitreFenetre = "Nouveau Site" +stParam.sNomIDAppelant = "InterventionFicheLieu" +ChangeFenêtreSource(CFI_SOUS_INTERV,FI_Fiche_Lieu,*,stParam) +//DonneParam(DansChampFI,"FI_Fiche_Intervention",sNomChamp,maProcMAJObjetRetourFI,"Nouveau +Site") +CFI_SOUS_INTERV..Visible=Vrai +cas BTN_EDT_SITE..Nom +stParam.sNomIDAppelant = "InterventionFicheLieu" +ChangeFenêtreSource(CFI_SOUS_INTERV,FI_Fiche_Lieu,gclPresentationFicheInterv.FicheLieu,stParam) +//DonneParam(DansChampFI,"FI_Fiche_Intervention",sNomChamp,maProcMAJObjetRetourFI,"Site") +CFI_SOUS_INTERV..Visible=Vrai +cas BTN_EDT_DOC..Nom +stParam.sTitreFenetre = "Fiche Document" +stParam.sNomIDAppelant = "InterventionDocument" +ChangeFenêtreSource(CFI_SOUS_INTERV,FI_Fiche_Document,gclPresentationFicheInterv.ListeDocument. +Modifier(),stParam,gclPresentationFicheInterv.ListeDocument:p_clCourant:m_sCheminFichier) +//(ComplèteRep(DonneRepertoireRacine()+DonneRepertoireClient(gclPresentationFicheInterv:FicheCl +ient:m_sNom,gclPresentationFicheInterv:FicheClient:m_nPKID)+DonneRepertoireIntervention(gclPres +entationFicheInterv:m_nPKID))+gclPresentationFicheInterv.ListeDoc +ument.p_clCourant:m_sNom) +CFI_SOUS_INTERV..Visible=Vrai +cas BTN_ADD_MESS_EXT..Nom +pclFicMessExt est une PFicheMessageExterne dynamique +//Il se peut que la liste des document ne soit pas chargées à cause du chargement différé +//SI gclPresentationFicheInterv.ListeDocument = Null ALORS +PFicheIntervention.gListeDocument(gclPresentationFicheInterv) +si pas gclPresentationFicheInterv:m_bVerificationDoc alors +//Recherche des documents +PFicheIntervention.gListeDocument(gclPresentationFicheInterv) +sinon +//Il se peut que la liste des document ne soit pas chargées à cause du chargement différé +si gclPresentationFicheInterv.ListeDocument = Null alors PFicheIntervention.gListeDocument +(gclPresentationFicheInterv) +fin +//Il se peut que la liste des messages externes ne soit pas chargées à cause du chargement +différé +si gclPresentationFicheInterv.ListeMessageExterne = Null alors PFicheIntervention. +gListeMessageExterne(gclPresentationFicheInterv) +pclFicMessExt = gclPresentationFicheInterv.ListeMessageExterne.Nouveau() +pclFicMessExt.m_nIDIntervention = gclPresentationFicheInterv.m_nPKID +stParam.sTitreFenetre = "Nouveau Message" +stParam.sNomIDAppelant = "InterventionMessageExterne" +stParam.pclObjetAppelant = gclPresentationFicheInterv +//Il se peut que la liste des document ne soit pas chargées à cause du chargement différé +si gclPresentationFicheInterv.ListeDocument = Null alors PFicheIntervention.gListeDocument( +gclPresentationFicheInterv) +06/08/2026 Isis_BO 3371 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +ChangeFenêtreSource(CFI_SOUS_INTERV,FI_EmailNouveau,pclFicMessExt,stParam) +//DonneParam(DansChampFI,"FI_Fiche_Intervention",BTN_AJOUTE_Message_Externe..Nom,maProcMAJObjet +RetourFI,"Nouveau Message","InterventionMessageExterne",*,gclPresentationFicheInterv) +CFI_SOUS_INTERV..Visible=Vrai +cas BTN_EDT_MESS_EXT..Nom +stParam.sNomIDAppelant = "InterventionMessageExterne" +stParam.pclObjetAppelant = gclPresentationFicheInterv +si pas gclPresentationFicheInterv:m_bVerificationDoc alors +//Recherche des documents +PFicheIntervention.gListeDocument(gclPresentationFicheInterv) +sinon +//Il se peut que la liste des document ne soit pas chargées à cause du chargement différé +si gclPresentationFicheInterv.ListeDocument = Null alors PFicheIntervention.gListeDocument +(gclPresentationFicheInterv) +fin +si gclPresentationFicheInterv.ListeMessageExterne.p_clCourant:m_bBrouillon alors +stParam.sTitreFenetre = "Brouillon" +ChangeFenêtreSource(CFI_SOUS_INTERV,FI_EmailNouveau,gclPresentationFicheInterv. +ListeMessageExterne.Modifier(),stParam) +sinon +stParam.sTitreFenetre = "Visualisation Message" +ChangeFenêtreSource(CFI_SOUS_INTERV,FI_EmailVisualiser,gclPresentationFicheInterv. +ListeMessageExterne.Modifier(),stParam) +//DonneParam(DansChampFI,"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJObjetRetourFI,"Visualisa +tion Message","InterventionMessageExterne",*,gclPresentationFicheInterv) +fin +CFI_SOUS_INTERV..Visible=Vrai +cas BTN_ENV_MESS_EXT..Nom +si pas gclPresentationFicheInterv:m_bVerificationDoc alors +//Recherche des documents +PFicheIntervention.gListeDocument(gclPresentationFicheInterv) +sinon +//Il se peut que la liste des document ne soit pas chargées à cause du chargement différé +si gclPresentationFicheInterv.ListeDocument = Null alors PFicheIntervention.gListeDocument +(gclPresentationFicheInterv) +fin +//Il se peut que la liste des messages externes ne soit pas chargées à cause du chargement +différé +si gclPresentationFicheInterv.ListeMessageExterne = Null alors PFicheIntervention. +gListeMessageExterne(gclPresentationFicheInterv) +//Il se peut que la liste des compte-renuds ne soit pas chargées à cause du chargement différé +si gclPresentationFicheInterv.ListeCompteRendu = Null alors PFicheIntervention. +gListeCompteRendu(gclPresentationFicheInterv) +sCorps est une chaîne +sObjet est une chaîne +nIndiceMotCle est un entier +tabMC est un tableau de ST_MotCle +stListeDonnees est un tableau dynamique +pclFicMessExt est une PFicheMessageExterne dynamique +pclFicMessExt = gclPresentationFicheInterv.ListeMessageExterne.Nouveau +() +pclFicMessExt.m_nIDIntervention = gclPresentationFicheInterv.m_nPKID +(sCorps,sObjet,tabMC) = ChargeModeleDeMail(MesParamètres..Occurrence>=2 ? +MesParamètres[2] sinon "") +nIndiceMotCle = TableauCherche(tabMC,tcLinéaire,"bPresent;bTableau",1, +1,1) +si nIndiceMotCle>0 alors +stListeDonnees = OuvrePopupPosition(FEN_Choix_ElementModeleMail, +06/08/2026 Isis_BO 3372 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +poSelonChamp+poHaut,BTN_ENV_MESS_EXT,gclPresentationFicheInterv,tabMC) +fin +(sCorps,sObjet) = DonneValeursMotsCleEtRemplace(tabMC, +gclPresentationFicheInterv,sObjet,sCorps,stListeDonnees) +pclFicMessExt.m_sAdrDestinataires = RecupMailContacts() +pclFicMessExt:m_sObjet = sObjet +pclFicMessExt:m_sMessage = ChaîneVersUTF8(sCorps) +sListeFichier est une chaîne = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon "" +pclFicMessExt:m_sIDDocPJ = DonneIDDoc(gclPresentationFicheInterv,sListeFichier) +stParam.sTitreFenetre = "Nouveau Message" +stParam.sNomIDAppelant = "InterventionMessageExterne" +stParam.pclObjetAppelant = gclPresentationFicheInterv +stParam.sContexteAppelant = sNomChamp//"BTN_ADD_MESS_EXT" +//stParam.saCodeModelMail = MesParamètres..Occurrence>=2 ? MesParamètres[2] SINON "" +ChangeFenêtreSource(CFI_SOUS_INTERV,FI_EmailNouveau,pclFicMessExt,stParam) +//DonneParam(DansChampFI,"FI_Fiche_Intervention","BTN_AJOUTE_Message_Externe",maProcMAJObjetRet +ourFI,"Nouveau Message","InterventionMessageExterne",*,gclPresentationFicheInterv) +CFI_SOUS_INTERV..Visible=Vrai +// +SI gclPresentationFicheInterv.ListeMessageExterne = Null ALORS +PFicheIntervention.gListeMessageExterne(gclPresentationFicheInterv) +// +// +// +// pclFicheMessageexterne.m_sAdrDestinataires=sMailContactsDest +// +// +// //Recherche des documents +// PFicheIntervention.gListeDocument(gclPresentationFicheInterv) +cas BTN_GALERIE_DOC..Nom +pclFicMessExt est une PFicheMessageExterne dynamique +//Il se peut que la liste des messages externes ne soit pas chargées à cause du chargement +différé +si gclPresentationFicheInterv.ListeMessageExterne = Null alors PFicheIntervention. +gListeMessageExterne(gclPresentationFicheInterv) +pclFicMessExt = gclPresentationFicheInterv.ListeMessageExterne.Nouveau() +pclFicMessExt.m_nIDIntervention = gclPresentationFicheInterv.m_nPKID +pclFicMessExt.m_sIDDocPJ = paramSupplementaire.sContexteAppelant +pclFicMessExt.m_sObjet = "Intervention n° "+gclPresentationFicheInterv.m_s +RefInterne +stParam.sTitreFenetre = "Nouveau Message" +stParam.sNomIDAppelant = "InterventionMessageExterne" +stParam.pclObjetAppelant = gclPresentationFicheInterv +stParam.sContexteAppelant = "BTN_ADD_MESS_EXT" +ChangeFenêtreSource(CFI_SOUS_INTERV,FI_EmailNouveau,pclFicMessExt,stParam) +//DonneParam(DansChampFI,"FI_Fiche_Intervention","BTN_AJOUTE_Message_Externe",maProcMAJObjetRet +ourFI,"Nouveau Message","InterventionMessageExterne",*,gclPresentationFicheInterv) +CFI_SOUS_INTERV..Visible=Vrai +cas IMG_Previsu..Nom +stParam.sTitreFenetre = "Fiche Document" +stParam.sNomIDAppelant = "InterventionDocument" +ChangeFenêtreSource(CFI_SOUS_INTERV,FI_Fiche_Document,gclPresentationFicheInterv.ListeDocument. +Modifier(),stParam,gclPresentationFicheInterv.ListeDocument:p_clCourant:m_sCheminFichier) +//(ComplèteRep(DonneRepertoireRacine()+DonneRepertoireClient(gclPresentationFicheInterv:FicheCl +ient:m_sNom,gclPresentationFicheInterv:FicheClient:m_nPKID)+DonneRepertoireIntervention(gclPres +entationFicheInterv:m_nPKID))+gclPresentationFicheInterv.ListeDoc +06/08/2026 Isis_BO 3373 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +ument.p_clCourant:m_sNom) +CFI_SOUS_INTERV..Visible=Vrai +cas BTN_ADD_RDV..Nom +stParam.sTitreFenetre = "Nouveau Rdv" +stParam.sNomIDAppelant = "" +stParam.pclObjetAppelant = gclPresentationFicheInterv +pclFicheRdv est un PFicheRdv dynamique +pclFicheRdv<-gclPresentationFicheInterv.ListeRendezVous.Nouveau() +pclFicheRdv:m_nIDIntervention = gclPresentationFicheInterv:IdentifiantUnique +pclFicheRdv:m_nIDDossier = gclPresentationFicheInterv:m_nIDDossier +pclFicheRdv:m_nIDSociete = gclPresentationFicheInterv:m_nIDSociete +pclFicheRdv:m_nIDLieu = gclPresentationFicheInterv:m_nIDLieu +pclFicheRdv:m_nIDTypeActivite = gpclListeTypeRendezVous.RechercheEtDonneIdDepuisValeur("1") +pclFicheRdv:m_nIDStatut = gpclListeStatutRendezVous.RechercheEtDonneIdDepuisValeur( +"99") +pclFicheRdv:m_dhDateDebut = DateSys() +pclFicheRdv:m_dhDateFin = DateSys() +pclFicheRdv:m_dhDateDebut..Heure= "0000" +pclFicheRdv:m_dhDateFin..Heure= "0000" +si gclPresentationFicheInterv:ListeContactLieu.m_clTabModele..Occurrence<>0 alors +pclFicheRdv:m_nIDPersonne = gclPresentationFicheInterv:ListeContactLieu.m_clTabModele[1]. +m_nIDPersonne +fin +pour i= 1 _à_ gclPresentationFicheInterv:ListeContactLieu.m_clTabModele..Occurrence +clUnPersonne est un MPersonne +clUnPersonne.m_sNom = gclPresentationFicheInterv:ListeContactLieu.m_clTabModele[ +i].m_clContact.m_sNom +clUnPersonne.m_sPrenom = gclPresentationFicheInterv:ListeContactLieu.m_clTabModele[ +i].m_clContact.m_sPrenom +clUnPersonne.m_nPKID = gclPresentationFicheInterv:ListeContactLieu.m_clTabModele[i]. +m_nIDPersonne +TableauAjoute(pclFicheRdv.m_clListePersonne,clUnPersonne) +fin +pclFicheRdv:m_clLieu.m_clAdresse.m_sPresentation=Remplace(gclPresentationFicheInterv:FicheLieu. +m_clAdresse.m_sPresentation,[RC,TAB],"-") +//pclFicheRdv:m_sDescription=RTFVersTexte(gclPresentationFicheInterv.m_sDescription) +ChangeFenêtreSource(CFI_SOUS_INTERV,FI_Fiche_Rdv,pclFicheRdv,stParam) +//(ComplèteRep(DonneRepertoireRacine()+DonneRepertoireClient(gclPresentationFicheInterv:FicheCl +ient:m_sNom,gclPresentationFicheInterv:FicheClient:m_nPKID)+DonneRepertoireIntervention(gclPres +entationFicheInterv:m_nPKID))+gclPresentationFicheInterv.ListeDoc +ument.p_clCourant:m_sNom) +CFI_SOUS_INTERV..Visible=Vrai +cas BTN_EDT_RDV..Nom +stParam.pclObjetAppelant = gclPresentationFicheInterv +pclFicheRdv est un PFicheRdv dynamique +pclFicheRdv<-gclPresentationFicheInterv.ListeRendezVous.Modifier() +ChangeFenêtreSource(CFI_SOUS_INTERV,FI_Fiche_Rdv,pclFicheRdv,stParam) +CFI_SOUS_INTERV..Visible=Vrai +fin +Procédure locale ChargeLesElementsIntervention +procédure ChargeLesElementsIntervention() +si gclPresentationFicheInterv:m_nPKID > 0 alors +si HLitRecherchePremier(Intervention,IN_PKID,gclPresentationFicheInterv:m_nPKID) alors +gclPresentationFicheInterv:Charger(Intervention) +fin +fin +//Recherche du client +06/08/2026 Isis_BO 3374 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +PFicheIntervention.gFicheClient(gclPresentationFicheInterv,*,gclPresentationFicheInterv:m_nIDClient, +Vrai,*,Vrai,*,gbBATIGESTActif ? gclBaseExterne:m_nPKID sinon 0) +si gtaBaseExterneParSoc[gclPresentationFicheInterv:m_nIDSociete]..Existe alors +PFicheIntervention.gFicheInterventionBddExt(gclPresentationFicheInterv,gbBATIGESTActif ? gta +BaseExterneParSoc[gclPresentationFicheInterv:m_nIDSociete]:m_nPKID sinon 0)//gclBaseExterne:m_nPKID +fin +//Recherche des contacts du clients +PFicheIntervention.gListeContactClient(gclPresentationFicheInterv) +//Recherche des rendez-vous +PFicheIntervention.gListeRendezVous(gclPresentationFicheInterv,*,Vrai) +//Recherche des historique d'états +PFicheIntervention.gListeHistoEtat(gclPresentationFicheInterv,Vrai) +si gclPresentationFicheInterv.ListeHistoEtat:p_nTotal=0 alors +pclPresentationFiche est PFicheEtatIntervention dynamique +pclPresentationFiche<-gclPresentationFicheInterv.ListeHistoEtat.Nouveau() +pclPresentationFiche:m_nIDEtat = gclPresentationFicheInterv:m_nIDEtatIntervention +pclPresentationFiche:m_dhDateDebut = DateHeureSys() +gclPresentationFicheInterv.ListeHistoEtat.p_clCourant = pclPresentationFiche:p_clCourant +pclPresentationFiche.AppelProcValidation(2) +fin +si gclPresentationFicheInterv:m_bNouveau _et_ gclPresentationFicheInterv:FicheClient:m_nIDLieuPrincipal +>0 alors +gclPresentationFicheInterv:m_nIDLieu = gclPresentationFicheInterv:FicheClient:m_nIDLieuPrincipal +fin +//Recherche du lieu +PFicheIntervention.gFicheLieu(gclPresentationFicheInterv,*,gclPresentationFicheInterv:m_nIDLieu,Vrai,"" +,Faux) +//Recherche des contacts du lieu +//SI gclPresentationFicheInterv:ListeContactLieu=Null ALORS +PFicheIntervention.gListeContactLieu(gclPresentationFicheInterv) +PFicheIntervention.gListeContactLieu(gclPresentationFicheInterv) +////Recherche des documents +//PFicheIntervention.gListeDocument(gclPresentationFicheInterv) +// +////Recherche des Messages Internes +//PFicheIntervention.gListeMessageInterne(gclPresentationFicheInterv) +//Recherche des Temps saisis +PFicheIntervention.gListeSuiviDesTemps(gclPresentationFicheInterv) +//Recherche de la societe +PFicheIntervention.gFicheSociete(gclPresentationFicheInterv) +////Recherche des Messages Internes +//PFicheIntervention.gListeMessageExterne(gclPresentationFicheInterv) +// +////Recherche des Actions +//PFicheIntervention.gListeAction(gclPresentationFicheInterv) +//Recherche des Collaborateurs +PFicheIntervention.gListeCollaborateur(gclPresentationFicheInterv) +//Recherche des Champs Libres +PFicheIntervention.gListeChampsLibres(gclPresentationFicheInterv) +////Recherche des Compte-rendus +//PFicheIntervention.gListeCompteRendu(gclPresentationFicheInterv) +06/08/2026 Isis_BO 3375 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +// +////Recherche des rapports +//PFicheIntervention.gListeRapport(gclPresentationFicheInterv) +gpclListeCollabResp=PTableCollaborateur.gNouvellePresentation(6,gclPresentationFicheInterv:m_nIDSociete +) +gpclListeSocieteAppartenance=PTableSociete.gNouvellePresentation(1,gpclFicheUtilisateurEnCours:m_nPKID) +//Recherche des lots +//En commentaire : la gestion des lots n'existant plus +//PFicheIntervention.gListeLot(gclPresentation) +//Recherche des CheckList +//En commentaire suite réunion du 29/03/2019 (en attente d'étude plus poussé du sujet) +//PFicheIntervention.gListeCheckList(gclPresentationFicheInterv) +//Affecte l'objet Appelant (Fiche Dossier) à l'objet intervention pour la fenetre Email nouveau +gclPresentationFicheInterv:FicheDossier = paramSupplementaire.pclObjetAppelant +Procédure locale ControlePresenceLieuDansDoc +// Résumé : +// Syntaxe : +//[ = ] ControlePresenceLieuDansDoc ( est entier sur 8 octets, est +entier sur 8 octets) +// +// Paramètres : +// nIDDepart (entier sur 8 octets) : +// nIDArrive (entier sur 8 octets) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ControlePresenceLieuDansDoc(nIDDepart est un entier sur 8 octets,nIDArrive est un entier sur +8 octets) +//Il se peut que la liste des document ne soit pas chargées à cause du chargement différé +si gclPresentationFicheInterv.ListeDocument = Null alors PFicheIntervention.gListeDocument( +gclPresentationFicheInterv) +renvoyer gclPresentationFicheInterv:ListeDocument:p_nTotal>0 _et_ Contient(DonneFormatRepertoireDoc(), +"#[LI_PKID]") _et_ nIDDepart<>nIDArrive +Procédure locale CreationHistoriqueEtatIntervention +// Résumé : +// Syntaxe : +//CreationHistoriqueEtatIntervention ( est entier sur 8 octets) +// +// Paramètres : +// nIDNouvelEtat (entier sur 8 octets) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sLibNouvelEtat (chaîne ANSI) : +06/08/2026 Isis_BO 3376 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +procédure CreationHistoriqueEtatIntervention(local nIDNouvelEtat est un entier sur 8 octets) +//clErr est un CErreur +pclPresentationFicheOld est un PFicheEtatIntervention dynamique +pclPresentationFiche est un PFicheEtatIntervention dynamique +//Il y a déjà au moins un état +si gclPresentationFicheInterv.ListeHistoEtat.m_clTabModele.Occurrence()>0 alors +//Récupération de l'indice le plus élevé pour avoir le dernier état +nMax est un entier = gclPresentationFicheInterv.ListeHistoEtat.m_clTabModele.Occurrence() +//Selection de cet état comme état courant +gclPresentationFicheInterv.ListeHistoEtat.p_clCourant = gclPresentationFicheInterv.ListeHistoEtat. +m_clTabModele[nMax] +//Rendre en modification sur l'état courant +pclPresentationFicheOld <- gclPresentationFicheInterv.ListeHistoEtat.Modifier() +fin +//Création d'un nouvel état +pclPresentationFiche<-gclPresentationFicheInterv.ListeHistoEtat.Nouveau() +//Il existe un ancien état +si pclPresentationFicheOld<>Null alors +//Duplique la description de l'ancien état +pclPresentationFiche:m_nIDIntervention = pclPresentationFicheOld:m_nIDIntervention +pclPresentationFiche:m_sDescription = pclPresentationFicheOld:m_sDescription +pclPresentationFiche:m_nIDEtat = nIDNouvelEtat +//Indique une date de fin sur l'ancien état +pclPresentationFicheOld:m_dhDateFin = DateHeureSys() +//Enregistre l'ancien état +//SI pclPresentationFicheOld.bOK(clErr) ALORS +//gclPresentation:m_sDescription ++= RC+ChaîneConstruit("########## %1 +##########",sLibNouvelEtat)+RC+RTFVersTexte(pclPresentationFiche:m_sDescription) +//FIN +//C'est le premier état +sinon +pclPresentationFiche:m_nIDIntervention = gclPresentationFicheInterv:IdentifiantUnique +pclPresentationFiche:m_nIDEtat = nIDNouvelEtat +pclPresentationFiche:m_dhDateDebut = DateHeureSys() +//gclPresentation:m_sDescription += ChaîneConstruit("########## %1 +##########",sLibNouvelEtat)+RC+RTFVersTexte(pclPresentationFiche:m_sDescription) +//pclPresentationFiche:m_sDescription = SAI_Description +//SAI_Description..Etat=Actif +fin +pclPresentationFiche.AppelProcValidation(2) +gclPresentationFicheInterv.ListeHistoEtat.p_clCourant = pclPresentationFiche.p_clCourant +Procédure locale CreationMessageExterneApresOutlook +// Résumé : +// Syntaxe : +//CreationMessageExterneApresOutlook (, , , , +) +06/08/2026 Isis_BO 3377 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +// +// Paramètres : +// sMailContactsDest : +// sObjet : +// sCorps : +// sNomChamp : +// sListeFichier : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure CreationMessageExterneApresOutlook(sMailContactsDest,sObjet,sCorps,sNomChamp,sListeFichier) +si pas EnregistrerFiche() alors RepriseSaisie(ChampPrécédent()) +//Arrête le timer qui sert à fermer automatiquement la fenêtre si pas d'action utilisateur +FinTimerSys(gclPresentationFicheInterv:m_nIDTimer) +//Préparation de la fenêtre pour recevoir la sous fenêtre +//ReorganiseChampDispoDansFiche(D_COL_FIC_INTERV,D_ENTETE_PERS_SITE,CFI_SOUS_INTERV,GR_IMAGE_OPAQUE_FIC +HE_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50,2,3,D_ENTETE_PERS_SITE..Largeur) +ReorganiseChampDispoDansFiche1(GR_ALAPLACECFI_INTERV,CFI_SOUS_INTERV,GR_IMAGE_OPAQUE_FICHE_INTERVENTION +,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50) +si pas gclPresentationFicheInterv:m_bVerificationDoc alors +//Recherche des documents +PFicheIntervention.gListeDocument(gclPresentationFicheInterv) +sinon +//Il se peut que la liste des document ne soit pas chargées à cause du chargement différé +si gclPresentationFicheInterv.ListeDocument = Null alors PFicheIntervention.gListeDocument( +gclPresentationFicheInterv) +fin +//Il se peut que la liste des messages externes ne soit pas chargées à cause du chargement différé +si gclPresentationFicheInterv.ListeMessageExterne = Null alors PFicheIntervention.gListeMessageExterne( +gclPresentationFicheInterv) +pclFicMessExt est une PFicheMessageExterne dynamique +pclFicMessExt = gclPresentationFicheInterv.ListeMessageExterne.Nouveau() +pclFicMessExt.m_nIDIntervention = gclPresentationFicheInterv.m_nPKID +pclFicMessExt.m_sAdrDestinataires = sMailContactsDest +pclFicMessExt:m_sObjet = sObjet +pclFicMessExt:m_sMessage = ChaîneVersUTF8(sCorps) +pclFicMessExt:m_sIDDocPJ = DonneIDDoc(gclPresentationFicheInterv,sListeFichier) +//Initialise la variable à passer en paramètre avec les valeurs communes +stParam est un STParamFenetreAppelante = DonneParam(DansChampFI,"FI_Fiche_Intervention",sNomChamp, +maProcMAJObjetRetourFI) +stParam.sTitreFenetre = "Nouveau Message" +stParam.sNomIDAppelant = "InterventionMessageExterne" +stParam.pclObjetAppelant = gclPresentationFicheInterv +stParam.sContexteAppelant = sNomChamp +ChangeFenêtreSource(CFI_SOUS_INTERV,FI_EmailNouveau,pclFicMessExt,stParam) +CFI_SOUS_INTERV..Visible=Vrai +Procédure locale DesactiveAffichage +// Résumé : +// Syntaxe : +// DesactiveAffichage () +06/08/2026 Isis_BO 3378 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DesactiveAffichage() +//{vNomFenInterne,indFenêtre}..AffichageActif=Faux +//D_COL_FIC_INTERV..Visible = Faux +Procédure locale DesactiveTimer +// Résumé : +// Syntaxe : +//DesactiveTimer ( est entier) +// +// Paramètres : +// nIdTimer (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DesactiveTimer(local nIdTimer est un entier) +FinTimerSys(nIdTimer) +Procédure locale DonneFocusChamp +// Résumé : +// Syntaxe : +// DonneFocusChamp () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneFocusChamp() +Procédure locale DonneNomFenetreInterne +// Résumé : +// Syntaxe : +//[ = ] DonneNomFenetreInterne ( est champ) +// +// Paramètres : +// champConteneur (champ) : +// Valeur de retour : +// chaîne ANSI : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneNomFenetreInterne(champConteneur est un Champ) +06/08/2026 Isis_BO 3379 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +// Récupère le nom de la fenêtre interne associée à cet onglet dynamique +renvoyer EnumèreChamp(champConteneur,1,parOrdreDeCréation) +Procédure locale DropDepuisExplorateur +// Résumé : +// Syntaxe : +//DropDepuisExplorateur () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// gclPresentationFiche (objet dynamique) : +procédure DropDepuisExplorateur() +//Il se peut que la liste des document ne soit pas chargées à cause du chargement différé +si gclPresentationFicheInterv.ListeDocument = Null alors PFicheIntervention.gListeDocument( +gclPresentationFicheInterv) +nbFic est un entier = ExplorerRécupère(_EVE.wParam) +sNomFic est une chaîne +i est un entier +//Variable stockant les messages d'erreurs de la copie +sMSG est une chaîne +// Récupération de tous les fichiers +pour i = 1 à nbFic +sNomFic += ExplorerRécupère(_EVE.wParam, i)+RC +fin +si AjouteFichier(sNomFic,1,gclPresentationFicheInterv,sMSG) alors +TableAffiche(TABLE_DOCUMENTS,taInit) +si TABLE_DOCUMENTS..Occurrence >0 alors +TableSelectPlus(TABLE_DOCUMENTS,TABLE_DOCUMENTS..Occurrence) +ExécuteTraitement(TABLE_DOCUMENTS,trtSélection) +fin +sinon +Erreur(sMSG) +fin +Procédure locale EnregistrerFiche +// Résumé : +// Syntaxe : +//[ = ] EnregistrerFiche () +// +// Paramètres : +// Aucun +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure EnregistrerFiche() +si gbFicheAutreSociete alors +CreationActionUserAutreSoc(gclPresentationFicheInterv.m_nIDSociete,gclPresentationFicheInterv.m_n +PKID,"Modification de la fiche à") +06/08/2026 Isis_BO 3380 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +//Recherche des Actions +PFicheIntervention.gListeAction(gclPresentationFicheInterv) +fin +bResultat est un booléen=Faux +bResultat = ValideFicheSimple(gclPresentationFicheInterv,paramSupplementaire,ActiveTimer,BTN_ +CADENAS_FERME_INTERV,BTN_CADENAS_OUVERT_INTERV,GR_CADENAS_INTERV,D_FIC_INTERV) +//clErreur est une CErreur +// +// +//SI PAS gclPresentationFicheInterv:bOK(clErreur) ALORS GOTO +ERREURFONCTIONNELLE//gclPresentationFicheInterv:bOK(clErreur,Vrai) +// +//bResultat = vrai +//GOTO SORTIE +// +//ERREURFONCTIONNELLE : +//Erreur(clErreur.FormateMessage()) +//GOTO SORTIE +// +//SORTIE: +renvoyer bResultat +Procédure locale FinInitialisation +procédure FinInitialisation() +si gclPresentationFicheInterv.ListeHistoEtat<>Null alors +// TableEnrouleTout(TABLE_HISTO_ETAT) +// TableDéroule(TABLE_HISTO_ETAT,TABLE_HISTO_ETAT..Occurrence) +// TableSelectPlus(TABLE_HISTO_ETAT,TABLE_HISTO_ETAT..Occurrence) +fin +si gclPresentationFicheInterv.ListeSuiviDesTemps<>Null alors +ExécuteTraitement(BTN_Calculer,trtClic) +TCDDérouleTout(TCD_SuiviTemps,tcdEntêteLigne) +fin +vOngParent<-VoletDuChamp(D_FIC_INTERV) +// Récupère le nom de la fenêtre interne associée à cet onglet dynamique +vNomFenInterne=EnumèreChamp(vOngParent,1,parOrdreDeCréation) +BTN_SynchroBaseExt..Visible=gbBATIGESTActif +GR_FACTURE..Visible=ParametreLit("AVEC_FACTURE_INTERVENTION") +MaJAffichageOngletInfoSupp() +Procédure locale GestionBoutonContactClient +// Résumé : +// Syntaxe : +//GestionBoutonContactClient () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure GestionBoutonContactClient() +//bVisible est un booléen += PAS gclPresentationFicheInterv:ListeContactClient.p_bModeleCourantVide _ET_ +gclPresentationFicheInterv.ListeContactClient.p_clCourant<>Null +bAccessible est un booléen = pas gclPresentationFicheInterv:ListeContactClient. +p_bModeleCourantVide _et_ gclPresentationFicheInterv.ListeContactClient.p_clCourant<>Null +06/08/2026 Isis_BO 3381 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +//BTN_EDT_PERS_CLI_INTERV..Visible= bVisible +//BTN_DEL_PERS_CLI_INTERV..Visible= bVisible +BTN_EDT_PERS_CLI_INTERV..Grisé = bAccessible ? Faux sinon Vrai +BTN_DEL_PERS_CLI_INTERV..Grisé = bAccessible ? Faux sinon Vrai +//gclPresentationFicheInterv.ListeContactClient.p_bModeleCourantVide _OU_ +gclPresentationFicheInterv.ListeContactClient.p_clCourant=Null +Procédure locale GestionBoutonContactSite +// Résumé : +// Syntaxe : +//GestionBoutonContactSite () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure GestionBoutonContactSite() +//bVisible est un booléen += PAS gclPresentationFicheInterv:ListeContactLieu.p_bModeleCourantVide _ET_ +gclPresentationFicheInterv.ListeContactLieu.p_clCourant<>Null +bAccessible est un booléen = pas gclPresentationFicheInterv:ListeContactLieu. +p_bModeleCourantVide _et_ gclPresentationFicheInterv.ListeContactLieu.p_clCourant<>Null +//BTN_EDT_PERS_SITE..Visible = bVisible +//BTN_DEL_PERS_SITE..Visible = bVisible +BTN_EDT_PERS_SITE..Grisé = bAccessible ? Faux sinon Vrai +BTN_DEL_PERS_SITE..Grisé = bAccessible ? Faux sinon Vrai +//gclPresentationFicheInterv.ListeContactLieu.p_bModeleCourantVide _OU_ +gclPresentationFicheInterv.ListeContactLieu.p_clCourant=Null +Procédure locale GestionBoutonDocument +// Résumé : +// Syntaxe : +// GestionBoutonDocument () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure GestionBoutonDocument() +bAccessible est un booléen = gclPresentationFicheInterv.ListeDocument<>Null _et_ pas +gclPresentationFicheInterv:ListeDocument.p_bModeleCourantVide _et_ gclPresentationFicheInterv. +ListeDocument.p_clCourant<>Null +BTN_EDT_DOC..Grisé = bAccessible ? Faux sinon Vrai +//BTN_EDT_DOC..Visible += gclPresentationFicheInterv.ListeDocument<>Null _et_ PAS +gclPresentationFicheInterv:ListeDocument.p_bModeleCourantVide _ET_ +gclPresentationFicheInterv.ListeDocument.p_clCourant<>Null +BTN_DEL_DOC..Grisé = bAccessible ? Faux sinon Vrai +//gclPresentationFicheInterv.ListeDocument=Null _ou_ +gclPresentationFicheInterv.ListeDocument.p_bModeleCourantVide _OU_ +gclPresentationFicheInterv.ListeDocument.p_clCourant=Null +06/08/2026 Isis_BO 3382 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +//BTN_DEL_DOC..Visible += gclPresentationFicheInterv.ListeDocument<>Null _ET_ PAS +gclPresentationFicheInterv.ListeDocument.p_bModeleCourantVide _ET_ PAS +gclPresentationFicheInterv.ListeDocument.p_clCourant=Null +//BTN_GALERIE_DOC..Visible += gclPresentationFicheInterv.ListeDocument<>Null _ET_ PAS +gclPresentationFicheInterv:ListeDocument.p_bModeleCourantVide _ET_ PAS +gclPresentationFicheInterv.ListeDocument.p_clCourant=Null +BTN_GALERIE_DOC..Grisé = gclPresentationFicheInterv.ListeDocument=Null _ou_ +gclPresentationFicheInterv:ListeDocument.p_bModeleCourantVide _ou_ gclPresentationFicheInterv. +ListeDocument.p_clCourant=Null +Procédure locale GestionBoutonExportBaseExterne +procédure GestionBoutonExportBaseExterne() +si gbBATIGESTActif alors +si gclPresentationFicheInterv:FicheIntervBddExt <> Null alors +si gclPresentationFicheInterv:FicheIntervBddExt:m_sIDExterne="" alors +BTN_SynchroBaseExt..Visible=Vrai +sinon +BTN_SynchroBaseExt..Etat=AffichageSeulement +BTN_SynchroBaseExt..CouleurFond=RVB(86, 124, 143) +BTN_SynchroBaseExt..Bulle= +"Intervention exportée dans BATIGEST avec le numéro de chantier : " + +gclPresentationFicheInterv:FicheIntervBddExt:m_sIDExterne +SAI_NUMDEVIS..Etat = AffichageSeulement +SAI_DATEDEVIS..Etat = AffichageSeulement +fin +sinon +BTN_SynchroBaseExt..Visible = Faux +fin +sinon +BTN_SynchroBaseExt..Visible = Faux +fin +Procédure locale GestionBoutonHistoEtat +// Résumé : +// Syntaxe : +//GestionBoutonHistoEtat () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure GestionBoutonHistoEtat() +BTN_DEL_HISTO_ETATINTERV..Grisé = gclPresentationFicheInterv.ListeHistoEtat.p_bModeleCourantVide +_ou_ gclPresentationFicheInterv.ListeHistoEtat.p_clCourant=Null +//BTN_DEL_HISTO_ETATINTERV..Visible += PAS gclPresentationFicheInterv.ListeHistoEtat.p_bModeleCourantVide _ET_ PAS +gclPresentationFicheInterv.ListeHistoEtat.p_clCourant=Null +Procédure locale GestionBoutonMessageExt +// Résumé : +06/08/2026 Isis_BO 3383 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +// Syntaxe : +// GestionBoutonMessageExt () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure GestionBoutonMessageExt() +bAccessible est un booléen = gclPresentationFicheInterv.ListeMessageExterne<>Null _et_ pas +gclPresentationFicheInterv:ListeMessageExterne.p_bModeleCourantVide _et_ gclPresentationFicheInterv. +ListeMessageExterne.p_clCourant<>Null +//BTN_ENV_MESS_EXT..Visible += gclPresentationFicheInterv.ListeMessageExterne<>Null _et_ PAS +gclPresentationFicheInterv:ListeMessageExterne.p_bModeleCourantVide _ET_ +gclPresentationFicheInterv.ListeMessageExterne.p_clCourant<>Null +//BTN_ENV_MESS_EXT..Grisé = bAccessible ? Faux SINON Vrai +BTN_DEL_MESS_EXT..Grisé = bAccessible ? Faux sinon Vrai +//gclPresentationFicheInterv.ListeMessageExterne=Null _ou_ +gclPresentationFicheInterv.ListeMessageExterne.p_bModeleCourantVide _OU_ +gclPresentationFicheInterv.ListeMessageExterne.p_clCourant=Null +//BTN_DEL_MESS_EXT..Visible += gclPresentationFicheInterv.ListeMessageExterne<>Null _ET_ PAS +gclPresentationFicheInterv.ListeMessageExterne.p_bModeleCourantVide _ET_ PAS +gclPresentationFicheInterv.ListeMessageExterne.p_clCourant=Null +Procédure locale GestionBoutonRapport +// Résumé : +// Syntaxe : +//GestionBoutonRapport () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure GestionBoutonRapport() +bAccessible est un booléen = gclPresentationFicheInterv.ListeRapport=Null _ou_ +gclPresentationFicheInterv.ListeRapport.p_bModeleCourantVide _ou_ gclPresentationFicheInterv. +ListeRapport.p_clCourant=Null +//BTN_EDT_RAPPORT..Visible += gclPresentationFicheInterv.ListeRapport<>Null _et_ PAS +gclPresentationFicheInterv:ListeRapport.p_bModeleCourantVide _ET_ +gclPresentationFicheInterv.ListeRapport.p_clCourant<>Null +BTN_EDT_RAPPORT..Grisé = bAccessible ? Faux sinon Vrai +BTN_DEL_RAPPORT..Grisé = bAccessible ? Faux sinon Vrai +//gclPresentationFicheInterv.ListeRapport=Null _ou_ +gclPresentationFicheInterv.ListeRapport.p_bModeleCourantVide _OU_ +gclPresentationFicheInterv.ListeRapport.p_clCourant=Null +//BTN_DEL_RAPPORT..Visible += gclPresentationFicheInterv.ListeRapport<>Null _ET_ PAS +gclPresentationFicheInterv.ListeRapport.p_bModeleCourantVide _ET_ PAS +gclPresentationFicheInterv.ListeRapport.p_clCourant=Null +06/08/2026 Isis_BO 3384 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +//Forcage suite retour de test 309 +//BTN_ADD_RAPPORT..etat = GR_MODEOPAQUE_FICHE_INTERVENTION..etat +Procédure locale GestionBoutonRendezVous +// Résumé : +// Syntaxe : +//GestionBoutonRendezVous () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure GestionBoutonRendezVous() +bGrise est un booléen = gclPresentationFicheInterv.ListeRendezVous.p_bModeleCourantVide _ou_ +gclPresentationFicheInterv.ListeRendezVous.p_clCourant=Null +//bVisible est un booléen += PAS gclPresentationFicheInterv:ListeRendezVous.p_bModeleCourantVide _ET_ +gclPresentationFicheInterv.ListeRendezVous.p_clCourant<>Null +BTN_EDT_RDV..Grisé = bGrise +BTN_IMPR_RDV..Grisé = bGrise +BTN_DEL_RDV..Grisé = bGrise +Procédure locale GestionBoutonSite +// Résumé : +// Syntaxe : +//GestionBoutonSite () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure GestionBoutonSite() +//bVisible est un booléen += gclPresentationFicheInterv:FicheLieu:IdentifiantUnique>0 ? Vrai SINON Faux +bAccessible est un booléen = gclPresentationFicheInterv:FicheLieu:IdentifiantUnique>0 ? Vrai sinon +Faux +//BTN_DEL_SITE..Visible = bVisible +//BTN_EDT_SITE..Visible = bVisible +BTN_EDT_SITE..Grisé = bAccessible ? Faux sinon Vrai +BTN_DEL_SITE..Grisé = bAccessible ? Faux sinon Vrai +si gclPresentationFicheInterv:FicheLieu.m_bBlocage alors +IMG_BloqueSite = IMG_Bloque +sinon +IMG_BloqueSite = IMG_NonBloque +fin +Procédure locale ImpressionFicheDeplacement +// Résumé : +06/08/2026 Isis_BO 3385 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +// Syntaxe : +//ImpressionFicheDeplacement ( est chaîne) +// +// Paramètres : +// sValeur (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ImpressionFicheDeplacement(local sValeur est une chaîne) +si FenEtat(FEN_Choix_ModeleEtat_Intervention)=Actif alors +Ferme(FEN_Choix_ModeleEtat_Intervention) +fin +bAvecAperçu est un booléen +nIndiceEtat est un entier = TableauCherche(gpclListeModelEtatIntervRdv:m_clTabModele,tcLinéaire, +"m_sValeur",sValeur,1) +//gclPresentationFicheInterv.ListeContactLieu.m_clTabModele +si nIndiceEtat>0 alors +gclListeContactRDV est un PTablePlanning_RDV_Personne dynamique +D_FIC_INTERV..Visible=Faux +pclPresentationFiche est un PFicheRdv(gclPresentationFicheInterv.ListeRendezVous:p_clCourant) +PFicheRdv.gFicheIntervention(pclPresentationFiche,gclPresentationFicheInterv,Vrai) +gclListeContactRDV =PTablePlanning_RDV_Personne.gNouvellePresentation(pclPresentationFiche.m_nPKID) +//pclPresentationFiche <-gclPresentationFicheInterv.ListeRendezVous.Modifier() +//SI pclPresentationFiche.FicheIntervention=Null ALORS +//PFicheRdv.gFicheIntervention(pclPresentationFiche,gclPresentationFicheInterv,Vrai) +PFicheRdv.gFicheOccupant(pclPresentationFiche) +clEtatFicheDeplacement est un MEtatFicheDeplacement +//*********************Dossier********************** +clEtatFicheDeplacement:m_sNumDossier = gclPresentationFicheInterv:FicheDossier:m_s +RefInterne +//*********************Intervention********************** +clEtatFicheDeplacement:m_LogoSociete = gclPresentationFicheInterv:FicheSociete:m_ +imgLogo +clEtatFicheDeplacement:m_sNomSociete = pclPresentationFiche:FicheIntervention: +FicheSociete:m_sNom +clEtatFicheDeplacement:m_sAdresseSociete = pclPresentationFiche:FicheIntervention: +FicheSociete:m_clAdresse:m_sPresentation +clEtatFicheDeplacement:m_sRefInterneIntervention = pclPresentationFiche:FicheIntervention. +m_sRefInterne +clEtatFicheDeplacement:m_dDateIntervention = pclPresentationFiche:FicheIntervention. +m_dDateIntervention +clEtatFicheDeplacement:m_sSuiviPar = pclPresentationFiche:FicheIntervention. +FicheSuiveur:NomPrenom +clEtatFicheDeplacement:m_sEtatIntervention = gpclListeEtatIntervention. +RechercheEtDonneLibelleDepuisID(gclPresentationFicheInterv:m_nIDEtatIntervention) dans ("","0") ? +"" sinon COMBO_Etat..ValeurAffichée +clEtatFicheDeplacement:m_sTypeIntervention = gpclListeTypeIntervention. +RechercheEtDonneLibelleDepuisID(gclPresentationFicheInterv:m_nIDTypeIntervention) dans ("","0") ? +"" sinon COMBO_TypeIntervention..ValeurAffichée +clEtatFicheDeplacement:m_sNumDevis = gclPresentationFicheInterv.m_sNumDevis +clEtatFicheDeplacement:m_sTitreIntervention = gclPresentationFicheInterv.m_sTitre +clEtatFicheDeplacement:m_bSAV = pclPresentationFiche:m_bSAV +//*********************Occupant********************** +clEtatFicheDeplacement:m_sCodeSite = gclPresentationFicheInterv:FicheLieu:m_s +06/08/2026 Isis_BO 3386 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +CodeLieu +clEtatFicheDeplacement:m_sCiviliteNomPrenomOccupant = pclPresentationFiche:FicheOccupant: +CiviliteNomPrenom +clEtatFicheDeplacement:m_sTelFixe = pclPresentationFiche:FicheOccupant:m_sTelFixe +clEtatFicheDeplacement:m_sTelMobile = pclPresentationFiche:FicheOccupant: +m_sTelMobile +clEtatFicheDeplacement:m_sRoleOccupant = gpclListeRoleContact. +RechercheEtDonneLibelleDepuisID(pclPresentationFiche:FicheOccupant:m_nIDRole) +//clEtatFicheDeplacement:m_clListeContact += gclPresentationFicheInterv:ListeContactLieu:m_clTabModele +tabPersonnes est un tableau de MPlanning_RDV_Personne = gclListeContactRDV:m_clTabModele +clEtatFicheDeplacement:Contacts(tabPersonnes) +// PFichePersonne.gListeLieu(pclPresentationFiche:FicheOccupant) +// +nIndice est un entier = +TableauCherche(pclPresentationFiche:FicheOccupant.ListeLieu.m_clTabModele,tcLinéaire,"m_nIDLieu",gc +lPresentationFicheInterv:FicheLieu:m_nPKID,1) +// SI nIndice>0 ALORS +// +// clEtatFicheDeplacement:m_sEtage += pclPresentationFiche:FicheOccupant.ListeLieu.m_clTabModele[nIndice]:m_sEtage +// clEtatFicheDeplacement:m_sLot += pclPresentationFiche:FicheOccupant.ListeLieu.m_clTabModele[nIndice]:m_sLot +// clEtatFicheDeplacement:m_sEtiquetteLieuPersonne += pclPresentationFiche:FicheOccupant.ListeLieu.m_clTabModele[nIndice]:m_sEtiquette +// FIN +clEtatFicheDeplacement:m_bBadge = pclPresentationFiche:FicheIntervention: +FicheLieu:m_bBadge +clEtatFicheDeplacement:m_bInterphone = pclPresentationFiche:FicheIntervention: +FicheLieu:m_bInterphone +clEtatFicheDeplacement:m_sAdresseSite = pclPresentationFiche:FicheIntervention: +FicheLieu:m_clAdresse:m_sPresentation +// +// SI tabPersonnes..Occurrence = 1 ALORS +// SI tabPersonnes[1].m_clPersonne.m_sEtage <> "" ALORS +// +clEtatFicheDeplacement:m_sAdresseSite += [RC]+"Étage "+ tabPersonnes[1].m_clPersonne.m_sEtage +// FIN +// FIN +// +clEtatFicheDeplacement:m_sCodeAcces = pclPresentationFiche:FicheIntervention: +FicheLieu:m_sCodeAcces +clEtatFicheDeplacement:m_sNoteSite = gclPresentationFicheInterv:FicheLieu:m_sNote +//**********************Client********************** +clEtatFicheDeplacement:m_sNomClient = pclPresentationFiche:FicheIntervention: +FicheClient:m_sNom +clEtatFicheDeplacement:m_sCodeClient = pclPresentationFiche:FicheIntervention: +FicheClient:m_sCodeClient +clEtatFicheDeplacement:m_sTelFixeClient = pclPresentationFiche:FicheIntervention: +FicheClient:m_sTel +//clEtatFicheDeplacement:m_sTelMobile += pclPresentationFiche:FicheIntervention:FicheClient: +clEtatFicheDeplacement:m_sRefExterneIntervention = pclPresentationFiche:FicheIntervention: +m_sRefExterne +//**********************Rendez-vous********************** +clEtatFicheDeplacement:m_sDateRendezVous = pclPresentationFiche:DateRendezVous +sDescr est une chaîne = RTFVersTexte(gclPresentationFicheInterv:m_s +Description)+RC+pclPresentationFiche:m_sDescription +06/08/2026 Isis_BO 3387 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +clEtatFicheDeplacement:m_sDescription = TexteVersRTF(sDescr) +sNote est une chaîne +//Recherche des Messages Internes +PFicheIntervention.gListeMessageInterne(gclPresentationFicheInterv) +pour i = 1 _à_ gclPresentationFicheInterv.ListeMessageInterne:p_nTotal +sNote += i=1 ? gclPresentationFicheInterv. +ListeMessageInterne:m_clTabModele[i]:m_sMessage sinon RC+gclPresentationFicheInterv. +ListeMessageInterne:m_clTabModele[i]:m_sMessage +fin +clEtatFicheDeplacement:m_sNoteInterne = TexteVersRTF(sNote) +nCptDonneur est un entier = pclPresentationFiche:FicheIntervention: +ListeContactClient.p_nTotal +si nCptDonneur>0 alors +selon nCptDonneur +cas 1 : clEtatFicheDeplacement:m_sDonneurOrdre_1 = pclPresentationFiche:FicheIntervention: +ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +autre cas : +clEtatFicheDeplacement:m_sDonneurOrdre_1 = pclPresentationFiche:FicheIntervention: +ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +clEtatFicheDeplacement:m_sDonneurOrdre_2 = pclPresentationFiche:FicheIntervention: +ListeContactClient.m_clTabModele[2]:m_clContact:CiviliteNomPrenom +fin +fin +// POUR i = 1 _A_ gclListeContactRDV.p_nTotal +// +TableauAjouteligne(clEtatFicheDeplacement:m_clListePersonne,gclListeContactRDV:m_clTabModele[i]:m_c +lPersonne) +// FIN +//clEtatFicheDeplacement:m_clListePersonne <= pclPresentationFiche:m_clListePersonne +clEtatFicheDeplacement:m_clListeCollabGroup <= pclPresentationFiche:m_clListeCollabGroup +clEtatFicheDeplacement:Intervenants(pclPresentationFiche:m_clListeCollabGroup) +si SansEspace(clEtatFicheDeplacement:m_clIntervenants) = "" alors +clEtatFicheDeplacement:m_clIntervenants = pclPresentationFiche.m_clCollaborateur.m_sNom + " " + +pclPresentationFiche.m_clCollaborateur.m_sPrenom + " " +fin +clEtatFicheDeplacement:RechercheIntervenant(pclPresentationFiche:m_nPKID) +// pour résoudre le problème chez GAP si c'est vide je force la recherche +//1 : &Aperçu +//2 : &Générer et Afficher +//SELON Dialogue("Voulez-vous faire juste un aperçu du document ou le générer dans vos documents ?" +) +// &Aperçu +// CAS 1 +bAvecAperçu = Vrai +// &Générer et Afficher +// CAS 2 +// bAvecAperçu = Faux +//FIN +si bAvecAperçu alors +// ch=RegistreLit("HKEY_CURRENT_USER\Software\MON LOGICIEL\Apercu\","PositionOuverture") +// SI Position(ch,"-") ALORS +// +RegistreSupprimeValeur("HKEY_CURRENT_USER\Software\MON LOGICIEL\Apercu\","PositionOuverture") +// +RegistreSupprimeValeur("HKEY_CURRENT_USER\Software\MON LOGICIEL\Apercu\","TailleOuverture") +// >FIN +FEN_Menu..AffichageActif=Faux +iDestination(iVisualisateur) +//,iPage,gpclListeModelEtatIntervRdv:m_clTabModele[nIndiceEtat]:m_sLibelle+" - +"+gclPresentationFicheInterv:m_sRefInterne,Vrai,0,0 +06/08/2026 Isis_BO 3388 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +iImprimeEtat(gpclListeModelEtatIntervRdv:m_clTabModele[nIndiceEtat]:m_sParametre, +clEtatFicheDeplacement) +FEN_Menu..AffichageActif=Vrai +sinon +| sRepRacine | | est une chaîne | = DonneRepertoireRacine() | | | | +| ---------- | --- | -------------- | ------------------------- | --- | --- | --- | +sRepertoireFichier est une chaîne +//Regarde si le répertoire racine existe et le créé dans le cas contraire +si fRépertoireExiste(sRepRacine) _ou_ fRepCrée(sRepRacine) alors +sReqSQL est une Requête SQL = +[ +SELECT Client.*,Lieu.*,Intervention.*,Dossier.*,ParametreMetier.*,Adresse.* +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 Dossier ON (DO_PKID=IN_IDDossier) +LEFT OUTER JOIN ParametreMetier ON (PA_PKID=IN_IDEtatIntervention) +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +WHERE Intervention.IN_PKID={P_IDIntervention} +] +sReqSQL.P_IDIntervention= gclPresentationFicheInterv:m_nPKID +si HExécuteRequête(sReqSQL,hRequêteDéfaut) alors +| | sFormatRepDoc | est une chaîne | | = DonneFormatRepertoireDoc() | | | +| --- | ------------- | --------------------- | --- | ----------------------------- | --- | --- | +| | tabRep | est un tableau de Rep | | | | | +DecodeRepertoire(sFormatRepDoc,tabRep) +| | sFichier | est une chaîne | | = gpclListeModelEtatIntervRdv: | | | +| --- | -------- | -------------- | --- | ------------------------------ | --- | --- | +m_clTabModele[nIndiceEtat]:m_sLibelle+" - "+gclPresentationFicheInterv:m_sRefInterne+ +"_"+DateVersChaîne(DateHeureSys(),"AAAAMMJJ HHmm")+".pdf" +nIDCategorie est un entier sur 8 octets = DonneCategorieDocSelonExtension +(sFichier) +//Détermine la catégorie selon l'extension +sRepertoireFichier = ComplèteRep( +DonneRepertoireDocument(5,Null,sReqSQL,nIDCategorie,tabRep,sRepRacine,sFormatRepDoc)) +//Recherche et Construit le chemin attendu +| | sCheminFichier | est une chaîne | | | = sRepertoireFichier+ | | +| --- | -------------- | -------------- | --- | --- | --------------------- | --- | +sFichier +//Affectation du chemin pour ouverture depuis l'appli +| | bDroitCateg | est un booléen | | | = DroitAjoutDocument( | | +| --- | ----------- | -------------- | --- | --- | --------------------- | --- | +nIDCategorie) +//Créé le répertoire de destination s'il n'existe pas, copie le fichier choisi dans la +destination et enregistre +si bDroitCateg _et_ (fRépertoireExiste(sRepertoireFichier) _ou_ fRepCrée( +sRepertoireFichier)) alors +clErreurest un CErreur +clModeleest un MDocument +| | clModele.m_nSuivi | | = 1 | | | | +| --- | ----------------- | --- | --- | ----------------------------------- | --- | --- | +| | clModele.m_sNom | | | = fExtraitChemin(sFichier,fFichier+ | | | +fExtension) +clModele.m_nIDIntervention = gclPresentationFicheInterv:m_nPKID +| | clModele.m_nIDCategorie | | | = nIDCategorie | | | +| --- | -------------------------- | --- | ---------------- | ------------------------ | --- | --- | +| | clModele.m_sCheminFichier | | = sCheminFichier | | | | +| | clModele.m_nIDEtatDocument | | | = gpclListeEtatDocument. | | | +RechercheEtDonneIdDepuisValeur("1") +si clModele.bEnregistrer(clErreur) alors +//Il se peut que la liste des document ne soit pas chargées à cause du +chargement différé +si gclPresentationFicheInterv.ListeDocument = Null alors PFicheIntervention. +gListeDocumentSimple(gclPresentationFicheInterv) +//Ajout du document au tableau des documents +| 06/08/2026 | | | Isis_BO | | | 3389 | +| ---------- | --- | --- | ------- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +TableauAjoute(gclPresentationFicheInterv:ListeDocument:m_clTabModele,clModele +) +fin +iDestination(iPDFGénérique,sCheminFichier) +FEN_Menu..AffichageActif=Faux +iImprimeEtat(gpclListeModelEtatIntervRdv:m_clTabModele[nIndiceEtat]:m_sParametre, +clEtatFicheDeplacement) +FEN_Menu..AffichageActif=Vrai +si fFichierExiste(sCheminFichier) alors +LanceAppliAssociée(sCheminFichier) +sinon +Erreur("L'état n'a pas pu être généré") +fin +fin +fin +fin +fin +//info("ici") +//FIN +D_FIC_INTERV..Visible=Vrai +sinon +Erreur("L'état n'a pas été trouvé") +fin +Procédure locale ImpressionFicheIntervention +// Résumé : +// Syntaxe : +//ImpressionFicheIntervention ( est chaîne) +// +// Paramètres : +// sValeur (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ImpressionFicheIntervention(local sValeur est une chaîne) +si FenEtat(FEN_Choix_ModeleEtat_Intervention)=Actif alors +Ferme(FEN_Choix_ModeleEtat_Intervention) +fin +bAvecAperçu est un booléen +//Arrête le timer qui sert à fermer automatiquement la fenêtre si pas d'action utilisateur +//FinTimerSys(gclPresentationFicheInterv:m_nIDTimer) +D_FIC_INTERV..Visible = Faux +PFicheIntervention.gFicheSuiveur(gclPresentationFicheInterv) +clEtatFicheDeplacement est un MEtatFicheIntervention +//*********************Dossier********************** +clEtatFicheDeplacement:m_sNumDossier = gclPresentationFicheInterv:FicheDossier:m_s +RefInterne +//*********************Intervention********************** +clEtatFicheDeplacement:m_LogoSociete = gclPresentationFicheInterv:FicheSociete:m_imgLogo +clEtatFicheDeplacement:m_sNomSociete = gclPresentationFicheInterv:FicheSociete:m_sNom +clEtatFicheDeplacement:m_sAdresseSociete = gclPresentationFicheInterv:FicheSociete:m_cl +Adresse:m_sPresentation +clEtatFicheDeplacement:m_sRefInterneIntervention = gclPresentationFicheInterv.m_sRefInterne +clEtatFicheDeplacement:m_dDateIntervention = gclPresentationFicheInterv.m_dDateIntervention +clEtatFicheDeplacement:m_sSuiviPar = gclPresentationFicheInterv.FicheSuiveur:NomPrenom +06/08/2026 Isis_BO 3390 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +clEtatFicheDeplacement:m_sEtatIntervention = gpclListeEtatIntervention. +RechercheEtDonneValeurDepuisId(gclPresentationFicheInterv:m_nIDEtatIntervention) dans ("","0") ? "" +sinon COMBO_Etat..ValeurAffichée +clEtatFicheDeplacement:m_sTypeIntervention = gpclListeTypeIntervention. +RechercheEtDonneValeurDepuisId(gclPresentationFicheInterv:m_nIDTypeIntervention) dans ("","0") ? "" +sinon COMBO_TypeIntervention..ValeurAffichée +clEtatFicheDeplacement:m_sNumDevis = gclPresentationFicheInterv.m_sNumDevis +clEtatFicheDeplacement:m_sTitreIntervention = gclPresentationFicheInterv.m_sTitre +//*********************Site********************** +clEtatFicheDeplacement:m_sCodeSite = gclPresentationFicheInterv:FicheLieu:m_sCodeLieu +clEtatFicheDeplacement:m_sAdresseSite = gclPresentationFicheInterv:FicheLieu:m_clAdresse: +m_sPresentation +clEtatFicheDeplacement:m_sCodeAcces = gclPresentationFicheInterv:FicheLieu:m_s +CodeAcces +clEtatFicheDeplacement:m_bBadge = gclPresentationFicheInterv:FicheLieu:m_bBadge +clEtatFicheDeplacement:m_bInterphone = gclPresentationFicheInterv:FicheLieu:m_b +Interphone +clEtatFicheDeplacement:m_sNoteSite = gclPresentationFicheInterv:FicheLieu:m_sNote +//**********************Client********************** +clEtatFicheDeplacement:m_sNomClient = gclPresentationFicheInterv:FicheClient:m_sNom +clEtatFicheDeplacement:m_sCodeClient = gclPresentationFicheInterv:FicheClient:m_s +CodeClient +clEtatFicheDeplacement:m_sTelFixeClient = gclPresentationFicheInterv:FicheClient:m_sTel +clEtatFicheDeplacement:m_sRefExterneIntervention = gclPresentationFicheInterv:m_sRefExterne +//**********************Rendez-vous********************** +//clEtatFicheDeplacement:m_sDateRendezVous = pclPresentationFiche:DateRendezVous +clEtatFicheDeplacement:m_sDescription = gclPresentationFicheInterv:m_sDescription +nCptDonneur est un entier = gclPresentationFicheInterv:ListeContactClient +.p_nTotal +si nCptDonneur>0 alors +selon nCptDonneur +cas 1 : clEtatFicheDeplacement:m_sDonneurOrdre_1 = gclPresentationFicheInterv: +ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +autre cas : +clEtatFicheDeplacement:m_sDonneurOrdre_1 = gclPresentationFicheInterv:ListeContactClient +.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +clEtatFicheDeplacement:m_sDonneurOrdre_2 = gclPresentationFicheInterv:ListeContactClient +.m_clTabModele[2]:m_clContact:CiviliteNomPrenom +fin +fin +clEtatFicheDeplacement:m_clListeContact <= gclPresentationFicheInterv:ListeContactLieu:m_clTabModele +clEtatFicheDeplacement:m_clListeContactCli <= gclPresentationFicheInterv:ListeContactClient: +m_clTabModele +clEtatFicheDeplacement:m_clListeCollaborateur <= gclPresentationFicheInterv:ListeCollaborateur: +m_clTabModele +clEtatFicheDeplacement:Contacts() +//iRAZ() +//iAperçu() +nIndiceEtat est un entier = TableauCherche(gpclListeModelEtatInterv:m_clTabModele,tcLinéaire, +"m_sValeur",sValeur,1) +si nIndiceEtat>0 alors +//iParamètreAperçu(iBoutonAucun,faux) +//iAperçu(iapZoom100,gpclListeModelEtatInterv:m_clTabModele[nIndiceEtat]:m_sLibelle) +// iParamètreVisualisateur(iBoutonAucun) +// iDestination(iVisualisateur) +//iRAZ() +//1 : &Aperçu +//2 : &Générer et Afficher +selon Dialogue("Voulez-vous faire juste un aperçu du document ou le générer dans vos documents ?") +// &Aperçu +cas 1 +bAvecAperçu = Vrai +// &Générer et Afficher +cas 2 +bAvecAperçu = Faux +06/08/2026 Isis_BO 3391 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +fin +si bAvecAperçu alors +FEN_Menu..AffichageActif=Faux +iDestination(iVisualisateur,iPage,gpclListeModelEtatInterv:m_clTabModele[nIndiceEtat]:m_s +Libelle+" - "+gclPresentationFicheInterv:m_sRefInterne,Vrai,0,0) +iImprimeEtat(gpclListeModelEtatInterv:m_clTabModele[nIndiceEtat]:m_sParametre, +clEtatFicheDeplacement) +FEN_Menu..AffichageActif=Vrai +sinon +| sRepRacine | | est une chaîne | = DonneRepertoireRacine() | | | | +| ---------- | --- | -------------- | ------------------------- | --- | --- | --- | +sRepertoireFichier est une chaîne +//Regarde si le répertoire racine existe et le créé dans le cas contraire +si fRépertoireExiste(sRepRacine) _ou_ fRepCrée(sRepRacine) alors +sReqSQL est une Requête SQL = +[ +SELECT Client.*,Lieu.*,Intervention.*,Dossier.*,ParametreMetier.*,Adresse.* +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 Dossier ON (DO_PKID=IN_IDDossier) +LEFT OUTER JOIN ParametreMetier ON (PA_PKID=IN_IDEtatIntervention) +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +WHERE Intervention.IN_PKID={P_IDIntervention} +] +sReqSQL.P_IDIntervention= gclPresentationFicheInterv:m_nPKID +si HExécuteRequête(sReqSQL,hRequêteDéfaut) alors +| | sFormatRepDoc | est une chaîne | | = DonneFormatRepertoireDoc() | | | +| --- | ------------- | --------------------- | --- | ----------------------------- | --- | --- | +| | tabRep | est un tableau de Rep | | | | | +DecodeRepertoire(sFormatRepDoc,tabRep) +| | sFichier | est une chaîne | | = gpclListeModelEtatInterv: | | | +| --- | -------- | -------------- | --- | --------------------------- | --- | --- | +m_clTabModele[nIndiceEtat]:m_sLibelle+" - "+gclPresentationFicheInterv:m_sRefInterne+ +"_"+DateVersChaîne(DateHeureSys(),"AAAAMMJJ HHmm")+".pdf" +nIDCategorie est un entier sur 8 octets = DonneCategorieDocSelonExtension +(sFichier) +//Détermine la catégorie selon l'extension +sRepertoireFichier = ComplèteRep( +DonneRepertoireDocument(5,Null,sReqSQL,nIDCategorie,tabRep,sRepRacine,sFormatRepDoc)) +//Recherche et Construit le chemin attendu +| | sCheminFichier | est une chaîne | | | = sRepertoireFichier+ | | +| --- | -------------- | -------------- | --- | --- | --------------------- | --- | +sFichier +//Affectation du chemin pour ouverture depuis l'appli +| | bDroitCateg | est un booléen | | | = DroitAjoutDocument( | | +| --- | ----------- | -------------- | --- | --- | --------------------- | --- | +nIDCategorie) +//Créé le répertoire de destination s'il n'existe pas, copie le fichier choisi dans la +destination et enregistre +si bDroitCateg _et_ (fRépertoireExiste(sRepertoireFichier) _ou_ fRepCrée( +sRepertoireFichier)) +clErreurest un CErreur +clModeleest un MDocument +| | clModele.m_nSuivi | | = 1 | | | | +| --- | ----------------- | --- | --- | ----------------------------------- | --- | --- | +| | clModele.m_sNom | | | = fExtraitChemin(sFichier,fFichier+ | | | +fExtension) +clModele.m_nIDIntervention = gclPresentationFicheInterv:m_nPKID +| | clModele.m_nIDCategorie | | | = nIDCategorie | | | +| --- | -------------------------- | --- | ---------------- | ------------------------ | --- | --- | +| | clModele.m_sCheminFichier | | = sCheminFichier | | | | +| | clModele.m_nIDEtatDocument | | | = gpclListeEtatDocument. | | | +RechercheEtDonneIdDepuisValeur("1") +si clModele.bEnregistrer(clErreur) alors +| 06/08/2026 | | | Isis_BO | | | 3392 | +| ---------- | --- | --- | ------- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +//Il se peut que la liste des document ne soit pas chargées à cause du +chargement différé +si gclPresentationFicheInterv.ListeDocument = Null alors PFicheIntervention. +gListeDocumentSimple(gclPresentationFicheInterv) +//Ajout du document au tableau des documents +TableauAjoute(gclPresentationFicheInterv:ListeDocument:m_clTabModele,clModele +) +fin +iDestination(iPDFGénérique,sCheminFichier) +FEN_Menu..AffichageActif=Faux +iImprimeEtat(gpclListeModelEtatInterv:m_clTabModele[nIndiceEtat]:m_sParametre, +clEtatFicheDeplacement) +FEN_Menu..AffichageActif=Vrai +si fFichierExiste(sCheminFichier) alors +LanceAppliAssociée(sCheminFichier) +sinon +Erreur("L'état n'a pas pu être généré") +fin +fin +fin +fin +fin +sinon +Erreur("L'état n'a pas été trouvé") +fin +D_FIC_INTERV..Visible = Vrai +//Reactivation du Timer +//TimerSys(TimeOutIntervention,100,gclPresentationFicheInterv:m_nIDTimer) +Procédure locale Init_MessageExterne +// Résumé : +// Syntaxe : +// Init_MessageExterne () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Init_MessageExterne() +si gclPresentationFicheInterv.ListeMessageExterne=Null _ou_ gclPresentationFicheInterv. +ListeMessageExterne.m_clTabModele..Occurrence=0 alors +//DISP_MessageExterne[2]..Visible=Faux +LIB_InfoMessageExterne..Visible=Vrai +sinon +//DISP_MessageExterne[2]..Visible=Vrai +LIB_InfoMessageExterne..Visible=Vrai +si TABLE_MessageExterne..Occurrence>1 alors +LIB_InfoMessageExterne="Vous avez "+TABLE_MessageExterne..Occurrence+" messages externes" +sinon +LIB_InfoMessageInterne="Vous avez "+TABLE_MessageExterne..Occurrence+" message externe" +fin +TableSelectPlus(TABLE_MessageExterne,1) +fin +Procédure locale Init_NoteAdministratives +06/08/2026 Isis_BO 3393 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +procédure Init_NoteAdministratives() +sInitialeAuteur est une chaîne +sFormatedate est une chaîne +si gclPresentationFicheInterv.ListeMessageInterneAdmin = Null alors +retour +fin +si gclPresentationFicheInterv.ListeMessageInterneAdmin.m_clTabModele..Occurrence=0 alors +DISP_NoteAdmin[3]..Visible = Faux +LIB_InfoMessageAdmin= "Aucun message administrative pour cette intervention" +sinon +ZoneRépétéeSupprimeTout(ZR_Message_Admin) +DISP_NoteAdmin[3]..Visible = Vrai +pour i= 1 _à_ gclPresentationFicheInterv.ListeMessageInterneAdmin.m_clTabModele..Occurrence +sInitialeAuteur = gclPresentationFicheInterv.ListeMessageInterneAdmin.m_clTabModele[i].m_cl +Collaborateur.NomPrenom +sFormatedate = DateVersChaîne(gclPresentationFicheInterv.ListeMessageInterneAdmin.m_clTabModele +[i].m_dhCreationDate,"Le JJ/MM/AAAA à HH:mm") +ZoneRépétéeAjouteLigne(ZR_Message_Admin,sInitialeAuteur,gclPresentationFicheInterv. +ListeMessageInterneAdmin.m_clTabModele[i].m_sMessage,sFormatedate,gclPresentationFicheInterv. +ListeMessageInterneAdmin.m_clTabModele[i].m_nPKID,gclPresentationFicheInterv. +ListeMessageInterneAdmin.m_clTabModele[i].m_sMessage,Vrai) +fin +si ZR_Message_Admin..Occurrence>1 alors +LIB_InfoMessageAdmin = "Vous avez "+ZR_Message_Admin..Occurrence+ +" messages internes administratives" +sinon +LIB_InfoMessageAdmin = "Vous avez "+ZR_Message_Admin..Occurrence+ +" message interne administrative" +fin +ZoneRépétéeTrie("-ATT_IDMessageAd") +fin +//SI ZR_Message_Admin..Occurrence=0 ALORS +// DISP_NoteAdmin[2]..Visible=Vrai +//SINON +// DISP_NoteAdmin[2]..Visible=Faux +//FIN +Procédure locale Init_NoteInterne +//Résumé : +// Syntaxe : +// Init_NoteInterne () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Init_NoteInterne() +sInitialeAuteur est une chaîne +sFormatedate est une chaîne +si gclPresentationFicheInterv.ListeMessageInterne.m_clTabModele..Occurrence=0 alors +DISP_NoteInterne[3]..Visible=Faux +LIB_InfoMessageInterne = "Aucun message interne pour cette intervention" +sinon +06/08/2026 Isis_BO 3394 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +ZoneRépétéeSupprimeTout(ZR_Message_Interne) +DISP_NoteInterne[3]..Visible=Vrai +pour i= 1 _à_ gclPresentationFicheInterv.ListeMessageInterne.m_clTabModele..Occurrence +// +sInitialeAuteur=Gauche(gclPresentationFicheInterv.ListeMessageInterne.m_clTabModele[i].m_clCollaborateu +r.m_sPrenom,1)+Gauche(gclPresentationFicheInterv.ListeMessageInterne.m_clTabModele[i].m_clCollaborateur +.m_sNom,1) +// si sInitialeAuteur="" alors +// +sInitialeAuteur=Gauche(gpclFicheUtilisateurEnCours.FicheCollaborateur.m_sPrenom,1)+Gauche(gpclFicheUtil +isateurEnCours.FicheCollaborateur.m_sNom,1) +// FIN +sInitialeAuteur = gclPresentationFicheInterv.ListeMessageInterne.m_clTabModele[i].m_cl +Collaborateur.NomPrenom +sFormatedate=DateVersChaîne(gclPresentationFicheInterv.ListeMessageInterne.m_clTabModele[i]. +m_dhCreationDate,"Le JJ/MM/AAAA à HH:mm") +ZoneRépétéeAjouteLigne(ZR_Message_Interne,sInitialeAuteur,gclPresentationFicheInterv. +ListeMessageInterne.m_clTabModele[i].m_sMessage,sFormatedate,gclPresentationFicheInterv. +ListeMessageInterne.m_clTabModele[i].m_nPKID,gclPresentationFicheInterv.ListeMessageInterne. +m_clTabModele[i].m_sMessage,Vrai) +fin +si ZR_Message_Interne..Occurrence>1 alors +LIB_InfoMessageInterne="Vous avez "+ZR_Message_Interne..Occurrence+" messages internes" +sinon +LIB_InfoMessageInterne="Vous avez "+ZR_Message_Interne..Occurrence+" message interne" +fin +ZoneRépétéeTrie("-ATT_IDMessage") +fin +//si ZR_Message_Interne..occurrence=0 alors +// DISP_NoteInterne[2]..Visible=vrai +//sinon +// DISP_NoteInterne[2]..Visible=faux +//FIN +Procédure locale InitFiche +// Résumé : +// Syntaxe : +//InitFiche ( [ est PFicheIntervention dynamique [, est +STParamFenetreAppelante]]) +// +// Paramètres : +// gclFicheInterv (PFicheIntervention dynamique - valeur par défaut=0) : < +indiquez ici le rôle de gclFicheInterv> +// paramFiche (STParamFenetreAppelante - valeur par défaut=0) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure InitFiche(gclFicheInterv est PFicheIntervention dynamique=Null,paramFiche est un +STParamFenetreAppelante=Null) +si gclFicheInterv<>Null alors +gclPresentationFicheInterv<-gclFicheInterv +paramSupplementaire=paramFiche +Evénement(TriColonne,"TABLE_INTERLOCUTEUR_CLIENT",1529) +Evénement(TriColonne,"TABLE_INTERLOCUTEUR_LIEU",1529) +06/08/2026 Isis_BO 3395 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +Evénement(TriColonne,"TABLE_ACTION",1529) +Evénement(TriColonne,"TABLE_COMPTERENDU",1529) +Evénement(TriColonne,"TABLE_DOCUMENTS",1529) +Evénement(TriColonne,"TABLE_HISTO_ETAT",1529) +Evénement(TriColonne,"TABLE_MessageExterne",1529) +// Evénement(TriColonne,"TABLE_RENDEZVOUS",1529) +ActiveSurveillance() +ExplorerAccepte(Vrai, "") +// Déclaration de l'événement +Evénement(DropDepuisExplorateur, ".*", 563) +//ReorganiseChampDispoDansFiche1(GR_ALAPLACECFI_INTERV,CFI_SOUS_INTERV,GR_IMAGE_OPAQUE_FICHE_INTERV +ENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Faux,50) +gCouleurFondEntete = SC_TETE_INTERV..CouleurFond +//Plan 1 pour voir la liste des rendez-vous +MoiMême..Plan = 1 +//Image de prévisualisation à vide par défaut +IMG_Previsu="" +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentationFicheInterv=Null alors gclPresentationFicheInterv=PFicheIntervention. +gNouvellePresentation() +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.sNomIDAppelant<>"" alors +selon paramSupplementaire.sNomIDAppelant +cas "DossierInterImmediat" : +gbChargementImmediat = Vrai +cas "DossierInterDifféré" +gbChargementImmediat = Faux +fin +fin +si gbChargementImmediat alors +//EnregistrerFiche() +ChargeLesElementsIntervention() +//BloqueEnregistrement(gclPresentationFicheInterv,FermeCadenas) +BlocEnregistrement(gclPresentationFicheInterv,ActiveTimer,BTN_CADENAS_FERME_INTERV,BTN_ +CADENAS_OUVERT_INTERV,GR_CADENAS_INTERV,D_FIC_INTERV) +clTabIntervention est un MTableauDeIntervention +clListeInterv est un PTableIntervention dynamique +si pas paramSupplementaire.pclObjetAppelant:bEstNulleListeIntervention alors +clTabIntervention <-paramSupplementaire.pclObjetAppelant:ListeIntervention: +p_clTableauModele +si clTabIntervention<>Null alors +clListeInterv = PTableIntervention.gNouvellePresentation(4,clTabIntervention) +fin +fin +si clListeInterv<>Null alors +pour i = 1 _à_ clListeInterv:p_nTotal +si clListeInterv:m_clTabModele[i]:m_nPKID=gclPresentationFicheInterv:m_nPKID alors +clListeInterv:p_clCourant = clListeInterv:m_clTabModele[i] +nIndice est un entier = TableauCherche(paramSupplementaire.pclObjetAppelant: +ListeIntervention:m_clTableauModele:m_clTabModele,tcLinéaire,"m_nPKID", +gclPresentationFicheInterv:m_nPKID,1) +si nIndice>0 alors +paramSupplementaire.pclObjetAppelant:ListeIntervention:p_clCourant = +paramSupplementaire.pclObjetAppelant:ListeIntervention:m_clTableauModele: +m_clTabModele[nIndice] +fin +break +fin +06/08/2026 Isis_BO 3396 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +fin +fin +//PoseUnVerrouSiInexistant() +fin +AffecteVariable() +si gclPresentationFicheInterv.ListeDocument<>Null _et_ gclPresentationFicheInterv.ListeDocument. +m_clTabModele.Occurrence()<>0 alors +si gclPresentationFicheInterv.ListeDocument.m_clTabModele[1].m_nPKID=0 alors +TableauSupprimeTout(gclPresentationFicheInterv.ListeDocument.m_clTabModele) +fin +fin +//En commentaire car il faut repenser le hsurveille au niveau global +////Surveillance du fichiers des rendez-vous pour rafraichissement de ces éléments dans +l'intervention +//SI HSurveille(Planning_RDV,MAJHSurveilleRdv,hNumEnrTous,hsAjout+hsModification)= Faux ALORS +// Erreur("Impossible d'activer la surveillance : ", HErreurInfo()) +//FIN +////Surveillance du fichiers des documents pour rafraichissement de ces éléments dans +l'intervention +//SI HSurveille(Document,MAJHSurveilleDoc,hNumEnrTous,hsAjout+hsModification)= Faux ALORS +// Erreur("Impossible d'activer la surveillance : ", HErreurInfo()) +//FIN +////Surveillance du fichiers des compte-rendu pour rafraichissement de ces éléments dans +l'intervention +//SI HSurveille(CompteRendu,MAJHSurveilleCR,hNumEnrTous,hsAjout+hsModification)= Faux ALORS +// Erreur("Impossible d'activer la surveillance : ", HErreurInfo()) +//FIN +////Surveillance du fichiers des note interne pour rafraichissement de ces éléments dans +l'intervention +//SI HSurveille(MessageInterne,MAJHSurveillenote,hNumEnrTous,hsAjout+hsModification)= Faux ALORS +// Erreur("Impossible d'activer la surveillance : ", HErreurInfo()) +//FIN +FinInitialisation() +//Trace(DateHeureSys()+" :Fin d'initialisation de la fiche intervention") +// +TableAjouteLigne(TABLE_CHECKLIST1,"","CheckList A","Pierre MACHIN",ChaîneVersDate("08/10/2020 à +14h30","JJ/MM/AAAA à HHhmm")) +// +TableAjouteLigne(TABLE_CHECKLIST1,"","CheckList A","Paul TRUCMUCHE",ChaîneVersDate("08/10/2020 à +14h30","JJ/MM/AAAA à HHhmm")) +// +TableAjouteLigne(TABLE_CHECKLIST1,"","CheckList B","Pierre MACHIN",ChaîneVersDate("10/10/2020 à +15h00","JJ/MM/AAAA à HHhmm")) +// +TableAjouteLigne(TABLE_CHECKLIST1,"","CheckList C","Pierre MACHIN",ChaîneVersDate("10/10/2020 à +15h00","JJ/MM/AAAA à HHhmm")) +// +TableAjouteLigne(TABLE_CHECKLIST1,"","CheckList B","Paul TRUCMUCHE",ChaîneVersDate("10/10/2020 à +15h00","JJ/MM/AAAA à HHhmm")) +// +TableAjouteLigne(TABLE_CHECKLIST1,"","CheckList B","Jacques BIDULE",ChaîneVersDate("10/10/2020 à +15h00","JJ/MM/AAAA à HHhmm")) +// +06/08/2026 Isis_BO 3397 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +TableAjouteLigne(TABLE_CHECKLIST1,"","CheckList D","Paul TRUCMUCHE",ChaîneVersDate("20/10/2020 à +13h00","JJ/MM/AAAA à HHhmm")) +// +TableAjouteLigne(TABLE_CHECKLIST1,"","CheckList D","Jacques BIDULE",ChaîneVersDate("20/10/2020 à +13h00","JJ/MM/AAAA à HHhmm")) +fin +DemandeMiseAJourUIParent() +Procédure locale MaJAffichageOngletInfoSupp +procédure MaJAffichageOngletInfoSupp() +selon ONG_COMPL_INTERV +cas ONG_COMPL_INTERV.SVT : // +cas ONG_COMPL_INTERV.Action : +//Recherche des Actions +si gclPresentationFicheInterv.ListeAction <> Null alors +si gclPresentationFicheInterv.ListeAction.p_nTotal <= 0 alors +PFicheIntervention.gListeAction(gclPresentationFicheInterv) +fin +sinon +PFicheIntervention.gListeAction(gclPresentationFicheInterv) +fin +MAJchampTable(TABLE_ACTION) +cas ONG_COMPL_INTERV.Doc : +//Recherche des documents +si gclPresentationFicheInterv.ListeDocument <> Null alors +si gclPresentationFicheInterv.ListeDocument.p_nTotal <= 0 alors +PFicheIntervention.gListeDocumentSimple(gclPresentationFicheInterv) +fin +sinon +PFicheIntervention.gListeDocumentSimple(gclPresentationFicheInterv) +fin +MAJchampTable(TABLE_DOCUMENTS) +si TABLE_DOCUMENTS..Occurrence<>0 alors +TableSelectPlus(TABLE_DOCUMENTS,1) +ExécuteTraitement(TABLE_DOCUMENTS,trtSélection) +fin +cas ONG_COMPL_INTERV.MsgExt : +//Recherche des Messages Externe +si gclPresentationFicheInterv.ListeMessageExterne <> Null alors +si gclPresentationFicheInterv.ListeMessageExterne.p_nTotal <= 0 alors +PFicheIntervention.gListeMessageExterne(gclPresentationFicheInterv) +fin +sinon +PFicheIntervention.gListeMessageExterne(gclPresentationFicheInterv) +fin +MAJchampTable(TABLE_MessageExterne) +Init_MessageExterne() +BTN_ENV_MESS_EXT..Visible=Vrai +cas ONG_COMPL_INTERV.NoteInterne : +//Recherche des Messages Internes +si gclPresentationFicheInterv.ListeMessageInterne <> Null alors +si gclPresentationFicheInterv.ListeMessageInterne.p_nTotal <= 0 alors +PFicheIntervention.gListeMessageInterne(gclPresentationFicheInterv) +fin +sinon +06/08/2026 Isis_BO 3398 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +PFicheIntervention.gListeMessageInterne(gclPresentationFicheInterv) +fin +Init_NoteInterne() +cas ONG_COMPL_INTERV.NoteAdmin : +//Recherche des Messages Internes administratives +si gclPresentationFicheInterv.ListeMessageInterneAdmin <> Null alors +si gclPresentationFicheInterv.ListeMessageInterneAdmin.p_nTotal <= 0 alors +PFicheIntervention.gListeMessageAdministratives(gclPresentationFicheInterv) +fin +sinon +PFicheIntervention.gListeMessageAdministratives(gclPresentationFicheInterv) +fin +Init_NoteAdministratives() +cas ONG_COMPL_INTERV.CR : +//Recherche des Compte-rendus +si gclPresentationFicheInterv.ListeCompteRendu<> Null alors +si gclPresentationFicheInterv.ListeCompteRendu.p_nTotal <= 0 alors +PFicheIntervention.gListeCompteRendu(gclPresentationFicheInterv) +fin +sinon +PFicheIntervention.gListeCompteRendu(gclPresentationFicheInterv) +fin +MAJchampTable(TABLE_COMPTERENDU) +cas ONG_COMPL_INTERV.Rapport : +//Recherche des rapports +si gclPresentationFicheInterv.ListeRapport <> Null alors +si gclPresentationFicheInterv.ListeRapport.p_nTotal <= 0 alors +PFicheIntervention.gListeRapport(gclPresentationFicheInterv) +fin +sinon +PFicheIntervention.gListeRapport(gclPresentationFicheInterv) +fin +MAJchampTable(TABLE_RAPPORT) +pour i = 1 _à_ TABLE_RAPPORT..Occurrence +clModele est un MDocument =TABLE_RAPPORT[i] +TABLE_RAPPORT[i].BTN_ETAT..Image = clModele:ImageEtatDocument +fin +autre cas : +fin +Procédure locale MAJObjetRetourFI +// Résumé : +// Syntaxe : +//[ = ] MAJObjetRetourFI ([...]) +// +// Paramètres : +// <*> : > +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sContexte (chaîne ANSI) : +// pclObjet (objet dynamique) : +06/08/2026 Isis_BO 3399 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +// <*> : > +// <*> : > +// <*> : > +// <*> : > +// <*> : > +// <*> : > +// <*> : > +procédure MAJObjetRetourFI(*) +bResultat est un booléen=Vrai +nMode est un entier +sNomChamp est une chaîne +pclObjet est un objet dynamique +bReorga est un booléen=Vrai +bBloc est un booléen=Faux +clErreur est un CErreur +sValeur est une chaîne +si MesParamètres..Occurrence>0 alors +nMode = MesParamètres[1] +fin +selon nMode +cas 1 : +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 2 +bReorga = Faux +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 3 +bReorga = Faux +bBloc = Vrai +cas 4 : +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +sValeur = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon "" +fin +si bReorga alors +//ReorganiseChampDispoDansFiche(D_COL_FIC_INTERV,D_ENTETE_PERS_SITE,CFI_SOUS_INTERV,GR_IMAGE_OPAQUE +_FICHE_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Faux,50,2,3) +ReorganiseChampDispoDansFiche1(GR_ALAPLACECFI_INTERV,CFI_SOUS_INTERV,GR_ +IMAGE_OPAQUE_FICHE_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Faux,50) +fin +//L'enregistrement est bloqué et un IDTimer existe bien +si gclPresentationFicheInterv:m_bBlocageEcriture _et_ gclPresentationFicheInterv:m_nIDTimer>0 alors +//La fenêtre n'est plus en arrière plan +si bReorga alors +//Reactivation du Timer +TimerSys(TimeOutIntervention,100,gclPresentationFicheInterv:m_nIDTimer) +sinon //La fenêtre est en arrière plan +//Débloque l'enregistrement +DeblocEnregistrement(gclPresentationFicheInterv,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_INTERV,BTN_CADENAS_OUVERT_INTERV,GR_CADENAS_INTERV,D_FIC_INTERV,Faux) +fin +//Une demande de blocage a été demandée par une fenetre fille et l'enregistrement n'est pas bloqué +sinon si bBloc _et_ pas gclPresentationFicheInterv:m_bBlocageEcriture alors +//Tentative de blocage +bResultat= (1=BlocEnregistrement(gclPresentationFicheInterv,ActiveTimer,BTN_CADENAS_FERME_INTERV, +BTN_CADENAS_OUVERT_INTERV,GR_CADENAS_INTERV,D_FIC_INTERV)) +SC_TETE_INTERV..CouleurFond = BTN_CADENAS_FERME_INTERV..Visible ? Noir sinon gCouleurFondEntete +fin +06/08/2026 Isis_BO 3400 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +si pclObjet<>Null alors +//*******************************MISE A JOUR DE +L'OBJET********************************************************* +selon sNomChamp +cas BTN_ADD_PERS_CLI_INTERV..Nom,BTN_LOUPE_PERS_CLI_INTERV..Nom +PFicheIntervention.gListeContactClient(gclPresentationFicheInterv,pclObjet) +EnregistrerFiche() +cas BTN_EDT_PERS_CLI_INTERV..Nom +gclPresentationFicheInterv:ListeContactClient:p_clCourant:m_clContact = pclObjet: +p_clCourant +gclPresentationFicheInterv:ListeContactClient:Modifier().bok(clErreur) +// clFicheIntervPers est un PFicheIntervention_Personne dynamique +// clFicheIntervPers <- gclPresentationFicheInterv:ListeContactClient:Modifier() +// clFicheIntervPers.bOK(clErreur)//clFicheIntervPers.bOK(clErreur,Vrai,Vrai) +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +cas BTN_LOUPE_SITE..Nom,BTN_ADD_SITE..Nom,BTN_EDT_SITE..Nom,SAI_CodeLieu..Nom +nPKIDActuel est un entier sur 8 octets = gclPresentationFicheInterv:m_nIDLieu +bReponseQuestion est un booléen +si Contient(DonneFormatRepertoireDoc(),"#[LI_PKID]") alors +//Avant de mettre a jour le site car apres le ancien chemin n'est pas trouvé +si gclPresentationFicheInterv.ListeDocument = Null alors PFicheIntervention. +gListeDocument(gclPresentationFicheInterv) +fin +PFicheIntervention.gFicheLieu(gclPresentationFicheInterv,pclObjet,*,Vrai,*,Vrai) +//Contrôle la nécessité de déplacer des documents +si ControlePresenceLieuDansDoc(nPKIDActuel,gclPresentationFicheInterv:m_nIDLieu) alors +TraitementDocSurChangementSite(nPKIDActuel,SAI_CodeLieu,bReponseQuestion) +fin +EnregistrerFiche() +cas BTN_LOUPE_PERS_SITE..Nom,SAI_CodeContact..Nom +PFicheIntervention.gListeContactLieu(gclPresentationFicheInterv,pclObjet) +EnregistrerFiche() +cas BTN_ADD_PERS_SITE..Nom +gclPresentationFicheInterv:FicheLieu:ListeContact:Ajouter(pclObjet:ListeLieu:p_clCourant) +PFicheIntervention.gListeContactLieu(gclPresentationFicheInterv,pclObjet:p_clCourant) +nIndiceLP est un entier = TableauCherche(gclPresentationFicheInterv:ListeContactLieu: +m_clTabModele,tcLinéaire,"m_nIDPersonne",pclObjet:p_clCourant:m_nPKID) +si nIndiceLP>0 alors +gclPresentationFicheInterv:ListeContactLieu:m_clTabModele[nIndiceLP]:m_clContact += pclObjet:p_clCourant +gclPresentationFicheInterv:ListeContactLieu:m_clTabModele[nIndiceLP]:m_clLieuPersonne += pclObjet:ListeLieu:p_clCourant +gclPresentationFicheInterv:ListeContactLieu:m_clTabModele[nIndiceLP]:m_sEtage += pclObjet:ListeLieu:p_clCourant:m_sEtage +gclPresentationFicheInterv:ListeContactLieu:m_clTabModele[nIndiceLP]:m_sLot += pclObjet:ListeLieu:p_clCourant:m_sLot +fin +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +cas BTN_EDT_PERS_SITE..Nom +nIndice est un entier = TableauCherche(pclObjet:ListeLieu.m_clTabModele,tcLinéaire, +06/08/2026 Isis_BO 3401 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +"m_nIDLieu",gclPresentationFicheInterv:FicheLieu:m_nPKID,1) +si nIndice >0 alors +//clErreur est un CErreur +gclPresentationFicheInterv:ListeContactLieu:p_clCourant:m_clContact = pclObjet: +p_clCourant +gclPresentationFicheInterv:ListeContactLieu:p_clCourant:m_sEtage = pclObjet: +ListeLieu.m_clTabModele[nIndice]:m_sEtage +gclPresentationFicheInterv:ListeContactLieu:p_clCourant:m_sLot = pclObjet: +ListeLieu.m_clTabModele[nIndice]:m_sLot +clFicheIntervPers est un PFicheIntervention_Personne dynamique +clFicheIntervPers <- gclPresentationFicheInterv:ListeContactLieu:Modifier() +clFicheIntervPers.bok(clErreur,Vrai)//clFicheIntervPers.bok(clErreur,Vrai,Vrai) +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +fin +cas BTN_EDT_DOC..Nom : DemandeMiseAJourIHM();DemandeMiseAJourUIParent() +cas BTN_ADD_MESS_EXT..Nom,TABLE_MessageExterne..Nom,BTN_ENV_MESS_EXT..Nom: +PFicheIntervention.gListeMessageExterne(gclPresentationFicheInterv) +PFicheIntervention.gListeAction(gclPresentationFicheInterv) +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +cas BTN_GALERIE_DOC..Nom : +sListeFichier est une chaîne +//Boucle sur l'ensemble des documents accessible +pour i = 1 _à_ pclObjet.m_clTabModele.Occurrence() +//Le document est séléctionné +si pclObjet.m_clTabModele[i].m_bSelection alors +sListeFichier+=[";"]+pclObjet.m_clTabModele[i]:m_sCheminFichier +fin +fin +sCodeModelMail est une chaîne=pclObjet:p_Param +selon (gpclFichePrefMessagerie<>Null ? gpclFichePrefMessagerie:m_sValeur sinon "") +cas "Externe" +si pas gclPresentationFicheInterv:m_bVerificationDoc alors +//Recherche des documents +PFicheIntervention.gListeDocument(gclPresentationFicheInterv) +sinon +//Il se peut que la liste des document ne soit pas chargées à cause du +chargement différé +si gclPresentationFicheInterv.ListeDocument = Null alors PFicheIntervention. +gListeDocument(gclPresentationFicheInterv) +fin +//Il se peut que la liste des messages externes ne soit pas chargées à cause du +chargement différé +si gclPresentationFicheInterv.ListeMessageExterne = Null alors PFicheIntervention. +gListeMessageExterne(gclPresentationFicheInterv) +//Il se peut que la liste des compte-renuds +ne soit pas chargées à cause du chargement différé +si gclPresentationFicheInterv.ListeCompteRendu = Null alors PFicheIntervention. +gListeCompteRendu(gclPresentationFicheInterv) +sCorps est une chaîne +sObjet est une chaîne +tabMC est un tableau de ST_MotCle +nIndiceMotCle est un entier +sMailContactsDestest une chaîne +stListeDonnees est un tableau dynamique +//Récupération des emails des contacts potentiels +06/08/2026 Isis_BO 3402 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +sMailContactsDest = RecupMailContacts() +(sCorps,sObjet,tabMC)= ChargeModeleDeMail(sCodeModelMail) +nIndiceMotCle = TableauCherche(tabMC,tcLinéaire,"bPresent;bTableau",1, +1,1) +si nIndiceMotCle>0 alors +stListeDonnees = OuvrePopupPosition(FEN_Choix_ElementModeleMail, +poSelonChamp+poHaut,BTN_GALERIE_DOC,gclPresentationFicheInterv,tabMC) +fin +(sCorps,sObjet) = DonneValeursMotsCleEtRemplace(tabMC, +gclPresentationFicheInterv,sObjet,sCorps,stListeDonnees) +PrepareEmailOutlook(sMailContactsDest,sObjet,sCorps,sListeFichier,Vrai) +//SI LanceAppliAssociée(ChaîneConstruit("mailto:%1 ?subject +=%2 &HTMLBody=%3",sMailContactsDest,sObjet,URLEncode(sCorps)))=Vrai ALORS +si Dialogue( +"Envoi en cours d'un message depuis votre messagerie externe, souhaitez-vous créer +un message externe pour cet envoi ?" +)=1 alors +//AppelSousFenetre(BTN_ENV_MESS_EXT..Nom,sCodeModelMail) +CreationMessageExterneApresOutlook(sMailContactsDest,sObjet,sCorps,BTN_ +ADD_MESS_EXT..Nom,sListeFichier) +fin +// SINON +// +Erreur("Une erreur s'est produite lors de l'ouverture de votre messagerie +externe") +// FIN +cas "Back-Office" : AppelSousFenetre(BTN_ENV_MESS_EXT..Nom,sCodeModelMail, +sListeFichier) +fin +cas BTN_ENV_MESS_EXT..Nom+"_MODELE" : +selon (gpclFichePrefMessagerie<>Null ? gpclFichePrefMessagerie:m_sValeur sinon "") +cas "Externe" +si pas gclPresentationFicheInterv:m_bVerificationDoc alors +//Recherche des documents +PFicheIntervention.gListeDocument(gclPresentationFicheInterv) +sinon +//Il se peut que la liste des document ne soit pas chargées à cause du +chargement différé +si gclPresentationFicheInterv.ListeDocument = Null alors PFicheIntervention. +gListeDocument(gclPresentationFicheInterv) +fin +//Il se peut que la liste des messages externes ne soit pas chargées à cause du +chargement différé +si gclPresentationFicheInterv.ListeMessageExterne = Null alors PFicheIntervention. +gListeMessageExterne(gclPresentationFicheInterv) +//Il se peut que la liste des compte-renuds +ne soit pas chargées à cause du chargement différé +si gclPresentationFicheInterv.ListeCompteRendu = Null alors PFicheIntervention. +gListeCompteRendu(gclPresentationFicheInterv) +sCorps est une chaîne +sObjet est une chaîne +06/08/2026 Isis_BO 3403 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +tabMC est un tableau de ST_MotCle +sMailContactsDestest une chaîne +nIndiceMotCle est un entier +stListeDonnees est un tableau dynamique +//Récupération des emails des contacts potentiels +sMailContactsDest = RecupMailContacts() +(sCorps,sObjet,tabMC) = ChargeModeleDeMail(pclObjet:p_clCourant:m_sCode) +nIndiceMotCle = TableauCherche(tabMC,tcLinéaire,"bPresent;bTableau",1, +1,1) +si nIndiceMotCle>0 alors +stListeDonnees = OuvrePopupPosition(FEN_Choix_ElementModeleMail, +poSelonChamp+poHaut,BTN_ENV_MESS_EXT,gclPresentationFicheInterv,tabMC) +fin +(sCorps,sObjet) = DonneValeursMotsCleEtRemplace(tabMC, +gclPresentationFicheInterv,sObjet,sCorps,stListeDonnees) +PrepareEmailOutlook(sMailContactsDest,sObjet,sCorps,"",Vrai) +//SI LanceAppliAssociée(ChaîneConstruit("mailto:%1 ?subject +=%2 &HTMLBody=%3",sMailContactsDest,sObjet,URLEncode(sCorps)))=Vrai ALORS +si Dialogue( +"Envoi en cours d'un message depuis votre messagerie externe, souhaitez-vous +créer un message externe pour cet envoi ?" +)=1 alors +//AppelSousFenetre(BTN_ENV_MESS_EXT..Nom,pclObjet:p_clCourant:m_sCode) +CreationMessageExterneApresOutlook(sMailContactsDest,sObjet,sCorps, +sNomChamp,"") +fin +// SINON +// +Erreur("Une erreur s'est produite lors de l'ouverture de votre messagerie externe") +// FIN +cas "Back-Office" : AppelSousFenetre(BTN_ENV_MESS_EXT..Nom,pclObjet:p_clCourant: +m_sCode) +fin +cas "BTN_Transfert" +PFicheIntervention.gListeMessageExterne(gclPresentationFicheInterv) +PFicheIntervention.gListeAction(gclPresentationFicheInterv) +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +TransferEmail(pclObjet) +// CAS BTN_COLLAB..Nom +// SI PFicheIntervention.gListeCollaborateur(gclPresentationFicheInterv,pclObjet) ALORS +// DemandeMiseAJourIHM() +// DemandeMiseAJourUIParent() +// FIN +// bAppelMAJ est un booléen +// clListCollab est un PTableCollaborateur <-pclObjet +// POUR i = 1 _A_ clListCollab.m_clTabModele.Occurrence() +// +// +nIndice est un entier = +TableauCherche(gclPresentationFicheInterv.ListeCollaborateur.m_clTabModele,tcLinéaire,"m_nIDCollaborate +ur",clListCollab.m_clTabModele[i].m_nPKID,1) +// SI nIndice=-1 _ET_ clListCollab.m_clTabModele[i].m_bSelection ALORS +// //clErreur est un cerreur +// +clFicheIC est un PFicheIntervention_Collaborateur <- +gclPresentationFicheInterv.ListeCollaborateur.Nouveau(Vrai, +gclPresentationFicheInterv.IdentifiantUnique) +06/08/2026 Isis_BO 3404 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +// clFicheIC.m_bNouveau=Vrai +// clFicheIC.m_nIDCollaborateur= clListCollab.m_clTabModele[i].m_nPKID +// clFicheIC.m_clCollaborateur = clListCollab.m_clTabModele[i] +// clFicheIC.m_clCollaborateur.InitListeEquipe() +// SI PAS clFicheIC.bOK(clErreur) ALORS +// Erreur(clErreur.FormateMessage()) +// FIN +// //clFicheIC.AppelProcValidation(2) +// bAppelMAJ = vrai +// SINON SI nIndice>0 _ET_ PAS clListCollab.m_clTabModele[i].m_bSelection ALORS +// //clErreur est un cerreur +// +gclPresentationFicheInterv.ListeCollaborateur.p_clCourant = +gclPresentationFicheInterv.ListeCollaborateur.m_clTabModele[nIndice] +// SI PAS gclPresentationFicheInterv.ListeCollaborateur.bSupprimer(clErreur) ALORS +// Erreur(clErreur.FormateMessage()) +// SINON +// bAppelMAJ = vrai +// +// FIN +// +//// +gclPresentationFicheInterv.ListeCollaborateur:m_clTabModele[nIndice].bEnregistrer(clErreur) +//// +TableauSupprimeLigne(gclPresentationFicheInterv.ListeCollaborateur:m_clTabModele,nIndice) +// FIN +// FIN +// SI bAppelMAJ ALORS DemandeMiseAJourIHM() +cas COMBO_SuiviPar..Nom +COMBO_SuiviPar = pclObjet:m_nPKID +ListeAffiche(COMBO_SuiviPar,taCourantBandeau) +cas BTN_IMPR_INTERV..Nom : ImpressionFicheIntervention(pclObjet.m_sValeur) +cas BTN_IMPR_RDV..Nom : ImpressionFicheDeplacement(pclObjet.m_sValeur) +//FEN_Menu.ImpressionFicheDeplacement(pclObjet.m_sValeur,gclPresentationFicheInterv) +cas BTN_ADD_RAPPORT..Nom +//stParam est un STParamFenetreAppelante = +DonneParam(DansOnglet,"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJObjetRetourFI,"Nouveau +rapport","InterventionAddRapport",pclObjet:m_nPKID,*)//gclPresentationFicheInterv +//FEN_Menu.OuvreOuActive(FI_Rapport_Intervention,"Rapport",faux,gclPresentationFicheInterv +,stParam) +nIndiceTab est un entier = TableauCherche(gpclListeModelRapportInterv:m_clTabModele, +tcLinéaire,"m_nPKID",pclObjet:m_nPKID,1) +si nIndiceTab alors +sCheminFichierModel est une chaîne = gpclListeParamAppli:m_clTabModele[ +"CHEMIN_REPERTOIRE_MODELE_RAPPORT"]:m_sValeur+"\"+gpclListeModelRapportInterv: +m_clTabModele[nIndiceTab]:m_sParametre +sNewFichier est une chaîne = fExtraitChemin(sCheminFichierModel,fDisque+fRépertoire+ +fFichier)+"_"+DateVersChaîne(DateHeureSys(),"AAAAMMJJ HHmm")+fExtraitChemin( +sCheminFichierModel,fExtension) +sMSG est une chaîne +si pas fFichierExiste(sCheminFichierModel) alors +Erreur(ChaîneConstruit("Le modèle %1 n'existe pas dans %2",fExtraitChemin( +sCheminFichierModel,fFichier),fExtraitChemin(sCheminFichierModel,fDisque+ +fRépertoire))) +sinon si pas fCopieFichier(sCheminFichierModel,sNewFichier ) alors +Erreur(ChaîneConstruit("Le fichier temporaire %1 ne peut pas être créé", +sNewFichier)) +sinon si pas AjouteFichier(sNewFichier,3,gclPresentationFicheInterv,sMSG) alors +Erreur(sMSG) +06/08/2026 Isis_BO 3405 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +sinon +//Recherche des rapports +PFicheIntervention.gListeRapport(gclPresentationFicheInterv) +MAJchampTable(TABLE_RAPPORT) +si gclPresentationFicheInterv:ListeRapport:m_clTabModele[ +gclPresentationFicheInterv:ListeRapport:p_nTotal]:m_sCheminFichier<>"" alors +OuvreSoeur(FEN_ChoixFenetreInterne,"FI_Rapport_Intervention",DonneParam( +DansFenetre,"FI_Fiche_Intervention",MoiMême..Nom,*,"","InterventionAddRapport",*, +gclPresentationFicheInterv,Faux)) +fSupprime(sNewFichier) +fin +fin +fin +autre cas +si Contient(sNomChamp,"Doc_PJ",MotComplet)=Vrai alors +paramSupplementaire.sContexteAppelant=MesParamètres..Occurrence>=2 ? MesParamètres[2] +sinon "" +sinon +paramSupplementaire.sContexteAppelant="" +fin +fin +//EnregistreFiche() +sinon +selon sNomChamp +cas BTN_EDT_DOC..Nom +PFicheIntervention.gListeDocumentSimple(gclPresentationFicheInterv) +//gpclPresenListeDocument<- gclPresentationFicheInterv.ListeDocument +IMG_Previsu="" +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +cas "BTN_ADD_MODELE_RAPPORT" +//stParam est un STParamFenetreAppelante = +DonneParam(DansOnglet,"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJObjetRetourFI,"Créatio +n d'un modèle","InterventionAddModeleRapport")//gclPresentationFicheInterv +//FEN_Menu.OuvreOuActive(FI_Rapport_Intervention,"Rapport",Faux,gclPresentationFicheInterv +,stParam) +OuvreSoeur(FEN_ChoixFenetreInterne,"FI_Rapport_Intervention",DonneParam(DansFenetre, +"FI_Fiche_Intervention",MoiMême..Nom,*,"Création d'un modèle", +"InterventionAddModeleRapport",*,gclPresentationFicheInterv,Faux)) +fin +fin +renvoyer bResultat +//GESTION DE L'APRES +//GestionEnchainement(sContexte) +Procédure locale MiseAJourAffichage +procédure MiseAJourAffichage() +si gclPresentationFicheInterv<>Null _et_ gclPresentationFicheInterv est PFicheIntervention _et_ gb +ChargementImmediat alors +//Trie l'objet lié au champ TABLE selon le trie effectuée sur ce champ +//TrieObjetChampTableSiBesoin(gclPresentationFicheInterv.ListeMessageExterne,TABLE_MessageExterne,g +sTriEnCoursMessageExterne) +SourceVersEcran("","gclPresentationFicheInterv") +//SourceVersEcran("","gpclPresenListeMessageExterne") +//MAJ du champ TABLE et de l'objet Contact Client +06/08/2026 Isis_BO 3406 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +MAJChampTableEtObjet(TABLE_INTERLOCUTEUR_CLIENT,gclPresentationFicheInterv:ListeContactClient: +p_clCourant) +//MAJ du champ TABLE et de l'objet Contact Lieu +MAJChampTableEtObjet(TABLE_INTERLOCUTEUR_LIEU,gclPresentationFicheInterv.ListeContactLieu. +p_clCourant) +//MAJ du champ TABLE et de l'objet Historique des états +MAJChampTableEtObjet(TABLE_HISTO_ETAT,gclPresentationFicheInterv.ListeHistoEtat.p_clCourant) +//MAJ du champ TABLE et de l'objet Rendez-vous +// MAJChampTableEtObjet(TABLE_RENDEZVOUS,gclPresentationFicheInterv.ListeRendezVous.p_clCourant) +ZR_RDV.Affiche() +//MAJ du champ TABLE et de l'objet Documents +si gclPresentationFicheInterv:ListeDocument<>Null alors MAJChampTableEtObjet(TABLE_DOCUMENTS, +gclPresentationFicheInterv:ListeDocument.p_clCourant) +si gbColleversDoc=Vrai _et_ TABLE_DOCUMENTS..Occurrence>0 alors +TableSelectPlus(TABLE_DOCUMENTS,TABLE_DOCUMENTS..Occurrence) +ExécuteTraitement(TABLE_DOCUMENTS,trtSélection) +gbColleversDoc=Faux +fin +//MAJ du champ TABLE et de l'objet Messages Externes +si gclPresentationFicheInterv:ListeMessageExterne<>Null alors MAJChampTableEtObjet(TABLE_ +MessageExterne,gclPresentationFicheInterv:ListeMessageExterne.p_clCourant) +//MAJ du champ TABLE et de l'objet Actions +si gclPresentationFicheInterv:ListeAction<>Null alors MAJChampTableEtObjet(TABLE_ACTION, +gclPresentationFicheInterv.ListeAction.p_clCourant) +//MAJ du champ TABLE et de l'objet Actions +//En commentaire suite réunion du 29/03/2019 (en attente d'étude plus poussé du sujet) +//MAJChampTableEtObjet(TABLE_CHECKLIST,gclPresentationFicheInterv.CheckList.p_clCourant) +//MAJ du champ TABLE et de l'objet Collaborateur +// +MAJChampTableEtObjet(TABLE_COLLABORATEUR,gclPresentationFicheInterv.ListeCollaborateur.p_clCourant) +//MAJ du champ TABLE et de l'objet Collaborateur +MAJChampTableEtObjet(TABLE_CHP_PERSO,gclPresentationFicheInterv.ListeChpLibre.p_clCourant) +si gclPresentationFicheInterv:ListeMessageInterne<>Null alors Init_NoteInterne() +si gclPresentationFicheInterv:ListeCompteRendu<>Null MAJchampTable(TABLE_COMPTERENDU) +//MAJ du champ TABLE et de l'objet Documents +si gclPresentationFicheInterv:ListeRapport<>Null alors MAJChampTableEtObjet(TABLE_RAPPORT, +gclPresentationFicheInterv:ListeRapport.p_clCourant) +LIB_InfoMessageExterne = TABLE_MessageExterne..Occurrence>1 ? ChaîneConstruit( +gsxMessageExterne,TABLE_MessageExterne..Occurrence,"s","s") sinon TABLE_MessageExterne..Occurrence> +0 ? ChaîneConstruit(gsxMessageExterne,1,"","") sinon gsAucunMessageExterne +//TABLE_MessageExterne..Visible=TABLE_MessageExterne..Occurrence>0 +//BTN_CADENAS_OUVERT_INTERV..Visible += gpclListeParamAppli:m_clTabModele["TIMEOUT_BLOC_ENREG_INTERV"]:m_sValeur>-1 +//GR_CADENAS..Etat += BTN_CADENAS_FERME_INTERV..Visible ? AffichageSeulement sinon actif +//D_FIC_INTERV..CouleurFond = BTN_CADENAS_FERME_INTERV..Visible ? Noir SINON Transparent +SC_TETE_INTERV..CouleurFond = BTN_CADENAS_FERME_INTERV..Visible ? Noir sinon g +CouleurFondEntete +nVoletActif est un entier = ONG_COMPL_INTERV +pour i = 1 _à_ ONG_COMPL_INTERV..Occurrence +si i<>nVoletActif alors +ONG_COMPL_INTERV[i]..Couleur= BTN_CADENAS_FERME_INTERV..Visible ? Blanc sinon Noir +fin +06/08/2026 Isis_BO 3407 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +fin +GestionBoutonSite() +GestionBoutonContactClient() +GestionBoutonContactSite() +GestionBoutonHistoEtat() +GestionBoutonMessageExt() +GestionBoutonDocument() +GestionBoutonRendezVous() +GestionBoutonRapport() +GestionBoutonExportBaseExterne() +BTN_IMPR_CR..Visible = gclPresentationFicheInterv.ListeCompteRendu<>Null _et_ pas +gclPresentationFicheInterv:ListeCompteRendu.p_bModeleCourantVide _et_ gclPresentationFicheInterv. +ListeCompteRendu.p_clCourant<>Null +pour i = 1 _à_ TABLE_INTERLOCUTEUR_LIEU..Occurrence +clModele est un MIntervention_Personne =TABLE_INTERLOCUTEUR_LIEU[i] +TABLE_INTERLOCUTEUR_LIEU[i].BTN_DEMANDEUR..Image = clModele:ImageDemandeur +fin +pour i = 1 _à_ TABLE_INTERLOCUTEUR_CLIENT..Occurrence +clModele est un MIntervention_Personne =TABLE_INTERLOCUTEUR_CLIENT[i] +TABLE_INTERLOCUTEUR_CLIENT[i].BTN_DEMANDEUR..Image = clModele:ImageDemandeur +fin +pour i = 1 _à_ TABLE_DOCUMENTS..Occurrence +clModele est un MDocument =TABLE_DOCUMENTS[i] +//TABLE_DOCUMENTS[i].BTN_ETAT..Image = clModele:ImageEtatDocument +TABLE_DOCUMENTS[i].COL_Icone = clModele:ImageEtatDocument +fin +pour i = 1 _à_ TABLE_RAPPORT..Occurrence +clModele est un MDocument =TABLE_RAPPORT[i] +TABLE_RAPPORT[i].BTN_ETAT..Image = clModele:ImageEtatDocument +fin +RemplirComboSociete() +// DispositionAdapteTaille(DISP_RDV) +fin +Procédure locale OuvreGalerie +// Résumé : +// Syntaxe : +// OuvreGalerie () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure OuvreGalerie() +Sablier() +si gclPresentationFicheInterv.ListeDocumentOK<>Null _et_ gclPresentationFicheInterv.ListeDocumentOK: +p_nTotal>0 alors +Ouvre(FEN_ChoixFenetreInterne,"FI_GalerieDocument",DonneParam(DansFenetre,"FI_Fiche_Intervention", +BTN_GALERIE_DOC..Nom,maProcMAJObjetRetourFI,"Galerie de document",*,*,gclPresentationFicheInterv. +ListeDocumentOK,Vrai)) +sinon +06/08/2026 Isis_BO 3408 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +Erreur("Aucun document n'est accessible") +fin +Sablier(Faux) +Procédure locale OuvrePlanningAgendaSelonPreference +// Résumé : +// Syntaxe : +// OuvrePlanningAgendaSelonPreference () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure OuvrePlanningAgendaSelonPreference() +//sPrefPlanning est une chaine = gpclFicheUtilisateurEnCours:p_PrefMessagerie +//SELON sPrefPlanning +// CAS "Planning" +: +FEN_Menu.OuvreOuActive(FI_Planning,"Planning",Vrai,*,DonneParam(DansOnglet,"FI_Fiche_Intervention",MoiM +ême..Nom,maProcMAJObjetRetourFI,"","InterventionAjouteRendezVous",*,pclPresentationFiche)) +// CAS "Agenda" +: +FEN_Menu.OuvreOuActive(FI_Agenda3,"Agenda",Vrai,*,DonneParam(DansOnglet,"FI_Fiche_Intervention",MoiMême +..Nom,maProcMAJObjetRetourFI,"","InterventionAjouteRendezVous",*,pclPresentationFiche)) +//FIN +Procédure locale RafraichissementFiche +// Résumé : +// Syntaxe : +//RafraichissementFiche ( est STParamFenetreAppelante) +// +// Paramètres : +// stParamSupplementaire (STParamFenetreAppelante) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RafraichissementFiche(stParamSupplementaire est STParamFenetreAppelante) +si stParamSupplementaire.sNomFenetreAppelante="FI_Fiche_Dossier" ou stParamSupplementaire. +sNomFenetreAppelante="FI_ResultatsRecherche" alors +si stParamSupplementaire.sNomIDAppelant="DossierInterImmediat" _et_ gbChargementImmediat=Faux alors +gbChargementImmediat = Vrai +ChargeLesElementsIntervention() +BlocEnregistrement(gclPresentationFicheInterv,ActiveTimer,BTN_CADENAS_FERME_INTERV,BTN_ +CADENAS_OUVERT_INTERV,GR_CADENAS_INTERV,D_FIC_INTERV) +AffecteVariable() +fin +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +06/08/2026 Isis_BO 3409 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +si stParamSupplementaire.sNomIDAppelant="DossierInterImmediat" alors +FinInitialisation() +fin +// nindice +est un +entier=TABLEAUCHERCHE(gclPresentationFicheDossier:ListeIntervention:m_clTabModele,tcLinéaire,"m_nPK +ID",stParamSupplementaire.sNomIDAppelant) +// SI nindice<>-1 ALORS +// +clPresentationFiche est un +PFicheIntervention(gclPresentationFicheDossier:ListeIntervention:m_clTabModele[ +nindice]) +// +sTitreOnglet est une chaine = clPresentationFiche:m_sTitre<>"" ? clPresentationFiche:m_sTitre SINON +clPresentationFiche:m_sRefInterne +// +OuvreOuActiveOnglet(FI_Fiche_Intervention,sTitreOnglet,vrai,clPresentationFiche,DonneParam(DansCham +pFI,FI_Fiche_Dossier..Nom,"DossierIntervention",maProcMAJObjetRetourFI,"Intervention",*,*,gclPresen +tationFicheDossier,Faux)) +// FIN +sinon si stParamSupplementaire.sNomFenetreAppelante="FEN_MENU" alors +gbChargementImmediat = Vrai +ChargeLesElementsIntervention() +quand exception dans +ExécuteTraitement(FI_Fiche_Personne.RafraichissementFiche,trtProcédure) +faire +fin +quand exception dans +ExécuteTraitement(FI_Fiche_Lieu.RafraichissementFiche,trtProcédure,stParamSupplementaire) +faire +fin +//PFicheIntervention.gListeRendezVous(gclPresentationFicheInterv,*,vrai) +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +sinon si stParamSupplementaire.sNomFenetreAppelante="FI_Fiche_Rdv" alors +ChargeLesElementsIntervention() +// +SI stParamSupplementaire:pclObjetAppelant <> Null _ET_ stParamSupplementaire:pclObjetAppelant est +PFicheDossier _ET_ stParamSupplementaire.nIdFenetreAppelante += gclPresentationFicheInterv:m_nPKID ALORS +// n est un entier += +TableauCherche(stParamSupplementaire:pclObjetAppelant:ListeIntervention:m_clTabModele,tcLinéairePremier +,"m_nPKID",gclPresentationFicheInterv:m_nPKID) +// SI n > 0 ALORS +// +stParamSupplementaire:pclObjetAppelant:ListeIntervention:p_clCourant = +stParamSupplementaire:pclObjetAppelant:ListeIntervention:m_clTabModele[n] +// +clPresentationFiche est un +PFicheIntervention<-stParamSupplementaire:pclObjetAppelant:ListeIntervention.Modifier() +// gclPresentationFicheInterv = clPresentationFiche +// ChargeLesElementsIntervention() +// FIN +// +// FIN +fin +Procédure locale RecupMailContacts +06/08/2026 Isis_BO 3410 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +// Résumé : +// Syntaxe : +//[ = ] RecupMailContacts () +// +// Paramètres : +// Aucun +// Valeur de retour : +// chaîne ANSI : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RecupMailContacts() +sListeEmailDest est une chaîne +si gclPresentationFicheInterv.ListeContactClient.m_clTabModele..Occurrence>0 alors +pour i = 1 _à_ gclPresentationFicheInterv.ListeContactClient.m_clTabModele..Occurrence +si gclPresentationFicheInterv.ListeContactClient.m_clTabModele[i].m_clContact.m_sEmail<>"" +alors +sListeEmailDest+=[";"]+gclPresentationFicheInterv.ListeContactClient.m_clTabModele[i].m_cl +Contact.m_sEmail +fin +fin +fin +si gclPresentationFicheInterv.ListeContactLieu.m_clTabModele..Occurrence>0 alors +pour i = 1 _à_ gclPresentationFicheInterv.ListeContactLieu.m_clTabModele..Occurrence +si gclPresentationFicheInterv.ListeContactLieu.m_clTabModele[i].m_clContact.m_sEmail<>"" alors +sListeEmailDest+=[";"]+gclPresentationFicheInterv.ListeContactLieu.m_clTabModele[i].m_cl +Contact.m_sEmail +fin +fin +fin +renvoyer sListeEmailDest +Procédure locale RemplirComboSociete +// Résumé : +// Syntaxe : +// RemplirComboSociete () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RemplirComboSociete() +ListeSupprimeTout(COMBO_Societe) +si gpclListeSocieteAppartenance <> Null alors +pour tout pclSoc de gpclListeSocieteAppartenance:m_clTabModele +ListeAjoute(COMBO_Societe,pclSoc.m_sNom + gLien(pclSoc.m_nPKID)) +fin +si gclPresentationFicheInterv.m_nIDSociete > 0 alors +nResultat est un entier = ListeCherche(COMBO_Societe,gclPresentationFicheInterv.m_nIDSociete) +si nResultat <= 0 alors +ListeAjoute(COMBO_Societe,gclPresentationFicheInterv.FicheSociete.m_sNom + gLien( +gclPresentationFicheInterv.m_nIDSociete)) +gbFicheAutreSociete = Vrai +COMBO_Societe..Etat = Inactif +sinon +06/08/2026 Isis_BO 3411 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +gbFicheAutreSociete = Faux +fin +fin +fin +COMBO_Societe = gclPresentationFicheInterv.m_nIDSociete +Procédure locale SelectionDesContactsDuClient +// Résumé : +// Syntaxe : +//SelectionDesContactsDuClient ( est chaîne) +// +// Paramètres : +// sNomChamp (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SelectionDesContactsDuClient(local sNomChamp est une chaîne) +////DISP_COLONNE..AffichageActif=faux +////DISP_COLONNE[3]..Largeur = DISP_LIEU_COLONNE_DROITE..Largeur +//EnregistrerFiche() +//ReorganiseChampDispoDansFiche(D_COL_FIC_INTERV,DISP_CD_L2_C1,CFI_SOUSELEMENT_INTERVENTION,GR_IMAGE_OP +AQUE_FICHE_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50,2,3,DISP_CD_L2_C1..Largeur) +//ChangeFenêtreSource(CFI_SOUSELEMENT_INTERVENTION,FI_Liste_Personne,*,DonneParam(DansChampFI,"FI_Liste +_Personne",sNomChamp,maProcMAJObjetRetourFI,"Donneurs +d'ordres","InterventionClientPersonne",*,gclPresentationFicheInterv,Vrai)) +////DISP_COLONNE..AffichageActif=vrai +////FenTailleUtile(CFI_SOUSELEMENT_INTERVENTION,DISP_LIEU_COLONNE_DROITE..Largeur,731) +////GestionPlan(2) +Procédure locale SelectionDesLots +// Résumé : +// Syntaxe : +//SelectionDesLots ( est chaîne) +// +// Paramètres : +// sNomChamp (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SelectionDesLots(local sNomChamp est une chaîne) +//ChangeFenêtreSource(CFI_SOUSELEMENT_INTERVENTION,FI_Liste_Lot,*,DonneParam(DansChampFI,"FI_Liste_Lot" +,sNomChamp,maProcMAJObjetRetourFI,"Sélectionnez les lots pour cette +intervention","InterventionLieuLot",*,gclPresentation,Vrai)) +//GestionPlan(3) +Procédure locale SelectionDuClientDuLieu +// Résumé : +// Syntaxe : +// SelectionDuClientDuLieu () +// +// Paramètres : +// Aucun +06/08/2026 Isis_BO 3412 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SelectionDuClientDuLieu() +//ChangeFenêtreSource(CFI_CLIENT,FI_Liste_Client,*,DonneParam(DansChampFI,"FI_Fiche_Intervention",BTN_L +OUPE_CLIENT..Nom,maProcMAJObjetRetourFI,"Sélectionnez le client pour ce +demandeur","IDLieu",gclPresentation:m_nIDLieu)) +//GestionPlan(2) +Procédure locale SelectionDuLieuDuClient +// Résumé : +// Syntaxe : +//SelectionDuLieuDuClient () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SelectionDuLieuDuClient() +//ChangeFenêtreSource(CFI_SOUSELEMENT_INTERVENTION,FI_Liste_Lieu,*,DonneParam(DansChampFI,"FI_Fiche_Int +ervention",BTN_LOUPE_LIEU..Nom,maProcMAJObjetRetourFI,"Sélectionnez le site pour ce +client","IDClient",gclPresentationFicheInterv:m_nIDClient)) +//GestionPlan(3) +Procédure locale SelectionneRdvEtModifie +// Résumé : +// Syntaxe : +//SelectionneRdvEtModifie ( est entier sur 8 octets) +// +// Paramètres : +// nIdRdv (entier sur 8 octets) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SelectionneRdvEtModifie(nIdRdv est un entier sur 8 octets) +pour i=1 _à_ gclPresentationFicheInterv.ListeRendezVous.p_nTotal +si gclPresentationFicheInterv.ListeRendezVous.m_clTabModele[i]:m_nPKID=nIdRdv alors +gclPresentationFicheInterv.ListeRendezVous.p_clCourant = gclPresentationFicheInterv. +ListeRendezVous.m_clTabModele[i] +pclFicheRdv est un PFicheRdv dynamique +pclFicheRdv<-gclPresentationFicheInterv.ListeRendezVous.Modifier() +si pclFicheRdv:m_nIDStatut = gpclListeStatutRendezVous.RechercheEtDonneIdDepuisValeur("99") +alors +AppelSousFenetre(BTN_EDT_RDV..Nom) +fin +fin +fin +Procédure locale SupprimeSite +06/08/2026 Isis_BO 3413 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +// Résumé : +// Syntaxe : +// SupprimeSite () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SupprimeSite() +si OuiNon("Confirmez vous la suppression de l'action ?")=Non alors +retour +fin +si gclPresentationFicheInterv:bExisteContactLieuSurRdV() alors +Erreur( +"Impossible de supprimer ce site car des contacts pour ce site sont présent dans au moins un +rendez-vous" +) +retour +//Contrôle la nécessité de déplacer des documents +sinon si ControlePresenceLieuDansDoc(gclPresentationFicheInterv:m_nIDLieu,0) alors +bReponseQuestion est un booléen +TraitementDocSurChangementSite(gclPresentationFicheInterv:m_nIDLieu,SAI_CodeLieu,bReponseQuestion) +si bReponseQuestion= Faux alors +retour +fin +fin +gclPresentationFicheInterv:m_nIDLieu = 0 +bSuppr est un booléen +si gclPresentationFicheInterv:ListeContactLieu<>Null _et_ gclPresentationFicheInterv: +bExisteContactSurAutreLieu() alors +PFicheIntervention.SuppressionContactLieuSiBesoin(gclPresentationFicheInterv,bSuppr) +sinon +bSuppr = Vrai +fin +si bSuppr alors +si EnregistrerFiche() alors +gclPresentationFicheInterv:FicheLieu = Null +SourceVersEcran("","gclPresentationFicheInterv.FicheLieu") +DemandeMiseAJourIHM() +DemandeMiseAJourUIParent() +sinon +gclPresentationFicheInterv:m_nIDLieu = gclPresentationFicheInterv:FicheLieu:IdentifiantUnique +fin +fin +Procédure locale SurActivite +// Résumé : +// Syntaxe : +//SurActivite (, , ) +// +// Paramètres : +// wEve : +// wParam : +// lParam : +06/08/2026 Isis_BO 3414 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SurActivite(wEve,wParam,lParam) +//gbUserEnMouvement = Vrai +//SELON MoiMême..Nom +// CAS "SAI_CodeContact" : SI ToucheEntree("SurActivité") _ET_ PAS gbSelectLigneAssist ALORS +ModifZoneSaisieAssistee(MoiMême,2,Vrai,Tronque(ExtraitChaîne(ChampAlias(TABLE_INTERLOCUTEUR_LIEU),2,":" +),Taille(ExtraitChaîne(ChampAlias(TABLE_INTERLOCUTEUR_LIEU) +,2,":"))-1,nombreDeCaractèresAConserver),"") +//FIN +si gclPresentationFicheInterv:m_bBlocageEcriture alors +gnDelai=DonneValeurTimeOutObjet(gclPresentationFicheInterv) +//gpclListeParamAppli:m_clTabModele["TIMEOUT_BLOC_ENREG_INTERV"]:m_sValeur) +fin +//trace("Objet :"+MoiMême..Nom) +//SI wParam<>0 ALORS//N° de colonne sur laquelle le clic est effectué +// +//FIN +Procédure locale TimeOutIntervention +procédure TimeOutIntervention() +//clErreur est un CErreur +//Enlève 1 seconde au temps restant +gnDelai-- +//Le temps est écoulé, l'enregistrement et le déblocage de ce dernier c'est bien passé +si gnDelai = 0 alors +//_ET_ (gclPresentationFicheInterv:bOK(clErreur) ET +gclPresentationFicheInterv:DebloqueEnregistrement()) ALORS +//FermeCadenas() +//FinTimerSys(gclPresentationFicheInterv:m_nIDTimer) +DeblocEnregistrement(gclPresentationFicheInterv,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_INTERV,BTN_CADENAS_OUVERT_INTERV,GR_CADENAS_INTERV,D_FIC_INTERV,Faux,Vrai) +fin +Procédure locale TraitementDocSurChangementSite +// Résumé : +// Syntaxe : +//[ = ] TraitementDocSurChangementSite ( est entier sur 8 octets, est +champ, est booléen) +// +// Paramètres : +// nPKIDActuel (entier sur 8 octets) : +// chpSite (champ) : +// bReponseQuestion (booléen) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// nPKIDFutur (entier sur 8 octets) : +procédure TraitementDocSurChangementSite(nPKIDActuel est un entier sur 8 octets,chpSite est un Champ, +06/08/2026 Isis_BO 3415 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +bReponseQuestion est un booléen) +bResultat est un booléen +//Demande à l'utilisateur s'il est d'accord de changer le site et de copier les documents avec +bReponseQuestion = OuiNon( +"Le changement du site aura pour effet de copier les documents dans un nouveau répertoire", +"Confirmez-vous le changement ?") +si bReponseQuestion alors +//Variable stockant les messages d'erreurs de la copie +sMSG est une chaîne +//Variable contenant le nom des fichiers à copier +sListeFichiers est une chaîne +//Variable contentant l'ID de l'état du document qui correspond à "présent" +nIDEtatDocPresent est un entier sur 8 octets = gpclListeEtatDocument. +RechercheEtDonneIdDepuisValeur("1") +//Enregistre les changements +EnregistrerFiche() +// SI PAS gclPresentationFicheInterv:m_bVerificationDoc ALORS +// //Recherche des documents +// PFicheIntervention.gListeDocument(gclPresentationFicheInterv) +// fin +//Boucle sur tous les documents hors rapport +pour i = 1 _à_ gclPresentationFicheInterv:ListeDocument:p_nTotal +//Le document est présent à l'endroit attendu +si gclPresentationFicheInterv:ListeDocument:m_clTabModele[i]:m_nIDEtatDocument= +nIDEtatDocPresent alors +//Concatene les chemins des fichiers +sListeFichiers+=gclPresentationFicheInterv:ListeDocument:m_clTabModele[i]:m_sCheminFichier ++RC +fin +fin +//La copie des fichiers ne s'est pas bien passé +si pas AjouteFichier(sListeFichiers,0,gclPresentationFicheInterv,sMSG,Vrai) _ou_ sMSG<>"" alors +//Affiche l'erreur +Erreur("Les fichiers suivant n'ont pas pu être copiés",RC+sMSG) +//Recharge l'ancien site +PFicheIntervention.gFicheLieu(gclPresentationFicheInterv,gclPresentationFicheInterv.FicheLieu, +nPKIDActuel,Vrai,"",Vrai) +//Actualise le code site à l'écran +chpSite = Majuscule(gclPresentationFicheInterv:FicheLieu.m_sCodeLieu) +sinon +//La copie des fichiers s'est bien passé +bResultat = Vrai +//Demande à l'utilisateurs s'il faut supprimer les anciens fichiers ? +si OuiNon("Les fichiers ont bien été copiés", +"Souhaitez-vous les supprimer de leur ancien emplacement") alors +//Boucle sur la liste des fichiers +pour toute chaîne sUnFichier de sListeFichiers séparée par RC +//Le fichier existe +si fFichierExiste(sUnFichier) alors +//Supprime le fichier +fSupprime(sUnFichier,frLectureSeule) +fin +06/08/2026 Isis_BO 3416 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +fin +fin +fin +//Recharge la liste des documents avec le nouveau site +PFicheIntervention.gListeDocumentSimple(gclPresentationFicheInterv) +sinon +//Recharge l'ancien site +PFicheIntervention.gFicheLieu(gclPresentationFicheInterv,gclPresentationFicheInterv.FicheLieu, +nPKIDActuel,Vrai,"",Vrai) +//Actualise le code site à l'écran +chpSite = Majuscule(gclPresentationFicheInterv:FicheLieu.m_sCodeLieu) +//Enregistre les changements +EnregistrerFiche() +fin +renvoyer bResultat +Procédure locale TransferEmail +procédure TransferEmail(gclPresentationFicheMessageExterne est un PFicheMessageExterne dynamique) +ReorganiseChampDispoDansFiche1(GR_ALAPLACECFI_INTERV,CFI_SOUS_INTERV,GR_IMAGE_OPAQUE_FICHE_INTERVENTION +,GR_MODEOPAQUE_FICHE_INTERVENTION,Vrai,50) +pclFichePrefMessagerie est un PFicheParametreUtilisateur dynamique +pclFichePrefMessagerie<-gpclFicheUtilisateurEnCours:p_PrefMessagerie +sPrefPlanning est une chaîne +si pclFichePrefMessagerie<>Null alors sPrefPlanning= pclFichePrefMessagerie:m_sValeur +clFicheMessageexterne est une PFicheMessageExterne dynamique +clFicheMessageexterne<-gclPresentationFicheMessageExterne +//sAdresseUser est une chaîne +clFicheMessageexterne.m_sAdrDestinataires=clFicheMessageexterne.m_sAdrExp +pclFicheParam est un PFicheParametreUtilisateur dynamique +pclFicheParamEnvoiEmail est un PFicheParametreUtilisateur dynamique +//stParamEmail est un STParamEmail +//stParamEnvoiEmail est un STParamEnvoiEmail +pclFicheParam <- gpclFicheUtilisateurEnCours:p_ParamEmail +pclFicheParamEnvoiEmail <- gpclFicheUtilisateurEnCours:p_ParamEnvoiMail +//SI pclFicheParam<> Null ALORS +// Désérialise(stParamEmail,pclFicheParam:m_sValeur,psdJSON) +//FIN +//bufCle est un Buffer = HashChaîne(HA_MD5_128,gsCleMdp) +//SI pclFicheParamEnvoiEmail<>Null ALORS +// bufCrypte est un Buffer = pclFicheParamEnvoiEmail:m_sValeur +// +// Désérialise(stParamEnvoiEmail,DécrypteStandard(bufCrypte, bufCle, crypteAES128),psdJSON) +//FIN +////HLitRecherchePremier(ParametreApplication,PAP_Code,"CNX_SMTP") +//SI pclFicheParamEnvoiEmail<>Null _ET_ pclFicheParamEnvoiEmail:m_sValeur<>"" +ALORS//HTrouve(ParametreApplication) ALORS +// bufCrypte est un Buffer =ParametreApplication.PAP_Valeur +// //bufCle est un Buffer = HashChaîne(HA_MD5_128, gsCleMdp) +// //sRésultat est un Buffer = DécrypteStandard(bufCrypte, bufCle, crypteAES128) +// sAdresseUser=stParamEmail.sEmail//ExtraitChaîne(sRésultat,6,"<>",DepuisDébut) +//FIN +06/08/2026 Isis_BO 3417 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +//clFicheMessageexterne.m_sMessage = "
"+"
"+clFicheMessageexterne.m_sObjet+"
"+"Dest +: "+clFicheMessageexterne.m_sAdrDestinataires+"
"+"
"+clFicheMessageexterne.m_sMessage +//clFicheMessageexterne.m_sAdrDestinataires=clFicheMessageexterne.m_sAdrExp +clFicheMessageexterne.m_sAdrDestinataires = "" +clFicheMessageexterne.m_sAdrCC = "" +clFicheMessageexterne.m_sAdrCCI = "" +clFicheMessageexterne.m_sObjet = "RE: "+clFicheMessageexterne.m_sObjet +//SI nIndice<>-1 ALORS +selon sPrefPlanning//gpclPresenListeParamUtilisateur.m_clTabModele[nIndice].m_sValeur +cas "Externe" +si LanceAppliAssociée("mailto:"+ "" + "?subject=RE: "+clFicheMessageexterne.m_sObjet + "&body=" ++HTMLVersTexte(clFicheMessageexterne.m_sMessage))=Vrai alors +//1 : Oui +//2 : Non +selon Dialogue( +"Envoi en cours d'un message depuis votre messagerie externe, souhaitez-vous créer un +message externe pour cet envoi ?" +) +// Oui +cas 1 +clFicheMessageexterne.m_sAdrExp="" +ChangeFenêtreSource(CFI_SOUS_INTERV,FI_EmailNouveau,clFicheMessageexterne, +DonneParam(DansChampFI,"FI_Fiche_Intervention","BTN_ADD_MESS_EXT", +maProcMAJObjetRetourFI,"Nouveau Message","InterventionMessageExterne",*, +gclPresentationFicheInterv)) +// Non +cas 2 +retour +fin +sinon +Erreur("Une erreur s'est produite lors de l'ouverture de votre messagerie externe") +fin +cas "Back-Office" +ChangeFenêtreSource(CFI_SOUS_INTERV,FI_EmailNouveau,clFicheMessageexterne,DonneParam( +DansChampFI,"FI_Fiche_Intervention","BTN_Transfert",maProcMAJObjetRetourFI,"Nouveau Message", +"InterventionMessageExterne",*,gclPresentationFicheInterv)) +CFI_SOUS_INTERV..Visible=Vrai +autre cas +si LanceAppliAssociée("mailto:"+ "" + "?subject=RE: "+clFicheMessageexterne.m_sObjet + "&body=" ++HTMLVersTexte(clFicheMessageexterne.m_sMessage))=Vrai alors +//1 : Oui +//2 : Non +selon Dialogue( +"Envoi en cours d'un message depuis votre messagerie externe, souhaitez-vous créer un +message externe pour cet envoi ?" +) +// Oui +cas 1 +clFicheMessageexterne.m_sAdrExp="" +ChangeFenêtreSource(CFI_SOUS_INTERV,FI_EmailNouveau,clFicheMessageexterne, +DonneParam(DansChampFI,"FI_Fiche_Intervention","BTN_ADD_MESS_EXT", +maProcMAJObjetRetourFI,"Nouveau Message","InterventionMessageExterne",*, +gclPresentationFicheInterv)) +// Non +cas 2 +retour +fin +sinon +Erreur("Une erreur s'est produite lors de l'ouverture de votre messagerie externe") +fin +fin +Procédure locale TriColonne +06/08/2026 Isis_BO 3418 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +// Procédure callback appelée à chaque clic sur entête de colonne de "Table1" pour trier la colonne +// wEve [in]: Numéro du message Windows +// wParam [in] : Numéro de la colonne a trier +// lParam [in]: Ordre du tri 5 (1 : Croissant, 0 : décroissant) +// Renvoyer 0 pour ne pas effectuer le tri demandé +procédure TriColonne(wEve,wParam,lParam) +sSens est une chaîne="" +si wParam<>0 alors//N° de colonne sur laquelle le clic est effectué +//Détection du sens du tri +si pas lParam alors sSens="-" +selon MoiMême..Nom +cas TABLE_INTERLOCUTEUR_CLIENT..Nom +//Trier sur la colonne +TableTrie(TABLE_INTERLOCUTEUR_CLIENT,sSens+TableEnumèreColonne(TABLE_INTERLOCUTEUR_CLIENT, +wParam),"+COL_PKID") +//Traitement à effectuer "Après chaque tri" +TrieObjetChampTableSiBesoin(gclPresentationFicheInterv:ListeContactClient,TABLE_ +INTERLOCUTEUR_CLIENT,gsTriEnCoursContactCli) +cas TABLE_INTERLOCUTEUR_LIEU..Nom +//Trier sur la colonne +TableTrie(TABLE_INTERLOCUTEUR_LIEU,sSens+TableEnumèreColonne(TABLE_INTERLOCUTEUR_LIEU, +wParam),"+COL_PKID") +//Traitement à effectuer "Après chaque tri" +TrieObjetChampTableSiBesoin(gclPresentationFicheInterv:ListeContactLieu,TABLE_ +INTERLOCUTEUR_LIEU,gsTriEnCoursContactSite) +cas TABLE_ACTION..Nom +//Trier sur la colonne +TableTrie(TABLE_ACTION,sSens+TableEnumèreColonne(TABLE_ACTION,wParam),"+COL_PKID") +//Traitement à effectuer "Après chaque tri" +TrieObjetChampTableSiBesoin(gclPresentationFicheInterv:ListeAction,TABLE_ACTION,gs +TriEnCoursAction) +cas TABLE_COMPTERENDU..Nom +//Trier sur la colonne +TableTrie(TABLE_COMPTERENDU,sSens+TableEnumèreColonne(TABLE_COMPTERENDU,wParam), +"+COL_PKID") +//Traitement à effectuer "Après chaque tri" +TrieObjetChampTableSiBesoin(gclPresentationFicheInterv:ListeCompteRendu,TABLE_COMPTERENDU, +gsTriEnCoursCptRd) +cas TABLE_DOCUMENTS..Nom +//Trier sur la colonne +TableTrie(TABLE_DOCUMENTS,sSens+TableEnumèreColonne(TABLE_DOCUMENTS,wParam),"+COL_PKID") +//Traitement à effectuer "Après chaque tri" +TrieObjetChampTableSiBesoin(gclPresentationFicheInterv:ListeDocument,TABLE_DOCUMENTS,gs +TriEnCoursDoc) +cas TABLE_HISTO_ETAT..Nom +//Trier sur la colonne +TableTrie(TABLE_HISTO_ETAT,sSens+TableEnumèreColonne(TABLE_HISTO_ETAT,wParam),"+COL_PKID") +//Traitement à effectuer "Après chaque tri" +TrieObjetChampTableSiBesoin(gclPresentationFicheInterv:ListeHistoEtat,TABLE_HISTO_ETAT,gs +TriEnCoursHistoEtat) +cas TABLE_MessageExterne..Nom +//Trier sur la colonne +TableTrie(TABLE_MessageExterne,sSens+TableEnumèreColonne(TABLE_MessageExterne,wParam), +"+COL_PKID") +//Traitement à effectuer "Après chaque tri" +TrieObjetChampTableSiBesoin(gclPresentationFicheInterv:ListeMessageExterne,TABLE_ +MessageExterne,gsTriEnCoursMessExt) +06/08/2026 Isis_BO 3419 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Intervention › Procédures +// CAS TABLE_RENDEZVOUS..Nom +// //Trier sur la colonne +// TableTrie(TABLE_RENDEZVOUS,sSens+TableEnumèreColonne(TABLE_RENDEZVOUS,wParam),"+COL_PKID") +// +// //Traitement à effectuer "Après chaque tri" +// +TrieObjetChampTableSiBesoin(gclPresentationFicheInterv:ListeRendezVous,TABLE_RENDEZVOUS,gsTriEnCoursRdv +) +fin +renvoyer 0 +fin +06/08/2026 Isis_BO 3420 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Image +FI_Planning +Image +| 06/08/2026 | Isis_BO | 3421 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Planning › Image +FI_Planning +Informations générales +FI_Planning +| 06/08/2026 | Isis_BO | 3422 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations générales +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Planning.wdw +| Créé par | | XVA | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 31/10/2018 15:46:10 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:29 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1358 Hauteur | 896 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ------- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| 06/08/2026 | | | Isis_BO | | 3423 | + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations générales +| 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 | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | +Statistiques de la fenêtre +| | Libellé | | 19 | Bouton | | 13 | +| --- | ---------------------- | --- | --- | ----------------------- | --- | --- | +| | Interrupteur | | 4 | Image | | 3 | +| | Forme | | 2 | Zone répétée | | 4 | +| | Fenêtre interne | | 1 | Fenêtre interne | | 1 | +| | Attribut zone répétée | | 16 | Calendrier | | 1 | +| | Option d'interrupteur | | 4 | Rupture de zone répétée | | 6 | +| | Planning | | 1 | Disposition | | 1 | +| | Cellule de disposition | | 4 | | | | +Nombre d'éléments dans la fenêtre : 80 +FI_Planning +Informations sur les champs +Fenêtre : FI_Planning +Fenêtre interne +BAT ehcuoT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | +| --- | --- | --- | ------- | ------- | --- | --- | +elbisiV +nalP +| FI_Planning | | 0 | 0 1358 | 896 | 0 | | +| ----------- | --- | --- | ------- | --- | --- | ---- | +| 06/08/2026 | | | Isis_BO | | | 3424 | + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Fenêtre interne : FI_Planning +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_Mois | 306 44 | 193 | 30 | 0 | Actif | Gauche | Centre | | +| -------------------- | ------ | --- | --- | --- | ----- | ------ | ------ | --- | +| LIB_NBRdvAttente | 8 8 | 23 | 20 | 0 | Actif | Gauche | Haut | | +| LIB_RdvAttente | 30 8 | 172 | 20 | 0 | Actif | Gauche | Haut | | +| LIB_Semaine | 310 69 | 193 | 24 | 0 | Actif | Gauche | Centre | | +| LIB_Titre_de_fenêtre | 6 6 | 155 | 21 | 0 | Actif | Gauche | Centre | | +| LIB_Tous | 29 3 | 176 | 20 | 0 | Actif | Gauche | Haut | | +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | | +| --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Afficher | 25 | 858 | 130 | 30 | 0 | Actif | | Normal | +| ------------------------- | ---- | --- | --- | --- | --- | ----- | --- | -------- | +| BTN_Aujourd_hui | 1188 | 67 | 99 | 30 | 0 | Actif | | Interrup | +| BTN_ChangeMode | 508 | 67 | 94 | 30 | 0 | Actif | | Normal | +| BTN_ChangeModeSVT | 708 | 67 | 147 | 30 | 0 | Actif | | Normal | +| BTN_Fermer_fiche_planning | 1326 | 5 | 24 | 24 | 0 | Actif | | Normal | +| BTN_Imprimer | 608 | 67 | 94 | 30 | 0 | Actif | | Normal | +| BTN_Jour | 895 | 67 | 67 | 30 | 0 | Actif | | Interrup | +| BTN_Mois | 1115 | 67 | 67 | 30 | 0 | Actif | | Interrup | +| BTN_PeriodePrecedente | 236 | 45 | 24 | 30 | 0 | Actif | | Interrup | +| BTN_PeriodeSuivante | 272 | 45 | 24 | 30 | 0 | Actif | | Interrup | +| BTN_Semaine | 1039 | 67 | 75 | 30 | 0 | Actif | | Interrup | +| BTN_Semaine5jrs | 963 | 67 | 75 | 30 | 0 | Actif | | Interrup | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | | laitini tatE | | staté siorT | +| --- | --------------------- | --- | --- | --- | --- | ------------ | --- | ----------- | +ruetuaH +ruegraL +elbisiV +nalP +| INT_Sel | 2 | 2 | 23 18 | 0 | Actif | | | 1 | +| ---------- | --- | --- | ------- | --- | ----- | --- | --- | ---- | +| 06/08/2026 | | | Isis_BO | | | | | 3425 | + +Partie 3 › Fenêtre WINDEV › FI_Planning › 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_Lien | 1396 20 | 30 30 | 0 | Actif | | | +| ------------------ | ------- | -------- | --- | ----- | --- | --- | +| IMG_OPACITE_ENTETE | 0 0 | 1358 896 | 1 | Actif | | | +| IMG_Parametrage | 1297 67 | 30 30 | 0 | Actif | | | +Forme +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_Bandeau_Entete | 0 | 0 1358 | 33 | 0 | Actif | | +| ------------------ | --- | ------- | --- | --- | ----- | --- | +| FRM_RDV_LARGE | 341 | 100 678 | 545 | 1 | Actif | | +Zone répétée +BAT ehcuoT +| | X noitisoP | | | | laitini tatE | | +| --- | ---------- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | ruegraL | ruetuaH | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| ZR_Collaborateur | 0 | 4 210 | 177 | 0 | Actif | | +| ---------------- | --- | ------ | --- | --- | -------- | --- | +| ZR_Equipe | 0 | 7 210 | 125 | 0 | Actif | | +| ZR_RdvAttente | 7 | 28 200 | 118 | 0 | affichag | | +| ZR_Societe | 0 | 25 210 | 125 | 0 | Actif | | +Fenêtre interne +BAT ehcuoT +laitini tatE +| | X noitisoP | Y noitisoP | | | | | +| --- | ---------- | ---------- | ------- | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CFI_RDV | 341 | 100 678 | 545 | 1 | Actif | | +| ------- | --- | ------- | --- | --- | ----- | --- | +Calendrier +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CAL_Planning | 0 | 41 215 | 162 | 0 | Actif | | +| ------------ | --- | ------- | --- | --- | ----- | ---- | +| 06/08/2026 | | Isis_BO | | | | 3426 | + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Planning +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| PLN_PL_RDV | | 219 | 114 | 1133 | 756 | 0 | Actif | | +| ---------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Disposition +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| DISP_Filtre | | 0 | 211 | 210 | 644 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Zone répétée : FI_Planning.DISP_Filtre.ZR_Collaborateur +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_IdCollab | 172 | 6 | 16 20 | 0 | Actif | Gauche | Haut | | +| ------------ | --- | --- | ------ | --- | ----- | ------ | ---- | --- | +| LIB_SansNom2 | 44 | 7 | 145 20 | 0 | Actif | Gauche | Haut | | +| LIB_Sel | 150 | 6 | 16 20 | 0 | Actif | Droite | Haut | | +| LIB_Titre | 25 | 3 | 162 20 | 0 | Actif | Gauche | Haut | | +Interrupteur +ellennoitroporp .loC +| | | | | | | BAT ehcuoT | sennoloc .bN | | +| --- | ---------- | ---------- | --------------- | --- | --- | ------------ | ------------ | ----------- | +| | | | | | | laitini tatE | | staté siorT | +| | X noitisoP | Y noitisoP | | | | | | | +| | | | ruegraL ruetuaH | | | | | | +elbisiV +nalP +| INT_Sel | 20 | 6 | 23 | 18 0 | Actif | | 1 | | +| ---------- | --- | --- | ------- | ---- | ----- | --- | --- | ---- | +| 06/08/2026 | | | Isis_BO | | | | | 3427 | + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +ATT_Id +ATT_Nom +ATT_Sel1 +ATT_Titre +ATT_sel +Rupture de zone répétée +| | | | | | laitini tatE | BAT ehcuoT | +| --- | ---------- | ---------- | --- | --- | ------------ | ---------- | +| | X noitisoP | Y noitisoP | | | | | +ruegraL ruetuaH +elbisiV +nalP +RUPT_BasRupture1 +RUPT_HautRupture1 +Zone répétée : FI_Planning.DISP_Filtre.ZR_Equipe +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --------------------- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| LIB_IdEquipe | 172 6 | 16 20 | 0 Actif | Gauche | Haut | | +| ------------ | ----- | ------ | ------- | ------ | ---- | --- | +| LIB_SansNom2 | 28 7 | 176 20 | 0 Actif | Gauche | Haut | | +| LIB_Titre | 28 3 | 176 20 | 0 Actif | Gauche | Haut | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP | | | laitini tatE | | staté siorT | +| --- | ---------- | --- | --- | ------------ | --- | ----------- | +Y noitisoP +| | | ruegraL ruetuaH | | | | | +| --- | --- | --------------- | --- | --- | --- | --- | +elbisiV +nalP +| INT_Sel | 2 | 6 23 18 | 0 | Actif | 1 | | +| ---------- | --- | ------- | --- | ----- | --- | ---- | +| 06/08/2026 | | Isis_BO | | | | 3428 | + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +ATT_Id +ATT_Nom +ATT_Sel +ATT_Titre +Rupture de zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +RUPT_BasRupture1 +RUPT_HautRupture1 +Zone répétée : FI_Planning.DISP_Filtre.ZR_RdvAttente +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Description | 0 38 | 95 76 | 0 | Actif | Gauche | Haut | | +| --------------- | ----- | ----- | --- | ----- | ------ | ---- | --- | +| LIB_Id | 73 31 | 21 20 | 0 | Actif | Gauche | Haut | | +| LIB_Titre | 0 2 | 95 35 | 0 | Actif | Centre | Haut | | +Bouton +notuob epyT +| | | | | | laitini tatE | BAT ehcuoT | | +| --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | --- | +| | X noitisoP | Y noitisoP | | | | | | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Valide | 50 | 54 17 | 24 | 0 | Actif | Normal | | +| ---------- | --- | ------- | --- | --- | ----- | ------ | ---- | +| 06/08/2026 | | Isis_BO | | | | | 3429 | + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +ATT_Description +ATT_Id +ATT_Titre +Zone répétée : FI_Planning.DISP_Filtre.ZR_Societe +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_IdSociete | 172 6 | 16 20 | 0 Actif | Gauche | Haut | | +| ------------- | ----- | ------ | ------- | ------ | ---- | --- | +| LIB_SansNom2 | 28 7 | 176 20 | 0 Actif | Gauche | Haut | | +| LIB_Titre | 28 3 | 176 20 | 0 Actif | Gauche | Haut | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | staté siorT | +| --- | --------------------- | --- | --- | ------------ | --- | ----------- | +ruetuaH +ruegraL +elbisiV +nalP +| INT_Sel | 2 | 6 23 18 | 0 | Actif | 1 | | +| ------- | --- | ------- | --- | ----- | --- | --- | +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +ATT_Id +ATT_Nom +ATT_Sel +ATT_Titre +| 06/08/2026 | | Isis_BO | | | | 3430 | +| ---------- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Rupture de zone répétée +06/08/2026 Isis_BO 3431 +X +noitisoP +Y +noitisoP ruegraL ruetuaH +nalP +elbisiV +laitini +tatE +BAT +ehcuoT +RUPT_BasRupture1 +RUPT_HautRupture1 +Fenêtre : FI_Planning +Fenêtre interne : FI_Planning +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Planning +Bouton : FI_Planning.BTN_Afficher +Libellé FR: Afficher +Ordre navigation 15 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Bouton : FI_Planning.BTN_Aujourd_hui +Libellé FR: Aujourd'hui +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +06/08/2026 Isis_BO 3432 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : FI_Planning.BTN_ChangeMode +Libellé FR: Mode Agenda +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 5 +06/08/2026 Isis_BO 3433 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : FI_Planning.BTN_ChangeModeSVT +Libellé FR: Mode Suivi de temps +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3434 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Bouton : FI_Planning.BTN_Fermer_fiche_planning +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3435 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Bouton : FI_Planning.BTN_Imprimer +Libellé FR: Imprimer +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3436 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Bouton : FI_Planning.BTN_Jour +Libellé FR: Jour +Groupe GR_Jours +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3437 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Bouton : FI_Planning.BTN_Mois +Libellé FR: Mois +Groupe GR_Jours +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3438 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Bouton : FI_Planning.BTN_PeriodePrecedente +Libellé FR: < +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Blueberries\Blueberries_Pict_PeriodPrevious_24_5.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3439 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Bouton : FI_Planning.BTN_PeriodeSuivante +Libellé FR: > +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Blueberries\Blueberries_Pict_PeriodNext_24_5.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3440 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Bouton : FI_Planning.BTN_Semaine +Libellé FR: Semaine/7j +Groupe GR_Jours +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3441 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Bouton : FI_Planning.BTN_Semaine5jrs +Libellé FR: Semaine/5j +Groupe GR_Jours +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3442 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Calendrier : FI_Planning.CAL_Planning +Libellé FR: Calendrier +Ordre navigation 2 +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format retour AAAAMMJJ +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Numéro semaine Non +Semaine ISO8601 Non +Texte Markdown Non +Sélection hors mois Oui +Style hors mois Oui +Jours hors mois Oui +Premier jour semaine Lundi +Bouton aujourd'hui Oui +Libellé aujourd'hui FR: aujourd'hui +Format mois FR: MMMM AAAA +Sélection de périodes Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Planning.CFI_RDV +Ordre navigation 16 +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 +Numéro aide 0 +Ascenseur auto. Non +06/08/2026 Isis_BO 3443 + +Partie 3 › Fenêtre WINDEV › FI_Planning › 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 +Swipe Non +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Planning.DISP_Filtre +Libellé FR: Disposition +Ordre navigation 14 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 6 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3444 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Forme : FI_Planning.FRM_Bandeau_Entete +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Planning.FRM_RDV_LARGE +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3445 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Image : FI_Planning.IMG_Lien +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\lié.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +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 +Image : FI_Planning.IMG_OPACITE_ENTETE +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 50 +Ascenseur et zoom auto. Non +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 3446 + +Partie 3 › Fenêtre WINDEV › FI_Planning › 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 +Texte Markdown Non +Mode menu ctx. +Mire visible Non +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +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 +Image : FI_Planning.IMG_Parametrage +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\parametresUtilisateur.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3447 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Interrupteur : FI_Planning.DISP_Filtre.INT_Sel +Valeur initiale 0 +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3448 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Libellé : FI_Planning.LIB_Mois +Libellé FR: 20181122 +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 +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 Date +Masque saisie FR: Mmmm AAAA +Format retour AAAAMMJJ +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Planning.DISP_Filtre.LIB_NBRdvAttente +Libellé FR: 25 +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 3449 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Planning.DISP_Filtre.LIB_RdvAttente +Libellé FR: Rendez-vous en Attente +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3450 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Libellé : FI_Planning.LIB_Semaine +Libellé FR: Semaine X +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Planning.LIB_Titre_de_fenêtre +Libellé FR: Planning +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 +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 +06/08/2026 Isis_BO 3451 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Planning.DISP_Filtre.LIB_Tous +Libellé FR: Tous les collaborateurs actifs +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3452 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Planning : FI_Planning.PLN_PL_RDV +Libellé FR: Planning +Ordre navigation 13 +Curseur survol 32512 +UI par l'utilisateur Selon fenêtre +Fenêtre Interne FI_WinDevVueRDV +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne 85 +Largeur ressources auto. Non +Largeur entête ressources 100 +Largeur/hauteur minimale d'une 60 +Largeur/hauteur min journée 1031 +Nb jours selon taille Agrandir les jours +Hauteur rupture jours 20 +Hauteur journée entière 35 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +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 +Édition Rdv par simple clic Oui +Ancrer ressources Oui +Journée entière Non +Boutons période Non +Numéro semaine Non +Semaine ISO8601 Non +Affiche heures Oui +Affiche mois Non +Autorise chevauchement Oui +Texte Markdown Non +Mode menu ctx. +Granularité de déplacement 60 +Granularité de durée 60 +Mode Aff. Planning Ressources en ligne +Mode Nb jours une journée +Nb. jours (Mode libre) 3 +Masque date FR: JJJ JJ +Rendez-vous continu Oui +Premier jour semaine Lundi +Chevauche rendez-vous Décalage +Rendez-vous redim. Oui +Rendez-vous déplaçable Oui +Heure visible début 0700 +Heure visible fin 1900 +Heure ouvrable début 0800 +06/08/2026 Isis_BO 3453 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Heure ouvrable fin 1800 +Sélection de périodes Oui +Autorise le changement de Non +Réglette modifiable Oui +Réglette visible Non +Source de remplissage Variable +Nb. Enreg. Max -1 +Fichier parcouru :gclPresentationPlanning.m_clTabModele +Suppr. dans source Oui +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 +Zone répétée : FI_Planning.DISP_Filtre.ZR_Collaborateur +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 32 +Largeur colonne 210 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Oui +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection multiple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +06/08/2026 Isis_BO 3454 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : FI_Planning.DISP_Filtre.ZR_Equipe +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 32 +Largeur colonne 210 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Isis_BO 3455 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Multi-Sélection sans Ctrl Oui +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection multiple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : FI_Planning.DISP_Filtre.ZR_RdvAttente +Libellé FR: &Zone répétée +Double clic BTN_Valide +Ordre navigation 1 +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 +Hauteur ligne max. 0 +06/08/2026 Isis_BO 3456 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Hauteur ligne 118 +Largeur colonne 99 +Sens Horizontal +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Rub. parcourue PL_IDStatut +Filtre 40 +Rub. mémorisée PL_PKID +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Hauteur et droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3457 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Zone répétée : FI_Planning.DISP_Filtre.ZR_Societe +Libellé FR: &Zone répétée +Ordre navigation 2 +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 +Hauteur ligne max. 0 +Hauteur ligne 32 +Largeur colonne 210 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Oui +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection multiple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +06/08/2026 Isis_BO 3458 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Parcours Automatique +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : FI_Planning.DISP_Filtre.ZR_Collaborateur +Attribut zone répétée : FI_Planning.DISP_Filtre.ZR_Collaborateur.ATT_Id (3) +Champ associé LIB_IdCollab +Propriété associée 1 +Attribut zone répétée : FI_Planning.DISP_Filtre.ZR_Collaborateur.ATT_Nom (1) +Champ associé LIB_SansNom2 +Propriété associée 1 +Attribut zone répétée : FI_Planning.DISP_Filtre.ZR_Collaborateur.ATT_Sel1 (5) +Champ associé INT_Sel +Propriété associée 1 +Attribut zone répétée : FI_Planning.DISP_Filtre.ZR_Collaborateur.ATT_Titre (2) +Champ associé LIB_Titre +Propriété associée 1 +06/08/2026 Isis_BO 3459 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Attribut zone répétée : FI_Planning.DISP_Filtre.ZR_Collaborateur.ATT_sel (4) +Champ associé LIB_Sel +Propriété associée 1 +Interrupteur : FI_Planning.DISP_Filtre.ZR_Collaborateur.INT_Sel +Valeur initiale 0 +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3460 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Libellé : FI_Planning.DISP_Filtre.ZR_Collaborateur.LIB_IdCollab +Libellé FR: id +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Planning.DISP_Filtre.ZR_Collaborateur.LIB_SansNom2 +Libellé FR: Libellé +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 +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 +06/08/2026 Isis_BO 3461 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Planning.DISP_Filtre.ZR_Collaborateur.LIB_Sel +Libellé FR: Sel +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 +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 Numérique +Masque saisie FR: MoneySystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3462 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Libellé : FI_Planning.DISP_Filtre.ZR_Collaborateur.RUPT_HautRupture1.LIB_Titre +Libellé FR: Vos collaborateurs +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : FI_Planning.DISP_Filtre.ZR_Collaborateur.RUPT_BasRupture1 +Toujours visible Non +Attribut de rupture 1 +06/08/2026 Isis_BO 3463 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Rupture de zone répétée : +Toujours visible Oui +Attribut de rupture 1 +Zone répétée : FI_Planning.DISP_Filtre.ZR_Equipe +Attribut zone répétée : FI_Planning.DISP_Filtre.ZR_Equipe.ATT_Id (3) +Champ associé LIB_IdEquipe +Propriété associée 1 +Attribut zone répétée : FI_Planning.DISP_Filtre.ZR_Equipe.ATT_Nom (1) +Champ associé LIB_SansNom2 +Propriété associée 1 +Attribut zone répétée : FI_Planning.DISP_Filtre.ZR_Equipe.ATT_Sel (4) +Champ associé INT_Sel +Propriété associée 1 +Attribut zone répétée : FI_Planning.DISP_Filtre.ZR_Equipe.ATT_Titre (2) +Champ associé LIB_Titre +Propriété associée 1 +Interrupteur : FI_Planning.DISP_Filtre.ZR_Equipe.INT_Sel +Valeur initiale 0 +Ordre navigation 1 +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 +06/08/2026 Isis_BO 3464 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Ancrage au contenu +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 Toute la hauteur de l'option +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. +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Planning.DISP_Filtre.ZR_Equipe.LIB_IdEquipe +Libellé FR: id +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 +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 +06/08/2026 Isis_BO 3465 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Planning.DISP_Filtre.ZR_Equipe.LIB_SansNom2 +Libellé FR: Libellé +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3466 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Libellé : FI_Planning.DISP_Filtre.ZR_Equipe.RUPT_HautRupture1.LIB_Titre +Libellé FR: Vos équipes +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : FI_Planning.DISP_Filtre.ZR_Equipe.RUPT_BasRupture1 (6) +Toujours visible Non +Attribut de rupture 1 +06/08/2026 Isis_BO 3467 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Rupture de zone répétée : FI_Planning.DISP_Filtre.ZR_Equipe.RUPT_HautRupture1 (5) +Toujours visible Oui +Attribut de rupture 1 +Zone répétée : FI_Planning.DISP_Filtre.ZR_RdvAttente +Attribut zone répétée : FI_Planning.DISP_Filtre.ZR_RdvAttente.ATT_Description (2) +Champ associé LIB_Description +Propriété associée 1 +Liaison des données Planning_RDV.PL_IDIntervention:Intervention.IN_PKID.IN_RefInterne +Attribut zone répétée : FI_Planning.DISP_Filtre.ZR_RdvAttente.ATT_Id (3) +Champ associé LIB_Id +Propriété associée 1 +Liaison des données Planning_RDV.PL_PKID +Attribut zone répétée : FI_Planning.DISP_Filtre.ZR_RdvAttente.ATT_Titre (1) +Champ associé LIB_Titre +Propriété associée 1 +Bouton : FI_Planning.DISP_Filtre.ZR_RdvAttente.BTN_Valide +Libellé FR: V +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +06/08/2026 Isis_BO 3468 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Image fond FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Blueberries\Blueberries_Btn_Std.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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Planning.DISP_Filtre.ZR_RdvAttente.LIB_Description +Libellé FR: Description +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 +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 +Unicode Non +Transforme le & Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Isis_BO 3469 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Mise à blanc Oui +Texte Markdown Non +Liaison des données Planning_RDV.PL_IDIntervention:Intervention.IN_PKID.IN_RefInterne +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Planning.DISP_Filtre.ZR_RdvAttente.LIB_Id +Libellé FR: Id +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 +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 +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 +Liaison des données Planning_RDV.PL_PKID +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3470 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Libellé : FI_Planning.DISP_Filtre.ZR_RdvAttente.LIB_Titre +Libellé FR: Titre +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : FI_Planning.DISP_Filtre.ZR_Societe +Attribut zone répétée : FI_Planning.DISP_Filtre.ZR_Societe.ATT_Id (3) +Champ associé LIB_IdSociete +Propriété associée 1 +06/08/2026 Isis_BO 3471 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Attribut zone répétée : FI_Planning.DISP_Filtre.ZR_Societe.ATT_Nom (1) +Champ associé LIB_SansNom2 +Propriété associée 1 +Attribut zone répétée : FI_Planning.DISP_Filtre.ZR_Societe.ATT_Sel (4) +Champ associé INT_Sel +Propriété associée 1 +Attribut zone répétée : FI_Planning.DISP_Filtre.ZR_Societe.ATT_Titre (2) +Champ associé LIB_Titre +Propriété associée 1 +Interrupteur : FI_Planning.DISP_Filtre.ZR_Societe.INT_Sel +Valeur initiale 0 +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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 +06/08/2026 Isis_BO 3472 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Option format RTF Non +Texte Markdown Non +Mode menu ctx. +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Planning.DISP_Filtre.ZR_Societe.LIB_IdSociete +Libellé FR: id +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3473 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Libellé : FI_Planning.DISP_Filtre.ZR_Societe.LIB_SansNom2 +Libellé FR: Libellé +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Planning.DISP_Filtre.ZR_Societe.RUPT_HautRupture1.LIB_Titre +Libellé FR: Vos sociétés +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 +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 +06/08/2026 Isis_BO 3474 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : FI_Planning.DISP_Filtre.ZR_Societe.RUPT_BasRupture1 (6) +Toujours visible Non +Attribut de rupture 1 +Rupture de zone répétée : FI_Planning.DISP_Filtre.ZR_Societe.RUPT_HautRupture1 (5) +Toujours visible Oui +Attribut de rupture 1 +FI_Planning +Messages multilingues +06/08/2026 Isis_BO 3475 +¹ +.ssem +°N +Message +2000 FR: Semaine %1 +¹ N° mess. : numéro de message. + +Partie 3 › Fenêtre WINDEV › FI_Planning › Code des champs +FI_Planning +Code des champs +Déclarations globales de FI_Planning +procédure FI_Planning(gclPresentationPlanning est un PTableRDV dynamique=Null, +paramSupplementaire est un STParamFenetreAppelante=Null) +maProcMAJObjetRetourFI est une procédure = MAJObjetRetourFI +gclPresenFicheRDV est un PFicheRdv dynamique +gnModeRDV est un entier=0 //gnModeRDV=0 en Modification de RDV - gnModeRDV=1 en Création de RDV +gnIndiceRDV est un entier +gsChoixZR est une chaîne +gnIDStatutFait est un entier sur 8 octets = gpclListeStatutRendezVous.RechercheEtDonneIdDepuisLibelle( +"Fait") +gnIDStatutAnnule est un entier sur 8 octets = gpclListeStatutRendezVous.RechercheEtDonneIdDepuisValeur( +"98") +ghHDO,ghHFO sont des Heures +ghHDV,ghHFV sont des Heures +(ghHDO,ghHFO) = gpclFicheUtilisateurEnCours:HeuresOuvrablesRDV() +(ghHDV,ghHFV) = gpclFicheUtilisateurEnCours:HeuresVisiblesRDV() +gsdateInf est une Date = PLN_PL_RDV..DébutEtendueVisible +gsdateSup est une Date= PLN_PL_RDV..FinEtendueVisible +gsdateInf-=20 +gsdateSup+=20 +BTN_Jour..Enfoncé=Vrai +si HSurveille(Planning_RDV,MAJHSurveille,hNumEnrTous,hsAjout+hsModification)= Faux alors +Erreur("Impossible d'activer la surveillance : ", HErreurInfo()) +fin +Sablier() +si paramSupplementaire.sNomIDAppelant="" alors +Charge_ZR() +fin +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.sNomIDAppelant<>"" alors +selon paramSupplementaire.sNomIDAppelant +cas "InterventionRendezVous" : +ChargeRDVDossier() +cas "InterventionAjouteRendezVous" +ChargeSocieteIntervention() +fin +fin +local +LIB_Mois=CalendrierSelect(CAL_Planning) +LIB_Semaine=ChaîneConstruit("Semaine %1", DateVersNuméroDeSemaine(DateSys())) +CreaJourFerie() +ChargerRdvEnAttente() +si ZR_RdvAttente..Occurrence=0 alors +DISP_Filtre[1]..Visible=Faux +sinon +DISP_Filtre[1]..Visible=Vrai +fin +BTN_ChangeModeSVT..Visible = DonneDroitParamAppli(cParam_SuiviTempsAgd) +Fin d'initialisation de FI_Planning +06/08/2026 Isis_BO 3476 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Code des champs +si (paramSupplementaire.pclObjetAppelant=Null ou paramSupplementaire.sNomIDAppelant= +"InterventionAjouteRendezVous") et OngletEtat(FEN_Menu.ONG_FENETRE,"FI_Agenda3")<>voletInexistant alors +OngletFerme(FEN_Menu.ONG_FENETRE,"FI_Agenda3") +// ChargeParametresAgenda() +sinon +// ChangeZRModeCollab() +fin +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.sNomIDAppelant<>"" alors +si paramSupplementaire.sNomIDAppelant = "InterventionRendezVous" alors +ExécuteTraitement(FI_Planning.BTN_Afficher,trtClic) +fin +fin +Sablier(Faux) +Demande de mise à jour de l'affichage de FI_Planning +procédure DemandeMiseAJour(pclObjet est un objet dynamique=Null) +si OngletEtat(FEN_Menu.ONG_FENETRE,"FI_Agenda3")<>voletInexistant alors +OngletFerme(FEN_Menu.ONG_FENETRE,"FI_Agenda3") +fin +si gclPresentationPlanning<>Null _et_ (gclPresentationPlanning=pclObjet _ou_ pclObjet=Null) alors +SourceVersEcran("","gclPresentationPlanning") +fin +LIB_NBRdvAttente=ZR_RdvAttente..Occurrence +Clic sur BTN_Afficher +Sablier() +gsdateInf = PLN_PL_RDV..DébutEtendueVisible +gsdateSup = PLN_PL_RDV..FinEtendueVisible +gsdateInf-=20 +gsdateSup+=20 +ChangeZRModeCollab(gsdateInf,gsdateSup) +Enregistre_Preferences_Planning(gpclFicheUtilisateurEnCours.m_nPKID) +Sablier(Faux) +Clic sur BTN_Aujourd_hui +PlanningPositionDateHeure(PLN_PL_RDV, DateDuJour()) +CalendrierSelectPlus(CAL_Planning,PLN_PL_RDV..DébutEtendueVisible) +gsdateInf = PLN_PL_RDV..DébutEtendueVisible +gsdateSup = PLN_PL_RDV..FinEtendueVisible +gsdateInf-=20 +gsdateSup+=20 +ChangeZRModeCollab(gsdateInf,gsdateSup) +BTN_Jour..Enfoncé = Faux +BTN_Semaine..Enfoncé = Faux +BTN_Semaine5jrs..Enfoncé = Faux +BTN_Mois..Enfoncé = Faux +BTN_Aujourd_hui..Enfoncé = Vrai +Clic sur BTN_ChangeMode +Sablier() +si paramSupplementaire.pclObjetAppelant<>Null alors +si paramSupplementaire.sNomIDAppelant="InterventionAjouteRendezVous" +FEN_Menu.OuvreOuActive(FI_Agenda3,"Agenda",Vrai,*,DonneParam(DansOnglet,"FI_Planning",MoiMême..Nom, +maProcMAJObjetRetourFI,"","InterventionAjouteRendezVous",*,paramSupplementaire.pclObjetAppelant)) +sinon si paramSupplementaire.sNomIDAppelant="InterventionRendezVous" +FEN_Menu.OuvreOuActive(FI_Agenda3,"Agenda",Vrai,*,DonneParam(DansOnglet,"FI_Planning",MoiMême..Nom, +06/08/2026 Isis_BO 3477 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Code des champs +maProcMAJObjetRetourFI,"","InterventionRendezVous",*,paramSupplementaire.pclObjetAppelant)) +fin +sinon +FEN_Menu.OuvreOuActive(FI_Agenda3,"Agenda") +fin +Sablier(Faux) +Clic sur BTN_ChangeModeSVT +//Sablier() +//FEN_Menu.OuvreOuActive(FI_Planning,"Planning") +//Sablier(Faux) +Sablier() +FEN_Menu.OuvreOuActive(FI_Agenda_Suivi_Temps,"Suivi de temps") +Sablier(Faux) +Clic sur BTN_Fermer_fiche_planning +FermeVoletEtActiveLePrecedent(VoletDuChamp(DISP_Filtre)) +Clic sur BTN_Imprimer +si PlanningMode(PLN_PL_RDV)=plnModeSemaine alors +dDateDebutPlanning est une Date = PlanningPositionDateHeure(PLN_PL_RDV,plnDateDébut) +dDateFinPlanning est une Date = PlanningPositionDateHeure(PLN_PL_RDV,plnDateFin) +tabRdv est un tableau de RendezVous +clRdvPlus est un MTableauDeRDV +tabRdv = PlanningListeRendezVous(PLN_PL_RDV,"",dDateDebutPlanning,dDateFinPlanning) +pour tout unRdv de tabRdv +nIndice est un entier +nIndice=TableauCherche(gclPresentationPlanning.m_clTabModele,tcLinéaire,"m_nPKID",unRdv.ID,1) +si nIndice>0 alors +clRdv est MRdv +clRdv = gclPresentationPlanning.m_clTabModele[nIndice] +TableauAjoute(clRdvPlus:m_clTabModele,clRdv) +//gclPresentation.p_clCourant=gclPresentation:m_clTabModele[nIndice] +fin +fin +FEN_Menu.AffichageActif = Faux +iAperçu(i100) +iImprimeEtat(ETAT_Planning_Collaborateur,clRdvPlus) +FEN_Menu.AffichageActif = Vrai +sinon +Erreur("Veuillez choisir le mode semaine") +fin +Initialisation de BTN_Jour +//// ajoute la procédure de MAJ du bouton "Jour" +//PROCÉDURE INTERNE MAJBtn_Jour() +// BTN_Jour..Enfoncé=PlanningMode(PLN_PL_RDV)=plnModeJournée +//FIN +//PLN_PL_RDV..Traitement[trtChangementPériodePlanning]+=MAJBtn_Jour +Clic sur BTN_Jour +PlanningChangeMode(PLN_PL_RDV,plnModeJournée) +nLargeur est un entier=PLN_PL_RDV..Largeur +PLN_PL_RDV..LargeurJour=nLargeur-100 +FI_Planning.PLN_PL_RDV..GranularitéDurée=60 +06/08/2026 Isis_BO 3478 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Code des champs +FI_Planning.PLN_PL_RDV..GranularitéDéplacement=60 +CalendrierSelectPlus(CAL_Planning,PLN_PL_RDV..DébutEtendueVisible) +gsdateInf = PLN_PL_RDV..DébutEtendueVisible +gsdateSup = PLN_PL_RDV..FinEtendueVisible +gsdateInf-=20 +gsdateSup+=20 +ChangeZRModeCollab(gsdateInf,gsdateSup) +BTN_Jour..Enfoncé = Vrai +BTN_Semaine..Enfoncé = Faux +BTN_Semaine5jrs..Enfoncé = Faux +BTN_Mois..Enfoncé = Faux +BTN_Aujourd_hui..Enfoncé = Faux +Initialisation de BTN_Mois +// PROCÉDURE INTERNE MAJBtnMois() +// BTN_Mois..Enfoncé=PlanningMode(PLN_PL_RDV)=plnModeMois +// FIN +//PLN_PL_RDV..Traitement[trtChangementPériodePlanning]+=MAJBtnMois +Clic sur BTN_Mois +PlanningChangeMode(PLN_PL_RDV,plnModeMois) +nLargeur est un entier=PLN_PL_RDV..Largeur +PLN_PL_RDV..LargeurJour=(nLargeur-100)/31 +FI_Planning.PLN_PL_RDV..GranularitéDurée=1440 +FI_Planning.PLN_PL_RDV..GranularitéDéplacement=1440 +CalendrierSelectPlus(CAL_Planning,PLN_PL_RDV..DébutEtendueVisible) +gsdateInf = PLN_PL_RDV..DébutEtendueVisible +gsdateSup = PLN_PL_RDV..FinEtendueVisible +gsdateInf-=20 +gsdateSup+=20 +ChangeZRModeCollab(gsdateInf,gsdateSup) +BTN_Jour..Enfoncé = Faux +BTN_Semaine..Enfoncé = Faux +BTN_Semaine5jrs..Enfoncé = Faux +BTN_Mois..Enfoncé = Vrai +BTN_Aujourd_hui..Enfoncé = Faux +Clic sur BTN_PeriodePrecedente +PlanningAffichePériodePrécédente(PLN_PL_RDV) +gsdateInf = PLN_PL_RDV..DébutEtendueVisible +gsdateSup = PLN_PL_RDV..FinEtendueVisible +gsdateInf-=20 +gsdateSup+=20 +ChangeZRModeCollab(gsdateInf,gsdateSup) +Clic sur BTN_PeriodeSuivante +PlanningAffichePériodeSuivante(PLN_PL_RDV) +//dDateTest est une Date = PlanningPlageSélectionnée(PLN_PL_RDV, plnDateDébut) +//si dDateTest>gsdateSup alors +// ChangeZRModeCollab(gsdateInf,gsdateSup) +//FIN +gsdateInf = PLN_PL_RDV..DébutEtendueVisible +gsdateSup = PLN_PL_RDV..FinEtendueVisible +gsdateInf-=20 +gsdateSup+=20 +ChangeZRModeCollab(gsdateInf,gsdateSup) +Initialisation de BTN_Semaine +06/08/2026 Isis_BO 3479 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Code des champs +// +// PROCÉDURE INTERNE MAJBtnSemaine() +// nLargeur est un entier=PLN_PL_RDV..Largeur +// SI PlanningMode(PLN_PL_RDV)=plnModeSemaine _ET_ (PLN_PL_RDV..LargeurJour=(nLargeur-100)/7) +// BTN_Semaine..Enfoncé=Vrai +// SINON +// BTN_Semaine..Enfoncé=Faux +// FIN +// FIN +// +//PLN_PL_RDV..Traitement[trtChangementPériodePlanning]+=MAJBtnSemaine +Clic sur BTN_Semaine +PlanningChangeMode(PLN_PL_RDV,plnModeSemaine,7) +nLargeur est un entier=PLN_PL_RDV..Largeur +PLN_PL_RDV..LargeurJour=(nLargeur-100)/7 +FI_Planning.PLN_PL_RDV..GranularitéDurée=120 +FI_Planning.PLN_PL_RDV..GranularitéDéplacement=120 +CalendrierSelectPlus(CAL_Planning,PLN_PL_RDV..DébutEtendueVisible) +gsdateInf = PLN_PL_RDV..DébutEtendueVisible +gsdateSup = PLN_PL_RDV..FinEtendueVisible +gsdateInf-=20 +gsdateSup+=20 +ChangeZRModeCollab(gsdateInf,gsdateSup) +BTN_Jour..Enfoncé = Faux +BTN_Semaine..Enfoncé = Vrai +BTN_Semaine5jrs..Enfoncé = Faux +BTN_Mois..Enfoncé = Faux +BTN_Aujourd_hui..Enfoncé = Faux +Initialisation de BTN_Semaine5jrs +// PROCÉDURE INTERNE MAJBtnSemaine() +// nLargeur est un entier=PLN_PL_RDV..Largeur +// SI PlanningMode(PLN_PL_RDV)=plnModeSemaine _et_ (PLN_PL_RDV..LargeurJour=(nLargeur-100)/5) +// BTN_Semaine5jrs..Enfoncé=vrai +// SINON +// BTN_Semaine5jrs..Enfoncé=faux +// FIN +// FIN +// +//PLN_PL_RDV..Traitement[trtChangementPériodePlanning]+=MAJBtnSemaine +Clic sur BTN_Semaine5jrs +PlanningChangeMode(PLN_PL_RDV,plnModeSemaine,5) +nLargeur est un entier=PLN_PL_RDV..Largeur +PLN_PL_RDV..LargeurJour=(nLargeur-100)/5 +FI_Planning.PLN_PL_RDV..GranularitéDurée=120 +FI_Planning.PLN_PL_RDV..GranularitéDéplacement=120 +CalendrierSelectPlus(CAL_Planning,PLN_PL_RDV..DébutEtendueVisible) +gsdateInf = PLN_PL_RDV..DébutEtendueVisible +gsdateSup = PLN_PL_RDV..FinEtendueVisible +gsdateInf-=20 +gsdateSup+=20 +ChangeZRModeCollab(gsdateInf,gsdateSup) +BTN_Jour..Enfoncé = Faux +06/08/2026 Isis_BO 3480 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Code des champs +BTN_Semaine..Enfoncé = Faux +BTN_Semaine5jrs..Enfoncé = Vrai +BTN_Mois..Enfoncé = Faux +BTN_Aujourd_hui..Enfoncé = Faux +Sélection d'un jour dans CAL_Planning +dDateSelection est une Date +si BTN_Jour..Enfoncé=Vrai alors +dDateSelection=CalendrierSelect(CAL_Planning) +PlanningPositionDateHeure(PLN_PL_RDV, dDateSelection) +fin +si BTN_Semaine..Enfoncé=Vrai ou BTN_Semaine5jrs..Enfoncé=Vrai alors +dDateSelection=PremierJourDeLaSemaine(CalendrierSelect(CAL_Planning)) +PlanningPositionDateHeure(PLN_PL_RDV, dDateSelection) +fin +si BTN_Mois..Enfoncé=Vrai alors +dDateSelection=PremierJourDuMois(CalendrierSelect(CAL_Planning)) +PlanningPositionDateHeure(PLN_PL_RDV, dDateSelection) +fin +si BTN_Aujourd_hui..Enfoncé=Vrai alors +dDateSelection=DateDuJour() +PlanningPositionDateHeure(PLN_PL_RDV, dDateSelection) +fin +ExécuteTraitement(FI_Planning.BTN_Afficher,trtClic) +A chaque modification de INT_Sel +gsChoixZR="Tous" +si INT_Sel=1 alors +ZR_Societe..Etat=Grisé +ZR_Equipe..Etat=Grisé +ChangeZRModeTous() +sinon +ZR_Societe..Etat=Actif +ZR_Equipe..Etat=Actif +ChangeZRModeEquipe() +fin +Enregistre_Preferences_Planning(gpclFicheUtilisateurEnCours.m_nPKID) +A chaque modification de INT_Sel ( ZR_Collaborateur ) +gsChoixZR="Collaborateur" +//gsdateInf = PLN_PL_RDV..DébutEtendueVisible +//gsdateSup = PLN_PL_RDV..FinEtendueVisible +//gsdateInf-=20 +//gsdateSup+=20 +//ChangeZRModeCollab(gsdateInf,gsdateSup) +//Enregistre_Preferences_Planning(gpclFicheUtilisateurEnCours.m_nPKID) +A chaque modification de INT_Sel ( ZR_Equipe ) +gsChoixZR="Equipe" +ChangeZRModeEquipe() +//Enregistre_Preferences_Planning(gpclFicheUtilisateurEnCours.m_nPKID) +Initialisation de ZR_RdvAttente +si ZR_RdvAttente..Occurrence=0 alors +DISP_Filtre[1]..Visible=Faux +sinon +06/08/2026 Isis_BO 3481 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Code des champs +DISP_Filtre[1]..Visible=Vrai +fin +Clic sur BTN_Valide ( ZR_RdvAttente ) +clPresentation est une PTableRDV dynamique =Null +clPresentation=PTableRDV.gNouvellePresentation(2,ATT_Id,-1,-1) +clPresentation.p_clCourant=clPresentation:m_clTabModele[1] +clPresentationFiche est un PFicheRdv <- clPresentation.Modifier() +//ChangeFenêtreSource(CFI_RDV,FI_Fiche_Rdv,clPresentationFiche,DonneParam(DansChampFI,"FI_Planning",Moi +Même..Nom,maProcMAJObjetRetourFI,"Modification d'un Rendez-vous","Modifier")) +Ouvre(FEN_Fiche_RDV_F,clPresentationFiche,DonneParam(DansChampFI,"FI_Planning",MoiMême..Nom, +maProcMAJObjetRetourFI,"Modification d'un Rendez-vous","Modifier")) +//FI_Planning..Plan=1 +//DonneFocus(CFI_RDV) +A chaque modification de INT_Sel ( ZR_Societe ) +gsChoixZR="Société" +ChangeZRModeSociete2() +//Enregistre_Preferences_Planning(gpclFicheUtilisateurEnCours.m_nPKID) +Clic sur IMG_Parametrage +si Ouvre(FEN_Parametres_Granularite_RDV) alors +nGranularite est un entier = gpclFicheUtilisateurEnCours:GranulariteRDV() +(ghHDO,ghHFO) = gpclFicheUtilisateurEnCours:HeuresOuvrablesRDV() +(ghHDV,ghHFV) = gpclFicheUtilisateurEnCours:HeuresVisiblesRDV() +FI_Planning.PLN_PL_RDV..GranularitéDurée = nGranularite +FI_Planning.PLN_PL_RDV..GranularitéDéplacement = nGranularite +FI_Planning.PLN_PL_RDV.HeureOuvrableDébut = ghHDO +FI_Planning.PLN_PL_RDV.HeureOuvrableFin = ghHFO +FI_Planning.PLN_PL_RDV.HeureAffichée(ghHDV,ghHFV) +fin +Initialisation de LIB_Mois +procédure interne MAJLibMois() +LIB_Mois=PLN_PL_RDV..DébutEtendueVisible +fin +PLN_PL_RDV..Traitement[trtChangementPériodePlanning]+=MAJLibMois +Initialisation de LIB_Semaine +procédure interne MAJLibSemaine() +d est une Date = PLN_PL_RDV..DébutEtendueVisible +LIB_Semaine=ChaîneConstruit("Semaine %1", DateVersNuméroDeSemaine(d)) +fin +PLN_PL_RDV..Traitement[trtChangementPériodePlanning]+=MAJLibSemaine +Initialisation de PLN_PL_RDV +si Val(gpclFicheUtilisateurEnCours:GranulariteRDV()) > 0 alors +FI_Planning.PLN_PL_RDV..GranularitéDurée = Val(gpclFicheUtilisateurEnCours:GranulariteRDV()) +FI_Planning.PLN_PL_RDV..GranularitéDéplacement = Val(gpclFicheUtilisateurEnCours:GranulariteRDV()) +FI_Planning.PLN_PL_RDV.HeureOuvrableDébut = ghHDO +06/08/2026 Isis_BO 3482 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Code des champs +FI_Planning.PLN_PL_RDV.HeureOuvrableFin = ghHFO +FI_Planning.PLN_PL_RDV.HeureAffichée(ghHDV,ghHFV) +fin +Avant création du rendez-vous dans PLN_PL_RDV +procédure AvantCréation(rdvCréé est un RendezVous) +nCompteur est un entier +nIdSociete est un entier sur 8 octets +pour tout ligne de ZR_Societe +si FI_Planning.DISP_Filtre.ZR_Societe.ATT_Sel=1 alors +nCompteur++ +nIdSociete=Val(FI_Planning.DISP_Filtre.ZR_Societe.ATT_Id) +fin +fin +//gclPresentation.p_clCourant=clPresentationFiche:p_clCourant +//gclPresentation.p_clCourant.m_dhDateDebut=rdvCréé.DateDébut +si paramSupplementaire.sNomIDAppelant="InterventionAjouteRendezVous" alors +paramSupplementaire.pclObjetAppelant.m_bNouveau=Vrai +paramSupplementaire.pclObjetAppelant.m_dhDateDebut=rdvCréé.DateDébut +paramSupplementaire.pclObjetAppelant.m_dhDateFin=rdvCréé.DateFin +paramSupplementaire.pclObjetAppelant.m_nCreationUser= gpclFicheUtilisateurEnCours.m_nPKID +paramSupplementaire.pclObjetAppelant.m_nModifUser=gpclFicheUtilisateurEnCours.m_nPKID +paramSupplementaire.pclObjetAppelant.m_nIDCollaborateur=rdvCréé.Ressource +pour tout ParametreMetier avec PA_Code=14 +si ParametreMetier.PA_Valeur="1" alors +paramSupplementaire.pclObjetAppelant.m_nIDTypeActivite=ParametreMetier.PA_PKID +fin +fin +Ouvre(FEN_Fiche_RDV_F,paramSupplementaire.pclObjetAppelant,DonneParam(DansChampFI,"FI_Planning", +MoiMême..Nom,maProcMAJObjetRetourFI,"Création d'un Rendez-vous","Nouveau")) +//ChangeFenêtreSource(CFI_RDV,FI_Fiche_Rdv,paramSupplementaire.pclObjetAppelant,DonneParam(DansCham +pFI,"FI_Planning",MoiMême..Nom,maProcMAJObjetRetourFI,"Création d'un Rendez-vous","Nouveau")) +//ExécuteTraitement(FI_Planning.BTN_Afficher,trtClic) +sinon +clPresentationFiche est un PFicheRdv<-gclPresentationPlanning.Nouveau() +clPresentationFiche.m_bNouveau=Vrai +si nCompteur=1 alors +clPresentationFiche.m_nIDSociete=nIdSociete +fin +clPresentationFiche.m_dhDateDebut=rdvCréé.DateDébut +clPresentationFiche.m_dhDateFin=rdvCréé.DateFin +clPresentationFiche.m_nCreationUser= gpclFicheUtilisateurEnCours.m_nPKID +clPresentationFiche.m_nModifUser=gpclFicheUtilisateurEnCours.m_nPKID +clPresentationFiche.m_nIDCollaborateur=rdvCréé.Ressource +pour tout ParametreMetier avec PA_Code=14 +si ParametreMetier.PA_Valeur="1" alors +clPresentationFiche.m_nIDTypeActivite=ParametreMetier.PA_PKID +fin +fin +//ChangeFenêtreSource(CFI_RDV,FI_Fiche_Rdv,clPresentationFiche,DonneParam(DansChampFI,"FI_Planning" +,MoiMême..Nom,maProcMAJObjetRetourFI,"Création d'un Rendez-vous","Nouveau")) +Ouvre(FEN_Fiche_RDV_F,clPresentationFiche,DonneParam(DansChampFI,"FI_Planning",MoiMême..Nom, +maProcMAJObjetRetourFI,"Création d'un Rendez-vous","Nouveau")) +//ExécuteTraitement(FI_Planning.BTN_Afficher,trtClic) +fin +//FI_Planning..Plan=1 +//DonneFocus(CFI_RDV) +gnModeRDV=1 +Entrée en saisie d'un rendez-vous de PLN_PL_RDV +06/08/2026 Isis_BO 3483 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Code des champs +procédure EntréeEnSaisie(rdvEdité est un RendezVous) +si gnModeRDV=0 alors +nIndice est un entier +nIndice=TableauCherche(gclPresentationPlanning.m_clTabModele,tcLinéaire,"m_nPKID",rdvEdité.ID,1) +si nIndice<>-1 alors +gclPresentationPlanning.p_clCourant=gclPresentationPlanning:m_clTabModele[nIndice] +sinon +si EnModeTest() alors Trace("RDV Non Trouvé...") +retour +fin +clPresentationFiche est un PFicheRdv <- gclPresentationPlanning.Modifier() +si paramSupplementaire.pclObjetAppelant<>Null et (paramSupplementaire.sNomIDAppelant<> +"InterventionAjouteRendezVous" ou paramSupplementaire.sNomIDAppelant= "InterventionRendezVous") +alors +clPresentationFiche<-paramSupplementaire.pclObjetAppelant +sinon +pclListePersonne est une PTablePersonne dynamique +pclListePersonne=PTablePersonne.gNouvellePresentation(6,clPresentationFiche.m_nIDLieu, +clPresentationFiche.m_nIDIntervention) +pour i= 1 _à_ pclListePersonne.m_clTabModele..Occurrence +clUnPersonne est un MPersonne +si pclListePersonne.m_clTabModele[i].m_nPKID<>clPresentationFiche.m_nIDPersonne alors +clUnPersonne.m_sNom=pclListePersonne.m_clTabModele[i].m_sNom +clUnPersonne.m_sPrenom=pclListePersonne.m_clTabModele[i].m_sPrenom +clUnPersonne.m_nPKID=pclListePersonne.m_clTabModele[i].m_nPKID +TableauAjoute(clPresentationFiche.m_clListePersonne,clUnPersonne) +fin +fin +fin +clPresentationFiche:m_clLieu.m_clAdresse.m_sPresentation=Remplace(clPresentationFiche:m_clLieu. +m_clAdresse.m_sPresentation,[RC,TAB],"-") +//ChangeFenêtreSource(CFI_RDV,FI_Fiche_Rdv,clPresentationFiche,DonneParam(DansChampFI,"FI_Planning" +,MoiMême..Nom,maProcMAJObjetRetourFI,"Modification d'un Rendez-vous","Modifier")) +fin +gnModeRDV=0 +//FI_Planning..Plan=1 +//DonneFocus(CFI_RDV) +Sortie de saisie du rendez-vous de PLN_PL_RDV +procédure SortieDeSaisie(rdvModifié est un RendezVous) +Sélection d'un rendez-vous de PLN_PL_RDV +procédure Sélection(rdvSélectionné est un RendezVous) +nIndice est un entier +nIndice=TableauCherche(gclPresentationPlanning.m_clTabModele,tcLinéaire,"m_nPKID",rdvSélectionné.ID,1) +si nIndice<>-1 alors +gclPresentationPlanning.p_clCourant=gclPresentationPlanning:m_clTabModele[nIndice] +fin +Déplacement d'un rendez-vous dans PLN_PL_RDV +procédure Déplacement(rdvDéplacé est un RendezVous) +ModifRDVDirectementPlanning(rdvDéplacé,Vrai) +//ExécuteTraitement(FI_Planning.BTN_Afficher,trtClic) +Redimensionnement d'un rendez-vous de PLN_PL_RDV +06/08/2026 Isis_BO 3484 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Code des champs +procédure Redimensionnement(rdvRedimensionné est un RendezVous) +ModifRDVDirectementPlanning(rdvRedimensionné,Faux) +//ExécuteTraitement(FI_Planning.BTN_Afficher,trtClic) +Suppression d'un rendez-vous de PLN_PL_RDV +procédure Suppression(rdvSupprimé est un RendezVous) +SupprimerRdv(Val(rdvSupprimé.ID)) +//ExécuteTraitement(FI_Planning.BTN_Afficher,trtClic) +A chaque changement de période de PLN_PL_RDV +CalendrierSelectPlus(CAL_Planning,PLN_PL_RDV..DébutEtendueVisible) +gsdateInf = PLN_PL_RDV..DébutEtendueVisible +gsdateSup = PLN_PL_RDV..FinEtendueVisible +gsdateInf-=20 +gsdateSup+=20 +ChangeZRModeCollab(gsdateInf,gsdateSup) +Réaffectation d'un rendez-vous dans PLN_PL_RDV +procédure DéplacementRessource(rdvRessourceDéplacé est un RendezVous) +//MessageErreur est une chaine +//MessageErreur=Gestion_Conflit(rdvRessourceDéplacé.DateDébut,rdvRessourceDéplacé.DateFin,rdvRessourceD +éplacé.ID,rdvRessourceDéplacé.Note) +//SI MessageErreur<>"" ALORS +// Erreur("Vous ne pouvez pas réaffecter ce rendez-vous pour les utiliateurs +suivant:"+RC+RC+MessageErreur+RC+RC+"Conflit de Rendez-vous") +// HLitRecherchePremier(Planning_RDV,PL_PKID,rdvRessourceDéplacé.ID) +// SI HTrouve(Planning_RDV) ALORS +// rdvRessourceDéplacé.DateDébut=Planning_RDV.PL_DateDebut +// rdvRessourceDéplacé.DateFin=Planning_RDV.PL_DateFin +// FIN +// RETOUR +//FIN +// HLitRecherchePremier(Planning_RDV,PL_PKID,rdvRessourceDéplacé.ID) +// Planning_RDV.PL_DateDebut=rdvRessourceDéplacé.DateDébut +// Planning_RDV.PL_DateFin=rdvRessourceDéplacé.DateFin +// Planning_RDV.ModifDate=DateHeureSys() +// Planning_RDV.ModifUser=gpclFicheUtilisateurEnCours.m_nPKID +// Planning_RDV.PL_IDCollaborateur=rdvRessourceDéplacé.Ressource +// HModifie(Planning_RDV) +//rdvRessourceDéplacé.ID=ExtraitChaîne(rdvRessourceDéplacé.ID,1,";",DepuisDébut) +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur PLN_PL_RDV +si PLN_PL_RDV..Etat=AffichageSeulement alors +retour +fin +nCompteur est un entier +nIdSociete est un entier sur 8 octets +pour tout ligne de ZR_Societe +si FI_Planning.DISP_Filtre.ZR_Societe.ATT_Sel=1 alors +nCompteur++ +06/08/2026 Isis_BO 3485 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Code des champs +nIdSociete=Val(FI_Planning.DISP_Filtre.ZR_Societe.ATT_Id) +fin +fin +si PLN_PL_RDV=0 alors +si paramSupplementaire.sNomIDAppelant="InterventionAjouteRendezVous" alors +paramSupplementaire.pclObjetAppelant.m_bNouveau=Vrai +paramSupplementaire.pclObjetAppelant.m_dhDateDebut=PLN_PL_RDV..DateDébut +paramSupplementaire.pclObjetAppelant.m_dhDateFin=PLN_PL_RDV..DateFin +paramSupplementaire.pclObjetAppelant.m_nCreationUser= gpclFicheUtilisateurEnCours.m_nPKID +paramSupplementaire.pclObjetAppelant.m_nModifUser=gpclFicheUtilisateurEnCours.m_nPKID +paramSupplementaire.pclObjetAppelant.m_nIDCollaborateur=PLN_PL_RDV..RessourceSélectionnée +pour tout ParametreMetier avec PA_Code=14 +si ParametreMetier.PA_Valeur="1" alors +paramSupplementaire.pclObjetAppelant.m_nIDTypeActivite=ParametreMetier.PA_PKID +fin +fin +//ChangeFenêtreSource(CFI_RDV,FI_Fiche_Rdv,paramSupplementaire.pclObjetAppelant,DonneParam(DansCham +pFI,"FI_Planning",MoiMême..Nom,maProcMAJObjetRetourFI,"Création d'un Rendez-vous","Nouveau")) +Ouvre(FEN_Fiche_RDV_F,paramSupplementaire.pclObjetAppelant,DonneParam(DansChampFI,"FI_Planning", +MoiMême..Nom,maProcMAJObjetRetourFI,"Création d'un Rendez-vous","Nouveau")) +//ExécuteTraitement(FI_Planning.BTN_Afficher,trtClic) +sinon +clPresentationFiche est un PFicheRdv<-gclPresentationPlanning.Nouveau() +clPresentationFiche.m_bNouveau=Vrai +si nCompteur=1 alors +clPresentationFiche.m_nIDSociete=nIdSociete +fin +clPresentationFiche.m_dhDateDebut=PLN_PL_RDV..DateDébut +clPresentationFiche.m_dhDateFin=PLN_PL_RDV..DateFin +clPresentationFiche.m_nCreationUser= gpclFicheUtilisateurEnCours.m_nPKID +clPresentationFiche.m_nModifUser=gpclFicheUtilisateurEnCours.m_nPKID +clPresentationFiche.m_nIDCollaborateur=PLN_PL_RDV..RessourceSélectionnée +pour tout ParametreMetier avec PA_Code=14 +si ParametreMetier.PA_Valeur="1" alors +clPresentationFiche.m_nIDTypeActivite=ParametreMetier.PA_PKID +fin +fin +//ChangeFenêtreSource(CFI_RDV,FI_Fiche_Rdv,clPresentationFiche,DonneParam(DansChampFI,"FI_Planning" +,MoiMême..Nom,maProcMAJObjetRetourFI,"Création d'un Rendez-vous","Nouveau")) +Ouvre(FEN_Fiche_RDV_F,clPresentationFiche,DonneParam(DansChampFI,"FI_Planning",MoiMême..Nom, +maProcMAJObjetRetourFI,"Création d'un Rendez-vous","Nouveau")) +//ExécuteTraitement(FI_Planning.BTN_Afficher,trtClic) +fin +//FI_Planning..Plan=1 +//DonneFocus(CFI_RDV) +gnModeRDV=1 +sinon +pclPresentationFiche est un PFicheRdv dynamique +quand exception dans +pclPresentationFiche <- gclPresentationPlanning.Modifier() +faire +si paramSupplementaire:pclObjetAppelant:m_clModeleCourant:m_nPKID > 0 alors +nIndice est un entier +nIndice=TableauCherche(gclPresentationPlanning.m_clTabModele,tcLinéaire,"m_nPKID", +paramSupplementaire:pclObjetAppelant:m_clModeleCourant:m_nPKID,1) +si nIndice<>-1 alors +gclPresentationPlanning.p_clCourant=gclPresentationPlanning:m_clTabModele[nIndice] +fin +06/08/2026 Isis_BO 3486 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Code des champs +fin +pclPresentationFiche <- gclPresentationPlanning.Modifier() +fin +Ouvre(FEN_Fiche_RDV_F,pclPresentationFiche,DonneParam(DansChampFI,"fi_agenda3",MoiMême..Nom, +maProcMAJObjetRetourFI,"Modification d'un rendez-vous","modifier")) +//ExécuteTraitement(FI_Planning.BTN_Afficher,trtClic) +fin +FI_Planning +Procédures +Procédure locale AfficheZR +// Résumé : +// Syntaxe : +// AfficheZR () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AfficheZR() +si ZR_Societe..Occurrence<=1 alors +DISP_Filtre[2]..Visible=Faux +sinon +DISP_Filtre[2]..Visible=Vrai +fin +si ZR_Equipe..Occurrence<=1 alors +DISP_Filtre[3]..Visible=Faux +pour toute ligne de ZR_Collaborateur +ZR_Collaborateur.ATT_Titre="Vos Collaborateurs" +fin +sinon +DISP_Filtre[3]..Visible=Vrai +fin +si ZR_Collaborateur..Occurrence<1 alors +DISP_Filtre[4]..Visible=Faux +sinon +DISP_Filtre[4]..Visible=Vrai +fin +Procédure locale ChangeZRModeCollab +// Résumé : +procédure ChangeZRModeCollab(Date_Inf est une Date="", Date_Sup est une Date="") +nCompteur est un entier +sCollab est une chaîne +sRefInterne est une chaîne +//POUR TOUT Collaborateur +06/08/2026 Isis_BO 3487 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +// PlanningSupprimeRessource(PLN_PL_RDV,Collaborateur.CO_PKID) +//FIN +PlanningSupprimeTout(PLN_PL_RDV) +pour toute ligne de ZR_Collaborateur +si ATT_Sel1=1 alors +nCompteur++ +sCollab+=[";"]+FI_Planning.DISP_Filtre.ZR_Collaborateur.ATT_Id +PlanningAjouteRessource(PLN_PL_RDV,ZR_Collaborateur.ATT_Nom+gLien(ZR_Collaborateur.ATT_Id)) +fin +fin +si sCollab="" alors +sCollab="0" +fin +si nCompteur=0 alors +PLN_PL_RDV..Etat=AffichageSeulement +gclPresentationPlanning=PTableRDV.gNouvellePresentation(3,-1,-1,sCollab,Date_Inf,Date_Sup) +retour +sinon +PLN_PL_RDV..Etat=Actif +Sablier() +gclPresentationPlanning=PTableRDV.gNouvellePresentation(3,-1,-1,sCollab,Date_Inf,Date_Sup) +Sablier(Faux) +PlanningAffiche(PLN_PL_RDV) +fin +si gclPresentationPlanning.m_clTabModele..Occurrence >0 alors +LIB_Mois=PLN_PL_RDV..DébutEtendueVisible +d est une Date = PLN_PL_RDV..DébutEtendueVisible +LIB_Semaine=ChaîneConstruit("Semaine %1", DateVersNuméroDeSemaine(d)) +nIdTypeIntervention est un entier sur 8 octets +pour tout ParametreMetier avec PA_Code=14 +si ParametreMetier.PA_Valeur="1" alors +nIdTypeIntervention=ParametreMetier.PA_PKID +fin +fin +pour i=1 _à_ gclPresentationPlanning.m_clTabModele..Occurrence +scouleur est une chaîne ANSI = DonneCouleurRDV(gclPresentationPlanning.m_clTabModele[i]. +m_nIDTypeActivite) +sEtatCouleur est une chaîne ANSI = DonneEtatRDV(gclPresentationPlanning.m_clTabModele[i].m_n +IDStatut) +PLN_PL_RDV[i]..Bulle=gclPresentationPlanning.m_clTabModele[i].m_clTypeActivite.m_sLibelle + RC + +gclPresentationPlanning.m_clTabModele[i].DateRendezVous +RC+ gclPresentationPlanning.m_clTabModele[ +i].AdresseLieu +si PLN_PL_RDV[i]..Note>0 alors +PLN_PL_RDV[i]..Image=fExtraitChemin(IMG_Lien, fFichier + fExtension) +fin +si gclPresentationPlanning.m_clTabModele[i].m_nIDTypeActivite = nIdTypeIntervention alors +si gclPresentationPlanning.m_clTabModele[i].m_nIDIntervention<>0 alors +HLitRecherchePremier(Intervention,IN_PKID,gclPresentationPlanning.m_clTabModele[i].m_n +IDIntervention) +sRefInterne=Intervention.IN_RefInterne +fin +PLN_PL_RDV[i]..titre= "Intervention"+" n° "+sRefInterne +fin +PLN_PL_RDV[i]..CouleurFond = scouleur +PLN_PL_RDV[i]..Auteur = sEtatCouleur +fin +06/08/2026 Isis_BO 3488 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +si ZR_RdvAttente..Occurrence=0 alors +DISP_Filtre[1]..Visible=Faux +sinon +DISP_Filtre[1]..Visible=Vrai +fin +fin +Procédure locale ChangeZRModeEquipe +// Résumé : +procédure ChangeZRModeEquipe() +nSelectSansEquipe est un entier +nSelectAvecEquipe est un entier +IdEquipe est une chaîne +sIdCollab est une chaîne +sIdSociete est une chaîne +pour toute ligne de ZR_Societe +si FI_Planning.DISP_Filtre.ZR_Societe.ATT_Sel=1 alors +sIdSociete+=[";"]+ZR_Societe.ATT_Id +fin +fin +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +reqCollab est une Requête SQL = +[ +SELECT CO_Nom,CO_Prenom,CO_PKID,Equipe.EQ_Nom,Equipe.EQ_PKID FROM Collaborateur +LEFT OUTER JOIN Equipe_Collaborateur ON Equipe_Collaborateur.EC_IDCollaborateur=Collaborateur. +CO_PKID +LEFT OUTER JOIN Equipe ON Equipe.EQ_PKID=Equipe_Collaborateur.EC_IDEquipe +WHERE Equipe.EQ_PKID IN ({P_IdEquipe}) AND Collaborateur.CO_AuPlanning=1 +ORDER BY EQ_Nom,CO_Nom +] +pour toute ligne de ZR_Equipe +si FI_Planning.DISP_Filtre.ZR_Equipe.ATT_Sel=1 alors +si ZR_Equipe.ATT_Id=0 alors +nSelectSansEquipe++ +sinon +nSelectAvecEquipe++ +fin +IdEquipe +=[";"]+ZR_Equipe.ATT_Id +fin +fin +reqCollab.P_IdEquipe=IdEquipe +HExécuteRequête(reqCollab,hRequêteDéfaut) +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +pour tout reqCollab +sIdCollab +=[";"]+reqCollab.CO_PKID +si reqCollab.EQ_Nom<>"" alors +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom,reqCollab. +EQ_Nom,reqCollab.CO_PKID,0,1) +sinon +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom,"Sans équipe", +reqCollab.CO_PKID,0,0) +fin +// ZoneRépétéeSelectPlus(ZR_Collaborateur) +fin +HAnnuleDéclaration(reqCollab) +si nSelectSansEquipe>0 alors +si nSelectAvecEquipe=0 alors +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +pour toute ligne de ZR_Equipe +si ZR_Equipe.ATT_Id=0 alors +nSelectSansEquipe++ +06/08/2026 Isis_BO 3489 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +sinon +nSelectAvecEquipe++ +fin +IdEquipe +=[";"]+ZR_Equipe.ATT_Id +fin +reqCollab.P_IdEquipe=IdEquipe +HExécuteRequête(reqCollab,hRequêteDéfaut) +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +pour tout reqCollab +sIdCollab +=[";"]+reqCollab.CO_PKID +fin +HAnnuleDéclaration(reqCollab) +fin +reqcollabsansequipe est une Requête SQL = +[ +SELECT DISTINCT CO_Nom,CO_Prenom,CO_PKID FROM Collaborateur +INNER JOIN Societe_Collaborateur ON Societe_Collaborateur.SC_IDCollaborateur=Collaborateur. +CO_PKID +WHERE Societe_Collaborateur.SC_IDCSociete IN ({P_IdSoc}) AND Collaborateur.CO_PKID NOT IN ( +{P_IdCollab}) AND Collaborateur.CO_AuPlanning=1 +ORDER BY CO_Nom,CO_Prenom +] +si sIdCollab<>"" alors +reqcollabsansequipe.P_IdCollab=sIdCollab +sinon +sIdCollab=-1 +reqcollabsansequipe.P_IdCollab=sIdCollab +fin +reqcollabsansequipe.P_IdSoc=sIdSociete +HExécuteRequête(reqcollabsansequipe,hRequêteDéfaut) +pour tout reqcollabsansequipe +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqcollabsansequipe.CO_Nom+" "+reqcollabsansequipe. +CO_Prenom,"Sans équipe",reqcollabsansequipe.CO_PKID,0,0) +fin +HAnnuleDéclaration(reqcollabsansequipe) +fin +gsdateInf = PLN_PL_RDV..DébutEtendueVisible +gsdateSup = PLN_PL_RDV..FinEtendueVisible +gsdateInf-=20 +gsdateSup+=20 +//ChangeZRModeCollab(gsdateInf,gsdateSup) +AfficheZR() +Procédure locale ChangeZRModeSociete2 +// Résumé : +// Syntaxe : +procédure ChangeZRModeSociete2() +IdSoc,sEquipe est une chaîne +nSelectSansEquipe,nSelectAvecEquipe sont des entiers +req est une Requête SQL = +[ +SELECT EQ_Nom,EQ_PKID FROM Societe +INNER JOIN Equipe ON Equipe.EQ_IDSociete=Societe.SO_PKID +WHERE Societe.SO_PKID IN ({P_IdSOc}) +ORDER BY EQ_Nom +] +pour toute ligne de ZR_Societe +si FI_Planning.DISP_Filtre.ZR_Societe.ATT_Sel=1 alors +si IdSoc="" alors +IdSoc=ZR_Societe.ATT_Id +sinon +IdSoc+=";"+ZR_Societe.ATT_Id +06/08/2026 Isis_BO 3490 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +fin +fin +fin +req.P_IdSOc=IdSoc +HExécuteRequête(req,hRequêteDéfaut) +ZoneRépétéeSupprimeTout(ZR_Equipe) +pour tout req +ZoneRépétéeAjouteLigne(ZR_Equipe,req.EQ_Nom,"Vos équipes",req.EQ_PKID,0) +sEquipe+=[";"]+req.EQ_PKID +nSelectAvecEquipe++ +fin +ZoneRépétéeAjouteLigne(ZR_Equipe,"Sans équipe","Vos équipes",0,0) +sEquipe+=[";"]+0 +nSelectSansEquipe++ +HAnnuleDéclaration(req) +reqCollab est une Requête SQL = +[ +SELECT CO_Nom,CO_Prenom,CO_PKID,Equipe.EQ_Nom,Equipe.EQ_PKID FROM Collaborateur +LEFT OUTER JOIN Equipe_Collaborateur ON Equipe_Collaborateur.EC_IDCollaborateur=Collaborateur. +CO_PKID +LEFT OUTER JOIN Equipe ON Equipe.EQ_PKID=Equipe_Collaborateur.EC_IDEquipe +WHERE Equipe.EQ_PKID IN ({P_IdEquipe}) AND Collaborateur.CO_AuPlanning=1 +ORDER BY EQ_Nom,CO_Nom +] +reqCollab.P_IdEquipe=sEquipe +HExécuteRequête(reqCollab,hRequêteDéfaut) +sIdCollab est une chaîne +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +pour tout reqCollab +sIdCollab +=[";"]+reqCollab.CO_PKID +si reqCollab.EQ_Nom<>"" alors +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom,reqCollab +.EQ_Nom,reqCollab.CO_PKID,0,0) +sinon +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom, +"Sans équipe",reqCollab.CO_PKID,0,0) +fin +fin +HAnnuleDéclaration(reqCollab) +IdEquipe est une chaîne +si nSelectSansEquipe>0 alors +si nSelectAvecEquipe=0 alors +pour toute ligne de ZR_Equipe +si ZR_Equipe.ATT_Id<>0 alors +IdEquipe +=[";"]+ZR_Equipe.ATT_Id +fin +reqCollab.P_IdEquipe=IdEquipe +HExécuteRequête(reqCollab,hRequêteDéfaut) +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +pour tout reqCollab +sIdCollab +=[";"]+reqCollab.CO_PKID +fin +HAnnuleDéclaration(reqCollab) +fin +fin +reqcollabsansequipe est une Requête SQL = +[ +SELECT DISTINCT CO_Nom,CO_Prenom,CO_PKID FROM Collaborateur +INNER JOIN Societe_Collaborateur ON Societe_Collaborateur.SC_IDCollaborateur=Collaborateur. +CO_PKID +WHERE Societe_Collaborateur.SC_IDCSociete IN ({P_IdSoc}) AND Collaborateur.CO_PKID NOT IN ( +{P_IdCollab}) AND Collaborateur.CO_AuPlanning=1 +ORDER BY CO_Nom,CO_Prenom +06/08/2026 Isis_BO 3491 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +] +si sIdCollab<>"" alors +reqcollabsansequipe.P_IdCollab=sIdCollab +sinon +sIdCollab=-1 +reqcollabsansequipe.P_IdCollab=sIdCollab +fin +reqcollabsansequipe.P_IdSoc=IdSoc +HExécuteRequête(reqcollabsansequipe,hRequêteDéfaut) +pour tout reqcollabsansequipe +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqcollabsansequipe.CO_Nom+" "+reqcollabsansequipe +.CO_Prenom,"Sans équipe",reqcollabsansequipe.CO_PKID,0,0) +fin +HAnnuleDéclaration(reqcollabsansequipe) +fin +gsdateInf = PLN_PL_RDV..DébutEtendueVisible +gsdateSup = PLN_PL_RDV..FinEtendueVisible +gsdateInf-=20 +gsdateSup+=20 +//ChangeZRModeCollab(gsdateInf,gsdateSup) +AfficheZR() +Procédure locale ChangeZRModeTous +// Résumé : +procédure ChangeZRModeTous() +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +reqCollab est une Requête SQL = +[ +SELECT CO_Nom,CO_Prenom,CO_PKID FROM Collaborateur +WHERE Collaborateur.CO_AuPlanning=1 +ORDER BY CO_Nom +] +HExécuteRequête(reqCollab,hRequêteDéfaut) +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +pour tout reqCollab +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom, +"Vos collaborateurs",reqCollab.CO_PKID,0,0) +fin +HAnnuleDéclaration(reqCollab) +gsdateInf = PLN_PL_RDV..DébutEtendueVisible +gsdateSup = PLN_PL_RDV..FinEtendueVisible +gsdateInf-=20 +gsdateSup+=20 +ChangeZRModeCollab(gsdateInf,gsdateSup) +AfficheZR() +Procédure locale Charge_ZR +// Résumé : +procédure Charge_ZR() +clNewParametreUtilisateur est un MParametreUtilisateur +PlanningSupprimeTout(PLN_PL_RDV) +STPreferenceUtilisateur est une Structure +sEntite est une chaîne +nValeur est un entier sur 8 octets +fin +nIndice,nSelectSansEquipe,nSelectAvecEquipe sont des entiers +06/08/2026 Isis_BO 3492 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +UneLigne est une STPreferenceUtilisateur +tabPreferenceUser est un tableau de STPreferenceUtilisateur +sSociete,sEquipe,sCollab sont des chaînes +// On charge un tableau de structure avec les préferences utilisateur des sociétés equipes +et collaborateurs dernièrement enregistré +nIndice=TableauCherche(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","CHOIX_SOCIETE_EQUIPE_COLLAB",gpclFicheUtilisateurEnCours.m_nPKID) +si nIndice<>-1 alors +sSociete=ExtraitChaîne(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele[nIndice].m_s +Valeur,1,"_",DepuisDébut) +pour toute chaîne soc de sSociete séparée par ";" +UneLigne.sEntite="Societe" +UneLigne.nValeur=Val(soc) +TableauAjouteLigne(tabPreferenceUser,UneLigne) +fin +sEquipe=ExtraitChaîne(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele[nIndice].m_s +Valeur,2,"_",DepuisDébut) +pour toute chaîne Equ de sEquipe séparée par ";" +UneLigne.sEntite="Equipe" +UneLigne.nValeur=Val(Equ) +TableauAjouteLigne(tabPreferenceUser,UneLigne) +fin +sCollab=ExtraitChaîne(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele[nIndice].m_s +Valeur,3,"_",DepuisDébut) +pour toute chaîne Cola de sCollab séparée par ";" +UneLigne.sEntite="Collaborateur" +UneLigne.nValeur=Val(Cola) +TableauAjouteLigne(tabPreferenceUser,UneLigne) +fin +sinon +si gpclFicheUtilisateurEnCours.m_nIDSocietePrincipale<>0 alors +clErreur est un CErreur +sListeEquipe est une chaîne +pour tout Equipe_Collaborateur avec EC_IDCollaborateur=gpclFicheUtilisateurEnCours.m_n +IDCollaborateur +sListeEquipe+=[";"]+Equipe_Collaborateur.EC_IDEquipe +fin +si sListeEquipe="" alors sListeEquipe="0" +clNewParametreUtilisateur.m_sCode="CHOIX_SOCIETE_EQUIPE_COLLAB" +clNewParametreUtilisateur.m_nIDUtilisateur=gpclFicheUtilisateurEnCours.m_nPKID +clNewParametreUtilisateur.m_sValeur=gpclFicheUtilisateurEnCours.m_nIDSocietePrincipale+"_"+ +sListeEquipe+"_"+gpclFicheUtilisateurEnCours.m_nIDCollaborateur +clNewParametreUtilisateur.bEnregistrer(clErreur) +TableauAjouteLigne(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele, +clNewParametreUtilisateur) +sSociete=ExtraitChaîne(clNewParametreUtilisateur.m_sValeur,1,"_",DepuisDébut) +pour toute chaîne soc de sSociete séparée par ";" +UneLigne.sEntite="Societe" +UneLigne.nValeur=Val(soc) +TableauAjouteLigne(tabPreferenceUser,UneLigne) +fin +sEquipe=ExtraitChaîne(clNewParametreUtilisateur.m_sValeur,2,"_",DepuisDébut) +pour toute chaîne Equ de sEquipe séparée par ";" +UneLigne.sEntite="Equipe" +UneLigne.nValeur=Val(Equ) +TableauAjouteLigne(tabPreferenceUser,UneLigne) +fin +sCollab=ExtraitChaîne(clNewParametreUtilisateur.m_sValeur,3,"_",DepuisDébut) +pour toute chaîne Cola de sCollab séparée par ";" +UneLigne.sEntite="Collaborateur" +UneLigne.nValeur=Val(Cola) +TableauAjouteLigne(tabPreferenceUser,UneLigne) +fin +fin +fin +06/08/2026 Isis_BO 3493 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +// On charge la ZR des sociétés avec le choix des préférences utilisateur +pour tout Societe +nIndice=ChercheIndiceTab(tabPreferenceUser,Societe.SO_PKID,"Societe") +si nIndice<>-1 alors +ZoneRépétéeAjouteLigne(ZR_Societe,Societe.SO_Nom,"Vos sociétés",Societe.SO_PKID,1) +sinon +ZoneRépétéeAjouteLigne(ZR_Societe,Societe.SO_Nom,"Vos sociétés",Societe.SO_PKID,0) +fin +fin +ZoneRépétéeTrie("-FI_Planning.DISP_Filtre.ZR_Societe.ATT_Sel"+TAB+ +"FI_Planning.DISP_Filtre.ZR_Societe.ATT_Nom") +// On charge la ZR des équipes avec le choix des préférences utilisateur +pour tout Equipe +nIndice=ChercheIndiceTab(tabPreferenceUser,Equipe.EQ_PKID,"Equipe") +si nIndice<>-1 alors +ZoneRépétéeAjouteLigne(ZR_Equipe,Equipe.EQ_Nom,"Vos équipes",Equipe.EQ_PKID,1) +sinon +nIndice=ChercheIndiceTab(tabPreferenceUser,Equipe.EQ_IDSociete,"Societe") +si nIndice<>-1 alors +ZoneRépétéeAjouteLigne(ZR_Equipe,Equipe.EQ_Nom,"Vos équipes",Equipe.EQ_PKID,0) +fin +fin +fin +//nIndice=TableauCherche(tabPreferenceUser,tcLinéaire,"nValeur;sEntite",0,"Equipe") +nIndice=ChercheIndiceTab(tabPreferenceUser,0,"Equipe") +si nIndice<>-1 alors +ZoneRépétéeAjouteLigne(ZR_Equipe,"Sans équipe","Vos équipes",0,1) +sinon +ZoneRépétéeAjouteLigne(ZR_Equipe,"Sans équipe","Vos équipes",0,0) +fin +pour toute ligne de ZR_Equipe +si FI_Planning.DISP_Filtre.ZR_Equipe.ATT_Sel=1 alors +si ZR_Equipe.ATT_Id=0 alors +nSelectSansEquipe++ +sinon +nSelectAvecEquipe++ +fin +fin +fin +ZoneRépétéeTrie("-FI_Planning.DISP_Filtre.ZR_Equipe.ATT_Sel"+TAB+ +"FI_Planning.DISP_Filtre.ZR_Equipe.ATT_Nom") +reqCollab est une Requête SQL = +[ +SELECT CO_Nom,CO_Prenom,CO_PKID,Equipe.EQ_Nom,Equipe.EQ_PKID FROM Collaborateur +LEFT OUTER JOIN Equipe_Collaborateur ON Equipe_Collaborateur.EC_IDCollaborateur=Collaborateur. +CO_PKID +LEFT OUTER JOIN Equipe ON Equipe.EQ_PKID=Equipe_Collaborateur.EC_IDEquipe +WHERE Equipe.EQ_PKID IN ({P_IdEquipe}) AND Collaborateur.CO_AuPlanning=1 +ORDER BY EQ_Nom,CO_Nom +] +reqCollab.P_IdEquipe=sEquipe +HExécuteRequête(reqCollab,hRequêteDéfaut) +sIdCollab est une chaîne +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +pour tout reqCollab +sIdCollab +=[";"]+reqCollab.CO_PKID +nIndice=ChercheIndiceTab(tabPreferenceUser,reqCollab.CO_PKID,"Collaborateur") +si reqCollab.EQ_Nom<>"" alors +si nIndice=-1 alors +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom,reqCollab. +EQ_Nom,reqCollab.CO_PKID,0,0) +sinon +06/08/2026 Isis_BO 3494 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom,reqCollab. +EQ_Nom,reqCollab.CO_PKID,0,1) +fin +sinon +si nIndice=-1 alors +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom,"Sans équipe", +reqCollab.CO_PKID,0,0) +sinon +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom,"Sans équipe", +reqCollab.CO_PKID,0,1) +fin +fin +// ZoneRépétéeSelectPlus(ZR_Collaborateur) +fin +HAnnuleDéclaration(reqCollab) +IdEquipe est une chaîne +si nSelectSansEquipe>0 alors +si nSelectAvecEquipe=0 alors +pour toute ligne de ZR_Equipe +si ZR_Equipe.ATT_Id<>0 alors +IdEquipe +=[";"]+ZR_Equipe.ATT_Id +fin +reqCollab.P_IdEquipe=IdEquipe +HExécuteRequête(reqCollab,hRequêteDéfaut) +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +pour tout reqCollab +sIdCollab +=[";"]+reqCollab.CO_PKID +fin +HAnnuleDéclaration(reqCollab) +fin +fin +reqcollabsansequipe est une Requête SQL = +[ +SELECT DISTINCT CO_Nom,CO_Prenom,CO_PKID FROM Collaborateur +INNER JOIN Societe_Collaborateur ON Societe_Collaborateur.SC_IDCollaborateur=Collaborateur. +CO_PKID +WHERE Societe_Collaborateur.SC_IDCSociete IN ({P_IdSoc}) AND Collaborateur.CO_PKID NOT IN ( +{P_IdCollab}) AND Collaborateur.CO_AuPlanning=1 +ORDER BY CO_Nom,CO_Prenom +] +si sIdCollab<>"" alors +reqcollabsansequipe.P_IdCollab=sIdCollab +sinon +sIdCollab=-1 +reqcollabsansequipe.P_IdCollab=sIdCollab +fin +reqcollabsansequipe.P_IdSoc=sSociete +HExécuteRequête(reqcollabsansequipe,hRequêteDéfaut) +pour tout reqcollabsansequipe +nIndice=ChercheIndiceTab(tabPreferenceUser,reqcollabsansequipe.CO_PKID,"Collaborateur") +si nIndice=-1 alors +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqcollabsansequipe.CO_Nom+" "+reqcollabsansequipe. +CO_Prenom,"Sans équipe",reqcollabsansequipe.CO_PKID,0,0) +sinon +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqcollabsansequipe.CO_Nom+" "+reqcollabsansequipe. +CO_Prenom,"Sans équipe",reqcollabsansequipe.CO_PKID,0,1) +fin +fin +HAnnuleDéclaration(reqcollabsansequipe) +fin +ZoneRépétéeTrie("-FI_Planning.DISP_Filtre.ZR_Collaborateur.ATT_sel1"+TAB+ +"FI_Planning.DISP_Filtre.ZR_Collaborateur.ATT_Titre"+TAB+ +"FI_Planning.DISP_Filtre.ZR_Collaborateur.ATT_Nom") +gsdateInf = PLN_PL_RDV..DébutEtendueVisible +gsdateSup = PLN_PL_RDV..FinEtendueVisible +06/08/2026 Isis_BO 3495 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +gsdateInf-=20 +gsdateSup+=20 +ChangeZRModeCollab(gsdateInf,gsdateSup) +//gclPresentationPlanning=PTableRDV.gNouvellePresentation(3,-1,-1,sCollab) +AfficheZR() +Procédure locale ChargeParametresAgenda +// Résumé : +// Syntaxe : +//ChargeParametresAgenda () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sNomColonne : +// sNomColAgenda : +// tabRdv : +// nIndiceRdv : +procédure ChargeParametresAgenda() +IdSoc est une chaîne +sCaractère est une chaîne +pour tout ligne de ZR_Societe +FI_Planning.DISP_Filtre.ZR_Societe.ATT_Sel=0 +fin +pour toute ligne de FI_Agenda3.DISP_Filtre.ZR_Societe +si FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Sel=1 alors +si IdSoc="" alors +IdSoc= FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Id +sinon +IdSoc+="/"+ FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Id +fin +fin +fin +si IdSoc<>"" alors +pour toute ligne de ZR_Societe +pour toute chaîne sCaractère de IdSoc séparée par "/" +si FI_Planning.DISP_Filtre.ZR_Societe.ATT_Id=sCaractère alors +FI_Planning.DISP_Filtre.ZR_Societe.ATT_Sel=1 +fin +fin +fin +fin +IdSoc="" +sCaractère="" +pour toute ligne de FI_Agenda3.DISP_Filtre.ZR_Collaborateur +si FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_sel1=1 alors +si IdSoc="" alors +IdSoc= FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_Id +sinon +IdSoc+="/"+ FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_Id +fin +fin +fin +pour tout ligne de ZR_Collaborateur +FI_Planning.DISP_Filtre.ZR_Collaborateur.ATT_Sel1=0 +fin +si IdSoc<>"" alors +pour toute ligne de ZR_Collaborateur +06/08/2026 Isis_BO 3496 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +pour toute chaîne sCaractère de IdSoc séparée par "/" +si FI_Planning.DISP_Filtre.ZR_Collaborateur.ATT_Id=sCaractère alors +FI_Planning.DISP_Filtre.ZR_Collaborateur.ATT_Sel1=1 +fin +fin +fin +fin +gsdateInf = PLN_PL_RDV..DébutEtendueVisible +gsdateSup = PLN_PL_RDV..FinEtendueVisible +gsdateInf-=20 +gsdateSup+=20 +ChangeZRModeCollab(gsdateInf,gsdateSup) +Procédure locale ChargeRDVDossier +// Résumé : +// Syntaxe : +// ChargeRDVDossier () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargeRDVDossier() +nIndice,nSelectSansEquipe,nSelectAvecEquipe sont des entiers +nIdSoc est un entier sur 8 octets=paramSupplementaire.pclObjetAppelant.m_nIDSociete +sListeSocSelect,sListeEquipe,sListeCollab est une chaîne +nCompt est un entier +si nIdSoc<>0 alors +ZoneRépétéeSupprimeTout(ZR_Societe) +pour tout Societe +si Societe.SO_PKID=nIdSoc alors +ZoneRépétéeAjouteLigne(ZR_Societe,Societe.SO_Nom,"Vos sociétés",Societe.SO_PKID,1) +sListeSocSelect+=[";"]+Societe.SO_PKID +sinon +ZoneRépétéeAjouteLigne(ZR_Societe,Societe.SO_Nom,"Vos sociétés",Societe.SO_PKID,0) +fin +fin +ZoneRépétéeTrie("-FI_Planning.DISP_Filtre.ZR_Societe.ATT_Sel"+TAB+ +"FI_Planning.DISP_Filtre.ZR_Societe.ATT_Nom") +fin +// On charge la ZR des équipes avec le choix des préférences utilisateur +si sListeSocSelect<>"" alors +ZoneRépétéeSupprimeTout(ZR_Equipe) +pour tout Equipe +si Contient(sListeSocSelect,NumériqueVersChaîne(Equipe.EQ_IDSociete),MotComplet)=Vrai alors +ZoneRépétéeAjouteLigne(ZR_Equipe,Equipe.EQ_Nom,"Vos équipes",Equipe.EQ_PKID,1) +sListeEquipe+=[";"]+Equipe.EQ_PKID +fin +fin +ZoneRépétéeAjouteLigne(ZR_Equipe,"Sans équipe","Vos équipes",0,1) +sListeEquipe+=[";"]+"0" +sinon +ZoneRépétéeSupprimeTout(ZR_Equipe) +ZoneRépétéeAjouteLigne(ZR_Equipe,"Sans équipe","Vos équipes",0,1) +06/08/2026 Isis_BO 3497 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +sListeEquipe+=[";"]+"0" +fin +pour toute ligne de ZR_Equipe +si FI_Planning.DISP_Filtre.ZR_Equipe.ATT_Sel=1 alors +si ZR_Equipe.ATT_Id=0 alors +nSelectSansEquipe++ +sinon +nSelectAvecEquipe++ +fin +fin +fin +ZoneRépétéeTrie("-FI_Planning.DISP_Filtre.ZR_Equipe.ATT_Sel"+TAB+ +"FI_Planning.DISP_Filtre.ZR_Equipe.ATT_Nom") +si paramSupplementaire.pclObjetAppelant.m_nIDGroupe =0 alors +sListeCollab=paramSupplementaire.pclObjetAppelant.m_nIDCollaborateur +sinon +pour tout Planning_RDV avec PL_IDGroupe=paramSupplementaire.pclObjetAppelant.m_nIDGroupe +sListeCollab+=[";"]+Planning_RDV.PL_IDCollaborateur +fin +fin +reqCollab est une Requête SQL = +[ +SELECT CO_Nom,CO_Prenom,CO_PKID,Equipe.EQ_Nom,Equipe.EQ_PKID FROM Collaborateur +LEFT OUTER JOIN Equipe_Collaborateur ON Equipe_Collaborateur.EC_IDCollaborateur=Collaborateur. +CO_PKID +LEFT OUTER JOIN Equipe ON Equipe.EQ_PKID=Equipe_Collaborateur.EC_IDEquipe +WHERE Equipe.EQ_PKID IN ({P_IdEquipe}) AND Collaborateur.CO_AuPlanning=1 +ORDER BY EQ_Nom,CO_Nom +] +reqCollab.P_IdEquipe=sListeEquipe +HExécuteRequête(reqCollab,hRequêteDéfaut) +sIdCollab est une chaîne +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +pour tout reqCollab +sIdCollab +=[";"]+reqCollab.CO_PKID +si reqCollab.EQ_Nom<>"" alors +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Prenom+" "+reqCollab.CO_Nom,reqCollab +.EQ_Nom,reqCollab.CO_PKID,0,0) +sinon +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Prenom+" "+reqCollab.CO_Nom, +"Sans équipe",reqCollab.CO_PKID,0,0) +fin +fin +HAnnuleDéclaration(reqCollab) +IdEquipe est une chaîne +si nSelectSansEquipe>0 alors +si nSelectAvecEquipe=0 alors +pour toute ligne de ZR_Equipe +si ZR_Equipe.ATT_Id<>0 alors +IdEquipe +=[";"]+ZR_Equipe.ATT_Id +fin +reqCollab.P_IdEquipe=IdEquipe +HExécuteRequête(reqCollab,hRequêteDéfaut) +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +pour tout reqCollab +sIdCollab +=[";"]+reqCollab.CO_PKID +fin +HAnnuleDéclaration(reqCollab) +fin +fin +reqcollabsansequipe est une Requête SQL = +06/08/2026 Isis_BO 3498 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +[ +SELECT DISTINCT CO_Nom,CO_Prenom,CO_PKID FROM Collaborateur +INNER JOIN Societe_Collaborateur ON Societe_Collaborateur.SC_IDCollaborateur=Collaborateur. +CO_PKID +WHERE Societe_Collaborateur.SC_IDCSociete IN ({P_IdSoc}) AND Collaborateur.CO_PKID NOT IN ( +{P_IdCollab}) AND Collaborateur.CO_AuPlanning=1 +ORDER BY CO_Nom,CO_Prenom +] +si sIdCollab<>"" alors +reqcollabsansequipe.P_IdCollab=sIdCollab +sinon +sIdCollab=-1 +reqcollabsansequipe.P_IdCollab=sIdCollab +fin +reqcollabsansequipe.P_IdSoc=nIdSoc +HExécuteRequête(reqcollabsansequipe,hRequêteDéfaut) +pour tout reqcollabsansequipe +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqcollabsansequipe.CO_Nom+" "+reqcollabsansequipe +.CO_Prenom,"Sans équipe",reqcollabsansequipe.CO_PKID,0,0) +fin +HAnnuleDéclaration(reqcollabsansequipe) +fin +pour toute ligne de ZR_Collaborateur +si Contient(sListeCollab,ZR_Collaborateur.ATT_Id,MotComplet)=Vrai alors +ZR_Collaborateur.ATT_Sel1=1 +nCompt++ +fin +fin +si nCompt=0 alors +pour toute chaîne Collabo de sListeCollab séparée par ";" +HLitRecherchePremier(Collaborateur,CO_PKID,Val(Collabo)) +si HTrouve(Collaborateur) alors +ZoneRépétéeAjouteLigne(ZR_Collaborateur,Collaborateur.CO_Nom+" "+Collaborateur.CO_Prenom, +"Hors Société",Collaborateur.CO_PKID,0,1) +fin +fin +fin +ZoneRépétéeTrie("-FI_Planning.DISP_Filtre.ZR_Collaborateur.ATT_sel1"+TAB+ +"FI_Planning.DISP_Filtre.ZR_Collaborateur.ATT_Titre"+TAB+ +"FI_Planning.DISP_Filtre.ZR_Collaborateur.ATT_Nom") +DateJourRDV est une Date=paramSupplementaire.pclObjetAppelant.m_dhDateDebut +dDateInf,dDateSup sont des Dates +DateJourRDV..Jour-=20 +dDateInf=DateJourRDV +DateJourRDV..Jour+=40 +dDateSup=DateJourRDV +PlanningChangeMode(PLN_PL_RDV,plnModeJournée) +BTN_Jour..Enfoncé=Vrai +BTN_Mois..Enfoncé=Faux +BTN_Semaine..Enfoncé=Faux +nLargeur est un entier=PLN_PL_RDV..Largeur +PLN_PL_RDV..LargeurJour=nLargeur-100 +FI_Planning.PLN_PL_RDV..GranularitéDurée=60 +FI_Planning.PLN_PL_RDV..GranularitéDéplacement=60 +ChangeZRModeCollab(dDateInf,dDateSup) +AfficheZR() +PlanningAffiche(PLN_PL_RDV) +nIndice = TableauCherche(gclPresentationPlanning.m_clTabModele,tcLinéaire,"m_nPKID", +paramSupplementaire.pclObjetAppelant.m_nPKID) +sEtatCouleur est une chaîne ANSI = DonneEtatRDV(gclPresentationPlanning.m_clTabModele[nIndice]. +m_nIDStatut) +si paramSupplementaire.pclObjetAppelant.m_nIDGroupe =0 alors +si nIndice<>-1 alors +06/08/2026 Isis_BO 3499 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +PlanningPositionDateHeure(PLN_PL_RDV,Gauche(gclPresentationPlanning.m_clTabModele[nIndice].m_dh +DateDebut,8)) +PlanningSelectPlus(PLN_PL_RDV,nIndice) +PLN_PL_RDV[nIndice]..CouleurFond=RougePastel +fin +sinon +si nIndice<>-1 alors +pour i= 1 _à_ gclPresentationPlanning.m_clTabModele..Occurrence +si gclPresentationPlanning.m_clTabModele[i].m_nIDGroupe=paramSupplementaire.pclObjetAppelant. +m_nIDGroupe alors +PLN_PL_RDV[nIndice]..CouleurFond=RougePastel +fin +fin +PlanningPositionDateHeure(PLN_PL_RDV,Gauche(gclPresentationPlanning.m_clTabModele[nIndice].m_dh +DateDebut,8)) +PlanningSelectPlus(PLN_PL_RDV,nIndice) +PLN_PL_RDV[nIndice]..CouleurFond=RougePastel +fin +fin +nCompteur est un entier +pour toute ligne de ZR_Collaborateur +si FI_Planning.DISP_Filtre.ZR_Collaborateur.ATT_Sel1=1 alors +nCompteur++ +fin +fin +si nCompteur=0 et nIndice<>-1 alors +PLN_PL_RDV[nIndice]..Auteur = sEtatCouleur +gclPresentationPlanning.p_clCourant=gclPresentationPlanning:m_clTabModele[nIndice] +clPresentationFiche est un PFicheRdv <- gclPresentationPlanning.Modifier() +si paramSupplementaire.pclObjetAppelant<>Null et paramSupplementaire.sNomIDAppelant<> +"InterventionAjouteRendezVous" alors +clPresentationFiche<-paramSupplementaire.pclObjetAppelant +sinon +pclListePersonne est une PTablePersonne dynamique +pclListePersonne=PTablePersonne.gNouvellePresentation(6,clPresentationFiche.m_nIDLieu, +clPresentationFiche.m_nIDIntervention) +pour i= 1 _à_ pclListePersonne.m_clTabModele..Occurrence +clUnPersonne est un MPersonne +si pclListePersonne.m_clTabModele[i].m_nPKID<>clPresentationFiche.m_nIDPersonne alors +clUnPersonne.m_sNom=pclListePersonne.m_clTabModele[i].m_sNom +clUnPersonne.m_sPrenom=pclListePersonne.m_clTabModele[i].m_sPrenom +clUnPersonne.m_nPKID=pclListePersonne.m_clTabModele[i].m_nPKID +TableauAjoute(clPresentationFiche.m_clListePersonne,clUnPersonne) +fin +fin +fin +clPresentationFiche:m_clLieu.m_clAdresse.m_sPresentation=Remplace(clPresentationFiche:m_clLieu. +m_clAdresse.m_sPresentation,[RC,TAB],"-") +//ChangeFenêtreSource(CFI_RDV,FI_Fiche_Rdv,clPresentationFiche,DonneParam(DansChampFI,"FI_Plann +ing",MoiMême..Nom,maProcMAJObjetRetourFI,"Modification d'un Rendez-vous","Modifier")) +Ouvre(FEN_Fiche_RDV_F,clPresentationFiche,DonneParam(DansChampFI,"FI_Planning",MoiMême..Nom, +maProcMAJObjetRetourFI,"Modification d'un Rendez-vous","Modifier")) +gnModeRDV=0 +//FI_Planning..Plan=1 +//DonneFocus(CFI_RDV) +fin +Procédure locale ChargerRdvEnAttente +// Résumé : +// Syntaxe : +//ChargerRdvEnAttente () +// +06/08/2026 Isis_BO 3500 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// nIDRdv (entier sur 8 octets) : +procédure ChargerRdvEnAttente() +// vide le tableau +ZoneRépétéeSupprimeTout(ZR_RdvAttente) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +sReqSQL est une Requête SQL = +[ +SELECT Intervention.IN_RefInterne,PL_Objet,PL_Description,PL_PKID,CO_Nom,CO_Prenom FROM +Planning_RDV +INNER JOIN Intervention ON Intervention.IN_PKID=Planning_RDV.PL_IDIntervention +INNER JOIN Collaborateur ON Collaborateur.CO_PKID=Planning_RDV.PL_IDCollaborateur +WHERE Planning_RDV.PL_IDStatut={P_Statut} AND NOT Planning_RDV.Archive=1 +] +sReqSQL.P_Statut=gpclListeStatutRendezVous.RechercheEtDonneIdDepuisValeur(1) +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +ZoneRépétéeAjouteLigne(ZR_RdvAttente,"Intervention n°"+sReqSQL.IN_RefInterne,"Objet: "+sReqSQL.PL_Objet ++RC+"Description: "+sReqSQL.PL_Description+RC+sReqSQL.CO_Nom+" "+sReqSQL.CO_Prenom,sReqSQL.PL_PKID) +fin +fin +HAnnuleDéclaration(sReqSQL) +ZoneRépétéeAffiche(ZR_RdvAttente,taDébut) +LIB_NBRdvAttente=ZR_RdvAttente..Occurrence +Procédure locale ChargeSocieteIntervention +// Résumé : +// Syntaxe : +// ChargeSocieteIntervention () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargeSocieteIntervention() +STPreferenceUtilisateur est une Structure +sEntite est une chaîne +nValeur est un entier sur 8 octets +fin +UneLigne est une STPreferenceUtilisateur +tabPreferenceUser est un tableau de STPreferenceUtilisateur +06/08/2026 Isis_BO 3501 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +nIndice est un entier +sCollab est une chaîne +// On charge un tableau de structure avec les préferences utilisateur des sociétés equipes +et collaborateurs dernièrement enregistré +nIndice=TableauCherche(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","CHOIX_SOCIETE_EQUIPE_COLLAB",gpclFicheUtilisateurEnCours.m_nPKID) +//SI nIndice<>-1 ALORS +// +sCollab=ExtraitChaîne(gpclPresenListeParamUtilisateur.m_clTabModele[nIndice].m_sValeur,3,"_",DepuisDébu +t) +// POUR TOUTE CHAÎNE Cola DE sCollab SEPAREE PAR ";" +// UneLigne.sEntite="Collaborateur" +// UneLigne.nValeur=Val(Cola) +// TableauAjouteLigne(tabPreferenceUser,UneLigne) +// FIN +//fin +si nIndice<>-1 alors +si paramSupplementaire.pclObjetAppelant.m_clListeCollabGroup..Occurrence = 0 alors +sCollab=ExtraitChaîne(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele[ +nIndice].m_sValeur,3,"_",DepuisDébut) +pour toute chaîne Cola de sCollab séparée par ";" +UneLigne.sEntite="Collaborateur" +UneLigne.nValeur=Val(Cola) +TableauAjouteLigne(tabPreferenceUser,UneLigne) +fin +sinon +pour i=1 _à_ paramSupplementaire.pclObjetAppelant.m_clListeCollabGroup..Occurrence +sCollab+=[";"]+paramSupplementaire.pclObjetAppelant.m_clListeCollabGroup[i].m_nPKID +fin +fin +fin +nSelectSansEquipe,nSelectAvecEquipe sont des entiers +nIdSoc est un entier sur 8 octets=paramSupplementaire.pclObjetAppelant.m_nIDSociete +sListeSocSelect,sListeEquipe sont des chaînes +si nIdSoc<>0 alors +ZoneRépétéeSupprimeTout(ZR_Societe) +pour tout Societe +si Societe.SO_PKID=nIdSoc alors +ZoneRépétéeAjouteLigne(ZR_Societe,Societe.SO_Nom,"Vos sociétés",Societe.SO_PKID,1) +sListeSocSelect+=[";"]+Societe.SO_PKID +sinon +ZoneRépétéeAjouteLigne(ZR_Societe,Societe.SO_Nom,"Vos sociétés",Societe.SO_PKID,0) +fin +fin +ZoneRépétéeTrie("-FI_Planning.DISP_Filtre.ZR_Societe.ATT_Sel"+TAB+ +"FI_Planning.DISP_Filtre.ZR_Societe.ATT_Nom") +fin +// On charge la ZR des équipes avec le choix des préférences utilisateur +si sListeSocSelect<>"" alors +ZoneRépétéeSupprimeTout(ZR_Equipe) +pour tout Equipe +si Contient(sListeSocSelect,NumériqueVersChaîne(Equipe.EQ_IDSociete),MotComplet)=Vrai alors +ZoneRépétéeAjouteLigne(ZR_Equipe,Equipe.EQ_Nom,"Vos équipes",Equipe.EQ_PKID,1) +sListeEquipe+=[";"]+Equipe.EQ_PKID +fin +fin +si sListeEquipe<>0 alors +ZoneRépétéeAjouteLigne(ZR_Equipe,"Sans équipe","Vos équipes",0,1) +sListeEquipe+=[";"]+"0" +fin +sinon +ZoneRépétéeSupprimeTout(ZR_Equipe) +06/08/2026 Isis_BO 3502 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +ZoneRépétéeAjouteLigne(ZR_Equipe,"Sans équipe","Vos équipes",0,1) +sListeEquipe+=[";"]+"0" +fin +pour toute ligne de ZR_Equipe +si FI_Planning.DISP_Filtre.ZR_Equipe.ATT_Sel=1 alors +si ZR_Equipe.ATT_Id=0 alors +nSelectSansEquipe++ +sinon +nSelectAvecEquipe++ +fin +fin +fin +ZoneRépétéeTrie("-FI_Planning.DISP_Filtre.ZR_Equipe.ATT_Sel"+TAB+ +"FI_Planning.DISP_Filtre.ZR_Equipe.ATT_Nom") +reqCollab est une Requête SQL = +[ +SELECT CO_Nom,CO_Prenom,CO_PKID,Equipe.EQ_Nom,Equipe.EQ_PKID FROM Collaborateur +LEFT OUTER JOIN Equipe_Collaborateur ON Equipe_Collaborateur.EC_IDCollaborateur=Collaborateur. +CO_PKID +LEFT OUTER JOIN Equipe ON Equipe.EQ_PKID=Equipe_Collaborateur.EC_IDEquipe +WHERE Equipe.EQ_PKID IN ({P_IdEquipe}) AND Collaborateur.CO_AuPlanning=1 +ORDER BY EQ_Nom,CO_Nom +] +reqCollab.P_IdEquipe=sListeEquipe +HExécuteRequête(reqCollab,hRequêteDéfaut) +sIdCollab est une chaîne +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +pour tout reqCollab +sIdCollab +=[";"]+reqCollab.CO_PKID +si reqCollab.EQ_Nom<>"" alors +// +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" +"+reqCollab.CO_Prenom,reqCollab.EQ_Nom,reqCollab.CO_PKID,0,0) +// SINON +// +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom,"Sans +équipe",reqCollab.CO_PKID,0,0) +// FIN +si Contient(sCollab,NumériqueVersChaîne(reqCollab.CO_PKID),MotComplet)=Vrai alors +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom,reqCollab +.EQ_Nom,reqCollab.CO_PKID,0,1) +sinon +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom,reqCollab +.EQ_Nom,reqCollab.CO_PKID,0,0) +fin +sinon +si Contient(sCollab,NumériqueVersChaîne(reqCollab.CO_PKID),MotComplet)=Vrai alors +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom, +"Sans équipe",reqCollab.CO_PKID,0,1) +sinon +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom, +"Sans équipe",reqCollab.CO_PKID,0,0) +fin +fin +fin +HAnnuleDéclaration(reqCollab) +IdEquipe est une chaîne +si nSelectSansEquipe>0 alors +si nSelectAvecEquipe=0 alors +pour toute ligne de ZR_Equipe +si ZR_Equipe.ATT_Id<>0 alors +IdEquipe +=[";"]+ZR_Equipe.ATT_Id +06/08/2026 Isis_BO 3503 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +fin +reqCollab.P_IdEquipe=IdEquipe +HExécuteRequête(reqCollab,hRequêteDéfaut) +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +pour tout reqCollab +sIdCollab +=[";"]+reqCollab.CO_PKID +fin +HAnnuleDéclaration(reqCollab) +fin +fin +reqcollabsansequipe est une Requête SQL = +[ +SELECT DISTINCT CO_Nom,CO_Prenom,CO_PKID FROM Collaborateur +INNER JOIN Societe_Collaborateur ON Societe_Collaborateur.SC_IDCollaborateur=Collaborateur. +CO_PKID +WHERE Societe_Collaborateur.SC_IDCSociete IN ({P_IdSoc}) AND Collaborateur.CO_PKID NOT IN ( +{P_IdCollab}) AND Collaborateur.CO_AuPlanning=1 +ORDER BY CO_Nom,CO_Prenom +] +si sIdCollab<>"" alors +reqcollabsansequipe.P_IdCollab=sIdCollab +sinon +sIdCollab=-1 +reqcollabsansequipe.P_IdCollab=sIdCollab +fin +reqcollabsansequipe.P_IdSoc=nIdSoc +HExécuteRequête(reqcollabsansequipe,hRequêteDéfaut) +pour tout reqcollabsansequipe +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqcollabsansequipe.CO_Nom+" "+reqcollabsansequipe. +CO_Prenom,"Sans équipe",reqcollabsansequipe.CO_PKID,0,0) +fin +HAnnuleDéclaration(reqcollabsansequipe) +fin +si sCollab<>"0" alors +pour toute ligne de ZR_Collaborateur +si Contient(sCollab,NumériqueVersChaîne(ZR_Collaborateur.ATT_Id),MotComplet) alors +ZR_Collaborateur.ATT_Sel1=1 +fin +fin +sinon +ZR_Collaborateur[1].ATT_Sel1=1 +fin +ZoneRépétéeTrie("-FI_Planning.DISP_Filtre.ZR_Collaborateur.ATT_sel1"+TAB+ +"FI_Planning.DISP_Filtre.ZR_Collaborateur.ATT_Titre"+TAB+ +"FI_Planning.DISP_Filtre.ZR_Collaborateur.ATT_Nom") +PlanningChangeMode(PLN_PL_RDV,plnModeJournée) +BTN_Jour..Enfoncé=Vrai +BTN_Mois..Enfoncé=Faux +BTN_Semaine..Enfoncé=Faux +nLargeur est un entier=PLN_PL_RDV..Largeur +PLN_PL_RDV..LargeurJour=nLargeur-100 +FI_Planning.PLN_PL_RDV..GranularitéDurée=60 +FI_Planning.PLN_PL_RDV..GranularitéDéplacement=60 +datejour est une Date=DateDuJour() +datejour..jour-=1 +gsdateInf=datejour +datejour..Jour+=2 +gsdateSup=datejour +PlanningPositionDateHeure(PLN_PL_RDV,DateDuJour()) +CalendrierSelectPlus(CAL_Planning,PLN_PL_RDV..DébutEtendueVisible) +gsdateInf = PLN_PL_RDV..DébutEtendueVisible +gsdateSup = PLN_PL_RDV..FinEtendueVisible +gsdateInf-=20 +gsdateSup+=20 +06/08/2026 Isis_BO 3504 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +ChangeZRModeCollab(gsdateInf,gsdateSup) +AfficheZR() +Procédure locale ChercheIndiceTab +// Résumé : +// Syntaxe : +//[ = ] ChercheIndiceTab (, est entier sur 8 octets, +est chaîne) +// +// Paramètres : +// tableauRecherche : +// nValeur (entier sur 8 octets) : +// sEntite (chaîne ANSI) : +// Valeur de retour : +// entier : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChercheIndiceTab(tableauRecherche,local nValeur est un entier sur 8 octets,sEntite est une +chaîne) +nIndice est un entier=TableauCherche(tableauRecherche,tcLinéaire,"nValeur;sEntite",nValeur,sEntite) +renvoyer nIndice +Procédure locale CreaJourFerie +// Résumé : +// Syntaxe : +// CreaJourFerie () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure CreaJourFerie() +// Suppression de tous les jours fériés +JourFériéSupprimeTout() +// Initialisation des 11 jours fériés communs aux départements français et DOM/TOM +JourFériéAjoute("0101") // 1er Janvier +JourFériéAjoute(jfLundiDePâques) // Lundi de Pâques +JourFériéAjoute("0501") // 1er Mai +JourFériéAjoute("0508") // 8 Mai +JourFériéAjoute(jfJeudiDeLAscension) // Jeudi de l'Ascension +JourFériéAjoute(jfLundiDePentecôte) // Lundi de Pentecôte +JourFériéAjoute("0714") // 14 Juillet +JourFériéAjoute("0815") // 15 Août (Assomption) +JourFériéAjoute("1101") // Toussaint +JourFériéAjoute("1111") // 11 Novembre +JourFériéAjoute("1225") // Noël +Procédure locale DonneFocusChamp +// Résumé : +// Syntaxe : +// DonneFocusChamp () +// +// Paramètres : +06/08/2026 Isis_BO 3505 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneFocusChamp() +DonneFocus(PLN_PL_RDV) +Procédure locale Enregistre_Preferences_Planning +// Résumé : +// Syntaxe : +//Enregistre_Preferences_Planning ( est entier sur 8 octets) +// +// Paramètres : +// IdUtilisateur (entier sur 8 octets) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Enregistre_Preferences_Planning(IdUtilisateur est un entier sur 8 octets) +sSociete, sEquipe, sCollaborateur, sResult sont des chaînes +pclficheParametreUser est une PFicheParametreUtilisateur dynamique +clErreur est un CErreur +nIndice est un entier=TableauCherche(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur. +m_clTabModele,tcLinéaire,"m_nIDUtilisateur;m_sCode",IdUtilisateur,"CHOIX_SOCIETE_EQUIPE_COLLAB") +si nIndice<>-1 alors +gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.p_clCourant=gpclFicheUtilisateurEnCours: +ListeParametreUtilisateur.m_clTabModele[nIndice] +sinon +retour +fin +pour toute ligne de ZR_Societe +si ZR_Societe.ATT_Sel=1 alors +sSociete+=[";"]+ZR_Societe.ATT_Id +fin +fin +si sSociete="" alors +sSociete="0" +fin +pour toute ligne de ZR_Equipe +si ZR_Equipe.ATT_Sel=1 alors +sEquipe+=[";"]+ZR_Equipe.ATT_Id +fin +fin +si sEquipe="" alors +sEquipe="0" +fin +pour toute ligne de ZR_Collaborateur +si ZR_Collaborateur.ATT_Sel1=1 alors +sCollaborateur+=[";"]+ZR_Collaborateur.ATT_Id +fin +fin +si sCollaborateur="" alors +sCollaborateur="0" +fin +sResult=sSociete+"_"+sEquipe+"_"+sCollaborateur +gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.p_clCourant.m_sValeur=sResult +pclficheParametreUser=gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.Modifier() +06/08/2026 Isis_BO 3506 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +// validation +si pas pclficheParametreUser.bOK(clErreur) alors +Erreur(clErreur.FormateMessage()) +fin +Procédure locale Enregistre_Rdv +// Résumé : +// Syntaxe : +//Enregistre_Rdv ( est objet dynamique) +// +// Paramètres : +// pclObjet (objet dynamique) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Enregistre_Rdv(pclObjet est un objet dynamique) +MonRdv est un RendezVous +clPresentationFiche est un PFicheRdv <- pclObjet +//Ajout de nom contact +gclPresentListeContactRDV est un PTablePlanning_RDV_Personne dynamique +gclPresentListeContactRDV=PTablePlanning_RDV_Personne.gNouvellePresentation(clPresentationFiche.m_nPKID +) +sContactSite est une chaîne +pour i = 1 _à_ gclPresentListeContactRDV.p_nTotal +sContactSite = i=gclPresentListeContactRDV.p_nTotal ? sContactSite+gclPresentListeContactRDV. +m_clTabModele[i]:m_clPersonne:CiviliteNomPrenom sinon sContactSite+gclPresentListeContactRDV. +m_clTabModele[i]:m_clPersonne:CiviliteNomPrenom+RC +fin +MonRdv.Catégorie=clPresentationFiche.m_nIDStatut +MonRdv.Contenu=sContactSite+RC+clPresentationFiche.m_sDescription +si clPresentationFiche.m_nIDLieu > 0 alors +pclLieuRDV est une PTableLieu dynamique +pclLieuRDV =PTableLieu.gNouvellePresentation(0,clPresentationFiche.m_nIDLieu) +pclLieuRDV.p_clCourant =pclLieuRDV.m_clTabModele[1] +pclFicheLieu est une PFicheLieu dynamique= pclLieuRDV.Modifier() +MonRdv.Contenu=sContactSite+RC+pclFicheLieu.p_QuickView +sinon +MonRdv.Contenu=sContactSite +fin +si MonRdv.Contenu <> "" alors +MonRdv.Contenu+= RC +fin +si clPresentationFiche.m_sObjet <> "" alors +MonRdv.Contenu+= RC+ clPresentationFiche.m_sObjet +RC+RC+clPresentationFiche.m_sDescription +sinon +MonRdv.Contenu+= RC+clPresentationFiche.m_sDescription +fin +MonRdv.CouleurFond=JauneClair +MonRdv.DateDébut=clPresentationFiche.m_dhDateDebut +MonRdv..DateFin=clPresentationFiche.m_dhDateFin +MonRdv.ID=clPresentationFiche.m_nPKID +MonRdv.Ressource=clPresentationFiche.m_nIDCollaborateur +MonRdv.Titre=clPresentationFiche.m_nIDTypeActivite +PlanningAjouteRendezVous(PLN_PL_RDV,MonRdv) +Procédure locale Gestion_Conflit +06/08/2026 Isis_BO 3507 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +// Résumé : +procédure Gestion_Conflit(P_DateInf est une DateHeure,P_DateSup est une DateHeure,sP_IdRdv est une +chaîne ANSI,sP_IdGroupe est une chaîne ANSI) +Resp est une chaîne +sListeCollab est une chaîne +DuréeModif est une Durée = "0001000000" +dhDateInf est une DateHeure=P_DateInf+DuréeModif +dhDatesup est une DateHeure=P_DateSup-DuréeModif +si sP_IdGroupe=0 alors +pour tout Planning_RDV avec PL_PKID=sP_IdRdv +si sListeCollab="" alors +sListeCollab=Planning_RDV.PL_IDCollaborateur +sinon +sListeCollab+=";"+Planning_RDV.PL_IDCollaborateur +fin +fin +sinon +pour tout Planning_RDV avec PL_IDGroupe=sP_IdGroupe +sP_IdRdv+=";"+Planning_RDV.PL_PKID +si sListeCollab="" alors +sListeCollab=Planning_RDV.PL_IDCollaborateur +sinon +sListeCollab+=";"+Planning_RDV.PL_IDCollaborateur +fin +fin +fin +req est une Requête SQL = +[ +SELECT Planning_RDV.PL_Superposable,Planning_RDV.PL_IDCollaborateur,Collaborateur.CO_Nom, +Collaborateur.CO_Prenom,PL_DateDebut,PL_DateFin FROM Planning_RDV +INNER JOIN Collaborateur ON Collaborateur.CO_PKID=Planning_RDV.PL_IDCollaborateur +WHERE (Planning_RDV.PL_DateDebut BETWEEN {P_DateInf} AND {P_DateSup} OR Planning_RDV.PL_DateFin +BETWEEN {P_DateInf} AND {P_DateSup}) AND Planning_RDV.Archive=0 AND Planning_RDV.PL_IDCollaborateur +IN ({P_IdCollab}) AND NOT Planning_RDV.PL_PKID IN ({P_IdPlanning}) +] +req.P_DateInf=dhDateInf +req.P_DateSup=dhDatesup +req.P_IdCollab=sListeCollab +req.P_IdPlanning=sP_IdRdv +si pas HExécuteRequête(req,hRequêteDéfaut) alors +Resp="Erreur HFSQL : " + HErreurInfo(hErrComplet) +renvoyer Resp +fin +pour tout req +si req.PL_Superposable=0 alors +si Resp="" alors +Resp="- "+req.CO_Prenom+" "+req.CO_Nom+" :"+" Un Rdv est déjà planifié et non superposable le "+ +DateVersChaîne(req.PL_DateDebut,"JJ/MM/AAAA")+" entre "+HeureVersChaîne(Droite(req.PL_DateDebut,9), +"HH:MM:SS")+" et "+HeureVersChaîne(Droite(req.PL_DateFin,9),"HH:MM:SS") +sinon +Resp+=RC+RC+"- "+ req.CO_Prenom+" "+req.CO_Nom+" :"+" Un Rdv +est déjà planifié et non superposable le "+ DateVersChaîne(req.PL_DateDebut,"JJ/MM/AAAA")+ +" entre "+HeureVersChaîne(Droite(req.PL_DateDebut,9),"HH:MM:SS")+" et "+HeureVersChaîne(Droite(req. +PL_DateFin,9),"HH:MM:SS") +fin +fin +fin +renvoyer Resp +Procédure locale InitRdv +06/08/2026 Isis_BO 3508 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +procédure InitRdv(MonRdv est un RendezVous) +MonRdv.Contenu = "" +MonRdv.Auteur = "" +MonRdv.Catégorie = "" +MonRdv.Note ="" +MonRdv..Image = "" +MonRdv.Titre ="" +MonRdv..CouleurFond ="" +MonRdv.Ressource = "" +MonRdv.DateDébut = "" +MonRdv.DateFin = "" +Procédure locale MAJHSurveille +// Résumé : +// Syntaxe : +//MAJHSurveille ( est source de données, est entier, + est entier) +procédure MAJHSurveille(sdFichierDeDonnées est une Source de Données, nNuméroEnregistrement est un +entier, nAction est un entier ) +si HLit(sdFichierDeDonnées, nNuméroEnregistrement) = Faux alors +Erreur("Impossible de lire l'enregistrement notifié comme ajouté :", HErreurInfo()) +retour +fin +selon nAction +cas 1 +// Traite l'enregistrement +EnregistrementATraiter est un Enregistrement de Planning_RDV = sdFichierDeDonnées +TraiteEnregistrement(EnregistrementATraiter) +cas 2 +EnregistrementATraiter est un Enregistrement de Planning_RDV = sdFichierDeDonnées +si EnregistrementATraiter.Archive=1 alors +SupprimeEnregistrement(EnregistrementATraiter) +sinon +ModifieEnregistrement(EnregistrementATraiter) +fin +autre cas +fin +Procédure locale MAJObjetRetourFI +// Résumé : +procédure MAJObjetRetourFI(*)//LOCAL sContexte est une chaîne, pclObjet est un objet dynamique +bResultat est un booléen=Vrai +nMode est un entier +sNomChamp est une chaîne +pclObjet est un objet dynamique +bReorga est un booléen=Vrai +bBloc est un booléen +si MesParamètres..Occurrence>0 alors +nMode = MesParamètres[1] +fin +06/08/2026 Isis_BO 3509 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +selon nMode +cas 1 : +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 2 +bReorga = Faux +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 3 +bReorga = Faux +bBloc = Vrai +fin +si bReorga alors +paramSupplementaire.nIdFenetreAppelante=Null +paramSupplementaire.pclObjetAppelant=Null +paramSupplementaire.sContexteAppelant=Null +paramSupplementaire.sNomFenetreAppelante=Null +paramSupplementaire.sNomIDAppelant=Null +paramSupplementaire.sTitreFenetre=Null +paramSupplementaire.pclObjetAppelant=Null +ChargerRdvEnAttente() +gnModeRDV=0 +FI_Planning..Plan=0 +ExécuteTraitement(FI_Planning.BTN_Afficher,trtClic) +fin +//EnvoieTouche("{BAS}",Handle(FI_Planning.PLN_PL_RDV)) +renvoyer bResultat +Procédure locale ModifieEnregistrement +// Résumé : +procédure ModifieEnregistrement(UnEnregistrement est un Enregistrement de Planning_RDV) +indice est entier +indice2 est un entier +tabRdv est un tableau de RendezVous +RdvCree est un RendezVous +sCollabSelect est une chaîne +sRefInterne est une chaîne +pour tout ligne de ZR_Collaborateur +si ZR_Collaborateur.ATT_Sel1=1 alors +sCollabSelect+=[";"]+ZR_Collaborateur.ATT_Id +fin +fin +pour toute chaîne collab de sCollabSelect séparée par ";" +si collab=NumériqueVersChaîne(UnEnregistrement.PL_IDCollaborateur) alors +indice++ +fin +fin +//Ajout de nom contact +gclPresentListeContactRDV est un PTablePlanning_RDV_Personne dynamique +gclPresentListeContactRDV=PTablePlanning_RDV_Personne.gNouvellePresentation(UnEnregistrement.PL_PKID) +sContactSite est une chaîne +pour i = 1 _à_ gclPresentListeContactRDV.p_nTotal +sContactSite = i=gclPresentListeContactRDV.p_nTotal ? sContactSite+gclPresentListeContactRDV. +m_clTabModele[i]:m_clPersonne:CiviliteNomPrenom sinon sContactSite+gclPresentListeContactRDV. +06/08/2026 Isis_BO 3510 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +m_clTabModele[i]:m_clPersonne:CiviliteNomPrenom+RC +fin +si indice>0 alors +tabRdv=PlanningListeRendezVous(PLN_PL_RDV) +indice=TableauCherche(tabRdv,tcLinéaire,"ID",UnEnregistrement.PL_PKID,1) +si indice<>-1 alors +InitRdv(tabRdv[indice]) +si UnEnregistrement.PL_IDIntervention<>0 alors +HLitRecherchePremier(Intervention,IN_PKID,UnEnregistrement.PL_IDIntervention) +si Intervention.IN_NumDevis <> "" alors +sRefInterne=Intervention.IN_NumDevis +sinon +sRefInterne=Intervention.IN_RefInterne +fin +fin +HLitRecherchePremier(ParametreMetier,PA_PKID,UnEnregistrement.PL_IDTypeActivite) +si HTrouve() alors +tabRdv[indice].Titre=sRefInterne+" "+ParametreMetier.PA_Libelle +fin +scouleur est une chaîne ANSI = DonneCouleurRDV(UnEnregistrement.PL_IDTypeActivite) +sEtatCouleur est une chaîne ANSI = DonneEtatRDV(UnEnregistrement.PL_IDStatut) +tabRdv[indice]..CouleurFond = scouleur +tabRdv[indice]..Auteur = sEtatCouleur +tabRdv[indice].Ressource= UnEnregistrement.PL_IDCollaborateur +tabRdv[indice].DateDébut= UnEnregistrement.PL_DateDebut +tabRdv[indice].DateFin= UnEnregistrement.PL_DateFin +si UnEnregistrement.PL_IDLieu<>0 alors +pclLieuRDV est une PTableLieu dynamique +pclLieuRDV=PTableLieu.gNouvellePresentation(0,UnEnregistrement.PL_IDLieu) +pclLieuRDV.p_clCourant=pclLieuRDV.m_clTabModele[1] +pclFicheLieu est une PFicheLieu dynamique= pclLieuRDV.Modifier() +tabRdv[indice].Contenu=sContactSite+RC+pclFicheLieu.p_QuickView +sinon +tabRdv[indice].Contenu=sContactSite +fin +si tabRdv[indice].Contenu <> "" alors +tabRdv[indice].Contenu+= RC +fin +si UnEnregistrement.PL_Objet <> "" alors +tabRdv[indice].Contenu+= RC+ UnEnregistrement.PL_Objet +RC+RC+UnEnregistrement.PL_Description +sinon +tabRdv[indice].Contenu+= RC+UnEnregistrement.PL_Description +fin +tabRdv[indice].Catégorie= UnEnregistrement.PL_IDStatut +tabRdv[indice].Note=UnEnregistrement.PL_IDGroupe +si tabRdv[indice].Note>0 alors +tabRdv[indice]..Image=fExtraitChemin(IMG_Lien, fFichier + fExtension) +sinon +tabRdv[indice]..Image="" +fin +sinon +InitRdv(RdvCree) +RdvCree.ID= UnEnregistrement.PL_PKID +si UnEnregistrement.PL_IDIntervention<>0 alors +HLitRecherchePremier(Intervention,IN_PKID,UnEnregistrement.PL_IDIntervention) +sRefInterne=Intervention.IN_RefInterne +fin +HLitRecherchePremier(ParametreMetier,PA_PKID,UnEnregistrement.PL_IDTypeActivite) +si HTrouve() alors +RdvCree.Titre=ParametreMetier.PA_Libelle+" n° "+sRefInterne +06/08/2026 Isis_BO 3511 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +fin +scouleur est une chaîne ANSI = DonneCouleurRDV(UnEnregistrement.PL_IDTypeActivite) +sEtatCouleur est une chaîne ANSI = DonneEtatRDV(UnEnregistrement.PL_IDStatut) +RdvCree..CouleurFond = scouleur +RdvCree..Auteur = sEtatCouleur +RdvCree.Ressource= UnEnregistrement.PL_IDCollaborateur +RdvCree.DateDébut= UnEnregistrement.PL_DateDebut +RdvCree.DateFin= UnEnregistrement.PL_DateFin +si UnEnregistrement.PL_IDLieu<>0 alors +pclLieuRDV est une PTableLieu dynamique +pclLieuRDV=PTableLieu.gNouvellePresentation(0,UnEnregistrement.PL_IDLieu) +pclLieuRDV.p_clCourant=pclLieuRDV.m_clTabModele[1] +pclFicheLieu est une PFicheLieu dynamique= pclLieuRDV.Modifier() +RdvCree.Contenu=sContactSite+RC+pclFicheLieu.p_QuickView +sinon +RdvCree.Contenu=sContactSite +fin +si RdvCree.Contenu <> "" alors +RdvCree.Contenu+= RC +fin +si UnEnregistrement.PL_Objet <> "" alors +RdvCree.Contenu+= RC+ UnEnregistrement.PL_Objet +RC+RC+UnEnregistrement.PL_Description +sinon +RdvCree.Contenu+= RC+UnEnregistrement.PL_Description +fin +RdvCree.Catégorie= UnEnregistrement.PL_IDStatut +RdvCree.Note=UnEnregistrement.PL_IDGroupe +si RdvCree.Note>0 alors +RdvCree..Image=fExtraitChemin(IMG_Lien, fFichier + fExtension) +sinon +RdvCree..Image="" +fin +PlanningAjouteRendezVous(PLN_PL_RDV,RdvCree) +fin +indice=TableauCherche(gclPresentationPlanning.m_clTabModele,tcLinéaire,"m_nPKID",UnEnregistrement. +PL_PKID,1) +si indice<>-1 alors +gclPresentationPlanning.m_clTabModele[indice].m_bArchive=UnEnregistrement.Archive +gclPresentationPlanning.m_clTabModele[indice].m_bSAV=UnEnregistrement.PL_SAV +gclPresentationPlanning.m_clTabModele[indice].m_bRappelSMS=UnEnregistrement.PL_RappelSMS +gclPresentationPlanning.m_clTabModele[indice].m_bPrive=UnEnregistrement.PL_Prive +gclPresentationPlanning.m_clTabModele[indice].m_bSuperposable=UnEnregistrement.PL_Superposable +gclPresentationPlanning.m_clTabModele[indice].m_dhDateArchivage=UnEnregistrement.DateArchivage +gclPresentationPlanning.m_clTabModele[indice].m_dhDateDebut=UnEnregistrement.PL_DateDebut +gclPresentationPlanning.m_clTabModele[indice].m_dhDateFin=UnEnregistrement.PL_DateFin +gclPresentationPlanning.m_clTabModele[indice].m_dhModifDate=UnEnregistrement.ModifDate +gclPresentationPlanning.m_clTabModele[indice].m_sDescription=UnEnregistrement.PL_Description +gclPresentationPlanning.m_clTabModele[indice].m_nModifUser=UnEnregistrement.ModifUser +si gclPresentationPlanning.m_clTabModele[indice].m_nIDCollaborateur=UnEnregistrement. +PL_IDCollaborateur alors +gclPresentationPlanning.m_clTabModele[indice].m_nIDCollaborateur=UnEnregistrement. +PL_IDCollaborateur +sinon +// +tabRdv=AgendaListeRendezVous({"TABLE_Agenda.COL_"+gclPresentation.m_clTabModele[indice].m_nIDCo +llaborateur+".AGD_Rdv1"}) +indice2=TableauCherche(tabRdv,tcLinéaire,"ID",UnEnregistrement.PL_PKID,1) +si indice2<>-1 alors +PlanningSupprimeRendezVous(PLN_PL_RDV,indice2) +fin +fin +gclPresentationPlanning.m_clTabModele[indice].m_nIDDossier=UnEnregistrement.PL_IDDossier +06/08/2026 Isis_BO 3512 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +gclPresentationPlanning.m_clTabModele[indice].m_nIDEquipe=UnEnregistrement.PL_IDEquipe +gclPresentationPlanning.m_clTabModele[indice].m_nIDGroupe=UnEnregistrement.PL_IDGroupe +gclPresentationPlanning.m_clTabModele[indice].m_nIDGroupeDate=UnEnregistrement.PL_IdGroupeDate +gclPresentationPlanning.m_clTabModele[indice].m_nIDIntervention=UnEnregistrement.PL_IDIntervention +gclPresentationPlanning.m_clTabModele[indice].m_nIDSociete=UnEnregistrement.PL_IDSociete +gclPresentationPlanning.m_clTabModele[indice].m_nIDStatut=UnEnregistrement.PL_IDStatut +gclPresentationPlanning.m_clTabModele[indice].m_nIDTypeActivite=UnEnregistrement.PL_IDTypeActivite +gclPresentationPlanning.m_clTabModele[indice].m_clTypeActivite.m_nPKID=UnEnregistrement. +PL_IDTypeActivite +gclPresentationPlanning.m_clTabModele[indice].m_sObjet=UnEnregistrement.PL_Objet +HLitRecherchePremier(ParametreMetier,PA_PKID,UnEnregistrement.PL_IDTypeActivite) +si HTrouve() alors +gclPresentationPlanning.m_clTabModele[indice].m_clTypeActivite.m_sLibelle=ParametreMetier. +PA_Libelle +fin +scouleur est une chaîne ANSI = DonneCouleurRDV(gclPresentationPlanning.m_clTabModele[ +indice].m_nIDTypeActivite) +sEtatCouleur est une chaîne ANSI = DonneEtatRDV(gclPresentationPlanning.m_clTabModele[indice] +.m_nIDStatut) +tabRdv[indice]..CouleurFond= scouleur +tabRdv[indice]..Auteur= sEtatCouleur +fin +//ChangeZRModeCollab() +fin +ChargerRdvEnAttente() +ZoneRépétéeAffiche(ZR_RdvAttente) +si ZR_RdvAttente..Occurrence=0 alors +DISP_Filtre[1]..Visible=Faux +sinon +DISP_Filtre[1]..Visible=Vrai +fin +Procédure locale RafraichissementFiche +// Résumé : +// Syntaxe : +//RafraichissementFiche ( est STParamFenetreAppelante) +// +// Paramètres : +// stParamSupplementaire (STParamFenetreAppelante) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RafraichissementFiche(stParamSupplementaire est STParamFenetreAppelante) +paramSupplementaire=stParamSupplementaire +si stParamSupplementaire.eTypeAppel<>Libre _et_ stParamSupplementaire.sNomIDAppelant<>"" alors +selon stParamSupplementaire.sNomIDAppelant +cas "InterventionRendezVous" : +ChargeRDVDossier() +ChargerRdvEnAttente() +cas "InterventionAjouteRendezVous" +ChargeSocieteIntervention() +ChargerRdvEnAttente() +si (paramSupplementaire.pclObjetAppelant=Null ou paramSupplementaire.sNomIDAppelant= +"InterventionAjouteRendezVous") et OngletEtat(FEN_Menu.ONG_FENETRE,"FI_Agenda3")<> +voletInexistant alors +ChargeParametresAgenda() +sinon +gsdateInf = PLN_PL_RDV..DébutEtendueVisible +06/08/2026 Isis_BO 3513 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +gsdateSup = PLN_PL_RDV..FinEtendueVisible +gsdateInf-=20 +gsdateSup+=20 +ChangeZRModeCollab(gsdateInf,gsdateSup) +fin +si ZR_RdvAttente..Occurrence=0 alors +DISP_Filtre[1]..Visible=Faux +sinon +DISP_Filtre[1]..Visible=Vrai +fin +autre cas +ChargerRdvEnAttente() +si (paramSupplementaire.pclObjetAppelant=Null ou paramSupplementaire.sNomIDAppelant= +"InterventionAjouteRendezVous") et OngletEtat(FEN_Menu.ONG_FENETRE,"FI_Agenda3")<> +voletInexistant alors +ChargeParametresAgenda() +sinon +gsdateInf = PLN_PL_RDV..DébutEtendueVisible +gsdateSup = PLN_PL_RDV..FinEtendueVisible +gsdateInf-=20 +gsdateSup+=20 +ChangeZRModeCollab(gsdateInf,gsdateSup) +fin +si ZR_RdvAttente..Occurrence=0 alors +DISP_Filtre[1]..Visible=Faux +sinon +DISP_Filtre[1]..Visible=Vrai +fin +fin +fin +Procédure locale SupprimeEnregistrement +// Résumé : +procédure SupprimeEnregistrement(UnEnregistrement est un Enregistrement de Planning_RDV) +indice est entier +tabRdv est un tableau de RendezVous +sListeCollabSelect est une chaîne +pour tout ligne de ZR_Collaborateur +si ZR_Collaborateur.ATT_Sel1=1 alors +sListeCollabSelect+=[";"]+ZR_Collaborateur.ATT_Id +fin +fin +si sListeCollabSelect="" alors +sListeCollabSelect="0" +fin +si Contient(sListeCollabSelect,NumériqueVersChaîne(UnEnregistrement.PL_IDCollaborateur),MotComplet)= +Vrai alors +tabRdv=PlanningListeRendezVous(PLN_PL_RDV) +indice=TableauCherche(tabRdv,tcLinéaire,"ID",UnEnregistrement.PL_PKID,1) +si indice<>-1 alors +PlanningSupprimeRendezVous(PLN_PL_RDV,indice) +fin +indice=TableauCherche(gclPresentationPlanning.m_clTabModele,tcLinéaire,"m_nPKID",UnEnregistrement. +PL_PKID,1) +si indice<>-1 alors +TableauSupprimeLigne(gclPresentationPlanning.m_clTabModele,indice) +fin +ChargerRdvEnAttente() +ZoneRépétéeAffiche(ZR_RdvAttente) +si ZR_RdvAttente..Occurrence=0 alors +DISP_Filtre[1]..Visible=Faux +06/08/2026 Isis_BO 3514 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +sinon +DISP_Filtre[1]..Visible=Vrai +fin +fin +Procédure locale TraiteEnregistrement +// Résumé : +procédure TraiteEnregistrement(UnEnregistrement est un Enregistrement de Planning_RDV) +indice est un entier +RdvCree est un RendezVous +nIndiceRDV est un entier +sCollabSelect est une chaîne +sRefInterne est une chaîne +pour tout ligne de ZR_Collaborateur +si ZR_Collaborateur.ATT_Sel1=1 alors +sCollabSelect+=[";"]+ZR_Collaborateur.ATT_Id +fin +fin +si Contient(sCollabSelect,NumériqueVersChaîne(UnEnregistrement.PL_IDCollaborateur),MotComplet)=Vrai +alors +indice++ +fin +//POUR TOUTE CHAÎNE collab DE sCollabSelect SEPAREE PAR ";" +// SI collab=NumériqueVersChaîne(UnEnregistrement.PL_IDCollaborateur) ALORS +// indice++ +// FIN +//FIN +//Ajout de nom contact +gclPresentListeContactRDV est un PTablePlanning_RDV_Personne dynamique +gclPresentListeContactRDV=PTablePlanning_RDV_Personne.gNouvellePresentation(UnEnregistrement.PL_PKID) +sContactSite est une chaîne +pour i = 1 _à_ gclPresentListeContactRDV.p_nTotal +sContactSite = i=gclPresentListeContactRDV.p_nTotal ? sContactSite+gclPresentListeContactRDV. +m_clTabModele[i]:m_clPersonne:CiviliteNomPrenom sinon sContactSite+gclPresentListeContactRDV. +m_clTabModele[i]:m_clPersonne:CiviliteNomPrenom+RC +fin +si indice>0 alors +InitRdv(RdvCree) +RdvCree.ID= UnEnregistrement.PL_PKID +si UnEnregistrement.PL_IDIntervention<>0 alors +HLitRecherchePremier(Intervention,IN_PKID,UnEnregistrement.PL_IDIntervention) +si Intervention.IN_NumDevis <> "" alors +sRefInterne=Intervention.IN_NumDevis +sinon +sRefInterne=Intervention.IN_RefInterne +fin +fin +HLitRecherchePremier(ParametreMetier,PA_PKID,UnEnregistrement.PL_IDTypeActivite) +si HTrouve() alors +RdvCree.Titre=sRefInterne+" "+ParametreMetier.PA_Libelle +fin +scouleur est une chaîne ANSI = DonneCouleurRDV(UnEnregistrement.PL_IDTypeActivite) +sEtatCouleur est une chaîne ANSI = DonneEtatRDV(UnEnregistrement.PL_IDStatut) +RdvCree..CouleurFond = scouleur +RdvCree..Auteur = sEtatCouleur +RdvCree.Ressource= UnEnregistrement.PL_IDCollaborateur +RdvCree.DateDébut= UnEnregistrement.PL_DateDebut +06/08/2026 Isis_BO 3515 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +RdvCree.DateFin= UnEnregistrement.PL_DateFin +si UnEnregistrement.PL_IDLieu<>0 alors +pclLieuRDV est une PTableLieu dynamique +pclLieuRDV=PTableLieu.gNouvellePresentation(0,UnEnregistrement.PL_IDLieu) +pclLieuRDV.p_clCourant=pclLieuRDV.m_clTabModele[1] +pclFicheLieu est une PFicheLieu dynamique= pclLieuRDV.Modifier() +RdvCree.Contenu=sContactSite+RC+pclFicheLieu.p_QuickView +sinon +RdvCree.Contenu= sContactSite +fin +si RdvCree.Contenu <> "" alors +RdvCree.Contenu+= RC +fin +si UnEnregistrement.PL_Objet <> "" alors +RdvCree.Contenu+= RC+ UnEnregistrement.PL_Objet +RC+RC+UnEnregistrement.PL_Description +sinon +RdvCree.Contenu+= RC+UnEnregistrement.PL_Description +fin +RdvCree.Auteur= UnEnregistrement.CreationUser +RdvCree.Catégorie= UnEnregistrement.PL_IDStatut +RdvCree.Note=UnEnregistrement.PL_IDGroupe +si RdvCree.Note>0 alors +RdvCree..Image=fExtraitChemin(IMG_Lien, fFichier + fExtension) +sinon +RdvCree..Image="" +fin +nIndiceRDV=PlanningAjouteRendezVous(PLN_PL_RDV,RdvCree) +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_nPKID=UnEnregistrement.PL_PKID +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_bArchive=UnEnregistrement.Archive +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_nIDTypeActivite=UnEnregistrement.PL_IDTypeActivite +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_bPrive=UnEnregistrement.PL_Prive +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_bSuperposable=UnEnregistrement.PL_Superposable +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_nIDDossier=UnEnregistrement.PL_IDDossier +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_nIDEquipe=UnEnregistrement.PL_IDEquipe +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_nIDIntervention=UnEnregistrement.PL_IDIntervention +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_nIDSociete=UnEnregistrement.PL_IDSociete +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_clTypeActivite.m_nPKID=UnEnregistrement. +PL_IDTypeActivite +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_clTypeActivite.m_sLibelle=RdvCree.Titre +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_dhDateArchivage=UnEnregistrement.DateArchivage +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_dhDateDebut=UnEnregistrement.PL_DateDebut +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_dhDateFin=UnEnregistrement.PL_DateFin +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_dhModifDate=UnEnregistrement.ModifDate +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_sDescription=UnEnregistrement.PL_Description +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_nModifUser=UnEnregistrement.ModifUser +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_nIDCollaborateur=UnEnregistrement. +PL_IDCollaborateur +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_nIDGroupe=UnEnregistrement.PL_IDGroupe +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_nIDGroupeDate=UnEnregistrement.PL_IdGroupeDate +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_nIDStatut=UnEnregistrement.PL_IDStatut +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_dhCreationDate=UnEnregistrement.CreationDate +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_nCreationUser=UnEnregistrement.CreationUser +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_sObjet=UnEnregistrement.PL_Objet +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_bSAV=UnEnregistrement.PL_SAV +gclPresentationPlanning.m_clTabModele[nIndiceRDV].m_bRappelSMS=UnEnregistrement.PL_RappelSMS +tabRdv est un tableau de RendezVous +tabRdv=PlanningListeRendezVous(PLN_PL_RDV) +indice=TableauCherche(tabRdv,tcLinéaire,"ID",UnEnregistrement.PL_PKID,1) +si indice<>-1 alors +InitRdv(tabRdv[indice]) +06/08/2026 Isis_BO 3516 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +si UnEnregistrement.PL_IDIntervention<>0 alors +HLitRecherchePremier(Intervention,IN_PKID,UnEnregistrement.PL_IDIntervention) +sRefInterne=Intervention.IN_RefInterne +fin +HLitRecherchePremier(ParametreMetier,PA_PKID,UnEnregistrement.PL_IDTypeActivite) +si HTrouve() alors +tabRdv[indice].Titre=ParametreMetier.PA_Libelle+" n° "+sRefInterne +fin +scouleur = DonneCouleurRDV(UnEnregistrement.PL_IDTypeActivite) +sEtatCouleur = DonneEtatRDV(UnEnregistrement.PL_IDStatut) +tabRdv[indice]..CouleurFond = scouleur +tabRdv[indice]..Auteur = sEtatCouleur +tabRdv[indice].Ressource= UnEnregistrement.PL_IDCollaborateur +tabRdv[indice].DateDébut= UnEnregistrement.PL_DateDebut +tabRdv[indice].DateFin= UnEnregistrement.PL_DateFin +si UnEnregistrement.PL_IDLieu<>0 alors +pclLieuRDV est une PTableLieu dynamique +pclLieuRDV=PTableLieu.gNouvellePresentation(0,UnEnregistrement.PL_IDLieu) +pclLieuRDV.p_clCourant=pclLieuRDV.m_clTabModele[1] +pclFicheLieu est une PFicheLieu dynamique= pclLieuRDV.Modifier() +tabRdv[indice].Contenu=sContactSite+RC+pclFicheLieu.p_QuickView +sinon +tabRdv[indice].Contenu=sContactSite +fin +si tabRdv[indice].Contenu <> "" alors +tabRdv[indice].Contenu+= RC +fin +si UnEnregistrement.PL_Objet <> "" alors +tabRdv[indice].Contenu+= RC+ UnEnregistrement.PL_Objet +RC+RC+UnEnregistrement. +PL_Description +sinon +tabRdv[indice].Contenu+= RC+UnEnregistrement.PL_Description +fin +tabRdv[indice].Auteur= UnEnregistrement.CreationUser +tabRdv[indice].Catégorie= UnEnregistrement.PL_IDStatut +tabRdv[indice].Note=UnEnregistrement.PL_IDGroupe +si tabRdv[indice].Note>0 alors +tabRdv[indice]..Image=fExtraitChemin(IMG_Lien, fFichier + fExtension) +sinon +tabRdv[indice]..Image="" +fin +fin +ChargerRdvEnAttente() +ZoneRépétéeAffiche(ZR_RdvAttente) +si ZR_RdvAttente..Occurrence=0 alors +DISP_Filtre[1]..Visible=Faux +sinon +DISP_Filtre[1]..Visible=Vrai +fin +fin +06/08/2026 Isis_BO 3517 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Image +FI_Fiche_Rdv +Image +FI_Fiche_Rdv +Informations générales +FI_Fiche_Rdv +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Fiche_Rdv.wdw +Créé par XVA +Date de création 06/11/2018 15:18:56 +Dernière modification par SMR +Date dernière modification 15/05/2025 16:45:08 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +06/08/2026 Isis_BO 3518 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 678 Hauteur | 598 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ------- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 3519 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | | | 9 | | Libellé | | 32 | +| --- | ---------------------- | --- | --- | --- | --- | --- | --------------------- | --- | --- | +| | Bouton | | | | 15 | | Interrupteur | | 5 | +| | Image | | | | 10 | | Combo | | 6 | +| | Forme | | | | 7 | | Zone répétée | | 2 | +| | Fenêtre interne | | | | 1 | | Attribut zone répétée | | 13 | +| | Option d'interrupteur | | | | 5 | | Disposition | | 17 | +| | Cellule de disposition | | | | 65 | | | | | +Nombre d'éléments dans la fenêtre : 187 +FI_Fiche_Rdv +Informations sur les champs +Fenêtre : FI_Fiche_Rdv +Fenêtre interne +BAT ehcuoT +| | | | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | --- | --- | ---------- | ---------- | ------- | ------- | ------------ | --- | +| | | | | | | ruegraL | ruetuaH | | | +elbisiV +nalP +| FI_Fiche_Rdv | | | | 0 | 0 | 678 | 598 | 0 | | +| ------------ | --- | --- | --- | --- | --- | --- | --- | --- | --- | +Fenêtre interne : FI_Fiche_Rdv +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_Dossier | | 11 54 | 136 22 | 0 | Actif | Texte | | Non | | +| ------------------- | --- | ------ | ------- | --- | -------- | ----- | --- | --- | ---- | +| SAI_Lieu | | 11 16 | 640 22 | 0 | affichag | Texte | | Non | | +| SAI_Objet | | 40 4 | 190 22 | 0 | Actif | Texte | | Non | | +| SAI_PL_DateDebut | | 11 52 | 95 22 | 0 | Actif | Date | | Non | | +| SAI_PL_DateFin | | 144 52 | 95 22 | 0 | Actif | Date | | Non | | +| SAI_PL_Description | | 6 0 | 353 129 | 0 | Actif | Texte | | Non | | +| SAI_PL_Description1 | | 6 16 | 352 54 | 0 | Actif | Texte | | Non | | +| 06/08/2026 | | | | | Isis_BO | | | | 3520 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +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_PL_HeureFin | 144 | 16 95 | 22 | 0 | Actif | | Heure | | Non | | | | | +| ----------------- | --- | ----- | --- | --- | ----- | --- | ----- | --- | --- | --- | --- | --- | --- | +| SAI_PL_HuereDebut | 11 | 16 95 | 22 | 0 | Actif | | Heure | | Non | | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | --- | +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_A_PLANIFIER | | 25 | | 33 | 231 | 14 | 0 | | Actif | Gauche | Haut | | | +| -------------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | --- | +| LIB_CARACTERISTIQUES | | 7 | | 8 | 223 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_COLLAB1 | | 0 | | 8 | 100 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_CONTACT_SITE | | 0 | | 8 | 228 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_DATEDEBUT | | 11 | | 38 | 95 | 16 | 0 | | Actif | Gauche | Haut | | | +| LIB_DATEFIN | | 144 | | 38 | 95 | 16 | 0 | | Actif | Gauche | Haut | | | +| LIB_DATE_HORAIRE | | 0 | | 8 | 172 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_DESCRIPTION | | 0 | | 8 | 153 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_DateExport | | 13 | | 4 | 288 | 16 | 0 | | Actif | Gauche | Haut | | | +| LIB_HEUREDEBUT | | 11 | | 2 | 95 | 16 | 0 | | Actif | Gauche | Haut | | | +| LIB_HEUREFIN | | 144 | | 2 | 95 | 16 | 0 | | Actif | Gauche | Haut | | | +| LIB_InfoSup | | 305 | | 6 | 360 | 16 | 0 | | Actif | Droite | Haut | | | +| LIB_NOTE | | 6 | | 0 | 149 | 16 | 0 | | Actif | Gauche | Haut | | | +| LIB_NUMDOSSIER | | 11 | | 40 | 136 | 16 | 0 | | Actif | Gauche | Haut | | | +| LIB_NUMINTERV | | 166 | | 40 | 136 | 16 | 0 | | Actif | Gauche | Haut | | | +| LIB_OBJET | | 0 | | 8 | 34 | 16 | 0 | | Actif | Gauche | Haut | | | +| LIB_RdvGroupeDate | | 12 | | 3 | 654 | 24 | 0 | | Actif | Gauche | Haut | | | +| LIB_SITE | | 11 | | 2 | 26 | 16 | 0 | | Actif | Gauche | Haut | | | +| LIB_STATUT | | 166 | | 2 | 136 | 16 | 0 | | Actif | Gauche | Haut | | | +| LIB_SUIVI | | 0 | | 8 | 30 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_TYPERDV | | 11 | | 0 | 136 | 14 | 0 | | Actif | Gauche | Haut | | | +LIB_Titre_de_fenêtre_Fiche_Rdv 16 6 344 21 0 Actif Gauche Centre +Bouton +| | | | | | | | | | | | BAT ehcuoT | | notuob epyT | +| --- | --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | ------------ | ---------- | --- | ----------- | +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | | +| | | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_AjoutContact | | | 4 | | 3 | 24 | 24 | | 0 | Actif | | Normal | | +| ---------------------- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | ----- | --- | ------- | ---- | +| BTN_AjoutRessource | | | 2 | | 3 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_CADENAS_FERME_RDV | | | 4 | | 4 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_CADENAS_OUVERT_RDV | | | 4 | | 4 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_Cal2 | | | 245 | | 51 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_Cal3 | | | 111 | | 51 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_EDT_RDV_CR | | | 249 | 105 | | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_EDT_RDV_Date | | | 245 | | 12 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_Fermer_Fiche_Rdv | | | 5 | | 4 | 24 | 24 | | 0 | Actif | | Abandon | | +| 06/08/2026 | | | | | | Isis_BO | | | | | | | 3521 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +| | | | | | | | | | | BAT ehcuoT | | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---------- | --- | ----------- | +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | | | | | +| --- | --- | --- | ---------- | ---------- | --- | --------------- | --- | --- | --- | --- | --- | --- | +| | | | | | | ruegraL ruetuaH | | | | | | | +elbisiV +nalP +| BTN_IMPRIME_RENDEZVOUS | | | 4 | | 4 | 24 | 24 | 0 | Actif | | Normal | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | ------ | --- | +| BTN_Pause_Fiche_Rdv | | | 5 | | 4 | 24 | 24 | 0 | Actif | | Normal | | +| BTN_Valider_Fiche_Rdv | | | 3 | | 4 | 24 | 24 | 0 | Actif | | Normal | | +| BTN_VueDossier | | | 4 | | 4 | 24 | 24 | 0 | Actif | | Normal | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | | | | | | | laitini tatE | | | staté siorT | +| --- | --- | ---------- | --- | --- | --- | --- | --- | --- | ------------ | --- | --- | ----------- | +Y noitisoP +| | | | | | ruegraL | ruetuaH | | | | | | | +| --- | --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| INT_BPL_Prive | | | 12 | 86 | 87 | 17 | 0 | Actif | | | 1 | | +| -------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | +| INT_BPL_Superposable | | | 12 | 62 | 140 | 17 | 0 | Actif | | | 1 | | +| INT_CR | | | 12 | 110 | 228 | 17 | 0 | Actif | | | 1 | | +| INT_PL_RappelSMS | | 165 | | 62 | 101 | 17 | 0 | Actif | | | 1 | | +| INT_SAV | | 299 | | 12 | 54 | 25 | 0 | Actif | | | 1 | | +Image +| | | | | | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | ---------- | --- | ---------- | ------- | ------- | --- | --- | ------------ | --------- | --------------------------------------- | ---------- | +| | | X noitisoP | | | | | | | laitini tatE | | | sucof cevA | +| | | | | Y noitisoP | | | | | | cilc cevA | | | +| | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| IMG_Bloque | | | -593 | -189 | | 20 20 | | 0 | Actif | | | | +| -------------------------- | --- | --- | ---- | ---- | --- | ----- | --- | --- | ----- | --- | --- | --- | +| IMG_BloqueSite | | | 19 | | 4 | 26 22 | | 0 | Actif | | | | +| IMG_ICONE_CARACTERISTIQUES | | | 4 | | 7 | 16 16 | | 0 | Actif | | | | +| IMG_ICONE_DATEETHORAIRE | | | 4 | | 7 | 16 16 | | 0 | Actif | | | | +| IMG_ICONE_DATEETHORAIRE | | | 4 | | 7 | 16 16 | | 0 | Actif | | | | +| IMG_ICONE_SITE | | | 4 | | 7 | 16 16 | | 0 | Actif | | | | +| IMG_ICONE_SITE | | | 4 | | 7 | 16 16 | | 0 | Actif | | | | +| IMG_ICONE_SITE | | | 4 | | 7 | 16 16 | | 0 | Actif | | | | +| IMG_ICONE_SITE | | | 4 | | 7 | 16 16 | | 0 | Actif | | | | +| IMG_NonBloque | | | -592 | -215 | | 20 20 | | 0 | Actif | | | | +Combo +reihcif eétsissa eisiaS +| | | | | | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | | | | BAT ehcuoT | | eisias cevA | | | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | -------- | ----------- | --- | --- | --- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | | | | | +| | | | | ruetuaH | | | | sruocraP | | | | | +| | | | ruegraL | | | elbisiV | | | | | | | +elbaT +| | | | | | nalP | | | | eéirT | | | | +| ---------------------- | --- | --- | --- | --- | ---- | ------- | --- | -------- | ----- | --- | --- | ---- | +| COMBO_IDStatut | 166 | 16 | 136 | 22 | 0 | Actif | | Variable | | Non | | | +| COMBO_IDTypeActivite | 11 | 16 | 136 | 22 | 0 | Actif | | Variable | | Non | | | +| COMBO_PL_ContactLieu | 452 | -49 | 176 | 43 | 0 | Actif | | Variable | | Non | | | +| COMBO_PL_LieInterventi | 166 | 54 | 136 | 22 | 0 | Actif | | Mémoire | | Non | | | +| COMBO_PL_PrisPar | 5 | 31 | 261 | 22 | 0 | Actif | | Variable | | Non | | | +| 06/08/2026 | | | | | | Isis_BO | | | | | | 3522 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +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 +| | | nalP | | elbaT | eéirT | | | +| ---------------- | ------- | ---- | ------- | -------- | ----- | --- | --- | +| COMBO_PL_Societe | 5 4 261 | 22 | 0 Actif | Table ch | Non | | | +Forme +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_CADRE_CARACTERISTIQUES | | 0 | 0 366 | 136 | 0 | Actif | | +| --------------------------- | --- | --- | ----- | --- | --- | ----- | --- | +| FRM_CADRE_CARACTERISTIQUES | | 0 | 0 651 | 75 | 0 | Actif | | +| FRM_CADRE_CARACTERISTIQUES1 | | 0 | 0 365 | 74 | 0 | Actif | | +| FRM_CADRE_CARACTERISTIQUES1 | | 0 | 0 280 | 136 | 0 | Actif | | +| FRM_CADRE_CARACTERISTIQUES1 | | 0 | 0 279 | 80 | 0 | Actif | | +| FRM_CADRE_CARACTERISTIQUES2 | | 0 | 0 279 | 80 | 0 | Actif | | +| FRM_CADRE_TYPERDV | | 0 | 0 356 | 80 | 0 | Actif | | +Zone répétée +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| ZR_CollabRDV | | 0 | 0 279 | 72 | 0 | Actif | | +| ------------- | --- | --- | ------ | --- | --- | ----- | --- | +| ZR_ContactRDV | | 11 | 38 640 | 36 | 0 | Actif | | +Disposition +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| DISP_COLLAB_RENDEZVOUS | | 16 | 0 280 | 104 | 0 | Actif | | +| ---------------------------- | --- | --- | ------- | --- | --- | ----- | ---- | +| DISP_ComboInter | | 0 | 124 667 | 440 | 0 | Actif | | +| DISP_DATEHORAIRERDV | | 16 | 5 291 | 112 | 0 | Actif | | +| DISP_DESCRIPTION | | 301 | 0 366 | 172 | 0 | Actif | | +| DISP_ENTETE_CARACTERISTIQUES | | 0 | 0 279 | 32 | 0 | Actif | | +| DISP_ENTETE_CARACTERISTIQUES | | 0 | 0 651 | 32 | 0 | Actif | | +| DISP_ENTETE_DESCRIPTION | | 0 | 0 366 | 32 | 0 | Actif | | +| DISP_ENTETE_DESCRIPTION | | 0 | 0 280 | 32 | 0 | Actif | | +| DISP_ENTETE_DESCRIPTION | | 0 | 0 356 | 32 | 0 | Actif | | +| DISP_ENTETE_DESCRIPTION | | 0 | 0 279 | 30 | 0 | Actif | | +| DISP_ENTETE_DESCRIPTION | | 0 | 0 365 | 32 | 0 | Actif | | +| DISP_Entete | | 0 | 0 678 | 33 | 0 | Actif | | +| DISP_SITE_CONTACT | | 16 | 0 651 | 107 | 0 | Actif | | +| DISP_SUIVI | | 15 | 0 280 | 168 | 0 | Actif | | +| DISP_TYPERDV | | 312 | 5 356 | 112 | 0 | Actif | | +| DISP_TYPERDV1 | | 302 | 0 365 | 106 | 0 | Actif | | +| D_FIC_RDV | | 0 | 0 678 | 598 | 0 | Actif | | +| 06/08/2026 | | | Isis_BO | | | | 3523 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Zone répétée : +FI_Fiche_Rdv.D_FIC_RDV.DISP_ComboInter.DISP_COLLAB_RENDEZVOUS.ZR_CollabRDV +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_Archive | 66 16 | 15 14 | 0 | Actif | Gauche | Haut | | +| -------------- | ----- | ------ | --- | ----- | ------ | ------ | --- | +| LIB_Auplanning | 47 20 | 12 9 | 0 | Actif | Gauche | Haut | | +| LIB_Id | 66 6 | 15 14 | 0 | Actif | Gauche | Haut | | +| LIB_IdEquipe | 45 6 | 15 14 | 0 | Actif | Gauche | Haut | | +| LIB_IdRDV | 87 16 | 15 14 | 0 | Actif | Gauche | Haut | | +| LIB_Nom | 2 9 | 119 25 | 0 | Actif | Gauche | Centre | | +Bouton +| | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | +| --- | ---------- | ---------- | ------- | --- | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_SupprimeRessource | 115 | 0 16 | 16 | 0 | Actif | Normal | | +| --------------------- | --- | ---- | --- | --- | ----- | ------ | --- | +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +ATT_Archive +ATT_AuPlanning +ATT_CouleurFond +ATT_IDRdv +ATT_Id +ATT_IdEquipe +ATT_Nom +ATT_Supprime +Zone répétée : +FI_Fiche_Rdv.D_FIC_RDV.DISP_ComboInter.DISP_SITE_CONTACT.ZR_ContactRDV +| 06/08/2026 | | Isis_BO | | | | | 3524 | +| ---------- | --- | ------- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › 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_Id | 66 6 | 15 14 | 0 | Actif | Gauche | Haut | | +| ------------- | ----- | ----- | --- | ----- | ------ | ------ | --- | +| LIB_IdGroupe | 45 6 | 15 14 | 0 | Actif | Gauche | Haut | | +| LIB_IdRDV | 87 16 | 15 14 | 0 | Actif | Gauche | Haut | | +| LIB_NomPrenom | 2 9 | 99 25 | 0 | Actif | Gauche | Centre | | +Bouton +notuob epyT +| | | | | | laitini tatE | BAT ehcuoT | | +| --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | --- | +| | X noitisoP | Y noitisoP | | | | | | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_SupprimeRessource | 95 | 0 16 | 16 | 0 | Actif | Normal | | +| --------------------- | --- | ---- | --- | --- | ----- | ------ | --- | +Attribut zone répétée +BAT ehcuoT +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +ATT_IDRdv +ATT_Id +ATT_IdGroupe +ATT_Nom +ATT_Supprime +Fenêtre : FI_Fiche_Rdv +Fenêtre interne : FI_Fiche_Rdv +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| -------------------------------- | ---------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles | Compatible desktop ET mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Ancrage au contenu | | | | | | | | +| Numéro aide | 0 | | | | | | | +| Thème destination | Oui | | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | | +Facteur de rétrécissement +0 +Facteur d'agrandissement +0 +| Ctx. HFSQL indép. | Non | | | | | | | +| ----------------- | --- | ------- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | Isis_BO | | | | | 3525 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Fiche_Rdv +Bouton : +Groupe GR_SiteContact +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3526 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3527 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Bouton : FI_Fiche_Rdv.D_FIC_RDV.DISP_Entete.BTN_CADENAS_FERME_RDV +Groupe ,GR_MODEOPAQUE_FICHE_DOSSIER +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_Cadenas_Fermer_rouge.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3528 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Bouton : FI_Fiche_Rdv.D_FIC_RDV.DISP_Entete.BTN_CADENAS_OUVERT_RDV +Groupe ,GR_MODEOPAQUE_FICHE_DOSSIER +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_Cadenas.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3529 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Bouton : FI_Fiche_Rdv.D_FIC_RDV.DISP_DATEHORAIRERDV.BTN_Cal2 +Groupe GR_CADENAS_RDV,GR_DateRDV +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_calendrier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3530 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Bouton : FI_Fiche_Rdv.D_FIC_RDV.DISP_DATEHORAIRERDV.BTN_Cal3 +Groupe GR_CADENAS_RDV,GR_DateRDV +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_calendrier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3531 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Bouton : FI_Fiche_Rdv.D_FIC_RDV.DISP_ComboInter.DISP_SUIVI.BTN_EDT_RDV_CR +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS_INTERV +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3532 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Bouton : FI_Fiche_Rdv.D_FIC_RDV.DISP_DATEHORAIRERDV.BTN_EDT_RDV_Date +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS_INTERV +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3533 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Bouton : FI_Fiche_Rdv.D_FIC_RDV.DISP_Entete.BTN_Fermer_Fiche_Rdv +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Sortir sans enregistrer +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3534 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Bouton : FI_Fiche_Rdv.D_FIC_RDV.DISP_Entete.BTN_IMPRIME_RENDEZVOUS +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Non +Recopie Option menu flèche Non +Menu contextuel +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Imprimer la fiche d'intervention +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_imprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3535 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Bouton : FI_Fiche_Rdv.D_FIC_RDV.DISP_Entete.BTN_Pause_Fiche_Rdv +Groupe GR_CADENAS_RDV +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Mettre en pause le rendez-vous +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Pause.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3536 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Bouton : FI_Fiche_Rdv.D_FIC_RDV.DISP_Entete.BTN_Valider_Fiche_Rdv +Groupe GR_CADENAS_RDV +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Valider les changements +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3537 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Bouton : FI_Fiche_Rdv.D_FIC_RDV.DISP_Entete.BTN_VueDossier +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Ouvrir le dossier +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\dossier.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3538 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Combo : FI_Fiche_Rdv.D_FIC_RDV.DISP_TYPERDV.COMBO_IDStatut +Libellé FR: Statut +Groupe GR_NONPLANIFIE +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 136 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 478 +Largeur interne 136 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Statut du rendez-vous +Numéro aide 0 +Texte d'indication si vide FR: Statut du rendez-vous +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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 +06/08/2026 Isis_BO 3539 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Oui +Liaison des données :gclPresentationFicheRdv.m_nIDStatut +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeStatutRendezVous.m_clTabVisible +Filtre 15 +Rub. affichée :gpclListeStatutRendezVous.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeStatutRendezVous.m_clTabVisible.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Fiche_Rdv.D_FIC_RDV.DISP_TYPERDV.COMBO_IDTypeActivite +Libellé FR: Type d'activité: +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 136 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 323 +Largeur interne 136 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Type d'activité +Numéro aide 0 +Texte d'indication si vide FR: Type d'activité +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +06/08/2026 Isis_BO 3540 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Mode ellipse +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. +Avec recherche Oui +Liaison des données :gclPresentationFicheRdv.m_nIDTypeActivite +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeRendezVous.m_clTabVisible +Filtre 14 +Rub. affichée :gpclListeTypeRendezVous.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeTypeRendezVous.m_clTabVisible.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3541 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Combo : FI_Fiche_Rdv.COMBO_PL_ContactLieu +Libellé FR: Contact : +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +Menu contextuel +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 175 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 453 +Largeur interne 175 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Choisir un contact +Numéro aide 0 +Texte d'indication si vide FR: Choisir un contact +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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 Non +06/08/2026 Isis_BO 3542 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Liaison des données :gclPresentationFicheRdv.m_nIDPersonne +Nb. Enreg. Max 0 +Fichier parcouru :gclPresentationFicheRdv.m_clListePersonne +Filtre 15 +Rub. affichée :gclPresentationFicheRdv.m_clListePersonne.NomPrenom +Rub. mémorisée :gclPresentationFicheRdv.m_clListePersonne.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Fiche_Rdv.D_FIC_RDV.DISP_TYPERDV.COMBO_PL_LieIntervention +Libellé FR: Lié à l'intervention +Valeur initiale 0 +Groupe GR_NONPLANIFIE +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 136 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 478 +Largeur interne 136 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: N° de l'intervention +Numéro aide 0 +Texte d'indication si vide FR: N° de l'intervention +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 3543 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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. +Avec recherche Non +Nb. Enreg. Max 0 +Rub. parcourue IN_PKID +Rub. affichée IN_RefInterne +Rub. mémorisée IN_PKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3544 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Combo : FI_Fiche_Rdv.D_FIC_RDV.DISP_ComboInter.DISP_SUIVI.COMBO_PL_PrisPar +Libellé FR: Pris par +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 189 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 92 +Largeur interne 189 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Rendez-vous pris par +Numéro aide 0 +Texte d'indication si vide FR: Rendez-vous pris par +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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 +06/08/2026 Isis_BO 3545 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Oui +Liaison des données :gclPresentationFicheRdv.p_clCourant.m_nCreationUser +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeUtilisateur.m_clTabModele +Rub. affichée :gpclListeUtilisateur.m_clTabModele.sNomPrenomCollab +Rub. mémorisée :gpclListeUtilisateur.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Fiche_Rdv.D_FIC_RDV.DISP_ComboInter.DISP_SUIVI.COMBO_PL_Societe +Libellé FR: Société +Groupe GR_CADENAS_RDV +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 189 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 92 +Largeur interne 189 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Nom de la société +Numéro aide 0 +Texte d'indication si vide FR: Nom de la société +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +06/08/2026 Isis_BO 3546 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › 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. +Avec recherche Oui +Liaison des données :gclPresentationFicheRdv.m_nIDSociete +Nb. Enreg. Max 0 +Fichier parcouru Societe +Rub. parcourue SO_PKID +Rub. affichée SO_Nom +Rub. mémorisée SO_PKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3547 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Disposition : FI_Fiche_Rdv.D_FIC_RDV.DISP_ComboInter.DISP_COLLAB_RENDEZVOUS +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Rdv.D_FIC_RDV.DISP_ComboInter +Libellé FR: Disposition +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 +Cellule ancrée 3 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +06/08/2026 Isis_BO 3548 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Rdv.D_FIC_RDV.DISP_DATEHORAIRERDV +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Rdv.D_FIC_RDV.DISP_ComboInter.DISP_DESCRIPTION +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +06/08/2026 Isis_BO 3549 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 3550 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Facteur d'agrandissement 0 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +06/08/2026 Isis_BO 3551 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3552 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Disposition : FI_Fiche_Rdv.D_FIC_RDV.DISP_TYPERDV.DISP_ENTETE_DESCRIPTION +Libellé FR: Disposition +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 +Cellule ancrée 3 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +06/08/2026 Isis_BO 3553 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Rdv.D_FIC_RDV.DISP_Entete +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Rdv.D_FIC_RDV.DISP_ComboInter.DISP_SITE_CONTACT +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +06/08/2026 Isis_BO 3554 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Rdv.D_FIC_RDV.DISP_ComboInter.DISP_SUIVI +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Rdv.D_FIC_RDV.DISP_TYPERDV +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 3555 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Facteur d'agrandissement 0 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Rdv.D_FIC_RDV.DISP_ComboInter.DISP_TYPERDV1 +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Rdv.D_FIC_RDV +Libellé FR: Disposition +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 +Cellule ancrée 2 +Numéro aide 0 +06/08/2026 Isis_BO 3556 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Isis_BO 3557 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3558 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3559 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Forme : FI_Fiche_Rdv.D_FIC_RDV.DISP_TYPERDV.FRM_CADRE_TYPERDV +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\candado.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +06/08/2026 Isis_BO 3560 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_COLLAB.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +06/08/2026 Isis_BO 3561 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\horaire.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +06/08/2026 Isis_BO 3562 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\horaire.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3563 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_DESCRIPTION.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_SITE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Ascenseur et zoom auto. Non +06/08/2026 Isis_BO 3564 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_DESCRIPTION.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +06/08/2026 Isis_BO 3565 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_DESCRIPTION.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\candado-abierto.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +06/08/2026 Isis_BO 3566 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Fiche_Rdv.D_FIC_RDV.DISP_ComboInter.DISP_SUIVI.INT_BPL_Prive +Valeur initiale 0 +Groupe GR_CADENAS_RDV +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 +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 Toute la hauteur de l'option +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 +06/08/2026 Isis_BO 3567 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Saisie obligatoire (erreur) : Picto Non +Valeur persistante Non +Option multilignes Non +Option format RTF Non +Texte Markdown Non +Mode menu ctx. +Liaison des données :gclPresentationFicheRdv.m_bPrive +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : +Valeur initiale 0 +Groupe GR_CADENAS_RDV +Ordre navigation 3 +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 +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 Toute la hauteur de l'option +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. +06/08/2026 Isis_BO 3568 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Liaison des données :gclPresentationFicheRdv.m_bSuperposable +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Fiche_Rdv.D_FIC_RDV.DISP_ComboInter.DISP_SUIVI.INT_CR +Valeur initiale 0 +Groupe GR_CADENAS_RDV +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 +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 Toute la hauteur de l'option +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. +Liaison des données :gclPresentationFicheRdv.m_bCR +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 3569 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Fiche_Rdv.D_FIC_RDV.DISP_ComboInter.DISP_SUIVI.INT_PL_RappelSMS +Valeur initiale 0 +Groupe GR_CADENAS_RDV +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 +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 Toute la hauteur de l'option +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. +Liaison des données :gclPresentationFicheRdv.m_bRappelSMS +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3570 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Interrupteur : FI_Fiche_Rdv.D_FIC_RDV.DISP_TYPERDV.INT_SAV +Valeur initiale 0 +Groupe GR_CADENAS_RDV +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Liaison des données :gclPresentationFicheRdv.m_bSAV +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3571 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Libellé : FI_Fiche_Rdv.D_FIC_RDV.DISP_DATEHORAIRERDV.LIB_A_PLANIFIER +Libellé FR: Dates et horaires à planifier sur le 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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Caractéristiques +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 +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 +06/08/2026 Isis_BO 3572 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Collaborateur(s) +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3573 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Libellé : +Libellé FR: Site et Contact(s) lié(s) au Rendez-vous +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Rdv.D_FIC_RDV.DISP_DATEHORAIRERDV.LIB_DATEDEBUT +Libellé FR: Date de début +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 +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 +06/08/2026 Isis_BO 3574 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Rdv.D_FIC_RDV.DISP_DATEHORAIRERDV.LIB_DATEFIN +Libellé FR: Date de fin +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3575 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Libellé : +Libellé FR: Dates et horaires +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Description de l'intervention +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 +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 +06/08/2026 Isis_BO 3576 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Rdv.D_FIC_RDV.LIB_DateExport +Libellé FR: Date d'export +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3577 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Libellé : FI_Fiche_Rdv.D_FIC_RDV.DISP_DATEHORAIRERDV.LIB_HEUREDEBUT +Libellé FR: Heure de début +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Rdv.D_FIC_RDV.DISP_DATEHORAIRERDV.LIB_HEUREFIN +Libellé FR: Heure de fin +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 +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 +06/08/2026 Isis_BO 3578 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Rdv.D_FIC_RDV.LIB_InfoSup +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 +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 +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3579 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Libellé : FI_Fiche_Rdv.D_FIC_RDV.DISP_ComboInter.DISP_TYPERDV1.LIB_NOTE +Libellé FR: Note sur le rendez-vous +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Rdv.D_FIC_RDV.DISP_TYPERDV.LIB_NUMDOSSIER +Libellé FR: N° de dossier +Groupe GR_NONPLANIFIE +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 3580 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Rdv.D_FIC_RDV.DISP_TYPERDV.LIB_NUMINTERV +Libellé FR: Lié à l'intervention +Groupe GR_NONPLANIFIE +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3581 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Libellé : +Libellé FR: Objet +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Rdv.D_FIC_RDV.LIB_RdvGroupeDate +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 +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 +06/08/2026 Isis_BO 3582 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Rdv.D_FIC_RDV.DISP_ComboInter.DISP_SITE_CONTACT.LIB_SITE +Libellé FR: Site +Groupe GR_SiteContact +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3583 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Libellé : FI_Fiche_Rdv.D_FIC_RDV.DISP_TYPERDV.LIB_STATUT +Libellé FR: Statut +Groupe GR_NONPLANIFIE +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 +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 +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 +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Suivi +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 3584 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Rdv.D_FIC_RDV.DISP_TYPERDV.LIB_TYPERDV +Libellé FR: Type d'activité +Groupe GR_NONPLANIFIE +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3585 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Libellé : FI_Fiche_Rdv.D_FIC_RDV.DISP_Entete.LIB_Titre_de_fenêtre_Fiche_Rdv +Libellé FR: Rendez-vous +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Fiche_Rdv.D_FIC_RDV.DISP_TYPERDV.SAI_Dossier +Libellé FR: N° de dossier +Groupe GR_NONPLANIFIE +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +06/08/2026 Isis_BO 3586 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Cadrage horz. Gauche +Position X interne 323 +Largeur interne 136 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Saisir le nom, ref.Interne ou ref.Externe du dossier +Numéro aide 0 +Texte d'indication si vide FR: Saisir le nom, ref.Interne ou ref.Externe du dossier +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +06/08/2026 Isis_BO 3587 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Site +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 28 +Largeur interne 639 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Site du rendez-vous +Numéro aide 0 +Texte d'indication si vide FR: Site du rendez-vous +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 100 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3588 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +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. +Liaison des données :gclPresentationFicheRdv.m_clLieu.m_clAdresse.m_sPresentation +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Objet +Groupe GR_CADENAS_RDV +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +06/08/2026 Isis_BO 3589 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 373 +Largeur interne 190 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Objet du Rendez-vous +Numéro aide 0 +Texte d'indication si vide FR: Objet du Rendez-vous +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 100 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3590 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Mode menu ctx. +Liaison des données :gclPresentationFicheRdv.m_sObjet +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Fiche_Rdv.D_FIC_RDV.DISP_DATEHORAIRERDV.SAI_PL_DateDebut +Libellé FR: Date de début +Groupe GR_CADENAS_RDV,GR_DateRDV +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 27 +Largeur interne 95 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Date de début du Rendez-vous +Numéro aide 0 +Texte d'indication si vide FR: Date de début du Rendez-vous +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: JJ/MM/AAAA +Masque affichage FR: JJ/MM/AAAA +06/08/2026 Isis_BO 3591 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFicheRdv.m_dhDateDebut +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3592 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Champ de saisie : FI_Fiche_Rdv.D_FIC_RDV.DISP_DATEHORAIRERDV.SAI_PL_DateFin +Libellé FR: Date de fin +Groupe GR_CADENAS_RDV,GR_DateRDV +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 160 +Largeur interne 95 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Date de fin du Rendez-vous +Numéro aide 0 +Texte d'indication si vide FR: Date de fin du Rendez-vous +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: JJ/MM/AAAA +Masque affichage FR: JJ/MM/AAAA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3593 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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. +Liaison des données :gclPresentationFicheRdv.m_dhDateFin +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Description +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 307 +Largeur interne 353 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 3594 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › 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: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFicheRdv.m_clIntervention.m_sDescription +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 +06/08/2026 Isis_BO 3595 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Bouton droit : Monochrome Couleur monochrome du style +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Description +Groupe GR_CADENAS_RDV +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 308 +Largeur interne 352 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Note sur le Rendez-vous +Numéro aide 0 +Texte d'indication si vide FR: Note sur le Rendez-vous +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 250 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3596 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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. +Liaison des données :gclPresentationFicheRdv.m_sDescription +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Fiche_Rdv.D_FIC_RDV.DISP_DATEHORAIRERDV.SAI_PL_HeureFin +Libellé FR: Heure de fin +Groupe GR_CADENAS_RDV +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Isis_BO 3597 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 160 +Largeur interne 95 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Date de fin du Rendez-vous +Numéro aide 0 +Texte d'indication si vide FR: Date de fin du Rendez-vous +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 +Masque affichage FR: HH:MM +Format retour HHMMSS +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Gestion Euro Non +06/08/2026 Isis_BO 3598 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Fiche_Rdv.D_FIC_RDV.DISP_DATEHORAIRERDV.SAI_PL_HuereDebut +Libellé FR: Heure de début +Groupe GR_CADENAS_RDV +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 27 +Largeur interne 95 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Date de début du Rendez-vous +Numéro aide 0 +Texte d'indication si vide FR: Date de début du Rendez-vous +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 +Masque affichage FR: HH:MM +Format retour HHMMSS +Borne dans bulle Non +Borne dans texte d'indication Oui +06/08/2026 Isis_BO 3599 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3600 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Zone répétée : +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 36 +Largeur colonne 131 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 2 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +Nb. Enreg. Max 0 +06/08/2026 Isis_BO 3601 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Parcours Automatique +Fichier parcouru :gclPresentRDVGroupe.m_clTabModele +Rub. mémorisée :gclPresentRDVGroupe.m_clTabModele +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : +Libellé FR: &Zone répétée +Groupe GR_SiteContact +Ordre navigation 2 +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 +Hauteur ligne max. 0 +Hauteur ligne 36 +Largeur colonne 124 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +06/08/2026 Isis_BO 3602 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 5 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +Nb. Enreg. Max 0 +Parcours Automatique +Fichier parcouru :gclPresentListeContactRDV.m_clTabModele +Rub. mémorisée :gclPresentListeContactRDV.m_clTabModele +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : +FI_Fiche_Rdv.D_FIC_RDV.DISP_ComboInter.DISP_COLLAB_RENDEZVOUS.ZR_CollabRDV +Attribut zone répétée : +Champ associé LIB_Archive +Propriété associée 1 +Liaison des données :gclPresentRDVGroupe.m_clTabModele.m_bArchive +Attribut zone répétée : +Champ associé LIB_Auplanning +Propriété associée 1 +Liaison des données :gclPresentRDVGroupe.m_clTabModele.m_clCollaborateur.m_bAuPlanning +06/08/2026 Isis_BO 3603 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Attribut zone répétée : +Champ associé LIB_Nom +Propriété associée 21 +Liaison des données :gclPresentRDVGroupe.m_clTabModele.m_clCollaborateur.NomPrenom +Attribut zone répétée : +Champ associé LIB_IdRDV +Propriété associée 5 +Liaison des données :gclPresentRDVGroupe.m_clTabModele.m_nPKID +Attribut zone répétée : +Champ associé LIB_Id +Propriété associée 1 +Liaison des données :gclPresentRDVGroupe.m_clTabModele.m_nIDCollaborateur +Attribut zone répétée : +Champ associé LIB_IdEquipe +Propriété associée 1 +Liaison des données :gclPresentRDVGroupe.m_clTabModele.m_nIDEquipe +Attribut zone répétée : +Champ associé LIB_Nom +Propriété associée 1 +Liaison des données :gclPresentRDVGroupe.m_clTabModele.m_clCollaborateur.NomPrenom +06/08/2026 Isis_BO 3604 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Attribut zone répétée : +Propriété associée 73 +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Image fond FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_16_5_fermer.png +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3605 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Libellé : +Libellé FR: Ar +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 +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 +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 +Liaison des données :gclPresentRDVGroupe.m_clTabModele.m_bArchive +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 3606 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentRDVGroupe.m_clTabModele.m_clCollaborateur.m_bAuPlanning +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Id +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 +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 +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 +Liaison des données :gclPresentRDVGroupe.m_clTabModele.m_nIDCollaborateur +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +06/08/2026 Isis_BO 3607 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Id +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 +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 +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 +Liaison des données :gclPresentRDVGroupe.m_clTabModele.m_nIDEquipe +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Id +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 3608 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +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 +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 +Liaison des données :gclPresentRDVGroupe.m_clTabModele.m_nPKID +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Libellé +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 +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 +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 +Liaison des données :gclPresentRDVGroupe.m_clTabModele.m_clCollaborateur.NomPrenom +06/08/2026 Isis_BO 3609 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : +FI_Fiche_Rdv.D_FIC_RDV.DISP_ComboInter.DISP_SITE_CONTACT.ZR_ContactRDV +Attribut zone répétée : +Champ associé LIB_IdRDV +Propriété associée 5 +Liaison des données :gclPresentListeContactRDV.m_clTabModele.m_nIDRdv +Attribut zone répétée : +Champ associé LIB_Id +Propriété associée 1 +Liaison des données :gclPresentListeContactRDV.m_clTabModele.m_clPersonne.m_nPKID +Attribut zone répétée : +Champ associé LIB_IdGroupe +Propriété associée 1 +Liaison des données :gclPresentListeContactRDV.m_clTabModele.m_nIDGroupeRDV +Attribut zone répétée : +Champ associé LIB_NomPrenom +Propriété associée 1 +Liaison des données :gclPresentListeContactRDV.m_clTabModele.m_clPersonne.NomPrenom +06/08/2026 Isis_BO 3610 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Attribut zone répétée : +Propriété associée 73 +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Image fond FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_16_5_fermer.png +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3611 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Libellé : +Libellé FR: Id +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 +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 +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 +Liaison des données :gclPresentListeContactRDV.m_clTabModele.m_clPersonne.m_nPKID +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Id +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Isis_BO 3612 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentListeContactRDV.m_clTabModele.m_nIDGroupeRDV +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Id +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 +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 +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 +Liaison des données :gclPresentListeContactRDV.m_clTabModele.m_nIDRdv +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 3613 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Libellé +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 +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 +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 +Liaison des données :gclPresentListeContactRDV.m_clTabModele.m_clPersonne.NomPrenom +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_Fiche_Rdv +Messages multilingues +06/08/2026 Isis_BO 3614 +¹ +.ssem +°N +Message + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Messages multilingues +06/08/2026 Isis_BO 3615 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FI_Fiche_Rdv +Code des champs +Déclarations globales de FI_Fiche_Rdv +procédure FI_Fiche_Rdv(gclPresentationFicheRdv est une PFicheRdv dynamique=Null, +paramSupplementaire est un STParamFenetreAppelante=Null) +D_FIC_RDV..AffichageActif=Faux +gclPresentRDVGroupe est un PTableRDV dynamique=Null +gclPresentListeContactRDV est un PTablePlanning_RDV_Personne dynamique=Null +gnDelai est un entier +maProcMAJObjetRetourFI est une procédure = MAJObjetRetourFI +nIDStatutNonPlan est un entier sur 8 octets = gpclListeStatutRendezVous. +RechercheEtDonneIdDepuisValeur("99") +gbModif est un booléen = False +gnIdInter est un entier sur 8 octets = gclPresentationFicheRdv:m_n +IDIntervention +gbModifiable est un booléen = Vrai +bufDescripInter est un Buffer +si gclPresentationFicheRdv.m_clListeCollabGroup..Occurrence =0 alors +si gclPresentationFicheRdv.m_nIDGroupe<>0 et gclPresentationFicheRdv.m_nIDStatut<> gpcl +ListeStatutRendezVous.RechercheEtDonneIdDepuisValeur(1) alors +gclPresentRDVGroupe=PTableRDV.gNouvellePresentation(3,-1,gclPresentationFicheRdv.m_nIDGroupe,"" +) +sinon si gclPresentationFicheRdv.m_nIDCollaborateur<>0 et gclPresentationFicheRdv.m_nIDStatut<> +gpclListeStatutRendezVous.RechercheEtDonneIdDepuisValeur(1) +si gclPresentationFicheRdv.m_nIDCollaborateur<>0 alors +gclPresentRDVGroupe=PTableRDV.gNouvellePresentation(3,gclPresentationFicheRdv.m_nPKID,-1, +gclPresentationFicheRdv.m_nIDCollaborateur) +sinon +gclPresentRDVGroupe=PTableRDV.gNouvellePresentation(3,gclPresentationFicheRdv.m_nPKID,-1, +"") +fin +sinon si gclPresentationFicheRdv.m_nIDStatut= gpclListeStatutRendezVous. +RechercheEtDonneIdDepuisValeur(1) et gclPresentationFicheRdv.m_nIDGroupe=0 +gclPresentRDVGroupe=PTableRDV.gNouvellePresentation(2,gclPresentationFicheRdv.m_nPKID, +gclPresentationFicheRdv.m_nIDGroupe,-1,gclPresentationFicheRdv.m_dhDateDebut, +gclPresentationFicheRdv.m_dhDateFin) +sinon si gclPresentationFicheRdv.m_nIDStatut= gpclListeStatutRendezVous. +RechercheEtDonneIdDepuisValeur(1) et gclPresentationFicheRdv.m_nIDGroupe<>0 +gclPresentRDVGroupe=PTableRDV.gNouvellePresentation(3,-1,gclPresentationFicheRdv.m_nIDGroupe,"" +) +sinon +gclPresentRDVGroupe=PTableRDV.gNouvellePresentation(3,gclPresentationFicheRdv.m_nPKID,-1,"") +fin +sinon si gclPresentationFicheRdv:m_nIDStatut = nIDStatutNonPlan alors +gclPresentRDVGroupe=PTableRDV.gNouvellePresentation(3,-1,gclPresentationFicheRdv.m_nIDGroupe,"","", +"",nIDStatutNonPlan) +sinon + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Code des champs +gclPresentRDVGroupe=PTableRDV.gNouvellePresentation(3,gclPresentationFicheRdv.m_nPKID,-1,"") +fin +gclPresentListeContactRDV=PTablePlanning_RDV_Personne.gNouvellePresentation(gclPresentationFicheRdv.m_n +PKID) +//Evénement(SurActivite, "*.*", WM_LBUTTONDOWN) +//Evénement(SurActivite, "*.*", WM_RBUTTONDOWN) +//Evénement(SurActivite, "*.*", WM_MBUTTONDOWN) +//Evénement(SurActivite, "*.*", WM_MOUSEMOVE) +//Evénement(SurActivite, "*.*", WM_KEYDOWN) +LIB_Titre_de_fenêtre_Fiche_Rdv = paramSupplementaire.eTypeAppel=Libre _et_ gclPresentationFicheRdv:m_n +PKID = 0 ? "Nouveau rendez-vous" sinon paramSupplementaire.sTitreFenetre<>"" ? paramSupplementaire.s +TitreFenetre sinon "Rendez-vous" +bAccesEtDroitDossier est un booléen +local +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +gnDelai = DonneValeurTimeOutObjet(gclPresentationFicheRdv) +si gclPresentationFicheRdv.m_clListeCollabGroup..Occurrence =0 alors +si gclPresentationFicheRdv.m_bNouveau=Vrai et gclPresentationFicheRdv.m_nPKID=0 _et_ +gclPresentationFicheRdv:m_nIDStatut <> nIDStatutNonPlan alors +clPresentationFiche est un PFicheRdv <- gclPresentRDVGroupe.Nouveau() +clPresentationFiche.m_bNouveau = Vrai +clPresentationFiche.m_nIDCollaborateur = gclPresentationFicheRdv.m_nIDCollaborateur +pour tout Collaborateur avec CO_PKID=gclPresentationFicheRdv.m_nIDCollaborateur +clPresentationFiche.m_clCollaborateur.m_sNom = Collaborateur.CO_Nom +clPresentationFiche.m_clCollaborateur.m_sPrenom = Collaborateur.CO_Prenom +clPresentationFiche.m_clCollaborateur.m_bAuPlanning = Vrai +clPresentationFiche.m_clCollaborateur.m_nPKID = gclPresentationFicheRdv.m_n +IDCollaborateur +clPresentationFiche.m_dhDateDebut = gclPresentationFicheRdv.m_dh +DateDebut +clPresentationFiche.m_dhDateFin = gclPresentationFicheRdv.m_dh +DateFin +fin +clPresentationFiche.m_nIDDossier = gclPresentationFicheRdv.m_nIDDossier +clPresentationFiche.m_nIDIntervention = gclPresentationFicheRdv.m_nIDIntervention +clPresentationFiche.m_nIDTypeActivite = gclPresentationFicheRdv.m_nIDTypeActivite +clPresentationFiche.m_nIDStatut = gclPresentationFicheRdv.m_nIDStatut +clPresentationFiche.AppelProcValidation() +fin +sinon +si gclPresentationFicheRdv.m_bNouveau=Vrai alors +pour i=1 _à_ gclPresentationFicheRdv.m_clListeCollabGroup..Occurrence +clPresentationFiche est un PFicheRdv <- gclPresentRDVGroupe.Nouveau() +clPresentationFiche.m_bNouveau = Vrai +clPresentationFiche.m_nIDCollaborateur = gclPresentationFicheRdv.m_clListeCollabGroup[i]. +m_nPKID +pour tout Collaborateur avec CO_PKID=gclPresentationFicheRdv.m_clListeCollabGroup[i].m_n +PKID +clPresentationFiche.m_clCollaborateur.m_sNom = Collaborateur.CO_Nom +clPresentationFiche.m_clCollaborateur.m_sPrenom = Collaborateur.CO_Prenom +clPresentationFiche.m_clCollaborateur.m_bAuPlanning = Vrai +clPresentationFiche.m_clCollaborateur.m_nPKID = gclPresentationFicheRdv. +m_clListeCollabGroup[i].m_nPKID +clPresentationFiche.m_dhDateDebut = gclPresentationFicheRdv.m_dh +DateDebut +clPresentationFiche.m_dhDateFin = gclPresentationFicheRdv +.m_dhDateFin +fin +clPresentationFiche.m_nIDDossier = gclPresentationFicheRdv.m_n +IDDossier +clPresentationFiche.m_nIDIntervention = gclPresentationFicheRdv.m_n +IDIntervention +06/08/2026 Isis_BO 3616 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Code des champs +clPresentationFiche.m_nIDTypeActivite = gclPresentationFicheRdv.m_n +IDTypeActivite +clPresentationFiche.m_nIDStatut = gclPresentationFicheRdv +.m_nIDStatut +clPresentationFiche.AppelProcValidation() +fin +sinon +si gclPresentationFicheRdv.m_nIDGroupe<>0 alors +VariableRAZ(gclPresentRDVGroupe) +// pour TOUT Planning_RDV avec PL_IDGroupe=gclPresentationFicheRdv.m_nIDGroupe +// clPresentationFiche est un MRDV=Planning_RDV +// gclPresentRDVGroupe.m_clTabModele.Ajoute(clPresentationFiche) +si gclPresentationFicheRdv:m_nIDStatut = nIDStatutNonPlan alors +gclPresentRDVGroupe=PTableRDV.gNouvellePresentation(3,-1,gclPresentationFicheRdv.m_n +IDGroupe,"","","",nIDStatutNonPlan) +sinon +gclPresentRDVGroupe=PTableRDV.gNouvellePresentation(3,-1,gclPresentationFicheRdv.m_n +IDGroupe) +fin +// FIN +fin +fin +fin +//SI gclPresentationFicheRdv.m_clListePersonne..Occurrence <> 0 et +gclPresentationFicheRdv.m_bNouveau=vrai ALORS +// POUR i=1 _a_ gclPresentationFicheRdv.m_clListePersonne..Occurrence +// clPresentationFicheContact est un PFichePlanning_RDV_Personne<-gclPresentListeContactRDV.Nouveau() +// clPresentationFicheContact.m_bNouveau=Vrai +// clPresentationFicheContact.m_nIDPersonne=gclPresentationFicheRdv.m_clListePersonne[i].m_nPKID +// HLitRecherchePremier(Personne,PE_PKID,gclPresentationFicheRdv.m_clListePersonne[i].m_nPKID) +// si htrouve(Personne) alors +// clPresentationFicheContact.m_clPersonne.Charger(Personne) +// FIN +////clPresentationFicheContact.m_clPersonne.m_sNom=gclPresentationFicheRdv.m_clListePersonne[i].m_sNom +//// +clPresentationFicheContact.m_clPersonne.m_sPrenom=gclPresentationFicheRdv.m_clListePersonne[i].m_sPreno +m +// clPresentationFicheContact.m_nIDGroupeRDV=gclPresentationFicheRdv.m_nIDGroupe +// clPresentationFicheContact.m_nIDRdv=gclPresentationFicheRdv.m_nPKID +// clPresentationFicheContact.AppelProcValidation() +// fin +//FIN +TableauSupprimeTout(gclPresentationFicheRdv.m_tbDateCR) +bAccesEtDroitDossier = AccesEtDroitDossier() +Charge_TitreActivite() +Charge_DossierIntervention() +si gclPresentationFicheRdv=Null alors +gclPresentationFicheRdv=PFicheRdv.gNouvellePresentation() +fin +si gclPresentationFicheRdv:m_nIDStatut = nIDStatutNonPlan alors +LIB_STATUT..Visible=Faux +COMBO_IDStatut..Visible=Faux +GR_NONPLANIFIE..Grisé=Vrai +DISP_DATEHORAIRERDV[2]..Visible=Faux +DISP_DATEHORAIRERDV[3]..Visible=Vrai +COMBO_IDStatut..LiaisonFichier ="" +ListeAjoute(COMBO_IDStatut,gpclListeStatutRendezVous.RechercheEtDonneLibelleDepuisID( +gclPresentationFicheRdv:m_nIDStatut)+gLien(gclPresentationFicheRdv:m_nIDStatut)) +ListeSelectPlus(COMBO_IDStatut,1) +fin +//ChargeZR_Collab() +BlocEnregistrement(gclPresentationFicheRdv,ActiveTimer,BTN_CADENAS_FERME_RDV,BTN_CADENAS_OUVERT_RDV,GR_ +06/08/2026 Isis_BO 3617 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Code des champs +CADENAS_RDV,D_FIC_RDV) +si gclPresentationFicheRdv <> Null _et_ gclPresentationFicheRdv:m_clIntervention <> Null _et_ +gclPresentationFicheRdv:m_clIntervention:m_sDescription <> "" alors +bufDescripInter = gclPresentationFicheRdv:m_clIntervention:m_sDescription +fin +Fin d'initialisation de FI_Fiche_Rdv + +INT_PL_RappelSMS..Visible = Vrai + +SAI_PL_Description..Grisé = Vrai +si COMBO_PL_LieIntervention..ValeurMémorisée>0 alors +DISP_Entete[3]..Visible=Vrai +GR_SiteContact..Visible=Vrai +COMBO_PL_ContactLieu..Visible=Vrai +SAI_PL_Description..Grisé = Faux +sinon +DISP_Entete[3]..Visible=Vrai +GR_SiteContact..Visible=Faux +COMBO_PL_ContactLieu..Visible=Faux +fin +si COMBO_PL_LieIntervention..ValeurAffichée<>"" alors +SAI_Dossier..Etat=Grisé +COMBO_PL_LieIntervention..Etat=Grisé +//sai_lieu..etat=grisé +sinon +SAI_Dossier..Etat=Actif +COMBO_PL_LieIntervention..Etat=Actif +//SAI_Lieu..Etat=Actif +fin +//si COMBO_PL_LieIntervention..ValeurMémorisée > 0 alors +// DISP_Entete[3]..visible=vrai +// SAI_Lieu..visible=vrai +// COMBO_PL_ContactLieu..visible=vrai +//sinon +// DISP_Entete[3]..Visible=vrai +// SAI_Lieu..Visible=faux +// COMBO_PL_ContactLieu..Visible=faux +//FIN +SAI_PL_HuereDebut=Milieu(gclPresentationFicheRdv.m_dhDateDebut,9,4) +SAI_PL_HeureFin=Milieu(gclPresentationFicheRdv.m_dhDateFin,9,4) +D_FIC_RDV..AffichageActif=Vrai +GestionBTNDossierImp() +CouleurTypeAct() +gbModif = False +si gclPresentationFicheRdv:m_nIDGroupeDate > 0 et gclPresentationFicheRdv.m_nPKID > 0 alors +BTN_EDT_RDV_Date..Grisé = Faux +GR_DateRDV..Grisé = Vrai +INT_CR..Grisé = Vrai +sDateDebut est une chaîne ANSI = "" +sDateFin est une chaîne ANSI = "" +(sDateDebut, sDateFin) = DateDebutFinRDVGroupe(gclPresentationFicheRdv.m_nIDGroupeDate) +si gclPresentationFicheRdv:NB_RDV() > 0 _et_ sDateDebut <> "" et sDateFin <> "" alors +LIB_RdvGroupeDate = "Le rendez-vous a été crée sur plusieurs jours : "+ +DateHeureVersChaîne(sDateDebut, "JJ-MM-AA HH:mm")+ " - "+DateHeureVersChaîne(sDateFin, +"JJ-MM-AA HH:mm") +sinon +LIB_RdvGroupeDate = "Le rendez-vous a été crée sur plusieurs jours" +INT_CR..Grisé = Faux +fin +06/08/2026 Isis_BO 3618 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Code des champs +sinon +BTN_EDT_RDV_Date..Grisé = Vrai +GR_DateRDV..Grisé = Faux +LIB_RdvGroupeDate = "" +BTN_EDT_RDV_CR..Grisé = Vrai +fin +Demande de mise à jour de l'affichage de FI_Fiche_Rdv +si gclPresentationFicheRdv<>Null alors +SourceVersEcran("","gclPresentationFicheRdv") +ZoneRépétéeAffiche(ZR_CollabRDV,taInit) +ZoneRépétéeAffiche(ZR_ContactRDV,taInit) +si gclPresentationFicheRdv.m_clListePersonne..Occurrence=0 alors +BTN_AjoutContact..Visible=Faux +sinon +BTN_AjoutContact..Visible=Vrai +fin +si gclPresentationFicheRdv.m_clLieu.m_nPKID<>0 alors +SAI_Lieu=Remplace(SAI_Lieu..Valeur,[RC,TAB],"-") +sinon +SAI_Lieu="Pas de site pour cette intervention" +fin +si gclPresentationFicheRdv.m_nIDStatut=0 alors +ListeSelectPlus(COMBO_IDStatut,1) +gclPresentationFicheRdv.m_nIDStatut = COMBO_IDStatut +fin +fin +si DateValide(gclPresentationFicheRdv:m_dhDateExport) alors +LIB_DateExport = "Date d'export : " +DateVersChaîne(gclPresentationFicheRdv:m_dhDateExport, "Jjjj +JJ Mmmm AAAA") +sinon +LIB_DateExport = "" +fin +LIB_InfoSup = "" +si gclPresentationFicheRdv:m_clIntervention <> Null et gnIdInter > 0 alors +si gclPresentationFicheRdv:m_clIntervention:m_sNumDevis <> "" alors +LIB_InfoSup = " Devis n° "+gclPresentationFicheRdv:m_clIntervention:m_sNumDevis +fin +si gclPresentationFicheRdv:m_clIntervention:m_sTitre <> "" alors +si LIB_InfoSup <> "" alors +LIB_InfoSup += " - " +fin +LIB_InfoSup += gclPresentationFicheRdv:m_clIntervention:m_sTitre +fin +fin +Fermeture de FI_Fiche_Rdv +//deblocEnregistrement(gclPresentationFicheRdv,paramSupplementaire,DesactiveTimer,BTN_CADENAS_FERME_RDV +,BTN_CADENAS_OUVERT_RDV,GR_CADENAS,D_FIC_RDV,Faux) +//Déblocage de l'enregistrement en base +si gclPresentationFicheRdv<>Null _et_ gclPresentationFicheRdv:m_bBlocageEcriture alors +gclPresentationFicheRdv:DebloqueEnregistrement() +Initialisation de COMBO_PL_ContactLieu +06/08/2026 Isis_BO 3619 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Code des champs +ListeSupprimeTout(COMBO_PL_ContactLieu) +TableauSupprimeTout(gclPresentationFicheRdv.m_clListePersonne) +pclListepersonneLieu est une PTablePersonne dynamique +pclListepersonneLieu=PTablePersonne.gNouvellePresentation(6,gclPresentationFicheRdv.m_nIDLieu, +gclPresentationFicheRdv.m_nIDIntervention) +si pclListepersonneLieu.m_clTabModele..OCCURRENCE=1 alors +pour i= 1 _à_ pclListepersonneLieu.m_clTabModele..Occurrence +clUnPersonne est un MPersonne +clUnPersonne.m_sNom=pclListepersonneLieu.m_clTabModele[i].m_sNom +clUnPersonne.m_sPrenom=pclListepersonneLieu.m_clTabModele[i].m_sPrenom +clUnPersonne.m_nPKID=pclListepersonneLieu.m_clTabModele[i].m_nPKID +TableauAjoute(gclPresentationFicheRdv.m_clListePersonne,clUnPersonne) +fin +ListeSelectPlus(COMBO_PL_ContactLieu,1) +sinon +pour i= 1 _à_ pclListepersonneLieu.m_clTabModele..Occurrence +clUnPersonne est un MPersonne +clUnPersonne.m_sNom=pclListepersonneLieu.m_clTabModele[i].m_sNom +clUnPersonne.m_sPrenom=pclListepersonneLieu.m_clTabModele[i].m_sPrenom +clUnPersonne.m_nPKID=pclListepersonneLieu.m_clTabModele[i].m_nPKID +TableauAjoute(gclPresentationFicheRdv.m_clListePersonne,clUnPersonne) +fin +fin +Fin d'initialisation de COMBO_PL_ContactLieu +si gclPresentationFicheRdv.m_clListePersonne..Occurrence>1 alors +ListeAjoute(COMBO_PL_ContactLieu,"Choisir le contact du Lieu") +ListeSelectPlus(COMBO_PL_ContactLieu) +fin +Sélection d'une ligne de COMBO_PL_ContactLieu +ChampVersSource() +Clic sur BTN_AjoutRessource +sDateHeuredebut est une chaîne = SAI_PL_DateDebut..Valeur+SAI_PL_HuereDebut..Valeur +sDateHeureFin est une chaîne = SAI_PL_DateFin..Valeur+SAI_PL_HeureFin..Valeur +gclPresentationFicheRdv.m_dhDateDebut = sDateHeuredebut +gclPresentationFicheRdv.m_dhDateFin = sDateHeureFin +pour tout pclGroupe de gclPresentRDVGroupe.m_clTabModele +pclGroupe.m_dhDateDebut = sDateHeuredebut +pclGroupe.m_dhDateFin= sDateHeureFin +pclGroupe.m_nIDSociete = gclPresentationFicheRdv.m_nIDSociete +si pclGroupe.m_nIDCollaborateur = gclPresentationFicheRdv.m_nIDCollaborateur alors +pclGroupe:m_bOuvertureCollaborateur = Vrai +fin +fin +si gclPresentationFicheRdv.m_nIDStatut = gpclListeStatutRendezVous:RechercheEtDonneIdDepuisValeur("99") +alors +OuvrePopupPosition(FEN_Choix_Equipe_Collaborateur,poBas,*,DonneParam(DansFenetre,"FI_Fiche_Rdv", +MoiMême..Nom,maProcMAJObjetRetourFI,"Collaborateurs","RendezVousEquipeCollabRDVP",Val(COMBO_ +PL_Societe..ValeurMémorisée),gclPresentRDVGroupe,Vrai)) +sinon +OuvrePopupPosition(FEN_Choix_Equipe_Collaborateur,poBas,*,DonneParam(DansFenetre,"FI_Fiche_Rdv", +MoiMême..Nom,maProcMAJObjetRetourFI,"Collaborateurs","RendezVousEquipeCollab",Val(COMBO_PL_Societe. +.ValeurMémorisée),gclPresentRDVGroupe,Vrai)) +fin +//gclPresentRDVGroupe <-clPresentation +DemandeMiseAJourIHM() +06/08/2026 Isis_BO 3620 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Code des champs +gbModif = Vrai +Initialisation de ZR_CollabRDV +//SourceVersEcran("","gclPresentationFicheRdv") +Affichage d'une ligne de ZR_CollabRDV +si ATT_AuPlanning="0" alors +ATT_CouleurFond=GrisFoncé +sinon +ATT_CouleurFond=RVB(245,179,1) +fin +Clic sur BTN_SupprimeRessource ( ZR_CollabRDV ) +nindice est un entier +//clClErreur est un CErreur +nindice=TableauCherche(gclPresentRDVGroupe:m_clTabModele,tcLinéaire,"m_nIDCollaborateur;m_nIDEquipe", +ZR_CollabRDV.ATT_Id,ZR_CollabRDV.ATT_IdEquipe,1) +si nindice<>-1 alors +si gclPresentRDVGroupe:m_clTabModele[nindice].m_bNouveau<>Vrai et gclPresentRDVGroupe: +m_clTabModele[nindice].m_nPKID > 0 alors +si SupprimerRdv(Val(gclPresentRDVGroupe:m_clTabModele[nindice].m_nPKID), Vrai) alors +TableauSupprimeLigne(gclPresentRDVGroupe:m_clTabModele,nindice) +fin +sinon +TableauSupprimeLigne(gclPresentRDVGroupe:m_clTabModele,nindice) +fin +fin +ZoneRépétéeAffiche(ZR_CollabRDV,taInit) +A chaque modification de SAI_PL_Description +gbModif = Vrai +Clic sur BTN_AjoutContact +OuvrePopupPosition(FEN_Choix_Contact_Site,poBas,*,DonneParam(DansFenetre,"FI_Fiche_Rdv",MoiMême..Nom, +maProcMAJObjetRetourFI,"Contacts","RendezVousContactsSite",gclPresentationFicheRdv.m_clLieu.m_nPKID, +gclPresentListeContactRDV,Vrai),gclPresentationFicheRdv.m_nIDIntervention) +DemandeMiseAJourIHM() +gbModif = Vrai +A chaque modification de SAI_Lieu +ChampVersSource() +gbModif = Vrai +Initialisation de ZR_ContactRDV +//SourceVersEcran("","gclPresentationFicheRdv") +Clic sur BTN_SupprimeRessource ( ZR_ContactRDV ) +06/08/2026 Isis_BO 3621 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Code des champs +nindice est un entier +//clClErreur est un CErreur +nindice=TableauCherche(gclPresentListeContactRDV:m_clTabModele,tcLinéaire,"m_nIDPersonne",ZR_ContactRDV +.ATT_Id,1) +si nindice<>-1 alors +si gclPresentListeContactRDV:m_clTabModele[nindice].m_bNouveau<>Vrai alors +si gclPresentRDVGroupe.m_clTabModele..Occurrence<>0 alors +pour i=1 _à_ gclPresentRDVGroupe.m_clTabModele..Occurrence +pour tout Planning_RDV_Personne avec PRP_IDRdv=gclPresentRDVGroupe.m_clTabModele[i]. +m_nPKID +si Planning_RDV_Personne.PRP_IDPersonne=ZR_ContactRDV.ATT_Id alors +Planning_RDV_Personne.Archive=Vrai +HModifie(Planning_RDV_Personne) +fin +fin +fin +fin +TableauSupprimeLigne(gclPresentListeContactRDV:m_clTabModele,nindice) +sinon +TableauSupprimeLigne(gclPresentListeContactRDV:m_clTabModele,nindice) +fin +fin +ZoneRépétéeAffiche(ZR_ContactRDV,taInit) +gbModif = Vrai +Clic sur BTN_EDT_RDV_CR +nPos est un entier +si gclPresentationFicheRdv:NB_RDV() > 0 alors +gclPresentationFicheRdv:m_tbDateCR = Ouvre(FEN_Date_CR,gclPresentationFicheRdv:m_nIDGroupeDate) +si gclPresentationFicheRdv:m_tbDateCR.Occurrence > 0 alors +nPos = TableauCherche(gclPresentationFicheRdv:m_tbDateCR,tcLinéairePremier,"dhUneDate", +gclPresentationFicheRdv:m_dhDateDebut) +si nPos > 0 alors +INT_CR = gclPresentationFicheRdv:m_tbDateCR[nPos].bSel +sinon +INT_CR = Faux +fin +sinon +gclPresentationFicheRdv:m_bCR = Faux +INT_CR = Faux +fin +gbModif = Vrai +fin +Sélection d'une ligne de COMBO_PL_PrisPar +gbModif = Vrai +ChampVersSource() +Fin d'initialisation de COMBO_PL_Societe +si MoiMême..Occurrence=1 alors +ListeSelectPlus(COMBO_PL_Societe,1) +fin +Sélection d'une ligne de COMBO_PL_Societe +06/08/2026 Isis_BO 3622 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Code des champs +gbModif = Vrai +ChampVersSource() +A chaque modification de INT_BPL_Prive +gbModif = Vrai +ChampVersSource() +A chaque modification de INT_BPL_Superposable +gbModif = Vrai +ChampVersSource() +A chaque modification de INT_CR +gbModif = Vrai +si INT_CR <> gclPresentationFicheRdv:m_bCR alors +si gclPresentationFicheRdv:NB_RDV() > 0 alors +Info("Veuillez vérifier la date de signature du compte-rendu") +sinon +gclPresentationFicheRdv:m_bCR = INT_CR +fin +fin +A chaque modification de INT_PL_RappelSMS +gbModif = Vrai +ChampVersSource() +A chaque modification de SAI_Objet +ChampVersSource() +gbModif = Vrai +A chaque modification de SAI_PL_Description1 +gbModif = Vrai +ChampVersSource() +Clic sur BTN_Cal2 +ChoixDateNewDebut() +gbModif = Vrai +ChampVersSource() +Clic sur BTN_Cal3 +ChoixDateNewDebut() +gbModif = Vrai +ChampVersSource() +Clic sur BTN_EDT_RDV_Date +06/08/2026 Isis_BO 3623 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Code des champs +si gclPresentationFicheRdv.m_nIDGroupeDate > 0 alors +Ouvre(FEN_Modification_Date_Groupe,gclPresentationFicheRdv.m_nIDGroupeDate, gclPresentationFicheRdv +.m_nPKID,gclPresentationFicheRdv.m_nIDGroupe) +fin +Entrée dans SAI_PL_DateDebut +//SI gclPresentationFicheRdv.m_bNouveau<>Vrai ALORS +// ChoixDateDebut() +//SINON +// ChoixDateNewDebut() +//FIN +Sortie de SAI_PL_DateDebut +//reprisesaisie(INT_BPL_Prive) +A chaque modification de SAI_PL_DateDebut +gbModif = Vrai +ChampVersSource() +Entrée dans SAI_PL_DateFin +//SI gclPresentationFicheRdv.m_bNouveau<>Vrai ALORS +// ChoixDateDebut() +//SINON +// ChoixDateNewDebut() +//FIN +Sortie de SAI_PL_DateFin +//RepriseSaisie(INT_BPL_Prive) +A chaque modification de SAI_PL_DateFin +gbModif = Vrai +ChampVersSource() +Entrée dans SAI_PL_HeureFin +//SI gclPresentationFicheRdv.m_bNouveau<>Vrai ALORS +// ChoixDateDebut() +//SINON +// ChoixDateNewDebut() +//FIN +Sortie de SAI_PL_HeureFin +//RepriseSaisie(INT_BPL_Prive) +A chaque modification de SAI_PL_HeureFin +gbModif = Vrai +06/08/2026 Isis_BO 3624 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Code des champs +ChampVersSource() +Entrée dans SAI_PL_HuereDebut +//SI gclPresentationFicheRdv.m_bNouveau<>Vrai ALORS +// ChoixDateDebut() +//SINON +// ChoixDateNewDebut() +//FIN +Sortie de SAI_PL_HuereDebut +//reprisesaisie(INT_BPL_Prive) +A chaque modification de SAI_PL_HuereDebut +gbModif = Vrai +ChampVersSource() +Clic sur BTN_CADENAS_FERME_RDV +si 1=BlocEnregistrement(gclPresentationFicheRdv,ActiveTimer,BTN_CADENAS_FERME_RDV,BTN_ +CADENAS_OUVERT_RDV,GR_CADENAS_RDV,D_FIC_RDV) +si pas AppelProcFenetreAppelante(gclPresentationFicheRdv,paramSupplementaire,Faux,Faux,Vrai) alors +DeblocEnregistrement(gclPresentationFicheRdv,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_RDV,BTN_CADENAS_OUVERT_RDV,GR_CADENAS_RDV,D_FIC_RDV,Faux) +fin +fin +Clic sur BTN_CADENAS_OUVERT_RDV +DeblocEnregistrement(gclPresentationFicheRdv,paramSupplementaire,DesactiveTimer,BTN_CADENAS_FERME_RDV, +BTN_CADENAS_OUVERT_RDV,GR_CADENAS_RDV,D_FIC_RDV,Faux) +Clic sur BTN_Fermer_Fiche_Rdv +si gbModif ou pas gclPresentationFicheRdv:m_nPKID > 0 alors +si OuiNon("Si vous fermez, toutes les modifications seront perdues, voulez-vous continuer ?") = Non +alors +retour +sinon +si gclPresentationFicheRdv:m_nPKID = 0 alors +AppelProcFenetreAppelante(gclPresentationFicheRdv,paramSupplementaire,Vrai,Vrai) +si FenEtat(FEN_Fiche_RDV_F)=Actif alors +Ferme(FEN_Fiche_RDV_F,Faux) +fin +fin +fin +fin +sIDRdv est une chaîne +si gclPresentRDVGroupe.m_clTabModele..Occurrence <>0 alors +pour i=1 _à_ gclPresentRDVGroupe.m_clTabModele..Occurrence +sIDRdv+=[";"]+gclPresentRDVGroupe.m_clTabModele[i].m_nPKID +fin +fin +pour toute chaîne Rdv de sIDRdv séparée par ";" +pour tout Planning_RDV_Personne avec PRP_IDRdv=Rdv +si Planning_RDV_Personne.Archive=Vrai alors +06/08/2026 Isis_BO 3625 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Code des champs +Planning_RDV_Personne.Archive=Faux +HModifie(Planning_RDV_Personne) +fin +fin +fin +DeblocEnregistrement(gclPresentationFicheRdv,paramSupplementaire,DesactiveTimer,BTN_CADENAS_FERME_RDV, +BTN_CADENAS_OUVERT_RDV,GR_CADENAS_RDV,D_FIC_RDV,Faux,Faux,Vrai,Faux) +AppelProcFenetreAppelante(gclPresentationFicheRdv,paramSupplementaire,Vrai,Vrai) +gclPresentationFicheRdv=Null +paramSupplementaire.nIdFenetreAppelante=Null +paramSupplementaire.pclObjetAppelant=Null +paramSupplementaire.sContexteAppelant=Null +paramSupplementaire.sNomFenetreAppelante=Null +paramSupplementaire.sNomIDAppelant=Null +paramSupplementaire.sTitreFenetre=Null +paramSupplementaire.pclObjetAppelant=Null +//SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheRdv) +//ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +si FenEtat(FEN_Fiche_RDV_F)=Actif alors +Ferme(FEN_Fiche_RDV_F, Faux) +fin +Clic sur BTN_IMPRIME_RENDEZVOUS +si gclPresentationFicheRdv:p_clCourant.m_nIDDossier > 0 et gclPresentationFicheRdv:p_clCourant.m_n +IDIntervention > 0 et gclPresentationFicheRdv:p_clCourant.m_nPKID > 0 alors +si gbModif ou pas gclPresentationFicheRdv:m_nPKID > 0 alors +EnregistreFiche() +fin +maProcImp est une procédure = ImprimerFicheDeplacement +CreationActionUserAutreSoc(Val(COMBO_PL_Societe..ValeurMémorisée),gclPresentationFicheRdv: +p_clCourant.m_nIDIntervention,"Modification du RDV à") +OuvrePopupPosition(FEN_Choix_ModeleEtat_Intervention,poHaut,*,DonneParam(DansFenetre,"FI_Fiche_Rdv" +,MoiMême..Nom,maProcImp,"","InterventionRendezVous",*,gclPresentationFicheRdv,Faux)) +//ImprimerFicheDeplacement() +fin +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(ChampPrécédent()) +//pclPresentationFiche est un PFicheRdv(gclPresentationFicheInterv.ListeRendezVous:p_clCourant) +//pclPresentationFiche <-gclPresentationFicheInterv.ListeRendezVous.Modifier() +Clic sur BTN_Pause_Fiche_Rdv +EcranVersSource() +sIDRdv est une chaîne +//Test sur cohérence de date +//SI ChaîneVersDate(SAI_PL_DateFin)<=ChaîneVersDate(SAI_PL_DateDebut) ALORS +// +Info("La date de fin de votre rendez-vous est inférieur à la date de début de votre rendez-vous. +Veuillez corriger cette erreur.") +// RepriseSaisie(SAI_PL_DateFin) +// retour +//FIN +//Test conflit +sDateHeuredebut est une chaîne = SAI_PL_DateDebut..Valeur+SAI_PL_HuereDebut..Valeur +sDateHeureFin est une chaîne = SAI_PL_DateFin..Valeur+SAI_PL_HeureFin..Valeur +06/08/2026 Isis_BO 3626 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Code des champs +gclPresentationFicheRdv.m_dhDateDebut = sDateHeuredebut +gclPresentationFicheRdv.m_dhDateFin = sDateHeureFin +MessageErreur est une chaîne +si gclPresentationFicheRdv.m_nIDStatut <> gpclListeStatutRendezVous:RechercheEtDonneIdDepuisValeur("99" +) alors +pour tout ligne de ZR_CollabRDV +MessageErreur=GestionConflitRDV(gclPresentationFicheRdv.m_dhDateDebut,gclPresentationFicheRdv. +m_dhDateFin,Val(ZR_CollabRDV.ATT_Id),0,gclPresentationFicheRdv.m_nIDGroupe, +gclPresentationFicheRdv.m_nIDGroupeDate) +si MessageErreur<>"" alors +Erreur("Vous ne pouvez pas déplacer ce rendez-vous pour les utiliateurs suivant:"+RC+RC+ +MessageErreur+RC+RC+"Conflit de Rendez-vous") +retour +fin +fin +fin +clErreur est un CErreur +nIdGroupe est un entier sur 8 octets +si ZR_CollabRDV..Occurrence < 1 alors +Info("Vous devez indiquez au moins un collaborateur pour ce rendez-vous.") +retour +fin +si paramSupplementaire.sNomIDAppelant="Nouveau" alors +gclPresentationFicheRdv.m_bNouveau=Vrai +sinon +gclPresentationFicheRdv.m_bNouveau=Faux +fin +si ZR_CollabRDV..Occurrence>1 et gclPresentationFicheRdv.m_nIDGroupe=0 alors +nIdGroupe=CreaCompteur("GrpeRdv") +sinon +nIdGroupe=gclPresentationFicheRdv.m_nIDGroupe +fin +//pour toute ligne de ZR_CollabRDV +HLitRecherchePremier(ParametreMetier,PA_PKID,gclPresentationFicheRdv.m_nIDTypeActivite) +si HTrouve() alors +gclPresentationFicheRdv.m_clTypeActivite.m_nPKID=ParametreMetier.PA_PKID +gclPresentationFicheRdv.m_clTypeActivite.m_sLibelle=ParametreMetier.PA_Libelle +fin +si ZoneRépétéeOccurrence(ZR_CollabRDV)>1 et gclPresentationFicheRdv.m_nIDGroupe=0 alors +nIdGroupe=CreaCompteur("GrpeRdv") +sinon +si ZR_CollabRDV..Occurrence<> 1 alors +nIdGroupe=gclPresentationFicheRdv.m_nIDGroupe +sinon +nIdGroupe=0 +fin +fin +gclPresentationFicheRdv.m_nIDIntervention=COMBO_PL_LieIntervention..ValeurMémorisée +si gclPresentationFicheRdv.m_nIDIntervention=-1 alors +gclPresentationFicheRdv.m_nIDIntervention=0 +fin +si sDateHeuredebut>sDateHeureFin alors +Erreur("Votre date et heure de début est inférieur à la date et heure de fin, veuillez corriger.") +RepriseSaisie(SAI_PL_DateDebut) +retour +fin +gclPresentationFicheRdv.m_dhDateDebut=sDateHeuredebut +gclPresentationFicheRdv.m_dhDateFin=sDateHeureFin +//gclPresentation.m_dhModifDate=DateHeureSys() +//gclPresentation.m_nModifUser=gpclFicheUtilisateurEnCours.m_nPKID +06/08/2026 Isis_BO 3627 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Code des champs +//gclPresentation.m_sModifUser=gpclFicheUtilisateurEnCours.m_sPrenom+gpclFicheUtilisateurEnCours.m_sNom +//gclPresentation.m_nIDCollaborateur=ZR_CollabRDV.ATT_Id +//gclPresentation.m_nIDEquipe=ZR_CollabRDV.ATT_IdEquipe +nIndice est un entier=gpclListeStatutRendezVous.ChercherValeur(1) +pour i= 1 _à_ gclPresentRDVGroupe.m_clTabModele.Occurrence() +gclPresentRDVGroupe.m_clTabModele[i].m_dhModifDate=DateHeureSys() +gclPresentRDVGroupe.m_clTabModele[i].m_nModifUser=gpclFicheUtilisateurEnCours.m_nPKID +gclPresentRDVGroupe.m_clTabModele[i].m_sModifUser=gpclFicheUtilisateurEnCours.m_sPrenom+gpcl +FicheUtilisateurEnCours.m_sNom +gclPresentRDVGroupe.m_clTabModele[i].m_bPrive=gclPresentationFicheRdv.m_bPrive +gclPresentRDVGroupe.m_clTabModele[i].m_bSuperposable=gclPresentationFicheRdv.m_bSuperposable +gclPresentRDVGroupe.m_clTabModele[i].m_dhDateDebut=gclPresentationFicheRdv.m_dhDateDebut +gclPresentRDVGroupe.m_clTabModele[i].m_dhDateFin=gclPresentationFicheRdv.m_dhDateFin +gclPresentRDVGroupe.m_clTabModele[i].m_nIDGroupe=gclPresentationFicheRdv.m_nIDGroupe +gclPresentRDVGroupe.m_clTabModele[i].m_nIDIntervention=gclPresentationFicheRdv.m_nIDIntervention +gclPresentRDVGroupe.m_clTabModele[i].m_nIDSociete=gclPresentationFicheRdv.m_nIDSociete +gclPresentRDVGroupe.m_clTabModele[i].m_nIDStatut=gpclListeStatutRendezVous.m_clTabModele[nIndice]. +IdentifiantUnique +gclPresentRDVGroupe.m_clTabModele[i].m_nIDTypeActivite=gclPresentationFicheRdv.m_nIDTypeActivite +gclPresentRDVGroupe.m_clTabModele[i].m_sDescription=gclPresentationFicheRdv.m_sDescription +gclPresentRDVGroupe.m_clTabModele[i].m_nIDDossier=gclPresentationFicheRdv.m_nIDDossier +gclPresentRDVGroupe.m_clTabModele[i].m_sCreationUser=gclPresentationFicheRdv.m_sCreationUser +gclPresentRDVGroupe.m_clTabModele[i].m_nCreationUser=gclPresentationFicheRdv.m_nCreationUser +gclPresentRDVGroupe.m_clTabModele[i].m_clTypeActivite.m_nPKID=gclPresentationFicheRdv.m_cl +TypeActivite.m_nPKID +gclPresentRDVGroupe.m_clTabModele[i].m_clTypeActivite.m_sLibelle=gclPresentationFicheRdv.m_cl +TypeActivite.m_sLibelle +gclPresentRDVGroupe.m_clTabModele[i].m_sObjet=gclPresentationFicheRdv.m_sObjet +gclPresentRDVGroupe.m_clTabModele[i].m_nIDLieu=gclPresentationFicheRdv.m_nIDLieu +gclPresentRDVGroupe.m_clTabModele[i].m_nIDPersonne=gclPresentationFicheRdv.m_nIDPersonne +// validation +si pas gclPresentRDVGroupe.m_clTabModele[i].bEnregistrer(clErreur) alors +Erreur(clErreur.FormateMessage()) +retour +fin +sIDRdv+=[";"]+gclPresentRDVGroupe.m_clTabModele[i].m_nPKID +// validation des Contacts du RDV pour chaque RDV colaborateur +fin +si gclPresentListeContactRDV.m_clTabModele..Occurrence <>0 alors +pour n=1 _à_ gclPresentListeContactRDV.m_clTabModele..Occurrence +gclPresentListeContactRDV.p_clCourant=gclPresentListeContactRDV.m_clTabModele[n] +clFicheContactRdv est une PFichePlanning_RDV_Personne<-gclPresentListeContactRDV.Modifier() +si clFicheContactRdv.m_nPKID=0 alors +pour toute chaîne Rdv de sIDRdv séparée par ";" +pour tout Planning_RDV_Personne avec PRP_IDRdv=Rdv +si Planning_RDV_Personne.PRP_IDPersonne=clFicheContactRdv.m_nIDPersonne et +Planning_RDV_Personne.Archive=Vrai alors +Planning_RDV_Personne.Archive=Faux +fin +fin +clFicheContactRdv.m_nIDGroupeRDV=gclPresentRDVGroupe.m_clTabModele[1].m_nIDGroupe +clFicheContactRdv.m_nIDRdv=Rdv +si pas clFicheContactRdv.bOK(clErreur) alors +Erreur(clErreur.FormateMessage()) +retour +fin +fin +fin +06/08/2026 Isis_BO 3628 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Code des champs +fin +fin +pour toute chaîne Rdv de sIDRdv séparée par ";" +pour tout Planning_RDV_Personne avec PRP_IDRdv=Rdv +si Planning_RDV_Personne.Archive=Vrai alors +HSupprime(Planning_RDV_Personne) +fin +fin +fin +AppelProcFenetreAppelante(gclPresentationFicheRdv,paramSupplementaire,Vrai,Vrai) +paramSupplementaire.nIdFenetreAppelante=Null +paramSupplementaire.pclObjetAppelant=Null +paramSupplementaire.sContexteAppelant=Null +paramSupplementaire.sNomFenetreAppelante=Null +paramSupplementaire.sNomIDAppelant=Null +paramSupplementaire.sTitreFenetre=Null +paramSupplementaire.pclObjetAppelant=Null +// +//// validation +//SI PAS gclPresentation.bOK(clErreur) ALORS +// Erreur(clErreur.FormateMessage()) +// RETOUR +//FIN +//SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheRdv) +//ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +si FenEtat(FEN_Fiche_RDV_F)=Actif alors +Ferme(FEN_Fiche_RDV_F, Vrai) +fin +Clic sur BTN_Valider_Fiche_Rdv +si gclPresentationFicheRdv:m_clLieu:m_bBlocage _et_ gclPresentationFicheRdv:bNouveau() alors +si OuiNon(Non,"Le site choisi est bloqué pour la raison suivante : "+gclPresentationFicheRdv:m_cl +Lieu.m_sRaisonBlocage,"Voulez-vous continuer ?") = Non alors +retour +fin +fin +si gbModif ou pas gclPresentationFicheRdv:m_nPKID > 0 alors +EnregistreFiche() +fin +si gclPresentationFicheRdv:p_clCourant.m_nIDDossier > 0 et gclPresentationFicheRdv:p_clCourant.m_n +IDIntervention > 0 alors +CreationActionUserAutreSoc(Val(COMBO_PL_Societe..ValeurMémorisée),gclPresentationFicheRdv: +p_clCourant.m_nIDIntervention,"Modification du RDV à") +fin +FermetureApresEnregistrement() +Clic sur BTN_VueDossier +si gclPresentationFicheRdv:p_clCourant.m_nIDDossier > 0 et gclPresentationFicheRdv:p_clCourant.m_n +IDIntervention > 0 alors +Sablier() +nIdInter est un entier sur 8 octets +si gbModif ou pas gclPresentationFicheRdv:m_nPKID > 0 alors +06/08/2026 Isis_BO 3629 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Code des champs +EnregistreFiche() +fin +PFicheRdv.gFicheIntervention(gclPresentationFicheRdv) +nIdInter = gclPresentationFicheRdv.FicheIntervention.m_nPKID +pclPresentationListeDossier est une PTableDossier dynamique +pclPresentationListeDossier =PTableDossier.gNouvellePresentation(0,gclPresentationFicheRdv.m_cl +Intervention:m_nIDDossier) +clFicheDossier est un PFicheDossier (pclPresentationListeDossier.m_clTabModele[1]) +PFicheDossier.gListeIntervention(clFicheDossier) +si clFicheDossier:ListeIntervention:p_nTotal > 0 alors +stParametreFenInterneest un STParamFenetreAppelante +stParametreFenInterne.eTypeAppel = DansOnglet +stParametreFenInterne.sNomFenetreAppelante = "FI_Fiche_Rdv" +stParametreFenInterne.sNomIDAppelant = "DossierInterv" +stParametreFenInterne.nIdFenetreAppelante = nIdInter +stParametreFenInterne.sTitreFenetre = "Fiche Dossier Intervention" +stParametreFenInterne.pclObjetAppelant = clFicheDossier +sAlias est une chaîne ANSI = "FI_Fiche_Dossier"+ gclPresentationFicheRdv.FicheIntervention.m_n +IDDossier +FEN_Menu.OuvreOuActive(FI_Fiche_Dossier,"Fiche Dossier",Vrai,clFicheDossier,stParametreFenInterne) +//ExécuteTraitement(FEN_Menu.OuvreIntervDepuisRDV,trtProcédure,sAlias,stParametreFenInterne) +FermetureApresEnregistrement() +//ExécuteTraitement(FI_Fiche_Rdv.D_FIC_RDV.DISP_Entete.BTN_Valider_Fiche_Rdv,trtClic) +sinon +Info("Aucun dossier lié à cette intervention") +fin +Sablier(Faux) +fin +Initialisation de LIB_Titre_de_fenêtre_Fiche_Rdv +MoiMême=paramSupplementaire.sTitreFenetre +Sélection d'une ligne de COMBO_IDStatut +gbModif = Vrai +ChampVersSource() +Sélection d'une ligne de COMBO_IDTypeActivite +//nIdTypeIntervention est un entier sur 8 octets +//POUR TOUT ParametreMetier AVEC PA_Code=14 +// SI ParametreMetier.PA_Valeur="1" ALORS +// nIdTypeIntervention=ParametreMetier.PA_PKID +// FIN +//FIN +//si MoiMême..ValeurMémorisée=nIdTypeIntervention alors +// SAI_DOSSIER..visible=vrai +// //DISP_ComboInter[3]..Visible=vrai +// GR_TYPEINTERV..Etat = actif +// DISP_ComboInter[5]..Visible=vrai +////si SAI_Lieu<>"" et COMBO_PL_ContactLieu..ValeurAffichée<>"" alors +//// DISP_ComboInter[5]..Visible=Vrai +//// //BTN_FicheInter..visible=Vrai +06/08/2026 Isis_BO 3630 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Code des champs +////sinon +//// DISP_ComboInter[5]..Visible=vrai +//// BTN_FicheInter..Visible=faux +////fin +//sinon +////COMBO_PL_LieIntervention..Visible=faux +////COMBO_PL_LieIntervention=0 +////DISP_ComboInter[3]..Visible=faux +// GR_TYPEINTERV..Etat = grisé +// DISP_ComboInter[5]..Visible=Faux +// //SAI_Dossier..Visible=faux +////SAI_Dossier=0 +//FIN +gbModif = Vrai +ChampVersSource() +CouleurTypeAct() +Sélection d'une ligne de COMBO_PL_LieIntervention +ChampVersSource() +si MoiMême..ValeurMémorisée >0 alors +DISP_Entete[3]..Visible=Vrai +GR_SiteContact..Visible=Vrai +COMBO_PL_ContactLieu..Visible=Vrai +sinon +DISP_Entete[3]..Visible=Vrai +GR_SiteContact..Visible=Faux +COMBO_PL_ContactLieu..Visible=Faux +fin +gclPresentationFicheRdv.m_nIDIntervention=MoiMême..ValeurMémorisée +si gclPresentationFicheRdv.m_nIDIntervention>0 alors +si HLitRecherchePremier(Intervention,IN_PKID,gclPresentationFicheRdv.m_nIDIntervention) alors +gclPresentationFicheRdv.m_clIntervention.Charger(Intervention) +si gclPresentationFicheRdv <> Null _et_ gclPresentationFicheRdv:m_clIntervention <> Null _et_ +gclPresentationFicheRdv:m_clIntervention:m_sDescription <> "" alors +bufDescripInter = gclPresentationFicheRdv:m_clIntervention:m_sDescription +fin +fin +SAI_PL_Description..Grisé = Faux +fin +pclListeLieu est une PTableLieu dynamique +pclListeLieu=PTableLieu.gNouvellePresentation(2,MoiMême..ValeurMémorisée) +si pclListeLieu.m_clTabModele..Occurrence<>0 alors +pour i= 1 _à_ pclListeLieu.m_clTabModele..Occurrence +clUnLieu est un MLieu +clUnLieu.m_nPKID=pclListeLieu.m_clTabModele[i].m_nPKID +clUnLieu.m_clAdresse=pclListeLieu.m_clTabModele[i].m_clAdresse +gclPresentationFicheRdv.m_clLieu=clUnLieu +gclPresentationFicheRdv.m_clLieu.m_clAdresse.m_sPresentation=Remplace(gclPresentationFicheRdv.m_cl +Lieu.m_clAdresse.m_sPresentation,[RC,TAB],"-") +TableauAjoute(gclPresentationFicheRdv.m_clListeLieu,clUnLieu) +gclPresentationFicheRdv.m_nIDLieu=pclListeLieu.m_clTabModele[i].m_nPKID +fin +sinon +VariableRAZ(gclPresentationFicheRdv.m_clLieu) +fin +pclListePersonne est une PTablePersonne dynamique +pclListePersonne=PTablePersonne.gNouvellePresentation(6,gclPresentationFicheRdv.m_nIDLieu,MoiMême.. +ValeurMémorisée) +ListeSupprimeTout(COMBO_PL_ContactLieu) +06/08/2026 Isis_BO 3631 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Code des champs +TableauSupprimeTout(gclPresentationFicheRdv.m_clListePersonne) +si gclPresentationFicheRdv.m_bNouveau=Vrai alors +TableauSupprimeTout(gclPresentListeContactRDV.m_clTabModele) +fin +si pclListeLieu.m_clTabModele..Occurrence<>0 et gclPresentationFicheRdv.m_bNouveau=Vrai alors +pour i= 1 _à_ pclListePersonne.m_clTabModele..Occurrence +clUnPersonne est un MPersonne +clUnPersonne.m_sNom=pclListePersonne.m_clTabModele[i].m_sNom +clUnPersonne.m_sPrenom=pclListePersonne.m_clTabModele[i].m_sPrenom +clUnPersonne.m_nPKID=pclListePersonne.m_clTabModele[i].m_nPKID +TableauAjoute(gclPresentationFicheRdv.m_clListePersonne,clUnPersonne) +gclPresentationFicheRdv.m_nIDPersonne=pclListePersonne.m_clTabModele[i].m_nPKID +clPresentationFicheContact est un PFichePlanning_RDV_Personne<-gclPresentListeContactRDV. +Nouveau() +clPresentationFicheContact.m_bNouveau=Vrai +clPresentationFicheContact.m_nIDPersonne=clUnPersonne.m_nPKID +HLitRecherchePremier(Personne,PE_PKID,clPresentationFicheContact.m_nIDPersonne) +si HTrouve(Personne) alors +clPresentationFicheContact.m_clPersonne.Charger(Personne) +fin +// +clPresentationFicheContact.m_clPersonne.m_sNom=gclPresentationFicheRdv.m_clListePersonne[i].m_s +Nom +// +clPresentationFicheContact.m_clPersonne.m_sPrenom=gclPresentationFicheRdv.m_clListePersonne[i]. +m_sPrenom +clPresentationFicheContact.m_nIDGroupeRDV=gclPresentationFicheRdv.m_nIDGroupe +clPresentationFicheContact.m_nIDRdv=gclPresentationFicheRdv.m_nPKID +clPresentationFicheContact.AppelProcValidation() +fin +sinon +clUnPersonne est un MPersonne +clUnPersonne.m_sNom="Pas de contact pour cette intervention" +clUnPersonne.m_nPKID=0 +TableauAjoute(gclPresentationFicheRdv.m_clListePersonne,clUnPersonne) +gclPresentationFicheRdv.m_nIDPersonne=0 +fin +HLitRecherchePremier(Intervention,IN_PKID,MoiMême..ValeurMémorisée) +si HTrouve(Intervention) alors +gclPresentationFicheRdv.m_nIDSociete=Intervention.IN_IDSociete +// gclPresentationFicheRdv.m_sDescription=RTFVersTexte(Intervention.IN_Description) +fin +//gclPresentation.m_clListePersonne=PTablePersonne.gNouvellePresentation(4,-1,MoiMême..ValeurMémorisée) +SourceVersEcran("","gclPresentationFicheRdv") +si gclPresentationFicheRdv.m_clLieu.m_nPKID<>0 alors +SAI_Lieu=Remplace(SAI_Lieu..Valeur,[RC,TAB],"-") +ChargeSiteInfo() +sinon +SAI_Lieu="Pas de site pour cette intervention" +fin +si gclPresentationFicheRdv.m_bNouveau=Vrai alors +ZoneRépétéeAffiche(ZR_ContactRDV,taInit) +fin +si gclPresentationFicheRdv.m_nIDStatut=0 alors +ListeSelectPlus(COMBO_IDStatut,1) +gclPresentationFicheRdv.m_nIDStatut = COMBO_IDStatut +fin +06/08/2026 Isis_BO 3632 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Code des champs +GestionBTNDossierImp() +gbModif = Vrai +A chaque modification de INT_SAV +gbModif = Vrai +ChampVersSource() +A chaque modification de SAI_Dossier +si SAI_Dossier="" alors +ListeSupprimeTout(COMBO_PL_LieIntervention) +ListeSupprimeTout(COMBO_PL_ContactLieu) +SAI_Lieu="" +sinon +// ModifZoneSaisieAssistee(MoiMême,2,Faux,"","") +si Taille(SAI_Dossier..ValeurAffichée)> 2 alors +ListeDossier est une PTableDossier dynamique +ListeDossier=PTableDossier.gNouvellePresentation(2,SAI_Dossier) +SaisieAssistéeSupprimeTout(SAI_Dossier) +pour i=1 _à_ ListeDossier.m_clTabModele..occurrence +SaisieAssistéeAjoute(SAI_Dossier,ListeDossier.m_clTabModele[i].m_sRefInterne+gStylo(RVB(167, 167, +167))+"-----["+ListeDossier.m_clTabModele[i].m_nPKID+"]") +fin +SaisieAssistéeOuvre(SAI_Dossier) +sinon +ListeDossier est une PTableDossier dynamique +ListeDossier=PTableDossier.gNouvellePresentation(3,SAI_Dossier) +SaisieAssistéeSupprimeTout(SAI_Dossier) +pour i=1 _à_ ListeDossier.m_clTabModele..occurrence +SaisieAssistéeAjoute(SAI_Dossier,ListeDossier.m_clTabModele[i].m_sRefInterne+gStylo(RVB( +167, 167, 167))+"-----["+ListeDossier.m_clTabModele[i].m_nPKID+"]") +fin +SaisieAssistéeOuvre(SAI_Dossier) +fin +fin +GestionBTNDossierImp() +gbModif = Vrai +Sélection d'une valeur dans la liste de saisie assistée de SAI_Dossier +//ExécuteTraitement(MoiMême,trtSortie) +//RepriseSaisie(COMBO_PL_LieIntervention) +EcranVersSource("","gclPresentationFicheRdv") +nPKID est un entier sur 8 octets +si MoiMême..ValeurAffichée<>"" alors +nPKID = Val(ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"[",DepuisDébut),1,"]")) +sTitre est une chaîne = ExtraitChaîne(MoiMême,1,"-",DepuisDébut) +si nPKID>0 alors +gclPresentationFicheRdv.m_nIDDossier=nPKID +sinon +gclPresentationFicheRdv.m_nIDDossier=0 +fin +si nPKID>0 alors +MoiMême = Majuscule(sTitre) +fin +fin +ListeSupprimeTout(COMBO_PL_LieIntervention) +pour tout Intervention avec IN_IDDossier=nPKID +06/08/2026 Isis_BO 3633 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Code des champs +ListeAjoute(COMBO_PL_LieIntervention,Intervention.IN_RefInterne+gLien(Intervention.IN_PKID)) +fin +si COMBO_PL_LieIntervention..Occurrence=1 alors +ListeSelectPlus(COMBO_PL_LieIntervention,1) +ExécuteTraitement(COMBO_PL_LieIntervention,trtSélection) +COMBO_PL_LieIntervention..Visible=Vrai +//BTN_FicheInter..Visible=vrai +//DISP_ComboInter[2]..Visible=Vrai +GR_TYPEINTERV..Etat = Actif +DISP_ComboInter[3]..Visible=Vrai +sinon si COMBO_PL_LieIntervention..Occurrence=0 +COMBO_PL_LieIntervention..Visible=Faux +//DISP_ComboInter[2]..Visible=Vrai +GR_TYPEINTERV..Etat = Actif +DISP_ComboInter[3]..Visible=Vrai +sinon +ListeSelectPlus(COMBO_PL_LieIntervention,COMBO_PL_LieIntervention..Occurrence) +ExécuteTraitement(COMBO_PL_LieIntervention,trtSélection) +COMBO_PL_LieIntervention..Visible=Vrai +DISP_ComboInter[2]..Visible=Vrai +DISP_ComboInter[3]..Visible=Vrai +fin +HLitRecherchePremier(Client, CL_PKID,gclPresentationFicheRdv:p_clCourant:m_clIntervention:m_nIDClient) +si HTrouve(Client) = Vrai alors +si Client.CL_Blocage alors +si OuiNon("Le client a été bloqué voulez-vous continuer ?") = Faux alors +ListeSupprimeTout(COMBO_PL_LieIntervention) +ListeSupprimeTout(COMBO_PL_ContactLieu) +SAI_Lieu="" +retour +fin +fin +fin +RepriseSaisie(COMBO_PL_LieIntervention) +GestionBTNDossierImp() +Initialisation de LIB_RdvGroupeDate +// Version 1 +// Description +// Libellé simple +FI_Fiche_Rdv +Procédures +Procédure locale ActiveTimer +// Résumé : +// Syntaxe : +//ActiveTimer ( est entier) +// +// Paramètres : +// nIdTimer (entier) : +06/08/2026 Isis_BO 3634 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Procédures +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ActiveTimer(local nIdTimer est un entier) +TimerSys(TimeOutRdv,100,nIdTimer) +Procédure locale Charge_DossierIntervention +// Résumé : +// Syntaxe : +// Charge_DossierIntervention () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Charge_DossierIntervention() +nIndice est un entier +ListeSupprimeTout(COMBO_PL_LieIntervention) +si gclPresentationFicheRdv.m_nIDDossier<>0 alors +HLitRecherchePremier(Dossier,DO_PKID,gclPresentationFicheRdv.m_nIDDossier) +si HTrouve(Dossier) alors +SAI_Dossier = Majuscule(Dossier.DO_RefInterne) +fin +si gclPresentationFicheRdv.m_nIDIntervention<>0 alors +pour tout Intervention avec IN_IDDossier=gclPresentationFicheRdv.m_nIDDossier +nIndice++ +ListeAjoute(COMBO_PL_LieIntervention,Intervention.IN_RefInterne+gLien(Intervention.IN_PKID +)) +si Intervention.IN_PKID=gclPresentationFicheRdv.m_nIDIntervention alors +ListeSelectPlus(COMBO_PL_LieIntervention,nIndice) +fin +fin +ExécuteTraitement(COMBO_PL_LieIntervention,trtSélection) +fin +//COMBO_IDTypeActivite..etat=grisé +fin +Procédure locale Charge_TitreActivite +// Résumé : +// Syntaxe : +// Charge_TitreActivite () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Charge_TitreActivite() +nIdTypeIntervention est un entier sur 8 octets +pour tout ParametreMetier avec PA_Code=14 +si ParametreMetier.PA_Valeur="1" alors +06/08/2026 Isis_BO 3635 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Procédures +nIdTypeIntervention=ParametreMetier.PA_PKID +fin +fin +si gclPresentationFicheRdv.m_nIDTypeActivite=nIdTypeIntervention alors +COMBO_PL_LieIntervention..Visible=Vrai +DISP_ComboInter[2]..Visible=Vrai +DISP_ComboInter[3]..Visible=Vrai +SAI_Dossier..Visible=Vrai +fin +DISP_Entete.LIB_Titre_de_fenêtre_Fiche_Rdv=paramSupplementaire.sTitreFenetre +Procédure locale ChargeSiteInfo +procédure ChargeSiteInfo() +si gclPresentationFicheRdv:m_clLieu:m_nPKID > 0 alors +si HLitRecherchePremier(Lieu,LI_PKID,gclPresentationFicheRdv:m_clLieu:m_nPKID) alors +gclPresentationFicheRdv:m_clLieu:m_bBlocage = Lieu.LI_Blocage +gclPresentationFicheRdv:m_clLieu:m_sRaisonBlocage = Lieu.LI_RaisonBlocage +fin +si gclPresentationFicheRdv:m_clLieu:m_bBlocage alors +IMG_BloqueSite = IMG_Bloque +sinon +IMG_BloqueSite = IMG_NonBloque +fin +fin +Procédure locale ChoixDateDebut +// Résumé : +// Syntaxe : +// ChoixDateDebut () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChoixDateDebut() +//DateHeurRetourDebut, DateHeurRetourFin sont des chaines +//(DateHeurRetourDebut,DateHeurRetourFin) = +OuvrePopupPosition(FEN_ChoixCalendrier,poHaut,SAI_PL_DateDebut,SAI_PL_DateFin,0) +//SI DateHeurRetourDebut<>"" et DateHeurRetourFin<>"" ALORS +// si SAI_PL_DateDebut<>DateHeurRetourDebut alors +// DateHeureDébut est une DateHeure = SAI_PL_DateDebut +// DateHeureFin est une DateHeure = SAI_PL_DateFin +// DuréeRDV est une Durée = DateHeureFin - DateHeureDébut +// DateHeurefinal est une dateheure=DateHeurRetourDebut +// SAI_PL_DateDebut=DateHeurRetourDebut +// SAI_PL_DateFin=DateHeurefinal+DuréeRDV +// sinon si SAI_PL_DateFin<>DateHeurRetourFin alors +// DateHeureDébut est une DateHeure = SAI_PL_DateDebut +// DateHeureFin est une DateHeure = SAI_PL_DateFin +// DuréeRDV est une Durée = DateHeureFin - DateHeureDébut +// DateHeurefinal est une dateheure=DateHeurRetourFin +// SAI_PL_DateDebut=DateHeurefinal-DuréeRDV +// SAI_PL_DateFin=DateHeurefinal +// fin +// SI ChaîneVersDate(SAI_PL_DateFin) +// Syntaxe : +procédure ChoixDateFin() +// +//DateHeurRetour est une chaine = +OuvrePopupPosition(FEN_ChoixCalendrier,poHaut,SAI_PL_DateDebut,SAI_PL_DateFin,1) +//SI DateHeurRetour<>"" ALORS +// DateHeureDébut est une DateHeure = SAI_PL_DateDebut +// DateHeureFin est une DateHeure = SAI_PL_DateFin +// DuréeRDV est une Durée = DateHeureFin - DateHeureDébut +// DateHeurefinal est une DateHeure=DateHeurRetour +// SAI_PL_DateDebut=DateHeurefinal-DuréeRDV +// SAI_PL_DateFin=DateHeurRetour +// SI ChaîneVersDate(SAI_PL_DateFin) +// Syntaxe : +//ChoixDateNewDebut () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChoixDateNewDebut() +sDateRetourDebut, sDateRetourFin, sHeureRetourDebut, sHeureRetourFin sont des chaînes +(sDateRetourDebut, sDateRetourFin, sHeureRetourDebut, sHeureRetourFin) = OuvrePopupPosition(FEN_ +ChoixCalendrier,poHaut,SAI_PL_DateDebut,SAI_PL_DateFin,SAI_PL_HuereDebut,SAI_PL_HeureFin,0) +si sDateRetourDebut <>"" alors +SAI_PL_DateDebut=sDateRetourDebut +fin +si sDateRetourFin<>"" alors +SAI_PL_DateFin=sDateRetourFin +fin +si sHeureRetourDebut<>"" alors +SAI_PL_HuereDebut=sHeureRetourDebut +fin +06/08/2026 Isis_BO 3637 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Procédures +si sHeureRetourFin<>"" alors +SAI_PL_HeureFin=sHeureRetourFin +fin +Procédure locale ChoixDateNewFin +// Résumé : +// Syntaxe : +//ChoixDateNewFin () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChoixDateNewFin() +//DateHeurRetour est une chaine = +OuvrePopupPosition(FEN_ChoixCalendrier,poHaut,SAI_PL_DateDebut,SAI_PL_DateFin,1) +//SAI_PL_DateFin=DateHeurRetour +//SI DateHeurRetour<>"" ALORS +// SI ChaîneVersDate(SAI_PL_DateFin) 0 alors +UnCouleur est un Couleur = DonneCouleurRDV(gclPresentationFicheRdv:m_nIDTypeActivite) +DISP_Entete..CouleurFond = UnCouleur +MaPalette est une Palette +MaPalette = PaletteGénère(UnCouleur) +LIB_Titre_de_fenêtre_Fiche_Rdv..Couleur = MaPalette.Couleur["primary_text"] +fin +Procédure locale DesactiveTimer +// Résumé : +// Syntaxe : +//DesactiveTimer ( est entier) +// +// Paramètres : +// nIdTimer (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +06/08/2026 Isis_BO 3638 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Procédures +procédure DesactiveTimer(local nIdTimer est un entier) +FinTimerSys(nIdTimer) +Procédure locale EnregistreFiche +// Résumé : +// Syntaxe : +//EnregistreFiche () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure EnregistreFiche() +//sIDRdv est une chaîne +nIdTypeIntervention est un entier sur 8 octets +nIndiceTI est un entier = TableauCherche(gpclListeTypeRendezVous:m_clTabModele, +tcLinéaire,"m_sCode;m_sValeur","14","1",1) +si nIndiceTI>0 alors +nIdTypeIntervention = gpclListeTypeRendezVous:m_clTabModele[nIndiceTI]:m_nPKID +fin +EcranVersSource("","gclPresentationFicheRdv")//SourceVersEcran("","gclPresentationFicheRdv") +ChampVersSource() +si paramSupplementaire.sNomIDAppelant="Nouveau" alors +gclPresentationFicheRdv.m_bNouveau=Vrai +gclPresentationFicheRdv.m_dhDateExport = "" +sinon +gclPresentationFicheRdv.m_bNouveau=Faux +fin +si gclPresentationFicheRdv.m_nIDStatut=0 alors +Info("Vous devez choisir un statut pour votre rendez-vous") +RepriseSaisie(COMBO_IDStatut) +retour +fin +si gclPresentationFicheRdv.m_nIDTypeActivite<>nIdTypeIntervention alors +// gclPresentationFicheRdv.m_nIDIntervention =0 +// gclPresentationFicheRdv.m_nIDDossier =0 +sinon +si COMBO_PL_LieIntervention..ValeurMémorisée=-1 alors +Info("Vous devez choisir une intervention pour votre rendez-vous") +RepriseSaisie(COMBO_PL_LieIntervention) +retour +fin +fin +pclListeLieu est une PTableLieu dynamique +pclListeLieu=PTableLieu.gNouvellePresentation(2,COMBO_PL_LieIntervention..ValeurMémorisée) +si pclListeLieu.m_clTabModele..Occurrence=0 alors +gclPresentationFicheRdv.m_nIDLieu=0 +fin +MessageErreur est une chaîne +sDateHeuredebut est une chaîne = SAI_PL_DateDebut..Valeur+SAI_PL_HuereDebut..Valeur +sDateHeureFin est une chaîne = SAI_PL_DateFin..Valeur+SAI_PL_HeureFin..Valeur +gclPresentationFicheRdv.m_dhDateDebut = sDateHeuredebut +gclPresentationFicheRdv.m_dhDateFin = sDateHeureFin +06/08/2026 Isis_BO 3639 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Procédures +nIdRdv est un entier sur 8 octets = 0 +si gclPresentationFicheRdv.m_nIDGroupe=0 et gclPresentationFicheRdv.m_nIDGroupeDate = 0 alors +nIdRdv = gclPresentationFicheRdv.m_nPKID +fin +si pas gclPresentationFicheRdv.m_bSuperposable et gclPresentationFicheRdv.m_nIDStatut <> gpcl +ListeStatutRendezVous:RechercheEtDonneIdDepuisValeur("99") alors +pour tout ligne de ZR_CollabRDV +MessageErreur = "" +MessageErreur=GestionConflitRDV(gclPresentationFicheRdv.m_dhDateDebut,gclPresentationFicheRdv. +m_dhDateFin,Val(ZR_CollabRDV.ATT_Id),nIdRdv,gclPresentationFicheRdv.m_nIDGroupe, +gclPresentationFicheRdv.m_nIDGroupeDate) +si MessageErreur<>"" alors +Erreur("Vous ne pouvez pas déplacer ce rendez-vous pour les utilisateurs suivant:"+RC+RC+ +MessageErreur+RC+RC+"Conflit de Rendez-vous") +RepriseSaisie(SAI_PL_DateDebut) +retour +fin +fin +fin +//clErreur est un CErreur +nIdGroupe est un entier sur 8 octets +si ZR_CollabRDV..Occurrence < 1 alors +Info("Vous devez indiquez au moins un collaborateur pour ce rendez-vous.") +RepriseSaisie(BTN_AjoutRessource) +retour +fin +si ZR_CollabRDV..Occurrence>1 et gclPresentationFicheRdv.m_nIDGroupe=0 alors +nIdGroupe=CreaCompteur("GrpeRdv") +sinon +si ZR_CollabRDV..Occurrence<> 1 alors +nIdGroupe=gclPresentationFicheRdv.m_nIDGroupe +sinon +nIdGroupe=0 +fin +fin +//pour toute ligne de ZR_CollabRDV +HLitRecherchePremier(ParametreMetier,PA_PKID,gclPresentationFicheRdv.m_nIDTypeActivite) +si HTrouve() alors +gclPresentationFicheRdv.m_clTypeActivite.m_nPKID =ParametreMetier.PA_PKID +gclPresentationFicheRdv.m_clTypeActivite.m_sLibelle =ParametreMetier.PA_Libelle +fin +si ZoneRépétéeOccurrence(ZR_CollabRDV)>1 alors +gclPresentationFicheRdv.m_nIDGroupe=nIdGroupe +sinon +gclPresentationFicheRdv.m_nIDGroupe=0 +fin +gclPresentationFicheRdv.m_nIDIntervention=COMBO_PL_LieIntervention..ValeurMémorisée +si gclPresentationFicheRdv.m_nIDIntervention=-1 alors +gclPresentationFicheRdv.m_nIDIntervention=0 +fin +si sDateHeuredebut>sDateHeureFin alors +Erreur("Votre date et heure de début est inférieur à la date et heure de fin, veuillez corriger.") +RepriseSaisie(SAI_PL_DateDebut) +retour +fin +si gclPresentationFicheRdv.m_nPKID > 0 et pas gclPresentationFicheRdv.m_bNouveau alors +si pas ModificationRDV(gclPresentationFicheRdv,gclPresentRDVGroupe,gclPresentListeContactRDV) alors +retour +06/08/2026 Isis_BO 3640 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Procédures +sinon +si pas CreerNouveauRDV(gclPresentationFicheRdv,gclPresentRDVGroupe,gclPresentListeContactRDV) alors +retour +fin +si (gpclFicheUtilisateurEnCours <> Null _et_ gpclFicheUtilisateurEnCours:m_nPKID > 0) ... +_et_ gclPresentationFicheRdv <> Null _et_ gclPresentationFicheRdv:m_clIntervention <> Null _et_ +gclPresentationFicheRdv:m_clIntervention:m_nPKID > 0 _et_ bufDescripInter <> SAI_PL_Description alors +si pas HLitRecherchePremier(Intervention,IN_PKID,gclPresentationFicheRdv:m_clIntervention:m_nPKID) +alors +Erreur(" Intervention non trouvée, la description n'a pas pu être enregistrée") +sinon +Intervention.IN_Description = SAI_PL_Description +Intervention.ModifDate = DateHeureSys() +Intervention.ModifUser = gpclFicheUtilisateurEnCours:m_nPKID +si pas HModifie(Intervention) alors +si HErreurBlocage() alors +Erreur( +"la fiche intervention est bloqué par un autre utilisateur, la description de +l’intervention n'a pas pu être enregistrée " +) +retour +sinon +Erreur("La description de l’intervention n'a pas pu être enregistrée "+RC+HErreur()) +retour +fin +fin +fin +fin +////gclPresentation.m_dhModifDate=DateHeureSys() +////gclPresentation.m_nModifUser=gpclFicheUtilisateurEnCours.m_nPKID +////gclPresentation.m_sModifUser=gpclFicheUtilisateurEnCours.m_sPrenom+gpclFicheUtilisateurEnCours.m_sN +om +////gclPresentation.m_nIDCollaborateur=ZR_CollabRDV.ATT_Id +////gclPresentation.m_nIDEquipe=ZR_CollabRDV.ATT_IdEquipe +//POUR i= 1 _A_ gclPresentRDVGroupe.m_clTabModele.Occurrence() +// +// //gclPresentRDVGroupe.m_clTabModele[i].m_dhModifDate=DateHeureSys() +// //gclPresentRDVGroupe.m_clTabModele[i].m_nModifUser=gpclFicheUtilisateurEnCours.m_nPKID +// +//gclPresentRDVGroupe.m_clTabModele[i].m_sModifUser=gpclFicheUtilisateurEnCours.m_sPrenom+gpclFicheUtil +isateurEnCours.m_sNom +// gclPresentRDVGroupe.m_clTabModele[i].m_bPrive =gclPresentationFicheRdv.m_bPrive +// gclPresentRDVGroupe.m_clTabModele[i].m_bSAV =gclPresentationFicheRdv.m_bSAV +// gclPresentRDVGroupe.m_clTabModele[i].m_bSuperposable +=gclPresentationFicheRdv.m_bSuperposable +// gclPresentRDVGroupe.m_clTabModele[i].m_dhDateDebut +=gclPresentationFicheRdv.m_dhDateDebut +// gclPresentRDVGroupe.m_clTabModele[i].m_dhDateFin +=gclPresentationFicheRdv.m_dhDateFin +// gclPresentRDVGroupe.m_clTabModele[i].m_nIDGroupe +=gclPresentationFicheRdv.m_nIDGroupe +// gclPresentRDVGroupe.m_clTabModele[i].m_nIDIntervention +=gclPresentationFicheRdv.m_nIDIntervention +// gclPresentRDVGroupe.m_clTabModele[i].m_nIDSociete +=gclPresentationFicheRdv.m_nIDSociete +// gclPresentRDVGroupe.m_clTabModele[i].m_nIDStatut +=gclPresentationFicheRdv.m_nIDStatut +// gclPresentRDVGroupe.m_clTabModele[i].m_nIDTypeActivite +=gclPresentationFicheRdv.m_nIDTypeActivite +// gclPresentRDVGroupe.m_clTabModele[i].m_sDescription +06/08/2026 Isis_BO 3641 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Procédures +=gclPresentationFicheRdv.m_sDescription +// gclPresentRDVGroupe.m_clTabModele[i].m_nIDDossier +=gclPresentationFicheRdv.m_nIDDossier +// //gclPresentRDVGroupe.m_clTabModele[i].m_sCreationUser=gclPresentationFicheRdv.m_sCreationUser +// //gclPresentRDVGroupe.m_clTabModele[i].m_nCreationUser=gclPresentationFicheRdv.m_nCreationUser +// gclPresentRDVGroupe.m_clTabModele[i].m_clTypeActivite.m_nPKID +=gclPresentationFicheRdv.m_clTypeActivite.m_nPKID +// +gclPresentRDVGroupe.m_clTabModele[i].m_clTypeActivite.m_sLibelle=gclPresentationFicheRdv.m_clTypeActivi +te.m_sLibelle +// gclPresentRDVGroupe.m_clTabModele[i].m_sObjet =gclPresentationFicheRdv.m_sObjet +// gclPresentRDVGroupe.m_clTabModele[i].m_nIDLieu =gclPresentationFicheRdv.m_nIDLieu +// gclPresentRDVGroupe.m_clTabModele[i].m_nIDPersonne +=gclPresentationFicheRdv.m_nIDPersonne +// +// // validation +// SI PAS gclPresentRDVGroupe.m_clTabModele[i].bEnregistrer(clErreur) ALORS +| // Erreur(clErreur.FormateMessage()) | | | | +| ------------------------------------ | --- | --- | --- | +| // RepriseSaisie(BTN_AjoutRessource) | | | | +| // RETOUR | | | | +// FIN +// sIDRdv+=[";"]+gclPresentRDVGroupe.m_clTabModele[i].m_nPKID +// // validation des Contacts du RDV pour chaque RDV colaborateur +// +//FIN +//SI gclPresentListeContactRDV.p_nTotal <>0 ALORS +// sSQLExist est une chaine = [ +// +SELECT Planning_RDV_Personne.PRP_PKID AS PKID FROM Planning_RDV_Personne WHERE +Planning_RDV_Personne.PRP_IDRdv=%1 AND Planning_RDV_Personne.PRP_IDPersonne=%2 +// ] +// sRequete est une chaine +// POUR n=1 _a_ gclPresentListeContactRDV.p_nTotal +| // //Boucle sur l'ensemble des Rdv (Si +sieurs collab) | | | | +| ------------------------------------------------------ | --- | --- | --- | +| // POUR TOUTE CHAÎNE Rdv DE sIDRdv SEPAREE PAR ";" | | | | +// gclPresentListeContactRDV.p_clCourant=gclPresentListeContactRDV.m_clTabModele[n] +// +clFicheContactRdv est une PFichePlanning_RDV_Personne<-gclPresentListeContactRDV.Modifier() +// sRequete = ChaîneConstruit(sSQLExist,Rdv,clFicheContactRdv.m_nIDPersonne) +| // | sdRequete est une source de données | | | +| --- | ----------------------------------- | --- | --- | +// SI HExécuteRequêteSQL(sdRequete,hRequêteDéfaut,sRequete) _ET_ HNbEnr(sdRequete)=0 ALORS +| // | clFicheContactRdv.m_bNouveau=Vrai | | | +| --- | --------------------------------- | --- | --- | +// SINON SI HNbEnr(sdRequete)>0 _ET_ HLitPremier(sdRequete)ALORS +// +| // | clFicheContactRdv.m_nPKID | =sdRequete.PKID | | +| --- | --------------------------------- | --------------- | --- | +| // | clFicheContactRdv.m_bNouveau=Faux | | | +| // | FIN | | | +// +// +// clFicheContactRdv.m_nIDGroupeRDV = gclPresentRDVGroupe.m_clTabModele[1].m_nIDGroupe +| // | clFicheContactRdv.m_nIDRdv | = Rdv | | +| --- | -------------------------------------------------- | ----- | --- | +| // | SI PAS clFicheContactRdv.bOK(clErreur) ALORS | | | +| // | Erreur(clErreur.FormateMessage()) | | | +| // | RepriseSaisie(BTN_AjoutContact) | | | +| // | RETOUR | | | +| // | SINON | | | +| // | POUR TOUT Planning_RDV_Personne AVEC PRP_IDRdv=Rdv | | | +// +SI Planning_RDV_Personne.PRP_IDPersonne=clFicheContactRdv.m_nIDPersonne ET +Planning_RDV_Personne.Archive=Vrai ALORS +// Planning_RDV_Personne.Archive=Faux +// FIN +| // | FIN | | | +| ---------- | --- | ------- | ---- | +| 06/08/2026 | | Isis_BO | 3642 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Procédures +// FIN +// +// +// FIN +// +// FIN +// +//FIN +// +//POUR TOUTE CHAÎNE Rdv DE sIDRdv SEPAREE PAR ";" +// POUR TOUT Planning_RDV_Personne AVEC PRP_IDRdv=Rdv +// SI Planning_RDV_Personne.Archive=Vrai ALORS +// HSupprime(Planning_RDV_Personne) +// FIN +// FIN +// +//FIN +Procédure locale FermetureApresEnregistrement +// Résumé : +// Syntaxe : +// FermetureApresEnregistrement () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure FermetureApresEnregistrement() +AppelProcFenetreAppelante(gclPresentationFicheRdv,paramSupplementaire,Vrai,Vrai) +paramSupplementaire.nIdFenetreAppelante =Null +paramSupplementaire.pclObjetAppelant =Null +paramSupplementaire.sContexteAppelant =Null +paramSupplementaire.sNomFenetreAppelante=Null +paramSupplementaire.sNomIDAppelant =Null +paramSupplementaire.sTitreFenetre =Null +paramSupplementaire.pclObjetAppelant =Null +si FenEtat(FEN_Fiche_RDV_F)=Actif alors +Ferme(FEN_Fiche_RDV_F, Vrai) +fin +//ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +Procédure locale Gestion_Conflit +// Résumé : +procédure Gestion_Conflit(local P_DateInf est une DateHeure,local P_DateSup est une DateHeure,local +nP_IdCollab est un entier sur 8 octets,local nP_IdGroupe est un entier sur 8 octets) +Resp est une chaîne +DuréeModif est une Durée = "0001000000" +dhDateInf est une DateHeure=P_DateInf+DuréeModif +dhDatesup est une DateHeure=P_DateSup-DuréeModif +req est une Requête SQL = +06/08/2026 Isis_BO 3643 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Procédures +[ +SELECT Planning_RDV.PL_Superposable,Planning_RDV.PL_IDCollaborateur,Collaborateur.CO_Nom, +Collaborateur.CO_Prenom,PL_DateDebut,PL_DateFin FROM Planning_RDV +INNER JOIN Collaborateur ON Collaborateur.CO_PKID=Planning_RDV.PL_IDCollaborateur +WHERE (Planning_RDV.PL_DateDebut BETWEEN {P_DateInf} AND {P_DateSup} OR Planning_RDV.PL_DateFin +BETWEEN {P_DateInf} AND {P_DateSup}) +AND Planning_RDV.Archive=0 +AND Planning_RDV.PL_IDCollaborateur IN ({P_IdCollab}) +AND NOT PL_IDGroupe IN ({P_IdPL}) +] +req.P_DateInf=dhDateInf +req.P_DateSup=dhDatesup +req.P_IdCollab=nP_IdCollab +si nP_IdGroupe<>0 alors req.P_IdPL=nP_IdGroupe +si pas HExécuteRequête(req,hRequêteDéfaut) alors +Resp="Erreur HFSQL : " + HErreurInfo(hErrComplet) +renvoyer Resp +fin +pour tout req +si req.PL_Superposable=0 alors +si Resp="" alors +Resp="- "+req.CO_Prenom+" "+req.CO_Nom+" :"+" Un Rdv est déjà planifié et non superposable le "+ +DateVersChaîne(req.PL_DateDebut,"JJ/MM/AAAA")+" entre "+HeureVersChaîne(Droite(req.PL_DateDebut,9), +"HH:MM:SS")+" et "+HeureVersChaîne(Droite(req.PL_DateFin,9),"HH:MM:SS") +sinon +Resp+=RC+RC+"- "+ req.CO_Prenom+" "+req.CO_Nom+" :"+" Un Rdv +est déjà planifié et non superposable le "+ DateVersChaîne(req.PL_DateDebut,"JJ/MM/AAAA")+ +" entre "+HeureVersChaîne(Droite(req.PL_DateDebut,9),"HH:MM:SS")+" et "+HeureVersChaîne(Droite(req. +PL_DateFin,9),"HH:MM:SS") +fin +fin +fin +renvoyer Resp +Procédure locale GestionBTNDossierImp +// Résumé : +// Syntaxe : +// GestionBTNDossierImp () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure GestionBTNDossierImp() +si gclPresentationFicheRdv:p_clCourant.m_nIDDossier > 0 et gclPresentationFicheRdv:p_clCourant.m_n +IDIntervention > 0 alors +BTN_IMPRIME_RENDEZVOUS..Grisé = Faux +BTN_VueDossier..Grisé = Faux +sinon +BTN_IMPRIME_RENDEZVOUS..Grisé = Vrai +BTN_VueDossier..Grisé = Vrai +fin +Procédure locale ImprimerFicheDeplacement +// Résumé : +06/08/2026 Isis_BO 3644 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Procédures +// Syntaxe : +//[ = ] ImprimerFicheDeplacement ([...]) +// +// Paramètres : +// <*> : > +// Valeur de retour : +// booléen : +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ImprimerFicheDeplacement(*) +si FenEtat(FEN_Choix_ModeleEtat_Intervention)=Actif alors +Ferme(FEN_Choix_ModeleEtat_Intervention) +fin +pclObjetest un objet dynamique +pclObjet= MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +sValeur est une chaîne ANSI = "0" +si pclObjet <> Null alors +sValeur = pclObjet.m_sValeur +fin +clEtatFicheDeplacement est un MEtatFicheDeplacement +nIndiceEtat est un entier = TableauCherche(gpclListeModelEtatIntervRdv:m_clTabModele,tcLinéaire, +"m_sValeur",sValeur,1) +PFicheRdv.gFicheIntervention(gclPresentationFicheRdv,*,Vrai) +PFicheRdv.gFicheDossier(gclPresentationFicheRdv) +gclListeContactRDV est un PTablePlanning_RDV_Personne dynamique +gclListeContactRDV =PTablePlanning_RDV_Personne.gNouvellePresentation(gclPresentationFicheRdv.m_n +PKID) +PFicheRdv.gFicheOccupant(gclPresentationFicheRdv) +clEtatFicheDeplacement:m_sNumDossier = gclPresentationFicheRdv:FicheDossier:m_s +RefInterne +//*********************Intervention********************** +clEtatFicheDeplacement:m_LogoSociete = gclPresentationFicheRdv:FicheIntervention: +FicheSociete:m_imgLogo +clEtatFicheDeplacement:m_sNomSociete = gclPresentationFicheRdv:FicheIntervention: +FicheSociete:m_sNom +clEtatFicheDeplacement:m_sAdresseSociete = gclPresentationFicheRdv:FicheIntervention: +FicheSociete:m_clAdresse:m_sPresentation +clEtatFicheDeplacement:m_sRefInterneIntervention = gclPresentationFicheRdv:FicheIntervention.m_s +RefInterne +clEtatFicheDeplacement:m_dDateIntervention = gclPresentationFicheRdv:FicheIntervention.m_d +DateIntervention +clEtatFicheDeplacement:m_sSuiviPar = gclPresentationFicheRdv:FicheIntervention. +FicheSuiveur:NomPrenom +clEtatFicheDeplacement:m_sEtatIntervention = gpclListeEtatIntervention. +RechercheEtDonneLibelleDepuisID(gclPresentationFicheRdv:FicheIntervention:m_nIDEtatIntervention) +clEtatFicheDeplacement:m_sTypeIntervention = gpclListeTypeIntervention. +RechercheEtDonneLibelleDepuisID(gclPresentationFicheRdv:FicheIntervention:m_nIDTypeIntervention) +clEtatFicheDeplacement:m_sNumDevis = gclPresentationFicheRdv:FicheIntervention.m_s +NumDevis +clEtatFicheDeplacement:m_sTitreIntervention = gclPresentationFicheRdv:FicheIntervention.m_s +Titre +clEtatFicheDeplacement:m_bSAV = gclPresentationFicheRdv.m_bSAV +//*********************Occupant********************** +clEtatFicheDeplacement:m_sCodeSite = gclPresentationFicheRdv:FicheIntervention: +FicheLieu:m_sCodeLieu +clEtatFicheDeplacement:m_sCiviliteNomPrenomOccupant = gclPresentationFicheRdv:FicheOccupant: +06/08/2026 Isis_BO 3645 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Procédures +CiviliteNomPrenom +clEtatFicheDeplacement:m_sTelFixe = gclPresentationFicheRdv:FicheOccupant:m_s +TelFixe +clEtatFicheDeplacement:m_sTelMobile = gclPresentationFicheRdv:FicheOccupant:m_s +TelMobile +clEtatFicheDeplacement:m_sRoleOccupant = gpclListeRoleContact. +RechercheEtDonneLibelleDepuisID(gclPresentationFicheRdv:FicheOccupant:m_nIDRole) +//clEtatFicheDeplacement:m_clListeContact += gclPresentationFicheRdv:FicheIntervention:ListeContactLieu:m_clTabModele +tabPersonnes est un tableau de MPlanning_RDV_Personne = gclListeContactRDV:m_clTabModele +clEtatFicheDeplacement:Contacts(tabPersonnes) +PFichePersonne.gListeLieu(gclPresentationFicheRdv:FicheOccupant) +nIndice est un entier = TableauCherche(gclPresentationFicheRdv:FicheOccupant.ListeLieu. +m_clTabModele,tcLinéaire,"m_nIDLieu",gclPresentationFicheRdv:FicheIntervention:FicheLieu:m_nPKID,1) +si nIndice>0 alors +clEtatFicheDeplacement:m_sEtage = gclPresentationFicheRdv: +FicheOccupant.ListeLieu.m_clTabModele[nIndice]:m_sEtage +clEtatFicheDeplacement:m_sLot = gclPresentationFicheRdv:FicheOccupant. +ListeLieu.m_clTabModele[nIndice]:m_sLot +clEtatFicheDeplacement:m_sEtiquetteLieuPersonne = gclPresentationFicheRdv:FicheOccupant. +ListeLieu.m_clTabModele[nIndice]:m_sEtiquette +fin +clEtatFicheDeplacement:m_sAdresseSite = gclPresentationFicheRdv:FicheIntervention: +FicheLieu:m_clAdresse:m_sPresentation +// +// SI tabPersonnes..Occurrence = 1 ALORS +// SI tabPersonnes[1].m_clPersonne.m_sEtage <> "" ALORS +// +clEtatFicheDeplacement:m_sAdresseSite += [RC]+"Étage "+ tabPersonnes[1].m_clPersonne.m_sEtage +// FIN +// FIN +// +clEtatFicheDeplacement:m_sCodeAcces = gclPresentationFicheRdv:FicheIntervention +:FicheLieu:m_sCodeAcces +clEtatFicheDeplacement:m_sNoteSite = gclPresentationFicheRdv:FicheIntervention: +FicheLieu:m_sNote +//**********************Client********************** +clEtatFicheDeplacement:m_sNomClient = gclPresentationFicheRdv:FicheIntervention +:FicheClient:m_sNom +clEtatFicheDeplacement:m_sRefExterneIntervention = gclPresentationFicheRdv:FicheIntervention:m_s +RefExterne +clEtatFicheDeplacement:m_sCodeClient = gclPresentationFicheRdv:FicheIntervention: +FicheClient:m_sCodeClient +clEtatFicheDeplacement:m_sTelFixeClient = gclPresentationFicheRdv:FicheIntervention +:FicheClient:m_sTel +//**********************Rendez-vous********************** +clEtatFicheDeplacement:m_sDateRendezVous = gclPresentationFicheRdv:DateRendezVous +sDescr est une chaîne = RTFVersTexte(gclPresentationFicheRdv: +FicheIntervention:m_sDescription)+RC+gclPresentationFicheRdv:m_sDescription +clEtatFicheDeplacement:m_sDescription = TexteVersRTF(sDescr) +sNote est une chaîne +//Recherche des Messages Internes +PFicheIntervention.gListeMessageInterne(gclPresentationFicheRdv:FicheIntervention) +pour i = 1 _à_ gclPresentationFicheRdv:FicheIntervention.ListeMessageInterne:p_nTotal +sNote += i=1 ? gclPresentationFicheRdv: +FicheIntervention.ListeMessageInterne:m_clTabModele[i]:m_sMessage sinon RC+ +06/08/2026 Isis_BO 3646 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Procédures +gclPresentationFicheRdv:FicheIntervention.ListeMessageInterne:m_clTabModele[i]:m_sMessage +fin +clEtatFicheDeplacement:m_sNoteInterne = TexteVersRTF(sNote) +nCptDonneur est un entier = gclPresentationFicheRdv:FicheIntervention +:ListeContactClient.p_nTotal +si nCptDonneur>0 alors +selon nCptDonneur +cas 1 : clEtatFicheDeplacement:m_sDonneurOrdre_1 = gclPresentationFicheRdv: +FicheIntervention:ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +autre cas : +clEtatFicheDeplacement:m_sDonneurOrdre_1 = gclPresentationFicheRdv:FicheIntervention +:ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +clEtatFicheDeplacement:m_sDonneurOrdre_2 = gclPresentationFicheRdv:FicheIntervention +:ListeContactClient.m_clTabModele[2]:m_clContact:CiviliteNomPrenom +fin +fin +nI est un entier +nI = TableauCherche(gclPresentationFicheRdv:FicheIntervention:ListeRendezVous:m_clTabModele,tcLinéaire, +"m_nIDGroupe",gclPresentationFicheRdv:m_nIDGroupe,1) +si nI>0 alors +clEtatFicheDeplacement:m_clListeCollabGroup <= gclPresentationFicheRdv:FicheIntervention: +ListeRendezVous:m_clTabModele[nI]:m_clListeCollabGroup +clEtatFicheDeplacement:Intervenants(gclPresentationFicheRdv:FicheIntervention:ListeRendezVous: +m_clTabModele[nI]:m_clListeCollabGroup) +sinon +TableauAjoute(clEtatFicheDeplacement:m_clListeCollabGroup,gclPresentationFicheRdv:m_clCollaborateur +) +clEtatFicheDeplacement:m_clIntervenants = gclPresentationFicheRdv:m_clCollaborateur.m_sNom + " " + +gclPresentationFicheRdv:m_clCollaborateur.m_sPrenom + " " +fin +si SansEspace(clEtatFicheDeplacement:m_clIntervenants) = "" alors +clEtatFicheDeplacement:m_clIntervenants = gclPresentationFicheRdv:m_clCollaborateur.m_sNom + " " + +gclPresentationFicheRdv:m_clCollaborateur.m_sPrenom + " " +fin +clEtatFicheDeplacement:RechercheIntervenant(gclPresentationFicheRdv:m_nPKID) +// pour résoudre le problème chez GAP si c'est vide je force la recherche +si nIndiceEtat > 0 alors +FEN_Menu..AffichageActif=Faux +iDestination(iVisualisateur) +//,iPage,gpclListeModelEtatIntervRdv:m_clTabModele[nIndiceEtat]:m_sLibelle+" - +"+gclPresentationFicheInterv:m_sRefInterne,Vrai,0,0 +iImprimeEtat(gpclListeModelEtatIntervRdv:m_clTabModele[nIndiceEtat]:m_sParametre, +clEtatFicheDeplacement) +FEN_Menu..AffichageActif=Vrai +fin +renvoyer Vrai +Procédure locale MAJObjetRetourFI +// Résumé : +// Syntaxe : +//[ = ] MAJObjetRetourFI ([...]) +// +// Paramètres : +06/08/2026 Isis_BO 3647 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Procédures +// <*> : > +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sContexte (chaîne ANSI) : +// pclObjet (objet dynamique) : +procédure MAJObjetRetourFI(*)//LOCAL sContexte est une chaîne, pclObjet est un objet dynamique +bResultat est un booléen=Vrai +nMode est un entier +sNomChamp est une chaîne +pclObjet est un objet dynamique +bReorga est un booléen=Vrai +bBloc est un booléen +sMethode est une chaîne +si MesParamètres..Occurrence>0 alors +nMode = MesParamètres[1] +fin +selon nMode +cas 1 : +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +sMethode = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],2,TAB) sinon "" +cas 2 +bReorga = Faux +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +sMethode = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],2,TAB) sinon "" +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 3 +bReorga = Faux +bBloc = Vrai +fin +si bReorga alors +fin +si pclObjet<>Null alors +//*******************************MISE A JOUR DE +L'OBJET********************************************************* +selon sNomChamp +cas BTN_AjoutRessource..Nom : +si sMethode="INT_COLLAB" alors +si gclPresentRDVGroupe:m_clTabModele..Occurrence <>0 alors +// +MessageErreur est une +chaine=GestionConflitRDV(gclPresentRDVGroupe:m_clTabModele[1].m_dhDateDebut,gclPresentRDVGroupe:m_clTab +Modele[1].m_dhDateFin,pclObjet:m_nPKID) +// +// SI MessageErreur<>"" ALORS +// +Erreur("Vous ne pouvez pas affecter ce rendez-vous à cet utilisateur"+RC+RC+"Conflit de Rendez-vous") +// bResultat = Faux +// SINON +// bResultat = vrai +// FIN +fin +sinon +06/08/2026 Isis_BO 3648 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Procédures +clListCollab est un PTableCollaborateur <-pclObjet +pour i = 1 _à_ clListCollab.m_clTabModele.Occurrence() +nIndice est un entier = TableauCherche(gclPresentRDVGroupe.m_clTabModele, +tcLinéaire,"m_nIDCollaborateur",clListCollab.m_clTabModele[i].m_nPKID,1) +si nIndice=-1 _et_ clListCollab.m_clTabModele[i].m_bSelection alors +clFicheRDV est un PFicheRdv <- gclPresentRDVGroupe.Nouveau() +clFicheRDV.m_bNouveau=Vrai +clFicheRDV.p_clCourant.m_nIDCollaborateur = clListCollab.m_clTabModele[i]. +m_nPKID +clFicheRDV.p_clCourant.m_clCollaborateur = clListCollab.m_clTabModele[i] +clFicheRDV.AppelProcValidation() +sinon si nIndice>0 _et_ pas clListCollab.m_clTabModele[i].m_bSelection _et_ pas +gclPresentRDVGroupe:m_clTabModele[nIndice].m_bNouveau alors +ClErreur est un CErreur +gclPresentRDVGroupe:m_clTabModele[nIndice].m_bArchive=Vrai +gclPresentRDVGroupe:m_clTabModele[nIndice].m_nIDGroupe=0 +gclPresentRDVGroupe:m_clTabModele[nIndice].bEnregistrer(ClErreur) +TableauSupprimeLigne(gclPresentRDVGroupe:m_clTabModele,nIndice) +fin +fin +fin +cas BTN_AjoutContact..Nom : +si sMethode="INT_CONTACT" alors +bResultat =Vrai +sinon +clListContact est un PTablePersonne <-pclObjet +pour i = 1 _à_ clListContact.m_clTabModele.Occurrence() +nIndice est un entier = TableauCherche(gclPresentListeContactRDV.m_clTabModele, +tcLinéaire,"m_nIDPersonne",clListContact.m_clTabModele[i].m_nPKID,1) +si nIndice=-1 _et_ clListContact.m_clTabModele[i].m_bSelection alors +clFicheRDV_Personne est un PFichePlanning_RDV_Personne <- +gclPresentListeContactRDV.Nouveau() +clFicheRDV_Personne.m_bNouveau=Vrai +clFicheRDV_Personne.p_clCourant.m_nIDPersonne = clListContact.m_clTabModele[ +i].m_nPKID +clFicheRDV_Personne.p_clCourant.m_clPersonne = clListContact.m_clTabModele[ +i] +clFicheRDV_Personne.p_clCourant.m_nIDRdv= gclPresentationFicheRdv.m_nPKID +clFicheRDV_Personne.m_nIDGroupeRDV= gclPresentationFicheRdv.m_n +IDGroupe +clFicheRDV_Personne.AppelProcValidation() +sinon si nIndice>0 _et_ pas clListContact.m_clTabModele[i].m_bSelection alors +TableauSupprimeLigne(gclPresentListeContactRDV:m_clTabModele,nIndice) +fin +fin +fin +fin +fin +//info(sNomChamp) +//*******************************GESTION DE +L'APRES********************************************************* +si sNomChamp<>BTN_AjoutRessource..Nom _et_ sMethode<>"INT_COLLAB" alors +sDateHeuredebut est une chaîne = SAI_PL_DateDebut..Valeur+SAI_PL_HuereDebut..Valeur +sDateHeureFin est une chaîne = SAI_PL_DateFin..Valeur+SAI_PL_HeureFin..Valeur +gclPresentationFicheRdv.m_dhDateDebut = sDateHeuredebut +06/08/2026 Isis_BO 3649 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Rdv › Procédures +gclPresentationFicheRdv.m_dhDateFin = sDateHeureFin +SourceVersEcran() +SAI_Lieu=Remplace(SAI_Lieu..Valeur,[RC,TAB],"-") +fin +renvoyer bResultat +Procédure locale SurActivite +// Résumé : +// Syntaxe : +//SurActivite (, , ) +// +// Paramètres : +// wEve : +// wParam : +// lParam : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SurActivite(wEve,wParam,lParam) +//gbUserEnMouvement = Vrai +si gclPresentationFicheRdv:m_bBlocageEcriture alors +gnDelai=DonneValeurTimeOutObjet(gclPresentationFicheRdv) +fin +//SI wParam<>0 ALORS//N° de colonne sur laquelle le clic est effectué +// +//FIN +Procédure locale TimeOutRdv +procédure TimeOutRdv() +//Enlève 1 seconde au temps restant +gnDelai-- +//Le temps est écoulé, l'enregistrement et le déblocage de ce dernier c'est bien passé +si gnDelai = 0 alors +DeblocEnregistrement(gclPresentationFicheRdv,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_RDV,BTN_CADENAS_OUVERT_RDV,GR_CADENAS_RDV,D_FIC_RDV,*,Vrai) +fin +06/08/2026 Isis_BO 3650 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Image +FI_Agenda3 +Image +| 06/08/2026 | Isis_BO | 3651 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations générales +FI_Agenda3 +Informations générales +FI_Agenda3 +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Agenda3.wdw +| Créé par | | XVA | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 31/10/2018 15:46:10 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 22/04/2025 08:43:59 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1464 Hauteur | 890 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ------- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 3652 | + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations générales +Valide auto. 0 +Lib. + tps restant Oui +Pos. X Menu 6 +Pos. Y Menu 28 +Texte Markdown Non +Mode menu ctx. +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 +Statistiques de la fenêtre +| | Libellé | 19 | Bouton | 13 | +| --- | ----------------------- | --- | ---------------------- | --- | +| | Interrupteur | 4 | Image | 2 | +| | Table | 1 | Forme | 1 | +| | Zone répétée | 4 | Fenêtre interne | 1 | +| | Attribut zone répétée | 16 | Calendrier | 1 | +| | Option d'interrupteur | 4 | Colonne de table | 1 | +| | Rupture de zone répétée | 6 | Agenda | 1 | +| | Disposition | 1 | Cellule de disposition | 4 | +Nombre d'éléments dans la fenêtre : 79 +FI_Agenda3 +Informations sur les champs +Fenêtre : FI_Agenda3 +| 06/08/2026 | | Isis_BO | | 3653 | +| ---------- | --- | ------- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Fenêtre interne +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | | laitini tatE | +| --- | --- | --------------------- | --- | --- | --- | --- | --- | ------------ | +ruetuaH +ruegraL +elbisiV +nalP +| FI_Agenda3 | | 0 | 0 | 1464 | 890 | 0 | | | +| ---------- | --- | --- | --- | ---- | --- | --- | --- | --- | +Fenêtre interne : FI_Agenda3 +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | --- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_Mois | 296 | 45 193 | 30 | 0 | Actif | Gauche | Centre | | +| -------------------- | --- | ------ | --- | --- | ----- | ------ | ------ | --- | +| LIB_NBRdvAttente | 8 | 4 23 | 20 | 0 | Actif | Gauche | Haut | | +| LIB_RdvAttente | 30 | 4 172 | 20 | 0 | Actif | Gauche | Haut | | +| LIB_Semaine | 296 | 81 193 | 24 | 0 | Actif | Gauche | Centre | | +| LIB_Titre_de_fenêtre | 6 | 6 155 | 21 | 0 | Actif | Gauche | Centre | | +| LIB_Tous | 26 | 8 176 | 20 | 0 | Actif | Gauche | Haut | | +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Afficher | 40 | 857 | 130 | 30 | 0 | Actif | | Normal | +| ----------------------------- | ---- | --- | ------- | --- | --- | ----- | --- | -------- | +| BTN_Aujourd_hui | 1317 | 65 | 99 | 30 | 0 | Actif | | Interrup | +| BTN_ChangeMode | 508 | 67 | 130 | 30 | 0 | Actif | | Normal | +| BTN_ChangeModeSVT | 779 | 67 | 147 | 30 | 0 | Actif | | Normal | +| BTN_Fermer_fiche_intervention | 1429 | 3 | 24 | 24 | 0 | Actif | | Abandon | +| BTN_Imprimer | 643 | 67 | 130 | 30 | 0 | Actif | | Normal | +| BTN_Jour | 1021 | 65 | 67 | 30 | 0 | Actif | | Interrup | +| BTN_Mois | 1247 | 65 | 67 | 30 | 0 | Actif | | Interrup | +| BTN_PeriodePrecedente | 236 | 45 | 24 | 30 | 0 | Actif | | Interrup | +| BTN_PeriodeSuivante | 266 | 45 | 24 | 30 | 0 | Actif | | Interrup | +| BTN_Semaine | 1091 | 65 | 75 | 30 | 0 | Actif | | Interrup | +| BTN_Semaine1 | 1169 | 65 | 75 | 30 | 0 | Actif | | Interrup | +| 06/08/2026 | | | Isis_BO | | | | | 3654 | + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| INT_Sel | | 2 | 7 | 23 | 18 | 0 | Actif | | | 1 | +| ------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | +Image +| | | | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | --------------------- | ----------------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | sucof cevA | +| | | | | | ruetuaH | | | | cilc cevA | | +| | | | | ruegraL | | | elbisiV | | | | +nalP +| IMG_Lien | | -46 | 157 | 30 | 30 | 0 | Actif | | | | +| --------------- | --- | ---- | --- | --- | --- | --- | ----- | --- | --- | --- | +| IMG_Parametrage | | 1422 | 65 | 30 | 30 | 0 | Actif | | | | +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------------ | ------------------ | --- | +)(ertliFH resilitU +| | | | | | | .gerne egacolB | noitcelésitluM | ruesnecsa elluB | EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +| --- | --- | --- | --- | --- | --- | -------------- | -------------- | --------------- | -------------- | ----------------------------- | +edacsac eisiaS +BAT ehcuoT +laitini tatE +| | X noitisoP Y noitisoP | | | | | sruocraP | | | | | +| --- | --------------------- | --- | --- | --- | --- | -------- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +| | | | nalP | | elbaT | | | | | | +| ------------ | ------- | -------- | ---- | ----- | ------ | --- | --- | --- | --- | --- | +| TABLE_Agenda | 220 102 | 1233 788 | 0 | Actif | Mémoir | | | | | 0 | +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_Bandeau_Entete | | | 0 | -1 | 1464 | 33 | 0 | | Actif | | +| ------------------ | --- | --- | --- | --- | ---- | --- | --- | --- | ----- | --- | +Zone répétée +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| ZR_Collaborateur | | | 0 | 3 | 210 | 177 | 0 | | Actif | | +| ---------------- | --- | --- | --- | ------- | --- | --- | --- | --- | -------- | ---- | +| ZR_Equipe | | | 0 | 5 | 210 | 125 | 0 | | Actif | | +| ZR_RdvAttente | | | 4 | 22 | 200 | 118 | 0 | | affichag | | +| ZR_Societe | | | 0 | 34 | 210 | 125 | 0 | | Actif | | +| 06/08/2026 | | | | Isis_BO | | | | | | 3655 | + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Calendrier +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CAL_Planning | | 0 | 41 215 | 162 | 0 | Actif | | +| ------------ | --- | --- | ------ | --- | --- | ----- | --- | +Disposition +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| DISP_Filtre | | 0 | 211 210 | 642 | 0 | Actif | | +| ----------- | --- | --- | ------- | --- | --- | ----- | --- | +Table : FI_Agenda3.TABLE_Agenda +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_Agenda | 1233 | Actif | | Gauche Centre | | | | +Agenda +BAT ehcuoT +laitini tatE +| | | X noitisoP Y noitisoP | | | | | | +| --- | --- | --------------------- | ------- | ------- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| AGD_Rdv1 | | 218 | 172 1210 | 691 | 0 | Actif | | +| -------- | --- | --- | -------- | --- | --- | ----- | --- | +Zone répétée : FI_Agenda3.DISP_Filtre.ZR_Collaborateur +| 06/08/2026 | | | Isis_BO | | | | 3656 | +| ---------- | --- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › 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_IdCollab | 172 6 | 16 20 | 0 Actif | Gauche | Haut | | +| ------------ | ----- | ------ | ------- | ------ | ---- | --- | +| LIB_SansNom2 | 43 8 | 145 20 | 0 Actif | Gauche | Haut | | +| LIB_Sel | 150 6 | 16 20 | 0 Actif | Droite | Haut | | +| LIB_Titre | 21 3 | 146 20 | 0 Actif | Gauche | Haut | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | staté siorT | +| --- | --------------------- | --- | --- | ------------ | --- | ----------- | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| INT_Sel | 20 | 6 23 18 | 0 | Actif | 1 | | +| ------- | --- | ------- | --- | ----- | --- | --- | +Attribut zone répétée +| | | | | | laitini tatE | BAT ehcuoT | +| --- | ---------- | ---------- | --- | --- | ------------ | ---------- | +| | X noitisoP | Y noitisoP | | | | | +ruegraL ruetuaH +elbisiV +nalP +ATT_Id +ATT_Nom +ATT_Titre +ATT_sel +ATT_sel1 +Rupture de zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +RUPT_BasRupture1 +RUPT_HautRupture1 +| 06/08/2026 | | Isis_BO | | | | 3657 | +| ---------- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Zone répétée : FI_Agenda3.DISP_Filtre.ZR_Equipe +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --------------------- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_IdEquipe | 172 6 | 16 20 | 0 Actif | Gauche | Haut | | +| ------------ | ----- | ------ | ------- | ------ | ---- | --- | +| LIB_SansNom2 | 26 8 | 167 18 | 0 Actif | Gauche | Haut | | +| LIB_Titre | 28 3 | 176 20 | 0 Actif | Gauche | Haut | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | staté siorT | +| --- | --------------------- | --------------- | --- | ------------ | --- | ----------- | +| | | ruegraL ruetuaH | | | | | +elbisiV +nalP +| INT_Sel | 2 | 6 23 18 | 0 | Actif | 1 | | +| ------- | --- | ------- | --- | ----- | --- | --- | +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +ATT_Id +ATT_Nom +ATT_Sel +ATT_Titre +Rupture de zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +RUPT_BasRupture1 +RUPT_HautRupture1 +| 06/08/2026 | | Isis_BO | | | | 3658 | +| ---------- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Zone répétée : FI_Agenda3.DISP_Filtre.ZR_RdvAttente +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_Description | 0 39 | 95 76 | 0 | Actif | Gauche | Haut | | +| --------------- | ----- | ----- | --- | ----- | ------ | ---- | --- | +| LIB_Id | 73 31 | 21 20 | 0 | Actif | Gauche | Haut | | +| LIB_Titre | 0 2 | 95 36 | 0 | Actif | Centre | Haut | | +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Valide | 70 | 51 17 | 24 | 0 | Actif | Normal | | +| ---------- | --- | ----- | --- | --- | ----- | ------ | --- | +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +ATT_Description +ATT_Id +ATT_Titre +Zone répétée : FI_Agenda3.DISP_Filtre.ZR_Societe +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_IdSociete | 172 6 | 16 20 | 0 | Actif | Gauche | Haut | | +| ------------- | ----- | ------- | --- | ----- | ------ | ---- | ---- | +| LIB_SansNom2 | 26 8 | 174 18 | 0 | Actif | Gauche | Haut | | +| LIB_Titre | 28 3 | 176 20 | 0 | Actif | Gauche | Haut | | +| 06/08/2026 | | Isis_BO | | | | | 3659 | + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | staté siorT | +| --- | --------------------- | --- | --- | ------------ | ----------- | +ruetuaH +| | | ruegraL | elbisiV | | | +| --- | --- | ------- | ------- | --- | --- | +nalP +| INT_Sel | 2 6 | 23 18 | 0 | Actif | 1 | +| ------- | --- | ----- | --- | ----- | --- | +Attribut zone répétée +laitini tatE BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | +| --- | ---------- | ---------- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +ATT_Id +ATT_Nom +ATT_Sel +ATT_Titre +Rupture de zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | +| --- | ---------- | ---------- | --- | --- | ------------ | +ruegraL ruetuaH +elbisiV +nalP +RUPT_BasRupture1 +RUPT_HautRupture1 +Fenêtre : FI_Agenda3 +Fenêtre interne : FI_Agenda3 +| UI par l'utilisateur | Selon fenêtre | | | | | +| -------------------------------- | ---------------------------------- | --- | --- | --- | --- | +| Unité des tailles | Compatible desktop ET mobile | | | | | +| Taux Paral. hauteur | 0 | | | | | +| Taux Paral. Y | 0 | | | | | +| Épinglé | Non | | | | | +| Masquer lors du scrolling | Non | | | | | +| Ancrage au contenu | | | | | | +| Numéro aide | 0 | | | | | +| Thème destination | Oui | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | +| ------------------------- | ------- | ------- | --- | --- | ---- | +| Ctx. HFSQL indép. | Non | | | | | +| Ancrage | | | | | | +| 06/08/2026 | | Isis_BO | | | 3660 | + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Agenda3 +Bouton : FI_Agenda3.BTN_Afficher +Libellé FR: Afficher +Ordre navigation 15 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3661 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Bouton : FI_Agenda3.BTN_Aujourd_hui +Libellé FR: Aujourd'hui +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3662 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Bouton : FI_Agenda3.BTN_ChangeMode +Libellé FR: Mode Planning +Ordre navigation 10 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3663 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Bouton : FI_Agenda3.BTN_ChangeModeSVT +Libellé FR: Mode Suivi de temps +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3664 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Bouton : FI_Agenda3.BTN_Fermer_fiche_intervention +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3665 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Bouton : FI_Agenda3.BTN_Imprimer +Libellé FR: Imprimer +Ordre navigation 11 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3666 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Bouton : FI_Agenda3.BTN_Jour +Libellé FR: Jour +Groupe GR_Jours +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3667 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Bouton : FI_Agenda3.BTN_Mois +Libellé FR: Mois +Groupe GR_Jours +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3668 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Bouton : FI_Agenda3.BTN_PeriodePrecedente +Libellé FR: < +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Blueberries\Blueberries_Pict_PeriodPrevious_24_5.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3669 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Bouton : FI_Agenda3.BTN_PeriodeSuivante +Libellé FR: > +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Blueberries\Blueberries_Pict_PeriodNext_24_5.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3670 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Bouton : FI_Agenda3.BTN_Semaine +Libellé FR: Semaine/5j +Groupe GR_Jours +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3671 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Bouton : FI_Agenda3.BTN_Semaine1 +Libellé FR: Semaine/7j +Groupe GR_Jours +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3672 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Calendrier : FI_Agenda3.CAL_Planning +Libellé FR: Calendrier +Ordre navigation 2 +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format retour AAAAMMJJ +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Numéro semaine Non +Semaine ISO8601 Non +Texte Markdown Non +Sélection hors mois Oui +Style hors mois Oui +Jours hors mois Oui +Premier jour semaine Lundi +Bouton aujourd'hui Oui +Libellé aujourd'hui FR: aujourd'hui +Format mois FR: MMMM AAAA +Sélection de périodes Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Agenda3.DISP_Filtre +Libellé FR: Disposition +Ordre navigation 14 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 3673 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 6 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Agenda3.FRM_Bandeau_Entete +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Agenda3.IMG_Lien +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\lié.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Ascenseur et zoom auto. Non +06/08/2026 Isis_BO 3674 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Agenda3.IMG_Parametrage +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\parametresUtilisateur.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 Droite +06/08/2026 Isis_BO 3675 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Agenda3.DISP_Filtre.INT_Sel +Valeur initiale 0 +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3676 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Libellé : FI_Agenda3.LIB_Mois +Libellé FR: 20181122 +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 +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 Date +Masque saisie FR: Mmmm AAAA +Format retour AAAAMMJJ +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Agenda3.DISP_Filtre.LIB_NBRdvAttente +Libellé FR: 25 +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 3677 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Agenda3.DISP_Filtre.LIB_RdvAttente +Libellé FR: Rendez-vous en Attente +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3678 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Libellé : FI_Agenda3.LIB_Semaine +Libellé FR: Semaine X +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Agenda3.LIB_Titre_de_fenêtre +Libellé FR: Agenda +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 +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 +06/08/2026 Isis_BO 3679 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Agenda3.DISP_Filtre.LIB_Tous +Libellé FR: Tous les collaborateurs actifs +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3680 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Table : FI_Agenda3.TABLE_Agenda +Ordre navigation 13 +Curseur survol 0 +Mode Loupe Filtre +UI par l'utilisateur Selon fenêtre +Menu contextuel +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 0 +Hauteur ligne (sans marges) 695 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 Sélection simple +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 +06/08/2026 Isis_BO 3681 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Ajout/Suppr. dans variable Non +Synchro HFSQL C/S Jamais +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : FI_Agenda3.DISP_Filtre.ZR_Collaborateur +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 32 +Largeur colonne 210 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sans sélection +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +06/08/2026 Isis_BO 3682 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : FI_Agenda3.DISP_Filtre.ZR_Equipe +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 32 +Largeur colonne 210 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 3683 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sans sélection +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : FI_Agenda3.DISP_Filtre.ZR_RdvAttente +Libellé FR: &Zone répétée +Double clic BTN_Valide +Ordre navigation 1 +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 +06/08/2026 Isis_BO 3684 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Hauteur ligne max. 0 +Hauteur ligne 118 +Largeur colonne 99 +Sens Horizontal +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Rub. parcourue PL_IDStatut +Filtre 40 +Rub. mémorisée PL_PKID +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Hauteur et droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3685 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Zone répétée : FI_Agenda3.DISP_Filtre.ZR_Societe +Libellé FR: &Zone répétée +Ordre navigation 2 +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 +Hauteur ligne max. 0 +Hauteur ligne 32 +Largeur colonne 210 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sans sélection +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +06/08/2026 Isis_BO 3686 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Parcours Automatique +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Table : FI_Agenda3.TABLE_Agenda +Colonne de table : FI_Agenda3.TABLE_Agenda.COL_Agenda (1) +Titre FR: Agenda +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Champ principal AGD_Rdv1 +Coche tous dans entête Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3687 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Agenda : FI_Agenda3.TABLE_Agenda.COL_Agenda.AGD_Rdv1 +Libellé FR: Agenda +Ordre navigation 1 +Curseur survol 32512 +UI par l'utilisateur Selon fenêtre +Fenêtre Interne FI_WinDevVueRDV +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne 55 +Hauteur journée entière 35 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +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 +Mémoriser le mode Non +Édition Rdv par simple clic Non +Journée entière Non +Boutons période Jamais +Numéro semaine Non +Semaine ISO8601 Non +Affiche mois Non +Autorise chevauchement Oui +Texte Markdown Non +Mode menu ctx. +Mode Aff. Agenda Semaine +Nb. Jours 5 +FI en mode Mois Non +Granularité de déplacement 60 +Granularité de durée 60 +Masque date FR: JJJ JJ +Premier jour semaine Lundi +Chevauche rendez-vous Côte à côte +Rendez-vous redim. Oui +Rendez-vous déplaçable Oui +Heure visible début 0700 +Heure visible fin 1900 +Heure ouvrable début 0800 +Heure ouvrable fin 1800 +Sélection de périodes Oui +Hauteur heure fixe Non +Réglette modifiable Oui +Réglette visible Non +Source de remplissage Mémoire +Nb. Enreg. Max -1 +06/08/2026 Isis_BO 3688 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Suppr. dans source Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : FI_Agenda3.DISP_Filtre.ZR_Collaborateur +Attribut zone répétée : FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_Id (3) +Champ associé LIB_IdCollab +Propriété associée 1 +Attribut zone répétée : FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_Nom (1) +Champ associé LIB_SansNom2 +Propriété associée 1 +Attribut zone répétée : FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_Titre (2) +Champ associé LIB_Titre +Propriété associée 1 +Attribut zone répétée : FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_sel (4) +Champ associé LIB_Sel +Propriété associée 1 +06/08/2026 Isis_BO 3689 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Attribut zone répétée : FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_sel1 (5) +Champ associé INT_Sel +Propriété associée 1 +Interrupteur : FI_Agenda3.DISP_Filtre.ZR_Collaborateur.INT_Sel +Valeur initiale 0 +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3690 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Libellé : FI_Agenda3.DISP_Filtre.ZR_Collaborateur.LIB_IdCollab +Libellé FR: id +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Agenda3.DISP_Filtre.ZR_Collaborateur.LIB_SansNom2 +Libellé FR: Libellé +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 +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 +06/08/2026 Isis_BO 3691 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Agenda3.DISP_Filtre.ZR_Collaborateur.LIB_Sel +Libellé FR: Sel +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 +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 Numérique +Masque saisie FR: MoneySystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3692 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Libellé : FI_Agenda3.DISP_Filtre.ZR_Collaborateur.RUPT_HautRupture1.LIB_Titre +Libellé FR: Vos collaborateurs +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : FI_Agenda3.DISP_Filtre.ZR_Collaborateur.RUPT_BasRupture1 +Toujours visible Non +Attribut de rupture 1 +06/08/2026 Isis_BO 3693 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Rupture de zone répétée : +Toujours visible Oui +Attribut de rupture 1 +Zone répétée : FI_Agenda3.DISP_Filtre.ZR_Equipe +Attribut zone répétée : FI_Agenda3.DISP_Filtre.ZR_Equipe.ATT_Id (3) +Champ associé LIB_IdEquipe +Propriété associée 1 +Attribut zone répétée : FI_Agenda3.DISP_Filtre.ZR_Equipe.ATT_Nom (1) +Champ associé LIB_SansNom2 +Propriété associée 1 +Attribut zone répétée : FI_Agenda3.DISP_Filtre.ZR_Equipe.ATT_Sel (4) +Champ associé INT_Sel +Propriété associée 1 +Attribut zone répétée : FI_Agenda3.DISP_Filtre.ZR_Equipe.ATT_Titre (2) +Champ associé LIB_Titre +Propriété associée 1 +Interrupteur : FI_Agenda3.DISP_Filtre.ZR_Equipe.INT_Sel +Valeur initiale 0 +Ordre navigation 1 +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 +06/08/2026 Isis_BO 3694 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Ancrage au contenu +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 Toute la hauteur de l'option +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. +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Agenda3.DISP_Filtre.ZR_Equipe.LIB_IdEquipe +Libellé FR: id +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 +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 +06/08/2026 Isis_BO 3695 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Agenda3.DISP_Filtre.ZR_Equipe.LIB_SansNom2 +Libellé FR: Libellé +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3696 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Libellé : FI_Agenda3.DISP_Filtre.ZR_Equipe.RUPT_HautRupture1.LIB_Titre +Libellé FR: Vos équipes +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : FI_Agenda3.DISP_Filtre.ZR_Equipe.RUPT_BasRupture1 (6) +Toujours visible Non +Attribut de rupture 1 +06/08/2026 Isis_BO 3697 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Rupture de zone répétée : FI_Agenda3.DISP_Filtre.ZR_Equipe.RUPT_HautRupture1 (5) +Toujours visible Oui +Attribut de rupture 1 +Zone répétée : FI_Agenda3.DISP_Filtre.ZR_RdvAttente +Attribut zone répétée : FI_Agenda3.DISP_Filtre.ZR_RdvAttente.ATT_Description (2) +Champ associé LIB_Description +Propriété associée 1 +Liaison des données Planning_RDV.PL_IDIntervention:Intervention.IN_PKID.IN_RefInterne +Attribut zone répétée : FI_Agenda3.DISP_Filtre.ZR_RdvAttente.ATT_Id (3) +Champ associé LIB_Id +Propriété associée 1 +Liaison des données Planning_RDV.PL_PKID +Attribut zone répétée : FI_Agenda3.DISP_Filtre.ZR_RdvAttente.ATT_Titre (1) +Champ associé LIB_Titre +Propriété associée 1 +Liaison des données Planning_RDV.PL_IDDossier:Dossier.DO_PKID.DO_Titre +Bouton : FI_Agenda3.DISP_Filtre.ZR_RdvAttente.BTN_Valide +Libellé FR: V +Ordre navigation 1 +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 +Retrait gauche 0 +06/08/2026 Isis_BO 3698 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Image fond FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Blueberries\Blueberries_Btn_Std.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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Agenda3.DISP_Filtre.ZR_RdvAttente.LIB_Description +Libellé FR: Description +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 +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 +Unicode Non +Transforme le & Non +06/08/2026 Isis_BO 3699 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › 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 +Mise à blanc Oui +Texte Markdown Non +Liaison des données Planning_RDV.PL_IDIntervention:Intervention.IN_PKID.IN_RefInterne +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Agenda3.DISP_Filtre.ZR_RdvAttente.LIB_Id +Libellé FR: Id +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 +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 +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 +Liaison des données Planning_RDV.PL_PKID +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3700 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Libellé : FI_Agenda3.DISP_Filtre.ZR_RdvAttente.LIB_Titre +Libellé FR: Titre +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 +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 +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 +Liaison des données Planning_RDV.PL_IDDossier:Dossier.DO_PKID.DO_Titre +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : FI_Agenda3.DISP_Filtre.ZR_Societe +Attribut zone répétée : FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Id (3) +Champ associé LIB_IdSociete +Propriété associée 1 +06/08/2026 Isis_BO 3701 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Attribut zone répétée : FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Nom (1) +Champ associé LIB_SansNom2 +Propriété associée 1 +Attribut zone répétée : FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Sel (4) +Champ associé INT_Sel +Propriété associée 1 +Attribut zone répétée : FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Titre (2) +Champ associé LIB_Titre +Propriété associée 1 +Interrupteur : FI_Agenda3.DISP_Filtre.ZR_Societe.INT_Sel +Valeur initiale 0 +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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 +06/08/2026 Isis_BO 3702 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Option format RTF Non +Texte Markdown Non +Mode menu ctx. +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Agenda3.DISP_Filtre.ZR_Societe.LIB_IdSociete +Libellé FR: id +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3703 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Libellé : FI_Agenda3.DISP_Filtre.ZR_Societe.LIB_SansNom2 +Libellé FR: Libellé +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Agenda3.DISP_Filtre.ZR_Societe.RUPT_HautRupture1.LIB_Titre +Libellé FR: Vos sociétés +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 +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 +06/08/2026 Isis_BO 3704 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : FI_Agenda3.DISP_Filtre.ZR_Societe.RUPT_BasRupture1 (6) +Toujours visible Non +Attribut de rupture 1 +Rupture de zone répétée : FI_Agenda3.DISP_Filtre.ZR_Societe.RUPT_HautRupture1 (5) +Toujours visible Oui +Attribut de rupture 1 +FI_Agenda3 +Messages multilingues +06/08/2026 Isis_BO 3705 +¹ +.ssem +°N +Message +2000 FR: Semaine %1 +¹ N° mess. : numéro de message. + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Code des champs +FI_Agenda3 +Code des champs +Déclarations globales de FI_Agenda3 +procédure FI_Agenda3(gclPresentationFicheAgd est un PTableRDV dynamique=Null, +paramSupplementaire est un STParamFenetreAppelante=Null) +maProcMAJObjetRetourFI est une procédure = MAJObjetRetourFI +gclPresenFicheRDV est un PFicheRdv dynamique +gnModeRDV est un entier=0 //gnModeRDV=0 en Modification de RDV - gnModeRDV=1 en Création de RDV +gnIndiceRDV est un entier +gsChoixZR est une chaîne +gsDateJour est une Date=DateDuJour() +gsDateJour..Jour-=15 +gsdateInf est une Date= gsDateJour +gsDateJour..Jour+=20 +gsdateSup est une Date= gsDateJour +ghHDO,ghHFO sont des Heures +ghHDV,ghHFV sont des Heures +(ghHDO,ghHFO) = gpclFicheUtilisateurEnCours:HeuresOuvrablesRDV() +(ghHDV,ghHFV) = gpclFicheUtilisateurEnCours:HeuresVisiblesRDV() +si HSurveille(Planning_RDV,MAJHSurveille,hNumEnrTous,hsAjout+hsModification)= Faux alors +Erreur("Impossible d'activer la surveillance : ", HErreurInfo()) +fin +//ZoneRépétéeEnrouleTout(ZR_Collaborateur) +local +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +//SI gclPresentationFicheAgd=Null ALORS +// gclPresentationFicheAgd=PTableRDV.gNouvellePresentation() +//FIN +Charge_ZR() +ChargeAgendaCollab() +COL_Agenda..Visible=Faux +si TableOccurrence(TABLE_Agenda)=0 +TableAjouteLigne(TABLE_Agenda,1,1) +fin +BTN_Semaine..Enfoncé=Vrai +CreaJourFerie() +//Code permmettant de pointer sur un rendez-vous en particulier depuis la fiche intervention +//sNomColonne est une chaine +//sNomColAgenda est une chaîne +//nIndiceRdv est un entier +//tabRdv est un tableau de RendezVous +//sNomColonne est une chaîne +//sNomColAgenda est une chaîne +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.sNomIDAppelant<>"" alors +selon paramSupplementaire.sNomIDAppelant +cas "InterventionRendezVous" : +TABLE_Agenda..AffichageActif=Faux +ChargeRDVDossier() +//RafraichissementFiche(paramSupplementaire) +TABLE_Agenda..AffichageActif=Vrai +cas "InterventionAjouteRendezVous" +TABLE_Agenda..AffichageActif=Faux +ChargeSocieteIntervention() +06/08/2026 Isis_BO 3706 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Code des champs +RempliAgenda(gsdateInf,gsdateSup) +TABLE_Agenda..AffichageActif=Vrai +autre cas +TABLE_Agenda..AffichageActif=Faux +RempliAgenda(gsdateInf,gsdateSup) +TABLE_Agenda..AffichageActif=Vrai +fin +fin +ChargerRdvEnAttente() +si paramSupplementaire.pclObjetAppelant=Null ou paramSupplementaire.sNomIDAppelant= +"InterventionAjouteRendezVous" et OngletEtat(FEN_Menu.ONG_FENETRE,"FI_Planning")<>voletInexistant alors +OngletFerme(FEN_Menu.ONG_FENETRE,"FI_Planning") +// ChargeParametresPlanning() +RempliAgenda(gsdateInf,gsdateSup) +sinon +si paramSupplementaire.sNomIDAppelant<> "InterventionRendezVous" alors +RempliAgenda(gsdateInf,gsdateSup) +ChangeZRModeCollab() +fin +fin +BTN_ChangeModeSVT..Visible = DonneDroitParamAppli(cParam_SuiviTempsAgd) +Fin d'initialisation de FI_Agenda3 +si ZR_RdvAttente..Occurrence=0 alors +DISP_Filtre[1]..Visible=Faux +sinon +DISP_Filtre[1]..Visible=Vrai +fin +LIB_NBRdvAttente=ZR_RdvAttente..Occurrence +//SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.sNomIDAppelant<>"" ALORS +// Si paramSupplementaire.sNomIDAppelant = "InterventionRendezVous" alors +// ExécuteTraitement(FI_Agenda3.BTN_Afficher,trtClic) +// FIN +//FIN +Demande de mise à jour de l'affichage de FI_Agenda3 +si OngletEtat(FEN_Menu.ONG_FENETRE,"FI_Planning")<>voletInexistant alors +OngletFerme(FEN_Menu.ONG_FENETRE,"FI_Planning") +fin +//SourceVersEcran() +Clic sur BTN_Afficher +Sablier() +TABLE_Agenda..AffichageActif=Faux +RempliAgenda(gsdateInf,gsdateSup) +ChangeZRModeCollab() +Enregistre_Preferences_Planning(gpclFicheUtilisateurEnCours.m_nPKID) +TABLE_Agenda..AffichageActif=Vrai +BTN_Afficher..Enfoncé= Faux +Sablier(Faux) +Clic sur BTN_Aujourd_hui +06/08/2026 Isis_BO 3707 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Code des champs +Sablier() +sUneColonne est une chaîne +sAgendaColonne est une chaîne +pour nColonne = 1 _à_ TableOccurrence(TABLE_Agenda, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_Agenda, nColonne) +sAgendaColonne=sUneColonne+".AGD_Rdv1" +AgendaChangeMode(sAgendaColonne,agzJour) +AgendaPosition(sAgendaColonne,DateDuJour()) +fin +TableAffiche(TABLE_Agenda,1) +Charge_ChangementPeriode() +//Mise à jour de bouton +BTN_Jour..Enfoncé =Faux +BTN_Mois..Enfoncé =Faux +BTN_Semaine..Enfoncé =Faux +BTN_Semaine1..Enfoncé =Faux +BTN_Aujourd_hui..Enfoncé =Vrai +Sablier(Faux) +Clic sur BTN_ChangeMode +//Sablier() +//FEN_Menu.OuvreOuActive(FI_Planning,"Planning") +//Sablier(Faux) +Sablier() +si paramSupplementaire.pclObjetAppelant<>Null alors +si paramSupplementaire.sNomIDAppelant="InterventionAjouteRendezVous" +FEN_Menu.OuvreOuActive(FI_Planning,"Planning",Vrai,*,DonneParam(DansOnglet,"FI_Agenda3",MoiMême +..Nom,maProcMAJObjetRetourFI,"","InterventionAjouteRendezVous",*,paramSupplementaire.pcl +ObjetAppelant)) +sinon si paramSupplementaire.sNomIDAppelant="InterventionRendezVous" +FEN_Menu.OuvreOuActive(FI_Planning,"Planning",Vrai,*,DonneParam(DansOnglet,"FI_Agenda3",MoiMême +..Nom,maProcMAJObjetRetourFI,"","InterventionRendezVous",*,paramSupplementaire.pclObjetAppelant +)) +fin +sinon +FEN_Menu.OuvreOuActive(FI_Planning,"Planning") +fin +Sablier(Faux) +Clic sur BTN_ChangeModeSVT +//Sablier() +//FEN_Menu.OuvreOuActive(FI_Planning,"Planning") +//Sablier(Faux) +Sablier() +FEN_Menu.OuvreOuActive(FI_Agenda_Suivi_Temps,"Suivi de temps") +Sablier(Faux) +Clic sur BTN_Fermer_fiche_intervention +FermeVoletEtActiveLePrecedent(VoletDuChamp(DISP_Filtre)) +Clic sur BTN_Imprimer +//POUR nColonne = 1 _A_ TableOccurrence(TABLE_Agenda, toColonne) +// +//FIN +// +// +// AgendaChangeMode(sAgendaColonne,agzSemaine) +//FIN +06/08/2026 Isis_BO 3708 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Code des champs +sListeIdCollabSelect est une chaîne +pour tout ligne de ZR_Collaborateur +si ZR_Collaborateur.ATT_sel1=1 alors +sListeIdCollabSelect+=[";"]+ZR_Collaborateur.ATT_Id +fin +fin +pclListeCollabSelect est un PTableCollaborateur dynamique=PTableCollaborateur.gNouvellePresentation(7, +sListeIdCollabSelect) +IdCollabSelect est une chaîne +IdCollabSelect=OuvrePopupPosition(FEN_Choix_Impression_Agenda,poBas,pclListeCollabSelect,DonneParam( +DansFenetre,"FI_Agenda3",MoiMême..Nom,maProcMAJObjetRetourFI,"Choix Agenda à imprimer","choixagenda",*, +pclListeCollabSelect,Vrai)) +//nIndiceCol est un entier = TableSelect(TABLE_Agenda,1,tsColonne) +sUneColonne est une chaîne="COL_"+IdCollabSelect +sAgendaColonne est une chaîne +si IdCollabSelect<>"" alors +// sUneColonne = TableEnumèreColonne(TABLE_Agenda, nIndiceCol) +sAgendaColonne=sUneColonne+".AGD_Rdv1" +si AgendaMode(sAgendaColonne) dans (agzSemaine,agzSemaineSur5,agzMois,agzJour) alors +dDateDebutAgenda est une Date = AgendaPosition(sAgendaColonne,agDateDébut) +dDateFinAgenda est une Date = AgendaPosition(sAgendaColonne,agDateFin) +tabRdv est un tableau de RendezVous +clRdvPlus est un MTableauDeRDV +tabRdv = AgendaListeRendezVous(sAgendaColonne,dDateDebutAgenda,dDateFinAgenda) +si tabRdv..occurrence<>0 alors +pour tout unRdv de tabRdv +nIndice est un entier +nIndice=TableauCherche(gclPresentationFicheAgd.m_clTabModele,tcLinéaire,"m_nPKID",unRdv.ID +,1) +si nIndice>0 alors +clRdv est MRdv +clRdv = gclPresentationFicheAgd.m_clTabModele[nIndice] +TableauAjoute(clRdvPlus:m_clTabModele,clRdv) +//gclPresentation.p_clCourant=gclPresentation:m_clTabModele[nIndice] +fin +fin +FEN_Menu.AffichageActif = Faux +iAperçu(i100) +iImprimeEtat(ETAT_Agenda_Collaborateur,clRdvPlus,AgendaMode(sAgendaColonne)) +FEN_Menu.AffichageActif = Vrai +sinon +Erreur("Pas de rendez-vous lié à ce collaborateur pour la période sélectionnée") +retour +fin +sinon +Erreur("Veuillez choisir le mode semaine") +fin +sinon +Erreur("Veuillez sélectionner un collaborateur") +fin +Initialisation de BTN_Jour +//// ajoute la procédure de MAJ du bouton "Jour" +// PROCÉDURE INTERNE MAJBtn_Jour() +// POUR i= 1 _A_ ZR_AgendaRessource..Occurrence +// BTN_Jour..Enfoncé=AgendaMode(ZR_AgendaRessource[i].ONG_Ressource1.AGD_Rdv)=agzJour +// FIN +//FIN +//POUR i= 1 _A_ ZR_AgendaRessource..Occurrence +//ZR_AgendaRessource[i].ONG_Ressource1.AGD_Rdv..Traitement[trtChangementPériodeAgenda]+=MAJBtn_Jour +//fin +Clic sur BTN_Jour +06/08/2026 Isis_BO 3709 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Code des champs +Sablier() +sUneColonne est une chaîne +sAgendaColonne est une chaîne +pour nColonne = 1 _à_ TableOccurrence(TABLE_Agenda, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_Agenda, nColonne) +sAgendaColonne=sUneColonne+".AGD_Rdv1" +AgendaChangeMode(sAgendaColonne,agzJour) +fin +TableAffiche(TABLE_Agenda,1) +//Charge_ChangementPeriode() +//Mise à jour de bouton +BTN_Jour..Enfoncé = Vrai +BTN_Mois..Enfoncé=Faux +BTN_Semaine..Enfoncé=Faux +BTN_Semaine1..Enfoncé=Faux +BTN_Aujourd_hui..Enfoncé = Faux +Sablier(Faux) +Initialisation de BTN_Mois +// PROCÉDURE INTERNE MAJBtnMois() +// BTN_Mois..Enfoncé=AgendaMode(AGD_Rdv)=agzMois +// FIN +//AGD_Rdv..Traitement[trtChangementPériodeAgenda]+=MAJBtnMois +Clic sur BTN_Mois +Sablier() +sUneColonne est une chaîne +sAgendaColonne est une chaîne +sDateSel est une chaîne=CalendrierSelect(CAL_Planning) +pour nColonne = 1 _à_ TableOccurrence(TABLE_Agenda, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_Agenda, nColonne) +sAgendaColonne=sUneColonne+".AGD_Rdv1" +AgendaChangeMode(sAgendaColonne,agzMois) +fin +TableAffiche(TABLE_Agenda,1) +si BTN_Mois..Enfoncé=Vrai alors +LIB_Semaine="" +sinon +d est une Date = CalendrierSelect(CAL_Planning) +LIB_Semaine=ChaîneConstruit("Semaine %1", DateVersNuméroDeSemaine(d)) +fin +CalendrierSelectPlus(CAL_Planning,sDateSel) +Charge_ChangementPeriode() +LIB_Mois=CalendrierSelect(CAL_Planning) +//Mise à jour de bouton +BTN_Jour..Enfoncé = Faux +BTN_Mois..Enfoncé =Vrai +BTN_Semaine..Enfoncé =Faux +BTN_Semaine1..Enfoncé =Faux +BTN_Aujourd_hui..Enfoncé = Faux +Sablier(Faux) +Clic sur BTN_PeriodePrecedente +Sablier() +//POUR i= 1 _A_ ZR_AgendaRessource..Occurrence +// AgendaAffichePériodePrécédente(ZR_AgendaRessource[i].ONG_Ressource1.AGD_Rdv) +// ZoneRépétéeAffiche(ZR_AgendaRessource,i) +//FIN +06/08/2026 Isis_BO 3710 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Code des champs +//SI BTN_Mois..Enfoncé=Vrai ALORS +// LIB_Semaine="" +//SINON +// d est une date = CalendrierSelect(CAL_Planning) +// LIB_Semaine=ChaîneConstruit("Semaine %1", DateVersNuméroDeSemaine(d)) +//FIN +//LIB_Mois=CalendrierSelect(CAL_Planning) +sUneColonne est une chaîne +sAgendaColonne est une chaîne +dAncienneDate est une Date=CalendrierSelect(CAL_Planning) +pour nColonne = 1 _à_ TableOccurrence(TABLE_Agenda, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_Agenda, nColonne) +sAgendaColonne=sUneColonne+".AGD_Rdv1" +AgendaAffichePériodePrécédente(sAgendaColonne) +fin +TableAffiche(TABLE_Agenda,1) +si BTN_Mois..Enfoncé=Vrai alors +LIB_Semaine="" +dAncienneDate..Mois-=1 +dAncienneDate..Jour=1 +sinon +d est une Date = CalendrierSelect(CAL_Planning) +LIB_Semaine=ChaîneConstruit("Semaine %1", DateVersNuméroDeSemaine(d)) +fin +Charge_ChangementPeriode() +//CalendrierSelectPlus(CAL_Planning,dAncienneDate) +LIB_Mois=CalendrierSelect(CAL_Planning) +Sablier(Faux) +Clic sur BTN_PeriodeSuivante +// +//POUR i= 1 _A_ ZR_AgendaRessource..Occurrence +// AgendaAffichePériodeSuivante(ZR_AgendaRessource[i].ONG_Ressource1.AGD_Rdv) +// ZoneRépétéeAffiche(ZR_AgendaRessource,i) +//FIN +//SI BTN_Mois..Enfoncé=Vrai ALORS +// LIB_Semaine="" +//SINON +// d est une date = CalendrierSelect(CAL_Planning) +// LIB_Semaine=ChaîneConstruit("Semaine %1", DateVersNuméroDeSemaine(d)) +//FIN +//LIB_Mois=CalendrierSelect(CAL_Planning) +Sablier() +sUneColonne est une chaîne +sAgendaColonne est une chaîne +dAncienneDate est une Date=CalendrierSelect(CAL_Planning) +pour nColonne = 1 _à_ TableOccurrence(TABLE_Agenda, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_Agenda, nColonne) +sAgendaColonne=sUneColonne+".AGD_Rdv1" +AgendaAffichePériodeSuivante(sAgendaColonne) +fin +TableAffiche(TABLE_Agenda,1) +si BTN_Mois..Enfoncé=Vrai alors +LIB_Semaine="" +dAncienneDate..mois+=1 +dAncienneDate..Jour=1 +sinon +d est une Date = CalendrierSelect(CAL_Planning) +LIB_Semaine=ChaîneConstruit("Semaine %1", DateVersNuméroDeSemaine(d)) +06/08/2026 Isis_BO 3711 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Code des champs +dAncienneDate=COL_Agenda.AGD_Rdv1.Position() +fin +Charge_ChangementPeriode() +//CalendrierSelectPlus(CAL_Planning,dAncienneDate) +LIB_Mois=CalendrierSelect(CAL_Planning) +Sablier(Faux) +Initialisation de BTN_Semaine +// +// PROCÉDURE INTERNE MAJBtnSemaine() +// BTN_Semaine..Enfoncé=AgendaMode(AGD_Rdv)=agzSemaine +// FIN +//AGD_Rdv..Traitement[trtChangementPériodeAgenda]+=MAJBtnSemaine +Clic sur BTN_Semaine +Sablier() +sUneColonne est une chaîne +sAgendaColonne est une chaîne +pour nColonne = 1 _à_ TableOccurrence(TABLE_Agenda, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_Agenda, nColonne) +sAgendaColonne=sUneColonne+".AGD_Rdv1" +AgendaChangeMode(sAgendaColonne,agzSemaineSur5) +fin +TableAffiche(TABLE_Agenda,1) +//Charge_ChangementPeriode() +//Mise à jour de bouton +BTN_Jour..Enfoncé = Faux +BTN_Mois..Enfoncé =Faux +BTN_Semaine..Enfoncé =Vrai +BTN_Semaine1..Enfoncé =Faux +BTN_Aujourd_hui..Enfoncé = Faux +Sablier(Faux) +Initialisation de BTN_Semaine1 +// +// PROCÉDURE INTERNE MAJBtnSemaine() +// BTN_Semaine..Enfoncé=AgendaMode(AGD_Rdv)=agzSemaine +// FIN +//AGD_Rdv..Traitement[trtChangementPériodeAgenda]+=MAJBtnSemaine +Clic sur BTN_Semaine1 +Sablier() +sUneColonne est une chaîne +sAgendaColonne est une chaîne +pour nColonne = 1 _à_ TableOccurrence(TABLE_Agenda, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_Agenda, nColonne) +sAgendaColonne=sUneColonne+".AGD_Rdv1" +AgendaChangeMode(sAgendaColonne,agzSemaine) +fin +TableAffiche(TABLE_Agenda,1) +//Charge_ChangementPeriode() +//Mise à jour de bouton +BTN_Jour..Enfoncé = Faux +06/08/2026 Isis_BO 3712 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Code des champs +BTN_Mois..Enfoncé =Faux +BTN_Semaine..Enfoncé =Faux +BTN_Semaine1..Enfoncé =Vrai +BTN_Aujourd_hui..Enfoncé = Faux +Sablier(Faux) +Sélection d'un jour dans CAL_Planning +Sablier() +// +//POUR i= 1 _A_ ZR_AgendaRessource..Occurrence +// AgendaPosition(ZR_AgendaRessource[i].ONG_Ressource1.AGD_Rdv, CalendrierSelect(CAL_Planning)) +// ZoneRépétéeAffiche(ZR_AgendaRessource,i) +//FIN +//LIB_Mois=CalendrierSelect(CAL_Planning) +//SI BTN_Mois..Enfoncé=Vrai ALORS +// LIB_Semaine="" +//SINON +// d est une date = CalendrierSelect(CAL_Planning) +// LIB_Semaine=ChaîneConstruit("Semaine %1", DateVersNuméroDeSemaine(d)) +//FIN +sUneColonne est une chaîne +sAgendaColonne est une chaîne +pour nColonne = 1 _à_ TableOccurrence(TABLE_Agenda, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_Agenda, nColonne) +sAgendaColonne=sUneColonne+".AGD_Rdv1" +AgendaPosition(sAgendaColonne,CalendrierSelect(CAL_Planning)) +fin +TableAffiche(TABLE_Agenda,1) +LIB_Mois=CalendrierSelect(CAL_Planning) +si BTN_Mois..Enfoncé=Vrai alors +LIB_Semaine="" +sinon +d est une Date = CalendrierSelect(CAL_Planning) +LIB_Semaine=ChaîneConstruit("Semaine %1", DateVersNuméroDeSemaine(d)) +fin +Charge_ChangementPeriode() +Sablier(Faux) +A chaque modification de INT_Sel +gsChoixZR="Tous" +si INT_Sel=1 alors +ZR_Societe..Etat=Grisé +ZR_Equipe..Etat=Grisé +ChangeZRModeTous() +sinon +ZR_Societe..Etat=Actif +ZR_Equipe..Etat=Actif +ChangeZRModeEquipe() +fin +//Enregistre_Preferences_Planning(gpclFicheUtilisateurEnCours.m_nPKID) +A chaque modification de INT_Sel ( ZR_Collaborateur ) +//ZR_Collaborateur..AffichageActif=Faux +//TABLE_Agenda..AffichageActif=Faux +gsChoixZR="Collaborateur" +//RempliAgenda(gsdateInf,gsdateSup) +//ChangeZRModeCollab() +//Enregistre_Preferences_Planning(gpclFicheUtilisateurEnCours.m_nPKID) +//TABLE_Agenda..AffichageActif=vrai +//ZR_Collaborateur..AffichageActif=vrai +A chaque modification de INT_Sel ( ZR_Equipe ) +06/08/2026 Isis_BO 3713 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Code des champs +Sablier() +ZR_Equipe..AffichageActif=Faux +gsChoixZR="Equipe" +//TABLE_Agenda..AffichageActif=Faux +ChangeZRModeEquipe() +//Enregistre_Preferences_Planning(gpclFicheUtilisateurEnCours.m_nPKID) +ZR_Equipe..AffichageActif=Vrai +//TABLE_Agenda..AffichageActif=Vrai +Sablier(Faux) +Clic sur BTN_Valide ( ZR_RdvAttente ) +clPresentation est une PTableRDV dynamique =Null +clPresentation=PTableRDV.gNouvellePresentation(2,ATT_Id,-1,-1) +clPresentation.p_clCourant=clPresentation:m_clTabModele[1] +clPresentationFiche est un PFicheRdv <- clPresentation.Modifier() +//ChangeFenêtreSource(CFI_RDV,FI_Fiche_Rdv,clPresentationFiche,DonneParam(DansChampFI,"FI_Agenda3",MoiM +ême..Nom,maProcMAJObjetRetourFI,"Modification d'un Rendez-vous","Modifier")) +Ouvre(FEN_Fiche_RDV_F,clPresentationFiche,DonneParam(DansChampFI,"FI_Agenda3",MoiMême..Nom, +maProcMAJObjetRetourFI,"Modification d'un Rendez-vous","Modifier")) +//FI_Agenda3..Plan=1 +//DonneFocus(CFI_RDV) +A chaque modification de INT_Sel ( ZR_Societe ) +Sablier() +ZR_Societe..AffichageActif=Faux +gsChoixZR="Société" +//TABLE_Agenda..AffichageActif=Faux +ChangeZRModeSociete2() +//Enregistre_Preferences_Planning(gpclFicheUtilisateurEnCours.m_nPKID) +ZR_Societe..AffichageActif=Vrai +//TABLE_Agenda..AffichageActif=Vrai +Sablier(Faux) +Clic sur IMG_Parametrage +si Ouvre(FEN_Parametres_Granularite_RDV) alors +nGranularite est un entier = gpclFicheUtilisateurEnCours:GranulariteRDV() +(ghHDO,ghHFO) = gpclFicheUtilisateurEnCours:HeuresOuvrablesRDV() +(ghHDV,ghHFV) = gpclFicheUtilisateurEnCours:HeuresVisiblesRDV() +sNomColonne , sNomColAgenda sont des chaînes ANSI +pour nColonne = 1 _à_ TableOccurrence(TABLE_Agenda, toColonne) +sNomColonne = TableEnumèreColonne(TABLE_Agenda, nColonne) +sNomColAgenda = sNomColonne+".AGD_Rdv1" +{sNomColAgenda}..GranularitéDurée = nGranularite +{sNomColAgenda}..GranularitéDéplacement = nGranularite +{sNomColAgenda}..HeureOuvrableDébut = ghHDO +{sNomColAgenda}..HeureOuvrableFin = ghHFO +AgendaHeureAffichée({sNomColAgenda},ghHDV,ghHFV) +fin +fin +Initialisation de LIB_Mois +// Procédure interne MAJLibMois() +06/08/2026 Isis_BO 3714 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Code des champs +// d est une date=AgendaPosition(ZR_AgendaRessource[1].ONG_Ressource1.AGD_Rdv) +// // en mode mois, le moi a afficher est le mois qui correspond au milieu de la période +// // on ajoute donc 15 jours a la première date +// SI AgendaMode(ZR_AgendaRessource[1].ONG_Ressource1.AGD_Rdv)=agzMois ALORS d..Jour+=15 +// LIB_Mois=d +// fin +// ZR_AgendaRessource[1].ONG_Ressource1.AGD_Rdv..Traitement[trtChangementPériodeAgenda]+=MAJLibMois +LIB_Mois=CalendrierSelect(CAL_Planning) +Initialisation de LIB_Semaine +si BTN_Mois..Enfoncé=Vrai alors +LIB_Semaine="" +sinon +d est une Date = CalendrierSelect(CAL_Planning) +LIB_Semaine=ChaîneConstruit("Semaine %1", DateVersNuméroDeSemaine(d)) +fin +Initialisation de AGD_Rdv1 ( COL_Agenda ) +si Val(gpclFicheUtilisateurEnCours:GranulariteRDV()) > 0 alors +MoiMême..GranularitéDurée = Val(gpclFicheUtilisateurEnCours:GranulariteRDV()) +MoiMême..GranularitéDéplacement = Val(gpclFicheUtilisateurEnCours:GranulariteRDV()) +MoiMême..HeureOuvrableDébut = ghHDO +MoiMême..HeureOuvrableFin = ghHFO +AgendaHeureAffichée(MoiMême,ghHDV,ghHFV) +fin +Avant création du rendez-vous dans AGD_Rdv1 ( COL_Agenda ) +procédure AvantCréation(rdvCréé est un RendezVous) +nCompteur est un entier +nIdSociete est un entier sur 8 octets +pour tout ligne de ZR_Societe +si FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Sel=1 alors +nCompteur++ +nIdSociete=Val(FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Id) +fin +fin +si paramSupplementaire.sNomIDAppelant="InterventionAjouteRendezVous" alors +sNomcolonne est une chaîne=TableEnumèreColonne(TABLE_Agenda, ColonneEnCours(TABLE_Agenda)) +sNomcolonne=ExtraitChaîne(sNomcolonne,2,"_",DepuisDébut) +paramSupplementaire.pclObjetAppelant.m_bNouveau=Vrai +paramSupplementaire.pclObjetAppelant.m_dhDateDebut=rdvCréé.DateDébut +paramSupplementaire.pclObjetAppelant.m_dhDateFin=rdvCréé.DateFin +paramSupplementaire.pclObjetAppelant.m_nCreationUser= gpclFicheUtilisateurEnCours.m_nPKID +paramSupplementaire.pclObjetAppelant.m_nModifUser=gpclFicheUtilisateurEnCours.m_nPKID +paramSupplementaire.pclObjetAppelant.m_nIDCollaborateur=Val(sNomcolonne) +pour tout ParametreMetier avec PA_Code=14 +si ParametreMetier.PA_Valeur="1" alors +paramSupplementaire.pclObjetAppelant.m_nIDTypeActivite=ParametreMetier.PA_PKID +fin +fin +//ChangeFenêtreSource(CFI_RDV,FI_Fiche_Rdv,paramSupplementaire.pclObjetAppelant,DonneParam(DansChampFI, +"FI_Agenda3",MoiMême..Nom,maProcMAJObjetRetourFI,"Création d'un Rendez-vous","Nouveau")) +//FI_Agenda3..Plan=1 +//DonneFocus(CFI_RDV) +Ouvre(FEN_Fiche_RDV_F,paramSupplementaire.pclObjetAppelant,DonneParam(DansChampFI,"FI_Agenda3",MoiMême. +.Nom,maProcMAJObjetRetourFI,"Création d'un Rendez-vous","Nouveau")) +gnModeRDV=1 +//ExécuteTraitement(FI_Agenda3.BTN_Afficher,trtClic) +sinon +06/08/2026 Isis_BO 3715 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Code des champs +sNomcolonne est une chaîne=TableEnumèreColonne(TABLE_Agenda, ColonneEnCours(TABLE_Agenda)) +sNomcolonne=ExtraitChaîne(sNomcolonne,2,"_",DepuisDébut) +clPresentationFiche est un PFicheRdv<-gclPresentationFicheAgd.Nouveau() +clPresentationFiche.m_bNouveau=Vrai +si nCompteur=1 alors +clPresentationFiche.m_nIDSociete=nIdSociete +fin +clPresentationFiche.m_dhDateDebut=rdvCréé.DateDébut +clPresentationFiche.m_dhDateFin=rdvCréé.DateFin +clPresentationFiche.m_nCreationUser= gpclFicheUtilisateurEnCours.m_nPKID +clPresentationFiche.m_nModifUser=gpclFicheUtilisateurEnCours.m_nPKID +clPresentationFiche.m_nIDCollaborateur=Val(sNomcolonne) +pour tout ParametreMetier avec PA_Code=14 +si ParametreMetier.PA_Valeur="1" alors +clPresentationFiche.m_nIDTypeActivite=ParametreMetier.PA_PKID +fin +fin +//gclPresentation.p_clCourant=clPresentationFiche:p_clCourant +//gclPresentation.p_clCourant.m_dhDateDebut=rdvCréé.DateDébut +//ChangeFenêtreSource(CFI_RDV,FI_Fiche_Rdv,clPresentationFiche,DonneParam(DansChampFI,"FI_Agenda3",MoiM +ême..Nom,maProcMAJObjetRetourFI,"Création d'un Rendez-vous","Nouveau")) +//FI_Agenda3..Plan=1 +//DonneFocus(CFI_RDV) +Ouvre(FEN_Fiche_RDV_F,clPresentationFiche,DonneParam(DansChampFI,"FI_Agenda3",MoiMême..Nom, +maProcMAJObjetRetourFI,"Création d'un Rendez-vous","Nouveau")) +gnModeRDV=1 +//ExécuteTraitement(FI_Agenda3.BTN_Afficher,trtClic) +fin +Entrée en saisie d'un rendez-vous de AGD_Rdv1 ( COL_Agenda ) +procédure EntréeEnSaisie(rdvEdité est un RendezVous) +si gnModeRDV=0 alors +nIndice est un entier +nIndice=TableauCherche(gclPresentationFicheAgd.m_clTabModele,tcLinéaire,"m_nPKID",rdvEdité.ID,1) +si nIndice<>-1 alors +gclPresentationFicheAgd.p_clCourant=gclPresentationFicheAgd:m_clTabModele[nIndice] +fin +clPresentationFiche est un PFicheRdv <- gclPresentationFicheAgd.Modifier() +clPresentationFiche:m_clLieu.m_clAdresse.m_sPresentation=Remplace(clPresentationFiche:m_clLieu. +m_clAdresse.m_sPresentation,[RC,TAB],"-") +//ChangeFenêtreSource(CFI_RDV,FI_Fiche_Rdv,clPresentationFiche,DonneParam(DansChampFI,"FI_Agenda3",MoiM +ême..Nom,maProcMAJObjetRetourFI,"Modification d'un Rendez-vous","Modifier")) +//Ouvre(FEN_Fiche_RDV_F,clPresentationFiche,DonneParam(DansChampFI,"FI_Agenda3",MoiMême..Nom,maProcMAJO +bjetRetourFI,"Modification d'un Rendez-vous","Modifier")) +fin +gnModeRDV=0 +//FI_Agenda3..Plan=1 +//DonneFocus(CFI_RDV) +Sortie de saisie du rendez-vous de AGD_Rdv1 ( COL_Agenda ) +procédure SortieDeSaisie(rdvModifié est un RendezVous) +Sélection d'un rendez-vous de AGD_Rdv1 ( COL_Agenda ) +procédure Sélection(rdvSélectionné est un RendezVous) +nIndice est un entier +06/08/2026 Isis_BO 3716 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Code des champs +nIndice=TableauCherche(gclPresentationFicheAgd.m_clTabModele,tcLinéaire,"m_nPKID",rdvSélectionné.ID,1) +si nIndice<>-1 alors +gclPresentationFicheAgd.p_clCourant=gclPresentationFicheAgd:m_clTabModele[nIndice] +fin +Déplacement d'un rendez-vous dans AGD_Rdv1 ( COL_Agenda ) +procédure Déplacement(rdvDéplacé est un RendezVous) +ModifRDVDirectementPlanning(rdvDéplacé,Vrai) +//ExécuteTraitement(FI_Agenda3.BTN_Afficher,trtClic) +Redimensionnement d'un rendez-vous de AGD_Rdv1 ( COL_Agenda ) +procédure Redimensionnement(rdvRedimensionné est un RendezVous) +ModifRDVDirectementPlanning(rdvRedimensionné,Faux) +//ExécuteTraitement(FI_Agenda3.BTN_Afficher,trtClic) +Suppression d'un rendez-vous de AGD_Rdv1 ( COL_Agenda ) +procédure Suppression(rdvSupprimé est un RendezVous) +renvoyer SupprimerRdv(Val(rdvSupprimé.ID)) +//si pas SupprimerRdv(val(rdvSupprimé.ID)) alors +// //ExécuteTraitement(FI_Agenda3.BTN_Afficher,trtClic) +//FIN +A chaque changement de période de AGD_Rdv1 ( COL_Agenda ) +CalendrierSelectPlus(CAL_Planning,AGD_Rdv1.Position()) +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur AGD_Rdv1 ( COL_Agenda ) +procédure Double_Clic(nRdvSélectionné est un entier) +nCompteur est un entier +nIdSociete est un entier sur 8 octets +pour tout ligne de ZR_Societe +si FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Sel=1 alors +nCompteur++ +nIdSociete=Val(FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Id) +fin +fin +si AGD_Rdv1=0 alors +si paramSupplementaire.sNomIDAppelant="InterventionAjouteRendezVous" alors +sNomcolonne est une chaîne=TableEnumèreColonne(TABLE_Agenda, ColonneEnCours(TABLE_Agenda)) +sNomcolonne=ExtraitChaîne(sNomcolonne,2,"_",DepuisDébut) +paramSupplementaire.pclObjetAppelant.m_bNouveau=Vrai +paramSupplementaire.pclObjetAppelant.m_dhDateDebut=AGD_Rdv1..DateDébut +paramSupplementaire.pclObjetAppelant.m_dhDateFin=AGD_Rdv1..DateFin +paramSupplementaire.pclObjetAppelant.m_nCreationUser= gpclFicheUtilisateurEnCours.m_nPKID +paramSupplementaire.pclObjetAppelant.m_nModifUser=gpclFicheUtilisateurEnCours.m_nPKID +paramSupplementaire.pclObjetAppelant.m_nIDCollaborateur=Val(sNomcolonne) +pour tout ParametreMetier avec PA_Code=14 +si ParametreMetier.PA_Valeur="1" alors +06/08/2026 Isis_BO 3717 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Code des champs +paramSupplementaire.pclObjetAppelant.m_nIDTypeActivite=ParametreMetier.PA_PKID +fin +fin +// +ChangeFenêtreSource(CFI_RDV,FI_Fiche_Rdv,paramSupplementaire.pclObjetAppelant,DonneParam(DansChampFI,"F +I_Agenda3",MoiMême..Nom,maProcMAJObjetRetourFI,"Création d'un Rendez-vous","Nouveau")) +// FI_Agenda3..Plan=1 +// DonneFocus(CFI_RDV) +Ouvre(FEN_Fiche_RDV_F,paramSupplementaire.pclObjetAppelant,DonneParam(DansChampFI,"FI_Agenda3", +MoiMême..Nom,maProcMAJObjetRetourFI,"Création d'un Rendez-vous","Nouveau")) +//ExécuteTraitement(FI_Agenda3.BTN_Afficher,trtClic) +gnModeRDV=1 +sinon +sNomcolonne est une chaîne=TableEnumèreColonne(TABLE_Agenda, ColonneEnCours(TABLE_Agenda)) +sNomcolonne=ExtraitChaîne(sNomcolonne,2,"_",DepuisDébut) +clPresentationFiche est un PFicheRdv<-gclPresentationFicheAgd.Nouveau() +clPresentationFiche.m_bNouveau=Vrai +si nCompteur=1 alors +clPresentationFiche.m_nIDSociete=nIdSociete +fin +clPresentationFiche.m_dhDateDebut=AGD_Rdv1..DateDébut +clPresentationFiche.m_dhDateFin=AGD_Rdv1..DateFin +clPresentationFiche.m_nCreationUser= gpclFicheUtilisateurEnCours.m_nPKID +clPresentationFiche.m_nModifUser=gpclFicheUtilisateurEnCours.m_nPKID +clPresentationFiche.m_nIDCollaborateur=Val(sNomcolonne) +pour tout ParametreMetier avec PA_Code=14 +si ParametreMetier.PA_Valeur="1" alors +clPresentationFiche.m_nIDTypeActivite=ParametreMetier.PA_PKID +fin +fin +// clPresentationFiche.m_nIDCollaborateur=AGD_Rdv1.. +//gclPresentation.p_clCourant=clPresentationFiche:p_clCourant +//gclPresentation.p_clCourant.m_dhDateDebut=rdvCréé.DateDébut +// +ChangeFenêtreSource(CFI_RDV,FI_Fiche_Rdv,clPresentationFiche,DonneParam(DansChampFI,"FI_Agenda3",MoiMêm +e..Nom,maProcMAJObjetRetourFI,"Création d'un Rendez-vous","Nouveau")) +// FI_Agenda3..Plan=1 +// DonneFocus(CFI_RDV) +Ouvre(FEN_Fiche_RDV_F,clPresentationFiche,DonneParam(DansChampFI,"FI_Agenda3",MoiMême..Nom, +maProcMAJObjetRetourFI,"Création d'un Rendez-vous","Nouveau")) +//ExécuteTraitement(FI_Agenda3.BTN_Afficher,trtClic) +gnModeRDV=1 +fin +sinon +quand exception dans +clPresentationFiche1 est un PFicheRdv <- gclPresentationFicheAgd.Modifier() +Ouvre(FEN_Fiche_RDV_F,clPresentationFiche1,DonneParam(DansChampFI,"fi_agenda3",MoiMême..Nom, +maProcMAJObjetRetourFI,"Modification d'un rendez-vous","modifier")) +faire +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.sNomIDAppelant<>"" alors +si paramSupplementaire.sNomIDAppelant = "InterventionRendezVous" alors +si paramSupplementaire:pclObjetAppelant:m_clModeleCourant:m_nPKID > 0 alors +nIndice est un entier +nIndice=TableauCherche(gclPresentationFicheAgd.m_clTabModele,tcLinéaire,"m_nPKID", +paramSupplementaire:pclObjetAppelant:m_clModeleCourant:m_nPKID,1) +si nIndice<>-1 alors +gclPresentationFicheAgd.p_clCourant=gclPresentationFicheAgd:m_clTabModele[ +nIndice] +fin +fin +fin +fin +06/08/2026 Isis_BO 3718 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Code des champs +OuvrirRDVAgd0() +fin +fin +FI_Agenda3 +Procédures +Procédure locale AfficheZR +// Résumé : +// Syntaxe : +// AfficheZR () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AfficheZR() +si ZR_Societe..Occurrence<=1 alors +DISP_Filtre[2]..Visible=Faux +sinon +DISP_Filtre[2]..Visible=Vrai +fin +si ZR_Equipe..Occurrence<=1 alors +DISP_Filtre[3]..Visible=Faux +sinon +DISP_Filtre[3]..Visible=Vrai +fin +si ZR_Collaborateur..Occurrence<1 alors +DISP_Filtre[4]..Visible=Faux +sinon +DISP_Filtre[4]..Visible=Vrai +fin +Procédure locale ChangeZRModeCollab +// Résumé : +procédure ChangeZRModeCollab() +TABLE_Agenda..AffichageActif=Faux +nlargeurTable est un entier=TABLE_Agenda..Largeur +nCompteur est un entier +sNomColonne est une chaîne +pour nColonne = 1 _à_ TableOccurrence(TABLE_Agenda, toColonne) +sColNom est une chaîne = TableEnumèreColonne(TABLE_Agenda, nColonne) +{sColNom,indChamp}..Visible=Faux +fin +pour toute ligne de ZR_Collaborateur +si ATT_sel1=1 alors +06/08/2026 Isis_BO 3719 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +nCompteur++ +sNomColonne="COL_"+FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_Id +quand exception dans +{sNomColonne,indChamp}..Visible=Vrai +faire +fin +sinon +sNomColonne="COL_"+FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_Id +quand exception dans +{sNomColonne,indChamp}..Visible=Faux +faire +fin +fin +fin +sUneColonne est une chaîne +sAgendaColonne est une chaîne +selon nCompteur +cas 0 +TABLE_Agenda..Etat=AffichageSeulement +retour +cas 1 +pour nColonne = 1 _à_ TableOccurrence(TABLE_Agenda, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_Agenda, nColonne) +sAgendaColonne=sUneColonne+".AGD_Rdv1" +{sUneColonne,indChamp}..Largeur=nlargeurTable-20 +{sAgendaColonne}..Largeur=nlargeurTable-20 +fin +TABLE_Agenda..Etat=Actif +cas 2 +pour nColonne = 1 _à_ TableOccurrence(TABLE_Agenda, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_Agenda, nColonne) +sAgendaColonne=sUneColonne+".AGD_Rdv1" +{sUneColonne,indChamp}..Largeur=(nlargeurTable/nCompteur)-10 +{sAgendaColonne}..Largeur=(nlargeurTable/nCompteur)-10 +fin +TABLE_Agenda..Etat=Actif +cas 3 +pour nColonne = 1 _à_ TableOccurrence(TABLE_Agenda, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_Agenda, nColonne) +sAgendaColonne=sUneColonne+".AGD_Rdv1" +{sUneColonne,indChamp}..Largeur=(nlargeurTable/nCompteur)-7 +{sAgendaColonne}..Largeur=(nlargeurTable/nCompteur)-7 +fin +TABLE_Agenda..Etat=Actif +cas 4 +TABLE_Agenda.COL_Agenda..Largeur=300 +pour nColonne = 1 _à_ TableOccurrence(TABLE_Agenda, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_Agenda, nColonne) +sAgendaColonne=sUneColonne+".AGD_Rdv1" +{sUneColonne,indChamp}..Largeur=(nlargeurTable/4) +{sAgendaColonne}..Largeur=(nlargeurTable/4) +fin +TABLE_Agenda..Etat=Actif +autre cas +pour nColonne = 1 _à_ TableOccurrence(TABLE_Agenda, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_Agenda, nColonne) +sAgendaColonne=sUneColonne+".AGD_Rdv1" +{sUneColonne,indChamp}..Largeur=(nlargeurTable/4) +{sAgendaColonne}..Largeur=(nlargeurTable/4) +fin +TABLE_Agenda..Etat=Actif +fin +06/08/2026 Isis_BO 3720 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +TABLE_Agenda..AffichageActif=Vrai +Procédure locale ChangeZRModeEquipe +// Résumé : +procédure ChangeZRModeEquipe() +nSelectSansEquipe est un entier +nSelectAvecEquipe est un entier +IdEquipe est une chaîne +sIdCollab est une chaîne +sIdSociete est une chaîne +pour toute ligne de ZR_Societe +si FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Sel=1 alors +sIdSociete+=[";"]+ZR_Societe.ATT_Id +fin +fin +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +reqCollab est une Requête SQL = +[ +SELECT CO_Nom,CO_Prenom,CO_PKID,Equipe.EQ_Nom,Equipe.EQ_PKID FROM Collaborateur +LEFT OUTER JOIN Equipe_Collaborateur ON Equipe_Collaborateur.EC_IDCollaborateur=Collaborateur. +CO_PKID +LEFT OUTER JOIN Equipe ON Equipe.EQ_PKID=Equipe_Collaborateur.EC_IDEquipe +WHERE Equipe.EQ_PKID IN ({P_IdEquipe}) AND Collaborateur.CO_AuPlanning=1 +ORDER BY EQ_Nom,CO_Nom +] +pour toute ligne de ZR_Equipe +si FI_Agenda3.DISP_Filtre.ZR_Equipe.ATT_Sel=1 alors +si ZR_Equipe.ATT_Id=0 alors +nSelectSansEquipe++ +sinon +nSelectAvecEquipe++ +fin +IdEquipe +=[";"]+ZR_Equipe.ATT_Id +fin +fin +reqCollab.P_IdEquipe=IdEquipe +HExécuteRequête(reqCollab,hRequêteDéfaut) +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +pour tout reqCollab +sIdCollab +=[";"]+reqCollab.CO_PKID +si reqCollab.EQ_Nom<>"" alors +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom,reqCollab. +EQ_Nom,reqCollab.CO_PKID,0,1) +sinon +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom,"Sans équipe", +reqCollab.CO_PKID,0,0) +fin +// ZoneRépétéeSelectPlus(ZR_Collaborateur) +fin +HAnnuleDéclaration(reqCollab) +si nSelectSansEquipe>0 alors +si nSelectAvecEquipe=0 alors +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +pour toute ligne de ZR_Equipe +si ZR_Equipe.ATT_Id=0 alors +nSelectSansEquipe++ +sinon +nSelectAvecEquipe++ +fin +IdEquipe +=[";"]+ZR_Equipe.ATT_Id +06/08/2026 Isis_BO 3721 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +fin +reqCollab.P_IdEquipe=IdEquipe +HExécuteRequête(reqCollab,hRequêteDéfaut) +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +pour tout reqCollab +sIdCollab +=[";"]+reqCollab.CO_PKID +fin +HAnnuleDéclaration(reqCollab) +fin +reqcollabsansequipe est une Requête SQL = +[ +SELECT DISTINCT CO_Nom,CO_Prenom,CO_PKID FROM Collaborateur +INNER JOIN Societe_Collaborateur ON Societe_Collaborateur.SC_IDCollaborateur=Collaborateur. +CO_PKID +WHERE Societe_Collaborateur.SC_IDCSociete IN ({P_IdSoc}) AND Collaborateur.CO_PKID NOT IN ( +{P_IdCollab}) AND Collaborateur.CO_AuPlanning=1 +ORDER BY CO_Nom,CO_Prenom +] +si sIdCollab<>"" alors +reqcollabsansequipe.P_IdCollab=sIdCollab +sinon +sIdCollab=-1 +reqcollabsansequipe.P_IdCollab=sIdCollab +fin +reqcollabsansequipe.P_IdSoc=sIdSociete +HExécuteRequête(reqcollabsansequipe,hRequêteDéfaut) +pour tout reqcollabsansequipe +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqcollabsansequipe.CO_Nom+" "+reqcollabsansequipe. +CO_Prenom,"Sans équipe",reqcollabsansequipe.CO_PKID,0,0) +fin +HAnnuleDéclaration(reqcollabsansequipe) +fin +//RempliAgenda(gsdateinf,gsdateInf) +//ChangeZRModeCollab() +AfficheZR() +Procédure locale ChangeZRModeSociete2 +// Résumé : +// Syntaxe : +procédure ChangeZRModeSociete2() +IdSoc,sEquipe est une chaîne +nSelectSansEquipe,nSelectAvecEquipe sont des entiers +req est une Requête SQL = +[ +SELECT EQ_Nom,EQ_PKID FROM Societe +INNER JOIN Equipe ON Equipe.EQ_IDSociete=Societe.SO_PKID +WHERE Societe.SO_PKID IN ({P_IdSOc}) +] +pour toute ligne de ZR_Societe +si FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Sel=1 alors +si IdSoc="" alors +IdSoc=ZR_Societe.ATT_Id +sinon +IdSoc+=";"+ZR_Societe.ATT_Id +fin +fin +fin +req.P_IdSOc=IdSoc +HExécuteRequête(req,hRequêteDéfaut) +ZoneRépétéeSupprimeTout(ZR_Equipe) +06/08/2026 Isis_BO 3722 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +pour tout req +ZoneRépétéeAjouteLigne(ZR_Equipe,req.EQ_Nom,"Vos équipes",req.EQ_PKID,0) +sEquipe+=[";"]+req.EQ_PKID +nSelectAvecEquipe++ +fin +ZoneRépétéeAjouteLigne(ZR_Equipe,"Sans équipe","Vos équipes",0,0) +sEquipe+=[";"]+0 +nSelectSansEquipe++ +HAnnuleDéclaration(req) +reqCollab est une Requête SQL = +[ +SELECT CO_Nom,CO_Prenom,CO_PKID,Equipe.EQ_Nom,Equipe.EQ_PKID FROM Collaborateur +LEFT OUTER JOIN Equipe_Collaborateur ON Equipe_Collaborateur.EC_IDCollaborateur=Collaborateur. +CO_PKID +LEFT OUTER JOIN Equipe ON Equipe.EQ_PKID=Equipe_Collaborateur.EC_IDEquipe +WHERE Equipe.EQ_PKID IN ({P_IdEquipe}) AND Collaborateur.CO_AuPlanning=1 +ORDER BY EQ_Nom,CO_Nom +] +reqCollab.P_IdEquipe=sEquipe +HExécuteRequête(reqCollab,hRequêteDéfaut) +sIdCollab est une chaîne +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +pour tout reqCollab +sIdCollab +=[";"]+reqCollab.CO_PKID +si reqCollab.EQ_Nom<>"" alors +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom,reqCollab. +EQ_Nom,reqCollab.CO_PKID,0,0) +sinon +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom,"Sans équipe", +reqCollab.CO_PKID,0,0) +fin +fin +HAnnuleDéclaration(reqCollab) +IdEquipe est une chaîne +si nSelectSansEquipe>0 alors +si nSelectAvecEquipe=0 alors +pour toute ligne de ZR_Equipe +si ZR_Equipe.ATT_Id<>0 alors +IdEquipe +=[";"]+ZR_Equipe.ATT_Id +fin +reqCollab.P_IdEquipe=IdEquipe +HExécuteRequête(reqCollab,hRequêteDéfaut) +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +pour tout reqCollab +sIdCollab +=[";"]+reqCollab.CO_PKID +fin +HAnnuleDéclaration(reqCollab) +fin +fin +reqcollabsansequipe est une Requête SQL = +[ +SELECT DISTINCT CO_Nom,CO_Prenom,CO_PKID FROM Collaborateur +INNER JOIN Societe_Collaborateur ON Societe_Collaborateur.SC_IDCollaborateur=Collaborateur. +CO_PKID +WHERE Societe_Collaborateur.SC_IDCSociete IN ({P_IdSoc}) AND Collaborateur.CO_PKID NOT IN ( +{P_IdCollab}) AND Collaborateur.CO_AuPlanning=1 +ORDER BY CO_Nom,CO_Prenom +] +si sIdCollab<>"" alors +reqcollabsansequipe.P_IdCollab=sIdCollab +sinon +sIdCollab=-1 +reqcollabsansequipe.P_IdCollab=sIdCollab +fin +06/08/2026 Isis_BO 3723 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +reqcollabsansequipe.P_IdSoc=IdSoc +HExécuteRequête(reqcollabsansequipe,hRequêteDéfaut) +pour tout reqcollabsansequipe +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqcollabsansequipe.CO_Nom+" "+reqcollabsansequipe. +CO_Prenom,"Sans équipe",reqcollabsansequipe.CO_PKID,0,0) +fin +HAnnuleDéclaration(reqcollabsansequipe) +fin +//RempliAgenda(gsdateInf,gsdateSup) +//ChangeZRModeCollab() +AfficheZR() +Procédure locale ChangeZRModeTous +// Résumé : +procédure ChangeZRModeTous() +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +reqCollab est une Requête SQL = +[ +SELECT CO_Nom,CO_Prenom,CO_PKID FROM Collaborateur +WHERE Collaborateur.CO_AuPlanning=1 +ORDER BY CO_Nom +] +HExécuteRequête(reqCollab,hRequêteDéfaut) +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +pour tout reqCollab +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom, +"Vos collaborateurs",reqCollab.CO_PKID,0,0) +fin +HAnnuleDéclaration(reqCollab) +//RempliAgenda(gsdateInf,gsdateInf) +//ChangeZRModeCollab() +AfficheZR() +Procédure locale Charge_ChangementPeriode +// Résumé : +// Syntaxe : +// Charge_ChangementPeriode () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Charge_ChangementPeriode() +//COL_Agenda.AGD_Rdv1.Position(gsdateInf) +gsdateInf = AgendaPosition(COL_Agenda.AGD_Rdv1,agDateDébut) +gsdateInf..Jour-=30 +gsdateSup = AgendaPosition(COL_Agenda.AGD_Rdv1,agDateFin) +gsdateSup..Jour+=30 +TABLE_Agenda..AffichageActif=Faux +RempliAgenda(gsdateInf,gsdateSup) +ChangeZRModeCollab() +Enregistre_Preferences_Planning(gpclFicheUtilisateurEnCours.m_nPKID) +06/08/2026 Isis_BO 3724 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +TABLE_Agenda..AffichageActif=Vrai +Procédure locale Charge_ZR +// Résumé : +procédure Charge_ZR() +clNewParametreUtilisateur est un MParametreUtilisateur +//PlanningSupprimeTout(PLN_PL_RDV) +STPreferenceUtilisateur est une Structure +sEntite est une chaîne +nValeur est un entier sur 8 octets +fin +nIndice,nSelectSansEquipe,nSelectAvecEquipe sont des entiers +UneLigne est une STPreferenceUtilisateur +tabPreferenceUser est un tableau de STPreferenceUtilisateur +sSociete,sEquipe,sCollab sont des chaînes +// On charge un tableau de structure avec les préferences utilisateur des sociétés equipes +et collaborateurs dernièrement enregistré +nIndice=TableauCherche(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","CHOIX_SOCIETE_EQUIPE_COLLAB",gpclFicheUtilisateurEnCours.m_nPKID) +si nIndice<>-1 alors +sSociete=ExtraitChaîne(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele[nIndice] +.m_sValeur,1,"_",DepuisDébut) +pour toute chaîne soc de sSociete séparée par ";" +UneLigne.sEntite="Societe" +UneLigne.nValeur=Val(soc) +TableauAjouteLigne(tabPreferenceUser,UneLigne) +fin +sEquipe=ExtraitChaîne(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele[nIndice]. +m_sValeur,2,"_",DepuisDébut) +pour toute chaîne Equ de sEquipe séparée par ";" +UneLigne.sEntite="Equipe" +UneLigne.nValeur=Val(Equ) +TableauAjouteLigne(tabPreferenceUser,UneLigne) +fin +sCollab=ExtraitChaîne(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele[nIndice]. +m_sValeur,3,"_",DepuisDébut) +pour toute chaîne Cola de sCollab séparée par ";" +UneLigne.sEntite="Collaborateur" +UneLigne.nValeur=Val(Cola) +TableauAjouteLigne(tabPreferenceUser,UneLigne) +fin +sinon +clErreur est un CErreur +si gpclFicheUtilisateurEnCours.m_nIDSocietePrincipale<>0 alors +sListeEquipe est une chaîne +pour tout Equipe_Collaborateur avec EC_IDCollaborateur=gpclFicheUtilisateurEnCours.m_n +IDCollaborateur +sListeEquipe+=[";"]+Equipe_Collaborateur.EC_IDEquipe +fin +si sListeEquipe="" alors sListeEquipe="0" +clNewParametreUtilisateur.m_sCode="CHOIX_SOCIETE_EQUIPE_COLLAB" +clNewParametreUtilisateur.m_nIDUtilisateur=gpclFicheUtilisateurEnCours.m_nPKID +clNewParametreUtilisateur.m_sValeur=gpclFicheUtilisateurEnCours.m_nIDSocietePrincipale+"_"+ +sListeEquipe+"_"+gpclFicheUtilisateurEnCours.m_nIDCollaborateur +clNewParametreUtilisateur.bEnregistrer(clErreur) +TableauAjouteLigne(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele, +clNewParametreUtilisateur) +sSociete=ExtraitChaîne(clNewParametreUtilisateur.m_sValeur,1,"_",DepuisDébut) +pour toute chaîne soc de sSociete séparée par ";" +UneLigne.sEntite="Societe" +UneLigne.nValeur=Val(soc) +TableauAjouteLigne(tabPreferenceUser,UneLigne) +06/08/2026 Isis_BO 3725 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +fin +sEquipe=ExtraitChaîne(clNewParametreUtilisateur.m_sValeur,2,"_",DepuisDébut) +pour toute chaîne Equ de sEquipe séparée par ";" +UneLigne.sEntite="Equipe" +UneLigne.nValeur=Val(Equ) +TableauAjouteLigne(tabPreferenceUser,UneLigne) +fin +sCollab=ExtraitChaîne(clNewParametreUtilisateur.m_sValeur,3,"_",DepuisDébut) +pour toute chaîne Cola de sCollab séparée par ";" +UneLigne.sEntite="Collaborateur" +UneLigne.nValeur=Val(Cola) +TableauAjouteLigne(tabPreferenceUser,UneLigne) +fin +fin +fin +// On charge la ZR des sociétés avec le choix des préférences utilisateur +pour tout Societe +nIndice=ChercheIndiceTab(tabPreferenceUser,Societe.SO_PKID,"Societe") +si nIndice<>-1 alors +ZoneRépétéeAjouteLigne(ZR_Societe,Societe.SO_Nom,"Vos sociétés",Societe.SO_PKID,1) +sinon +ZoneRépétéeAjouteLigne(ZR_Societe,Societe.SO_Nom,"Vos sociétés",Societe.SO_PKID,0) +fin +fin +ZoneRépétéeTrie("-FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Sel"+TAB+ +"-FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Nom") +// On charge la ZR des équipes avec le choix des préférences utilisateur +pour tout Equipe +nIndice=ChercheIndiceTab(tabPreferenceUser,Equipe.EQ_PKID,"Equipe") +si nIndice<>-1 alors +ZoneRépétéeAjouteLigne(ZR_Equipe,Equipe.EQ_Nom,"Vos équipes",Equipe.EQ_PKID,1) +sinon +nIndice=ChercheIndiceTab(tabPreferenceUser,Equipe.EQ_IDSociete,"Societe") +si nIndice<>-1 alors +ZoneRépétéeAjouteLigne(ZR_Equipe,Equipe.EQ_Nom,"Vos équipes",Equipe.EQ_PKID,0) +fin +fin +fin +//nIndice=TableauCherche(tabPreferenceUser,tcLinéaire,"nValeur;sEntite",0,"Equipe") +nIndice=ChercheIndiceTab(tabPreferenceUser,0,"Equipe") +si nIndice<>-1 alors +ZoneRépétéeAjouteLigne(ZR_Equipe,"Sans équipe","Vos équipes",0,1) +sinon +ZoneRépétéeAjouteLigne(ZR_Equipe,"Sans équipe","Vos équipes",0,0) +fin +pour toute ligne de ZR_Equipe +si FI_Agenda3.DISP_Filtre.ZR_Equipe.ATT_Sel=1 alors +si ZR_Equipe.ATT_Id=0 alors +nSelectSansEquipe++ +sinon +nSelectAvecEquipe++ +fin +fin +fin +ZoneRépétéeTrie("-FI_Agenda3.DISP_Filtre.ZR_Equipe.ATT_Sel"+TAB+ +"FI_Agenda3.DISP_Filtre.ZR_Equipe.ATT_Nom") +reqCollab est une Requête SQL = +[ +SELECT CO_Nom,CO_Prenom,CO_PKID,Equipe.EQ_Nom,Equipe.EQ_PKID FROM Collaborateur +LEFT OUTER JOIN Equipe_Collaborateur ON Equipe_Collaborateur.EC_IDCollaborateur=Collaborateur. +CO_PKID +LEFT OUTER JOIN Equipe ON Equipe.EQ_PKID=Equipe_Collaborateur.EC_IDEquipe +06/08/2026 Isis_BO 3726 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +WHERE Equipe.EQ_PKID IN ({P_IdEquipe}) AND Collaborateur.CO_AuPlanning=1 +ORDER BY EQ_Nom,CO_Nom +] +reqCollab.P_IdEquipe=sEquipe +HExécuteRequête(reqCollab,hRequêteDéfaut) +sIdCollab est une chaîne +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +pour tout reqCollab +sIdCollab +=[";"]+reqCollab.CO_PKID +nIndice=ChercheIndiceTab(tabPreferenceUser,reqCollab.CO_PKID,"Collaborateur") +si reqCollab.EQ_Nom<>"" alors +si nIndice=-1 alors +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom,reqCollab +.EQ_Nom,reqCollab.CO_PKID,0,0) +sinon +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom,reqCollab +.EQ_Nom,reqCollab.CO_PKID,0,1) +fin +sinon +si nIndice=-1 alors +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom, +"Sans équipe",reqCollab.CO_PKID,0,0) +sinon +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom, +"Sans équipe",reqCollab.CO_PKID,0,1) +fin +fin +// ZoneRépétéeSelectPlus(ZR_Collaborateur) +fin +HAnnuleDéclaration(reqCollab) +IdEquipe est une chaîne +si nSelectSansEquipe>0 alors +si nSelectAvecEquipe=0 alors +pour toute ligne de ZR_Equipe +si ZR_Equipe.ATT_Id<>0 alors +IdEquipe +=[";"]+ZR_Equipe.ATT_Id +fin +reqCollab.P_IdEquipe=IdEquipe +HExécuteRequête(reqCollab,hRequêteDéfaut) +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +pour tout reqCollab +sIdCollab +=[";"]+reqCollab.CO_PKID +fin +HAnnuleDéclaration(reqCollab) +fin +fin +reqcollabsansequipe est une Requête SQL = +[ +SELECT DISTINCT CO_Nom,CO_Prenom,CO_PKID FROM Collaborateur +INNER JOIN Societe_Collaborateur ON Societe_Collaborateur.SC_IDCollaborateur=Collaborateur. +CO_PKID +WHERE Societe_Collaborateur.SC_IDCSociete IN ({P_IdSoc}) AND Collaborateur.CO_PKID NOT IN ( +{P_IdCollab}) AND Collaborateur.CO_AuPlanning=1 +ORDER BY CO_Nom,CO_Prenom +] +si sIdCollab<>"" alors +reqcollabsansequipe.P_IdCollab=sIdCollab +sinon +sIdCollab=-1 +reqcollabsansequipe.P_IdCollab=sIdCollab +fin +reqcollabsansequipe.P_IdSoc=sSociete +HExécuteRequête(reqcollabsansequipe,hRequêteDéfaut) +pour tout reqcollabsansequipe +nIndice=ChercheIndiceTab(tabPreferenceUser,reqcollabsansequipe.CO_PKID,"Collaborateur") +06/08/2026 Isis_BO 3727 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +si nIndice=-1 alors +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqcollabsansequipe.CO_Nom+" "+reqcollabsansequipe +.CO_Prenom,"Sans équipe",reqcollabsansequipe.CO_PKID,0,0) +sinon +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqcollabsansequipe.CO_Nom+" "+reqcollabsansequipe +.CO_Prenom,"Sans équipe",reqcollabsansequipe.CO_PKID,0,1) +fin +fin +HAnnuleDéclaration(reqcollabsansequipe) +fin +ZoneRépétéeTrie("-FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_sel1"+TAB+ +"FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_Titre"+TAB+ +"FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_Nom") +ZoneRépétéeAffiche(ZR_Collaborateur,taCourantPremier) +//gclPresentationPlanning=PTableRDV.gNouvellePresentation(3,-1,-1,sCollab) +AfficheZR() +// +////ZoneRépétéeAjouteLigne(ZR_Societe,"Toutes les sociétés","Vos sociétés",0) +//POUR TOUT Societe +// ZoneRépétéeAjouteLigne(ZR_Societe,Societe.SO_Nom,"Vos sociétés",Societe.SO_PKID,1) +////ZoneRépétéeSelectPlus(ZR_Societe) +//FIN +// +////ZoneRépétéeAjouteLigne(ZR_Equipe,"Toutes les équipes","Vos équipes",0) +//POUR TOUT Equipe +// ZoneRépétéeAjouteLigne(ZR_Equipe,Equipe.EQ_Nom,"Vos équipes",Equipe.EQ_PKID,1) +//FIN +//ZoneRépétéeAjouteLigne(ZR_Equipe,"Sans équipe","Vos équipes",0,1) +//ZoneRépétéeSelectPlus(ZR_Equipe) +// +////ZoneRépétéeSelectPlus(ZR_Equipe) +////ZoneRépétéeAjouteLigne(ZR_Collaborateur,"Tous les collaborateurs","Vos Collaborateurs",0) +//POUR TOUT Collaborateur +// si collaborateur.CO_AuPlanning=1 alors +// +ZoneRépétéeAjouteLigne(ZR_Collaborateur,Collaborateur.CO_Prenom+" "+Collaborateur.CO_Nom,"Vos +Collaborateurs",Collaborateur.CO_PKID,1,1) +// ZoneRépétéeSelectPlus(ZR_Collaborateur) +// fin +//FIN +06/08/2026 Isis_BO 3728 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +// +//AfficheZR() +Procédure locale ChargeAgendaCollab +// Résumé : +// Syntaxe : +//ChargeAgendaCollab () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargeAgendaCollab() +nId est un entier sur 8 octets +sNomColonne est une chaîne +sNomColAgenda est une chaîne +//monRDv est un RendezVous +nIndice est un entier +TABLE_Agenda..AffichageActif=Faux +pour toute Collaborateur +si Collaborateur.CO_AuPlanning=1 alors +nId=Collaborateur.CO_PKID +sNomColonne="COL_"+nId +si pas ChampExiste(sNomColonne) alors +ChampClone(COL_Agenda,sNomColonne) +{sNomColonne,indChamp}..Titre=Collaborateur.CO_Prenom+" "+Collaborateur.CO_Nom +nIndice = ZoneRépétéeCherche(ZR_Collaborateur.ATT_Id,nId,rechercheIdentique) +{sNomColonne,indChamp}..Visible=nIndice>0 _et_ ZR_Collaborateur[nIndice].INT_Sel +sNomColAgenda=sNomColonne+".AGD_Rdv1" +fin +// +// +// POUR TOUT Planning_RDV AVEC PL_IDCollaborateur=Collaborateur.CO_PKID +// SI Planning_RDV.Archive=0 ET Planning_RDV.PL_DateDebut>"201612310800000" ALORS +// HLitRecherchePremier(ParametreMetier,PA_PKID,Planning_RDV.PL_IDTypeActivite) +// SI HTrouve() ALORS +// monRDv..Titre=ParametreMetier.PA_Libelle +// SI monRDv..Titre="Intervention" ALORS +// monRDv..CouleurFond=OrangeFoncé +// SINON +// monRDv..CouleurFond=BleuPastel +// FIN +// FIN +// SI Planning_RDV.PL_IDLieu<>0 ALORS +// pclLieuRDV est une PTableLieu dynamique +// pclLieuRDV=PTableLieu.gNouvellePresentation(0,Planning_RDV.PL_IDLieu) +// pclLieuRDV.p_clCourant=pclLieuRDV.m_clTabModele[1] +// pclFicheLieu est une pfichelieu dynamique= pclLieuRDV.Modifier() +// monRDv.Contenu=pclFicheLieu.p_QuickView+RC+Planning_RDV.PL_Description +// SINON +// monRDv.Contenu= Planning_RDV.PL_Description +// FIN +// monRDv..DateDébut = Planning_RDV.PL_DateDebut +// monRDv..DateFin = Planning_RDV.PL_DateFin +// monRDv..Catégorie = Planning_RDV.PL_IDStatut +// monRDv..ID = Planning_RDV.PL_PKID +// monRDv..Note=Planning_RDV.PL_IDGroupe +// +06/08/2026 Isis_BO 3729 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +monRDv..Bulle=monRDv..Titre + RC + DateVersChaîne(monRDv..DateDébut,"HH:mm")+" - "+ +DateVersChaîne(monRDv..DateFin,"HH:mm") +RC+ monRDv.Contenu +// SI Planning_RDV.PL_IDGroupe>0 ALORS +// monRDv..Image=fExtraitChemin(IMG_Lien, fFichier + fExtension) +// SINON +// monRDv..Image="" +// FIN +// AgendaAjouteRendezVous({sNomColAgenda,indChamp},monRDv) +// FIN +// FIN +fin +fin +TABLE_Agenda..AffichageActif=Vrai +//TableAffiche(TABLE_Agenda,1) +Procédure locale ChargeParametresPlanning +// Résumé : +// Syntaxe : +//ChargeParametresPlanning () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sNomColonne : +// sNomColAgenda : +// tabRdv : +// nIndiceRdv : +procédure ChargeParametresPlanning() +IdSoc est une chaîne +sCaractère est une chaîne +pour tout ligne de ZR_Societe +FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Sel=0 +fin +pour toute ligne de FI_Planning.DISP_Filtre.ZR_Societe +si FI_Planning.DISP_Filtre.ZR_Societe.ATT_Sel=1 alors +si IdSoc="" alors +IdSoc= FI_Planning.DISP_Filtre.ZR_Societe.ATT_Id +sinon +IdSoc+="/"+ FI_Planning.DISP_Filtre.ZR_Societe.ATT_Id +fin +fin +fin +si IdSoc<>"" alors +pour toute ligne de ZR_Societe +pour toute chaîne sCaractère de IdSoc séparée par "/" +si FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Id=sCaractère alors +FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Sel=1 +fin +fin +fin +fin +IdSoc="" +sCaractère="" +pour toute ligne de FI_Planning.DISP_Filtre.ZR_Collaborateur +si FI_Planning.DISP_Filtre.ZR_Collaborateur.ATT_Sel1=1 alors +si IdSoc="" alors +IdSoc= FI_Planning.DISP_Filtre.ZR_Collaborateur.ATT_Id +06/08/2026 Isis_BO 3730 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +sinon +IdSoc+="/"+ FI_Planning.DISP_Filtre.ZR_Collaborateur.ATT_Id +fin +fin +fin +pour tout ligne de ZR_Collaborateur +FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_sel1=0 +fin +si IdSoc<>"" alors +pour toute ligne de ZR_Collaborateur +pour toute chaîne sCaractère de IdSoc séparée par "/" +si FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_Id=sCaractère alors +FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_sel1=1 +fin +fin +fin +fin +ChangeZRModeCollab() +Procédure locale ChargeRDVDossier +// Résumé : +// Syntaxe : +//ChargeRDVDossier () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sNomColonne : +// sNomColAgenda : +// tabRdv : +// nIndiceRdv : +procédure ChargeRDVDossier() +nIndice,nSelectSansEquipe,nSelectAvecEquipe sont des entiers +nIdSoc est un entier sur 8 octets=paramSupplementaire.pclObjetAppelant.m_nIDSociete +sListeSocSelect,sListeEquipe,sListeCollab est une chaîne +nCompt est un entier +si nIdSoc<>0 alors +ZoneRépétéeSupprimeTout(ZR_Societe) +pour tout Societe +si Societe.SO_PKID=nIdSoc alors +ZoneRépétéeAjouteLigne(ZR_Societe,Societe.SO_Nom,"Vos sociétés",Societe.SO_PKID,1) +sListeSocSelect+=[";"]+Societe.SO_PKID +sinon +ZoneRépétéeAjouteLigne(ZR_Societe,Societe.SO_Nom,"Vos sociétés",Societe.SO_PKID,0) +fin +fin +ZoneRépétéeTrie("-FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Sel"+TAB+ +"FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Nom") +fin +// On charge la ZR des équipes avec le choix des préférences utilisateur +si sListeSocSelect<>"" alors +ZoneRépétéeSupprimeTout(ZR_Equipe) +pour tout Equipe +si Contient(sListeSocSelect,NumériqueVersChaîne(Equipe.EQ_IDSociete),MotComplet)=Vrai alors +06/08/2026 Isis_BO 3731 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +ZoneRépétéeAjouteLigne(ZR_Equipe,Equipe.EQ_Nom,"Vos équipes",Equipe.EQ_PKID,1) +sListeEquipe+=[";"]+Equipe.EQ_PKID +fin +fin +ZoneRépétéeAjouteLigne(ZR_Equipe,"Sans équipe","Vos équipes",0,1) +sListeEquipe+=[";"]+"0" +sinon +ZoneRépétéeSupprimeTout(ZR_Equipe) +ZoneRépétéeAjouteLigne(ZR_Equipe,"Sans équipe","Vos équipes",0,1) +sListeEquipe+=[";"]+"0" +fin +pour toute ligne de ZR_Equipe +si FI_Agenda3.DISP_Filtre.ZR_Equipe.ATT_Sel=1 alors +si ZR_Equipe.ATT_Id=0 alors +nSelectSansEquipe++ +sinon +nSelectAvecEquipe++ +fin +fin +fin +ZoneRépétéeTrie("-FI_Agenda3.DISP_Filtre.ZR_Equipe.ATT_Sel"+TAB+ +"FI_Agenda3.DISP_Filtre.ZR_Equipe.ATT_Nom") +si paramSupplementaire.pclObjetAppelant.m_nIDGroupe =0 alors +sListeCollab=paramSupplementaire.pclObjetAppelant.m_nIDCollaborateur +sinon +pour tout Planning_RDV avec PL_IDGroupe=paramSupplementaire.pclObjetAppelant.m_nIDGroupe +sListeCollab+=[";"]+Planning_RDV.PL_IDCollaborateur +fin +fin +reqCollab est une Requête SQL = +[ +SELECT CO_Nom,CO_Prenom,CO_PKID,Equipe.EQ_Nom,Equipe.EQ_PKID FROM Collaborateur +LEFT OUTER JOIN Equipe_Collaborateur ON Equipe_Collaborateur.EC_IDCollaborateur=Collaborateur. +CO_PKID +LEFT OUTER JOIN Equipe ON Equipe.EQ_PKID=Equipe_Collaborateur.EC_IDEquipe +WHERE Equipe.EQ_PKID IN ({P_IdEquipe}) AND Collaborateur.CO_AuPlanning=1 +ORDER BY EQ_Nom,CO_Nom +] +reqCollab.P_IdEquipe=sListeEquipe +HExécuteRequête(reqCollab,hRequêteDéfaut) +sIdCollab est une chaîne +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +pour tout reqCollab +sIdCollab +=[";"]+reqCollab.CO_PKID +si reqCollab.EQ_Nom<>"" alors +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom,reqCollab. +EQ_Nom,reqCollab.CO_PKID,0,0) +sinon +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom,"Sans équipe", +reqCollab.CO_PKID,0,0) +fin +fin +HAnnuleDéclaration(reqCollab) +IdEquipe est une chaîne +si nSelectSansEquipe>0 alors +si nSelectAvecEquipe=0 alors +pour toute ligne de ZR_Equipe +si ZR_Equipe.ATT_Id<>0 alors +IdEquipe +=[";"]+ZR_Equipe.ATT_Id +fin +reqCollab.P_IdEquipe=IdEquipe +06/08/2026 Isis_BO 3732 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +HExécuteRequête(reqCollab,hRequêteDéfaut) +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +pour tout reqCollab +sIdCollab +=[";"]+reqCollab.CO_PKID +fin +HAnnuleDéclaration(reqCollab) +fin +fin +reqcollabsansequipe est une Requête SQL = +[ +SELECT DISTINCT CO_Nom,CO_Prenom,CO_PKID FROM Collaborateur +INNER JOIN Societe_Collaborateur ON Societe_Collaborateur.SC_IDCollaborateur=Collaborateur. +CO_PKID +WHERE Societe_Collaborateur.SC_IDCSociete IN ({P_IdSoc}) AND Collaborateur.CO_PKID NOT IN ( +{P_IdCollab}) AND Collaborateur.CO_AuPlanning=1 +ORDER BY CO_Nom,CO_Prenom +] +si sIdCollab<>"" alors +reqcollabsansequipe.P_IdCollab=sIdCollab +sinon +sIdCollab=-1 +reqcollabsansequipe.P_IdCollab=sIdCollab +fin +reqcollabsansequipe.P_IdSoc=nIdSoc +HExécuteRequête(reqcollabsansequipe,hRequêteDéfaut) +pour tout reqcollabsansequipe +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqcollabsansequipe.CO_Nom+" "+reqcollabsansequipe. +CO_Prenom,"Sans équipe",reqcollabsansequipe.CO_PKID,0,0) +fin +HAnnuleDéclaration(reqcollabsansequipe) +fin +pour toute ligne de ZR_Collaborateur +si Contient(sListeCollab,ZR_Collaborateur.ATT_Id,MotComplet)=Vrai alors +ZR_Collaborateur.ATT_sel1=1 +nCompt++ +fin +fin +si nCompt=0 alors +pour toute chaîne Collabo de sListeCollab séparée par ";" +HLitRecherchePremier(Collaborateur,CO_PKID,Val(Collabo)) +si HTrouve(Collaborateur) alors +ZoneRépétéeAjouteLigne(ZR_Collaborateur,Collaborateur.CO_Nom+" "+Collaborateur.CO_Prenom, +"Hors Société",Collaborateur.CO_PKID,0,1) +fin +fin +fin +ZoneRépétéeTrie("-FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_sel1"+TAB+ +"FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_Titre"+TAB+ +"FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_Nom") +DateJourRDV est une Date=paramSupplementaire.pclObjetAppelant.m_dhDateDebut +DateJourRDV..Jour-=60 +dDateInf est une Date=DateJourRDV +DateJourRDV..Jour+=120 +dDateSup est une Date=DateJourRDV +RempliAgenda(dDateInf,dDateSup) +ChangeZRModeCollab() +AfficheZR() +sNomColonne est une chaîne +sNomColAgenda est une chaîne +tabRDV est un tableau de RendezVous +nIndiceRdv est un entier +si paramSupplementaire.pclObjetAppelant.m_nIDGroupe =0 alors +nIndice = TableauCherche(gclPresentationFicheAgd.m_clTabModele,tcLinéaire,"m_nPKID", +paramSupplementaire.pclObjetAppelant.m_nPKID) +si nIndice<>-1 alors +sNomColonne="COL_"+gclPresentationFicheAgd.m_clTabModele[nIndice].m_nIDCollaborateur +06/08/2026 Isis_BO 3733 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +sNomColAgenda=sNomColonne+".AGD_Rdv1" +AgendaPosition({sNomColAgenda,indChamp},Gauche(gclPresentationFicheAgd.m_clTabModele[nIndice]. +m_dhDateDebut,8)) +tabRDV=AgendaListeRendezVous({sNomColAgenda,indChamp}) +nIndiceRdv=TableauCherche(tabRDV,tcLinéaire,"ID",paramSupplementaire.pclObjetAppelant. +m_nPKID) +si nIndiceRdv<>-1 alors +AgendaSelectPlus({sNomColAgenda,indChamp},nIndiceRdv) +{sNomColAgenda,indChamp}[nIndiceRdv]..CouleurFond=RougePastel +fin +fin +sinon +nIndice = TableauCherche(gclPresentationFicheAgd.m_clTabModele,tcLinéaire,"m_nPKID", +paramSupplementaire.pclObjetAppelant.m_nPKID) +si nIndice > 0 alors +pour i= 1 _à_ gclPresentationFicheAgd.m_clTabModele..Occurrence +si gclPresentationFicheAgd.m_clTabModele[i].m_nIDGroupe=paramSupplementaire.pcl +ObjetAppelant.m_nIDGroupe alors +sNomColonne="COL_"+gclPresentationFicheAgd.m_clTabModele[i].m_nIDCollaborateur +sNomColAgenda=sNomColonne+".AGD_Rdv1" +tabRDV=AgendaListeRendezVous({sNomColAgenda,indChamp}) +nIndiceRdv=TableauCherche(tabRDV,tcLinéaire,"ID",gclPresentationFicheAgd.m_clTabModele +[i].m_nPKID) +si nIndiceRdv<>-1 alors +AgendaSelectPlus({sNomColAgenda,indChamp},nIndiceRdv) +{sNomColAgenda,indChamp}[nIndiceRdv]..CouleurFond=RougePastel +fin +fin +fin +sNomColonne="COL_"+gclPresentationFicheAgd.m_clTabModele[nIndice].m_nIDCollaborateur +sNomColAgenda=sNomColonne+".AGD_Rdv1" +AgendaPosition({sNomColAgenda,indChamp},Gauche(gclPresentationFicheAgd.m_clTabModele[nIndice]. +m_dhDateDebut,8)) +tabRDV=AgendaListeRendezVous({sNomColAgenda,indChamp}) +nIndiceRdv=TableauCherche(tabRDV,tcLinéaire,"ID",paramSupplementaire.pclObjetAppelant.m_nPKID) +si nIndiceRdv<>-1 alors +AgendaSelectPlus({sNomColAgenda,indChamp},nIndiceRdv) +{sNomColAgenda,indChamp}[nIndiceRdv]..CouleurFond=RougePastel +fin +fin +fin +nCompteur est un entier +pour toute ligne de ZR_Collaborateur +si FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_sel1=1 alors +nCompteur++ +fin +fin +si nCompteur=0 alors +si nIndice > 0 alors +gclPresentationFicheAgd.p_clCourant=gclPresentationFicheAgd:m_clTabModele[nIndice] +clPresentationFiche est un PFicheRdv <- gclPresentationFicheAgd.Modifier() +si paramSupplementaire.pclObjetAppelant<>Null et paramSupplementaire.sNomIDAppelant<> +"InterventionAjouteRendezVous" alors +clPresentationFiche<-paramSupplementaire.pclObjetAppelant +sinon +pclListePersonne est une PTablePersonne dynamique +pclListePersonne=PTablePersonne.gNouvellePresentation(6,clPresentationFiche.m_nIDLieu, +clPresentationFiche.m_nIDIntervention) +pour i= 1 _à_ pclListePersonne.m_clTabModele..Occurrence +clUnPersonne est un MPersonne +si pclListePersonne.m_clTabModele[i].m_nPKID<>clPresentationFiche.m_nIDPersonne alors +clUnPersonne.m_sNom=pclListePersonne.m_clTabModele[i].m_sNom +clUnPersonne.m_sPrenom=pclListePersonne.m_clTabModele[i].m_sPrenom +clUnPersonne.m_nPKID=pclListePersonne.m_clTabModele[i].m_nPKID +TableauAjoute(clPresentationFiche.m_clListePersonne,clUnPersonne) +fin +06/08/2026 Isis_BO 3734 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +fin +fin +clPresentationFiche:m_clLieu.m_clAdresse.m_sPresentation=Remplace(clPresentationFiche:m_clLieu. +m_clAdresse.m_sPresentation,[RC,TAB],"-") +//ChangeFenêtreSource(CFI_RDV,FI_Fiche_Rdv,clPresentationFiche,DonneParam(DansChampFI,"FI_Agenda3", +MoiMême..Nom,maProcMAJObjetRetourFI,"Modification d'un Rendez-vous","Modifier")) +Ouvre(FEN_Fiche_RDV_F,clPresentationFiche,DonneParam(DansChampFI,"FI_Agenda3",MoiMême..Nom, +maProcMAJObjetRetourFI,"Modification d'un Rendez-vous","Modifier")) +gnModeRDV=0 +//FI_Planning..Plan=1 +//DonneFocus(CFI_RDV) +fin +fin +RafraichissementFiche(paramSupplementaire) +//nIndice est un entier +//IdSoc est une chaîne=paramSupplementaire.pclObjetAppelant.m_nIDSociete +//SI IdSoc<>0 ALORS +// POUR TOUTE LIGNE DE ZR_Societe +// SI FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Id=IdSoc ALORS +// FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Sel=1 +// SINON +// FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Sel=0 +// FIN +// FIN +//FIN +//POUR TOUT LIGNE DE ZR_Collaborateur +// FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_sel1=0 +//FIN +//SI paramSupplementaire.pclObjetAppelant.m_nIDGroupe =0 ALORS +// +nIndice = +tableaucherche(gclPresentationFicheAgd.m_clTabModele,tcLinéaire,"m_nPKID",paramSupplementaire.pclObjetA +ppelant.m_nPKID) +// SI nIndice<>-1 ALORS +// +// POUR TOUT LIGNE DE ZR_Collaborateur +// +SI +FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_Id=gclPresentationFicheAgd.m_clTabModele[nIndice].m_nIDColl +aborateur ALORS +// FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_sel1=1 +// FIN +// FIN +// sNomColonne="COL_"+gclPresentationFicheAgd.m_clTabModele[nIndice].m_nIDCollaborateur +// sNomColAgenda=sNomColonne+".AGD_Rdv1" +// +AgendaPosition({sNomColAgenda,indChamp},Gauche(gclPresentationFicheAgd.m_clTabModele[nIndice].m_dhDateD +ebut,8)) +// +// tabRdv=AgendaListeRendezVous({sNomColAgenda,indChamp}) +// nIndiceRdv=TableauCherche(tabRdv,tcLinéaire,"ID",paramSupplementaire.pclObjetAppelant.m_nPKID) +// SI nIndiceRdv<>-1 ALORS +// AgendaSelectPlus({sNomColAgenda,indChamp},nIndiceRdv) +// {sNomColAgenda,indChamp}[nIndiceRdv]..CouleurFond=RougePastel +// FIN +06/08/2026 Isis_BO 3735 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +// FIN +//SINON +// +nIndice = +tableaucherche(gclPresentationFicheAgd.m_clTabModele,tcLinéaire,"m_nPKID",paramSupplementaire.pclObjetA +ppelant.m_nPKID) +// SI nIndice<>-1 ALORS +// +// FIN +// POUR i= 1 _A_ gclPresentationFicheAgd.m_clTabModele..Occurrence +// +SI +gclPresentationFicheAgd.m_clTabModele[i].m_nIDGroupe=paramSupplementaire.pclObjetAppelant.m_nIDGroupe +ALORS +// sNomColonne="COL_"+gclPresentationFicheAgd.m_clTabModele[i].m_nIDCollaborateur +// sNomColAgenda=sNomColonne+".AGD_Rdv1" +// tabRdv=AgendaListeRendezVous({sNomColAgenda,indChamp}) +// +nIndiceRdv=TableauCherche(tabRdv,tcLinéaire,"ID",gclPresentationFicheAgd.m_clTabModele[i].m_nPKID) +// SI nIndiceRdv<>-1 ALORS +// AgendaSelectPlus({sNomColAgenda,indChamp},nIndiceRdv) +// {sNomColAgenda,indChamp}[nIndiceRdv]..CouleurFond=RougePastel +// +AgendaPosition({sNomColAgenda,indChamp},Gauche(gclPresentationFicheAgd.m_clTabModele[nIndice].m_dhDateD +ebut,8)) +// FIN +// POUR TOUT LIGNE DE ZR_Collaborateur +// +SI +FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_Id=gclPresentationFicheAgd.m_clTabModele[i].m_nIDCollaborat +eur ALORS +// FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_sel1=1 +// FIN +// FIN +// FIN +// +// FIN +// +// +//FIN +//ncompteur est un entier +//POUR TOUTE LIGNE DE ZR_Collaborateur +// SI FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_Sel1=1 ALORS +// ncompteur++ +// FIN +//FIN +//SI ncompteur=0 ALORS +// gclPresentationFicheAgd.p_clCourant=gclPresentationFicheAgd:m_clTabModele[nIndice] +// clPresentationFiche est un PFicheRDV <- gclPresentationFicheAgd.Modifier() +// +SI paramSupplementaire.pclObjetAppelant<>Null ET +paramSupplementaire.sNomIDAppelant<>"InterventionAjouteRendezVous" ALORS +// clPresentationFiche<-paramSupplementaire.pclObjetAppelant +// SINON +// pclListePersonne est une PTablepersonne dynamique +// +pclListePersonne=PTablePersonne.gNouvellePresentation(6,clPresentationFiche.m_nIDLieu,clPresentationFic +he.m_nIDIntervention) +// POUR i= 1 _A_ pclListePersonne.m_clTabModele..Occurrence +// clUnPersonne est un MPersonne +06/08/2026 Isis_BO 3736 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +// SI pclListePersonne.m_clTabModele[i].m_nPKID<>clPresentationFiche.m_nIDPersonne ALORS +// clUnPersonne.m_sNom=pclListePersonne.m_clTabModele[i].m_sNom +// clUnPersonne.m_sPrenom=pclListePersonne.m_clTabModele[i].m_sPrenom +// clUnPersonne.m_nPKID=pclListePersonne.m_clTabModele[i].m_nPKID +// TableauAjoute(clPresentationFiche.m_clListePersonne,clUnPersonne) +// FIN +// FIN +// FIN +// +clPresentationFiche:m_clLieu.m_clAdresse.m_sPresentation=Remplace(clPresentationFiche:m_clLieu.m_clAdre +sse.m_sPresentation,[RC,TAB],"-") +// +ChangeFenêtreSource(CFI_RDV,FI_Fiche_Rdv,clPresentationFiche,DonneParam(DansChampFI,"FI_Agenda3",MoiMêm +e..Nom,maProcMAJObjetRetourFI,"Modification d'un Rendez-vous","Modifier")) +// gnModeRDV=0 +// FI_Planning..Plan=1 +// DonneFocus(CFI_RDV) +//FIN +Procédure locale ChargerRdvEnAttente +// Résumé : +// Syntaxe : +//ChargerRdvEnAttente () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// nIDRdv (entier sur 8 octets) : +procédure ChargerRdvEnAttente() +// vide le tableau +ZoneRépétéeSupprimeTout(ZR_RdvAttente) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +sReqSQL est une Requête SQL = +[ +SELECT Intervention.IN_RefInterne,PL_Objet,PL_Description,PL_PKID,CO_Nom,CO_Prenom FROM +Planning_RDV +INNER JOIN Intervention ON Intervention.IN_PKID =Planning_RDV.PL_IDIntervention +INNER JOIN Collaborateur ON Collaborateur.CO_PKID =Planning_RDV.PL_IDCollaborateur +WHERE Planning_RDV.PL_IDStatut={P_Statut} AND NOT Planning_RDV.Archive=1 +] +sReqSQL.P_Statut=gpclListeStatutRendezVous.RechercheEtDonneIdDepuisValeur(1) +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +ZoneRépétéeAjouteLigne(ZR_RdvAttente,"Intervention n°"+sReqSQL.IN_RefInterne,"Objet: "+sReqSQL.PL_Objet ++RC+"Description: "+sReqSQL.PL_Description+RC+sReqSQL.CO_Nom+" "+sReqSQL.CO_Prenom,sReqSQL.PL_PKID) +fin +fin +HAnnuleDéclaration(sReqSQL) +06/08/2026 Isis_BO 3737 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +LIB_NBRdvAttente=ZR_RdvAttente..Occurrence +Procédure locale ChargeSocieteIntervention +// Résumé : +// Syntaxe : +// ChargeSocieteIntervention () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargeSocieteIntervention() +STPreferenceUtilisateur est une Structure +sEntite est une chaîne +nValeur est un entier sur 8 octets +fin +UneLigne est une STPreferenceUtilisateur +tabPreferenceUser est un tableau de STPreferenceUtilisateur +nIndice est un entier +sCollab est une chaîne +// On charge un tableau de structure avec les préferences utilisateur des sociétés equipes +et collaborateurs dernièrement enregistré +nIndice=TableauCherche(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","CHOIX_SOCIETE_EQUIPE_COLLAB",gpclFicheUtilisateurEnCours.m_nPKID) +//SI nIndice<>-1 ALORS +// +sCollab=ExtraitChaîne(gpclPresenListeParamUtilisateur.m_clTabModele[nIndice].m_sValeur,3,"_",DepuisDébu +t) +// POUR TOUTE CHAÎNE Cola DE sCollab SEPAREE PAR ";" +// UneLigne.sEntite="Collaborateur" +// UneLigne.nValeur=Val(Cola) +// TableauAjouteLigne(tabPreferenceUser,UneLigne) +// FIN +//fin +si nIndice<>-1 alors +si paramSupplementaire.pclObjetAppelant.m_clListeCollabGroup..Occurrence = 0 alors +sCollab=ExtraitChaîne(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele[ +nIndice].m_sValeur,3,"_",DepuisDébut) +pour toute chaîne Cola de sCollab séparée par ";" +UneLigne.sEntite="Collaborateur" +UneLigne.nValeur=Val(Cola) +TableauAjouteLigne(tabPreferenceUser,UneLigne) +fin +sinon +pour i=1 _à_ paramSupplementaire.pclObjetAppelant.m_clListeCollabGroup..Occurrence +sCollab+=[";"]+paramSupplementaire.pclObjetAppelant.m_clListeCollabGroup[i].m_nPKID +fin +fin +fin +nSelectSansEquipe,nSelectAvecEquipe sont des entiers +nIdSoc est un entier sur 8 octets=paramSupplementaire.pclObjetAppelant.m_nIDSociete +sListeSocSelect,sListeEquipe sont des chaînes +si nIdSoc<>0 alors +ZoneRépétéeSupprimeTout(ZR_Societe) +06/08/2026 Isis_BO 3738 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +pour tout Societe +si Societe.SO_PKID=nIdSoc alors +ZoneRépétéeAjouteLigne(ZR_Societe,Societe.SO_Nom,"Vos sociétés",Societe.SO_PKID,1) +sListeSocSelect+=[";"]+Societe.SO_PKID +sinon +ZoneRépétéeAjouteLigne(ZR_Societe,Societe.SO_Nom,"Vos sociétés",Societe.SO_PKID,0) +fin +fin +ZoneRépétéeTrie("-FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Sel"+TAB+ +"FI_Agenda3.DISP_Filtre.ZR_Societe.ATT_Nom") +fin +// On charge la ZR des équipes avec le choix des préférences utilisateur +si sListeSocSelect<>"" alors +ZoneRépétéeSupprimeTout(ZR_Equipe) +pour tout Equipe +si Contient(sListeSocSelect,NumériqueVersChaîne(Equipe.EQ_IDSociete),MotComplet)=Vrai alors +ZoneRépétéeAjouteLigne(ZR_Equipe,Equipe.EQ_Nom,"Vos équipes",Equipe.EQ_PKID,1) +sListeEquipe+=[";"]+Equipe.EQ_PKID +fin +fin +si sListeEquipe<>0 alors +ZoneRépétéeAjouteLigne(ZR_Equipe,"Sans équipe","Vos équipes",0,1) +sListeEquipe+=[";"]+"0" +fin +sinon +ZoneRépétéeSupprimeTout(ZR_Equipe) +ZoneRépétéeAjouteLigne(ZR_Equipe,"Sans équipe","Vos équipes",0,1) +sListeEquipe+=[";"]+"0" +fin +pour toute ligne de ZR_Equipe +si FI_Agenda3.DISP_Filtre.ZR_Equipe.ATT_Sel=1 alors +si ZR_Equipe.ATT_Id=0 alors +nSelectSansEquipe++ +sinon +nSelectAvecEquipe++ +fin +fin +fin +ZoneRépétéeTrie("-FI_Agenda3.DISP_Filtre.ZR_Equipe.ATT_Sel"+TAB+ +"FI_Agenda3.DISP_Filtre.ZR_Equipe.ATT_Nom") +reqCollab est une Requête SQL = +[ +SELECT CO_Nom,CO_Prenom,CO_PKID,Equipe.EQ_Nom,Equipe.EQ_PKID FROM Collaborateur +LEFT OUTER JOIN Equipe_Collaborateur ON Equipe_Collaborateur.EC_IDCollaborateur=Collaborateur. +CO_PKID +LEFT OUTER JOIN Equipe ON Equipe.EQ_PKID=Equipe_Collaborateur.EC_IDEquipe +WHERE Equipe.EQ_PKID IN ({P_IdEquipe}) AND Collaborateur.CO_AuPlanning=1 +ORDER BY EQ_Nom,CO_Nom +] +reqCollab.P_IdEquipe=sListeEquipe +HExécuteRequête(reqCollab,hRequêteDéfaut) +sIdCollab est une chaîne +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +pour tout reqCollab +sIdCollab +=[";"]+reqCollab.CO_PKID +si reqCollab.EQ_Nom<>"" alors +// +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" +"+reqCollab.CO_Prenom,reqCollab.EQ_Nom,reqCollab.CO_PKID,0,0) +// SINON +// +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom,"Sans +équipe",reqCollab.CO_PKID,0,0) +06/08/2026 Isis_BO 3739 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +// FIN +si Contient(sCollab,NumériqueVersChaîne(reqCollab.CO_PKID),MotComplet)=Vrai alors +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom,reqCollab +.EQ_Nom,reqCollab.CO_PKID,0,1) +sinon +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom,reqCollab +.EQ_Nom,reqCollab.CO_PKID,0,0) +fin +sinon +si Contient(sCollab,NumériqueVersChaîne(reqCollab.CO_PKID),MotComplet)=Vrai alors +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom, +"Sans équipe",reqCollab.CO_PKID,0,1) +sinon +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom, +"Sans équipe",reqCollab.CO_PKID,0,0) +fin +fin +fin +HAnnuleDéclaration(reqCollab) +IdEquipe est une chaîne +si nSelectSansEquipe>0 alors +si nSelectAvecEquipe=0 alors +pour toute ligne de ZR_Equipe +si ZR_Equipe.ATT_Id<>0 alors +IdEquipe +=[";"]+ZR_Equipe.ATT_Id +fin +reqCollab.P_IdEquipe=IdEquipe +HExécuteRequête(reqCollab,hRequêteDéfaut) +ZoneRépétéeSupprimeTout(ZR_Collaborateur) +pour tout reqCollab +sIdCollab +=[";"]+reqCollab.CO_PKID +fin +HAnnuleDéclaration(reqCollab) +fin +fin +reqcollabsansequipe est une Requête SQL = +[ +SELECT DISTINCT CO_Nom,CO_Prenom,CO_PKID FROM Collaborateur +INNER JOIN Societe_Collaborateur ON Societe_Collaborateur.SC_IDCollaborateur=Collaborateur. +CO_PKID +WHERE Societe_Collaborateur.SC_IDCSociete IN ({P_IdSoc}) AND Collaborateur.CO_PKID NOT IN ( +{P_IdCollab}) AND Collaborateur.CO_AuPlanning=1 +ORDER BY CO_Nom,CO_Prenom +] +si sIdCollab<>"" alors +reqcollabsansequipe.P_IdCollab=sIdCollab +sinon +sIdCollab=-1 +reqcollabsansequipe.P_IdCollab=sIdCollab +fin +reqcollabsansequipe.P_IdSoc=nIdSoc +HExécuteRequête(reqcollabsansequipe,hRequêteDéfaut) +pour tout reqcollabsansequipe +ZoneRépétéeAjouteLigne(ZR_Collaborateur,reqcollabsansequipe.CO_Nom+" "+reqcollabsansequipe. +CO_Prenom,"Sans équipe",reqcollabsansequipe.CO_PKID,0,0) +fin +HAnnuleDéclaration(reqcollabsansequipe) +fin +si sCollab<>"0" alors +pour toute ligne de ZR_Collaborateur +si Contient(sCollab,NumériqueVersChaîne(ZR_Collaborateur.ATT_Id),MotComplet) alors +ZR_Collaborateur.ATT_sel1=1 +fin +fin +sinon +ZR_Collaborateur[1].ATT_sel1=1 +06/08/2026 Isis_BO 3740 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +fin +ZoneRépétéeTrie("-FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_sel1"+TAB+ +"FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_Titre"+TAB+ +"FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_Nom") +Procédure locale ChercheIndiceTab +// Résumé : +// Syntaxe : +//[ = ] ChercheIndiceTab (, est entier sur 8 octets, +est chaîne) +// +// Paramètres : +// tableauRecherche : +// nValeur (entier sur 8 octets) : +// sEntite (chaîne ANSI) : +// Valeur de retour : +// entier : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChercheIndiceTab(tableauRecherche,local nValeur est un entier sur 8 octets,sEntite est une +chaîne) +nIndice est un entier=TableauCherche(tableauRecherche,tcLinéaire,"nValeur;sEntite",nValeur,sEntite) +renvoyer nIndice +Procédure locale CreaJourFerie +// Résumé : +// Syntaxe : +// CreaJourFerie () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure CreaJourFerie() +// Suppression de tous les jours fériés +JourFériéSupprimeTout() +// Initialisation des 11 jours fériés communs aux départements français et DOM/TOM +JourFériéAjoute("0101") // 1er Janvier +JourFériéAjoute(jfLundiDePâques) // Lundi de Pâques +JourFériéAjoute("0501") // 1er Mai +JourFériéAjoute("0508") // 8 Mai +JourFériéAjoute(jfJeudiDeLAscension) // Jeudi de l'Ascension +JourFériéAjoute(jfLundiDePentecôte) // Lundi de Pentecôte +JourFériéAjoute("0714") // 14 Juillet +JourFériéAjoute("0815") // 15 Août (Assomption) +JourFériéAjoute("1101") // Toussaint +JourFériéAjoute("1111") // 11 Novembre +JourFériéAjoute("1225") // Noël +Procédure locale DonneFocusChamp +// Résumé : +// Syntaxe : +// DonneFocusChamp () +// +06/08/2026 Isis_BO 3741 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneFocusChamp() +DonneFocus(TABLE_Agenda) +Procédure locale Enregistre_Preferences_Planning +// Résumé : +// Syntaxe : +//Enregistre_Preferences_Planning ( est entier sur 8 octets) +// +// Paramètres : +// IdUtilisateur (entier sur 8 octets) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Enregistre_Preferences_Planning(IdUtilisateur est un entier sur 8 octets) +sSociete, sEquipe, sCollaborateur, sResult sont des chaînes +pclficheParametreUser est une PFicheParametreUtilisateur dynamique +clErreur est un CErreur +nIndice est un entier=TableauCherche(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur. +m_clTabModele,tcLinéaire,"m_nIDUtilisateur;m_sCode",IdUtilisateur,"CHOIX_SOCIETE_EQUIPE_COLLAB") +si nIndice<>-1 alors +gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.p_clCourant=gpclFicheUtilisateurEnCours: +ListeParametreUtilisateur.m_clTabModele[nIndice] +sinon +gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.p_clCourant.m_nIDUtilisateur= gpcl +FicheUtilisateurEnCours:m_nPKID +gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.p_clCourant.m_sCode = +"CHOIX_SOCIETE_EQUIPE_COLLAB" +fin +pour toute ligne de ZR_Societe +si ZR_Societe.ATT_Sel=1 alors +sSociete+=[";"]+ZR_Societe.ATT_Id +fin +fin +si sSociete="" alors +sSociete="0" +fin +pour toute ligne de ZR_Equipe +si ZR_Equipe.ATT_Sel=1 alors +sEquipe+=[";"]+ZR_Equipe.ATT_Id +fin +fin +si sEquipe="" alors +sEquipe="0" +fin +pour toute ligne de ZR_Collaborateur +si ZR_Collaborateur.ATT_sel1=1 alors +sCollaborateur+=[";"]+ZR_Collaborateur.ATT_Id +fin +fin +si sCollaborateur="" alors +sCollaborateur="0" +06/08/2026 Isis_BO 3742 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +fin +sResult=sSociete+"_"+sEquipe+"_"+sCollaborateur +gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.p_clCourant.m_sValeur=sResult +pclficheParametreUser=gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.Modifier() +// validation +si pas pclficheParametreUser.bOK(clErreur) alors +Erreur(clErreur.FormateMessage()) +fin +Procédure locale Gestion_Conflit +// Résumé : +procédure Gestion_Conflit(P_DateInf est une DateHeure,P_DateSup est une DateHeure,sP_IdRdv est une +chaîne ANSI,sP_IdGroupe est une chaîne ANSI) +Resp est une chaîne +sListeCollab est une chaîne +DuréeModif est une Durée = "0001000000" +dhDateInf est une DateHeure=P_DateInf+DuréeModif +dhDatesup est une DateHeure=P_DateSup-DuréeModif +si sP_IdGroupe=0 alors +pour tout Planning_RDV avec PL_PKID=sP_IdRdv +si sListeCollab="" alors +sListeCollab=Planning_RDV.PL_IDCollaborateur +sinon +sListeCollab+=";"+Planning_RDV.PL_IDCollaborateur +fin +fin +sinon +pour tout Planning_RDV avec PL_IDGroupe=sP_IdGroupe +sP_IdRdv+=";"+Planning_RDV.PL_PKID +si sListeCollab="" alors +sListeCollab=Planning_RDV.PL_IDCollaborateur +sinon +sListeCollab+=";"+Planning_RDV.PL_IDCollaborateur +fin +fin +fin +req est une Requête SQL = +[ +SELECT Planning_RDV.PL_Superposable,Planning_RDV.PL_IDCollaborateur,Collaborateur.CO_Nom, +Collaborateur.CO_Prenom,PL_DateDebut,PL_DateFin FROM Planning_RDV +INNER JOIN Collaborateur ON Collaborateur.CO_PKID=Planning_RDV.PL_IDCollaborateur +WHERE (Planning_RDV.PL_DateDebut BETWEEN {P_DateInf} AND {P_DateSup} OR Planning_RDV.PL_DateFin +BETWEEN {P_DateInf} AND {P_DateSup}) AND Planning_RDV.Archive=0 AND Planning_RDV.PL_IDCollaborateur +IN ({P_IdCollab}) AND NOT Planning_RDV.PL_PKID IN ({P_IdPlanning}) +] +req.P_DateInf=dhDateInf +req.P_DateSup=dhDatesup +req.P_IdCollab=sListeCollab +req.P_IdPlanning=sP_IdRdv +si pas HExécuteRequête(req,hRequêteDéfaut) alors +Resp="Erreur HFSQL : " + HErreurInfo(hErrComplet) +renvoyer Resp +fin +pour tout req +si req.PL_Superposable=0 alors +si Resp="" alors +Resp="- "+req.CO_Prenom+" "+req.CO_Nom+" :"+" Un Rdv est déjà planifié et non superposable le "+ +06/08/2026 Isis_BO 3743 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +DateVersChaîne(req.PL_DateDebut,"JJ/MM/AAAA")+" entre "+HeureVersChaîne(Droite(req.PL_DateDebut,9), +"HH:MM:SS")+" et "+HeureVersChaîne(Droite(req.PL_DateFin,9),"HH:MM:SS") +sinon +Resp+=RC+RC+"- "+ req.CO_Prenom+" "+req.CO_Nom+" :"+" Un Rdv +est déjà planifié et non superposable le "+ DateVersChaîne(req.PL_DateDebut,"JJ/MM/AAAA")+ +" entre "+HeureVersChaîne(Droite(req.PL_DateDebut,9),"HH:MM:SS")+" et "+HeureVersChaîne(Droite(req. +PL_DateFin,9),"HH:MM:SS") +fin +fin +fin +renvoyer Resp +Procédure locale InitRdv +procédure InitRdv(MonRdv est un RendezVous) +RendezVousRAZ(MonRdv) +//MonRdv.Contenu = "" +//MonRdv.Auteur = "" +//MonRdv.Catégorie = "" +//MonRdv.Note ="" +//MonRdv..Image = "" +//MonRdv.Titre ="" +//MonRdv..CouleurFond="" +//MonRdv.Ressource = "" +//MonRdv.DateDébut = "" +//MonRdv.DateFin = "" +Procédure locale MAJHSurveille +// Résumé : +// Syntaxe : +//MAJHSurveille ( est source de données, est entier, + est entier) +procédure MAJHSurveille(sdFichierDeDonnées est une Source de Données, nNuméroEnregistrement est un +entier, nAction est un entier ) +si HLit(sdFichierDeDonnées, nNuméroEnregistrement) = Faux alors +Erreur("Impossible de lire l'enregistrement notifié comme ajouté :", HErreurInfo()) +retour +fin +selon nAction +cas 1 +// Traite l'enregistrement +EnregistrementATraiter est un Enregistrement de Planning_RDV = sdFichierDeDonnées +TraiteEnregistrement(EnregistrementATraiter) +cas 2 +EnregistrementATraiter est un Enregistrement de Planning_RDV = sdFichierDeDonnées +si EnregistrementATraiter.Archive=1 alors +SupprimeEnregistrement(EnregistrementATraiter) +sinon +ModifieEnregistrement(EnregistrementATraiter) +fin +autre cas +fin +Procédure locale MAJObjetRetourFI +06/08/2026 Isis_BO 3744 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +// Résumé : +procédure MAJObjetRetourFI(*)//LOCAL sContexte est une chaîne, pclObjet est un objet dynamique +bResultat est un booléen=Vrai +nMode est un entier +sNomChamp est une chaîne +pclObjet est un objet dynamique +bReorga est un booléen=Vrai +bBloc est un booléen +si MesParamètres..Occurrence>0 alors +nMode = MesParamètres[1] +fin +selon nMode +cas 1 : +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 2 +bReorga = Faux +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 3 +bReorga = Faux +bBloc = Vrai +fin +si pclObjet <> Null alors +si pclObjet..classe = PFicheRdv alors +nIndice est un entier +nIndice=TableauCherche(gclPresentationFicheAgd.m_clTabModele,tcLinéaire,"m_nPKID",pclObjet: +m_clModeleCourant:m_nPKID,1) +si nIndice<>-1 alors +gclPresentationFicheAgd:m_clTabModele[nIndice] = pclObjet:m_clModeleCourant +gclPresentationFicheAgd:p_clCourant = gclPresentationFicheAgd:m_clTabModele[ +nIndice] +sinon +si pclObjet.m_bNouveau _et_ pclObjet.m_nIDCollaborateur > 0 alors +sTableModif est une chaîne = "COL_"+pclObjet.m_nIDCollaborateur+".AGD_Rdv1" +tabRdv est un tableau de RendezVous +tabRdv = AgendaListeRendezVous({sTableModif}) +si pclObjet.m_nPKID <= 0 alors +indice est un entier = TableauCherche(tabRdv,tcLinéaire,"ID","",1) +si indice<>-1 alors +AgendaSupprimeRendezVous(sTableModif,indice) +fin +indice=TableauCherche(gclPresentationFicheAgd.m_clTabModele,tcLinéaire,"m_nPKID", +pclObjet.m_nPKID,1) +si indice<>-1 alors +TableauSupprimeLigne(gclPresentationFicheAgd.m_clTabModele,indice) +fin +TableAffiche(TABLE_Agenda,taDébut) +fin +fin +fin +fin +sinon +TableAffiche(TABLE_Agenda,taDébut) +fin +06/08/2026 Isis_BO 3745 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +si bReorga alors +fin +paramSupplementaire.nIdFenetreAppelante=Null +paramSupplementaire.pclObjetAppelant=Null +paramSupplementaire.sContexteAppelant=Null +paramSupplementaire.sNomFenetreAppelante=Null +paramSupplementaire.sNomIDAppelant=Null +paramSupplementaire.sTitreFenetre=Null +paramSupplementaire.pclObjetAppelant=Null +ChargerRdvEnAttente() +gnModeRDV=0 +FI_Agenda3..Plan=0 +renvoyer bResultat +Procédure locale ModifieEnregistrement +// Résumé : +procédure ModifieEnregistrement(UnEnregistrement est un Enregistrement de Planning_RDV) +indice est entier +indice2 est un entier +sListeCollabSelect est une chaîne +sRefInterne est une chaîne +pour tout ligne de ZR_Collaborateur +si ZR_Collaborateur.ATT_sel1=1 alors +sListeCollabSelect+=[";"]+ZR_Collaborateur.ATT_Id +fin +fin +si sListeCollabSelect="" alors +sListeCollabSelect="0" +fin +si Contient(sListeCollabSelect,NumériqueVersChaîne(UnEnregistrement.PL_IDCollaborateur),MotComplet)= +Vrai alors +nNumCollab est un entier sur 8 octets =UnEnregistrement.PL_IDCollaborateur +sTableModif est une chaîne="COL_" + nNumCollab + ".AGD_Rdv1" +tabRdv est un tableau de RendezVous +RdvCree est un RendezVous +tabRdv=AgendaListeRendezVous({sTableModif}) +indice=TableauCherche(tabRdv,tcLinéaire,"ID",UnEnregistrement.PL_PKID,1) +//Ajout de nom contact +gclPresentListeContactRDV est un PTablePlanning_RDV_Personne dynamique +gclPresentListeContactRDV=PTablePlanning_RDV_Personne.gNouvellePresentation(UnEnregistrement. +PL_PKID) +sContactSite est une chaîne +pour i = 1 _à_ gclPresentListeContactRDV.p_nTotal +sContactSite = i=gclPresentListeContactRDV.p_nTotal ? sContactSite+gclPresentListeContactRDV. +m_clTabModele[i]:m_clPersonne:CiviliteNomPrenom sinon sContactSite+gclPresentListeContactRDV. +m_clTabModele[i]:m_clPersonne:CiviliteNomPrenom+RC +fin +si indice<>-1 alors +InitRdv(tabRdv[indice]) +si UnEnregistrement.PL_IDIntervention<>0 alors +HLitRecherchePremier(Intervention,IN_PKID,UnEnregistrement.PL_IDIntervention) +si Intervention.IN_NumDevis <> "" alors +sRefInterne=Intervention.IN_NumDevis +sinon +sRefInterne=Intervention.IN_RefInterne +06/08/2026 Isis_BO 3746 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +fin +fin +HLitRecherchePremier(ParametreMetier,PA_PKID,UnEnregistrement.PL_IDTypeActivite) +si HTrouve() alors +tabRdv[indice].Titre = sRefInterne+" "+ParametreMetier.PA_Libelle +fin +scouleur est une chaîne ANSI = DonneCouleurRDV(UnEnregistrement.PL_IDTypeActivite) +sEtatCouleur est une chaîne ANSI = DonneEtatRDV(UnEnregistrement.PL_IDStatut) +tabRdv[indice]..CouleurFond = scouleur +tabRdv[indice]..Auteur = sEtatCouleur +tabRdv[indice].Ressource= UnEnregistrement.PL_IDCollaborateur +tabRdv[indice].DateDébut= UnEnregistrement.PL_DateDebut +tabRdv[indice].DateFin= UnEnregistrement.PL_DateFin +si UnEnregistrement.PL_IDLieu<>0 alors +pclLieuRDV est une PTableLieu dynamique +pclLieuRDV=PTableLieu.gNouvellePresentation(0,UnEnregistrement.PL_IDLieu) +pclLieuRDV.p_clCourant=pclLieuRDV.m_clTabModele[1] +pclFicheLieu est une PFicheLieu dynamique= pclLieuRDV.Modifier() +tabRdv[indice].Contenu=sContactSite+RC+pclFicheLieu.p_QuickView +sinon +tabRdv[indice].Contenu= sContactSite +fin +si tabRdv[indice].Contenu <> "" alors +tabRdv[indice].Contenu+= RC +fin +si UnEnregistrement.PL_Objet <> "" alors +tabRdv[indice].Contenu+= RC+ UnEnregistrement.PL_Objet +RC+RC+UnEnregistrement. +PL_Description +sinon +tabRdv[indice].Contenu+= RC+UnEnregistrement.PL_Description +fin +tabRdv[indice].Catégorie= UnEnregistrement.PL_IDStatut +tabRdv[indice].note=UnEnregistrement.PL_IDGroupe +si Val(tabRdv[indice].Note)>0 alors +tabRdv[indice]..Image=fExtraitChemin(IMG_Lien, fFichier + fExtension) +sinon +tabRdv[indice]..Image="" +fin +sinon +InitRdv(RdvCree) +RdvCree.ID= UnEnregistrement.PL_PKID +si UnEnregistrement.PL_IDIntervention<>0 alors +HLitRecherchePremier(Intervention,IN_PKID,UnEnregistrement.PL_IDIntervention) +sRefInterne=Intervention.IN_RefInterne +fin +HLitRecherchePremier(ParametreMetier,PA_PKID,UnEnregistrement.PL_IDTypeActivite) +si HTrouve() alors +RdvCree.Titre=ParametreMetier.PA_Libelle+" n° "+sRefInterne +fin +scouleur est une chaîne ANSI = DonneCouleurRDV(UnEnregistrement.PL_IDTypeActivite) +sEtatCouleur est une chaîne ANSI = DonneEtatRDV(UnEnregistrement.PL_IDStatut) +RdvCree.CouleurFond = scouleur +RdvCree.Auteur = sEtatCouleur +RdvCree.Ressource= UnEnregistrement.PL_IDCollaborateur +RdvCree.DateDébut= UnEnregistrement.PL_DateDebut +RdvCree.DateFin= UnEnregistrement.PL_DateFin +si UnEnregistrement.PL_IDLieu<>0 alors +pclLieuRDV est une PTableLieu dynamique +pclLieuRDV=PTableLieu.gNouvellePresentation(0,UnEnregistrement.PL_IDLieu) +pclLieuRDV.p_clCourant=pclLieuRDV.m_clTabModele[1] +06/08/2026 Isis_BO 3747 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +pclFicheLieu est une PFicheLieu dynamique= pclLieuRDV.Modifier() +RdvCree.Contenu=sContactSite+RC+pclFicheLieu.p_QuickView +sinon +RdvCree.Contenu=sContactSite +fin +si RdvCree.Contenu <> "" alors +RdvCree.Contenu+= RC +fin +si UnEnregistrement.PL_Objet <> "" alors +RdvCree.Contenu+= RC+ UnEnregistrement.PL_Objet +RC+RC+UnEnregistrement.PL_Description +sinon +RdvCree.Contenu+= RC+UnEnregistrement.PL_Description +fin +RdvCree.Catégorie= UnEnregistrement.PL_IDStatut +RdvCree.Note=UnEnregistrement.PL_IDGroupe +si Val(RdvCree.Note)>0 alors +RdvCree..Image=fExtraitChemin(IMG_Lien, fFichier + fExtension) +sinon +RdvCree..Image="" +fin +AgendaAjouteRendezVous({sTableModif},RdvCree) +fin +indice=TableauCherche(gclPresentationFicheAgd.m_clTabModele,tcLinéaire,"m_nPKID",UnEnregistrement. +PL_PKID,1) +si indice<>-1 alors +gclPresentationFicheAgd.m_clTabModele[indice].m_bSAV=UnEnregistrement.PL_SAV +gclPresentationFicheAgd.m_clTabModele[indice].m_bRappelSMS=UnEnregistrement.PL_RappelSMS +gclPresentationFicheAgd.m_clTabModele[indice].m_bArchive=UnEnregistrement.Archive +gclPresentationFicheAgd.m_clTabModele[indice].m_bPrive=UnEnregistrement.PL_Prive +gclPresentationFicheAgd.m_clTabModele[indice].m_bSuperposable=UnEnregistrement.PL_Superposable +gclPresentationFicheAgd.m_clTabModele[indice].m_dhDateArchivage=UnEnregistrement.DateArchivage +gclPresentationFicheAgd.m_clTabModele[indice].m_dhDateDebut=UnEnregistrement.PL_DateDebut +gclPresentationFicheAgd.m_clTabModele[indice].m_dhDateFin=UnEnregistrement.PL_DateFin +gclPresentationFicheAgd.m_clTabModele[indice].m_dhModifDate=UnEnregistrement.ModifDate +gclPresentationFicheAgd.m_clTabModele[indice].m_sDescription=UnEnregistrement.PL_Description +gclPresentationFicheAgd.m_clTabModele[indice].m_nModifUser=UnEnregistrement.ModifUser +si gclPresentationFicheAgd.m_clTabModele[indice].m_nIDCollaborateur=UnEnregistrement. +PL_IDCollaborateur alors +gclPresentationFicheAgd.m_clTabModele[indice].m_nIDCollaborateur=UnEnregistrement. +PL_IDCollaborateur +sinon +tabRdv=AgendaListeRendezVous({"COL_"+gclPresentationFicheAgd.m_clTabModele[indice].m_n +IDCollaborateur+".AGD_Rdv1"}) +indice2=TableauCherche(tabRdv,tcLinéaire,"ID",UnEnregistrement.PL_PKID,1) +si indice2<>-1 alors +AgendaSupprimeRendezVous({"COL_"+gclPresentationFicheAgd.m_clTabModele[indice].m_n +IDCollaborateur+".AGD_Rdv1"},indice2) +fin +fin +gclPresentationFicheAgd.m_clTabModele[indice].m_nIDDossier=UnEnregistrement.PL_IDDossier +gclPresentationFicheAgd.m_clTabModele[indice].m_nIDEquipe=UnEnregistrement.PL_IDEquipe +gclPresentationFicheAgd.m_clTabModele[indice].m_nIDGroupe=UnEnregistrement.PL_IDGroupe +gclPresentationFicheAgd.m_clTabModele[indice].m_nIDGroupeDate=UnEnregistrement.PL_IdGroupeDate +gclPresentationFicheAgd.m_clTabModele[indice].m_nIDIntervention=UnEnregistrement. +PL_IDIntervention +gclPresentationFicheAgd.m_clTabModele[indice].m_nIDSociete=UnEnregistrement.PL_IDSociete +gclPresentationFicheAgd.m_clTabModele[indice].m_nIDStatut=UnEnregistrement.PL_IDStatut +gclPresentationFicheAgd.m_clTabModele[indice].m_nIDTypeActivite=UnEnregistrement. +PL_IDTypeActivite +gclPresentationFicheAgd.m_clTabModele[indice].m_sObjet=UnEnregistrement.PL_Objet +fin +06/08/2026 Isis_BO 3748 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +TableAffiche(TABLE_Agenda,taDébut) +ChargerRdvEnAttente() +ZoneRépétéeAffiche(ZR_RdvAttente) +si ZR_RdvAttente..Occurrence=0 alors +DISP_Filtre[1]..Visible=Faux +sinon +DISP_Filtre[1]..Visible=Vrai +fin +fin +Procédure locale OuvrirRDVAgd0 +procédure OuvrirRDVAgd0() +quand exception dans +clPresentationFiche3 est un PFicheRdv <- gclPresentationFicheAgd.Modifier() +Ouvre(FEN_Fiche_RDV_F,clPresentationFiche3,DonneParam(DansChampFI,"fi_agenda3",MoiMême..Nom, +maProcMAJObjetRetourFI,"Modification d'un rendez-vous","modifier")) +faire +ExécuteTraitement(FI_Agenda3.BTN_Afficher,trtClic) +fin +Procédure locale RafraichissementFiche +// Résumé : +// Syntaxe : +//RafraichissementFiche ( est STParamFenetreAppelante) +// +// Paramètres : +// stParamSupplementaire (STParamFenetreAppelante) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RafraichissementFiche(stParamSupplementaire est STParamFenetreAppelante) +sNomColonne est une chaîne +sNomColAgenda est une chaîne +nIndiceRdv est un entier +tabRdv est un tableau de RendezVous +sListeCollab est une chaîne +si stParamSupplementaire.eTypeAppel<>Libre _et_ stParamSupplementaire.sNomIDAppelant<>"" alors +selon stParamSupplementaire.sNomIDAppelant +cas "InterventionRendezVous" : +pour tout ligne de ZR_Collaborateur +//FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_sel1=0 +FI_Agenda3.DISP_Filtre.ZR_Collaborateur.INT_Sel=0 +fin +si stParamSupplementaire.pclObjetAppelant.m_nIDGroupe<>0 alors +pour tout Planning_RDV avec PL_IDGroupe=stParamSupplementaire.pclObjetAppelant. +m_nIDGroupe +sListeCollab+=[";"]+Planning_RDV.PL_IDCollaborateur +fin +pour toute ligne de ZR_Collaborateur +si Contient(sListeCollab,NumériqueVersChaîne(ZR_Collaborateur.ATT_Id),MotComplet) +alors +ZR_Collaborateur.INT_Sel =1 +//ZR_Collaborateur.ATT_sel1=1 +fin +fin +06/08/2026 Isis_BO 3749 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +sinon +pour toute ligne de ZR_Collaborateur +si ZR_Collaborateur.ATT_Id=stParamSupplementaire.pclObjetAppelant. +m_nIDCollaborateur alors +ZR_Collaborateur.INT_Sel =1 +//ZR_Collaborateur.ATT_sel1=1 +fin +fin +fin +sUneColonne est une chaîne +sAgendaColonne est une chaîne +CalendrierSelectPlus(CAL_Planning,stParamSupplementaire.pclObjetAppelant.m_dhDateDebut) +pour nColonne = 1 _à_ TableOccurrence(TABLE_Agenda, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_Agenda, nColonne) +sAgendaColonne=sUneColonne+".AGD_Rdv1" +AgendaPosition(sAgendaColonne,CalendrierSelect(CAL_Planning)) +AgendaChangeMode(sAgendaColonne,agzSemaineSur5) +fin +TableAffiche(TABLE_Agenda,1) +LIB_Mois=CalendrierSelect(CAL_Planning) +si BTN_Mois..Enfoncé=Vrai alors +LIB_Semaine="" +sinon +d est une Date = CalendrierSelect(CAL_Planning) +LIB_Semaine=ChaîneConstruit("Semaine %1", DateVersNuméroDeSemaine(d)) +fin +Charge_ChangementPeriode() +nIndice est un entier +si stParamSupplementaire.pclObjetAppelant.m_nIDGroupe =0 alors +nIndice= TableauCherche(gclPresentationFicheAgd.m_clTabModele,tcLinéaire,"m_nPKID" +,stParamSupplementaire.pclObjetAppelant.m_nPKID) +si nIndice<>-1 alors +sNomColonne="COL_"+gclPresentationFicheAgd.m_clTabModele[nIndice].m_n +IDCollaborateur +sNomColAgenda=sNomColonne+".AGD_Rdv1" +AgendaPosition({sNomColAgenda,indChamp},Gauche(gclPresentationFicheAgd. +m_clTabModele[nIndice].m_dhDateDebut,8)) +tabRdv=AgendaListeRendezVous({sNomColAgenda,indChamp}) +nIndiceRdv=TableauCherche(tabRdv,tcLinéaire,"ID",stParamSupplementaire. +pclObjetAppelant.m_nPKID) +si nIndiceRdv<>-1 alors +AgendaSelectPlus({sNomColAgenda,indChamp},nIndiceRdv) +{sNomColAgenda,indChamp}[nIndiceRdv]..CouleurFond=RougePastel +fin +fin +sinon +nIndice= TableauCherche(gclPresentationFicheAgd.m_clTabModele,tcLinéaire,"m_nPKID", +stParamSupplementaire.pclObjetAppelant.m_nPKID) +si nIndice<>-1 alors +pour i= 1 _à_ gclPresentationFicheAgd.m_clTabModele..Occurrence +si gclPresentationFicheAgd.m_clTabModele[i].m_nIDGroupe=stParamSupplementaire +.pclObjetAppelant.m_nIDGroupe alors +sNomColonne="COL_"+gclPresentationFicheAgd.m_clTabModele[i].m_n +IDCollaborateur +sNomColAgenda=sNomColonne+".AGD_Rdv1" +tabRdv=AgendaListeRendezVous({sNomColAgenda,indChamp}) +nIndiceRdv=TableauCherche(tabRdv,tcLinéaire,"ID",gclPresentationFicheAgd. +06/08/2026 Isis_BO 3750 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +m_clTabModele[i].m_nPKID) +si nIndiceRdv<>-1 alors +AgendaSelectPlus({sNomColAgenda,indChamp},nIndiceRdv) +{sNomColAgenda,indChamp}[nIndiceRdv]..CouleurFond=RougePastel +fin +fin +fin +fin +fin +cas "InterventionAjouteRendezVous" +// ChargeSocieteIntervention() +gsDateJour=DateDuJour() +gsDateJour..Jour-=10 +gsdateInf= gsDateJour +gsDateJour..Jour+=20 +gsdateSup= gsDateJour +TABLE_Agenda..AffichageActif=Faux +paramSupplementaire=stParamSupplementaire +ChargeSocieteIntervention() +RempliAgenda(gsdateInf,gsdateSup) +ChangeZRModeCollab() +TABLE_Agenda..AffichageActif=Vrai +ChargerRdvEnAttente() +si (paramSupplementaire.pclObjetAppelant=Null ou paramSupplementaire.sNomIDAppelant= +"InterventionAjouteRendezVous") et OngletEtat(FEN_Menu.ONG_FENETRE,"FI_Planning")<> +voletInexistant alors +ChargeParametresPlanning() +// SINON +// ChangeZRModeCollab() +fin +si ZR_RdvAttente..Occurrence=0 alors +DISP_Filtre[1]..Visible=Faux +sinon +DISP_Filtre[1]..Visible=Vrai +fin +autre cas +ChargerRdvEnAttente() +si (paramSupplementaire.pclObjetAppelant=Null ou paramSupplementaire.sNomIDAppelant= +"InterventionAjouteRendezVous") et OngletEtat(FEN_Menu.ONG_FENETRE,"FI_Planning")<> +voletInexistant alors +ChargeParametresPlanning() +sinon +ChangeZRModeCollab() +fin +si ZR_RdvAttente..Occurrence=0 alors +DISP_Filtre[1]..Visible=Faux +sinon +DISP_Filtre[1]..Visible=Vrai +fin +fin +fin +ScrollbarPosition(TABLE_Agenda, sbHorz,1) +Procédure locale RempliAgenda +// Résumé : +// Syntaxe : +//RempliAgenda ( est date, est date) +// +// Paramètres : +// Date_Inf (date) : +// Date_Sup (date) : +06/08/2026 Isis_BO 3751 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RempliAgenda(Date_Inf est une Date,Date_Sup est une Date) +nCompteur est un entier +sCollab est une chaîne +monRDv est un RendezVous +sNomColonne est une chaîne +sNomColAgenda est une chaîne +sRefInterne est une chaîne +taInfoIntervention est un tableau associatif de stInfoIntervention +taPlanning est un tableau associatif de PTablePlanning_RDV_Personne dynamique +clPlanningRdvPersonneest un MTableauDePlanning_RDV_Personne dynamique +taLieu est un tableau associatif de PTableLieu dynamique +pclModeleLieu est un MTableauDeLieu dynamique +i est un entier +pour nColonne = 1 _à_ TableOccurrence(TABLE_Agenda, toColonne) +sNomColonne = TableEnumèreColonne(TABLE_Agenda, nColonne) +sNomColAgenda = sNomColonne+".AGD_Rdv1" +AgendaSupprimeTout({sNomColAgenda}) +fin +pour toute ligne de ZR_Collaborateur +si ATT_sel1=1 alors +nCompteur++ +sCollab+=[";"]+FI_Agenda3.DISP_Filtre.ZR_Collaborateur.ATT_Id +fin +fin +si sCollab="" alors +sCollab="0" +fin +si nCompteur=0 alors +gclPresentationFicheAgd = PTableRDV.gNouvellePresentation(3,-1,-1,sCollab,Date_Inf,Date_Sup) +TABLE_Agenda..Visible= Faux +retour +sinon +TABLE_Agenda..Visible= Vrai +gclPresentationFicheAgd = PTableRDV.gNouvellePresentation(3,-1,-1,sCollab,Date_Inf,Date_Sup) +fin +// Recherches des info supplémentaire lié aux rdvs +tabRdv est un tableau de MRdv = gclPresentationFicheAgd.m_clTabModele +(taInfoIntervention,taPlanning,taLieu) = RechercheInfoRdv(tabRdv) +pour tout pclRdv de gclPresentationFicheAgd.m_clTabModele +InitRdv(monRDv) +//Remettre les valeur par defaut +sRefInterne = "" +i += 1 +//Ajout de nom contact +gclPresentListeContactRDV est un PTablePlanning_RDV_Personne dynamique +si taPlanning[pclRdv.m_nPKID]..Existe alors +gclPresentListeContactRDV=taPlanning[pclRdv.m_nPKID] +sinon +// s'il n'existe pas dans le tableau ca veux dire que le rdv +n'a pas de lien avec la table personne +clPlanningRdvPersonne = allouer un MTableauDePlanning_RDV_Personne +clPresentation est un PTablePlanning_RDV_Personne(clPlanningRdvPersonne) +gclPresentListeContactRDV=clPresentation +fin +06/08/2026 Isis_BO 3752 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +sContactSite est une chaîne +pour i = 1 _à_ gclPresentListeContactRDV.p_nTotal +sContactSite = i=gclPresentListeContactRDV.p_nTotal ? sContactSite+gclPresentListeContactRDV. +m_clTabModele[i]:m_clPersonne:CiviliteNomPrenom sinon sContactSite+gclPresentListeContactRDV. +m_clTabModele[i]:m_clPersonne:CiviliteNomPrenom+RC +fin +si pclRdv.m_bArchive=Faux alors +si pclRdv.m_nIDIntervention<>0 alors +si taInfoIntervention[pclRdv.m_nIDIntervention]..Existe alors +si Taille(taInfoIntervention[pclRdv.m_nIDIntervention]:saDevis) > 1 alors +sRefInterne = taInfoIntervention[pclRdv.m_nIDIntervention]:saDevis +sinon +sRefInterne = taInfoIntervention[pclRdv.m_nIDIntervention]:saIntervention +fin +fin +fin +scouleur est une chaîne ANSI = DonneCouleurRDV(pclRdv:m_clTypeActivite:m_nPKID) +sEtatCouleur est une chaîne ANSI = DonneEtatRDV(pclRdv.m_nIDStatut) +si pclRdv.m_nIDTypeActivite > 0 alors +monRDv..Titre=sRefInterne +" "+pclRdv:m_clTypeActivite:m_sLibelle +fin +monRDv..CouleurFond = scouleur +monRDv.Auteur = sEtatCouleur +si pclRdv.m_nIDLieu<>0 alors +pclLieuRDV est une PTableLieu dynamique +si taLieu[pclRdv.m_nIDLieu]..Existe alors +pclLieuRDV=taLieu[pclRdv.m_nIDLieu] +sinon +// s'il n'existe pas dans le tableau ca veux dire que le rdv +n'a pas de lien avec la table lieu +pclModeleLieu = allouer un MTableauDeLieu +clPresentation2 est un PTableLieu(pclModeleLieu) +pclLieuRDV = clPresentation2 +fin +si pclLieuRDV.m_clTabModele..OCCURRENCE<>0 alors +pclLieuRDV.p_clCourant=pclLieuRDV.m_clTabModele[1] +pclFicheLieu est une PFicheLieu dynamique= pclLieuRDV.Modifier() +monRDv.Contenu=sContactSite+RC+pclFicheLieu.p_QuickView +sinon +monRDv.Contenu=sContactSite +fin +fin +si monRDv.Contenu <> "" alors +monRDv.Contenu+= RC +fin +si pclRdv.m_sObjet <> "" alors +monRDv.Contenu+= RC+ pclRdv.m_sObjet +RC+RC+pclRdv.m_sDescription +sinon +monRDv.Contenu+= RC+pclRdv.m_sDescription +fin +monRDv..DateDébut= pclRdv.m_dhDateDebut +monRDv..DateFin = pclRdv.m_dhDateFin +monRDv..Catégorie= pclRdv.m_nIDStatut +monRDv..ID = pclRdv.m_nPKID +monRDv..Note = pclRdv.m_nIDGroupe +06/08/2026 Isis_BO 3753 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +monRDv..Bulle = monRDv..Titre + RC + DateVersChaîne(monRDv..DateDébut,"HH:mm")+" - "+ +DateVersChaîne(monRDv..DateFin,"HH:mm") +RC+ monRDv.Contenu +si pclRdv.m_nIDGroupe>0 alors +monRDv..Image=fExtraitChemin(IMG_Lien, fFichier + fExtension) +sinon +monRDv..Image="" +fin +sNomColonne = "COL_"+pclRdv.m_nIDCollaborateur +sNomColAgenda = sNomColonne+".AGD_Rdv1" +monRDv..Lieu = RougeClair +AgendaAjouteRendezVous({sNomColAgenda,indChamp},monRDv) +fin +fin +Procédure locale SupprimeEnregistrement +// Résumé : +// Syntaxe : +//SupprimeEnregistrement ( est Enregistrement) +procédure SupprimeEnregistrement(UnEnregistrement est un Enregistrement de Planning_RDV) +indice est entier +nNumCollab est un entier sur 8 octets =UnEnregistrement.PL_IDCollaborateur +sListeCollabSelect est une chaîne +pour tout ligne de ZR_Collaborateur +si ZR_Collaborateur.ATT_sel1=1 alors +sListeCollabSelect+=[";"]+ZR_Collaborateur.ATT_Id +fin +fin +si sListeCollabSelect="" alors +sListeCollabSelect="0" +fin +si Contient(sListeCollabSelect,NumériqueVersChaîne(UnEnregistrement.PL_IDCollaborateur),MotComplet)= +Vrai alors +sTableModif est une chaîne="COL_"+nNumCollab+".AGD_Rdv1" +tabRdv est un tableau de RendezVous +tabRdv=AgendaListeRendezVous({sTableModif}) +indice=TableauCherche(tabRdv,tcLinéaire,"ID",UnEnregistrement.PL_PKID,1) +si indice<>-1 alors +AgendaSupprimeRendezVous(sTableModif,indice) +fin +indice=TableauCherche(gclPresentationFicheAgd.m_clTabModele,tcLinéaire,"m_nPKID",UnEnregistrement. +PL_PKID,1) +si indice<>-1 alors +TableauSupprimeLigne(gclPresentationFicheAgd.m_clTabModele,indice) +fin +TableAffiche(TABLE_Agenda,taDébut) +ChargerRdvEnAttente() +ZoneRépétéeAffiche(ZR_RdvAttente) +si ZR_RdvAttente..Occurrence=0 alors +DISP_Filtre[1]..Visible=Faux +sinon +DISP_Filtre[1]..Visible=Vrai +fin +fin +Procédure locale TraiteEnregistrement +06/08/2026 Isis_BO 3754 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +// Résumé : +procédure TraiteEnregistrement(UnEnregistrement est un Enregistrement de Planning_RDV) +RdvCree est un RendezVous +nIndiceRDV est un entier +sListeCollabSelect est une chaîne +sRefInterne est une chaîne +pour tout ligne de ZR_Collaborateur +si ZR_Collaborateur.ATT_sel1=1 alors +sListeCollabSelect+=[";"]+ZR_Collaborateur.ATT_Id +fin +fin +si sListeCollabSelect="" alors +sListeCollabSelect="0" +fin +InitRdv(RdvCree) +si Contient(sListeCollabSelect,NumériqueVersChaîne(UnEnregistrement.PL_IDCollaborateur),MotComplet)= +Vrai alors +nNumCollab est un entier sur 8 octets =UnEnregistrement.PL_IDCollaborateur +sTableModif est une chaîne="TABLE_Agenda.COL_"+nNumCollab+".AGD_Rdv1" +RdvCree.ID= UnEnregistrement.PL_PKID +si UnEnregistrement.PL_IDIntervention<>0 alors +HLitRecherchePremier(Intervention,IN_PKID,UnEnregistrement.PL_IDIntervention) +si Intervention.IN_NumDevis <> "" alors +sRefInterne=Intervention.IN_NumDevis +sinon +sRefInterne=Intervention.IN_RefInterne +fin +fin +HLitRecherchePremier(ParametreMetier,PA_PKID,UnEnregistrement.PL_IDTypeActivite) +si HTrouve() alors +RdvCree.Titre=sRefInterne+" "+ParametreMetier.PA_Libelle +fin +scouleur est une chaîne ANSI = DonneCouleurRDV(UnEnregistrement.PL_IDTypeActivite) +sEtatCouleur est une chaîne ANSI = DonneEtatRDV(UnEnregistrement.PL_IDStatut) +RdvCree.CouleurFond = scouleur +RdvCree.Auteur = sEtatCouleur +RdvCree.Ressource= UnEnregistrement.PL_IDCollaborateur +RdvCree.DateDébut= UnEnregistrement.PL_DateDebut +RdvCree.DateFin= UnEnregistrement.PL_DateFin +//Ajout de nom contact +gclPresentListeContactRDV est un PTablePlanning_RDV_Personne dynamique +gclPresentListeContactRDV=PTablePlanning_RDV_Personne.gNouvellePresentation(UnEnregistrement.PL_PKID) +sContactSite est une chaîne +pour i = 1 _à_ gclPresentListeContactRDV.p_nTotal +sContactSite = i=gclPresentListeContactRDV.p_nTotal ? sContactSite+gclPresentListeContactRDV. +m_clTabModele[i]:m_clPersonne:CiviliteNomPrenom sinon sContactSite+gclPresentListeContactRDV. +m_clTabModele[i]:m_clPersonne:CiviliteNomPrenom+RC +fin +si UnEnregistrement.PL_IDLieu<>0 alors +pclLieuRDV est une PTableLieu dynamique +pclLieuRDV=PTableLieu.gNouvellePresentation(0,UnEnregistrement.PL_IDLieu) +pclLieuRDV.p_clCourant=pclLieuRDV.m_clTabModele[1] +pclFicheLieu est une PFicheLieu dynamique= pclLieuRDV.Modifier() +RdvCree.Contenu=sContactSite+RC+pclFicheLieu.p_QuickView +sinon +RdvCree.Contenu= sContactSite +fin +si RdvCree.Contenu <> "" alors +RdvCree.Contenu+= RC +06/08/2026 Isis_BO 3755 + +Partie 3 › Fenêtre WINDEV › FI_Agenda3 › Procédures +fin +si UnEnregistrement.PL_Objet <> "" alors +RdvCree.Contenu+= RC+ UnEnregistrement.PL_Objet +RC+RC+UnEnregistrement.PL_Description +sinon +RdvCree.Contenu+= RC+UnEnregistrement.PL_Description +fin +RdvCree.Catégorie= UnEnregistrement.PL_IDStatut +RdvCree.Note=UnEnregistrement.PL_IDGroupe +si Val(RdvCree.Note)>0 alors +RdvCree..Image=fExtraitChemin(IMG_Lien, fFichier + fExtension) +sinon +RdvCree..Image="" +fin +nIndiceRDV=AgendaAjouteRendezVous({sTableModif},RdvCree) +//gclPresentation.m_clTabModele[nIndiceRDV].m_bArchive=UnEnregistrement.Archive +//gclPresentation.m_clTabModele[nIndiceRDV].m_nIDTypeActivite=UnEnregistrement.PL_IDTypeActivite +//gclPresentation.m_clTabModele[nIndiceRDV].m_bPrive=UnEnregistrement.PL_Prive +//gclPresentation.m_clTabModele[nIndiceRDV].m_bSuperposable=UnEnregistrement.PL_Superposable +//gclPresentation.m_clTabModele[nIndiceRDV].m_nIDDossier=UnEnregistrement.PL_IDDossier +//gclPresentation.m_clTabModele[nIndiceRDV].m_nIDEquipe=UnEnregistrement.PL_IDEquipe +//gclPresentation.m_clTabModele[nIndiceRDV].m_nIDIntervention=UnEnregistrement.PL_IDIntervention +//gclPresentation.m_clTabModele[nIndiceRDV].m_nIDSociete=UnEnregistrement.PL_IDSociete +//gclPresentation.m_clTabModele[nIndiceRDV].m_clTypeActivite.m_nPKID=UnEnregistrement.PL_IDTypeActivite +//gclPresentation.m_clTabModele[nIndiceRDV].m_clTypeActivite.m_sCode=RdvCree.Titre +// +clPresentationFiche est un PFicheRdv<-gclPresentationFicheAgd.Nouveau() +clPresentationFiche.m_bNouveau=Vrai +clPresentationFiche.m_bArchive=UnEnregistrement.Archive +clPresentationFiche.m_bPrive=UnEnregistrement.PL_Prive +clPresentationFiche.m_bSuperposable=UnEnregistrement.PL_Superposable +clPresentationFiche.m_dhDateArchivage=UnEnregistrement.DateArchivage +clPresentationFiche.m_dhDateDebut=UnEnregistrement.PL_DateDebut +clPresentationFiche.m_dhDateFin=UnEnregistrement.PL_DateFin +clPresentationFiche.m_dhModifDate=UnEnregistrement.ModifDate +clPresentationFiche.m_sDescription=UnEnregistrement.PL_Description +clPresentationFiche.m_nModifUser=UnEnregistrement.ModifUser +clPresentationFiche.m_nIDCollaborateur=UnEnregistrement.PL_IDCollaborateur +clPresentationFiche.m_nIDDossier=UnEnregistrement.PL_IDDossier +clPresentationFiche.m_nIDEquipe=UnEnregistrement.PL_IDEquipe +clPresentationFiche.m_nIDGroupe=UnEnregistrement.PL_IDGroupe +clPresentationFiche.m_nIDGroupeDate=UnEnregistrement.PL_IdGroupeDate +clPresentationFiche.m_nIDIntervention=UnEnregistrement.PL_IDIntervention +clPresentationFiche.m_nIDSociete=UnEnregistrement.PL_IDSociete +clPresentationFiche.m_nIDStatut=UnEnregistrement.PL_IDStatut +clPresentationFiche.m_nIDTypeActivite=UnEnregistrement.PL_IDTypeActivite +clPresentationFiche.m_dhCreationDate=UnEnregistrement.CreationDate +clPresentationFiche.m_nCreationUser=UnEnregistrement.CreationUser +clPresentationFiche.m_nPKID=UnEnregistrement.PL_PKID +clPresentationFiche.m_sObjet=UnEnregistrement.PL_Objet +clPresentationFiche.m_bCR=UnEnregistrement.PL_CR +clPresentationFiche.m_bSAV=UnEnregistrement.PL_sav +clPresentationFiche.m_bRappelSMS=UnEnregistrement.PL_RappelSMS +clPresentationFiche.AppelProcValidation() +TableAffiche(TABLE_Agenda,taDébut) +ChargerRdvEnAttente() +ZoneRépétéeAffiche(ZR_RdvAttente) +si ZR_RdvAttente..Occurrence=0 alors +DISP_Filtre[1]..Visible=Faux +sinon +DISP_Filtre[1]..Visible=Vrai +fin +fin +06/08/2026 Isis_BO 3756 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Image +FI_ResultatsRecherche +Image +FI_ResultatsRecherche +Informations générales +FI_ResultatsRecherche +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_ResultatsRecherche.wdw +Créé par XVA +06/08/2026 Isis_BO 3757 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations générales +| Date de création | | 21/01/2019 17:09:14 | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:30 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1325 Hauteur | 707 | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| Anim. Fermeture | | 0 | | | | +| Durée Anim. Ouverture | | 100 | | | | +| 06/08/2026 | | | Isis_BO | | 3758 | + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations générales +| Durée Anim. Fermeture | | 50 | | | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | --- | --- | +| Adapte Taille contenu | | Non | | | | | | | +| Assombri quand inactif | | Oui | | | | | | | +| Déplace souris sur bouton par | | Non | | | | | | | +| Compact. barres outils | | Non | | | | | | | +Statistiques de la fenêtre +| | Libellé | | | 2 | Table | | | 5 | +| --- | --------------- | --- | --- | --- | ---------------------- | --- | --- | --- | +| | Fenêtre interne | | | 1 | Colonne de table | | | 45 | +| | Disposition | | | 1 | Cellule de disposition | | | 5 | +Nombre d'éléments dans la fenêtre : 59 +FI_ResultatsRecherche +Informations sur les champs +Fenêtre : FI_ResultatsRecherche +Fenêtre interne +BAT ehcuoT +| | | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FI_ResultatsRecherche | | | 0 | 0 1325 | 707 | 0 | | | +| --------------------- | --- | --- | --- | ------ | --- | --- | --- | --- | +Fenêtre interne : FI_ResultatsRecherche +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Result | | 528 | 69 255 | 41 0 | Actif | Centre | Haut | | +| ------------- | --- | --- | ------ | ------- | ----- | ------ | ---- | ---- | +| LIB_TitrePage | | 3 | 0 1322 | 43 0 | Actif | Centre | Haut | | +| 06/08/2026 | | | | Isis_BO | | | | 3759 | + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +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 | | | | | +| --- | --------------------- | ------- | --- | ------------ | -------- | --- | --- | --- | +| | | ruetuaH | | | sruocraP | | | | +ruegraL +elbisiV +| | | | nalP | elbaT | | | | | +| ------------------ | --- | ----------- | ---------- | -------- | --- | --- | --- | --- | +| TABLE_DOSSIER | 0 | 0 1310 122 | 0 affichag | Variable | | | | 3 | +| TABLE_Intervention | 0 | 0 1310 120 | 0 affichag | Variable | | | | 8 | +| TABLE_LIEU | 0 | 2 1310 127 | 0 affichag | Variable | | | | 10 | +| TABLE_LISTE_CLIENT | 0 | -1 1310 127 | 0 affichag | Variable | | | | 4 | +| TABLE_PERSONNE | 0 | -2 1310 127 | 0 affichag | Variable | | | | 7 | +Disposition +BAT ehcuoT +| | | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| DISP_TableRecherche | | | 12 | 39 1310 | 668 | 0 | Actif | | +| ------------------- | --- | --- | --- | ------- | --- | --- | ----- | --- | +Table : FI_ResultatsRecherche.DISP_TableRecherche.TABLE_DOSSIER +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_RefInterne | | 100 | affichag | | Gauche Centre | Texte | | | +| COL_IDTypeDossier | | 129 | affichag | | Gauche Centre | Texte | | | +| COL_Client | | 395 | affichag | | Gauche Centre | Texte | | | +| COL_Titre | | 324 | affichag | | Gauche Centre | Texte | | | +| COL_RefExterne | | 156 | affichag | | Gauche Centre | Texte | | | +| COL_Statut | | 191 | affichag | | Gauche Centre | Texte | | | +| 06/08/2026 | | | | Isis_BO | | | | 3760 | + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Table : FI_ResultatsRecherche.DISP_TableRecherche.TABLE_Intervention +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_IN_RefInt | 124 | Actif | | Gauche Centre | Texte | | +| COL_IDINTERVENTION | 100 | Actif | | Gauche Centre | Texte | | +| COL_NIN_IDTypeInterventi | 176 | Actif | | Gauche Centre | Texte | | +COL_NIN_IDEtatInterventi +| | 122 | Actif | | Gauche Centre | Texte | | +| ------------------------ | --- | ----- | --- | ------------- | ------- | --- | +| COL_NIN_IDLieu | 261 | Actif | | Gauche Centre | Texte | | +| COL_BIN_AttestationTVAPr | 31 | Actif | | Centre Centre | | | +| COL_NIN_IDDossier | 162 | Actif | | Droite Centre | Numériq | | +| COL_IN_Descriptif | 492 | Actif | | Gauche Centre | Texte | | +| COL_IN_RefExt | 100 | Actif | | Gauche Centre | Texte | | +Table : FI_ResultatsRecherche.DISP_TableRecherche.TABLE_LIEU +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | elbairt ennoloC | ehcrehcer cevA | | | +| --- | --- | --- | --------------- | -------------- | --- | --- | +ehcuag à eéxiF +| | | | | .zroh egardaC .trev egardaC | | | +| --- | --- | ------------ | ---------- | --------------------------- | ---------------------- | ----------- | +| | | | elbaçalpéD | | FTR tamroF | | +| | | laitini tatE | | | eisias epyT engilitluM | eisias cevA | +ruegraL +elbisiV +| epyT | | | | | | eéirT | +| ------- | --- | ----- | --- | ------------- | --- | ----- | +| COL_Sel | 30 | Actif | | Centre Centre | | | +Numériq +| COL_NPKID | 162 | affichag | | Droite Centre | | | +| ------------------- | --- | -------- | ------- | ------------- | ----- | ---- | +| COL_NIDAdresse | 146 | affichag | | Gauche Centre | Texte | | +| COL_CodeAcces | 169 | affichag | | Gauche Centre | Texte | | +| COL_Badge | 106 | affichag | | Centre Centre | | | +| COL_Interphone | 88 | affichag | | Centre Centre | | | +| COL_SCodeLieu | 285 | affichag | | Gauche Centre | Texte | | +| COL_Note | 216 | affichag | | Gauche Centre | Texte | | +| COL_NIDType | 99 | affichag | | Gauche Centre | Texte | | +| COL_Ligne_Adresse_4 | 556 | affichag | | Gauche Centre | Texte | | +| COL_Ligne_Adresse_3 | 100 | affichag | | Gauche Centre | Texte | | +| COL_CP | 50 | affichag | | Gauche Centre | Texte | | +| COL_Ville | 100 | affichag | | Gauche Centre | Texte | | +| COL_Ligne_Adresse_5 | 100 | affichag | | Gauche Centre | Texte | | +| 06/08/2026 | | | Isis_BO | | | 3761 | + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Table : FI_ResultatsRecherche.DISP_TableRecherche.TABLE_LISTE_CLIENT +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_SNom | 278 | Actif | | Gauche Centre | Texte | | +| COL_NIDType | 153 | affichag | | Gauche Haut | Texte | | +| COL_NIDStatut | 152 | affichag | | Gauche Haut | Texte | | +| COL_LibVoie | 295 | Actif | | Gauche Centre | Texte | | +| COL_Bat | 100 | Actif | | Gauche Centre | Texte | | +| COL_CP | 100 | Actif | | Gauche Centre | Texte | | +| COL_Ville | 100 | Actif | | Gauche Centre | Texte | | +| COL_Lieudit | 100 | Actif | | Gauche Centre | Texte | | +Table : FI_ResultatsRecherche.DISP_TableRecherche.TABLE_PERSONNE +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_SEL | 30 | Actif | | Centre Centre | | | +| COL_sNom | 170 | affichag | | Gauche Centre | Texte | | +| COL_sPrenom | 170 | affichag | | Gauche Centre | Texte | | +| COL_nIDRole | 179 | affichag | | Gauche Haut | Texte | | +| COL_sTelFixe | 110 | affichag | | Gauche Centre | Texte | | +| COL_sTelMobile | 112 | affichag | | Gauche Centre | Texte | | +| COL_Adresse | 179 | Actif | | Gauche Centre | Texte | | +| COL_nIDClient | 156 | affichag | | Gauche Centre | Texte | | +| 06/08/2026 | | | Isis_BO | | | 3762 | + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Fenêtre : FI_ResultatsRecherche +Fenêtre interne : FI_ResultatsRecherche +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_ResultatsRecherche +Disposition : FI_ResultatsRecherche.DISP_TableRecherche +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 6 +Débordement Tronquer le contenu +Débordement - Réduire Non +06/08/2026 Isis_BO 3763 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_ResultatsRecherche.DISP_TableRecherche.LIB_Result +Libellé FR: Aucun résultat trouvé +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 +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 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_ResultatsRecherche.LIB_TitrePage +Libellé FR: Résultats de la recherche +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 3764 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +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 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : FI_ResultatsRecherche.DISP_TableRecherche.TABLE_DOSSIER +Libellé FR: Liste des Dossiers +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Recherche +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) 22 +Marge en haut 0 +Marge en bas 0 +Marge à gauche 1 +Marge à droite 3 +Sens Vertical +Retrait gauche 2 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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) +06/08/2026 Isis_BO 3765 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +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 500 +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 +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeDossier.m_clTabModele +Rub. mémorisée :gpclListeDossier.m_clTabModele +Ajout/Suppr. dans variable Non +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 : FI_ResultatsRecherche.DISP_TableRecherche.TABLE_Intervention +Libellé FR: Liste des Interventions +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Isis_BO 3766 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Masquer lors du scrolling Non +Hauteur ligne max. 0 +Hauteur ligne (sans marges) 23 +Marge en haut 0 +Marge en bas 0 +Marge à gauche 1 +Marge à droite 3 +Sens Vertical +Retrait gauche 2 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 500 +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 +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclListeIntervention.m_clTabModele +Rub. mémorisée :gclListeIntervention.m_clTabModele +Ajout/Suppr. dans variable Non +Synchro HFSQL C/S Jamais +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 3767 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +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 : FI_ResultatsRecherche.DISP_TableRecherche.TABLE_LIEU +Libellé FR: Liste des Sites +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Recherche +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) 23 +Marge en haut 0 +Marge en bas 0 +Marge à gauche 1 +Marge à droite 3 +Sens Vertical +Retrait gauche 2 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 500 +Etat chargement Non +Retrait gauche FI détail 0 +FI détail au survol Non +Même contenu/ligne Non +06/08/2026 Isis_BO 3768 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Aff. résultats Sans affichage +Somme FR: Somme +Moyenne FR: Moyenne +Compteur FR: Compteur +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclListeSite.m_clTabModele +Rub. mémorisée :gclListeSite.m_clTabModele +Ajout/Suppr. dans variable Non +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 : FI_ResultatsRecherche.DISP_TableRecherche.TABLE_LISTE_CLIENT +Libellé FR: Listes des Clients +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre +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) 23 +Marge en haut 0 +Marge en bas 0 +Marge à gauche 1 +Marge à droite 3 +Sens Vertical +Retrait gauche 2 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Sélection multiple Non +06/08/2026 Isis_BO 3769 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +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 500 +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 +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeClient.m_clTabModele +Rub. mémorisée :gpclListeClient.m_clTabModele +Ajout/Suppr. dans variable Non +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 +06/08/2026 Isis_BO 3770 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Table : FI_ResultatsRecherche.DISP_TableRecherche.TABLE_PERSONNE +Libellé FR: Listes des Contacts +Groupe GR_MODEFORMULAIRE_LISTE_PERSONNE +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre +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) 23 +Marge en haut 0 +Marge en bas 0 +Marge à gauche 1 +Marge à droite 3 +Sens Vertical +Retrait gauche 2 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 500 +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 +Sauve position auto Non +Ruptures Enroulables Oui +06/08/2026 Isis_BO 3771 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeContact.m_clTabModele +Rub. mémorisée :gpclListeContact.m_clTabModele +Ajout/Suppr. dans variable Non +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 : FI_ResultatsRecherche.DISP_TableRecherche.TABLE_DOSSIER +Colonne de table : +Titre FR: N° +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 +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 +Liaison des données :gpclListeDossier.m_clTabModele.m_sRefInterne +06/08/2026 Isis_BO 3772 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Type de Dossier +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 129 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Liaison des données :gpclListeDossier.m_clTabModele.m_nIDTypeDossier +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Client +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 395 +Larg. déroulée perso. Non +Marge en haut 0 +Marge en bas 0 +06/08/2026 Isis_BO 3773 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +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 +Mode ellipse +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 +Liaison des données :gpclListeDossier.m_clTabModele.m_nIDClient +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Titre du Dossier +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 +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 +Liaison des données :gpclListeDossier.m_clTabModele.m_sTitre +06/08/2026 Isis_BO 3774 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Ref. Externe +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 +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 +Liaison des données :gpclListeDossier.m_clTabModele.m_sRefExterne +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Statut +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 191 +Larg. déroulée perso. Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +06/08/2026 Isis_BO 3775 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Mode ellipse +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 +Liaison des données :gpclListeDossier.m_clTabModele.m_nIDStatut +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Table : FI_ResultatsRecherche.DISP_TableRecherche.TABLE_Intervention +Colonne de table : +Titre FR: Référence Interne +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +06/08/2026 Isis_BO 3776 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Coche tous dans entête Non +Liaison des données :gclListeIntervention.m_clTabModele.m_sRefInterne +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: N° +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 +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 +Liaison des données :gclListeIntervention.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3777 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Colonne de table : +Titre FR: Type d'Intervention +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 176 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Liaison des données :gclListeIntervention.m_clTabModele.m_nIDTypeIntervention +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Etat +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 122 +Larg. déroulée perso. Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +06/08/2026 Isis_BO 3778 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Mode ellipse +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 +Liaison des données :gclListeIntervention.m_clTabModele.m_nIDEtatIntervention +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Lieu +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 261 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Liaison des données :gclListeIntervention.m_clTabModele.m_nIDLieu +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3779 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Colonne de table : +Titre FR: TVA +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Oui +Retour à la ligne Non +Coche tous dans entête Non +Liaison des données :gclListeIntervention.m_clTabModele.m_bAttestationTVAPresente +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Dossier +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 +06/08/2026 Isis_BO 3780 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Masque saisie FR: +9 999 999 999 999 999 999 +Mode ellipse +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 +Liaison des données :gclListeIntervention.m_clTabModele.m_nIDDossier +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Description +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 +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 +Liaison des données :gclListeIntervention.m_clTabModele.p_DescriptionSansRTF +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3781 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Colonne de table : +Titre FR: Ref Externe +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 +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 +Liaison des données :gclListeIntervention.m_clTabModele.m_sRefExterne +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Table : FI_ResultatsRecherche.DISP_TableRecherche.TABLE_LIEU +Colonne de table : FI_ResultatsRecherche.DISP_TableRecherche.TABLE_LIEU.COL_Sel (1) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +06/08/2026 Isis_BO 3782 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 Oui +Liaison des données :gclListeSite.m_clTabModele.m_bSelection +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Identifiant de Lieu +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: +9 999 999 999 999 999 999 +Mode ellipse +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 +Liaison des données :gclListeSite.m_clTabModele.m_nPKID +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3783 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Colonne de table : +Titre FR: Adresse du site +Curseur survol 0 +UI par l'utilisateur +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 +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 +Liaison des données :gclListeSite.m_clTabModele.m_nIDAdresse +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Code d'Acces +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 +06/08/2026 Isis_BO 3784 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclListeSite.m_clTabModele.m_sCodeAcces +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Badge +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +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 +Liaison des données :gclListeSite.m_clTabModele.m_bBadge +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3785 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Colonne de table : +Titre FR: Interphone +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +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 +Liaison des données :gclListeSite.m_clTabModele.m_bInterphone +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Nom du site +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 +06/08/2026 Isis_BO 3786 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclListeSite.m_clTabModele.m_sCodeLieu +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_ResultatsRecherche.DISP_TableRecherche.TABLE_LIEU.COL_Note +Titre FR: Note +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 +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 +Liaison des données :gclListeSite.m_clTabModele.m_sNote +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3787 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Colonne de table : +Titre FR: Type +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 99 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Liaison des données :gclListeSite.m_clTabModele.m_nIDType +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Libellé voie +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 +06/08/2026 Isis_BO 3788 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclListeSite.m_clTabModele.m_clAdresse.m_sLigne_4 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Bât./Immeuble +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 +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 +Liaison des données :gclListeSite.m_clTabModele.m_clAdresse.m_sLigne_3 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3789 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Colonne de table : FI_ResultatsRecherche.DISP_TableRecherche.TABLE_LIEU.COL_CP +Titre FR: CP +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 +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 +Liaison des données :gclListeSite.m_clTabModele.m_clAdresse.m_sCodePostal +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_ResultatsRecherche.DISP_TableRecherche.TABLE_LIEU.COL_Ville +Titre FR: Ville +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 +06/08/2026 Isis_BO 3790 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclListeSite.m_clTabModele.m_clAdresse.m_sVille +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Lieu dit +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 +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 +Liaison des données :gclListeSite.m_clTabModele.m_clAdresse.m_sLigne_5 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3791 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Table : FI_ResultatsRecherche.DISP_TableRecherche.TABLE_LISTE_CLIENT +Colonne de table : +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 100 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gpclListeClient.m_clTabModele.m_sNom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Type de client +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 153 +Larg. déroulée perso. Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +06/08/2026 Isis_BO 3792 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Mode ellipse +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 +Liaison des données :gpclListeClient.m_clTabModele.m_nIDType +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Statut +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 152 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Liaison des données :gpclListeClient.m_clTabModele.m_nIDStatut +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3793 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Colonne de table : +Titre FR: Libellé voie +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 295 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Liaison des données :gpclListeClient.m_clTabModele.m_nIDAdressePrincipale +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Bât./Immeuble +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 100 +Larg. déroulée perso. Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +06/08/2026 Isis_BO 3794 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Mode ellipse +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 +Liaison des données :gpclListeClient.m_clTabModele.m_nIDAdressePrincipale +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: CP +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 100 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Liaison des données :gpclListeClient.m_clTabModele.m_nIDAdressePrincipale +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3795 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Colonne de table : +Titre FR: Ville +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 100 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Liaison des données :gpclListeClient.m_clTabModele.m_nIDAdressePrincipale +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Lieu dit +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 100 +Larg. déroulée perso. Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +06/08/2026 Isis_BO 3796 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Mode ellipse +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 +Liaison des données :gpclListeClient.m_clTabModele.m_nIDAdressePrincipale +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Table : FI_ResultatsRecherche.DISP_TableRecherche.TABLE_PERSONNE +Colonne de table : +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +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 Oui +Liaison des données :gpclListeContact.m_clTabModele.m_bSelection +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3797 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Colonne de table : +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 50 +Mot de passe Non +Masque saisie FR: 2 +Mode ellipse +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 +Liaison des données :gpclListeContact.m_clTabModele.m_sNom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Prénom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 50 +06/08/2026 Isis_BO 3798 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gpclListeContact.m_clTabModele.m_sPrenom +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Rôle +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 179 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Liaison des données :gpclListeContact.m_clTabModele.m_nIDRole +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3799 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Colonne de table : +Titre FR: Tél. fixe +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 15 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gpclListeContact.m_clTabModele.m_sTelFixe +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Tél. mobile +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 15 +06/08/2026 Isis_BO 3800 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Oui +Retour à la ligne Non +Coche tous dans entête Non +Liaison des données :gpclListeContact.m_clTabModele.m_sTelMobile +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Adresse +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 +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 +Liaison des données :gpclListeContact.m_clTabModele.m_clAdresse.m_sPresentation +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3801 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Informations sur les champs +Colonne de table : +Titre FR: Appartient au client +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 156 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Liaison des données :gpclListeContact.m_clTabModele.m_nIDClient +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FI_ResultatsRecherche +Code des champs +Déclarations globales de FI_ResultatsRecherche +procédure MaFenêtre(gsProvenance est une chaîne,gclListeIntervention est un PTableIntervention +dynamique=Null,gclListeSite est un PTableLieu dynamique=Null,gpcl +ListeClient est une PTableClient dynamique=Null,gpclListeContact est une PTablePersonne +dynamique=Null,gpclListeDossier est une PTableDossier dynamique=Null,gs +NomdeRecherche est une chaîne="") +//maProcMAJObjetRetourFI est une Procédure = MAJObjetRetourFI +local +06/08/2026 Isis_BO 3802 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Code des champs +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +Fin d'initialisation de FI_ResultatsRecherche +nCompteur est un entier +bDispDossier,bDispInter,bDispClient,bDispContact,bDispSite sont des booléen +nCompteur=TABLE_DOSSIER..Occurrence+TABLE_Intervention..Occurrence+TABLE_LIEU..Occurrence+TABLE_ +LISTE_CLIENT..Occurrence+TABLE_PERSONNE..Occurrence +si nCompteur=0 alors +LIB_Result..Visible=Vrai +fin +nHauteur est un entier=DISP_TableRecherche..Hauteur +nCompteur=0 +si TABLE_DOSSIER..Occurrence>0 alors +nCompteur++ +bDispDossier=Vrai +fin +si TABLE_Intervention..Occurrence>0 alors +nCompteur++ +bDispInter=Vrai +fin +si TABLE_LISTE_CLIENT..Occurrence>0 alors +nCompteur++ +bDispClient=Vrai +fin +si TABLE_PERSONNE..Occurrence>0 alors +nCompteur++ +bDispContact=Vrai +fin +si TABLE_LIEU..Occurrence>0 alors +nCompteur++ +bDispSite=Vrai +fin +selon nCompteur +cas 1 +si bDispDossier=Vrai alors +DISP_TableRecherche[1]..Hauteur=nHauteur +fin +si bDispInter=Vrai alors +DISP_TableRecherche[2]..Hauteur=nHauteur +fin +si bDispClient=Vrai alors +DISP_TableRecherche[3]..Hauteur=nHauteur +fin +si bDispContact=Vrai alors +DISP_TableRecherche[4]..Hauteur=nHauteur +fin +si bDispSite=Vrai alors +DISP_TableRecherche[5]..Hauteur=nHauteur +fin +cas 2 +si bDispDossier=Vrai alors +DISP_TableRecherche[1]..Hauteur=nHauteur/2 +fin +si bDispInter=Vrai alors +DISP_TableRecherche[2]..Hauteur=nHauteur/2 +fin +si bDispClient=Vrai alors +DISP_TableRecherche[3]..Hauteur=nHauteur/2 +fin +si bDispContact=Vrai alors +DISP_TableRecherche[4]..Hauteur=nHauteur/2 +fin +si bDispSite=Vrai alors +06/08/2026 Isis_BO 3803 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Code des champs +DISP_TableRecherche[5]..Hauteur=nHauteur/2 +fin +cas 3 +si bDispDossier=Vrai alors +DISP_TableRecherche[1]..Hauteur=nHauteur/3 +fin +si bDispInter=Vrai alors +DISP_TableRecherche[2]..Hauteur=nHauteur/3 +fin +si bDispClient=Vrai alors +DISP_TableRecherche[3]..Hauteur=nHauteur/3 +fin +si bDispContact=Vrai alors +DISP_TableRecherche[4]..Hauteur=nHauteur/3 +fin +si bDispSite=Vrai alors +DISP_TableRecherche[5]..Hauteur=nHauteur/3 +fin +cas 4 +si bDispDossier=Vrai alors +DISP_TableRecherche[1]..Hauteur=nHauteur/4 +fin +si bDispInter=Vrai alors +DISP_TableRecherche[2]..Hauteur=nHauteur/4 +fin +si bDispClient=Vrai alors +DISP_TableRecherche[3]..Hauteur=nHauteur/4 +fin +si bDispContact=Vrai alors +DISP_TableRecherche[4]..Hauteur=nHauteur/4 +fin +si bDispSite=Vrai alors +DISP_TableRecherche[5]..Hauteur=nHauteur/4 +fin +cas 5 +DISP_TableRecherche[1]..Hauteur=nHauteur/5 +DISP_TableRecherche[2]..Hauteur=nHauteur/5 +DISP_TableRecherche[3]..Hauteur=nHauteur/5 +DISP_TableRecherche[4]..Hauteur=nHauteur/5 +DISP_TableRecherche[5]..Hauteur=nHauteur/5 +autre cas +DISP_TableRecherche[1]..Hauteur=nHauteur/5 +DISP_TableRecherche[2]..Hauteur=nHauteur/5 +DISP_TableRecherche[3]..Hauteur=nHauteur/5 +DISP_TableRecherche[4]..Hauteur=nHauteur/5 +DISP_TableRecherche[5]..Hauteur=nHauteur/5 +fin +Demande de mise à jour de l'affichage de FI_ResultatsRecherche +MAJ_Tables() +Fermeture de FI_ResultatsRecherche +FEN_Menu.SAI_RechercheGlobal="" +Perte de focus (WM_KILLFOCUS) de FI_ResultatsRecherche +FEN_Menu.SAI_RechercheGlobal="" +Fin d'initialisation de TABLE_DOSSIER +06/08/2026 Isis_BO 3804 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Code des champs +nCompteur est un entier +nCompteur=gpclListeDossier.m_clTabModele..Occurrence +si nCompteur>=1 alors +MoiMême..Libellé="Liste des Dossiers ("+nCompteur+")" +MoiMême..Visible=Vrai +sinon +MoiMême..Visible=Faux +fin +Sélection d'une ligne de TABLE_DOSSIER +gpclListeDossier.p_clCourant=TABLE_DOSSIER +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_DOSSIER +//Trace(DateHeureSys()+" :Dbl clic liste des dossiers rech global") +clPresentationFiche est un PFicheDossier<-gpclListeDossier.Modifier() +sVoletEnCoursDeFermeture est une chaîne ANSI =FEN_Menu.DISP_GENERAL.ONG_FENETRE +FEN_Menu.OuvreOuActive(FI_Fiche_Dossier,"Fiche dossier",*,clPresentationFiche) +//FEN_Menu.FermetureOnglet(sVoletEnCoursDeFermeture) +//OngletFerme(FEN_Menu.ONG_FENETRE,sVoletEnCoursDeFermeture) +Fin d'initialisation de TABLE_Intervention +nCompteur est un entier +nCompteur=gclListeIntervention.m_clTabModele..Occurrence +si nCompteur>=1 alors +MoiMême..Libellé="Liste des Interventions ("+nCompteur+")" +MoiMême..Visible=Vrai +sinon +MoiMême..Visible=Faux +fin +Sélection d'une ligne de TABLE_Intervention +gclListeIntervention.p_clCourant=TABLE_Intervention +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Intervention +//Trace(DateHeureSys()+" :Dbl clic liste des interventions rech global") +nIdInter est un entier sur 8 octets=gclListeIntervention.p_clCourant.m_nPKID +pclPresentationListeDossier est une PTableDossier dynamique +pclPresentationListeDossier=PTableDossier.gNouvellePresentation(0,gclListeIntervention.p_clCourant.m_n +IDDossier) +si pclPresentationListeDossier.m_clTabModele..occurrence<>0 alors +clFicheDossier est un PFicheDossier (pclPresentationListeDossier.m_clTabModele[1]) +stParametreFenInterne est un STParamFenetreAppelante +stParametreFenInterne.eTypeAppel = DansOnglet +stParametreFenInterne.sNomFenetreAppelante = "FI_ResultatsRecherche" +stParametreFenInterne.nIdFenetreAppelante = gclListeIntervention.p_clCourant.m_nPKID +stParametreFenInterne.sNomIDAppelant = "RechercheGlobaleInterv" +stParametreFenInterne.sTitreFenetre = "Fiche Dossier Intervention" +stParametreFenInterne.pclObjetAppelant = clFicheDossier +sVoletEnCoursDeFermeture est une chaîne ANSI =FEN_Menu.DISP_GENERAL.ONG_FENETRE +FEN_Menu.OuvreOuActive(FI_Fiche_Dossier,"Fiche Dossier",Vrai,clFicheDossier,stParametreFenInterne) +06/08/2026 Isis_BO 3805 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Code des champs +// FEN_Menu.FermetureOnglet(sVoletEnCoursDeFermeture) +// OngletFerme(FEN_Menu.ONG_FENETRE,sVoletEnCoursDeFermeture) +sinon +Info("Aucun dossier lié à cette intervention") +fin +Fin d'initialisation de TABLE_LIEU +nCompteur est un entier +nCompteur=gclListeSite.m_clTabModele..Occurrence +si nCompteur>=1 alors +MoiMême..Libellé="Liste des Sites ("+nCompteur+")" +MoiMême..Visible=Vrai +sinon +MoiMême..Visible=Faux +fin +Sélection d'une ligne de TABLE_LIEU +gclListeSite.p_clCourant=TABLE_LIEU +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_LIEU +sVoletEnCoursDeFermeture est une chaîne ANSI =FEN_Menu.DISP_GENERAL.ONG_FENETRE +clPresentationFiche est un PFicheLieu<-gclListeSite.Modifier() +FEN_Menu.OuvreOuActive(FI_Fiche_Lieu,"Fiche site",*,clPresentationFiche) +//FEN_Menu.FermetureOnglet(sVoletEnCoursDeFermeture) +//OngletFerme(FEN_Menu.ONG_FENETRE,sVoletEnCoursDeFermeture) +Fin d'initialisation de TABLE_LISTE_CLIENT +nCompteur est un entier +nCompteur=gpclListeClient.m_clTabModele..Occurrence +si nCompteur>=1 alors +MoiMême..Libellé="Liste des clients ("+nCompteur+")" +MoiMême..Visible=Vrai +sinon +MoiMême..Visible=Faux +fin +Sélection d'une ligne de TABLE_LISTE_CLIENT +gpclListeClient.p_clCourant=TABLE_LISTE_CLIENT +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_LISTE_CLIENT +sVoletEnCoursDeFermeture est une chaîne ANSI =FEN_Menu.DISP_GENERAL.ONG_FENETRE +clPresentationFiche est un PFicheClient<-gpclListeClient.Modifier() +FEN_Menu.OuvreOuActive(FI_Fiche_Client,"Fiche client",*,clPresentationFiche) +//FEN_Menu.FermetureOnglet(sVoletEnCoursDeFermeture) +//OngletFerme(FEN_Menu.ONG_FENETRE,sVoletEnCoursDeFermeture) +Fin d'initialisation de TABLE_PERSONNE +06/08/2026 Isis_BO 3806 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Code des champs +nCompteur est un entier +nCompteur=gpclListeContact.m_clTabModele..Occurrence +si nCompteur>=1 alors +MoiMême..Libellé="Liste des Contacts ("+nCompteur+")" +MoiMême..Visible=Vrai +sinon +MoiMême..Visible=Faux +fin +Sélection d'une ligne de TABLE_PERSONNE +gpclListeContact.p_clCourant=TABLE_PERSONNE +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_PERSONNE +sVoletEnCoursDeFermeture est une chaîne ANSI =FEN_Menu.DISP_GENERAL.ONG_FENETRE +clPresentationFiche est un PFichePersonne<-gpclListeContact.Modifier() +FEN_Menu.OuvreOuActive(FI_Fiche_Personne,"Fiche personne",*,clPresentationFiche) +//FEN_Menu.FermetureOnglet(sVoletEnCoursDeFermeture) +//OngletFerme(FEN_Menu.ONG_FENETRE,sVoletEnCoursDeFermeture) +A chaque modification de COL_SEL ( TABLE_PERSONNE ) +ChampVersSource() +Initialisation de LIB_TitrePage +MoiMême+= " pour : "+gsNomdeRecherche +FI_ResultatsRecherche +Procédures +Procédure locale MAJ_Tables +// Résumé : +// Syntaxe : +// MAJ_Tables () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure MAJ_Tables() +si gpclListeDossier<>Null alors +SourceVersEcran("","gpclListeDossier") +// mise à jour des champs bindés sur la présentation (compteur par exemple) +06/08/2026 Isis_BO 3807 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Procédures +// affiche la table et restauration de la position courante +TableSauvePositionEtSélection(TABLE_DOSSIER) +TableAffiche(TABLE_DOSSIER,taInit) +TableRestaurePositionEtSélection(TABLE_DOSSIER) +// récupération de l'instance courante +nIndice est un entier=TableSelect(TABLE_DOSSIER) +si nIndice<=0 _ou_ TABLE_DOSSIER..Nouveau alors +//gclPresentation.p_bMajCourantSansIHM=vrai +gpclListeDossier.p_clCourant=Null +//gclPresentation.p_bMajCourantSansIHM=faux +sinon +//gclPresentation.p_bMajCourantSansIHM=Vrai +gpclListeDossier.p_clCourant=TABLE_DOSSIER[nIndice] +//gclPresentation.p_bMajCourantSansIHM=faux +fin +sinon +fin +si gclListeIntervention <>Null alors +SourceVersEcran("","gclListeIntervention") +// mise à jour des champs bindés sur la présentation (compteur par exemple) +// affiche la table et restauration de la position courante +TableSauvePositionEtSélection(TABLE_Intervention) +TableAffiche(TABLE_Intervention,taInit) +TableRestaurePositionEtSélection(TABLE_Intervention) +// récupération de l'instance courante +nIndice est un entier=TableSelect(TABLE_Intervention) +si nIndice<=0 _ou_ TABLE_Intervention..Nouveau alors +//gclPresentation.p_bMajCourantSansIHM=vrai +gclListeIntervention.p_clCourant=Null +//gclPresentation.p_bMajCourantSansIHM=faux +sinon +//gclPresentation.p_bMajCourantSansIHM=Vrai +gclListeIntervention.p_clCourant=TABLE_Intervention[nIndice] +//gclPresentation.p_bMajCourantSansIHM=faux +fin +sinon +fin +si gclListeSite <>Null alors +SourceVersEcran("","gclListeSite") +// mise à jour des champs bindés sur la présentation (compteur par exemple) +// affiche la table et restauration de la position courante +TableSauvePositionEtSélection(TABLE_LIEU) +TableAffiche(TABLE_LIEU,taInit) +TableRestaurePositionEtSélection(TABLE_LIEU) +// récupération de l'instance courante +nIndice est un entier=TableSelect(TABLE_LIEU) +si nIndice<=0 _ou_ TABLE_LIEU..Nouveau alors +//gclPresentation.p_bMajCourantSansIHM=vrai +gclListeSite.p_clCourant=Null +//gclPresentation.p_bMajCourantSansIHM=faux +sinon +//gclPresentation.p_bMajCourantSansIHM=Vrai +gclListeSite.p_clCourant=TABLE_LIEU[nIndice] +//gclPresentation.p_bMajCourantSansIHM=faux +fin +sinon +fin +06/08/2026 Isis_BO 3808 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Procédures +si gpclListeClient <>Null alors +// mise à jour des champs bindés sur la présentation (compteur par exemple) +SourceVersEcran("","gpclListeClient") +// affiche la table et restauration de la position courante +TableSauvePositionEtSélection(TABLE_LISTE_CLIENT) +TableAffiche(TABLE_LISTE_CLIENT,taInit) +TableRestaurePositionEtSélection(TABLE_LISTE_CLIENT) +// récupération de l'instance courante +nIndice est un entier=TableSelect(TABLE_LISTE_CLIENT) +si nIndice<=0 _ou_ TABLE_LISTE_CLIENT..Nouveau alors +//gclPresentation.p_bMajCourantSansIHM=vrai +gpclListeClient.p_clCourant=Null +//gclPresentation.p_bMajCourantSansIHM=faux +sinon +//gclPresentation.p_bMajCourantSansIHM=Vrai +gpclListeClient.p_clCourant=TABLE_LISTE_CLIENT[nIndice] +//gclPresentation.p_bMajCourantSansIHM=faux +fin +sinon +fin +si gpclListeContact <>Null alors +// mise à jour des champs bindés sur la présentation (compteur par exemple) +SourceVersEcran("","gpclListeContact") +// affiche la table et restauration de la position courante +TableSauvePositionEtSélection(TABLE_PERSONNE) +TableAffiche(TABLE_PERSONNE,taInit) +TableRestaurePositionEtSélection(TABLE_PERSONNE) +// récupération de l'instance courante +nIndice est un entier=TableSelect(TABLE_PERSONNE) +si nIndice<=0 _ou_ TABLE_PERSONNE..Nouveau alors +//gclPresentation.p_bMajCourantSansIHM=vrai +gpclListeContact.p_clCourant=Null +//gclPresentation.p_bMajCourantSansIHM=faux +sinon +//gclPresentation.p_bMajCourantSansIHM=Vrai +gpclListeContact.p_clCourant=TABLE_PERSONNE[nIndice] +//gclPresentation.p_bMajCourantSansIHM=faux +fin +sinon +fin +DonneFocus(FEN_Menu.SAI_RechercheGlobal) +nTaille est un entier= Taille(FEN_Menu.SAI_RechercheGlobal..ValeurAffichée) +FEN_Menu.SAI_RechercheGlobal..Curseur=nTaille+1 +FEN_Menu.SAI_RechercheGlobal..FinCurseur=nTaille+1 +Procédure locale RafraichissementFiche +// Résumé : +// Syntaxe : +//RafraichissementFiche ( est objet dynamique, est objet dynamique, +est objet dynamique, est objet dynamique, est objet dynamique, + est chaîne) +// +// Paramètres : +// pclObjet1 (objet dynamique) : +// pclObjet2 (objet dynamique) : +// pclObjet3 (objet dynamique) : +// pclObjet4 (objet dynamique) : +06/08/2026 Isis_BO 3809 + +Partie 3 › Fenêtre WINDEV › FI_ResultatsRecherche › Procédures +// pclObjet5 (objet dynamique) : +// sNomdeRecherche (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// gclListeIntervention (PTableIntervention dynamique - valeur par défaut=0) : < +indiquez ici le rôle de stPParamSupplementaire> +// gclListeSite (PTableLieu dynamique - valeur par défaut=0) : +procédure RafraichissementFiche(pclObjet1 est un objet dynamique,pclObjet2 est un objet dynamique, +pclObjet3 est un objet dynamique,pclObjet4 est un objet dynamique,pclObjet5 est un objet dynamique, +sNomdeRecherche est une chaîne) +gclListeIntervention <- pclObjet1 +gclListeSite <- pclObjet2 +gpclListeClient <- pclObjet3 +gpclListeContact <- pclObjet4 +gpclListeDossier <- pclObjet5 +LIB_TitrePage= "Résultats de la recherche pour : "+sNomdeRecherche +TableAffiche(TABLE_Intervention,taInit) +TableAffiche(TABLE_LIEU,taInit) +TableAffiche(TABLE_DOSSIER,taInit) +TableAffiche(TABLE_LISTE_CLIENT,taInit) +TableAffiche(TABLE_PERSONNE,taInit) +DemandeMiseAJourIHM() +06/08/2026 Isis_BO 3810 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Image +FI_Fiche_Document +Image +FI_Fiche_Document +Informations générales +FI_Fiche_Document +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Fiche_Document.wdw +Créé par XVA +Date de création 24/01/2019 10:36:33 +Dernière modification par SMR +06/08/2026 Isis_BO 3811 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations générales +| Date dernière modification | | 11/04/2025 16:08:30 | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | --- | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 780 | 657 | +| Position X | Position Y | | Largeur | Hauteur | | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| Anim. Fermeture | | 0 | | | | +| Durée Anim. Ouverture | | 100 | | | | +| Durée Anim. Fermeture | | 50 | | | | +| Adapte Taille contenu | | Non | | | | +| 06/08/2026 | | | Isis_BO | | 3812 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations générales +| Assombri quand inactif | | | Oui | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +Déplace souris sur bouton par +Non +| Compact. barres outils | | | Non | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +Statistiques de la fenêtre +| | Champ de saisie | | | 1 | | Libellé | | | 12 | +| --- | ---------------------- | --- | --- | --- | --- | --------------- | --- | --- | --- | +| | Bouton | | | 7 | | Image | | | 3 | +| | Zone répétée | | | 1 | | Fenêtre interne | | | 1 | +| | Attribut zone répétée | | | 3 | | Disposition | | | 5 | +| | Cellule de disposition | | | 16 | | | | | | +Nombre d'éléments dans la fenêtre : 49 +FI_Fiche_Document +Informations sur les champs +Fenêtre : FI_Fiche_Document +Fenêtre interne +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | +nalP +| FI_Fiche_Document | | | 0 | 0 | 780 | 657 | | 0 | | +| ----------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +Fenêtre interne : FI_Fiche_Document +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_Doc_Note | | 6 18 286 | 80 0 | Actif | Texte | | Non | | | +| ------------ | --- | -------- | ---- | ------- | ----- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Isis_BO | | | | | 3813 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › 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_CATEGDOC | 18 | 74 | 135 | 14 | 0 | Actif | Gauche | Haut | | +| -------------------- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | +| LIB_Categorie | 153 | 74 | 200 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_DateModif | 396 | 74 | 142 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_NomDoc | 36 | 39 | 699 | 20 | 0 | Actif | Centre | Centre | | +| LIB_TitreDateModif | 353 | 74 | 43 | 15 | 0 | Actif | Gauche | Haut | | +| LIB_TitreUserModif | 544 | 74 | 24 | 15 | 0 | Actif | Gauche | Haut | | +| LIB_TitreZR | 0 | 8 | 133 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_Titre_de_fenêtre | 6 | 6 | 81 | 21 | 0 | Actif | Gauche | Centre | | +| LIB_UserModif | 580 | 74 | 200 | 14 | 0 | Actif | Gauche | Haut | | +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| BTN_AJOUTE_NOTE | | 10 | 3 | 24 | 24 | 0 | Actif | | Normal | +| --------------------- | --- | --- | --- | --- | --- | --- | ----- | --- | ------- | +| BTN_Fermer_compact | | 4 | 4 | 24 | 24 | 0 | Actif | | Abandon | +| BTN_Precedent | | 6 | 37 | 24 | 24 | 0 | Actif | | Normal | +| BTN_Suivant | | 741 | 37 | 24 | 24 | 0 | Actif | | Normal | +| BTN_Supprimer_compact | | 4 | 4 | 24 | 24 | 0 | Actif | | Normal | +| BTN_Valider_compact | | 4 | 4 | 24 | 24 | 0 | Actif | | Normal | +| BTN_Valider_compact1 | | 262 | 6 | 24 | 24 | 0 | Actif | | Normal | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | | Y noitisoP | | | | laitini tatE | | sucof cevA | +| --- | ---------- | --- | ---------- | ------- | ------- | ------- | ------------ | --------- | ---------- | +| | | | | | ruetuaH | | | cilc cevA | | +| | | | | ruegraL | | elbisiV | | | | +nalP +| IMG_Document | | 5 | 10 | 444 | 530 | 0 | Actif | | | +| ---------------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_ICONE_CLIENT | | 4 | 7 | 16 | 16 | 0 | Actif | | | +Zone répétée +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_NoteDoc | | | 5 | 1 | 288 | 100 | 0 | affichag | | +| ---------- | --- | --- | --- | ------- | --- | --- | --- | -------- | ---- | +| 06/08/2026 | | | | Isis_BO | | | | | 3814 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations sur les champs +Disposition +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| DISP_BANDEAU_ENTETE | | 0 | 0 780 | 31 | 0 | Actif | | +| ------------------- | --- | --- | ------ | --- | --- | ----- | --- | +| DISP_CG_L3_C1 | | 5 | 6 285 | 32 | 0 | Actif | | +| DISP_FicheDoc | | 0 | 0 780 | 657 | 0 | Actif | | +| DISP_Note | | 6 | 10 297 | 539 | 0 | Actif | | +| DISP_PhotoNote | | 7 | 8 765 | 549 | 0 | Actif | | +Zone répétée : +FI_Fiche_Document.DISP_FicheDoc.DISP_PhotoNote.DISP_Note.ZR_NoteDoc +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Auteur | 5 | 38 40 | 40 0 | Actif | Centre | Centre | | +| ---------- | --- | ------ | ---- | ----- | ------ | ------ | --- | +| LIB_Note | 54 | 29 208 | 57 0 | Actif | Gauche | Haut | | +| LIB_Titre | 6 | 6 126 | 17 0 | Actif | Gauche | Haut | | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | --------------- | --- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | +| | | | ruegraL ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Auteur | 7 | 39 | 36 36 | 0 | Actif | | | +| ---------- | --- | --- | ----- | --- | ----- | --- | --- | +Attribut zone répétée +BAT ehcuoT +laitini tatE +| | | X noitisoP Y noitisoP | | | | | | +| --- | --- | --------------------- | ------- | ------- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +ATT_Note +ATT_Titre +ATT_User +| 06/08/2026 | | | Isis_BO | | | | 3815 | +| ---------- | --- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations sur les champs +Fenêtre : FI_Fiche_Document +Fenêtre interne : FI_Fiche_Document +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Fiche_Document +Bouton : +Ordre navigation 1 +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 +Retrait gauche 2 +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 +06/08/2026 Isis_BO 3816 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › 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 +Type flèche +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +06/08/2026 Isis_BO 3817 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations sur les champs +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : FI_Fiche_Document.DISP_FicheDoc.BTN_Precedent +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_A_Gauche.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +06/08/2026 Isis_BO 3818 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : FI_Fiche_Document.DISP_FicheDoc.BTN_Suivant +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_A_Droite.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3819 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3820 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3821 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3822 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations sur les champs +Disposition : FI_Fiche_Document.DISP_FicheDoc.DISP_BANDEAU_ENTETE +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage Droite +06/08/2026 Isis_BO 3823 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Document.DISP_FicheDoc +Libellé FR: Disposition +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 +Cellule ancrée 2 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 1 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Document.DISP_FicheDoc.DISP_PhotoNote.DISP_Note +Libellé FR: Disposition +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 +Cellule ancrée 2 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 1 +06/08/2026 Isis_BO 3824 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations sur les champs +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Fiche_Document.DISP_FicheDoc.DISP_PhotoNote +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 1 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Fiche_Document.DISP_FicheDoc.DISP_PhotoNote.IMG_Document +Curseur survol 32649 +UI par l'utilisateur Selon fenêtre +Menu manip. image Menu simple (copier, enregistrer sous, etc.) +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Ascenseur et zoom auto. Non +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 3825 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › 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 +Texte Markdown Non +Mode menu ctx. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +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 +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_AGENDA.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +06/08/2026 Isis_BO 3826 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Document.DISP_FicheDoc.LIB_CATEGDOC +Libellé FR: Catégorie de document : +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Document.DISP_FicheDoc.LIB_Categorie +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 3827 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations sur les champs +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Document.DISP_FicheDoc.LIB_DateModif +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 +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 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3828 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations sur les champs +Libellé : FI_Fiche_Document.DISP_FicheDoc.LIB_NomDoc +Libellé FR: Nom du document +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 +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 +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 +Liaison des données :gclPresentationFicheDoc.p_clCourant.m_sNom +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Document.DISP_FicheDoc.LIB_TitreDateModif +Libellé FR: Créé le +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Isis_BO 3829 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Document.DISP_FicheDoc.LIB_TitreUserModif +Libellé FR: Par +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 +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 +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3830 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations sur les champs +Libellé : +Libellé FR: Notes sur le document +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Titre +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 +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 +06/08/2026 Isis_BO 3831 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Document.DISP_FicheDoc.LIB_UserModif +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 +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 +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3832 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations sur les champs +Champ de saisie : +Libellé FR: Ajouter une note +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 468 +Largeur interne 286 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Note sur le document +Numéro aide 0 +Texte d'indication si vide FR: Note sur le document +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 50 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3833 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations sur les champs +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. +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 Hauteur et droite +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 96 +Largeur colonne 267 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Isis_BO 3834 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations sur les champs +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sans sélection +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +Nb. Enreg. Max 0 +Parcours Automatique +Fichier parcouru :gpclListeNoteDoc.m_clTabModele +Rub. mémorisée :gpclListeNoteDoc.m_clTabModele +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3835 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations sur les champs +Zone répétée : +FI_Fiche_Document.DISP_FicheDoc.DISP_PhotoNote.DISP_Note.ZR_NoteDoc +Attribut zone répétée : +Champ associé LIB_Note +Propriété associée 1 +Liaison des données :gpclListeNoteDoc.m_clTabModele.m_sDN_Note +Attribut zone répétée : +Champ associé LIB_Titre +Propriété associée 1 +Liaison des données :gpclListeNoteDoc.m_clTabModele.m_dhCreationDate +Attribut zone répétée : +Champ associé LIB_Auteur +Propriété associée 1 +Liaison des données :gpclListeNoteDoc.m_clTabModele.m_nCreationUser +Image : +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +06/08/2026 Isis_BO 3836 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations sur les champs +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: XV +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 +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 +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 +Liaison des données :gpclListeNoteDoc.m_clTabModele.m_nCreationUser +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3837 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations sur les champs +Libellé : +Libellé FR: Note +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 +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 +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 +Liaison des données :gpclListeNoteDoc.m_clTabModele.m_sDN_Note +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 +Libellé : +Libellé FR: Titre +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Isis_BO 3838 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Date +Masque saisie FR: Le JJ/MM/AAAA à HH:mm +Format retour AAAAMMJJHHmmSS +Mode ellipse +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 +Liaison des données :gpclListeNoteDoc.m_clTabModele.m_dhCreationDate +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_Fiche_Document +Messages multilingues +06/08/2026 Isis_BO 3839 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FI_Fiche_Document +Code des champs +Déclarations globales de FI_Fiche_Document +procédure MaFenêtre(gclPresentationFicheDoc est un PFicheDocument dynamique=Null, +paramSupplementaire est un STParamFenetreAppelante=Null,gsCheminPhoto est une chaîne="") +gpRepertoireDoc est une procédure +//gclPresentation <- paramSupplementaire.pclObjetAppelant +gpclListeDocumentIntervention est un PTableDocument dynamique +gpclListeDocumentIntervention=PTableDocument.gNouvellePresentation(1,gclPresentationFicheDoc.m_n +IDIntervention,gpclFicheUtilisateurEnCours.m_nIDTypeProfil) + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Code des champs +gpclListeNoteDoc est un PTableDocumentNote dynamique +gpclListeNoteDoc=PTableDocumentNote.gNouvellePresentation(gclPresentationFicheDoc.m_nPKID) +si gpclListeNoteDoc.m_clTabModele..Occurrence=0 alors +BTN_AJOUTE_NOTE..Visible=Faux +DISP_Note[3]..Visible=Vrai +DISP_Note[2]..Visible=Faux +DISP_Note[1]..Visible=Vrai +sinon +BTN_AJOUTE_NOTE..Visible=Vrai +DISP_Note[3]..Visible=Faux +DISP_Note[2]..Visible=Vrai +DISP_Note[1]..Visible=Vrai +fin +//CheminRepClientDoc est une chaine = ExtraitChaîne(gsCheminPhoto,3,"\",DepuisFin) +nCompteur est un entier +nPosition est un entier +pour i= 1 _à_ gpclListeDocumentIntervention.m_clTabModele..Occurrence +nCompteur++ +si gpclListeDocumentIntervention.m_clTabModele[i].m_nPKID=gclPresentationFicheDoc.m_nPKID alors +nPosition=nCompteur +fin +fin +si nPosition=nCompteur et nPosition=1 alors +BTN_Precedent..Visible=Faux +BTN_Suivant..Visible=Faux +sinon si nPosition=nCompteur et nPosition>1 +BTN_Precedent..Visible=Vrai +BTN_Suivant..Visible=Faux +sinon si nPosition=1 +BTN_Precedent..Visible=Faux +BTN_Suivant..Visible=Vrai +sinon +BTN_Precedent..Visible=Vrai +BTN_Suivant..Visible=Vrai +fin +Fin d'initialisation de FI_Fiche_Document +Affiche_Info_CreaModif() +Demande de mise à jour de l'affichage de FI_Fiche_Document +SourceVersEcran("","gclPresentationFicheDoc") +//IMG_Document="\\Srvgds\partage\Documents\LEBONCLIENT 3096224743817222\Intervention +3096224743817231\"+LIB_NomDoc +Fic est une chaîne= gsCheminPhoto +ext est une chaîne=fExtraitChemin(Fic,fExtension) +ext=Majuscule(ext[[2 à]]) +selon ext +cas "BMP","JPG","JPEG","GIF", "PCD", "PCX", "PNG", "PSD", "TGA", "TIF","TIFF","EMF","WMF","ICO", +"ICW","CUR" +IMG_Document=Fic +cas "PDF" +IMG_Document=Fic +autre cas +IMG_Document="fichier.png" +fin +Clic sur BTN_Precedent +nPosition-- +gpclListeDocumentIntervention.p_clCourant= gpclListeDocumentIntervention.m_clTabModele[nPosition] +gclPresentationFicheDoc<-gpclListeDocumentIntervention.Modifier() +06/08/2026 Isis_BO 3840 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Code des champs +ZoneRépétéeSupprimeTout(ZR_NoteDoc) +gpclListeNoteDoc=PTableDocumentNote.gNouvellePresentation(gclPresentationFicheDoc.m_nPKID) +si gpclListeNoteDoc.m_clTabModele..Occurrence=0 alors +BTN_AJOUTE_NOTE..Visible=Faux +DISP_Note[3]..Visible=Vrai +DISP_Note[2]..Visible=Faux +DISP_Note[1]..Visible=Vrai +sinon +BTN_AJOUTE_NOTE..Visible=Vrai +DISP_Note[3]..Visible=Faux +DISP_Note[2]..Visible=Vrai +DISP_Note[1]..Visible=Vrai +fin +ZoneRépétéeAffiche(ZR_NoteDoc,taInit) +gsCheminPhoto=gclPresentationFicheDoc.m_sCheminFichier +//ComplèteRep(DonneRepertoireRacine()+CheminRepClientDoc+"\"+DonneRepertoireIntervention(gclPresentatio +nFicheDoc.m_nIDIntervention))+gclPresentationFicheDoc.m_sNom +nCompt est un entier +nPos est un entier +pour i= 1 _à_ gpclListeDocumentIntervention.m_clTabModele..Occurrence +nCompt++ +si gpclListeDocumentIntervention.m_clTabModele[i].m_nPKID=gclPresentationFicheDoc.m_nPKID alors +nPos=nCompt +fin +fin +si nPos=nCompt et nPos=1 alors +BTN_Precedent..Visible=Faux +BTN_Suivant..Visible=Faux +sinon si nPos=nCompt et nPos>1 +BTN_Precedent..Visible=Vrai +BTN_Suivant..Visible=Faux +sinon si nPos=1 +BTN_Precedent..Visible=Faux +BTN_Suivant..Visible=Vrai +sinon +BTN_Precedent..Visible=Vrai +BTN_Suivant..Visible=Vrai +fin +Affiche_Info_CreaModif() +DemandeMiseAJourIHM() +Clic sur BTN_Suivant +nPosition++ +gpclListeDocumentIntervention.p_clCourant= gpclListeDocumentIntervention.m_clTabModele[nPosition] +gclPresentationFicheDoc<-gpclListeDocumentIntervention.Modifier() +ZoneRépétéeSupprimeTout(ZR_NoteDoc) +gpclListeNoteDoc=PTableDocumentNote.gNouvellePresentation(gclPresentationFicheDoc.m_nPKID) +si gpclListeNoteDoc.m_clTabModele..Occurrence=0 alors +BTN_AJOUTE_NOTE..Visible=Faux +DISP_Note[3]..Visible=Vrai +DISP_Note[2]..Visible=Faux +DISP_Note[1]..Visible=Vrai +sinon +BTN_AJOUTE_NOTE..Visible=Vrai +DISP_Note[3]..Visible=Faux +DISP_Note[2]..Visible=Vrai +DISP_Note[1]..Visible=Vrai +fin +ZoneRépétéeAffiche(ZR_NoteDoc,taInit) +gsCheminPhoto=gclPresentationFicheDoc.m_sCheminFichier +//ComplèteRep(DonneRepertoireRacine()+CheminRepClientDoc+"\"+DonneRepertoireIntervention(gclPresentatio +nFicheDoc.m_nIDIntervention))+gclPresentationFicheDoc.m_sNom +06/08/2026 Isis_BO 3841 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Code des champs +nCompt est un entier +nPos est un entier +pour i= 1 _à_ gpclListeDocumentIntervention.m_clTabModele..Occurrence +nCompt++ +si gpclListeDocumentIntervention.m_clTabModele[i].m_nPKID=gclPresentationFicheDoc.m_nPKID alors +nPos=nCompt +fin +fin +si nPos=nCompt et nPos=1 alors +BTN_Precedent..Visible=Faux +BTN_Suivant..Visible=Faux +sinon si nPos=nCompt et nPos>1 +BTN_Precedent..Visible=Vrai +BTN_Suivant..Visible=Faux +sinon si nPos=1 +BTN_Precedent..Visible=Faux +BTN_Suivant..Visible=Vrai +sinon +BTN_Precedent..Visible=Vrai +BTN_Suivant..Visible=Vrai +fin +Affiche_Info_CreaModif() +DemandeMiseAJourIHM() +Clic sur BTN_Fermer_compact +//paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheDoc) +AppelProcFenetreAppelante(gclPresentationFicheDoc,paramSupplementaire,Vrai,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +Clic sur BTN_Supprimer_compact +si OuiNon("Confirmez vous la suppression ?")=Non alors +retour +fin +clErreur est un CErreur +si fFichierExiste(gsCheminPhoto) alors +si fSupprime(gsCheminPhoto,frLectureSeule) alors +si pas gclPresentationFicheDoc.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +fin +IMG_Document="" +sinon +Info("Erreur lors de la suppression du fichier ",ErreurInfo(errMessage)) +retour +fin +sinon +si pas gclPresentationFicheDoc.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +fin +fin +//paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,Null) +AppelProcFenetreAppelante(gclPresentationFicheDoc,paramSupplementaire,Faux,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +Clic sur BTN_Valider_compact +EcranVersSource() +06/08/2026 Isis_BO 3842 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Code des champs +gclPresentationFicheDoc.m_dhModifDate=DateHeureSys() +gclPresentationFicheDoc.m_nModifUser=gpclFicheUtilisateurEnCours:m_nPKID +clErreur est un CErreur +si pas gclPresentationFicheDoc.bOK(clErreur) alors +Erreur(clErreur.FormateMessage()) +fin +//paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheDoc) +AppelProcFenetreAppelante(gclPresentationFicheDoc,paramSupplementaire,Vrai,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +Clic sur BTN_Valider_compact1 +pclFicheDocNote est une PFicheDocumentNote dynamique +pclFicheDocNote=gpclListeNoteDoc.Nouveau() +pclFicheDocNote.m_bNouveau=Vrai +pclFicheDocNote.m_sDN_Note=SAI_Doc_Note +pclFicheDocNote.m_nCreationUser=gpclFicheUtilisateurEnCours.m_nPKID +pclFicheDocNote.m_nDN_IDDocument=gclPresentationFicheDoc.m_nPKID +clErreur est un CErreur +si pas pclFicheDocNote.bOK(clErreur) alors +Erreur(clErreur.FormateMessage()) +fin +gpclListeNoteDoc=PTableDocumentNote.gNouvellePresentation(gclPresentationFicheDoc.m_nPKID) +SourceVersEcran() +ZoneRépétéeAffiche(ZR_NoteDoc,taInit) +BTN_AJOUTE_NOTE..Visible=Vrai +DISP_Note[3]..Visible=Faux +DISP_Note[2]..Visible=Vrai +SAI_Doc_Note="" +Clic sur BTN_AJOUTE_NOTE +DISP_Note[3]..Visible=Vrai +BTN_AJOUTE_NOTE..Visible=Faux +si ZR_NoteDoc..Occurrence=0 alors +DISP_Note[2]..Visible=Faux +sinon +DISP_Note[2]..Visible=Vrai +fin +A chaque modification de SAI_Doc_Note +ChampVersSource() +Affichage d'une ligne de ZR_NoteDoc +//nIdCollab est un entier sur 8 octets +HLitRecherchePremier(Utilisateur,UT_PKID,Val(ATT_User)) +si HTrouve(Utilisateur) alors +//ATT_User=Gauche(Utilisateur.UT_Prenom,1)+Gauche(Utilisateur.UT_Nom,1) +HLitRecherchePremier(Collaborateur,CO_PKID,Utilisateur.UT_IDCollaborateur) +si HTrouve(Collaborateur) alors +ATT_User=Gauche(Collaborateur.CO_Prenom,1)+Gauche(Collaborateur.CO_Nom,1) +fin +fin +//HLitRecherchePremier(Collaborateur,CO_PKID,nIdCollab) +//SI HTrouve(Collaborateur) ALORS +// ATT_User=gauche(Collaborateur.CO_Prenom,1)+Gauche(Collaborateur.CO_Nom,1) +//FIN +Clic sur IMG_Document +06/08/2026 Isis_BO 3843 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Document › Code des champs +LanceAppliAssociée(gsCheminPhoto) +Initialisation de LIB_DateModif +MoiMême = DateHeureSys() +FI_Fiche_Document +Procédures +Procédure locale Affiche_Info_CreaModif +// Résumé : +// Syntaxe : +// Affiche_Info_CreaModif () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Affiche_Info_CreaModif() +LIB_Titre_de_fenêtre=paramSupplementaire.sTitreFenetre +//LIB_DateCrea+=DateVersChaîne(gclPresentationFicheDoc.m_dhCreationDate,"JJ/MM/AAAA à HH:mm") +LIB_DateModif=DateVersChaîne(gclPresentationFicheDoc.m_dhCreationDate,"JJ/MM/AAAA à HH:mm") +//LIB_UserCrea+=gclPresentationFicheDoc.m_sCreationUser +nIndice est un entier = TableauCherche(gpclListeUtilisateur:m_clTabModele,tcLinéaire,"m_nPKID", +gclPresentationFicheDoc.m_nCreationUser,1) +si nIndice>0 alors +si HLitRecherchePremier(Collaborateur,CO_PKID,gpclListeUtilisateur:m_clTabModele[nIndice]:m_n +IDCollaborateur) alors +LIB_UserModif=Collaborateur.CO_Prenom+" "+Collaborateur.CO_Nom +sinon +LIB_UserModif = "" +fin +sinon +LIB_UserModif = "" +fin +LIB_Categorie=gclListeCategorieDocHorsRapport.RechercheEtDonneLibelleDepuisID(gclPresentationFicheDoc. +m_nIDCategorie) +06/08/2026 Isis_BO 3844 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Image +FI_EmailNouveau +Image +FI_EmailNouveau +Informations générales +FI_EmailNouveau +06/08/2026 Isis_BO 3845 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations générales +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_EmailNouveau.wdw +| Créé par | | XVA | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 21/02/2019 09:57:32 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:31 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 782 Hauteur | 754 | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| 06/08/2026 | | | Isis_BO | | 3846 | + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations générales +| 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 | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | +Statistiques de la fenêtre +| | Champ de saisie | | 6 | Libellé | | 8 | +| --- | --------------- | --- | --- | ---------------------- | --- | --- | +| | Bouton | | 9 | Combo | | 2 | +| | Forme | | 3 | Zone répétée | | 1 | +| | Fenêtre interne | | 1 | Attribut zone répétée | | 5 | +| | Disposition | | 1 | Cellule de disposition | | 7 | +Nombre d'éléments dans la fenêtre : 43 +FI_EmailNouveau +Informations sur les champs +Fenêtre : FI_EmailNouveau +Fenêtre interne +BAT ehcuoT +X noitisoP Y noitisoP laitini tatE +ruetuaH +| | | | ruegraL | | elbisiV | | +| --- | --- | --- | ------- | --- | ------- | --- | +nalP +| FI_EmailNouveau | | 0 | 0 782 | 754 | 0 | | +| --------------- | --- | --- | ----- | --- | --- | --- | +Fenêtre interne : FI_EmailNouveau +| 06/08/2026 | | | Isis_BO | | | 3847 | +| ---------- | --- | --- | ------- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +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_Destinataire | 60 | 6 671 | 28 | 0 affichag | | Texte | | Non | | | | | +| ------------------- | ----- | ----- | --- | ---------- | ----- | ----- | --- | --- | --- | --- | --- | --- | +| SAI_DestinataireCC | 60 | 6 671 | 28 | 0 affichag | | Texte | | Non | | | | | +| SAI_DestinataireCCI | 60 | 6 671 | 28 | 0 affichag | | Texte | | Non | | | | | +| SAI_Message | 6 | 8 767 | 291 | 0 | Actif | Texte | | Non | | | | | +| SAI_Objet | 60 | 7 710 | 28 | 0 | Actif | Texte | | Non | | | | | +| SAI_Sig | 6 305 | 767 | 125 | 0 | Actif | Texte | | Non | | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | --- | +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | | | | +elbisiV +nalP +| LIB_Compte | | 6 | 10 | 54 | 20 | | 0 | Actif | Gauche | Haut | | | +| -------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | --- | +| LIB_DEST | | 3 | 10 | 54 | 20 | | 0 | Actif | Gauche | Haut | | | +| LIB_DESTCC | | 3 | 10 | 54 | 20 | | 0 | Actif | Gauche | Haut | | | +| LIB_DESTCCI | | 3 | 10 | 54 | 20 | | 0 | Actif | Gauche | Haut | | | +| LIB_OBJET | | 3 | 11 | 54 | 20 | | 0 | Actif | Gauche | Haut | | | +| LIB_PiecesJ | | 6 | 7 | 194 | 20 | | 0 | Actif | Gauche | Haut | | | +| LIB_Titre_de_fenêtre | | 16 | 6 | 489 | 21 | | 0 | Actif | Gauche | Centre | | | +Bouton +| | | | | | | | | | | BAT ehcuoT | | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---------- | --- | ----------- | +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | | | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | --- | --- | --- | +| | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_AJOUTER_PIECEJOINTE | | | 36 | 33 | 24 | | 24 | 0 | Actif | | Normal | | +| ----------------------- | --- | --- | --- | --- | ------- | --- | --- | --- | ----- | --- | ------- | ---- | +| BTN_AjoutRessource | | | 743 | 6 | 24 | | 24 | 0 | Actif | | Normal | | +| BTN_AjoutRessource1 | | | 743 | 9 | 24 | | 24 | 0 | Actif | | Normal | | +| BTN_AjoutRessource2 | | | 743 | 9 | 24 | | 24 | 0 | Actif | | Normal | | +| BTN_Fermer_compact | | | 729 | 4 | 24 | | 24 | 0 | Actif | | Abandon | | +| BTN_GALERIE_DOC | | | 6 | 33 | 24 | | 24 | 0 | Actif | | Normal | | +| BTN_Supprimer_compact | | | 685 | 4 | 24 | | 24 | 0 | Actif | | Normal | | +| BTN_Valider_compact | | | 641 | 4 | 24 | | 24 | 0 | Actif | | Normal | | +| 06/08/2026 | | | | | Isis_BO | | | | | | | 3848 | + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › 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 +| COMBO_Compte | 66 | 6 692 | 33 | 0 | Actif | Mémoire | | Non | | +| ------------ | ---- | ------- | --- | --- | ----- | -------- | --- | --- | --- | +| COMBO_PJ | -309 | 719 211 | 45 | 0 | Actif | Variable | | Non | | +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | +nalP +| FRM_SansNom1 | | | 1 | 3 | 788 | 2 | 0 | Actif | | +| ------------ | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| FRM_SansNom2 | | | 1 | 39 | 788 | 2 | 0 | Actif | | +| FRM_SansNom3 | | | 0 | 0 | 782 | 33 | 0 | Actif | | +Zone répétée +| | | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | +| | | | X noitisoP | Y noitisoP | | | | | | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| ZR_PJ | | | 107 | 16 | 663 | 37 | 0 | Actif | | +| ----- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Disposition +BAT ehcuoT +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| DISP_Message | | | 0 | 34 | 778 | 720 | 0 | Actif | | +| ------------ | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Zone répétée : FI_EmailNouveau.DISP_Message.ZR_PJ +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP | Y noitisoP | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_SansNom1 | | 2 | 9 201 | 25 | 0 | Actif | Gauche | Centre | | +| ------------ | --- | --- | ----- | ------- | --- | ----- | ------ | ------ | ---- | +| 06/08/2026 | | | | Isis_BO | | | | | 3849 | + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Bouton +notuob epyT +| | | | | laitini tatE BAT ehcuoT | | +| --- | --- | --- | --- | ----------------------- | --- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_SupprimePJ | 189 2 | 16 16 | 0 | Actif | Normal | +| -------------- | ----- | ----- | --- | ----- | ------ | +Attribut zone répétée +BAT ehcuoT +laitini tatE +| | X noitisoP Y noitisoP | | | | | +| --- | --------------------- | --------------- | --- | --- | --- | +| | | ruegraL ruetuaH | | | | +elbisiV +nalP +ATT_CHEMIN +ATT_IDInter +ATT_Id +ATT_MessageExterne +ATT_Nom +Fenêtre : FI_EmailNouveau +Fenêtre interne : FI_EmailNouveau +| UI par l'utilisateur | Selon fenêtre | | | | | +| -------------------------------- | ---------------------------------- | --- | --- | --- | --- | +| Unité des tailles | Compatible desktop ET mobile | | | | | +| Taux Paral. hauteur | 0 | | | | | +| Taux Paral. Y | 0 | | | | | +| Épinglé | Non | | | | | +| Masquer lors du scrolling | Non | | | | | +| Ancrage au contenu | | | | | | +| Numéro aide | 0 | | | | | +| Thème destination | Oui | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | +Facteur de rétrécissement +0 +Facteur d'agrandissement +0 +| Ctx. HFSQL indép. | Non | | | | | +| ----------------- | ------- | --- | --- | --- | --- | +| Ancrage | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Isis_BO | | | 3850 | +| ---------- | --- | ------- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Fenêtre interne : FI_EmailNouveau +Bouton : FI_EmailNouveau.DISP_Message.BTN_AJOUTER_PIECEJOINTE +Ordre navigation -1 +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Ouvrir le rapport dans l'explorateur de fichiers +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\dossier.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3851 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Bouton : FI_EmailNouveau.DISP_Message.BTN_AjoutRessource +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Ajouter destinataire(s) +Message FR: Ajouter destinataire(s) +Titre aide FR: Ajouter destinataire(s) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Image fond FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3852 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Bouton : FI_EmailNouveau.DISP_Message.BTN_AjoutRessource1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Ajouter destinataire(s) en CC +Message FR: Ajouter destinataire(s) en CC +Titre aide FR: Ajouter destinataire(s) en CC +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Image fond FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3853 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Bouton : FI_EmailNouveau.DISP_Message.BTN_AjoutRessource2 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Ajouter destinataire(s) en CCI +Message FR: Ajouter destinataire(s) en CCI +Titre aide FR: Ajouter destinataire(s) en CCI +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Image fond FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3854 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Bouton : FI_EmailNouveau.BTN_Fermer_compact +Groupe GR_BandeauEntete +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Quitter +Message FR: Quitter +Titre aide FR: Quitter +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3855 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Bouton : FI_EmailNouveau.DISP_Message.BTN_GALERIE_DOC +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS_INTERV +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 +Retrait gauche 2 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Sélection des documents à envoyer par mail +Titre aide FR: Sélection des documents à envoyer par mail +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\PieceJoint.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3856 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Bouton : FI_EmailNouveau.BTN_Supprimer_compact +Groupe GR_BandeauEntete +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Enregistrer comme brouillon +Message FR: Enregistrer comme brouillon +Titre aide FR: Enregistrer comme brouillon +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Pause.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3857 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Bouton : FI_EmailNouveau.BTN_Valider_compact +Groupe GR_BandeauEntete +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Envoyer l'Email +Message FR: Envoyer l'Email +Titre aide FR: Envoyer l'Email +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\SendMail.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 3858 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Combo : FI_EmailNouveau.DISP_Message.COMBO_Compte +Libellé FR: Compte : +Groupe GR_PIECEJOINTE +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 692 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 67 +Largeur interne 692 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Texte d'indication si vide FR: Compte mail +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse A la fin +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 +06/08/2026 Isis_BO 3859 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +Rub. affichée :gpclListeDocInter.m_clTabModele.m_sNom +Rub. mémorisée :gpclListeDocInter.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_EmailNouveau.COMBO_PJ +Libellé FR: Pièces jointes : +Groupe GR_PIECEJOINTE +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 211 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne -309 +Largeur interne 211 +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 A la fin +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Isis_BO 3860 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeDocInter.m_clTabModele +Rub. affichée :gpclListeDocInter.m_clTabModele.m_sNom +Rub. mémorisée :gpclListeDocInter.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Disposition : FI_EmailNouveau.DISP_Message +Libellé FR: Disposition +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 +Cellule ancrée 6 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 3861 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Facteur d'agrandissement 0 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_EmailNouveau.DISP_Message.FRM_SansNom1 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_EmailNouveau.DISP_Message.FRM_SansNom2 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3862 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Forme : FI_EmailNouveau.FRM_SansNom3 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_EmailNouveau.DISP_Message.LIB_Compte +Libellé FR: Compte +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 +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 +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 +06/08/2026 Isis_BO 3863 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_EmailNouveau.DISP_Message.LIB_DEST +Libellé FR: À +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_EmailNouveau.DISP_Message.LIB_DESTCC +Libellé FR: CC +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +06/08/2026 Isis_BO 3864 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_EmailNouveau.DISP_Message.LIB_DESTCCI +Libellé FR: CCI +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 +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 +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 +06/08/2026 Isis_BO 3865 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_EmailNouveau.DISP_Message.LIB_OBJET +Libellé FR: Objet +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_EmailNouveau.DISP_Message.LIB_PiecesJ +Libellé FR: Pièces jointes : +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 +Cadrage fonctions gXXX Tenir compte du cadrage +06/08/2026 Isis_BO 3866 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_EmailNouveau.LIB_Titre_de_fenêtre +Libellé FR: Nouveau Message +Groupe GR_BandeauEntete +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 +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 +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 +06/08/2026 Isis_BO 3867 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_EmailNouveau.DISP_Message.SAI_Destinataire +Libellé FR: À +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 67 +Largeur interne 665 +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: 63 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3868 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › 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 +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. +Liaison des données :gclPFMessage.p_clCourant.m_sAdrDestinataires +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 +Champ de saisie : FI_EmailNouveau.DISP_Message.SAI_DestinataireCC +Libellé FR: CC +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 67 +06/08/2026 Isis_BO 3869 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Largeur interne 665 +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: 63 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPFMessage.p_clCourant.m_sAdrCC +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 +06/08/2026 Isis_BO 3870 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +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 +Champ de saisie : FI_EmailNouveau.DISP_Message.SAI_DestinataireCCI +Libellé FR: CCI +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 67 +Largeur interne 665 +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: 63 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3871 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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. +Liaison des données :gclPFMessage.m_sAdrCCI +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 +Champ de saisie : FI_EmailNouveau.DISP_Message.SAI_Message +Libellé FR: Objet +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Isis_BO 3872 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 7 +Largeur interne 767 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Objet +Numéro aide 0 +Texte d'indication si vide FR: Objet +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 1 +Sécurité HTML Non +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 +Lien automatique Non +Verifier l'orthographe Oui +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 Automatique +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. +Liaison des données :gclPFMessage.p_clCourant.m_sMessage +Gestion Euro Non +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 3873 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 500 +Champ de saisie : FI_EmailNouveau.DISP_Message.SAI_Objet +Libellé FR: Objet +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 67 +Largeur interne 704 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Objet +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 +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +06/08/2026 Isis_BO 3874 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › 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 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. +Liaison des données :gclPFMessage.m_sObjet +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 +06/08/2026 Isis_BO 3875 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Champ de saisie : FI_EmailNouveau.DISP_Message.SAI_Sig +Libellé FR: Signature email +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 7 +Largeur interne 767 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Objet +Numéro aide 0 +Texte d'indication si vide FR: Objet +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 1 +Sécurité HTML Non +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 +Lien automatique Non +Verifier l'orthographe Oui +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 Automatique +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 +06/08/2026 Isis_BO 3876 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +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. +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 510 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : FI_EmailNouveau.DISP_Message.ZR_PJ +Libellé FR: &Zone répétée +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu contextuel +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 0 +Hauteur ligne 36 +Largeur colonne 209 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 3877 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 3 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Nombre de colonnes variable (à gauche) +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +Nb. Enreg. Max 0 +Parcours Automatique +Fichier parcouru :gpclListePJ.m_clTabModele +Rub. mémorisée :gpclListePJ.m_clTabModele +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3878 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Zone répétée : FI_EmailNouveau.DISP_Message.ZR_PJ +Attribut zone répétée : FI_EmailNouveau.DISP_Message.ZR_PJ.ATT_CHEMIN (5) +Propriété associée 1 +Liaison des données :gpclListePJ.m_clTabModele.m_sCheminFichier +Attribut zone répétée : FI_EmailNouveau.DISP_Message.ZR_PJ.ATT_IDInter (3) +Propriété associée 5 +Liaison des données :gpclListePJ.m_clTabModele.m_nIDIntervention +Attribut zone répétée : FI_EmailNouveau.DISP_Message.ZR_PJ.ATT_Id (1) +Propriété associée 1 +Liaison des données :gpclListePJ.m_clTabModele.m_nPKID +Attribut zone répétée : FI_EmailNouveau.DISP_Message.ZR_PJ.ATT_MessageExterne (4) +Propriété associée 1 +Liaison des données :gpclListePJ.m_clTabModele.m_nIDMessageExterne +Attribut zone répétée : FI_EmailNouveau.DISP_Message.ZR_PJ.ATT_Nom (2) +Champ associé LIB_SansNom1 +Propriété associée 1 +Liaison des données :gpclListePJ.m_clTabModele.m_sNom +06/08/2026 Isis_BO 3879 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Bouton : FI_EmailNouveau.DISP_Message.ZR_PJ.BTN_SupprimePJ +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Supprimer la pièce-jointe +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Image fond FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_16_5_fermer.png +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3880 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Informations sur les champs +Libellé : FI_EmailNouveau.DISP_Message.ZR_PJ.LIB_SansNom1 +Libellé FR: Libellé +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 +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 +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 +Liaison des données :gpclListePJ.m_clTabModele.m_sNom +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_EmailNouveau +Messages multilingues +06/08/2026 Isis_BO 3881 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +2001 FR: Sélectionnez un fichier... +2002 FR: Tous les fichiers (*.*) +2003 FR: %1 (%2) +2004 FR: %1 pièce(s) jointe(s) attachée(s) + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Messages multilingues +06/08/2026 Isis_BO 3882 +¹ +.ssem +°N +Message +2005 FR: +¹ N° mess. : numéro de message. +FI_EmailNouveau +Code des champs +Déclarations globales de FI_EmailNouveau +procédure FI_EmailNouveau(gclPFMessage est un PFicheMessageExterne dynamique=Null, +paramSupp est un STParamFenetreAppelante=Null) +stvParamEmail est un STParamEmail +stvParamEnvoiEmail est un STParamEnvoiEmail +stvParamEmail = gpclFicheUtilisateurEnCours:p_ParamEmailStruct +stvParamEnvoiEmail = gpclFicheUtilisateurEnCours:p_ParamEnvoiMailStruct +maProcMAJObjetRetourFI est une procédure = MAJObjetRetourFI +gtaParamEmailConfig est un tableau associatif de STParamEnvoiEmailPerso +gtabParamEmailPerso est un tableau de STParamEnvoiEmailPerso +gsMessageEnvoyer est une chaîne ANSI +constante +SELECTION_DEST = 2 +SELECTION_CC = 3 +SELECTION_CCI = 4 +// Aucune pièce jointe par défaut +PIECEJOINTE_AUCUNE = "" +fin +//trace("Init FI_EmailNouveau") +gnIndice est un entier +gpclListeDocInter est une PTableDocument dynamique +si paramSupp.pclObjetAppelant=Null alors +gpclListeDocInter=PTableDocument.gNouvellePresentation(1,gclPFMessage.m_nIDIntervention,gpcl +FicheUtilisateurEnCours.m_nIDTypeProfil) +sinon +gpclListeDocInter<-paramSupp.pclObjetAppelant:ListeDocumentOK +fin +gpclListePJ est une PTableDocument dynamique +gpclListePJ=PTableDocument.gNouvellePresentation(2,gclPFMessage.m_sIDDocPJ,gpclFicheUtilisateurEnCours. +m_nIDTypeProfil) +gclInter est une PFicheIntervention <- paramSupp.pclObjetAppelant +gtabTabContact est un tableau de chaînes +gtabTabContactCC est un tableau de chaînes +gtabTabContactCCI est un tableau de chaînes +si gclPFMessage.m_sAdrDestinataires<>"" alors +pour toute chaîne mail de gclPFMessage.m_sAdrDestinataires séparée par ";" +TableauAjouteLigne(gtabTabContact,mail) +fin +fin +//DISP_Message[2]..visible=faux + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Code des champs +//DISP_Message[3]..Visible=Faux +//si paramSupp.sContexteAppelant="BTN_ADD_MESS_EXT" alors +// DISP_Message[1]..Visible=Faux +// BTN_Valider_compact..Image="WNH18820a_24_5_valider.png" +// BTN_Supprimer_compact..visible=faux +//SINON si paramSupp.sContexteAppelant<>"BTN_Transfert" alors +// gclPFMessage:m_sMessage +=ChaîneVersUTF8(stvParamEnvoiEmail.bufSignature) +//FIN +//DonneFocus(SAI_Message) +Fin d'initialisation de FI_EmailNouveau +si gpclListePJ.m_clTabModele..Occurrence > 0 alors +pour i = 1 _à_ gpclListePJ.m_clTabModele..Occurrence +gnIndice=TableauCherche(gpclListeDocInter.m_clTabModele,tcLinéaire,"m_sNom",gpclListePJ. +m_clTabModele[i].m_sNom) +si gnIndice<>-1 alors +TableauSupprimeLigne(gpclListeDocInter.m_clTabModele,gnIndice) +fin +fin +fin +SourceVersEcran() +ChargeParamConfigEmail() +ListeAffiche(COMBO_PJ,taInit) +//SI paramSupp.sContexteAppelant="BTN_Transfert" ALORS +// SourceVersEcran() +//FIN +//Chargement du Modèle de mail dont le code a été passé en paramètre supplémentaire +//si paramSupp<>null _ET_ paramSupp:saCodeModelMail <>"" alors +// oMM est un PF_ModeleEmail +// oMM:Charge(paramSupp:saCodeModelMail) +// +// //Affectation du modèle +// gclPFMessage:m_sMessage = oMM:oMod:sCorpHTML //Transformation du document .doc en Html +// gclPFMessage:m_sObjet = oMM:oMod:sSujet +// +// //Remplacement des mots clé par leur valeur +// +//C'est le code Valeur qui est connu dans le programme et permet de trouver la chaine qui remplacera le +mot clé trouvé dans le texte. +// //Pour la langue française, FR, le code valeur est identique au mot clef +// //Dans cette version seule la langue FR est gérée en dur +// +// +// tbMC est un tableau de ST_MotCle +// +// //On récupère la liste des mots clés dans la table MotClef +// RecupMotsCles(tbMC) +// +// //Pour chaque mot clé, on vérifie sa présence dans le message ou l'objet +// VerifiePresenceMotsCles(tbMC,gclPFMessage:m_sMessage,gclPFMessage:m_sObjet) +// +// +// //Pour chaque mot clef présents, on recherche sa valeur +// DonneValeurTousMotsCles(tbMC,gclInter) +// +// +// //Puis on remplace +// RemplaceMotsCles(tbMC,gclPFMessage:m_sMessage,gclPFMessage:m_sObjet) +06/08/2026 Isis_BO 3883 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Code des champs +// SourceVersEcran() +//FIN +Clic sur BTN_Fermer_compact +//paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheMessageE +xterne) +paramSupp.sContexteAppelant = "BTN_ADD_MESS_EXT" +AppelProcFenetreAppelante(gclPFMessage,paramSupp,Faux,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +Clic sur BTN_Supprimer_compact +sAdresseUser est une chaîne +//SI pclFicheParam<> Null ALORS +// Désérialise(stParamEmail,pclFicheParam:m_sValeur,psdJSON) +//FIN +//bufCle est un Buffer = HashChaîne(HA_MD5_128,gsCleMdp) +//SI pclFicheParamEnvoiEmail<>Null ALORS +// bufCrypte est un Buffer = pclFicheParamEnvoiEmail:m_sValeur +// +// Désérialise(stParamEnvoiEmail,DécrypteStandard(bufCrypte, bufCle, crypteAES128),psdJSON) +//FIN +////HLitRecherchePremier(ParametreApplication,PAP_Code,"CNX_SMTP") +//SI pclFicheParamEnvoiEmail<>Null _ET_ pclFicheParamEnvoiEmail:m_sValeur<>"" ALORS//SI +HTrouve(ParametreApplication) ALORS +// //bufCrypte est un Buffer =ParametreApplication.PAP_Valeur +// //bufCle est un Buffer = HashChaîne(HA_MD5_128, gsCleMdp) +// //sRésultat est un Buffer = DécrypteStandard(bufCrypte, bufCle, crypteAES128) +// sAdresseUser=stParamEmail.sEmail//ExtraitChaîne(sRésultat,6,"<>",DepuisDébut) +//SINON +// sAdresseUser="" +//FIN +si COMBO_Compte <> Null _et_ gtaParamEmailConfig[COMBO_Compte]..Existe alors +sAdresseUser=gtaParamEmailConfig[COMBO_Compte].SMTP.sLogin +fin +Enregistre_Brouillon(gclPFMessage,ZR_PJ..Occurrence,SAI_Destinataire,SAI_DestinataireCC,SAI_ +DestinataireCCI,sAdresseUser,SAI_Message,SAI_Objet) +//paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheMessageE +xterne) +paramSupp.sContexteAppelant = "BTN_ADD_MESS_EXT" +AppelProcFenetreAppelante(gclPFMessage,paramSupp,Vrai,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +Clic sur BTN_Valider_compact +//SI paramSupp.sContexteAppelant="BTN_ADD_MESS_EXT" ALORS +//Cas Message Externe sans envoi de mail +// EcranVersSource() +// POUR I = 1 _A_ ZR_PJ..Occurrence +// +//sRepertoirePJ est une chaîne = +ComplèteRep(DonneRepertoireRacine()+DonneRepertoireClient(gclFicheIntervention:FicheClient:m_sNom,gclFi +cheIntervention:FicheClient:m_nPKID)+DonneRepertoireIntervention(gclPresentationFicheMessageExterne.m_n +IDInterventi +on)) +// gclPFMessage.m_sIDDocPJ+=[";"]+NumériqueVersChaîne(gpclListePJ.m_clTabModele[I].m_nPKID) +06/08/2026 Isis_BO 3884 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Code des champs +// FIN +// // Envoie le mail +// gclPFMessage.m_bBrouillon=Vrai +// gclPFMessage.m_bEnvoyer=Faux +// gclPFMessage.m_bNouveau=Vrai +// si gclPFMessage.m_sIDDocPJ<>"" ALORS +// gclPFMessage.m_bPJ=1 +// SINON +// gclPFMessage.m_bPJ=0 +// FIN +// Enregistre_NouveauMail(gclPFMessage) +// clErreur est une CErreur +// +// clNewAction est un MACTION +// clNewAction.m_bClos =Vrai +// clNewAction.m_dDateAction =DateDuJour() +// clNewAction.m_dhCreationDate =DateHeureSys() +// clNewAction.m_hHeureAction =HeureSys() +// clNewAction.m_nIDIntervention =gclPFMessage.m_nIDIntervention +// clNewAction.m_nCreationUser =gpclFicheUtilisateurEnCours.m_nPKID +// clNewAction.m_nIDTypeAction =gpclListeTypeAction.RechercheEtDonneIdDepuisValeur("7") +// clNewAction.m_sCreationUser +=gpclFicheUtilisateurEnCours.m_sNom+ " " + gpclFicheUtilisateurEnCours.m_sPrenom +// clNewAction.m_nIDQui =gpclFicheUtilisateurEnCours.m_nIDCollaborateur +// clNewAction.m_sDescription +="Création message externe : "+HTMLVersTexte(gclPFMessage.m_sMessage) +// +// SI PAS clNewAction.bEnregistrer(clErreur) ALORS +// Erreur(clErreur.FormateMessage()) +// FIN +// +//paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheMessageE +xterne) +// AppelProcFenetreAppelante(gclPFMessage,paramSupp,Vrai,Vrai) +// ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +//sinon +//Cas Message externe avec envoi de mail depuis l'application +si gtaParamEmailConfig..Occurrence <= 0 alors +Info("Vous n'avez pas encore paramétré votre compte de messagerie sur votre application.") +retour +sinon +si COMBO_Compte <> Null _et_ pas gtaParamEmailConfig[COMBO_Compte]..Existe alors +Info("Vous n'avez pas encore paramétré votre compte de messagerie sur votre application.") +retour +sinon si COMBO_Compte = Null alors +Info("Veuillez sélectionner un compte mail.") +retour +fin +fin +si SAI_Destinataire="" alors +Info("Vous devez saisir au moins 1 destinataire pour votre mail") +DonneFocus(BTN_AjoutRessource) +retour +sinon +ToastAffiche("Envoi de votre message en cours, veuillez patientier",toastLong,cvMilieu,chCentre +) +pour I = 1 _à_ ZR_PJ..Occurrence +gclPFMessage.m_sIDDocPJ+=[";"]+NumériqueVersChaîne(gpclListePJ.m_clTabModele[I].m_nPKID) +fin +gsMessageEnvoyer = SAI_Message+SAI_Sig +sMessErr est une chaîne= THEnvoiMail(SAI_Destinataire,SAI_DestinataireCC,SAI_DestinataireCCI, +SAI_Objet,gsMessageEnvoyer,gclPFMessage) +06/08/2026 Isis_BO 3885 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Code des champs +si gclPFMessage.m_bEnvoyer= Faux _ou_ sMessErr<>"" alors +Erreur(ChaîneConstruit( +"Attention, ce message n'a pas pu être envoyé pour la raison suivante :%1",RC+sMessErr)) +retour +fin +fin +clErreur est une CErreur +clNewAction est un MAction +clNewAction.m_bClos =Vrai +clNewAction.m_dDateAction =DateDuJour() +clNewAction.m_dhCreationDate =DateHeureSys() +clNewAction.m_hHeureAction =HeureSys() +clNewAction.m_nIDIntervention =gclPFMessage.m_nIDIntervention +clNewAction.m_nCreationUser =gpclFicheUtilisateurEnCours.m_nPKID +clNewAction.m_nIDTypeAction =gpclListeTypeAction.RechercheEtDonneIdDepuisValeur("7") +clNewAction.m_sCreationUser =gpclFicheUtilisateurEnCours.m_sNom+ " " + gpcl +FicheUtilisateurEnCours.m_sPrenom +clNewAction.m_nIDQui =gpclFicheUtilisateurEnCours.m_nIDCollaborateur +clNewAction.m_sDescription ="Envoi d'un mail à : "+gclPFMessage.m_sAdrDestinataires +clNewAction.m_sDescription +=[";"]+gclPFMessage.m_sAdrCC +clNewAction.m_sDescription +=[";"]+gclPFMessage.m_sAdrCCI +si pas clNewAction.bEnregistrer(clErreur) alors +Erreur(clErreur.FormateMessage()) +fin +//paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheMess +ageExterne) +paramSupp.sContexteAppelant = "BTN_ADD_MESS_EXT" +AppelProcFenetreAppelante(gclPFMessage,paramSupp,Vrai,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +//FIN +Initialisation de COMBO_PJ +// Ajoute une entrée fictive +ListeAjoute(COMBO_PJ, PIECEJOINTE_AUCUNE) +ListeSelectPlus(COMBO_PJ,1) +Sélection d'une ligne de COMBO_PJ +sChemin est une chaîne = COMBO_PJ..ValeurAffichée +si sChemin<>"" alors +nindice1 est un entier=TableauCherche(gpclListeDocInter.m_clTabModele,tcLinéaire,"m_sNom",sChemin) +si nindice1 <> -1 alors +gpclListeDocInter.p_clCourant=gpclListeDocInter.m_clTabModele[nindice1] +fin +pclPJ est un PFicheDocument dynamique=PFicheDocument.gNouvellePresentation() +si gpclListeDocInter.p_clCourant<>Null alors +pclPJ <- gpclListeDocInter.Modifier() +fin +TableauAjouteLigne(gpclListePJ.m_clTabModele,pclPJ.p_clCourant) +si nindice1<>-1 alors +TableauSupprimeLigne(gpclListeDocInter.m_clTabModele,nindice1) +fin +ZoneRépétéeAffiche(ZR_PJ,taInit) +ListeAffiche(COMBO_PJ,taInit) +fin +Clic sur BTN_AJOUTER_PIECEJOINTE +06/08/2026 Isis_BO 3886 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Code des champs +bAjout est un booléen +// Ouvre le sélecteur de fichiers +sListeFichiersChoisieest une chaîne = fSélecteur("", "", "Sélectionnez un fichier...", +"Tous fichiers (*.*)"+TAB+"*.*", "*", fselOuvre+fselExiste+fselMulti) +si sListeFichiersChoisie<>"" alors +bAjout = OuiNon(Non,"Souhaitez-vous aussi ajouter le(s) fichier(s) à l'intervention ?") +sMSG est une chaîne +si bAjout _et_ AjouteFichier(sListeFichiersChoisie,1,gclInter,sMSG) alors +PFicheIntervention.gListeDocument(paramSupp.pclObjetAppelant) +gpclListeDocInter<-paramSupp.pclObjetAppelant:ListeDocumentOK +pour toute chaîne sUnFichier de sListeFichiersChoisie séparée par RC +sNomFichier est une chaîne = fExtraitChemin(sUnFichier, fFichier+fExtension) +nIndiceFic est un entier = TableauCherche(gpclListeDocInter:m_clTabModele,tcLinéaire, +"m_sNom",sNomFichier,1) +si nIndiceFic>0 alors +TableauAjoute(gpclListePJ:m_clTabModele,gpclListeDocInter:m_clTabModele[nIndiceFic]) +fin +fin +ZoneRépétéeAffiche(ZR_PJ,taInit) +sinon +sNomRepCateg est une chaîne +pour toute chaîne sUnFichier de sListeFichiersChoisie séparée par RC +clDoc est un MDocument +clDoc.m_nSuivi = 1 +clDoc.m_nIDIntervention = gclInter:m_nPKID +clDoc.m_sNom = fExtraitChemin(ExtraitChaîne(sUnFichier,1,TAB), +fFichier+fExtension) +clDoc.m_nIDCategorie = gpclListeCategorieDocument. +RechercheEtDonneIdDepuisValeur("4") +(clDoc.m_sHeriteDroit,sNomRepCateg) = DonneDroitCategorieDoc(clDoc.m_nIDCategorie) +clDoc.m_sCheminFichier = sUnFichier +TableauAjoute(gpclListePJ:m_clTabModele,clDoc) +fin +ZoneRépétéeAffiche(ZR_PJ,taInit) +fin +fin +Clic sur BTN_AjoutRessource +TableauSupprimeTout(gtabTabContact) +ChaîneVersTableau(SAI_Destinataire,gtabTabContact,";") +gtabTabContact=OuvrePopupPosition(FEN_Choix_ContactMessageExterne,poBas,gclInter.m_nIDLieu,gclInter.m_n +IDClient,gclInter.m_nPKID,gtabTabContact) +SAI_Destinataire=TableauVersChaîne(gtabTabContact,";") +Clic sur BTN_AjoutRessource1 +TableauSupprimeTout(gtabTabContactCC) +ChaîneVersTableau(SAI_DestinataireCC,gtabTabContactCC,";") +gtabTabContactCC=OuvrePopupPosition(FEN_Choix_ContactMessageExterne,poBas,gclInter.m_nIDLieu,gclInter. +06/08/2026 Isis_BO 3887 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Code des champs +m_nIDClient,gclInter.m_nPKID,gtabTabContactCC) +SAI_DestinataireCC="" +pour tout ContactMail de gtabTabContactCC +si SAI_DestinataireCC="" alors +SAI_DestinataireCC=ContactMail +sinon +SAI_DestinataireCC+=";"+ContactMail +fin +fin +Clic sur BTN_AjoutRessource2 +gtabTabContactCCI=OuvrePopupPosition(FEN_Choix_ContactMessageExterne,poBas,gclInter.m_nIDLieu,gclInter. +m_nIDClient,gclInter.m_nPKID,gtabTabContactCCI) +SAI_DestinataireCCI="" +pour tout ContactMail de gtabTabContactCCI +si SAI_DestinataireCCI="" alors +SAI_DestinataireCCI=ContactMail +sinon +SAI_DestinataireCCI+=";"+ContactMail +fin +fin +Clic sur BTN_GALERIE_DOC +Sablier() +si gpclListeDocInter <> Null _et_ gpclListeDocInter.p_nTotal>0 alors +Ouvre(FEN_ChoixFenetreInterne,"FI_GalerieDocument",DonneParam(DansFenetre,"FI_EmailNouveau",BTN_ +GALERIE_DOC..Nom,maProcMAJObjetRetourFI,"Galerie de document","FI_EmailNouveau",*,gpclListeDocInter +,Vrai)) +sinon +Erreur("Aucun document n'est accessible") +fin +Sablier(Faux) +Sélection d'une ligne de COMBO_Compte +ModifSignature() +ModifCC_CCI_Email() +Entrée dans SAI_Destinataire +ExécuteTraitement(FI_EmailNouveau.DISP_Message.BTN_AjoutRessource,trtClic) +Entrée dans SAI_DestinataireCC +ExécuteTraitement(FI_EmailNouveau.DISP_Message.BTN_AjoutRessource1,trtClic) +Entrée dans SAI_DestinataireCCI +//TableauSupprimeTout(gtabTabContact) +gtabTabContactCCI=OuvrePopupPosition(FEN_Choix_ContactMessageExterne,poBas,gclInter.m_nIDLieu,gclInter. +06/08/2026 Isis_BO 3888 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Code des champs +m_nIDClient,gclInter.m_nPKID,gtabTabContactCCI) +SAI_DestinataireCCI="" +pour tout ContactMail de gtabTabContactCCI +si SAI_DestinataireCCI="" alors +SAI_DestinataireCCI=ContactMail +sinon +SAI_DestinataireCCI+=";"+ContactMail +fin +fin +Entrée dans SAI_Message +//Init_Destinataires() +Entrée dans SAI_Objet +//Init_Destinataires() +Entrée dans SAI_Sig +//Init_Destinataires() +Clic sur BTN_SupprimePJ ( ZR_PJ ) +nindice est un entier +nindice=TableauCherche(gpclListePJ:m_clTabModele,tcLinéaire,"m_sNom",ATT_Nom) +si nindice<>-1 alors +TableauAjouteLigne(gpclListeDocInter.m_clTabModele,gpclListePJ:m_clTabModele[nindice]) +TableauSupprimeLigne(gpclListePJ:m_clTabModele,nindice) +fin +ZoneRépétéeAffiche(ZR_PJ,taInit) +ListeAffiche(COMBO_PJ,taInit) +FI_EmailNouveau +Procédures +Procédure locale ChargeParamConfigEmail +procédure ChargeParamConfigEmail() +ListeSupprimeTout(COMBO_Compte) +TableauSupprimeTout(gtaParamEmailConfig) +gtaParamEmailConfig = DonneListeConfigMail() +sCodeSocest une chaîne ANSI +n est un entier +pour tout stParam, sCode de gtaParamEmailConfig +n = ListeAjoute(COMBO_Compte, stParam.Compte.sCompte +" <"+stParam.Compte.sEmail+">"+ +gValeurMémorisée(sCode)) +fin +06/08/2026 Isis_BO 3889 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Procédures +si gclInter <> Null _et_ gclInter.m_nIDSociete = gclInter.m_nIDSociete _et_ gclPFMessage.m_sAdrExp = "" +alors +sCodeSoc = "EMAIL_ENVOI_"+gclInter.m_nIDSociete +fin +si gclPFMessage.m_nPKID > 0 _et_ gclPFMessage.m_sAdrExp <> "" alors // Si l'email +a été déjà crée un cherche l'email de exp dans les adresses +pour tout stParam, sCode de gtaParamEmailConfig +si Contient(gclPFMessage.m_sAdrExp,stParam.Compte.sEmail,MotComplet) alors +sCodeSoc = sCode +sortir +fin +fin +fin +si gtaParamEmailConfig..Occurrence > 0 _et_ (pas gtaParamEmailConfig[sCodeSoc]..Existe ou sCodeSoc = "" +) alors +// si aucune configuration est trouvé par la société on met la premier config perso, code pour reste +compatible avec l'ancien version +sCodeSoc= "EMAIL_ENVOI_Perso_" +pour tout stParam, sCode de gtaParamEmailConfig +si Contient(sCode,sCodeSoc,SansCasse) alors +sCodeSoc = sCode +sortir +fin +fin +fin +si sCodeSoc <> "" _et_ gtaParamEmailConfig..Occurrence > 0 _et_ gtaParamEmailConfig[sCodeSoc]..Existe +alors +COMBO_Compte = sCodeSoc +fin +si sCodeSoc <> "" alors +ModifSignature() +ModifCC_CCI_Email() +fin +Procédure locale Enregistre_Brouillon +// Résumé : +// Syntaxe : +//Enregistre_Brouillon (, , , , , , +, ) +// +// Paramètres : +// FicheMessageExterne : +// nBPJ : +// sDestinataire : +// sCC : +// sCCI : +// sAdresseUser : +// sMessage : +// sObjet : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Enregistre_Brouillon(FicheMessageExterne,nBPJ,sDestinataire,sCC,sCCI,sAdresseUser,sMessage, +sObjet) +06/08/2026 Isis_BO 3890 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Procédures +FicheMessageExterne.m_bBrouillon=Vrai +FicheMessageExterne.m_bEnvoyer=Faux +FicheMessageExterne.m_bNouveau=Vrai +FicheMessageExterne.m_sAdrDestinataires=sDestinataire +FicheMessageExterne.m_sAdrCC=sCC +FicheMessageExterne.m_sAdrCCI=sCCI +FicheMessageExterne.m_sAdrExp=sAdresseUser +FicheMessageExterne.m_sMessage=sMessage +FicheMessageExterne.m_sObjet=sObjet +si nBPJ=0 alors +FicheMessageExterne.m_bPJ=0 +sinon +FicheMessageExterne.m_bPJ=1 +fin +pour toute ligne de ZR_PJ +si FicheMessageExterne.m_sIDDocPJ="" alors +FicheMessageExterne.m_sIDDocPJ=ZR_PJ.ATT_Id +sinon +FicheMessageExterne.m_sIDDocPJ+=";"+ZR_PJ.ATT_Id +fin +fin +Enregistre_NouveauMail(FicheMessageExterne) +Procédure locale Enregistre_NouveauMail +// Résumé : +// Syntaxe : +//Enregistre_NouveauMail ( est PFicheMessageExterne dynamique) +// +// Paramètres : +// FicheMessage (PFicheMessageExterne dynamique) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Enregistre_NouveauMail(local FicheMessage est une PFicheMessageExterne dynamique) +clErreur est une CErreur +si pas FicheMessage:bOK(clErreur) alors +Erreur(clErreur.FormateMessage()) +retour +fin +Procédure locale Enregistre_PJ +// Résumé : +// Syntaxe : +// Enregistre_PJ () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Enregistre_PJ() +Procédure locale MAJObjetRetourFI +06/08/2026 Isis_BO 3891 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Procédures +procédure MAJObjetRetourFI(*) +tabDocSup est un tableau d'entiers sur 8 octets +//Boucle sur l'ensemble des documents accessible +pour tout oDoc, nindice de gpclListeDocInter.m_clTabModele +//Le document est séléctionné +si oDoc:m_bSelection _et_ oDoc:m_sCheminFichier<>"" alors +si nindice <> -1 alors +gpclListeDocInter.p_clCourant=gpclListeDocInter.m_clTabModele[nindice] +fin +pclPJ est un PFicheDocument dynamique=PFicheDocument.gNouvellePresentation() +si gpclListeDocInter.p_clCourant<>Null alors +pclPJ <- gpclListeDocInter.Modifier() +fin +TableauAjouteLigne(gpclListePJ.m_clTabModele,pclPJ.p_clCourant) +si nindice<>-1 alors +TableauAjoute(tabDocSup,gpclListeDocInter.m_clTabModele[nindice].m_nPKID) +fin +fin +fin +si tabDocSup..Occurrence > 0 alors +pour tout nId de tabDocSup +nindice est un entier=TableauCherche(gpclListeDocInter.m_clTabModele,tcLinéaire,"m_nPKID",nId) +TableauSupprimeLigne(gpclListeDocInter.m_clTabModele,nindice) +fin +ZoneRépétéeAffiche(ZR_PJ,taInit) +ListeAffiche(COMBO_PJ,taInit) +fin +renvoyer Vrai +Procédure locale ModifCC_CCI_Email +procédure ModifCC_CCI_Email() +tabAdresseConserver est un tableau de chaînes ANSI +bTrouve est un booléen +pour toute chaîne UnMail de SAI_DestinataireCC séparée par ";" +bTrouve = Faux +pour tout stConfig de gtaParamEmailConfig +si TableauCherche(stConfig.SMTP.tabCC_CopieEmail, tcLinéairePremier+tccSansCasse, UnMail) > 0 +alors +bTrouve = Vrai +sortir +fin +fin +si pas bTrouve alors +TableauAjoute(tabAdresseConserver,UnMail) +fin +fin +06/08/2026 Isis_BO 3892 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Procédures +SAI_DestinataireCC = "" +SAI_DestinataireCCI = "" +SAI_DestinataireCC = TableauVersChaîne(tabAdresseConserver,";") +si COMBO_Compte <> Null _et_ gtaParamEmailConfig..Occurrence > 0 _et_ gtaParamEmailConfig[COMBO_Compte] +..Existe alors +SAI_DestinataireCC += [";"]+TableauVersChaîne(gtaParamEmailConfig[COMBO_Compte].SMTP.tab +CC_CopieEmail,";") +si gtaParamEmailConfig[COMBO_Compte].SMTP.bEnCopieCachee alors +SAI_DestinataireCCI = gtaParamEmailConfig[COMBO_Compte].SMTP.sLogin +fin +fin +Procédure locale ModifSignature +procédure ModifSignature() +//sChaineARemp est une chaîne ANSI +//sMessageActuel est une chaîne ANSI = SAI_Message +//sMessageFinal est une chaine ansi = SAI_Message +// +si COMBO_Compte <> Null _et_ gtaParamEmailConfig..Occurrence > 0 _et_ gtaParamEmailConfig[COMBO_Compte] +..Existe alors +//SAI_Sig = ChaîneVersUTF8(gtaParamEmailConfig[COMBO_Compte].SMTP.bufSignature) +SAI_Sig = gtaParamEmailConfig[COMBO_Compte].SMTP.bufSignature +fin +//SI COMBO_Compte <> Null _ET_ gtaParamEmailConfig..Occurrence > 0 _ET_ +gtaParamEmailConfig[COMBO_Compte]..Existe ALORS +// POUR TOUT stOPE, sCle de gtaParamEmailConfig +// sChaineARemp = stOPE.SMTP.bufSignature +// i est un entier = 1 +// nPosest un entier += PositionOccurrence(Majuscule(stOPE.SMTP.bufSignature),"0 +// +// +sTexte est une chaîne = +Milieu(stOPE.SMTP.bufSignature,nPos,(Position(stOPE.SMTP.bufSignature,">",nPos)+1)-nPos) +// sChaineARemp = Remplace(sChaineARemp,sTexte,"") +// i+=1 +// nPos = PositionOccurrence(Majuscule(stOPE.SMTP.bufSignature),"0 +// +// +sTexte est une chaîne = +Milieu(stOPE.SMTP.bufSignature,nPos,(Position(stOPE.SMTP.bufSignature,">",nPos+1)+1)-nPos) +// sChaineARemp = Remplace(sChaineARemp,sTexte,"") +// i+=1 +// nPos = PositionOccurrence(Majuscule(stOPE.SMTP.bufSignature)," 0 alors +06/08/2026 Isis_BO 3893 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Procédures +// nNumeroCar est un entier = sChaineARemp..Taille +// +// FIN +// +//// sMessageActuel = sMessageFinal +//// sMessageFinal = Remplace(sMessageActuel,sChaineARemp,"",MotComplet) +// +// +// FIN +// +// SAI_Message = sMessageFinal +// SAI_Message += ChaîneVersUTF8(gtaParamEmailConfig[COMBO_Compte].SMTP.bufSignature) +// +//FIN +//sSig est une chaîne ANSI +// +//SI COMBO_Compte <> Null _ET_ gtaParamEmailConfig..Occurrence > 0 _ET_ +gtaParamEmailConfig[COMBO_Compte]..Existe ALORS +// pour tout stOPE, sCle de gtaParamEmailConfig +// sSig2 est une chaîne ANSI = SAI_Message +// sSig = SAI_Message +// nDeb est un entier = Position(sSig, baliseSigMailD, 1, DepuisDébut+SansCasse) +// nFin est un entier = Position(sSig, baliseSigMailf, 1, DepuisDébut+SansCasse) +// +// si nDeb > 0 et nFin > 0 alors +// sSig = sSig[[nDeb à (nFin-1)]] +// SAI_Message = Remplace(SAI_Message,sSig,"",SansCasse) +// fin +// +// FIN +// +////# a revoir le remplace ne marche pas +// SAI_Message += baliseSigMailD +// SAI_Message += ChaîneVersUTF8(gtaParamEmailConfig[COMBO_Compte].SMTP.bufSignature) +// SAI_Message += baliseSigMailf +//FIN +Procédure locale pieceJointeAjoute +// Résumé : Associe un pièce jointe à l'email +// Syntaxe : +//pieceJointeAjoute () +// +// Paramètres : +// sFichier : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure pieceJointeAjoute(sFichier) +// Variable +sNomFichier est une chaîne +06/08/2026 Isis_BO 3894 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Procédures +sTailleFichier est une chaîne +si fFichierExiste(sFichier) et sFichier <> "" alors +// Extrait les informations +sNomFichier = fExtraitChemin(sFichier, fFichier+fExtension) +sTailleFichier = TailleVersChaîne(fTaille(sFichier)) +pclPJ est un PFicheDocument dynamique=PFicheDocument.gNouvellePresentation() +pclPJ <- gpclListePJ.Nouveau() +pclPJ.m_bNouveau=Vrai +pclPJ.m_nIDIntervention=gclPFMessage.m_nIDIntervention +pclPJ.m_sNom=sNomFichier +Ext est une chaîne= fExtraitChemin(sNomFichier,fExtension) +Ext=Majuscule(Ext[[2 à]]) +selon Ext +cas "BMP","JPG","JPEG","GIF", "PCD", "PCX", "PNG", "PSD", "TGA", "TIF","TIFF","EMF","WMF","ICO" +,"ICW","CUR" +pclPJ.m_nIDCategorie= gpclListeCategorieDocument.RechercheEtDonneIdDepuisValeur("1") +cas "PDF" +pclPJ.m_nIDCategorie= gpclListeCategorieDocument.RechercheEtDonneIdDepuisValeur("4") +autre cas +pclPJ.m_nIDCategorie= gpclListeCategorieDocument.RechercheEtDonneIdDepuisValeur("4") +fin +TableauAjouteLigne(gpclListePJ.m_clTabModele,pclPJ.p_clCourant) +ZoneRépétéeAffiche(ZR_PJ,taInit) +ListeAffiche(COMBO_PJ,taInit) +fin +Procédure locale THEnvoiMail +procédure THEnvoiMail(local sDestinataire est une chaîne,local sCC est une chaîne,local sCCI est une +chaîne,local sObjet est une chaîne,local sMessage est une chaîne,local FicheMessageExterne est une +PFicheMessageExterne dynamique) +sListeFichiers est chaîne +sListeIDFichiers est une chaîne +sMessageErreur est une chaîne="" +unEmail est un Email +FicheMessageExterne.m_bNouveau = Vrai +FicheMessageExterne.m_sAdrDestinataires = sDestinataire +FicheMessageExterne.m_sAdrCC = sCC +FicheMessageExterne.m_sAdrCCI = sCCI +FicheMessageExterne.m_sMessage = sMessage +FicheMessageExterne.m_sObjet = sObjet +pour I = 1 _à_ ZR_PJ..Occurrence +sListeIDFichiers += [";"]+NumériqueVersChaîne(gpclListePJ.m_clTabModele[I].m_nPKID) +sListeFichiers += sListeFichiers="" ? gpclListePJ.m_clTabModele[I].m_sCheminFichier sinon RC ++gpclListePJ.m_clTabModele[I].m_sCheminFichier +fin +FicheMessageExterne.m_sIDDocPJ = sListeIDFichiers +sMessageErreur = EnvoiMail(sDestinataire,sCC,sCCI,sObjet,sMessage,sListeFichiers,unEmail,gta +ParamEmailConfig[COMBO_Compte]) +FicheMessageExterne.m_sAdrExp = unEmail.Expediteur +FicheMessageExterne.m_bPJ = unEmail..Attache..Occurrence=0 _et_ FicheMessageExterne. +m_sIDDocPJ="" ? 0 sinon 1 +06/08/2026 Isis_BO 3895 + +Partie 3 › Fenêtre WINDEV › FI_EmailNouveau › Procédures +si sMessageErreur<>"" alors +| FicheMessageExterne.m_bBrouillon = Vrai | | | +| --------------------------------------- | --- | --- | +| FicheMessageExterne.m_bEnvoyer = Faux | | | +FicheMessageExterne.m_sMessage = SAI_Message // sans la signature email +sinon +| FicheMessageExterne.m_bBrouillon = Faux | | | +| --------------------------------------- | --- | --- | +| FicheMessageExterne.m_bEnvoyer = Vrai | | | +fin +Enregistre_NouveauMail(FicheMessageExterne) +renvoyer sMessageErreur +| 06/08/2026 | Isis_BO | 3896 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Image +FI_Listing_Intervention +Image +FI_Listing_Intervention +Informations générales +FI_Listing_Intervention +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Listing_Intervention.wdw +Créé par FBO +Date de création 21/02/2019 15:00:11 +Dernière modification par SMR +Date dernière modification 11/04/2025 16:08:31 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +Position X 0 Position Y 0 Largeur 1278 Hauteur 470 +06/08/2026 Isis_BO 3897 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations générales +| 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 | | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Oui | | | | +| Type cadre | | | | | +| Transparence Vista | Non | | | | +| Transparence gérée par Vista | Non | | | | +| Appliquer le thème du projet | | | | | +| Grisé : Utiliser couleur perso. | Non | | | | +| Grisé : Algo pour images | | | | | +| 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. | | | | | +| 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 | | | | +| ---------------------- | --- | ------- | --- | ---- | +| 06/08/2026 | | Isis_BO | | 3898 | + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | | 22 | | Libellé | | 12 | +| --- | ---------------------- | --- | --- | --- | --- | --------------------- | --- | --- | +| | Bouton | | | 9 | | Interrupteur | | 30 | +| | Image | | | 4 | | Table | | 1 | +| | Combo | | | 11 | | Forme | | 7 | +| | Fenêtre interne | | | 1 | | Option d'interrupteur | | 30 | +| | Colonne de table | | | 22 | | Disposition | | 10 | +| | Cellule de disposition | | | 44 | | | | | +Nombre d'éléments dans la fenêtre : 203 +FI_Listing_Intervention +Informations sur les champs +Fenêtre : FI_Listing_Intervention +Fenêtre interne +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | ------------ | --- | +| | | | | | ruegraL | ruetuaH | | | +elbisiV +nalP +| FI_Listing_Intervention | | | 0 | 0 | 1278 | 470 | 0 | | +| ----------------------- | --- | --- | --- | --- | ---- | --- | --- | --- | +Fenêtre interne : FI_Listing_Intervention +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_ADRESSE_SITE | 130 31 | 173 22 | 0 | Actif | Texte | | Non | | +| ------------------ | ------- | ------ | --- | ------- | ----- | --- | --- | ---- | +| SAI_CLIENT | 130 3 | 173 22 | 0 | Actif | Texte | | Non | | +| SAI_CODEPOSTAL_SIT | 130 59 | 173 22 | 0 | Actif | Texte | | Non | | +| SAI_CODE_LIEU | 130 3 | 173 22 | 0 | Actif | Texte | | Non | | +| SAI_CONTACT_SITE | 130 115 | 173 22 | 0 | Actif | Texte | | Non | | +| SAI_DATE_DEVIS_AU | 543 57 | 74 22 | 0 | Actif | Date | | Non | | +| SAI_DATE_DEVIS_DU | 444 57 | 74 22 | 0 | Actif | Date | | Non | | +| 06/08/2026 | | | | Isis_BO | | | | 3899 | + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +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_DATE_DOSSIER_A | 229 115 | 74 | 22 | 0 | Actif | | Date | | Non | | | | | +| ------------------ | ------- | --- | --- | --- | ----- | --- | ---- | --- | --- | --- | --- | --- | --- | +| SAI_DATE_DOSSIER_D | 130 115 | 74 | 22 | 0 | Actif | | Date | | Non | | | | | +| SAI_DATE_FACT_AU | 543 113 | 74 | 22 | 0 | Actif | | Date | | Non | | | | | +| SAI_DATE_FACT_DU | 444 113 | 74 | 22 | 0 | Actif | | Date | | Non | | | | | +SAI_DATE_INTERVENT +| | 229 | 87 74 | 22 | 0 | Actif | | Date | | Non | | | | | +| ------------------ | ------- | ------ | --- | --- | ----- | --- | ----- | --- | --- | --- | --- | --- | --- | +| SAI_DATE_INTERVENT | 130 | 87 74 | 22 | 0 | Actif | | Date | | Non | | | | | +| SAI_DATE_RDV_AU | 229 | 3 74 | 22 | 0 | Actif | | Date | | Non | | | | | +| SAI_DATE_RDV_DU | 130 | 3 74 | 22 | 0 | Actif | | Date | | Non | | | | | +| SAI_DESCRIPTION | 130 143 | 173 | 22 | 0 | Actif | | Texte | | Non | | | | | +| SAI_DONNEUR_ORDR | 130 | 3 173 | 22 | 0 | Actif | | Texte | | Non | | | | | +| SAI_NUMDEVIS | 444 | 29 173 | 22 | 0 | Actif | | Texte | | Non | | | | | +| SAI_NUMDOSSIER | 130 | 59 173 | 22 | 0 | Actif | | Texte | | Non | | | | | +| SAI_NUMFACTURE | 444 | 85 173 | 22 | 0 | Actif | | Texte | | Non | | | | | +| SAI_REFEXT_DOSSIER | 130 | 87 173 | 22 | 0 | Actif | | Texte | | Non | | | | | +| SAI_VILLE_SITE | 130 | 87 173 | 22 | 0 | Actif | | Texte | | Non | | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | --- | +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_DATE_DEVIS_AU | | 520 | | 61 | 17 | 14 | 0 | | Actif | Gauche | Haut | | | +| ------------------------ | --- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | --- | +| LIB_DATE_DOSSIER_AU | | 210 | 119 | | 17 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_DATE_FACT_AU | | 520 | 117 | | 17 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_DATE_INTERVENTION_AU | | 211 | | 91 | 17 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_DATE_RDV_AU | | 206 | | 7 | 17 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_DOSSIER | | 0 | | 8 | 100 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_INTERVENTION | | 0 | | 8 | 100 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_RENDEZVOUS | | 0 | | 8 | 100 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_SITE | | 0 | | 8 | 100 | 14 | 0 | | Actif | Gauche | Haut | | | +LIB_Titre_de_fenêtre_listing_inter 6 6 39 21 0 Actif Gauche Centre +LIB_Total_Listing_Intervention 44 0 36 14 0 Actif Gauche Haut +| LIB_Total_Titre_Liste_Client | | 0 | | 0 | 40 | 14 | 0 | | Actif | Gauche | Haut | | | +| ---------------------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | --- | +Bouton +notuob epyT +| | | | | | | | | | | laitini tatE | BAT ehcuoT | | | +| --- | --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | ------------ | ---------- | --- | --- | +| | | | X noitisoP | Y noitisoP | | | | | | | | | | +| | | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_BOUTON | | | -166 | 332 | | 80 | 24 | | 0 | Actif | | Normal | | +| ------------------------ | --- | --- | ---- | --- | --- | ------- | --- | --- | --- | ----- | --- | ------- | ---- | +| BTN_COLLAB_INTERV_ZOMBIE | | | 948 | -48 | | 172 | 22 | | 0 | Actif | | Normal | | +| BTN_COLLAPSE | | | 627 | | 4 | 24 | 24 | | 0 | Actif | | Abandon | | +| BTN_ETAT_INTERV_ZOMBIE | | | 139 | -54 | | 172 | 22 | | 0 | Actif | | Normal | | +| BTN_Fermer_liste_client | | | 4 | | 4 | 24 | 24 | | 0 | Actif | | Abandon | | +| BTN_GOMMER | | | 4 | | 4 | 24 | 24 | | 0 | Actif | | Normal | | +| 06/08/2026 | | | | | | Isis_BO | | | | | | | 3900 | + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +BAT ehcuoT notuob epyT +laitini tatE +| | X noitisoP Y noitisoP | | | | | +| --- | --------------------- | --------------- | --- | --- | --- | +| | | ruegraL ruetuaH | | | | +elbisiV +nalP +| BTN_RECHERCHE | 4 | 4 24 | 24 0 | Actif | Normal | +| ------------------------- | --- | ------- | ---- | ----- | ------- | +| BTN_SOCIETE_INTERV_ZOMBIE | 763 | -49 172 | 22 0 | Actif | Normal | +| BTN_UNCOLLAPSE | 627 | 4 24 | 24 0 | Actif | Abandon | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | staté siorT | +| --- | --------------------- | --- | --- | ------------ | ----------- | +ruetuaH +| | | ruegraL | elbisiV | | | +| --- | --- | ------- | ------- | --- | --- | +nalP +| INT_ADRESSE_SITE | 0 30 | 130 25 | 0 | Actif | 1 | +| ------------------------ | ------- | ------- | --- | ----- | ---- | +| INT_CLIENT | 0 2 | 130 25 | 0 | Actif | 1 | +| INT_CODEPOSTAL_SITE | 0 58 | 130 25 | 0 | Actif | 1 | +| INT_CODE_LIEU | 0 2 | 130 25 | 0 | Actif | 1 | +| INT_COLLAB_INTERV | 314 142 | 130 25 | 0 | Actif | 1 | +| INT_COLLAB_RDV | 309 3 | 130 25 | 0 | Actif | 1 | +| INT_CONTACT_SITE | 0 114 | 130 25 | 0 | Actif | 1 | +| INT_DATE_DEVIS_DU | 314 56 | 130 25 | 0 | Actif | 1 | +| INT_DATE_DOSSIER_DU | 0 114 | 130 25 | 0 | Actif | 1 | +| INT_DATE_FACT_DU | 314 112 | 130 25 | 0 | Actif | 1 | +| INT_DATE_INTERVENTION_DU | 0 86 | 130 25 | 0 | Actif | 1 | +| INT_DATE_RDV_DU | 0 2 | 130 25 | 0 | Actif | 1 | +| INT_DESCRIPTION | 0 142 | 130 25 | 0 | Actif | 1 | +| INT_DONNEUR_ORDRE | 0 2 | 130 25 | 0 | Actif | 1 | +| INT_ETAT_INTERV | 0 114 | 130 25 | 0 | Actif | 1 | +| INT_LIMITE | 12 4 | 278 25 | 0 | Actif | 1 | +| INT_MONTRERTEMPS | 0 4 | 130 25 | 0 | Actif | 1 | +| INT_NUMDEVIS | 314 28 | 130 25 | 0 | Actif | 1 | +| INT_NUMDOSSIER | 0 58 | 130 25 | 0 | Actif | 1 | +| INT_NUMFACTURE | 314 84 | 130 25 | 0 | Actif | 1 | +| INT_REFEXT_DOSSIER | 0 86 | 130 25 | 0 | Actif | 1 | +| INT_SOCIETE_INTERV | 314 0 | 130 25 | 0 | Actif | 1 | +| INT_STATUT_DOSSIER | 0 170 | 130 25 | 0 | Actif | 1 | +| INT_STATUT_RDV | 309 30 | 131 25 | 0 | Actif | 1 | +| INT_SUIVI_PAR | 0 30 | 130 25 | 0 | Actif | 1 | +| INT_TYPE_CLIENT | 0 30 | 130 25 | 0 | Actif | 1 | +| INT_TYPE_DOSSIER | 0 142 | 130 25 | 0 | Actif | 1 | +| INT_TYPE_INTERVENTION | 0 58 | 131 25 | 0 | Actif | 1 | +| INT_TYPE_RDV | 0 30 | 131 25 | 0 | Actif | 1 | +| INT_VILLE_SITE | 0 86 | 130 25 | 0 | Actif | 1 | +| 06/08/2026 | | Isis_BO | | | 3901 | + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › 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_ICONE_CARACTERISTIQUES | | 4 | 7 16 | 16 | 0 | Actif | | +| -------------------------- | --- | --- | ---- | --- | --- | ----- | --- | +| IMG_ICONE_CARACTERISTIQUES | | 4 | 7 16 | 16 | 0 | Actif | | +| IMG_ICONE_CARACTERISTIQUES | | 4 | 7 16 | 16 | 0 | Actif | | +| IMG_ICONE_CARACTERISTIQUES | | 4 | 7 16 | 16 | 0 | Actif | | +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | lennoitroporp .csA .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | ------------------ | ------------------------------------- | ----------------------------- | +| | | | | | )(ertliFH resilitU | ruesnecsa elluB EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +.gerne egacolB noitcelésitluM edacsac eisiaS +BAT ehcuoT +| | X noitisoP Y noitisoP | | laitini tatE | | | | | +| --- | --------------------- | ------- | ------------ | -------- | --- | --- | --- | +| | ruegraL | ruetuaH | | sruocraP | | | | +elbisiV +elbaT +nalP +| TABLE_LISTING_INTER | 0 0 1278 | 79 0 | affichag | Mémoir | | | 2 | +| ------------------- | -------- | ---- | -------- | ------ | --- | --- | --- | +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 | | +| COMBO_COLLAB_INTERV | 444 143 | 173 22 | 0 | Actif | Mémoire | Non | | +| COMBO_COLLAB_RDV | 439 4 | 173 22 | 0 | Actif | Variable | Non | | +| COMBO_ETAT_INTERV | 130 115 | 173 22 | 0 | Actif | Mémoire | Non | | +| COMBO_SOCIETE_INTERV | 444 1 | 173 22 | 0 | Actif | Mémoire | Non | | +COMBO_STATUT_DOSSIE +| | 130 171 | 173 22 | 0 | Actif | Variable | Non | | +| -------------------- | ------- | ------ | ------- | ----- | -------- | --- | ---- | +| COMBO_STATUT_RDV | 439 31 | 173 22 | 0 | Actif | Variable | Non | | +| COMBO_SUIVI_PAR | 130 31 | 173 22 | 0 | Actif | Variable | Non | | +| COMBO_TYPE_CLIENT | 130 31 | 173 22 | 0 | Actif | Variable | Non | | +| COMBO_TYPE_DOSSIER | 130 143 | 173 22 | 0 | Actif | Variable | Non | | +| COMBO_TYPE_INTERVENT | 130 59 | 173 22 | 0 | Actif | Variable | Non | | +| COMBO_TYPE_RDV | 130 31 | 173 22 | 0 | Actif | Variable | Non | | +| 06/08/2026 | | | Isis_BO | | | | 3902 | + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Forme +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_BANDEAU_CRITERE | | 0 | 0 1278 | 311 | 0 | Actif | | +| -------------------------- | --- | --- | ------ | --- | --- | ----- | --- | +| FRM_BANDEAU_CRITERE1 | | 0 | 0 1278 | 33 | 0 | Actif | | +| FRM_CADRE_CARACTERISTIQUES | | 0 | 0 624 | 172 | 0 | Actif | | +| FRM_CADRE_CARACTERISTIQUES | | 0 | 0 309 | 140 | 0 | Actif | | +| FRM_CADRE_CARACTERISTIQUES | | 0 | 0 309 | 267 | 0 | Actif | | +| FRM_CADRE_RDV | | 0 | 0 624 | 57 | 0 | Actif | | +| FRM_SansNom1 | | 307 | 0 8 | 169 | 0 | Actif | | +Disposition +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | +| | | X noitisoP | Y noitisoP | | | | | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| DISP_BANDEAU_ENTETE_LISTING_INTERVEN | | 0 | 0 1278 | 33 | 0 | Actif | | +| ------------------------------------ | --- | --- | ------- | --- | --- | ----- | --- | +| DISP_CG_L1_C2_L1 | | 0 | 0 624 | 32 | 0 | Actif | | +| DISP_CG_L1_C2_L1 | | 0 | 0 309 | 32 | 0 | Actif | | +| DISP_CG_L1_C2_L1 | | 0 | 0 309 | 32 | 0 | Actif | | +| DISP_CG_L1_C2_L1 | | 0 | 0 624 | 32 | 0 | Actif | | +| DISP_DOSSIER | | 13 | 0 309 | 311 | 0 | Actif | | +| DISP_INTERVENTION | | 328 | 0 624 | 216 | 0 | Actif | | +| DISP_LISTE_LISTING_INTERVENTION | | 0 | 0 1278 | 470 | 0 | Actif | | +| DISP_RDV | | 328 | 216 624 | 95 | 0 | Actif | | +| DISP_SITE | | 958 | 0 309 | 184 | 0 | Actif | | +Table : +FI_Listing_Intervention.DISP_LISTE_LISTING_INTERVENTION.TABLE_LISTING_INTERVEN +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 | | +| ----------------- | --- | ----- | ------- | ------------- | ----- | ----- | ---- | +| NumRef | 100 | Actif | | Gauche Centre | Texte | | | +| RefInterneDossier | 66 | Actif | | Gauche Centre | Texte | | | +| DateDossier | 74 | Actif | | Droite Centre | Date | | | +| Description | 300 | Actif | | Gauche Centre | Texte | | | +| CodeSite | 190 | Actif | | Gauche Centre | Texte | | | +| COL_ContactSite | 118 | Actif | | Gauche Centre | Texte | | | +| Client | 199 | Actif | | Gauche Centre | Texte | | | +| RefExterne | 71 | Actif | | Gauche Centre | Texte | | | +| SuiviPar | 86 | Actif | | Gauche Centre | Texte | | | +| NumDevis | 82 | Actif | | Gauche Centre | Texte | | | +| DevisDate | 100 | Actif | | Droite Centre | Date | | | +| 06/08/2026 | | | Isis_BO | | | | 3903 | + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +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 | +| ---------------- | --- | ----- | --- | ------------- | ------- | ----- | +| NumFacture | 100 | Actif | | Gauche Centre | Texte | | +| FactureDate | 100 | Actif | | Droite Centre | Date | | +| EtatIntervention | 100 | Actif | | Gauche Centre | Texte | | +| TypeIntervention | 100 | Actif | | Gauche Centre | Texte | | +| DonneurOrdre | 100 | Actif | | Gauche Centre | Texte | | +| CollabInterv | 100 | Actif | | Gauche Centre | Texte | | +| COL_DureePrevue | 100 | Actif | | Droite Centre | Numériq | | +| COL_Temps | 100 | Actif | | Droite Centre | Numériq | | +| COL_TempsRestant | 100 | Actif | | Droite Centre | Numériq | | +Numériq +| COL_NumInterv | 100 | Actif | | Droite Centre | | | +| ------------- | --- | ----- | --- | ------------- | --- | --- | +Numériq +| COL_idDossier | 100 | Actif | | Droite Centre | | | +| ------------- | --- | ----- | --- | ------------- | --- | --- | +Fenêtre : FI_Listing_Intervention +Fenêtre interne : FI_Listing_Intervention +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ---------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Compatible desktop ET mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | | +| ------------------------- | ------- | --- | --- | --- | --- | --- | +| Ctx. HFSQL indép. | Non | | | | | | +| Ancrage | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Isis_BO | | | 3904 | +| ---------- | --- | --- | ------- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Fenêtre interne : FI_Listing_Intervention +Bouton : FI_Listing_Intervention.BTN_BOUTON +Libellé FR: &Bouton +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3905 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Bouton : FI_Listing_Intervention.BTN_COLLAB_INTERV_ZOMBIE +Groupe ,GR_RAZ +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 +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 +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +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 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3906 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Bouton : FI_Listing_Intervention.DISP_LISTE_LISTING_INTERVENTION.BTN_COLLAPSE +Groupe GR_MODEFORMULAIRE_LISTE_CLIENT +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Plier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3907 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Bouton : FI_Listing_Intervention.BTN_ETAT_INTERV_ZOMBIE +Groupe ,GR_RAZ +Ordre navigation 1 +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 +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 +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3908 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEFORMULAIRE_LISTE_CLIENT +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3909 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation 1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Gommer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3910 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation 1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_refresh.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3911 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Bouton : FI_Listing_Intervention.BTN_SOCIETE_INTERV_ZOMBIE +Groupe ,GR_RAZ +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 +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 +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +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 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3912 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Bouton : FI_Listing_Intervention.DISP_LISTE_LISTING_INTERVENTION.BTN_UNCOLLAPSE +Groupe GR_MODEFORMULAIRE_LISTE_CLIENT +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3913 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Combo : +Libellé FR: &Intervention suivi par +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 27 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Fenêtre Popup FEN_Choix_Parametre_Metier +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 772 +Largeur interne 173 +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 +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 +06/08/2026 Isis_BO 3914 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 767 +Largeur interne 173 +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 +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 +06/08/2026 Isis_BO 3915 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › 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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeCollabActif.m_clTabModele +Rub. affichée :gpclListeCollabActif.m_clTabModele.NomPrenom +Rub. mémorisée :gpclListeCollabActif.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : +Libellé FR: &Intervention suivi par +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 23 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Fenêtre Popup FEN_Choix_Parametre_Metier +Util. gValeurMémorisée pour valeur Non +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 173 +06/08/2026 Isis_BO 3916 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 458 +Largeur interne 173 +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 +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. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3917 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Combo : +Libellé FR: &Intervention suivi par +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Fenêtre Popup FEN_Choix_Parametre_Metier +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 772 +Largeur interne 173 +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 +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 +06/08/2026 Isis_BO 3918 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : +Libellé FR: Stat&ut du dossier +Valeur initiale 1 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 15 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 143 +Largeur interne 173 +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 +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 +06/08/2026 Isis_BO 3919 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeStatutDossier.m_clTabModele +Rub. affichée :gpclListeStatutDossier.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeStatutDossier.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : +Libellé FR: &Type d'intervention +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 +06/08/2026 Isis_BO 3920 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Largeur liste 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 767 +Largeur interne 173 +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 +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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeStatutRendezVous.m_clTabModele +Rub. affichée :gpclListeStatutRendezVous.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeStatutRendezVous.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3921 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Combo : +Libellé FR: &Intervention suivi par +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Fenêtre Popup FEN_Choix_Collab_Responsable +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 458 +Largeur interne 173 +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 +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 +06/08/2026 Isis_BO 3922 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeCollabResp.m_clTabModele +Rub. affichée :gpclListeCollabResp.m_clTabModele.NomPrenom +Rub. mémorisée :gpclListeCollabResp.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : +Libellé FR: Type de client +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 143 +Largeur interne 173 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Type de client +Numéro aide 0 +Texte d'indication si vide FR: Type de client +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +Unicode Non +06/08/2026 Isis_BO 3923 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › 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 +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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeClient.m_clTabVisible +Filtre 02 +Rub. affichée :gpclListeTypeClient.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeTypeClient.m_clTabVisible.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : +Libellé FR: &Type de dossier +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 13 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Isis_BO 3924 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 143 +Largeur interne 173 +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 +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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeDossier.m_clTabModele +Filtre 6 +Rub. affichée :gpclListeTypeDossier.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeTypeDossier.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 3925 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : +Libellé FR: &Type d'intervention +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 13 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 458 +Largeur interne 173 +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 +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 +06/08/2026 Isis_BO 3926 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeIntervention.m_clTabModele +Rub. affichée :gpclListeTypeIntervention.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeTypeIntervention.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : +Libellé FR: &Type d'intervention +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 458 +Largeur interne 173 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 3927 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeRendezVous.m_clTabModele +Rub. affichée :gpclListeTypeRendezVous.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeTypeRendezVous.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3928 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +06/08/2026 Isis_BO 3929 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +06/08/2026 Isis_BO 3930 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Listing_Intervention.DISP_LISTE_LISTING_INTERVENTION.DISP_DOSSIER +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 3931 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Facteur d'agrandissement 0 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 200 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Listing_Intervention.DISP_LISTE_LISTING_INTERVENTION +Libellé FR: Disposition +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 +Cellule ancrée 4 +Numéro aide 0 +06/08/2026 Isis_BO 3932 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Listing_Intervention.DISP_LISTE_LISTING_INTERVENTION.DISP_RDV +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3933 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Disposition : FI_Listing_Intervention.DISP_LISTE_LISTING_INTERVENTION.DISP_SITE +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Droite +Taux anc. droite 800 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3934 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3935 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3936 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Vertical +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_AGENDA.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Isis_BO 3937 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_SITE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +06/08/2026 Isis_BO 3938 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_action.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3939 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_dossier.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 3 +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 +Cadrage vert. Haut +Hauteur options auto Oui +06/08/2026 Isis_BO 3940 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › 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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +06/08/2026 Isis_BO 3941 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › 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 +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +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 +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 Toute la hauteur de l'option +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 +06/08/2026 Isis_BO 3942 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Valeur persistante Non +Option multilignes Non +Option format RTF Non +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +06/08/2026 Isis_BO 3943 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 25 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3944 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3945 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 9 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3946 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 9 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3947 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 9 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3948 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 19 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3949 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 16 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3950 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3951 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 24 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3952 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 3 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3953 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 22 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3954 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3955 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3956 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3957 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3958 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 14 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3959 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 7 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3960 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3961 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 14 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3962 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 7 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3963 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 7 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3964 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 3 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3965 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 12 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3966 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 12 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3967 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3968 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 7 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3969 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Libellé : +Libellé FR: au +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: au +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 +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 +06/08/2026 Isis_BO 3970 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: au +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3971 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Libellé : +Libellé FR: au +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: au +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 +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 +06/08/2026 Isis_BO 3972 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Dossier +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3973 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Libellé : +Libellé FR: Intervention +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Rendez-vous +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 +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 +06/08/2026 Isis_BO 3974 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Site +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3975 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Libellé : +Libellé FR: Titre +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: 000 +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 +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 +06/08/2026 Isis_BO 3976 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Total : +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 +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 +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 Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3977 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Champ de saisie : +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1088 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3978 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: &Client +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 143 +Largeur interne 173 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 3979 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3980 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Champ de saisie : +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1088 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3981 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1088 +Largeur interne 173 +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 +06/08/2026 Isis_BO 3982 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3983 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Champ de saisie : +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1088 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3984 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 871 +Largeur interne 74 +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 +06/08/2026 Isis_BO 3985 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3986 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Champ de saisie : +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 772 +Largeur interne 74 +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: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3987 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › 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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 242 +Largeur interne 74 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 3988 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3989 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Champ de saisie : +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 143 +Largeur interne 74 +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: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3990 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › 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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 21 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 871 +Largeur interne 74 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 3991 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3992 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Champ de saisie : +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 20 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 772 +Largeur interne 74 +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: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3993 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › 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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 18 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 557 +Largeur interne 74 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 3994 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3995 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Champ de saisie : +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 17 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 458 +Largeur interne 74 +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: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3996 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › 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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 557 +Largeur interne 74 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 3997 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 3998 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Champ de saisie : +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 458 +Largeur interne 74 +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: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 3999 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › 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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 26 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 458 +Largeur interne 173 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 4000 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4001 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Champ de saisie : +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 458 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 4002 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 772 +Largeur interne 173 +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 +06/08/2026 Isis_BO 4003 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4004 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Champ de saisie : +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 143 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 4005 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 15 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 772 +Largeur interne 173 +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 +06/08/2026 Isis_BO 4006 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4007 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Champ de saisie : +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 143 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 4008 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_RAZ,GR_CRITERE_LISTESUIVI +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1088 +Largeur interne 173 +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 +06/08/2026 Isis_BO 4009 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4010 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Table : +Libellé FR: Table +Double clic BTN_BOUTON +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre +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) 16 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 Après la dernière ligne, dans le champ Table +Somme FR: Somme +Moyenne FR: Moyenne +Compteur FR: Compteur +Minimum FR: Minimum +Maximum FR: Maximum +06/08/2026 Isis_BO 4011 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Ajout/Suppr. dans variable Non +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 0 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : +FI_Listing_Intervention.DISP_LISTE_LISTING_INTERVENTION.TABLE_LISTING_INTERVEN +Colonne de table : +Titre FR: Numéro +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 +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 +06/08/2026 Isis_BO 4012 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Dossier +n° +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Date du +Dossier +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 +06/08/2026 Isis_BO 4013 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: UseSystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Description +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4014 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Colonne de table : +Titre FR: Site +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Contact Site +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 +06/08/2026 Isis_BO 4015 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Client +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4016 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Colonne de table : +Titre FR: Ref +Externe +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Suivi +Par +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 +06/08/2026 Isis_BO 4017 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Devis +n° +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4018 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Colonne de table : +Titre FR: Date de +Devis +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: UseSystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Facture +n° +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 +06/08/2026 Isis_BO 4019 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Date de +Facture +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: UseSystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4020 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Colonne de table : +Titre FR: Etat +Intervention +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 100 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Type +Intervention +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 100 +Larg. déroulée perso. Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +06/08/2026 Isis_BO 4021 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Donneur +d'Ordre +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4022 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Colonne de table : +Titre FR: Collaborateur +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: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: DureePrevue +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 +06/08/2026 Isis_BO 4023 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Masque saisie FR: MoneySystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Temps +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: MoneySystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4024 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Colonne de table : +Titre FR: TempsRestant +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: MoneySystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: NumInterv +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: MoneySystemMask +06/08/2026 Isis_BO 4025 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: idDossier +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: +9 999 999 999 999 999 999 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FI_Listing_Intervention +Messages multilingues +06/08/2026 Isis_BO 4026 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Messages multilingues +06/08/2026 Isis_BO 4027 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FI_Listing_Intervention +Code des champs +Déclarations globales de FI_Listing_Intervention +procédure FI_Listing_Intervention(paramSupplementaire est un STParamFenetreAppelante=Null) +maProcMAJObjetRetourFI est une procédure = MAJObjetRetourFI +maProcMAJCriterePerso est une procédure = MAJCriterePerso +gstCriterePerso est un STCritereListePerso +pclTabEtat est un PTableParametreMetier dynamique +pclTabSoc est un PTableSociete dynamique +pclTabCollab est un PTableCollaborateur dynamique +gpclListeCollabResp est un PTableCollaborateur dynamique +pclTabCollab = PTableCollaborateur.gNouvellePresentation(-1) +pclTabEtat = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"13") +//PTableParametreMetier.gNouvellePresentation(-1) +pclTabSoc = PTableSociete.gNouvellePresentation(-1) +gpclListeCollabResp = PTableCollaborateur.gNouvellePresentation(6) +ListeAffiche(COMBO_SUIVI_PAR,taInit) +ListeAffiche(COMBO_STATUT_DOSSIER,taInit) +ListeAffiche(COMBO_TYPE_DOSSIER,taInit) +ListeAffiche(COMBO_TYPE_INTERVENTION,taInit) +ListeAffiche(COMBO_TYPE_RDV,taInit) +ListeAffiche(COMBO_TYPE_CLIENT,taInit) +ListeAffiche(COMBO_COLLAB_RDV,taInit) +si paramSupplementaire.eTypeAppel=Libre alors +LIB_Titre_de_fenêtre_listing_intervention = "Suivi" +sinon si paramSupplementaire.sTitreFenetre<>"" alors +LIB_Titre_de_fenêtre_listing_intervention = paramSupplementaire.sTitreFenetre +fin +INT_LIMITE=1 +si gpclFicheUtilisateurEnCours<>Null _et_ gpclFicheUtilisateurEnCours:ListeParametreUtilisateur<>Null +alors +//gstListePerso = gpclFicheUtilisateurEnCours:DonneColonneEtTriListePerso(1) +gstCriterePerso = gpclFicheUtilisateurEnCours:DonneCritereListePerso(5) +fin +InitCriterePerso(GR_CRITERE_LISTESUIVI,gstCriterePerso,maProcMAJCriterePerso) +si pas gpclFicheUtilisateurEnCours:m_bAdministrateur alors +nIndiceM est un entier = TableauCherche(gpclFicheUtilisateurEnCours.ListeAccesEtDroit.m_clTabModele +,tcLinéaire,"m_clModule:m_sValeur","3",1) +si nIndiceM>0 alors +INT_MONTRERTEMPS..Visible = gpclFicheUtilisateurEnCours.ListeAccesEtDroit.m_clTabModele[ +nIndiceM]:m_bAcces + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Code des champs +fin +fin +Clic sur BTN_BOUTON +pclPresentationListeDossier est une PTableDossier dynamique +pclPresentationListeDossier=PTableDossier.gNouvellePresentation(0,TABLE_LISTING_INTERVENTION.COL_ +idDossier) +si pclPresentationListeDossier.m_clTabModele..Occurrence<>0 alors +clFicheDossier est un PFicheDossier (pclPresentationListeDossier.m_clTabModele[1]) +stParametreFenInterne est un STParamFenetreAppelante +stParametreFenInterne.eTypeAppel = DansOnglet +stParametreFenInterne.sNomFenetreAppelante = "FI_Listing_Intervention" +stParametreFenInterne.sNomIDAppelant = "SuiviInterv" +stParametreFenInterne.nIdFenetreAppelante = TABLE_LISTING_INTERVENTION.COL_NumInterv +FEN_Menu.OuvreOuActive(FI_Fiche_Dossier,"Fiche Dossier",Vrai,clFicheDossier,stParametreFenInterne) +fin +Clic sur BTN_COLLAB_INTERV_ZOMBIE +//OuvrePopupPosition(FEN_Choix_Role_Personne,poHaut,*,DonneParam(DansFenetre,"FI_Fiche_Personne",MoiMêm +e..Nom,maProcMAJObjetRetourFI,"",paramSupplementaire.sNomIDAppelant,gclPresentationFichePersonne:m_nIDR +ole,gclPresentationFichePersonne,Faux)) +//OuvrePopupPosition(FEN_Choix_Equipe_Collaborateur,poHaut,*,DonneParam(DansFenetre,"FI_Fiche_Intervent +ion",MoiMême..Nom,maProcMAJObjetRetourFI,"Collaborateurs","IntervEquipeCollab",Val(COMBO_Societe..Valeu +rMémorisée),gclPresentationFicheInterv.ListeColla +borateur,Vrai)) +//pclTabCollab est un PTableCollaborateur dynamique +//pclTabCollab = PTableCollaborateur.gNouvellePresentation(-1) +//POUR TOUTE LIGNE DE LISTE_COLLAB_INTERV +// clModele est MCollaborateur +// clModele:m_npkid = LISTE_COLLAB_INTERV[LISTE_COLLAB_INTERV]..Valeur +// pclTabCollab.ajouter(clModele) +//FIN +OuvrePopupPosition(FEN_Choix_Equipe_Collaborateur,poHaut,*,DonneParam(DansFenetre, +"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJObjetRetourFI,"Collaborateurs","SuiviEquipeCollab",*, +pclTabCollab,Vrai)) +Clic sur BTN_ETAT_INTERV_ZOMBIE +OuvrePopupPosition(FEN_Choix_Parametre_Metier,poHaut,*,DonneParam(DansFenetre,"FI_Listing_Intervention" +,MoiMême..Nom,maProcMAJObjetRetourFI,"Etat d'intervention","EtatIntervention",*,pclTabEtat,Vrai)) +Clic sur BTN_SOCIETE_INTERV_ZOMBIE +//OuvrePopupPosition(FEN_Choix_Role_Personne,poHaut,*,DonneParam(DansFenetre,"FI_Fiche_Personne",MoiMêm +e..Nom,maProcMAJObjetRetourFI,"",paramSupplementaire.sNomIDAppelant,gclPresentationFichePersonne:m_nIDR +ole,gclPresentationFichePersonne,Faux)) +//OuvrePopupPosition(FEN_Choix_Equipe_Collaborateur,poHaut,*,DonneParam(DansFenetre,"FI_Fiche_Intervent +ion",MoiMême..Nom,maProcMAJObjetRetourFI,"Collaborateurs","IntervEquipeCollab",Val(COMBO_Societe..Valeu +rMémorisée),gclPresentationFicheInterv.ListeColla +borateur,Vrai)) +//pclTabSoc est un PTableSociete dynamique +//pclTabSoc = PTableSociete.gNouvellePresentation(-1) +//POUR TOUTE LIGNE DE LISTE_SOCIETE_INTERV +// clModele est MSociete +06/08/2026 Isis_BO 4028 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Code des champs +// clModele:m_npkid = LISTE_SOCIETE_INTERV[LISTE_SOCIETE_INTERV]..Valeur +// pclTabSoc.ajouter(clModele) +//FIN +OuvrePopupPosition(FEN_Choix_Societe,poHaut,*,DonneParam(DansFenetre,"FI_Listing_Intervention",MoiMême. +.Nom,maProcMAJObjetRetourFI,"Sociétés","SuiviSociete",*,pclTabSoc,Vrai)) +Clic sur BTN_COLLAPSE +DISP_LISTE_LISTING_INTERVENTION[2]..Visible = Faux +BTN_UNCOLLAPSE..Visible=Vrai +MoiMême..Visible = Faux +Clic sur BTN_UNCOLLAPSE +DISP_LISTE_LISTING_INTERVENTION[2]..Visible = Vrai +BTN_COLLAPSE..Visible=Vrai +MoiMême..Visible = Faux +Clic sur BTN_Fermer_liste_client +si paramSupplementaire.eTypeAppel=DansChampFI alors +//SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,Null) +AppelProcFenetreAppelante(Null,paramSupplementaire,Faux,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon +FermeVoletEtActiveLePrecedent(VoletDuChamp(DISP_LISTE_LISTING_INTERVENTION)) +fin +Clic sur BTN_GOMMER +RAZ(GR_RAZ) +ListeSupprimeTout(COMBO_ETAT_INTERV)//BTN_ETAT_INTERV..Libellé="" +COMBO_ETAT_INTERV..Bulle="" +TableauSupprimeTout(pclTabEtat:m_clTabModele) +//TableauSupprimeTout(pclTabEtat:m_clTabVisible) +ListeSupprimeTout(COMBO_SOCIETE_INTERV)//BTN_SOCIETE_INTERV..Libellé="" +COMBO_SOCIETE_INTERV..Bulle="" +TableauSupprimeTout(pclTabSoc:m_clTabModele) +ListeSupprimeTout(COMBO_COLLAB_INTERV)//BTN_COLLAB_INTERV..Libellé="" +COMBO_COLLAB_INTERV..Bulle="" +TableauSupprimeTout(pclTabCollab:m_clTabModele) +Clic sur BTN_RECHERCHE +si gpclFicheUtilisateurEnCours<>Null _et_ gpclFicheUtilisateurEnCours:ListeParametreUtilisateur<>Null +alors +//Récupération des critère dans un tableau +RecupCriterePerso(GR_CRITERE_LISTESUIVI,gstCriterePerso,maProcMAJCriterePerso) +//,BTN_SOCIETE_INTERV,pclTabSoc,BTN_ETAT_INTERVENTION,pclTabEtat +//Sauvegarde des critères en base +gpclFicheUtilisateurEnCours:MAJCritereListePerso(5,gstCriterePerso) +fin +Rechercher() +A chaque modification de INT_LIMITE +06/08/2026 Isis_BO 4029 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Code des champs +ChampVersSource() +A chaque modification de INT_MONTRERTEMPS +ChampVersSource() +Sortie de COMBO_STATUT_DOSSIER +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +Sélection d'une ligne de COMBO_STATUT_DOSSIER +INT_STATUT_DOSSIER[1] = MoiMême..ValeurAffichée<>"" +Sélection d'une ligne de COMBO_TYPE_CLIENT +INT_TYPE_CLIENT[1] = MoiMême..ValeurAffichée<>"" +//ChampVersSource() +Sortie de COMBO_TYPE_DOSSIER +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +Sélection d'une ligne de COMBO_TYPE_DOSSIER +INT_TYPE_DOSSIER[1] = MoiMême..ValeurAffichée<>"" +A chaque modification de INT_CLIENT +ChampVersSource() +A chaque modification de INT_DATE_DOSSIER_DU +ChampVersSource() +A chaque modification de INT_NUMDOSSIER +ChampVersSource() +A chaque modification de INT_REFEXT_DOSSIER +ChampVersSource() +A chaque modification de INT_STATUT_DOSSIER +ChampVersSource() +A chaque modification de INT_TYPE_CLIENT +ChampVersSource() +A chaque modification de INT_TYPE_DOSSIER +06/08/2026 Isis_BO 4030 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Code des champs +ChampVersSource() +Sortie de SAI_CLIENT +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_CLIENT +INT_CLIENT[1] = MoiMême..ValeurAffichée<>"" +Sortie de SAI_DATE_DOSSIER_AU +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_DATE_DOSSIER_AU +INT_DATE_DOSSIER_DU[1] = MoiMême..ValeurAffichée<>"" _ou_ SAI_DATE_DOSSIER_DU..ValeurAffichée<>"" +Sortie de SAI_DATE_DOSSIER_DU +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_DATE_DOSSIER_DU +INT_DATE_DOSSIER_DU[1] = MoiMême..ValeurAffichée<>"" _ou_ SAI_DATE_DOSSIER_AU..ValeurAffichée<>"" +Sortie de SAI_NUMDOSSIER +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_NUMDOSSIER +INT_NUMDOSSIER[1] = MoiMême..ValeurAffichée<>"" +Sortie de SAI_REFEXT_DOSSIER +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_REFEXT_DOSSIER +INT_REFEXT_DOSSIER[1] = MoiMême..ValeurAffichée<>"" +Ouverture de la liste déroulante de COMBO_COLLAB_INTERV +OuvrePopupPosition(FEN_Choix_Equipe_Collaborateur,poHaut,*,DonneParam(DansFenetre, +"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJObjetRetourFI,"Collaborateurs","SuiviEquipeCollab",*, +pclTabCollab,Vrai)) +Ouverture de la liste déroulante de COMBO_ETAT_INTERV +OuvrePopupPosition(FEN_Choix_Parametre_Metier,poHaut,*,DonneParam(DansFenetre,"FI_Listing_Intervention" +,MoiMême..Nom,maProcMAJObjetRetourFI,"Etat d'intervention","EtatIntervention",*,pclTabEtat,Vrai)) +Ouverture de la liste déroulante de COMBO_SOCIETE_INTERV +06/08/2026 Isis_BO 4031 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Code des champs +OuvrePopupPosition(FEN_Choix_Societe,poHaut,*,DonneParam(DansFenetre,"FI_Listing_Intervention",MoiMême. +.Nom,maProcMAJObjetRetourFI,"Sociétés","SuiviSociete",*,pclTabSoc,Vrai)) +Sélection d'une ligne de COMBO_SUIVI_PAR +INT_SUIVI_PAR[1] = MoiMême..ValeurAffichée<>"" +Ouverture de la liste déroulante de COMBO_SUIVI_PAR +OuvrePopupPosition(FEN_Choix_Collab_Responsable,poBas,*,DonneParam(DansFenetre, +"FI_Listing_Intervention",MoiMême..Nom,maProcMAJObjetRetourFI,"","ListeDossierSuiviPar",Val(MoiMême.. +ValeurMémorisée))) +Sélection d'une ligne de COMBO_TYPE_INTERVENTION +INT_TYPE_INTERVENTION[1] = MoiMême..ValeurAffichée<>"" +A chaque modification de INT_COLLAB_INTERV +ChampVersSource() +A chaque modification de INT_DATE_DEVIS_DU +ChampVersSource() +A chaque modification de INT_DATE_FACT_DU +ChampVersSource() +A chaque modification de INT_DATE_INTERVENTION_DU +ChampVersSource() +A chaque modification de INT_DESCRIPTION +ChampVersSource() +A chaque modification de INT_DONNEUR_ORDRE +ChampVersSource() +A chaque modification de INT_ETAT_INTERV +ChampVersSource() +A chaque modification de INT_NUMDEVIS +ChampVersSource() +A chaque modification de INT_NUMFACTURE +06/08/2026 Isis_BO 4032 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Code des champs +ChampVersSource() +A chaque modification de INT_SOCIETE_INTERV +ChampVersSource() +A chaque modification de INT_SUIVI_PAR +ChampVersSource() +A chaque modification de INT_TYPE_INTERVENTION +ChampVersSource() +Sortie de SAI_DATE_DEVIS_AU +//SI MoiMême..ValeurAffichée<>"" ALORS ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_DATE_DEVIS_AU +INT_DATE_DEVIS_DU[1] = MoiMême..ValeurAffichée<>"" _ou_ SAI_DATE_DEVIS_DU..ValeurAffichée<>"" +Sortie de SAI_DATE_DEVIS_DU +//SI MoiMême..ValeurAffichée<>"" ALORS ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_DATE_DEVIS_DU +INT_DATE_DEVIS_DU[1] = MoiMême..ValeurAffichée<>"" _ou_ SAI_DATE_DEVIS_AU..ValeurAffichée<>"" +Sortie de SAI_DATE_FACT_AU +//SI MoiMême..ValeurAffichée<>"" ALORS ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_DATE_FACT_AU +INT_DATE_FACT_DU[1] = MoiMême..ValeurAffichée<>"" _ou_ SAI_DATE_FACT_DU..ValeurAffichée<>"" +Sortie de SAI_DATE_FACT_DU +//SI MoiMême..ValeurAffichée<>"" ALORS ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_DATE_FACT_DU +INT_DATE_FACT_DU[1] = MoiMême..ValeurAffichée<>"" _ou_ SAI_DATE_FACT_AU..ValeurAffichée<>"" +Sortie de SAI_DATE_INTERVENTION_AU +//SI MoiMême..ValeurAffichée<>"" ALORS ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_DATE_INTERVENTION_AU +INT_DATE_INTERVENTION_DU[1] = MoiMême..ValeurAffichée<>"" _ou_ SAI_DATE_INTERVENTION_DU..ValeurAffichée +<>"" +Sortie de SAI_DATE_INTERVENTION_DU +06/08/2026 Isis_BO 4033 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Code des champs +//SI MoiMême..ValeurAffichée<>"" ALORS ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_DATE_INTERVENTION_DU +INT_DATE_INTERVENTION_DU[1] = MoiMême..ValeurAffichée<>"" _ou_ SAI_DATE_INTERVENTION_AU..ValeurAffichée +<>"" +Sortie de SAI_DESCRIPTION +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_DESCRIPTION +INT_DESCRIPTION[1] = MoiMême..ValeurAffichée<>"" +Sortie de SAI_DONNEUR_ORDRE +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_DONNEUR_ORDRE +INT_DONNEUR_ORDRE[1] = MoiMême..ValeurAffichée<>"" +Sortie de SAI_NUMDEVIS +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_NUMDEVIS +INT_NUMDEVIS[1] = MoiMême..ValeurAffichée<>"" +Sortie de SAI_NUMFACTURE +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_NUMFACTURE +INT_NUMFACTURE[1] = MoiMême..ValeurAffichée<>"" +Sélection d'une ligne de COMBO_COLLAB_RDV +INT_COLLAB_RDV[1] = MoiMême..ValeurAffichée<>"" +Sélection d'une ligne de COMBO_STATUT_RDV +INT_STATUT_RDV[1] = MoiMême..ValeurAffichée<>"" +Sélection d'une ligne de COMBO_TYPE_RDV +INT_TYPE_RDV[1] = MoiMême..ValeurAffichée<>"" +A chaque modification de INT_COLLAB_RDV +ChampVersSource() +A chaque modification de INT_DATE_RDV_DU +06/08/2026 Isis_BO 4034 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Code des champs +ChampVersSource() +A chaque modification de INT_STATUT_RDV +ChampVersSource() +A chaque modification de INT_TYPE_RDV +ChampVersSource() +Sortie de SAI_DATE_RDV_AU +//SI MoiMême..ValeurAffichée<>"" ALORS ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_DATE_RDV_AU +INT_DATE_RDV_DU[1] = MoiMême..ValeurAffichée<>"" _ou_ SAI_DATE_RDV_DU..ValeurAffichée<>"" +Sortie de SAI_DATE_RDV_DU +//SI MoiMême..ValeurAffichée<>"" ALORS ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_DATE_RDV_DU +INT_DATE_RDV_DU[1] = MoiMême..ValeurAffichée<>"" _ou_ SAI_DATE_RDV_AU..ValeurAffichée<>"" +A chaque modification de INT_ADRESSE_SITE +ChampVersSource() +A chaque modification de INT_CODE_LIEU +ChampVersSource() +A chaque modification de INT_CODEPOSTAL_SITE +ChampVersSource() +A chaque modification de INT_CONTACT_SITE +ChampVersSource() +A chaque modification de INT_VILLE_SITE +ChampVersSource() +Sortie de SAI_ADRESSE_SITE +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_ADRESSE_SITE +06/08/2026 Isis_BO 4035 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Code des champs +INT_ADRESSE_SITE[1] = MoiMême..ValeurAffichée<>"" +Sortie de SAI_CODE_LIEU +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_CODE_LIEU +INT_CODE_LIEU[1] = MoiMême..ValeurAffichée<>"" +Sortie de SAI_CODEPOSTAL_SITE +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_CODEPOSTAL_SITE +INT_CODEPOSTAL_SITE[1] = MoiMême..ValeurAffichée<>"" +Sortie de SAI_CONTACT_SITE +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_CONTACT_SITE +INT_CONTACT_SITE[1] = MoiMême..ValeurAffichée<>"" +Sortie de SAI_VILLE_SITE +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_VILLE_SITE +INT_VILLE_SITE[1] = MoiMême..ValeurAffichée<>"" +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_LISTING_INTERVENTION +ExécuteTraitement(FI_Listing_Intervention.BTN_BOUTON,trtClic) +FI_Listing_Intervention +Procédures +Procédure locale MAJCriterePerso +// Résumé : +// Syntaxe : +//MAJCriterePerso ( est chaîne, est objet dynamique, est objet +dynamique, est champ) +// +// Paramètres : +// sNomChamp (chaîne ANSI) : +// pclListeAll (objet dynamique) : +// pclListeCrit (objet dynamique) : +06/08/2026 Isis_BO 4036 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Procédures +// champBouton (champ) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure MAJCriterePerso(local sNomChamp est une chaîne,pclListeAll est un objet dynamique< +utile>,pclListeCrit est un objet dynamique,champBouton est un Champ) +//Pour le critère Société +si sNomChamp = COMBO_SOCIETE_INTERV..Nom _et_ pclTabSoc<>Null alors +pclListeAll = PTableSociete.gNouvellePresentation(0) +pclListeCrit = pclTabSoc +//champBouton <- BTN_SOCIETE_INTERV +//Pour le critère état intervention +sinon si sNomChamp = COMBO_ETAT_INTERV..Nom_et_ pclTabEtat<>Null alors +pclListeAll = gpclListeEtatIntervention +pclListeCrit = pclTabEtat +//champBouton <- BTN_ETAT_INTERVENTION +sinon si sNomChamp = COMBO_COLLAB_INTERV..Nom _et_ pclTabCollab<>Null alors +pclListeAll = PTableCollaborateur.gNouvellePresentation(0) +pclListeCrit = pclTabCollab +fin +Procédure locale MAJObjetRetourFI +// Résumé : +// Syntaxe : +//[ = ] MAJObjetRetourFI ([...]) +// +// Paramètres : +// <*> : > +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sContexte (chaîne ANSI) : +// pclObjet (objet dynamique) : +// <*> : > +// <*> : > +// <*> : > +procédure MAJObjetRetourFI(*)//LOCAL sContexte est une chaîne, pclObjet est un objet dynamique +bResultat est un booléen=Vrai +nMode est un entier +sNomChamp est une chaîne +pclObjet est un objet dynamique +bReorga est un booléen=Vrai +bBloc est un booléen +si MesParamètres..Occurrence>0 alors +nMode = MesParamètres[1] +fin +selon nMode +cas 1 : +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 2 +06/08/2026 Isis_BO 4037 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Procédures +bReorga = Faux +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 3 +bReorga = Faux +bBloc = Vrai +fin +si bReorga alors +fin +si pclObjet<>Null alors +//*******************************MISE A JOUR DE +L'OBJET********************************************************* +selon sNomChamp +// CAS BTN_COLLAB_INTERV..Nom : +// BTN_COLLAB_INTERV..Libellé="" +// BTN_COLLAB_INTERV..Bulle="" +// TableauSupprimeTout(pclTabCollab:m_clTabModele) +// POUR i = 1 _A_ pclObjet:p_nTotal +// SI pclObjet.m_clTabModele[i].m_bSelection ALORS +// +BTN_COLLAB_INTERV..Libellé += BTN_COLLAB_INTERV..Libellé="" ? pclObjet:m_clTabModele[i]:m_sTrigramme +SINON ";"+pclObjet:m_clTabModele[i]:m_sTrigramme +// +BTN_COLLAB_INTERV..Bulle += BTN_COLLAB_INTERV..bulle="" ? pclObjet:m_clTabModele[i]:m_sNom+" +"+pclObjet:m_clTabModele[i]:m_sPrenom SINON RC+pclObjet:m_clTabModele[i]:m_sNom+" +"+pclObjet:m_clTabModele[i]:m_sPrenom +// pclTabCollab.Ajouter(pclObjet:m_clTabModele[i]) +// FIN +// FIN +// INT_COLLAB_INTERV[1] = pclTabCollab:p_nTotal>0 +// CAS BTN_SOCIETE_INTERV..Nom : +// BTN_SOCIETE_INTERV..Libellé="" +// BTN_SOCIETE_INTERV..Bulle="" +// TableauSupprimeTout(pclTabSoc:m_clTabModele) +// POUR i = 1 _A_ pclObjet:p_nTotal +// SI pclObjet.m_clTabModele[i].m_bSelection ALORS +// +BTN_SOCIETE_INTERV..Libellé += BTN_SOCIETE_INTERV..Libellé="" ? +gauche(pclObjet:m_clTabModele[i]:m_sNom,3) SINON ";"+gauche(pclObjet:m_clTabModele[i]:m_sNom,3) +// +BTN_SOCIETE_INTERV..Bulle += BTN_SOCIETE_INTERV..Bulle="" ? pclObjet:m_clTabModele[i]:m_sNom SINON +RC+pclObjet:m_clTabModele[i]:m_sNom +// pclTabSoc.Ajouter(pclObjet:m_clTabModele[i]) +// +// FIN +// FIN +// INT_SOCIETE[1] = pclTabSoc:p_nTotal>0 +// CAS BTN_ETAT_INTERV..Nom : +// BTN_ETAT_INTERV..Libellé="" +// BTN_ETAT_INTERV..Bulle="" +// TableauSupprimeTout(pclTabEtat:m_clTabModele) +// POUR i = 1 _A_ pclObjet:p_nTotal +// SI pclObjet.m_clTabModele[i].m_bSelection ALORS +// +BTN_ETAT_INTERV..Libellé += BTN_ETAT_INTERV..Libellé="" ? +Gauche(pclObjet:m_clTabModele[i]:m_sLibelle,3) SINON ";"+Gauche(pclObjet:m_clTabModele[i]:m_sLibelle,3) +// +06/08/2026 Isis_BO 4038 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Procédures +BTN_ETAT_INTERV..Bulle += BTN_ETAT_INTERV..Bulle="" ? pclObjet:m_clTabModele[i]:m_sLibelle SINON +RC+pclObjet:m_clTabModele[i]:m_sLibelle +// pclTabEtat.Ajouter(pclObjet:m_clTabModele[i]) +// +// FIN +// FIN +// INT_ETAT_INTERVENTION[1] = pclTabEtat:p_nTotal>0 +cas COMBO_COLLAB_INTERV..Nom : MAJComboMultiLigne(pclObjet,pclTabCollab,COMBO_COLLAB_INTERV) +// sListe est une chaine = "" +// COMBO_COLLAB_INTERV..Bulle="" +// TableauSupprimeTout(pclTabCollab:m_clTabModele) +// POUR i = 1 _A_ pclObjet:p_nTotal +// SI pclObjet.m_clTabModele[i].m_bSelection ALORS +// +sListe += sListe="" ? pclObjet:m_clTabModele[i]:m_sTrigramme SINON +";"+pclObjet:m_clTabModele[i]:m_sTrigramme +// +COMBO_COLLAB_INTERV..Bulle += COMBO_COLLAB_INTERV..Bulle="" ? pclObjet:m_clTabModele[i]:m_sNom+" +"+pclObjet:m_clTabModele[i]:m_sPrenom SINON RC+pclObjet:m_clTabModele[i]:m_sNom+" +"+pclObjet:m_clTabModele[i]:m_sPrenom +// pclTabCollab.Ajouter(pclObjet:m_clTabModele[i]) +// pclObjet.m_clTabModele[i].m_bSelection = faux +// FIN +// FIN +// ListeSupprimeTout(COMBO_COLLAB_INTERV) +// ListeAjoute(COMBO_COLLAB_INTERV,sListe) +// ListeSelectPlus(COMBO_COLLAB_INTERV,1) +// INT_COLLAB_INTERV[1] = pclTabCollab:p_nTotal>0 +cas COMBO_SOCIETE_INTERV..Nom : MAJComboMultiLigne(pclObjet,pclTabSoc,COMBO_SOCIETE_INTERV) +// sListe est une chaine = "" +// COMBO_SOCIETE_INTERV..Bulle="" +// TableauSupprimeTout(pclTabSoc:m_clTabModele) +// POUR i = 1 _A_ pclObjet:p_nTotal +// SI pclObjet.m_clTabModele[i].m_bSelection ALORS +// +sListe += sListe="" ? Gauche(pclObjet:m_clTabModele[i]:m_sNom,3) SINON +";"+Gauche(pclObjet:m_clTabModele[i]:m_sNom,3) +// +COMBO_SOCIETE_INTERV..Bulle += COMBO_SOCIETE_INTERV..Bulle="" ? pclObjet:m_clTabModele[i]:m_sNom SINON +RC+pclObjet:m_clTabModele[i]:m_sNom +// pclTabSoc.Ajouter(pclObjet:m_clTabModele[i]) +// pclObjet.m_clTabModele[i].m_bSelection = Faux +// FIN +// FIN +// ListeSupprimeTout(COMBO_SOCIETE_INTERV) +// ListeAjoute(COMBO_SOCIETE_INTERV,sListe) +// ListeSelectPlus(COMBO_SOCIETE_INTERV,1) +// INT_SOCIETE[1] = pclTabSoc:p_nTotal>0 +cas COMBO_ETAT_INTERV..Nom : MAJComboMultiLigne(pclObjet,pclTabEtat,COMBO_ETAT_INTERV) +// sListe est une chaine = "" +// +// COMBO_ETAT_INTERV..Bulle="" +// TableauSupprimeTout(pclTabEtat:m_clTabModele) +// POUR i = 1 _A_ pclObjet:p_nTotal +// SI pclObjet.m_clTabModele[i].m_bSelection ALORS +// +sListe += sListe="" ? Gauche(pclObjet:m_clTabModele[i]:m_sLibelle,3) SINON +";"+Gauche(pclObjet:m_clTabModele[i]:m_sLibelle,3) +// +COMBO_ETAT_INTERV..Bulle += COMBO_ETAT_INTERV..Bulle="" ? pclObjet:m_clTabModele[i]:m_sLibelle SINON +RC+pclObjet:m_clTabModele[i]:m_sLibelle +06/08/2026 Isis_BO 4039 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Procédures +// pclTabEtat.Ajouter(pclObjet:m_clTabModele[i]) +// pclObjet.m_clTabModele[i].m_bSelection = Faux +// FIN +// FIN +// ListeSupprimeTout(COMBO_ETAT_INTERV) +// ListeAjoute(COMBO_ETAT_INTERV,sListe) +// ListeSelectPlus(COMBO_ETAT_INTERV,1) +// //ListeAffiche(COMBO_ETAT_INTERV,taCourantBandeau) +// INT_ETAT_INTERVENTION[1] = pclTabEtat:p_nTotal>0 +cas COMBO_SUIVI_PAR..Nom : +COMBO_SUIVI_PAR = pclObjet:m_nPKID +ListeAffiche(COMBO_SUIVI_PAR,taCourantBandeau) +INT_SUIVI_PAR[1] = COMBO_SUIVI_PAR..ValeurAffichée<>"" +fin +fin +renvoyer bResultat +Procédure locale Rechercher +// Résumé : +// Syntaxe : +// Rechercher () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Rechercher() +sRQ est une chaîne +sCR est une chaîne +sd est une Source de Données +I est un entier +TableSupprimeTout(TABLE_LISTING_INTERVENTION) +TABLE_LISTING_INTERVENTION.COL_DureePrevue..Visible = INT_MONTRERTEMPS +TABLE_LISTING_INTERVENTION.COL_Temps..Visible=INT_MONTRERTEMPS +TABLE_LISTING_INTERVENTION.COL_TempsRestant..Visible=INT_MONTRERTEMPS +si INT_LIMITE=1 alors +sRQ="SELECT TOP 200 " +sinon +sRQ="SELECT " +fin +sRQ+= [ +Dossier.DO_PKID +,Dossier.DO_IDClient +,Dossier.DO_IDTypeDossier +,Dossier.DO_Titre +,Dossier.DO_IDStatut +,Dossier.DO_RefInterne +,Dossier.DO_RefExterne +,Dossier.DO_IDSociete +,Dossier.DO_DateDebut +,Dossier.Archive +,Dossier.DateArchivage +,Intervention.IN_PKID +,Intervention.IN_IDTypeIntervention +06/08/2026 Isis_BO 4040 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Procédures +,Intervention.IN_IDEtatIntervention +,Intervention.IN_AttestationTVAPresente +,Intervention.IN_NoteInterne +,Intervention.IN_Titre +,Intervention.IN_RefInterne +,Intervention.IN_RefExterne +,Intervention.IN_IDSociete +,Intervention.Archive +,Intervention.DateArchivage +,Intervention.IN_DateIntervention +,Intervention.IN_DureePrevue +,Intervention.IN_NumDevis +,Intervention.IN_DateDevis +,Intervention.IN_NumFacture +,Intervention.IN_DateFacture +,Intervention.IN_Description +,Client.CL_IDType +,Client.CL_Nom +,Client.CL_PKID +,Client.CL_Tel +,Lieu.LI_CodeLieu +,Societe.SO_Nom +,Collaborateur.CO_Nom +,(SELECT TOP 2 STRING_AGG(Personne.PE_Nom+' '+Personne.PE_Prenom,CHR(13)) FROM Personne JOIN +Intervention_Personne ON Personne.PE_PKID = Intervention_Personne.IP_IDPersonne WHERE +Intervention.IN_PKID = Intervention_Personne.IP_IDIntervention AND +Intervention_Personne.IP_IDLieu=0) AS ContactClient +,(SELECT STRING_AGG(Personne.PE_Nom+' '+Personne.PE_Prenom,CHR(13)) FROM Personne JOIN +Intervention_Personne ON Personne.PE_PKID = Intervention_Personne.IP_IDPersonne WHERE +Intervention.IN_PKID = Intervention_Personne.IP_IDIntervention AND Intervention_P +ersonne.IP_IDLieu<>0) AS ContactLieu +,(SELECT STRING_AGG(Collaborateur.CO_Nom+' '+Collaborateur.CO_Prenom,CHR(13)) FROM Collaborateur +JOIN Intervention_Collaborateur ON Collaborateur.CO_PKID = +Intervention_Collaborateur.IC_IDCollaborateur WHERE Intervention.IN_PKID = Intervention_Collaborat +eur.IC_IDIntervention) AS CollabInterv +,NVL(IN_RefInterne,DO_RefInterne) AS NumRef +] +si INT_MONTRERTEMPS alors +sRQ+=RC+" ,SUM(IFNULL(SuiviDesTemps.SDT_NbMinutes/60,0)) as NB " +sinon +sRQ+=RC+" ,0 as NB " +fin +sRQ+=[ +FROM Dossier LEFT OUTER JOIN Intervention ON (Dossier.DO_PKID = Intervention.IN_IDDossier) +LEFT OUTER JOIN Client ON (Client.CL_PKID = Dossier.DO_IDClient) +LEFT OUTER JOIN Collaborateur ON (Collaborateur.CO_PKID=Intervention.IN_IDSuiviPar) +LEFT OUTER JOIN Societe ON (Societe.SO_PKID=Intervention.IN_IDSociete) +LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Intervention.IN_IDLieu) +//INNER JOIN EtatIntervention ON (EtatIntervention.EI_IDIntervention=Intervention.IN_PKID) +] +si INT_MONTRERTEMPS alors +sRQ+= +" LEFT OUTER JOIN SuiviDesTemps ON (SDT_IDIntervention = Intervention.IN_PKID) LEFT OUTER JOIN +ParametreMetier ON (PA_PKID=SDT_IDTypeTemps) AND PA_Valeur='1' OR PA_PKID IS NULL " +fin +06/08/2026 Isis_BO 4041 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Procédures +//sCR+=CritereHF(opt1,ch1,Affaires.AF_Nom..Nom,tfMilieutexte) +sListeEtat est une chaîne +sListeSociete est une chaîne +sListeCollab est une chaîne +//Création de la liste des états (entier) +//POUR TOUTE LIGNE DE TABLE_ETAT_INTERVENTION +// SI TABLE_ETAT_INTERVENTION.SEL ALORS +// sListeEtat+=[","]+ TABLE_ETAT_INTERVENTION.COL_IDEtat +// FIN +//FIN +pour I = 1 _à_ pclTabEtat:p_nTotal +sListeEtat +=[","]+ pclTabEtat:m_clTabModele[I]:m_nPKID +fin +pour I = 1 _à_ pclTabSoc:p_nTotal +sListeSociete +=[","]+ pclTabSoc:m_clTabModele[I]:m_nPKID +fin +pour I = 1 _à_ pclTabCollab:p_nTotal +sListeCollab +=[","]+ pclTabCollab:m_clTabModele[I]:m_nPKID +fin +sCR+=CritereHF(INT_CLIENT ,SAI_CLIENT ,Client.CL_Nom..Nom +,tfMilieutexte)//,"SELECT RG_ID FROM Regies WHERE RG_Nom LIKE '%" + ch9 +"%'" +sCR+=CritereHF(INT_TYPE_CLIENT ,COMBO_TYPE_CLIENT ,Client.CL_IDType..Nom +,tfNumerique) +sCR+=CritereHF(INT_NUMDOSSIER ,SAI_NUMDOSSIER ,Dossier.DO_RefInterne..Nom +,tfFinTexte) +sCR+=CritereHF(INT_REFEXT_DOSSIER ,SAI_REFEXT_DOSSIER ,Dossier.DO_RefExterne..Nom +,tfMilieutexte) +sCR+=CritereHF(INT_DATE_DOSSIER_DU ,SAI_DATE_DOSSIER_DU ,Dossier.DO_DateDebut..Nom +,tfPeriode ,"",SAI_DATE_DOSSIER_AU) +sCR+=CritereHF(INT_TYPE_DOSSIER ,COMBO_TYPE_DOSSIER ,Dossier.DO_IDTypeDossier..Nom +,tfNumerique) +sCR+=CritereHF(INT_STATUT_DOSSIER ,COMBO_STATUT_DOSSIER,Dossier.DO_IDStatut..Nom +,tfNumerique) +si pas INT_STATUT_DOSSIER alors +sCR+="AND " + Dossier.DO_IDStatut..Nom + "<>" + gnIdDossierAnnule + " " +fin +sCR+=CritereHF(INT_DONNEUR_ORDRE ,SAI_DONNEUR_ORDRE ,"ContactClient" +,tfMilieutexte) +sCR+=CritereHF(INT_SUIVI_PAR ,COMBO_SUIVI_PAR ,Intervention.IN_IDSuiviPar..Nom +,tfNumerique) +sCR+=CritereHF(INT_TYPE_INTERVENTION ,COMBO_TYPE_INTERVENTION,Intervention.IN_IDTypeIntervention..Nom +,tfNumerique) +sCR+=CritereHF(INT_DESCRIPTION ,SAI_DESCRIPTION ,Intervention.IN_Description..Nom +,tfMilieutexte) +sCR+=CritereHF(INT_DATE_DOSSIER_DU ,SAI_DATE_INTERVENTION_DU,Intervention.IN_DateIntervention..Nom +,tfPeriode ,"",SAI_DATE_INTERVENTION_AU) +sCR+=CritereHF(INT_SOCIETE_INTERV ,sListeSociete ,Intervention.IN_IDSociete..Nom +,tfDansListe)//sCR+=CritereHF(INT_SOCIETE ,COMBO_Societe +,Intervention.IN_IDSociete..Nom ,tfNumerique) +sCR+=CritereHF(INT_NUMDEVIS ,SAI_NUMDEVIS ,Intervention.IN_NumDevis..Nom +,tfMilieutexte) +sCR+=CritereHF(INT_DATE_DEVIS_DU ,SAI_DATE_DEVIS_DU ,Intervention.IN_DateDevis..Nom +,tfPeriode ,"",SAI_DATE_DEVIS_AU) +sCR+=CritereHF(INT_NUMFACTURE ,SAI_NUMFACTURE ,Intervention.IN_NumFacture..Nom +,tfMilieutexte) +sCR+=CritereHF(INT_DATE_FACT_DU ,SAI_DATE_FACT_DU ,Intervention.IN_DateFacture..Nom +06/08/2026 Isis_BO 4042 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Procédures +,tfPeriode ,"",SAI_DATE_FACT_AU) +sCR+=CritereHF(INT_COLLAB_INTERV ,sListeCollab ,Intervention.IN_PKID..Nom +,tfDansRequete, +"SELECT Intervention_Collaborateur.IC_IDIntervention FROM Intervention_Collaborateur WHERE +Intervention_Collaborateur.IC_IDCollaborateur IN (" ++ sListeCollab + ")") +//sCR+=CritereHF(INT_DATE_RDV_DU ,SAI_DATE_RDV_DU ,Intervention.IN_PKID..Nom +,tfDansRequete,ChaîneConstruit("SELECT PL_IDIntervention FROM Planning_RDV WHERE 1=1 +%1",CritereHF(INT_DATE_RDV_DU,SAI_DATE_RDV_DU,Planning_RDV.PL_DateDebut..Nom,tfPeri +odeLarge,"",SAI_DATE_RDV_AU)))//Planning_RDV.PL_DateDebut..Nom ,tfPeriode +,"",SAI_DATE_RDV_AU) +sCR+=CritereHF(INT_DATE_RDV_DU ,SAI_DATE_RDV_DU ,Intervention.IN_PKID..Nom +,tfExiste,ChaîneConstruit("SELECT 1 FROM Planning_RDV WHERE PL_IDIntervention=%1 %2",Intervention. +IN_PKID..Nom,CritereHF(INT_DATE_RDV_DU,SAI_DATE_RDV_DU,Planning_RDV.PL_DateDebut..Nom,tfPeriodeLarge,"" +,SAI_DATE_RDV_AU))) +sCR+=CritereHF(INT_TYPE_RDV ,COMBO_TYPE_RDV ,Intervention.IN_PKID..Nom +,tfExiste,ChaîneConstruit("SELECT 1 FROM Planning_RDV WHERE PL_IDIntervention=%1 %2",Intervention. +IN_PKID..Nom,CritereHF(INT_TYPE_RDV,COMBO_TYPE_RDV,Planning_RDV.PL_IDTypeActivite..Nom,tfNumerique))) +//,tfNumerique) +sCR+=CritereHF(INT_COLLAB_RDV ,COMBO_COLLAB_RDV ,Intervention.IN_PKID..Nom +,tfExiste,ChaîneConstruit("SELECT 1 FROM Planning_RDV WHERE PL_IDIntervention=%1 %2",Intervention. +IN_PKID..Nom,CritereHF(INT_COLLAB_RDV,COMBO_COLLAB_RDV,Planning_RDV.PL_IDCollaborateur..Nom,tfNumerique +)))//,tfNumerique) +sCR+=CritereHF(INT_CODE_LIEU ,SAI_CODE_LIEU ,Lieu.LI_CodeLieu..Nom +,tfMilieutexte) +sCR+=CritereHF(INT_ADRESSE_SITE ,SAI_ADRESSE_SITE ,Lieu.LI_IDAdresse..Nom +,tfExiste,ChaîneConstruit("SELECT 1 FROM Adresse WHERE AD_PKID=%1 %2",Lieu.LI_IDAdresse..Nom,CritereHF( +INT_ADRESSE_SITE,SAI_ADRESSE_SITE,Adresse.AD_Presentation..Nom,tfMilieutexte)))// +sCR+=CritereHF(INT_CODEPOSTAL_SITE ,SAI_CODEPOSTAL_SITE ,Lieu.LI_IDAdresse..Nom +,tfExiste,ChaîneConstruit("SELECT 1 FROM Adresse WHERE AD_PKID=%1 %2",Lieu.LI_IDAdresse..Nom,CritereHF( +INT_CODEPOSTAL_SITE,SAI_CODEPOSTAL_SITE,Adresse.AD_CodePostal..Nom,tfMilieutexte))) +//,tfDansRequete,"SELECT Adresse.AD_PKID FROM Adresse WHERE Adresse.AD_CodePostal LIKE '%" + +SAI_CODEPOSTAL_SITE + "%'") +sCR+=CritereHF(INT_VILLE_SITE ,SAI_VILLE_SITE ,Lieu.LI_IDAdresse..Nom +,tfExiste,ChaîneConstruit("SELECT 1 FROM Adresse WHERE AD_PKID=%1 %2",Lieu.LI_IDAdresse..Nom,CritereHF( +INT_VILLE_SITE,SAI_VILLE_SITE,Adresse.AD_Ville..Nom,tfMilieutexte))) +//,tfDansRequete,"SELECT Adresse.AD_PKID FROM Adresse WHERE Adresse.AD_Ville LIKE '%" + SAI_VILLE_SITE ++ "%'")//,"SELECT Immeubles.IM_ID WHERE Immeubles.IM_Ville LIKE '%" + +ch2 + "%'" +sCR+=CritereHF(INT_CONTACT_SITE ,SAI_CONTACT_SITE ,"ContactLieu" +,tfMilieutexte) +sCR+=CritereHF(INT_ETAT_INTERV ,sListeEtat ,Intervention.IN_IDEtatIntervention.. +Nom ,tfDansListe) +si sCR<>"" alors +sCR=" WHERE " + sCR[[4 à]] +fin +sRQ+=sCR +si INT_MONTRERTEMPS alors +sRQ+= RC+[ +GROUP BY +Dossier.DO_PKID +,Dossier.DO_IDClient +06/08/2026 Isis_BO 4043 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Procédures +,Dossier.DO_IDTypeDossier +,Dossier.DO_Titre +,Dossier.DO_IDStatut +,Dossier.DO_RefInterne +,Dossier.DO_RefExterne +,Dossier.DO_IDSociete +,Dossier.DO_DateDebut +,Dossier.Archive +,Dossier.DateArchivage +,Intervention.IN_PKID +,Intervention.IN_IDTypeIntervention +,Intervention.IN_IDEtatIntervention +,Intervention.IN_AttestationTVAPresente +,Intervention.IN_NoteInterne +,Intervention.IN_Titre +,Intervention.IN_RefInterne +,Intervention.IN_RefExterne +,Intervention.IN_IDSociete +,Intervention.Archive +,Intervention.DateArchivage +,Intervention.IN_DateIntervention +,Intervention.IN_DureePrevue +,Intervention.IN_NumDevis +,Intervention.IN_DateDevis +,Intervention.IN_NumFacture +,Intervention.IN_DateFacture +,Intervention.IN_Description +,Client.CL_IDType +,Client.CL_Nom +,Client.CL_PKID +,Client.CL_Tel +,Lieu.LI_CodeLieu +,Societe.SO_Nom +,Collaborateur.CO_Nom +,ContactClient +,ContactLieu +,CollabInterv +,NumRef +] +fin +sRQ+=RC+" ORDER BY Dossier.DO_PKID DESC" +Sablier(Oui) +//trace(DateHeureSys( )) +si HExécuteRequêteSQL(sd,hRequêteDéfaut,sRQ ) alors +//Trace(DateHeureSys( )) +pour tout sd +TableAjouteLigne(TABLE_LISTING_INTERVENTION,sd.NumRef,sd.DO_RefInterne,sd.DO_DateDebut, +RTFVersTexte(sd.IN_Description),sd.LI_CodeLieu,sd.ContactLieu,sd.CL_Nom,sd.DO_RefExterne, +sd.CO_Nom,sd.IN_NumDevis,sd.IN_DateDevis,sd.IN_NumFacture,sd.IN_DateFacture,sd. +IN_IDEtatIntervention,sd.IN_IDTypeIntervention, +sd.ContactClient,sd.CollabInterv,sd.IN_DureePrevue,sd.NB,sd.IN_DureePrevue-sd.NB,sd.IN_PKID,sd. +DO_PKID) +I++ +fin +sinon si HErreur()<>0 alors +06/08/2026 Isis_BO 4044 + +Partie 3 › Fenêtre WINDEV › FI_Listing_Intervention › Procédures +Erreur(HErreurInfo(hErrComplet)) +fin +LIB_Total_Listing_Intervention..Libellé= HNbEnr(sd) +Sablier(Non) +06/08/2026 Isis_BO 4045 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Image +FI_EmailVisualiser +Image +FI_EmailVisualiser +Informations générales +FI_EmailVisualiser +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_EmailVisualiser.wdw +Créé par XVA +Date de création 21/02/2019 09:57:32 +Dernière modification par SMR +06/08/2026 Isis_BO 4046 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Informations générales +| Date dernière modification | | 11/04/2025 16:08:31 | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | --- | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 782 | 665 | +| Position X | Position Y | | Largeur | Hauteur | | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| Anim. Fermeture | | 0 | | | | +| Durée Anim. Ouverture | | 100 | | | | +| Durée Anim. Fermeture | | 50 | | | | +| Adapte Taille contenu | | Non | | | | +| 06/08/2026 | | | Isis_BO | | 4047 | + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Informations générales +| Assombri quand inactif | | | Oui | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +Déplace souris sur bouton par +Non +| Compact. barres outils | | | Non | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +Statistiques de la fenêtre +| | Champ de saisie | | | | 6 | Libellé | | | 7 | +| --- | ---------------------- | --- | --- | --- | --- | --------------- | --- | --- | --- | +| | Bouton | | | | 2 | Forme | | | 2 | +| | Zone répétée | | | | 1 | Fenêtre interne | | | 1 | +| | Attribut zone répétée | | | | 4 | Disposition | | | 2 | +| | Cellule de disposition | | | | 9 | | | | | +Nombre d'éléments dans la fenêtre : 34 +FI_EmailVisualiser +Informations sur les champs +Fenêtre : FI_EmailVisualiser +Fenêtre interne +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | +nalP +| FI_EmailVisualiser | | | 0 | | 0 782 | 665 | | 0 | | +| ------------------ | --- | --- | --- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_EmailVisualiser +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_Destinataire | | 35 6 738 | 28 0 | affichag | Texte | | Non | | | +| ------------------- | --- | -------- | ---- | -------- | ------- | --- | --- | --- | ---- | +| SAI_DestinataireCC | | 35 6 738 | 28 0 | affichag | Texte | | Non | | | +| SAI_Destinatairecci | | 35 6 738 | 28 0 | affichag | Texte | | Non | | | +| SAI_Exp | | 35 6 738 | 28 0 | affichag | Texte | | Non | | | +| 06/08/2026 | | | | | Isis_BO | | | | 4048 | + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Informations sur les champs +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_Message | 4 22 | 769 328 | 0 | affichag | | Texte | | Non | | | | | +| ----------- | ---- | ------- | --- | -------- | --- | ----- | --- | --- | --- | --- | --- | --- | +| SAI_Objet | 4 7 | 769 28 | 0 | affichag | | Texte | | Non | | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | | | laitini tatE | | | | | +| --- | --- | --------------------- | --- | --- | --- | --- | --- | ------------ | --- | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_DEST | | 6 | 11 | 26 | 20 | | 0 | Actif | Gauche | Haut | | | +| -------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | --- | +| LIB_DESTCC | | 6 | 11 | 26 | 20 | | 0 | Actif | Gauche | Haut | | | +| LIB_DESTCCI | | 6 | 11 | 26 | 20 | | 0 | Actif | Gauche | Haut | | | +| LIB_Exp | | 6 | 11 | 26 | 20 | | 0 | Actif | Gauche | Haut | | | +| LIB_PJ | | 5 | 626 | 161 | 20 | | 0 | Actif | Gauche | Haut | | | +| LIB_Titre_de_fenêtre | | 6 | 6 | 489 | 21 | | 0 | Actif | Gauche | Centre | | | +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | ------------ | --- | --- | --- | +| | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_Fermer_compact | | 4 | | 4 | 24 | | 24 | 0 | Actif | | Abandon | | +| ------------------ | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | ------- | --- | +| BTN_Transfert | | 3 | | 4 | 24 | | 24 | 0 | Actif | | Abandon | | +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_SansNom1 | | | 1 | | 3 | 784 | | 2 | 0 | Actif | | | +| ------------ | --- | --- | --- | --- | ------- | --- | --- | --- | --- | ----- | --- | ---- | +| FRM_SansNom2 | | | 1 | | 39 | 784 | | 2 | 0 | Actif | | | +| 06/08/2026 | | | | | Isis_BO | | | | | | | 4049 | + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Informations sur les champs +Zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_PJ | 172 | 615 | 594 | 37 | 0 | affichag | | +| ----- | --- | --- | --- | --- | --- | -------- | --- | +Disposition +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| DISP_BANDEAU_ENTETE | | 0 0 | 782 | 33 | 0 | Actif | | +| ------------------- | --- | ---- | --- | --- | --- | -------- | --- | +| DISP_Message | | 0 41 | 782 | 624 | 0 | affichag | | +Zone répétée : FI_EmailVisualiser.ZR_PJ +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_SansNom1 | 2 9 | 241 25 | 0 | affichag | Gauche | Centre | | +| ------------ | --- | ------ | --- | -------- | ------ | ------ | --- | +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +ATT_IDInter +ATT_Id +ATT_MessageExterne +ATT_Nom +| 06/08/2026 | | Isis_BO | | | | | 4050 | +| ---------- | --- | ------- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Informations sur les champs +Fenêtre : FI_EmailVisualiser +Fenêtre interne : FI_EmailVisualiser +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_EmailVisualiser +Bouton : FI_EmailVisualiser.DISP_BANDEAU_ENTETE.BTN_Fermer_compact +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Quitter +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +06/08/2026 Isis_BO 4051 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Informations sur les champs +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : FI_EmailVisualiser.DISP_BANDEAU_ENTETE.BTN_Transfert +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Transfert du message +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_select.png +06/08/2026 Isis_BO 4052 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Informations sur les champs +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_EmailVisualiser.DISP_BANDEAU_ENTETE +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4053 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Informations sur les champs +Disposition : FI_EmailVisualiser.DISP_Message +Libellé FR: Disposition +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 +Cellule ancrée 6 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_EmailVisualiser.DISP_Message.FRM_SansNom1 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4054 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Informations sur les champs +Forme : FI_EmailVisualiser.DISP_Message.FRM_SansNom2 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_EmailVisualiser.DISP_Message.LIB_DEST +Libellé FR: À +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4055 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Informations sur les champs +Libellé : FI_EmailVisualiser.DISP_Message.LIB_DESTCC +Libellé FR: CC +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_EmailVisualiser.DISP_Message.LIB_DESTCCI +Libellé FR: CCI +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 +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 +06/08/2026 Isis_BO 4056 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_EmailVisualiser.DISP_Message.LIB_Exp +Libellé FR: De +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4057 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Informations sur les champs +Libellé : FI_EmailVisualiser.LIB_PJ +Libellé FR: Pièce(s)-Jointe(s) : +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_EmailVisualiser.DISP_BANDEAU_ENTETE.LIB_Titre_de_fenêtre +Libellé FR: Visualisation Message +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 +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 +06/08/2026 Isis_BO 4058 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_EmailVisualiser.DISP_Message.SAI_Destinataire +Libellé FR: À +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 36 +Largeur interne 738 +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: 63 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +Lien automatique Non +06/08/2026 Isis_BO 4059 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › 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 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. +Liaison des données :gclPresentationFicheMessageExterne.m_sAdrDestinataires +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 +06/08/2026 Isis_BO 4060 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Informations sur les champs +Champ de saisie : FI_EmailVisualiser.DISP_Message.SAI_DestinataireCC +Libellé FR: CC +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 36 +Largeur interne 738 +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: 63 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 4061 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › 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. +Liaison des données :gclPresentationFicheMessageExterne.m_sAdrCC +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 +Champ de saisie : FI_EmailVisualiser.DISP_Message.SAI_Destinatairecci +Libellé FR: CCI +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 36 +Largeur interne 738 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 4062 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Informations sur les champs +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 63 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFicheMessageExterne.m_sAdrCCI +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 +06/08/2026 Isis_BO 4063 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Informations sur les champs +Champ de saisie : FI_EmailVisualiser.DISP_Message.SAI_Exp +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 36 +Largeur interne 738 +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: 63 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 4064 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Informations sur les champs +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. +Liaison des données :gclPresentationFicheMessageExterne.m_sAdrExp +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 +Champ de saisie : FI_EmailVisualiser.DISP_Message.SAI_Message +Libellé FR: Objet +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 5 +Largeur interne 769 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Objet +Numéro aide 0 +Texte d'indication si vide FR: Objet +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 1 +06/08/2026 Isis_BO 4065 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Informations sur les champs +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 +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 Automatique +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. +Liaison des données :gclPresentationFicheMessageExterne.m_sMessage +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4066 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Informations sur les champs +Champ de saisie : FI_EmailVisualiser.DISP_Message.SAI_Objet +Libellé FR: Objet +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 5 +Largeur interne 769 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Objet +Numéro aide 0 +Texte d'indication si vide FR: Objet +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 +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 +06/08/2026 Isis_BO 4067 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Informations sur les champs +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. +Liaison des données :gclPresentationFicheMessageExterne.m_sObjet +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 +Zone répétée : FI_EmailVisualiser.ZR_PJ +Libellé FR: &Zone répétée +Ordre navigation 3 +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 +Hauteur ligne max. 0 +Hauteur ligne 36 +Largeur colonne 252 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 4068 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Informations sur les champs +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 2 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Nombre de colonnes variable (à gauche) +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +Nb. Enreg. Max 0 +Parcours Automatique +Fichier parcouru :gpclListePJ.m_clTabModele +Rub. mémorisée :gpclListePJ.m_clTabModele +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4069 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Informations sur les champs +Zone répétée : FI_EmailVisualiser.ZR_PJ +Attribut zone répétée : FI_EmailVisualiser.ZR_PJ.ATT_IDInter (3) +Propriété associée 5 +Liaison des données :gpclListePJ.m_clTabModele.m_nIDIntervention +Attribut zone répétée : FI_EmailVisualiser.ZR_PJ.ATT_Id (1) +Propriété associée 1 +Liaison des données :gpclListePJ.m_clTabModele.m_nPKID +Attribut zone répétée : FI_EmailVisualiser.ZR_PJ.ATT_MessageExterne (4) +Propriété associée 1 +Liaison des données :gpclListePJ.m_clTabModele.m_nIDMessageExterne +Attribut zone répétée : FI_EmailVisualiser.ZR_PJ.ATT_Nom (2) +Champ associé LIB_SansNom1 +Propriété associée 1 +Liaison des données :gpclListePJ.m_clTabModele.m_sNom +Libellé : FI_EmailVisualiser.ZR_PJ.LIB_SansNom1 +Libellé FR: Libellé +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 +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 +06/08/2026 Isis_BO 4070 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Informations sur les champs +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gpclListePJ.m_clTabModele.m_sNom +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_EmailVisualiser +Messages multilingues +06/08/2026 Isis_BO 4071 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +2001 FR: Sélectionnez un fichier... +2002 FR: Tous les fichiers (*.*) +2003 FR: %1 (%2) +2004 FR: %1 pièce(s) jointe(s) attachée(s) +2005 FR: +¹ N° mess. : numéro de message. +FI_EmailVisualiser +Code des champs +Déclarations globales de FI_EmailVisualiser +procédure FI_EmailVisualiser(gclPresentationFicheMessageExterne est un PFicheMessageExterne dynamique< +présentation>=Null, paramSupplementaire est un STParamFenetreAppelante=Null) +constante +SELECTION_DEST = 2 +SELECTION_CC = 3 +SELECTION_CCI = 4 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Code des champs +// Aucune pièce jointe par défaut +PIECEJOINTE_AUCUNE = "" +fin +maProcMAJObjetRetourFI est une procédure = FI_Fiche_Intervention.MAJObjetRetourFI +//gclPresentationFicheMessageExterne:m_clModeleCourant:m_sAdrExp +gpclListeDocInter est une PTableDocument dynamique=PTableDocument.gNouvellePresentation(1, +gclPresentationFicheMessageExterne.m_nIDIntervention) +gpclListePJ est une PTableDocument dynamique +gpclListePJ=PTableDocument.gNouvellePresentation(2,gclPresentationFicheMessageExterne.m_sIDDocPJ) +gclFicheIntervention est une PFicheIntervention <- paramSupplementaire.pclObjetAppelant +gtabTabContact est un tableau de chaînes +//SI gclPresentationFicheMessageExterne.m_sAdrDestinataires<>"" ALORS +// +POUR TOUTE CHAÎNE sAdressemail DE gclPresentationFicheMessageExterne.m_sAdrDestinataires SEPAREE PAR +";" +// TableauAjouteLigne(gtabTabContact) +// FIN +//FIN +gtabTabContactCC est un tableau de chaînes +gtabTabContactCCI est un tableau de chaînes +//si gclPresentationFicheMessageExterne.m_sAdrExp="" alors +// DISP_Message[1]..Visible=Faux +// DISP_BANDEAU_ENTETE[2]..visible=faux +// DISP_BANDEAU_ENTETE[3]..Visible=vrai +// DISP_BANDEAU_ENTETE[4]..Visible=Faux +// DISP_BANDEAU_ENTETE[5]..Visible=vrai +// DISP_BANDEAU_ENTETE[6]..Visible=Vrai +//FIN +si gclPresentationFicheMessageExterne.m_bPJ=0 alors +LIB_PJ..Visible=Faux +sinon +LIB_PJ..Visible=Vrai +fin +//DISP_Message[2]..visible=faux +//DISP_Message[3]..Visible=Faux +Demande de mise à jour de l'affichage de FI_EmailVisualiser +SourceVersEcran("","gclPresentationFicheMessageExterne") +Clic sur BTN_Fermer_compact +//paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheMessageE +xterne) +AppelProcFenetreAppelante(gclPresentationFicheMessageExterne,paramSupplementaire,Vrai,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +Clic sur BTN_Transfert +paramSupplementaire.sContexteAppelant = "BTN_Transfert" +AppelProcFenetreAppelante(gclPresentationFicheMessageExterne,paramSupplementaire,Vrai,Vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +////nIndice est un +entier=TableauCherche(gpclPresenListeParamUtilisateur.m_clTabModele,tcLinéaire,"m_sCode;m_nIDUtilisateu +r","CHOIX_MESSAGERIE",gpclFicheUtilisateurEnCours.m_nPKID) +//pclFichePrefMessagerie est un PFicheParametreUtilisateur dynamique +//pclFichePrefMessagerie<-gpclFicheUtilisateurEnCours:p_PrefMessagerie +//sPrefPlanning est une chaine +//SI pclFichePrefMessagerie<>Null ALORS sPrefPlanning= pclFichePrefMessagerie:m_sValeur +06/08/2026 Isis_BO 4072 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Code des champs +//clFicheMessageexterne est une PFicheMessageExterne dynamique +//clFicheMessageexterne<-gclPresentationFicheMessageExterne +//sAdresseUser est une chaîne +//clFicheMessageexterne.m_sAdrDestinataires=clFicheMessageexterne.m_sAdrExp +//pclFicheParam est un PFicheParametreUtilisateur dynamique +//pclFicheParamEnvoiEmail est un PFicheParametreUtilisateur dynamique +//stParamEmail est un STParamEmail +//stParamEnvoiEmail est un STParamEnvoiEmail +// +//pclFicheParam <- gpclFicheUtilisateurEnCours:p_ParamEmail +//pclFicheParamEnvoiEmail <- gpclFicheUtilisateurEnCours:p_ParamEnvoiMail +// +//SI pclFicheParam<> Null ALORS +// Désérialise(stParamEmail,pclFicheParam:m_sValeur,psdJSON) +//FIN +//bufCle est un Buffer = HashChaîne(HA_MD5_128,gsCleMdp) +//SI pclFicheParamEnvoiEmail<>Null ALORS +// bufCrypte est un Buffer = pclFicheParamEnvoiEmail:m_sValeur +// +// Désérialise(stParamEnvoiEmail,DécrypteStandard(bufCrypte, bufCle, crypteAES128),psdJSON) +//FIN +////HLitRecherchePremier(ParametreApplication,PAP_Code,"CNX_SMTP") +//SI pclFicheParamEnvoiEmail<>Null _ET_ pclFicheParamEnvoiEmail:m_sValeur<>"" +ALORS//HTrouve(ParametreApplication) ALORS +// bufCrypte est un Buffer =ParametreApplication.PAP_Valeur +// //bufCle est un Buffer = HashChaîne(HA_MD5_128, gsCleMdp) +// //sRésultat est un Buffer = DécrypteStandard(bufCrypte, bufCle, crypteAES128) +// sAdresseUser=stParamEmail.sEmail//ExtraitChaîne(sRésultat,6,"<>",DepuisDébut) +//FIN +//clFicheMessageexterne.m_sAdrExp=sAdresseUser +////clFicheMessageexterne.m_sAdrDestinataires=clFicheMessageexterne.m_sAdrExp +//clFicheMessageexterne.m_sAdrDestinataires="" +//clFicheMessageexterne.m_sAdrCC="" +//clFicheMessageexterne.m_sAdrCCI="" +//clFicheMessageexterne.m_sObjet="RE: "+clFicheMessageexterne.m_sObjet +//clFicheMessageexterne.m_sMessage="
"+"
"+clFicheMessageexterne.m_sObjet+"
"+"Dest +: "+clFicheMessageexterne.m_sAdrDestinataires+"
"+"
"+clFicheMessageexterne.m_sMessage +////SI nIndice<>-1 ALORS +// SELON sPrefPlanning//gpclPresenListeParamUtilisateur.m_clTabModele[nIndice].m_sValeur +// CAS "Externe" +// SI LanceAppliAssociée("mailto:"+ "" + "?subject +=RE: "+clFicheMessageexterne.m_sObjet + "&body="+htmlverstexte(clFicheMessageexterne.m_sMessage))=Vrai +ALORS +// //1 : Oui +// //2 : Non +// SELON Dialogue( +"Envoi en cours d'un message depuis votre messagerie externe, souhaitez-vous créer un message externe +pour cet envoi ?" +) +// // Oui +// CAS 1 +// clFicheMessageexterne.m_sAdrExp="" +// +ChangeFenêtreSource(FI_Fiche_Intervention.CFI_SOUS_INTERV,FI_EmailNouveau,clFicheMessageexterne,DonnePa +ram(DansChampFI,"FI_Fiche_Intervention","BTN_ADD_MESS_EXT",maProcMAJObjetRetourFI,"Nouveau +Message","InterventionMessageExterne",*,gclFicheInter +vention)) +// // Non +// CAS 2 +// RETOUR +// FIN +// SINON +// Erreur("Une erreur s'est produite lors de l'ouverture de votre messagerie externe") +// FIN +06/08/2026 Isis_BO 4073 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Code des champs +// CAS "Back-Office" +// +ChangeFenêtreSource(FI_Fiche_Intervention.CFI_SOUS_INTERV,FI_EmailNouveau,clFicheMessageexterne,DonnePa +ram(DansChampFI,"FI_Fiche_Intervention",MoiMême..Nom,maProcMAJObjetRetourFI,"Nouveau +Message","InterventionMessageExterne",*,gclFicheIntervention)) +// AUTRE CAS +// SI LanceAppliAssociée("mailto:"+ "" + "?subject +=RE: "+clFicheMessageexterne.m_sObjet + "&body="+HTMLVersTexte(clFicheMessageexterne.m_sMessage))=Vrai +ALORS +// //1 : Oui +// //2 : Non +// SELON Dialogue( +"Envoi en cours d'un message depuis votre messagerie externe, souhaitez-vous créer un message externe +pour cet envoi ?" +) +// // Oui +// CAS 1 +// clFicheMessageexterne.m_sAdrExp="" +// +ChangeFenêtreSource(FI_Fiche_Intervention.CFI_SOUS_INTERV,FI_EmailNouveau,clFicheMessageexterne,DonnePa +ram(DansChampFI,"FI_Fiche_Intervention","BTN_ADD_MESS_EXT",maProcMAJObjetRetourFI,"Nouveau +Message","InterventionMessageExterne",*,gclFicheInter +vention)) +// // Non +// CAS 2 +// RETOUR +// FIN +// SINON +// Erreur("Une erreur s'est produite lors de l'ouverture de votre messagerie externe") +// FIN +// FIN +////FIN +// +// +Entrée dans SAI_DestinataireCC +gtabTabContactCC=OuvrePopupPosition(FEN_Choix_ContactMessageExterne,poBas,gclFicheIntervention.m_n +IDLieu,gclFicheIntervention.m_nIDClient,gclFicheIntervention.m_nPKID,gtabTabContactCC) +SAI_DestinataireCC="" +pour tout ContactMail de gtabTabContactCC +si SAI_DestinataireCC="" alors +SAI_DestinataireCC=ContactMail +sinon +SAI_DestinataireCC+=";"+ContactMail +fin +fin +Entrée dans SAI_Destinatairecci +gtabTabContactCCI=OuvrePopupPosition(FEN_Choix_ContactMessageExterne,poBas,gclFicheIntervention.m_n +IDLieu,gclFicheIntervention.m_nIDClient,gclFicheIntervention.m_nPKID,gtabTabContactCCI) +SAI_Destinatairecci="" +06/08/2026 Isis_BO 4074 + +Partie 3 › Fenêtre WINDEV › FI_EmailVisualiser › Code des champs +pour tout ContactMail de gtabTabContactCCI +si SAI_Destinatairecci="" alors +SAI_Destinatairecci=ContactMail +sinon +SAI_Destinatairecci+=";"+ContactMail +fin +fin +06/08/2026 Isis_BO 4075 + +Partie 3 › Fenêtre WINDEV › FI_GalerieDocument › Image +FI_GalerieDocument +Image +FI_GalerieDocument +Informations générales +FI_GalerieDocument +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_GalerieDocument.wdw +| Créé par | | XVA | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 12/04/2019 16:19:13 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:32 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 768 Hauteur | 270 | +| 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 | | | | +| ------------ | --- | ----- | ------- | --- | ---- | +| 06/08/2026 | | | Isis_BO | | 4076 | + +Partie 3 › Fenêtre WINDEV › FI_GalerieDocument › Informations générales +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Statistiques de la fenêtre +Libellé 3 Bouton 3 +Image 1 Zone répétée 1 +Fenêtre interne 1 Attribut zone répétée 4 +Disposition 2 Cellule de disposition 5 +06/08/2026 Isis_BO 4077 + +Partie 3 › Fenêtre WINDEV › FI_GalerieDocument › Informations générales +Nombre d'éléments dans la fenêtre : 20 +FI_GalerieDocument +Informations sur les champs +Fenêtre : FI_GalerieDocument +Fenêtre interne +BAT ehcuoT +| | | X noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | --- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | | | ruegraL ruetuaH | | | | | +| --- | --- | --- | --- | --------------- | --- | --- | --- | --- | +elbisiV +nalP +| FI_GalerieDocument | | 0 | 0 | 768 | 270 | 0 | | | +| ------------------ | --- | --- | --- | --- | --- | --- | --- | --- | +Fenêtre interne : FI_GalerieDocument +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Titre_Galerie_Photo | 6 | 6 356 | 20 | 0 | Actif | Gauche | Centre | | +| ----------------------- | --- | ----- | --- | --- | ----- | ------ | ------ | --- | +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Fermer_compact | 5 | 4 | 24 | 24 | 0 | Actif | Abandon | | +| -------------------------- | --- | --- | ------- | --- | --- | ----- | ------- | ---- | +| BTN_GALERIE_ENVOI_MAIL | 4 | 4 | 24 | 24 | 0 | Grisé | Abandon | | +| BTN_VALIDE_SELECTION_PHOTO | 4 | 4 | 24 | 24 | 0 | Grisé | Abandon | | +| 06/08/2026 | | | Isis_BO | | | | | 4078 | + +Partie 3 › Fenêtre WINDEV › FI_GalerieDocument › Informations sur les champs +Zone répétée +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_GalerieImage | | 0 | 0 | 768 | 237 | 0 | Actif | | +| --------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Disposition +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| DISP_BANDEAU_ENTETE | | 0 | 0 | 768 | 33 | 0 | Actif | | +| ------------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +| D_GALERIE | | 0 | 0 | 768 | 264 | 0 | Actif | | +Zone répétée : FI_GalerieDocument.D_GALERIE.ZR_GalerieImage +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_IDDoc | 224 | 169 16 | 14 | 0 | Actif | Gauche | Haut | | +| --------- | --- | ------- | --- | --- | ----- | ------ | ---- | --- | +| LIB_Nom | 6 | 187 237 | 32 | 0 | Actif | Gauche | Haut | | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Doc | 4 | 2 | 239 | 181 | 0 | Actif | | | +| ------- | --- | --- | --- | --- | --- | ----- | --- | --- | +Attribut zone répétée +BAT ehcuoT +| | | X noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | --- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +ATT_CHEMIN +ATT_IDDoc +ATT_Image +ATT_Nom +| 06/08/2026 | | | Isis_BO | | | | | 4079 | +| ---------- | --- | --- | ------- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_GalerieDocument › Informations sur les champs +Fenêtre : FI_GalerieDocument +Fenêtre interne : FI_GalerieDocument +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_GalerieDocument +Bouton : +Ordre navigation 1 +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 +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 +06/08/2026 Isis_BO 4080 + +Partie 3 › Fenêtre WINDEV › FI_GalerieDocument › 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 +Type flèche +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\IconeMail.png +Nb. états image 5 +Nb. états fond 1 +06/08/2026 Isis_BO 4081 + +Partie 3 › Fenêtre WINDEV › FI_GalerieDocument › Informations sur les champs +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4082 + +Partie 3 › Fenêtre WINDEV › FI_GalerieDocument › Informations sur les champs +Disposition : FI_GalerieDocument.D_GALERIE.DISP_BANDEAU_ENTETE +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 6 +Débordement Agrandir le champ, pousse les champs autour +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_GalerieDocument.D_GALERIE +Libellé FR: Disposition +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 +Cellule ancrée 2 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Agrandir le champ, pousse les champs autour +Débordement - Réduire Non +Ancrage Largeur et hauteur +06/08/2026 Isis_BO 4083 + +Partie 3 › Fenêtre WINDEV › FI_GalerieDocument › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Sélection des documents à envoyer par mail +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : FI_GalerieDocument.D_GALERIE.ZR_GalerieImage +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 225 +06/08/2026 Isis_BO 4084 + +Partie 3 › Fenêtre WINDEV › FI_GalerieDocument › Informations sur les champs +Largeur colonne 249 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Oui +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection multiple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 3 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +Nb. Enreg. Max 0 +Parcours Automatique +Fichier parcouru :gpclPresenListeDocumentGalerie.m_clTabModele +Rub. mémorisée :gpclPresenListeDocumentGalerie.m_clTabModele +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +06/08/2026 Isis_BO 4085 + +Partie 3 › Fenêtre WINDEV › FI_GalerieDocument › Informations sur les champs +Zone répétée : FI_GalerieDocument.D_GALERIE.ZR_GalerieImage +Attribut zone répétée : FI_GalerieDocument.D_GALERIE.ZR_GalerieImage.ATT_CHEMIN +Propriété associée 1 +Liaison des données :gpclPresenListeDocumentGalerie.m_clTabModele.m_sCheminFichier +Attribut zone répétée : FI_GalerieDocument.D_GALERIE.ZR_GalerieImage.ATT_IDDoc (2) +Champ associé LIB_IDDoc +Propriété associée 1 +Liaison des données :gpclPresenListeDocumentGalerie.m_clTabModele.m_nPKID +Attribut zone répétée : FI_GalerieDocument.D_GALERIE.ZR_GalerieImage.ATT_Image (1) +Champ associé IMG_Doc +Propriété associée 1 +Liaison des données :gpclPresenListeDocumentGalerie.m_clTabModele.m_sCheminFichier +Attribut zone répétée : FI_GalerieDocument.D_GALERIE.ZR_GalerieImage.ATT_Nom (4) +Champ associé LIB_Nom +Propriété associée 1 +Liaison des données :gpclPresenListeDocumentGalerie.m_clTabModele.m_sNom +Image : FI_GalerieDocument.D_GALERIE.ZR_GalerieImage.IMG_Doc +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image Menu simple + édition intégrée (éditeur complet) +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Ascenseur et zoom auto. Non +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 4086 + +Partie 3 › Fenêtre WINDEV › FI_GalerieDocument › 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 +Texte Markdown Non +Mode menu ctx. +Mire visible Oui +Zoom par double taps Oui +Liaison des données :gpclPresenListeDocumentGalerie.m_clTabModele.m_sCheminFichier +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +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 +Libellé : FI_GalerieDocument.D_GALERIE.ZR_GalerieImage.LIB_IDDoc +Libellé FR: ID +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 +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 +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 +Liaison des données :gpclPresenListeDocumentGalerie.m_clTabModele.m_nPKID +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +06/08/2026 Isis_BO 4087 + +Partie 3 › Fenêtre WINDEV › FI_GalerieDocument › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_GalerieDocument.D_GALERIE.ZR_GalerieImage.LIB_Nom +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gpclPresenListeDocumentGalerie.m_clTabModele.m_sNom +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 +FI_GalerieDocument +Messages multilingues +06/08/2026 Isis_BO 4088 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? + +Partie 3 › Fenêtre WINDEV › FI_GalerieDocument › Messages multilingues +¹ N° mess. : numéro de message. +FI_GalerieDocument +Code des champs +Déclarations globales de FI_GalerieDocument +procédure FI_GalerieDocument(gpclPresenListeDocumentGalerie est un PTableDocument dynamique=Null, +paramSupplementaire est un STParamFenetreAppelante=Null) +maProcMAJObjetRetourFI est une procédure = MAJObjetRetourFI +LIB_Titre_Galerie_Photo = paramSupplementaire.sTitreFenetre<>"" ? paramSupplementaire.sTitreFenetre +sinon "Sélection des documents à envoyer par mail" +selon paramSupplementaire.sNomIDAppelant +cas "RapportGalerie","FI_EmailNouveau" : +BTN_VALIDE_SELECTION_PHOTO..Visible=Vrai +BTN_GALERIE_ENVOI_MAIL..Visible=Faux +ZoneRépétéeAffiche(ZR_GalerieImage,taInit) +fin +//si gpclPresenListeDocumentGalerie<>null ou +gpclPresenListeDocumentGalerie.m_clTabModele..occurrence<>0 alors +// Fic est une chaîne +// Ext est une chaîne +//POUR i= 1 _A_ gpclPresenListeDocumentGalerie.m_clTabModele..occurrence +// +Fic= ComplèteRep(DonneRepertoireRacine()+DonneRepertoireClient( +gpclPresenListeDocumentGalerie.m_clTabModele[i]:m_clClient:m_sNom,gpclPresenListeDocumentGalerie.m_clTa +bModele[i]:m_clClient:m_nPKID)+DonneRepertoireIntervention(gpclPresenListeDocumentGa +lerie.m_clTabModele[i].m_nIDIntervention))+gpclPresenListeDocumentGalerie.m_clTabModele[i]:m_sNom +// Ext= fExtraitChemin(Fic,fExtension) +// Ext=Majuscule(Ext[[2 À]]) +// SELON Ext +// +CAS "BMP","JPG","JPEG","GIF", "PCD", "PCX", "PNG", "PSD", "TGA", +"TIF","TIFF","EMF","WMF","ICO","ICW","CUR" +// +ZoneRépétéeAjouteLigne(ZR_GalerieImage,Fic,gpclPresenListeDocumentGalerie.m_clTabModele[i].m_nPKID) +// CAS "PDF" +// +ZoneRépétéeAjouteLigne(ZR_GalerieImage,Fic,gpclPresenListeDocumentGalerie.m_clTabModele[i].m_nPKID) +// AUTRE CAS +// ZoneRépétéeAjouteLigne(ZR_GalerieImage,"fichier.png +",gpclPresenListeDocumentGalerie.m_clTabModele[i].m_nPKID) +// FIN +//FIN +//fin +Fin d'initialisation de FI_GalerieDocument +selon paramSupplementaire.sNomIDAppelant +cas "RapportGalerie" : +//Boucle sur l'ensemble des photos accessible +pour i = 1 _à_ gpclPresenListeDocumentGalerie.m_clTabModele.Occurrence() +06/08/2026 Isis_BO 4089 + +Partie 3 › Fenêtre WINDEV › FI_GalerieDocument › Code des champs +nIndiceZR est un entier = ZoneRépétéeCherche(ATT_IDDoc,gpclPresenListeDocumentGalerie. +m_clTabModele[i].m_nPKID,rechercheIdentique) +si nIndiceZR>0 alors +//Le document est séléctionné +si gpclPresenListeDocumentGalerie.m_clTabModele[i].m_bSelection alors +//TableauAjoute(tabIndiceSelect,nIndiceZR) +ZoneRépétéeSelectPlus(ZR_GalerieImage,nIndiceZR) +sinon +ZoneRépétéeSelectMoins(ZR_GalerieImage,nIndiceZR) +fin +fin +fin +autre cas : ZoneRépétéeSelectMoins(ZR_GalerieImage) +fin +Demande de mise à jour de l'affichage de FI_GalerieDocument +//MAJChampZREtObjet(ZR_GalerieImage,gpclPresenListeDocumentGalerie.p_clCourant) +Clic sur BTN_Fermer_compact +paramSupplementaire.sContexteAppelant="" +//paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gpclPresenListeDocumentGaler +ie) +AppelProcFenetreAppelante(gpclPresenListeDocumentGalerie,paramSupplementaire,Vrai,Vrai) +Ferme(FEN_ChoixFenetreInterne) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +Clic sur BTN_GALERIE_ENVOI_MAIL +si HNbEnr(MailModele)>0 alors +OuvrePopupPosition(FEN_Choix_ModeleMail,poHaut,*,DonneParam(DansFenetre,"FI_Fiche_Intervention", +MoiMême..Nom,maProcMAJObjetRetourFI)) +sinon +SelectionPhotoObjet() +AppelProcFenetreAppelante(gpclPresenListeDocumentGalerie,paramSupplementaire,Vrai,Vrai) +Ferme(FEN_ChoixFenetreInterne) +//ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +fin +//paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gpclPresenListeDocumentGaler +ie) +Clic sur BTN_VALIDE_SELECTION_PHOTO +SelectionPhotoObjet() +AppelProcFenetreAppelante(gpclPresenListeDocumentGalerie,paramSupplementaire,Vrai,Vrai) +Ferme(FEN_ChoixFenetreInterne) +Sélection d'une ligne de ZR_GalerieImage +bSelection est un booléen +pour toute ligne sélectionnée de ZR_GalerieImage +06/08/2026 Isis_BO 4090 + +Partie 3 › Fenêtre WINDEV › FI_GalerieDocument › Code des champs +bSelection = Vrai +break +fin +si BTN_GALERIE_ENVOI_MAIL..Visible alors +BTN_GALERIE_ENVOI_MAIL..Etat=bSelection ? Actif sinon Grisé +fin +si BTN_VALIDE_SELECTION_PHOTO..Visible alors +BTN_VALIDE_SELECTION_PHOTO..Etat=bSelection ? Actif sinon Grisé +fin +Initialisation de LIB_Nom ( ZR_GalerieImage ) +// Version 1 +// Description +// Libellé simple +FI_GalerieDocument +Procédures +Procédure locale MAJObjetRetourFI +// Résumé : +// Syntaxe : +//[ = ] MAJObjetRetourFI ([...]) +// +// Paramètres : +// <*> : > +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sContexte (chaîne ANSI) : +// pclObjet (objet dynamique) : +// <*> : > +// <*> : > +// <*> : > +// <*> : > +// <*> : > +// <*> : > +// <*> : > +procédure MAJObjetRetourFI(*) +bResultat est un booléen=Vrai +nMode est un entier +sNomChamp est une chaîne +pclObjet est un objet dynamique +bReorga est un booléen=Vrai +bBloc est un booléen=Faux +//clErreur est un CErreur +sValeur est une chaîne +si MesParamètres..Occurrence>0 alors +nMode = MesParamètres[1] +fin +06/08/2026 Isis_BO 4091 + +Partie 3 › Fenêtre WINDEV › FI_GalerieDocument › Procédures +selon nMode +cas 1 : +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 2 +bReorga = Faux +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 3 +bReorga = Faux +bBloc = Vrai +cas 4 : +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +sValeur = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon "" +fin +//SI bReorga ALORS +// +ReorganiseChampDispoDansFiche(D_COL_FIC_INTERV,D_ENTETE_PERS_SITE,CFI_SOUS_INTERV,GR_IMAGE_OPAQUE_FICHE +_INTERVENTION,GR_MODEOPAQUE_FICHE_INTERVENTION,Faux,50,2,3) +//FIN +//L'enregistrement est bloqué et un IDTimer existe bien +//SI gclPresentationFicheInterv:m_bBlocageEcriture _et_ gclPresentationFicheInterv:m_nIDTimer>0 ALORS +// +// //La fenêtre n'est plus en arrière plan +// SI bReorga ALORS +// //Reactivation du Timer +// TimerSys(TimeOutIntervention,100,gclPresentationFicheInterv:m_nIDTimer) +// +// SINON //La fenêtre est en arrière plan +// //Débloque l'enregistrement +// +DeblocEnregistrement(gclPresentationFicheInterv,paramSupplementaire,DesactiveTimer,BTN_CADENAS_FERME_IN +TERV,BTN_CADENAS_OUVERT_INTERV,GR_CADENAS_INTERV,D_FIC_INTERV,Faux) +// FIN +////Une demande de blocage a été demandée par une fenetre fille et l'enregistrement n'est pas bloqué +//SINON SI bBloc _ET_ PAS gclPresentationFicheInterv:m_bBlocageEcriture ALORS +// //Tentative de blocage +// +bResultat= +(1=BlocEnregistrement(gclPresentationFicheInterv,ActiveTimer,BTN_CADENAS_FERME_INTERV,BTN_CADENAS_OUVER +T_INTERV,GR_CADENAS_INTERV,D_FIC_INTERV)) +// D_ENTETE_FIC_INTERV..CouleurFond += BTN_CADENAS_FERME_INTERV..Visible ? Noir SINON gCouleurFondEntete +//FIN +si pclObjet<>Null alors +//*******************************MISE A JOUR DE +L'OBJET********************************************************* +selon sNomChamp +cas BTN_GALERIE_ENVOI_MAIL..Nom : +SelectionPhotoObjet() +gpclPresenListeDocumentGalerie:p_Param=pclObjet:p_clCourant:m_sCode +AppelProcFenetreAppelante(gpclPresenListeDocumentGalerie,paramSupplementaire,Vrai,Vrai) +Ferme(FEN_ChoixFenetreInterne) +fin +06/08/2026 Isis_BO 4092 + +Partie 3 › Fenêtre WINDEV › FI_GalerieDocument › Procédures +fin +renvoyer bResultat +Procédure locale SelectionPhotoObjet +// Résumé : +// Syntaxe : +// SelectionPhotoObjet () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SelectionPhotoObjet() +nIndice est un entier +pour toute ligne sélectionnée de ZR_GalerieImage +nIndice = TableauCherche(gpclPresenListeDocumentGalerie:m_clTabModele,tcLinéaire,"m_nPKID",ATT_ +IDDoc,1) +si nIndice>0 alors gpclPresenListeDocumentGalerie:m_clTabModele[nIndice]:m_bSelection = Vrai +//paramSupplementaire.sContexteAppelant+=[";"]+ATT_IDDoc +fin +06/08/2026 Isis_BO 4093 + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › Image +FI_Parametres_Service +Image +FI_Parametres_Service +Informations générales +FI_Parametres_Service +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Parametres_Service.wdw +Créé par DFI +Date de création 04/06/2019 16:03:37 +Dernière modification par SMR +06/08/2026 Isis_BO 4094 + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › Informations générales +| Date dernière modification | | 11/04/2025 16:08:31 | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | --- | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 976 | 650 | +| Position X | Position Y | | Largeur | Hauteur | | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| Anim. Fermeture | | 0 | | | | +| Durée Anim. Ouverture | | 100 | | | | +| Durée Anim. Fermeture | | 50 | | | | +| Adapte Taille contenu | | Non | | | | +| 06/08/2026 | | | Isis_BO | | 4095 | + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › Informations générales +| Assombri quand inactif | | | Oui | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | --- | +Déplace souris sur bouton par +Non +| Compact. barres outils | | | Non | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | --- | +Statistiques de la fenêtre +| | Champ de saisie | | | 7 | | Libellé | | 7 | +| --- | --------------- | --- | --- | --- | --- | ---------------------- | --- | --- | +| | Bouton | | | 2 | | Fenêtre interne | | 1 | +| | Disposition | | | 2 | | Cellule de disposition | | 5 | +Nombre d'éléments dans la fenêtre : 24 +FI_Parametres_Service +Informations sur les champs +Fenêtre : FI_Parametres_Service +Fenêtre interne +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| FI_Parametres_Service | | | 0 | 0 | 976 | 650 | 0 | | +| --------------------- | --- | --- | --- | --- | --- | --- | --- | --- | +Fenêtre interne : FI_Parametres_Service +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 | | laitini tatE | eisias epyT | engilitluM | | | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| SAI_Clé_Réplication | | 191 30 285 | 28 0 | Actif | Texte | | Non | | +| -------------------- | --- | ----------- | ---- | ------- | ----- | --- | --- | ---- | +| SAI_Port_Data | | 11 72 174 | 28 0 | Actif | Texte | | Non | | +| SAI_Port_Réplication | | 11 114 174 | 28 0 | Actif | Texte | | Non | | +| SAI_Répertoire_du_Lo | | 11 206 519 | 28 0 | Actif | Texte | | Non | | +| SAI_Serveur_Hébergé | | 11 30 174 | 28 0 | Actif | Texte | | Non | | +| SAI_Version_Service | | 536 206 285 | 28 0 | Actif | Texte | | Non | | +| 06/08/2026 | | | | Isis_BO | | | | 4096 | + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › Informations sur les champs +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_Webservice | 191 | 72 519 | 28 | 0 | Actif | | Texte | | Non | | | | | +| -------------- | --- | ------ | --- | --- | ----- | --- | ----- | --- | --- | --- | --- | --- | --- | +Libellé +tuaféd rap eéminA +| | | | | | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | --- | +| | | | | | | | | | laitini tatE | | | FTR tamroF | | +X noitisoP Y noitisoP +| | | | | ruegraL | | ruetuaH | | | | | | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_CLE_REPLICATION | | 191 | | 16 | 174 | 14 | 0 | | Actif | Gauche | Haut | | | +| -------------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | --- | +| LIB_PORT_DATA | | 11 | | 58 | 174 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_PORT_REPLICATION | | 11 | | 100 | 174 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_REP_LOG | | 11 | | 186 | 174 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_SERV_HEBERGE | | 11 | | 16 | 174 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_VERSION_SERVICE | | 536 | | 192 | 174 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_WEBSERVICE | | 191 | | 58 | 174 | 14 | 0 | | Actif | Gauche | Haut | | | +Bouton +notuob epyT +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | | +| --- | --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | ------------ | --- | --- | --- | +| | | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_Tester | | | 177 | -94 | | 161 | 24 | | 0 | Actif | | Normal | | +| ------------ | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | ------ | --- | +| BTN_VERIFIER | | | 4 | | 4 | 24 | 24 | | 0 | Actif | | Normal | | +Disposition +BAT ehcuoT +| | | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | +| --- | --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| DISP_BANDEAU_ENTETE_FICHE_EQUIPE | | | | 0 | | 0 | 976 | 33 | | 0 | Actif | | | +| -------------------------------- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | ----- | --- | ---- | +| DISP_FICHE_EQUIPE | | | | 0 | | 0 | 976 | 650 | | 0 | Actif | | | +| 06/08/2026 | | | | | | Isis_BO | | | | | | | 4097 | + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › Informations sur les champs +Fenêtre : FI_Parametres_Service +Fenêtre interne : FI_Parametres_Service +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Parametres_Service +Bouton : FI_Parametres_Service.BTN_Tester +Libellé FR: Tester les paramètres +Ordre navigation 1 +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 +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 +06/08/2026 Isis_BO 4098 + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › Informations sur les champs +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Nb. états image 5 +Nb. états fond 1 +06/08/2026 Isis_BO 4099 + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › Informations sur les champs +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Parametres_Service.DISP_FICHE_EQUIPE +Libellé FR: Disposition +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 +Cellule ancrée 2 +Numéro aide 0 +06/08/2026 Isis_BO 4100 + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › Informations sur les champs +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 0 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametres_Service.DISP_FICHE_EQUIPE.LIB_CLE_REPLICATION +Libellé FR: Clé Réplication +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4101 + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › Informations sur les champs +Libellé : FI_Parametres_Service.DISP_FICHE_EQUIPE.LIB_PORT_DATA +Libellé FR: Port Data +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametres_Service.DISP_FICHE_EQUIPE.LIB_PORT_REPLICATION +Libellé FR: Port Réplication +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 +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 +06/08/2026 Isis_BO 4102 + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametres_Service.DISP_FICHE_EQUIPE.LIB_REP_LOG +Libellé FR: Répertoire du Log +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4103 + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › Informations sur les champs +Libellé : FI_Parametres_Service.DISP_FICHE_EQUIPE.LIB_SERV_HEBERGE +Libellé FR: Serveur hebergé +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametres_Service.DISP_FICHE_EQUIPE.LIB_VERSION_SERVICE +Libellé FR: Version 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 +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 +06/08/2026 Isis_BO 4104 + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametres_Service.DISP_FICHE_EQUIPE.LIB_WEBSERVICE +Libellé FR: Webservice +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4105 + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › Informations sur les champs +Champ de saisie : FI_Parametres_Service.DISP_FICHE_EQUIPE.SAI_Clé_Réplication +Libellé FR: Clé Réplication +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 191 +Largeur interne 285 +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 +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 +06/08/2026 Isis_BO 4106 + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Parametres_Service.DISP_FICHE_EQUIPE.SAI_Port_Data +Libellé FR: Port Data +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 11 +Largeur interne 174 +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 +06/08/2026 Isis_BO 4107 + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › 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 +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4108 + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › Informations sur les champs +Champ de saisie : FI_Parametres_Service.DISP_FICHE_EQUIPE.SAI_Port_Réplication +Libellé FR: Port Réplication +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 11 +Largeur interne 174 +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 +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 +06/08/2026 Isis_BO 4109 + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Parametres_Service.DISP_FICHE_EQUIPE.SAI_Répertoire_du_Log +Libellé FR: Répertoire du Log +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 11 +Largeur interne 519 +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 +06/08/2026 Isis_BO 4110 + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › 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 +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4111 + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › Informations sur les champs +Champ de saisie : FI_Parametres_Service.DISP_FICHE_EQUIPE.SAI_Serveur_Hébergé +Libellé FR: Serveur Hébergé +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 11 +Largeur interne 174 +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 +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 +06/08/2026 Isis_BO 4112 + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Parametres_Service.DISP_FICHE_EQUIPE.SAI_Version_Service +Libellé FR: Version Service +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 536 +Largeur interne 285 +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 +06/08/2026 Isis_BO 4113 + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › 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 +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4114 + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › Informations sur les champs +Champ de saisie : FI_Parametres_Service.DISP_FICHE_EQUIPE.SAI_Webservice +Libellé FR: Webservice +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 191 +Largeur interne 519 +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 +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 +06/08/2026 Isis_BO 4115 + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_Parametres_Service +Messages multilingues +06/08/2026 Isis_BO 4116 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FI_Parametres_Service +Code des champs +Déclarations globales de FI_Parametres_Service +procédure MaFenêtre() +SAI_Serveur_Hébergé=ParametreLit(cParam_CloudServeur) + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › Code des champs +SAI_Port_Data=ParametreLit(cParam_CloudPortData) +SAI_Port_Réplication=ParametreLit(cParam_CloudPortReplication) +SAI_Clé_Réplication=ParametreLit(cParam_CloudCle,"",Vrai) +SAI_Webservice=ParametreLit(cParam_WebServiceClient) +SAI_Répertoire_du_Log=ParametreLit(cParam_RepLog) +SAI_Version_Service=ParametreLit(cParam_ServiceCommVersion) +Clic sur BTN_Tester +cnxTest est une Connexion +cnxTest..Serveur = SAI_Serveur_Hébergé+":" + SAI_Port_Data +cnxTest..Utilisateur = "ServiceMobile" +cnxTest..MotDePasse = PassServiceMobile(gcnxBO) +cnxTest..Provider = hAccèsHFClientServeur +cnxTest..BaseDeDonnées = "PASSE_PLAT" +sRep est une chaîne +si pas HOuvreConnexion(cnxTest) alors +sRep="Les paramètres de connexion à la base hébergée sont incorrects" +// info(HErreurInfo(hErrComplet)) +sinon +// info("OK") +sRep="Connexion à la base hébergée réussie." +HFermeConnexion(cnxTest) +fin +HTTPTimeOut(5s) +WS_COM_MOBILE..Adresse = SAI_Webservice +si WS_COM_MOBILE.Tesla()="OUI" alors +sRep+=RC + "Connexion au Webservice réussie" +sinon +sRep+=RC +"Echec de la connexion au Webservice" +fin +Info(sRep) +Clic sur BTN_VERIFIER +cnxTest est une Connexion +cnxTest..Serveur = SAI_Serveur_Hébergé+":" + SAI_Port_Data +cnxTest..Utilisateur = "ServiceMobile" +cnxTest..MotDePasse = PassServiceMobile(gcnxBO) +cnxTest..Provider = hAccèsHFClientServeur +cnxTest..BaseDeDonnées = "PASSE_PLAT" +sRep est une chaîne +si pas HOuvreConnexion(cnxTest) alors +sRep="Les paramètres de connexion à la base hébergée sont incorrects" +// info(HErreurInfo(hErrComplet)) +sinon +// info("OK") +sRep="Connexion à la base hébergée réussie." +HFermeConnexion(cnxTest) +fin +HTTPTimeOut(5s) +WS_COM_MOBILE..Adresse = SAI_Webservice +si WS_COM_MOBILE.Tesla()="OUI" alors +sRep+=RC + "Connexion au Webservice réussie" +sinon +sRep+=RC +"Echec de la connexion au Webservice" +fin +Info(sRep) +Sortie de SAI_Clé_Réplication +06/08/2026 Isis_BO 4117 + +Partie 3 › Fenêtre WINDEV › FI_Parametres_Service › Code des champs +ParametreEcrit(cParam_CloudCle,MoiMême,Vrai) +Initialisation de SAI_Port_Data +//MoiMême=ParametreLit(cParam_CloudPortData) +Sortie de SAI_Port_Data +ParametreEcrit(cParam_CloudPortData,MoiMême) +Initialisation de SAI_Port_Réplication +//MoiMême=ParametreLit(cParam_CloudPortReplication) +Sortie de SAI_Port_Réplication +ParametreEcrit(cParam_CloudPortReplication,MoiMême) +Initialisation de SAI_Répertoire_du_Log +//MoiMême=ParametreLit(cParam_RepLog) +Sortie de SAI_Répertoire_du_Log +ParametreEcrit(cParam_RepLog,MoiMême) +Initialisation de SAI_Serveur_Hébergé +//MoiMême=ParametreLit(cParam_CloudServeur) +Sortie de SAI_Serveur_Hébergé +ParametreEcrit(cParam_CloudServeur,MoiMême) +Initialisation de SAI_Version_Service +//MoiMême=ParametreLit(cParam_ServiceCommVersion) +Initialisation de SAI_Webservice +//MoiMême=ParametreLit(cParam_WebServiceClient) +Sortie de SAI_Webservice +ParametreEcrit(cParam_WebServiceClient,MoiMême) +06/08/2026 Isis_BO 4118 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_IntervDuJour › Image +FI_TdBPrincipal_IntervDuJour +Image +FI_TdBPrincipal_IntervDuJour +Informations générales +FI_TdBPrincipal_IntervDuJour +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_TdBPrincipal_IntervDuJour.wdw +| Créé par | | FBO | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 11/06/2019 15:16:29 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:31 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 450 Hauteur | 213 | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 4119 | + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_IntervDuJour › Informations générales +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Statistiques de la fenêtre +Libellé 1 Image 2 +Table 1 Fenêtre interne 1 +Superchamp 1 Colonne de table 6 +06/08/2026 Isis_BO 4120 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_IntervDuJour › Informations générales +Nombre d'éléments dans la fenêtre : 12 +FI_TdBPrincipal_IntervDuJour +Informations sur les champs +Fenêtre : FI_TdBPrincipal_IntervDuJour +Fenêtre interne +BAT ehcuoT +| | | X noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | --- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_TdBPrincipal_IntervDuJour | | 0 | 0 | 450 | 213 | 0 | | | +| ---------------------------- | --- | --- | --- | --- | --- | --- | --- | --- | +Fenêtre interne : FI_TdBPrincipal_IntervDuJour +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | --- | ------------------ | ------------------ | --- | +)(ertliFH resilitU +| | | | | | .gerne egacolB | noitcelésitluM ruesnecsa elluB | EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +| --- | --- | --- | --- | --- | -------------- | ------------------------------ | -------------- | ----------------------------- | +edacsac eisiaS +BAT ehcuoT +laitini tatE +| | X noitisoP Y noitisoP | | | sruocraP | | | | | +| --- | --------------------- | --- | --- | -------- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +| | | nalP | | elbaT | | | | | +| ----------------- | -------- | ----- | -------- | ------ | --- | --- | --- | --- | +| TABLE_INTERVDUJOU | 0 28 450 | 185 0 | affichag | Mémoir | | | | 1 | +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_Entete | | 0 | 0 | 450 | 29 | 0 | Actif | | +| ---------- | --- | --- | ------- | --- | --- | --- | ----- | ---- | +| 06/08/2026 | | | Isis_BO | | | | | 4121 | + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_IntervDuJour › Informations sur les champs +Table : FI_TdBPrincipal_IntervDuJour.TABLE_INTERVDUJOUR +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_REFINTERNE | 73 | Actif | | | Gauche Centre | Texte | | | +| COL_CLIENT | 145 | Actif | | | Gauche Centre | Texte | | | +| COL_SOCIETE | 100 | Actif | | | Gauche Centre | Texte | | | +| COL_SITE | 113 | Actif | | | Gauche Centre | Texte | | | +Numériq +| COL_IDDOSSIER | 100 | Actif | | | Droite Centre | | | | +| ------------- | --- | ----- | --- | --- | ------------- | ------- | --- | --- | +| COL_IDINTERV | 100 | Actif | | | Droite Centre | Numériq | | | +Superchamp : FI_TdBPrincipal_IntervDuJour.SC_Entete +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | --- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_CARACTERISTIQUE | 35 | 5 209 | 19 | 0 | Actif | Gauche | Haut | | +| ------------------- | --- | ----- | --- | --- | ----- | ------ | ---- | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | ------- | ------------ | --------- | ---------- | +| | | | | ruetuaH | | | cilc cevA | | +| | | | ruegraL | | elbisiV | | | | +nalP +| IMG_Entete | 0 | 0 | 450 | 29 | 0 | Actif | | | +| -------------------------- | --- | --- | ------- | --- | --- | ----- | --- | ---- | +| IMG_ICONE_CARACTERISTIQUES | 9 | 6 | 16 | 16 | 0 | Actif | | | +| 06/08/2026 | | | Isis_BO | | | | | 4122 | + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_IntervDuJour › Informations sur les champs +Fenêtre : FI_TdBPrincipal_IntervDuJour +Fenêtre interne : FI_TdBPrincipal_IntervDuJour +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_TdBPrincipal_IntervDuJour +Superchamp : FI_TdBPrincipal_IntervDuJour.SC_Entete +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 450 +Hauteur externe 29 +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 +06/08/2026 Isis_BO 4123 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_IntervDuJour › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : FI_TdBPrincipal_IntervDuJour.TABLE_INTERVDUJOUR +Libellé FR: Table +Ordre navigation 2 +Curseur survol 0 +Mode Loupe Filtre +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) 16 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 4124 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_IntervDuJour › Informations sur les champs +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. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Rub. parcourue -IN_PKID +Rub. mémorisée IN_PKID +Ajout/Suppr. dans variable Non +Synchro HFSQL C/S Toujours +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 +Superchamp : FI_TdBPrincipal_IntervDuJour.SC_Entete +Image : FI_TdBPrincipal_IntervDuJour.SC_Entete.IMG_Entete +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +Mire visible Oui +06/08/2026 Isis_BO 4125 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_IntervDuJour › Informations sur les champs +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_TdBPrincipal_IntervDuJour.SC_Entete.IMG_ICONE_CARACTERISTIQUES +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_CARACT.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4126 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_IntervDuJour › Informations sur les champs +Libellé : FI_TdBPrincipal_IntervDuJour.SC_Entete.LIB_CARACTERISTIQUE +Libellé FR: Intervention du jour +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : FI_TdBPrincipal_IntervDuJour.TABLE_INTERVDUJOUR +Colonne de table : +Titre FR: N° +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 +06/08/2026 Isis_BO 4127 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_IntervDuJour › Informations sur les champs +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_TdBPrincipal_IntervDuJour.TABLE_INTERVDUJOUR.COL_CLIENT (2) +Titre FR: Client +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4128 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_IntervDuJour › Informations sur les champs +Colonne de table : FI_TdBPrincipal_IntervDuJour.TABLE_INTERVDUJOUR.COL_SOCIETE +Titre FR: Société +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_TdBPrincipal_IntervDuJour.TABLE_INTERVDUJOUR.COL_SITE (4) +Titre FR: Site +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 +06/08/2026 Isis_BO 4129 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_IntervDuJour › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: IDDOSSIER +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: MoneySystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4130 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_IntervDuJour › Informations sur les champs +Colonne de table : FI_TdBPrincipal_IntervDuJour.TABLE_INTERVDUJOUR.COL_IDINTERV +Titre FR: IDINTERV +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: MoneySystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FI_TdBPrincipal_IntervDuJour +Code des champs +Déclarations globales de FI_TdBPrincipal_IntervDuJour +procédure MaFenêtre() +Init() +FI_TdBPrincipal_IntervDuJour +Procédures +Procédure locale Init +06/08/2026 Isis_BO 4131 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_IntervDuJour › Procédures +// Résumé : +// Syntaxe : +// Init () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Init() +TableSupprimeTout(TABLE_INTERVDUJOUR) +sReqSQL est une Requête SQL = +[ +SELECT IN_RefInterne +,IN_IDDossier +,IN_PKID +,CL_Nom +,LI_CodeLieu +,SO_Nom +,IN_IDDossier +,IN_PKID +FROM Intervention +INNER JOIN Dossier ON (DO_PKID=IN_IDDossier) +INNER JOIN Client ON (CL_PKID=DO_IDClient) +RIGHT OUTER JOIN Lieu ON (LI_PKID=IN_IDLieu) +RIGHT OUTER JOIN Societe ON (SO_PKID=IN_IDSociete) +WHERE TRUNC(Intervention.CreationDate,'DDMMYYYY')=TRUNC(SYSDATE,'DDMMYYYY') +ORDER BY Intervention.CreationDate DESC +] +si HExécuteRequête(sReqSQL,hRequêteDéfaut) alors +pour tout sReqSQL +TableAjouteLigne(TABLE_INTERVDUJOUR,sReqSQL.IN_RefInterne,sReqSQL.cl_nom,sReqSQL.so_nom,sReqSQL +.li_codelieu,sReqSQL.in_iddossier,sReqSQL.in_pkid) +fin +fin +06/08/2026 Isis_BO 4132 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Logo › Image +FI_TdBPrincipal_Logo +Image +FI_TdBPrincipal_Logo +Informations générales +FI_TdBPrincipal_Logo +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_TdBPrincipal_Logo.wdw +| Créé par | | FBO | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 11/06/2019 15:59:13 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:31 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 450 Hauteur | 245 | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 4133 | + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Logo › Informations générales +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Statistiques de la fenêtre +Image 1 Fenêtre interne 1 +06/08/2026 Isis_BO 4134 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Logo › Informations générales +Nombre d'éléments dans la fenêtre : 2 +FI_TdBPrincipal_Logo +Informations sur les champs +Fenêtre : FI_TdBPrincipal_Logo +Fenêtre interne +BAT ehcuoT +X noitisoP laitini tatE +Y noitisoP +| | | ruegraL | ruetuaH | | | +| --- | --- | ------- | ------- | --- | --- | +elbisiV +nalP +| FI_TdBPrincipal_Logo | 0 | 0 450 | 245 | 0 | | +| -------------------- | --- | ----- | --- | --- | --- | +Fenêtre interne : FI_TdBPrincipal_Logo +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | laitini tatE | sucof cevA | +| --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +ruegraL ruetuaH cilc cevA +elbisiV +nalP +| IMG_LOGO_MENU | 0 0 | 450 245 | 0 | Actif | | +| ------------- | --- | ------- | --- | ----- | --- | +Fenêtre : FI_TdBPrincipal_Logo +| 06/08/2026 | | Isis_BO | | | 4135 | +| ---------- | --- | ------- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Logo › Informations sur les champs +Fenêtre interne : FI_TdBPrincipal_Logo +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_TdBPrincipal_Logo +Image : FI_TdBPrincipal_Logo.IMG_LOGO_MENU +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +06/08/2026 Isis_BO 4136 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Logo › Informations sur les champs +Chargement en fond Non +Orientation EXIF Non +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 +FI_TdBPrincipal_Logo +Code des champs +Déclarations globales de FI_TdBPrincipal_Logo +procédure MaFenêtre() +IMG_LOGO_MENU=gLOGO_FOND_SOMBRE +06/08/2026 Isis_BO 4137 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_GrapheNbDossierParCateg › Image +FI_TdBPrincipal_GrapheNbDossierParCateg +Image +FI_TdBPrincipal_GrapheNbDossierParCateg +Informations générales +FI_TdBPrincipal_GrapheNbDossierPa +rCateg +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_TdBPrincipal_GrapheNbDossierParCateg.wdw +| Créé par | | FBO | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 11/06/2019 16:22:18 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:31 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 450 Hauteur | 245 | +| 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 | | | | +| ------------ | --- | ----- | ------- | --- | ---- | +| 06/08/2026 | | | Isis_BO | | 4138 | + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_GrapheNbDossierParCateg › Informations générales +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Statistiques de la fenêtre +Fenêtre interne 1 Graphe 1 +06/08/2026 Isis_BO 4139 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_GrapheNbDossierParCateg › Informations générales +Nombre d'éléments dans la fenêtre : 2 +FI_TdBPrincipal_GrapheNbDossierParCateg +Informations sur les champs +Fenêtre : FI_TdBPrincipal_GrapheNbDossierParCateg +Fenêtre interne +BAT ehcuoT +| | X noitisoP | | | laitini tatE | | +| --- | ---------- | --- | --- | ------------ | --- | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| FI_TdBPrincipal_GrapheNbDossierParCateg | 0 | 0 450 245 | 0 | | | +| --------------------------------------- | --- | --------- | --- | --- | --- | +Fenêtre interne : FI_TdBPrincipal_GrapheNbDossierParCateg +Graphe +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --------------------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| GRF_NbDossierParCateg | 0 | 0 450 245 | 0 | Actif | | +| --------------------- | --- | --------- | --- | ----- | --- | +Fenêtre : FI_TdBPrincipal_GrapheNbDossierParCateg +Fenêtre interne : FI_TdBPrincipal_GrapheNbDossierParCateg +| UI par l'utilisateur Selon fenêtre | | | | | | +| ---------------------------------------------- | --- | ------- | --- | --- | ---- | +| Unité des tailles Compatible desktop ET mobile | | | | | | +| Taux Paral. hauteur 0 | | | | | | +| Taux Paral. Y 0 | | | | | | +| Épinglé Non | | | | | | +| Masquer lors du scrolling Non | | | | | | +| Ancrage au contenu | | | | | | +| Numéro aide 0 | | | | | | +| Thème destination Oui | | | | | | +| 06/08/2026 | | Isis_BO | | | 4140 | + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_GrapheNbDossierParCateg › 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 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_TdBPrincipal_GrapheNbDossierParCateg +Graphe : FI_TdBPrincipal_GrapheNbDossierParCateg.GRF_NbDossierParCateg +Libellé FR: &Graphe +Titre FR: Nombre de dossier par catégorie +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Type de graphe 23 +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +AntiAliasing Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Même contenu/ligne Non +Mémoriser paramètre utilisateur Oui +Texte Markdown Non +Mode menu ctx. +Profondeur 0 +Titre Haut +Légende Sans +Quadrillage V Non +Quadrillage H Oui +Lissage Non +Dégradé Non +Taille des points 4 +Graduation X -2000000000 +Graduation Y -2000000000 +Espacement 10 +Transparence Oui +06/08/2026 Isis_BO 4141 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_GrapheNbDossierParCateg › Informations sur les champs +Animation 3D Zoom + Rotation + Construction + Couleur +Etiquettes Oui +Valeurs 999 999 999 +Valeurs en verticales Non +Pourcentage 999% +Zoom horizontal Oui +Zoom vertical Oui +Taille du range slider horizontal 5 +Taille du range slider vertical 5 +Positionnement manuel du graphe Non +Marge en haut du graphe 23 +Marge en bas du graphe 0 +Marge à gauche du graphe 0 +Marge à droite du graphe 0 +Position Y du titre 7 +Hauteur du titre 23 +Position X du titre 7 +Largeur du titre 436 +Position Y de la légende 0 +Hauteur de la légende 0 +Position X de la légende 0 +Largeur de la légende 0 +Largeur de référence du graphe 450 +Hauteur de référence du graphe 245 +Partie vide du beignet 30 +Couleurs automatiques (bordures) Oui +Dessin des valeurs nulles Non dessinées +Angle ref. 0 +Dégradé horizontal Oui +Echelle logarithmique Non +Echelle temporelle Non +Lumière réaliste Non +Pourcentage de biseau 0 +Orientation graduations X +Orientation graduation Y +Min. X -2000000000 +Max X. -2000000000 +Min Y. -2000000000 +Max y. -2000000000 +Format des graduations 999 999 999 +Excentrage 0 +Taille de légende auto. Oui +Taille des bulles 100 +Algo. Bulle La surface de la bulle +Bord arrondi légende Oui +Placer les étiquettes d'un graphe Non +Autoriser le chevauchement des Non +Largeur de l'embout 10 +Hauteur de l'embout 10 +Première valeur non dessinée Non +Algo. portions entonnoir la hauteur +Graduation Z -2000000000 +06/08/2026 Isis_BO 4142 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_GrapheNbDossierParCateg › Informations sur les champs +ZMin -2000000000 +ZMax -2000000000 +Rot. X 335 +Rot. Y 0 +Rot. Z 40 +Quad. XY Aucun +Quad XZ Aucun +Quad YZ Aucun +Maillage Non +Direct Direct +Rot. Souris Non +Animation Oui +Mire Oui +Mire multiple Oui +Orthonormé Non orthonormé +Intervalle temps réel 101058225 +Mode aff. échelle temporelle Standard +Type aff. axe secondaire Axes séparés +Sens de rotation Horaire +Couleur auto. étiquettes Oui +Nombre de colonnes 10 +Nombre de lignes 10 +Espacement entre les cellules 10 +Forme de la cellule Carré arrondi +Forme de la barre Rectangle +Affichage de l'axe X Oui +Affichage de l'axe Y Oui +Mode 9 images Non +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 +FI_TdBPrincipal_GrapheNbDossierParCateg +Code des champs +Déclarations globales de FI_TdBPrincipal_GrapheNbDossierParCateg +procédure MaFenêtre() +Init() +06/08/2026 Isis_BO 4143 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_GrapheNbDossierParCateg › Procédures +FI_TdBPrincipal_GrapheNbDossierParCateg +Procédures +Procédure locale Init +// Résumé : +// Syntaxe : +// Init () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Init() +grSupprimeTout(GRF_NbDossierParCateg) +sReqSQL est une Requête SQL = +[ +SELECT COUNT(*) AS NB +,PA_Libelle AS LibCateg +FROM Dossier +INNER JOIN ParametreMetier ON (PA_PKID=DO_IDTypeDossier) +GROUP BY LibCateg +] +si HExécuteRequête(sReqSQL,hRequêteDéfaut) alors +nICpt est un entier +//grCrée(GRF_NbDossierParCateg,grDonut,faux) +pour tout sReqSQL +nICpt+=1 +grAjouteDonnée(GRF_NbDossierParCateg,nICpt,sReqSQL.NB) +fin +//grDessine(GRF_NbDossierParCateg) +fin +06/08/2026 Isis_BO 4144 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Image +FI_Rapport_Intervention +Image +FI_Rapport_Intervention +Informations générales +FI_Rapport_Intervention +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Rapport_Intervention.wdw +Créé par FBO +Date de création 08/08/2019 16:26:45 +06/08/2026 Isis_BO 4145 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations générales +| Dernière modification par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date dernière modification | | 11/04/2025 16:08:31 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1278 Hauteur | 670 | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| Anim. Fermeture | | 0 | | | | +| Durée Anim. Ouverture | | 100 | | | | +| Durée Anim. Fermeture | | 50 | | | | +| 06/08/2026 | | | Isis_BO | | 4146 | + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations générales +| Adapte Taille contenu | Non | | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | +| Assombri quand inactif | Oui | | | | | | +| Déplace souris sur bouton par | Non | | | | | | +| Compact. barres outils | Non | | | | | | +Statistiques de la fenêtre +| | Libellé | | 9 | Bouton | | 7 | +| --- | ---------------------- | --- | --- | ----------------------- | --- | --- | +| | Interrupteur | | 1 | Image | | 3 | +| | Onglet | | 1 | Zone répétée | | 3 | +| | Fenêtre interne | | 1 | Superchamp | | 1 | +| | Attribut zone répétée | | 9 | Option d'interrupteur | | 1 | +| | Volet (Onglet) | | 2 | Rupture de zone répétée | | 4 | +| | Traitement de texte | | 1 | Disposition | | 1 | +| | Cellule de disposition | | 3 | | | | +Nombre d'éléments dans la fenêtre : 47 +FI_Rapport_Intervention +Informations sur les champs +Fenêtre : FI_Rapport_Intervention +Fenêtre interne +BAT ehcuoT +X noitisoP Y noitisoP laitini tatE +ruetuaH +ruegraL +elbisiV +nalP +| FI_Rapport_Intervention | | 0 | 0 1278 | 670 | 0 | | +| ----------------------- | --- | --- | ------ | --- | --- | --- | +Fenêtre interne : FI_Rapport_Intervention +| 06/08/2026 | | | Isis_BO | | | 4147 | +| ---------- | --- | --- | ------- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_SansNom1 | | 16 | 16 | 1246 | 628 | 0 | Actif | | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | --- | +Superchamp : FI_Rapport_Intervention.SC_SansNom1 +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | | +| --- | --------------------- | ------- | ------- | --- | ------------ | --- | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| LIB_DONNEES | 0 | 1 294 | 39 | 0 | Actif | Gauche | Centre | | | +| -------------------- | --- | ------ | --- | --- | ----- | ------ | ------ | --- | --- | +| LIB_INFO_DONNEES | 0 | 0 294 | 34 | 0 | Actif | Gauche | Centre | | | +| LIB_LISTE_DONNEES | 45 | 22 100 | 14 | 0 | Actif | Gauche | Haut | | | +| LIB_SELECT_TABDONNEE | 0 | 0 294 | 34 | 0 | Actif | Gauche | Centre | | | +Bouton +| | | | | | | | BAT ehcuoT | | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | --- | ----------- | +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | | | +| --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| BTN_AGRANDIR | 1143 | 19 | 24 | 24 | 0 | Actif | | Abandon | | +| ----------------------------- | ---- | --- | --- | --- | --- | ----- | --- | ------- | --- | +| BTN_Fermer_fiche_intervention | 1174 | 19 | 24 | 24 | 0 | Actif | | Normal | | +| BTN_ICONISER | 1109 | 19 | 24 | 24 | 0 | Actif | | Abandon | | +| BTN_OUVRE_GALLERIE | 264 | 5 | 24 | 24 | 0 | Actif | | Normal | | +| BTN_REFRESH | 264 | 7 | 24 | 24 | 0 | Actif | | Normal | | +| BTN_RESTAURER | 1143 | 19 | 24 | 24 | 0 | Actif | | Abandon | | +Image +| | | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | ------- | ------- | ------- | ------------ | --------- | --------------------------------------- | ---------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | sucof cevA | +| | | | | ruetuaH | | | cilc cevA | | | +| | | | ruegraL | | elbisiV | | | | | +nalP +| IMG_ICONE_CARACTERISTIQUES | 25 | 21 | 16 | 16 | 0 | Actif | | | | +| -------------------------- | --- | --- | ------- | --- | --- | ----- | --- | --- | ---- | +| IMG_LISTE_MODELES | 16 | 16 | 1246 | 32 | 0 | Actif | | | | +| 06/08/2026 | | | Isis_BO | | | | | | 4148 | + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Onglet +slennoitroporp steloV +engil/stelov .bN +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | stelov .soP | | | +| --- | ---------- | ---------- | --- | --- | ------------ | ----------- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ONG_DONNEES | 970 | 48 294 | 598 | 0 | Actif | haut | | 0 | +| ----------- | --- | ------ | --- | --- | ----- | ---- | --- | --- | +Zone répétée +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| ZR_DONNEES | | 0 | 34 | 294 | 114 | 0 | Actif | | +| ------------------ | --- | --- | --- | --- | --- | --- | ----- | --- | +| ZR_MOT_CLE_RAPPORT | | 970 | 78 | 288 | 562 | 0 | Actif | | +| ZR_PHOTO | | 0 | 34 | 294 | 150 | 0 | Actif | | +Traitement de texte +BAT ehcuoT +laitini tatE +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| TT_RAPPORT | | 16 | 48 | 948 | 596 | 0 | Actif | | +| ---------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Disposition +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| DISP_SELECT_DONNEES | | 970 | 78 | 294 | 562 | 0 | Actif | | +| ------------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Zone répétée : +FI_Rapport_Intervention.SC_SansNom1.ONG_DONNEES.DISP_SELECT_DONNEES.ZR_DO +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | | | +| --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| LIB_GROUPE | 24 | 5 241 | 14 | 0 | Actif | Gauche | Haut | | +| ------------------ | --- | ----- | ------- | --- | ----- | ------ | ---- | ---- | +| LIB_TYPE_PARAMETRE | 32 | 9 240 | 15 | 0 | Actif | Gauche | Haut | | +| 06/08/2026 | | | Isis_BO | | | | | 4149 | + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | staté siorT | +| --- | --------------------- | --- | --- | ------------ | --- | ----------- | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| INT_ACTIF | 6 | 7 20 18 | 0 | Actif | 1 | | +| --------- | --- | ------- | --- | ----- | --- | --- | +Attribut zone répétée +| | | | | | laitini tatE | BAT ehcuoT | +| --- | ---------- | ---------- | --- | --- | ------------ | ---------- | +| | X noitisoP | Y noitisoP | | | | | +ruegraL ruetuaH +elbisiV +nalP +ATT_GROUPE +ATT_LIB +ATT_SEL +Rupture de zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +RUPT_BRuptGR +RUPT_HRuptGR +Zone répétée : +FI_Rapport_Intervention.SC_SansNom1.ONG_DONNEES.ZR_MOT_CLE_RAPPORT +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Description | 37 1 | 231 16 | 0 Actif | Gauche | Haut | | +| --------------- | ----- | ------- | ------- | ------ | ---- | ---- | +| LIB_GROUPE | 22 5 | 199 14 | 0 Actif | Gauche | Haut | | +| LIB_Mot | 37 19 | 231 17 | 0 Actif | Droite | Haut | | +| 06/08/2026 | | Isis_BO | | | | 4150 | + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Bouton +notuob epyT +| | | | | laitini tatE BAT ehcuoT | | +| --- | --- | --- | --- | ----------------------- | --- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_COPIE_COLLE_MOTCLES | 6 4 | 24 24 | 0 | Actif | Normal | +| ----------------------- | --- | ----- | --- | ----- | ------ | +Attribut zone répétée +BAT ehcuoT +laitini tatE +| | X noitisoP | Y noitisoP | | | | +| --- | ---------- | ---------- | ------- | --- | --- | +| | | ruegraL | ruetuaH | | | +elbisiV +nalP +ATT_BTNCOPIER +ATT_Groupe +ATT_Lib +ATT_Mot +Rupture de zone répétée +laitini tatE BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | +| --- | ---------- | ---------- | ------- | --- | --- | +| | | ruegraL | ruetuaH | | | +elbisiV +nalP +RUPT_BasRupture1 +RUPT_HRUPT_MOTCLES +Zone répétée : +FI_Rapport_Intervention.SC_SansNom1.ONG_DONNEES.DISP_SELECT_DONNEES.ZR_PH +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | sucof cevA | +| --- | --------------------- | --- | --- | ------------ | ---------- | +cilc cevA +ruegraL ruetuaH +elbisiV +nalP +| IMG_SansNom1 | 19 6 | 100 100 | 0 | Actif | | +| ------------ | ---- | ------- | --- | ----- | --- | +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | laitini tatE | | +| --- | ---------- | ---------- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +ATT_IDPHOTO +ATT_PHOTO +| 06/08/2026 | | Isis_BO | | | 4151 | +| ---------- | --- | ------- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Fenêtre : FI_Rapport_Intervention +Fenêtre interne : FI_Rapport_Intervention +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Rapport_Intervention +Superchamp : FI_Rapport_Intervention.SC_SansNom1 +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 1246 +Hauteur externe 628 +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 +06/08/2026 Isis_BO 4152 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Rapport_Intervention.SC_SansNom1 +Bouton : FI_Rapport_Intervention.SC_SansNom1.BTN_AGRANDIR +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Structure_icone_système_agrandir.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4153 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Bouton : FI_Rapport_Intervention.SC_SansNom1.BTN_Fermer_fiche_intervention +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4154 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Bouton : FI_Rapport_Intervention.SC_SansNom1.BTN_ICONISER +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Systeme_Reduire.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4155 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\ELARGIR.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4156 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\refresh.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4157 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Bouton : FI_Rapport_Intervention.SC_SansNom1.BTN_RESTAURER +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Structure_icone_système_restaurer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4158 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 3 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Rapport_Intervention.SC_SansNom1.IMG_ICONE_CARACTERISTIQUES +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_COORDONNEE.pn +g +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +06/08/2026 Isis_BO 4159 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Rapport_Intervention.SC_SansNom1.IMG_LISTE_MODELES +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4160 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Libellé : +Libellé FR: Veuillez choisir les éléments à insérer dans +le corps du document. Cliquez ici pour rafraichir +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Choisir les photos ici ou cliquer pour agrandir +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 4161 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Rapport_Intervention.SC_SansNom1.LIB_LISTE_DONNEES +Libellé FR: Rapport +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4162 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Libellé : +Libellé FR: Cochez les données à insérer +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Onglet : FI_Rapport_Intervention.SC_SansNom1.ONG_DONNEES +Libellé FR: &Onglet +Valeur initiale 1 +Ordre navigation 2 +Curseur survol 0 +Onglet dynamique Non +Libellé volet FR: Nouvel onglet +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Retrait gauche 0 +Retrait des onglets 0 +Numéro aide 0 +06/08/2026 Isis_BO 4163 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › 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. +Nb. états image 1 +Ancrage Hauteur et droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Traitement de texte : FI_Rapport_Intervention.SC_SansNom1.TT_RAPPORT +Ordre navigation 1 +Épinglé Non +Masquer lors du scrolling Non +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Autorise ChangeGabarit Oui +Lien automatique Oui +Verifier l'orthographe Oui +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 +FI source ruban FI_WinDevFAA_RubanTT +Mode Minibarre Non +Texte Markdown Non +Édition HTML Non +Thème sur ruban Non +Change Document Non +Mode d'affichage Plusieurs listes +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 +06/08/2026 Isis_BO 4164 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Zone répétée : +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 31 +Largeur colonne 277 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sans sélection +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +Nb. Enreg. Max 0 +06/08/2026 Isis_BO 4165 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Parcours Automatique +Fichier parcouru :gstListeDonnees +Rub. mémorisée :gstListeDonnees +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 34 +Largeur colonne 271 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +06/08/2026 Isis_BO 4166 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +Nb. Enreg. Max 0 +Parcours Automatique +Fichier parcouru :TermeRapport.ListeTerme +Rub. mémorisée :TermeRapport.ListeTerme +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Hauteur et droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 112 +Largeur colonne 138 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Oui +06/08/2026 Isis_BO 4167 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection multiple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 2 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +Nb. Enreg. Max 0 +Parcours Automatique +Fichier parcouru :clListePhoto.m_clTabModele +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : +FI_Rapport_Intervention.SC_SansNom1.ONG_DONNEES.DISP_SELECT_DONNEES.ZR_DO +06/08/2026 Isis_BO 4168 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Attribut zone répétée : +Champ associé LIB_GROUPE +Propriété associée 1 +Liaison des données :gstListeDonnees.sGroupe +Attribut zone répétée : +Champ associé LIB_TYPE_PARAMETRE +Propriété associée 1 +Liaison des données :gstListeDonnees.sElmt +Attribut zone répétée : +Champ associé INT_ACTIF +Propriété associée 1 +Liaison des données :gstListeDonnees.bSelect +Interrupteur : +Libellé FR: Badge +Valeur initiale 0 +Ordre navigation 1 +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 +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 Toute la hauteur de l'option +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 +06/08/2026 Isis_BO 4169 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +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. +Liaison des données :gstListeDonnees.bSelect +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Groupe +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 +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 +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 +Liaison des données :gstListeDonnees.sGroupe +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +06/08/2026 Isis_BO 4170 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Libellé +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 +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 A la fin +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 +Liaison des données :gstListeDonnees.sElmt +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 2 +06/08/2026 Isis_BO 4171 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 2 +Zone répétée : +FI_Rapport_Intervention.SC_SansNom1.ONG_DONNEES.ZR_MOT_CLE_RAPPORT +Attribut zone répétée : +Champ associé BTN_COPIE_COLLE_MOTCLES +Propriété associée 5 +Attribut zone répétée : +Champ associé LIB_GROUPE +Propriété associée 1 +Liaison des données :TermeRapport.ListeTerme.Groupe +Attribut zone répétée : +Champ associé LIB_Description +Propriété associée 1 +Liaison des données :TermeRapport.ListeTerme.Description +Attribut zone répétée : +Champ associé LIB_Mot +Propriété associée 1 +Liaison des données :TermeRapport.ListeTerme.Rubrique +06/08/2026 Isis_BO 4172 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_dupliquer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4173 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Libellé : +Libellé FR: Libellé +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 +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 +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 +Liaison des données :TermeRapport.ListeTerme.Description +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Groupe +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Isis_BO 4174 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :TermeRapport.ListeTerme.Groupe +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Libellé +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 +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 +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 +Liaison des données :TermeRapport.ListeTerme.Rubrique +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 4175 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 2 +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 2 +Zone répétée : +FI_Rapport_Intervention.SC_SansNom1.ONG_DONNEES.DISP_SELECT_DONNEES.ZR_PH +Attribut zone répétée : +Propriété associée 1 +Liaison des données :clListePhoto.m_clTabModele.m_nPKID +Attribut zone répétée : +Champ associé IMG_SansNom1 +Propriété associée 1 +Liaison des données :clListePhoto.m_clTabModele.m_sCheminFichier +Image : +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 4176 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Informations sur les champs +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. +Mire visible Oui +Zoom par double taps Oui +Liaison des données :clListePhoto.m_clTabModele.m_sCheminFichier +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_Rapport_Intervention +Code des champs +Déclarations globales de FI_Rapport_Intervention +procédure FI_Rapport_Intervention(objDoc est un PFicheIntervention dynamique,ParamSupplementaire est un +STParamFenetreAppelante=Null) +bBlocPhotoVisible est un booléen +bBlocCtSitVisible est un booléen +bBlocCtCliVisible est un booléen +bBlocRdvVisible est un booléen +bBlocCRVisible est un booléen +sCheminFichierModel est une chaîne +sCheminFichierRapport est une chaîne +maProcMAJObjetRetourFI est une procédure = MAJObjetRetourFI +//stUnParamEnreg est STListParamEnreg +//stUnParamMembre est STParamMembre +//gtabParamEnreg est un tableau de STListParamEnreg +TermeRapport est un STJSONRubriqueRapport +vRub est un Variant +DocEnCours est un Document +ExécuteTraitement(TT_RAPPORT,trtAprèsOuvertureDocument) +STDonnees est une Structure +bSelect est un booléen +sGroupe est une chaîne +//sTerme est une chaîne +sCateg est une chaîne +06/08/2026 Isis_BO 4177 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Code des champs +sRubrique est une chaîne +nIdElmt est un entier sur 8 octets +sElmt est une chaîne +fin +gstListeDonnees est un tableau de STDonnees +clListePhoto est un PTableDocument dynamique +clListePhoto = PTableDocument.gNouvellePresentation(-1) +gnIdCategPhotos est un entier sur 8 octets = gpclListeCategorieDocument.RechercheEtDonneIdDepuisValeur( +"1") +selon ParamSupplementaire.sNomIDAppelant +cas "InterventionAddRapport" : +si DocOuvre(TT_RAPPORT,objDoc:ListeRapport:m_clTabModele[objDoc:ListeRapport:p_nTotal]:m_s +CheminFichier) alors +sCheminFichierRapport = fExtraitChemin(objDoc:ListeRapport:m_clTabModele[objDoc: +ListeRapport:p_nTotal]:m_sCheminFichier,fDisque+fRépertoire) +SauveParamètre("TT_OPEN_SAVE_DEFAULT_DIR",sCheminFichierRapport) +//fSupprime(sNewFichier) +fin +// +nIndiceTab est un entier = +TableauCherche(gpclListeModelRapportInterv:m_clTabModele,tcLinéaire,"m_nPKID",ParamSupplementaire.nIdFe +netreAppelante,1) +// SI nIndiceTab ALORS +// +sCheminFichierModel = +gpclListeParamAppli:m_clTabModele["CHEMIN_REPERTOIRE_MODELE_RAPPORT"]:m_sValeur+"\"+gpclListeModelRappo +rtInterv:m_clTabModele[nIndiceTab]:m_sParametre +// +sNewFichier est une chaine = +fExtraitChemin(sCheminFichierModel,fDisque+fRépertoire+fFichier)+"_"+DateVersChaîne(DateHeureSys(),"AAA +AMMJJ HHmm")+fExtraitChemin(sCheminFichierModel,fExtension) +// +// SI DocOuvre(TT_RAPPORT,sCheminFichierModel) _et_ DocSauve(TT_RAPPORT,sNewFichier ) ALORS +// +SI AjouteFichier(sNewFichier,3,objDoc) _et_ +objDoc:ListeRapport:m_clTabModele[objDoc:ListeRapport:p_nTotal]:m_sCheminFichier<>"" ALORS +// DocFerme(TT_RAPPORT) +// +// +SI +docouvre(TT_RAPPORT,objDoc:ListeRapport:m_clTabModele[objDoc:ListeRapport:p_nTotal]:m_sCheminFichier) +ALORS +// +SauveParamètre("TT_OPEN_SAVE_DEFAULT_DIR",fExtraitChemin(objDoc:ListeRapport:m_clTabModele[objDoc:Liste +Rapport:p_nTotal]:m_sCheminFichier,fDisque+fRépertoire)) +// fSupprime(sNewFichier) +// FIN +// FIN +// FIN +// SI ErreurDétectée() ALORS +// //Erreur(ErreurInfo()) +// RETOUR +// FIN +// FIN +cas "InterventionEdtRapport" +nIndice est un entier = TableauCherche(objDoc:ListeRapport:m_clTabModele,tcLinéaire,"m_nPKID", +ParamSupplementaire.nIdFenetreAppelante,1) +si nIndice>0 alors +06/08/2026 Isis_BO 4178 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Code des champs +DocOuvre(TT_RAPPORT,objDoc:ListeRapport:m_clTabModele[nIndice]:m_sCheminFichier) +SauveParamètre("TT_OPEN_SAVE_DEFAULT_DIR",fExtraitChemin(objDoc:ListeRapport:m_clTabModele +[objDoc:ListeRapport:p_nTotal]:m_sCheminFichier,fDisque+fRépertoire)) +fin +cas "InterventionAddModeleRapport" +sCheminFichierModel = gpclListeParamAppli:m_clTabModele["CHEMIN_REPERTOIRE_MODELE_RAPPORT"]:m_s +Valeur//+"\Nouveau modèle.docx" +SauveParamètre("TT_OPEN_SAVE_DEFAULT_DIR",sCheminFichierModel)//fRep(sCheminFichierModel) +TT_RAPPORT =DocEnCours +// +// +// SI DocSauve(TT_RAPPORT,sCheminFichierModel ) ALORS +// DocOuvre(TT_RAPPORT,sCheminFichierModel) +// +// FIN +// SI ErreurDétectée() ALORS +// Erreur(ErreurInfo()) +// RETOUR +// FIN +fin +//DocEnCours = TT_RAPPORT +si HLitRecherchePremier(ParametreSysteme,PAS_Code,"RUBRIQUE_RAPPORT_INTERVENTION") alors +vRub = JSONVersVariant(ParametreSysteme.PAS_Valeur) +fin +si vRub<>Null alors +Désérialise(TermeRapport,ParametreSysteme.PAS_Valeur,psdJSON) +PrepareDonnees() +TraiteDocumentRubSimples() +//parcourVariant(vRub) +// TableAffiche(TABLE_LISTE_CHAMP,taInit) +// TableTrie(TABLE_LISTE_CHAMP,COL_GROUPE..nom) +TableauTrie(TermeRapport:ListeTerme,ttMembre,"Groupe;Description") +ZoneRépétéeAffiche(ZR_MOT_CLE_RAPPORT,taInit) +fin +si ParamSupplementaire:eTypeAppel=DansFenetre alors +BTN_AGRANDIR..Visible=Vrai +BTN_RESTAURER..Visible=Vrai +BTN_ICONISER..Visible=Vrai +sinon +BTN_AGRANDIR..Visible=Faux +BTN_RESTAURER..Visible=Faux +BTN_ICONISER..Visible=Faux +fin +SourceVersEcran("","TermeRapport") +//Info(gsSignet) +Fin d'initialisation de FI_Rapport_Intervention +//TraiteLeDocument() +ZoneRépétéeTrie("ATT_Groupe"+TAB+"ATT_Lib") +selon ParamSupplementaire.sNomIDAppelant +cas "InterventionAddRapport" : DocSauve(TT_RAPPORT,objDoc:ListeRapport:m_clTabModele[objDoc: +ListeRapport:p_nTotal]:m_sCheminFichier ) +fin +Demande de mise à jour de l'affichage de FI_Rapport_Intervention +06/08/2026 Isis_BO 4179 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Code des champs +SourceVersEcran("","gstListeDonnees") +Fermeture de FI_Rapport_Intervention +FermeRapport() +Clic sur BTN_AGRANDIR ( SC_SansNom1 ) +Maximise(MaFenêtre) +MoiMême..Visible = Faux +BTN_RESTAURER..Visible=Vrai +Clic sur BTN_Fermer_fiche_intervention ( SC_SansNom1 ) +FermeRapport() +si ParamSupplementaire:eTypeAppel=DansFenetre alors +Ferme() +sinon +//OngletFerme(OngletDuChamp(D_RAPPORT),VoletDuChamp(D_RAPPORT)) +fin +Clic sur BTN_ICONISER ( SC_SansNom1 ) +Iconise(MaFenêtre) +Clic sur BTN_RESTAURER ( SC_SansNom1 ) +Restaure(MaFenêtre) +MoiMême..Visible = Faux +BTN_AGRANDIR..Visible = Vrai +Clic sur BTN_OUVRE_GALLERIE ( SC_SansNom1 ) +Sablier() +si clListePhoto<>Null _et_ clListePhoto:p_nTotal>0 alors +nIndiceZR est un entier +pour toute ligne de ZR_PHOTO +nIndiceZR = TableauCherche(clListePhoto:m_clTabModele,tcLinéaire,"m_nPKID",ATT_IDPHOTO,1) +si nIndiceZR>0 alors +si ZR_PHOTO[ZR_PHOTO]..Sélectionnée alors +clListePhoto:m_clTabModele[nIndiceZR]:m_bSelection = Vrai +sinon +clListePhoto:m_clTabModele[nIndiceZR]:m_bSelection = Faux +fin +fin +fin +Ouvre(FEN_ChoixFenetreInterne,"FI_GalerieDocument",DonneParam(DansFenetre,"FI_Rapport_Intervention" +,MoiMême..Nom,maProcMAJObjetRetourFI,"Galerie de photos","RapportGalerie",*,clListePhoto,Vrai)) +sinon +06/08/2026 Isis_BO 4180 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Code des champs +Erreur("Aucun document n'est accessible") +fin +Sablier(Faux) +Clic sur BTN_REFRESH ( SC_SansNom1 ) +bAMAJ est un booléen +si MoiMême..CouleurFond=RougeClair alors +bAMAJ=Vrai +si ZoneRépétéeSelectOccurrence(ZR_PHOTO)=0 _ou_ ZoneRépétéeSelectOccurrence(ZR_DONNEES)=0 alors +si OuiNon(Oui,"Il existe des mots clés avec des données non sélectionnées.", +"Souhaitez-vous quand même continuer ?")=Non alors +retour +fin +fin +// SI ZR_PHOTO..Occurrence>0 ALORS +// bAMAJPhoto est un booléen +// nbSelect est un entier = ZoneRépétéeSelectOccurrence(ZR_PHOTO) +// SI nbSelect>0 ALORS bAMAJPhoto = vrai +// +// SI pAS bAMAJPhoto ALORS +// +Si Ouinon(oui,"Il existe des mots clés 'Photos' et aucune photo n'a été sélectionnée. Cela va effacer +les mots clés","Souhaitez-vous sélectionner des photos") ALORS +// RETOUR +// FIN +// FIN +// FIN +// SI ZR_DONNEES..Occurrence>0 ALORS +// bAMAJDonnees est un booléen +// nbSelect est un entier = ZoneRépétéeSelectOccurrence(ZR_PHOTO) +// SI nbSelect>0 ALORS bAMAJDonnees = Vrai +// SI PAS bAMAJDonnees ALORS +// +SI OuiNon(Oui,"Il existe des mots clés avec des données non sélectionnées. Cela va effacer les mots +clés","Souhaitez-vous sélectionner des données") ALORS +// RETOUR +// FIN +// FIN +// FIN +fin +si bAMAJ alors +TraiteLeDocument() +PrepareDonnees() +ExécuteTraitement(FI_WinDevFAA_RubanTT.BTN_WDFAA_Save,trtClic) +//TT_RAPPORT..CheminFichier=sCheminFichierRapport +// SI PAS DocSauve(DocEnCours,ChargeParamètre("TT_OPEN_SAVE_DEFAULT_DIR",sCheminFichierRapport)) ALORS +// Erreur(ErreurInfo()) +// SINON +// FIN +fin +A chaque modification de INT_ACTIF ( ZR_DONNEES ) +//ChampVersSource() +Affichage d'une ligne de ZR_MOT_CLE_RAPPORT +//unTerme est un STJSONListTerme +//unTerme=ZR_MOT_CLE_RAPPORT[ZR_MOT_CLE_RAPPORT] +//SI ChaîneCommencePar(unTerme:Rubrique,"$TAB") ALORS +06/08/2026 Isis_BO 4181 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Code des champs +// ZR_MOT_CLE_RAPPORT[ZR_MOT_CLE_RAPPORT].BTN_COPIE_COLLE_MOTCLES..Visible=faux +//FIN +Clic sur BTN_COPIE_COLLE_MOTCLES ( ZR_MOT_CLE_RAPPORT ) +//VersPressePapier(LIB_Mot) +unTerme est un STJSONListTerme= ZR_MOT_CLE_RAPPORT +si unTerme:Type="Tableau" alors +si Contient(LIB_Mot,"PHOTO") alors +InsereTableauPhotoTraitementdeTexte(unTerme:ListeMembre,TT_RAPPORT) +sinon +InsereTableauTraitementdeTexte(unTerme:ListeMembre,TT_RAPPORT) +fin +PrepareDonnees +sinon +elt est un docElément +elt..Type = typeDocElémentTexte +elt..Texte = LIB_Mot +DocInsère(TT_RAPPORT,TT_RAPPORT..Curseur,elt) +BTN_REFRESH..CouleurFond = RougeClair +fin +Après chargement d'un document dans TT_RAPPORT ( SC_SansNom1 ) +selon ParamSupplementaire.sNomIDAppelant +cas "InterventionAddModeleRapport" : +si TT_RAPPORT..CheminFichier<>"" alors +nIndiceMod est un entier = TableauCherche(gpclListeModelRapportInterv:m_clTabModele, +tcLinéaire,"m_sValeur",fExtraitChemin(TT_RAPPORT..CheminFichier,fFichier),1) +si nIndiceMod>0 alors +si gpclListeModelRapportInterv:m_clTabModele[nIndiceMod]:m_sParametre="" alors +gpclListeModelRapportInterv:m_clTabModele[nIndiceMod]:m_sParametre=fExtraitChemin( +TT_RAPPORT..CheminFichier,fFichier+fExtension) +fin +sinon +clErr est un CErreur +clFicheModele est un PFicheParametreMetier<-gpclListeModelRapportInterv.Nouveau() +clFicheModele:m_scode = gpclListeModelRapportInterv:m_clTabModele[gpcl +ListeModelRapportInterv:p_nTotal]:m_sCode +clFicheModele:m_nOrdre = gpclListeModelRapportInterv:m_clTabModele[gpcl +ListeModelRapportInterv:p_nTotal]:m_nOrdre+1 +clFicheModele:m_sValeur = Val(gpclListeModelRapportInterv:m_clTabModele[gpcl +ListeModelRapportInterv:p_nTotal]:m_sValeur)+1 +clFicheModele:m_sLibelle = fExtraitChemin(TT_RAPPORT..CheminFichier,fFichier) +clFicheModele:m_sParametre = fExtraitChemin(TT_RAPPORT..CheminFichier,fFichier+ +fExtension) +clFicheModele:m_bActif = Vrai +clFicheModele:m_bInvisible = Faux +clFicheModele:m_bSysteme = Faux +clFicheModele:bOK(clErr) +fin +fin +fin +06/08/2026 Isis_BO 4182 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Procédures +FI_Rapport_Intervention +Procédures +Procédure locale AfterSaveAs +// Résumé : +// Syntaxe : +// AfterSaveAs () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AfterSaveAs() +si TT_RAPPORT..Nom<>"" alors +fin +Procédure locale ExisteMembreRubrique +// Résumé : +// Syntaxe : +//[ = ] ExisteMembreRubrique ( est STJSONListTerme, est champ) +// +// Paramètres : +// unTerme (STJSONListTerme) : +// ChpTraitementTexte (champ) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ExisteMembreRubrique(unTerme est un STJSONListTerme,ChpTraitementTexte est un Champ) +bResultat est un booléen +pour j = 1 _à_ unTerme.ListeMembre..Occurrence +si ExisteRubrique(ChpTraitementTexte,unTerme.ListeMembre[j]:Rubrique,"$TAB") alors +bResultat = Vrai +break +fin +fin +renvoyer bResultat +Procédure locale ExisteRubrique +// Résumé : +// Syntaxe : +//[ = ] ExisteRubrique ( est champ, est chaîne, + est chaîne) +// +// Paramètres : +// ChpTraitementTexte (champ) : +// sRubrique (chaîne ANSI) : +// sRubriqueRech (chaîne ANSI) : +06/08/2026 Isis_BO 4183 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Procédures +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// bResultat : +procédure ExisteRubrique(ChpTraitementTexte est un Champ, sRubrique est une chaîne, sRubriqueRech est +une chaîne) +bResultat est un booléen +si ChaîneCommencePar(ExtraitChaîne(sRubrique,1,"."),sRubriqueRech) _et_ ExisteTerme(ChpTraitementTexte, +sRubrique) alors +bResultat=Vrai +fin +renvoyer bResultat +Procédure locale ExisteTerme +// Résumé : +// Syntaxe : +//[ = ] ExisteTerme ( est champ, est chaîne) +// +// Paramètres : +// ChpTraitementTexte (champ) : +// sTermeRecherche (chaîne ANSI) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ExisteTerme(ChpTraitementTexte est un Champ, sTermeRecherche est une chaîne) +tabFragments est tableau de docFragments +//Recherche du terme dans le document +tabFragments = DocRecherche(ChpTraitementTexte, sTermeRecherche,MotComplet+SansCasse) +//Il y a au moins un trouvé +si tabFragments..Occurrence >= 1 alors +renvoyer Vrai +sinon +renvoyer Faux +fin +Procédure locale FermeRapport +// Résumé : +// Syntaxe : +// FermeRapport () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure FermeRapport() +//D_RAPPORT..Visible=faux +//D_RAPPORT..AffichageActif=faux +RAZ(Vrai) +//D_RAPPORT..AffichageActif=vrai +//D_RAPPORT..Visible=vrai +Procédure locale FiltreDocument +06/08/2026 Isis_BO 4184 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Procédures +// Résumé : +// Syntaxe : +// FiltreDocument () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure FiltreDocument() +si objDoc:ListeDocument<>Null _et_ clListePhoto.p_nTotal=0 alors +pour j = 1 _à_ objDoc:ListeDocumentOK:p_nTotal +extensionFichier est une chaîne = Majuscule(fExtraitChemin(objDoc:ListeDocumentOK:m_clTabModele +[j]:m_sCheminFichier,fExtension)[[2 à]]) +si objDoc:ListeDocumentOK:m_clTabModele[j]:m_nIDCategorie=gnIdCategPhotos _et_ extensionFichier +dans ("BMP","JPG","JPEG","GIF", "PCD", "PCX", "PNG", "PSD", "TGA", "TIF","TIFF","EMF","WMF", +"ICO","ICW","CUR") alors +clListePhoto.Ajouter(objDoc:ListeDocumentOK:m_clTabModele[j]) +fin +fin +fin +Procédure locale FiltreDonnees +// Résumé : +// Syntaxe : +//[ = ] FiltreDonnees ( est STJSONListTerme, est objet dynamique) +// +// Paramètres : +// unTerme (STJSONListTerme) : +// pclObjDyn (objet dynamique) : +// Valeur de retour : +// Type indéterminé : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// pclObjDonnee (objet dynamique) : +procédure FiltreDonnees(unTerme est un STJSONListTerme, pclObjDyn est un objet dynamique) +pclObjSel est un objet dynamique +sCateg est une chaîne +selon unTerme:Rubrique +cas "$TABCONTACTCLIENT$" : pclObjSel = allouer MTableauDeIntervention_Personne; sCateg = unTerme: +Rubrique +cas "$TABCONTACTSITE$" : pclObjSel = allouer MTableauDeIntervention_Personne; sCateg = +unTerme:Rubrique +cas "$TABCOMPTERENDU$" : pclObjSel = allouer MTableauDeCompteRendu; sCateg = unTerme: +Rubrique +cas "$TABRENDEZVOUS$" : pclObjSel = allouer MTableauDeRDV; sCateg = unTerme:Rubrique +cas "$TABPHOTO$" : pclObjSel = allouer MTableauDeDocument; sCateg = unTerme:Rubrique +autre cas +si ChaîneCommencePar(ExtraitChaîne(unTerme:Rubrique,1,"."),"$UNCTCLI") alors pclObjSel = +allouer MTableauDeIntervention_Personne; sCateg = "$TABCONTACTCLIENT$" +si ChaîneCommencePar(ExtraitChaîne(unTerme:Rubrique,1,"."),"$UNCTSITE") alors pclObjSel = +allouer MTableauDeIntervention_Personne; sCateg = "$TABCONTACTSITE$" +si ChaîneCommencePar(ExtraitChaîne(unTerme:Rubrique,1,"."),"$UNCR") alors pclObjSel = +allouer MTableauDeCompteRendu; sCateg = "$TABCOMPTERENDU$" +si ChaîneCommencePar(ExtraitChaîne(unTerme:Rubrique,1,"."),"$UNRDV") alors pclObjSel = allouer +MTableauDeRDV; sCateg = "$TABRENDEZVOUS$" +06/08/2026 Isis_BO 4185 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Procédures +si ChaîneCommencePar(ExtraitChaîne(unTerme:Rubrique,1,"."),"$UNPHOTO") alors pclObjSel = +allouer MTableauDeDocument; sCateg = "$TABPHOTO$" +fin +si pclObjSel est MTableauDeDocument alors +nCptSel est un entier = ZoneRépétéeSelectOccurrence(ZR_PHOTO) +pour i = 1 à nCptSel +TableauAjoute(pclObjSel:m_clTabModele,pclObjDyn:m_clTabModele[ZoneRépétéeSelect(ZR_PHOTO,i)]) +fin +sinon +pour i = 1 _à_ gstListeDonnees..Occurrence +si sCateg=gstListeDonnees[i]:sCateg _et_ gstListeDonnees[i]:bSelect alors +//SI unTerme:Rubrique=gstListeDonnees[i]:srubrique _ET_ gstListeDonnees[i]:bSelect ALORS +nDonnee est un entier = TableauCherche(pclObjDyn:m_clTabModele,tcLinéaire,"m_nPKID", +gstListeDonnees[i]:nIdElmt,1) +si nDonnee>0 alors +TableauAjoute(pclObjSel:m_clTabModele,pclObjDyn:m_clTabModele[nDonnee]) +fin +fin +fin +fin +renvoyer pclObjSel:m_clTabModele +Procédure locale MAJObjetRetourFI +// Résumé : +// Syntaxe : +//[ = ] MAJObjetRetourFI ([...]) +// +// Paramètres : +// <*> : > +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure MAJObjetRetourFI(*) +bResultat est un booléen=Vrai +nMode est un entier +sNomChamp est une chaîne +pclObjet est un objet dynamique +bReorga est un booléen=Vrai +bBloc est un booléen=Faux +//clErreur est un CErreur +sValeur est une chaîne +si MesParamètres..Occurrence>0 alors +nMode = MesParamètres[1] +fin +selon nMode +cas 1 : +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 2 +bReorga = Faux +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 3 +bReorga = Faux +bBloc = Vrai +cas 4 : +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +sValeur = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon "" +06/08/2026 Isis_BO 4186 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Procédures +fin +si pclObjet<>Null alors +//*******************************MISE A JOUR DE +L'OBJET********************************************************* +selon sNomChamp +cas BTN_OUVRE_GALLERIE..Nom : +//tabIndiceSelect est un tableau d'entiers +//Boucle sur l'ensemble des photos accessible +pour i = 1 _à_ pclObjet.m_clTabModele.Occurrence() +nIndiceZR est un entier = ZoneRépétéeCherche(ATT_IDPHOTO,pclObjet.m_clTabModele[i]. +m_npkid,rechercheIdentique) +si nIndiceZR>0 alors +//Le document est séléctionné +si pclObjet.m_clTabModele[i].m_bSelection alors +//TableauAjoute(tabIndiceSelect,nIndiceZR) +ZoneRépétéeSelectPlus(ZR_PHOTO,nIndiceZR) +sinon +ZoneRépétéeSelectMoins(ZR_PHOTO,nIndiceZR) +fin +fin +fin +//ZoneRépétéeSelectPlus(ZR_PHOTO,tabIndiceSelect[1A]) +fin +fin +renvoyer bResultat +Procédure locale parcourVariant +// Résumé : +// Syntaxe : +//parcourVariant () +// +// Paramètres : +// vMembre : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure parcourVariant(vMembre) +//POUR TOUT unMembre de vMembre..Membre +// SI unMembre..Occurrence>0 ALORS +// SI unMembre..Nom="ListeMembre" ALORS +// stUnParamMembre.sNom="" +// stUnParamMembre.sObjet="" +// stUnParamMembre.eType=TAucun +// stUnParamMembre.rLargeurCol=0 +// SINON +// stUnParamEnreg.sDescription="" +// stUnParamEnreg.sRubrique="" +// stUnParamEnreg.sMapping="" +// stUnParamEnreg.eType=TAucun +// stUnParamEnreg.sSourceCombo="" +// stUnParamEnreg.sLibelleCombo="" +// FIN +// +// +// POUR TOUT unEnreg DE unMembre +// parcourVariant(unEnreg) +// FIN +06/08/2026 Isis_BO 4187 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Procédures +// +// SINON +// //Trace(unMembre..Nom+" => "+unMembre..Valeur) +// SI stUnParamEnreg.eType=TAucun _ET_ unMembre..Nom="Type" ALORS +| // SELON unMembre..Valeur | | | | | +| ------------------------- | --------------------------------------------------------- | --------------------------------- | --- | --- | +| // | CAS "ChpSimpleChaine": stUnParamEnreg.eType=TChaine | | | | +| // | CAS "ChpSimpleRTF" | : stUnParamEnreg.eType=TChaineRTF | | | +| // | CAS "ChpSimpleDate" | : stUnParamEnreg.eType=TDate | | | +| // | CAS "ChpSimpleDateHeure": stUnParamEnreg.eType=TDateheure | | | | +| // | CAS "ChpSimpleReel" | : stUnParamEnreg.eType=TReel | | | +| // | CAS "ChpSimpleBooleen" | : stUnParamEnreg.eType=TBooleen | | | +| // | CAS "ChpCombo" | : stUnParamEnreg.eType=TCombo | | | +| // | CAS "Tableau" | : stUnParamEnreg.eType=TTableau | | | +| // | CAS "ChpImage" | : stUnParamEnreg.eType=TImage | | | +| // FIN | | | | | +// SINON SI stUnParamEnreg.sDescription="" _ET_ unMembre..Nom="Description" ALORS +| // stUnParamEnreg.sDescription=unMembre..Valeur | | | | | +| ----------------------------------------------- | --- | --- | --- | --- | +// SINON SI stUnParamEnreg.sRubrique="" _ET_ unMembre..Nom="Rubrique" ALORS +| // stUnParamEnreg.sRubrique=unMembre..Valeur | | | | | +| -------------------------------------------- | --- | --- | --- | --- | +// SINON SI stUnParamEnreg.sMapping="" _ET_ unMembre..Nom="Objet" ALORS +| // stUnParamEnreg.sMapping=unMembre..Valeur | | | | | +| ------------------------------------------- | --- | --- | --- | --- | +// SINON SI stUnParamEnreg.sSourceCombo="" _ET_ unMembre..Nom="SourceCombo" ALORS +| // stUnParamEnreg.sSourceCombo=unMembre..Valeur | | | | | +| ----------------------------------------------- | --- | --- | --- | --- | +// SINON SI stUnParamEnreg.sLibelleCombo="" _ET_ unMembre..Nom="LibelleCombo" ALORS +| // stUnParamEnreg.sLibelleCombo=unMembre..Valeur | | | | | +| ------------------------------------------------ | --- | --- | --- | --- | +// SINON SI stUnParamMembre.eType=TAucun _ET_ unMembre..Nom="TypeMembre" ALORS +| // SELON unMembre..Valeur | | | | | +| ------------------------- | ---------------------------------------------------- | ---------------------------------- | --- | --- | +| // | CAS "ChpSimpleChaine": stUnParamMembre.eType=TChaine | | | | +| // | CAS "ChpSimpleRTF" | : stUnParamMembre.eType=TChaineRTF | | | +| // | CAS "ChpSimpleDate" | : stUnParamMembre.eType=TDate | | | +// CAS "ChpSimpleDateHeure": stUnParamMembre.eType=TDateHeure +| // | CAS "ChpSimpleReel" | : stUnParamMembre.eType=TReel | | | +| ------ | ---------------------- | -------------------------------- | --- | --- | +| // | CAS "ChpSimpleBooleen" | : stUnParamMembre.eType=TBooleen | | | +| // | CAS "ChpCombo" | : stUnParamMembre.eType=TCombo | | | +| // | CAS "Tableau" | : stUnParamMembre.eType=TTableau | | | +| // | CAS "ChpImage" | : stUnParamMembre.eType=TImage | | | +| // FIN | | | | | +// SINON SI stUnParamMembre.sNom="" _ET_ unMembre..Nom="Nom" ALORS +| // stUnParamMembre.sNom=unMembre..Valeur | | | | | +| ---------------------------------------- | --- | --- | --- | --- | +// SINON SI stUnParamMembre.sObjet="" _ET_ unMembre..Nom="Membre" ALORS +| // stUnParamMembre.sObjet=unMembre..Valeur | | | | | +| ------------------------------------------ | --- | --- | --- | --- | +// SINON SI stUnParamMembre.rLargeurCol=0 _ET_ unMembre..Nom="LargeurCol" ALORS +| // stUnParamMembre.rLargeurCol=unMembre..Valeur | | | | | +| ----------------------------------------------- | --- | --- | --- | --- | +// FIN +// +SI (stUnParamEnreg.sDescription<>"" _ET_ stUnParamEnreg.sRubrique<>"" _ET_ stUnParamEnreg.sMapping<>"" +_ET_ stUnParamEnreg.eType<>TAucun _ET_ PAS stUnParamEnreg.eType DANS (TAucun,TCombo)) _ou_ +// +(stUnParamEnreg.sDescription<>"" _ET_ stUnParamEnreg.sRubrique<>"" _ET_ stUnParamEnreg.sMapping<>"" +_ET_ stUnParamEnreg.eType<>TAucun _ET_ stUnParamEnreg.sSourceCombo<>"" _et_ +stUnParamEnreg.sLibelleCombo<>"" _et_ stUnParamEnreg.eType DANS (TCombo)) +ALORS +| // SI TableauAjoute(gtabParamEnreg,stUnParamEnreg) ALORS | | | | | +| -------------------------------------------------------- | --- | --- | --- | --- | +// +//SI +TableAjouteLigne(TABLE_LISTE_CHAMP,stUnParamEnreg.sDescription,stUnParamEnreg.sRubrique,stUnParamEnreg. +sMapping)>0 ALORS +| // | stUnParamEnreg.sDescription="" | | | | +| ---------- | ------------------------------- | --- | ------- | ---- | +| // | stUnParamEnreg.sRubrique="" | | | | +| // | stUnParamEnreg.sMapping="" | | | | +| // | stUnParamEnreg.eType=TAucun | | | | +| // | stUnParamEnreg.sSourceCombo="" | | | | +| // | stUnParamEnreg.sLibelleCombo="" | | | | +| // FIN | | | | | +| 06/08/2026 | | | Isis_BO | 4188 | + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Procédures +// +SINON SI stUnParamMembre.sNom<>"" _ET_ stUnParamMembre.sObjet<>"" _ET_ stUnParamMembre.rLargeurCol>0 +_et_ stUnParamMembre.eType<>TAucun ALORS +// +// nIndiceParamEnreg est un entier = TableauOccurrence(gtabParamEnreg) +// SI nIndiceParamEnreg>0 ALORS +// +SI TableauAjoute(gtabParamEnreg[nIndiceParamEnreg]:tabListeMembre,stUnParamMembre) ALORS +// stUnParamMembre.sNom="" +// stUnParamMembre.sObjet="" +// stUnParamMembre.eType=TAucun +// stUnParamMembre.rLargeurCol=0 +// FIN +// +// FIN +// FIN +// FIN +//FIN +Procédure locale PrepareDonnees +// Résumé : +// Syntaxe : +//PrepareDonnees () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure PrepareDonnees() +pour i = 1 _à_ TermeRapport.ListeTerme..Occurrence +unTerme est un STJSONListTerme = TermeRapport.ListeTerme[i] +si unTerme:Type="Tableau" alors +selon unTerme:Rubrique +cas "$TABPHOTO$" : +si ExisteMembreRubrique(unTerme,TT_RAPPORT) alors +bBlocPhotoVisible= Vrai +FiltreDocument() +fin +cas "$TABCONTACTCLIENT$": +si ExisteMembreRubrique(unTerme,TT_RAPPORT) alors +bBlocCtCliVisible = Vrai +SelectDonnee(objDoc:ListeContactClient,unTerme,unTerme:Rubrique) +fin +cas "$TABCONTACTSITE$" : +si ExisteMembreRubrique(unTerme,TT_RAPPORT) alors +bBlocCtSitVisible = Vrai +SelectDonnee(objDoc:ListeContactLieu,unTerme,unTerme:Rubrique) +fin +cas "$TABCOMPTERENDU$" : +si ExisteMembreRubrique(unTerme,TT_RAPPORT) alors +bBlocCRVisible = Vrai +SelectDonnee(objDoc:ListeCompteRendu,unTerme,unTerme:Rubrique) +fin +cas "$TABRENDEZVOUS$": +si ExisteMembreRubrique(unTerme,TT_RAPPORT) alors +bBlocRdvVisible = Vrai +06/08/2026 Isis_BO 4189 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Procédures +SelectDonnee(objDoc:ListeRendezVous,unTerme,unTerme:Rubrique) +fin +fin +sinon +si ExisteRubrique(TT_RAPPORT,unTerme:Rubrique,"$UN") alors +selon ExtraitChaîne(unTerme:Rubrique,1,".") +cas "$UNPHOTO" : +si ExisteRubrique(TT_RAPPORT,unTerme:Rubrique,"$UNPHOTO") alors +bBlocPhotoVisible = Vrai +FiltreDocument() +fin +cas "$UNCTCLI" : +si ExisteRubrique(TT_RAPPORT,unTerme:Rubrique,"$UNCTCLI") alors +bBlocCtCliVisible = Vrai +SelectDonnee(objDoc:ListeContactClient,unTerme,"$TABCONTACTCLIENT$") +fin +cas "$UNCTSITE" : +si ExisteRubrique(TT_RAPPORT,unTerme:Rubrique,"$UNCTSITE") alors +bBlocCtSitVisible = Vrai +SelectDonnee(objDoc:ListeContactLieu,unTerme,"$TABCONTACTSITE$") +fin +cas "$UNCR" : +si ExisteRubrique(TT_RAPPORT,unTerme:Rubrique,"$UNCR") alors +bBlocCRVisible = Vrai +SelectDonnee(objDoc:ListeCompteRendu,unTerme,"$TABCOMPTERENDU$") +fin +cas "$UNRDV" : +si ExisteRubrique(TT_RAPPORT,unTerme:Rubrique,"$UNRDV") alors +bBlocRdvVisible = Vrai +SelectDonnee(objDoc:ListeRendezVous,unTerme,"$TABRENDEZVOUS$") +fin +fin +fin +fin +fin +DISP_SELECT_DONNEES[2]..Visible = bBlocPhotoVisible +DISP_SELECT_DONNEES[3]..Visible = bBlocCtCliVisible _ou_ bBlocCtSitVisible _ou_ bBlocCRVisible _ou_ +bBlocRdvVisible +BTN_REFRESH..CouleurFond = bBlocPhotoVisible _ou_ bBlocCtCliVisible _ou_ bBlocCtSitVisible _ou_ +bBlocCRVisible _ou_ bBlocRdvVisible ? RougeClair sinon Blanc +Procédure locale SelectDonnee +// Résumé : +// Syntaxe : +//SelectDonnee ( est objet dynamique, est STJSONListTerme, est chaîne) +// +// Paramètres : +// tabDyn (objet dynamique) : +// stUnTerme (STJSONListTerme) : +// sCateg (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SelectDonnee(tabDyn est un objet dynamique, stUnTerme est un STJSONListTerme,sCateg +est une chaîne) +nIndiceDonnee est un entier = TableauCherche(gstListeDonnees,tcLinéaire,"sCateg",sCateg,1) +si nIndiceDonnee=-1 alors +06/08/2026 Isis_BO 4190 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Procédures +pour i = 1 _à_ {tabDyn,":m_clTabModele"}..Occurrence +stUneDonnee est un STDonnees +stUneDonnee.bSelect = Faux +stUneDonnee.nIdElmt = {{tabDyn,":m_clTabModele"}[i],"m_nPKID"} +stUneDonnee.sCateg = sCateg//stUnTerme.Rubrique +stUneDonnee.sGroupe = stUnTerme.Groupe +stUneDonnee.sRubrique= stUnTerme.Rubrique +si tabDyn est PTableRDV alors +stUneDonnee.sElmt=DateVersChaîne({{tabDyn,":m_clTabModele"}[i],"m_dhDateDebut"}, +"JJ/MM/AAAA")+" - "+{{tabDyn,":m_clTabModele"}[i],"m_sDescription"} +sinon si tabDyn est PTableCompteRendu +stUneDonnee.sElmt=DateVersChaîne({{tabDyn,":m_clTabModele"}[i],"m_dhDateHeureDebut"}, +"JJ/MM/AAAA")+" - "+{{tabDyn,":m_clTabModele"}[i],"m_sNomSignataire"} +sinon si tabDyn est PTableIntervention_Personne +stUneDonnee.sElmt={{tabDyn,":m_clTabModele"}[i],":m_clContact:CiviliteNomPrenom"} +fin +TableauAjoute(gstListeDonnees,stUneDonnee) +fin +fin +Procédure locale TraiteDocumentRubSimples +procédure TraiteDocumentRubSimples() +pour i = 1 _à_ TermeRapport.ListeTerme..Occurrence +unTerme est un STJSONListTerme = TermeRapport.ListeTerme[i] +si pas ChaîneCommencePar(unTerme:Rubrique,"$UN") _et_ unTerme:Type <> "Tableau" alors +MotClesTraitementdeTexteRemplace(TT_RAPPORT,unTerme,objDoc,Null) +fin +fin +Procédure locale TraiteLeDocument +// Résumé : +// Syntaxe : +// TraiteLeDocument () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure TraiteLeDocument() +pour i = 1 _à_ TermeRapport.ListeTerme..Occurrence +unTerme est un STJSONListTerme = TermeRapport.ListeTerme[i] +si ExisteRubrique(TT_RAPPORT,unTerme:Rubrique,"$UN") alors +TraiteUnEnregistrementListe(TT_RAPPORT, unTerme) +sinon si pas ChaîneCommencePar(unTerme:Rubrique,"$UN") alors +selon unTerme:Type +cas "Tableau" : TraiteTableau(TT_RAPPORT,unTerme) +autre cas : MotClesTraitementdeTexteRemplace(TT_RAPPORT,unTerme,objDoc, +Null) +fin +fin +fin +Procédure locale TraiteLigneTableau +06/08/2026 Isis_BO 4191 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Procédures +// Résumé : +// Syntaxe : +//TraiteLigneTableau ( est champ, est STJSONListTerme, est +tableau) +// +// Paramètres : +// ChpTraitementTexte (champ) : +// unTerme (STJSONListTerme) : +// tabDyn (tableau) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure TraiteLigneTableau(ChpTraitementTexte est un Champ,unTerme est un STJSONListTerme, ptabDyn +est un tableau dynamique) +pour j = 1 _à_ unTerme.ListeMembre..Occurrence +si ChaîneCommencePar(ExtraitChaîne(unTerme.ListeMembre[j]:Rubrique,1,"."),"$TAB") alors +tableauVersTraitementdeTexte_v2(ptabDyn,unTerme:ListeMembre[j],ChpTraitementTexte,unTerme. +ListeMembre[j]:Rubrique) +fin +Procédure locale TraitePhoto +// Résumé : +// Syntaxe : +//TraitePhoto ( est champ, est STJSONListTerme, est tableau) +// +// Paramètres : +// ChpTraitementTexte (champ) : +// unTerme (STJSONListTerme) : +// ptabDyn (tableau) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure TraitePhoto(ChpTraitementTexte est un Champ,unTerme est un STJSONListTerme, ptabDyn est un +tableau dynamique) +pour j = 1 _à_ unTerme.ListeMembre..Occurrence +si ChaîneCommencePar(ExtraitChaîne(unTerme.ListeMembre[j]:Rubrique,1,"."),"$TAB") alors +tabPhotoVersTraitementdeTexte_v2(ptabDyn,unTerme:ListeMembre[j],ChpTraitementTexte,unTerme. +ListeMembre[j]:Rubrique,j) +fin +Procédure locale TraiteTableau +// Résumé : +// Syntaxe : +//TraiteTableau ( est champ, est STJSONListTerme) +// +// Paramètres : +// ChpTraitementTexte (champ) : +// unTerme (STJSONListTerme) : +// Valeur de retour : +// Aucune +// +06/08/2026 Isis_BO 4192 + +Partie 3 › Fenêtre WINDEV › FI_Rapport_Intervention › Procédures +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure TraiteTableau(ChpTraitementTexte est un Champ,unTerme est un STJSONListTerme) +bExisteRubTab est un booléen = ExisteMembreRubrique(unTerme,ChpTraitementTexte) +selon unTerme:Rubrique +cas "$TABCONTACTCLIENT$" : si objDoc:ListeContactClient<>Null _et_ bExisteRubTab alors +TraiteLigneTableau(ChpTraitementTexte,unTerme,FiltreDonnees(unTerme,objDoc:ListeContactClient)) +si objDoc:ListeContactClient<>Null alors tableauVersTraitementdeTexte(FiltreDonnees(unTerme, +objDoc:ListeContactClient),unTerme:ListeMembre,TT_RAPPORT,unTerme:Rubrique) +cas "$TABCONTACTSITE$" : si objDoc:ListeContactLieu<>Null _et_ bExisteRubTab alors +TraiteLigneTableau(ChpTraitementTexte,unTerme,FiltreDonnees(unTerme,objDoc:ListeContactLieu)) +si objDoc:ListeContactLieu<>Null alors tableauVersTraitementdeTexte(FiltreDonnees(unTerme, +objDoc:ListeContactLieu),unTerme:ListeMembre,TT_RAPPORT,unTerme:Rubrique) +cas "$TABCOMPTERENDU$" : si objDoc:ListeCompteRendu<>Null _et_ bExisteRubTab alors +TraiteLigneTableau(ChpTraitementTexte,unTerme,FiltreDonnees(unTerme,objDoc:ListeCompteRendu)) +si objDoc:ListeCompteRendu<>Null alors tableauVersTraitementdeTexte(FiltreDonnees(unTerme, +objDoc:ListeCompteRendu),unTerme:ListeMembre,TT_RAPPORT,unTerme:Rubrique) +cas "$TABRENDEZVOUS$" : +si objDoc:ListeRendezVous<>Null alors +si bExisteRubTab alors TraiteLigneTableau(ChpTraitementTexte,unTerme,FiltreDonnees(unTerme +,objDoc:ListeRendezVous)) +tableauVersTraitementdeTexte(FiltreDonnees(unTerme,objDoc:ListeRendezVous),unTerme: +ListeMembre,TT_RAPPORT,unTerme:Rubrique) +fin +cas "$TABPHOTO$" : si clListePhoto<>Null _et_ ExisteMembreRubrique(unTerme, +ChpTraitementTexte) _et_ ZoneRépétéeSelectOccurrence(ZR_PHOTO)>0 alors TraitePhoto( +ChpTraitementTexte,unTerme,FiltreDonnees(unTerme,clListePhoto)) +si clListePhoto<>Null alors tabPhotoVersTraitementdeTexte(FiltreDonnees(unTerme,clListePhoto), +unTerme:ListeMembre,TT_RAPPORT,unTerme:Rubrique) +fin +Procédure locale TraiteUnEnregistrementListe +// Résumé : +// Syntaxe : +//TraiteUnEnregistrementListe ( est champ, est STJSONListTerme) +// +// Paramètres : +// ChpTraitementTexte (champ) : +// unTerme (STJSONListTerme) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure TraiteUnEnregistrementListe(ChpTraitementTexte est un Champ,unTerme est un STJSONListTerme) +si ChaîneCommencePar(ExtraitChaîne(unTerme:Rubrique,1,"."),"$UNCTCLI") _et_ objDoc:ListeContactClient +<>Null alors MotClesTraitementdeTexteRemplace(ChpTraitementTexte,unTerme,Null,FiltreDonnees(unTerme, +objDoc:ListeContactClient)) +si ChaîneCommencePar(ExtraitChaîne(unTerme:Rubrique,1,"."),"$UNCTSITE") _et_ objDoc:ListeContactLieu<> +Null alors MotClesTraitementdeTexteRemplace(ChpTraitementTexte,unTerme,Null,FiltreDonnees(unTerme, +objDoc:ListeContactLieu)) +si ChaîneCommencePar(ExtraitChaîne(unTerme:Rubrique,1,"."),"$UNCR") _et_ objDoc:ListeCompteRendu<> +Null alors MotClesTraitementdeTexteRemplace(ChpTraitementTexte,unTerme,Null,FiltreDonnees(unTerme, +objDoc:ListeCompteRendu)) +si ChaîneCommencePar(ExtraitChaîne(unTerme:Rubrique,1,"."),"$UNRDV") _et_ objDoc:ListeRendezVous<>Null +alors MotClesTraitementdeTexteRemplace(ChpTraitementTexte,unTerme,Null,FiltreDonnees(unTerme,objDoc: +ListeRendezVous)) +si ChaîneCommencePar(ExtraitChaîne(unTerme:Rubrique,1,"."),"$UNPHOTO") _et_ clListePhoto<>Null +alors MotClesTraitementdeTexteRemplace(ChpTraitementTexte,unTerme,Null,FiltreDonnees(unTerme, +clListePhoto)) +06/08/2026 Isis_BO 4193 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Image +FI_Parametrage_Email +Image +FI_Parametrage_Email +Informations générales +06/08/2026 Isis_BO 4194 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations générales +FI_Parametrage_Email +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Parametrage_Email.wdw +| Créé par | | FBO | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | --- | +| Date de création | | 23/12/2019 17:54:36 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:30 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 593 | 800 | +| Position X | Position Y | | Largeur | Hauteur | | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| 06/08/2026 | | | Isis_BO | | 4195 | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations générales +| 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 | | | | | | +Statistiques de la fenêtre +| | Champ de saisie | | 11 | Libellé | | 18 | +| --- | --------------- | --- | --- | ---------------------- | --- | --- | +| | Bouton | | 2 | Interrupteur | | 1 | +| | Image | | 4 | Combo | | 3 | +| | Fenêtre interne | | 1 | Option d'interrupteur | | 1 | +| | Disposition | | 3 | Cellule de disposition | | 6 | +Nombre d'éléments dans la fenêtre : 50 +FI_Parametrage_Email +Informations sur les champs +Fenêtre : FI_Parametrage_Email +Fenêtre interne +laitini tatE BAT ehcuoT +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | +| --- | --- | --- | ------- | ------- | --- | --- | +elbisiV +nalP +| FI_Parametrage_Email | | 0 | 0 593 | 800 | 0 | | +| -------------------- | --- | --- | ------- | --- | --- | ---- | +| 06/08/2026 | | | Isis_BO | | | 4196 | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Fenêtre interne : FI_Parametrage_Email +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_AdresseMailCom | 311 | 50 261 | 22 | 0 | Actif | Texte | | Non | | | | +| ------------------- | ------- | ------ | --- | --- | ----- | ----- | --- | --- | --- | --- | --- | +| SAI_AdresseServeurI | 18 717 | 261 | 22 | 0 | Actif | Texte | | Non | | | | +| SAI_AdresseServeurS | 18 195 | 261 | 22 | 0 | Actif | Texte | | Non | | | | +| SAI_MotdePasseIMAP | 312 666 | 261 | 22 | 0 | Actif | Texte | | Non | | | | +| SAI_MotdePasseSMTP | 311 145 | 261 | 22 | 0 | Actif | Texte | | Non | | | | +| SAI_NomCompte | 18 | 50 261 | 22 | 0 | Actif | Texte | | Non | | | | +SAI_NomUtilisateurIM +| | 18 666 | 261 | 22 | 0 | Actif | Texte | | Non | | | | +| ------------------- | ------- | --- | --- | --- | ----- | ----- | --- | --- | --- | --- | --- | +| SAI_NomUtilisateurS | 18 145 | 261 | 22 | 0 | Actif | Texte | | Non | | | | +| SAI_PortIMAPOP | 311 717 | 68 | 22 | 0 | Actif | Texte | | Non | | | | +| SAI_PortSMTP | 311 195 | 68 | 22 | 0 | Actif | Texte | | Non | | | | +| SAI_Texte_HTML | 18 275 | 554 | 207 | 0 | Actif | Texte | | Non | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_ADRESSE_EMAIL | | 311 | 36 | 261 | 14 | | 0 | Actif | Gauche | Haut | | +| -------------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | +| LIB_ADRESSE_RECEP | | 18 | 703 | 261 | 14 | | 0 | Actif | Gauche | Haut | | +| LIB_ADRESSE_SMTP | | 18 | 181 | 261 | 14 | | 0 | Actif | Gauche | Haut | | +| LIB_CRYPTAGE_RECEP | | 385 | 703 | 188 | 14 | | 0 | Actif | Gauche | Haut | | +| LIB_CRYPTAGE_SMTP | | 385 | 181 | 188 | 14 | | 0 | Actif | Gauche | Haut | | +| LIB_INFORMATIONS_GENERALES | | 6 | 0 | 578 | 82 | | 0 | Actif | Gauche | Haut | | +| LIB_INFORMATIONS_SERVEUR_R | | 6 | 569 | 578 | 190 | | 0 | Actif | Gauche | Haut | | +| LIB_INFORMATIONS_SERVEUR_S | | 6 | 96 | 578 | 453 | | 0 | Actif | Gauche | Haut | | +| LIB_MDP_RECEP | | 312 | 652 | 261 | 14 | | 0 | Actif | Gauche | Haut | | +| LIB_MDP_SMTP | | 311 | 131 | 261 | 14 | | 0 | Actif | Gauche | Haut | | +| LIB_NOMCOMPTE | | 18 | 36 | 261 | 14 | | 0 | Actif | Gauche | Haut | | +| LIB_PORT_RECEP | | 311 | 703 | 68 | 14 | | 0 | Actif | Gauche | Haut | | +| LIB_PORT_SMTP | | 311 | 181 | 68 | 14 | | 0 | Actif | Gauche | Haut | | +| LIB_SIGNATURE | | 18 | 253 | 261 | 14 | | 0 | Actif | Gauche | Haut | | +| LIB_TYPE_RECEP | | 18 | 601 | 131 | 14 | | 0 | Actif | Gauche | Haut | | +LIB_Titre_de_fenêtre_fiche_Para 13 6 39 21 0 Actif Gauche Centre +| LIB_USER_RECEP | | 18 | 652 | 261 | 14 | | 0 | Actif | Gauche | Haut | | +| -------------- | --- | --- | --- | --- | ------- | --- | --- | ----- | ------ | ---- | ---- | +| LIB_USER_SMTP | | 18 | 131 | 261 | 14 | | 0 | Actif | Gauche | Haut | | +| 06/08/2026 | | | | | Isis_BO | | | | | | 4197 | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Bouton +notuob epyT +| | | | | | laitini tatE BAT ehcuoT | | | +| --- | --- | --------------------- | --------------- | --- | ----------------------- | --- | --- | +| | | X noitisoP Y noitisoP | | | | | | +| | | | ruegraL ruetuaH | | | | | +elbisiV +nalP +| BTN_Fermer_compact | | 558 | 4 24 | 24 0 | Actif | Abandon | | +| ------------------ | --- | --- | ---- | ---- | ----- | ------- | --- | +| BTN_Test | | 514 | 4 24 | 24 0 | Actif | Normal | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | laitini tatE BAT ehcuoT | | staté siorT | +| --- | --- | --------------------- | --- | --- | ----------------------- | --- | ----------- | +| | | X noitisoP Y noitisoP | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| INT_CCi | | 18 223 | 361 25 | 0 Actif | | 1 | | +| ------- | --- | ------ | ------ | ------- | --- | --- | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --- | --------------------- | --------------- | --- | ------------ | --- | ---------- | +| | | | ruegraL ruetuaH | | cilc cevA | | | +elbisiV +nalP +| IMG_POPIMAPKO | | 0 | 0 30 30 | 0 | Actif | | | +| ------------- | --- | --- | ------- | --- | ----- | --- | --- | +| IMG_POPIMAPOK | | 0 | 0 30 30 | 0 | Actif | | | +| IMG_SMTPKO | | 0 | 0 30 30 | 0 | Actif | | | +| IMG_SMTPOK | | 0 | 0 30 30 | 0 | Actif | | | +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 +| COMBO_PopImap | 18 | 615 131 22 | 0 Actif | Mémoire | Non | | | +| -------------------- | --- | ---------- | ------- | ------- | --- | --- | ---- | +| COMBO_SecuriteIMAPOP | 385 | 717 188 22 | 0 Actif | Mémoire | Non | | | +| COMBO_SecuriteSMTP | 385 | 195 188 22 | 0 Actif | Mémoire | Non | | | +| 06/08/2026 | | | Isis_BO | | | | 4198 | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Disposition +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| DISP_PARAM_EMAIL | 0 | 0 593 | 800 | 0 | Actif | | +| ---------------- | --- | ------ | --- | --- | ----- | --- | +| DISP_POPIMAP | 344 | 564 66 | 30 | 0 | Actif | | +| DISP_SMTP | 279 | 91 66 | 30 | 0 | Actif | | +Fenêtre : FI_Parametrage_Email +Fenêtre interne : FI_Parametrage_Email +| UI par l'utilisateur Selon fenêtre | | | | | | | +| ---------------------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles Compatible desktop ET mobile | | | | | | | +| Taux Paral. hauteur 0 | | | | | | | +| Taux Paral. Y 0 | | | | | | | +| Épinglé Non | | | | | | | +| Masquer lors du scrolling Non | | | | | | | +| Ancrage au contenu | | | | | | | +| Numéro aide 0 | | | | | | | +| Thème destination Oui | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement 0 | | | | | | | +| ---------------------------- | --- | --- | --- | --- | --- | --- | +| Facteur d'agrandissement 0 | | | | | | | +| Ctx. HFSQL indép. Non | | | | | | | +| Ancrage | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Parametrage_Email +Bouton : FI_Parametrage_Email.DISP_PARAM_EMAIL.BTN_Fermer_compact +| 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 | | | | | | | +| 06/08/2026 | | Isis_BO | | | | 4199 | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : FI_Parametrage_Email.DISP_PARAM_EMAIL.BTN_Test +Ordre navigation 1 +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 +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 +06/08/2026 Isis_BO 4200 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Parametrage_Email.DISP_PARAM_EMAIL.COMBO_PopImap +Contenu initial FR: IMAP +POP +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 131 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 18 +Largeur interne 131 +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 +06/08/2026 Isis_BO 4201 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › 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. +Avec recherche Non +Liaison des données :gstParamRecepEmail.nTypeRecep +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Parametrage_Email.DISP_PARAM_EMAIL.COMBO_SecuriteIMAPOP +Libellé FR: Méthode de chiffrement +Contenu initial FR: Aucun +TLS +SSL +Ordre navigation 17 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Isis_BO 4202 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 188 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 385 +Largeur interne 188 +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 +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. +Avec recherche Non +Liaison des données :gstParamRecepEmail.stParamCommun.nCryptage +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4203 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Combo : FI_Parametrage_Email.DISP_PARAM_EMAIL.COMBO_SecuriteSMTP +Libellé FR: Connexion +Contenu initial FR: Aucun +TLS +SSL +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 188 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 385 +Largeur interne 188 +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 +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 +06/08/2026 Isis_BO 4204 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Liaison des données :gstParamEnvoiEmail.nCryptage +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Parametrage_Email.DISP_PARAM_EMAIL +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4205 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Disposition : FI_Parametrage_Email.DISP_PARAM_EMAIL.DISP_POPIMAP +Libellé FR: Disposition +Ordre navigation 11 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 6 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Parametrage_Email.DISP_PARAM_EMAIL.DISP_SMTP +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 6 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage +06/08/2026 Isis_BO 4206 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Parametrage_Email.DISP_PARAM_EMAIL.DISP_POPIMAP.IMG_POPIMAPKO +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\sortir.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +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 +Image : FI_Parametrage_Email.DISP_PARAM_EMAIL.DISP_POPIMAP.IMG_POPIMAPOK +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\valider.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +06/08/2026 Isis_BO 4207 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +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 +Image : FI_Parametrage_Email.DISP_PARAM_EMAIL.DISP_SMTP.IMG_SMTPKO +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\sortir.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +06/08/2026 Isis_BO 4208 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +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 +Image : FI_Parametrage_Email.DISP_PARAM_EMAIL.DISP_SMTP.IMG_SMTPOK +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\valider.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +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 +06/08/2026 Isis_BO 4209 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Interrupteur : FI_Parametrage_Email.DISP_PARAM_EMAIL.INT_CCi +Valeur initiale 0 +Groupe GR_CADENAS_COLLAB +Ordre navigation 9 +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 +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 Toute la hauteur de l'option +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. +Liaison des données :gstParamEnvoiEmail.bEnCopieCachee +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4210 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Libellé : FI_Parametrage_Email.DISP_PARAM_EMAIL.LIB_ADRESSE_EMAIL +Libellé FR: Adresse mail +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage_Email.DISP_PARAM_EMAIL.LIB_ADRESSE_RECEP +Libellé FR: Adresse du serveur SMTP +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 +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 +06/08/2026 Isis_BO 4211 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage_Email.DISP_PARAM_EMAIL.LIB_ADRESSE_SMTP +Libellé FR: Adresse du serveur SMTP +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4212 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Libellé : FI_Parametrage_Email.DISP_PARAM_EMAIL.LIB_CRYPTAGE_RECEP +Libellé FR: Cryptage +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage_Email.DISP_PARAM_EMAIL.LIB_CRYPTAGE_SMTP +Libellé FR: Cryptage +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 +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 +06/08/2026 Isis_BO 4213 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage_Email.DISP_PARAM_EMAIL.LIB_INFORMATIONS_GENERALES +Libellé FR: Informations générales +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 +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 +Unicode Non +Transforme le & Oui +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4214 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Libellé : +Libellé FR: Informations serveur réception (IMAP ou POP) +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 +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 +Unicode Non +Transforme le & Oui +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Informations serveur d'envoi (SMTP) +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 +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 +06/08/2026 Isis_BO 4215 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +Unicode Non +Transforme le & Oui +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage_Email.DISP_PARAM_EMAIL.LIB_MDP_RECEP +Libellé FR: Mot de passe +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4216 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Libellé : FI_Parametrage_Email.DISP_PARAM_EMAIL.LIB_MDP_SMTP +Libellé FR: Mot de passe +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage_Email.DISP_PARAM_EMAIL.LIB_NOMCOMPTE +Libellé FR: Nom du compte +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 +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 +06/08/2026 Isis_BO 4217 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage_Email.DISP_PARAM_EMAIL.LIB_PORT_RECEP +Libellé FR: Port +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4218 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Libellé : FI_Parametrage_Email.DISP_PARAM_EMAIL.LIB_PORT_SMTP +Libellé FR: Port +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage_Email.DISP_PARAM_EMAIL.LIB_SIGNATURE +Libellé FR: Signature +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 +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 +06/08/2026 Isis_BO 4219 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage_Email.DISP_PARAM_EMAIL.LIB_TYPE_RECEP +Libellé FR: Type de réception +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4220 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Libellé : +Libellé FR: Titre +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage_Email.DISP_PARAM_EMAIL.LIB_USER_RECEP +Libellé FR: Nom d'utilisateur/Login +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 +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 +06/08/2026 Isis_BO 4221 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage_Email.DISP_PARAM_EMAIL.LIB_USER_SMTP +Libellé FR: Nom d'utilisateur/Login +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4222 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Champ de saisie : FI_Parametrage_Email.DISP_PARAM_EMAIL.SAI_AdresseMailCompte +Libellé FR: Adresse Mail +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 311 +Largeur interne 261 +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 +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 +06/08/2026 Isis_BO 4223 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › 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. +Liaison des données :gstParamEmail.sEmail +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Adresse du serveur IMAP/POP +Ordre navigation 15 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 18 +Largeur interne 261 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 4224 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › 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 +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. +Liaison des données :gstParamRecepEmail.stParamCommun.sAdresseServeur +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4225 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Champ de saisie : FI_Parametrage_Email.DISP_PARAM_EMAIL.SAI_AdresseServeurSMTP +Libellé FR: Adresse du serveur SMTP +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 18 +Largeur interne 261 +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 +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 +06/08/2026 Isis_BO 4226 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › 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. +Liaison des données :gstParamEnvoiEmail.sAdresseServeur +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Parametrage_Email.DISP_PARAM_EMAIL.SAI_MotdePasseIMAPOP +Libellé FR: Mot de passe +Ordre navigation 14 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 312 +Largeur interne 261 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 4227 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › 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 +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. +Liaison des données :gstParamRecepEmail.stParamCommun.sMdp +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4228 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Champ de saisie : FI_Parametrage_Email.DISP_PARAM_EMAIL.SAI_MotdePasseSMTP +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 +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 311 +Largeur interne 261 +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 +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 +06/08/2026 Isis_BO 4229 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › 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. +Liaison des données :gstParamEnvoiEmail.sMdp +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Parametrage_Email.DISP_PARAM_EMAIL.SAI_NomCompte +Libellé FR: Nom du compte +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 18 +Largeur interne 261 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 4230 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › 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 +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. +Liaison des données :gstParamEmail.sCompte +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4231 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Champ de saisie : +Libellé FR: Nom d'utilisateur/Login +Ordre navigation 13 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 18 +Largeur interne 261 +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 +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 +06/08/2026 Isis_BO 4232 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › 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. +Liaison des données :gstParamRecepEmail.stParamCommun.sLogin +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Parametrage_Email.DISP_PARAM_EMAIL.SAI_NomUtilisateurSMTP +Libellé FR: Nom d'utilisateur/Login +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 18 +Largeur interne 261 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 4233 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › 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 +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. +Liaison des données :gstParamEnvoiEmail.sLogin +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4234 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Champ de saisie : FI_Parametrage_Email.DISP_PARAM_EMAIL.SAI_PortIMAPOP +Libellé FR: Numéro du port IMAP/POP +Valeur initiale FR: 143 +Ordre navigation 16 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 311 +Largeur interne 68 +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 +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 +06/08/2026 Isis_BO 4235 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › 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. +Liaison des données :gstParamRecepEmail.stParamCommun.sPortServeur +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Parametrage_Email.DISP_PARAM_EMAIL.SAI_PortSMTP +Libellé FR: Numéro du port SMTP +Valeur initiale FR: 25 +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 311 +Largeur interne 68 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 4236 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +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 +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. +Liaison des données :gstParamEnvoiEmail.sPortServeur +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 +06/08/2026 Isis_BO 4237 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Parametrage_Email.DISP_PARAM_EMAIL.SAI_Texte_HTML +Libellé FR: Texte HTML +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 19 +Largeur interne 553 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 1 +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 +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 Automatique +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 +06/08/2026 Isis_BO 4238 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Informations sur les champs +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. +Liaison des données :gstParamEnvoiEmail.bufSignature +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_Parametrage_Email +Code des champs +Déclarations globales de FI_Parametrage_Email +procédure FI_Parametrage_Email(gclFicheUtilisateur est un PFicheUtilisateur dynamique= +Null, paramSupplementaire est un STParamFenetreAppelante=Null) +gpclFicheParam est un PFicheParametreUtilisateur dynamique +gpclFicheParamEnvoiEmail est un PFicheParametreUtilisateur dynamique +gpclFicheParamRecepEmail est un PFicheParametreUtilisateur dynamique +gstParamEmail est un STParamEmail +gstParamEnvoiEmail est un STParamEnvoiEmail +gstParamRecepEmail est un STParamRecepEmail +gnDelai est un entier +//Evénement(SurActivite, "*.*", WM_LBUTTONDOWN) +//Evénement(SurActivite, "*.*", WM_RBUTTONDOWN) +//Evénement(SurActivite, "*.*", WM_MBUTTONDOWN) +//Evénement(SurActivite, "*.*", WM_MOUSEMOVE) +06/08/2026 Isis_BO 4239 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Code des champs +//Evénement(SurActivite, "*.*", WM_KEYDOWN) +//Titre de la fenêtre +LIB_Titre_de_fenêtre_fiche_ParamEmail = paramSupplementaire.eTypeAppel=Libre _et_ gclFicheUtilisateur: +m_nPKID = 0 ? "Paramétrage email" sinon paramSupplementaire.sTitreFenetre<>"" ? paramSupplementaire.s +TitreFenetre sinon "Paramétrage email" +local +si gclFicheUtilisateur<>Null _et_ gclFicheUtilisateur:ListeParametreUtilisateur<>Null alors +gpclFicheParam <- gclFicheUtilisateur:p_ParamEmail +gpclFicheParamEnvoiEmail <- gclFicheUtilisateur:p_ParamEnvoiMail +gpclFicheParamRecepEmail <- gclFicheUtilisateur:p_ParamReceptionMail +si gpclFicheParam<> Null alors +Désérialise(gstParamEmail,gpclFicheParam:m_sValeur,psdJSON) +fin +bufCle est un Buffer = HashChaîne(HA_MD5_128,gsCleMdp) +si gpclFicheParamEnvoiEmail<>Null alors +bufCrypte est un Buffer = gpclFicheParamEnvoiEmail:m_sValeur +Désérialise(gstParamEnvoiEmail,DécrypteStandard(bufCrypte, bufCle, crypteAES128),psdJSON) +fin +si gpclFicheParamRecepEmail<>Null alors +bufCrypte est un Buffer = gpclFicheParamRecepEmail:m_sValeur +Désérialise(gstParamRecepEmail,DécrypteStandard(bufCrypte, bufCle, crypteAES128),psdJSON) +fin +//bufCrypte est un Buffer = CrypteStandard(sParamRecep, bufCle, crypteAES128) +fin +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +//SI gclPresentationFicheParamEmail=Null ALORS +// gclPresentationFicheParamEmail=PFicheParametreUtilisateur.gNouvellePresentation() +//FIN +gnDelai = DonneValeurTimeOutObjet(gclFicheUtilisateur) +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire:pclObjetAppelant<>Null alors +sinon +fin +//BlocEnregistrement(gclPresentationFicheCollab,ActiveTimer,BTN_CADENAS_FERME_COLLAB,BTN_CADENAS_OUVERT +_COLLAB,GR_CADENAS_COLLAB,DISP_FICHE_COLLABORATEUR) +Fin d'initialisation de FI_Parametrage_Email +bSMTPCnxOk est un booléen +bPOPIMAPCnxOk est un booléen +//Vérification SMTP +avec gstParamEnvoiEmail +bSMTPCnxOk=VerifieEmailOuvreSession(3,.sLogin, .sMdp, .sAdresseServeur, Val(.sPortServeur),. +nCryptage) +fin +DISP_SMTP[1]..Visible=bSMTPCnxOk +DISP_SMTP[2]..Visible=pas bSMTPCnxOk +//Vérification POP3 ou IMAP +avec gstParamRecepEmail +avec .stParamCommun +bPOPIMAPCnxOk= VerifieEmailOuvreSession(gstParamRecepEmail.nTypeRecep,.sLogin, .sMdp, . +sAdresseServeur, Val(.sPortServeur),.nCryptage) +06/08/2026 Isis_BO 4240 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Email › Code des champs +fin +fin +DISP_POPIMAP[1]..Visible=bPOPIMAPCnxOk +DISP_POPIMAP[2]..Visible=pas bPOPIMAPCnxOk +Demande de mise à jour de l'affichage de FI_Parametrage_Email +SourceVersEcran("","gstParamEmail") +SourceVersEcran("","gstParamEnvoiEmail") +SourceVersEcran("","gstParamRecepEmail") +Clic sur BTN_Fermer_compact +si paramSupplementaire.eTypeAppel=DansFenetre +Ferme(FEN_ChoixFenetreInterne,0) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +fin +Clic sur BTN_Test +bSMTPCnxOk est un booléen +bPOPIMAPCnxOk est un booléen +MessageInfoCnx est une chaîne="Rapport sur les tests de configuration de votre compte de messagerie:"+ +RC+RC +sMsg est une chaîne +Sablier(Vrai) +//***************************************************************************************************** +***************************************** +//*********************************VERIFICATION +SMTP******************************************************************************************** +//***************************************************************************************************** +***************************************** +(bSMTPCnxOk,sMsg)=VerifieEmailOuvreSession(3,SAI_NomUtilisateurSMTP, SAI_MotdePasseSMTP, SAI_ +AdresseServeurSMTP, Val(SAI_PortSMTP), COMBO_SecuriteSMTP) +si bSMTPCnxOk=Vrai alors +EcranVersSource("","gstParamEmail") +EcranVersSource("","gstParamEnvoiEmail") +i est un entier=1 +nPos est un entier = PositionOccurrence(gstParamEnvoiEmail.bufSignature,"0 +sTexte est une chaîne = Milieu(gstParamEnvoiEmail.bufSignature,nPos,(Position(gst +ParamEnvoiEmail.bufSignature,">",nPos+1)+1)-nPos) +CodeSrcHtmlEnBase64IMG(sTexte,gstParamEnvoiEmail) +i+=1 +nPos = PositionOccurrence(gstParamEnvoiEmail.bufSignature," | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Oui | | | | +| Type cadre | | | | | +| Transparence Vista | Non | | | | +| Transparence gérée par Vista | Non | | | | +| Appliquer le thème du projet | | | | | +| Grisé : Utiliser couleur perso. | Non | | | | +| Grisé : Algo pour images | | | | | +| 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. | | | | | +| 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 | | | | +| ---------------------- | --- | ------- | --- | ---- | +| 06/08/2026 | | Isis_BO | | 4245 | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_CategorieDoc › Informations générales +Statistiques de la fenêtre +Fenêtre interne 1 +Nombre d'éléments dans la fenêtre : 1 +FI_Parametrage_CategorieDoc +Informations sur les champs +Fenêtre : FI_Parametrage_CategorieDoc +Fenêtre interne +BAT ehcuoT +X noitisoP Y noitisoP laitini tatE +ruegraL ruetuaH +elbisiV +nalP +| FI_Parametrage_CategorieDoc | 0 | 0 640 480 | 0 | | +| --------------------------- | --- | --------- | --- | --- | +Fenêtre : FI_Parametrage_CategorieDoc +Fenêtre interne : FI_Parametrage_CategorieDoc +| UI par l'utilisateur Selon fenêtre | | | | | +| ------------------------------------------------------------------- | --- | --- | --- | --- | +| Unité des tailles Compatible desktop ET mobile | | | | | +| Taux Paral. hauteur 0 | | | | | +| Taux Paral. Y 0 | | | | | +| Épinglé Non | | | | | +| Masquer lors du scrolling Non | | | | | +| Ancrage au contenu | | | | | +| Numéro aide 0 | | | | | +| Thème destination Oui | | | | | +| Alignement sur l'axe secondaire défini par le champ flexbox (auto) | | | | | +Facteur de rétrécissement +0 +Facteur d'agrandissement +0 +| Ctx. HFSQL indép. Non | | | | | +| --------------------- | --- | --- | --- | --- | +| Ancrage | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Isis_BO | | 4246 | +| ---------- | --- | ------- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_CategorieDoc › Code des champs +FI_Parametrage_CategorieDoc +Code des champs +Déclarations globales de FI_Parametrage_CategorieDoc +procédure MaFenêtre() +06/08/2026 Isis_BO 4247 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Image +FI_Parametrage_Profil +Image +FI_Parametrage_Profil +Informations générales +FI_Parametrage_Profil +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Parametrage_Profil.wdw +Créé par FBO +Date de création 17/01/2020 10:40:19 +Dernière modification par SMR +06/08/2026 Isis_BO 4248 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Informations générales +| Date dernière modification | | 11/04/2025 16:08:30 | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | --- | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 976 | 650 | +| Position X | Position Y | | Largeur | Hauteur | | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| Anim. Fermeture | | 0 | | | | +| Durée Anim. Ouverture | | 100 | | | | +| Durée Anim. Fermeture | | 50 | | | | +| Adapte Taille contenu | | Non | | | | +| 06/08/2026 | | | Isis_BO | | 4249 | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Informations générales +| Assombri quand inactif | | Oui | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | --- | +Déplace souris sur bouton par +Non +| Compact. barres outils | | Non | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | --- | +Statistiques de la fenêtre +| | Libellé | | | 4 | Bouton | | | 2 | +| --- | --------------- | --- | --- | --- | ---------------- | --- | --- | --- | +| | Table | | | 3 | Combo | | | 1 | +| | Fenêtre interne | | | 1 | Colonne de table | | | 12 | +Nombre d'éléments dans la fenêtre : 23 +FI_Parametrage_Profil +Informations sur les champs +Fenêtre : FI_Parametrage_Profil +Fenêtre interne +BAT ehcuoT +| | | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FI_Parametrage_Profil | | | 0 | 0 976 | 650 | 0 | | | +| --------------------- | --- | --- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_Parametrage_Profil +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| LIB_BUREAU | | 107 | 100 234 | 20 0 | Actif | Gauche | Haut | | +| ---------- | --- | --- | ------- | ---- | ----- | ------ | ---- | --- | +| LIB_MOBILE | | 686 | 100 155 | 20 0 | Actif | Gauche | Haut | | +| LIB_PROFIL | | 12 | 42 188 | 14 0 | Actif | Gauche | Haut | | +LIB_Titre_de_fenêtre_fiche_Para 6 8 39 21 0 Actif Gauche Centre +| 06/08/2026 | | | | Isis_BO | | | | 4250 | +| ---------- | --- | --- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Informations sur les champs +Bouton +notuob epyT +| | | | | | | | laitini tatE | BAT ehcuoT | | | +| --- | --- | ---------- | ---------- | --------------- | --- | --- | ------------ | ---------- | --- | --- | +| | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | ruegraL ruetuaH | | | | | | | +elbisiV +nalP +| BTN_Fermer_profil | | 940 | | 6 24 | 24 | 0 | Actif | | Abandon | | +| ----------------- | --- | --- | --- | ---- | --- | --- | ----- | --- | ------- | --- | +| BTN_valide_profil | | 896 | | 6 24 | 24 | 0 | Actif | | Normal | | +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +lennoitroporp .csA +.loc .gifnoc .oméM +| | | | | | | )(ertliFH resilitU | | ruesnecsa elluB EERTNE noitseG | eércna ennoloC | | +| --- | --- | --- | --- | --- | --- | ----------------------------- | --- | ------------------------------ | -------------- | -------------- | +| | | | | | | .gerne egacolB noitcelésitluM | | edacsac eisiaS | | 5.5 elbitapmoC | +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | | | +| --- | --------------------- | ------- | --- | ------------ | -------- | --- | --- | --- | --- | --- | +| | | ruetuaH | | | sruocraP | | | | | | +ruegraL +| | | | | elbisiV elbaT | | | | | | | +| --- | --- | --- | --- | ------------- | --- | --- | --- | --- | --- | --- | +nalP +| TABLE_ACCES_ET_DR | 12 126 | 425 524 | 0 | Actif Variable | | | | | | 1 | +| ----------------- | -------- | ------- | --- | -------------- | --- | --- | --- | --- | --- | --- | +| TABLE_ACCES_ET_DR | 551 126 | 425 524 | 0 | Actif Variable | | | | | | 1 | +| TABLE_DROIT_CATEG | | | | Mémoir | | | | | | | +| | -526 109 | 510 166 | 0 | affichag | | | | | | 1 | +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 +| | | | | nalP | | elbaT | eéirT | | | | +| ------------ | --- | ------ | --- | ------- | --- | -------- | ----- | --- | --- | --- | +| COMBO_PROFIL | 12 | 56 188 | 22 | 0 Actif | | Variable | | Non | | | +Table : FI_Parametrage_Profil.TABLE_ACCES_ET_DROIT +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +| | | | | ehcuag à eéxiF | | .zroh egardaC | | | | | +| --- | --- | --- | --- | -------------- | --- | ------------- | --- | --- | --- | --- | +.trev egardaC +| | | | | elbaçalpéD | | | eisias epyT | | FTR tamroF | eisias cevA | +| --- | --- | --- | ------------ | ---------- | --- | --- | ----------- | ---------- | ---------- | ----------- | +| | | | laitini tatE | | | | | engilitluM | | | +ruegraL elbisiV +eéirT +epyT +COL_M_clModule_m_sLibe +| | | 284 | affichag | | Gauche | Centre | Texte | | | | +| ------------ | --- | --- | -------- | ------- | ------ | ------ | ----- | --- | --- | ---- | +| COL_M_bAcces | | 122 | Actif | | Centre | Centre | | | | | +| COL_LIAISON | | 100 | Actif | | Gauche | Centre | Texte | | | | +| COL_VALEUR | | 100 | Actif | | Gauche | Centre | Texte | | | | +| 06/08/2026 | | | | Isis_BO | | | | | | 4251 | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Informations sur les champs +Table : FI_Parametrage_Profil.TABLE_ACCES_ET_DROIT_MOB +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_M_clModule_m_sLibe | 286 | affichag | | Gauche Centre | Texte | | +| COL_M_bAcces | 122 | Actif | | Centre Centre | | | +| COL_LIAISON | 100 | Actif | | Gauche Centre | Texte | | +| COL_VALEUR | 100 | Actif | | Gauche Centre | Texte | | +Table : FI_Parametrage_Profil.TABLE_DROIT_CATEG_DOC +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | elbairt ennoloC | ehcrehcer cevA | | | +| --- | --- | -------------- | --------------- | -------------- | --- | --- | +| | | ehcuag à eéxiF | | .zroh egardaC | | | +.trev egardaC +| | | | elbaçalpéD | | eisias epyT FTR tamroF | eisias cevA | +| --- | --- | ------------ | ---------- | --- | ---------------------- | ----------- | +| | | laitini tatE | | | engilitluM | | +ruegraL elbisiV +eéirT +epyT +| COL_CategDoc | 256 | Actif | | Gauche Centre | Texte | | +| --------------- | --- | ----- | --- | ------------- | ----- | --- | +| COL_Lecture | 80 | Actif | | Centre Centre | | | +| COL_Creation | 80 | Actif | | Centre Centre | | | +| COL_Suppression | 80 | Actif | | Centre Centre | | | +Fenêtre : FI_Parametrage_Profil +Fenêtre interne : FI_Parametrage_Profil +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ---------------------------------- | --- | ------- | --- | --- | ---- | +| Unité des tailles | Compatible desktop ET mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +| 06/08/2026 | | | Isis_BO | | | 4252 | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Informations sur les champs +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Parametrage_Profil +Bouton : FI_Parametrage_Profil.BTN_Fermer_profil +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4253 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Informations sur les champs +Bouton : FI_Parametrage_Profil.BTN_valide_profil +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4254 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Informations sur les champs +Combo : FI_Parametrage_Profil.COMBO_PROFIL +Libellé FR: Connexion +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 188 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 12 +Largeur interne 188 +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 +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 +06/08/2026 Isis_BO 4255 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Informations sur les champs +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gclListeProfil.m_clTabVisible +Rub. affichée :gclListeProfil.m_clTabVisible.m_sLibelle +Rub. mémorisée :gclListeProfil.m_clTabVisible.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage_Profil.LIB_BUREAU +Libellé FR: Application bureau et 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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4256 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Informations sur les champs +Libellé : FI_Parametrage_Profil.LIB_MOBILE +Libellé FR: Spécificité 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 +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 +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage_Profil.LIB_PROFIL +Libellé FR: Profil +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 +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 +06/08/2026 Isis_BO 4257 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage_Profil.LIB_Titre_de_fenêtre_fiche_ParamProfil +Libellé FR: Titre +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4258 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Informations sur les champs +Table : FI_Parametrage_Profil.TABLE_ACCES_ET_DROIT +Ordre navigation 5 +Curseur survol 0 +Mode Loupe Filtre +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) 22 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 4259 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Informations sur les champs +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclListeDroitProfil.m_clTabModele +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 0 Taux anc. largeur 600 Taux anc. hauteur 1000 +Table : FI_Parametrage_Profil.TABLE_ACCES_ET_DROIT_MOB +Ordre navigation 6 +Curseur survol 0 +Mode Loupe Filtre +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) 22 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 4260 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Informations sur les champs +Mode de sélection Sélection simple +Sélect. colonnes Sans sélection +Sélect. cellules Sans sélection +Ajout éléments supplémentaires Non +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. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Fichier parcouru :gclListeDroitProfilMobile.m_clTabModele +Rub. mémorisée :gclListeDroitProfilMobile.m_clTabModele.m_nPKID +Ajout/Suppr. dans variable Oui +Synchro HFSQL C/S Jamais +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite, largeur et hauteur +Taux anc. droite 610 Taux anc. bas 1000 Taux anc. largeur 390 Taux anc. hauteur 1000 +Table : FI_Parametrage_Profil.TABLE_DROIT_CATEG_DOC +Libellé FR: Table +Ordre navigation 4 +Curseur survol 0 +Mode Loupe Filtre +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) 16 +Marge en haut 1 +06/08/2026 Isis_BO 4261 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Informations sur les champs +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Ajout/Suppr. dans variable Non +Synchro HFSQL C/S Jamais +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4262 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Informations sur les champs +Table : FI_Parametrage_Profil.TABLE_ACCES_ET_DROIT +Colonne de table : +Titre FR: Droit +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 +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 +Liaison des données :gclListeDroitProfil.m_clTabModele.m_clModule.m_sLibelle +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Parametrage_Profil.TABLE_ACCES_ET_DROIT.COL_M_bAcces (2) +Titre FR: Accès +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +06/08/2026 Isis_BO 4263 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Informations sur les champs +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclListeDroitProfil.m_clTabModele.m_bAcces +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Parametrage_Profil.TABLE_ACCES_ET_DROIT.COL_LIAISON (3) +Titre FR: LIAISON +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 +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 +Liaison des données :gclListeDroitProfil.m_clTabModele.m_clModule.m_sCleLiaison +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4264 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Informations sur les champs +Colonne de table : FI_Parametrage_Profil.TABLE_ACCES_ET_DROIT.COL_VALEUR (4) +Titre FR: VALEUR +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 +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 +Liaison des données :gclListeDroitProfil.m_clTabModele.m_clModule.m_sValeur +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Table : FI_Parametrage_Profil.TABLE_ACCES_ET_DROIT_MOB +Colonne de table : +Titre FR: Droit +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 +06/08/2026 Isis_BO 4265 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Informations sur les champs +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclListeDroitProfilMobile.m_clTabModele.m_clModule.m_sLibelle +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Parametrage_Profil.TABLE_ACCES_ET_DROIT_MOB.COL_M_bAcces +Titre FR: Accès +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +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 +Liaison des données :gclListeDroitProfilMobile.m_clTabModele.m_bAcces +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4266 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Informations sur les champs +Colonne de table : FI_Parametrage_Profil.TABLE_ACCES_ET_DROIT_MOB.COL_LIAISON +Titre FR: LIAISON +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 +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 +Liaison des données :gclListeDroitProfilMobile.m_clTabModele.m_clModule.m_sCleLiaison +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Parametrage_Profil.TABLE_ACCES_ET_DROIT_MOB.COL_VALEUR +Titre FR: VALEUR +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 +06/08/2026 Isis_BO 4267 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclListeDroitProfilMobile.m_clTabModele.m_clModule.m_sValeur +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Table : FI_Parametrage_Profil.TABLE_DROIT_CATEG_DOC +Colonne de table : FI_Parametrage_Profil.TABLE_DROIT_CATEG_DOC.COL_CategDoc (1) +Titre FR: Catégorie de document +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 256 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4268 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Informations sur les champs +Colonne de table : FI_Parametrage_Profil.TABLE_DROIT_CATEG_DOC.COL_Lecture (2) +Titre FR: Lire +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Parametrage_Profil.TABLE_DROIT_CATEG_DOC.COL_Creation (3) +Titre FR: Créer +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +Verifier l'orthographe Non +06/08/2026 Isis_BO 4269 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Informations sur les champs +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Parametrage_Profil.TABLE_DROIT_CATEG_DOC.COL_Suppression +Titre FR: Supprimer +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FI_Parametrage_Profil +Messages multilingues +06/08/2026 Isis_BO 4270 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Messages multilingues +06/08/2026 Isis_BO 4271 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FI_Parametrage_Profil +Code des champs +Déclarations globales de FI_Parametrage_Profil +procédure FI_Parametrage_Profil(gclListeDroitProfil est un PTableAccesEtDroit dynamique= +Null) +LIB_Titre_de_fenêtre_fiche_ParamProfil = "Gestion des profils et de leurs droits" +//pclFicheProfil est un PFicheAccesEtDroit dynamique +//gpclListeDroitProfilSel est un PTableAccesEtDroit dynamique +gclListeDroitProfilMobile est un PTableAccesEtDroit dynamique +gclListeProfil est un PTableParametreMetier dynamique +local +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +//SI gclListeDroitProfil=Null ALORS +// gclListeDroitProfil=PTableAccesEtDroit.gNouvellePresentation() +//FIN +gclListeProfil<- DonneProfilsRestreint() +Clic sur BTN_valide_profil +//POUR TOUTE LIGNE DE TABLE_ACCES_ET_DROIT +// +//FIN +pour i = 1 _à_ gclListeDroitProfil.p_nTotal +gclListeDroitProfil.p_clCourant = gclListeDroitProfil.m_clTabModele[i] +pclFicheProfil est un PFicheAccesEtDroit dynamique +pclFicheProfil <- gclListeDroitProfil.Modifier() +clerreur est un CErreur +pclFicheProfil.bOK(clerreur) +fin +pour i = 1 _à_ gclListeDroitProfilMobile.p_nTotal +gclListeDroitProfilMobile.p_clCourant = gclListeDroitProfilMobile.m_clTabModele[i] +pclFicheProfil est un PFicheAccesEtDroit dynamique +pclFicheProfil <- gclListeDroitProfilMobile.Modifier() +clerreur est un CErreur +pclFicheProfil.bOK(clerreur) +fin +Initialisation de COMBO_PROFIL +ListeSelect(COMBO_PROFIL,1) +ListeAffiche(COMBO_PROFIL,taCourantBandeau) +Fin d'initialisation de COMBO_PROFIL + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Code des champs +ExécuteTraitement(FI_Parametrage_Profil.COMBO_PROFIL,trtSélection) +Sélection d'une ligne de COMBO_PROFIL +//nIndice est un entier = +TableauCherche(gclListeDroitProfil.m_clTabModele,tcLinéaire,"m_nIDProfil",COMBO_PROFIL,1) +si gclListeDroitProfil<>Null alors ExécuteTraitement(BTN_valide_profil,trtClic) +gclListeDroitProfil = PTableAccesEtDroit.gNouvellePresentation(1,COMBO_PROFIL) +gclListeDroitProfilMobile = PTableAccesEtDroit.gNouvellePresentation(2,COMBO_PROFIL) +SourceVersEcran("","gclListeDroitProfil") +SourceVersEcran("","gclListeDroitProfilMobile") +TableAffiche(TABLE_ACCES_ET_DROIT,taInit) +TableAffiche(TABLE_ACCES_ET_DROIT_MOB,taInit) +//SI gclListeDroitProfil.p_nTotal>0 ALORS +// +// SourceVersEcran("","gclListeDroitProfil") +//SINON +// SEL_Parametrage = 0 +// SEL_TEMPS = 0 +// SEL_EQUIPE = 0 +// SEL_COLLAB = 0 +// SEL_SUIVI = 0 +// SEL_DOSSIER = 0 +// SEL_INTERV_ACTION = 0 +// SEL_INTERV_MESSEXT = 0 +// SEL_INTERV_NOTEINT = 0 +// SEL_INTERV_RAPPORT = 0 +// SEL_INTERV_CR = 0 +// SEL_INTERV_DOC = 0 +// DISP_DOSSIER[2]..Visible=faux +// TABLE_DROIT_CATEG_DOC.Visible=faux +//FIN +A chaque modification de COL_M_bAcces ( TABLE_ACCES_ET_DROIT ) +nIndice est un entier +si COL_M_bAcces=1 _et_ ExtraitChaîne(COL_VALEUR,1,".")<>"" alors +si ExtraitChaîne(COL_VALEUR,3,".")<>"" alors +nIndice = TableCherche(COL_VALEUR,ExtraitChaîne(COL_VALEUR,1,".")+"."+ExtraitChaîne(COL_VALEUR, +2,"."),rechercheIdentique) +sinon +nIndice = TableCherche(COL_VALEUR,ExtraitChaîne(COL_VALEUR,1,"."),rechercheIdentique) +fin +si nIndice>0 alors +si TABLE_ACCES_ET_DROIT[nIndice].COL_M_bAcces=Faux alors +Erreur(ChaîneConstruit("Vous devez cochez l'accès pour %1",TABLE_ACCES_ET_DROIT[nIndice]. +COL_M_clModule_m_sLibelle)) +COL_M_bAcces=0 +fin +fin +sinon si COL_M_bAcces=0 alors +sMaitre est une chaîne = COL_M_clModule_m_sLibelle +sValeur est une chaîne = COL_VALEUR+"." +nLigne est un entier = 1 +bReponseest un booléen +nIndice = TableCherche(COL_VALEUR,sValeur,rechercheCommencePar,nLigne) +boucle +si nIndice>0 alors +nLigne=nIndice+1 +si TABLE_ACCES_ET_DROIT[nIndice].COL_M_bAcces=Vrai alors +06/08/2026 Isis_BO 4272 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Code des champs +si pas bReponse alors +bReponse = OuiNon(Oui,ChaîneConstruit( +"La désactivation du droit %1 va nécessiter de désactiver les sous-éléments liés", +sMaitre),"Confirmez-vous la désactivation ?") +fin +si bReponse alors +TABLE_ACCES_ET_DROIT[nIndice].COL_M_bAcces=Faux +sinon +| | COL_M_bAcces | = 1 | | | +| --- | ------------ | --- | --- | --- | +| | nIndice | = 0 | | | +fin +fin +fin +si nIndice>0 alors nIndice = TableCherche(COL_VALEUR,sValeur,rechercheCommencePar,nLigne) +à faire tantque nIndice>0 +fin +ChampVersSource() +A chaque modification de COL_M_bAcces ( TABLE_ACCES_ET_DROIT_MOB ) +//nIndice est un entier +//SI COL_M_bAcces=1 _et_ ExtraitChaîne(COL_VALEUR,1,".")<>"" ALORS +// +// SI ExtraitChaîne(COL_VALEUR,3,".")<>"" ALORS +// +nIndice = +TableCherche(COL_VALEUR,ExtraitChaîne(COL_VALEUR,1,".")+"."+ExtraitChaîne(COL_VALEUR,2,"."),rechercheId +entique) +// SINON +// nIndice = TableCherche(COL_VALEUR,ExtraitChaîne(COL_VALEUR,1,"."),rechercheIdentique) +// FIN +// SI nIndice>0 ALORS +// SI TABLE_ACCES_ET_DROIT[nIndice].COL_M_bAcces=faux ALORS +// +erreur(ChaîneConstruit("Vous devez cochez l'accès pour +%1",TABLE_ACCES_ET_DROIT[nIndice].COL_M_clModule_m_sLibelle)) +| // COL_M_bAcces=0 | | | | | +| ----------------- | --- | --- | --- | --- | +// FIN +// FIN +//SINON SI COL_M_bAcces=0 ALORS +| // sMaitre | est une chaîne | = COL_M_clModule_m_sLibelle | | | +| ---------- | -------------------------------- | --------------------------- | --- | --- | +| // sValeur | est une chaine = COL_VALEUR+"." | | | | +| // nLigne | est un entier | = 1 | | | +// bReponseest un booléen +// nIndice = TableCherche(COL_VALEUR,sValeur,rechercheCommencePar,nLigne) +// BOUCLE +// SI nIndice>0 ALORS +| // nLigne=nIndice+1 | | | | | +| ----------------------------------------------------------- | --------------------- | --- | --- | --- | +| // SI TABLE_ACCES_ET_DROIT[nIndice].COL_M_bAcces=vrai ALORS | | | | | +| // | SI PAS bReponse ALORS | | | | +// +bReponse = OuiNon(Oui,ChaîneConstruit("La désactivation du droit %1 va nécessiter de désactiver les +sous-éléments liés",sMaitre),"Confirmez-vous la désactivation ?") +| // | FIN | | | | +| ---------- | ----------------------------------------------- | --- | ------- | ---- | +| // | SI bReponse ALORS | | | | +| // | TABLE_ACCES_ET_DROIT[nIndice].COL_M_bAcces=faux | | | | +| // | SINON | | | | +| // | COL_M_bAcces | = 1 | | | +| // | nIndice | = 0 | | | +| 06/08/2026 | | | Isis_BO | 4273 | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Profil › Code des champs +// +// FIN +// FIN +// FIN +// SI nIndice>0 ALORS nIndice = TableCherche(COL_VALEUR,sValeur,rechercheCommencePar,nLigne) +// À FAIRE TANTQUE nIndice>0 +// +// +//FIN +ChampVersSource() +06/08/2026 Isis_BO 4274 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Image +FI_Saisie_Temps_Def +Image +FI_Saisie_Temps_Def +Informations générales +FI_Saisie_Temps_Def +06/08/2026 Isis_BO 4275 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations générales +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Saisie_Temps_Def.wdw +| Créé par | | XVA | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 29/01/2019 17:55:51 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:30 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1358 Hauteur | 769 | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| 06/08/2026 | | | Isis_BO | | 4276 | + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations générales +| 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 | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | +Statistiques de la fenêtre +| | Champ de saisie | | 8 | Libellé | | 17 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | +| | Bouton | | 15 | Sélecteur | | 1 | +| | Image | | 5 | Table | | 1 | +| | Combo | | 5 | Forme | | 7 | +| | Zone répétée | | 2 | Fenêtre interne | | 1 | +| | Attribut zone répétée | | 14 | Option de sélecteur | | 3 | +| | Colonne de table | | 29 | Combo + table | | 2 | +| | Disposition | | 4 | Cellule de disposition | | 17 | +Nombre d'éléments dans la fenêtre : 131 +FI_Saisie_Temps_Def +Informations sur les champs +Fenêtre : FI_Saisie_Temps_Def +Fenêtre interne +BAT ehcuoT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | +| --- | --- | --- | ------- | ------- | --- | --- | +elbisiV +nalP +| FI_Saisie_Temps_Def | | 0 | 0 1358 | 769 | 0 | | +| ------------------- | --- | --- | ------- | --- | --- | ---- | +| 06/08/2026 | | | Isis_BO | | | 4277 | + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Fenêtre interne : FI_Saisie_Temps_Def +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_Adresse | 6 | 42 211 | 97 | 0 affichag | | Texte | | Non | | | | | +| -------------- | --- | ------ | --- | ---------- | ----- | ------ | --- | --- | --- | --- | --- | --- | +| SAI_DateDebut | 6 | 0 102 | 42 | 0 | Actif | Date | | Non | | | | | +| SAI_DureeDec | 116 | 0 102 | 42 | 0 | Actif | Numéri | | Non | | | | | +| SAI_HeureDebut | 6 | 0 102 | 42 | 0 | Actif | Heure | | Non | | | | | +| SAI_HeureFin | 116 | 0 102 | 42 | 0 | Actif | Heure | | Non | | | | | +| SAI_NumInter | 6 | 0 102 | 42 | 0 | Actif | Texte | | Non | | | | | +| SAI_Periode | 534 | 75 280 | 22 | 0 | Actif | Texte | | Non | | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | --- | ---------- | +| | | | | | | | | laitini tatE | | | | FTR tamroF | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_ANNEE | | 608 | 36 | 52 | 14 | | 0 | Actif | Gauche | Haut | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | --- | +| LIB_CARACTERISTIQUE | | 19 | 20 | 273 | 16 | | 0 | Actif | Gauche | Haut | | | +| LIB_COLLABORATEUR | | 12 | 55 | 238 | 14 | | 0 | Actif | Gauche | Haut | | | +| LIB_COLLABORATEUR_DEST | | 972 | 55 | 238 | 14 | | 0 | Actif | Gauche | Haut | | | +| LIB_FICHE_SAISIE | | 6 | 6 | 89 | 16 | | 0 | Actif | Gauche | Haut | | | +| LIB_FICHE_SAISIE1 | | 6 | 18 | 172 | 16 | | 0 | Actif | Gauche | Haut | | | +| LIB_Groupe | | 205 | 2 | 15 | 15 | | 0 | Actif | Gauche | Haut | | | +| LIB_IdCollab | | 184 | 2 | 15 | 15 | | 0 | Actif | Gauche | Haut | | | +| LIB_NUMINTERV | | 115 | 1 | 104 | 16 | | 0 | Actif | Gauche | Haut | | | +| LIB_PKIDTEMPS | | 202 | 0 | 21 | 20 | | 0 | Actif | Droite | Haut | | | +| LIB_RDV1 | | 144 | 4 | 21 | 15 | | 0 | Actif | Gauche | Haut | | | +| LIB_Titre_de_fenêtre | | 6 | 6 | 287 | 21 | | 0 | Actif | Gauche | Centre | | | +| LIB_idinter | | 163 | 2 | 15 | 15 | | 0 | Actif | Gauche | Haut | | | +Bouton +| | | | | | | | | | | BAT ehcuoT | | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---------- | --- | ----------- | +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | | | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | --- | --- | --- | +| | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_CSV | | | 10 | 4 | 24 | | 24 | 0 | Actif | | Normal | | +| ----------------------------- | --- | --- | ---- | --- | ------- | --- | --- | --- | ----- | --- | ------- | ---- | +| BTN_Calendrier | | | 820 | 74 | 24 | | 24 | 0 | Actif | | Normal | | +| BTN_CopierSemaine | | | 1216 | 74 | 136 | | 24 | 0 | Actif | | Normal | | +| BTN_Fermer_fiche_intervention | | | 4 | 4 | 24 | | 24 | 0 | Actif | | Abandon | | +| BTN_Imprimer | | | 4 | 4 | 24 | | 24 | 0 | Actif | | Normal | | +| BTN_Inactif | | | 256 | 75 | 238 | | 22 | 0 | Actif | | Normal | | +| BTN_Nouvelle_Fiche_Heure1 | | | 9 | 4 | 24 | | 24 | 0 | Actif | | Normal | | +| BTN_Nouvelle_Fiche_Heure2 | | | 135 | 4 | 24 | | 24 | 0 | Actif | | Normal | | +| 06/08/2026 | | | | | Isis_BO | | | | | | | 4278 | + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +| | | | | | | | | | BAT ehcuoT | | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ---------- | --- | ----------- | +laitini tatE +| | | | X noitisoP Y noitisoP | | | | | | | | | +| --- | --- | --- | --------------------- | --- | --------------- | --- | --- | --- | --- | --- | --- | +| | | | | | ruegraL ruetuaH | | | | | | | +elbisiV +nalP +| BTN_PERIODE_PRECEDENTE | | | 500 | 73 | 26 | 26 | 0 | | Actif | Normal | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | --- | +| BTN_PERIODE_SUIVANTE | | | 849 | 71 | 30 | 30 | 0 | | Actif | Normal | | +| BTN_Parametre | | | 4 | 4 | 24 | 24 | 0 | | Actif | Normal | | +| BTN_Refresh_fiche_intervention | | | 5 | 4 | 24 | 24 | 0 | | Actif | Normal | | +| BTN_Supprimer | | | 4 | 4 | 24 | 24 | 0 | | Actif | Normal | | +| BTN_Valider_fiche_heure | | | 105 | 4 | 24 | 24 | 0 | | Actif | Normal | | +Sélecteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | staté siorT | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruegraL ruetuaH +elbisiV +nalP +| SEL_ModeAffichage | | 587 | 54 | 229 | 23 | 0 | Actif | | | 3 | | +| ----------------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | +Image +| | | | | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --------- | --------------------- | ----------------- | +| | | | | | | | | laitini tatE | | | sucof cevA | +| | | X noitisoP | Y noitisoP | | | | | | | | | +| | | | | ruegraL | ruetuaH | | | | cilc cevA | | | +elbisiV +nalP +| IMG_ControleRouge | | | -164 391 | | 25 25 | | 0 | Actif | | | | +| ------------------ | --- | --- | -------- | --- | ------ | --- | --- | ----- | --- | --- | --- | +| IMG_ENTET_FICHE | | | 0 | 0 | 223 32 | | 0 | Actif | | | | +| IMG_ENTET_FICHE1 | | | 0 12 | | 754 32 | | 0 | Actif | | | | +| IMG_LISTE_MODELES1 | | | 0 12 | | 334 32 | | 0 | Actif | | | | +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | --- | --- | ------------------ | -------------- | ------------------------------ | ------------------ | ----------------------------- | +| | | | | | | | )(ertliFH resilitU | | ruesnecsa elluB EERTNE noitseG | | eércna ennoloC 5.5 elbitapmoC | +| | | | | | | | .gerne egacolB | noitcelésitluM | edacsac eisiaS | | | +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | | | | +| --- | --------------------- | ------- | ------- | --- | ------------ | -------- | --- | --- | --- | --- | --- | +| | | ruegraL | ruetuaH | | | sruocraP | | | | | | +elbisiV +elbaT +nalP +| TABLE_TempsSaisie | -1 44 | 754 | 720 0 | Actif | Mémoir | | | | | | 7 | +| ----------------- | ----- | --- | ----- | ----- | ------- | --- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | | Isis_BO | | | | | | 4279 | + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › 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 +| COMBO_PL_LieInterventi | 115 17 | 102 25 | 0 | Actif | Mémoire | Non | | | +| ---------------------- | ------ | ------ | --- | ----- | -------- | --- | --- | --- | +| COMBO_SDT_Annee | 666 32 | 76 22 | 0 | Actif | Mémoire | Non | | | +| COMBO_SDT_IDCollabora | 12 75 | 238 22 | 0 | Actif | Mémoire | Non | | | +| COMBO_SDT_IDCollabora | 972 75 | 238 22 | 0 | Actif | Mémoire | Non | | | +| COMBO_TypeRdv | 6 48 | 211 42 | 0 | Actif | Variable | Non | | | +Forme +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_CADRE_CELL_1 | | 0 | 30 | 223 | 60 | 0 | Actif | | +| ---------------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +| FRM_CADRE_CELL_2 | | 0 | 0 | 223 | 142 | 0 | Actif | | +| FRM_CADRE_CELL_3 | | 0 | 0 | 223 | 43 | 0 | Actif | | +| FRM_CADRE_CELL_4 | | 0 | 0 | 223 | 43 | 0 | Actif | | +| FRM_CADRE_CELL_5 | | 0 | 0 | 223 | 319 | 0 | Actif | | +| FRM_ENTETE | | 0 | 30 | 1358 | 75 | 0 | Actif | | +Zone répétée +BAT ehcuoT +laitini tatE +| | | X noitisoP | Y noitisoP | | | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| ZR_ListeRDV | | 0 | 44 | 334 | 722 | 0 | affichag | | +| ------------ | --- | --- | --- | --- | --- | --- | -------- | --- | +| ZR_TypeTemps | | 6 | 0 | 217 | 319 | 0 | Actif | | +Combo + table +| | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | +| | | X noitisoP | Y noitisoP | | | | | | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| COMBO_SDT_RDV | | -406 | 110 | 397 | 43 | 0 | Actif | | +| ----------------- | --- | ---- | ------- | --- | --- | --- | ----- | ---- | +| COMBO_SDT_Semaine | | -258 | 24 | 235 | 45 | 0 | Actif | | +| 06/08/2026 | | | Isis_BO | | | | | 4280 | + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Disposition +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| DISP_BANDEAU_ENTETE | | 0 | 0 1358 | 33 | 0 | Actif | | +| ------------------- | --- | --- | -------- | --- | --- | ----- | --- | +| DISP_FICHE_TEMPS | | 0 | 0 1358 | 33 | 0 | Actif | | +| D_FICHE_SAISIE | | 0 | 12 223 | 749 | 0 | Actif | | +| D_TROIS_COLONNE | | 12 | 105 1334 | 778 | 0 | Actif | | +Table : FI_Saisie_Temps_Def.D_TROIS_COLONNE.TABLE_TempsSaisie +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | --------------- | --- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | +| | | | ruegraL ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Controle | 10 | 4 | 25 25 | 0 | affichag | | | +| ------------ | --- | --- | ----- | --- | -------- | --- | --- | +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | elbairt ennoloC | ehcrehcer cevA | | | | +| --- | --- | --- | --------------- | -------------- | --- | --- | --- | +ehcuag à eéxiF +| | | | | .zroh egardaC .trev egardaC | | | | +| --- | --- | ------------ | ---------- | --------------------------- | ----------- | ---------- | ----------- | +| | | | elbaçalpéD | | | FTR tamroF | | +| | | laitini tatE | | | eisias epyT | engilitluM | eisias cevA | +ruegraL +elbisiV +| epyT | | | | | | eéirT | | +| --------------- | --- | -------- | ------- | ------------- | ------- | ----- | ---- | +| COL_Controle | 55 | affichag | | Centre Centre | | | | +| COL_Date | 121 | affichag | | Centre Centre | Date | | | +| COL_TypeTemps | 100 | affichag | | Gauche Centre | Texte | | | +| COL_IdInter | 126 | affichag | | Centre Centre | Texte | | | +| COL_Duree | 113 | affichag | | Centre Centre | Numériq | | | +| COL_NonAffecte | 132 | affichag | | Droite Centre | Numériq | | | +| COL_AdresseSite | 214 | affichag | | Gauche Centre | Texte | | | +| COL_IDInterVal | 100 | affichag | | Gauche Centre | Texte | | | +| COL_IDRdv | 100 | affichag | | Gauche Centre | Texte | | | +| COL_IDGroupe | 100 | affichag | | Droite Centre | Numériq | | | +| COL_Ponderation | 100 | Actif | | Droite Centre | Numériq | | | +| COL_IDTemps | 100 | Actif | | Droite Centre | Numériq | | | +| 06/08/2026 | | | Isis_BO | | | | 4281 | + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Zone répétée : FI_Saisie_Temps_Def.D_TROIS_COLONNE.ZR_ListeRDV +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | --- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_Adresse | 6 | 51 270 | 44 | 0 | Actif | Gauche | Haut | | +| ---------------- | --- | ------ | --- | --- | ----- | ------ | ---- | --- | +| LIB_NomClient | 6 | 37 276 | 15 | 0 | Actif | Gauche | Haut | | +| LIB_NumInter | 55 | 3 227 | 16 | 0 | Actif | Gauche | Haut | | +| LIB_Periodeinter | 55 | 17 227 | 16 | 0 | Actif | Gauche | Haut | | +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Initiale | | 0 2 | 56 | 34 | 0 | Actif | | Normal | +| ------------ | --- | --- | --- | --- | --- | ----- | --- | ------ | +Forme +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_SansNom1 | | 46 | 32 | 228 | 2 | 0 | Actif | | +| ------------ | --- | --- | --- | --- | --- | --- | ----- | --- | +Attribut zone répétée +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +ATT_Adresse +ATT_IDCollab +ATT_IDInter +ATT_IDRdv +ATT_Initiale +ATT_NomClient +ATT_NumInter +ATT_Periode +| 06/08/2026 | | | Isis_BO | | | | | 4282 | +| ---------- | --- | --- | ------- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Zone répétée : FI_Saisie_Temps_Def.D_TROIS_COLONNE.D_FICHE_SAISIE.ZR_TypeTemps +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_TypeTemps | 0 | 2 194 42 0 | Actif Numéri | | Non | | | +| ------------- | --- | ---------- | ------------ | --- | --- | --- | --- | +Attribut zone répétée +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | | elbisiV | | +| --- | --- | --- | ------- | --- | --- | ------- | --- | +nalP +ATT_Couleur +ATT_IDTemps +ATT_IDType +ATT_LibTitre +ATT_LibValeur +ATT_Ordre +Combo + table : FI_Saisie_Temps_Def.COMBO_SDT_RDV +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +| | | | ehcuag à eéxiF | .zroh egardaC | .trev egardaC | | | +| --- | --- | ------------ | -------------- | ------------- | ------------- | ---------------------- | ----------- | +| | | | elbaçalpéD | | | eisias epyT FTR tamroF | eisias cevA | +| | | laitini tatE | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +| COL_Affichage | | 100 Actif | | Gauche | Centre | Texte | | +| ---------------- | --- | --------- | --- | ------ | ------ | ------- | --- | +| COL_IDCollabRdv | | 278 Actif | | Droite | Centre | Numériq | | +| COL_CollaboRdv | | 135 Actif | | Gauche | Centre | Texte | | +| COL_DateDebutRDV | | 135 Actif | | Centre | Centre | Date | | +| COL_DateFinRDV | | 135 Actif | | Centre | Centre | Date | | +Numériq +| COL_TypeRDV | | 100 Actif | | Droite | Centre | | | +| --------------------- | --- | --------- | ------- | ------ | ------ | ------- | ---- | +| COL_PonderationCollab | | 100 Actif | | Gauche | Centre | Texte | | +| COL_IDGroupeRDV | | 100 Actif | | Droite | Centre | Numériq | | +| COL_ObjetRdv | | 100 Actif | | Gauche | Centre | Texte | | +| COL_IDInterRDV | | 100 Actif | | Droite | Centre | Numériq | | +| COL_IDRdv | | 278 Actif | | Droite | Centre | Numériq | | +| COL_Description | | 100 Actif | | Gauche | Centre | Texte | | +| COL_InRefInterne | | 100 Actif | | Gauche | Centre | Texte | | +| 06/08/2026 | | | Isis_BO | | | | 4283 | + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Combo + table : FI_Saisie_Temps_Def.COMBO_SDT_Semaine +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_NumSemaine | 100 | Actif | | Droite Centre | Numériq | | +| COL_Libelle | 235 | Actif | | Gauche Centre | Texte | | +| COL_Lundi | 100 | Actif | | Droite Centre | Date | | +| COL_Dimanche | 100 | Actif | | Droite Centre | Date | | +Fenêtre : FI_Saisie_Temps_Def +Fenêtre interne : FI_Saisie_Temps_Def +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ---------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Compatible desktop ET mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +Facteur d'agrandissement +0 +| Ctx. HFSQL indép. | Non | | | | | | +| ----------------- | ------- | --- | --- | --- | --- | --- | +| Ancrage | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Isis_BO | | | 4284 | +| ---------- | --- | --- | ------- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Fenêtre interne : FI_Saisie_Temps_Def +Bouton : FI_Saisie_Temps_Def.DISP_FICHE_TEMPS.DISP_BANDEAU_ENTETE.BTN_CSV +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CSV.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4285 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Bouton : FI_Saisie_Temps_Def.BTN_Calendrier +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_AGENDA.png +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4286 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Bouton : FI_Saisie_Temps_Def.BTN_CopierSemaine +Libellé FR: Copier la semaine +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4287 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4288 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_imprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4289 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Bouton : FI_Saisie_Temps_Def.BTN_Inactif +Libellé FR: Afficher Inactif +Ordre navigation 9 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4290 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Bouton : +Groupe GR_MODEFORMULAIRE_Fiche_Lieu +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4291 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Bouton : +Groupe GR_MODEFORMULAIRE_Fiche_Lieu +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4292 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Bouton : FI_Saisie_Temps_Def.BTN_PERIODE_PRECEDENTE +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_A_Gauche.png +Nb. états image 5 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4293 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Bouton : FI_Saisie_Temps_Def.BTN_PERIODE_SUIVANTE +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_A_Droite.png +Nb. états image 5 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4294 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Paramétrage.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4295 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_refresh.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4296 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4297 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_CADENAS_INTERV +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4298 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Combo : +Libellé FR: Lié à l'intervention +Valeur initiale 0 +Groupe GR_NONPLANIFIE +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 102 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 473 +Largeur interne 102 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: N° de l'intervention +Numéro aide 0 +Texte d'indication si vide FR: N° de l'intervention +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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 +06/08/2026 Isis_BO 4299 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +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. +Avec recherche Non +Nb. Enreg. Max 0 +Rub. parcourue IN_PKID +Rub. affichée IN_RefInterne +Rub. mémorisée IN_PKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Saisie_Temps_Def.COMBO_SDT_Annee +Libellé FR: Année +Ordre navigation 3 +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 76 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 666 +Largeur interne 76 +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 +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Isis_BO 4300 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +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 Oui +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. +Avec recherche Non +Nb. Enreg. Max 0 +Filtre 08 +Rub. affichée :gpclListeTypeLieu.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeTypeLieu.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Saisie_Temps_Def.COMBO_SDT_IDCollaborateur +Libellé FR: Collaborateur Actif seulement +Valeur initiale 0 +Ordre navigation 8 +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 +06/08/2026 Isis_BO 4301 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 238 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 12 +Largeur interne 238 +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 +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. +Avec recherche Non +Nb. Enreg. Max 0 +Filtre 08 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4302 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Combo : FI_Saisie_Temps_Def.COMBO_SDT_IDCollaborateur1 +Libellé FR: Copier vers +Valeur initiale 0 +Ordre navigation 11 +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 238 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 972 +Largeur interne 238 +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 +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 +06/08/2026 Isis_BO 4303 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +Filtre 8 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo + table : FI_Saisie_Temps_Def.COMBO_SDT_RDV +Libellé FR: Rendez-vous +Ordre navigation 13 +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 +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 278 +Larg. déroulée perso. Non +Hauteur ligne 18 +Retrait gauche 2 +Colonne ancrée 0 +Position X interne -406 +Largeur interne 397 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Texte d'indication si vide FR: Choisir un rendez-vous +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Bulle ascenseur Oui +Asc. horizontal Automatique +06/08/2026 Isis_BO 4304 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Asc. vertical Automatique +Avec saisie Oui +Saisie assistée fichier Oui +Défilement Horz. Défilement horizontal +Saisie obligatoire 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 +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Oui +Avec focus Oui +NULL si vide Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Filtre 08 +Rub. mémorisée :gpclListeTypeLieu.m_clTabModele.IdentifiantUnique +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo + table : FI_Saisie_Temps_Def.COMBO_SDT_Semaine +Libellé FR: Semaine +Ordre navigation 2 +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 +06/08/2026 Isis_BO 4305 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 235 +Larg. déroulée perso. Non +Hauteur ligne 18 +Retrait gauche 2 +Colonne ancrée 2 +Position X interne -258 +Largeur interne 235 +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 +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Bulle ascenseur Oui +Asc. horizontal Automatique +Asc. vertical Automatique +Avec saisie Oui +Saisie assistée fichier Oui +Défilement Horz. Défilement horizontal +Saisie obligatoire 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 +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Oui +Avec focus Oui +NULL si vide Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +06/08/2026 Isis_BO 4306 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Filtre 8 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Saisie_Temps_Def.D_TROIS_COLONNE.D_FICHE_SAISIE.COMBO_TypeRdv +Libellé FR: Type d'activité * +Groupe GR_NewSaisie +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 211 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 364 +Largeur interne 211 +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 +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 +06/08/2026 Isis_BO 4307 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeRendezVous.m_clTabVisible +Rub. affichée :gpclListeTypeRendezVous.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeTypeRendezVous.m_clTabVisible.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Saisie_Temps_Def.DISP_FICHE_TEMPS.DISP_BANDEAU_ENTETE +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +06/08/2026 Isis_BO 4308 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 0 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Saisie_Temps_Def.DISP_FICHE_TEMPS +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 6 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Saisie_Temps_Def.D_TROIS_COLONNE.D_FICHE_SAISIE +Libellé FR: Disposition +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 +Cellule ancrée 5 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +06/08/2026 Isis_BO 4309 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Marge entre les cellules 0 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Saisie_Temps_Def.D_TROIS_COLONNE +Libellé FR: Disposition +Ordre navigation 12 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cellule ancrée 3 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Saisie_Temps_Def.D_TROIS_COLONNE.D_FICHE_SAISIE.FRM_CADRE_CELL_1 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Isis_BO 4310 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Saisie_Temps_Def.D_TROIS_COLONNE.D_FICHE_SAISIE.FRM_CADRE_CELL_2 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Saisie_Temps_Def.D_TROIS_COLONNE.D_FICHE_SAISIE.FRM_CADRE_CELL_3 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4311 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Forme : FI_Saisie_Temps_Def.D_TROIS_COLONNE.D_FICHE_SAISIE.FRM_CADRE_CELL_4 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Saisie_Temps_Def.D_TROIS_COLONNE.D_FICHE_SAISIE.FRM_CADRE_CELL_5 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4312 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Forme : FI_Saisie_Temps_Def.FRM_ENTETE +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Saisie_Temps_Def.IMG_ControleRouge +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\supprime1.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 4313 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Saisie_Temps_Def.D_TROIS_COLONNE.D_FICHE_SAISIE.IMG_ENTET_FICHE +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Saisie_Temps_Def.D_TROIS_COLONNE.IMG_ENTET_FICHE1 +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Isis_BO 4314 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Saisie_Temps_Def.D_TROIS_COLONNE.IMG_LISTE_MODELES1 +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +06/08/2026 Isis_BO 4315 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Orientation EXIF Non +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 +Libellé : FI_Saisie_Temps_Def.LIB_ANNEE +Libellé FR: Année +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 +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 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4316 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Libellé : FI_Saisie_Temps_Def.D_TROIS_COLONNE.LIB_CARACTERISTIQUE +Libellé FR: Liste des rendez-vous du collaborateur +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Saisie_Temps_Def.LIB_COLLABORATEUR +Libellé FR: Collaborateur Actif seulement +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 +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 +06/08/2026 Isis_BO 4317 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Saisie_Temps_Def.LIB_COLLABORATEUR_DEST +Libellé FR: Copier vers +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 +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 +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4318 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Libellé : FI_Saisie_Temps_Def.D_TROIS_COLONNE.D_FICHE_SAISIE.LIB_FICHE_SAISIE +Libellé FR: Fiche de saisie +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Saisie_Temps_Def.D_TROIS_COLONNE.LIB_FICHE_SAISIE1 +Libellé FR: Liste des temps déjà saisie +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 +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 +06/08/2026 Isis_BO 4319 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Saisie_Temps_Def.D_TROIS_COLONNE.D_FICHE_SAISIE.LIB_Groupe +Libellé FR: ID +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4320 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Libellé : FI_Saisie_Temps_Def.D_TROIS_COLONNE.D_FICHE_SAISIE.LIB_IdCollab +Libellé FR: ID +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Saisie_Temps_Def.D_TROIS_COLONNE.D_FICHE_SAISIE.LIB_NUMINTERV +Libellé FR: Lié à l'intervention +Groupe GR_NONPLANIFIE +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 4321 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Saisie_Temps_Def.D_TROIS_COLONNE.D_FICHE_SAISIE.LIB_PKIDTEMPS +Libellé FR: ID +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 +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 Numérique +Masque saisie FR: MoneySystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4322 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Libellé : FI_Saisie_Temps_Def.D_TROIS_COLONNE.D_FICHE_SAISIE.LIB_RDV1 +Libellé FR: ID +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Saisie des temps par Collaborateur +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 +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 +06/08/2026 Isis_BO 4323 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Saisie_Temps_Def.D_TROIS_COLONNE.D_FICHE_SAISIE.LIB_idinter +Libellé FR: ID +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4324 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Champ de saisie : +Libellé FR: Adresse du site +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 364 +Largeur interne 211 +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 +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 +06/08/2026 Isis_BO 4325 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Avec focus Non +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Date de début* +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 364 +Largeur interne 102 +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 +06/08/2026 Isis_BO 4326 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › 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 +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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4327 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Champ de saisie : +Libellé FR: Temps global * +Groupe GR_NewSaisie +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Centre +Position X interne 474 +Largeur interne 102 +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: +99,99 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 4328 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Heure d'arrivée +Groupe GR_NewSaisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 364 +Largeur interne 102 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +06/08/2026 Isis_BO 4329 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: HH:MM +Format retour HHMM +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4330 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Champ de saisie : +Libellé FR: Heure de départ +Groupe GR_NewSaisie +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 474 +Largeur interne 102 +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 +Format retour HHMM +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 4331 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: N° Dossier +Groupe GR_NewSaisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 364 +Largeur interne 102 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 4332 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +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 +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 Non +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4333 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Champ de saisie : FI_Saisie_Temps_Def.SAI_Periode +Libellé FR: Période : +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 591 +Largeur interne 223 +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 +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 +06/08/2026 Isis_BO 4334 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › 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. +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Sélecteur : FI_Saisie_Temps_Def.SEL_ModeAffichage +Libellé FR: &Sélecteur 2 colonnes +Valeur initiale 1 +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec ValeurRenvoyée Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 Oui +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Isis_BO 4335 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +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. +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Nb. états image 1 +Largeur image 23 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : FI_Saisie_Temps_Def.D_TROIS_COLONNE.TABLE_TempsSaisie +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre +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) 30 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 4336 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +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 Sous le champ Table +Somme FR: Somme des Heures : +Moyenne FR: Moyenne +Compteur FR: Compteur +Minimum FR: Minimum +Maximum FR: Maximum +Sauve position auto Non +Ruptures Enroulables Non +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Ajout/Suppr. dans variable Non +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 +Zone répétée : FI_Saisie_Temps_Def.D_TROIS_COLONNE.ZR_ListeRDV +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 93 +06/08/2026 Isis_BO 4337 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Largeur colonne 334 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +06/08/2026 Isis_BO 4338 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Zone répétée : +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 45 +Largeur colonne 200 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Toujours visible +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +06/08/2026 Isis_BO 4339 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Parcours Automatique +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Combo + table : FI_Saisie_Temps_Def.COMBO_SDT_RDV +Colonne de table : FI_Saisie_Temps_Def.COMBO_SDT_RDV.COL_Affichage (1) +Titre FR: Affichage +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4340 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Colonne de table : FI_Saisie_Temps_Def.COMBO_SDT_RDV.COL_CollaboRdv (3) +Titre FR: Collaborateur +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 +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 +Liaison des données (null).:gpclListeTypeLieu.m_clTabModele.m_sLibelle +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Saisie_Temps_Def.COMBO_SDT_RDV.COL_DateDebutRDV (4) +Titre FR: DateDebutRDV +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 +06/08/2026 Isis_BO 4341 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Mot de passe Non +Masque saisie FR: UseSystemMask +Masque affichage FR: JJ/MM/AAAA HH:mm +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Saisie_Temps_Def.COMBO_SDT_RDV.COL_DateFinRDV (5) +Titre FR: DateFinRDV +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: UseSystemMask +Masque affichage FR: JJ/MM/AAAA HH:mm +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4342 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Colonne de table : FI_Saisie_Temps_Def.COMBO_SDT_RDV.COL_Description (12) +Titre FR: Description +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Saisie_Temps_Def.COMBO_SDT_RDV.COL_IDCollabRdv (2) +Titre FR: IDCollabRdv +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: MoneySystemMask +06/08/2026 Isis_BO 4343 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Saisie_Temps_Def.COMBO_SDT_RDV.COL_IDGroupeRDV (8) +Titre FR: IDGroupeRDV +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: MoneySystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4344 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Colonne de table : FI_Saisie_Temps_Def.COMBO_SDT_RDV.COL_IDInterRDV (10) +Titre FR: IDInterRDV +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: MoneySystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Saisie_Temps_Def.COMBO_SDT_RDV.COL_IDRdv (11) +Titre FR: IDRdv +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: MoneySystemMask +06/08/2026 Isis_BO 4345 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Saisie_Temps_Def.COMBO_SDT_RDV.COL_InRefInterne (13) +Titre FR: InRefInterne +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4346 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Colonne de table : FI_Saisie_Temps_Def.COMBO_SDT_RDV.COL_ObjetRdv (9) +Titre FR: ObjetRdv +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Saisie_Temps_Def.COMBO_SDT_RDV.COL_PonderationCollab (7) +Titre FR: PonderationCollab +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 +06/08/2026 Isis_BO 4347 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Saisie_Temps_Def.COMBO_SDT_RDV.COL_TypeRDV (6) +Titre FR: TypeRDV +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: MoneySystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4348 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Combo + table : FI_Saisie_Temps_Def.COMBO_SDT_Semaine +Colonne de table : FI_Saisie_Temps_Def.COMBO_SDT_Semaine.COL_Dimanche (4) +Titre FR: Dimanche +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: UseSystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Saisie_Temps_Def.COMBO_SDT_Semaine.COL_Libelle (2) +Titre FR: Libelle +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +06/08/2026 Isis_BO 4349 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Colonne de table : FI_Saisie_Temps_Def.COMBO_SDT_Semaine.COL_Lundi (3) +Titre FR: Lundi +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: UseSystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4350 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Colonne de table : FI_Saisie_Temps_Def.COMBO_SDT_Semaine.COL_NumSemaine (1) +Titre FR: NumSemaine +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: MoneySystemMask +Mode ellipse +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 +Liaison des données :gpclListeTypeLieu.m_clTabModele.:gpclListeTypeLieu.m_clTabModele.m_sLibelle +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Table : FI_Saisie_Temps_Def.D_TROIS_COLONNE.TABLE_TempsSaisie +Colonne de table : +Titre FR: Contrôlé +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +06/08/2026 Isis_BO 4351 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Champ principal IMG_Controle +Coche tous dans entête Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\valide.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4352 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Colonne de table : +Titre FR: Date +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Oui +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: UseSystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Type d'activité +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 +06/08/2026 Isis_BO 4353 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: N° d'intervention +Curseur survol 0 +UI par l'utilisateur +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 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4354 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Colonne de table : +Titre FR: Temps Global +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: MoneySystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Temps non affecté +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: MoneySystemMask +06/08/2026 Isis_BO 4355 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Adresse du Site +Curseur survol 0 +UI par l'utilisateur +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 A la fin +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4356 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Colonne de table : +Titre FR: IDInterVal +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: IDRdv +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 +06/08/2026 Isis_BO 4357 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Masque affichage FR: 999 999 999 999 999 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: IDGroupe +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: MoneySystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4358 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Colonne de table : +Titre FR: Ponderation +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: MoneySystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: IDTemps +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: MoneySystemMask +06/08/2026 Isis_BO 4359 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Zone répétée : FI_Saisie_Temps_Def.D_TROIS_COLONNE.ZR_ListeRDV +Attribut zone répétée : +Champ associé LIB_Adresse +Propriété associée 1 +Attribut zone répétée : +Propriété associée 1 +Attribut zone répétée : +Propriété associée 1 +Attribut zone répétée : +Propriété associée 1 +06/08/2026 Isis_BO 4360 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Attribut zone répétée : +Champ associé BTN_Initiale +Propriété associée 5 +Attribut zone répétée : +Champ associé LIB_NomClient +Propriété associée 1 +Attribut zone répétée : +Champ associé LIB_NumInter +Propriété associée 1 +Attribut zone répétée : +Champ associé LIB_Periodeinter +Propriété associée 1 +Bouton : FI_Saisie_Temps_Def.D_TROIS_COLONNE.ZR_ListeRDV.BTN_Initiale +Libellé FR: XVA +Ordre navigation 1 +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 +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 +06/08/2026 Isis_BO 4361 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Saisie_Temps_Def.D_TROIS_COLONNE.ZR_ListeRDV.FRM_SansNom1 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Saisie_Temps_Def.D_TROIS_COLONNE.ZR_ListeRDV.LIB_Adresse +Libellé FR: 75 chemins des Ecoliers +BP 6302 +42190 SAINT HILAIRE SOUS CHARLIEU +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 +06/08/2026 Isis_BO 4362 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Ancrage au contenu +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Saisie_Temps_Def.D_TROIS_COLONNE.ZR_ListeRDV.LIB_NomClient +Libellé FR: Nom du Client +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 +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 +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 +06/08/2026 Isis_BO 4363 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Saisie_Temps_Def.D_TROIS_COLONNE.ZR_ListeRDV.LIB_NumInter +Libellé FR: Intervention n° 00002336 +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4364 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Libellé : FI_Saisie_Temps_Def.D_TROIS_COLONNE.ZR_ListeRDV.LIB_Periodeinter +Libellé FR: Le 02/02/2020 de 14h00 à 16h00 +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : FI_Saisie_Temps_Def.D_TROIS_COLONNE.D_FICHE_SAISIE.ZR_TypeTemps +Attribut zone répétée : +Champ associé SAI_TypeTemps +Propriété associée 21 +06/08/2026 Isis_BO 4365 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Attribut zone répétée : +Propriété associée 1 +Attribut zone répétée : +Propriété associée 1 +Attribut zone répétée : +Champ associé SAI_TypeTemps +Propriété associée 5 +Liaison des données :gpclFicheSaisieHeure.m_sRefInterneInterv +Attribut zone répétée : +Champ associé SAI_TypeTemps +Propriété associée 1 +Attribut zone répétée : +Propriété associée 1 +Champ de saisie : +Libellé FR: Type de temps +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Centre +06/08/2026 Isis_BO 4366 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Position X interne 364 +Largeur interne 194 +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: +99,99 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +06/08/2026 Isis_BO 4367 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Informations sur les champs +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome Couleur monochrome du style +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_Saisie_Temps_Def +Messages multilingues +06/08/2026 Isis_BO 4368 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FI_Saisie_Temps_Def +Code des champs +Déclarations globales de FI_Saisie_Temps_Def +procédure MaFenêtre() +DISP_BANDEAU_ENTETE[5]..Visible=Faux +gdDateJourAffiche est une Date =DateDuJour() +AfficheInactif est un booléen=Faux +DteLundi est une Date +DteDimanche est une Date +ControleAffaireTraitée est un booléen +ListeJours est une chaîne +//gptabTableauHeure est un tableau dynamique <- InitListeHeures() +gpclFicheSaisieHeure est une PFicheSuiviDesTemps dynamique +InitComboFiltre() +SEL_ModeAffichage=2 +grValTpsTotalMem est un réel +Fin d'initialisation de FI_Saisie_Temps_Def +//gptabTableauHeure <- InitListeHeures() +InitComboRDV(COL_Lundi,COL_Dimanche,COMBO_SDT_IDCollaborateur..ValeurMémorisée) +ListeSemaine(COMBO_SDT_Annee..ValeurAffichée) +DteLundi =COL_Lundi +DteDimanche =COL_Dimanche +Filtre(COMBO_SDT_IDCollaborateur..ValeurMémorisée,COL_Lundi,COL_Dimanche) +ZoneRépétéeSelectMoins(ZR_ListeRDV) +TableSelectMoins(TABLE_TempsSaisie) + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Code des champs +D_TROIS_COLONNE[2]..Visible=Faux +si ZR_ListeRDV..Occurrence=0 alors +D_TROIS_COLONNE[1]..Visible=Faux +fin +Demande de mise à jour de l'affichage de FI_Saisie_Temps_Def +// mise à jour des champs bindés sur la présentation (compteur par exemple) +//// affiche la table et restauration de la position courante +//TableSauvePositionEtSélection(TABLE_TempsSaisie) +//TableAffiche(TABLE_TempsSaisie) +//TableRestaurePositionEtSélection(TABLE_TempsSaisie) +// +//// récupération de l'instance courante +//nIndice est un entier=TableSelect(TABLE_TempsSaisie) +//SI nIndice<=0 _OU_ TABLE_TempsSaisie..Nouveau ALORS +// si TABLE_TempsSaisie..occurrence=0 ou TABLE_TempsSaisie..Modifié=vrai alors +// TABLE_TempsSaisie..Modifié=faux +// +// fin +//FIN +Clic sur BTN_Calendrier +sRetour est une chaîne=OuvrePopup(FEN_ChoixCalendrierTps,COL_Lundi) +nInidce est un entier +dDateRetour est une Date=sRetour +si dDateRetour..Année<>COMBO_SDT_Annee..ValeurMémorisée alors +nInidce=ListeCherche(COMBO_SDT_Annee,Gauche(sRetour,4),Vrai) +si nInidce<>-1 alors +ListeSelectPlus(COMBO_SDT_Annee,nInidce) +fin +fin +dDateJour est une Date +sDateheureinf est une chaîne +sDateheuresup est une chaîne +selon SEL_ModeAffichage +// Jour +cas 1 +COL_Lundi=sRetour +dDateJour=COL_Lundi +dDateJour..Année=COMBO_SDT_Annee +gdDateJourAffiche=dDateJour +N est un entier=DateVersNuméroDeSemaine(dDateJour) +nIndice est un entier=TableCherche(COL_NumSemaine,N,rechercheIdentique) +si nIndice<>-1 alors +ListeSelectPlus(COMBO_SDT_Semaine,nIndice) +fin +sDateheureinf=gdDateJourAffiche+"000000000" +sDateheuresup=gdDateJourAffiche+"235959999" +SAI_Periode=DateVersChaîne(gdDateJourAffiche,"Jjjj JJ Mmmm AAAA") +InitComboRDV(sDateheureinf,sDateheuresup,COMBO_SDT_IDCollaborateur..ValeurMémorisée) +Filtre(COMBO_SDT_IDCollaborateur..ValeurMémorisée,sDateheureinf,sDateheuresup) +retour +// Semaine +cas 2 +N est un entier=DateVersNuméroDeSemaine(sRetour) +nIndice est un entier=TableCherche(COL_NumSemaine,N,rechercheIdentique) +si nIndice<>-1 alors +ListeSelectPlus(COMBO_SDT_Semaine,nIndice) +fin +06/08/2026 Isis_BO 4369 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Code des champs +gdDateJourAffiche=sRetour +ListeSemaine(COMBO_SDT_Annee..ValeurAffichée) +// Mois +cas 3 +// dDateJour=sRetour +// dDateJour..Année=COMBO_SDT_Annee +gdDateJourAffiche=sRetour +ListeMois(COMBO_SDT_Annee..ValeurAffichée) +fin +InitComboRDV(COL_Lundi,COL_Dimanche,COMBO_SDT_IDCollaborateur..ValeurMémorisée) +Filtre(COMBO_SDT_IDCollaborateur..ValeurMémorisée,COL_Lundi,COL_Dimanche) +TableSelectMoins(TABLE_TempsSaisie) +ZoneRépétéeSelectMoins(ZR_ListeRDV) +D_TROIS_COLONNE[2]..Visible=Faux +Clic sur BTN_CopierSemaine +nIDRdv est un entier sur 8 octets +nIDGroupe est un entier +clErreur est une CErreur +pour toute ligne de TABLE_TempsSaisie +clFicheSaisieTps est un MSuiviDesTemps +nIDGroupe=CreaCompteur("GrpeTps") +pour tout SuiviDesTemps avec SDT_IDGroupe=TABLE_TempsSaisie.COL_IDGroupe +clFicheSaisieTps.Charger(SuiviDesTemps) +clFicheSaisieTps.m_bNouveau=Vrai +clFicheSaisieTps.m_nPKID=0 +clFicheSaisieTps.m_nIDCollaborateur=COMBO_SDT_IDCollaborateur1..ValeurMémorisée +clFicheSaisieTps.m_nIDTypeTemps=SuiviDesTemps.SDT_IDTypeTemps +clFicheSaisieTps.m_nIDGroupe=nIDGroupe +si HLitRecherchePremier(Collaborateur,CO_PKID,COMBO_SDT_IDCollaborateur1..ValeurMémorisée) +alors +clFicheSaisieTps.m_rPonderation=Collaborateur.CO_Ponderation +fin +nIDRdv=TABLE_TempsSaisie.COL_IDRdv +si nIDRdv<>0 alors +si HLitRecherchePremier(Planning_RDV,PL_PKID,nIDRdv) alors +pour tout Planning_RDV avec PL_IDGroupe=Planning_RDV.PL_IDGroupe +si Planning_RDV.PL_IDCollaborateur=COMBO_SDT_IDCollaborateur1..ValeurMémorisée +alors +Planning_RDV.PL_TempsValide=Vrai +HModifie(Planning_RDV) +clFicheSaisieTps.m_nIDRdv=Planning_RDV.PL_PKID +sinon +clFicheSaisieTps.m_nIDRdv=0 +fin +fin +fin +fin +si pas clFicheSaisieTps.bEnregistrer(clErreur) alors +Erreur(clErreur.FormateMessage()) +retour +fin +fin +fin +ToastAffiche( +"Vous venez de dupliquer toutes les saisies de temps présentes dans le tableau sur le collaborateur "+ +COMBO_SDT_IDCollaborateur1..ValeurAffichée,toastCourt,cvMilieu,chCentre,OrangeFoncé) +//ClbChoisi est une chaîne +//IdCollabenCours est un entier sur 8 octets=COMBO_SDT_IDCollaborateur..ValeurMémorisée +06/08/2026 Isis_BO 4370 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Code des champs +//ClbChoisi=OuvrePopupPosition(FEN_Liste_Collaborateurs_Temps,poBas,Null,AfficheInactif,IdCollabenCours +) +// +//MessageInfo est une chaîne = "Compte-Rendu de la copie de semaine :"+rc +// +// +//pclListeTemps est une PTableSuiviDesTemps dynamique +// +//pclListeTemps=PTableSuiviDesTemps.gNouvellePresentation(2,COMBO_SDT_IDCollaborateur..ValeurMémorisée, +COL_Lundi,COL_Dimanche) +// +// +//clErr est une CErreur +// +//Ponderation est un numérique +//NomCollab est une chaine +//ClbExtrait est une chaine +////ClbChoisi="41" +//SI ClbChoisi<>"" ALORS +// ClbExtrait=extraitchaine(ClbChoisi,rangPremier,";") +// //On controle si la semaine du collaborateur choisi est vide, sinon on abandonne +// tantque ClbExtrait<>eot +//pclControleSemaineCollab est une PTableSuiviDesTemps dynamique +// +pclControleSemaineCollab=PTableSuiviDesTemps.gNouvellePresentation(2,ClbExtrait,COL_Lundi,COL_Dimanche) +// //Récupération de la pondération du collaborateur choisi +// HLitRecherchePremier(Collaborateur,CO_PKID,ClbExtrait) +// Ponderation=Collaborateur.CO_Ponderation +// NomCollab=Collaborateur.CO_Prenom+" "+Collaborateur.CO_Nom +// SI pclControleSemaineCollab.m_clTabModele..occurrence=0 ALORS +// //Copie des données +// +// Pour i=1 _A_ pclListeTemps.m_clTabModele..occurrence +// clPresentationFiche est un PFicheSuiviDesTemps<-gclPresentationListeTemps.Nouveau() +// clPresentationFiche.m_dDateDebut=pclListeTemps.m_clTabModele[i].m_dDateDebut +// clPresentationFiche.m_nNbMinutes=pclListeTemps.m_clTabModele[i].m_nNbMinutes +// clPresentationFiche.m_dDateFin=pclListeTemps.m_clTabModele[i].m_dDateFin +// clPresentationFiche.m_nIDCollaborateur=ClbChoisi +// clPresentationFiche.m_nIDIntervention=pclListeTemps.m_clTabModele[i].m_nIDIntervention +// clPresentationFiche.m_nIDRdv=pclListeTemps.m_clTabModele[i].m_nIDRdv +// clPresentationFiche.m_nIDTypeTemps=pclListeTemps.m_clTabModele[i].m_nIDTypeTemps +// clPresentationFiche.m_rPonderation=Ponderation +// SI PAS clPresentationFiche.bOK(clErr) ALORS +// Erreur(clErr.FormateMessage()) +// retour +// FIN +// fin +// MessageInfo+="La semaine a bien été dupliquée vers: "+NomCollab+rc +// ClbExtrait = ExtraitChaîne(ClbChoisi, rangSuivant, ";") +// // repasse la table en non modifiée +// TABLE_TempsSaisie..Modifié=Faux +// SINON +// MessageInfo+="Des temps ont déja été saisies pour "+NomCollab+" // Copie abandonnée." +// ClbExtrait = ExtraitChaîne(ClbChoisi, rangSuivant, ";") +// FIN +// fin +//FIN +//si MessageInfo <> "Compte-Rendu de la copie de semaine :"+rc alors +// +//nIndice est un entier +//nIndice=Listecherche(COMBO_SDT_IDCollaborateur,ClbChoisi,vrai) +//ListeSelectPlus(COMBO_SDT_IDCollaborateur,nIndice) +// InitComboRDV(COL_Lundi,COL_Dimanche,COMBO_SDT_IDCollaborateur..ValeurMémorisée) +// Filtre(COMBO_SDT_IDCollaborateur..ValeurMémorisée,COL_Lundi,COL_Dimanche) +06/08/2026 Isis_BO 4371 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Code des champs +// DemandeMiseAJourIHM() +// TableSelectPlus(TABLE_TempsSaisie,TABLE_TempsSaisie..Occurrence) +// Info(MessageInfo) +//fin +Initialisation de BTN_Inactif +MoiMême="Avec les collaborateurs Inactifs" +Clic sur BTN_Inactif +nIDCollabSel est un entier sur 8 octets +nIndice est un entier +nIDCollabSel=COMBO_SDT_IDCollaborateur..ValeurMémorisée +si AfficheInactif=Faux alors +MoiMême..Libellé="Collaborateur Actif seulement" +COMBO_SDT_IDCollaborateur..Libellé="Collaborateur avec les Inactifs" +AfficheInactif=Vrai +sinon +MoiMême..Libellé="Avec les collaborateurs Inactifs" +COMBO_SDT_IDCollaborateur..Libellé="Collaborateur Actif seulement" +AfficheInactif=Faux +fin +InitComboCollab() +nIndice=ListeCherche(COMBO_SDT_IDCollaborateur,nIDCollabSel,Vrai) +si nIndice<>-1 alors +ListeSelectPlus(COMBO_SDT_IDCollaborateur,nIndice) +sinon +ListeSelectPlus(COMBO_SDT_IDCollaborateur,1) +fin +InitComboRDV(COL_Lundi,COL_Dimanche,COMBO_SDT_IDCollaborateur..ValeurMémorisée) +Filtre(COMBO_SDT_IDCollaborateur..ValeurMémorisée,COL_Lundi,COL_Dimanche) +TableSelectMoins(TABLE_TempsSaisie) +ZoneRépétéeSelectMoins(ZR_ListeRDV) +D_TROIS_COLONNE[2]..Visible=Faux +Clic sur BTN_PERIODE_PRECEDENTE +nIndice est un entier +sDateheureinf est une chaîne +sDateheuresup est une chaîne +selon SEL_ModeAffichage +// Jour +cas 1 +SAI_Periode..Libellé="Jour :" +gdDateJourAffiche..Jour-- +SAI_Periode=DateVersChaîne(gdDateJourAffiche,"Jjjj JJ Mmmm AAAA") +sDateheureinf=gdDateJourAffiche+"000000000" +sDateheuresup=gdDateJourAffiche+"235959999" +InitComboRDV(sDateheureinf,sDateheuresup,COMBO_SDT_IDCollaborateur..ValeurMémorisée) +Filtre(COMBO_SDT_IDCollaborateur..ValeurMémorisée,sDateheureinf,sDateheuresup) +retour +// Semaine +cas 2 +nIndice=ListeSelect(COMBO_SDT_Semaine) +si nIndice>1 alors +ListeSelectPlus(COMBO_SDT_Semaine,nIndice-1) +SAI_Periode=COMBO_SDT_Semaine..ValeurAffichée +SAI_Periode..Libellé="Semaine :" +ExécuteTraitement(FI_Saisie_Temps_Def.COMBO_SDT_Semaine,trtSélection) +gdDateJourAffiche=COL_Lundi +06/08/2026 Isis_BO 4372 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Code des champs +fin +// Mois +cas 3 +nIndice=ListeSelect(COMBO_SDT_Semaine) +si nIndice>1 alors +ListeSelectPlus(COMBO_SDT_Semaine,nIndice-1) +SAI_Periode=COMBO_SDT_Semaine..ValeurAffichée +SAI_Periode..Libellé="Mois :" +gdDateJourAffiche=COL_Lundi +fin +fin +InitComboRDV(COL_Lundi,COL_Dimanche,COMBO_SDT_IDCollaborateur..ValeurMémorisée) +Filtre(COMBO_SDT_IDCollaborateur..ValeurMémorisée,COL_Lundi,COL_Dimanche) +TableSelectMoins(TABLE_TempsSaisie) +ZoneRépétéeSelectMoins(ZR_ListeRDV) +D_TROIS_COLONNE[2]..Visible=Faux +Clic sur BTN_PERIODE_SUIVANTE +nIndice est un entier +sDateheureinf est une chaîne +sDateheuresup est une chaîne +selon SEL_ModeAffichage +// Jour +cas 1 +SAI_Periode..Libellé="Jour :" +gdDateJourAffiche..Jour++ +sDateheureinf=gdDateJourAffiche+"000000000" +sDateheuresup=gdDateJourAffiche+"235959999" +SAI_Periode=DateVersChaîne(gdDateJourAffiche,"Jjjj JJ Mmmm AAAA") +InitComboRDV(sDateheureinf,sDateheuresup,COMBO_SDT_IDCollaborateur..ValeurMémorisée) +Filtre(COMBO_SDT_IDCollaborateur..ValeurMémorisée,sDateheureinf,sDateheuresup) +retour +// Semaine +cas 2 +nIndice=ListeSelect(COMBO_SDT_Semaine) +si nIndice"" alors +//InitListeSemaines(val(CMB_Année)) +06/08/2026 Isis_BO 4373 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Code des champs +sDateheureinf est une chaîne +sDateheuresup est une chaîne +dDateJour est une Date +// +selon SEL_ModeAffichage +// Jour +cas 1 +//// BTN_CopierSemaine..Libellé="Copier la journée" +//// SAI_Periode..Libellé="Jour :" +dDateJour=ChaîneVersDate(SAI_Periode,"Jjjj JJ Mmmm AAAA") +dDateJour..Année=COMBO_SDT_Annee +gdDateJourAffiche=dDateJour +sDateheureinf=gdDateJourAffiche+"000000000" +sDateheuresup=gdDateJourAffiche+"235959999" +SAI_Periode=DateVersChaîne(gdDateJourAffiche,"Jjjj JJ Mmmm AAAA") +InitComboRDV(sDateheureinf,sDateheuresup,COMBO_SDT_IDCollaborateur..ValeurMémorisée) +Filtre(COMBO_SDT_IDCollaborateur..ValeurMémorisée,sDateheureinf,sDateheuresup) +retour +// // Semaine +cas 2 +gdDateJourAffiche..Année=COMBO_SDT_Annee..ValeurAffichée +// BTN_CopierSemaine..Libellé="Copier la semaine" +ListeSemaine(COMBO_SDT_Annee..ValeurAffichée) +// COMBO_SDT_Semaine..Libellé="Semaine" +// // Mois +cas 3 +// +//// BTN_CopierSemaine..Libellé="Copier le mois" +gdDateJourAffiche..Année=COMBO_SDT_Annee..ValeurAffichée +ListeMois(COMBO_SDT_Annee..ValeurAffichée) +//// COMBO_SDT_Semaine..Libellé="Mois :" +fin +InitComboRDV(COL_Lundi,COL_Dimanche,COMBO_SDT_IDCollaborateur..ValeurMémorisée) +Filtre(COMBO_SDT_IDCollaborateur..ValeurMémorisée,COL_Lundi,COL_Dimanche) +DteLundi =COL_Lundi +DteDimanche =COL_Dimanche +fin +TableSelectMoins(TABLE_TempsSaisie) +ZoneRépétéeSelectMoins(ZR_ListeRDV) +D_TROIS_COLONNE[2]..Visible=Faux +Sélection d'une ligne de COMBO_SDT_IDCollaborateur +//si COMBO_SDT_IDCollaborateur..ValeurMémorisée<>-1 alors +//InitComboRDV(COL_Lundi,COL_Dimanche,COMBO_SDT_IDCollaborateur..ValeurMémorisée) +//Filtre(COMBO_SDT_IDCollaborateur..ValeurMémorisée,COL_Lundi,COL_Dimanche) +//fin +////DemandeMiseAJourIHM() +//tableaffiche(TABLE_TempsSaisie) +InitComboRDV(COL_Lundi,COL_Dimanche,COMBO_SDT_IDCollaborateur..ValeurMémorisée) +Filtre(COMBO_SDT_IDCollaborateur..ValeurMémorisée,COL_Lundi,COL_Dimanche) +TableSelectMoins(TABLE_TempsSaisie) +ZoneRépétéeSelectMoins(ZR_ListeRDV) +D_TROIS_COLONNE[2]..Visible=Faux +Sélection d'une ligne de COMBO_SDT_RDV +//clErr est un CErreur +//nindice2 est un entier +//nindice2=tableselect(COMBO_SDT_RDV) +//clPresentationFiche est un PFicheSuiviDesTemps<-gclPresentationListeTemps.Nouveau() +////clPresentationFiche.m_dDateDebut=gauche(COL_DateDebutRDV,8) +//clPresentationFiche.m_dDateDebut=COMBO_SDT_RDV.COL_DateDebutRDV[nindice2] +06/08/2026 Isis_BO 4374 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Code des champs +//clPresentationFiche.m_dDateFin=COMBO_SDT_RDV.COL_DateFinRDV[nindice2] +////Diff est un entier +////Diff = HeureDifférence(Milieu(COL_DateDebutRDV,9,4), Milieu(COL_DateFinRDV,9,4)) +// +////clPresentationFiche.m_nNbMinutes=(Diff/100)/60 +////clPresentationFiche.m_sHeuredebut=Gauche(Milieu(COL_DateDebutRDV,9,4),2)+":"+Milieu(COL_DateDebutRD +V,11,2) +////clPresentationFiche.m_sHeureFin=Gauche(Milieu(COL_DateFinRDV,9,4),2)+":"+Milieu(COL_DateFinRDV,11,2 +) +//clPresentationFiche.m_nIDIntervention=COMBO_SDT_RDV.COL_IDInterRDV[nindice2] +//clPresentationFiche.m_nIDCollaborateur=COMBO_SDT_RDV.COL_IDCollabrdv[nindice2] +//clPresentationFiche.m_nIDIntervention=COMBO_SDT_RDV.COL_IDInterRDV[nindice2] +//clPresentationFiche.m_sRefInterneInterv=COMBO_SDT_RDV.COL_InRefInterne[nindice2] +//clPresentationFiche.m_nIDRdv=COMBO_SDT_RDV.COL_IDRdv[nindice2] +//nindice est un entier=tableaucherche(gpclListeTypeTemps.m_clTabModele,tcLinéaire,"m_sValeur","1") +//si nindice<>-1 alors +//clPresentationFiche.m_nIDTypeTemps=gpclListeTypeTemps.m_clTabModele[nindice].m_nPKID +//sinon +// clPresentationFiche.m_nIDTypeTemps=0 +//fin +////clPresentationFiche.m_sLibelle=COL_ObjetRdv +//clPresentationFiche.m_rPonderation=COMBO_SDT_RDV.COL_PonderationCollab[nindice2] +//clPresentationFiche.m_sLibelle=COMBO_SDT_RDV.COL_Description[nindice2] +// +////TableEnregistre(TABLE_TempsSaisie,clPresentationFiche) +// +//// traitement des erreurs +//SI PAS clPresentationFiche.bOK(clErr) ALORS +// Erreur(clErr.FormateMessage()) +//SINON +// +ToastAffiche("Votre saisie de temps à bien été pris en +compte",toastCourt,chCentre,chCentre,VioletPastel) +//FIN +//// repasse la table en non modifiée +//TABLE_TempsSaisie..Modifié=Faux +//tableaffiche(TABLE_TempsSaisie,taInit) +//TableSelectPlus(TABLE_TempsSaisie,TABLE_TempsSaisie..Occurrence) +//RepriseSaisie(COL_Duree) +Sélection d'une ligne de COMBO_SDT_Semaine +InitComboRDV(COL_Lundi,COL_Dimanche,COMBO_SDT_IDCollaborateur..ValeurMémorisée) +Filtre(COMBO_SDT_IDCollaborateur..ValeurMémorisée,COL_Lundi,COL_Dimanche) +DteLundi =COL_Lundi +DteDimanche =COL_Dimanche +TableAffiche(TABLE_TempsSaisie,taInit) +si TABLE_TempsSaisie..Occurrence<>0 alors +TableSelectPlus(TABLE_TempsSaisie,TABLE_TempsSaisie..Occurrence) +fin +Clic sur BTN_Nouvelle_Fiche_Heure2 +ExécuteTraitement(BTN_Valider_fiche_heure,trtClic) +NouvelleFiche() +Clic sur BTN_Valider_fiche_heure +06/08/2026 Isis_BO 4375 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Code des champs +sResult est une chaîne +sDateheureDebut est une chaîne +sDateheureFin est une chaîne +nIndice est un entier +clErreur est un CErreur +sResult=ControleSaisie() +si sResult<>"" alors +Erreur(sResult) +retour +fin +clFicheHeureGlobal est un MSuiviDesTemps +si Val(LIB_PKIDTEMPS)>0 alors +clFicheHeureGlobal.m_bNouveau=Faux +clFicheHeureGlobal.m_nPKID=LIB_PKIDTEMPS +clFicheHeureGlobal.m_nIDGroupe=LIB_Groupe +sinon +clFicheHeureGlobal.m_bNouveau=Vrai +clFicheHeureGlobal.m_nIDGroupe=CreaCompteur("GrpeTps") +fin +clFicheHeureGlobal.m_nIDCollaborateur=Val(D_FICHE_SAISIE.LIB_IdCollab) +clFicheHeureGlobal.m_nIDIntervention=Val(D_FICHE_SAISIE.LIB_idinter) +clFicheHeureGlobal.m_nIDRdv=Val(LIB_RDV1) +clFicheHeureGlobal.m_nIDTypeRdv=COMBO_TypeRdv..ValeurMémorisée +nIndice = TableauCherche(gpclListeTypeTemps.m_clTabModele,tcLinéaire,"m_sValeur","1") +si nIndice<>-1 alors +clFicheHeureGlobal.m_nIDTypeTemps=gpclListeTypeTemps.m_clTabModele[nIndice].m_nPKID +fin +clFicheHeureGlobal.m_nNbMinutes=Val(SAI_DureeDec)*60 +sDateheureDebut= SAI_DateDebut+SAI_HeureDebut +clFicheHeureGlobal.m_dDateDebut=sDateheureDebut +clFicheHeureGlobal.m_bControle=Vrai +si HLitRecherchePremier(Collaborateur,CO_PKID,clFicheHeureGlobal.m_nIDCollaborateur) alors +clFicheHeureGlobal.m_rPonderation=Collaborateur.CO_Ponderation +fin +sDateheureFin=SAI_DateDebut+SAI_HeureFin+"00000" +clFicheHeureGlobal.m_dDateFin=sDateheureFin +si pas clFicheHeureGlobal.bEnregistrer(clErreur) alors +Erreur(clErreur.FormateMessage()) +fin +si HLitRecherchePremier(Planning_RDV,PL_PKID,clFicheHeureGlobal.m_nIDRdv) alors +Planning_RDV.PL_TempsValide=Vrai +HModifie(Planning_RDV) +fin +pour toute ligne de ZR_TypeTemps +clFicheHeure est un MSuiviDesTemps +si ATT_IDTemps<>"0" alors +clFicheHeure.m_bNouveau = Faux +clFicheHeure.m_nPKID = Val(ATT_IDTemps) +sinon +clFicheHeure.m_bNouveau = Vrai +fin +clFicheHeure.m_nIDCollaborateur = Val(D_FICHE_SAISIE.LIB_IdCollab) +clFicheHeure.m_nIDIntervention = Val(D_FICHE_SAISIE.LIB_idinter) +clFicheHeure.m_nIDRdv = Val(LIB_RDV1) +clFicheHeure.m_nIDTypeRdv = COMBO_TypeRdv..ValeurMémorisée +clFicheHeure.m_nIDTypeTemps = ZR_TypeTemps.ATT_IDType +clFicheHeure.m_nNbMinutes = Val(ATT_LibValeur)*60 +sDateheureDebut = SAI_DateDebut+SAI_HeureDebut +sDateheureFin = SAI_DateDebut+SAI_HeureFin +//SI gpclListeTypeTemps.RechercheEtDonneValeurDepuisId(clFicheHeure.m_nIDTypeTemps)="2" ALORS +06/08/2026 Isis_BO 4376 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Code des champs +clFicheHeure.m_dDateDebut = sDateheureDebut +clFicheHeure.m_dDateFin = sDateheureFin +//FIN +clFicheHeure.m_bControle = Vrai +clFicheHeure.m_nIDGroupe = clFicheHeureGlobal.m_nIDGroupe +si HLitRecherchePremier(Collaborateur,CO_PKID,clFicheHeure.m_nIDCollaborateur) alors +clFicheHeure.m_rPonderation = Collaborateur.CO_Ponderation +fin +// clFicheHeure.m_dDateFin=SAI_DateDebut+SAI_HeureDebut+"00000" +si pas clFicheHeure.bEnregistrer(clErreur) alors +Erreur(clErreur.FormateMessage()) +fin +ATT_IDTemps = clFicheHeure.m_nPKID +fin +LIB_PKIDTEMPS=clFicheHeureGlobal.m_nPKID +InitComboRDV(COL_Lundi,COL_Dimanche,COMBO_SDT_IDCollaborateur..ValeurMémorisée) +Filtre(COMBO_SDT_IDCollaborateur..ValeurMémorisée,COL_Lundi,COL_Dimanche) +nIndice=TableCherche(TABLE_TempsSaisie.COL_IDRdv,clFicheHeureGlobal.m_nIDRdv,rechercheIdentique) +si nIndice<>-1 alors +TableSelectPlus(TABLE_TempsSaisie,nIndice) +fin +nIndice=ZoneRépétéeCherche(ZR_ListeRDV.ATT_IDRdv,clFicheHeureGlobal.m_nIDRdv,rechercheIdentique) +si nIndice<>-1 alors +ZoneRépétéeSelectPlus(ZR_ListeRDV,nIndice) +fin +Sélection d'une ligne de COMBO_PL_LieIntervention +nPKID est un entier sur 8 octets +si MoiMême..ValeurAffichée<>"" alors +nPKID = MoiMême..ValeurMémorisée +LIB_idinter=nPKID +sdReq est une Requête SQL = +[ +SELECT Adresse.AD_Presentation FROM Adresse +INNER JOIN Lieu ON Lieu.LI_IDAdresse=Adresse.AD_PKID +INNER JOIN Intervention ON Intervention.IN_IDLieu=Lieu.LI_PKID +WHERE Intervention.IN_PKID={P_IDInter} +] +sdReq.P_IDInter=nPKID +HExécuteRequête(sdReq,hRequêteDéfaut) +si HLitPremier(sdReq) alors +SAI_Adresse=sdReq.AD_Presentation +fin +fin +Sélection d'une ligne de COMBO_TypeRdv +nIndice est un entier = TableauCherche(gpclListeTypeRendezVous.m_clTabModele,tcLinéaire,"m_sValeur","1" +) +si COMBO_TypeRdv..ValeurMémorisée<>gpclListeTypeRendezVous.m_clTabModele[nIndice].m_nPKID alors +D_FICHE_SAISIE[2]..Visible=Faux +D_FICHE_SAISIE[4]..Visible=Faux +D_FICHE_SAISIE[5]..Visible=Faux +//D_FICHE_SAISIE[6]..Visible=Faux +sinon +D_FICHE_SAISIE[2]..Visible=Vrai +D_FICHE_SAISIE[4]..Visible=Vrai +D_FICHE_SAISIE[5]..Visible=Vrai +//D_FICHE_SAISIE[6]..Visible=Vrai +fin +A chaque modification de SAI_DateDebut +06/08/2026 Isis_BO 4377 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Code des champs +ChampVersSource() +A chaque modification de SAI_DureeDec +CalculTempsNonAffecte() +Touche enfoncée (WM_KEYDOWN) de SAI_DureeDec +nTouche est un entier = 0x0d +// Vérifie si la touche dont le code virtuel est 0x0d a été appuyée +si ToucheEnfoncée(nTouche) alors +// Insérer ici le traitement à effectuer +ExécuteTraitement(BTN_Valider_fiche_heure,trtClic) +fin +Sortie de SAI_HeureDebut +//CalculAutoDurée() +Sortie de SAI_HeureFin +//CalculAutoDurée() +A chaque modification de SAI_NumInter +//SI SAI_NumInter<>"" ALORS +// SI Taille(SAI_NumInter..ValeurAffichée)> 2 ALORS +// ListeInter est une PTableIntervention dynamique +// ListeInter=PTableIntervention.gNouvellePresentation(2,SAI_NumInter) +// SaisieAssistéeSupprimeTout(SAI_NumInter) +// +// POUR i=1 _a_ ListeInter.m_clTabModele..occurrence +// +SaisieAssistéeAjoute(SAI_NumInter,ListeInter.m_clTabModele[i].m_sRefInterne+"/["+ListeInter.m_clTabMode +le[i].m_nPKID+"]") +// FIN +// SaisieAssistéeOuvre(SAI_NumInter) +// SINON +// pclListeIntervention est une PtableIntervention dynamique +// pclListeIntervention=PTableIntervention.gNouvellePresentation(3,SAI_NumInter) +// SaisieAssistéeSupprimeTout(SAI_NumInter) +// +// POUR i=1 _a_ pclListeIntervention.m_clTabModele..occurrence +// +SaisieAssistéeAjoute(SAI_NumInter,pclListeIntervention.m_clTabModele[i].m_sRefInterne+"/["+pclListeInte +rvention.m_clTabModele[i].m_nPKID+"]") +// FIN +// SaisieAssistéeOuvre(SAI_NumInter) +// FIN +//FIN +si SAI_NumInter="" alors +SAI_Adresse="" +LIB_idinter="" +sinon +// ModifZoneSaisieAssistee(MoiMême,2,Faux,"","") +si Taille(SAI_NumInter..ValeurAffichée)> 2 alors +ListeDossier est une PTableDossier dynamique +06/08/2026 Isis_BO 4378 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Code des champs +ListeDossier=PTableDossier.gNouvellePresentation(2,SAI_NumInter) +SaisieAssistéeSupprimeTout(SAI_NumInter) +pour i=1 _à_ ListeDossier.m_clTabModele..occurrence +SaisieAssistéeAjoute(SAI_NumInter,ListeDossier.m_clTabModele[i].m_sRefInterne+gStylo( +Transparent)+"/["+ListeDossier.m_clTabModele[i].m_nPKID+"]") +fin +SaisieAssistéeOuvre(SAI_NumInter) +sinon +ListeDossier est une PTableDossier dynamique +ListeDossier=PTableDossier.gNouvellePresentation(3,SAI_NumInter) +SaisieAssistéeSupprimeTout(SAI_NumInter) +pour i=1 _à_ ListeDossier.m_clTabModele..occurrence +SaisieAssistéeAjoute(SAI_NumInter,ListeDossier.m_clTabModele[i].m_sRefInterne+gStylo( +Transparent)+"/["+ListeDossier.m_clTabModele[i].m_nPKID+"]") +fin +SaisieAssistéeOuvre(SAI_NumInter) +fin +fin +Sélection d'une valeur dans la liste de saisie assistée de SAI_NumInter +//nPKID est un entier sur 8 octets +//SI MoiMême..ValeurAffichée<>"" ALORS +// nPKID = Val(ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"[",DepuisDébut),1,"]")) +// LIB_idinter=nPKID +// sTitre est une chaine = ExtraitChaîne(MoiMême,1,"/",DepuisDébut) +// SI nPKID>0 ALORS +// MoiMême = Majuscule(sTitre) +// FIN +// sdReq est une requête SQL = +//[ +// select ADRESSE.AD_Presentation FROM Adresse +// INNER JOIN LIEU ON LIEU.LI_IDAdresse=adresse.AD_PKID +// inner join Intervention on intervention.IN_IDLieu=Lieu.LI_PKID +// +// where Intervention.IN_PKID={P_IDInter} +//] +//sdReq.P_IDInter=nPKID +//HExécuteRequête(sdReq,hRequêteDéfaut) +// +//si hlitpremier(sdReq) alors +// sai_adresse=sdReq.AD_Presentation +//fin +//FIN +nPKID est un entier sur 8 octets +si MoiMême..ValeurAffichée<>"" alors +nPKID = Val(ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"[",DepuisDébut),1,"]")) +sTitre est une chaîne = ExtraitChaîne(MoiMême,1,"/",DepuisDébut) +si nPKID>0 alors +MoiMême = Majuscule(sTitre) +fin +fin +ListeSupprimeTout(COMBO_PL_LieIntervention) +pour tout Intervention avec IN_IDDossier=nPKID +ListeAjoute(COMBO_PL_LieIntervention,Intervention.IN_RefInterne+gLien(Intervention.IN_PKID)) +fin +si COMBO_PL_LieIntervention..Occurrence=1 alors +ListeSelectPlus(COMBO_PL_LieIntervention,1) +ExécuteTraitement(COMBO_PL_LieIntervention,trtSélection) +COMBO_PL_LieIntervention..Visible=Vrai +06/08/2026 Isis_BO 4379 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Code des champs +sinon si COMBO_PL_LieIntervention..Occurrence=0 +COMBO_PL_LieIntervention..Visible=Faux +sinon +ListeSelectPlus(COMBO_PL_LieIntervention,COMBO_PL_LieIntervention..Occurrence) +ExécuteTraitement(COMBO_PL_LieIntervention,trtSélection) +COMBO_PL_LieIntervention..Visible=Vrai +fin +RepriseSaisie(COMBO_PL_LieIntervention) +Sortie de SAI_TypeTemps ( ZR_TypeTemps ) +CalculTempsNonAffecte() +Sélection d'une ligne de TABLE_TempsSaisie +nIndice est un entier +nIndice=ZoneRépétéeCherche(ZR_ListeRDV.ATT_IDRdv,TABLE_TempsSaisie.COL_IDRdv) +si nIndice<>-1 alors +ZoneRépétéeSelectPlus(ZR_ListeRDV,nIndice) +RempliFicheHeures_2(Val(ZR_ListeRDV[nIndice].ATT_IDRdv),Val(ZR_ListeRDV[nIndice].ATT_IDInter), +COMBO_SDT_IDCollaborateur..ValeurMémorisée) +//RempliFicheHeures(Val(ZR_ListeRDV[nIndice].ATT_IDRdv),val(ZR_ListeRDV[nIndice].ATT_IDInter)) +CalculTempsNonAffecte() +sinon +nIndice = TableauCherche(gpclListeTypeTemps.m_clTabModele,tcLinéaire,"m_sValeur","1") +RempliFicheHeuresGrpe_2(Val(COL_IDGroupe),gpclListeTypeTemps.m_clTabModele[nIndice].m_nPKID) +//RempliFicheHeuresGrpe(val(COL_IDGroupe),gpclListeTypeTemps.m_clTabModele[nIndice].m_nPKID) +CalculTempsNonAffecte() +fin +Sortie de COL_Date ( TABLE_TempsSaisie ) +si COL_Date<=DteDimanche alors +//gptabTableauHeure <- +AjouterRDVListeHeure(DateVersChaîne(COL_Date,"AAAAMMJJ"),DateVersChaîne(COL_Date,"AAAAMMJJ"),COMBO_SDT_ +IDCollaborateur..ValeurMémorisée,gptabTableauHeure) +//ListeAffiche(COL_HeureDebut,taInit) +//ListeAffiche(COL_HeureFin,taInit) +sinon +Info("Cette date ne fait pas partie de la semaine affichée") +COL_Date="" +fin +//ListeSupprimeTout(COL_HeureDebut) +//ListeSupprimeTout(COL_Heurefin) +//pour TOUT nelement DE gptabTableauHeure +// ListeAjoute(COL_HeureDebut,nelement) +// ListeAjoute(COL_Heurefin,nelement) +//FIN +Sélection d'une ligne de ZR_ListeRDV +RempliFicheHeures_2(Val(ATT_IDRdv),Val(ATT_IDInter),COMBO_SDT_IDCollaborateur..ValeurMémorisée) +//RempliFicheHeures(VAL(ATT_IDRdv),val(ATT_IDInter)) +CalculTempsNonAffecte() +Initialisation de BTN_CSV +06/08/2026 Isis_BO 4380 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Code des champs + +MoiMême..Visible = Faux + +Clic sur BTN_CSV +Ouvre(FEN_Exporter_Temps_CSV) +Clic sur BTN_Fermer_fiche_intervention +FermeVoletEtActiveLePrecedent(VoletDuChamp(DISP_FICHE_TEMPS)) +Clic sur BTN_Imprimer +// Création d'un nom de fichier unique +D_TROIS_COLONNE..Visible=Faux +DISP_FICHE_TEMPS..Visible=Faux +FRM_ENTETE..Visible=Faux +DISP_BANDEAU_ENTETE..Visible=Faux +FEN_Menu.AffichageActif = Faux +iRAZ() +iAperçu(iapZoomDéfaut) +// Impression de l'état basé sur le champ Table "TABLE_TableClient" +clListeTemps est un PTableSuiviDesTemps dynamique +clListeTemps=PTableSuiviDesTemps.gNouvellePresentation(2,COMBO_SDT_IDCollaborateur..ValeurMémorisée, +COL_Lundi,COL_Dimanche) +tabMSuiviDesTemps est tableau de MSuiviDesTemps dynamique = clListeTemps:m_clTabModele +tabMSuiviDesTemps.Trie(ttMembre+tccOrdreLexicographique,"m_clCollaborateur:m_sNom") +iImprimeEtat(ETAT_SuivieDesTemps,tabMSuiviDesTemps,COMBO_SDT_Semaine..ValeurAffichée+" "+COMBO_ +SDT_Annee..ValeurAffichée) +FEN_Menu.AffichageActif = Vrai +D_TROIS_COLONNE..Visible=Vrai +DISP_FICHE_TEMPS..Visible=Vrai +FRM_ENTETE..Visible=Vrai +DISP_BANDEAU_ENTETE..Visible=Vrai +Clic sur BTN_Nouvelle_Fiche_Heure1 +NouvelleFiche() +//SAI_DateDebut=COL_Lundi +D_TROIS_COLONNE[2]..Visible=Vrai +Clic sur BTN_Parametre +//OuvrePopupPosition(FEN_Choix_Parametre_Metier,poHaut,*,DonneParam(DansFenetre,"FI_Saisie_temps_Def",M +oiMême..Nom,maProcMAJObjetRetourListDossier," +Etat d'intervention","EtatIntervention",*,pclTabEtat,Vrai)) +Clic sur BTN_Refresh_fiche_intervention +nIndice est un entier +sDateheureinf est une chaîne +sDateheuresup est une chaîne +selon SEL_ModeAffichage +// Jour +cas 1 +SAI_Periode..Libellé="Jour :" +06/08/2026 Isis_BO 4381 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Code des champs +sDateheureinf=gdDateJourAffiche+"000000000" +sDateheuresup=gdDateJourAffiche+"235959999" +SAI_Periode=DateVersChaîne(gdDateJourAffiche,"Jjjj JJ Mmmm AAAA") +InitComboRDV(sDateheureinf,sDateheuresup,COMBO_SDT_IDCollaborateur..ValeurMémorisée) +Filtre(COMBO_SDT_IDCollaborateur..ValeurMémorisée,sDateheureinf,sDateheuresup) +retour +// Semaine +cas 2 +nIndice=ListeSelect(COMBO_SDT_Semaine) +si nIndice-1 alors +ListeSelectPlus(COMBO_SDT_Semaine,nIndice) +fin +sDateheureinf=gdDateJourAffiche+"000000000" +sDateheuresup=gdDateJourAffiche+"235959999" +SAI_Periode=DateVersChaîne(gdDateJourAffiche,"Jjjj JJ Mmmm AAAA") +InitComboRDV(sDateheureinf,sDateheuresup,COMBO_SDT_IDCollaborateur..ValeurMémorisée) +Filtre(COMBO_SDT_IDCollaborateur..ValeurMémorisée,sDateheureinf,sDateheuresup) +retour +// Semaine +cas 2 +dDateJour=COL_Lundi +dDateJour..Année=COMBO_SDT_Annee +gdDateJourAffiche=dDateJour +BTN_CopierSemaine..Libellé="Copier la semaine" +ListeSemaine(COMBO_SDT_Annee..ValeurAffichée) +COMBO_SDT_Semaine..Libellé="Semaine" +// Mois +cas 3 +dDateJour=COL_Lundi +dDateJour..Année=COMBO_SDT_Annee +gdDateJourAffiche=dDateJour +BTN_CopierSemaine..Libellé="Copier le mois" +ListeMois(COMBO_SDT_Annee..ValeurAffichée) +COMBO_SDT_Semaine..Libellé="Mois :" +fin +InitComboRDV(COL_Lundi,COL_Dimanche,COMBO_SDT_IDCollaborateur..ValeurMémorisée) +Filtre(COMBO_SDT_IDCollaborateur..ValeurMémorisée,COL_Lundi,COL_Dimanche) +TableSelectMoins(TABLE_TempsSaisie) +ZoneRépétéeSelectMoins(ZR_ListeRDV) +D_TROIS_COLONNE[2]..Visible=Faux +FI_Saisie_Temps_Def +Procédures +Procédure locale AjouterRDVListeHeure +// Résumé : +// Syntaxe : +//[ = ] AjouterRDVListeHeure ( [ est chaîne [, est chaîne [, + est entier sur 8 octets [, est tableau]]]]) +// +// Paramètres : +// sDateInf (chaîne ANSI - valeur par défaut="") : +// sDateSup (chaîne ANSI - valeur par défaut="") : +// nIdCollab (entier sur 8 octets - valeur par défaut=-1) : +// ptabGptabTableauHeure (tableau - valeur par défaut=0) : < +indiquez ici le rôle de ptabGptabTableauHeure> +// Valeur de retour : +// tableau : // Aucune +// +// Exemple : +06/08/2026 Isis_BO 4383 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Procédures +// Indiquez ici un exemple d'utilisation. +// +procédure AjouterRDVListeHeure(local sDateInf est une chaîne="",local sDateSup est une chaîne="",local +nIdCollab est un entier sur 8 octets=-1,local ptabGptabTableauHeure est un tableau dynamique=Null) +TableauSupprimeTout(ptabGptabTableauHeure) +reqRdv est une Requête SQL = +[ +SELECT PL_DateDebut,PL_DateFin,PL_PKID,PL_IDGroupe,PL_Objet,PL_IDIntervention,CO_Nom,CO_Prenom, +CO_PKID,CO_Ponderation,IN_RefInterne FROM Planning_RDV +INNER JOIN Collaborateur ON Collaborateur.CO_PKID=Planning_RDV.PL_IDCollaborateur +INNER JOIN Intervention ON Intervention.IN_PKID=Planning_RDV.PL_IDIntervention +WHERE Planning_RDV.PL_IDCollaborateur={P_IDCollab} AND Planning_RDV.PL_DateDebut BETWEEN +{P_dateInf} AND {P_dateSup} +] +reqRdv.P_IDCollab = nIdCollab=-1 ? Null sinon nIdCollab +reqRdv.P_dateInf = sDateInf=-1 ? Null sinon sDateInf+"000000000" +reqRdv.P_dateSup = sDateSup=-1 ? Null sinon sDateSup+"235959000" +si HExécuteRequête(reqRdv) alors +pour tout reqRdv +Ajoute(ptabGptabTableauHeure,"Rdv-("+Milieu(reqRdv.PL_DateDebut,9,2)+"H"+Milieu(reqRdv.PL_DateDebut +,11,2)+"-"+Milieu(reqRdv.PL_Datefin,9,2)+"H"+Milieu(reqRdv.PL_Datefin,11,2)+")"+" "+"["+reqRdv. +PL_PKID+"/"+reqRdv.PL_IDIntervention+"]") +fin +fin +hMonHeure est une Heure="0" +pour i=0 _à_ 23 +pour j= 0 _à_ 45 pas 15 +Ajoute(ptabGptabTableauHeure,NumériqueVersChaîne(i,"02d")+":"+NumériqueVersChaîne(j,"02d")) +fin +fin +HAnnuleDéclaration(reqRdv) +renvoyer ptabGptabTableauHeure +Procédure locale CalculAutoDurée +// Résumé : +// Syntaxe : +// CalculAutoDurée () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure CalculAutoDurée() +//SI SAI_DateDebut<>"" et SAI_HeureDebut<>"" et SAI_Heurefin<>"" ALORS +// sHeureDebut est une chaine= gauche(SAI_DateDebut,8)+droite(SAI_HeureDebut,9) +// sHeureFin est une chaine= gauche(SAI_DateDebut,8)+droite(SAI_Heurefin,9) +// CalculDuree(sHeureDebut,sHeureFin) +//FIN +Procédure locale CalculAutoHeureFin +// Résumé : +// Syntaxe : +// CalculAutoHeureFin () +// +06/08/2026 Isis_BO 4384 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Procédures +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure CalculAutoHeureFin() +//SI SAI_HeureDebut<>"" ET SAI_HeureDebut<>"" ALORS +// H1,H2 sont des Heures +// +// H0 est Heure="00000000" +// H1=SAI_HeureDebut // HHMMSS <23.59.59 +// H2=SAI_DureeHeure +// +// duDUR est une Durée=(H1-H0)+(H2-H0) +// +// SAI_HeureFin=Droite(duDUR,9) +//FIN +Procédure locale CalculDuree +// Résumé : +// Syntaxe : +//CalculDuree (, ) +// +// Paramètres : +// DateHeureDebut : +// DateheureFin : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure CalculDuree(DateHeureDebut,DateheureFin) +hHeuredebut est une Heure= Droite(DateHeureDebut,9) +HeureFin est une Heure=Droite(DateheureFin,9) +DureeInter est une Durée =HeureFin-hHeuredebut +SAI_DureeDec=Milieu(DureeInter,2,4) +//SAI_DureeDec=Val(Gauche(SAI_DureeHeure,2))+((Val(Droite(SAI_DureeHeure,2))*0.5)/30) +Procédure locale CalculTempsNonAffecte +// Résumé : +// Syntaxe : +// CalculTempsNonAffecte () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure CalculTempsNonAffecte() +nIDTpsnonaffecte est un entier sur 8 octets +nIndice est un entier = TableauCherche(gpclListeTypeTemps.m_clTabModele,tcLinéaire,"m_sValeur","99") +si nIndice <>-1 alors +nIDTpsnonaffecte=gpclListeTypeTemps.m_clTabModele[nIndice].m_nPKID +fin +06/08/2026 Isis_BO 4385 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Procédures +rTempsTotal est un réel +pour toute ligne de ZR_TypeTemps +si ATT_IDType<>nIDTpsnonaffecte +rTempsTotal+=Val(ZR_TypeTemps.ATT_LibValeur) +fin +fin +nIndice=ZoneRépétéeCherche(ATT_IDType,nIDTpsnonaffecte,rechercheIdentique) +si nIndice<>-1 alors +ZR_TypeTemps[nIndice].ATT_LibValeur=SAI_DureeDec-rTempsTotal +selon ZR_TypeTemps[nIndice].ATT_LibValeur +cas 0 +ZR_TypeTemps[nIndice].ATT_Couleur=VertFoncé +cas >0 +ZR_TypeTemps[nIndice].ATT_Couleur=OrangeFoncé +cas <0 +ZR_TypeTemps[nIndice].ATT_Couleur=RougeFoncé +autre cas +fin +fin +Procédure locale ControleSaisie +// Résumé : +// Syntaxe : +//[ = ] ControleSaisie () +// +// Paramètres : +// Aucun +// Valeur de retour : +// chaîne ANSI : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ControleSaisie() +sMessageErreur est une chaîne +si SAI_DateDebut=0 ou SAI_DateDebut="" alors +sMessageErreur="Vous devez obligatoirement saisir une date de début pour la saisie de votre temps" +fin +si SAI_DateDebut>DateDuJour() alors +sMessageErreur+=[RC]+ +"Vous ne pouvez pas saisir et valider des heures non encore effectuées, merci de modifier la date +de début." +fin +si SAI_DureeDec=0 ou SAI_DureeDec="" alors +sMessageErreur+=[RC]+"Vous n'avez pas saisi de durée pour votre temps effectué, vous devez saisir +obligatoiremùent une durée." +fin +nIDTpsnonaffecte est un entier sur 8 octets +nIndice est un entier = TableauCherche(gpclListeTypeTemps.m_clTabModele,tcLinéaire,"m_sValeur","99") +si nIndice <>-1 alors +nIDTpsnonaffecte=gpclListeTypeTemps.m_clTabModele[nIndice].m_nPKID +fin +nIndice =ZoneRépétéeCherche(ATT_IDType,nIDTpsnonaffecte,rechercheIdentique) +si nIndice<>-1 alors +si ZR_TypeTemps[nIndice].ATT_LibValeur<0 alors +sMessageErreur+=[RC]+ +"Votre saisie de temps comporte un temps non affecté négatif, vous ne pouvez pas valider cette fiche +d'heures, merci de corriger afin d'obtenir un temps non alloué supérieur ou égal à 0." +06/08/2026 Isis_BO 4386 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Procédures +fin +fin +renvoyer sMessageErreur +Procédure locale DonneFocusChamp +// Résumé : +// Syntaxe : +// DonneFocusChamp () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneFocusChamp() +DonneFocus(COMBO_SDT_IDCollaborateur) +Procédure locale EnregistreTempsRDV +// Résumé : +// Syntaxe : +//EnregistreTempsRDV () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sNomColonne (chaîne ANSI) : +procédure EnregistreTempsRDV() +//SI Gauche({sNomColonne},3)="Rdv" ALORS +// sDHdebut est une chaîne +// sDHFin est une chaîne +// sIDRDV EST UNe chaine +// sIDInter est une chaine +// +// sDHdebut=Remplace(Gauche(ExtraitChaîne({sNomColonne}..ValeurAffichée,2,"(",DepuisDébut),5),"H",":") +// sDHFin=Remplace(Gauche(ExtraitChaîne({sNomColonne}..ValeurAffichée,3,"-",DepuisDébut),5),"H",":") +// +sIDRDV= ExtraitChaîne(ExtraitChaîne({sNomColonne}..ValeurAffichée,2,"[",DepuisDébut),1,"/",DepuisDébut) +// +sIDInter=ExtraitChaîne(ExtraitChaîne({sNomColonne}..ValeurAffichée,2,"/",DepuisDébut),1,"]",DepuisDébut +) +// +// clErr est un CErreur +// +// clPresentationFiche est un PFicheSuiviDesTemps<-gclPresentationListeTemps.Nouveau() +// clPresentationFiche.m_dDateDebut=COL_Date..Valeur +// Diff est un entier +// +// sHeureDebutCalc est une chaine=Remplace(sDHdebut,":","") +// sHeureFinCalc est une chaine=Remplace(sDHFin,":","") +// Diff = HeureDifférence(sHeureDebutCalc,sHeureFinCalc) +// +// clPresentationFiche.m_nNbMinutes=(Diff/100)/60 +06/08/2026 Isis_BO 4387 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Procédures +// clPresentationFiche.m_dDateDebut=sDHdebut +// clPresentationFiche.m_dDateFin=sDHFin +// clPresentationFiche.m_nIDCollaborateur=COL_IDCollabRdv +// clPresentationFiche.m_nIDIntervention=Val(sIDInter) +// clPresentationFiche.m_nIDRdv=Val(sIDRDV) +// clPresentationFiche.m_nIDTypeTemps=281474976710658 +// clPresentationFiche.m_rPonderation=COL_PonderationCollab +// +// +// // traitement des erreurs +// SI PAS clPresentationFiche.bOK(clErr) ALORS +// Erreur(clErr.FormateMessage()) +// SINON +// +ToastAffiche("Votre saisie de temps à bien été pris en +compte",toastCourt,chCentre,chCentre,VioletPastel) +// FIN +// // repasse la table en non modifiée +// TABLE_TempsSaisie..Modifié=Faux +// TableAffiche(TABLE_TempsSaisie,taInit) +//FIN +Procédure locale Filtre +// Résumé : +// Syntaxe : +//Filtre (, , ) +// +// Paramètres : +// nIdCollaborateur : +// sDateInf : +// sDateSup : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Filtre(nIdCollaborateur,sDateInf,sDateSup) +sImage est une chaîne +sAdresse est une chaîne +TableSupprimeTout(TABLE_TempsSaisie) +nIndice est un entier +sLibTypetemps est une chaîne +sTempsNonAffecte est une chaîne +sTpsGlobal est une chaîne +nTpsGlobal est un entier sur 8 octets +nIDTpsnonaffecte est un entier sur 8 octets +nInd est un entier = TableauCherche(gpclListeTypeTemps.m_clTabModele,tcLinéaire,"m_sValeur","99") +si nIndice <>-1 alors +nIDTpsnonaffecte=gpclListeTypeTemps.m_clTabModele[nInd].m_nPKID +fin +nInd = TableauCherche(gpclListeTypeTemps.m_clTabModele,tcLinéaire,"m_sValeur","1") +si nIndice <>-1 alors +nTpsGlobal=gpclListeTypeTemps.m_clTabModele[nInd].m_nPKID +fin +sdReq est une Requête SQL = +[ +SELECT SDT_Ponderation,LEFT(SDT_DateDebut,8) AS datedebut,SDT_IDCollaborateur, SDT_IDIntervention, +SDT_IDRdv, SDT_NbMinutes,Intervention.IN_RefInterne,SuiviDesTemps.SDT_Controle,Lieu.LI_IDAdresse, +SuiviDesTemps.SDT_IDGroupe, +SuiviDesTemps.SDT_IDTypeRdv,SuiviDesTemps.SDT_PKID +FROM SuiviDesTemps +06/08/2026 Isis_BO 4388 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Procédures +INNER JOIN Collaborateur ON Collaborateur.CO_PKID = SuiviDesTemps.SDT_IDCollaborateur +LEFT OUTER JOIN Intervention ON (Intervention.IN_PKID=SuiviDesTemps.SDT_IDIntervention) +LEFT OUTER JOIN Lieu ON Lieu.LI_PKID=Intervention.IN_IDLieu +WHERE (SuiviDesTemps.SDT_IDCollaborateur={p_IdCollaborateur} AND (SuiviDesTemps.SDT_DateDebut +BETWEEN {p_DateInf} AND {p_DateSup})) AND SuiviDesTemps.SDT_IDTypeTemps={P_IDTypeTemps} +ORDER BY datedebut DESC +] +// +GROUP BY +SDT_IDRdv,SDT_IDIntervention,SDT_IDCollaborateur,SDT_Ponderation,LEFT(SDT_DateDebut,8),Intervention.IN_ +RefInterne,SuiviDesTemps.SDT_Controle,Lieu.LI_IDAdresse +sdReq.p_IdCollaborateur = nIdCollaborateur=-1 ? Null sinon nIdCollaborateur +sdReq.p_DateInf= sDateInf +sdReq.p_DateSup= sDateSup +nIndice = TableauCherche(gpclListeTypeTemps.m_clTabModele,tcLinéaire,"m_sValeur","2") +si nIndice<>-1 alors +sdReq.P_IDTypeTemps=gpclListeTypeTemps.m_clTabModele[nIndice].m_nPKID +fin +// exécution de la requête +si HExécuteRequête(sdReq) alors +// charge les enregistrements en mémoire +pour tout sdReq +sTempsNonAffecte="" +nIndice3 est un entier = TableauCherche(gpclListeTypeRendezVous.m_clTabModele,tcLinéaire, +"m_nPKID",sdReq.SDT_IDTypeRdv) +si nIndice3 <>-1 alors +sLibTypetemps=gpclListeTypeRendezVous.m_clTabModele[nIndice3].m_sLibelle +fin +si sdReq.SDT_IDRdv<>0 alors +pour tout SuiviDesTemps avec SDT_IDRdv=sdReq.SDT_IDRdv +si SuiviDesTemps.SDT_IDTypeTemps=nIDTpsnonaffecte alors +sTempsNonAffecte=SuiviDesTemps.SDT_NbMinutes/60 +fin +si SuiviDesTemps.SDT_IDTypeTemps=nTpsGlobal alors +sTpsGlobal=SuiviDesTemps.SDT_NbMinutes/60 +fin +fin +sinon +pour tout SuiviDesTemps avec SDT_IDGroupe=sdReq.SDT_IDGroupe +si SuiviDesTemps.SDT_IDTypeTemps=nIDTpsnonaffecte alors +sTempsNonAffecte=SuiviDesTemps.SDT_NbMinutes/60 +fin +si SuiviDesTemps.SDT_IDTypeTemps=nTpsGlobal alors +sTpsGlobal=SuiviDesTemps.SDT_NbMinutes/60 +fin +fin +fin +si sdReq.SDT_Controle=Vrai alors +sImage="valide.png" +sinon +sImage="supprime1.png" +fin +si HLitRecherchePremier(Adresse,AD_PKID,sdReq.LI_IDAdresse) alors +sAdresse=Adresse.AD_Presentation +sinon +sAdresse="" +fin +TableAjouteLigne(TABLE_TempsSaisie,sImage,sdReq.datedebut,sLibTypetemps,sdReq.IN_RefInterne, +sTpsGlobal,sTempsNonAffecte,sAdresse,sdReq.SDT_IDIntervention,sdReq.SDT_IDRdv,sdReq.SDT_IDGroupe, +sdReq.SDT_Ponderation,sdReq.SDT_PKID) +fin +fin +TableSauvePositionEtSélection(TABLE_TempsSaisie) +06/08/2026 Isis_BO 4389 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Procédures +TableRestaurePositionEtSélection(TABLE_TempsSaisie) +// récupération de l'instance courante +nIndice2 est un entier=TableSelect(TABLE_TempsSaisie) +si nIndice2<=0 _ou_ TABLE_TempsSaisie..Nouveau alors +si TABLE_TempsSaisie..Occurrence=0 ou TABLE_TempsSaisie..Modifié=Vrai alors +TABLE_TempsSaisie..Modifié=Faux +fin +fin +HAnnuleDéclaration(sdReq) +//TableSelectMoins(TABLE_TempsSaisie) +//DISP_SaisieTemps[2]..visible=faux +//gclPresentationListeTemps=PTableSuiviDesTemps.gNouvellePresentation(2,COMBO_SDT_IDCollaborateur..Vale +urMémorisée,COL_Lundi,COL_Dimanche) +//DemandeMiseAJourIHM() +Procédure locale InitComboCollab +// Résumé : +// Syntaxe : +//InitComboCollab () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure InitComboCollab() +ListeSupprimeTout(COMBO_SDT_IDCollaborateur) +ListeSupprimeTout(COMBO_SDT_IDCollaborateur1) +si AfficheInactif=Vrai alors +pour tout Collaborateur +ListeAjoute(COMBO_SDT_IDCollaborateur,Collaborateur.CO_Nom+" "+Collaborateur.CO_Prenom+gLien( +Collaborateur.CO_PKID)) +ListeAjoute(COMBO_SDT_IDCollaborateur1,Collaborateur.CO_Nom+" "+Collaborateur.CO_Prenom+gLien( +Collaborateur.CO_PKID)) +fin +sinon +pour tout Collaborateur +si Collaborateur.CO_Actif=Vrai alors +ListeAjoute(COMBO_SDT_IDCollaborateur,Collaborateur.CO_Nom+" "+Collaborateur.CO_Prenom+gLien( +Collaborateur.CO_PKID)) +ListeAjoute(COMBO_SDT_IDCollaborateur1,Collaborateur.CO_Nom+" "+Collaborateur.CO_Prenom+gLien( +Collaborateur.CO_PKID)) +fin +fin +fin +Procédure locale InitComboFiltre +// Résumé : +// Syntaxe : +// InitComboFiltre () +// +// Paramètres : +// Aucun +// Valeur de retour : +06/08/2026 Isis_BO 4390 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Procédures +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure InitComboFiltre() +nIndice est un entier +I est un entier +N est un entier +dDte est une Date +dDte=DateDuJour() +N=dDte..Année +pour I=N à 2000 pas -1 +ListeAjoute(COMBO_SDT_Annee,I+gLien(I)) +fin +nIndice=ListeCherche(COMBO_SDT_Annee,N,Vrai) +si nIndice<>-1 alors +ListeSelectPlus(COMBO_SDT_Annee,nIndice) +fin +ListeSemaine(Val(COMBO_SDT_Annee)) +InitComboCollab() +si gpclFicheUtilisateurEnCours.FicheCollaborateur<>Null alors +nIndice=ListeCherche(COMBO_SDT_IDCollaborateur,gpclFicheUtilisateurEnCours.FicheCollaborateur.m_n +PKID,Vrai) +si nIndice<>-1 alors +ListeSelectPlus(COMBO_SDT_IDCollaborateur,nIndice) +sinon +ListeSelectPlus(COMBO_SDT_IDCollaborateur,1) +fin +sinon +ListeSelectPlus(COMBO_SDT_IDCollaborateur,1) +fin +Procédure locale InitComboIntervention +// Résumé : +// Syntaxe : +//InitComboIntervention () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure InitComboIntervention() +Procédure locale InitComboRDV +// Résumé : +// Syntaxe : +//InitComboRDV ( [ est chaîne [, est chaîne [, est entier sur 8 octets +[, est booléen]]]]) +// +// +procédure InitComboRDV(local sDateInf est une chaîne="",local sDateSup est une chaîne="",local +nIdCollab est un entier sur 8 octets=-1,bMontreheure est un booléen=Vrai) +ZoneRépétéeSupprimeTout(ZR_ListeRDV) +06/08/2026 Isis_BO 4391 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Procédures +ncompteur est un entier +nIndice est un entier +sLibTypeActivite est une chaîne +sNumInter est une chaîne +reqRdv est une Requête SQL = +[ +SELECT PL_DateDebut,PL_DateFin,PL_PKID,PL_IDGroupe,PL_Objet,PL_IDIntervention,PL_TempsValide, +PL_IDTypeActivite,CO_Nom,CO_Prenom,CO_PKID,CO_Trigramme,CO_Ponderation,IN_RefInterne,PL_Description +,CL_Nom,AD_Presentation,CR_IDRdv,CR_DateHeureDebut,CR_DateHeureFin FROM Planning_RDV +LEFT OUTER JOIN CompteRendu ON CompteRendu.CR_IDRdv=Planning_RDV.PL_PKID +LEFT OUTER JOIN Collaborateur ON Collaborateur.CO_PKID=Planning_RDV.PL_IDCollaborateur +LEFT OUTER JOIN Intervention ON Intervention.IN_PKID=Planning_RDV.PL_IDIntervention +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 +WHERE Planning_RDV.PL_IDCollaborateur={P_IDCollab} +AND Planning_RDV.PL_DateDebut BETWEEN {P_dateInf} AND {P_dateSup} +AND Planning_RDV.PL_IDStatut<>{p_nIDNonPlanifie} +AND Planning_RDV.Archive=0 +ORDER BY Planning_RDV.PL_DateDebut DESC +] +reqRdv.P_IDCollab = nIdCollab=-1 ? Null sinon nIdCollab +reqRdv.P_dateInf = sDateInf=-1 ? Null sinon sDateInf +reqRdv.P_dateSup = sDateSup=-1 ? Null sinon sDateSup +reqRdv.p_nIDNonPlanifie = gpclListeStatutRendezVous.RechercheEtDonneIdDepuisValeur(99) +si HExécuteRequête(reqRdv) alors +pour tout reqRdv +nIndice = TableauCherche(gpclListeTypeRendezVous.m_clTabModele,tcLinéaire,"m_nPKID",reqRdv. +PL_IDTypeActivite) +si nIndice<>-1 alors +sLibTypeActivite=gpclListeTypeRendezVous.m_clTabModele[nIndice].m_sLibelle +fin +si reqRdv.IN_RefInterne<>"" alors +sNumInter=" n°"+reqRdv.IN_RefInterne +sinon +sNumInter="" +fin +si bMontreheure=Vrai alors +si reqRdv.CR_IDRdv=0 alors +nIndice=ZoneRépétéeAjouteLigne(ZR_ListeRDV,reqRdv.CO_Trigramme,sLibTypeActivite+ +sNumInter,"Le "+DateVersChaîne(reqRdv.PL_DateDebut,"JJ/MM/AAAA")+ " de " + +HeureVersChaîne(Droite(reqRdv.PL_DateDebut,9),"HH:mm")... ++" à "+HeureVersChaîne(Droite(reqRdv.PL_Datefin,9),"HH:mm"),reqRdv.CL_Nom,reqRdv. +AD_Presentation,reqRdv.PL_IDIntervention,reqRdv.PL_PKID,reqRdv.CO_PKID) +sinon +nIndice=ZoneRépétéeAjouteLigne(ZR_ListeRDV,reqRdv.CO_Trigramme,sLibTypeActivite+ +sNumInter,"Le "+DateVersChaîne(reqRdv.PL_DateDebut,"JJ/MM/AAAA")+ " de " + +HeureVersChaîne(Droite(reqRdv.CR_DateHeureDebut,9),"HH:mm")... ++" à "+HeureVersChaîne(Droite(reqRdv.CR_DateHeureFin,9),"HH:mm"),reqRdv.CL_Nom,reqRdv. +AD_Presentation,reqRdv.PL_IDIntervention,reqRdv.PL_PKID,reqRdv.CO_PKID) +fin +sinon +nIndice=ZoneRépétéeAjouteLigne(ZR_ListeRDV,reqRdv.CO_Trigramme,sLibTypeActivite+sNumInter, +"Le "+DateVersChaîne(reqRdv.PL_DateDebut,"JJ/MM/AAAA")... +,reqRdv.CL_Nom,reqRdv.AD_Presentation,reqRdv.PL_IDIntervention,reqRdv.PL_PKID,reqRdv. +CO_PKID) +fin +si reqRdv.PL_TempsValide=Vrai alors +ZR_ListeRDV[nIndice]..CouleurFond=VertFoncé +fin +ncompteur++ +fin +06/08/2026 Isis_BO 4392 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Procédures +fin +//COMBO_SDT_RDV..Libellé="Rendez-vous ("+ncompteur+")" +ZoneRépétéeSelectMoins(ZR_ListeRDV) +//DISP_SaisieTemps[2]..visible=Faux +si ZR_ListeRDV..Occurrence=0 alors +D_TROIS_COLONNE[1]..Visible=Faux +sinon +D_TROIS_COLONNE[1]..Visible=Vrai +fin +HAnnuleDéclaration(reqRdv) +Procédure locale InitListeHeures +// Résumé : +// Syntaxe : +//[ = ] InitListeHeures () +// +// Paramètres : +// Aucun +// Valeur de retour : +// tableau : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure InitListeHeures() +hMonHeure est une Heure="0" +TableHeure est un tableau de chaînes +pour i=0 _à_ 23 +pour j= 0 _à_ 45 pas 15 +Ajoute(TableHeure,NumériqueVersChaîne(i,"02d")+":"+NumériqueVersChaîne(j,"02d")) +fin +fin +renvoyer TableHeure +Procédure locale ListeMois +// Résumé : +// Syntaxe : +//ListeMois ( est entier) +// +// Paramètres : +// Année (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ListeMois(local Année est un entier) +nIndice est un entier +dPremierMois est une Date +dDernierMois est une Date +N est un entier +sMoisEnLettre est une chaîne +//Lundi..Jour=1 +dPremierMois..Mois=1 +dPremierMois..Jour=1 +dPremierMois..Année=Année +06/08/2026 Isis_BO 4393 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Procédures +dDernierMois=dPremierMois +//dDernierMois=dPremierMois +//dDernierMois..mois=dPremierMois..Mois+11 +//dDernierMois..Jour=DernierJourDuMois(dDernierMois) +ListeSupprimeTout(COMBO_SDT_Semaine) +tantque dPremierMois..Année=Année +N=dPremierMois..Mois +dDernierMois=DernierJourDuMois(dDernierMois) +sMoisEnLettre=Majuscule(DateVersMoisEnLettre(dPremierMois)+" "+Année) +TableAjouteLigne(COMBO_SDT_Semaine,N,sMoisEnLettre,dPremierMois,dDernierMois) +dPremierMois..Mois+=1 +dDernierMois..mois+=1 +fin +sDateduJour est une Date=gdDateJourAffiche +N=sDateduJour..Mois +nIndice=TableCherche(COL_NumSemaine,N,rechercheIdentique) +si nIndice<>-1 alors +ListeSelectPlus(COMBO_SDT_Semaine,nIndice) +SAI_Periode..Libellé="Mois : " +SAI_Periode=COMBO_SDT_Semaine..ValeurAffichée +ExécuteTraitement(FI_Saisie_Temps_Def.COMBO_SDT_Semaine,trtSélection) +fin +Procédure locale ListeSemaine +// Résumé : +// Syntaxe : +//ListeSemaine ( est entier) +// +// Paramètres : +// Année (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ListeSemaine(local Année est un entier) +nIndice est un entier +Lundi est une Date +Dimanche est une Date +N est un entier +Lundi..Jour=1 +Lundi..Mois=1 +Lundi..Année=Année +Dimanche=Lundi +Dimanche..Jour+=7- DateVersJour(Lundi) +ListeSupprimeTout(COMBO_SDT_Semaine) +tantque Lundi..Année=Année +N=DateVersNuméroDeSemaine(Lundi) +TableAjouteLigne(COMBO_SDT_Semaine,N,N + " - du " + DateVersChaîne(Lundi,"JJ/MM/AAAA") + " au " + +DateVersChaîne(Dimanche,"JJ/MM/AAAA"),Lundi,Dimanche ) +Lundi=Dimanche +Lundi..Jour+=1 +Dimanche..Jour+=7 +fin +N=DateVersNuméroDeSemaine(gdDateJourAffiche) +nIndice=TableCherche(COL_NumSemaine,N,rechercheIdentique) +si nIndice<>-1 alors +ListeSelectPlus(COMBO_SDT_Semaine,nIndice) +SAI_Periode=COMBO_SDT_Semaine..ValeurAffichée +SAI_Periode..Libellé="Semaine :" +ExécuteTraitement(FI_Saisie_Temps_Def.COMBO_SDT_Semaine,trtSélection) +fin +Procédure locale NouvelleFiche +06/08/2026 Isis_BO 4394 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Procédures +// Résumé : +// Syntaxe : +// NouvelleFiche () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure NouvelleFiche() +ZoneRépétéeSelectMoins(ZR_ListeRDV) +TableSelectMoins(TABLE_TempsSaisie) +SAI_DateDebut=gdDateJourAffiche +SAI_NumInter="" +COMBO_PL_LieIntervention=0 +LIB_idinter="" +SAI_Adresse="" +SAI_DureeDec="" +SAI_HeureDebut="" +SAI_HeureFin="" +D_FICHE_SAISIE.LIB_IdCollab=COMBO_SDT_IDCollaborateur..ValeurMémorisée +LIB_PKIDTEMPS="" +LIB_RDV1="" +//LIB_IDRdv="" +LIB_Groupe="" +D_FICHE_SAISIE.LIB_idinter="" +//LIB_IDRdv="" +FI_Saisie_Temps_Def.D_TROIS_COLONNE.D_FICHE_SAISIE.LIB_idinter="" +nIndice est un entier= TableauCherche(gpclListeTypeRendezVous.m_clTabModele,tcLinéaire,"m_sValeur",1) +//SI nIndice<>-1 ALORS +// ListeSelectPlus(COMBO_TypeRdv,nIndice) +//FIN +si ListeSelect(COMBO_TypeRdv)<>nIndice alors +COMBO_TypeRdv..Etat=Actif +D_FICHE_SAISIE[2]..Visible=Faux +D_FICHE_SAISIE[4]..Visible=Faux +D_FICHE_SAISIE[5]..Visible=Faux +//D_FICHE_SAISIE[6]..Visible=faux +GR_NewSaisie..Etat=Actif +sinon +COMBO_TypeRdv..Etat=Actif +D_FICHE_SAISIE[2]..Visible=Vrai +D_FICHE_SAISIE[4]..Visible=Vrai +D_FICHE_SAISIE[5]..Visible=Vrai +//D_FICHE_SAISIE[6]..Visible=Vrai +GR_NewSaisie..Etat=Actif +fin +ZoneRépétéeSupprimeTout(ZR_TypeTemps) +pour tout ParametreMetier avec PA_Code=18 +si ParametreMetier.PA_Ordre<>1 et ParametreMetier.PA_Ordre<>2 alors +ZoneRépétéeAjouteLigne(ZR_TypeTemps,ParametreMetier.PA_Libelle,"",ParametreMetier.PA_PKID, +ParametreMetier.PA_Ordre,0,GrisClair) +fin +fin +CalculTempsNonAffecte() +Procédure locale RempliFicheHeures +// Résumé : +// Syntaxe : +//RempliFicheHeures ( est entier sur 8 octets, est entier sur 8 octets) +06/08/2026 Isis_BO 4395 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Procédures +// +// Paramètres : +// nIdRDV (entier sur 8 octets) : +// nIdInter (entier sur 8 octets) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RempliFicheHeures(local nIdRDV est un entier sur 8 octets,local nIdInter est un entier sur 8 +octets) +nIndice est un entier +nIndiceParametre est un entier = TableauCherche(gpclListeTypeTemps.m_clTabModele,tcLinéaire,"m_sValeur" +,"2") +nIDTpsInter est un entier sur 8 octets=gpclListeTypeTemps.m_clTabModele[nIndiceParametre].m_nPKID +nIndiceParametre = TableauCherche(gpclListeTypeTemps.m_clTabModele,tcLinéaire,"m_sValeur","1") +nIDTpsGlobal est un entier sur 8 octets=gpclListeTypeTemps.m_clTabModele[nIndiceParametre].m_nPKID +nIDGroupe est un entier sur 8 octets +sdReq est une Requête SQL = +[ +SELECT Adresse.AD_Presentation,CompteRendu.CR_DateHeureDebut,CompteRendu.CR_DateHeureFin, +CompteRendu.CR_PKID,SuiviDesTemps.SDT_NbMinutes,SuiviDesTemps.SDT_IDTypeTemps,SuiviDesTemps. +SDT_PKID, SuiviDesTemps.SDT_IDGroupe,SuiviDesTemps.SDT_DateDebut,SuiviDesTemps.SDT_DateHeureFin, +SuiviDesTemps.SDT_Controle,PL_IDTypeActivite FROM Planning_RDV +LEFT OUTER JOIN Intervention ON Intervention.IN_PKID=Planning_RDV.PL_IDIntervention +LEFT OUTER JOIN SuiviDesTemps ON (SuiviDesTemps.SDT_IDRdv=Planning_RDV.PL_PKID AND SuiviDesTemps. +SDT_IDTypeTemps={P_IDTpsInter}) +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 CompteRendu ON CompteRendu.CR_IDRdv=Planning_RDV.PL_PKID +WHERE Planning_RDV.PL_PKID={P_IDRdv} +] +//GROUP BY +SuiviDesTemps.SDT_IDTypeTemps,Adresse.AD_Presentation,CompteRendu.CR_DateHeureDebut,CompteRendu.CR_Date +HeureFin,CompteRendu.CR_PKID +sdReq.P_IDRdv=nIdRDV +sdReq.P_IDTpsInter=nIDTpsInter +//nIndice = TableauCherche(gpclListeTypeTemps.m_clTabModele,tcLinéaire,"m_sValeur","1") +//SI nIndice<>-1 ALORS +//sdReq.P_IDTemps=gpclListeTypeTemps.m_clTabModele[nIndice].m_nPKID +//FIN +si pas HExécuteRequête(sdReq,hRequêteDéfaut) alors +Erreur("Impossible d'executer la requête Fiche Saisie"+RC+HErreurInfo()) +fin +D_FICHE_SAISIE.SAI_Adresse=sdReq.AD_Presentation +//LIB_PKIDTEMPS=sdReq.SDT_PKID +nIDGroupe = sdReq.SDT_IDGroupe +si nIDGroupe>0 alors +pour tout SuiviDesTemps avec SDT_IDGroupe=nIDGroupe +si SuiviDesTemps.SDT_IDTypeTemps=nIDTpsGlobal alors +SAI_DureeDec=(Val(SuiviDesTemps.SDT_NbMinutes)/60) +LIB_PKIDTEMPS=SuiviDesTemps.SDT_PKID +SAI_DateDebut=Gauche(sdReq.SDT_DateDebut,8) +fin +fin +sinon +LIB_PKIDTEMPS="" +fin +si HLitRecherchePremier(Planning_RDV,PL_PKID,nIdRDV) alors +06/08/2026 Isis_BO 4396 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Procédures +nIndice = TableauCherche(gpclListeTypeRendezVous.m_clTabModele,tcLinéaire,"m_nPKID",Planning_RDV. +PL_IDTypeActivite) +si nIndice<>-1 alors +ListeSelectPlus(COMBO_TypeRdv,nIndice) +fin +fin +//si LIB_PKIDTEMPS="0" alors +// LIB_PKIDTEMPS="" +si Val(LIB_PKIDTEMPS)<=0 _et_ HLitRecherchePremier(Planning_RDV,PL_PKID,nIdRDV) alors +SAI_DateDebut= Gauche(Planning_RDV.PL_DateDebut,8) +// sinon +// SAI_DateDebut=Gauche(sdReq.SDT_DateDebut,8) +fin +//sinon +// SAI_DateDebut=Gauche(sdReq.SDT_DateDebut,8) +//FIN +FI_Saisie_Temps_Def.D_TROIS_COLONNE.D_FICHE_SAISIE.LIB_idinter=nIdInter +LIB_RDV1=nIdRDV +FI_Saisie_Temps_Def.D_TROIS_COLONNE.D_FICHE_SAISIE.LIB_IdCollab=COMBO_SDT_IDCollaborateur.. +ValeurMémorisée +LIB_Groupe=sdReq.SDT_IDGroupe +si HLitRecherchePremier(Intervention,IN_PKID,nIdInter) alors +D_FICHE_SAISIE.SAI_NumInter=ExtraitChaîne(Intervention.IN_RefInterne,1,"-",DepuisDébut) +ListeSupprimeTout(COMBO_PL_LieIntervention) +ListeAjoute(COMBO_PL_LieIntervention,Intervention.IN_RefInterne+gLien(Intervention.IN_PKID)) +ListeSelectPlus(COMBO_PL_LieIntervention,1) +D_FICHE_SAISIE.SAI_NumInter..Etat=AffichageSeulement +D_FICHE_SAISIE.COMBO_PL_LieIntervention..Etat=AffichageSeulement +sinon +D_FICHE_SAISIE.SAI_NumInter="" +D_FICHE_SAISIE.SAI_NumInter..Etat=Actif +D_FICHE_SAISIE.COMBO_PL_LieIntervention..Etat=Actif +fin +sMinute est un entier +si sdReq.CR_PKID<>0 alors +SAI_HeureDebut=Milieu(sdReq.CR_DateHeureDebut,9,4) +SAI_HeureFin=Milieu(sdReq.CR_DateHeureFin,9,4) +SAI_HeureDebut..Etat=AffichageSeulement +SAI_HeureFin..Etat=AffichageSeulement +sinon si sdReq.SDT_Controle=Vrai +SAI_HeureDebut=Milieu(sdReq.SDT_DateDebut,9,4) +SAI_HeureFin=Milieu(sdReq.SDT_DateHeureFin,9,4) +SAI_HeureDebut..Etat=Actif +SAI_HeureFin..Etat=Actif +sinon si sdReq.SDT_Controle=Faux et sdReq.SDT_DateDebut<>"00000000000000000" alors +SAI_HeureDebut=Milieu(sdReq.SDT_DateDebut,9,4) +SAI_HeureFin=Milieu(sdReq.SDT_DateHeureFin,9,4) +SAI_HeureDebut..Etat=Actif +SAI_HeureFin..Etat=Actif +sinon +SAI_HeureDebut=Milieu(Planning_RDV.PL_DateDebut,9,4) +SAI_HeureFin=Milieu(Planning_RDV.PL_DateFin,9,4) +SAI_HeureDebut..Etat=Actif +SAI_HeureFin..Etat=Actif +fin +nIndice = TableauCherche(gpclListeTypeTemps.m_clTabModele,tcLinéaire,"m_sValeur","1") +pour tout sdReq +si nIndice<>-1 alors +si sdReq.SDT_IDTypeTemps=gpclListeTypeTemps.m_clTabModele[nIndice].m_nPKID alors +sMinute+=Val(sdReq.SDT_NbMinutes) +fin +fin +nIndice = TableauCherche(gpclListeTypeRendezVous.m_clTabModele,tcLinéaire,"m_sValeur","1") +si sdReq.PL_IDTypeActivite<>gpclListeTypeRendezVous.m_clTabModele[nIndice].m_nPKID alors +06/08/2026 Isis_BO 4397 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Procédures +D_FICHE_SAISIE[2]..Visible=Faux +D_FICHE_SAISIE[4]..Visible=Faux +D_FICHE_SAISIE[5]..Visible=Faux +//D_FICHE_SAISIE[6]..Visible=Faux +COMBO_TypeRdv..Etat=Actif +sinon +D_FICHE_SAISIE[2]..Visible=Vrai +D_FICHE_SAISIE[4]..Visible=Vrai +D_FICHE_SAISIE[5]..Visible=Vrai +// D_FICHE_SAISIE[6]..Visible=Vrai +COMBO_TypeRdv..Etat=AffichageSeulement +fin +fin +SAI_DureeDec=sMinute/60 +nIndice=TableCherche(TABLE_TempsSaisie.COL_IDRdv,NumériqueVersChaîne(nIdRDV)) +si nIndice=-1 alors +TableSelectMoins(TABLE_TempsSaisie) +sinon +TableSelectPlus(TABLE_TempsSaisie,nIndice) +fin +D_TROIS_COLONNE[2]..Visible=Vrai +ZoneRépétéeSupprimeTout(ZR_TypeTemps) +pour tout ParametreMetier avec PA_Code=18 +si ParametreMetier.PA_Ordre<>1 et ParametreMetier.PA_Ordre<>2 alors +ZoneRépétéeAjouteLigne(ZR_TypeTemps,ParametreMetier.PA_Libelle,"",ParametreMetier.PA_PKID, +ParametreMetier.PA_Ordre,0,GrisClair) +fin +fin +nIndice2 est un entier +pour tout SuiviDesTemps avec SDT_IDRdv=Val(nIdRDV) +nIndice2=ZoneRépétéeCherche(ATT_IDType,SuiviDesTemps.SDT_IDTypeTemps,rechercheIdentique,1) +si nIndice2<>-1 alors +ZR_TypeTemps[nIndice2].ATT_LibValeur=Val(SuiviDesTemps.SDT_NbMinutes) +ZR_TypeTemps[nIndice2].ATT_IDTemps=SuiviDesTemps.SDT_PKID +fin +// si SuiviDesTemps.SDT_IDTypeTemps=nIDTpsGlobal alors +// SAI_DureeDec=(Val(SuiviDesTemps.SDT_NbMinutes)/60) +// LIB_PKIDTEMPS=SuiviDesTemps.SDT_PKID +// FIN +fin +pour tout ligne de ZR_TypeTemps +ATT_LibValeur=(ATT_LibValeur/60) +fin +ZoneRépétéeTrie("ATT_Ordre") +HAnnuleDéclaration(sdReq) +Procédure locale RempliFicheHeures_2 +// Résumé : +// Syntaxe : +//RempliFicheHeures_2 ( est entier sur 8 octets, est entier sur 8 octets, + est entier sur 8 octets) +// +// Paramètres : +// nIdRDV (entier sur 8 octets) : +// nIdInter (entier sur 8 octets) : +// nIDCollab (entier sur 8 octets) : +// Valeur de retour : +// Aucune +// +06/08/2026 Isis_BO 4398 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Procédures +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RempliFicheHeures_2(local nIdRDV est un entier sur 8 octets,local nIdInter est un entier sur +8 octets,local nIDCollab est un entier sur 8 octets) +nIndice est un entier +nIndiceParametre est un entier = TableauCherche(gpclListeTypeTemps.m_clTabModele,tcLinéaire +,"m_sValeur","2") +nIDTpsInter est un entier sur 8 octets = gpclListeTypeTemps.m_clTabModele[nIndiceParametre].m_nPKID +nIndiceParametre = TableauCherche(gpclListeTypeTemps.m_clTabModele,tcLinéaire, +"m_sValeur","1") +nIDTpsGlobal est un entier sur 8 octets = gpclListeTypeTemps.m_clTabModele[nIndiceParametre].m_nPKID +nIndiceParametre = TableauCherche(gpclListeTypeRendezVous.m_clTabModele, +tcLinéaire,"m_sValeur","1") +nIDActiInter est un entier sur 8 octets = gpclListeTypeRendezVous.m_clTabModele[nIndiceParametre]. +m_nPKID +nIDTypeRdv est un entier sur 8 octets +nIDGroupe est un entier sur 8 octets +nMinutes est un entier +bActiviteInter est un booléen +sdReq est une Requête SQL = +[ +SELECT Adresse.AD_Presentation,CompteRendu.CR_DateHeureDebut,CompteRendu.CR_DateHeureFin, +CompteRendu.CR_PKID,SuiviDesTemps.SDT_NbMinutes,SuiviDesTemps.SDT_IDTypeTemps,SuiviDesTemps. +SDT_PKID, SuiviDesTemps.SDT_IDGroupe,SuiviDesTemps.SDT_DateDebut,SuiviDesTemps.SDT_DateHeureFin, +SuiviDesTemps.SDT_Controle,SuiviDesTemps.SDT_IDTypeRdv FROM Planning_RDV +LEFT OUTER JOIN Intervention ON Intervention.IN_PKID=Planning_RDV.PL_IDIntervention +LEFT OUTER JOIN SuiviDesTemps ON (SuiviDesTemps.SDT_IDRdv=Planning_RDV.PL_PKID AND SuiviDesTemps. +SDT_IDTypeTemps={P_IDTpsInter} AND SuiviDesTemps.SDT_IDCollaborateur={p_IDCollab}) +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 CompteRendu ON CompteRendu.CR_IDRdv=Planning_RDV.PL_PKID +WHERE Planning_RDV.PL_PKID={P_IDRdv} +ORDER BY SuiviDesTemps.SDT_DateDebut DESC +] +sdReq.P_IDRdv = nIdRDV +sdReq.P_IDTpsInter = nIDTpsInter +LIB_idinter = nIdInter +LIB_RDV1 = nIdRDV +LIB_IdCollab = nIDCollab//COMBO_SDT_IDCollaborateur..ValeurMémorisée +SAI_DureeDec = 0 +SAI_NumInter = "" +SAI_NumInter..Etat = Actif +COMBO_PL_LieIntervention..Etat= Actif +D_TROIS_COLONNE[2]..Visible = Vrai +ZoneRépétéeSupprimeTout(ZR_TypeTemps) +pour i = 1 _à_ gpclListeTypeTemps.p_nTotal +si pas gpclListeTypeTemps:m_clTabModele[i]:m_nOrdre dans (1,2) alors +avec gpclListeTypeTemps:m_clTabModele[i] +ZoneRépétéeAjouteLigne(ZR_TypeTemps,.m_sLibelle,"",.m_nPKID,.m_nOrdre,0,GrisClair) +fin +fin +fin +ZoneRépétéeTrie("ATT_Ordre") +si HExécuteRequête(sdReq,hRequêteDéfaut) alors +HLitPremier(sdReq) +si HTrouve(sdReq) alors +SAI_Adresse = sdReq.AD_Presentation +nIDGroupe = sdReq.SDT_IDGroupe +LIB_Groupe = nIDGroupe +06/08/2026 Isis_BO 4399 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Procédures +//Si présence d'un compte rendu on prend cette date sinon si +déjà +controlé ou déjà saisie on prend cette date sinon on prend celle du rendez-vous +SAI_DateDebut = sdReq.CR_PKID<>0 ? Milieu(sdReq.CR_DateHeureDebut,1,8) +sinon (sdReq.SDT_Controle _ou_ sdReq.SDT_DateDebut<>"00000000000000000") ? Milieu(sdReq. +SDT_DateDebut,1,8) sinon Milieu(Planning_RDV.PL_DateDebut,1,8) +SAI_HeureDebut = sdReq.CR_PKID<>0 ? Milieu(sdReq.CR_DateHeureDebut,9,4) +sinon (sdReq.SDT_Controle _ou_ sdReq.SDT_DateDebut<>"00000000000000000") ? Milieu(sdReq. +SDT_DateDebut,9,4) sinon Milieu(Planning_RDV.PL_DateDebut,9,4) +SAI_HeureFin = sdReq.CR_PKID<>0 ? Milieu(sdReq.CR_DateHeureFin,9,4) sinon ( +sdReq.SDT_Controle _ou_ sdReq.SDT_DateDebut<>"00000000000000000") ? Milieu(sdReq. +SDT_DateHeureFin,9,4) sinon Milieu(Planning_RDV.PL_DateFin,9,4) +SAI_HeureDebut..Etat = sdReq.CR_PKID<>0 ? AffichageSeulement sinon Actif +SAI_HeureFin..Etat = sdReq.CR_PKID<>0 ? AffichageSeulement sinon Actif +nIDTypeRdv = sdReq.SDT_IDTypeRdv +bActiviteInter = nIDTypeRdv=nIDActiInter +fin +sinon +Erreur("Impossible d'executer la requête Fiche Saisie"+RC+HErreurInfo()) +fin +HAnnuleDéclaration(sdReq) +si nIDGroupe>0 alors +nIndTypeTps est un entier +pour tout SuiviDesTemps avec SDT_IDGroupe=nIDGroupe +si SuiviDesTemps.SDT_IDTypeTemps=nIDTpsGlobal alors +SAI_DureeDec = (Val(SuiviDesTemps.SDT_NbMinutes)/60) +LIB_PKIDTEMPS = SuiviDesTemps.SDT_PKID +//SAI_DateDebut = Gauche(SuiviDesTemps.SDT_DateDebut,8) +nMinutes = Val(SuiviDesTemps.SDT_NbMinutes) +SAI_DureeDec = nMinutes/60 +fin +nIndTypeTps=ZoneRépétéeCherche(ATT_IDType,SuiviDesTemps.SDT_IDTypeTemps,rechercheIdentique,1) +si nIndTypeTps>0 alors +ZR_TypeTemps[nIndTypeTps].ATT_LibValeur=Val(SuiviDesTemps.SDT_NbMinutes)/60 +ZR_TypeTemps[nIndTypeTps].ATT_IDTemps=SuiviDesTemps.SDT_PKID +fin +fin +sinon +LIB_PKIDTEMPS="" +si HLitRecherchePremier(Planning_RDV,PL_PKID,nIdRDV) alors +SAI_DateDebut = Gauche(Planning_RDV.PL_DateDebut,8) +SAI_HeureDebut = Milieu(Planning_RDV.PL_DateDebut,9,4) +SAI_HeureFin = Milieu(Planning_RDV.PL_DateFin,9,4) +nIDTypeRdv = Planning_RDV.PL_IDTypeActivite +bActiviteInter = nIDTypeRdv=nIDActiInter +fin +fin +D_FICHE_SAISIE[2]..Visible = bActiviteInter +D_FICHE_SAISIE[4]..Visible = bActiviteInter +D_FICHE_SAISIE[5]..Visible = bActiviteInter +COMBO_TypeRdv..Etat = bActiviteInter ? AffichageSeulement sinon Actif +nIndice = TableauCherche(gpclListeTypeRendezVous.m_clTabModele,tcLinéaire,"m_nPKID",nIDTypeRdv) +si nIndice<>-1 alors +ListeSelectPlus(COMBO_TypeRdv,nIndice) +fin +si HLitRecherchePremier(Intervention,IN_PKID,nIdInter) alors +SAI_NumInter = ExtraitChaîne(Intervention.IN_RefInterne,1,"-",DepuisDébut) +06/08/2026 Isis_BO 4400 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Procédures +ListeSupprimeTout(COMBO_PL_LieIntervention) +ListeAjoute(COMBO_PL_LieIntervention,Intervention.IN_RefInterne+gLien(Intervention.IN_PKID)) +ListeSelectPlus(COMBO_PL_LieIntervention,1) +SAI_NumInter..Etat = AffichageSeulement +COMBO_PL_LieIntervention..Etat= AffichageSeulement +fin +nIndice=TableCherche(TABLE_TempsSaisie.COL_IDRdv,NumériqueVersChaîne(nIdRDV)) +si nIndice=-1 alors +TableSelectMoins(TABLE_TempsSaisie) +sinon +TableSelectPlus(TABLE_TempsSaisie,nIndice) +fin +Procédure locale RempliFicheHeuresGrpe +// Résumé : +// Syntaxe : +//RempliFicheHeuresGrpe ( est entier sur 8 octets, est entier sur 8 octets) +// +// Paramètres : +// nIdGroupe (entier sur 8 octets) : +// nIDTypeTemps (entier sur 8 octets) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RempliFicheHeuresGrpe(local nIdGroupe est un entier sur 8 octets,nIDTypeTemps est un entier +sur 8 octets) +nIndiceParametre est un entier = TableauCherche(gpclListeTypeTemps.m_clTabModele,tcLinéaire,"m_sValeur" +,"2") +nIDTpsInter est un entier sur 8 octets=gpclListeTypeTemps.m_clTabModele[nIndiceParametre].m_nPKID +nIndiceParametre = TableauCherche(gpclListeTypeTemps.m_clTabModele,tcLinéaire,"m_sValeur","1") +nIDTpsGlobal est un entier sur 8 octets=gpclListeTypeTemps.m_clTabModele[nIndiceParametre].m_nPKID +nIndice est un entier +sdReq est une Requête SQL = +[ +SELECT Adresse.AD_Presentation,SuiviDesTemps.SDT_NbMinutes,SuiviDesTemps.SDT_IDTypeTemps, +SuiviDesTemps.SDT_PKID,SuiviDesTemps.SDT_IDTypeRdv +,SuiviDesTemps.SDT_IDIntervention,SuiviDesTemps.SDT_IDRdv,SuiviDesTemps.SDT_DateDebut,SuiviDesTemps +.SDT_DateHeureFin FROM SuiviDesTemps +LEFT OUTER JOIN Intervention ON Intervention.IN_PKID=SuiviDesTemps.SDT_IDIntervention +LEFT OUTER JOIN Lieu ON Lieu.LI_PKID=Intervention.IN_IDLieu +LEFT OUTER JOIN Adresse ON Adresse.AD_PKID=Lieu.LI_IDAdresse +WHERE SuiviDesTemps.SDT_IDGroupe={P_IDGrpe} AND SuiviDesTemps.SDT_IDTypeTemps={P_IDTypeTemps} +] +//GROUP BY +SuiviDesTemps.SDT_IDTypeTemps,Adresse.AD_Presentation,CompteRendu.CR_DateHeureDebut,CompteRendu.CR_Date +HeureFin,CompteRendu.CR_PKID +sdReq.P_IDGrpe=nIdGroupe +sdReq.P_IDTypeTemps=nIDTpsInter//nIDTypeTemps +//nIndice = TableauCherche(gpclListeTypeTemps.m_clTabModele,tcLinéaire,"m_sValeur","1") +//SI nIndice<>-1 ALORS +//sdReq.P_IDTemps=gpclListeTypeTemps.m_clTabModele[nIndice].m_nPKID +//FIN +si pas HExécuteRequête(sdReq,hRequêteDéfaut) alors +Erreur("Impossible d'executer la requête Fiche Saisie"+RC+HErreurInfo()) +fin +06/08/2026 Isis_BO 4401 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Procédures +D_FICHE_SAISIE.SAI_Adresse=sdReq.AD_Presentation +//LIB_PKIDTEMPS=sdReq.SDT_PKID +LIB_Groupe=nIdGroupe +nIndice= TableauCherche(gpclListeTypeRendezVous.m_clTabModele,tcLinéaire,"m_nPKID",sdReq.SDT_IDTypeRdv) +//SI nIndice<>-1 ALORS +// ListeSelectPlus(COMBO_TypeRdv,nIndice) +//FIN +nIndice = TableauCherche(gpclListeTypeRendezVous.m_clTabModele,tcLinéaire,"m_sValeur","1") +si sdReq.SDT_IDTypeRdv<>gpclListeTypeRendezVous.m_clTabModele[nIndice].m_nPKID alors +D_FICHE_SAISIE[2]..Visible=Faux +D_FICHE_SAISIE[4]..Visible=Faux +D_FICHE_SAISIE[5]..Visible=Faux +//D_FICHE_SAISIE[6]..Visible=Faux +COMBO_TypeRdv..Etat=Actif +sinon +D_FICHE_SAISIE[2]..Visible=Vrai +D_FICHE_SAISIE[4]..Visible=Vrai +D_FICHE_SAISIE[5]..Visible=Vrai +//D_FICHE_SAISIE[6]..Visible=Vrai +COMBO_TypeRdv..Etat=AffichageSeulement +fin +//SI ListeSelect(COMBO_TypeRdv)<>nIndice ALORS +// COMBO_TypeRdv..Etat=Actif +// DISP_SansNom2[2]..Visible=Faux +// DISP_SansNom2[4]..Visible=Faux +// DISP_SansNom2[5]..Visible=Faux +// DISP_SansNom2[6]..Visible=Faux +// GR_NewSaisie..Etat=Actif +//SINON +// COMBO_TypeRdv..Etat=Actif +// DISP_SansNom2[2]..Visible=Vrai +// DISP_SansNom2[4]..Visible=Vrai +// DISP_SansNom2[5]..Visible=Vrai +// DISP_SansNom2[6]..Visible=Vrai +// GR_NewSaisie..Etat=Actif +//FIN +nIndice = TableauCherche(gpclListeTypeRendezVous.m_clTabModele,tcLinéaire,"m_nPKID",sdReq. +SDT_IDTypeRdv) +si nIndice<>-1 alors +ListeSelectPlus(COMBO_TypeRdv,nIndice) +fin +SAI_DateDebut=COL_Date +FI_Saisie_Temps_Def.D_TROIS_COLONNE.D_FICHE_SAISIE.LIB_idinter=sdReq.SDT_IDIntervention +LIB_RDV1="" +FI_Saisie_Temps_Def.D_TROIS_COLONNE.D_FICHE_SAISIE.LIB_IdCollab=COMBO_SDT_IDCollaborateur.. +ValeurMémorisée +si HLitRecherchePremier(Intervention,IN_PKID,sdReq.SDT_IDIntervention) alors +D_FICHE_SAISIE.SAI_NumInter=ExtraitChaîne(Intervention.IN_RefInterne,1,"-",DepuisDébut) +ListeSupprimeTout(COMBO_PL_LieIntervention) +ListeAjoute(COMBO_PL_LieIntervention,Intervention.IN_RefInterne+gLien(Intervention.IN_PKID)) +ListeSelectPlus(COMBO_PL_LieIntervention,1) +D_FICHE_SAISIE.SAI_NumInter..Etat=AffichageSeulement +D_FICHE_SAISIE.COMBO_PL_LieIntervention..Etat=AffichageSeulement +fin +//sMinute est un entier +SAI_HeureDebut=Milieu(sdReq.SDT_DateDebut,9,4) +SAI_HeureFin=Milieu(sdReq.SDT_DateHeureFin,9,4) +nIndice = TableauCherche(gpclListeTypeTemps.m_clTabModele,tcLinéaire,"m_sValeur","1") +//POUR TOUT sdReq +// SI nIndice<>-1 ALORS +// SI sdReq.SDT_IDTypeTemps=gpclListeTypeTemps.m_clTabModele[nIndice].m_nPKID ALORS +// sMinute=Val(sdReq.SDT_NbMinutes) +06/08/2026 Isis_BO 4402 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Procédures +// FIN +// FIN +//FIN +SAI_DureeDec=COL_Duree//sMinute/60 +D_TROIS_COLONNE[2]..Visible=Vrai +ZoneRépétéeSupprimeTout(ZR_TypeTemps) +pour tout ParametreMetier avec PA_Code=18 +si ParametreMetier.PA_Ordre<>1 et ParametreMetier.PA_Ordre<>2 alors +ZoneRépétéeAjouteLigne(ZR_TypeTemps,ParametreMetier.PA_Libelle,"",ParametreMetier.PA_PKID, +ParametreMetier.PA_Ordre,0,GrisClair) +fin +fin +nIndice2 est un entier +si nIdGroupe>0 alors +pour tout SuiviDesTemps avec SDT_IDGroupe=nIdGroupe +nIndice2=ZoneRépétéeCherche(ATT_IDType,SuiviDesTemps.SDT_IDTypeTemps,rechercheIdentique,1) +si nIndice2<>-1 alors +ZR_TypeTemps[nIndice2].ATT_LibValeur=Val(SuiviDesTemps.SDT_NbMinutes) +ZR_TypeTemps[nIndice2].ATT_IDTemps=SuiviDesTemps.SDT_PKID +fin +fin +si SuiviDesTemps.SDT_IDTypeTemps=nIDTpsGlobal alors +SAI_DureeDec=(Val(SuiviDesTemps.SDT_NbMinutes)/60) +LIB_PKIDTEMPS=SuiviDesTemps.SDT_PKID +fin +fin +pour tout ligne de ZR_TypeTemps +ATT_LibValeur=(ATT_LibValeur/60) +fin +ZoneRépétéeTrie("ATT_Ordre") +ZoneRépétéeSelectMoins(ZR_ListeRDV) +HAnnuleDéclaration(sdReq) +Procédure locale RempliFicheHeuresGrpe_2 +// Résumé : +// Syntaxe : +//RempliFicheHeuresGrpe_2 ( est entier sur 8 octets, est entier sur 8 octets) +// +// Paramètres : +// nIdGroupe (entier sur 8 octets) : +// nIDTypeTemps (entier sur 8 octets) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RempliFicheHeuresGrpe_2(local nIdGroupe est un entier sur 8 octets,nIDTypeTemps est un entier +sur 8 octets) +nIndiceParametre est un entier = TableauCherche(gpclListeTypeTemps.m_clTabModele,tcLinéaire +,"m_sValeur","2") +nIDTpsInter est un entier sur 8 octets = gpclListeTypeTemps.m_clTabModele[nIndiceParametre].m_nPKID +nIndiceParametre = TableauCherche(gpclListeTypeTemps.m_clTabModele,tcLinéaire, +"m_sValeur","1") +nIDTpsGlobal est un entier sur 8 octets = gpclListeTypeTemps.m_clTabModele[nIndiceParametre].m_nPKID +nIndiceParametre = TableauCherche(gpclListeTypeRendezVous.m_clTabModele, +tcLinéaire,"m_sValeur","1") +nIDActiInter est un entier sur 8 octets = gpclListeTypeRendezVous.m_clTabModele[nIndiceParametre]. +m_nPKID +06/08/2026 Isis_BO 4403 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Procédures +nIDTypeRdv est un entier sur 8 octets +nIndice est un entier +bActiviteInter est un booléen +sdReq est une Requête SQL = +[ +SELECT Adresse.AD_Presentation,SuiviDesTemps.SDT_NbMinutes,SuiviDesTemps.SDT_IDTypeTemps, +SuiviDesTemps.SDT_PKID,SuiviDesTemps.SDT_IDTypeRdv +,SuiviDesTemps.SDT_IDIntervention,SuiviDesTemps.SDT_IDRdv,SuiviDesTemps.SDT_DateDebut,SuiviDesTemps +.SDT_DateHeureFin FROM SuiviDesTemps +LEFT OUTER JOIN Intervention ON Intervention.IN_PKID=SuiviDesTemps.SDT_IDIntervention +LEFT OUTER JOIN Lieu ON Lieu.LI_PKID=Intervention.IN_IDLieu +LEFT OUTER JOIN Adresse ON Adresse.AD_PKID=Lieu.LI_IDAdresse +WHERE SuiviDesTemps.SDT_IDGroupe={P_IDGrpe} AND SuiviDesTemps.SDT_IDTypeTemps={P_IDTypeTemps} +] +sdReq.P_IDGrpe = nIdGroupe +sdReq.P_IDTypeTemps = nIDTpsInter//nIDTypeTemps +LIB_Groupe = nIdGroupe +SAI_DateDebut = COL_Date +SAI_DureeDec = COL_Duree +LIB_RDV1 = "" +LIB_IdCollab = COMBO_SDT_IDCollaborateur..ValeurMémorisée +D_TROIS_COLONNE[2]..Visible=Vrai +ZoneRépétéeSupprimeTout(ZR_TypeTemps) +pour i = 1 _à_ gpclListeTypeTemps.p_nTotal +si pas gpclListeTypeTemps:m_clTabModele[i]:m_nOrdre dans (1,2) alors +avec gpclListeTypeTemps:m_clTabModele[i] +ZoneRépétéeAjouteLigne(ZR_TypeTemps,.m_sLibelle,"",.m_nPKID,.m_nOrdre,0,GrisClair) +fin +fin +fin +ZoneRépétéeTrie("ATT_Ordre") +si HExécuteRequête(sdReq,hRequêteDéfaut) alors +HLitPremier(sdReq) +si HTrouve(sdReq) alors +SAI_Adresse = sdReq.AD_Presentation +LIB_idinter = sdReq.SDT_IDIntervention +SAI_HeureDebut = Milieu(sdReq.SDT_DateDebut,9,4) +SAI_HeureFin = Milieu(sdReq.SDT_DateHeureFin,9,4) +nIDTypeRdv = sdReq.SDT_IDTypeRdv +bActiviteInter = nIDTypeRdv=nIDActiInter +fin +sinon//SI PAS HExécuteRequête(sdReq,hRequêteDéfaut) ALORS +Erreur("Impossible d'executer la requête Fiche Saisie"+RC+HErreurInfo()) +fin +HAnnuleDéclaration(sdReq) +D_FICHE_SAISIE[2]..Visible = bActiviteInter +D_FICHE_SAISIE[4]..Visible = bActiviteInter +D_FICHE_SAISIE[5]..Visible = bActiviteInter +COMBO_TypeRdv..Etat = bActiviteInter ? AffichageSeulement sinon Actif +nIndice = TableauCherche(gpclListeTypeRendezVous.m_clTabModele,tcLinéaire, +"m_nPKID",nIDTypeRdv) +si nIndice<>-1 alors +ListeSelectPlus(COMBO_TypeRdv,nIndice) +fin +si HLitRecherchePremier(Intervention,IN_PKID,LIB_idinter) alors +SAI_NumInter=ExtraitChaîne(Intervention.IN_RefInterne,1,"-",DepuisDébut) +ListeSupprimeTout(COMBO_PL_LieIntervention) +ListeAjoute(COMBO_PL_LieIntervention,Intervention.IN_RefInterne+gLien(Intervention.IN_PKID)) +ListeSelectPlus(COMBO_PL_LieIntervention,1) +06/08/2026 Isis_BO 4404 + +Partie 3 › Fenêtre WINDEV › FI_Saisie_Temps_Def › Procédures +SAI_NumInter..Etat=AffichageSeulement +COMBO_PL_LieIntervention..Etat=AffichageSeulement +fin +si nIdGroupe>0 alors +nIndTypeTps est un entier +pour tout SuiviDesTemps avec SDT_IDGroupe=nIdGroupe +nIndTypeTps=ZoneRépétéeCherche(ATT_IDType,SuiviDesTemps.SDT_IDTypeTemps,rechercheIdentique,1) +si nIndTypeTps<>-1 alors +ZR_TypeTemps[nIndTypeTps].ATT_LibValeur = Val(SuiviDesTemps.SDT_NbMinutes)/60 +ZR_TypeTemps[nIndTypeTps].ATT_IDTemps = SuiviDesTemps.SDT_PKID +fin +fin +si SuiviDesTemps.SDT_IDTypeTemps=nIDTpsGlobal alors +SAI_DureeDec=(Val(SuiviDesTemps.SDT_NbMinutes)/60) +LIB_PKIDTEMPS=SuiviDesTemps.SDT_PKID +fin +fin +ZoneRépétéeSelectMoins(ZR_ListeRDV) +06/08/2026 Isis_BO 4405 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Image +FI_RubanTT_Mails +Image +FI_RubanTT_Mails +Informations générales +FI_RubanTT_Mails +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_RubanTT_Mails.wdw +| Créé par | | DFI | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 01/04/2020 16:58:19 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:30 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1339 Hauteur | 127 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------ | --- | ----------------------------------- | ------- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| 06/08/2026 | | | Isis_BO | | 4406 | + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations générales +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Statistiques de la fenêtre +| | Champ de saisie | 9 | Libellé | 7 | +| ---------- | --------------------- | ------- | --------------- | ---- | +| | Bouton | 75 | Interrupteur | 4 | +| | Image | 7 | Spin | 6 | +| | Potentiomètre | 1 | Combo | 1 | +| | Fenêtre interne | 1 | Fenêtre interne | 1 | +| | Option d'interrupteur | 4 | Option de menu | 22 | +| | Ruban | 1 | Regroupement | 22 | +| | Volet (Ruban) | 6 | | | +| 06/08/2026 | | Isis_BO | | 4407 | + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations générales +Nombre d'éléments dans la fenêtre : 167 +FI_RubanTT_Mails +Informations sur les champs +Fenêtre : FI_RubanTT_Mails +Fenêtre interne +BAT ehcuoT +| | | X noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | --- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | | ruegraL | | ruetuaH | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_RubanTT_Mails | | 0 | 0 | 1339 | 127 | 0 | | | +| ---------------- | --- | --- | --- | ---- | --- | --- | --- | --- | +Fenêtre interne : FI_RubanTT_Mails +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_LectureSeule | 0 | 0 80 | 25 | 0 | Actif | Centre | Centre | | +| ---------------- | --- | ---- | --- | --- | ----- | ------ | ------ | --- | +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_WDFAA_RaccourciZoom100 | 55 | -108 | 56 | 61 | 0 | Actif | Interrup | | +| -------------------------- | --- | ---- | ------- | --- | --- | ----- | -------- | ---- | +| BTN_WDFAA_Redo | 41 | 1 | 32 | 22 | 0 | Grisé | Interrup | | +| BTN_WDFAA_Undo | 7 | 1 | 32 | 22 | 0 | Grisé | Interrup | | +| 06/08/2026 | | | Isis_BO | | | | | 4408 | + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › 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_Style | | | -68 | -95 | | 109 | 64 | 0 | | Actif | | | +| --------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Ruban +BAT ehcuoT +| | | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| RUBAN_WINDEVFAA_TT | | | | 0 | | 0 | 1339 | 127 | | 0 | Actif | | +| ------------------ | --- | --- | --- | --- | --- | --- | ---- | --- | --- | --- | ----- | --- | +Ruban : FI_RubanTT_Mails.RUBAN_WINDEVFAA_TT +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_FAA_Zoom | 222 | 57 96 | 22 | 0 | Actif | | Numéri | | Non | | | | +| ------------------- | --- | ------ | --- | --- | ----- | --- | ------ | --- | --- | --- | --- | --- | +| SAI_WDFAA_Espacem | 413 | 74 104 | 24 | 0 | Actif | | Numéri | | Non | | | | +| SAI_WDFAA_Espacem | 413 | 47 104 | 24 | 0 | Actif | | Numéri | | Non | | | | +| SAI_WDFAA_ImageHa | 358 | 53 116 | 22 | 0 | Actif | | Numéri | | Non | | | | +| SAI_WDFAA_ImageLar | 358 | 26 116 | 22 | 0 | Actif | | Numéri | | Non | | | | +| SAI_WDFAA_MargeEn | 442 | 25 200 | 24 | 0 | Actif | | Numéri | | Non | | | | +| SAI_WDFAA_MargePie | 442 | 51 200 | 24 | 0 | Actif | | Numéri | | Non | | | | +| SAI_WDFAA_RetraitDr | 262 | 74 109 | 24 | 0 | Actif | | Numéri | | Non | | | | +| SAI_WDFAA_RetraitGa | | | | | | | Numéri | | | | | | +| | 262 | 47 109 | 24 | 0 | Actif | | | | Non | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | | | ruegraL | | ruetuaH | | | | | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Couleur_de_fond | | 484 | | 31 | 91 | 14 | 0 | | Actif | Gauche | Haut | | +| ----------------------- | --- | --- | --- | --- | --- | ------- | --- | --- | ----- | ------ | ---- | ---- | +| LIB_Couleur_de_trait | | 484 | | 58 | 85 | 14 | 0 | | Actif | Gauche | Haut | | +| LIB_VisuCouleurSurligne | | 696 | | 67 | 16 | 5 | 0 | | Actif | Gauche | Haut | | +| LIB_VisuCouleurTexte | | 653 | | 67 | 16 | 5 | 0 | | Actif | Gauche | Haut | | +| LIB_WDFAA_Espacement | | 389 | | 26 | 77 | 15 | 0 | | Actif | Gauche | Haut | | +| LIB_WDFAA_Retrait | | 244 | | 26 | 55 | 15 | 0 | | Actif | Gauche | Haut | | +| 06/08/2026 | | | | | | Isis_BO | | | | | | 4409 | + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bouton +notuob epyT +| | | | | laitini tatE BAT ehcuoT | | +| --- | --- | --- | --- | ----------------------- | --- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_WDFAA_AfficheCaracControle | 906 26 | 25 24 | 0 | Actif | Interrup | +| ------------------------------ | ------ | ----- | --- | ----- | -------- | +| BTN_WDFAA_AlignCentre | 812 53 | 25 24 | 0 | Actif | Interrup | +| BTN_WDFAA_AlignDroite | 838 53 | 25 24 | 0 | Actif | Interrup | +| BTN_WDFAA_AlignGauche | 786 53 | 25 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Alignjustifie | 864 53 | 25 24 | 0 | Actif | Interrup | +BTN_WDFAA_BTN_WDFAA_RetraitPlus 880 26 25 24 0 Actif Interrup +| BTN_WDFAA_Barre | 567 53 | 27 24 | 0 | Actif | Interrup | +| --------------------------- | ------- | ------ | --- | ----- | -------- | +| BTN_WDFAA_BordFond | 957 53 | 32 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Coller | 355 26 | 50 61 | 0 | Actif | Interrup | +| BTN_WDFAA_Copier | 410 53 | 72 24 | 0 | Actif | Interrup | +| BTN_WDFAA_CouleurFond | 924 53 | 32 24 | 0 | Actif | Interrup | +| BTN_WDFAA_CouleurFondForme | 576 26 | 32 24 | 0 | Actif | Interrup | +| BTN_WDFAA_CouleurSurlignage | 689 53 | 41 24 | 0 | Actif | Interrup | +| BTN_WDFAA_CouleurTexte | 646 53 | 41 24 | 0 | Actif | Interrup | +| BTN_WDFAA_CouleurTraitForme | 576 53 | 32 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Couper | 410 26 | 72 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Entete | 113 26 | 50 61 | 0 | Grisé | Interrup | +| BTN_WDFAA_Export | 247 53 | 98 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Exposant | 620 53 | 25 24 | 0 | Actif | Interrup | +| BTN_WDFAA_FermerEntêtePied | 661 26 | 113 67 | 0 | Actif | Normal | +| BTN_WDFAA_Forme | 1079 26 | 58 61 | 0 | Grisé | Interrup | +| BTN_WDFAA_Formule | 956 26 | 57 61 | 0 | Grisé | Interrup | +| BTN_WDFAA_Gras | 492 53 | 24 24 | 0 | Actif | Interrup | +BTN_WDFAA_Habillage_AligneSurLeTe 5 26 64 61 0 Actif Interrup +| BTN_WDFAA_Habillage_Carre | 79 26 | 64 61 | 0 | Actif | Interrup | +| ------------------------- | ----- | ----- | --- | ----- | -------- | +BTN_WDFAA_Habillage_DerriereLeText 217 26 131 24 0 Actif Interrup +BTN_WDFAA_Habillage_DevantLeTexte 217 53 131 24 0 Actif Interrup +| BTN_WDFAA_Habillage_HautEtBas | 148 26 | 64 61 | 0 | Actif | Interrup | +| ----------------------------- | ------- | ------- | --- | ----- | -------- | +| BTN_WDFAA_Image | 780 26 | 50 61 | 0 | Actif | Interrup | +| BTN_WDFAA_Imprimer | 247 26 | 98 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Indice | 595 53 | 24 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Interligne | 890 53 | 33 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Italique | 517 53 | 24 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Lien | 888 26 | 58 61 | 0 | Grisé | Interrup | +| BTN_WDFAA_MODEAFFICHAGE_PAGE | 357 26 | 56 61 | 0 | Actif | Interrup | +| BTN_WDFAA_MODEAFFICHAGE_WEB | 418 26 | 56 61 | 0 | Actif | Interrup | +| BTN_WDFAA_Majuscules | 743 26 | 33 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Marges | 5 26 | 50 61 | 0 | Actif | Interrup | +| BTN_WDFAA_Nouveau | 5 26 | 81 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Numero | 820 26 | 33 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Orientation | 55 26 | 69 61 | 0 | Actif | Interrup | +| BTN_WDFAA_Orthographe | 1099 73 | 130 34 | 0 | Grisé | Normal | +| BTN_WDFAA_Ouvrir | 5 53 | 72 24 | 0 | Actif | Interrup | +| BTN_WDFAA_PageVierge | 5 26 | 50 61 | 0 | Actif | Interrup | +| BTN_WDFAA_PiedDePage | 168 26 | 50 61 | 0 | Grisé | Interrup | +| BTN_WDFAA_Police | 492 28 | 138 20 | 0 | Actif | Normal | +| BTN_WDFAA_PoliceMoins | 714 26 | 24 24 | 0 | Actif | Interrup | +| BTN_WDFAA_PolicePlus | 689 26 | 24 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Puces | 786 26 | 33 24 | 0 | Grisé | Interrup | +| BTN_WDFAA_Remplacer | 1099 50 | 120 24 | 0 | Actif | Normal | +| BTN_WDFAA_RetraitMoins | 854 26 | 25 24 | 0 | Actif | Interrup | +| BTN_WDFAA_SautDePage | 53 26 | 50 61 | 0 | Actif | Interrup | +| BTN_WDFAA_SauteDePage2 | 184 26 | 50 61 | 0 | Grisé | Interrup | +| 06/08/2026 | | Isis_BO | | | 4410 | + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +BAT ehcuoT notuob epyT +laitini tatE +| | | X noitisoP Y noitisoP | | | | | | | | +| --- | --- | --------------------- | --- | --------------- | --- | --- | --- | --- | --- | +| | | | | ruegraL ruetuaH | | | | | | +elbisiV +nalP +| BTN_WDFAA_Save | | 89 | 26 | 69 | 61 | 0 | Actif | Interrup | | +| ----------------------------- | --- | ---- | --- | --- | --- | --- | ----- | -------- | --- | +| BTN_WDFAA_SaveBTN_WDFAA_Save1 | | 168 | 26 | 69 | 61 | 0 | Actif | Interrup | | +| BTN_WDFAA_Signet | | 1141 | 26 | 58 | 61 | 0 | Actif | Interrup | | +| BTN_WDFAA_Souligne | | 542 | 53 | 24 | 24 | 0 | Actif | Interrup | | +| BTN_WDFAA_TabInsererADroite | | 345 | 26 | 70 | 61 | 0 | Actif | Normal | | +| BTN_WDFAA_TabInsererAGauche | | 275 | 26 | 70 | 61 | 0 | Actif | Normal | | +| BTN_WDFAA_TabInsererAuDessus | | 135 | 26 | 70 | 61 | 0 | Actif | Normal | | +| BTN_WDFAA_TabInsererEnDessous | | 205 | 26 | 70 | 61 | 0 | Actif | Normal | | +| BTN_WDFAA_TabSupprimer | | 65 | 26 | 70 | 61 | 0 | Actif | Normal | | +| BTN_WDFAA_Tableau | | 833 | 26 | 50 | 61 | 0 | Actif | Normal | | +| BTN_WDFAA_Tableau2 | | 5 | 26 | 50 | 61 | 0 | Actif | Normal | | +| BTN_WDFAA_Taille | | 125 | 26 | 50 | 61 | 0 | Actif | Interrup | | +| BTN_WDFAA_ZoneDeTexte | | 1017 | 26 | 58 | 61 | 0 | Grisé | Interrup | | +| BTN_WDFAA_Zoom100 | | 5 | 26 | 56 | 61 | 0 | Actif | Interrup | | +| BTN_WDFAA_ZoomLargeur | | 62 | 26 | 77 | 61 | 0 | Actif | Interrup | | +| BTN_WDFAA_ZoomLargeur1 | | 135 | 26 | 56 | 61 | 0 | Actif | Interrup | | +| BTN_WDFAA_ZoomMoins | | 193 | 57 | 24 | 24 | 0 | Actif | Interrup | | +| BTN_WDFAA_ZoomPlus | | 323 | 57 | 24 | 24 | 0 | Actif | Interrup | | +| BTn_WDFAA_Recherche | | 1099 | 23 | 107 | 24 | 0 | Actif | Normal | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | | laitini tatE | | staté siorT | +| --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | ----------- | +ruegraL ruetuaH +elbisiV +nalP +| INT_ENTETE_LIER | | 223 81 | 197 | 23 | 0 | Actif | | 1 | | +| ------------------------ | --- | ------ | --- | --- | --- | ----- | --- | --- | --- | +| INT_ENTETE_PAIRE_IMPAIRE | | 223 52 | 197 | 23 | 0 | Actif | | 1 | | +| INT_ENTETE_PREMIERE | | 223 26 | 197 | 23 | 0 | Actif | | 1 | | +| INT_WDFAA_AfficherRegles | | 484 26 | 114 | 23 | 0 | Actif | | 1 | | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | sucof cevA | +| --- | --- | --------------------- | ------- | ------- | --- | ------- | ------------ | --- | ---------- | +| | | | | ruetuaH | | | cilc cevA | | | +| | | | ruegraL | | | elbisiV | | | | +nalP +| IMG_WDFAA_EspacementApres | | 389 74 | | 24 24 | | 0 | Actif | | | +| ------------------------- | --- | ------ | --- | ------- | --- | --- | ----- | --- | ---- | +| IMG_WDFAA_EspacementAvant | | 389 47 | | 24 24 | | 0 | Actif | | | +| IMG_WDFAA_MargeEnTête | | 424 29 | | 16 16 | | 0 | Actif | | | +| IMG_WDFAA_MargePiedDePage | | 424 55 | | 16 16 | | 0 | Actif | | | +| IMG_WDFAA_RetraitDroit | | 244 78 | | 16 16 | | 0 | Actif | | | +| IMG_WDFAA_RetraitGauche | | 244 51 | | 16 16 | | 0 | Actif | | | +| 06/08/2026 | | | | Isis_BO | | | | | 4411 | + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Spin +edipar ecnavA +| | | | | | | BAT ehcuoT | .nim enroB | .xam enroB | | | | +| --- | --------------------- | --- | --- | --- | ------------ | ---------- | ---------- | ---------- | --- | --- | --------------------- | +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | | | .pér ertnE .pér tnavA | +ruegraL ruetuaH +| | | | | elbisiV | | lacitreV | | | | relcuoB | | +| --- | --- | --- | --- | ------- | --- | -------- | --- | --- | --- | ------- | --- | +nalP +SPIN_EspacementAprè +| | 517 76 | 14 | 20 | 0 | Actif | | 0 | 100 | 1 | | 50 300 | +| ------------------- | ------ | --- | --- | --- | ----- | --- | --- | --- | --- | --- | ------ | +| SPIN_EspacementAvan | 517 49 | 14 | 20 | 0 | Actif | | 0 | 100 | 1 | | 50 300 | +| SPIN_MargeEnTête | 642 26 | 14 | 20 | 0 | Actif | | 0 | 100 | 1 | | 50 300 | +| SPIN_MargePiedDePag | 642 53 | 14 | 20 | 0 | Actif | | 0 | 100 | 1 | | 50 300 | +| SPIN_RetraitDroite | 371 76 | 14 | 20 | 0 | Actif | | 0 | 100 | 1 | | 50 300 | +| SPIN_RetraitGauche | 371 49 | 14 | 20 | 0 | Actif | | 0 | 100 | 1 | | 50 300 | +Potentiomètre +| | | | | | | | | edipar ecnavA | | | noitaudarg saP | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------- | --- | --- | -------------- | +suossed .darG +| | | | | | BAT ehcuoT | | .xam enroB | | | | sussed .darG | +| --- | --- | --- | --- | --- | ---------- | --- | ---------- | --- | --- | --- | ------------ | +X noitisoP Y noitisoP laitini tatE .nim enroB .pér ertnE .pér tnavA +| | | ruegraL ruetuaH | | | | lacitreV | | | | | | +| --- | --- | --------------- | --- | --- | --- | -------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| POT_WDFAA_Zoom | 193 26 | 154 36 | 0 | Actif | | | 10 500 | | -1 | 300 | 10 | +| -------------- | ------ | ------ | --- | ----- | --- | --- | ------ | --- | --- | --- | --- | +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 +| COMBO_WDFAA_TaillePol | 629 | 26 | 54 | 24 | 0 | Actif | Mémoire | | Non | | | +| --------------------- | --- | --- | --- | --- | --- | ----- | ------- | --- | --- | --- | --- | +Fenêtre interne +BAT ehcuoT +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | | | | +| --- | --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | --- | --- | +| | | | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| CFI_DocxStyle | | | 999 | | 26 | 90 | 59 | 0 | | Actif | | +| ------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Regroupement +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | ------------ | --- | +| | | | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| GRPRUB_Contenu2 | | | 951 | | 23 | 253 | 101 | | | | | +| ----------------------------- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | --- | ---- | +| GRPRUB_WDFAA_Affichage_Regles | | | 479 | | 23 | 124 | 101 | | | | | +| GRPRUB_WDFAA_Affichage_Zoom | | | 0 | | 23 | 352 | 101 | | | | | +| GRPRUB_WDFAA_Contenu | | | 779 | | 23 | 172 | 101 | | | | | +| GRPRUB_WDFAA_Document | | | 0 | | 23 | 163 | 101 | | | | | +| GRPRUB_WDFAA_DocumentFixe | | | 163 | | 23 | 79 | 101 | | | | | +| GRPRUB_WDFAA_EntetePiedDePage | | | 108 | | 23 | 671 | 101 | | | | | +| GRPRUB_WDFAA_Export | | | 242 | | 23 | 108 | 101 | | | | | +| 06/08/2026 | | | | | Isis_BO | | | | | | 4412 | + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | laitini tatE | | +| --- | ---------- | ---------- | ------------ | --- | +| | | ruegraL | ruetuaH | | +elbisiV +nalP +| GRPRUB_WDFAA_Image | 0 | 23 353 | 101 | | +| --------------------------------- | ---- | ------ | --- | --- | +| GRPRUB_WDFAA_Image_Taille | 353 | 23 126 | 101 | | +| GRPRUB_WDFAA_LignesColonnes | 60 | 23 360 | 101 | | +| GRPRUB_WDFAA_MiseEnPage | 0 | 23 239 | 101 | | +| GRPRUB_WDFAA_MiseEnPageParagraphe | 239 | 23 297 | 101 | | +| GRPRUB_WDFAA_ModeAffichage | 352 | 23 127 | 101 | | +| GRPRUB_WDFAA_Modification | 1094 | 23 140 | 101 | | +| GRPRUB_WDFAA_Pages | 0 | 23 108 | 101 | | +| GRPRUB_WDFAA_Paragraphe | 781 | 23 213 | 101 | | +| GRPRUB_WDFAA_Police | 487 | 23 294 | 101 | | +| GRPRUB_WDFAA_PressePapier | 350 | 23 137 | 101 | | +| GRPRUB_WDFAA_Style | 994 | 23 100 | 101 | | +| GRPRUB_WDFAA_StyleForme | 479 | 23 134 | 101 | | +| GRPRUB_WDFAA_TabCreer | 0 | 23 60 | 101 | | +Fenêtre : FI_RubanTT_Mails +Fenêtre interne : FI_RubanTT_Mails +Note pour la documentation technique +FR: Champ traitement de texte : ruban +GB: Word Processing control: ribbon +| UI par l'utilisateur Selon fenêtre | | | | | +| ------------------------------------------------------------------- | --- | --- | --- | --- | +| Unité des tailles Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur 0 | | | | | +| Taux Paral. Y 0 | | | | | +| Épinglé Non | | | | | +| Masquer lors du scrolling Non | | | | | +| Ancrage au contenu | | | | | +| Numéro aide 0 | | | | | +| Thème destination Oui | | | | | +| Alignement sur l'axe secondaire défini par le champ flexbox (auto) | | | | | +| Facteur de rétrécissement 0 | | | | | +Facteur d'agrandissement +0 +| Ctx. HFSQL indép. Non | | | | | +| --------------------- | --- | --- | --- | --- | +| Ancrage | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Isis_BO | | 4413 | +| ---------- | --- | ------- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Fenêtre interne : FI_RubanTT_Mails +Bouton : FI_RubanTT_Mails.BTN_WDFAA_RaccourciZoom100 +Libellé FR,GB: 100% +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Réinitialise le zoom à 100% +GB: Reinitializes zoom at 100% +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_zoom100.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4414 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bouton : FI_RubanTT_Mails.BTN_WDFAA_Redo +Ordre navigation -1 +Curseur survol 32512 +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 +Retrait gauche 2 +Réduction Ruban Réduire jusqu'au mode au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 R\'e9tablir (Ctrl+Y)\b0\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf1\highlight0 Redo +(Ctrl+Y)\b0\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_redo.png +Nb. états image 1 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4415 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bouton : FI_RubanTT_Mails.BTN_WDFAA_Undo +Ordre navigation -1 +Curseur survol 32512 +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 +Retrait gauche 2 +Réduction Ruban Réduire jusqu'au mode au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Annuler (Ctrl+Z)\b0\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Undo +(Ctrl+Z)\b0\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_undo.png +Nb. états image 1 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4416 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Image : FI_RubanTT_Mails.IMG_Style +Valeur initiale FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_styles.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_RubanTT_Mails.LIB_LectureSeule +Libellé FR: Lecture seule +GB: Read-only +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Isis_BO 4417 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR,GB: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Ruban : FI_RubanTT_Mails.RUBAN_WINDEVFAA_TT +Libellé FR: &Ruban +GB: &Ribbon +Valeur initiale 1 +Ordre navigation 2 +Curseur survol 32512 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Retrait gauche 0 +Retrait des onglets 79 +Numéro aide 0 +Autorise ChangeGabarit Oui +Volets détachables Non +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 +Valeur persistante Oui +Texte Markdown Non +Nb. états image 5 +Nb. étapes animation 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4418 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Ruban : FI_RubanTT_Mails.RUBAN_WINDEVFAA_TT +Bouton : +Groupe GRP_WDFAA_TT_Tous +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Afficher tout (Ctrl+8)\b0\par +\fs16 Afficher les marques de paragraphe, ainsi que d'autres symboles masqu\'e9s de +mise en forme.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Display all +(Ctrl+8)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Display the paragraph +marks as well as other hidden formatting symbols.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_CaratereNonImp.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +Nb. étapes animation 1 +Largeur Halo 0 +06/08/2026 Isis_BO 4419 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Retrait gauche 0 +Réduction Ruban Réduire jusqu'au mode au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Centrer (Ctrl+E)\b0\par +\fs16 Centrer votre contenu dans la page.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Center +(Ctrl+E)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Center your content in the +page.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_TxtBtn_07_Texte-Aligner-C +entre_16_5.png +06/08/2026 Isis_BO 4420 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Retrait gauche 0 +Réduction Ruban Réduire jusqu'au mode au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Aligner \'e0 droite (Ctrl+Maj+D)\b0\par +\fs16 Aligner le contenu sur la marge de droite.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Align to right +(Ctrlj+R)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Align your content on the +right margin.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +06/08/2026 Isis_BO 4421 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_TxtBtn_08_Texte-Aligner-D +roite_16_5.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Retrait gauche 0 +Réduction Ruban Réduire jusqu'au mode au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Aligner \'e0 gauche (Ctrl+Maj+G)\b0\par +\fs16 Aligner votre contenu sur la marge de gauche.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Align to left +(Ctrl+L)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Align your content on the +left margin.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +06/08/2026 Isis_BO 4422 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_TxtBtn_06_Texte-Aligner-G +auche_16_5.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Retrait gauche 0 +Réduction Ruban Réduire jusqu'au mode au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Justifier (Ctrl+J)\b0\par +\fs16 R\'e9partir votre texte de mani\'e8re uniforme entre les marges.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Justify +(Ctrl+J)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Position your text evenly +between margins.\fs18\par +} +06/08/2026 Isis_BO 4423 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_TxtBtn_11_Texte-Aligner-Ju +stifier_16_5.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Retrait gauche 0 +Réduction Ruban Réduire jusqu'au mode au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 4424 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Augmenter le retrait\b0\par +\fs16\'c9loigner le paragraphe de la marge.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Increase the +indent\b0\par +\fs16\ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Move the paragraph away +from the margin.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_retrait_gauche.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Isis_BO 4425 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Ancrage au contenu +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Barr\'e9\b0\par +\fs16 Tracer une ligne au milieu des \'e9l\'e9ments s\'e9lectionn\'e9s.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Struck +out\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Draw a line in the middle of +selected elements.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Barre.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4426 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +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 +Retrait gauche 0 +Réduction Ruban Réduire jusqu'au mode au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Bordures\b0\par +\fs16 Ajouter ou supprimer les bordures de votre s\'e9lection.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Borders\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Add or delete the borders +of your selection.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Bordures-Trames.png +Nb. états image 5 +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 +06/08/2026 Isis_BO 4427 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Coller +GB: Paste +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Coller (Ctrl+V)\b0\par +\fs16 Coller le contenu du Presse-papiers.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Paste +(Ctrl+V)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Paste the clipboard +content\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_coller.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +Nb. étapes animation 1 +06/08/2026 Isis_BO 4428 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Copier +GB: Copy +Groupe GRP_WDFAA_TT_Tous +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Copier (Ctrl+C)\b0\par +\fs16 Placer une copie de la s\'e9lection dans le Presse-papiers, pour pouvoir la coller +ailleurs, plus tard.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Copy +(Ctrl+C)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Place a copy of the +selection in the clipboard in oder to paste it somewhere else, later.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +06/08/2026 Isis_BO 4429 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_copier.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +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 +Retrait gauche 0 +Réduction Ruban Réduire jusqu'au mode au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Trame de fond\b0\par +\fs16 Modifier la couleur derri\'e8re le texte ou le paragraphe s\'e9lectionn\'e9.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Shading\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Modify the color behind +the selected text or paragraph.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 4430 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Facteur d'agrandissement 0 +Type flèche Bouton flèche +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_RemplissageParagraphe.p +ng +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +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 +Retrait gauche 0 +Réduction Ruban Réduire jusqu'au mode au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Trame de fond\b0\par +\fs16 Modifier la couleur derri\'e8re le texte ou le paragraphe s\'e9lectionn\'e9.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Shading\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Modify the color behind +the selected text or paragraph.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +06/08/2026 Isis_BO 4431 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Animée par défaut Oui +Mode ellipse +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_RemplissageParagraphe.p +ng +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +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 +Retrait gauche 0 +Réduction Ruban Réduire jusqu'au mode au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 4432 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Couleur de surlignage du texte\b0\par +\fs16 Rendre votre texte \'e9clatant en le surlignant d'une couleur vive.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Text highlighting +color\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Highlight your text by using +a bright color.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 Bouton avec flèche distincte +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_surlignage.png +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +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 +06/08/2026 Isis_BO 4433 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Retrait gauche 0 +Réduction Ruban Réduire jusqu'au mode au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Couleur de police\b0\par +\fs16 Modifier la couleur de votre texte.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Font +Color\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Modify the color of your +text.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 Bouton avec flèche distincte +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_TxtBtn_05_Texte-Couleur_ +16_5.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4434 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +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 +Retrait gauche 0 +Réduction Ruban Réduire jusqu'au mode au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Couleur de trait\b0\par +\fs16 Modifier la couleur de trait de la forme.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Line +Color\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Modify the line color for +the shape.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Bordures-Trames.png +Nb. états image 5 +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 +06/08/2026 Isis_BO 4435 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Couper +GB: Cut +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 Couper (Ctrl+X)\b0\par +\fs16 Supprimer la s\'e9lection et la placer dans le Presse-papiers pour pouvoir la coller +ailleurs.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf1\highlight0 Cut +(Ctrl+X)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf1\highlight0 Delete the selection and +place it in the clipboard in order to paste it somewhere else.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_couper.png +Nb. états image 5 +Nb. états fond 5 +06/08/2026 Isis_BO 4436 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: En-tête +GB: Header +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs17 Ins\'e9rer une en-t\'eate\par +\b0 Les en-t\'eates permettent de r\'e9p\'e9ter un contenu en haut de chaque +page.\b\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs17 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs17\cf0\highlight0 Insert a +header\par +\b0 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf0\highlight0 The headers are used to +repeat a content at the top of each page.\b\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Isis_BO 4437 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Type flèche Bouton flèche +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Entete.png +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Exporter +GB: Export +Groupe GRP_WDFAA_TT_Tous +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu flèche WINDEVFAA_TT_CTX_Exporter +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Exporter le document vers un autre format. +GB: Export the document to another format. +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. +06/08/2026 Isis_BO 4438 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Exporter.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Exposant (Ctrl+Maj++)\b0\par +\fs16 Taper de toutes petites lettres au-dessus de la ligne de texte.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Superscript +(Ctrl+Shift++)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Type very small letters +above the text line.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Isis_BO 4439 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Type flèche +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_exposant.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Fermer l'en-tête et le pied de page +GB: Close the header and footer +Groupe GRP_ENTETE,GRP_WDFAA_TT_INACTIF,GRP_WDFAA_TT_Tous +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 4440 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 Fermer l'en-t\'eate et le pied de page\b0\fs17\par +Fermer les outils en-t\'eate et pied de page.\par +\par +Vous pouvez \'e9galement double-cliquer sur la zone du document pour revenir \'e0 sa +modification.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf1\highlight0 Close the +header and footer\b0\fs17\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf1\highlight0 Close the header and footer +tools.\par +\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf1\highlight0 You can also double-click the +document area to go back to its modification.\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4441 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bouton : +Libellé FR: Forme +GB: Shape +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Ins\'e9rer une forme\par +\b0\fs17 Dessiner des formes pr\'e9d\'e9finies (des cercles, des carr\'e9s, ...)\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Insert shape\par +\b0\fs17 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf0\highlight0 Draw preset shapes +(circles, squares, ...)\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_Formes_32_5.png +Nb. états image 5 +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 +06/08/2026 Isis_BO 4442 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Formule +GB: Expression +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Ins\'e9rer une formule\par +\b0 Ins\'e9rer du texte automatique, des propri\'e9t\'e9s de document et des champs +(num\'e9ro de page, date, ...).\fs17\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Insert a +formula\par +\b0 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Insert automatic text, +document properties and controls (page number, date, ...).\fs17\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Champ-Formaté.png +Nb. états image 1 +Nb. états fond 5 +06/08/2026 Isis_BO 4443 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Gras (Ctrl+G)\b0\par +\fs16 Mettre votre texte en gras.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Bold +(Ctrl+B)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Write your text in +bold\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +06/08/2026 Isis_BO 4444 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Gras.png +GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Gras-US.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Aligné sur le texte +GB: Aligned on text +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Habillage_Aligner.png +Nb. états image 5 +Nb. états fond 5 +06/08/2026 Isis_BO 4445 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Carré +GB: Square +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Habillage_Carré.png +Nb. états image 5 +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 +06/08/2026 Isis_BO 4446 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Derrière le texte +GB: Behind text +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Habillage_Derriere.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4447 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bouton : +Libellé FR: Devant le texte +GB: In front of text +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Habillage_Devant.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4448 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bouton : +Libellé FR: Haut et bas +GB: Top and bottom +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Habillage_Haut +et Bas.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4449 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bouton : +Libellé FR,GB: Image +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Ins\'e9rer une image\par +\b0 Ins\'e9rer des images depuis votre ordinateur.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Insert an +image\par +\b0 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Insert images from your +computer.\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Images.png +Nb. états image 5 +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 +06/08/2026 Isis_BO 4450 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Imprimer +GB: Print +Groupe GRP_WDFAA_TT_Tous +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Imprimer (Ctrl+P)\b0\fs17\par +Ouvrir l'aper\'e7u avant impression.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Print +(Ctrl+P)\b0\fs17\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf0\highlight0 Open the print preview.\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Apercu.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +Nb. étapes animation 1 +06/08/2026 Isis_BO 4451 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Indice (Ctrl+=)\b0\par +\fs16 Taper de toutes petites lettres sous la ligne de texte.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Subscript +(Ctrl+=)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Type very small letters +below the text line.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_indice.png +06/08/2026 Isis_BO 4452 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +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 +Retrait gauche 0 +Réduction Ruban Réduire jusqu'au mode au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Interligne\b0\par +\fs16 Choisir l'espacement entre les lignes de texte.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Interline\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Choose the spacing +between text lines.\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 Bouton flèche +06/08/2026 Isis_BO 4453 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_interligne.png +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Italique (Ctrl+I)\b0\par +\fs16 Mettre votre texte en italique.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Italic +(Ctrl+I)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Write your text in +italic.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +06/08/2026 Isis_BO 4454 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › 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 +Type flèche +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Italique.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Lien +GB: Link +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Ins\'e9rer un lien hypertexte\par +\b0 Cr\'e9er un lien dans votre document pour acc\'e9der \'e0 une page web ou \'e0 un +signet.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Insert a +hypertext link\par +\b0 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Create a link in your +document to access a Web page or a bookmark.\par +} +Numéro aide 0 +06/08/2026 Isis_BO 4455 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Lien_32_5.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Affichage paginé +GB: Paginated display +Groupe GRP_WDFAA_TT_Affichage +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 4456 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs17 Page\b0\par +Visualisez l'aspect de votre document une fois imprim\'e9.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs17 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs17\cf0\highlight0 Page\b0\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf0\highlight0 See the aspect of your document +once printed.\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Affiche-Page.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Mode web +GB: Web mode +Groupe GRP_WDFAA_TT_Affichage +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Isis_BO 4457 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\cf1\b\f0\fs17 web\par +\b0 Visualiser l'aspect de votre document s'il prenait la forme d'une page web.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\cf1\b\f0\fs17 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs17\cf1\highlight0 web\par +\b0 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf1\highlight0 See the aspect of your +document if it was displayed in Web page format.\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Affiche-Web.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4458 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu flèche WINDEVFAA_TT_CTX_Majuscule +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}{\f1\fnil\fcharset0 MS Shell Dlg;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Passer en MAJUSCULES/minuscules\b0\f1\fs17\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}{\f1\fnil\fcharset0 MS Shell Dlg;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Switch to +UPPERCASE/lowercase\b0\f1\fs17\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_Majuscule-Minuscule.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4459 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bouton : +Libellé FR: Marges +GB: Margins +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Ajuster les marges\b0\par +\fs16 D\'e9finir les tailles des marges pour l'int\'e9gralit\'e9 du document ou la section +actuelle.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Adjust the +margins\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Define the size of margins +for the entire document or for the current section.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_marges.png +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 +06/08/2026 Isis_BO 4460 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Nouveau +GB: New +Groupe GRP_WDFAA_TT_Tous +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Nouveau (Ctrl+N)\b0\par +\fs16 Cr\'e9er un document vierge.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 New +(Ctrl+N)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Create a new +document.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_OptNouveau.png +Nb. états image 5 +06/08/2026 Isis_BO 4461 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Retrait gauche 0 +Réduction Ruban Réduire jusqu'au mode au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Num\'e9rotation et liste \'e0 plusieurs niveaux\b0\par +\fs16 Cr\'e9er une liste num\'e9rot\'e9e ou une liste \'e0 plusieurs niveaux pour +organiser les \'e9l\'e9ments.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Numbering and +list on several levels\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Create a numbered list or a +list on several levels to organize the elements.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 Bouton avec flèche distincte +06/08/2026 Isis_BO 4462 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Numerotation_Multi_Nivea +u.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR,GB: Orientation +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu flèche WINDEVFAA_TT_CTX_Orientation +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Modifier l'orientation de la page\b0\par +\fs16 Disposer l'arri\'e8re-plan de votre page selon l'orientation Paysage ou +Portrait.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Modify the page +orientation\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Arrange the background of +your page according to the Landscape or Portrait orientation.\fs18\par +} +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 4463 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_orientation.png +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Activer la correction orthographique +GB: Enable the spell check +Groupe GRP_WDFAA_TT_Tous +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Vérifier l'orthographe. +GB: Check the spelling. +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +06/08/2026 Isis_BO 4464 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › 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 +Type flèche +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_correcteur.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Ouvrir +GB: Open +Groupe GRP_WDFAA_TT_Tous +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Ouvrir (Ctrl+O)\b0\par +\fs16 Ouvrir un fichier docx existant.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Open +(Ctrl+O)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Open an existing docx +file.\fs18\par +} +Numéro aide 0 +06/08/2026 Isis_BO 4465 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_OptOuvrir.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Page vierge +GB: Blank page +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF,GRP_PAGE +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 4466 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Ajouter une page vierge\b0\par +\fs16 Ins\'e9rer une page vierge n'importe o\'f9 dans votre document.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Add a blank +page\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Insert a blank page +anywhere in your document\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_PageVierge.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Pied de page +GB: Page footer +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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 +06/08/2026 Isis_BO 4467 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs17 Ins\'e9rer un pied de page\par +\b0 Les pieds de page permettent de r\'e9p\'e9ter un contenu en bas de chaque +page.\b\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs17 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs17\cf0\highlight0 Insert a page +footer\par +\b0 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf0\highlight0 The footers are used to +repeat a content at the bottom of each page.\b\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_pieddepage.png +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4468 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bouton : +Libellé FR: Police +GB: Font +Ordre navigation 1 +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 +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 +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 5 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4469 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}{\f1\fnil\fcharset0 MS Shell Dlg;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Diminuer la taille de police\b0\f1\fs17\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}{\f1\fnil\fcharset0 MS Shell Dlg;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Reduce the +font\b0\f1\fs17\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Police-Moins.png +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4470 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Augmenter la taille de police\b0\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Enlarge the +font\b0\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Police-Plus.png +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4471 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Retrait gauche 0 +Réduction Ruban Réduire jusqu'au mode au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Puces\b0\par +\fs16 Cr\'e9er une liste \'e0 puces.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Bullets\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Create a list with +bullets.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 Bouton avec flèche distincte +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_puces.png +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4472 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bouton : +Libellé FR: Remplacer +GB: Replace +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Remplacer (Ctrl+H)\b0\par +\fs16 Recherche un texte que vous souhaitez modifier et le remplacer par autre +chose.\fs18\par +\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Replace +(Ctrl+H)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Find a text that you want to +modify and replace it by something else.\fs18\par +\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_remplacer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +06/08/2026 Isis_BO 4473 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Retrait gauche 0 +Réduction Ruban Réduire jusqu'au mode au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Diminuer le retrait\b0\par +\fs16 Rapprocher le paragraphe de la marge.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Reduce the +indent\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Move the paragraph near +the margin.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_retrait_gauche-diminuer.p +ng +Nb. états image 5 +06/08/2026 Isis_BO 4474 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Saut de page +GB: Page break +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF,GRP_PAGE +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Ins\'e9rer un saut de page (Ctrl+Entr\'e9e)\b0\fs18\par +\fs16 Terminer la page actuelle ici et passer \'e0 la page suivante.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Insert a page +break (Ctrl+Enter)\b0\fs18\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 End the current page and +go to next page.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Isis_BO 4475 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Type flèche +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_SautDePage.png +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Saut de page +GB: Page break +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_NONDISPO,GRP_PAGE +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Insérer un saut de page +GB: Insert a page break +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_SautDePage.png +06/08/2026 Isis_BO 4476 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Enregistrer +GB: Save +Groupe GRP_WDFAA_TT_Tous +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu flèche WINDEVFAA_TT_CTX_Sauver +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Enregistrer (Ctrl+S)\b0\fs17\par +Enregistrer le document.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Save +(Ctrl+S)\b0\fs17\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf0\highlight0 Save the document.\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Isis_BO 4477 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Type flèche Bouton avec flèche distincte +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_Sauve.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Enregistrer +GB: Save +Groupe GRP_WDFAA_TT_Tous +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Enregistrer (Ctrl+S)\b0\fs17\par +Enregistrer le document.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Save +(Ctrl+S)\b0\fs17\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf0\highlight0 Save the document.\par +} +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 4478 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_Sauve.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Signet +GB: Bookmark +Groupe GRP_WDFAA_TT_Tous +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 4479 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Ins\'e9rer un signet\par +\cf1\b0\fs16 Les signets permettent d'atteindre un emplacement sp\'e9cifique dans le +document.\cf0\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Insert a +bookmark\par +\cf1\b0\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf1\highlight0 The bookmarks are +used to reach a specific location in the document.\cf0\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_Signet.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +06/08/2026 Isis_BO 4480 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Soulign\'e9 (Ctrl+U)\b0\par +\fs16 Souligner votre texte.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Underlined +(Ctrl+U)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Underline your +text.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Souligne.png +GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Souligne-US.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4481 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bouton : +Libellé FR: Insérer à droite +GB: Insert to right +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Insérer une colonne à droite de la colonne courante +GB: Insert a column to the right of current column +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_tab_ins_droite.png +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4482 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bouton : +Libellé FR: Insérer à gauche +GB: Insert to left +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Insérer un colonne à gauche de la colonne courante +GB: Insert a column to the left of current column +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_tab_ins_gauche.png +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4483 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bouton : +Libellé FR: Insérer au-dessus +GB: Insert above +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Insérer une ligne au-dessus de la ligne courante +GB: Insert a row above the current row +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_tab_ins_dessus.png +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4484 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bouton : +Libellé FR: Insérer en dessous +GB: Insert below +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Insérer une ligne en dessous de la ligne courante +GB: Insert a row below the current row +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_tab_ins_dessous.png +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4485 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bouton : +Libellé FR: Supprimer +GB: Delete +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu flèche WINDEVFAA_TT_CTX_TableauSupprime +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Supprimer le tableau sélectionné +GB: Delete the selected table +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_tab_supprimer.png +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4486 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bouton : +Libellé FR: Tableau +GB: Table +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs17 Cr\'e9er un tableau\par +\b0 Un tableau est un excellent moyen d'organiser des informations au sein de votre +document.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs17 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs17\cf0\highlight0 Create a +table\par +\b0 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf0\highlight0 A tableau is a good way to +organize information within your document.\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Tableau.png +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 +06/08/2026 Isis_BO 4487 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Tableau +GB: Table +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Créer un tableau +GB: Create a table +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Tableau.png +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4488 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bouton : +Libellé FR: Taille +GB: Size +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Choisir la taille de la page\b0\par +\fs16 Choisir le format de papier pour votre document.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Choose the page +size\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Choose the paper format +for your document.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_taille.png +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 +06/08/2026 Isis_BO 4489 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Zone de texte +GB: Text area +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Ins\'e9rer une zone de texte\par +\b0 Une zone de texte met un contenu en \'e9vidence : c'est un excellent moyen de +mettre en \'e9vidence un texte important comme un en-t\'eate ou une citation.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Insert a text +area\par +\b0 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 A text area highlights a +content: it's a good way to highlight an important text such as a header or a quote.\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_Zone-Texte_32_5.png +Nb. états image 5 +Nb. états fond 5 +06/08/2026 Isis_BO 4490 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR,GB: 100% +Groupe GRP_WDFAA_TT_Affichage +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 100%\b0\par +\fs16 Restaurer le niveau de zoom \'e0 100%.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 100%\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Restore the zoom level to +100%.\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +06/08/2026 Isis_BO 4491 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_zoom100.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Largeur de la page +GB: Page Width +Groupe GRP_WDFAA_TT_Affichage +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Largeur de la page\b0\par +\fs16 Effectuer un zoom sur le document afin que la largeur de la page corresponde \'e0 +la largeur de la fen\'eatre.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Page +Width\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Perform a zoom on the +document in order for the page width to correspond to the window width.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +06/08/2026 Isis_BO 4492 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_zoomlargeurpage.png +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Page entière +GB: Entire page +Groupe GRP_WDFAA_TT_Affichage +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 4493 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Une page\b0\par +\fs16 Effectuer un zoom sur le document de mani\'e8re \'e0 afficher une page enti\'e8re +dans la fen\'eatre.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 A page\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Perform a zoom on the +document in order to display the entire page in the window.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_zoomtaillepage.png +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GRP_WDFAA_TT_Affichage +Ordre navigation -1 +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 +06/08/2026 Isis_BO 4494 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Ancrage au contenu +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR,GB: Zoom -10% +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_zoommoins.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GRP_WDFAA_TT_Affichage +Ordre navigation -1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR,GB: Zoom + 10% +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 4495 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_zoomplus.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Rechercher +GB: Find +Groupe GRP_WDFAA_TT_Tous +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 4496 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Rechercher (Ctrl+F)\b0\par +\fs16 Rechercher du texte dans le document.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Find +(Ctrl+F)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Find text in the +document.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_recherche.png +Nb. états image 5 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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 +Ancrage au contenu +Numéro aide 0 +Ascenseur auto. Non +06/08/2026 Isis_BO 4497 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › 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 +Swipe Non +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : +Valeur initiale 12 +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Droite +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 53 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 630 +Largeur interne 53 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Taille de police\b0\par +\fs16 Modifier la taille de votre texte.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Font Size\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Modify the size of your +text.\fs18\par +} +06/08/2026 Isis_BO 4498 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Numérique +Masque saisie FR,GB: 9 999,0 +Mode ellipse +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 Oui +Avec focus Non +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. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4499 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Regroupement : FI_RubanTT_Mails.RUBAN_WINDEVFAA_TT.GRPRUB_Contenu2 (4) +Libellé FR,GB: Contenu Doc +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +Regroupement : +Libellé FR: Règles +GB: Rulers +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +Regroupement : +Libellé FR,GB: Zoom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +Regroupement : FI_RubanTT_Mails.RUBAN_WINDEVFAA_TT.GRPRUB_WDFAA_Contenu +Libellé FR: Contenu +GB: Content +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +06/08/2026 Isis_BO 4500 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Regroupement : +Libellé FR,GB: Document +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_OptNouveau_32_1.png +Nb. états image 1 +Regroupement : +Libellé FR,GB: Document +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +Regroupement : +Libellé FR: En-tête et pied de page +GB: Page header and footer +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +Regroupement : FI_RubanTT_Mails.RUBAN_WINDEVFAA_TT.GRPRUB_WDFAA_Export (3) +Libellé FR,GB: Export +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Apercu_32_1.png +Nb. états image 1 +06/08/2026 Isis_BO 4501 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Regroupement : FI_RubanTT_Mails.RUBAN_WINDEVFAA_TT.GRPRUB_WDFAA_Image (1) +Libellé FR: Habillage +GB: Wrapping +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +Regroupement : +Libellé FR: Taille +GB: Size +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Rgp_Taille.png +Nb. états image 1 +Regroupement : +Libellé FR: Lignes et colonnes +GB: Rows and columns +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +06/08/2026 Isis_BO 4502 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Regroupement : +Libellé FR: Mise en page +GB: Layout +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +Regroupement : +Libellé FR: Paragraphe +GB: Paragraph +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Rgp_Paragraphe.png +Nb. états image 1 +Regroupement : +Libellé FR: Mode d'affichage +GB: Display mode +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +06/08/2026 Isis_BO 4503 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Regroupement : +Libellé FR,GB: Modification +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Rgp_Modification.png +Nb. états image 1 +Regroupement : FI_RubanTT_Mails.RUBAN_WINDEVFAA_TT.GRPRUB_WDFAA_Pages (1) +Libellé FR,GB: Pages +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +Regroupement : +Libellé FR: Paragraphe +GB: Paragraph +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Rgp_Paragraphe.png +Nb. états image 1 +06/08/2026 Isis_BO 4504 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Regroupement : FI_RubanTT_Mails.RUBAN_WINDEVFAA_TT.GRPRUB_WDFAA_Police (5) +Libellé FR: Police +GB: Font +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Rgp_Police.png +Nb. états image 1 +Regroupement : +Libellé FR: Presse-papiers +GB: Clipboard +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +Regroupement : FI_RubanTT_Mails.RUBAN_WINDEVFAA_TT.GRPRUB_WDFAA_Style (7) +Libellé FR,GB: Style +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Image FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Rgp_Style.png +Nb. états image 1 +06/08/2026 Isis_BO 4505 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Regroupement : +Libellé FR: Style de la forme +GB: Shape style +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +Regroupement : FI_RubanTT_Mails.RUBAN_WINDEVFAA_TT.GRPRUB_WDFAA_TabCreer +Libellé FR: Créer +GB: Create +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +Image : +Valeur initiale FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_espacement_avant.png +Groupe GRP_WDFAA_TT_Tous +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +06/08/2026 Isis_BO 4506 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_espacement_avant.png +Groupe GRP_WDFAA_TT_Tous +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4507 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Image : +Valeur initiale FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Entete-Position.png +Groupe GRP_ENTETE +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_Pied-Position.png +Groupe GRP_ENTETE +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +06/08/2026 Isis_BO 4508 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_retrait_droite.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +06/08/2026 Isis_BO 4509 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WINDEVFAA_TT_retrait_gauche.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4510 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GRP_ENTETE,GRP_WDFAA_TT_INACTIF,GRP_WDFAA_TT_Tous +Ordre navigation 10 +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 +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 Lier au pr\'e9c\'e9dent\b0\fs17\par +Etablir un lien vers la section pr\'e9c\'e9dente pour continuer \'e0 utiliser le m\'eame +en-t\'eate ou pied de page.\par +\par +D\'e9sactivez cette fonctionnalit\'e9 pour cr\'e9er un autre en-t\'eate ou pied de page +pour la section actuelle.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf1\highlight0 Link to +previous\b0\fs17\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf1\highlight0 Create a link to the previous +section in order to use the same header or footer.\par +\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf1\highlight0 Disable this feature to create +another header or footer for the current section.\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +06/08/2026 Isis_BO 4511 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Mode menu ctx. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 6 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : +Valeur initiale 0 +Groupe GRP_ENTETE,GRP_WDFAA_TT_INACTIF,GRP_WDFAA_TT_Tous +Ordre navigation 8 +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 +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 Page paires et impaires diff\'e9rentes\b0\fs17\par +Indiquer si les pages impaires doivent avoir un en-t\'eate et un pied de page diff\'e9rent +des pages paires.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf1\highlight0 Different +even and odd pages\b0\fs17\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf1\highlight0 Specify whether the odd pages +and the even pages must have a different header and footer.\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +06/08/2026 Isis_BO 4512 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 6 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : +Valeur initiale 0 +Groupe GRP_ENTETE,GRP_WDFAA_TT_INACTIF,GRP_WDFAA_TT_Tous +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 +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 Premi\'e8re page diff\'e9rente\b0\fs17\par +D\'e9finir un en-t\'eate et un pied de page diff\'e9rents pour la premi\'e8re page de la +section.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf1\highlight0 Different +first page\b0\fs17\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf1\highlight0 Define a different header and +footer for the first section page.\par +} +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 4513 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 6 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : +Libellé FR: &Interrupteur +GB: &Check box +Valeur initiale 0 +Groupe GRP_WDFAA_TT_Affichage +Ordre navigation 1 +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 +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 4514 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.16299}\viewkind4\uc1 +\pard\cf1\b\f0\fs17 Afficher les r\'e8gles en regard de votre document\b0\par +Gr\'e2ce \'e0 cette fonctionnalit\'e9, vous pouvez afficher et d\'e9finir des taquets de +tabulation, ainsi que manipuler les valeurs de retrait de paragraphe. Les r\'e8gles +permettent \'e9galement de prendre des mesures.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.16299}\viewkind4\uc1 +\pard\cf1\b\f0\fs17 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs17\cf1\highlight0 Display the +rulers in relation to your document\b0\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf1\highlight0 This feature allows you to +display and define tab stops and to handle paragraph indent values. The rulers can also +be used to take measures.\par +} +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 6 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4515 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Libellé : +Libellé FR: Couleur de fond : +GB: Background color: +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 +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,GB: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Couleur de trait : +GB: Line Color: +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Isis_BO 4516 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR,GB: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +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 +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,GB: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4517 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Libellé : +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 +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,GB: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Espacement +GB: Spacing +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 +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 +06/08/2026 Isis_BO 4518 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Type saisie Texte +Masque saisie FR,GB: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Retrait +GB: Indent +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 +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,GB: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4519 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Potentiomètre : +Libellé FR: &Potentiomètre +GB: &Slider +Valeur initiale 10 +Groupe GRP_WDFAA_TT_Affichage +Ordre navigation -1 +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 +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 +Avec focus Non +Valeur persistante Non +Texte Markdown Non +Nb. états image 2 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GRP_WDFAA_TT_Affichage +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 222 +Largeur interne 96 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 4520 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 Zoom\b0\par +\fs16 Choisir le pourcentage d'agrandissement qui vous convient.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf1\highlight0 Zoom\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf1\highlight0 Choose the enlargement +percentage that suits you.\fs18\par +} +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,GB: 99 999% +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 4521 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Après : +GB: After: +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 458 +Largeur interne 59 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 4522 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Espace apr\'e8s\b0\par +\fs16 Modifier l'espacement en dessous des paragraphes s\'e9lectionn\'e9s.\fs18\par +\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Space +after\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Modify the spacing below +the selected paragraphs.\fs18\par +\par +} +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,GB: 9 999,00 pt;9 999,00 pt;0 pt; +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 4523 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Avant : +GB: Before: +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 458 +Largeur interne 59 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Espace avant\b0\par +\fs16 Modifier l'espacement au-dessus des paragraphes s\'e9lectionn\'e9s.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Space +before\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Modify the spacing above +the selected paragraphs.\fs18\par +} +06/08/2026 Isis_BO 4524 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › 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,GB: 9 999,00 pt;9 999,00 pt;0 pt; +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +06/08/2026 Isis_BO 4525 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Hauteur : +GB: Height: +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 408 +Largeur interne 66 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Hauteur de l'image +GB: Image height +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,GB: 9 999,99 cm;9 999,99 cm;0 cm; +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 4526 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Largeur : +GB: Width: +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Isis_BO 4527 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Ancrage au contenu +Cadrage horz. Droite +Position X interne 408 +Largeur interne 66 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Largeur de l'image +GB: Image width +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,GB: 9 999,99 cm;9 999,99 cm;0 cm; +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +06/08/2026 Isis_BO 4528 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: En-tête à partir du haut : +GB: Header from top: +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF,GRP_ENTETE +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 593 +Largeur interne 49 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Position de l'en-t\'eate \'e0 partir du haut\b0\par +\fs16 Sp\'e9cifier la distance entre le haut de la page et le haut de l'en-t\'eate\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Position of +header from top\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Specify the distance +between the top of page and the top of header\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +Visualisation markdown Non +06/08/2026 Isis_BO 4529 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR,GB: 99,00 cm;99,00 cm;0 cm; +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4530 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Champ de saisie : +Libellé FR: Pied de page à partir du bas : +GB: Footer from bottom: +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF,GRP_ENTETE +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 593 +Largeur interne 49 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Position du pied de page \'e0 partir du bas\b0\par +\fs16 Sp\'e9cifier la distance entre le bas de la page et le bas du pied de page.\par +\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Position of +footer from bottom\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Specify the distance +between the page bottom and the footer bottom.\par +\fs18\par +} +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,GB: 99,00 cm;99,00 cm;0 cm; +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +06/08/2026 Isis_BO 4531 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › 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 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4532 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Champ de saisie : +Libellé FR: A droite : +GB: Right: +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 322 +Largeur interne 49 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Retrait \'e0 droite\b0\par +\fs16 S\'e9lectionner la distance de retrait du paragraphe par rapport \'e0 la marge +droite.\par +\par +Pour modifier les marges de l'ensemble du document, cliquez sur le bouton Marges.\par +\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Right +indent\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Select the indent of the +paragraph in relation to the right margin.\par +\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 To modify the margins for the +entire document, click the Margins button.\par +\fs18\par +} +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,GB: 99,00 cm;99,00 cm;0 cm; +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +06/08/2026 Isis_BO 4533 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4534 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Champ de saisie : +Libellé FR: A gauche : +GB: Left: +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 322 +Largeur interne 49 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Retrait \'e0 gauche\b0\par +\fs16 S\'e9lectionner la distance de retrait du paragraphe par rapport \'e0 la marge +gauche.\par +\par +Pour modifier les marges de l'ensemble du document, cliquez sur le bouton Marges.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Left +indent\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Select the indent of the +paragraph in relation to the left margin.\par +\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 To modify the margins for the +entire document, click the Margins button.\par +} +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,GB: 99,00 cm;99,00 cm;0 cm; +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +06/08/2026 Isis_BO 4535 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4536 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Spin : +Valeur initiale 0 +Groupe ,GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 8 +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 +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 +Avec focus Oui +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Spin : +Valeur initiale 0 +Groupe ,GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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 +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 +Avec focus Oui +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4537 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Spin : +Valeur initiale 0 +Groupe ,GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF,GRP_ENTETE +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 +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 +Avec focus Oui +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Spin : +Valeur initiale 0 +Groupe ,GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF,GRP_ENTETE +Ordre navigation 9 +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 +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 +Avec focus Oui +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4538 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les champs +Spin : +Valeur initiale 0 +Groupe ,GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 7 +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 +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 +Avec focus Oui +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Spin : +Valeur initiale 0 +Groupe ,GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 3 +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 +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 +Avec focus Oui +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4539 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les menus +FI_RubanTT_Mails +Informations sur les menus +Menu contextuel : 'WINDEVFAA_TT_CTX_Exporter' +Nom des options +Générer_le_PDF (3) +WINDEVFAA_TT_OPT_HTML (7) +Libellé des options : Français +Exporter en PDF... +Exporter en HTML... +Libellé des options : Anglais +Export in PDF... +Export in HTML... +Menu contextuel : 'WINDEVFAA_TT_CTX_Sauver' +Nom des options +WINDEVFAA_TT_OPT_Save (5) +WINDEVFAA_TT_OPT_SaveAs (6) +Libellé des options : Français +Enregistrer +Enregistrer sous... +Libellé des options : Anglais +Save +Save as... +06/08/2026 Isis_BO 4540 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les menus +Menu contextuel : 'WINDEVFAA_TT_CTX_Orientation' +Nom des options +WINDEVFAA_TT_OPT_Portrait (12) +WINDEVFAA_TT_OPT_Paysage (13) +Libellé des options : Français +Portrait +Paysage +Libellé des options : Anglais +Portrait +Landscape +Menu contextuel : 'WINDEVFAA_TT_CTX_TableauSupprime' +Nom des options +WINDEVFAA_TT_OPT_SupprLigne (8) +OPT_Supprimer_la_colonne (9) +OPT_Supprimer_le_tableau (10) +Libellé des options : Français +Supprimer la ligne +Supprimer la colonne +Supprimer le tableau +Libellé des options : Anglais +Delete the line +Delete the column +Delete the table +06/08/2026 Isis_BO 4541 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les menus +Menu contextuel : 'WINDEVFAA_TT_CTX_EnTête' +Nom des options +OPT_ModifierEnTête (15) +OPT_SupprimerEnTête (19) +Libellé des options : Français +&Modifier l'en-tête +S&upprimer l'en-tête +Libellé des options : Anglais +&Modify the header +&Delete the header +Menu contextuel : 'WINDEVFAA_TT_CTX_PiedDePage' +Nom des options +OPT_ModifierPiedPage (17) +OPT_SupprimerPiedPage (18) +Libellé des options : Français +&Modifier le pied de page +S&upprimer le pied de page +Libellé des options : Anglais +&Modify the footer +&Delete the footer +Menu contextuel : 'WINDEVFAA_TT_CTX_Majuscule' +06/08/2026 Isis_BO 4542 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Informations sur les menus +Nom des options +OPT_WDFAA_Minuscules (21) +OPT_MAJUSCULES (22) +Libellé des options : Français +minuscules +MAJUSCULES +Libellé des options : Anglais +lowercase characters +UPPERCASES +FI_RubanTT_Mails +Messages multilingues +06/08/2026 Isis_BO 4543 +¹ +.ssem +°N +Message +2000 FR: Aucune couleur +GB: No color +2001 FR: La taille de la police doit être comprise entre 1 et 1638 +GB: The font size must be included between 1 and 1638 +2002 FR: Insérer une image +GB: Insert an image +2003 FR: es fichiers (*.*)" + TAB +GB: files (*.*)" + TAB +2004 FR: +GB: Tous les fichiers (*.*) +2005 FR,GB: ) +2006 FR: Impossible d'ouvrir le fichier +GB: Unable to open the file +2007 FR: Ce fichier est au format ".DOC". +Pour être manipulable avec le champ TT, ce document doit être sauvé au format ".DOCX". +Le mode opératoire est simple: +Sous votre traitement de texte, ouvrez le document. +Effectuez un "Enregistrez sous". +Dans le type de fichier, choisissez "DOCX". +Sous Word, choisissez "Type: Document Word" (choix par défaut de Word). +GB: This file is in ".DOC" format. +To be used by the WP control, this document must be saved in ".DOCX" format. +The operating mode is straightforward: +Open the document in your word processing. +Select "Save as". +In the file type, choose "DOCX". +In Word, choose "Type: Document Word" (default Word choice). + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Messages multilingues +06/08/2026 Isis_BO 4544 +¹ +.ssem +°N +Message +2008 FR: s fichi +GB: s file +2009 FR: Tous les fichiers +GB: All the files +2010 FR: Zone de texte +GB: Text area +2011 FR,GB: Image +2012 FR: Enregistrer sous... +GB: Save as... +2013 FR: enregistr +GB: save +2014 FR: Ne pas enregistrer +GB: Don't save +2015 FR: Annuler +GB: Cancel +2016 FR: Enregistrer (%1) +GB: Save (%1) +2017 FR: Voulez-vous enregistrer vos modification ? +GB: Do you want to save your modifications? +2018 FR: [Texte] +GB: [Text] +¹ N° mess. : numéro de message. +FI_RubanTT_Mails +Code des champs +Déclarations globales de FI_RubanTT_Mails +procédure MaFenêtre() +//EXTERNE "KeyConst.WL" +externe WDOBJ_TT_Util +//Champ TT manipulé par ce ruban +pChampTT est un Champ +gProcUpdateUI est procédure +//Cache des polices +gtabPolices est tableau de chaîne Unicode +constant +nINDICE_VOLET_INSERTION = 2 +nINDICE_VOLET_TABLEAU = 4 +nINDICE_VOLET_IMAGE = 5 +fin + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +//Trait appliqué par défaut +goTrait est un Trait +goTrait.Epaisseur = WDOBJ_TT_Util.grDEpaiiseurCadreParDéfaut +//Tableau des groupes de champ pour éviter un pb de contexte sur l'utilisation des groupes +gtabGrp_Tous est un tableau de Champ = __GetTabChampFromGroupe(GRP_WDFAA_TT_Tous) +gtabGrp_Inactif est un tableau de Champ = __GetTabChampFromGroupe(GRP_WDFAA_TT_INACTIF) +gtabGrp_NonDispo est un tableau de Champ = __GetTabChampFromGroupe(GRP_WDFAA_TT_NONDISPO) +// mode précédente des onglet de volets +gbAncienModeTableau, gbAncienModeEntêtePiedDePage sont des booléens +gnAncienVoletTableau, gnAncienVoletEntêtePiedDePage sont des entiers +gbChangeVoletTableau est booléen = Vrai +gnAncienVoletTableau = -1 +gnAncienVoletEntêtePiedDePage = -1 +gnNextOngletSelectionné est entier = -1 +//Répertoire d'insertion d'image +gsRepInsertionDefaut est chaîne = fRepEnCours() +__SetEtatGroupe(gtabGrp_Tous, Grisé) +GRPRUB_WDFAA_Modification..Grisé = Vrai +BTN_WDFAA_Nouveau..Grisé = Faux +BTN_WDFAA_Ouvrir..Grisé = Faux +GRP_ENTETE..Visible = Faux +GRPRUB_WDFAA_Style..TauxAncrageLargeur=100 +GRPRUB_WDFAA_Style..LargeurMax=10000 +gnNumIdPuce est un entier = 4 +gbBibliPuce est un booléen = Vrai +gnNumIdNumérotation est un entier = 4 +gbBibliNumérotation est un booléen = Vrai +//Init FI Style. +externe FI_WinDevFAA_TT_StyleRuban +ChangeFenêtreSource( CFI_DocxStyle, "FI_WinDevFAA_TT_StyleRuban") +Fin d'initialisation de FI_RubanTT_Mails +//Branche un update UI après tous les autres pour activer explicitement un onglet +pRuban est Champ <- RUBAN_WINDEVFAA_TT +procédure interne fUI_NextOnglet() +si gnNextOngletSelectionné <> -1 alors +pRuban = gnNextOngletSelectionné +fin +gnNextOngletSelectionné = -1 +fin +gProcUpdateUI += fUI_NextOnglet +Clic sur BTN_WDFAA_RaccourciZoom100 +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +pChampTT..Zoom = 100 +Clic sur BTN_WDFAA_Redo +06/08/2026 Isis_BO 4545 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +DocRedo(pChampTT) +Clic sur BTN_WDFAA_Undo +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +DocUndo(pChampTT) +Initialisation de RUBAN_WINDEVFAA_TT +gnAncienVoletImage est entier = -1 +gbChangeVoletImage est un booléen = Vrai +pRuban est Champ <- MoiMême +procédure interne fUI_OngletImage +//Onglet image visible si sélection d'image ou dans zone de texte +f est docFragment <- pChampTT..Sélection..Fragment +soit bOngletImageVisible = Faux +soit eTypeSousDoc = f..TypeSousDocument +si eTypeSousDoc = typeSousDocZoneDeTexte alors +bOngletImageVisible = Vrai +sinon si pChampTT..Curseur>=1 _et_ f.Elément..Occurrence = 1 _et_ f.Elément[1].Type = +typeDocElémentImage alors +bOngletImageVisible = Vrai +fin +bAncienModeImage est booléen = pRuban[nINDICE_VOLET_IMAGE]..Visible +// on sort du mode image +si bOngletImageVisible=Faux alors +gbChangeVoletImage = (pRuban=nINDICE_VOLET_IMAGE) +si pRuban=nINDICE_VOLET_IMAGE _et_ gnAncienVoletImage<>-1 alors pRuban=gnAncienVoletImage +gnAncienVoletImage=-1 +fin +pRuban[nINDICE_VOLET_IMAGE]..Visible = bOngletImageVisible +// si on passe en mode image +si bOngletImageVisible=Vrai alors +si gbChangeVoletImage alors +gnAncienVoletImage = pRuban +pRuban = nINDICE_VOLET_IMAGE +fin +fin +si eTypeSousDoc = typeSousDocZoneDeTexte alors +pRuban[nINDICE_VOLET_IMAGE]..Libellé = "Zone de texte" +sinon +06/08/2026 Isis_BO 4546 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +pRuban[nINDICE_VOLET_IMAGE]..Libellé = "Image" +fin +fin +gProcUpdateUI += fUI_OngletImage +Modification du volet affiché de RUBAN_WINDEVFAA_TT +si pChampTT<>Null alors +RepriseSaisie(pChampTT) +fin +Initialisation de BTN_WDFAA_Forme +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +//Fonction d'update UI : voir bouton d'insertion des zones de texte BTN_WDFAA_ZoneDeTexte +Clic sur BTN_WDFAA_Forme +externe WinDevFAA_BarreTT_PopupForme +sFormePredefinie est chaîne = OuvrePopup(WinDevFAA_BarreTT_PopupForme) +si sFormePredefinie = "" alors +retour +fin +e est un docElément +e.Type = typeDocElémentZoneDeTexte +e.ZoneDeTexte.Hauteur = 50 +e.ZoneDeTexte.Largeur = 50 +e.ZoneDeTexte.X = 10 +e.ZoneDeTexte.Y = 0 +e.ZoneDeTexte.Habillage = docHabillageDevantLeTexte +e.ZoneDeTexte.FormePrédéfinie = sFormePredefinie +e.ZoneDeTexte.Fond.Couleur = RVB(91,155,213) +f est un docFragment <= pChampTT..Sélection..Fragment +//On insère la zone de texte au début du paragraphe d'insertion, mais après toutes les zones de texte +qui s'y trouvent +soit nPositionInsertion = f..Paragraphe[1].Positionfin-1 +f..PositionDébut = f..Paragraphe[1].PositionDébut +f..PositionFin = f..Paragraphe[1].PositionFin +pour tout elt de f..Elément +si elt.Type <> typeDocElémentZoneDeTexte alors +nPositionInsertion = elt.PositionDébut +sortir +fin +fin +f..PositionDébut = nPositionInsertion +f..PositionFin = nPositionInsertion +DocInsère(f,e) +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_Formule +06/08/2026 Isis_BO 4547 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Formule +si pChampTT = Null alors +retour +fin +externe WinDevFAA_ChampFormule +Ouvre("WinDevFAA_ChampFormule", pChampTT) +Initialisation de BTN_WDFAA_Signet +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Signet +extern WinDevFAA_Signet +Ouvre("WinDevFAA_Signet",pChampTT) +Initialisation de BTN_WDFAA_ZoneDeTexte +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +pThis est Champ <- MoiMême +pForme est Champ <- BTN_WDFAA_Forme +procédure interne fUI_ZoneDeTexte() +f est un docFragment <- pChampTT..Sélection..Fragment +d est Document <- pChampTT..Valeur +soit nEtat = Actif +si (nEtat = Actif) _et_ (d=Null _ou_ pChampTT..Etat=Grisé) alors +nEtat = Grisé +fin +si (nEtat = Actif) _et_ f.TypeSousDocument = typeSousDocZoneDeTexte alors +//Zone de texte sélectionnée +nEtat = Grisé +fin +si (nEtat = Actif) _et_ f.PositionDébut<>f.PositionFin alors +nEtat = Grisé +fin +si (nEtat = Actif) _et_ f.Elément..Occurrence>1 _et_ f.Elément[1]..Type <> typeDocElémentTexte +alors +nEtat = Grisé +fin +pThis..Etat = nEtat +pForme..Etat = nEtat +fin +gProcUpdateUI += fUI_ZoneDeTexte +Clic sur BTN_WDFAA_ZoneDeTexte +06/08/2026 Isis_BO 4548 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +e est un docElément +e.Type = typeDocElémentZoneDeTexte +e.ZoneDeTexte.Hauteur = 40 +e.ZoneDeTexte.Largeur = 50 +e.ZoneDeTexte.X = 10 +e.ZoneDeTexte.Y = 0 +e.ZoneDeTexte.Habillage = docHabillageDevantLeTexte +e.ZoneDeTexte.FormePrédéfinie = "rect" +e.ZoneDeTexte.Fond.Couleur = Blanc +soit t <- e.ZoneDeTexte.Trait +t.Couleur = Noir +t.Epaisseur = 0.2 +DocDébutModification(pChampTT) +f est un docFragment <= pChampTT..Sélection..Fragment +//On insère la zone de texte au début du paragraphe d'insertion, mais après toutes les zones de texte +qui s'y trouvent +soit nPositionInsertion = f..Paragraphe[1].Positionfin-1 +f..PositionDébut = f..Paragraphe[1].PositionDébut +f..PositionFin = f..Paragraphe[1].PositionFin +pour tout elt de f..Elément +si elt.Type <> typeDocElémentZoneDeTexte alors +nPositionInsertion = elt.PositionDébut +sortir +fin +fin +f..PositionDébut = nPositionInsertion +f..PositionFin = nPositionInsertion +DocInsère(f,e) +elt est un docElément = Null +pour tout e de f.Elément +si e.Type = typeDocElémentZoneDeTexte alors +e.ZoneDeTexte.Contenu.Texte = "[Texte]" +elt <- e +fin +fin +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +si elt <> Null alors +DocSélectionne(pChampTT, elt.ZoneDeTexte.Contenu) +fin +//On placera le ruban sur l'onglet "Zone de texte" (qui est en fait le volet "image") +gnNextOngletSelectionné = nINDICE_VOLET_IMAGE +Initialisation de INT_WDFAA_AfficherRegles +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +A chaque modification de INT_WDFAA_AfficherRegles +pChampTT..RègleVisible = MoiMême +EcranPremier(pChampTT) +Initialisation de BTN_WDFAA_Zoom100 +06/08/2026 Isis_BO 4549 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Zoom100 +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +pChampTT..Zoom = 100 +Initialisation de BTN_WDFAA_ZoomLargeur +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_ZoomLargeur +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +pChampTT..Zoom = zoomAdapteLargeur +Initialisation de BTN_WDFAA_ZoomLargeur1 +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_ZoomLargeur1 +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +pChampTT..Zoom = zoomAdapteTaille +Initialisation de BTN_WDFAA_ZoomMoins +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_ZoomMoins +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +nZoomCourant est entier =pChampTT..Zoom/10 +pChampTT..Zoom = nZoomCourant*10-10 +Initialisation de BTN_WDFAA_ZoomPlus +06/08/2026 Isis_BO 4550 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_ZoomPlus +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +nZoomCourant est entier = pChampTT..Zoom/10 +pChampTT..Zoom = nZoomCourant*10+10 +Initialisation de POT_WDFAA_Zoom +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +A chaque modification de POT_WDFAA_Zoom +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +nZoom est entier = MoiMême +si nZoom > 10 _et_ nZoom < 500 alors +pChampTT..Zoom = nZoom +fin +Initialisation de SAI_FAA_Zoom +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Sortie de SAI_FAA_Zoom +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +rZoom est réel = MoiMême +si rZoom > 0.1 _et_ rZoom < 5 alors +pChampTT..Zoom = rZoom*100 +fin +Touche relâchée (WM_KEYUP) de SAI_FAA_Zoom +VK_RETURN_local est un entier = 0x0d +si _EVE.wParam = VK_RETURN_local alors +// valide +ExécuteTraitement(MoiMême,trtSortie) +DonneFocus(pChampTT) +renvoyer Faux +fin +Initialisation de BTN_WDFAA_Image +06/08/2026 Isis_BO 4551 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Image +__Ctx_InsereImage(gsRepInsertionDefaut) +Initialisation de BTN_WDFAA_Lien +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +pThis est Champ <- MoiMême +procédure interne fUI_Lien() +f est un docFragment <- pChampTT..Sélection..Fragment +d est Document <- pChampTT..Valeur +soit nEtat = Actif +si (nEtat = Actif) _et_ (d=Null _ou_ pChampTT..Etat=Grisé) alors +nEtat = Grisé +fin +si (nEtat = Actif) _et_ f.Elément..Occurrence>1 _et_ f.Elément[1]..Type <> typeDocElémentTexte +alors +nEtat = Grisé +fin +pThis..Etat = nEtat +fin +gProcUpdateUI += fUI_Lien +Clic sur BTN_WDFAA_Lien +externe FEN_WinDevFAA_TT_Lien +Ouvre(FEN_WinDevFAA_TT_Lien, pChampTT) +Initialisation de BTN_WDFAA_Tableau +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Tableau +__Ctx_InsereTableau() +Initialisation de BTN_WDFAA_Nouveau +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Nouveau +__Ctx_Nouveau() +Initialisation de BTN_WDFAA_Ouvrir +06/08/2026 Isis_BO 4552 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Ouvrir +__Ctx_Open() +Initialisation de BTN_WDFAA_Save +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Save +__Ctx_Save() +Initialisation de BTN_WDFAA_SaveBTN_WDFAA_Save1 +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +MoiMême..ToucheRaccourci = trControl + Asc("S") +Clic sur BTN_WDFAA_SaveBTN_WDFAA_Save1 +externe pChampTT +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +doc est Document <- pChampTT..Valeur +si pas DocSauve(doc) alors +Erreur(ErreurInfo()) +fin +Initialisation de GRPRUB_WDFAA_EntetePiedDePage +soit pRegroupement est Champ <- MoiMême +procédure interne fUI_EntetePiedDePage() +pRegroupement..Visible = pas pChampTT..EditionHTML +fin +gProcUpdateUI += fUI_EntetePiedDePage +Initialisation de BTN_WDFAA_Entete +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Entete +extern WinDevFAA_BarreTT_PopupEntêtePiedDePage +si OuvrePopup(WinDevFAA_BarreTT_PopupEntêtePiedDePage,pChampTT,Vrai) alors +ChampExécuteModification(pChampTT) +fin +Initialisation de BTN_WDFAA_FermerEntêtePied +06/08/2026 Isis_BO 4553 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_FermerEntêtePied +DocEntreEdition(pChampTT,docCorps) +Initialisation de BTN_WDFAA_PiedDePage +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_PiedDePage +extern WinDevFAA_BarreTT_PopupEntêtePiedDePage +si OuvrePopup(WinDevFAA_BarreTT_PopupEntêtePiedDePage,pChampTT,Faux) alors +ChampExécuteModification(pChampTT) +fin +Initialisation de INT_ENTETE_LIER +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +A chaque modification de INT_ENTETE_LIER +s est une docSection <- pChampTT..Sélection..Section[1] +selon pChampTT..Sélection..Fragment..TypeSousDocument +cas typeSousDocEnTêtePremièrePage +s.Entête.PremièrePageHéritée = MoiMême[1] +cas typeSousDocEnTêtePagePaire +s.Entête.PagePaireHéritée = MoiMême[1] +cas typeSousDocEnTêtePageImpaire +s.Entête.PageImpaireHéritée = MoiMême[1] +cas typeSousDocPiedDePremièrePage +s.PiedDePage.PremièrePageHéritée = MoiMême[1] +cas typeSousDocPiedDePagePaire +s.PiedDePage.PagePaireHéritée = MoiMême[1] +cas typeSousDocPiedDePageImpaire +s.PiedDePage.PageImpaireHéritée = MoiMême[1] +fin +ChampExécuteModification(pChampTT) +EcranPremier(pChampTT) +Initialisation de INT_ENTETE_PAIRE_IMPAIRE +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +A chaque modification de INT_ENTETE_PAIRE_IMPAIRE +06/08/2026 Isis_BO 4554 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +pChampTT..Valeur..PagePaireImpaireDifférente = MoiMême[1] +ChampExécuteModification(pChampTT) +EcranPremier(pChampTT) +Initialisation de INT_ENTETE_PREMIERE +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +A chaque modification de INT_ENTETE_PREMIERE +s est une docSection <- pChampTT..Sélection..Section[1] +s.PremierePageDifferente = INT_ENTETE_PREMIERE[1] +ChampExécuteModification(pChampTT) +EcranPremier(pChampTT) +Initialisation de SAI_WDFAA_MargeEnTête +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +//moimeme = __sValeurCentimètres(0) +MoiMême = 0 +Sortie de SAI_WDFAA_MargeEnTête +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +pChampTT..Sélection..Section[1]..MargeEntête = __dCentimètresVersMillimètres(MoiMême) +ChampExécuteModification(pChampTT) +Touche relâchée (WM_KEYUP) de SAI_WDFAA_MargeEnTête +si pChampTT<>Null _et_ _EVE.wParam = VK_RETURN alors +pChampTT..Sélection..Section[1]..MargeEntête = __dCentimètresVersMillimètres(MoiMême) +ChampExécuteModification(pChampTT) +DonneFocus(pChampTT) +fin +Initialisation de SAI_WDFAA_MargePiedDePage +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +//MoiMême = __sValeurCentimètres(0) +MoiMême = 0 +Sortie de SAI_WDFAA_MargePiedDePage +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +pChampTT..Sélection..Section[1].MargePiedDePage = __dCentimètresVersMillimètres(MoiMême) +ChampExécuteModification(pChampTT) +Touche relâchée (WM_KEYUP) de SAI_WDFAA_MargePiedDePage +06/08/2026 Isis_BO 4555 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +si pChampTT<>Null _et_ _EVE.wParam = VK_RETURN alors +pChampTT..Sélection..Section[1].MargePiedDePage = __dCentimètresVersMillimètres(MoiMême) +ChampExécuteModification(pChampTT) +DonneFocus(pChampTT) +fin +Incrémentation de SPIN_MargeEnTête +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__IncrémenteValeurChampDixième(SAI_WDFAA_MargeEnTête,99) +pChampTT..Sélection..Section[1]..MargeEntête = __dCentimètresVersMillimètres(SAI_WDFAA_MargeEnTête) +ChampExécuteModification(pChampTT) +Décrémentation de SPIN_MargeEnTête +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__DécrémenteValeurChampDixième(SAI_WDFAA_MargeEnTête) +pChampTT..Sélection..Section[1]..MargeEntête = __dCentimètresVersMillimètres(SAI_WDFAA_MargeEnTête) +ChampExécuteModification(pChampTT) +Incrémentation de SPIN_MargePiedDePage +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__IncrémenteValeurChampDixième(SAI_WDFAA_MargePiedDePage,99) +pChampTT..Sélection..Section[1].MargePiedDePage = __dCentimètresVersMillimètres(SAI_ +WDFAA_MargePiedDePage) +ChampExécuteModification(pChampTT) +Décrémentation de SPIN_MargePiedDePage +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__DécrémenteValeurChampDixième(SAI_WDFAA_MargePiedDePage) +pChampTT..Sélection..Section[1].MargePiedDePage = __dCentimètresVersMillimètres(SAI_ +WDFAA_MargePiedDePage) +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_Export +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Initialisation de BTN_WDFAA_Imprimer +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Imprimer +__Ctx_Print() +Initialisation de GRPRUB_WDFAA_Image +procédure interne fUI_Habillage +f est un docFragment <- pChampTT..Sélection..Fragment +nNewHabillage est un entier = 0 +06/08/2026 Isis_BO 4556 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +si (pChampTT..Curseur>=1 _et_ f.Elément..Occurrence = 1 _et_ f.Elément[1].Type = +typeDocElémentImage) alors +nNewHabillage = f.Elément[1].Image.Habillage +sinon si (f.TypeSousDocument = typeSousDocZoneDeTexte) +doc est Document <- pChampTT..Valeur +elt est un docElément<- WDOBJ_TT_Util.RechercheElementZoneDeTexte(doc, f. +IdentifiantSousDocument) +si elt <> Null alors +nNewHabillage = elt.ZoneDeTexte.Habillage +fin +fin +BTN_WDFAA_Habillage_AligneSurLeTexte..Enfoncé = (nNewHabillage = docHabillageAlignéSurLeTexte) +BTN_WDFAA_Habillage_Carre..Enfoncé = (nNewHabillage = docHabillageEncadré) +BTN_WDFAA_Habillage_DerriereLeTexte..Enfoncé = (nNewHabillage = docHabillageDerrièreLeTexte) +BTN_WDFAA_Habillage_DevantLeTexte..Enfoncé = (nNewHabillage = docHabillageDevantLeTexte) +BTN_WDFAA_Habillage_HautEtBas..Enfoncé = (nNewHabillage = docHabillageHautEtBas) +fin +gProcUpdateUI += fUI_Habillage +Initialisation de BTN_WDFAA_Habillage_AligneSurLeTexte +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Habillage_AligneSurLeTexte +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +__Ctx_SetHabillage(0) +Initialisation de BTN_WDFAA_Habillage_Carre +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Habillage_Carre +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +__Ctx_SetHabillage(1) +Initialisation de BTN_WDFAA_Habillage_DerriereLeTexte +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Habillage_DerriereLeTexte +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +06/08/2026 Isis_BO 4557 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +__Ctx_SetHabillage(5) +Initialisation de BTN_WDFAA_Habillage_DevantLeTexte +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Habillage_DevantLeTexte +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +__Ctx_SetHabillage(6) +Initialisation de BTN_WDFAA_Habillage_HautEtBas +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Habillage_HautEtBas +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +__Ctx_SetHabillage(4) +Initialisation de GRPRUB_WDFAA_Image_Taille +procédure interne fUI_ImageTaille +f est un docFragment <- pChampTT..Sélection..Fragment +nNewHauteur est un réel = 0 +nNewLargeur est un réel = 0 +si (pChampTT..Curseur>=1 _et_ f.Elément..Occurrence = 1 _et_ f.Elément[1].Type = +typeDocElémentImage) alors +nNewHauteur = f.Elément[1].Image.Hauteur / 10 +nNewLargeur = f.Elément[1].Image.Largeur / 10 +sinon si (f.TypeSousDocument = typeSousDocZoneDeTexte) +doc est Document <- pChampTT..Valeur +elt est un docElément<- WDOBJ_TT_Util.RechercheElementZoneDeTexte(doc, f. +IdentifiantSousDocument) +si elt <> Null alors +nNewHauteur = elt.ZoneDeTexte.Hauteur / 10 +nNewLargeur = elt.ZoneDeTexte.Largeur / 10 +fin +fin +SAI_WDFAA_ImageHauteur = nNewHauteur +SAI_WDFAA_ImageLargeur = nNewLargeur +fin +gProcUpdateUI += fUI_ImageTaille +Initialisation de SAI_WDFAA_ImageHauteur +externe WDOBJ_TT_Util +06/08/2026 Isis_BO 4558 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +//MoiMême = __sValeurPoints(0) +MoiMême = 0 +Sortie de SAI_WDFAA_ImageHauteur +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +f est docFragment <- pChampTT..Sélection..Fragment +dNewValeur est réel = (MoiMême*10) +si f.Elément..Occurrence = 1 _et_ f.Elément[1].Type = typeDocElémentImage alors +f.Elément[1].Image.Hauteur = dNewValeur +ChampExécuteModification(pChampTT) +sinon si f.TypeSousDocument = typeSousDocZoneDeTexte +doc est Document <- pChampTT..Valeur +elt est un docElément <- WDOBJ_TT_Util.RechercheElementZoneDeTexte(doc, f.IdentifiantSousDocument) +si elt<>Null alors +elt.ZoneDeTexte.Hauteur = dNewValeur +fin +ChampExécuteModification(pChampTT) +fin +Touche relâchée (WM_KEYUP) de SAI_WDFAA_ImageHauteur +VK_RETURN_local est un entier = 0x0d +si _EVE.wParam = VK_RETURN_local alors +// valide +ExécuteTraitement(MoiMême,trtSortie) +DonneFocus(pChampTT) +renvoyer Faux +fin +Initialisation de SAI_WDFAA_ImageLargeur +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +//MoiMême = __sValeurPoints(0) +MoiMême = 0 +Sortie de SAI_WDFAA_ImageLargeur +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +f est docFragment <- pChampTT..Sélection..Fragment +dNewValeur est réel = (MoiMême*10) +si f.Elément..Occurrence = 1 _et_ f.Elément[1].Type = typeDocElémentImage alors +f.Elément[1].Image.Largeur = dNewValeur +06/08/2026 Isis_BO 4559 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +sinon si f.TypeSousDocument = typeSousDocZoneDeTexte +doc est Document <- pChampTT..Valeur +elt est un docElément <- WDOBJ_TT_Util.RechercheElementZoneDeTexte(doc, f.IdentifiantSousDocument) +si elt <> Null alors +elt.ZoneDeTexte.Largeur = dNewValeur +fin +fin +ChampExécuteModification(pChampTT) +Touche relâchée (WM_KEYUP) de SAI_WDFAA_ImageLargeur +VK_RETURN_local est un entier = 0x0d +si _EVE.wParam = VK_RETURN_local alors +// valide +ExécuteTraitement(MoiMême,trtSortie) +DonneFocus(pChampTT) +renvoyer Faux +fin +Initialisation de BTN_WDFAA_TabInsererADroite +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_TabInsererADroite +f est docFragment = pChampTT..Sélection..Fragment +f.PositionFin = f.PositionDébut +soit tabtableau <- f.Paragraphe[1].Tableau +procédure interne GetCellule(p) +renvoyer p.Cellule +fin +soit cellule <- GetCellule(f.Paragraphe[1]) +si tabtableau = Null _ou_ cellule = Null alors +retour +fin +si cellule.IndiceColonne >= tabtableau.Colonnes..Occurrence alors +Ajoute(tabtableau.Colonnes) +sinon +Insère(tabtableau.Colonnes, cellule.IndiceColonne+1) +fin +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_TabInsererAGauche +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_TabInsererAGauche +f est docFragment = pChampTT..Sélection..Fragment +f.PositionFin = f.PositionDébut +06/08/2026 Isis_BO 4560 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +soit tabtableau <- f.Paragraphe[1].Tableau +procédure interne GetCellule(p) +renvoyer p.cellule +fin +soit cellule <- GetCellule(f.Paragraphe[1]) +si tabtableau = Null _ou_ cellule = Null alors +retour +fin +Insère(tabtableau.Colonnes, cellule.IndiceColonne) +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_TabInsererAuDessus +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_TabInsererAuDessus +f est docFragment = pChampTT..Sélection..Fragment +f.PositionFin = f.PositionDébut +soit tabtableau <- f.Paragraphe[1].Tableau +procédure interne GetCellule(p) +renvoyer p.cellule +fin +soit cellule <- GetCellule(f.Paragraphe[1]) +si tabtableau = Null _ou_ cellule = Null alors +retour +fin +Insère(tabtableau.Lignes, cellule.IndiceLigne) +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_TabInsererEnDessous +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_TabInsererEnDessous +f est docFragment = pChampTT..Sélection..Fragment +f.PositionFin = f.PositionDébut +soit tabtableau <- f.Paragraphe[1].Tableau +procédure interne GetCellule(p) +renvoyer p.cellule +fin +soit cellule <- GetCellule(f.Paragraphe[1]) +si tabtableau = Null _ou_ cellule = Null alors +retour +fin +si cellule.IndiceLigne >= tabtableau.Lignes..Occurrence alors +Ajoute(tabtableau.Lignes) +06/08/2026 Isis_BO 4561 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +sinon +Insère(tabtableau.Lignes, cellule.IndiceLigne+1) +fin +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_TabSupprimer +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Initialisation de GRPRUB_WDFAA_MiseEnPage +soit p est Champ <- MoiMême +procédure interne fUUI +p..Visible = pas pChampTT..EditionHTML +fin +gProcUpdateUI += fUUI +Initialisation de BTN_WDFAA_Marges +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Marges +externe WDOBJ_FAA_Document +WDOBJ_FAA_Document.CLIC_BTN_WDFAA_Marges(pChampTT) +Initialisation de BTN_WDFAA_Orientation +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Orientation +_Ctx_Orientation_UpdateMenuSelonSelection() +Initialisation de BTN_WDFAA_SauteDePage2 +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_SauteDePage2 +ExécuteTraitement(BTN_WDFAA_SautDePage,trtClic) +Initialisation de BTN_WDFAA_Taille +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Taille +06/08/2026 Isis_BO 4562 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +externe WDOBJ_TT_Util +rLargeurPage est un réel = 0 +rHauteurPage est un réel = 0 +nOrientation est un entier +nOrientation=docPortrait +bAppliqueAuDoc est un booléen=Faux +doc est un Document <- pChampTT..Valeur +f est docFragment = WDOBJ_TT_Util.fragmentMiseEnPage(pChampTT) +// si le fragment ne contient pas de paragraphe, la coche d'orientation va dépendre du document +si f.Paragraphe..Occurrence=0 alors +rLargeurPage=Arrondi(doc.Section.LargeurPage) +rHauteurPage=Arrondi(doc.Section.HauteurPage) +nOrientation=doc.Section.Orientation +sinon +// initialise l'orientation selon le premier paragraphe +rLargeurPage=Arrondi(f.Paragraphe[1].Section.LargeurPage,1) +rHauteurPage=Arrondi(f.Paragraphe[1].Section.HauteurPage, 1) +nOrientation=f.Paragraphe[1].Section.Orientation +fin +nOrientationPaysage est un entier +rTemp est un réel +nOrientationPaysage=docPaysage +si nOrientation=nOrientationPaysage alors +// on échange portrait et paysage pour la popup +rTemp = rLargeurPage +rLargeurPage=rHauteurPage +rHauteurPage=rTemp +fin +rLargeurPageCourante est un réel = rLargeurPage +rHauteurPageCournate est un réel = rHauteurPage +// ouvre la popup +externe WinDevFAA_BarreTT_PopupTaillePage +nRet est un entier = OuvrePopup(WinDevFAA_BarreTT_PopupTaillePage, rLargeurPage, rHauteurPage) +// si on doit swapper, on le fait +si nOrientation=nOrientationPaysage alors +// on échange portrait et paysage pour la popup +rTemp = rLargeurPage +rLargeurPage=rHauteurPage +rHauteurPage=rTemp +fin +// taille perso +si nRet=2 alors +externe WDOBJ_FAA_Document +bAppliqueAuDoc=pas WDOBJ_FAA_Document.WDOBJ_FAA_Doc_bAvecSautDeSection(doc) +externe WinDevFAA_BarreTT_TaillePage +nRet=Ouvre("WinDevFAA_BarreTT_TaillePage", rLargeurPage, rHauteurPage, bAppliqueAuDoc, nOrientation +) +fin +// annulation +si nRet=Faux alors retour +// pas de changement (et pas d'application sur le document entier : on ne fait rien +si pas bAppliqueAuDoc _et_ rLargeurPage=rLargeurPageCourante _et_ rHauteurPage=rHauteurPageCournate +alors retour +// on change la taille +_Ctx_TaillePage_ChangeTaillePage(rLargeurPage, rHauteurPage, bAppliqueAuDoc) +fin: +// on redonne le focus au champ +DonneFocus(pChampTT) +Initialisation de SAI_WDFAA_EspacementApres +06/08/2026 Isis_BO 4563 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +//MoiMême = __sValeurPoints(8) +MoiMême = 0 +A chaque modification de SAI_WDFAA_EspacementApres +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +externe WDOBJ_TT_Util +si pChampTT..Curseur <= 0 alors retour +f est docFragment <- pChampTT..Sélection..Fragment +elt est docElément +DocDébutModification(pChampTT) +pour tout elt de f.Elément +si elt.Paragraphe.MiseEnPage <> Null +elt.Paragraphe.MiseEnPage.EspacementAprès = WDOBJ_TT_Util.__dValeurChampPoint(MoiMême) +fin +fin +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Initialisation de SAI_WDFAA_EspacementAvant +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +//MoiMême = __sValeurPoints(0) +MoiMême = 0 +A chaque modification de SAI_WDFAA_EspacementAvant +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +externe WDOBJ_TT_Util +si pChampTT..Curseur <= 0 alors retour +f est docFragment <- pChampTT..Sélection..Fragment +elt est docElément +DocDébutModification(pChampTT) +pour tout elt de f.Elément +si elt.Paragraphe.MiseEnPage <> Null +elt.Paragraphe.MiseEnPage.EspacementAvant = WDOBJ_TT_Util.__dValeurChampPoint(MoiMême) +fin +fin +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Initialisation de SAI_WDFAA_RetraitDroite +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +//MoiMême = __sValeurCentimètres(0) +MoiMême = 0 +A chaque modification de SAI_WDFAA_RetraitDroite +06/08/2026 Isis_BO 4564 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +f est docFragment <- pChampTT..Sélection..Fragment +elt est docElément +DocDébutModification(pChampTT) +pour tout elt de f.Elément +si elt.Paragraphe.MiseEnPage <> Null +elt.Paragraphe.MiseEnPage.RetraitDroit = __dCentimètresVersMillimètres(SAI_WDFAA_RetraitDroite) +fin +fin +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Initialisation de SAI_WDFAA_RetraitGauche +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +//moimeme = __sValeurCentimètres(0) +MoiMême = 0 +A chaque modification de SAI_WDFAA_RetraitGauche +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +f est docFragment <- pChampTT..Sélection..Fragment +elt est docElément +DocDébutModification(pChampTT) +pour tout elt de f.Elément +si elt.Paragraphe.MiseEnPage <> Null +elt.Paragraphe.MiseEnPage.RetraitGauche = __dCentimètresVersMillimètres(SAI_WDFAA_RetraitGauche +) +fin +fin +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Incrémentation de SPIN_EspacementAprès +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__IncrémenteValeurChamp(SAI_WDFAA_EspacementApres) +Décrémentation de SPIN_EspacementAprès +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__DécrémenteValeurChamp(SAI_WDFAA_EspacementApres) +Incrémentation de SPIN_EspacementAvant +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__IncrémenteValeurChamp(SAI_WDFAA_EspacementAvant) +Décrémentation de SPIN_EspacementAvant +06/08/2026 Isis_BO 4565 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__DécrémenteValeurChamp(SAI_WDFAA_EspacementAvant) +Incrémentation de SPIN_RetraitDroite +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__IncrémenteValeurChampCentimètre(SAI_WDFAA_RetraitDroite) +Décrémentation de SPIN_RetraitDroite +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__DécrémenteValeurChamp(SAI_WDFAA_RetraitDroite) +Incrémentation de SPIN_RetraitGauche +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__IncrémenteValeurChampCentimètre(SAI_WDFAA_RetraitGauche) +Décrémentation de SPIN_RetraitGauche +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__DécrémenteValeurChamp(SAI_WDFAA_RetraitGauche) +Initialisation de GRPRUB_WDFAA_ModeAffichage +soit p est Champ <- MoiMême +procédure interne fUUI +p..Visible = pas pChampTT..EditionHTML +fin +gProcUpdateUI += fUUI +Initialisation de BTN_WDFAA_MODEAFFICHAGE_PAGE +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_MODEAFFICHAGE_PAGE +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +si MoiMême..Enfoncé alors +pChampTT..ModeAffichage = modeAffichageUnePage +__UpdateUI_ModeAffichage() +fin +Initialisation de BTN_WDFAA_MODEAFFICHAGE_WEB +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_MODEAFFICHAGE_WEB +06/08/2026 Isis_BO 4566 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +si MoiMême..Enfoncé alors +pChampTT..ModeAffichage = modeAffichageWeb +__UpdateUI_ModeAffichage() +fin +Initialisation de BTN_WDFAA_Orthographe +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Orthographe +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +pChampTT..VérifieOrthographe=pas pChampTT..VérifieOrthographe +Initialisation de BTn_WDFAA_Recherche +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTn_WDFAA_Recherche +externe WinDevFAA_RechercherRemplacer +//Ouverture fenêtre recherche +OuvreFille("WinDevFAA_RechercherRemplacer" + Dessus,pChampTT) +Initialisation de BTN_WDFAA_Remplacer +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Remplacer +externe WinDevFAA_RechercherRemplacer +//Ouverture fenêtre recherche/remplacement en mode remplacement +OuvreFille("WinDevFAA_RechercherRemplacer" + Dessus,pChampTT,Vrai) +Initialisation de GRPRUB_WDFAA_Pages +soit pRegroupement est Champ <- MoiMême +procédure interne fUI_Pages() +pRegroupement..Visible = pas pChampTT..EditionHTML +fin +gProcUpdateUI += fUI_Pages +Initialisation de BTN_WDFAA_PageVierge +06/08/2026 Isis_BO 4567 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_PageVierge +si pChampTT = Null alors +retour +fin +//Insertion d'un saut de page après le dernier élément +f est un docFragment(pChampTT..Valeur, -1,0) +f.Texte = RC+Caract(12)+RC //"form feed" == saut de page +//On se positionne sur la nouvelle page +pChampTT..Curseur = f..Paragraphe[1]..PositionFin-1 +DocPositionne(pChampTT) +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_SautDePage +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_SautDePage +si pChampTT = Null alors +retour +fin +f est docFragment <- pChampTT..Sélection..Fragment +f.Texte = RC+Caract(12)+RC //"form feed" == saut de page +//On se positionne sur la nouvelle page +DocPositionne(pChampTT) +ChampExécuteModification(pChampTT) +Initialisation de GRPRUB_WDFAA_Paragraphe +pBTN_WDFAA_AlignGauche est Champ <- BTN_WDFAA_AlignGauche +pBTN_WDFAA_AlignCentre est Champ <- BTN_WDFAA_AlignCentre +pBTN_WDFAA_AlignDroite est Champ <- BTN_WDFAA_AlignDroite +pBTN_WDFAA_Alignjustifie est Champ <- BTN_WDFAA_Alignjustifie +pSAI_WDFAA_RetraitGauche est Champ <- SAI_WDFAA_RetraitGauche +pSAI_WDFAA_RetraitDroite est Champ <- SAI_WDFAA_RetraitDroite +pSAI_WDFAA_EspacementAvant est Champ <- SAI_WDFAA_EspacementAvant +pSAI_WDFAA_EspacementApres est Champ <- SAI_WDFAA_EspacementApres +procédure interne fUI() +externe WDOBJ_TT_Util +f est docFragment <- pChampTT..Sélection..Fragment +nAlignementParagraphe est entier = -1 +06/08/2026 Isis_BO 4568 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +dRetraitGauche est réel +bRetraitGauche est booléen = Vrai +dRetraitDroit est réel +bRetraitDroit est booléen = Vrai +dEspacementAvant est réel +bEspacementAvant est booléen = Vrai +dEspacementAprès est réel +bEspacementAprès est booléen = Vrai +bFirst est un booléen = Vrai +pour tout p,nIndice de f.Paragraphe +si p.MiseEnPage=Null alors +continuer +fin +si bFirst alors +bFirst=Faux +nAlignementParagraphe = p.MiseEnPage.Alignement +dRetraitGauche = p.MiseEnPage.RetraitGauche +dRetraitDroit = p.MiseEnPage.RetraitDroit +dEspacementAvant = p.MiseEnPage.EspacementAvant +dEspacementAprès = p.MiseEnPage.EspacementAprès +sinon +si nAlignementParagraphe <> (p.MiseEnPage.Alignement) alors +nAlignementParagraphe = -1 +fin +si dRetraitGauche <> (p.MiseEnPage.RetraitGauche) alors +bRetraitGauche = Faux +fin +si dRetraitDroit <> (p.MiseEnPage.RetraitDroit) alors +bRetraitDroit = Faux +fin +si dEspacementAvant <> (p.MiseEnPage.EspacementAvant) alors +bEspacementAvant = Faux +fin +si dEspacementAprès <> (p.MiseEnPage.EspacementAprès) alors +bEspacementAprès = Faux +fin +si nAlignementParagraphe=-1 _et_ pas bRetraitGauche _et_ pas bRetraitDroit _et_ pas +bEspacementAvant _et_ pas bEspacementAprès alors +sortir +fin +fin +fin +pBTN_WDFAA_AlignGauche..Enfoncé = (nAlignementParagraphe=chGauche) +pBTN_WDFAA_AlignCentre..Enfoncé = (nAlignementParagraphe=chCentre) +pBTN_WDFAA_AlignDroite..Enfoncé = (nAlignementParagraphe=chDroite) +pBTN_WDFAA_Alignjustifie..Enfoncé = (nAlignementParagraphe=chJustifié) +pSAI_WDFAA_RetraitGauche = bRetraitGauche ? __sValeurMillimètresEnCentimètres(dRetraitGauche) +sinon "" +pSAI_WDFAA_RetraitDroite = bRetraitDroit ? __sValeurMillimètresEnCentimètres(dRetraitDroit) +sinon "" +WDOBJ_TT_Util.__AffecteChampPoint(pSAI_WDFAA_EspacementAvant, bEspacementAvant, +dEspacementAvant) +WDOBJ_TT_Util.__AffecteChampPoint(pSAI_WDFAA_EspacementApres, bEspacementAprès, +dEspacementAprès) +fin +gProcUpdateUI+=fUI +Initialisation de BTN_WDFAA_AfficheCaracControle +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_AfficheCaracControle +06/08/2026 Isis_BO 4569 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +pChampTT..AffichageCaractèresContrôle = pas pChampTT..AffichageCaractèresContrôle +__UpdateUIRuban_WDFAA() +Initialisation de BTN_WDFAA_AlignCentre +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_AlignCentre +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +pChampTT..AffichageActif = Faux +f est docFragment <- pChampTT..Sélection..Fragment +elt est un docParagraphe +DocDébutModification(pChampTT) +pour tout elt de f.Paragraphe +si elt.miseenpage <> Null alors +elt.MiseEnPage.Alignement = chCentre +fin +fin +DocFinModification(pChampTT) +pChampTT..AffichageActif = Vrai +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_AlignDroite +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_AlignDroite +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +pChampTT..AffichageActif = Faux +f est docFragment <- pChampTT..Sélection..Fragment +elt est un docParagraphe +DocDébutModification(pChampTT) +pour tout elt de f.Paragraphe +si elt.MiseEnPage <> Null alors +elt.MiseEnPage.Alignement = chDroite +fin +fin +DocFinModification(pChampTT) +pChampTT..AffichageActif = Vrai +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_AlignGauche +06/08/2026 Isis_BO 4570 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_AlignGauche +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +pChampTT..AffichageActif = Faux +f est docFragment <- pChampTT..Sélection..Fragment +elt est un docParagraphe +DocDébutModification(pChampTT) +pour tout elt de f.Paragraphe +si elt.MiseEnPage <> Null alors +elt.MiseEnPage.Alignement = chGauche +fin +fin +DocFinModification(pChampTT) +pChampTT..AffichageActif = Vrai +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_Alignjustifie +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Alignjustifie +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +pChampTT..AffichageActif = Faux +f est docFragment <- pChampTT..Sélection..Fragment +elt est un docParagraphe +DocDébutModification(pChampTT) +pour tout elt de f.Paragraphe +si elt.MiseEnPage <> Null alors +elt.MiseEnPage.Alignement = chJustifié +fin +fin +DocFinModification(pChampTT) +pChampTT..AffichageActif = Vrai +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_BordFond +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_BordFond +externe WDOBJ_FAA_Document +WDOBJ_FAA_Document.CLIC_BTN_FAA_BordFond(pChampTT,goTrait) +Initialisation de BTN_WDFAA_BTN_WDFAA_RetraitPlus +06/08/2026 Isis_BO 4571 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_BTN_WDFAA_RetraitPlus +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +externe WDOBJ_TT_Util +doc est un Document <- pChampTT..Valeur +f est docFragment <- pChampTT..Sélection..Fragment +// est-ce que l'on aura besoin de la liste des retraits +bListeRetrait est un booléen = Faux +pour tout p de f.Paragraphe +si p..Numérotation..Identifiant=0 alors +bListeRetrait = Vrai +sortir +fin +fin +// si on a besoin de la liste des retrait, on la génère +tabRetrait est un tableau associatif (*, *, wlRéel) de booléens +si bListeRetrait alors +soit docCourant <- WDOBJ_TT_Util.docSelection(pChampTT) +pour tout pdoc de docCourant..Paragraphe +tabRetrait[pdoc..MiseEnPage..RetraitGauche]=Vrai +fin +fin +pChampTT..AffichageActif = Faux +DocDébutModification(pChampTT) +pour tout p de f.Paragraphe +si p..Numérotation..Identifiant>0 alors +si p..Numérotation..Niveau <9 alors +p..Numérotation..Niveau = p..Numérotation..Niveau + 1 +fin +sinon si p..MiseEnPage <> Null +soit RetraitCourant = Arrondi(p..MiseEnPage..RetraitGauche,1) +soit ProchainRetrait = ArrondiSupérieur((RetraitCourant+12.5)/12.5)*12.5 +pour tout _b_,retrait de tabRetrait +si retrait>RetraitCourant _et_ retrait rien à faire +si sCouleur = "" alors retour +//Oui => couleur convertie en entier +nCouleur est entier = sCouleur +//Vérification champ TT +dbgAssertion(pChampTT <> Null) +//Champ TT OK ? non => rien à faire +si pChampTT = Null alors retour +//Oui => position curseur OK ? non => rien à faire +si pChampTT..Curseur <= 0 alors retour +//Oui => on désactive l'affichage du champ TT +pChampTT..AffichageActif = Faux +//Début opération annulable +DocDébutModification(pChampTT) +//Récupération sélection +f est docFragment <- pChampTT..Sélection..Fragment +//Tableau du paragraphe traité +oTableau est docTableau +//On applique la modification sur le texte sélectionné plutôt que sur le(s) paragraphe(s) ? +si WDOBJ_FAA_Document.__bSelectionTexte(pChampTT, f) alors +//Oui => modification couleur de fond du texte sélectionné +f.MiseEnPage.CouleurFond = nCouleur +sinon +//Non => on applique la modification sur les paragraphes sélectionnés +pour tout oParag de f.Paragraphe +//Récupération du tableau du paragraphe traité +oTableau <- oParag.tableau +//On est dans un tableau ? +si oTableau = Null alors +//Non => on applique la modification sur le paragraphe +oParag.MiseEnPage.CouleurFond = nCouleur +sinon +//Oui => on applique la modification sur les cellules du tableau sélectionnées +pour tout oCellule de oTableau.Cellules +//La cellule est après la sélection ? +si oCellule.Contenu.PositionDébut > f.PositionFin alors +//Oui => pas la peine de continuer +sortir +fin +//Non => la cellule est dans la sélection ? +si oCellule.Contenu.PositionFin > f.PositionDébut alors +//Oui => on applique la modification à la cellule +oCellule.MiseEnPage.CouleurFond = nCouleur +fin +fin +fin +fin +fin +//Fin opération annulable +06/08/2026 Isis_BO 4573 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +DocFinModification(pChampTT) +//Oui => on réactive l'affichage du champ TT +pChampTT..AffichageActif = Vrai +//Le champ TT a été modifié +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_Interligne +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Interligne +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +si pChampTT..Curseur < 0 alors retour +f est docFragment <- pChampTT..Sélection..Fragment +nTypeInterligne est entier = -1 +para est un docParagraphe +pour tout para de f.Paragraphe +si para.MiseEnPage <> Null alors +si nTypeInterligne = -1 alors +nTypeInterligne =para.MiseEnPage.TypeInterligne +sinon +si nTypeInterligne <> (para.MiseEnPage.TypeInterligne) alors +nTypeInterligne = -1 +sortir +fin +fin +fin +fin +dInterligne est réel = -1 +//Taille de police courante +nTaillePolice est un réel = -1 +elt est un docElément +pour tout para de f.Paragraphe +si para.MiseEnPage <> Null +si dInterligne = -1 alors +dInterligne = para.MiseEnPage.Interligne +sinon +si dInterligne <> (para.MiseEnPage.Interligne) alors +dInterligne = -1 +sortir +fin +fin +fin +fin +pour tout elt de f.Element +si dInterligne = -1 alors +dInterligne = elt.Paragraphe.MiseEnPage.Interligne +sinon +si dInterligne <> (elt.Paragraphe.MiseEnPage.Interligne) alors +dInterligne = -1 +sortir +fin +fin +//Taille de police courante récupérée ou élément sans texte ? +si (nTaillePolice = -1) _et_ (elt.Texte <> Null) alors +//Non => on la récupère +06/08/2026 Isis_BO 4574 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +nTaillePolice = elt.Texte.MiseEnForme.PoliceTaille +fin +fin +externe WinDevFaa_SelInterligne +si pas OuvrePopupPosition(WinDevFaa_SelInterligne,poBas,pChampTT,f,nTypeInterligne,dInterligne, +nTaillePolice) alors retour +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__ModifInterligneSélectionChampTT(pChampTT,f,nTypeInterligne,dInterligne) +DocDébutModification(pChampTT) +pour tout para de f.Paragraphe +si para.MiseEnPage <> Null +para.MiseEnPage.TypeInterligne = nTypeInterligne +para.MiseEnPage.Interligne = dInterligne +fin +fin +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_Numero +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Numero +externe WDOBJ_TT_Numérotation +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +doc est un Document <- pChampTT +externe WDOBJ_TT_Util +soit SousDocumentCourant <- WDOBJ_TT_Util.docSelection(pChampTT) +fragment est un docFragment <- pChampTT..Sélection..Fragment +nNumId est entier +si WDOBJ_TT_Numérotation.bToutParagrapheMêmeNumérotation(doc,fragment,nNumId) alors +gnNumIdPuce=nNumId +gbBibliPuce=Faux +WDOBJ_TT_Numérotation.AppliqueSélectionNumérotation(0,Faux,pChampTT,doc,SousDocumentCourant, +fragment) +sinon +WDOBJ_TT_Numérotation.AppliqueSélectionNumérotation(gnNumIdNumérotation,gbBibliNumérotation, +pChampTT,doc,SousDocumentCourant,fragment) +fin +__UpdateUIRuban_WDFAA +Clic sur la flèche de BTN_WDFAA_Numero +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +doc est un Document <- pChampTT +externe WinDevFaa_SelNumérotation +OuvrePopupPosition(WinDevFaa_SelNumérotation,poBas,pChampTT, doc,gnNumIdNumérotation,gb +BibliNumérotation) +__UpdateUIRuban_WDFAA +Initialisation de BTN_WDFAA_Puces +06/08/2026 Isis_BO 4575 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Puces +externe WDOBJ_TT_Numérotation +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +doc est un Document <- pChampTT +externe WDOBJ_TT_Util +soit SousDocumentCourant <- WDOBJ_TT_Util.docSelection(pChampTT) +fragment est un docFragment <- pChampTT..Sélection..Fragment +nNumId est entier +si WDOBJ_TT_Numérotation.bToutParagrapheMêmePuce(doc,fragment,nNumId) alors +gnNumIdPuce=nNumId +gbBibliPuce=Faux +WDOBJ_TT_Numérotation.AppliqueSélectionPuce(0,Faux,pChampTT,doc,SousDocumentCourant,fragment) +sinon +WDOBJ_TT_Numérotation.AppliqueSélectionPuce(gnNumIdPuce,gbBibliPuce,pChampTT,doc, +SousDocumentCourant,fragment) +fin +__UpdateUIRuban_WDFAA +Clic sur la flèche de BTN_WDFAA_Puces +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +doc est un Document <- pChampTT +externe WinDevFAA_SelNumerotationPuce +OuvrePopupPosition(WinDevFAA_SelNumerotationPuce,poBas,pChampTT, doc, gnNumIdPuce,gbBibliPuce) +__UpdateUIRuban_WDFAA +Initialisation de BTN_WDFAA_RetraitMoins +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_RetraitMoins +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +externe WDOBJ_TT_Util +doc est un Document <- pChampTT..Valeur +f est docFragment <- pChampTT..Sélection..Fragment +// est-ce que l'on aura besoin de la liste des retraits +bListeRetrait est un booléen = Faux +pour tout p de f.Paragraphe +si p..Numérotation..Identifiant=0 alors +bListeRetrait = Vrai +sortir +fin +06/08/2026 Isis_BO 4576 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +fin +// si on a besoin de la liste des retrait, on la génère +tabRetrait est un tableau associatif (*, *, wlRéel) de booléens +si bListeRetrait alors +soit docCourant <- WDOBJ_TT_Util.docSelection(pChampTT) +pour tout pdoc de docCourant..Paragraphe +tabRetrait[pdoc..MiseEnPage..RetraitGauche]=Vrai +fin +fin +pChampTT..AffichageActif = Faux +DocDébutModification(pChampTT) +pour tout p de f.Paragraphe +si p..numérotation..identifiant>0 alors +si p..Numérotation..niveau > 1 alors +p..Numérotation..Niveau = p..Numérotation..Niveau -1 +fin +sinon si p..miseenpage <> Null +soit RetraitCourant = Arrondi(p..MiseEnPage..RetraitGauche,1) +soit ProchainRetrait = RetraitCourant>12.5 ? ArrondiInférieur((RetraitCourant-12.5)/12.5)*12.5 +sinon 0 +pour tout _b_,retrait de tabRetrait +si retraitProchainRetrait alors +ProchainRetrait = retrait +fin +fin +p..MiseEnPage..RetraitGauche = ProchainRetrait +fin +fin +DocFinModification(pChampTT) +pChampTT..AffichageActif = Vrai +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_Barre +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +MoiMême..PoliceBarrée=Vrai +Clic sur BTN_WDFAA_Barre +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +f est docFragment = __FragmentStyle() +DocDébutModification(pChampTT) +f.MiseEnForme.PoliceBarrée = pas f.MiseEnForme.PoliceBarrée +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_CouleurSurlignage +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_CouleurSurlignage +06/08/2026 Isis_BO 4577 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +si MoiMême..Note = "" alors +//par défaut, on surligne en jaune +MoiMême..Note = ""+65535 +fin +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +nCouleur est entier = MoiMême..Note +si pChampTT..LongueurSélection = 0 alors retour +f est docFragment <- pChampTT..Sélection..Fragment +DocDébutModification(pChampTT) +f.MiseEnForme.CouleurSurlignage = nCouleur +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Clic sur la flèche de BTN_WDFAA_CouleurSurlignage +//Choix couleur +extern WinDevFaa_SelCouleur +sCouleur est une chaîne = OuvrePopupPosition(WinDevFaa_SelCouleur,poBas,Transparent,"Aucune couleur", +Vrai) +//Couleur choisie ? non => rien à faire +si sCouleur = "" alors retour +//Stocke la couleur courante dans ..Note +MoiMême..Note = sCouleur +//Change la couleur en visu +nCouleur est entier = sCouleur +si nCouleur = Transparent alors +LIB_VisuCouleurSurligne..Visible = Faux +sinon +LIB_VisuCouleurSurligne..CouleurFond = sCouleur +LIB_VisuCouleurSurligne..Visible = Vrai +fin +//Modif effective +ExécuteTraitement(MoiMême,trtClic) +Initialisation de BTN_WDFAA_CouleurTexte +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_CouleurTexte +si MoiMême..Note <> "" alors +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +nCouleur est entier = MoiMême..Note +f est docFragment = __FragmentStyle() +DocDébutModification(pChampTT) +f.MiseEnForme.CouleurTexte = nCouleur +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +fin +Clic sur la flèche de BTN_WDFAA_CouleurTexte +06/08/2026 Isis_BO 4578 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +//Choix couleur +extern WinDevFaa_SelCouleur +nCOULEUR_AUTOMATIQUE est entier = 0xFF000001 +sCouleur est une chaîne = OuvrePopupPosition(WinDevFaa_SelCouleur,poBas,nCOULEUR_AUTOMATIQUE, "",Faux, +Noir) +//Couleur choisie ? non => rien à faire +si sCouleur = "" alors retour +//Stocke la couleur courante dans le ..Note +MoiMême..Note = sCouleur +//Change la couleur en visu +LIB_VisuCouleurTexte..CouleurFond = sCouleur +LIB_VisuCouleurTexte..Visible = Vrai +//Modif effective de la couleur +ExécuteTraitement(MoiMême,trtClic) +Initialisation de BTN_WDFAA_Exposant +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Exposant +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +f est docFragment = __FragmentStyle() +DocDébutModification(pChampTT) +f.MiseEnForme.AlignementVertical = f.MiseEnForme.AlignementVertical <> alignementExposant ? +alignementExposant sinon alignementBaseline +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_Gras +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +MoiMême..PoliceGras=Vrai +Clic sur BTN_WDFAA_Gras +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +f est docFragment = __FragmentStyle() +DocDébutModification(pChampTT) +si f.MiseEnForme.PoliceGras = 2 +f.MiseEnForme.PoliceGras = 1 +sinon +f.MiseEnForme.PoliceGras = pas f.MiseEnForme.PoliceGras +fin +06/08/2026 Isis_BO 4579 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_Indice +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Indice +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +f est docFragment = __FragmentStyle() +DocDébutModification(pChampTT) +f.MiseEnForme.AlignementVertical = f.MiseEnForme.AlignementVertical <> alignementIndice ? +alignementIndice sinon alignementBaseline +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_Italique +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +MoiMême..PoliceItalique=Vrai +Clic sur BTN_WDFAA_Italique +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +f est docFragment = __FragmentStyle() +DocDébutModification(pChampTT) +f.MiseEnForme.PoliceItalique = pas f.MiseEnForme.PoliceItalique +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_Majuscules +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Majuscules +__ModifieTaillePolice(COMBO_WDFAA_TaillePolice, -1) +Initialisation de BTN_WDFAA_Police +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +06/08/2026 Isis_BO 4580 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +tabPolices est tableau de chaîne +ChaîneVersTableau(PoliceListe(policeDéfaut+2),tabPolices,RC) +TableauTrie(tabPolices,tccOrdreLexicographique+ttCroissant) +soit nDefaut = TableauCherche(tabPolices, tcDichotomique+tccSansCasse,"Calibri") +si nDefaut = -1 alors +nDefaut = TableauCherche(tabPolices, tcDichotomique+tccSansCasse, "Open Sans") +fin +si nDefaut = -1 alors +nDefaut = TableauCherche(tabPolices, tcDichotomique+tccSansCasse,"DejaVu Sans") +fin +si nDefaut = -1 alors +nDefaut = TableauCherche(tabPolices, tcDichotomique+tccSansCasse, "Arial") +fin +si nDefaut <> -1 alors +MoiMême = tabPolices[nDefaut] +sinon +MoiMême = "" +fin +Clic sur BTN_WDFAA_Police +doc est Document <- pChampTT..Valeur +f est docFragment <- pChampTT..Sélection..Fragment +soit sTexteExemple = "" +si f..PositionDébut = f..PositionFin alors +si f..Paragraphe..Occurrence>0 alors +fPara est docFragment(doc, f..Paragraphe[1].PositionDébut, f..Paragraphe[1].PositionFin - f.. +Paragraphe[1].PositionDébut) +sTexteExemple = fPara.Texte +fin +sinon +sTexteExemple = f.Texte +fin +sTexteExemple = SansEspace(sTexteExemple,sscDroite+sscGauche) +externe FEN_WinDevFAA_PopupPolice +sPoliceChoisie est chaîne = OuvrePopupPosition(FEN_WinDevFAA_PopupPolice, poBas+poDroite, gtabPolices, +f.MiseEnForme.PoliceNom, sTexteExemple) +si sPoliceChoisie <> "" alors +MoiMême = sPoliceChoisie +f.MiseEnForme.PoliceNom = sPoliceChoisie +ChampExécuteModification(pChampTT) +fin +EcranPremier(pChampTT) +Initialisation de BTN_WDFAA_PoliceMoins +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_PoliceMoins +__ModifieTaillePolice(COMBO_WDFAA_TaillePolice, -1) +Initialisation de BTN_WDFAA_PolicePlus +06/08/2026 Isis_BO 4581 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_PolicePlus +__ModifieTaillePolice(COMBO_WDFAA_TaillePolice, 1) +Initialisation de BTN_WDFAA_Souligne +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +MoiMême..PoliceSoulignée=Vrai +Clic sur BTN_WDFAA_Souligne +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +f est docFragment = __FragmentStyle() +DocDébutModification(pChampTT) +f.MiseEnForme.PoliceSoulignée = f.MiseEnForme.PoliceSoulignée=soulignéAucun ? soulignéSimple sinon +soulignéAucun +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Initialisation de COMBO_WDFAA_TaillePolice +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +ListeSupprimeTout(MoiMême) +ListeAjoute(MoiMême,8+RC+9+RC+10+RC+11+RC+12+RC+14+RC+16+RC+18+RC+20+RC+22+RC+24+RC+26+RC+28+RC+36+RC+ +48+RC+72) +MoiMême = 11 +Sélection d'une ligne de COMBO_WDFAA_TaillePolice +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +f est docFragment = __FragmentStyle() +soit nNouvelleTaille = MoiMême +DocDébutModification(pChampTT) +f.MiseEnForme.PoliceTaille = nNouvelleTaille +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +EcranPremier(pChampTT) +Initialisation de LIB_VisuCouleurSurligne +06/08/2026 Isis_BO 4582 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +MoiMême..CouleurFond = JauneClair +Initialisation de BTN_WDFAA_Coller +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Coller +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +ExécuteFAA(pChampTT,faaColler) +Initialisation de BTN_WDFAA_Copier +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Copier +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +ExécuteFAA(pChampTT,faaCopier) +Initialisation de BTN_WDFAA_Couper +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Couper +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +si pChampTT..LongueurSélection = 0 alors retour +ExécuteFAA(pChampTT,faaCouper)//IDPOP_COUPER +Initialisation de GRPRUB_WDFAA_StyleForme +p est Champ <- MoiMême +procédure interne fUUI() +f est docFragment <- pChampTT..Sélection..Fragment +soit bSurZoneDeTexte = Faux +si f..TypeSousDocument = typeSousDocZoneDeTexte alors +bSurZoneDeTexte = Vrai +sinon si pChampTT..Curseur>=1 _et_ f.Elément..Occurrence = 1 _et_ f.Elément[1].Type = +typeDocElémentZoneDeTexte alors +06/08/2026 Isis_BO 4583 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +bSurZoneDeTexte = Vrai +fin +p..Visible = bSurZoneDeTexte +fin +gProcUpdateUI += fUUI +Initialisation de BTN_WDFAA_CouleurFondForme +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_CouleurFondForme +//Choix couleur +extern WinDevFaa_SelCouleur +externe WDOBJ_FAA_Document +//Sélection de couleur +sCouleur est une chaîne = OuvrePopupPosition(WinDevFaa_SelCouleur,poBas,iTransparent,"Aucune couleur") +//Couleur choisie ? non => rien à faire +si sCouleur = "" alors retour +//Oui => couleur convertie en entier +nCouleur est entier = sCouleur +//Vérification champ TT +dbgAssertion(pChampTT <> Null) +//Champ TT OK ? non => rien à faire +si pChampTT = Null alors retour +//Oui => position curseur OK ? non => rien à faire +si pChampTT..Curseur <= 0 alors retour +//Récupération sélection +f est docFragment <- pChampTT..Sélection..Fragment +elt est un docElément = Null +doc est Document <- pChampTT..Valeur +si f..TypeSousDocument = typeSousDocZoneDeTexte alors +elt <- WDOBJ_TT_Util.RechercheElementZoneDeTexte(doc, f..IdentifiantSousDocument) +sinon si pChampTT..Curseur>=1 _et_ f.Elément..Occurrence = 1 _et_ f.Elément[1].Type = +typeDocElémentZoneDeTexte alors +elt = f.Elément[1] +fin +dbgAssertion(elt<>Null _et_ elt.Type = typeDocElémentZoneDeTexte) +si elt = Null _ou_ elt.Type <> typeDocElémentZoneDeTexte alors retour +elt.ZoneDeTexte.Fond..Couleur = nCouleur +//Le champ TT a été modifié +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_CouleurTraitForme +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_CouleurTraitForme +06/08/2026 Isis_BO 4584 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +//Choix couleur +extern WinDevFaa_SelCouleur +externe WDOBJ_FAA_Document +//Sélection de couleur +sCouleur est une chaîne = OuvrePopupPosition(WinDevFaa_SelCouleur,poBas,iTransparent,"Aucune couleur") +//Couleur choisie ? non => rien à faire +si sCouleur = "" alors retour +//Oui => couleur convertie en entier +nCouleur est entier = sCouleur +//Vérification champ TT +dbgAssertion(pChampTT <> Null) +//Champ TT OK ? non => rien à faire +si pChampTT = Null alors retour +//Oui => position curseur OK ? non => rien à faire +si pChampTT..Curseur <= 0 alors retour +//Récupération sélection +f est docFragment <- pChampTT..Sélection..Fragment +elt est un docElément = Null +doc est Document <- pChampTT..Valeur +si f..TypeSousDocument = typeSousDocZoneDeTexte alors +elt <- WDOBJ_TT_Util.RechercheElementZoneDeTexte(doc, f..IdentifiantSousDocument) +sinon si pChampTT..Curseur>=1 _et_ f.Elément..Occurrence = 1 _et_ f.Elément[1].Type = +typeDocElémentZoneDeTexte alors +elt = f.Elément[1] +fin +dbgAssertion(elt<>Null _et_ elt.Type = typeDocElémentZoneDeTexte) +si elt = Null _ou_ elt.Type <> typeDocElémentZoneDeTexte alors retour +//On passe par un ref +intermédiaire sinon l'objet Zone de texte est libéré avant l'affectation de la couleur +soit z <- elt.ZoneDeTexte +z.Trait..Couleur = nCouleur +//Le champ TT a été modifié +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_Tableau2 +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Tableau2 +__Ctx_InsereTableau() +Sélection du menu de WINDEVFAA_TT_CTX_EnTête.OPT_ModifierEnTête +DocEntreEdition(pChampTT,docEnTête) +Sélection du menu de WINDEVFAA_TT_CTX_EnTête.OPT_SupprimerEnTête +06/08/2026 Isis_BO 4585 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +DocEntreEdition(pChampTT,docEnTête) +f est docFragment <- pChampTT..Sélection..Fragment +f.PositionDébut=1 +f.PositionFin=0x7FFFFFFF +f.Texte="" +DocEntreEdition(pChampTT,docCorps) +Sélection du menu de WINDEVFAA_TT_CTX_Exporter.Générer_le_PDF +__Ctx_ExportPDF() +Sélection du menu de WINDEVFAA_TT_CTX_Exporter.WINDEVFAA_TT_OPT_HTML +__Ctx_ExportHTML() +Sélection du menu de WINDEVFAA_TT_CTX_Majuscule.OPT_MAJUSCULES +__Ctx_Majuscules() +Sélection du menu de WINDEVFAA_TT_CTX_Majuscule.OPT_WDFAA_Minuscules +__Ctx_Minuscules() +Sélection du menu de WINDEVFAA_TT_CTX_Orientation.WINDEVFAA_TT_OPT_Paysage +_Ctx_Orientation_ChangeOrientationSelection(docPaysage) +Sélection du menu de WINDEVFAA_TT_CTX_Orientation.WINDEVFAA_TT_OPT_Portrait +_Ctx_Orientation_ChangeOrientationSelection(docPortrait) +Sélection du menu de WINDEVFAA_TT_CTX_PiedDePage.OPT_ModifierPiedPage +DocEntreEdition(pChampTT,docPiedDePage) +Sélection du menu de WINDEVFAA_TT_CTX_PiedDePage.OPT_SupprimerPiedPage +DocEntreEdition(pChampTT,docPiedDePage) +f est docFragment <- pChampTT..Sélection..Fragment +f.PositionDébut=1 +f.Positionfin=0x7FFFFFFF +f.Texte="" +DocEntreEdition(pChampTT,docCorps) +Sélection du menu de WINDEVFAA_TT_CTX_Sauver.WINDEVFAA_TT_OPT_Save +__Ctx_Save() +Sélection du menu de WINDEVFAA_TT_CTX_Sauver.WINDEVFAA_TT_OPT_SaveAs +06/08/2026 Isis_BO 4586 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Code des champs +__Ctx_SaveAs() +Sélection du menu de WINDEVFAA_TT_CTX_TableauSupprime.OPT_Supprimer_la_colonne +__Ctx_SupprColonne() +Sélection du menu de WINDEVFAA_TT_CTX_TableauSupprime.OPT_Supprimer_le_tableau +__Ctx_Suppr_Tableau() +Sélection du menu de WINDEVFAA_TT_CTX_TableauSupprime.WINDEVFAA_TT_OPT_SupprLigne +__Ctx_Suppr_Ligne() +FI_RubanTT_Mails +Procédures +Procédure locale ___UpdateUIRubanMiseEnForme +procédure ___UpdateUIRubanMiseEnForme() +f est docFragment <- pChampTT..Sélection..Fragment +BTN_WDFAA_Gras..Enfoncé = (f.MiseEnForme.PoliceGras=1) +BTN_WDFAA_Italique..Enfoncé = (f.MiseEnForme.PoliceItalique=1) +BTN_WDFAA_Souligne..Enfoncé = (f.MiseEnForme.PoliceSoulignée<>soulignéAucun) +BTN_WDFAA_Barre..Enfoncé = (f.MiseEnForme.PoliceBarrée=1) +BTN_WDFAA_Indice..Enfoncé = (f.MiseEnForme.AlignementVertical=alignementIndice) +BTN_WDFAA_Exposant..Enfoncé = (f.MiseEnForme.AlignementVertical=alignementExposant) +BTN_WDFAA_Tableau..Etat = (pChampTT..LongueurSélection = 0) ? Actif sinon Grisé +BTN_WDFAA_Tableau2..Etat = (pChampTT..LongueurSélection = 0) ? Actif sinon Grisé +BTN_WDFAA_Police = f.MiseEnForme.PoliceNom +soit nIndiceTaille = ListeCherche(COMBO_WDFAA_TaillePolice, ""+f.MiseEnForme.PoliceTaille) +si nIndiceTaille<>-1 alors +ListeSelectPlus(COMBO_WDFAA_TaillePolice,nIndiceTaille) +sinon +COMBO_WDFAA_TaillePolice = f.MiseEnForme.PoliceTaille +fin +Procédure locale __bDansEnTêteOuPiedDePage +procédure privée __bDansEnTêteOuPiedDePage(fragment est un docFragment) +soit eTypeSousDoc = fragment..TypeSousDocument +si eTypeSousDoc _dans_ (typeSousDocEnTêtePageImpaire, typeSousDocEnTêtePagePaire, +typeSousDocEnTêtePremièrePage, typeSousDocPiedDePageImpaire, typeSousDocPiedDePagePaire, +typeSousDocPiedDePremièrePage) +renvoyer Vrai +06/08/2026 Isis_BO 4587 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Procédures +fin +si eTypeSousDoc = typeSousDocCorps alors +renvoyer Faux +fin +si fragment..Elément..Vide alors +renvoyer Faux +fin +procédure interne DansEnteteOuPiedDepage(e est un docElément) +si e..Type _dans_ (typeDocElémentDocument, typeDocElémentInconnu) alors +renvoyer Faux +fin +si e..Type _dans_ (typeDocElémentEnTête, typeDocElémentPiedDePage) alors +renvoyer Vrai +fin +renvoyer DansEnteteOuPiedDepage(e..parent) +fin +renvoyer DansEnteteOuPiedDepage(fragment..Elément[1]) +Procédure locale __ChangeListeStyle +procédure __ChangeListeStyle() +pDoc est un Document <- pChampTT +externe WDOBJ_TT_StyleRuban +externe CFI_DocxStyle +WDOBJ_TT_StyleRuban.RemplirZR(CFI_DocxStyle.ZR_STYLE, pDoc, Faux) +Procédure locale __Ctx_ExportHTML +procédure __Ctx_ExportHTML() +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +doc est un Document <- pChampTT..Valeur +sNomFichierDefaut est chaîne +si doc..CheminFichier <> "" +sNomFichierDefaut = fExtraitChemin(pChampTT..Valeur..CheminFichier,fFichier)+".htm" +fin +sFichier est chaîne = fSélecteur(fRepEnCours(), sNomFichierDefaut, "","HTM (*.htm)"+TAB+"*.htm" + RC + +"HTML (*.html)"+TAB+"*.html" + RC + "Tous" + TAB + "*.*",".htm", fselCrée+fselExiste) +si sFichier = "" alors retour +DocVersHTML(doc, sFichier) +Procédure locale __Ctx_ExportPDF +procédure privée __Ctx_ExportPDF() +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +doc est un Document <- pChampTT..Valeur +sNomFichierDefaut est chaîne +si doc..CheminFichier <> "" +sNomFichierDefaut = fExtraitChemin(pChampTT..Valeur..CheminFichier,fFichier)+".pdf" +fin +06/08/2026 Isis_BO 4588 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Procédures +sFichier est chaîne = fSélecteur(fRepEnCours(), sNomFichierDefaut, "","PDF (*.pdf)"+TAB+"*.pdf",".pdf", +fselCrée+fselExiste) +si sFichier = "" alors retour +DocVersPDF(doc, sFichier) +Procédure locale __Ctx_InsereImage +procédure privée __Ctx_InsereImage(sRepDefaut est chaîne) +si pChampTT = Null alors +retour +fin +sFichier est chaîne = fSélecteurImage(sRepDefaut,"","Insérer une image","Tous les types d'images" + TAB ++ "*.jpg;*.jpeg;*.png;*.gif;*.bmp" + RC + ... +"JPEG (*.jpg;*.jpeg)" ++ TAB + "*.jpg;* +.jpeg" + RC + ... +"GIF (*.gif)" + TAB ++ "*.gif" + RC + ... +"PNG (*.png)" + TAB + +"*.png" + RC + ... +"BMP (*.bmp)" + TAB + +"*.bmp" + RC + ... +"Tous les fichiers +(*.*)" ++ TAB + "*.*") +si sFichier = "" alors +retour +fin +sRepDefaut = fExtraitChemin(sFichier,fDisque+fRépertoire) +//Stocke la position d'insertion +f est un docFragment <= pChampTT..Sélection..Fragment +soit nPositionInsertion = f..PositionDébut +//On placera le ruban sur l'onglet "Image" +gnNextOngletSelectionné = nINDICE_VOLET_IMAGE +externe WDOBJ_FAA_Document +WDOBJ_FAA_Document.WDOBJ_FAA_Doc_ColleImage(pChampTT, sFichier) +//On se positionne sur l'image +f.PositionDébut = nPositionInsertion +f.PositionFin = nPositionInsertion +DocSélectionne(pChampTT, f) +Procédure locale __Ctx_InsereTableau +procédure privée __Ctx_InsereTableau() +si pChampTT = Null alors +retour +fin +externe WINDEVFAA_PopupCreationTableau +soit (nNbLignes, nNbColonnes) = OuvrePopup(WINDEVFAA_PopupCreationTableau) +si nNbColonnes = 0 _ou_ nNbLignes = 0 alors +retour +fin +06/08/2026 Isis_BO 4589 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Procédures +f est docFragment <- pChampTT..Sélection..Fragment +soit nPositionCurseurApresInsertion = f.PositionDébut +DocInsèreTableau(pChampTT..Sélection..Fragment,nNbColonnes, nNbLignes) +ChampExécuteModification(pChampTT) +//Si on était pas au début du doc, DocInsèreTableau a inséré un nouveau paragraphe +si nPositionCurseurApresInsertion > 1 alors +nPositionCurseurApresInsertion++ +fin +f..PositionDébut = nPositionCurseurApresInsertion +f..PositionFin = nPositionCurseurApresInsertion +DocSélectionne(pChampTT,f) +DonneFocus(pChampTT) +Procédure locale __Ctx_Majuscules +procédure __Ctx_Majuscules() +si pChampTT = Null alors retour +f est docFragment <- pChampTT..Sélection..Fragment +si f = Null alors retour +f.Texte = Majuscule(f.Texte) +ChampExécuteModification(pChampTT) +Procédure locale __Ctx_Minuscules +procédure __Ctx_Minuscules() +si pChampTT = Null alors retour +f est docFragment <- pChampTT..Sélection..Fragment +si f = Null alors retour +f.Texte = Minuscule(f.Texte) +ChampExécuteModification(pChampTT) +Procédure locale __Ctx_Nouveau +procédure privée __Ctx_Nouveau() +externe pChampTT +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +doc est Document <- pChampTT..Valeur +si doc <> Null alors +//Demande de sauver le fichier avant fermeture +externe WDOBJ_TT_Util +si pas ChampExécuteFermeture(pChampTT) alors +retour +fin +fin +pChampTT..Valeur = "" +ExécuteTraitement(pChampTT,trtAprèsOuvertureDocument) +EcranPremier(pChampTT) +Procédure locale __Ctx_Open +06/08/2026 Isis_BO 4590 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Procédures +procédure privée __Ctx_Open() +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +soit sRepDefaut = ChargeParamètre("TT_OPEN_SAVE_DEFAULT_DIR",fRepDonnéesUtilisateur()) +sFichier est chaîne = fSélecteur(sRepDefaut, "","","DOCX (*.docx)"+TAB+"*.docx"+RC+"RTF (*.rtf)"+TAB+"* +.rtf"+RC+"Tous les fichiers"+TAB+"*.*","docx", fselOuvre+fselExiste) +si sFichier = "" alors retour +SauveParamètre("TT_OPEN_SAVE_DEFAULT_DIR",fExtraitChemin(sFichier,fDisque+fRépertoire)) +//Demande de sauver le fichier avant fermeture +externe WDOBJ_TT_Util +si pas ChampExécuteFermeture(pChampTT) +retour +fin +si fExtraitChemin(sFichier,fExtension) ~= ".doc" alors +soit sInfo = "Ce fichier est au format "".DOC""." +Erreur("Impossible d'ouvrir le fichier", sInfo) +retour +fin +si pas DocOuvre(pChampTT, sFichier) alors +Erreur("Impossible d'ouvrir le fichier", ErreurInfo()) +retour +fin +ExécuteTraitement(pChampTT,trtAprèsOuvertureDocument) +EcranPremier(pChampTT) +Procédure locale __Ctx_Print +procédure privée __Ctx_Print() +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +soit bAffichageActif = pChampTT..AffichageActif +pChampTT..AffichageActif = Faux +soit bOrtho = pChampTT..VérifieOrthographe +pChampTT..VérifieOrthographe = Faux +FAAExécute(pChampTT, faaImprimerTraitementDeTexte) +pChampTT..VérifieOrthographe = bOrtho +pChampTT..AffichageActif = bAffichageActif +Procédure locale __Ctx_Save +procédure privée __Ctx_Save() +externe WDOBJ_TT_Util +renvoyer WDOBJ_TT_Util.TT_Save(pChampTT) +Procédure locale __Ctx_SaveAs +procédure privée __Ctx_SaveAs() +externe WDOBJ_TT_Util +06/08/2026 Isis_BO 4591 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Procédures +si WDOBJ_TT_Util.TT_SaveAs(pChampTT) = Oui alors +ExécuteTraitement(pChampTT,trtAprèsOuvertureDocument) +fin +Procédure locale __Ctx_SetHabillage +procédure privée __Ctx_SetHabillage(nHabillage est entier) +externe WDOBJ_TT_Util +doc est Document <- pChampTT..Valeur +f est docFragment <- pChampTT..Sélection..Fragment +f..PositionFin = f..PositionDébut+1 +elt est un docElément = Null +si f.Elément..Occurrence <= 2 alors +pour tout eltFrag de f.Elément +si eltFrag.Type = typeDocElémentImage alors +elt <- eltFrag +fin +fin +fin +si elt = Null _et_ f.TypeSousDocument = typeSousDocZoneDeTexte alors +elt <- WDOBJ_TT_Util.RechercheElementZoneDeTexte(doc, f.IdentifiantSousDocument) +fin +si elt = Null alors +retour +fin +DocDébutModification(pChampTT) +soit nAncienHabillage = 0 +selon elt.Type +cas typeDocElémentImage +nAncienHabillage = elt.Image.Habillage +elt.Image.Habillage = nHabillage +cas typeDocElémentZoneDeTexte +nAncienHabillage = elt.ZoneDeTexte.Habillage +elt.ZoneDeTexte.Habillage = nHabillage +fin +si nAncienHabillage = docHabillageAlignéSurLeTexte alors +soit nPositionDebutParagraphe = elt.Paragraphe.PositionDébut +si elt.Paragraphe.Numérotation.Identifiant<>0 alors +nPositionDebutParagraphe++ +fin +img est un docElément <= elt +fPourInsertion est un docFragment = Null +selon elt.Type +cas typeDocElémentImage +fPourInsertion <- f +cas typeDocElémentZoneDeTexte +fZone est un docFragment(doc, elt..PositionDébut, 1) +fPourInsertion <- fZone +06/08/2026 Isis_BO 4592 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Procédures +fin +// retire l'image / la zone +fPourInsertion..Texte = "" +// ajoute l'image au début du paragraphe +fPourInsertion.PositionDébut = nPositionDebutParagraphe +fPourInsertion.PositionFin = nPositionDebutParagraphe +DocInsère(fPourInsertion,img) +// séléctionne l'image +fPourInsertion.PositionDébut = nPositionDebutParagraphe +fPourInsertion.PositionFin = nPositionDebutParagraphe+1 +DocSélectionne(pChampTT,fPourInsertion) +fin +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Procédure locale __Ctx_Suppr_Ligne +procédure privée __Ctx_Suppr_Ligne() +f est docFragment = pChampTT..Sélection..Fragment +f.PositionFin = f.PositionDébut +soit tabtableau <- f.Paragraphe[1].Tableau +procédure interne GetCellule(p) +renvoyer p.cellule +fin +soit cellule <- GetCellule(f.Paragraphe[1]) +si tabtableau = Null _ou_ cellule = Null alors +retour +fin +soit nIndiceLigne = cellule.IndiceLigne +Supprime(tabtableau.Lignes, nIndiceLigne) +soit nIndiceLigneSelection = nIndiceLigne +si nIndiceLigneSelection > tabtableau.Lignes..Occurrence alors +nIndiceLigneSelection = tabtableau.Lignes..Occurrence +fin +si nIndiceLigneSelection > 0 alors +c est docCellule <- tabtableau.Cellules[nIndiceLigneSelection, 1] +si c <> Null alors +pChampTT..Curseur = c.Contenu.PositionDébut +pChampTT..FinCurseur = c.Contenu.PositionDébut +fin +fin +Procédure locale __Ctx_Suppr_Tableau +procédure privée __Ctx_Suppr_Tableau() +f est docFragment = pChampTT..Sélection..Fragment +f.PositionFin = f.PositionDébut +soit para <- f.Paragraphe[1] +si para.Tableau = Null alors +retour +06/08/2026 Isis_BO 4593 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Procédures +fin +externe WDOBJ_TT_Util +soit docCourant <- WDOBJ_TT_Util.docSelection(pChampTT) +Supprime(docCourant.Paragraphe, para.IndiceParagraphe) +ChampExécuteModification(pChampTT) +Procédure locale __Ctx_SupprColonne +procédure privée __Ctx_SupprColonne() +f est docFragment = pChampTT..Sélection..Fragment +f.PositionFin = f.PositionDébut +soit tabtableau <- f.Paragraphe[1].Tableau +procédure interne GetCellule(p) +renvoyer p.Cellule +fin +soit cellule <- GetCellule(f.Paragraphe[1]) +si tabtableau = Null _ou_ cellule = Null alors +retour +fin +soit nIndiceColonne = cellule.IndiceColonne +Supprime(tabtableau.Colonnes, nIndiceColonne) +soit nIndiceColonneSelection = nIndiceColonne +si nIndiceColonneSelection > tabtableau.Colonnes..Occurrence alors +nIndiceColonneSelection = tabtableau.Colonnes..Occurrence +fin +si nIndiceColonneSelection > 0 alors +c est docCellule <- tabtableau.Cellules[1, nIndiceColonneSelection] +si c <> Null alors +pChampTT..Curseur = c.Contenu.PositionDébut +pChampTT..FinCurseur = c.Contenu.PositionDébut +fin +fin +Procédure locale __dCentimètresVersMillimètres +// Résumé : Convertit une valeur chaîne en centimètres avec unités en valeur numérique en millimètres +// Syntaxe : +//[ = ] __dCentimètresVersMillimètres () +// +// Paramètres : +// sValeur : valeur chaîne en centimètres avec unités +// Valeur de retour : +// variant : // Valeur numérique en millimètres +// +procédure privée __dCentimètresVersMillimètres(sValeur) +externe WDOBJ_TT_Util +renvoyer WDOBJ_TT_Util.__dUnitéVersMillimètres(sValeur,"cm") +Procédure locale __FixeRaccourciClavier +procédure privée __FixeRaccourciClavier() +tabChamps est tableau de Champs +06/08/2026 Isis_BO 4594 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Procédures +tabTouche est tableau de entier +procédure interne EnumèreBouton(sParent, callback est une procédure) +i est un entier = 1 +NomChamp est une chaîne = EnumèreChamp(sParent, i) +tantque NomChamp <> "" +ChampCourant est un Champ <- {NomChamp,indChamp} +selon ChampCourant..Type +cas typRuban, typRegroupementRuban +soit sNomComplet = ChampCourant..NomComplet +sNomComplet = Milieu(sNomComplet, Position(sNomComplet, MaFenêtreInterne..Nom + +".")) +EnumèreBouton( sNomComplet ,callback) +cas typBouton +callback(ChampCourant) +cas typComboAVS, typComboSNS +callback(ChampCourant) +autre cas +fin +i++ +NomChamp = EnumèreChamp(sParent,i) +fin +fin +procédure interne FixeRaccourciClavierChamp(ChampCourant est un Champ) +tabCtrl est un tableau de chaîne = [ "Ctrl", "Strg" ] +tabShift est un tableau de chaîne = [ "Shift", "Maj", "Umschalt", "Vaihto" ] +tabMot est un tableau dynamique de 2 par * chaîne = [ [Asc(0x0D), "Return"], [Asc(0x0D), "Invio +"], [Asc(0x0D), "Retour"], [Asc(0x0D), "Entrée"], [Asc(0x0D), "Retorn"] ] +nPos est entier +sBulle est une chaîne = RTFVersTexte(ChampCourant..bulle) +//trace("--------------------"+rc+ChampCourant..nom+rc+RTFVersTexte(sBulle)) +// cherche control +pour tout sCtrl de tabCtrl +nPos = Position(sBulle,"("+sCtrl+"+") +si nPos>0 alors +nPos += Taille(sCtrl)+2 +sortir +fin +fin +si nPos<1 alors retour +// cherche Maj +bMaj est un booléen = Faux +pour tout sShift de tabShift +si ChaîneCommencePar(sBulle[[nPos à]],sShift+"+") alors +bMaj=Vrai +nPos+=Taille(sShift)+1 +sortir +fin +fin +// lettre +sLettre est chaîne +pour i=1 _à_ TableauInfo(tabMot,tiDimension,1) +si ChaîneCommencePar(sBulle[[nPos à]],tabMot[i,2]) alors +sLettre = tabMot[i,1] +nPos+=Taille(tabMot[i,2]) +sortir +fin +06/08/2026 Isis_BO 4595 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Procédures +fin +si sLettre="" alors +sLettre = sBulle[[nPos]] +nPos++ +fin +si sLettre="" _ou_ sBulle[[nPos]]<>")" alors retour +// fixe le raccourci +ChampCourant..ToucheRaccourci = bMaj ? trControl + trShift + Asc(sLettre) sinon trControl + Asc +(sLettre) +//Ajout le champ dans un tableau pour débrancher le raccourci clavier selon le focus +Ajoute(tabChamps, ChampCourant) +Ajoute(tabTouche, ChampCourant..ToucheRaccourci) +fin +p est une procédure = FixeRaccourciClavierChamp +EnumèreBouton(MoiMême,p) +//Débranche le raccourci clavier selon le focus +procédure interne onKillFocus() +pour tout c de tabChamps +c..ToucheRaccourci = "" +fin +fin +procédure interne onGetFocus() +pour tout c, n de tabChamps +c..ToucheRaccourci = tabTouche[n] +fin +fin +pChampTT..Traitement[trtPriseFocus] += onGetFocus +pChampTT..Traitement[trtPerteFocus] += onKillFocus +Procédure locale __FragmentStyle +// Résumé : retourne le fragment a utiliser pour appliquer un style +procédure privée __FragmentStyle() +f est docFragment <- pChampTT..Sélection..Fragment +// si aucune sélection et que le curseur est dans un mot, on utilise le mot +si pChampTT..LongueurSélection=0 +si f..mot..Occurrence=1 alors +renvoyer f..mot[1] +fin +fin +renvoyer f +Procédure locale __GetTabChampFromGroupe +procédure privée __GetTabChampFromGroupe(NomGroupe) : tableau de Champ +//Pb de contexte pour la manipulation des groupes +//Affectation de l'état au niveau du groupe peut affecter un autre champ TT +//Pour éviter ça, on passe explicitement par chaque champ +tabChamps est un tableau de Champ +soit i=1 +06/08/2026 Isis_BO 4596 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Procédures +soit ResChamp = EnumèreChamp(NomGroupe, i) +tantque ResChamp <> "" +c est Champ <- {ResChamp, indChamp} +Ajoute(tabChamps, c) +i++ +ResChamp = EnumèreChamp(NomGroupe, i) +fin +renvoyer tabChamps +Procédure locale __InitChamp +procédure privée __InitChamp(_pChampTT est Champ, nFlag=0) +pChampTT <- _pChampTT +//Option qui indique si le changement de fichier est autorisé +bBtnOuvrirAutorisé est booléen = pas ETBinaire(nFlag, 1) +//Regroupements visibles de manière exclusive +GRPRUB_WDFAA_Document..Visible = bBtnOuvrirAutorisé +GRPRUB_WDFAA_DocumentFixe..Visible = pas bBtnOuvrirAutorisé +externe CFI_DocxStyle +CFI_DocxStyle.SetChampTT(_pChampTT) +//Champ fenêtre interne parent (le nom est unique), pour avoir le bon contexte +fi est Champ <- {MaFenêtreInterne..Nom, indChamp} +procédure interne fUpdateUI +fi.__UpdateUIRuban_WDFAA() +fin +gProcUpdateUI += fUpdateUI +trtRafraîchissementRuban est entier = 261 // TRT_RafraichissementRubanTT +pChampTT..Traitement[trtRafraîchissementRuban] += gProcUpdateUI +//Modification APPLILOGIK pour réuduire le ruban à l'édition de mails HTML +GRPRUB_WDFAA_DocumentFixe..Visible=Faux +GRPRUB_WDFAA_Export..Visible=Faux +GRPRUB_Contenu2..Visible = Faux +GRPRUB_WDFAA_Style..Visible=Faux +pChampTT..ModeAffichage = modeAffichageWeb +// FIN Modif APPLILOGIK +// init de la liste des styles si necessaire +__ChangeListeStyle() +// on appel un update pour fixer les choses sur le champ +__UpdateUIRuban_WDFAA() +//Fixe les raccourcis clavier + gestion du focus +__FixeRaccourciClavier() +Procédure locale __ModifieTaillePolice +procédure privée __ModifieTaillePolice(ChampCombo est Champ, nIncrement est entier) +soit nIndiceCombo = ListeCherche(ChampCombo, ChampCombo) +si nIndiceCombo>0 alors +06/08/2026 Isis_BO 4597 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Procédures +//Si hors des bornes, on sort +si nIndiceCombo+nIncrement <= 0 alors retour +si nIndiceCombo+nIncrement > ChampCombo..Occurrence alors retour +ListeSelectPlus(ChampCombo,nIndiceCombo+nIncrement) +sinon +nValeurPolice est entier = ChampCombo +nValeurPolice += nIncrement +si nValeurPolice <= 0 alors retour +ChampCombo = ""+nValeurPolice +fin +ExécuteTraitement(ChampCombo, trtSélection) +Procédure locale __SetEtatGroupe +procédure privée __SetEtatGroupe(tabChamps est tableau de Champ, eEtat est entier) +//Pb de contexte pour la manipulation des groupes +//Affectation de l'état au niveau du groupe peut affecter un autre champ TT +//Pour éviter ça, on passe explicitement par chaque champ +pour tout c de tabChamps +c..Etat = eEtat +fin +Procédure locale __sValeurCentimètres +// Résumé : Renvoie une valeur en centimètres +// Syntaxe : +//[ = ] __sValeurCentimètres ( [, ]) +// +// Paramètres : +// dValeur : Valeur +// bUnité (valeur par défaut=0) : Indique si on affiche les unités +// Valeur de retour : +// Type indéterminé : // Valeur en centimètres +// +procédure privée __sValeurCentimètres(dValeur,bUnité = Faux) +externe WDOBJ_TT_Util +renvoyer WDOBJ_TT_Util.__sValeurUnité(dValeur,"cm",bUnité) +Procédure locale __sValeurMillimètresEnCentimètres +// Résumé : Renvoie une valeur en millimètres converties en centimètres avec unités +// Syntaxe : +//[ = ] __sValeurMillimètresEnCentimètres ( [, ]) +// +// Paramètres : +// dValeur : valeur en millimètres +// bUnité (valeur par défaut=0) : Indique si on affiche les unités +// Valeur de retour : +// Type indéterminé : // Valeur convertie en centimètres avec unités +// +procédure privée __sValeurMillimètresEnCentimètres(dValeur,bUnité = Faux) +externe WDOBJ_TT_Util +renvoyer __sValeurCentimètres(Conversion(dValeur,"mm","cm"),bUnité) +Procédure locale __updateOngletVisibleEtActif +06/08/2026 Isis_BO 4598 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Procédures +procédure privée __updateOngletVisibleEtActif(bVoletTableauVisible) +soit eTypeSousDoc = pChampTT..Sélection..Fragment..TypeSousDocument +bEntêtePied est un booléen = (eTypeSousDoc=typeSousDocEnTêtePageImpaire) _ou_ (eTypeSousDoc= +typeSousDocEnTêtePagePaire) _ou_ (eTypeSousDoc=typeSousDocEnTêtePremièrePage)... +_ou_ (eTypeSousDoc=typeSousDocPiedDePageImpaire) _ou_ (eTypeSousDoc= +typeSousDocPiedDePagePaire) _ou_ (eTypeSousDoc=typeSousDocPiedDePremièrePage) +si bVoletTableauVisible alors RUBAN_WINDEVFAA_TT[nINDICE_VOLET_TABLEAU]..Visible = Vrai +// si on passe en mode entête +si gbAncienModeEntêtePiedDePage=Faux _et_ bEntêtePied=Vrai alors +gnAncienVoletEntêtePiedDePage = RUBAN_WINDEVFAA_TT +RUBAN_WINDEVFAA_TT = nINDICE_VOLET_INSERTION +// on sort du mode entête +sinon si gbAncienModeEntêtePiedDePage=Vrai _et_ bEntêtePied=Faux alors +si RUBAN_WINDEVFAA_TT=nINDICE_VOLET_INSERTION alors RUBAN_WINDEVFAA_TT=gn +AncienVoletEntêtePiedDePage +gnAncienVoletEntêtePiedDePage = -1 +fin +// on sort du mode tableau +si gbAncienModeTableau=Vrai _et_ bVoletTableauVisible=Faux alors +gbChangeVoletTableau = (RUBAN_WINDEVFAA_TT=nINDICE_VOLET_TABLEAU) +si RUBAN_WINDEVFAA_TT=nINDICE_VOLET_TABLEAU _et_ gnAncienVoletTableau<>-1 alors RUBAN_WINDEVFAA_TT= +gnAncienVoletTableau +gnAncienVoletTableau=-1 +fin +// si on passe en mode tableau +si gbAncienModeTableau=Faux _et_ bVoletTableauVisible=Vrai alors +si gbChangeVoletTableau alors +gnAncienVoletTableau = RUBAN_WINDEVFAA_TT +RUBAN_WINDEVFAA_TT = nINDICE_VOLET_TABLEAU +fin +fin +gbAncienModeEntêtePiedDePage = bEntêtePied +gbAncienModeTableau = bVoletTableauVisible +si bVoletTableauVisible=Faux alors RUBAN_WINDEVFAA_TT[nINDICE_VOLET_TABLEAU]..Visible = Faux +Procédure locale __UpdateUI_ModeAffichage +procédure privée __UpdateUI_ModeAffichage() +nModeAffichage est entier = pChampTT..ModeAffichage +selon nModeAffichage +cas modeAffichageUnePage +BTN_WDFAA_MODEAFFICHAGE_PAGE..Enfoncé = Vrai +BTN_WDFAA_MODEAFFICHAGE_PAGE..Etat = AffichageSeulement +BTN_WDFAA_MODEAFFICHAGE_WEB..Enfoncé = Faux +BTN_WDFAA_MODEAFFICHAGE_WEB..Etat = Actif +cas modeAffichageWeb +BTN_WDFAA_MODEAFFICHAGE_PAGE..Enfoncé = Faux +BTN_WDFAA_MODEAFFICHAGE_PAGE..Etat = Actif +BTN_WDFAA_MODEAFFICHAGE_WEB..Enfoncé = Vrai +BTN_WDFAA_MODEAFFICHAGE_WEB..Etat = AffichageSeulement +autre cas +fin +Procédure locale __UpdateUIRuban_WDFAA +06/08/2026 Isis_BO 4599 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Procédures +procédure privée __UpdateUIRuban_WDFAA() +externe WDOBJ_TT_Util +externe WDOBJ_TT_Numérotation +externe CFI_DocxStyle +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +MaFenêtre..AffichageActif = Faux +bVoletTableauVisible est un booléen = Faux +__UpdateUI_ModeAffichage() +// il faut un document pour faire quelque chose (même un document nouveau et vide) +d est un Document <- pChampTT..Valeur +si d = Null alors +__SetEtatGroupe(gtabGrp_Tous, Grisé) +GRPRUB_WDFAA_Modification..Grisé = Vrai +//boutons hors du groupe pour optim dessin +BTN_WDFAA_Couper..Grisé = Vrai +BTN_WDFAA_Copier..Grisé = Vrai +BTN_WDFAA_Undo..Grisé = Vrai +BTN_WDFAA_Redo..Grisé = Vrai +BTn_WDFAA_Recherche..Grisé = Vrai +BTN_WDFAA_Orthographe..Grisé = Vrai +BTN_WDFAA_Nouveau..Grisé = Faux +BTN_WDFAA_Ouvrir..Grisé = Faux +retour +fin +__SetEtatGroupe(gtabGrp_Tous, Actif) +GRPRUB_WDFAA_Modification..Grisé = Faux +BTN_WDFAA_Orthographe..Enfoncé = pChampTT..VérifieOrthographe +INT_WDFAA_AfficherRegles = pChampTT..RègleVisible +si pChampTT..Curseur < 0 alors retour +___UpdateUIRubanMiseEnForme() +LIB_LectureSeule..Visible = d.LectureSeule +BTN_WDFAA_Couper..Grisé = (pChampTT..LongueurSélection = 0) +BTN_WDFAA_Copier..Grisé = (pChampTT..LongueurSélection = 0) +BTN_WDFAA_Coller..Grisé = pas(PressePapierFormat(ppfTexte) _ou_ PressePapierFormat(ppfTexteUnicode)) +BTN_WDFAA_Undo..Grisé = DocUndoOccurrence(pChampTT) <= 0 +BTN_WDFAA_Redo..Grisé = DocRedoOccurrence(pChampTT) <= 0 +BTN_WDFAA_AfficheCaracControle..Enfoncé = pChampTT..AffichageCaractèresContrôle +BTN_WDFAA_Image..Grisé = pChampTT..Curseur<1 _ou_ pChampTT..LongueurSélection>0 +f est docFragment <- pChampTT..Sélection..Fragment +si pChampTT..Curseur>=1 alors +fragTableau est docFragment <= pChampTT..Sélection..Fragment +fragTableau.PositionFin = fragTableau.PositionDébut +si fragTableau.Paragraphe..Occurrence>=1 _et_ fragTableau.Paragraphe[1].Tableau <> Null alors +bVoletTableauVisible = Vrai +fin +fin +06/08/2026 Isis_BO 4600 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Procédures +__SetEtatGroupe(gtabGrp_NonDispo, Grisé) +POT_WDFAA_Zoom = pChampTT..Zoom +SAI_FAA_Zoom = pChampTT..Zoom/100. +__UpdateUIRubanNumeroPuce(f) +CFI_DocxStyle.SelectionneStyle(f) +__UpdateUIRubanEntete() +fin: +__updateOngletVisibleEtActif(bVoletTableauVisible) +CFI_DocxStyle.UpdateEtat() +__UpdateUIRubanAffichageSeul() +MaFenêtre..AffichageActif = Vrai +Procédure locale __UpdateUIRubanAffichageSeul +procédure privée __UpdateUIRubanAffichageSeul() +si pChampTT<>Null _et_ pChampTT..Etat=AffichageSeulement alors +GRP_WDFAA_TT_Tous..Etat=AffichageSeulement +GRP_WDFAA_TT_Affichage..Etat=Actif +BTN_WDFAA_Signet..Etat=Actif +BTn_WDFAA_Recherche..Etat=Actif +si BTN_WDFAA_FermerEntêtePied..Visible alors BTN_WDFAA_FermerEntêtePied..Etat=Actif +fin +Procédure locale __UpdateUIRubanEntete +procédure privée __UpdateUIRubanEntete() +bEntêtePied est un booléen = __bDansEnTêteOuPiedDePage(pChampTT..Sélection..Fragment) +si pas bEntêtePied alors +GRP_ENTETE..Visible = Faux +sinon +GRP_ENTETE..Visible = Vrai +GRP_PAGE..Etat = Grisé +s est une docSection <- pChampTT..Sélection..Section[1] +INT_ENTETE_PAIRE_IMPAIRE[1] = pChampTT..Valeur..PagePaireImpaireDifférente +INT_ENTETE_PREMIERE[1] = s.PremierePageDifferente +si s.Numero=1 alors +INT_ENTETE_LIER[1] = Faux +INT_ENTETE_LIER..Etat = Grisé +sinon +INT_ENTETE_LIER..Etat = Actif +selon pChampTT..Sélection..Fragment..TypeSousDocument +cas typeSousDocEnTêtePremièrePage +INT_ENTETE_LIER[1] = s.Entête.PremièrePageHéritée +cas typeSousDocEnTêtePagePaire +INT_ENTETE_LIER[1] = s.Entête.PagePaireHéritée +cas typeSousDocEnTêtePageImpaire +INT_ENTETE_LIER[1] = s.Entête.PageImpaireHéritée +cas typeSousDocPiedDePremièrePage +INT_ENTETE_LIER[1] = s.PiedDePage.PremièrePageHéritée +cas typeSousDocPiedDePagePaire +INT_ENTETE_LIER[1] = s.PiedDePage.PagePaireHéritée +cas typeSousDocPiedDePageImpaire +INT_ENTETE_LIER[1] = s.PiedDePage.PageImpaireHéritée +fin +fin +06/08/2026 Isis_BO 4601 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Procédures +SAI_WDFAA_MargeEnTête = __sValeurMillimètresEnCentimètres(s.MargeEntete) +SAI_WDFAA_MargePiedDePage = __sValeurMillimètresEnCentimètres(s.MargePiedDePage) +fin +Procédure locale __UpdateUIRubanNumeroPuce +procédure __UpdateUIRubanNumeroPuce(f) +externe WDOBJ_TT_Numérotation +bPuce, bNumérotation sont des booléens +pour tout p de f..Paragraphe +si p..Numérotation..Identifiant < 1 alors +bPuce=Faux +bNumérotation=Faux +sortir +fin +numerotation est un docNumérotation <- WDOBJ_TT_Numérotation.GetNumérotation(pChampTT..Valeur,p.. +Numérotation..Identifiant,faux) +// invalid document +si numerotation=Null alors +bPuce=Faux +bNumérotation=Faux +sortir +fin +si WDOBJ_TT_Numérotation.bNumérotationPuce(numerotation) alors +si bNumérotation alors +bPuce=Faux +bNumérotation=Faux +sortir +fin +bPuce=Vrai +sinon +si bPuce alors +bPuce=Faux +bNumérotation=Faux +sortir +fin +bNumérotation=Vrai +fin +fin +BTN_WDFAA_Numero..Enfoncé = bNumérotation +BTN_WDFAA_Puces..Enfoncé = bPuce +Procédure locale _Ctx_Orientation_ChangeOrientationSelection +procédure privée _Ctx_Orientation_ChangeOrientationSelection(nOrientation ) +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +externe WDOBJ_TT_Util +f est docFragment = WDOBJ_TT_Util.FragmentMiseEnPage(pChampTT) +// si le fragment ne contient pas de paragraphe, la coche d'orientation va dépendre du document +si f.Paragraphe..Occurrence=0 alors +doc est un Document <- pChampTT..Valeur +DocDébutModification(pChampTT) +doc.Section.Orientation=nOrientation +DocFinModification(pChampTT) +06/08/2026 Isis_BO 4602 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Procédures +ChampExécuteModification(pChampTT) +retour +fin +// parcours les paragraphes de la sélection +DocDébutModification(pChampTT) +pour nParagraphe=1 _à_ f.Paragraphe..Occurrence +f.Paragraphe[nParagraphe].Section.Orientation=nOrientation +fin +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Procédure locale _Ctx_Orientation_UpdateMenuSelonSelection +procédure privée _Ctx_Orientation_UpdateMenuSelonSelection() +nOrientation est un entier = -1 +// orientation courante (docPortrait, docPaysage, -1 si portrait+paysage ) +externe WDOBJ_TT_Util +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +f est docFragment = WDOBJ_TT_Util.FragmentMiseEnPage(pChampTT) +// si le fragment ne contient pas de paragraphe, la coche d'orientation va dépendre du document +si f.Paragraphe..Occurrence=0 alors +doc est un Document <- pChampTT..Valeur +nOrientation=doc.Section.Orientation +retour +fin +// initialise l'orientation selon le premier paragraphe +nOrientation=f.Paragraphe[1].Section.Orientation +// parcours les paragraphes de la sélection +pour nParagraphe=2 _à_ f.Paragraphe..Occurrence +// la sélection contient une orientation différente de la sélection courante : on invalide +nOrientationParagraphe est un entier +nOrientationParagraphe=f.Paragraphe[nParagraphe].Section.Orientation +si nOrientationParagraphe <> nOrientation alors +nOrientation=-1 +retour +fin +fin +fin: +WINDEVFAA_TT_OPT_Portrait..Cochée=(nOrientation=docPortrait) +WINDEVFAA_TT_OPT_Paysage..Cochée=(nOrientation=docPaysage) +Procédure locale _Ctx_TaillePage_ChangeTaillePage +procédure privée _Ctx_TaillePage_ChangeTaillePage(dLargeurPage, dHauteurPage, bAppliqueAuDoc=Faux) +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +externe WDOBJ_TT_Util +f est docFragment = WDOBJ_TT_Util.FragmentMiseEnPage(pChampTT) +// si le fragment ne contient pas de paragraphe, la coche d'orientation va dépendre du document +si f.Paragraphe..Occurrence=0 _ou_ bAppliqueAuDoc alors +06/08/2026 Isis_BO 4603 + +Partie 3 › Fenêtre WINDEV › FI_RubanTT_Mails › Procédures +doc est un Document <- pChampTT..Valeur +DocDébutModification(pChampTT) +doc.Section.LargeurPage=dLargeurPage +doc.Section.HauteurPage=dHauteurPage +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +retour +fin +// parcours les paragraphes de la sélection +DocDébutModification(pChampTT) +pour nParagraphe=1 _à_ f.Paragraphe..Occurrence +// la sélection contient une orientation différente de la sélection courante : on invalide +dLargeur est un réel +dLargeur = f.Paragraphe[nParagraphe].Section.LargeurPage +si dLargeur <> dLargeurPage alors +f.Paragraphe[nParagraphe].Section.largeurPage=dLargeurPage +fin +dHauteur est un réel +dHauteur = f.Paragraphe[nParagraphe].Section.HauteurPage +si dHauteur <> dHauteurPage alors +f.Paragraphe[nParagraphe].Section.HauteurPage=dHauteurPage +fin +fin +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +06/08/2026 Isis_BO 4604 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Image +FI_ModEmail_Gestion +Image +FI_ModEmail_Gestion +Informations générales +FI_ModEmail_Gestion +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_ModEmail_Gestion.wdw +Créé par DFI +Date de création 01/02/2020 15:49:11 +Dernière modification par SMR +Date dernière modification 11/04/2025 16:08:29 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +06/08/2026 Isis_BO 4605 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 1113 Hauteur | 519 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 4606 | + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | 4 | | Libellé | | 19 | +| --- | --------------------- | --- | --- | --- | ----------------------- | --- | --- | +| | Bouton | | 10 | | Image | | 5 | +| | Combo | | 1 | | Forme | | 3 | +| | Zone répétée | | 2 | | Fenêtre interne | | 1 | +| | Attribut zone répétée | | 7 | | Rupture de zone répétée | | 2 | +| | Traitement de texte | | 1 | | | | | +Nombre d'éléments dans la fenêtre : 55 +FI_ModEmail_Gestion +Informations sur les champs +Fenêtre : FI_ModEmail_Gestion +Fenêtre interne +BAT ehcuoT +laitini tatE +| | | X noitisoP | Y noitisoP | | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | +| | | | | ruegraL | ruetuaH | | | +elbisiV +nalP +| FI_ModEmail_Gestion | | 0 | 0 | 1113 | 519 | 0 | | +| ------------------- | --- | --- | --- | ---- | --- | --- | --- | +Fenêtre interne : FI_ModEmail_Gestion +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_Categories | 640 63 170 | 22 0 | affichag | Texte | | Non | | +| --------------- | ----------- | ---- | -------- | ----- | --- | --- | ---- | +| SAI_Description | 250 63 378 | 22 0 | Actif | Texte | | Non | | +| SAI_MailTest | 395 487 185 | 22 0 | Actif | Texte | | Non | | +| SAI_Sujet | 250 133 560 | 22 0 | Actif | Texte | | Non | | +| 06/08/2026 | | | Isis_BO | | | | 4607 | + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › 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_BORDURE_DROITE_MENU1 | 244 103 | 606 4 | 0 | Actif | Gauche | Haut | | +| ------------------------ | ------- | ------ | --- | ----- | ------ | ------ | --- | +| LIB_BORDURE_DROITE_MENU2 | 244 467 | 606 4 | 0 | Actif | Gauche | Haut | | +| LIB_CATEGORIES | 640 43 | 170 14 | 0 | Actif | Gauche | Haut | | +| LIB_Code | 250 91 | 100 14 | 0 | Actif | Gauche | Haut | | +| LIB_Compte | 250 473 | 139 14 | 0 | Actif | Gauche | Haut | | +| LIB_DESCRIPTION | 250 43 | 378 14 | 0 | Actif | Gauche | Haut | | +| LIB_ENTETE_MODELES | 7 13 | 156 17 | 0 | Actif | Centre | Centre | | +| LIB_Exporte_le_modèle | 659 477 | 62 27 | 0 | Actif | Gauche | Haut | | +| LIB_Importe_un_modèle | 770 477 | 73 31 | 0 | Actif | Gauche | Haut | | +| LIB_Nom | 871 13 | 156 17 | 0 | Actif | Centre | Centre | | +| LIB_SUJET | 250 113 | 560 14 | 0 | Actif | Gauche | Haut | | +| LIB_Système | 670 91 | 140 14 | 0 | Actif | Droite | Haut | | +| LIB_TEST | 395 473 | 185 14 | 0 | Actif | Gauche | Haut | | +| LIB_Titre | 244 10 | 242 20 | 0 | Actif | Centre | Centre | | +Bouton +| | | | | | | BAT ehcuoT | notuob epyT | +| --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | ----------- | +| | X noitisoP | Y noitisoP | | | laitini tatE | | | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_ADD_MOD_EMAIL | 709 | 8 24 | 24 | 0 | Actif | Normal | | +| --------------------------- | --- | ------- | --- | --- | ----- | ------ | --- | +| BTN_DEL_MODELE_MAIL | 754 | 8 24 | 24 | 0 | Actif | Normal | | +| BTN_DUP_MODELE_MAIL | 667 | 8 24 | 24 | 0 | Actif | Normal | | +| BTN_Envoyer_avec_Messagerie | 88 | 525 140 | 24 | 0 | Actif | Normal | | +| BTN_Envoyer_avec_Outlook | 240 | 525 140 | 24 | 0 | Actif | Normal | | +| BTN_ExportMail | 629 | 478 24 | 24 | 0 | Actif | Normal | | +| BTN_ImporteMail | 740 | 480 24 | 24 | 0 | Actif | Normal | | +| BTN_ListeCategories | 813 | 61 24 | 24 | 0 | Actif | Normal | | +| BTN_TestMail | 586 | 478 24 | 24 | 0 | Actif | Normal | | +Image +| | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --------------------------------------- | ---------- | +| | X noitisoP | Y noitisoP | | | laitini tatE | | sucof cevA | +| | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_LISTE_MODELES | 7 | 4 227 | 32 | 0 | Actif | | | +| ------------------ | --- | ------- | --- | --- | ----- | --- | ---- | +| IMG_LISTE_MODELES1 | 862 | 4 244 | 32 | 0 | Actif | | | +| IMG_SansNom1 | 244 | 4 606 | 37 | 0 | Actif | | | +| IMG_SansNom2 | -42 | 0 24 | 24 | 0 | Actif | | | +| 06/08/2026 | | Isis_BO | | | | | 4608 | + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › 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 +| COMBO_Compte | 250 | 487 139 | 22 | 0 | Actif | Mémoire | | Non | | +| ------------ | --- | ------- | --- | --- | ----- | ------- | --- | --- | --- | +Forme +BAT ehcuoT +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_CADRE_CARACTERISTIQUES | | | 244 | 36 | 606 | 479 | 0 | Actif | | +| -------------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| FRM_SansNom1 | | | 250 | -21 | 606 | 2 | 0 | Actif | | +| FRM_SansNom2 | | | 250 | 563 | 606 | 2 | 0 | Actif | | +Zone répétée +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_Modeles | | | 7 | 36 | 227 | 478 | 0 | Actif | | +| ---------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| ZR_Mot | | | 862 | 36 | 244 | 478 | 0 | Actif | | +Traitement de texte +BAT ehcuoT +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| TT_Corps | | | 250 | 161 | 592 | 296 | 0 | Actif | | +| -------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Zone répétée : FI_ModEmail_Gestion.ZR_Modeles +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP | Y noitisoP | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Catégorie | | 27 | 39 173 | 20 | 0 | affichag | Droite | Haut | | +| ------------- | --- | --- | ------ | ------- | --- | -------- | ------ | ------ | ---- | +| LIB_Nom | | 6 | 3 194 | 32 | 0 | affichag | Gauche | Centre | | +| 06/08/2026 | | | | Isis_BO | | | | | 4609 | + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › 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_System | 6 | 39 | 20 | 20 | 0 | Actif | | | +| ---------- | --- | --- | --- | --- | --- | ----- | --- | --- | +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +ATT_Cadenas +ATT_Categorie +ATT_ID +ATT_Nom +Zone répétée : FI_ModEmail_Gestion.ZR_Mot +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_Description | 46 2 | 169 | 16 | 0 | Actif | Gauche | Haut | | +| --------------- | ----- | --- | --- | --- | ----- | ------ | ---- | --- | +| LIB_GROUPE | 28 5 | 199 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_Mot | 46 16 | 169 | 17 | 0 | Actif | Droite | Haut | | +Bouton +notuob epyT +| | | | | | | laitini tatE | BAT ehcuoT | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | --- | +| | X noitisoP | Y noitisoP | | | | | | | +| | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_COPIE_COLLE_MOTCLE | 6 | 4 | 24 | 24 | 0 | Actif | Normal | | +| ---------------------- | --- | --- | ------- | --- | --- | ----- | ------ | ---- | +| 06/08/2026 | | | Isis_BO | | | | | 4610 | + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Attribut zone répétée +06/08/2026 Isis_BO 4611 +X +noitisoP +Y +noitisoP ruegraL ruetuaH +nalP +elbisiV +laitini +tatE +BAT +ehcuoT +ATT_Groupe +ATT_Lib +ATT_Mot +Rupture de zone répétée +X +noitisoP +Y +noitisoP ruegraL ruetuaH +nalP +elbisiV +laitini +tatE +BAT +ehcuoT +RUPT_BasRupture1 +RUPT_HautRupture1 +Fenêtre : FI_ModEmail_Gestion +Fenêtre interne : FI_ModEmail_Gestion +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Fenêtre interne : FI_ModEmail_Gestion +Bouton : FI_ModEmail_Gestion.BTN_ADD_MOD_EMAIL +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4612 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Bouton : FI_ModEmail_Gestion.BTN_DEL_MODELE_MAIL +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4613 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Bouton : FI_ModEmail_Gestion.BTN_DUP_MODELE_MAIL +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Dupliquer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4614 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Bouton : FI_ModEmail_Gestion.BTN_Envoyer_avec_Messagerie +Libellé FR: Envoyer avec Messagerie +Ordre navigation 10 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4615 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Bouton : FI_ModEmail_Gestion.BTN_Envoyer_avec_Outlook +Libellé FR: Envoyer avec Outlook +Ordre navigation 11 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4616 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Bouton : FI_ModEmail_Gestion.BTN_ExportMail +Groupe GR_BandeauEntete +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Exporte le modèle courant +Message FR: Exporte le modèle courant +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\exporte_16_5.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4617 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Bouton : FI_ModEmail_Gestion.BTN_ImporteMail +Groupe GR_BandeauEntete +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Importe un modèle +Message FR: Importe un modèle +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Importe_16_5.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4618 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Bouton : FI_ModEmail_Gestion.BTN_ListeCategories +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION,GR_EDITLIEU_FICHE_INTERVENTION +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4619 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Bouton : FI_ModEmail_Gestion.BTN_TestMail +Groupe GR_BandeauEntete +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Tester l'envoi de l'Email +Message FR: Tester l'envoi de l'Email +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\SendMail.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4620 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Combo : FI_ModEmail_Gestion.COMBO_Compte +Libellé FR: Compte : +Groupe GR_PIECEJOINTE +Ordre navigation 8 +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 139 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 250 +Largeur interne 139 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Texte d'indication si vide FR: Compte email +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse A la fin +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 +06/08/2026 Isis_BO 4621 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +Rub. affichée :gpclListeDocInter.m_clTabModele.m_sNom +Rub. mémorisée :gpclListeDocInter.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_ModEmail_Gestion.FRM_CADRE_CARACTERISTIQUES +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_ModEmail_Gestion.FRM_SansNom1 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 4622 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_ModEmail_Gestion.FRM_SansNom2 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_ModEmail_Gestion.IMG_LISTE_MODELES +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +06/08/2026 Isis_BO 4623 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_ModEmail_Gestion.IMG_LISTE_MODELES1 +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Non +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 +06/08/2026 Isis_BO 4624 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Image : FI_ModEmail_Gestion.IMG_SansNom1 +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_ModEmail_Gestion.IMG_SansNom2 +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\mail_24_1.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Ascenseur et zoom auto. Non +06/08/2026 Isis_BO 4625 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_ModEmail_Gestion.LIB_BORDURE_DROITE_MENU1 +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 +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 A la fin +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 Largeur +Taux anc. droite 1000 Taux anc. bas 0 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4626 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Libellé : FI_ModEmail_Gestion.LIB_BORDURE_DROITE_MENU2 +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 +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 A la fin +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 Largeur et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_ModEmail_Gestion.LIB_CATEGORIES +Libellé FR: Catégories +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 +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 +06/08/2026 Isis_BO 4627 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 500 Taux anc. bas 0 Taux anc. largeur 500 Taux anc. hauteur 1000 +Libellé : FI_ModEmail_Gestion.LIB_Code +Libellé FR: S001 +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 +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 +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 +Liaison des données :odMC.saCodeModel +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4628 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Libellé : FI_ModEmail_Gestion.LIB_Compte +Libellé FR: Compte email +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 +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 +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 Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : FI_ModEmail_Gestion.LIB_DESCRIPTION +Libellé FR: Nom du modèle +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 +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 +06/08/2026 Isis_BO 4629 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Libellé : FI_ModEmail_Gestion.LIB_ENTETE_MODELES +Libellé FR: Liste des modèles +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4630 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Libellé : FI_ModEmail_Gestion.LIB_Exporte_le_modèle +Libellé FR: Exporte le modèle +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 +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 +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 Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : FI_ModEmail_Gestion.LIB_Importe_un_modèle +Libellé FR: Importe un modèle +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 +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 +06/08/2026 Isis_BO 4631 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : FI_ModEmail_Gestion.LIB_Nom +Libellé FR: Mots Clés disponibles +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 +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 +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4632 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Libellé : FI_ModEmail_Gestion.LIB_SUJET +Libellé FR: Sujet +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Libellé : FI_ModEmail_Gestion.LIB_Système +Libellé FR: Système +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 +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 +06/08/2026 Isis_BO 4633 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_ModEmail_Gestion.LIB_TEST +Libellé FR: Destinataire de l'essai +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 +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 +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 Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4634 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Libellé : FI_ModEmail_Gestion.LIB_Titre +Libellé FR: EDITEUR DE MODELES DE MAILS +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 +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 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_ModEmail_Gestion.SAI_Categories +Libellé FR: Catégories +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +06/08/2026 Isis_BO 4635 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Position X interne 640 +Largeur interne 170 +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 +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 Non +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. +Liaison des données :odMC.sLstCat +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 +06/08/2026 Isis_BO 4636 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +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 +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ de saisie : FI_ModEmail_Gestion.SAI_Description +Libellé FR: Description +Groupe GR_SAISIE_MODELE_EMAIL +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 250 +Largeur interne 378 +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 +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 +06/08/2026 Isis_BO 4637 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +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 Non +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. +Liaison des données :odMC.sNom +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 500 Taux anc. hauteur 1000 +Champ de saisie : FI_ModEmail_Gestion.SAI_MailTest +Libellé FR: Destinataire de l'essai +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +06/08/2026 Isis_BO 4638 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 395 +Largeur interne 185 +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 +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. +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +06/08/2026 Isis_BO 4639 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +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 Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Champ de saisie : FI_ModEmail_Gestion.SAI_Sujet +Libellé FR: Sujet +Groupe GR_SAISIE_MODELE_EMAIL +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 250 +Largeur interne 560 +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 +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 +06/08/2026 Isis_BO 4640 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +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 Non +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. +Liaison des données :odMC.sSujet +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 +Traitement de texte : FI_ModEmail_Gestion.TT_Corps +Groupe GR_SAISIE_MODELE_EMAIL +Ordre navigation 4 +Épinglé Non +Masquer lors du scrolling Non +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Autorise ChangeGabarit Oui +Lien automatique Oui +Verifier l'orthographe Oui +06/08/2026 Isis_BO 4641 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +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 +FI source ruban FI_RubanTT_Mails +Mode Minibarre Non +Texte Markdown Non +Édition HTML Oui +Thème sur ruban Non +Change Document Non +Mode d'affichage Plusieurs listes +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 +Zone répétée : FI_ModEmail_Gestion.ZR_Modeles +Libellé FR: dfsdfsdfsdfsdf +Ordre navigation -1 +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 +Hauteur ligne max. 0 +Hauteur ligne 62 +Largeur colonne 227 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +06/08/2026 Isis_BO 4642 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : FI_ModEmail_Gestion.ZR_Mot +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 34 +Largeur colonne 244 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Isis_BO 4643 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Hauteur et droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4644 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Zone répétée : FI_ModEmail_Gestion.ZR_Modeles +Attribut zone répétée : FI_ModEmail_Gestion.ZR_Modeles.ATT_Cadenas (4) +Champ associé IMG_System +Propriété associée 73 +Attribut zone répétée : FI_ModEmail_Gestion.ZR_Modeles.ATT_Categorie (3) +Champ associé LIB_Catégorie +Propriété associée 1 +Attribut zone répétée : FI_ModEmail_Gestion.ZR_Modeles.ATT_ID (1) +Propriété associée 1 +Attribut zone répétée : FI_ModEmail_Gestion.ZR_Modeles.ATT_Nom (2) +Champ associé LIB_Nom +Propriété associée 1 +Image : FI_ModEmail_Gestion.ZR_Modeles.IMG_System +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Cadenas_Blanc_20_1.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 4645 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Texte Markdown Non +Mode menu ctx. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_ModEmail_Gestion.ZR_Modeles.LIB_Catégorie +Libellé FR: Catégorie +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 +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 A la fin +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4646 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Libellé : FI_ModEmail_Gestion.ZR_Modeles.LIB_Nom +Libellé FR: Description +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : FI_ModEmail_Gestion.ZR_Mot +Attribut zone répétée : FI_ModEmail_Gestion.ZR_Mot.ATT_Groupe (3) +Champ associé LIB_GROUPE +Propriété associée 1 +Liaison des données :TermeRapport.ListeTerme.Groupe +06/08/2026 Isis_BO 4647 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Attribut zone répétée : FI_ModEmail_Gestion.ZR_Mot.ATT_Lib (1) +Champ associé LIB_Description +Propriété associée 1 +Attribut zone répétée : FI_ModEmail_Gestion.ZR_Mot.ATT_Mot (2) +Champ associé LIB_Mot +Propriété associée 1 +Bouton : FI_ModEmail_Gestion.ZR_Mot.BTN_COPIE_COLLE_MOTCLE +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_dupliquer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 4648 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : FI_ModEmail_Gestion.ZR_Mot.LIB_Description +Libellé FR: Libellé +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4649 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Libellé : FI_ModEmail_Gestion.ZR_Mot.RUPT_HautRupture1.LIB_GROUPE +Libellé FR: Groupe +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_ModEmail_Gestion.ZR_Mot.LIB_Mot +Libellé FR: Libellé +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 +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 +06/08/2026 Isis_BO 4650 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : FI_ModEmail_Gestion.ZR_Mot.RUPT_BasRupture1 (5) +Toujours visible Non +Attribut de rupture 2 +Rupture de zone répétée : FI_ModEmail_Gestion.ZR_Mot.RUPT_HautRupture1 (4) +Toujours visible Non +Attribut de rupture 2 +FI_ModEmail_Gestion +Messages multilingues +06/08/2026 Isis_BO 4651 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Code des champs +FI_ModEmail_Gestion +Code des champs +Déclarations globales de FI_ModEmail_Gestion +procédure MaFenêtre() +tbMod est un tableau de PF_ModeleEmail dynamique +odMC est un PF_ModeleEmail dynamique +nLigneAffichée est un entier +nPos est un entier +saMotCopié est une chaîne ANSI +gtaParamEmailConfig est un tableau associatif de STParamEnvoiEmailPerso +Fin d'initialisation de FI_ModEmail_Gestion +TT_Corps="" +ChargeListeMotsClefs() +ChargeListeModeles() +ChargeListeCompteMail() +si ZR_Modeles..Occurrence=0 alors +ChangeModelCourant(Vrai) +sinon +ChangeModelCourant(Faux) +fin +Fermeture de FI_ModEmail_Gestion +si GR_SAISIE_MODELE_EMAIL..Modifié alors +odMC:bufCorps = TT_Corps +EnregistreModeleCourant() +fin +Clic sur BTN_ADD_MOD_EMAIL +NouveauModeleEmail() +Clic sur BTN_DEL_MODELE_MAIL +si OuiNon("Supprimer ce modèle ?") alors +SupprimeModeleCourant() +fin +Clic sur BTN_DUP_MODELE_MAIL +si odMC<>Null alors +oSource est un PF_ModeleEmail <= odMC +NouveauModeleEmail +odMC <=oSource +odMC:oMod:sNom += " COPIE" +odMC:oMod:m_bNouveau = Vrai +odMC:bEstSystem = Faux +06/08/2026 Isis_BO 4652 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Code des champs +odMC:oMod:NouveauCodeModele() +EnregistreModeleCourant() +SAI_Description = odMC:sNom +SAI_Sujet = odMC:sSujet +TT_Corps = odMC:bufCorps +LIB_Code = odMC:saCodeModel +SAI_Categories = odMC:sLstCat +ZR_Modeles[nLigneAffichée].ATT_Nom = odMC:oMod:sNom +ZR_Modeles[nLigneAffichée].ATT_Categorie = odMC:sLstCat +ZR_Modeles[nLigneAffichée].ATT_ID = odMC:oMod:IdentifiantUnique +ZR_Modeles[nLigneAffichée].ATT_Cadenas = odMC:oMod:bEstSystem +fin +Clic sur BTN_Envoyer_avec_Messagerie +si SAI_MailTest="" alors retour +EnregistreModeleCourant() +saSujet est une chaîne ANSI = SAI_Sujet +saCorps est une chaîne ANSI = DocVersHTML(TT_Corps) +sRep est une chaîne ANSI = EnvoieViaMessagerieParDefaut("difou@free.fr",SAI_MailTest,"",saSujet,saCorps +,2,"") +si sRep<>"" alors +Erreur(sRep) +sinon +Info("Mail Envoyé !") +fin +Clic sur BTN_Envoyer_avec_Outlook +si SAI_MailTest="" alors retour +EnregistreModeleCourant() +saSujet est une chaîne ANSI = SAI_Sujet +saCorps est une chaîne ANSI = DocVersHTML(TT_Corps) +sRep est une chaîne ANSI = EnvoieMailViaOutlook(SAI_MailTest,"",saSujet,saCorps,2,"",Faux) +si sRep<>"" alors +Erreur(sRep) +sinon +Info("Mail Envoyé !") +fin +Clic sur BTN_ExportMail +si odMC = Null alors retour +EnregistreModeleCourant() +ExporteModeleDeMail() +Clic sur BTN_ImporteMail +06/08/2026 Isis_BO 4653 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Code des champs +EnregistreModeleCourant() +ImporteModeledeMail() +Clic sur BTN_ListeCategories +OuvrePopup(FEN_ModEmail_ChoixCatégories,odMC) +SAI_Categories = odMC:sLstCat +SAI_Categories..Bulle = odMC:sLstCat +GR_SAISIE_MODELE_EMAIL..Modifié=Vrai +ActualiseLigneCourante() +Clic sur BTN_TestMail +si SAI_MailTest="" alors retour +si COMBO_Compte <> Null _et_ gtaParamEmailConfig[COMBO_Compte]..Existe alors +Sablier(Vrai) +EnregistreModeleCourant() +saSujet est une chaîne ANSI = SAI_Sujet +saCorps est une chaîne ANSI = DocVersHTML(TT_Corps) +saCorps +=ChaîneVersUTF8(gtaParamEmailConfig[COMBO_Compte].SMTP.bufSignature) +oMail est un Email +sRepest une chaîne ANSI = EnvoiMail(SAI_MailTest,"","",saSujet,saCorps,"",oMail,gta +ParamEmailConfig[COMBO_Compte]) +Sablier(Faux) +si sRep<>"" alors +Erreur(sRep) +sinon +Info("Mail Envoyé !") +fin +sinon +si gtaParamEmailConfig..Occurrence <= 0 alors +Info("Vous n'avez pas encore paramétré votre compte de messagerie sur votre application.") +retour +sinon +Info("Veuillez sélectionner un compte mail.") +retour +fin +fin +A chaque modification de SAI_Description +WL.ChampVersSource(MoiMême) +ZR_Modeles[nLigneAffichée].ATT_Nom = odMC:oMod:sNom +A chaque modification de SAI_Sujet +WL.ChampVersSource(MoiMême) +Initialisation de TT_Corps +06/08/2026 Isis_BO 4654 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Code des champs +MoiMême="" +Sélection d'une ligne de ZR_Modeles +ChangeModelCourant(Faux) +Clic sur BTN_COPIE_COLLE_MOTCLE ( ZR_Mot ) +elt est un docElément +elt..Type = typeDocElémentTexte +elt..Texte = LIB_Mot +elt..Texte..MiseEnForme..PoliceNom = FI_RubanTT_Mails.BTN_WDFAA_Police +elt..Texte..MiseEnForme..PoliceTaille=FI_RubanTT_Mails.COMBO_WDFAA_TaillePolice +DocInsère(TT_Corps,TT_Corps..Curseur,elt) +//VersPressePapier(LIB_Mot) +FI_ModEmail_Gestion +Procédures +Procédure locale ActualiseLigneCourante +procédure ActualiseLigneCourante() +ZR_Modeles[nLigneAffichée].ATT_Nom = odMC:oMod:sNom +ZR_Modeles[nLigneAffichée].ATT_Categorie = odMC:sLstCat +Procédure locale ChangeModelCourant +procédure ChangeModelCourant(bNouveau est un booléen) +si odMC<>Null alors +si odMC:IdentifiantUnique<>ZR_Modeles.ATT_ID alors +//Changement de modele courant +//Enregistre si modifié +si GR_SAISIE_MODELE_EMAIL..Modifié alors +odMC:bufCorps = TT_Corps +ActualiseLigneCourante() +si pas EnregistreModeleCourant() alors +retour +fin +GR_SAISIE_MODELE_EMAIL..Modifié=Faux +fin +odMC=Null +sinon si pas bNouveau +//Pas de changement +retour +fin +fin +odMC = allouer un PF_ModeleEmail +06/08/2026 Isis_BO 4655 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Procédures +si bNouveau alors +odMC:sNom="Nouveau" +odMC:oMod:NouveauCodeModele() +SAI_Description = "" +SAI_Sujet = "" +TT_Corps ="" +LIB_Code = odMC:saCodeModel +ZoneRépétéeInsèreLigne(ZR_Modeles,1,0,odMC:sNom,"") +ZoneRépétéeSelectPlus(ZR_Modeles,1) +nLigneAffichée=1 +sinon si ZR_Modeles>0 alors +nLigneAffichée=ZR_Modeles +si HLitRecherchePremier(MailModele,MM_PKID,ZR_Modeles.ATT_ID) alors +odMC:Charge(MailModele.MM_Code) +SAI_Description = odMC:sNom +SAI_Sujet = odMC:sSujet +si odMC:bufCorps="" alors TT_Corps="" sinon TT_Corps = odMC:bufCorps +LIB_Code = odMC:saCodeModel +fin +fin +SAI_Categories = odMC:sLstCat +SAI_Categories..Bulle = odMC:sLstCat +SAI_Description..Etat = odMC:bEstSystem ? AffichageSeulement sinon Actif +LIB_Système..Visible = odMC:bEstSystem +BTN_ListeCategories..Visible = pas odMC:bEstSystem +DonneFocus(TT_Corps) +nPos=TT_Corps..Curseur +si odMC:bEstSystem alors +DonneFocus(SAI_Sujet) +sinon +DonneFocus(SAI_Description) +fin +Procédure locale ChargeListeCompteMail +procédure ChargeListeCompteMail() +ListeSupprimeTout(COMBO_Compte) +TableauSupprimeTout(gtaParamEmailConfig) +n est un entier +stParametreSoc est une ST_Param_Societe +stParametrevide est une ST_Param_Societe +st_ParamEmail est un STParamEnvoiEmailPerso +sRésultat est une chaîne ANSI +sCodeEnvoi est une chaîne ANSI +si pas gpclFicheUtilisateurEnCours:m_sLogin dans ("ServiceMobile","admin","AdminClient") alors +gtaParamEmailConfig = DonneListeConfigMail() +sinon +pour tout oSoc de gpclListeSociete:m_clTabModele +stParametreSoc = stParametrevide +si oSoc:m_sParametres <> "" alors +Désérialise(stParametreSoc,oSoc:m_sParametres,psdJSON) +fin +06/08/2026 Isis_BO 4656 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Procédures +si sRésultat = "" _et_ (stParametreSoc.Compte.sCompte = "" _ou_ stParametreSoc.SMTP.sLogin = "" +) alors +sRésultat = ParametreLit(cParam_SMTP,"",Vrai) +si sRésultat<>"" alors +stParametreSoc.SMTP.sLogin = ExtraitChaîne(sRésultat,1,"<>", +DepuisDébut) +stParametreSoc.SMTP.sMdp = ExtraitChaîne(sRésultat,2,"<>",DepuisDébut) +stParametreSoc.SMTP.sAdresseServeur = ExtraitChaîne(sRésultat,3,"<>", +DepuisDébut) +stParametreSoc.SMTP.sPortServeur = ExtraitChaîne(sRésultat,4,"<>", +DepuisDébut) +stParametreSoc.SMTP.nCryptage = Val(ExtraitChaîne(sRésultat,5,"<>", +DepuisDébut)) +stParametreSoc.Compte.sEmail = ExtraitChaîne(sRésultat,6,"<>",DepuisDébut) +stParametreSoc.Compte.sCompte = ExtraitChaîne(sRésultat,7,"<>",DepuisDébut) +fin +fin +si stParametreSoc.SMTP.sLogin <> "" alors +sCodeEnvoi = "EMAIL_ENVOI_"+oSoc.m_nPKID +st_ParamEmail.Compte = stParametreSoc.Compte +st_ParamEmail.SMTP = stParametreSoc.SMTP +si pas gtaParamEmailConfig[sCodeEnvoi]..Existe alors +st_ParamEmail.SMTP.sMdp = Décrypte(st_ParamEmail.SMTP.sMdp,gsCleMdp) +gtaParamEmailConfig[sCodeEnvoi] = st_ParamEmail +fin +fin +fin +fin +pour tout stParam, sCode de gtaParamEmailConfig +n = ListeAjoute(COMBO_Compte, stParam.Compte.sCompte +" <"+stParam.SMTP.sLogin+">"+ +gValeurMémorisée(sCode)) +fin +Procédure locale ChargeListeModeles +procédure ChargeListeModeles() +ZR_Modeles.SupprimeTout() +rq est une Requête SQL = +[ +SELECT MM_PKID,MM_Nom,MM_Code,STRING_AGG(PA_Libelle,',') AS Cat ,MM_System +FROM +( +MailModele +LEFT OUTER JOIN +MailCat +ON MailModele.MM_Code = MailCat.MMC_CodeModMail +) +LEFT OUTER JOIN +ParametreMetier +ON MailCat.MMC_CodeCat = ParametreMetier.PA_Valeur +WHERE ParametreMetier.PA_Code = 'MC' OR ParametreMetier.PA_Code IS NULL +GROUP BY MM_PKID,MM_Nom,MM_Code,MM_System +ORDER BY MM_Nom +] +06/08/2026 Isis_BO 4657 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Procédures +HExécuteRequête(rq) +pour tout rq +ZR_Modeles.AjouteLigne(rq.MM_PKID,rq.MM_Nom,rq.Cat,rq.MM_System) +fin +si ZR_Modeles..Occurrence>0 alors +ZR_Modeles.SelectPlus(1) +fin +Procédure locale ChargeListeMotsClefs +procédure ChargeListeMotsClefs() +ZR_Mot.SupprimeTout() +//Mots clés temporairement exclus +sLstMotExclus est une chaîne ANSI ="" +//"DOSSIER.NUM,DOSSIER.DATE,DOSSIER.TITRE,DOSSIER.REFEXT,DOSSIER.TYPE,DOSSIER.STATUT,CLIENT.ADRESSE" +rq est une Requête SQL = +[ +SELECT MOC_Lib,MOC_Mot,MOC_Code,MOC_Groupe FROM MotClef WHERE MOC_Langue='FR' ORDER BY MOC_Groupe, +MOC_Code,MOC_Lib +] +HExécuteRequête(rq) +pour tout rq +si ChaîneOccurrence(sLstMotExclus,rq.MOC_Code)=0 alors +ZR_Mot.AjouteLigne(rq.MOC_Lib,rq.MOC_Mot,rq.MOC_Groupe) +fin +fin +Procédure locale EnregistreModeleCourant +procédure EnregistreModeleCourant() +oErr est un CErreur +si odMC<>Null alors +si pas odMC:EnregistreModele(oErr) alors +Erreur(oErr:FormateMessage()) +renvoyer Faux +fin +fin +renvoyer Vrai +Procédure locale EnvoieMailViaOutlook +// Traitement automatique des erreurs : exécuter le bloc de code CAS ERREUR +// +// Traitement automatique des exceptions : exécuter le bloc de code CAS EXCEPTION: +// SenderName propriété pour mettre le nom de la personne qui envoi +procédure EnvoieMailViaOutlook(Destinataire,Copie,Sujet,Corps,BodyFormat, Piece,Envoie) +//Déclaration des objets OLE +olMailItem est un entier = 0 +objOutlook est un objet OLE dynamique +MonMail est un objet OLE dynamique +objOutlook = allouer un objet OLE "Outlook.Application" +MonMail = objOutlook>>CreateItem(olMailItem) +06/08/2026 Isis_BO 4658 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Procédures +// Destinataire +MonMail>>TO = Remplace( Destinataire,RC,";") +MonMail>>cc = Remplace(Copie,RC,";") +// Sujet +MonMail>>subject = Sujet +// Message +MonMail>>BodyFormat = BodyFormat +selon BodyFormat +cas 1 //Plain Format +MonMail>>Body = Corps +cas 2 //HTML +MonMail>>HTMLBody = Corps +cas 3 //RTF +MonMail>>RTFBody = Corps +fin +// Ajouter une pièce jointe +pour toute chaîne sFic de Piece séparée par RC +MonMail>>attachments>>add(sFic) +fin +//Affichage du mail, sans l'envoyer +si Envoie alors +MonMail>>send() +sinon +MonMail>>Display() +fin +//Libération des variables +libérer MonMail +libérer objOutlook +renvoyer Vrai +cas erreur: +Info("Erreur lors de l'envoi du mail via OUTLOOK",ErreurInfo(errComplet)) +renvoyer Faux +cas exception: +Info("Exception lors de l'envoi du mail via OUTLOOK",ExceptionInfo(errComplet)) +renvoyer Faux +Procédure locale EnvoieViaMessagerieParDefaut +procédure EnvoieViaMessagerieParDefaut(Expéditeur,Destinataire,Copie,Sujet,Corps,BodyFormat, Piece) +quand exception dans +EmailRAZ() +Email.NbDestinataire=1 +Email.Destinataire[1]=Destinataire +si Copie<>"" alors +Email.NbCc=1 +Email.Cc[1]=Copie +fin +Email.Sujet=Sujet +selon BodyFormat +cas 1 //Plain Format +Email.TexteBrut=Corps +cas 2 //HTML +Email.HTML=Corps +fin +Email.HTML=Corps +Email.TexteBrut=Corps +si Piece<>"" alors +Email.NbAttache=1 +06/08/2026 Isis_BO 4659 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Procédures +Email.Attache[1]=Piece +fin +Email.AdresseExpéditeur=Expéditeur +Email.Expéditeur=Expéditeur +EmailLanceAppli() +si ErreurDétectée() alors +renvoyer ErreurInfo(errMessage) +sinon +renvoyer "" +fin +faire +renvoyer "Exception lors de l'envoi du mail : " + RC + ExceptionInfo(errComplet) +fin +Procédure locale ExporteModeleDeMail +procédure ExporteModeleDeMail() +quand exception dans +stExp est un ST_ModelMail +stExp.sNom = odMC:oMod:sNom +stExp.sSujet = odMC:oMod:sSujet +stExp.sMailCode = odMC:oMod:saCodeModel +stExp.bSystem = odMC:oMod:bEstSystem +stExp.sLangue = odMC:oMod:sLangue +stExp.bufDoc = odMC:oMod:bufCorps +pour tout pclCat de odMC:tbCat +stCat est un ST_MailCat +stCat.sCatCode =pclCat:saCodeCat +stCat.sCatNom =pclCat:p_saLibCat +stCat.bSystem =pclCat:p_bSystem +stExp.tatbCat.Ajoute(stCat) +fin +bufJSON est un Buffer +Sérialise(stExp,bufJSON,psdJSON) +// Ouvre le sélecteur de fichiers +sFichier est une chaîne +sMesDocuments est une chaîne ANSI = SysRep(srMesDocumentsCommun) +sFichier = fSélecteur(sMesDocuments, Remplace(stExp.sNom,[":","/","\","?","*","""","<",">","|"],"_" +) + ".bemail", "Exporter dans", "Modèle de mail (*.bemail)" + TAB + "*.bemail", "*.bemail", +fselCrée) +si sFichier="" alors retour +fSauveBuffer(sFichier,bufJSON) +Info("Fichier enregistré !") +faire +Erreur("Erreur durant l'opération") +06/08/2026 Isis_BO 4660 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Procédures +fin +Procédure locale ImporteModeledeMail +procédure ImporteModeledeMail() +quand exception dans +sMesDocuments est une chaîne ANSI = SysRep(srMesDocumentsCommun) +// Ouvre le sélecteur de fichiers +sFichier est une chaîne = fSélecteur(sMesDocuments, "", "Sélectionnez un fichier...", +"Modèle de mail (*.bemail)" + TAB + "*.bemail" + RC + "Tous les fichiers (*.*)" + TAB + "*.*", "* +.bemail") +si sFichier ="" alors retour +bufJSON est un Buffer = fChargeBuffer(sFichier) +stImp est un ST_ModelMail +Désérialise(stImp,bufJSON,psdJSON) +si stImp.sMailCode="" alors +Erreur("Mauvais format de fichier !","Opération abandonnée.") +retour +fin +clErreur est un CErreur +clMail est un MModeleEmail +si stImp.bSystem alors +//Si c'est un modèle système, on conserve son code +clMail:saCodeModel = stImp.sMailCode +//Si le modèle système existe déjà, on le met à jour +si HLitRecherchePremier(MailModele,MM_Code,stImp.sMailCode) alors +clMail:Charger(MailModele) +fin +sinon +//Pour un modèle "perso" on calcul un nouveau code modèle +clMail:NouveauCodeModele() +fin +clMail:sNom = stImp.sNom +clMail:sSujet = stImp.sLangue +clMail:bufCorps = stImp.bufDoc +clMail:bEstSystem= stImp.bSystem +si pas clMail.bEnregistrer(clErreur) alors +Erreur(clErreur:FormateMessage()) +retour +fin +//Enregistrement des Catégories +//Les catégories systeme ne sont pas affectées si elles sont déjà présentes dans la base +pour tout stCat de stImp.tatbCat +si (stCat.bSystem _et_ pas HLitRecherchePremier(ParametreMetier,PA_CodePA_Valeur,[ +cPM_MM_MailCat,stCat.sCatCode])) _ou_ (pas stCat.bSystem ) alors +clParam est un MParametreMetier +06/08/2026 Isis_BO 4661 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Procédures +clParam:m_sCode = cPM_MM_MailCat +clParam:m_sValeur = stCat.sCatCode +clParam:m_sLibelle = stCat.sCatNom +clParam:m_bSysteme = stCat.bSystem +si pas clParam.bEnregistrer(clErreur) alors +Erreur(clErreur:FormateMessage()) +retour +fin +fin +clMCat est un MMailCat +clMCat:saCodeCat = stCat.sCatCode +clMCat:saCodeModMail = clMail:saCodeModel +si pas clMCat:Existe() alors +si pas clMCat:bEnregistrer(clErreur) alors +Erreur(clErreur:FormateMessage()) +retour +fin +fin +fin +ChargeListeModeles() +Info("Fichier importé !") +faire +Erreur("Erreur durant l'importation du fichier","Opération abandonnée") +fin +Procédure locale NouveauModeleEmail +procédure NouveauModeleEmail() +ChangeModelCourant(Vrai) +Procédure locale ProcLâcher +procédure ProcLâcher() +//PiloteSouris(_DND.ChampCible,psClicGauche,_DND.SourisPosX,_DND.SourisPosY) +EnvoieTouche("{BTNGAUCHE}",Handle(_DND.ChampCible)) +EnvoieTouche(saMotCopié,Handle(_DND.ChampCible)) +WL.ChampVersSource(SAI_Sujet) +WL.ChampVersSource(TT_Corps) +GR_SAISIE_MODELE_EMAIL..Modifié = Vrai +//trace("OK") +Procédure locale ProcSurvol +procédure ProcSurvol() +DnDAccepte(dndDéfaut) +Procédure locale SupprimeModeleCourant +procédure SupprimeModeleCourant() +oErr est un CErreur +si odMC<>Null alors +si pas odMC:SupprimeModele(oErr) alors +06/08/2026 Isis_BO 4662 + +Partie 3 › Fenêtre WINDEV › FI_ModEmail_Gestion › Procédures +Erreur("Erreur lors de la suppression.",oErr:FormateMessage()) +retour +fin +ZR_Modeles.Supprime(nLigneAffichée,zrAnimationSuppression) +si ZR_Modeles.Occurrence()>0 alors +ChangeModelCourant(Faux) +sinon +ChangeModelCourant(Vrai) +fin +fin +06/08/2026 Isis_BO 4663 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Image +FI_Parametrage_Batigest +Image +FI_Parametrage_Batigest +Informations générales +FI_Parametrage_Batigest +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Parametrage_Batigest.wdw +Créé par DFI +Date de création 29/04/2020 19:16:00 +06/08/2026 Isis_BO 4664 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations générales +| Dernière modification par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date dernière modification | | 11/04/2025 16:08:27 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1278 Hauteur | 689 | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| Anim. Fermeture | | 0 | | | | +| Durée Anim. Ouverture | | 100 | | | | +| Durée Anim. Fermeture | | 50 | | | | +| 06/08/2026 | | | Isis_BO | | 4665 | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations générales +| Adapte Taille contenu | Non | | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | +| Assombri quand inactif | Oui | | | | | | +| Déplace souris sur bouton par | Non | | | | | | +| Compact. barres outils | Non | | | | | | +Statistiques de la fenêtre +| | Champ de saisie | | 7 | Libellé | | 14 | +| --- | ------------------- | --- | --- | ---------------- | --- | --- | +| | Bouton | | 9 | Sélecteur | | 1 | +| | Image | | 2 | Table | | 2 | +| | Jauge | | 1 | Combo | | 1 | +| | Fenêtre interne | | 1 | Superchamp | | 3 | +| | Option de sélecteur | | 2 | Colonne de table | | 15 | +Nombre d'éléments dans la fenêtre : 58 +FI_Parametrage_Batigest +Informations sur les champs +Fenêtre : FI_Parametrage_Batigest +Fenêtre interne +BAT ehcuoT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | +| --- | --- | --- | ------- | ------- | --- | --- | +elbisiV +nalP +| FI_Parametrage_Batigest | | 0 | 0 1278 | 689 | 0 | | +| ----------------------- | --- | --- | ------ | --- | --- | --- | +Fenêtre interne : FI_Parametrage_Batigest +| 06/08/2026 | | | Isis_BO | | | 4666 | +| ---------- | --- | --- | ------- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › 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_SOCIETE | 1066 | 55 151 | 17 | 0 | Actif | Gauche | Haut | | +| ----------- | ---- | ------ | --- | --- | ----- | ------ | ---- | --- | +Superchamp +| | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| SC_CONTROLE_DONNEES_CLIENTS_BATIGES | | 12 | 116 | 1256 | 560 | 0 | Actif | | +| ----------------------------------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +| SC_LOCALISATION_BATIGEST | | 293 | 12 | 973 | 98 | 0 | Actif | | +| SC_LOCALISATION_SERVICE_BATIGEST | | 12 | 12 | 269 | 96 | 0 | Actif | | +Superchamp : FI_Parametrage_Batigest.SC_CONTROLE_DONNEES_CLIENTS_BATIGEST +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_BORDURE_DROITE_MENU1 | 13 | 329 1254 | 5 | 0 | Actif | Gauche | Haut | | +| ------------------------ | --- | -------- | --- | --- | -------- | ------ | ---- | --- | +| LIB_CONTROLE | 43 | 128 1071 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_Commentaires | 18 | 153 1248 | 45 | 0 | affichag | Gauche | Haut | | +Bouton +notuob epyT +| | | | | | | laitini tatE | BAT ehcuoT | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | --- | +| | X noitisoP | Y noitisoP | | | | | | | +| | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_IMPORT_CLIENT | 1184 | 123 | 24 | 24 | 0 | Actif | | Normal | +| ----------------- | ---- | --- | --- | --- | --- | ----- | --- | ------ | +BTN_Verification_Config_Batigest 1154 123 24 24 0 Actif Normal +| 06/08/2026 | | | Isis_BO | | | | | 4667 | +| ---------- | --- | --- | ------- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +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 | | | | | | | +| --- | ---------- | ---------- | ------- | ------------ | --- | -------- | --- | --- | --- | --- | +| | | | ruetuaH | | | sruocraP | | | | | +ruegraL +elbisiV +| | | | nalP | | elbaT | | | | | | +| ----------------- | --- | -------- | ----- | -------- | ------ | --- | --- | --- | --- | --- | +| TABLE_CHANTIERDEF | 13 | 340 1254 | 323 0 | affichag | Mémoir | | | | | 0 | +| TABLE_CLIENTDEF | 13 | 204 1254 | 119 0 | affichag | Mémoir | | | | | 0 | +Jauge +| | | | | | | | BAT ehcuoT | | | euqirtémyS | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | -------- | ---------- | ---------- | +| | | | | | | laitini tatE | | | .nim enroB | .xam enroB | +| | | X noitisoP | Y noitisoP | | | | | | | | +| | | | ruegraL | ruetuaH | | | | lacitreV | | | +elbisiV +nalP +| JAUGE_Jauge | | 749 | 128 197 | 14 | 0 | Actif | | | 0 | 100 | +| ----------- | --- | --- | ------- | --- | --- | ----- | --- | --- | --- | --- | +Table : +FI_Parametrage_Batigest.SC_CONTROLE_DONNEES_CLIENTS_BATIGEST.TABLE_CHANTIE +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +| | | | | ehcuag à eéxiF | | | .zroh egardaC | | | | +| --- | --- | --- | --- | -------------- | --- | --- | ------------- | --- | --- | --- | +.trev egardaC +| | | | | elbaçalpéD | | | | eisias epyT | FTR tamroF | eisias cevA | +| --- | --- | --- | ------------ | ---------- | --- | --- | --- | ----------- | ---------- | ----------- | +| | | | laitini tatE | | | | | | engilitluM | | +ruegraL elbisiV +| | | epyT | | | | | | | | eéirT | +| ----------- | --- | ---- | ----- | --- | --- | ------ | ------ | ----- | --- | ----- | +| COL_Code | | 100 | Actif | | | Gauche | Centre | Texte | | | +| COL_Libelle | | 100 | Actif | | | Gauche | Centre | Texte | | | +| COL_CodeC | | 100 | Actif | | | Gauche | Centre | Texte | | | +| COL_Nom | | 308 | Actif | | | Gauche | Centre | Texte | | | +| COL_Adresse | | 345 | Actif | | | Gauche | Centre | Texte | | | +| COL_CP | | 67 | Actif | | | Gauche | Centre | Texte | | | +| COL_Ville | | 100 | Actif | | | Gauche | Centre | Texte | | | +Table : +FI_Parametrage_Batigest.SC_CONTROLE_DONNEES_CLIENTS_BATIGEST.TABLE_CLIENTD +| 06/08/2026 | | | | | Isis_BO | | | | | 4668 | +| ---------- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +| | | | | ehcuag à eéxiF | .zroh egardaC | .trev egardaC | | | | +| --- | --- | --- | ------------ | -------------- | ------------- | ------------- | ----------- | ---------- | ----------- | +| | | | laitini tatE | elbaçalpéD | | | eisias epyT | FTR tamroF | eisias cevA | +engilitluM +ruegraL +elbisiV +| | epyT | | | | | | | | eéirT | +| ----------- | ---- | --- | ----- | --- | ------ | ------ | ----- | --- | ----- | +| COL_Code | | 100 | Actif | | Gauche | Centre | Texte | | | +| COL_Nom | | 208 | Actif | | Gauche | Centre | Texte | | | +| COL_Contact | | 208 | Actif | | Gauche | Centre | Texte | | | +| COL_Adresse | | 236 | Actif | | Gauche | Centre | Texte | | | +| COL_CP | | 67 | Actif | | Gauche | Centre | Texte | | | +| COL_Ville | | 101 | Actif | | Gauche | Centre | Texte | | | +| COL_Pays | | 79 | Actif | | Gauche | Centre | Texte | | | +| COL_Tel | | 121 | Actif | | Gauche | Centre | Texte | | | +Superchamp : FI_Parametrage_Batigest.SC_LOCALISATION_BATIGEST +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_Base | 320 | 73 606 21 | 0 | Actif | Texte | Non | | | | +| -------------------- | --- | --------- | --- | ----- | ----- | --- | --- | --- | --- | +| SAI_Dossier_Batigest | 859 | 73 200 21 | 0 | Actif | Texte | Non | | | | +SAI_MDP_BATIGEST_C +| | 714 | 73 132 21 | 0 | Actif | Texte | Non | | | | +| ------------------ | --- | --------- | --- | ----- | ----- | --- | --- | --- | --- | +| SAI_SERVEUR_BATIGE | 321 | 73 225 21 | 0 | Actif | Texte | Non | | | | +SAI_USER_BATIGEST_ +| | 557 | 73 144 21 | 0 | Actif | Texte | Non | | | | +| --- | --- | --------- | --- | ----- | ----- | --- | --- | --- | --- | +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_ASSOCIATION_BATIGEST | | 320 | 23 | 119 14 | 0 | Actif | Gauche | Haut | | +| -------------------------- | --- | --- | --- | ------- | --- | ----- | ------ | ---- | ---- | +| LIB_BDD | | 320 | 53 | 200 14 | 0 | Actif | Gauche | Haut | | +| LIB_Dossier | | 859 | 55 | 200 17 | 0 | Actif | Gauche | Haut | | +| LIB_MDP_BATIGEST_CONNECT | | 714 | 55 | 132 17 | 0 | Actif | Gauche | Haut | | +| LIB_SERVEUR_BATIGEST_CONNE | | 320 | 55 | 200 17 | 0 | Actif | Gauche | Haut | | +| LIB_Societe_Batigest | | 859 | 92 | 200 17 | 0 | Actif | Gauche | Haut | | +| LIB_USER_BATIGEST_CONNECT | | 557 | 55 | 144 17 | 0 | Actif | Gauche | Haut | | +| 06/08/2026 | | | | Isis_BO | | | | | 4669 | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Bouton +notuob epyT +| | | | | | | | laitini tatE BAT ehcuoT | | +| --- | --- | --------------------- | ------- | ------- | --- | --- | ----------------------- | --- | +| | | X noitisoP Y noitisoP | | | | | | | +| | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_ADD_BDD_BATIGEST | | 1093 | 18 24 | 24 | 0 | Actif | | Normal | +| ----------------------------- | --- | ---- | ----- | --- | --- | ----- | --- | ------ | +| BTN_ChercheBase | | 931 | 71 24 | 24 | 0 | Actif | | Normal | +| BTN_PREC | | 1030 | 18 24 | 24 | 0 | Actif | | Normal | +| BTN_SUIV | | 1060 | 18 24 | 24 | 0 | Actif | | Normal | +| BTN_Supprimer_Config_Batigest | | 1167 | 18 24 | 24 | 0 | Actif | | Normal | +| BTN_VAL_CLIENT | | 1130 | 18 24 | 24 | 0 | Actif | | Normal | +Sélecteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | laitini tatE | BAT ehcuoT | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | ---------- | ----------- | +| | | X noitisoP Y noitisoP | | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| SEL_FORMULE_BATIGEST | | 445 21 | 202 | 28 | 0 Actif | | | 2 | +| -------------------- | --- | ------ | --- | --- | ------- | --- | --- | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | laitini tatE | | sucof cevA | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --------- | ---------- | +| | | X noitisoP Y noitisoP | | | | | | | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_COLLAB | | 300 22 | 16 | 16 | 0 | Actif | | | +| ---------- | --- | ------ | --- | --- | --- | ----- | --- | --- | +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 | | | +| COMBO_Societe | 1066 | 72 194 22 | 0 | Actif | Variable | | Non | | +| 06/08/2026 | | | Isis_BO | | | | | 4670 | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Superchamp : FI_Parametrage_Batigest.SC_LOCALISATION_SERVICE_BATIGEST +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_Adresse_Service_ | 32 | 73 176 | 21 | 0 | Actif | | Texte | | Non | | | | | +| --------------------- | --- | ------ | --- | --- | ----- | --- | ------ | --- | --- | --- | --- | --- | --- | +| SAI_Port_Service_Bati | 214 | 73 38 | 21 | 0 | Actif | | Numéri | | Non | | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | --- | +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_AdresseBG | | 32 | | 53 | 176 | 14 | 0 | | Actif | Gauche | Haut | | | +| -------------------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | --- | +| LIB_Localisation_ServiceBG | | 39 | | 22 | 159 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_PortService | | 214 | | 53 | 38 | 14 | 0 | | Actif | Gauche | Haut | | | +Bouton +| | | | | | | | | | | | BAT ehcuoT | notuob epyT | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | --- | +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | | | | | | +| --- | --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | +| | | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_Valider_Service_Batigest | | | 194 | | 17 | 24 | 24 | | 0 | Actif | | Normal | | +| ---------------------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | | | | | laitini tatE | | | sucof cevA | +| --- | --- | --- | ---------- | ---------- | ------- | --- | ------- | --- | --- | ------------ | --------- | --- | ---------- | +| | | | X noitisoP | Y noitisoP | | | | | | | | | | +| | | | | | ruegraL | | ruetuaH | | | | cilc cevA | | | +elbisiV +nalP +| IMG_COLLAB | | | 19 | 21 | | 16 | 16 | 0 | | Actif | | | | +| ---------- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | ----- | --- | --- | ---- | +| 06/08/2026 | | | | | | Isis_BO | | | | | | | 4671 | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Fenêtre : FI_Parametrage_Batigest +Fenêtre interne : FI_Parametrage_Batigest +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Parametrage_Batigest +Libellé : FI_Parametrage_Batigest.LIB_SOCIETE +Libellé FR: Société de rattachement +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 +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 +Unicode Non +Transforme le & Non +06/08/2026 Isis_BO 4672 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › 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 +Mise à blanc Oui +Texte Markdown Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Parametrage_Batigest.SC_CONTROLE_DONNEES_CLIENTS_BATIGEST +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 1254 +Hauteur externe 558 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Parametrage_Batigest.SC_LOCALISATION_BATIGEST +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 971 +Hauteur externe 96 +06/08/2026 Isis_BO 4673 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Parametrage_Batigest.SC_LOCALISATION_SERVICE_BATIGEST +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 267 +Hauteur externe 94 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4674 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Superchamp : FI_Parametrage_Batigest.SC_CONTROLE_DONNEES_CLIENTS_BATIGEST +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\import_client_batigest.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4675 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4676 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Jauge : +Libellé FR: Jauge +Valeur initiale 0 +Ordre navigation -1 +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 +Cadrage horz. Gauche +Cadrage vert. Haut +Position X interne 749 +Largeur interne 195 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Afficher le pourcentage Non +Mode LCD Non +Animée par défaut Non +Type jauge Jauge linéaire +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Mise à blanc Non +Texte Markdown Non +Image fixe Oui +Mode 9 images Non +Mode 9 images (image) Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +06/08/2026 Isis_BO 4677 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse A la fin +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 Largeur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Contrôle +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 +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 +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 +06/08/2026 Isis_BO 4678 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Commentaires +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : +Libellé FR: Table +Ordre navigation 4 +Curseur survol 0 +Mode Loupe Filtre +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Isis_BO 4679 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Hauteur ligne max. 0 +Hauteur ligne (sans marges) 18 +Marge en haut 0 +Marge en bas 0 +Marge à gauche 1 +Marge à droite 3 +Sens Vertical +Retrait gauche 2 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Ajout/Suppr. dans variable Non +Synchro HFSQL C/S Jamais +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur et hauteur +06/08/2026 Isis_BO 4680 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : +Libellé FR: Table +Ordre navigation 3 +Curseur survol 0 +Mode Loupe Filtre +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 0 +Marge en bas 0 +Marge à gauche 1 +Marge à droite 3 +Sens Vertical +Retrait gauche 2 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 4681 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Compteur FR: Compteur +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Ajout/Suppr. dans variable Non +Synchro HFSQL C/S Jamais +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : +FI_Parametrage_Batigest.SC_CONTROLE_DONNEES_CLIENTS_BATIGEST.TABLE_CHANTIE +Colonne de table : +Titre FR: Code +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 +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 +06/08/2026 Isis_BO 4682 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Libelle +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Code Client +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 +06/08/2026 Isis_BO 4683 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4684 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Colonne de table : +Titre FR: Adresse +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 340 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: CP +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 +06/08/2026 Isis_BO 4685 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Ville +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4686 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Table : +FI_Parametrage_Batigest.SC_CONTROLE_DONNEES_CLIENTS_BATIGEST.TABLE_CLIENTD +Colonne de table : +Titre FR: Code +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +06/08/2026 Isis_BO 4687 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Contact +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4688 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Colonne de table : +Titre FR: Adresse +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 340 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: CP +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 +06/08/2026 Isis_BO 4689 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Ville +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4690 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Colonne de table : +Titre FR: Pays +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Tel +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 +06/08/2026 Isis_BO 4691 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Superchamp : FI_Parametrage_Batigest.SC_LOCALISATION_BATIGEST +Bouton : +Groupe GR_MODEOPAQUE_FICHE_CLIENT +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +06/08/2026 Isis_BO 4692 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +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 : FI_Parametrage_Batigest.SC_LOCALISATION_BATIGEST.BTN_ChercheBase +Libellé FR: &Bouton +Groupe GR_BATIGEST_CLASSIQUE +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_ouvrir_dossier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +06/08/2026 Isis_BO 4693 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : FI_Parametrage_Batigest.SC_LOCALISATION_BATIGEST.BTN_PREC +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_A_Gauche.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4694 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Bouton : FI_Parametrage_Batigest.SC_LOCALISATION_BATIGEST.BTN_SUIV +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_A_Droite.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4695 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Bouton : +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4696 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Bouton : FI_Parametrage_Batigest.SC_LOCALISATION_BATIGEST.BTN_VAL_CLIENT +Groupe GR_BATIGEST_CONNECT +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4697 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Combo : FI_Parametrage_Batigest.SC_LOCALISATION_BATIGEST.COMBO_Societe +Libellé FR: &Société +Groupe GR_CADENAS_INTERV +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 194 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 1066 +Largeur interne 194 +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 +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 +06/08/2026 Isis_BO 4698 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Liaison des données :gclBaseExterne.m_nIDSociete +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeSociete.m_clTabModele +Rub. affichée :gpclListeSociete.m_clTabModele.m_sNom +Rub. mémorisée :gpclListeSociete.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Parametrage_Batigest.SC_LOCALISATION_BATIGEST.IMG_COLLAB +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_COLLAB.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +06/08/2026 Isis_BO 4699 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Application Batigest +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage_Batigest.SC_LOCALISATION_BATIGEST.LIB_BDD +Libellé FR: Chemin de la base de données +Groupe GR_BATIGEST_CLASSIQUE +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 4700 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage_Batigest.SC_LOCALISATION_BATIGEST.LIB_Dossier +Libellé FR: Dossier Batigest +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 +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 +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 +06/08/2026 Isis_BO 4701 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Mot de passe Batigest +Groupe GR_BATIGEST_CONNECT +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Serveur Batigest +Groupe GR_BATIGEST_CONNECT +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 +06/08/2026 Isis_BO 4702 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Ancrage au contenu +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage_Batigest.SC_LOCALISATION_BATIGEST.LIB_Societe_Batigest +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 +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 +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 +06/08/2026 Isis_BO 4703 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Utilisateur Batigest +Groupe GR_BATIGEST_CONNECT +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4704 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Champ de saisie : FI_Parametrage_Batigest.SC_LOCALISATION_BATIGEST.SAI_Base +Libellé FR: Base +Groupe GR_BATIGEST_CLASSIQUE +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 320 +Largeur interne 606 +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 +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 +06/08/2026 Isis_BO 4705 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Dossier Batigest +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 859 +Largeur interne 200 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Isis_BO 4706 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › 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 +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. +Liaison des données :gclBaseExterne.m_sNom +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4707 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Champ de saisie : +Libellé FR: Base +Valeur initiale FR: localhost +Groupe GR_BATIGEST_CONNECT +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 714 +Largeur interne 132 +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 +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 +06/08/2026 Isis_BO 4708 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Base +Valeur initiale FR: localhost +Groupe GR_BATIGEST_CONNECT +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 321 +Largeur interne 225 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 4709 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +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 +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. +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 +06/08/2026 Isis_BO 4710 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Base +Valeur initiale FR: USR_BTG +Groupe GR_BATIGEST_CONNECT +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 557 +Largeur interne 144 +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 +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 +06/08/2026 Isis_BO 4711 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Sélecteur : +Libellé FR: &Sélecteur +Valeur initiale 1 +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec ValeurRenvoyée Oui +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 4712 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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. +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Parametrage_Batigest.SC_LOCALISATION_SERVICE_BATIGEST +Bouton : +Ordre navigation 1 +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 +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 +06/08/2026 Isis_BO 4713 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +Image : FI_Parametrage_Batigest.SC_LOCALISATION_SERVICE_BATIGEST.IMG_COLLAB +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_COLLAB.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 4714 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Parametrage_Batigest.SC_LOCALISATION_SERVICE_BATIGEST.LIB_AdresseBG +Libellé FR: Adresse +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4715 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Libellé : +Libellé FR: Localisation du 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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Port +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 +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 +06/08/2026 Isis_BO 4716 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Base +Valeur initiale FR: localhost +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 32 +Largeur interne 176 +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 +06/08/2026 Isis_BO 4717 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4718 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Informations sur les champs +Champ de saisie : +Valeur initiale FR: 4000 +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 214 +Largeur interne 38 +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: +9999 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 4719 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_Parametrage_Batigest +Code des champs +Déclarations globales de FI_Parametrage_Batigest +procédure FI_Parametrage_Batigest() +gnIndiceBG est un entier =1 +clConnecteur est un C_ConnecteurBatigest +clBaseCourante est C_ConnecteurBddBatigest +InitialiseFenetre() +Fin d'initialisation de FI_Parametrage_Batigest +si gpclListeSociete:m_clTabModele..Occurrence = 0 alors +Erreur( +"Il faut définir une société dans la base de l'application avant de paramétrer ce connecteur.") +MaFenêtre..Etat=Grisé +sinon +SAI_Base = clBaseCourante.DossierBG +SEL_FORMULE_BATIGEST = ParametreLit(cParam_Connect,"0",Faux,"Indique s'il s'agit de la version +Connect de BATIGEST") +06/08/2026 Isis_BO 4720 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Code des champs +si SEL_FORMULE_BATIGEST=1 alors +GR_BATIGEST_CONNECT..Visible = Vrai +GR_BATIGEST_CLASSIQUE..Visible= Faux +SAI_SERVEUR_BATIGEST_CONNECT = clBaseCourante.sBG_Connect_Serveur=""? +"DESKTOP-HCOA08F\SAGEBAT" sinon clBaseCourante.sBG_Connect_Serveur +// ParametreLit(cParam_Connect_Srv,"DESKTOP-HCOA08F\SAGEBAT",Faux,"Machine où se trouve la base +SQLServer de BATIGEST +Connect") +SAI_USER_BATIGEST_CONNECT = clBaseCourante.sBG_Connect_Utilisateur=""? "USR_BTG" sinon +clBaseCourante.sBG_Connect_Utilisateur +//ParametreLit(cParam_Connect_User,"USR_BTG",Faux,"Utilisateur de connexion à la base SQLServer +de BATIGEST +Connect") +SAI_MDP_BATIGEST_CONNECT = clBaseCourante.sBG_Connect_MotDePasse +//ParametreLit(cParam_Connect_Mdp,"",Faux,"Mot de passe de connexion à la base SQLServer de +BATIGEST +Connect") +SAI_Dossier_Batigest = clBaseCourante.suBG_Dossier +//ParametreLit(cParam_Connect_BDD,"",Faux,"Nom de la base de données sur SQL Server +de BATIGEST Connect") +COMBO_Societe = gclBaseExterne.m_nIDSociete +BTN_ADD_BDD_BATIGEST..Visible = gtaBaseExterneParIndice..Occurrence>0 _et_ clBaseCourante: +sBG_GUID>0 +BTN_PREC..Visible = gnIndiceBG>1 +BTN_SUIV..Visible = gnIndiceBG v.Code alors +//Est-ce que le code client précédent contient déjà un élément +si sCodeClientRupt<>"" alors +clErreur est un CErreur +//Récupère la fiche client correspondant au code client précédent +pclFicheClient <- tabListeClient[sCodeClientRupt] +//Est-ce que l'enregistrement en base de données est validé +si pclFicheClient.bOK(clErreur) alors +pclFicheClient.p_clCourant.bEnregistrer(clErreur) +TraiteContactPrincipalClient(clErreur,pclFicheClient,sMessage) +TraiteSiteClient(clErreur,pclFicheClient,sMessage) +clClientBddExterne est un MClient_BddExterne +clClientBddExterne.m_dhDateSynchro= DateHeureSys() +clClientBddExterne.m_nIDCLient = pclFicheClient.m_nPKID +clClientBddExterne.m_sIDExterne = sCodeClientRupt +clClientBddExterne.m_nIDBddExterne= gtaBaseExterneParNom[SAI_ +Dossier_Batigest]:m_nPKID//gclBaseExterne:m_nPKID +si pas clClientBddExterne.bEnregistrer(clErreur) alors +Erreur(clErreur.FormateMessage()) +fin +sinon +Erreur(clErreur.FormateMessage()) +fin +fin +sCodeClientRupt = v.Code +pclFicheClient = PFicheClient.gNouvellePresentation() +PFicheClient.gListeAdresses(pclFicheClient) +PFicheClient.gListeContacts(pclFicheClient) +PFicheClient.gListeLieu(pclFicheClient) +pclFicheClient.m_sNom = v.Nom +pclFicheClient.m_sCodeClient = v.Code +pclFicheClient.m_sIDImport = v.Code +pclFicheClient.m_nIDType = v.Statut="E" ? gpclListeTypeClient. +RechercheEtDonneIdDepuisValeur("1") sinon v.Statut="P" ? gpclListeTypeClient. +RechercheEtDonneIdDepuisValeur("2") sinon v.Statut="A" ? gpclListeTypeClient. +RechercheEtDonneIdDepuisValeur("5") sinon gpclListeTypeClient. +RechercheEtDonneIdDepuisValeur("0") +pclFicheClient.m_nIDStatut = v.Type="C" ? gpclListeStatutClient. +RechercheEtDonneIdDepuisValeur("1") sinon v.Type="P" ? gpclListeStatutClient. +RechercheEtDonneIdDepuisValeur("2") sinon v.Type="T" ? gpclListeStatutClient. +06/08/2026 Isis_BO 4723 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Code des champs +RechercheEtDonneIdDepuisValeur("3") sinon gpclListeStatutClient.RechercheEtDonneIdDepuisValeur("0") +pclFicheClient.m_sCodeComptable = v.Compte +pclFicheClient.m_bBlocageCciale = v.CompteBloque +pclFicheClient.m_nIDApporteur = v.parqui<>"" ? gpclListeApporteurClient. +RechercheEtDonneIdDepuisLibelle(v.parqui) sinon gpclListeApporteurClient. +RechercheEtDonneIdDepuisValeur("10") +pclFicheClient.m_nIDOrigine = v.Comment<>"" ? gpclListeOrigineClient. +RechercheEtDonneIdDepuisLibelle(v.Comment) sinon gpclListeOrigineClient. +RechercheEtDonneIdDepuisValeur("10") +pclFicheClient.m_sFormeJuridique= v.Statut="P" ? "" sinon v.Civilite +si v.Statut="P" _et_ v.NumAdr=v.Num alors +pclFicheClient.m_sTel = v.Tel +pclFicheClient.m_sFax = v.Fax +pclFicheClient.m_sEmail = v.email +fin +GestionAdresseEtContact(v,pclFicheClient) +tabListeClient[v.Code] = pclFicheClient +sinon +pclFicheClient <- tabListeClient[v.Code] +GestionAdresseEtContact(v,pclFicheClient) +fin +fin +si nCptLigne=nTotLigne alors +sCodeClientRupt = v.Code +fin +fin +fin +clErreur est un CErreur +pclFicheClient est un PFicheClient dynamique +pclFicheClient <- tabListeClient[sCodeClientRupt] +si pas HLitRecherchePremier(Client_BddExterne,Client_BddExterne.CLX_IDExterne,sCodeClientRupt) +_et_ pclFicheClient.m_bNouveau _et_ pclFicheClient.bOK(clErreur) alors +pclFicheClient.p_clCourant.bEnregistrer(clErreur) +TraiteContactPrincipalClient(clErreur,pclFicheClient,sMessage) +TraiteSiteClient(clErreur,pclFicheClient,sMessage) +clClientBddExterne est un MClient_BddExterne +clClientBddExterne.m_dhDateSynchro= DateHeureSys() +clClientBddExterne.m_nIDCLient = pclFicheClient.m_nPKID +clClientBddExterne.m_sIDExterne = sCodeClientRupt +clClientBddExterne.m_nIDBddExterne= gtaBaseExterneParNom[SAI_Dossier_Batigest].m_nPKID +//gclBaseExterne:m_nPKID +si pas clClientBddExterne.bEnregistrer(clErreur) alors +Erreur(clErreur.FormateMessage()) +fin +sinon +Erreur(clErreur.FormateMessage()) +fin +faire +Erreur(ExceptionInfo(errComplet)) +fin +si sMessage<>"" alors +TraceDébut(trFichier,ComplèteRep(fRepGlobalCommun)+RepertoireIni+["\"] +"Logs_"+Utilisateur. +UT_Login+"_" + DateHeureSys() + ".txt") +Trace(sMessage) +fin +clConnecteur:FermeConnexion() +fin +procédure interne GestionAdresseEtContact(v,pclFicheCli est un PFicheClient dynamique) +06/08/2026 Isis_BO 4724 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Code des champs +nIndiceLieu est un entier +si v.Adr<>"" _et_ v.CP<>"" _et_ v.Ville<>"" alors +nIndice est un entier +| nTaille2 | | | est un entier | = Taille(v.SuiteAdr) | | +| -------- | --- | --- | ------------- | -------------------- | --- | +si v.Num=v.NumAdrFact alors +//Création d'une nouvelle fiche adresse +| | clClient_Adresse | | est un MClient_Adresse() | | | +| --- | --------------------------------- | --- | ------------------------ | --- | --- | +| | clClient_Adresse:m_nIDTypeAdresse | | = gpclListeTypeAdresse. | | | +RechercheEtDonneIdDepuisValeur("2") +//SINON gpclListeTypeAdresse.RechercheEtDonneIdDepuisValeur("0") +| | clClient_Adresse:m_clAdresse:m_sEtiquette | | = v.Libelle | | | +| --- | ----------------------------------------- | --- | ----------- | --- | --- | +clClient_Adresse:m_clAdresse:m_sLigne_4 = v.Adr +clClient_Adresse:m_clAdresse:m_sLigne_5 = nTaille2>38 ? Gauche(v.SuiteAdr,38) sinon + v.SuiteAdr +clClient_Adresse:m_clAdresse:m_sLigne_2 = nTaille2>38 ? Milieu(v.SuiteAdr,38, +nTaille2-38) sinon "" +| | clClient_Adresse:m_clAdresse:m_sCodePostal | | = v.CP | | | +| --- | ------------------------------------------ | --- | ----------------------------------------- | --- | --- | +| | clClient_Adresse:m_clAdresse:m_sVille | | = v.Ville | | | +| | nIndice | | = TableauAjoute(pclFicheCli:ListeAdresse: | | | +m_clTabModele,clClient_Adresse) +//Variable de type d'une fiche client_lieu +//pclFicheClientLieu est un PFicheClient_Lieu dynamique +//Instanciation d'une fiche client lieu +//pclFicheClientLieu <- pclFicheCli.ListeLieu.Nouveau(Vrai,pclFicheCli:IdentifiantUnique) +clClientLieu est un MClient_Lieu +//pclFicheClientLieu est un PFicheClient_Lieu dynamique += PFicheClient_Lieu.gNouvellePresentation() +clClientLieu:m_clLieu:m_sCodeLieu = v.Nom+"-"+v.code+"-"+v.Num +//+"-"+pclFicheCli:ListeAdresse.m_clTabModele[nIndice]:m_clAdresse:m_sLigne_4 +| | clClientLieu:m_clLieu.m_sIDImport | | = v.code+"-"+v.Num | | | +| --- | --------------------------------- | --- | ------------------ | --- | --- | +| | clClientLieu:m_bLieuPrincipalCli | | = v.NumAdr=v.Num | | | +clClientLieu:m_clLieu:m_clAdresse <= pclFicheCli:ListeAdresse.m_clTabModele[nIndice]: +m_clAdresse +| | nIndiceLieu | | = TableauAjoute(pclFicheCli:ListeLieu: | | | +| --- | ----------- | --- | -------------------------------------- | --- | --- | +m_clTabModele,clClientLieu) +//pclFicheCli:ListeLieu:m_clTabModele[nIndiceLieu] = pclFicheClientLieu +si nIndice>1 _et_ v.NumAdr=v.Num alors +TableauDéplace(pclFicheCli:ListeAdresse:m_clTabModele,nIndice,1,tdDéplace) +fin +sinon +clClientLieu est un MClient_Lieu +clClientLieu:m_clLieu:m_sCodeLieu = v.Nom+"-"+v.code+"-"+v.Num +//+"-"+v.Adr +| | clClientLieu:m_clLieu.m_sIDImport | | = v.code+"-"+v.Num | | | +| --- | ---------------------------------------------- | --- | ------------------ | --- | --- | +| | clClientLieu:m_clLieu:m_clAdresse:m_sEtiquette | | = v.Libelle | | | +| | clClientLieu:m_clLieu:m_clAdresse:m_sLigne_4 | | = v.Adr | | | +clClientLieu:m_clLieu:m_clAdresse:m_sLigne_5 = nTaille2>38 ? Gauche(v.SuiteAdr,38) +sinon v.SuiteAdr +clClientLieu:m_clLieu:m_clAdresse:m_sLigne_2 = nTaille2>38 ? Milieu(v.SuiteAdr,38, +nTaille2-38) sinon "" +| | clClientLieu:m_clLieu:m_clAdresse:m_sCodePostal | | = v.CP | | | +| --- | ----------------------------------------------- | --- | --------- | ---------------------------- | --- | +| | clClientLieu:m_clLieu:m_clAdresse:m_sVille | | = v.Ville | | | +| | nIndiceLieu | | | = TableauAjoute(pclFicheCli: | | +ListeLieu:m_clTabModele,clClientLieu) +pclFicheCli:ListeLieu:m_clTabModele[nIndiceLieu]:m_bLieuPrincipalCli = (v.Num=v.Numadr) +fin +fin +//Client Particulier qui donne lieu à la création du contact principal +| 06/08/2026 | | | Isis_BO | | 4725 | +| ---------- | --- | --- | ------- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Code des champs +si v.Statut="P" _et_ v.NumAdr=v.Num alors +clContact est MPersonne +clContact.m_bContactPrincipalCli = Vrai +clContact.m_nIDCivilite = v.Civilite="Monsieur" ? gpclListeCivilite. +RechercheEtDonneIdDepuisValeur("1") sinon v.Civilite="Madame" ? gpclListeCivilite. +RechercheEtDonneIdDepuisValeur("2") sinon v.Civilite="Mr & Mme" ? gpclListeCivilite. +RechercheEtDonneIdDepuisValeur("3") sinon gpclListeCivilite.RechercheEtDonneIdDepuisValeur("0") +clContact.m_sNom = ExtraitChaîne(v.Nom,1," ") +clContact.m_sPrenom = ExtraitChaîne(v.Nom,2," ") +clContact.m_sTelFixe = v.Tel +clContact.m_sTelMobile = v.Portable +clContact.m_sFax = v.Fax +clContact.m_sEmail = v.email +TableauAjoute(pclFicheCli:ListeContact:m_clTabModele,clContact) +fin +si v.Interloc<>"" alors +clContact est MPersonne +clContact.m_bContactPrincipalCli = v.Statut="P" ? Faux sinon v.NumAdr=v.Num ? Vrai +sinon Faux +clContact.m_sNom = v.Interloc +clContact.m_sTelFixe = v.Tel +clContact.m_sTelMobile = v.Portable +clContact.m_sFax = v.Fax +clContact.m_sEmail = v.email +si v.Num=v.NumAdrFact alors +nIndice est un entier = TableauAjoute(pclFicheCli:ListeContact: +m_clTabModele,clContact) +sinon si nIndiceLieu>0 _et_ v.Adr<>"" _et_ v.CP<>"" _et_ v.Ville<>"" alors +clContact.m_sIDImport = v.code+"-"+v.Num +nIndice est un entier = TableauAjoute(pclFicheCli:ListeContact: +m_clTabModele,clContact) +// clLieuPersonne est un MLieu_Personne +// clLieuPersonne:m_clContact = clContact +// pclFicheClientLieu +est un PFicheClient_Lieu(pclFicheCli.ListeLieu:m_clTabModele[pclFicheCli:ListeLieu:p_nTotal]) +// clFicheLieu est un PFicheLieu (pclFicheClientLieu:m_clLieu) +// //PFicheLieu.gListeContact(clFicheLieu) +// +nIndiceLP est un entier = TableauAjoute(clFicheLieu:ListeContact:m_clTabModele,clLieuPersonne) +fin +fin +si v.Num=v.NumAdrFact _et_ v.Adr<>"" _et_ v.CP<>"" _et_ v.Ville<>"" alors +fin +fin +procédure interne TraiteContacSite(clErr est un CErreur,pclFicClient est un PFicheClient dynamique, +pclFicLieu est un PFicheLieu dynamique,sMSG est une chaîne) +bResultat est un booléen +//Retourne l'indice du lieu dans le tableau des lieux du client +nIndice est un entier = TableauCherche(pclFicClient.ListeContact.m_clTabModele, +tcLinéaire,"m_sIDImport",pclFicLieu.m_sIDImport,1) +si nIndice>0 alors +clFichePersonne est un PFichePersonne(pclFicClient.ListeContact.m_clTabModele[nIndice]) +si clFichePersonne.bOK(clErr) alors +//Instanciation d'une fiche contact à partir de l'enregistrement du tableau des contacts +clFicLieuPers est un MLieu_Personne +clFicheLieuContact est un PFicheLieu_Personne(clFicLieuPers) +clFicheLieuContact:m_nIDPersonne = clFichePersonne:m_nPKID +clFicheLieuContact:m_nIDLieu = pclFicLieu:m_nPKID +clFicheLieuContact:m_nIDRole = gpclListeRoleContact.RechercheEtDonneIdDepuisValeur( +06/08/2026 Isis_BO 4726 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Code des champs +"0") +// effectue la modification dans le fichier et en cas d'erreur annule la transaction +si clFicheLieuContact:bOK(clErr) alors +bResultat = Vrai +sinon +sMSG+=clFicheLieuContact:m_clLieu:m_sCodeLieu+"-"+clFicheLieuContact:m_clContact: +m_sNom+"-"+clErr.FormateMessage() +fin +sinon +sMSG+=clFichePersonne:m_sNom+"-"+clErr.FormateMessage() +fin +fin +// POUR j = 1 _À_ pclFicClient:ListeContact:p_nTotal +// //Retourne l'indice du lieu dans le tableau des lieux du client +// +nIndice est un entier = +TableauCherche(pclFicClient.ListeLieu.m_clTabModele,tcLinéaire,"m_sIDLieu",clMLieu.m_nPKID,1) +// //Instanciation d'une fiche contact à partir de l'enregistrement du tableau des contacts +// clFicheLieuContact est un PFicheLieu_Personne() +// +// clFichePersonne est un PFichePersonne(clFicheLieuContact:m_clContact) +// SI clFichePersonne.bOK(clErr) ALORS +// clFicheLieuContact:m_nIDPersonne = clFichePersonne:m_nPKID +// clFicheLieuContact:m_nIDLieu = pclFicLieu:m_nPKID +// clFicheLieuContact:m_nIDRole += gpclListeRoleContact.RechercheEtDonneIdDepuisValeur("0") +// +// +// // effectue la modification dans le fichier et en cas d'erreur annule la transaction +// SI clFicheLieuContact:bOK(clErr) ALORS +// bResultat = vrai +// SINON +// +sMSG+=clFicheLieuContact:m_clLieu:m_sCodeLieu+"-"+clFicheLieuContact:m_clContact:m_snom+"-"+clErr.Forma +teMessage() +// FIN +// SINON +// sMSG+=clFicheLieuContact:m_clContact:m_sNom+"-"+clErr.FormateMessage() +// FIN +// FIN +renvoyer bResultat +fin +procédure interne TraiteSiteClient(clErr est un CErreur,pclFicClient est un PFicheClient dynamique,sMSG +est une chaîne) +pour i = 1 _à_ pclFicClient.ListeLieu.p_nTotal +clFicheClientLieu est un PFicheClient_Lieu(pclFicClient.ListeLieu:m_clTabModele[i]) +clFicheClientLieu:m_nIDClient =pclFicClient:m_nPKID +clFicheLieu est un PFicheLieu (clFicheClientLieu:m_clLieu) +si clFicheLieu:bOK(clErr) alors +si PFicheClient.gListeLieu(pclFicClient,clFicheClientLieu:m_clLieu) alors +si clFicheLieu:ListeContact<>Null alors +si pas TraiteContacSite(clErr,pclFicClient,clFicheLieu,sMSG) alors +sMSG+=clErr.FormateMessage() +fin +fin +sinon +sMSG+= ChaîneConstruit("Erreur de l'ajout du lieu %1 au client %2",clFicheLieu: +m_sCodeLieu,pclFicClient:m_sIDImport) +fin +sinon +sMSG+=clFicheLieu:m_sCodeLieu+"-"+clErr.FormateMessage() +06/08/2026 Isis_BO 4727 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Code des champs +fin +fin +fin +procédure interne TraiteContactPrincipalClient(clErr est un CErreur,pclFicClient est un PFicheClient +dynamique,sMSG est une chaîne) +pour i = 1 _à_ pclFicClient.ListeContact.p_nTotal +si pclFicClient.ListeContact:m_clTabModele[i]:m_bContactPrincipalCli alors +pclFicClient.p_clCourant:m_nIDContactPrincipal = pclFicClient.ListeContact:m_clTabModele[i +]:m_nPKID +si pas pclFicClient.p_clCourant.bEnregistrer(clErr) alors +sMSG+=clErr.FormateMessage() +fin +break +fin +fin +fin +Clic sur BTN_Verification_Config_Batigest ( SC_CONTROLE_DONNEES_CLIENTS_BATIGEST ) +quand exception dans +si gtaBaseExterneParNom..Occurrence>0 alors retour//gclBaseExterne:m_nPKID=0 ALORS RETOUR +bOK est un booléen +saRep est une chaîne ANSI +(bOK,saRep)=clConnecteur:ConnectAuService() +si pas bOK alors +Erreur(saRep) +// +Erreur("Le Service associé au Connecteur BATIGEST ne répond pas","Vérifiez :"," - que le +service soit démarré"," - que le service soit installé sur cette machine") +retour +fin +bBGConnecte est un booléen = ParametreLit(cParam_Connect)="1"? Vrai sinon Faux +stBGConnect est un ST_BG_CONNECT +si SEL_FORMULE_BATIGEST=1 alors +stBGConnect.sBGCServeur = ParametreLit(cParam_Connect_Srv) +stBGConnect.sBGCUser = ParametreLit(cParam_Connect_User) +stBGConnect.sBGCMdP = ParametreLit(cParam_Connect_Mdp) +stBGConnect.sBGCBdd = ParametreLit(cParam_Connect_BDD) +fin +sRQ est une chaîne="SELECT TOP 50 * FROM ClientDef ORDER BY [Code] DESC;" //[Code],[Nom],Interloc, +Adr,CP,Ville,Pays,Tel +(bOK,saRep)= clConnecteur:RequeteExecute(sRQ,clBaseCourante:DossierBG,bBGConnecte,stBGConnect ) +si saRep="" alors +Erreur("Aucune données lues dans la base") +clConnecteur:FermeConnexion() +retour +fin +//Trace(saRep) +sdTest est un Variant +sdTest=JSONVersVariant(saRep) +TableSupprimeTout(TABLE_CLIENTDEF) +TableSupprimeTout(TABLE_CHANTIERDEF) +06/08/2026 Isis_BO 4728 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Code des champs +pour tout v de sdTest +TableAjouteLigne(TABLE_CLIENTDEF,v.Code, v.Nom,v.Interloc,v.Adr,v.CP,v.Ville,v.Pays,v.Tel) +fin +si TABLE_CLIENTDEF..Occurrence=0 alors +LIB_Commentaires="La table des clients est vide" +sinon +(bOK,saRep)= clConnecteur:RequeteExecute("SELECT Max(Val([Code])) AS MX FROM ClientDef;", +clBaseCourante:DossierBG,bBGConnecte,stBGConnect ) +si bOK alors +si saRep<>"" alors +sdTest=JSONVersVariant(saRep) +N est un entier = Val(sdTest[1].MX) +LIB_Commentaires = "Le plus grand code CLIENT numérique trouvé dans la base est : " + +N + ". Le prochain code sera donc : " + (N + 1) +fin +fin +fin +sRQ= +"SELECT ChantierDef.Code, ChantierDef.Libelle, ChantierDef.CodeClient, ChantierDef.NomClient, +ChantierDef.AdrChantier, ChantierDef.SuiteAdrChantier, ChantierDef.CPChantier, +ChantierDef.VilleChantier +FROM ChantierDef; " +(bOK,saRep)= clConnecteur:RequeteExecute(sRQ,clBaseCourante:DossierBG,bBGConnecte,stBGConnect ) +si saRep="" alors +Erreur("Aucune données de chantier lues dans la base") +clConnecteur:FermeConnexion() +retour +fin +//Trace(saRep) +sdTest=JSONVersVariant(saRep) +pour tout v de sdTest +TableAjouteLigne(TABLE_CHANTIERDEF,v.Code, v.Libelle, v.CodeClient, v.NomClient, v.AdrChantier ++ " " + v.SuiteAdrChantier, v.CPChantier, v.VilleChantier) +fin +si TABLE_CHANTIERDEF..Occurrence=0 alors +LIB_Commentaires+= RC + "La table des chantiers est vide." +sinon +(bOK,saRep)= clConnecteur:RequeteExecute("SELECT Max(Val([Code])) AS MX FROM ChantierDef;", +clBaseCourante:DossierBG,bBGConnecte,stBGConnect ) +si bOK alors +si saRep <>"" alors +sdTest=JSONVersVariant(saRep) +N est un entier = Val(sdTest[1].MX) +LIB_Commentaires += RC + +"Le plus grand code CHANTIER numérique trouvé dans la base est : " + N + +". Le prochain code sera donc : " + NumériqueVersChaîne( (N + 1) ,"08d") +fin +fin +fin +faire +Erreur(ExceptionInfo(errComplet)) +fin +06/08/2026 Isis_BO 4729 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Code des champs +clConnecteur:FermeConnexion() +//sRep est une chaîne = SAI_Base +// +//SI sRep="" ALORS +// Erreur("Indiquez un dossier Batigest !") +// RETOUR +//FIN +//SI PAS fRépertoireExiste(sRep) ALORS +// Erreur("Le Dossier est inaccessible ou inexistant !") +// RETOUR +//FIN +// +// +////sMsgErr est une chaîne ANSI +//clBase est un C_ConnexionBaseBatigest +// +//clBase <= clBaseCourante +// +// +//SI PAS clBase:OuvreBaseAccess() ALORS +// Erreur("L'ouverture de la base de données à échouée !",clBase:sMsgRetour) +//SINON +// SI PAS clBase:EstUneBaseBatigest() ALORS +// Erreur("Echec de la vérification",clBase:sMsgRetour) +// SINON +// SI PAS clBase:RecupereInfosBase() ALORS +// Erreur("Erreur de lecture de la base",clBase:sMsgRetour) +// SINON +// SI clBaseCourante:sBG_GUID<>"" ET clBaseCourante:sBG_GUID <> clBase:sBG_GUID ALORS +// Erreur("Cette base ne correspond pas à la base précédemment utilisée !") +// +// SINON +// SAI_Dossier_Batigest = clBase:sBG_Societe +// //Affichage des Clients pour contrôle. +// sdTest est une source de données +// +// sRQ est une chaîne="SELECT TOP 50 * FROM ClientDef ORDER BY Val([Code]) DESC;" +// //Contrôle de la présence des tables nécessaires dans le fichier mdb +// TableSupprimeTout(TABLE_CLIENTDEF) +// SI clBase:LitRequete(sRQ,sdTest) ALORS +// POUR TOUT sdTest +// +TableAjouteLigne(TABLE_CLIENTDEF,sdTest.Code, +sdTest.Nom,sdTest.Interloc,sdTest.Adr,sdTest.CP,sdTest.Ville,sdTest.Pays,sdTest.Tel) +// FIN +// SI TABLE_CLIENTDEF..Occurrence=0 ALORS +// LIB_Commentaires="La table des clients est vide" +// SINON +// +SI clBase:LitRequete("SELECT Max(Val([Code])) AS MX FROM ClientDef;",sdTest) ALORS +// SI HLitPremier(sdTest) ALORS +// N est un entier = val(sdTest.MX) +// +// +LIB_Commentaires = "Le plus grand code CLIENT numérique trouvé dans la base est : " + N + ". Le +prochain code sera donc : " + (N + 1) +// FIN +// +// FIN +// FIN +// +// +sRQ="SELECT ChantierDef.Code, ChantierDef.Libelle, ChantierDef.CodeClient, ChantierDef.NomClient, +ChantierDef.AdrChantier, ChantierDef.SuiteAdrChantier, ChantierDef.CPChantier, +ChantierDef.VilleChantier +06/08/2026 Isis_BO 4730 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Code des champs +FROM ChantierDef; " +| // SI clBase:LitRequete(sRQ,sdTest) ALORS | | | | | +| ----------------------------------------- | ----------------- | --- | --- | --- | +| // | POUR TOUT sdTest | | | | +// +TableAjouteLigne(TABLE_CHANTIERDEF,sdTest.Code, sdTest.Libelle, sdTest.CodeClient, sdTest.NomClient, +sdTest.AdrChantier + " " + sdTest.SuiteAdrChantier, sdTest.CPChantier, sdTest.VilleChantier) +| // | FIN | | | | +| ------------------------------------------- | --- | --- | --- | --- | +| // FIN | | | | | +| // SI TABLE_CHANTIERDEF..Occurrence=0 ALORS | | | | | +// LIB_Commentaires+= RC + "La table des chantiers est vide." +| // SINON | | | | | +| -------- | --- | --- | --- | --- | +// +SI clBase:LitRequete("SELECT Max(Val([Code])) AS MX FROM ChantierDef;",sdTest) ALORS +| // | SI HLitPremier(sdTest) ALORS | | | | +| --- | -------------------------------- | --- | --- | --- | +| // | N est un entier = val(sdTest.MX) | | | | +// +// +LIB_Commentaires += RC + "Le plus grand code CHANTIER numérique trouvé dans la base est : " + N + ". Le +prochain code sera donc : " + NumériqueVersChaîne( (N + 1) ,"08d") +| // | FIN | | | | +| --- | --- | --- | --- | --- | +// +| // | FIN | | | | +| ------ | --- | --- | --- | --- | +| // FIN | | | | | +// +// +// SINON +| // Info("Erreur lors de l'accès à la base Access. | | | | | +| ------------------------------------------------- | --- | --- | --- | --- | +" ,"L'erreur renvoyée est :" + RC ,HErreurInfo(hErrMessageSystème)) +// +// FIN +// HAnnuleDéclaration(sdTest) +// FIN +// FIN +// FIN +// clBase:FermeConnexion() +// +// +//FIN +Initialisation de JAUGE_Jauge ( SC_CONTROLE_DONNEES_CLIENTS_BATIGEST ) +// Version 1 +// Description +// JAUGE_Jauge linéaire simple horizontale +Initialisation de LIB_Commentaires ( SC_CONTROLE_DONNEES_CLIENTS_BATIGEST ) +MoiMême="" +Clic sur BTN_ADD_BDD_BATIGEST ( SC_LOCALISATION_BATIGEST ) +| gnIndiceBG | | | +=1 | | +| -------------- | --- | --- | ------------------------------------------ | --- | +| gclBaseExterne | | | = PFicheBddExterne.gNouvellePresentation() | | +| clBaseCourante | | | = allouer un C_ConnecteurBddBatigest | | +gtaBaseExterneParNom[gclBaseExterne.m_sNom] <- gclBaseExterne +gtaBaseExterneParSoc[gclBaseExterne.m_nIDSociete] <- gclBaseExterne +| gtaBaseExterneParIndice[gnIndiceBG] | | | <- gclBaseExterne | | +| ----------------------------------- | --- | --- | ----------------- | --- | +| BTN_PREC..Visible | | | = gnIndiceBG>1 | | +BTN_SUIV..Visible = gnIndiceBG"" et clBaseCourante:sBG_GUID<>stB.saGuidBG alors +Erreur("Attention !", +"Cette base ne correspond pas à celle avec laquelle une liaison est déjà établie.", +"En poursuivant vous allez corrompre l'intégrité des données.", +"Vous devez tout d'abord Délier les deux bases.") +retour +fin +//Base validée +Info("Connexion réussie à la base : " + stB.saSociete) +//clBaseCourante.nPKID = gpclListeSociete:m_clTabModele[1]:m_nPKID +//clBaseCourante.sSociete = gpclListeSociete:m_clTabModele[1]:m_sNom +clBaseCourante.nCliModNum = 1 +clBaseCourante.sCliPrefix = "" +clBaseCourante.sBG_Societe = stB.saSociete +clBaseCourante.DossierBG = suRepBG +clBaseCourante:sBG_GUID = stB.saGuidBG +SAI_Dossier_Batigest = clBaseCourante:sBG_Societe +SAI_Base = suRepBG +clErr est un CErreur +//gclBaseExterne:m_sParam = clBaseCourante:DonneParam() +//gclBaseExterne:m_bNouveau = gclBaseExterne:m_nPKID=0 +06/08/2026 Isis_BO 4732 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Code des champs +gtaBaseExterneParNom[suRepBG].m_sParam = clBaseCourante:DonneParam() +si pas gclBaseExterne:bOK(clErr) alors +Erreur(clErr:FormateMessage()) +fin +//sTitre est une chaîne = "Dossier Batigest" +//sRepBG est une chaîne = fRepSélecteur("", sTitre, "") +// +//si sRepBG="" alors retour +// +////sMsgErr est une chaîne +// +//clNewBase est C_ConnexionBaseBatigest +// +//clNewBase:Dossier = sRepBG +// +//si clNewBase:OuvreBaseAccess() alors +// si clNewBase:EstUneBaseBatigest() alors +// si pas clNewBase:RecupereInfosBase() alors +// Erreur("Erreur de lecture de la base",clNewBase:sMsgRetour) +// retour +// fin +// si clBaseCourante:sBG_GUID<>"" ET clBaseCourante:sBG_GUID<>clNewBase:sBG_GUID alors +// +si pas ouinon(non,"Attention !","Cette base ne correspond pas à celle avec laquelle une liaison est +déjà établie.","En poursuivant vous allez corrompre l'intégrité des données.","Voulez vous continuer +tout de même ?") ALORS +// retour +// SINON +// //Il insiste le bougre... +// // C'est içi qu'il faut mémoriser cette action +// +// Il faut aussi proposer de vider la table Client_Ext car les codes ne sont surement plus valables +// FIN +// FIN +// SAI_Dossier_Batigest = clNewBase:sBG_Societe +// SAI_Base = sRepBG +// clNewBase.Dossier = sRepBG +// clNewBase.nPKID = gpclListeSociete:m_clTabModele[1]:m_nPKID +// clNewBase.nCliModNum = 1 +// clNewBase.sCliPrefix = "" +// clNewBase.sSociete = gpclListeSociete:m_clTabModele[1]:m_sNom +// +// //Remplacement de la base courante par la nouvelle définition +// clBaseCourante <= clNewBase +// +// sinon +// Erreur("La base n'a pas pu être vérifiée",clNewBase:smsgretour ) +// fin +// clNewBase:FermeConnexion() +//sinon +// Erreur("Erreur d'ouverture de la base",clNewBase:smsgretour) +//fin +Clic sur BTN_PREC ( SC_LOCALISATION_BATIGEST ) +gnIndiceBG -=1 +gclBaseExterne = gtaBaseExterneParIndice[gnIndiceBG] +BTN_PREC..Visible = gnIndiceBG>1 +BTN_SUIV..Visible = gnIndiceBG1 +BTN_SUIV..Visible = gnIndiceBG0 alors retour +si NombreUtilisateursConnectés()>0 alors +si pas OuiNon("Des utilisateurs sont connectés à la base", +"Il est préférable de demander aux utilisateurs de quitter l'application pendant cette opération.", +"Continuer quand même ?") alors +retour +fin +fin +si pas OuiNon("Etes vous sûr de vouloir continuer ?", +"Cette opération DEFINITIVE va supprimer les codes liants les clients et les Interventions de la base +de l'application à la base +06/08/2026 Isis_BO 4734 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Code des champs +Batigest.", +"Ces fiches pourraient donc être exportées de nouveau au risque de générer des doublons dans Batigest") +alors +retour +fin +si OuiNon ("Un petit regret ?") alors retour +HExécuteRequêteSQL("DEL",hRequêteDéfaut,"DELETE FROM Client_BddExterne") +HExécuteRequêteSQL("DEL",hRequêteDéfaut,"DELETE FROM Intervention_BddExterne") +HExécuteRequêteSQL("DEL",hRequêteDéfaut,"DELETE FROM BddExterne") +gclBaseExterne = Null +clBaseCourante= allouer un C_ConnecteurBddBatigest +InitialiseFenetre() +Info("Terminé !") +Clic sur BTN_VAL_CLIENT ( SC_LOCALISATION_BATIGEST ) +bOk est un booléen +saReponse est une chaîne ANSI +stBGConnect est un ST_BG_CONNECT +//Stock la formule Batigest +ParametreEcrit(cParam_Connect,SEL_FORMULE_BATIGEST) +si SEL_FORMULE_BATIGEST=1 alors +// ParametreEcrit(cParam_Connect_Srv,SAI_SERVEUR_BATIGEST_CONNECT) +// ParametreEcrit(cParam_Connect_User,SAI_USER_BATIGEST_CONNECT) +// ParametreEcrit(cParam_Connect_Mdp,SAI_MDP_BATIGEST_CONNECT) +// ParametreEcrit(cParam_Connect_BDD,SAI_Dossier_Batigest) +si SAI_SERVEUR_BATIGEST_CONNECT..Valeur="" alors Erreur("Veuillez renseigner le serveur Batigest"); +retour +si SAI_USER_BATIGEST_CONNECT..Valeur="" alors Erreur("Veuillez renseigner l'utilisateur Batigest +"); retour +si SAI_Dossier_Batigest..Valeur="" alors Erreur("Veuillez renseigner le dossier +Batigest"); retour +si COMBO_Societe..ValeurAffichée="" alors Erreur( +"Veuillez renseigner la société de rattachement"); retour +fin +(bOk,saReponse)=clConnecteur:ConnectAuService() +si pas bOk alors Erreur(saReponse); retour +si SEL_FORMULE_BATIGEST=1 alors +stBGConnect.sBGCServeur = SAI_SERVEUR_BATIGEST_CONNECT +stBGConnect.sBGCUser = SAI_USER_BATIGEST_CONNECT +stBGConnect.sBGCMdP = SAI_MDP_BATIGEST_CONNECT +stBGConnect.sBGCBdd = SAI_Dossier_Batigest +fin +//Demande au ServiceBG de Valider le fichier +(bOk,saReponse)=clConnecteur.ValideBase(AnsiVersUnicode(SAI_SERVEUR_BATIGEST_CONNECT),"",SEL_ +FORMULE_BATIGEST=1 ? Vrai sinon Faux,stBGConnect) +clConnecteur:FermeConnexion() +si pas bOk alors Erreur(saReponse); retour +//Base validée +stB est un ST_BG_BASE +Désérialise(stB,saReponse,psdJSON) +06/08/2026 Isis_BO 4735 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Code des champs +si BTN_PREC..Visible=Faux _et_ BTN_SUIV..Visible=Faux _et_ clBaseCourante:sBG_GUID<>"" et +clBaseCourante:sBG_GUID<>stB.saGuidBG alors +Erreur("Attention !", +"Cette base ne correspond pas à celle avec laquelle une liaison est déjà établie.", +"En poursuivant vous allez corrompre l'intégrité des données.", +"Vous devez tout d'abord Délier les deux bases.") +retour +fin +//Base validée +Info("Connexion réussie à la base : " + stB.saSociete) +//clBaseCourante.nPKID = gpclListeSociete:m_clTabModele[1]:m_nPKID +//clBaseCourante.sSociete = gpclListeSociete:m_clTabModele[1]:m_sNom +clBaseCourante.nCliModNum = 1 +clBaseCourante.sCliPrefix = "" +clBaseCourante.sBG_Societe = stB.saSociete +clBaseCourante.DossierBG = SAI_Dossier_Batigest +clBaseCourante:sBG_GUID = stB.saGuidBG +si SEL_FORMULE_BATIGEST<>1 alors +SAI_Dossier_Batigest = clBaseCourante:sBG_Societe +SAI_Base = SAI_Dossier_Batigest +sinon +LIB_Societe_Batigest = clBaseCourante:sBG_Societe +clBaseCourante:sBG_Connect_Serveur = SAI_SERVEUR_BATIGEST_CONNECT +clBaseCourante:sBG_Connect_Utilisateur = SAI_USER_BATIGEST_CONNECT +clBaseCourante:sBG_Connect_MotDePasse = SAI_MDP_BATIGEST_CONNECT +fin +clErr est un CErreur +gclBaseExterne:m_sNom = clBaseCourante:suBG_Dossier +gclBaseExterne:m_sParam = clBaseCourante:DonneParam() +gclBaseExterne:m_bNouveau = gclBaseExterne:m_nPKID=0 +si pas gclBaseExterne:bOK(clErr) alors +Erreur(clErr:FormateMessage()) +fin +BTN_ADD_BDD_BATIGEST..Visible = gtaBaseExterneParIndice..Occurrence>0 _et_ clBaseCourante:sBG_GUID>0 +Sortie de COMBO_Societe ( SC_LOCALISATION_BATIGEST ) +ChampVersSource() +A chaque modification de SEL_FORMULE_BATIGEST ( SC_LOCALISATION_BATIGEST ) +si SEL_FORMULE_BATIGEST=1 alors +BTN_ChercheBase..Visible = Faux +GR_BATIGEST_CONNECT..Visible = Vrai +GR_BATIGEST_CLASSIQUE..Visible = Faux +SAI_Dossier_Batigest..Etat = Actif +sinon +BTN_ChercheBase..Visible = Vrai +GR_BATIGEST_CONNECT..Visible = Faux +GR_BATIGEST_CLASSIQUE..Visible= Vrai +SAI_Dossier_Batigest..Etat = AffichageSeulement +fin +Clic sur BTN_Valider_Service_Batigest ( SC_LOCALISATION_SERVICE_BATIGEST ) +bOK est un booléen +saReponse est une chaîne ANSI +06/08/2026 Isis_BO 4736 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Code des champs +si pas Ping(SAI_Adresse_Service_Batigest,2s) alors +Erreur("L'adresse " + SAI_Adresse_Service_Batigest + " ne répond pas.") +retour +fin +clConnecteur:m_nPortCom=SAI_Port_Service_Batigest +clConnecteur:m_sIPService=SAI_Adresse_Service_Batigest +(bOK,saReponse)=clConnecteur:ConnectAuService("INFO") +clConnecteur:FermeConnexion() +si pas bOK alors +Erreur(saReponse) +retour +fin +Info("Connecteur connecté.",saReponse) +FI_Parametrage_Batigest +Procédures +Procédure locale InitialiseFenetre +procédure InitialiseFenetre() +//Lecture du paramètrage du connecteur, stocké au format JSON dans la table de paramètres Système +//Il s'agit d'un tableau avec 1 seul élément, mais qui pourra en avoir plusieurs plus tard. +//Lit l'adresse et le port du service dans les paramètres System +clConnecteur:LitParametresSocket() +//Créé un objet BaseBatigest avec les paramètres JSON lu dans Base_Ext +"Utilitaire"> +si gclBaseExterne<> Null alors +clBaseCourante:InitParam(gclBaseExterne:m_sParam) +fin + +SAI_Base="" +SAI_Dossier_Batigest="" +SAI_SERVEUR_BATIGEST_CONNECT="" +SAI_USER_BATIGEST_CONNECT="" +SAI_MDP_BATIGEST_CONNECT="" +TABLE_CHANTIERDEF.SupprimeTout() +TABLE_CLIENTDEF.SupprimeTout() +LIB_Commentaires="" +Procédure locale NombreUtilisateursConnectés +procédure NombreUtilisateursConnectés() +quand exception dans +sLst est une chaîne = HListeUtilisateurConnecté(gcnxBO) +sLogin est une chaîne +06/08/2026 Isis_BO 4737 + +Partie 3 › Fenêtre WINDEV › FI_Parametrage_Batigest › Procédures +N est un entier +pour toute chaîne sUser de sLst séparée par RC +sLogin=ExtraitChaîne(sUser,1,TAB) +si pas sLogin dans ("ServiceMobile","admin","AdminClient") alors +N++ +fin +fin +renvoyer N +faire +renvoyer 0 +fin +06/08/2026 Isis_BO 4738 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Image +FI_Modele_Rapport +Image +FI_Modele_Rapport +Informations générales +FI_Modele_Rapport +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Modele_Rapport.wdw +Créé par DFI +Date de création 01/02/2020 15:49:11 +Dernière modification par SMR +Date dernière modification 11/04/2025 16:08:26 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +Position X 0 Position Y 0 Largeur 1113 Hauteur 504 +06/08/2026 Isis_BO 4739 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Informations générales +| 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 | | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Oui | | | | +| Type cadre | | | | | +| Transparence Vista | Non | | | | +| Transparence gérée par Vista | Non | | | | +| Appliquer le thème du projet | | | | | +| Grisé : Utiliser couleur perso. | Non | | | | +| Grisé : Algo pour images | | | | | +| 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. | | | | | +| 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 | | | | +| ---------------------- | --- | ------- | --- | ---- | +| 06/08/2026 | | Isis_BO | | 4740 | + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | | 1 | | Libellé | | | 9 | +| --- | ----------------------- | --- | --- | --- | --- | --------------------- | --- | --- | --- | +| | Bouton | | | 5 | | Image | | | 3 | +| | Forme | | | 2 | | Zone répétée | | | 2 | +| | Fenêtre interne | | | 1 | | Attribut zone répétée | | | 7 | +| | Rupture de zone répétée | | | 2 | | Traitement de texte | | | 1 | +Nombre d'éléments dans la fenêtre : 33 +FI_Modele_Rapport +Informations sur les champs +Fenêtre : FI_Modele_Rapport +Fenêtre interne +laitini tatE BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FI_Modele_Rapport | | | 0 | 0 | 1113 | 504 | | 0 | | +| ----------------- | --- | --- | --- | --- | ---- | --- | --- | --- | --- | +Fenêtre interne : FI_Modele_Rapport +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_NOM_MODELE | | 250 58 593 | 22 0 | Actif | Texte | | Non | | | +| -------------- | --- | ---------- | ---- | ------- | ----- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Isis_BO | | | | | 4741 | + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › 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_BORDURE_DROITE_MENU1 | 244 | 87 606 | 4 | 0 | Actif | Gauche | Haut | | +| ------------------------ | --- | ------ | --- | --- | ----- | ------ | ------ | --- | +| LIB_ENTETE_MODELES | 7 | 13 156 | 17 | 0 | Actif | Centre | Centre | | +| LIB_NOM_MODELE | 250 | 38 378 | 14 | 0 | Actif | Gauche | Haut | | +| LIB_Nom | 871 | 13 156 | 18 | 0 | Actif | Centre | Centre | | +| LIB_Titre | 244 | 10 242 | 20 | 0 | Actif | Centre | Centre | | +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_ADD_MODELE_RAPPORT | 724 | 8 | 24 | 24 | 0 | Actif | | Normal | +| ------------------------- | --- | --- | --- | --- | --- | ----- | --- | ------ | +| BTN_DEL_MODELE_RAPPORT | 754 | 8 | 24 | 24 | 0 | Actif | | Normal | +| BTN_DUP_MODELE_RAPPORT | 664 | 8 | 24 | 24 | 0 | Actif | | Normal | +| BTN_VALIDE_MODELE_ENCOURS | 694 | 8 | 24 | 24 | 0 | Actif | | Normal | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_LISTE_MODELES | 7 | 4 | 227 | 32 | 0 | Actif | | | +| ------------------ | --- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_LISTE_MODELES1 | 862 | 4 | 244 | 32 | 0 | Actif | | | +| IMG_SansNom1 | 244 | 4 | 606 | 32 | 0 | Actif | | | +Forme +BAT ehcuoT +| | | X noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | --- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FRM_CADRE_CARACTERISTIQUES | | 244 | 36 | 606 | 464 | 0 | Actif | | +| -------------------------- | --- | --- | ------- | --- | --- | --- | ----- | ---- | +| FRM_SansNom2 | | 250 | 548 | 606 | 2 | 0 | Actif | | +| 06/08/2026 | | | Isis_BO | | | | | 4742 | + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Informations sur les champs +Zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_MODELES_RAPPORT | | 7 36 | 227 463 | 0 | Actif | | +| ------------------ | --- | ---- | ------- | --- | ----- | --- | +| ZR_MOT_CLE_RAPPORT | 862 | 36 | 244 463 | 0 | Actif | | +Traitement de texte +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| TT_CORPS | 250 | 97 | 593 395 | 0 | Actif | | +| -------- | --- | --- | ------- | --- | ----- | --- | +Zone répétée : FI_Modele_Rapport.ZR_MODELES_RAPPORT +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +X noitisoP Y noitisoP laitini tatE +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Nom | 6 3 | 194 32 | 0 affichag | Gauche | Centre | | +| ------- | --- | ------ | ---------- | ------ | ------ | --- | +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +ATT_ID +ATT_Nom +Zone répétée : FI_Modele_Rapport.ZR_MOT_CLE_RAPPORT +| 06/08/2026 | | Isis_BO | | | | 4743 | +| ---------- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › 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_Description | 37 1 | 187 16 | 0 | Actif | Gauche | Haut | | +| --------------- | ----- | ------ | --- | ----- | ------ | ---- | --- | +| LIB_GROUPE | 22 5 | 199 14 | 0 | Actif | Gauche | Haut | | +| LIB_Mot | 37 19 | 187 16 | 0 | Actif | Droite | Haut | | +Bouton +| | | | | | | BAT ehcuoT | notuob epyT | +| --- | ---------- | ---------- | --- | --- | ------------ | ---------- | ----------- | +| | X noitisoP | Y noitisoP | | | laitini tatE | | | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_COPIE_COLLE_MOTCLES | 6 | 4 24 | 24 | 0 | Actif | Normal | | +| ----------------------- | --- | ---- | --- | --- | ----- | ------ | --- | +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | | elbisiV | | | +| --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +ATT_BTNCOPIER +ATT_Groupe +ATT_Lib +ATT_Mot +ATT_ORDRE +Rupture de zone répétée +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | ---------- | +| | X noitisoP | Y noitisoP | | | | | | +ruegraL ruetuaH +elbisiV +nalP +RUPT_BasRupture1 +RUPT_HRUPT_MOTCLES +Fenêtre : FI_Modele_Rapport +| 06/08/2026 | | Isis_BO | | | | | 4744 | +| ---------- | --- | ------- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Informations sur les champs +Fenêtre interne : FI_Modele_Rapport +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Modele_Rapport +Bouton : FI_Modele_Rapport.BTN_ADD_MODELE_RAPPORT +Ordre navigation -1 +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 +Retrait gauche 2 +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 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Isis_BO 4745 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Informations sur les champs +Type flèche +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 : FI_Modele_Rapport.BTN_DEL_MODELE_RAPPORT +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +06/08/2026 Isis_BO 4746 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Informations sur les champs +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 : FI_Modele_Rapport.BTN_DUP_MODELE_RAPPORT +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Dupliquer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4747 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Informations sur les champs +Bouton : FI_Modele_Rapport.BTN_VALIDE_MODELE_ENCOURS +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4748 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Informations sur les champs +Forme : FI_Modele_Rapport.FRM_CADRE_CARACTERISTIQUES +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Modele_Rapport.FRM_SansNom2 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Modele_Rapport.IMG_LISTE_MODELES +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Isis_BO 4749 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Informations sur les champs +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Modele_Rapport.IMG_LISTE_MODELES1 +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +06/08/2026 Isis_BO 4750 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Informations sur les champs +Orientation EXIF Non +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 +Image : FI_Modele_Rapport.IMG_SansNom1 +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4751 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Informations sur les champs +Libellé : FI_Modele_Rapport.LIB_BORDURE_DROITE_MENU1 +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 +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 A la fin +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 Largeur +Taux anc. droite 1000 Taux anc. bas 0 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Modele_Rapport.LIB_ENTETE_MODELES +Libellé FR: Liste des modèles +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 +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 +06/08/2026 Isis_BO 4752 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Modele_Rapport.LIB_NOM_MODELE +Libellé FR: Nom du modèle +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4753 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Informations sur les champs +Libellé : FI_Modele_Rapport.LIB_Nom +Libellé FR: Mots Clés disponibles +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 +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 +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Modele_Rapport.LIB_Titre +Libellé FR: Editeur de modèles de rapports +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 +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 +06/08/2026 Isis_BO 4754 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Modele_Rapport.SAI_NOM_MODELE +Libellé FR: Description +Groupe GR_SAISIE_MODELE_EMAIL +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 250 +Largeur interne 593 +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 +06/08/2026 Isis_BO 4755 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Informations sur les champs +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 Non +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. +Liaison des données :gclPresentationFicheModeleRapport.p_clCourant.m_sLibelle +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 500 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4756 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Informations sur les champs +Traitement de texte : FI_Modele_Rapport.TT_CORPS +Ordre navigation 4 +Épinglé Non +Masquer lors du scrolling Non +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Autorise ChangeGabarit Oui +Lien automatique Oui +Verifier l'orthographe Oui +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 +FI source ruban FI_WinDevFAA_RubanTT +Mode Minibarre Non +Texte Markdown Non +Édition HTML Non +Thème sur ruban Non +Change Document Non +Mode d'affichage Plusieurs listes +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 +Zone répétée : FI_Modele_Rapport.ZR_MODELES_RAPPORT +Libellé FR: dfsdfsdfsdfsdf +Ordre navigation -1 +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 +Hauteur ligne max. 0 +Hauteur ligne 41 +Largeur colonne 210 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 4757 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Informations sur les champs +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +Nb. Enreg. Max 0 +Parcours Automatique +Fichier parcouru :gclPresentationListeModeleRapport.m_clTabModele +Rub. mémorisée :gclPresentationListeModeleRapport.m_clTabModele +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +06/08/2026 Isis_BO 4758 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Informations sur les champs +Zone répétée : FI_Modele_Rapport.ZR_MOT_CLE_RAPPORT +Libellé FR: &Zone répétée +Ordre navigation 2 +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 +Hauteur ligne max. 0 +Hauteur ligne 34 +Largeur colonne 227 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Variable +Nb. Enreg. Max 0 +06/08/2026 Isis_BO 4759 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Informations sur les champs +Parcours Automatique +Fichier parcouru :TermeRapport.ListeTerme +Rub. mémorisée :TermeRapport.ListeTerme +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Hauteur et droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : FI_Modele_Rapport.ZR_MODELES_RAPPORT +Attribut zone répétée : FI_Modele_Rapport.ZR_MODELES_RAPPORT.ATT_ID (1) +Propriété associée 1 +Liaison des données :gclPresentationListeModeleRapport.m_clTabModele.m_nPKID +Attribut zone répétée : FI_Modele_Rapport.ZR_MODELES_RAPPORT.ATT_Nom (2) +Champ associé LIB_Nom +Propriété associée 1 +Liaison des données :gclPresentationListeModeleRapport.m_clTabModele.m_sLibelle +Libellé : FI_Modele_Rapport.ZR_MODELES_RAPPORT.LIB_Nom +Libellé FR: Nom du modèle +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 +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 +06/08/2026 Isis_BO 4760 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Informations sur les champs +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :gclPresentationListeModeleRapport.m_clTabModele.m_sLibelle +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : FI_Modele_Rapport.ZR_MOT_CLE_RAPPORT +Attribut zone répétée : FI_Modele_Rapport.ZR_MOT_CLE_RAPPORT.ATT_BTNCOPIER (4) +Champ associé BTN_COPIE_COLLE_MOTCLES +Propriété associée 5 +Attribut zone répétée : FI_Modele_Rapport.ZR_MOT_CLE_RAPPORT.ATT_Groupe (3) +Champ associé LIB_GROUPE +Propriété associée 1 +Liaison des données :TermeRapport.ListeTerme.Groupe +Attribut zone répétée : FI_Modele_Rapport.ZR_MOT_CLE_RAPPORT.ATT_Lib (1) +Champ associé LIB_Description +Propriété associée 1 +Liaison des données :TermeRapport.ListeTerme.Description +06/08/2026 Isis_BO 4761 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Informations sur les champs +Attribut zone répétée : FI_Modele_Rapport.ZR_MOT_CLE_RAPPORT.ATT_Mot (2) +Champ associé LIB_Mot +Propriété associée 1 +Liaison des données :TermeRapport.ListeTerme.Rubrique +Attribut zone répétée : FI_Modele_Rapport.ZR_MOT_CLE_RAPPORT.ATT_ORDRE (5) +Propriété associée 1 +Liaison des données :TermeRapport.ListeTerme.Ordre +Bouton : FI_Modele_Rapport.ZR_MOT_CLE_RAPPORT.BTN_COPIE_COLLE_MOTCLES +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_dupliquer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +06/08/2026 Isis_BO 4762 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : FI_Modele_Rapport.ZR_MOT_CLE_RAPPORT.LIB_Description +Libellé FR: Libellé +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 +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 +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 +Liaison des données :TermeRapport.ListeTerme.Description +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4763 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Informations sur les champs +Libellé : +Libellé FR: Groupe +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 +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 +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 +Liaison des données :TermeRapport.ListeTerme.Groupe +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Modele_Rapport.ZR_MOT_CLE_RAPPORT.LIB_Mot +Libellé FR: Libellé +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Isis_BO 4764 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Liaison des données :TermeRapport.ListeTerme.Rubrique +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 2 +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 2 +FI_Modele_Rapport +Messages multilingues +06/08/2026 Isis_BO 4765 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Code des champs +FI_Modele_Rapport +Code des champs +Déclarations globales de FI_Modele_Rapport +procédure MaFenêtre(gclPresentationFicheModeleRapport est un PFicheParametreMetier dynamique < +présentation>=Null, paramSupplementaire est un STParamFenetreAppelante=Null) +TermeRapportOrig est un STJSONRubriqueRapport +TermeRapport est un STJSONRubriqueRapport +vRub est un Variant +si HLitRecherchePremier(ParametreSysteme,PAS_Code,"RUBRIQUE_RAPPORT_INTERVENTION") alors +vRub = JSONVersVariant(ParametreSysteme.PAS_Valeur) +fin +si vRub<>Null alors +Désérialise(TermeRapportOrig,ParametreSysteme.PAS_Valeur,psdJSON) +VisibleBO() +TableauTrie(TermeRapport:ListeTerme,ttMembre,"Groupe;Ordre") +ZoneRépétéeAffiche(ZR_MOT_CLE_RAPPORT,taInit) +fin +nLigneAffichée est un entier +nPos est un entier +saMotCopié est une chaîne ANSI +gclPresentationListeModeleRapport est un PTableParametreMetier dynamique +gclPresentationListeModeleRapport<-gpclListeModelRapportInterv +Fin d'initialisation de FI_Modele_Rapport +//ZoneRépétéeTrie(ATT_Groupe) +//ZR_MOT_CLE_RAPPORT.Trie("ATT_Groupe") +//ZR_MOT_CLE_RAPPORT.Trie() +ZoneRépétéeTrie("ATT_Groupe"+TAB+"ATT_Ordre") +si ZR_MODELES_RAPPORT..Occurrence>0 alors +ZoneRépétéeSelectPlus(ZR_MODELES_RAPPORT,1) +ExécuteTraitement(FI_Modele_Rapport.ZR_MODELES_RAPPORT,trtSélection) +fin +Demande de mise à jour de l'affichage de FI_Modele_Rapport +si gclPresentationFicheModeleRapport<>Null _et_ gclPresentationFicheModeleRapport est +PFicheParametreMetier alors +SourceVersEcran("","gclPresentationFicheModeleRapport") +fin +si gclPresentationListeModeleRapport<>Null _et_ gclPresentationListeModeleRapport est +PTableParametreMetier alors +SourceVersEcran("","gclPresentationListeModeleRapport") +MAJChampZREtObjet(ZR_MODELES_RAPPORT,gclPresentationListeModeleRapport:p_clCourant) +si gclPresentationListeModeleRapport:p_clCourant<>Null _et_ gclPresentationListeModeleRapport: +p_clCourant:m_nPKID>0 alors +sCheminFichier est une chaîne = gpclListeParamAppli:m_clTabModele[ +"CHEMIN_REPERTOIRE_MODELE_RAPPORT"]:m_sValeur+["\"]+gclPresentationListeModeleRapport: +p_clCourant:m_sParametre +06/08/2026 Isis_BO 4766 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Code des champs +si sCheminFichier<>TT_CORPS..CheminFichier alors +DocOuvre(TT_CORPS,gpclListeParamAppli:m_clTabModele["CHEMIN_REPERTOIRE_MODELE_RAPPORT"]: +m_sValeur+["\"]+gclPresentationListeModeleRapport:p_clCourant:m_sParametre) +fin +sinon +TT_CORPS="" +fin +fin +SourceVersEcran("","TermeRapport") +Fermeture de FI_Modele_Rapport +si GR_SAISIE_MODELE_EMAIL..Modifié alors +//odMC:bufCorps = TT_Corps +//EnregistreModeleCourant() +fin +Clic sur BTN_ADD_MODELE_RAPPORT +gclPresentationFicheModeleRapport <-gpclListeModelRapportInterv.Nouveau() +gclPresentationFicheModeleRapport:m_sCode = gpclListeModelRapportInterv:m_clTabModele[gpcl +ListeModelRapportInterv:p_nTotal]:m_sCode +gclPresentationFicheModeleRapport:m_nOrdre = gpclListeModelRapportInterv:m_clTabModele[gpcl +ListeModelRapportInterv:p_nTotal]:m_nOrdre+1 +gclPresentationFicheModeleRapport:m_sValeur = Val(gpclListeModelRapportInterv:m_clTabModele[gpcl +ListeModelRapportInterv:p_nTotal]:m_sValeur)+1 +gclPresentationFicheModeleRapport:m_sLibelle = "Nom du nouveau modèle ("+ +gclPresentationFicheModeleRapport:m_sValeur+")" +gclPresentationFicheModeleRapport:m_sParametre = "" +gclPresentationFicheModeleRapport:m_bActif = Vrai +gclPresentationFicheModeleRapport:m_bInvisible = Faux +gclPresentationFicheModeleRapport:m_bSysteme = Faux +//Validation en mémoire de la nouvelle fiche +gclPresentationFicheModeleRapport.AppelProcValidation(2) +//Création d'un nouvel enregistrement dans la zone répétée des collaborateurs +nIndice est un entier = ZoneRépétéeAjouteLigne(ZR_MODELES_RAPPORT) +//Positionnement dans le nouvel enregistrement de la zone répétée des collaborateurs +ZoneRépétéeSelectPlus(ZR_MODELES_RAPPORT,nIndice) +//Rafraichissement des données de la zone répétée des collaborateurs +ZoneRépétéeAffiche(ZR_MODELES_RAPPORT,nIndice) +//SourceVersEcran("","gclPresentationFicheModeleRapport") +DonneFocus(SAI_NOM_MODELE) +Clic sur BTN_DEL_MODELE_RAPPORT +si OuiNon("Confirmez vous la suppression ?")=Non alors +retour +fin +clErreur est un CErreur +//clFicheClient est un PFicheClient(gclPresentationListeClient:p_clCourant,*) +//SI PAS clFicheClient:bControle(clErreur,Vrai) ALORS +// Erreur(clErreur.FormateMessage()) +//SINON +si pas gclPresentationListeModeleRapport.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +// gestion de la saisie en cascade +06/08/2026 Isis_BO 4767 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Code des champs +// si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +//nIndice est un entier=TableSelect(TABLE_LISTE_CLIENT) +//TableSupprime(TABLE_LISTE_CLIENT,nIndice) +DemandeMiseAJourIHM() +// SI nIndice>1 _ET_ nIndice=TableOccurrence(TABLE_LISTE_CLIENT) ALORS +// TableSelectPlus(TABLE_LISTE_CLIENT,nIndice-1) +// FIN +fin +Clic sur BTN_VALIDE_MODELE_ENCOURS +EnregistrerFiche() +Sortie de SAI_NOM_MODELE +ChampVersSource() +si pas EnregistrerFiche() alors RepriseSaisie(MoiMême) +A chaque changement de la sélection de TT_CORPS +//nPos = TT_CORPS..Curseur +Rafraîchissement du ruban de TT_CORPS +//SI nPos>0 _et_ TT_CORPS..Curseur<>nPos ALORS +// TT_CORPS..Curseur=nPos +//FIN +Prise de focus (WM_SETFOCUS) de TT_CORPS +//SI nPos>0 ALORS +// TT_Corps..Curseur=nPos +//FIN +si TT_CORPS<>Null _et_ TT_CORPS="" _et_ gclPresentationFicheModeleRapport:p_clCourant:m_nPKID=0 alors +ToastAffiche("Redigez +votre texte, placez votre curseur à l'endroit où vous souhaitez insérer un mot clé et cliquez sur +le bouton du mot clé correspondant" +) +fin +Perte de focus (WM_KILLFOCUS) de TT_CORPS +//nPos = TT_Corps..Curseur +ChampVersSource() +si pas EnregistrerFiche() alors RepriseSaisie(MoiMême) +Sortie d'une ligne de ZR_MODELES_RAPPORT +//// si la table n'a pas été modifiée, il ne faut rien faire +//SI ZR_MODELES_RAPPORT..Modifié=Faux ALORS +// RETOUR +//FIN +// +//clErr est un CErreur +//pclPresenFicheEquipe est un PFicheParametreMetier dynamique +// +//// ajout d'une nouvelle ligne +06/08/2026 Isis_BO 4768 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Code des champs +//SI ZR_MODELES_RAPPORT..Nouveau ALORS +// +pclPresenFicheEquipe<-gclPresentationFicheSociete:ListeEquipe:Nouveau(Vrai,gclPresentationFicheSociete: +IdentifiantUnique) +// // modification d'une ligne existante +//SINON +// pclPresenFicheEquipe<-gclPresentationFicheSociete:ListeEquipe:Modifier() +//FIN +// +//// sauvegarde de la table +//pclPresenFicheEquipe:FicheEnCours = ZR_Equipe//TableEnregistre(TABLE,pclPresentationFiche) +// +//// traitement des erreurs +//SI PAS pclPresenFicheEquipe.bOK(clErr) ALORS//PAS pclPresenFicheEquipe.bOK(clErr,Vrai,Vrai) +// Erreur(clErr.FormateMessage()) +//FIN +// +//// repasse la table en non modifiée +//ZR_Equipe..Modifié=Faux +EnregistrerFiche() +Sélection d'une ligne de ZR_MODELES_RAPPORT +//Variable temporaire servant à passer les éléments de la table +pclModeleRapport est un MParametreMetier dynamique +//Copie des valeurs de la table dans la variable temporaire +pclModeleRapport = ZR_MODELES_RAPPORT +clPresentationFiche est un PFicheParametreMetier(pclModeleRapport) +//mise à jour de la ligne courante +gclPresentationFicheModeleRapport<-clPresentationFiche +DemandeMiseAJourIHM() +Affichage d'une ligne de ZR_MOT_CLE_RAPPORT +//unTerme est un STJSONListTerme +//unTerme=ZR_MOT_CLE_RAPPORT[ZR_MOT_CLE_RAPPORT] +//SI ChaîneCommencePar(unTerme:Rubrique,"$TAB") ALORS +// ZR_MOT_CLE_RAPPORT[ZR_MOT_CLE_RAPPORT].BTN_COPIE_COLLE_MOTCLES..Visible=faux +//FIN +Clic sur BTN_COPIE_COLLE_MOTCLES ( ZR_MOT_CLE_RAPPORT ) +//VersPressePapier(LIB_Mot) +//TT_Corps..Curseur=nPos +unTerme est un STJSONListTerme= ZR_MOT_CLE_RAPPORT +si unTerme:Type="Tableau" alors +si Contient(LIB_Mot,"PHOTO") alors +InsereTableauPhotoTraitementdeTexte(unTerme:ListeMembre,TT_CORPS) +sinon +InsereTableauTraitementdeTexte(unTerme:ListeMembre,TT_CORPS) +fin +sinon +elt est un docElément +elt..Type = typeDocElémentTexte +elt..Texte = LIB_Mot +DocInsère(TT_CORPS,TT_CORPS..Curseur,elt) +fin +06/08/2026 Isis_BO 4769 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Procédures +FI_Modele_Rapport +Procédures +Procédure locale EnregistrerFiche +// Résumé : +// Syntaxe : +//[ = ] EnregistrerFiche () +// +// Paramètres : +// Aucun +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure EnregistrerFiche() +bResultat est un booléen=Faux +clErreur est un CErreur +si ChampSuivant() dans (BTN_DEL_MODELE_RAPPORT..Nom,"BTN_FERMER_MODELE_RAPPORT") alors +bResultat=Vrai +goto SORTIE +fin +si SAI_NOM_MODELE="" alors +clErreur.Init(CErreur.Fonctionnelle,"Veuillez renseigner le nom du modèle") +si ChampEnCours(BTN_VALIDE_MODELE_ENCOURS) alors +RepriseSaisie(SAI_NOM_MODELE) +fin +sinon si gclPresentationFicheModeleRapport.m_nPKID=0 alors +gclPresentationFicheModeleRapport.m_sParametre = SAI_NOM_MODELE+".docx" +fin +si pas clErreur.p_bOk _ou_ pas gclPresentationFicheModeleRapport.bOK(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +sChemin est une chaîne = gpclListeParamAppli:m_clTabModele["CHEMIN_REPERTOIRE_MODELE_RAPPORT"]:m_s +Valeur+["\"]+gclPresentationListeModeleRapport:p_clCourant:m_sParametre +si TT_CORPS<>Null _et_ DocSauve(TT_CORPS,sChemin) alors +bResultat=Vrai +fin +fin +SORTIE: +renvoyer bResultat +Procédure locale VisibleBO +procédure VisibleBO() +h est un entier +pour i = 1 _à_ TermeRapportOrig.ListeTerme..Occurrence +stUnTerme est un STJSONListTerme = TermeRapportOrig.ListeTerme[i] +si stUnTerme.Rubrique <> "" alors +si pas stUnTerme.InvisibleBO alors +si stUnTerme.Type = "Tableau" alors +h = 0 +si pas stUnTerme.InvisibleBO alors +pour b = 1 _à_ TermeRapportOrig.ListeTerme[i].ListeMembre..Occurrence +h += 1 +06/08/2026 Isis_BO 4770 + +Partie 3 › Fenêtre WINDEV › FI_Modele_Rapport › Procédures +si TermeRapportOrig.ListeTerme[i].ListeMembre[b].InvisibleBO alors +TableauSupprime(stUnTerme.ListeMembre,h) +h -= 1 +fin +fin +TableauAjoute(TermeRapport.ListeTerme, stUnTerme) +fin +sinon +TableauAjoute(TermeRapport.ListeTerme, stUnTerme) +fin +fin +fin +fin +06/08/2026 Isis_BO 4771 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › Image +FI_TdBPrincipal_Collaborateur_Inactif +Image +FI_TdBPrincipal_Collaborateur_Inactif +Informations générales +FI_TdBPrincipal_Collaborateur_Inacti +f +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_TdBPrincipal_Collaborateur_Inactif.wdw +| Créé par | | SMR | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | ------------ | ---- | +| Date de création | | 11/05/2022 15:19:12 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:26 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 260 | 430 | +| Position X | Position Y | | Largeur | Hauteur | | +| Visible | | Barre de titre | | Menu système | | +| 06/08/2026 | | | Isis_BO | | 4772 | + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › Informations générales +| 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 | | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Oui | | | | +| Type cadre | | | | | +| Transparence Vista | Non | | | | +| Transparence gérée par Vista | Non | | | | +| Appliquer le thème du projet | | | | | +| Grisé : Utiliser couleur perso. | Non | | | | +| Grisé : Algo pour images | | | | | +| 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. | | | | | +| 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 | | | | +| ---------------------- | --- | ------- | --- | ---- | +| 06/08/2026 | | Isis_BO | | 4773 | + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | 5 | Libellé | | | 9 | +| --- | --------------- | --- | --- | --------------- | --- | --- | --- | +| | Bouton | | 1 | Forme | | | 3 | +| | Zone répétée | | 1 | Fenêtre interne | | | 1 | +Nombre d'éléments dans la fenêtre : 20 +FI_TdBPrincipal_Collaborateur_Inactif +Informations sur les champs +Fenêtre : FI_TdBPrincipal_Collaborateur_Inactif +Fenêtre interne +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| FI_TdBPrincipal_Collaborateur_Inactif | | 0 | 0 260 | 430 | 0 | | | +| ------------------------------------- | --- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdBPrincipal_Collaborateur_Inactif +Forme +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_Titre | | 0 | 0 260 | 49 | 0 | Actif | | +| --------- | --- | --- | ----- | --- | --- | ----- | --- | +Zone répétée +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| ZR_Collaborateurs_Inactifs | | 7 | 55 250 | 371 | 0 | Actif | | +| -------------------------- | --- | --- | ------- | --- | --- | ----- | ---- | +| 06/08/2026 | | | Isis_BO | | | | 4774 | + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › Informations sur les champs +Zone répétée : FI_TdBPrincipal_Collaborateur_Inactif.ZR_Collaborateurs_Inactifs +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_DateDebut | 21 | 88 87 | 22 | 0 | affichag | | Date | | Non | | | | | +| -------------- | ------- | ------ | --- | --- | -------- | --- | ----- | --- | --- | --- | --- | --- | --- | +| SAI_DateFin | 122 | 87 87 | 22 | 0 | affichag | | Date | | Non | | | | | +| SAI_HeureDebut | 21 130 | 87 | 22 | 0 | affichag | | Heure | | Non | | | | | +| SAI_HeureFin | 122 130 | 89 | 22 | 0 | affichag | | Heure | | Non | | | | | +| SAI_Lieu | 48 | 41 157 | 28 | 0 | affichag | | Texte | | Non | | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | --- | +| | | | | | | | | | laitini tatE | | | FTR tamroF | | +X noitisoP Y noitisoP +| | | | | | ruegraL | ruetuaH | | | | | | | | +| --- | --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Collaborateur | | 55 | 159 | | 161 | 22 | | 0 | Actif | Gauche | Haut | | | +| ----------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | --- | +| LIB_DateDebut | | 21 | | 73 | 89 | 14 | | 0 | Actif | Gauche | Haut | | | +| LIB_DateFin | | 121 | | 72 | 88 | 20 | | 0 | Actif | Gauche | Haut | | | +| LIB_HeureDebut | | 20 | 110 | | 100 | 20 | | 0 | Actif | Gauche | Haut | | | +| LIB_HeureFin | | 124 | 110 | | 89 | 14 | | 0 | Actif | Gauche | Haut | | | +| LIB_Intervention | | 14 | | 13 | 83 | 13 | | 0 | Actif | Gauche | Haut | | | +| LIB_Lieu | | 17 | | 41 | 37 | 29 | | 0 | Actif | Gauche | Haut | | | +| LIB_NIntervention | | 105 | | 11 | 89 | 21 | | 0 | Actif | Gauche | Haut | | | +| LIB_User | | 20 | 152 | | 34 | 28 | | 0 | Actif | Gauche | Haut | | | +Bouton +notuob epyT +| | | | | | | | | | | laitini tatE | BAT ehcuoT | | | +| --- | --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | ------------ | ---------- | --- | --- | +| | | | X noitisoP | Y noitisoP | | | | | | | | | | +| | | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_Modifier | | | 201 | | 8 | 24 | | 24 | 0 | Actif | | Normal | | +| ------------ | --- | --- | --- | --- | --- | ------- | --- | --- | --- | ----- | --- | ------ | ---- | +| 06/08/2026 | | | | | | Isis_BO | | | | | | | 4775 | + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › Informations sur les champs +Forme +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_SansNom1 | 13 | 35 210 | 149 | 0 | Actif | | +| ------------ | --- | ------ | --- | --- | ----- | --- | +| FRM_SansNom2 | 12 | 9 210 | 23 | 0 | Actif | | +Fenêtre : FI_TdBPrincipal_Collaborateur_Inactif +Fenêtre interne : FI_TdBPrincipal_Collaborateur_Inactif +| UI par l'utilisateur Selon fenêtre | | | | | | | +| ------------------------------------------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles Compatible desktop ET mobile | | | | | | | +| Taux Paral. hauteur 0 | | | | | | | +| Taux Paral. Y 0 | | | | | | | +| Épinglé Non | | | | | | | +| Masquer lors du scrolling Non | | | | | | | +| Ancrage au contenu | | | | | | | +| Numéro aide 0 | | | | | | | +| Thème destination Oui | | | | | | | +| Alignement sur l'axe secondaire défini par le champ flexbox (auto) | | | | | | | +| Facteur de rétrécissement 0 | | | | | | | +Facteur d'agrandissement +0 +| Ctx. HFSQL indép. Non | | | | | | | +| --------------------- | --- | --- | --- | --- | --- | --- | +| Ancrage | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_TdBPrincipal_Collaborateur_Inactif +Forme : FI_TdBPrincipal_Collaborateur_Inactif.FRM_Titre +| Libellé FR: | Collaborateurs Inactifs | | | | | | +| ---------------------------------- | ----------------------- | ------- | --- | --- | --- | ---- | +| UI par l'utilisateur Selon fenêtre | | | | | | | +| Taux Paral. hauteur 0 | | | | | | | +| Taux Paral. Y 0 | | | | | | | +| Épinglé Non | | | | | | | +| Masquer lors du scrolling Non | | | | | | | +| Numéro aide 0 | | | | | | | +| Opacité 100 | | | | | | | +| Angles arrondis Non | | | | | | | +| Epaisseur 1 | | | | | | | +| 06/08/2026 | | Isis_BO | | | | 4776 | + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › 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 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : FI_TdBPrincipal_Collaborateur_Inactif.ZR_Collaborateurs_Inactifs +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 190 +Largeur colonne 250 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +06/08/2026 Isis_BO 4777 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › Informations sur les champs +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : FI_TdBPrincipal_Collaborateur_Inactif.ZR_Collaborateurs_Inactifs +Bouton : FI_TdBPrincipal_Collaborateur_Inactif.ZR_Collaborateurs_Inactifs.BTN_Modifier +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +06/08/2026 Isis_BO 4778 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › Informations sur les champs +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +06/08/2026 Isis_BO 4779 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Date de début +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 4780 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › Informations sur les champs +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_TdBPrincipal_Collaborateur_Inactif.ZR_Collaborateurs_Inactifs.LIB_DateFin +Libellé FR: Date de fin +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 +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 +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 +06/08/2026 Isis_BO 4781 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Heure de début +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_TdBPrincipal_Collaborateur_Inactif.ZR_Collaborateurs_Inactifs.LIB_HeureFin +Libellé FR: Heure de fin +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +06/08/2026 Isis_BO 4782 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › Informations sur les champs +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Intervention N° +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 +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 +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 +06/08/2026 Isis_BO 4783 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_TdBPrincipal_Collaborateur_Inactif.ZR_Collaborateurs_Inactifs.LIB_Lieu +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 4784 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › Informations sur les champs +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_TdBPrincipal_Collaborateur_Inactif.ZR_Collaborateurs_Inactifs.LIB_User +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4785 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › Informations sur les champs +Champ de saisie : +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 28 +Largeur interne 85 +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 +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 +06/08/2026 Isis_BO 4786 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 129 +Largeur interne 85 +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 +06/08/2026 Isis_BO 4787 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › Informations sur les champs +Taille de saisie 0 +Masque saisie FR: UseSystemMask +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4788 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › Informations sur les champs +Champ de saisie : +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 28 +Largeur interne 85 +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 +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 +06/08/2026 Isis_BO 4789 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 129 +Largeur interne 87 +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 +06/08/2026 Isis_BO 4790 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › Informations sur les champs +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 +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4791 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › Informations sur les champs +Champ de saisie : +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 55 +Largeur interne 157 +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 +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 +06/08/2026 Isis_BO 4792 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TdBPrincipal_Collaborateur_Inactif +Code des champs +Déclarations globales de FI_TdBPrincipal_Collaborateur_Inactif +procédure MaFenêtre() +gtabRdv est un tableau dynamique de MRdv +Init() +si gtabRdv..Occurrence = 0 alors +FRM_Titre..Visible=Faux +fin +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur ZR_Collaborateurs_Inactifs +Ouvrir_Dossier() +Clic sur BTN_Modifier ( ZR_Collaborateurs_Inactifs ) +Ouvrir_Dossier() +Initialisation de SAI_DateDebut ( ZR_Collaborateurs_Inactifs ) +// Version 1 +// Description +06/08/2026 Isis_BO 4793 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › Code des champs +// Saisie d'une date +Initialisation de SAI_DateFin ( ZR_Collaborateurs_Inactifs ) +// Version 1 +// Description +// Saisie d'une date +Initialisation de SAI_HeureDebut ( ZR_Collaborateurs_Inactifs ) +// Version 1 +// Description +// Saisie d'une heure +Initialisation de SAI_HeureFin ( ZR_Collaborateurs_Inactifs ) +// Version 1 +// Description +// Saisie d'une heure +Initialisation de SAI_Lieu ( ZR_Collaborateurs_Inactifs ) +// Version 1 +// Description +// Saisie de texte +FI_TdBPrincipal_Collaborateur_Inactif +Procédures +Procédure locale Init +// Résumé : +// Syntaxe : +// Init () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Init() +nN_Zone est un entier = 0 +dhDateDuJour est un DateHeure = DateHeureSys() +dhDateDuJour = Gauche(dhDateDuJour, 8) + "000000000" +ZoneRépétéeSupprimeTout(ZR_Collaborateurs_Inactifs) +TableauSupprimeTout(gtabRdv) +// requête condition 1 (RDV planifié avec des collaborateurs inactifs) +06/08/2026 Isis_BO 4794 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › Procédures +// condition 1 : date supérieure ou égale à aujourd'hui avec RDV non archivé avec un collaborateur non +actif +// requête condition 2 (RDV planifiés dont la date est passée mais qui ont été laissés avec un statut +différent à FAIT) +// condition 2 : date inférieure à aujourd'hui, RDV non archivé et avec un statut entre 40 et 43 (40 = +aucun statut de RDV , 41 = en attente, 42 = confirmé, 43 = a faire) +| sReqSQL | est une Requête SQL | = | | | +| ------- | ------------------- | --- | --- | --- | +[ +SELECT CO_PKID,Planning_RDV.*,IN_PKID, IN_IDDossier,IN_RefInterne,LI_PKID,CO_Nom, CO_Prenom, +LI_CodeLieu +FROM Collaborateur +INNER JOIN Planning_RDV ON PL_IDCollaborateur = CO_PKID +INNER JOIN Intervention ON IN_PKID = PL_IDIntervention +INNER JOIN Lieu ON LI_PKID = IN_IDLieu +WHERE (Planning_RDV.PL_DateDebut >= {date} AND CO_Actif = 0 AND NOT Planning_RDV.Archive=1) +ORDER BY Planning_RDV.PL_DateDebut ASC +] +sReqSQL.date = dhDateDuJour +si HExécuteRequête(sReqSQL,hRequêteDéfaut) alors +pour tout sReqSQL +nN_Zone += 1 +ZoneRépétéeAjoute(ZR_Collaborateurs_Inactifs) +ZR_Collaborateurs_Inactifs[nN_Zone].LIB_NIntervention = sReqSQL.IN_RefInterne +ZR_Collaborateurs_Inactifs[nN_Zone].LIB_Collaborateur = sReqSQL.CO_Nom + " " + sReqSQL. +CO_Prenom +ZR_Collaborateurs_Inactifs[nN_Zone].SAI_Lieu = sReqSQL.LI_CodeLieu +ZR_Collaborateurs_Inactifs[nN_Zone].SAI_DateDebut = Gauche(sReqSQL.PL_DateDebut, 8) +ZR_Collaborateurs_Inactifs[nN_Zone].SAI_DateFin = Gauche(sReqSQL.PL_DateFin,8) +ZR_Collaborateurs_Inactifs[nN_Zone].SAI_HeureDebut = Gauche(Droite(sReqSQL. +PL_DateDebut,9),6) +ZR_Collaborateurs_Inactifs[nN_Zone].SAI_HeureFin = Gauche(Droite(sReqSQL.PL_DateFin +,9),6) +//création d'une instance de MRdv qui est enregistré dans un tableaux pour pouvoir ensuite +ouvrir le RDV dans le planning +clRdv est un MRdv +| clRdv:m_npkid | | = sReqSQL.PL_PKID | | | +| ------------------------ | --- | ---------------------------- | --- | --- | +| clRdv:m_nidgroupe | | = sReqSQL.PL_IDGroupe | | | +| clRdv:m_nidsociete | | = sReqSQL.PL_IDSociete | | | +| clRdv:m_nidequipe | | = sReqSQL.PL_IDEquipe | | | +| clRdv:m_nidcollaborateur | | = sReqSQL.PL_IDCollaborateur | | | +| clRdv:m_niddossier | | = sReqSQL.PL_IDDossier | | | +| clRdv:m_nidintervention | | = sReqSQL.PL_IDIntervention | | | +| clRdv:m_nIDTypeActivite | | = sReqSQL.PL_IDTypeActivite | | | +| clRdv:m_nIDStatut | | = sReqSQL.PL_IDStatut | | | +| clRdv:m_sDescription | | = sReqSQL.PL_Description | | | +| clRdv:m_nidlieu | | = sReqSQL.PL_IDLieu | | | +| clRdv:m_dhdatedebut | | = sReqSQL.PL_DateDebut | | | +| clRdv:m_dhdatefin | | = sReqSQL.PL_DateFin | | | +| clRdv:m_bSuperposable | | = sReqSQL.PL_Superposable | | | +| clRdv:m_bPrive | | = sReqSQL.PL_Prive | | | +| clRdv:m_bGrouper | | = sReqSQL.PL_Grouper | | | +| clRdv:m_sObjet | | = sReqSQL.PL_Objet | | | +| clRdv:m_sIDImport | | = sReqSQL.PL_IDImport | | | +| clRdv:m_nIDPersonne | | = sReqSQL.PL_IDPersonne | | | +TableauAjoute(gtabRdv, clRdv) +| 06/08/2026 | | | Isis_BO | 4795 | +| ---------- | --- | --- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_Collaborateur_Inactif › Procédures +fin +fin +HLibèreRequête(sReqSQL) +Procédure locale Ouvrir_Dossier +// Résumé : +// Syntaxe : +//Ouvrir_Dossier () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Ouvrir_Dossier() +pclFicheRdv est un PFicheRdv(gtabRdv[ZR_Collaborateurs_Inactifs]) +FEN_Menu.OuvreOuActive(FI_Planning,"Planning",Vrai,*,DonneParam(DansOnglet,"FI_Fiche_Intervention", +MoiMême..Nom,Null,"","InterventionRendezVous",*,pclFicheRdv)) +06/08/2026 Isis_BO 4796 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_RDV_Non_Positionne › Image +FI_TdBPrincipal_RDV_Non_Positionne +Image +FI_TdBPrincipal_RDV_Non_Positionne +Informations générales +FI_TdBPrincipal_RDV_Non_Positionn +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_TdBPrincipal_RDV_Non_Positionne.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 13/05/2022 14:41:15 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:25 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 450 Hauteur | 245 | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 4797 | + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_RDV_Non_Positionne › Informations générales +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Statistiques de la fenêtre +Bouton 1 Table 1 +Forme 1 Fenêtre interne 1 +Colonne de table 5 +06/08/2026 Isis_BO 4798 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_RDV_Non_Positionne › Informations générales +Nombre d'éléments dans la fenêtre : 9 +FI_TdBPrincipal_RDV_Non_Positionne +Informations sur les champs +Fenêtre : FI_TdBPrincipal_RDV_Non_Positionne +Fenêtre interne +BAT ehcuoT +| | | X noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | --- | --- | --- | ------------ | --- | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| FI_TdBPrincipal_RDV_Non_Positionne | | 0 | 0 | 450 | 245 | 0 | | +| ---------------------------------- | --- | --- | --- | --- | --- | --- | --- | +Fenêtre interne : FI_TdBPrincipal_RDV_Non_Positionne +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| BTN_Modifier | | 403 | 14 24 | 24 | 0 | Actif | Normal | +| ------------ | --- | --- | ----- | --- | --- | ----- | ------ | +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | +| --- | --- | --- | --- | --- | ------------------ | ------------------------------ | ----------------------------- | +| | | | | | )(ertliFH resilitU | ruesnecsa elluB EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +.gerne egacolB noitcelésitluM edacsac eisiaS +BAT ehcuoT +| | X noitisoP Y noitisoP | | laitini tatE | | | | | +| --- | --------------------- | ------- | ------------ | -------- | --- | --- | --- | +| | ruegraL | ruetuaH | | sruocraP | | | | +elbisiV +elbaT +nalP +| TABLE_RDV_Non_Posi | | | | Mémoir | | | | +| ------------------ | -------- | ----- | -------- | ------ | --- | --- | ---- | +| | 0 53 450 | 192 0 | affichag | | | | 2 | +| 06/08/2026 | | | Isis_BO | | | | 4799 | + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_RDV_Non_Positionne › Informations sur les champs +Forme +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_Titre | | 0 | 0 450 | 53 | 0 | Actif | | +| --------- | --- | --- | ----- | --- | --- | ----- | --- | +Table : FI_TdBPrincipal_RDV_Non_Positionne.TABLE_RDV_Non_Positionne +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_NIntervention | 120 | Actif | | Gauche Centre | Texte | | | +| COL_Lieu | 306 | Actif | | Gauche Centre | Texte | | | +| COL_INPKID | 100 | Actif | | Droite Centre | Numériq | | | +| COL_RDVPKID | 100 | Actif | | Droite Centre | Numériq | | | +Numériq +| COL_IdDoss | 100 | Actif | | Droite Centre | | | | +| ---------- | --- | ----- | --- | ------------- | --- | --- | --- | +Fenêtre : FI_TdBPrincipal_RDV_Non_Positionne +Fenêtre interne : FI_TdBPrincipal_RDV_Non_Positionne +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| -------------------------------- | ---------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles | Compatible desktop ET mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Ancrage au contenu | | | | | | | | +| Numéro aide | 0 | | | | | | | +| Thème destination | Oui | | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | | +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | | | +| ------------------------- | ------- | --- | --- | --- | --- | --- | --- | +| Ctx. HFSQL indép. | Non | | | | | | | +| Ancrage | | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Isis_BO | | | | 4800 | +| ---------- | --- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_RDV_Non_Positionne › Informations sur les champs +Fenêtre interne : FI_TdBPrincipal_RDV_Non_Positionne +Bouton : FI_TdBPrincipal_RDV_Non_Positionne.BTN_Modifier +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4801 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_RDV_Non_Positionne › Informations sur les champs +Forme : FI_TdBPrincipal_RDV_Non_Positionne.FRM_Titre +Libellé FR: RDV Non Positionné +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : FI_TdBPrincipal_RDV_Non_Positionne.TABLE_RDV_Non_Positionne +Ordre navigation 2 +Curseur survol 0 +Mode Loupe Filtre +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) 16 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 4802 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_RDV_Non_Positionne › Informations sur les champs +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. +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 : FI_TdBPrincipal_RDV_Non_Positionne.TABLE_RDV_Non_Positionne +06/08/2026 Isis_BO 4803 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_RDV_Non_Positionne › Informations sur les champs +Colonne de table : +Titre FR: Intervention N° +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Lieu +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +06/08/2026 Isis_BO 4804 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_RDV_Non_Positionne › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: INPKID +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: +9 999 999 999 999 999 999 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4805 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_RDV_Non_Positionne › Informations sur les champs +Colonne de table : +Titre FR: RDVPKID +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: +9 999 999 999 999 999 999 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: IdDoss +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: MoneySystemMask +06/08/2026 Isis_BO 4806 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_RDV_Non_Positionne › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FI_TdBPrincipal_RDV_Non_Positionne +Code des champs +Déclarations globales de FI_TdBPrincipal_RDV_Non_Positionne +procédure MaFenêtre() +gnNLigne est un entier = 0 +BTN_Modifier.Grisé = Vrai +Init() +Clic sur BTN_Modifier +gnNLigne = TABLE_RDV_Non_Positionne +Ouvrir_Dossier() +Sélection d'une ligne de TABLE_RDV_Non_Positionne +BTN_Modifier.Grisé = Faux +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_RDV_Non_Positionne +gnNLigne = TABLE_RDV_Non_Positionne +Ouvrir_Dossier() +FI_TdBPrincipal_RDV_Non_Positionne +Procédures +Procédure locale Init +// Résumé : +// Syntaxe : +06/08/2026 Isis_BO 4807 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_RDV_Non_Positionne › Procédures +// Init () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Init() +nN_Ligne est un entier = 0 +TableSupprimeTout(TABLE_RDV_Non_Positionne) +// requête (RDV Non Positionne) +// condition : date ou l'heure n'est pas défini et le RDV n'est pas archivé +rq est une Requête SQL = +[ +SELECT Planning_RDV.*,Dossier.DO_PKID,IN_IDDossier,IN_RefInterne,LI_CodeLieu,IN_PKID +FROM Planning_RDV +INNER JOIN Intervention ON IN_PKID = PL_IDIntervention +INNER JOIN Lieu ON LI_PKID = IN_IDLieu +INNER JOIN Dossier ON DO_PKID = IN_IDDossier +WHERE Planning_RDV.PL_DateDebut LIKE '%000000000' +AND Planning_RDV.PL_DateFin LIKE '%000000000' +AND NOT Planning_RDV.Archive=1 +ORDER BY Planning_RDV.PL_DateDebut ASC,PL_IDGroupe +] +nIDRuptGroupe est un entier sur 8 octets +si HExécuteRequête(rq,hRequêteDéfaut) alors +nIDRuptGroupe = 0 +pour tout rq +si nIDRuptGroupe<>rq.PL_IDGroupe _ou_ nIDRuptGroupe=0 alors +nIDRuptGroupe=rq.PL_IDGroupe +nN_Ligne += 1 +TableAjouteLigne(TABLE_RDV_Non_Positionne) +TABLE_RDV_Non_Positionne[nN_Ligne].COL_NIntervention = rq.IN_RefInterne +TABLE_RDV_Non_Positionne[nN_Ligne].COL_Lieu = rq.LI_CodeLieu +TABLE_RDV_Non_Positionne[nN_Ligne].COL_INPKID = rq.IN_PKID +TABLE_RDV_Non_Positionne[nN_Ligne].COL_RDVPKID = rq.PL_PKID +TABLE_RDV_Non_Positionne[nN_Ligne].COL_IdDoss =rq.DO_PKID +fin +fin +fin +HLibèreRequête(rq) +Procédure locale Ouvrir_Dossier +// Résumé : +// Syntaxe : +//Ouvrir_Dossier () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +06/08/2026 Isis_BO 4808 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_RDV_Non_Positionne › Procédures +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Ouvrir_Dossier() +si pas HLitRecherchePremier(Dossier,DO_PKID,COL_IdDoss) alors +retour +fin +oDossier est un MDossier +FichierVersMémoire(oDossier,Dossier) +oFicheDossier est un PFicheDossier(oDossier) +nIdInterv est un entier sur 8 octets = TABLE_RDV_Non_Positionne.COL_INPKID +paramDoss est STParamFenetreAppelante +paramDoss.eTypeAppel = DansOnglet +paramDoss.sNomIDAppelant = "DossierInterv" +paramDoss.nIdFenetreAppelante = nIdInterv +paramDoss.sContexteAppelant = MoiMême..Nom +paramDoss.sTitreFenetre = "Dossier" +paramDoss.bRafraichit = Vrai +paramDoss.pclObjetAppelant = oFicheDossier +FEN_Menu.OuvreOuActive(FI_Fiche_Dossier,"Fiche Dossier",Vrai,oFicheDossier,paramDoss) +//Boucle sur tous les onglets du dossier +pour tout sAliasLogiqueDoss de {"FEN_Menu.gtabOngletRef"} +//Il s'agit de l'onglet de l'intervention concerné par le HSurveille +si Contient(sAliasLogiqueDoss,"FI_Fiche_Dossier"+oFicheDossier.m_nPKID) alors +//Stock l'alias de l'onglet +sAliasRefDoss est une chaîne = FEN_Menu.gtabOngletLog[sAliasLogiqueDoss] +si OngletEtat(FEN_Menu.ONG_FENETRE,FEN_Menu.gtabOngletLog[sAliasLogiqueDoss])<>voletInexistant +alors +//Boucle sur tous les onglets du dossier +pour tout sAliasLogiqueInterv de {sAliasRefDoss+".gtabOngletIntervRef"} +//Il s'agit de l'onglet de l'intervention concerné par le HSurveille +si Contient(sAliasLogiqueInterv,"FI_Fiche_Intervention"+nIdInterv) _et_ OngletEtat({ +sAliasRefDoss+".ONG_INTERVENTION"},{sAliasRefDoss+".gtabOngletIntervLog"}[ +sAliasLogiqueInterv])<>voletInexistant alors +//Execute la procédure de rafraichissement des rendez-vous pour l'intervention +concernée +ExécuteTraitement({sAliasRefDoss+".gtabOngletIntervLog"}[sAliasLogiqueInterv]+ +".SelectionneRdvEtModifie", trtProcédure,TABLE_RDV_Non_Positionne.COL_RDVPKID) +fin +fin +fin +fin +fin +06/08/2026 Isis_BO 4809 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › Image +FI_TdbPrincipal_RDV_Manque +Image +FI_TdbPrincipal_RDV_Manque +Informations générales +FI_TdbPrincipal_RDV_Manque +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_TdbPrincipal_RDV_Manque.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | ---- | +| Date de création | | 23/05/2022 10:15:34 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:25 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 263 Hauteur | 405 | +| 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 | | +| 06/08/2026 | | | Isis_BO | | 4810 | + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › Informations générales +| 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 | | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Oui | | | | +| Type cadre | | | | | +| Transparence Vista | Non | | | | +| Transparence gérée par Vista | Non | | | | +| Appliquer le thème du projet | | | | | +| Grisé : Utiliser couleur perso. | Non | | | | +| Grisé : Algo pour images | | | | | +| 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. | | | | | +| 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 | | | | +| 06/08/2026 | | Isis_BO | | 4811 | + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | 5 | Libellé | | | 7 | +| --- | --------------------- | --- | --- | --------------- | --- | --- | --- | +| | Bouton | | 1 | Forme | | | 3 | +| | Zone répétée | | 1 | Fenêtre interne | | | 1 | +| | Attribut zone répétée | | 7 | | | | | +Nombre d'éléments dans la fenêtre : 25 +FI_TdbPrincipal_RDV_Manque +Informations sur les champs +Fenêtre : FI_TdbPrincipal_RDV_Manque +Fenêtre interne +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FI_TdbPrincipal_RDV_Manque | | 0 | 0 263 | 405 | 0 | | | +| -------------------------- | --- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdbPrincipal_RDV_Manque +Forme +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FRM_Titre | | 0 | 0 263 | 50 | 0 | Actif | | +| ---------- | --- | --- | ------- | --- | --- | ----- | ---- | +| 06/08/2026 | | | Isis_BO | | | | 4812 | + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › Informations sur les champs +Zone répétée +BAT ehcuoT +| | | | X noitisoP | | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | --- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_RDV_Manque | | | | 9 | 56 | | 254 | 343 | | 0 | Actif | | +| ------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Zone répétée : FI_TdbPrincipal_RDV_Manque.ZR_RDV_Manque +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_DateDebut | 21 | 88 87 | 22 | 0 | affichag | | Date | | Non | | | | +| -------------- | ------- | ------ | --- | --- | -------- | --- | ----- | --- | --- | --- | --- | --- | +| SAI_DateFin | 122 | 87 87 | 22 | 0 | affichag | | Date | | Non | | | | +| SAI_HeureDebut | 21 130 | 87 | 22 | 0 | affichag | | Heure | | Non | | | | +| SAI_HeureFin | 122 130 | 89 | 22 | 0 | affichag | | Heure | | Non | | | | +| SAI_Lieu | 48 | 41 157 | 28 | 0 | affichag | | Texte | | Non | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | | | | ruegraL | ruetuaH | | | | | | | +| --- | --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_DateDebut | | 21 | | 73 | 89 | 14 | 0 | | Actif | Gauche | Haut | | +| ----------------- | --- | --- | --- | --- | --- | ------- | --- | --- | ----- | ------ | ---- | ---- | +| LIB_DateFin | | 121 | | 72 | 88 | 20 | 0 | | Actif | Gauche | Haut | | +| LIB_HeureDebut | | 20 | 110 | | 100 | 20 | 0 | | Actif | Gauche | Haut | | +| LIB_HeureFin | | 124 | 110 | | 89 | 14 | 0 | | Actif | Gauche | Haut | | +| LIB_Intervention | | 14 | | 13 | 83 | 13 | 0 | | Actif | Gauche | Haut | | +| LIB_Lieu | | 17 | | 41 | 37 | 29 | 0 | | Actif | Gauche | Haut | | +| LIB_NIntervention | | 105 | | 11 | 89 | 21 | 0 | | Actif | Gauche | Haut | | +| 06/08/2026 | | | | | | Isis_BO | | | | | | 4813 | + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › Informations sur les champs +Bouton +notuob epyT +| | | | | laitini tatE | BAT ehcuoT | | +| --- | --- | --- | --- | ------------ | ---------- | --- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Modifier | 201 8 | 24 24 | 0 | Actif | Normal | | +| ------------ | ----- | ----- | --- | ----- | ------ | --- | +Forme +BAT ehcuoT +laitini tatE +| | X noitisoP | Y noitisoP | | | | | +| --- | ---------- | ---------- | ------- | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_SansNom1 | 13 | 35 210 | 131 | 0 | Actif | | +| ------------ | --- | ------ | --- | --- | ----- | --- | +| FRM_SansNom2 | 12 | 9 210 | 23 | 0 | Actif | | +Attribut zone répétée +| | | | | | laitini tatE | BAT ehcuoT | +| --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | +| | X noitisoP | Y noitisoP | | | | | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +ATT_Debut +ATT_Fin +ATT_HDeb +ATT_HFin +ATT_IdRDV +ATT_Lieu +ATT_NIntervention +Fenêtre : FI_TdbPrincipal_RDV_Manque +Fenêtre interne : FI_TdbPrincipal_RDV_Manque +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ---------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Compatible desktop ET mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +Facteur d'agrandissement +0 +| Ctx. HFSQL indép. | Non | | | | | | +| ----------------- | ------- | ------- | --- | --- | --- | ---- | +| Ancrage | | | | | | | +| 06/08/2026 | | Isis_BO | | | | 4814 | + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_TdbPrincipal_RDV_Manque +Forme : FI_TdbPrincipal_RDV_Manque.FRM_Titre +Libellé FR: RDV Manqué +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : FI_TdbPrincipal_RDV_Manque.ZR_RDV_Manque +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 172 +Largeur colonne 254 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Isis_BO 4815 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Oui +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 +06/08/2026 Isis_BO 4816 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › Informations sur les champs +Zone répétée : FI_TdbPrincipal_RDV_Manque.ZR_RDV_Manque +Attribut zone répétée : FI_TdbPrincipal_RDV_Manque.ZR_RDV_Manque.ATT_Debut (3) +Champ associé SAI_DateDebut +Propriété associée 1 +Attribut zone répétée : FI_TdbPrincipal_RDV_Manque.ZR_RDV_Manque.ATT_Fin (4) +Champ associé SAI_DateFin +Propriété associée 1 +Attribut zone répétée : FI_TdbPrincipal_RDV_Manque.ZR_RDV_Manque.ATT_HDeb (5) +Champ associé SAI_HeureDebut +Propriété associée 1 +Attribut zone répétée : FI_TdbPrincipal_RDV_Manque.ZR_RDV_Manque.ATT_HFin (6) +Champ associé SAI_HeureFin +Propriété associée 1 +Attribut zone répétée : FI_TdbPrincipal_RDV_Manque.ZR_RDV_Manque.ATT_IdRDV (1) +Propriété associée -1 +Attribut zone répétée : FI_TdbPrincipal_RDV_Manque.ZR_RDV_Manque.ATT_Lieu (7) +Champ associé SAI_Lieu +Propriété associée 1 +06/08/2026 Isis_BO 4817 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › Informations sur les champs +Attribut zone répétée : +Champ associé LIB_NIntervention +Propriété associée 1 +Bouton : FI_TdbPrincipal_RDV_Manque.ZR_RDV_Manque.BTN_Modifier +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4818 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › Informations sur les champs +Forme : FI_TdbPrincipal_RDV_Manque.ZR_RDV_Manque.FRM_SansNom1 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_TdbPrincipal_RDV_Manque.ZR_RDV_Manque.FRM_SansNom2 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4819 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › Informations sur les champs +Libellé : FI_TdbPrincipal_RDV_Manque.ZR_RDV_Manque.LIB_DateDebut +Libellé FR: Date de début +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_TdbPrincipal_RDV_Manque.ZR_RDV_Manque.LIB_DateFin +Libellé FR: Date de fin +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 +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 +06/08/2026 Isis_BO 4820 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_TdbPrincipal_RDV_Manque.ZR_RDV_Manque.LIB_HeureDebut +Libellé FR: Heure de début +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4821 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › Informations sur les champs +Libellé : FI_TdbPrincipal_RDV_Manque.ZR_RDV_Manque.LIB_HeureFin +Libellé FR: Heure de fin +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_TdbPrincipal_RDV_Manque.ZR_RDV_Manque.LIB_Intervention +Libellé FR: Intervention N° +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 +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 +06/08/2026 Isis_BO 4822 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_TdbPrincipal_RDV_Manque.ZR_RDV_Manque.LIB_Lieu +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4823 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › Informations sur les champs +Libellé : FI_TdbPrincipal_RDV_Manque.ZR_RDV_Manque.LIB_NIntervention +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_TdbPrincipal_RDV_Manque.ZR_RDV_Manque.SAI_DateDebut +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 30 +Largeur interne 85 +06/08/2026 Isis_BO 4824 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › Informations sur les champs +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 +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. +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 +06/08/2026 Isis_BO 4825 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › Informations sur les champs +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome Couleur monochrome du style +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_TdbPrincipal_RDV_Manque.ZR_RDV_Manque.SAI_DateFin +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 131 +Largeur interne 85 +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 +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 +06/08/2026 Isis_BO 4826 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_TdbPrincipal_RDV_Manque.ZR_RDV_Manque.SAI_HeureDebut +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 30 +Largeur interne 85 +06/08/2026 Isis_BO 4827 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › Informations sur les champs +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 +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. +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 +06/08/2026 Isis_BO 4828 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › Informations sur les champs +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome Couleur monochrome du style +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_TdbPrincipal_RDV_Manque.ZR_RDV_Manque.SAI_HeureFin +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 131 +Largeur interne 87 +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 +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 +06/08/2026 Isis_BO 4829 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_TdbPrincipal_RDV_Manque.ZR_RDV_Manque.SAI_Lieu +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 57 +Largeur interne 157 +06/08/2026 Isis_BO 4830 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › Informations sur les champs +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 +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. +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 +06/08/2026 Isis_BO 4831 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › Informations sur les champs +Bouton droit : Monochrome Couleur monochrome du style +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TdbPrincipal_RDV_Manque +Code des champs +Déclarations globales de FI_TdbPrincipal_RDV_Manque +procédure MaFenêtre() +gtabRdv est un tableau dynamique de MRdv +Init() +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur ZR_RDV_Manque +Ouvrir_Dossier() +Clic sur BTN_Modifier ( ZR_RDV_Manque ) +Ouvrir_Dossier() +Initialisation de SAI_DateDebut ( ZR_RDV_Manque ) +// Version 1 +// Description +// Saisie d'une date +Initialisation de SAI_DateFin ( ZR_RDV_Manque ) +// Version 1 +// Description +// Saisie d'une date +Initialisation de SAI_HeureDebut ( ZR_RDV_Manque ) +// Version 1 +// Description +// Saisie d'une heure +FI_TdbPrincipal_RDV_Manque +Procédures +Procédure locale Init +06/08/2026 Isis_BO 4832 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › Procédures +// Résumé : +// Syntaxe : +// Init () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Init() +nN_Zone est un entier = 0 +dhDateDuJour est un DateHeure = DateHeureSys() +dhDateDuJour = Gauche(dhDateDuJour, 8) + "000000000" +nIDRuptureGroupe est un entier sur 8 octets +ZoneRépétéeSupprimeTout(ZR_RDV_Manque) +// requête condition 1 (RDV planifié avec des collaborateurs inactifs) +// condition 1 : date inférieur à aujourd'hui avec RDV non archivé et status différente à fait +// et heure de début et fin différente à 000000000 qui corresponde aux RDV non planifie +rq est une Requête SQL = +[ +SELECT PL_DateDebut,PL_DateFin,PL_IDGroupe,Planning_RDV.PL_PKID, +IN_PKID, +IN_IDDossier, +IN_RefInterne, +LI_PKID, +LI_CodeLieu +FROM Planning_RDV +INNER JOIN Intervention ON IN_PKID = PL_IDIntervention +INNER JOIN Lieu ON LI_PKID = IN_IDLieu +INNER JOIN ParametreMetier ON PA_PKID = PL_IDStatut +WHERE (Planning_RDV.PL_DateDebut BETWEEN {Debut} AND {Fin} +AND NOT Planning_RDV.Archive=1 +AND PA_Valeur<>'4' +AND Planning_RDV.PL_DateDebut NOT LIKE '%000000000' +AND Planning_RDV.PL_DateFin NOT LIKE '%000000000') +ORDER BY Planning_RDV.PL_DateDebut ASC,PL_IDGroupe +] +rq.fin = dhDateDuJour +dhDateDuJour.Mois -=3 +rq.Debut=dhDateDuJour +si HExécuteRequête(rq,hRequêteDéfaut) alors +nIDRuptureGroupe = 0 +pour tout rq +si nIDRuptureGroupe<>rq.PL_IDGroupe _ou_ nIDRuptureGroupe=0 alors +nIDRuptureGroupe=rq.PL_IDGroupe +nN_Zone += 1 +ZoneRépétéeAjoute(ZR_RDV_Manque) +ZR_RDV_Manque[nN_Zone].ATT_NIntervention = rq.IN_RefInterne +ZR_RDV_Manque[nN_Zone].ATT_Lieu = rq.LI_CodeLieu +ZR_RDV_Manque[nN_Zone].ATT_Debut = Gauche(rq.PL_DateDebut, 8) +ZR_RDV_Manque[nN_Zone].ATT_Fin = Gauche(rq.PL_DateFin,8) +ZR_RDV_Manque[nN_Zone].ATT_HDeb = Gauche(Droite(rq.PL_DateDebut,9),6) +ZR_RDV_Manque[nN_Zone].ATT_HFin = Gauche(Droite(rq.PL_DateFin,9),6) +ZR_RDV_Manque[nN_Zone].ATT_IdRDV = rq.PL_PKID +06/08/2026 Isis_BO 4833 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_RDV_Manque › Procédures + +//création d'une instance de MRdv qui est enregistré dans un tableaux pour pouvoir ensuite +ouvrir le RDV dans le planning +| | // | clRdv est un MRdv | | | +| --- | --- | ----------------- | --- | --- | +// +| | // | clRdv:m_nPKID | = rq.PL_PKID | | +| --- | --- | ------------------------ | ----------------------- | --- | +| | // | clRdv:m_nIDGroupe | = rq.PL_IDGroupe | | +| | // | clRdv:m_nIDSociete | = rq.PL_IDSociete | | +| | // | clRdv:m_nIDEquipe | = rq.PL_IDEquipe | | +| | // | clRdv:m_nIDCollaborateur | = rq.PL_IDCollaborateur | | +| | // | clRdv:m_nIDDossier | = rq.PL_IDDossier | | +| | // | clRdv:m_nIDIntervention | = rq.PL_IDIntervention | | +| | // | clRdv:m_nIDTypeActivite | = rq.PL_IDTypeActivite | | +| | // | clRdv:m_nIDStatut | = rq.PL_IDStatut | | +| | // | clRdv:m_sDescription | = rq.PL_Description | | +| | // | clRdv:m_nIDLieu | = rq.PL_IDLieu | | +| | // | clRdv:m_dhDateDebut | = rq.PL_DateDebut | | +| | // | clRdv:m_dhDateFin | = rq.PL_DateFin | | +| | // | clRdv:m_bSuperposable | = rq.PL_Superposable | | +| | // | clRdv:m_bPrive | = rq.PL_Prive | | +| | // | clRdv:m_bGrouper | = rq.PL_Grouper | | +| | // | clRdv:m_sObjet | = rq.PL_Objet | | +| | // | clRdv:m_sIDImport | = rq.PL_IDImport | | +| | // | clRdv:m_nIDPersonne | = rq.PL_IDPersonne | | +// +| | // | TableauAjoute(gtabRdv, clRdv) | | | +| --- | --- | ----------------------------- | --- | --- | +fin +fin +fin +HLibèreRequête(rq) +Procédure locale Ouvrir_Dossier +// Résumé : +// Syntaxe : +// Ouvrir_Dossier () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Ouvrir_Dossier() +oRDV est un MRdv +si pas HLitRecherchePremier(Planning_RDV,PL_PKID,ATT_IdRDV) alors retour +FichierVersMémoire(oRDV,Planning_RDV) +pclFicheRdv est un PFicheRdv(oRDV) +FEN_Menu.OuvreOuActive(FI_Planning,"Planning",Vrai,*,DonneParam(DansOnglet,"FI_Fiche_Intervention", +MoiMême..Nom,Null,"","InterventionRendezVous",*,pclFicheRdv)) +| 06/08/2026 | | | Isis_BO | 4834 | +| ---------- | --- | --- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Client_Non_Batigest › Image +FI_TdbPrincipal_Client_Non_Batigest +Image +FI_TdbPrincipal_Client_Non_Batigest +Informations générales +FI_TdbPrincipal_Client_Non_Batigest +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_TdbPrincipal_Client_Non_Batigest.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | ---- | +| Date de création | | 23/05/2022 10:15:34 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:25 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 263 Hauteur | 405 | +| 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 | | +| 06/08/2026 | | | Isis_BO | | 4835 | + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Client_Non_Batigest › Informations générales +| 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 | | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Oui | | | | +| Type cadre | | | | | +| Transparence Vista | Non | | | | +| Transparence gérée par Vista | Non | | | | +| Appliquer le thème du projet | | | | | +| Grisé : Utiliser couleur perso. | Non | | | | +| Grisé : Algo pour images | | | | | +| 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. | | | | | +| 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 | | | | +| 06/08/2026 | | Isis_BO | | 4836 | + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Client_Non_Batigest › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | 2 | Libellé | | | 5 | +| --- | --------------- | --- | --- | --------------------- | --- | --- | --- | +| | Bouton | | 1 | Combo | | | 1 | +| | Forme | | 3 | Zone répétée | | | 1 | +| | Fenêtre interne | | 1 | Attribut zone répétée | | | 5 | +Nombre d'éléments dans la fenêtre : 19 +FI_TdbPrincipal_Client_Non_Batigest +Informations sur les champs +Fenêtre : FI_TdbPrincipal_Client_Non_Batigest +Fenêtre interne +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FI_TdbPrincipal_Client_Non_Batigest | | 0 | 0 263 | 405 | 0 | | | +| ----------------------------------- | --- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdbPrincipal_Client_Non_Batigest +Forme +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FRM_Titre | | 0 | 0 263 | 50 | 0 | Actif | | +| ---------- | --- | --- | ------- | --- | --- | ----- | ---- | +| 06/08/2026 | | | Isis_BO | | | | 4837 | + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Client_Non_Batigest › Informations sur les champs +Zone répétée +BAT ehcuoT +| | | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | +| --- | --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_Client_Non_Batigest | | | | 4 | | 56 | 254 | | 343 | 0 | Actif | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Zone répétée : FI_TdbPrincipal_Client_Non_Batigest.ZR_Client_Non_Batigest +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_Nom | 19 100 | 198 | 22 | 0 | affichag | | Texte | | Non | | | | | +| ----------- | ------ | --- | --- | --- | -------- | --- | ----- | --- | --- | --- | --- | --- | --- | +| SAI_TelFixe | 19 145 | 90 | 22 | 0 | Actif | | Texte | | Non | | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | --- | +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | | | +| --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | ------------ | --- | --- | --- | --- | +| | | | | | ruegraL | ruetuaH | | | | | | | | +elbisiV +nalP +| LIB_CLIENT | | 14 | | 13 | 83 | 13 | | 0 | Actif | Gauche | Haut | | | +| -------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | --- | +| LIB_CODECLIENT | | 105 | | 11 | 89 | 21 | | 0 | Actif | Gauche | Haut | | | +| LIB_NOM | | 19 | | 83 | 120 | 17 | | 0 | Actif | Gauche | Haut | | | +| LIB_TELFIXE | | 19 | | 128 | 90 | 17 | | 0 | Actif | Gauche | Haut | | | +| LIB_TYPECLIENT | | 19 | | 38 | 125 | 17 | | 0 | Actif | Gauche | Haut | | | +Bouton +| | | | | | | | | | | | BAT ehcuoT | notuob epyT | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | --- | +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | | | | | | +| --- | --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | +| | | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_Modifier | | | 201 | | 8 | 24 | | 24 | 0 | Actif | | Normal | | +| ------------ | --- | --- | --- | --- | --- | ------- | --- | --- | --- | ----- | --- | ------ | ---- | +| 06/08/2026 | | | | | | Isis_BO | | | | | | | 4838 | + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Client_Non_Batigest › 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 +| COMBO_TypeClient | 19 55 | 198 22 | 0 affichag | Variable | Non | | | +| ---------------- | ----- | ------ | ---------- | -------- | --- | --- | --- | +Forme +BAT ehcuoT +laitini tatE +| | | X noitisoP | Y noitisoP | | | | | +| --- | --- | ---------- | ---------- | ------- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_SansNom1 | | 13 | 35 210 | 133 | 0 | Actif | | +| ------------ | --- | --- | ------ | --- | --- | ----- | --- | +| FRM_SansNom2 | | 12 | 9 210 | 23 | 0 | Actif | | +Attribut zone répétée +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +ATT_Code +ATT_ID +ATT_Nom +ATT_Tel +ATT_Type +Fenêtre : FI_TdbPrincipal_Client_Non_Batigest +Fenêtre interne : FI_TdbPrincipal_Client_Non_Batigest +| UI par l'utilisateur | | Selon fenêtre | | | | | | +| -------------------------------- | --- | ---------------------------------- | ------- | --- | --- | --- | ---- | +| Unité des tailles | | Compatible desktop ET mobile | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | +| Taux Paral. Y | | 0 | | | | | | +| Épinglé | | Non | | | | | | +| Masquer lors du scrolling | | Non | | | | | | +| Ancrage au contenu | | | | | | | | +| Numéro aide | | 0 | | | | | | +| Thème destination | | Oui | | | | | | +| Alignement sur l'axe secondaire | | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | | 0 | | | | | | +| Facteur d'agrandissement | | 0 | | | | | | +| Ctx. HFSQL indép. | | Non | | | | | | +| Ancrage | | | | | | | | +| 06/08/2026 | | | Isis_BO | | | | 4839 | + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Client_Non_Batigest › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_TdbPrincipal_Client_Non_Batigest +Forme : FI_TdbPrincipal_Client_Non_Batigest.FRM_Titre +Libellé FR: Client non Batigest +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : FI_TdbPrincipal_Client_Non_Batigest.ZR_Client_Non_Batigest +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 172 +Largeur colonne 254 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Isis_BO 4840 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Client_Non_Batigest › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Oui +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 +06/08/2026 Isis_BO 4841 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Client_Non_Batigest › Informations sur les champs +Zone répétée : FI_TdbPrincipal_Client_Non_Batigest.ZR_Client_Non_Batigest +Attribut zone répétée : +Champ associé LIB_CODECLIENT +Propriété associée 1 +Attribut zone répétée : +Propriété associée -1 +Attribut zone répétée : +Champ associé SAI_Nom +Propriété associée 1 +Attribut zone répétée : +Champ associé SAI_TelFixe +Propriété associée 1 +Attribut zone répétée : +Champ associé COMBO_TypeClient +Propriété associée 1 +Bouton : FI_TdbPrincipal_Client_Non_Batigest.ZR_Client_Non_Batigest.BTN_Modifier +Ordre navigation 1 +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 +06/08/2026 Isis_BO 4842 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Client_Non_Batigest › 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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : +Libellé FR: Type de client +Groupe GR_CADENAS_CLIENT +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 198 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 23 +06/08/2026 Isis_BO 4843 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Client_Non_Batigest › Informations sur les champs +Largeur interne 198 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Type de client +Numéro aide 0 +Texte d'indication si vide FR: Type de client +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeClient.m_clTabModele +Filtre 2 +Rub. affichée :gpclListeTypeClient.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeTypeClient.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4844 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Client_Non_Batigest › Informations sur les champs +Forme : FI_TdbPrincipal_Client_Non_Batigest.ZR_Client_Non_Batigest.FRM_SansNom1 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_TdbPrincipal_Client_Non_Batigest.ZR_Client_Non_Batigest.FRM_SansNom2 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4845 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Client_Non_Batigest › Informations sur les champs +Libellé : FI_TdbPrincipal_Client_Non_Batigest.ZR_Client_Non_Batigest.LIB_CLIENT +Libellé FR: Client N° +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_TdbPrincipal_Client_Non_Batigest.ZR_Client_Non_Batigest.LIB_CODECLIENT +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 +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 +06/08/2026 Isis_BO 4846 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Client_Non_Batigest › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_TdbPrincipal_Client_Non_Batigest.ZR_Client_Non_Batigest.LIB_NOM +Libellé FR: Nom du client +Groupe GR_NOM_CLIENT +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 +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 +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 +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4847 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Client_Non_Batigest › Informations sur les champs +Libellé : FI_TdbPrincipal_Client_Non_Batigest.ZR_Client_Non_Batigest.LIB_TELFIXE +Libellé FR: Téléphone +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 +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 +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 +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : FI_TdbPrincipal_Client_Non_Batigest.ZR_Client_Non_Batigest.LIB_TYPECLIENT +Libellé FR: Type du client +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 +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 +06/08/2026 Isis_BO 4848 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Client_Non_Batigest › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Nom +Groupe GR_NOM_CLIENT +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 23 +Largeur interne 198 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Nom du client +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 100 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +06/08/2026 Isis_BO 4849 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Client_Non_Batigest › Informations sur les champs +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4850 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Client_Non_Batigest › Informations sur les champs +Champ de saisie : +Libellé FR: Téléphone +Groupe GR_CADENAS_CLIENT +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 23 +Largeur interne 90 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Téléphone fixe du contact +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 14 +Masque saisie FR: 21 +Masque affichage FR: 21 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 4851 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Client_Non_Batigest › Informations sur les champs +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. +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 +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FI_TdbPrincipal_Client_Non_Batigest +Code des champs +Déclarations globales de FI_TdbPrincipal_Client_Non_Batigest +procédure FI_TdbPrincipal_Client_Non_Batigest() +maProcMAJObjetRetourFI est une procédure = MAJObjetRetourFI +//gtabClient est un tableau dynamique de MClient +Init() +//SI gtabClient..Occurrence = 0 ALORS +// FRM_Titre..Visible =Faux +//FIN +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur ZR_Client_Non_Batigest +Ouvrir_Client() +Clic sur BTN_Modifier ( ZR_Client_Non_Batigest ) +Ouvrir_Client() +Sortie de COMBO_TypeClient ( ZR_Client_Non_Batigest ) +06/08/2026 Isis_BO 4852 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Client_Non_Batigest › Code des champs +FI_TdbPrincipal_Client_Non_Batigest +Procédures +Procédure locale Init +// Résumé : +// Syntaxe : +// Init () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Init() +nIndice est un entier = 0 +ZoneRépétéeSupprimeTout(ZR_Client_Non_Batigest) +sReqSQL est une Requête SQL = +[ +SELECT * //Client.CL_CodeClient,Client.CL_nom,Client.CL_Tel,Client.CL_IDType +FROM Client +WHERE NOT EXISTS(SELECT 1 FROM Client_BddExterne WHERE Client_BddExterne.CLX_IDCLient = CL_PKID) +ORDER BY CL_CodeClient +] +si HExécuteRequête(sReqSQL,hRequêteDéfaut) alors +pour tout sReqSQL +nIndice += 1 +ZoneRépétéeAjoute(ZR_Client_Non_Batigest) +ZR_Client_Non_Batigest[nIndice].ATT_Code = sReqSQL.CL_CodeClient +ZR_Client_Non_Batigest[nIndice].ATT_Nom = sReqSQL.CL_Nom +ZR_Client_Non_Batigest[nIndice].ATT_Type = sReqSQL.CL_IDType +ZR_Client_Non_Batigest[nIndice].ATT_Tel = sReqSQL.CL_Tel +ZR_Client_Non_Batigest[nIndice].ATT_ID = sReqSQL.CL_PKID +fin +fin +HLibèreRequête(sReqSQL) +Procédure locale MAJObjetRetourFI +06/08/2026 Isis_BO 4853 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Client_Non_Batigest › Procédures +// Résumé : +// Syntaxe : +//[ = ] MAJObjetRetourFI ([...]) +// +// Paramètres : +// <*> : > +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sContexte (chaîne ANSI) : +// pclObjet (objet dynamique) : +// <*> : > +procédure MAJObjetRetourFI(*)//LOCAL sContexte est une chaîne, pclObjet est un objet dynamique +bResultat est un booléen=Vrai +Init() +renvoyer bResultat +Procédure locale Ouvrir_Client +// Résumé : +// Syntaxe : +//Ouvrir_Client () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Ouvrir_Client() +clClient est un MClient +si HLitRecherchePremier(Client,CL_PKID,ATT_ID) alors +FichierVersMémoire(clClient,Client) +pclFicheClient est un PFicheClient(clClient) +FEN_Menu.OuvreOuActive(FI_Fiche_Client,"FI_Fiche_Client",Vrai,pclFicheClient,DonneParam(DansOnglet, +"FI_Fiche_Client",MoiMême..Nom,maProcMAJObjetRetourFI,"","TdBClientNonBatigest",*,pclFicheClient)) +fin +06/08/2026 Isis_BO 4854 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Intervention_Non_Batigest › Image +FI_TdbPrincipal_Intervention_Non_Batigest +Image +FI_TdbPrincipal_Intervention_Non_Batigest +Informations générales +FI_TdbPrincipal_Intervention_Non_B +atigest +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_TdbPrincipal_Intervention_Non_Batigest.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | ---- | +| Date de création | | 23/05/2022 10:15:34 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:25 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 263 Hauteur | 405 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| 06/08/2026 | | | Isis_BO | | 4855 | + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Intervention_Non_Batigest › Informations générales +| 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 | | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Oui | | | | +| Type cadre | | | | | +| Transparence Vista | Non | | | | +| Transparence gérée par Vista | Non | | | | +| Appliquer le thème du projet | | | | | +| Grisé : Utiliser couleur perso. | Non | | | | +| Grisé : Algo pour images | | | | | +| 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. | | | | | +| 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 | | | | +| ---------------------- | --- | ------- | --- | ---- | +| 06/08/2026 | | Isis_BO | | 4856 | + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Intervention_Non_Batigest › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | 3 | Libellé | | | 7 | +| --- | --------------------- | --- | --- | --------------- | --- | --- | --- | +| | Bouton | | 1 | Forme | | | 3 | +| | Zone répétée | | 1 | Fenêtre interne | | | 1 | +| | Attribut zone répétée | | 6 | | | | | +Nombre d'éléments dans la fenêtre : 22 +FI_TdbPrincipal_Intervention_Non_Batigest +Informations sur les champs +Fenêtre : FI_TdbPrincipal_Intervention_Non_Batigest +Fenêtre interne +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FI_TdbPrincipal_Intervention_Non_Batigest | | 0 | 0 263 | 405 | 0 | | | +| ----------------------------------------- | --- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdbPrincipal_Intervention_Non_Batigest +Forme +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FRM_Titre | | 0 | 0 263 | 50 | 0 | Actif | | +| ---------- | --- | --- | ------- | --- | --- | ----- | ---- | +| 06/08/2026 | | | Isis_BO | | | | 4857 | + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Intervention_Non_Batigest › Informations sur les champs +Zone répétée +BAT ehcuoT +| | | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | +| --- | --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_Interv_Non_Batigest | | | | 4 | | 56 | 254 | | 343 | 0 | Actif | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Zone répétée : FI_TdbPrincipal_Intervention_Non_Batigest.ZR_Interv_Non_Batigest +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_NOMSOCIETE | 19 | 61 198 | 22 | 0 | affichag | | Texte | | Non | | | | | +| -------------- | ------ | ------ | --- | --- | -------- | --- | ----- | --- | --- | --- | --- | --- | --- | +| SAI_NomClient | 19 100 | 198 | 22 | 0 | affichag | | Texte | | Non | | | | | +| SAI_SUIVIPAR | 19 144 | 198 | 22 | 0 | affichag | | Texte | | Non | | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | --- | +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | | | +| --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | ------------ | --- | --- | --- | --- | +| | | | | | ruegraL | ruetuaH | | | | | | | | +elbisiV +nalP +| LIB_IDDOSSIER | | 150 | | 38 | 28 | 17 | | 0 | Actif | Gauche | Haut | | | +| ---------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | --- | +| LIB_IDINTERV | | 184 | | 38 | 28 | 17 | | 0 | Actif | Gauche | Haut | | | +| LIB_INTERVENTION | | 14 | | 13 | 83 | 13 | | 0 | Actif | Gauche | Haut | | | +| LIB_NOM | | 19 | | 83 | 120 | 17 | | 0 | Actif | Gauche | Haut | | | +| LIB_REFINTERNE | | 105 | | 11 | 89 | 21 | | 0 | Actif | Gauche | Haut | | | +| LIB_SOCIETE | | 19 | | 38 | 125 | 17 | | 0 | Actif | Gauche | Haut | | | +| LIB_SUIVIPAR | | 19 | | 128 | 90 | 17 | | 0 | Actif | Gauche | Haut | | | +Bouton +notuob epyT +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | | | | | ruegraL | | | elbisiV | | | | | +| --- | --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | --- | --- | +nalP +| BTN_Modifier | | | 201 | | 8 | 24 | | 24 | 0 | Actif | | Normal | | +| ------------ | --- | --- | --- | --- | --- | ------- | --- | --- | --- | ----- | --- | ------ | ---- | +| 06/08/2026 | | | | | | Isis_BO | | | | | | | 4858 | + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Intervention_Non_Batigest › Informations sur les champs +Forme +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_SansNom1 | 13 | 35 210 | 133 | 0 | Actif | | +| ------------ | --- | ------ | --- | --- | ----- | --- | +| FRM_SansNom2 | 12 | 9 210 | 23 | 0 | Actif | | +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +ATT_Client +ATT_IdDossier +ATT_IdInter +ATT_Inter +ATT_Societe +ATT_Suivi +Fenêtre : FI_TdbPrincipal_Intervention_Non_Batigest +Fenêtre interne : FI_TdbPrincipal_Intervention_Non_Batigest +| UI par l'utilisateur Selon fenêtre | | | | | | | +| ------------------------------------------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles Compatible desktop ET mobile | | | | | | | +| Taux Paral. hauteur 0 | | | | | | | +| Taux Paral. Y 0 | | | | | | | +| Épinglé Non | | | | | | | +| Masquer lors du scrolling Non | | | | | | | +| Ancrage au contenu | | | | | | | +| Numéro aide 0 | | | | | | | +| Thème destination Oui | | | | | | | +| Alignement sur l'axe secondaire défini par le champ flexbox (auto) | | | | | | | +| Facteur de rétrécissement 0 | | | | | | | +| Facteur d'agrandissement 0 | | | | | | | +| Ctx. HFSQL indép. Non | | | | | | | +| Ancrage | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Isis_BO | | | | 4859 | +| ---------- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Intervention_Non_Batigest › Informations sur les champs +Fenêtre interne : FI_TdbPrincipal_Intervention_Non_Batigest +Forme : FI_TdbPrincipal_Intervention_Non_Batigest.FRM_Titre +Libellé FR: Intervention non Batigest +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : FI_TdbPrincipal_Intervention_Non_Batigest.ZR_Interv_Non_Batigest +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 172 +Largeur colonne 254 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +06/08/2026 Isis_BO 4860 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Intervention_Non_Batigest › Informations sur les champs +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : FI_TdbPrincipal_Intervention_Non_Batigest.ZR_Interv_Non_Batigest +Attribut zone répétée : +Champ associé SAI_NomClient +Propriété associée 1 +06/08/2026 Isis_BO 4861 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Intervention_Non_Batigest › Informations sur les champs +Attribut zone répétée : +Champ associé LIB_IDDOSSIER +Propriété associée 1 +Attribut zone répétée : +Champ associé LIB_IDINTERV +Propriété associée 1 +Attribut zone répétée : +Champ associé LIB_REFINTERNE +Propriété associée 1 +Attribut zone répétée : +Champ associé SAI_NOMSOCIETE +Propriété associée 1 +Attribut zone répétée : +Champ associé SAI_SUIVIPAR +Propriété associée 1 +Bouton : +Ordre navigation 1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +06/08/2026 Isis_BO 4862 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Intervention_Non_Batigest › Informations sur les champs +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4863 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Intervention_Non_Batigest › Informations sur les champs +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Id +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 +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 +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 +06/08/2026 Isis_BO 4864 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Intervention_Non_Batigest › Informations sur les champs +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Id +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 +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 +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 +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Intervention N° +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +06/08/2026 Isis_BO 4865 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Intervention_Non_Batigest › Informations sur les champs +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_TdbPrincipal_Intervention_Non_Batigest.ZR_Interv_Non_Batigest.LIB_NOM +Libellé FR: Nom du client +Groupe GR_NOM_CLIENT +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 +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 +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 +06/08/2026 Isis_BO 4866 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Intervention_Non_Batigest › Informations sur les champs +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Société +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +06/08/2026 Isis_BO 4867 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Intervention_Non_Batigest › Informations sur les champs +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Suivi Par +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 +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 +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 +06/08/2026 Isis_BO 4868 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Intervention_Non_Batigest › Informations sur les champs +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Nom +Groupe GR_NOM_CLIENT +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 23 +Largeur interne 198 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Nom du client +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 100 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 4869 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Intervention_Non_Batigest › 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 +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Nom +Groupe GR_NOM_CLIENT +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 23 +06/08/2026 Isis_BO 4870 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Intervention_Non_Batigest › Informations sur les champs +Largeur interne 198 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Nom du client +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 100 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +06/08/2026 Isis_BO 4871 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Intervention_Non_Batigest › Informations sur les champs +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome Couleur monochrome du style +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Nom +Groupe GR_NOM_CLIENT +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 23 +Largeur interne 198 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Nom du client +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 100 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 4872 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Intervention_Non_Batigest › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TdbPrincipal_Intervention_Non_Batigest +Code des champs +Déclarations globales de FI_TdbPrincipal_Intervention_Non_Batigest +procédure FI_TdbPrincipal_Intervention_Non_Batigest() +maProcMAJObjetRetourFI est une procédure = MAJObjetRetourFI +gpclListeCollabResp est un PTableCollaborateur dynamique +gpclListeSocieteAppartenance est un PTableSociete dynamique +gpclListeCollabResp = PTableCollaborateur.gNouvellePresentation(0) +gpclListeSocieteAppartenance = PTableSociete.gNouvellePresentation(0) +Init() +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur ZR_Interv_Non_Batigest +06/08/2026 Isis_BO 4873 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Intervention_Non_Batigest › Code des champs +Ouvrir_Intervention() +Clic sur BTN_Modifier ( ZR_Interv_Non_Batigest ) +Ouvrir_Intervention() +FI_TdbPrincipal_Intervention_Non_Batigest +Procédures +Procédure locale Init +// Résumé : +// Syntaxe : +// Init () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Init() +nIndice est un entier = 0 +ZoneRépétéeSupprimeTout(ZR_Interv_Non_Batigest) +rq est une Requête SQL = +[ +SELECT Intervention.*,Client.CL_Nom,Societe.SO_Nom,Collaborateur.CO_Nom,Collaborateur.CO_Prenom +//Client.CL_CodeClient,Client.CL_nom,Client.CL_Tel,Client.CL_IDType +FROM Intervention +INNER JOIN Client ON (CL_PKID=Intervention.IN_IDClient) +INNER JOIN Societe ON (SO_PKID=Intervention.IN_IDSociete) +INNER JOIN Collaborateur ON (CO_PKID=Intervention.IN_IDSuiviPar) +WHERE NOT EXISTS(SELECT 1 FROM Intervention_BddExterne WHERE Intervention_BddExterne. +INX_IDIntervention = IN_PKID) +AND Intervention.IN_DateIntervention<{pDate} +ORDER BY IN_RefInterne +] +d est une Date = DateSys() +d.Mois -= 3 +rq.pDate=d +si HExécuteRequête(rq,hRequêteDéfaut) alors +pour tout rq +nIndice += 1 +ZoneRépétéeAjoute(ZR_Interv_Non_Batigest) +ZR_Interv_Non_Batigest[nIndice].ATT_Inter = rq.IN_REFINTERNE +ZR_Interv_Non_Batigest[nIndice].ATT_IdDossier = rq.IN_IDDossier +06/08/2026 Isis_BO 4874 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Intervention_Non_Batigest › Procédures +ZR_Interv_Non_Batigest[nIndice].ATT_IdInter = rq.IN_PKID +ZR_Interv_Non_Batigest[nIndice].ATT_Client = rq.CL_Nom +ZR_Interv_Non_Batigest[nIndice].ATT_Societe = rq.SO_Nom +ZR_Interv_Non_Batigest[nIndice].ATT_Suivi = rq.CO_Prenom+" "+rq.CO_Nom +fin +fin +HLibèreRequête(rq) +Procédure locale MAJObjetRetourFI +// Résumé : +// Syntaxe : +//[ = ] MAJObjetRetourFI ([...]) +// +// Paramètres : +// <*> : > +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sContexte (chaîne ANSI) : +// pclObjet (objet dynamique) : +// <*> : > +procédure MAJObjetRetourFI(*)//LOCAL sContexte est une chaîne, pclObjet est un objet dynamique +bResultat est un booléen=Vrai +Init() +renvoyer bResultat +Procédure locale Ouvrir_Intervention +// Résumé : +// Syntaxe : +//Ouvrir_Intervention () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Ouvrir_Intervention() +gclPresentationListeDossier est un PTableDossier dynamique +gclPresentationListeDossier = PTableDossier.gNouvellePresentation(5,ZR_Interv_Non_Batigest.ATT_ +IdDossier) +si gclPresentationListeDossier:p_nTotal=1 alors +gclPresentationListeDossier:p_clCourant = gclPresentationListeDossier:m_clTabModele[1] +Sablier() +clPresentationFiche est un objet dynamique +paramDoss est STParamFenetreAppelante +paramDoss.eTypeAppel = DansOnglet +paramDoss.sNomIDAppelant = "TdBClientNonBatigest" +paramDoss.nIdFenetreAppelante = ZR_Interv_Non_Batigest.ATT_IdInter +paramDoss.sContexteAppelant = MoiMême..Nom +paramDoss.gProcMAJRetour = maProcMAJObjetRetourFI +06/08/2026 Isis_BO 4875 + +Partie 3 › Fenêtre WINDEV › FI_TdbPrincipal_Intervention_Non_Batigest › Procédures +paramDoss.sTitreFenetre = "Dossier" +paramDoss.bRafraichit = Vrai +clPresentationFiche <-gclPresentationListeDossier.Modifier() +paramDoss.pclObjetAppelant = clPresentationFiche +FEN_Menu.OuvreOuActive(FI_Fiche_Dossier,"FI_Fiche_Dossier",Vrai,clPresentationFiche,paramDoss) +Sablier(Faux) +fin +06/08/2026 Isis_BO 4876 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients › Image +FI_TdBPrincipal_DerniersClients +Image +FI_TdBPrincipal_DerniersClients +Informations générales +FI_TdBPrincipal_DerniersClients +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_TdBPrincipal_DerniersClients.wdw +| Créé par | | FBO | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 11/06/2019 15:16:29 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:25 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 450 Hauteur | 245 | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 4877 | + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients › Informations générales +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Statistiques de la fenêtre +Libellé 1 Image 1 +Table 1 Fenêtre interne 1 +Colonne de table 4 Disposition 2 +Cellule de disposition 6 +06/08/2026 Isis_BO 4878 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients › Informations générales +Nombre d'éléments dans la fenêtre : 16 +FI_TdBPrincipal_DerniersClients +Informations sur les champs +Fenêtre : FI_TdBPrincipal_DerniersClients +Fenêtre interne +BAT ehcuoT +| | X noitisoP | | | | laitini tatE | | +| --- | ---------- | --- | --- | --- | ------------ | --- | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| FI_TdBPrincipal_DerniersClients | | 0 0 | 450 245 | 0 | | | +| ------------------------------- | --- | --- | ------- | --- | --- | --- | +Fenêtre interne : FI_TdBPrincipal_DerniersClients +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --------------------- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_CARACTERISTIQUE | 0 6 | 173 20 | 0 Actif | Gauche | Haut | | +| ------------------- | --- | ------ | ------- | ------ | ---- | --- | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------------ | --------- | ---------- | +| | | | ruetuaH | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_ICONE_CARACTERISTIQUES | 4 | 7 16 | 16 0 | Actif | | | +| -------------------------- | --- | ------- | ---- | ----- | --- | ---- | +| 06/08/2026 | | Isis_BO | | | | 4879 | + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients › Informations sur les champs +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 | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | +ruegraL +elbisiV +| | | | nalP | | elbaT | | | | | +| ------------------ | --- | --------- | ---- | -------- | ------ | --- | --- | --- | --- | +| TABLE_DERNIERCLIEN | 0 | 0 450 213 | 0 | affichag | Mémoir | | | | 2 | +Disposition +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| DISP_IDENT_COLLAB_TETE | | | 0 | 0 | 450 | 32 | 0 | Actif | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| DISP_IntervDuJour | | | 0 | 0 | 450 | 245 | 0 | Actif | | +Table : FI_TdBPrincipal_DerniersClients.DISP_IntervDuJour.TABLE_DERNIERCLIENT +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | | elbairt ennoloC | ehcrehcer cevA | | | | +| --- | --- | --- | --- | -------------- | --------------- | -------------- | --- | --- | --- | +| | | | | ehcuag à eéxiF | | .zroh egardaC | | | | +.trev egardaC +| | | | | elbaçalpéD | | | eisias epyT | FTR tamroF | eisias cevA | +| ------------ | ---- | --------------- | ------------ | ---------- | --- | ------------- | ----------- | ---------- | ----------- | +| | | | laitini tatE | | | | | engilitluM | | +| | | ruegraL elbisiV | | | | | | | | +| | epyT | | | | | | | | eéirT | +| COL_CLIENT | | 179 | Actif | | | Gauche Centre | Texte | | | +| COL_CODE | | 73 | Actif | | | Gauche Centre | Texte | | | +| COL_ADRESSE | | 182 | Actif | | | Gauche Centre | Texte | | | +| COL_IDCLIENT | | 100 | Actif | | | Droite Centre | Numériq | | | +Fenêtre : FI_TdBPrincipal_DerniersClients +Fenêtre interne : FI_TdBPrincipal_DerniersClients +| UI par l'utilisateur | | Selon fenêtre | | | | | | | | +| ------------------------- | --- | ---------------------------- | --- | ------- | --- | --- | --- | --- | ---- | +| Unité des tailles | | Compatible desktop ET mobile | | | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | | | +| Taux Paral. Y | | 0 | | | | | | | | +| Épinglé | | Non | | | | | | | | +| Masquer lors du scrolling | | Non | | | | | | | | +| Ancrage au contenu | | | | | | | | | | +| Numéro aide | | 0 | | | | | | | | +| 06/08/2026 | | | | Isis_BO | | | | | 4880 | + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients › Informations sur les champs +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_TdBPrincipal_DerniersClients +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4881 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients › Informations sur les champs +Disposition : FI_TdBPrincipal_DerniersClients.DISP_IntervDuJour +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_CARACT.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +06/08/2026 Isis_BO 4882 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients › Informations sur les champs +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Les 10 derniers clients +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4883 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients › Informations sur les champs +Table : FI_TdBPrincipal_DerniersClients.DISP_IntervDuJour.TABLE_DERNIERCLIENT +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre +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) 16 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 4884 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients › Informations sur les champs +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Rub. parcourue -IN_PKID +Rub. mémorisée IN_PKID +Ajout/Suppr. dans variable Non +Synchro HFSQL C/S Toujours +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 : FI_TdBPrincipal_DerniersClients.DISP_IntervDuJour.TABLE_DERNIERCLIENT +Colonne de table : +Titre FR: Client +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 +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 +06/08/2026 Isis_BO 4885 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: N° +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Adresse +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 +06/08/2026 Isis_BO 4886 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients › Informations sur les champs +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: IDCLIENT +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: MoneySystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4887 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients › Code des champs +FI_TdBPrincipal_DerniersClients +Code des champs +Déclarations globales de FI_TdBPrincipal_DerniersClients +procédure MaFenêtre() +Init() +FI_TdBPrincipal_DerniersClients +Procédures +Procédure locale Init +// Résumé : +// Syntaxe : +// Init () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Init() +TableSupprimeTout(TABLE_DERNIERCLIENT) +sReqSQL est une Requête SQL = +[ +SELECT TOP 10 Client.* +,(SELECT STRING_AGG(Adresse.AD_Presentation,CHR(13)+'--------------------'+CHR(13)) FROM Adresse +INNER JOIN Client_Adresse ON (CA_IDAdresse=AD_PKID) WHERE CA_IDClient=CL_PKID) AS Coord +FROM Client +ORDER BY Client.CL_PKID DESC +] +si HExécuteRequête(sReqSQL,hRequêteDéfaut) alors +pour tout sReqSQL +TableAjouteLigne(TABLE_DERNIERCLIENT,sReqSQL.CL_Nom,sReqSQL.CL_CodeClient,sReqSQL.Coord,sReqSQL +.CL_PKID) +fin +fin +06/08/2026 Isis_BO 4888 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients_Suppr › Image +FI_TdBPrincipal_DerniersClients_Suppr +Image +FI_TdBPrincipal_DerniersClients_Suppr +Informations générales +FI_TdBPrincipal_DerniersClients_Sup +pr +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_TdBPrincipal_DerniersClients_Suppr.wdw +| Créé par | | FBO | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 11/06/2019 15:16:29 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:25 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 450 Hauteur | 245 | +| 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 | | | | +| ------------ | --- | ----- | ------- | --- | ---- | +| 06/08/2026 | | | Isis_BO | | 4889 | + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients_Suppr › Informations générales +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +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 +Statistiques de la fenêtre +Libellé 1 Image 1 +Table 1 Fenêtre interne 1 +Colonne de table 4 Disposition 2 +Cellule de disposition 6 +06/08/2026 Isis_BO 4890 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients_Suppr › Informations générales +Nombre d'éléments dans la fenêtre : 16 +FI_TdBPrincipal_DerniersClients_Suppr +Informations sur les champs +Fenêtre : FI_TdBPrincipal_DerniersClients_Suppr +Fenêtre interne +BAT ehcuoT +| | X noitisoP | | | | laitini tatE | | +| --- | ---------- | --- | --- | --- | ------------ | --- | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| FI_TdBPrincipal_DerniersClients_Suppr | | 0 0 | 450 245 | 0 | | | +| ------------------------------------- | --- | --- | ------- | --- | --- | --- | +Fenêtre interne : FI_TdBPrincipal_DerniersClients_Suppr +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --------------------- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_CARACTERISTIQUE | 0 6 | 210 20 | 0 Actif | Gauche | Haut | | +| ------------------- | --- | ------ | ------- | ------ | ---- | --- | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------------ | --------- | ---------- | +| | | | ruetuaH | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_ICONE_CARACTERISTIQUES | 4 | 7 16 | 16 0 | Actif | | | +| -------------------------- | --- | ------- | ---- | ----- | --- | ---- | +| 06/08/2026 | | Isis_BO | | | | 4891 | + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients_Suppr › Informations sur les champs +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 | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | +ruegraL +elbisiV +| | | | nalP | | elbaT | | | | | +| ------------------ | --- | --------- | ---- | -------- | ------ | --- | --- | --- | --- | +| TABLE_DERNIERCLIEN | 0 | 0 450 213 | 0 | affichag | Mémoir | | | | 2 | +Disposition +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| DISP_IDENT_COLLAB_TETE | | | 0 | 0 | 450 | 32 | 0 | Actif | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| DISP_IntervDuJour | | | 0 | 0 | 450 | 245 | 0 | Actif | | +Table : +FI_TdBPrincipal_DerniersClients_Suppr.DISP_IntervDuJour.TABLE_DERNIERCLIENT +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | | elbairt ennoloC | ehcrehcer cevA | | | | +| --- | --- | --- | --- | -------------- | --------------- | -------------- | --- | --- | --- | +| | | | | ehcuag à eéxiF | | .zroh egardaC | | | | +.trev egardaC +| | | | | elbaçalpéD | | | eisias epyT | FTR tamroF | eisias cevA | +| ------------ | ---- | --------------- | ------------ | ---------- | --- | ------------- | ----------- | ---------- | ----------- | +| | | | laitini tatE | | | | | engilitluM | | +| | | ruegraL elbisiV | | | | | | | | +| | epyT | | | | | | | | eéirT | +| COL_CLIENT | | 179 | Actif | | | Gauche Centre | Texte | | | +| COL_CODE | | 73 | Actif | | | Gauche Centre | Texte | | | +| COL_SUPPRPAR | | 182 | Actif | | | Gauche Centre | Texte | | | +| COL_IDCLIENT | | 100 | Actif | | | Droite Centre | Numériq | | | +Fenêtre : FI_TdBPrincipal_DerniersClients_Suppr +Fenêtre interne : FI_TdBPrincipal_DerniersClients_Suppr +| UI par l'utilisateur | | Selon fenêtre | | | | | | | | +| ------------------------- | --- | ---------------------------- | --- | ------- | --- | --- | --- | --- | ---- | +| Unité des tailles | | Compatible desktop ET mobile | | | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | | | +| Taux Paral. Y | | 0 | | | | | | | | +| Épinglé | | Non | | | | | | | | +| Masquer lors du scrolling | | Non | | | | | | | | +| Ancrage au contenu | | | | | | | | | | +| Numéro aide | | 0 | | | | | | | | +| 06/08/2026 | | | | Isis_BO | | | | | 4892 | + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients_Suppr › Informations sur les champs +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_TdBPrincipal_DerniersClients_Suppr +Disposition : +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4893 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients_Suppr › Informations sur les champs +Disposition : FI_TdBPrincipal_DerniersClients_Suppr.DISP_IntervDuJour +Libellé FR: Disposition +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 +Cellule ancrée 0 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_CARACT.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +06/08/2026 Isis_BO 4894 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients_Suppr › Informations sur les champs +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Les 10 derniers clients supprimés +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4895 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients_Suppr › Informations sur les champs +Table : +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre +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) 16 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 4896 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients_Suppr › Informations sur les champs +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Rub. parcourue -IN_PKID +Rub. mémorisée IN_PKID +Ajout/Suppr. dans variable Non +Synchro HFSQL C/S Toujours +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 : +FI_TdBPrincipal_DerniersClients_Suppr.DISP_IntervDuJour.TABLE_DERNIERCLIENT +Colonne de table : +Titre FR: Client +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 +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 +06/08/2026 Isis_BO 4897 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients_Suppr › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: N° +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Supprimé par +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 +06/08/2026 Isis_BO 4898 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients_Suppr › Informations sur les champs +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: IDCLIENT +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: MoneySystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4899 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients_Suppr › Code des champs +FI_TdBPrincipal_DerniersClients_Suppr +Code des champs +Déclarations globales de FI_TdBPrincipal_DerniersClients_Suppr +procédure MaFenêtre() +Init() +FI_TdBPrincipal_DerniersClients_Suppr +Procédures +Procédure locale Init +// Résumé : +// Syntaxe : +// Init () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Init() +cnxJNL est une Connexion +cnxJNL..Provider = hAccèsHFClientServeur +cnxJNL..Accès = hOLectureEcriture +cnxJNL..Cryptage = hCryptageRC5_16 +cnxJNL..Compression = Vrai +cnxJNL..Serveur = gcnxBO..Serveur +cnxJNL..BaseDeDonnées= "__JNL" +cnxJNL..Utilisateur = "admin"//gcnxBO..Utilisateur +cnxJNL..MotDePasse = Mdp3+"!"+Gauche(gcnxBO..BaseDeDonnées,Taille(gcnxBO..BaseDeDonnées)-4) +TableSupprimeTout(TABLE_DERNIERCLIENT) +si HOuvreConnexion(cnxJNL) alors +sdClientJNL est une Source de Données="ClientJNL" +sdJNLUSERS est une Source de Données="JNL_USERS" +sMDP est une chaîne = DonneMdpGroupeDeFichier(ProtectionStd,gcnxBO..BaseDeDonnées) +HPasse("ClientJNL",sMDP) +si HDéclareExterne(ChaîneConstruit("%1\ClientJNL.FIC",gcnxBO..BaseDeDonnées),sdClientJNL,cnxJNL) +HDéclareExterne("JNL_USERS.FIC",sdJNLUSERS,cnxJNL) +sEnreg est une chaîne +pour tout sdClientJNL avec "WLFunction_ID=21" +sEnreg += sdClientJNL.USER_ID +si HLitRecherchePremier(sdJNLUSERS,"USER_ID",sdClientJNL.USER_ID) alors +06/08/2026 Isis_BO 4900 + +Partie 3 › Fenêtre WINDEV › FI_TdBPrincipal_DerniersClients_Suppr › Procédures +HInfoUtilisateur(cnxJNL,sdJNLUSERS.Login) +TableAjouteLigne(TABLE_DERNIERCLIENT,sdClientJNL.CL_Nom,"sdClientJNL.CL_CodeClient", +HUtilisateur.NomComplet,sdClientJNL.CL_PKID) +fin +fin +fin +// //HChangeConnexion("ClientJNL",cnxJNL) +// sReqClientJNL est une chaine =[ +// +//SELECT TOP 10 CLIENTJNL.* FROM [%1\CLIENTJNL] WHERE WLFunction_ID=21 order by Server_Time desc +// +// ] +//HHistoriqueModification(Client) +// +SI HExécuteRequêteSQL(sdJNLFIC,hRequêteDéfaut,ChaîneConstruit(sReqClientJNL,gcnxBO..BaseDeDonnées)) +ALORS +// sEnreg est une chaine +// POUR TOUT sdJNLFIC +// sEnreg += sdJNLFIC.USER_ID +// +//TableAjouteLigne(TABLE_DERNIERCLIENT,sReqSQL.CL_Nom,sReqSQL.CL_CodeClient,sReqSQL.Coord,sReqSQL.CL_PK +ID) +// FIN +// Info(sEnreg) +// FIN +fin +//HInfoFichier(cnx,Client) +//dfFichierJournalClient est une Description de Fichier +// +//HDécritFichier(Client) +//,(SELECT STRING_AGG(Adresse.AD_Presentation,CHR(13)+'--------------------' ++CHR(13)) FROM Adresse INNER JOIN Client_Adresse ON (CA_IDAdresse=AD_PKID) WHERE CA_IDClient=CL_PKID) +AS +Coord +sReqSQLJNLFIC est une chaîne = +[ +SELECT * FROM [_JNL\JNL_FILES] WHERE (Source_DB_File_Location~]'Client.fic') +] +06/08/2026 Isis_BO 4901 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Image +FI_Temps_Saisie +Image +FI_Temps_Saisie +Informations générales +06/08/2026 Isis_BO 4902 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations générales +FI_Temps_Saisie +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Temps_Saisie.wdw +| Créé par | | SMR | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | --- | +| Date de création | | 14/11/2023 09:13:35 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 08/10/2025 14:43:47 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 1483 | 825 | +| Position X | Position Y | | Largeur | Hauteur | | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| Style du menu | | Windows 11 | | | | +| 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. | | | | | | +| 06/08/2026 | | | Isis_BO | | 4903 | + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations générales +| 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 | | | | | | +Statistiques de la fenêtre +| | Champ de saisie | | 14 | Libellé | | 13 | +| --- | ---------------------- | --- | --- | --------------------- | --- | --- | +| | Bouton | | 20 | Interrupteur | | 1 | +| | Sélecteur | | 1 | Image | | 8 | +| | Table | | 2 | Combo | | 4 | +| | Forme | | 2 | Zone répétée | | 2 | +| | Fenêtre interne | | 1 | Superchamp | | 3 | +| | Attribut zone répétée | | 12 | Option d'interrupteur | | 1 | +| | Option de sélecteur | | 3 | Colonne de table | | 14 | +| | Agenda | | 1 | Disposition | | 2 | +| | Cellule de disposition | | 7 | | | | +Nombre d'éléments dans la fenêtre : 111 +FI_Temps_Saisie +Informations sur les champs +Fenêtre : FI_Temps_Saisie +Fenêtre interne +BAT ehcuoT +X noitisoP Y noitisoP laitini tatE +| | | | ruegraL | ruetuaH | | | +| --- | --- | --- | ------- | ------- | --- | --- | +elbisiV +nalP +| FI_Temps_Saisie | | 0 | 0 1483 | 825 | 0 | | +| --------------- | --- | --- | ------- | --- | --- | ---- | +| 06/08/2026 | | | Isis_BO | | | 4904 | + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Fenêtre interne : FI_Temps_Saisie +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_Periode | 585 | 79 288 | 22 | 0 | Actif | Texte | | Non | | | | | +| ------------- | --- | ------ | --- | ---------- | ----- | ------ | --- | --- | --- | --- | --- | --- | +| SAI_TempTotal | 957 | 63 141 | 42 | 0 affichag | | Numéri | | Non | | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | --- | +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_ANNEE | | 667 | 40 | 52 | 14 | 0 | | Actif | Gauche | Haut | | | +| ---------------------- | --- | ---- | ----- | --- | --- | --- | ----- | ----- | ------ | ------ | --- | --- | +| LIB_CARACTERISTIQUE | | | 7 125 | 273 | 16 | 0 | | Actif | Gauche | Haut | | | +| LIB_COLLABORATEUR | | | 9 63 | 238 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_COLLABORATEUR_DEST | | 1530 | 22 | 238 | 14 | 0 | Grisé | | Gauche | Haut | | | +| LIB_Societe | | | 9 40 | 86 | 14 | 0 | | Actif | Gauche | Haut | | | +| LIB_Titre_de_fenêtre | | | 6 6 | 287 | 21 | 0 | | Actif | Gauche | Centre | | | +Bouton +notuob epyT +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | --- | --- | +nalP +| BTN_CSV | | | 10 | 4 | 24 | 24 | | 0 | Actif | | Normal | | +| ----------------------------- | --- | --- | ---- | --- | ------- | --- | --- | --- | ----- | --- | ------- | ---- | +| BTN_Calendrier | | | 879 | 78 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_CopierBas | | | 677 | 393 | 107 | 24 | | 0 | Actif | | Normal | | +| BTN_CopierHaut | | | 550 | 393 | 107 | 24 | | 0 | Actif | | Normal | | +| BTN_CopierSemaine | | | 1532 | 81 | 136 | 24 | | 0 | Grisé | | Normal | | +| BTN_Fermer_fiche_intervention | | | 4 | 4 | 24 | 24 | | 0 | Actif | | Abandon | | +| BTN_Imprimer | | | 4 | 4 | 24 | 24 | | 0 | Grisé | | Normal | | +| BTN_LOUPE_Collaborateur | | | 450 | 58 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_PERIODE_PRECEDENTE | | | 553 | 77 | 26 | 26 | | 0 | Actif | | Normal | | +| BTN_PERIODE_SUIVANTE | | | 908 | 75 | 30 | 30 | | 0 | Actif | | Normal | | +| BTN_Parametre | | | 4 | 4 | 24 | 24 | | 0 | Grisé | | Normal | | +| BTN_Refresh | | | 5 | 4 | 24 | 24 | | 0 | Actif | | Normal | | +| 06/08/2026 | | | | | Isis_BO | | | | | | | 4905 | + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | ruegraL | elbisiV | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +nalP +| INT_CollaborateurInatif | | 9 81 | 259 25 | 0 | Actif | | 1 | | +| ----------------------- | --- | ---- | ------ | --- | ----- | --- | --- | --- | +Sélecteur +ellennoitroporp .loC +| | | | | | | BAT ehcuoT sennoloc .bN | | | +| --- | --- | --------------------- | --- | --- | ------------ | ----------------------- | --- | ----------- | +| | | | | | laitini tatE | | | staté siorT | +| | | X noitisoP Y noitisoP | | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| SEL_ModeAffichage | | 646 58 | 229 23 | 0 | Actif | | 3 | | +| ----------------- | --- | ------ | ------ | --- | ----- | --- | --- | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | | | sucof cevA | +| --- | --- | --------------------- | --------------- | --- | ------------ | --------- | --- | ---------- | +| | | X noitisoP Y noitisoP | | | | | | | +| | | | ruegraL ruetuaH | | | cilc cevA | | | +elbisiV +nalP +| IMG_LISTE_MODELES1 | | 6 119 | 334 32 | 0 | Actif | | | | +| ------------------ | --- | ------ | ------ | --- | ----- | --- | --- | --- | +| IMG_Lien | | -59 47 | 30 30 | 0 | Actif | | | | +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 +| | | | nalP | elbaT | eéirT | | | | +| --------------------- | ---- | --------- | ------- | ------- | ----- | --- | --- | ---- | +| COMBO_IDCollaborateur | 253 | 59 193 22 | 0 Actif | Mémoire | | Non | | | +| COMBO_SDT_Annee | 725 | 36 76 22 | 0 Actif | Mémoire | | Non | | | +| COMBO_SDT_IDCollabora | 1511 | 47 238 22 | 0 Grisé | Mémoire | | Non | | | +| COMBO_Societe | 253 | 36 220 22 | 0 Actif | Mémoire | | Non | | | +| 06/08/2026 | | | Isis_BO | | | | | 4906 | + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Forme +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_ENTETE | 0 | 33 1483 | 75 | 0 | Actif | | +| ---------- | --- | ------- | --- | --- | ----- | --- | +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_Liste | 6 | 151 334 | 674 | 0 | Actif | | +| -------------------------- | --- | ------- | --- | --- | ----- | --- | +| SC_SuiviTemps | 351 | 111 699 | 270 | 0 | Actif | | +| SC_SuiviTempsCollaborateur | 351 | 427 699 | 395 | 0 | Actif | | +Agenda +BAT ehcuoT +laitini tatE +| | X noitisoP | Y noitisoP | | | | | +| --- | ---------- | ---------- | ------- | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| AGD_Collaborateur | 1056 | 119 405 | 697 | 0 | affichag | | +| ----------------- | ---- | ------- | --- | --- | -------- | --- | +Disposition +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| DISP_BANDEAU_ENTETE | 0 | 0 1483 | 33 | 0 | Actif | | +| ------------------- | --- | ------ | --- | --- | ----- | --- | +| DISP_FICHE_TEMPS | 0 | 0 1483 | 33 | 0 | Actif | | +Superchamp : FI_Temps_Saisie.SC_Liste +Zone répétée +| | | | | | laitini tatE | BAT ehcuoT | +| --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | +| | X noitisoP | Y noitisoP | | | | | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| ZR_ListeRDV | 7 | 154 334 | 668 | 0 | affichag | | +| ----------- | --- | ------- | --- | --- | -------- | ---- | +| 06/08/2026 | | Isis_BO | | | | 4907 | + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Zone répétée : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV +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_DateDebut | 298 40 | 18 | 22 | 0 | Grisé | Numéri | | Non | | | | | +| ------------- | ------ | --- | --- | --- | ----- | ------ | --- | --- | --- | --- | --- | --- | +| SAI_DateFin | 272 61 | 18 | 22 | 0 | Grisé | Numéri | | Non | | | | | +| SAI_IdGroupe | 297 21 | 18 | 22 | 0 | Grisé | Numéri | | Non | | | | | +| SAI_IdTypeRDV | 273 38 | 19 | 22 | 0 | Grisé | Numéri | | Non | | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | --- | +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Adresse | | 6 | | 51 261 | 44 | | 0 | Actif | Gauche | Haut | | | +| ---------------- | --- | --- | --- | ------ | --- | --- | --- | ----- | ------ | ---- | --- | --- | +| LIB_NomClient | | 6 | | 37 276 | 15 | | 0 | Actif | Gauche | Haut | | | +| LIB_NumInter | | 55 | | 3 227 | 16 | | 0 | Actif | Gauche | Haut | | | +| LIB_Periodeinter | | 55 | | 17 227 | 16 | | 0 | Actif | Gauche | Haut | | | +Bouton +notuob epyT +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | --- | --- | +nalP +| BTN_Initiale | | | 0 | 2 | 56 | | 34 | 0 | Actif | | Normal | | +| ------------ | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | ------ | --- | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP | | Y noitisoP | | | | | laitini tatE | | | sucof cevA | +| --- | --- | ---------- | --- | ---------- | --- | ------- | --- | --- | ------------ | --------- | --- | ---------- | +| | | | | | | ruetuaH | | | | cilc cevA | | | +ruegraL +elbisiV +nalP +| IMG_Controle | | | 286 | 60 | 30 | 30 | | 0 | affichag | | | | +| ------------ | --- | --- | --- | --- | ------- | --- | --- | --- | -------- | --- | --- | ---- | +| IMG_Grp | | | 286 | 5 | 30 | 30 | | 0 | Actif | | | | +| 06/08/2026 | | | | | Isis_BO | | | | | | | 4908 | + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Forme +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_SansNom1 | | 46 | 32 | 228 | 2 | 0 | Actif | | +| ------------ | --- | --- | --- | --- | --- | --- | ----- | --- | +Attribut zone répétée +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +ATT_Adresse +ATT_DateDebut +ATT_DateFin +ATT_IDCollab +ATT_IDInter +ATT_IDRdv +ATT_IdGroupe +ATT_IdTypeRDV +ATT_Initiale +ATT_NomClient +ATT_NumInter +ATT_Periode +Superchamp : FI_Temps_Saisie.SC_SuiviTemps +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 +Numéri +| SAI_TempsPasse | 519 150 105 | 42 0 | Actif | | Non | | | | +| ----------------- | ----------- | ---- | ------- | ------ | --- | --- | --- | ---- | +| SAI_TempsPrevu | 388 149 105 | 42 0 | Actif | Numéri | Non | | | | +| SAI_TempsRestante | 650 149 163 | 43 0 | Actif | Texte | Non | | | | +| 06/08/2026 | | | Isis_BO | | | | | 4909 | + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › 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_LibelleRdv | | 384 123 | 367 | 16 | 0 | Actif | Gauche | Haut | | +| -------------- | --- | ------- | --- | --- | --- | ----- | ------ | ---- | --- | +Bouton +| | | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | ----------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_ModifierTemps | | 963 | 150 | 24 | 24 | 0 | Actif | | Normal | +| ------------------ | --- | --- | --- | --- | --- | --- | ----- | --- | ------ | +| BTN_NouveauTemps | | 929 | 150 | 24 | 24 | 0 | Actif | | Normal | +| BTN_SupprimerTemps | | 997 | 150 | 24 | 24 | 0 | Actif | | Normal | +Image +| | | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --------------------- | ----------------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +cilc cevA +| | | | ruegraL | | ruetuaH | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| IMG_ENTET_FICHE1 | | 363 | 118 | 670 | 88 | 0 | Actif | | | +| ---------------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +lennoitroporp .csA +.loc .gifnoc .oméM +| | | | | | | )(ertliFH resilitU | | ruesnecsa elluB EERTNE noitseG | | +| --- | --- | --- | --- | --- | --- | ------------------ | -------------- | ------------------------------ | ----------------------------- | +| | | | | | | .gerne egacolB | noitcelésitluM | edacsac eisiaS | eércna ennoloC 5.5 elbitapmoC | +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | --- | --- | +sruocraP +ruegraL ruetuaH +elbisiV +| | | nalP | | | elbaT | | | | | +| ----------------- | ------- | ------- | ------- | --- | ------ | --- | --- | --- | --- | +| TABLE_TempsSaisie | 364 198 | 670 175 | 0 Actif | | Mémoir | | | | 4 | +Table : FI_Temps_Saisie.SC_SuiviTemps.TABLE_TempsSaisie +| 06/08/2026 | | | | Isis_BO | | | | | 4910 | +| ---------- | --- | --- | --- | ------- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › 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_Controle | 374 | 226 25 | 25 0 | affichag | | | +| ------------ | --- | ------ | ---- | -------- | --- | --- | +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +| | | ehcuag à eéxiF | .zroh egardaC | | | | +| --- | --- | -------------- | ------------- | --- | --- | --- | +.trev egardaC +| | | elbaçalpéD | | eisias epyT | FTR tamroF | eisias cevA | +| --- | --- | ------------ | --- | ----------- | ---------- | ----------- | +| | | laitini tatE | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +| COL_Controle | 55 affichag | | Centre Centre | | | | +| ------------- | ------------ | --- | ------------- | ------- | --- | --- | +| COL_Date | 109 affichag | | Centre Centre | Date | | | +| COL_TypeTemps | 151 affichag | | Gauche Centre | Texte | | | +| COL_Duree | 156 affichag | | Centre Centre | Numériq | | | +| COL_Libelle | 181 affichag | | Gauche Centre | Texte | | | +Numériq +| COL_IDTemps | 100 Actif | | Droite Centre | | | | +| ----------- | --------- | --- | ------------- | --- | --- | --- | +Numériq +| COL_IdTypeTemps | 100 Grisé | | Droite Centre | | | | +| --------------- | --------- | --- | ------------- | --- | --- | --- | +Superchamp : FI_Temps_Saisie.SC_SuiviTempsCollaborateur +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --------------------- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| LIB_Collaborateurs | 378 442 | 391 21 | 0 Actif | Gauche | Haut | | +| ------------------ | ------- | ------ | ------- | ------ | ---- | --- | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------------ | --------- | ---------- | +| | | | ruetuaH | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_ENTET_FICHE2 | 363 | 433 671 | 383 0 | Actif | | | +| ---------------- | --- | ------- | ----- | ----- | --- | ---- | +| 06/08/2026 | | Isis_BO | | | | 4911 | + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Zone répétée +BAT ehcuoT +| | | | X noitisoP | | Y noitisoP | | | | | | laitini tatE | | | +| --- | --- | --- | ---------- | --- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_RdvGroupes | | | | 364 | 469 | | 669 | 347 | | 0 | Actif | | | +| ------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Zone répétée : FI_Temps_Saisie.SC_SuiviTempsCollaborateur.ZR_RdvGroupes +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_IdCollaborrateur | 343 | 9 18 | 22 | 0 | Grisé | | Numéri | | Non | | | | | +| -------------------- | ------ | ---- | --- | --- | ----- | --- | ------ | --- | --- | --- | --- | --- | --- | +| SAI_IdRdv | 320 | 9 18 | 22 | 0 | Grisé | | Numéri | | Non | | | | | +| SAI_TempsPasseGrp | 13 100 | 82 | 42 | 0 | Actif | | Numéri | | Non | | | | | +| SAI_TempsPrevuGrp | 13 60 | 82 | 42 | 0 | Actif | | Numéri | | Non | | | | | +SAI_TempsRestanteG +| | 13 148 | 111 | 43 | 0 | Actif | | Texte | | Non | | | | | +| --- | ------ | --- | --- | --- | ----- | --- | ----- | --- | --- | --- | --- | --- | --- | +Libellé +tuaféd rap eéminA +| | | | | | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | --- | +| | | | | | | | | | laitini tatE | | | FTR tamroF | | +X noitisoP Y noitisoP +| | | | | ruegraL | | ruetuaH | | | | | | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_NomPrenom | | 73 | | 13 | 144 | 38 | 0 | | Actif | Gauche | Centre | | | +| ------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | --- | +Bouton +notuob epyT +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Initiale | | | 6 | | 11 | 67 | 42 | | 0 | Actif | | Normal | | +| --------------------- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | ----- | --- | ------ | ---- | +| BTN_ModifierTempsGrp | | | 574 | | 11 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_NouveauTempsGrp | | | 540 | | 11 | 24 | 24 | | 0 | Actif | | Normal | | +| BTN_SupprimerTempsGrp | | | 608 | | 12 | 24 | 24 | | 0 | Actif | | Normal | | +| 06/08/2026 | | | | | | Isis_BO | | | | | | | 4912 | + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +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 | | | | +| --- | --------------------- | ------- | ------------ | -------- | --- | --- | +| | | ruetuaH | | sruocraP | | | +ruegraL +elbisiV +| | | nalP | elbaT | | | | +| ------------------ | ------ | --------- | ------------ | --- | --- | --- | +| TABLE_TempsSaisieG | 130 41 | 515 150 0 | Actif Mémoir | | | 4 | +Table : +FI_Temps_Saisie.SC_SuiviTempsCollaborateur.ZR_RdvGroupes.TABLE_TempsSaisieGrp +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | | | | laitini tatE | sucof cevA | +| --- | --- | --------------------- | --------------- | --- | ------------ | ---------- | +| | | X noitisoP Y noitisoP | | | | | +| | | | ruegraL ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_Controle | | 10 4 | 25 25 | 0 | affichag | | +| ------------ | --- | ---- | ----- | --- | -------- | --- | +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +| | | | ehcuag à eéxiF | .zroh egardaC | | | +| --- | --- | --- | -------------- | ------------- | --- | --- | +.trev egardaC +| | | | elbaçalpéD | | eisias epyT FTR tamroF | eisias cevA | +| --- | --- | --- | ---------- | --- | ---------------------- | ----------- | +laitini tatE engilitluM +ruegraL elbisiV +eéirT +epyT +| COL_Controle | | 53 affichag | | Centre Centre | | | +| ------------- | --- | ------------ | --- | ------------- | ------- | --- | +| COL_Date | | 99 affichag | | Centre Centre | Date | | +| COL_TypeTemps | | 118 affichag | | Gauche Centre | Texte | | +| COL_Duree | | 88 affichag | | Centre Centre | Numériq | | +| COL_Libelle | | 141 affichag | | Gauche Centre | Texte | | +Numériq +| COL_IDTemps | | 100 Grisé | | Droite Centre | | | +| ----------- | --- | --------- | --- | ------------- | --- | --- | +Numériq +| COL_IdTypeTemps | | 100 Grisé | | Droite Centre | | | +| --------------- | --- | --------- | ------- | ------------- | --- | ---- | +| 06/08/2026 | | | Isis_BO | | | 4913 | + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Fenêtre : FI_Temps_Saisie +Fenêtre interne : FI_Temps_Saisie +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Temps_Saisie +Agenda : FI_Temps_Saisie.AGD_Collaborateur +Libellé FR: Agenda +Ordre navigation 13 +Curseur survol 32512 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne 48 +Hauteur journée entière 35 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +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 +Mémoriser le mode Oui +Édition Rdv par simple clic Non +06/08/2026 Isis_BO 4914 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Journée entière Non +Boutons période Jamais +Numéro semaine Non +Semaine ISO8601 Non +Affiche mois Non +Autorise chevauchement Oui +Texte Markdown Non +Mode menu ctx. +Mode Aff. Agenda Jour +Nb. Jours 5 +FI en mode Mois Oui +Granularité de déplacement 15 +Granularité de durée 15 +Masque date FR: JJJ JJ +Premier jour semaine Lundi +Chevauche rendez-vous Décalage +Rendez-vous redim. Non +Rendez-vous déplaçable Non +Heure visible début 0600 +Heure visible fin 2000 +Heure ouvrable début 0800 +Heure ouvrable fin 2100 +Sélection de périodes Non +Hauteur heure fixe Oui +Réglette modifiable Oui +Réglette visible Non +Source de remplissage Mémoire +Nb. Enreg. Max -1 +Suppr. dans source Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite, largeur et hauteur +Taux anc. droite 650 Taux anc. bas 0 Taux anc. largeur 380 Taux anc. hauteur 950 +Bouton : FI_Temps_Saisie.DISP_FICHE_TEMPS.DISP_BANDEAU_ENTETE.BTN_CSV +Ordre navigation -1 +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 +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +06/08/2026 Isis_BO 4915 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\CSV.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 : FI_Temps_Saisie.BTN_Calendrier +Ordre navigation 9 +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 +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 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 4916 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Facteur d'agrandissement 0 +Type flèche +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\ICONE_ENTETE_BANDEAU_AGENDA.png +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : FI_Temps_Saisie.BTN_CopierBas +Libellé FR: Copier +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\copierHaut.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +06/08/2026 Isis_BO 4917 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : FI_Temps_Saisie.BTN_CopierHaut +Libellé FR: Copier +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\copierBas.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4918 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Bouton : FI_Temps_Saisie.BTN_CopierSemaine +Libellé FR: Copier la semaine +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4919 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Bouton : +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4920 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Bouton : FI_Temps_Saisie.DISP_FICHE_TEMPS.DISP_BANDEAU_ENTETE.BTN_Imprimer +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_imprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4921 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Bouton : FI_Temps_Saisie.BTN_LOUPE_Collaborateur +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_chercher.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4922 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Bouton : FI_Temps_Saisie.BTN_PERIODE_PRECEDENTE +Ordre navigation 8 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_A_Gauche.png +Nb. états image 5 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4923 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Bouton : FI_Temps_Saisie.BTN_PERIODE_SUIVANTE +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_A_Droite.png +Nb. états image 5 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4924 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Bouton : FI_Temps_Saisie.DISP_FICHE_TEMPS.DISP_BANDEAU_ENTETE.BTN_Parametre +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_Paramétrage.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4925 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Bouton : FI_Temps_Saisie.DISP_FICHE_TEMPS.DISP_BANDEAU_ENTETE.BTN_Refresh +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_refresh.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4926 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Combo : FI_Temps_Saisie.COMBO_IDCollaborateur +Libellé FR: Collaborateur Actif seulement +Valeur initiale 0 +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 193 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 253 +Largeur interne 193 +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 +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 +06/08/2026 Isis_BO 4927 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +Filtre 8 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Temps_Saisie.COMBO_SDT_Annee +Libellé FR: Année +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 76 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 725 +Largeur interne 76 +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 +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 +06/08/2026 Isis_BO 4928 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › 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 Oui +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. +Avec recherche Non +Nb. Enreg. Max 0 +Filtre 08 +Rub. affichée :gpclListeTypeLieu.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeTypeLieu.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Temps_Saisie.COMBO_SDT_IDCollaborateur1 +Libellé FR: Copier vers +Valeur initiale 0 +Ordre navigation 3 +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 238 +Larg. déroulée perso. Non +06/08/2026 Isis_BO 4929 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 1511 +Largeur interne 238 +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 +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. +Avec recherche Non +Nb. Enreg. Max 0 +Filtre 8 +1ère ligne perso. Non +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 +06/08/2026 Isis_BO 4930 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Combo : FI_Temps_Saisie.COMBO_Societe +Libellé FR: &Société +Groupe GR_CADENAS_INTERV +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 220 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 253 +Largeur interne 220 +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 +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 +06/08/2026 Isis_BO 4931 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +Rub. affichée :gpclListeSocieteAppartenance.m_clTabModele.m_sNom +Rub. mémorisée :gpclListeSocieteAppartenance.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_Temps_Saisie.DISP_FICHE_TEMPS.DISP_BANDEAU_ENTETE +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 12 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 0 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4932 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Disposition : FI_Temps_Saisie.DISP_FICHE_TEMPS +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 6 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Temps_Saisie.FRM_ENTETE +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4933 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Image : FI_Temps_Saisie.IMG_LISTE_MODELES1 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Image : FI_Temps_Saisie.IMG_Lien +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\lié.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Ascenseur et zoom auto. Non +06/08/2026 Isis_BO 4934 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Temps_Saisie.INT_CollaborateurInatif +Libellé FR: &Interrupteur +Valeur initiale 0 +Ordre navigation 11 +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 +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 +06/08/2026 Isis_BO 4935 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Temps_Saisie.LIB_ANNEE +Libellé FR: Année +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 +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 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4936 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Libellé : FI_Temps_Saisie.LIB_CARACTERISTIQUE +Libellé FR: Liste des rendez-vous du collaborateur +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Temps_Saisie.LIB_COLLABORATEUR +Libellé FR: Collaborateur Actif seulement +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 +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 +06/08/2026 Isis_BO 4937 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Temps_Saisie.LIB_COLLABORATEUR_DEST +Libellé FR: Copier vers +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 +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 +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4938 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Libellé : FI_Temps_Saisie.LIB_Societe +Libellé FR: Société +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Saisie des temps par Collaborateur +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 +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 +06/08/2026 Isis_BO 4939 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Temps_Saisie.SAI_Periode +Libellé FR: Période : +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 650 +Largeur interne 223 +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 +Lien automatique Non +06/08/2026 Isis_BO 4940 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › 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 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. +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4941 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Champ de saisie : FI_Temps_Saisie.SAI_TempTotal +Libellé FR: Total (Temps en heures) +Groupe GR_NewSaisie +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 957 +Largeur interne 141 +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: 99,99 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 4942 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › 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. +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Temps_Saisie.SC_Liste +Ordre navigation 14 +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 674 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4943 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Superchamp : FI_Temps_Saisie.SC_SuiviTemps +Ordre navigation 12 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Largeur externe 699 +Hauteur externe 270 +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 +Taux anc. droite 210 Taux anc. bas 1000 Taux anc. largeur 390 Taux anc. hauteur 1000 +Superchamp : FI_Temps_Saisie.SC_SuiviTempsCollaborateur +Ordre navigation 15 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Largeur externe 699 +Hauteur externe 395 +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 Droite, largeur et hauteur +06/08/2026 Isis_BO 4944 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Taux anc. droite 210 Taux anc. bas 1000 Taux anc. largeur 390 Taux anc. hauteur 1000 +Sélecteur : FI_Temps_Saisie.SEL_ModeAffichage +Libellé FR: &Sélecteur 2 colonnes +Valeur initiale 1 +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec ValeurRenvoyée Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 Oui +Type bandeau Toute la hauteur de l'option +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. +Image D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\210 Blueberries\Blueberries_Radio.png +Nb. états image 1 +Largeur image 23 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4945 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Superchamp : FI_Temps_Saisie.SC_Liste +Zone répétée : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 93 +Largeur colonne 334 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +06/08/2026 Isis_BO 4946 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 200 Taux anc. hauteur 1000 +Zone répétée : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV +Attribut zone répétée : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV.ATT_Adresse (5) +Champ associé LIB_Adresse +Propriété associée 1 +Attribut zone répétée : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV.ATT_DateDebut (9) +Champ associé SAI_DateDebut +Propriété associée 1 +Attribut zone répétée : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV.ATT_DateFin (10) +Champ associé SAI_DateFin +Propriété associée 1 +Attribut zone répétée : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV.ATT_IDCollab (8) +Propriété associée 1 +06/08/2026 Isis_BO 4947 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Attribut zone répétée : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV.ATT_IDInter (6) +Propriété associée 1 +Attribut zone répétée : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV.ATT_IDRdv (7) +Propriété associée 1 +Attribut zone répétée : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV.ATT_IdGroupe (11) +Champ associé SAI_IdGroupe +Propriété associée 1 +Attribut zone répétée : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV.ATT_IdTypeRDV (12) +Champ associé SAI_IdTypeRDV +Propriété associée 1 +Attribut zone répétée : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV.ATT_Initiale (1) +Champ associé BTN_Initiale +Propriété associée 5 +Attribut zone répétée : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV.ATT_NomClient (4) +Champ associé LIB_NomClient +Propriété associée 1 +06/08/2026 Isis_BO 4948 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Attribut zone répétée : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV.ATT_NumInter (2) +Champ associé LIB_NumInter +Propriété associée 1 +Attribut zone répétée : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV.ATT_Periode (3) +Champ associé LIB_Periodeinter +Propriété associée 1 +Bouton : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV.BTN_Initiale +Libellé FR: XVA +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 +06/08/2026 Isis_BO 4949 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV.FRM_SansNom1 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV.IMG_Controle +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\valide.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +06/08/2026 Isis_BO 4950 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV.IMG_Grp +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4951 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Libellé : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV.LIB_Adresse +Libellé FR: 75 chemins des Ecoliers +BP 6302 +42190 SAINT HILAIRE SOUS CHARLIEU +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV.LIB_NomClient +Libellé FR: Nom du Client +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Isis_BO 4952 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV.LIB_NumInter +Libellé FR: Intervention n° 00002336 +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4953 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Libellé : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV.LIB_Periodeinter +Libellé FR: Le 02/02/2020 de 14h00 à 16h00 +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV.SAI_DateDebut +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 305 +06/08/2026 Isis_BO 4954 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Largeur interne 18 +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: 99 999 999 999 999 999 999 +Borne max. 9223372036854775807 +Borne min. 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +06/08/2026 Isis_BO 4955 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome Couleur monochrome du style +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV.SAI_DateFin +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 280 +Largeur interne 17 +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: 99 999 999 999 999 999 999 +Borne max. 9223372036854775807 +Borne min. 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 4956 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV.SAI_IdGroupe +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +06/08/2026 Isis_BO 4957 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Cadrage horz. Droite +Position X interne 304 +Largeur interne 18 +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: 99 999 999 999 999 999 999 +Borne max. 9223372036854775807 +Borne min. 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +06/08/2026 Isis_BO 4958 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Temps_Saisie.SC_Liste.ZR_ListeRDV.SAI_IdTypeRDV +Libellé FR: Entier +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 280 +Largeur interne 19 +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: 99 999 999 999 999 999 999 +Borne max. 9223372036854775807 +Borne min. 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 4959 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Temps_Saisie.SC_SuiviTemps +06/08/2026 Isis_BO 4960 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Bouton : FI_Temps_Saisie.SC_SuiviTemps.BTN_ModifierTemps +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4961 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Bouton : FI_Temps_Saisie.SC_SuiviTemps.BTN_NouveauTemps +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4962 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Bouton : FI_Temps_Saisie.SC_SuiviTemps.BTN_SupprimerTemps +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4963 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Image : FI_Temps_Saisie.SC_SuiviTemps.IMG_ENTET_FICHE1 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Temps_Saisie.SC_SuiviTemps.LIB_LibelleRdv +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 +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 +06/08/2026 Isis_BO 4964 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Temps_Saisie.SC_SuiviTemps.SAI_TempsPasse +Libellé FR: Temps passé +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Centre +Position X interne 519 +Largeur interne 105 +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: 999 999 999 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +Lien automatique Non +06/08/2026 Isis_BO 4965 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › 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 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4966 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Champ de saisie : FI_Temps_Saisie.SC_SuiviTemps.SAI_TempsPrevu +Libellé FR: Temps prévu +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Centre +Position X interne 388 +Largeur interne 105 +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: 999 999 999 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 4967 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Temps_Saisie.SC_SuiviTemps.SAI_TempsRestante +Libellé FR: Temps restant +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Centre +Position X interne 665 +Largeur interne 134 +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 +06/08/2026 Isis_BO 4968 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › 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 +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4969 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Table : FI_Temps_Saisie.SC_SuiviTemps.TABLE_TempsSaisie +Libellé FR: Table +Ordre navigation 5 +Curseur survol 0 +Mode Loupe Filtre +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) 30 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 Sous le champ Table +Somme FR: Somme des Heures : +Moyenne FR: Moyenne +Compteur FR: Compteur +Minimum FR: Minimum +Maximum FR: Maximum +Sauve position auto Non +06/08/2026 Isis_BO 4970 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Ruptures Enroulables Non +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Ajout/Suppr. dans variable Non +Synchro HFSQL C/S Jamais +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : FI_Temps_Saisie.SC_SuiviTemps.TABLE_TempsSaisie +Colonne de table : FI_Temps_Saisie.SC_SuiviTemps.TABLE_TempsSaisie.COL_Controle +Titre FR: Contrôlé +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Champ principal IMG_Controle +Coche tous dans entête Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4971 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\valide.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Colonne de table : FI_Temps_Saisie.SC_SuiviTemps.TABLE_TempsSaisie.COL_Date (2) +Titre FR: Date +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Oui +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 +06/08/2026 Isis_BO 4972 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: UseSystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Type d'activité +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4973 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Colonne de table : FI_Temps_Saisie.SC_SuiviTemps.TABLE_TempsSaisie.COL_Duree (4) +Titre FR: Temps en minutes +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: MoneySystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Temps_Saisie.SC_SuiviTemps.TABLE_TempsSaisie.COL_Libelle (5) +Titre FR: Note +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 +06/08/2026 Isis_BO 4974 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Mode ellipse +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Oui +Coche tous dans entête Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Temps_Saisie.SC_SuiviTemps.TABLE_TempsSaisie.COL_IDTemps +Titre FR: IDTemps +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: +9 999 999 999 999 999 999 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4975 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Colonne de table : +Titre FR: IdTypeTemps +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: +9 999 999 999 999 999 999 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Superchamp : FI_Temps_Saisie.SC_SuiviTempsCollaborateur +Image : FI_Temps_Saisie.SC_SuiviTempsCollaborateur.IMG_ENTET_FICHE2 +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 4976 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › 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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Non +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 +Libellé : FI_Temps_Saisie.SC_SuiviTempsCollaborateur.LIB_Collaborateurs +Libellé FR: Collaborateurs présents au rendez-vous +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 +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 +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 +06/08/2026 Isis_BO 4977 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : FI_Temps_Saisie.SC_SuiviTempsCollaborateur.ZR_RdvGroupes +Libellé FR: &Zone répétée +Ordre navigation 1 +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 +Hauteur ligne max. 0 +Hauteur ligne 213 +Largeur colonne 669 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +06/08/2026 Isis_BO 4978 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 0 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : FI_Temps_Saisie.SC_SuiviTempsCollaborateur.ZR_RdvGroupes +Bouton : FI_Temps_Saisie.SC_SuiviTempsCollaborateur.ZR_RdvGroupes.BTN_Initiale +Libellé FR: XVA +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +Nb. étapes animation 1 +06/08/2026 Isis_BO 4979 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4980 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Bouton : +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4981 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Bouton : +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 4982 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Libellé : +Libellé FR: Nom prénom +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 707 +06/08/2026 Isis_BO 4983 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Largeur interne 18 +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: 99 999 999 999 999 999 999 +Borne max. 9223372036854775807 +Borne min. 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +06/08/2026 Isis_BO 4984 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome Couleur monochrome du style +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 684 +Largeur interne 18 +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: 99 999 999 999 999 999 999 +Borne max. 9223372036854775807 +Borne min. 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 4985 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Temps passé +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Isis_BO 4986 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Ancrage au contenu +Cadrage horz. Centre +Position X interne 377 +Largeur interne 82 +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: 999 999 999 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +06/08/2026 Isis_BO 4987 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Temps prévu +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Centre +Position X interne 377 +Largeur interne 82 +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: 999 999 999 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 4988 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Temps restant +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Isis_BO 4989 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Ancrage au contenu +Cadrage horz. Centre +Position X interne 391 +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: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +06/08/2026 Isis_BO 4990 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : +Libellé FR: Table +Ordre navigation 4 +Curseur survol 0 +Mode Loupe Filtre +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) 30 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 4991 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Etat chargement Non +Retrait gauche FI détail 0 +FI détail au survol Non +Même contenu/ligne Non +Aff. résultats Sous le champ Table +Somme FR: Somme des Heures : +Moyenne FR: Moyenne +Compteur FR: Compteur +Minimum FR: Minimum +Maximum FR: Maximum +Sauve position auto Non +Ruptures Enroulables Non +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Ajout/Suppr. dans variable Non +Synchro HFSQL C/S Jamais +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : +FI_Temps_Saisie.SC_SuiviTempsCollaborateur.ZR_RdvGroupes.TABLE_TempsSaisieGrp +Colonne de table : +Titre FR: Contrôlé +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +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 +06/08/2026 Isis_BO 4992 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Champ principal IMG_Controle +Coche tous dans entête Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\valide.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4993 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Colonne de table : +Titre FR: Date +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Oui +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: UseSystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Type d'activité +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 +06/08/2026 Isis_BO 4994 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Temps en min +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: MoneySystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 4995 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Colonne de table : +Titre FR: Note +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Oui +Coche tous dans entête Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: IDTemps +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: +9 999 999 999 999 999 999 +06/08/2026 Isis_BO 4996 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: IdTypeTemps +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: +9 999 999 999 999 999 999 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FI_Temps_Saisie +Messages multilingues +06/08/2026 Isis_BO 4997 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Messages multilingues +06/08/2026 Isis_BO 4998 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +2001 FR: Confirmez vous la suppression ? +2002 FR: Confirmez vous la suppression ? +2003 FR: Confirmez vous la suppression ? +2004 FR: Confirmez vous la suppression ? +2005 FR: Confirmez vous la suppression ? +2006 FR: Semaine %1 +¹ N° mess. : numéro de message. +FI_Temps_Saisie +Code des champs +Déclarations globales de FI_Temps_Saisie +procédure FI_Temps_Saisie() +gnIdCollaborateur est un entier sur 8 octets +gdDateInf est une Date +gdDateSup est une Date +gdDateRetour est une Date +gnIdTypeTempsGlobal est un entier sur 8 octets = gpclListeTypeTemps. +RechercheEtDonneIdDepuisValeur(1) +gnIdTypeTempsNonAffecte est un entier sur 8 octets = gpclListeTypeTemps. +RechercheEtDonneIdDepuisValeur(99) +gnIdTypeTempsInter est un entier sur 8 octets = gpclListeTypeTemps. +RechercheEtDonneIdDepuisValeur(2) +gsIdGroupe est une chaîne ANSI +gnLigneSelectionne est un entier = 0 +PresentRDVGroupe est un PTableCollaborateur dynamique +maProcMAJObjetRetourFI est une procédure = MAJObjetRetourFI +gpclListeSocieteAppartenance est un PTableSociete dynamique +gpclListeSocieteAppartenance=PTableSociete.gNouvellePresentation(1,gpclFicheUtilisateurEnCours:m_nPKID) +STSuivi est une Structure +nPKID est un entier sur 8 octets +dhDateDebut est une DateHeure +dhDateFin est une DateHeure +nNbMinutes est un entier +sLibelle est une chaîne ANSI +sTypeTempsLib est une chaîne ANSI +nIDRdv est un entier sur 8 octets +bControle est un booléen +sCollaborateur est une chaîne ANSI +sTrigramme est une chaîne ANSI +nIdCollaborateur est un entier sur 8 octets +nIdTypeTemps est un entier sur 8 octets +fin +STPlanning est une Structure + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Code des champs +nPKID est un entier sur 8 octets +dhDateDebut est une DateHeure +dhDateFin est une DateHeure +sAdresse est une chaîne ANSI +sClient est une chaîne ANSI +nIdInter est un entier sur 8 octets +sNumInter est une chaîne ANSI +bControle est un booléen +sTrigramme est une chaîne ANSI +nIdCollaborateur est un entier sur 8 octets +nIdTypeAct est un entier sur 8 octets +nIdGroupe est un entier sur 8 octets +fin +STSuiviTemps est une Structure +tabSuivis est un tableau de STSuivi +nIdPlanning est un entier sur 8 octets +fin +STRdvDate est une Structure +tabRDV est un tableau de STPlanning +dDate est une Date +fin +constante +cImg_valide = "valide.png" +cImg_NonValide = "supprime1.png" +fin +gtaSuiviTemps est un tableau associatif de STSuiviTemps +gtaSuiviTempsGroupe est un tableau associatif de STSuiviTemps +gtaListeRDV est un tableau associatif de STRdvDate +InitComboFiltre() +InitComboSociete() +Fin d'initialisation de FI_Temps_Saisie +Filtre() +Initialisation de AGD_Collaborateur +// Ce code permet d'exécuter le code de changement de période à la fin de l'initialisation de la +fenêtre +// Les différents champs de la barre de navigation ont ajouté des traitements pour se mettre à jour +// Le code de changement de période provoquera la mise à jour de l'état de ces champs de navigation +procédure interne MAJPremierAffichage() +ExécuteTraitement(AGD_Collaborateur, trtChangementPériodeAgenda) +fin +MaFenêtre..Traitement[trtInit] += MAJPremierAffichage +Avant création du rendez-vous dans AGD_Collaborateur +procédure AvantCréation(rdvCréé est un RendezVous) +Entrée en saisie d'un rendez-vous de AGD_Collaborateur +procédure EntréeEnSaisie(rdvEdité est un RendezVous) +Sortie de saisie du rendez-vous de AGD_Collaborateur +06/08/2026 Isis_BO 4999 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Code des champs +procédure SortieDeSaisie(rdvModifié est un RendezVous) +Sélection d'un rendez-vous de AGD_Collaborateur +procédure Sélection(rdvSélectionné est un RendezVous) +Déplacement d'un rendez-vous dans AGD_Collaborateur +procédure Déplacement(rdvDéplacé est un RendezVous) +Redimensionnement d'un rendez-vous de AGD_Collaborateur +procédure Redimensionnement(rdvRedimensionné est un RendezVous) +Suppression d'un rendez-vous de AGD_Collaborateur +procédure Suppression(rdvSupprimé est un RendezVous) +Clic sur BTN_Calendrier +si COMBO_SDT_Annee = -1 alors +gdDateRetour..Année = COMBO_SDT_Annee..ValeurMémorisée +fin +sDate est une chaîne ANSI = gdDateRetour +sRetour est une chaîne=OuvrePopup(FEN_ChoixCalendrierTps,sDate) +nIndice est un entier +gdDateRetour=sRetour +si gdDateRetour..Année<>COMBO_SDT_Annee..ValeurMémorisée alors +nIndice=ListeCherche(COMBO_SDT_Annee,Gauche(sRetour,4),Vrai) +si nIndice<>-1 alors +ListeSelectPlus(COMBO_SDT_Annee,nIndice) +fin +fin +Filtre() +Initialisation de BTN_CopierBas +// Version 1 +// Description +// Bouton au style Appliquer +Clic sur BTN_CopierBas +CopierBas() +Filtre() +Initialisation de BTN_CopierHaut +// Version 1 +// Description +// Bouton au style Appliquer +Clic sur BTN_CopierHaut +06/08/2026 Isis_BO 5000 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Code des champs +CopierHaut() +Filtre() +Clic sur BTN_CopierSemaine +si COMBO_SDT_IDCollaborateur1 <= 0 alors +Info("Veuillez sélectionner un collaborateur") +retour +fin +sMessageCopier est une chaîne ANSI +nrdvs est un entier +CopierTemps(nrdvs,sMessageCopier) +si nrdvs > 0 alors +sMessageCopier = "Temps total copié : " + nrdvs + sMessageCopier +Info(sMessageCopier) +sinon +Info("Aucun temps a été copié") +fin +Clic sur BTN_LOUPE_Collaborateur +si COMBO_Societe..ValeurMémorisée > 0 alors +stParametreFenInterne est un STParamFenetreAppelante = DonneParam(DansFenetre,"FI_Fiche_Temps", +MoiMême..Nom,maProcMAJObjetRetourFI,"Collaborateurs","SuiviTemps",Val(COMBO_Societe.. +ValeurMémorisée),PresentRDVGroupe,INT_CollaborateurInatif) +//TableauSupprimeTout(PresentRDVGroupe.m_clTabModele) +OuvrePopupPosition(FEN_Choix_Equipe_Collaborateur,poBas,*,stParametreFenInterne) +si stParametreFenInterne.nIdRenvoye > 0 alors +COMBO_IDCollaborateur = stParametreFenInterne.nIdRenvoye +gnIdCollaborateur = stParametreFenInterne.nIdRenvoye +ExécuteTraitement(FI_Temps_Saisie.SEL_ModeAffichage,trtModification) +fin +sinon +Info("Vous devez choisir une société") +retour +fin +//si gclPresentationFicheRdv.m_nIDStatut = +gpclListeStatutRendezVous:RechercheEtDonneIdDepuisValeur("99") alors +// +OuvrePopupPosition(FEN_Choix_Equipe_Collaborateur,poBas,*,DonneParam(DansFenetre,"FI_Fiche_Rdv",MoiMême +..Nom,maProcMAJObjetRetourFI,"Collaborateurs","RendezVousEquipeCollabRDVP",Val(COMBO_PL_Societe..Valeur +Mémorisée),gclPresentRDVGroupe,Vrai)) +//sinon +// +OuvrePopupPosition(FEN_Choix_Equipe_Collaborateur,poBas,*,DonneParam(DansFenetre,"FI_Fiche_Rdv",MoiMême +..Nom,maProcMAJObjetRetourFI,"Collaborateurs","RendezVousEquipeCollab",Val(COMBO_PL_Societe..ValeurMémo +risée),gclPresentRDVGroupe,Vrai)) +//FIN +////gclPresentRDVGroupe <-clPresentation +//DemandeMiseAJourIHM() +//gbModif = Vrai +Clic sur BTN_PERIODE_PRECEDENTE +06/08/2026 Isis_BO 5001 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Code des champs +selon SEL_ModeAffichage +// Jour +cas 1 +gdDateRetour.Jour -= 1 +// Semaine +cas 2 +gdDateRetour.Jour -= 6 +// Mois +cas 3 +gdDateRetour.Mois -=1 +fin +Filtre() +Clic sur BTN_PERIODE_SUIVANTE +selon SEL_ModeAffichage +// Jour +cas 1 +gdDateRetour.Jour += 1 +// Semaine +cas 2 +gdDateRetour.Jour += 6 +// Mois +cas 3 +gdDateRetour.Mois +=1 +fin +Filtre() +Sélection d'une ligne de COMBO_IDCollaborateur +gnIdCollaborateur = COMBO_IDCollaborateur..ValeurMémorisée +Filtre() +Sélection d'une ligne de COMBO_SDT_Annee +gdDateRetour..Année = COMBO_SDT_Annee..ValeurMémorisée +Filtre() +Sélection d'une ligne de COMBO_Societe +InitComboCollaborateur() +Initialisation de BTN_CSV + +MoiMême..Visible = Faux + +si EnModeTest() alors +MoiMême..Visible = Vrai +fin +Clic sur BTN_CSV +Ouvre(FEN_Exporter_Temps_CSV) +Clic sur BTN_Fermer_fiche_intervention +FermeVoletEtActiveLePrecedent(VoletDuChamp(DISP_FICHE_TEMPS)) +Clic sur BTN_Imprimer +06/08/2026 Isis_BO 5002 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Code des champs +// création d'un nom de fichier unique +//d_trois_colonne..visible=faux +//disp_fiche_temps..visible=faux +//frm_entete..visible=faux +//disp_bandeau_entete..visible=faux +//fen_menu.affichageactif = faux +//iraz() +//iaperçu(iapzoomdéfaut) +//// impression de l'état basé sur le champ table "table_tableclient" +// +//cllistetemps est un ptablesuividestemps dynamique +//cllistetemps +=ptablesuividestemps.gnouvellepresentation(2,combo_sdt_idcollaborateur..valeurmémorisée,col_lundi,col_d +imanche) +//tabmsuividestemps est tableau de msuividestemps dynamique = cllistetemps:m_cltabmodele +//tabmsuividestemps.trie(ttmembre+tccordrelexicographique,"m_clcollaborateur:m_snom") +//iimprimeetat(etat_suiviedestemps,tabmsuividestemps +,combo_sdt_semaine..valeuraffichée+" "+combo_sdt_annee..valeuraffichée) +Clic sur BTN_Parametre +//OuvrePopupPosition(FEN_Choix_Parametre_Metier,poHaut,*,DonneParam(DansFenetre,"FI_Saisie_temps_Def",M +oiMême..Nom,maProcMAJObjetRetourListDossier," +Etat d'intervention","EtatIntervention",*,pclTabEtat,Vrai)) +Clic sur BTN_Refresh +Filtre() +Initialisation de INT_CollaborateurInatif +// Version 1 +// Description +// Interrupteur simple 2 états +A chaque modification de INT_CollaborateurInatif +si MoiMême = Vrai alors +LIB_COLLABORATEUR= "Collaborateur avec les Inactifs" +sinon +LIB_COLLABORATEUR= "Collaborateur Actif seulement" +fin +InitComboCollaborateur() +Sélection d'une ligne de ZR_ListeRDV +gnLigneSelectionne = ZR_ListeRDV +FiltreTableTemps() +FiltreTableTempsAutresCollaborateurs() +FiltreAgenda() +Initialisation de SAI_DateDebut ( ZR_ListeRDV ) +// Version 1 +// Description +06/08/2026 Isis_BO 5003 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Code des champs +// Saisie d'un nombre entier +Initialisation de SAI_DateFin ( ZR_ListeRDV ) +// Version 1 +// Description +// Saisie d'un nombre entier +Initialisation de SAI_IdGroupe ( ZR_ListeRDV ) +// Version 1 +// Description +// Saisie d'un nombre entier +Initialisation de SAI_IdTypeRDV ( ZR_ListeRDV ) +// Version 1 +// Description +// Saisie d'un nombre entier +Clic sur BTN_ModifierTemps ( SC_SuiviTemps ) +nIdPlanning est un entier sur 8 octets = 0 +nIdSuivi est un entier sur 8 octets = 0 +si TABLE_TempsSaisie > 0 alors +si TABLE_TempsSaisie.COL_IDTemps > 0 alors +nIdSuivi = TABLE_TempsSaisie.COL_IDTemps +fin +fin +si ZR_ListeRDV > 0 alors +si ZR_ListeRDV.ATT_IDRdv > 0 alors +nIdPlanning = ZR_ListeRDV.ATT_IDRdv +fin +fin +si nIdPlanning <= 0 alors +Info("Veuillez sélectionner un rendez-vous dans la liste de rendez-vous ") +retour +fin +si nIdSuivi <= 0 alors +Info("Veuillez sélectionner une ligne à modifier") +retour +fin +si nIdPlanning > 0 et nIdSuivi > 0 alors +si Ouvre(FEN_Saisie_Temps,nIdPlanning, nIdSuivi) alors +ExécuteTraitement(FI_Temps_Saisie.BTN_Refresh, trtClic) +fin +fin +Clic sur BTN_NouveauTemps ( SC_SuiviTemps ) +nIdPlanning est un entier sur 8 octets = 0 +si ZR_ListeRDV > 0 alors +si ZR_ListeRDV.ATT_IDRdv > 0 alors +nIdPlanning = ZR_ListeRDV.ATT_IDRdv +06/08/2026 Isis_BO 5004 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Code des champs +fin +fin +si nIdPlanning <= 0 alors +Info("Veuillez sélectionner un rendez-vous dans la liste de rendez-vous ") +retour +sinon +si Ouvre(FEN_Saisie_Temps,nIdPlanning,0) alors +ExécuteTraitement(FI_Temps_Saisie.BTN_Refresh, trtClic) +fin +fin +Clic sur BTN_SupprimerTemps ( SC_SuiviTemps ) +nIdPlanning est un entier sur 8 octets = 0 +nIdSuivi est un entier sur 8 octets = 0 +si TABLE_TempsSaisie > 0 alors +si TABLE_TempsSaisie.COL_IDTemps > 0 alors +nIdSuivi = TABLE_TempsSaisie.COL_IDTemps +fin +fin +si ZR_ListeRDV > 0 alors +si ZR_ListeRDV.ATT_IDRdv > 0 alors +nIdPlanning = ZR_ListeRDV.ATT_IDRdv +fin +fin +si nIdPlanning <= 0 alors +Info("Veuillez sélectionner un rendez-vous dans la liste de rendez-vous ") +retour +fin +si nIdSuivi <= 0 alors +Info("Veuillez sélectionner une ligne à modifier") +retour +fin +si nIdPlanning > 0 et nIdSuivi > 0 alors +si OuiNon("Confirmez vous la suppression ?") = Non alors +retour +sinon +HLitRecherche(SuiviDesTemps,SDT_PKID,nIdSuivi) +si HTrouve(SuiviDesTemps) alors +si pas HSupprime(SuiviDesTemps) alors +Erreur("Erreur", HErreurInfo(hErrComplet)) +retour +sinon +ExécuteTraitement(FI_Temps_Saisie.BTN_Refresh, trtClic) +fin +sinon +Erreur("Enregistrement non trouvé") +fin +fin +fin +Sélection d'une ligne de TABLE_TempsSaisie +06/08/2026 Isis_BO 5005 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Code des champs +//nIndice est un entier +//nIndice=ZoneRépétéeCherche(ZR_ListeRDV.ATT_IDRdv,TABLE_TempsSaisie.COL_IDRdv) +//SI nIndice<>-1 ALORS +// ZoneRépétéeSelectPlus(ZR_ListeRDV,nIndice) +// +RempliFicheHeures_2(Val(ZR_ListeRDV[nIndice].ATT_IDRdv),val(ZR_ListeRDV[nIndice].ATT_IDInter),COMBO_SDT +_IDCollaborateur..ValeurMémorisée)//RempliFicheHeures(Val(ZR_ListeRDV[nIndice].ATT_IDRdv),val(ZR_ListeR +DV[nIndice].ATT_IDInter)) +// CalculTempsNonAffecte() +//sinon +// nIndice = TableauCherche(gpclListeTypeTemps.m_clTabModele,tcLinéaire,"m_sValeur","1") +// +// +RempliFicheHeuresGrpe_2(Val(COL_IDGroupe),gpclListeTypeTemps.m_clTabModele[nIndice].m_nPKID)//RempliFic +heHeuresGrpe(val(COL_IDGroupe),gpclListeTypeTemps.m_clTabModele[nIndice].m_nPKID) +// CalculTempsNonAffecte() +//FIN +Double clic sur COL_Controle +si ZR_ListeRDV > 0 et TABLE_TempsSaisie > 0 alors +si gtaSuiviTemps[ZR_ListeRDV[ZR_ListeRDV].ATT_IDRdv]..Existe alors +b est un entier = TableauCherche(gtaSuiviTemps[ZR_ListeRDV[ZR_ListeRDV].ATT_IDRdv].tabSuivis, +tcLinéaire,"nPKID",TABLE_TempsSaisie[TABLE_TempsSaisie].COL_IDTemps) +si gtaSuiviTemps[ZR_ListeRDV[ZR_ListeRDV].ATT_IDRdv].tabSuivis[b].bControle alors +si ControleTemps(gtaSuiviTemps[ZR_ListeRDV[ZR_ListeRDV].ATT_IDRdv].tabSuivis[b].nPKID,Faux +) alors +gtaSuiviTemps[ZR_ListeRDV[ZR_ListeRDV].ATT_IDRdv].tabSuivis[b].bControle = Faux +FiltreTableTemps() +fin +sinon +si ControleTemps(gtaSuiviTemps[ZR_ListeRDV[ZR_ListeRDV].ATT_IDRdv].tabSuivis[b].nPKID,Vrai +) alors +gtaSuiviTemps[ZR_ListeRDV[ZR_ListeRDV].ATT_IDRdv].tabSuivis[b].bControle = Vrai +FiltreTableTemps() +fin +fin +fin +fin +Sortie de COL_Date ( TABLE_TempsSaisie ) +//SI COL_Date<=DteDimanche ALORS +////gptabTableauHeure <- +AjouterRDVListeHeure(DateVersChaîne(COL_Date,"AAAAMMJJ"),DateVersChaîne(COL_Date,"AAAAMMJJ"),COMBO_SDT_ +IDCollaborateur..ValeurMémorisée,gptabTableauHeure) +////ListeAffiche(COL_HeureDebut,taInit) +////ListeAffiche(COL_HeureFin,taInit) +//SINON +//INFO("Cette date ne fait pas partie de la semaine affichée") +//col_date="" +//FIN +////ListeSupprimeTout(COL_HeureDebut) +////ListeSupprimeTout(COL_Heurefin) +////pour TOUT nelement DE gptabTableauHeure +////ListeAjoute(COL_HeureDebut,nelement) +////ListeAjoute(COL_Heurefin,nelement) +////FIN +Clic sur BTN_ModifierTempsGrp ( ZR_RdvGroupes ) +06/08/2026 Isis_BO 5006 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Code des champs +nIdPlanning est un entier sur 8 octets = 0 +nIdRdv est un entier sur 8 octets = 0 +nIdSuivi est un entier sur 8 octets = 0 +si ZR_ListeRDV > 0 alors +si ZR_ListeRDV.ATT_IdGroupe > 0 alors +nIdPlanning = ZR_ListeRDV.ATT_IdGroupe +fin +fin +si nIdPlanning <= 0 alors +Info("Veuillez sélectionner un rendez-vous dans la liste de rendez-vous ") +retour +fin +si ZR_RdvGroupes.TABLE_TempsSaisieGrp > 0 alors +si ZR_RdvGroupes.TABLE_TempsSaisieGrp.COL_IDTemps > 0 alors +nIdSuivi = ZR_RdvGroupes.TABLE_TempsSaisieGrp.COL_IDTemps +fin +fin +si nIdSuivi <= 0 alors +Info("Veuillez sélectionner une ligne à modifier") +retour +fin +nIdRdv = ZR_RdvGroupes.SAI_IdRdv +si nIdRdv > 0 et nIdSuivi > 0 alors +si Ouvre(FEN_Saisie_Temps,nIdRdv,nIdSuivi) alors +ExécuteTraitement(FI_Temps_Saisie.BTN_Refresh, trtClic) +fin +fin +Clic sur BTN_NouveauTempsGrp ( ZR_RdvGroupes ) +nIdPlanning est un entier sur 8 octets = 0 +nIdRdv est un entier sur 8 octets = 0 +si ZR_ListeRDV > 0 alors +si ZR_ListeRDV.ATT_IdGroupe > 0 alors +nIdPlanning = ZR_ListeRDV.ATT_IdGroupe +fin +fin +si nIdPlanning <= 0 alors +Info("Veuillez sélectionner un rendez-vous dans la liste de rendez-vous ") +retour +fin +nIdRdv = ZR_RdvGroupes.SAI_IdRdv +si nIdRdv > 0 alors +si Ouvre(FEN_Saisie_Temps,nIdRdv, 0) alors +ExécuteTraitement(FI_Temps_Saisie.BTN_Refresh, trtClic) +fin +fin +Clic sur BTN_SupprimerTempsGrp ( ZR_RdvGroupes ) +06/08/2026 Isis_BO 5007 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Code des champs +nIdPlanning est un entier sur 8 octets = 0 +nIdSuivi est un entier sur 8 octets = 0 +si ZR_RdvGroupes.TABLE_TempsSaisieGrp > 0 alors +si ZR_RdvGroupes.TABLE_TempsSaisieGrp.COL_IDTemps > 0 alors +nIdSuivi = ZR_RdvGroupes.TABLE_TempsSaisieGrp.COL_IDTemps +fin +fin +si ZR_ListeRDV > 0 alors +si ZR_ListeRDV.ATT_IDRdv > 0 alors +nIdPlanning = ZR_ListeRDV.ATT_IDRdv +fin +fin +si nIdPlanning <= 0 alors +Info("Veuillez sélectionner un rendez-vous dans la liste de rendez-vous ") +retour +fin +si nIdSuivi <= 0 alors +Info("Veuillez sélectionner une ligne à modifier") +retour +fin +si nIdPlanning > 0 et nIdSuivi > 0 alors +si OuiNon("Confirmez vous la suppression ?") = Non alors +retour +sinon +HLitRecherche(SuiviDesTemps,SDT_PKID,nIdSuivi) +si HTrouve(SuiviDesTemps) alors +si pas HSupprime(SuiviDesTemps) alors +Erreur("Erreur", HErreurInfo(hErrComplet)) +retour +sinon +ExécuteTraitement(FI_Temps_Saisie.BTN_Refresh, trtClic) +fin +sinon +Erreur("Enregistrement non trouvé") +fin +fin +fin +Initialisation de LIB_NomPrenom ( ZR_RdvGroupes ) +// Version 1 +// Description +// Libellé simple +Initialisation de SAI_IdCollaborrateur ( ZR_RdvGroupes ) +// Version 1 +// Description +// Saisie d'un nombre entier +Initialisation de SAI_IdRdv ( ZR_RdvGroupes ) +06/08/2026 Isis_BO 5008 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Code des champs +// Version 1 +// Description +// Saisie d'un nombre entier +Sélection d'une ligne de TABLE_TempsSaisieGrp +//nIndice est un entier +//nIndice=ZoneRépétéeCherche(ZR_ListeRDV.ATT_IDRdv,TABLE_TempsSaisie1.COL_IDRdv) +//SI nIndice<>-1 ALORS +// ZoneRépétéeSelectPlus(ZR_ListeRDV,nIndice) +// +RempliFicheHeures_2(Val(ZR_ListeRDV[nIndice].ATT_IDRdv),val(ZR_ListeRDV[nIndice].ATT_IDInter),COMBO_SDT +_IDCollaborateur..ValeurMémorisée)//RempliFicheHeures(Val(ZR_ListeRDV[nIndice].ATT_IDRdv),val(ZR_ListeR +DV[nIndice].ATT_IDInter)) +// CalculTempsNonAffecte() +//sinon +// nIndice = TableauCherche(gpclListeTypeTemps.m_clTabModele,tcLinéaire,"m_sValeur","1") +// +// +RempliFicheHeuresGrpe_2(Val(COL_IDGroupe),gpclListeTypeTemps.m_clTabModele[nIndice].m_nPKID)//RempliFic +heHeuresGrpe(val(COL_IDGroupe),gpclListeTypeTemps.m_clTabModele[nIndice].m_nPKID) +// CalculTempsNonAffecte() +//FIN +Double clic sur COL_Controle +si ZR_ListeRDV > 0 et ZR_RdvGroupes > 0 alors +si ZR_RdvGroupes[ZR_RdvGroupes].TABLE_TempsSaisieGrp > 0 +si ZR_ListeRDV[ZR_ListeRDV].ATT_IdGroupe > 0 alors +si gtaSuiviTempsGroupe[ZR_ListeRDV[ZR_ListeRDV].ATT_IdGroupe]..Existe alors +b est un entier = TableauCherche(gtaSuiviTempsGroupe[ZR_ListeRDV[ZR_ListeRDV].ATT_ +IdGroupe].tabSuivis,tcLinéaire,"nPKID",ZR_RdvGroupes[ZR_RdvGroupes].TABLE_ +TempsSaisieGrp[TABLE_TempsSaisieGrp].COL_IDTemps) +si gtaSuiviTempsGroupe[ZR_ListeRDV[ZR_ListeRDV].ATT_IdGroupe].tabSuivis[b].bControle +alors +si ControleTemps(gtaSuiviTempsGroupe[ZR_ListeRDV[ZR_ListeRDV].ATT_IdGroupe].tab +Suivis[b].nPKID,Faux) alors +gtaSuiviTempsGroupe[ZR_ListeRDV[ZR_ListeRDV].ATT_IdGroupe].tabSuivis[b].b +Controle = Faux +FiltreTableTempsAutresCollaborateurs() +fin +sinon +si ControleTemps(gtaSuiviTempsGroupe[ZR_ListeRDV[ZR_ListeRDV].ATT_IdGroupe].tab +Suivis[b].nPKID,Vrai) alors +gtaSuiviTempsGroupe[ZR_ListeRDV[ZR_ListeRDV].ATT_IdGroupe].tabSuivis[b].b +Controle = Vrai +FiltreTableTempsAutresCollaborateurs() +fin +fin +fin +fin +fin +fin +Sortie de COL_Date ( TABLE_TempsSaisieGrp ) +//SI COL_Date<=DteDimanche ALORS +////gptabTableauHeure <- +AjouterRDVListeHeure(DateVersChaîne(COL_Date,"AAAAMMJJ"),DateVersChaîne(COL_Date,"AAAAMMJJ"),COMBO_SDT_ +IDCollaborateur..ValeurMémorisée,gptabTableauHeure) +06/08/2026 Isis_BO 5009 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Code des champs +////ListeAffiche(COL_HeureDebut,taInit) +////ListeAffiche(COL_HeureFin,taInit) +//SINON +//INFO("Cette date ne fait pas partie de la semaine affichée") +//col_date="" +//FIN +////ListeSupprimeTout(COL_HeureDebut) +////ListeSupprimeTout(COL_Heurefin) +////pour TOUT nelement DE gptabTableauHeure +////ListeAjoute(COL_HeureDebut,nelement) +////ListeAjoute(COL_Heurefin,nelement) +////FIN +A chaque modification de SEL_ModeAffichage +selon SEL_ModeAffichage +// Jour +cas 1 +BTN_CopierSemaine..Libellé="Copier la journée" +SAI_Periode..Libellé="Jour :" +SAI_Periode=DateVersChaîne(gdDateInf,"Jjjj JJ Mmmm AAAA") +// Semaine +cas 2 +BTN_CopierSemaine..Libellé="Copier la semaine" +ListeSemaine(gdDateRetour) +// Mois +cas 3 +BTN_CopierSemaine..Libellé="Copier le mois" +ListeMois(gdDateRetour) +fin +Filtre() +FI_Temps_Saisie +Procédures +Procédure locale ControleTemps +procédure ControleTemps(nIdSuivi est un entier sur 8 octets, bValide est un booléen) +si nIdSuivi > 0 alors +HLitRecherchePremier(SuiviDesTemps,SDT_PKID,nIdSuivi) +si HTrouve(SuiviDesTemps) alors +SuiviDesTemps.SDT_Controle = bValide +si pas HModifie(SuiviDesTemps) alors +si HErreurIntégrité() alors +Erreur("Erreur d'intégrité", HErreurInfo(hErrComplet)) +renvoyer Faux +fin +sinon +renvoyer Vrai +fin +06/08/2026 Isis_BO 5010 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Procédures +sinon +Erreur("Erreur"+RC+"Enregistrement non trouvé") +renvoyer Faux +fin +renvoyer Vrai +sinon +renvoyer Faux +fin +Procédure locale CopierBas +procédure CopierBas() +si pas ZR_RdvGroupes > 0 alors +Info("Veuillez sélectionner une ligne à copier") +retour +fin +si pas ZR_RdvGroupes.TABLE_TempsSaisieGrp..Occurrence > 0 alors +Erreur("Aucune donnée à copier") +retour +fin +nSelect est un entier = ZR_RdvGroupes +si gnLigneSelectionne > 0 et ZR_ListeRDV..Occurrence >= gnLigneSelectionne alors +//sIdsTemps est une chaîne ANSI +nRDV est un entier +Duree est une Durée +// supprimer les temps actuels +// POUR TOUTE LIGNE b DE TABLE_TempsSaisie +// SI sIdsTemps..Taille > 1 ALORS +// sIdsTemps += "," +// FIN +// sIdsTemps += TABLE_TempsSaisie[b].COL_IDTemps +// FIN +si ZR_ListeRDV[gnLigneSelectionne].ATT_IDRdv > 0 alors +saReq est une chaîne ANSI = +"DELETE FROM SuiviDesTemps WHERE SuiviDesTemps.SDT_IDRdv in ("+ZR_ListeRDV[gnLigneSelectionne]. +ATT_IDRdv+")" +sdReqSupp est une Source de Données +si pas HExécuteRequêteSQL(sdReqSupp,hRequêteDéfaut,saReq) alors +Erreur("Une erreur s'est produite" + RC + HErreurInfo()) +retour +fin +fin +// créer les nouveaux temps +pour toute ligne d de ZR_RdvGroupes[nSelect].TABLE_TempsSaisieGrp +nRDV = TableauCherche(gtaSuiviTempsGroupe[ZR_ListeRDV[gnLigneSelectionne].ATT_IdGroupe].tab +Suivis,tcLinéaire,"nPKID",ZR_RdvGroupes[nSelect].TABLE_TempsSaisieGrp[d].COL_IDTemps) +si nRDV > 0 alors +Duree = (gtaSuiviTempsGroupe[ZR_ListeRDV[gnLigneSelectionne].ATT_IdGroupe].tabSuivis[nRDV] +.dhDateFin - gtaSuiviTempsGroupe[ZR_ListeRDV[gnLigneSelectionne].ATT_IdGroupe].tabSuivis[ +nRDV].dhDateDebut) +HRAZ(SuiviDesTemps) +SuiviDesTemps.CreationDate = DateHeureSys() +06/08/2026 Isis_BO 5011 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Procédures +SuiviDesTemps.CreationUser = gpclFicheUtilisateurEnCours:m_n +PKID +SuiviDesTemps.GUID = DonneGUID(guidBrut) +SuiviDesTemps.SDT_IDCollaborateur = gnIdCollaborateur +SuiviDesTemps.SDT_IDIntervention = ZR_ListeRDV[gnLigneSelectionne]. +ATT_IDInter +SuiviDesTemps.SDT_IDRdv = ZR_ListeRDV[gnLigneSelectionne]. +ATT_IDRdv +SuiviDesTemps.SDT_IDTypeRdv = ZR_ListeRDV[gnLigneSelectionne]. +SAI_IdTypeRDV +SuiviDesTemps.SDT_IDTypeTemps = ZR_RdvGroupes[nSelect].TABLE_ +TempsSaisieGrp[d].COL_IdTypeTemps +SuiviDesTemps.SDT_DateDebut = gtaSuiviTempsGroupe[ZR_ListeRDV[ +gnLigneSelectionne].ATT_IdGroupe].tabSuivis[nRDV].dhDateDebut +SuiviDesTemps.SDT_DateHeureFin = gtaSuiviTempsGroupe[ZR_ListeRDV[gn +LigneSelectionne].ATT_IdGroupe].tabSuivis[nRDV].dhDateFin +SuiviDesTemps.SDT_NbMinutes = Duree.EnMinutes +SuiviDesTemps.SDT_Controle = Vrai +SuiviDesTemps.ModifDate = DateHeureSys() +SuiviDesTemps.ModifUser = gpclFicheUtilisateurEnCours:m_n +PKID +si pas HAjoute(SuiviDesTemps) alors +si HErreurIntégrité() alors +Erreur("Erreur d'intégrité", HErreurInfo(hErrComplet)) +retour +fin +fin +fin +fin +sinon +Info("Veuillez sélectionner un rendez-vous dans la liste de rendez-vous ") +retour +fin +Procédure locale CopierHaut +procédure CopierHaut() +si pas TABLE_TempsSaisie..Occurrence > 0 alors +Erreur("Aucune donnée à copier") +retour +fin +si pas ZR_RdvGroupes..Occurrence > 0 alors +Info("Vous ne pouvez pas copier le temps passé dans des rendez-vous individuels") +retour +fin +si gnLigneSelectionne > 0 et ZR_ListeRDV..Occurrence >= gnLigneSelectionne alors +sIdsTemps est une chaîne ANSI +nRDV est un entier +Duree est une Durée +// supprimer les temps actuels +pour toute ligne i de ZR_RdvGroupes +si sIdsTemps..Taille > 1 alors +sIdsTemps += "," +fin +sIdsTemps += ZR_RdvGroupes[i].SAI_IdRdv +fin +06/08/2026 Isis_BO 5012 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Procédures +si sIdsTemps..Taille > 2 alors +saReq est une chaîne ANSI = +"DELETE FROM SuiviDesTemps WHERE SuiviDesTemps.SDT_IDRdv in ("+sIdsTemps+")" +sdReqSupp est une Source de Données +si pas HExécuteRequêteSQL(sdReqSupp,hRequêteDéfaut+hVérifieIntégrité,saReq) alors +Erreur("Une erreur s'est produite" + RC + HErreurInfo()) +retour +fin +fin +// créer les nouveaux temps +pour toute ligne x de ZR_RdvGroupes +pour toute ligne d de TABLE_TempsSaisie +nRDV = TableauCherche(gtaSuiviTemps[ZR_ListeRDV[gnLigneSelectionne].ATT_IDRdv].tabSuivis, +tcLinéaire,"nPKID",TABLE_TempsSaisie[d].COL_IDTemps) +si nRDV > 0 alors +Duree = (gtaSuiviTemps[ZR_ListeRDV[gnLigneSelectionne].ATT_IDRdv].tabSuivis[nRDV].dh +DateFin - gtaSuiviTemps[ZR_ListeRDV[gnLigneSelectionne].ATT_IDRdv].tabSuivis[nRDV].dh +DateDebut) +HRAZ(SuiviDesTemps) +SuiviDesTemps.CreationDate = DateHeureSys() +SuiviDesTemps.CreationUser = gpclFicheUtilisateurEnCours:m_n +PKID +SuiviDesTemps.GUID = DonneGUID(guidBrut) +SuiviDesTemps.SDT_IDCollaborateur = ZR_RdvGroupes[x].SAI_ +IdCollaborrateur +SuiviDesTemps.SDT_IDIntervention = ZR_ListeRDV[gnLigneSelectionne]. +ATT_IDInter +SuiviDesTemps.SDT_IDRdv = ZR_RdvGroupes[x].SAI_IdRdv +SuiviDesTemps.SDT_IDTypeRdv = ZR_ListeRDV[gnLigneSelectionne]. +SAI_IdTypeRDV +SuiviDesTemps.SDT_IDTypeTemps = TABLE_TempsSaisie[d].COL_IdTypeTemps +SuiviDesTemps.SDT_DateDebut = gtaSuiviTemps[ZR_ListeRDV[gn +LigneSelectionne].ATT_IDRdv].tabSuivis[nRDV].dhDateDebut +SuiviDesTemps.SDT_DateHeureFin = gtaSuiviTemps[ZR_ListeRDV[gn +LigneSelectionne].ATT_IDRdv].tabSuivis[nRDV].dhDateFin +SuiviDesTemps.SDT_NbMinutes = Duree.EnMinutes +SuiviDesTemps.SDT_Controle = Vrai +SuiviDesTemps.ModifDate = DateHeureSys() +SuiviDesTemps.ModifUser = gpclFicheUtilisateurEnCours:m_n +PKID +si pas HAjoute(SuiviDesTemps) alors +si HErreurIntégrité() alors +Erreur("Erreur d'intégrité", HErreurInfo(hErrComplet)) +retour +fin +fin +fin +fin +fin +sinon +Info("Veuillez sélectionner un rendez-vous dans la liste de rendez-vous ") +retour +fin +Procédure locale CopierTemps +procédure CopierTemps(nRdvs est un entier,sMessageCopier est une chaîne ANSI) +nIdPlanning est un entier sur 8 octets = 0 +nIdSuivi est un entier sur 8 octets = 0 +i, pos, b est un entier +nIdCollaborateurCopieest un entier sur 8 octets +06/08/2026 Isis_BO 5013 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Procédures +sComp est une chaîne ANSI +nIdCollaborateurCopie = COMBO_SDT_IDCollaborateur1 +si nIdCollaborateurCopie <= 0 alors +renvoyer Faux +fin +pour tout ligne de ZR_ListeRDV +i += 1 +nIdPlanning = 0 +nIdPlanning = ZR_ListeRDV[i].ATT_IdGroupe +si nIdPlanning > 0 alors +si gtaSuiviTempsGroupe[nIdPlanning]..Existe alors +nIdSuivi = 0 +pos = 0 +b = 0 +pos = TableauCherche(gtaSuiviTempsGroupe[nIdPlanning].tabSuivis,tcLinéaire, +"nIdCollaborateur", nIdCollaborateurCopie) +si pos > 0 alors +si gtaSuiviTemps[ZR_ListeRDV[i].ATT_IDRdv]..Existe alors +pour tout temps de gtaSuiviTemps[ZR_ListeRDV[i].ATT_IDRdv].tabSuivis +si temps.nIdTypeTemps > 0 alors +b = TableauCherche(gtaSuiviTempsGroupe[nIdPlanning].tabSuivis,tcLinéaire, +"nIdTypeTemps",temps.nIdTypeTemps) +si b > 0 alors +nIdSuivi = gtaSuiviTempsGroupe[nIdPlanning].tabSuivis[b].nPKID +fin +si nIdSuivi <= 0 alors +HRAZ(SuiviDesTemps) +SuiviDesTemps.CreationDate = DateHeureSys() +SuiviDesTemps.CreationUser = gpcl +FicheUtilisateurEnCours:m_nPKID +SuiviDesTemps.GUID = DonneGUID( +guidBrut) +sinon +HLitRecherchePremier(SuiviDesTemps,SDT_PKID,nIdSuivi) +fin +SuiviDesTemps.SDT_IDCollaborateur = nIdCollaborateurCopie +SuiviDesTemps.SDT_IDIntervention = ZR_ListeRDV[i].ATT_ +IDInter +SuiviDesTemps.SDT_IDRdv = gtaSuiviTempsGroupe[ +nIdPlanning].tabSuivis[pos].nIDRdv +SuiviDesTemps.SDT_IDTypeRdv = ZR_ListeRDV[i].SAI_ +IdTypeRDV +SuiviDesTemps.SDT_IDTypeTemps = temps.nIdTypeTemps +SuiviDesTemps.SDT_DateDebut = temps.dhDateDebut +SuiviDesTemps.SDT_DateHeureFin = temps.dhDateFin +SuiviDesTemps.SDT_NbMinutes = temps.nNbMinutes +SuiviDesTemps.SDT_Controle = Vrai +SuiviDesTemps.ModifDate = DateHeureSys() +SuiviDesTemps.ModifUser = gpcl +FicheUtilisateurEnCours:m_nPKID +sComp = "Le temps de ("+ temps.sTypeTempsLib +") du rendez-vous "+ +DateVersChaîne(temps.dhDateDebut,"JJ/MM/AAAA")+ " de "... ++ HeureVersChaîne(Droite(temps.dhDateDebut,9),"HH:mm")+" à "+ +HeureVersChaîne(Droite(temps.dhDateFin,9),"HH:mm") +" à été copie" +si nIdSuivi <=0 alors +si pas HAjoute(SuiviDesTemps) alors +06/08/2026 Isis_BO 5014 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Procédures +si HErreurIntégrité() alors +Erreur("Erreur d'intégrité", HErreurInfo(hErrComplet)) +renvoyer Faux +fin +sinon +nRdvs += 1 +sMessageCopier += RC + sComp +fin +sinon +si pas HModifie(SuiviDesTemps) alors +si HErreurIntégrité() alors +Erreur("Erreur d'intégrité", HErreurInfo(hErrComplet)) +renvoyer Faux +fin +fin +nRdvs += 1 +fin +fin +fin +fin +fin +fin +fin +fin +Procédure locale CorrectionTempsCollaborateur +procédure CorrectionTempsCollaborateur() +nRdv est un entier +pour tout stTemps de gtaSuiviTemps +nRdv = 0 +pour tout stTemp de stTemps.tabSuivis +nRdv = TableauCherche(stTemps.tabSuivis,tcLinéaire,"nIdTypeTemps",gnIdTypeTempsInter) +si nRdv > 0 alors +si stTemp.nIdTypeTemps <> gnIdTypeTempsInter alors +si stTemps.tabSuivis[nRdv].dhDateDebut <= stTemp.dhDateDebut et stTemps.tabSuivis[nRdv +].dhDateFin >= stTemp.dhDateFin alors +stTemps.tabSuivis[nRdv].nNbMinutes -= stTemp.nNbMinutes +fin +fin +fin +fin +fin +Procédure locale CorrectionTempsGrp +procédure CorrectionTempsGrp() +nRdv est un entier +nIdUser est un entier sur 8 octets +06/08/2026 Isis_BO 5015 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Procédures +pour tout stTemps de gtaSuiviTempsGroupe +nIdUser = 0 +pour tout stTemp de stTemps.tabSuivis +si nIdUser <> stTemp.nIdCollaborateur alors +nRdv = 0 +pour tout stTemp2, cle de stTemps.tabSuivis +si stTemp2.nIdCollaborateur = stTemp.nIdCollaborateur et stTemp2.nIdTypeTemps = gn +IdTypeTempsInter alors +nRdv = cle +fin +nIdUser = stTemp2.nIdCollaborateur +fin +fin +si nRdv > 0 alors +si stTemp.nIdTypeTemps <> gnIdTypeTempsInter et nIdUser = stTemp.nIdCollaborateur alors +si stTemps.tabSuivis[nRdv].dhDateDebut <= stTemp.dhDateDebut et stTemps.tabSuivis[nRdv +].dhDateFin >= stTemp.dhDateFin alors +stTemps.tabSuivis[nRdv].nNbMinutes -= stTemp.nNbMinutes +fin +fin +fin +fin +fin +Procédure locale Filtre +procédure Filtre() +selon SEL_ModeAffichage +// Jour +cas 1 +gdDateInf = gdDateRetour +gdDateSup = gdDateRetour +SAI_Periode..Libellé = "Jour :" +SAI_Periode = DateVersChaîne(gdDateInf,"Jjjj JJ Mmmm AAAA") +// Semaine +cas 2 +ListeSemaine(gdDateRetour) +// Mois +cas 3 +ListeMois(gdDateRetour) +fin +InitListeRDV() +InitTempsSaisies() +InitTempsSaisiesGroupe() +FiltreZrRDV() +SAI_TempsPrevu = 0 +SAI_TempsPasse = 0 +SAI_TempsRestante = "" +LIB_LibelleRdv = "" +TableSupprimeTout(TABLE_TempsSaisie) +ZoneRépétéeSupprimeTout(ZR_RdvGroupes) +si gnLigneSelectionne > 0 alors +si ZR_ListeRDV..Occurrence >= gnLigneSelectionne alors +ZR_ListeRDV = gnLigneSelectionne +ExécuteTraitement(ZR_ListeRDV,trtSélection) +fin +fin +Procédure locale FiltreAgenda +06/08/2026 Isis_BO 5016 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Procédures +procédure FiltreAgenda() +AgendaSupprimeTout(AGD_Collaborateur) +LeRdv est un RendezVous dynamique +si gnLigneSelectionne > 0 alors +// Positionne le champ Agenda sur la date du jour +AgendaPosition(AGD_Collaborateur, ZR_ListeRDV[gnLigneSelectionne].ATT_DateDebut) +fin +si gtaListeRDV[Gauche(ZR_ListeRDV.ATT_DateDebut,8)]..Existe alors +pour tout STRDVs de gtaListeRDV[Gauche(ZR_ListeRDV.ATT_DateDebut,8)].tabRDV +si gtaSuiviTemps[STRDVs.nPKID]..Existe alors +pour tout stTemps de gtaSuiviTemps[STRDVs.nPKID].tabSuivis +LeRdv = allouer un RendezVous +| | LeRdv.Titre | = stTemps.sTypeTempsLib | | | +| --- | --------------- | ----------------------- | --- | --- | +| | LeRdv.DateDébut | = stTemps.dhDateDebut | | | +LeRdv.DateFin = stTemps.dhDateFin +si stTemps.nIdTypeTemps = gnIdTypeTempsInter alors +LeRdv..CouleurFond=OrangeFoncé +sinon +LeRdv..CouleurFond=BleuPastel +fin +// Ajoute le rendez-vous au champ Agenda +AgendaAjouteRendezVous(AGD_Collaborateur,LeRdv) +fin +fin +fin +fin +Procédure locale FiltreTableTemps +procédure FiltreTableTemps() +| SAI_TempsPrevu | | = 0 | | | +| ----------------- | --- | ---- | --- | --- | +| SAI_TempsPasse | | = 0 | | | +| SAI_TempsRestante | | = "" | | | +| LIB_LibelleRdv | | = "" | | | +TableSupprimeTout(TABLE_TempsSaisie) +si ZR_ListeRDV <> -1 alors +| nI | est un entier | | | | +| ------------ | --------------------------------------------- | -------------------------------------- | --- | --- | +| dhDateDebut | est une DateHeure = ZR_ListeRDV.ATT_DateDebut | | | | +| dhDateFin | est une DateHeure = ZR_ListeRDV.ATT_DateFin | | | | +| MaDuréeJours | est une Durée = dhDateFin - dhDateDebut | | | | +| nNbRdvs | est un entier | = PartieEntière(MaDuréeJours..EnJours) | | | +| duMaDuréeMin | est une Durée | = dhDateFin - dhDateDebut | | | +si nNbRdvs <= 0 alors nNbRdvs = 1 +| SAI_TempsPrevu | | = duMaDuréeMin.EnMinutes * nNbRdvs | | | +| --------------- | --- | ---------------------------------- | --- | --- | +| SAI_TempsPasse | | = 0 | | | +LIB_LibelleRdv = ZR_ListeRDV.ATT_NumInter +si gtaSuiviTemps[ZR_ListeRDV.ATT_IDRdv]..Existe alors +pour tout stTemps de gtaSuiviTemps[ZR_ListeRDV.ATT_IDRdv].tabSuivis +nI = TableAjouteLigne(TABLE_TempsSaisie) +TABLE_TempsSaisie[nI].COL_Date = stTemps.dhDateDebut..PartieDate +| TABLE_TempsSaisie[nI].COL_TypeTemps | | | = stTemps.sTypeTempsLib | | +| ------------------------------------ | --- | --- | ----------------------- | ---- | +| TABLE_TempsSaisie[nI].COL_Duree | | | = stTemps.nNbMinutes | | +| 06/08/2026 | | | Isis_BO | 5017 | + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Procédures +TABLE_TempsSaisie[nI].COL_IDTemps = stTemps.nPKID +TABLE_TempsSaisie[nI].COL_Libelle = stTemps.sLibelle +TABLE_TempsSaisie[nI].COL_IdTypeTemps = stTemps.nIdTypeTemps +SAI_TempsPasse += stTemps.nNbMinutes +si stTemps.bControle alors +TABLE_TempsSaisie[nI].COL_Controle.IMG_Controle = cImg_valide +sinon +TABLE_TempsSaisie[nI].COL_Controle.IMG_Controle = cImg_NonValide +fin +fin +fin +SAI_TempsRestante = (SAI_TempsPrevu - SAI_TempsPasse) +fin +Procédure locale FiltreTableTempsAutresCollaborateurs +procédure FiltreTableTempsAutresCollaborateurs() +ZoneRépétéeSupprimeTout(ZR_RdvGroupes) +si ZR_ListeRDV > 0 alors +nI, nB est un entier +nIdCo est un entier sur 8 octets +dhDateDebut est une DateHeure= ZR_ListeRDV.SAI_DateDebut +dhDateFin est une DateHeure= ZR_ListeRDV.SAI_DateFin +MaDuréeJours est une Durée = dhDateFin - dhDateDebut +nNbRdvs est un entier = PartieEntière(MaDuréeJours..EnJours) +duMaDuréeMin est une Durée = dhDateFin - dhDateDebut +si nNbRdvs <= 0 alors nNbRdvs = 1 +si gtaSuiviTempsGroupe[ZR_ListeRDV.ATT_IdGroupe]..Existe alors +pour tout stTemps de gtaSuiviTempsGroupe[ZR_ListeRDV.ATT_IdGroupe].tabSuivis +si nIdCo <> stTemps.nIdCollaborateur alors +nI = ZoneRépétéeAjouteLigne(ZR_RdvGroupes) +nIdCo = stTemps.nIdCollaborateur +ZR_RdvGroupes[nI].BTN_Initiale..Libellé = stTemps.sTrigramme +ZR_RdvGroupes[nI].LIB_NomPrenom = stTemps.sCollaborateur +ZR_RdvGroupes[nI].SAI_TempsPasseGrp = 0 +ZR_RdvGroupes[nI].SAI_TempsPrevuGrp = duMaDuréeMin.EnMinutes * nNbRdvs +ZR_RdvGroupes[nI].SAI_IdCollaborrateur = stTemps.nIdCollaborateur +ZR_RdvGroupes[nI].SAI_IdRdv = stTemps.nIDRdv +fin +si stTemps.dhDateDebut <> "" et stTemps.nNbMinutes > 0 alors +nB = TableAjouteLigne(ZR_RdvGroupes[nI].TABLE_TempsSaisieGrp) +ZR_RdvGroupes[nI].TABLE_TempsSaisieGrp[nB].COL_Date = stTemps.dhDateDebut +..PartieDate +ZR_RdvGroupes[nI].TABLE_TempsSaisieGrp[nB].COL_TypeTemps = stTemps.sTypeTempsLib +ZR_RdvGroupes[nI].TABLE_TempsSaisieGrp[nB].COL_Duree = stTemps.nNbMinutes +ZR_RdvGroupes[nI].TABLE_TempsSaisieGrp[nB].COL_IDTemps = stTemps.nPKID +ZR_RdvGroupes[nI].TABLE_TempsSaisieGrp[nB].COL_Libelle = stTemps.sLibelle +ZR_RdvGroupes[nI].TABLE_TempsSaisieGrp[nB].COL_IdTypeTemps = stTemps. +nIdTypeTemps +ZR_RdvGroupes[nI].SAI_TempsPasseGrp += stTemps.nNbMinutes +si stTemps.bControle alors +ZR_RdvGroupes[nI].TABLE_TempsSaisieGrp[nB].COL_Controle.IMG_Controle = cImg_valide +sinon +ZR_RdvGroupes[nI].TABLE_TempsSaisieGrp[nB].COL_Controle.IMG_Controle = +06/08/2026 Isis_BO 5018 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Procédures +cImg_NonValide +fin +fin +si nI > 0 alors +ZR_RdvGroupes[nI].SAI_TempsRestanteGrp = (ZR_RdvGroupes[nI].SAI_TempsPrevuGrp - ZR_ +RdvGroupes[nI].SAI_TempsPasseGrp) +fin +fin +fin +fin +Procédure locale FiltreZrRDV +procédure FiltreZrRDV() +si gnIdCollaborateur <= 0 alors +retour +fin +ZoneRépétéeSupprimeTout(ZR_ListeRDV) +nIndice est un entier +bControle est un booléen +pour tout stRdvGrp de gtaListeRDV +pour tout stRdv de stRdvGrp.tabRDV +bControle = Faux +nIndice = ZoneRépétéeAjouteLigne(ZR_ListeRDV) +ZR_ListeRDV[nIndice].ATT_Adresse = stRdv.sAdresse +ZR_ListeRDV[nIndice].ATT_Initiale = stRdv.sTrigramme +ZR_ListeRDV[nIndice].ATT_NomClient= stRdv.sClient +ZR_ListeRDV[nIndice].ATT_Periode = "Le "+DateVersChaîne(stRdv.dhDateDebut,"JJ/MM/AAAA")+ +" de " + HeureVersChaîne(Droite(stRdv.dhDateDebut,9),"HH:mm")+" à "+HeureVersChaîne(Droite( +stRdv.dhDateFin,9),"HH:mm") +ZR_ListeRDV[nIndice].ATT_IDCollab = stRdv.nIdCollaborateur +ZR_ListeRDV[nIndice].ATT_IDInter = stRdv.nIdInter +ZR_ListeRDV[nIndice].ATT_IDRdv = stRdv.nPKID +ZR_ListeRDV[nIndice].ATT_NumInter = stRdv.sNumInter +ZR_ListeRDV[nIndice].ATT_DateDebut= stRdv.dhDateDebut +ZR_ListeRDV[nIndice].ATT_DateFin = stRdv.dhDateFin +ZR_ListeRDV[nIndice].ATT_IdGroupe = stRdv.nIdGroupe +ZR_ListeRDV[nIndice].ATT_IdTypeRDV= stRdv.nIdTypeAct +si gtaSuiviTemps[stRdv.nPKID]..Existe alors +pour tout stTemps de gtaSuiviTemps[stRdv.nPKID].tabSuivis +si stTemps.bControle _et_ stTemps.nIdTypeTemps = gnIdTypeTempsInter alors +bControle = Vrai +fin +fin +fin +si stRdv.nIdGroupe > 0 alors +si gtaSuiviTempsGroupe[stRdv.nIdGroupe]..Existe alors +ZR_ListeRDV[nIndice].IMG_Grp = fExtraitChemin(IMG_Lien, fFichier + fExtension) +fin +fin +ZR_ListeRDV[nIndice].IMG_Controle..Visible = bControle +fin +fin +06/08/2026 Isis_BO 5019 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Procédures +ZoneRépétéeSelectMoins(ZR_ListeRDV) +Procédure locale InitComboCollaborateur +procédure InitComboCollaborateur() +ListeSupprimeTout(COMBO_IDCollaborateur) +ListeSupprimeTout(COMBO_SDT_IDCollaborateur1) +nIdSociete est un entier sur 8 octets = COMBO_Societe..ValeurMémorisée +si nIdSociete > 0 alors +reqSQL est une Requête SQL = +[ +SELECT DISTINCT Collaborateur.*,Equipe.* +FROM Collaborateur +LEFT OUTER JOIN Equipe_Collaborateur ON Equipe_Collaborateur.EC_IDCollaborateur=Collaborateur. +CO_PKID +LEFT OUTER JOIN Equipe ON Equipe.EQ_PKID=Equipe_Collaborateur.EC_IDEquipe AND Equipe. +EQ_IDSociete={p_nIdSociete} +WHERE Collaborateur.CO_AuPlanning={p_planning} AND Collaborateur.CO_Actif = {p_actif} +ORDER BY EQ_Nom +] +reqSQL.p_nIdSociete = nIdSociete +si INT_CollaborateurInatif alors +reqSQL.p_actif = Faux +reqSQL.p_planning = Null +sinon +reqSQL.p_actif = Vrai +reqSQL.p_planning = Vrai +fin +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +ListeAjoute(COMBO_IDCollaborateur,reqSQL.CO_Nom+" "+reqSQL.CO_Prenom+gLien(reqSQL.CO_PKID) +) +ListeAjoute(COMBO_SDT_IDCollaborateur1,reqSQL.CO_Nom+" "+reqSQL.CO_Prenom+gLien(reqSQL. +CO_PKID)) +fin +fin +//SI INT_CollaborateurInatif=Vrai ALORS +// POUR TOUT Collaborateur +// +ListeAjoute(COMBO_IDCollaborateur,Collaborateur.CO_Nom+" +"+Collaborateur.CO_Prenom+gLien(Collaborateur.CO_PKID)) +// +ListeAjoute(COMBO_SDT_IDCollaborateur1,Collaborateur.CO_Nom+" +"+Collaborateur.CO_Prenom+gLien(Collaborateur.CO_PKID)) +// FIN +//SINON +// POUR TOUT Collaborateur +// SI Collaborateur.CO_Actif=Vrai ALORS +// +ListeAjoute(COMBO_IDCollaborateur,Collaborateur.CO_Nom+" +"+Collaborateur.CO_Prenom+gLien(Collaborateur.CO_PKID)) +// +ListeAjoute(COMBO_SDT_IDCollaborateur1,Collaborateur.CO_Nom+" +"+Collaborateur.CO_Prenom+gLien(Collaborateur.CO_PKID)) +06/08/2026 Isis_BO 5020 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Procédures +// FIN +// FIN +//FIN +// +//ListeTrie(COMBO_IDCollaborateur, Vrai, ccOrdreLexicographique) +//ListeTrie(COMBO_SDT_IDCollaborateur1, Vrai, ccOrdreLexicographique) +COMBO_IDCollaborateur = -1 +fin +Procédure locale InitComboFiltre +procédure InitComboFiltre() +nIndice est un entier +I est un entier +N est un entier +dDteest une Date +dDte= DateDuJour() +N = dDte..Année +pour I=N à 2000 pas -1 +ListeAjoute(COMBO_SDT_Annee,I+gLien(I)) +fin +nIndice=ListeCherche(COMBO_SDT_Annee,N,Vrai) +si nIndice<>-1 alors +ListeSelectPlus(COMBO_SDT_Annee,nIndice) +fin +gdDateRetour..Année = COMBO_SDT_Annee..ValeurMémorisée +Procédure locale InitComboSociete +procédure InitComboSociete() +ListeSupprimeTout(COMBO_Societe) +nIdSoc est un entier sur 8 octets +si gpclListeSocieteAppartenance <> Null alors +pour tout pclSoc de gpclListeSocieteAppartenance:m_clTabModele +si gpclFicheUtilisateurEnCours:m_nIDSocietePrincipale = pclSoc.m_nPKID alors +nIdSoc = pclSoc.m_nPKID +fin +ListeAjoute(COMBO_Societe,pclSoc.m_sNom + gLien(pclSoc.m_nPKID)) +fin +fin +si nIdSoc > 0 alors +COMBO_Societe = nIdSoc +InitComboCollaborateur() +fin +Procédure locale InitListeRDV +procédure InitListeRDV() +pstUnRDV est un STPlanning dynamique +gsIdGroupe = "" +si gnIdCollaborateur <= 0 alors +retour +fin +TableauSupprimeTout(gtaListeRDV) +nIndice est un entier +06/08/2026 Isis_BO 5021 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Procédures +sLibTypeActivite est une chaîne +sNumInter est une chaîne +reqRdv est une Requête SQL = +[ +SELECT PL_DateDebut,PL_DateFin,PL_PKID,PL_IDGroupe,PL_Objet,PL_IDIntervention,PL_TempsValide, +PL_IDTypeActivite,CO_Nom,CO_Prenom,CO_PKID,CO_Trigramme,CO_Ponderation,IN_RefInterne,PL_Description +,CL_Nom,AD_Presentation +FROM Planning_RDV +LEFT OUTER JOIN Collaborateur ON Collaborateur.CO_PKID=Planning_RDV.PL_IDCollaborateur +LEFT OUTER JOIN Intervention ON Intervention.IN_PKID=Planning_RDV.PL_IDIntervention +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 +WHERE Planning_RDV.PL_IDCollaborateur={P_IDCollab} +AND LEFT(Planning_RDV.PL_DateDebut,8) >= {P_dateInf} +AND LEFT(Planning_RDV.PL_DateFin,8) <= {P_dateSup} +AND Planning_RDV.PL_IDStatut<>{p_nIDNonPlanifie} +AND Planning_RDV.Archive=0 +ORDER BY Planning_RDV.PL_DateDebut DESC +] +reqRdv.P_IDCollab = gnIdCollaborateur=-1 ? Null sinon gnIdCollaborateur +reqRdv.P_dateInf = Gauche(gdDateInf,8)=-1 ? Null sinon Gauche(gdDateInf,8) +reqRdv.P_dateSup = Gauche(gdDateSup,8)=-1 ? Null sinon Gauche(gdDateSup,8) +reqRdv.p_nIDNonPlanifie = gpclListeStatutRendezVous.RechercheEtDonneIdDepuisValeur(99) +si HExécuteRequête(reqRdv) alors +pour tout reqRdv +nIndice = TableauCherche(gpclListeTypeRendezVous.m_clTabModele,tcLinéaire,"m_nPKID",reqRdv. +PL_IDTypeActivite) +si nIndice<>-1 alors +sLibTypeActivite=gpclListeTypeRendezVous.m_clTabModele[nIndice].m_sLibelle +fin +si reqRdv.IN_RefInterne<>"" alors +sNumInter=" n°"+reqRdv.IN_RefInterne +sinon +sNumInter="" +fin +pstUnRDV = allouer un STPlanning +pstUnRDV.nPKID = reqRdv.PL_PKID +pstUnRDV.sAdresse = reqRdv.AD_Presentation +pstUnRDV.nIdTypeAct = reqRdv.PL_IDTypeActivite +pstUnRDV.sNumInter = sLibTypeActivite+sNumInter +pstUnRDV.bControle = reqRdv.PL_TempsValide +pstUnRDV.dhDateDebut = reqRdv.PL_DateDebut +pstUnRDV.dhDateFin = reqRdv.PL_DateFin +pstUnRDV.nIdGroupe = reqRdv.PL_IDGroupe +pstUnRDV.sTrigramme = reqRdv.CO_Trigramme +pstUnRDV.sClient = reqRdv.CL_Nom +pstUnRDV.nIdCollaborateur = reqRdv.CO_PKID +pstUnRDV.nIdInter = reqRdv.PL_IDIntervention +TableauAjoute(gtaListeRDV[pstUnRDV.dhDateDebut..PartieDate].tabRDV,pstUnRDV) +gtaListeRDV[pstUnRDV.dhDateDebut..PartieDate].dDate = reqRdv.PL_DateDebut..PartieDate +si reqRdv.PL_IDGroupe > 0 alors +si gsIdGroupe <> "" alors +gsIdGroupe += "," + reqRdv.PL_IDGroupe +sinon +gsIdGroupe += reqRdv.PL_IDGroupe +fin +fin +06/08/2026 Isis_BO 5022 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Procédures +fin +fin +HAnnuleDéclaration(reqRdv) +Procédure locale InitTempsSaisies +procédure InitTempsSaisies() +pstUnSuivi est un STSuivi dynamique +MaDurée est une Durée +IndiceParametre est un entier +TableauSupprimeTout(gtaSuiviTemps) +sdReq est une Requête SQL = +[ +SELECT SuiviDesTemps.*, PL_PKID, PL_DateDebut, PL_DateFin +FROM SuiviDesTemps +INNER JOIN Planning_RDV ON SDT_IDRdv = Planning_RDV.PL_PKID +WHERE (SDT_DateHeureFin > 0 OR SDT_DateDebut > 0 ) +AND Planning_RDV.PL_IDCollaborateur={P_IDCollab} +AND LEFT(Planning_RDV.PL_DateDebut,8) >= {P_dateInf} +AND LEFT(Planning_RDV.PL_DateFin,8) <= {P_dateSup} +AND Planning_RDV.PL_IDStatut<>{p_nIDNonPlanifie} +AND Planning_RDV.Archive=0 +AND SDT_IDTypeTemps <> {p_idTempNonAffecte} +AND SDT_IDTypeTemps <> {p_idTempGlobal} +ORDER BY Planning_RDV.PL_DateDebut DESC +] +sdReq.P_IDCollab = gnIdCollaborateur=-1 ? Null sinon gnIdCollaborateur +sdReq.P_dateInf = Gauche(gdDateInf,8)=-1 ? Null sinon Gauche(gdDateInf,8) +sdReq.P_dateSup = Gauche(gdDateSup,8)=-1 ? Null sinon Gauche(gdDateSup,8) +sdReq.p_nIDNonPlanifie = gpclListeStatutRendezVous.RechercheEtDonneIdDepuisValeur(99) +sdReq.p_idTempGlobal = gnIdTypeTempsGlobal=-1 ? Null sinon gnIdTypeTempsGlobal +sdReq.p_idTempNonAffecte = gnIdTypeTempsNonAffecte=-1 ? Null sinon gnIdTypeTempsNonAffecte +si HExécuteRequête(sdReq) alors +pour tout sdReq +si sdReq.SDT_DateDebut <> "" et sdReq.SDT_DateHeureFin <> "" et sdReq.SDT_NbMinutes > 0 alors +pstUnSuivi = allouer un STSuivi +pstUnSuivi.nPKID = sdReq.SDT_PKID +pstUnSuivi.sLibelle = sdReq.SDT_Libelle +pstUnSuivi.nIdTypeTemps = sdReq.SDT_IDTypeTemps +IndiceParametre = TableauCherche(gpclListeTypeTemps.m_clTabModele,tcLinéaire, +"m_nPKID",sdReq.SDT_IDTypeTemps) +si gpclListeTypeTemps.m_clTabModele..Occurrence >= IndiceParametre et IndiceParametre > 0 +alors +pstUnSuivi.sTypeTempsLib = gpclListeTypeTemps.m_clTabModele[IndiceParametre].m_s +Libelle +fin +pstUnSuivi.nIDRdv = sdReq.PL_PKID +pstUnSuivi.bControle = sdReq.SDT_Controle +pstUnSuivi.dhDateDebut = sdReq.SDT_DateDebut +pstUnSuivi.dhDateFin = sdReq.SDT_DateHeureFin +//si val(sdReq.SDT_DateHeureFin) > 0 ou val(sdReq.SDT_DateDebut) > 0 alors +MaDurée = sdReq.SDT_DateHeureFin - sdReq.SDT_DateDebut +pstUnSuivi.nNbMinutes = MaDurée.EnMinutes +TableauAjoute(gtaSuiviTemps[sdReq.PL_PKID].tabSuivis,pstUnSuivi) +gtaSuiviTemps[sdReq.PL_PKID].nIdPlanning = sdReq.PL_PKID +//fin +fin +06/08/2026 Isis_BO 5023 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Procédures +fin +fin +HAnnuleDéclaration(sdReq) +CorrectionTempsCollaborateur() +TotalHeures() +Procédure locale InitTempsSaisiesGroupe +procédure InitTempsSaisiesGroupe() +TableauSupprimeTout(gtaSuiviTempsGroupe) +si gsIdGroupe <> "" et gnIdCollaborateur > 0 alors +pstUnSuivi est un STSuivi dynamique +MaDurée est une Durée +IndiceParametre est un entier +sComplReq est une chaîne ANSI +sDReq est une chaîne ANSI = +[ +SELECT SuiviDesTemps.*, PL_PKID, PL_DateDebut, PL_DateFin, PL_IDGroupe, CO_Nom, CO_Prenom, +CO_Trigramme, PL_IDCollaborateur,PL_PKID +FROM Planning_RDV +LEFT JOIN SuiviDesTemps ON PL_PKID = SDT_IDRdv +LEFT JOIN Collaborateur ON PL_IDCollaborateur = Collaborateur.CO_PKID +WHERE (SDT_DateHeureFin > 0 OR SDT_DateDebut > 0 ) +] +sComplReq += " AND Planning_RDV.PL_IDCollaborateur<>"+gnIdCollaborateur +sComplReq += " AND Planning_RDV.Archive=0" +si gpclListeStatutRendezVous.RechercheEtDonneIdDepuisValeur(99) > 0 alors +sComplReq += " AND Planning_RDV.PL_IDStatut<>"+gpclListeStatutRendezVous. +RechercheEtDonneIdDepuisValeur(99) +fin +si gsIdGroupe <> "" alors +sComplReq += " AND PL_IDGroupe IN ("+gsIdGroupe+")" +fin +sComplReq += " ORDER BY Planning_RDV.PL_DateDebut, SDT_IDCollaborateur DESC" +sDReq += sComplReq +sdSDRDV est une Source de Données +si HExécuteRequêteSQL(sdSDRDV,hVérifieDoublon+hVérifieIntégrité,sDReq) alors +pour tout sdSDRDV +pstUnSuivi = allouer un STSuivi +pstUnSuivi.sCollaborateur = sdSDRDV.CO_Nom +" "+sdSDRDV.CO_Prenom +pstUnSuivi.sTrigramme = sdSDRDV.CO_Trigramme +pstUnSuivi.nIdCollaborateur = sdSDRDV.PL_IDCollaborateur +pstUnSuivi.nIDRdv = sdSDRDV.PL_PKID +si sdSDRDV.SDT_DateDebut <> "" et sdSDRDV.SDT_DateHeureFin <> "" et sdSDRDV.SDT_NbMinutes +> 0 et sdSDRDV.SDT_IDTypeTemps <> gnIdTypeTempsNonAffecte et sdSDRDV.SDT_IDTypeTemps <> gn +IdTypeTempsGlobal alors +pstUnSuivi.nPKID = sdSDRDV.SDT_PKID +pstUnSuivi.sLibelle = sdSDRDV.SDT_Libelle +IndiceParametre = TableauCherche(gpclListeTypeTemps.m_clTabModele,tcLinéaire +,"m_nPKID",sdSDRDV.SDT_IDTypeTemps) +si gpclListeTypeTemps.m_clTabModele..Occurrence >= IndiceParametre et IndiceParametre +> 0 alors +06/08/2026 Isis_BO 5024 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Procédures +pstUnSuivi.sTypeTempsLib = gpclListeTypeTemps.m_clTabModele[IndiceParametre].m_s +Libelle +fin +pstUnSuivi.bControle = sdSDRDV.SDT_Controle +pstUnSuivi.dhDateDebut = sdSDRDV.SDT_DateDebut +pstUnSuivi.dhDateFin = sdSDRDV.SDT_DateHeureFin +pstUnSuivi.nIdTypeTemps = sdSDRDV.SDT_IDTypeTemps +MaDurée = sdSDRDV.SDT_DateHeureFin - sdSDRDV.SDT_DateDebut +pstUnSuivi.nNbMinutes = MaDurée.EnMinutes +sinon +pstUnSuivi.dhDateDebut = "" +pstUnSuivi.nNbMinutes = 0 +pstUnSuivi.dhDateFin = "" +fin +TableauAjoute(gtaSuiviTempsGroupe[sdSDRDV.PL_IDGroupe].tabSuivis,pstUnSuivi) +gtaSuiviTempsGroupe[sdSDRDV.PL_IDGroupe].nIdPlanning = sdSDRDV.PL_IDGroupe +fin +fin +HAnnuleDéclaration(sDReq) +fin +CorrectionTempsGrp() +Procédure locale ListeMois +procédure ListeMois(local MaDate est une Date) +gdDateInf = PremierJourDuMois(MaDate..Année, MaDate..Mois) +gdDateSup = DernierJourDuMois(MaDate..Année, MaDate..Mois) +LibelleDate est une chaîne ANSI +LibelleDate = DateVersMoisEnLettre(gdDateInf) +SAI_Periode = LibelleDate +SAI_Periode..Libellé = "Mois :" +Procédure locale ListeSemaine +procédure ListeSemaine(local MaDate est une Date) +dPremierLundi est une Date +dDimanche est une Date +dPremierLundi = SemaineVersDate(DateVersNuméroDeSemaine(MaDate), MaDate..Année) +dDimanche = dPremierLundi +dDimanche..Jour += 6 +LibelleDate est une chaîne ANSI +LibelleDate = " - du " + DateVersChaîne(dPremierLundi,"JJ/MM/AAAA") + " au " + DateVersChaîne( +dDimanche,"JJ/MM/AAAA") +SAI_Periode = LibelleDate +SAI_Periode..Libellé = "Semaine :" +gdDateInf = dPremierLundi +gdDateSup = dDimanche +Procédure locale MAJObjetRetourFI +procédure MAJObjetRetourFI() +Procédure locale TotalHeures +06/08/2026 Isis_BO 5025 + +Partie 3 › Fenêtre WINDEV › FI_Temps_Saisie › Procédures +procédure TotalHeures() +SAI_TempTotal = 0 +pour tout stTemps de gtaSuiviTemps +pour tout stTemp de stTemps.tabSuivis +SAI_TempTotal += (stTemp.nNbMinutes/60) +fin +fin +06/08/2026 Isis_BO 5026 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Image +FI_Agenda_Suivi_Temps +Image +| 06/08/2026 | Isis_BO | 5027 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Image +| 06/08/2026 | Isis_BO | 5028 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Image +FI_Agenda_Suivi_Temps +Informations générales +FI_Agenda_Suivi_Temps +| 06/08/2026 | Isis_BO | 5029 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations générales +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Agenda_Suivi_Temps.wdw +| Créé par | | XVA | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 31/10/2018 15:46:10 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:29 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1464 Hauteur | 896 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ------- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| 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. | | | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| 06/08/2026 | | | Isis_BO | | 5030 | + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations générales +| 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 | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | +Statistiques de la fenêtre +| | Libellé | | 9 | Bouton | | 11 | +| --- | ---------------- | --- | --- | ----------------------- | --- | --- | +| | Image | | 4 | Table | | 5 | +| | Forme | | 3 | Fenêtre interne | | 2 | +| | Fenêtre interne | | 1 | Calendrier | | 1 | +| | Colonne de table | | 15 | Rupture de zone répétée | | 4 | +| | Agenda | | 1 | | | | +Nombre d'éléments dans la fenêtre : 56 +FI_Agenda_Suivi_Temps +Informations sur les champs +Fenêtre : FI_Agenda_Suivi_Temps +Fenêtre interne +BAT ehcuoT +X noitisoP Y noitisoP laitini tatE +ruetuaH +| | | | ruegraL | | elbisiV | | +| --- | --- | --- | ------- | --- | ------- | --- | +nalP +| FI_Agenda_Suivi_Temps | | 0 | 0 1464 | 896 | 0 | | +| --------------------- | --- | --- | ------- | --- | --- | ---- | +| 06/08/2026 | | | Isis_BO | | | 5031 | + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Fenêtre interne : FI_Agenda_Suivi_Temps +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_Collaborateurs | 6 615 | 155 24 | 0 | Actif | Gauche | Haut | | +| -------------------- | ------ | ------ | --- | ----- | ------ | ------ | --- | +| LIB_Equipes | 10 381 | 155 24 | 0 | Actif | Gauche | Haut | | +| LIB_Mois | 248 38 | 193 30 | 0 | Actif | Gauche | Centre | | +| LIB_Semaine | 248 74 | 193 24 | 0 | Actif | Gauche | Centre | | +| LIB_Societe | 8 282 | 155 24 | 0 | Actif | Gauche | Haut | | +| LIB_Temps | 8 184 | 155 24 | 0 | Actif | Gauche | Haut | | +| LIB_Titre_de_fenêtre | 6 6 | 155 21 | 0 | Actif | Gauche | Centre | | +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | | +| --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| BTN_Afficher | 40 | 857 130 | 30 | 0 | Actif | Normal | | +| ----------------------------- | ---- | ------- | --- | --- | ----- | -------- | --- | +| BTN_Aujourd_hui | 1354 | 53 99 | 30 | 0 | Actif | Interrup | | +| BTN_ChangeMode | 591 | 53 130 | 30 | 0 | Actif | Normal | | +| BTN_ChangeMode1 | 447 | 53 130 | 30 | 0 | Actif | Normal | | +| BTN_Fermer_fiche_intervention | 1429 | 3 24 | 24 | 0 | Actif | Abandon | | +| BTN_Jour | 1058 | 53 67 | 30 | 0 | Actif | Interrup | | +| BTN_Mois | 1284 | 53 67 | 30 | 0 | Actif | Interrup | | +| BTN_PeriodePrecedente | 188 | 38 24 | 30 | 0 | Actif | Interrup | | +| BTN_PeriodeSuivante | 218 | 38 24 | 30 | 0 | Actif | Interrup | | +| BTN_Semaine | 1128 | 53 75 | 30 | 0 | Actif | Interrup | | +| BTN_Semaine1 | 1206 | 53 75 | 30 | 0 | Actif | Interrup | | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | --- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | +| | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Lien | -46 | 157 30 | 30 | 0 | Actif | | | +| ------------------ | ---- | ------- | --- | --- | ----- | --- | ---- | +| IMG_OPACITE_ENTETE | 0 | 0 1358 | 896 | 1 | Actif | | | +| IMG_TempsNonValide | -133 | 291 40 | 40 | 0 | Actif | | | +| IMG_TempsValide | -85 | 203 40 | 40 | 0 | Actif | | | +| 06/08/2026 | | Isis_BO | | | | | 5032 | + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +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 | | | | | | +| --- | --------------------- | ------- | ------------ | --- | -------- | --- | --- | --- | +| | | ruetuaH | | | sruocraP | | | | +ruegraL +elbisiV +| | | nalP | | elbaT | | | | | +| ------------------- | ------------ | ----- | ----- | ------ | --- | --- | --- | --- | +| TABLE_AgendaST | 220 105 1233 | 785 0 | Actif | Mémoir | | | | 0 | +| TABLE_Collaborateur | 6 645 199 | 206 0 | Actif | Mémoir | | | | 1 | +| TABLE_Eqp | 6 406 199 | 204 0 | Actif | Mémoir | | | | 1 | +| TABLE_Soc | 4 307 199 | 68 0 | Actif | Mémoir | | | | 1 | +| TABLE_Temps | 4 208 199 | 68 0 | Actif | Mémoir | | | | 1 | +Forme +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_Bandeau_Entete | | 0 | -1 | 1464 | 33 | 0 | Actif | | +| ------------------ | --- | ---- | --- | ---- | --- | --- | ----- | --- | +| FRM_RDV_LARGE | | 341 | 100 | 678 | 545 | 1 | Actif | | +| FRM_RDV_LARGE1 | | 1197 | 101 | 157 | 158 | 2 | Actif | | +Fenêtre interne +| | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | +| | | X noitisoP | Y noitisoP | | | | | | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CFI_Parametres | | 1198 | 103 | 153 | 154 | 2 | Actif | | +| -------------- | --- | ---- | --- | --- | --- | --- | ----- | --- | +| CFI_RDV | | 341 | 100 | 678 | 545 | 1 | Actif | | +Calendrier +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CAL_Planning | | 15 | 33 | 176 | 146 | 0 | Actif | | +| ------------ | --- | --- | ------- | --- | --- | --- | ----- | ---- | +| 06/08/2026 | | | Isis_BO | | | | | 5033 | + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Table : FI_Agenda_Suivi_Temps.TABLE_AgendaST +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_AgendaST | 1233 | Actif | | | Gauche Centre | | | | +Agenda +| | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| AGD_RdvST | | 218 | 175 | 1210 | 687 | 0 | Actif | | +| --------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Table : FI_Agenda_Suivi_Temps.TABLE_Collaborateurs +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | ---------- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | X noitisoP | | | | laitini tatE | | | FTR tamroF | +Y noitisoP +| | | ruegraL | ruetuaH | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_LibEquipe | 37 | 651 140 | 14 | | 0 Actif | Gauche | Haut | | +| ------------- | --- | ------- | --- | --- | ------- | ------ | ---- | --- | +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | elbairt ennoloC | ehcrehcer cevA | | | | +| --- | --- | --- | -------------- | --------------- | -------------- | --- | --- | --- | +| | | | ehcuag à eéxiF | | .zroh egardaC | | | | +.trev egardaC +| | | | elbaçalpéD | | | eisias epyT | FTR tamroF | eisias cevA | +| --- | --- | ------------ | ---------- | --- | --- | ----------- | ---------- | ----------- | +| | | laitini tatE | | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +| COL_Selection | 33 | Actif | | | Centre Centre | | | | +| ------------------ | --- | -------- | ------- | --- | ------------- | ------- | --- | ---- | +| COL_Collaborateurs | 152 | affichag | | | Gauche Centre | Texte | | | +| COL_PKID | 100 | Grisé | | | Droite Centre | Numériq | | | +| COL_EqNom | 100 | Grisé | | | Gauche Centre | Texte | | | +| 06/08/2026 | | | Isis_BO | | | | | 5034 | + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Rupture de zone répétée +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +RUPT_BasRupture1 +RUPT_HautRupture1 +Table : FI_Agenda_Suivi_Temps.TABLE_Eqp +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_LibSoc | 30 | 410 147 | 14 | 0 Actif | Gauche | Haut | | +| ---------- | --- | ------- | --- | ------- | ------ | ---- | --- | +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | elbairt ennoloC | ehcrehcer cevA | | | | +| --- | --- | -------------- | --------------- | --------------------------- | ----------- | ---------- | ----------- | +| | | ehcuag à eéxiF | | .zroh egardaC .trev egardaC | | | | +| | | laitini tatE | elbaçalpéD | | eisias epyT | FTR tamroF | eisias cevA | +engilitluM +ruegraL +elbisiV +| epyT | | | | | | | eéirT | +| ----------- | --- | -------- | --- | ------------- | ------- | --- | ----- | +| COL_SelecEq | 29 | Actif | | Centre Centre | | | | +| COL_Eq | 152 | affichag | | Gauche Centre | Texte | | | +| COL_IDEq | 100 | Grisé | | Droite Centre | Numériq | | | +| COL_SocEq | 100 | Grisé | | Gauche Centre | Texte | | | +Rupture de zone répétée +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +RUPT_BasRupture1 +RUPT_HautRupture1 +| 06/08/2026 | | | Isis_BO | | | | 5035 | +| ---------- | --- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Table : FI_Agenda_Suivi_Temps.TABLE_Soc +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_SelecSoc | 29 | Actif | | Centre Centre | | | +| COL_Soc | 152 | affichag | | Gauche Centre | Texte | | +| COL_IDSoc | 100 | Grisé | | Droite Centre | Numériq | | +Table : FI_Agenda_Suivi_Temps.TABLE_Temps +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | elbairt ennoloC | ehcrehcer cevA | | | +| --- | --- | --- | --------------- | -------------- | --- | --- | +ehcuag à eéxiF +| | | | | .zroh egardaC .trev egardaC | | | +| --- | --- | ------------ | ---------- | --------------------------- | ---------------------- | ----------- | +| | | | elbaçalpéD | | FTR tamroF | | +| | | laitini tatE | | | eisias epyT engilitluM | eisias cevA | +ruegraL +elbisiV +| epyT | | | | | | eéirT | +| -------------- | --- | -------- | --- | ------------- | ------- | ----- | +| COL_SelecTemps | 29 | Actif | | Centre Centre | | | +| COL_Temps | 152 | affichag | | Gauche Centre | Texte | | +| COL_IDTemps | 100 | Grisé | | Droite Centre | Numériq | | +Fenêtre : FI_Agenda_Suivi_Temps +Fenêtre interne : FI_Agenda_Suivi_Temps +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ---------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Compatible desktop ET mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | | +| ------------------------- | --- | --- | ------- | --- | --- | ---- | +| 06/08/2026 | | | Isis_BO | | | 5036 | + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Agenda_Suivi_Temps +Bouton : FI_Agenda_Suivi_Temps.BTN_Afficher +Libellé FR: Afficher +Ordre navigation 17 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5037 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Bouton : FI_Agenda_Suivi_Temps.BTN_Aujourd_hui +Libellé FR: Aujourd'hui +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5038 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Bouton : FI_Agenda_Suivi_Temps.BTN_ChangeMode +Libellé FR: Mode Planning +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5039 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Bouton : FI_Agenda_Suivi_Temps.BTN_ChangeMode1 +Libellé FR: Mode Agenda +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5040 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Bouton : FI_Agenda_Suivi_Temps.BTN_Fermer_fiche_intervention +Groupe GR_MODEOPAQUE_FICHE_INTERVENTION +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 5041 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Bouton : FI_Agenda_Suivi_Temps.BTN_Jour +Libellé FR: Jour +Groupe GR_Jours +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5042 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Bouton : FI_Agenda_Suivi_Temps.BTN_Mois +Libellé FR: Mois +Groupe GR_Jours +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5043 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Bouton : FI_Agenda_Suivi_Temps.BTN_PeriodePrecedente +Libellé FR: < +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Blueberries\Blueberries_Pict_PeriodPrevious_24_5.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5044 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Bouton : FI_Agenda_Suivi_Temps.BTN_PeriodeSuivante +Libellé FR: > +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\210 +Blueberries\Blueberries_Pict_PeriodNext_24_5.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5045 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Bouton : FI_Agenda_Suivi_Temps.BTN_Semaine +Libellé FR: Semaine/5j +Groupe GR_Jours +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5046 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Bouton : FI_Agenda_Suivi_Temps.BTN_Semaine1 +Libellé FR: Semaine/7j +Groupe GR_Jours +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5047 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Calendrier : FI_Agenda_Suivi_Temps.CAL_Planning +Libellé FR: Calendrier +Ordre navigation 2 +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format retour AAAAMMJJ +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Numéro semaine Non +Semaine ISO8601 Non +Texte Markdown Non +Sélection hors mois Oui +Style hors mois Oui +Jours hors mois Oui +Premier jour semaine Lundi +Bouton aujourd'hui Oui +Libellé aujourd'hui FR: aujourd'hui +Format mois FR: MMMM AAAA +Sélection de périodes Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Agenda_Suivi_Temps.CFI_Parametres +Ordre navigation 19 +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 +Numéro aide 0 +Ascenseur auto. Non +06/08/2026 Isis_BO 5048 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › 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 +Swipe Non +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Agenda_Suivi_Temps.CFI_RDV +Ordre navigation 18 +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 +Numéro aide 0 +Ascenseur auto. 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 +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5049 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Forme : FI_Agenda_Suivi_Temps.FRM_Bandeau_Entete +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Agenda_Suivi_Temps.FRM_RDV_LARGE +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5050 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Forme : FI_Agenda_Suivi_Temps.FRM_RDV_LARGE1 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Oui +Epaisseur 20 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Agenda_Suivi_Temps.IMG_Lien +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\lié.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 5051 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Agenda_Suivi_Temps.IMG_OPACITE_ENTETE +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 50 +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. +Mire visible Non +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +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 +Image : FI_Agenda_Suivi_Temps.IMG_TempsNonValide +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\TempsNonValide.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +06/08/2026 Isis_BO 5052 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Agenda_Suivi_Temps.IMG_TempsValide +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\TempsValide.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +06/08/2026 Isis_BO 5053 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Agenda_Suivi_Temps.LIB_Collaborateurs +Libellé FR: Collaborateurs +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5054 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Libellé : FI_Agenda_Suivi_Temps.LIB_Equipes +Libellé FR: Équipes +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Agenda_Suivi_Temps.LIB_Mois +Libellé FR: 20181122 +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 +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 +06/08/2026 Isis_BO 5055 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Type saisie Date +Masque saisie FR: Mmmm AAAA +Format retour AAAAMMJJ +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Agenda_Suivi_Temps.LIB_Semaine +Libellé FR: Semaine X +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5056 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Libellé : FI_Agenda_Suivi_Temps.LIB_Societe +Libellé FR: Sociétés +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Agenda_Suivi_Temps.LIB_Temps +Libellé FR: Type de temps +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 +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 +06/08/2026 Isis_BO 5057 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Agenda_Suivi_Temps.LIB_Titre_de_fenêtre +Libellé FR: Suivi de temps +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5058 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Table : FI_Agenda_Suivi_Temps.TABLE_AgendaST +Ordre navigation 12 +Curseur survol 0 +Mode Loupe Filtre +UI par l'utilisateur Selon fenêtre +Menu contextuel +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 0 +Hauteur ligne (sans marges) 695 +Marge en haut 1 +Marge en bas 1 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 Sélection simple +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 +06/08/2026 Isis_BO 5059 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Ajout/Suppr. dans variable Non +Synchro HFSQL C/S Jamais +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : FI_Agenda_Suivi_Temps.TABLE_Collaborateurs +Libellé FR: Table +Ordre navigation 16 +Curseur survol 0 +Mode Loupe Filtre +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 +06/08/2026 Isis_BO 5060 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : FI_Agenda_Suivi_Temps.TABLE_Eqp +Libellé FR: Table +Ordre navigation 15 +Curseur survol 0 +Mode Loupe Filtre +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 +06/08/2026 Isis_BO 5061 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +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 +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5062 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Table : FI_Agenda_Suivi_Temps.TABLE_Soc +Libellé FR: Table +Ordre navigation 14 +Curseur survol 0 +Mode Loupe Filtre +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 +06/08/2026 Isis_BO 5063 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : FI_Agenda_Suivi_Temps.TABLE_Temps +Libellé FR: Table +Ordre navigation 13 +Curseur survol 0 +Mode Loupe Filtre +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 +06/08/2026 Isis_BO 5064 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : FI_Agenda_Suivi_Temps.TABLE_AgendaST +Colonne de table : FI_Agenda_Suivi_Temps.TABLE_AgendaST.COL_AgendaST (1) +Titre FR: AgendaST +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +06/08/2026 Isis_BO 5065 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Champ principal AGD_RdvST +Coche tous dans entête Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Agenda : FI_Agenda_Suivi_Temps.TABLE_AgendaST.COL_AgendaST.AGD_RdvST +Libellé FR: Agenda +Ordre navigation 1 +Curseur survol 32512 +UI par l'utilisateur Selon fenêtre +Fenêtre Interne FI_WinDevVueRDV +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne 29 +Hauteur journée entière 35 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +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 +Mémoriser le mode Non +Édition Rdv par simple clic Non +Journée entière Non +Boutons période Jamais +Numéro semaine Non +Semaine ISO8601 Non +Affiche mois Non +Autorise chevauchement Non +Texte Markdown Non +Mode menu ctx. +06/08/2026 Isis_BO 5066 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Mode Aff. Agenda Semaine +Nb. Jours 5 +FI en mode Mois Non +Granularité de déplacement 60 +Granularité de durée 60 +Masque date FR: JJJ JJ +Premier jour semaine Lundi +Chevauche rendez-vous Décalage +Rendez-vous redim. Non +Rendez-vous déplaçable Non +Heure visible début 0000 +Heure visible fin 2300 +Heure ouvrable début 0800 +Heure ouvrable fin 1800 +Sélection de périodes Oui +Hauteur heure fixe Non +Réglette modifiable Oui +Réglette visible Non +Source de remplissage Mémoire +Nb. Enreg. Max -1 +Suppr. dans source Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : FI_Agenda_Suivi_Temps.TABLE_Collaborateurs +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 3 +Libellé : +Libellé FR: Lib équipe +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 5067 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 3 +Colonne de table : FI_Agenda_Suivi_Temps.TABLE_Collaborateurs.COL_Selection (3) +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +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 +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +06/08/2026 Isis_BO 5068 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Agenda_Suivi_Temps.TABLE_Collaborateurs.COL_Collaborateurs +Titre FR: Collaborateurs +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5069 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Colonne de table : FI_Agenda_Suivi_Temps.TABLE_Collaborateurs.COL_PKID (5) +Titre FR: PKID +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Agenda_Suivi_Temps.TABLE_Collaborateurs.COL_EqNom (6) +Titre FR: EqNom +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 +06/08/2026 Isis_BO 5070 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Table : FI_Agenda_Suivi_Temps.TABLE_Eqp +Rupture de zone répétée : FI_Agenda_Suivi_Temps.TABLE_Eqp.RUPT_HautRupture1 (1) +Toujours visible Non +Attribut de rupture 3 +Libellé : FI_Agenda_Suivi_Temps.TABLE_Eqp.RUPT_HautRupture1.LIB_LibSoc +Libellé FR: Lib société +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 +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 +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 +06/08/2026 Isis_BO 5071 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : FI_Agenda_Suivi_Temps.TABLE_Eqp.RUPT_BasRupture1 (2) +Toujours visible Non +Attribut de rupture 3 +Colonne de table : FI_Agenda_Suivi_Temps.TABLE_Eqp.COL_SelecEq (3) +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5072 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Colonne de table : FI_Agenda_Suivi_Temps.TABLE_Eqp.COL_Eq (4) +Titre FR: Eq +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Agenda_Suivi_Temps.TABLE_Eqp.COL_IDEq (5) +Titre FR: IDEq +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 +06/08/2026 Isis_BO 5073 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Agenda_Suivi_Temps.TABLE_Eqp.COL_SocEq (6) +Titre FR: SocEq +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5074 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Table : FI_Agenda_Suivi_Temps.TABLE_Soc +Colonne de table : FI_Agenda_Suivi_Temps.TABLE_Soc.COL_SelecSoc (1) +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Agenda_Suivi_Temps.TABLE_Soc.COL_Soc (2) +Titre FR: Soc +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 +06/08/2026 Isis_BO 5075 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Agenda_Suivi_Temps.TABLE_Soc.COL_IDSoc (3) +Titre FR: IDSoc +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5076 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Table : FI_Agenda_Suivi_Temps.TABLE_Temps +Colonne de table : FI_Agenda_Suivi_Temps.TABLE_Temps.COL_SelecTemps (1) +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Agenda_Suivi_Temps.TABLE_Temps.COL_Temps (2) +Titre FR: Temps +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 +06/08/2026 Isis_BO 5077 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Agenda_Suivi_Temps.TABLE_Temps.COL_IDTemps (3) +Titre FR: IDTemps +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5078 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Messages multilingues +FI_Agenda_Suivi_Temps +Messages multilingues +06/08/2026 Isis_BO 5079 +¹ +.ssem +°N +Message +2000 FR: Semaine %1 +¹ N° mess. : numéro de message. +FI_Agenda_Suivi_Temps +Code des champs +Déclarations globales de FI_Agenda_Suivi_Temps +procédure FI_Agenda_Suivi_Temps(gclPresentationFicheAgd est un PTableRDV dynamique=Null, +paramSupplementaire est un STParamFenetreAppelante=Null) +nIDtempInter est un entier sur 8 octets = gpclListeTypeTemps. +RechercheEtDonneIdDepuisValeur(2) +gtaSuivi est un tableau associatif de STInfoSuivis +gtaRDVs est un tableau associatif de STRDVs +gnIDStatutFait est un entier sur 8 octets = gpclListeStatutRendezVous. +RechercheEtDonneIdDepuisLibelle("Fait") +gnIDStatutAnnule est un entier sur 8 octets = gpclListeStatutRendezVous. +RechercheEtDonneIdDepuisValeur("98") +gsDateJour est une Date=DateDuJour() +gsDateJour..Jour-=15 +gsdateInf est une Date= gsDateJour +gsDateJour..Jour+=20 +gsdateSup est une Date= gsDateJour +ghHDO,ghHFO sont des Heures +ghHDV,ghHFV sont des Heures +(ghHDO,ghHFO) = gpclFicheUtilisateurEnCours:HeuresOuvrablesRDV() +(ghHDV,ghHFV) = gpclFicheUtilisateurEnCours:HeuresVisiblesRDV() +gpclListeSocieteAppartenance est un PTableSociete dynamique +gpclListeSocieteAppartenance=PTableSociete.gNouvellePresentation(1,gpclFicheUtilisateurEnCours:m_nPKID) +ChargeListes() +ChargeAgendaCollab() +COL_AgendaST..Visible=Faux +si TableOccurrence(TABLE_AgendaST)=0 +TableAjouteLigne(TABLE_AgendaST,1,1) +fin +BTN_Semaine..Enfoncé=Vrai +CreaJourFerie() +TABLE_AgendaST..AffichageActif=Faux + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Code des champs +RempliAgenda() +TABLE_AgendaST..AffichageActif=Vrai +Clic sur BTN_Afficher +Sablier() +TABLE_AgendaST..AffichageActif=Faux +RempliAgenda() +TABLE_AgendaST..AffichageActif=Vrai +BTN_Afficher..Enfoncé= Faux +Sablier(Faux) +Clic sur BTN_Aujourd_hui +Sablier() +sUneColonne est une chaîne +sAgendaColonne est une chaîne +pour nColonne = 1 _à_ TableOccurrence(TABLE_AgendaST, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_AgendaST, nColonne) +sAgendaColonne=sUneColonne+".AGD_RdvST" +AgendaChangeMode(sAgendaColonne,agzJour) +AgendaPosition(sAgendaColonne,DateDuJour()) +fin +TableAffiche(TABLE_AgendaST,1) +Charge_ChangementPeriode() +//Mise à jour de bouton +BTN_Jour..Enfoncé =Faux +BTN_Mois..Enfoncé =Faux +BTN_Semaine..Enfoncé =Faux +BTN_Semaine1..Enfoncé =Faux +BTN_Aujourd_hui..Enfoncé =Vrai +Sablier(Faux) +Clic sur BTN_ChangeMode +//Sablier() +//FEN_Menu.OuvreOuActive(FI_Planning,"Planning") +//Sablier(Faux) +Sablier() +FEN_Menu.OuvreOuActive(FI_Planning,"Planning") +Sablier(Faux) +Clic sur BTN_ChangeMode1 +Sablier() +FEN_Menu.OuvreOuActive(FI_Agenda3,"Agenda") +Sablier(Faux) +Initialisation de BTN_Jour +//// ajoute la procédure de MAJ du bouton "Jour" +// PROCÉDURE INTERNE MAJBtn_Jour() +// POUR i= 1 _A_ ZR_AgendaRessource..Occurrence +// BTN_Jour..Enfoncé=AgendaMode(ZR_AgendaRessource[i].ONG_Ressource1.AGD_Rdv)=agzJour +// FIN +//FIN +//POUR i= 1 _A_ ZR_AgendaRessource..Occurrence +//ZR_AgendaRessource[i].ONG_Ressource1.AGD_Rdv..Traitement[trtChangementPériodeAgenda]+=MAJBtn_Jour +//fin +Clic sur BTN_Jour +06/08/2026 Isis_BO 5080 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Code des champs +Sablier() +sUneColonne est une chaîne +sAgendaColonne est une chaîne +pour nColonne = 1 _à_ TableOccurrence(TABLE_AgendaST, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_AgendaST, nColonne) +sAgendaColonne=sUneColonne+".AGD_Rdvst" +AgendaChangeMode(sAgendaColonne,agzJour) +fin +TableAffiche(TABLE_AgendaST,1) +//Charge_ChangementPeriode() +//Mise à jour de bouton +BTN_Jour..Enfoncé = Vrai +BTN_Mois..Enfoncé=Faux +BTN_Semaine..Enfoncé=Faux +BTN_Semaine1..Enfoncé=Faux +BTN_Aujourd_hui..Enfoncé = Faux +Sablier(Faux) +Initialisation de BTN_Mois +// PROCÉDURE INTERNE MAJBtnMois() +// BTN_Mois..Enfoncé=AgendaMode(AGD_Rdv)=agzMois +// FIN +//AGD_Rdv..Traitement[trtChangementPériodeAgenda]+=MAJBtnMois +Clic sur BTN_Mois +Sablier() +sUneColonne est une chaîne +sAgendaColonne est une chaîne +sDateSel est une chaîne=CalendrierSelect(CAL_Planning) +pour nColonne = 1 _à_ TableOccurrence(TABLE_AgendaST, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_AgendaST, nColonne) +sAgendaColonne=sUneColonne+".AGD_RdvST" +AgendaChangeMode(sAgendaColonne,agzMois) +fin +TableAffiche(TABLE_AgendaST,1) +si BTN_Mois..Enfoncé=Vrai alors +LIB_Semaine="" +sinon +d est une Date = CalendrierSelect(CAL_Planning) +LIB_Semaine=ChaîneConstruit("Semaine %1", DateVersNuméroDeSemaine(d)) +fin +CalendrierSelectPlus(CAL_Planning,sDateSel) +Charge_ChangementPeriode() +LIB_Mois=CalendrierSelect(CAL_Planning) +//Mise à jour de bouton +BTN_Jour..Enfoncé = Faux +BTN_Mois..Enfoncé =Vrai +BTN_Semaine..Enfoncé =Faux +BTN_Semaine1..Enfoncé =Faux +BTN_Aujourd_hui..Enfoncé = Faux +Sablier(Faux) +Clic sur BTN_PeriodePrecedente +Sablier() +sUneColonne est une chaîne +sAgendaColonne est une chaîne +dAncienneDate est une Date=CalendrierSelect(CAL_Planning) +06/08/2026 Isis_BO 5081 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Code des champs +pour nColonne = 1 _à_ TableOccurrence(TABLE_AgendaST, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_AgendaST, nColonne) +sAgendaColonne=sUneColonne+".AGD_RdvST" +AgendaAffichePériodePrécédente(sAgendaColonne) +fin +si TABLE_AgendaST..Occurrence > 0 alors +TableAffiche(TABLE_AgendaST,1) +fin +si BTN_Mois..Enfoncé=Vrai alors +LIB_Semaine="" +dAncienneDate..Mois-=1 +dAncienneDate..Jour=1 +sinon +d est une Date = CalendrierSelect(CAL_Planning) +LIB_Semaine=ChaîneConstruit("Semaine %1", DateVersNuméroDeSemaine(d)) +fin +Charge_ChangementPeriode() +//CalendrierSelectPlus(CAL_Planning,dAncienneDate) +LIB_Mois=CalendrierSelect(CAL_Planning) +Sablier(Faux) +Clic sur BTN_PeriodeSuivante +// +//POUR i= 1 _A_ ZR_AgendaRessource..Occurrence +// AgendaAffichePériodeSuivante(ZR_AgendaRessource[i].ONG_Ressource1.AGD_Rdv) +// ZoneRépétéeAffiche(ZR_AgendaRessource,i) +//FIN +//SI BTN_Mois..Enfoncé=Vrai ALORS +// LIB_Semaine="" +//SINON +// d est une date = CalendrierSelect(CAL_Planning) +// LIB_Semaine=ChaîneConstruit("Semaine %1", DateVersNuméroDeSemaine(d)) +//FIN +//LIB_Mois=CalendrierSelect(CAL_Planning) +Sablier() +sUneColonne est une chaîne +sAgendaColonne est une chaîne +dAncienneDate est une Date=CalendrierSelect(CAL_Planning) +pour nColonne = 1 _à_ TableOccurrence(TABLE_AgendaST, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_AgendaST, nColonne) +sAgendaColonne=sUneColonne+".AGD_RdvST" +AgendaAffichePériodeSuivante(sAgendaColonne) +fin +si TABLE_AgendaST..Occurrence > 0 alors +TableAffiche(TABLE_AgendaST,1) +fin +si BTN_Mois..Enfoncé=Vrai alors +LIB_Semaine="" +dAncienneDate..mois+=1 +dAncienneDate..Jour=1 +sinon +d est une Date = CalendrierSelect(CAL_Planning) +LIB_Semaine=ChaîneConstruit("Semaine %1", DateVersNuméroDeSemaine(d)) +dAncienneDate=COL_AgendaST.AGD_RdvST.Position() +fin +Charge_ChangementPeriode() +06/08/2026 Isis_BO 5082 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Code des champs +//CalendrierSelectPlus(CAL_Planning,dAncienneDate) +LIB_Mois=CalendrierSelect(CAL_Planning) +Sablier(Faux) +Initialisation de BTN_Semaine +// +// PROCÉDURE INTERNE MAJBtnSemaine() +// BTN_Semaine..Enfoncé=AgendaMode(AGD_Rdv)=agzSemaine +// FIN +//AGD_Rdv..Traitement[trtChangementPériodeAgenda]+=MAJBtnSemaine +Clic sur BTN_Semaine +Sablier() +sUneColonne est une chaîne +sAgendaColonne est une chaîne +pour nColonne = 1 _à_ TableOccurrence(TABLE_AgendaST, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_AgendaST, nColonne) +sAgendaColonne=sUneColonne+".AGD_RdvST" +AgendaChangeMode(sAgendaColonne,agzSemaineSur5) +fin +TableAffiche(TABLE_AgendaST,1) +//Charge_ChangementPeriode() +//Mise à jour de bouton +BTN_Jour..Enfoncé = Faux +BTN_Mois..Enfoncé =Faux +BTN_Semaine..Enfoncé =Vrai +BTN_Semaine1..Enfoncé =Faux +BTN_Aujourd_hui..Enfoncé = Faux +Sablier(Faux) +Initialisation de BTN_Semaine1 +// +// PROCÉDURE INTERNE MAJBtnSemaine() +// BTN_Semaine..Enfoncé=AgendaMode(AGD_Rdv)=agzSemaine +// FIN +//AGD_Rdv..Traitement[trtChangementPériodeAgenda]+=MAJBtnSemaine +Clic sur BTN_Semaine1 +Sablier() +sUneColonne est une chaîne +sAgendaColonne est une chaîne +pour nColonne = 1 _à_ TableOccurrence(TABLE_AgendaST, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_AgendaST, nColonne) +sAgendaColonne=sUneColonne+".AGD_RdvST" +AgendaChangeMode(sAgendaColonne,agzSemaine) +fin +TableAffiche(TABLE_AgendaST,1) +//Charge_ChangementPeriode() +//Mise à jour de bouton +BTN_Jour..Enfoncé = Faux +BTN_Mois..Enfoncé =Faux +BTN_Semaine..Enfoncé =Faux +BTN_Semaine1..Enfoncé =Vrai +BTN_Aujourd_hui..Enfoncé = Faux +06/08/2026 Isis_BO 5083 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Code des champs +Sablier(Faux) +Sélection d'un jour dans CAL_Planning +Sablier() +// +//POUR i= 1 _A_ ZR_AgendaRessource..Occurrence +// AgendaPosition(ZR_AgendaRessource[i].ONG_Ressource1.AGD_Rdv, CalendrierSelect(CAL_Planning)) +// ZoneRépétéeAffiche(ZR_AgendaRessource,i) +//FIN +//LIB_Mois=CalendrierSelect(CAL_Planning) +//SI BTN_Mois..Enfoncé=Vrai ALORS +// LIB_Semaine="" +//SINON +// d est une date = CalendrierSelect(CAL_Planning) +// LIB_Semaine=ChaîneConstruit("Semaine %1", DateVersNuméroDeSemaine(d)) +//FIN +sUneColonne est une chaîne +sAgendaColonne est une chaîne +pour nColonne = 1 _à_ TableOccurrence(TABLE_AgendaST, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_AgendaST, nColonne) +sAgendaColonne=sUneColonne+".AGD_RdvST" +AgendaPosition(sAgendaColonne,CalendrierSelect(CAL_Planning)) +fin +TableAffiche(TABLE_AgendaST,1) +LIB_Mois=CalendrierSelect(CAL_Planning) +si BTN_Mois..Enfoncé=Vrai alors +LIB_Semaine="" +sinon +d est une Date = CalendrierSelect(CAL_Planning) +LIB_Semaine=ChaîneConstruit("Semaine %1", DateVersNuméroDeSemaine(d)) +fin +Charge_ChangementPeriode() +Sablier(Faux) +Initialisation de LIB_Collaborateurs +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_Equipes +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_Mois +// Procédure interne MAJLibMois() +// d est une date=AgendaPosition(ZR_AgendaRessource[1].ONG_Ressource1.AGD_Rdv) +// // en mode mois, le moi a afficher est le mois qui correspond au milieu de la période +// // on ajoute donc 15 jours a la première date +// SI AgendaMode(ZR_AgendaRessource[1].ONG_Ressource1.AGD_Rdv)=agzMois ALORS d..Jour+=15 +// LIB_Mois=d +// fin +// ZR_AgendaRessource[1].ONG_Ressource1.AGD_Rdv..Traitement[trtChangementPériodeAgenda]+=MAJLibMois +LIB_Mois=CalendrierSelect(CAL_Planning) +Initialisation de LIB_Semaine +06/08/2026 Isis_BO 5084 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Code des champs +si BTN_Mois..Enfoncé=Vrai alors +LIB_Semaine="" +sinon +d est une Date = CalendrierSelect(CAL_Planning) +LIB_Semaine=ChaîneConstruit("Semaine %1", DateVersNuméroDeSemaine(d)) +fin +Initialisation de LIB_Societe +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_Temps +// Version 1 +// Description +// Libellé simple +Initialisation de AGD_RdvST ( COL_AgendaST ) +si Val(gpclFicheUtilisateurEnCours:GranulariteRDV()) > 0 alors +MoiMême..GranularitéDurée = Val(gpclFicheUtilisateurEnCours:GranulariteRDV()) +MoiMême..GranularitéDéplacement = Val(gpclFicheUtilisateurEnCours:GranulariteRDV()) +MoiMême..HeureOuvrableDébut = ghHDO +MoiMême..HeureOuvrableFin = ghHFO +AgendaHeureAffichée(MoiMême,ghHDV,ghHFV) +fin +Avant création du rendez-vous dans AGD_RdvST ( COL_AgendaST ) +procédure AvantCréation(rdvCréé est un RendezVous) +Entrée en saisie d'un rendez-vous de AGD_RdvST ( COL_AgendaST ) +procédure EntréeEnSaisie(rdvEdité est un RendezVous) +Sortie de saisie du rendez-vous de AGD_RdvST ( COL_AgendaST ) +procédure SortieDeSaisie(rdvModifié est un RendezVous) +Sélection d'un rendez-vous de AGD_RdvST ( COL_AgendaST ) +procédure Sélection(rdvSélectionné est un RendezVous) +Déplacement d'un rendez-vous dans AGD_RdvST ( COL_AgendaST ) +procédure Déplacement(rdvDéplacé est un RendezVous) +Redimensionnement d'un rendez-vous de AGD_RdvST ( COL_AgendaST ) +procédure Redimensionnement(rdvRedimensionné est un RendezVous) +Suppression d'un rendez-vous de AGD_RdvST ( COL_AgendaST ) +06/08/2026 Isis_BO 5085 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Code des champs +procédure Suppression(rdvSupprimé est un RendezVous) +A chaque changement de période de AGD_RdvST ( COL_AgendaST ) +CalendrierSelectPlus(CAL_Planning,AGD_RdvST.Position()) +Initialisation de LIB_LibEquipe ( TABLE_Collaborateurs ) +// Version 1 +// Description +// Libellé simple +A chaque modification de COL_SelecEq ( TABLE_Eqp ) +ChargeColb() +TrieTableColb() +Initialisation de LIB_LibSoc ( TABLE_Eqp ) +// Version 1 +// Description +// Libellé simple +A chaque modification de COL_SelecSoc ( TABLE_Soc ) +ChargeEqp() +TrieTableEq() +ChargeColb() +TrieTableColb() +Initialisation de TABLE_Temps +TableSupprimeTout(TABLE_Temps) +i est un entier +pour tout temps de gpclListeTypeTemps:m_clTabModele +si temps:m_sValeur <> "0" et temps:m_sValeur <> "1" et temps:m_sValeur <> "99" alors +i = TableAjouteLigne(TABLE_Temps) +COL_IDTemps[i] = temps.m_nPKID +COL_Temps[i] = temps.m_sLibelle +si nIDtempInter = temps.m_nPKID alors +COL_SelecTemps[i] = Vrai +fin +fin +fin +A chaque modification de COL_SelecTemps ( TABLE_Temps ) +RempliAgenda() +06/08/2026 Isis_BO 5086 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Procédures +FI_Agenda_Suivi_Temps +Procédures +Procédure locale Charge_ChangementPeriode +// Résumé : +// Syntaxe : +// Charge_ChangementPeriode () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Charge_ChangementPeriode() +//COL_Agenda.AGD_Rdv1.Position(gsdateInf) +gsdateInf = AgendaPosition(COL_AgendaST.AGD_RdvST,agDateDébut) +gsdateInf..Jour-=30 +gsdateSup = AgendaPosition(COL_AgendaST.AGD_RdvST,agDateFin) +gsdateSup..Jour+=30 +TABLE_AgendaST..AffichageActif=Faux +RempliAgenda() +TABLE_AgendaST..AffichageActif=Vrai +Procédure locale ChargeAgendaCollab +procédure ChargeAgendaCollab() +TableSupprimeTout(TABLE_AgendaST) +nId est un entier sur 8 octets +sNomColonne est une chaîne +sNomColAgenda est une chaîne +TABLE_AgendaST..AffichageActif=Faux +pour toute Collaborateur +nId = Collaborateur.CO_PKID +sNomColonne = "COL_ST"+nId +si pas ChampExiste(sNomColonne) alors +ChampClone(COL_AgendaST,sNomColonne) +{sNomColonne,indChamp}..Titre=Collaborateur.CO_Prenom+" "+Collaborateur.CO_Nom +{sNomColonne,indChamp}..Visible=Faux +sNomColAgenda=sNomColonne+".AGD_RdvST" +fin +fin +TABLE_AgendaST..AffichageActif=Vrai +Procédure locale ChargeColb +procédure ChargeColb() +06/08/2026 Isis_BO 5087 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Procédures +i est un entier +nSelectSansEquipe,nSelectAvecEquipe sont des entiers +sListeEquipe, IdEquipe, sListeIdSoc,sIdCollab sont des chaînes +tabIdColbselect est un tableau d'entiers sur 8 octets +pour toute ligne b de TABLE_Eqp +si COL_SelecEq[b] alors +si COL_IDEq[b]=0 alors +nSelectSansEquipe++ +sinon +IdEquipe +=[";"]+COL_IDEq[b] +nSelectAvecEquipe++ +fin +sListeEquipe+=[";"]+COL_IDEq[b] +fin +fin +pour toute ligne c de TABLE_Soc +si COL_SelecSoc[c] alors +si COL_IDSoc[c]>0 alors +sListeIdSoc+=[";"]+COL_IDSoc[c] +fin +fin +fin +pour toute ligne d de TABLE_Collaborateurs +si COL_Selection[d] alors +TableauAjoute(tabIdColbselect,COL_PKID[d]) +fin +fin +TableSupprimeTout(TABLE_Collaborateurs) +si nSelectAvecEquipe > 0 alors +reqCollab est une Requête SQL = +[ +SELECT CO_Nom,CO_Prenom,CO_PKID,Equipe.EQ_Nom,Equipe.EQ_PKID FROM Collaborateur +LEFT OUTER JOIN Equipe_Collaborateur ON Equipe_Collaborateur.EC_IDCollaborateur=Collaborateur. +CO_PKID +LEFT OUTER JOIN Equipe ON Equipe.EQ_PKID=Equipe_Collaborateur.EC_IDEquipe +WHERE Equipe.EQ_PKID IN ({P_IdEquipe}) AND Collaborateur.CO_AuPlanning=1 +ORDER BY EQ_Nom,CO_Nom +] +reqCollab.P_IdEquipe=sListeEquipe +HExécuteRequête(reqCollab,hRequêteDéfaut) +TableSupprimeTout(TABLE_Collaborateurs) +pour tout reqCollab +sIdCollab +=[";"]+reqCollab.CO_PKID +si reqCollab.EQ_Nom<>"" alors +i = TableAjouteLigne(TABLE_Collaborateurs,0,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom, +reqCollab.CO_PKID,reqCollab.EQ_Nom) +TABLE_Collaborateurs[i].LIB_LibEquipe = reqCollab.EQ_Nom +sinon +i =TableAjouteLigne(TABLE_Collaborateurs,0,reqCollab.CO_Nom+" "+reqCollab.CO_Prenom, +reqCollab.CO_PKID,"Sans équipe") +TABLE_Collaborateurs[i].LIB_LibEquipe = "Sans équipe" +fin +fin +HAnnuleDéclaration(reqCollab) +fin +06/08/2026 Isis_BO 5088 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Procédures +si nSelectSansEquipe>0 alors +reqcollabsansequipe est une Requête SQL = +[ +SELECT DISTINCT CO_Nom,CO_Prenom,CO_PKID FROM Collaborateur +INNER JOIN Societe_Collaborateur ON Societe_Collaborateur.SC_IDCollaborateur=Collaborateur. +CO_PKID +WHERE Societe_Collaborateur.SC_IDCSociete IN ({P_IdSoc}) AND Collaborateur.CO_PKID NOT IN ( +{P_IdCollab}) AND Collaborateur.CO_AuPlanning=1 +ORDER BY CO_Nom,CO_Prenom +] +si sIdCollab<>"" alors +reqcollabsansequipe.P_IdCollab=sIdCollab +sinon +sIdCollab = -1 +reqcollabsansequipe.P_IdCollab= sIdCollab +fin +reqcollabsansequipe.P_IdSoc=sListeIdSoc +HExécuteRequête(reqcollabsansequipe,hRequêteDéfaut) +pour tout reqcollabsansequipe +i = TableAjouteLigne(TABLE_Collaborateurs,0,reqcollabsansequipe.CO_Nom+" "+reqcollabsansequipe. +CO_Prenom,reqcollabsansequipe.CO_PKID,"Sans équipe") +TABLE_Collaborateurs[i].LIB_LibEquipe = "Sans équipe" +fin +HAnnuleDéclaration(reqcollabsansequipe) +fin +pour toute ligne d de TABLE_Collaborateurs +ResIndice est un entier +ResIndice = TableauCherche(tabIdColbselect, tcLinéairePremier,COL_PKID[d] ) +si ResIndice > 0 alors +COL_Selection[d] = Vrai +fin +fin +Procédure locale ChargeEqp +procédure ChargeEqp() +IdSoc est une chaîne ANSI +i,nIndice sont des entiers +tabIdeqselect est un tableau d'entiers sur 8 octets +pour toute ligne c de TABLE_Eqp +si COL_SelecEq[c] alors +TableauAjoute(tabIdeqselect,COL_IDEq[c]) +fin +fin +TableSupprimeTout(TABLE_Eqp) +req est une Requête SQL = +[ +SELECT EQ_Nom,EQ_PKID, EQ_IDSociete FROM Societe +INNER JOIN Equipe ON Equipe.EQ_IDSociete=Societe.SO_PKID +WHERE Societe.SO_PKID IN ({P_IdSOc}) +ORDER BY EQ_Nom +] +pour toute ligne b de TABLE_Soc +si COL_SelecSoc[b] alors +IdSoc += [";"]+COL_IDSoc[b] +fin +fin +06/08/2026 Isis_BO 5089 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Procédures +req.P_IdSOc=IdSoc +HExécuteRequête(req,hRequêteDéfaut) +pour tout req +i = TableAjouteLigne(TABLE_Eqp,0,req.EQ_Nom,req.EQ_PKID) +si i > 0 alors +nIndice = TableCherche(COL_IDSoc,req.EQ_IDSociete) +si nIndice > 0 alors +COL_SocEq[i] = COL_Soc[nIndice] +TABLE_Eqp[i].LIB_LibSoc = COL_Soc[nIndice] +fin +fin +ResIndice est un entier +ResIndice = TableauCherche(tabIdeqselect, tcLinéairePremier,req.EQ_PKID ) +si ResIndice > 0 alors +COL_SelecEq[i] = Vrai +fin +fin +Procédure locale ChargeListes +procédure ChargeListes() +STPreferenceUtilisateur est une Structure +sEntite est une chaîne +nValeur est un entier sur 8 octets +fin +UneLigne est une STPreferenceUtilisateur +tabPreferenceUser est un tableau de STPreferenceUtilisateur +nIndice est un entier +sCollab, sSociete, sEquipe,sListeSocSelect sont des chaîne +// On charge un tableau de structure avec les préferences utilisateur des sociétés equipes +et collaborateurs dernièrement enregistré +nIndice=TableauCherche(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","CHOIX_SOCIETE_EQUIPE_COLLAB",gpclFicheUtilisateurEnCours.m_nPKID) +si nIndice<>-1 alors +sSociete=ExtraitChaîne(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele[nIndice] +.m_sValeur,1,"_",DepuisDébut) +pour toute chaîne soc de sSociete séparée par ";" +UneLigne.sEntite = "Societe" +UneLigne.nValeur = Val(soc) +TableauAjouteLigne(tabPreferenceUser,UneLigne) +fin +sEquipe=ExtraitChaîne(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele[nIndice]. +m_sValeur,2,"_",DepuisDébut) +pour toute chaîne Equ de sEquipe séparée par ";" +UneLigne.sEntite = "Equipe" +UneLigne.nValeur = Val(Equ) +TableauAjouteLigne(tabPreferenceUser,UneLigne) +fin +sCollab=ExtraitChaîne(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele[nIndice]. +m_sValeur,3,"_",DepuisDébut) +pour toute chaîne Cola de sCollab séparée par ";" +UneLigne.sEntite = "Collaborateur" +UneLigne.nValeur = Val(Cola) +TableauAjouteLigne(tabPreferenceUser,UneLigne) +06/08/2026 Isis_BO 5090 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Procédures +fin +fin +TableSupprimeTout(TABLE_Soc) +pour tout Societe +nIndice=TableauCherche(tabPreferenceUser,tcLinéaire,"nValeur;sEntite",Societe.SO_PKID,"Societe") +si nIndice>0 alors +TableAjouteLigne(TABLE_Soc,1,Societe.SO_Nom,Societe.SO_PKID) +sListeSocSelect+=[";"]+Societe.SO_PKID +sinon +TableAjouteLigne(TABLE_Soc,0,Societe.SO_Nom,Societe.SO_PKID) +fin +fin +TableTrie(TABLE_Soc,"-COL_SelecSoc"+TAB+"COL_Soc") +// On charge la tbl des équipes avec le choix des préférences utilisateur +TableSupprimeTout(TABLE_Eqp) +si sListeSocSelect<>"" alors +ChargeEqp() +pour toute ligne p de TABLE_Eqp +nIndice=TableauCherche(tabPreferenceUser,tcLinéaire,"nValeur;sEntite",COL_IDEq[p],"Equipe") +si nIndice<>-1 alors +COL_SelecEq[p] = Vrai +fin +fin +TrieTableEq() +fin +ChargeColb() +si sCollab<>"0" alors +pour toute ligne c de TABLE_Collaborateurs +nIndice=TableauCherche(tabPreferenceUser,tcLinéaire,"nValeur;sEntite",COL_PKID[c], +"Collaborateur") +si nIndice > 0 alors +COL_Selection[c] = Vrai +fin +fin +sinon +si TABLE_Collaborateurs..Occurrence > 0 alors +COL_Selection[1] = Vrai +fin +fin +TrieTableColb() +Procédure locale CreaJourFerie +// Résumé : +// Syntaxe : +// CreaJourFerie () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +06/08/2026 Isis_BO 5091 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Procédures +procédure CreaJourFerie() +// Suppression de tous les jours fériés +JourFériéSupprimeTout() +// Initialisation des 11 jours fériés communs aux départements français et DOM/TOM +JourFériéAjoute("0101") // 1er Janvier +| JourFériéAjoute(jfLundiDePâques) | | // Lundi de Pâques | | | +| -------------------------------- | --- | ------------------ | --- | --- | +JourFériéAjoute("0501") // 1er Mai +JourFériéAjoute("0508") // 8 Mai +| JourFériéAjoute(jfJeudiDeLAscension) | | // Jeudi de l'Ascension | | | +| ------------------------------------ | --- | ----------------------- | --- | --- | +| JourFériéAjoute(jfLundiDePentecôte) | | // Lundi de Pentecôte | | | +JourFériéAjoute("0714") // 14 Juillet +JourFériéAjoute("0815") // 15 Août (Assomption) +JourFériéAjoute("1101") // Toussaint +JourFériéAjoute("1111") // 11 Novembre +JourFériéAjoute("1225") // Noël +Procédure locale InitRdv +procédure InitRdv(MonRdv est un RendezVous) +| MonRdv.Contenu | = "" | | | | +| ------------------- | ---- | --- | --- | --- | +| MonRdv.Auteur | = "" | | | | +| MonRdv.Catégorie | = "" | | | | +| MonRdv.Note | ="" | | | | +| MonRdv..Image | = "" | | | | +| MonRdv.Titre | ="" | | | | +| MonRdv..CouleurFond | ="" | | | | +| MonRdv.Ressource | = "" | | | | +| MonRdv.DateDébut | = "" | | | | +| MonRdv.DateFin | = "" | | | | +Procédure locale MAJObjetRetourFI +// Résumé : +procédure MAJObjetRetourFI(*)//LOCAL sContexte est une chaîne, pclObjet est un objet dynamique +bResultat est un booléen=Vrai +paramSupplementaire.nIdFenetreAppelante=Null +paramSupplementaire.pclObjetAppelant=Null +paramSupplementaire.sContexteAppelant=Null +paramSupplementaire.sNomFenetreAppelante=Null +paramSupplementaire.sNomIDAppelant=Null +paramSupplementaire.sTitreFenetre=Null +paramSupplementaire.pclObjetAppelant=Null +renvoyer bResultat +Procédure locale MaJTailleColRDV +procédure MaJTailleColRDV() +TABLE_AgendaST..AffichageActif=Faux +| nlargeurTable | est un entier | = TABLE_AgendaST..Largeur | | | +| ------------- | ------------- | ------------------------- | ------- | ---- | +| nCompteur | est un entier | | | | +| 06/08/2026 | | | Isis_BO | 5092 | + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Procédures +//POUR nColonne = 1 _A_ TableOccurrence(TABLE_Agenda, toColonne) +// sColNom est une chaîne = TableEnumèreColonne(TABLE_Agenda, nColonne) +// {sColNom,indChamp}..Visible=Faux +//FIN +pour toute ligne i de TABLE_Collaborateurs +si COL_Selection[i] alors +nCompteur++ +fin +fin +sUneColonne est une chaîne +sAgendaColonne est une chaîne +selon nCompteur +cas 0 +TABLE_AgendaST..Etat=AffichageSeulement +retour +cas 1 +pour nColonne = 1 _à_ TableOccurrence(TABLE_AgendaST, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_AgendaST, nColonne) +sAgendaColonne = sUneColonne+".AGD_RdvST" +{sUneColonne,indChamp}..Largeur=nlargeurTable-20 +{sAgendaColonne}..Largeur=nlargeurTable-20 +fin +TABLE_AgendaST..Etat=Actif +cas 2 +pour nColonne = 1 _à_ TableOccurrence(TABLE_AgendaST, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_AgendaST, nColonne) +sAgendaColonne = sUneColonne+".AGD_RdvST" +{sUneColonne,indChamp}..Largeur=(nlargeurTable/nCompteur)-10 +{sAgendaColonne}..Largeur=(nlargeurTable/nCompteur)-10 +fin +TABLE_AgendaST..Etat=Actif +cas 3 +pour nColonne = 1 _à_ TableOccurrence(TABLE_AgendaST, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_AgendaST, nColonne) +sAgendaColonne = sUneColonne+".AGD_RdvST" +{sUneColonne,indChamp}..Largeur=(nlargeurTable/nCompteur)-7 +{sAgendaColonne}..Largeur=(nlargeurTable/nCompteur)-7 +fin +TABLE_AgendaST..Etat=Actif +autre cas +pour nColonne = 1 _à_ TableOccurrence(TABLE_AgendaST, toColonne) +sUneColonne = TableEnumèreColonne(TABLE_AgendaST, nColonne) +sAgendaColonne = sUneColonne+".AGD_RdvST" +{sUneColonne,indChamp}..Largeur=(nlargeurTable/4) +{sAgendaColonne}..Largeur=(nlargeurTable/4) +fin +TABLE_AgendaST..Etat=Actif +fin +TABLE_AgendaST..AffichageActif=Vrai +Procédure locale RempliAgenda +procédure RempliAgenda() +scouleur est une chaîne ANSI +sEtatCouleur est une chaîne ANSI +TABLE_AgendaST..Visible=Faux +nCompteur est un entier +sCollab est une chaîne +nIndice est un entier +06/08/2026 Isis_BO 5093 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Procédures +sNomColonne est une chaîne +sNomColAgenda est une chaîne +pour nColonne = 1 _à_ TableOccurrence(TABLE_AgendaST, toColonne) +sNomColonne = TableEnumèreColonne(TABLE_AgendaST, nColonne) +{sNomColonne,indChamp}..Visible=Faux +sNomColAgenda=sNomColonne+".AGD_RdvST" +AgendaSupprimeTout({sNomColAgenda}) +fin +pour toute ligne i de TABLE_Collaborateurs +si COL_Selection[i] alors +nCompteur++ +si sCollab <> "" alors +sCollab+="," +fin +sCollab+=COL_PKID[i] +sNomColonne="COL_ST"+COL_PKID[i] +{sNomColonne,indChamp}..Visible=Vrai +fin +fin +si sCollab<>"" alors +ReqRDVs(sCollab) +fin +si TABLE_AgendaST..Occurrence > 0 alors +pour toute ligne i de TABLE_Collaborateurs +si COL_Selection[i] alors +si gtaRDVs[COL_PKID[i]]..Existe alors +pour tout UnRdv de gtaRDVs[COL_PKID[i]].tatbRDVs +nIndice = TableCherche(COL_IDTemps,Val(UnRdv..lieu),rechercheIdentique) +sEtatCouleur = DonneEtatRDV(Val(UnRdv.Note)) +si nIndice > 0 alors +si COL_SelecTemps[nIndice] alors +scouleur = DonneCouleurTypeTemps(COL_IDTemps[nIndice]) +sNomColonne="COL_ST"+COL_PKID[i] +sNomColAgenda=sNomColonne+".AGD_RdvST" +UnRdv..CouleurFond=scouleur +UnRdv..Auteur = sEtatCouleur +AgendaAjouteRendezVous({sNomColAgenda,indChamp},UnRdv) +fin +fin +fin +fin +fin +fin +fin +MaJTailleColRDV() +TABLE_AgendaST..Visible=Vrai +Procédure locale ReqRDVs +procédure ReqRDVs(sIdCollaborateurs est une chaîne ANSI) +ReqSuiviTemps(sIdCollaborateurs) +06/08/2026 Isis_BO 5094 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Procédures +TableauSupprimeTout(gtaRDVs) +saReqRDVest une Requête SQL = [ +SELECT Planning_RDV.*,CL_CodeClient, CL_Nom, IN_NumDevis, IN_RefInterne, DO_RefInterne, AD_Ligne_1, +AD_Ligne_2, AD_Ligne_3,AD_Ligne_4,AD_Ligne_5,AD_CodePostal,AD_Ville +FROM Planning_RDV +LEFT OUTER JOIN Intervention ON (Intervention.IN_PKID=Planning_RDV.PL_IDIntervention) +LEFT OUTER JOIN Dossier ON (Dossier.DO_PKID=Intervention.IN_IDDossier) +LEFT OUTER JOIN Client ON (Client.CL_PKID=Intervention.IN_IDClient) +LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Planning_RDV.PL_IDLieu) +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +WHERE Planning_RDV.Archive=0 AND (LEFT(Planning_RDV.PL_DateDebut,8) >= {P_DateInf} AND LEFT( +Planning_RDV.PL_DateDebut,8) <= {P_DateSup} ) AND Planning_RDV.PL_IDCollaborateur IN ( +{p_IdCollaborateurs}) +] +saReqRDV.P_DateInf = gsdateInf +saReqRDV.P_DateSup = gsdateSup +saReqRDV.p_IdCollaborateurs = sIdCollaborateurs +// exécution de la requête +si HExécuteRequête(saReqRDV) alors +// charge les enregistrements en mémoire +monRDv est un RendezVous +sRefInterne est une chaîne ANSI +sLieu est une chaîne ANSI +bTemps est un booléen +pour tout saReqRDV +InitRdv(monRDv) +sRefInterne ="" +sLieu ="" +bTemps = Faux +// Temps Intervention +si saReqRDV.IN_NumDevis <> "" alors +sRefInterne = saReqRDV.IN_NumDevis +sinon +sRefInterne = saReqRDV.IN_RefInterne +fin +sRefInterne += " " + gpclListeTypeRendezVous.RechercheEtDonneLibelleDepuisID(saReqRDV. +PL_IDTypeActivite) +monRDv..Titre= sRefInterne +si saReqRDV.AD_CodePostal <> "" et saReqRDV.AD_Ville <> "" alors +sLieu += saReqRDV.AD_Ligne_1<>"" ? saReqRDV.AD_Ligne_1 sinon "" +sLieu += saReqRDV.AD_Ligne_2<>"" ? RC+ saReqRDV.AD_Ligne_2 sinon "" +sLieu += saReqRDV.AD_Ligne_3<>"" ? RC+ saReqRDV.AD_Ligne_3 sinon "" +sLieu += saReqRDV.AD_Ligne_4<>"" ? RC+ saReqRDV.AD_Ligne_4 sinon "" +sLieu += saReqRDV.AD_Ligne_5<>"" ? RC+ saReqRDV.AD_Ligne_5 sinon "" +sLieu += saReqRDV.AD_CodePostal<>"" ? RC+ saReqRDV.AD_CodePostal sinon "" +sLieu += saReqRDV.AD_Ville<>"" ? TAB+ saReqRDV.AD_Ville sinon "" +fin +monRDv.Contenu += saReqRDV.CL_CodeClient<>"" ? saReqRDV.CL_CodeClient sinon "" +monRDv.Contenu += saReqRDV.CL_Nom<>"" ? RC+ saReqRDV.CL_Nom sinon "" +si monRDv.Contenu <> "" _et_ sLieu = "" alors +monRDv.Contenu+= RC +fin +monRDv.Contenu += sLieu +monRDv.Contenu += saReqRDV.PL_Objet<>"" ? RC+ saReqRDV.PL_Objet sinon "" +monRDv.Contenu += saReqRDV.PL_Description<>"" ? RC+ saReqRDV.PL_Description sinon "" +06/08/2026 Isis_BO 5095 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Procédures +monRDv.note = saReqRDV.PL_IDStatut +si gtaSuivi[saReqRDV.PL_PKID]..Existe alors +pour tout stSuivi de gtaSuivi[saReqRDV.PL_PKID].taSuivis +si stSuivi.nIdTypeTemps = nIDtempInter alors +monRDv..DateDébut = stSuivi.dhDateHeureDebut +monRDv..DateFin = stSuivi.dhDateHeureFin +bTemps = Vrai +fin +fin +fin +si pas bTemps alors +monRDv..DateDébut = saReqRDV.PL_DateDebut +monRDv..DateFin = saReqRDV.PL_DateFin +fin +monRDv..lieu = nIDtempInter +monRDv..ID = saReqRDV.PL_PKID +monRDv..Bulle = monRDv..Titre + RC + DateVersChaîne(monRDv..DateDébut,"HH:mm")+ +" - "+ DateVersChaîne(monRDv..DateFin,"HH:mm") +RC+ monRDv.Contenu +si bTemps alors +monRDv..Image=fExtraitChemin(IMG_TempsValide, fFichier + fExtension) +sinon +monRDv..Image=fExtraitChemin(IMG_TempsNonValide, fFichier + fExtension) +fin +si saReqRDV.PL_IDStatut=gnIDStatutAnnule alors +monRDv..CouleurFond=RougeClair +fin +TableauAjoute(gtaRDVs[saReqRDV.PL_IDCollaborateur].tatbRDVs,monRDv) +// Fin de Temps Intervention +si gtaSuivi[saReqRDV.PL_PKID]..Existe alors +pour tout stSuivi de gtaSuivi[saReqRDV.PL_PKID].taSuivis +InitRdv(monRDv) +si stSuivi.nIdTypeTemps <> nIDtempInter alors +monRDv..DateDébut = stSuivi.dhDateHeureDebut +monRDv..DateFin = stSuivi.dhDateHeureFin +monRDv..Titre = gpclListeTypeTemps.RechercheEtDonneLibelleDepuisID( +stSuivi.nIdTypeTemps) +monRDv..ID = saReqRDV.PL_PKID +monRDv..Bulle = monRDv..Titre + RC + DateVersChaîne(monRDv..DateDébut, +"HH:mm")+" - "+ DateVersChaîne(monRDv..DateFin,"HH:mm") +monRDv..Image=fExtraitChemin(IMG_TempsValide, fFichier + fExtension) +monRDv..lieu = stSuivi.nIdTypeTemps +TableauAjoute(gtaRDVs[saReqRDV.PL_IDCollaborateur].tatbRDVs,monRDv) +fin +fin +fin +fin +fin +Procédure locale ReqSuiviTemps +06/08/2026 Isis_BO 5096 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Procédures +procédure ReqSuiviTemps(sIdCollaborateurs est une chaîne ANSI) +TableauSupprimeTout(gtaSuivi) +nIdTypeTempsInterest un entier sur 8 octets = gpclListeTypeTemps.RechercheEtDonneIdDepuisValeur +(2) +saRqSDT est une Requête SQL = [ +SELECT +SuiviDesTemps.*, +PL_DateDebut, +PL_DateFin, +PA_Libelle +FROM SuiviDesTemps +INNER JOIN Planning_RDV ON PL_PKID = SuiviDesTemps.SDT_IDRdv +INNER JOIN ParametreMetier ON PA_PKID = SuiviDesTemps.SDT_IDTypeTemps +WHERE +Planning_RDV.Archive=0 +AND SDT_NbMinutes > 0 +AND SDT_DateDebut > '00000000' AND SDT_DateHeureFin > '00000000' +AND SDT_IDTypeTemps > 0 +AND (Planning_RDV.PL_DateDebut BETWEEN {P_DateInf} AND {P_DateSup} ) +AND Planning_RDV.PL_IDCollaborateur IN ({p_IdCollaborateurs}) +] +saRqSDT.P_DateInf = gsdateInf +saRqSDT.P_DateSup = gsdateSup +saRqSDT.p_IdCollaborateurs = sIdCollaborateurs +si pas HExécuteRequête(saRqSDT) alors +renvoyer Faux +sinon +pour tout saRqSDT +si saRqSDT.SDT_DateDebut <> "" et saRqSDT.SDT_DateHeureFin <> "" et saRqSDT.SDT_NbMinutes > 0 +alors +stSDT est une STSuivisRqListe +stSDT.dhDateHeureDebut = saRqSDT. +SDT_DateDebut +stSDT.dhDateHeureFin = saRqSDT. +SDT_DateHeureFin +stSDT.nIN_PKID = saRqSDT. +SDT_IDIntervention +stSDT.nRDV_PKID = saRqSDT.SDT_IDRdv +stSDT.dhDateCreation = saRqSDT.CreationDate +stSDT.sGUID = saRqSDT.GUID +stSDT.nNbMin = saRqSDT.SDT_NbMinutes +stSDT.sTypeTemps = saRqSDT.PA_Libelle +stSDT.nIdTypeTemps = saRqSDT. +SDT_IDTypeTemps +stSDT.dhDateHDRDV = saRqSDT.PL_DateDebut +stSDT.dhDateHFRDV = saRqSDT.PL_DateFin +gtaSuivi[saRqSDT.SDT_IDRdv].nRDV_PKID = saRqSDT.SDT_IDRdv +gtaSuivi[saRqSDT.SDT_IDRdv].taSuivis[saRqSDT.SDT_IDTypeTemps] = stSDT +fin +fin +fin +pour tout suivis de gtaSuivi +si suivis.taSuivis[nIdTypeTempsInter]..Existe <> Faux alors +pour tout stTemps de suivis.taSuivis +si stTemps.nIdTypeTemps <> nIdTypeTempsInter alors +si stTemps.dhDateHDRDV <= stTemps.dhDateHeureDebut et stTemps.dhDateHFRDV >= stTemps. +06/08/2026 Isis_BO 5097 + +Partie 3 › Fenêtre WINDEV › FI_Agenda_Suivi_Temps › Procédures +dhDateHeureFin alors +suivis.taSuivis[nIdTypeTempsInter].nNbMin -= stTemps.nNbMin +fin +fin +fin +fin +fin +renvoyer Vrai +Procédure locale TrieTableColb +procédure TrieTableColb() +TableTrie(TABLE_Collaborateurs,"COL_EqNom"+TAB+"-COL_Selection"+TAB+"COL_Collaborateurs") +Procédure locale TrieTableEq +procédure TrieTableEq() +i est un entier +TableTrie(TABLE_Eqp,"COL_SocEq"+TAB+"-COL_SelecEq"+TAB+"COL_Eq") +pour toute ligne b de TABLE_Eqp +si COL_SelecEq[b] alors +i += 1 +fin +fin +si i > 0 alors +i = TableAjouteLigne(TABLE_Eqp,0,"Sans équipe",0, "") +sinon +i = TableAjouteLigne(TABLE_Eqp,1,"Sans équipe",0, "") +fin +TABLE_Eqp[i].LIB_LibSoc = "" +06/08/2026 Isis_BO 5098 + +Partie 3 › Fenêtre WINDEV › FI_CollaborateurListe › Image +FI_CollaborateurListe +Image +FI_CollaborateurListe +Informations générales +FI_CollaborateurListe +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_CollaborateurListe.wdw +| Créé par | | DFI | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 23/08/2024 15:54:55 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 23/04/2025 09:15:41 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1076 Hauteur | 281 | +| 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. +| 06/08/2026 | | | Isis_BO | | 5099 | +| ---------- | --- | --- | ------- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_CollaborateurListe › Informations générales +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +Style du menu Windows 11 +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. +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 +Statistiques de la fenêtre +Bouton 3 Interrupteur 1 +Table 1 Combo 1 +Fenêtre interne 1 Option d'interrupteur 1 +Colonne de table 12 +06/08/2026 Isis_BO 5100 + +Partie 3 › Fenêtre WINDEV › FI_CollaborateurListe › Informations générales +Nombre d'éléments dans la fenêtre : 20 +FI_CollaborateurListe +Informations sur les champs +Fenêtre : FI_CollaborateurListe +Fenêtre interne +BAT ehcuoT +| | | X noitisoP | | | | | | | laitini tatE | | +| --- | --- | ---------- | --- | --- | --- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| FI_CollaborateurListe | | 0 | | 0 | 1076 | | 281 | 0 | | | +| --------------------- | --- | --- | --- | --- | ---- | --- | --- | --- | --- | --- | +Fenêtre interne : FI_CollaborateurListe +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | +| --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | ------------ | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| BTN_Fermer_Liste_Collaborateur | 1042 | | 6 | 24 | | 24 | 0 | Actif | Abandon | | +| -------------------------------- | ---- | --- | --- | --- | --- | --- | --- | ----- | ------- | --- | +| BTN_Modifier_Liste_Collaborateur | 1008 | | 6 | 24 | | 24 | 0 | Actif | Normal | | +| BTN_Nouveau_Liste_Collaborateur | 974 | | 6 | 24 | | 24 | 0 | Actif | Normal | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP | | | | | | laitini tatE | | | staté siorT | +| --- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | --- | ----------- | +Y noitisoP +| | | | ruegraL | ruetuaH | | | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| INT_AfficheInactifs | 692 | 6 | 168 | | 28 | 0 | Actif | | 1 | | +| ------------------- | --- | --- | --- | ------- | --- | --- | ----- | --- | --- | ---- | +| 06/08/2026 | | | | Isis_BO | | | | | | 5101 | + +Partie 3 › Fenêtre WINDEV › FI_CollaborateurListe › Informations sur les champs +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 | | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | | +ruegraL +elbisiV +| | | | nalP | | elbaT | | | | | | +| ---------- | ---- | -------- | ---- | -------- | ------ | --- | --- | --- | --- | --- | +| TBL_Collab | 0 40 | 1076 241 | 0 | affichag | Mémoir | | | | | 1 | +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_Societe | 7 | 6 274 | 26 | 0 | Actif | | Mémoire | | Non | | +| ----------- | --- | ----- | --- | --- | ----- | --- | ------- | --- | --- | --- | +Table : FI_CollaborateurListe.TBL_Collab +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_Nom | | 109 | Actif | | | Gauche | Centre | Texte | | | +| COL_Prenom | | 100 | Actif | | | Gauche | Centre | Texte | | | +| COL_TriG | | 60 | Actif | | | Gauche | Centre | Texte | | | +| COL_Fonction | | 116 | Actif | | | Gauche | Centre | Texte | | | +| COL_AuPlanning | | 71 | Actif | | | Centre | Centre | | | | +| COL_Profil | | 100 | Actif | | | Gauche | Centre | Texte | | | +| COL_BO | | 65 | Actif | | | Centre | Centre | | | | +| COL_Mobile | | 64 | Actif | | | Centre | Centre | | | | +| COL_Actif | | 56 | Actif | | | Centre | Centre | | | | +| COL_Société | | 145 | Actif | | | Gauche | Centre | Texte | | | +| COL_AutreSoc | | 171 | Actif | | | Gauche | Centre | Texte | | | +| COL_CollabID | | 100 | Actif | | | Droite | Centre | Numériq | | | +| 06/08/2026 | | | | Isis_BO | | | | | | 5102 | + +Partie 3 › Fenêtre WINDEV › FI_CollaborateurListe › Informations sur les champs +Fenêtre : FI_CollaborateurListe +Fenêtre interne : FI_CollaborateurListe +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_CollaborateurListe +Bouton : FI_CollaborateurListe.BTN_Fermer_Liste_Collaborateur +Groupe GR_MODEFORMULAIRE_LISTE_COLLABORATEUR +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 +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 +06/08/2026 Isis_BO 5103 + +Partie 3 › Fenêtre WINDEV › FI_CollaborateurListe › Informations sur les champs +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 : FI_CollaborateurListe.BTN_Modifier_Liste_Collaborateur +Groupe GR_MODIFICATION_LISTE_COLLABORATEUR,GR_MODEFORMULAIRE_LISTE_COLLABORATEUR +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_modifier.png +06/08/2026 Isis_BO 5104 + +Partie 3 › Fenêtre WINDEV › FI_CollaborateurListe › Informations sur les champs +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 : FI_CollaborateurListe.BTN_Nouveau_Liste_Collaborateur +Groupe GR_MODEFORMULAIRE_LISTE_COLLABORATEUR +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 5105 + +Partie 3 › Fenêtre WINDEV › FI_CollaborateurListe › Informations sur les champs +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_CollaborateurListe.CMB_Societe +Libellé FR: Société +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 224 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 57 +Largeur interne 224 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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, non 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 +06/08/2026 Isis_BO 5106 + +Partie 3 › Fenêtre WINDEV › FI_CollaborateurListe › Informations sur les champs +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. +Avec recherche Oui +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_CollaborateurListe.INT_AfficheInactifs +Libellé FR: I&nterrupteur +Valeur initiale 0 +Ordre navigation 2 +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 +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +06/08/2026 Isis_BO 5107 + +Partie 3 › Fenêtre WINDEV › FI_CollaborateurListe › Informations sur les champs +Mode menu ctx. +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 6 +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 +Table : FI_CollaborateurListe.TBL_Collab +Libellé FR: Table +Ordre navigation 6 +Curseur survol 0 +Mode Loupe Filtre +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 +06/08/2026 Isis_BO 5108 + +Partie 3 › Fenêtre WINDEV › FI_CollaborateurListe › Informations sur les champs +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. +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 : FI_CollaborateurListe.TBL_Collab +Colonne de table : FI_CollaborateurListe.TBL_Collab.COL_Nom (1) +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +06/08/2026 Isis_BO 5109 + +Partie 3 › Fenêtre WINDEV › FI_CollaborateurListe › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Colonne de table : FI_CollaborateurListe.TBL_Collab.COL_Prenom (2) +Titre FR: Prenom +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5110 + +Partie 3 › Fenêtre WINDEV › FI_CollaborateurListe › Informations sur les champs +Colonne de table : FI_CollaborateurListe.TBL_Collab.COL_TriG (3) +Titre FR: TriG +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_CollaborateurListe.TBL_Collab.COL_Fonction (4) +Titre FR: Fonction +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 +06/08/2026 Isis_BO 5111 + +Partie 3 › Fenêtre WINDEV › FI_CollaborateurListe › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_CollaborateurListe.TBL_Collab.COL_AuPlanning (5) +Titre FR: Au Planning +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5112 + +Partie 3 › Fenêtre WINDEV › FI_CollaborateurListe › Informations sur les champs +Colonne de table : FI_CollaborateurListe.TBL_Collab.COL_Profil (6) +Titre FR: Profil +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_CollaborateurListe.TBL_Collab.COL_BO (7) +Titre FR: Utilisateur BO +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +06/08/2026 Isis_BO 5113 + +Partie 3 › Fenêtre WINDEV › FI_CollaborateurListe › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_CollaborateurListe.TBL_Collab.COL_Mobile (8) +Titre FR: Utilisateur Mobile +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5114 + +Partie 3 › Fenêtre WINDEV › FI_CollaborateurListe › Informations sur les champs +Colonne de table : FI_CollaborateurListe.TBL_Collab.COL_Actif (9) +Titre FR: Actif +Curseur survol 0 +UI par l'utilisateur +Bouton Calculatrice Non +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_CollaborateurListe.TBL_Collab.COL_Société (10) +Titre FR: Société principale +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 +06/08/2026 Isis_BO 5115 + +Partie 3 › Fenêtre WINDEV › FI_CollaborateurListe › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Colonne de table : FI_CollaborateurListe.TBL_Collab.COL_AutreSoc (11) +Titre FR: Sociétés secondaires +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5116 + +Partie 3 › Fenêtre WINDEV › FI_CollaborateurListe › Informations sur les champs +Colonne de table : FI_CollaborateurListe.TBL_Collab.COL_CollabID (12) +Titre FR: CollabID +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: MoneySystemMask +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FI_CollaborateurListe +Code des champs +Déclarations globales de FI_CollaborateurListe +procédure FI_CollaborateurListe() +Fin d'initialisation de FI_CollaborateurListe +Filtrer() +BTN_Nouveau_Liste_Collaborateur..Visible = AccesEtDroitCollaborateur() +Clic sur BTN_Fermer_Liste_Collaborateur +06/08/2026 Isis_BO 5117 + +Partie 3 › Fenêtre WINDEV › FI_CollaborateurListe › Code des champs +FermeVoletEtActiveLePrecedent(VoletDuChamp(BTN_Fermer_Liste_Collaborateur)) +Clic sur BTN_Modifier_Liste_Collaborateur +si TBL_Collab > 0 _et_ COL_CollabID[TBL_Collab] > 0 alors +Ouvre(FEN_Collaborateur,COL_CollabID[TBL_Collab]) +Filtrer(TBL_Collab) +sinon +Info("Veuillez sélectionner un collaborateur") +fin +Clic sur BTN_Nouveau_Liste_Collaborateur +Ouvre(FEN_Collaborateur,0) +Filtrer() +Initialisation de CMB_Societe +ListeSupprimeTout(MonChamp) +rq est une Requête SQL = +[ +SELECT SO_Nom,SO_PKID,SO_Archive FROM Societe +ORDER BY SO_Archive , SO_Nom +] +rq.ExécuteRequête(hRequêteDéfaut) +pour tout rq +si pas rq.SO_Archive alors +ListeAjoute(MonChamp,rq.SO_Nom+gLien(rq.SO_PKID)) +sinon +ListeAjoute(MonChamp,gStylo(GrisFoncé)+gPoliceItalique()+ rq.so_nom+gLien(rq.so_pkid)) +fin +fin +si ListeOccurrence(MonChamp)>1 alors +ListeInsère(MonChamp,"Toutes"+gLien(0),1) +fin +ListeSelectPlus(MonChamp,1) +Sélection d'une ligne de CMB_Societe +Filtrer() +A chaque modification de INT_AfficheInactifs +Filtrer() +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TBL_Collab +Ouvre(FEN_Collaborateur,COL_CollabID) +Filtrer(TBL_Collab) +FI_CollaborateurListe +Procédures +Procédure locale Filtrer +06/08/2026 Isis_BO 5118 + +Partie 3 › Fenêtre WINDEV › FI_CollaborateurListe › Procédures +// Résumé : Affiche la liste des collaborateurs en fonction des filtres sélectionnés +// Syntaxe : +//Filtrer ( [ est entier]) +// +// Paramètres : +// nLigne (entier - valeur par défaut=0) : +// Valeur de retour : +// Aucune +// +// Exemple : +// +// +procédure Filtrer(nLigne est un entier=0) +rq est une Requête SQL = +[ +SELECT CO_Nom, +CO_Prenom, +CO_Trigramme, +CO_Actif, +CO_AuPlanning, +CO_TelMobile, +CO_Email, +CO_PKID, +UT_AccesBO, +UT_AccesMobile, +CO_Fonction, +UT_IDTypeProfil, +UT_IDSocietePrincipale ,Societe.SO_Nom, +(SELECT STRING_AGG(SO_Nom,' - ') FROM Societe_Collaborateur INNER JOIN Societe ON +Societe_Collaborateur.SC_IDCSociete = Societe.SO_PKID WHERE Societe_Collaborateur. +SC_IDCollaborateur = Collaborateur.CO_PKID AND Societe_Collaborateur.SC_IDCSociete<>Utilisateur. +UT_IDSocietePrincipale) AS AutreSoc +FROM Collaborateur +LEFT OUTER JOIN Utilisateur ON Collaborateur.CO_PKID = +Utilisateur.UT_IDCollaborateur +LEFT OUTER JOIN Societe ON Utilisateur.UT_IDSocietePrincipale = Societe. +SO_PKID +WHERE Utilisateur.UT_IDSocietePrincipale={pIdSociete} +AND Collaborateur.CO_Actif={pActif} +AND Collaborateur.CO_PKID={pIdCollab} +ORDER BY Collaborateur.CO_Nom,Collaborateur.CO_Prenom +] +si nLigne=0 alors +//Chargement de tous le tableau +si CMB_Societe>0 alors +rq.pIdSociete = CMB_Societe +fin +si pas INT_AfficheInactifs alors +rq.pActif=1 +fin +TBL_Collab.SupprimeTout() +sinon +//Mise à jour d'une seule ligne +rq.pidcollab=COL_CollabID[nLigne] +fin +rq.ExécuteRequête(hRequêteDéfaut) +n est un entier +pour tout rq +si nLigne=0 alors +n = TBL_Collab.AjouteLigne() +06/08/2026 Isis_BO 5119 + +Partie 3 › Fenêtre WINDEV › FI_CollaborateurListe › Procédures +sinon +n=nLigne +fin +COL_Nom[n] = rq.CO_Nom +COL_Prenom[n] = rq.CO_Prenom +COL_TriG[n] = rq.co_trigramme +COL_Actif[n] = rq.co_actif +COL_AuPlanning[n]= rq.co_auplanning +COL_BO[n] = rq.ut_accesbo +COL_Mobile[n] = rq.ut_accesmobile +COL_Fonction[n] = rq.CO_Fonction +COL_Profil[n] = gpclListeProfilUser.RechercheEtDonneLibelleDepuisID(rq.UT_IDTypeProfil) +COL_Société[n] = rq.so_nom +COL_AutreSoc[n] = rq.AutreSoc +COL_CollabID[n] = rq.CO_PKID +fin +//rq est une requête SQL = +//[ +// SELECT CO_Nom, +// CO_Prenom, +// CO_Trigramme, +// CO_Actif, +// CO_AuPlanning, +// CO_TelMobile, +// CO_Email, +// CO_PKID, +// UT_AccesBO, +// UT_AccesMobile, +// CO_Fonction, +// UT_IDTypeProfil, +// UT_IDSocietePrincipale ,Societe.SO_Nom, +// STRING_AGG(S2.SO_Nom,' - ') AutreSoc +// FROM Collaborateur +// LEFT OUTER JOIN Utilisateur ON Collaborateur.CO_PKID += Utilisateur.UT_IDCollaborateur +// LEFT OUTER JOIN Societe ON Utilisateur.UT_IDSocietePrincipale += Societe.SO_PKID +// LEFT OUTER JOIN Societe_Collaborateur ON Societe_Collaborateur.SC_IDCollaborateur += Collaborateur.CO_PKID +// LEFT OUTER JOIN Societe S2 ON Societe_Collaborateur.SC_IDCSociete = S2.SO_PKID +// WHERE Utilisateur.UT_IDSocietePrincipale={pIdSociete} +// +//AND (Societe_collaborateur.SC_IDCSociete IS NULL OR +Societe_collaborateur.SC_IDCSociete<>Utilisateur.UT_IDSocietePrincipale) +// AND Collaborateur.CO_Actif={pActif} +// AND Collaborateur.CO_PKID={pIdCollab} +// GROUP BY +// CO_Nom, +// CO_Prenom, +// CO_Trigramme, +// CO_Actif, +// CO_AuPlanning, +// CO_TelMobile, +// CO_Email, +// CO_PKID, +// UT_AccesBO, +// UT_AccesMobile, +// CO_Fonction, +// UT_IDTypeProfil, +06/08/2026 Isis_BO 5120 + +Partie 3 › Fenêtre WINDEV › FI_CollaborateurListe › Procédures +// UT_IDSocietePrincipale ,Societe.SO_Nom +// +// ORDER BY Collaborateur.CO_Nom,Collaborateur.CO_Prenom +//] +06/08/2026 Isis_BO 5121 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Image +FI_Liste_Client_V2 +Image +FI_Liste_Client_V2 +Informations générales +FI_Liste_Client_V2 +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Liste_Client_V2.wdw +| Créé par | | frederic.bourras@applilogik.fr | | | | +| -------------------------- | ------------ | ------------------------------ | --------- | ------------ | ---- | +| Date de création | | 13/08/2018 18:42:43 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:31 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1458 Hauteur | 452 | +| Visible | | Barre de titre | | Menu système | | +| 06/08/2026 | | | Isis_BO | | 5122 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations générales +| Icône réduction | Icône agrandissement | | Icône aide ctx. | | +| --------------------- | -------------------- | --- | --------------- | --- | +| Barre de message | Détourer le fond | | Mode 9 images | | +| Redimensionnable | Avec grip | | Grip dans image | | +| Déplace/fond | Sauve position | | Ascenseur auto. | | +| Gestion grande police | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | Actif | | | | +| ------------------------------- | ----------------------------------- | --- | --- | --- | +| Curseur survol | 0 | | | | +| Copie d'écran | Oui | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Oui | | | | +| Type cadre | | | | | +| Transparence Vista | Non | | | | +| Transparence gérée par Vista | Non | | | | +| Appliquer le thème du projet | | | | | +| Grisé : Utiliser couleur perso. | Non | | | | +| Grisé : Algo pour images | | | | | +| 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. | | | | | +| 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 | | | | +| ---------------------- | --- | ------- | --- | ---- | +| 06/08/2026 | | Isis_BO | | 5123 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | | 20 | | Libellé | | 13 | +| --- | --------------------- | --- | --- | --- | --- | ----------------------- | --- | --- | +| | Bouton | | | 10 | | Interrupteur | | 30 | +| | Sélecteur | | | 1 | | Image | | 10 | +| | Table | | | 1 | | Combo | | 14 | +| | Forme | | | 9 | | Fenêtre interne | | 1 | +| | Superchamp | | | 5 | | Champ Modèle de champs | | 5 | +| | Option d'interrupteur | | | 30 | | Option de sélecteur | | 3 | +| | Colonne de table | | | 11 | | Rupture de zone répétée | | 2 | +| | Disposition | | | 1 | | Cellule de disposition | | 5 | +Nombre d'éléments dans la fenêtre : 171 +FI_Liste_Client_V2 +Informations sur les champs +Fenêtre : FI_Liste_Client_V2 +Fenêtre interne +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL elbisiV +nalP +| FI_Liste_Client_V2 | | | 0 | 0 | 1458 | 452 | 0 | | +| ------------------ | --- | --- | --- | --- | ---- | --- | --- | --- | +Fenêtre interne : FI_Liste_Client_V2 +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_CLIENT_RECH | | 75 -83 259 | 24 0 | Actif | Texte | | Non | | +| --------------- | --- | ---------- | ---- | ------- | ----- | --- | --- | ---- | +| 06/08/2026 | | | | Isis_BO | | | | 5124 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › 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_AFFICHER | | | 6 9 | 45 | 14 | 0 | Actif | Gauche | | Haut | | | +| ------------ | --- | --- | --- | --- | --- | --- | ----- | ------ | --- | ---- | --- | --- | +| LIB_DEPUIS | | 227 | 9 | 45 | 14 | 0 | Actif | Gauche | | Haut | | | +LIB_Titre_de_fenêtre_liste_client 9 6 181 21 0 Actif Gauche Centre +| LIB_Total_Liste_Client | | 44 | 0 | 36 | 14 | 0 | Actif | Gauche | | Haut | | | +| ---------------------------- | --- | --- | --- | --- | --- | --- | ----- | ------ | --- | ---- | --- | --- | +| LIB_Total_Titre_Liste_Client | | | 0 0 | 40 | 14 | 0 | Actif | Gauche | | Haut | | | +Bouton +notuob epyT +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_ADD_LISTE_CLIENT | | | 1247 | 4 | 24 | 24 | 0 | | Actif | | Normal | | +| --------------------------- | --- | --- | ---- | --- | --- | --- | --- | --- | ----- | --- | ------ | --- | +| BTN_AVANCEE | | | 1103 | 4 | 24 | 24 | 0 | | Actif | | Normal | | +| BTN_CLOSE_LISTE_CLIENT | | | 1423 | 4 | 24 | 24 | 0 | | Actif | | Normal | | +| BTN_COLLAPSE_LISTE_CLIENT | | | 717 | 4 | 24 | 24 | 0 | | Actif | | Normal | | +| BTN_DEL_LISTE_CLIENT | | | 1379 | 4 | 24 | 24 | 0 | | Grisé | | Normal | | +| BTN_EDT_LISTE_CLIENT | | | 1291 | 4 | 24 | 24 | 0 | | Grisé | | Normal | | +| BTN_GOMMER | | | 1191 | 4 | 24 | 24 | 0 | | Actif | | Normal | | +| BTN_RECHERCHE_CLIENT | | | 1147 | 4 | 24 | 24 | 0 | | Actif | | Normal | | +| BTN_SEL_LISTE_CLIENT | | | 1335 | 4 | 24 | 24 | 0 | | Grisé | | Normal | | +| BTN_UNCOLLAPSE_LISTE_CLIENT | | | 717 | 4 | 24 | 24 | 0 | | Actif | | Normal | | +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +lennoitroporp .csA +.loc .gifnoc .oméM +| | | | | | | | )(ertliFH resilitU | | ruesnecsa elluB | EERTNE noitseG | eércna ennoloC | | +| --- | --- | --- | --- | --- | --- | --- | ------------------ | -------------- | --------------- | -------------- | -------------- | -------------- | +| | | | | | | | .gerne egacolB | noitcelésitluM | | edacsac eisiaS | | 5.5 elbitapmoC | +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | --- | --- | --- | --- | +sruocraP +ruegraL ruetuaH +elbisiV +| | | | nalP | | | elbaT | | | | | | | +| ------------------ | --- | ------ | ---- | ---------- | --- | ------ | --- | --- | --- | --- | --- | --- | +| TABLE_LISTE_CLIENT | 0 | 0 1458 | 90 | 0 affichag | | Mémoir | | | | | | 1 | +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 +| COMBO_PERIODE_AFFICH | 272 | 5 | 87 | 22 | 0 | Actif | Variable | | | Non | | | +| -------------------- | --- | --- | --- | --- | ------- | ----- | -------- | --- | --- | --- | --- | ---- | +| COMBO_SEUIL_AFFICHAG | 57 | 5 | 158 | 22 | 0 | Actif | Variable | | | Non | | | +| 06/08/2026 | | | | | Isis_BO | | | | | | | 5125 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Forme +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_BANDEAU_BAS_CLIENT | | 0 | 0 1458 | 14 | 0 | Actif | | +| ------------------------------ | --- | --- | ------ | --- | --- | ----- | --- | +| FRM_CRITERE_LISTE_CLIENT | | 0 | 0 1458 | 282 | 0 | Actif | | +| FRM_DEPLIER_PLIER_LISTE_CLIENT | | 0 | 0 1458 | 33 | 0 | Actif | | +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_Crit_Client | | 92 | 38 944 | 132 | 0 | Actif | | +| --------------- | --- | ---- | ------- | --- | --- | ----- | --- | +| SC_Crit_Dossier | | 412 | 141 309 | 131 | 0 | Actif | | +| SC_Crit_Inter | | 737 | 141 624 | 135 | 0 | Actif | | +| SC_Critere_Site | | 1047 | 5 312 | 132 | 0 | Actif | | +| SC_SansNom1 | | 91 | 174 309 | 132 | 0 | Actif | | +Disposition +BAT ehcuoT +| | | X noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| D_LISTE_CLIENT | | 0 | 0 1458 | 518 | 0 | Actif | | +| -------------- | --- | --- | ------ | --- | --- | ----- | --- | +Table : FI_Liste_Client_V2.D_LISTE_CLIENT.TABLE_LISTE_CLIENT +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_DATEMODIF | 24 | 43 1490 | 16 0 | Actif | Gauche | Haut | | +| ------------- | --- | ------- | ------- | ----- | ------ | ---- | ---- | +| 06/08/2026 | | | Isis_BO | | | | 5126 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | elbairt ennoloC | ehcrehcer cevA | | | | +| --- | --- | --- | ------------ | --------------- | -------------- | ------------- | ---------------------- | ----------- | +| | | | | ehcuag à eéxiF | .zroh egardaC | .trev egardaC | | | +| | | | laitini tatE | elbaçalpéD | | | eisias epyT FTR tamroF | eisias cevA | +engilitluM +ruegraL +elbisiV +| | epyT | | | | | | | eéirT | +| -------------- | ---- | --- | -------- | --- | ------ | ------ | ------- | ----- | +| COL_NomClient | | 386 | affichag | | Gauche | Centre | Texte | | +| COL_Coordonnee | | 280 | affichag | | Gauche | Centre | Texte | | +| COL_NIDType | | 199 | affichag | | Gauche | Centre | Texte | | +| COL_NIDStatut | | 201 | affichag | | Gauche | Centre | Texte | | +| CodeClient | | 227 | Actif | | Gauche | Centre | Texte | | +| CodeComptable | | 150 | affichag | | Gauche | Centre | Texte | | +| MinDateModif | | 100 | affichag | | Gauche | Centre | Texte | | +| NbJrsModif | | 100 | affichag | | Droite | Centre | Numériq | | +| COL_PKID | | 100 | affichag | | Droite | Centre | Numériq | | +| IDOrigine | | 100 | Actif | | Gauche | Centre | Texte | | +| IDApporteur | | 100 | Actif | | Gauche | Centre | Texte | | +Rupture de zone répétée +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +RUPT_H_MinDateModif +RUPT_V_MinDateModif +Superchamp : FI_Liste_Client_V2.SC_Crit_Client +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_CLIENT | 222 71 | 173 22 | 0 | Actif Texte | | Non | | | +| ------------------ | ------- | ------ | --- | ----------- | --- | --- | --- | ---- | +| SAI_CODEPOSTAL_CLI | 544 94 | 173 22 | 0 | Actif Texte | | Non | | | +| SAI_CODE_CLIENT | 222 121 | 173 22 | 0 | Actif Texte | | Non | | | +| SAI_COORD_CLIENT | 544 69 | 173 22 | 0 | Actif Texte | | Non | | | +| SAI_VILLE_CLIENT | 544 119 | 173 22 | 0 | Actif Texte | | Non | | | +| 06/08/2026 | | | | Isis_BO | | | | 5127 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › 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_BLOCAGE | | 435 148 | 100 17 | 0 Actif | Gauche | Haut | | | +| ----------- | --- | ------- | ------ | ------- | ------ | ---- | --- | --- | +Interrupteur +ellennoitroporp .loC +| | | | | | | BAT ehcuoT sennoloc .bN | | | +| --- | --- | --------------------- | --------------- | --- | ------------ | ----------------------- | --- | ----------- | +| | | | | | laitini tatE | | | staté siorT | +| | | X noitisoP Y noitisoP | | | | | | | +| | | | ruegraL ruetuaH | | | | | | +elbisiV +nalP +| INT_APPORTEUR | | 728 68 | 130 25 | 0 | Actif | | 1 | | +| --------------------- | --- | ------- | ------ | --- | ----- | --- | --- | --- | +| INT_CLIENT | | 92 70 | 130 25 | 0 | Actif | | 1 | | +| INT_CODEPOSTAL_CLIENT | | 414 93 | 130 25 | 0 | Actif | | 1 | | +| INT_CODE_CLIENT | | 92 120 | 130 25 | 0 | Actif | | 1 | | +| INT_COORD_CLIENT | | 414 68 | 130 25 | 0 | Actif | | 1 | | +| INT_ORIGINE | | 728 93 | 130 25 | 0 | Actif | | 1 | | +| INT_REGLEMENT | | 728 118 | 130 25 | 0 | Actif | | 1 | | +| INT_STATUT_CLIENT | | 92 145 | 130 25 | 0 | Actif | | 1 | | +| INT_TYPE_CLIENT | | 92 95 | 130 25 | 0 | Actif | | 1 | | +| INT_VILLE_CLIENT | | 414 118 | 130 25 | 0 | Actif | | 1 | | +Sélecteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --------------- | --- | ------------ | --- | --- | ----------- | +| | | | ruegraL ruetuaH | | | | | | +elbisiV +nalP +| SEL_BLOCAGE_CLIENT | | 544 141 | 173 25 | 0 | Actif | | 3 | | +| ------------------ | --- | ------- | ------ | --- | ----- | --- | --- | --- | +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 +| COMBO_APPORTEUR | 858 | 69 173 | 22 0 Actif | Variable | | Non | | | +| ------------------- | --- | ------- | ---------- | -------- | --- | --- | --- | ---- | +| COMBO_ORIGINE | 858 | 94 173 | 22 0 Actif | Variable | | Non | | | +| COMBO_REGLEMENT | 858 | 119 173 | 22 0 Actif | Variable | | Non | | | +| COMBO_STATUT_CLIENT | 222 | 146 173 | 22 0 Actif | Variable | | Non | | | +| COMBO_TYPE_CLIENT | 222 | 96 173 | 22 0 Actif | Variable | | Non | | | +| 06/08/2026 | | | Isis_BO | | | | | 5128 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Forme +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_CADRE_CARACTERISTIQUES1 | | 92 | 67 | 944 103 | 0 | Actif | | +| --------------------------- | --- | --- | --- | ------- | --- | ----- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Crit_Client | | 92 | 38 | 944 29 | 0 | Actif | | +| ---------------- | --- | --- | --- | ------ | --- | ----- | --- | +Champ Modèle de champs : FI_Liste_Client_V2.SC_Crit_Client.CMOD_Crit_Client +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_BLOC | 126 | 43 819 | 19 | 0 Actif | Gauche | Haut | | +| -------- | --- | ------ | --- | ------- | ------ | ---- | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | +| | | | ruegraL | ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_Entete | 92 | 38 | 944 | 29 0 | Actif | | | +| ---------- | --- | --- | --- | ---- | ----- | --- | --- | +| IMG_ICONE | 100 | 44 | 16 | 16 0 | Actif | | | +Superchamp : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Dossier +| 06/08/2026 | | | Isis_BO | | | | 5129 | +| ---------- | --- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +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_NUMDOSSIER | 130 31 | 173 | 22 0 | Actif | Texte | | Non | | | | | +| ------------------ | ------ | --- | ---- | ----- | ----- | --- | --- | --- | --- | --- | --- | +| SAI_REFEXT_DOSSIER | 130 56 | 173 | 22 0 | Actif | Texte | | Non | | | | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | | | | | laitini tatE | | | | staté siorT | +| --- | --- | ---------- | --- | --- | --- | --- | ------------ | --- | --- | --- | ----------- | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_NUMDOSSIER | | | 0 30 | 130 | 25 | 0 | Actif | | | 1 | | +| ------------------ | --- | --- | ----- | --- | --- | --- | ----- | --- | --- | --- | --- | +| INT_REFEXT_DOSSIER | | | 0 55 | 130 | 25 | 0 | Actif | | | 1 | | +| INT_STATUT_DOSSIER | | | 0 105 | 130 | 25 | 0 | Actif | | | 1 | | +| INT_TYPE_DOSSIER | | | 0 80 | 130 | 25 | 0 | Actif | | | 1 | | +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 | | | | +| COMBO_STATUT_DOSSIE | 130 | 106 | 173 22 | 0 | Actif | Variable | | | Non | | | +| COMBO_TYPE_DOSSIER | 130 | 81 | 173 22 | 0 | Actif | Variable | | | Non | | | +Forme +BAT ehcuoT +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | --- | --- | +| | | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| FRM_CADRE_CARACTERISTIQUES1 | | | 0 | 28 | 309 | 103 | | 0 | | Actif | | +| --------------------------- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | ----- | ---- | +| 06/08/2026 | | | | | Isis_BO | | | | | | 5130 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | | | X noitisoP | | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | --- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Entete_Dossier | | | | 0 | | 0 | 309 | 29 | | 0 | Actif | | +| ------------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : +FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Dossier.CMOD_Entete_Dossier +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | ------- | --- | ------- | --- | --- | ------------ | --- | --- | --- | +| | | | | ruegraL | | ruetuaH | | | | | | | +elbisiV +nalP +| LIB_BLOC | | 34 | | 5 | 184 | 19 | 0 | | Actif | Gauche | Haut | | +| -------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | sucof cevA | +| --- | --- | --- | ---------- | ---------- | ------- | --- | ------- | --- | ------- | ------------ | --------- | ---------- | +| | | | | | | | ruetuaH | | | | cilc cevA | | +| | | | | | ruegraL | | | | elbisiV | | | | +nalP +| IMG_Entete | | | 0 | 0 | | 309 | 29 | 0 | | Actif | | | +| ---------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_ICONE | | | 8 | 6 | | 16 | 16 | 0 | | Actif | | | +Superchamp : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Inter +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_DATE_INTERV_AU | 544 109 | 74 | 22 | 0 | Actif | | Date | | Non | | | | +| ------------------ | ------- | --- | --- | --- | ----- | ------- | ----- | --- | --- | --- | --- | ---- | +| SAI_DATE_INTERV_DU | 445 109 | 74 | 22 | 0 | Actif | | Date | | Non | | | | +| SAI_DESCRIPTION | 445 82 | 172 | 22 | 0 | Actif | | Texte | | Non | | | | +| SAI_NUMINTERV | 130 31 | 173 | 22 | 0 | Actif | | Texte | | Non | | | | +| SAI_REFEXT_INTERV | 130 109 | 173 | 22 | 0 | Actif | | Texte | | Non | | | | +| 06/08/2026 | | | | | | Isis_BO | | | | | | 5131 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › 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_DATE_INTERV_AU | | 526 | | 113 | 17 14 | | 0 Actif | Gauche | | Haut | | +| ------------------ | --- | --- | --- | --- | ----- | --- | ------- | ------ | --- | ---- | --- | +Interrupteur +ellennoitroporp .loC +| | | | | | | | | | BAT ehcuoT | sennoloc .bN | | +| --- | --- | ---------- | --- | ---------- | ------- | ------- | --- | ------------ | ---------- | ------------ | ----------- | +| | | | | | | | | laitini tatE | | | staté siorT | +| | | X noitisoP | | Y noitisoP | | | | | | | | +| | | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| INT_DATE_INTERV_DU | | | 315 | 108 | 130 | 25 | 0 Actif | | | 1 | | +| --------------------- | --- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | +| INT_DESCRIPTION | | | 314 | 81 | 130 | 25 | 0 Actif | | | 1 | | +| INT_ETAT_INTERV | | | 314 | 55 | 130 | 25 | 0 Actif | | | 1 | | +| INT_NUMINTERV | | | 0 | 30 | 130 | 25 | 0 Actif | | | 1 | | +| INT_REFEXT_INTERV | | | 0 | 106 | 130 | 25 | 0 Actif | | | 1 | | +| INT_SOCIETE_INTERV | | | 314 | 30 | 130 | 25 | 0 Actif | | | 1 | | +| INT_SUIVI_PAR | | | 0 | 56 | 130 | 25 | 0 Actif | | | 1 | | +| INT_TYPE_INTERVENTION | | | 0 | 81 | 131 | 25 | 0 Actif | | | 1 | | +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 | | | | +| COMBO_ETAT_INTERV | 445 | 56 | 173 | 22 | 0 | Actif | Mémoire | | Non | | | +| COMBO_SOCIETE_INTERV | 445 | 31 | 173 | 22 | 0 | Actif | Mémoire | | Non | | | +| COMBO_SUIVI_PAR | 130 | 56 | 173 | 22 | 0 | Actif | Variable | | Non | | | +| COMBO_TYPE_INTERVENT | 130 | 82 | 173 | 22 | 0 | Actif | Variable | | Non | | | +Forme +BAT ehcuoT +| | | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | +| | | | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| FRM_CADRE_CARACTERISTIQUES | | | | 0 | 28 | 624 | 107 | 0 | | Actif | | +| -------------------------- | --- | --- | --- | --- | ------- | --- | ----- | --- | --- | ----- | ---- | +| FRM_SansNom1 | | | | 307 | 28 | | 8 103 | 0 | | Actif | | +| 06/08/2026 | | | | | Isis_BO | | | | | | 5132 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | | | X noitisoP | | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | --- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Entete_Inter | | | | 0 | 0 | 624 | 29 | | 0 | Actif | | +| ----------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : +FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Inter.CMOD_Entete_Inter +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| LIB_BLOC | | 34 | 5 | 499 | 19 | 0 | | Actif | Gauche | Haut | | +| -------- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | ------- | ------------ | --------- | ---------- | +| | | | | | | ruetuaH | | | | cilc cevA | | +| | | | | | ruegraL | | | elbisiV | | | | +nalP +| IMG_Entete | | | 0 | 0 | 624 | 29 | 0 | | Actif | | | +| ---------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_ICONE | | | 8 | 6 | 16 | 16 | 0 | | Actif | | | +Superchamp : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Critere_Site +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_ADRESSE_SITE | 130 55 | 175 | 22 | 0 | Actif | Texte | | Non | | | | +| ---------------- | ------ | --- | --- | --- | ----- | ----- | --- | --- | --- | --- | --- | +SAI_CODEPOSTAL_SIT +| | 130 80 | 175 | 22 | 0 | Actif | Texte | | Non | | | | +| -------------- | ------- | --- | --- | --- | ------- | ----- | --- | --- | --- | --- | ---- | +| SAI_CODE_LIEU | 130 30 | 175 | 22 | 0 | Actif | Texte | | Non | | | | +| SAI_VILLE_SITE | 130 105 | 175 | 22 | 0 | Actif | Texte | | Non | | | | +| 06/08/2026 | | | | | Isis_BO | | | | | | 5133 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | staté siorT | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | ----------- | +ruetuaH +| | | ruegraL | | | elbisiV | | | | +| --- | --- | ------- | --- | --- | ------- | --- | --- | --- | +nalP +| INT_ADRESSE_SITE | 0 | 54 130 | | 25 0 | Actif | | 1 | | +| ------------------- | --- | ------- | --- | ---- | ----- | --- | --- | --- | +| INT_CODEPOSTAL_SITE | 0 | 79 130 | | 25 0 | Actif | | 1 | | +| INT_CODE_LIEU | 0 | 29 130 | | 25 0 | Actif | | 1 | | +| INT_VILLE_SITE | 0 | 104 130 | | 25 0 | Actif | | 1 | | +Forme +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_CADRE_CARACTERISTIQUES1 | | 2 | 30 | 310 | 103 | 0 | Actif | | +| --------------------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_SansNom1 | | 2 | 0 | 310 | 29 | 0 | Actif | | +| ------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : +FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Critere_Site.CMOD_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_BLOC | 34 | 5 185 | 19 | 0 | Actif | Gauche | Haut | | +| ---------- | --- | ----- | ------- | --- | ----- | ------ | ---- | ---- | +| 06/08/2026 | | | Isis_BO | | | | | 5134 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › 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_Entete | | 0 | 0 310 | 29 | 0 | | Actif | | | +| ---------- | --- | --- | ----- | --- | --- | --- | ----- | --- | --- | +| IMG_ICONE | | 8 | 6 16 | 16 | 0 | | Actif | | | +Superchamp : FI_Liste_Client_V2.SC_SansNom1 +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 eisias epyT | FTR tamroF | | ediv is LLUN | | lacitrev .csA | +| | X noitisoP Y noitisoP | | laitini tatE | | engilitluM | | | | | +ruetuaH +| | | ruegraL | elbisiV | | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_EMAIL_CONTACT | 221 254 | 173 22 0 | Actif | Texte | | Non | | | | +| ----------------- | ------- | -------- | ----- | ----- | --- | --- | --- | --- | --- | +| SAI_NOM_CONTACT | 221 204 | 173 22 0 | Actif | Texte | | Non | | | | +| SAI_TELS_CONTACT | 221 229 | 173 22 0 | Actif | Texte | | Non | | | | +Interrupteur +ellennoitroporp .loC +| | | | | | | | BAT ehcuoT sennoloc .bN | | | +| --- | --- | --- | --- | --- | --- | ------------ | ----------------------- | --- | ----------- | +| | | | | | | laitini tatE | | | staté siorT | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_EMAIL_CONTACT | | 91 253 | 130 | 25 | 0 | Actif | | 1 | | +| ----------------- | --- | ------ | --- | --- | --- | ----- | --- | --- | --- | +| INT_NOM_CONTACT | | 91 203 | 130 | 25 | 0 | Actif | | 1 | | +| INT_ROLE_CONTACT | | 91 279 | 130 | 25 | 0 | Actif | | 1 | | +| INT_TELS_CONTACT | | 91 228 | 130 | 25 | 0 | Actif | | 1 | | +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 | | | +| ------------------ | --- | ---------- | ------- | ----- | -------- | --- | ----- | --- | ---- | +| COMBO_ROLE_CONTACT | 221 | 280 173 22 | 0 | Actif | Variable | | Non | | | +| 06/08/2026 | | | Isis_BO | | | | | | 5135 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Forme +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_CADRE_CARACTERISTIQUES | | 91 | 203 | 309 103 | 0 | Actif | | +| -------------------------- | --- | --- | --- | ------- | --- | ----- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Entete_Contact | | 91 | 174 | 309 29 | 0 | Actif | | +| ------------------- | --- | --- | --- | ------ | --- | ----- | --- | +Champ Modèle de champs : FI_Liste_Client_V2.SC_SansNom1.CMOD_Entete_Contact +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_BLOC | 125 | 179 184 | 19 | 0 Actif | Gauche | Haut | | +| -------- | --- | ------- | --- | ------- | ------ | ---- | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | +| | | | ruegraL | ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_Entete | 91 | 174 | 309 | 29 0 | Actif | | | +| ---------- | --- | --- | --- | ---- | ----- | --- | --- | +| IMG_ICONE | 99 | 180 | 16 | 16 0 | Actif | | | +Fenêtre : FI_Liste_Client_V2 +| 06/08/2026 | | | Isis_BO | | | | 5136 | +| ---------- | --- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Fenêtre interne : FI_Liste_Client_V2 +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Liste_Client_V2 +Bouton : FI_Liste_Client_V2.D_LISTE_CLIENT.BTN_ADD_LISTE_CLIENT +Groupe GR_MODEFORMULAIRE_LISTE_CLIENT +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 +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 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 5137 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Facteur d'agrandissement 0 +Type flèche +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 : FI_Liste_Client_V2.D_LISTE_CLIENT.BTN_AVANCEE +Ordre navigation 1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Paramétrage.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +06/08/2026 Isis_BO 5138 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +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 : FI_Liste_Client_V2.D_LISTE_CLIENT.BTN_CLOSE_LISTE_CLIENT +Groupe GR_MODEFORMULAIRE_LISTE_CLIENT +Ordre navigation 8 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 5139 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Bouton : FI_Liste_Client_V2.D_LISTE_CLIENT.BTN_COLLAPSE_LISTE_CLIENT +Groupe GR_MODEFORMULAIRE_LISTE_CLIENT +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Plier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5140 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Bouton : FI_Liste_Client_V2.D_LISTE_CLIENT.BTN_DEL_LISTE_CLIENT +Groupe GR_MODEFORMULAIRE_LISTE_CLIENT,GR_MODIFICATION_LISTE_CLIENT +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 5141 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Bouton : FI_Liste_Client_V2.D_LISTE_CLIENT.BTN_EDT_LISTE_CLIENT +Groupe GR_MODIFICATION_LISTE_CLIENT,GR_MODEFORMULAIRE_LISTE_CLIENT +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 5142 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Bouton : FI_Liste_Client_V2.D_LISTE_CLIENT.BTN_GOMMER +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\Icone_Applicatif_24_24_Gommer.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 5143 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Bouton : FI_Liste_Client_V2.D_LISTE_CLIENT.BTN_RECHERCHE_CLIENT +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_refresh.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 5144 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Bouton : FI_Liste_Client_V2.D_LISTE_CLIENT.BTN_SEL_LISTE_CLIENT +Groupe GR_MODEFORMULAIRE_LISTE_CLIENT +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 5145 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Bouton : FI_Liste_Client_V2.D_LISTE_CLIENT.BTN_UNCOLLAPSE_LISTE_CLIENT +Groupe GR_MODEFORMULAIRE_LISTE_CLIENT +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5146 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Combo : FI_Liste_Client_V2.D_LISTE_CLIENT.COMBO_PERIODE_AFFICHAGE_CLIENT +Groupe GR_PERIODE_AFFICHAGE_CLIENT +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 87 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 272 +Largeur interne 87 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Période d'affichage du nombre de lignes +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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 +06/08/2026 Isis_BO 5147 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListePeriodeAffichageListe.m_clTabVisible +Filtre 02 +Rub. affichée :gpclListePeriodeAffichageListe.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListePeriodeAffichageListe.m_clTabVisible.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 333 Taux anc. bas 250 Taux anc. largeur 1000 Taux anc. hauteur 250 +Combo : FI_Liste_Client_V2.D_LISTE_CLIENT.COMBO_SEUIL_AFFICHAGE_CLIENT +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 158 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 57 +Largeur interne 158 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Seuil d'affichage du nombre de lignes +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Isis_BO 5148 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeSeuilAffichageListe.m_clTabVisible +Filtre 02 +Rub. affichée :gpclListeSeuilAffichageListe.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeSeuilAffichageListe.m_clTabVisible.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 333 Taux anc. bas 250 Taux anc. largeur 1000 Taux anc. hauteur 250 +Disposition : FI_Liste_Client_V2.D_LISTE_CLIENT +Libellé FR: Disposition +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 +Cellule ancrée 4 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Isis_BO 5149 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 0 +Débordement Tronquer le contenu +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Liste_Client_V2.D_LISTE_CLIENT.FRM_BANDEAU_BAS_CLIENT +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Liste_Client_V2.D_LISTE_CLIENT.FRM_CRITERE_LISTE_CLIENT +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 0 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5150 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Forme : FI_Liste_Client_V2.D_LISTE_CLIENT.FRM_DEPLIER_PLIER_LISTE_CLIENT +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Client_V2.D_LISTE_CLIENT.LIB_AFFICHER +Libellé FR: Afficher +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 +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 +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 +06/08/2026 Isis_BO 5151 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Client_V2.D_LISTE_CLIENT.LIB_DEPUIS +Libellé FR: Depuis +Groupe GR_PERIODE_AFFICHAGE_CLIENT +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Client_V2.D_LISTE_CLIENT.LIB_Titre_de_fenêtre_liste_client +Libellé FR: Titre +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 5152 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Client_V2.D_LISTE_CLIENT.LIB_Total_Liste_Client +Libellé FR: 000 +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 +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 +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 +06/08/2026 Isis_BO 5153 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : FI_Liste_Client_V2.D_LISTE_CLIENT.LIB_Total_Titre_Liste_Client +Libellé FR: Total : +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 +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 +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 Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client_V2.SAI_CLIENT_RECH +Libellé FR: &Client +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression En saisie +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +06/08/2026 Isis_BO 5154 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 75 +Largeur interne 259 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Texte d'indication si vide FR: Saisir le nom du client recherché +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Gestion Euro Non +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 5155 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › 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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Liste_Client_V2.SC_Crit_Client +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 944 +Hauteur externe 132 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5156 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Superchamp : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Dossier +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 309 +Hauteur externe 131 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Inter +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 624 +Hauteur externe 135 +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 Droite +06/08/2026 Isis_BO 5157 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Critere_Site +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 312 +Hauteur externe 132 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Liste_Client_V2.SC_SansNom1 +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 309 +Hauteur externe 132 +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 +06/08/2026 Isis_BO 5158 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Source de remplissage Table chargée en mémoire +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : FI_Liste_Client_V2.D_LISTE_CLIENT.TABLE_LISTE_CLIENT +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Recherche +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 0 +Marge en bas 0 +Marge à gauche 1 +Marge à droite 3 +Sens Vertical +Retrait gauche 2 +Angle titre 0 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 500 +Etat chargement Non +Retrait gauche FI détail 0 +FI détail au survol Non +06/08/2026 Isis_BO 5159 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Même contenu/ligne Non +Aff. résultats Sans affichage +Somme FR: Somme +Moyenne FR: Moyenne +Compteur FR: Compteur +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Ajout/Suppr. dans variable Non +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 +Superchamp : FI_Liste_Client_V2.SC_Crit_Client +Champ Modèle de champs : FI_Liste_Client_V2.SC_Crit_Client.CMOD_Crit_Client +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5160 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Combo : FI_Liste_Client_V2.SC_Crit_Client.COMBO_APPORTEUR +Libellé FR: &Apporté par +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 858 +Largeur interne 173 +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 +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 +06/08/2026 Isis_BO 5161 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeApporteurClient.m_clTabModele +Filtre 6 +Rub. affichée :gpclListeApporteurClient.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeApporteurClient.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Client_V2.SC_Crit_Client.COMBO_ORIGINE +Libellé FR: &Origine +Valeur initiale 1 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 858 +Largeur interne 173 +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 +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Isis_BO 5162 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeOrigineClient.m_clTabModele +Rub. affichée :gpclListeOrigineClient.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeOrigineClient.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Client_V2.SC_Crit_Client.COMBO_REGLEMENT +Libellé FR: &Règlement +Valeur initiale 1 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 17 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Isis_BO 5163 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 858 +Largeur interne 173 +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 +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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeModeReglementCli.m_clTabModele +Rub. affichée :gpclListeModeReglementCli.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeModeReglementCli.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 5164 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Client_V2.SC_Crit_Client.COMBO_STATUT_CLIENT +Libellé FR: Stat&ut du client +Valeur initiale 1 +Groupe ,GR_CRITERE_LISTECLIENT +Ordre navigation 22 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 222 +Largeur interne 173 +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 +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 +06/08/2026 Isis_BO 5165 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeStatutClient.m_clTabVisible +Rub. affichée :gpclListeStatutClient.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeStatutClient.m_clTabVisible.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Client_V2.SC_Crit_Client.COMBO_TYPE_CLIENT +Libellé FR: Type de client +Groupe ,GR_CRITERE_LISTECLIENT +Ordre navigation 13 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 222 +Largeur interne 173 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Message FR: Type de client +Numéro aide 0 +Texte d'indication si vide FR: Type de client +Opacité 100 +06/08/2026 Isis_BO 5166 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse +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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeClient.m_clTabVisible +Filtre 02 +Rub. affichée :gpclListeTypeClient.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeTypeClient.m_clTabVisible.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5167 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Forme : FI_Liste_Client_V2.SC_Crit_Client.FRM_CADRE_CARACTERISTIQUES1 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client_V2.SC_Crit_Client.INT_APPORTEUR +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 3 +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 +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 Toute la hauteur de l'option +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 +06/08/2026 Isis_BO 5168 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Option format RTF Non +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client_V2.SC_Crit_Client.INT_CLIENT +Valeur initiale 0 +Groupe ,GR_CRITERE_LISTECLIENT +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 5169 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client_V2.SC_Crit_Client.INT_CODEPOSTAL_CLIENT +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 8 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5170 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Interrupteur : FI_Liste_Client_V2.SC_Crit_Client.INT_CODE_CLIENT +Valeur initiale 0 +Groupe ,GR_CRITERE_LISTECLIENT +Ordre navigation 18 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5171 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Interrupteur : FI_Liste_Client_V2.SC_Crit_Client.INT_COORD_CLIENT +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 2 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5172 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Interrupteur : FI_Liste_Client_V2.SC_Crit_Client.INT_ORIGINE +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 9 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5173 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Interrupteur : FI_Liste_Client_V2.SC_Crit_Client.INT_REGLEMENT +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 15 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5174 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Interrupteur : FI_Liste_Client_V2.SC_Crit_Client.INT_STATUT_CLIENT +Valeur initiale 0 +Groupe ,GR_CRITERE_LISTECLIENT +Ordre navigation 21 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5175 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Interrupteur : FI_Liste_Client_V2.SC_Crit_Client.INT_TYPE_CLIENT +Valeur initiale 0 +Groupe ,GR_CRITERE_LISTECLIENT +Ordre navigation 12 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5176 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Interrupteur : FI_Liste_Client_V2.SC_Crit_Client.INT_VILLE_CLIENT +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 14 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5177 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Libellé : FI_Liste_Client_V2.SC_Crit_Client.LIB_BLOCAGE +Libellé FR: Blocage +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client_V2.SC_Crit_Client.SAI_CLIENT +Libellé FR: &Client +Groupe ,GR_CRITERE_LISTECLIENT +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +06/08/2026 Isis_BO 5178 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Cadrage horz. Gauche +Position X interne 222 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +06/08/2026 Isis_BO 5179 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome Couleur monochrome du style +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client_V2.SC_Crit_Client.SAI_CODEPOSTAL_CLIENT +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 544 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 5180 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client_V2.SC_Crit_Client.SAI_CODE_CLIENT +Groupe ,GR_CRITERE_LISTECLIENT +Ordre navigation 19 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +06/08/2026 Isis_BO 5181 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Cadrage horz. Gauche +Position X interne 222 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +06/08/2026 Isis_BO 5182 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome Couleur monochrome du style +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client_V2.SC_Crit_Client.SAI_COORD_CLIENT +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 544 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 5183 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client_V2.SC_Crit_Client.SAI_VILLE_CLIENT +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 16 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +06/08/2026 Isis_BO 5184 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Cadrage horz. Gauche +Position X interne 544 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +06/08/2026 Isis_BO 5185 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome Couleur monochrome du style +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Sélecteur : FI_Liste_Client_V2.SC_Crit_Client.SEL_BLOCAGE_CLIENT +Libellé FR: &Sélecteur +Valeur initiale 1 +Ordre navigation 20 +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 +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 Toute la hauteur de l'option +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. +Image D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CBox_A28.png +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +06/08/2026 Isis_BO 5186 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client_V2.SC_Crit_Client.CMOD_Crit_Client +Image : FI_Liste_Client_V2.SC_Crit_Client.CMOD_Crit_Client.IMG_Entete +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5187 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Image : FI_Liste_Client_V2.SC_Crit_Client.CMOD_Crit_Client.IMG_ICONE +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_CLIENT.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Client_V2.SC_Crit_Client.CMOD_Crit_Client.LIB_BLOC +Libellé FR: Client +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Isis_BO 5188 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Dossier +Champ Modèle de champs : +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5189 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Combo : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Dossier.COMBO_STATUT_DOSSIER +Libellé FR: Stat&ut du dossier +Valeur initiale 1 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 542 +Largeur interne 173 +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 +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 +06/08/2026 Isis_BO 5190 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeStatutDossier.m_clTabModele +Rub. affichée :gpclListeStatutDossier.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeStatutDossier.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Dossier.COMBO_TYPE_DOSSIER +Libellé FR: &Type de dossier +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 542 +Largeur interne 173 +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 +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 5191 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeDossier.m_clTabModele +Filtre 6 +Rub. affichée :gpclListeTypeDossier.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeTypeDossier.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Isis_BO 5192 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Dossier.INT_NUMDOSSIER +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 2 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5193 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Interrupteur : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Dossier.INT_REFEXT_DOSSIER +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5194 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Interrupteur : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Dossier.INT_STATUT_DOSSIER +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 8 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5195 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Interrupteur : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Dossier.INT_TYPE_DOSSIER +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5196 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Champ de saisie : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Dossier.SAI_NUMDOSSIER +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 542 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 5197 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 542 +Largeur interne 173 +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 +06/08/2026 Isis_BO 5198 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5199 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Champ Modèle de champs : +FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Dossier.CMOD_Entete_Dossier +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_dossier.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +06/08/2026 Isis_BO 5200 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : +Libellé FR: Dossier +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 +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 +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 +06/08/2026 Isis_BO 5201 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Inter +Champ Modèle de champs : +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Inter.COMBO_ETAT_INTERV +Libellé FR: &Intervention suivi par +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Fenêtre Popup FEN_Choix_Parametre_Metier +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +06/08/2026 Isis_BO 5202 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 1182 +Largeur interne 173 +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 +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. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5203 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Combo : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Inter.COMBO_SOCIETE_INTERV +Libellé FR: &Intervention suivi par +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Fenêtre Popup FEN_Choix_Parametre_Metier +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 1182 +Largeur interne 173 +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 +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 +06/08/2026 Isis_BO 5204 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Inter.COMBO_SUIVI_PAR +Libellé FR: &Intervention suivi par +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Fenêtre Popup FEN_Choix_Collab_Responsable +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 867 +Largeur interne 173 +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 +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 +06/08/2026 Isis_BO 5205 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeCollabResp.m_clTabModele +Rub. affichée :gpclListeCollabResp.m_clTabModele.NomPrenom +Rub. mémorisée :gpclListeCollabResp.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Inter.COMBO_TYPE_INTERVENTION +Libellé FR: &Type d'intervention +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 +06/08/2026 Isis_BO 5206 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Largeur liste 173 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 867 +Largeur interne 173 +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 +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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeIntervention.m_clTabModele +Rub. affichée :gpclListeTypeIntervention.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeTypeIntervention.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5207 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Inter.FRM_SansNom1 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Vertical +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Inter.INT_DATE_INTERV_DU +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 15 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Isis_BO 5208 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Inter.INT_DESCRIPTION +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 11 +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 +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +06/08/2026 Isis_BO 5209 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Inter.INT_ETAT_INTERV +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +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 +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 Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Isis_BO 5210 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Inter.INT_NUMINTERV +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 2 +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 +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 Toute la hauteur de l'option +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 +06/08/2026 Isis_BO 5211 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Inter.INT_REFEXT_INTERV +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 14 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Isis_BO 5212 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Inter.INT_SOCIETE_INTERV +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 3 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5213 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Interrupteur : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Inter.INT_SUIVI_PAR +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 7 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5214 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Interrupteur : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Inter.INT_TYPE_INTERVENTION +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 10 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5215 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Libellé : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Inter.LIB_DATE_INTERV_AU +Libellé FR: au +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 +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 18 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +06/08/2026 Isis_BO 5216 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Position X interne 1281 +Largeur interne 74 +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: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +06/08/2026 Isis_BO 5217 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 17 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 1182 +Largeur interne 74 +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: JJ/MM/AA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 5218 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +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. +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 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Inter.SAI_DESCRIPTION +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 13 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Isis_BO 5219 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1182 +Largeur interne 172 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +06/08/2026 Isis_BO 5220 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Inter.SAI_NUMINTERV +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 867 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 5221 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Inter.SAI_REFEXT_INTERV +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 16 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Isis_BO 5222 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 867 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +06/08/2026 Isis_BO 5223 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Inter.CMOD_Entete_Inter +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5224 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_action.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Crit_Inter.CMOD_Entete_Inter.LIB_BLOC +Libellé FR: Intervention +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Isis_BO 5225 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Critere_Site +Champ Modèle de champs : +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5226 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Forme : +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Critere_Site.INT_ADRESSE_SITE +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +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 +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 Toute la hauteur de l'option +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 +06/08/2026 Isis_BO 5227 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Option format RTF Non +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Critere_Site.INT_CODEPOSTAL_SITE +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 5228 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Critere_Site.INT_CODE_LIEU +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 2 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5229 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Interrupteur : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Critere_Site.INT_VILLE_SITE +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 8 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5230 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Champ de saisie : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Critere_Site.SAI_ADRESSE_SITE +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1177 +Largeur interne 175 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 5231 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › 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. +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 +Champ de saisie : +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1177 +Largeur interne 175 +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 +06/08/2026 Isis_BO 5232 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +06/08/2026 Isis_BO 5233 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Champ de saisie : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Critere_Site.SAI_CODE_LIEU +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1177 +Largeur interne 175 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 5234 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › 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. +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 +Champ de saisie : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Critere_Site.SAI_VILLE_SITE +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 1177 +Largeur interne 175 +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 +06/08/2026 Isis_BO 5235 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +06/08/2026 Isis_BO 5236 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Champ Modèle de champs : +FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Critere_Site.CMOD_SansNom1 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_SITE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +06/08/2026 Isis_BO 5237 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Liste_Client_V2.D_LISTE_CLIENT.SC_Critere_Site.CMOD_SansNom1.LIB_BLOC +Libellé FR: Site +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 +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 +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 +06/08/2026 Isis_BO 5238 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Liste_Client_V2.SC_SansNom1 +Champ Modèle de champs : FI_Liste_Client_V2.SC_SansNom1.CMOD_Entete_Contact +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Liste_Client_V2.SC_SansNom1.COMBO_ROLE_CONTACT +Libellé FR: Stat&ut du client +Valeur initiale 1 +Groupe ,GR_CRITERE_LISTECLIENT +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 173 +Larg. déroulée perso. Non +06/08/2026 Isis_BO 5239 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 221 +Largeur interne 173 +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 +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. +Avec recherche Non +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeRoleContact.m_clTabVisible +Rub. affichée :gpclListeRoleContact.m_clTabVisible.m_sLibelle +Rub. mémorisée :gpclListeRoleContact.m_clTabVisible.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5240 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Forme : FI_Liste_Client_V2.SC_SansNom1.FRM_CADRE_CARACTERISTIQUES +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client_V2.SC_SansNom1.INT_EMAIL_CONTACT +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +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 +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 Toute la hauteur de l'option +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 +06/08/2026 Isis_BO 5241 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Option format RTF Non +Texte Markdown Non +Mode menu ctx. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client_V2.SC_SansNom1.INT_NOM_CONTACT +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 2 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +06/08/2026 Isis_BO 5242 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client_V2.SC_SansNom1.INT_ROLE_CONTACT +Valeur initiale 0 +Groupe ,GR_CRITERE_LISTECLIENT +Ordre navigation 8 +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5243 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Interrupteur : FI_Liste_Client_V2.SC_SansNom1.INT_TELS_CONTACT +Valeur initiale 0 +Groupe GR_CRITERE_LISTECLIENT +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 +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 Toute la hauteur de l'option +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. +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5244 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Champ de saisie : FI_Liste_Client_V2.SC_SansNom1.SAI_EMAIL_CONTACT +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 221 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 5245 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client_V2.SC_SansNom1.SAI_NOM_CONTACT +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 221 +Largeur interne 173 +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 +06/08/2026 Isis_BO 5246 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5247 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Champ de saisie : FI_Liste_Client_V2.SC_SansNom1.SAI_TELS_CONTACT +Groupe GR_CRITERE_LISTECLIENT +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 221 +Largeur interne 173 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 5248 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › 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. +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client_V2.SC_SansNom1.CMOD_Entete_Contact +Image : FI_Liste_Client_V2.SC_SansNom1.CMOD_Entete_Contact.IMG_Entete +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +06/08/2026 Isis_BO 5249 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Liste_Client_V2.SC_SansNom1.CMOD_Entete_Contact.IMG_ICONE +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_CONTACTSITE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5250 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Libellé : FI_Liste_Client_V2.SC_SansNom1.CMOD_Entete_Contact.LIB_BLOC +Libellé FR: Contact +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : FI_Liste_Client_V2.D_LISTE_CLIENT.TABLE_LISTE_CLIENT +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 6 +06/08/2026 Isis_BO 5251 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Libellé : +Libellé FR: Date de modification +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 +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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 6 +06/08/2026 Isis_BO 5252 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Colonne de table : +Titre FR: Nom du Client +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 100 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Coordonnées +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 +06/08/2026 Isis_BO 5253 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Type +client +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 227 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5254 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Colonne de table : +Titre FR: Statut +Client +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 150 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Client_V2.D_LISTE_CLIENT.TABLE_LISTE_CLIENT.CodeClient +Titre FR: CodeClient +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 +06/08/2026 Isis_BO 5255 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: CodeComptable +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5256 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Colonne de table : +Titre FR: MinDateModif +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 +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Client_V2.D_LISTE_CLIENT.TABLE_LISTE_CLIENT.NbJrsModif +Titre FR: NbJrsModif +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: MoneySystemMask +06/08/2026 Isis_BO 5257 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Client_V2.D_LISTE_CLIENT.TABLE_LISTE_CLIENT.COL_PKID +Titre FR: PKID +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 Non +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: +9 999 999 999 999 999 999 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5258 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Colonne de table : FI_Liste_Client_V2.D_LISTE_CLIENT.TABLE_LISTE_CLIENT.IDOrigine +Titre FR: Origine +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 0 +Larg. déroulée perso. Non +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 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Client_V2.D_LISTE_CLIENT.TABLE_LISTE_CLIENT.IDApporteur +Titre FR: Apporteur +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 0 +Larg. déroulée perso. Non +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 +06/08/2026 Isis_BO 5259 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Informations sur les champs +Taille de saisie 0 +Mot de passe Non +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FI_Liste_Client_V2 +Messages multilingues +06/08/2026 Isis_BO 5260 +¹ +.ssem +°N +Message +2000 FR: Confirmez vous la suppression ? +2001 FR: Confirmez vous la suppression ? +¹ N° mess. : numéro de message. +FI_Liste_Client_V2 +Code des champs +Déclarations globales de FI_Liste_Client_V2 +procédure FI_Liste_Client(x, paramSupplementaire est un STParamFenetreAppelante=Null) +//Variable qui contient la call stack à appeler dans les appels de sous fenêtre +//maProcMAJObjetRetourFI est une Procédure = MAJObjetRetourFI +maProcMAJObjetRetourListClient est une procédure = MAJObjetRetourFI +//maProcRefreshObjetPres est une procédure = RefreshObjetListeClient +maProcMAJCriterePerso est une procédure = MAJCriterePerso +//gbEnRechercheLocal est un booléen = faux +gsTriEnCours est une chaîne +gstListePerso est un STListePerso +gstCriterePerso est un STCritereListePerso +gpclListeCollabResp est un PTableCollaborateur dynamique +pclTabEtat est un PTableParametreMetier dynamique +pclTabSoc est un PTableSociete dynamique + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Code des champs +si paramSupplementaire=Null alors +st est un STParamFenetreAppelante +paramSupplementaire=st +fin +gnDelai est un entier +//IDEve est entier +LIB_Titre_de_fenêtre_liste_client = paramSupplementaire.eTypeAppel=Libre ? "Liste des clients" sinon +paramSupplementaire.sTitreFenetre<>"" ? paramSupplementaire.sTitreFenetre sinon "Liste des clients" +local +pclTabEtat = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"13") +// PTableParametreMetier.gNouvellePresentation(-1) +pclTabSoc = PTableSociete.gNouvellePresentation(-1) +gpclListeCollabResp=PTableCollaborateur.gNouvellePresentation(6) +ListeAffiche(COMBO_TYPE_CLIENT,taInit) +ListeAffiche(COMBO_STATUT_CLIENT,taInit) +ListeAffiche(COMBO_ROLE_CONTACT,taInit) +ListeAffiche(COMBO_TYPE_DOSSIER,taInit) +ListeAffiche(COMBO_STATUT_DOSSIER,taInit) +ListeAffiche(COMBO_SUIVI_PAR,taInit) +ListeAffiche(COMBO_TYPE_INTERVENTION,taInit) +ListeAffiche(COMBO_SEUIL_AFFICHAGE_CLIENT,taInit) +ListeAffiche(COMBO_PERIODE_AFFICHAGE_CLIENT,taInit) +SelectionValeurCombo(COMBO_SEUIL_AFFICHAGE_CLIENT,1)//INT_LIMITE_LISTE_CLIENT=1 +SelectionValeurCombo(COMBO_PERIODE_AFFICHAGE_CLIENT,0) +SEL_BLOCAGE_CLIENT=-1 +si paramSupplementaire.sNomIDAppelant="DossierClient" alors +//_ET_ paramSupplementaire.pclObjetAppelant:m_bBlocageEcriture ALORS +GR_PERIODE_AFFICHAGE_CLIENT..Etat = Grisé +SEL_BLOCAGE_CLIENT=0 +SEL_BLOCAGE_CLIENT..Etat=Grisé +ExécuteTraitement(BTN_COLLAPSE_LISTE_CLIENT,trtClic) +ChargementSQL() +si paramSupplementaire.pclObjetAppelant:m_bBlocageEcriture +gnDelai = DonneValeurTimeOutObjet(paramSupplementaire.pclObjetAppelant) +si gnDelai>0 alors +ActiveEvenement() +fin +TimerSys(TimeOutDeFermeture,100) +fin +sinon +si gpclFicheUtilisateurEnCours<>Null _et_ gpclFicheUtilisateurEnCours:ListeParametreUtilisateur<> +Null alors +gstListePerso = gpclFicheUtilisateurEnCours:DonneColonneEtTriListePerso(2) +gstCriterePerso = gpclFicheUtilisateurEnCours:DonneCritereListePerso(2) +fin +InitCriterePerso(GR_CRITERE_LISTECLIENT,gstCriterePerso,maProcMAJCriterePerso) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +//MajCocheBlocage(INT_BLOCAGE_CLIENT) +ChargementSQL() +fin +Fin d'initialisation de FI_Liste_Client_V2 +06/08/2026 Isis_BO 5261 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Code des champs +InitColonneChampTablePerso(TABLE_LISTE_CLIENT,gstListePerso) +si TABLE_LISTE_CLIENT..Occurrence>0 alors +TableSelectPlus(TABLE_LISTE_CLIENT,1) +fin +////Evénement(TriColonne,"TABLE_LISTE_CLIENT",1529) +////Evénement(DoubleClicLigneTableau,"TABLE_LISTE_CLIENT",WM_LBUTTONDBLCLK) +Demande de mise à jour de l'affichage de FI_Liste_Client_V2 +////SI gclPresentationListeClient<>Null _et_ gclPresentationListeClient est +PTableClient//(gclPresentationListeClient=pclObjet _ou_ pclObjet=Null) ALORS +//// +////// Gestion de l'accessibilité des boutons +//// +GestionBoutonsEnteteDansListe(GR_MODIFICATION_LISTE_CLIENT,BTN_ADD_LISTE_CLIENT,BTN_SEL_LISTE_CLIENT,TA +BLE_LISTE_CLIENT,paramSupplementaire) +//// +//// +SI paramSupplementaire.eTypeAppel<>DansFenetre ALORS +FEN_Menu.PriseFocus(VoletDuChamp(D_LISTE_CLIENT))//FEN_Menu.PriseFocus("FI_Liste_Client") +////FIN +Clic sur BTN_ADD_LISTE_CLIENT +//Nouveau client +////gnDelai=0 +////TimeOutDeFermeture() +//////La liste est sur l'onglet principale +////SI paramSupplementaire.eTypeAppel = Libre ALORS +//// +//// +//////Appel de la fiche en dessous de la liste +//// +OuvreFicheDepuisListe(FicheEnAjout,DonneParam(DansOnglet,"FI_Fiche_Client",MoiMême..Nom,maProcMAJObjetR +etourListClient,"Client",*,*,gclPresentationListeClient,*),gclPresentationListeClient,FI_Fiche_Client,M +aFenêtreInterne..Nom,D_LISTE_CLIENT,TABLE_LI +STE_CLIENT,Null,Null,Null,Null,maProcMAJObjetRetourListClient,MoiMême..Nom,DansOnglet,faux,0,Vrai) +//// +//////La liste est dans un champ FI +////SINON SI paramSupplementaire.eTypeAppel=DansChampFI ALORS +//////nIdIntervention est un entier sur 8 octets=paramSupplementaire.pclObjetAppelant.m_nPKID +//// +//// +stNewParam est un STParamFenetreAppelante = +DonneParam(DansFenetre,"FI_Liste_Client",MoiMême..Nom,maProcMAJObjetRetourListClient,*,"AddClient",*,gc +lPresentationListeClient) +//// +//// +//// +////nRetour est un entier = Ouvre(FEN_ChoixFenetreInterne,"FI_Fiche_Client",stNewParam) +//////Fermeture par Timer +////SI nRetour=-1 ALORS +//// gnDelai=1 +//// TimeOutDeFermeture() +////FIN +//// +//// +////FIN +Clic sur BTN_AVANCEE +06/08/2026 Isis_BO 5262 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Code des champs +//,DonneParam(DansFenetre,"FI_Liste_Dossier",MoiMême..Nom,maProcMAJObjetRetourListDossier,"","",*,pclTa +bSoc,Vrai) +OuvrePopupPosition(FEN_Choix_Colonne_Et_Tri,poHaut,2,TABLE_LISTE_CLIENT,gstListePerso)//ChargementSQL() +nIndiceRupt est un entier +nIndiceRuptsvg est un entier +pour toute ligne de TABLE_LISTE_CLIENT +nIndiceRupt = TableIndiceRupture(TABLE_LISTE_CLIENT.RUPT_H_MinDateModif,TABLE_LISTE_CLIENT) +si nIndiceRuptsvg<>nIndiceRupt alors +nIndiceRuptsvg = nIndiceRupt +TABLE_LISTE_CLIENT[nIndiceRupt].LIB_DATEMODIF = TABLE_LISTE_CLIENT[TABLE_LISTE_CLIENT]. +MinDateModif +TableAffiche(TABLE_LISTE_CLIENT,taCourantBandeau) +fin +fin +Clic sur BTN_CLOSE_LISTE_CLIENT +si paramSupplementaire.eTypeAppel=DansChampFI alors +//SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,Null) +////AppelProcFenetreAppelante(gclPresentationListeClient,paramSupplementaire,Faux,vrai) +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon si paramSupplementaire.eTypeAppel=DansOnglet alors +FermeVoletEtActiveLePrecedent(VoletDuChamp(D_LISTE_CLIENT)) +sinon si paramSupplementaire.eTypeAppel=DansFenetre alors +Ferme() +sinon +FermeVoletEtActiveLePrecedent(VoletDuChamp(D_LISTE_CLIENT)) +fin +Clic sur BTN_COLLAPSE_LISTE_CLIENT +D_LISTE_CLIENT[2]..Visible = Faux +BTN_UNCOLLAPSE_LISTE_CLIENT..Visible=Vrai +MoiMême..Visible = Faux +TABLE_LISTE_CLIENT.MinDateModif..Visible = Vrai +Clic sur BTN_DEL_LISTE_CLIENT +//SUPPRESSION D'UNE FICHE CLIENT +////si ChargeLigneSelectionnee(Faux) +////SI OuiNon("Confirmez vous la suppression ?")=non alors +//// RETOUR +////FIN +//// +////clErreur est un CErreur +//// +////clFicheClient est un PFicheClient(gclPresentationListeClient:p_clCourant,*) +////SI PAS clFicheClient:bControle(clErreur,Vrai) ALORS +//// Erreur(clErreur.FormateMessage()) +////SINON SI PAS gclPresentationListeClient.bSupprimer(clErreur) ALORS +//// Erreur(clErreur.FormateMessage()) +////SINON +//// // gestion de la saisie en cascade +//// // si suppression de la dernière ligne de la table il faut selectionner la ligne précédente +//// nIndice est un entier=TableSelect(TABLE_LISTE_CLIENT) +//// TableSupprime(TABLE_LISTE_CLIENT,nIndice) +//// DemandeMiseAJourIHM() +////// SI nIndice>1 _ET_ nIndice=TableOccurrence(TABLE_LISTE_CLIENT) ALORS +////// TableSelectPlus(TABLE_LISTE_CLIENT,nIndice-1) +////// FIN +////FIN +06/08/2026 Isis_BO 5263 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Code des champs +////FIN +Clic sur BTN_EDT_LISTE_CLIENT +//EDITION DE LA FICHE CLIENT +//OuvreFicheClient() +////gnDelai=0 +////TimeOutDeFermeture() +//// +//////La liste est sur l'onglet principale +////SI paramSupplementaire.eTypeAppel = Libre ALORS//_ET_ gclPresentationListeClient.p_clCourant<>Null +ALORS +////DoubleClicLigneTableau()//OuvreFicheClient() +//// +//////La liste est dans un champ FI +////SINON SI paramSupplementaire.eTypeAppel=DansChampFI _et_ ChargeLigneSelectionnee(faux) ALORS +//// +////stNewParam est un STParamFenetreAppelante +//// +stNewParam = +DonneParam(DansFenetre,"FI_Liste_Client",MoiMême..Nom,maProcMAJObjetRetourListClient,*,"ModifClient",*, +gclPresentationListeClient,*) +//// +////nRetour est un entier = Ouvre(FEN_ChoixFenetreInterne,"FI_Fiche_Client",stNewParam) +//// +//////Fermeture par Timer +////SI nRetour=-1 ALORS +//// gnDelai=1 +//// TimeOutDeFermeture() +////FIN +////DemandeMiseAJourIHM() +////FIN +Clic sur BTN_GOMMER +RAZ(GR_CRITERE_LISTECLIENT) +ListeSupprimeTout(COMBO_ETAT_INTERV) +COMBO_ETAT_INTERV..Bulle="" +TableauSupprimeTout(pclTabEtat:m_clTabModele) +//TableauSupprimeTout(pclTabEtat:m_clTabVisible) +ListeSupprimeTout(COMBO_SOCIETE_INTERV) +COMBO_SOCIETE_INTERV..Bulle="" +TableauSupprimeTout(pclTabSoc:m_clTabModele) +SelectionValeurCombo(COMBO_SEUIL_AFFICHAGE_CLIENT,1)//INT_LIMITE_LISTE_CLIENT[1]=vrai +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Clic sur BTN_RECHERCHE_CLIENT +si gpclFicheUtilisateurEnCours<>Null _et_ gpclFicheUtilisateurEnCours:ListeParametreUtilisateur<>Null +alors +//Récupération des critère dans un tableau +RecupCriterePerso(GR_CRITERE_LISTECLIENT,gstCriterePerso,maProcMAJCriterePerso) +//Sauvegarde des critères en base +gpclFicheUtilisateurEnCours:MAJCritereListePerso(2,gstCriterePerso) +fin +//Execution des critères +ChargementSQL() +06/08/2026 Isis_BO 5264 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Code des champs +//Application des tris +InitTriChampTablePerso(TABLE_LISTE_CLIENT,gstListePerso) +Clic sur BTN_SEL_LISTE_CLIENT +////SI paramSupplementaire.eTypeAppel=DansChampFI ALORS +//// +//// +////AppelProcFenetreAppelante(gclPresentationListeClient,paramSupplementaire,Vrai,vrai) +////ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +//// +////SINON SI paramSupplementaire.eTypeAppel=DansFenetre ALORS +////AppelProcFenetreAppelante(gclPresentationListeClient,paramSupplementaire,Vrai,Vrai) +////Ferme(FEN_ChoixFenetreInterne,gclPresentationListeClient.p_clCourant) +////FIN +//// +Clic sur BTN_UNCOLLAPSE_LISTE_CLIENT +D_LISTE_CLIENT[2]..Visible = Vrai +BTN_COLLAPSE_LISTE_CLIENT..Visible=Vrai +MoiMême..Visible = Faux +Sélection d'une ligne de COMBO_PERIODE_AFFICHAGE_CLIENT +ChargementSQL() +Sélection d'une ligne de COMBO_SEUIL_AFFICHAGE_CLIENT +GR_PERIODE_AFFICHAGE_CLIENT..Etat = DonneParametreCombo(MoiMême)="-1" ? Grisé sinon Actif +ChargementSQL() +Fin d'initialisation de CMOD_Entete_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Entete_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Entete_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Entete_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Entete_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Entete_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Entete_Dossier +06/08/2026 Isis_BO 5265 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_ICONE ( CMOD_Entete_Dossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_ICONE ( CMOD_Entete_Dossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_ICONE ( CMOD_Entete_Dossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_ICONE ( CMOD_Entete_Dossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_ICONE ( CMOD_Entete_Dossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_ICONE ( CMOD_Entete_Dossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_BLOC ( CMOD_Entete_Dossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COMBO_STATUT_DOSSIER ( SC_Crit_Dossier ) +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +Sélection d'une ligne de COMBO_STATUT_DOSSIER ( SC_Crit_Dossier ) +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de COMBO_TYPE_DOSSIER ( SC_Crit_Dossier ) +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +Sélection d'une ligne de COMBO_TYPE_DOSSIER ( SC_Crit_Dossier ) +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_NUMDOSSIER ( SC_Crit_Dossier ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_REFEXT_DOSSIER ( SC_Crit_Dossier ) +06/08/2026 Isis_BO 5266 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Code des champs +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_STATUT_DOSSIER ( SC_Crit_Dossier ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_TYPE_DOSSIER ( SC_Crit_Dossier ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_NUMDOSSIER ( SC_Crit_Dossier ) +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_NUMDOSSIER ( SC_Crit_Dossier ) +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_REFEXT_DOSSIER ( SC_Crit_Dossier ) +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_REFEXT_DOSSIER ( SC_Crit_Dossier ) +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Fin d'initialisation de CMOD_Entete_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Entete_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Entete_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Entete_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Entete_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Entete_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Entete_Inter +06/08/2026 Isis_BO 5267 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_ICONE ( CMOD_Entete_Inter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_ICONE ( CMOD_Entete_Inter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_ICONE ( CMOD_Entete_Inter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_ICONE ( CMOD_Entete_Inter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_ICONE ( CMOD_Entete_Inter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_ICONE ( CMOD_Entete_Inter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_BLOC ( CMOD_Entete_Inter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ouverture de la liste déroulante de COMBO_ETAT_INTERV ( SC_Crit_Inter ) +OuvrePopupPosition(FEN_Choix_Parametre_Metier,poHaut,*,DonneParam(DansFenetre,"FI_Liste_Client",MoiMême +..Nom,maProcMAJObjetRetourListClient,"Etat d'intervention","EtatIntervention",*,pclTabEtat,Vrai)) +Ouverture de la liste déroulante de COMBO_SOCIETE_INTERV ( SC_Crit_Inter ) +OuvrePopupPosition(FEN_Choix_Societe,poHaut,*,DonneParam(DansFenetre,"FI_Liste_Client",MoiMême..Nom, +maProcMAJObjetRetourListClient,"Sociétés","SuiviSociete",*,pclTabSoc,Vrai)) +Ouverture de la liste déroulante de COMBO_SUIVI_PAR ( SC_Crit_Inter ) +OuvrePopupPosition(FEN_Choix_Collab_Responsable,poBas,*,DonneParam(DansFenetre,"FI_Liste_Client", +MoiMême..Nom,maProcMAJObjetRetourListClient,"","ListeClientSuiviPar",Val(MoiMême..ValeurMémorisée))) +Sélection d'une ligne de COMBO_TYPE_INTERVENTION ( SC_Crit_Inter ) +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_DATE_INTERV_DU ( SC_Crit_Inter ) +06/08/2026 Isis_BO 5268 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Code des champs +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_DESCRIPTION ( SC_Crit_Inter ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_ETAT_INTERV ( SC_Crit_Inter ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_NUMINTERV ( SC_Crit_Inter ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_REFEXT_INTERV ( SC_Crit_Inter ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_SOCIETE_INTERV ( SC_Crit_Inter ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_SUIVI_PAR ( SC_Crit_Inter ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_TYPE_INTERVENTION ( SC_Crit_Inter ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_DATE_INTERV_AU ( SC_Crit_Inter ) +//SI MoiMême..ValeurAffichée<>"" ALORS ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_DATE_INTERV_AU ( SC_Crit_Inter ) +INT_DATE_INTERV_DU=SAI_DATE_INTERV_DU..ValeurAffichée<>"" _ou_ SAI_DATE_INTERV_AU..ValeurAffichée<>"" +//MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_DATE_INTERV_DU ( SC_Crit_Inter ) +//SI MoiMême..ValeurAffichée<>"" ALORS ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE) +A chaque modification de SAI_DATE_INTERV_DU ( SC_Crit_Inter ) +INT_DATE_INTERV_DU=SAI_DATE_INTERV_DU..ValeurAffichée<>"" _ou_ SAI_DATE_INTERV_AU..ValeurAffichée<>"" +//MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_DESCRIPTION ( SC_Crit_Inter ) +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_DESCRIPTION ( SC_Crit_Inter ) +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_NUMINTERV ( SC_Crit_Inter ) +06/08/2026 Isis_BO 5269 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Code des champs +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_NUMINTERV ( SC_Crit_Inter ) +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_REFEXT_INTERV ( SC_Crit_Inter ) +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_REFEXT_INTERV ( SC_Crit_Inter ) +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Fin d'initialisation de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_ADRESSE_SITE ( SC_Critere_Site ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_CODE_LIEU ( SC_Critere_Site ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_CODEPOSTAL_SITE ( SC_Critere_Site ) +06/08/2026 Isis_BO 5270 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Code des champs +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_VILLE_SITE ( SC_Critere_Site ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_ADRESSE_SITE ( SC_Critere_Site ) +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_ADRESSE_SITE ( SC_Critere_Site ) +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_CODE_LIEU ( SC_Critere_Site ) +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_CODE_LIEU ( SC_Critere_Site ) +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_CODEPOSTAL_SITE ( SC_Critere_Site ) +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_CODEPOSTAL_SITE ( SC_Critere_Site ) +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_VILLE_SITE ( SC_Critere_Site ) +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_VILLE_SITE ( SC_Critere_Site ) +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie d'une ligne de TABLE_LISTE_CLIENT +//// si la table n'a pas été modifiée, il ne faut rien faire +//SI TABLE_LISTE_CLIENT..Modifié=Faux ALORS +// RETOUR +//FIN +// +//clErr est un CErreur +//pclPresentationFiche est un PFicheClient dynamique +// +//// ajout d'une nouvelle ligne +//SI TABLE_LISTE_CLIENT..Nouveau ALORS +// pclPresentationFiche<-gclPresentationListeClient.Nouveau() +//// modification d'une ligne existante +//SINON +// pclPresentationFiche<-gclPresentationListeClient.Modifier() +//FIN +// +//// sauvegarde de la table +//TableEnregistre(TABLE_LISTE_CLIENT,pclPresentationFiche) +06/08/2026 Isis_BO 5271 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Code des champs +// +//// traitement des erreurs +//si pas pclPresentationFiche.bOK(clErr) alors//PAS pclPresentationFiche.bOK(clErr,Faux,Faux) +// Erreur(clErr.FormateMessage()) +//FIN +// +//// repasse la table en non modifiée +//TABLE_LISTE_CLIENT..Modifié=Faux +Sélection d'une ligne de TABLE_LISTE_CLIENT +//SI TABLE_LISTE_CLIENT..Nouveau ALORS +// gclPresentationListeClient.p_clCourant=Null +//SINON +// //gclPresentationListeClient.Trie(DonneTrieClasseDepuisTable(TABLE_LISTE_CLIENT)) +// gclPresentationListeClient.p_clCourant=TABLE_LISTE_CLIENT +// +//FIN +DemandeMiseAJourIHM() +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_LISTE_CLIENT +DoubleClicLigneTableau() +Touche appuyée (WM_CHAR) de TABLE_LISTE_CLIENT +nTouche est un entier = 0x0d +// Vérifie si la touche dont le code virtuel est 0x0d a été appuyée +si ToucheEnfoncée(nTouche) _ou_ _EVE.wParam = nTouche alors +// Insérer ici le traitement à effectuer +DoubleClicLigneTableau() +fin +Affichage d'une ligne de RUPT_H_MinDateModif ( TABLE_LISTE_CLIENT ) +TABLE_LISTE_CLIENT[TABLE_LISTE_CLIENT].LIB_DATEMODIF = TABLE_LISTE_CLIENT[TABLE_LISTE_CLIENT]. +MinDateModif +Entrée dans SAI_CLIENT_RECH +//SI PAS EnregistrerFiche() ALORS RepriseSaisie(ChampPrécédent()) +Sortie de SAI_CLIENT_RECH +// +//SI MoiMême..ValeurAffichée<>"" ALORS +// gbEnRechercheLocal = faux +// nPKID est un entier sur 8 octets +// nPKID = Val(ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"[",DepuisDébut),1,"]")) +// sTitre est une chaine = ExtraitChaîne(MoiMême,2," [",DepuisFin) +// SI nPKID>0 ALORS +// gclPresentationListeClient=PTableClient.gNouvellePresentation(1,nPKID) +// +// SINON +// +SI +ExtraitChaîne(ExtraitChaîne(MoiMême..Valeur,2,"---",DepuisDébut),1,"---",DepuisFin)=ChaîneFormate("Aucu +n résultat",ccMajuscule) ALORS +06/08/2026 Isis_BO 5272 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Code des champs +// MoiMême="" +// SaisieAssistéeSupprimeTout(MoiMême) +// ExécuteTraitement(MoiMême,trtModification) +// SINON +// +gclPresentationListeClient=PTableClient.gNouvellePresentation(1,-1,MoiMême..ValeurAffichée) +// FIN +// FIN +// SI nPKID>0 ALORS +// MoiMême = Majuscule(sTitre) +// FIN +// DonneFocus(BTN_Fermer_liste_client) +// DemandeMiseAJourIHM() +//FIN +A chaque modification de SAI_CLIENT_RECH +////Recherche le client suivant ce qui a été saisi par l'utilisateur +//// +////SI SAI_CLIENT="" ALORS +////PTableClient.gTHNouvellePresentation(0,maProcRefreshObjetPres) +////TableAffiche(TABLE_LISTE_CLIENT,taInit) +////RETOUR +////FIN +////Sablier(Vrai) +//// +////SI Taille(SAI_CLIENT..ValeurAffichée)> 2 ALORS +//// +//////Chargement liste des Clients trouvés +////pclListeRechercheClient est une PTableClient dynamique +////pclListeRechercheClient=PTableClient.gNouvellePresentation(5,SAI_CLIENT) +//// +////nCompteur est un entier +////nCompteur=pclListeRechercheClient.m_clTabModele..Occurrence +////SI nCompteur=0 ALORS +////// Info("Aucun résultat trouvé pour cette recherche") +////Tableausupprimetout(gclPresentationListeClient.m_clTabModele) +////TableAffiche(TABLE_LISTE_CLIENT,taInit) +////Sablier(Faux) +//// RETOUR +////FIN +////SI nCompteur=1 ALORS +//// +////gclPresentationListeClient=pclListeRechercheClient +//// +////SINON +//// +//// gclPresentationListeClient=pclListeRechercheClient +////FIN +////TableAffiche(TABLE_LISTE_CLIENT,taInit) +//// +////SINON +////// Info("Vous devez saisir au moins 3 caratères pour réaliser votre recherche") +////// RepriseSaisie(SAI_CLIENT) +////FIN +//// +////Sablier(Faux) +////CAS ERREUR: +////Erreur(HErreurInfo()) +Sélection d'une valeur dans la liste de saisie assistée de SAI_CLIENT_RECH +06/08/2026 Isis_BO 5273 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Code des champs +//ExécuteTraitement(MoiMême,trtSortie) +Fin d'initialisation de CMOD_Crit_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Crit_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Crit_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Crit_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Crit_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Crit_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Crit_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_ICONE ( CMOD_Crit_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_ICONE ( CMOD_Crit_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_ICONE ( CMOD_Crit_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_ICONE ( CMOD_Crit_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_ICONE ( CMOD_Crit_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_ICONE ( CMOD_Crit_Client ) +06/08/2026 Isis_BO 5274 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_BLOC ( CMOD_Crit_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COMBO_APPORTEUR ( SC_Crit_Client ) +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +Sélection d'une ligne de COMBO_APPORTEUR ( SC_Crit_Client ) +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de COMBO_ORIGINE ( SC_Crit_Client ) +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +Sélection d'une ligne de COMBO_ORIGINE ( SC_Crit_Client ) +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de COMBO_REGLEMENT ( SC_Crit_Client ) +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +Sélection d'une ligne de COMBO_REGLEMENT ( SC_Crit_Client ) +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de COMBO_STATUT_CLIENT ( SC_Crit_Client ) +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +Sélection d'une ligne de COMBO_STATUT_CLIENT ( SC_Crit_Client ) +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sélection d'une ligne de COMBO_TYPE_CLIENT ( SC_Crit_Client ) +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_APPORTEUR ( SC_Crit_Client ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_CLIENT ( SC_Crit_Client ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_CODE_CLIENT ( SC_Crit_Client ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_CODEPOSTAL_CLIENT ( SC_Crit_Client ) +06/08/2026 Isis_BO 5275 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Code des champs +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_COORD_CLIENT ( SC_Crit_Client ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_ORIGINE ( SC_Crit_Client ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_REGLEMENT ( SC_Crit_Client ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_STATUT_CLIENT ( SC_Crit_Client ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_TYPE_CLIENT ( SC_Crit_Client ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_VILLE_CLIENT ( SC_Crit_Client ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_CLIENT ( SC_Crit_Client ) +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_CLIENT ( SC_Crit_Client ) +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_CODE_CLIENT ( SC_Crit_Client ) +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_CODE_CLIENT ( SC_Crit_Client ) +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_CODEPOSTAL_CLIENT ( SC_Crit_Client ) +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_CODEPOSTAL_CLIENT ( SC_Crit_Client ) +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_COORD_CLIENT ( SC_Crit_Client ) +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_COORD_CLIENT ( SC_Crit_Client ) +06/08/2026 Isis_BO 5276 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Code des champs +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_VILLE_CLIENT ( SC_Crit_Client ) +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_VILLE_CLIENT ( SC_Crit_Client ) +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de SEL_BLOCAGE_CLIENT ( SC_Crit_Client ) +//MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Fin d'initialisation de CMOD_Entete_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Entete_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Entete_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Entete_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Entete_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Entete_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Entete_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_ICONE ( CMOD_Entete_Contact ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_ICONE ( CMOD_Entete_Contact ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_ICONE ( CMOD_Entete_Contact ) +06/08/2026 Isis_BO 5277 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_ICONE ( CMOD_Entete_Contact ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_ICONE ( CMOD_Entete_Contact ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_ICONE ( CMOD_Entete_Contact ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_BLOC ( CMOD_Entete_Contact ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COMBO_ROLE_CONTACT ( SC_SansNom1 ) +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +Sélection d'une ligne de COMBO_ROLE_CONTACT ( SC_SansNom1 ) +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_EMAIL_CONTACT ( SC_SansNom1 ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_NOM_CONTACT ( SC_SansNom1 ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_ROLE_CONTACT ( SC_SansNom1 ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +A chaque modification de INT_TELS_CONTACT ( SC_SansNom1 ) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_EMAIL_CONTACT ( SC_SansNom1 ) +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_EMAIL_CONTACT ( SC_SansNom1 ) +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_NOM_CONTACT ( SC_SansNom1 ) +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_NOM_CONTACT ( SC_SansNom1 ) +06/08/2026 Isis_BO 5278 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Code des champs +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Sortie de SAI_TELS_CONTACT ( SC_SansNom1 ) +si MoiMême..ValeurAffichée<>"" alors ExecuteClicSurBoutonSiToucheEntree(BTN_RECHERCHE_CLIENT) +A chaque modification de SAI_TELS_CONTACT ( SC_SansNom1 ) +MAJCocheCritere(MoiMême) +MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +FI_Liste_Client_V2 +Procédures +Procédure locale ActiveEvenement +// Résumé : +// Syntaxe : +// ActiveEvenement () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ActiveEvenement() +Evénement(SurActivite, "*.*", WM_LBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_RBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_MBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_MOUSEMOVE) +Evénement(SurActivite, "*.*", WM_KEYDOWN) +Procédure locale ChargeLigneSelectionnee +// Résumé : +// Syntaxe : +//ChargeLigneSelectionnee ( est booléen) +// +// Paramètres : +// bMultiSelect (booléen) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +////PROCEDURE ChargeLigneSelectionnee(LOCAL bMultiSelect est un booléen) +////bResultat est un booléen +////SI PAS bMultiSelect ALORS +//// +////SI COL_PKID>0 ALORS +06/08/2026 Isis_BO 5279 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Procédures +//// gclPresentationListeClient = PTableClient.gNouvellePresentation(6,COL_PKID) +////FIN +////SI gclPresentationListeClient:p_nTotal=1 ALORS +//// gclPresentationListeClient:p_clCourant = gclPresentationListeClient:m_clTabModele[1] +////FIN +////bResultat = gclPresentationListeClient:p_clCourant<>null +////SINON +////gclPresentationListeClientTemp est un PTableClient dynamique +////SI COL_PKID>0 ALORS +//// gclPresentationListeClientTemp = PTableClient.gNouvellePresentation(6,COL_PKID) +////FIN +////SI gclPresentationListeClientTemp:p_nTotal=1 ALORS +//// gclPresentationListeClientTemp:m_clTabModele[1]:m_bSelection= Vrai +//// +SI gclPresentationListeClient.m_clTabModele.Ajoute(gclPresentationListeClientTemp:m_clTabModele[1]) +ALORS +//// bResultat = Vrai +//// SINON +//// bResultat = Faux +//// FIN +////FIN +////FIN +////RENVOYER bResultat +Procédure locale ChargementSQL +// Résumé : +// Syntaxe : +// ChargementSQL () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargementSQL() +// vide le tableau +TableSupprimeTout(TABLE_LISTE_CLIENT) +ReqSQL est une chaîne +sCR est une chaîne +//ReqTopSite est une Requête SQL = +//[ +// +SELECT (SELECT STRING_AGG(Lieu.LI_CodeLieu+' | '+Adresse.AD_Presentation+' | +'+ParametreMetier.PA_Libelle,CHR(13)) +// FROM Lieu +// INNER JOIN ParametreMetier ON (ParametreMetier.PA_PKID=Lieu.LI_IDType) +// INNER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +// WHERE LI_PKID=Client_Lieu.CLI_IDLieu +// ) +// FROM Client_Lieu +// WHERE Client_Lieu.CLI_IDClient={p_IDClient} +// ORDER BY Client_Lieu.ModifDate DESC +// LIMIT 5 +//] +sExisteAdresse est une chaîne = "SELECT 1 FROM Adresse WHERE AD_PKID=%1 %2" +sExistSite est une chaîne = +"SELECT 1 FROM Lieu INNER JOIN Client_Lieu ON (CLI_IDLieu=LI_PKID) WHERE CLI_IDClient=%1 %2" +sExistAdrSite est une chaîne = +06/08/2026 Isis_BO 5280 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Procédures +"SELECT 1 FROM Adresse INNER JOIN Lieu ON (LI_IDAdresse=AD_PKID) INNER JOIN Client_Lieu ON +(CLI_IDLieu=LI_PKID) WHERE CLI_IDClient=%1 %2" +sExistContact est une chaîne = "SELECT 1 FROM Personne WHERE PE_IDclient=%1 %2" +sExistContactOr est une chaîne = "SELECT 1 FROM Personne WHERE PE_IDclient=%1 AND (%2)" +sExistDossier est une chaîne = "SELECT 1 FROM Dossier WHERE DO_IDClient=%1 %2" +sExistInterv est une chaîne = +"SELECT 1 FROM Intervention INNER JOIN Dossier ON (DO_PKID=IN_IDDossier) WHERE DO_IDClient=%1 %2" +sdListeClient est une Source de Données +nTop est un entier = Val(DonneParametreCombo(COMBO_SEUIL_AFFICHAGE_CLIENT)) +si nTop>0 alors +ReqSQL=ChaîneConstruit("SELECT DISTINCT TOP %1 ",nTop) +sinon +ReqSQL="SELECT DISTINCT " +fin +// récupération des données +//ReqSQL est une Requête SQL = +ReqSQL+=[ +CL_PKID +,CL_Nom AS NomClient +,CL_IDStatut AS IDStatutClient +,CL_IDType AS IDTypeClient +,CL_CodeClient AS CodeClient +,CL_IDApportOrigine AS IDOrigine +,CL_IDApporteur AS IDApporteur +,CL_CodeComptable AS CodeComptableClient +,(SELECT STRING_AGG(Adresse.AD_Presentation,CHR(13)+'--------------------' ++CHR(13)) FROM Adresse INNER JOIN Client_Adresse ON (CA_IDAdresse=AD_PKID) WHERE +CA_IDClient=CL_PKID) AS +Coord +,CAST(CLIENT.ModifDate AS DATE) AS MinDateModif +,WL.Val(WL.DuréeVersChaîne(WL.ChaîneVersDurée (WL.DateHeureDifférence ( CAST(CLIENT.ModifDate AS +DATE), WL.DateHeureSys() ),'+JHHMMSSLL'),'+J')) AS NbJours +] +ReqSQL+=[ +FROM CLIENT +] +// FROM Intervention +// INNER JOIN Dossier ON (DO_PKID=IN_IDDossier) +// LEFT OUTER JOIN Client ON (Client.CL_PKID=Dossier.DO_IDClient) +// LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Intervention.IN_IDLieu) +// LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +// +//] +ReqSQL+=[ +WHERE 1=1 +] +//sCR+=CritereHF(opt1,ch1,Affaires.AF_Nom..Nom,tfMilieutexte) +sListeEtat est une chaîne +sListeSociete est une chaîne +si pclTabEtat<>Null _et_ pclTabEtat:p_nTotal>0 alors +pour I = 1 _à_ pclTabEtat:p_nTotal +sListeEtat +=[","]+ pclTabEtat:m_clTabModele[I]:m_nPKID +fin +sinon +sListeEtat = "" +fin +06/08/2026 Isis_BO 5281 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Procédures +si pclTabSoc<>Null _et_ pclTabSoc:p_nTotal>0 alors +pour I = 1 _à_ pclTabSoc:p_nTotal +sListeSociete +=[","]+ pclTabSoc:m_clTabModele[i]:m_nPKID +fin +sinon +sListeSociete="" +fin +//sCR+=CritereHF(INT_NUMDOSSIER ,SAI_NUMDOSSIER ,Dossier.DO_RefInterne..Nom +,tfFinTexte) +sCR+=CritereHF(INT_CLIENT ,SAI_CLIENT ,Client.CL_Nom..Nom +,tfMilieutexte ) +sCR+=CritereHF(INT_CODE_CLIENT ,SAI_CODE_CLIENT ,Client.CL_CodeClient..Nom +,tfMilieutexte )//sCR+=CritereHF(INT_CODE_COMPTABLE ,SAI_CODE_COMPTABLE +,Client.CL_CodeComptable..Nom ,tfMilieutexte ) +sCR+=CritereHF(INT_TYPE_CLIENT ,COMBO_TYPE_CLIENT ,Client.CL_IDType..Nom +,tfNumerique ) +sCR+=CritereHF(INT_STATUT_CLIENT ,COMBO_STATUT_CLIENT ,Client.CL_IDStatut..Nom +,tfNumerique ) +sCR+=CritereHF(INT_COORD_CLIENT ,SAI_COORD_CLIENT ,Client.CL_IDAdressePrincipale..Nom +,tfExiste ,ChaîneConstruit(sExisteAdresse ,Client.CL_IDAdressePrincipale..Nom,CritereHF(INT_ +COORD_CLIENT,SAI_COORD_CLIENT,Adresse.AD_Presentation..Nom,tfMilieutexte)))// +sCR+=CritereHF(INT_CODEPOSTAL_CLIENT ,SAI_CODEPOSTAL_CLIENT ,Client.CL_IDAdressePrincipale..Nom +,tfExiste ,ChaîneConstruit(sExisteAdresse ,Client.CL_IDAdressePrincipale..Nom,CritereHF(INT_ +CODEPOSTAL_CLIENT,SAI_CODEPOSTAL_CLIENT,Adresse.AD_CodePostal..Nom,tfMilieutexte))) +sCR+=CritereHF(INT_VILLE_CLIENT ,SAI_VILLE_CLIENT ,Client.CL_IDAdressePrincipale..Nom +,tfExiste ,ChaîneConstruit(sExisteAdresse ,Client.CL_IDAdressePrincipale..Nom,CritereHF(INT_ +VILLE_CLIENT,SAI_VILLE_CLIENT,Adresse.AD_Ville..Nom,tfMilieutexte))) +sCR+=CritereHF(SEL_BLOCAGE_CLIENT=-1? Faux sinon Vrai,Val(SEL_BLOCAGE_CLIENT),Client.CL_Blocage..Nom +,tfBooleen ) +sCR+=CritereHF(INT_APPORTEUR ,COMBO_APPORTEUR ,Client.CL_IDApporteur..Nom +,tfNumerique ) +sCR+=CritereHF(INT_ORIGINE ,COMBO_ORIGINE ,Client.CL_IDApportOrigine..Nom +,tfNumerique ) +sCR+=CritereHF(INT_REGLEMENT ,COMBO_REGLEMENT ,Client.CL_IDModeReglement..Nom +,tfNumerique ) +sCR+=CritereHF(INT_CODE_LIEU ,SAI_CODE_LIEU ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistSite ,Client.CL_PKID..Nom,CritereHF(INT_CODE_LIEU,SAI_ +CODE_LIEU,Lieu.LI_CodeLieu..Nom,tfMilieutexte))) +sCR+=CritereHF(INT_ADRESSE_SITE ,SAI_ADRESSE_SITE ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistAdrSite,Client.CL_PKID..Nom,CritereHF(INT_ADRESSE_SITE,SAI_ +ADRESSE_SITE,Adresse.AD_Presentation..Nom,tfMilieutexte))) +sCR+=CritereHF(INT_CODEPOSTAL_SITE ,SAI_CODEPOSTAL_SITE ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistAdrSite,Client.CL_PKID..Nom,CritereHF(INT_CODEPOSTAL_SITE,SAI_ +CODEPOSTAL_SITE,Adresse.AD_CodePostal..Nom,tfMilieutexte))) +sCR+=CritereHF(INT_VILLE_SITE ,SAI_VILLE_SITE ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistAdrSite,Client.CL_PKID..Nom,CritereHF(INT_VILLE_SITE,SAI_ +VILLE_SITE,Adresse.AD_Ville..Nom,tfMilieutexte))) +sCR+=CritereHF(INT_NOM_CONTACT ,SAI_NOM_CONTACT ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistContact,Client.CL_PKID..Nom,CritereHF(INT_NOM_CONTACT,SAI_ +NOM_CONTACT,Personne.PE_Nom..Nom,tfMilieutexte))) +sCR+=CritereHF(INT_TELS_CONTACT ,SAI_TELS_CONTACT ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistContactOr,Client.CL_PKID..Nom,Remplace(CritereHF(INT_ +TELS_CONTACT,SAI_TELS_CONTACT,Personne.PE_TelFixe..Nom,tfMilieutexte),"AND ","")+Remplace(CritereHF( +INT_TELS_CONTACT,SAI_TELS_CONTACT,Personne.PE_TelMobile..Nom,tfMilieutexte),"AND "," OR "))) +sCR+=CritereHF(INT_EMAIL_CONTACT ,SAI_EMAIL_CONTACT ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistContact,Client.CL_PKID..Nom,CritereHF(INT_EMAIL_CONTACT,SAI_ +EMAIL_CONTACT,Personne.PE_Email..Nom,tfMilieutexte))) +sCR+=CritereHF(INT_ROLE_CONTACT ,COMBO_ROLE_CONTACT ,Client.CL_PKID..Nom +06/08/2026 Isis_BO 5282 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Procédures +,tfExiste ,ChaîneConstruit(sExistContact,Client.CL_PKID..Nom,CritereHF(INT_ROLE_CONTACT,COMBO_ +ROLE_CONTACT,Personne.PE_IDRole..Nom,tfNumerique))) +sCR+=CritereHF(INT_NUMDOSSIER ,SAI_NUMDOSSIER ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistDossier,Client.CL_PKID..Nom,CritereHF(INT_NUMDOSSIER,SAI_ +NUMDOSSIER,Dossier.DO_RefInterne..Nom,tfFinTexte))) +sCR+=CritereHF(INT_REFEXT_DOSSIER ,SAI_REFEXT_DOSSIER ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistDossier,Client.CL_PKID..Nom,CritereHF(INT_REFEXT_DOSSIER,SAI_ +REFEXT_DOSSIER,Dossier.DO_RefExterne..Nom,tfMilieutexte))) +sCR+=CritereHF(INT_TYPE_DOSSIER ,COMBO_TYPE_DOSSIER ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistDossier,Client.CL_PKID..Nom,CritereHF(INT_TYPE_DOSSIER,COMBO_ +TYPE_DOSSIER,Dossier.DO_IDTypeDossier..Nom,tfNumerique))) +sCR+=CritereHF(INT_STATUT_DOSSIER ,COMBO_STATUT_DOSSIER,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistDossier,Client.CL_PKID..Nom,CritereHF(INT_STATUT_DOSSIER,COMBO_ +STATUT_DOSSIER,Dossier.DO_IDStatut..Nom,tfNumerique))) +sCR+=CritereHF(INT_NUMINTERV ,SAI_NUMINTERV ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistInterv ,Client.CL_PKID..Nom,CritereHF(INT_NUMINTERV,SAI_ +NUMINTERV,Intervention.IN_RefInterne..Nom,tfFinTexte))) +sCR+=CritereHF(INT_SUIVI_PAR ,COMBO_SUIVI_PAR ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistInterv ,Client.CL_PKID..Nom,CritereHF(INT_SUIVI_PAR,COMBO_ +SUIVI_PAR,Intervention.IN_IDSuiviPar..Nom,tfNumerique))) +sCR+=CritereHF(INT_REFEXT_INTERV ,SAI_REFEXT_INTERV ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistInterv ,Client.CL_PKID..Nom,CritereHF(INT_REFEXT_INTERV,SAI_ +REFEXT_INTERV,Intervention.IN_RefExterne..Nom,tfMilieutexte))) +sCR+=CritereHF(INT_TYPE_INTERVENTION ,COMBO_TYPE_INTERVENTION,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistInterv ,Client.CL_PKID..Nom,CritereHF(INT_TYPE_INTERVENTION, +COMBO_TYPE_INTERVENTION,Intervention.IN_IDTypeIntervention..Nom,tfNumerique))) +sCR+=CritereHF(INT_DESCRIPTION ,SAI_DESCRIPTION ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistInterv ,Client.CL_PKID..Nom,CritereHF(INT_DESCRIPTION,SAI_ +DESCRIPTION,Intervention.IN_Description..Nom,tfMilieutexte))) +sCR+=CritereHF(INT_SOCIETE_INTERV ,sListeSociete ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistInterv ,Client.CL_PKID..Nom,CritereHF(INT_SOCIETE_INTERV, +sListeSociete,Intervention.IN_IDSociete..Nom,tfDansListe))) +sCR+=CritereHF(INT_ETAT_INTERV ,sListeEtat ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistInterv ,Client.CL_PKID..Nom,CritereHF(INT_ETAT_INTERV, +sListeEtat,Intervention.IN_IDEtatIntervention..Nom,tfDansListe))) +sCR+=CritereHF(INT_DATE_INTERV_DU ,SAI_DATE_INTERV_DU ,Client.CL_PKID..Nom +,tfExiste ,ChaîneConstruit(sExistInterv ,Client.CL_PKID..Nom,CritereHF(INT_DATE_INTERV_DU,SAI_ +DATE_INTERV_DU,Intervention..Nom+"."+Intervention.CreationDate..Nom ,tfPeriodeLarge ,"",SAI_ +DATE_INTERV_AU))) +// +ReqSQL+=sCR +si sCR="" _et_ COMBO_PERIODE_AFFICHAGE_CLIENT..Etat=Actif alors +// ReqSQL+=[ +// AND ( Dossier.ModifDate>='%1' +// OR Intervention.ModifDate>='%1' +// ) +// ] +// ReqSQL+=[ +// AND ( NbJours<=%1 +// ) +// ] +nbJours est un entier = Val(DonneParametreCombo(COMBO_PERIODE_AFFICHAGE_CLIENT)) +si nbJours<>-1 alors +ReqSQL+=[ +AND ( MinDateModif>=%1 +) +] +06/08/2026 Isis_BO 5283 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Procédures +dDateCpt est une Date = DateSys() +dDateCpt..Jour-= Val(DonneParametreCombo(COMBO_PERIODE_AFFICHAGE_CLIENT)) +//ParametreLit("NBJOUR_DERNIEREMODIF_CLIENT","30") +ReqSQL = ChaîneConstruit(ReqSQL,DateVersChaîne(dDateCpt,"AAAAMMJJ")) +fin +//ReqSQL = ChaîneConstruit(ReqSQL,val(ParametreLit("NBJOUR_DERNIEREMODIF_DOSS_INTERV","30"))) +fin +ReqSQL+=[ +ORDER BY MinDateModif DESC +] +//ReqSQL.p_IdDossier = Null//MesParamètres..Occurrence>0 _ET_ MesParamètres[1]<>-1 ? MesParamètres[1] +SINON Null +// exécution de la requête +si HExécuteRequêteSQL(sdListeClient,gcnxBO,hRequêteDéfaut+hRequêteSansCorrection,ReqSQL) alors +nIndiceLigne est un entier +// nIndiceRupt est un entier +// nIndiceRuptsvg est un entier +nCptEnreg est un entier = HNbEnr(sdListeClient) +si nCptEnreg>0 alors +//TableTrie(TABLE_DOSSIER,TABLE_DOSSIER.NbJrsModif..nom)//,"-"+TABLE_DOSSIER.MinDateModif..Nom +InitTriChampTablePerso(TABLE_LISTE_CLIENT,gstListePerso) +si TableColonnesTriées(TABLE_LISTE_CLIENT)="" alors +TableTrie(TABLE_LISTE_CLIENT,TABLE_LISTE_CLIENT.NbJrsModif..Nom) +fin +// charge les enregistrements en mémoire +pour tout sdListeClient +avec sdListeClient +nIndiceLigne = TableAjouteLigne(TABLE_LISTE_CLIENT,.NomClient,.Coord,.IDTypeClient,. +IDStatutClient,.CodeClient,.CodeComptableClient,DateVersChaîne(.MinDateModif, +maskDateDuréeRelative),.NbJours,.CL_PKID,.IDOrigine,.IDApporteur) +// Si nIndiceLigne>0 ALORS +// ReqTopSite.p_IDClient = sdListeClient.CL_PKID +// SI HExécuteRequête(ReqTopSite,hRequêteDéfaut) ALORS +// POUR TOUTE ReqTopSite +// +TableAjouteLigne(TABLE_LISTE_CLIENT[nIndiceLigne].TABLE_LIEN_SITE,ReqTopSite.Expr1) +// FIN +// FIN +// FIN +fin +// nIndiceRupt = TableIndiceRupture(TABLE_DOSSIER.RUPT_Haut,nIndiceLigne) +// SI nIndiceRuptsvg<>nIndiceRupt ALORS +// nIndiceRuptsvg = nIndiceRupt +// +TABLE_DOSSIER[nIndiceRupt].LIB_DATEMODIF = +DateVersChaîne(sdListeDoss.MinDateModif,maskDateDuréeRelative) +// +// //TableAffiche(TABLE_DOSSIER,taCourantBandeau) +// FIN +//trace(TABLE_DOSSIER[nIndiceRupt].LIB_DATEMODIF) +fin +// TableAffiche(TABLE_LISTE_CLIENT,taCourantBandeau) +// pour TOUTE LIGNE DE TABLE_LISTE_CLIENT +// +nIndiceRupt = TableIndiceRupture(TABLE_LISTE_CLIENT.RUPT_H_MinDateModif,TABLE_LISTE_CLIENT) +// SI nIndiceRuptsvg<>nIndiceRupt ALORS +// nIndiceRuptsvg = nIndiceRupt +// +TABLE_LISTE_CLIENT[nIndiceRupt].LIB_DATEMODIF = TABLE_LISTE_CLIENT[TABLE_LISTE_CLIENT].MinDateModif +// +06/08/2026 Isis_BO 5284 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Procédures +// TableAffiche(TABLE_LISTE_CLIENT,taCourantBandeau) +// FIN +// FIN +fin +LIB_Total_Liste_Client = nCptEnreg +sinon +LIB_Total_Liste_Client = 0 +fin +HLibèreRequête(sdListeClient) +Procédure locale DoubleClicLigneTableau +// Résumé : +// Syntaxe : +// DoubleClicLigneTableau () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DoubleClicLigneTableau() +//// +////SI ChargeLigneSelectionnee(faux) ALORS +//// +//////Sablier() +////paramCli est STParamFenetreAppelante //= paramSupplementaire +////paramCli.eTypeAppel = DansOnglet +////paramCli.sNomIDAppelant = "Client" +//////paramDoss.nIdFenetreAppelante = idInterv +////paramCli.sContexteAppelant = MoiMême..Nom +////paramCli.gProcMAJRetour = maProcMAJObjetRetourListClient +////paramCli.sTitreFenetre = "Client" +//// +//// +OuvreFicheOuRetourneSelection(paramSupplementaire,paramCli,gclPresentationListeClient,FI_Fiche_Client,F +icheEnModification,DansOnglet,MaFenêtreInterne..Nom,D_LISTE_CLIENT,TABLE_LISTE_CLIENT,Null,Null,Null,GR +_MODEFORMULAIRE_LISTE_CLIENT,maProcMAJObjetR +etourListClient) +////FIN +Procédure locale MAJCriterePerso +// Résumé : +// Syntaxe : +//MAJCriterePerso ( est chaîne, est objet dynamique, est objet +dynamique, est champ) +// +// Paramètres : +// sNomChamp (chaîne ANSI) : +// pclListeAll (objet dynamique) : +// pclListeCrit (objet dynamique) : +// champBouton (champ) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +06/08/2026 Isis_BO 5285 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Procédures +// +procédure MAJCriterePerso(local sNomChamp est une chaîne,pclListeAll est un objet dynamique< +utile>,pclListeCrit est un objet dynamique,champBouton est un Champ) +//Pour le critère Société +si sNomChamp = COMBO_SOCIETE_INTERV..Nom _et_ pclTabSoc<>Null alors +pclListeAll = PTableSociete.gNouvellePresentation(0) +pclListeCrit = pclTabSoc +//champBouton <- BTN_SOCIETE_INTERV +//Pour le critère état intervention +sinon si sNomChamp = COMBO_ETAT_INTERV..Nom_et_ pclTabEtat<>Null alors +pclListeAll = gpclListeEtatIntervention +pclListeCrit = pclTabEtat +//champBouton <- BTN_ETAT_INTERVENTION +fin +Procédure locale MAJObjetRetourFI +// Résumé : +// Syntaxe : +//MAJObjetRetourFI ([...]) +// +// Paramètres : +// <*> : > +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sContexte (chaîne ANSI) : +// pclObjet (objet dynamique) : +// <*> : > +procédure MAJObjetRetourFI(*)//LOCAL sContexte est une chaîne, pclObjet est un objet dynamique +////bResultat est un booléen=vrai +////nMode est un entier +////sNomChamp est une chaine +////pclObjet est un objet dynamique +////bReorga est un booléen=vrai +////bBloc est un booléen +////SI MesParamètres..Occurrence>0 ALORS +////nMode = MesParamètres[1] +////FIN +//// +////SELON nMode +////CAS 1 : +//// sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) SINON "" +//// pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] SINON Null +//// +////CAS 2 +//// bReorga = Faux +//// pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] SINON Null +//// +////CAS 3 +//// bReorga = Faux +//// bBloc = Vrai +////FIN +//// +//// +////SI bReorga ALORS +//// +06/08/2026 Isis_BO 5286 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Procédures +////FIN +////SI pclObjet<>Null ALORS +//// +//*******************************MISE A JOUR DE +L'OBJET********************************************************* +////SELON sNomChamp +//// CAS BTN_EDT_LISTE_CLIENT..Nom,BTN_ADD_LISTE_CLIENT..Nom +//// DemandeMiseAJourIHM() +//// CAS COMBO_SUIVI_PAR..Nom +//// +//// COMBO_SUIVI_PAR = pclObjet:m_nPKID +//// ListeAffiche(COMBO_SUIVI_PAR,taCourantBandeau) +//// INT_SUIVI_PAR[1] = COMBO_SUIVI_PAR..ValeurAffichée<>"" +//// +//// +//// CAS COMBO_SOCIETE_INTERV..Nom +//// MAJComboMultiLigne(pclObjet,pclTabSoc,COMBO_SOCIETE_INTERV) +//// +//// CAS COMBO_ETAT_INTERV..Nom +//// MAJComboMultiLigne(pclObjet,pclTabEtat,COMBO_ETAT_INTERV) +//// +//// AUTRE CAS +//// +////FIN +//// +////FIN +////SI paramSupplementaire.sNomIDAppelant="DossierClient" ALORS +////SI paramSupplementaire.pclObjetAppelant:m_bBlocageEcriture ALORS +//// SI bReorga ALORS +//// gnDelai = DonneValeurTimeOutObjet(paramSupplementaire.pclObjetAppelant) +//// TimerSys(TimeOutDeFermeture,100) +//// SINON +//// AppelProcFenetreAppelante(gclPresentationListeClient,paramSupplementaire,Vrai,Faux) +//// FIN +//// //Une demande de blocage a été demandée par une fenetre +fille et l'enregistrement n'est pas bloqué +////SINON SI bBloc ALORS +//// //Tentative de blocage +//// +bResultat= AppelProcFenetreAppelante(gclPresentationListeClient,paramSupplementaire,Faux,Faux,Vrai) +////FIN +////FIN +////RENVOYER bResultat +Procédure locale OuvreFicheClient +// Résumé : +// Syntaxe : +// OuvreFicheClient () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure OuvreFicheClient() +06/08/2026 Isis_BO 5287 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Procédures +////clPresentationFiche est un PFicheClient<-gclPresentationListeClient.Modifier() +////FEN_Menu.OuvreOuActive(FI_Fiche_Client,"Fiche client",*,clPresentationFiche) +Procédure locale RefreshObjetListeClient +// Résumé : +// Syntaxe : +//RefreshObjetListeClient ( est objet dynamique) +// +// Paramètres : +// pclObjet (objet dynamique) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +////PROCEDURE RefreshObjetListeClient(pclObjet est un objet dynamique) +////SI pclObjet<>Null ALORS +//// +////clPresention est un PTableClient(pclObjet) +////TableSauvePositionEtSélection(TABLE_LISTE_CLIENT) +////// récupération de l'instance courante +////nIndice est un entier=TableSelect(TABLE_LISTE_CLIENT) +//// +////gclPresentationListeClient = clPresention +//// +////SourceVersEcran("","gclPresentationListeClient") +//// +////TableAffiche(TABLE_LISTE_CLIENT,taInit) +////TableRestaurePositionEtSélection(TABLE_LISTE_CLIENT) +////// récupération de l'instance courante +//////nIndice =TableSelect(TABLE) +////SI nIndice<=0 _OU_ TABLE_LISTE_CLIENT..Nouveau ALORS +//// gclPresentationListeClient.p_bMajCourantSansIHM=Vrai +//// gclPresentationListeClient.p_clCourant=Null +//// gclPresentationListeClient.p_bMajCourantSansIHM=Faux +////SINON +//// gclPresentationListeClient.p_bMajCourantSansIHM=Vrai +//// gclPresentationListeClient.p_clCourant=TABLE_LISTE_CLIENT[nIndice] +//// gclPresentationListeClient.p_bMajCourantSansIHM=Faux +////FIN +////FIN +Procédure locale SurActivite +// Résumé : +// Syntaxe : +//SurActivite (, , ) +// +// Paramètres : +// wEve : +// wParam : +// lParam : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SurActivite(wEve,wParam,lParam) +selon paramSupplementaire.sNomIDAppelant +cas "DossierClient" : +si paramSupplementaire.pclObjetAppelant:m_bBlocageEcriture alors +06/08/2026 Isis_BO 5288 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Procédures +gnDelai = DonneValeurTimeOutObjet(paramSupplementaire.pclObjetAppelant) +fin +fin +Procédure locale SurModifCritere +// Résumé : +// Syntaxe : +//SurModifCritere (, , ) +// +// Paramètres : +// UnMessage : +// wParam : +// lParam : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SurModifCritere(UnMessage, wParam, lParam) +//trace("Mess :"+UnMessage+" wp:"+wParam+" lp:"+lParam) +//SI ExtraitChaîne(MoiMême..Nom,1,"_")<>"INT" ALORS +// MAJCocheCritere(MoiMême) +//FIN +//MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +//MAJCocheCritere(MoiMême) +//MAJChampPeriodeAffichage(GR_CRITERE_LISTECLIENT,GR_PERIODE_AFFICHAGE_CLIENT) +Procédure locale TimeOutDeFermeture +procédure TimeOutDeFermeture() +//Enlève 1 seconde au temps restant +gnDelai-- +//Le temps est écoulé, l'enregistrement et le déblocage de ce dernier c'est bien passé +si gnDelai = 0 alors +FinTimerSys() +ExécuteTraitement(BTN_CLOSE_LISTE_CLIENT,trtClic) +sinon si gnDelai < 0 alors +FinTimerSys() +fin +Procédure locale TriColonne +// Procédure callback appelée à chaque clic sur entête de colonne de "Table1" pour trier la colonne +// wEve [in]: Numéro du message Windows +// wParam [in] : Numéro de la colonne a trier +// lParam [in]: Ordre du tri 5 (1 : Croissant, 0 : décroissant) +// Renvoyer 0 pour ne pas effectuer le tri demandé +////Procedure TriColonne(wEve,wParam,lParam) +////sSens est une chaîne="" +//////Trace("wParam = "+wParam+" lParam="+lParam)// Pour test uniquement +////SI wParam<>0 ALORS//N° de colonne sur laquelle le clic est effectué +//// +//////Détection du sens du tri +////SI PAS lParam ALORS sSens="-" +//// +//////Trier sur la colonne +////TableTrie(TABLE_LISTE_CLIENT,sSens+TableEnumèreColonne(TABLE_LISTE_CLIENT,wParam),"+COL_PKID") +//// +06/08/2026 Isis_BO 5289 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client_V2 › Procédures +//////Traitement à effectuer "Après chaque tri" +////TrieObjetChampTableSiBesoin(gclPresentationListeClient,TABLE_LISTE_CLIENT,gsTriEnCours) +////RENVOYER 0 +////FIN +06/08/2026 Isis_BO 5290 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Image +FI_AgendaPlanning +Image +| 06/08/2026 | Isis_BO | 5291 | +| ---------- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Informations générales +FI_AgendaPlanning +Informations générales +FI_AgendaPlanning +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_AgendaPlanning.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 27/03/2025 11:37:55 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 16/05/2025 09:13:53 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1352 Hauteur | 864 | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 5292 | + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Informations générales +| Valide auto. | 0 | | | | | | +| ------------------------------ | ------- | --- | --- | --- | --- | --- | +| Lib. + tps restant | Oui | | | | | | +| Pos. X Menu | 6 | | | | | | +| Pos. Y Menu | 28 | | | | | | +| Texte Markdown | Non | | | | | | +| Mode menu ctx. | | | | | | | +| 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 | | | | | | +Statistiques de la fenêtre +| | Libellé | | 2 | Bouton | | 11 | +| --- | --------------- | --- | --- | -------- | --- | --- | +| | Image | | 5 | Combo | | 1 | +| | Fenêtre interne | | 1 | Planning | | 1 | +Nombre d'éléments dans la fenêtre : 21 +FI_AgendaPlanning +Informations sur les champs +Fenêtre : FI_AgendaPlanning +Fenêtre interne +BAT ehcuoT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | +| --- | --- | --- | ------- | ------- | --- | --- | +elbisiV +nalP +| FI_AgendaPlanning | | 0 | 0 1352 | 864 | 0 | | +| ----------------- | --- | --- | ------- | --- | --- | ---- | +| 06/08/2026 | | | Isis_BO | | | 5293 | + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Informations sur les champs +Fenêtre interne : FI_AgendaPlanning +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_Mois | 151 6 | 193 | 30 | 0 | Actif | Gauche | Centre | | +| ----------- | ------ | --- | --- | --- | ----- | ------ | ------ | --- | +| LIB_Semaine | 151 36 | 193 | 24 | 0 | Actif | Gauche | Centre | | +Bouton +notuob epyT +| | | | | | | laitini tatE | BAT ehcuoT | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | --- | +| | X noitisoP | Y noitisoP | | | | | | | +| | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Aujourd_hui | 1209 | 6 | 99 | 30 | 0 | Actif | | Interrup | +| --------------------- | ---- | --- | --- | --- | --- | ----- | --- | -------- | +| BTN_Cald | 9 | 5 | 55 | 48 | 0 | Actif | | Validati | +| BTN_ChangeMode | 1043 | 42 | 130 | 30 | 0 | Actif | | Normal | +| BTN_Colb | 806 | 3 | 76 | 54 | 0 | Actif | | Validati | +| BTN_Imprimer | 1178 | 42 | 130 | 30 | 0 | Actif | | Normal | +| BTN_Jour | 988 | 6 | 67 | 30 | 0 | Actif | | Interrup | +| BTN_Listes | 724 | 3 | 76 | 54 | 0 | Actif | | Validati | +| BTN_Mois | 1139 | 6 | 67 | 30 | 0 | Actif | | Interrup | +| BTN_PeriodePrecedente | 73 | 6 | 24 | 30 | 0 | Actif | | Interrup | +| BTN_PeriodeSuivante | 103 | 6 | 24 | 30 | 0 | Actif | | Interrup | +| BTN_Semaine | 1061 | 6 | 75 | 30 | 0 | Actif | | Interrup | +Image +| | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --------------------- | ----------------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +cilc cevA +| | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| IMG_Déroulé | -77 | 163 | 18 | 18 | 0 | Actif | | | +| --------------- | ---- | --- | ------- | --- | --- | ----- | --- | ---- | +| IMG_Enroulé | -98 | 163 | 18 | 18 | 0 | Actif | | | +| IMG_Lien | -130 | 159 | 30 | 30 | 0 | Actif | | | +| IMG_Parametrage | 1314 | 6 | 30 | 30 | 0 | Actif | | | +| IMG_Pregunta | 1314 | 42 | 30 | 30 | 0 | Actif | | | +| 06/08/2026 | | | Isis_BO | | | | | 5294 | + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › 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 +| COMBO_ListeColb | 353 17 | 323 37 | 0 Actif | Mémoire | Non | | | +| --------------- | ------ | ------ | ------- | ------- | --- | --- | --- | +Planning +BAT ehcuoT +laitini tatE +| | | X noitisoP | Y noitisoP | | | | | +| --- | --- | ---------- | ---------- | ------- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| PLN_AGD | | 0 | 74 1352 | 777 | 0 | Actif | | +| ------- | --- | --- | ------- | --- | --- | ----- | --- | +Fenêtre : FI_AgendaPlanning +Fenêtre interne : FI_AgendaPlanning +| UI par l'utilisateur | | Selon fenêtre | | | | | | +| -------------------------------- | --- | ---------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | | Compatible desktop ET mobile | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | +| Taux Paral. Y | | 0 | | | | | | +| Épinglé | | Non | | | | | | +| Masquer lors du scrolling | | Non | | | | | | +| Ancrage au contenu | | | | | | | | +| Numéro aide | | 0 | | | | | | +| Thème destination | | Oui | | | | | | +| Alignement sur l'axe secondaire | | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | | 0 | | | | | | +Facteur d'agrandissement +0 +| Ctx. HFSQL indép. | | Non | | | | | | +| ----------------- | --- | ------- | --- | --- | --- | --- | --- | +| Ancrage | | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Isis_BO | | | | 5295 | +| ---------- | --- | --- | ------- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Informations sur les champs +Fenêtre interne : FI_AgendaPlanning +Bouton : FI_AgendaPlanning.BTN_Aujourd_hui +Libellé FR: Aujourd'hui +Groupe GR_Jours +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5296 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Informations sur les champs +Bouton : FI_AgendaPlanning.BTN_Cald +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\DateCald.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5297 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Informations sur les champs +Bouton : FI_AgendaPlanning.BTN_ChangeMode +Libellé FR: Mode Agenda +Ordre navigation 10 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5298 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Informations sur les champs +Bouton : FI_AgendaPlanning.BTN_Colb +Libellé FR: Collaborateurs +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\rechercheColb.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5299 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Informations sur les champs +Bouton : FI_AgendaPlanning.BTN_Imprimer +Libellé FR: Imprimer +Ordre navigation 11 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5300 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Informations sur les champs +Bouton : FI_AgendaPlanning.BTN_Jour +Libellé FR: Jour +Groupe GR_Jours +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5301 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Informations sur les champs +Bouton : FI_AgendaPlanning.BTN_Listes +Libellé FR: Listes +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Listes.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5302 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Informations sur les champs +Bouton : FI_AgendaPlanning.BTN_Mois +Libellé FR: Mois +Groupe GR_Jours +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5303 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Informations sur les champs +Bouton : FI_AgendaPlanning.BTN_PeriodePrecedente +Libellé FR: < +Groupe GR_DatesBTN +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\190 +GENSTEEL\Gensteel_Pict_PeriodPrevious_24_5.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5304 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Informations sur les champs +Bouton : FI_AgendaPlanning.BTN_PeriodeSuivante +Libellé FR: > +Groupe GR_DatesBTN +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\190 +GENSTEEL\Gensteel_Pict_PeriodNext_24_5.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5305 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Informations sur les champs +Bouton : FI_AgendaPlanning.BTN_Semaine +Libellé FR: Semaine/7j +Groupe GR_Jours +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5306 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Informations sur les champs +Combo : FI_AgendaPlanning.COMBO_ListeColb +Libellé FR: Listes +Groupe GR_CADENAS_INTERV +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 323 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 353 +Largeur interne 323 +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 +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 +06/08/2026 Isis_BO 5307 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Informations sur les champs +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +Rub. affichée :gpclListeSocieteAppartenance.m_clTabModele.m_sNom +Rub. mémorisée :gpclListeSocieteAppartenance.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_AgendaPlanning.IMG_Déroulé +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\Déroulé.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5308 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Informations sur les champs +Image : FI_AgendaPlanning.IMG_Enroulé +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\Enroulé.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_AgendaPlanning.IMG_Lien +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\lié.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Ascenseur et zoom auto. Non +06/08/2026 Isis_BO 5309 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Informations sur les champs +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_AgendaPlanning.IMG_Parametrage +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\parametresUtilisateur.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 Droite +06/08/2026 Isis_BO 5310 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_AgendaPlanning.IMG_Pregunta +Libellé FR: FAQ +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\pregunta.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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 +Bulle d'aide FR: FAQ +Nouvelles fonctionnalités +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. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5311 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Informations sur les champs +Libellé : FI_AgendaPlanning.LIB_Mois +Libellé FR: 20250327 +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 +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 Date +Masque saisie FR: Mmmm AAAA +Format retour AAAAMMJJ +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_AgendaPlanning.LIB_Semaine +Libellé FR: Semaine X +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 5312 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Informations sur les champs +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Planning : FI_AgendaPlanning.PLN_AGD +Libellé FR: Planning +Ordre navigation 12 +Curseur survol 32512 +UI par l'utilisateur Selon fenêtre +Fenêtre Interne FI_RDV +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne 39 +Largeur ressources auto. Non +Largeur entête ressources 120 +Largeur/hauteur minimale d'une 80 +Largeur/hauteur min journée 508 +Nb jours selon taille Agrandir les jours +Hauteur rupture jours 24 +Hauteur journée entière 35 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +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 +Édition Rdv par simple clic Oui +Ancrer ressources Oui +Journée entière Non +Boutons période Non +Numéro semaine Oui +Semaine ISO8601 Oui +06/08/2026 Isis_BO 5313 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Informations sur les champs +Affiche heures Oui +Affiche mois Oui +Autorise chevauchement Oui +Texte Markdown Non +Mode menu ctx. +Granularité de déplacement 60 +Granularité de durée 60 +Mode Aff. Planning Ressources en ligne +Mode Nb jours Semaine sur 7 jours +Nb. jours (Mode libre) 3 +Masque date FR: JJj JJ +Rendez-vous continu Oui +Premier jour semaine Lundi +Chevauche rendez-vous Décalage +Rendez-vous redim. Oui +Rendez-vous déplaçable Oui +Heure visible début 0700 +Heure visible fin 2000 +Heure ouvrable début 0800 +Heure ouvrable fin 1800 +Sélection de périodes Oui +Autorise le changement de Non +Réglette modifiable Oui +Réglette visible Non +Source de remplissage Mémoire +Nb. Enreg. Max -1 +Suppr. dans source Oui +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 +FI_AgendaPlanning +Messages multilingues +06/08/2026 Isis_BO 5314 +¹ +.ssem +°N +Message +2000 FR: Semaine %1 +2001 FR: Semaine %1 +2002 FR: Semaine %1 +2003 FR: Semaine %1 +2004 FR: Semaine %1 +¹ N° mess. : numéro de message. + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Code des champs +FI_AgendaPlanning +Code des champs +Déclarations globales de FI_AgendaPlanning +procédure FI_AgendaPlanning(paramSupplementaire est un STParamFenetreAppelante=Null) +maProcMAJObjetRetourFI est une procédure = MAJObjetRetourFI +| gclPresenFicheRDV | est un PFicheRdv dynamique | | | +| ----------------- | -------------------------- | -------------- | --- | +gnIdTypeInter est un entier sur 8 octets = gpclListeTypeRendezVous. +RechercheEtDonneIdDepuisValeur("1") +| ghHDO,ghHFO | sont des Heures | | | +| ----------- | --------------- | --- | --- | +| ghHDV,ghHFV | sont des Heures | | | +(ghHDO,ghHFO) = gpclFicheUtilisateurEnCours:HeuresOuvrablesRDV() +(ghHDV,ghHFV) = gpclFicheUtilisateurEnCours:HeuresVisiblesRDV() +gnIdRvdSel est un entier sur 8 octets +gbDeplacementEnCours est un booléen +gtaEnroulementRuptureest un tableau associatif (*, *, wlChaîne) de booléens +// Définit pour chaque ressource "rupture" l'état d'enroulement (Vrai/1 = déroulé : Faux/0 = enroulé) +| gtaRessourceFille | est un tableau associatif de chaînes | | | +| ------------------- | ------------------------------------ | --- | --- | +| gsRessourceAffichée | est une chaîne | | | +// Mémorise la ressource actuellement affichée pour repositionner le planning lors du rafraichissement +// /!\ Attention : ces variables doivent être modifiées en fonction des paramètres du champ Planning +| gnLargeurRessource | est un entier | = 120 | | +| ------------------ | ------------- | ----- | --- | +// Largeur de la zone de ressource +| gnHauteurJour | est un entier | = 60 | | +| ------------- | ------------- | ---- | --- | +// Hauteur de la zone de jours +| gstPrefUserAGD | est un ST_ChoixAGD | | | +| ---------------- | ------------------ | --- | --- | +| gstChoixColbAgd | est un STPrefAgdPl | | | +gdhDateD est une DateHeure = PremierJourDeLaSemaine(DateSys()) +gdhDateF est une DateHeure = gdhDateD +gdhDateF..Jour += 6 +tabIdColb est un tableau d'entiers sur 8 octets +si HSurveille(Planning_RDV,MAJHSurveille,hNumEnrTous,hsAjout+hsModification)= Faux alors +Erreur("Impossible d'activer la surveillance : ", HErreurInfo()) +fin +CreaJourFerie() +constante +cJour = 1 +cSemaine = 2 +cMois = 3 +fin +EEtatRessource est une Enumération +| ressErreur | // Ressource inexistante ou non "rupture" | | | +| ---------------------------------- | ----------------------------------------- | --- | --- | +| ressEnroulée // Ressource déroulée | | | | +| ressDéroulée // Ressource enroulée | | | | +fin +Fin d'initialisation de FI_AgendaPlanning +| 06/08/2026 | | Isis_BO | 5315 | +| ---------- | --- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Code des champs +FiltreListe() +Filtre() +Fermeture de FI_AgendaPlanning +HSurveilleStop(Planning_RDV,MAJHSurveille,hNumEnrTous) +Clic sur BTN_Aujourd_hui +PlanningPositionDateHeure(PLN_AGD, DateDuJour()) +FiltreRessources() +//Mise à jour de bouton +BTN_Jour..Enfoncé = Faux +BTN_Mois..Enfoncé = Faux +BTN_Semaine..Enfoncé = Faux +BTN_Aujourd_hui..Enfoncé = Vrai +Initialisation de BTN_Cald +// Version 1 +// Description +// Bouton en validation +Clic sur BTN_Cald +dDateD est une Date = gdhDateD +dDateD = Ouvre(FEN_ChoixCalendrierTps,dDateD) +gdhDateD..PartieDate = dDateD +PlanningPositionDateHeure(PLN_AGD,gdhDateD) +FiltreRessources() +Clic sur BTN_ChangeMode +Sablier() +si paramSupplementaire.pclObjetAppelant<>Null alors +si paramSupplementaire.sNomIDAppelant="InterventionAjouteRendezVous" alors +FEN_Menu.OuvreOuActive(FI_Agenda,"Agenda",Vrai,DonneParam(DansOnglet,"FI_AgendaPlanning", +MoiMême..Nom,maProcMAJObjetRetourFI,"","InterventionAjouteRendezVous",*,paramSupplementaire.pcl +ObjetAppelant)) +sinon si paramSupplementaire.sNomIDAppelant="InterventionRendezVous" +FEN_Menu.OuvreOuActive(FI_Agenda,"Agenda",Vrai,DonneParam(DansOnglet,"FI_AgendaPlanning", +MoiMême..Nom,maProcMAJObjetRetourFI,"","InterventionRendezVous",*,paramSupplementaire.pcl +ObjetAppelant)) +fin +sinon +FEN_Menu.OuvreOuActive(FI_Agenda,"Agenda") +fin +Sablier(Faux) +Initialisation de BTN_Colb +// Version 1 +// Description +// Bouton en validation +Clic sur BTN_Colb +06/08/2026 Isis_BO 5316 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Code des champs +//Ouvre(FEN_Choix_Clb_AGD) +stParametreFenInterne est un STParamFenetreAppelante = DonneParam(DansFenetre,"AgendaPlanning",MoiMême. +.Nom,maProcMAJObjetRetourFI,"Collaborateurs","AgendaPlanning",0) +Ouvre(FEN_Choix_Tous_Collaborateurs,stParametreFenInterne) +si stParametreFenInterne.tabIDS..Occurrence > 0 alors +InitChoixColb(stParametreFenInterne.tabIDS) +fin +Clic sur BTN_Imprimer +si pas BTN_Semaine..Enfoncé alors +Erreur("Veuillez choisir le mode semaine/7j ") +sinon +dDateDebutPlanning est une Date = PlanningPositionDateHeure(PLN_AGD,plnDateDébut) +dDateFinPlanning est une Date = PlanningPositionDateHeure(PLN_AGD,plnDateFin) +sListeIdCollabSelect est une chaîne ANSI = TableauVersChaîne(tabIdColb,";") +pclListeCollabSelect est un PTableCollaborateur dynamique=PTableCollaborateur.gNouvellePresentation +(7,sListeIdCollabSelect) +sIdCollabSelect est une chaîne +sIdCollabSelect=OuvrePopupPosition(FEN_Choix_Impression_Agenda,popCentréFenêtre, +pclListeCollabSelect,DonneParam(DansFenetre,"FI_Agenda",MoiMême..Nom,maProcMAJObjetRetourFI, +"Choix Agenda à imprimer","choixagenda",*,pclListeCollabSelect,Vrai)) +si sIdCollabSelect <> "" alors +tabRdv est un tableau de RendezVous +tabRdv = PlanningListeRendezVous(PLN_AGD,"P" +ESC+sIdCollabSelect) +si tabRdv..Occurrence > 0 alors +FEN_Menu.AffichageActif = Faux +iAperçu(i100) +iImprimeEtat(ETAT_Agenda_Collaborateur,tabRdv,agzSemaine) +FEN_Menu.AffichageActif = Vrai +sinon +Erreur("Il n'y a aucun rendez-vous à imprimer") +fin +fin +fin +Initialisation de BTN_Jour +procédure interne MAJBtn_Jour() +BTN_Jour..Enfoncé=PlanningMode(PLN_AGD)=plnModeJournée +fin +PLN_AGD..Traitement[trtChangementPériodePlanning]+=MAJBtn_Jour +Clic sur BTN_Jour +PlanningChangeMode(PLN_AGD,plnModeJournée) +//Mise à jour de bouton +BTN_Jour..Enfoncé = Vrai +BTN_Mois..Enfoncé = Faux +BTN_Semaine..Enfoncé = Faux +BTN_Aujourd_hui..Enfoncé = Faux +Initialisation de BTN_Listes +// Version 1 +// Description +// Bouton en validation +Clic sur BTN_Listes +06/08/2026 Isis_BO 5317 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Code des champs +si Ouvre(FEN_Choix_Clb_AGD) alors +nIdListe est un entier = COMBO_ListeColb +FiltreListe() +si nIdListe > 0 alors +COMBO_ListeColb = nIdListe +fin +InitChoixColb() +fin +Initialisation de BTN_Mois +procédure interne MAJBtnMois() +BTN_Mois..Enfoncé=PlanningMode(PLN_AGD)=plnModeMois +fin +PLN_AGD..Traitement[trtChangementPériodePlanning]+=MAJBtnMois +Clic sur BTN_Mois +PlanningPositionDateHeure(PLN_AGD,PlanningPositionDateHeure(PLN_AGD,agDateDébut)) +PlanningChangeMode(PLN_AGD,plnModeMois) +FiltreRessources() +//Mise à jour de bouton +BTN_Jour..Enfoncé = Faux +BTN_Mois..Enfoncé = Vrai +BTN_Semaine..Enfoncé = Faux +BTN_Aujourd_hui..Enfoncé = Faux +Clic sur BTN_PeriodePrecedente +PlanningAffichePériodePrécédente(PLN_AGD) +FiltreRessources() +Clic sur BTN_PeriodeSuivante +PlanningAffichePériodeSuivante(PLN_AGD) +FiltreRessources() +Initialisation de BTN_Semaine +procédure interne MAJBtnSemaine() +si PlanningMode(PLN_AGD)=plnModeSemaine alors +BTN_Semaine..Enfoncé= Vrai +sinon +BTN_Semaine..Enfoncé= Faux +fin +fin +PLN_AGD..Traitement[trtChangementPériodePlanning]+=MAJBtnSemaine +Clic sur BTN_Semaine +PlanningPositionDateHeure(PLN_AGD,PlanningPositionDateHeure(PLN_AGD,agDateDébut)) +PlanningChangeMode(PLN_AGD,plnModeSemaine,7) +FiltreRessources() +//Mise à jour de bouton +BTN_Jour..Enfoncé = Faux +BTN_Mois..Enfoncé = Faux +BTN_Semaine..Enfoncé = Vrai +BTN_Aujourd_hui..Enfoncé = Faux +Sélection d'une ligne de COMBO_ListeColb +06/08/2026 Isis_BO 5318 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Code des champs +InitChoixColb() +Clic sur IMG_Parametrage +si Ouvre(FEN_Parametres_Granularite_RDV) alors +nGranularite est un entier = gpclFicheUtilisateurEnCours:GranulariteRDV() +(ghHDO,ghHFO) = gpclFicheUtilisateurEnCours:HeuresOuvrablesRDV() +(ghHDV,ghHFV) = gpclFicheUtilisateurEnCours:HeuresVisiblesRDV() +si Val(gpclFicheUtilisateurEnCours:GranulariteRDV()) > 0 alors +PLN_AGD..GranularitéDurée = Val(gpclFicheUtilisateurEnCours:GranulariteRDV()) +PLN_AGD..GranularitéDéplacement = Val(gpclFicheUtilisateurEnCours:GranulariteRDV()) +PLN_AGD.HeureOuvrableDébut = ghHDO +PLN_AGD.HeureOuvrableFin = ghHFO +PLN_AGD.HeureAffichée(ghHDV,ghHFV) +fin +FiltreListe() +InitChoixColb() +fin +Clic sur IMG_Pregunta +InitVisitePlanning("FI_AgendaPlanning") +Initialisation de LIB_Mois +procédure interne MAJLibMois() +LIB_Mois=PLN_AGD..DébutEtendueVisible +fin +PLN_AGD..Traitement[trtChangementPériodePlanning]+=MAJLibMois +Initialisation de LIB_Semaine +procédure interne MAJLibSemaine() +d est une Date = PLN_AGD..DébutEtendueVisible +LIB_Semaine=ChaîneConstruit("Semaine %1", DateVersNuméroDeSemaine(d)) +fin +PLN_AGD..Traitement[trtChangementPériodePlanning]+=MAJLibSemaine +Initialisation de PLN_AGD +si Val(gpclFicheUtilisateurEnCours:GranulariteRDV()) > 0 alors +PLN_AGD..GranularitéDurée = Val(gpclFicheUtilisateurEnCours:GranulariteRDV()) +PLN_AGD..GranularitéDéplacement = Val(gpclFicheUtilisateurEnCours:GranulariteRDV()) +PLN_AGD.HeureOuvrableDébut = ghHDO +PLN_AGD.HeureOuvrableFin = ghHFO +PLN_AGD.HeureAffichée(ghHDV,ghHFV) +fin +Avant création du rendez-vous dans PLN_AGD +procédure AvantCréation(rdvCréé est un RendezVous) +renvoyer PlanningFicheRDV(rdvCréé) +Entrée en saisie d'un rendez-vous de PLN_AGD +procédure EntréeEnSaisie(rdvEdité est un RendezVous) +renvoyer Faux +Sortie de saisie du rendez-vous de PLN_AGD +06/08/2026 Isis_BO 5319 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Code des champs +procédure SortieDeSaisie(rdvModifié est un RendezVous) +renvoyer Faux +Sélection d'un rendez-vous de PLN_AGD +procédure Sélection(rdvSélectionné est un RendezVous) +gnIdRvdSel = rdvSélectionné.id +Déplacement d'un rendez-vous dans PLN_AGD +procédure Déplacement(rdvDéplacé est un RendezVous) +Sablier(Vrai) +ModifRDVDirectementPlanning(rdvDéplacé,Vrai) +Sablier(Faux) +renvoyer Faux +Redimensionnement d'un rendez-vous de PLN_AGD +procédure Redimensionnement(rdvRedimensionné est un RendezVous) +Sablier(Vrai) +ModifRDVDirectementPlanning(rdvRedimensionné,Faux) +Sablier(Faux) +renvoyer Faux +Suppression d'un rendez-vous de PLN_AGD +procédure Suppression(rdvSupprimé est un RendezVous) +SupprimerRdv(Val(rdvSupprimé.ID)) +renvoyer Faux +Réaffectation d'un rendez-vous dans PLN_AGD +procédure DéplacementRessource(rdvRessourceDéplacé est un RendezVous) +Survol souris (WM_MOUSEMOVE) sur PLN_AGD +// GESTION DU CURSEUR +// Récupère l'identifiant de la ressource survolée +sIdRessource est une chaîne = PlanningInfoXY(MoiMême, plnRessource, SourisPosX(), SourisPosY()) +selon PlanningEtatRessource(MoiMême..NomComplet, sIdRessource) +// Il s'agit d'un groupe ("rupture") +cas ressEnroulée, ressDéroulée +// Empêche la sélection de période +MoiMême..SélectionPériode = Faux +// Si le clic gauche est enfoncé +si gbDeplacementEnCours alors +// Change le curseur en curseur interdit +MoiMême..CurseurSouris = curInterdit +sinon +// Si le survol est sur la zone de ressource (à gauche) +si SourisPosX() <= gnLargeurRessource _et_ SourisPosY() > gnHauteurJour alors +// Positionne le curseur main (pour indiquer qu'un clic est possible +MoiMême..CurseurSouris = curMainSystème +sinon // Si le survol et sur la zone des rendez-vous +06/08/2026 Isis_BO 5320 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Code des champs +// Positionne le curseur par défaut +MoiMême..CurseurSouris = curFlèche +fin +fin +// Il s'agit d'une personne (ressource "non rupture") +cas ressErreur +// Active la sélection de période +MoiMême..SélectionPériode = Vrai +// Si le survol est sur la zone de ressource (à gauche) +si SourisPosX() <= gnLargeurRessource _et_ SourisPosY() > gnHauteurJour alors +// Positionne le curseur main (pour indiquer qu'un clic est possible +MoiMême..CurseurSouris = curMainSystème +sinon // Si le survol et sur la zone des rendez-vous +// Positionne le curseur par défaut +MoiMême..CurseurSouris = curFlèche +fin +autres cas +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de PLN_AGD +// Bouton gauche enfoncé = un déplacement est en cours +gbDeplacementEnCours = Vrai +// Récupère l'identifiant (glien) de la ressource cliquée +sIDRessource est une chaîne = PlanningInfoXY(MoiMême, plnRessource, SourisPosX(), SourisPosY()) +// Si le clic est réalisé sur la zone de ressource +si SourisPosX() <= gnLargeurRessource _et_ SourisPosY() > gnHauteurJour alors +// Selon le type de ressource (rupture ou non) et l'état d'enroulement +selon PlanningEtatRessource(MoiMême..NomComplet, sIDRessource) +// Il s'agit d'un groupe ("rupture") +cas ressEnroulée, ressDéroulée +// Inverse l'état d'enroulement +PlanningInverseEtatRessource(PLN_AGD..NomComplet, sIDRessource) +// Mémorise la ressource actuellement affichée (pour repositionner le planning dessus) +gsRessourceAffichée = PlanningPositionRessource(PLN_AGD) +// Remplit à nouveau le planning +FiltreRessources() +// Il s'agit d'une personne (ressource "non rupture") +cas ressErreur +fin +fin +Bouton gauche relâché (WM_LBUTTONUP) de PLN_AGD +06/08/2026 Isis_BO 5321 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Code des champs +// Bouton gauche relâché = fin de déplacement +gbDeplacementEnCours = Faux +// Positionne le curseur par défaut +MoiMême..CurseurSouris = curFlèche +Entrée en survol de PLN_AGD +// Bouton gauche relâché = fin de déplacement +gbDeplacementEnCours = Faux +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur PLN_AGD +PlanningFicheRDV() +FI_AgendaPlanning +Procédures +Procédure locale Filtre +procédure Filtre() +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.sNomIDAppelant<>"" _et_ +paramSupplementaire.pclObjetAppelant<>Null alors +selon paramSupplementaire.sNomIDAppelant +cas "InterventionRendezVous" : +FiltreRDVDepuisFicheInter() +//CAS "InterventionAjouteRendezVous" +autre cas +PlanningPositionDateHeure(PLN_AGD,gdhDateD) +BTN_Semaine..Enfoncé=Vrai +InitChoixColb() +fin +sinon +PlanningPositionDateHeure(PLN_AGD,gdhDateD) +BTN_Semaine..Enfoncé=Vrai +InitChoixColb() +fin +Procédure locale FiltreListe +procédure FiltreListe() +ListeSupprimeTout(COMBO_ListeColb) +nIdDefaut est un entier sur 8 octets +gstPrefUserAGD = ChargePrefAGD() +pour tout stPref de gstPrefUserAGD.tabListe +si stPref.nId > 0 alors +06/08/2026 Isis_BO 5322 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Procédures +ListeAjoute(COMBO_ListeColb,stPref.sNom+gValeurMémorisée(stPref.nId)) +si stPref.bParDefaut alors +nIdDefaut = stPref.nId +fin +fin +fin +si nIdDefaut > 0 alors +COMBO_ListeColb = nIdDefaut +fin +Procédure locale FiltreRDVDepuisFicheInter +procédure FiltreRDVDepuisFicheInter() +tabIDS est un tableau d'entiers sur 8 octets +pour tout colb de paramSupplementaire:pclObjetAppelant:m_clModeleCourant:m_clListeCollabGroup +TableauAjoute(tabIDS,colb:m_nPKID) +fin +gdhDateD = paramSupplementaire:pclObjetAppelant:m_clModeleCourant:m_dhDateDebut +gdhDateF = paramSupplementaire:pclObjetAppelant:m_clModeleCourant:m_dhDateFin +PlanningChangeMode(PLN_AGD,plnModeJournée) +PlanningPositionDateHeure(PLN_AGD,gdhDateD) +BTN_Jour..Enfoncé=Vrai +InitChoixColb(tabIDS) +tabRdv est un tableau de RendezVous = PlanningListeRendezVous(PLN_AGD) +indice est un entier = TableauCherche(tabRdv,tcLinéaire,"ID",paramSupplementaire: +pclObjetAppelant:m_clModeleCourant:m_nPKID,1) +si indice > 0 alors +PlanningSelectPlus(PLN_AGD,indice) +ExécuteTraitement(FI_AgendaPlanning.PLN_AGD,trtSélectionRdvPlanning,tabRdv[indice]) +fin +Procédure locale FiltreRessources +procédure FiltreRessources() +PLN_AGD..AffichageActif = Faux +//sRessourceAffichée est une chaine +// Mémorise la ressource actuellement affichée (pour repositionner le planning dessus) +//sRessourceAffichée = PlanningPositionRessource(PLN_agd) +// Vide le planning complètement +PlanningSupprimeTout(PLN_AGD) +tabRessources est un tableau de ColbRes +TableauSupprimeTout(tabIdColb) +FiltreRessourcesPLN(gstChoixColbAgd,tabRessources) +sIDEq est une chaîne ANSI +sNomColb est une chaîne ANSI +sIdColb est une chaîne ANSI +nPosColb est un entier +si gpclListeTOUTCollab <> Null _et_ gpclListeTOUTCollab.m_clTabModele..Occurrence > 0 alors +si pas gstChoixColbAgd.bAffichageParEq alors +pour tout stRess de tabRessources +si stRess.bEq alors +pour tout stClb de stRess.Colb +si stClb.nId > 0 alors +nPosColb = TableauCherche(gpclListeTOUTCollab.m_clTabModele,tcLinéaire,"m_nPKID", +stClb.nId ,1) +06/08/2026 Isis_BO 5323 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Procédures +si nPosColb > 0 alors +sNomColb= gpclListeTOUTCollab:m_clTabModele[nPosColb].NomPrenom+" ("+gpcl +ListeTOUTCollab:m_clTabModele[nPosColb].m_sTrigramme+")" +// La personne est identifiée par P[ESC] +sIDEq = "E" +ESC+ 0+stClb.nid +sIdColb = "P" +ESC+ stClb.nId +PlanningAjouteRessourceRupture(PLN_AGD..NomComplet, gLien(sIDEq) + "("+gpcl +ListeTOUTCollab:m_clTabModele[nPosColb].m_sTrigramme+")", ( *)) +si PlanningAjouteRessourceFille(PLN_AGD..NomComplet,sIDEq, sNomColb + gLien( +sIdColb), stRess.saCouleur) > 0 alors +TableauAjoute(tabIdColb,stClb.nId) +fin +fin +fin +fin +sinon +si stRess.nIdColb > 0 alors +nPosColb = TableauCherche(gpclListeTOUTCollab.m_clTabModele,tcLinéaire,"m_nPKID", +stRess.nIdColb ,1) +si nPosColb > 0 alors +sNomColb= gpclListeTOUTCollab:m_clTabModele[nPosColb].NomPrenom+" ("+gpcl +ListeTOUTCollab:m_clTabModele[nPosColb].m_sTrigramme+")" +// La personne est identifiée par P[ESC] +sIdColb = "P" +ESC+ stRess.nIdColb +sIDEq = "E" +ESC+ 0+stRess.nIdColb +PlanningAjouteRessourceRupture(PLN_AGD..NomComplet, gLien(sIDEq) + "("+gpcl +ListeTOUTCollab:m_clTabModele[nPosColb].m_sTrigramme+")", ( *)) +si PlanningAjouteRessourceFille(PLN_AGD..NomComplet,sIDEq, sNomColb + gLien( +sIdColb)) > 0 alors +TableauAjoute(tabIdColb,stRess.nIdColb) +fin +fin +fin +fin +fin +sinon +pour tout stRess de tabRessources +si stRess.bEq alors +sIDEq = "E" +ESC+ stRess.nIdEq +// Ajoute l’équipe +PlanningAjouteRessourceRupture(PLN_AGD..NomComplet, gLien(sIDEq) + stRess.sNomEq, stRess. +saCouleur) +pour tout stClb de stRess.Colb +si stClb.nId > 0 alors +nPosColb = TableauCherche(gpclListeTOUTCollab.m_clTabModele,tcLinéaire,"m_nPKID", +stClb.nId ,1) +si nPosColb > 0 alors +sNomColb= gpclListeTOUTCollab:m_clTabModele[nPosColb].NomPrenom+" ("+gpcl +ListeTOUTCollab:m_clTabModele[nPosColb].m_sTrigramme+")" +// La personne est identifiée par P[ESC] +sIdColb = "P" +ESC+ stClb.nId +// Ajoute la personne +si PlanningAjouteRessourceFille(PLN_AGD..NomComplet, sIDEq, sNomColb + gLien( +sIdColb), stRess.saCouleur) > 0 alors +TableauAjoute(tabIdColb,stClb.nId) +fin +fin +fin +fin +sinon +si stRess.nIdColb > 0 alors +nPosColb = TableauCherche(gpclListeTOUTCollab.m_clTabModele,tcLinéaire,"m_nPKID", +stRess.nIdColb ,1) +si nPosColb > 0 alors +sNomColb= gpclListeTOUTCollab:m_clTabModele[nPosColb].NomPrenom+" ("+gpcl +06/08/2026 Isis_BO 5324 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Procédures +ListeTOUTCollab:m_clTabModele[nPosColb].m_sTrigramme+")" +// La personne est identifiée par P[ESC] +sIdColb = "P" +ESC+ stRess.nIdColb +sIDEq = "E" +ESC+ 0+ stRess.nIdColb +// Ajoute la personne +PlanningAjouteRessourceRupture(PLN_AGD..NomComplet, gLien(sIDEq) + "("+gpcl +ListeTOUTCollab:m_clTabModele[nPosColb].m_sTrigramme+")", ( *)) +si PlanningAjouteRessourceFille(PLN_AGD..NomComplet, sIDEq, sNomColb + gLien( +sIdColb)) > 0 alors +TableauAjoute(tabIdColb,stRess.nIdColb) +fin +fin +fin +fin +fin +fin +// Positionne le planning sur la dernière ressource affichée mémorisée +//SI sRessourceAffichée <> "" ALORS PlanningPositionRessource(PLN_AGD, sRessourceAffichée) +PlanningChargeRDVS(tabIdColb) +fin +// Réactive l'affichage du champ +PLN_AGD..AffichageActif = Vrai +Procédure locale InitChoixColb +procédure InitChoixColb(tabIDS est un tableau d'entiers sur 8 octets = Null) +gstChoixColbAgd.nId = 0 +gstChoixColbAgd.sNom = "" +gstChoixColbAgd.bAffichageParEq = Faux +TableauSupprimeTout(gstChoixColbAgd.tabColb) +TableauSupprimeTout(gstChoixColbAgd.tabEquipe) +gbDeplacementEnCours = Faux +TableauSupprimeTout(gtaEnroulementRupture) +TableauSupprimeTout(gtaRessourceFille) +gsRessourceAffichée = "" +stColb est un STItemChoix +si tabIDS <> Null _et_ tabIDS..Occurrence > 0 alors +pour tout nId de tabIDS +stColb.nId = nId +TableauAjoute(gstChoixColbAgd:tabColb,stColb) +fin +sinon +si COMBO_ListeColb > 0 alors +npos est un entier = TableauCherche(gstPrefUserAGD:tabListe,tcLinéaire,"nID", COMBO_ListeColb) +si npos > 0 alors +gstChoixColbAgd = gstPrefUserAGD:tabListe[npos] +fin +fin +fin +FiltreRessources() +Procédure locale MaJDatesPLN +procédure MaJDatesPLN() +gdhDateD..PartieDate = PlanningPositionDateHeure(PLN_AGD,agDateDébut) +gdhDateF..PartieDate = PlanningPositionDateHeure(PLN_AGD,agDateFin) +gdhDateF..Jour += 1 +06/08/2026 Isis_BO 5325 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Procédures +gdhDateD..PartieHeure= "000000000" +gdhDateF..PartieHeure= "000000000" +Procédure locale MAJHSurveille +procédure MAJHSurveille(sdFichierDeDonnées est une Source de Données, nNuméroEnregistrement est un +entier, nAction est un entier ) +si HLit(sdFichierDeDonnées, nNuméroEnregistrement) = Faux alors +Erreur("Impossible de lire l'enregistrement notifié comme ajouté :", HErreurInfo()) +retour +fin +nIDStatutNonPlan est un entier sur 8 octets = gpclListeStatutRendezVous. +RechercheEtDonneIdDepuisValeur(99) +MaJDatesPLN() +RDV est un Enregistrement de Planning_RDV = sdFichierDeDonnées +nIdRdv est un entier sur 8 octets = RDV.PL_PKID +nIdColb est un entier sur 8 octets = RDV.PL_IDCollaborateur +//On vérifie si on est concerné par le rendez-vous +tabRdv est un tableau de RendezVous +tabRdv=PlanningListeRendezVous(PLN_AGD) +indice est un entier=TableauCherche(tabRdv,tcLinéaire,"ID",nIdRdv,1) +si indice > 0 _ou_ (TableauCherche(tabIdColb,tcLinéairePremier,nIdColb) > 0 _et_ RDV.PL_DateDebut >= +gdhDateD _et_ RDV.PL_DateFin <= gdhDateF) alors +selon nAction +cas 1 +// Traite l'enregistrement +tabIdsColb est un tableau d'entiers sur 8 octets +TableauAjoute(tabIdsColb,nIdColb) +PlanningChargeRDVS(tabIdsColb,nIdRdv) +cas 2 +si RDV.Archive=1 _et_ indice > 0 alors +PlanningSupprimeRendezVous(PLN_AGD,indice) +sinon +si indice > 0 alors +//Modification de la date d'un rendez-vous , il ne dois plus être visible +si pas ( RDV.PL_DateDebut >= gdhDateD _et_ RDV.PL_DateFin <= gdhDateF) alors +PlanningSupprimeRendezVous(PLN_AGD,indice) +sinon +tabIdsColb est un tableau d'entiers sur 8 octets +TableauAjoute(tabIdsColb,RDV.PL_IDCollaborateur) +sRqSql est une chaîne ANSI = PlanningRqSQL(gstPrefUserAGD,tabIdColb,gdhDateD, +gdhDateF, nIdRdv) +sdRDVs est une Source de Données +si sRqSql <> "" _et_ pas HExécuteRequêteSQL(sdRDVs,hRequêteDéfaut,sRqSql) +alors +si pas EnModeTest() alors +LogEcrit("Problème avec la requête PlanningChargeRDVS "+RC+ +HErreurInfo(hErrComplet),eErreur) +sinon +Info(HErreurInfo(hErrComplet)) +fin +sinon +pour tout sdRDVs +PlanningRempliObjRDV(tabRdv[indice], sdRDVs,gstPrefUserAGD) +fin +fin +fin +06/08/2026 Isis_BO 5326 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Procédures +sinon +//Modification de la date d'un rendez-vous +tabIdsColb est un tableau d'entiers sur 8 octets +TableauAjoute(tabIdsColb,nIdColb) +PlanningChargeRDVS(tabIdsColb,nIdRdv) +fin +fin +autre cas +fin +fin +Procédure locale MAJObjetRetourFI +// Résumé : +procédure MAJObjetRetourFI(*)//LOCAL sContexte est une chaîne, pclObjet est un objet dynamique +bResultat est un booléen=Vrai +nMode est un entier +sNomChamp est une chaîne +pclObjet est un objet dynamique +bReorga est un booléen=Vrai +bBloc est un booléen +si MesParamètres..Occurrence>0 alors +nMode = MesParamètres[1] +fin +selon nMode +cas 1 : +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 2 +bReorga = Faux +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 3 +bReorga = Faux +bBloc = Vrai +fin +si bReorga alors +paramSupplementaire.nIdFenetreAppelante=Null +paramSupplementaire.pclObjetAppelant=Null +paramSupplementaire.sContexteAppelant=Null +paramSupplementaire.sNomFenetreAppelante=Null +paramSupplementaire.sNomIDAppelant=Null +paramSupplementaire.sTitreFenetre=Null +paramSupplementaire.pclObjetAppelant=Null +fin +renvoyer bResultat +Procédure locale PlanningAjouteRessourceFille +procédure PlanningAjouteRessourceFille(local sNomChampPlanning est une chaîne, local sIDParent est une +chaîne, local sRessource est une chaîne, local Couleur est un Couleur = Null) : entier +nIndice est un entier +sLibelléest une chaîne +06/08/2026 Isis_BO 5327 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Procédures +sID est une chaîne +// Le champ Planning doit exister +si ChampExiste(sNomChampPlanning) = Faux alors +ErreurConstruit("Le champ Planning %1 n'existe pas", sNomChampPlanning) +renvoyer -1 +fin +// Définit le libellé et l'identifiant de la ressource (si la ressource précisée contient un gLien) +si Position(sRessource, ESC+"K") > 0 alors +// Récupère le libellé et l'identifiant (gLien) en fonction de la position du gLien +si ExtraitChaîne(sRessource, 1, ESC+"K") ~= "" alors +// Libellé +sLibellé = ExtraitChaîne(sRessource, 3, ESC+"K") +// Identifiant +sID = ExtraitChaîne(sRessource, 2, ESC+"K") +sinon +// Libellé +sLibellé = ExtraitChaîne(sRessource, 1, ESC+"K") +// Identifiant +sID = ExtraitChaîne(sRessource, 2, ESC+"K") +fin +sinon // pas de gLien +// Le libellé et l'identifiant sont identiques +sID = sRessource +sLibellé= sRessource +fin +// Mémorise pour le couple parent / fille +gtaRessourceFille[sID] = sIDParent +// Si le parent est enroulé, la ressource n'est pas ajoutée au planning +si gtaEnroulementRupture[sIDParent] = Faux alors renvoyer -1 +nIdColb est un entier sur 8 octets = Val(Remplace(sID,[ESC,"P","K"],"")) +sRessource = PlanningRessourceNom(nIdColb,sRessource) +nIndice = PlanningAjouteRessource(sNomChampPlanning, sRessource) +//PLN_AGD.Ressource[1]. = RougeClair +si Couleur <> Null alors +dhDateDeb est une DateHeure +dhDateFin est une DateHeure +dhDateDeb..PartieDate= PlanningPositionDateHeure(PLN_AGD,agDateDébut) +dhDateFin..PartieDate= PlanningPositionDateHeure(PLN_AGD,agDateFin) +dhDateFin..Jour += 1 +dhDateDeb..PartieHeure = "000000000" +dhDateFin..PartieHeure = "000000000" +PlanningCouleurFond(PLN_AGD,dhDateDeb,dhDateFin,sID,Couleur) +fin +renvoyer nIndice +Procédure locale PlanningAjouteRessourceRupture +procédure PlanningAjouteRessourceRupture(local sNomChampPlanning est une chaîne, local sRessource est +une chaîne, local nCouleur est un entier = RVB(190, 191, 191)) : entier +06/08/2026 Isis_BO 5328 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Procédures +nIndice est un entier +sID est une chaîne +sLibelléest une chaîne +// Le champ Planning doit exister +si ChampExiste(sNomChampPlanning) = Faux alors +ErreurConstruit("Le champ Planning %1 n'existe pas", sNomChampPlanning) +renvoyer -1 +fin +// Définit le libellé et l'identifiant de la ressource (si la ressource précisée contient un gLien) +si Position(sRessource, ESC+"K") > 0 alors +// Récupère le libellé et l'identifiant (gLien) en fonction de la position du gLien +si ExtraitChaîne(sRessource, 1, ESC+"K") ~= "" alors +// Libellé +sLibellé = ExtraitChaîne(sRessource, 3, ESC+"K") +// Identifiant +sID = ExtraitChaîne(sRessource, 2, ESC+"K") +sinon +// Libellé +sLibellé = ExtraitChaîne(sRessource, 1, ESC+"K") +// Identifiant +sID = ExtraitChaîne(sRessource, 2, ESC+"K") +fin +sinon // pas de gLien +// Le libellé et l'identifiant sont identiques +sID = sRessource +sLibellé= sRessource +fin +// Ajoute la ressource +nIndice = PlanningAjouteRessource(sNomChampPlanning, sRessource) +// Modifie l'affichage du groupe pour "simuler" une rupture (hauteur réduite, couleur différente) +{sNomChampPlanning, indChamp}..Ressource[sID]..Hauteur = 20 +{sNomChampPlanning, indChamp}..Ressource[sID]..CouleurFond = nCouleur +MaPalette est une Palette = PaletteGénère(nCouleur) +{sNomChampPlanning, indChamp}..Ressource[sID]..CouleurFondTitre = nCouleur +// S'il s'agit du premier chargement : mémorise la "rupture" comme déroulée par défaut +si gtaEnroulementRupture[sID]..Vide alors gtaEnroulementRupture[sID] = Vrai +// Selon l'enroulement de la "rupture" à appliquer +selon gtaEnroulementRupture[sID] +// Déroulée +cas Vrai +// Ajoute un picto déroulé au titre +{sNomChampPlanning, indChamp}..Ressource[sID]..Titre = gImage(IMG_Déroulé) +" "+ gStylo( +MaPalette.Couleur["primary_text"])+sLibellé +// Enroulée +cas Faux +// Ajoute un picto enroulé au titre +{sNomChampPlanning, indChamp}..Ressource[sID]..Titre = gImage(IMG_Enroulé) +" "+ gStylo( +MaPalette.Couleur["primary_text"])+sLibellé +fin +renvoyer nIndice +Procédure locale PlanningChargeRDVS +06/08/2026 Isis_BO 5329 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Procédures +procédure PlanningChargeRDVS(tabIdsColb est un tableau d'entiers sur 8 octets, nIdRdv est un entier sur +8 octets = 0) +si tabIdsColb..Occurrence <= 0 alors +renvoyer Faux +fin +MaJDatesPLN() +sRqSql est une chaîne ANSI = PlanningRqSQL(gstPrefUserAGD,tabIdsColb,gdhDateD,gdhDateF, nIdRdv) +si sRqSql = "" alors +renvoyer Faux +fin +sdRDVs est une Source de Données +si pas HExécuteRequêteSQL(sdRDVs,hRequêteDéfaut,sRqSql) alors +si pas EnModeTest() alors +LogEcrit("Problème avec la requête PlanningChargeRDVS "+RC+HErreurInfo(hErrComplet),eErreur) +sinon +Info(HErreurInfo(hErrComplet)) +fin +sinon +pour tout sdRDVs +sIdColb est une chaîne ANSI = "P" +ESC+ sdRDVs.PL_IDCollaborateur +si gtaRessourceFille[sIdColb]..Vide = Faux alors +// Si la ressource parente est enroulée +si PlanningEtatRessource(PLN_AGD..NomComplet, gtaRessourceFille[sIdColb]) = ressEnroulée +alors +// Le rendez-vous ne doit pas être affiché +sinon +unRdv est un RendezVous +unRdv.Ressource = sIdColb +PlanningRempliObjRDV(unRdv,sdRDVs,gstPrefUserAGD) +WL.PlanningAjouteRendezVous(PLN_AGD, unRdv) +fin +fin +fin +fin +Procédure locale PlanningEtatRessource +procédure PlanningEtatRessource(local sNomChampPlanning est une chaîne, local sIDRessource est une +chaîne) : EEtatRessource +// Le champ Planning doit exister +si ChampExiste(sNomChampPlanning) = Faux alors +ErreurConstruit("Le champ Planning %1 n'existe pas", sNomChampPlanning) +renvoyer ressErreur +fin +// Si la ressource n'est pas trouvée dans le tableau +si gtaEnroulementRupture[sIDRessource]..Vide alors +// Ressource non rupture +renvoyer ressErreur +fin +// Renvoie l'état d'enroulement +selon gtaEnroulementRupture[sIDRessource] +06/08/2026 Isis_BO 5330 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Procédures +// Enroulée +cas Faux : renvoyer ressEnroulée +// Déroulée +cas Vrai : renvoyer ressDéroulée +fin +cas erreur: +renvoyer ressErreur +Procédure locale PlanningFicheRDV +procédure PlanningFicheRDV(rdvCréé est un RendezVous = Null) +si PLN_AGD=0 ou rdvCréé <> Null alors +nIdColb est un entier sur 8 octets = Val(Remplace(PLN_AGD..RessourceSélectionnée,[ESC,"P","K"],"") +) +dhDateDeb est une DateHeure +dhDateFin est une DateHeure +si nIdColb <= 0 alors +renvoyer Faux +fin +si rdvCréé <> Null alors +dhDateDeb = rdvCréé..DateDébut +dhDateFin = rdvCréé..DateFin +sinon +dhDateDeb = PLN_AGD..DateDébut +dhDateFin = PLN_AGD..DateFin +fin +si paramSupplementaire.sNomIDAppelant="InterventionAjouteRendezVous" alors +paramSupplementaire.pclObjetAppelant.m_bNouveau = Vrai +paramSupplementaire.pclObjetAppelant.m_dhDateDebut = dhDateDeb +paramSupplementaire.pclObjetAppelant.m_dhDateFin = dhDateFin +paramSupplementaire.pclObjetAppelant.m_nCreationUser = gpclFicheUtilisateurEnCours.m_nPKID +paramSupplementaire.pclObjetAppelant.m_nModifUser = gpclFicheUtilisateurEnCours.m_nPKID +paramSupplementaire.pclObjetAppelant.m_nIDCollaborateur = nIdColb +paramSupplementaire.pclObjetAppelant.m_nIDTypeActivite = gnIdTypeInter +Ouvre(FEN_Fiche_RDV_F,paramSupplementaire.pclObjetAppelant,DonneParam(DansChampFI,"FI_Planning" +,MoiMême..Nom,maProcMAJObjetRetourFI,"Création d'un Rendez-vous","Nouveau")) +sinon +clModele est un MRdv() +clPresentationFiche est un PFicheRdv(clModele) +nPos est un entier = TableauCherche(gpclListeUtilisateur:m_clTabModele,tcLinéaire, +"m_nIDCollaborateur",nIdColb,1) +si nPos > 0 _et_ gpclListeUtilisateur:m_clTabModele[nPos].m_nIDSocietePrincipale > 0 alors +clPresentationFiche.m_nIDSociete=gpclListeUtilisateur:m_clTabModele[nPos].m_n +IDSocietePrincipale +fin +clPresentationFiche.m_bNouveau =Vrai +clPresentationFiche.m_dhDateDebut = dhDateDeb +clPresentationFiche.m_dhDateFin = dhDateFin +clPresentationFiche.m_nCreationUser = gpclFicheUtilisateurEnCours.m_nPKID +clPresentationFiche.m_nModifUser = gpclFicheUtilisateurEnCours.m_nPKID +clPresentationFiche.m_nIDCollaborateur = nIdColb +Ouvre(FEN_Fiche_RDV_F,clPresentationFiche,DonneParam(DansChampFI,"FI_Planning",MoiMême..Nom, +06/08/2026 Isis_BO 5331 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Procédures +maProcMAJObjetRetourFI,"Création d'un Rendez-vous","Nouveau")) +fin +sinon +si gnIdRvdSel > 0 alors +oRDV est un MRdv +si pas HLitRecherchePremier(Planning_RDV,PL_PKID,gnIdRvdSel) alors renvoyer Faux +FichierVersMémoire(oRDV,Planning_RDV) +clPresentationFiche est un PFicheRdv(oRDV) +Ouvre(FEN_Fiche_RDV_F,clPresentationFiche,DonneParam(DansChampFI,"FI_Planning",MoiMême..Nom, +maProcMAJObjetRetourFI,"Modification d'un rendez-vous","modifier")) +fin +fin +renvoyer Faux +Procédure locale PlanningInverseEtatRessource +procédure PlanningInverseEtatRessource(local sNomChampPlanning est une chaîne, local sIDRessource est +une chaîne) : booléen +// Le champ Planning doit exister +si ChampExiste(sNomChampPlanning) = Faux alors +ErreurConstruit("Le champ Planning %1 n'existe pas", sNomChampPlanning) +renvoyer Faux +fin +// Si la ressource n'est pas trouvée dans le tableau +si gtaEnroulementRupture[sIDRessource]..Vide alors +// Ressource non rupture +renvoyer Faux +fin +// Inverse l'état +gtaEnroulementRupture[sIDRessource] = pas gtaEnroulementRupture[sIDRessource] +// Modification effective +renvoyer Vrai +Procédure locale PlanningRessourceNom +procédure PlanningRessourceNom(nIdColb est un entier sur 8 octets = 0, sRessource est une chaîne ANSI = +"") +sNom est une chaîne = "" +CoulerSoc est un Couleur = Blanc +si gpclListeUtilisateur <> Null alors +nPos est un entier = TableauCherche(gpclListeUtilisateur:m_clTabModele,tcLinéaire, +"m_nIDCollaborateur",nIdColb,1) +si nPos > 0 _et_ gpclListeUtilisateur:m_clTabModele[nPos].m_nIDSocietePrincipale <> 0 alors +sCouleurChaine est une chaîne ANSI= PreferenceCouleurSoc(c_CouleurSociete,gpclListeUtilisateur: +m_clTabModele[nPos].m_nIDSocietePrincipale) +si sCouleurChaine <> "" alors CoulerSoc = sCouleurChaine +// pour éviter la couleur null donc Noir +fin +fin +sNom = gCercle(0, 0, 18, 13, CoulerSoc, CoulerSoc)+RC+gPoliceTaille(8) + gPoliceGras(Vrai) + sRessource ++ gPoliceGras(Faux)// couleur société +// Le libellé est formaté pour afficher : +06/08/2026 Isis_BO 5332 + +Partie 3 › Fenêtre WINDEV › FI_AgendaPlanning › Procédures +//sNom += gCoord(30, 6) + gPoliceTaille(8) + gPoliceGras(Vrai) + sRessource + gPoliceGras(Faux) +//sNom += gCoord(10, 0) + gCercle(0, 0, 18, 13, CoulerSoc, CoulerSoc) +renvoyer sNom +Procédure locale RafraichissementFiche +procédure RafraichissementFiche(stParamSupplementaire est STParamFenetreAppelante) +si stParamSupplementaire.eTypeAppel<>Libre _et_ stParamSupplementaire.sNomIDAppelant<>"" _et_ +stParamSupplementaire.pclObjetAppelant<>Null alors +selon stParamSupplementaire.sNomIDAppelant +cas "InterventionRendezVous" : +paramSupplementaire = stParamSupplementaire +FiltreRDVDepuisFicheInter() +cas "InterventionAjouteRendezVous" +paramSupplementaire = stParamSupplementaire +autre cas +fin +fin +06/08/2026 Isis_BO 5333 + +Partie 3 › Fenêtre WINDEV › FI_RDV › Image +FI_RDV +Image +FI_RDV +Informations générales +FI_RDV +| Fichier physique | | D:\Projets Windev\Batik\WD30\Dev\FI_RDV.wdw | | | | +| -------------------------- | ------------ | ------------------------------------------- | --------- | --------------- | --- | +| Créé par | | SMR | | | | +| Date de création | | 16/04/2025 15:54:15 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 30/04/2025 17:09:08 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 175 Hauteur | 225 | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 5334 | + +Partie 3 › Fenêtre WINDEV › FI_RDV › Informations générales +Unité des tailles Compatible desktop ET mobile +Ancrage au contenu +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +Style du menu Windows 11 +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. +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 +Statistiques de la fenêtre +Libellé 2 Image 1 +Forme 1 Fenêtre interne 1 +Nombre d'éléments dans la fenêtre : 5 +FI_RDV +Informations sur les champs +06/08/2026 Isis_BO 5335 + +Partie 3 › Fenêtre WINDEV › FI_RDV › Informations sur les champs +Fenêtre : FI_RDV +Fenêtre interne +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| FI_RDV | | 0 | 0 175 | 225 | 0 | | | +| ------ | --- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_RDV +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Descip | 1 | 46 174 | 179 0 | Actif | Gauche | Haut | | +| ---------- | --- | ------ | ----- | ----- | ------ | ---- | --- | +| LIB_Titre | 20 | 2 148 | 38 0 | Actif | Gauche | Haut | | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | --- | ------------ | --------- | ---------- | +| | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Groupe | 2 | 20 | 12 12 | 0 | Actif | | | +| ---------- | --- | --- | ----- | --- | ----- | --- | --- | +Forme +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| FRM_Etat | | 2 | 2 12 | 12 | 0 | Actif | | +| ---------- | --- | --- | ------- | --- | --- | ----- | ---- | +| 06/08/2026 | | | Isis_BO | | | | 5336 | + +Partie 3 › Fenêtre WINDEV › FI_RDV › Informations sur les champs +Fenêtre : FI_RDV +Fenêtre interne : FI_RDV +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_RDV +Forme : FI_RDV.FRM_Etat +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Epaisseur 1 +AntiAliasing Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5337 + +Partie 3 › Fenêtre WINDEV › FI_RDV › Informations sur les champs +Image : FI_RDV.IMG_Groupe +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Non +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Libellé : FI_RDV.LIB_Descip +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +06/08/2026 Isis_BO 5338 + +Partie 3 › Fenêtre WINDEV › FI_RDV › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur et hauteur +Taux anc. droite 10 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_RDV.LIB_Titre +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 10 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5339 + +Partie 3 › Fenêtre WINDEV › FI_RDV › Code des champs +FI_RDV +Code des champs +Déclarations globales de FI_RDV +procédure FI_RDV(EvenementOuRDV) +//EvenementOuRDV : Rendez-vous ou Evenement a dessiner +// => SourceVersEcran +si EvenementOuRDV.Image <> Null _et_ EvenementOuRDV.image <> "" alors +IMG_Groupe..Valeur = EvenementOuRDV.Image +sinon +IMG_Groupe..Visible = Faux +fin +si EvenementOuRDV.Catégorie <> Null _et_ EvenementOuRDV.Catégorie <> "" alors +FRM_Etat..CouleurFond = EvenementOuRDV.Catégorie +fin +LIB_Titre = Remplace(Remplace(EvenementOuRDV.Titre," ", " ")," "," ") +LIB_Descip = Remplace(Remplace(EvenementOuRDV.Contenu," ", " ")," "," ") +//FRM_Type..Couleur = EvenementOuRDV.note +// Applique la couleur du rendez-vous directement sur la fenêtre interne +MaPalette est une Palette +MaPalette = PaletteGénère(EvenementOuRDV.couleurFond) +MaFenêtreInterne..CouleurFond = EvenementOuRDV.couleurFond +//LIB_Fond..cadre..Couleur = MaPalette.Couleur["container_background"] +LIB_Titre..Couleur = MaPalette.Couleur["primary_text"] +LIB_Descip..Couleur = MaPalette.Couleur["primary_text"] +Clic sur IMG_Groupe +Info("test clic sur image") +Initialisation de LIB_Descip +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_Titre +// Version 1 +// Description +// Libellé simple +FI_RDV +Procédures +Procédure locale CouleurLisible +06/08/2026 Isis_BO 5340 + +Partie 3 › Fenêtre WINDEV › FI_RDV › Procédures +procédure CouleurLisible(local nCouleurOrigine est un entier) : entier +CouleurOrigine est une Couleur +CouleurRetour est une Couleur +// Mémorise la couleur d'origine +CouleurOrigine = nCouleurOrigine +// Appelle la syntaxe avec les variables de types couleur +CouleurRetour = CouleurLisible2(CouleurOrigine) +// Renvoie la couleur inverse trouvée +renvoyer CouleurRetour..Couleur +Procédure locale CouleurLisible2 +procédure CouleurLisible2(local CouleurOrigine est une Couleur) : Couleur +nLuminosité est un entier +rLuminance est un réel +CouleurRetour est une Couleur +// Calcul de la luminance de la couleur passée en paramètre +rLuminance = 1 - (0.299 * CouleurOrigine..Rouge + 0.587 * CouleurOrigine..Vert + 0.114 * CouleurOrigine +..Bleu)/255 +// En fonction de la luminance, la couleur d'écriture doit avoir une faible ou une forte luminosité +si rLuminance < 0.5 alors +// Faible luminosité +nLuminosité = 30 +sinon +// Forte luminosité +nLuminosité = 30 +fin +// La couleur renvoyée conserve la tonalité et la saturation +CouleurRetour = TSL(CouleurTeinte(CouleurOrigine), CouleurSaturation(CouleurOrigine), nLuminosité) +// Renvoie la couleur inverse trouvée +renvoyer CouleurRetour +06/08/2026 Isis_BO 5341 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Image +FI_Agenda +Image +FI_Agenda +Informations générales +FI_Agenda +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Agenda.wdw +Créé par SMR +Date de création 22/04/2025 15:19:18 +Dernière modification par SMR +06/08/2026 Isis_BO 5342 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Informations générales +| Date dernière modification | | 16/05/2025 09:13:56 | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | --- | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 1368 | 660 | +| Position X | Position Y | | Largeur | Hauteur | | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| Style du menu | | Windows 11 | | | | +| 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. | | | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| Anim. Fermeture | | 0 | | | | +| Durée Anim. Ouverture | | 100 | | | | +| Durée Anim. Fermeture | | 50 | | | | +| Adapte Taille contenu | | Non | | | | +| 06/08/2026 | | | Isis_BO | | 5343 | + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Informations générales +| Assombri quand inactif | | Oui | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | --- | +Déplace souris sur bouton par +Non +| Compact. barres outils | | Non | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | --- | +Statistiques de la fenêtre +| | Libellé | | | 2 | Bouton | | | 11 | +| --- | --------------- | --- | --- | --- | -------- | --- | --- | --- | +| | Image | | | 2 | Combo | | | 1 | +| | Fenêtre interne | | | 1 | Planning | | | 1 | +Nombre d'éléments dans la fenêtre : 18 +FI_Agenda +Informations sur les champs +Fenêtre : FI_Agenda +Fenêtre interne +BAT ehcuoT +| | | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FI_Agenda | | | 0 | 0 1368 | 660 | 0 | | | +| --------- | --- | --- | --- | ------ | --- | --- | --- | --- | +Fenêtre interne : FI_Agenda +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| LIB_Mois | | 150 | 5 193 | 30 0 | Actif | Gauche | Centre | | +| ----------- | --- | --- | ------ | ------- | ----- | ------ | ------ | ---- | +| LIB_Semaine | | 150 | 35 193 | 24 0 | Actif | Gauche | Centre | | +| 06/08/2026 | | | | Isis_BO | | | | 5344 | + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Informations sur les champs +Bouton +notuob epyT +| | | | | | | | | laitini tatE | BAT ehcuoT | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | ---------- | --- | +| | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| BTN_Aujourd_hui | | 1225 | | 5 99 | 30 | 0 | Actif | | | Interrup | +| --------------------- | --- | ---- | --- | ---- | --- | --- | ----- | --- | --- | -------- | +| BTN_Cald | | 8 | | 5 55 | 48 | 0 | Actif | | | Validati | +| BTN_ChangeMode | | 1059 | 41 | 130 | 30 | 0 | Actif | | | Normal | +| BTN_Colb | | 798 | | 4 76 | 54 | 0 | Actif | | | Validati | +| BTN_Imprimer | | 1194 | 41 | 130 | 30 | 0 | Actif | | | Normal | +| BTN_Jour | | 1007 | | 5 67 | 30 | 0 | Actif | | | Interrup | +| BTN_Listes | | 715 | | 4 76 | 54 | 0 | Actif | | | Validati | +| BTN_Mois | | 1155 | | 5 67 | 30 | 0 | Actif | | | Interrup | +| BTN_PeriodePrecedente | | 72 | | 5 24 | 30 | 0 | Actif | | | Interrup | +| BTN_PeriodeSuivante | | 102 | | 5 24 | 30 | 0 | Actif | | | Interrup | +| BTN_Semaine | | 1077 | | 5 75 | 30 | 0 | Actif | | | Interrup | +Image +| | | | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | --- | --- | --- | --- | --- | --- | ------------ | --- | --------------------- | ----------------- | +| | | | | | | | laitini tatE | | | sucof cevA | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | cilc cevA | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --------- | --- | +elbisiV +nalP +| IMG_Parametrage | | 1330 | 5 | 30 | 30 | 0 | Actif | | | | +| --------------- | --- | ---- | --- | --- | --- | --- | ----- | --- | --- | --- | +| IMG_Pregunta | | 1330 | 41 | 30 | 30 | 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 | | | | +| --------------- | --- | ------ | --- | ---- | ----- | ------- | ----- | --- | --- | --- | +| COMBO_ListeColb | 352 | 16 323 | 37 | 0 | Actif | Mémoire | | Non | | | +Planning +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| PLN_AGD | | | 1 | 75 | 1360 | 579 | 0 | | Actif | | +| ---------- | --- | --- | --- | ------- | ---- | --- | --- | --- | ----- | ---- | +| 06/08/2026 | | | | Isis_BO | | | | | | 5345 | + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Informations sur les champs +Fenêtre : FI_Agenda +Fenêtre interne : FI_Agenda +UI par l'utilisateur Selon fenêtre +Unité des tailles Compatible desktop ET mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Agenda +Bouton : FI_Agenda.BTN_Aujourd_hui +Libellé FR: Aujourd'hui +Groupe GR_Jours +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +06/08/2026 Isis_BO 5346 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Informations sur les champs +Animée par défaut Oui +Mode ellipse +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : FI_Agenda.BTN_Cald +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\DateCald.png +Nb. états image 5 +06/08/2026 Isis_BO 5347 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Informations sur les champs +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : FI_Agenda.BTN_ChangeMode +Libellé FR: Mode Planning +Ordre navigation 10 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +06/08/2026 Isis_BO 5348 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : FI_Agenda.BTN_Colb +Libellé FR: Collaborateurs +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\rechercheColb.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5349 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Informations sur les champs +Bouton : FI_Agenda.BTN_Imprimer +Libellé FR: Imprimer +Ordre navigation 11 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5350 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Informations sur les champs +Bouton : FI_Agenda.BTN_Jour +Libellé FR: Jour +Groupe GR_Jours +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5351 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Informations sur les champs +Bouton : FI_Agenda.BTN_Listes +Libellé FR: Listes +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Listes.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5352 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Informations sur les champs +Bouton : FI_Agenda.BTN_Mois +Libellé FR: Mois +Groupe GR_Jours +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5353 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Informations sur les champs +Bouton : FI_Agenda.BTN_PeriodePrecedente +Libellé FR: < +Groupe GR_DatesBtn +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\190 +GENSTEEL\Gensteel_Pict_PeriodPrevious_24_5.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5354 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Informations sur les champs +Bouton : FI_Agenda.BTN_PeriodeSuivante +Libellé FR: > +Groupe GR_DatesBtn +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\190 +GENSTEEL\Gensteel_Pict_PeriodNext_24_5.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5355 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Informations sur les champs +Bouton : FI_Agenda.BTN_Semaine +Libellé FR: Semaine/7j +Groupe GR_Jours +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +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 +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 +Texte Markdown Non +Mode menu ctx. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5356 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Informations sur les champs +Combo : FI_Agenda.COMBO_ListeColb +Libellé FR: Listes +Groupe GR_CADENAS_INTERV +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 323 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 352 +Largeur interne 323 +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 +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 +06/08/2026 Isis_BO 5357 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Informations sur les champs +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Non +Nb. Enreg. Max 0 +Rub. affichée :gpclListeSocieteAppartenance.m_clTabModele.m_sNom +Rub. mémorisée :gpclListeSocieteAppartenance.m_clTabModele.m_nPKID +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Agenda.IMG_Parametrage +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\parametresUtilisateur.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5358 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Informations sur les champs +Image : FI_Agenda.IMG_Pregunta +Libellé FR: FAQ +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\pregunta.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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 +Bulle d'aide FR: FAQ +Nouvelles fonctionnalités +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. +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Agenda.LIB_Mois +Libellé FR: 20250327 +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 5359 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Informations sur les champs +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Date +Masque saisie FR: Mmmm AAAA +Format retour AAAAMMJJ +Mode ellipse +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Agenda.LIB_Semaine +Libellé FR: Semaine X +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 +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 +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 +06/08/2026 Isis_BO 5360 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Informations sur les champs +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Planning : FI_Agenda.PLN_AGD +Libellé FR: Planning +Ordre navigation 12 +Curseur survol 32512 +UI par l'utilisateur Selon fenêtre +Fenêtre Interne FI_RDV +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne 19 +Largeur ressources auto. Non +Largeur entête ressources 100 +Largeur/hauteur minimale d'une 200 +Largeur/hauteur min journée 296 +Nb jours selon taille Agrandir les jours +Hauteur rupture jours 23 +Hauteur journée entière 35 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +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 +Édition Rdv par simple clic Oui +Ancrer ressources Oui +Journée entière Non +Boutons période Non +Numéro semaine Non +Semaine ISO8601 Non +Affiche heures Oui +Affiche mois Oui +Autorise chevauchement Oui +Texte Markdown Non +Mode menu ctx. +Granularité de déplacement 60 +Granularité de durée 60 +Mode Aff. Planning Ressources en colonne +Mode Nb jours Semaine sur 7 jours +Nb. jours (Mode libre) 3 +Masque date FR: JJJ JJ +Rendez-vous continu Oui +06/08/2026 Isis_BO 5361 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Informations sur les champs +| Premier jour semaine | Lundi | | | +| -------------------------- | ------------------ | --- | --- | +| Chevauche rendez-vous | Côte à côte | | | +| Rendez-vous redim. | Oui | | | +| Rendez-vous déplaçable | Oui | | | +| Heure visible début | 0700 | | | +| Heure visible fin | 2000 | | | +| Heure ouvrable début | 0800 | | | +| Heure ouvrable fin | 1800 | | | +| Sélection de périodes | Oui | | | +| Autorise le changement de | Non | | | +| Réglette modifiable | Oui | | | +| Réglette visible | Non | | | +| Source de remplissage | Mémoire | | | +| Nb. Enreg. Max | -1 | | | +| Suppr. dans source | Oui | | | +| 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 +FI_Agenda +Messages multilingues +¹ .ssem °N +Message +2000 FR: Semaine %1 +2001 FR: Semaine %1 +¹ N° mess. : numéro de message. +FI_Agenda +Code des champs +Déclarations globales de FI_Agenda +procédure FI_Agenda(paramSupplementaire est un STParamFenetreAppelante=Null) +| maProcMAJObjetRetourFI | est une procédure | = MAJObjetRetourFI | | +| ---------------------- | ----------------- | ------------------ | --- | +gpclClPresenFicheRDV est un PFicheRdv dynamique +| 06/08/2026 | | Isis_BO | 5362 | +| ---------- | --- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Code des champs +gnIdTypeInter est un entier sur 8 octets = gpclListeTypeRendezVous. +RechercheEtDonneIdDepuisValeur("1") +| ghHDO,ghHFO | sont des Heures | | | +| ----------- | --------------- | --- | --- | +| ghHDV,ghHFV | sont des Heures | | | +(ghHDO,ghHFO) = gpclFicheUtilisateurEnCours:HeuresOuvrablesRDV() +(ghHDV,ghHFV) = gpclFicheUtilisateurEnCours:HeuresVisiblesRDV() +| gnIdRvdSel | est un entier sur 8 octets | | | +| ----------------------------------- | -------------------------- | --- | --- | +| gbDeplacementEnCours est un booléen | | | | +gtaEnroulementRuptureest un tableau associatif (*, *, wlChaîne) de booléens +// Définit pour chaque ressource "rupture" l'état d'enroulement (Vrai/1 = déroulé : Faux/0 = enroulé) +| gtaRessourceFille est un tableau associatif de chaînes | | | | +| ------------------------------------------------------ | -------------- | --- | --- | +| gsRessourceAffichée | est une chaîne | | | +// Mémorise la ressource actuellement affichée pour repositionner le planning lors du rafraichissement +// /!\ Attention : ces variables doivent être modifiées en fonction des paramètres du champ Planning +| gnLargeurRessource | est un entier | = 120 | | +| ------------------ | ------------- | ----- | --- | +// Largeur de la zone de ressource +| gnHauteurJour | est un entier | = 60 | | +| ------------- | ------------- | ---- | --- | +// Hauteur de la zone de jours +| gstPrefUserAGD | est un ST_ChoixAGD | | | +| --------------- | ------------------ | --- | --- | +| gstChoixColbAgd | est un STPrefAgdPl | | | +gdhDateD est une DateHeure= PremierJourDeLaSemaine(DateSys()) +| gdhDateF | est une DateHeure= gdhDateD | | | +| -------- | --------------------------- | --- | --- | +gdhDateF..Jour += 6 +gtabIdColb est un tableau d'entiers sur 8 octets +si HSurveille(Planning_RDV,MAJHSurveille,hNumEnrTous,hsAjout+hsModification)= Faux alors +Erreur("Impossible d'activer la surveillance : ", HErreurInfo()) +fin +CreaJourFerie() +constante +nCJour = 1 +nCSemaine = 2 +nCMois = 3 +fin +EEtatRessource est une Enumération +| ressErreur // Ressource inexistante ou non "rupture" | | | | +| ---------------------------------------------------- | --- | --- | --- | +ressEnroulée // Ressource déroulée +ressDéroulée // Ressource enroulée +fin +Fin d'initialisation de FI_Agenda +FiltreListe() +Filtre() +Fermeture de FI_Agenda +HSurveilleStop(Planning_RDV,MAJHSurveille,hNumEnrTous) +Clic sur BTN_Aujourd_hui +| 06/08/2026 | | Isis_BO | 5363 | +| ---------- | --- | ------- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Code des champs +PlanningPositionDateHeure(PLN_AGD, DateDuJour()) +FiltreRessources() +//Mise à jour de bouton +BTN_Jour..Enfoncé = Faux +BTN_Mois..Enfoncé = Faux +BTN_Semaine..Enfoncé = Faux +BTN_Aujourd_hui..Enfoncé = Vrai +Initialisation de BTN_Cald +// Version 1 +// Description +// Bouton en validation +Clic sur BTN_Cald +dDateD est une Date = gdhDateD +dDateD = Ouvre(FEN_ChoixCalendrierTps,dDateD) +gdhDateD..PartieDate = dDateD +PlanningPositionDateHeure(PLN_AGD,gdhDateD) +FiltreRessources() +Clic sur BTN_ChangeMode +Sablier() +si paramSupplementaire.pclObjetAppelant<>Null alors +si paramSupplementaire.sNomIDAppelant="InterventionAjouteRendezVous" alors +FEN_Menu.OuvreOuActive(FI_AgendaPlanning,"Planning",Vrai,DonneParam(DansOnglet,"FI_Agenda", +MoiMême..Nom,maProcMAJObjetRetourFI,"","InterventionAjouteRendezVous",*,paramSupplementaire.pcl +ObjetAppelant)) +sinon si paramSupplementaire.sNomIDAppelant="InterventionRendezVous" +FEN_Menu.OuvreOuActive(FI_AgendaPlanning,"Planning",Vrai,DonneParam(DansOnglet,"FI_Agenda", +MoiMême..Nom,maProcMAJObjetRetourFI,"","InterventionRendezVous",*,paramSupplementaire.pcl +ObjetAppelant)) +fin +sinon +FEN_Menu.OuvreOuActive(FI_AgendaPlanning,"Planning") +fin +Sablier(Faux) +Initialisation de BTN_Colb +// Version 1 +// Description +// Bouton en validation +Clic sur BTN_Colb +//Ouvre(FEN_Choix_Clb_AGD) +stParametreFenInterne est un STParamFenetreAppelante = DonneParam(DansFenetre,"AgendaPlanning",MoiMême. +.Nom,maProcMAJObjetRetourFI,"Collaborateurs","AgendaPlanning",0) +Ouvre(FEN_Choix_Tous_Collaborateurs,stParametreFenInterne) +si stParametreFenInterne.tabIDS..Occurrence > 0 alors +InitChoixColb(stParametreFenInterne.tabIDS) +fin +Clic sur BTN_Imprimer +06/08/2026 Isis_BO 5364 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Code des champs +si pas BTN_Semaine..Enfoncé alors +Erreur("Veuillez choisir le mode semaine/7j ") +sinon +dDateDebutPlanning est une Date = PlanningPositionDateHeure(PLN_AGD,plnDateDébut) +dDateFinPlanning est une Date = PlanningPositionDateHeure(PLN_AGD,plnDateFin) +sListeIdCollabSelect est une chaîne ANSI = TableauVersChaîne(gtabIdColb,";") +pclListeCollabSelect est un PTableCollaborateur dynamique=PTableCollaborateur.gNouvellePresentation +(7,sListeIdCollabSelect) +sIdCollabSelect est une chaîne +sIdCollabSelect=OuvrePopupPosition(FEN_Choix_Impression_Agenda,popCentréFenêtre, +pclListeCollabSelect,DonneParam(DansFenetre,"FI_Agenda",MoiMême..Nom,maProcMAJObjetRetourFI, +"Choix Agenda à imprimer","choixagenda",*,pclListeCollabSelect,Vrai)) +si sIdCollabSelect <> "" alors +tabRdv est un tableau de RendezVous +tabRdv = PlanningListeRendezVous(PLN_AGD,sIdCollabSelect) +si tabRdv..Occurrence > 0 alors +FEN_Menu.AffichageActif = Faux +iAperçu(i100) +iImprimeEtat(ETAT_Agenda_Collaborateur,tabRdv,agzSemaine) +FEN_Menu.AffichageActif = Vrai +sinon +Erreur("Il n'y a aucun rendez-vous à imprimer") +fin +fin +fin +Initialisation de BTN_Jour +procédure interne MAJBtn_Jour() +BTN_Jour..Enfoncé=PlanningMode(PLN_AGD)=plnModeJournée +fin +PLN_AGD..Traitement[trtChangementPériodePlanning]+=MAJBtn_Jour +Clic sur BTN_Jour +PlanningChangeMode(PLN_AGD,plnModeJournée) +//Mise à jour de bouton +BTN_Jour..Enfoncé = Vrai +BTN_Mois..Enfoncé = Faux +BTN_Semaine..Enfoncé = Faux +BTN_Aujourd_hui..Enfoncé = Faux +Initialisation de BTN_Listes +// Version 1 +// Description +// Bouton en validation +Clic sur BTN_Listes +si Ouvre(FEN_Choix_Clb_AGD) alors +FiltreListe() +InitChoixColb() +fin +Initialisation de BTN_Mois +06/08/2026 Isis_BO 5365 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Code des champs +procédure interne MAJBtnMois() +BTN_Mois..Enfoncé=PlanningMode(PLN_AGD)=plnModeMois +fin +PLN_AGD..Traitement[trtChangementPériodePlanning]+=MAJBtnMois +Clic sur BTN_Mois +PlanningPositionDateHeure(PLN_AGD,PlanningPositionDateHeure(PLN_AGD,agDateDébut)) +PlanningChangeMode(PLN_AGD,plnModeMois) +FiltreRessources() +//Mise à jour de bouton +BTN_Jour..Enfoncé = Faux +BTN_Mois..Enfoncé = Vrai +BTN_Semaine..Enfoncé = Faux +BTN_Aujourd_hui..Enfoncé = Faux +Clic sur BTN_PeriodePrecedente +PlanningAffichePériodePrécédente(PLN_AGD) +FiltreRessources() +Clic sur BTN_PeriodeSuivante +PlanningAffichePériodeSuivante(PLN_AGD) +FiltreRessources() +Initialisation de BTN_Semaine +procédure interne MAJBtnSemaine() +si PlanningMode(PLN_AGD)=plnModeSemaine alors +BTN_Semaine..Enfoncé= Vrai +sinon +BTN_Semaine..Enfoncé= Faux +fin +fin +PLN_AGD..Traitement[trtChangementPériodePlanning]+=MAJBtnSemaine +Clic sur BTN_Semaine +PlanningPositionDateHeure(PLN_AGD,PlanningPositionDateHeure(PLN_AGD,agDateDébut)) +PlanningChangeMode(PLN_AGD,plnModeSemaine,7) +FiltreRessources() +//Mise à jour de bouton +BTN_Jour..Enfoncé = Faux +BTN_Mois..Enfoncé = Faux +BTN_Semaine..Enfoncé = Vrai +BTN_Aujourd_hui..Enfoncé = Faux +Sélection d'une ligne de COMBO_ListeColb +InitChoixColb() +Clic sur IMG_Parametrage +si Ouvre(FEN_Parametres_Granularite_RDV) alors +nGranularite est un entier = gpclFicheUtilisateurEnCours:GranulariteRDV() +(ghHDO,ghHFO) = gpclFicheUtilisateurEnCours:HeuresOuvrablesRDV() +(ghHDV,ghHFV) = gpclFicheUtilisateurEnCours:HeuresVisiblesRDV() +si Val(gpclFicheUtilisateurEnCours:GranulariteRDV()) > 0 alors +PLN_AGD..GranularitéDurée = Val(gpclFicheUtilisateurEnCours:GranulariteRDV()) +PLN_AGD..GranularitéDéplacement = Val(gpclFicheUtilisateurEnCours:GranulariteRDV()) +06/08/2026 Isis_BO 5366 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Code des champs +PLN_AGD.HeureOuvrableDébut = ghHDO +PLN_AGD.HeureOuvrableFin = ghHFO +PLN_AGD.HeureAffichée(ghHDV,ghHFV) +fin +FiltreListe() +InitChoixColb() +fin +Clic sur IMG_Pregunta +InitVisitePlanning("FI_Agenda") +Initialisation de LIB_Mois +procédure interne MAJLibMois() +LIB_Mois=PLN_AGD..DébutEtendueVisible +fin +PLN_AGD..Traitement[trtChangementPériodePlanning]+=MAJLibMois +Initialisation de LIB_Semaine +procédure interne MAJLibSemaine() +d est une Date = PLN_AGD..DébutEtendueVisible +LIB_Semaine=ChaîneConstruit("Semaine %1", DateVersNuméroDeSemaine(d)) +fin +PLN_AGD..Traitement[trtChangementPériodePlanning]+=MAJLibSemaine +Initialisation de PLN_AGD +si Val(gpclFicheUtilisateurEnCours:GranulariteRDV()) > 0 alors +PLN_AGD..GranularitéDurée = Val(gpclFicheUtilisateurEnCours:GranulariteRDV()) +PLN_AGD..GranularitéDéplacement = Val(gpclFicheUtilisateurEnCours:GranulariteRDV()) +PLN_AGD.HeureOuvrableDébut = ghHDO +PLN_AGD.HeureOuvrableFin = ghHFO +PLN_AGD.HeureAffichée(ghHDV,ghHFV) +PLN_AGD.LargeurJour = 10 +fin +Avant création du rendez-vous dans PLN_AGD +procédure AvantCréation(rdvCréé est un RendezVous) +renvoyer PlanningFicheRDV(rdvCréé) +Entrée en saisie d'un rendez-vous de PLN_AGD +procédure EntréeEnSaisie(rdvEdité est un RendezVous) +renvoyer Faux +Sortie de saisie du rendez-vous de PLN_AGD +procédure SortieDeSaisie(rdvModifié est un RendezVous) +renvoyer Faux +Sélection d'un rendez-vous de PLN_AGD +procédure Sélection(rdvSélectionné est un RendezVous) +gnIdRvdSel = rdvSélectionné.ID +Déplacement d'un rendez-vous dans PLN_AGD +06/08/2026 Isis_BO 5367 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Code des champs +procédure Déplacement(rdvDéplacé est un RendezVous) +Sablier(Vrai) +ModifRDVDirectementPlanning(rdvDéplacé,Vrai) +Sablier(Faux) +renvoyer Faux +Redimensionnement d'un rendez-vous de PLN_AGD +procédure Redimensionnement(rdvRedimensionné est un RendezVous) +Sablier(Vrai) +ModifRDVDirectementPlanning(rdvRedimensionné,Faux) +Sablier(Faux) +renvoyer Faux +Suppression d'un rendez-vous de PLN_AGD +procédure Suppression(rdvSupprimé est un RendezVous) +SupprimerRdv(Val(rdvSupprimé.ID)) +renvoyer Faux +Réaffectation d'un rendez-vous dans PLN_AGD +procédure DéplacementRessource(rdvRessourceDéplacé est un RendezVous) +Entrée en survol de PLN_AGD +// Bouton gauche relâché = fin de déplacement +gbDeplacementEnCours = Faux +Bouton gauche relâché (WM_LBUTTONUP) de PLN_AGD +// Bouton gauche relâché = fin de déplacement +gbDeplacementEnCours = Faux +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur PLN_AGD +PlanningFicheRDV() +FI_Agenda +Procédures +Procédure locale Filtre +procédure Filtre() +si paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.sNomIDAppelant<>"" _et_ +paramSupplementaire.pclObjetAppelant<>Null alors +selon paramSupplementaire.sNomIDAppelant +cas "InterventionRendezVous" : +FiltreRDVDepuisFicheInter() +06/08/2026 Isis_BO 5368 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Procédures +//CAS "InterventionAjouteRendezVous" +autre cas +PlanningPositionDateHeure(PLN_AGD,gdhDateD) +BTN_Semaine..Enfoncé=Vrai +InitChoixColb() +fin +sinon +PlanningPositionDateHeure(PLN_AGD,gdhDateD) +BTN_Semaine..Enfoncé=Vrai +InitChoixColb() +fin +Procédure locale FiltreListe +procédure FiltreListe() +ListeSupprimeTout(COMBO_ListeColb) +nIdDefaut est un entier sur 8 octets +gstPrefUserAGD = ChargePrefAGD() +pour tout stPref de gstPrefUserAGD.tabListe +si stPref.nId > 0 alors +ListeAjoute(COMBO_ListeColb,stPref.sNom+gValeurMémorisée(stPref.nId)) +si stPref.bParDefaut alors +nIdDefaut = stPref.nId +fin +fin +fin +si nIdDefaut > 0 alors +COMBO_ListeColb = nIdDefaut +fin +Procédure locale FiltreRDVDepuisFicheInter +procédure FiltreRDVDepuisFicheInter() +tabIDS est un tableau d'entiers sur 8 octets +pour tout colb de paramSupplementaire:pclObjetAppelant:m_clModeleCourant:m_clListeCollabGroup +TableauAjoute(tabIDS,colb:m_nPKID) +fin +gdhDateD = paramSupplementaire:pclObjetAppelant:m_clModeleCourant:m_dhDateDebut +gdhDateF = paramSupplementaire:pclObjetAppelant:m_clModeleCourant:m_dhDateFin +PlanningChangeMode(PLN_AGD,plnModeJournée) +PlanningPositionDateHeure(PLN_AGD,gdhDateD) +BTN_Jour..Enfoncé=Vrai +InitChoixColb(tabIDS) +tabRdv est un tableau de RendezVous = PlanningListeRendezVous(PLN_AGD) +indice est un entier = TableauCherche(tabRdv,tcLinéaire,"ID",paramSupplementaire: +pclObjetAppelant:m_clModeleCourant:m_nPKID,1) +si indice > 0 alors +PlanningSelectPlus(PLN_AGD,indice) +ExécuteTraitement(FI_Agenda.PLN_AGD,trtSélectionRdvPlanning,tabRdv[indice]) +fin +Procédure locale FiltreRessources +procédure FiltreRessources() +PLN_AGD..AffichageActif = Faux +// Vide le planning complètement +PlanningSupprimeTout(PLN_AGD) +06/08/2026 Isis_BO 5369 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Procédures +tabRessources est un tableau de ColbRes +FiltreRessourcesPLN(gstChoixColbAgd,tabRessources) +sNomColbest une chaîne ANSI +TableauSupprimeTout(gtabIdColb) +nPosColb est un entier +si gpclListeTOUTCollab <> Null _et_ gpclListeTOUTCollab.m_clTabModele..Occurrence > 0 alors +pour tout stRess de tabRessources +si stRess.bEq alors +pour tout stColbEq de stRess.Colb +si stColbEq.nId > 0 alors +nPosColb = TableauCherche(gpclListeTOUTCollab.m_clTabModele,tcLinéaire,"m_nPKID", +stColbEq.nId ,1) +si nPosColb > 0 alors +sNomColb= gpclListeTOUTCollab:m_clTabModele[nPosColb].NomPrenom+" ("+gpcl +ListeTOUTCollab:m_clTabModele[nPosColb].m_sTrigramme+")"+gLien(stColbEq.nId) +sRessource est une chaîne ANSI = PlanningRessourceNom(stColbEq.nId,sNomColb) +si PlanningAjouteRessource(PLN_AGD, sRessource) alors +TableauAjoute(gtabIdColb,stColbEq.nId) +fin +fin +fin +fin +sinon +si stRess.nIdColb > 0 alors +nPosColb = TableauCherche(gpclListeTOUTCollab.m_clTabModele,tcLinéaire,"m_nPKID", +stRess.nIdColb ,1) +si nPosColb > 0 alors +sNomColb= gpclListeTOUTCollab:m_clTabModele[nPosColb].NomPrenom+" ("+gpcl +ListeTOUTCollab:m_clTabModele[nPosColb].m_sTrigramme+")"+gLien(stRess.nIdColb) +sRessource est une chaîne ANSI = PlanningRessourceNom(stRess.nIdColb,sNomColb) +si PlanningAjouteRessource(PLN_AGD, sRessource) alors +TableauAjoute(gtabIdColb,stRess.nIdColb) +fin +fin +fin +fin +fin +PlanningChargeRDVS(gtabIdColb) +fin +// Réactive l'affichage du champ +PLN_AGD..AffichageActif = Vrai +Procédure locale InitChoixColb +procédure InitChoixColb(tabIDS est un tableau d'entiers sur 8 octets = Null) +gstChoixColbAgd.nId = 0 +gstChoixColbAgd.sNom = "" +gstChoixColbAgd.bAffichageParEq = Faux +TableauSupprimeTout(gstChoixColbAgd.tabColb) +TableauSupprimeTout(gstChoixColbAgd.tabEquipe) +gbDeplacementEnCours = Faux +TableauSupprimeTout(gtaEnroulementRupture) +TableauSupprimeTout(gtaRessourceFille) +gsRessourceAffichée = "" +06/08/2026 Isis_BO 5370 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Procédures +stColb est un STItemChoix +si tabIDS <> Null _et_ tabIDS..Occurrence > 0 alors +pour tout nId de tabIDS +stColb.nId = nId +TableauAjoute(gstChoixColbAgd:tabColb,stColb) +fin +sinon +si COMBO_ListeColb > 0 alors +npos est un entier = TableauCherche(gstPrefUserAGD:tabListe,tcLinéaire,"nID", COMBO_ListeColb) +si npos > 0 alors +gstChoixColbAgd = gstPrefUserAGD:tabListe[npos] +fin +fin +fin +FiltreRessources() +Procédure locale MaJDatesPLN +procédure MaJDatesPLN() +gdhDateD..PartieDate = PlanningPositionDateHeure(PLN_AGD,agDateDébut) +gdhDateF..PartieDate = PlanningPositionDateHeure(PLN_AGD,agDateFin) +gdhDateF..Jour += 1 +gdhDateD..PartieHeure= "000000000" +gdhDateF..PartieHeure= "000000000" +Procédure locale MAJHSurveille +procédure MAJHSurveille(sdFichierDeDonnées est une Source de Données, nNuméroEnregistrement est un +entier, nAction est un entier ) +si HLit(sdFichierDeDonnées, nNuméroEnregistrement) = Faux alors +Erreur("Impossible de lire l'enregistrement notifié comme ajouté :", HErreurInfo()) +retour +fin +nIDStatutNonPlan est un entier sur 8 octets = gpclListeStatutRendezVous. +RechercheEtDonneIdDepuisValeur(99) +MaJDatesPLN() +RDV est un Enregistrement de Planning_RDV = sdFichierDeDonnées +nIdRdv est un entier sur 8 octets = RDV.PL_PKID +nIdColb est un entier sur 8 octets = RDV.PL_IDCollaborateur +//On vérifie si on est concerné par le rendez-vous +tabRdv est un tableau de RendezVous +tabRdv=PlanningListeRendezVous(PLN_AGD) +indice est un entier=TableauCherche(tabRdv,tcLinéaire,"ID",nIdRdv,1) +si indice > 0 _ou_ (TableauCherche(gtabIdColb,tcLinéairePremier,nIdColb) > 0 _et_ RDV.PL_DateDebut >= +gdhDateD _et_ RDV.PL_DateFin <= gdhDateF) alors +selon nAction +cas 1 +// Traite l'enregistrement +tabIdsColb est un tableau d'entiers sur 8 octets +TableauAjoute(tabIdsColb,nIdColb) +PlanningChargeRDVS(tabIdsColb,nIdRdv) +cas 2 +06/08/2026 Isis_BO 5371 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Procédures +si RDV.Archive=1 _et_ indice > 0 alors +PlanningSupprimeRendezVous(PLN_AGD,indice) +sinon +si indice > 0 alors +//Modification de la date d'un rendez-vous , il ne dois plus être visible +si pas ( RDV.PL_DateDebut >= gdhDateD _et_ RDV.PL_DateFin <= gdhDateF) alors +PlanningSupprimeRendezVous(PLN_AGD,indice) +sinon +tabIdsColb est un tableau d'entiers sur 8 octets +TableauAjoute(tabIdsColb,RDV.PL_IDCollaborateur) +sRqSql est une chaîne ANSI = PlanningRqSQL(gstPrefUserAGD,gtabIdColb,gdh +DateD,gdhDateF, nIdRdv) +sdRDVs est une Source de Données +si sRqSql <> "" _et_ pas HExécuteRequêteSQL(sdRDVs,hRequêteDéfaut,sRqSql) +alors +si pas EnModeTest() alors +LogEcrit("Problème avec la requête PlanningChargeRDVS "+RC+ +HErreurInfo(hErrComplet),eErreur) +sinon +Info(HErreurInfo(hErrComplet)) +fin +sinon +pour tout sdRDVs +PlanningRempliObjRDV(tabRdv[indice], sdRDVs,gstPrefUserAGD) +fin +fin +fin +sinon +//Modification de la date d'un rendez-vous +tabIdsColb est un tableau d'entiers sur 8 octets +TableauAjoute(tabIdsColb,nIdColb) +PlanningChargeRDVS(tabIdsColb,nIdRdv) +fin +fin +autre cas +fin +fin +Procédure locale MAJObjetRetourFI +procédure MAJObjetRetourFI(*) +bResultat est un booléen=Vrai +nMode est un entier +sNomChamp est une chaîne +pclObjetest un objet dynamique +bReorga est un booléen = Vrai +bBloc est un booléen +si MesParamètres..Occurrence>0 alors +nMode = MesParamètres[1] +fin +selon nMode +cas 1 : +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 2 +bReorga = Faux +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +06/08/2026 Isis_BO 5372 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Procédures +cas 3 +bReorga = Faux +bBloc = Vrai +fin +si bReorga alors +paramSupplementaire.nIdFenetreAppelante = Null +paramSupplementaire.pclObjetAppelant = Null +paramSupplementaire.sContexteAppelant = Null +paramSupplementaire.sNomFenetreAppelante = Null +paramSupplementaire.sNomIDAppelant = Null +paramSupplementaire.sTitreFenetre = Null +paramSupplementaire.pclObjetAppelant = Null +fin +renvoyer bResultat +Procédure locale PlanningChargeRDVS +procédure PlanningChargeRDVS(tabIdsColb est un tableau d'entiers sur 8 octets, nIdRdv est un entier sur +8 octets = 0) +si tabIdsColb..Occurrence <= 0 alors +renvoyer Faux +fin +MaJDatesPLN() +sRqSql est une chaîne ANSI = PlanningRqSQL(gstPrefUserAGD,gtabIdColb, gdhDateD,gdhDateF, nIdRdv) +si sRqSql = "" alors +renvoyer Faux +fin +sdRDVs est une Source de Données +si pas HExécuteRequêteSQL(sdRDVs,hRequêteDéfaut,sRqSql) alors +si pas EnModeTest() alors +LogEcrit("Problème avec la requête PlanningChargeRDVS "+RC+HErreurInfo(hErrComplet),eErreur) +sinon +Info(HErreurInfo(hErrComplet)) +fin +sinon +pour tout sdRDVs +sIdColb est une chaîne ANSI = sdRDVs.PL_IDCollaborateur +unRdv est un RendezVous +unRdv.Ressource = sIdColb +PlanningRempliObjRDV(unRdv,sdRDVs,gstPrefUserAGD) +WL.PlanningAjouteRendezVous(PLN_AGD, unRdv) +fin +fin +Procédure locale PlanningFicheRDV +procédure PlanningFicheRDV(rdvCréé est un RendezVous = Null) +si PLN_AGD=0 ou rdvCréé <> Null alors +06/08/2026 Isis_BO 5373 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Procédures +nIdColb est un entier sur 8 octets = Val(Remplace(PLN_AGD..RessourceSélectionnée,[ESC,"P","K"],"") +) +dhDateDeb est une DateHeure +dhDateFin est une DateHeure +si nIdColb <= 0 alors +renvoyer Faux +fin +si rdvCréé <> Null alors +dhDateDeb = rdvCréé..DateDébut +dhDateFin = rdvCréé..DateFin +sinon +dhDateDeb = PLN_AGD..DateDébut +dhDateFin = PLN_AGD..DateFin +fin +si paramSupplementaire.sNomIDAppelant="InterventionAjouteRendezVous" alors +paramSupplementaire.pclObjetAppelant.m_bNouveau = Vrai +paramSupplementaire.pclObjetAppelant.m_dhDateDebut = dhDateDeb +paramSupplementaire.pclObjetAppelant.m_dhDateFin = dhDateFin +paramSupplementaire.pclObjetAppelant.m_nCreationUser = gpclFicheUtilisateurEnCours.m_nPKID +paramSupplementaire.pclObjetAppelant.m_nModifUser = gpclFicheUtilisateurEnCours.m_nPKID +paramSupplementaire.pclObjetAppelant.m_nIDCollaborateur = nIdColb +paramSupplementaire.pclObjetAppelant.m_nIDTypeActivite = gnIdTypeInter +Ouvre(FEN_Fiche_RDV_F,paramSupplementaire.pclObjetAppelant,DonneParam(DansChampFI,"FI_Planning" +,MoiMême..Nom,maProcMAJObjetRetourFI,"Création d'un Rendez-vous","Nouveau")) +sinon +clModele est un MRdv() +clPresentationFiche est un PFicheRdv(clModele) +nPos est un entier = TableauCherche(gpclListeUtilisateur:m_clTabModele,tcLinéaire, +"m_nIDCollaborateur",nIdColb,1) +si nPos > 0 _et_ gpclListeUtilisateur:m_clTabModele[nPos].m_nIDSocietePrincipale > 0 alors +clPresentationFiche.m_nIDSociete=gpclListeUtilisateur:m_clTabModele[nPos].m_n +IDSocietePrincipale +fin +clPresentationFiche.m_bNouveau =Vrai +clPresentationFiche.m_dhDateDebut = dhDateDeb +clPresentationFiche.m_dhDateFin = dhDateFin +clPresentationFiche.m_nCreationUser = gpclFicheUtilisateurEnCours.m_nPKID +clPresentationFiche.m_nModifUser = gpclFicheUtilisateurEnCours.m_nPKID +clPresentationFiche.m_nIDCollaborateur = nIdColb +Ouvre(FEN_Fiche_RDV_F,clPresentationFiche,DonneParam(DansChampFI,"FI_Planning",MoiMême..Nom, +maProcMAJObjetRetourFI,"Création d'un Rendez-vous","Nouveau")) +fin +sinon +si gnIdRvdSel > 0 alors +oRDV est un MRdv +si pas HLitRecherchePremier(Planning_RDV,PL_PKID,gnIdRvdSel) alors renvoyer Faux +FichierVersMémoire(oRDV,Planning_RDV) +clPresentationFiche est un PFicheRdv(oRDV) +Ouvre(FEN_Fiche_RDV_F,clPresentationFiche,DonneParam(DansChampFI,"FI_Planning",MoiMême..Nom, +maProcMAJObjetRetourFI,"Modification d'un rendez-vous","modifier")) +fin +fin +renvoyer Faux +Procédure locale PlanningRessourceNom +06/08/2026 Isis_BO 5374 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Procédures +procédure PlanningRessourceNom(nIdColb est un entier sur 8 octets = 0, sRessource est une chaîne ANSI = +"") +sNom est une chaîne = "" +CoulerSoc est un Couleur = Blanc +si gpclListeUtilisateur <> Null alors +nPos est un entier = TableauCherche(gpclListeUtilisateur:m_clTabModele,tcLinéaire, +"m_nIDCollaborateur",nIdColb,1) +si nPos > 0 _et_ gpclListeUtilisateur:m_clTabModele[nPos].m_nIDSocietePrincipale <> 0 alors +sCouleurChaine est une chaîne ANSI= PreferenceCouleurSoc(c_CouleurSociete,gpclListeUtilisateur: +m_clTabModele[nPos].m_nIDSocietePrincipale) +si sCouleurChaine <> "" alors CoulerSoc = sCouleurChaine +// pour éviter la couleur null donc Noir +fin +fin +sNom = gCercle(0, 0, 18, 13, CoulerSoc, CoulerSoc)+RC+gPoliceTaille(6) + gPoliceGras(Vrai) + sRessource ++ gPoliceGras(Faux)// couleur société +sNom =(gPoliceTaille(10)+gPoliceGras(Vrai)+gStylo(CoulerSoc)+"• "+gPoliceTaille(8)+gStylo(Noir)+ +gPoliceGras(Faux) + sRessource)// couleur société +// Le libellé est formaté pour afficher : +//sNom += gCoord(30, 6) + gPoliceTaille(8) + gPoliceGras(Vrai) + sRessource + gPoliceGras(Faux) +//sNom += gCoord(10, 0) + gCercle(0, 0, 18, 13, CoulerSoc, CoulerSoc) +renvoyer sNom +Procédure locale RafraichissementFiche +procédure RafraichissementFiche(stParamSupplementaire est STParamFenetreAppelante) +si stParamSupplementaire.eTypeAppel<>Libre _et_ stParamSupplementaire.sNomIDAppelant<>"" _et_ +stParamSupplementaire.pclObjetAppelant<>Null alors +selon stParamSupplementaire.sNomIDAppelant +cas "InterventionRendezVous" : +paramSupplementaire = stParamSupplementaire +FiltreRDVDepuisFicheInter() +cas "InterventionAjouteRendezVous" +paramSupplementaire = stParamSupplementaire +autre cas +fin +fin +06/08/2026 Isis_BO 5375 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Image +FI_Fiche_Dossier +Image +FI_Fiche_Dossier +Informations générales +FI_Fiche_Dossier +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Fiche_Dossier.wdw +Créé par SMR +Date de création 30/04/2025 10:01:02 +Dernière modification par SMR +Date dernière modification 28/08/2025 14:48:48 +06/08/2026 Isis_BO 5376 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations générales +| Type fenêtre | | Fenêtre libre | | | | +| ------------------------ | ------------ | ----------------------------- | --------- | --------------- | --- | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1468 Hauteur | 639 | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | | | | | +| Style du menu | | Windows 11 | | | | +| 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. | | | | | | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 5377 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations générales +| Déplace souris sur bouton par | Non | | | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | --- | +| Compact. barres outils | Non | | | | | | | +Statistiques de la fenêtre +| | Champ de saisie | | 5 | Libellé | | | 10 | +| --- | --------------------- | --- | --- | --------------- | --- | --- | --- | +| | Bouton | | 10 | Image | | | 1 | +| | Combo | | 2 | Forme | | | 1 | +| | Zone répétée | | 1 | Fenêtre interne | | | 1 | +| | Fenêtre interne | | 1 | Superchamp | | | 1 | +| | Attribut zone répétée | | 1 | | | | | +Nombre d'éléments dans la fenêtre : 34 +FI_Fiche_Dossier +Informations sur les champs +Fenêtre : FI_Fiche_Dossier +Fenêtre interne +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| FI_Fiche_Dossier | | 0 | 0 1468 | 639 | 0 | | | +| ---------------- | --- | --- | ------ | --- | --- | --- | --- | +Fenêtre interne : FI_Fiche_Dossier +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_Dossier | | 0 | 0 1468 | 639 | 0 | Actif | | +| ---------- | --- | --- | ------- | --- | --- | ----- | ---- | +| 06/08/2026 | | | Isis_BO | | | | 5378 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Superchamp : FI_Fiche_Dossier.SC_Dossier +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_CLIENT | 197 | 20 227 | 22 | 0 affichag | | Texte | | Non | | | | | +| ----------------- | --- | ------ | ----- | ---------- | ----- | ----- | --- | --- | --- | --- | --- | --- | +| SAI_DateDossier | 90 | 20 | 97 22 | 0 | Actif | Date | | Non | | | | | +| SAI_NUMERO_DOSSIE | 0 | 20 | 89 22 | 0 affichag | | Texte | | Non | | | | | +| SAI_REFEXTERNE | 705 | 20 132 | 22 | 0 | Actif | Texte | | Non | | | | | +| SAI_TITRE_DOSSIER | 543 | 20 153 | 22 | 0 | Actif | Texte | | Non | | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | --- | +| | | | | | | | | laitini tatE | | | FTR tamroF | | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_CLIENT | | 197 | 6 | 86 | 14 | | 0 | Actif | Gauche | Haut | | | +| ------------------ | --- | ---- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | --- | +| LIB_DATE_DOSSIER | | 90 | 6 | 97 | 14 | | 0 | Actif | Gauche | Haut | | | +| LIB_NUMDOSSIER | | | 0 6 | 80 | 14 | | 0 | Actif | Gauche | Haut | | | +| LIB_REF_EXTERNE | | 705 | 6 | 132 | 14 | | 0 | Actif | Gauche | Haut | | | +| LIB_STATUT_DOSSIER | | 1036 | 6 | 128 | 14 | | 0 | Actif | Gauche | Haut | | | +| LIB_TITRE_DOSSIER | | 543 | 6 | 31 | 14 | | 0 | Actif | Gauche | Haut | | | +| LIB_TYPE_DOSSIER | | 847 | 6 | 180 | 14 | | 0 | Actif | Gauche | Haut | | | +Bouton +notuob epyT +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | --- | --- | +| | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_AJOUTE_CLIENT | | | 463 | 17 | 24 | | 24 | 0 | Actif | | Normal | | +| --------------------------- | --- | --- | ---- | --- | ------- | --- | --- | --- | ----- | --- | ------ | ---- | +| BTN_CADENAS_FERME_DOSSIER | | | 1299 | 11 | 30 | | 30 | 0 | Actif | | Normal | | +| BTN_CADENAS_OUVERT_DOSSIER | | | 1299 | 11 | 30 | | 30 | 0 | Actif | | Normal | | +| BTN_Fermer_fiche_dossier | | | 1438 | 11 | 30 | | 30 | 0 | Actif | | Normal | | +| BTN_LOUPE_CLIENT | | | 430 | 17 | 24 | | 24 | 0 | Actif | | Normal | | +| BTN_MODIF_CLIENT | | | 496 | 17 | 24 | | 24 | 0 | Actif | | Normal | | +| BTN_Nouveau_fiche_dossier | | | 1334 | 11 | 30 | | 30 | 0 | Grisé | | Normal | | +| BTN_Plus_Inter | | | 134 | 48 | 24 | | 24 | 0 | Actif | | Normal | | +| BTN_Supprimer_fiche_dossier | | | 1403 | 11 | 30 | | 30 | 0 | Actif | | Normal | | +| BTN_Valider_fiche_dossier | | | 1369 | 11 | 30 | | 30 | 0 | Actif | | Normal | | +| 06/08/2026 | | | | | Isis_BO | | | | | | | 5379 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › 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_Parametrage | | 1260 | 11 | 30 | 30 | 0 | Actif | | | +| --------------- | --- | ---- | --- | --- | --- | --- | ----- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | | | eriotagilbo eisiaS | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------------ | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | | BAT ehcuoT | | eisias cevA | | | +| --- | ---------- | ---------- | ------- | --- | ------------ | -------- | ----------- | --- | --- | +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | | +| | | ruegraL | ruetuaH | | | sruocraP | | | | +elbisiV +| | | | | | | elbaT | eéirT | | | +| --- | --- | --- | --- | --- | --- | ----- | ----- | --- | --- | +nalP +| COMBO_Statut | 1036 | 20 128 | 22 | 0 | Actif | Variable | | Non | | +| ----------------- | ---- | ------ | --- | --- | ----- | -------- | --- | --- | --- | +| COMBO_TypeDossier | 847 | 20 180 | 22 | 0 | Actif | Variable | | Non | | +Zone répétée +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_Inter | | | 0 | 78 | 158 | 567 | 0 | affichag | | +| -------- | --- | --- | --- | --- | --- | --- | --- | -------- | --- | +Fenêtre interne +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CFI_Inter | | | 158 | 48 | 1313 | 593 | 0 | Actif | | +| --------- | --- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Zone répétée : FI_Fiche_Dossier.SC_Dossier.ZR_Inter +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | laitini tatE | | | FTR tamroF | +| | | X noitisoP | Y noitisoP | | | | | | | +| | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_Id | | 7 | -1 | 50 14 | 0 | Grisé | Droite | Haut | | +| ------------- | --- | --- | ------ | ------- | --- | ----- | ------ | ------ | ---- | +| LIB_Libellé | | 9 | 0 121 | 28 | 0 | Actif | Gauche | Centre | | +| LIB_SousTitre | | 8 | 31 122 | 19 | 0 | Actif | Droite | Haut | | +| 06/08/2026 | | | | Isis_BO | | | | | 5380 | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Forme +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_Soc | | 0 | 0 6 53 | 0 | Actif | | +| ------- | --- | --- | ------ | --- | ----- | --- | +Attribut zone répétée +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +ATT_Lib +Fenêtre : FI_Fiche_Dossier +Fenêtre interne : FI_Fiche_Dossier +| UI par l'utilisateur | Selon fenêtre | | | | | | +| ------------------------- | ---------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Compatible desktop ET mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | 0 | | | | | | +| -------------------------- | ------- | --- | ---- | ---- | --- | ---- | +| Facteur d'agrandissement | 0 | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | +| Ancrage | | | | | | | +| | 1000 | | 1000 | 1000 | | 1000 | +Taux anc. droite Taux anc. bas Taux anc. largeur Taux anc. hauteur +| 06/08/2026 | | | Isis_BO | | | 5381 | +| ---------- | --- | --- | ------- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Fenêtre interne : FI_Fiche_Dossier +Superchamp : FI_Fiche_Dossier.SC_Dossier +Groupe GR_CADENAS_DOSSIER +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 1468 +Hauteur externe 639 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Fiche_Dossier.SC_Dossier +Bouton : FI_Fiche_Dossier.SC_Dossier.BTN_AJOUTE_CLIENT +Groupe GR_MODEOPAQUE_FICHE_DOSSIER,GR_CADENAS_DOSSIER +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 +Retrait gauche 2 +06/08/2026 Isis_BO 5382 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 340 Taux anc. bas 1000 Taux anc. largeur 10 Taux anc. hauteur 1000 +Bouton : FI_Fiche_Dossier.SC_Dossier.BTN_CADENAS_FERME_DOSSIER +Groupe ,GR_MODEOPAQUE_FICHE_DOSSIER +Ordre navigation -1 +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 +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 +06/08/2026 Isis_BO 5383 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › 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 +Type flèche +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_Cadenas_Fermer_rouge.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 : FI_Fiche_Dossier.SC_Dossier.BTN_CADENAS_OUVERT_DOSSIER +Groupe ,GR_MODEOPAQUE_FICHE_DOSSIER +Ordre navigation -1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\Icone_Applicatif_24_24_Cadenas.png +Nb. états image 5 +06/08/2026 Isis_BO 5384 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Nb. états fond 1 +Etirement de l'image de fond +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 : FI_Fiche_Dossier.SC_Dossier.BTN_Fermer_fiche_dossier +Groupe GR_MODEOPAQUE_FICHE_DOSSIER +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_fermer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +06/08/2026 Isis_BO 5385 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : FI_Fiche_Dossier.SC_Dossier.BTN_LOUPE_CLIENT +Groupe GR_MODEOPAQUE_FICHE_DOSSIER,GR_CADENAS_DOSSIER +Ordre navigation -1 +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_chercher.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 330 Taux anc. bas 1000 Taux anc. largeur 10 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5386 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Bouton : FI_Fiche_Dossier.SC_Dossier.BTN_MODIF_CLIENT +Groupe GR_MODEOPAQUE_FICHE_DOSSIER,GR_CADENAS_DOSSIER +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 +Retrait gauche 2 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_modifier.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 350 Taux anc. bas 1000 Taux anc. largeur 10 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5387 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Bouton : FI_Fiche_Dossier.SC_Dossier.BTN_Nouveau_fiche_dossier +Groupe GR_MODEOPAQUE_FICHE_DOSSIER +Ordre navigation 1 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 5388 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Bouton : FI_Fiche_Dossier.SC_Dossier.BTN_Plus_Inter +Groupe GR_MODEOPAQUE_FICHE_DOSSIER,GR_Inter +Ordre navigation 11 +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_ajouter.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5389 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Bouton : FI_Fiche_Dossier.SC_Dossier.BTN_Supprimer_fiche_dossier +Groupe GR_MODEOPAQUE_FICHE_DOSSIER,GR_CADENAS_DOSSIER +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_supprimer.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 5390 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Bouton : FI_Fiche_Dossier.SC_Dossier.BTN_Valider_fiche_dossier +Groupe GR_MODEOPAQUE_FICHE_DOSSIER,GR_CADENAS_DOSSIER +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 +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 +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 +Texte Markdown Non +Mode menu ctx. +Image FR: D:\Projets Windev\Batik\WD30\Dev\WNH18820a_24_5_valider.png +Nb. états image 5 +Nb. états fond 1 +Etirement de l'image de fond +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 +06/08/2026 Isis_BO 5391 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Fenêtre interne : FI_Fiche_Dossier.SC_Dossier.CFI_Inter +Groupe GR_Inter +Ordre navigation 12 +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 +Numéro aide 0 +Ascenseur auto. 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 +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 21 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : FI_Fiche_Dossier.SC_Dossier.COMBO_Statut +Libellé FR: Stat&ut du dossier +Valeur initiale 1 +Groupe GR_CADENAS_DOSSIER +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 128 +Larg. déroulée perso. Non +Hauteur ligne 15 +06/08/2026 Isis_BO 5392 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Retrait gauche 2 +Position X interne 1036 +Largeur interne 128 +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 +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. +Avec recherche Oui +Liaison des données :gclPresentationFicheDossier.m_nIDStatut +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeStatutDossier.m_clTabModele +Rub. affichée :gpclListeStatutDossier.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeStatutDossier.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 700 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5393 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Combo : FI_Fiche_Dossier.SC_Dossier.COMBO_TypeDossier +Libellé FR: &Type de dossier +Groupe GR_CADENAS_DOSSIER,GR_TYPEDOSSIER +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 180 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 847 +Largeur interne 180 +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 +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 +06/08/2026 Isis_BO 5394 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. +Avec recherche Oui +Liaison des données :gclPresentationFicheDossier.m_nIDTypeDossier +Nb. Enreg. Max 0 +Fichier parcouru :gpclListeTypeDossier.m_clTabModele +Filtre 6 +Rub. affichée :gpclListeTypeDossier.m_clTabModele.m_sLibelle +Rub. mémorisée :gpclListeTypeDossier.m_clTabModele.IdentifiantUnique +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 600 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Image : FI_Fiche_Dossier.SC_Dossier.IMG_Parametrage +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\parametresUtilisateur.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +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 Droite +06/08/2026 Isis_BO 5395 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Dossier.SC_Dossier.LIB_CLIENT +Libellé FR: Client +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 +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 +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 +Taux anc. droite 120 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Dossier.SC_Dossier.LIB_DATE_DOSSIER +Libellé FR: Date du dossier +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +06/08/2026 Isis_BO 5396 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 +Taux anc. droite 60 Taux anc. bas 1000 Taux anc. largeur 50 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Dossier.SC_Dossier.LIB_NUMDOSSIER +Libellé FR: Dossier n° +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 +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 +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 +06/08/2026 Isis_BO 5397 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 50 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Dossier.SC_Dossier.LIB_REF_EXTERNE +Libellé FR: Réf. externe +Groupe GR_REFEXTERNE +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 +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 +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 +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Dossier.SC_Dossier.LIB_STATUT_DOSSIER +Libellé FR: Statut du dossier +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 +06/08/2026 Isis_BO 5398 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +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 +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 +Taux anc. droite 700 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Dossier.SC_Dossier.LIB_TITRE_DOSSIER +Libellé FR: Titre +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 +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 +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 +06/08/2026 Isis_BO 5399 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Indice du picto AMI 1 +Ancrage +Taux anc. droite 400 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Dossier.SC_Dossier.LIB_TYPE_DOSSIER +Libellé FR: Type de dossier +Groupe GR_TYPEDOSSIER +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 +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 +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 +Taux anc. droite 600 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5400 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Champ de saisie : FI_Fiche_Dossier.SC_Dossier.SAI_CLIENT +Libellé FR: &Client +Groupe GR_CADENAS_DOSSIER +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 197 +Largeur interne 227 +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: 2 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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 +06/08/2026 Isis_BO 5401 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › 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. +Liaison des données :gclPresentationFicheDossier.FicheClient.FicheEncours.CodeEtNomClient +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 +Taux anc. droite 120 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Champ de saisie : FI_Fiche_Dossier.SC_Dossier.SAI_DateDossier +Libellé FR: Date du dossier +Groupe GR_CADENAS_DOSSIER +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Droite +Position X interne 90 +Largeur interne 97 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 5402 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Format HTML 0 +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: JJ/MM/AAAA +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse +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. +Liaison des données :gclPresentationFicheDossier.m_dDebutDossier +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 +06/08/2026 Isis_BO 5403 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Ancrage +Taux anc. droite 60 Taux anc. bas 1000 Taux anc. largeur 50 Taux anc. hauteur 1000 +Champ de saisie : FI_Fiche_Dossier.SC_Dossier.SAI_NUMERO_DOSSIER +Libellé FR: Dossier N° +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Aucune action +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 0 +Largeur interne 89 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Texte d'indication si vide FR: XXXXXXX +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 +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 +06/08/2026 Isis_BO 5404 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › 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. +Liaison des données :gclPresentationFicheDossier.m_sRefInterne +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 50 Taux anc. hauteur 1000 +Champ de saisie : FI_Fiche_Dossier.SC_Dossier.SAI_REFEXTERNE +Libellé FR: Réf. externe +Groupe GR_CADENAS_DOSSIER,GR_REFEXTERNE +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 705 +06/08/2026 Isis_BO 5405 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Largeur interne 132 +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 +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. +Liaison des données :gclPresentationFicheDossier.m_sRefExterne +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 +06/08/2026 Isis_BO 5406 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome Couleur monochrome du style +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Champ de saisie : FI_Fiche_Dossier.SC_Dossier.SAI_TITRE_DOSSIER +Libellé FR: Titre +Groupe GR_CADENAS_DOSSIER +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu +Cadrage horz. Gauche +Position X interne 543 +Largeur interne 153 +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 +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 +06/08/2026 Isis_BO 5407 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +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. +Liaison des données :gclPresentationFicheDossier.m_sTitre +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 +Taux anc. droite 400 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Zone répétée : FI_Fiche_Dossier.SC_Dossier.ZR_Inter +Libellé FR: &Zone répétée +Groupe GR_Inter +Ordre navigation 13 +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 +Hauteur ligne max. 0 +Hauteur ligne 53 +06/08/2026 Isis_BO 5408 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Largeur colonne 152 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Non +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 +06/08/2026 Isis_BO 5409 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Zone répétée : FI_Fiche_Dossier.SC_Dossier.ZR_Inter +Attribut zone répétée : FI_Fiche_Dossier.SC_Dossier.ZR_Inter.ATT_Lib (1) +Champ associé LIB_Libellé +Propriété associée 1 +Forme : FI_Fiche_Dossier.SC_Dossier.ZR_Inter.FRM_Soc +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Dossier.SC_Dossier.ZR_Inter.LIB_Id +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 +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 Numérique +Masque saisie FR: 99 999 999 999 999 999 999 +Mode ellipse +Unicode Non +06/08/2026 Isis_BO 5410 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +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 +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Fiche_Dossier.SC_Dossier.ZR_Inter.LIB_Libellé +Libellé FR: Libellé +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5411 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Informations sur les champs +Libellé : FI_Fiche_Dossier.SC_Dossier.ZR_Inter.LIB_SousTitre +Libellé FR: Libellé +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_Fiche_Dossier +Code des champs +Déclarations globales de FI_Fiche_Dossier +procédure FI_Fiche_Dossier(gclPresentationFicheDossier est un PFicheDossier dynamique= +Null, paramSupplementaire est un STParamFenetreAppelante=Null) +maProcMAJObjetRetourFI est une procédure = MAJObjetRetourFI +gnDelai est un entier +gbAppelProcFenAppelante est un booléen +gbDroitSup est un booléen +si gpclFicheUtilisateurEnCours <> Null _et_ gpclFicheUtilisateurEnCours.ListeAccesEtDroit <> Null alors +06/08/2026 Isis_BO 5412 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Code des champs +nI est un entier = TableauCherche(gpclFicheUtilisateurEnCours.ListeAccesEtDroit. +m_clTabModele,tcLinéaire,"m_clModule:m_sValeur","7",1) +si nI > 0 alors +gbDroitSup = gpclFicheUtilisateurEnCours.ListeAccesEtDroit.m_clTabModele[nI]:m_bAcces +fin +fin +constante +cPlanFiche = 2 +cPlanDossier = 0 +fin +Fin d'initialisation de FI_Fiche_Dossier +//InitFiche(gclPresentationFicheDossier) +//// Pour tester la fenetre seule +// gpclpresentationlistedossier +est un ptabledossier dynamique = ptabledossier.gnouvellepresentation(5,281474976716369) +// gpclpresentationlistedossier:p_clcourant = gpclpresentationlistedossier:m_cltabmodele[1] +// gclpresentationfichedossier <-gpclpresentationlistedossier.modifier() +// zonerépétéesupprimetout(zr_inter) +// changefenêtresource(cfi_inter,fi_vierge) +// pfichedossier.glisteintervention(gclpresentationfichedossier) +// +pfichedossier.gficheclient(gclpresentationfichedossier,gclpresentationfichedossier:ficheclient,gclprese +ntationfichedossier:m_nidclient) +// gr_refexterne..visible = parametrelit("avec_refext_dossier") +// gr_typedossier..visible = parametrelit("avec_typedos_dossier") +// +// +// ntotalinterv est un entier += gclpresentationfichedossier:listeintervention:m_cltabmodele..occurrence +// bImmediat est un booléen +// b est un entier +// +// pour i = 1 _à_ ntotalinterv +// si gclpresentationfichedossier:listeintervention:m_cltabmodele[i].m_npkid > 0 alors +// b = zonerépétéeajouteligne(zr_inter) +// zr_inter[b].lib_libellé += gclpresentationfichedossier:listeintervention:m_cltabmodele[i].m_srefinterne +// zr_inter[b].lib_id += gclpresentationfichedossier:listeintervention:m_cltabmodele[i].m_npkid +// zr_inter[b].frm_soc..couleurfond = vertclair +// fin +// +// zr_inter = 0 +// fin +// si gclpresentationfichedossier<>null _et_ gclpresentationfichedossier est pfichedossier alors +// sourceversecran("","gclpresentationfichedossier") +// btn_modif_client..grisé = gclpresentationfichedossier:m_nidclient=0 +// //rafraichissementfiche(paramsupplementaire) +// fin +// +// btn_supprimer_fiche_dossier..grisé = gbdroitsup = vrai ? faux sinon vrai +Demande de mise à jour de l'affichage de FI_Fiche_Dossier +si gclPresentationFicheDossier<>Null _et_ gclPresentationFicheDossier:FicheClient <> Null _et_ +gclPresentationFicheDossier est PFicheDossier alors +SourceVersEcran("","gclPresentationFicheDossier") +BTN_MODIF_CLIENT..Grisé = gclPresentationFicheDossier:m_nIDClient=0 +//RafraichissementFiche(paramSupplementaire) +fin +06/08/2026 Isis_BO 5413 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Code des champs +BTN_Supprimer_fiche_dossier..Grisé = gbDroitSup = Vrai ? Faux sinon Vrai +Fermeture de FI_Fiche_Dossier +DeblocEnregistrement(gclPresentationFicheDossier,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_DOSSIER,BTN_CADENAS_OUVERT_DOSSIER,GR_CADENAS_DOSSIER,SC_Dossier,Faux,*,pas gb +AppelProcFenAppelante) +Clic sur BTN_AJOUTE_CLIENT ( SC_Dossier ) +AppelSousFenetre(MoiMême..Nom) +Clic sur BTN_CADENAS_FERME_DOSSIER ( SC_Dossier ) +BlocEnregistrement(gclPresentationFicheDossier,ActiveTimer,BTN_CADENAS_FERME_DOSSIER,BTN_ +CADENAS_OUVERT_DOSSIER,GR_CADENAS_DOSSIER,SC_Dossier) +Clic sur BTN_CADENAS_OUVERT_DOSSIER ( SC_Dossier ) +DeblocEnregistrement(gclPresentationFicheDossier,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_DOSSIER,BTN_CADENAS_OUVERT_DOSSIER,GR_CADENAS_DOSSIER,SC_Dossier,Faux) +Clic sur BTN_Fermer_fiche_dossier ( SC_Dossier ) +si paramSupplementaire.eTypeAppel=DansChampFI alors +// +SI paramSupplementaire.eTypeAppel<>Libre _ET_ paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,Null) +AppelProcFenetreAppelante(gclPresentationFicheDossier,paramSupplementaire,Faux,Vrai) +gbAppelProcFenAppelante = Vrai +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon +FermeVoletEtActiveLePrecedent(VoletDuChamp(SC_Dossier)) +fin +Clic sur BTN_LOUPE_CLIENT ( SC_Dossier ) +AppelSousFenetre(MoiMême..Nom) +Clic sur BTN_MODIF_CLIENT ( SC_Dossier ) +AppelSousFenetre(MoiMême..Nom) +Clic sur BTN_Nouveau_fiche_dossier ( SC_Dossier ) +pclPresentationFiche est un PFicheDossier dynamique +si paramSupplementaire.eTypeAppel=DansOnglet _et_ paramSupplementaire.sNomIDAppelant="ListeDossier" +alors +pclPresentationFiche <-paramSupplementaire.pclObjetAppelant.Nouveau() +FEN_Menu.OuvreOuActive(FI_Fiche_Dossier,"Fiche dossier",*,pclPresentationFiche,DonneParam( +paramSupplementaire)) +sinon +//pclPresentationFiche <-PFicheDossier.gNouvellePresentation() +//FEN_Menu.OuvreOuActive(FI_Fiche_Dossier,"Fiche dossier",*,pclPresentationFiche) +06/08/2026 Isis_BO 5414 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Code des champs +//FEN_Menu.OuvreOuActiveFenetre(51) +ExécuteTraitement(FEN_Menu.OuvreOuActiveFenetre,trtProcédure,51) +fin +Clic sur BTN_Plus_Inter ( SC_Dossier ) +CreationInter() +Clic sur BTN_Supprimer_fiche_dossier ( SC_Dossier ) +SuppresionDossier() +Clic sur BTN_Valider_fiche_dossier ( SC_Dossier ) +si paramSupplementaire.eTypeAppel=DansChampFI _et_ EnregistrerFiche() alors +//SI EnregistrerFiche() _et_ paramSupplementaire.eTypeAppel<>Libre _ET_ +paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheDossie +r) +AppelProcFenetreAppelante(gclPresentationFicheDossier,paramSupplementaire,Vrai,Vrai) +gbAppelProcFenAppelante = Vrai +ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +sinon si paramSupplementaire.eTypeAppel=DansOnglet _et_ EnregistrerFiche() alors +// +SI EnregistrerFiche() _ET_ paramSupplementaire.eTypeAppel<>Libre _ET_ +paramSupplementaire.gProcMAJRetour<> Null ALORS +paramSupplementaire.gProcMAJRetour(paramSupplementaire.sContexteAppelant,gclPresentationFicheDossier) +AppelProcFenetreAppelante(gclPresentationFicheDossier,paramSupplementaire,Vrai,Vrai) +gbAppelProcFenAppelante = Vrai +FermeVoletEtActiveLePrecedent(VoletDuChamp(SC_Dossier)) +sinon +EnregistrerFiche() +fin +Sélection d'une ligne de COMBO_Statut ( SC_Dossier ) +si gnIdDossierAnnule = COMBO_Statut..ValeurMémorisée alors +si gbDroitSup alors +si OuiNon( +"Êtes-vous sûr de vouloir annuler le Dossier ? Le dossier ne sera plus visible dans les +recherches. " +) = Oui alors +ChampVersSource() +EnregistrerFiche() +sinon +COMBO_Statut = gclPresentationFicheDossier.m_nIDStatut +fin +sinon +Info("Vous n'avez pas les droits nécessaires pour annuler le dossier") +COMBO_Statut = gclPresentationFicheDossier.m_nIDStatut +fin +06/08/2026 Isis_BO 5415 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Code des champs +sinon +ChampVersSource() +EnregistrerFiche() +fin +Sortie de COMBO_TypeDossier ( SC_Dossier ) +//SI MoiMême..ValeurAffichée<>"" ALORS +//ChampVersSource() +EnregistrerFiche() +//FIN +Sélection d'une ligne de COMBO_TypeDossier ( SC_Dossier ) +ChampVersSource() +Clic sur IMG_Parametrage ( SC_Dossier ) +si Ouvre(FEN_Parametres_Dossier) alors +nPos est un entier = ZR_Inter +si nPos > 0 _et_ ZR_Inter[nPos].LIB_Id > 0 alors +paramSupplementaire.sNomIDAppelant = ZR_Inter[nPos].LIB_Id +InitFiche(gclPresentationFicheDossier,paramSupplementaire) +fin +fin +Sortie de SAI_DateDossier ( SC_Dossier ) +//SI MoiMême..ValeurAffichée<>"" ALORS +EnregistrerFiche() +//FIN +A chaque modification de SAI_DateDossier ( SC_Dossier ) +ChampVersSource() +Sortie de SAI_REFEXTERNE ( SC_Dossier ) +//SI MoiMême..ValeurAffichée<>"" ALORS +//ChampVersSource() +EnregistrerFiche() +//FIN +A chaque modification de SAI_REFEXTERNE ( SC_Dossier ) +ChampVersSource() +Sortie de SAI_TITRE_DOSSIER ( SC_Dossier ) +// +//SI MoiMême..ValeurAffichée<>"" ALORS +EnregistrerFiche() +//FIN +A chaque modification de SAI_TITRE_DOSSIER ( SC_Dossier ) +06/08/2026 Isis_BO 5416 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Code des champs +ChampVersSource() +Touche système appuyée (WM_SYSCHAR) de SAI_TITRE_DOSSIER ( SC_Dossier ) +//SI ToucheEnfoncée(VK_DOWN) ALORS +// SourceVersEcran("",ChampAlias(MoiMême)) +//FIN +Sélection d'une ligne de ZR_Inter +AfficheInter(ZR_Inter) +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur ZR_Inter +AfficheInter(ZR_Inter) +Initialisation de LIB_Id ( ZR_Inter ) +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_Libellé ( ZR_Inter ) +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_SousTitre ( ZR_Inter ) +// Version 1 +// Description +// Libellé simple +FI_Fiche_Dossier +Procédures +Procédure locale ActiveTimer +// Résumé : +// Syntaxe : +//ActiveTimer ( est entier) +// +// Paramètres : +// nIdTimer (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +06/08/2026 Isis_BO 5417 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Procédures +// Indiquez ici un exemple d'utilisation. +// +procédure ActiveTimer(local nIdTimer est un entier) +TimerSys(TimeOutDossier,100,nIdTimer) +Procédure locale AfficheInter +procédure AfficheInter(nPos est un entier) +si nPos > 0 _et_ nPos <= ZR_Inter..Occurrence _et_ ZR_Inter[nPos].LIB_Id > 0 alors +Sablier(Vrai) +ChangeFenêtreSource(CFI_Inter,FI_Vierge) +n est un entier = TableauCherche(gclPresentationFicheDossier:ListeIntervention:m_clTabModele, +tcLinéairePremier,"m_nPKID",ZR_Inter[nPos].LIB_Id) +si n <= 0 alors +renvoyer Faux +fin +gclPresentationFicheDossier:ListeIntervention:p_clCourant = gclPresentationFicheDossier: +ListeIntervention:m_clTabModele[n] +clPresentationFiche est un PFicheIntervention<-gclPresentationFicheDossier:ListeIntervention. +Modifier() +ChangeFenêtreSource(CFI_Inter,FI_Fiche_Intervention) +stParametreFenInterne est un STParamFenetreAppelante +stParametreFenInterne.eTypeAppel = DansChampFI +stParametreFenInterne.sNomFenetreAppelante = FI_Fiche_Dossier..Nom +stParametreFenInterne.sContexteAppelant = "DossierInterImmediat" +stParametreFenInterne.gProcMAJRetour = maProcMAJObjetRetourFI +stParametreFenInterne.sTitreFenetre = "Intervention" +stParametreFenInterne.sNomIDAppelant = "" +stParametreFenInterne.nIdFenetreAppelante = 0 +stParametreFenInterne.pclObjetAppelant = gclPresentationFicheDossier +stParametreFenInterne.bMultiSelect = Faux +stParametreFenInterne.bRafraichit = Faux +stParametreFenInterne.nIdRenvoye = 0 +ExécuteTraitement("CFI_Inter.InitFiche",trtProcédure,clPresentationFiche,stParametreFenInterne) +Sablier(fauxToutSablier) +sinon +renvoyer Faux +fin +Procédure locale AppelSousFenetre +procédure AppelSousFenetre(local sNomChamp est une chaîne) +//Initialise la variable à passer en paramètre avec les valeurs communes +stParam est un STParamFenetreAppelante = DonneParam(DansChampFI,"FI_Fiche_Dossier",sNomChamp, +maProcMAJObjetRetourFI) +selon sNomChamp +cas BTN_LOUPE_CLIENT..Nom +stParam.sTitreFenetre = "Sélectionnez le client" +stParam.pclObjetAppelant = gclPresentationFicheDossier +//ChangeFenêtreSource(CFI_Fiche,FI_Liste_Client,*,stParam) +Ouvre(FEN_ChoixFenetreInterne,"FI_Liste_Client",stParam) +cas BTN_MODIF_CLIENT..Nom +06/08/2026 Isis_BO 5418 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Procédures +stParam.sNomIDAppelant = "ModifClientDossier" +stParam.pclObjetAppelant = gclPresentationFicheDossier:FicheClient +Ouvre(FEN_ChoixFenetreInterne,"FI_Fiche_Client",stParam) +//ChangeFenêtreSource(CFI_Fiche,FI_Fiche_Client,gclPresentationFicheDossier:FicheClient,stParam +) +cas BTN_AJOUTE_CLIENT..Nom +stParam.sNomIDAppelant = "AddClientDossier" +stParam.pclObjetAppelant = PFicheClient.gNouvellePresentation() +Ouvre(FEN_ChoixFenetreInterne,"FI_Fiche_Client",stParam) +//ChangeFenêtreSource(CFI_Fiche,FI_Fiche_Client,PFicheClient.gNouvellePresentation(),stParam) +fin +//SELON sNomChamp +// CAS BTN_LOUPE_CLIENT..Nom, BTN_MODIF_CLIENT..Nom, BTN_AJOUTE_CLIENT..Nom +// FI_Fiche_Dossier..Plan = cPlanFiche +//FIN +Procédure locale ControlePresenceClientDansDoc +// Résumé : +// Syntaxe : +//[ = ] ControlePresenceClientDansDoc ( est entier sur 8 octets, est +entier sur 8 octets) +// +// Paramètres : +// nIDDepart (entier sur 8 octets) : +// nIDArrive (entier sur 8 octets) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ControlePresenceClientDansDoc(nIDDepart est un entier sur 8 octets,nIDArrive est un entier +sur 8 octets) +bTrouve est un booléen +nTotalInterv est un entier +nTotalInterv = gclPresentationFicheDossier:ListeIntervention:m_clTabModele..Occurrence +pour i = 1 _à_ nTotalInterv +gclPresentationFicheDossier:ListeIntervention.p_clCourant = gclPresentationFicheDossier: +ListeIntervention:m_clTabModele[i] +clFicheInterv est un PFicheIntervention <-gclPresentationFicheDossier:ListeIntervention +.Modifier() +//Il se peut que la liste des document ne soit pas chargées à cause du chargement différé +si clFicheInterv:ListeDocument = Null alors PFicheIntervention.gListeDocument(clFicheInterv) +bTrouve = clFicheInterv:ListeDocument:p_nTotal>0 _et_ Contient(DonneFormatRepertoireDoc(), +"#[CL_PKID]") _et_ nIDDepart<>nIDArrive +si bTrouve alors break +fin +renvoyer bTrouve +Procédure locale CreationInter +06/08/2026 Isis_BO 5419 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Procédures +procédure CreationInter() +nIdIntervention est un entier sur 8 octets = 0 +si gclPresentationFicheDossier.FicheClient.m_bBlocageCciale alors +Info( +"Vous ne pouvez pas créer de nouvelle intervention car le client est bloqué pour la raison suivante +:" +,gclPresentationFicheDossier.FicheClient.m_sRaisonBlocage, "" ) +renvoyer Faux +sinon +bResultat est un booléen = EnregistrerFiche() +nTotalInterv est un entier = gclPresentationFicheDossier:ListeIntervention:m_clTabModele.. +Occurrence +clPresentationFiche est un PFicheIntervention <- gclPresentationFicheDossier:ListeIntervention: +Nouveau() +si clPresentationFiche:m_sRefInterne="" alors +nCpt est un entier +pour i = 1 _à_ nTotalInterv +si Val(ExtraitChaîne(gclPresentationFicheDossier:ListeIntervention:m_clTabModele[i]: +m_sRefInterne,1,"-",DepuisFin))>nCpt alors +nCpt = Val(ExtraitChaîne(gclPresentationFicheDossier:ListeIntervention: +m_clTabModele[i]:m_sRefInterne,1,"-",DepuisFin)) +fin +fin +clPresentationFiche:m_sRefInterne = gclPresentationFicheDossier:m_sRefInterne+"-"+(nCpt+1) +//(gclPresentationFicheDossier:ListeIntervention.p_nTotal+1) +clPresentationFiche:m_nIDClient = gclPresentationFicheDossier:m_nIDClient +clPresentationFiche:m_nIDDossier = gclPresentationFicheDossier:m_nPKID +si gpclFicheUtilisateurEnCours:m_nIDSocietePrincipale > 0 alors +clPresentationFiche:m_nIDSociete = gpclFicheUtilisateurEnCours:m_nIDSocietePrincipale +sinon +pclListeSociete est un PTableSociete dynamique +pclListeSociete = PTableSociete.gNouvellePresentation(1,gpclFicheUtilisateurEnCours: +m_nPKID) +pour tout pclSoc de pclListeSociete:m_clTabModele +clPresentationFiche:m_nIDSociete = pclSoc.m_nPKID +sortir +fin +fin +clErreur est un CErreur +si clPresentationFiche:bOK(clErreur) alors +paramSupplementaire.nIdFenetreAppelante = clPresentationFiche.m_nPKID +InitFiche(gclPresentationFicheDossier,paramSupplementaire) +fin +pour tout Interv de gclPresentationFicheDossier:ListeIntervention:m_clTabModele +si clPresentationFiche:m_sRefInterne = Interv:m_sRefInterne alors +nIdIntervention = Interv.m_nPKID +fin +fin +fin +fin +Procédure locale DesactiveTimer +// Résumé : +06/08/2026 Isis_BO 5420 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Procédures +// Syntaxe : +//DesactiveTimer ( est entier) +// +// Paramètres : +// nIdTimer (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DesactiveTimer(local nIdTimer est un entier) +FinTimerSys(nIdTimer) +Procédure locale DonneFocusChamp +procédure DonneFocusChamp() +Procédure locale DupliquerIntervention +// Résumé : +// Syntaxe : +//DupliquerIntervention ( est PFicheIntervention, est +STParamFenetreAppelante) +// +// Paramètres : +// clFicheIntervSource (PFicheIntervention) : +// stParamIntervSource (STParamFenetreAppelante) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// clFicheIntervSource (PFicheIntervention) : +// paramIntervSource (STParamFenetreAppelante) : +procédure DupliquerIntervention(clFicheIntervSource est un PFicheIntervention,stParamIntervSource est +un STParamFenetreAppelante) +clPresentationFiche est un PFicheIntervention <- stParamIntervSource.pclObjetAppelant:ListeIntervention +:nouveau() +//clPresentationFiche<= gclPresentationFicheInterv +si clPresentationFiche:m_sRefInterne="" alors +nCpt est un entier +pour i = 1 _à_ stParamIntervSource.pclObjetAppelant:ListeIntervention:m_clTabModele.Occurrence() +si Val(ExtraitChaîne(stParamIntervSource.pclObjetAppelant:ListeIntervention:m_clTabModele[i]: +m_sRefInterne,1,"-",DepuisFin))>nCpt alors +nCpt = Val(ExtraitChaîne(stParamIntervSource.pclObjetAppelant:ListeIntervention: +m_clTabModele[i]:m_sRefInterne,1,"-",DepuisFin)) +fin +fin +clPresentationFiche:m_sRefInterne = ExtraitChaîne(stParamIntervSource. +pclObjetAppelant:m_sRefInterne,1,"-")+"-"+(nCpt+1) +//(gclPresentationFicheDossier:ListeIntervention.p_nTotal+1) +clPresentationFiche:m_nIDEtatIntervention = clFicheIntervSource:m_nIDEtatIntervention +clPresentationFiche:m_nIDDossier = clFicheIntervSource:m_nIDDossier +clPresentationFiche:m_nIDSociete = clFicheIntervSource:m_nIDSociete +clPresentationFiche:m_nIDLieu = clFicheIntervSource:m_nIDLieu +clPresentationFiche:m_nIDClient = clFicheIntervSource:m_nIDClient +clPresentationFiche:m_nIDTypeIntervention = clFicheIntervSource:m_nIDTypeIntervention +clPresentationFiche:m_bAttestationTVAPresente = clFicheIntervSource:m_bAttestationTVAPresente +clPresentationFiche:m_sDescription = clFicheIntervSource:m_sDescription +06/08/2026 Isis_BO 5421 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Procédures +clPresentationFiche:m_sNoteInterne = clFicheIntervSource:m_sNoteInterne +clPresentationFiche:m_nIDSuiviPar = clFicheIntervSource:m_nIDSuiviPar +clPresentationFiche:m_sTitre = clFicheIntervSource:m_sTitre +clPresentationFiche:m_sRefExterne = clFicheIntervSource:m_sRefExterne +clPresentationFiche:m_dDateIntervention = DateSys() +clPresentationFiche:m_rDureePrevue = clFicheIntervSource:m_rDureePrevue +//clPresentationFiche:m_sNumDevis = //clFicheIntervSource:m_sNumDevis +//clPresentationFiche:m_dDateDevis = //clFicheIntervSource:m_dDateDevis +//clPresentationFiche:m_sNumFacture = clFicheIntervSource:m_sNumFacture +//clPresentationFiche:m_dDateFacture = clFicheIntervSource:m_dDateFacture +clPresentationFiche:FicheClient = clFicheIntervSource:FicheClient +clPresentationFiche:FicheLieu = clFicheIntervSource:FicheLieu +clPresentationFiche:FicheSociete = clFicheIntervSource:FicheSociete +clPresentationFiche:FicheSuiveur = clFicheIntervSource:FicheSuiveur +clErreur est un CErreur +si clPresentationFiche.bOK(clErreur) alors//SI clPresentationFiche.bOK(clErreur,vrai) ALORS +//Création des variables +PFicheIntervention.gListeContactClient(clPresentationFiche) +PFicheIntervention.gListeContactLieu(clPresentationFiche) +PFicheIntervention.gListeCollaborateur(clPresentationFiche) +//Chargement des variables +PFicheIntervention.gListeContactClient(clPresentationFiche,clFicheIntervSource: +ListeContactClient) +PFicheIntervention.gListeContactLieu(clPresentationFiche,clFicheIntervSource:ListeContactLieu) +PFicheIntervention.gListeCollaborateur(clPresentationFiche,clFicheIntervSource: +ListeCollaborateur) +paramSupplementaire.nIdFenetreAppelante = clPresentationFiche.m_nPKID +InitFiche(gclPresentationFicheDossier,paramSupplementaire) +fin +fin +//OuvreOuActiveOnglet(FI_Fiche_Intervention,DonneLibOnglet(clPresentationFiche),*,clPresentationFiche,D +onneParam(DansChampFI,FI_Fiche_Dossier..Nom,MoiMême..Nom,maProcMAJObjetRetourFI,"Intervention","Dossier +InterImmediat",*,stParamIntervSource.pclObjetAppe +lant,Faux)) +Procédure locale EnregistrerFiche +procédure EnregistrerFiche() +renvoyer ValideFicheSimple(gclPresentationFicheDossier,paramSupplementaire,ActiveTimer,BTN_ +CADENAS_FERME_DOSSIER,BTN_CADENAS_OUVERT_DOSSIER,GR_CADENAS_DOSSIER,SC_Dossier) +Procédure locale FermeFicheInter +procédure FermeFicheInter() +//On initialise l'objet car les interventions on peut être modifiés ou supprimées +ChangeFenêtreSource(CFI_Inter,FI_Vierge) +nPos est un entier = ZR_Inter +si nPos > 0 _et_ ZR_Inter[nPos].LIB_Id > 0 alors +nPos -= 1 +si nPos > 0 _et_ nPos <= ZR_Inter..Occurrence alors +ZoneRépétéeSelectPlus(ZR_Inter,nPos) +paramSupplementaire.nIdFenetreAppelante = ZR_Inter[nPos].LIB_Id +InitFiche(gclPresentationFicheDossier,paramSupplementaire) +sinon +nPos += 2 +si nPos <= ZR_Inter..Occurrence alors +06/08/2026 Isis_BO 5422 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Procédures +ZoneRépétéeSelectPlus(ZR_Inter,nPos) +paramSupplementaire.nIdFenetreAppelante = ZR_Inter[nPos].LIB_Id +InitFiche(gclPresentationFicheDossier,paramSupplementaire) +sinon si ZR_Inter..Occurrence = 1 alors +InitFiche(gclPresentationFicheDossier) +fin +fin +fin +Procédure locale InitFiche +// Résumé : +// Syntaxe : +//InitFiche ( [ est PFicheDossier dynamique [, est +STParamFenetreAppelante]]) +// +// Paramètres : +// gclFicheDossier (PFicheDossier dynamique - valeur par défaut=0) : < +indiquez ici le rôle de gclFicheDossier> +// paramFiche (STParamFenetreAppelante - valeur par défaut=0) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure InitFiche(gclFicheDossier est un PFicheDossier dynamique=Null, paramFiche est un +STParamFenetreAppelante=Null) +si ZR_Inter..Occurrence > 0 alors +quand exception dans +ExécuteTraitement("FI_Fiche_Dossier.CFI_Inter.RafraichissementFiche",trtProcédure,paramFiche) +faire +// rien possiblement il n'existe aucune fiche +fin +fin +ZoneRépétéeSupprimeTout(ZR_Inter) +ChangeFenêtreSource(CFI_Inter,FI_Vierge) +si gclFicheDossier<>Null alors +gclPresentationFicheDossier<-gclFicheDossier +si paramFiche <> Null alors +paramSupplementaire = paramFiche +fin +si DonneValeurTimeOutObjet(gclPresentationFicheDossier) >-1 alors +Evénement(SurActivite, "*.*", WM_LBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_RBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_MBUTTONDOWN) +Evénement(SurActivite, "*.*", WM_MOUSEMOVE) +Evénement(SurActivite, "*.*", WM_KEYDOWN) +fin +local +// si la présentation n'a pas été passée en paramètre (utile pour le test de la fenêtre) +si gclPresentationFicheDossier=Null alors +gclPresentationFicheDossier=PFicheDossier.gNouvellePresentation() +fin +06/08/2026 Isis_BO 5423 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Procédures +gnDelai = DonneValeurTimeOutObjet(gclPresentationFicheDossier) +PFicheDossier.gListeIntervention(gclPresentationFicheDossier) +PFicheDossier.gFicheClient(gclPresentationFicheDossier,gclPresentationFicheDossier:FicheClient, +gclPresentationFicheDossier:m_nIDClient) +BlocEnregistrement(gclPresentationFicheDossier,ActiveTimer,BTN_CADENAS_FERME_DOSSIER,BTN_ +CADENAS_OUVERT_DOSSIER,GR_CADENAS_DOSSIER,SC_Dossier) +GR_REFEXTERNE..Visible = ParametreLit("AVEC_REFEXT_DOSSIER") +GR_TYPEDOSSIER..Visible = ParametreLit("AVEC_TYPEDOS_DOSSIER") +TrieOngletInter(gclPresentationFicheDossier:ListeIntervention:m_clTabModele) +nTotalInterv est un entier = gclPresentationFicheDossier:ListeIntervention:m_clTabModele.. +Occurrence +b,nPosInter sont des entiers +sCouleurSoc est une chaîne ANSI +pour i = 1 _à_ nTotalInterv +si gclPresentationFicheDossier:ListeIntervention:m_clTabModele[i].m_nPKID > 0 alors +b = ZoneRépétéeAjouteLigne(ZR_Inter) +sCouleurSoc = PreferenceOngletInter1(c_CouleurSociete,gclPresentationFicheDossier +:ListeIntervention:m_clTabModele[i]) +ZR_Inter[b].LIB_Libellé = DonneLibOnglet1(gclPresentationFicheDossier: +ListeIntervention:m_clTabModele[i]) +ZR_Inter[b].LIB_SousTitre = DonneSousTitreInter(gclPresentationFicheDossier: +ListeIntervention:m_clTabModele[i]) +ZR_Inter[b].LIB_Id = gclPresentationFicheDossier:ListeIntervention:m_clTabModele[i] +.m_nPKID +ZR_Inter[b].FRM_Soc..CouleurFond = sCouleurSoc +si paramSupplementaire <> Null ... +_et_ (paramSupplementaire.nIdFenetreAppelante > 0 _et_ paramSupplementaire.n +IdFenetreAppelante = gclPresentationFicheDossier:ListeIntervention:m_clTabModele[i]. +m_nPKID)... +_ou_ (paramSupplementaire.sNomIDAppelant <> "" _et_ Val(paramSupplementaire.s +NomIDAppelant) = gclPresentationFicheDossier:ListeIntervention:m_clTabModele[i].m_n +PKID) alors +nPosInter = b +fin +fin +fin +si ZR_Inter..Occurrence > 0 alors +si nPosInter > 0 _et_ nPosInter <= ZR_Inter..Occurrence alors +ZoneRépétéeSelectPlus(ZR_Inter,nPosInter) +sinon si b <= ZR_Inter..Occurrence alors +ZoneRépétéeSelectPlus(ZR_Inter,b) +sinon +ZR_Inter = 0 +fin +AfficheInter(ZR_Inter) +fin +fin +MaJAffichageInter() +//DemandeMiseAJourUIParent() +Procédure locale MaJAffichageInter +procédure MaJAffichageInter() +06/08/2026 Isis_BO 5424 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Procédures +si gclPresentationFicheDossier <> Null _et_ gclPresentationFicheDossier:m_nPKID > 0 _et_ +gclPresentationFicheDossier:FicheClient <> Null alors +GR_Inter..Visible = Vrai +BTN_MODIF_CLIENT..Visible = Vrai +sinon +GR_Inter..Visible = Faux +BTN_MODIF_CLIENT..Visible = Faux +fin +Procédure locale MaJIdClientInter +procédure MaJIdClientInter() +reqModif est une Requête SQL = +[ +UPDATE Intervention SET Intervention.IN_IDClient = {p_IdClient} WHERE Intervention.IN_IDDossier = +{p_idDossier} +] +reqModif.p_IdClient = gclPresentationFicheDossier:m_nIDClient +reqModif.p_idDossier = gclPresentationFicheDossier:m_nPKID +si pas HExécuteRequêteSQL(reqModif,hVérifieDoublon+hVérifieIntégrité) alors +si gclPresentationFicheDossier:ListeIntervention <> Null _et_ gclPresentationFicheDossier: +ListeIntervention:m_clTabModele..Occurrence > 0 _et_ gclPresentationFicheDossier:ListeIntervention: +m_clTabModele[1].m_nIDClient > 0 alors +PFicheDossier.gFicheClient(gclPresentationFicheDossier,Null,gclPresentationFicheDossier: +ListeIntervention:m_clTabModele[1].m_nIDClient) +fin +fin +PFicheDossier.gListeIntervention(gclPresentationFicheDossier) +TrieOngletInter(gclPresentationFicheDossier:ListeIntervention:m_clTabModele) +EnregistrerFiche() +Procédure locale MAJObjetRetourFI +procédure MAJObjetRetourFI(*)//LOCAL sContexte est une chaîne, pclObjet est un objet dynamique +bResultat est un booléen=Vrai +nMode est un entier +sNomChamp est une chaîne +pclObjet est un objet dynamique +si MesParamètres..Occurrence>0 alors +nMode = MesParamètres[1] +fin +selon nMode +cas 1 : +sNomChamp = MesParamètres..Occurrence>=2 ? ExtraitChaîne(MesParamètres[2],1,TAB) sinon "" +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +cas 2 +pclObjet = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +fin +si FenEtat(FEN_ChoixFenetreInterne)=Actif alors +Ferme(FEN_ChoixFenetreInterne) +fin +si pclObjet<>Null alors +//*******************************MISE A JOUR DE +L'OBJET********************************************************* +selon sNomChamp +06/08/2026 Isis_BO 5425 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Procédures +//CAS BTN_LOUPE_CLIENT..Nom +: PFicheDossier.gFicheClient(gclPresentationFicheDossier,pclObjet,*,Vrai) +cas BTN_LOUPE_CLIENT..Nom, BTN_AJOUTE_CLIENT..Nom, BTN_MODIF_CLIENT..Nom +: +nPKIDActuel est un entier sur 8 octets = gclPresentationFicheDossier:m_nIDClient +si sNomChamp=BTN_LOUPE_CLIENT..Nom alors +PFicheDossier.gFicheClient(gclPresentationFicheDossier,pclObjet,*,Vrai) +sinon +PFicheDossier.gFicheClient(gclPresentationFicheDossier,pclObjet) +fin +si ControlePresenceClientDansDoc(nPKIDActuel,gclPresentationFicheDossier:m_nIDClient) +alors +si TraitementDocSurChangementClient(nPKIDActuel,SAI_CLIENT) alors +MaJIdClientInter() +fin +sinon +MaJIdClientInter() +fin +fin +fin +MaJAffichageInter() +renvoyer bResultat +Procédure locale NomInter +procédure NomInter() +npos est un entier = ZR_Inter +si npos > 0 _et_ npos <= ZR_Inter..Occurrence _et_ ZR_Inter[npos].LIB_Id > 0 alors +n est un entier = TableauCherche(gclPresentationFicheDossier:ListeIntervention:m_clTabModele, +tcLinéairePremier,"m_nPKID",ZR_Inter[npos].LIB_Id) +si n <= 0 alors +renvoyer Faux +fin +Sablier(Vrai) +PFicheDossier.gListeIntervention(gclPresentationFicheDossier) +TrieOngletInter(gclPresentationFicheDossier:ListeIntervention:m_clTabModele) +sImageSoc est une chaîne ANSI = PreferenceOngletInter1(c_CouleurIconeSoc, +gclPresentationFicheDossier:ListeIntervention:m_clTabModele[n]) +sCouleurText est une chaîne ANSI = PreferenceOngletInter1(c_CouleurSociete, +gclPresentationFicheDossier:ListeIntervention:m_clTabModele[n]) +ZR_Inter[npos].LIB_Libellé = DonneLibOnglet1(gclPresentationFicheDossier: +ListeIntervention:m_clTabModele[n]) +ZR_Inter[npos].LIB_SousTitre = DonneSousTitreInter(gclPresentationFicheDossier: +ListeIntervention:m_clTabModele[n]) +ZR_Inter[npos].LIB_Id = gclPresentationFicheDossier:ListeIntervention: +m_clTabModele[n].m_nPKID +ZR_Inter[npos].FRM_Soc..CouleurFond = sCouleurText +Sablier(fauxToutSablier) +sinon +renvoyer Faux +fin +Procédure locale PriseFocus +// Résumé : +06/08/2026 Isis_BO 5426 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Procédures +// Syntaxe : +//PriseFocus ( est chaîne UNICODE [, est chaîne]) +// +// Paramètres : +// sAliasCourant (chaîne UNICODE) : +// sVoletEnFermeture (chaîne ANSI - valeur par défaut="") : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure PriseFocus(local sAliasCourant est une chaîne Unicode,local sVoletEnFermeture est une chaîne< +utile>="") +//SI gtabOngletIntervRef[sAliasCourant]..Existe ALORS +// sAliasCourant = gtabOngletIntervRef[sAliasCourant] +// +//sTitreOnglet est une chaine = clPresentationFiche:m_sTitre<>"" ? clPresentationFiche:m_sTitre SINON +clPresentationFiche:m_sRefInterne +// sNomFenetre est une chaine = "FI_Fiche_Intervention"//FI_Fiche_Intervention..Nom +// +// //Récupère l'id de l'intervention présentat dans l'alias du volet +// +nPKIDIntervention est un entier sur 8 octets = +Milieu(sAliasCourant,Position(sAliasCourant,sNomFenetre)+taille(sNomFenetre)) +// +// +// SI nPKIDIntervention>0 ALORS +// +// //clListeInterv est un PTableIntervention dynamique +// +// SI clListeInterv=Null ALORS clListeInterv = DonneListeInterv() +// SI clListeInterv<>Null ALORS +// //Rechercher l'id dans la liste des interventions +// +nIndice est un entier = +TableauCherche(clListeInterv:m_clTabModele,tcLinéaire,"m_nPKID",nPKIDIntervention,1) +// +// SI nIndice>0 ALORS +// clListeInterv:p_clCourant = clListeInterv:m_clTabModele[nIndice] +// //Récupération de l'objet FIche Intervention +// clPresentationFiche est un PFicheIntervention <- clListeInterv.Modifier() +// +// //Rend actif l'onglet cliqué en précisant qu'il faut charger ses données +// +OuvreOuActiveOnglet(sNomFenetre,"Intervention",Vrai,clPresentationFiche,DonneParam(DansChampFI,FI_Fiche +_Dossier..Nom,"InitIntervention",maProcMAJObjetRetourFI,"Intervention","DossierInterImmediat",*,gclPres +entationFicheDossier,Faux)) +// FIN +// FIN +// FIN +//FIN +Procédure locale RafraichissementFiche +// Résumé : +// Syntaxe : +//RafraichissementFiche ( est STParamFenetreAppelante) +// +// Paramètres : +06/08/2026 Isis_BO 5427 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Procédures +// stParamSupplementaire (STParamFenetreAppelante) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RafraichissementFiche(stParamSupplementaire est STParamFenetreAppelante) +si stParamSupplementaire <> Null _et_ (stParamSupplementaire:sNomIDAppelant <> "" ou +stParamSupplementaire.nIdFenetreAppelante > 0) alors +si stParamSupplementaire:pclObjetAppelant <> Null _et_ stParamSupplementaire:pclObjetAppelant est +PFicheDossier alors +InitFiche(stParamSupplementaire:pclObjetAppelant,stParamSupplementaire) +sinon +InitFiche(gclPresentationFicheDossier,stParamSupplementaire) +fin +sinon +si stParamSupplementaire.sContexteAppelant = "ONG_FENETRE" _et_ ZR_Inter > 0 alors +ExécuteTraitement("FI_Fiche_Dossier.CFI_Inter.RafraichissementFiche",trtProcédure, +stParamSupplementaire) +//ExécuteTraitement("FI_Fiche_Dossier.CFI_Inter.MiseAJourAffichage",trtProcédure) +fin +fin +//DemandeMiseAJourUIParent() +Procédure locale SuppresionDossier +procédure SuppresionDossier() +si gclPresentationFicheDossier:m_nPKID > 0 alors +reqVerif est une Requête SQL = +[ +SELECT +Intervention.IN_RefInterne, +COUNT(DISTINCT DC_PKID) AS NbDocuments, +COUNT(DISTINCT ME_PKID) AS NbMessages, +COUNT(DISTINCT AC_PKID) AS NbAction, +COUNT(DISTINCT PL_PKID) AS NbRdvs +FROM +Intervention +LEFT JOIN +Document ON Document.DC_IDIntervention = IN_PKID +LEFT JOIN +MessageExterne ON MessageExterne.ME_IDIntervention = IN_PKID +LEFT JOIN +Action ON Action.AC_IDIntervention = IN_PKID +LEFT JOIN +Planning_RDV ON Planning_RDV.PL_IDIntervention = IN_PKID AND Planning_RDV.Archive = 0 +WHERE +Intervention.IN_IDDossier = {p_IdDossier} +GROUP BY +Intervention.IN_RefInterne +] +reqVerif.p_IdDossier = gclPresentationFicheDossier:m_nPKID +sMsgInfo est une chaîne ANSI +si pas HExécuteRequêteSQL(reqVerif) alors +LogEcrit("Erreur dans la req vérification suppression dossier "+RC+HErreurInfo(hErrComplet), +eDebug) +Info("Une erreur s'est produite, le dossier ne peut pas être supprimé") +retour +06/08/2026 Isis_BO 5428 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Procédures +sinon +pour tout reqVerif +si reqVerif.NbRdvs > 0 alors sMsgInfo += [RC]+"Il y a "+reqVerif.NbRdvs + +" rendez-vous pour l'intervention "+reqVerif.IN_RefInterne +si reqVerif.NbDocuments > 0 alors sMsgInfo += [RC]+"Il existe "+reqVerif.NbDocuments + +" documents pour l'intervention "+reqVerif.IN_RefInterne +si reqVerif.NbMessages > 0 alors sMsgInfo += [RC]+"Il y a "+reqVerif.NbMessages + +" messages pour l'intervention "+reqVerif.IN_RefInterne +si reqVerif.NbAction > 0 alors sMsgInfo += [RC]+"Il y a "+reqVerif.NbAction + +" actions pour l'intervention "+reqVerif.IN_RefInterne +fin +fin +si sMsgInfo <> "" alors +Info("Le dossier ne peut pas être supprimé car : "+sMsgInfo) +retour +sinon +clErreur est un CErreur +bOk est un booléen = Vrai +si pas gclPresentationFicheDossier.bControle(clErreur,Vrai) alors +bOk = Faux +sMsgInfo += [RC] + clErreur.FormateMessage() +fin +pour tout pclInter de gclPresentationFicheDossier:ListeIntervention:m_clTabModele +si pas pclInter.bControle(clErreur,Vrai) alors +bOk = Faux +sMsgInfo += [RC] + clErreur.FormateMessage() +fin +fin +si pas bOk alors +Erreur("Impossible de supprimer le dossier",sMsgInfo) +retour +fin +si OuiNon("Êtes-vous sûr de vouloir supprimer le dossier ? Cette opération est irréversible.") += Oui alors +si pas gclPresentationFicheDossier.bSupprimer(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +ExécuteTraitement(BTN_Fermer_fiche_dossier,trtClic) +fin +sinon +retour +fin +fin +fin +Procédure locale SurActivite +// Résumé : +// Syntaxe : +//SurActivite (, , ) +// +// Paramètres : +// wEve : +// wParam : +// lParam : +06/08/2026 Isis_BO 5429 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Procédures +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SurActivite(wEve,wParam,lParam) +//gbUserEnMouvement = Vrai +si gclPresentationFicheDossier:m_bBlocageEcriture alors +gnDelai=DonneValeurTimeOutObjet(gclPresentationFicheDossier) +fin +//SI wParam<>0 ALORS//N° de colonne sur laquelle le clic est effectué +// +//FIN +Procédure locale TimeOutDossier +procédure TimeOutDossier() +//Enlève 1 seconde au temps restant +gnDelai-- +//Le temps est écoulé, l'enregistrement et le déblocage de ce dernier c'est bien passé +si gnDelai = 0 alors +DeblocEnregistrement(gclPresentationFicheDossier,paramSupplementaire,DesactiveTimer,BTN_ +CADENAS_FERME_DOSSIER,BTN_CADENAS_OUVERT_DOSSIER,GR_CADENAS_DOSSIER,SC_Dossier,*,Vrai) +fin +Procédure locale TraitementDocSurChangementClient +// Résumé : +// Syntaxe : +//[ = ] TraitementDocSurChangementClient ( est entier sur 8 octets, +est champ) +// +// Paramètres : +// nPKIDActuel (entier sur 8 octets) : +// chpSite (champ) : +// Valeur de retour : +// booléen : +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// bReponseQuestion (booléen) : +procédure TraitementDocSurChangementClient(nPKIDActuel est un entier sur 8 octets,chpSite est un Champ) +bResultat est un booléen +bSort est un booléen +bReponseQuestion est un booléen +//Demande à l'utilisateur s'il est d'accord de changer le site et de copier les documents avec +bReponseQuestion = OuiNon( +"Le changement du client aura pour effet de copier les documents dans un nouveau répertoire", +"Confirmez-vous le changement ?") +si bReponseQuestion alors +//Variable stockant les messages d'erreurs de la copie +sMSG est une chaîne +//Variable contentant l'ID de l'état du document qui correspond à "présent" +nIDEtatDocPresent est un entier sur 8 octets = gpclListeEtatDocument. +RechercheEtDonneIdDepuisValeur("1") +06/08/2026 Isis_BO 5430 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Procédures +nTotalInterv est un entier = gclPresentationFicheDossier:ListeIntervention:m_clTabModele.. +Occurrence +sListeFicCumul est une chaîne +pour i = 1 _à_ nTotalInterv +clFicheInterv est un PFicheIntervention <-gclPresentationFicheDossier: +ListeIntervention:m_clTabModele[i] +//Il se peut que la liste des document ne soit pas chargées à cause du chargement différé +si clFicheInterv:ListeDocument = Null alors PFicheIntervention.gListeDocument( +clFicheInterv) +nTotalDoc est un entier = clFicheInterv:ListeDocument:p_nTotal +//Boucle sur tous les documents hors rapport +pour j = 1 _à_ nTotalDoc +//Le document est présent à l'endroit attendu +si clFicheInterv:ListeDocument:m_clTabModele[j]:m_nIDEtatDocument=nIDEtatDocPresent +alors +//Concatene les chemins des fichiers +//sListeFichiers+=clFicheInterv:ListeDocument:m_clTabModele[j]:m_sCheminFichier+RC +sListeFicCumul+=clFicheInterv:m_nPKID+TAB+clFicheInterv:ListeDocument: +m_clTabModele[j]:m_sCheminFichier+RC +fin +fin +fin +pour i = 1 _à_ nTotalInterv +clFicheInterv est un PFicheIntervention <-gclPresentationFicheDossier: +ListeIntervention:m_clTabModele[i] +//Variable contenant le nom des fichiers à copier +sListeFichiers est une chaîne +//Il se peut que la liste des document ne soit pas chargées à cause du chargement différé +si clFicheInterv:ListeDocument = Null alors PFicheIntervention.gListeDocument( +clFicheInterv) +pour toute chaîne unLotDoc de sListeFicCumul séparée par RC +si ExtraitChaîne(unLotDoc,1,TAB)=clFicheInterv:m_nPKID alors +sListeFichiers+=ExtraitChaîne(unLotDoc,2,TAB)+RC +fin +fin +//La copie des fichiers ne s'est pas bien passé=>inutile d'aller pplus loin +si sListeFichiers<>"" _et_ pas AjouteFichier(sListeFichiers,0,clFicheInterv,sMSG,Vrai) +_ou_ sMSG<>"" alors bSort = Vrai +si bSort alors break +//Recharge la liste des documents avec le nouveau site +PFicheIntervention.gListeDocument(clFicheInterv) +fin +si bSort alors +//Affiche l'erreur +Erreur("Les fichiers suivant n'ont pas pu être copiés",RC+sMSG) +//Recharge l'ancien client +PFicheDossier.gFicheClient(gclPresentationFicheDossier,gclPresentationFicheDossier. +FicheClient,nPKIDActuel,Vrai) +06/08/2026 Isis_BO 5431 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Procédures +//Actualise le code client à l'écran +chpSite = Majuscule(gclPresentationFicheDossier.FicheClient.m_sNom) +sinon +//La copie des fichiers s'est bien passé +bResultat = Vrai +//Demande à l'utilisateurs s'il faut supprimer les anciens fichiers ? +si OuiNon("Les fichiers ont bien été copiés", +"Souhaitez-vous les supprimer de leur ancien emplacement") alors +//Boucle sur la liste des fichiers +pour toute chaîne sUnFichier de sListeFicCumul séparée par RC +//Le fichier existe +si fFichierExiste(ExtraitChaîne(sUnFichier,2,TAB)) alors +//Supprime le fichier +fSupprime(ExtraitChaîne(sUnFichier,2,TAB),frLectureSeule) +fin +fin +fin +fin +sinon +//Recharge l'ancien client +PFicheDossier.gFicheClient(gclPresentationFicheDossier,gclPresentationFicheDossier.FicheClient, +nPKIDActuel,Vrai) +//Actualise le code site à l'écran +chpSite = Majuscule(gclPresentationFicheDossier:FicheClient.m_sNom) +//Enregistre les changements +EnregistrerFiche() +fin +renvoyer bResultat +Procédure locale TrieOngletInter +procédure TrieOngletInter(TabModele est un tableau de MIntervention dynamique) +nValeur est un entier = 0 +nIndice est un entier=TableauCherche(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur. +m_clTabModele,tcLinéaire,"m_nIDUtilisateur;m_sCode",gpclFicheUtilisateurEnCours:m_nPKID, +c_NomParamTrieInter) +si nIndice>0 alors +nValeur = Val(ExtraitChaîne(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele[ +nIndice].m_sValeur,1,"_",DepuisDébut)) +fin +//SI PAS DonneDroitParamAppli(cParam_TrieInter) ALORS +// nValeur = 0 +//FIN +selon nValeur +cas C_DateD_R +TableauTrie(TabModele,ttMembre,"-m_dhCreationDate") +cas C_DateD_A +TableauTrie(TabModele,ttMembre,"+m_dhCreationDate") +cas C_NumInter_E +06/08/2026 Isis_BO 5432 + +Partie 3 › Fenêtre WINDEV › FI_Fiche_Dossier › Procédures +TableauTrie(TabModele,ttMembre+tccRespecteNumérique,"-m_sRefInterne") +cas C_NumInter_P +TableauTrie(TabModele,ttMembre+tccRespecteNumérique,"+m_sRefInterne") +cas C_TitreInter_A +TableauTrie(TabModele,ttMembre,"+m_sTitre") +cas C_TitreInter_Z +TableauTrie(TabModele,ttMembre,"-m_sTitre") +cas C_NumDevis_E +TableauTrie(TabModele,ttMembre+tccRespecteNumérique,"-m_sNumDevis") +cas C_NumDevis_A +TableauTrie(TabModele,ttMembre+tccRespecteNumérique,"+m_sNumDevis") +cas C_RefExtInter_E +TableauTrie(TabModele,ttMembre+tccRespecteNumérique,"-m_sRefExterne") +cas C_RefExtInter_P +TableauTrie(TabModele,ttMembre+tccRespecteNumérique,"+m_sRefExterne") +autre cas +TableauTrie(TabModele,ttMembre+tccRespecteNumérique,"-m_nPKID") +fin +06/08/2026 Isis_BO 5433 + +Partie 3 › Fenêtre WINDEV › FI_Vierge › Image +FI_Vierge +Image +FI_Vierge +Informations générales +FI_Vierge +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_Vierge.wdw +Créé par SMR +Date de création 30/04/2025 17:12:19 +Dernière modification par SMR +Date dernière modification 02/05/2025 14:38:50 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +Position X 0 Position Y 0 Largeur 640 Hauteur 480 +06/08/2026 Isis_BO 5434 + +Partie 3 › Fenêtre WINDEV › FI_Vierge › Informations générales +| 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 | | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Oui | | | | +| Type cadre | | | | | +| Transparence Vista | Non | | | | +| Transparence gérée par Vista | Non | | | | +| Appliquer le thème du projet | | | | | +| Grisé : Utiliser couleur perso. | Non | | | | +| Grisé : Algo pour images | | | | | +| Style du menu | Windows 11 | | | | +| 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. | | | | | +| 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 | | | | +| ---------------------- | --- | ------- | --- | ---- | +| 06/08/2026 | | Isis_BO | | 5435 | + +Partie 3 › Fenêtre WINDEV › FI_Vierge › Informations générales +Statistiques de la fenêtre +Fenêtre interne 1 +Nombre d'éléments dans la fenêtre : 1 +FI_Vierge +Informations sur les champs +Fenêtre : FI_Vierge +Fenêtre interne +BAT ehcuoT +X noitisoP Y noitisoP laitini tatE +ruegraL ruetuaH +elbisiV +nalP +| FI_Vierge | 0 | 0 640 480 | 0 | | +| --------- | --- | --------- | --- | --- | +Fenêtre : FI_Vierge +Fenêtre interne : FI_Vierge +| UI par l'utilisateur Selon fenêtre | | | | | +| ------------------------------------------------------------------- | --- | --- | --- | --- | +| Unité des tailles Compatible desktop ET mobile | | | | | +| Taux Paral. hauteur 0 | | | | | +| Taux Paral. Y 0 | | | | | +| Épinglé Non | | | | | +| Masquer lors du scrolling Non | | | | | +| Ancrage au contenu | | | | | +| Numéro aide 0 | | | | | +| Thème destination Oui | | | | | +| Alignement sur l'axe secondaire défini par le champ flexbox (auto) | | | | | +Facteur de rétrécissement +0 +Facteur d'agrandissement +0 +| Ctx. HFSQL indép. Non | | | | | +| --------------------- | --- | --- | --- | --- | +| Ancrage | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Isis_BO | | 5436 | +| ---------- | --- | ------- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Vierge › Code des champs +FI_Vierge +Code des champs +Déclarations globales de FI_Vierge +procédure MaFenêtre() +06/08/2026 Isis_BO 5437 + +Partie 3 › Fenêtre WINDEV › FI_AG_OU_PL › Image +FI_AG_OU_PL +Image +FI_AG_OU_PL +Informations générales +FI_AG_OU_PL +Fichier physique D:\Projets Windev\Batik\WD30\Dev\FI_AG_OU_PL.wdw +Créé par SMR +Date de création 16/05/2025 08:03:21 +Dernière modification par SMR +Date dernière modification 20/05/2025 12:21:03 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +Position X 0 Position Y 0 Largeur 1519 Hauteur 480 +06/08/2026 Isis_BO 5438 + +Partie 3 › Fenêtre WINDEV › FI_AG_OU_PL › Informations générales +| Visible | Barre de titre | | Menu système | | +| --------------------- | -------------------- | --- | --------------- | --- | +| Icône réduction | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | Détourer le fond | | Mode 9 images | | +| Redimensionnable | Avec grip | | Grip dans image | | +| Déplace/fond | Sauve position | | Ascenseur auto. | | +| Gestion grande police | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | Actif | | | | +| ------------------------------- | ----------------------------------- | --- | --- | --- | +| Curseur survol | 0 | | | | +| Copie d'écran | Oui | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Oui | | | | +| Type cadre | | | | | +| Transparence Vista | Non | | | | +| Transparence gérée par Vista | Non | | | | +| Appliquer le thème du projet | | | | | +| Grisé : Utiliser couleur perso. | Non | | | | +| Grisé : Algo pour images | | | | | +| Style du menu | Windows 11 | | | | +| 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. | | | | | +| 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 | | | | +| ---------------------- | --- | ------- | --- | ---- | +| 06/08/2026 | | Isis_BO | | 5439 | + +Partie 3 › Fenêtre WINDEV › FI_AG_OU_PL › Informations générales +Statistiques de la fenêtre +| | Sélecteur | | | 1 | Image | | 1 | +| --- | ------------------- | --- | --- | --- | --------------- | --- | --- | +| | Fenêtre interne | | | 1 | Fenêtre interne | | 1 | +| | Option de sélecteur | | | 2 | | | | +Nombre d'éléments dans la fenêtre : 6 +FI_AG_OU_PL +Informations sur les champs +Fenêtre : FI_AG_OU_PL +Fenêtre interne +BAT ehcuoT +| | | | X noitisoP Y noitisoP | | | | laitini tatE | +| --- | --- | --- | --------------------- | --- | --- | --- | ------------ | +ruetuaH +| | | | | ruegraL | | elbisiV | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | +nalP +| FI_AG_OU_PL | | | 0 | 0 1519 | 480 | 0 | | +| ----------- | --- | --- | --- | ------ | --- | --- | --- | +Fenêtre interne : FI_AG_OU_PL +Sélecteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | laitini tatE | BAT ehcuoT | staté siorT | +| --- | --- | --- | --- | --- | ------------ | ---------- | ----------- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| SEL_Version | | 1226 | 6 285 | 24 | 0 Actif | | 2 | +| ----------- | --- | ---- | ----- | ------- | ------- | --- | ---- | +| 06/08/2026 | | | | Isis_BO | | | 5440 | + +Partie 3 › Fenêtre WINDEV › FI_AG_OU_PL › 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_Indicatif | 1190 | 0 36 | 36 | 0 | Actif | | | +| ------------- | ---- | ---- | --- | --- | ----- | --- | --- | +Fenêtre interne +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CFI_AgPl | | 0 36 | 1519 | 444 | 0 | Actif | | +| -------- | --- | ---- | ---- | --- | --- | ----- | --- | +Fenêtre : FI_AG_OU_PL +Fenêtre interne : FI_AG_OU_PL +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Ancrage au contenu | | | | | | | | +| Numéro aide | 0 | | | | | | | +| Thème destination | Oui | | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | | +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | | | +| ------------------------- | ------- | --- | --- | --- | --- | --- | --- | +| Ctx. HFSQL indép. | Non | | | | | | | +| Ancrage | | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Isis_BO | | | | | 5441 | +| ---------- | --- | ------- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_AG_OU_PL › Informations sur les champs +Fenêtre interne : FI_AG_OU_PL +Fenêtre interne : FI_AG_OU_PL.CFI_AgPl +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 +Ancrage au contenu +Numéro aide 0 +Ascenseur auto. 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 +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 21 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_AG_OU_PL.IMG_Indicatif +Valeur initiale FR: D:\Projets Windev\Batik\WD30\Dev\IMG-Fleche-Droite.svg +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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) +06/08/2026 Isis_BO 5442 + +Partie 3 › Fenêtre WINDEV › FI_AG_OU_PL › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Texte Markdown Non +Mode menu ctx. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +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 +Sélecteur : FI_AG_OU_PL.SEL_Version +Libellé FR: &Sélecteur 2 colonnes +Valeur initiale 1 +Ordre navigation 1 +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 +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 Oui +Option multilignes Non +Option format RTF Non +Texte Markdown Non +06/08/2026 Isis_BO 5443 + +Partie 3 › Fenêtre WINDEV › FI_AG_OU_PL › Informations sur les champs +Mode menu ctx. +Image D:\Projets Windev\Batik\WD30\Dev\Gabarits\WD\190 GENSTEEL\Gensteel_Radio.png +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 6 +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 +FI_AG_OU_PL +Code des champs +Déclarations globales de FI_AG_OU_PL +procédure FI_AG_OU_PL(gclPresentationPlanning est un PTableRDV dynamique=Null, +paramSupplementaire est un STParamFenetreAppelante=Null) +Fin d'initialisation de FI_AG_OU_PL +MaJAffichage() +Initialisation de SEL_Version +// Version 1 +// Description +// Sélecteur simple en lignes sur 2 colonnes +A chaque modification de SEL_Version +MaJAffichage() +FI_AG_OU_PL +Procédures +Procédure locale MaJAffichage +06/08/2026 Isis_BO 5444 + +Partie 3 › Fenêtre WINDEV › FI_AG_OU_PL › Procédures +procédure MaJAffichage() +si SEL_Version alors +selon gsPreferenceAgdUt +cas "Planning" : +ChangeFenêtreSource(CFI_AgPl,FI_Planning,gclPresentationPlanning, paramSupplementaire) +cas "Agenda" : +ChangeFenêtreSource(CFI_AgPl,FI_Agenda3,gclPresentationPlanning, paramSupplementaire) +fin +IMG_Indicatif..Visible = Vrai +sinon +selon gsPreferenceAgdUt +cas "Planning" : +ChangeFenêtreSource(CFI_AgPl,FI_AgendaPlanning, paramSupplementaire) +cas "Agenda" : +ChangeFenêtreSource(CFI_AgPl,FI_Agenda, paramSupplementaire) +fin +IMG_Indicatif..Visible = Faux +fin +Procédure locale RafraichissementFiche +procédure RafraichissementFiche(stParamSupplementaire est STParamFenetreAppelante) +ExécuteTraitement("FI_AG_OU_PL.CFI_AgPl.RafraichissementFiche", trtProcédure,stParamSupplementaire) +06/08/2026 Isis_BO 5445 + +Partie 4 › Modèle fenêtre WINDEV +Partie 4 +Modèle fenêtre +WINDEV +| 06/08/2026 | Isis_BO | 5446 | +| ---------- | ------- | ---- | + +Partie 4 › Modèle fenêtre WINDEV +Modèle_FenêtreSimple +Image +Modèle_FenêtreSimple +Informations générales +Modèle_FenêtreSimple +Fichier physique D:\Projets Windev\Batik\WD30\Dev\Modèle_FEN_Modele.wdt +| Créé par | | DFI | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | ---- | +| Date de création | | 23/08/2024 18:48:40 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:32 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à l'écran | | | | +| | 0 | | 0 | 671 | 330 | +| Position X | Position Y | | Largeur | Hauteur | | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 5447 | + +Partie 4 › Modèle fenêtre WINDEV › Modèle_FenêtreSimple › Informations générales +Ctx. HFSQL indép. +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu +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 +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +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. +M.C.U. Non +Anim. Ouverture 0 +Anim. Fermeture 0 +Durée Anim. Ouverture 100 +Durée Anim. Fermeture 50 +Adapte Taille contenu Non +Assombri quand inactif Non +Déplace souris sur bouton par Non +Compact. barres outils Non +Image poignée D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\190 +06/08/2026 Isis_BO 5448 + +Partie 4 › Modèle fenêtre WINDEV › Modèle_FenêtreSimple › Informations générales +Statistiques de la fenêtre +Nombre d'éléments dans la fenêtre : 0 +| 06/08/2026 | Isis_BO | 5449 | +| ---------- | ------- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_EnteteBloc › Image +MDLC_EnteteBloc +Image +MDLC_EnteteBloc +Informations générales +MDLC_EnteteBloc +Fichier physique D:\Projets Windev\Batik\WD30\Dev\MDLC_EnteteBloc.wdt +| Créé par | | DFI | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 24/08/2024 21:59:23 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:32 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 271 Hauteur | 29 | +| 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 | | | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | | | | | +| 06/08/2026 | | | Isis_BO | | 5450 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_EnteteBloc › Informations générales +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet +Grisé : Utiliser couleur perso. Non +Grisé : Algo pour images +Style du menu Windows 11 +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. +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 +Statistiques de la fenêtre +Libellé 1 Image 2 +Modèle de champs 1 +Nombre d'éléments dans la fenêtre : 4 +MDLC_EnteteBloc +Informations sur les champs +06/08/2026 Isis_BO 5451 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_EnteteBloc › Informations sur les champs +Fenêtre : MDLC_EnteteBloc +Modèle de champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| MDLC_EnteteBloc | | 0 | 0 271 | 29 | 0 | Actif | | +| --------------- | --- | --- | ----- | --- | --- | ----- | --- | +Modèle de champs : MDLC_EnteteBloc +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_BLOC | 34 | 5 146 | 19 0 | Actif | Gauche | Haut | | +| -------- | --- | ----- | ---- | ----- | ------ | ---- | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | | laitini tatE | | | +| --- | ---------- | ---------- | --------------- | --- | ------------ | --------- | --- | +| | | | ruegraL ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Entete | 0 | 0 | 271 29 | 0 | Actif | | | +| ---------- | --- | --- | ------ | --- | ----- | --- | --- | +| IMG_ICONE | 8 | 6 | 16 16 | 0 | Actif | | | +Fenêtre : MDLC_EnteteBloc +Modèle de champs : MDLC_EnteteBloc +| Curseur survol | 0 | | | | | | | +| ------------------------- | ---------------------------- | --- | --- | --- | --- | --- | --- | +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| Unité des tailles | Compatible desktop ET mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Numéro aide | 0 | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| 06/08/2026 | | | Isis_BO | | | | 5452 | +| ---------- | --- | --- | ------- | --- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_EnteteBloc › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Modèle de champs : MDLC_EnteteBloc +Image : MDLC_EnteteBloc.IMG_Entete +Valeur initiale FR: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\CadreTableau.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Oui +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5453 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_EnteteBloc › Informations sur les champs +Image : MDLC_EnteteBloc.IMG_ICONE +Valeur initiale FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\ICONE_ENTETE_BANDEAU_SITE.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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. +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : MDLC_EnteteBloc.LIB_BLOC +Libellé FR: Site +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Isis_BO 5454 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_EnteteBloc › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 5455 + +Partie 5 › Etat +Partie 5 +Etat +| 06/08/2026 | Isis_BO | 5456 | +| ---------- | ------- | ---- | + +Partie 5 › Etat +ETAT_Planning_Collaborateur +Image +ETAT_Planning_Collaborateur +Informations générales +| ETAT_Planning_Collaborateur | Planning collaborateur | | | | +| --------------------------- | --------------------------- | --- | --- | --- | +| Nom logique de l'état | ETAT_Planning_Collaborateur | | | | +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\ETAT_Planning_Collaborateur.wde +Type +| Thème | 210 Blueberries | | | | +| ----- | --------------- | --- | --- | --- | +Type de source de données +| Nom de la source | :gtabRdv | | | | +| ----------------- | ----------------- | ----------------- | ----- | --- | +| Format de la page | A4 (210 x 297 mm) | | | | +| Marge haute (mm) | 10.00 | Marge basse (mm) | 10.00 | | +| Marge gauche (mm) | 10.00 | Marge droite (mm) | 10.00 | | +ETAT_Planning_Collaborateur +Informations sur les champs +| 06/08/2026 | | Isis_BO | | 5457 | +| ---------- | --- | ------- | --- | ---- | + +Partie 5 › Etat › ETAT_Planning_Collaborateur › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | +| --- | ---- | --- | --- | ---------------- | --- | +elbisiV erdaC +tiarT +| CHAMP58 | Prédéfini | 245.28 0.00 | 6.76 31.72 | | | +| ------------------------------ | --------- | ----------- | -------------------------- | --- | --- | +| TITREDOC | Libellé | 103.50 1.78 | 9.82 70.00 | | | +| IMG_Logo | Image | 0.00 0.00 | 20.22 34.77 | | | +| | | 0.05 0.03 | 15.08 277.02 | | | +| PLN_Collaborateur | Planning | | | | | +| NUMNBPAGES | Prédéfini | 232.87 0.00 | 6.62 44.13 | | | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | +Epais. : Epaisseur du cadre (mm) +Détails des champs +Type de champ Prédéfini +| NUMNBPAGES [NUMPAGE]/[NBPAGES] | | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | +| CHAMP58 Date | | | | | | +ETAT_Planning_Collaborateur +Code +Ouverture de ETAT_Planning_Collaborateur +procédure ETAT_Planning_Collaborateur(gtabRdv est un tableau de RendezVous) +IMG_Logo = gLOGO_FOND_CLAIR +| 06/08/2026 | | Isis_BO | | | 5458 | +| ---------- | --- | ------- | --- | --- | ---- | + +Partie 5 › Etat › ETAT_Agenda_Collaborateur › Image +ETAT_Agenda_Collaborateur +Image +ETAT_Agenda_Collaborateur +Informations générales +ETAT_Agenda_Collaborateur Agenda Collaborateur +06/08/2026 Isis_BO 5459 + +Partie 5 › Etat › ETAT_Agenda_Collaborateur › Informations générales +| Nom logique de l'état | ETAT_Agenda_Collaborateur | | | | | +| --------------------- | ------------------------- | --- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\ETAT_Agenda_Collaborateur.wde +Type +| Thème | 210 Blueberries | | | | | +| ----- | --------------- | --- | --- | --- | --- | +Type de source de données +| Nom de la source | :tabRDV | | | | | +| ----------------- | ----------------- | --- | ----------------- | ---- | --- | +| Format de la page | A4 (210 x 297 mm) | | | | | +| Marge haute (mm) | 5.00 | | Marge basse (mm) | 5.00 | | +| Marge gauche (mm) | 5.00 | | Marge droite (mm) | 5.00 | | +ETAT_Agenda_Collaborateur +Informations sur les champs +)mm( ruetuaH +)mm( ruegraL +¹ txE.otuA +¹ uaelbaT +| | Type | X Y | | elbacéS | noitisoP | +| --- | ---- | --- | --- | ------- | -------- | +elbisiV ¹ .siapE +erdaC +tiarT +| TITREDOC | Libellé | 35.98 0.00 | 9.79 209.34 | | | +| ------------------------------ | --------- | ----------- | -------------------------- | --- | --- | +| IMG_Logo | Image | 0.00 0.00 | 13.02 23.34 | | | +| CHAMP58 | Prédéfini | 255.28 0.00 | 6.72 31.72 | | | +| AGD_Collaborateur | Agenda | 0.03 0.18 | 165.36 287.07 | | | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | +Epais. : Epaisseur du cadre (mm) +Détails des champs +Type de champ Prédéfini +| CHAMP58 Date | | | | | | +| ------------ | --- | ------- | --- | --- | ---- | +| 06/08/2026 | | Isis_BO | | | 5460 | + +Partie 5 › Etat › ETAT_Agenda_Collaborateur › Code +ETAT_Agenda_Collaborateur +Code +Ouverture de ETAT_Agenda_Collaborateur +procédure ETAT_Agenda_Collaborateur(tabRDV est un tableau de RendezVous,local nModePresentation est un +entier) +IMG_Logo = gLOGO_FOND_CLAIR +AgendaChangeMode(AGD_Collaborateur,nModePresentation) +TITREDOC = ChaîneConstruit(TITREDOC,tabRDV [1].Note) +06/08/2026 Isis_BO 5461 + +Partie 5 › Etat › ETAT_WinDevVueRDV › Image +ETAT_WinDevVueRDV +Image +ETAT_WinDevVueRDV +Informations générales +ETAT_WinDevVueRDV +| Nom logique de l'état | ETAT_WinDevVueRDV | | | | +| --------------------- | ----------------- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\ETAT_WinDevVueRDV.wde +| Type | Libre | | | | +| ------------------------- | ------------------------ | --- | --- | --- | +| Type de source de données | Pas de source de données | | | | +Nom de la source +| Format de la page | Personnel | | | | +| ----------------------- | --------- | ----------------------- | ----- | --- | +| Hauteur de la page (mm) | 50.00 | Largeur de la page (mm) | 40.00 | | +| Marge haute (mm) | 0.00 | Marge basse (mm) | 0.00 | | +| Marge gauche (mm) | 0.00 | Marge droite (mm) | 0.00 | | +ETAT_WinDevVueRDV +Informations sur les champs +)mm( ruetuaH +)mm( ruegraL +¹ txE.otuA +¹ uaelbaT +| | Type | X Y | elbacéS ¹ .siapE | noitisoP | +| --- | ---- | --- | ---------------- | -------- | +elbisiV +erdaC +tiarT +| 06/08/2026 | | Isis_BO | | 5462 | +| ---------- | --- | ------- | --- | ---- | + +Partie 5 › Etat › ETAT_WinDevVueRDV › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | +| --- | ---- | --- | --- | ---------------- | --- | +elbisiV erdaC +tiarT +| LIB_TitreRDV | Libellé | 0.00 0.00 | 6.00 40.00 | 0.00 Continu | HBGD | +| ------------------------------ | ------- | ----------- | -------------------------- | ------------ | ---- | +| LIB_Détail | Libellé | 0.00 6.00 | 44.00 40.00 | 0.00 Continu | HBGD | +| IMG_Important | Image | 35.98 46.04 | 4.00 4.00 | | | +| | | 0.00 46.00 | 4.00 4.00 | | | +| IMG_Image1 | Image | | | | | +| IMG_REPETITION | Image | 37.06 1.50 | 3.00 3.00 | | | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | +Epais. : Epaisseur du cadre (mm) +ETAT_WinDevVueRDV +Code +Ouverture de ETAT_WinDevVueRDV +procédure ETAT_WinDevVueRDV( gclRendezVous est un agRendezVous dynamique ) +| LIB_Détail | = gclRendezVous.Contenu | | | | | +| ------------------------- | --------------------------------- | ------- | --- | --- | ---- | +| LIB_TitreRDV | = gclRendezVous.Titre | | | | | +| LIB_TitreRDV..CouleurFond | = gclRendezVous.CouleurFond | | | | | +| IMG_Image1..Valeur | = gclRendezVous.Image | | | | | +| IMG_Important..Visible | = (gclRendezVous.Importance <> 0) | | | | | +| IMG_REPETITION..Visible | = gclRendezVous.AvecRépétition | | | | | +| 06/08/2026 | | Isis_BO | | | 5463 | + +Partie 5 › Etat › ETAT_FicheDeplacement › Image +ETAT_FicheDeplacement +Image +ETAT_FicheDeplacement +Informations générales +ETAT_FicheDeplacement +Nom logique de l'état ETAT_FicheDeplacement +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\ETAT_FicheDeplacement.wde +Type Tableau +Thème 210 Blueberries +06/08/2026 Isis_BO 5464 + +Partie 5 › Etat › ETAT_FicheDeplacement › Informations générales +Type de source de données +Nom de la source :gclEtatFicheDeplacement.m_clListeCollabGroup +| Format de la page | A4 (210 x 297 mm) | | | | | +| ----------------- | ----------------- | --- | ----------------- | ----- | --- | +| Marge haute (mm) | 20.00 | | Marge basse (mm) | 20.00 | | +| Marge gauche (mm) | 20.00 | | Marge droite (mm) | 20.00 | | +ETAT_FicheDeplacement +Informations sur les champs +)mm( ruetuaH +)mm( ruegraL +¹ txE.otuA +¹ uaelbaT +| | Type | X Y | | elbacéS ¹ .siapE | noitisoP | +| --- | ---- | --- | --- | ---------------- | -------- | +elbisiV +erdaC +tiarT +| | | 0.00 0.00 | 20.22 23.28 | | | +| --------------- | -------------------------------------- | ----------- | ----------- | ------------ | ---- | +| IMG_LogoSociete | Image | | | | | +| TITREDOC | Libellé | 23.39 0.11 | 9.79 124.62 | | | +| CHAMP58 | Prédéfini | 150.92 0.11 | 6.62 19.05 | | | +| SOCIETE | Libellé | 23.34 10.43 | 9.79 124.62 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sNomSociete | | | | | +| LIB_SansNom | Libellé | 0.00 117.74 | 6.09 70.64 | 0.10 Continu | HBG- | +LIB_SansNom1 Libellé 70.64 117.74 6.09 19.08 0.10 Continu HBG- +LIB_SansNom2 Libellé 89.72 117.74 6.09 26.46 0.10 Continu HBG- +LIB_SansNom3 Libellé 116.18 117.74 6.09 29.36 0.10 Continu HBG- +LIB_SansNom5 Libellé 145.54 117.74 6.09 24.35 0.10 Continu HBGD +DESCRIPTIONINTERVENTION Libellé 0.00 79.32 32.54 169.86 0.20 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_sDescription | | | | | +| ------------------------ | ------------------------------------------ | ------------ | ----------- | --- | --- | +| DATERENDEZVOUS | Libellé | 28.05 63.05 | 11.22 42.60 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sDateRendezVous | | | | | +| DONNEURORDRE2 | Libellé | 28.05 53.14 | 6.09 73.66 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sDonneurOrdre_2 | | | | | +| | | 28.05 45.79 | 6.09 73.66 | | | +| DONNEURORDRE | Libellé | | | | | +| Rubrique | :gclEtatFicheDeplacement.m_sDonneurOrdre_1 | | | | | +| LIBREFEXTERNEINTERVENTIO | | 102.86 45.70 | 6.08 10.05 | | | +Libellé +N +| REFEXTERNEINTERVENTION | Libellé | 113.77 45.70 | 6.08 56.20 | | | +| ---------------------- | -------------------------------------------------- | ------------ | ----------- | ------------ | ---- | +| Rubrique | :gclEtatFicheDeplacement.m_sRefExterneIntervention | | | | | +| CLIENT | Libellé | 28.05 39.50 | 5.82 141.93 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sNomClient | | | | | +| Ligne43 | Forme | 0.00 38.71 | 2.12 169.86 | 0.04 Continu | H--- | +| Étiquette86 | Libellé | 0.00 63.23 | 5.97 27.63 | | | +| LIBOBJET | Libellé | 0.12 73.20 | 6.09 27.63 | | | +| LIBDONNEURDORDRE | Libellé | 0.00 45.93 | 6.09 27.63 | | | +| LIBCLIENT | Libellé | 0.00 39.70 | 6.08 27.63 | | | +| FRM_FORME4 | Forme | 101.72 7.66 | 29.05 65.41 | 0.20 Continu | HBGD | +| 06/08/2026 | | Isis_BO | | | 5465 | + +Partie 5 › Etat › ETAT_FicheDeplacement › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | | +| --- | ---- | --- | --- | ---------------- | --- | --- | +elbisiV erdaC +tiarT +| CODEACCESSITE | Libellé | 60.17 14.02 | 23.28 36.40 | | | | +| ------------------------- | --------------------------------------- | ----------- | ----------- | --- | --- | --- | +| Rubrique | :gclEtatFicheDeplacement.m_sCodeAcces | | | | | | +| LIB_CODEACCESSITE | Libellé | 60.17 7.62 | 5.03 22.60 | | | | +| TelMobileOccupant | Libellé | 15.88 30.69 | 6.09 40.33 | | | | +| Rubrique | :gclEtatFicheDeplacement.m_sTelMobile | | | | | | +| LIB_TELMOBILEOCCUPANT | Libellé | 0.00 30.64 | 6.09 15.61 | | | | +| PRESENTATIONADRESSESITE | Libellé | 102.13 8.47 | 28.11 64.82 | | | | +| Rubrique | :gclEtatFicheDeplacement.m_sAdresseSite | | | | | | +| TelFixeOccupant | Libellé | 15.88 23.81 | 6.09 40.33 | | | | +| Rubrique | :gclEtatFicheDeplacement.m_sTelFixe | | | | | | +| LIB_TELFIXEOCCUPANT | Libellé | 0.11 23.74 | 6.09 15.61 | | | | +| CiviliteNomPrenomOccupant | Libellé | 15.88 8.20 | 13.82 40.22 | | | | +Rubrique :gclEtatFicheDeplacement.m_sCiviliteNomPrenomOccupant +| LIBNOM | Libellé | 0.11 7.74 | 6.09 15.61 | | | | +| ------------------------ | ------- | --------- | ----------- | ---- | ------- | ---- | +| Ligne42 | Forme | 0.11 6.42 | 2.12 169.86 | 0.04 | Continu | H--- | +| LIBREFINTERNEINTERVENTIO | | 0.05 0.00 | 5.62 14.79 | | | | +Libellé +N +| REFINTERNEINTERVENTION | Libellé | 15.84 0.00 | 5.62 22.67 | | | | +| ---------------------- | -------------------------------------------------- | ----------- | ---------- | ---- | ------- | ---- | +| Rubrique | :gclEtatFicheDeplacement.m_sRefInterneIntervention | | | | | | +| DATEINTERVENTION | Libellé | 65.92 0.00 | 5.62 22.67 | | | | +| Rubrique | :gclEtatFicheDeplacement.m_dDateIntervention | | | | | | +| LIBDATEINTERVENTION | Libellé | 40.45 0.00 | 5.62 25.42 | | | | +| LIBSUIVIPAR | Libellé | 101.71 0.00 | 5.62 22.39 | | | | +| SUIVIPAR | Libellé | 124.73 0.02 | 5.56 45.14 | | | | +| Rubrique | :gclEtatFicheDeplacement.m_sSuiviPar | | | | | | +| | | 0.00 0.00 | 7.41 70.64 | 0.10 | | | +| LIB_SansNom6 | Libellé | | | | Continu | -BG- | +Rubrique :gclEtatFicheDeplacement.m_clListeCollabGroup.NomPrenom +| LIB_SansNom7 | Libellé | 70.64 0.00 | 7.41 19.08 | 0.10 | Continu | -BG- | +| ------------ | ------- | ---------- | ---------- | ---- | ------- | ---- | +| LIB_SansNom8 | Libellé | 89.72 0.00 | 7.41 26.46 | 0.10 | Continu | -BG- | +LIB_SansNom9 Libellé 116.18 0.00 7.41 29.36 0.10 Continu -BG- +LIB_SansNom11 Libellé 145.54 0.00 7.41 24.35 0.10 Continu -BGD +| LIBSIGNATURE | Libellé | 0.12 5.08 | 6.09 27.63 | | | | +| ------------------------------ | ------- | --------- | -------------------------- | --- | --- | --- | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | | +Epais. : Epaisseur du cadre (mm) +| 06/08/2026 | | Isis_BO | | | | 5466 | +| ---------- | --- | ------- | --- | --- | --- | ---- | + +Partie 5 › Etat › ETAT_FicheDeplacement › Informations sur les champs +Détails des champs +Type de champ Prédéfini +CHAMP58 Date +| 06/08/2026 | Isis_BO | 5467 | +| ---------- | ------- | ---- | + +Partie 5 › Etat › ETAT_FicheDeplacement › Code +ETAT_FicheDeplacement +Code +Ouverture de ETAT_FicheDeplacement +procédure ETAT_FicheDeplacement(gclEtatFicheDeplacement est un MEtatFicheDeplacement dynamique) +si gclEtatFicheDeplacement=Null alors +gclEtatFicheDeplacement=allouer un MEtatFicheDeplacement +c est un MCollaborateur +c:m_sNom="Toto" +c:m_bActif=Vrai +gclEtatFicheDeplacement:m_clListeCollabGroup.Ajoute(c) +fin +//SOCIETE=gclRendezVous:FicheIntervention:FicheSociete:m_sNom +//REFINTERNEINTERVENTION = gclRendezVous:FicheIntervention.m_sRefInterne +//DATEINTERVENTION= gclRendezVous:FicheIntervention.m_dDateIntervention +//SUIVIPAR= gclRendezVous:FicheIntervention.FicheSuiveur:NomPrenom +////*********************Occupant********************** +//CiviliteNomPrenomOccupant = gclRendezVous:FicheOccupant:CiviliteNomPrenom +//TelFixeOccupant=gclRendezVous:FicheOccupant:m_sTelFixe +//TelMobileOccupant=gclRendezVous:FicheOccupant:m_sTelMobile +// +//PRESENTATIONADRESSESITE = gclRendezVous:FicheIntervention:FicheLieu:m_clAdresse:m_sPresentation +//CODEACCESSITE=gclRendezVous:FicheIntervention:FicheLieu:m_sCodeAcces +////**********************Client********************** +//CLIENT=gclRendezVous:FicheIntervention:FicheClient:m_sNom +//REFEXTERNEINTERVENTION=gclRendezVous:FicheIntervention:m_sRefExterne +////**********************Rendez-vous********************** +//DATERENDEZVOUS=gclRendezVous:DateRendezVous +//DESCRIPTIONINTERVENTION=gclRendezVous:m_sDescription +//nCptDonneur est un entier = gclRendezVous:FicheIntervention:ListeContactClient.p_nTotal +//SI nCptDonneur>0 ALORS +// SELON nCptDonneur +// +CAS 1 : DONNEURORDRE = +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +// AUTRE CAS : +// +DONNEURORDRE = +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +// +DONNEURORDRE2= +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[2]:m_clContact:CiviliteNomPrenom +// FIN +//FIN +//POUR i = 1 _A_ gclRendezVous:m_clListeCollabGroup..Occurrence +// +//FIN +i est un entier +//j est un entier +Filtre (tenir compte de l'enregistrement ?) de ETAT_FicheDeplacement +i+=1 +06/08/2026 Isis_BO 5468 + +Partie 5 › Etat › ETAT_FicheDeplacement › Code +si pas gclEtatFicheDeplacement:m_clListeCollabGroup[i]:m_bActif alors +renvoyer Faux +sinon +renvoyer Vrai +fin +//LIB_SansNom6 = NomPrenom +//i+=1 +//SI i<= gclRendezVous:m_clListeCollabGroup..Occurrence ALORS +// RENVOYER Vrai +//SINON +// RENVOYER Faux +//FIN +ETAT_FicheDeplacement +Code des champs +Avant impression de CORPS +//SI i<>j ALORS +// LIB_SansNom6=gclRendezVous:m_clListeCollabGroup[i]:NomPrenom +// j=i +//FIN +Avant impression de HAUT_DE_PAGE +DESCRIPTIONINTERVENTION = RTFVersTexte(DESCRIPTIONINTERVENTION) +06/08/2026 Isis_BO 5469 + +Partie 5 › Etat › ETAT_SuivieDesTemps › Image +ETAT_SuivieDesTemps +Image +ETAT_SuivieDesTemps +Informations générales +ETAT_SuivieDesTemps +| Nom logique de l'état | ETAT_SuivieDesTemps | | | | +| --------------------- | ------------------- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\ETAT_SuivieDesTemps.wde +| Type | Tableau | | | | +| ---- | ------- | --- | --- | --- | +Type de source de données +| Nom de la source | :tabMSuiviDesTemps | | | | +| ----------------- | ------------------ | ----------------- | ----- | --- | +| Format de la page | A4 (210 x 297 mm) | | | | +| Marge haute (mm) | 20.00 | Marge basse (mm) | 20.00 | | +| Marge gauche (mm) | 20.00 | Marge droite (mm) | 20.00 | | +ETAT_SuivieDesTemps +Informations sur les champs +| 06/08/2026 | | Isis_BO | | 5470 | +| ---------- | --- | ------- | --- | ---- | + +Partie 5 › Etat › ETAT_SuivieDesTemps › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | +| --- | ---- | --- | --- | ---------------- | --- | +elbisiV erdaC +tiarT +| TITREDOC | Libellé | 24.98 0.23 | 7.17 112.71 | | | +| ------------ | ------------------------ | ----------- | ----------- | ------------ | ---- | +| CHAMP58 | Prédéfini | 137.80 1.65 | 5.72 32.20 | | | +| IMG_Logo | Image | 0.11 0.23 | 13.02 23.34 | | | +| Rubrique | :gLOGO_FOND_CLAIR..Image | | | | | +| PERIODE | Libellé | 24.98 7.40 | 6.09 112.71 | | | +| Rubrique | :sPeriode | | | | | +| LIB_SansNom | Libellé | 0.00 8.20 | 6.09 18.37 | 0.10 Continu | HBG- | +| LIB_SansNom1 | Libellé | 18.37 8.20 | 6.09 23.39 | 0.10 Continu | HBG- | +| LIB_SansNom2 | Libellé | 41.76 8.20 | 6.09 18.89 | 0.10 Continu | HBG- | +| LIB_SansNom3 | Libellé | 60.65 8.20 | 6.09 28.68 | 0.10 Continu | HBG- | +| LIB_SansNom4 | Libellé | 89.33 8.20 | 6.09 65.46 | 0.10 Continu | HBG- | +LIB_SansNom5 Libellé 154.79 8.20 6.09 15.32 0.10 Continu HBGD +| COLLAB | Libellé | 0.00 1.20 | 6.09 70.49 | | | +| -------- | ----------------------------------------- | --------- | ---------- | --- | --- | +| Rubrique | :tabMSuiviDesTemps.NomPrenomCollaborateur | | | | | +LIB__tabMSuiviDesTemps_m_ 0.00 0.00 6.20 18.37 0.10 Continu -BG- +Libellé +dDateDebut +| Rubrique | :tabMSuiviDesTemps.m_dDateDebut | | | | | +| -------- | ------------------------------- | --- | --- | --- | --- | +LIB__tabMSuiviDesTemps_m_ 18.37 0.00 6.20 23.39 0.10 Continu -BG- +Libellé +nIDIntervention +| Rubrique | :tabMSuiviDesTemps.m_sRefInterneInterv | | | | | +| -------- | -------------------------------------- | --- | --- | --- | --- | +LIB__tabMSuiviDesTemps_Nb 41.76 0.00 6.20 18.89 0.10 Continu -BG- +Libellé +Heure +| Rubrique | :tabMSuiviDesTemps.NbHeure | | | | | +| -------- | -------------------------- | --- | --- | --- | --- | +LIB__tabMSuiviDesTemps_m_ 60.65 0.00 6.20 28.68 0.10 Continu -BG- +Libellé +nIDTypeTemps +| Rubrique | :tabMSuiviDesTemps.pLibTypeTemps | | | | | +| -------- | -------------------------------- | --- | --- | --- | --- | +LIB__tabMSuiviDesTemps_m_ 89.33 0.00 6.20 65.46 0.10 Continu -BG- +Libellé +sLibelle +| Rubrique | :tabMSuiviDesTemps.m_sLibelle | | | | | +| -------- | ----------------------------- | --- | --- | --- | --- | +LIB__tabMSuiviDesTemps_m_ 154.79 0.00 6.20 15.32 0.10 Continu -BGD +Libellé +rPonderation +| Rubrique | :tabMSuiviDesTemps.m_rPonderation | | | | | +| ------------------------------ | --------------------------------- | ----------- | -------------------------- | --- | ---- | +| CALC_SOMMEHEURE | Calcul | 41.76 0.00 | 6.20 18.89 | | | +| Rubrique | :tabMSuiviDesTemps.NbHeure | | | | | +| TotalCollab | Libellé | 14.00 0.00 | 6.20 26.00 | | | +| CALC_SOMMEPONDERE | Calcul | 154.79 0.00 | 6.20 15.32 | | | +| Rubrique | :tabMSuiviDesTemps.NbHeurePondere | | | | | +| NUMNBPAGES | Prédéfini | 136.72 0.70 | 5.72 33.28 | | | +| LIBELLECOMPTEUR | Libellé | 0.00 7.00 | 5.72 26.00 | | | +| | | 26.00 7.00 | 5.72 32.76 | | | +| COMPTEUR | Calcul | | | | | +| CALC_SansNom | Calcul | 41.76 0.00 | 6.20 18.89 | | | +| Rubrique | :tabMSuiviDesTemps.NbHeure | | | | | +| | | 23.76 0.00 | 6.20 17.00 | | | +| TotalCollab1 | Libellé | | | | | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | +| 06/08/2026 | | Isis_BO | | | 5471 | + +Partie 5 › Etat › ETAT_SuivieDesTemps › Informations sur les champs +Epais. : Epaisseur du cadre (mm) +Détails des champs +¹ *meM.veD +¹ *ffA.veD +idnorrA +| | Type | Masque | | Champ suiveur | | +| --- | ---- | ------ | --- | ------------- | --- | +oruE +| CALC_SansNom | Somme | Numérique | | | | +| ----------------------------- | -------- | --------- | -------------------------- | --- | --- | +| CALC_SOMMEPONDER | Somme | Numérique | | | | +| CALC_SOMMEHEURE | Somme | Numérique | | | | +| COMPTEUR | Compteur | Numérique | | | | +| ¹ Dev.Mem* : Devise mémorisée | | | Dev.Aff* : Devise affichée | | | +Détails des champs +Type de champ Prédéfini +| NUMNBPAGES | [NUMPAGE] / [NBPAGES] | | | | | +| ---------- | --------------------- | --- | ------- | --- | ---- | +| CHAMP58 | Date | | | | | +| 06/08/2026 | | | Isis_BO | | 5472 | + +Partie 5 › Etat › ETAT_SuivieDesTemps › Code +ETAT_SuivieDesTemps +Code +Ouverture de ETAT_SuivieDesTemps +procédure ETAT_SuivieDesTemps(tabMSuiviDesTemps est tableau de MSuiviDesTemps dynamique,sPeriode est +une chaîne) +IMG_Logo = gLOGO_FOND_CLAIR +06/08/2026 Isis_BO 5473 + +Partie 5 › Etat › EI_CONTACT_CLIENT › Image +EI_CONTACT_CLIENT +Image +EI_CONTACT_CLIENT +Informations générales +EI_CONTACT_CLIENT +| Nom logique de l'état | EI_CONTACT_CLIENT | | | | | | +| --------------------- | ----------------- | --- | --- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\EI_CONTACT_CLIENT.wde +| Type | Libre | | | | | | +| ---- | ----- | --- | --- | --- | --- | --- | +Type de source de données +| Nom de la source | :gclEtatFicheDeplacement.m_clListeContactCli | | | | | | +| ----------------- | -------------------------------------------- | --- | ----------------- | ------ | --- | --- | +| Format de la page | A4 (210 x 297 mm) | | | | | | +| Marge haute (mm) | 0.00 | | Marge basse (mm) | 0.00 | | | +| Marge gauche (mm) | 0.00 | | Marge droite (mm) | 115.26 | | | +EI_CONTACT_CLIENT +Informations sur les champs +)mm( ruetuaH +)mm( ruegraL +¹ txE.otuA +¹ uaelbaT +| | Type | X Y | | elbacéS | | noitisoP | +| --- | ---- | --- | --- | ---------------- | --- | -------- | +| | | | | elbisiV ¹ .siapE | | | +erdaC +tiarT +| | | 0.00 0.00 | 6.00 35.10 | 0.10 | | | +| ----------------- | ------- | --------- | ---------- | ---- | ------- | ---- | +| LIB_CONTACTCLIENT | Libellé | | | | Continu | HBG- | +Rubrique +:gclEtatFicheDeplacement.m_clListeContactCli.m_clContact.CiviliteNomPrenom +LIB_SansNom10 Libellé 35.10 0.00 6.00 13.83 0.10 Continu HBG- +Rubrique :gclEtatFicheDeplacement.m_clListeContactCli.m_clContact.LibRole +LIB_MESSAGE_CONTACT_CLIE 48.91 0.00 6.00 45.83 0.10 Continu HBGD +Libellé +NT +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | | +| ------------------------------ | --- | --- | -------------------------- | --- | --- | --- | +Epais. : Epaisseur du cadre (mm) +| 06/08/2026 | | Isis_BO | | | | 5474 | +| ---------- | --- | ------- | --- | --- | --- | ---- | + +Partie 5 › Etat › EI_CONTACT_CLIENT › Code +EI_CONTACT_CLIENT +Code +Ouverture de EI_CONTACT_CLIENT +procédure EI_CONTACT_CLIENT(gclEtatFicheDeplacement est un MEtatFicheIntervention dynamique) +//,nIteration est un entier +i est un entier +Lecture des données de EI_CONTACT_CLIENT +//i+=1 +//SI i<=nIteration ALORS +// RENVOYER Vrai +//SINON +// RENVOYER Faux +//FIN +06/08/2026 Isis_BO 5475 + +Partie 5 › Etat › ETAT_FicheIntervention › Image +ETAT_FicheIntervention +Image +ETAT_FicheIntervention +Informations générales +ETAT_FicheIntervention +Nom logique de l'état ETAT_FicheIntervention +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\ETAT_FicheIntervention.wde +Type Tableau +Thème 210 Blueberries +Type de source de données +06/08/2026 Isis_BO 5476 + +Partie 5 › Etat › ETAT_FicheIntervention › Informations générales +| Nom de la source | :gclEtatFicheDeplacement.m_clListeContact | | | | | | +| ----------------- | ----------------------------------------- | --- | ----------------- | --- | ----- | --- | +| Format de la page | A4 (210 x 297 mm) | | | | | | +| Marge haute (mm) | 20.00 | | Marge basse (mm) | | 20.00 | | +| Marge gauche (mm) | 20.00 | | Marge droite (mm) | | 20.00 | | +ETAT_FicheIntervention +Informations sur les champs +)mm( ruetuaH +)mm( ruegraL +¹ txE.otuA +¹ uaelbaT +| | Type | X | Y | elbacéS | | noitisoP | +| --- | ---- | --- | --- | ------- | -------- | -------- | +| | | | | elbisiV | ¹ .siapE | | +erdaC +tiarT +| IMG_LogoSociete | Image | 0.00 | 0.00 20.22 23.28 | | | | +| --------------- | --------- | ------ | ----------------- | --- | ------------ | ---- | +| | | 23.39 | 0.11 9.79 124.62 | | | | +| TITREDOC | Libellé | | | | | | +| CHAMP58 | Prédéfini | 150.92 | 0.11 6.62 19.05 | | | | +| SOCIETE | Libellé | 23.34 | 10.43 9.79 124.62 | | | | +| LIB_SansNom | Libellé | 0.00 | 112.45 6.09 63.61 | | 0.10 Continu | HBG- | +DESCRIPTIONINTERVENTION Libellé 0.00 34.66 57.07 101.60 0.20 Continu HBGD +Rubrique +:gclEtatFicheDeplacement.m_sDescription +| DONNEURORDRE2 | Libellé | 28.05 | 21.14 6.09 73.66 | | | | +| ------------------------ | ------------------------------------------ | ------ | ---------------- | --- | --- | --- | +| Rubrique | :gclEtatFicheDeplacement.m_sDonneurOrdre_2 | | | | | | +| DONNEURORDRE | Libellé | 28.05 | 13.79 6.09 73.66 | | | | +| Rubrique | :gclEtatFicheDeplacement.m_sDonneurOrdre_1 | | | | | | +| LIBREFEXTERNEINTERVENTIO | | 102.86 | 13.70 6.08 10.05 | | | | +Libellé +N +| REFEXTERNEINTERVENTION | Libellé | 113.77 | 13.70 6.08 56.20 | | | | +| ------------------------ | -------------------------------------------------- | ------ | ----------------- | --- | ------------ | ---- | +| Rubrique | :gclEtatFicheDeplacement.m_sRefExterneIntervention | | | | | | +| CLIENT | Libellé | 28.05 | 7.50 5.82 141.93 | | | | +| Rubrique | :gclEtatFicheDeplacement.m_sNomClient | | | | | | +| | | 0.00 | 27.71 2.12 169.86 | | 0.04 | | +| Ligne43 | Forme | | | | Continu | H--- | +| LIBOBJET | Libellé | 0.12 | 28.20 6.09 27.63 | | | | +| LIBDONNEURDORDRE | Libellé | 0.00 | 13.93 6.09 27.63 | | | | +| LIBCLIENT | Libellé | 0.00 | 7.70 6.08 27.63 | | | | +| FRM_FORME4 | Forme | 105.30 | 34.73 57.61 65.35 | | 0.20 Continu | HBGD | +| CODEACCESSITE | Libellé | 106.63 | 64.56 19.38 63.24 | | | | +| Rubrique | :gclEtatFicheDeplacement.m_sCodeAcces | | | | | | +| | | 105.79 | 58.51 5.03 22.60 | | | | +| LIB_CODEACCESSITE | Libellé | | | | | | +| PRESENTATIONADRESSESITE | Libellé | 105.79 | 35.38 19.95 64.82 | | | | +| Rubrique | :gclEtatFicheDeplacement.m_sAdresseSite | | | | | | +| Ligne42 | Forme | 0.11 | 6.42 2.12 169.86 | | 0.04 Continu | H--- | +| LIBREFINTERNEINTERVENTIO | | 0.05 | 0.00 5.62 14.79 | | | | +Libellé +N +| REFINTERNEINTERVENTION | Libellé | 15.84 | 0.00 5.62 22.67 | | | | +| ---------------------- | ------- | ----- | --------------- | --- | --- | ---- | +| 06/08/2026 | | | Isis_BO | | | 5477 | + +Partie 5 › Etat › ETAT_FicheIntervention › Informations sur les champs +| Rubrique | :gclEtatFicheDeplacement.m_sRefInterneIntervention | | | | | +| ------------------- | -------------------------------------------------- | ----------- | ---------- | --- | --- | +| DATEINTERVENTION | Libellé | 65.92 0.00 | 5.62 22.67 | | | +| Rubrique | :gclEtatFicheDeplacement.m_dDateIntervention | | | | | +| LIBDATEINTERVENTION | Libellé | 40.45 0.00 | 5.62 25.42 | | | +| LIBSUIVIPAR | Libellé | 101.71 0.00 | 5.62 22.39 | | | +| SUIVIPAR | Libellé | 124.73 0.02 | 5.56 45.14 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sSuiviPar | | | | | +LIB_SansNom2 Libellé 63.61 112.45 6.09 32.00 0.10 Continu HBG- +LIB_SansNom4 Libellé 95.61 112.45 6.09 23.92 0.10 Continu HBG- +| | | 119.53 112.45 | 6.09 23.92 | 0.10 | | +| ------------ | ------- | ------------- | ---------- | ------- | ---- | +| LIB_SansNom7 | Libellé | | | Continu | HBG- | +LIB_SansNom9 Libellé 143.45 112.45 6.09 26.83 0.10 Continu HBGD +| LIBCONTACT | Libellé | 0.42 105.65 | 6.09 27.63 | | | +| -------------- | ------- | ------------ | ---------- | --- | --- | +| LIB_BADGE | Libellé | 111.96 85.50 | 5.90 13.93 | | | +| | | 147.92 85.50 | 5.90 21.93 | | | +| LIB_INTERPHONE | Libellé | | | | | +| IMG_BADGE | Image | 106.65 86.40 | 4.23 4.23 | | | +FRM_COCHE_BADGE Forme 106.65 86.40 4.23 4.23 0.20 Continu HBGD +| IMG_INTERPHONE | Image | 142.45 86.50 | 4.23 4.23 | | | +| -------------- | ----- | ------------ | --------- | --- | --- | +FRM_COCHE_INTERPHONE Forme 142.45 86.50 4.23 4.23 0.20 Continu HBGD +| LIB_SansNom6 | Libellé | 0.00 0.00 | 7.41 63.61 | 0.10 Continu | -BG- | +| ------------ | ------- | --------- | ---------- | ------------ | ---- | +Rubrique :gclEtatFicheDeplacement.m_clListeContact.m_clContact.NomPrenom +| | | 63.61 0.00 | 7.41 32.00 | 0.10 | | +| ------------ | ------- | ---------- | ---------- | ------- | ---- | +| LIB_SansNom1 | Libellé | | | Continu | -BG- | +Rubrique :gclEtatFicheDeplacement.m_clListeContact.m_clContact.LibRole +| LIB_SansNom3 | Libellé | 95.61 0.00 | 7.41 23.92 | 0.10 Continu | -BG- | +| ------------ | ------- | ---------- | ---------- | ------------ | ---- | +Rubrique :gclEtatFicheDeplacement.m_clListeContact.m_clContact.m_sTelFixe +LIB_SansNom5 Libellé 119.53 0.00 7.41 23.92 0.10 Continu -BG- +Rubrique :gclEtatFicheDeplacement.m_clListeContact.m_clContact.m_sTelMobile +LIB_SansNom8 Libellé 143.45 0.00 7.41 26.83 0.10 Continu -BGD +Rubrique :gclEtatFicheDeplacement.m_clListeContact.m_clLieuPersonne.m_sEtage +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | +| ------------------------------ | --- | --- | -------------------------- | --- | --- | +Epais. : Epaisseur du cadre (mm) +Détails des champs +Type de champ Prédéfini +| CHAMP58 Date | | | | | | +| ------------ | --- | ------- | --- | --- | ---- | +| 06/08/2026 | | Isis_BO | | | 5478 | + +Partie 5 › Etat › ETAT_FicheIntervention › Code +ETAT_FicheIntervention +Code +Ouverture de ETAT_FicheIntervention +procédure ETAT_FicheIntervention(gclEtatFicheDeplacement est un MEtatFicheIntervention dynamique) +si gclEtatFicheDeplacement=Null alors +gclEtatFicheDeplacement=allouer un MEtatFicheDeplacement +c est un MIntervention_Personne +// c:m_sNom="Toto" +// c:m_bActif=vrai +gclEtatFicheDeplacement:m_clListeContact.Ajoute(c) +sinon +si gclEtatFicheDeplacement:m_clListeContact..Occurrence=0 alors +b est un MIntervention_Personne +gclEtatFicheDeplacement:m_clListeContact.Ajoute(b) +fin +fin +//SOCIETE=gclRendezVous:FicheIntervention:FicheSociete:m_sNom +//REFINTERNEINTERVENTION = gclRendezVous:FicheIntervention.m_sRefInterne +//DATEINTERVENTION= gclRendezVous:FicheIntervention.m_dDateIntervention +//SUIVIPAR= gclRendezVous:FicheIntervention.FicheSuiveur:NomPrenom +////*********************Occupant********************** +//CiviliteNomPrenomOccupant = gclRendezVous:FicheOccupant:CiviliteNomPrenom +//TelFixeOccupant=gclRendezVous:FicheOccupant:m_sTelFixe +//TelMobileOccupant=gclRendezVous:FicheOccupant:m_sTelMobile +// +//PRESENTATIONADRESSESITE = gclRendezVous:FicheIntervention:FicheLieu:m_clAdresse:m_sPresentation +//CODEACCESSITE=gclRendezVous:FicheIntervention:FicheLieu:m_sCodeAcces +////**********************Client********************** +//CLIENT=gclRendezVous:FicheIntervention:FicheClient:m_sNom +//REFEXTERNEINTERVENTION=gclRendezVous:FicheIntervention:m_sRefExterne +////**********************Rendez-vous********************** +//DATERENDEZVOUS=gclRendezVous:DateRendezVous +//DESCRIPTIONINTERVENTION=gclRendezVous:m_sDescription +//nCptDonneur est un entier = gclRendezVous:FicheIntervention:ListeContactClient.p_nTotal +//SI nCptDonneur>0 ALORS +// SELON nCptDonneur +// +CAS 1 : DONNEURORDRE = +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +// AUTRE CAS : +// +DONNEURORDRE = +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +// +DONNEURORDRE2= +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[2]:m_clContact:CiviliteNomPrenom +// FIN +//FIN +//POUR i = 1 _A_ gclRendezVous:m_clListeCollabGroup..Occurrence +// +//FIN +i est un entier +//j est un entier +06/08/2026 Isis_BO 5479 + +Partie 5 › Etat › ETAT_FicheIntervention › Code des champs +ETAT_FicheIntervention +Code des champs +Avant impression de CORPS +//SI i<>j ALORS +// LIB_SansNom6=gclRendezVous:m_clListeCollabGroup[i]:NomPrenom +// j=i +//FIN +Avant impression de HAUT_DE_PAGE +si gclEtatFicheDeplacement:m_bBadge alors +IMG_BADGE..Visible = Vrai +sinon +IMG_BADGE..Visible = Faux +fin +si gclEtatFicheDeplacement:m_bInterphone alors +IMG_INTERPHONE..Visible = Vrai +sinon +IMG_INTERPHONE..Visible = Faux +fin +DESCRIPTIONINTERVENTION = RTFVersTexte(DESCRIPTIONINTERVENTION) +06/08/2026 Isis_BO 5480 + +Partie 5 › Etat › ETAT_CompteRendu_Intervention › Image +ETAT_CompteRendu_Intervention +Image +| 06/08/2026 | Isis_BO | 5481 | +| ---------- | ------- | ---- | + +Partie 5 › Etat › ETAT_CompteRendu_Intervention › Informations générales +ETAT_CompteRendu_Intervention +Informations générales +| ETAT_CompteRendu_Intervention | Compte rendu d'intervention | | | | | +| ----------------------------- | ----------------------------- | --- | --- | --- | --- | +| Nom logique de l'état | ETAT_CompteRendu_Intervention | | | | | +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\ETAT_CompteRendu_Intervention.wde +| Type | Libre | | | | | +| ------------------------- | ------------------------ | --- | --- | --- | --- | +| Type de source de données | Pas de source de données | | | | | +Nom de la source +| Format de la page | A4 (210 x 297 mm) | | | | | +| ----------------- | ----------------- | --- | ----------------- | ----- | --- | +| Marge haute (mm) | 20.00 | | Marge basse (mm) | 20.00 | | +| Marge gauche (mm) | 20.00 | | Marge droite (mm) | 20.00 | | +ETAT_CompteRendu_Intervention +Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | +| --- | ---- | --- | --- | ---------------- | --- | +elbisiV erdaC +tiarT +| IMG_LogoSociete | Image | 0.00 0.00 | 20.22 23.28 | | | +| ------------------------ | ------------------------ | ----------- | ----------- | --- | --- | +| Rubrique | :gLOGO_FOND_CLAIR..Image | | | | | +| TITREDOC | Libellé | 23.39 0.11 | 9.79 124.62 | | | +| | | 150.92 0.11 | 6.62 19.05 | | | +| CHAMP58 | Prédéfini | | | | | +| LIBREFINTERNEINTERVENTIO | | 0.05 1.00 | 5.62 14.79 | | | +Libellé +N +| REFINTERNEINTERVENTION | Libellé | 15.84 1.00 | 5.62 22.67 | | | +| ---------------------- | ------------------------------------------ | ----------- | ----------- | ------------ | ---- | +| Rubrique | :gclEtatCRInterv.m_sRefInterneIntervention | | | | | +| LIBSUIVIPAR | Libellé | 101.71 1.00 | 5.62 22.39 | | | +| SUIVIPAR | Libellé | 124.73 1.02 | 5.56 45.14 | | | +| Rubrique | :gclEtatCRInterv.m_sSuiviPar | | | | | +| Ligne42 | Forme | 0.11 7.42 | 2.12 169.86 | 0.04 Continu | H--- | +| LIBCLIENT | Libellé | 0.00 8.70 | 6.08 27.63 | | | +| CLIENT | Libellé | 28.05 8.84 | 5.82 141.93 | | | +| Rubrique | :gclEtatCRInterv.m_sNomClient | | | | | +| LIBOBJET | Libellé | 0.12 18.79 | 6.09 27.63 | | | +DESCRIPTIONINTERVENTION Libellé 0.00 25.40 35.88 170.13 0.20 Continu HBGD +| Rubrique | :gclEtatCRInterv.m_sDescription | | | | | +| ------------- | ------------------------------- | ---------- | ---------- | --- | ---- | +| LIBNOTECOLLAB | Libellé | 0.00 84.14 | 6.09 32.92 | | | +| 06/08/2026 | | Isis_BO | | | 5482 | + +Partie 5 › Etat › ETAT_CompteRendu_Intervention › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | +| --- | ---- | --- | --- | ---------------- | --- | +elbisiV erdaC +tiarT +| NOTECOLLAB | Libellé | 0.00 90.52 | 57.15 82.66 | 0.20 Continu | HBGD | +| ----------------- | -------------------------------------------------- | ----------- | ----------- | ------------ | ---- | +| Rubrique | :gclEtatCRInterv.m_clCRInterv.m_sNoteCollaborateur | | | | | +| LIBNOTESIGNATAIRE | Libellé | 88.11 84.14 | 6.09 26.57 | | | +NOTESIGNATAIRE Libellé 88.22 90.52 57.15 81.65 0.20 Continu HBGD +| Rubrique | :gclEtatCRInterv.m_clCRInterv.m_sNoteSignataire | | | | | +| ---------------- | ------------------------------------------------ | ------------- | ----------- | --- | --- | +| TEXTE8 | Libellé | 50.64 71.26 | 6.09 32.02 | | | +| Rubrique | :gclEtatCRInterv.m_clCRInterv.m_dhDateHeureDebut | | | | | +| LIBDATEDEBUT | Libellé | 34.81 71.26 | 6.09 15.00 | | | +| LIBDATEFIN | Libellé | 88.22 70.81 | 7.00 10.00 | | | +| TEXTE9 | Libellé | 98.91 70.81 | 6.09 32.02 | | | +| Rubrique | :gclEtatCRInterv.m_clCRInterv.m_dhDateHeureFin | | | | | +| IMG_SIGNATURE | Image | 88.11 167.22 | 27.94 82.13 | | | +| Rubrique | :gclEtatCRInterv.m_clCRInterv.m_Signature | | | | | +| SIGNATAIRE | Libellé | 114.57 84.14 | 5.82 55.67 | | | +| Rubrique | :gclEtatCRInterv.m_clCRInterv.m_sNomSignataire | | | | | +| COLLABORATEUR | Libellé | 32.81 84.40 | 5.82 49.85 | | | +| Rubrique | :gclEtatCRInterv.m_clCRInterv.m_sNomSignataire | | | | | +| LIBDATESIGNATURE | Libellé | 88.11 155.34 | 6.09 15.00 | | | +| SIGNELE | Libellé | 103.71 155.34 | 6.09 32.02 | | | +Rubrique :gclEtatCRInterv.m_clCRInterv.m_dhDateHeureSignature +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | +| ------------------------------ | --- | --- | -------------------------- | --- | --- | +Epais. : Epaisseur du cadre (mm) +Détails des champs +Type de champ Prédéfini +| CHAMP58 Date | | | | | | +| ------------ | --- | ------- | --- | --- | ---- | +| 06/08/2026 | | Isis_BO | | | 5483 | + +Partie 5 › Etat › ETAT_CompteRendu_Intervention › Code +ETAT_CompteRendu_Intervention +Code +Ouverture de ETAT_CompteRendu_Intervention +procédure ETAT_CompteRendu_Intervention(gclEtatCRInterv est un MEtatCRIntervention dynamique) +ETAT_CompteRendu_Intervention +Code des champs +Avant impression de HAUT_DE_PAGE +DESCRIPTIONINTERVENTION = RTFVersTexte(DESCRIPTIONINTERVENTION) +NOTECOLLAB = RTFVersTexte(NOTECOLLAB) +NOTESIGNATAIRE = RTFVersTexte(NOTESIGNATAIRE) +06/08/2026 Isis_BO 5484 + +Partie 5 › Etat › EI_FOURNITURE › Image +EI_FOURNITURE +Image +EI_FOURNITURE +Informations générales +EI_FOURNITURE +| Nom logique de l'état | EI_FOURNITURE | | | | | | +| --------------------- | ------------- | --- | --- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\EI_FOURNITURE.wde +| Type | Libre | | | | | | +| ------------------------- | ------------- | --- | --- | --- | --- | --- | +| Type de source de données | Fichier texte | | | | | | +Nom de la source +| Format de la page | A4 (210 x 297 mm) | | | | | | +| ----------------- | ----------------- | --- | ----------------- | --- | ----- | --- | +| Marge haute (mm) | 0.00 | | Marge basse (mm) | | 0.00 | | +| Marge gauche (mm) | 0.00 | | Marge droite (mm) | | 22.00 | | +EI_FOURNITURE +Informations sur les champs +)mm( ruetuaH +)mm( ruegraL +¹ txE.otuA +¹ uaelbaT +| | Type | X | Y | elbacéS | | noitisoP | +| --- | ---- | --- | --- | ------- | -------- | -------- | +| | | | | elbisiV | ¹ .siapE | | +erdaC +tiarT +| | | 0.00 | 0.00 6.00 12.08 | | 0.00 | | +| ------- | ------- | ---- | --------------- | --- | ------- | ---- | +| LIB_NUM | Libellé | | | | Continu | -BG- | +LIB_DESCRIPTIF Libellé 12.08 0.00 6.00 35.55 0.00 Continu -BG- +LIB_FOURNITURE Libellé 47.63 0.00 6.00 83.52 0.00 Continu -BG- +| LIB_QTE | Libellé | 131.23 | 0.00 6.00 11.81 | | 0.00 Continu | -BG- | +| ------------------------------ | ------- | ------ | -------------------------- | --- | ------------ | ---- | +| LIB_PU | Libellé | 143.05 | 0.00 6.00 21.00 | | 0.00 Continu | -BG- | +| LIB_PRIX | Libellé | 164.05 | 0.00 6.00 23.98 | | 0.00 Continu | -BGD | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | | +Epais. : Epaisseur du cadre (mm) +| 06/08/2026 | | | Isis_BO | | | 5485 | +| ---------- | --- | --- | ------- | --- | --- | ---- | + +Partie 5 › Etat › EI_FOURNITURE › Code +EI_FOURNITURE +Code +Ouverture de EI_FOURNITURE +procédure EI_FOURNITURE(nIteration est un entier = 0) +i est un entier +Lecture des données de EI_FOURNITURE +i+=1 +si i<=nIteration alors +renvoyer Vrai +sinon +renvoyer Faux +fin +06/08/2026 Isis_BO 5486 + +Partie 5 › Etat › EI_CONTACT_CLIENT_PETITE_FICHE › Image +EI_CONTACT_CLIENT_PETITE_FICHE +Image +EI_CONTACT_CLIENT_PETITE_FICHE +Informations générales +EI_CONTACT_CLIENT_PETITE_FICHE +| Nom logique de l'état | EI_CONTACT_CLIENT_PETITE_FICHE | | | | | | +| --------------------- | ------------------------------ | --- | --- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\EI_CONTACT_CLIENT_PETITE_FICHE.wde +| Type | Libre | | | | | | +| ---- | ----- | --- | --- | --- | --- | --- | +Type de source de données +| Nom de la source | :gclEtatFicheDeplacement.m_clListeContactCli | | | | | | +| ----------------- | -------------------------------------------- | --- | ----------------- | ---- | --- | --- | +| Format de la page | A5 (148 x 210 mm) | | | | | | +| Marge haute (mm) | 0.00 | | Marge basse (mm) | 0.00 | | | +| Marge gauche (mm) | 0.00 | | Marge droite (mm) | 8.00 | | | +EI_CONTACT_CLIENT_PETITE_FICHE +Informations sur les champs +)mm( ruetuaH +)mm( ruegraL +¹ txE.otuA +¹ uaelbaT +| | Type | X Y | | elbacéS | | noitisoP | +| --- | ---- | --- | --- | ---------------- | --- | -------- | +| | | | | elbisiV ¹ .siapE | | | +erdaC +tiarT +| | | 0.00 0.00 | 6.00 47.56 | 0.10 | | | +| ----------------- | ------- | --------- | ---------- | ---- | ------- | ---- | +| LIB_CONTACTCLIENT | Libellé | | | | Continu | HBG- | +Rubrique +:gclEtatFicheDeplacement.m_clListeContactCli.m_clContact.CiviliteNomPrenom +LIB_SansNom10 Libellé 47.56 0.00 6.00 26.30 0.10 Continu HBG- +Rubrique :gclEtatFicheDeplacement.m_clListeContactCli.m_clContact.LibRole +LIB_MESSAGE_CONTACT_CLIE 73.80 0.00 6.00 66.15 0.10 Continu HBGD +Libellé +NT +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | | +| ------------------------------ | --- | --- | -------------------------- | --- | --- | --- | +Epais. : Epaisseur du cadre (mm) +| 06/08/2026 | | Isis_BO | | | | 5487 | +| ---------- | --- | ------- | --- | --- | --- | ---- | + +Partie 5 › Etat › EI_CONTACT_CLIENT_PETITE_FICHE › Code +EI_CONTACT_CLIENT_PETITE_FICHE +Code +Ouverture de EI_CONTACT_CLIENT_PETITE_FICHE +procédure EI_CONTACT_CLIENT_PETITE_FICHE(gclEtatFicheDeplacement est un MEtatFicheIntervention +dynamique)//,nIteration est un entier +i est un entier +Lecture des données de EI_CONTACT_CLIENT_PETITE_FICHE +//i+=1 +//SI i<=nIteration ALORS +// RENVOYER Vrai +//SINON +// RENVOYER Faux +//FIN +06/08/2026 Isis_BO 5488 + +Partie 5 › Etat › EI_CONTACT_SITE › Image +EI_CONTACT_SITE +Image +EI_CONTACT_SITE +Informations générales +EI_CONTACT_SITE +| Nom logique de l'état | EI_CONTACT_SITE | | | | +| --------------------- | --------------- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\EI_CONTACT_SITE.wde +| Type | Libre | | | | +| ---- | ----- | --- | --- | --- | +Type de source de données +| Nom de la source | :gclEtatFicheDeplacement.m_clListeContact | | | | +| ----------------- | ----------------------------------------- | ----------------- | ------ | --- | +| Format de la page | A4 (210 x 297 mm) | | | | +| Marge haute (mm) | 0.00 | Marge basse (mm) | 0.00 | | +| Marge gauche (mm) | 0.00 | Marge droite (mm) | 115.26 | | +EI_CONTACT_SITE +Informations sur les champs +)mm( ruetuaH +)mm( ruegraL +¹ txE.otuA +¹ uaelbaT +| | Type | X Y | elbacéS | noitisoP | +| --- | ---- | --- | ------- | -------- | +elbisiV ¹ .siapE +erdaC +tiarT +0.00 0.00 6.09 94.72 +| LIB_CONTACTCLIENT Libellé | | | | | +| ------------------------- | --- | --- | --- | --- | +Rubrique +:gclEtatFicheDeplacement.m_clListeContact.m_clContact.NomEtTel +¹ Tableau : Champ d'un tableau Auto.Ext : Auto extensible +Epais. : Epaisseur du cadre (mm) +| 06/08/2026 | | Isis_BO | | 5489 | +| ---------- | --- | ------- | --- | ---- | + +Partie 5 › Etat › EI_CONTACT_SITE › Code +EI_CONTACT_SITE +Code +Ouverture de EI_CONTACT_SITE +procédure EI_CONTACT_SITE(gclEtatFicheDeplacement est un MEtatFicheIntervention dynamique) +//,nIteration est un entier +i est un entier +Lecture des données de EI_CONTACT_SITE +//i+=1 +//SI i<=nIteration ALORS +// RENVOYER Vrai +//SINON +// RENVOYER Faux +//FIN +06/08/2026 Isis_BO 5490 + +Partie 5 › Etat › EI_COLLAB_INTERVENTION › Image +EI_COLLAB_INTERVENTION +Image +EI_COLLAB_INTERVENTION +Informations générales +EI_COLLAB_INTERVENTION +| Nom logique de l'état | EI_COLLAB_INTERVENTION | | | | +| --------------------- | ---------------------- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\EI_COLLAB_INTERVENTION.wde +| Type | Libre | | | | +| ---- | ----- | --- | --- | --- | +Type de source de données +Nom de la source :gclEtatFicheDeplacement.m_clListeCollaborateur +| Format de la page | A4 (210 x 297 mm) | | | | +| ----------------- | ----------------- | ----------------- | ------ | --- | +| Marge haute (mm) | 0.00 | Marge basse (mm) | 0.00 | | +| Marge gauche (mm) | 0.00 | Marge droite (mm) | 115.26 | | +EI_COLLAB_INTERVENTION +Informations sur les champs +)mm( ruetuaH +)mm( ruegraL +¹ txE.otuA +¹ uaelbaT +| | Type | X Y | elbacéS | noitisoP | +| --- | ---- | --- | ------- | -------- | +elbisiV ¹ .siapE +erdaC +tiarT +0.00 0.00 6.09 94.72 +| LIB_CONTACTCLIENT Libellé | | | | | +| ------------------------- | --- | --- | --- | --- | +Rubrique +:gclEtatFicheDeplacement.m_clListeCollaborateur.m_clCollaborateur.NomPrenom +¹ Tableau : Champ d'un tableau Auto.Ext : Auto extensible +Epais. : Epaisseur du cadre (mm) +| 06/08/2026 | | Isis_BO | | 5491 | +| ---------- | --- | ------- | --- | ---- | + +Partie 5 › Etat › EI_COLLAB_INTERVENTION › Code +EI_COLLAB_INTERVENTION +Code +Ouverture de EI_COLLAB_INTERVENTION +procédure EI_COLLAB_INTERVENTION(gclEtatFicheDeplacement est un MEtatFicheIntervention dynamique) +//,nIteration est un entier +i est un entier +Lecture des données de EI_COLLAB_INTERVENTION +//i+=1 +//SI i<=nIteration ALORS +// RENVOYER Vrai +//SINON +// RENVOYER Faux +//FIN +06/08/2026 Isis_BO 5492 + +Partie 5 › Etat › EI_COLLAB_RDV › Image +EI_COLLAB_RDV +Image +EI_COLLAB_RDV +Informations générales +EI_COLLAB_RDV +| Nom logique de l'état | EI_COLLAB_RDV | | | | +| --------------------- | ------------- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\EI_COLLAB_RDV.wde +| Type | Libre | | | | +| ---- | ----- | --- | --- | --- | +Type de source de données +Nom de la source :gclEtatFicheDeplacement.m_clListeCollabGroup +| Format de la page | A4 (210 x 297 mm) | | | | +| ----------------- | ----------------- | ----------------- | ------ | --- | +| Marge haute (mm) | 0.00 | Marge basse (mm) | 0.00 | | +| Marge gauche (mm) | 0.00 | Marge droite (mm) | 115.26 | | +EI_COLLAB_RDV +Informations sur les champs +)mm( ruetuaH +)mm( ruegraL +¹ txE.otuA +¹ uaelbaT +| | Type | X Y | elbacéS | noitisoP | +| --- | ---- | --- | ------- | -------- | +elbisiV ¹ .siapE +erdaC +tiarT +0.00 0.00 6.09 94.72 +| LIB_CONTACTCLIENT Libellé | | | | | +| ------------------------- | --- | --- | --- | --- | +Rubrique +:gclEtatFicheDeplacement.m_clListeCollabGroup.NomPrenom +¹ Tableau : Champ d'un tableau Auto.Ext : Auto extensible +Epais. : Epaisseur du cadre (mm) +| 06/08/2026 | | Isis_BO | | 5493 | +| ---------- | --- | ------- | --- | ---- | + +Partie 5 › Etat › EI_COLLAB_RDV › Code +EI_COLLAB_RDV +Code +Ouverture de EI_COLLAB_RDV +procédure EI_COLLAB_RDV(gclEtatFicheDeplacement est un MEtatFicheDeplacement dynamique) +//,nIteration est un entier +i est un entier +Lecture des données de EI_COLLAB_RDV +//i+=1 +//SI i<=nIteration ALORS +// RENVOYER Vrai +//SINON +// RENVOYER Faux +//FIN +06/08/2026 Isis_BO 5494 + +Partie 5 › Etat › EI_CONTACT_SITE_RDV › Image +EI_CONTACT_SITE_RDV +Image +EI_CONTACT_SITE_RDV +Informations générales +EI_CONTACT_SITE_RDV +| Nom logique de l'état | EI_CONTACT_SITE_RDV | | | | +| --------------------- | ------------------- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\EI_CONTACT_SITE_RDV.wde +| Type | Libre | | | | +| ---- | ----- | --- | --- | --- | +Type de source de données +| Nom de la source | :gclEtatFicheDeplacement.m_clListePersonne | | | | +| ----------------- | ------------------------------------------ | ----------------- | ------ | --- | +| Format de la page | A4 (210 x 297 mm) | | | | +| Marge haute (mm) | 0.00 | Marge basse (mm) | 0.00 | | +| Marge gauche (mm) | 0.00 | Marge droite (mm) | 115.26 | | +EI_CONTACT_SITE_RDV +Informations sur les champs +)mm( ruetuaH +)mm( ruegraL +¹ txE.otuA +¹ uaelbaT +| | Type | X Y | elbacéS | noitisoP | +| --- | ---- | --- | ------- | -------- | +elbisiV ¹ .siapE +erdaC +tiarT +0.00 0.00 6.09 94.72 +| LIB_CONTACTCLIENT Libellé | | | | | +| ------------------------- | --- | --- | --- | --- | +Rubrique +:gclEtatFicheDeplacement.m_clListePersonne.CiviliteNomPrenom +¹ Tableau : Champ d'un tableau Auto.Ext : Auto extensible +Epais. : Epaisseur du cadre (mm) +| 06/08/2026 | | Isis_BO | | 5495 | +| ---------- | --- | ------- | --- | ---- | + +Partie 5 › Etat › EI_CONTACT_SITE_RDV › Code +EI_CONTACT_SITE_RDV +Code +Ouverture de EI_CONTACT_SITE_RDV +procédure EI_CONTACT_SITE_RDV(gclEtatFicheDeplacement est un MEtatFicheDeplacement dynamique) +//,nIteration est un entier +i est un entier +Lecture des données de EI_CONTACT_SITE_RDV +//i+=1 +//SI i<=nIteration ALORS +// RENVOYER Vrai +//SINON +// RENVOYER Faux +//FIN +06/08/2026 Isis_BO 5496 + +Partie 5 › Etat › ETAT_FicheDeplacement_GAP_1 › Image +ETAT_FicheDeplacement_GAP_1 +Image +| 06/08/2026 | Isis_BO | 5497 | +| ---------- | ------- | ---- | + +Partie 5 › Etat › ETAT_FicheDeplacement_GAP_1 › Informations générales +ETAT_FicheDeplacement_GAP_1 +Informations générales +ETAT_FicheDeplacement_GAP_1 +| Nom logique de l'état | ETAT_FicheDeplacement_GAP_1 | | | | | +| --------------------- | --------------------------- | --- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\ETAT_FicheDeplacement_GAP_1.wde +| Type | Tableau | | | | | +| ------------------------- | ------------------------ | --- | --- | --- | --- | +| Thème | 210 Blueberries | | | | | +| Type de source de données | Pas de source de données | | | | | +Nom de la source +| Format de la page | A4 (210 x 297 mm) | | | | | +| ----------------- | ----------------- | --- | ----------------- | ----- | --- | +| Marge haute (mm) | 10.00 | | Marge basse (mm) | 10.00 | | +| Marge gauche (mm) | 10.00 | | Marge droite (mm) | 10.00 | | +ETAT_FicheDeplacement_GAP_1 +Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +| | Type | X Y | | | noitisoP | +| --- | ---- | --- | --- | --- | -------- | +elbisiV elbacéS ¹ .siapE +erdaC +tiarT +| TITREDOC | Libellé | 0.05 38.10 | 9.79 189.92 | 0.00 Continu | HBGD | +| -------- | --------- | ----------- | ----------- | ------------ | ---- | +| CHAMP58 | Prédéfini | 170.95 0.11 | 6.62 19.05 | | | +| SOCIETE | Libellé | 0.14 0.11 | 9.79 81.62 | | | +Rubrique +:gclEtatFicheDeplacement.m_sNomSociete +| REFINTERNEINTERVENTION | Libellé | 27.78 30.15 | 5.62 22.67 | | | +| ------------------------ | -------------------------------------------------- | ----------- | ---------- | --- | --- | +| Rubrique | :gclEtatFicheDeplacement.m_sRefInterneIntervention | | | | | +| LIBREFINTERNEINTERVENTIO | | 0.14 30.15 | 5.62 25.79 | | | +Libellé +N +| FRM_FORME5 | Forme | 171.81 20.10 | 10.86 16.93 | 0.20 Continu | HBGD | +| ---------------- | ------------------------------------------ | ------------ | ----------- | ------------ | ---- | +| LIBSAV | Libellé | 145.17 20.20 | 11.62 25.79 | | | +| LIBASTERISQUESAV | Libellé | 143.82 32.28 | 5.56 45.93 | | | +| | | 0.00 9.79 | 20.36 63.24 | | | +| ADRESSESOCIETE | Libellé | | | | | +| Rubrique | :gclEtatFicheDeplacement.m_sAdresseSociete | | | | | +| IMG_Sel | Image | 177.68 22.81 | 5.29 5.29 | | | +| DATERENDEZVOUS | Libellé | 24.87 39.95 | 12.96 61.97 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sDateRendezVous | | | | | +| | | 237.57 52.92 | 6.09 73.66 | | | +| DONNEURORDRE2 | Libellé | | | | | +| DONNEURORDRE | Libellé | 237.57 50.16 | 6.09 73.66 | | | +| 06/08/2026 | | Isis_BO | | | 5498 | + +Partie 5 › Etat › ETAT_FicheDeplacement_GAP_1 › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | +| --- | ---- | --- | --- | ---------------- | --- | +elbisiV erdaC +tiarT +| LIBREFEXTERNEINTERVENTIO | | 312.39 50.08 | 6.08 10.05 | | | +| ------------------------ | --- | ------------ | ---------- | --- | --- | +Libellé +N +| REFEXTERNEINTERVENTION | Libellé | 323.30 50.08 | 6.08 56.20 | | | +| ---------------------- | ------------------------------------- | ------------ | ------------ | ------------ | ---- | +| CLIENT | Libellé | 24.87 26.72 | 5.82 62.02 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sNomClient | | | | | +| Étiquette86 | Libellé | 0.00 40.28 | 5.97 22.63 | | | +| LIBDONNEURDORDRE | Libellé | 209.53 50.31 | 6.09 27.63 | | | +| LIBNOMCLIENT | Libellé | 0.49 26.64 | 6.09 23.39 | | | +| FRM_FORME4 | Forme | 89.69 0.79 | 56.62 100.33 | 0.20 Continu | HBGD | +CODEACCESSITE Libellé 155.58 8.47 31.42 33.07 0.10 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_sCodeAcces | | | | | +| ------------------------- | --------------------------------------- | ------------ | ----------- | --- | --- | +| LIB_CODEACCESSITE | Libellé | 155.72 1.80 | 5.82 22.75 | | | +| TelMobileOccupant | Libellé | 265.66 36.28 | 5.82 27.10 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sTelMobile | | | | | +| LIB_TELMOBILEOCCUPANT | Libellé | 248.28 37.04 | 6.08 12.61 | | | +| PRESENTATIONADRESSESITE | Libellé | 90.49 1.53 | 27.78 64.00 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sAdresseSite | | | | | +| TelFixeOccupant | Libellé | 219.69 37.04 | 5.82 26.99 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sTelFixe | | | | | +| LIB_TELFIXEOCCUPANT | Libellé | 209.90 37.04 | 6.09 8.73 | | | +| CiviliteNomPrenomOccupant | Libellé | 214.32 2.81 | 5.82 75.81 | | | +Rubrique :gclEtatFicheDeplacement.m_sCiviliteNomPrenomOccupant +| LIBNOM | Libellé | 212.02 20.97 | 6.09 15.61 | | | +| -------------------- | ------------------------------------------------- | ------------ | ----------- | --- | ---- | +| DATEINTERVENTION | Libellé | 25.05 0.00 | 5.62 22.67 | | | +| Rubrique | :gclEtatFicheDeplacement.m_dDateIntervention | | | | | +| LIBDATEINTERVENTION | Libellé | 0.23 0.00 | 5.62 23.39 | | | +| LIBSUIVIPAR | Libellé | 0.49 5.62 | 5.62 23.39 | | | +| | | 24.87 5.82 | 5.56 62.02 | | | +| SUIVIPAR | Libellé | | | | | +| Rubrique | :gclEtatFicheDeplacement.m_sSuiviPar | | | | | +| LIBNUMDEVIS | Libellé | 0.49 15.20 | 5.62 23.39 | | | +| NUMDEVIS | Libellé | 25.05 15.25 | 5.62 22.67 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sNumDevis | | | | | +| | | 0.49 20.82 | 6.09 23.39 | | | +| LIBCODECLIENT | Libellé | | | | | +| CODECLIENT | Libellé | 25.05 20.82 | 5.82 22.67 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sCodeClient | | | | | +| LIB_TELFIXEOCCUPANT1 | Libellé | 0.49 32.46 | 6.09 8.61 | | | +| TelFixeClient | Libellé | 24.87 32.58 | 6.09 45.35 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sTelFixeClient | | | | | +| ROLECONTACTSITE | Libellé | 214.32 11.20 | 5.82 75.81 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sRoleOccupant | | | | | +| LIB_NOTE | Libellé | 90.49 38.45 | 6.09 9.73 | | | +| NOTESITE | Libellé | 90.49 44.71 | 11.64 98.21 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sNoteSite | | | | | +| ETIQ | Libellé | 90.49 31.63 | 5.82 64.00 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sEtiquetteLieuPersonne | | | | | +| 06/08/2026 | | Isis_BO | | | 5499 | + +Partie 5 › Etat › ETAT_FicheDeplacement_GAP_1 › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | | +| --- | ---- | --- | --- | ---------------- | --- | --- | +elbisiV erdaC +tiarT +| LIB_SansNom9 | Libellé | 145.54 52.92 | 6.09 24.35 | | | | +| ------------- | ------- | ------------ | ----------- | --- | --- | --- | +| LIB_SansNom3 | Libellé | 116.18 52.92 | 6.09 29.36 | | | | +| LIB_SansNom2 | Libellé | 89.72 52.92 | 6.09 26.46 | | | | +| | | 70.64 52.92 | 6.09 19.08 | | | | +| LIB_SansNom1 | Libellé | | | | | | +| LIB_SansNom | Libellé | 0.00 52.92 | 6.09 70.64 | | | | +| LIB_SansNom12 | Libellé | 0.00 57.41 | 59.80 70.64 | | | | +| LIB_SansNom5 | Libellé | 70.64 57.41 | 59.80 19.08 | | | | +| LIB_SansNom6 | Libellé | 89.72 57.41 | 59.80 26.46 | | | | +| LIB_SansNom7 | Libellé | 116.18 57.41 | 59.80 29.36 | | | | +| LIB_SansNom8 | Libellé | 145.54 57.41 | 59.80 24.35 | | | | +DESCRIPTIONINTERVENTION Libellé 1.32 40.75 30.43 91.55 0.20 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_sDescription | | | | | | +| --------- | --------------------------------------- | ----------- | ---------- | --- | --- | --- | +| LIBOBJET | Libellé | 1.32 34.76 | 6.09 27.63 | | | | +| LIBOBJET2 | Libellé | 98.22 34.75 | 6.09 30.96 | | | | +DESCRIPTIONINTERVENTION 97.90 40.73 30.36 90.75 0.20 Continu HBGD +Libellé +1 +| Rubrique | :gclEtatFicheDeplacement.m_sNoteInterne | | | | | | +| ------------ | ----------------------------------------- | ---------- | ------------ | ---- | ------- | ---- | +| FRM_FORME6 | Forme | 1.32 80.68 | 35.13 187.33 | 0.20 | Continu | HBGD | +| LIBOBJET1 | Libellé | 1.32 73.28 | 6.09 27.63 | | | | +| | | 0.49 0.32 | 6.62 188.65 | 0.10 | | | +| LIB_SansNom4 | Libellé | | | | Continu | H-GD | +| TEXTE1 | Libellé | 0.49 6.93 | 8.47 188.65 | 0.10 | Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_clIntervenants | | | | | | +LIB_SansNom11 Libellé 0.49 16.19 5.56 188.65 0.10 Continu H-GD +| Contact | Libellé | 0.49 22.02 | 8.73 188.65 | 0.10 | Continu | HBGD | +| ------------------------------ | ------------------------------------- | ---------- | -------------------------- | ---- | ------- | ---- | +| Rubrique | :gclEtatFicheDeplacement.m_clContacts | | | | | | +| LIBSIGNATURE | Libellé | 0.00 0.00 | 6.09 34.24 | | | | +| LIBSIGNATURE1 | Libellé | 86.78 0.00 | 6.09 34.24 | | | | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | | +Epais. : Epaisseur du cadre (mm) +Détails des champs +Type de champ Prédéfini +| CHAMP58 Date | | | | | | | +| ------------ | --- | ------- | --- | --- | --- | ---- | +| 06/08/2026 | | Isis_BO | | | | 5500 | + +Partie 5 › Etat › ETAT_FicheDeplacement_GAP_1 › Code +ETAT_FicheDeplacement_GAP_1 +Code +Ouverture de ETAT_FicheDeplacement_GAP_1 +procédure ETAT_FicheDeplacement_GAP_1(gclEtatFicheDeplacement est un MEtatFicheDeplacement dynamique) +si gclEtatFicheDeplacement=Null alors +gclEtatFicheDeplacement=allouer un MEtatFicheDeplacement +c est un MCollaborateur +c:m_sNom="Toto" +c:m_bActif=Vrai +gclEtatFicheDeplacement:m_clListeCollabGroup.Ajoute(c) +fin +nTaille_1 est un entier +nTaille_2 est un entier +//SOCIETE=gclRendezVous:FicheIntervention:FicheSociete:m_sNom +//REFINTERNEINTERVENTION = gclRendezVous:FicheIntervention.m_sRefInterne +//DATEINTERVENTION= gclRendezVous:FicheIntervention.m_dDateIntervention +//SUIVIPAR= gclRendezVous:FicheIntervention.FicheSuiveur:NomPrenom +////*********************Occupant********************** +//CiviliteNomPrenomOccupant = gclRendezVous:FicheOccupant:CiviliteNomPrenom +//TelFixeOccupant=gclRendezVous:FicheOccupant:m_sTelFixe +//TelMobileOccupant=gclRendezVous:FicheOccupant:m_sTelMobile +// +//PRESENTATIONADRESSESITE = gclRendezVous:FicheIntervention:FicheLieu:m_clAdresse:m_sPresentation +//CODEACCESSITE=gclRendezVous:FicheIntervention:FicheLieu:m_sCodeAcces +////**********************Client********************** +//CLIENT=gclRendezVous:FicheIntervention:FicheClient:m_sNom +//REFEXTERNEINTERVENTION=gclRendezVous:FicheIntervention:m_sRefExterne +////**********************Rendez-vous********************** +//DATERENDEZVOUS=gclRendezVous:DateRendezVous +//DESCRIPTIONINTERVENTION=gclRendezVous:m_sDescription +//nCptDonneur est un entier = gclRendezVous:FicheIntervention:ListeContactClient.p_nTotal +//SI nCptDonneur>0 ALORS +// SELON nCptDonneur +// +CAS 1 : DONNEURORDRE = +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +// AUTRE CAS : +// +DONNEURORDRE = +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +// +DONNEURORDRE2= +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[2]:m_clContact:CiviliteNomPrenom +// FIN +//FIN +//POUR i = 1 _A_ gclRendezVous:m_clListeCollabGroup..Occurrence +// +//FIN +//i est un entier +//j est un entier +06/08/2026 Isis_BO 5501 + +Partie 5 › Etat › ETAT_FicheDeplacement_GAP_1 › Code des champs +ETAT_FicheDeplacement_GAP_1 +Code des champs +Avant impression de CORPS +//SI i<>j ALORS +// LIB_SansNom6=gclRendezVous:m_clListeCollabGroup[i]:NomPrenom +// j=i +//FIN +Avant impression de DEBUT_DOCUMENT +si gclEtatFicheDeplacement.m_bSAV alors +IMG_Sel..Visible = Vrai +fin +Avant impression de HAUT_DE_PAGE +DESCRIPTIONINTERVENTION = RTFVersTexte(DESCRIPTIONINTERVENTION) +DESCRIPTIONINTERVENTION1 = RTFVersTexte(DESCRIPTIONINTERVENTION1) +si nTaille_1 = 0 et nTaille_2 = 0 alors +si Taille(gclEtatFicheDeplacement.m_clContacts) > (Taille(gclEtatFicheDeplacement.m_clIntervenants) +*2) alors +nTaille_1 = Taille(gclEtatFicheDeplacement.m_clContacts) +sinon +nTaille_1 = Taille(gclEtatFicheDeplacement.m_clIntervenants) +fin +si Taille(gclEtatFicheDeplacement.m_sNoteInterne) > Taille(gclEtatFicheDeplacement.m_sDescription) +alors +nTaille_2 = Taille(gclEtatFicheDeplacement.m_sNoteInterne) +sinon +nTaille_2 = Taille(gclEtatFicheDeplacement.m_sDescription) +fin +si nTaille_1 > 150 alors +FRM_FORME6..Hauteur -= ((nTaille_1/100)) +fin +si nTaille_2 > 400 alors +FRM_FORME6..Hauteur -= ((nTaille_2/100)) +fin +fin +06/08/2026 Isis_BO 5502 + +Partie 5 › Etat › ETAT_FicheDeplacement_SLAMM_1 › Image +ETAT_FicheDeplacement_SLAMM_1 +Image +ETAT_FicheDeplacement_SLAMM_1 +Informations générales +ETAT_FicheDeplacement_SLAMM_1 +06/08/2026 Isis_BO 5503 + +Partie 5 › Etat › ETAT_FicheDeplacement_SLAMM_1 › Informations générales +| Nom logique de l'état | ETAT_FicheDeplacement_SLAMM_1 | | | | | +| --------------------- | ----------------------------- | --- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\ETAT_FicheDeplacement_SLAMM_1.wde +| Type | Tableau | | | | | +| ----- | --------------- | --- | --- | --- | --- | +| Thème | 210 Blueberries | | | | | +Type de source de données +Nom de la source :gclEtatFicheDeplacement.m_clListeCollabGroup +| Format de la page | A4 (210 x 297 mm) | | | | | +| ----------------- | ----------------- | --- | ----------------- | ----- | --- | +| Marge haute (mm) | 10.00 | | Marge basse (mm) | 10.00 | | +| Marge gauche (mm) | 10.00 | | Marge droite (mm) | 10.00 | | +ETAT_FicheDeplacement_SLAMM_1 +Informations sur les champs +)mm( ruetuaH +)mm( ruegraL +¹ txE.otuA +¹ uaelbaT +| | Type | X Y | | elbacéS | noitisoP | +| --- | ---- | --- | --- | ------- | -------- | +elbisiV ¹ .siapE +erdaC +tiarT +| IMG_LogoSociete | Image | 0.00 0.00 | 20.22 23.28 | | | +| --------------- | ----- | --------- | ----------- | --- | --- | +Rubrique +:gclEtatFicheDeplacement.m_LogoSociete..Image +| TITREDOC | Libellé | 23.39 0.11 | 9.79 124.62 | | | +| ------------------------ | --------- | ----------- | ----------- | --- | --- | +| CHAMP58 | Prédéfini | 170.95 0.11 | 6.62 19.05 | | | +| LIBREFINTERNEINTERVENTIO | | 54.29 12.10 | 5.62 30.79 | | | +Libellé +N +| REFINTERNEINTERVENTION | Libellé | 85.08 12.10 | 5.62 35.67 | | | +| ---------------------- | -------------------------------------------------- | ------------ | ----------- | ------------ | ---- | +| Rubrique | :gclEtatFicheDeplacement.m_sRefInterneIntervention | | | | | +| NOTESITE | Libellé | 120.65 9.09 | 37.74 69.32 | 0.10 Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_sNoteSite | | | | | +| DONNEURORDRE2 | Libellé | 245.91 23.74 | 6.09 73.66 | | | +| DONNEURORDRE | Libellé | 245.91 16.38 | 6.09 73.66 | | | +HEUREARRIVEE Libellé 84.40 84.73 6.09 105.62 0.10 Continu HBGD +ETATINTERVENTION Libellé 0.00 68.47 6.09 82.66 0.10 Continu H-GD +| Rubrique | :gclEtatFicheDeplacement.m_sEtatIntervention | | | | | +| ----------------- | -------------------------------------------- | ---------- | ---------- | ------------ | ---- | +| CLIENT | Libellé | 12.93 1.93 | 5.82 69.69 | 0.10 Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_sNomClient | | | | | +| LIBDONNEURDORDRE | Libellé | 0.00 93.03 | 6.09 82.66 | | | +| LIBCLIENT | Libellé | 0.00 1.79 | 5.82 13.63 | 0.10 Continu | HBGD | +| LIB_CODEACCESSITE | Libellé | 84.93 1.85 | 5.82 84.93 | | | +PRESENTATIONADRESSESITE Libellé 0.00 22.28 23.11 82.55 0.00 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_sAdresseSite | | | | | +| -------- | --------------------------------------- | ---------- | ---------- | ------------ | ---- | +| LIBSITE | Libellé | 0.11 10.88 | 6.09 82.51 | 0.00 Continu | -B-- | +| SITE | Libellé | 0.00 16.97 | 5.82 82.55 | 0.00 Continu | H-GD | +| Rubrique | :gclEtatFicheDeplacement.m_sCodeSite | | | | | +LIBDATERENDEZVOUS Libellé 84.22 73.64 5.56 12.42 0.10 Continu HBGD +| 06/08/2026 | | Isis_BO | | | 5504 | +| ---------- | --- | ------- | --- | --- | ---- | + +Partie 5 › Etat › ETAT_FicheDeplacement_SLAMM_1 › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | | +| --- | ---- | --- | --- | ---------------- | --- | --- | +elbisiV erdaC +tiarT +LIBHEURERENDEZVOUS Libellé 84.22 78.59 5.62 12.42 0.00 Continu HBGD +TYPEINTERVENTION Libellé 0.00 74.38 6.09 82.66 0.00 Continu --GD +| Rubrique | :gclEtatFicheDeplacement.m_sTypeIntervention | | | | | | +| -------- | -------------------------------------------- | ---------- | ---------- | ---- | ------- | ---- | +| NUMDEVIS | Libellé | 0.00 80.46 | 6.09 82.66 | 0.00 | Continu | --GD | +| Rubrique | :gclEtatFicheDeplacement.m_sNumDevis | | | | | | +TITREINTERVENTION Libellé 0.00 86.55 6.09 82.66 0.00 Continu -BGD +| Rubrique | :gclEtatFicheDeplacement.m_sTitreIntervention | | | | | | +| -------- | --------------------------------------------- | --- | --- | --- | --- | --- | +HEUREDEPART Libellé 84.40 90.82 6.09 105.62 0.00 Continu -BGD +| LIBSUIVIPAR | Libellé | 84.40 99.03 | 6.09 30.01 | 0.10 | Continu | HBG- | +| ----------- | ------------------------------------ | ------------ | ---------- | ---- | ------- | ---- | +| SUIVIPAR | Libellé | 114.30 99.03 | 6.09 75.73 | 0.10 | Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_sSuiviPar | | | | | | +ETATINT_COLLAB Etat interne 0.00 98.98 5.56 82.66 0.10 Continu HBGD +| LIBSITE1 | Libellé | 84.22 67.28 | 6.09 82.51 | | | | +| -------------- | ------------------------------------------ | ----------- | ----------- | ---- | ------- | ---- | +| | | 95.87 73.64 | 10.58 42.60 | 0.10 | | | +| DATERENDEZVOUS | Libellé | | | | Continu | HB-D | +| Rubrique | :gclEtatFicheDeplacement.m_sDateRendezVous | | | | | | +| INT_BADGE | Interrupteur | 0.00 46.57 | 5.90 6.28 | | | | +| Rubrique | :gclEtatFicheDeplacement.m_bBadge | | | | | | +| LIB_BADGE | Libellé | 6.45 46.57 | 5.90 13.93 | | | | +| | | 25.27 46.57 | 5.90 6.28 | | | | +| INT_BADGE1 | Interrupteur | | | | | | +| Rubrique | :gclEtatFicheDeplacement.m_bInterphone | | | | | | +| LIB_INTERPHONE | Libellé | 32.08 46.57 | 5.90 21.93 | | | | +| LIB_LIBELLE1 | Libellé | 85.08 7.75 | 5.82 26.55 | | | | +LIB_CODEACCESSITE1 Libellé 84.40 15.61 31.05 34.66 0.10 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_sCodeAcces | | | | | | +| ------------------ | ------------------------------------- | ------------ | ----------- | ---- | ------- | ---- | +| LIB_Contact | Libellé | 0.53 59.56 | 6.61 189.50 | 0.10 | Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_clContacts | | | | | | +| LIB_LIBCONTACTSITE | Libellé | 0.53 52.34 | 6.09 85.57 | | | | +| LIB_CHECK_1 | Libellé | 6.35 41.94 | 5.82 24.19 | | | | +| LIB_CHECK_2 | Libellé | 68.82 41.94 | 5.82 45.62 | | | | +| LIB_CHECK_3 | Libellé | 132.82 42.00 | 5.82 24.19 | | | | +| | | 6.35 49.93 | 5.82 53.26 | | | | +| LIB_CHECK_4 | Libellé | | | | | | +| LIB_CHECK_5 | Libellé | 68.82 49.96 | 5.82 45.62 | | | | +| LIB_CHECK_6 | Libellé | 132.82 49.96 | 5.82 24.19 | | | | +| LIBOBJET | Libellé | 0.00 34.00 | 6.09 27.63 | | | | +| LIB_CHECK_7 | Libellé | 132.82 58.34 | 5.82 37.15 | | | | +| LIB_CHECK_8 | Libellé | 68.82 58.34 | 5.82 24.19 | | | | +| LIB_CHECK_9 | Libellé | 6.35 58.34 | 5.82 24.19 | | | | +| LIB_CHECK_10 | Libellé | 99.79 58.40 | 5.82 24.19 | | | | +| FRM_FORME4 | Forme | 0.00 41.90 | 5.90 6.28 | 0.20 | Continu | HBGD | +| | | 62.58 41.90 | 5.90 6.28 | 0.20 | | | +| FRM_FORME5 | Forme | | | | Continu | HBGD | +| FRM_FORME6 | Forme | 126.47 41.90 | 5.90 6.28 | 0.20 | Continu | HBGD | +| FRM_FORME7 | Forme | 0.00 49.89 | 5.90 6.28 | 0.20 | Continu | HBGD | +| FRM_FORME8 | Forme | 62.58 49.89 | 5.90 6.28 | 0.20 | Continu | HBGD | +| FRM_FORME9 | Forme | 126.47 49.89 | 5.90 6.28 | 0.20 | Continu | HBGD | +| FRM_FORME10 | Forme | 0.00 58.30 | 5.90 6.28 | 0.20 | Continu | HBGD | +| 06/08/2026 | | Isis_BO | | | | 5505 | + +Partie 5 › Etat › ETAT_FicheDeplacement_SLAMM_1 › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | +| --- | ---- | --- | --- | ---------------- | --- | +elbisiV erdaC +tiarT +| FRM_FORME11 | Forme | 62.58 58.30 | 5.90 6.28 | 0.20 Continu | HBGD | +| ----------------------- | ----- | ------------ | ------------ | ------------ | ---- | +| FRM_FORME12 | Forme | 93.55 58.30 | 5.90 6.28 | 0.20 Continu | HBGD | +| FRM_FORME13 | Forme | 126.47 58.30 | 5.90 6.28 | 0.20 Continu | HBGD | +| | | 0.00 0.00 | 32.54 189.97 | 0.20 | | +| DESCRIPTIONINTERVENTION | | | | Continu | HBGD | +Libellé +1 +| Rubrique | :gclEtatFicheDeplacement.m_sDescription | | | | | +| ------------------------------ | --------------------------------------- | --- | -------------------------- | --- | --- | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | +Epais. : Epaisseur du cadre (mm) +Détails des champs +Type de champ Prédéfini +| CHAMP58 Date | | | | | | +| ------------ | --- | --- | --- | --- | --- | +Détails des champs +Etat interne +| ETATINT_COLLAB EI_COLLAB_RDV | | | | | | +| ---------------------------- | --- | ------- | --- | --- | ---- | +| 06/08/2026 | | Isis_BO | | | 5506 | + +Partie 5 › Etat › ETAT_FicheDeplacement_SLAMM_1 › Code +ETAT_FicheDeplacement_SLAMM_1 +Code +Ouverture de ETAT_FicheDeplacement_SLAMM_1 +procédure ETAT_FicheDeplacement_SLAMM_1(gclEtatFicheDeplacement est un MEtatFicheDeplacement dynamique) +si gclEtatFicheDeplacement=Null alors +gclEtatFicheDeplacement=allouer un MEtatFicheDeplacement +c est un MCollaborateur +c:m_sNom="Toto" +c:m_bActif=Vrai +gclEtatFicheDeplacement:m_clListeCollabGroup.Ajoute(c) +fin +//SOCIETE=gclRendezVous:FicheIntervention:FicheSociete:m_sNom +//REFINTERNEINTERVENTION = gclRendezVous:FicheIntervention.m_sRefInterne +//DATEINTERVENTION= gclRendezVous:FicheIntervention.m_dDateIntervention +//SUIVIPAR= gclRendezVous:FicheIntervention.FicheSuiveur:NomPrenom +////*********************Occupant********************** +//CiviliteNomPrenomOccupant = gclRendezVous:FicheOccupant:CiviliteNomPrenom +//TelFixeOccupant=gclRendezVous:FicheOccupant:m_sTelFixe +//TelMobileOccupant=gclRendezVous:FicheOccupant:m_sTelMobile +// +//PRESENTATIONADRESSESITE = gclRendezVous:FicheIntervention:FicheLieu:m_clAdresse:m_sPresentation +//CODEACCESSITE=gclRendezVous:FicheIntervention:FicheLieu:m_sCodeAcces +////**********************Client********************** +//CLIENT=gclRendezVous:FicheIntervention:FicheClient:m_sNom +//REFEXTERNEINTERVENTION=gclRendezVous:FicheIntervention:m_sRefExterne +////**********************Rendez-vous********************** +//DATERENDEZVOUS=gclRendezVous:DateRendezVous +//DESCRIPTIONINTERVENTION=gclRendezVous:m_sDescription +//nCptDonneur est un entier = gclRendezVous:FicheIntervention:ListeContactClient.p_nTotal +//SI nCptDonneur>0 ALORS +// SELON nCptDonneur +// +CAS 1 : DONNEURORDRE = +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +// AUTRE CAS : +// +DONNEURORDRE = +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +// +DONNEURORDRE2= +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[2]:m_clContact:CiviliteNomPrenom +// FIN +//FIN +//POUR i = 1 _A_ gclRendezVous:m_clListeCollabGroup..Occurrence +// +//FIN +i est un entier +//j est un entier +Filtre (tenir compte de l'enregistrement ?) de ETAT_FicheDeplacement_SLAMM_1 +i+=1 +06/08/2026 Isis_BO 5507 + +Partie 5 › Etat › ETAT_FicheDeplacement_SLAMM_1 › Code +//SI PAS gclEtatFicheDeplacement:m_clListeCollabGroup[i]:m_bActif ALORS +// RENVOYER Faux +//SINON +// RENVOYER Vrai +// +//FIN +//LIB_SansNom6 = NomPrenom +//i+=1 +//SI i<= gclRendezVous:m_clListeCollabGroup..Occurrence ALORS +// RENVOYER Vrai +//SINON +// RENVOYER Faux +//FIN +ETAT_FicheDeplacement_SLAMM_1 +Code des champs +Avant impression de CORPS +//SI i<>j ALORS +// LIB_SansNom6=gclRendezVous:m_clListeCollabGroup[i]:NomPrenom +// j=i +//FIN +Avant impression de ETATINT_COLLAB +//nIterationContactCli=4 +06/08/2026 Isis_BO 5508 + +Partie 5 › Etat › ETAT_FicheDeplacement_SLAMM_2 › Image +ETAT_FicheDeplacement_SLAMM_2 +Image +| 06/08/2026 | Isis_BO | 5509 | +| ---------- | ------- | ---- | + +Partie 5 › Etat › ETAT_FicheDeplacement_SLAMM_2 › Informations générales +ETAT_FicheDeplacement_SLAMM_2 +Informations générales +ETAT_FicheDeplacement_SLAMM_2 +| Nom logique de l'état | ETAT_FicheDeplacement_SLAMM_2 | | | | | +| --------------------- | ----------------------------- | --- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\ETAT_FicheDeplacement_SLAMM_2.wde +| Type | Tableau | | | | | +| ----- | --------------- | --- | --- | --- | --- | +| Thème | 210 Blueberries | | | | | +Type de source de données +Nom de la source :gclEtatFicheDeplacement.m_clListeCollabGroup +| Format de la page | A4 (210 x 297 mm) | | | | | +| ----------------- | ----------------- | --- | ----------------- | ----- | --- | +| Marge haute (mm) | 10.00 | | Marge basse (mm) | 10.00 | | +| Marge gauche (mm) | 10.00 | | Marge droite (mm) | 10.00 | | +ETAT_FicheDeplacement_SLAMM_2 +Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +| | Type | X Y | | | noitisoP | +| --- | ---- | --- | --- | --- | -------- | +elbisiV elbacéS ¹ .siapE +erdaC +tiarT +| IMG_LogoSociete | Image | 0.00 0.00 | 20.22 23.28 | | | +| ------------------------ | --------------------------------------------- | ----------- | ----------- | --- | --- | +| Rubrique | :gclEtatFicheDeplacement.m_LogoSociete..Image | | | | | +| | | 23.39 0.11 | 9.79 124.62 | | | +| TITREDOC | Libellé | | | | | +| CHAMP58 | Prédéfini | 170.95 0.11 | 6.62 19.05 | | | +| LIBREFINTERNEINTERVENTIO | | 54.29 12.10 | 5.62 30.79 | | | +Libellé +N +| REFINTERNEINTERVENTION | Libellé | 85.08 12.10 | 5.62 35.67 | | | +| ---------------------- | -------------------------------------------------- | ------------ | ----------- | ------------ | ---- | +| Rubrique | :gclEtatFicheDeplacement.m_sRefInterneIntervention | | | | | +| NOTESITE | Libellé | 120.70 9.79 | 37.04 69.27 | 0.10 Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_sNoteSite | | | | | +| DONNEURORDRE2 | Libellé | 245.91 23.74 | 6.09 73.66 | | | +| DONNEURORDRE | Libellé | 245.91 16.38 | 6.09 73.66 | | | +HEUREARRIVEE Libellé 84.40 82.61 6.09 105.62 0.10 Continu HBGD +ETATINTERVENTION Libellé 0.00 65.47 6.09 82.66 0.10 Continu H-GD +| Rubrique | :gclEtatFicheDeplacement.m_sEtatIntervention | | | | | +| ---------------- | -------------------------------------------- | ---------- | ---------- | ------------ | ---- | +| CLIENT | Libellé | 12.93 1.93 | 5.82 69.69 | 0.10 Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_sNomClient | | | | | +| LIBDONNEURDORDRE | Libellé | 0.00 90.03 | 6.09 82.66 | | | +| 06/08/2026 | | Isis_BO | | | 5510 | + +Partie 5 › Etat › ETAT_FicheDeplacement_SLAMM_2 › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | | +| --- | ---- | --- | --- | ---------------- | --- | --- | +elbisiV erdaC +tiarT +| LIBCLIENT | Libellé | 0.00 1.79 | 5.82 13.63 | 0.10 | Continu | HBGD | +| ----------------- | ------- | ---------- | ---------- | ---- | ------- | ---- | +| LIB_CODEACCESSITE | Libellé | 84.93 1.82 | 5.82 85.04 | | | | +PRESENTATIONADRESSESITE Libellé 0.00 23.02 23.64 82.55 0.00 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_sAdresseSite | | | | | | +| -------- | --------------------------------------- | ---------- | ---------- | ---- | ------- | ---- | +| LIBSITE | Libellé | 0.11 10.88 | 6.09 82.51 | 0.00 | Continu | -B-- | +| SITE | Libellé | 0.00 16.97 | 5.82 82.55 | 0.00 | Continu | H-GD | +| Rubrique | :gclEtatFicheDeplacement.m_sCodeSite | | | | | | +LIBDATERENDEZVOUS Libellé 85.00 70.72 5.56 12.42 0.10 Continu HBGD +| | | 85.00 75.67 | 5.62 12.42 | 0.00 | | | +| ------------------ | ------- | ----------- | ---------- | ---- | ------- | ---- | +| LIBHEURERENDEZVOUS | Libellé | | | | Continu | HBGD | +TYPEINTERVENTION Libellé 0.00 71.38 6.09 82.66 0.00 Continu --GD +| Rubrique | :gclEtatFicheDeplacement.m_sTypeIntervention | | | | | | +| ----------------- | --------------------------------------------- | ---------- | ---------- | ---- | ------- | ---- | +| NUMDEVIS | Libellé | 0.00 77.46 | 6.09 82.66 | 0.00 | Continu | --GD | +| Rubrique | :gclEtatFicheDeplacement.m_sNumDevis | | | | | | +| | | 0.00 83.55 | 6.09 82.66 | 0.00 | | | +| TITREINTERVENTION | Libellé | | | | Continu | -BGD | +| Rubrique | :gclEtatFicheDeplacement.m_sTitreIntervention | | | | | | +HEUREDEPART Libellé 84.40 88.70 6.09 105.62 0.00 Continu -BGD +| LIBSUIVIPAR | Libellé | 84.40 96.03 | 6.09 30.01 | 0.10 | Continu | HBG- | +| ----------- | ------------------------------------ | ------------ | ---------- | ---- | ------- | ---- | +| SUIVIPAR | Libellé | 114.30 96.03 | 6.09 75.73 | 0.10 | Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_sSuiviPar | | | | | | +ETATINT_COLLAB Etat interne 0.00 96.11 5.56 82.66 0.10 Continu HBGD +| LIBSITE1 | Libellé | 85.00 65.36 | 6.09 82.51 | | | | +| -------- | ------- | ----------- | ---------- | --- | --- | --- | +DATERENDEZVOUS Libellé 96.64 70.72 10.58 42.60 0.10 Continu HB-D +| Rubrique | :gclEtatFicheDeplacement.m_sDateRendezVous | | | | | | +| -------- | ------------------------------------------ | --- | --- | --- | --- | --- | +DESCRIPTIONINTERVENTION 0.00 103.04 11.28 189.97 0.20 Continu HBGD +Libellé +1 +| Rubrique | :gclEtatFicheDeplacement.m_sDescription | | | | | | +| -------------- | --------------------------------------- | ----------- | ---------- | --- | --- | --- | +| INT_BADGE | Interrupteur | 0.00 46.66 | 5.90 6.28 | | | | +| Rubrique | :gclEtatFicheDeplacement.m_bBadge | | | | | | +| LIB_BADGE | Libellé | 6.45 46.66 | 5.90 13.93 | | | | +| INT_BADGE1 | Interrupteur | 25.27 46.66 | 5.90 6.28 | | | | +| Rubrique | :gclEtatFicheDeplacement.m_bInterphone | | | | | | +| LIB_INTERPHONE | Libellé | 32.08 46.66 | 5.90 21.93 | | | | +| LIB_LIBELLE1 | Libellé | 85.08 7.75 | 5.82 26.55 | | | | +LIB_CODEACCESSITE1 Libellé 84.40 15.88 30.96 34.66 0.10 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_sCodeAcces | | | | | | +| ------------------ | ------------------------------------- | ----------- | ----------- | ---- | ------- | ---- | +| LIB_LIBCONTACTSITE | Libellé | 0.00 52.24 | 7.05 85.46 | | | | +| LIB_Contact | Libellé | 0.00 57.86 | 6.61 189.50 | 0.10 | Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_clContacts | | | | | | +| LIBOBJET2 | Libellé | 0.05 84.26 | 6.09 169.97 | | | | +| LIB_CHECK_10 | Libellé | 6.14 74.61 | 5.82 114.67 | | | | +| LIBOBJET4 | Libellé | 77.68 89.96 | 6.09 32.44 | | | | +| LIB_CHECK_7 | Libellé | 6.40 65.88 | 5.82 120.23 | | | | +| LIB_CHECK_6 | Libellé | 6.40 55.34 | 9.82 163.62 | | | | +| LIBOBJET3 | Libellé | 0.05 89.96 | 6.09 27.63 | | | | +| | | 0.05 57.30 | 5.90 6.28 | 0.20 | | | +| FRM_FORME9 | Forme | | | | Continu | HBGD | +| 06/08/2026 | | Isis_BO | | | | 5511 | + +Partie 5 › Etat › ETAT_FicheDeplacement_SLAMM_2 › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | | +| --- | ---- | --- | --- | ---------------- | --- | --- | +elbisiV erdaC +tiarT +| FRM_FORME12 | Forme | 0.05 74.44 | 5.90 6.28 | 0.20 | Continu | HBGD | +| ------------------------------ | ------- | ------------ | -------------------------- | ---- | ------- | ---- | +| FRM_FORME13 | Forme | 0.05 65.71 | 5.90 6.28 | 0.20 | Continu | HBGD | +| LIB_CHECK_8 | Libellé | 6.14 48.68 | 5.82 114.67 | | | | +| | | 0.05 48.51 | 5.90 6.28 | 0.20 | | | +| FRM_FORME11 | Forme | | | | Continu | HBGD | +| LIB_CHECK_5 | Libellé | 6.14 40.22 | 5.82 78.96 | | | | +| FRM_FORME8 | Forme | 0.05 40.11 | 5.90 6.28 | 0.20 | Continu | HBGD | +| LIB_CHECK_9 | Libellé | 6.40 31.49 | 5.82 120.23 | | | | +| FRM_FORME10 | Forme | 0.05 31.32 | 5.90 6.28 | 0.20 | Continu | HBGD | +| LIB_CHECK_4 | Libellé | 6.40 23.02 | 5.82 97.48 | | | | +| FRM_FORME7 | Forme | 0.05 22.91 | 5.90 6.28 | 0.20 | Continu | HBGD | +| LIB_CHECK_1 | Libellé | 6.40 14.95 | 5.82 24.19 | | | | +| LIB_CHECK_2 | Libellé | 68.87 14.95 | 5.82 45.62 | | | | +| | | 132.87 15.01 | 5.82 24.19 | | | | +| LIB_CHECK_3 | Libellé | | | | | | +| FRM_FORME4 | Forme | 0.05 14.91 | 5.90 6.28 | 0.20 | Continu | HBGD | +| FRM_FORME5 | Forme | 62.63 14.91 | 5.90 6.28 | 0.20 | Continu | HBGD | +| FRM_FORME6 | Forme | 126.52 14.91 | 5.90 6.28 | 0.20 | Continu | HBGD | +| LIBOBJET | Libellé | 0.05 7.01 | 6.09 27.63 | | | | +| LIBOBJET1 | Libellé | 0.05 0.00 | 6.09 169.97 | | | | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | | +Epais. : Epaisseur du cadre (mm) +Détails des champs +Type de champ Prédéfini +| CHAMP58 Date | | | | | | | +| ------------ | --- | --- | --- | --- | --- | --- | +Détails des champs +Etat interne +| ETATINT_COLLAB EI_COLLAB_RDV | | | | | | | +| ---------------------------- | --- | ------- | --- | --- | --- | ---- | +| 06/08/2026 | | Isis_BO | | | | 5512 | + +Partie 5 › Etat › ETAT_FicheDeplacement_SLAMM_2 › Code +ETAT_FicheDeplacement_SLAMM_2 +Code +Ouverture de ETAT_FicheDeplacement_SLAMM_2 +procédure ETAT_FicheDeplacement_SLAMM_2(gclEtatFicheDeplacement est un MEtatFicheDeplacement dynamique) +si gclEtatFicheDeplacement=Null alors +gclEtatFicheDeplacement=allouer un MEtatFicheDeplacement +c est un MCollaborateur +c:m_sNom="Toto" +c:m_bActif=Vrai +gclEtatFicheDeplacement:m_clListeCollabGroup.Ajoute(c) +fin +//SOCIETE=gclRendezVous:FicheIntervention:FicheSociete:m_sNom +//REFINTERNEINTERVENTION = gclRendezVous:FicheIntervention.m_sRefInterne +//DATEINTERVENTION= gclRendezVous:FicheIntervention.m_dDateIntervention +//SUIVIPAR= gclRendezVous:FicheIntervention.FicheSuiveur:NomPrenom +////*********************Occupant********************** +//CiviliteNomPrenomOccupant = gclRendezVous:FicheOccupant:CiviliteNomPrenom +//TelFixeOccupant=gclRendezVous:FicheOccupant:m_sTelFixe +//TelMobileOccupant=gclRendezVous:FicheOccupant:m_sTelMobile +// +//PRESENTATIONADRESSESITE = gclRendezVous:FicheIntervention:FicheLieu:m_clAdresse:m_sPresentation +//CODEACCESSITE=gclRendezVous:FicheIntervention:FicheLieu:m_sCodeAcces +////**********************Client********************** +//CLIENT=gclRendezVous:FicheIntervention:FicheClient:m_sNom +//REFEXTERNEINTERVENTION=gclRendezVous:FicheIntervention:m_sRefExterne +////**********************Rendez-vous********************** +//DATERENDEZVOUS=gclRendezVous:DateRendezVous +//DESCRIPTIONINTERVENTION=gclRendezVous:m_sDescription +//nCptDonneur est un entier = gclRendezVous:FicheIntervention:ListeContactClient.p_nTotal +//SI nCptDonneur>0 ALORS +// SELON nCptDonneur +// +CAS 1 : DONNEURORDRE = +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +// AUTRE CAS : +// +DONNEURORDRE = +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +// +DONNEURORDRE2= +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[2]:m_clContact:CiviliteNomPrenom +// FIN +//FIN +//POUR i = 1 _A_ gclRendezVous:m_clListeCollabGroup..Occurrence +// +//FIN +i est un entier +//j est un entier +Filtre (tenir compte de l'enregistrement ?) de ETAT_FicheDeplacement_SLAMM_2 +i+=1 +06/08/2026 Isis_BO 5513 + +Partie 5 › Etat › ETAT_FicheDeplacement_SLAMM_2 › Code +//SI PAS gclEtatFicheDeplacement:m_clListeCollabGroup[i]:m_bActif ALORS +// RENVOYER Faux +//SINON +// RENVOYER Vrai +// +//FIN +//LIB_SansNom6 = NomPrenom +//i+=1 +//SI i<= gclRendezVous:m_clListeCollabGroup..Occurrence ALORS +// RENVOYER Vrai +//SINON +// RENVOYER Faux +//FIN +ETAT_FicheDeplacement_SLAMM_2 +Code des champs +Avant impression de CORPS +//SI i<>j ALORS +// LIB_SansNom6=gclRendezVous:m_clListeCollabGroup[i]:NomPrenom +// j=i +//FIN +Avant impression de ETATINT_COLLAB +//nIterationContactCli=4 +06/08/2026 Isis_BO 5514 + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_1 › Image +ETAT_FicheIntervention_SLAMM_1 +Image +ETAT_FicheIntervention_SLAMM_1 +Informations générales +ETAT_FicheIntervention_SLAMM_1 +06/08/2026 Isis_BO 5515 + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_1 › Informations générales +| Nom logique de l'état | ETAT_FicheIntervention_SLAMM_1 | | | | | | +| --------------------- | ------------------------------ | --- | --- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\ETAT_FicheIntervention_SLAMM_1.wde +| Type | Tableau | | | | | | +| ----- | --------------- | --- | --- | --- | --- | --- | +| Thème | 210 Blueberries | | | | | | +Type de source de données +| Nom de la source | :gclEtatFicheDeplacement.m_clListeContact | | | | | | +| ----------------- | ----------------------------------------- | --- | ----------------- | --- | ----- | --- | +| Format de la page | A4 (210 x 297 mm) | | | | | | +| Marge haute (mm) | 10.00 | | Marge basse (mm) | | 10.00 | | +| Marge gauche (mm) | 10.00 | | Marge droite (mm) | | 10.00 | | +ETAT_FicheIntervention_SLAMM_1 +Informations sur les champs +)mm( ruetuaH +)mm( ruegraL +¹ txE.otuA +¹ uaelbaT +| | Type | X | Y | elbacéS | | noitisoP | +| --- | ---- | --- | --- | ------- | -------- | -------- | +| | | | | elbisiV | ¹ .siapE | | +erdaC +tiarT +| IMG_LogoSociete | Image | 0.00 | 0.00 20.22 23.28 | | | | +| --------------- | ----- | ---- | ---------------- | --- | --- | --- | +Rubrique +:gclEtatFicheDeplacement.m_LogoSociete..Image +| TITREDOC | Libellé | 23.39 | 0.11 9.79 124.62 | | | | +| ------------------------ | --------- | ------ | ---------------- | --- | --- | --- | +| CHAMP58 | Prédéfini | 170.95 | 0.11 6.62 19.05 | | | | +| LIBREFINTERNEINTERVENTIO | | 54.29 | 12.10 5.62 30.79 | | | | +Libellé +N +| REFINTERNEINTERVENTION | Libellé | 85.08 | 12.10 5.62 35.67 | | | | +| ---------------------- | -------------------------------------------------- | ------ | ----------------- | --- | ------------ | ---- | +| Rubrique | :gclEtatFicheDeplacement.m_sRefInterneIntervention | | | | | | +| NOTESITE | Libellé | 114.30 | 10.06 44.28 75.67 | | 0.10 Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_sNoteSite | | | | | | +| DONNEURORDRE2 | Libellé | 245.91 | 23.74 6.09 73.66 | | | | +| Rubrique | :gclEtatFicheDeplacement.m_sDonneurOrdre_2 | | | | | | +| DONNEURORDRE | Libellé | 245.91 | 16.38 6.09 73.66 | | | | +| Rubrique | :gclEtatFicheDeplacement.m_sDonneurOrdre_1 | | | | | | +HEUREARRIVEE Libellé 84.40 75.67 6.09 105.62 0.10 Continu HBGD +ETATINTERVENTION Libellé 0.00 75.47 6.09 82.66 0.10 Continu H-GD +| Rubrique | :gclEtatFicheDeplacement.m_sEtatIntervention | | | | | | +| ----------------- | -------------------------------------------- | ----- | ----------------- | --- | ------------ | ---- | +| CLIENT | Libellé | 12.93 | 1.93 5.82 69.69 | | 0.10 Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_sNomClient | | | | | | +| LIBDONNEURDORDRE | Libellé | 0.00 | 100.03 6.09 82.66 | | | | +| LIBCLIENT | Libellé | 0.00 | 1.79 5.82 13.63 | | 0.10 Continu | HBGD | +| LIB_CODEACCESSITE | Libellé | 84.93 | 1.82 5.82 85.04 | | | | +PRESENTATIONADRESSESITE Libellé 0.00 22.80 22.84 82.51 0.00 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_sAdresseSite | | | | | | +| ---------- | --------------------------------------- | ---- | ---------------- | --- | ------------ | ---- | +| | | 0.11 | 10.88 6.09 82.51 | | 0.00 | | +| LIBSITE | Libellé | | | | Continu | -B-- | +| SITE | Libellé | 0.11 | 16.97 5.82 82.51 | | 0.00 Continu | H-GD | +| 06/08/2026 | | | Isis_BO | | | 5516 | + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_1 › Informations sur les champs +| Rubrique | :gclEtatFicheDeplacement.m_sCodeSite | | | | | +| -------- | ------------------------------------ | --- | --- | --- | --- | +LIBDATERENDEZVOUS Libellé 0.00 60.72 5.56 12.42 0.10 Continu HBGD +| DATERDV | Libellé | 12.54 60.72 | 5.56 69.74 | 0.10 Continu | HBGD | +| ------- | ------- | ----------- | ---------- | ------------ | ---- | +LIBHEURERENDEZVOUS Libellé 0.00 65.67 5.62 12.42 0.00 Continu HBGD +| HEURERDV | Libellé | 12.54 65.68 | 5.56 69.74 | 0.00 Continu | HBGD | +| -------- | ------- | ----------- | ---------- | ------------ | ---- | +TYPEINTERVENTION Libellé 0.00 81.38 6.09 82.66 0.00 Continu --GD +| Rubrique | :gclEtatFicheDeplacement.m_sTypeIntervention | | | | | +| ----------------- | --------------------------------------------- | ----------- | ----------- | ------------ | ---- | +| NUMDEVIS | Libellé | 0.00 87.46 | 6.09 82.66 | 0.00 Continu | --GD | +| Rubrique | :gclEtatFicheDeplacement.m_sNumDevis | | | | | +| | | 0.00 93.55 | 6.09 82.66 | 0.00 | | +| TITREINTERVENTION | Libellé | | | Continu | -BGD | +| Rubrique | :gclEtatFicheDeplacement.m_sTitreIntervention | | | | | +| | | 84.40 81.76 | 6.09 105.62 | 0.00 | | +| HEUREDEPART | Libellé | | | Continu | -BGD | +LIBSUIVIPAR Libellé 84.40 100.03 6.09 30.01 0.10 Continu HBG- +| SUIVIPAR | Libellé | 114.30 100.03 | 6.09 75.73 | 0.10 Continu | HBGD | +| -------- | ------------------------------------ | ------------- | ---------- | ------------ | ---- | +| Rubrique | :gclEtatFicheDeplacement.m_sSuiviPar | | | | | +ETATINT_CONTACTCLIENT Etat interne 242.89 31.75 5.56 105.62 0.10 Continu HBGD +| LIBCONTACTSITE | Libellé | 84.40 54.51 | 6.09 105.62 | | | +| -------------- | ------- | ----------- | ----------- | --- | --- | +ETATINT_COLLAB Etat interne 0.00 106.11 5.56 82.66 0.10 Continu HBGD +| | | 0.00 54.36 | 6.09 82.51 | | | +| -------------- | -------------------------------------- | ----------- | ---------- | --- | --- | +| LIBSITE1 | Libellé | | | | | +| INT_BADGE | Interrupteur | 0.00 45.36 | 5.90 6.28 | | | +| Rubrique | :gclEtatFicheDeplacement.m_bBadge | | | | | +| LIB_BADGE | Libellé | 6.45 45.36 | 5.90 13.93 | | | +| INT_BADGE1 | Interrupteur | 25.27 45.36 | 5.90 6.28 | | | +| Rubrique | :gclEtatFicheDeplacement.m_bInterphone | | | | | +| LIB_INTERPHONE | Libellé | 32.08 45.36 | 5.90 21.93 | | | +LIB_CODEACCESSITE1 Libellé 84.67 18.26 36.08 27.25 0.10 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_sCodeAcces | | | | | +| ------------ | ------------------------------------- | ----------- | ---------- | --- | --- | +| LIB_LIBELLE1 | Libellé | 84.67 10.88 | 5.82 26.55 | | | +LIB_Contact Libellé 84.40 61.12 10.15 105.57 0.10 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_ListeContacts | | | | | +| ------------ | ---------------------------------------- | ------------ | ---------- | ------------ | ---- | +| LIB_CHECK_1 | Libellé | 6.35 41.94 | 5.82 24.19 | | | +| LIB_CHECK_2 | Libellé | 68.82 41.94 | 5.82 45.62 | | | +| LIB_CHECK_3 | Libellé | 132.82 42.00 | 5.82 24.19 | | | +| LIB_CHECK_4 | Libellé | 6.35 49.93 | 5.82 53.26 | | | +| LIB_CHECK_5 | Libellé | 68.82 49.96 | 5.82 45.62 | | | +| LIB_CHECK_6 | Libellé | 132.82 49.96 | 5.82 24.19 | | | +| LIBOBJET | Libellé | 0.00 34.00 | 6.09 27.63 | | | +| | | 132.82 58.34 | 5.82 37.15 | | | +| LIB_CHECK_7 | Libellé | | | | | +| LIB_CHECK_8 | Libellé | 68.82 58.34 | 5.82 24.19 | | | +| LIB_CHECK_9 | Libellé | 6.35 58.34 | 5.82 24.19 | | | +| LIB_CHECK_10 | Libellé | 99.79 58.40 | 5.82 24.19 | | | +| FRM_FORME4 | Forme | 0.00 41.90 | 5.90 6.28 | 0.20 Continu | HBGD | +| FRM_FORME5 | Forme | 62.58 41.90 | 5.90 6.28 | 0.20 Continu | HBGD | +| FRM_FORME6 | Forme | 126.47 41.90 | 5.90 6.28 | 0.20 Continu | HBGD | +| FRM_FORME7 | Forme | 0.00 49.89 | 5.90 6.28 | 0.20 Continu | HBGD | +| FRM_FORME8 | Forme | 62.58 49.89 | 5.90 6.28 | 0.20 Continu | HBGD | +| | | 126.47 49.89 | 5.90 6.28 | 0.20 | | +| FRM_FORME9 | Forme | | | Continu | HBGD | +| FRM_FORME10 | Forme | 0.00 58.30 | 5.90 6.28 | 0.20 Continu | HBGD | +| FRM_FORME11 | Forme | 62.58 58.30 | 5.90 6.28 | 0.20 Continu | HBGD | +| FRM_FORME12 | Forme | 93.55 58.30 | 5.90 6.28 | 0.20 Continu | HBGD | +| 06/08/2026 | | Isis_BO | | | 5517 | + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_1 › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | +| --- | ---- | --- | --- | ---------------- | --- | +elbisiV erdaC +tiarT +| FRM_FORME13 | Forme | 126.47 58.30 | 5.90 6.28 | 0.20 Continu | HBGD | +| ----------- | ----- | ------------ | --------- | ------------ | ---- | +DESCRIPTIONINTERVENTION 0.00 0.26 34.93 190.03 0.20 Continu HBGD +Libellé +1 +| Rubrique | :gclEtatFicheDeplacement.m_sDescription | | | | | +| ------------------------------ | --------------------------------------- | --- | -------------------------- | --- | --- | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | +Epais. : Epaisseur du cadre (mm) +Détails des champs +Type de champ Prédéfini +| CHAMP58 Date | | | | | | +| ------------ | --- | --- | --- | --- | --- | +Détails des champs +Etat interne +| ETATINT_COLLAB EI_COLLAB_INTERVENTION | | | | | | +| ------------------------------------- | --- | ------- | --- | --- | ---- | +| ETATINT_CONTACTCLIEN EI_CONTACT_SITE | | | | | | +| 06/08/2026 | | Isis_BO | | | 5518 | + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_1 › Code +ETAT_FicheIntervention_SLAMM_1 +Code +Ouverture de ETAT_FicheIntervention_SLAMM_1 +procédure ETAT_FicheIntervention_SLAMM_1(gclEtatFicheDeplacement est un MEtatFicheIntervention +dynamique) +si gclEtatFicheDeplacement=Null alors +gclEtatFicheDeplacement=allouer un MEtatFicheDeplacement +c est un MIntervention_Personne +// c:m_sNom="Toto" +// c:m_bActif=vrai +gclEtatFicheDeplacement:m_clListeContact.Ajoute(c) +sinon +si gclEtatFicheDeplacement:m_clListeContact..Occurrence=0 alors +b est un MIntervention_Personne +gclEtatFicheDeplacement:m_clListeContact.Ajoute(b) +fin +fin +//SOCIETE=gclRendezVous:FicheIntervention:FicheSociete:m_sNom +//REFINTERNEINTERVENTION = gclRendezVous:FicheIntervention.m_sRefInterne +//DATEINTERVENTION= gclRendezVous:FicheIntervention.m_dDateIntervention +//SUIVIPAR= gclRendezVous:FicheIntervention.FicheSuiveur:NomPrenom +////*********************Occupant********************** +//CiviliteNomPrenomOccupant = gclRendezVous:FicheOccupant:CiviliteNomPrenom +//TelFixeOccupant=gclRendezVous:FicheOccupant:m_sTelFixe +//TelMobileOccupant=gclRendezVous:FicheOccupant:m_sTelMobile +// +//PRESENTATIONADRESSESITE = gclRendezVous:FicheIntervention:FicheLieu:m_clAdresse:m_sPresentation +//CODEACCESSITE=gclRendezVous:FicheIntervention:FicheLieu:m_sCodeAcces +////**********************Client********************** +//CLIENT=gclRendezVous:FicheIntervention:FicheClient:m_sNom +//REFEXTERNEINTERVENTION=gclRendezVous:FicheIntervention:m_sRefExterne +////**********************Rendez-vous********************** +//DATERENDEZVOUS=gclRendezVous:DateRendezVous +//DESCRIPTIONINTERVENTION=gclRendezVous:m_sDescription +//nCptDonneur est un entier = gclRendezVous:FicheIntervention:ListeContactClient.p_nTotal +//SI nCptDonneur>0 ALORS +// SELON nCptDonneur +// +CAS 1 : DONNEURORDRE = +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +// AUTRE CAS : +// +DONNEURORDRE = +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +// +DONNEURORDRE2= +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[2]:m_clContact:CiviliteNomPrenom +// FIN +//FIN +//POUR i = 1 _A_ gclRendezVous:m_clListeCollabGroup..Occurrence +// +//FIN +i est un entier +//j est un entier +Filtre (tenir compte de l'enregistrement ?) de ETAT_FicheIntervention_SLAMM_1 +06/08/2026 Isis_BO 5519 + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_1 › Code +i+=1 +//SI PAS gclEtatFicheDeplacement:m_clListeCollabGroup[i]:m_bActif ALORS +// RENVOYER Faux +//SINON +// RENVOYER Vrai +// +//FIN +//LIB_SansNom6 = NomPrenom +//i+=1 +//SI i<= gclRendezVous:m_clListeCollabGroup..Occurrence ALORS +// RENVOYER Vrai +//SINON +// RENVOYER Faux +//FIN +ETAT_FicheIntervention_SLAMM_1 +Code des champs +Avant impression de CORPS +//SI i<>j ALORS +// LIB_SansNom6=gclRendezVous:m_clListeCollabGroup[i]:NomPrenom +// j=i +//FIN +Avant impression de ETATINT_COLLAB +//nIterationContactCli=4 +Avant impression de ETATINT_CONTACTCLIENT +//nIterationContactCli=4 +06/08/2026 Isis_BO 5520 + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_2 › Image +ETAT_FicheIntervention_SLAMM_2 +Image +| 06/08/2026 | Isis_BO | 5521 | +| ---------- | ------- | ---- | + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_2 › Image +| 06/08/2026 | Isis_BO | 5522 | +| ---------- | ------- | ---- | + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_2 › Informations générales +ETAT_FicheIntervention_SLAMM_2 +Informations générales +ETAT_FicheIntervention_SLAMM_2 +| Nom logique de l'état | ETAT_FicheIntervention_SLAMM_2 | | | | | +| --------------------- | ------------------------------ | --- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\ETAT_FicheIntervention_SLAMM_2.wde +| Type | Tableau | | | | | +| ----- | --------------- | --- | --- | --- | --- | +| Thème | 210 Blueberries | | | | | +Type de source de données +| Nom de la source | :gclEtatFicheDeplacement.m_clListeContact | | | | | +| ----------------- | ----------------------------------------- | --- | ----------------- | ----- | --- | +| Format de la page | A4 (210 x 297 mm) | | | | | +| Marge haute (mm) | 10.00 | | Marge basse (mm) | 10.00 | | +| Marge gauche (mm) | 10.00 | | Marge droite (mm) | 10.00 | | +ETAT_FicheIntervention_SLAMM_2 +Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +| | Type | X | Y | | noitisoP | +| --- | ---- | --- | --- | --- | -------- | +elbisiV elbacéS ¹ .siapE +erdaC +tiarT +| IMG_LogoSociete | Image | 0.00 | 0.00 20.22 23.28 | | | +| ------------------------ | --------------------------------------------- | ------ | ---------------- | --- | --- | +| Rubrique | :gclEtatFicheDeplacement.m_LogoSociete..Image | | | | | +| | | 23.39 | 0.11 9.79 124.62 | | | +| TITREDOC | Libellé | | | | | +| CHAMP58 | Prédéfini | 170.95 | 0.11 6.62 19.05 | | | +| LIBREFINTERNEINTERVENTIO | | 54.29 | 12.10 5.62 30.79 | | | +Libellé +N +| REFINTERNEINTERVENTION | Libellé | 85.08 | 12.10 5.62 35.67 | | | +| ---------------------- | -------------------------------------------------- | ------ | ----------------- | ------------ | ---- | +| Rubrique | :gclEtatFicheDeplacement.m_sRefInterneIntervention | | | | | +| NOTESITE | Libellé | 116.74 | 11.38 40.75 73.24 | 0.10 Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_sNoteSite | | | | | +| DONNEURORDRE2 | Libellé | 245.91 | 23.74 6.09 73.66 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sDonneurOrdre_2 | | | | | +| DONNEURORDRE | Libellé | 245.91 | 16.38 6.09 73.66 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sDonneurOrdre_1 | | | | | +| | | 84.40 | 76.73 6.09 105.62 | 0.10 | | +| HEUREARRIVEE | Libellé | | | Continu | HBGD | +ETATINTERVENTION Libellé 0.00 76.47 6.09 82.66 0.10 Continu H-GD +| Rubrique | :gclEtatFicheDeplacement.m_sEtatIntervention | | | | | +| ---------- | -------------------------------------------- | ----- | --------------- | ------------ | ---- | +| CLIENT | Libellé | 12.93 | 1.93 5.82 69.69 | 0.10 Continu | HBGD | +| 06/08/2026 | | | Isis_BO | | 5523 | + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_2 › Informations sur les champs +| Rubrique | :gclEtatFicheDeplacement.m_sNomClient | | | | | +| ----------------- | ------------------------------------- | ----------- | ---------- | ------------ | ---- | +| LIBDONNEURDORDRE | Libellé | 0.00 101.03 | 6.09 82.66 | | | +| LIBCLIENT | Libellé | 0.00 1.79 | 5.82 13.63 | 0.10 Continu | HBGD | +| LIB_CODEACCESSITE | Libellé | 84.93 1.82 | 5.82 85.04 | | | +PRESENTATIONADRESSESITE Libellé 0.00 22.80 22.84 82.51 0.00 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_sAdresseSite | | | | | +| ----------------- | --------------------------------------- | ----------- | ---------- | ------------ | ---- | +| | | 0.11 10.88 | 6.09 82.51 | 0.00 | | +| LIBSITE | Libellé | | | Continu | -B-- | +| SITE | Libellé | 0.11 16.97 | 5.82 82.51 | 0.00 Continu | H-GD | +| Rubrique | :gclEtatFicheDeplacement.m_sCodeSite | | | | | +| | | 0.00 61.72 | 5.56 12.42 | 0.10 | | +| LIBDATERENDEZVOUS | Libellé | | | Continu | HBGD | +| DATERDV | Libellé | 12.54 61.72 | 5.56 69.74 | 0.10 Continu | HBGD | +LIBHEURERENDEZVOUS Libellé 0.00 66.67 5.62 12.42 0.00 Continu HBGD +| HEURERDV | Libellé | 12.54 66.68 | 5.56 69.74 | 0.00 Continu | HBGD | +| ---------------- | -------------------------------------------- | ----------- | ---------- | ------------ | ---- | +| | | 0.00 82.38 | 6.09 82.66 | 0.00 | | +| TYPEINTERVENTION | Libellé | | | Continu | --GD | +| Rubrique | :gclEtatFicheDeplacement.m_sTypeIntervention | | | | | +| NUMDEVIS | Libellé | 0.00 88.46 | 6.09 82.66 | 0.00 Continu | --GD | +| Rubrique | :gclEtatFicheDeplacement.m_sNumDevis | | | | | +TITREINTERVENTION Libellé 0.00 94.55 6.09 82.66 0.00 Continu -BGD +| Rubrique | :gclEtatFicheDeplacement.m_sTitreIntervention | | | | | +| -------- | --------------------------------------------- | --- | --- | --- | --- | +HEUREDEPART Libellé 84.40 82.82 6.09 105.62 0.00 Continu -BGD +LIBSUIVIPAR Libellé 84.40 101.03 6.09 30.01 0.10 Continu HBG- +| SUIVIPAR | Libellé | 114.30 101.07 | 6.09 75.73 | 0.10 Continu | HBGD | +| -------- | ------------------------------------ | ------------- | ---------- | ------------ | ---- | +| Rubrique | :gclEtatFicheDeplacement.m_sSuiviPar | | | | | +ETATINT_CONTACTCLIENT Etat interne 218.28 42.93 5.56 105.62 0.10 Continu HBGD +| LIBCONTACTSITE | Libellé | 84.40 55.56 | 6.09 105.62 | | | +| -------------- | ------- | ----------- | ----------- | --- | --- | +ETATINT_COLLAB Etat interne 0.00 107.11 5.56 82.66 0.10 Continu HBGD +| LIBSITE1 | Libellé | 0.00 55.36 | 6.09 82.51 | | | +| -------- | ------- | ---------- | ---------- | --- | --- | +DESCRIPTIONINTERVENTION 0.00 119.59 25.40 190.03 0.20 Continu HBGD +Libellé +1 +| Rubrique | :gclEtatFicheDeplacement.m_sDescription | | | | | +| -------- | --------------------------------------- | --- | --- | --- | --- | +LIB_CODEACCESSITE1 Libellé 84.67 17.99 34.13 29.69 0.10 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_sCodeAcces | | | | | +| -------------- | -------------------------------------- | ----------- | ---------- | --- | --- | +| LIB_LIBELLE1 | Libellé | 84.67 10.06 | 5.82 26.55 | | | +| INT_BADGE | Interrupteur | 0.00 45.54 | 5.90 6.28 | | | +| Rubrique | :gclEtatFicheDeplacement.m_bBadge | | | | | +| LIB_BADGE | Libellé | 6.45 45.54 | 5.90 13.93 | | | +| INT_BADGE1 | Interrupteur | 25.27 45.54 | 5.90 6.28 | | | +| Rubrique | :gclEtatFicheDeplacement.m_bInterphone | | | | | +| LIB_INTERPHONE | Libellé | 32.08 45.54 | 5.90 21.93 | | | +LIB_Contact Libellé 84.40 63.24 9.09 105.57 0.10 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_ListeContacts | | | | | +| ----------- | ---------------------------------------- | ------------ | ----------- | --- | ---- | +| LIB_CHECK_1 | Libellé | 6.35 14.95 | 5.82 24.19 | | | +| | | 68.82 14.95 | 5.82 45.62 | | | +| LIB_CHECK_2 | Libellé | | | | | +| LIB_CHECK_3 | Libellé | 132.82 15.01 | 5.82 24.19 | | | +| LIB_CHECK_4 | Libellé | 6.35 23.02 | 5.82 97.48 | | | +| LIB_CHECK_5 | Libellé | 6.09 40.22 | 5.82 78.96 | | | +| LIB_CHECK_6 | Libellé | 6.35 55.34 | 9.82 163.62 | | | +| LIBOBJET | Libellé | 0.00 7.01 | 6.09 27.63 | | | +| LIB_CHECK_7 | Libellé | 6.35 65.88 | 5.82 120.23 | | | +| LIB_CHECK_8 | Libellé | 6.09 48.68 | 5.82 114.67 | | | +| 06/08/2026 | | Isis_BO | | | 5524 | + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_2 › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | | +| --- | ---- | --- | --- | ---------------- | --- | --- | +elbisiV erdaC +tiarT +| LIB_CHECK_9 | Libellé | 6.35 31.49 | 5.82 120.23 | | | | +| ------------------------------ | ------- | ------------ | -------------------------- | ---- | ------- | ---- | +| LIB_CHECK_10 | Libellé | 6.09 74.61 | 5.82 114.67 | | | | +| FRM_FORME4 | Forme | 0.00 14.91 | 5.90 6.28 | 0.20 | Continu | HBGD | +| | | 62.58 14.91 | 5.90 6.28 | 0.20 | | | +| FRM_FORME5 | Forme | | | | Continu | HBGD | +| FRM_FORME6 | Forme | 126.47 14.91 | 5.90 6.28 | 0.20 | Continu | HBGD | +| FRM_FORME7 | Forme | 0.00 22.91 | 5.90 6.28 | 0.20 | Continu | HBGD | +| FRM_FORME8 | Forme | 0.00 40.11 | 5.90 6.28 | 0.20 | Continu | HBGD | +| FRM_FORME9 | Forme | 0.00 57.30 | 5.90 6.28 | 0.20 | Continu | HBGD | +| FRM_FORME10 | Forme | 0.00 31.32 | 5.90 6.28 | 0.20 | Continu | HBGD | +| FRM_FORME11 | Forme | 0.00 48.51 | 5.90 6.28 | 0.20 | Continu | HBGD | +| FRM_FORME12 | Forme | 0.00 74.44 | 5.90 6.28 | 0.20 | Continu | HBGD | +| FRM_FORME13 | Forme | 0.00 65.71 | 5.90 6.28 | 0.20 | Continu | HBGD | +| | | 0.00 0.00 | 6.09 169.97 | | | | +| LIBOBJET1 | Libellé | | | | | | +| LIBOBJET2 | Libellé | 0.00 84.26 | 6.09 169.97 | | | | +| LIBOBJET3 | Libellé | 0.00 90.34 | 6.09 27.63 | | | | +| LIBOBJET4 | Libellé | 77.63 90.49 | 6.09 32.44 | | | | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | | +Epais. : Epaisseur du cadre (mm) +Détails des champs +Type de champ Prédéfini +| CHAMP58 Date | | | | | | | +| ------------ | --- | --- | --- | --- | --- | --- | +Détails des champs +Etat interne +| ETATINT_COLLAB EI_COLLAB_INTERVENTION | | | | | | | +| ------------------------------------- | --- | ------- | --- | --- | --- | ---- | +| ETATINT_CONTACTCLIEN EI_CONTACT_SITE | | | | | | | +| 06/08/2026 | | Isis_BO | | | | 5525 | + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_2 › Code +ETAT_FicheIntervention_SLAMM_2 +Code +Ouverture de ETAT_FicheIntervention_SLAMM_2 +procédure ETAT_FicheIntervention_SLAMM_2(gclEtatFicheDeplacement est un MEtatFicheIntervention +dynamique) +si gclEtatFicheDeplacement=Null alors +gclEtatFicheDeplacement=allouer un MEtatFicheDeplacement +c est un MIntervention_Personne +// c:m_sNom="Toto" +// c:m_bActif=vrai +gclEtatFicheDeplacement:m_clListeContact.Ajoute(c) +sinon +si gclEtatFicheDeplacement:m_clListeContact..Occurrence=0 alors +b est un MIntervention_Personne +gclEtatFicheDeplacement:m_clListeContact.Ajoute(b) +fin +fin +//SOCIETE=gclRendezVous:FicheIntervention:FicheSociete:m_sNom +//REFINTERNEINTERVENTION = gclRendezVous:FicheIntervention.m_sRefInterne +//DATEINTERVENTION= gclRendezVous:FicheIntervention.m_dDateIntervention +//SUIVIPAR= gclRendezVous:FicheIntervention.FicheSuiveur:NomPrenom +////*********************Occupant********************** +//CiviliteNomPrenomOccupant = gclRendezVous:FicheOccupant:CiviliteNomPrenom +//TelFixeOccupant=gclRendezVous:FicheOccupant:m_sTelFixe +//TelMobileOccupant=gclRendezVous:FicheOccupant:m_sTelMobile +// +//PRESENTATIONADRESSESITE = gclRendezVous:FicheIntervention:FicheLieu:m_clAdresse:m_sPresentation +//CODEACCESSITE=gclRendezVous:FicheIntervention:FicheLieu:m_sCodeAcces +////**********************Client********************** +//CLIENT=gclRendezVous:FicheIntervention:FicheClient:m_sNom +//REFEXTERNEINTERVENTION=gclRendezVous:FicheIntervention:m_sRefExterne +////**********************Rendez-vous********************** +//DATERENDEZVOUS=gclRendezVous:DateRendezVous +//DESCRIPTIONINTERVENTION=gclRendezVous:m_sDescription +//nCptDonneur est un entier = gclRendezVous:FicheIntervention:ListeContactClient.p_nTotal +//SI nCptDonneur>0 ALORS +// SELON nCptDonneur +// +CAS 1 : DONNEURORDRE = +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +// AUTRE CAS : +// +DONNEURORDRE = +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +// +DONNEURORDRE2= +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[2]:m_clContact:CiviliteNomPrenom +// FIN +//FIN +//POUR i = 1 _A_ gclRendezVous:m_clListeCollabGroup..Occurrence +// +//FIN +i est un entier +//j est un entier +Filtre (tenir compte de l'enregistrement ?) de ETAT_FicheIntervention_SLAMM_2 +06/08/2026 Isis_BO 5526 + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_2 › Code +i+=1 +//SI PAS gclEtatFicheDeplacement:m_clListeCollabGroup[i]:m_bActif ALORS +// RENVOYER Faux +//SINON +// RENVOYER Vrai +// +//FIN +//LIB_SansNom6 = NomPrenom +//i+=1 +//SI i<= gclRendezVous:m_clListeCollabGroup..Occurrence ALORS +// RENVOYER Vrai +//SINON +// RENVOYER Faux +//FIN +ETAT_FicheIntervention_SLAMM_2 +Code des champs +Avant impression de CORPS +//SI i<>j ALORS +// LIB_SansNom6=gclRendezVous:m_clListeCollabGroup[i]:NomPrenom +// j=i +//FIN +Avant impression de ETATINT_COLLAB +//nIterationContactCli=4 +Avant impression de ETATINT_CONTACTCLIENT +//nIterationContactCli=4 +06/08/2026 Isis_BO 5527 + +Partie 5 › Etat › ETAT_FicheDeplacement_SLAMM_3 › Image +ETAT_FicheDeplacement_SLAMM_3 +Image +ETAT_FicheDeplacement_SLAMM_3 +Informations générales +06/08/2026 Isis_BO 5528 + +Partie 5 › Etat › ETAT_FicheDeplacement_SLAMM_3 › Informations générales +ETAT_FicheDeplacement_SLAMM_3 +| Nom logique de l'état | ETAT_FicheDeplacement_SLAMM_3 | | | | | +| --------------------- | ----------------------------- | --- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\ETAT_FicheDeplacement_SLAMM_3.wde +| Type | Tableau | | | | | +| ------------------------- | ----------------------------------------- | --- | ----------------- | ----- | --- | +| Thème | 210 Blueberries | | | | | +| Type de source de données | Pas de source de données | | | | | +| Nom de la source | :gclEtatFicheDeplacement.m_clListeContact | | | | | +| Format de la page | A4 (210 x 297 mm) | | | | | +| Marge haute (mm) | 10.00 | | Marge basse (mm) | 10.00 | | +| Marge gauche (mm) | 10.00 | | Marge droite (mm) | 10.00 | | +ETAT_FicheDeplacement_SLAMM_3 +Informations sur les champs +)mm( ruetuaH +)mm( ruegraL +¹ txE.otuA +| | | | ¹ uaelbaT | | noitisoP | +| --- | ---- | --- | --------- | ---------------- | -------- | +| | Type | X Y | | elbacéS ¹ .siapE | | +elbisiV +erdaC +tiarT +| | | 0.00 0.00 | 20.22 23.28 | | | +| ------------------------ | --------- | ----------- | ----------- | --- | --- | +| IMG_LogoSociete | Image | | | | | +| TITREDOC | Libellé | 23.39 0.11 | 9.79 124.62 | | | +| CHAMP58 | Prédéfini | 170.95 0.11 | 6.62 19.05 | | | +| LIBREFINTERNEINTERVENTIO | | 54.29 12.10 | 5.62 30.79 | | | +Libellé +N +| REFINTERNEINTERVENTION | Libellé | 85.08 12.10 | 5.62 35.67 | | | +| ---------------------- | -------------------------------------- | ------------ | ----------- | ------------ | ---- | +| Rubrique | :gclEtatFicheDeplacement.m_sNumDossier | | | | | +| NOTESITE | Libellé | 115.89 10.32 | 46.13 74.08 | 0.10 Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_sNoteSite | | | | | +| DONNEURORDRE2 | Libellé | 245.91 23.74 | 6.09 73.66 | | | +| DONNEURORDRE | Libellé | 245.91 16.38 | 6.09 73.66 | | | +| CLIENT | Libellé | 98.00 1.85 | 5.82 71.86 | 0.10 Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_sNomClient | | | | | +| LIBCLIENT | Libellé | 84.38 1.79 | 5.82 13.63 | 0.10 Continu | HBGD | +PRESENTATIONADRESSESITE Libellé 0.00 32.80 22.84 82.51 0.00 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_sAdresseSite | | | | | +| -------- | --------------------------------------- | ---------- | ---------- | ------------ | ---- | +| LIBSITE | Libellé | 0.11 20.88 | 6.09 82.51 | 0.00 Continu | -B-- | +| SITE | Libellé | 0.00 26.97 | 5.82 82.51 | 0.00 Continu | H-GD | +| Rubrique | :gclEtatFicheDeplacement.m_sCodeSite | | | | | +LIBDATERENDEZVOUS Libellé 0.00 8.21 5.56 12.42 0.10 Continu HBGD +LIBHEURERENDEZVOUS Libellé 0.00 13.16 5.62 12.42 0.00 Continu HBGD +| LIBSUIVIPAR | Libellé | 84.40 59.56 | 6.09 30.01 | 0.10 Continu | HBG- | +| ----------- | ------------------------------------ | ------------ | ---------- | ------------ | ---- | +| SUIVIPAR | Libellé | 114.30 59.56 | 6.09 75.73 | 0.10 Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_sSuiviPar | | | | | +| 06/08/2026 | | Isis_BO | | | 5529 | + +Partie 5 › Etat › ETAT_FicheDeplacement_SLAMM_3 › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | | +| --- | ---- | --- | --- | ---------------- | --- | --- | +elbisiV erdaC +tiarT +| LIBSITE1 | Libellé | 0.89 1.85 | 6.09 82.51 | | | | +| -------- | ------- | --------- | ---------- | --- | --- | --- | +DESCRIPTIONINTERVENTION 84.40 72.97 34.93 105.62 0.20 Continu HBGD +Libellé +1 +| Rubrique | :gclEtatFicheDeplacement.m_sDescription | | | | | | +| --------------- | --------------------------------------- | ----------- | ---------- | --- | --- | --- | +| LIBCONTACTSITE1 | Libellé | 84.40 66.83 | 6.09 82.51 | | | | +DATERENDEZVOUS Libellé 12.44 8.20 10.58 69.96 0.10 Continu HB-D +| Rubrique | :gclEtatFicheDeplacement.m_sDateRendezVous | | | | | | +| -------------- | ------------------------------------------ | ----------- | ---------- | --- | --- | --- | +| INT_BADGE | Interrupteur | 0.00 55.30 | 5.90 6.28 | | | | +| Rubrique | :gclEtatFicheDeplacement.m_bBadge | | | | | | +| LIB_BADGE | Libellé | 6.45 55.30 | 5.90 13.93 | | | | +| INT_BADGE1 | Interrupteur | 25.27 55.30 | 5.90 6.28 | | | | +| Rubrique | :gclEtatFicheDeplacement.m_bInterphone | | | | | | +| LIB_INTERPHONE | Libellé | 32.08 55.30 | 5.90 21.93 | | | | +LIB_CODEACCESSITE1 Libellé 84.40 17.20 39.25 29.90 0.10 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_sCodeAcces | | | | | | +| ------------------ | ------------------------------------- | ----------- | ----------- | ---- | ------- | ---- | +| LIB_LIBELLE1 | Libellé | 85.08 9.94 | 5.82 26.55 | | | | +| LIB_LIBCONTACTSITE | Libellé | 0.00 66.83 | 6.09 82.60 | | | | +| LIB_Contact | Libellé | 0.00 73.38 | 34.83 82.55 | 0.10 | Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_clContacts | | | | | | +| LIB_CHECK_1 | Libellé | 6.35 6.81 | 5.82 24.19 | | | | +| | | 68.82 6.81 | 5.82 45.62 | | | | +| LIB_CHECK_2 | Libellé | | | | | | +| LIB_CHECK_3 | Libellé | 132.82 6.87 | 5.82 24.19 | | | | +| LIBOBJET | Libellé | 0.00 0.00 | 5.96 27.63 | | | | +| FRM_FORME4 | Forme | 0.00 6.77 | 5.90 6.28 | 0.20 | Continu | HBGD | +| FRM_FORME5 | Forme | 62.58 6.77 | 5.90 6.28 | 0.20 | Continu | HBGD | +| FRM_FORME6 | Forme | 126.47 6.77 | 5.90 6.28 | 0.20 | Continu | HBGD | +| LIBDEVIS | Libellé | 0.00 13.78 | 5.56 85.04 | 0.10 | Continu | HBGD | +LIBDATEENVOIDEVIS Libellé 0.00 19.40 5.56 85.04 0.10 Continu HBGD +LIBDATEENVOIDEVIS1 Libellé 0.00 25.00 5.56 85.04 0.00 Continu HBGD +| | | 84.93 13.76 | 5.56 105.09 | 0.10 | | | +| --------- | ------- | ----------- | ----------- | ---- | ------- | ---- | +| LIBDEVIS1 | Libellé | | | | Continu | HBGD | +LIBDATEENVOIDEVIS2 Libellé 84.93 19.32 5.56 105.09 0.10 Continu HBGD +LIBDATEENVOIDEVIS3 Libellé 84.93 25.14 5.56 105.04 0.00 Continu HBGD +| LIBOBJET1 | Libellé | 65.63 32.81 | 6.09 38.74 | | | | +| --------- | ------- | ----------- | ---------- | ---- | ------- | ---- | +| LIBDEVIS2 | Libellé | 0.00 46.89 | 5.56 37.15 | 0.10 | Continu | HBG- | +LIBDATEENVOIDEVIS4 Libellé 0.00 52.72 5.56 37.15 0.10 Continu H-G- +LIBDATEENVOIDEVIS5 Libellé 0.00 74.94 5.56 37.15 0.10 Continu HBG- +LIBDATEENVOIDEVIS6 Libellé 0.00 58.27 5.56 37.15 0.10 Continu H-G- +LIBDATEENVOIDEVIS7 Libellé 0.00 63.83 5.56 37.15 0.10 Continu H-G- +| | | 0.00 69.38 | 5.56 37.15 | 0.10 | | | +| ------------------ | ------- | ----------- | ----------- | ---- | ------- | ---- | +| LIBDATEENVOIDEVIS8 | Libellé | | | | Continu | H-G- | +| LIBDEVIS3 | Libellé | 37.04 46.83 | 5.56 152.98 | 0.10 | Continu | HBGD | +LIBDATEENVOIDEVIS9 Libellé 37.04 52.65 5.56 152.98 0.10 Continu HBGD +LIBDATEENVOIDEVIS10 Libellé 37.04 58.21 5.56 152.98 0.00 Continu -BGD +| | | 37.04 63.77 | 5.56 152.98 | 0.00 | | | +| ------------------- | ------- | ----------- | ----------- | ---- | ------- | ---- | +| LIBDATEENVOIDEVIS11 | Libellé | | | | Continu | -BGD | +LIBDATEENVOIDEVIS12 Libellé 37.04 69.32 5.56 152.98 0.00 Continu -BGD +LIBDATEENVOIDEVIS13 Libellé 37.04 74.88 5.56 152.98 0.00 Continu HBGD +| LIBOBJET2 | Libellé | 2.91 38.89 | 5.96 27.63 | | | | +| ---------- | ------- | ---------- | ---------- | --- | --- | ---- | +| 06/08/2026 | | Isis_BO | | | | 5530 | + +Partie 5 › Etat › ETAT_FicheDeplacement_SLAMM_3 › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | +| --- | ---- | --- | --- | ---------------- | --- | +elbisiV erdaC +tiarT +| LIBOBJET3 | Libellé | 34.95 38.89 | 5.96 27.63 | | | +| ------------------------------ | ------- | ------------ | -------------------------- | --- | --- | +| LIBOBJET4 | Libellé | 65.63 38.89 | 5.96 27.63 | | | +| LIBOBJET5 | Libellé | 129.38 38.89 | 5.96 27.63 | | | +| | | 97.33 38.89 | 5.96 27.63 | | | +| LIBOBJET6 | Libellé | | | | | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | +Epais. : Epaisseur du cadre (mm) +Détails des champs +Type de champ Prédéfini +| CHAMP58 Date | | | | | | +| ------------ | --- | ------- | --- | --- | ---- | +| 06/08/2026 | | Isis_BO | | | 5531 | + +Partie 5 › Etat › ETAT_FicheDeplacement_SLAMM_3 › Code +ETAT_FicheDeplacement_SLAMM_3 +Code +Ouverture de ETAT_FicheDeplacement_SLAMM_3 +procédure ETAT_FicheDeplacement_SLAMM_3(gclEtatFicheDeplacement est un MEtatFicheDeplacement dynamique) +si gclEtatFicheDeplacement=Null alors +gclEtatFicheDeplacement=allouer un MEtatFicheDeplacement +c est un MCollaborateur +c:m_sNom="Toto" +c:m_bActif=Vrai +gclEtatFicheDeplacement:m_clListeCollabGroup.Ajoute(c) +fin +i est un entier +Filtre (tenir compte de l'enregistrement ?) de ETAT_FicheDeplacement_SLAMM_3 +i+=1 +ETAT_FicheDeplacement_SLAMM_3 +Code des champs +Avant impression de CORPS +//SI i<>j ALORS +// LIB_SansNom6=gclRendezVous:m_clListeCollabGroup[i]:NomPrenom +// j=i +//FIN +06/08/2026 Isis_BO 5532 + +Partie 5 › Etat › ETAT_FicheDeplacement_SLAMM_4 › Image +ETAT_FicheDeplacement_SLAMM_4 +Image +| 06/08/2026 | Isis_BO | 5533 | +| ---------- | ------- | ---- | + +Partie 5 › Etat › ETAT_FicheDeplacement_SLAMM_4 › Informations générales +ETAT_FicheDeplacement_SLAMM_4 +Informations générales +ETAT_FicheDeplacement_SLAMM_4 +| Nom logique de l'état | ETAT_FicheDeplacement_SLAMM_4 | | | | | +| --------------------- | ----------------------------- | --- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\ETAT_FicheDeplacement_SLAMM_4.wde +| Type | Tableau | | | | | +| ----- | --------------- | --- | --- | --- | --- | +| Thème | 210 Blueberries | | | | | +Type de source de données +Nom de la source :gclEtatFicheDeplacement.m_clListeCollabGroup +| Format de la page | A4 (210 x 297 mm) | | | | | +| ----------------- | ----------------- | --- | ----------------- | ----- | --- | +| Marge haute (mm) | 20.00 | | Marge basse (mm) | 20.00 | | +| Marge gauche (mm) | 20.00 | | Marge droite (mm) | 20.00 | | +ETAT_FicheDeplacement_SLAMM_4 +Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +| | Type | X Y | | | noitisoP | +| --- | ---- | --- | --- | --- | -------- | +elbisiV elbacéS ¹ .siapE +erdaC +tiarT +| IMG_LogoSociete | Image | 0.00 0.00 | 20.22 23.28 | | | +| ------------------------ | --------------------------------------------- | ----------- | ----------- | --- | --- | +| Rubrique | :gclEtatFicheDeplacement.m_LogoSociete..Image | | | | | +| | | 23.39 0.11 | 9.79 124.62 | | | +| TITREDOC | Libellé | | | | | +| CHAMP58 | Prédéfini | 150.92 0.11 | 6.62 19.05 | | | +| LIBREFINTERNEINTERVENTIO | | 54.29 12.10 | 5.62 30.79 | | | +Libellé +N +| REFINTERNEINTERVENTION | Libellé | 85.08 12.10 | 5.62 35.67 | | | +| ---------------------- | -------------------------------------------------- | ------------ | ----------- | ------------ | ---- | +| Rubrique | :gclEtatFicheDeplacement.m_sRefInterneIntervention | | | | | +| NOTESITE | Libellé | 84.40 9.26 | 37.04 85.46 | 0.10 Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_sNoteSite | | | | | +| DONNEURORDRE2 | Libellé | 245.91 23.74 | 6.09 73.66 | | | +| DONNEURORDRE | Libellé | 245.91 16.38 | 6.09 73.66 | | | +HEUREARRIVEE Libellé 84.40 81.45 6.09 85.57 0.10 Continu HBGD +ETATINTERVENTION Libellé 0.00 64.47 6.09 82.66 0.10 Continu H-GD +| Rubrique | :gclEtatFicheDeplacement.m_sEtatIntervention | | | | | +| ---------------- | -------------------------------------------- | ---------- | ---------- | ------------ | ---- | +| CLIENT | Libellé | 12.93 1.93 | 5.82 69.69 | 0.10 Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_sNomClient | | | | | +| LIBDONNEURDORDRE | Libellé | 0.00 89.03 | 6.09 82.66 | | | +| 06/08/2026 | | Isis_BO | | | 5534 | + +Partie 5 › Etat › ETAT_FicheDeplacement_SLAMM_4 › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | | +| --- | ---- | --- | --- | ---------------- | --- | --- | +elbisiV erdaC +tiarT +| LIBCLIENT | Libellé | 0.00 1.79 | 5.82 13.63 | 0.10 | Continu | HBGD | +| ----------------- | ------- | ---------- | ---------- | ---- | ------- | ---- | +| LIB_CODEACCESSITE | Libellé | 84.93 1.82 | 5.82 85.04 | | | | +PRESENTATIONADRESSESITE Libellé 0.00 22.80 22.84 82.51 0.00 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_sAdresseSite | | | | | | +| -------- | --------------------------------------- | ---------- | ---------- | ---- | ------- | ---- | +| LIBSITE | Libellé | 0.11 10.88 | 6.09 82.51 | 0.00 | Continu | -B-- | +| SITE | Libellé | 0.11 16.97 | 5.82 82.51 | 0.00 | Continu | H-GD | +| Rubrique | :gclEtatFicheDeplacement.m_sCodeSite | | | | | | +LIBDATERENDEZVOUS Libellé 84.40 70.39 5.56 12.42 0.10 Continu HBGD +| | | 84.40 75.34 | 5.62 12.42 | 0.00 | | | +| ------------------ | ------- | ----------- | ---------- | ---- | ------- | ---- | +| LIBHEURERENDEZVOUS | Libellé | | | | Continu | HBGD | +TYPEINTERVENTION Libellé 0.00 70.38 6.09 82.66 0.00 Continu --GD +| Rubrique | :gclEtatFicheDeplacement.m_sTypeIntervention | | | | | | +| ----------------- | --------------------------------------------- | ------------ | ---------- | ---- | ------- | ---- | +| NUMDEVIS | Libellé | 0.00 76.46 | 6.09 82.66 | 0.00 | Continu | --GD | +| Rubrique | :gclEtatFicheDeplacement.m_sNumDevis | | | | | | +| | | 0.00 82.55 | 6.09 82.66 | 0.00 | | | +| TITREINTERVENTION | Libellé | | | | Continu | -BGD | +| Rubrique | :gclEtatFicheDeplacement.m_sTitreIntervention | | | | | | +| HEUREDEPART | Libellé | 84.43 87.55 | 6.09 85.57 | 0.00 | Continu | -BGD | +| LIBSUIVIPAR | Libellé | 84.40 94.03 | 6.09 30.01 | 0.10 | Continu | HBG- | +| SUIVIPAR | Libellé | 114.30 94.03 | 6.09 55.67 | 0.10 | Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_sSuiviPar | | | | | | +ETATINT_COLLAB Etat interne 0.00 95.11 5.56 82.66 0.10 Continu HBGD +| LIBSITE1 | Libellé | 84.40 64.03 | 6.09 82.51 | | | | +| -------- | ------- | ----------- | ---------- | --- | --- | --- | +DATERENDEZVOUS Libellé 96.04 70.39 10.58 42.60 0.10 Continu HB-D +| Rubrique | :gclEtatFicheDeplacement.m_sDateRendezVous | | | | | | +| -------- | ------------------------------------------ | --- | --- | --- | --- | --- | +DESCRIPTIONINTERVENTION 0.00 101.61 25.40 169.97 0.20 Continu HBGD +Libellé +1 +| Rubrique | :gclEtatFicheDeplacement.m_sDescription | | | | | | +| ------------------------------ | --------------------------------------- | ------------ | -------------------------- | ---- | ------- | ---- | +| LIBOBJET2 | Libellé | 0.00 126.81 | 7.00 74.00 | | | | +| SITE1 | Libellé | 74.00 126.81 | 7.00 82.51 | | | | +| Rubrique | :gclEtatFicheDeplacement.m_sNumDevis | | | | | | +| LIB_LIBCONTACTSITE | Libellé | 0.00 47.21 | 7.05 85.46 | | | | +| LIB_Contact | Libellé | 0.00 52.88 | 6.61 169.97 | 0.10 | Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_clContacts | | | | | | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | | +Epais. : Epaisseur du cadre (mm) +| 06/08/2026 | | Isis_BO | | | | 5535 | +| ---------- | --- | ------- | --- | --- | --- | ---- | + +Partie 5 › Etat › ETAT_FicheDeplacement_SLAMM_4 › Informations sur les champs +Détails des champs +Type de champ Prédéfini +CHAMP58 Date +Détails des champs +Etat interne +ETATINT_COLLAB EI_COLLAB_RDV +06/08/2026 Isis_BO 5536 + +Partie 5 › Etat › ETAT_FicheDeplacement_SLAMM_4 › Code +ETAT_FicheDeplacement_SLAMM_4 +Code +Ouverture de ETAT_FicheDeplacement_SLAMM_4 +procédure ETAT_FicheDeplacement_SLAMM_4(gclEtatFicheDeplacement est un MEtatFicheDeplacement dynamique) +si gclEtatFicheDeplacement=Null alors +gclEtatFicheDeplacement=allouer un MEtatFicheDeplacement +c est un MCollaborateur +c:m_sNom="Toto" +c:m_bActif=Vrai +gclEtatFicheDeplacement:m_clListeCollabGroup.Ajoute(c) +fin +//SOCIETE=gclRendezVous:FicheIntervention:FicheSociete:m_sNom +//REFINTERNEINTERVENTION = gclRendezVous:FicheIntervention.m_sRefInterne +//DATEINTERVENTION= gclRendezVous:FicheIntervention.m_dDateIntervention +//SUIVIPAR= gclRendezVous:FicheIntervention.FicheSuiveur:NomPrenom +////*********************Occupant********************** +//CiviliteNomPrenomOccupant = gclRendezVous:FicheOccupant:CiviliteNomPrenom +//TelFixeOccupant=gclRendezVous:FicheOccupant:m_sTelFixe +//TelMobileOccupant=gclRendezVous:FicheOccupant:m_sTelMobile +// +//PRESENTATIONADRESSESITE = gclRendezVous:FicheIntervention:FicheLieu:m_clAdresse:m_sPresentation +//CODEACCESSITE=gclRendezVous:FicheIntervention:FicheLieu:m_sCodeAcces +////**********************Client********************** +//CLIENT=gclRendezVous:FicheIntervention:FicheClient:m_sNom +//REFEXTERNEINTERVENTION=gclRendezVous:FicheIntervention:m_sRefExterne +////**********************Rendez-vous********************** +//DATERENDEZVOUS=gclRendezVous:DateRendezVous +//DESCRIPTIONINTERVENTION=gclRendezVous:m_sDescription +//nCptDonneur est un entier = gclRendezVous:FicheIntervention:ListeContactClient.p_nTotal +//SI nCptDonneur>0 ALORS +// SELON nCptDonneur +// +CAS 1 : DONNEURORDRE = +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +// AUTRE CAS : +// +DONNEURORDRE = +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +// +DONNEURORDRE2= +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[2]:m_clContact:CiviliteNomPrenom +// FIN +//FIN +//POUR i = 1 _A_ gclRendezVous:m_clListeCollabGroup..Occurrence +// +//FIN +i est un entier +//j est un entier +Filtre (tenir compte de l'enregistrement ?) de ETAT_FicheDeplacement_SLAMM_4 +i+=1 +06/08/2026 Isis_BO 5537 + +Partie 5 › Etat › ETAT_FicheDeplacement_SLAMM_4 › Code +//SI PAS gclEtatFicheDeplacement:m_clListeCollabGroup[i]:m_bActif ALORS +// RENVOYER Faux +//SINON +// RENVOYER Vrai +// +//FIN +//LIB_SansNom6 = NomPrenom +//i+=1 +//SI i<= gclRendezVous:m_clListeCollabGroup..Occurrence ALORS +// RENVOYER Vrai +//SINON +// RENVOYER Faux +//FIN +ETAT_FicheDeplacement_SLAMM_4 +Code des champs +Avant impression de CORPS +//SI i<>j ALORS +// LIB_SansNom6=gclRendezVous:m_clListeCollabGroup[i]:NomPrenom +// j=i +//FIN +Avant impression de ETATINT_COLLAB +//nIterationContactCli=4 +06/08/2026 Isis_BO 5538 + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_3 › Image +ETAT_FicheIntervention_SLAMM_3 +Image +ETAT_FicheIntervention_SLAMM_3 +Informations générales +06/08/2026 Isis_BO 5539 + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_3 › Informations générales +ETAT_FicheIntervention_SLAMM_3 +| Nom logique de l'état | ETAT_FicheIntervention_SLAMM_3 | | | | | +| --------------------- | ------------------------------ | --- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\ETAT_FicheIntervention_SLAMM_3.wde +| Type | Tableau | | | | | +| ----- | --------------- | --- | --- | --- | --- | +| Thème | 210 Blueberries | | | | | +Type de source de données +| Nom de la source | :gclEtatFicheDeplacement.m_clListeContact | | | | | +| ----------------- | ----------------------------------------- | --- | ----------------- | ----- | --- | +| Format de la page | A4 (210 x 297 mm) | | | | | +| Marge haute (mm) | 10.00 | | Marge basse (mm) | 10.00 | | +| Marge gauche (mm) | 10.00 | | Marge droite (mm) | 10.00 | | +ETAT_FicheIntervention_SLAMM_3 +Informations sur les champs +)mm( ruetuaH +)mm( ruegraL +¹ txE.otuA +| | | | ¹ uaelbaT | | noitisoP | +| --- | ---- | --- | --------- | ---------------- | -------- | +| | Type | X Y | | elbacéS ¹ .siapE | | +elbisiV +erdaC +tiarT +| | | 0.00 0.00 | 20.22 23.28 | | | +| --------------- | --------------------------------------------- | ----------- | ----------- | --- | --- | +| IMG_LogoSociete | Image | | | | | +| Rubrique | :gclEtatFicheDeplacement.m_LogoSociete..Image | | | | | +| TITREDOC | Libellé | 23.39 0.11 | 9.79 124.62 | | | +| CHAMP58 | Prédéfini | 170.95 0.11 | 6.62 19.05 | | | +| | | 54.29 12.10 | 5.62 30.79 | | | +LIBREFINTERNEINTERVENTIO +Libellé +N +| | | 85.08 12.10 | 5.62 35.67 | | | +| ---------------------- | ------------------------------------------ | ------------ | ----------- | ------------ | ---- | +| REFINTERNEINTERVENTION | Libellé | | | | | +| Rubrique | :gclEtatFicheDeplacement.m_sNumDossier | | | | | +| NOTESITE | Libellé | 116.74 10.85 | 45.24 73.24 | 0.10 Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_sNoteSite | | | | | +| DONNEURORDRE2 | Libellé | 245.91 23.74 | 6.09 73.66 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sDonneurOrdre_2 | | | | | +| DONNEURORDRE | Libellé | 245.91 16.38 | 6.09 73.66 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sDonneurOrdre_1 | | | | | +| CLIENT | Libellé | 97.90 1.79 | 5.82 92.13 | 0.10 Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_sNomClient | | | | | +| LIBCLIENT | Libellé | 84.38 1.79 | 5.82 13.63 | 0.10 Continu | HBGD | +PRESENTATIONADRESSESITE Libellé 0.00 32.80 22.84 82.51 0.00 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_sAdresseSite | | | | | +| -------- | --------------------------------------- | ---------- | ---------- | ------------ | ---- | +| LIBSITE | Libellé | 0.11 20.88 | 6.09 82.51 | 0.00 Continu | -B-- | +| SITE | Libellé | 0.00 26.97 | 5.82 82.51 | 0.00 Continu | H-GD | +| Rubrique | :gclEtatFicheDeplacement.m_sCodeSite | | | | | +LIBDATERENDEZVOUS Libellé 0.00 8.21 5.56 12.42 0.10 Continu HBGD +| 06/08/2026 | | Isis_BO | | | 5540 | +| ---------- | --- | ------- | --- | --- | ---- | + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_3 › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | | +| --- | ---- | --- | --- | ---------------- | --- | --- | +elbisiV erdaC +tiarT +| DATERDV | Libellé | 12.54 8.20 | 5.56 70.54 | 0.10 | Continu | HBGD | +| ------- | ------- | ---------- | ---------- | ---- | ------- | ---- | +LIBHEURERENDEZVOUS Libellé 0.00 13.16 5.62 12.42 0.00 Continu HBGD +| HEURERDV | Libellé | 12.54 13.17 | 5.56 70.54 | 0.00 | Continu | HBGD | +| -------------- | ------------------------------------ | ------------ | ---------- | ---- | ------- | ---- | +| | | 84.40 57.56 | 6.09 30.01 | 0.10 | | | +| LIBSUIVIPAR | Libellé | | | | Continu | HBG- | +| SUIVIPAR | Libellé | 114.30 57.68 | 6.09 75.73 | 0.10 | Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_sSuiviPar | | | | | | +| LIBCONTACTSITE | Libellé | 0.00 64.36 | 6.09 82.51 | | | | +| LIBSITE1 | Libellé | 0.89 1.85 | 6.09 82.51 | | | | +DESCRIPTIONINTERVENTION 84.40 71.17 34.93 105.62 0.20 Continu HBGD +Libellé +1 +| Rubrique | :gclEtatFicheDeplacement.m_sDescription | | | | | | +| --------------- | --------------------------------------- | ----------- | ----------- | --- | --- | --- | +| LIBCONTACTSITE1 | Libellé | 84.40 65.09 | 6.09 105.62 | | | | +| INT_BADGE | Interrupteur | 0.00 56.36 | 5.90 6.28 | | | | +| Rubrique | :gclEtatFicheDeplacement.m_bBadge | | | | | | +| LIB_BADGE | Libellé | 6.45 56.36 | 5.90 13.93 | | | | +| INT_BADGE1 | Interrupteur | 25.27 56.36 | 5.90 6.28 | | | | +| Rubrique | :gclEtatFicheDeplacement.m_bInterphone | | | | | | +| LIB_INTERPHONE | Libellé | 32.08 56.36 | 5.90 21.93 | | | | +LIB_CODEACCESSITE1 Libellé 84.93 17.99 38.37 29.42 0.10 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_sCodeAcces | | | | | | +| ------------ | ---------------------------------------- | ----------- | ----------- | ---- | ------- | ---- | +| LIB_LIBELLE1 | Libellé | 84.51 9.50 | 5.82 26.55 | | | | +| LIB_Contact | Libellé | 0.00 71.17 | 34.83 82.55 | 0.10 | Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_ListeContacts | | | | | | +| LIB_CHECK_1 | Libellé | 6.35 6.81 | 5.82 24.19 | | | | +| LIB_CHECK_2 | Libellé | 68.82 6.81 | 5.82 45.62 | | | | +| LIB_CHECK_3 | Libellé | 132.82 6.87 | 5.82 24.19 | | | | +| LIBOBJET | Libellé | 0.00 0.00 | 5.96 27.63 | | | | +| FRM_FORME4 | Forme | 0.00 6.77 | 5.90 6.28 | 0.20 | Continu | HBGD | +| FRM_FORME5 | Forme | 62.58 6.77 | 5.90 6.28 | 0.20 | Continu | HBGD | +| | | 126.47 6.77 | 5.90 6.28 | 0.20 | | | +| FRM_FORME6 | Forme | | | | Continu | HBGD | +| LIBDEVIS | Libellé | 0.00 13.78 | 5.56 85.04 | 0.10 | Continu | HBGD | +LIBDATEENVOIDEVIS Libellé 0.00 19.40 5.56 85.04 0.10 Continu HBGD +LIBDATEENVOIDEVIS1 Libellé 0.00 25.00 5.56 85.04 0.00 Continu HBGD +| LIBDEVIS1 | Libellé | 86.57 13.76 | 5.56 103.40 | 0.10 | Continu | HBGD | +| --------- | ------- | ----------- | ----------- | ---- | ------- | ---- | +LIBDATEENVOIDEVIS2 Libellé 86.57 19.31 5.56 103.40 0.10 Continu HBGD +LIBDATEENVOIDEVIS3 Libellé 86.57 25.00 5.56 103.40 0.00 Continu -BGD +| LIBOBJET1 | Libellé | 65.63 32.81 | 6.09 38.74 | | | | +| ------------------ | ------- | ----------- | ---------- | ---- | ------- | ---- | +| LIBDEVIS2 | Libellé | 0.00 46.89 | 5.56 37.15 | 0.10 | Continu | HBGD | +| | | 0.00 52.72 | 5.56 37.15 | 0.10 | | | +| LIBDATEENVOIDEVIS4 | Libellé | | | | Continu | HBGD | +LIBDATEENVOIDEVIS5 Libellé 0.00 74.94 5.56 37.15 0.00 Continu HBGD +LIBDATEENVOIDEVIS6 Libellé 0.00 58.27 5.56 37.15 0.00 Continu -BGD +LIBDATEENVOIDEVIS7 Libellé 0.00 63.83 5.56 37.15 0.00 Continu -BGD +| | | 0.00 69.38 | 5.56 37.15 | 0.00 | | | +| ------------------ | ------- | ----------- | ----------- | ---- | ------- | ---- | +| LIBDATEENVOIDEVIS8 | Libellé | | | | Continu | -BGD | +| LIBDEVIS3 | Libellé | 37.10 46.92 | 5.56 152.93 | 0.10 | Continu | HBGD | +LIBDATEENVOIDEVIS9 Libellé 37.10 52.74 5.56 152.93 0.10 Continu HBGD +LIBDATEENVOIDEVIS10 Libellé 37.10 58.29 5.56 152.93 0.00 Continu -BGD +| 06/08/2026 | | Isis_BO | | | | 5541 | +| ---------- | --- | ------- | --- | --- | --- | ---- | + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_3 › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | +| --- | ---- | --- | --- | ---------------- | --- | +elbisiV erdaC +tiarT +LIBDATEENVOIDEVIS11 Libellé 37.10 63.85 5.56 152.93 0.00 Continu -BGD +LIBDATEENVOIDEVIS12 Libellé 37.10 69.40 5.56 152.93 0.00 Continu -BGD +LIBDATEENVOIDEVIS13 Libellé 37.10 74.96 5.56 152.93 0.00 Continu HBGD +| | | 2.91 38.89 | 5.96 27.63 | | | +| ------------------------------ | ------- | ------------ | -------------------------- | --- | --- | +| LIBOBJET2 | Libellé | | | | | +| LIBOBJET3 | Libellé | 34.95 38.89 | 5.96 27.63 | | | +| LIBOBJET4 | Libellé | 65.63 38.89 | 5.96 27.63 | | | +| LIBOBJET5 | Libellé | 129.38 38.89 | 5.96 27.63 | | | +| LIBOBJET6 | Libellé | 97.33 38.89 | 5.96 27.63 | | | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | +Epais. : Epaisseur du cadre (mm) +Détails des champs +Type de champ Prédéfini +| CHAMP58 Date | | | | | | +| ------------ | --- | ------- | --- | --- | ---- | +| 06/08/2026 | | Isis_BO | | | 5542 | + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_3 › Code +ETAT_FicheIntervention_SLAMM_3 +Code +Ouverture de ETAT_FicheIntervention_SLAMM_3 +procédure ETAT_FicheIntervention_SLAMM_3(gclEtatFicheDeplacement est un MEtatFicheIntervention +dynamique) +si gclEtatFicheDeplacement=Null alors +gclEtatFicheDeplacement=allouer un MEtatFicheDeplacement +c est un MIntervention_Personne +// c:m_sNom="Toto" +// c:m_bActif=vrai +gclEtatFicheDeplacement:m_clListeContact.Ajoute(c) +sinon +si gclEtatFicheDeplacement:m_clListeContact..Occurrence=0 alors +b est un MIntervention_Personne +gclEtatFicheDeplacement:m_clListeContact.Ajoute(b) +fin +fin +//SOCIETE=gclRendezVous:FicheIntervention:FicheSociete:m_sNom +//REFINTERNEINTERVENTION = gclRendezVous:FicheIntervention.m_sRefInterne +//DATEINTERVENTION= gclRendezVous:FicheIntervention.m_dDateIntervention +//SUIVIPAR= gclRendezVous:FicheIntervention.FicheSuiveur:NomPrenom +////*********************Occupant********************** +//CiviliteNomPrenomOccupant = gclRendezVous:FicheOccupant:CiviliteNomPrenom +//TelFixeOccupant=gclRendezVous:FicheOccupant:m_sTelFixe +//TelMobileOccupant=gclRendezVous:FicheOccupant:m_sTelMobile +// +//PRESENTATIONADRESSESITE = gclRendezVous:FicheIntervention:FicheLieu:m_clAdresse:m_sPresentation +//CODEACCESSITE=gclRendezVous:FicheIntervention:FicheLieu:m_sCodeAcces +////**********************Client********************** +//CLIENT=gclRendezVous:FicheIntervention:FicheClient:m_sNom +//REFEXTERNEINTERVENTION=gclRendezVous:FicheIntervention:m_sRefExterne +////**********************Rendez-vous********************** +//DATERENDEZVOUS=gclRendezVous:DateRendezVous +//DESCRIPTIONINTERVENTION=gclRendezVous:m_sDescription +//nCptDonneur est un entier = gclRendezVous:FicheIntervention:ListeContactClient.p_nTotal +//SI nCptDonneur>0 ALORS +// SELON nCptDonneur +// +CAS 1 : DONNEURORDRE = +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +// AUTRE CAS : +// +DONNEURORDRE = +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +// +DONNEURORDRE2= +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[2]:m_clContact:CiviliteNomPrenom +// FIN +//FIN +//POUR i = 1 _A_ gclRendezVous:m_clListeCollabGroup..Occurrence +// +//FIN +i est un entier +//j est un entier +Filtre (tenir compte de l'enregistrement ?) de ETAT_FicheIntervention_SLAMM_3 +06/08/2026 Isis_BO 5543 + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_3 › Code +i+=1 +//SI PAS gclEtatFicheDeplacement:m_clListeCollabGroup[i]:m_bActif ALORS +// RENVOYER Faux +//SINON +// RENVOYER Vrai +// +//FIN +//LIB_SansNom6 = NomPrenom +//i+=1 +//SI i<= gclRendezVous:m_clListeCollabGroup..Occurrence ALORS +// RENVOYER Vrai +//SINON +// RENVOYER Faux +//FIN +ETAT_FicheIntervention_SLAMM_3 +Code des champs +Avant impression de CORPS +//SI i<>j ALORS +// LIB_SansNom6=gclRendezVous:m_clListeCollabGroup[i]:NomPrenom +// j=i +//FIN +06/08/2026 Isis_BO 5544 + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_4 › Image +ETAT_FicheIntervention_SLAMM_4 +Image +| 06/08/2026 | Isis_BO | 5545 | +| ---------- | ------- | ---- | + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_4 › Image +| 06/08/2026 | Isis_BO | 5546 | +| ---------- | ------- | ---- | + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_4 › Informations générales +ETAT_FicheIntervention_SLAMM_4 +Informations générales +ETAT_FicheIntervention_SLAMM_4 +| Nom logique de l'état | ETAT_FicheIntervention_SLAMM_4 | | | | | +| --------------------- | ------------------------------ | --- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\ETAT_FicheIntervention_SLAMM_4.wde +| Type | Tableau | | | | | +| ----- | --------------- | --- | --- | --- | --- | +| Thème | 210 Blueberries | | | | | +Type de source de données +| Nom de la source | :gclEtatFicheDeplacement.m_clListeContact | | | | | +| ----------------- | ----------------------------------------- | --- | ----------------- | ----- | --- | +| Format de la page | A4 (210 x 297 mm) | | | | | +| Marge haute (mm) | 20.00 | | Marge basse (mm) | 20.00 | | +| Marge gauche (mm) | 20.00 | | Marge droite (mm) | 20.00 | | +ETAT_FicheIntervention_SLAMM_4 +Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +| | Type | X | Y | | noitisoP | +| --- | ---- | --- | --- | --- | -------- | +elbisiV elbacéS ¹ .siapE +erdaC +tiarT +| IMG_LogoSociete | Image | 0.00 | 0.00 20.22 23.28 | | | +| ------------------------ | --------------------------------------------- | ------ | ---------------- | --- | --- | +| Rubrique | :gclEtatFicheDeplacement.m_LogoSociete..Image | | | | | +| | | 23.39 | 0.11 9.79 124.62 | | | +| TITREDOC | Libellé | | | | | +| CHAMP58 | Prédéfini | 150.92 | 0.11 6.62 19.05 | | | +| LIBREFINTERNEINTERVENTIO | | 54.29 | 12.10 5.62 30.79 | | | +Libellé +N +| REFINTERNEINTERVENTION | Libellé | 85.08 | 12.10 5.62 35.67 | | | +| ---------------------- | -------------------------------------------------- | ------ | ---------------- | ------------ | ---- | +| Rubrique | :gclEtatFicheDeplacement.m_sRefInterneIntervention | | | | | +| NOTESITE | Libellé | 84.40 | 9.26 37.04 85.46 | 0.10 Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_sNoteSite | | | | | +| DONNEURORDRE2 | Libellé | 245.91 | 23.74 6.09 73.66 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sDonneurOrdre_2 | | | | | +| DONNEURORDRE | Libellé | 245.91 | 16.38 6.09 73.66 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sDonneurOrdre_1 | | | | | +| | | 84.40 | 67.45 6.09 85.57 | 0.10 | | +| HEUREARRIVEE | Libellé | | | Continu | HBGD | +ETATINTERVENTION Libellé 0.00 67.47 6.09 82.66 0.10 Continu H-GD +| Rubrique | :gclEtatFicheDeplacement.m_sEtatIntervention | | | | | +| ---------- | -------------------------------------------- | ----- | --------------- | ------------ | ---- | +| CLIENT | Libellé | 12.93 | 1.93 5.82 69.69 | 0.10 Continu | HBGD | +| 06/08/2026 | | | Isis_BO | | 5547 | + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_4 › Informations sur les champs +| Rubrique | :gclEtatFicheDeplacement.m_sNomClient | | | | | +| ----------------- | ------------------------------------- | ---------- | ---------- | ------------ | ---- | +| LIBDONNEURDORDRE | Libellé | 0.00 92.03 | 6.09 82.66 | | | +| LIBCLIENT | Libellé | 0.00 1.79 | 5.82 13.63 | 0.10 Continu | HBGD | +| LIB_CODEACCESSITE | Libellé | 84.93 1.82 | 5.82 85.04 | | | +PRESENTATIONADRESSESITE Libellé 0.00 22.80 22.84 82.51 0.00 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_sAdresseSite | | | | | +| ----------------- | --------------------------------------- | ----------- | ---------- | ------------ | ---- | +| | | 0.11 10.88 | 6.09 82.51 | 0.00 | | +| LIBSITE | Libellé | | | Continu | -B-- | +| SITE | Libellé | 0.11 16.97 | 5.82 82.51 | 0.00 Continu | H-GD | +| Rubrique | :gclEtatFicheDeplacement.m_sCodeSite | | | | | +| | | 0.00 52.72 | 5.56 12.42 | 0.10 | | +| LIBDATERENDEZVOUS | Libellé | | | Continu | HBGD | +| DATERDV | Libellé | 12.54 52.72 | 5.56 69.74 | 0.10 Continu | HBGD | +LIBHEURERENDEZVOUS Libellé 0.00 57.67 5.62 12.42 0.00 Continu HBGD +| HEURERDV | Libellé | 12.54 57.68 | 5.56 69.74 | 0.00 Continu | HBGD | +| ---------------- | -------------------------------------------- | ----------- | ---------- | ------------ | ---- | +| | | 0.00 73.38 | 6.09 82.66 | 0.00 | | +| TYPEINTERVENTION | Libellé | | | Continu | --GD | +| Rubrique | :gclEtatFicheDeplacement.m_sTypeIntervention | | | | | +| NUMDEVIS | Libellé | 0.00 79.46 | 6.09 82.66 | 0.00 Continu | --GD | +| Rubrique | :gclEtatFicheDeplacement.m_sNumDevis | | | | | +TITREINTERVENTION Libellé 0.00 85.55 6.09 82.66 0.00 Continu -BGD +| Rubrique | :gclEtatFicheDeplacement.m_sTitreIntervention | | | | | +| ----------- | --------------------------------------------- | ------------ | ---------- | ------------ | ---- | +| HEUREDEPART | Libellé | 84.43 73.55 | 6.09 85.57 | 0.00 Continu | -BGD | +| LIBSUIVIPAR | Libellé | 84.40 92.03 | 6.09 30.01 | 0.10 Continu | HBG- | +| SUIVIPAR | Libellé | 114.30 92.03 | 6.09 55.67 | 0.10 Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_sSuiviPar | | | | | +ETATINT_CONTACTCLIENT Etat interne 237.86 32.02 5.56 85.57 0.10 Continu HBGD +| LIBCONTACTSITE | Libellé | 84.40 46.36 | 6.09 85.57 | | | +| -------------- | ------- | ----------- | ---------- | --- | --- | +ETATINT_COLLAB Etat interne 0.00 98.11 5.56 82.66 0.10 Continu HBGD +| LIBSITE1 | Libellé | 0.00 46.36 | 6.09 82.51 | | | +| -------- | ------- | ---------- | ---------- | --- | --- | +DESCRIPTIONINTERVENTION 0.00 110.55 25.40 169.86 0.20 Continu HBGD +Libellé +1 +| Rubrique | :gclEtatFicheDeplacement.m_sDescription | | | | | +| --------- | --------------------------------------- | ------------ | ---------- | --- | --- | +| LIBOBJET2 | Libellé | 0.00 144.46 | 7.00 74.00 | | | +| SITE1 | Libellé | 74.00 144.46 | 7.00 82.51 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sNumDevis | | | | | +LIB_Contact Libellé 84.40 52.92 10.47 85.46 0.10 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_ListeContacts | | | | | +| ------------------------------ | ---------------------------------------- | --- | -------------------------- | --- | --- | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | +Epais. : Epaisseur du cadre (mm) +| 06/08/2026 | | Isis_BO | | | 5548 | +| ---------- | --- | ------- | --- | --- | ---- | + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_4 › Informations sur les champs +Détails des champs +Type de champ Prédéfini +CHAMP58 Date +Détails des champs +Etat interne +ETATINT_CONTACTCLIEN EI_CONTACT_SITE +ETATINT_COLLAB EI_COLLAB_INTERVENTION +06/08/2026 Isis_BO 5549 + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_4 › Code +ETAT_FicheIntervention_SLAMM_4 +Code +Ouverture de ETAT_FicheIntervention_SLAMM_4 +procédure ETAT_FicheIntervention_SLAMM_4(gclEtatFicheDeplacement est un MEtatFicheIntervention +dynamique) +si gclEtatFicheDeplacement=Null alors +gclEtatFicheDeplacement=allouer un MEtatFicheIntervention +c est un MIntervention_Personne +// c:m_sNom="Toto" +// c:m_bActif=vrai +gclEtatFicheDeplacement:m_clListeContact.Ajoute(c) +sinon +si gclEtatFicheDeplacement:m_clListeContact..Occurrence=0 alors +b est un MIntervention_Personne +gclEtatFicheDeplacement:m_clListeContact.Ajoute(b) +fin +fin +//SOCIETE=gclRendezVous:FicheIntervention:FicheSociete:m_sNom +//REFINTERNEINTERVENTION = gclRendezVous:FicheIntervention.m_sRefInterne +//DATEINTERVENTION= gclRendezVous:FicheIntervention.m_dDateIntervention +//SUIVIPAR= gclRendezVous:FicheIntervention.FicheSuiveur:NomPrenom +////*********************Occupant********************** +//CiviliteNomPrenomOccupant = gclRendezVous:FicheOccupant:CiviliteNomPrenom +//TelFixeOccupant=gclRendezVous:FicheOccupant:m_sTelFixe +//TelMobileOccupant=gclRendezVous:FicheOccupant:m_sTelMobile +// +//PRESENTATIONADRESSESITE = gclRendezVous:FicheIntervention:FicheLieu:m_clAdresse:m_sPresentation +//CODEACCESSITE=gclRendezVous:FicheIntervention:FicheLieu:m_sCodeAcces +////**********************Client********************** +//CLIENT=gclRendezVous:FicheIntervention:FicheClient:m_sNom +//REFEXTERNEINTERVENTION=gclRendezVous:FicheIntervention:m_sRefExterne +////**********************Rendez-vous********************** +//DATERENDEZVOUS=gclRendezVous:DateRendezVous +//DESCRIPTIONINTERVENTION=gclRendezVous:m_sDescription +//nCptDonneur est un entier = gclRendezVous:FicheIntervention:ListeContactClient.p_nTotal +//SI nCptDonneur>0 ALORS +// SELON nCptDonneur +// +CAS 1 : DONNEURORDRE = +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +// AUTRE CAS : +// +DONNEURORDRE = +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[1]:m_clContact:CiviliteNomPrenom +// +DONNEURORDRE2= +gclRendezVous:FicheIntervention:ListeContactClient.m_clTabModele[2]:m_clContact:CiviliteNomPrenom +// FIN +//FIN +//POUR i = 1 _A_ gclRendezVous:m_clListeCollabGroup..Occurrence +// +//FIN +i est un entier +//j est un entier +Filtre (tenir compte de l'enregistrement ?) de ETAT_FicheIntervention_SLAMM_4 +06/08/2026 Isis_BO 5550 + +Partie 5 › Etat › ETAT_FicheIntervention_SLAMM_4 › Code +i+=1 +//SI PAS gclEtatFicheDeplacement:m_clListeCollabGroup[i]:m_bActif ALORS +// RENVOYER Faux +//SINON +// RENVOYER Vrai +// +//FIN +//LIB_SansNom6 = NomPrenom +//i+=1 +//SI i<= gclRendezVous:m_clListeCollabGroup..Occurrence ALORS +// RENVOYER Vrai +//SINON +// RENVOYER Faux +//FIN +ETAT_FicheIntervention_SLAMM_4 +Code des champs +Avant impression de CORPS +//SI i<>j ALORS +// LIB_SansNom6=gclRendezVous:m_clListeCollabGroup[i]:NomPrenom +// j=i +//FIN +Avant impression de ETATINT_COLLAB +//nIterationContactCli=4 +Avant impression de ETATINT_CONTACTCLIENT +//nIterationContactCli=4 +06/08/2026 Isis_BO 5551 + +Partie 5 › Etat › ETAT_GrandeFiche2_BOUVARD › Image +ETAT_GrandeFiche2_BOUVARD +Image +ETAT_GrandeFiche2_BOUVARD +Informations générales +ETAT_GrandeFiche2_BOUVARD +Nom logique de l'état ETAT_GrandeFiche2_BOUVARD +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\ETAT_GrandeFiche2_BOUVARD.wde +Type Tableau +Thème 110 ActivVISTA +Type de source de données +Nom de la source :gclEtatFicheDeplacement.m_clListeContact +Format de la page A4 (210 x 297 mm) +06/08/2026 Isis_BO 5552 + +Partie 5 › Etat › ETAT_GrandeFiche2_BOUVARD › Informations générales +| Marge haute (mm) | 2.00 | | Marge basse (mm) | 2.00 | | +| ----------------- | ----- | --- | ----------------- | ----- | --- | +| Marge gauche (mm) | 12.00 | | Marge droite (mm) | 10.00 | | +ETAT_GrandeFiche2_BOUVARD +Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | +| --- | ---- | --- | --- | ---------------- | --- | +elbisiV erdaC +tiarT +| FRM_FORME4 | Forme | 0.27 15.08 | 40.22 92.78 | 0.20 Continu | HBGD | +| ----------------------- | -------------------------------------------------- | ----------- | ----------- | ------------ | ---- | +| SOCIETE | Libellé | 37.83 0.12 | 6.56 98.17 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sNomSociete | | | | | +| Ligne40 | Forme | -0.09 7.00 | 2.38 188.12 | 0.04 Continu | H--- | +| Texte36 | Libellé | 1.95 7.23 | 5.76 15.79 | | | +| REFINTERNEINTERVENTION | Libellé | 17.82 7.23 | 5.76 38.54 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sRefInterneIntervention | | | | | +| Texte9 | Libellé | 56.40 7.23 | 5.76 25.00 | | | +| DATEINTERVENTION | Libellé | 81.85 7.23 | 5.76 32.72 | | | +| Rubrique | :gclEtatFicheDeplacement.m_dDateIntervention | | | | | +| Texte52 | Libellé | 114.57 7.23 | 5.76 22.00 | | | +| SUIVIPAR | Libellé | 137.05 7.23 | 5.76 50.27 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sSuiviPar | | | | | +| Ligne42 | Forme | -0.09 13.08 | 2.12 188.12 | 0.04 Continu | H--- | +| PRESENTATIONADRESSESITE | Libellé | 1.06 16.40 | 30.69 63.94 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sAdresseSite | | | | | +CODEACCESSITE Libellé 66.68 22.49 32.00 26.00 0.10 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_sCodeAcces | | | | | +| -------------- | -------------------------------------- | ----------- | ---------- | --- | --- | +| LIB_LIBELLE1 | Libellé | 66.58 15.61 | 5.82 26.55 | | | +| INT_BADGE | Interrupteur | 0.95 48.48 | 5.90 6.28 | | | +| Rubrique | :gclEtatFicheDeplacement.m_bBadge | | | | | +| LIB_BADGE | Libellé | 7.39 48.48 | 5.90 13.93 | | | +| | | 26.22 48.48 | 5.90 6.28 | | | +| INT_BADGE1 | Interrupteur | | | | | +| Rubrique | :gclEtatFicheDeplacement.m_bInterphone | | | | | +| LIB_INTERPHONE | Libellé | 33.03 48.48 | 5.90 21.93 | | | +DESCRIPTIONINTERVENTION Libellé 96.03 18.52 63.09 91.87 0.10 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_sDescription | | | | | +| --------------- | --------------------------------------- | ----------- | ---------- | ------------ | ---- | +| | | 94.72 13.11 | 5.82 22.93 | | | +| LIB_DESCRIPTION | Libellé | | | | | +| Texte19 | Libellé | 0.00 58.54 | 5.90 13.93 | 0.10 Continu | HBGD | +| CLIENT | Libellé | 13.93 58.47 | 5.82 80.79 | 0.10 Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_sNomClient | | | | | +LIB_CONTACTCLIENT Libellé 0.00 70.00 6.00 35.10 0.10 Continu HBG- +| 06/08/2026 | | Isis_BO | | | 5553 | +| ---------- | --- | ------- | --- | --- | ---- | + +Partie 5 › Etat › ETAT_GrandeFiche2_BOUVARD › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | | +| --- | ---- | --- | --- | ---------------- | --- | --- | +elbisiV erdaC +tiarT +LIB_SansNom10 Libellé 35.10 70.00 6.00 13.83 0.10 Continu HBG- +LIB_MESSAGE_CONTACT_CLIE 48.91 70.00 6.00 45.83 0.10 Continu HBGD +Libellé +NT +| Rèf: | Libellé | 0.00 64.44 | 5.90 13.93 | 0.00 | Continu | H-GD | +| ---- | ------- | ---------- | ---------- | ---- | ------- | ---- | +REFEXTERNEINTERVENTION Libellé 14.02 64.29 5.82 80.60 0.00 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_sRefExterneIntervention | | | | | | +| --------------------- | -------------------------------------------------- | ---------- | ---------- | ---- | ------- | ---- | +| ETATINT_CONTACTCLIENT | Etat interne | 0.00 76.00 | 6.00 94.74 | | | | +| LIB_SansNom1 | Libellé | 0.00 83.69 | 6.35 35.10 | 0.10 | Continu | HBG- | +LIB_SansNom3 Libellé 35.10 83.69 6.35 12.83 0.10 Continu HBG- +LIB_SansNom5 Libellé 47.93 83.69 6.35 23.92 0.10 Continu HBG- +LIB_SansNom6 Libellé 71.85 83.69 6.35 23.92 0.10 Continu HBG- +LIB_SansNom8 Libellé 95.77 83.69 6.35 29.00 0.10 Continu HBG- +| | | 124.77 83.69 | 6.35 32.00 | 0.10 | | | +| ------------- | ------- | ------------ | ---------- | ---- | ------- | ---- | +| LIB_SansNom12 | Libellé | | | | Continu | HBG- | +LIB_SansNom14 Libellé 156.77 83.69 6.35 31.13 0.10 Continu HBGD +LIB__gclEtatFicheDeplaceme 0.00 0.00 6.00 35.10 0.10 Continu -BG- +| nt_m_clListeContact_m_clCon | Libellé | | | | | | +| --------------------------- | ------- | --- | --- | --- | --- | --- | +tact_CiviliteNomPrenom +Rubrique :gclEtatFicheDeplacement.m_clListeContact.m_clContact.CiviliteNomPrenom +| LIB__gclEtatFicheDeplaceme | | 35.10 0.00 | 6.00 12.83 | 0.10 | | | +| -------------------------- | --- | ---------- | ---------- | ---- | ------- | ---- | +| | | | | | Continu | -BG- | +Libellé +nt_m_clListeContact_m_sEtag +| Rubrique | :gclEtatFicheDeplacement.m_clListeContact.m_sEtage | | | | | | +| -------- | -------------------------------------------------- | --- | --- | --- | --- | --- | +LIB__gclEtatFicheDeplaceme 47.93 0.00 6.00 23.92 0.10 Continu -BG- +| nt_m_clListeContact_m_clCon | Libellé | | | | | | +| --------------------------- | ------- | --- | --- | --- | --- | --- | +tact_m_sTelFixe +Rubrique :gclEtatFicheDeplacement.m_clListeContact.m_clContact.m_sTelFixe +LIB__gclEtatFicheDeplaceme 71.85 0.00 6.00 23.92 0.10 Continu -BG- +| nt_m_clListeContact_m_clCon | Libellé | | | | | | +| --------------------------- | ------- | --- | --- | --- | --- | --- | +tact_m_sTelMobile +Rubrique :gclEtatFicheDeplacement.m_clListeContact.m_clContact.m_sTelMobile +LIB__gclEtatFicheDeplaceme 95.77 0.00 6.00 29.00 0.10 Continu -BG- +| nt_m_clListeContact_m_clCon | Libellé | | | | | | +| --------------------------- | ------- | --- | --- | --- | --- | --- | +tact_LibRole +Rubrique :gclEtatFicheDeplacement.m_clListeContact.m_clContact.LibRole +| | | 124.77 0.00 | 6.00 32.00 | 0.10 | | | +| ------------- | ------- | ----------- | ---------- | ---- | ------- | ---- | +| LIB_SansNom11 | Libellé | | | | Continu | -BG- | +LIB_SansNom13 Libellé 156.77 0.00 6.00 31.13 0.10 Continu -BGD +| LIB_MONTEUR | Libellé | 0.00 2.00 | 10.09 30.50 | 0.10 | Continu | HBG- | +| ----------- | ------- | ---------- | ----------- | ---- | ------- | ---- | +| LIB_DATERDV | Libellé | 30.50 2.00 | 10.09 22.20 | 0.10 | Continu | HBG- | +LIB_HEURE_ARRIVEERDV Libellé 52.70 2.00 10.09 17.49 0.10 Continu HBG- +| LIB_ESPACE | Libellé | 158.14 2.00 | 10.09 1.90 | 0.10 | Continu | HBG- | +| ---------- | ------- | ----------- | ---------- | ---- | ------- | ---- | +| LIB_DEVIS | Libellé | 159.98 7.06 | 5.03 12.00 | 0.10 | Continu | HBG- | +LIB_TPSTOTAL Libellé 171.98 7.06 5.03 16.05 0.10 Continu HBGD +LIB_HEURE_DEPARTRDV Libellé 70.19 2.00 10.09 17.49 0.10 Continu HBG- +| | | 87.67 2.00 | 10.09 12.49 | 0.10 | | | +| ----------- | ------- | ---------- | ----------- | ---- | ------- | ---- | +| LIB_ENCOURS | Libellé | | | | Continu | HBG- | +LIB_FACTURE Libellé 100.16 2.00 10.09 15.49 0.10 Continu HBG- +LIB_SIGNATURE Libellé 115.64 2.00 10.09 42.49 0.10 Continu HBG- +LIB_SURENTET Libellé 159.98 2.04 5.29 28.05 0.10 Continu HBGD +| | | 0.00 12.06 | 12.00 30.50 | 0.00 | | | +| ------------ | ------- | ---------- | ----------- | ---- | ------- | ---- | +| LIB_MONTEUR1 | Libellé | | | | Continu | -BG- | +LIB_DATERDV1 Libellé 30.50 12.06 12.00 22.20 0.00 Continu -BG- +| 06/08/2026 | | Isis_BO | | | | 5554 | +| ---------- | --- | ------- | --- | --- | --- | ---- | + +Partie 5 › Etat › ETAT_GrandeFiche2_BOUVARD › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | | +| --- | ---- | --- | --- | ---------------- | --- | --- | +elbisiV erdaC +tiarT +LIB_HEURE_ARRIVEERDV1 Libellé 52.53 12.06 12.00 17.49 0.00 Continu -BG- +LIB_HEURE_DEPARTRDV1 Libellé 70.02 12.06 12.00 17.49 0.00 Continu -BG- +LIB_ENCOURS1 Libellé 87.67 12.06 12.00 12.49 0.00 Continu -BG- +| | | 100.16 12.06 | 12.00 15.49 | 0.00 | | | +| ------------ | ------- | ------------ | ----------- | ---- | ------- | ---- | +| LIB_FACTURE1 | Libellé | | | | Continu | -BG- | +LIB_SIGNATURE1 Libellé 115.64 12.06 12.00 42.49 0.00 Continu -BG- +LIB_ESPACE1 Libellé 158.14 12.06 12.00 1.90 0.00 Continu -BG- +LIB_DEVIS1 Libellé 159.98 12.06 12.00 12.00 0.00 Continu -BG- +LIB_TPSTOTAL1 Libellé 171.98 12.06 12.00 16.05 0.00 Continu -BGD +LIB_MONTEUR2 Libellé 0.00 24.06 12.00 30.50 0.00 Continu -BG- +LIB_DATERDV2 Libellé 30.50 24.06 12.00 22.20 0.00 Continu -BG- +LIB_HEURE_ARRIVEERDV2 Libellé 52.53 24.06 12.00 17.49 0.00 Continu -BG- +LIB_HEURE_DEPARTRDV2 Libellé 70.02 24.06 12.00 17.49 0.00 Continu -BG- +| | | 87.67 24.06 | 12.00 12.49 | 0.00 | | | +| ------------ | ------- | ----------- | ----------- | ---- | ------- | ---- | +| LIB_ENCOURS2 | Libellé | | | | Continu | -BG- | +LIB_FACTURE2 Libellé 100.16 24.06 12.00 15.49 0.00 Continu -BG- +LIB_SIGNATURE2 Libellé 115.64 24.06 12.00 42.49 0.00 Continu -BG- +LIB_ESPACE2 Libellé 158.14 24.06 12.00 1.90 0.00 Continu -BG- +LIB_DEVIS2 Libellé 159.98 24.06 12.00 12.00 0.00 Continu -BG- +LIB_TPSTOTAL2 Libellé 171.98 24.06 12.00 16.05 0.00 Continu -BGD +LIB_MONTEUR3 Libellé 0.00 36.00 12.00 30.50 0.00 Continu -BG- +LIB_DATERDV3 Libellé 30.50 36.00 12.00 22.20 0.00 Continu -BG- +LIB_HEURE_ARRIVEERDV3 Libellé 52.53 36.00 12.00 17.49 0.00 Continu -BG- +LIB_HEURE_DEPARTRDV3 Libellé 70.02 36.00 12.00 17.49 0.00 Continu -BG- +LIB_ENCOURS3 Libellé 87.67 36.00 12.00 12.49 0.00 Continu -BG- +LIB_FACTURE3 Libellé 100.16 36.00 12.00 15.49 0.00 Continu -BG- +LIB_SIGNATURE3 Libellé 115.64 36.00 12.00 42.49 0.00 Continu -BG- +| | | 158.14 36.00 | 12.00 1.90 | 0.00 | | | +| ----------- | ------- | ------------ | ---------- | ---- | ------- | ---- | +| LIB_ESPACE3 | Libellé | | | | Continu | -BG- | +LIB_DEVIS3 Libellé 159.98 36.00 12.00 12.00 0.00 Continu -BG- +LIB_TPSTOTAL3 Libellé 171.98 36.00 12.00 16.05 0.00 Continu -BGD +| LIB_NUM | Libellé | 0.00 2.00 | 6.00 12.08 | 0.10 | Continu | HBG- | +| ------- | ------- | --------- | ---------- | ---- | ------- | ---- | +LIB_DESCRIPTIF Libellé 12.10 2.00 6.00 35.55 0.10 Continu HBG- +LIB_FOURNITURE Libellé 47.65 2.00 6.00 83.52 0.10 Continu HBG- +| LIB_QTE | Libellé | 131.26 2.00 | 6.00 11.81 | 0.10 | Continu | HBG- | +| ------------------------------ | ------------ | ----------- | -------------------------- | ---- | ------- | ---- | +| LIB_PU | Libellé | 143.00 2.00 | 6.00 21.00 | 0.10 | Continu | HBG- | +| LIB_PRIX | Libellé | 164.07 2.00 | 6.00 23.98 | 0.10 | Continu | HBGD | +| | | 0.00 8.00 | 6.00 188.12 | | | | +| ETATINT_FOURNITURE | Etat interne | | | | | | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | | +Epais. : Epaisseur du cadre (mm) +| 06/08/2026 | | Isis_BO | | | | 5555 | +| ---------- | --- | ------- | --- | --- | --- | ---- | + +Partie 5 › Etat › ETAT_GrandeFiche2_BOUVARD › Informations sur les champs +Détails des champs +Etat interne +ETATINT_CONTACTCLIEN EI_CONTACT_CLIENT +ETATINT_FOURNITURE EI_FOURNITURE +06/08/2026 Isis_BO 5556 + +Partie 5 › Etat › ETAT_GrandeFiche2_BOUVARD › Code +ETAT_GrandeFiche2_BOUVARD +Code +Ouverture de ETAT_GrandeFiche2_BOUVARD +procédure ETAT_GrandeFiche2_BOUVARD(gclEtatFicheDeplacement est un MEtatFicheIntervention dynamique) +//,nIterationContactCli est un entier=2 +i est un entier +nIterationFourniture est un entier +nIterationContactCli est un entier +si gclEtatFicheDeplacement=Null alors +gclEtatFicheDeplacement=allouer un MEtatFicheIntervention +c est un MIntervention_Personne +// c:m_sNom="Toto" +// c:m_bActif=vrai +gclEtatFicheDeplacement:m_clListeContact.Ajoute(c) +sinon +si gclEtatFicheDeplacement:m_clListeContact..Occurrence=0 alors +b est un MIntervention_Personne +gclEtatFicheDeplacement:m_clListeContact.Ajoute(b) +fin +fin +Lecture des données de ETAT_GrandeFiche2_BOUVARD +i+=1 +//SI i<=1 ALORS +// RENVOYER vrai +//SINON +// RENVOYER faux +// +//FIN +ETAT_GrandeFiche2_BOUVARD +Code des champs +Avant impression de FIN_DOCUMENT +rHauteurRestante est un réel +rHauteurRestante = iHauteurRestantePage +rHauteurNet est un réel = rHauteurRestante-2-6 +nIterationFourniture = PartieEntière(rHauteurNet/6) +iInitEtatInterne(ETATINT_FOURNITURE, nIterationFourniture) +//nIterationFourniture = 2 +Avant impression de ETATINT_CONTACTCLIENT +//nIterationContactCli=4 +06/08/2026 Isis_BO 5557 + +Partie 5 › Etat › ETAT_PetiteFiche2_BOUVARD › Image +ETAT_PetiteFiche2_BOUVARD +Image +ETAT_PetiteFiche2_BOUVARD +Informations générales +ETAT_PetiteFiche2_BOUVARD +| Nom logique de l'état | ETAT_PetiteFiche2_BOUVARD | | | | +| --------------------- | ------------------------- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\WD30\Dev\ETAT_PetiteFiche2_BOUVARD.wde +| Type | Tableau | | | | +| ----- | -------------- | --- | --- | --- | +| Thème | 110 ActivVISTA | | | | +Type de source de données +| Nom de la source | :gclEtatFicheDeplacement.m_clListeContact | | | | +| ----------------- | ----------------------------------------- | ----------------- | ---- | ---- | +| Format de la page | A5 (148 x 210 mm) | | | | +| Marge haute (mm) | 2.00 | Marge basse (mm) | 2.00 | | +| Marge gauche (mm) | 4.00 | Marge droite (mm) | 4.00 | | +| 06/08/2026 | | Isis_BO | | 5558 | + +Partie 5 › Etat › ETAT_PetiteFiche2_BOUVARD › Informations sur les champs +ETAT_PetiteFiche2_BOUVARD +Informations sur les champs +)mm( ruetuaH +)mm( ruegraL +¹ txE.otuA +¹ uaelbaT +| | Type | X Y | | elbacéS | noitisoP | +| --- | ---- | --- | --- | ------- | -------- | +elbisiV ¹ .siapE +erdaC +tiarT +| FRM_FORME4 | Forme | 0.00 15.08 | 25.40 139.96 | 0.20 Continu | HBGD | +| ---------- | ------- | ---------- | ------------ | ------------ | ---- | +| | | 0.23 0.12 | 6.61 139.70 | | | +| SOCIETE | Libellé | | | | | +Rubrique +:gclEtatFicheDeplacement.m_sNomSociete +| Ligne40 | Forme | -0.03 7.00 | 2.38 139.96 | 0.04 Continu | H--- | +| ----------------------- | -------------------------------------------------- | ----------- | ----------- | ------------ | ---- | +| Texte36 | Libellé | 1.95 7.23 | 5.76 15.79 | | | +| | | 17.99 7.14 | 5.82 19.75 | | | +| REFINTERNEINTERVENTION | Libellé | | | | | +| Rubrique | :gclEtatFicheDeplacement.m_sRefInterneIntervention | | | | | +| Texte9 | Libellé | 38.40 7.23 | 5.76 25.00 | | | +| DATEINTERVENTION | Libellé | 63.85 7.23 | 5.76 19.72 | | | +| Rubrique | :gclEtatFicheDeplacement.m_dDateIntervention | | | | | +| | | 84.57 7.23 | 5.76 22.00 | | | +| Texte52 | Libellé | | | | | +| SUIVIPAR | Libellé | 107.13 7.26 | 5.82 32.81 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sSuiviPar | | | | | +| Ligne42 | Forme | -0.03 13.08 | 2.12 139.96 | 0.04 Continu | H--- | +| PRESENTATIONADRESSESITE | Libellé | 0.95 16.34 | 22.84 65.32 | | | +| Rubrique | :gclEtatFicheDeplacement.m_sAdresseSite | | | | | +CODEACCESSITE Libellé 96.04 16.14 23.50 42.86 0.10 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_sCodeAcces | | | | | +| -------------- | -------------------------------------- | ----------- | ---------- | ------------ | ---- | +| LIB_LIBELLE1 | Libellé | 69.29 16.14 | 6.35 26.75 | | | +| INT_BADGE | Interrupteur | 69.23 27.14 | 5.90 6.28 | | | +| Rubrique | :gclEtatFicheDeplacement.m_bBadge | | | | | +| LIB_BADGE | Libellé | 75.77 27.14 | 5.90 13.93 | | | +| INT_BADGE1 | Interrupteur | 69.23 34.22 | 5.90 6.28 | | | +| Rubrique | :gclEtatFicheDeplacement.m_bInterphone | | | | | +| LIB_INTERPHONE | Libellé | 75.94 34.22 | 5.82 17.70 | | | +| Texte19 | Libellé | 0.00 42.80 | 4.90 13.93 | 0.10 Continu | HBGD | +| CLIENT | Libellé | 13.76 42.80 | 4.90 69.12 | 0.10 Continu | HBGD | +| Rubrique | :gclEtatFicheDeplacement.m_sNomClient | | | | | +LIB_CONTACTCLIENT Libellé 0.00 48.00 6.00 47.56 0.10 Continu HBG- +LIB_SansNom10 Libellé 47.56 48.00 6.00 26.30 0.10 Continu HBG- +LIB_MESSAGE_CONTACT_CLIE 73.79 48.01 6.00 66.15 0.10 Continu HBGD +Libellé +NT +| Rèf: | Libellé | 81.98 42.80 | 4.90 13.93 | 0.10 Continu | HBGD | +| ---- | ------- | ----------- | ---------- | ------------ | ---- | +REFEXTERNEINTERVENTION Libellé 95.48 42.80 5.03 44.45 0.10 Continu HBGD +| Rubrique | :gclEtatFicheDeplacement.m_sRefExterneIntervention | | | | | +| --------------------- | -------------------------------------------------- | ---------- | ----------- | ------------ | ---- | +| ETATINT_CONTACTCLIENT | Etat interne | 0.00 54.00 | 6.09 140.00 | | | +| LIB_SansNom1 | Libellé | 0.00 62.44 | 6.00 35.10 | 0.10 Continu | HBG- | +LIB_SansNom3 Libellé 35.10 62.44 6.00 12.83 0.10 Continu HBG- +LIB_SansNom5 Libellé 47.93 62.44 6.00 23.92 0.10 Continu HBG- +| 06/08/2026 | | Isis_BO | | | 5559 | +| ---------- | --- | ------- | --- | --- | ---- | + +Partie 5 › Etat › ETAT_PetiteFiche2_BOUVARD › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | | +| --- | ---- | --- | --- | ---------------- | --- | --- | +elbisiV erdaC +tiarT +LIB_SansNom6 Libellé 71.85 62.44 6.00 23.92 0.10 Continu HBG- +LIB_SansNom8 Libellé 95.77 62.44 6.00 13.83 0.10 Continu HBG- +LIB_SansNom12 Libellé 109.60 62.44 6.00 30.00 0.10 Continu HBGD +| | | 0.00 0.00 | 6.00 35.10 | 0.10 | | | +| --------------------------- | ------- | --------- | ---------- | ---- | ------- | ---- | +| LIB__gclEtatFicheDeplaceme | | | | | Continu | -BG- | +| nt_m_clListeContact_m_clCon | Libellé | | | | | | +tact_CiviliteNomPrenom +Rubrique :gclEtatFicheDeplacement.m_clListeContact.m_clContact.CiviliteNomPrenom +LIB__gclEtatFicheDeplaceme 35.10 0.00 6.00 12.83 0.10 Continu -BG- +Libellé +nt_m_clListeContact_m_sEtag +| Rubrique | :gclEtatFicheDeplacement.m_clListeContact.m_sEtage | | | | | | +| -------- | -------------------------------------------------- | --- | --- | --- | --- | --- | +LIB__gclEtatFicheDeplaceme 47.93 0.00 6.00 23.92 0.10 Continu -BG- +| nt_m_clListeContact_m_clCon | Libellé | | | | | | +| --------------------------- | ------- | --- | --- | --- | --- | --- | +tact_m_sTelFixe +Rubrique :gclEtatFicheDeplacement.m_clListeContact.m_clContact.m_sTelFixe +LIB__gclEtatFicheDeplaceme 71.85 0.00 6.00 23.92 0.10 Continu -BG- +| nt_m_clListeContact_m_clCon | Libellé | | | | | | +| --------------------------- | ------- | --- | --- | --- | --- | --- | +tact_m_sTelMobile +Rubrique :gclEtatFicheDeplacement.m_clListeContact.m_clContact.m_sTelMobile +LIB__gclEtatFicheDeplaceme 95.77 0.00 6.00 13.83 0.10 Continu -BG- +| nt_m_clListeContact_m_clCon | Libellé | | | | | | +| --------------------------- | ------- | --- | --- | --- | --- | --- | +tact_LibRole +Rubrique :gclEtatFicheDeplacement.m_clListeContact.m_clContact.LibRole +LIB_SansNom11 Libellé 109.60 0.00 6.00 30.00 0.10 Continu HBGD +| LIB_MONTEUR | Libellé | 0.00 2.00 | 10.09 35.10 | 0.10 | Continu | HBG- | +| ----------- | ------- | ---------- | ----------- | ---- | ------- | ---- | +| | | 35.10 2.00 | 10.09 22.20 | 0.10 | | | +| LIB_DATERDV | Libellé | | | | Continu | HBG- | +LIB_HEURE_ARRIVEERDV Libellé 56.70 2.00 10.09 17.49 0.10 Continu HBG- +LIB_HEURE_DEPARTRDV Libellé 74.20 2.00 10.09 17.49 0.10 Continu HBG- +| LIB_ENCOURS | Libellé | 91.70 2.00 | 10.09 15.49 | 0.10 | Continu | HBG- | +| ----------- | ------- | ---------- | ----------- | ---- | ------- | ---- | +LIB_SIGNATURE Libellé 107.13 2.00 10.09 32.81 0.10 Continu HBGD +LIB_MONTEUR1 Libellé 0.00 12.06 12.00 35.10 0.00 Continu -BG- +LIB_DATERDV1 Libellé 35.10 12.06 12.00 22.20 0.00 Continu -BG- +LIB_HEURE_ARRIVEERDV1 Libellé 56.70 12.06 12.00 17.49 0.00 Continu -BG- +LIB_HEURE_DEPARTRDV1 Libellé 74.20 12.06 12.00 17.49 0.00 Continu -BG- +| | | 91.70 12.06 | 12.00 15.49 | 0.00 | | | +| ------------ | ------- | ----------- | ----------- | ---- | ------- | ---- | +| LIB_ENCOURS1 | Libellé | | | | Continu | -BG- | +LIB_SIGNATURE1 Libellé 107.13 11.93 12.17 32.81 0.00 Continu -BGD +LIB_MONTEUR2 Libellé 0.00 24.06 12.00 35.10 0.00 Continu -BG- +LIB_DATERDV2 Libellé 35.10 24.06 12.00 22.20 0.00 Continu -BG- +LIB_HEURE_ARRIVEERDV2 Libellé 56.70 24.06 12.00 17.49 0.00 Continu -BG- +LIB_HEURE_DEPARTRDV2 Libellé 74.20 24.06 12.00 17.49 0.00 Continu -BG- +LIB_ENCOURS2 Libellé 91.70 24.06 12.00 15.49 0.00 Continu -BG- +LIB_SIGNATURE2 Libellé 107.13 24.10 11.91 32.81 0.00 Continu -BGD +LIB_MONTEUR3 Libellé 0.00 36.00 12.00 35.10 0.00 Continu -BG- +| | | 35.10 36.00 | 12.00 22.20 | 0.00 | | | +| ------------ | ------- | ----------- | ----------- | ---- | ------- | ---- | +| LIB_DATERDV3 | Libellé | | | | Continu | -BG- | +LIB_HEURE_ARRIVEERDV3 Libellé 56.70 36.00 12.00 17.49 0.00 Continu -BG- +LIB_HEURE_DEPARTRDV3 Libellé 74.20 36.00 12.00 17.49 0.00 Continu -BG- +LIB_ENCOURS3 Libellé 91.70 36.00 12.00 15.49 0.00 Continu -BG- +| | | 107.13 36.01 | 11.91 32.81 | 0.00 | | | +| -------------- | ------- | ------------ | ----------- | ---- | ------- | ---- | +| LIB_SIGNATURE3 | Libellé | | | | Continu | -BGD | +DESCRIPTIONINTERVENTION Libellé 0.23 4.94 5.82 139.70 0.10 Continu HBGD +| 06/08/2026 | | Isis_BO | | | | 5560 | +| ---------- | --- | ------- | --- | --- | --- | ---- | + +Partie 5 › Etat › ETAT_PetiteFiche2_BOUVARD › Informations sur les champs +| Rubrique | :gclEtatFicheDeplacement.m_sDescription | | | | +| ------------------------------ | --------------------------------------- | ---------- | -------------------------- | --- | +| LIB_DESCRIPTION | Libellé | -0.18 0.00 | 5.82 22.93 | | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | +Epais. : Epaisseur du cadre (mm) +Détails des champs +Etat interne +ETATINT_CONTACTCLIEN +EI_CONTACT_CLIENT_PETITE_FICHE +| 06/08/2026 | | Isis_BO | | 5561 | +| ---------- | --- | ------- | --- | ---- | + +Partie 5 › Etat › ETAT_PetiteFiche2_BOUVARD › Code +ETAT_PetiteFiche2_BOUVARD +Code +Ouverture de ETAT_PetiteFiche2_BOUVARD +procédure ETAT_PetiteFiche2_BOUVARD(gclEtatFicheDeplacement est un MEtatFicheIntervention dynamique) +//,nIterationContactCli est un entier=2 +i est un entier +nIterationFourniture est un entier +si gclEtatFicheDeplacement=Null alors +gclEtatFicheDeplacement=allouer un MEtatFicheIntervention +c est un MIntervention_Personne +// c:m_sNom="Toto" +// c:m_bActif=vrai +gclEtatFicheDeplacement:m_clListeContact.Ajoute(c) +sinon +si gclEtatFicheDeplacement:m_clListeContact..Occurrence=0 alors +b est un MIntervention_Personne +gclEtatFicheDeplacement:m_clListeContact.Ajoute(b) +fin +fin +Lecture des données de ETAT_PetiteFiche2_BOUVARD +i+=1 +//SI i<=1 ALORS +// RENVOYER vrai +//SINON +// RENVOYER faux +// +//FIN +ETAT_PetiteFiche2_BOUVARD +Code des champs +Avant impression de FIN_DOCUMENT +rHauteurRestante est un réel +rHauteurRestante = iHauteurRestantePage +rHauteurNet est un réel = rHauteurRestante-2-6 +nIterationFourniture = PartieEntière(rHauteurNet/6) +Avant impression de ETATINT_CONTACTCLIENT +//nIterationContactCli=2 +06/08/2026 Isis_BO 5562 + +Partie 6 › Classe +Partie 6 +Classe +| 06/08/2026 | Isis_BO | 5563 | +| ---------- | ------- | ---- | + +Partie 6 › Classe +MBase +Messages multilingues +¹ .ssem °N +Message +5000 FR: Cet enregistrement est en cours de modification par +5001 FR: depuis +5002 FR: Vous ne pouvez pas le modifier pour l'instant. +¹ N° mess. : numéro de message. +MBase +Code +Déclaration de MBase +MBase est une Classe +m_bNouveau est un booléen // Vrai si nouvelle instance du Modèle +| m_bModifie | est un booléen | | | | +| ----------------- | ----------------- | ---------------------- | --- | --- | +| m_dhCreationDate | est une DateHeure | | | | +m_nCreationUser est un entier sur 8 octets +| m_sCreationUser | est une chaîne | | | | +| ------------------------- | -------------------------- | ----------------------- | --------------------------- | --- | +| m_dhModifDate | est une DateHeure | | | | +| m_nModifUser | est un entier sur 8 octets | | | | +| m_sModifUser | est une chaîne | | | | +| m_bLiaison | est un booléen | | //Vrai si nouvelle relation | | +| m_bArchive | est un booléen | | | | +| m_dhDateArchivage | est une DateHeure | | | | +| m_sGUID | est une chaîne | | | | +| m_nNumEnreg | est un entier sur 8 octets | | | | +| m_bBlocageEcriture | est un booléen | | | | +| m_sInfoBlocage | est une chaîne | | | | +| m_nIDTimer | est un entier | | | | +| //m_sListeRubriqueFichier | est une chaine | | | | +nChrono est un entier +fin +Méthode AjoutUtilisateurDateEnCreation +// Résumé : +// Syntaxe : +// AjoutUtilisateurDateEnCreation () +// +// Paramètres : +// Aucun +// Valeur de retour : +| 06/08/2026 | | Isis_BO | | 5564 | +| ---------- | --- | ------- | --- | ---- | + +Partie 6 › Classe › MBase › Code +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AjoutUtilisateurDateEnCreation() +si gProcInfoUser<>Null alors +gProcInfoUser(1,objet) +fin +:m_dhCreationDate= DateHeureSys() +:m_dhModifDate = DateHeureSys() +Méthode AjoutUtilisateurDateEnModification +// Résumé : +// Syntaxe : +//AjoutUtilisateurDateEnModification () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AjoutUtilisateurDateEnModification() +si gProcInfoUser<>Null alors +gProcInfoUser(2,objet) +fin +:m_dhModifDate = DateHeureSys() +Méthode Archiver +// Résumé : +// Syntaxe : +// Archiver () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Archiver() +si m_bArchive=Faux alors +m_bArchive = Vrai +m_dhDateArchivage = DateHeureSys() +fin +Méthode bEnregistrer +procédure bEnregistrer(clErreur est un CErreur) +// en mode ajout +si bNouveau() alors +// ajout de l'enregistrement +HRAZ(MonFichierMappé) +06/08/2026 Isis_BO 5565 + +Partie 6 › Classe › MBase › Code +//Enregistre qui est l'utilisateur qui ajoute et la date-heure à laquelle cette ajout a lieu +:AjoutUtilisateurDateEnCreation() +//Affecte la valeur des membres de l'objet dans la valeur mémoire des rubriques de l'enregistrement +en cours du fichier de données mappé +MémoireVersFichier() +MAJRubriqueDateArchivage() +InitRubriqueGUID() +HAjoute(MonFichierMappé) +si ErreurDétectée() alors +clErreur.Init(CErreur::ErreurHFSQL,HErreurInfo()) +renvoyer Faux +fin +// récupération de la valeur de l'identifiant +FichierVersMémoire() +// instance existante +m_bNouveau=Faux +// en mode modification +sinon +// positionnement dans le fichier +HLitRecherchePremier(MonFichierMappé,MaCléUniqueMappée,IdentifiantUnique) +si HTrouve() alors +//Enregistre qui est l'utilisateur qui modifie et la date-heure à laquelle cette modification a +lieu +:AjoutUtilisateurDateEnModification() +//Affecte la valeur des membres de l'objet dans la valeur mémoire des rubriques de +l'enregistrement en cours du fichier de données mappé +MémoireVersFichier() +MAJRubriqueDateArchivage() +InitRubriqueGUID() +si :m_bBlocageEcriture alors +HModifie(MonFichierMappé,hNumEnrEnCours,hBlocageEcriture) +sinon +HModifie(MonFichierMappé) +fin +si ErreurDétectée() alors +clErreur.Init(CErreur::ErreurHFSQL,HErreurInfo()) +renvoyer Faux +fin +// si l'enregistrement n'a pas été trouvé +sinon +// renseigne l'erreur +clErreur.Init(CErreur::NonTrouvé) +fin +fin +si clErreur.p_bOk alors +//trace("// mise à jour des IHM") +DemandeMiseAJourIHM() +fin +// ok +06/08/2026 Isis_BO 5566 + +Partie 6 › Classe › MBase › Code +renvoyer clErreur.p_bOk +Méthode bLiaison +// Résumé : +// Syntaxe : +//[ = ] bLiaison () +// +// Paramètres : +// Aucun +// Valeur de retour : +// booléen : // Aucune +// +procédure bLiaison() +renvoyer m_bLiaison +Méthode BloqueEnregistrement +// Résumé : +// Syntaxe : +//[ = ] BloqueEnregistrement () +// +// Paramètres : +// Aucun +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure BloqueEnregistrement() +//bResultat est un booléen +//HSurErreur(MonFichierMappé, hErrBlocage, SurErreurBlocage) +// positionnement dans le fichier +si HLitRecherchePremier(MonFichierMappé,MaCléUniqueMappée,IdentifiantUnique,hBlocageEcriture) alors +//Récupération du numéro d'enregistrement pour appel de la méthode DebloqueEnregistrement +m_nNumEnreg = HNumEnr(MonFichierMappé) +//Recharge les données les plus à jour +Charger(MonFichierMappé) +//Indique qu'on bloque l'enregistrement pour les autres méthodes d'accès +m_bBlocageEcriture = Vrai +//Attribution d'un ID pour le timer qui va débloquer l'enregistrement une fois le temps écoulé +m_nIDTimer = DonneIdentifiant() +sinon +// Hlit renvoie une erreur de blocage +si HErreurBlocage() alors +//Utilisation de HErreurInfo avec l'option herrInfoBlocage +//car on ne peut pas utiliser le HNumEnr si le Hlit... renvoie faux +m_nNumEnreg = ExtraitChaîne(HErreurInfo(hErrInfoBlocage),2,TAB) +si HLitRecherchePremier(MonFichierMappé,MaCléUniqueMappée,IdentifiantUnique) alors +//Recharge les données les plus à jour +Charger(MonFichierMappé) +fin +//L'enregistrement n'a pas été trouvé (potentielement supprimé entre temps) +sinon +m_nNumEnreg = 0 +fin +06/08/2026 Isis_BO 5567 + +Partie 6 › Classe › MBase › Code +m_bBlocageEcriture = Faux +fin +renvoyer m_bBlocageEcriture +Méthode bNouveau +procédure bNouveau() +renvoyer m_bNouveau +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +// en mode ajout, il n'y a rien à faire +si bNouveau() _ou_ bLiaison() alors renvoyer Vrai +// positionnement dans le fichier +si HLitRecherchePremier(MonFichierMappé,MaCléUniqueMappée,IdentifiantUnique,hBlocageEcriture) alors +m_bBlocageEcriture = Vrai +HSurErreur(MonFichierMappé,hErrIntégrité,"") //Désactive la gestion auto des erreurs d'intégrité +si pas HSupprime(MonFichierMappé) alors +clErreur.ErreurHF() +fin +HSurErreur(MonFichierMappé,hErrIntégrité) //Ré-active la gestion des erreurs d'intégrité +sinon +// Hlit renvoie une erreur de blocage +si HErreurBlocage() alors +//Utilisation de HErreurInfo avec l'option herrInfoBlocage +//car on ne peut pas utiliser le HNumEnr si le Hlit... renvoie faux +m_nNumEnreg = ExtraitChaîne(HErreurInfo(hErrInfoBlocage),2,TAB) +clErreur.Init(CErreur::ErreurHFSQL,InfoBlocage(-1)) +//L'enregistrement n'a pas été trouvé (potentielement supprimé entre temps) +sinon +m_nNumEnreg = 0 +//RAZ du membre qui pouvait contenir une ancienne information de blocage +//m_sInfoBlocage = "" +clErreur.Init(CErreur::NonTrouvé) +fin +m_bBlocageEcriture = Faux +fin +// ok +renvoyer clErreur.p_bOk +Méthode Charger +procédure Charger(reqSource) +// instance existante +m_bNouveau=Faux +// charge l'enregistrement en mémoire +FichierVersMémoire(reqSource) +Constructeur +06/08/2026 Isis_BO 5568 + +Partie 6 › Classe › MBase › Code +procédure Constructeur() +// initialisation des membres +m_bNouveau = Vrai // nouvelle instance +m_bModifie = Faux +//m_sListeRubriqueFichier = HListeRubrique(MonFichierMappé,hLstDétail) +//nChrono = DonneIdentifiant() +//Trace(nChrono) +//si nChrono=2000 alors stop +Méthode Copier +procédure Copier(pclBase est un MBase dynamique) +objet<=pclBase +Méthode DebloqueEnregistrement +// Résumé : +// Syntaxe : +//[ = ] DebloqueEnregistrement () +// +// Paramètres : +// Aucun +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DebloqueEnregistrement() +bResultat est un booléen=Vrai +si m_nNumEnreg>0 _et_ m_bBlocageEcriture alors +bResultat = HDébloqueNumEnr(MonFichierMappé,m_nNumEnreg) +fin +m_bBlocageEcriture = pas bResultat +renvoyer bResultat +Destructeur +procédure Destructeur() +Méthode FichierVersMémoire +procédure FichierVersMémoire(*) +si MesParamètres..Occurrence=0 alors +WL.FichierVersMémoire(objet,MonFichierMappé) +sinon +WL.FichierVersMémoire(objet,MesParamètres[1]) +fin +Récupération de la propriété IdentifiantUnique +procédure publique abstraite IdentifiantUnique() +Récupération de la propriété InfoOnglet +procédure publique abstraite InfoOnglet():chaîne +Récupération de la propriété UserCreation +06/08/2026 Isis_BO 5569 + +Partie 6 › Classe › MBase › Code +procédure publique UserCreation() +si HLitRecherchePremier(Utilisateur,UT_PKID,m_nCreationUser) _et_ HLitRecherchePremier(Collaborateur, +CO_PKID,Utilisateur.UT_IDCollaborateur) alors +renvoyer Collaborateur.CO_Prenom+" "+Collaborateur.CO_Nom +sinon +renvoyer "" +fin +Méthode InfoBlocage +// Résumé : +// Syntaxe : +//[ = ] InfoBlocage ( est entier) +// +// Paramètres : +// nMode (entier) : +// Valeur de retour : +// chaîne ANSI : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure InfoBlocage(local nMode est un entier) +si :m_nNumEnreg>0 alors +// + TAB + + +TAB + + TAB + + TAB + ++ TAB + +// + TAB + + TAB + + TAB ++ + RC +m_sInfoBlocage = ChaîneConstruit("Cet enregistrement est en cours de modification par %1."+RC+ +"Vous ne pouvez pas le %2 pour l'instant.",ExtraitChaîne(HInfoBlocage(MonFichierMappé,:m_nNumEnreg) +,3,TAB), nMode=1 ? "modifier" sinon "supprimer") +sinon +m_sInfoBlocage = "" +fin +renvoyer m_sInfoBlocage +Méthode InitRubriqueGUID +// Résumé : +// Syntaxe : +// InitRubriqueGUID () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure InitRubriqueGUID() +m_sListeRubriqueFichier est une chaîne = HListeRubrique(MonFichierMappé,hLstDétail) +sGUID est une chaîne +bRubGUIDExiste est un booléen +pour toute chaîne sUneRubrique de m_sListeRubriqueFichier séparée par RC +si ExtraitChaîne(sUneRubrique,1,TAB)="GUID" _et_ ExtraitChaîne(sUneRubrique,3,TAB)=2 alors +06/08/2026 Isis_BO 5570 + +Partie 6 › Classe › MBase › Code +bRubGUIDExiste = Vrai +sGUID = {MonFichierMappé+"."+ExtraitChaîne(sUneRubrique,1,TAB),indRubrique} +fin +fin +si bRubGUIDExiste _et_ sGUID="" alors +{MonFichierMappé+".GUID",indRubrique} = DonneGUID(guidBrut) +fin +Méthode MajInfoBlocage +// Résumé : +// Syntaxe : +// MajInfoBlocage () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure MajInfoBlocage() +Méthode MAJRubriqueDateArchivage +// Résumé : +// Syntaxe : +//MAJRubriqueDateArchivage () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// <*> : > +// sNomRubriqueDate (chaîne ANSI) : +// sNomRubriqueTest (chaîne ANSI) : +procédure MAJRubriqueDateArchivage() +m_sListeRubriqueFichier est une chaîne +m_sListeRubriqueFichier =HListeRubrique(MonFichierMappé,hLstDétail) +bArchive est un booléen +bRubArchiveExiste est un booléen +bRubDateArchivageExiste est un booléen +pour toute chaîne sUneRubrique de m_sListeRubriqueFichier séparée par RC +si ExtraitChaîne(sUneRubrique,1,TAB)="Archive" _et_ ExtraitChaîne(sUneRubrique,3,TAB)=27 alors +bRubArchiveExiste = Vrai +bArchive = {MonFichierMappé+"."+ExtraitChaîne(sUneRubrique,1,TAB),indRubrique} +fin +si ExtraitChaîne(sUneRubrique,1,TAB)="DateArchivage" _et_ ExtraitChaîne(sUneRubrique,3,TAB)=24 +alors +bRubDateArchivageExiste = Vrai +fin +fin +si bRubArchiveExiste _et_ bArchive=Faux _et_ bRubDateArchivageExiste alors +{MonFichierMappé+".DateArchivage",indRubrique}..Null = "" +sinon si bRubArchiveExiste _et_ bArchive=Vrai _et_ bRubDateArchivageExiste alors +{MonFichierMappé+".DateArchivage",indRubrique} = m_dhModifDate +fin +Méthode MémoireVersFichier +06/08/2026 Isis_BO 5571 + +Partie 6 › Classe › MBase › Code +procédure MémoireVersFichier() +WL.MémoireVersFichier(objet,MonFichierMappé) +Méthode SurErreurBlocage +// Résumé : +// Syntaxe : +//[ = ] SurErreurBlocage () +// +// Paramètres : +// Aucun +// Valeur de retour : +// entier : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SurErreurBlocage() +//InfoBlocage() +renvoyer opAnnuler +06/08/2026 Isis_BO 5572 + +Partie 6 › Classe › MSociete › Code +MSociete +Code +Déclaration de MSociete +MSociete est une Classe +//************************************************************************************************* +************* +//Le modèle MSociete hérite du modèle de base +//************************************************************************************************* +************* +hérite de MBase +//************************************************************************************************* +************* +//Membres liés aux rubriques du fichier Societe +//************************************************************************************************* +************* + +m_nPKID est un entier sur 8 octets +m_sNom est une chaîne ANSI +m_sSIRET est une chaîne ANSI +m_sTel est une chaîne ANSI +m_sFAX est une chaîne ANSI +m_sEmail est une chaîne ANSI +m_sSiteWeb est une chaîne ANSI +m_nIDAdressePrincipale est un entier sur 8 octets +m_sIDImport est une chaîne ANSI +m_imgLogo est une Image +m_sParametres est une chaîne ANSI + +//********************************************************************************************* +***************** +// Membres NON liés aux rubriques du fichier Societe +//********************************************************************************************* +***************** +// VARIABLE DE TYPE SIMPLE +m_bSelection est un booléen +// VARIABLE DE TYPE CLASSE +m_clAdresse est un MAdresse +// VARIABLE DE TYPE TABLEAU +fin +Méthode bControle +// Résumé : Méthode de contrôle des données du fichier Societe +// Syntaxe : +//[ = ] bControle ( est CErreur, est booléen) +// +// Paramètres : +// clErreur (CErreur) : +06/08/2026 Isis_BO 5573 + +Partie 6 › Classe › MSociete › Code +// bSupprime (booléen) : +// Valeur de retour : +// booléen : // Aucune +// clErreur (CErreur) : instance de l'objet qui va contenir l'erreur eventuelle +// bAjout (booléen) : S'agit-il d'un nouvel enregistrement +// bSupprime (booléen) : S'agit-il d'un enregistrement à supprimer +// bAjout (booléen) : +procédure bControle(clErreur est un CErreur,local bSupprime est un booléen) +bResultat est un booléen=Vrai +reqSQL est une Requête SQL = +[ +SELECT 1 FROM Societe WHERE Societe.SO_Nom={p_Nom} AND Societe.SO_PKID<>{p_pkid} +] +reqSQL.p_Nom = :m_sNom +reqSQL.p_pkid= :m_nPKID +tabListeErr est un tableau de chaînes +quand exception dans +si pas bSupprime alors +si SansEspace(:m_sNom)="" alors Ajoute( +tabListeErr,"Veuillez renseigner le nom de la société") +si HExécuteRequête(reqSQL,hRequêteDéfaut) _et_ HNbEnr(reqSQL)>0 alors Ajoute(tabListeErr, +"Une société du même nom existe déjà") +sinon +sdCtrlInterv est une Source de Données +si HExécuteRequêteSQL(sdCtrlInterv,hRequêteDéfaut,ChaîneConstruit( +"SELECT COUNT(*) AS NB FROM Intervention WHERE Intervention.IN_IDSociete=%1 HAVING COUNT(*)>0", +:m_nPKID)) alors +si HNbEnr(sdCtrlInterv)>0 alors +Ajoute(tabListeErr,ChaîneConstruit("Cette société est utilisée dans %1 intervention%2" +,sdCtrlInterv.NB,sdCtrlInterv.NB>1 ? "s" sinon "")) +fin +fin +HLibèreRequête(sdCtrlInterv) +sdCtrlRdv est une Source de Données +si HExécuteRequêteSQL(sdCtrlRdv,hRequêteDéfaut,ChaîneConstruit( +"SELECT COUNT(*) AS NB FROM Planning_RDV WHERE PL_IDSociete=%1 HAVING COUNT(*)>0",:m_nPKID)) +alors +si HNbEnr(sdCtrlRdv)>0 alors +Ajoute(tabListeErr,ChaîneConstruit("Cette société est utilisé dans %1 rendez-vous%2", +sdCtrlRdv.NB,sdCtrlRdv.NB>1 ? "" sinon "")) +fin +fin +HLibèreRequête(sdCtrlRdv) +sdCtrlSocCollab est une Source de Données +si HExécuteRequêteSQL(sdCtrlSocCollab,hRequêteDéfaut,ChaîneConstruit( +"SELECT COUNT(*) AS NB FROM Societe_Collaborateur WHERE SC_IDCSociete=%1 HAVING COUNT(*)>0",: +m_nPKID)) alors +si HNbEnr(sdCtrlSocCollab)>0 alors +Ajoute(tabListeErr,ChaîneConstruit( +"Cette société est en relation avec %1 collaborateur%2",sdCtrlSocCollab.NB, +sdCtrlSocCollab.NB>1 ? "s" sinon "")) +fin +fin +HLibèreRequête(sdCtrlSocCollab) +sdCtrlEquipe est une Source de Données +si HExécuteRequêteSQL(sdCtrlEquipe,hRequêteDéfaut,ChaîneConstruit("SELECT COUNT(*) AS NB FROM +Equipe WHERE EQ_IDSociete=%1 HAVING COUNT(*)>0",:m_nPKID)) alors +si HNbEnr(sdCtrlEquipe)>0 alors +06/08/2026 Isis_BO 5574 + +Partie 6 › Classe › MSociete › Code +Ajoute(tabListeErr,ChaîneConstruit("Cette société est liée à %1 équipe%2",sdCtrlEquipe +.NB,sdCtrlEquipe.NB>1 ? "s" sinon "")) +fin +fin +HLibèreRequête(sdCtrlEquipe) +fin +si tabListeErr..Occurrence>0 alors +goto ERREURFONCTIONNELLE +sinon +goto SORTIE +fin +ERREURFONCTIONNELLE : +clErreur.Init(CErreur.Fonctionnelle,tabListeErr) +bResultat = Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +bResultat = Faux +fin +SORTIE : +renvoyer bResultat +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer m_sNom +06/08/2026 Isis_BO 5575 + +Partie 6 › Classe › CErreur › Messages multilingues +CErreur +Messages multilingues +¹ .ssem °N +Message +| 5000 FR: Enregistrement non trouvé dans la base de données. | | | | | +| ----------------------------------------------------------- | --- | --- | --- | --- | +| 5001 FR: Erreur base de données. | | | | | +¹ N° mess. : numéro de message. +CErreur +Code +Déclaration de CErreur +// types d'erreur +ECodeErreur est une Enumération +Aucune +NonTrouvé +ErreurHFSQL +Fonctionnelle +Grave +fin +CErreur est une Classe +protégé +| m_eCode est une ECodeErreur | // type d'erreur | | | | +| ---------------------------- | -------------------- | --------------------- | --- | --- | +| m_sTexte est une chaîne | // texte de l'erreur | | | | +| m_sZone | est une chaîne | // zone de l'erreur | | | +| m_sNumero | est une chaîne | // Numéro de l'erreur | | | +fin +Constructeur +procédure Constructeur() +p_eCode=Aucune +Destructeur +procédure Destructeur() +Méthode DonneAliasZone +| 06/08/2026 | | | Isis_BO | 5576 | +| ---------- | --- | --- | ------- | ---- | + +Partie 6 › Classe › CErreur › Code +// Résumé : +// Syntaxe : +//[ = ] DonneAliasZone () +// +// Paramètres : +// Aucun +// Valeur de retour : +// chaîne ANSI : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneAliasZone() +// aucune erreur +si p_eCode=Aucune alors renvoyer "" +si m_sZone<>"" alors +renvoyer m_sZone +sinon +renvoyer "" +fin +Méthode ErreurHF +procédure ErreurHF(sZone est une chaîne="") +// remplit les membres par défaut +p_eCode=ErreurHFSQL +m_sTexte=HErreurInfo(hErrMessage) +m_sZone=sZone +m_sNumero=HErreur +Méthode FormateMessage +// Retourne une chaîne contenant le message d'erreur +procédure FormateMessage() +// aucune erreur +si p_eCode=Aucune alors renvoyer "" +// le texte de l'erreur a été renseigné +si m_sTexte<>"" alors renvoyer m_sTexte +// message adapté au type de l'erreur +sMessage est une chaîne +selon p_eCode +cas NonTrouvé: sMessage="Enregistrement non trouvé dans la base de données." +cas ErreurHFSQL: sMessage="Erreur base de données." +autre cas: +fin +renvoyer sMessage +Récupération de la propriété p_bOk +// Vrai si aucune erreur +procédure publique p_bOk() +renvoyer p_eCode=Aucune +Récupération de la propriété p_eCode +06/08/2026 Isis_BO 5577 + +Partie 6 › Classe › CErreur › Code +procédure publique p_eCode() : ECodeErreur +renvoyer m_eCode +Affectation de la propriété p_eCode +procédure publique p_eCode(eCode) +m_eCode=eCode +Récupération de la propriété p_sNumero +procédure publique p_sNumero() : chaîne +renvoyer m_sNumero +Méthode Init +// Initialisation d'une erreur +procédure Init(ECodeErreur est un ECodeErreur, sTexte est une chaîne="",sZone est une chaîne="") +// remplit les membres par défaut +p_eCode=ECodeErreur +m_sTexte=sTexte +m_sZone=sZone +si ECodeErreur=ErreurHFSQL alors +m_sNumero=HErreurInfo(hErrCodeSystème) +fin +// pour une erreur HFSQL dont le texte n'a pas été renseigné +si ECodeErreur=ErreurHFSQL et sTexte="" alors +// récupération de l'erreur +m_sTexte=HErreurInfo() +fin +Méthode Init +procédure Init(ECodeErreur est un ECodeErreur,tabListeErr est un tableau de chaînes) +sMsgErr est une chaîne +// remplit les membres par défaut +p_eCode=ECodeErreur +pour i = 1 _à_ tabListeErr..Occurrence +sMsgErr += i=1 ? tabListeErr[i] sinon RC+tabListeErr[i] +fin +m_sTexte=m_sTexte="" ? sMsgErr sinon m_sTexte+RC+sMsgErr +06/08/2026 Isis_BO 5578 + +Partie 6 › Classe › PFicheSociete › Code +PFicheSociete +Code +Déclaration de PFicheSociete +PFicheSociete est une Classe +protégé +m_clModeleCourant est un MSociete +// modèle associé à la présentation +m_clModeleSource est un MSociete dynamique +// référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +m_clFicheAdresse est un PFicheAdresse dynamique // adresse liée à la société +m_clListeCollaborateur est un PTableSociete_Collaborateur dynamique +// liste des collaborateurs de la société +m_clListeEquipe est un PTableEquipe dynamique // liste des equipes +de la société +//m_clListeEquipeCollab est un PTableEquipe_Collaborateur dynamique +// liste des Equipe/Collaborateurs de la société +fin +Méthode bControle +// Redéfinition de la méthode MSociete.bControle +procédure bControle(clErreur est un CErreur,local bSupprime est un booléen) +bResultat est un booléen=Vrai +tabListeErr est un tableau de chaînes +quand exception dans +si pas bSupprime alors +//SI m_nIDTypeIntervention=0 ALORS Ajoute(tabListeErr,"Veuillez renseigner le type +d'intervention") +sinon +// nCptRdv est un entier = ListeRendezVous.p_nTotal +// nCptTmp est un entier = ListeSuiviDesTemps.p_nTotal +// nCptAct est un entier = ListeAction.p_nTotal +// nCptDoc est un entier = ListeDocument.p_nTotal +// nCptMex est un entier = ListeMessageExterne.p_nTotal +// SI nCptRdv > 0 ALORS Ajoute(tabListeErr,ChaîneConstruit("%1 rendez-vous exist +%2 pour cette intervention",nCptRdv,nCptRdv>1 ? "ent" SINON "e")) +// SI nCptTmp > 0 ALORS Ajoute(tabListeErr,ChaîneConstruit("Des temps exist +pour cette intervention",nCptTmp>1 ? "ent" SINON "e")) +// SI nCptDoc > 0 ALORS Ajoute(tabListeErr,ChaîneConstruit("%1 document%2 exist +%3 pour cette intervention",nCptDoc,nCptDoc>1 ? "s" SINON "",nCptDoc>1 ? "ent" SINON "e")) +// SI nCptAct > 0 ALORS Ajoute(tabListeErr,ChaîneConstruit("%1 action%2 exist +%3 pour cette intervention",nCptAct,nCptAct>1 ? "s" SINON "",nCptAct>1 ? "ent" SINON "e")) +// SI nCptMex > 0 ALORS Ajoute(tabListeErr,ChaîneConstruit("%1 message%2 externe%2 exist +%3 pour cette intervention",nCptMex,nCptMex>1 ? "s" SINON "",nCptMex>1 ? "ent" SINON "e")) +fin +06/08/2026 Isis_BO 5579 + +Partie 6 › Classe › PFicheSociete › Code +//Appel de la méthode ancêtre pour les contrôles de bas niveau +bResultat =m_clModeleCourant:MSociete.bControle(clErreur,bSupprime) +si tabListeErr..Occurrence>0 alors +goto ERREURFONCTIONNELLE +sinon +goto SORTIE +fin +ERREURFONCTIONNELLE : +clErreur.Init(CErreur.Fonctionnelle,tabListeErr) +bResultat = Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +bResultat = Faux +fin +SORTIE : +renvoyer bResultat +Méthode bOK +procédure bOK(clErreur est un CErreur)//,LOCAL bMajCourant est un booléen +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +//Débute une transaction sur les fichiers Societe et Adresse +// HTransactionDébut(gcnxBO,"Societe,Adresse") +//Contôle des données Adresse et Societe +si pas :FicheEnCours:bControle(clErreur,Faux) alors goto ERREURTRANSAC +//SI PAS :FicheAdresse:bControle(clErreur,Faux) ALORS goto ERREURTRANSAC +//Traitement des données Adresse +si pas :FicheAdresse:bOK(clErreur) alors goto ERREURTRANSAC +//PAS :FicheAdresse:bOK(clErreur,Faux,Vrai) +//************************************************** +//Traitement des données Societe +//************************************************** +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +m_clModeleCourant:m_nIDAdressePrincipale = :FicheAdresse:IdentifiantUnique +m_clModeleCourant:m_clAdresse = :FicheAdresse:p_clCourant +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURTRANSAC +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +// SI bMajCourant ALORS +// m_clModeleCourant <= m_clModeleSource +// FIN +//Termine la transaction +// HTransactionFin(gcnxBO) +06/08/2026 Isis_BO 5580 + +Partie 6 › Classe › PFicheSociete › Code +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURTRANSAC : +//Annulation de la transaction +// HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +//Annulation de la transaction +// HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MSociete dynamique, pValidation est une procédure=Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété FicheAdresse +procédure publique FicheAdresse() : PFicheAdresse +renvoyer m_clFicheAdresse +Affectation de la propriété FicheAdresse +procédure publique FicheAdresse(clValeur est PFicheAdresse dynamique) +m_clFicheAdresse<-clValeur +Récupération de la propriété FicheEnCours +procédure publique FicheEnCours() : MSociete +renvoyer m_clModeleCourant +Affectation de la propriété FicheEnCours +06/08/2026 Isis_BO 5581 + +Partie 6 › Classe › PFicheSociete › Code +procédure publique FicheEnCours(clValeur est MSociete) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant=clValeur +// conserve une référence sur le modèle source +m_clModeleSource<-clValeur +Récupération de la propriété ListeCollaborateur +procédure publique ListeCollaborateur() : PTableSociete_Collaborateur +renvoyer m_clListeCollaborateur +Affectation de la propriété ListeCollaborateur +procédure publique ListeCollaborateur(clValeur est PTableSociete_Collaborateur) +m_clListeCollaborateur=clValeur +Récupération de la propriété ListeEquipe +procédure publique ListeEquipe() : PTableEquipe +renvoyer m_clListeEquipe +Affectation de la propriété ListeEquipe +procédure publique ListeEquipe(clValeur est PTableEquipe) +m_clListeEquipe=clValeur +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MSociete +renvoyer m_clModeleCourant +Méthode gFicheAdresse +// Résumé : Méthode qui permet d'obtenir ou remplir une instance d'un objet fiche Adresse +// Syntaxe : +//gFicheAdresse ( est PFicheSociete dynamique [, est PFicheAdresse +dynamique]) +// +// Paramètres : +// +clFicheSociete (PFicheSociete dynamique) : instance de l'objet société dont il faut obtenir / rattaché +l'adresse +// +clFicheAdresse (PFicheAdresse dynamique - valeur par défaut=0) : instance de l'objet adresse à +rattacher en cas d'existence +procédure publique globale gFicheAdresse(clFicheSociete est un PFicheSociete dynamique,clFicheAdresse +est un PFicheAdresse dynamique=Null) +si clFicheAdresse<>Null alors +clFicheSociete:FicheAdresse = clFicheAdresse +clFicheSociete:FicheEnCours:m_clAdresse <= clFicheAdresse +sinon +clTabAdresse est un PTableAdresse <- PTableAdresse.gNouvellePresentation(clFicheSociete. +m_nIDAdressePrincipale) +si clTabAdresse.p_nTotal>=1 alors +06/08/2026 Isis_BO 5582 + +Partie 6 › Classe › PFicheSociete › Code +clFicheAdresse = allouer un PFicheAdresse(clTabAdresse.m_clTabModele[1],*) +sinon +clFicheAdresse = PFicheAdresse.gNouvellePresentation() +fin +clFicheSociete:FicheAdresse = clFicheAdresse +clFicheSociete:FicheEnCours:m_clAdresse <= clFicheAdresse +fin +Méthode gListeCollaborateur +// Résumé : +// Syntaxe : +//gListeCollaborateur ( est PFicheSociete) +// +// Paramètres : +// clPresentation (PFicheSociete) : +// Valeur de retour : +// Aucune +// +procédure publique globale gListeCollaborateur(clPresentation est un PFicheSociete) +clPresentation.m_clListeCollaborateur = PTableSociete_Collaborateur.gNouvellePresentation(0, +clPresentation.IdentifiantUnique) +Méthode gListeEquipe +// Résumé : +// Syntaxe : +//gListeEquipe ( est PFicheSociete) +// +// Paramètres : +// clPresentation (PFicheSociete) : +// Valeur de retour : +// Aucune +// +procédure publique globale gListeEquipe(clPresentation est un PFicheSociete) +clPresentation:m_clListeEquipe = PTableEquipe.gNouvellePresentation(1,clPresentation.IdentifiantUnique) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MSociete() +clPresentation est un PFicheSociete(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 5583 + +Partie 6 › Classe › MAdresse › Code +MAdresse +Code +Déclaration de MAdresse +MAdresse est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_sLigne_1 est une chaîne ANSI +m_sLigne_2 est une chaîne ANSI +m_sLigne_3 est une chaîne ANSI +m_sLigne_4 est une chaîne ANSI +m_sLigne_5 est une chaîne ANSI +m_sCodePostal est une chaîne ANSI +m_sVille est une chaîne ANSI +m_sPresentation est une chaîne ANSI +m_sEtiquette est une chaîne ANSI + +fin +Méthode bControle +// Résumé : Méthode de contrôle des données du fichier Adresse +// Syntaxe : +//[ = ] bControle ( est CErreur, est booléen) +// +// Paramètres : +// clErreur (CErreur) : instance de l'objet qui va contenir l'erreur eventuelle +// bSupprime (booléen) : +// Valeur de retour : +// booléen : Vrai si aucune erreur Faux sinon +// bAjout (booléen) : +procédure bControle(clErreur est un CErreur,local bSupprime est un booléen) +bResultat est un booléen=Vrai +tabListeErr est un tableau de chaînes +quand exception dans +si pas bSupprime alors +si SansEspace(:m_sLigne_1)="" et SansEspace(:m_sLigne_2)="" et SansEspace(:m_sLigne_3)="" et +SansEspace(:m_sLigne_4)="" et SansEspace(:m_sLigne_5)="" alors Ajoute(tabListeErr, +"Veuillez renseigner une ligne de l'adresse") +// SI SansEspace(:m_sLigne_4)="" ALORS +ajoute(tabListeErr,"Veuillez renseigner la quatrième ligne de l'adresse") +si SansEspace(:m_sCodePostal)="" alors Ajoute(tabListeErr, +"Veuillez renseigner le code postal") +si SansEspace(:m_sVille)="" alors Ajoute(tabListeErr,"Veuillez renseigner la ville") +sinon +fin +si tabListeErr..Occurrence>0 alors +goto ERREURFONCTIONNELLE +sinon +06/08/2026 Isis_BO 5584 + +Partie 6 › Classe › MAdresse › Code +goto SORTIE +fin +ERREURFONCTIONNELLE : +clErreur.Init(CErreur.Fonctionnelle,tabListeErr) +bResultat = Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +bResultat = Faux +fin +SORTIE : +renvoyer bResultat +Constructeur +procédure Constructeur() +Méthode CopieAdresseDansPresentation +// Résumé : +// Syntaxe : +// CopieAdresseDansPresentation () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +procédure CopieAdresseDansPresentation() +// :m_sPresentation = SansEspace(:m_sLigne_1)<>"" ? :m_sLigne_1+RC SINON "" +// :m_sPresentation += SansEspace(:m_sLigne_2)<>"" ? :m_sLigne_2+RC SINON "" +// :m_sPresentation += SansEspace(:m_sLigne_3)<>"" ? :m_sLigne_3+RC SINON "" +// :m_sPresentation += SansEspace(:m_sLigne_4)<>"" ? :m_sLigne_4+RC SINON "" +// :m_sPresentation += SansEspace(:m_sLigne_5)<>"" ? :m_sLigne_5+RC SINON "" +:m_sPresentation = SansEspace(:m_sLigne_4)<>"" ? :m_sLigne_4+RC sinon "" +:m_sPresentation += SansEspace(:m_sLigne_5)<>"" ? :m_sLigne_5+RC sinon "" +:m_sPresentation += SansEspace(:m_sLigne_2)<>"" ? :m_sLigne_2+RC sinon "" +:m_sPresentation += SansEspace(:m_sLigne_3)<>"" ? :m_sLigne_3+RC sinon "" +:m_sPresentation += SansEspace(:m_sLigne_1)<>"" ? :m_sLigne_1+RC sinon "" +:m_sPresentation += :m_sCodePostal+TAB+:m_sVille +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer m_sEtiquette +06/08/2026 Isis_BO 5585 + +Partie 6 › Classe › PFicheAdresse › Code +PFicheAdresse +Code +Déclaration de PFicheAdresse +PFicheAdresse est une Classe +protégé +m_clModeleCourant est un MAdresse // modèle associé à la présentation +m_clModeleSource est un MAdresse dynamique // référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure // procédure à appeler lors de la validation +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +//,LOCAL bAvecTransaction est un booléen,LOCAL bMajCourant est un booléen +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// SI bAvecTransaction ALORS HTransactionDébut(gcnxBO,"ADRESSE") +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// recopie des éléments adresses dans la présentation si besoin +m_clModeleCourant.CopieAdresseDansPresentation() +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURTRANSAC +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +m_clModeleSource<=m_clModeleCourant +// SI bMajCourant ALORS +// m_clModeleCourant <= m_clModeleSource +// FIN +//Termine la transaction +// SI bAvecTransaction ALORS HTransactionFin(gcnxBO) +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +06/08/2026 Isis_BO 5586 + +Partie 6 › Classe › PFicheAdresse › Code +ERREURTRANSAC : +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MAdresse dynamique, pValidation est une procédure=Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MAdresse +renvoyer m_clModeleCourant +Récupération de la propriété p_QuickView +procédure publique p_QuickView() +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MAdresse() +clPresentation est un PFicheAdresse(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 5587 + +Partie 6 › Classe › MTableauDeSociete › Code +MTableauDeSociete +Code +Déclaration de MTableauDeSociete +MTableauDeSociete est une Classe +public +m_clTabModele est un tableau de MSociete dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MSociete dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MSociete dynamique, clErreur est un CErreur) +bRenvoyer est un booléen = Faux +quand exception dans +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +goto ERREURTRANSAC +fin +//Débute une transaction sur les fichiers Societe et Adresse +// HTransactionDébut(gcnxBO,"Societe,Adresse,Societe_Collaborateur,Equipe,Equipe_Collaborateur") +clFicheSociete est un PFicheSociete(clModele) +//Recherche de la liste des collaborateurs à supprimer +PFicheSociete.gListeCollaborateur(clFicheSociete) +//Recherche de la liste des equipes à supprimer +PFicheSociete.gListeEquipe(clFicheSociete) +//Contôle de supression des données Societe +clModele:bControle(clErreur,Vrai) +//Contôle de supression des données Adresse +//clModele:m_clAdresse:bControle(clErreur,vrai) +//Parcours des collaborateurs rattachés à la société +pour i = clFicheSociete:ListeCollaborateur:p_nTotal _à_ 1 pas -1 +//Contrôle si on peut supprimer la liaison de la société et du collaborateur +si clFicheSociete:ListeCollaborateur:m_clTabModele[i]:bControle(clErreur,Vrai) alors +//Indique qu'il n'y a plus de liaison entre la societe et le collaborateur +06/08/2026 Isis_BO 5588 + +Partie 6 › Classe › MTableauDeSociete › Code +clFicheSociete:ListeCollaborateur:m_clTabModele[i]:m_bLiaison = Faux +//Suppression de l'enregistrement Societe_Collaborateur +clFicheSociete:ListeCollaborateur:m_clTabModele[i]:bSupprimer(clErreur) +fin +fin +//Parcours des équipes rattachés à la société +pour i = clFicheSociete:ListeEquipe:p_nTotal _à_ 1 pas -1 +//Contrôle si on peut supprimer la liaison de la société et de l'équipe +si clFicheSociete:ListeEquipe:m_clTabModele[i]:bControle(clErreur,Vrai) alors +//Indique qu'il n'y a plus de liaison entre la societe et l'équipe +clFicheSociete:ListeEquipe:m_clTabModele[i]:m_nIDSociete = 0 +//Enregistrement de la modification +clFicheSociete:ListeEquipe:m_clTabModele[i]:bEnregistrer(clErreur) +//clFicheSociete:ListeEquipe:m_clTabModele[i]:bSupprimer(clErreur) +fin +fin +//************************************************** +//Traitement des données Societe +//************************************************** +si pas clModele.bSupprimer(clErreur) alors goto ERREURTRANSAC +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +//Termine la transaction +// HTransactionFin(gcnxBO) +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURTRANSAC : +//Annulation de la transaction +// HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +//Annulation de la transaction +// HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Méthode Charger +06/08/2026 Isis_BO 5589 + +Partie 6 › Classe › MTableauDeSociete › Code +procédure Charger(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL= [ +SELECT DISTINCT Societe.*,Adresse.* +FROM Societe +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Societe.SO_IDAdressePrincipale) +WHERE Societe.SO_PKID={p_IdSociete} +ORDER BY Societe.SO_Archive, Societe.SO_Nom +] +reqSQL.p_IdSociete = MesParamètres..Occurrence>=1 _et_ MesParamètres[1]>0 ? MesParamètres[1] sinon Null +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MSociete +clModele.Charger(reqSQL) +clModele.m_clAdresse.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerDepuisUser +procédure ChargerDepuisUser(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL= [ +SELECT DISTINCT Societe.*,Adresse.* +FROM Societe +INNER JOIN Adresse ON (Adresse.AD_PKID=Societe.SO_IDAdressePrincipale) +LEFT OUTER JOIN Societe_Collaborateur ON (Societe_Collaborateur.SC_IDCSociete=Societe.SO_PKID) +LEFT OUTER JOIN Utilisateur ON (Utilisateur.UT_IDCollaborateur=Societe_Collaborateur.SC_IDCollaborateur +) +WHERE Utilisateur.UT_PKID={p_IDUser} +] +reqSQL.p_IDUser = MesParamètres..Occurrence>=1 _et_ MesParamètres[1]>0 ? MesParamètres[1] sinon Null +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MSociete +clModele.Charger(reqSQL) +clModele.m_clAdresse.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +06/08/2026 Isis_BO 5590 + +Partie 6 › Classe › MTableauDeSociete › Code +procédure Constructeur() +Destructeur +procédure Destructeur() +| 06/08/2026 | Isis_BO | 5591 | +| ---------- | ------- | ---- | + +Partie 6 › Classe › PTableSociete › Code +PTableSociete +Code +Déclaration de PTableSociete +PTableSociete est une Classe +protégé +m_clTableauModele est un MTableauDeSociete dynamique +// modèle associé à la présentation +m_clModeleCourant est un MSociete dynamique +// référence sur le modèle de données courant +m_bMajCourantSansIHM est un booléen +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeSociete dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bMajCourantSansIHM +procédure publique p_bMajCourantSansIHM() : booléen +renvoyer m_bMajCourantSansIHM +Affectation de la propriété p_bMajCourantSansIHM +procédure publique p_bMajCourantSansIHM(bValeur est un booléen) +m_bMajCourantSansIHM=bValeur +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MSociete +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +06/08/2026 Isis_BO 5592 + +Partie 6 › Classe › PTableSociete › Code +procédure publique p_clCourant(pclValeur est MSociete dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +si pas m_bMajCourantSansIHM alors +DemandeMiseAJourIHM() +fin +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier,*) +//LOCAL nIdUtilisateur est un entier sur 8 octets +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeSociete +selon nMode +cas 0 : clTableauModele.Charger(MesParamètres[2à]) +cas 1 : clTableauModele.ChargerDepuisUser(MesParamètres[2à]) +autre cas +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableSociete(clTableauModele) +renvoyer clPresentation +Méthode ListeLibelleIDVersCombo +// Résumé : +// Syntaxe : +//[ = ] ListeLibelleIDVersCombo () +// +// Paramètres : +// Aucun +// Valeur de retour : +// chaîne ANSI : +// +// Exemple : +// +// +procédure ListeLibelleIDVersCombo() +saRep est une chaîne ANSI +pour tout od de :m_clTableauModele:m_clTabModele +si pas od:m_bArchive alors +saRep +=[RC]+od:m_sNom+gLien(od:m_nPKID) +sinon +saRep +=[RC]+gPoliceItalique(Vrai)+gStylo(GrisFoncé)+ od:m_sNom+gLien(od:m_nPKID) +fin +fin +renvoyer saRep +Méthode Modifier +06/08/2026 Isis_BO 5593 + +Partie 6 › Classe › PTableSociete › Code +procédure Modifier() +clPresentationFiche est un PFicheSociete(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MSociete dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau(*) +clModele est un MSociete() +clPresentationFiche est un PFicheSociete(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MSociete dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +Méthode RechercheNomSociteParId +procédure RechercheNomSociteParId(nIdSoc est un entier sur 8 octets) +n est un entier = TableauCherche(:m_clTabModele,tcLinéaire,"m_nPKID",nIdSoc) +si n=-1 alors +renvoyer "" +sinon +renvoyer :m_clTabModele[n]:m_sNom +fin +Méthode Trie +// Résumé : +// Syntaxe : +//Trie () +// +// Paramètres : +// sMembresTrie : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Trie(sMembresTrie) +si sMembresTrie<>"" alors +TableauTrie(:m_clTabModele, ttMembre,sMembresTrie) +fin +06/08/2026 Isis_BO 5594 + +Partie 6 › Classe › MTableauDeAdresse › Code +MTableauDeAdresse +Code +Déclaration de MTableauDeAdresse +MTableauDeAdresse est une Classe +public +m_clTabModele est un tableau de MAdresse dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MAdresse dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MAdresse dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger(local nIdAdresse est un entier sur 8 octets) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 5595 + +Partie 6 › Classe › MTableauDeAdresse › Code +// +// récupération des données +//sdSource est une source de données +sReqSQL est une Requête SQL = +[ +SELECT * +FROM Adresse +WHERE Adresse.AD_PKID = {p_nIdAdresse} +] +sReqSQL.p_nIdAdresse = nIdAdresse//nIdAdresse>0 ? nIdAdresse SINON Null +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +clModele est un MAdresse +clModele.Charger(sReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 5596 + +Partie 6 › Classe › PTableAdresse › Code +PTableAdresse +Code +Déclaration de PTableAdresse +PTableAdresse est une Classe +protégé +m_clTableauModele est un MTableauDeAdresse dynamique +// modèle associé à la présentation +m_clModeleCourant est un MAdresse dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeAdresse dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MAdresse +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MAdresse dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +06/08/2026 Isis_BO 5597 + +Partie 6 › Classe › PTableAdresse › Code +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nIdAdresse est un entier sur 8 octets) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeAdresse +clTableauModele.Charger(nIdAdresse) +// création de la nouvelle instance de présentation +clPresentation est un PTableAdresse(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheAdresse(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MAdresse dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau() +clModele est un MAdresse() +clPresentationFiche est un PFicheAdresse(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MAdresse dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +06/08/2026 Isis_BO 5598 + +Partie 6 › Classe › MPersonne › Code +MPersonne +Code +Déclaration de MPersonne +MPersonne est une Classe +//************************************************************************************************* +************* +//Le modèle MPersonne hérite du modèle de base +//************************************************************************************************* +************* +hérite de MBase +//************************************************************************************************* +************* +//Membres liés aux rubriques du fichier Personne +//************************************************************************************************* +************* + +m_nPKID est un entier sur 8 octets +| m_sNom | est une chaîne ANSI | | | | +| ------------ | -------------------------- | ---------------------- | -------------------- | --- | +| m_sPrenom | est une chaîne ANSI | | | | +| m_sTelFixe | est une chaîne ANSI | | | | +| m_sTelMobile | est une chaîne ANSI | | | | +| m_sEmail | est une chaîne ANSI | | | | +| m_nIDRole | est un entier sur 8 octets | | | | +m_nIDAdressePrincipale est un entier sur 8 octets +| m_nIDClient | est un entier sur 8 octets | | | | +| ----------- | -------------------------- | --- | --------------------- | --- | +m_nIDCivilite est un entier sur 8 octets +| m_sNote | est une chaîne ANSI | | | | +| --------------- | ------------------- | ------------------ | ------------------------- | --- | +| m_sFax | est une chaîne ANSI | | | | +| m_sIDImport | est une chaîne ANSI | | | | +| m_bActif | est un booléen | | | | +| //m_sEtage | est une chaine | | | | +| m_bUsageInterne | est un booléen | | | | +| m_sInfoSupp | est une chaîne ANSI | | | | + +//************************************************************************************************* +************* +// Membres NON liés aux rubriques du fichier Societe +//************************************************************************************************* +************* +// VARIABLE DE TYPE SIMPLE +| m_bSelection | est un booléen | | | | +| ---------------------- | -------------------------- | --- | --- | --- | +| m_bLier | est un booléen | | | | +| m_nIdLie | est un entier sur 8 octets | | | | +| m_bContactPrincipalCli | est un booléen | | | | +m_ImgContactPrincipalCli est une chaîne +// VARIABLE DE TYPE CLASSE +| m_clAdresse | est un MAdresse | | | | +| ----------- | --------------- | --- | --- | --- | +// VARIABLE DE TYPE TABLEAU +| m_sEtage | est une chaîne | | | | +| ---------- | -------------- | ------- | --- | ---- | +| m_sLot | est une chaîne | | | | +| 06/08/2026 | | Isis_BO | | 5599 | + +Partie 6 › Classe › MPersonne › Code +fin +constante +cIMG_Principal = "etoile_verte.png" +cIMG_PasPrincipal = "etoile_verte_vide.png" +fin +Méthode bControle +// Résumé : Méthode de contrôle des données du fichier Personne +// Syntaxe : +//[ = ] bControle ( est CErreur, est booléen) +// +// Paramètres : +// clErreur (CErreur) : instance de l'objet qui va contenir l'erreur eventuelle +// bSupprime (booléen) : S'agit-il d'un enregistrement à supprimer +// Valeur de retour : +// booléen : Vrai si aucune erreur Faux sinon +// bAjout (booléen) : S'agit-il d'un nouvel enregistrement +// stParamSupplementaire (STParamFenetreAppelante - valeur par défaut=0) : < +indiquez ici le rôle de paramSupplementaire> +procédure bControle(clErreur est un CErreur,local bSupprime est un booléen) +bResultat est un booléen=Vrai +// reqSQL est une requête SQL = +// [ +// SELECT 1 FROM Personne WHERE Personne.PE_Nom={p_Nom} and Personne.PE_PKID<>{p_pkid} +// ] +// reqSQL.p_Nom = :m_sNom +// reqSQL.p_pkid= :m_nPKID +tabListeErr est un tableau de chaînes +quand exception dans +si pas bSupprime alors +si SansEspace(:m_sNom)="" alors Ajoute( +tabListeErr,"Veuillez renseigner le nom de la personne") +// SI SansEspace(:m_sPrenom)="" ALORS +ajoute(tabListeErr,"Veuillez renseigner le prénom de la personne") +// SI SansEspace(:m_sTelFixe)="" ET SansEspace(:m_sTelMobile)="" ALORS +ajoute(tabListeErr,"Veuillez renseigner au moins un numéro de téléphone") +// +SI paramSupplementaire.eTypeAppel<>Libre _et_ paramSupplementaire.sNomIDAppelant="LieuPersonne" ALORS +// SI SansEspace(:m_nIDRole)=0 ALORS +Ajoute(tabListeErr,"Veuillez indiquer le rôle de la personne") +// FIN +// SI HExécuteRequête(reqSQL,hRequêteDéfaut) _et_ HNbEnr(reqSQL)>0 ALORS +Ajoute(tabListeErr,"Une personne du même nom existe déjà") +sinon +sdReqSuppr est une Source de Données +si HExécuteRequêteSQL(sdReqSuppr,hRequêteDéfaut,ChaîneConstruit( +"SELECT CL_Nom FROM Client WHERE Client.CL_IDContactPrincipal=%1",:m_nPKID)) _et_ HNbEnr( +sdReqSuppr)>0 alors Ajoute(tabListeErr,ChaîneConstruit( +"Impossible de supprimer ce contact. Il est le contact principal du client %1",sdReqSuppr. +CL_Nom)) +fin +si tabListeErr..Occurrence>0 alors +goto ERREURFONCTIONNELLE +sinon +goto SORTIE +06/08/2026 Isis_BO 5600 + +Partie 6 › Classe › MPersonne › Code +fin +ERREURFONCTIONNELLE : +clErreur.Init(CErreur.Fonctionnelle,tabListeErr) +bResultat = Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +bResultat = Faux +fin +SORTIE : +renvoyer bResultat +Constructeur +procédure Constructeur() +m_bActif=Vrai +Destructeur +procédure Destructeur() +Récupération de la propriété CiviliteNomPrenom +procédure publique CiviliteNomPrenom() +si gpclListeCivilite.RechercheEtDonneValeurDepuisId(:m_nIDCivilite) dans ("","0") alors +renvoyer NomPrenom +sinon +renvoyer gpclListeCivilite.RechercheEtDonneLibelleDepuisID(:m_nIDCivilite) +" "+NomPrenom +fin +Récupération de la propriété ContactPrincipalClient +procédure ContactPrincipalClient() +renvoyer m_bContactPrincipalCli +Affectation de la propriété ContactPrincipalClient +procédure publique ContactPrincipalClient(Valeur) +m_bContactPrincipalCli = Valeur +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété ImageContactPrincipalClient +procédure publique ImageContactPrincipalClient() : chaîne +si ContactPrincipalClient alors +renvoyer ::cIMG_Principal +sinon +renvoyer ::cIMG_PasPrincipal +06/08/2026 Isis_BO 5601 + +Partie 6 › Classe › MPersonne › Code +fin +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer m_sNom +Récupération de la propriété LibRole +procédure publique LibRole() +si HLitRecherchePremier(ParametreMetier,PA_PKID,:m_nIDRole) alors +renvoyer ParametreMetier.PA_Libelle +sinon +renvoyer "" +fin +Récupération de la propriété NomEtTel +procédure publique NomEtTel() +renvoyer :NomPrenom + " " + :m_sTelFixe+ [" "] +:m_sTelMobile +Affectation de la propriété NomEtTel +procédure publique NomEtTel(Valeur) +Récupération de la propriété NomPrenom +procédure publique NomPrenom() +renvoyer :m_sNom + " " + :m_sPrenom +Récupération de la propriété NomPrenomRC +procédure publique NomPrenomRC() +renvoyer :m_sNom + RC + :m_sPrenom +Récupération de la propriété TelephoneFixeMobileRC +procédure publique TelephoneFixeMobileRC() +renvoyer :m_sTelFixe+[RC]+:m_sTelMobile +06/08/2026 Isis_BO 5602 + +Partie 6 › Classe › MTableauDePersonne › Code +MTableauDePersonne +Code +Déclaration de MTableauDePersonne +MTableauDePersonne est une Classe +public +m_clTabModele est un tableau de MPersonne dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MPersonne dynamique) +nIndice est un entier +// ajoute l'instance du modèle dans le tableau en mémoire +nIndice = TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +renvoyer nIndice +Méthode bSupprimer +procédure bSupprimer(clModele est un MPersonne dynamique, clErreur est un CErreur) +bRenvoyer est un booléen = Faux +quand exception dans +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +goto ERREURTRANSAC +fin +// SI :bSupprimerEnMemoire(clModele,clErreur,nPos) ALORS +// bRenvoyer = Vrai +// GOTO SORTIE +// FIN +//Débute une transaction sur les fichiers Societe et Adresse +// HTransactionDébut(gcnxBO,"Personne,Adresse") +//Contôle des données Personne +si pas clModele:bControle(clErreur,Vrai) alors goto ERREURTRANSAC +//SI PAS clModele:m_clAdresse:bControle(clErreur,clModele:m_clAdresse:m_bNouveau,Vrai) +ALORS GOTO ERREURTRANSAC +//Traitement des données Adresse +//SI PAS clModele:m_clAdresse:bSupprimer(clErreur) +ALORS GOTO ERREURTRANSAC +//************************************************** +//Traitement des données Societe +//************************************************** +// suppression +si pas clModele.bSupprimer(clErreur) alors +06/08/2026 Isis_BO 5603 + +Partie 6 › Classe › MTableauDePersonne › Code +goto ERREURTRANSAC +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +//Termine la transaction +// HTransactionFin(gcnxBO) +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURTRANSAC : +//Annulation de la transaction +// HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +//Annulation de la transaction +// HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Méthode bSupprimerEnMemoire +// Résumé : +// Syntaxe : +//[ = ] bSupprimerEnMemoire ( est MPersonne dynamique, est CErreur, + est entier) +// +// Paramètres : +// clModele (MPersonne dynamique) : +// clErreur (CErreur) : +// nIndiceTabModele (entier) : +// Valeur de retour : +// booléen : // Aucune +// +procédure bSupprimerEnMemoire(clModele est un MPersonne dynamique, clErreur est un CErreur, +nIndiceTabModele est un entier) +bRenvoyer est un booléen=Faux +quand exception dans +si clModele:bNouveau() _ou_ clModele:bLiaison() alors +// supprime l'instance du modèle +si TableauSupprime(m_clTabModele,nIndiceTabModele)=1 alors +bRenvoyer =Vrai +// mise à jour des IHM +DemandeMiseAJourIHM() +sinon +clErreur.Init(CErreur.NonTrouvé) +06/08/2026 Isis_BO 5604 + +Partie 6 › Classe › MTableauDePersonne › Code +fin +fin +faire +clErreur.Init(CErreur.Grave,ExceptionInfo(errComplet)) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +ExceptionPropage() +fin +renvoyer bRenvoyer +Méthode ChargePersonneLieuInterpourRDV +// Résumé : +// Syntaxe : +//ChargePersonneLieuInterpourRDV ( [ est entier sur 8 octets [, est entier +sur 8 octets]]) +// +// Paramètres : +// nIdLieu (entier sur 8 octets - valeur par défaut=-1) : +// nIdIntervention (entier sur 8 octets - valeur par défaut=-1) : < +indiquez ici le rôle de nIdIntervention> +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargePersonneLieuInterpourRDV(local nIdLieu est un entier sur 8 octets=-1,local +nIdIntervention est un entier sur 8 octets=-1) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = [ +SELECT Personne.* +FROM Personne +INNER JOIN Intervention_Personne ON (Intervention_Personne.IP_IDPersonne=Personne.PE_PKID) +WHERE Intervention_Personne.IP_IDIntervention={p_IdIntervention} +AND Intervention_Personne.IP_IDLieu={p_IdLieu} +] +reqSQL.p_IdLieu = nIdLieu=-1 ? Null sinon nIdLieu +reqSQL.p_IdIntervention = nIdIntervention=-1 ? Null sinon nIdIntervention +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MPersonne +clModele.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode Charger +procédure Charger(local nIdClient est un entier sur 8 octets=-1,local nIdClientAExclure est un entier +06/08/2026 Isis_BO 5605 + +Partie 6 › Classe › MTableauDePersonne › Code +sur 8 octets=-1,local nIdPersonne est un entier sur 8 octets=-1,local sNomPersonne est une chaîne="") +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = [ +SELECT Personne.*,Adresse.*,Client.CL_IDContactPrincipal +FROM Personne +LEFT OUTER JOIN Adresse ON Adresse.AD_PKID=Personne.PE_IDAdressePrincipale +LEFT OUTER JOIN Client ON Client.CL_PKID=Personne.PE_IDClient +WHERE Personne.PE_IDClient = {p_nIdClient} +AND +( Personne.PE_IDClient NOT IN ({p_nIdClientExclu}) +AND Personne.PE_IDClient={p_nIdClientNull} +) +AND Personne.PE_PKID={p_nIdPersonne} +AND Personne.PE_Nom LIKE {p_sNomPersonne} +ORDER BY Personne.PE_PKID, Personne.PE_Actif DESC +] +reqSQL.p_nIdClient = nIdClient=-1 ? Null sinon nIdClient +reqSQL.p_nIdClientExclu = nIdClientAExclure=-1 ? Null sinon nIdClientAExclure +reqSQL.p_nIdClientNull = nIdClientAExclure=-1 ? Null sinon 0 +reqSQL.p_nIdPersonne = nIdPersonne=-1 ? Null sinon nIdPersonne +reqSQL.p_sNomPersonne= sNomPersonne="" ? Null sinon sNomPersonne+"%" +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MPersonne +clModele.Charger(reqSQL) +clModele:m_clAdresse:Charger(reqSQL) +clModele:m_bLiaison = nIdClient>0 ? Vrai sinon Faux +clModele.m_bContactPrincipalCli = nIdClient=-1 ? Faux sinon reqSQL.CL_IDContactPrincipal=reqSQL +.PE_PKID +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerDemandeurIntervention +// Résumé : +// Syntaxe : +//ChargerDemandeurIntervention ( [ est entier sur 8 octets]) +// +// Paramètres : +// nIdIntervention (entier sur 8 octets - valeur par défaut=-1) : < +indiquez ici le rôle de nIdIntervention> +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargerDemandeurIntervention(local nIdIntervention est un entier sur 8 octets=-1) +// vide le tableau +06/08/2026 Isis_BO 5606 + +Partie 6 › Classe › MTableauDePersonne › Code +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = [ +SELECT Personne.* +FROM Personne +INNER JOIN Intervention ON (Intervention.IN_IDDemandeur=Personne.PE_PKID) +WHERE Intervention.IN_PKID={p_IdIntervention} +] +reqSQL.p_IdIntervention = nIdIntervention=-1 ? Null sinon nIdIntervention +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MPersonne +clModele.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerListePersonneClientIntervention +// Résumé : +// Syntaxe : +//ChargerListePersonneClientIntervention ( [ est entier sur 8 octets [, +est entier sur 8 octets [, est booléen]]]) +// +// Paramètres : +// nIdClient (entier sur 8 octets - valeur par défaut=-1) : +// nIdIntervention (entier sur 8 octets - valeur par défaut=-1) : < +indiquez ici le rôle de nIdIntervention> +// bTous (booléen - valeur par défaut=0) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargerListePersonneClientIntervention(local nIdClient est un entier sur 8 octets=-1,local +nIdIntervention est un entier sur 8 octets=-1,local bTous est un booléen=Faux) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = [ +SELECT Personne.* +FROM Personne +LEFT OUTER JOIN ParametreMetier ON (ParametreMetier.PA_PKID=Personne.PE_IDRole) +WHERE NOT EXISTS (SELECT 1 FROM Intervention_Personne +WHERE Intervention_Personne.IP_IDClient={p_IdClient} +AND Intervention_Personne.IP_IDIntervention={p_IdIntervention} +06/08/2026 Isis_BO 5607 + +Partie 6 › Classe › MTableauDePersonne › Code +AND Intervention_Personne.IP_IDPersonne=Personne.PE_PKID) +AND Personne.PE_IDClient={p_IdClient} +AND (ParametreMetier.PA_PKID IS NULL OR LEFT(ParametreMetier.PA_Valeur,1) IN ('*','C')) +] +reqSQL.p_IdClient = nIdClient=-1 _ou_ bTous ? Null sinon nIdClient +reqSQL.p_IdIntervention = nIdIntervention=-1 ? Null sinon nIdIntervention +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MPersonne +clModele.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerListePersonneLieuIntervention +// Résumé : +// Syntaxe : +//ChargerListePersonneLieuIntervention ( [ est entier sur 8 octets [, est +entier sur 8 octets [, est booléen]]]) +// +// Paramètres : +// nIdLieu (entier sur 8 octets - valeur par défaut=-1) : +// nIdIntervention (entier sur 8 octets - valeur par défaut=-1) : < +indiquez ici le rôle de nIdInterventionAExclure> +// bTous (booléen - valeur par défaut=0) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargerListePersonneLieuIntervention(local nIdLieu est un entier sur 8 octets=-1,local +nIdIntervention est un entier sur 8 octets=-1,local bTous est un booléen=Faux) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = [ +SELECT Personne.*,Adresse.* +FROM Personne +INNER JOIN Lieu_Personne ON (Lieu_Personne.LIP_IDPersonne=Personne.PE_PKID) +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Personne.PE_IDAdressePrincipale) +LEFT OUTER JOIN ParametreMetier ON (ParametreMetier.PA_PKID=Personne.PE_IDRole) +WHERE Lieu_Personne.LIP_IDLieu={p_IdLieu} +AND NOT EXISTS (SELECT 1 FROM Intervention_Personne +WHERE Intervention_Personne.IP_IDLieu=Lieu_Personne.LIP_IDLieu +AND Intervention_Personne.IP_IDPersonne=Lieu_Personne.LIP_IDPersonne +AND Intervention_Personne.IP_IDIntervention={p_IdIntervention}) +AND (ParametreMetier.PA_PKID IS NULL OR LEFT(ParametreMetier.PA_Valeur,1) IN ('*','S')) +] +reqSQL.p_IdLieu = nIdLieu=-1 _ou_ bTous ? Null sinon nIdLieu +06/08/2026 Isis_BO 5608 + +Partie 6 › Classe › MTableauDePersonne › Code +reqSQL.p_IdIntervention = nIdIntervention=-1 ? Null sinon nIdIntervention +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MPersonne +clModele.Charger(reqSQL) +clModele:m_clAdresse:Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerListePersonneSansLot +procédure ChargerListePersonneSansLot(local nIdLot est un entier sur 8 octets) +//// vide le tableau +//TableauSupprimeTout(m_clTabModele) +// +//// +//// chargement à personnaliser selon votre contexte +//// +// +//// récupération des données +//reqSQL est une Requête SQL = [ +// SELECT DISTINCT Personne.* +// FROM Personne +// LEFT OUTER join Lot_Personne on (Lot_Personne.LP_IDPersonne=personne.PE_PKID) +// WHERE (Lot_Personne.LP_IDPersonne is null +// or ( +// Lot_Personne.LP_IDPersonne is not null +// and (Lot_Personne.LP_IDLot <> {p_nIdLot} +// +AND NOT EXISTS (SELECT 1 FROM Lot_Personne AS LPerson WHERE LPerson.LP_IDPersonne = +Lot_Personne.LP_IDPersonne AND LPerson.LP_IDLot={p_nIdLot})))) +//] +// +// +//reqSQL.p_nIdLot = nIdLot =-1 ? Null SINON nIdLot +//// exécution de la requête +//SI HExécuteRequête(reqSQL) ALORS +// // charge les enregistrements en mémoire +// POUR TOUT reqSQL +// clModele est un MPersonne +// clModele.Charger(reqSQL) +// clModele:m_bLiaison = nIdLot>0 ? Vrai SINON Faux +// TableauAjoute(m_clTabModele,clModele) +// FIN +//FIN +Méthode ChargerUneSeulePersonne +procédure ChargerUneSeulePersonne(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = [ +06/08/2026 Isis_BO 5609 + +Partie 6 › Classe › MTableauDePersonne › Code +SELECT Personne.*,Adresse.*,Client.CL_IDContactPrincipal +FROM Personne +LEFT OUTER JOIN Adresse ON Adresse.AD_PKID=Personne.PE_IDAdressePrincipale +LEFT OUTER JOIN Client ON Client.CL_PKID=Personne.PE_IDClient +WHERE Personne.PE_PKID={p_nIdPersonne} +ORDER BY Personne.PE_PKID, Personne.PE_Actif DESC +] +reqSQL.p_nIdPersonne = MesParamètres..Occurrence>0 _et_ MesParamètres[1]<>-1 ? MesParamètres[1] sinon +Null +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MPersonne +clModele.Charger(reqSQL) +clModele:m_clAdresse:Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode RechercheContactLieu +// Résumé : +// Syntaxe : +//RechercheContactLieu ([...]) +// +// Paramètres : +// <*> : > +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// nIdDemande (entier sur 8 octets - valeur par défaut=-1) : +// <*> : > +// sNomPersonne (chaîne ANSI) : > +// <*> : > +procédure RechercheContactLieu(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +06/08/2026 Isis_BO 5610 + +Partie 6 › Classe › MTableauDePersonne › Code +reqSQL est une Requête SQL = [ +SELECT Personne.*,Adresse.* +FROM Personne +INNER JOIN Lieu_Personne ON (Lieu_Personne.LIP_IDPersonne=Personne.PE_PKID) +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Personne.PE_IDAdressePrincipale) +LEFT OUTER JOIN ParametreMetier ON (ParametreMetier.PA_PKID=Personne.PE_IDRole) +WHERE Lieu_Personne.LIP_IDLieu={p_IdLieu} +AND NOT EXISTS (SELECT 1 FROM Intervention_Personne +WHERE Intervention_Personne.IP_IDLieu=Lieu_Personne.LIP_IDLieu +AND Intervention_Personne.IP_IDPersonne=Lieu_Personne.LIP_IDPersonne +AND Intervention_Personne.IP_IDIntervention={p_IdIntervention}) +AND (ParametreMetier.PA_PKID IS NULL OR LEFT(ParametreMetier.PA_Valeur,1) IN ('*','S')) +AND Personne.PE_Nom LIKE {p_sNomPersonne} +] +reqSQL.p_sNomPersonne= MesParamètres..Occurrence>=1 _et_ MesParamètres[1]=-1 ? Null sinon MesParamètres +..Occurrence>=1 ? MesParamètres[1]+"%" sinon Null +reqSQL.p_IdLieu = MesParamètres..Occurrence>=2 _et_ MesParamètres[2]=-1 ? Null sinon +MesParamètres..Occurrence>=2 ? MesParamètres[2] sinon Null +reqSQL.p_IdIntervention = MesParamètres..Occurrence>=3 _et_ MesParamètres[3]=-1 ? Null sinon +MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon Null +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MPersonne +clModele.Charger(reqSQL) +clModele:m_clAdresse:Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode RechercheGlobale +// Résumé : +// Syntaxe : +// RechercheGlobale () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RechercheGlobale(local sTermedeRecherche est une chaîne) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +ReqSQL est une Requête SQL = [ +SELECT Personne.*,Adresse.*,MATCH(Personne.PE_Index_FullText) AGAINST ({p_TermedeRecherche}) AS +PertinenceFulltext +FROM Personne +06/08/2026 Isis_BO 5611 + +Partie 6 › Classe › MTableauDePersonne › Code +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Personne.PE_IDAdressePrincipale) +WHERE +PertinenceFulltext >0 +ORDER BY PertinenceFulltext DESC +] +ReqSQL.p_TermedeRecherche = sTermedeRecherche+"*" +// exécution de la requête +si HExécuteRequête(ReqSQL) alors +// charge les enregistrements en mémoire +pour tout ReqSQL +clModele est un MPersonne +clModele.Charger(ReqSQL) +clModele:m_clAdresse:Charger(ReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +HAnnuleDéclaration(ReqSQL) +Méthode THCharger +procédure publique global THCharger(*) +//LOCAL nIdClient est un entier sur 8 octets=-1,LOCAL nIdClientAExclure est un entier sur 8 +octets=-1,LOCAL nIdPersonne est un entier sur 8 octets=-1,LOCAL sNomPersonne est une chaîne="" +//MesParamètres[1] = callBack de mise à jour +//MesParamètres[2] = ID du Client +//MesParamètres[3] = ID du Client à exclure +//MesParamètres[4] = ID du Contact +//MesParamètres[5] = Nom du Contact +si gbThreadFinListePersonneGlobal alors +ThreadFin() +fin +clTabDePersonne est un MTableauDePersonne +nCptEnreg est un entier = 1000 +nIndice est un entier sur 8 octets +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = [ +SELECT Personne.*,Adresse.* +FROM Personne +LEFT OUTER JOIN Adresse ON Adresse.AD_PKID=Personne.PE_IDAdressePrincipale +WHERE Personne.PE_IDClient = {p_nIdClient} +AND +( Personne.PE_IDClient NOT IN ({p_nIdClientExclu}) +AND Personne.PE_IDClient={p_nIdClientNull} +) +AND Personne.PE_PKID={p_nIdPersonne} +AND Personne.PE_Nom={p_sNomPersonne} +ORDER BY Personne.PE_Nom +LIMIT {p_Indice},{p_NbEnreg} +] +reqSQL.p_nIdClient = MesParamètres..Occurrence=2 _et_ MesParamètres[2]<>-1 ? MesParamètres[2] +sinon Null //nIdClient=-1 ? Null SINON nIdClient +reqSQL.p_nIdClientExclu = MesParamètres..Occurrence=3 _et_ MesParamètres[3]<>-1 ? MesParamètres[3] +sinon Null //nIdClientAExclure=-1 ? Null SINON nIdClientAExclure +06/08/2026 Isis_BO 5612 + +Partie 6 › Classe › MTableauDePersonne › Code +reqSQL.p_nIdClientNull = MesParamètres..Occurrence=3 _et_ MesParamètres[3]<>-1 ? 0 sinon Null +//nIdClientAExclure=-1 ? Null SINON 0 +reqSQL.p_nIdPersonne = MesParamètres..Occurrence=4 _et_ MesParamètres[4]<>-1 ? MesParamètres[4] sinon +Null //nIdPersonne=-1 ? Null SINON nIdPersonne +reqSQL.p_sNomPersonne= MesParamètres..Occurrence=5 _et_ MesParamètres[5]<>"" ? MesParamètres[5] sinon +Null //sNomPersonne="" ? Null SINON sNomPersonne +reqSQL.p_Indice = nIndice +reqSQL.p_NbEnreg = nCptEnreg +// exécution de la requête +si HExécuteRequête(reqSQL) _et_ HNbEnr(reqSQL)>0 alors +boucle +//Incrément pour le prochaine tours +nIndice += (nCptEnreg+1) +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MPersonne +clModele.Charger(reqSQL) +clModele:m_clAdresse:Charger(reqSQL) +clModele:m_bLiaison = MesParamètres..Occurrence=2 _et_ MesParamètres[2]>0 ? Vrai sinon +Faux +TableauAjoute(clTabDePersonne:m_clTabModele,clModele) +fin +si gbThreadFinListeClientGlobal alors +ThreadFin() +fin +ExécuteThreadPrincipal(MesParamètres[1],clTabDePersonne) +HLibèreRequête(reqSQL) +reqSQL.p_nIdClient = MesParamètres..Occurrence=2 _et_ MesParamètres[2]<>-1 ? +MesParamètres[2] sinon Null //nIdClient=-1 ? Null SINON nIdClient +reqSQL.p_nIdClientExclu = MesParamètres..Occurrence=3 _et_ MesParamètres[3]<>-1 ? +MesParamètres[3] sinon Null //nIdClientAExclure=-1 ? Null SINON nIdClientAExclure +reqSQL.p_nIdClientNull = MesParamètres..Occurrence=3 _et_ MesParamètres[3]<>-1 ? 0 sinon +Null //nIdClientAExclure=-1 ? Null SINON 0 +reqSQL.p_nIdPersonne = MesParamètres..Occurrence=4 _et_ MesParamètres[4]<>-1 ? MesParamètres[4 +] sinon Null //nIdPersonne=-1 ? Null SINON nIdPersonne +reqSQL.p_sNomPersonne= MesParamètres..Occurrence=5 _et_ MesParamètres[5]<>"" ? MesParamètres[5 +] sinon Null //sNomPersonne="" ? Null SINON sNomPersonne +reqSQL.p_Indice = nIndice +reqSQL.p_NbEnreg = nCptEnreg +HExécuteRequête(reqSQL) +à faire tantque HNbEnr(reqSQL)>0 _et_ nIndice<1000 +sinon +ExécuteThreadPrincipal(MesParamètres[1],clTabDePersonne) +fin +06/08/2026 Isis_BO 5613 + +Partie 6 › Classe › PTablePersonne › Code +PTablePersonne +Code +Déclaration de PTablePersonne +PTablePersonne est une Classe +protégé +m_clTableauModele est un MTableauDePersonne dynamique +// modèle associé à la présentation +m_clModeleCourant est un MPersonne dynamique +// référence sur le modèle de données courant +m_bMajCourantSansIHM est un booléen +m_sNomThreadListeGlobale est une chaîne +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Méthode ChercheEtRemplieListe +// Résumé : +// Syntaxe : +//ChercheEtRemplieListe ( est chaîne, est procédure, +est chaîne, est booléen, est chaîne [, est +booléen]) +// +// Paramètres : +// sNomChampSaisie (chaîne ANSI) : +// LaProcedureAjouteListe (procédure) : +// sTexte (chaîne ANSI) : +// bControleDoublonsTableau (booléen) : +// sNomVariableTableau (chaîne ANSI) : +// bEnThread (booléen - valeur par défaut=0) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sNomChampSaisie (chaîne ANSI) : +// LaProcedureAjouteListe (procédure) : +// sTexte (chaîne ANSI) : +// bControleDoublonsTableau (booléen) : +// sNomVariableTableau (chaîne ANSI) : +// bEnThread (booléen - valeur par défaut=0) : +// bEnThread (booléen - valeur par défaut=0) : +procédure globale ChercheEtRemplieListe(local sNomChampSaisie est une chaîne,LaProcedureAjouteListe est +une procédure,local sTexte est une chaîne,local bControleDoublonsTableau est un booléen, local +sNomVariableTableau est une chaîne,local bEnThread est un booléen=Faux) +sdMalistepersonne est une Source de Données +reqSQL est une chaîne = +[ +SELECT DISTINCT Personne.PE_Nom AS NomPersonne,Personne.PE_PreNom AS +PrenomPersonne,Personne.PE_PKID AS PKID +06/08/2026 Isis_BO 5614 + +Partie 6 › Classe › PTablePersonne › Code +FROM Personne +LEFT OUTER JOIN Adresse ON(Adresse.AD_PKID=Personne.PE_IDAdressePrincipale) +WHERE UPPER(PE_Nom)]= '%1' +OR UPPER(PE_Prenom)]= '%1' +OR UPPER(AD_Ligne_1)]= '%1' +OR UPPER(AD_Ligne_2)]= '%1' +OR UPPER(AD_Ligne_3)]= '%1' +OR UPPER(AD_Ligne_4)]= '%1' +OR UPPER(AD_Ligne_5)]= '%1' +OR UPPER(AD_CodePostal)]= '%1' +OR UPPER(AD_Ville)]= '%1' +ORDER BY PE_Nom +] +si bEnThread _et_ gbThreadFinListeContact alors +ThreadFin() +fin +reqSQL = ChaîneConstruit(reqSQL,sTexte) +si HExécuteRequêteSQL(sdMalistepersonne,hRequêteDéfaut,reqSQL) alors +si HNbEnr(sdMalistepersonne)> 0 alors +pour tout sdMalistepersonne +si bEnThread _et_ gbThreadFinListeContact alors +ThreadFin() +fin +si bEnThread alors +ExécuteThreadPrincipal(LaProcedureAjouteListe,sNomChampSaisie,sdMalistepersonne. +NomPersonne+" "+sdMalistepersonne.PreNomPersonne,sdMalistepersonne.PKID, +bControleDoublonsTableau,sNomVariableTableau) +sinon +LaProcedureAjouteListe(sNomChampSaisie,sdMalistepersonne.NomPersonne+" "+ +sdMalistepersonne.PreNomPersonne,sdMalistepersonne.PKID,bControleDoublonsTableau, +sNomVariableTableau) +fin +fin +sinon +si bEnThread alors +ExécuteThreadPrincipal(LaProcedureAjouteListe,sNomChampSaisie,"",0, +bControleDoublonsTableau,sNomVariableTableau) +sinon +LaProcedureAjouteListe(sNomChampSaisie,"",0,bControleDoublonsTableau,sNomVariableTableau) +fin +// ExécuteThreadPrincipal(TH_AucunePersonne) +fin +fin +HLibèreRequête(sdMalistepersonne) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDePersonne dynamique) +m_clTableauModele=clTableauModele +m_sNomThreadListeGlobale = "ListePersonneGlobal" +Destructeur +procédure Destructeur() +Récupération de la propriété p_bMajCourantSansIHM +procédure publique p_bMajCourantSansIHM() : booléen +renvoyer m_bMajCourantSansIHM +Affectation de la propriété p_bMajCourantSansIHM +06/08/2026 Isis_BO 5615 + +Partie 6 › Classe › PTablePersonne › Code +procédure publique p_bMajCourantSansIHM(bValeur est un booléen) +m_bMajCourantSansIHM=bValeur +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MPersonne +si m_clModeleCourant=Null alors +clModele est MPersonne +renvoyer clModele +sinon +renvoyer m_clModeleCourant +fin +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MPersonne dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +si pas m_bMajCourantSansIHM alors +DemandeMiseAJourIHM() +fin +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +renvoyer TableauOccurrence(m_clTabModele) +Récupération de la propriété p_sNomThreadListeGlobale +procédure publique p_sNomThreadListeGlobale() : chaîne +renvoyer m_sNomThreadListeGlobale +Affectation de la propriété p_sNomThreadListeGlobale +procédure publique p_sNomThreadListeGlobale(sValeur est une chaîne) +m_sNomThreadListeGlobale=sValeur +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier sur 8 octets,*) +//LOCAL nIdClient est un entier sans signe sur 8 octets,LOCAL nIdClientAExclure est un entier sur 8 +octets=-1,LOCAL nIdLot est un entier sur 8 octets=-1,LOCAL nIdIntervention est un entier sur 8 +octets=-1 +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDePersonne +selon nMode +cas 0 : clTableauModele.Charger(MesParamètres[2 à]) +//clTableauModele.Charger(nIdClient,nIdClientAExclure,nIdIntervention) +06/08/2026 Isis_BO 5616 + +Partie 6 › Classe › PTablePersonne › Code +cas 1 : clTableauModele.ChargerListePersonnesansLot(MesParamètres[2]) +//clTableauModele.ChargerListePersonnesansLot(nIdLot) +cas 2 : clTableauModele.ChargerDemandeurIntervention(MesParamètres[2]) +//clTableauModele.ChargerDemandeurIntervention(nIdIntervention) +cas 3 : clTableauModele.RechercheContactLieu(MesParamètres[2à]) +//clTableauModele.ChargerContactDemande(nIdDemande) +cas 4 : clTableauModele.ChargerListePersonneLieuIntervention(MesParamètres[2à]) +cas 5 : clTableauModele.ChargerListePersonneClientIntervention(MesParamètres[2à]) +cas 6 : clTableauModele.ChargePersonneLieuInterpourRDV(MesParamètres[2à]) +cas 7 : clTableauModele.RechercheGlobale(MesParamètres[2à]) +cas 8 : clTableauModele.ChargerUneSeulePersonne(MesParamètres[2à]) +fin +// création de la nouvelle instance de présentation +clPresentation est un PTablePersonne(clTableauModele) +renvoyer clPresentation +Méthode gTHNouvellePresentation +// Résumé : +// Syntaxe : +//gTHNouvellePresentation ( est entier [, ...]) +// +// Paramètres : +// nMode (entier) : +// <*> : > +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// ChampTable (champ) : +// methodeClasseDeRecherche (procédure) : +// bControleDoublonsTableau (booléen) : +// sNomTableauDeRecherche (chaîne ANSI) : +// sCritereCompl (chaîne ANSI) : +// callBackMAJ (procédure) : +// <*> : > +// sNomThread (chaîne ANSI) : +// <*> : > +procédure publique globale gTHNouvellePresentation(local nMode est un entier, *) +//callBackMAJ est une procedure, +selon nMode +cas 0 : +si ThreadEtat("ListePersonneGlobal")<>threadInexistant alors ThreadArrête("ListePersonneGlobal" +) +gbThreadFinListePersonneGlobal = Faux +ThreadExécute("ListePersonneGlobal",threadNormal,MTableauDePersonne.THCharger,MesParamètres[2 à +]) +//CAS 1 : ThreadExécute(sNomThread,threadCopieLégèreContexteHFSQL,,MesParamètres[3A]) +fin +Méthode Modifier +06/08/2026 Isis_BO 5617 + +Partie 6 › Classe › PTablePersonne › Code +procédure Modifier() +clPresentationFiche est un PFichePersonne(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MPersonne dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau(*) +//LOCAL bLier est un booléen,LOCAL nIdLie est un entier sur 8 octets +clModele est un MPersonne() +clModele.m_bLiaison = MesParamètres..Occurrence>=1 ? MesParamètres[1] sinon Faux +clModele.m_nIDClient = MesParamètres..Occurrence>=2 ? MesParamètres[2] sinon 0 +clModele.m_nIDAdressePrincipale = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon 0 +clPresentationFiche est un PFichePersonne(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MPersonne dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +Méthode Trie +// Résumé : +// Syntaxe : +//Trie () +// +// Paramètres : +// sMembresTrie : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Trie(sMembresTrie) +si sMembresTrie<>"" alors +TableauTrie(:m_clTabModele, ttMembre,sMembresTrie) +fin +06/08/2026 Isis_BO 5618 + +Partie 6 › Classe › PFichePersonne › Code +PFichePersonne +Code +Déclaration de PFichePersonne +PFichePersonne est une Classe +protégé +m_clModeleCourant est un MPersonne // modèle associé à la présentation +m_clModeleSource est un MPersonne dynamique // référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +m_clFicheAdresse est un PFicheAdresse dynamique // adresse liée à la personne +m_clListeLieu est un PTableLieu_Personne dynamique// liste des lieux d'une personne +m_clListeInterventionest un PTableIntervention dynamique +m_clFicheClient est un PFicheClient dynamique +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +//,LOCAL bAvecTransaction est un booléen,LOCAL bMajCourant est un booléen +bRenvoyer est un booléen = Faux +bNouveau est un booléen +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +//Débute une transaction sur les fichiers Societe et Adresse +// SI bAvecTransaction ALORS HTransactionDébut(gcnxBO,"Personne,Adresse") +//Contôle des données Adresse et Personne +si pas :FicheEnCours:bControle(clErreur,Faux) alors goto ERREURTRANSAC +//SI PAS :FicheAdresse:bControle(clErreur,:FicheAdresse:m_bNouveau,Faux) ALORS GOTO ERREURTRANSAC +//Traitement des données Adresse +si :FicheAdresse<>Null _et_ pas :FicheAdresse:bOK(clErreur) alors goto ERREURTRANSAC +//PAS :FicheAdresse:bOK(clErreur,Faux,Vrai) +//************************************************** +//Traitement des données Societe +//************************************************** +m_clModeleCourant:m_nIDAdressePrincipale = :FicheAdresse<>Null ? :FicheAdresse:IdentifiantUnique +sinon 0 +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +bNouveau = m_clModeleCourant.bNouveau() +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURTRANSAC +//************************************************** +06/08/2026 Isis_BO 5619 + +Partie 6 › Classe › PFichePersonne › Code +//Traitement des données Lieux du Contact +//************************************************** +//Boucle sur l'ensemble des lieux du contact +si :ListeLieu<>Null alors +pour i = 1 _à_ :ListeLieu:m_clTabModele..Occurrence +//Instanciation d'une fiche contact à partir de l'enregistrement du tableau des contacts +clFicheLP est un PFicheLieu_Personne(:ListeLieu:m_clTabModele[i]) +si clFicheLP:m_nIDPersonne = 0 alors +clFicheLP:m_clContact = :m_clModeleCourant +sinon +clFicheLP:m_clContact:m_nIDCivilite = :m_clModeleCourant:m_nIDCivilite +clFicheLP:m_clContact:m_sNom = :m_clModeleCourant:m_sNom +clFicheLP:m_clContact:m_sPrenom = :m_clModeleCourant:m_sPrenom +clFicheLP:m_clContact:m_nIDRole = :m_clModeleCourant:m_nIDRole +clFicheLP:m_clContact:m_sTelFixe = :m_clModeleCourant:m_sTelFixe +clFicheLP:m_clContact:m_sTelMobile = :m_clModeleCourant:m_sTelMobile +clFicheLP:m_clContact:m_sEmail = :m_clModeleCourant:m_sEmail +clFicheLP:m_clContact:m_bActif = :m_clModeleCourant:m_bActif +clFicheLP:m_clContact:m_bUsageInterne = :m_clModeleCourant:m_bUsageInterne +fin +// //Affectation de l'identifiant du client au contact +si clFicheLP:m_nIDPersonne = 0 alors clFicheLP:m_nIDPersonne = :m_clModeleCourant:m_nPKID +// effectue la modification dans le fichier et en cas d'erreur annule la transaction +si pas clFicheLP:bOK(clErreur) alors +goto ERREURTRANSAC//PAS clFicheLP:bOK(clErreur,Faux,Vrai) +fin +fin +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +si bNouveau alors +m_pValidation = Null +fin +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +// SI bMajCourant ALORS +// m_clModeleCourant <= m_clModeleSource +// FIN +//Termine la transaction +// SI bAvecTransaction ALORS HTransactionFin(gcnxBO) +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURTRANSAC : +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +06/08/2026 Isis_BO 5620 + +Partie 6 › Classe › PFichePersonne › Code +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MPersonne dynamique, pValidation est une procédure=Null) +si clModele:m_nIDRole = 0 alors clModele:m_nIDRole = gpclListeRoleContact: +RechercheEtDonneIdDepuisValeur(0) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété FicheAdresse +procédure publique FicheAdresse() +renvoyer m_clFicheAdresse +Affectation de la propriété FicheAdresse +procédure publique FicheAdresse(clValeur est PFicheAdresse dynamique) +m_clFicheAdresse=clValeur +Récupération de la propriété FicheClient +procédure publique FicheClient() : PFicheClient +renvoyer m_clFicheClient +Affectation de la propriété FicheClient +procédure publique FicheClient(clValeur est PFicheClient dynamique) +m_clFicheClient=clValeur +Récupération de la propriété FicheEnCours +procédure publique FicheEnCours() : MPersonne +renvoyer m_clModeleCourant +Affectation de la propriété FicheEnCours +06/08/2026 Isis_BO 5621 + +Partie 6 › Classe › PFichePersonne › Code +procédure publique FicheEnCours(clValeur est MPersonne dynamique) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant=clValeur +// conserve une référence sur le modèle source +m_clModeleSource<-clValeur +Récupération de la propriété FicheSource +procédure publique FicheSource() : MPersonne +renvoyer m_clModeleSource +Récupération de la propriété ListeIntervention +procédure publique ListeIntervention() : PTableIntervention +renvoyer m_clListeIntervention +Affectation de la propriété ListeIntervention +procédure publique ListeIntervention(clValeur est PTableIntervention) +m_clListeIntervention=clValeur +Récupération de la propriété ListeLieu +procédure publique ListeLieu() : PTableLieu_Personne +renvoyer m_clListeLieu +Affectation de la propriété ListeLieu +procédure publique ListeLieu(clValeur est PTableLieu_Personne) +m_clListeLieu=clValeur +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MPersonne +renvoyer m_clModeleCourant +Récupération de la propriété p_LibelleRole +procédure publique p_LibelleRole() +nIndice est un entier = TableauCherche(gpclListeRoleContact:m_clTabModele,tcLinéaire,"m_nPKID",:m_n +IDRole,1) +si nIndice>0 alors +renvoyer gpclListeRoleContact:m_clTabModele[nIndice]:m_sLibelle +sinon +renvoyer "" +fin +Récupération de la propriété p_QuickView +procédure publique p_QuickView() +sResultat est une chaîne +sResultat += :m_sTelFixe<>"" ? "Tél. : "+ :m_sTelFixe sinon "" +sResultat += :m_sTelMobile<>"" ? RC+"Mobile : "+ :m_sTelMobile sinon "" +sResultat += :m_sEmail<>"" ? RC+"Email : "+ :m_sEmail sinon "" +sResultat += :m_nIDRole>0 ? RC+"Rôle : "+ :p_LibelleRole sinon "" +06/08/2026 Isis_BO 5622 + +Partie 6 › Classe › PFichePersonne › Code +sResultat += :FicheAdresse:m_sLigne_2<>"" ? RC+"Etage : "+ :FicheAdresse:m_sLigne_2 sinon "" +sResultat += :FicheAdresse:m_sLigne_3<>"" ? RC+"Bâtiment : "+ :FicheAdresse:m_sLigne_3 sinon "" +renvoyer sResultat +Méthode gFicheAdresse +// Résumé : Méthode qui permet d'obtenir ou remplir une instance d'un objet fiche Adresse +// Syntaxe : +procédure publique globale gFicheAdresse(clFichePersonne est un PFichePersonne dynamique,clFicheAdresse +est un PFicheAdresse dynamique=Null) +si clFicheAdresse<>Null alors +clFichePersonne:FicheAdresse = clFicheAdresse +//clFichePersonne:FicheEnCours:m_clAdresse <= clFicheAdresse +sinon +clTabAdresse est un PTableAdresse <- PTableAdresse.gNouvellePresentation(clFichePersonne. +m_nIDAdressePrincipale) +si clTabAdresse.p_nTotal>=1 alors +clFicheAdresse = allouer un PFicheAdresse(clTabAdresse.m_clTabModele[1],*) +sinon +clFicheAdresse = PFicheAdresse.gNouvellePresentation() +fin +clFichePersonne:FicheAdresse = clFicheAdresse +fin +Méthode gFicheClient +// Résumé : +// Syntaxe : +//gFicheClient ( est PFichePersonne dynamique [, est PFicheClient +dynamique [, est entier sur 8 octets [, est booléen [, est +chaîne]]]]) +// +// Paramètres : +// clFichePersonne (PFichePersonne dynamique) : +// clFicheClient (PFicheClient dynamique - valeur par défaut=0) : < +indiquez ici le rôle de clFicheClient> +// nIdClient (entier sur 8 octets - valeur par défaut=-1) : +// bAvecContact (booléen - valeur par défaut=0) : +// sNomClient (chaîne ANSI - valeur par défaut="") : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale gFicheClient(clFichePersonne est un PFichePersonne dynamique,clFicheClient +est un PFicheClient dynamique=Null,local nIdClient est un entier sur 8 octets=-1,local bAvecContact est +un booléen=Faux,local sNomClient est une chaîne="") +clTabClient est un PTableClient dynamique +si clFicheClient<>Null alors +si nIdClient<>-1 alors +clTabClient <- PTableClient.gNouvellePresentation(1,nIdClient) +sinon si sNomClient<>"" _et_ (clFichePersonne:FicheClient:m_nPKID=0 _ou_ clFichePersonne: +FicheClient:m_sNom<>sNomClient ) alors +clTabClient <- PTableClient.gNouvellePresentation(1,-1,sNomClient) +06/08/2026 Isis_BO 5623 + +Partie 6 › Classe › PFichePersonne › Code +fin +si clTabClient<>Null _et_ clTabClient.p_nTotal>=1 alors +clFicheClient = allouer un PFicheClient(clTabClient.m_clTabModele[1],*) +DemandeMiseAJourIHM() +fin +si clFicheClient<>Null alors +clFichePersonne:FicheClient = clFicheClient +clFichePersonne:m_nIDClient = clFicheClient:IdentifiantUnique +fin +//bAuMoinsUnAjout est un booléen +//En commentaire car il faut reprendre le code : parcourir l'ensemble des interventions du dossier +et regarder pour +chacunes d'entres-elles si elle possède des contacts clients +//SuppressionContactClientSiBesoin(clFicheIntervention,bAuMoinsUnAjout) +si clTabClient=Null alors +DemandeMiseAJourIHM() +fin +sinon +//clFicheDossier.IdentifiantUnique=0 ? 1 SINON 4,clFicheDossier.IdentifiantUnique=0 ? nIdClient +SINON clFicheDossier.IdentifiantUnique +clTabClient <- PTableClient.gNouvellePresentation(1,clFichePersonne.m_nIDClient) +si clTabClient.p_nTotal>=1 alors +clFicheClient = allouer un PFicheClient(clTabClient.m_clTabModele[1],*) +sinon +clFicheClient = PFicheClient.gNouvellePresentation() +fin +clFichePersonne:FicheClient = clFicheClient +clFichePersonne:m_nIDClient = clFicheClient:IdentifiantUnique +fin +si bAvecContact alors +//Recherche des contacts du client +PFicheClient.gListeContacts(clFicheClient) +fin +Méthode gListeIntervention +// Résumé : +// Syntaxe : +//gListeIntervention ( est PFichePersonne) +// +// Paramètres : +// clPresentation (PFichePersonne) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale gListeIntervention(clPresentation est un PFichePersonne) +clPresentation:m_clListeIntervention = PTableIntervention.gNouvellePresentation(3,clPresentation: +IdentifiantUnique) +Méthode gListeLieu +// Résumé : +// Syntaxe : +//[ = ] gListeLieu ( est PFichePersonne [, est objet dynamique [, + est entier sur 8 octets [, est chaîne]]]) +06/08/2026 Isis_BO 5624 + +Partie 6 › Classe › PFichePersonne › Code +// +// Paramètres : +// clPresentation (PFichePersonne) : +// pclLieu (objet dynamique - valeur par défaut=0) : +// nIdLieu (entier sur 8 octets - valeur par défaut=-1) : +// sCodeLieu (chaîne ANSI - valeur par défaut="") : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale gListeLieu(clPresentation est un PFichePersonne,pclLieu est un objet +dynamique=Null,local nIdLieu est un entier sur 8 octets=-1,local sCodeLieu est une chaîne="") +bAuMoinsUnAjout est un booléen = Faux +//Une liste de contact existe +si pclLieu<>Null alors +si pclLieu est PFicheLieu _ou_ pclLieu est MLieu alors +bAuMoinsUnAjout = TraiteUnLieu(clPresentation,pclLieu) +sinon si pclLieu est PTableLieu alors +//Boucle sur l'ensemble des contacts du client +pour i = 1 _à_ pclLieu.m_clTabModele.Occurrence() +//Le contact est séléctionné +si pclLieu.m_clTabModele[i].m_bSelection alors +bAuMoinsUnAjout = TraiteUnLieu(clPresentation,pclLieu.m_clTabModele[i]) +fin +fin +sinon si pclLieu est PTableLieu_Personne alors +clPresentation.m_clListeLieu <- pclLieu +bAuMoinsUnAjout = Vrai +fin +//::SuppressionContactClientSiBesoin(clPresentation,bAuMoinsUnAjout) +si bAuMoinsUnAjout alors +DemandeMiseAJourIHM() +fin +//clPresentation.m_clListeContactClient:Nouveau = clListeLot +sinon si nIdLieu<>-1 _ou_ sCodeLieu<>"" alors +clTabLieu est un PTableLieu dynamique +clTabLieu <- PTableLieu.gNouvellePresentation(0,nIdLieu,sCodeLieu) +si clTabLieu<>Null _et_ clTabLieu.p_nTotal>=1 alors +bAuMoinsUnAjout = gListeLieu(clPresentation,clTabLieu.m_clTabModele[1]) +fin +sinon +nCpt est un entier +si clPresentation.ListeLieu<>Null alors +nCpt = clPresentation.ListeLieu.p_nTotal +fin +clPresentation.m_clListeLieu=PTableLieu_Personne.gNouvellePresentation(2,clPresentation. +IdentifiantUnique) +si nCpt0 _et_ clFicheLP:m_nIDLieu>0 _et_ clFicheLP.bOK(clErreur) alors +//clFicheLP.bOK(clErreur,Vrai,Vrai) +//Enregistre l'ajout +renvoyer clFichePersonne.bOK(clErreur)//clFichePersonne.bOK(clErreur,Vrai,Vrai) +sinon +si clFicheLP:m_nIDPersonne=0 _ou_ clFicheLP:m_nIDLieu=0 alors +clFicheLP.AppelProcValidation(2) +fin +renvoyer clErreur.p_bOk +fin +sinon +//MAJ de l'objet +//clFicheLieu.ListeContact.m_clTabModele[nIndice] +<= pclMPersonne est PFichePersonne ? pclMPersonne.p_clCourant SINON pclMPersonne +renvoyer Faux +fin +fin +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MPersonne() +clPresentation est un PFichePersonne(clModele,pValidation) +clPresentation:FicheAdresse = PFicheAdresse.gNouvellePresentation() +renvoyer clPresentation +06/08/2026 Isis_BO 5626 + +Partie 6 › Classe › MClient › Code +MClient +Code +Déclaration de MClient +MClient est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +| m_sNom | est une chaîne ANSI | | | | +| ----------- | -------------------------- | --- | --------------------- | --- | +| m_nIDType | est un entier sur 8 octets | | | | +| m_nIDStatut | est un entier sur 8 octets | | | | +m_nIDAdressePrincipale est un entier sur 8 octets +| m_sTel | est une chaîne ANSI | | | | +| ---------------- | ------------------- | -------------------------- | --------------------- | --- | +| m_sFax | est une chaîne ANSI | | | | +| m_sIDImport | est une chaîne ANSI | | | | +| m_sCodeComptable | est une chaîne | | | | +| m_sEmail | est une chaîne | | | | +m_nIDContactPrincipalest un entier sur 8 octets +m_nIDLieuPrincipal est un entier sur 8 octets +m_nIDApporteur est un entier sur 8 octets +m_nIDOrigine est un entier sur 8 octets +| m_sCodeClient | est une chaîne ANSI | | | | +| ----------------- | ------------------- | --------------------------- | ----------------------- | --- | +| m_bBlocageCciale | est un booléen | | | | +| m_sRaisonBlocage | est une chaîne | | | | +| m_sFormeJuridique | est une chaîne | | | | +m_nIDModeReglement est un entier sur 8 octets +| m_sInfoSup | est une chaîne ANSI | | | | +| ---------- | ------------------- | ------------------ | -------------------- | --- | +| m_sPays | est une chaîne ANSI | | | | +| m_sCodeTVA | est une chaîne | | | | +| m_sSIREN | est une chaîne | | | | +| m_sSIRET | est une chaîne | | | | + +//************************************************************************************************* +************* +// Membres NON liés aux rubriques du fichier Lieu +//************************************************************************************************* +************* +// VARIABLE DE TYPE SIMPLE +| m_bClientPrincipalSite | est un booléen | | | | +| ---------------------- | ------------------------- | --- | --- | --- | +| m_bSelection | est un booléen | | | | +| //m_clClientBddExterne | est un MClient_BddExterne | | | | +// Utilisé pour mémoriser l'Identifiant de la fiche client dans une base externe +fin +Méthode bControle +// Résumé : +// Syntaxe : +//[ = ] bControle ( est CErreur, est booléen) +// +// Paramètres : +// clErreur (CErreur) : +| 06/08/2026 | | Isis_BO | | 5627 | +| ---------- | --- | ------- | --- | ---- | + +Partie 6 › Classe › MClient › Code +// bSupprime (booléen) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// bAjout (booléen) : +procédure bControle(clErreur est un CErreur,local bSupprime est un booléen) +//clErreur est un CErreur,LOCAL bAjout est un booléen,LOCAL bSupprime est un booléen +bResultat est un booléen=Vrai +tabListeErr est un tableau de chaînes +quand exception dans +si pas bSupprime alors +si SansEspace(:m_sNom)="" alors Ajoute(tabListeErr, +"Veuillez renseigner le nom du client") +//SI SansEspace(:m_nIDType)=0 ALORS +ajoute(tabListeErr,"Veuillez indiquer de quel type est le client") +//SI SansEspace(:m_nIDStatut)=0 ALORS +Ajoute(tabListeErr,"Veuillez indiquer le statut du client") +sinon +sdCtrlDossier est une Source de Données +si HExécuteRequêteSQL(sdCtrlDossier,hRequêteDéfaut,ChaîneConstruit( +"SELECT COUNT(*) AS NB FROM Dossier WHERE Dossier.DO_IDClient=%1 HAVING COUNT(*)>0",:m_nPKID)) +alors +si HNbEnr(sdCtrlDossier)>0 alors +Ajoute(tabListeErr,ChaîneConstruit("Ce client est utilisé dans %1 dossier%2", +sdCtrlDossier.NB,sdCtrlDossier.NB>1 ? "s" sinon "")) +fin +fin +HLibèreRequête(sdCtrlDossier) +fin +si tabListeErr..Occurrence>0 alors +goto ERREURFONCTIONNELLE +sinon +goto SORTIE +fin +ERREURFONCTIONNELLE : +clErreur.Init(CErreur.Fonctionnelle,tabListeErr) +bResultat = Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +bResultat = Faux +fin +SORTIE : +renvoyer bResultat +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété ClientPrincipalSite +procédure publique ClientPrincipalSite() : booléen +renvoyer m_bClientPrincipalSite +Affectation de la propriété ClientPrincipalSite +06/08/2026 Isis_BO 5628 + +Partie 6 › Classe › MClient › Code +procédure publique ClientPrincipalSite(bValeur est un booléen) +m_bClientPrincipalSite=bValeur +Récupération de la propriété CodeEtNomClient +procédure publique CodeEtNomClient() +renvoyer m_sCodeClient<>"" ? m_sCodeClient+" - "+m_sNom sinon m_sNom +Récupération de la propriété estClientParticulier +procédure publique estClientParticulier() +bResultat est un booléen +//HSauvePosition(ParametreMetier,PA_PKID) +si HLitRecherchePremier(ParametreMetier,PA_PKID,:m_nIDType) alors +si ParametreMetier.PA_Valeur="2" alors +bResultat = Vrai +sinon +bResultat = Faux +fin +sinon +bResultat = Faux +fin +HAnnuleRecherche(ParametreMetier,PA_PKID) +renvoyer bResultat +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété ImageClientPrincipalSite +procédure publique ImageClientPrincipalSite() +si ClientPrincipalSite alors +renvoyer "etoile_verte.png" +sinon +renvoyer "etoile_verte_vide.png" +fin +Récupération de la propriété InfoOnglet +procédure publique InfoOnglet() : chaîne +renvoyer m_sNom +06/08/2026 Isis_BO 5629 + +Partie 6 › Classe › PFicheClient › Code +PFicheClient +Code +Déclaration de PFicheClient +PFicheClient est une Classe +protégé +| m_clModeleCourant | est un MClient | | | | | +| ------------------ | ----------------------- | --- | --- | --- | --- | +// modèle associé à la présentation +| m_clModeleSource est un MClient dynamique | | | | | | +| ------------------------------------------ | --- | --- | --- | --- | --- | +// référence sur le modèle d'origine +| m_bufModeleSource | est un Buffer | | | | | +| ------------------ | ----------------- | --- | --- | --- | --- | +| m_pValidation | est une procédure | | | | | +// procédure à appeler lors de la validation +| m_clTableauContact | est un PTablePersonne dynamique | | | | | +| ------------------ | ------------------------------- | --- | --- | --- | --- | +// liste des contacts du client +| m_clTableauAdresse | est un PTableClient_Adresse | | dynamique | | | +| ------------------- | --------------------------- | --- | --------- | --- | --- | +// liste des adresses du client +| m_clTableauLieu | est un PTableLieu dynamique | | | | | +| --------------- | ----------------------------------- | --- | --- | --- | --- | +// Liste des Lieux du client +m_cTableauClientLieu est un PTableClient_Lieu dynamique // Liste des Client_lieux +| m_clFicheLieu | est un PFicheLieu dynamique | | | // fiche lieu | | +| ----------------------------------------------- | --------------------------- | --- | --- | ------------- | --- | +| m_clListeDossier est un PTableDossier dynamique | | | | | | +// Liste des dossiers rattachés aux clients +| //m_clClientExt | est un MClient_Ext dynamique | | | | | +| --------------- | ---------------------------- | --- | --- | --- | --- | +// Utilisé pour mémoriser l'Identifiant de la fiche client dans une base externe +m_clFicheClientBddExtest un PFicheClient_BddExterne dynamique +fin +Méthode AjouteCoordonnees +// Résumé : +// Syntaxe : +// AjouteCoordonnees () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AjouteCoordonnees() +:ListeAdresse:Nouveau(Vrai,:IdentifiantUnique) +Méthode bControle +// Redéfinition de la méthode MClient.bControle +procédure bControle(clErreur est un CErreur,local bSupprime est un booléen) +bResultat est un booléen=Vrai +| 06/08/2026 | | Isis_BO | | | 5630 | +| ---------- | --- | ------- | --- | --- | ---- | + +Partie 6 › Classe › PFicheClient › Code +tabListeErr est un tableau de chaînes +quand exception dans +si pas bSupprime alors +sinon +fin +//Appel de la méthode ancêtre pour les contrôles de bas niveau +bResultat =m_clModeleCourant:MClient.bControle(clErreur,bSupprime) +si tabListeErr..Occurrence>0 alors +goto ERREURFONCTIONNELLE +sinon +goto SORTIE +fin +ERREURFONCTIONNELLE : +clErreur.Init(CErreur.Fonctionnelle,tabListeErr) +bResultat = Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +bResultat = Faux +fin +SORTIE : +renvoyer bResultat +Méthode bOK +procédure bOK(clErreur est un CErreur) +//,LOCAL bAvecTransaction est un booléen,LOCAL bMajCourant est un booléen +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +//Débute une transaction sur les fichiers +// SI bAvecTransaction ALORS HTransactionDébut(gcnxBO,"Client,Personne,Adresse") +//Contôle des données Client, Contact et Adresse +:FicheEncours:bControle(clErreur,Faux) +//Contôle des données Adresse +// POUR i = 1 _A_ :ListeAdresse:m_clTabModele..Occurrence +// clFicheClientAdresse est un PFicheClient_Adresse(:ListeAdresse:m_clTabModele[i]) +// clFicheClientAdresse:FicheEnCours:bControle(clErreur,Faux) +// FIN +//Contôle des données Contact +// POUR i = 1 _A_ :ListeContact:m_clTabModele..Occurrence +// clFicheContact est un PFichePersonne(:ListeContact:m_clTabModele[i]) +// clFicheContact:FicheEnCours:bControle(clErreur,Faux) +// FIN +si pas clErreur.p_bOk alors goto ERREURTRANSAC +//************************************************** +//Traitement des données Client +//************************************************** +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +06/08/2026 Isis_BO 5631 + +Partie 6 › Classe › PFicheClient › Code +// effectue les modifications dans le fichier et en cas d'erreur annule la transaction +si pas :m_clModeleCourant:bEnregistrer(clErreur) alors +goto ERREURTRANSAC +//************************************************** +//Traitement des données Contacts du Client +//************************************************** +//Boucle sur l'ensemble des contacts du client +pour i = 1 _à_ :ListeContact:m_clTabModele..Occurrence +//Instanciation d'une fiche contact à partir de l'enregistrement du tableau des contacts +clFicheContact est un PFichePersonne(:ListeContact:m_clTabModele[i]) +//Affectation de l'identifiant du client au contact +clFicheContact:m_nIDClient = :FicheEncours:m_nPKID +// effectue la modification dans le fichier et en cas d'erreur annule la transaction +si pas clFicheContact:bOK(clErreur) alors +goto ERREURTRANSAC//PAS clFicheContact:bOK(clErreur,Faux,Vrai) +fin +//************************************************** +//Traitement des données Adresses du Client +//************************************************** +pour i = 1 _à_ :ListeAdresse:m_clTabModele..Occurrence +//Instanciation d'une fiche client_adresse à partir de l'enregistrement du tableau des adresses +clFicheClientAdresse est un PFicheClient_Adresse(:ListeAdresse:m_clTabModele[i]) +// # Il faudra comprendre pourquoi il y a une adresse que s'enregistre vide avec type d'adresse +Id de type dossier +bContinuer est un booléen = Vrai +si clFicheClientAdresse:m_nIDTypeAdresse > 0 alors +sLib est une chaîne ANSI = gpclListeTypeAdresse.RechercheEtDonneLibelleDepuisID( +clFicheClientAdresse:m_nIDTypeAdresse ) +si sLib = "" alors +bContinuer = Faux +//Affectation de l'identifiant du client au client adresse +clFicheClientAdresse:m_nIDClient = :m_nPKID +si clFicheClientAdresse:bOK(clErreur) alors +si i=1 alors +:m_nIDAdressePrincipale=clFicheClientAdresse:m_clAdresse:m_nPKID +fin +fin +fin +fin +si bContinuer alors +//Affectation de l'identifiant du client au client adresse +clFicheClientAdresse:m_nIDClient = :m_nPKID +si pas clFicheClientAdresse:bOK(clErreur) alors +goto ERREURTRANSAC//PAS clFicheClientAdresse:bOK(clErreur,Faux,Vrai) +si i=1 alors +:m_nIDAdressePrincipale=clFicheClientAdresse:m_clAdresse:m_nPKID +fin +fin +fin +si FicheClientBddExterne<>Null _et_ FicheClientBddExterne:m_nIDCLient>0 alors +fin +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +06/08/2026 Isis_BO 5632 + +Partie 6 › Classe › PFicheClient › Code +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +// SI bMajCourant ALORS +// m_clModeleCourant <= m_clModeleSource +// FIN +//Termine la transaction +// SI bAvecTransaction ALORS HTransactionFin(gcnxBO) +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURTRANSAC : +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MClient dynamique, pValidation est une procédure=Null) +si clModele.m_nIDType=0 alors clModele.m_nIDType = gpclListeTypeClient.RechercheEtDonneIdDepuisValeur(0 +) +si clModele.m_nIDStatut=0 alors clModele.m_nIDStatut= gpclListeStatutClient. +RechercheEtDonneIdDepuisValeur(0) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Méthode DupliqueCoordonneesEnSite +// Résumé : +// Syntaxe : +06/08/2026 Isis_BO 5633 + +Partie 6 › Classe › PFicheClient › Code +// DupliqueCoordonneesEnSite () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DupliqueCoordonneesEnSite() +clErreur est un CErreur +pclFicheLieu est un PFicheLieu dynamique = PFicheLieu.gNouvellePresentation() +pclFicheLieu:m_sCodeLieu = :m_sNom+" - "+:m_sCodeClient+" - "+ NumériqueVersChaîne(: +ListeLieu:p_nTotal+1) +pclFicheLieu:m_clAdresse:m_sLigne_1 = :ListeAdresse:p_clCourant:m_clAdresse:m_sLigne_1 +pclFicheLieu:m_clAdresse:m_sLigne_2 = :ListeAdresse:p_clCourant:m_clAdresse:m_sLigne_2 +pclFicheLieu:m_clAdresse:m_sLigne_3 = :ListeAdresse:p_clCourant:m_clAdresse:m_sLigne_3 +pclFicheLieu:m_clAdresse:m_sLigne_4 = :ListeAdresse:p_clCourant:m_clAdresse:m_sLigne_4 +pclFicheLieu:m_clAdresse:m_sLigne_5 = :ListeAdresse:p_clCourant:m_clAdresse:m_sLigne_5 +pclFicheLieu:m_clAdresse:m_sCodePostal = :ListeAdresse:p_clCourant:m_clAdresse:m_sCodePostal +pclFicheLieu:m_clAdresse:m_sVille = :ListeAdresse:p_clCourant:m_clAdresse:m_sVille +si pclFicheLieu:bOK(clErreur) alors +PFicheClient.gListeLieu(MoiMême,pclFicheLieu) +fin +Récupération de la propriété FicheClientBddExterne +procédure publique FicheClientBddExterne() : PFicheClient_BddExterne +renvoyer m_clFicheClientBddExt +Affectation de la propriété FicheClientBddExterne +procédure publique FicheClientBddExterne(clValeur est PFicheClient_BddExterne dynamique) +m_clFicheClientBddExt<-clValeur +Récupération de la propriété FicheEncours +procédure publique FicheEncours() : MClient +renvoyer m_clModeleCourant +Affectation de la propriété FicheEncours +procédure publique FicheEncours(clValeur est MClient) +m_clModeleCourant=clValeur +Récupération de la propriété FicheLieu +procédure publique FicheLieu() : PFicheLieu +renvoyer m_clFicheLieu +Affectation de la propriété FicheLieu +procédure publique FicheLieu(clValeur est PFicheLieu dynamique) +m_clFicheLieu=clValeur +Récupération de la propriété ListeAdresse +06/08/2026 Isis_BO 5634 + +Partie 6 › Classe › PFicheClient › Code +procédure publique ListeAdresse() : PTableClient_Adresse +renvoyer m_clTableauAdresse +Affectation de la propriété ListeAdresse +procédure publique ListeAdresse(clValeur est PTableClient_Adresse) +m_clTableauAdresse=clValeur +Récupération de la propriété ListeClient_Lieu +procédure publique ListeClient_Lieu() : PTableClient_Lieu +renvoyer m_cTableauClientLieu +Affectation de la propriété ListeClient_Lieu +procédure publique ListeClient_Lieu(clValeur est PTableClient_Lieu) +m_cTableauClientLieu=clValeur +Récupération de la propriété ListeContact +procédure publique ListeContact() : PTablePersonne +renvoyer m_clTableauContact +Affectation de la propriété ListeContact +procédure publique ListeContact(clValeur est PTablePersonne dynamique) +m_clTableauContact=clValeur +Récupération de la propriété ListeDossier +procédure publique ListeDossier() : PTableDossier +renvoyer m_clListeDossier +Affectation de la propriété ListeDossier +procédure publique ListeDossier(clValeur est PTableDossier) +m_clListeDossier=clValeur +Récupération de la propriété ListeLieu +procédure publique ListeLieu() : PTableClient_Lieu +renvoyer m_cTableauClientLieu//m_clTableauLieu +Affectation de la propriété ListeLieu +procédure publique ListeLieu(clValeur est PTableClient_Lieu dynamique) +m_cTableauClientLieu = clValeur//m_clTableauLieu=clValeur +Récupération de la propriété p_AdressePrincipale +procédure publique p_AdressePrincipale() +si :m_clTableauAdresse<>Null _et_ :m_clTableauAdresse:m_clTabModele <> Null alors +06/08/2026 Isis_BO 5635 + +Partie 6 › Classe › PFicheClient › Code +n est un entier = TableauCherche(:m_clTableauAdresse:m_clTabModele,tcLinéaire,"m_nIDAdresse",:m_n +IDAdressePrincipale) +si n=-1 alors +renvoyer "" +sinon +renvoyer :m_clTableauAdresse:m_clTabModele[n]:m_clAdresse:m_sPresentation +fin +sinon +renvoyer "" +fin +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MClient +renvoyer m_clModeleCourant +Méthode gFicheClientBddExterne +// Résumé : +// Syntaxe : +//gFicheClientBddExterne ( est PFicheClient dynamique, est entier sur 8 +octets [, est PFicheClient_BddExterne dynamique]) +// +// Paramètres : +// pclFicheClient (PFicheClient dynamique) : +// nIdBddExterne (entier sur 8 octets) : +// pclFicheClientBddExterne (PFicheClient_BddExterne dynamique - valeur par défaut=0) : < +indiquez ici le rôle de clFicheAdresse> +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale gFicheClientBddExterne(pclFicheClient est un PFicheClient dynamique,local +nIdBddExterne est un entier sur 8 octets,pclFicheClientBddExterne est un PFicheClient_BddExterne +dynamique=Null) +si pclFicheClientBddExterne<>Null alors +pclFicheClient:FicheClientBddExterne = pclFicheClientBddExterne +// pclFicheClient:FicheEnCours:m_clClientBddExterne <= pclFicheClientBddExterne +sinon +clTabClientBddExt est un PTableClient_BddExterne <- PTableClient_BddExterne.gNouvellePresentation(0 +,nIdBddExterne,pclFicheClient.m_nPKID) +si clTabClientBddExt.p_nTotal>=1 alors +pclFicheClientBddExterne = allouer un PFicheClient_BddExterne(clTabClientBddExt.m_clTabModele[1 +],*) +sinon +pclFicheClientBddExterne = PFicheClient_BddExterne.gNouvellePresentation() +pclFicheClientBddExterne:m_nIDBddExterne = nIdBddExterne +pclFicheClientBddExterne:m_nIDCLient = pclFicheClient:m_nPKID +fin +pclFicheClient:FicheClientBddExterne = pclFicheClientBddExterne +// pclFicheClient:FicheEnCours:m_clClientBddExterne <= pclFicheClientBddExterne +fin +Méthode gFicheLieu +06/08/2026 Isis_BO 5636 + +Partie 6 › Classe › PFicheClient › Code +// Résumé : +procédure publique globale gFicheLieu(clFicheClient est un PFicheClient dynamique,clFicheLieu est un +PFicheLieu dynamique=Null,local nIdLieu est un entier sur 8 octets=-1,local bAvecContact est un booléen +=Faux,local sCodeLieu est une chaîne="",local bAvecLot est un booléen=Faux) +clTabLieu est un PTableLieu dynamique +si clFicheLieu<>Null alors +si nIdLieu<>-1 alors +clTabLieu <- PTableLieu.gNouvellePresentation(0,nIdLieu) +sinon si sCodeLieu<>"" alors +clTabLieu <- PTableLieu.gNouvellePresentation(0,-1,sCodeLieu) +fin +si clTabLieu<>Null _et_ clTabLieu.p_nTotal>=1 alors +clFicheLieu = allouer un PFicheLieu(clTabLieu.m_clTabModele[1]) +DemandeMiseAJourIHM() +fin +clFicheClient:FicheLieu = clFicheLieu +si clFicheClient:FicheLieu.m_nPKID>0 alors +//Création d'une nouvelle fiche Client_Lieu +pclFicheClient_Lieu est un PFicheClient_Lieu dynamique<-clFicheClient:ListeLieu:Nouveau(Vrai, +clFicheClient:IdentifiantUnique) +pclFicheClient_Lieu:p_clCourant.m_nIDLieu=nIdLieu +//Validation en mémoire de la nouvelle fiche Lot +pclFicheClient_Lieu.AppelProcValidation() +clErreur est un CErreur +pclFicheClient_Lieu.bOK(clErreur)//pclFicheClient_Lieu.bOK(clErreur,Vrai,Vrai) +PFicheClient.gListeLieu(clFicheClient) +//gclPresenListClient_Lieu <- clFicheClient.ListeClient_Lieu +fin +si clTabLieu=Null alors +DemandeMiseAJourIHM() +fin +sinon +clTabLieu <- PTableLieu.gNouvellePresentation(clFicheClient.IdentifiantUnique=0 ? 0 sinon 2, +clFicheClient.IdentifiantUnique=0 ? nIdLieu sinon clFicheClient.IdentifiantUnique) +si clTabLieu.p_nTotal>=1 alors +clFicheLieu = allouer un PFicheLieu(clTabLieu.m_clTabModele[1],*) +sinon +clFicheLieu = PFicheLieu.gNouvellePresentation() +fin +clFicheClient:FicheLieu = clFicheLieu +fin +si bAvecContact alors +//Recherche des contacts du lieu +PFicheLieu.gListeContact(clFicheLieu) +fin +si bAvecLot alors +PFicheLieu.gListeLot(clFicheLieu) +fin +Méthode gListeAdresses +// Résumé : Méthode qui permet d'obtenir la liste des adresses d'un client +06/08/2026 Isis_BO 5637 + +Partie 6 › Classe › PFicheClient › Code +// Syntaxe : +//gListeAdresses ( est PFicheClient) +// +// Paramètres : +// clPresentation (PFicheClient) : Objet présentation instancié de la fiche client +// Valeur de retour : +// Aucune +procédure publique globale gListeAdresses(clPresentation est un PFicheClient) +clPresentation.m_clTableauAdresse = PTableClient_Adresse.gNouvellePresentation(clPresentation. +IdentifiantUnique) +Méthode gListeContacts +// Résumé : Méthode qui permet d'obtenir la liste des contacts d'un client +// Syntaxe : +//gListeContacts ( est PFicheClient [, est objet dynamique [, + est entier sur 8 octets [, est chaîne]]]) +// +// Paramètres : +// clPresentation (PFicheClient) : Objet présentation instancié de la fiche client +// pclPersonne (objet dynamique - valeur par défaut=0) : +// nIdPersonne (entier sur 8 octets - valeur par défaut=-1) : +// sNomPersonne (chaîne ANSI - valeur par défaut="") : +// Valeur de retour : +// Aucune +procédure publique globale gListeContacts(clPresentation est un PFicheClient,pclPersonne est un objet +dynamique=Null,local nIdPersonne est un entier sur 8 octets=-1,local sNomPersonne est une chaîne="") +//Une liste de contact existe +si pclPersonne<>Null alors +bAuMoinsUnAjout est un booléen = Faux +si pclPersonne est PFichePersonne _ou_ pclPersonne est MPersonne alors +bAuMoinsUnAjout = TraiteUnContact(clPresentation,pclPersonne) +sinon si pclPersonne est PTablePersonne alors +//Boucle sur l'ensemble des contacts du client +pour i = 1 _à_ pclPersonne.m_clTabModele.Occurrence() +//Le contact est séléctionné +si pclPersonne.m_clTabModele[i].m_bSelection alors +bAuMoinsUnAjout = TraiteUnContact(clPresentation,pclPersonne.m_clTabModele[i]) +fin +fin +fin +//::SuppressionContactClientSiBesoin(clPresentation,bAuMoinsUnAjout) +si bAuMoinsUnAjout alors +DemandeMiseAJourIHM() +fin +//clPresentation.m_clListeContactClient:Nouveau = clListeLot +sinon si nIdPersonne<>-1 _ou_ sNomPersonne<>"" alors +clTabPersonne est un PTablePersonne dynamique +clTabPersonne <- PTablePersonne.gNouvellePresentation(0,-1,-1,nIdPersonne,sNomPersonne) +si clTabPersonne<>Null _et_ clTabPersonne.p_nTotal>=1 alors +::gListeContacts(clPresentation,clTabPersonne.m_clTabModele[1]) +fin +sinon +//Si le client n'est pas connu il faut exclure les contacts avec un id client à zéro (deuxième +paramètre) +06/08/2026 Isis_BO 5638 + +Partie 6 › Classe › PFicheClient › Code +clPresentation.m_clTableauContact = PTablePersonne.gNouvellePresentation(0,clPresentation. +IdentifiantUnique,clPresentation.IdentifiantUnique=0 ? 0 sinon -1,-1) +fin +procédure interne TraiteUnContact(clFicheClient est un PFicheClient,pclMPersonne est un objet +dynamique) +//Retourne l'indice du contact dans le tableau des contacts client de l'intervention +nIndice est un entier = TableauCherche(clFicheClient.ListeContact.m_clTabModele,tcLinéaire, +"m_nPKID",pclMPersonne.m_nPKID,1) +//Le contact n'est pas présent dans le tableau des contacts client +si nIndice=-1 alors +clErreur est un CErreur +//Variable de type d'une fiche contact client +clPresentationFiche est un PFichePersonne(pclMPersonne est PFichePersonne ? pclMPersonne. +p_clCourant sinon pclMPersonne) +//Création d'une instanciation d'une fiche contact client d'une intervention +clPresentationFiche.m_nIDClient= clFicheClient:IdentifiantUnique +//<- clFicheClient.ListeContact.Nouveau(Vrai,clFicheClient:IdentifiantUnique) +//Enregistre l'ajout +renvoyer clPresentationFiche.bOK(clErreur)//clPresentationFiche.bOK(clErreur,Vrai,Vrai) +sinon +renvoyer Faux +fin +fin +Méthode gListeDossier +// Résumé : +// Syntaxe : +//gListeDossier ( est PFicheClient) +// +// Paramètres : +// clPresentation (PFicheClient) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale gListeDossier(clPresentation est un PFicheClient) +clPresentation.m_clListeDossier = PTableDossier.gNouvellePresentation(1,clPresentation. +IdentifiantUnique) +Méthode gListeLieu +// Résumé : +procédure publique globale gListeLieu(clPresentation est un PFicheClient,pclLieu est un objet dynamique +=Null,local nIdLieu est un entier sur 8 octets=-1,local sCodeLieu est une chaîne="") +bAuMoinsUnAjout est un booléen +si pclLieu<>Null alors +bAuMoinsUnAjout = Faux +si pclLieu est PFicheLieu _ou_ pclLieu est MLieu alors +bAuMoinsUnAjout = TraiteUnLieu(clPresentation,pclLieu) +sinon si pclLieu est PTableLieu alors +//Boucle sur l'ensemble des lieux +pour i = 1 _à_ pclLieu.m_clTabModele.Occurrence() +//Le lieu est séléctionné +si pclLieu.m_clTabModele[i].m_bSelection alors +bAuMoinsUnAjout = TraiteUnLieu(clPresentation,pclLieu.m_clTabModele[i]) +06/08/2026 Isis_BO 5639 + +Partie 6 › Classe › PFicheClient › Code +fin +fin +fin +si bAuMoinsUnAjout alors +DemandeMiseAJourIHM() +fin +sinon si nIdLieu<>-1 _ou_ sCodeLieu<>"" alors +clTabLieu est un PTableLieu dynamique +clTabLieu <- PTableLieu.gNouvellePresentation(0,nIdLieu,sCodeLieu) +si clTabLieu<>Null _et_ clTabLieu.p_nTotal>=1 alors +bAuMoinsUnAjout = ::gListeLieu(clPresentation,clTabLieu.m_clTabModele[1]) +fin +sinon +nCpt est un entier +si clPresentation.ListeLieu<>Null alors +nCpt = clPresentation.Listelieu.p_nTotal +fin +clPresentation.m_cTableauClientLieu = PTableClient_Lieu.gNouvellePresentation(clPresentation. +IdentifiantUnique) +si nCpt +procédure publique globale gListeLieux(clPresentation est un PFicheClient) +//clPresentation.m_clTableauLieu = PTableLieu.gNouvellePresentation(1,clPresentation.IdentifiantUnique) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MClient() +clPresentation est un PFicheClient(clModele,pValidation) +renvoyer clPresentation +Méthode MajUI +// Résumé : +// Syntaxe : +// MajUI () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure MajUI() +DemandeMiseAJourUI() +Méthode ModifieCoordonnees +// Résumé : +// Syntaxe : +// ModifieCoordonnees () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ModifieCoordonnees() +06/08/2026 Isis_BO 5641 + +Partie 6 › Classe › PFicheClient › Code +:ListeAdresse:Modifier() +DemandeMiseAJourUI() +| 06/08/2026 | Isis_BO | 5642 | +| ---------- | ------- | ---- | + +Partie 6 › Classe › MTableauDeClient › Code +MTableauDeClient +Code +Déclaration de MTableauDeClient +MTableauDeClient est une Classe +public +m_clTabModele est un tableau de MClient dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MClient dynamique) +nIndice est un entier +// ajoute l'instance du modèle dans le tableau en mémoire +nIndice = TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +renvoyer nIndice +Méthode bSupprimer +procédure bSupprimer(clModele est un MClient dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 5643 + +Partie 6 › Classe › MTableauDeClient › Code +// +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT Client.* +FROM Client +WHERE Client.CL_PKID={p_IdClient} +AND Client.CL_Nom LIKE {p_nomClient} +] +reqSQL.p_IdClient = MesParamètres..Occurrence>=1 ? MesParamètres[1] sinon Null +//nIdClient=-1 ? Null SINON nIdClient +reqSQL.p_nomClient = MesParamètres..Occurrence>=2 ? MesParamètres[2] sinon Null +//sNomClient=""? Null SINON sNomClient+"%" +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MClient +clModele.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerClientDossier +// Résumé : +// Syntaxe : +//ChargerClientDossier ( est entier sur 8 octets) +// +// Paramètres : +// nIdDossier (entier sur 8 octets) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargerClientDossier(local nIdDossier est un entier sur 8 octets) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT Client.* +FROM Client +INNER JOIN Dossier ON (Dossier.DO_IDClient=Client.CL_PKID) +WHERE Dossier.DO_PKID={p_IdDossier} +] +reqSQL.p_IdDossier = nIdDossier=-1 ? Null sinon nIdDossier +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +06/08/2026 Isis_BO 5644 + +Partie 6 › Classe › MTableauDeClient › Code +pour tout reqSQL +clModele est un MClient +clModele.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerClientieu +// Résumé : +// Syntaxe : +//ChargerClientieu ( est entier sur 8 octets) +// +// Paramètres : +// nIdLieu (entier sur 8 octets) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargerClientieu(local nIdLieu est un entier sur 8 octets) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT DISTINCT Client.*,Lieu.LI_IDClientPrincipal +FROM Client +LEFT OUTER JOIN Client_Lieu ON (Client_Lieu.CLI_IDClient=Client.CL_PKID) +LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Client_Lieu.CLI_IDLieu) +WHERE Client_Lieu.CLI_IDLieu={p_IdLieu} +] +reqSQL.p_IdLieu = nIdLieu=-1 ? Null sinon nIdLieu +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MClient +clModele.Charger(reqSQL) +clModele.m_bClientPrincipalSite = nIdLieu=-1 ? Faux sinon reqSQL.LI_IDClientPrincipal=reqSQL. +CL_PKID +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerClientIntervention +// Résumé : +// Syntaxe : +//ChargerClientIntervention ( est entier sur 8 octets) +// +// Paramètres : +// nIdIntervention (entier sur 8 octets) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +06/08/2026 Isis_BO 5645 + +Partie 6 › Classe › MTableauDeClient › Code +procédure ChargerClientIntervention(local nIdIntervention est un entier sur 8 octets) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT Client.* +FROM Client +INNER JOIN Intervention ON (Intervention.IN_IDClient=Client.CL_PKID) +WHERE Intervention.IN_PKID={p_IdIntervention} +] +reqSQL.p_IdIntervention = nIdIntervention=-1 ? Null sinon nIdIntervention +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MClient +clModele.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerUnSeulClient +procédure ChargerUnSeulClient(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT Client.* +FROM Client +WHERE Client.CL_PKID={p_IdClient} +] +reqSQL.p_IdClient = MesParamètres..Occurrence>0 _et_ MesParamètres[1]<>-1 ? MesParamètres[1] sinon Null +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MClient +clModele.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +06/08/2026 Isis_BO 5646 + +Partie 6 › Classe › MTableauDeClient › Code +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode RechercheGlobale +// Résumé : +// Syntaxe : +//RechercheGlobale ( est chaîne) +// +// Paramètres : +// sTermedeRecherche (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RechercheGlobale(local sTermedeRecherche est une chaîne) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +ReqSQL est une Requête SQL = [ +SELECT *,MATCH(Client.CL_Index_FullText) AGAINST ({p_TermedeRecherche}) AS PertinenceFulltext +FROM Client +WHERE +PertinenceFulltext >0 +ORDER BY PertinenceFulltext DESC +] +ReqSQL.p_TermedeRecherche = sTermedeRecherche+"*" +// exécution de la requête +si HExécuteRequête(ReqSQL) alors +// charge les enregistrements en mémoire +pour tout ReqSQL +clModele est un MClient +clModele.Charger(ReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +HAnnuleDéclaration(ReqSQL) +Méthode THCharger +procédure publique global THCharger(*) +//LOCAL nIdClient est un entier sur 8 octets,LOCAL sNomClient est une chaine="" +//MesParamètres[1] = callBack de mise à jour +//MesParamètres[2] = ID du Client +//MesParamètres[3] = Nom du Client +si gbThreadFinListeClientGlobal alors +ThreadFin() +fin +06/08/2026 Isis_BO 5647 + +Partie 6 › Classe › MTableauDeClient › Code +clTabDeClient est un MTableauDeClient +nCptEnreg est un entier = 500 +nIndice est un entier sur 8 octets +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT Client.* +FROM Client +WHERE Client.CL_PKID={p_IdClient} +AND Client.CL_Nom= {p_nomClient} +ORDER BY Client.CL_Nom +LIMIT {p_Indice},{p_NbEnreg} +] +reqSQL.p_IdClient = MesParamètres..Occurrence=2 _et_ MesParamètres[2]<>-1 ? MesParamètres[2] sinon +Null//nIdClient=-1 ? Null SINON nIdClient +reqSQL.p_nomClient = MesParamètres..Occurrence=3 _et_ MesParamètres[3]<>"" ? MesParamètres[3] +sinon Null //sNomClient=""? Null SINON sNomClient +reqSQL.p_Indice = nIndice +reqSQL.p_NbEnreg = nCptEnreg +// exécution de la requête +si HExécuteRequête(reqSQL) _et_ HNbEnr(reqSQL)>0 alors +boucle +//Incrément pour le prochaine tours +nIndice += (nCptEnreg+1) +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MClient +clModele.Charger(reqSQL) +TableauAjoute(clTabDeClient:m_clTabModele,clModele) +fin +si gbThreadFinListeClientGlobal alors +ThreadFin() +fin +ExécuteThreadPrincipal(MesParamètres[1],clTabDeClient) +HLibèreRequête(reqSQL) +reqSQL.p_IdClient = MesParamètres..Occurrence=2 _et_ MesParamètres[2]<>-1 ? +MesParamètres[2] sinon Null //nIdClient=-1 ? Null SINON nIdClient +reqSQL.p_nomClient = MesParamètres..Occurrence=3 _et_ MesParamètres[3]<>"" ? +MesParamètres[3] sinon Null //sNomPersonne="" ? Null SINON sNomPersonne +reqSQL.p_Indice = nIndice +reqSQL.p_NbEnreg = nCptEnreg +HExécuteRequête(reqSQL) +à faire tantque HNbEnr(reqSQL)>0 +sinon +ExécuteThreadPrincipal(MesParamètres[1],clTabDeClient) +fin +06/08/2026 Isis_BO 5648 + +Partie 6 › Classe › MClient_Adresse › Code +MClient_Adresse +Code +Déclaration de MClient_Adresse +MClient_Adresse est une Classe +//************************************************************************************************* +************* +//Le modèle MClient_Adresse hérite du modèle de base +//************************************************************************************************* +************* +hérite de MBase +//************************************************************************************************* +************* +//Membres liés aux rubriques du fichier Client_Adresse +//************************************************************************************************* +************* + +m_nPKID est un entier sur 8 octets +m_nIDAdresse est un entier sur 8 octets +m_nIDClient est un entier sur 8 octets +m_nIDTypeAdresse est un entier sur 8 octets + +//************************************************************************************************* +************* +// Membres NON liés aux rubriques du fichier Societe +//************************************************************************************************* +************* +// VARIABLE DE TYPE SIMPLE +// VARIABLE DE TYPE CLASSE +m_clClient est un MClient +m_clAdresse est un MAdresse +// VARIABLE DE TYPE TABLEAU +fin +Méthode bControle +// Résumé : +// Syntaxe : +//[ = ] bControle ( est CErreur, est booléen) +// +// Paramètres : +// clErreur (CErreur) : +// bSupprime (booléen) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +06/08/2026 Isis_BO 5649 + +Partie 6 › Classe › MClient_Adresse › Code +// bAjout (booléen) : +procédure bControle(clErreur est un CErreur,local bSupprime est un booléen) +bResultat est un booléen=Vrai +tabListeErr est un tableau de chaînes +//sZone est une chaine +quand exception dans +si pas bSupprime alors +si :m_nIDTypeAdresse=0 alors Ajoute(tabListeErr,"Veuillez renseigner le type d'adresse") +//Contrôle de l'adresse +:m_clAdresse:bControle(clErreur,bSupprime) +sinon +fin +si tabListeErr..Occurrence>0 alors +goto ERREURFONCTIONNELLE +sinon +goto SORTIE +fin +ERREURFONCTIONNELLE : +clErreur.Init(CErreur.Fonctionnelle,tabListeErr) +bResultat = Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +bResultat = Faux +fin +SORTIE : +renvoyer bResultat +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() +renvoyer "" +06/08/2026 Isis_BO 5650 + +Partie 6 › Classe › PFicheClient_Adresse › Code +PFicheClient_Adresse +Code +Déclaration de PFicheClient_Adresse +PFicheClient_Adresse est une Classe +protégé +m_clModeleCourant est un MClient_Adresse // modèle associé à la présentation +m_clModeleSource est un MClient_Adresse dynamique // référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure // procédure à appeler lors de la validation +fin +Méthode AppelProcValidation +// Résumé : +// Syntaxe : +// AppelProcValidation () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AppelProcValidation() +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleSource) +m_pValidation = Null +DemandeMiseAJourIHM() +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +//,LOCAL bAvecTransaction est un booléen,LOCAL bMajCourant est un booléen +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// SI bAvecTransaction ALORS HTransactionDébut(gcnxBO,"CLIENT_ADRESSE,ADRESSE") +//Contôle des données Client_adresse +:FicheEnCours:bControle(clErreur,Faux) +si pas clErreur.p_bOk alors goto ERREURTRANSAC +//************************************************** +06/08/2026 Isis_BO 5651 + +Partie 6 › Classe › PFicheClient_Adresse › Code +//Traitement des données Client +//************************************************** +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// recopie des éléments adresses dans la présentation si besoin +m_clModeleCourant:m_clAdresse:CopieAdresseDansPresentation() +clFicheAdresse est un PFicheAdresse(m_clModeleCourant:m_clAdresse,Null) +si pas clFicheAdresse:bOK(clErreur) alors //PAS clFicheAdresse:bOK(clErreur,Faux,Vrai) +goto ERREURTRANSAC +sinon +m_clModeleCourant:m_nIDAdresse = clFicheAdresse:m_nPKID +fin +// effectue les modifications dans le fichier client_adresse +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURTRANSAC +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +// SI bMajCourant ALORS +// m_clModeleCourant <= m_clModeleSource +// FIN +//Termine la transaction +// SI bAvecTransaction ALORS HTransactionFin(gcnxBO) +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURTRANSAC : +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MClient_Adresse dynamique, pValidation est une procédure=Null) +si clModele:m_nIDTypeAdresse = 0 alors clModele:m_nIDTypeAdresse = gpclListeTypeAdresse: +RechercheEtDonneIdDepuisValeur(0) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +06/08/2026 Isis_BO 5652 + +Partie 6 › Classe › PFicheClient_Adresse › Code +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété FicheEnCours +procédure publique FicheEnCours() : MClient_Adresse +renvoyer m_clModeleCourant +Affectation de la propriété FicheEnCours +procédure publique FicheEnCours(clValeur est MClient_Adresse) +m_clModeleCourant=clValeur +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MClient_Adresse +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MClient_Adresse() +clPresentation est un PFicheClient_Adresse(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 5653 + +Partie 6 › Classe › MTableauDeClient_Adresse › Code +MTableauDeClient_Adresse +Code +Déclaration de MTableauDeClient_Adresse +MTableauDeClient_Adresse est une Classe +public +m_clTabModele est un tableau de MClient_Adresse dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MClient_Adresse dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MClient_Adresse dynamique, clErreur est un CErreur,bForce est un +booléen) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) _et_ pas bForce alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger(local nIdClient est un entier sur 8 octets) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +06/08/2026 Isis_BO 5654 + +Partie 6 › Classe › MTableauDeClient_Adresse › Code +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT Client_Adresse.*,Adresse.* +FROM Client_Adresse +INNER JOIN Adresse ON (Adresse.AD_PKID=Client_Adresse.CA_IDAdresse) +WHERE Client_Adresse.CA_IDClient = {p_IdClient} +] +reqSQL.p_IdClient = nIdClient +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MClient_Adresse +clModele.Charger(reqSQL) +//clModeAdresse est un MAdresse +clModele:m_clAdresse:Charger(reqSQL) +clModele:m_bLiaison = nIdClient>0 ? Vrai sinon Faux +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 5655 + +Partie 6 › Classe › PTableClient_Adresse › Code +PTableClient_Adresse +Code +Déclaration de PTableClient_Adresse +PTableClient_Adresse est une Classe +protégé +m_clTableauModele est un MTableauDeClient_Adresse dynamique +// modèle associé à la présentation +m_clModeleCourant est un MClient_Adresse dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur,bForce est un booléen) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur, bForce) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeClient_Adresse dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété ListeEnCours +procédure publique ListeEnCours() : MTableauDeClient_Adresse +renvoyer m_clTableauModele +Affectation de la propriété ListeEnCours +procédure publique ListeEnCours(clValeur est MTableauDeClient_Adresse) +m_clTableauModele=clValeur +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MClient_Adresse +si m_clModeleCourant=Null alors +clModele est un MClient_Adresse +renvoyer clModele +sinon +06/08/2026 Isis_BO 5656 + +Partie 6 › Classe › PTableClient_Adresse › Code +renvoyer m_clModeleCourant +fin +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MClient_Adresse dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nIdClient est un entier sur 8 octets) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeClient_Adresse +clTableauModele.Charger(nIdClient) +// création de la nouvelle instance de présentation +clPresentation est un PTableClient_Adresse(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheClient_Adresse(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MClient_Adresse dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau(local bLier est un booléen,local nIdLie est un entier sur 8 octets) +clModele est un MClient_Adresse() +clModele:m_bLiaison = bLier +clModele:m_nIDClient= nIdLie +clPresentationFiche est un PFicheClient_Adresse(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MClient_Adresse dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +Méthode Trie +// Résumé : +06/08/2026 Isis_BO 5657 + +Partie 6 › Classe › PTableClient_Adresse › Code +// Syntaxe : +//Trie () +// +// Paramètres : +// sMembresTrie : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Trie(sMembresTrie) +si sMembresTrie<>"" alors +TableauTrie(:m_clTabModele, ttMembre,sMembresTrie) +fin +06/08/2026 Isis_BO 5658 + +Partie 6 › Classe › PTableClient › Code +PTableClient +Code +Déclaration de PTableClient +PTableClient est une Classe +protégé +m_clTableauModele est un MTableauDeClient dynamique// modèle associé à la présentation +m_clModeleCourant est un MClient dynamique +// référence sur le modèle de données courant +m_bMajCourantSansIHM est un booléen +m_sNomThreadListeGlobale est une chaîne +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Méthode ChercheEtRemplieListe +// Résumé : +// Syntaxe : +//ChercheEtRemplieListe ( est chaîne, est procédure, +est chaîne, est booléen, est chaîne [, est +booléen]) +// +// Paramètres : +// sNomChampSaisie (chaîne ANSI) : +// LaProcedureAjouteListe (procédure) : +// sTexte (chaîne ANSI) : +// bControleDoublonsTableau (booléen) : +// sNomVariableTableau (chaîne ANSI) : +// bEnThread (booléen - valeur par défaut=0) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure globale ChercheEtRemplieListe(local sNomChampSaisie est une chaîne,LaProcedureAjouteListe est +une procédure,local sTexte est une chaîne,local bControleDoublonsTableau est un booléen, local +sNomVariableTableau est une chaîne,local bEnThread est un booléen=Faux) +sdMalistepersonne est une Source de Données +reqSQL est une chaîne = +[ +SELECT DISTINCT Client.CL_Nom AS NomClient,Client.CL_PKID AS PKID +FROM Client +LEFT OUTER JOIN Client_Adresse ON(Client_Adresse.CA_IDClient=Client.CL_PKID) +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Client_Adresse.CA_IDAdresse) +WHERE (UPPER(CL_Nom)]= '%1' +OR UPPER(AD_Ligne_1)]= '%1' +OR UPPER(AD_Ligne_2)]= '%1' +OR UPPER(AD_Ligne_3)]= '%1' +06/08/2026 Isis_BO 5659 + +Partie 6 › Classe › PTableClient › Code +OR UPPER(AD_Ligne_4)]= '%1' +OR UPPER(AD_Ligne_5)]= '%1' +OR UPPER(AD_CodePostal)]= '%1' +OR UPPER(AD_Ville)]= '%1') +AND Client.CL_BLOCAGE=0 +ORDER BY CL_Nom +] +si bEnThread _et_ gbThreadFinListeClient alors +ThreadFin() +fin +reqSQL = ChaîneConstruit(reqSQL,sTexte) +si HExécuteRequêteSQL(sdMalistepersonne,hRequêteDéfaut,reqSQL) alors +si HNbEnr(sdMalistepersonne)> 0 alors +pour tout sdMalistepersonne +si bEnThread _et_ gbThreadFinListeClient alors +ThreadFin() +fin +si bEnThread alors +ExécuteThreadPrincipal(LaProcedureAjouteListe,sNomChampSaisie,sdMalistepersonne. +NomClient,sdMalistepersonne.PKID,bControleDoublonsTableau,sNomVariableTableau) +sinon +LaProcedureAjouteListe(sNomChampSaisie,sdMalistepersonne.NomClient,sdMalistepersonne. +PKID,bControleDoublonsTableau,sNomVariableTableau) +fin +fin +sinon +si bEnThread alors +ExécuteThreadPrincipal(LaProcedureAjouteListe,sNomChampSaisie,"",0, +bControleDoublonsTableau,sNomVariableTableau) +sinon +LaProcedureAjouteListe(sNomChampSaisie,"",0,bControleDoublonsTableau,sNomVariableTableau) +fin +// ExécuteThreadPrincipal(TH_AucunePersonne) +fin +fin +HLibèreRequête(sdMalistepersonne) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeClient dynamique) +m_clTableauModele=clTableauModele +m_sNomThreadListeGlobale="ListeClientGlobal" +Destructeur +procédure Destructeur() +Récupération de la propriété p_bMajCourantSansIHM +procédure publique p_bMajCourantSansIHM() : booléen +renvoyer m_bMajCourantSansIHM +Affectation de la propriété p_bMajCourantSansIHM +procédure publique p_bMajCourantSansIHM(bValeur est un booléen) +m_bMajCourantSansIHM=bValeur +Récupération de la propriété p_bModeleCourantVide +06/08/2026 Isis_BO 5660 + +Partie 6 › Classe › PTableClient › Code +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MClient +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MClient dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +renvoyer TableauOccurrence(m_clTabModele) +Récupération de la propriété p_sNomThreadListeGlobale +procédure publique p_sNomThreadListeGlobale() : chaîne +renvoyer m_sNomThreadListeGlobale +Affectation de la propriété p_sNomThreadListeGlobale +procédure publique p_sNomThreadListeGlobale(sValeur est une chaîne) +m_sNomThreadListeGlobale=sValeur +Méthode gNouvellePresentation +// Résumé : Méthode qui permet de charger un ou plusieurs clients +// Syntaxe : +// [ = ] gNouvellePresentation ( est entier sur 8 octets [, ...]) +// +// Paramètres : +// +nMode (entier sur 8 octets) : Le mode de chargement 1 (Ensemble des clients ou un client en +particulier) / 2 (Le client concerné par l'intervention) / 3 (Ensemble des clients concerné par un +lieu) +// <*> : Filtres +// Valeur de retour : +// PTableClient : Renvoi un objet contenant un ou plusieurs clients +procédure globale gNouvellePresentation(local nMode est un entier sur 8 octets,*) +//LOCAL nIdClient est un entier sur 8 octets,LOCAL nIdIntervention est un entier sur 8 octets,LOCAL +sNomClient est une chaine="",LOCAL nIdLieu est un entier sur 8 octets=-1 +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeClient +//1 : Ensemble des clients ou un client en particulier +//2 : Le client concerné par l'intervention +//3 : Ensemble des clients concerné par un lieu +06/08/2026 Isis_BO 5661 + +Partie 6 › Classe › PTableClient › Code +//4 : Le client concerné par le dossier +selon nMode +cas 1 : clTableauModele.Charger(MesParamètres[2 à])//nIdClient,nIdIntervention,sNomClient +cas 2 : clTableauModele.ChargerClientIntervention(MesParamètres[2]) +cas 3 : clTableauModele.ChargerClientieu(MesParamètres[2]) +cas 4 : clTableauModele.ChargerClientDossier(MesParamètres[2]) +cas 5 : clTableauModele.RechercheGlobale(MesParamètres[2]) +cas 6 : clTableauModele.ChargerUnSeulClient(MesParamètres[2]) +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableClient(clTableauModele) +renvoyer clPresentation +Méthode gTHNouvellePresentation +// Résumé : +// Syntaxe : +//gTHNouvellePresentation ( est entier [, ...]) +// +// Paramètres : +// nMode (entier) : +// <*> : > +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// ChampTable (champ) : +// methodeClasseDeRecherche (procédure) : +// bControleDoublonsTableau (booléen) : +// sNomTableauDeRecherche (chaîne ANSI) : +// sCritereCompl (chaîne ANSI) : +// callBackMAJ (procédure) : +// <*> : > +// <*> : > +// sNomThread (chaîne ANSI) : +// <*> : > +procédure publique globale gTHNouvellePresentation(local nMode est un entier, *) +//callBackMAJ est une procedure, +selon nMode +cas 0 : +si ThreadEtat("ListeClientGlobal")<>threadInexistant alors ThreadArrête("ListeClientGlobal") +gbThreadFinListeClientGlobal = Faux +ThreadExécute("ListeClientGlobal",threadNormal,MTableauDeClient.THCharger,MesParamètres[2 à]) +//CAS 1 : ThreadExécute(sNomThread,threadCopieLégèreContexteHFSQL,,MesParamètres[3A]) +fin +Méthode Modifier +procédure Modifier() +06/08/2026 Isis_BO 5662 + +Partie 6 › Classe › PTableClient › Code +clPresentationFiche est un PFicheClient(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MClient dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau(*) +clModele est un MClient() +clPresentationFiche est un PFicheClient(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MClient dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +Méthode Trie +// Résumé : +// Syntaxe : +//Trie () +// +// Paramètres : +// sMembresTrie : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Trie(sMembresTrie) +si sMembresTrie<>"" alors +TableauTrie(:m_clTabModele, ttMembre,sMembresTrie) +fin +06/08/2026 Isis_BO 5663 + +Partie 6 › Classe › MCollaborateur › Code +MCollaborateur +Code +Déclaration de MCollaborateur +MCollaborateur est une Classe +//************************************************************************************************* +************* +//Le modèle MCollaborateur hérite du modèle de base +//************************************************************************************************* +************* +hérite de MBase +//************************************************************************************************* +************* +//Membres liés aux rubriques du fichier Collaborateur +//************************************************************************************************* +************* + +m_nPKID est un entier sur 8 octets +| m_sNom | est une chaîne ANSI | | | +| ------------- | ------------------- | ----------------------- | --- | +| m_sPrenom | est une chaîne ANSI | | | +| m_sTelFixe | est une chaîne ANSI | | | +| m_sTelMobile | est une chaîne ANSI | | | +| m_sEmail | est une chaîne ANSI | | | +| m_bAuPlanning | est un booléen | | | +| m_sFonction | est une chaîne ANSI | | | +m_nIDCivilite est un entier sur 8 octets +| m_bActif | est un booléen | | | +| ----------- | ------------------- | --------------------- | --- | +| m_sIDImport | est une chaîne ANSI | | | +m_rPonderation est un réel sur 4 octets +| m_nStatut | est un entier sur 8 octets | | | +| ------------- | -------------------------- | ------------------------ | --- | +| m_sTrigramme | est une chaîne ANSI | | | +| m_bUtiliseBO | est un booléen | | | +| m_bUtiliseMob | est un booléen | | | + +//************************************************************************************************* +************* +// Membres NON liés aux rubriques du fichier Societe +//************************************************************************************************* +************* +// VARIABLE DE TYPE SIMPLE +| m_bSelection | est un booléen | | | +| ------------ | -------------- | --- | --- | +m_bLier est un booléen +| m_nIdLie | est un entier sur 8 octets | | | +| -------- | -------------------------- | --- | --- | +m_nMethodeCustom est un entier +| m_sLogin | est une chaîne | | | +| -------- | -------------- | -------------------------- | --- | +// VARIABLE DE TYPE CLASSE +m_nPertinenceFulltext est un entier +m_clEquipe est un MEquipe +| m_clListeEquipe | est un tableau local de MEquipe | | | +| ---------------- | ------------------------------- | --- | --- | +m_clListeSociete est un tableau local de MSociete +fin +Méthode bControle +| 06/08/2026 | | Isis_BO | 5664 | +| ---------- | --- | ------- | ---- | + +Partie 6 › Classe › MCollaborateur › Code +// Résumé : Méthode de contrôle des données du fichier Collaborateur +// Syntaxe : +//[ = ] bControle ( est CErreur, est booléen) +// +// Paramètres : +// clErreur (CErreur) : instance de l'objet qui va contenir l'erreur eventuelle +// bSupprime (booléen) : S'agit-il d'un enregistrement à supprimer +// Valeur de retour : +// booléen : Vrai si aucune erreur Faux sinon +// bAjout (booléen) : S'agit-il d'un nouvel enregistrement +procédure bControle(clErreur est un CErreur,local bSupprime est un booléen) +bResultat est un booléen=Vrai +tabListeErr est un tableau de chaînes +quand exception dans +si pas bSupprime alors +si SansEspace(:m_sNom)="" alors Ajoute( +tabListeErr,"Veuillez renseigner le nom") +si SansEspace(:m_sPrenom)="" alors Ajoute( +tabListeErr,"Veuillez renseigner le prénom") +//SI SansEspace(:m_sTelFixe)="" ET SansEspace(:m_sTelMobile)="" ALORS +ajoute(tabListeErr,"Veuillez renseigner au moins un numéro de téléphone") +sinon +fin +si tabListeErr..Occurrence>0 alors +goto ERREURFONCTIONNELLE +sinon +goto SORTIE +fin +ERREURFONCTIONNELLE : +clErreur.Init(CErreur.Fonctionnelle,tabListeErr) +bResultat = Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +bResultat = Faux +fin +SORTIE : +renvoyer bResultat +Constructeur +procédure Constructeur() +m_bActif=1 +m_bAuPlanning=1 +m_rPonderation=1 +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +06/08/2026 Isis_BO 5665 + +Partie 6 › Classe › MCollaborateur › Code +procédure InfoOnglet() : chaîne +renvoyer m_sNom +Récupération de la propriété ListeEquipe +procédure publique ListeEquipe() +sResultat est une chaîne +si :m_clListeEquipe..Occurrence=0 alors +InitListeEquipe() +fin +nCpt est un entier +pour tout clUneEquipe de :m_clListeEquipe +nCpt+=1 +si nCpt=1 alors +sResultat = clUneEquipe:m_sNom +sinon +sResultat += ";"+clUneEquipe:m_sNom +fin +fin +renvoyer sResultat +Récupération de la propriété ListeEquipeRC +procédure publique ListeEquipeRC() +sResultat est une chaîne +si :m_clListeEquipe..Occurrence=0 alors +InitListeEquipe() +fin +nCpt est un entier +pour tout clUneEquipe de :m_clListeEquipe +nCpt+=1 +si nCpt=1 alors +sResultat = clUneEquipe:m_sNom +sinon +sResultat += RC+clUneEquipe:m_sNom +fin +fin +renvoyer sResultat +Récupération de la propriété ListeSociete +procédure publique ListeSociete() +sResultat est une chaîne +si :m_clListeSociete..Occurrence=0 alors +InitListeSociete() +fin +nCpt est un entier +pour tout clUneSociete de :m_clListeSociete +nCpt+=1 +si nCpt=1 alors +sResultat = clUneSociete:m_sNom +sinon +sResultat += RC+clUneSociete:m_sNom +fin +fin +renvoyer sResultat +Récupération de la propriété NomPrenom +procédure publique NomPrenom() +06/08/2026 Isis_BO 5666 + +Partie 6 › Classe › MCollaborateur › Code +renvoyer :m_sNom+" "+:m_sPrenom +Récupération de la propriété NomPrenomEtListeEquipe +procédure publique NomPrenomEtListeEquipe() +sListeEquipe est une chaîne = ListeEquipe +si sListeEquipe="" alors +renvoyer NomPrenom+TAB+" (sans équipe)" +sinon +renvoyer NomPrenom+TAB+" ("+ListeEquipe+")" +fin +Méthode InitListeEquipe +procédure InitListeEquipe() +clFicheCollab est un objet dynamique +si gProcEquipeCollab<>Null alors +clFicheCollab = gProcEquipeCollab(objet) +fin +si clFicheCollab<>Null alors +pour tout uneEquipeCollab de clFicheCollab.ListeEquipe.m_clTabModele +TableauAjoute(:m_clListeEquipe,uneEquipeCollab.m_clEquipe) +fin +fin +Méthode InitListeSociete +// Résumé : +// Syntaxe : +// InitListeSociete () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure InitListeSociete() +clFicheCollab est un objet dynamique +si gProcSocieteCollab<>Null alors +clFicheCollab = gProcSocieteCollab(objet) +fin +si clFicheCollab<>Null alors +pour tout uneSocieteCollab de clFicheCollab.ListeSociete.m_clTabModele +TableauAjoute(:m_clListeSociete,uneSocieteCollab.m_clSociete) +fin +fin +06/08/2026 Isis_BO 5667 + +Partie 6 › Classe › PFicheCollaborateur › Code +PFicheCollaborateur +Code +Déclaration de PFicheCollaborateur +PFicheCollaborateur est une Classe +protégé +m_clModeleCourant est un MCollaborateur // modèle associé à la présentation +m_clModeleSource est un MCollaborateur dynamique // référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure // procédure à appeler lors de la validation +m_clFicheUser est un PFicheUtilisateur dynamique //Utilisateur lié +m_clListeSociete est un PTableSociete_Collaborateur dynamique +m_clListeEquipe est un PTableEquipe_Collaborateur dynamique +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +//,LOCAL bAvecTransaction est un booléen,LOCAL bMajCourant est un booléen +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +//Débute une transaction sur les fichiers Societe et Adresse +// SI bAvecTransaction ALORS HTransactionDébut(gcnxBO,"Collaborateur") +si m_clModeleCourant.m_bActif=0 alors +m_clModeleCourant.m_bAuPlanning=0 +fin +si m_clModeleCourant:m_sTrigramme="" alors +CalculTrigramme() +fin +si pas m_clModeleCourant:bControle(clErreur,Faux) alors goto ERREURTRANSAC +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURTRANSAC +//Sans méthode personnalisée +si ListeSociete<>Null _et_ :m_nMethodeCustom=0 alors +pour i = 1 _à_ :ListeSociete:m_clTabModele..Occurrence +clFicheSC est un PFicheSociete_Collaborateur(:ListeSociete:m_clTabModele[i]) +clFicheSC:m_nIDCollaborateur= m_clModeleCourant.IdentifiantUnique +clFicheSC:m_clCollaborateur = m_clModeleCourant +si pas clFicheSC:bOK(clErreur) alors +goto ERREURTRANSAC//PAS clFicheSC:bOK(clErreur,Faux,Vrai) +:ListeSociete:m_clTabModele[i]:m_bLiaison = Faux +fin +fin +// si il y a une procédure de validation +si m_pValidation<>Null alors +06/08/2026 Isis_BO 5668 + +Partie 6 › Classe › PFicheCollaborateur › Code +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +// SI bMajCourant ALORS +// m_clModeleCourant <= m_clModeleSource +// FIN +//Termine la transaction +// SI bAvecTransaction ALORS HTransactionFin(gcnxBO) +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURTRANSAC : +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Méthode CalculTrigramme +// Résumé : +// Syntaxe : +//CalculTrigramme () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure CalculTrigramme() +sTrigramme est une chaîne +si m_sPrenom<>"" et m_sNom<>"" alors +sTrigramme=Gauche(m_sPrenom,1)+Gauche(m_sNom,2) +HLitRecherchePremier(Collaborateur,CO_Trigramme,sTrigramme) +si HTrouve(Collaborateur) alors +sTrigramme=Gauche(m_sPrenom,2)+Gauche(m_sNom,1) +HLitRecherchePremier(Collaborateur,CO_Trigramme,sTrigramme) +si HTrouve(Collaborateur) alors +m_sTrigramme="" +sinon +06/08/2026 Isis_BO 5669 + +Partie 6 › Classe › PFicheCollaborateur › Code +m_sTrigramme=sTrigramme +fin +sinon +m_sTrigramme=sTrigramme +fin +sinon +m_sTrigramme="" +fin +Constructeur +procédure Constructeur(clModele est un MCollaborateur dynamique, pValidation est une procédure=Null) +si clModele:m_nIDCivilite = 0 alors clModele:m_nIDCivilite = gpclListeCivilite: +RechercheEtDonneIdDepuisValeur(0) +si clModele:m_rPonderation = 0 alors clModele:m_rPonderation = 1 +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété FicheEnCours +procédure publique FicheEnCours() : MCollaborateur +renvoyer m_clModeleCourant +Affectation de la propriété FicheEnCours +procédure publique FicheEnCours(clValeur est MCollaborateur) +m_clModeleCourant=clValeur +Récupération de la propriété FicheUtilisateur +procédure publique FicheUtilisateur() : PFicheUtilisateur +renvoyer m_clFicheUser +Affectation de la propriété FicheUtilisateur +procédure publique FicheUtilisateur(clValeur est PFicheUtilisateur dynamique) +m_clFicheUser=clValeur +Récupération de la propriété ListeEquipe +procédure publique ListeEquipe() : PTableEquipe_Collaborateur +renvoyer m_clListeEquipe +Affectation de la propriété ListeEquipe +06/08/2026 Isis_BO 5670 + +Partie 6 › Classe › PFicheCollaborateur › Code +procédure publique ListeEquipe(clValeur est PTableEquipe_Collaborateur) +m_clListeEquipe=clValeur +Récupération de la propriété ListeSociete +procédure publique ListeSociete() : PTableSociete_Collaborateur +renvoyer m_clListeSociete +Affectation de la propriété ListeSociete +procédure publique ListeSociete(clValeur est PTableSociete_Collaborateur dynamique) +m_clListeSociete=clValeur +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MCollaborateur +renvoyer m_clModeleCourant +Méthode gFicheUtilisateur +// Résumé : +// Syntaxe : +//gFicheUtilisateur ( est PFicheCollaborateur dynamique [, est +PFicheUtilisateur dynamique [, est entier sur 8 octets [, est chaîne]]]) +// +// Paramètres : +// clFicheCollab (PFicheCollaborateur dynamique) : +// clFicheUser (PFicheUtilisateur dynamique - valeur par défaut=0) : < +indiquez ici le rôle de clFicheUser> +// nIdUser (entier sur 8 octets - valeur par défaut=-1) : +// sLogin (chaîne ANSI - valeur par défaut="") : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale gFicheUtilisateur(clFicheCollab est un PFicheCollaborateur dynamique, +clFicheUser est un PFicheUtilisateur dynamique=Null,local nIdUser est un entier sur 8 octets=-1,local +sLogin est une chaîne="") +clTabUser est un PTableUtilisateur dynamique +si clFicheUser<>Null alors +si nIdUser<>-1 alors +clTabUser <- PTableUtilisateur.gNouvellePresentation(1,-1,nIdUser) +sinon si sLogin<>"" alors +clTabUser <- PTableUtilisateur.gNouvellePresentation(1,-1,-1,sLogin) +fin +si clTabUser<>Null _et_ clTabUser.p_nTotal>=1 alors +clFicheUser = allouer un PFicheUtilisateur(clTabUser.m_clTabModele[1]) +DemandeMiseAJourIHM() +fin +clFicheCollab:FicheUtilisateur = clFicheUser +si clTabUser=Null alors +DemandeMiseAJourIHM() +06/08/2026 Isis_BO 5671 + +Partie 6 › Classe › PFicheCollaborateur › Code +fin +sinon +clTabUser <- PTableUtilisateur.gNouvellePresentation(1,clFicheCollab.IdentifiantUnique) +si clTabUser.p_nTotal>=1 alors +clFicheUser = allouer un PFicheUtilisateur(clTabUser.m_clTabModele[1],*) +sinon +clFicheUser = PFicheUtilisateur.gNouvellePresentation() +fin +clFicheCollab:FicheUtilisateur = clFicheUser +fin +Méthode gListeEquipe +procédure publique globale gListeEquipe(clPresentation est un PFicheCollaborateur) +clPresentation.m_clListeEquipe = PTableEquipe_Collaborateur.gNouvellePresentation(2,clPresentation. +IdentifiantUnique) +Méthode gListeSociete +// Résumé : +// Syntaxe : +//gListeSociete ( est PFicheCollaborateur, est booléen, + est entier sur 8 octets) +// +// Paramètres : +// clPresentation (PFicheCollaborateur) : +// bAvecSocieteParDefaut (booléen) : +// nIDSocietePArDefaut (entier sur 8 octets) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale gListeSociete(clPresentation est un PFicheCollaborateur,local +bAvecSocieteParDefaut est un booléen,local nIDSocietePArDefaut est un entier sur 8 octets) +clPresentation.m_clListeSociete = PTableSociete_Collaborateur.gNouvellePresentation(1,clPresentation. +IdentifiantUnique) +si clPresentation.m_clListeSociete.m_clTabModele..Occurrence=0 _et_ (bAvecSocieteParDefaut _ou_ +nIDSocietePArDefaut>0) alors +si nIDSocietePArDefaut>0 alors +HLitRecherchePremier(Societe,SO_PKID,nIDSocietePArDefaut) +sinon +HLitPremier(Societe,SO_PKID) +fin +si HTrouve(Societe) alors +clFicheSocieteCollab est un PFicheSociete_Collaborateur<- clPresentation.m_clListeSociete. +Nouveau(Vrai,Societe.SO_PKID) +clFicheSocieteCollab.m_clSociete.charger(Societe) +clFicheSocieteCollab.m_bNouveau=Vrai +clFicheSocieteCollab.AppelProcValidation(2) +fin +fin +Méthode gNouvellePresentation +06/08/2026 Isis_BO 5672 + +Partie 6 › Classe › PFicheCollaborateur › Code +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MCollaborateur() +clPresentation est un PFicheCollaborateur(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 5673 + +Partie 6 › Classe › MTableauDeCollaborateur › Code +MTableauDeCollaborateur +Code +Déclaration de MTableauDeCollaborateur +MTableauDeCollaborateur est une Classe +public +m_clTabModele est un tableau de MCollaborateur dynamique +m_bTrie est un booléen +fin +Méthode Ajouter +procédure Ajouter(clModele est un MCollaborateur dynamique) +nIndice est un entier +// ajoute l'instance du modèle dans le tableau en mémoire +si :m_bTrie alors +nIndice = TableauAjouteTrié(m_clTabModele,clModele) +sinon +nIndice = TableauAjoute(m_clTabModele,clModele) +TableauTrie(m_clTabModele,ttMembre,"m_sNom") +fin +// mise à jour des IHM +DemandeMiseAJourIHM() +renvoyer nIndice +Méthode bSupprimer +procédure bSupprimer(clModele est un MCollaborateur dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode ChargerCeuxActif +// Résumé : +// Syntaxe : +06/08/2026 Isis_BO 5674 + +Partie 6 › Classe › MTableauDeCollaborateur › Code +//ChargerCeuxActif () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargerCeuxActif() +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT DISTINCT Collaborateur.* +,(SELECT UT_Login FROM Utilisateur WHERE Utilisateur.UT_IDCollaborateur=Collaborateur.CO_PKID) AS +LoginUtilisateur +FROM Collaborateur +WHERE Collaborateur.CO_Actif=1 +ORDER BY Collaborateur.CO_Nom ASC +] +//reqSQL..CodeSQL += "toto" +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MCollaborateur +clModele.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerCeuxEncadrant +// Résumé : +// Syntaxe : +//ChargerCeuxEncadrant () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargerCeuxEncadrant(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 5675 + +Partie 6 › Classe › MTableauDeCollaborateur › Code +// +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT DISTINCT Collaborateur.* +FROM Collaborateur +INNER JOIN Utilisateur ON (Utilisateur.UT_IDCollaborateur=Collaborateur.CO_PKID) +INNER JOIN ParametreMetier ON (ParametreMetier.PA_PKID=Utilisateur.UT_IDTypeProfil) +INNER JOIN Societe_Collaborateur ON (Societe_Collaborateur.SC_IDCollaborateur=Collaborateur.CO_PKID +) +WHERE Societe_Collaborateur.SC_IDCSociete={p_nIdSociete} +AND Collaborateur.CO_Actif={p_bActif} +AND ParametreMetier.PA_Valeur IN ({p_profils}) +ORDER BY Collaborateur.CO_Nom ASC +] +//('1','2') + +reqSQL.p_profils = "1;2;9" + +reqSQL.p_profils = "1;2" + +reqSQL.p_nIdSociete = MesParamètres..Occurrence>=1 ? MesParamètres[1] sinon Null +reqSQL.p_bActif = MesParamètres..Occurrence>=2 ? MesParamètres[2] sinon Null +//reqSQL..CodeSQL += "toto" +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MCollaborateur +clModele.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerCeuxPasDansEquipe +procédure ChargerCeuxPasDansEquipe(local nIdSociete est un entier sur 8 octets,local nIdEquipeAEclure +est un entier sur 8 octets) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT DISTINCT Collaborateur.* +FROM Collaborateur +LEFT OUTER JOIN Equipe_Collaborateur ON (Equipe_Collaborateur.EC_IDCollaborateur=Collaborateur. +CO_PKID) +LEFT OUTER JOIN Societe_Collaborateur ON (Societe_Collaborateur.SC_IDCollaborateur=Collaborateur. +CO_PKID) +WHERE Societe_Collaborateur.SC_IDCSociete={p_nIdSociete} +AND Collaborateur.CO_Actif=1 +AND +06/08/2026 Isis_BO 5676 + +Partie 6 › Classe › MTableauDeCollaborateur › Code +( Equipe_Collaborateur.EC_IDCollaborateur IS NULL +OR ( +Equipe_Collaborateur.EC_IDCollaborateur IS NOT NULL +AND (Equipe_Collaborateur.EC_IDEquipe<>{p_nIdEquipeExclu} +AND NOT EXISTS (SELECT 1 FROM Equipe_Collaborateur AS ECollab WHERE Ecollab.EC_IDCollaborateur = +Equipe_Collaborateur.EC_IDCollaborateur AND ECollab.EC_IDEquipe={p_nIdEquipeExclu})))) +] +reqSQL.p_nIdSociete = nIdSociete dans (-1,0) ? Null sinon nIdSociete +reqSQL.p_nIdEquipeExclu = nIdEquipeAEclure=-1 ? Null sinon nIdEquipeAEclure +//reqSQL..CodeSQL += "toto" +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MCollaborateur +clModele.Charger(reqSQL) +clModele.m_bLiaison = Vrai +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerCeuxpourImprimAgenda +// Résumé : +// Syntaxe : +//ChargerCeuxpourImprimAgenda ( est chaîne) +// +// Paramètres : +// sListeIdCollab (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargerCeuxpourImprimAgenda(sListeIdCollab est une chaîne) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT DISTINCT Collaborateur.* +FROM Collaborateur +WHERE Collaborateur.CO_Actif=1 +AND Collaborateur.CO_PKID IN ({P_IdCollab}) +ORDER BY Collaborateur.CO_Nom ASC +] +reqSQL.P_IdCollab= sListeIdCollab="" ? Null sinon sListeIdCollab +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +06/08/2026 Isis_BO 5677 + +Partie 6 › Classe › MTableauDeCollaborateur › Code +clModele est un MCollaborateur +clModele.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerCeuxSansSociete +procédure ChargerCeuxSansSociete(local nIdSocieteAExclure est un entier sur 8 octets) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT DISTINCT Collaborateur.* +FROM Collaborateur +WHERE NOT EXISTS (SELECT 1 FROM Societe_Collaborateur WHERE Societe_Collaborateur. +SC_IDCollaborateur=Collaborateur.CO_PKID AND Societe_Collaborateur.SC_IDCSociete= +{p_nIdSocieteExclu}) +ORDER BY Collaborateur.CO_Nom +] +reqSQL.p_nIdSocieteExclu= nIdSocieteAExclure=-1 ? Null sinon nIdSocieteAExclure +//reqSQL..CodeSQL += "toto" +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MCollaborateur +clModele.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerTous +procédure ChargerTous() +//trace("ChargerTousLesCollaborateurs") +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT DISTINCT Collaborateur.* +FROM Collaborateur +ORDER BY Collaborateur.CO_Nom ASC +] +//reqSQL..CodeSQL += "toto" +06/08/2026 Isis_BO 5678 + +Partie 6 › Classe › MTableauDeCollaborateur › Code +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MCollaborateur +clModele.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerViaIntervention +procédure ChargerViaIntervention(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT DISTINCT Collaborateur.* +FROM Collaborateur +INNER JOIN Intervention ON (Intervention.IN_IDSuiviPar=Collaborateur.CO_PKID) +WHERE Intervention.IN_PKID={p_IdIntervention} +] +reqSQL.p_IdIntervention = MesParamètres..Occurrence>=1 _et_ MesParamètres[1]>0 ? MesParamètres[1] sinon +Null +//reqSQL..CodeSQL += "toto" +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MCollaborateur +clModele.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerViaRechercheFullText +// Résumé : +// Syntaxe : +//ChargerViaRechercheFullText ( est chaîne) +// +// Paramètres : +// sTermedeRecherche (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargerViaRechercheFullText(local sTermedeRecherche est une chaîne) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +06/08/2026 Isis_BO 5679 + +Partie 6 › Classe › MTableauDeCollaborateur › Code +// récupération des données +reqSQL est une Requête SQL = [ +SELECT Collaborateur.*,MATCH(Collaborateur.CO_Index_FullText) AGAINST ({p_TermedeRecherche}) AS +PertinenceFulltext +FROM Collaborateur +WHERE +PertinenceFulltext >0 +ORDER BY PertinenceFulltext DESC +] +reqSQL.p_TermedeRecherche = sTermedeRecherche+"*" +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MCollaborateur +clModele.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +HAnnuleDéclaration(reqSQL) +Méthode ChargerViaSociete +// Résumé : +procédure ChargerViaSociete(local nIdSociete est un entier sur 8 octets) +TableauSupprimeTout(m_clTabModele) +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT DISTINCT Collaborateur.*,Equipe.* +FROM Collaborateur +//INNER join +Societe_Collaborateur ON Societe_Collaborateur.SC_IDCollaborateur=collaborateur.CO_PKID and +Societe_Collaborateur.SC_IDCSociete={p_nIdSociete} +LEFT OUTER JOIN Equipe_Collaborateur ON Equipe_Collaborateur.EC_IDCollaborateur=Collaborateur. +CO_PKID +LEFT OUTER JOIN Equipe ON Equipe.EQ_PKID=Equipe_Collaborateur.EC_IDEquipe AND Equipe.EQ_IDSociete= +{p_nIdSociete} +WHERE Collaborateur.CO_AuPlanning=1 +ORDER BY EQ_Nom +] +reqSQL.p_nIdSociete = nIdSociete dans (-1,0) ? Null sinon nIdSociete +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MCollaborateur +clModele.Charger(reqSQL) +clModele:m_clEquipe:Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerViaUtilisateur +06/08/2026 Isis_BO 5680 + +Partie 6 › Classe › MTableauDeCollaborateur › Code +// Résumé : +procédure ChargerViaUtilisateur(local nIdUtilisateur est un entier sur 8 octets) +TableauSupprimeTout(m_clTabModele) +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT DISTINCT Collaborateur.* +FROM Collaborateur +INNER JOIN Utilisateur ON (Utilisateur.UT_IDCollaborateur=Collaborateur.CO_PKID) +WHERE Utilisateur.UT_PKID = {p_nIDUser} +ORDER BY CO_Nom +] +reqSQL.p_nIduser = nIdUtilisateur dans (-1,0) ? Null sinon nIdUtilisateur +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MCollaborateur +clModele.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode RechercheGlobale +// Résumé : +// Syntaxe : +//RechercheGlobale ( est chaîne) +// +// Paramètres : +// sTermedeRecherche (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RechercheGlobale(local sTermedeRecherche est une chaîne) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +06/08/2026 Isis_BO 5681 + +Partie 6 › Classe › MTableauDeCollaborateur › Code +ReqSQL est une Requête SQL = [ +SELECT *,MATCH(Collaborateur.CO_Index_FullText) AGAINST ({p_TermedeRecherche}) AS +PertinenceFulltext +FROM Collaborateur +WHERE +PertinenceFulltext >0 +ORDER BY PertinenceFulltext DESC +] +ReqSQL.p_TermedeRecherche = sTermedeRecherche+"*" +// exécution de la requête +si HExécuteRequête(ReqSQL) alors +// charge les enregistrements en mémoire +pour tout ReqSQL +clModele est un MCollaborateur +clModele.Charger(ReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +HAnnuleDéclaration(ReqSQL) +:TrieLesElementsDuTableau("m_nPertinenceFulltext") +Méthode TrieLesElementsDuTableau +// Résumé : +// Syntaxe : +//TrieLesElementsDuTableau ( est chaîne) +// +// Paramètres : +// sMembresTrie (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure TrieLesElementsDuTableau(local sMembresTrie est une chaîne) +si sMembresTrie<>"" alors +TableauTrie(:m_clTabModele, ttMembre,sMembresTrie) +si pas ErreurDétectée alors +:m_bTrie = Vrai +sinon +:m_bTrie = Faux +fin +fin +06/08/2026 Isis_BO 5682 + +Partie 6 › Classe › MSociete_Collaborateur › Code +MSociete_Collaborateur +Code +Déclaration de MSociete_Collaborateur +MSociete_Collaborateur est une Classe +//************************************************************************************************* +************* +//Le modèle MSociete_Collaborateur hérite du modèle de base +//************************************************************************************************* +************* +hérite de MBase +//************************************************************************************************* +************* +//Membres liés aux rubriques du fichier Societe_Collaborateur +//************************************************************************************************* +************* + +m_nPKID est un entier sur 8 octets +m_nIDCollaborateur est un entier sur 8 octets +m_nIDSociete est un entier sur 8 octets + +//************************************************************************************************* +************* +// Membres NON liés aux rubriques du fichier Societe +//************************************************************************************************* +************* +// VARIABLE DE TYPE SIMPLE +// VARIABLE DE TYPE CLASSE +m_clCollaborateurest un MCollaborateur +m_clSociete est un MSociete +// VARIABLE DE TYPE TABLEAU +fin +Méthode bControle +// Résumé : +// Syntaxe : +//[ = ] bControle ( est CErreur, est booléen) +// +// Paramètres : +// clErreur (CErreur) : +// bSupprime (booléen) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// bAjout (booléen) : +procédure bControle(clErreur est un CErreur,local bSupprime est un booléen) +06/08/2026 Isis_BO 5683 + +Partie 6 › Classe › MSociete_Collaborateur › Code +bResultat est un booléen=Vrai +tabListeErr est un tableau de chaînes +//sZone est une chaine +quand exception dans +si pas bSupprime alors +//Contrôle de l'adresse +:m_clCollaborateur:bControle(clErreur,bSupprime) +sinon +fin +si tabListeErr..Occurrence>0 alors +goto ERREURFONCTIONNELLE +sinon +goto SORTIE +fin +ERREURFONCTIONNELLE : +clErreur.Init(CErreur.Fonctionnelle,tabListeErr) +bResultat = Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +bResultat = Faux +fin +SORTIE : +renvoyer bResultat +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer "" +06/08/2026 Isis_BO 5684 + +Partie 6 › Classe › PFicheSociete_Collaborateur › Code +PFicheSociete_Collaborateur +Code +Déclaration de PFicheSociete_Collaborateur +PFicheSociete_Collaborateur est une Classe +protégé +m_clModeleCourant est un MSociete_Collaborateur // modèle associé à la présentation +m_clModeleSource est un MSociete_Collaborateur dynamique // référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +fin +Méthode AppelProcValidation +// Résumé : +// Syntaxe : +//AppelProcValidation ( est entier) +// +// Paramètres : +// nMode (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AppelProcValidation(local nMode est un entier) +// si il y a une procédure de validation +si m_pValidation<>Null alors +selon nMode +cas 1 : m_pValidation(m_clModeleSource) +cas 2 : m_pValidation(m_clModeleCourant) +fin +m_pValidation = Null +DemandeMiseAJourIHM() +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +//,LOCAL bAvecTransaction est un booléen,LOCAL bMajCourant est un booléen +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// SI bAvecTransaction ALORS HTransactionDébut(gcnxBO,"SOCIETE_COLLABORATEUR,COLLABORATEUR") +//Contôle des données Societe_Collaborateur +:FicheEnCours:bControle(clErreur,Faux) +06/08/2026 Isis_BO 5685 + +Partie 6 › Classe › PFicheSociete_Collaborateur › Code +si pas clErreur.p_bOk alors goto ERREURTRANSAC +//************************************************** +//Traitement des données So +//************************************************** +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +si pas m_clModeleCourant:m_clCollaborateur:bEnregistrer(clErreur) alors +goto ERREURTRANSAC +sinon +m_clModeleCourant:m_nIDCollaborateur = m_clModeleCourant:m_clCollaborateur:m_nPKID +fin +// effectue les modifications dans le fichier client_adresse +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURTRANSAC +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +// SI bMajCourant ALORS +// m_clModeleCourant <= m_clModeleSource +// FIN +//Termine la transaction +// SI bAvecTransaction ALORS HTransactionFin(gcnxBO) +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURTRANSAC : +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MSociete_Collaborateur dynamique, pValidation est une procédure= +Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +06/08/2026 Isis_BO 5686 + +Partie 6 › Classe › PFicheSociete_Collaborateur › Code +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété FicheEnCours +procédure publique FicheEnCours() : MSociete_Collaborateur +renvoyer m_clModeleCourant +Affectation de la propriété FicheEnCours +procédure publique FicheEnCours(clValeur est MSociete_Collaborateur) +m_clModeleCourant=clValeur +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MSociete_Collaborateur +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MSociete_Collaborateur() +clPresentation est un PFicheSociete_Collaborateur(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 5687 + +Partie 6 › Classe › PTableCollaborateur › Code +PTableCollaborateur +Code +Déclaration de PTableCollaborateur +PTableCollaborateur est une Classe +protégé +m_clTableauModele est un MTableauDeCollaborateur dynamique +// modèle associé à la présentation +m_clModeleCourant est un MCollaborateur dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeCollaborateur dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MCollaborateur +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MCollaborateur dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +06/08/2026 Isis_BO 5688 + +Partie 6 › Classe › PTableCollaborateur › Code +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier, *) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeCollaborateur +selon nMode +cas 0 : clTableauModele.ChargerTous() +cas 1 : clTableauModele.ChargerViaSociete(MesParamètres[2à]) +cas 2 : clTableauModele.ChargerCeuxSansSociete(MesParamètres[2à]) +cas 3 : clTableauModele.ChargerCeuxPasDansEquipe(MesParamètres[2à]) +cas 4 : clTableauModele.ChargerViaIntervention(MesParamètres[2à]) +cas 5 : clTableauModele.ChargerCeuxActif() +cas 6 : clTableauModele.ChargerCeuxEncadrant(MesParamètres[2à]) +cas 7 : clTableauModele.ChargerCeuxpourImprimAgenda(MesParamètres[2à]) +cas 8 : clTableauModele.ChargerViaUtilisateur(MesParamètres[2à]) +cas 9 : clTableauModele.rechercheGlobale(MesParamètres[2à]) +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableCollaborateur(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheCollaborateur(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MCollaborateur dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau(*) +clModele est un MCollaborateur() +clPresentationFiche est un PFicheCollaborateur(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MCollaborateur dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +Méthode RechercheEtDonneNomDepuisID +procédure RechercheEtDonneNomDepuisID(nIdCollab est un entier sur 8 octets) +n est un entier = TableauCherche(:m_clTabModele,tcLinéaire,"m_nPKID",nIdCollab) +si n=-1 alors +renvoyer "" +sinon +renvoyer :m_clTabModele[n]:NomPrenom +06/08/2026 Isis_BO 5689 + +Partie 6 › Classe › PTableCollaborateur › Code +fin +Méthode Trie +// Résumé : +// Syntaxe : +//Trie () +// +// Paramètres : +// sMembresTrie : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Trie(sMembresTrie) +si sMembresTrie<>"" alors +TableauTrie(:m_clTabModele, ttMembre,sMembresTrie) +m_bTrie = Vrai +fin +06/08/2026 Isis_BO 5690 + +Partie 6 › Classe › MTableauDeSociete_Collaborateur › Code +MTableauDeSociete_Collaborateur +Code +Déclaration de MTableauDeSociete_Collaborateur +MTableauDeSociete_Collaborateur est une Classe +public +m_clTabModele est un tableau de MSociete_Collaborateur dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MSociete_Collaborateur dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MSociete_Collaborateur dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger(local nIDSociete est un entier sur 8 octets) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 5691 + +Partie 6 › Classe › MTableauDeSociete_Collaborateur › Code +// +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT Societe_Collaborateur.*, Collaborateur.* +FROM Societe_Collaborateur +INNER JOIN Collaborateur ON (Collaborateur.CO_PKID=Societe_Collaborateur.SC_IDCollaborateur) +WHERE Societe_Collaborateur.SC_IDCSociete={p_idSociete} +] +reqSQL.p_idSociete = nIDSociete +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MSociete_Collaborateur +clModele.Charger(reqSQL) +clModele:m_clCollaborateur:Charger(reqSQL) +clModele:m_bLiaison = nIDSociete>0 ? Vrai sinon Faux +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerSocieteCollab +// Résumé : +// Syntaxe : +//ChargerSocieteCollab ( est entier sur 8 octets) +// +// Paramètres : +// nIDCollab (entier sur 8 octets) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargerSocieteCollab(local nIDCollab est un entier sur 8 octets) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT Societe_Collaborateur.*, Collaborateur.*, Societe.* +FROM Societe_Collaborateur +INNER JOIN Collaborateur ON (Collaborateur.CO_PKID=Societe_Collaborateur.SC_IDCollaborateur) +INNER JOIN Societe ON (Societe.SO_PKID=Societe_Collaborateur.SC_IDCSociete) +WHERE Societe_Collaborateur.SC_IDCollaborateur={p_idCollab} +] +reqSQL.p_idCollab = nIDCollab +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MSociete_Collaborateur +clModele.Charger(reqSQL) +clModele:m_clCollaborateur:Charger(reqSQL) +clModele:m_clSociete:Charger(reqSQL) +06/08/2026 Isis_BO 5692 + +Partie 6 › Classe › MTableauDeSociete_Collaborateur › Code +clModele:m_bLiaison = Societe_Collaborateur.SC_IDCSociete>0 ? Vrai sinon Faux +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 5693 + +Partie 6 › Classe › PTableSociete_Collaborateur › Code +PTableSociete_Collaborateur +Code +Déclaration de PTableSociete_Collaborateur +PTableSociete_Collaborateur est une Classe +protégé +m_clTableauModele est un MTableauDeSociete_Collaborateur dynamique +// modèle associé à la présentation +m_clModeleCourant est un MSociete_Collaborateur dynamique +// référence sur le modèle de données courant +m_nMethodeCustom est un entier +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeSociete_Collaborateur dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété MethodeCustom +procédure publique MethodeCustom() : entier +renvoyer m_nMethodeCustom +Affectation de la propriété MethodeCustom +procédure publique MethodeCustom(nValeur est un entier) +m_nMethodeCustom=nValeur +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MSociete_Collaborateur +si m_clModeleCourant=Null alors +clModele est un MSociete_Collaborateur() +renvoyer clModele +06/08/2026 Isis_BO 5694 + +Partie 6 › Classe › PTableSociete_Collaborateur › Code +sinon +renvoyer m_clModeleCourant +fin +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MSociete_Collaborateur dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier,*) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeSociete_Collaborateur +selon nMode +cas 0 : clTableauModele.Charger(MesParamètres[2à]) +cas 1 : clTableauModele.ChargerSocieteCollab(MesParamètres[2à]) +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableSociete_Collaborateur(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier(pclCollab est un MCollaborateur dynamique=Null) +//Le collab existe déjà +si pclCollab<>Null alors +si m_clModeleCourant:m_clCollaborateur:IdentifiantUnique=pclCollab:IdentifiantUnique alors +m_clModeleCourant:m_clCollaborateur <= pclCollab +//Création d'une instance +clPresentationFiche est un PFicheSociete_Collaborateur(m_clModeleCourant) +renvoyer clPresentationFiche +fin +sinon +clPresentationFiche est un PFicheSociete_Collaborateur(m_clModeleCourant,ApresModification) +renvoyer clPresentationFiche +fin +procédure interne ApresModification(pclModele est un MSociete_Collaborateur dynamique) +DemandeMiseAJourIHM() +06/08/2026 Isis_BO 5695 + +Partie 6 › Classe › PTableSociete_Collaborateur › Code +fin +Méthode ModifierCustom +// Résumé : +// Syntaxe : +//[ = ] ModifierCustom ([...]) +// +// Paramètres : +// <*> : > +// Valeur de retour : +// PFicheCollaborateur : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// <*> : > +procédure ModifierCustom(*) +selon m_nMethodeCustom +cas 1 : +clPresentationFiche est un PFicheCollaborateur(m_clModeleCourant:m_clCollaborateur, +ApresModification) +renvoyer clPresentationFiche +fin +procédure interne ApresModification(pclModele est un objet dynamique) +Modifier(pclModele) +DemandeMiseAJourIHM() +fin +Méthode Nouveau +procédure Nouveau(local bLier est un booléen,local nIdLie est un entier sur 8 octets,pclCollaborateur +est un MCollaborateur dynamique=Null) +clModele est un MSociete_Collaborateur() +clModele.m_bLiaison = bLier +clModele.m_nIDSociete= nIdLie +//Le collaborateur existe déjà +si pclCollaborateur<>Null alors +//Affectation de l'objet personne +clModele.m_clCollaborateur = pclCollaborateur +//Création d'une instance +clPresentationFiche est un PFicheSociete_Collaborateur(clModele) +//Affecation de l'id de la personne et du rôle +clPresentationFiche:m_nIDCollaborateur = clModele.m_clCollaborateur:IdentifiantUnique +//Ajout de l'instance au tableau +m_clTableauModele.Ajouter(clModele) +clErreur est un CErreur +06/08/2026 Isis_BO 5696 + +Partie 6 › Classe › PTableSociete_Collaborateur › Code +//Enregistrement en BDD +si pas clPresentationFiche.bOK(clErreur) alors ExceptionPropage(clErreur.FormateMessage()) +//PAS clPresentationFiche.bOK(clErreur,Faux,Vrai) +renvoyer clPresentationFiche +sinon +clPresentationFiche est un PFicheSociete_Collaborateur(clModele,ApresAjout) +renvoyer clPresentationFiche +fin +procédure interne ApresAjout(pclModele est un MSociete_Collaborateur dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +Méthode NouveauCustom +// Résumé : +// Syntaxe : +//[ = ] NouveauCustom ([...]) +// +// Paramètres : +// <*> : > +// Valeur de retour : +// PFicheCollaborateur : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure NouveauCustom(*) +selon m_nMethodeCustom +cas 1 : +clModele est un MCollaborateur() +clModele.m_bLier = MesParamètres[1] +clModele.m_nIdLie = MesParamètres[2] +clModele.m_nMethodeCustom = m_nMethodeCustom +clPresentationFiche est un PFicheCollaborateur(clModele,ApresAjoutMethodeCustom1) +renvoyer clPresentationFiche +fin +procédure interne ApresAjoutMethodeCustom1(pclModele est un MCollaborateur dynamique) +Nouveau(pclModele.m_bLier,pclModele.m_nIdLie,pclModele) +fin +Méthode Trie +// Résumé : +// Syntaxe : +//Trie () +// +// Paramètres : +// sMembresTrie : +// Valeur de retour : +// Aucune +06/08/2026 Isis_BO 5697 + +Partie 6 › Classe › PTableSociete_Collaborateur › Code +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Trie(sMembresTrie) +si sMembresTrie<>"" alors +TableauTrie(:m_clTabModele, ttMembre,sMembresTrie) +fin +06/08/2026 Isis_BO 5698 + +Partie 6 › Classe › MEquipe › Code +MEquipe +Code +Déclaration de MEquipe +MEquipe est une Classe +//************************************************************************************************* +************* +//Le modèle MEquipe hérite du modèle de base +//************************************************************************************************* +************* +hérite de MBase +//************************************************************************************************* +************* +//Membres liés aux rubriques du fichier Equipe +//************************************************************************************************* +************* + +m_nPKID est un entier sur 8 octets +m_sNom est une chaîne ANSI +m_nIDSociete est un entier sur 8 octets + +//************************************************************************************************* +************* +// Membres NON liés aux rubriques du fichier Equipe +//************************************************************************************************* +************* +// VARIABLE DE TYPE SIMPLE +// VARIABLE DE TYPE CLASSE +// VARIABLE DE TYPE TABLEAU +m_clTabModele est un tableau de MCollaborateur dynamique +fin +Méthode bControle +procédure bControle(clErreur est un CErreur,local bSupprime est un booléen) +bResultat est un booléen=Vrai +tabListeErr est un tableau de chaînes +quand exception dans +si pas bSupprime alors +si SansEspace(:m_sNom)="" alors Ajoute(tabListeErr, +"Veuillez renseigner le nom de l'équipe") +si :m_nIDSociete=0 alors Ajoute(tabListeErr, +"Veuillez choisir la société lié à l'équipe") +sinon +fin +si tabListeErr..Occurrence>0 alors +goto ERREURFONCTIONNELLE +sinon +goto SORTIE +06/08/2026 Isis_BO 5699 + +Partie 6 › Classe › MEquipe › Code +fin +ERREURFONCTIONNELLE : +clErreur.Init(CErreur.Fonctionnelle,tabListeErr) +bResultat = Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +bResultat = Faux +fin +SORTIE : +renvoyer bResultat +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +si :m_nPKID > 0 alors +ReqSQL est une Requête SQL = [ +DELETE FROM Equipe_Collaborateur WHERE Equipe_Collaborateur.EC_IDEquipe = {p_IdEquipe} +] +ReqSQL.p_IdEquipe = :m_nPKID +// exécution de la requête +si pas HExécuteRequête(ReqSQL,hVérifieIntégrité+hVérifieDoublon) alors +clErreur.Init(CErreur.ErreurHFSQL,HErreurInfo(hErrComplet)) +renvoyer Faux +fin +ReqSQL_2 est une Requête SQL = [ +UPDATE Planning_RDV SET PL_IDEquipe = 0 WHERE PL_IDEquipe = {p_IdEquipe} +] +ReqSQL_2.p_IdEquipe = :m_nPKID +// exécution de la requête +si pas HExécuteRequête(ReqSQL_2,hVérifieIntégrité+hVérifieDoublon) alors +clErreur.Init(CErreur.ErreurHFSQL,HErreurInfo(hErrComplet)) +renvoyer Faux +fin +ReqSQL_3 est une Requête SQL = [ +DELETE FROM Equipe WHERE Equipe.EQ_PKID = {p_IdEquipe} +] +ReqSQL_3.p_IdEquipe = :m_nPKID +// exécution de la requête +si pas HExécuteRequête(ReqSQL_3,hVérifieIntégrité+hVérifieDoublon) alors +clErreur.Init(CErreur.ErreurHFSQL,HErreurInfo(hErrComplet)) +renvoyer Faux +fin +fin +renvoyer Vrai +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +06/08/2026 Isis_BO 5700 + +Partie 6 › Classe › MEquipe › Code +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer m_sNom +06/08/2026 Isis_BO 5701 + +Partie 6 › Classe › PFicheEquipe › Code +PFicheEquipe +Code +Déclaration de PFicheEquipe +PFicheEquipe est une Classe +protégé +m_clModeleCourant est un MEquipe +// modèle associé à la présentation +m_clModeleSource est un MEquipe dynamique +// référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +m_clListeCollabEquipe est un PTableEquipe_Collaborateur dynamique +// liste des collaborateurs de l'équipe +m_clListeCollabPasDansEquipe est un PTableCollaborateur dynamique +// liste des collaborateurs qui ne font pas partie de cette equipe +fin +Méthode AppelProcValidation +// Résumé : +// Syntaxe : +// AppelProcValidation () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AppelProcValidation() +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleSource) +m_pValidation = Null +DemandeMiseAJourIHM() +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +//,LOCAL bAvecTransaction est un booléen,LOCAL bMajCourant est un booléen +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// SI bAvecTransaction ALORS HTransactionDébut(gcnxBO,"EQUIPE,EQUIPE_COLLABORATEUR") +//Contôle des données Equipe +06/08/2026 Isis_BO 5702 + +Partie 6 › Classe › PFicheEquipe › Code +:FicheEnCours:bControle(clErreur,Faux) +si pas clErreur.p_bOk alors goto ERREURTRANSAC +//************************************************** +//Traitement des données Equipe +//************************************************** +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURTRANSAC +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +// SI bMajCourant ALORS +// m_clModeleCourant <= m_clModeleSource +// FIN +//Termine la transaction +// SI bAvecTransaction ALORS HTransactionFin(gcnxBO) +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURTRANSAC : +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MEquipe dynamique, pValidation est une procédure=Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +06/08/2026 Isis_BO 5703 + +Partie 6 › Classe › PFicheEquipe › Code +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété ChargeListeCollaborateurEquipe +procédure publique ChargeListeCollaborateurEquipe(): PTableEquipe_Collaborateur +gListeCollaborateurDansEquipe(objet) +renvoyer ListeCollaborateurEquipe +Récupération de la propriété FicheEnCours +procédure publique FicheEnCours() : MEquipe +renvoyer m_clModeleCourant +Affectation de la propriété FicheEnCours +procédure publique FicheEnCours(clValeur est MEquipe) +m_clModeleCourant=clValeur +Récupération de la propriété ListeCollaborateurEquipe +procédure publique ListeCollaborateurEquipe() : PTableEquipe_Collaborateur +renvoyer m_clListeCollabEquipe +Affectation de la propriété ListeCollaborateurEquipe +procédure publique ListeCollaborateurEquipe(clValeur est PTableEquipe_Collaborateur) +m_clListeCollabEquipe=clValeur +Récupération de la propriété ListeCollaborateurPasDansEquipe +procédure publique ListeCollaborateurPasDansEquipe() : PTableCollaborateur +renvoyer m_clListeCollabPasDansEquipe +Affectation de la propriété ListeCollaborateurPasDansEquipe +procédure publique ListeCollaborateurPasDansEquipe(clValeur est PTableCollaborateur) +m_clListeCollabPasDansEquipe=clValeur +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MEquipe +renvoyer m_clModeleCourant +Récupération de la propriété PFicheEnCours +procédure publique PFicheEnCours() +06/08/2026 Isis_BO 5704 + +Partie 6 › Classe › PFicheEquipe › Code +renvoyer Null +Affectation de la propriété PFicheEnCours +procédure publique PFicheEnCours(Valeur) +Méthode gListeCollaborateurDansEquipe +// Résumé : +// Syntaxe : +//gListeCollaborateurDansEquipe ( est PFicheEquipe) +// +// Paramètres : +// clPresentation (PFicheEquipe) : +// Valeur de retour : +// Aucune +// +procédure publique globale gListeCollaborateurDansEquipe(clPresentation est un PFicheEquipe) +clPresentation.m_clListeCollabEquipe = PTableEquipe_Collaborateur.gNouvellePresentation(1, +clPresentation.IdentifiantUnique) +Méthode gListeCollaborateurPasDansEquipe +// Résumé : +// Syntaxe : +//gListeCollaborateurPasDansEquipe ( est PFicheEquipe) +// +// Paramètres : +// clPresentation (PFicheEquipe) : +// Valeur de retour : +// Aucune +// +procédure publique globale gListeCollaborateurPasDansEquipe(clPresentation est un PFicheEquipe) +clPresentation.m_clListeCollabPasDansEquipe = PTableCollaborateur.gNouvellePresentation(3, +clPresentation.m_nIDSociete,clPresentation.IdentifiantUnique) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MEquipe() +clPresentation est un PFicheEquipe(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 5705 + +Partie 6 › Classe › MTableauDeEquipe › Code +MTableauDeEquipe +Code +Déclaration de MTableauDeEquipe +MTableauDeEquipe est une Classe +public +m_clTabModele est un tableau de MEquipe dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MEquipe dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MEquipe dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger() +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 5706 + +Partie 6 › Classe › MTableauDeEquipe › Code +// +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT * +FROM Equipe +ORDER BY Equipe.EQ_Nom +] +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MEquipe +clModele.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerPourUneSociete +procédure ChargerPourUneSociete(local nIdSociete est un entier sur 8 octets) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT * +FROM Equipe +WHERE Equipe.EQ_IDSociete = {p_nIdSociete} +ORDER BY Equipe.EQ_Nom +] +reqSQL.p_nIdSociete = nIdSociete=-1 ? Null sinon nIdSociete +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MEquipe +clModele.Charger(reqSQL) +clModele:m_bLiaison = nIdSociete>0 ? Vrai sinon Faux +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerSansSociete +procédure ChargerSansSociete() +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +06/08/2026 Isis_BO 5707 + +Partie 6 › Classe › MTableauDeEquipe › Code +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT * +FROM Equipe +WHERE Equipe.EQ_IDSociete = 0 +ORDER BY Equipe.EQ_Nom +] +//reqSQL.p_nIdSociete = nIdSociete=-1 ? Null SINON nIdSociete +//reqSQL.p_nIdSocieteExclu= nIdSocieteAExclure=-1 ? Null SINON nIdSocieteAExclure +//reqSQL.p_nIdSocieteNull = nIdSocieteAExclure=-1 ? Null SINON 0 +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MEquipe +clModele.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 5708 + +Partie 6 › Classe › PTableEquipe › Code +PTableEquipe +Code +Déclaration de PTableEquipe +PTableEquipe est une Classe +protégé +m_clTableauModele est un MTableauDeEquipe dynamique// modèle associé à la présentation +m_clModeleCourant est un MEquipe dynamique +// référence sur le modèle de données courant +m_clFicheCourant est un PFicheEquipe dynamique +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +pclPresenFicheEquipe est un PFicheEquipe dynamique +pclPresenFicheEquipe<-:Modifier() +PFicheEquipe.gListeCollaborateurDansEquipe(pclPresenFicheEquipe) +pour i = pclPresenFicheEquipe:ListeCollaborateurEquipe:p_nTotal _à_ 1 pas -1 +pclPresenFicheEquipe:ListeCollaborateurEquipe:m_clTabModele[i]:bSupprimer(clErreur) +fin +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeEquipe dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MEquipe +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MEquipe dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +clFicheEquipe est un PFicheEquipe(m_clModeleCourant,*) +PFicheEnCours = clFicheEquipe +06/08/2026 Isis_BO 5709 + +Partie 6 › Classe › PTableEquipe › Code +// clFicheEquipe est un PFicheEquipe <- PFicheEnCours +// SI clFicheEquipe<> NULL ALORS +// PFicheEquipe.gListeCollaborateurDansEquipe(clFicheEquipe) +// FIN +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +renvoyer TableauOccurrence(m_clTabModele) +Récupération de la propriété PFicheEnCours +procédure publique PFicheEnCours():PFicheEquipe +si pas p_bModeleCourantVide alors +renvoyer m_clFicheCourant +sinon +renvoyer Null +fin +Affectation de la propriété PFicheEnCours +procédure PFicheEnCours(pclValeur est un PFicheEquipe dynamique) +si m_clFicheCourant <> pclValeur alors +m_clFicheCourant = pclValeur +PFicheEquipe.gListeCollaborateurDansEquipe(m_clFicheCourant) +PFicheEquipe.gListeCollaborateurPasDansEquipe(m_clFicheCourant) +fin +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier,*) +//LOCAL nIdSociete est un entier sur 8 octets,LOCAL nIdSocieteAExclure est un entier sur 8 octets=-1 +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeEquipe +//Toutes les équipes +selon nMode +cas 0 : clTableauModele.Charger() +cas 1 : clTableauModele.ChargerPourUneSociete(MesParamètres[2]) +cas 2 : clTableauModele.ChargerSansSociete() +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableEquipe(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheEquipe(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MEquipe dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +06/08/2026 Isis_BO 5710 + +Partie 6 › Classe › PTableEquipe › Code +procédure Nouveau(*) +//LOCAL bLier est un booléen,LOCAL nIdLie est un entier sur 8 octets +clModele est un MEquipe() +clModele.m_bLiaison = MesParamètres..Occurrence>=1 ? MesParamètres[1] sinon Faux +clModele.m_nIDSociete=MesParamètres..Occurrence>=2 ? MesParamètres[2] sinon 0 +clPresentationFiche est un PFicheEquipe(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MEquipe dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +Méthode Trie +// Résumé : +// Syntaxe : +//Trie () +// +// Paramètres : +// sMembresTrie : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Trie(sMembresTrie) +si sMembresTrie<>"" alors +TableauTrie(:m_clTabModele, ttMembre,sMembresTrie) +fin +06/08/2026 Isis_BO 5711 + +Partie 6 › Classe › MEquipe_Collaborateur › Code +MEquipe_Collaborateur +Code +Déclaration de MEquipe_Collaborateur +MEquipe_Collaborateur est une Classe +//************************************************************************************************* +************* +//Le modèle MEquipe_Collaborateur hérite du modèle de base +//************************************************************************************************* +************* +hérite de MBase +//************************************************************************************************* +************* +//Membres liés aux rubriques du fichier Equipe_Collaborateur +//************************************************************************************************* +************* + +m_nPKID est un entier sur 8 octets +m_nIDCollaborateur est un entier sur 8 octets +m_nIDEquipe est un entier sur 8 octets + +//************************************************************************************************* +************* +// Membres NON liés aux rubriques du fichier Equipe_Collaborateur +//************************************************************************************************* +************* +// VARIABLE DE TYPE SIMPLE +// VARIABLE DE TYPE CLASSE +m_clCollaborateurest un MCollaborateur +m_clEquipe est un MEquipe +// VARIABLE DE TYPE TABLEAU +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +06/08/2026 Isis_BO 5712 + +Partie 6 › Classe › MEquipe_Collaborateur › Code +renvoyer "" +| 06/08/2026 | Isis_BO | 5713 | +| ---------- | ------- | ---- | + +Partie 6 › Classe › PFicheEquipe_Collaborateur › Code +PFicheEquipe_Collaborateur +Code +Déclaration de PFicheEquipe_Collaborateur +PFicheEquipe_Collaborateur est une Classe +protégé +m_clModeleCourant est un MEquipe_Collaborateur // modèle associé à la présentation +m_clModeleSource est un MEquipe_Collaborateur dynamique // référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURENREG +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURENREG : +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +06/08/2026 Isis_BO 5714 + +Partie 6 › Classe › PFicheEquipe_Collaborateur › Code +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MEquipe_Collaborateur dynamique, pValidation est une procédure= +Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MEquipe_Collaborateur +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MEquipe_Collaborateur() +clPresentation est un PFicheEquipe_Collaborateur(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 5715 + +Partie 6 › Classe › MTableauDeEquipe_Collaborateur › Code +MTableauDeEquipe_Collaborateur +Code +Déclaration de MTableauDeEquipe_Collaborateur +MTableauDeEquipe_Collaborateur est une Classe +public +m_clTabModele est un tableau de MEquipe_Collaborateur dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MEquipe_Collaborateur dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MEquipe_Collaborateur dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 5716 + +Partie 6 › Classe › MTableauDeEquipe_Collaborateur › Code +// +// récupération des données +reqSQL est une Requête SQL = [ +SELECT Equipe_Collaborateur.* +,Collaborateur.* +FROM Equipe_Collaborateur +LEFT OUTER JOIN Collaborateur ON (Collaborateur.CO_PKID=Equipe_Collaborateur.EC_IDCollaborateur) +] +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MEquipe_Collaborateur +clModele.Charger(reqSQL) +clModele:m_clCollaborateur.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerDepuisCollab +procédure ChargerDepuisCollab(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = [ +SELECT Equipe_Collaborateur.* +,Equipe.* +FROM Equipe_Collaborateur +LEFT OUTER JOIN Equipe ON (Equipe.EQ_PKID=Equipe_Collaborateur.EC_IDEquipe) +WHERE +(Equipe.EQ_PKID IS NULL +OR (Equipe.EQ_PKID IS NOT NULL AND Equipe_Collaborateur.EC_IDCollaborateur = {p_nIdCollab}) +) +] +reqSQL.p_nIdCollab = MesParamètres..Occurrence=0 ? Null sinon MesParamètres[1] +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MEquipe_Collaborateur +clModele.Charger(reqSQL) +clModele:m_clEquipe.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerDepuisEquipe +procédure ChargerDepuisEquipe(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +06/08/2026 Isis_BO 5717 + +Partie 6 › Classe › MTableauDeEquipe_Collaborateur › Code +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = [ +SELECT Equipe_Collaborateur.* +,Collaborateur.* +FROM Equipe_Collaborateur +LEFT OUTER JOIN Collaborateur ON (Collaborateur.CO_PKID=Equipe_Collaborateur.EC_IDCollaborateur) +WHERE +(Collaborateur.CO_PKID IS NULL +OR (Collaborateur.CO_PKID IS NOT NULL AND Equipe_Collaborateur.EC_IDEquipe = {p_nIdEquipe}) +) +] +reqSQL.p_nIdEquipe = MesParamètres..Occurrence=0 ? Null sinon MesParamètres[1] +si reqSQL.p_nIdEquipe > 0 alors +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MEquipe_Collaborateur +clModele.Charger(reqSQL) +clModele:m_clCollaborateur.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 5718 + +Partie 6 › Classe › PTableEquipe_Collaborateur › Code +PTableEquipe_Collaborateur +Code +Déclaration de PTableEquipe_Collaborateur +PTableEquipe_Collaborateur est une Classe +protégé +m_clTableauModele est un MTableauDeEquipe_Collaborateur dynamique +// modèle associé à la présentation +m_clModeleCourant est un MEquipe_Collaborateur dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeEquipe_Collaborateur dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MEquipe_Collaborateur +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MEquipe_Collaborateur dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +06/08/2026 Isis_BO 5719 + +Partie 6 › Classe › PTableEquipe_Collaborateur › Code +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier,*) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeEquipe_Collaborateur +selon nMode +cas 0 : clTableauModele.Charger(MesParamètres[2à]) +cas 1 : clTableauModele.ChargerDepuisEquipe(MesParamètres[2à]) +cas 2 : clTableauModele.ChargerDepuisCollab(MesParamètres[2à]) +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableEquipe_Collaborateur(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheEquipe_Collaborateur(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MEquipe_Collaborateur dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau() +clModele est un MEquipe_Collaborateur() +clPresentationFiche est un PFicheEquipe_Collaborateur(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MEquipe_Collaborateur dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +Méthode Trie +// Résumé : +// Syntaxe : +//Trie () +// +// Paramètres : +// sMembresTrie : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Trie(sMembresTrie) +si sMembresTrie<>"" alors +06/08/2026 Isis_BO 5720 + +Partie 6 › Classe › PTableEquipe_Collaborateur › Code +TableauTrie(:m_clTabModele, ttMembre,sMembresTrie) +fin +| 06/08/2026 | Isis_BO | 5721 | +| ---------- | ------- | ---- | + +Partie 6 › Classe › MUtilisateur › Code +MUtilisateur +Code +Déclaration de MUtilisateur +MUtilisateur est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +| m_sLogin | est une chaîne ANSI | | | | +| ------------- | ------------------- | ------------------ | ----------------------- | --- | +| m_sNom | est une chaîne ANSI | | | | +| m_sPrenom | est une chaîne ANSI | | | | +| m_sMotDePasse | est une chaîne ANSI | | | | +m_bMotDePasseAChangerest un booléen +| m_sEmail | est une chaîne ANSI | | | | +| ----------------- | ------------------- | --------------------------- | --- | --- | +| m_sTelMobile | est une chaîne ANSI | | | | +| m_bAdministrateur | est un booléen | | | | +m_nIDSocietePrincipale est un entier sur 8 octets +m_nIDCollaborateur est un entier sur 8 octets +m_nIDTypeProfil est un entier sur 8 octets +m_sCleLicenceMobile est une chaîne +| m_bAccesBO | est un booléen | | | | +| -------------- | -------------- | --- | ------------------------ | --- | +| m_bAccesMobile | est un booléen | | | | + +| m_sMotDePasseAffichage | est une chaîne ANSI | | | | +| ----------------------- | ------------------- | --- | --- | --- | +fin +Méthode bControle +// Résumé : +// Syntaxe : +//[ = ] bControle ( est CErreur, est booléen, est booléen) +// +// Paramètres : +// clErreur (CErreur) : +// bAjout (booléen) : +// bSupprime (booléen) : +// Valeur de retour : +| // booléen : // Aucune | | | | | +| ------------------------ | --- | --- | --- | --- | +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure bControle(clErreur est un CErreur,local bAjout est un booléen,local bSupprime est un +booléen) +bResultat est un booléen=Vrai +tabListeErr est un tableau de chaînes +quand exception dans +si pas bSupprime alors +si SansEspace(:m_sLogin)="" _et_ :m_bAccesBO alors Ajoute(tabListeErr, +"Veuillez renseigner le login") +si SansEspace(:m_sCleLicenceMobile)="" _et_ :m_bAccesMobile alors Ajoute(tabListeErr, +"Veuillez renseigner la clé de licence mobile") +si SansEspace(:m_sLogin)<>"" alors +reqSQL est une Requête SQL = +[ +| 06/08/2026 | | Isis_BO | | 5722 | +| ---------- | --- | ------- | --- | ---- | + +Partie 6 › Classe › MUtilisateur › Code +SELECT 1 FROM Utilisateur WHERE Utilisateur.UT_Login={p_login} AND Utilisateur.UT_PKID +<>{p_pkid} +] +reqSQL.p_login = :m_sLogin +reqSQL.p_pkid = :m_nPKID +si HExécuteRequête(reqSQL,hRequêteDéfaut) alors +si HNbEnr(reqSQL)>0 alors +Ajoute(tabListeErr,"Le login existe déjà") +fin +fin +fin +sinon +sdCtrlInterv est une Source de Données +si HExécuteRequêteSQL(sdCtrlInterv,hRequêteDéfaut,ChaîneConstruit( +"SELECT COUNT(*) AS NB FROM Intervention,Collaborateur,Utilisateur WHERE +Intervention.IN_IDSuiviPar=Collaborateur.CO_PKID AND +Collaborateur.CO_PKID=Utilisateur.UT_IDCollaborateur AND Utilisateur.UT_PKID=%1 HAVING +COUNT(*)>0" +,:m_nPKID)) alors +si HNbEnr(sdCtrlInterv)>0 alors +Ajoute(tabListeErr,ChaîneConstruit("Le collaborateur associé à cet utiliseur +est présent dans %1 intervention%2",sdCtrlInterv.NB,sdCtrlInterv.NB>1 ? "s" sinon "") +) +fin +fin +HLibèreRequête(sdCtrlInterv) +fin +si tabListeErr..Occurrence>0 alors +goto ERREURFONCTIONNELLE +sinon +goto SORTIE +fin +ERREURFONCTIONNELLE : +clErreur.Init(CErreur.Fonctionnelle,tabListeErr) +bResultat = Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +bResultat = Faux +fin +SORTIE : +renvoyer bResultat +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer m_sNom +Récupération de la propriété MotDePasseAffichage +06/08/2026 Isis_BO 5723 + +Partie 6 › Classe › MUtilisateur › Code +procédure publique MotDePasseAffichage() : chaîne +renvoyer m_sMotDePasse +//Gauche(BufferVersHexa(HashChaîne(HA_MD5_128,m_sMotDePasse+Mdp3),SansRegroupement),50) +Affectation de la propriété MotDePasseAffichage +procédure MotDePasseAffichage(valeur) +m_sMotDePasseAffichage = valeur +//Gauche(BufferVersHexa(HashChaîne(HA_MD5_128,valeur+Mdp3),SansRegroupement),50) +Récupération de la propriété NomPrenomLogin +procédure publique NomPrenomLogin() +renvoyer :m_sNom + " " + :m_sPrenom + " ("+:m_sLogin+") " +Récupération de la propriété sNomPrenomCollab +procédure publique sNomPrenomCollab() : chaîne +si :m_nIDCollaborateur<>0 _et_ HLitRecherchePremier(Collaborateur,CO_PKID,:m_nIDCollaborateur) alors +renvoyer Collaborateur.CO_Prenom+" "+Collaborateur.CO_Nom +sinon +renvoyer "" +fin +Affectation de la propriété sNomPrenomCollab +procédure publique sNomPrenomCollab(Valeur) +Récupération de la propriété sNomSocietePrincipale +procédure publique sNomSocietePrincipale() : chaîne +si :m_nIDSocietePrincipale<>0 _et_ HLitRecherchePremier(Societe,SO_PKID,:m_nIDSocietePrincipale) alors +renvoyer Societe.SO_Nom +sinon +renvoyer "" +fin +06/08/2026 Isis_BO 5724 + +Partie 6 › Classe › PFicheUtilisateur › Code +PFicheUtilisateur +Code +Déclaration de PFicheUtilisateur +PFicheUtilisateur est une Classe +protégé +m_clModeleCourant est un MUtilisateur +// modèle associé à la présentation +m_clModeleSource est un MUtilisateur dynamique // référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +m_clListeSociete est un PTableSociete dynamique +m_clFicheCollaborateur est un PFicheCollaborateur dynamique // +m_clListeParamUser est un PTableParametreUtilisateur dynamique +m_clListeAccesEtDroitest un PTableAccesEtDroit dynamique +fin +Méthode AppelProcValidation +// Résumé : +// Syntaxe : +// AppelProcValidation () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AppelProcValidation() +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleSource) +m_pValidation = Null +DemandeMiseAJourIHM() +fin +Méthode bOK +procédure bOK(clErreur est un CErreur)//,LOCAL bMajCourant est un booléen +bResultat est un boolean +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bResultat = Vrai +goto SORTIE +fin +//Débute une transaction sur les fichiers Societe et Adresse +// HTransactionDébut(gcnxBO,"Utilisateur") +//Contôle des données Client, Contact et Adresse +06/08/2026 Isis_BO 5725 + +Partie 6 › Classe › PFicheUtilisateur › Code +si pas :m_clModeleCourant:bControle(clErreur,:m_clModeleCourant:m_bNouveau,Faux) alors goto +ERREURPROGRAMME +//clListeCollab est un PTableCollaborateur(clTableauModele) +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// SI m_clModeleSource:bNouveau() ALORS +// clFicheCollaborateur est un PFicheCollaborateur dynamique +// clFicheCollaborateur = PFicheCollaborateur.gNouvellePresentation() +// clFicheCollaborateur:m_sNom = m_clModeleSource:m_sNom +// clFicheCollaborateur:m_sPrenom= m_clModeleSource:m_sPreNom +// clFicheCollaborateur:m_sTelMobile= m_clModeleSource:m_sTelMobile +// clFicheCollaborateur:m_sEmail = m_clModeleSource:m_sEmail +// clFicheCollaborateur.bOK(clErreur,faux,vrai) +// FIN +si m_clModeleCourant:m_sMotDePasse <> m_clModeleCourant:m_sMotDePasseAffichage alors +//Gauche(BufferVersHexa(HashChaîne(HA_MD5_128,m_clModeleCourant:m_sMotDePasseAffichage+Mdp3),SansRe +groupement),50) ALORS +m_clModeleCourant:m_sMotDePasse = Gauche(BufferVersHexa(HashChaîne(HA_MD5_128,m_clModeleCourant +:m_sMotDePasseAffichage+Mdp3),SansRegroupement),50) +fin +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURPROGRAMME +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +m_clModeleSource<=m_clModeleCourant +// SI bMajCourant ALORS +// m_clModeleCourant <= m_clModeleSource +// FIN +//Termine la transaction +// HTransactionFin(gcnxBO) +//Indique à l'appelant que tout c'est bien passé +bResultat=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURPROGRAMME : +//Annulation de la transaction +// HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bResultat=Faux +faire +//Annulation de la transaction +// HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bResultat=Faux +fin +SORTIE: +renvoyer bResultat +Constructeur +procédure Constructeur(clModele est un MUtilisateur dynamique, pValidation est une procédure=Null) +06/08/2026 Isis_BO 5726 + +Partie 6 › Classe › PFicheUtilisateur › Code +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Méthode DonneColonneEtTriListePerso +// Résumé : +// Syntaxe : +//[ = ] DonneColonneEtTriListePerso ( est entier) +// +// Paramètres : +// nListe (entier) : +// Valeur de retour : +// STListePerso : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneColonneEtTriListePerso(local nListe est un entier):STListePerso +stListeCustom est STListePerso +si m_clListeParamUser<>Null alors +nIndice est un entier +selon nListe +cas 1 : nIndice = TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","LISTE_COLONNE_PERSO_DOSSIERINTERV",:m_nPKID) +cas 2 : nIndice = TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","LISTE_COLONNE_PERSO_CLIENT",:m_nPKID) +cas 3 : nIndice = TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","LISTE_COLONNE_PERSO_SITE",:m_nPKID) +cas 4 : nIndice = TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","LISTE_COLONNE_PERSO_CONTACT",:m_nPKID) +cas 5 : nIndice = TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","LISTE_COLONNE_PERSO_SUIVI_INTERV",:m_nPKID) +fin +si nIndice>0 alors +Désérialise(stListeCustom,m_clListeParamUser.m_clTabModele[nIndice]:m_sValeur,psdJSON) +fin +fin +renvoyer stListeCustom +Méthode DonneCritereListePerso +// Résumé : +// Syntaxe : +//[ = ] DonneCritereListePerso ( est entier) +// +// Paramètres : +// nListe (entier) : +06/08/2026 Isis_BO 5727 + +Partie 6 › Classe › PFicheUtilisateur › Code +// Valeur de retour : +// STCritereListePerso : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneCritereListePerso(local nListe est un entier):STCritereListePerso +stListeCustom est STCritereListePerso +si m_clListeParamUser<>Null alors +nIndice est un entier +selon nListe +cas 1 : nIndice = TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","LISTE_CRITERE_PERSO_DOSSIERINTERV",:m_nPKID) +cas 2 : nIndice = TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","LISTE_CRITERE_PERSO_CLIENT",:m_nPKID) +cas 3 : nIndice = TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","LISTE_CRITERE_PERSO_SITE",:m_nPKID) +cas 4 : nIndice = TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","LISTE_CRITERE_PERSO_CONTACT",:m_nPKID) +cas 5 : nIndice = TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","LISTE_CRITERE_PERSO_SUIVI_INTERV",:m_nPKID) +fin +si nIndice>0 alors +Désérialise(stListeCustom,m_clListeParamUser.m_clTabModele[nIndice]:m_sValeur,psdJSON) +fin +fin +renvoyer stListeCustom +Récupération de la propriété FicheCollaborateur +procédure publique FicheCollaborateur() : PFicheCollaborateur +renvoyer m_clFicheCollaborateur +Affectation de la propriété FicheCollaborateur +procédure publique FicheCollaborateur(clValeur est PFicheCollaborateur dynamique) +m_clFicheCollaborateur=clValeur +Récupération de la propriété FicheEnCours +procédure publique FicheEnCours() : MUtilisateur +renvoyer m_clModeleCourant +Affectation de la propriété FicheEnCours +procédure publique FicheEnCours(clValeur est MUtilisateur) +m_clModeleCourant=clValeur +Récupération de la propriété ListeAccesEtDroit +procédure publique ListeAccesEtDroit() : PTableAccesEtDroit +renvoyer m_clListeAccesEtDroit +Récupération de la propriété ListeParametreUtilisateur +06/08/2026 Isis_BO 5728 + +Partie 6 › Classe › PFicheUtilisateur › Code +procédure publique ListeParametreUtilisateur() : PTableParametreUtilisateur +renvoyer m_clListeParamUser +Récupération de la propriété ListeSociete +procédure publique ListeSociete() : PTableSociete +renvoyer m_clListeSociete +Récupération de la propriété NomPrenomLogin +procédure publique NomPrenomLogin() +renvoyer :m_clModeleCourant:m_sNom + " " + :m_clModeleCourant:m_sPrenom + " ("+:m_clModeleCourant:m_s +Login+") " +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MUtilisateur +renvoyer m_clModeleCourant +Récupération de la propriété p_ParamEmail +procédure publique p_ParamEmail() +si m_clListeParamUser<>Null alors +nIndice est un entier=TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","EMAIL_COMPTE",:m_nPKID) +si nIndice>0 alors +clPresentation est un PFicheParametreUtilisateur(m_clListeParamUser.m_clTabModele[nIndice],*) +renvoyer clPresentation +sinon +clErreur est un CErreur +STParamEmail est STParamEmail +sParamEmail est un Buffer +bufCle est un Buffer = HashChaîne(HA_MD5_128,gsCleMdp) +bufCrypte est un Buffer +si HLitRecherchePremier(ParametreApplication,PAP_Code,"CNX_SMTP") alors +bufCrypte = ParametreApplication.PAP_Valeur +sRésultat est un Buffer = DécrypteStandard(bufCrypte, bufCle, crypteAES128) +STParamEmail.sEmail = ExtraitChaîne(sRésultat,6,"<>",DepuisDébut) +STParamEmail.sCompte = ExtraitChaîne(sRésultat,7,"<>",DepuisDébut) +fin +Sérialise(STParamEmail,sParamEmail,psdJSON) +clNewParametreUtilisateur est un MParametreUtilisateur +clNewParametreUtilisateur.m_sCode="EMAIL_COMPTE" +clNewParametreUtilisateur.m_nIDUtilisateur=:m_nPKID +clNewParametreUtilisateur.m_sValeur=sParamEmail +clPresentation est un PFicheParametreUtilisateur(clNewParametreUtilisateur,*) +si clPresentation.bok(clErreur) alors +//clNewParametreUtilisateur.bEnregistrer(clErreur) +TableauAjouteLigne(m_clListeParamUser.m_clTabModele,clNewParametreUtilisateur) +renvoyer clPresentation +sinon +renvoyer Null +fin +fin +sinon +renvoyer Null +06/08/2026 Isis_BO 5729 + +Partie 6 › Classe › PFicheUtilisateur › Code +fin +Récupération de la propriété p_ParamEmailStruct +procédure publique p_ParamEmailStruct() +pclFicheParam est un PFicheParametreUtilisateur dynamique +stvParamEmail est un STParamEmail +pclFicheParam <- gpclFicheUtilisateurEnCours:p_ParamEmail +si pclFicheParam<>Null alors +si pclFicheParam<> Null alors +Désérialise(stvParamEmail,pclFicheParam:m_sValeur,psdJSON) +fin +fin +renvoyer stvParamEmail +Récupération de la propriété p_ParamEnvoiMail +procédure publique p_ParamEnvoiMail() +si m_clListeParamUser<>Null alors +nIndice est un entier=TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","EMAIL_ENVOI",:m_nPKID) +si nIndice>0 alors +clPresentation est un PFicheParametreUtilisateur(m_clListeParamUser.m_clTabModele[nIndice],*) +renvoyer clPresentation +sinon +clErreur est un CErreur +stParamRecep est STParamEnvoiEmail +bufCrypte est un Buffer +bufCle est un Buffer = HashChaîne(HA_MD5_128, gsCleMdp) +si HLitRecherchePremier(ParametreApplication,PAP_Code,"CNX_SMTP") alors +bufCrypte = ParametreApplication.PAP_Valeur +sRésultat est un Buffer = DécrypteStandard(bufCrypte, bufCle, crypteAES128) +stParamRecep.sLogin = ExtraitChaîne(sRésultat,1,"<>",DepuisDébut) +stParamRecep.sMDP = ExtraitChaîne(sRésultat,2,"<>",DepuisDébut) +stParamRecep.sAdresseserveur = ExtraitChaîne(sRésultat,3,"<>",DepuisDébut) +stParamRecep.sPortServeur = ExtraitChaîne(sRésultat,4,"<>",DepuisDébut) +stParamRecep.nCryptage = Val(ExtraitChaîne(sRésultat,5,"<>",DepuisDébut)) +fin +sParamRecep est un Buffer +Sérialise(stParamRecep,sParamRecep,psdJSON) +bufCrypte = CrypteStandard(sParamRecep, bufCle, crypteAES128) +clNewParametreUtilisateur est un MParametreUtilisateur +clNewParametreUtilisateur.m_sCode="EMAIL_ENVOI" +clNewParametreUtilisateur.m_nIDUtilisateur=:m_nPKID +clNewParametreUtilisateur.m_sValeur=bufCrypte +clPresentation est un PFicheParametreUtilisateur(clNewParametreUtilisateur,*) +si clPresentation.bok(clErreur) alors +//clNewParametreUtilisateur.bEnregistrer(clErreur) +TableauAjouteLigne(m_clListeParamUser.m_clTabModele,clNewParametreUtilisateur) +renvoyer clPresentation +sinon +renvoyer Null +fin +fin +sinon +renvoyer Null +06/08/2026 Isis_BO 5730 + +Partie 6 › Classe › PFicheUtilisateur › Code +fin +Récupération de la propriété p_ParamEnvoiMailStruct +procédure publique p_ParamEnvoiMailStruct() +pclFicheParamEnvoiEmail est un PFicheParametreUtilisateur dynamique +stvParamEnvoiEmail est un STParamEnvoiEmail +pclFicheParamEnvoiEmail <- gpclFicheUtilisateurEnCours:p_ParamEnvoiMail +si pclFicheParamEnvoiEmail<>Null alors +bufCle est un Buffer = HashChaîne(HA_MD5_128,gsCleMdp) +si pclFicheParamEnvoiEmail<>Null alors +bufCrypte est un Buffer = pclFicheParamEnvoiEmail:m_sValeur +//Désérialise(stvParamEnvoiEmail,DécrypteStandard(bufCrypte, bufCle, crypteAES128),psdJSON) +fin +fin +renvoyer stvParamEnvoiEmail +Récupération de la propriété p_ParamReceptionMail +procédure publique p_ParamReceptionMail() +si m_clListeParamUser<>Null alors +nIndice est un entier=TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","EMAIL_RECEPTION",:m_nPKID) +si nIndice>0 alors +clPresentation est un PFicheParametreUtilisateur(m_clListeParamUser.m_clTabModele[nIndice],*) +renvoyer clPresentation +sinon +clErreur est un CErreur +stParamRecep est STParamRecepEmail +sParamRecep est un Buffer +Sérialise(stParamRecep,sParamRecep,psdJSON) +bufCle est un Buffer = HashChaîne(HA_MD5_128,gsCleMdp) +bufCrypte est un Buffer = CrypteStandard(sParamRecep, bufCle, crypteAES128) +clNewParametreUtilisateur est un MParametreUtilisateur +clNewParametreUtilisateur.m_sCode="EMAIL_RECEPTION" +clNewParametreUtilisateur.m_nIDUtilisateur=:m_nPKID +clNewParametreUtilisateur.m_sValeur=bufCrypte +clPresentation est un PFicheParametreUtilisateur(clNewParametreUtilisateur,*) +si clPresentation.bok(clErreur) alors +//clNewParametreUtilisateur.bEnregistrer(clErreur) +TableauAjouteLigne(m_clListeParamUser.m_clTabModele,clNewParametreUtilisateur) +renvoyer clPresentation +sinon +renvoyer Null +fin +fin +sinon +renvoyer Null +fin +Récupération de la propriété p_PrefMessagerie +procédure publique p_PrefMessagerie():PFicheParametreUtilisateur +si m_clListeParamUser<>Null alors +nIndice est un entier=TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +06/08/2026 Isis_BO 5731 + +Partie 6 › Classe › PFicheUtilisateur › Code +"m_sCode;m_nIDUtilisateur","CHOIX_MESSAGERIE",:m_nPKID) +si nIndice>0 alors +clPresentation est un PFicheParametreUtilisateur(m_clListeParamUser.m_clTabModele[nIndice],*) +renvoyer clPresentation +sinon +clErreur est un CErreur +clNewParametreUtilisateur est un MParametreUtilisateur +clNewParametreUtilisateur.m_sCode="CHOIX_MESSAGERIE" +clNewParametreUtilisateur.m_nIDUtilisateur=:m_nPKID +clNewParametreUtilisateur.m_sValeur=ParametreLit(cParam_Messagerie) +clPresentation est un PFicheParametreUtilisateur(clNewParametreUtilisateur,*) +si clPresentation.bok(clErreur) alors +//clNewParametreUtilisateur.bEnregistrer(clErreur) +TableauAjouteLigne(m_clListeParamUser.m_clTabModele,clNewParametreUtilisateur) +renvoyer clPresentation +sinon +renvoyer Null +fin +fin +sinon +renvoyer Null +fin +Récupération de la propriété p_PrefPlanningAgenda +procédure publique p_PrefPlanningAgenda():PFicheParametreUtilisateur +si m_clListeParamUser<>Null alors +nIndice est un entier=TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","CHOIX_PLANNING_AGENDA",:m_nPKID) +si nIndice>0 alors +clPresentation est un PFicheParametreUtilisateur(m_clListeParamUser.m_clTabModele[nIndice],*) +renvoyer clPresentation +sinon +clErreur est un CErreur +clNewParametreUtilisateur est un MParametreUtilisateur +clNewParametreUtilisateur.m_sCode="CHOIX_PLANNING_AGENDA" +clNewParametreUtilisateur.m_nIDUtilisateur=:m_nPKID +clNewParametreUtilisateur.m_sValeur=ParametreLit(cParam_Planning) +clPresentation est un PFicheParametreUtilisateur(clNewParametreUtilisateur,*) +si clPresentation.bok(clErreur) alors +//clNewParametreUtilisateur.bEnregistrer(clErreur) +TableauAjouteLigne(m_clListeParamUser.m_clTabModele,clNewParametreUtilisateur) +renvoyer clPresentation +sinon +renvoyer Null +fin +fin +sinon +renvoyer Null +fin +Méthode gFicheCollaborateur +// Résumé : +// Syntaxe : +//gFicheCollaborateur ( est PFicheUtilisateur [, est +PFicheCollaborateur dynamique]) +// +// Paramètres : +// clFicheUtilisateur (PFicheUtilisateur) : +06/08/2026 Isis_BO 5732 + +Partie 6 › Classe › PFicheUtilisateur › Code +// clFicheCollab (PFicheCollaborateur dynamique - valeur par défaut=0) : < +indiquez ici le rôle de clFicheCollab> +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale gFicheCollaborateur(clFicheUtilisateur est un PFicheUtilisateur, +pclFicheCollab est un PFicheCollaborateur dynamique=Null) +clTabCollab est un PTableCollaborateur dynamique +clTabCollab <- PTableCollaborateur.gNouvellePresentation(8,clFicheUtilisateur.IdentifiantUnique) +si clTabCollab.p_nTotal>=1 alors +pclFicheCollab = allouer un PFicheCollaborateur(clTabCollab.m_clTabModele[1],*) +sinon +pclFicheCollab = PFicheCollaborateur.gNouvellePresentation() +fin +clFicheUtilisateur:FicheCollaborateur = pclFicheCollab +Méthode gListeAccesEtDroit +// Résumé : +// Syntaxe : +//gListeAccesEtDroit ( est PFicheUtilisateur) +// +// Paramètres : +// clPresentation (PFicheUtilisateur) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale gListeAccesEtDroit(clPresentation est un PFicheUtilisateur) +clPresentation.m_clListeAccesEtDroit = PTableAccesEtDroit.gNouvellePresentation(1,clPresentation. +m_nIDTypeProfil) +Méthode gListeParamUtilisateur +// Résumé : +// Syntaxe : +//gListeParamUtilisateur ( est PFicheUtilisateur) +// +// Paramètres : +// clFicheUtilisateur (PFicheUtilisateur) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale gListeParamUtilisateur(clFicheUtilisateur est un PFicheUtilisateur) +clFicheUtilisateur.m_clListeParamUser = PTableParametreUtilisateur.gNouvellePresentation( +clFicheUtilisateur.m_nPKID) +Méthode gListeSocietePossible +06/08/2026 Isis_BO 5733 + +Partie 6 › Classe › PFicheUtilisateur › Code +// Résumé : +// Syntaxe : +//gListeSocietePossible ( est PFicheUtilisateur) +// +// Paramètres : +// clPresentation (PFicheUtilisateur) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale gListeSocietePossible(clPresentation est un PFicheUtilisateur) +clPresentation.m_clListeSociete = PTableSociete.gNouvellePresentation(1,clPresentation. +IdentifiantUnique) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MUtilisateur() +clPresentation est un PFicheUtilisateur(clModele,pValidation) +renvoyer clPresentation +Méthode GranulariteRDV +procédure GranulariteRDV(nGranularite est un entier = 0) +sCode est une chaîne ANSI = "CHOIX_GRANULARITE_RDV" +sGranulariteDefaut est une chaîne ANSI = "60" +si nGranularite > 0 alors +sGranulariteDefaut = nGranularite +fin +si :p_clCourant:m_nPKID > 0 alors +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,[sCode,:p_clCourant:m_nPKID]) +si pas HTrouve(ParametreUtilisateur) alors +HRAZ(ParametreUtilisateur) +ParametreUtilisateur.PU_Code = sCode +ParametreUtilisateur.PU_IDUtilisateur = :p_clCourant:m_nPKID +ParametreUtilisateur.PU_Valeur = sGranulariteDefaut +HAjoute(ParametreUtilisateur) +sinon si nGranularite > 0 alors +ParametreUtilisateur.PU_Valeur = sGranulariteDefaut +HEnregistre(ParametreUtilisateur) +fin +sGranulariteDefaut = ParametreUtilisateur.PU_Valeur +fin +renvoyer sGranulariteDefaut +Méthode HeuresOuvrablesRDV +procédure HeuresOuvrablesRDV(local sHDV est une chaîne ANSI = "", local sHFV est une chaîne ANSI = "") +sCode est une chaîne ANSI= "CHOIX_HEURE_OUVRABLE_RDV" +hHDO_Defaut est une Heure = "0800" +hHFO_Defaut est une Heure = "1800" +06/08/2026 Isis_BO 5734 + +Partie 6 › Classe › PFicheUtilisateur › Code +i est un entier +si sHDV <> "" alors +hHDO_Defaut = sHDV +fin +si sHFV <> "" alors +hHFO_Defaut = sHFV +fin +si :p_clCourant:m_nPKID > 0 alors +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,[sCode,:p_clCourant:m_nPKID]) +si pas HTrouve(ParametreUtilisateur) alors +HRAZ(ParametreUtilisateur) +ParametreUtilisateur.PU_Code = sCode +ParametreUtilisateur.PU_IDUtilisateur = :p_clCourant:m_nPKID +ParametreUtilisateur.PU_Valeur = hHDO_Defaut+";"+hHFO_Defaut +HAjoute(ParametreUtilisateur) +sinon si sHDV <> "" ou sHFV <> "" alors +ParametreUtilisateur.PU_Valeur = hHDO_Defaut+";"+hHFO_Defaut +HEnregistre(ParametreUtilisateur) +fin +pour toute chaîne sUneHeure de ParametreUtilisateur.PU_Valeur séparée par ";" +i += 1 +si i > 1 alors +hHFO_Defaut = sUneHeure +sinon +hHDO_Defaut = sUneHeure +fin +fin +fin +renvoyer (hHDO_Defaut, hHFO_Defaut) +Méthode HeuresVisiblesRDV +procédure HeuresVisiblesRDV(local sHDV est une chaîne ANSI = "", local sHFV est une chaîne ANSI = "") +sCode est une chaîne ANSI = "CHOIX_HEURE_VISIBLE_RDV" +hHDV_Defaut est une Heure = "0700" +hHFV_Defaut est une Heure = "1900" +i est un entier +si sHDV <> "" alors +hHDV_Defaut = sHDV +fin +si sHFV <> "" alors +hHFV_Defaut = sHFV +fin +si :p_clCourant:m_nPKID > 0 alors +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,[sCode,:p_clCourant:m_nPKID]) +si pas HTrouve(ParametreUtilisateur) alors +HRAZ(ParametreUtilisateur) +ParametreUtilisateur.PU_Code = sCode +ParametreUtilisateur.PU_IDUtilisateur = :p_clCourant:m_nPKID +ParametreUtilisateur.PU_Valeur = hHDV_Defaut+";"+hHFV_Defaut +HAjoute(ParametreUtilisateur) +sinon si sHDV <> "" ou sHFV <> "" alors +ParametreUtilisateur.PU_Valeur = hHDV_Defaut+";"+hHFV_Defaut +06/08/2026 Isis_BO 5735 + +Partie 6 › Classe › PFicheUtilisateur › Code +HEnregistre(ParametreUtilisateur) +fin +pour toute chaîne sUneHeure de ParametreUtilisateur.PU_Valeur séparée par ";" +i += 1 +si i > 1 alors +hHFV_Defaut = sUneHeure +sinon +hHDV_Defaut = sUneHeure +fin +fin +fin +renvoyer (hHDV_Defaut, hHFV_Defaut) +Méthode MAJColonneEtTrieListePerso +// Résumé : +// Syntaxe : +//[ = ] MAJColonneEtTrieListePerso ( est entier, est STListePerso) +// +// Paramètres : +// nListe (entier) : +// stListeCustom (STListePerso) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure MAJColonneEtTrieListePerso(local nListe est un entier,stListeCustom est STListePerso) +bResultat est un booléen +si m_clListeParamUser<>Null alors +nIndice est un entier +clErreur est un CErreur +bufListePerso est un Buffer +selon nListe +cas 1 : nIndice = TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","LISTE_COLONNE_PERSO_DOSSIERINTERV",:m_nPKID) +cas 2 : nIndice = TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","LISTE_COLONNE_PERSO_CLIENT",:m_nPKID) +cas 3 : nIndice = TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","LISTE_COLONNE_PERSO_SITE",:m_nPKID) +cas 4 : nIndice = TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","LISTE_COLONNE_PERSO_CONTACT",:m_nPKID) +cas 5 : nIndice = TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","LISTE_COLONNE_PERSO_SUIVI_INTERV",:m_nPKID) +fin +Sérialise(stListeCustom,bufListePerso,psdJSON) +clPresentation est un PFicheParametreUtilisateur dynamique +si nIndice>0 alors +m_clListeParamUser:p_clCourant = m_clListeParamUser.m_clTabModele[nIndice] +clPresentation <- m_clListeParamUser.Modifier() +clPresentation:m_sValeur = bufListePerso +sinon +clPresentation <- m_clListeParamUser.Nouveau() +selon nListe +cas 1 : clPresentation:m_sCode = "LISTE_COLONNE_PERSO_DOSSIERINTERV" +cas 2 : clPresentation:m_sCode = "LISTE_COLONNE_PERSO_CLIENT" +cas 3 : clPresentation:m_sCode = "LISTE_COLONNE_PERSO_SITE" +cas 4 : clPresentation:m_sCode = "LISTE_COLONNE_PERSO_CONTACT" +cas 5 : clPresentation:m_sCode = "LISTE_COLONNE_PERSO_SUIVI_INTERV" +06/08/2026 Isis_BO 5736 + +Partie 6 › Classe › PFicheUtilisateur › Code +fin +clPresentation.m_nIDUtilisateur=:m_nPKID +clPresentation:m_sValeur = bufListePerso +fin +bResultat = clPresentation.bOK(clErreur) +fin +renvoyer bResultat +Méthode MAJCritereListePerso +// Résumé : +// Syntaxe : +//[ = ] MAJCritereListePerso ( est entier, est +STCritereListePerso) +// +// Paramètres : +// nListe (entier) : +// stCritereListeCustom (STCritereListePerso) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure MAJCritereListePerso(local nListe est un entier,stCritereListeCustom est STCritereListePerso) +bResultat est un booléen +si m_clListeParamUser<>Null alors +nIndice est un entier +clErreur est un CErreur +bufListePerso est un Buffer +selon nListe +cas 1 : nIndice = TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","LISTE_CRITERE_PERSO_DOSSIERINTERV",:m_nPKID) +cas 2 : nIndice = TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","LISTE_CRITERE_PERSO_CLIENT",:m_nPKID) +cas 3 : nIndice = TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","LISTE_CRITERE_PERSO_SITE",:m_nPKID) +cas 4 : nIndice = TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","LISTE_CRITERE_PERSO_CONTACT",:m_nPKID) +cas 5 : nIndice = TableauCherche(m_clListeParamUser.m_clTabModele,tcLinéaire, +"m_sCode;m_nIDUtilisateur","LISTE_CRITERE_PERSO_SUIVI_INTERV",:m_nPKID) +fin +Sérialise(stCritereListeCustom,bufListePerso,psdJSON) +clPresentation est un PFicheParametreUtilisateur dynamique +si nIndice>0 alors +m_clListeParamUser:p_clCourant = m_clListeParamUser.m_clTabModele[nIndice] +clPresentation <- m_clListeParamUser.Modifier() +clPresentation:m_sValeur = bufListePerso +sinon +clPresentation <- m_clListeParamUser.Nouveau() +selon nListe +cas 1 : clPresentation:m_sCode = "LISTE_CRITERE_PERSO_DOSSIERINTERV" +cas 2 : clPresentation:m_sCode = "LISTE_CRITERE_PERSO_CLIENT" +cas 3 : clPresentation:m_sCode = "LISTE_CRITERE_PERSO_SITE" +cas 4 : clPresentation:m_sCode = "LISTE_CRITERE_PERSO_CONTACT" +cas 5 : clPresentation:m_sCode = "LISTE_CRITERE_PERSO_SUIVI_INTERV" +fin +clPresentation.m_nIDUtilisateur=:m_nPKID +06/08/2026 Isis_BO 5737 + +Partie 6 › Classe › PFicheUtilisateur › Code +clPresentation:m_sValeur = bufListePerso +fin +bResultat = clPresentation.bOK(clErreur) +fin +renvoyer bResultat +06/08/2026 Isis_BO 5738 + +Partie 6 › Classe › MTableauDeUtilisateur › Code +MTableauDeUtilisateur +Code +Déclaration de MTableauDeUtilisateur +MTableauDeUtilisateur est une Classe +public +m_clTabModele est un tableau de MUtilisateur dynamique +m_clTabSansCollab est un tableau de MUtilisateur dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MUtilisateur dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MUtilisateur dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 5739 + +Partie 6 › Classe › MTableauDeUtilisateur › Code +// +// récupération des données +sReqSQL est une Requête SQL = [ +SELECT DISTINCT Utilisateur.* +FROM Utilisateur +] +//sCompl est une chaine = [ +//LEFT OUTER JOIN Collaborateur ON (Collaborateur.CO_PKID=Utilisateur.UT_IDCollaborateur) +//WHERE Collaborateur.CO_PKID IS NULL +//OR (Collaborateur.CO_PKID IS NOT NULL +//AND EXISTS (SELECT 1 FROM Demande WHERE Demande.DE_PKID=%1) +//) +//] +//sReqSQL = nIdDemande=-1 ? ChaîneConstruit(sReqSQL,"") SINON +ChaîneConstruit(sReqSQL,ChaîneConstruit(sCompl,nIdDemande)) +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +clModele est un MUtilisateur +clModele.Charger(sReqSQL) +TableauAjoute(m_clTabModele,clModele) +si pas clModele.m_nIDCollaborateur=0 alors +TableauAjoute(m_clTabSansCollab,clModele) +fin +fin +fin +Méthode ChargerDepuisCollaborateur +procédure ChargerDepuisCollaborateur(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +sReqSQL est une Requête SQL = [ +SELECT DISTINCT Utilisateur.* +FROM Utilisateur +WHERE Utilisateur.UT_IDCollaborateur={p_IdCollab} +AND Utilisateur.UT_PKID={p_IdUser} +AND Utilisateur.UT_Login={p_Login} +] +sReqSQL.p_IdCollab = MesParamètres..Occurrence>=1 ? MesParamètres[1]=0 ? -1 sinon MesParamètres[1] +sinon Null +sReqSQL.p_IdUser = MesParamètres..Occurrence>=2 ? MesParamètres[2]<>-1 ? MesParamètres[2] sinon Null +sinon Null +sReqSQL.p_Login = MesParamètres..Occurrence>=3 ? MesParamètres[3]<>-1 ? MesParamètres[3] sinon +Null sinon Null +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +clModele est un MUtilisateur +clModele.Charger(sReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +06/08/2026 Isis_BO 5740 + +Partie 6 › Classe › MTableauDeUtilisateur › Code +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 5741 + +Partie 6 › Classe › PTableUtilisateur › Code +PTableUtilisateur +Code +Déclaration de PTableUtilisateur +PTableUtilisateur est une Classe +protégé +m_clTableauModele est un MTableauDeUtilisateur dynamique +// modèle associé à la présentation +m_clModeleCourant est un MUtilisateur dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Méthode ChercheEtRemplieListe +// Résumé : +// Syntaxe : +//ChercheEtRemplieListe ( est chaîne, est procédure, +est chaîne, est booléen, est chaîne [, est +booléen]) +// +// Paramètres : +// sNomChampSaisie (chaîne ANSI) : +// LaProcedureAjouteListe (procédure) : +// sTexte (chaîne ANSI) : +// bControleDoublonsTableau (booléen) : +// sNomVariableTableau (chaîne ANSI) : +// bEnThread (booléen - valeur par défaut=0) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale ChercheEtRemplieListe(local sNomChampSaisie est une chaîne, +LaProcedureAjouteListe est une procédure,local sTexte est une chaîne,local bControleDoublonsTableau est +un booléen, local sNomVariableTableau est une chaîne,local bEnThread est un booléen=Faux) +sdMalisteUser est une Source de Données +reqSQL est une chaîne = +[ +SELECT DISTINCT Utilisateur.UT_Login AS Login,Utilisateur.UT_Nom AS Nom,Utilisateur.UT_Prenom AS +Prenom,Utilisateur.UT_PKID As PKID +FROM Utilisateur +WHERE Utilisateur.UT_IDCollaborateur=0 +AND (UPPER(UT_Login)~]'%1' +OR UPPER(UT_Nom)~]'%1' +OR UPPER(UT_Prenom)~]'%1') +ORDER BY Utilisateur.UT_Login +] +06/08/2026 Isis_BO 5742 + +Partie 6 › Classe › PTableUtilisateur › Code +//SI bEnThread _et_ gbThreadFinListeDossier ALORS +// ThreadFin() +//FIN +reqSQL = ChaîneConstruit(reqSQL,sTexte) +si HExécuteRequêteSQL(sdMalisteUser,hRequêteDéfaut+hRequêteInterruptible,reqSQL) alors +si HNbEnr(sdMalisteUser)> 0 alors +pour tout sdMalisteUser +// SI bEnThread _ET_ gbThreadFinListeDossier ALORS +// //gbThreadFinListeDossier = Faux +// ThreadFin() +// FIN +si bEnThread alors +ExécuteThreadPrincipal(LaProcedureAjouteListe,sNomChampSaisie,sdMalisteUser.Login+ +" | "+sdMalisteUser.Nom+" | "+sdMalisteUser.Prenom,sdMalisteUser.PKID, +bControleDoublonsTableau,sNomVariableTableau) +sinon +LaProcedureAjouteListe(sNomChampSaisie,sdMalisteUser.Login+" | "+sdMalisteUser.Nom+ +" | "+sdMalisteUser.Prenom,sdMalisteUser.PKID,bControleDoublonsTableau, +sNomVariableTableau) +fin +fin +sinon +si bEnThread alors +ExécuteThreadPrincipal(LaProcedureAjouteListe,sNomChampSaisie,"",0, +bControleDoublonsTableau,sNomVariableTableau) +sinon +LaProcedureAjouteListe(sNomChampSaisie,"",0,bControleDoublonsTableau,sNomVariableTableau) +fin +fin +fin +HLibèreRequête(sdMalisteUser) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeUtilisateur dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MUtilisateur +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MUtilisateur dynamique) +06/08/2026 Isis_BO 5743 + +Partie 6 › Classe › PTableUtilisateur › Code +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier,*) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeUtilisateur +selon nMode +cas 0 : clTableauModele.Charger(MesParamètres[2à]) +cas 1 : clTableauModele.ChargerDepuisCollaborateur(MesParamètres[2à]) +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableUtilisateur(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheUtilisateur(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MUtilisateur dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau() +clModele est un MUtilisateur() +clPresentationFiche est un PFicheUtilisateur(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MUtilisateur dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +Méthode THRechercheSaisieAssistee +// Résumé : +// Syntaxe : +//THRechercheSaisieAssistee ( est chaîne, est chaîne, + est procédure, est chaîne, est +booléen, est chaîne, +06/08/2026 Isis_BO 5744 + +Partie 6 › Classe › PTableUtilisateur › Code +est chaîne) +// +// Paramètres : +// sNomChampDeSaisie (chaîne ANSI) : +// sValeurChampDeSaisie (chaîne ANSI) : +// methodeClasseDeRecherche (procédure) : +// sNomThread (chaîne ANSI) : +// bControleDoublonsTableau (booléen) : +// sNomTableauDeRecherche (chaîne ANSI) : +// sCritereCompl (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale THRechercheSaisieAssistee(local sNomChampDeSaisie est une chaîne,local +sValeurChampDeSaisie est une chaîne, methodeClasseDeRecherche est une procédure, local sNomThread est +une chaîne,local bControleDoublonsTableau est un booléen,local sNomTableauDeRecherche est une chaîne, +local sCritereCompl est une chaîne) +si ThreadEtat(sNomThread)<>threadInexistant alors +ThreadArrête(sNomThread) +fin +pointeurAjouteUser est une procédure +"Utilitaire" et Configuration<>"SLAMM_RecupHeures"> +pointeurAjouteUser = TH_AjouteSaisieAssistee + +//gbThreadFinListeUtilisateur = Faux +ThreadExécute(sNomThread,threadNormal,methodeClasseDeRecherche,sNomChampDeSaisie,pointeurAjouteUser, +sCritereCompl<>"" ? sValeurChampDeSaisie+TAB+sCritereCompl sinon sValeurChampDeSaisie, +bControleDoublonsTableau,sNomTableauDeRecherche) +06/08/2026 Isis_BO 5745 + +Partie 6 › Classe › MLot › Code +MLot +Code +Déclaration de MLot +MLot est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_nIDLieu est un entier sur 8 octets +m_sNom est une chaîne ANSI +m_sLocalisation est une chaîne ANSI + +m_bSelection est un booléen +fin +Méthode bControle +// Résumé : +procédure bControle(clErreur est un CErreur,local bSupprime est un booléen) +bResultat est un booléen=Vrai +tabListeErr est un tableau de chaînes +quand exception dans +si pas bSupprime alors +si SansEspace(:m_sNom)="" alors Ajoute( +tabListeErr,"Veuillez renseigner le nom ou la référence du Lot") +si SansEspace(:m_sLocalisation)="" alors Ajoute(tabListeErr, +"Veuillez renseigner la localisation ou la situation du Lot") +si SansEspace(:m_nIDLieu)=0 alors Ajoute( +tabListeErr,"Veuillez renseigner le lieu du Lot") +sinon +fin +si tabListeErr..Occurrence>0 alors +goto ERREURFONCTIONNELLE +sinon +goto SORTIE +fin +ERREURFONCTIONNELLE : +clErreur.Init(CErreur.Fonctionnelle,tabListeErr) +bResultat = Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +bResultat = Faux +fin +SORTIE : +renvoyer bResultat +Constructeur +06/08/2026 Isis_BO 5746 + +Partie 6 › Classe › MLot › Code +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer m_sNom +06/08/2026 Isis_BO 5747 + +Partie 6 › Classe › PFicheLot › Code +PFicheLot +Code +Déclaration de PFicheLot +PFicheLot est une Classe +protégé +m_clModeleCourant est un MLot // modèle associé à la présentation +m_clModeleSource est un MLot dynamique// référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +m_clListeLotPersonne est un PTableLot_Personne dynamique +m_cListepersonne est un PTablePersonne dynamique +fin +Méthode bControle +// Résumé : +procédure bControle(clErreur est un CErreur,local bSupprime est un booléen) +bResultat est un booléen=Vrai +tabListeErr est un tableau de chaînes +quand exception dans +si pas bSupprime alors +si SansEspace(:m_sNom)="" alors Ajoute( +tabListeErr,"Veuillez renseigner le nom ou la référence du Lot") +si SansEspace(:m_sLocalisation)="" alors Ajoute(tabListeErr, +"Veuillez renseigner la localisation ou la situation du Lot") +si SansEspace(:m_nIDLieu)=0 alors Ajoute( +tabListeErr,"Veuillez renseigner le lieu du Lot") +sinon +fin +si tabListeErr..Occurrence>0 alors +goto ERREURFONCTIONNELLE +sinon +goto SORTIE +fin +ERREURFONCTIONNELLE : +clErreur.Init(CErreur.Fonctionnelle,tabListeErr) +bResultat = Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +bResultat = Faux +fin +SORTIE : +renvoyer bResultat +Méthode bOK +06/08/2026 Isis_BO 5748 + +Partie 6 › Classe › PFicheLot › Code +procédure bOK(clErreur est un CErreur) +//,LOCAL bAvecTransaction est un booléen,LOCAL bMajCourant est un booléen +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +//Débute une transaction sur le fichier Lot +// SI bAvecTransaction ALORS HTransactionDébut(gcnxBO,"Lot") +//Contôle des données Lot +si pas :FicheEncours:bControle(clErreur,Faux) alors goto ERREURTRANSAC +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURTRANSAC +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +// SI bMajCourant ALORS +// m_clModeleCourant <= m_clModeleSource +// FIN +//Termine la transaction +// SI bAvecTransaction ALORS HTransactionFin(gcnxBO) +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURTRANSAC : +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MLot dynamique, pValidation est une procédure=Null) +06/08/2026 Isis_BO 5749 + +Partie 6 › Classe › PFicheLot › Code +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété FicheEncours +procédure publique FicheEncours() : MLot +renvoyer m_clModeleCourant +Affectation de la propriété FicheEncours +procédure publique FicheEncours(clValeur est MLot) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant=clValeur +// conserve une référence sur le modèle source +m_clModeleSource<-clValeur +Récupération de la propriété ListeContact +procédure publique ListeContact(): PTablePersonne +renvoyer m_cListepersonne +Affectation de la propriété ListeContact +procédure publique ListeContact(clValeur est PTablePersonne) +m_cListepersonne=clValeur +Récupération de la propriété ListeContactLot +procédure publique ListeContactLot(): PTableLot_Personne +renvoyer m_clListeLotPersonne +Affectation de la propriété ListeContactLot +procédure publique ListeContactLot(clValeur est PTableLot_Personne) +m_clListeLotPersonne=clValeur +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MLot +renvoyer m_clModeleCourant +Méthode gListeContact +// Résumé : +06/08/2026 Isis_BO 5750 + +Partie 6 › Classe › PFicheLot › Code +procédure publique globale gListeContact(clPresentation est un PFicheLot) +//clPresentation.m_cListepersonne = +PTablePersonne.gNouvellePresentation("",clPresentation.IdentifiantUnique) +clPresentation.m_cListepersonne = PTablePersonne.gNouvellePresentation(1,clPresentation. +IdentifiantUnique) +Méthode gListeContactdansLot +// Résumé : +procédure publique globale gListeContactdansLot(local nIdLieu est un entier sur 8 octets,clPresentation +est un PFicheLot) +clPresentation.m_clListeLotPersonne = PTableLot_Personne.gNouvellePresentation(nIdLieu,clPresentation. +IdentifiantUnique) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MLot() +clPresentation est un PFicheLot(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 5751 + +Partie 6 › Classe › MTableauDeLot › Code +MTableauDeLot +Code +Déclaration de MTableauDeLot +MTableauDeLot est une Classe +public +m_clTabModele est un tableau de MLot dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MLot dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MLot dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger() +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 5752 + +Partie 6 › Classe › MTableauDeLot › Code +// +// récupération des données +sdSource est une Source de Données +sReqSQL est une chaîne = [ +SELECT * +FROM Lot +] +// exécution de la requête +si HExécuteRequêteSQL(sdSource,sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sdSource +clModele est un MLot +clModele.Charger(sdSource) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerListeLotparLieu +// Résumé : +procédure ChargerListeLotparLieu(local nIdLieu est un entier sur 8 octets,local +nIdInterventionAExclure est un entier sur 8 octets=-1) +//// vide le tableau +//TableauSupprimeTout(m_clTabModele) +// +//// +//// chargement à personnaliser selon votre contexte +//// +// +//// récupération des données +//reqSQL est une Requête SQL = [ +// select LOT.* +// from Lot +// where Lot.LO_IDLieu={p_nIdLieu} +// +AND NOT EXISTS (SELECT 1 FROM Intervention_Lot WHERE Intervention_Lot.IL_IDLot=Lot.LO_PKID AND +Intervention_Lot.IL_IDIntervention ={p_nIdInterventionAExclure}) +// +//] +// +// +//reqSQL.p_nIdLieu = nIdLieu =-1 ? Null SINON nIdLieu +//reqSQL.p_nIdInterventionAExclure= nIdInterventionAExclure=-1 ? Null SINON nIdInterventionAExclure +// +// +//// exécution de la requête +//SI HExécuteRequête(reqSQL) ALORS +// // charge les enregistrements en mémoire +// POUR TOUT reqSQL +// clModele est un MLot +// clModele.Charger(reqSQL) +// clModele:m_bLiaison = nIdLieu>0 ? Vrai SINON Faux +// TableauAjoute(m_clTabModele,clModele) +// FIN +//FIN +Constructeur +06/08/2026 Isis_BO 5753 + +Partie 6 › Classe › MTableauDeLot › Code +procédure Constructeur() +Destructeur +procédure Destructeur() +| 06/08/2026 | Isis_BO | 5754 | +| ---------- | ------- | ---- | + +Partie 6 › Classe › PTableLot › Code +PTableLot +Code +Déclaration de PTableLot +PTableLot est une Classe +protégé +m_clTableauModele est un MTableauDeLot dynamique // modèle associé à la présentation +m_clModeleCourant est un MLot dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeLot dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MLot +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MLot dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +06/08/2026 Isis_BO 5755 + +Partie 6 › Classe › PTableLot › Code +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nIdLieu est un entier sur 8 octets=-1,local +nIdInterventionAExclure est un entier sur 8 octets=-1) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeLot +si nIdLieu<>-1 alors +clTableauModele.ChargerListeLotparLieu(nIdLieu,nIdInterventionAExclure) +sinon +clTableauModele.Charger() +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableLot(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheLot(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MLot dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau(local bLier est un booléen,local nIdLie est un entier sur 8 octets) +clModele est un MLot() +clModele.m_bLiaison = bLier +clModele.m_nIDLieu= nIdLie +clPresentationFiche est un PFicheLot(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MLot dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +06/08/2026 Isis_BO 5756 + +Partie 6 › Classe › MLot_Personne › Code +MLot_Personne +Code +Déclaration de MLot_Personne +MLot_Personne est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_nIDLot est un entier sur 8 octets +m_nIDPersonne est un entier sur 8 octets + +m_clContact est un MPersonne +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer "" +06/08/2026 Isis_BO 5757 + +Partie 6 › Classe › PFicheLot_Personne › Code +PFicheLot_Personne +Code +Déclaration de PFicheLot_Personne +PFicheLot_Personne est une Classe +protégé +m_clModeleCourant est un MLot_Personne // modèle associé à la présentation +m_clModeleSource est un MLot_Personne dynamique// référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURENREG +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURENREG : +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +06/08/2026 Isis_BO 5758 + +Partie 6 › Classe › PFicheLot_Personne › Code +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MLot_Personne dynamique, pValidation est une procédure=Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MLot_Personne +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MLot_Personne() +clPresentation est un PFicheLot_Personne(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 5759 + +Partie 6 › Classe › MTableauDeLot_Personne › Code +MTableauDeLot_Personne +Code +Déclaration de MTableauDeLot_Personne +MTableauDeLot_Personne est une Classe +public +m_clTabModele est un tableau de MLot_Personne dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MLot_Personne dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MLot_Personne dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger(local nIdLieu est un entier sur 8 octets,local nIdLot est un entier sur 8 +octets) +// +//// vide le tableau +//TableauSupprimeTout(m_clTabModele) +// +//// +06/08/2026 Isis_BO 5760 + +Partie 6 › Classe › MTableauDeLot_Personne › Code +//// chargement à personnaliser selon votre contexte +//// +// +//// récupération des données +// +//sReqSQL est une requête SQL = +//[ +// SELECT Lot_Personne.*,Personne.*,Lot.* +// FROM Lot_Personne +// LEFT OUTER JOIN Personne ON (Personne.PE_PKID=Lot_Personne.LP_IDPersonne) +// left outer JOIN lOT ON (LOT.LO_PKID=Lot_Personne.LP_IDLot) +// WHERE LOT.LO_IDLieu={P_IdLieu} and Lot.LO_PKID={P_IdLot} +//] +//sReqSQL.P_IdLieu= nIdLieu=-1 ? Null SINON nIdLieu +//sReqSQL.P_IdLot= nIdLot=-1 ? Null SINON nIdLot +//// exécution de la requête +//si HExécuteRequêtesql(sReqSQL) ALORS +// // charge les enregistrements en mémoire +// POUR TOUT sReqSQL +// clModele est un MLot_Personne +// clModele.Charger(sReqSQL) +// clModele:m_clContact.Charger(sReqSQL) +// TableauAjoute(m_clTabModele,clModele) +// FIN +//FIN +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 5761 + +Partie 6 › Classe › PTableLot_Personne › Code +PTableLot_Personne +Code +Déclaration de PTableLot_Personne +PTableLot_Personne est une Classe +protégé +m_clTableauModele est un MTableauDeLot_Personne dynamique +// modèle associé à la présentation +m_clModeleCourant est un MLot_Personne dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeLot_Personne dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MLot_Personne +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MLot_Personne dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +06/08/2026 Isis_BO 5762 + +Partie 6 › Classe › PTableLot_Personne › Code +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nIdLieu est un entier sur 8 octets,local nIdLot est un +entier sur 8 octets) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeLot_Personne +clTableauModele.Charger(nIdLieu,nIdLot) +// création de la nouvelle instance de présentation +clPresentation est un PTableLot_Personne(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheLot_Personne(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MLot_Personne dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau() +clModele est un MLot_Personne() +clPresentationFiche est un PFicheLot_Personne(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MLot_Personne dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +06/08/2026 Isis_BO 5763 + +Partie 6 › Classe › PTableParametreMetier › Code +PTableParametreMetier +Code +Déclaration de PTableParametreMetier +PTableParametreMetier est une Classe +protégé +m_clTableauModele est un MTableauDeParametreMetier dynamique +// modèle associé à la présentation +m_clModeleCourant est un MParametreMetier dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeParametreMetier dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Méthode DonneIdDepuisValeur +// Résumé : +// Syntaxe : +//[ = ] DonneIdDepuisValeur ( est objet dynamique, est chaîne) +// +// Paramètres : +// pclObjet (objet dynamique) : +// sValeur (chaîne ANSI) : +// Valeur de retour : +// Type indéterminé : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale DonneIdDepuisValeur(pclObjet est un objet dynamique,local sValeur est une +chaîne) +nIndice est un entier = TableauCherche(pclObjet.m_clTableauModele,tcLinéaire,"m_sValeur",sValeur,1) +si nIndice >0 alors +renvoyer pclObjet.m_clTableauModele[nIndice]:m_nPKID +sinon +renvoyer 0 +fin +Méthode DonneParamDepuisCode +06/08/2026 Isis_BO 5764 + +Partie 6 › Classe › PTableParametreMetier › Code +// Résumé : +// Syntaxe : +//[ = ] DonneParamDepuisCode ( est PTableParametreMetier dynamique, + est chaîne) +// +// Paramètres : +// pclListeParamMetier (PTableParametreMetier dynamique) : < +indiquez ici le rôle de pclGpclListeParamMetier> +// sCode (chaîne ANSI) : +// Valeur de retour : +// PTableParametreMetier : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// pclListeChampPerso (PTableParametreMetier dynamique) : +procédure publique globale DonneParamDepuisCode(pclListeParamMetier est un PTableParametreMetier +dynamique,local sCode est une chaîne) +nIndice est un entier +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeParametreMetier +nIndice = TableauCherche(pclListeParamMetier:m_clTabModele,tcLinéaire,"m_sCode",sCode,1) +si nIndice>0 alors +boucle +clModele est un MParametreMetier +clModele <-pclListeParamMetier:m_clTabModele[nIndice] +TableauAjoute(clTableauModele:m_clTabModele,clModele) +si pas clModele.m_bInvisible alors +TableauAjoute(clTableauModele:m_clTabVisible,clModele) +fin +nIndice = TableauCherche(pclListeParamMetier:m_clTabModele,tcLinéaire,"m_sCode",sCode,nIndice+1 +) +à faire tantque nIndice>0 +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableParametreMetier(clTableauModele) +renvoyer clPresentation +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MParametreMetier +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MParametreMetier dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +06/08/2026 Isis_BO 5765 + +Partie 6 › Classe › PTableParametreMetier › Code +procédure publique p_nTotal() +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local sCodeParam est une chaîne="") +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeParametreMetier +clTableauModele.Charger(sCodeParam) +// création de la nouvelle instance de présentation +clPresentation est un PTableParametreMetier(clTableauModele) +renvoyer clPresentation +Méthode ListeLibelleIDVersCombo +// Résumé : +// Syntaxe : +//[ = ] ListeLibelleIDVersCombo () +// +// Paramètres : +// Aucun +// Valeur de retour : +// chaîne ANSI : +// +// Exemple : +// +// +procédure ListeLibelleIDVersCombo() +saRep est une chaîne ANSI +pour tout od de :m_clTabVisible +saRep +=[RC]+od:m_sLibelle+gLien(od:m_nPKID) +fin +renvoyer saRep +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheParametreMetier(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MParametreMetier dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau() +clModele est un MParametreMetier() +clPresentationFiche est un PFicheParametreMetier(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MParametreMetier dynamique) +m_clTableauModele.Ajouter(pclModele) +06/08/2026 Isis_BO 5766 + +Partie 6 › Classe › PTableParametreMetier › Code +fin +renvoyer clPresentationFiche +Méthode ParametreJSONTypeRDV +procédure publique globale ParametreJSONTypeRDV() +TableauSupprimeTout(gtabListeTypeRendezVousJSON) +stGParamTypeAct est un ST_TypeActiviteRDV +pour tout oParam de gpclListeTypeRendezVous:m_clTabModele +si oParam:m_sParametre <> "" alors +Désérialise(stGParamTypeAct,oParam:m_sParametre,psdJSON) +gtabListeTypeRendezVousJSON[oParam.m_nPKID]= stGParamTypeAct +fin +fin +Méthode RechercheEtDonneIdDepuisLibelle +// Résumé : +// Syntaxe : +//[ = ] RechercheEtDonneIdDepuisLibelle ( est chaîne) +// +// Paramètres : +// sLibelle (chaîne ANSI) : +// Valeur de retour : +// Type indéterminé : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RechercheEtDonneIdDepuisLibelle(local sLibelle est une chaîne) +nIndice est un entier = TableauCherche(m_clTabModele,tcLinéaire,"m_sLibelle",sLibelle,1) +si nIndice >0 alors +renvoyer m_clTabModele[nIndice]:IdentifiantUnique +sinon +renvoyer 0 +fin +Méthode RechercheEtDonneIdDepuisValeur +// Résumé : +// Syntaxe : +//[ = ] RechercheEtDonneIdDepuisValeur ( est chaîne) +// +// Paramètres : +// sValeur (chaîne ANSI) : +// Valeur de retour : +// Type indéterminé : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RechercheEtDonneIdDepuisValeur(local sValeur est une chaîne) +nIndice est un entier = TableauCherche(m_clTabModele,tcLinéaire,"m_sValeur",sValeur,1) +si nIndice >0 alors +renvoyer m_clTabModele[nIndice]:IdentifiantUnique +sinon +renvoyer 0 +fin +Méthode RechercheEtDonneLibelleDepuisID +06/08/2026 Isis_BO 5767 + +Partie 6 › Classe › PTableParametreMetier › Code +// Résumé : +// Syntaxe : +//[ = ] RechercheEtDonneLibelleDepuisID ( est entier sur 8 octets) +// +// Paramètres : +// nIDParam (entier sur 8 octets) : +// Valeur de retour : +// chaîne ANSI : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RechercheEtDonneLibelleDepuisID(local nIDParam est un entier sur 8 octets) +nIndice est un entier = TableauCherche(m_clTabModele,tcLinéaire,"m_nPKID",nIDParam,1) +si nIndice >0 alors +renvoyer m_clTabModele[nIndice]:m_sLibelle +sinon +renvoyer "" +fin +Méthode RechercheEtDonneParametreDepuisId +// Résumé : +// Syntaxe : +//[ = ] RechercheEtDonneParametreDepuisId ( est entier sur 8 octets) +// +// Paramètres : +// nIDParam (entier sur 8 octets) : +// Valeur de retour : +// chaîne ANSI : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RechercheEtDonneParametreDepuisId(local nIDParam est un entier sur 8 octets) +nIndice est un entier = TableauCherche(m_clTabModele,tcLinéaire,"m_nPKID",nIDParam,1) +si nIndice >0 alors +renvoyer m_clTabModele[nIndice]:m_sParametre +sinon +renvoyer "" +fin +Méthode RechercheEtDonneValeurDepuisId +// Résumé : +// Syntaxe : +//[ = ] RechercheEtDonneValeurDepuisId ( est entier sur 8 octets) +// +// Paramètres : +// nIDParam (entier sur 8 octets) : +// Valeur de retour : +// chaîne ANSI : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RechercheEtDonneValeurDepuisId(local nIDParam est un entier sur 8 octets) +nIndice est un entier = TableauCherche(m_clTabModele,tcLinéaire,"m_nPKID",nIDParam,1) +si nIndice >0 alors +06/08/2026 Isis_BO 5768 + +Partie 6 › Classe › PTableParametreMetier › Code +renvoyer m_clTabModele[nIndice]:m_sValeur +sinon +renvoyer "" +fin +Méthode SelectionneParamCourant +// Résumé : Recherche un paramètre par son PKID et le sélectionne dans :m_clModeleCourant +// Syntaxe : +//[ = ] SelectionneParamCourant ( est entier sur 8 octets) +// +// Paramètres : +// nPKID (entier sur 8 octets) : PKID du paramètre recherché +// Valeur de retour : +// booléen : Vrai si l'élément à été trouvé +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SelectionneParamCourant(local nPKID est un entier sur 8 octets):booléen +bRep est un booléen +nIndice est un entier = TableauCherche(m_clTabModele,tcLinéaire,"m_nPKID",nPKID,1) +si nIndice >0 alors +:m_clModeleCourant <- :m_clTabModele[nIndice] +bRep=Vrai +sinon +:m_clModeleCourant=Null +bRep=Faux +fin +renvoyer bRep +06/08/2026 Isis_BO 5769 + +Partie 6 › Classe › MTableauDeParametreMetier › Code +MTableauDeParametreMetier +Code +Déclaration de MTableauDeParametreMetier +MTableauDeParametreMetier est une Classe +public +m_clTabModele est un tableau de MParametreMetier dynamique +m_clTabVisible est un tableau de MParametreMetier dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MParametreMetier dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +si pas clModele.m_bInvisible alors +TableauAjoute(m_clTabVisible,clModele) +fin +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MParametreMetier dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger(local sCodeParam est une chaîne="") +//trace("Charger :" + sCodeParam) +// vide le tableau +06/08/2026 Isis_BO 5770 + +Partie 6 › Classe › MTableauDeParametreMetier › Code +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +//reqSQL est une requête SQL = +//[ +//SELECT ParametreMetier.*, +//(SELECT CASE WHEN LEFT(Param2.PA_Libelle,6)='Aucune' THEN SPLIT_PART(Param2.PA_Libelle,'Aucune ',2) +ELSE SPLIT_PART(Param2.PA_Libelle,'Aucun ',2) END +//FROM ParametreMetier AS Param2 +//WHERE Param2.PA_Code=ParametreMetier.PA_Code AND Param2.PA_Valeur=0) AS TitreParametre +//FROM ParametreMetier +//WHERE ParametreMetier.PA_Code={p_codeparam} +//ORDER BY ParametreMetier.PA_Code,ParametreMetier.PA_Ordre +//] +reqSQL est une Requête SQL = +[ +SELECT ParametreMetier.* +FROM ParametreMetier +WHERE ParametreMetier.PA_Code={p_codeparam} +ORDER BY ParametreMetier.PA_Code,ParametreMetier.PA_Ordre +] +reqSQL.p_codeparam= sCodeParam="" ? Null sinon sCodeParam +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MParametreMetier +clModele.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +si pas clModele.m_bInvisible alors +TableauAjoute(m_clTabVisible,clModele) +fin +fin +fin +Méthode ChercherValeur +// Résumé : +// Syntaxe : +//[ = ] ChercherValeur ( est chaîne) +// +// Paramètres : +// sValeur (chaîne ANSI) : +// Valeur de retour : +// entier : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChercherValeur(local sValeur est une chaîne) +nIndice est un entier +nIndice = TableauCherche(:m_clTabModele,tcLinéaire,"m_sValeur",sValeur,1) +renvoyer nIndice +Constructeur +06/08/2026 Isis_BO 5771 + +Partie 6 › Classe › MTableauDeParametreMetier › Code +procédure Constructeur() +Destructeur +procédure Destructeur() +| 06/08/2026 | Isis_BO | 5772 | +| ---------- | ------- | ---- | + +Partie 6 › Classe › PFicheParametreMetier › Code +PFicheParametreMetier +Code +Déclaration de PFicheParametreMetier +PFicheParametreMetier est une Classe +protégé +m_clModeleCourant est un MParametreMetier // modèle associé à la présentation +m_clModeleSource est un MParametreMetier dynamique // référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +fin +Méthode AppelProcValidation +// Résumé : +// Syntaxe : +//AppelProcValidation ( est entier) +// +// Paramètres : +// nMode (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AppelProcValidation(local nMode est un entier) +// si il y a une procédure de validation +si m_pValidation<>Null alors +selon nMode +cas 1 : m_pValidation(m_clModeleSource) +cas 2 : m_pValidation(m_clModeleCourant) +fin +m_pValidation = Null +DemandeMiseAJourIHM() +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// recopie les modifications dans le modèle source +06/08/2026 Isis_BO 5773 + +Partie 6 › Classe › PFicheParametreMetier › Code +// m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURENREG +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURENREG : +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MParametreMetier dynamique, pValidation est une procédure=Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété ListeModeleRapport +procédure publique ListeModeleRapport() +Affectation de la propriété ListeModeleRapport +procédure publique ListeModeleRapport(Valeur) +Récupération de la propriété p_clCourant +06/08/2026 Isis_BO 5774 + +Partie 6 › Classe › PFicheParametreMetier › Code +procédure publique p_clCourant() : MParametreMetier +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MParametreMetier() +clPresentation est un PFicheParametreMetier(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 5775 + +Partie 6 › Classe › MParametreMetier › Code +MParametreMetier +Code +Déclaration de MParametreMetier +MParametreMetier est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +| m_sCode | est une chaîne ANSI | | | +| ------------- | -------------------------- | ----------------------- | --- | +| m_sLibelle | est une chaîne ANSI | | | +| m_sValeur | est une chaîne ANSI | | | +| m_nOrdre | est un entier sur 4 octets | | | +| m_bSysteme | est un booléen | | | +| m_bInvisible | est un booléen | | | +| m_sIDImport | est une chaîne ANSI | | | +| m_bActif | est un booléen | | | +| m_sCleLiaison | est une chaîne | | | +| m_sParametre | est une chaîne | | | + +//************************************************************************************************* +************* +// Membres NON liés aux rubriques du fichier MParametreMetier +//************************************************************************************************* +************* +// VARIABLE DE TYPE SIMPLE +| m_bSelection | est un booléen | | | +| ------------ | -------------------------- | --- | --- | +| m_bLier | est un booléen | | | +| m_nIdLie | est un entier sur 8 octets | | | +//m_sTitreParametre est une chaine // //Mapping sur Requete +// VARIABLE DE TYPE CLASSE +fin +Méthode Charger +// Redéfinition de la méthode MBase.Charger +procédure Charger(reqSource) +MBase.Charger(reqSource) +//:m_sTitreParametre = gtaTypesParam[:m_sCode].sLibelle +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété DonneCategorieRole +| 06/08/2026 | | Isis_BO | 5776 | +| ---------- | --- | ------- | ---- | + +Partie 6 › Classe › MParametreMetier › Code +procédure publique DonneCategorieRole() +selon Gauche(:m_sValeur,1) +cas "*" : renvoyer "Autre" +cas "S" : renvoyer "Site" +cas "C" : renvoyer "Client" +autre cas : renvoyer "Autre" +fin +Récupération de la propriété DonneLibCleLiaison +procédure publique DonneLibCleLiaison() +si m_sCleLiaison<>"" alors +si HLitRecherchePremier(ParametreMetier,PA_CodePA_Valeur,[ExtraitChaîne(m_sCleLiaison,1,","), +ExtraitChaîne(m_sCleLiaison,2,",")]) _et_ HTrouve(ParametreMetier) alors +renvoyer ParametreMetier.PA_Libelle +sinon +renvoyer "" +fin +sinon +renvoyer "" +fin +Récupération de la propriété EtatChamp +procédure publique EtatChamp() +renvoyer m_bSysteme ? Grisé sinon Actif +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer :m_sLibelle +06/08/2026 Isis_BO 5777 + +Partie 6 › Classe › MDossier_Personne › Code +MDossier_Personne +Code +Déclaration de MDossier_Personne +MDossier_Personne est une Classe +//************************************************************************************************* +************* +//Le modèle MDossier_Personne hérite du modèle de base +//************************************************************************************************* +************* +hérite de MBase +//************************************************************************************************* +************* +//Membres liés aux rubriques du fichier Dossier_Personne +//************************************************************************************************* +************* + +m_nPKID est un entier sur 8 octets +m_nIDDossier est un entier sur 8 octets +m_nIDPersonne est un entier sur 8 octets + +//************************************************************************************************* +************* +// Membres NON liés aux rubriques du fichier Dossier_Personne +//************************************************************************************************* +************* +// VARIABLE DE TYPE SIMPLE +// VARIABLE DE TYPE CLASSE +m_clPersonne est un MPersonne dynamique +// VARIABLE DE TYPE TABLEAU +fin +Méthode bControle +// Résumé : +// Syntaxe : +//[ = ] bControle ( est CErreur, est booléen) +// +// Paramètres : +// clErreur (CErreur) : +// bSupprime (booléen) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure bControle(clErreur est un CErreur,local bSupprime est un booléen) +bResultat est un booléen=Vrai +tabListeErr est un tableau de chaînes +06/08/2026 Isis_BO 5778 + +Partie 6 › Classe › MDossier_Personne › Code +quand exception dans +si pas bSupprime alors +si :m_nIDDossier=0 alors Ajoute(tabListeErr, +"Veuillez choisir le dossier lié à la personne") +si :m_nIDPersonne=0 alors Ajoute(tabListeErr, +"Veuillez choisir la personne lié au dossier") +sinon +fin +si tabListeErr..Occurrence>0 alors +goto ERREURFONCTIONNELLE +sinon +goto SORTIE +fin +ERREURFONCTIONNELLE : +clErreur.Init(CErreur.Fonctionnelle,tabListeErr) +bResultat = Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +bResultat = Faux +fin +SORTIE : +renvoyer bResultat +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer "" +06/08/2026 Isis_BO 5779 + +Partie 6 › Classe › MDossier_Lieu › Code +MDossier_Lieu +Code +Déclaration de MDossier_Lieu +MDossier_Lieu est une Classe +hérite de MBase + +m_nDL_PKID est un entier sur 8 octets +m_nDL_IDDossier est un entier sur 8 octets +m_nDL_IDLieu est un entier sur 8 octets + +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nDL_PKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer "" +06/08/2026 Isis_BO 5780 + +Partie 6 › Classe › PTableDossier › Code +PTableDossier +Code +Déclaration de PTableDossier +PTableDossier est une Classe +protégé +m_clTableauModele est un MTableauDeDossier dynamique +// modèle associé à la présentation +m_clModeleCourant est un MDossier dynamique +// référence sur le modèle de données courant +m_bMajCourantSansIHM est un booléen +m_sNomThreadListeGlobale est une chaîne +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Méthode ChercheEtRemplieListe +// Résumé : +// Syntaxe : +//ChercheEtRemplieListe ( est chaîne, est procédure, +est chaîne, est booléen, est chaîne [, est +booléen]) +// +// Paramètres : +// sNomChampSaisie (chaîne ANSI) : +// LaProcedureAjouteListe (procédure) : +// sTexte (chaîne ANSI) : +// bControleDoublonsTableau (booléen) : +// sNomVariableTableau (chaîne ANSI) : +// bEnThread (booléen - valeur par défaut=0) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale ChercheEtRemplieListe(local sNomChampSaisie est une chaîne, +LaProcedureAjouteListe est une procédure,local sTexte est une chaîne,local bControleDoublonsTableau est +un booléen, local sNomVariableTableau est une chaîne,local bEnThread est un booléen=Faux) +sdMalistedossier est une Source de Données +reqSQL est une chaîne = +[ +SELECT DISTINCT Dossier.DO_RefInterne AS RefInterne,Dossier.DO_RefExterne AS +RefExterne,Dossier.DO_Titre AS Titre,Dossier.DO_PKID AS IDDossier +FROM Dossier +WHERE UPPER(DO_RefInterne)~]'%1' +OR UPPER(DO_RefExterne)~]'%1' +OR UPPER(DO_Titre)~]'%1' +06/08/2026 Isis_BO 5781 + +Partie 6 › Classe › PTableDossier › Code +ORDER BY Dossier.DO_RefInterne +] +si bEnThread _et_ gbThreadFinListeDossier alors +ThreadFin() +fin +reqSQL = ChaîneConstruit(reqSQL,sTexte) +si HExécuteRequêteSQL(sdMalistedossier,hRequêteDéfaut+hRequêteInterruptible,reqSQL) alors +si HNbEnr(sdMalistedossier)> 0 alors +pour tout sdMalistedossier +si bEnThread _et_ gbThreadFinListeDossier alors +//gbThreadFinListeDossier = Faux +ThreadFin() +fin +si bEnThread alors +ExécuteThreadPrincipal(LaProcedureAjouteListe,sNomChampSaisie,sdMalistedossier.Titre+ +" -Ref.Int:"+sdMalistedossier.RefInterne+"-Ref.Ext:"+sdMalistedossier.RefExterne, +sdMalistedossier.IDDossier,bControleDoublonsTableau,sNomVariableTableau) +sinon +LaProcedureAjouteListe(sNomChampSaisie,sdMalistedossier.Titre+" -Ref.Int:"+ +sdMalistedossier.RefInterne+"-Ref.Ext:"+sdMalistedossier.RefExterne,sdMalistedossier. +IDDossier,bControleDoublonsTableau,sNomVariableTableau) +fin +fin +sinon +si bEnThread alors +ExécuteThreadPrincipal(LaProcedureAjouteListe,sNomChampSaisie,"",0, +bControleDoublonsTableau,sNomVariableTableau) +sinon +LaProcedureAjouteListe(sNomChampSaisie,"",0,bControleDoublonsTableau,sNomVariableTableau) +fin +fin +fin +HLibèreRequête(sdMalistedossier) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeDossier dynamique) +m_clTableauModele=clTableauModele +m_sNomThreadListeGlobale = "ListeDossierGlobal" +Destructeur +procédure Destructeur() +Récupération de la propriété p_bMajCourantSansIHM +procédure publique p_bMajCourantSansIHM() : booléen +renvoyer m_bMajCourantSansIHM +Affectation de la propriété p_bMajCourantSansIHM +procédure publique p_bMajCourantSansIHM(bValeur est un booléen) +m_bMajCourantSansIHM=bValeur +Récupération de la propriété p_bModeleCourantVide +06/08/2026 Isis_BO 5782 + +Partie 6 › Classe › PTableDossier › Code +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MDossier +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MDossier dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +si pas m_bMajCourantSansIHM alors +DemandeMiseAJourIHM() +fin +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +renvoyer TableauOccurrence(m_clTabModele) +Récupération de la propriété p_sNomThreadListeGlobale +procédure publique p_sNomThreadListeGlobale() : chaîne +renvoyer m_sNomThreadListeGlobale +Affectation de la propriété p_sNomThreadListeGlobale +procédure publique p_sNomThreadListeGlobale(sValeur est une chaîne) +m_sNomThreadListeGlobale=sValeur +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier=0,*) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeDossier +selon nMode +cas 0 : clTableauModele.Charger(MesParamètres[2à]) +cas 1 : clTableauModele.ChargerDossierClient(MesParamètres[2à]) +cas 2 : clTableauModele.RechercheGlobale(MesParamètres[2à]) +cas 3 : clTableauModele.RechercheGlobaleExact(MesParamètres[2à]) +cas 4 : clTableauModele.ChargerDossierLieu(MesParamètres[2à]) +cas 5 : clTableauModele.ChargerUnSeulDossier(MesParamètres[2à]) +cas 6 : clTableauModele.RechercheCodeSite(MesParamètres[2à]) +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableDossier(clTableauModele) +renvoyer clPresentation +Méthode gTHNouvellePresentation +06/08/2026 Isis_BO 5783 + +Partie 6 › Classe › PTableDossier › Code +// Résumé : +// Syntaxe : +//gTHNouvellePresentation ( est entier [, ...]) +// +// Paramètres : +// nMode (entier) : +// <*> : > +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// ChampTable (champ) : +// methodeClasseDeRecherche (procédure) : +// bControleDoublonsTableau (booléen) : +// sNomTableauDeRecherche (chaîne ANSI) : +// sCritereCompl (chaîne ANSI) : +// callBackMAJ (procédure) : +// <*> : > +// sNomThread (chaîne ANSI) : +// <*> : > +procédure publique globale gTHNouvellePresentation(local nMode est un entier, *) +//callBackMAJ est une procedure, +// chargement des instances de modèle à afficher (les données) dans la présentation +selon nMode +cas 0 +si ThreadEtat("ListeDossierGlobal")<>threadInexistant alors ThreadArrête("ListeDossierGlobal") +gbThreadFinListeDossierGlobal = Faux +ThreadExécute("ListeDossierGlobal",threadNormal,MTableauDeDossier.THCharger,MesParamètres[2 à]) +fin +Méthode MajCourantSansMajIHM +// Résumé : +// Syntaxe : +//MajCourantSansMajIHM ( est MDossier dynamique) +// +// Paramètres : +// pclValeur (MDossier dynamique) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure MajCourantSansMajIHM(pclValeur est MDossier dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +fin +Méthode Modifier +procédure Modifier() +06/08/2026 Isis_BO 5784 + +Partie 6 › Classe › PTableDossier › Code +clPresentationFiche est un PFicheDossier(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MDossier dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau(*) +clModele est un MDossier() +clPresentationFiche est un PFicheDossier(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MDossier dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +Méthode THRechercheSaisieAssistee +// Résumé : +// Syntaxe : +//THRechercheSaisieAssistee ( est chaîne, est chaîne, + est procédure, est chaîne, est +booléen, est chaîne, +est chaîne) +// +// Paramètres : +// sNomChampDeSaisie (chaîne ANSI) : +// sValeurChampDeSaisie (chaîne ANSI) : +// methodeClasseDeRecherche (procédure) : +// sNomThread (chaîne ANSI) : +// bControleDoublonsTableau (booléen) : +// sNomTableauDeRecherche (chaîne ANSI) : +// sCritereCompl (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale THRechercheSaisieAssistee(local sNomChampDeSaisie est une chaîne,local +sValeurChampDeSaisie est une chaîne, methodeClasseDeRecherche est une procédure, local sNomThread est +une chaîne,local bControleDoublonsTableau est un booléen,local sNomTableauDeRecherche est une chaîne, +local sCritereCompl est une chaîne) +si ThreadEtat(sNomThread)<>threadInexistant alors +ThreadArrête(sNomThread) +fin +pointeurAjouteLieu est une procédure +"Utilitaire" et Configuration<>"SLAMM_RecupHeures"> +pointeurAjouteLieu = TH_AjouteSaisieAssistee + +gbThreadFinListeDossier = Faux +ThreadExécute(sNomThread,threadNormal,methodeClasseDeRecherche,sNomChampDeSaisie,pointeurAjouteLieu, +sCritereCompl<>"" ? sValeurChampDeSaisie+TAB+sCritereCompl sinon sValeurChampDeSaisie, +bControleDoublonsTableau,sNomTableauDeRecherche) +Méthode Trie +06/08/2026 Isis_BO 5785 + +Partie 6 › Classe › PTableDossier › Code +// Résumé : +// Syntaxe : +//Trie ( est chaîne) +// +// Paramètres : +// sMembresTrie (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Trie(local sMembresTrie est une chaîne) +si sMembresTrie<>"" alors +//TableauTrie(:m_clTabModele, ttMembre,sMembresTrie) +:m_clTableauModele:TrieLesElementsDuTableau(sMembresTrie) +fin +06/08/2026 Isis_BO 5786 + +Partie 6 › Classe › MTableauDeDossier › Code +MTableauDeDossier +Code +Déclaration de MTableauDeDossier +MTableauDeDossier est une Classe +public +m_clTabModele est un tableau de MDossier dynamique +m_bTrie est un booléen +fin +Méthode Ajouter +procédure Ajouter(clModele est un MDossier dynamique) +nIndice est un entier +// ajoute l'instance du modèle dans le tableau en mémoire +si :m_bTrie alors +nIndice = TableauAjouteTrié(m_clTabModele,clModele) +sinon +nIndice = TableauAjoute(m_clTabModele,clModele) +fin +// mise à jour des IHM +DemandeMiseAJourIHM() +renvoyer nIndice +Méthode bSupprimer +procédure bSupprimer(clModele est un MDossier dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +06/08/2026 Isis_BO 5787 + +Partie 6 › Classe › MTableauDeDossier › Code +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +ReqSQL est une Requête SQL = +[ +SELECT TOP 1000 Dossier.*,Client.* +FROM Dossier +LEFT OUTER JOIN Client ON (Client.CL_PKID=Dossier.DO_IDClient) +WHERE Dossier.DO_PKID = {p_IdDossier} +ORDER BY Dossier.DO_PKID ASC +] +ReqSQL.p_IdDossier = MesParamètres..Occurrence>0 _et_ MesParamètres[1]<>-1 ? MesParamètres[1] sinon +Null +// exécution de la requête +si HExécuteRequête(ReqSQL) alors +// charge les enregistrements en mémoire +pour tout ReqSQL +clModele est un MDossier +clModele.Charger(ReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +:TrieLesElementsDuTableau("m_nPKID") +Méthode ChargerDossierClient +procédure ChargerDossierClient(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +ReqSQL est une Requête SQL = +[ +SELECT TOP 1000 Dossier.* +FROM Dossier +WHERE Dossier.DO_IDClient = {p_IdClient} AND Dossier.DO_IDStatut <> {p_idStatutAnnu} +ORDER BY Dossier.DO_PKID DESC +] +ReqSQL.p_IdClient = MesParamètres..Occurrence>0 _et_ MesParamètres[1]=0 ? -1 sinon MesParamètres[1]=-1 +? Null sinon MesParamètres[1] +ReqSQL.p_idStatutAnnu = gnIdDossierAnnule +// exécution de la requête +si HExécuteRequête(ReqSQL) alors +// charge les enregistrements en mémoire +pour tout ReqSQL +clModele est un MDossier +clModele.Charger(ReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +:TrieLesElementsDuTableau("-m_nPKID") +Méthode ChargerDossierLieu +06/08/2026 Isis_BO 5788 + +Partie 6 › Classe › MTableauDeDossier › Code +procédure ChargerDossierLieu(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +ReqSQL est une Requête SQL = +[ +SELECT DISTINCT TOP 1000 Dossier.* +FROM Dossier +INNER JOIN Intervention ON (IN_IDDossier=DO_PKID) +WHERE IN_IDLieu = {p_IdLieu} AND DO_IDStatut <> {p_IdAnnule} +ORDER BY Dossier.DO_PKID DESC +] +ReqSQL.p_IdLieu = MesParamètres..Occurrence>0 _et_ MesParamètres[1]=0 ? -1 sinon MesParamètres[1]=-1 ? +Null sinon MesParamètres[1] +ReqSQL.p_IdAnnule = gnIdDossierAnnule +// exécution de la requête +si HExécuteRequête(ReqSQL) alors +// charge les enregistrements en mémoire +pour tout ReqSQL +clModele est un MDossier +clModele.Charger(ReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +:TrieLesElementsDuTableau("-m_nPKID") +Méthode ChargerUnSeulDossier +procédure ChargerUnSeulDossier(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +ReqSQL est une Requête SQL = +[ +SELECT Dossier.* +FROM Dossier +WHERE Dossier.DO_PKID = {p_IdDossier} +] +ReqSQL.p_IdDossier = MesParamètres..Occurrence>0 _et_ MesParamètres[1]<>-1 ? MesParamètres[1] sinon +Null +// exécution de la requête +si HExécuteRequête(ReqSQL) alors +// charge les enregistrements en mémoire +pour tout ReqSQL +clModele est un MDossier +clModele.Charger(ReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +:TrieLesElementsDuTableau("m_nPKID") +Constructeur +06/08/2026 Isis_BO 5789 + +Partie 6 › Classe › MTableauDeDossier › Code +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode RechercheCodeSite +// Résumé : +// Syntaxe : +// RechercheCodeSite () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RechercheCodeSite(local sTermedeRecherche est une chaîne) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +ReqSQL est une Requête SQL = +[ +SELECT DISTINCT TOP 1000 Dossier.* +FROM Dossier +INNER JOIN Intervention ON (IN_IDDossier=DO_PKID) +INNER JOIN Lieu ON (LI_PKID=IN_IDLieu) +WHERE Lieu.LI_CodeLieu = {p_TermedeRecherche} +ORDER BY Dossier.DO_PKID DESC +] +ReqSQL.p_TermedeRecherche = sTermedeRecherche +// exécution de la requête +si HExécuteRequête(ReqSQL) alors +// charge les enregistrements en mémoire +pour tout ReqSQL +clModele est un MDossier +clModele.Charger(ReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +:TrieLesElementsDuTableau("-m_nPKID") +Méthode RechercheGlobale +// Résumé : +// Syntaxe : +//RechercheGlobale ( est chaîne) +// +// Paramètres : +06/08/2026 Isis_BO 5790 + +Partie 6 › Classe › MTableauDeDossier › Code +// sTermedeRecherche (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RechercheGlobale(local sTermedeRecherche est une chaîne) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +ReqSQL est une Requête SQL = [ +SELECT DISTINCT Dossier.*,MATCH(Dossier.DO_Index_FullText) AGAINST ({p_TermedeRecherche}) AS +PertinenceFulltext +FROM Dossier +INNER JOIN Intervention ON Intervention.IN_IDDossier=Dossier.DO_PKID +LEFT OUTER JOIN Lieu ON(LI_PKID=Intervention.IN_IDLieu) +//LEFT OUTER JOIN Intervention_Personne ON (LI_PKID=Intervention.IN_IDLieu) +//LEFT OUTER JOIN IN ON (LI_PKID=Intervention.IN_IDLieu) +WHERE +PertinenceFulltext >0 AND Dossier.DO_IDStatut <> {p_idStatutAnnu} +ORDER BY PertinenceFulltext DESC +] +//ReqSQL est une requête SQL = +//[ +// select * from +Intervention where Intervention.IN_RefInterne LIKE {p_TermedeRecherche} OR Intervention.IN_Description +like {p_TermedeRecherche} OR Intervention.IN_NoteInterne like {p_TermedeRecherche} OR +Intervention.IN_Titre like {p_TermedeRecherche} O +R Intervention.IN_RefExterne like {p_TermedeRecherche} OR Intervention.IN_NumIntervention like +{p_TermedeRecherche} OR Intervention.IN_NumDevis like {p_TermedeRecherche} +// OR Intervention.IN_NumFacture like {p_TermedeRecherche} +//] +ReqSQL.p_TermedeRecherche = sTermedeRecherche+"*" +ReqSQL.p_idStatutAnnu = gnIdDossierAnnule +//ReqSQL.p_TermedeRecherche = "%"+sTermedeRecherche+"%" +// exécution de la requête +si HExécuteRequête(ReqSQL) alors +// charge les enregistrements en mémoire +pour tout ReqSQL +clModele est un MDossier +clModele.Charger(ReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +HAnnuleDéclaration(ReqSQL) +:TrieLesElementsDuTableau("m_nPertinenceFulltext") +Méthode RechercheGlobaleExact +// Résumé : +// Syntaxe : +//RechercheGlobaleExact ( est chaîne) +// +// Paramètres : +// sTermedeRecherche (chaîne ANSI) : +// Valeur de retour : +06/08/2026 Isis_BO 5791 + +Partie 6 › Classe › MTableauDeDossier › Code +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RechercheGlobaleExact(local sTermedeRecherche est une chaîne) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +ReqSQL est une Requête SQL = [ +SELECT *,MATCH(Dossier.DO_Index_FullText) AGAINST ({p_TermedeRecherche}) AS PertinenceFulltext +FROM Dossier +WHERE +PertinenceFulltext >0 AND Dossier.DO_IDStatut <> {p_idStatutAnnu} +ORDER BY PertinenceFulltext DESC +] +ReqSQL.p_TermedeRecherche = sTermedeRecherche +ReqSQL.p_idStatutAnnu = gnIdDossierAnnule +// exécution de la requête +si HExécuteRequête(ReqSQL) alors +// charge les enregistrements en mémoire +pour tout ReqSQL +clModele est un MDossier +clModele.Charger(ReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +HAnnuleDéclaration(ReqSQL) +:TrieLesElementsDuTableau("m_nPertinenceFulltext") +Méthode THCharger +procédure publique global THCharger(*) +//MesParamètres[1] = callBack de mise à jour +//MesParamètres[2] = ID du dosssier +bFinRequete est un booléen=Vrai +clTabDeDossier est un MTableauDeDossier +nCptEnreg est un entier = 1000 +nIndice est un entier sur 8 octets +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +ReqSQL est une Requête SQL = +[ +SELECT Dossier.*,Client.* +,IN_RefInterne,IN_RefExterne,IN_Titre,IN_IDTypeIntervention,LI_CodeLieu +//,(SELECT Adress.* FROM LIEU +//,(SELECT IN_Description FROM Intervention WHERE Intervention.IN_IDDossier=Dossier.DO_PKID) AS +DescIntervention +FROM Dossier +LEFT OUTER JOIN Client ON (CL_PKID=DO_IDClient) +LEFT OUTER JOIN Intervention ON (IN_IDDossier=DO_PKID) +LEFT OUTER JOIN Lieu ON (LI_PKID=IN_IDLieu) +WHERE Dossier.DO_PKID = {p_IdDossier} +06/08/2026 Isis_BO 5792 + +Partie 6 › Classe › MTableauDeDossier › Code +ORDER BY Dossier.DO_PKID DESC +LIMIT {p_Indice},{p_NbEnreg} +] +ReqSQL.p_IdDossier = MesParamètres..Occurrence=2 _et_ MesParamètres[2]<>-1 ? MesParamètres[2] sinon +Null +ReqSQL.p_Indice = 0 +ReqSQL.p_NbEnreg = nCptEnreg +si gbThreadFinListeDossierGlobal alors +ThreadFin() +fin +// exécution de la requête +si HExécuteRequête(ReqSQL) _et_ HNbEnr(ReqSQL)>0 alors +boucle +bFinRequete = Faux +//Incrément pour le prochaine tours +nIndice += (nCptEnreg+1) +// charge les enregistrements en mémoire +pour tout ReqSQL +clModele est un MDossier +clModele.Charger(ReqSQL) +si clTabDeDossier:m_bTrie alors +TableauAjouteTrié(clTabDeDossier:m_clTabModele,clModele) +sinon +TableauAjoute(clTabDeDossier:m_clTabModele,clModele) +fin +fin +clTabDeDossier:TrieLesElementsDuTableau("-m_nPKID") +si gbThreadFinListeDossierGlobal alors +ThreadFin() +fin +ExécuteThreadPrincipal(MesParamètres[1],clTabDeDossier,bFinRequete) +HLibèreRequête(ReqSQL) +ReqSQL.p_IdDossier = MesParamètres..Occurrence=2 _et_ MesParamètres[2]<>-1 ? MesParamètres[2] +sinon Null +ReqSQL.p_Indice = nIndice +ReqSQL.p_NbEnreg = nCptEnreg +HExécuteRequête(ReqSQL) +à faire tantque HNbEnr(ReqSQL)>0 _et_ nIndice<1000 +bFinRequete = Vrai +sinon +ExécuteThreadPrincipal(MesParamètres[1],clTabDeDossier,Vrai) +fin +//ExécuteThreadPrincipal(MesParamètres[1],Null,bFinRequete) +Méthode TrieLesElementsDuTableau +// Résumé : +// Syntaxe : +//TrieLesElementsDuTableau ( est chaîne) +// +// Paramètres : +// sMembresTrie (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure TrieLesElementsDuTableau(local sMembresTrie est une chaîne) +06/08/2026 Isis_BO 5793 + +Partie 6 › Classe › MTableauDeDossier › Code +si sMembresTrie<>"" alors +TableauTrie(:m_clTabModele, ttMembre,sMembresTrie) +si pas ErreurDétectée alors +:m_bTrie = Vrai +sinon +:m_bTrie = Faux +fin +fin +06/08/2026 Isis_BO 5794 + +Partie 6 › Classe › PFicheDossier › Code +PFicheDossier +Code +Déclaration de PFicheDossier +PFicheDossier est une Classe +protégé +m_clModeleCourant est un MDossier +// modèle associé à la présentation +m_clModeleSource est un MDossier dynamique +// référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +m_clFicheClient est un PFicheClient dynamique // Fiche client +m_clListeIntervention est un PTableIntervention dynamique // Liste des interventions +//m_clListeInterlocuteur est un PTableDossier_Personne dynamique +// liste des interlocuteurs du dossier +fin +Méthode bExisteContactSurAutreClient +// Résumé : +// Syntaxe : +//[ = ] bExisteContactSurAutreClient () +// +// Paramètres : +// Aucun +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure bExisteContactSurAutreClient() +bResultat est un booléen +//Boucle sur le tableau des interventions +pour i = 1 _à_ :ListeIntervention:m_clTabModele.Occurrence() +clPresenFicheInter est un PFicheIntervention <- :ListeIntervention:m_clTabModele[i] +//Boucle sur le tableau des contacts client de l'intervention i +pour j = 1 _à_ clPresenFicheInter:ListeContactClient.m_clTabModele.Occurrence() +//L'id du client a changé +si clPresenFicheInter:ListeContactClient.m_clTabModele[j]:m_nIDClient<>:FicheClient:m_nPKID +alors +//Indique qu'il faut appeler la MAJ écran +bResultat = Vrai +break +fin +fin +fin +renvoyer bResultat +Méthode bOK +06/08/2026 Isis_BO 5795 + +Partie 6 › Classe › PFicheDossier › Code +procédure bOK(clErreur est un CErreur) +//,LOCAL bAvecTransaction est un booléen=faux,LOCAL bMajCourant est un booléen +bRenvoyer est un booléen = Faux +bCreation est un booléen +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// +SI bAvecTransaction ALORS +HTransactionDébut(gcnxBO,"Dossier,Intervention,Intervention_Personne,EtatIntervention") +//Contôle des données Equipe +:m_clModeleCourant:bControle(clErreur,Faux) +si pas clErreur.p_bOk alors goto ERREURTRANSAC +bCreation =m_clModeleCourant:bNouveau() +si m_clModeleCourant:m_sRefInterne="" alors +m_clModeleCourant:m_sRefInterne = CreaCompteur("D",-1,-1,Vrai) +fin +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURTRANSAC +// POUR i = 1 _A_ m_clListeIntervention:m_clTabModele.Occurrence() +// +// SI m_clListeIntervention:m_clTabModele[i]:m_nIDClient<>:m_nIDClient ALORS +// m_clListeIntervention:m_clTabModele[i]:m_nIDClient=:m_nIDClient +// FIN +// SI m_clListeIntervention:m_clTabModele[i]:m_nIDDossier<>:m_nPKID ALORS +// m_clListeIntervention:m_clTabModele[i]:m_nIDDossier=:m_nPKID +// FIN +// clPresentationFiche est un PFicheIntervention(m_clListeIntervention:m_clTabModele[i]) +// +SI PAS clPresentationFiche.bOK(clErreur) ALORS GOTO ERREURTRANSAC +//clPresentationFiche.bOK(clErreur,Faux) +// FIN +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +si bCreation alors +m_pValidation = Null +fin +fin +// SI bMajCourant ALORS +// m_clModeleCourant <= m_clModeleSource +// FIN +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +//Termine la transaction +//SI bAvecTransaction ALORS HTransactionFin(gcnxBO) +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +06/08/2026 Isis_BO 5796 + +Partie 6 › Classe › PFicheDossier › Code +//Etiquette d'erreur +ERREURTRANSAC : +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MDossier dynamique, pValidation est une procédure=Null) +si clModele:m_nIDTypeDossier = 0 alors clModele:m_nIDTypeDossier = gpclListeTypeDossier: +RechercheEtDonneIdDepuisValeur(0) +si clModele:m_nIDStatut = 0 alors clModele:m_nIDStatut = gpclListeStatutDossier: +RechercheEtDonneIdDepuisValeur(1) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété bEstNulleListeIntervention +procédure publique bEstNulleListeIntervention() : booléen +renvoyer m_clListeIntervention=Null +Récupération de la propriété FicheClient +procédure publique FicheClient() : PFicheClient +renvoyer m_clFicheClient +Affectation de la propriété FicheClient +procédure publique FicheClient(clValeur est PFicheClient dynamique) +m_clFicheClient=clValeur +:m_nIDClient = m_clFicheClient:IdentifiantUnique +Récupération de la propriété ListeIntervention +06/08/2026 Isis_BO 5797 + +Partie 6 › Classe › PFicheDossier › Code +procédure publique ListeIntervention() : PTableIntervention +renvoyer m_clListeIntervention +Affectation de la propriété ListeIntervention +procédure publique ListeIntervention(clValeur est PTableIntervention) +m_clListeIntervention=clValeur +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MDossier +renvoyer m_clModeleCourant +Méthode gFicheClient +// Résumé : +// Syntaxe : +//gFicheClient ( est PFicheDossier dynamique [, est PFicheClient +dynamique [, est entier sur 8 octets [, est booléen [, est +chaîne]]]]) +// +// Paramètres : +// clFicheDossier (PFicheDossier dynamique) : +// clFicheClient (PFicheClient dynamique - valeur par défaut=0) : < +indiquez ici le rôle de clFicheClient> +// nIdClient (entier sur 8 octets - valeur par défaut=-1) : +// bAvecContact (booléen - valeur par défaut=0) : +// sNomClient (chaîne ANSI - valeur par défaut="") : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale gFicheClient(clFicheDossier est un PFicheDossier dynamique,clFicheClient est +un PFicheClient dynamique=Null,local nIdClient est un entier sur 8 octets=-1,local bAvecContact est un +booléen=Faux,local sNomClient est une chaîne="") +clTabClient est un PTableClient dynamique +si clFicheClient<>Null alors +si nIdClient<>-1 alors +clTabClient <- PTableClient.gNouvellePresentation(1,nIdClient) +sinon si sNomClient<>"" _et_ (clFicheDossier:FicheClient:m_nPKID=0 _ou_ clFicheDossier:FicheClient: +m_sNom<>sNomClient ) alors +clTabClient <- PTableClient.gNouvellePresentation(1,-1,sNomClient) +fin +si clTabClient<>Null _et_ clTabClient.p_nTotal>=1 alors +clFicheClient = allouer un PFicheClient(clTabClient.m_clTabModele[1],*) +DemandeMiseAJourIHM() +fin +clFicheDossier:FicheClient = clFicheClient +//bAuMoinsUnAjout est un booléen +//En commentaire car il faut reprendre le code : parcourir l'ensemble des interventions du dossier +et regarder pour +chacunes d'entres-elles si elle possède des contacts clients +//SuppressionContactClientSiBesoin(clFicheIntervention,bAuMoinsUnAjout) +si clTabClient=Null alors +06/08/2026 Isis_BO 5798 + +Partie 6 › Classe › PFicheDossier › Code +DemandeMiseAJourIHM() +fin +sinon +//clFicheDossier.IdentifiantUnique=0 ? 1 SINON 4,clFicheDossier.IdentifiantUnique=0 ? nIdClient +SINON clFicheDossier.IdentifiantUnique +clTabClient <- PTableClient.gNouvellePresentation(4,clFicheDossier.IdentifiantUnique) +si clTabClient.p_nTotal>=1 alors +clFicheClient = allouer un PFicheClient(clTabClient.m_clTabModele[1],*) +sinon +clFicheClient = PFicheClient.gNouvellePresentation() +fin +clFicheDossier:FicheClient = clFicheClient +fin +si bAvecContact alors +//Recherche des contacts du client +PFicheClient.gListeContacts(clFicheClient) +fin +Méthode gListeClientPossible +// Résumé : +// Syntaxe : +//gListeClientPossible () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale gListeClientPossible() +Méthode gListeIntervention +// Résumé : +// Syntaxe : +//gListeIntervention ( est PFicheDossier) +// +// Paramètres : +// clPresentation (PFicheDossier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure globale gListeIntervention(clPresentation est un PFicheDossier) +clPresentation:m_clListeIntervention = PTableIntervention.gNouvellePresentation(1,clPresentation. +IdentifiantUnique) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +06/08/2026 Isis_BO 5799 + +Partie 6 › Classe › PFicheDossier › Code +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MDossier() +clPresentation est un PFicheDossier(clModele,pValidation) +renvoyer clPresentation +Méthode SuppressionContactClientSiBesoin +// Résumé : +// Syntaxe : +//SuppressionContactClientSiBesoin ( est PFicheDossier, est booléen) +// +// Paramètres : +// clPresentation (PFicheDossier) : +// bAuMoinsUnAjout (booléen) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure globale SuppressionContactClientSiBesoin(clPresentation est un PFicheDossier,bAuMoinsUnAjout +est un booléen) +//Il existe des contacts sur un autre client +si clPresentation:bExisteContactSurAutreClient() alors +//Boucle sur le tableau des interventions +pour i = 1 _à_ clPresentation:ListeIntervention:m_clTabModele.Occurrence() +clPresenFicheInter est un PFicheIntervention <- clPresentation:ListeIntervention:m_clTabModele[ +i] +//Boucle sur le tableau des contacts client de l'intervention i +pour j = clPresenFicheInter:ListeContactClient.m_clTabModele.Occurrence() _à_ 1 pas -1 +//L'id du client a changé +si clPresenFicheInter:ListeContactClient.m_clTabModele[i]:m_nIDClient<>clPresentation. +FicheClient:m_nPKID alors +clErreur est un CErreur +//Indique le contact courant +clPresenFicheInter.ListeContactClient.p_clCourant = clPresenFicheInter. +ListeContactClient.m_clTabModele[i] +//Supprime le contact qui n'est pas rattaché au même client +clPresenFicheInter.ListeContactClient.bSupprimer(clErreur) +//Indique qu'il faut appeler la MAJ écran +bAuMoinsUnAjout = Vrai +fin +fin +fin +fin +06/08/2026 Isis_BO 5800 + +Partie 6 › Classe › MDossier › Code +MDossier +Code +Déclaration de MDossier +MDossier est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_nIDSociete est un entier sur 8 octets +m_nIDClient est un entier sur 8 octets +m_nIDTypeDossier est un entier sur 8 octets +//m_sDescription est une chaîne ANSI +//m_nIDDemandeur est un entier sur 8 octets +//m_nIDSuiveur est un entier sur 8 octets +m_sTitre est une chaîne +m_nIDStatut est un entier sur 8 octets +m_sRefInterne est une chaîne +m_sRefExterne est une chaîne +m_sIDImport est une chaîne +m_dDebutDossier est une Date + +m_nPertinenceFulltext est un entier +m_sDescriptionIntervention est une chaîne +fin +Méthode bControle +// Résumé : +// Syntaxe : +//[ = ] bControle ( est CErreur, est booléen) +// +// Paramètres : +// clErreur (CErreur) : +// bSupprime (booléen) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure bControle(clErreur est un CErreur,local bSupprime est un booléen) +bResultat est un booléen=Vrai +tabListeErr est un tableau de chaînes +quand exception dans +si pas bSupprime alors +//SI SansEspace(:m_sDescription)="" ALORS +Ajoute(tabListeErr,"Veuillez renseigner une description") +si :m_nIDClient=0 alors Ajoute(tabListeErr, +"Veuillez choisir le client concerné") +si :m_nIDTypeDossier=0 alors Ajoute(tabListeErr, +"Veuillez choisir le type de dossier") +//SI :m_nIDDemandeur=0 ALORS +Ajoute(tabListeErr,"Veuillez choisir le demander") +//SI :m_nIDSuiveur=0 ALORS +Ajoute(tabListeErr,"Veuillez choisir le collaborateur qui va suivre le dossier") +06/08/2026 Isis_BO 5801 + +Partie 6 › Classe › MDossier › Code +sinon +fin +si tabListeErr..Occurrence>0 alors +goto ERREURFONCTIONNELLE +sinon +goto SORTIE +fin +ERREURFONCTIONNELLE : +clErreur.Init(CErreur.Fonctionnelle,tabListeErr) +bResultat = Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +bResultat = Faux +fin +SORTIE : +renvoyer bResultat +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer m_sRefInterne +06/08/2026 Isis_BO 5802 + +Partie 6 › Classe › MLieu › Code +MLieu +Code +Déclaration de MLieu +MLieu est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +| m_sCodeLieu | est une chaîne ANSI | | | | +| ----------- | ------------------- | --- | --------------------- | --- | +m_nIDAdresse est un entier sur 8 octets +m_nIDType est un entier sur 8 octets +| m_sCodeAcces | est une chaîne ANSI | | | | +| ------------- | ------------------- | -------------------- | ----------------------- | --- | +| m_bBadge | est un booléen | | | | +| m_bInterphone | est un booléen | | | | +| m_sNote | est une chaîne ANSI | | | | +| m_sIDImport | est une chaîne ANSI | | | | +| //m_bArchive | est un booléen | | | | +//m_dhDateArchivage est une dateheure +m_nIDClientPrincipal est un entier sur 8 octets +| m_bBlocage | est un booléen | | | | +| ---------------- | -------------- | --- | -------------------------- | --- | +| m_sRaisonBlocage | est une chaîne | | | | + +//************************************************************************************************* +************* +// Membres NON liés aux rubriques du fichier Lieu +//************************************************************************************************* +************* +// VARIABLE DE TYPE SIMPLE +| m_bSelection | est un booléen | | | | +| ------------ | -------------- | --- | --- | --- | +// VARIABLE DE TYPE CLASSE +m_clAdresse est un MAdresse +// VARIABLE DE TYPE TABLEAU +fin +Méthode bControle +// Résumé : +procédure bControle(clErreur est un CErreur,local bSupprime est un booléen) +bResultat est un booléen=Vrai +tabListeErr est un tableau de chaînes +quand exception dans +si pas bSupprime alors +si SansEspace(:m_sCodeLieu)="" alors Ajoute(tabListeErr, +"Veuillez renseigner le nom du Site") +//SI :m_nIDAdresse=0 ALORS +Ajoute(tabListeErr,"Veuillez renseigner une adresse pour le Site") +//SI :m_nIDType=0 ALORS +Ajoute(tabListeErr,"Veuillez renseigner le type de Site") +si SansEspace(:m_sCodeLieu)<>"" alors +| 06/08/2026 | | Isis_BO | | 5803 | +| ---------- | --- | ------- | --- | ---- | + +Partie 6 › Classe › MLieu › Code +sCleFiltre est une chaîne = HFiltre(Lieu,ChaîneConstruit( +"LI_CodeLieu='%1' AND LI_PKID<>%2",Remplace(m_sCodeLieu,"'","''"),m_nPKID)) +si HLitPremier(Lieu,sCleFiltre,hRespecteFiltre) _et_ pas HEnDehors(Lieu) alors +HLitRecherchePremier(Adresse,AD_PKID,Lieu.LI_IDAdresse) +Ajoute(tabListeErr,"Ce code site existe déjà pour l'adresse suivante :"+RC+RC+Adresse. +AD_Presentation) +fin +HDésactiveFiltre(Lieu) +fin +sinon +sdCtrlInterv est une Source de Données +si HExécuteRequêteSQL(sdCtrlInterv,hRequêteDéfaut,ChaîneConstruit( +"SELECT COUNT(*) AS NB FROM Intervention WHERE Intervention.IN_IDLieu=%1 HAVING COUNT(*)>0",: +m_nPKID)) alors +si HNbEnr(sdCtrlInterv)>0 alors +Ajoute(tabListeErr,ChaîneConstruit("Ce site est utilisée dans %1 intervention%2", +sdCtrlInterv.NB,sdCtrlInterv.NB>1 ? "s" sinon "")) +fin +fin +HLibèreRequête(sdCtrlInterv) +fin +si tabListeErr..Occurrence>0 alors +goto ERREURFONCTIONNELLE +sinon +goto SORTIE +fin +ERREURFONCTIONNELLE : +clErreur.Init(CErreur.Fonctionnelle,tabListeErr) +bResultat = Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +bResultat = Faux +fin +SORTIE : +renvoyer bResultat +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété ImageEtatLieu +procédure publique ImageEtatLieu() +renvoyer :NomImgEtatLieu() +Affectation de la propriété ImageEtatLieu +procédure publique ImageEtatLieu(Valeur) +Récupération de la propriété InfoOnglet +06/08/2026 Isis_BO 5804 + +Partie 6 › Classe › MLieu › Code +procédure InfoOnglet() : chaîne +renvoyer m_sCodeLieu +Méthode NomImgEtatLieu +procédure NomImgEtatLieu() +si :m_bBlocage alors +renvoyer "candado.png" +sinon +renvoyer "candado-abierto.png" +fin +06/08/2026 Isis_BO 5805 + +Partie 6 › Classe › PFicheLieu › Code +PFicheLieu +Code +Déclaration de PFicheLieu +PFicheLieu est une Classe +protégé +m_clModeleCourant est un MLieu +// modèle associé à la présentation +m_clModeleSource est un MLieu dynamique +// référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +m_cListeLot est un PTableLot dynamique +m_clListeContact est un PTableLieu_Personne dynamique // liste des contacts du lieu +m_clListeClient est un PTableClient dynamique // liste des clients d'un lieu +m_clListeDossier est un PTableDossier dynamique // liste des clients d'un lieu +fin +Méthode bControle +// Redéfinition de la méthode MLieu.bControle +procédure bControle(clErreur est un CErreur,local bSupprime est un booléen) +bResultat est un booléen=Vrai +tabListeErr est un tableau de chaînes +quand exception dans +si pas bSupprime alors +sinon +fin +//Appel de la méthode ancêtre pour les contrôles de bas niveau +bResultat =m_clModeleCourant:MLieu.bControle(clErreur,bSupprime) +si tabListeErr..Occurrence>0 alors +goto ERREURFONCTIONNELLE +sinon +goto SORTIE +fin +ERREURFONCTIONNELLE : +clErreur.Init(CErreur.Fonctionnelle,tabListeErr) +bResultat = Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +bResultat = Faux +fin +SORTIE : +renvoyer bResultat +Méthode bOK +procédure bOK(clErreur est un CErreur) +//,LOCAL bAvecTransaction est un booléen,LOCAL bMajCourant est un booléen +06/08/2026 Isis_BO 5806 + +Partie 6 › Classe › PFicheLieu › Code +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// SI bAvecTransaction ALORS HTransactionDébut(gcnxBO,"LIEU,ADRESSE") +//Contôle des données Lieu +:FicheEncours:bControle(clErreur,Faux) +//Contôle des données adresses +//:m_clAdresse:bControle(clErreur,Faux) +si pas clErreur.p_bOk alors goto ERREURTRANSAC +//************************************************** +//Traitement des données Client +//************************************************** +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// recopie des éléments adresses dans la présentation si besoin +m_clModeleCourant:m_clAdresse:CopieAdresseDansPresentation() +si pas m_clModeleCourant:m_clAdresse:bEnregistrer(clErreur) alors +goto ERREURTRANSAC +sinon +m_clModeleCourant:m_nIDAdresse = m_clModeleCourant:m_clAdresse:m_nPKID +fin +:FicheEncours.m_nIDAdresse=m_clModeleCourant:m_clAdresse.IdentifiantUnique +// effectue les modifications dans le fichier Lieu +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURTRANSAC +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +// SI bMajCourant ALORS +// m_clModeleCourant <= m_clModeleSource +// FIN +//Termine la transaction +// SI bAvecTransaction ALORS HTransactionFin(gcnxBO) +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURTRANSAC : +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +06/08/2026 Isis_BO 5807 + +Partie 6 › Classe › PFicheLieu › Code +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MLieu dynamique, pValidation est une procédure=Null) +si clModele<>Null _et_ clModele:m_nIDType = 0 alors clModele:m_nIDType = gpclListeTypeAdresse: +RechercheEtDonneIdDepuisValeur(0) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété FicheEncours +procédure publique FicheEncours() : MLieu +renvoyer m_clModeleCourant +Affectation de la propriété FicheEncours +procédure publique FicheEncours(clValeur est MLieu) +m_clModeleCourant=clValeur +Récupération de la propriété ListeClient +procédure publique ListeClient() : PTableClient +renvoyer m_clListeClient +Affectation de la propriété ListeClient +procédure publique ListeClient(clValeur est PTableClient) +m_clListeClient=clValeur +Récupération de la propriété ListeContact +procédure publique ListeContact() : PTableLieu_Personne +renvoyer m_clListeContact +Affectation de la propriété ListeContact +procédure publique ListeContact(clValeur est PTableLieu_Personne) +06/08/2026 Isis_BO 5808 + +Partie 6 › Classe › PFicheLieu › Code +m_clListeContact=clValeur +Récupération de la propriété ListeDossier +procédure publique ListeDossier() : PTableDossier +renvoyer m_clListeDossier +Affectation de la propriété ListeDossier +procédure publique ListeDossier(clValeur est PTableDossier) +m_clListeDossier=clValeur +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MLieu +renvoyer m_clModeleCourant +Récupération de la propriété p_QuickView +procédure publique p_QuickView() +sResultat est une chaîne +si :IdentifiantUnique > 0 alors +sResultat += :m_clAdresse:m_sLigne_1<>"" ? :m_clAdresse:m_sLigne_1 sinon "" +sResultat += :m_clAdresse:m_sLigne_2<>"" ? RC+ :m_clAdresse:m_sLigne_2 sinon "" +sResultat += :m_clAdresse:m_sLigne_3<>"" ? RC+ :m_clAdresse:m_sLigne_3 sinon "" +sResultat += :m_clAdresse:m_sLigne_4<>"" ? RC+ :m_clAdresse:m_sLigne_4 sinon "" +sResultat += :m_clAdresse:m_sLigne_5<>"" ? RC+ :m_clAdresse:m_sLigne_5 sinon "" +sResultat += :m_clAdresse:m_sCodePostal<>"" ? RC+ :m_clAdresse:m_sCodePostal sinon "" +sResultat += :m_clAdresse:m_sVille<>"" ? TAB+ :m_clAdresse:m_sVille sinon "" +// sResultat += :m_sCodeAcces<>"" ? RC+RC+"Code Accès : "+ :m_sCodeAcces SINON "" +// +// sResultat += :m_bInterphone ? RC+"Interphone : Oui" SINON RC+"Interphone : Non" +// sResultat += :m_bBadge ? TAB+"Badge : Oui" SINON TAB+"Badge : Non" +fin +renvoyer sResultat +Méthode gListeClient +// Résumé : +// Syntaxe : +//gListeClient ( est PFicheLieu) +// +// Paramètres : +// clPresentation (PFicheLieu) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale gListeClient(clPresentation est un PFicheLieu) +clPresentation.m_clListeclient = PTableClient.gNouvellePresentation(3,clPresentation.IdentifiantUnique +) +Méthode gListeContact +// Résumé : +06/08/2026 Isis_BO 5809 + +Partie 6 › Classe › PFicheLieu › Code +procédure publique globale gListeContact(clPresentation est un PFicheLieu,pclPersonne est un objet +dynamique=Null,local nIdPersonne est un entier sur 8 octets=-1,local sNomPersonne est une chaîne="") +//,LOCAL bAvecTransaction est un booleen=vrai +bAuMoinsUnAjout est un booléen = Faux +//Une liste de contact existe +si pclPersonne<>Null alors +si pclPersonne est PFichePersonne _ou_ pclPersonne est MPersonne alors +bAuMoinsUnAjout = TraiteUnContact(clPresentation,pclPersonne) +sinon si pclPersonne est PTablePersonne alors +//Boucle sur l'ensemble des contacts du client +pour i = 1 _à_ pclPersonne.m_clTabModele.Occurrence() +//Le contact est séléctionné +si pclPersonne.m_clTabModele[i].m_bSelection alors +bAuMoinsUnAjout = TraiteUnContact(clPresentation,pclPersonne.m_clTabModele[i]) +fin +fin +fin +//::SuppressionContactClientSiBesoin(clPresentation,bAuMoinsUnAjout) +si bAuMoinsUnAjout alors +DemandeMiseAJourIHM() +fin +//clPresentation.m_clListeContactClient:Nouveau = clListeLot +sinon si nIdPersonne<>-1 _ou_ sNomPersonne<>"" alors +clTabPersonne est un PTablePersonne dynamique +clTabPersonne <- PTablePersonne.gNouvellePresentation(0,-1,-1,nIdPersonne,sNomPersonne) +si clTabPersonne<>Null _et_ clTabPersonne.p_nTotal>=1 alors +bAuMoinsUnAjout = ::gListeContact(clPresentation,clTabPersonne.m_clTabModele[1]) +fin +sinon +nCpt est un entier +si clPresentation.ListeContact<>Null alors +nCpt = clPresentation.ListeContact.p_nTotal +fin +clPresentation.m_clListeContact=PTableLieu_Personne.gNouvellePresentation(1,clPresentation. +IdentifiantUnique) +si nCpt0 _et_ clFicheLP:m_nIDLieu>0 _et_ clFicheLP.bOK(clErreur) alors +//clFicheLP.bOK(clErreur,bAvecTransaction,Vrai) +//Enregistre l'ajout +renvoyer clPresentationFiche.bOK(clErreur) +//clPresentationFiche.bOK(clErreur,bAvecTransaction,Vrai) +sinon +si clFicheLP:m_nIDPersonne=0 _ou_ clFicheLP:m_nIDLieu=0 alors +clFicheLP.AppelProcValidation(2) +fin +renvoyer clErreur.p_bOk +fin +sinon +//MAJ de l'objet +//clFicheLieu.ListeContact.m_clTabModele[nIndice] +<= pclMPersonne est PFichePersonne ? pclMPersonne.p_clCourant SINON pclMPersonne +renvoyer Faux +fin +fin +Méthode gListeDossier +// Résumé : +// Syntaxe : +//gListeDossier ( est PFicheLieu) +// +// Paramètres : +// clPresentation (PFicheLieu) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale gListeDossier(clPresentation est un PFicheLieu) +clPresentation.m_clListeDossier = PTableDossier.gNouvellePresentation(4,clPresentation. +IdentifiantUnique) +Méthode gListeLot +// Résumé : +procédure publique globale gListeLot(clPresentation est un PFicheLieu) +clPresentation.m_cListeLot = PTableLot.gNouvellePresentation(clPresentation.IdentifiantUnique) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MLieu() +clPresentation est un PFicheLieu(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 5811 + +Partie 6 › Classe › MTableauDeLieu › Code +MTableauDeLieu +Code +Déclaration de MTableauDeLieu +MTableauDeLieu est une Classe +public +m_clTabModele est un tableau de MLieu dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MLieu dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MLieu dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger(local nIdLieu est un entier sur 8 octets=-1,local sCodeLieu est une chaîne="") +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 5812 + +Partie 6 › Classe › MTableauDeLieu › Code +// +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT TOP 1000 Lieu.*,Adresse.* +FROM Lieu +LEFT OUTER JOIN Adresse ON Adresse.AD_PKID=Lieu.LI_IDAdresse +WHERE Lieu.LI_PKID={p_IdLieu} +AND Lieu.LI_CodeLieu LIKE {p_CodeLieu} +] +reqSQL.p_IdLieu = nIdLieu=-1 ? Null sinon nIdLieu +reqSQL.p_CodeLieu = sCodeLieu="" ? Null sinon "%"+sCodeLieu+"%" +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MLieu +clModele.Charger(reqSQL) +clModele:m_clAdresse:Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerLieuClient +// Résumé : +procédure ChargerLieuClient(local nIdClient est un entier sur 8 octets) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT TOP 500 Lieu.*,Adresse.* ,Client_Lieu.* +FROM Lieu +INNER JOIN Adresse ON Adresse.AD_PKID=Lieu.LI_IDAdresse +LEFT OUTER JOIN Client_Lieu ON Client_Lieu.CLI_IDLieu=Lieu.LI_PKID +WHERE (Client_Lieu.CLI_IDClient={P_IDClient} AND Client_Lieu.CLI_IDLieu IS NOT NULL) +OR (Client_Lieu.CLI_IDLieu IS NULL) +] +reqSQL.P_IDClient= nIdClient=-1 ? Null sinon nIdClient +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MLieu +clModele.Charger(reqSQL) +clModele:m_clAdresse:Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerLieuIntervention +06/08/2026 Isis_BO 5813 + +Partie 6 › Classe › MTableauDeLieu › Code +// Résumé : +// Syntaxe : +//ChargerLieuIntervention ( [ est entier sur 8 octets]) +// +// Paramètres : +// nIdIntervention (entier sur 8 octets - valeur par défaut=-1) : < +indiquez ici le rôle de nIdIntervention> +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargerLieuIntervention(local nIdIntervention est un entier sur 8 octets=-1) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = [ +SELECT Lieu.*,Adresse.* +FROM Lieu +INNER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +INNER JOIN Intervention ON (Intervention.IN_IDLieu=Lieu.LI_PKID) +WHERE Intervention.IN_PKID={p_IdIntervention} +] +reqSQL.p_IdIntervention = nIdIntervention=-1 ? Null sinon nIdIntervention +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MLieu +clModele.Charger(reqSQL) +clModele:m_clAdresse.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerLieuPersonne +// Résumé : +// Syntaxe : +//ChargerLieuPersonne ( [ est entier sur 8 octets]) +// +// Paramètres : +// nIdPersonne (entier sur 8 octets - valeur par défaut=-1) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargerLieuPersonne(local nIdPersonne est un entier sur 8 octets=-1) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +06/08/2026 Isis_BO 5814 + +Partie 6 › Classe › MTableauDeLieu › Code +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = [ +SELECT Lieu.*,Adresse.* +FROM Lieu +INNER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +LEFT OUTER JOIN Lieu_Personne ON (Lieu_Personne.LIP_IDLieu=Lieu.LI_PKID) +//LEFT OUTER JOIN Lot ON (Lot.LO_IDLieu=lieu.LI_PKID) +//LEFT OUTER JOIN Lot_Personne ON(Lot_Personne.LP_IDLot=lot.LO_PKID) +WHERE Lieu_Personne.LIP_PKID={p_IdPersonne} +//OR Lot_Personne.LP_IDPersonne={p_IdPersonne} +] +reqSQL.p_IdPersonne = nIdPersonne=-1 ? Null sinon nIdPersonne +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MLieu +clModele.Charger(reqSQL) +clModele:m_clAdresse.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerUnSeulLieu +procédure ChargerUnSeulLieu(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT TOP 1000 Lieu.*,Adresse.* +FROM Lieu +LEFT OUTER JOIN Adresse ON Adresse.AD_PKID=Lieu.LI_IDAdresse +WHERE Lieu.LI_PKID={p_IdLieu} +] +reqSQL.p_IdLieu = MesParamètres..Occurrence>0 _et_ MesParamètres[1]<>-1 ? MesParamètres[1] sinon Null +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MLieu +clModele.Charger(reqSQL) +clModele:m_clAdresse:Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +06/08/2026 Isis_BO 5815 + +Partie 6 › Classe › MTableauDeLieu › Code +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode RechercheGlobale +// Résumé : +// Syntaxe : +//RechercheGlobale ( est chaîne) +// +// Paramètres : +// sTermedeRecherche (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RechercheGlobale(local sTermedeRecherche est une chaîne) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +ReqSQL est une Requête SQL = [ +SELECT Lieu.*,Adresse.* +,MATCH(Lieu.LI_Index_FullText) AGAINST ({p_TermedeRecherche}) AS PertinenceFulltext +,MATCH(Adresse.AD_Index_FullText) AGAINST ({p_TermedeRecherche}) AS PertinenceFulltext2 +FROM Lieu +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +WHERE +PertinenceFulltext >0 +OR PertinenceFulltext2 >0 +ORDER BY PertinenceFulltext DESC,PertinenceFulltext2 DESC +] +ReqSQL.p_TermedeRecherche = sTermedeRecherche+"*" +// exécution de la requête +si HExécuteRequête(ReqSQL) alors +// charge les enregistrements en mémoire +pour tout ReqSQL +clModele est un MLieu +clModele.Charger(ReqSQL) +clModele:m_clAdresse:Charger(ReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +HAnnuleDéclaration(ReqSQL) +Méthode THCharger +// Résumé : +// Syntaxe : +//THCharger ( est procédure [, est entier sur 8 octets [, est +chaîne]]) +06/08/2026 Isis_BO 5816 + +Partie 6 › Classe › MTableauDeLieu › Code +// +// Paramètres : +// LaProcedureMAJ (procédure) : +// nIdLieu (entier sur 8 octets - valeur par défaut=-1) : +// sCodeLieu (chaîne ANSI - valeur par défaut="") : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// clTabDeLieu (MTableauDeLieu) : +procédure publique globale THCharger(LaProcedureMAJ est une procédure,local nIdLieu est un entier sur 8 +octets=-1,local sCodeLieu est une chaîne="") +si gbThreadFinListeLieuGlobal alors +ThreadFin() +fin +clTabDeLieu est un MTableauDeLieu +nCptEnreg est un entier = 1000 +nIndice est un entier sur 8 octets +reqSQL est une Requête SQL = +[ +SELECT Lieu.*,Adresse.* +FROM Lieu +INNER JOIN Adresse ON Adresse.AD_PKID=Lieu.LI_IDAdresse +WHERE Lieu.LI_PKID={p_IdLieu} +AND Lieu.LI_CodeLieu ={p_CodeLieu} +ORDER BY Lieu.LI_CodeLieu +LIMIT {p_Indice},{p_NbEnreg} +] +reqSQL.p_IdLieu = nIdLieu=-1 ? Null sinon nIdLieu +reqSQL.p_CodeLieu = sCodeLieu="" ? Null sinon sCodeLieu +reqSQL.p_Indice = 0 +reqSQL.p_NbEnreg = nCptEnreg +// exécution de la requête +si HExécuteRequête(reqSQL) _et_ HNbEnr(reqSQL)>0 alors +boucle +//Incrément pour le prochaine tours +nIndice += (nCptEnreg+1) +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MLieu +clModele.Charger(reqSQL) +clModele:m_clAdresse:Charger(reqSQL) +TableauAjoute(clTabDeLieu:m_clTabModele,clModele) +fin +si gbThreadFinListeLieuGlobal alors +ThreadFin() +fin +ExécuteThreadPrincipal(LaProcedureMAJ,clTabDeLieu) +HLibèreRequête(reqSQL) +reqSQL.p_IdLieu = nIdLieu=-1 ? Null sinon nIdLieu +reqSQL.p_CodeLieu = sCodeLieu="" ? Null sinon sCodeLieu +reqSQL.p_Indice = nIndice +reqSQL.p_NbEnreg = nCptEnreg +HExécuteRequête(reqSQL) +à faire tantque HNbEnr(reqSQL)>0 _et_ nIndice<1000 +sinon +ExécuteThreadPrincipal(LaProcedureMAJ,clTabDeLieu) +fin +//FAIRE +// info(ExceptionInfo(errComplet)) +06/08/2026 Isis_BO 5817 + +Partie 6 › Classe › MTableauDeLieu › Code +//FIN +Méthode THChargerLieuClient +// Résumé : +procédure publique globale THChargerLieuClient(LaProcedureMAJ est une procédure,*) +si gbThreadFinListeLieuClient alors +ThreadFin() +fin +clTabDeLieu est un MTableauDeLieu +nCptEnreg est un entier = 500 +nIndice est un entier sur 8 octets +// récupération des données +reqSQL est une Requête SQL = +[ +SELECT Lieu.*,Adresse.* ,Client_Lieu.* +FROM Lieu +INNER JOIN Adresse ON Adresse.AD_PKID=Lieu.LI_IDAdresse +LEFT OUTER JOIN Client_Lieu ON Client_Lieu.CLI_IDLieu=Lieu.LI_PKID +WHERE (Client_Lieu.CLI_IDClient={P_IDClient} AND Client_Lieu.CLI_IDLieu IS NOT NULL) +OR (1={p_AvecLieuSansClient} AND Client_Lieu.CLI_PKID IS NULL) +ORDER BY Lieu.LI_CodeLieu +LIMIT {p_Indice},{p_NbEnreg} +] +reqSQL.P_IDClient= MesParamètres..Occurrence>=2 ? MesParamètres[2]=-1 ? Null sinon MesParamètres[2] +sinon Null +reqSQL.p_AvecLieuSansClient = MesParamètres..Occurrence>=3 ? MesParamètres[3]=Faux ? 0 sinon 1 sinon 0 +reqSQL.p_Indice = 0 +reqSQL.p_NbEnreg = nCptEnreg +// exécution de la requête +si HExécuteRequête(reqSQL) _et_ HNbEnr(reqSQL)>0 alors +boucle +//Incrément pour le prochaine tours +nIndice += (nCptEnreg+1) +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MLieu +clModele.Charger(reqSQL) +clModele:m_clAdresse:Charger(reqSQL) +TableauAjoute(clTabDeLieu:m_clTabModele,clModele) +fin +si gbThreadFinListeLieuClient alors +ThreadFin() +fin +ExécuteThreadPrincipal(LaProcedureMAJ,clTabDeLieu) +HLibèreRequête(reqSQL) +reqSQL.P_IDClient= MesParamètres..Occurrence>=2 ? MesParamètres[2]=-1 ? Null sinon +MesParamètres[2] sinon Null +reqSQL.p_AvecLieuSansClient = MesParamètres..Occurrence>=3 ? MesParamètres[3]=Faux ? 0 sinon 1 +sinon 0 +reqSQL.p_Indice = nIndice +reqSQL.p_NbEnreg = nCptEnreg +HExécuteRequête(reqSQL) +à faire tantque HNbEnr(reqSQL)>0 +sinon +ExécuteThreadPrincipal(LaProcedureMAJ,clTabDeLieu) +fin +06/08/2026 Isis_BO 5818 + +Partie 6 › Classe › PTableLieu › Code +PTableLieu +Code +Déclaration de PTableLieu +TableLieu est une Classe +protégé +m_clTableauModele est un MTableauDeLieu dynamique // modèle associé à la présentation +m_clModeleCourant est un MLieu dynamique +// référence sur le modèle de données courant +m_bMajCourantSansIHM est un booléen +m_sNomThreadListeGlobale est une chaîne +globale +m_pAjouteListe est une procédure +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Méthode ChercheEtRemplieListe +// Résumé : +// Syntaxe : +//ChercheEtRemplieListe ( est chaîne, est procédure, +est chaîne, est booléen, est chaîne [, est +booléen]) +// +// Paramètres : +// sNomChampSaisie (chaîne ANSI) : +// LaProcedureAjouteListe (procédure) : +// sTexte (chaîne ANSI) : +// bControleDoublonsTableau (booléen) : +// sNomVariableTableau (chaîne ANSI) : +// bEnThread (booléen - valeur par défaut=0) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure globale ChercheEtRemplieListe(local sNomChampSaisie est une chaîne,LaProcedureAjouteListe est +une procédure,local sTexte est une chaîne,local bControleDoublonsTableau est un booléen, local +sNomVariableTableau est une chaîne,local bEnThread est un booléen=Faux) +si gbThreadFinListeLieu alors ThreadFin() +reqSQL est une Requête SQL = [ +SELECT Lieu.*,Adresse.*,MATCH(Lieu.LI_Index_FullText) AGAINST ({p_TermedeRecherche}) AS +PertinenceFulltext +FROM Lieu +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +WHERE +PertinenceFulltext >0 +ORDER BY PertinenceFulltext DESC +06/08/2026 Isis_BO 5819 + +Partie 6 › Classe › PTableLieu › Code +] +reqSQL.p_TermedeRecherche = sTexte+"*" +si HExécuteRequête(reqSQL,hRequêteDéfaut) alors +si HNbEnr(reqSQL)> 0 alors +pour tout reqSQL +si bEnThread alors +si gbThreadFinListeLieu alors ThreadFin() +ExécuteThreadPrincipal(LaProcedureAjouteListe,sNomChampSaisie,reqSQL.LI_CodeLieu, +reqSQL.LI_PKID,bControleDoublonsTableau,sNomVariableTableau) +sinon +LaProcedureAjouteListe(sNomChampSaisie,reqSQL.LI_CodeLieu,reqSQL.LI_PKID, +bControleDoublonsTableau,sNomVariableTableau) +fin +fin +sinon +si bEnThread alors +ExécuteThreadPrincipal(LaProcedureAjouteListe,sNomChampSaisie,"",0, +bControleDoublonsTableau,sNomVariableTableau) +sinon +LaProcedureAjouteListe(sNomChampSaisie,"",0,bControleDoublonsTableau,sNomVariableTableau) +fin +//ExécuteThreadPrincipal(LaProcedureAjouteListe,sNomChampSaisie,sdMalistepersonne.LibLieu,sdMal +istepersonne.PKID,bControleDoublonsTableau,sNomVariableTableau,vrai) +// ExécuteThreadPrincipal(TH_AucunePersonne) +fin +fin +HLibèreRequête(reqSQL) +//sdMalistepersonne est une source de données +//reqSQL est une chaine = +//[ +// SELECT Lieu.LI_CodeLieu AS LibLieu,Lieu.LI_PKID AS PKID +// FROM Lieu +// INNER JOIN Adresse ON(Adresse.AD_PKID=Lieu.LI_IDAdresse) +// #1 +// WHERE 1=1 +// AND (UPPER(LI_CodeLieu)]= '%1' +// OR UPPER(AD_Ligne_1)]= '%1' +// OR UPPER(AD_Ligne_2)]= '%1' +// OR UPPER(AD_Ligne_3)]= '%1' +// OR UPPER(AD_Ligne_4)]= '%1' +// OR UPPER(AD_Ligne_5)]= '%1' +// OR UPPER(AD_CodePostal)]= '%1' +// OR UPPER(AD_Ville)]= '%1') +// #2 +// ORDER BY LI_CodeLieu +//] +//sJointureClientLieu est une chaine ="LEFT OUTER JOIN CLient_Lieu ON(CLI_IDLieu=LI_PKID)" +//sWhereIDClient est une chaine = "AND (Client_Lieu.CLI_IDClient=%2)" +//nCpt est un entier +//tabParam est un tableau de chaînes +//POUR TOUTE CHAINE sunParam DE sTexte SEPAREE PAR TAB +// nCpt++ +// SI nCpt=2 _et_ sunParam="" ALORS +// +// SINON +// tabParam.AjouteLigne(sunParam) +// FIN +// +//FIN +//SELON nCpt +// CAS 1 : reqSQL = Remplace(reqSQL,"#1",""); reqSQL = Remplace(reqSQL,"#2","") +// +06/08/2026 Isis_BO 5820 + +Partie 6 › Classe › PTableLieu › Code +CAS 2 : reqSQL = Remplace(reqSQL,"#1",sJointureClientLieu); reqSQL = +Remplace(reqSQL,"#2",sWhereIDClient) +//FIN +// +//reqSQL = ChaîneConstruit(reqSQL,tabParam) +//SI HExécuteRequêteSQL(sdMalistepersonne,hRequêteDéfaut,reqSQL) ALORS +// SI HNbEnr(sdMalistepersonne)> 0 ALORS +// POUR TOUT sdMalistepersonne +// SI bEnThread ALORS +// SI gbThreadFinListeLieu ALORS ThreadFin() +// +// +// +ExécuteThreadPrincipal(LaProcedureAjouteListe,sNomChampSaisie,sdMalistepersonne.LibLieu,sdMalisteperson +ne.PKID,bControleDoublonsTableau,sNomVariableTableau) +// SINON +// +LaProcedureAjouteListe(sNomChampSaisie,sdMalistepersonne.LibLieu,sdMalistepersonne.PKID,bControleDoublo +nsTableau,sNomVariableTableau) +// FIN +// FIN +// SINON +// +// SI bEnThread ALORS +// +ExécuteThreadPrincipal(LaProcedureAjouteListe,sNomChampSaisie,"",0,bControleDoublonsTableau,sNomVariabl +eTableau) +// SINON +// LaProcedureAjouteListe(sNomChampSaisie,"",0,bControleDoublonsTableau,sNomVariableTableau) +// FIN +// +//ExécuteThreadPrincipal(LaProcedureAjouteListe,sNomChampSaisie,sdMalistepersonne.LibLieu,sdMalistepers +onne.PKID,bControleDoublonsTableau,sNomVariableTableau,vrai) +//// ExécuteThreadPrincipal(TH_AucunePersonne) +// FIN +//FIN +//HLibèreRequête(sdMalistepersonne) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeLieu dynamique) +m_clTableauModele=clTableauModele +m_sNomThreadListeGlobale="ListeLieuGlobal" +Destructeur +procédure Destructeur() +Récupération de la propriété p_bMajCourantSansIHM +procédure publique p_bMajCourantSansIHM() : booléen +renvoyer m_bMajCourantSansIHM +Affectation de la propriété p_bMajCourantSansIHM +06/08/2026 Isis_BO 5821 + +Partie 6 › Classe › PTableLieu › Code +procédure publique p_bMajCourantSansIHM(bValeur est un booléen) +m_bMajCourantSansIHM=bValeur +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MLieu +si m_clModeleCourant=Null alors +clModele est MLieu +renvoyer clModele +sinon +renvoyer m_clModeleCourant +fin +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MLieu dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +si pas m_bMajCourantSansIHM alors +DemandeMiseAJourIHM() +fin +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +renvoyer TableauOccurrence(m_clTabModele) +Récupération de la propriété p_sNomThreadListeGlobale +procédure publique p_sNomThreadListeGlobale() : chaîne +renvoyer m_sNomThreadListeGlobale +Affectation de la propriété p_sNomThreadListeGlobale +procédure publique p_sNomThreadListeGlobale(sValeur est une chaîne) +m_sNomThreadListeGlobale=sValeur +Méthode gNouvellePresentation +procédure globale gNouvellePresentation(local nMode est un entier sur 8 octets,*) +//LOCAL nIdClient est un entier sur 8 octets=-1,LOCAL nIdIntervention est un entier sur 8 +octets=-1,LOCAL nIdLieu est un entier sur 8 octets=-1,LOCAL sCodeLieu est une chaine="" +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeLieu +selon nMode +cas 0 : clTableauModele.Charger(MesParamètres[2 à]) +06/08/2026 Isis_BO 5822 + +Partie 6 › Classe › PTableLieu › Code +cas 1 : clTableauModele.ChargerLieuClient(MesParamètres[2]) +cas 2 : clTableauModele.ChargerLieuIntervention(MesParamètres[2]) +cas 3 : clTableauModele.ChargerLieuPersonne(MesParamètres[2]) +cas 4 : clTableauModele.RechercheGlobale(MesParamètres[2]) +cas 5 : clTableauModele.ChargerUnSeulLieu(MesParamètres[2]) +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableLieu(clTableauModele) +renvoyer clPresentation +Méthode gTHNouvellePresentation +// Résumé : +// Syntaxe : +//gTHNouvellePresentation ( est entier [, ...]) +// +// Paramètres : +// nMode (entier) : +// <*> : > +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// ChampTable (champ) : +// methodeClasseDeRecherche (procédure) : +// bControleDoublonsTableau (booléen) : +// sNomTableauDeRecherche (chaîne ANSI) : +// sCritereCompl (chaîne ANSI) : +// callBackMAJ (procédure) : +// sNomThread (chaîne ANSI) : +// <*> : > +procédure publique globale gTHNouvellePresentation(local nMode est un entier, *) +//callBackMAJ est une procedure, +selon nMode +cas 0 : +si ThreadEtat("ListeLieuGlobal")<>threadInexistant alors ThreadArrête("ListeLieuGlobal") +gbThreadFinListeLieuGlobal = Faux +ThreadExécute("ListeLieuGlobal",threadNormal,MTableauDeLieu.THCharger,MesParamètres[2 à]) +cas 1 : +si ThreadEtat("ListeLieuClient")<>threadInexistant alors ThreadArrête("ListeLieuClient") +gbThreadFinListeLieuClient = Faux +ThreadExécute("ListeLieuClient",threadNormal,MTableauDeLieu.THChargerLieuClient,MesParamètres[2 +à]) +fin +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheLieu(m_clModeleCourant,ApresModification) +06/08/2026 Isis_BO 5823 + +Partie 6 › Classe › PTableLieu › Code +procédure interne ApresModification(pclModele est un MLieu dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau(*) +clModele est un MLieu() +clPresentationFiche est un PFicheLieu(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MLieu dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +Méthode THRechercheSaisieAssistee +// Résumé : +// Syntaxe : +//THRechercheSaisieAssistee ( est chaîne, est chaîne, + est procédure, est chaîne, est +booléen, est chaîne, +est chaîne) +// +// Paramètres : +// sNomChampDeSaisie (chaîne ANSI) : +// sValeurChampDeSaisie (chaîne ANSI) : +// methodeClasseDeRecherche (procédure) : +// sNomThread (chaîne ANSI) : +// bControleDoublonsTableau (booléen) : +// sNomTableauDeRecherche (chaîne ANSI) : +// sCritereCompl (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale THRechercheSaisieAssistee(local sNomChampDeSaisie est une chaîne,local +sValeurChampDeSaisie est une chaîne, methodeClasseDeRecherche est une procédure, local sNomThread est +une chaîne,local bControleDoublonsTableau est un booléen,local sNomTableauDeRecherche est une chaîne, +local sCritereCompl est une chaîne) +nCpt est un entier +boucle +nCpt+=1 +//SI nCpt=1 ALORs gbThreadFinListeLieu= Vrai +ThreadArrête(sNomThread) +à faire tantque ThreadEtat(sNomThread)<>threadInexistant +//trace(nCpt) +//SI ThreadEtat(sNomThread)<>threadInexistant ALORS +// +// ThreadArrête(sNomThread) +//FIN +pointeurAjouteLieu est une procédure +"Utilitaire" et Configuration<>"SLAMM_RecupHeures"> +pointeurAjouteLieu = TH_AjouteSaisieAssistee + +06/08/2026 Isis_BO 5824 + +Partie 6 › Classe › PTableLieu › Code +gbThreadFinListeLieu = Faux +ThreadExécute(sNomThread,threadNormal,methodeClasseDeRecherche,sNomChampDeSaisie,pointeurAjouteLieu, +sCritereCompl<>"" ? sValeurChampDeSaisie+TAB+sCritereCompl sinon sValeurChampDeSaisie, +bControleDoublonsTableau,sNomTableauDeRecherche) +Méthode Trie +// Résumé : +// Syntaxe : +//Trie () +// +// Paramètres : +// sMembresTrie : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Trie(sMembresTrie) +si sMembresTrie<>"" alors +TableauTrie(:m_clTabModele, ttMembre,sMembresTrie) +fin +06/08/2026 Isis_BO 5825 + +Partie 6 › Classe › MIntervention › Code +MIntervention +Code +Déclaration de MIntervention +MIntervention est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_nIDEtatIntervention est un entier sur 8 octets +m_nIDDossier est un entier sur 8 octets +m_nIDSociete est un entier sur 8 octets +m_nIDDemandeur est un entier sur 8 octets +| m_nIDLieu | est un entier sur 8 octets | | | | | +| ----------- | -------------------------- | --- | --------------------- | --- | --- | +| m_nIDClient | est un entier sur 8 octets | | | | | +m_nIDTypeIntervention est un entier sur 8 octets +m_bAttestationTVAPresente est un booléen +| m_sDescription | est une chaîne | | | | | +| -------------- | -------------- | --- | ------------------------ | --- | --- | +| m_sNoteInterne | est une chaîne | | | | | +m_nIDSuiviPar est un entier sur 8 octets +| m_sTitre | est une chaîne | | | | | +| ------------- | -------------- | --- | ----------------------- | --- | --- | +| m_sRefInterne | est une chaîne | | | | | +| m_sRefExterne | est une chaîne | | | | | +| m_sIDImport | est une chaîne | | | | | +m_dDateIntervention est une Date +m_rDureePrevue est un réel sur 4 octets +| m_sNumDevis | est une chaîne ANSI | | | | | +| --------------- | -------------------- | --- | ------------------------ | --- | --- | +| m_dDateDevis | est une Date | | | | | +| m_sNumFacture | est une chaîne ANSI | | | | | +| m_dDateFacture | est une Date | | | | | + +| m_sCodeSite | est une chaîne | | | | | +| ----------- | -------------- | --- | --- | ------------------ | --- | +fin +Méthode bControle +// Résumé : +// Syntaxe : +//[ = ] bControle ( est CErreur, est booléen) +// +// Paramètres : +// clErreur (CErreur) : +// bSupprime (booléen) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure bControle(clErreur est un CErreur,local bSupprime est un booléen) +bResultat est un booléen=Vrai +tabListeErr est un tableau de chaînes +quand exception dans +si pas bSupprime alors +si m_nIDTypeIntervention=0 alors Ajoute(tabListeErr, +"Veuillez renseigner le type d'intervention") +| 06/08/2026 | | Isis_BO | | | 5826 | +| ---------- | --- | ------- | --- | --- | ---- | + +Partie 6 › Classe › MIntervention › Code +si m_nIDEtatIntervention=0 alors Ajoute(tabListeErr,"Veuillez renseigner l'état d'intervention" +) +//SI SansEspace(:m_sNom)="" ALORS +Ajoute(tabListeErr,"Veuillez renseigner le nom de l'équipe") +//SI :m_nIDSociete=0 ALORS +Ajoute(tabListeErr,"Veuillez choisir la société lié à l'équipe") +sinon +fin +si tabListeErr..Occurrence>0 alors +goto ERREURFONCTIONNELLE +sinon +goto SORTIE +fin +ERREURFONCTIONNELLE : +clErreur.Init(CErreur.Fonctionnelle,tabListeErr) +bResultat = Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +bResultat = Faux +fin +SORTIE : +renvoyer bResultat +Constructeur +procédure Constructeur() +m_dDateDevis="" +m_dDateFacture="" +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer "" +Récupération de la propriété p_DescriptionSansRTF +procédure publique p_DescriptionSansRTF() +renvoyer RTFVersTexte(:m_sDescription) +06/08/2026 Isis_BO 5827 + +Partie 6 › Classe › PFicheIntervention › Code +PFicheIntervention +Code +Déclaration de PFicheIntervention +PFicheIntervention est une Classe +| m_pMAJObjetRetourFI | est une procédure | | | | +| -------------------------- | ----------------- | --- | --- | --- | +| m_rTempsPasse | est un réel | | | | +| m_rTempsEstime est un réel | | | | | +| m_bVerificationDoc | est un booléen | | | | +protégé +| m_clModeleCourant | est un MIntervention | | | | +| ------------------ | ----------------------------- | --- | --- | --- | +// modèle associé à la présentation +| m_clModeleSource est un MIntervention dynamique | | | | | +| ------------------------------------------------ | --- | --- | --- | --- | +// référence sur le modèle d'origine +| m_bufModeleSource est un Buffer | | | | | +| ------------------------------- | ----------------- | --- | --- | --- | +| m_pValidation | est une procédure | | | | +// procédure à appeler lors de la validation +m_clFicheClient est un PFicheClient dynamique // fiche client +m_clListeContactClient est un PTableIntervention_Personne dynamique +// liste des contacts du client d'une intervention +m_clFicheDemandeur est un PFichePersonne dynamique // fiche demandeur +| m_clFicheLieu | est un PFicheLieu dynamique | | // fiche lieu | | +| ---------------------------------------------------- | --------------------------- | --- | ------------- | --- | +| m_clListeLot est un PTableIntervention_Lot dynamique | | | | | +// liste des lots d'une intervention +m_clListePersonneLieuest un PTableIntervention_Personne dynamique +//liste des contacts du lieu d'une intervention +| m_clListeEtat | est un PTableEtatIntervention dynamique | | | | +| ------------- | --------------------------------------- | --- | --- | --- | +// Historique de états de l'intervention +| m_clListeRdv est un PTableRDV dynamique | | | | | +| --------------------------------------- | --- | --- | --- | --- | +//liste des rendez-vous d'une intervention +| m_clListeDocument est un PTableDocument dynamique | | | | | +| ------------------------------------------------- | --- | --- | --- | --- | +// liste des documents +m_clListeMessageInterne est un PTableMessageInterne dynamique +// liste des messages internes +m_clListeMessageAdminest un PTableMessageInterne dynamique +// liste des messages internes type administrative +m_clListeSuiviDesTemps est un PTableSuiviDesTemps dynamique // liste des temps +| m_clFicheSuiveur est un PFicheCollaborateur dynamique | | | | | +| ----------------------------------------------------- | --- | --- | --- | --- | +// fiche de celui qui suit l'intervention +| m_clFicheSociete est un PFicheSociete dynamique | | | | | +| ----------------------------------------------- | --- | --- | --- | --- | +// fiche société concerné par l'intervention +m_clListeMessageExterne est un PTableMessageExterne dynamique // +liste des messages externes +m_clListeAction est un PTableAction dynamique // liste des actions +m_clListeCollab est un PTableIntervention_Collaborateur dynamique +// liste des collaborateurs d'une intervention +m_clListeChampLibre est un PTableIntervention_ChampLibre dynamique +// liste des champs libres d'une intervention +| m_clListeCompteRendu est un PTableCompteRendu dynamique | | | | | +| ------------------------------------------------------- | --- | --- | --- | --- | +// liste des compte-rendus d'intervention +m_clListeRapport est un PTableDocument dynamique // liste des rapports +m_clFicheDossier est un PFicheDossier dynamique // Fiche Dossier +| m_clListeDocumentOK | est un PTableDocument dynamique | | | | +| ------------------- | ------------------------------- | --- | --- | --- | +// liste des documents +m_clFicheIntervBddExtest un PFicheIntervention_BddExt dynamique +m_clCheckList est un PTableCheckList dynamique // checkList +fin +Méthode bControle +| 06/08/2026 | | Isis_BO | | 5828 | +| ---------- | --- | ------- | --- | ---- | + +Partie 6 › Classe › PFicheIntervention › Code +// Redéfinition de la méthode MIntervention.bControle +procédure bControle(clErreur est un CErreur,local bSupprime est un booléen) +bResultat est un booléen=Vrai +tabListeErr est un tableau de chaînes +quand exception dans +si pas bSupprime alors +//SI m_nIDTypeIntervention=0 ALORS Ajoute(tabListeErr,"Veuillez renseigner le type +d'intervention") +sinon +nCptRdv est un entier = ListeRendezVous<>Null ? ListeRendezVous.p_nTotal sinon 0 +nCptTmp est un entier = ListeSuiviDesTemps<>Null ? ListeSuiviDesTemps.p_nTotal sinon 0 +nCptAct est un entier = ListeAction<>Null ? ListeAction.p_nTotal sinon 0 +nCptDoc est un entier = ListeDocument<>Null ? ListeDocument.p_nTotal sinon 0 +nCptMex est un entier = ListeMessageExterne<>Null ? ListeMessageExterne.p_nTotal sinon 0 +si nCptRdv > 0 alors Ajoute(tabListeErr,ChaîneConstruit("%1 rendez-vous exist +%2 pour cette intervention",nCptRdv,nCptRdv>1 ? "ent" sinon "e")) +si nCptTmp > 0 alors Ajoute(tabListeErr,ChaîneConstruit("Des temps exist +%2 pour cette intervention",nCptTmp>1 ? "ent" sinon "e")) +si nCptDoc > 0 alors Ajoute(tabListeErr,ChaîneConstruit("%1 document%2 exist +%3 pour cette intervention",nCptDoc,nCptDoc>1 ? "s" sinon "",nCptDoc>1 ? "ent" sinon "e")) +si nCptAct > 0 alors Ajoute(tabListeErr,ChaîneConstruit("%1 action%2 exist +%3 pour cette intervention",nCptAct,nCptAct>1 ? "s" sinon "",nCptAct>1 ? "ent" sinon "e")) +si nCptMex > 0 alors Ajoute(tabListeErr,ChaîneConstruit("%1 message%2 externe%2 exist +%3 pour cette intervention",nCptMex,nCptMex>1 ? "s" sinon "",nCptMex>1 ? "ent" sinon "e")) +fin +//Appel de la méthode ancêtre pour les contrôles de bas niveau +bResultat =m_clModeleCourant:MIntervention.bControle(clErreur,bSupprime) +si tabListeErr..Occurrence>0 alors +goto ERREURFONCTIONNELLE +sinon +goto SORTIE +fin +ERREURFONCTIONNELLE : +clErreur.Init(CErreur.Fonctionnelle,tabListeErr) +bResultat = Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +bResultat = Faux +fin +SORTIE : +renvoyer bResultat +Méthode bExisteContactLieuSurRdV +// Résumé : +// Syntaxe : +//[ = ] bExisteContactLieuSurRdV ( [ est booléen]) +// +// Paramètres : +// bSurContactCourant (booléen - valeur par défaut=0) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +06/08/2026 Isis_BO 5829 + +Partie 6 › Classe › PFicheIntervention › Code +// +procédure bExisteContactLieuSurRdV(local bSurContactCourant est un booléen=Faux) +bResultat est un booléen +gclPresentListeContactRDV est un PTablePlanning_RDV_Personne dynamique +pour j = 1 _à_ :ListeRendezVous.p_nTotal +//Chargement des contacts du rendez-vous +gclPresentListeContactRDV = PTablePlanning_RDV_Personne.gNouvellePresentation(ListeRendezVous: +m_clTabModele[j].m_nPKID) +si bSurContactCourant alors +nIndice est un entier = TableauCherche(gclPresentListeContactRDV:m_clTabModele,tcLinéaire, +"m_nIDPersonne",:ListeContactLieu.p_clCourant:m_nIDPersonne,1) +si nIndice>0 alors +//Indique qu'il faut appeler la MAJ écran +bResultat = Vrai +break +fin +sinon +//Boucle sur le tableau des contacts client de l'intervention du dernier au premier +pour i = 1 _à_ :ListeContactLieu.m_clTabModele.Occurrence() +nIndice est un entier = TableauCherche(gclPresentListeContactRDV:m_clTabModele,tcLinéaire, +"m_nIDPersonne",:ListeContactLieu.m_clTabModele[i]:m_nIDPersonne,1) +si nIndice>0 alors +//Indique qu'il faut appeler la MAJ écran +bResultat = Vrai +break +fin +fin +fin +si bResultat alors +break +fin +fin +renvoyer bResultat +Méthode bExisteContactSurAutreClient +// Résumé : +// Syntaxe : +//[ = ] bExisteContactSurAutreClient () +// +// Paramètres : +// Aucun +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure bExisteContactSurAutreClient() +bResultat est un booléen +//Boucle sur le tableau des contacts client de l'intervention du dernier au premier +pour i = 1 _à_ :ListeContactClient.m_clTabModele.Occurrence() +//L'id du client a changé +si :ListeContactClient.m_clTabModele[i]:m_nIDClient<>:FicheClient:m_nPKID alors +//Indique qu'il faut appeler la MAJ écran +bResultat = Vrai +06/08/2026 Isis_BO 5830 + +Partie 6 › Classe › PFicheIntervention › Code +break +fin +fin +renvoyer bResultat +Méthode bExisteContactSurAutreLieu +// Résumé : +// Syntaxe : +//[ = ] bExisteContactSurAutreLieu () +// +// Paramètres : +// Aucun +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure bExisteContactSurAutreLieu() +bResultat est un booléen +//Boucle sur le tableau des contacts client de l'intervention du dernier au premier +pour i = 1 _à_ :ListeContactLieu.m_clTabModele.Occurrence() +//L'id du client a changé +si :ListeContactLieu.m_clTabModele[i]:m_nIDLieu<>:m_nIDLieu alors +//Indique qu'il faut appeler la MAJ écran +bResultat = Vrai +break +fin +fin +renvoyer bResultat +Méthode bExisteLotSurAutreLieu +// Résumé : +// Syntaxe : +//[ = ] bExisteLotSurAutreLieu () +// +// Paramètres : +// Aucun +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure bExisteLotSurAutreLieu() +bResultat est un booléen +//Boucle sur le tableau des contacts client de l'intervention du dernier au premier +pour i = 1 _à_ :ListeLot.m_clTabModele.Occurrence() +//L'id du client a changé +si :ListeLot.m_clTabModele[i]:m_clLot:m_nIDLieu<>:FicheLieu:m_nPKID alors +//Indique qu'il faut appeler la MAJ écran +bResultat = Vrai +break +fin +06/08/2026 Isis_BO 5831 + +Partie 6 › Classe › PFicheIntervention › Code +fin +renvoyer bResultat +Méthode bOK +procédure bOK(clErreur est un CErreur) +//,LOCAL bAvecTransaction est un booléen,LOCAL bMajCourant est un booléen +bRenvoyer est un booléen = Faux +bCreation est un booléen +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +//Débute une transaction sur le fichier Demande +// +SI bAvecTransaction ALORS +HTransactionDébut(gcnxBO,"Intervention,Intervention_Personne,EtatIntervention") +//************************************************** +//Contrôle des données +//************************************************** +//Contôle des données Intervention +:m_clModeleCourant:bControle(clErreur,Faux) +si pas clErreur:p_bOk alors goto ERREURTRANSAC +//************************************************** +//Traitement des données +//************************************************** +bCreation =m_clModeleCourant:bNouveau() +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors +goto ERREURTRANSAC +fin +si ListeContactClient<>Null alors +pour i = 1 _à_ :ListeContactClient:m_clTabModele..Occurrence +clFicheICP est un PFicheIntervention_Personne(:ListeContactClient:m_clTabModele[i]) +si clFicheICP:m_clContact:m_nIDClient=0 alors +clFichePE est un PFichePersonne (clFicheICP:m_clContact) +clFichePE:m_nIDClient = :FicheEnCours:m_nIDClient +clFichePE.bok(clErreur)//clFichePE.bOK(clErreur,Faux,Faux) +fin +si pas clFicheICP:bOK(clErreur,Vrai) alors +goto ERREURTRANSAC//PAS clFicheICP:bOK(clErreur,Faux,Vrai) +fin +fin +si :ListeContactLieu<>Null alors +pour i = 1 _à_ :ListeContactLieu:m_clTabModele..Occurrence +clFicheILP est un PFicheIntervention_Personne(:ListeContactLieu:m_clTabModele[i]) +si pas (ListeContactLieu:m_clTabModele[i]:m_clLieuPersonne<>Null _et_ ListeContactLieu: +m_clTabModele[i]:m_clLieuPersonne:m_nIDPersonne=clFicheILP:m_nIDPersonne _et_ +ListeContactLieu:m_clTabModele[i]:m_clLieuPersonne:m_nIDLieu=clFicheILP:m_nIDLieu) alors +nIndiceLI est un entier = TableauCherche(FicheLieu:ListeContact:m_clTabModele, +06/08/2026 Isis_BO 5832 + +Partie 6 › Classe › PFicheIntervention › Code +tcLinéaire,"m_nIDPersonne",clFicheILP:m_nIDPersonne) +si nIndiceLI=-1 alors +clFicheLieuPersonne est un PFicheLieu_Personne dynamique +clFicheLieuPersonne <- FicheLieu:ListeContact:Nouveau(Vrai,FicheLieu: +IdentifiantUnique) +clFicheLieuPersonne:m_nIDPersonne = clFicheILP:m_nIDPersonne +clFicheLieuPersonne.bok(clErreur)//clFicheLieuPersonne.bOK(clErreur,Faux,Faux) +fin +fin +si pas clFicheILP:bOK(clErreur,Vrai) alors goto +ERREURTRANSAC //PAS clFicheILP:bOK(clErreur,Faux,Vrai) +fin +fin +si :ListeHistoEtat<>Null alors +pour i = 1 _à_ :ListeHistoEtat:m_clTabModele..Occurrence +clFicheEI est un PFicheEtatIntervention(:ListeHistoEtat:m_clTabModele[i]) +clFicheEI.m_nIDIntervention = m_clModeleCourant:IdentifiantUnique +si pas clFicheEI:bOK(clErreur) alors +goto ERREURTRANSAC +// SI i=1 ALORS +// m_clModeleSource:m_sDescription += ChaîneConstruit("########## %1 +##########",gpclListeEtatIntervention.RechercheEtDonneLibelleDepuisID(clFicheEI.m_nIDEtat))+RC+RTFVersT +exte(clFicheEI:m_sDescription) +// SINON +// m_clModeleSource:m_sDescription ++= RC+ChaîneConstruit("########## %1 +##########",gpclListeEtatIntervention.RechercheEtDonneLibelleDepuisID(clFicheEI.m_nIDEtat))+RC+RTFVersT +exte(clFicheEI:m_sDescription) +// FIN +fin +fin +// POUR i = 1 _A_ :ListeLot:m_clTabModele..Occurrence +// clFicheIL est un PFicheIntervention_Lot(:Listelot:m_clTabModele[i]) +// SI PAS clFicheIL.bOK(clErreur) ALORS +goto ERREURTRANSAC +// FIN +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +si bCreation alors +m_pValidation = Null +fin +fin +// SI bMajCourant ALORS +// m_clModeleCourant <= m_clModeleSource +// FIN +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +//Termine la transaction +// SI bAvecTransaction ALORS HTransactionFin(gcnxBO) +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURTRANSAC : +06/08/2026 Isis_BO 5833 + +Partie 6 › Classe › PFicheIntervention › Code +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MIntervention dynamique, pValidation est une procédure=Null) +si clModele<>Null alors +si clModele:m_nIDEtatIntervention = 0 alors clModele:m_nIDEtatIntervention = gpcl +ListeEtatIntervention:RechercheEtDonneIdDepuisValeur(0) +si clModele:m_nIDTypeIntervention = 0 alors clModele:m_nIDTypeIntervention = gpcl +ListeTypeIntervention:RechercheEtDonneIdDepuisValeur(0) +si clModele:m_nIDSociete = 0 _et_ gpclListeSociete:p_nTotal>0 alors +si gpclFicheUtilisateurEnCours:m_nIDSocietePrincipale>0 alors +nIndice est un entier = TableauCherche(gpclListeSociete:m_clTabModele,tcLinéaire,"m_nPKID" +,gpclFicheUtilisateurEnCours:m_nIDSocietePrincipale,1) +si nIndice>0 alors +clModele:m_nIDSociete = gpclListeSociete:m_clTabModele[nIndice]:IdentifiantUnique +fin +sinon +clModele:m_nIDSociete = gpclListeSociete:m_clTabModele[1]:IdentifiantUnique +fin +fin +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +fin +Destructeur +procédure Destructeur() +Récupération de la propriété CheckList +procédure publique CheckList() : PTableCheckList +renvoyer m_clCheckList +Affectation de la propriété CheckList +procédure publique CheckList(clValeur est PTableCheckList) +06/08/2026 Isis_BO 5834 + +Partie 6 › Classe › PFicheIntervention › Code +m_clCheckList=clValeur +Récupération de la propriété FicheClient +procédure publique FicheClient() : PFicheClient +renvoyer m_clFicheClient +Affectation de la propriété FicheClient +procédure publique FicheClient(clValeur est PFicheClient dynamique) +m_clFicheClient=clValeur +:m_nIDClient = m_clFicheClient:IdentifiantUnique +Récupération de la propriété FicheDemandeur +procédure publique FicheDemandeur() : PFichePersonne +renvoyer m_clFicheDemandeur +Affectation de la propriété FicheDemandeur +procédure publique FicheDemandeur(clValeur est PFichePersonne dynamique) +m_clFicheDemandeur=clValeur +m_nIDDemandeur = m_clFicheDemandeur:IdentifiantUnique +Récupération de la propriété FicheDossier +procédure publique FicheDossier() : PFicheDossier +renvoyer m_clFicheDossier +Affectation de la propriété FicheDossier +procédure publique FicheDossier(clValeur est PFicheDossier dynamique) +m_clFicheDossier=clValeur +Récupération de la propriété FicheEnCours +procédure publique FicheEnCours() : MIntervention +renvoyer m_clModeleCourant +Affectation de la propriété FicheEnCours +procédure publique FicheEnCours(clValeur est MIntervention) +m_clModeleCourant=clValeur +Récupération de la propriété FicheIntervBddExt +procédure publique FicheIntervBddExt() : PFicheIntervention_BddExt +renvoyer m_clFicheIntervBddExt +Affectation de la propriété FicheIntervBddExt +06/08/2026 Isis_BO 5835 + +Partie 6 › Classe › PFicheIntervention › Code +procédure publique FicheIntervBddExt(clValeur est PFicheIntervention_BddExt dynamique) +m_clFicheIntervBddExt=clValeur +Récupération de la propriété FicheLieu +procédure publique FicheLieu() : PFicheLieu +si m_clFicheLieu=Null alors +clModeleLieu est un MLieu +clFicheLieu est un PFicheLieu(clModeleLieu,*) +renvoyer clFicheLieu +sinon +renvoyer m_clFicheLieu +fin +Affectation de la propriété FicheLieu +procédure publique FicheLieu(clValeur est PFicheLieu dynamique) +m_clFicheLieu=clValeur +si m_clFicheLieu<>Null alors +:m_nIDLieu = m_clFicheLieu:IdentifiantUnique +sinon +:m_nIDLieu = 0 +fin +Récupération de la propriété FicheSociete +procédure publique FicheSociete() : PFicheSociete +renvoyer m_clFicheSociete +Affectation de la propriété FicheSociete +procédure publique FicheSociete(clValeur est PFicheSociete dynamique) +m_clFicheSociete=clValeur +Récupération de la propriété FicheSuiveur +procédure publique FicheSuiveur() : PFicheCollaborateur +renvoyer m_clFicheSuiveur +Affectation de la propriété FicheSuiveur +procédure publique FicheSuiveur(clValeur est PFicheCollaborateur dynamique) +m_clFicheSuiveur=clValeur +Récupération de la propriété ListeAction +procédure publique ListeAction() : PTableAction +renvoyer m_clListeAction +Affectation de la propriété ListeAction +procédure publique ListeAction(clValeur est PTableAction dynamique) +m_clListeAction=clValeur +Récupération de la propriété ListeChpLibre +06/08/2026 Isis_BO 5836 + +Partie 6 › Classe › PFicheIntervention › Code +procédure publique ListeChpLibre() : PTableIntervention_ChampLibre +renvoyer m_clListeChampLibre +Affectation de la propriété ListeChpLibre +procédure publique ListeChpLibre(clValeur est PTableIntervention_ChampLibre dynamique) +m_clListeChampLibre=clValeur +Récupération de la propriété ListeCollaborateur +procédure publique ListeCollaborateur() : PTableIntervention_Collaborateur +renvoyer m_clListeCollab +Affectation de la propriété ListeCollaborateur +procédure publique ListeCollaborateur(clValeur est PTableIntervention_Collaborateur dynamique) +m_clListeCollab=clValeur +Récupération de la propriété ListeCompteRendu +procédure publique ListeCompteRendu() : PTableCompteRendu +renvoyer m_clListeCompteRendu +Affectation de la propriété ListeCompteRendu +procédure publique ListeCompteRendu(clValeur est PTableCompteRendu) +m_clListeCompteRendu=clValeur +Récupération de la propriété ListeContactClient +procédure publique ListeContactClient() : PTableIntervention_Personne +renvoyer m_clListeContactClient +Affectation de la propriété ListeContactClient +procédure publique ListeContactClient(clValeur est PTableIntervention_Personne dynamique) +m_clListeContactClient=clValeur +Récupération de la propriété ListeContactLieu +procédure publique ListeContactLieu() : PTableIntervention_Personne +renvoyer m_clListePersonneLieu +Affectation de la propriété ListeContactLieu +procédure publique ListeContactLieu(clValeur est PTableIntervention_Personne dynamique) +m_clListePersonneLieu=clValeur +Récupération de la propriété ListeDocument +procédure publique ListeDocument() : PTableDocument +06/08/2026 Isis_BO 5837 + +Partie 6 › Classe › PFicheIntervention › Code +renvoyer m_clListeDocument +Affectation de la propriété ListeDocument +procédure publique ListeDocument(clValeur est PTableDocument) +m_clListeDocument=clValeur +Récupération de la propriété ListeDocumentOK +procédure publique ListeDocumentOK() +nIDEtatDocOK est un entier sur 8 octets =gpclListeEtatDocument.RechercheEtDonneIdDepuisValeur("1") +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeDocument +pour i = 1 _à_ m_clListeDocument:p_nTotal +si m_clListeDocument:m_clTabModele[i]:m_nIDEtatDocument=nIDEtatDocOK alors +TableauAjoute(clTableauModele:m_clTabModele,m_clListeDocument:m_clTabModele[i]) +fin +fin +// création de la nouvelle instance de présentation +m_clListeDocumentOK est un PTableDocument(clTableauModele) +renvoyer m_clListeDocumentOK +Récupération de la propriété ListeHistoEtat +procédure publique ListeHistoEtat() : PTableEtatIntervention +renvoyer m_clListeEtat +Affectation de la propriété ListeHistoEtat +procédure publique ListeHistoEtat(clValeur est PTableEtatIntervention dynamique) +m_clListeEtat=clValeur +Récupération de la propriété ListeLot +procédure publique ListeLot() : PTableIntervention_Lot +renvoyer m_clListeLot +Affectation de la propriété ListeLot +procédure publique ListeLot(clValeur est PTableIntervention_Lot) +m_clListeLot=clValeur +Récupération de la propriété ListeMessageExterne +procédure publique ListeMessageExterne() : PTableMessageExterne +renvoyer m_clListeMessageExterne +Affectation de la propriété ListeMessageExterne +procédure publique ListeMessageExterne(clValeur est PTableMessageExterne) +m_clListeMessageExterne=clValeur +Récupération de la propriété ListeMessageInterne +06/08/2026 Isis_BO 5838 + +Partie 6 › Classe › PFicheIntervention › Code +procédure publique ListeMessageInterne() : PTableMessageInterne +renvoyer m_clListeMessageInterne +Affectation de la propriété ListeMessageInterne +procédure publique ListeMessageInterne(clValeur est PTableMessageInterne) +m_clListeMessageInterne=clValeur +Récupération de la propriété ListeMessageInterneAdmin +procédure publique ListeMessageInterneAdmin() : PTableMessageInterne +renvoyer m_clListeMessageAdmin +Affectation de la propriété ListeMessageInterneAdmin +procédure publique ListeMessageInterneAdmin(clValeur est PTableMessageInterne dynamique) +m_clListeMessageAdmin=clValeur +Récupération de la propriété ListeRapport +procédure publique ListeRapport() : PTableDocument +renvoyer m_clListeRapport +Affectation de la propriété ListeRapport +procédure publique ListeRapport(clValeur est PTableDocument) +m_clListeRapport=clValeur +Récupération de la propriété ListeRendezVous +procédure publique ListeRendezVous() : PTableRDV +renvoyer m_clListeRdv +Affectation de la propriété ListeRendezVous +procédure publique ListeRendezVous(clValeur est PTableRDV) +m_clListeRdv=clValeur +Récupération de la propriété ListeSuiviDesTemps +procédure publique ListeSuiviDesTemps() : PTableSuiviDesTemps +renvoyer m_clListeSuiviDesTemps +Affectation de la propriété ListeSuiviDesTemps +procédure publique ListeSuiviDesTemps(clValeur est PTableSuiviDesTemps dynamique) +m_clListeSuiviDesTemps=clValeur +Récupération de la propriété MAJObjetRetourFI +procédure publique MAJObjetRetourFI() : procédure +06/08/2026 Isis_BO 5839 + +Partie 6 › Classe › PFicheIntervention › Code +renvoyer m_pMAJObjetRetourFI +Affectation de la propriété MAJObjetRetourFI +procédure publique MAJObjetRetourFI(Valeur est procédure) +m_pMAJObjetRetourFI=Valeur +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MIntervention +renvoyer m_clModeleCourant +Récupération de la propriété TempsAvecPond +procédure publique TempsAvecPond() +nIdTypeTempsInter est un entier sur 8 octets = gpclListeTypeTemps.RechercheEtDonneIdDepuisValeur +(2) +rTotalTemps est un réel +rPond est un réel +si :ListeSuiviDesTemps<>Null _et_ :ListeSuiviDesTemps:m_clTabModele..Occurrence>0 alors +nRdv est un entier +pour tout pclTemps de :ListeSuiviDesTemps:m_clTabModele +nRdv = 0 +si pclTemps:m_rPonderation > 0.00 alors +rPond = pclTemps:m_rPonderation +sinon +rPond = pclTemps:m_clCollaborateur:m_rPonderation +fin +si pclTemps.m_nIDTypeTemps <> nIdTypeTempsInter alors +nRdv = TableauCherche(:ListeRendezVous:m_clTabModele,tcLinéaire,":m_nPKID",pclTemps: +m_nIDRdv) +si nRdv > 0 alors +si :ListeRendezVous:m_clTabModele[nRdv].m_dhDateDebut <= pclTemps.m_dDateDebut et : +ListeRendezVous:m_clTabModele[nRdv].m_dhDateFin >= pclTemps:m_dDateFin alors +rTotalTemps -= (pclTemps.m_nNbMinutes*rPond) +sinon +si pclTemps.m_bDevis alors +rTotalTemps += (pclTemps.m_nNbMinutes*rPond) +fin +fin +fin +sinon +si pclTemps.m_bDevis alors +rTotalTemps += (pclTemps.m_nNbMinutes*rPond) +fin +fin +fin +fin +// De minutes à heures +rTotalTemps = (rTotalTemps/60) +renvoyer rTotalTemps +Récupération de la propriété TempsRestant +06/08/2026 Isis_BO 5840 + +Partie 6 › Classe › PFicheIntervention › Code +procédure publique TempsRestant() +//rSommeTempsPasse est un réel +//SI m_clListeSuiviDesTemps<>Null ALORS +// POUR i = 1 _A_ m_clListeSuiviDesTemps.m_clTabModele.Occurrence() +// +rSommeTempsPasse += +m_clListeSuiviDesTemps.m_clTabModele[i].NbHeure*m_clListeSuiviDesTemps.m_clTabModele[i].m_clCollaborate +ur.m_rPonderation +// FIN +//FIN +TempsEstime() +TempsPasse() +si :m_rTempsPasse > 0.000 alors +renvoyer (:m_rDureePrevue-:m_rTempsPasse) +sinon +renvoyer :m_rDureePrevue +fin +Méthode gFicheClient +// Résumé : +// Syntaxe : +//gFicheClient ( est PFicheIntervention dynamique [, est +PFicheClient dynamique [, est entier sur 8 octets [, est booléen [, + est chaîne [, est booléen [, est booléen [, est entier sur 8 octets]]]]]]]) +// +// Paramètres : +// clFicheIntervention (PFicheIntervention dynamique) : +// clFicheClient (PFicheClient dynamique - valeur par défaut=0) : < +indiquez ici le rôle de clFicheClient> +// nIdClient (entier sur 8 octets - valeur par défaut=-1) : +// bAvecContact (booléen - valeur par défaut=0) : +// sNomClient (chaîne ANSI - valeur par défaut="") : +// bAvecAdresse (booléen - valeur par défaut=0) : +// bAvecLieu (booléen - valeur par défaut=0) : +// nIdBddExterne (entier sur 8 octets - valeur par défaut=0) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// bAvecCodeExterne (booléen - valeur par défaut=0) : +procédure publique globale gFicheClient(clFicheIntervention est un PFicheIntervention dynamique, +clFicheClient est un PFicheClient dynamique=Null,local nIdClient est un entier sur 8 octets=-1,local +bAvecContact est un booléen=Faux,local sNomClient est une chaîne="",local bAvecAdresse est un booléen= +Faux,local bAvecLieu est un booléen=Faux,local nIdBddExterne est un entier sur 8 octets=0) +clTabClient est un PTableClient dynamique +si clFicheClient<>Null alors +si nIdClient<>-1 alors +clTabClient <- PTableClient.gNouvellePresentation(1,nIdClient) +sinon si sNomClient<>"" alors +clTabClient <- PTableClient.gNouvellePresentation(1,-1,sNomClient) +fin +si clTabClient<>Null _et_ clTabClient.p_nTotal>=1 alors +clFicheClient = allouer un PFicheClient(clTabClient.m_clTabModele[1],*) +DemandeMiseAJourIHM() +fin +06/08/2026 Isis_BO 5841 + +Partie 6 › Classe › PFicheIntervention › Code +clFicheIntervention:FicheClient = clFicheClient +bAuMoinsUnAjout est un booléen +SuppressionContactClientSiBesoin(clFicheIntervention,bAuMoinsUnAjout) +si clTabClient=Null alors +DemandeMiseAJourIHM() +fin +sinon +clTabClient <- PTableClient.gNouvellePresentation(clFicheIntervention.IdentifiantUnique=0 ? 1 sinon +2,clFicheIntervention.IdentifiantUnique=0 ? nIdClient sinon clFicheIntervention.IdentifiantUnique) +si clTabClient.p_nTotal>=1 alors +clFicheClient = allouer un PFicheClient(clTabClient.m_clTabModele[1],*) +sinon +clFicheClient = PFicheClient.gNouvellePresentation() +fin +clFicheIntervention:FicheClient = clFicheClient +fin +si bAvecContact alors +//Recherche des contacts du client +PFicheClient.gListeContacts(clFicheClient) +fin +si bAvecAdresse alors +//Recherche de l'adresse du client +PFicheClient.gListeAdresses(clFicheClient) +fin +si bAvecLieu alors +//Recherche des sites du client +PFicheClient.gListeLieu(clFicheClient) +fin +si nIdBddExterne>0 alors +//Charge la liste des base externes +//clFicheIntervention:FicheClient.gListeCodesExternes() +PFicheClient.gFicheClientBddExterne(clFicheClient,nIdBddExterne) +fin +Méthode gFicheDemandeur +// Résumé : +// Syntaxe : +//gFicheDemandeur ( est PFicheIntervention dynamique [, est +PFichePersonne dynamique [, est entier sur 8 octets [, est booléen [, + est chaîne]]]]) +// +// Paramètres : +// clFicheIntervention (PFicheIntervention dynamique) : +// clFicheDemandeur (PFichePersonne dynamique - valeur par défaut=0) : < +indiquez ici le rôle de clFicheDemandeur > +// nIdDemandeur (entier sur 8 octets - valeur par défaut=-1) : +// bAvecAdresse (booléen - valeur par défaut=0) : +// sNomDemandeur (chaîne ANSI - valeur par défaut="") : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale gFicheDemandeur(clFicheIntervention est un PFicheIntervention dynamique, +clFicheDemandeur est un PFichePersonne dynamique=Null,local nIdDemandeur est un entier sur 8 octets=-1, +local bAvecAdresse est un booléen=Faux,local sNomDemandeur est une chaîne="") +06/08/2026 Isis_BO 5842 + +Partie 6 › Classe › PFicheIntervention › Code +clTabDemandeur est un PTablePersonne dynamique +si clFicheDemandeur<>Null alors +si nIdDemandeur<>-1 alors +clTabDemandeur <- PTablePersonne.gNouvellePresentation(0,-1,-1,nIdDemandeur,"") +sinon si sNomDemandeur<>"" alors +clTabDemandeur <- PTablePersonne.gNouvellePresentation(0,-1,-1,-1,sNomDemandeur) +fin +si clTabDemandeur<>Null _et_ clTabDemandeur.p_nTotal>=1 alors +clFicheDemandeur = allouer un PFichePersonne(clTabDemandeur.m_clTabModele[1],*) +fin +clFicheIntervention:FicheDemandeur = clFicheDemandeur +si clTabDemandeur=Null alors +DemandeMiseAJourIHM() +fin +sinon +clTabDemandeur <- PTablePersonne.gNouvellePresentation(2,clFicheIntervention.IdentifiantUnique) +si clTabDemandeur.p_nTotal>=1 alors +clFicheDemandeur = allouer un PFichePersonne(clTabDemandeur.m_clTabModele[1],*) +sinon +clFicheDemandeur = PFichePersonne.gNouvellePresentation() +fin +clFicheIntervention:FicheDemandeur = clFicheDemandeur +fin +si clFicheIntervention:FicheDemandeur<>Null _et_ bAvecAdresse alors +PFichePersonne.gFicheAdresse(clFicheIntervention:FicheDemandeur) +fin +Méthode gFicheInterventionBddExt +// Résumé : +// Syntaxe : +//gFicheInterventionBddExt ( est PFicheIntervention dynamique [, + est PFicheIntervention_BddExt dynamique]) +// +// Paramètres : +// clFicheIntervention (PFicheIntervention dynamique) : +// clFicheIntervBddExt (PFicheIntervention_BddExt dynamique - valeur par défaut=0) : < +indiquez ici le rôle de clFicheIntervBddExt> +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sNumDevis (chaîne ANSI) : +procédure publique globale gFicheInterventionBddExt(clFicheIntervention est un PFicheIntervention +dynamique,local nIdBddExterne est un entier sur 8 octets ,clFicheIntervBddExt est un +PFicheIntervention_BddExt dynamique=Null) +clTabIntervExt est un PTableIntervention_BddExt dynamique +clTabIntervExt <- PTableIntervention_BddExt.gNouvellePresentation(1,clFicheIntervention.m_nPKID) +06/08/2026 Isis_BO 5843 + +Partie 6 › Classe › PFicheIntervention › Code +si clTabIntervExt.p_nTotal>=1 alors +clFicheIntervBddExt = allouer un PFicheIntervention_BddExt(clTabIntervExt.m_clTabModele[1],*) +//pour recuperer l'information qui a été perdu +si clFicheIntervention:m_dDateDevis = "" alors +clFicheIntervention:m_dDateDevis = clFicheIntervBddExt:m_dhCreationDate +fin +si clFicheIntervention:m_sNumDevis = "" alors +clFicheIntervention:m_sNumDevis = clFicheIntervBddExt:m_sIDExterne +fin +sinon +clFicheIntervBddExt = PFicheIntervention_BddExt.gNouvellePresentation() +clFicheIntervBddExt:m_nIDIntervention = clFicheIntervention.m_nPKID +clFicheIntervBddExt:m_nIDBddExterne = nIdBddExterne +fin +clFicheIntervention:FicheIntervBddExt = clFicheIntervBddExt +Méthode gFicheLieu +// Résumé : +// Syntaxe : +//gFicheLieu ( est PFicheIntervention dynamique [, est PFicheLieu +dynamique [, est entier sur 8 octets [, est booléen [, est chaîne +[, est booléen [, est PTable +Lieu dynamique]]]]]]) +// +// Paramètres : +// clFicheIntervention (PFicheIntervention dynamique) : +// clFicheLieu (PFicheLieu dynamique - valeur par défaut=0) : +// nIdLieu (entier sur 8 octets - valeur par défaut=-1) : +// bAvecContact (booléen - valeur par défaut=0) : +// sCodeLieu (chaîne ANSI - valeur par défaut="") : +// bAvecLot (booléen - valeur par défaut=0) : +// clTabLieu (PTableLieu dynamique - valeur par défaut=0) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// bAvecContact (booléen - valeur par défaut=0) : +// nIdClient (entier sur 8 octets - valeur par défaut=1) : +procédure publique globale gFicheLieu(clFicheIntervention est un PFicheIntervention dynamique, +clFicheLieu est un PFicheLieu dynamique=Null,local nIdLieu est un entier sur 8 octets=-1,local +bAvecContact est un booléen=Faux,local sCodeLieu est une chaîne="",local bAvecLot est un booléen=Faux, +clTabLieu est un PTableLieu dynamique=Null) +//Variable contenant une liste de site +//Variable contenant une liste de site +//clTabLieu est un PTableLieu dynamique +//Le paramètre contenant une fiche site existe +si clFicheLieu<>Null alors +//Le paramètre contenant l'ID du site est renseigné +// ou le paramètre contenatn le code site est renseigné +// +Recherche le site correspondant au paramètre et renvoi une liste de site avec 1 seul enreg +si nIdLieu<>-1 _ou_ sCodeLieu<>"" alors clTabLieu <- PTableLieu. +gNouvellePresentation(0,nIdLieu,sCodeLieu) +06/08/2026 Isis_BO 5844 + +Partie 6 › Classe › PFicheIntervention › Code +//La liste du site n'est pas nulle et contient au moins un enregistrement +// +Récupère la fiche site du premier enregistrement +si (clTabLieu<>Null _et_ clTabLieu.p_nTotal>=1) alors clFicheLieu = allouer un +PFicheLieu(clTabLieu.m_clTabModele[1]) +//Le client de l'intervention ne possède aucun site +si clFicheIntervention:FicheClient:ListeLieu<>Null _et_ clFicheIntervention:FicheClient:ListeLieu: +p_nTotal=0 alors +//Ajoute le site à la fiche client +PFicheClient.gListeLieu(clFicheIntervention:FicheClient) +//Le client possède des sites +sinon si clFicheIntervention:FicheClient:ListeLieu<>Null +//Recherche le site en cours parmi les sites du client +nIndiceCli est un entier = TableauCherche(clFicheIntervention:FicheClient:ListeLieu: +m_clTabModele,tcLinéaire,"m_nIDLieu",clFicheLieu:IdentifiantUnique,1) +//Le site n'existe pas pas pour le client +si nIndiceCli=-1 alors +clErreur est un CErreur +//Variable qui va contenir la fiche qui associe le Client et le Site +pclFicheCL est un PFicheClient_Lieu dynamique +//Instanciation d'une nouvelle fiche à partir de l'ID Client +pclFicheCL <- clFicheIntervention:FicheClient:ListeLieu.Nouveau(Vrai,clFicheIntervention: +FicheClient:m_nPKID) +//Complète avec la fiche avec le site en cours +pclFicheCL:m_nIDLieu = clFicheLieu:IdentifiantUnique +//Enregistre la nouvelle fiche +pclFicheCL.bOK(clErreur) +fin +sinon +PFicheClient.gListeLieu(clFicheIntervention:FicheClient) +nIndiceCli est un entier = TableauCherche(clFicheIntervention:FicheClient:ListeLieu: +m_clTabModele,tcLinéaire,"m_nIDLieu",clFicheLieu:IdentifiantUnique,1) +si nIndiceCli=-1 alors +clErreur est un CErreur +//Variable contact d'une intervention +pclFicheCL est un PFicheClient_Lieu dynamique +//Instanciation de la variable à partir de la liste des contacts du lieu +pclFicheCL <- clFicheIntervention:FicheClient:ListeLieu.Nouveau(Vrai,clFicheIntervention: +FicheClient:m_nPKID) +pclFicheCL:m_nIDLieu = clFicheLieu:IdentifiantUnique +si pclFicheCL.bOK(clErreur) alors//pclFicheCL.bOK(clErreur,Vrai,Vrai) +si clFicheIntervention:FicheClient:ListeLieu:p_nTotal=1 alors +clFicheIntervention:FicheClient:m_nIDLieuPrincipal = pclFicheCL:m_nIDLieu +clFicheIntervention:FicheClient.bok(clErreur) +fin +fin +fin +fin +//DemandeMiseAJourIHM() +//FIN +//clFicheIntervention:m_nIDLieu = clFicheLieu:IdentifiantUnique +clFicheIntervention:FicheLieu = clFicheLieu +bAuMoinsUnAjout est un booléen +SuppressionContactLieuSiBesoin(clFicheIntervention,bAuMoinsUnAjout) +06/08/2026 Isis_BO 5845 + +Partie 6 › Classe › PFicheIntervention › Code +si clTabLieu=Null alors +DemandeMiseAJourIHM() +fin +//Le paramètre contenant une fiche site n'existe pas +sinon +//Stockage de l'id de l'intervention +nIDInterv est un entier sur 8 octets = clFicheIntervention.IdentifiantUnique +//Récupère la liste de tous les sites si c'est une nouvelle intervention ou uniquement celui de +l'intervention en cours +clTabLieu <- PTableLieu.gNouvellePresentation(nIDInterv=0 ? 0 sinon 2,nIDInterv=0 ? nIdLieu sinon +nIDInterv) +//La liste des site contient au moins un enregistrement +si clTabLieu.p_nTotal>=1 alors +//Récupère la fiche site du premier enregistrement +clFicheLieu = allouer un PFicheLieu(clTabLieu.m_clTabModele[1],*) +sinon +//Alloue une nouvelle fiche site +clFicheLieu = PFicheLieu.gNouvellePresentation() +fin +//Mise à jour de la fiche site sur l'intervention +clFicheIntervention:FicheLieu = clFicheLieu +fin +// La fiche site est demandé avec ses contacts +si bAvecContact alors +//Recherche des contacts du site +PFicheLieu.gListeContact(clFicheLieu) +fin +//Le client de l'intervention est de type particulier et le code site existe bien +si ParametreLit("ADDE_CLI_PART_CONTACT_INTERV","0",Faux)="1" _et_ clFicheIntervention:FicheClient: +estClientParticulier _et_ clFicheIntervention:FicheLieu:m_sCodeLieu<>"" alors +//Recherche du contact principal du client +nIndCtClient est un entier = TableauCherche(clFicheIntervention:FicheClient:ListeContact: +m_clTabModele,tcLinéaire,"m_nPKID",clFicheIntervention:FicheClient:m_nIDContactPrincipal,1) +//Le contact existe +si nIndCtClient>0 alors +//Ajoute ce contact dans la liste des contacts du site de l'intervention +PFicheIntervention.gListeContactLieu(clFicheIntervention,clFicheIntervention:FicheClient: +ListeContact:m_clTabModele[nIndCtClient]) +fin +fin +//Les lots n'existe plus +si bAvecLot alors +PFicheLieu.gListeLot(clFicheLieu) +fin +Méthode gFicheSociete +// Résumé : +// Syntaxe : +06/08/2026 Isis_BO 5846 + +Partie 6 › Classe › PFicheIntervention › Code +//gFicheSociete ( est PFicheIntervention dynamique [, est +PFicheSociete dynamique]) +// +// Paramètres : +// clFicheIntervention (PFicheIntervention dynamique) : +// clFicheSociete (PFicheSociete dynamique - valeur par défaut=0) : < +indiquez ici le rôle de clFicheSociete> +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale gFicheSociete(clFicheIntervention est un PFicheIntervention dynamique, +clFicheSociete est un PFicheSociete dynamique=Null) +clTabSociete est un PTableSociete dynamique +clTabSociete <- PTableSociete.gNouvellePresentation(0,clFicheIntervention.m_nIDSociete) +si clTabSociete.p_nTotal>=1 alors +clFicheSociete = allouer un PFicheSociete(clTabSociete.m_clTabModele[1],*) +sinon +clFicheSociete = PFicheSociete.gNouvellePresentation() +fin +clFicheIntervention:FicheSociete = clFicheSociete +Méthode gFicheSuiveur +procédure publique globale gFicheSuiveur(clFicheIntervention est un PFicheIntervention dynamique, +clFicheCollaborateur est un PFicheCollaborateur dynamique=Null) +clTabSuiveur est un PTableCollaborateur dynamique +clTabSuiveur <- PTableCollaborateur.gNouvellePresentation(4,clFicheIntervention.IdentifiantUnique) +si clTabSuiveur.p_nTotal>=1 alors +clFicheCollaborateur = allouer un PFicheCollaborateur(clTabSuiveur.m_clTabModele[1],*) +sinon +clFicheCollaborateur = PFicheCollaborateur.gNouvellePresentation() +fin +clFicheIntervention:FicheSuiveur = clFicheCollaborateur +Méthode gListeAction +// Résumé : +// Syntaxe : +//gListeAction ( est PFicheIntervention) +// +// Paramètres : +// clPresentation (PFicheIntervention) : +// Valeur de retour : +// Aucune +06/08/2026 Isis_BO 5847 + +Partie 6 › Classe › PFicheIntervention › Code +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale gListeAction(clPresentation est un PFicheIntervention) +clPresentation:m_clListeAction = PTableAction.gNouvellePresentation(1,clPresentation.IdentifiantUnique +) +Méthode gListeChampsLibres +// Résumé : +// Syntaxe : +//gListeChampsLibres ( est PFicheIntervention) +// +// Paramètres : +// clPresentation (PFicheIntervention) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure globale gListeChampsLibres(clPresentation est un PFicheIntervention) +clPresentation:m_clListeChampLibre = PTableIntervention_ChampLibre.gNouvellePresentation(1, +clPresentation.IdentifiantUnique) +Méthode gListeCheckList +// Résumé : +// Syntaxe : +//gListeCheckList ( est PFicheIntervention) +// +// Paramètres : +// clPresentation (PFicheIntervention) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale gListeCheckList(clPresentation est un PFicheIntervention) +clPresentation:m_clCheckList = PTableCheckList.gNouvellePresentation(1,clPresentation. +IdentifiantUnique) +Méthode gListeCollaborateur +procédure publique global gListeCollaborateur(clPresentation est un PFicheIntervention,pclCollab est un +objet dynamique=Null,local nIdCollab est un entier sur 8 octets=-1,local sNomCollab est une chaîne="") +bMAJ est un booléen = Faux +si pclCollab<>Null alors +si pclCollab est PFicheCollaborateur _ou_ pclCollab est MCollaborateur alors +bMAJ = TraiteUnCollab(clPresentation,pclCollab) +sinon si pclCollab est PTableCollaborateur alors +//Boucle sur l'ensemble des contacts du client +pour i = 1 _à_ pclCollab.m_clTabModele.Occurrence() +//Le contact est séléctionné +06/08/2026 Isis_BO 5848 + +Partie 6 › Classe › PFicheIntervention › Code +si pclCollab.m_clTabModele[i].m_bSelection alors +si TraiteUnCollab(clPresentation,pclCollab.m_clTabModele[i]) _et_ pas bMAJ alors bMAJ= +Vrai +sinon +si TraiteUnCollab(clPresentation,pclCollab.m_clTabModele[i],Vrai) _et_ pas bMAJ alors +bMAJ=Vrai +fin +fin +fin +si bMAJ alors +DemandeMiseAJourIHM() +fin +//clPresentation.m_clListePersonneLieu:Nouveau = clListeLot +sinon si nIdCollab<>-1 _ou_ sNomCollab<>"" alors +clTabCollab est un PTableCollaborateur dynamique +clTabCollab <- PTableCollaborateur.gNouvellePresentation(1,clPresentation.IdentifiantUnique) +//0,-1,-1,nIdCollab,sNomCollab +si clTabCollab<>Null _et_ clTabCollab.p_nTotal>=1 alors +bMAJ= ::gListeCollaborateur(clPresentation,clTabCollab.m_clTabModele[1]) +fin +sinon +nCpt est un entier +si clPresentation.ListeCollaborateur<>Null alors +nCpt = clPresentation.ListeCollaborateur.p_nTotal +fin +clPresentation:m_clListeCollab = PTableIntervention_Collaborateur.gNouvellePresentation(1, +clPresentation.IdentifiantUnique) +si nCpt0 _et_ bASuppr +clFicheInterv.ListeCollaborateur.p_clCourant = clFicheInterv.ListeCollaborateur.m_clTabModele[ +06/08/2026 Isis_BO 5849 + +Partie 6 › Classe › PFicheIntervention › Code +nIndice] +renvoyer clFicheInterv.ListeCollaborateur.bSupprimer(clErreur) +sinon +renvoyer Faux +fin +fin +renvoyer bMAJ +Méthode gListeCompteRendu +// Résumé : +// Syntaxe : +//gListeCompteRendu ( est PFicheIntervention) +// +// Paramètres : +// clPresentation (PFicheIntervention) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure globale gListeCompteRendu(clPresentation est un PFicheIntervention) +clPresentation:m_clListeCompteRendu = PTableCompteRendu.gNouvellePresentation(1,clPresentation. +IdentifiantUnique) +Méthode gListeContactClient +// Résumé : +// Syntaxe : +//[ = ] gListeContactClient ( est PFicheIntervention [, est +objet dynamique [, est entier sur 8 octets [, est chaîne]]]) +// +// Paramètres : +// clPresentation (PFicheIntervention) : +// pclPersonne (objet dynamique - valeur par défaut=0) : +// nIdPersonne (entier sur 8 octets - valeur par défaut=-1) : +// sNomPersonne (chaîne ANSI - valeur par défaut="") : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// bAvecTransaction (booléen - valeur par défaut=1) : +procédure publique global gListeContactClient(clPresentation est un PFicheIntervention,pclPersonne est +un objet dynamique=Null,local nIdPersonne est un entier sur 8 octets=-1,local sNomPersonne est une +chaîne="") +bAuMoinsUnAjout est un booléen = Faux +//Une liste de contact existe +si pclPersonne<>Null alors +si pclPersonne est PFichePersonne _ou_ pclPersonne est MPersonne alors +bAuMoinsUnAjout = TraiteUnContact(clPresentation,pclPersonne) +sinon si pclPersonne est PTablePersonne alors +//Boucle sur l'ensemble des contacts du client +pour i = 1 _à_ pclPersonne.m_clTabModele.Occurrence() +//Le contact est séléctionné +si pclPersonne.m_clTabModele[i].m_bSelection alors +06/08/2026 Isis_BO 5850 + +Partie 6 › Classe › PFicheIntervention › Code +bAuMoinsUnAjout = TraiteUnContact(clPresentation,pclPersonne.m_clTabModele[i]) +fin +fin +sinon si pclPersonne est PTableIntervention_Personne alors +//Boucle sur l'ensemble des contacts du client +pour i = 1 _à_ pclPersonne.m_clTabModele.Occurrence() +bAuMoinsUnAjout = TraiteUnContact(clPresentation,pclPersonne.m_clTabModele[i]:m_clContact) +fin +fin +::SuppressionContactClientSiBesoin(clPresentation,bAuMoinsUnAjout) +si bAuMoinsUnAjout alors +DemandeMiseAJourIHM() +fin +sinon si nIdPersonne<>-1 _ou_ sNomPersonne<>"" alors +clTabPersonne est un PTablePersonne dynamique +clTabPersonne <- PTablePersonne.gNouvellePresentation(1,clPresentation.IdentifiantUnique, +clPresentation.m_nIDClient)//-1,-1,nIdPersonne,sNomPersonne +si clTabPersonne<>Null _et_ clTabPersonne.p_nTotal>=1 alors +bAuMoinsUnAjout= ::gListeContactClient(clPresentation,clTabPersonne.m_clTabModele[1]) +fin +sinon +nCpt est un entier +si clPresentation.ListeContactClient<>Null alors +nCpt = clPresentation.ListeContactClient.p_nTotal +fin +clPresentation.m_clListeContactClient = PTableIntervention_Personne.gNouvellePresentation(1, +clPresentation.IdentifiantUnique,clPresentation.m_nIDClient) +si nCpt +// Syntaxe : +//[ = ] gListeContactLieu ( est PFicheIntervention [, est +objet dynamique [, est entier sur 8 octets [, est chaîne [, +est entier]]]]) +// +// Paramètres : +// clPresentation (PFicheIntervention) : +// pclPersonne (objet dynamique - valeur par défaut=0) : +// nIdPersonne (entier sur 8 octets - valeur par défaut=-1) : +// sNomPersonne (chaîne ANSI - valeur par défaut="") : +// nCptResult (entier - valeur par défaut=0) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// bAvecTransaction (booléen - valeur par défaut=1) : +// pclObjetRetour (PTablePersonne dynamique - valeur par défaut=0) : < +indiquez ici le rôle de clObjetRetour> +procédure publique global gListeContactLieu(clPresentation est un PFicheIntervention,pclPersonne est un +objet dynamique=Null,local nIdPersonne est un entier sur 8 octets=-1,local sNomPersonne est une chaîne +="",nCptResult est un entier=0) +bAuMoinsUnAjout est un booléen = Faux +si pclPersonne<>Null alors +si pclPersonne est PFichePersonne _ou_ pclPersonne est MPersonne alors +bAuMoinsUnAjout = TraiteUnContact(clPresentation,pclPersonne) +sinon si pclPersonne est PTablePersonne alors +//Boucle sur l'ensemble des contacts du client +pour i = 1 _à_ pclPersonne.m_clTabModele.Occurrence() +//Le contact est séléctionné +si pclPersonne.m_clTabModele[i].m_bSelection alors +bAuMoinsUnAjout = TraiteUnContact(clPresentation,pclPersonne.m_clTabModele[i]) +fin +fin +06/08/2026 Isis_BO 5852 + +Partie 6 › Classe › PFicheIntervention › Code +sinon si pclPersonne est PTableIntervention_Personne alors +//Boucle sur l'ensemble des contacts du client +pour i = 1 _à_ pclPersonne.m_clTabModele.Occurrence() +bAuMoinsUnAjout = TraiteUnContact(clPresentation,pclPersonne.m_clTabModele[i]:m_clContact) +fin +fin +::SuppressionContactLieuSiBesoin(clPresentation,bAuMoinsUnAjout) +si bAuMoinsUnAjout alors +DemandeMiseAJourIHM() +fin +//clPresentation.m_clListePersonneLieu:Nouveau = clListeLot +sinon si nIdPersonne<>-1 _ou_ sNomPersonne<>"" alors +clTabPersonne est un PTablePersonne dynamique +si nIdPersonne<>-1 alors +clTabPersonne <- PTablePersonne.gNouvellePresentation(0,-1,-1,nIdPersonne,sNomPersonne) +sinon +clTabPersonne <- PTablePersonne.gNouvellePresentation(3,sNomPersonne,clPresentation:m_nIDLieu, +clPresentation:m_nPKID) +fin +si clTabPersonne<>Null alors +nCptResult = clTabPersonne.p_nTotal +si nCptResult=1 alors +bAuMoinsUnAjout= ::gListeContactLieu(clPresentation,clTabPersonne.m_clTabModele[1]) +sinon +bAuMoinsUnAjout=Vrai +pclPersonne <- clTabPersonne +fin +fin +sinon +nCpt est un entier +si clPresentation.ListeContactLieu<>Null alors +nCpt = clPresentation.ListeContactLieu.p_nTotal +fin +clPresentation.m_clListePersonneLieu = PTableIntervention_Personne.gNouvellePresentation(2, +clPresentation.IdentifiantUnique,clPresentation.m_nIDLieu) +si nCptNull alors +PFicheIntervention.gListeContactLieu(clFicheInterv) +fin +//Retourne l'indice du contact dans le tableau des contacts client de l'intervention +nIndice est un entier = TableauCherche(clFicheInterv.ListeContactLieu.m_clTabModele,tcLinéaire, +"m_nIDPersonne",pclMPersonne.m_nPKID,1) +//Le contact n'est pas présent dans le tableau des contacts du site pour l'intervention +si nIndice=-1 alors +clErreur est un CErreur +//Variable contact d'une intervention +pclFicheIP est un PFicheIntervention_Personne dynamique +//Instanciation de la variable à partir de la liste des contacts du lieu +pclFicheIP <- clFicheInterv.ListeContactLieu.Nouveau() +//Variable de type d'une fiche contact lieu +clFichePE est un PFichePersonne(pclMPersonne est PFichePersonne ? pclMPersonne.p_clCourant +06/08/2026 Isis_BO 5853 + +Partie 6 › Classe › PFicheIntervention › Code +sinon pclMPersonne) +pclFicheIP:p_clCourant:m_nIDPersonne = clFichePE.m_nPKID +pclFicheIP:p_clCourant:m_nIDRole = clFichePE.m_nIDRole +//pclFicheIP:p_clCourant:m_sEtage = clFichePE.m_s +pclFicheIP:p_clCourant:m_nIDLieu = clFicheInterv.FicheLieu:m_nPKID +pclFicheIP:p_clCourant:m_nIDIntervention = clFicheInterv.IdentifiantUnique +pclFicheIP:p_clCourant:m_clContact = pclMPersonne est PFichePersonne ? pclMPersonne. +p_clCourant sinon pclMPersonne +nIndiceLP est un entier = TableauCherche(clFicheInterv:FicheLieu:ListeContact:m_clTabModele, +tcLinéaire,"m_nIDPersonne",pclFicheIP:m_nIDPersonne) +//La personne n'existe pas dans lieu_personne=> on créé +si nIndiceLP=-1 alors +clFicheLP est un PFicheLieu_Personne dynamique +clFicheLP <- clFicheInterv:FicheLieu:ListeContact:Nouveau(Vrai,clFicheInterv:FicheLieu: +IdentifiantUnique) +clFicheLP:p_clCourant:m_nIDPersonne = pclFicheIP:m_nIDPersonne +clFicheLP:p_clCourant:m_nIDRole = pclFicheIP:p_clCourant:m_clContact:m_nIDRole +clFicheLP:p_clCourant:m_clContact = pclFicheIP:p_clCourant:m_clContact +si clFicheLP.bOK(clErreur) alors//clFicheLP.bOK(clErreur,bAvecTransaction,Vrai) +pclFicheIP:p_clCourant:m_clLieuPersonne = clFicheLP.FicheEncours +fin +sinon +//rechargement des contacts du lieu +PFicheIntervention.gFicheLieu(clFicheInterv,*,*,Vrai) +//recherche de la personne +nIndiceLP = TableauCherche(clFicheInterv:FicheLieu:ListeContact:m_clTabModele,tcLinéaire, +"m_nIDPersonne",pclFicheIP:m_nIDPersonne) +si nIndiceLP > 0 alors +pclFicheIP:p_clCourant:m_sEtage = clFicheInterv:FicheLieu:ListeContact: +m_clTabModele[nIndiceLP]:m_sEtage +pclFicheIP:p_clCourant:m_sLot = clFicheInterv:FicheLieu:ListeContact:m_clTabModele[ +nIndiceLP]:m_sLot +pclFicheIP:p_clCourant:m_clLieuPersonne = clFicheInterv:FicheLieu:ListeContact: +m_clTabModele[nIndiceLP] +fin +//clFicheInterv:FicheLieu:ListeContact:m_clTabModele[nIndiceLP]:m_nIDRole = +clFichePE.m_nIDRole +// = +fin +//Enregistre l'ajout +bResultat = pclFicheIP.bOK(clErreur)//pclFicheIP.bOK(clErreur,bAvecTransaction,Vrai) +fin +renvoyer bResultat +fin +renvoyer bAuMoinsUnAjout +Méthode gListeDocument +// Résumé : +// Syntaxe : +//gListeDocument ( est PFicheIntervention) +// +// Paramètres : +// clPresentation (PFicheIntervention) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +06/08/2026 Isis_BO 5854 + +Partie 6 › Classe › PFicheIntervention › Code +// +procédure publique global gListeDocument(clPresentation est un PFicheIntervention) +clPresentation:m_clListeDocument = PTableDocument.gNouvellePresentation(1,clPresentation. +IdentifiantUnique,gpclFicheUtilisateurEnCours.m_nIDTypeProfil) +clPresentation:m_bVerificationDoc = Vrai +Méthode gListeDocumentSimple +procédure publique globale gListeDocumentSimple(clPresentation est un PFicheIntervention) +clPresentation:m_clListeDocument = PTableDocument.gNouvellePresentation(4,clPresentation. +IdentifiantUnique,gpclFicheUtilisateurEnCours.m_nIDTypeProfil) +clPresentation:m_bVerificationDoc = Faux +Méthode gListeHistoEtat +// Résumé : +// Syntaxe : +//gListeHistoEtat ( est PFicheIntervention [, est booléen]) +// +// Paramètres : +// clPresentation (PFicheIntervention) : +// bSelectLeDernier (booléen - valeur par défaut=0) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale gListeHistoEtat(clPresentation est un PFicheIntervention,local +bSelectLeDernier est un booléen=Faux) +clPresentation:m_clListeEtat = PTableEtatIntervention.gNouvellePresentation(1,clPresentation. +IdentifiantUnique) +si bSelectLeDernier _et_ clPresentation:m_clListeEtat.p_nTotal>0 alors +clPresentation:m_clListeEtat.p_clCourant = clPresentation:m_clListeEtat.m_clTabModele[ +clPresentation:m_clListeEtat.p_nTotal] +fin +Méthode gListeLot +// Résumé : +// Syntaxe : +//gListeLot ( est PFicheIntervention [, est PTableLot dynamique]) +// +// Paramètres : +// clPresentation (PFicheIntervention) : +// clListeLot (PTableLot dynamique - valeur par défaut=0) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale gListeLot(clPresentation est un PFicheIntervention,clListeLot est un +PTableLot dynamique=Null) +si clListeLot<>Null alors +bAuMoinsUnAjout est un booléen = Faux +pour i = 1 _à_ clListeLot.m_clTabModele.Occurrence() +si clListeLot.m_clTabModele[i].m_bSelection alors +06/08/2026 Isis_BO 5855 + +Partie 6 › Classe › PFicheIntervention › Code +nIndice est un entier = TableauCherche(clPresentation.m_clListeLot.m_clTabModele, +tcLinéaire,"m_nIDLot",clListeLot.m_clTabModele[i].m_nPKID,1) +si nIndice=-1 alors +clErreur est un CErreur +clPresentationFiche est un PFicheIntervention_Lot dynamique +clPresentationFiche <- clPresentation.m_clListeLot.Nouveau() +//Indique que l'élément ajouté est l'élément en cours +//clPresentationFiche:FicheEnCours = +clPresentation.m_clListeLot.m_clTabModele[clPresentation.m_clListeLot.m_clTabModele.Oc +currence()] +clPresentationFiche:FicheEnCours:m_nIDLot = clListeLot.m_clTabModele[i]. +m_nPKID +clPresentationFiche:FicheEnCours:m_nIDIntervention = clPresentation:IdentifiantUnique +clPresentationFiche:FicheEnCours:m_clLot = clListeLot.m_clTabModele[i] +clPresentationFiche:FicheEnCours:m_clLot:m_nIDLieu = clPresentation:FicheLieu: +IdentifiantUnique +//Enregistre l'ajout +clPresentationFiche.bOK(clErreur) +bAuMoinsUnAjout = Vrai +fin +fin +fin +::SuppressionLotLieuSiBesoin(clPresentation,bAuMoinsUnAjout) +si bAuMoinsUnAjout alors +DemandeMiseAJourIHM() +fin +//clPresentation.m_clListeLot:Nouveau = clListeLot +sinon +clPresentation.m_clListeLot = PTableIntervention_Lot.gNouvellePresentation(1,clPresentation. +IdentifiantUnique) +fin +Méthode gListeMessageAdministratives +procédure public globale gListeMessageAdministratives(clPresentation est un PFicheIntervention, +pclMessageAdmin est un objet dynamique=Null) +//,LOCAL nIdPersonne est un entier sur 8 octets=-1,LOCAL sNomPersonne est une chaîne="" +bAuMoinsUnAjout est un booléen = Faux +si pclMessageAdmin<>Null alors +si pclMessageAdmin est PFicheMessageInterne _ou_ pclMessageAdmin est MMessageInterne alors +bAuMoinsUnAjout = TraiteUnMessageInterne(clPresentation,pclMessageAdmin) +sinon si pclMessageAdmin est PTableMessageInterne alors +//Boucle sur l'ensemble des messages internes +pour i = 1 _à_ pclMessageAdmin.m_clTabModele.Occurrence() +//Le message est séléctionné +si pclMessageAdmin.m_clTabModele[i].m_bSelection alors +bAuMoinsUnAjout = TraiteUnMessageInterne(clPresentation,pclMessageAdmin.m_clTabModele[ +i]) +fin +fin +fin +si bAuMoinsUnAjout alors +DemandeMiseAJourIHM() +06/08/2026 Isis_BO 5856 + +Partie 6 › Classe › PFicheIntervention › Code +fin +sinon +nCpt est un entier +si clPresentation.ListeMessageInterneAdmin<>Null alors +nCpt = clPresentation.ListeMessageInterneAdmin.p_nTotal +fin +clPresentation:m_clListeMessageAdmin = PTableMessageInterne.gNouvellePresentation(3,clPresentation +.IdentifiantUnique) +si nCpt +// Syntaxe : +//gListeMessageExterne ( est PFicheIntervention) +// +// Paramètres : +// clPresentation (PFicheIntervention) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale gListeMessageExterne(clPresentation est un PFicheIntervention) +clPresentation:m_clListeMessageExterne = PTableMessageExterne.gNouvellePresentation(clPresentation. +IdentifiantUnique) +Méthode gListeMessageInterne +// Résumé : +// Syntaxe : +//[ = ] gListeMessageInterne ( est PFicheIntervention [, +est objet dynamique]) +// +// Paramètres : +// clPresentation (PFicheIntervention) : +// pclMessageInterne (objet dynamique - valeur par défaut=0) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +06/08/2026 Isis_BO 5857 + +Partie 6 › Classe › PFicheIntervention › Code +// nIdPersonne (entier sur 8 octets - valeur par défaut=-1) : +// sNomPersonne (chaîne ANSI - valeur par défaut="") : +// bAvecTransaction (booléen - valeur par défaut=1) : +procédure publique globale gListeMessageInterne(clPresentation est un PFicheIntervention, +pclMessageInterne est un objet dynamique=Null) +//,LOCAL nIdPersonne est un entier sur 8 octets=-1,LOCAL sNomPersonne est une chaîne="" +bAuMoinsUnAjout est un booléen = Faux +si pclMessageInterne<>Null alors +si pclMessageInterne est PFicheMessageInterne _ou_ pclMessageInterne est MMessageInterne alors +bAuMoinsUnAjout = TraiteUnMessageInterne(clPresentation,pclMessageInterne) +sinon si pclMessageInterne est PTableMessageInterne alors +//Boucle sur l'ensemble des messages internes +pour i = 1 _à_ pclMessageInterne.m_clTabModele.Occurrence() +//Le message est séléctionné +si pclMessageInterne.m_clTabModele[i].m_bSelection alors +bAuMoinsUnAjout = TraiteUnMessageInterne(clPresentation,pclMessageInterne. +m_clTabModele[i]) +fin +fin +fin +si bAuMoinsUnAjout alors +DemandeMiseAJourIHM() +fin +//clPresentation.m_clListePersonneLieu:Nouveau = clListeLot +//SINON SI nIdPersonne<>-1 _OU_ sNomPersonne<>"" ALORS +// +// clTabPersonne est un PTablePersonne dynamique +// +// clTabPersonne <- PTablePersonne.gNouvellePresentation(0,-1,-1,nIdPersonne,sNomPersonne) +// +// SI clTabPersonne<>Null _ET_ clTabPersonne.p_nTotal>=1 ALORS +// bAuMoinsUnAjout= ::gListeContactLieu(clPresentation,clTabPersonne.m_clTabModele[1]) +// +// FIN +sinon +nCpt est un entier +si clPresentation.ListeMessageInterne<>Null alors +nCpt = clPresentation.ListeMessageInterne.p_nTotal +fin +clPresentation:m_clListeMessageInterne = PTableMessageInterne.gNouvellePresentation(1, +clPresentation.IdentifiantUnique) +si nCpt +// Syntaxe : +//gListeRapport ( est PFicheIntervention) +// +// Paramètres : +// clPresentation (PFicheIntervention) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique global gListeRapport(clPresentation est un PFicheIntervention) +clPresentation:m_clListeRapport = PTableDocument.gNouvellePresentation(3,clPresentation. +IdentifiantUnique,gpclFicheUtilisateurEnCours.m_nIDTypeProfil) +Méthode gListeRendezVous +// Résumé : +// Syntaxe : +//gListeRendezVous ( est PFicheIntervention [, est PFicheRdv +dynamique [, est booléen]]) +// +// Paramètres : +// clPresentation (PFicheIntervention) : +// pclFicheRendezVous (PFicheRdv dynamique - valeur par défaut=0) : < +indiquez ici le rôle de clListePersonne> +// bAvecContactRdv (booléen - valeur par défaut=0) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// bAvecOccupant (booléen - valeur par défaut=0) : +procédure publique globale gListeRendezVous(clPresentation est un PFicheIntervention,pclFicheRendezVous +est un PFicheRdv dynamique=Null,bAvecContactRdv est un booléen=Faux) +//SI pclFicheRendezVous<>Null ALORS +// bAuMoinsUnAjout est un booléen = faux +////POUR i = 1 _A_ clListePersonne.m_clTabModele.Occurrence() +//// SI clListePersonne.m_clTabModele[i].m_bSelection ALORS +// +nIndice est un entier = +TableauCherche(clPresentation.ListeRendezVous.m_clTabModele,tcLinéaire,"m_nPKID",pclFicheRendezVous.m_n +PKID,1) +// SI nIndice=-1 ALORS +// clErreur est un CErreur +// clPresentationFiche est un PFicheIntervention_Lieu_Personne dynamique +// clPresentationFiche <- clPresentation.m_clListePersonneLieu.Nouveau() +// +// //Indique que l'élément ajouté est l'élément en cours +// +//clPresentationFiche:FicheEnCours = +clPresentation.m_clListePersonneLieu.m_clTabModele[clPresentation.m_clListePersonneLieu.m_clTabModele.O +ccurrence()] +// +// clPresentationFiche:FicheEnCours:m_nIDPersonne += clListePersonne.m_clTabModele[i].m_nPKID +// clPresentationFiche:FicheEnCours:m_nIDLieu = clPresentation.FicheLieu:m_nPKID +06/08/2026 Isis_BO 5859 + +Partie 6 › Classe › PFicheIntervention › Code +// clPresentationFiche:FicheEnCours:m_nIDIntervention = clPresentation.IdentifiantUnique +// clPresentationFiche:FicheEnCours:m_clContact = clListePersonne.m_clTabModele[i] +// +// +nIndiceLI est un entier = +TableauCherche(clPresentation:FicheLieu:ListeLieuPersonne:m_clTabModele,tcLinéaire,"m_nIDPersonne",clPr +esentationFiche:m_nIDPersonne) +// SI nIndiceLI=-1 ALORS +// clFicheLieuPersonne est un PFicheLieu_Personne dynamique +// +clFicheLieuPersonne <- +clPresentation:FicheLieu:ListeLieuPersonne:Nouveau(Vrai,clPresentation:FicheLieu:IdentifiantUnique) +// clFicheLieuPersonne:m_nIDPersonne = clPresentationFiche:m_nIDPersonne +// clFicheLieuPersonne:m_nIDRole += clPresentationFiche:FicheEnCours:m_clContact:m_nIDRole +// clFicheLieuPersonne.bOK(clErreur,Vrai,Vrai) +// FIN +// //Enregistre l'ajout +// clPresentationFiche.bOK(clErreur) +// +// bAuMoinsUnAjout = Vrai +// FIN +//// FIN +////FIN +// ::SuppressionContactLieuSiBesoin(clPresentation,bAuMoinsUnAjout) +// +// SI bAuMoinsUnAjout ALORS +// DemandeMiseAJourIHM() +// FIN +//SINON +clPresentation:m_clListeRdv = PTableRDV.gNouvellePresentation(1,clPresentation.IdentifiantUnique) +si bAvecContactRdv alors +pour i = 1 _à_ clPresentation:m_clListeRdv:p_nTotal +clListeContactRDV est un PTablePlanning_RDV_Personne dynamique +clListeContactRDV = PTablePlanning_RDV_Personne.gNouvellePresentation(clPresentation: +m_clListeRdv:m_clTabModele[i].m_nPKID) +clPresentation:m_clListeRdv:m_clTabModele[i]:m_clListeContactRdv = clListeContactRDV: +m_clTabModele +fin +fin +//FIN +si pclFicheRendezVous<>Null alors +DemandeMiseAJourIHM() +fin +Méthode gListeSuiviDesTemps +// Résumé : +// Syntaxe : +//gListeSuiviDesTemps ( est PFicheIntervention) +// +// Paramètres : +// clPresentation (PFicheIntervention) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale gListeSuiviDesTemps(clPresentation est un PFicheIntervention) +06/08/2026 Isis_BO 5860 + +Partie 6 › Classe › PFicheIntervention › Code +clPresentation:m_clListeSuiviDesTemps = PTableSuiviDesTemps.gNouvellePresentation(1,clPresentation. +IdentifiantUnique) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MIntervention() +clPresentation est un PFicheIntervention(clModele,pValidation) +renvoyer clPresentation +Méthode SuppressionContactClientSiBesoin +// Résumé : +// Syntaxe : +//SuppressionContactClientSiBesoin ( est PFicheIntervention, est +booléen) +// +// Paramètres : +// clPresentation (PFicheIntervention) : +// bAuMoinsUnAjout (booléen) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure globale SuppressionContactClientSiBesoin(clPresentation est un PFicheIntervention, +bAuMoinsUnAjout est un booléen) +//Il existe des contacts sur un autre client +si clPresentation:bExisteContactSurAutreClient() alors +//Boucle sur le tableau des contacts client de l'intervention du dernier au premier +pour i = clPresentation.ListeContactClient.m_clTabModele.Occurrence() _à_ 1 pas -1 +//L'id du client a changé +si clPresentation.ListeContactClient.m_clTabModele[i]:m_nIDClient<>clPresentation.FicheClient: +m_nPKID alors +clErreur est un CErreur +//Indique le contact courant +clPresentation.ListeContactClient.p_clCourant = clPresentation.ListeContactClient. +m_clTabModele[i] +//Supprime le contact qui n'est pas rattaché au même client +clPresentation.ListeContactClient.bSupprimer(clErreur) +//Indique qu'il faut appeler la MAJ écran +bAuMoinsUnAjout = Vrai +fin +fin +fin +Méthode SuppressionContactLieuSiBesoin +// Résumé : +// Syntaxe : +//SuppressionContactLieuSiBesoin ( est PFicheIntervention, est booléen) +// +// Paramètres : +// clPresentation (PFicheIntervention) : +// bSuppr (booléen) : +06/08/2026 Isis_BO 5861 + +Partie 6 › Classe › PFicheIntervention › Code +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure globale SuppressionContactLieuSiBesoin(clPresentation est un PFicheIntervention,bSuppr est un +booléen) +//Il existe des contacts sur un autre lieu +si clPresentation:ListeContactLieu<>Null _et_ clPresentation:bExisteContactSurAutreLieu() alors +//Boucle sur le tableau des contacts client de l'intervention du dernier au premier +pour i = clPresentation.ListeContactLieu.m_clTabModele.Occurrence() _à_ 1 pas -1 +//L'id du client a changé +si clPresentation.ListeContactLieu.m_clTabModele[i]:m_nIDLieu<>clPresentation:m_nIDLieu alors +clErreur est un CErreur +//Indique le contact courant +clPresentation.ListeContactLieu.p_clCourant = clPresentation.ListeContactLieu. +m_clTabModele[i] +//Supprime le contact qui n'est pas rattaché au même client et Indique qu'il faut appeler +la MAJ écran +bSuppr = clPresentation.ListeContactLieu.bSupprimer(clErreur) +bSuppr = Vrai +fin +fin +fin +Méthode SuppressionLotLieuSiBesoin +// Résumé : +// Syntaxe : +//SuppressionLotLieuSiBesoin ( est PFicheIntervention, est booléen) +// +// Paramètres : +// clPresentation (PFicheIntervention) : +// bAuMoinsUnAjout (booléen) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure globale SuppressionLotLieuSiBesoin(clPresentation est un PFicheIntervention,bAuMoinsUnAjout +est un booléen) +//Il existe des contacts sur un autre lieu +si clPresentation:bExisteLotSurAutreLieu() alors +//Boucle sur le tableau des contacts client de l'intervention du dernier au premier +pour i = clPresentation.ListeLot.m_clTabModele.Occurrence() _à_ 1 pas -1 +//L'id du client a changé +si clPresentation.ListeLot.m_clTabModele[i]:m_clLot:m_nIDLieu<>clPresentation.FicheLieu:m_nPKID +alors +clErreur est un CErreur +//Indique le contact courant +clPresentation.ListeLot.p_clCourant = clPresentation.ListeLot.m_clTabModele[i] +//Supprime le contact qui n'est pas rattaché au même client +clPresentation.ListeLot.bSupprimer(clErreur) +//Indique qu'il faut appeler la MAJ écran +bAuMoinsUnAjout = Vrai +06/08/2026 Isis_BO 5862 + +Partie 6 › Classe › PFicheIntervention › Code +fin +fin +fin +Méthode TempsEstime +procédure publique TempsEstime() +MaDuréeJours est une Durée +nNbRdvs est un entier +duMaDuréeMin est une Durée +rDureEstime est un réel +dhDHDeb est une DateHeure +dhDHFin est une DateHeure +:m_rTempsEstime = 0 +pour tout rdv de :m_clListeRdv:m_clTabModele +rDureEstime = 0 +si gtabListeTypeRendezVousJSON[rdv:m_nIDTypeActivite]..Existe alors +si gtabListeTypeRendezVousJSON[rdv:m_nIDTypeActivite].Present_devis alors +MaDuréeJours = rdv.m_dhDateDebut - rdv.m_dhDateFin +nNbRdvs = PartieEntière(MaDuréeJours..EnJours) +si nNbRdvs <= 0 alors nNbRdvs = 1 +si rdv.m_dhDateDebut..PartieDate = rdv.m_dhDateFin..PartieDate alors +duMaDuréeMin = rdv.m_dhDateFin - rdv.m_dhDateDebut +rDureEstime = (duMaDuréeMin..EnMinutes * nNbRdvs) +sinon si rdv.m_dhDateFin..PartieHeure > rdv.m_dhDateDebut.PartieHeure alors +duMaDuréeMin = rdv.m_dhDateFin..PartieHeure - rdv.m_dhDateDebut.PartieHeure +sinon +dhDHDeb = DateSys() +dhDHFin = DateSys() +dhDHFin..Jour += 1 +dhDHDeb..PartieHeure = rdv.m_dhDateDebut.PartieHeure +dhDHFin..PartieHeure = rdv.m_dhDateFin.PartieHeure +duMaDuréeMin = dhDHFin - dhDHDeb +fin +rDureEstime = (duMaDuréeMin..EnMinutes * nNbRdvs) +si rdv.m_clListeCollabGroup..Occurrence > 1 alors +rDureEstime = (rDureEstime * rdv.m_clListeCollabGroup..Occurrence ) +fin +fin +fin +:m_rTempsEstime += rDureEstime +fin +si :m_rTempsEstime > 0 alors +:m_rTempsEstime = (:m_rTempsEstime/60) +fin +Méthode TempsPasse +procédure publique TempsPasse() +nIdTypeTempsInter est un entier sur 8 octets = gpclListeTypeTemps.RechercheEtDonneIdDepuisValeur +(2) +nTotalTemps est un entier +06/08/2026 Isis_BO 5863 + +Partie 6 › Classe › PFicheIntervention › Code +si :ListeSuiviDesTemps<>Null _et_ :ListeSuiviDesTemps:m_clTabModele..Occurrence>0 alors +nRdv est un entier +pour tout pclTemps de :ListeSuiviDesTemps:m_clTabModele +nRdv = 0 +si pclTemps.m_nIDTypeTemps <> nIdTypeTempsInter alors +nRdv = TableauCherche(:ListeRendezVous:m_clTabModele,tcLinéaire,":m_nPKID",pclTemps: +m_nIDRdv) +si nRdv > 0 alors +si :ListeRendezVous:m_clTabModele[nRdv].m_dhDateDebut <= pclTemps.m_dDateDebut et : +ListeRendezVous:m_clTabModele[nRdv].m_dhDateFin >= pclTemps:m_dDateFin alors +nTotalTemps -= pclTemps.m_nNbMinutes +sinon +si pclTemps.m_bDevis alors +nTotalTemps += pclTemps.m_nNbMinutes +fin +fin +fin +sinon +si pclTemps.m_bDevis alors +nTotalTemps += pclTemps.m_nNbMinutes +fin +fin +fin +fin +// De minutes à heures +:m_rTempsPasse = (nTotalTemps/60) +renvoyer :m_rTempsPasse +06/08/2026 Isis_BO 5864 + +Partie 6 › Classe › MTableauDeIntervention › Code +MTableauDeIntervention +Code +Déclaration de MTableauDeIntervention +MTableauDeIntervention est une Classe +public +m_clTabModele est un tableau de MIntervention dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MIntervention dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MIntervention dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 5865 + +Partie 6 › Classe › MTableauDeIntervention › Code +// +// récupération des données +sReqSQL est une Requête SQL = [ +SELECT * +FROM Intervention +WHERE IN_PKID={p_IdIntervention} +] +sReqSQL.p_IdIntervention = MesParamètres..Occurrence>=1 _et_ MesParamètres[1]>0 ? MesParamètres[1] +sinon Null +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +clModele est un MIntervention +clModele.Charger(sReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerDepuisUnDossier +procédure ChargerDepuisUnDossier(local nIdDossier est un entier sur 8 octets) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +ReqSQL est une Requête SQL = [ +SELECT Intervention.* +FROM Intervention +//INNER JOIN ParametreMetier On(ParametreMetier.PA_PKID=Intervention.IN_IDEtatIntervention) +WHERE IN_IDDossier = {p_IdDossier} +AND IN_IDDossier<>0 +ORDER BY IN_RefInterne +] +ReqSQL.p_IdDossier = nIdDossier +// exécution de la requête +si HExécuteRequête(ReqSQL) alors +// charge les enregistrements en mémoire +pour tout ReqSQL +clModele est un MIntervention +clModele.Charger(ReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerDepuisUnePersonne +procédure ChargerDepuisUnePersonne(local nIdPersonne est un entier sur 8 octets) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +06/08/2026 Isis_BO 5866 + +Partie 6 › Classe › MTableauDeIntervention › Code +// récupération des données +ReqSQL est une Requête SQL = [ +SELECT Intervention.*,Lieu.LI_CodeLieu AS CodeLieu +FROM Intervention +INNER JOIN Dossier ON Dossier.DO_PKID = Intervention.IN_IDDossier +INNER JOIN Intervention_Personne ON (Intervention_Personne.IP_IDIntervention=Intervention.IN_PKID) +LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Intervention.IN_IDLieu) +WHERE Intervention_Personne.IP_IDPersonne = {p_IdPersonne} +AND IN_IDDossier<>0 AND Dossier.DO_IDStatut <> {p_IdStatutAnnu} +ORDER BY IN_RefInterne DESC +] +ReqSQL.p_IdPersonne = nIdPersonne +ReqSQL.p_IdStatutAnnu = gnIdDossierAnnule +// exécution de la requête +si HExécuteRequête(ReqSQL) alors +// charge les enregistrements en mémoire +pour tout ReqSQL +clModele est un MIntervention +clModele.Charger(ReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode RechercheCodeSite +// Résumé : +// Syntaxe : +// RechercheCodeSite () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RechercheCodeSite(local sTermedeRecherche est une chaîne) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +ReqSQL est une Requête SQL = +[ +SELECT DISTINCT Intervention.* FROM Intervention +LEFT OUTER JOIN Lieu ON (LI_PKID=IN_IDLieu) +WHERE Lieu.LI_PKID = {p_TermedeRecherche} +] +//ReqSQL.p_TermedeRecherche = sTermedeRecherche+"*" +ReqSQL.p_TermedeRecherche = sTermedeRecherche +06/08/2026 Isis_BO 5867 + +Partie 6 › Classe › MTableauDeIntervention › Code +//ReqSQL.p_TermedeRecherche = sTermedeRecherche+"*" +// exécution de la requête +si HExécuteRequête(ReqSQL) alors +// charge les enregistrements en mémoire +pour tout ReqSQL +clModele est un MIntervention +clModele.Charger(ReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +HAnnuleDéclaration(ReqSQL) +Méthode RechercheGlobale +// Résumé : +// Syntaxe : +//RechercheGlobale ( est chaîne) +// +// Paramètres : +// sTermedeRecherche (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RechercheGlobale(local sTermedeRecherche est une chaîne) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +//ReqSQL est une requête SQL = [ +// SELECT *,MATCH(Intervention.IN_Index_FullText) AGAINST ({p_TermedeRecherche}) AS PertinenceFulltext +// FROM Intervention +// WHERE +// PertinenceFulltext>0 +// ORDER BY PertinenceFulltext DESC +//] +ReqSQL est une Requête SQL = +[ +SELECT DISTINCT Intervention.* FROM Intervention +INNER JOIN Dossier ON Dossier.DO_PKID = Intervention.IN_IDDossier +LEFT OUTER JOIN Lieu ON (LI_PKID=IN_IDLieu) +LEFT OUTER JOIN Intervention_Personne ON (IP_IDIntervention=IN_PKID) +LEFT OUTER JOIN Personne ON (PE_PKID=IP_IDPersonne) +WHERE Dossier.DO_IDStatut <> {p_IdStatutAnnu} AND +(Intervention.IN_RefInterne LIKE {p_TermedeRecherche} +OR Intervention.IN_Description LIKE {p_TermedeRecherche} +OR Intervention.IN_NoteInterne LIKE {p_TermedeRecherche} +OR Intervention.IN_Titre LIKE {p_TermedeRecherche} +OR Intervention.IN_RefExterne LIKE {p_TermedeRecherche} +OR Intervention.IN_NumIntervention LIKE {p_TermedeRecherche} +OR Intervention.IN_NumDevis LIKE {p_TermedeRecherche} +OR Intervention.IN_NumFacture LIKE {p_TermedeRecherche} +OR Lieu.LI_CodeLieu LIKE {p_TermedeRecherche} +OR Personne.PE_Nom LIKE {p_TermedeRecherche} +06/08/2026 Isis_BO 5868 + +Partie 6 › Classe › MTableauDeIntervention › Code +OR Personne.PE_Prenom LIKE {p_TermedeRecherche} +OR Personne.PE_TelFixe LIKE {p_TermedeRecherche} +OR Personne.PE_TelMobile LIKE {p_TermedeRecherche} +OR Personne.PE_Email LIKE {p_TermedeRecherche}) +] +//ReqSQL.p_TermedeRecherche = sTermedeRecherche+"*" +ReqSQL.p_TermedeRecherche = "%"+sTermedeRecherche+"%" +ReqSQL.p_IdStatutAnnu = gnIdDossierAnnule +//ReqSQL.p_TermedeRecherche = sTermedeRecherche+"*" +// exécution de la requête +si HExécuteRequête(ReqSQL) alors +// charge les enregistrements en mémoire +pour tout ReqSQL +clModele est un MIntervention +clModele.Charger(ReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +HAnnuleDéclaration(ReqSQL) +Méthode RechercheGlobaleExact +// Résumé : +// Syntaxe : +//RechercheGlobaleExact ( est chaîne) +// +// Paramètres : +// sTermedeRecherche (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RechercheGlobaleExact(local sTermedeRecherche est une chaîne) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +ReqSQL est une Requête SQL = [ +SELECT *,MATCH(Intervention.IN_Index_FullText) AGAINST ({p_TermedeRecherche}) AS PertinenceFulltext +FROM Intervention +WHERE +PertinenceFulltext>0 +ORDER BY PertinenceFulltext DESC +] +ReqSQL.p_TermedeRecherche = sTermedeRecherche +// exécution de la requête +si HExécuteRequête(ReqSQL) alors +// charge les enregistrements en mémoire +pour tout ReqSQL +clModele est un MIntervention +clModele.Charger(ReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +06/08/2026 Isis_BO 5869 + +Partie 6 › Classe › MTableauDeIntervention › Code +HAnnuleDéclaration(ReqSQL) +| 06/08/2026 | Isis_BO | 5870 | +| ---------- | ------- | ---- | + +Partie 6 › Classe › PTableIntervention › Code +PTableIntervention +Code +Déclaration de PTableIntervention +PTableIntervention est une Classe +protégé +m_clTableauModele est un MTableauDeIntervention dynamique +// modèle associé à la présentation +m_clModeleCourant est un MIntervention dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeIntervention dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MIntervention +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MIntervention dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_clTableauModele +procédure publique p_clTableauModele() : MTableauDeIntervention +06/08/2026 Isis_BO 5871 + +Partie 6 › Classe › PTableIntervention › Code +renvoyer m_clTableauModele +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier,*) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeIntervention +//0 : Toutes les interventions +//1 : Toutes les interventions d'un dossier +selon nMode +cas 0 : clTableauModele.Charger(MesParamètres[2]) +cas 1 : clTableauModele.ChargerDepuisUnDossier(MesParamètres[2]) +cas 2 : clTableauModele.RechercheGlobale(MesParamètres[2]) +cas 3 : clTableauModele.ChargerDepuisUnePersonne(MesParamètres[2]) +cas 4 : clTableauModele = MesParamètres[2] +cas 5 : clTableauModele.RechercheCodeSite(MesParamètres[2]) +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableIntervention(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheIntervention(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MIntervention dynamique) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTableauModele:m_clTabModele,tcLinéaire,"m_nPKID", +pclModele:m_nPKID,1) +si nPos>0 alors +m_clTableauModele:m_clTabModele[nPos]<=pclModele +fin +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau() +clModele est un MIntervention() +clPresentationFiche est un PFicheIntervention(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MIntervention dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +Méthode Trie +06/08/2026 Isis_BO 5872 + +Partie 6 › Classe › PTableIntervention › Code +// Résumé : +// Syntaxe : +//Trie () +// +// Paramètres : +// sMembresTrie : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Trie(sMembresTrie) +si sMembresTrie<>"" alors +TableauTrie(:m_clTabModele, ttMembre,sMembresTrie) +fin +06/08/2026 Isis_BO 5873 + +Partie 6 › Classe › MLieu_Personne › Code +MLieu_Personne +Code +Déclaration de MLieu_Personne +MLieu_Personne est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_nIDPersonne est un entier sur 8 octets +m_nIDLieu est un entier sur 8 octets +m_nIDRole est un entier sur 8 octets +m_sEtage est une chaîne +m_sLot est une chaîne +m_sEtiquette est une chaîne +m_bActif est un booléen + +m_clContact est un MPersonne +m_clLieu est un MLieu +EtiquetteEtPresentation est une chaîne +fin +Méthode bControle +procédure bControle(clErreur est un CErreur,local bSupprime est un booléen) +bResultat est un booléen=Vrai +tabListeErr est un tableau de chaînes +quand exception dans +si pas bSupprime alors +//SI SansEspace(:m_nIDRole)=0 ALORS +Ajoute(tabListeErr,"Veuillez renseigner le rôle du contact") +// SI SansEspace(:m_nIDPersonne)=0 ALORS +Ajoute(tabListeErr,"Veuillez renseigner le contact du lieu") +//SI SansEspace(:m_nIDLieu)=0 ALORS +Ajoute(tabListeErr,"Veuillez renseigner le lieu du contact") +sinon +fin +si tabListeErr..Occurrence>0 alors +goto ERREURFONCTIONNELLE +sinon +goto SORTIE +fin +ERREURFONCTIONNELLE : +clErreur.Init(CErreur.Fonctionnelle,tabListeErr) +bResultat = Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +06/08/2026 Isis_BO 5874 + +Partie 6 › Classe › MLieu_Personne › Code +bResultat = Faux +fin +SORTIE : +renvoyer bResultat +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété EtiquetteEtPresentation +procédure publique EtiquetteEtPresentation() +sResultat est une chaîne +si :m_clLieu<>Null _et_ :m_clLieu:m_clAdresse<>Null alors +si :m_sEtiquette<>"" alors +sResultat += :m_sEtiquette +fin +si sResultat<>"" _et_ m_clLieu:m_clAdresse:m_sPresentation<>"" alors +sResultat += RC+RC+m_clLieu:m_clAdresse:m_sPresentation +sinon si m_clLieu:m_clAdresse:m_sPresentation<>"" alors +sResultat += m_clLieu:m_clAdresse:m_sPresentation +fin +fin +renvoyer sResultat +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer "" +06/08/2026 Isis_BO 5875 + +Partie 6 › Classe › PFicheLieu_Personne › Code +PFicheLieu_Personne +Code +Déclaration de PFicheLieu_Personne +PFicheLieu_Personne est une Classe +protégé +m_clModeleCourant est un MLieu_Personne// modèle associé à la présentation +m_clModeleSource est un MLieu_Personne dynamique // référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +m_clFichepersonne est une PFichePersonne dynamique // Contact lié au lieu +fin +Méthode AppelProcValidation +// Résumé : +// Syntaxe : +//AppelProcValidation ( est entier) +// +// Paramètres : +// nMode (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AppelProcValidation(local nMode est un entier) +// si il y a une procédure de validation +si m_pValidation<>Null alors +selon nMode +cas 1 : m_pValidation(m_clModeleSource) +cas 2 : m_pValidation(m_clModeleCourant) +fin +m_pValidation = Null +DemandeMiseAJourIHM() +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +//,LOCAL bAvecTransaction est un booléen,LOCAL bMajCourant est un booléen +bRenvoyer est un booléen = Faux +bNouveau est un booléen +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +//Débute une transaction sur le fichier Lot +// SI bAvecTransaction ALORS HTransactionDébut(gcnxBO,"LIEU_PERSONNE,PERSONNE") +//Contôle des données Lot +06/08/2026 Isis_BO 5876 + +Partie 6 › Classe › PFicheLieu_Personne › Code +si pas :FicheEncours:bControle(clErreur,Faux) alors goto ERREURTRANSAC +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// SI m_clModeleSource:m_clContact<>Null _et_ m_clModeleSource:m_clContact:m_snom<>"" ALORS +// m_clModeleSource:m_clContact.m_nIDRole=m_clModeleSource.m_nIDRole +// SI PAS m_clModeleSource:m_clContact:bEnregistrer(clErreur) ALORS +// GOTO ERREURTRANSAC +// SINON +// m_clModeleSource:m_nIDPersonne = m_clModeleSource:m_clContact:m_nPKID +// FIN +// FIN +bNouveau = m_clModeleCourant.bNouveau() +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURTRANSAC +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +si bNouveau alors +m_pValidation = Null +fin +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +// SI bMajCourant ALORS +// m_clModeleCourant <= m_clModeleSource +// FIN +//Termine la transaction +// SI bAvecTransaction ALORS HTransactionFin(gcnxBO) +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURTRANSAC : +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MLieu_Personne dynamique, pValidation est une procédure=Null) +06/08/2026 Isis_BO 5877 + +Partie 6 › Classe › PFicheLieu_Personne › Code +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété FicheEncours +procédure publique FicheEncours() : MLieu_Personne +renvoyer m_clModeleCourant +Affectation de la propriété FicheEncours +procédure publique FicheEncours(clValeur est MLieu_Personne) +m_clModeleCourant=clValeur +Récupération de la propriété FichePersonne +procédure publique FichePersonne() : PFichePersonne +renvoyer m_clFichepersonne +Affectation de la propriété FichePersonne +procédure publique FichePersonne(clValeur est PFichePersonne) +m_clFichepersonne=clValeur +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MLieu_Personne +renvoyer m_clModeleCourant +Méthode gFichePersonne +// Résumé : +procédure publique globale gFichePersonne(pclFicheLieuPersonne est un PFicheLieu_Personne dynamique, +clFichePersonne est un PFichePersonne dynamique=Null) +si clFichePersonne<>Null alors +pclFicheLieuPersonne:FichePersonne = clFichePersonne +//clFichePersonne:FicheEnCours:m_clAdresse <= clFicheAdresse +sinon +clTabPersonne est un PTablePersonne <- PTablePersonne.gNouvellePresentation(0,-1,-1, +pclFicheLieuPersonne.m_nIDPersonne) +si clTabPersonne.p_nTotal>=1 alors +clFichePersonne = allouer un PFichePersonne(clTabPersonne.m_clTabModele[1],*) +sinon +06/08/2026 Isis_BO 5878 + +Partie 6 › Classe › PFicheLieu_Personne › Code +clFichePersonne = PFichePersonne.gNouvellePresentation() +fin +pclFicheLieuPersonne:FichePersonne = clFichePersonne +fin +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MLieu_Personne() +clPresentation est un PFicheLieu_Personne(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 5879 + +Partie 6 › Classe › PFicheClient_Lieu › Code +PFicheClient_Lieu +Code +Déclaration de PFicheClient_Lieu +PFicheClient_Lieu est une Classe +protégé +m_clModeleCourant est un MClient_Lieu // modèle associé à la présentation +m_clModeleSource est un MClient_Lieu dynamique // référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure // procédure à appeler lors de la validation +m_clFicheLieu est une PFicheLieu dynamique // Lieu lié au client +m_clFicheAdresse est un PFicheAdresse dynamique //Adresse du lieu +fin +Méthode AppelProcValidation +// Résumé : +procédure AppelProcValidation() +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleSource) +m_pValidation = Null +DemandeMiseAJourIHM() +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +//,LOCAL bAvecTransaction est un booléen,LOCAL bMajCourant est un booléen +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +//Débute une transaction sur le fichier Lot +// SI bAvecTransaction ALORS HTransactionDébut(gcnxBO,"CLIENT_LIEU") +//Contôle des données Lot +si pas :FicheEncours:bControle(clErreur,Faux) alors goto ERREURTRANSAC +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// m_clModeleSource:m_clContact.m_nIDRole=m_clModeleSource.m_nIDRole +// SI PAS m_clModeleSource:m_clLieu:bEnregistrer(clErreur) ALORS +// GOTO ERREURTRANSAC +// SINON +// m_clModeleSource:m_nIDLieu = m_clModeleSource:m_clLieu:m_nPKID +// FIN +//// recopie des éléments adresses dans la présentation si besoin +// m_clModeleSource:m_clAdresse:CopieAdresseDansPresentation() +// +06/08/2026 Isis_BO 5880 + +Partie 6 › Classe › PFicheClient_Lieu › Code +// SI PAS m_clModeleSource:m_clAdresse:bEnregistrer(clErreur) ALORS +// GOTO ERREURTRANSAC +// FIN +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURTRANSAC +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +// SI bMajCourant ALORS +// m_clModeleCourant <= m_clModeleSource +// FIN +//Termine la transaction +// SI bAvecTransaction ALORS HTransactionFin(gcnxBO) +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURTRANSAC : +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MClient_Lieu dynamique, pValidation est une procédure=Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété FicheEncours +06/08/2026 Isis_BO 5881 + +Partie 6 › Classe › PFicheClient_Lieu › Code +procédure publique FicheEncours() : MClient_Lieu +renvoyer m_clModeleCourant +Affectation de la propriété FicheEncours +procédure publique FicheEncours(clValeur est MClient_Lieu) +m_clModeleCourant=clValeur +Récupération de la propriété FicheLieu +procédure publique FicheLieu() : PFicheLieu +renvoyer m_clFicheLieu +Affectation de la propriété FicheLieu +procédure publique FicheLieu(clValeur est PFicheLieu dynamique) +m_clFicheLieu=clValeur +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MClient_Lieu +renvoyer m_clModeleCourant +Méthode gFicheLieu +// Résumé : +procédure publique globale gFicheLieu(pclFicheClientLieu est un PFicheClient_Lieu dynamique, +pclFicheLieu est un PFicheLieu dynamique=Null) +si pclFicheLieu<>Null alors +pclFicheClientLieu:FicheLieu = pclFicheLieu +//clFichePersonne:FicheEnCours:m_clAdresse <= clFicheAdresse +sinon +clTabLieu est un PTableLieu <- PTableLieu.gNouvellePresentation(0,pclFicheClientLieu.m_nIDLieu) +si clTabLieu.p_nTotal>=1 alors +pclFicheLieu = allouer un PFicheLieu(clTabLieu.m_clTabModele[1],*) +sinon +pclFicheLieu = PFicheLieu.gNouvellePresentation() +fin +pclFicheClientLieu:FicheLieu = pclFicheLieu +fin +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MClient_Lieu() +clPresentation est un PFicheClient_Lieu(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 5882 + +Partie 6 › Classe › MTableauDeLieu_Personne › Code +MTableauDeLieu_Personne +Code +Déclaration de MTableauDeLieu_Personne +MTableauDeLieu_Personne est une Classe +public +m_clTabModele est un tableau de MLieu_Personne dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MLieu_Personne dynamique) +nIndice est un entier +// ajoute l'instance du modèle dans le tableau en mémoire +nIndice = TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +renvoyer nIndice +Méthode bSupprimer +procédure bSupprimer(clModele est un MLieu_Personne dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode ChargerDepuisLieu +procédure ChargerDepuisLieu(local nIdLieu est un entier sur 8 octets) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 5883 + +Partie 6 › Classe › MTableauDeLieu_Personne › Code +// +// récupération des données +sReqSQL est une Requête SQL = +[ +SELECT Lieu_Personne.*,Personne.* +FROM Lieu_Personne +LEFT OUTER JOIN Personne ON Personne.PE_PKID=Lieu_Personne.LIP_IDPersonne +WHERE Lieu_Personne.LIP_IDLieu={P_Idlieu} +] +sReqSQL.P_Idlieu=nIdLieu=-1 ? Null sinon nIdLieu +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +clModele est un MLieu_Personne +clModele.Charger(sReqSQL) +clModele:m_bLiaison = nIdLieu>0 ? Vrai sinon Faux +clModele:m_clContact.Charger(sReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerDepuisPersonne +procédure ChargerDepuisPersonne(local nIdPersonne est un entier sur 8 octets) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +sReqSQL est une Requête SQL = +[ +SELECT Lieu_Personne.*,Lieu.*,Adresse.* +FROM Lieu_Personne +LEFT OUTER JOIN Lieu ON Lieu.LI_PKID=Lieu_Personne.LIP_IDLieu +LEFT OUTER JOIN Adresse ON Adresse.AD_PKID=Lieu.LI_IDAdresse +WHERE Lieu_Personne.LIP_IDPersonne={P_IdPersonne} +] +sReqSQL.P_IdPersonne=nIdPersonne=-1 ? Null sinon nIdPersonne +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +clModele est un MLieu_Personne +clModele.Charger(sReqSQL) +clModele:m_bLiaison = nIdPersonne>0 ? Vrai sinon Faux +clModele:m_clLieu.Charger(sReqSQL) +clModele:m_clLieu.m_clAdresse.Charger(sReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +06/08/2026 Isis_BO 5884 + +Partie 6 › Classe › MTableauDeLieu_Personne › Code +procédure Destructeur() +| 06/08/2026 | Isis_BO | 5885 | +| ---------- | ------- | ---- | + +Partie 6 › Classe › PTableLieu_Personne › Code +PTableLieu_Personne +Code +Déclaration de PTableLieu_Personne +PTableLieu_Personne est une Classe +protégé +m_clTableauModele est un MTableauDeLieu_Personne dynamique +// modèle associé à la présentation +m_clModeleCourant est un MLieu_Personne dynamique +// référence sur le modèle de données courant +m_nMethodeCustom est un entier +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeLieu_Personne dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété MethodeCustom +procédure publique MethodeCustom() : entier +renvoyer m_nMethodeCustom +Affectation de la propriété MethodeCustom +procédure publique MethodeCustom(nValeur est un entier) +m_nMethodeCustom=nValeur +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MLieu_Personne +si m_clModeleCourant=Null alors +clModele est MLieu_Personne +renvoyer clModele +06/08/2026 Isis_BO 5886 + +Partie 6 › Classe › PTableLieu_Personne › Code +sinon +renvoyer m_clModeleCourant +fin +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MLieu_Personne dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier,*) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeLieu_Personne +selon nMode +cas 1 : clTableauModele.ChargerDepuisLieu(MesParamètres[2à]) +cas 2 : clTableauModele.ChargerDepuisPersonne(MesParamètres[2à]) +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableLieu_Personne(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier(pclPersonne est un MPersonne dynamique=Null) +//La personne existe déjà +si pclPersonne<>Null alors +si m_clModeleCourant:m_clContact:IdentifiantUnique=pclPersonne:IdentifiantUnique alors +m_clModeleCourant:m_clContact<= pclPersonne +nIndice est un entier = TableauCherche(m_clTableauModele:m_clTabModele,tcLinéaire, +m_clModeleCourant) +si nIndice>0 alors +m_clModeleCourant:m_nIDRole = pclPersonne:m_nIDRole +//m_clModeleCourant:m_sEtage = pclPersonne:m_sEtage +m_clTableauModele:m_clTabModele[nIndice] <= m_clModeleCourant +//Création d'une instance +clPresentationFiche est un PFicheLieu_Personne(m_clModeleCourant) +clerreur est un CErreur +//Enregistrement en BDD +si pas clPresentationFiche.bOK(clerreur) alors ExceptionPropage(clerreur.FormateMessage()) +//PAS clPresentationFiche.bOK(clerreur,Faux,Vrai) +06/08/2026 Isis_BO 5887 + +Partie 6 › Classe › PTableLieu_Personne › Code +renvoyer clPresentationFiche +fin +fin +sinon +clPresentationFiche est un PFicheLieu_Personne(m_clModeleCourant,ApresModification) +renvoyer clPresentationFiche +fin +procédure interne ApresModification(pclModele est un MLieu_Personne dynamique) +DemandeMiseAJourIHM() +fin +Méthode ModifierCustom +// Résumé : +// Syntaxe : +//[ = ] ModifierCustom () +// +// Paramètres : +// Aucun +// Valeur de retour : +// PFichePersonne : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ModifierCustom(*) +selon m_nMethodeCustom +cas 1 : +clPresentationFiche est un PFichePersonne(m_clModeleCourant:m_clContact,ApresModification) +renvoyer clPresentationFiche +fin +procédure interne ApresModification(pclModele est un objet dynamique) +Modifier(pclModele) +DemandeMiseAJourIHM() +fin +Méthode Nouveau +procédure Nouveau(local bLier est un booléen,local nIdLie est un entier sur 8 octets,pclPersonne est un +MPersonne dynamique=Null,local nMode est un entier=0) +clModele est un MLieu_Personne() +clModele.m_bLiaison=bLier +//Création en connaissant le lieu +si nMode=0 alors +clModele.m_nIDLieu=nIdLie +//Création en connaissant la personne +sinon si nMode=1 alors +clModele.m_nIDPersonne=nIdLie +fin +//La personne existe déjà +si pclPersonne<>Null alors +06/08/2026 Isis_BO 5888 + +Partie 6 › Classe › PTableLieu_Personne › Code +//Affectation de l'objet personne +clModele.m_clContact = pclPersonne +si clModele:m_nIDLieu = 0 alors clModele:m_nIDLieu = clModele.m_clLieu: +IdentifiantUnique +si clModele:m_nIDPersonne = 0 alors clModele:m_nIDPersonne = clModele.m_clContact: +IdentifiantUnique +clModele:m_nIDRole = clModele.m_clContact:m_nIDRole +//Création d'une instance +clPresentationFiche est un PFicheLieu_Personne(clModele) +//Ajout de l'instance au tableau +m_clTableauModele.Ajouter(clModele) +clerreur est un CErreur +//Enregistrement en BDD +si pas clPresentationFiche.bOK(clerreur) alors //PAS clPresentationFiche.bOK(clerreur,Faux,Vrai) +ExceptionPropage(clerreur.FormateMessage()) +sinon +// nIndice est un entier = TableauCherche(m_clTableauModele.m_clTabModele,tcLinéaire,clModele) +// SI nIndice>0 ALORS +//m_clTableauModele.m_clTabModele[nIndice].ModifierCustom() +objet:p_clCourant = clModele +objet:ModifierCustom() +// FIN +fin +renvoyer clPresentationFiche +sinon +clPresentationFiche est un PFicheLieu_Personne(clModele,ApresAjout) +renvoyer clPresentationFiche +fin +procédure interne ApresAjout(pclModele est un MLieu_Personne dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +//renvoyer clPresentationFiche +Méthode NouveauCustom +// Résumé : +// Syntaxe : +//[ = ] NouveauCustom ([...]) +// +// Paramètres : +// <*> : > +// Valeur de retour : +// PFichePersonne : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// bLier (booléen) : +// nIdLie (entier sur 8 octets) : +// <*> : > +// <*> : > +// <*> : > +// <*> : > +// <*> : > +procédure NouveauCustom(*) +06/08/2026 Isis_BO 5889 + +Partie 6 › Classe › PTableLieu_Personne › Code +selon m_nMethodeCustom +cas 1 : +clModele est un MPersonne() +clModele.m_bLier = MesParamètres[1] +clModele.m_nIDLie = MesParamètres[2] +clPresentationFiche est un PFichePersonne(clModele,ApresAjoutMethodeCustom1) +//clPresentationFiche2 est un PFicheLieu_Personne dynamique +//clPresentationFiche2<- Nouveau(clModele.m_bLier,clModele.m_nIdLie,clModele) +renvoyer clPresentationFiche +fin +procédure interne ApresAjoutMethodeCustom1(pclModele est un MPersonne dynamique) +Nouveau(pclModele.m_bLier,pclModele.m_nIdLie,pclModele) +fin +Méthode Trie +// Résumé : +// Syntaxe : +//Trie () +// +// Paramètres : +// sMembresTrie : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Trie(sMembresTrie) +si sMembresTrie<>"" alors +TableauTrie(:m_clTabModele, ttMembre,sMembresTrie) +fin +06/08/2026 Isis_BO 5890 + +Partie 6 › Classe › MClient_Lieu › Code +MClient_Lieu +Code +Déclaration de MClient_Lieu +MClient_Lieu est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_nIDClient est un entier sur 8 octets +m_nIDLieu est un entier sur 8 octets + +m_bLieuPrincipalCli est un booléen +m_clLieu est un MLieu +m_clAdresse est un MAdresse +fin +constante +cIMG_Principal = "etoile_bleue.png" +cIMG_PasPrincipal = "etoile_bleue_vide.png" +cIMG_Bloque = "candado.png" +cIMG_NonBloque = "candado-abierto.png" +fin +Méthode bControle +// Résumé : +procédure bControle(clErreur est un CErreur,local bSupprime est un booléen) +bResultat est un booléen=Vrai +tabListeErr est un tableau de chaînes +quand exception dans +si pas bSupprime alors +si SansEspace(:m_nIDClient)=0 alors Ajoute( +tabListeErr,"Veuillez renseigner le Client du lieu") +// SI SansEspace(:m_nIDPersonne)=0 ALORS +Ajoute(tabListeErr,"Veuillez renseigner le contact du lieu") +// SI SansEspace(:m_nIDLieu)=0 ALORS +Ajoute(tabListeErr,"Veuillez renseigner le lieu du client") +sinon +fin +si tabListeErr..Occurrence>0 alors +goto ERREURFONCTIONNELLE +sinon +goto SORTIE +fin +ERREURFONCTIONNELLE : +06/08/2026 Isis_BO 5891 + +Partie 6 › Classe › MClient_Lieu › Code +clErreur.Init(CErreur.Fonctionnelle,tabListeErr) +bResultat = Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +bResultat = Faux +fin +SORTIE : +renvoyer bResultat +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété ImageLieuPrincipalClient +procédure publique ImageLieuPrincipalClient(): chaîne +si LieuPrincipalClient alors +renvoyer ::cIMG_Principal +sinon +renvoyer ::cIMG_PasPrincipal +fin +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer "" +Récupération de la propriété LieuPrincipalClient +procédure publique LieuPrincipalClient() : booléen +renvoyer m_bLieuPrincipalCli +Affectation de la propriété LieuPrincipalClient +procédure publique LieuPrincipalClient(bValeur est un booléen) +m_bLieuPrincipalCli=bValeur +Méthode ImagenEtatLieu +procédure publique ImagenEtatLieu():chaîne +si :m_clLieu:m_bBlocage alors +renvoyer cIMG_Bloque +sinon +renvoyer cIMG_NonBloque +fin +06/08/2026 Isis_BO 5892 + +Partie 6 › Classe › MTableauDeClient_Lieu › Code +MTableauDeClient_Lieu +Code +Déclaration de MTableauDeClient_Lieu +MTableauDeClient_Lieu est une Classe +public +m_clTabModele est un tableau de MClient_Lieu dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MClient_Lieu dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MClient_Lieu dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger(local nIdClient est un entier sur 8 octets) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 5893 + +Partie 6 › Classe › MTableauDeClient_Lieu › Code +// +// récupération des données +sReqSQL est une Requête SQL = +[ +SELECT Client_Lieu.*,Lieu.*,Adresse.*,Client.CL_IDLieuPrincipal +FROM Client_Lieu +LEFT OUTER JOIN Lieu ON Lieu.LI_PKID=Client_Lieu.CLI_IDLieu +INNER JOIN Adresse ON Adresse.AD_PKID=Lieu.LI_IDAdresse +LEFT OUTER JOIN Client ON (Client.CL_PKID=Client_Lieu.CLI_IDClient) +WHERE Client_Lieu.CLI_IDClient={P_IdClient} AND Lieu.Archive=0 +] +sReqSQL.P_IdClient=nIdClient=-1 ? Null sinon nIdClient +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +clModele est un MClient_Lieu +clModele.Charger(sReqSQL) +clModele:m_bLiaison = nIdClient>0 ? Vrai sinon Faux +clModele:m_clLieu.Charger(sReqSQL) +clModele:m_clLieu:m_clAdresse:Charger(sReqSQL) +clModele.m_bLieuPrincipalCli = nIdClient=-1 ? Faux sinon sReqSQL.CL_IDLieuPrincipal=sReqSQL. +CLI_IDLieu +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 5894 + +Partie 6 › Classe › PTableClient_Lieu › Code +PTableClient_Lieu +Code +Déclaration de PTableClient_Lieu +PTableClient_Lieu est une Classe +protégé +m_clTableauModele est un MTableauDeClient_Lieu dynamique +// modèle associé à la présentation +m_clModeleCourant est un MClient_Lieu dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeClient_Lieu dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MClient_Lieu +si m_clModeleCourant=Null alors +clModele est MClient_Lieu +renvoyer clModele +sinon +renvoyer m_clModeleCourant +fin +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MClient_Lieu dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +06/08/2026 Isis_BO 5895 + +Partie 6 › Classe › PTableClient_Lieu › Code +procédure publique p_nTotal() +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nIdClient est un entier sur 8 octets) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeClient_Lieu +clTableauModele.Charger(nIdClient) +// création de la nouvelle instance de présentation +clPresentation est un PTableClient_Lieu(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheClient_Lieu(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MClient_Lieu dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode ModifierFicheLieu +// Résumé : +// Syntaxe : +//[ = ] ModifierFicheLieu () +// +// Paramètres : +// Aucun +// Valeur de retour : +// PFicheLieu : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ModifierFicheLieu() +clFicheLieu est un PFicheLieu(m_clModeleCourant:m_clLieu,*) +renvoyer clFicheLieu +Méthode Nouveau +procédure Nouveau(local bLier est un booléen,local nIdLie est un entier sur 8 octets) +clModele est un MClient_Lieu() +clModele.m_bLiaison=bLier +clModele.m_nIDClient=nIdLie +clPresentationFiche est un PFicheClient_Lieu(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MClient_Lieu dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +Méthode Trie +06/08/2026 Isis_BO 5896 + +Partie 6 › Classe › PTableClient_Lieu › Code +// Résumé : +// Syntaxe : +//Trie () +// +// Paramètres : +// sMembresTrie : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Trie(sMembresTrie) +si sMembresTrie<>"" alors +TableauTrie(:m_clTabModele, ttMembre,sMembresTrie) +fin +06/08/2026 Isis_BO 5897 + +Partie 6 › Classe › MIntervention_Lot › Code +MIntervention_Lot +Code +Déclaration de MIntervention_Lot +MIntervention_Lot est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_nIDInterventionest un entier sur 8 octets +m_nIDLot est un entier sur 8 octets + +m_clLot est un MLot +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer "" +06/08/2026 Isis_BO 5898 + +Partie 6 › Classe › PFicheIntervention_Lot › Code +PFicheIntervention_Lot +Code +Déclaration de PFicheIntervention_Lot +PFicheIntervention_Lot est une Classe +protégé +m_clModeleCourant est un MIntervention_Lot // modèle associé à la présentation +m_clModeleSource est un MIntervention_Lot dynamique// référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURENREG +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURENREG : +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +06/08/2026 Isis_BO 5899 + +Partie 6 › Classe › PFicheIntervention_Lot › Code +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MIntervention_Lot dynamique, pValidation est une procédure=Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété FicheEnCours +procédure publique FicheEnCours() : MIntervention_Lot +renvoyer m_clModeleCourant +Affectation de la propriété FicheEnCours +procédure publique FicheEnCours(clValeur est MIntervention_Lot dynamique) +m_clModeleCourant=clValeur +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MIntervention_Lot +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MIntervention_Lot() +clPresentation est un PFicheIntervention_Lot(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 5900 + +Partie 6 › Classe › MTableauDeIntervention_Lot › Code +MTableauDeIntervention_Lot +Code +Déclaration de MTableauDeIntervention_Lot +MTableauDeIntervention_Lot est une Classe +public +m_clTabModele est un tableau de MIntervention_Lot dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MIntervention_Lot dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MIntervention_Lot dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger(local nIdIntervention est un entier sur 8 octets) +// +//// vide le tableau +//TableauSupprimeTout(m_clTabModele) +// +//// +//// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 5901 + +Partie 6 › Classe › MTableauDeIntervention_Lot › Code +//// +// +//// récupération des données +// +//ReqSQL est une requête SQL = [ +//SELECT Intervention_Lot.*,Lot.* +//FROM Intervention_Lot +//INNER JOIN Lot ON (Lot.LO_PKID=Intervention_Lot.IL_IDLot) +//WHERE Intervention_Lot.IL_IDIntervention={p_IdIntervention} +//] +//ReqSQL.p_IdIntervention = nIdIntervention=-1 ? Null SINON nIdIntervention +// +//// exécution de la requête +//si HExécuteRequête(ReqSQL) ALORS +// // charge les enregistrements en mémoire +// POUR TOUT ReqSQL +// clModele est un MIntervention_Lot +// clModele.Charger(ReqSQL) +// clModele.m_clLot.charger(ReqSQL) +// TableauAjoute(m_clTabModele,clModele) +// FIN +//FIN +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 5902 + +Partie 6 › Classe › PTableIntervention_Lot › Code +PTableIntervention_Lot +Code +Déclaration de PTableIntervention_Lot +PTableIntervention_Lot est une Classe +protégé +m_clTableauModele est un MTableauDeIntervention_Lot dynamique +// modèle associé à la présentation +m_clModeleCourant est un MIntervention_Lot dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeIntervention_Lot dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MIntervention_Lot +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MIntervention_Lot dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +06/08/2026 Isis_BO 5903 + +Partie 6 › Classe › PTableIntervention_Lot › Code +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier sur 8 octets,*) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeIntervention_Lot +//1 : Ensemble des interventions_lots d'une intervention +//2 : +//3 : +selon nMode +cas 1 : clTableauModele.Charger(MesParamètres[2 à]) +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableIntervention_Lot(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheIntervention_Lot(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MIntervention_Lot dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau() +clModele est un MIntervention_Lot() +clPresentationFiche est un PFicheIntervention_Lot(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MIntervention_Lot dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +06/08/2026 Isis_BO 5904 + +Partie 6 › Classe › PFicheRdv › Code +PFicheRdv +Code +Déclaration de PFicheRdv +PFicheRdv est une Classe +protégé +m_clModeleCourant est un MRdv // modèle associé à la présentation +m_clModeleSource est un MRdv dynamique// référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +m_clFicheDossier est un PFicheDossier dynamique +m_clFicheInterv est un PFicheIntervention dynamique +m_clFicheOccupant est un PFichePersonne dynamique +fin +Méthode AppelProcValidation +// Résumé : +// Syntaxe : +// AppelProcValidation () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AppelProcValidation() +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +DemandeMiseAJourIHM() +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURENREG +06/08/2026 Isis_BO 5905 + +Partie 6 › Classe › PFicheRdv › Code +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURENREG : +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Méthode CollaborateurActif +procédure CollaborateurActif() +bActif est un booléen = Vrai +pour tout oCol de :m_clListeCollabGroup +si pas oCol.m_bActif alors +bActif = Faux +fin +fin +renvoyer bActif +Constructeur +procédure Constructeur(clModele est un MRdv dynamique, pValidation est une procédure=Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété FicheDossier +06/08/2026 Isis_BO 5906 + +Partie 6 › Classe › PFicheRdv › Code +procédure publique FicheDossier() : PFicheDossier +renvoyer m_clFicheDossier +Affectation de la propriété FicheDossier +procédure publique FicheDossier(clValeur est PFicheDossier dynamique) +m_clFicheDossier=clValeur +Récupération de la propriété FicheIntervention +procédure publique FicheIntervention() : PFicheIntervention +renvoyer m_clFicheInterv +Affectation de la propriété FicheIntervention +procédure publique FicheIntervention(clValeur est PFicheIntervention dynamique) +m_clFicheInterv=clValeur +Récupération de la propriété FicheOccupant +procédure publique FicheOccupant() : PFichePersonne +renvoyer m_clFicheOccupant +Affectation de la propriété FicheOccupant +procédure publique FicheOccupant(clValeur est PFichePersonne dynamique) +m_clFicheOccupant=clValeur +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MRdv +renvoyer m_clModeleCourant +Méthode gFicheDossier +// Résumé : +// Syntaxe : +//gFicheDossier ( est PFicheRdv dynamique [, est PFicheDossier dynamique]) +// +// Paramètres : +// clFicheRdv (PFicheRdv dynamique) : +// clFicheDossier (PFicheDossier dynamique - valeur par défaut=0) : < +indiquez ici le rôle de clFicheDossier> +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// nIdClient (entier sur 8 octets - valeur par défaut=-1) : +// bAvecContact (booléen - valeur par défaut=0) : +// sNomClient (chaîne ANSI - valeur par défaut="") : +procédure publique globale gFicheDossier(clFicheRdv est un PFicheRdv dynamique,clFicheDossier est un +PFicheDossier dynamique=Null) +clTabDossier est un PTableDossier dynamique +06/08/2026 Isis_BO 5907 + +Partie 6 › Classe › PFicheRdv › Code +clTabDossier <- PTableDossier.gNouvellePresentation(0,clFicheRdv.m_nIDDossier) +si clTabDossier.p_nTotal>=1 alors +clFicheDossier = allouer un PFicheDossier(clTabDossier.m_clTabModele[1],*) +sinon +clFicheDossier = PFicheDossier.gNouvellePresentation() +fin +clFicheRdv:FicheDossier = clFicheDossier +Méthode gFicheIntervention +// Résumé : +// Syntaxe : +//gFicheIntervention ( est PFicheRdv dynamique [, est +PFicheIntervention dynamique [, est booléen]]) +// +// Paramètres : +// clFicheRdv (PFicheRdv dynamique) : +// clFicheIntervention (PFicheIntervention dynamique - valeur par défaut=0) : < +indiquez ici le rôle de pclFicheIntervention> +// bAvecSuiveur (booléen - valeur par défaut=0) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// bAvecSuiveur (booléen - valeur par défaut=0) : +procédure publique globale gFicheIntervention(clFicheRdv est un PFicheRdv dynamique,clFicheIntervention +est un PFicheIntervention dynamique=Null,local bAvecSuiveur est un booléen=Faux) +si clFicheIntervention<>Null alors +clFicheRdv:FicheIntervention = clFicheIntervention +si bAvecSuiveur _et_ clFicheIntervention.IdentifiantUnique>0 alors +PFicheIntervention.gFicheSuiveur(clFicheIntervention) +fin +sinon +clTabIntervention est un PTableIntervention dynamique +clTabIntervention <- PTableIntervention.gNouvellePresentation(0,clFicheRdv.m_nIDIntervention) +si clTabIntervention.p_nTotal>=1 alors +clFicheIntervention = allouer un PFicheIntervention(clTabIntervention.m_clTabModele[1],*) +sinon +clFicheIntervention = PFicheIntervention.gNouvellePresentation() +fin +si bAvecSuiveur _et_ clFicheIntervention.IdentifiantUnique>0 alors +PFicheIntervention.gFicheSuiveur(clFicheIntervention) +//Recherche du client +PFicheIntervention.gFicheClient(clFicheIntervention,*,clFicheIntervention:m_nIDClient) +//Recherche des contacts du clients +PFicheIntervention.gListeContactClient(clFicheIntervention) +06/08/2026 Isis_BO 5908 + +Partie 6 › Classe › PFicheRdv › Code +//Recherche des rendez-vous +PFicheIntervention.gListeRendezVous(clFicheIntervention) +//Recherche des historique d'états +PFicheIntervention.gListeHistoEtat(clFicheIntervention,Vrai) +//Recherche du lieu +PFicheIntervention.gFicheLieu(clFicheIntervention,*,clFicheIntervention:m_nIDLieu,Vrai,"",Faux) +//Recherche des contacts du lieu +PFicheIntervention.gListeContactLieu(clFicheIntervention) +//Recherche des documents +PFicheIntervention.gListeDocument(clFicheIntervention) +//Recherche des Messages Internes +PFicheIntervention.gListeMessageInterne(clFicheIntervention) +//Recherche des Temps saisis +PFicheIntervention.gListeSuiviDesTemps(clFicheIntervention) +//Recherche de la societe +PFicheIntervention.gFicheSociete(clFicheIntervention) +//Recherche des Messages Internes +PFicheIntervention.gListeMessageExterne(clFicheIntervention) +//Recherche des Actions +PFicheIntervention.gListeAction(clFicheIntervention) +//Recherche des Collaborateurs +PFicheIntervention.gListeCollaborateur(clFicheIntervention) +fin +clFicheRdv:FicheIntervention = clFicheIntervention +fin +Méthode gFicheOccupant +// Résumé : +// Syntaxe : +//gFicheOccupant ( est PFicheRdv dynamique [, est PFichePersonne +dynamique]) +// +// Paramètres : +// clFicheRdv (PFicheRdv dynamique) : +// clFicheOccupant (PFichePersonne dynamique - valeur par défaut=0) : < +indiquez ici le rôle de clFicheOccupant> +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure publique globale gFicheOccupant(clFicheRdv est un PFicheRdv dynamique,clFicheOccupant est un +PFichePersonne dynamique=Null) +clTabOccupant est un PTablePersonne dynamique +clTabOccupant <- PTablePersonne.gNouvellePresentation(0,-1,-1,clFicheRdv.m_nIDPersonne) +si clTabOccupant.p_nTotal>=1 alors +clFicheOccupant = allouer un PFichePersonne(clTabOccupant.m_clTabModele[1],*) +sinon +06/08/2026 Isis_BO 5909 + +Partie 6 › Classe › PFicheRdv › Code +clFicheOccupant = PFichePersonne.gNouvellePresentation() +fin +clFicheRdv:FicheOccupant = clFicheOccupant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MRdv() +clPresentation est un PFicheRdv(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 5910 + +Partie 6 › Classe › MRdv › Code +MRdv +Code +Déclaration de MRdv +MRdv est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +| m_nIDGroupe | est un entier sur 8 octets | | | | +| ----------- | -------------------------- | --- | --------------------- | --- | +m_nIDSociete est un entier sur 8 octets +| m_nIDEquipe | est un entier sur 8 octets | | | | +| ----------- | -------------------------- | --- | --------------------- | --- | +m_nIDCollaborateur est un entier sur 8 octets +m_nIDDossier est un entier sur 8 octets +m_nIDIntervention est un entier sur 8 octets +m_nIDTypeActivite est un entier sur 8 octets +| m_nIDStatut | est un entier sur 8 octets | | | | +| --------------- | -------------------------- | --- | ------------------------- | --- | +| m_sDescription | est une chaîne ANSI | | | | +| m_dhDateDebut | est une DateHeure | | | | +| m_dhDateFin | est une DateHeure | | | | +| m_bSuperposable | est un booléen | | | | +| m_bPrive | est un booléen | | | | +| m_bGrouper | est un booléen | | | | +| m_sObjet | est une chaîne ANSI | | | | +| m_sIDImport | est une chaîne | | | | +| m_nIDPersonne | est une chaîne | | | | +| m_nIDLieu | est une chaîne | | | | +| m_dhDateExport | est une DateHeure | | | | +| m_bSAV | est un booléen | | | | +m_nIDGroupeDate est un entier sur 8 octets +| m_bCR | est un booléen | | | | +| ----- | -------------- | --- | --------------- | --- | +m_nIDOrigineAnnul est un entier sur 8 octets +m_nIDMotifAnnul est un entier sur 8 octets +| m_bRappelSMS | est un booléen | | | | +| ------------ | -------------- | --- | ---------------------- | --- | + +| m_clTypeActivite | est un MParametreMetier | | | | +| -------------------- | -------------------------------------- | --- | --- | --- | +| m_clCollaborateur | est un MCollaborateur | | | | +| m_clListeCollabGroup | est un tableau local de MCollaborateur | | | | +| m_clPersonne | est un MPersonne | | | | +| m_clListePersonne | est un tableau local de MPersonne | | | | +m_clListeContactRdv est un tableau local de MPlanning_RDV_Personne +| m_clLieu | est un MLieu | | | | +| -------- | ------------ | --- | --- | --- | +m_clListeLieu est un tableau local de MLieu +| m_clIntervention | est un MIntervention | | | | +| ---------------- | -------------------- | --- | --- | --- | +DateRendezVous est une chaîne +| m_bOuvertureCollaborateur | est un booléen | | | | +| ------------------------- | -------------- | --- | --- | --- | +m_tbDateCR est un tableau de STDate_Sel +fin +Constructeur +procédure Constructeur() +si :m_nPKID = 0 alors +:m_dhDateExport = "" +| 06/08/2026 | | Isis_BO | | 5911 | +| ---------- | --- | ------- | --- | ---- | + +Partie 6 › Classe › MRdv › Code +fin +:m_bOuvertureCollaborateur = Faux +TableauSupprimeTout(:m_tbDateCR) +Destructeur +procédure Destructeur() +Récupération de la propriété AdresseLieu +procédure publique AdresseLieu() +sResultat est une chaîne +si m_clLieu <>Null ou m_sDescription<>"" alors +sResultat= m_clLieu.m_clAdresse.m_sPresentation +sResultat+=[RC]+m_sDescription +fin +renvoyer sResultat +Récupération de la propriété Collaborateur +procédure publique Collaborateur() +sResultat est une chaîne +nCpt est un entier +pour tout clCollab de :m_clListeCollabGroup +nCpt+=1 +si nCpt=1 alors +sResultat = clCollab:m_sNom+" "+clCollab:m_sPrenom +sinon +sResultat += RC+clCollab:m_sNom+" "+clCollab:m_sPrenom +fin +fin +renvoyer sResultat +Récupération de la propriété ContactSite +procédure publique ContactSite() +sResultat est une chaîne +//nCpt est un entier +pour tout clPersRdv de :m_clListeContactRdv +sResultat += [RC]+clPersRdv:m_clPersonne:CiviliteNomPrenom +// nCpt+=1 +// SI nCpt=1 ALORS +// sResultat = clPersonne:CiviliteNomPrenom +// SINON +// sResultat += RC+clPersonne:CiviliteNomPrenom +// FIN +fin +renvoyer sResultat +Récupération de la propriété DateRendezVous +procédure publique DateRendezVous() +sResultat est une chaîne +si DateValide(m_dhDateDebut..PartieDate) et DateValide(m_dhDateFin..PartieDate) alors +si m_dhDateDebut..PartieDate=m_dhDateFin..PartieDate alors +sResultat = DateVersChaîne(m_dhDateDebut..PartieDate,"JJ/MM/AA")+RC+HeureVersChaîne(m_dhDateDebut.. +06/08/2026 Isis_BO 5912 + +Partie 6 › Classe › MRdv › Code +PartieHeure,"HH:mm")+" - "+HeureVersChaîne(m_dhDateFin..PartieHeure,"HH:mm") +sinon +sResultat = "du "+ DateVersChaîne(m_dhDateDebut..PartieDate,"JJ/MM/AA")+" - "+HeureVersChaîne( +m_dhDateDebut..PartieHeure,"HH:mm")+RC+"au "+DateVersChaîne(m_dhDateFin..PartieDate,"JJ/MM/AA") ++" - "+HeureVersChaîne(m_dhDateFin..PartieHeure,"HH:mm") +fin +fin +renvoyer sResultat +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer m_sObjet +Récupération de la propriété p_CouleurFondRdv +procédure publique p_CouleurFondRdv() : entier +si gpclListeStatutRendezVous.RechercheEtDonneLibelleDepuisID(m_nIDStatut)="Fait" +renvoyer VertClair +sinon +renvoyer OrangeClair +fin +Récupération de la propriété saStatut +procédure publique saStatut() : chaîne ANSI +renvoyer gtaStatutRDV[:m_nIDStatut] +Affectation de la propriété saStatut +procédure publique saStatut(Valeur ) +Méthode NB_RDV +procédure NB_RDV() +dDateDebut est une DateHeure +dDateFin est une DateHeure +MaDurée est une Durée +nNbRdvs est un entier +si :m_nIDGroupeDate > 0 alors +(dDateDebut,dDateFin) = DateDebutFinRDVGroupe(:m_nIDGroupeDate) +MaDurée = dDateFin..PartieDate - dDateDebut..PartieDate +nNbRdvs = PartieEntière(MaDurée..EnJours) +si pas nNbRdvs > 0 alors +nNbRdvs = 0 +fin +sinon +nNbRdvs = 0 +06/08/2026 Isis_BO 5913 + +Partie 6 › Classe › MRdv › Code +fin +renvoyer nNbRdvs +| 06/08/2026 | Isis_BO | 5914 | +| ---------- | ------- | ---- | + +Partie 6 › Classe › MTableauDeRDV › Code +MTableauDeRDV +Code +Déclaration de MTableauDeRDV +MTableauDeRDV est une Classe +public +m_clTabModele est un tableau de MRdv dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MRdv dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MRdv dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger(local nIDRdv est une entier sur 8 octets=-1,local nIDGroupe est une entier sur 8 +octets=-1,local nIDCollab est une entier sur 8 octets=-1) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +06/08/2026 Isis_BO 5915 + +Partie 6 › Classe › MTableauDeRDV › Code +// chargement à personnaliser selon votre contexte +// +// récupération des données +sReqSQL est une Requête SQL = +[ +SELECT Planning_RDV.*, ParametreMetier.*,Collaborateur.*,Personne.*,Lieu.*,Adresse.*,Intervention.* +FROM Planning_RDV +LEFT OUTER JOIN ParametreMetier ON (ParametreMetier.PA_PKID=Planning_RDV.PL_IDTypeActivite) +INNER JOIN Collaborateur ON (Collaborateur.CO_PKID=Planning_RDV.PL_IDCollaborateur) +LEFT OUTER JOIN Personne ON (Personne.PE_PKID=Planning_RDV.PL_IDPersonne) +LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Planning_RDV.PL_IDLieu) +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +LEFT OUTER JOIN Intervention ON (Intervention.IN_PKID=Planning_RDV.PL_IDIntervention) +WHERE Planning_RDV.PL_PKID= {P_IDRdv} AND Planning_RDV.Archive=0 AND Planning_RDV.PL_IDGroupe= +{P_IDGroupe} AND Planning_RDV.PL_IDCollaborateur= {P_IDCollab} AND Collaborateur.CO_AuPlanning=1 +] +sReqSQL.P_IDRdv = nIDRdv=-1 ? Null sinon nIDRdv +sReqSQL.P_IDGroupe = nIDGroupe=-1 ? Null sinon nIDGroupe +sReqSQL.P_IDCollab = nIDCollab=-1 ? Null sinon nIDCollab +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +clModele est un MRdv +clModele.Charger(sReqSQL) +clModele:m_clTypeActivite:Charger(sReqSQL) +clModele:m_clCollaborateur:Charger(sReqSQL) +clModele:m_clLieu:Charger(sReqSQL) +clModele:m_cllieu:m_clAdresse.charger(sReqSQL) +clModele:m_clIntervention.Charger(sReqSQL) +TableauAjoute(m_clTabModele,clModele) +clUnePersonne est un MPersonne +clUnePersonne.Charger(sReqSQL) +TableauAjoute(m_clTabModele[m_clTabModele..Occurrence]:m_clListePersonne,clUnePersonne) +clUnLieu est un MLieu +clUnLieu.Charger(sReqSQL) +clUnLieu:m_clAdresse.Charger(sReqSQL) +TableauAjoute(m_clTabModele[m_clTabModele..Occurrence]:m_clListeLieu,clUnLieu) +fin +fin +HAnnuleDéclaration(sReqSQL) +Méthode Charger_RDV_Attente +// Résumé : +// Syntaxe : +//Charger_RDV_Attente ( [ est entier sur 8 octets [, est entier sur 8 octets [, + est entier sur 8 octets [, est date [, est date]]]]]) +// +// Paramètres : +// nIDRdv (entier sur 8 octets - valeur par défaut=-1) : +// nIDGroupe (entier sur 8 octets - valeur par défaut=-1) : +// nIDCollab (entier sur 8 octets - valeur par défaut=-1) : +// sDateInf (date - valeur par défaut="") : +// sDateSup (date - valeur par défaut="") : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Charger_RDV_Attente(local nIDRdv est une entier sur 8 octets=-1,local nIDGroupe est une +06/08/2026 Isis_BO 5916 + +Partie 6 › Classe › MTableauDeRDV › Code +entier sur 8 octets=-1,local nIDCollab est une entier sur 8 octets=-1,local sDateInf est une Date="", +local sDateSup est une Date="") +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +sReqSQL est une Requête SQL = +[ +SELECT Planning_RDV.*, ParametreMetier.*,Collaborateur.*,Personne.*,Lieu.*,Adresse.* +FROM Planning_RDV +LEFT OUTER JOIN ParametreMetier ON (ParametreMetier.PA_PKID=Planning_RDV.PL_IDTypeActivite) +INNER JOIN Collaborateur ON (Collaborateur.CO_PKID=Planning_RDV.PL_IDCollaborateur) +LEFT OUTER JOIN Personne ON (Personne.PE_PKID=Planning_RDV.PL_IDPersonne) +LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Planning_RDV.PL_IDLieu) +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +WHERE Planning_RDV.PL_PKID= {P_IDRdv} AND Planning_RDV.PL_IDGroupe= {P_IDGroupe} AND Planning_RDV. +PL_IDCollaborateur= {P_IDCollab} AND (Planning_RDV.PL_DateDebut BETWEEN {P_DateInf} AND {P_DateSup} +) +] +sReqSQL.P_IDRdv = nIDRdv=-1 ? Null sinon nIDRdv +sReqSQL.P_IDGroupe = nIDGroupe=-1 ? Null sinon nIDGroupe +sReqSQL.P_IDCollab = nIDCollab=-1 ? Null sinon nIDCollab +sReqSQL.P_DateInf= sDateInf="" ? Null sinon sDateInf +sReqSQL.P_DateSup= sDateSup="" ? Null sinon sDateSup +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +clModele est un MRdv +clModele.Charger(sReqSQL) +clModele:m_clTypeActivite:Charger(sReqSQL) +clModele:m_clCollaborateur:Charger(sReqSQL) +clModele:m_clLieu:Charger(sReqSQL) +clModele:m_clLieu:m_clAdresse.Charger(sReqSQL) +TableauAjoute(m_clTabModele,clModele) +clUnePersonne est un MPersonne +clUnePersonne.Charger(sReqSQL) +TableauAjoute(m_clTabModele[m_clTabModele..Occurrence]:m_clListePersonne,clUnePersonne) +clUnLieu est un MLieu +clUnLieu.Charger(sReqSQL) +clUnLieu:m_clAdresse.Charger(sReqSQL) +TableauAjoute(m_clTabModele[m_clTabModele..Occurrence]:m_clListeLieu,clUnLieu) +fin +fin +HAnnuleDéclaration(sReqSQL) +Méthode ChargerRDVavecCollabInactif +// Résumé : +// Syntaxe : +//ChargerRDVavecCollabInactif ( [ est entier sur 8 octets [, est entier sur 8 +octets [, est chaîne [, est date [, est date]]]]]) +// +// Paramètres : +// nIDRdv (entier sur 8 octets - valeur par défaut=-1) : +// nIDGroupe (entier sur 8 octets - valeur par défaut=-1) : +06/08/2026 Isis_BO 5917 + +Partie 6 › Classe › MTableauDeRDV › Code +// sIDCollab (chaîne ANSI - valeur par défaut="") : +// sDateInf (date - valeur par défaut="") : +// sDateSup (date - valeur par défaut="") : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargerRDVavecCollabInactif(local nIDRdv est une entier sur 8 octets=-1,local nIDGroupe est +une entier sur 8 octets=-1,local sIDCollab est un chaîne="",local sDateInf est une Date="", local +sDateSup est une Date="",local nIDNonPlan est une entier sur 8 octets=-1) +nIDStatutNonPlan est un entier sur 8 octets = gpclListeStatutRendezVous.RechercheEtDonneIdDepuisValeur( +99) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +sReqSQL est une Requête SQL = +[ +SELECT Planning_RDV.*, ParametreMetier.*,Collaborateur.*,Personne.*,Lieu.*,Adresse.* +FROM Planning_RDV +LEFT OUTER JOIN ParametreMetier ON (ParametreMetier.PA_PKID=Planning_RDV.PL_IDTypeActivite) +INNER JOIN Collaborateur ON (Collaborateur.CO_PKID=Planning_RDV.PL_IDCollaborateur) +LEFT OUTER JOIN Personne ON (Personne.PE_PKID=Planning_RDV.PL_IDPersonne) +LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Planning_RDV.PL_IDLieu) +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +WHERE Planning_RDV.PL_PKID= {P_IDRdv} +AND Planning_RDV.Archive=0 +AND Planning_RDV.PL_IDGroupe= {P_IDGroupe} +AND Planning_RDV.PL_IDCollaborateur IN ({P_IDCollab}) +AND (Planning_RDV.PL_DateDebut BETWEEN {P_DateInf} AND {P_DateSup}) +AND Planning_RDV.PL_IDStatut<>{p_nIDNonPlanifie} +] +sReqSQL.P_IDRdv = nIDRdv=-1 ? Null sinon nIDRdv +sReqSQL.P_IDGroupe = nIDGroupe=-1 ? Null sinon nIDGroupe +sReqSQL.P_IDCollab = sIDCollab="" ? Null sinon sIDCollab +sReqSQL.P_DateInf= sDateInf="" ? Null sinon sDateInf +sReqSQL.P_DatesUP= sDateSup="" ? Null sinon sDateSup +sReqSQL.p_nIDNonPlanifie = nIDNonPlan=nIDStatutNonPlan ? Null sinon nIDStatutNonPlan +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +clModele est un MRdv +clModele.Charger(sReqSQL) +clModele:m_clTypeActivite:Charger(sReqSQL) +clModele:m_clCollaborateur:Charger(sReqSQL) +clModele:m_clLieu:Charger(sReqSQL) +clModele:m_clLieu:m_clAdresse.Charger(sReqSQL) +TableauAjoute(m_clTabModele,clModele) +clUnePersonne est un MPersonne +clUnePersonne.Charger(sReqSQL) +TableauAjoute(m_clTabModele[m_clTabModele..Occurrence]:m_clListePersonne,clUnePersonne) +clUnLieu est un MLieu +clUnLieu.Charger(sReqSQL) +clUnLieu:m_clAdresse.Charger(sReqSQL) +TableauAjoute(m_clTabModele[m_clTabModele..Occurrence]:m_clListeLieu,clUnLieu) +fin +fin +06/08/2026 Isis_BO 5918 + +Partie 6 › Classe › MTableauDeRDV › Code +HAnnuleDéclaration(sReqSQL) +Méthode ChargerRdvIntervention +procédure ChargerRdvIntervention(local nIDIntervention est une entier sur 8 octets) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +sReqSQL est une Requête SQL = +[ +SELECT Planning_RDV.*,Collaborateur.*,Personne.*,Lieu.*,Adresse.* +FROM Planning_RDV +INNER JOIN Collaborateur ON (Collaborateur.CO_PKID=Planning_RDV.PL_IDCollaborateur) +LEFT OUTER JOIN Personne ON (Personne.PE_PKID=Planning_RDV.PL_IDPersonne) +LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Planning_RDV.PL_IDLieu) +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +WHERE Planning_RDV.PL_IDIntervention={p_IdIntervention} +AND Planning_RDV.Archive=0 +ORDER BY PL_DateDebut DESC,PL_IDGroupe,Collaborateur.CO_Nom +] +sReqSQL.p_IdIntervention = nIDIntervention=0 ? -1 sinon nIDIntervention +nIDRuptGroupe est un entier sur 8 octets +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +nIDRuptGroupe = 0 +// charge les enregistrements en mémoire +pour tout sReqSQL +clModele est un MRdv +clModele.Charger(sReqSQL) +si DateValide(clModele.m_dhDateDebut..PartieDate) et DateValide(clModele.m_dhDatefin.. +PartieDate) alors +clModele:m_clLieu:Charger(sReqSQL) +clModele:m_clLieu:m_clAdresse.Charger(sReqSQL) +si nIDRuptGroupe<>clModele.m_nIDGroupe _ou_ nIDRuptGroupe=0 alors +nIDRuptGroupe=clModele.m_nIDGroupe +TableauAjoute(m_clTabModele,clModele) +fin +clUnCollab est un MCollaborateur +clUnCollab.Charger(sReqSQL) +TableauAjoute(m_clTabModele[m_clTabModele..Occurrence]:m_clListeCollabGroup,clUnCollab) +clUnePersonne est un MPersonne +clUnePersonne.Charger(sReqSQL) +TableauAjoute(m_clTabModele[m_clTabModele..Occurrence]:m_clListePersonne,clUnePersonne) +clUnLieu est un MLieu +clUnLieu.Charger(sReqSQL) +clUnLieu:m_clAdresse.Charger(sReqSQL) +TableauAjoute(m_clTabModele[m_clTabModele..Occurrence]:m_clListeLieu,clUnLieu) +fin +fin +fin +HAnnuleDéclaration(sReqSQL) +Constructeur +procédure Constructeur() +Destructeur +06/08/2026 Isis_BO 5919 + +Partie 6 › Classe › MTableauDeRDV › Code +procédure Destructeur() +| 06/08/2026 | Isis_BO | 5920 | +| ---------- | ------- | ---- | + +Partie 6 › Classe › PTableRDV › Code +PTableRDV +Code +Déclaration de PTableRDV +PTableRDV est une Classe +protégé +m_clTableauModele est un MTableauDeRDV dynamique // modèle associé à la présentation +m_clModeleCourant est un MRdv dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeRDV dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MRdv +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MRdv dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +06/08/2026 Isis_BO 5921 + +Partie 6 › Classe › PTableRDV › Code +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier,*) +//local nIDRdv est un entier sur 8 octets,LOCAL nIDGroupe est un entier sur 8 octets,LOCAL nIDCollab +est un entier sur 8 octets, +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeRDV +selon nMode +cas 0 : clTableauModele.Charger(MesParamètres[2 à 4]) +cas 1 : clTableauModele.ChargerRdvIntervention(MesParamètres[2à]) +cas 2 : clTableauModele.Charger_RDV_Attente(MesParamètres[2 à 4]) +cas 3 : clTableauModele.ChargerRDVavecCollabInactif(MesParamètres[2 à 7]) +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableRDV(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +// La fenêtre Fiche PFichePL_RDV n'existe pas. +// La méthode est en commentaire pour ne pas générer une erreur de compilation. +// Décommentez la méthode si vous créez la fiche PFichePL_RDV. +// +clPresentationFiche est un PFicheRdv(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MRdv dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau() +// La fenêtre Fiche PFichePL_RDV n'existe pas. +// La méthode est en commentaire pour ne pas générer une erreur de compilation. +// Décommentez la méthode si vous créez la fiche PFichePL_RDV. +clModele est un MRdv() +clPresentationFiche est un PFicheRdv(clModele,ApresAjout) +clPresentationFiche.m_dhDateExport = "" +procédure interne ApresAjout(pclModele est un MRdv dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +Méthode RdvCourantPKID +// Résumé : +// Syntaxe : +//RdvCourantPKID () +// +// Paramètres : +// nID : +// Valeur de retour : +06/08/2026 Isis_BO 5922 + +Partie 6 › Classe › PTableRDV › Code +// Aucune +// +// Exemple : +// +// +procédure RdvCourantPKID(nID) +pour tout pclRDV de :m_clTableauModele:m_clTabModele +si pclRDV:m_nPKID = nID alors +:m_clModeleCourant<-pclRDV +retour +fin +fin +:m_clModeleCourant=Null +Méthode Trie +// Résumé : +// Syntaxe : +//Trie () +// +// Paramètres : +// sMembresTrie : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Trie(sMembresTrie) +si sMembresTrie<>"" alors +TableauTrie(:m_clTabModele, ttMembre,sMembresTrie) +fin +06/08/2026 Isis_BO 5923 + +Partie 6 › Classe › MEtatIntervention › Code +MEtatIntervention +Code +Déclaration de MEtatIntervention +MEtatIntervention est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_nIDEtat est un entier sur 8 octets +m_dhDateDebut est une DateHeure +m_dhDateFin est une DateHeure +m_sDescription est une chaîne ANSI +m_nIDInterventionest un entier sur 8 octets + +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer "" +06/08/2026 Isis_BO 5924 + +Partie 6 › Classe › PFicheEtatIntervention › Code +PFicheEtatIntervention +Code +Déclaration de PFicheEtatIntervention +PFicheEtatIntervention est une Classe +protégé +m_clModeleCourant est un MEtatIntervention // modèle associé à la présentation +m_clModeleSource est un MEtatIntervention dynamique// référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +fin +Méthode AppelProcValidation +// Résumé : +// Syntaxe : +//AppelProcValidation ( est entier) +// +// Paramètres : +// nMode (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AppelProcValidation(local nMode est un entier) +// si il y a une procédure de validation +si m_pValidation<>Null alors +selon nMode +cas 1 : m_pValidation(m_clModeleSource) +cas 2 : m_pValidation(m_clModeleCourant) +fin +m_pValidation = Null +DemandeMiseAJourIHM() +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +06/08/2026 Isis_BO 5925 + +Partie 6 › Classe › PFicheEtatIntervention › Code +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURENREG +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURENREG : +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MEtatIntervention dynamique, pValidation est une procédure=Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MEtatIntervention +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MEtatIntervention() +06/08/2026 Isis_BO 5926 + +Partie 6 › Classe › PFicheEtatIntervention › Code +clPresentation est un PFicheEtatIntervention(clModele,pValidation) +renvoyer clPresentation +| 06/08/2026 | Isis_BO | 5927 | +| ---------- | ------- | ---- | + +Partie 6 › Classe › MTableauDeEtatIntervention › Code +MTableauDeEtatIntervention +Code +Déclaration de MTableauDeEtatIntervention +MTableauDeEtatIntervention est une Classe +public +m_clTabModele est un tableau de MEtatIntervention dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MEtatIntervention dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MEtatIntervention dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger() +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 5928 + +Partie 6 › Classe › MTableauDeEtatIntervention › Code +// +// récupération des données +sdSource est une Source de Données +sReqSQL est une chaîne = [ +SELECT * +FROM EtatIntervention +] +// exécution de la requête +si HExécuteRequêteSQL(sdSource,sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sdSource +clModele est un MEtatIntervention +clModele.Charger(sdSource) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerHistoIntervention +procédure ChargerHistoIntervention(local nIDIntervention est un entier sur 8 octets) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +ReqSQL est une Requête SQL = +[ +SELECT * +FROM EtatIntervention +WHERE EtatIntervention.EI_IDIntervention={p_IDIntervention} +ORDER BY EtatIntervention.EI_DateDebut +] +ReqSQL.p_IDIntervention = nIDIntervention +// exécution de la requête +si HExécuteRequête(ReqSQL) alors +// charge les enregistrements en mémoire +pour tout ReqSQL +clModele est un MEtatIntervention +clModele.Charger(ReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 5929 + +Partie 6 › Classe › PTableEtatIntervention › Code +PTableEtatIntervention +Code +Déclaration de PTableEtatIntervention +PTableEtatIntervention est une Classe +protégé +m_clTableauModele est un MTableauDeEtatIntervention dynamique +// modèle associé à la présentation +m_clModeleCourant est un MEtatIntervention dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeEtatIntervention dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MEtatIntervention +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MEtatIntervention dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +06/08/2026 Isis_BO 5930 + +Partie 6 › Classe › PTableEtatIntervention › Code +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier,*) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeEtatIntervention +selon nMode +cas 0 : clTableauModele.Charger() +cas 1 : clTableauModele.ChargerHistoIntervention(MesParamètres[2à]) +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableEtatIntervention(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheEtatIntervention(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MEtatIntervention dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau() +clModele est un MEtatIntervention() +clPresentationFiche est un PFicheEtatIntervention(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MEtatIntervention dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +Méthode Trie +// Résumé : +// Syntaxe : +//Trie () +// +// Paramètres : +// sMembresTrie : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Trie(sMembresTrie) +si sMembresTrie<>"" alors +TableauTrie(:m_clTabModele, ttMembre,sMembresTrie) +06/08/2026 Isis_BO 5931 + +Partie 6 › Classe › PTableEtatIntervention › Code +fin +| 06/08/2026 | Isis_BO | 5932 | +| ---------- | ------- | ---- | + +Partie 6 › Classe › MDocument › Code +MDocument +Code +Déclaration de MDocument +MDocument est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_nIDInterventionest un entier sur 8 octets +| m_sNom | est une chaîne ANSI | | | | +| ------ | ------------------- | --- | ---------------- | --- | +m_nIDCategorie est un entier sur 8 octets +| m_sCommentaire | est une chaîne | | | | +| -------------- | -------------- | ------------------------ | ------------------------ | --- | +| m_dDateFichier | est une Date | | | | +m_nIDMessageExterne est un entier sur 8 octets +m_nIDEtatDocumentest un entier sur 8 octets +| m_sHeriteDroit | est une chaîne | | | | +| -------------- | -------------- | ------------------- | ------------------------ | --- | +| m_sChemin | est une chaîne | | | | + +//************************************************************************************************* +************* +// Membres NON liés aux rubriques du fichier MParametreMetier +//************************************************************************************************* +************* +// VARIABLE DE TYPE SIMPLE +| m_bSelection | est un booléen | | | | +| ------------ | -------------- | --- | --- | --- | +m_nSuivi est un entier=-1 // -1: Non présent ; 0: Normal ;1=Vient d'être ajouté +| m_clClient | est un MClient | | | | +| ---------------- | -------------- | --- | --- | --- | +| m_sCheminFichier | est une chaîne | | | | +ImageEtatDocumentest une chaîne +| m_clListeNote | est un tableau de MDocumentNote | | | | +| ----------------- | ------------------------------- | --- | --- | --- | +| // m_ImagePrevisu | est une Image | | | | +| sRep_Racine | est une chaîne | | | | +| sFormat_RepDoc | est une chaîne | | | | +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété ImageEtatDocument +procédure publique ImageEtatDocument() +selon :m_nIDEtatDocument +| 06/08/2026 | | Isis_BO | | 5933 | +| ---------- | --- | ------- | --- | ---- | + +Partie 6 › Classe › MDocument › Code +cas gpclListeEtatDocument.RechercheEtDonneIdDepuisValeur("0") +renvoyer "interdit.png" +cas gpclListeEtatDocument.RechercheEtDonneIdDepuisValeur("2") +renvoyer "charger.png" +autre cas +renvoyer "ok.png" +fin +//SI gpclListeEtatDocument:RechercheEtDonneLibelleDepuisID(:m_nIDEtatDocument)="Absent" ALORS +// RENVOYER "interdit.png" +//sinon SI gpclListeEtatDocument:RechercheEtDonneLibelleDepuisID(:m_nIDEtatDocument)="Présent" ALORS +// RENVOYER "ok.png" +//SINON +// RENVOYER "charger.png" +//FIN +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer m_sNom +Récupération de la propriété ListeCommentaire +procédure publique ListeCommentaire() +sResultat est une chaîne +tabDocNote est un tableau de MDocumentNote = ListeDocNote +pour i = 1 _à_ tabDocNote..Occurrence +si gProcDonneCollabUser<>Null alors +sResultat += [RC]+ChaîneConstruit("%1 (%2)",tabDocNote[i]:m_sDN_Note, gProcDonneCollabUser( +tabDocNote[i]:m_nCreationUser)) +//+", "+DateVersChaîne(tabDocNote[i]:m_dhCreationDate,"le JJ/MM/AA à HH:mm ") +sinon +sResultat += [RC]+ChaîneConstruit("%1",tabDocNote[i]:m_sDN_Note) +//, DateVersChaîne(tabDocNote[i]:m_dhCreationDate,"le JJ/MM/AA à HH:mm ")+ +fin +fin +renvoyer sResultat +Récupération de la propriété ListeDocNote +procédure publique ListeDocNote() +si m_clListeNote..Occurrence=0 alors +HLitRecherchePremier(DocumentNote,DN_IDDocument,m_nPKID) +tantque HTrouve(DocumentNote) = Vrai +clDocNote est MDocumentNote +WL.FichierVersMémoire(clDocNote,DocumentNote) +TableauAjoute(m_clListeNote,clDocNote) +HLitSuivant(DocumentNote) +fin +fin +renvoyer m_clListeNote +06/08/2026 Isis_BO 5934 + +Partie 6 › Classe › PFicheDocument › Code +PFicheDocument +Code +Déclaration de PFicheDocument +PFicheDocument est une Classe +protégé +m_clModeleCourant est un MDocument// modèle associé à la présentation +m_clModeleSource est un MDocument dynamique// référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure // procédure à appeler lors de la validation +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURENREG +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURENREG : +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +06/08/2026 Isis_BO 5935 + +Partie 6 › Classe › PFicheDocument › Code +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MDocument dynamique, pValidation est une procédure=Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MDocument +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MDocument() +clPresentation est un PFicheDocument(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 5936 + +Partie 6 › Classe › MTableauDeDocument › Code +MTableauDeDocument +Code +Déclaration de MTableauDeDocument +MTableauDeDocument est une Classe +public +m_clTabModele est un tableau de MDocument dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MDocument dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MDocument dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode ChargeDocumentSimple +procédure ChargeDocumentSimple(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +//sListeFichiers est une chaîne ANSI +// +06/08/2026 Isis_BO 5937 + +Partie 6 › Classe › MTableauDeDocument › Code +// chargement à personnaliser selon votre contexte +// +sReqSQL est une Requête SQL = +[ +SELECT DISTINCT Document.*,Client.*,Lieu.*,Dossier.*,Intervention.*,PA1.* +FROM Intervention +LEFT OUTER JOIN Client ON (Client.CL_PKID=Intervention.IN_IDClient) +LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Intervention.IN_IDLieu) +INNER JOIN Dossier ON (Dossier.DO_PKID=Intervention.IN_IDDossier) +INNER JOIN Document ON (Intervention.IN_PKID=Document.DC_IDIntervention) +INNER JOIN ParametreMetier AS PA1 ON (PA1.PA_PKID=Document.DC_Categorie) +LEFT OUTER JOIN ParametreMetier AS PA2 ON (PA2.PA_CleLiaison = PA1.PA_Code+','+PA1.PA_Valeur) +WHERE Intervention.IN_PKID={P_IDIntervention} +AND PA1.PA_Valeur<>'4' +AND EXISTS (SELECT 1 FROM AccesEtDroit WHERE PA2.PA_PKID=AccesEtDroit.AED_IDModule AND AED_Acces=1 +AND AED_IDProfil={p_IDProfil}) +ORDER BY Document.ModifDate ASC +] +sReqSQL.P_IDIntervention = MesParamètres..Occurrence>=1 ? MesParamètres[1]=-1 ? Null sinon +MesParamètres[1] sinon Null +sReqSQL.p_IDProfil = MesParamètres..Occurrence>=2 ? MesParamètres[2]=-1 ? Null sinon +MesParamètres[2] sinon Null +// exécution de la requête +si HExécuteRequête(sReqSQL,hRequêteSansCorrectionHF) alors +sRepRacine est une chaîne = DonneRepertoireRacine() +sFormatRepDoc est une chaîne = DonneFormatRepertoireDoc() +tabRep est un tableau de Rep +DecodeRepertoire(sFormatRepDoc,tabRep) +si fRépertoireExiste(sRepRacine) alors +// charge les enregistrements en mémoire +//sListeFichiers = fListeFichier(sRepRacine) +//sListeFichiers = fListeRépertoire(sRepRacine) +pour tout sReqSQL +clModele est un MDocument +//clErreur est un CErreur +nIDEtatDoc est un entier sur 8 octets +stDroitCateg est un STParamCategDoc +sParametreJSON est une chaîne +//Chargement des données du document +clModele.Charger(sReqSQL) +clModele.sFormat_RepDoc = sFormatRepDoc +clModele.sRep_Racine = sRepRacine +//Chargement des données du client dans le sous objet +clModele:m_clClient:Charger(sReqSQL) +//Stockage de l'etat du document pour comparaison +nIDEtatDoc = clModele:m_nIDEtatDocument +// Réupération du paramétrage des droits de la catégorie +sParametreJSON = gpclListeCategorieDocument.RechercheEtDonneParametreDepuisId(clModele. +m_nIDCategorie) +si sParametreJSON<>"" alors +Désérialise(stDroitCateg,sParametreJSON,psdJSON) +clModele.m_sHeriteDroit = stDroitCateg.sCodeDroit +fin +//Recherche et construction du chemin du document +//sCheminFichiers = +// clModele.m_sCheminFichier += +ComplèteRep(DonneRepertoireDocument(4,Null,sReqSQL,0,tabRep,sRepRacine,sFormatRepDoc))+clM +odele.m_sNom +06/08/2026 Isis_BO 5938 + +Partie 6 › Classe › MTableauDeDocument › Code +//// Change l'état du document si la localisation a changé +// clModele:m_nIDEtatDocument += fFichierExiste(clModele.m_sCheminFichier) ? +gpclListeEtatDocument.RechercheEtDonneIdDepuisValeur("1") SINON +gpclListeEtatDocument.RechercheEtDonneIdDepuisValeur("0") +// +clModele.m_sCheminFichier = "" +//Change l'état du document si la localisation a changé +clModele:m_nIDEtatDocument = gpclListeEtatDocument.RechercheEtDonneIdDepuisValeur("2") +//Ajoute le document à la liste +TableauAjoute(m_clTabModele,clModele) +//Si l'état du document à changer => Enregistre le changement +// +SI nIDEtatDoc<>clModele:m_nIDEtatDocument _et_ clModele:bEnregistrer(clErreur) ALORS +// +// +// FIN +DemandeMiseAJourUIParent() +fin +fin +fin +TableauTrie(m_clTabModele,ttMembre,"m_dhModifDate") +Méthode Charger +procédure Charger() +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +sdSource est une Source de Données +sReqSQL est une chaîne = [ +SELECT * +FROM Document +] +// exécution de la requête +si HExécuteRequêteSQL(sdSource,sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sdSource +clModele est un MDocument +clModele.Charger(sdSource) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerDocumentIntervention +// Résumé : +// Syntaxe : +//ChargerDocumentIntervention ( est entier sur 8 octets) +// +06/08/2026 Isis_BO 5939 + +Partie 6 › Classe › MTableauDeDocument › Code +// Paramètres : +// nIdIntervention (entier sur 8 octets) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargerDocumentIntervention(local nIdIntervention est un entier sur 8 octets) +sRepRacine est une chaîne +sNomRepertoireInterv est une chaîne +sNomRepertoireClient est une chaîne +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +sReqSQL est une Requête SQL = +[ +SELECT Document.*,Client.*,Lieu.*,Intervention.IN_PKID,Adresse.* +FROM Intervention +LEFT OUTER JOIN Client ON (Client.CL_PKID=Intervention.IN_IDClient) +LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Intervention.IN_IDLieu) +INNER JOIN Document ON (Intervention.IN_PKID=Document.DC_IDIntervention) +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +WHERE Intervention.IN_PKID={P_IDIntervention} +ORDER BY Document.ModifDate ASC +] +sReqSQL.P_IDIntervention= nIdIntervention=-1 ? Null sinon nIdIntervention +sRepRacine = DonneRepertoireRacine() +sNomRepertoireInterv = DonneRepertoireIntervention(nIdIntervention) +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +// SI m_clTabModele..Occurrence=0 _ou_ sNomRepertoireClient = "" ALORS +// sNomRepertoireClient =DonneRepertoireClient(sReqSQL.CL_Nom,sReqSQL.CL_PKID) +// FIN +//unEnreg est un Enregistrement = sReqSQL +clModele est un MDocument +clModele.Charger(sReqSQL) +clModele.m_sCheminFichier = ComplèteRep(sRepRacine+sNomRepertoireClient+ +sNomRepertoireInterv)+clModele.m_sNom +//DonneRepertoireDocument(2,Null,sReqSQL)+clModele.m_sNom// +//clModele.m_ImagePrevisu += Majuscule(fExtraitChemin(clModele.m_sCheminFichier,fExtension)[[2A]]) DANS +("BMP","JPG","JPEG","GIF", "PCD", "PCX", "PNG", "PSD", "TGA", +"TIF","TIFF","EMF","WMF","ICO","ICW","CUR","PDF") ? clModele.m_sCheminFichier SINON " +fichier.png" +clModele:m_clClient:Charger(sReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +sListeFichier est une chaîne +si sRepRacine<>"" alors +sCheminFichiers est une chaîne +06/08/2026 Isis_BO 5940 + +Partie 6 › Classe › MTableauDeDocument › Code +si sNomRepertoireClient<>"" _et_ sNomRepertoireInterv<>"" alors +//HListeRubrique(sReqSQL) +sCheminFichiers = ComplèteRep(sRepRacine+sNomRepertoireClient+sNomRepertoireInterv) +// Le parcours se fait également dans les sous-répertoires et est interruptible. +// + TAB + + TAB + + +TAB + +// R : Fichier en lecture seule. Le fichier est uniquement accessible en +lecture. +// H : Fichier caché. Le nom du fichier est généralement grisé ou +invisible dans l'explorateur. +// S : Fichier système. Le fichier est un fichier système Windows. +// A : Fichier "archive". Cet attribut indique que le fichier peut être +archivé. Certains programmes se servent de cet attribut pour savoir quels fichiers ont été +sauvegardés. +// D : Répertoire ou sous-répertoire. Le fichier est un répertoire ou un +sous-répertoire. +// C : Fichier compressé (sur les partitions NTFS). Le fichier a été +automatiquement compressé lors de sa copie sur une partition NTFS (Windows NT ou 2000). +si fRepExiste(sCheminFichiers) alors +sListeFichier = fListeFichier(sCheminFichiers+ "*.*", frInformationComplète+ +frInterruptible+frSansFichierCaché+frNonRécursif) +// Pour chaque fichier trouvé +pour toute chaîne UnFichier de sListeFichier séparée par RC +nIndice est un entier = TableauCherche(m_clTabModele,tcLinéaire,"m_sNom", +fExtraitChemin(ExtraitChaîne(UnFichier,1,TAB),fFichier+fExtension),1) +si nIndice>0 alors +m_clTabModele[nIndice]:m_nSuivi = 0 +//m_clTabModele[nIndice]:m_dhModifDate = +ChaîneVersDate(ExtraitChaîne(UnFichier,3,TAB),"AAAAMMJJHHMMSS") +sinon +clErreur est un CErreur +clModele est un MDocument +clModele.m_nSuivi = 1 +//clModele.m_dhModifDate = +ChaîneVersDate(ExtraitChaîne(UnFichier,3,TAB),"AAAAMMJJHHMMSS") +clModele.m_nIDCategorie= gpclListeCategorieDocument.RechercheEtDonneIdDepuisValeur +(0) +clModele.m_nIDIntervention = sReqSQL.IN_PKID +clModele.m_sNom = fExtraitChemin(ExtraitChaîne(UnFichier,1,TAB),fFichier+ +fExtension) +clModele.m_sCheminFichier = ComplèteRep(sRepRacine+sNomRepertoireClient+ +sNomRepertoireInterv)+clModele.m_sNom +// clModele.m_ImagePrevisu += Majuscule(fExtraitChemin(clModele.m_sCheminFichier,fExtension)[[2A]]) DANS ("BMP","JPG","JPEG","GIF", +"PCD", "PCX", "PNG", "PSD", "TGA", "TIF","TIFF","EMF","WMF","ICO","ICW","CUR","PDF") ? +clModele.m_sCheminFichier SINON +"fichier.png" +si clModele.bEnregistrer(clErreur) alors +TableauAjoute(m_clTabModele,clModele) +fin +fin +fin +fin +fin +fin +06/08/2026 Isis_BO 5941 + +Partie 6 › Classe › MTableauDeDocument › Code +TableauTrie(m_clTabModele,ttMembre,"m_dhModifDate") +Méthode ChargerDocumentIntervention1 +// Résumé : +// Syntaxe : +//ChargerDocumentIntervention1 ( est entier sur 8 octets) +// +// Paramètres : +// nIdIntervention (entier sur 8 octets) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargerDocumentIntervention1(*)//(LOCAL nIdIntervention est un entier sur 8 octets +// vide le tableau +TableauSupprimeTout(m_clTabModele) +//sListeFichiers est une chaîne ANSI +clErreur est un CErreur +// +// chargement à personnaliser selon votre contexte +// +sReqSQL est une Requête SQL = +[ +SELECT DISTINCT Document.*,Client.*,Lieu.*,Dossier.*,Intervention.*,PA1.* ,Adresse.* +FROM Intervention +LEFT OUTER JOIN Client ON (Client.CL_PKID=Intervention.IN_IDClient) +LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Intervention.IN_IDLieu) +INNER JOIN Dossier ON (Dossier.DO_PKID=Intervention.IN_IDDossier) +INNER JOIN Document ON (Intervention.IN_PKID=Document.DC_IDIntervention) +INNER JOIN ParametreMetier AS PA1 ON (PA1.PA_PKID=Document.DC_Categorie) +LEFT OUTER JOIN ParametreMetier AS PA2 ON (PA2.PA_CleLiaison = PA1.PA_Code+','+PA1.PA_Valeur) +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +WHERE Intervention.IN_PKID={P_IDIntervention} +AND PA1.PA_Valeur<>'4' +AND EXISTS (SELECT 1 FROM AccesEtDroit WHERE PA2.PA_PKID=AccesEtDroit.AED_IDModule AND AED_Acces=1 +AND AED_IDProfil={p_IDProfil}) +ORDER BY Document.ModifDate ASC +] +sReqSQL.P_IDIntervention= MesParamètres..Occurrence>=1 ? MesParamètres[1]=-1 ? Null sinon MesParamètres +[1] sinon Null +sReqSQL.p_IDProfil = MesParamètres..Occurrence>=2 ? MesParamètres[2]=-1 ? Null sinon +MesParamètres[2] sinon Null +// exécution de la requête +si HExécuteRequête(sReqSQL,hRequêteSansCorrectionHF) alors +sRepRacine est une chaîne = DonneRepertoireRacine() +sFormatRepDoc est une chaîne = DonneFormatRepertoireDoc() +tabRep est un tableau de Rep +DecodeRepertoire(sFormatRepDoc,tabRep) +si fRépertoireExiste(sRepRacine) alors +// charge les enregistrements en mémoire +//sListeFichiers = fListeFichier(sRepRacine) +//sListeFichiers = fListeRépertoire(sRepRacine) +pour tout sReqSQL +clModele est un MDocument +//clErreur est un CErreur +nIDEtatDoc est un entier sur 8 octets +stDroitCateg est un STParamCategDoc +sParametreJSON est une chaîne +06/08/2026 Isis_BO 5942 + +Partie 6 › Classe › MTableauDeDocument › Code +//Chargement des données du document +clModele.Charger(sReqSQL) +clModele.sFormat_RepDoc = sFormatRepDoc +clModele.sRep_Racine = sRepRacine +//Chargement des données du client dans le sous objet +clModele:m_clClient:Charger(sReqSQL) +//Stockage de l'etat du document pour comparaison +nIDEtatDoc = clModele:m_nIDEtatDocument +// Réupération du paramétrage des droits de la catégorie +sParametreJSON = gpclListeCategorieDocument.RechercheEtDonneParametreDepuisId(clModele. +m_nIDCategorie) +si sParametreJSON<>"" alors +Désérialise(stDroitCateg,sParametreJSON,psdJSON) +clModele.m_sHeriteDroit = stDroitCateg.sCodeDroit +fin +//Recherche et construction du chemin du document +clModele.m_sCheminFichier = ComplèteRep(DonneRepertoireDocument(4,Null,sReqSQL,0, +tabRep,sRepRacine,sFormatRepDoc))+clModele.m_sNom +// Change l'état du document si la localisation a changé +clModele:m_nIDEtatDocument = fFichierExiste(clModele.m_sCheminFichier) ? gpcl +ListeEtatDocument.RechercheEtDonneIdDepuisValeur("1") sinon gpclListeEtatDocument. +RechercheEtDonneIdDepuisValeur("0") +//Ajoute le document à la liste +TableauAjoute(m_clTabModele,clModele) +//Si l'état du document à changer => Enregistre le changement +si nIDEtatDoc<>clModele:m_nIDEtatDocument _et_ clModele:bEnregistrer(clErreur) alors +fin +DemandeMiseAJourUIParent() +fin +fin +fin +TableauTrie(m_clTabModele,ttMembre,"m_dhModifDate") +Méthode ChargerDocumentMessageExterne +// Résumé : +// Syntaxe : +//ChargerDocumentMessageExterne ([...]) +// +// Paramètres : +// <*> : > +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// nIdDoc (chaîne ANSI) : +procédure ChargerDocumentMessageExterne(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +06/08/2026 Isis_BO 5943 + +Partie 6 › Classe › MTableauDeDocument › Code +//sCheminFichiers est une chaine +//sRepAExclure est une chaine +// +// chargement à personnaliser selon votre contexte +// +sReqSQL est une Requête SQL = +[ +SELECT Document.*,Client.*,Lieu.*,Dossier.*,Intervention.*,Adresse.* +FROM Document +INNER JOIN Intervention ON (IN_PKID=Document.DC_IDIntervention) +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 Dossier ON (Dossier.DO_PKID=Intervention.IN_IDDossier) +INNER JOIN ParametreMetier AS PA1 ON (PA1.PA_PKID=Document.DC_Categorie) +LEFT OUTER JOIN ParametreMetier AS PA2 ON (PA2.PA_CleLiaison = PA1.PA_Code+','+PA1.PA_Valeur) +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +WHERE Document.DC_PKID IN ({P_IDDoc}) +AND EXISTS (SELECT 1 FROM AccesEtDroit WHERE PA2.PA_PKID=AccesEtDroit.AED_IDModule AND AED_Acces=1 +AND AED_IDProfil={p_IDProfil}) +ORDER BY Document.ModifDate ASC +] +sReqSQL.P_IDDoc = MesParamètres..Occurrence>=1 ? MesParamètres[1]=-1 ? Null sinon +MesParamètres[1] sinon Null +sReqSQL.p_IDProfil = MesParamètres..Occurrence>=2 ? MesParamètres[2]=-1 ? Null sinon +MesParamètres[2] sinon Null +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +sRepRacine est une chaîne = DonneRepertoireRacine() +sFormatRepDoc est une chaîne = DonneFormatRepertoireDoc() +tabRep est un tableau de Rep +DecodeRepertoire(sFormatRepDoc,tabRep) +si fRépertoireExiste(sRepRacine) alors +// Boucle sur les données et +pour tout sReqSQL +clModele est un MDocument +stDroitCateg est un STParamCategDoc +//charge les enregistrements en mémoire +clModele.Charger(sReqSQL) +// Réupération du paramétrage des droits de la catégorie +sParametreJSON est une chaîne =gpclListeCategorieDocument. +RechercheEtDonneParametreDepuisId(clModele.m_nIDCategorie) +si sParametreJSON<>"" alors +Désérialise(stDroitCateg,sParametreJSON,psdJSON) +clModele.m_sHeriteDroit = stDroitCateg.sCodeDroit +fin +//sCheminFichiers = +clModele.m_sCheminFichier = ComplèteRep(DonneRepertoireDocument(4,Null,sReqSQL,0, +tabRep,sRepRacine,sFormatRepDoc))+clModele.m_sNom +TableauAjoute(m_clTabModele,clModele) +fin +fin +fin +Méthode ChargerRapportIntervention +// Résumé : +// Syntaxe : +//ChargerRapportIntervention ([...]) +// +06/08/2026 Isis_BO 5944 + +Partie 6 › Classe › MTableauDeDocument › Code +// Paramètres : +// <*> : > +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// nIdIntervention (entier sur 8 octets) : +procédure ChargerRapportIntervention(*)//LOCAL nIdIntervention est un entier sur 8 octets +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +sReqSQL est une Requête SQL = +[ +SELECT DISTINCT Document.*,Client.*,Lieu.*,Dossier.*,Intervention.*,PA1.*,Adresse.* +FROM Intervention +LEFT OUTER JOIN Client ON (Client.CL_PKID=Intervention.IN_IDClient) +LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Intervention.IN_IDLieu) +INNER JOIN Dossier ON (Dossier.DO_PKID=Intervention.IN_IDDossier) +INNER JOIN Document ON (Intervention.IN_PKID=Document.DC_IDIntervention) +INNER JOIN ParametreMetier AS PA1 ON (PA1.PA_PKID=Document.DC_Categorie) +LEFT OUTER JOIN ParametreMetier AS PA2 ON (PA2.PA_CleLiaison = PA1.PA_Code+','+PA1.PA_Valeur) +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +WHERE Intervention.IN_PKID={P_IDIntervention} +AND PA1.PA_Valeur='4' +AND EXISTS (SELECT 1 FROM AccesEtDroit WHERE PA2.PA_PKID=AccesEtDroit.AED_IDModule AND AED_Acces=1 +AND AED_IDProfil={p_IDProfil}) +ORDER BY Document.ModifDate ASC +] +//sReqSQL.P_IDIntervention= nIdIntervention=-1 ? Null SINON nIdIntervention +sReqSQL.P_IDIntervention= MesParamètres..Occurrence>=1 ? MesParamètres[1]=-1 ? Null sinon MesParamètres +[1] sinon Null +sReqSQL.p_IDProfil = MesParamètres..Occurrence>=2 ? MesParamètres[2]=-1 ? Null sinon +MesParamètres[2] sinon Null +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +sRepRacine est une chaîne = DonneRepertoireRacine() +sFormatRepDoc est une chaîne = DonneFormatRepertoireDoc() +tabRep est un tableau de Rep +DecodeRepertoire(sFormatRepDoc,tabRep) +si fRépertoireExiste(sRepRacine) +// boucle sur les données +pour tout sReqSQL +clModele est un MDocument +stDroitCateg est un STParamCategDoc +sParametreJSON est une chaîne +clErreur est un CErreur +nIDEtatDoc est un entier sur 8 octets +//charge les enregistrements en mémoire +clModele.Charger(sReqSQL) +//Chargement des données du client dans le sous objet +clModele:m_clClient:Charger(sReqSQL) +//Stockage de l'etat du document pour comparaison +nIDEtatDoc = clModele:m_nIDEtatDocument +06/08/2026 Isis_BO 5945 + +Partie 6 › Classe › MTableauDeDocument › Code +sParametreJSON = gpclListeCategorieDocument.RechercheEtDonneParametreDepuisId(clModele. +m_nIDCategorie) +si sParametreJSON<>"" alors +Désérialise(stDroitCateg,sParametreJSON,psdJSON) +clModele.m_sHeriteDroit = stDroitCateg.sCodeDroit +fin +clModele.m_sCheminFichier = ComplèteRep(DonneRepertoireDocument(4,Null,sReqSQL,0, +tabRep,sRepRacine,sFormatRepDoc))+clModele.m_sNom +//Change l'état du document si la localisation a changé +clModele:m_nIDEtatDocument = fFichierExiste(clModele.m_sCheminFichier) ? gpcl +ListeEtatDocument.RechercheEtDonneIdDepuisValeur("1") sinon gpclListeEtatDocument. +RechercheEtDonneIdDepuisValeur("0") +TableauAjoute(m_clTabModele,clModele) +//Si l'état du document à changer => Enregistre le changement +si nIDEtatDoc<>clModele:m_nIDEtatDocument _et_ clModele:bEnregistrer(clErreur) alors +fin +fin +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 5946 + +Partie 6 › Classe › PTableDocument › Messages multilingues +PTableDocument +Messages multilingues +06/08/2026 Isis_BO 5947 +¹ +.ssem +°N +Message +5000 FR: Le fichier existant ne peut être supprimé ! +5001 FR: Erreur lors de la suppression du fichier +¹ N° mess. : numéro de message. +PTableDocument +Code +Déclaration de PTableDocument +PTableDocument est une Classe +protégé +m_clTableauModele est un MTableauDeDocument dynamique +// modèle associé à la présentation +m_clModeleCourant est un MDocument dynamique +// référence sur le modèle de données courant +m_clFicheClient est un PFicheClient dynamique +m_clFicheIntervention est un PFicheIntervention dynamique +m_sParam est une chaîne +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeDocument dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété FicheClient + +Partie 6 › Classe › PTableDocument › Code +procédure publique FicheClient() : PFicheClient +renvoyer m_clFicheClient +Affectation de la propriété FicheClient +procédure publique FicheClient(clValeur est PFicheClient) +m_clFicheClient=clValeur +Récupération de la propriété FicheIntervention +procédure publique FicheIntervention() : PFicheIntervention +renvoyer m_clFicheIntervention +Affectation de la propriété FicheIntervention +procédure publique FicheIntervention(clValeur est PFicheIntervention) +m_clFicheIntervention=clValeur +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MDocument +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MDocument dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +renvoyer TableauOccurrence(m_clTabModele) +Récupération de la propriété p_Param +procédure publique p_Param() : chaîne +renvoyer m_sParam +Affectation de la propriété p_Param +procédure publique p_Param(sValeur est une chaîne) +m_sParam=sValeur +Méthode gNouvellePresentation +06/08/2026 Isis_BO 5948 + +Partie 6 › Classe › PTableDocument › Code +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier,*) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeDocument +selon nMode +cas 0 : clTableauModele.Charger() +cas 1 : clTableauModele.ChargerDocumentIntervention1(MesParamètres[2à]) +cas 2 : clTableauModele.ChargerDocumentMessageExterne(MesParamètres[2à]) +cas 3 : clTableauModele.ChargerRapportIntervention(MesParamètres[2à]) +cas 4 : clTableauModele.ChargeDocumentSimple(MesParamètres[2à]) +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableDocument(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheDocument(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MDocument dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau() +clModele est un MDocument() +clPresentationFiche est un PFicheDocument(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MDocument dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +Méthode Trie +// Résumé : +// Syntaxe : +//Trie () +// +// Paramètres : +// sMembresTrie : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Trie(sMembresTrie) +si sMembresTrie<>"" alors +TableauTrie(:m_clTabModele, ttMembre,sMembresTrie) +fin +06/08/2026 Isis_BO 5949 + +Partie 6 › Classe › cPressePapier › Code +cPressePapier +Code +Déclaration de cPressePapier +cPressePapier est une Classe +ppOuvert est un booléen=Faux +fin +constant +USER32 = "user32.dll" +KERNEL32="kernel32.dll" +CF_DSPBITMAP = 0x82 +CF_DSPENHMETAFILE = 0x8E +CF_DSPMETAFILEPICT = 0x83 +CF_PRIVATEFIRST=0x200 +CF_PRIVATELAST= 0x2FF +CF_GDIOBJFIRST=0x300 +CF_GDIOBJLAST=0x3FF +fin +Méthode ChargeBuffer +procédure privé ChargeBuffer(TailleFormat est un entier système,DataHandle est un entier système,F est +un Buffer) +F=Complète("x",EntierSystèmeVersEntier(TailleFormat),"x")//Suite bug on force le type de tailleformat +vers entier standard +API(::KERNEL32,"RtlMoveMemory",&F,(DataHandle) ,(TailleFormat)) +Constructeur +procédure Constructeur() +Méthode Contenu +procédure Contenu(NumFormat est un entier système) +S est une chaîne +si :OuvrePressePapier() alors +sNomFormat est une chaîne +TailleFormat est un entier système +DataHandle est un entier système +selon NumFormat +cas CF_TEXT,CF_OEMTEXT +DataHandle=API(::USER32, "GetClipboardData", NumFormat) +si DataHandle<>Null alors +S=ChaîneRécupère(DataHandle,crAdresseASCIIZ) +fin +06/08/2026 Isis_BO 5950 + +Partie 6 › Classe › cPressePapier › Code +:FermerPressePapier() +renvoyer S +cas CF_UNICODETEXT +DataHandle=API(::USER32, "GetClipboardData", NumFormat) +si DataHandle<>Null alors +S=ChaîneRécupère(DataHandle,crAdresseUnicode) +fin +:FermerPressePapier() +renvoyer S +cas 15 //HDROP +S=:ListeFichiers (CR) +:FermerPressePapier() +renvoyer S +cas ::CF_PRIVATEFIRST à ::CF_PRIVATELAST +:FermerPressePapier() +renvoyer S +autre cas +//Détermination de la taille des données +DataHandle=API(::USER32, "GetClipboardData", NumFormat) +TailleFormat= API(::KERNEL32, "GlobalSize", DataHandle) +F est un Buffer +sNomFormat=:NomFormat(NumFormat) +selon sNomFormat +cas "FileContents" +:ChargeBuffer(TailleFormat,DataHandle,F) +:FermerPressePapier() +renvoyer F +// Fpdf est un entier +// Fpdf=fCrée("C:\Temp\Test.pdf") +// fEcrit(Fpdf,F) +// fFerme(Fpdf) +// F="" +// LanceAppliAssociée("C:\Temp\Test.pdf") +cas "FileGroupDescriptor" +//Cette structure est à taille variable +// 4 octets + N x 332 octets +//On calcul le nb de FILEDESCRIPTOR +Nb,I sont des entier +Nb=(TailleFormat-4)/332 +:ChargeBuffer(TailleFormat,DataHandle,F) +pour I=1 à Nb +S+=[RC]+ Remplace( F[[3+(332*(I-1)) à (332*I)]],Caract(0),"") +fin +:FermerPressePapier() +renvoyer S +autre cas +si Gauche(sNomFormat,4)="text" alors +DataHandle=API(::USER32, "GetClipboardData", NumFormat) +si DataHandle<>Null alors +S=ChaîneRécupère(DataHandle,crAdresseUnicode) +fin +fin +:FermerPressePapier() +06/08/2026 Isis_BO 5951 + +Partie 6 › Classe › cPressePapier › Code +renvoyer S +fin +fin +fin +renvoyer S +Méthode ContenuParNomFormat +procédure ContenuParNomFormat(Nom) +Numero est un entier système +//Recherche du numéro en fonction du Nom +S est une chaîne +pour toute chaîne S de :ListeFormatTaille() séparée par RC +si PositionOccurrence(S,Nom,1)>0 alors +Numero= Val( ExtraitChaîne(S,1,TAB) ) +fin +fin +si Numero>0 alors +renvoyer :Contenu(Numero) +sinon +renvoyer "" +fin +Destructeur +procédure Destructeur() +Méthode FermerPressePapier +procédure privée FermerPressePapier() +si :ppOuvert alors +API("user32","CloseClipboard") +fin +:ppOuvert=Faux +Méthode ListeFichiers +procédure privée ListeFichiers(Separateur est une chaîne=RC) +lstFichier est une chaîne +sR est une chaîne sur 3000 +HandleDonnees est un entier système = API("user32","GetClipboardData",15) //15 CF_HDROP +si HandleDonnees <> 0 alors +iTaille est un entier +NbFichiers est un entier = API("shell32","DragQueryFile",HandleDonnees,-1,Null,0) +I est un entier +//tabTemp est un tableau dynamique +pour I = 0 _à_ NbFichiers-1 +iTaille = API("shell32","DragQueryFile",HandleDonnees,I,0,0) +iTaille = iTaille + 1 +sR="" +sR=Complète(sR,iTaille) +API("shell32","DragQueryFile",HandleDonnees,I,&sR,iTaille) +lstFichier+=[Separateur]+sR +fin +fin +renvoyer lstFichier +Méthode ListeFormat +06/08/2026 Isis_BO 5952 + +Partie 6 › Classe › cPressePapier › Code +procédure ListeFormat( Separateur est une chaîne=RC) +S est une chaîne +si :OuvrePressePapier() alors +NumFormat est un entier système +//HandleDonnee est un entier système +NumFormat=API(::USER32, "EnumClipboardFormats", 0) +tantque NumFormat<>0 // Prototype de la fonction : UINT WINAPI EnumClipboardFormats( UINT format); +//Lecture du nom du format +S+=[Separateur] + :NomFormat(NumFormat) +NumFormat=API(::USER32, "EnumClipboardFormats", NumFormat) +fin +:FermerPressePapier() +fin +renvoyer S +Méthode ListeFormatTaille +procédure ListeFormatTaille() +S est une chaîne +si :OuvrePressePapier() alors +NumFormat est un entier système +sNomFormat est une chaîne +HandleDonnee est un entier système +TailleDonnee est un entier système +NumFormat=API(::USER32, "EnumClipboardFormats", 0) +tantque NumFormat<>0 // Prototype de la fonction : UINT WINAPI EnumClipboardFormats( UINT format); +//Lecture du nom du format +sNomFormat = :NomFormat(NumFormat) +//Détermination de la taille des données +HandleDonnee=API(::USER32, "GetClipboardData", NumFormat) +TailleDonnee= API(::KERNEL32, "GlobalSize", HandleDonnee) +S+=[RC] + NumFormat + TAB + sNomFormat + TAB + TailleDonnee +NumFormat=API(::USER32, "EnumClipboardFormats", NumFormat) +fin +:FermerPressePapier() +fin +renvoyer S +Méthode NomFormat +procédure NomFormat(NumFormat est un entier système) +selon NumFormat +cas 1 +renvoyer "CF_TEXT" +cas 2 +renvoyer "CF_BITMAP" +cas 3 +renvoyer "CF_METAFILEPICT" +cas 4 +renvoyer "CF_SYLK" +06/08/2026 Isis_BO 5953 + +Partie 6 › Classe › cPressePapier › Code +cas 5 +renvoyer "CF_DIF" +cas 6 +renvoyer "CF_TIFF" +cas 7 +renvoyer "CF_OEMTEXT" +cas 8 +renvoyer "CF_DIB" +cas 9 +renvoyer "CF_PALETTE" +cas 10 +renvoyer "CF_PENDATA" +cas 11 +renvoyer "CF_RIFF" +cas 12 +renvoyer "CF_WAVE" +cas 13 +renvoyer "CF_UNICODETEXT" +cas 14 +renvoyer "CF_ENHMETAFILE" +cas 15 +renvoyer "CF_HDROP" +cas 16 +renvoyer "CF_LOCALE" +cas 0x80 +renvoyer "CF_OWNERDISPLAY" +cas 0x82 +renvoyer "CF_DSPBITMAP" +cas 0x8E +renvoyer "CF_DSPENHMETAFILE" +cas 0x83 +renvoyer "CF_DSPMETAFILEPICT" +cas 0x81 +renvoyer "CF_DSPTEXT" +cas 0x300 à 0x3FF +renvoyer "CF_GDIOBJ " + NumFormat +cas 0x200 à 0x2FF +renvoyer "CF_PRIVATE" + NumFormat +autre cas +// Prototype de la fonction : int WINAPI GetClipboardFormatNameA( UINT format, LPSTR +lpszFormatName, int cchMaxCount) +//renvoie la longueur de la chaine retour pointée par lpszFormatName , 0 si pas de réponse +N est un entier=256 +//Pour fonctionner , il faut initialiser la chaine retour avec des caractères quelconques +// et passer en paramètre l'adresse de cette chaine +S est une chaîne +S=Complète("x",N-1,"x") +si API(::USER32, "GetClipboardFormatNameA", NumFormat, &S, N)=0 alors +renvoyer "Inconnu" +sinon +renvoyer ExtraitChaîne( S,1,Caract(0)) +fin +fin +Méthode OuvrePressePapier +06/08/2026 Isis_BO 5954 + +Partie 6 › Classe › cPressePapier › Code +procédure privée OuvrePressePapier() +si pas :ppOuvert alors +:ppOuvert=API("user32","OpenClipboard",Null) <> 0 +fin +renvoyer :ppOuvert +Méthode Vide +procédure Vide() +API(::USER32, "EmptyClipboard") +06/08/2026 Isis_BO 5955 + +Partie 6 › Classe › MSuiviDesTemps › Code +MSuiviDesTemps +Code +Déclaration de MSuiviDesTemps +MSuiviDesTemps est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_dDateDebut est une DateHeure +m_nIDIntervention est un entier sur 8 octets +m_nIDCollaborateur est un entier sur 8 octets +m_nIDPartenaire est un entier sur 8 octets +m_nNbMinutes est un entier +m_sLibelle est une chaîne ANSI +m_nIDTypeTemps est un entier sur 8 octets +m_nIDRdv est un entier sur 8 octets +m_rPonderation est un réel sur 4 octets +m_sIDImport est une chaîne ANSI +m_dDateFin est une chaîne +m_nIDTypeRdv est un entier sur 8 octets +m_bControle est un booléen +m_nIDGroupe est un entier sur 8 octets + +m_rNbHeure est un réel sur 4 octets +m_sRefInterneInterv est une chaîne +m_clCollaborateur est un MCollaborateur +m_clLieu est un MLieu +m_bDevis est un booléen +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer IdentifiantUnique +Récupération de la propriété NbHeure +procédure publique NbHeure() +renvoyer :m_nNbMinutes/60 +Récupération de la propriété NbHeurePondere +06/08/2026 Isis_BO 5956 + +Partie 6 › Classe › MSuiviDesTemps › Code +procédure publique NbHeurePondere():réel +si m_rPonderation>0 alors +renvoyer NbHeure/m_rPonderation +sinon +renvoyer 0 +fin +Récupération de la propriété NomCollaborateur +procédure publique NomCollaborateur() +si m_clCollaborateur<> Null alors +renvoyer m_clCollaborateur.m_sNom +sinon +renvoyer "" +fin +Récupération de la propriété NomPrenomCollaborateur +procédure publique NomPrenomCollaborateur() +si m_clCollaborateur<> Null alors +renvoyer m_clCollaborateur.NomPrenom +sinon +renvoyer "" +fin +Récupération de la propriété pLibTypeTemps +procédure publique pLibTypeTemps() : chaîne +//nIndice est un entier = +TableauCherche(gpclListeTypeTemps:m_clTabModele,tcLinéaire,"m_nPKID",m_nIDTypeTemps,1) +si gProcLibTypeTemps<>Null alors +renvoyer gProcLibTypeTemps(m_nIDTypeTemps)//gpclListeTypeTemps:m_clTabModele[nIndice]:m_sLibelle +sinon +renvoyer "" +fin +06/08/2026 Isis_BO 5957 + +Partie 6 › Classe › PFicheSuiviDesTemps › Code +PFicheSuiviDesTemps +Code +Déclaration de PFicheSuiviDesTemps +PFicheSuiviDesTemps est une Classe +protégé +m_clModeleCourant est un MSuiviDesTemps// modèle associé à la présentation +m_clModeleSource est un MSuiviDesTemps dynamique // référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +fin +Méthode AppelProcValidation +// Résumé : +// Syntaxe : +//AppelProcValidation ( est entier) +// +// Paramètres : +// nMode (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AppelProcValidation(local nMode est un entier) +// si il y a une procédure de validation +si m_pValidation<>Null alors +selon nMode +cas 1 : m_pValidation(m_clModeleSource) +cas 2 : m_pValidation(m_clModeleCourant) +fin +m_pValidation = Null +DemandeMiseAJourIHM() +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// recopie les modifications dans le modèle source +//m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURENREG +06/08/2026 Isis_BO 5958 + +Partie 6 › Classe › PFicheSuiviDesTemps › Code +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURENREG : +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MSuiviDesTemps dynamique, pValidation est une procédure=Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MSuiviDesTemps +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +06/08/2026 Isis_BO 5959 + +Partie 6 › Classe › PFicheSuiviDesTemps › Code +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MSuiviDesTemps() +clPresentation est un PFicheSuiviDesTemps(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 5960 + +Partie 6 › Classe › MMessageInterne › Code +MMessageInterne +Code +Déclaration de MMessageInterne +MMessageInterne est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_nIDTypeMessage est un entier sur 8 octets +m_nIDInterventionest un entier sur 8 octets +m_sMessage est une chaîne + +m_clCollaborateurest un MCollaborateur +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer IdentifiantUnique +06/08/2026 Isis_BO 5961 + +Partie 6 › Classe › PFicheMessageInterne › Code +PFicheMessageInterne +Code +Déclaration de PFicheMessageInterne +PFicheMessageInterne est une Classe +protégé +m_clModeleCourant est un MMessageInterne // modèle associé à la présentation +m_clModeleSource est un MMessageInterne dynamique // référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURENREG +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURENREG : +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +06/08/2026 Isis_BO 5962 + +Partie 6 › Classe › PFicheMessageInterne › Code +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MMessageInterne dynamique, pValidation est une procédure=Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MMessageInterne +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MMessageInterne() +clPresentation est un PFicheMessageInterne(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 5963 + +Partie 6 › Classe › MTableauDeSuiviDesTemps › Code +MTableauDeSuiviDesTemps +Code +Déclaration de MTableauDeSuiviDesTemps +MTableauDeSuiviDesTemps est une Classe +public +m_clTabModele est un tableau de MSuiviDesTemps dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MSuiviDesTemps dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MSuiviDesTemps dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger() +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 5964 + +Partie 6 › Classe › MTableauDeSuiviDesTemps › Code +// +// récupération des données +sdSource est une Source de Données +sReqSQL est une chaîne = [ +SELECT * +FROM SuiviDesTemps +] +// exécution de la requête +si HExécuteRequêteSQL(sdSource,sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sdSource +clModele est un MSuiviDesTemps +clModele.Charger(sdSource) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerCollab +// Résumé : +// Syntaxe : +//ChargerCollab ( est entier sur 8 octets, est chaîne, est +chaîne) +// +// Paramètres : +// nIdCollaborateur (entier sur 8 octets) : +// sDateInf (chaîne ANSI) : +// sDateSup (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargerCollab(local nIdCollaborateur est un entier sur 8 octets,local sDateInf est une chaîne +,local sDateSup est une chaîne) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +sReqSQL est une Requête SQL = [ +SELECT SuiviDesTemps.SDT_Controle +,SuiviDesTemps.SDT_DateDebut +,SuiviDesTemps.SDT_DateHeureFin +,SuiviDesTemps.SDT_IDCollaborateur +,SuiviDesTemps.SDT_IDIntervention, +SuiviDesTemps.SDT_IDRdv +,SuiviDesTemps.SDT_IDTypeRdv +,SuiviDesTemps.SDT_IDTypeTemps +,SuiviDesTemps.SDT_NbMinutes//,sum(SuiviDesTemps.SDT_NbMinutes) AS SDT_NbMinutes +,SuiviDesTemps.SDT_PKID +,SuiviDesTemps.SDT_Ponderation, +Collaborateur.* +,Lieu.LI_PKID +06/08/2026 Isis_BO 5965 + +Partie 6 › Classe › MTableauDeSuiviDesTemps › Code +,Intervention.IN_RefInterne AS RefInterneInterv +FROM SuiviDesTemps +INNER JOIN Collaborateur ON (Collaborateur.CO_PKID=SuiviDesTemps.SDT_IDCollaborateur) +LEFT OUTER JOIN Intervention ON (Intervention.IN_PKID=SuiviDesTemps.SDT_IDIntervention) +LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Intervention.IN_IDLieu) +WHERE (SuiviDesTemps.SDT_IDCollaborateur={p_IdCollaborateur} AND (SuiviDesTemps.SDT_DateDebut +BETWEEN {p_DateInf} AND {p_DateSup})) +//group +by +SuiviDesTemps.SDT_IDRdv,SuiviDesTemps.SDT_Controle,SuiviDesTemps.SDT_DateDebut,SuiviDesTemps.SDT_Da +teHeureFin,SuiviDesTemps.SDT_IDCollaborateur,SuiviDesTemps.SDT_IDIntervention, +//SuiviDesTemps.SDT_IDTypeRdv,SuiviDesTemps.SDT_IDTypeTemps,SuiviDesTemps.SDT_NbMinutes,SuiviDesTem +ps.SDT_PKID,SuiviDesTemps.SDT_Ponderation, +//Collaborateur.CO_PKID,Lieu.LI_PKID,Intervention.IN_RefInterne +ORDER BY SuiviDesTemps.SDT_DateDebut DESC +] +sReqSQL.p_IdCollaborateur = nIdCollaborateur=-1 ? Null sinon nIdCollaborateur +sReqSQL.p_DateInf= sDateInf +sReqSQL.p_DateSup= sDateSup +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +clModele est un MSuiviDesTemps +clModele.Charger(sReqSQL) +clModele.m_clCollaborateur.Charger(sReqSQL) +clModele.m_clLieu.Charger(sReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerDepuisIntervention +procédure ChargerDepuisIntervention(local nIdIntervention est un entier sur 8 octets) +nIdTypeTempsGlobal est un entier sur 8 octets = gpclListeTypeTemps. +RechercheEtDonneIdDepuisValeur(1) +nIdTypeTempsNonAffecte est un entier sur 8 octets = gpclListeTypeTemps. +RechercheEtDonneIdDepuisValeur(99) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +ParamTypeTemps est un ST_TypeTempsrdv +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +sReqSQL est une Requête SQL = [ +SELECT * +FROM SuiviDesTemps +INNER JOIN Collaborateur ON (Collaborateur.CO_PKID=SuiviDesTemps.SDT_IDCollaborateur) +INNER JOIN ParametreMetier ON (ParametreMetier.PA_PKID=SuiviDesTemps.SDT_IDTypeTemps) +WHERE SuiviDesTemps.SDT_IDIntervention={p_IdIntervention} +AND ParametreMetier.PA_Actif=1 +AND TO_CHAR(SDT_DateDebut,'DD/MM/YYYY')<>'00/00/0000' +ORDER BY SuiviDesTemps.SDT_DateDebut DESC +] +//sReqSQL.p_IdIntervention = nIdIntervention=-1 ? Null SINON nIdIntervention +sReqSQL.p_IdIntervention = nIdIntervention=0 ? -1 sinon nIdIntervention=-1 ? Null sinon +nIdIntervention +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +06/08/2026 Isis_BO 5966 + +Partie 6 › Classe › MTableauDeSuiviDesTemps › Code +// charge les enregistrements en mémoire +pour tout sReqSQL +si sReqSQL.SDT_DateDebut <> "" et sReqSQL.SDT_DateHeureFin <> "" et sReqSQL.SDT_NbMinutes > 0 +et sReqSQL.SDT_IDTypeTemps <> nIdTypeTempsNonAffecte et sReqSQL.SDT_IDTypeTemps <> +nIdTypeTempsGlobal alors +si sReqSQL.PA_Parametre <> "" alors +Désérialise(ParamTypeTemps,sReqSQL.PA_Parametre,psdJSON) +clModele est un MSuiviDesTemps +clModele.m_bDevis = ParamTypeTemps.devis +clModele.Charger(sReqSQL) +clModele.m_clCollaborateur.Charger(sReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 5967 + +Partie 6 › Classe › PTableSuiviDesTemps › Code +PTableSuiviDesTemps +Code +Déclaration de PTableSuiviDesTemps +PTableSuiviDesTemps est une Classe +protégé +m_clTableauModele est un MTableauDeSuiviDesTemps dynamique +// modèle associé à la présentation +m_clModeleCourant est un MSuiviDesTemps dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeSuiviDesTemps dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MSuiviDesTemps +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MSuiviDesTemps dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +06/08/2026 Isis_BO 5968 + +Partie 6 › Classe › PTableSuiviDesTemps › Code +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier,*) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeSuiviDesTemps +selon nMode +cas 0 : clTableauModele.Charger() +cas 1 : clTableauModele.ChargerDepuisIntervention(MesParamètres[2à]) +cas 2 : clTableauModele.ChargerCollab(MesParamètres[2à]) +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableSuiviDesTemps(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheSuiviDesTemps(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MSuiviDesTemps dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau() +clModele est un MSuiviDesTemps() +clPresentationFiche est un PFicheSuiviDesTemps(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MSuiviDesTemps dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +06/08/2026 Isis_BO 5969 + +Partie 6 › Classe › MTableauDeMessageInterne › Code +MTableauDeMessageInterne +Code +Déclaration de MTableauDeMessageInterne +MTableauDeMessageInterne est une Classe +public +m_clTabModele est un tableau de MMessageInterne dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MMessageInterne dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MMessageInterne dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode ChargeDepuisInterventionMSG_Admin +procédure ChargeDepuisInterventionMSG_Admin(local nIDIntervention est un entier sur 8 octets) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 5970 + +Partie 6 › Classe › MTableauDeMessageInterne › Code +// +// récupération des données +sReqSQL est une Requête SQL = +[ +SELECT MessageInterne.*,Collaborateur.* +FROM MessageInterne +INNER JOIN Utilisateur ON (Utilisateur.UT_PKID=MessageInterne.CreationUser) +INNER JOIN Collaborateur ON (Collaborateur.CO_PKID=Utilisateur.UT_IDCollaborateur) +WHERE MessageInterne.MI_IDIntervention={p_IDIntervention} AND MessageInterne.MI_IDTypeMessage > 10 +ORDER BY MessageInterne.CreationDate DESC +] +sReqSQL.p_IDIntervention = nIDIntervention=-1 ? Null sinon nIDIntervention +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +clModele est un MMessageInterne +clModele.Charger(sReqSQL) +clModele:m_clCollaborateur.Charger(sReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode Charger +procédure Charger() +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +sdSource est une Source de Données +sReqSQL est une chaîne = [ +SELECT * +FROM MessageInterne +] +// exécution de la requête +si HExécuteRequêteSQL(sdSource,sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sdSource +clModele est un MMessageInterne +clModele.Charger(sdSource) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerDepuisInterventionMSG_Interne +procédure ChargerDepuisInterventionMSG_Interne(local nIDIntervention est un entier sur 8 octets) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +06/08/2026 Isis_BO 5971 + +Partie 6 › Classe › MTableauDeMessageInterne › Code +// récupération des données +sReqSQL est une Requête SQL = +[ +SELECT MessageInterne.*,Collaborateur.* +FROM MessageInterne +LEFT JOIN Utilisateur ON (Utilisateur.UT_PKID=MessageInterne.CreationUser) +LEFT JOIN Collaborateur ON (Collaborateur.CO_PKID=Utilisateur.UT_IDCollaborateur) +WHERE MessageInterne.MI_IDIntervention={p_IDIntervention} AND MessageInterne.MI_IDTypeMessage < 10 +ORDER BY MessageInterne.CreationDate DESC +] +sReqSQL.p_IDIntervention = nIDIntervention=-1 ? Null sinon nIDIntervention +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +clModele est un MMessageInterne +clModele.Charger(sReqSQL) +clModele:m_clCollaborateur.Charger(sReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 5972 + +Partie 6 › Classe › PTableMessageInterne › Code +PTableMessageInterne +Code +Déclaration de PTableMessageInterne +PTableMessageInterne est une Classe +protégé +m_clTableauModele est un MTableauDeMessageInterne dynamique +// modèle associé à la présentation +m_clModeleCourant est un MMessageInterne dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeMessageInterne dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MMessageInterne +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MMessageInterne dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +06/08/2026 Isis_BO 5973 + +Partie 6 › Classe › PTableMessageInterne › Code +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier,*) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeMessageInterne +selon nMode +cas 0 : clTableauModele.Charger() +cas 1 : clTableauModele.ChargerDepuisInterventionMSG_Interne(MesParamètres[2à]) +cas 3 : clTableauModele.ChargeDepuisInterventionMSG_Admin(MesParamètres[2à]) +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableMessageInterne(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheMessageInterne(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MMessageInterne dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau(*) +clModele est un MMessageInterne() +clPresentationFiche est un PFicheMessageInterne(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MMessageInterne dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +06/08/2026 Isis_BO 5974 + +Partie 6 › Classe › MTableauDeDocumentNote › Code +MTableauDeDocumentNote +Code +Déclaration de MTableauDeDocumentNote +MTableauDeDocumentNote est une Classe +public +m_clTabModele est un tableau de MDocumentNote dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MDocumentNote dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MDocumentNote dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger(local nIdDocument est un entier sur 8 octets=-1) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 5975 + +Partie 6 › Classe › MTableauDeDocumentNote › Code +// +// récupération des données +sdSource est une Source de Données +sReqSQL est une chaîne = [ +SELECT * +FROM DocumentNote +where DocumentNote.DN_IDDocument={P_IDDocument} +order by DocumentNote.CreationDate desc +] +sdSource.P_IDDocument= nIdDocument=-1 ? Null sinon nIdDocument +// exécution de la requête +si HExécuteRequêteSQL(sdSource,sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sdSource +clModele est un MDocumentNote +clModele.Charger(sdSource) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 5976 + +Partie 6 › Classe › MDocumentNote › Code +MDocumentNote +Code +Déclaration de MDocumentNote +MDocumentNote est une Classe +hérite de MBase + +m_nDN_PKID est un entier sur 8 octets +m_nDN_IDDocument est un entier sur 8 octets +m_sDN_Note est une chaîne + +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nDN_PKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer m_sDN_Note +06/08/2026 Isis_BO 5977 + +Partie 6 › Classe › PTableDocumentNote › Code +PTableDocumentNote +Code +Déclaration de PTableDocumentNote +PTableDocumentNote est une Classe +protégé +m_clTableauModele est un MTableauDeDocumentNote dynamique +// modèle associé à la présentation +m_clModeleCourant est un MDocumentNote dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeDocumentNote dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MDocumentNote +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MDocumentNote dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +06/08/2026 Isis_BO 5978 + +Partie 6 › Classe › PTableDocumentNote › Code +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nIDDocument est un entier sur 8 octets=-1) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeDocumentNote +clTableauModele.Charger(nIDDocument) +// création de la nouvelle instance de présentation +clPresentation est un PTableDocumentNote(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +// La fenêtre Fiche PFicheDocumentNote n'existe pas. +// La méthode est en commentaire pour ne pas générer une erreur de compilation. +// Décommentez la méthode si vous créez la fiche PFicheDocumentNote. +clPresentationFiche est un PFicheDocumentNote(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MDocumentNote dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau() +// La fenêtre Fiche PFicheDocumentNote n'existe pas. +// La méthode est en commentaire pour ne pas générer une erreur de compilation. +// Décommentez la méthode si vous créez la fiche PFicheDocumentNote. +// +clModele est un MDocumentNote() +clPresentationFiche est un PFicheDocumentNote(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MDocumentNote dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +06/08/2026 Isis_BO 5979 + +Partie 6 › Classe › PFicheDocumentNote › Code +PFicheDocumentNote +Code +Déclaration de PFicheDocumentNote +PFicheDocumentNote est une Classe +protégé +m_clModeleCourant est un MDocumentNote // modèle associé à la présentation +m_clModeleSource est un MDocumentNote dynamique// référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURENREG +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURENREG : +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +06/08/2026 Isis_BO 5980 + +Partie 6 › Classe › PFicheDocumentNote › Code +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MDocumentNote dynamique, pValidation est une procédure=Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MDocumentNote +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MDocumentNote() +clPresentation est un PFicheDocumentNote(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 5981 + +Partie 6 › Classe › MMessageExterne › Code +MMessageExterne +Code +Déclaration de MMessageExterne +MMessageExterne est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_nIDInterventionest un entier sur 8 octets +| m_sAdrExp | est une chaîne ANSI | | | +| ------------ | ------------------- | ---------------------- | --- | +| m_sObjet | est une chaîne ANSI | | | +| m_sIDDocPJ | est une chaîne | | | +| m_bEnvoyer | est un booléen | | | +| m_bBrouillon | est un booléen | | | +m_sAdrDestinataires est une chaîne +| m_sMessage | est une chaîne | | | +| ----------- | -------------- | --------------------- | --- | +| m_bPJ | est un booléen | | | +| m_sAdrCC | est une chaîne | | | +| m_sAdrCCI | est une chaîne | | | +| m_sIDImport | est une chaîne | | | + +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer m_sObjet +| 06/08/2026 | | Isis_BO | 5982 | +| ---------- | --- | ------- | ---- | + +Partie 6 › Classe › PFicheMessageExterne › Code +PFicheMessageExterne +Code +Déclaration de PFicheMessageExterne +PFicheMessageExterne est une Classe +protégé +m_clModeleCourant est un MMessageExterne // modèle associé à la présentation +m_clModeleSource est un MMessageExterne dynamique // référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURENREG +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURENREG : +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +06/08/2026 Isis_BO 5983 + +Partie 6 › Classe › PFicheMessageExterne › Code +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MMessageExterne dynamique, pValidation est une procédure=Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MMessageExterne +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MMessageExterne() +clPresentation est un PFicheMessageExterne(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 5984 + +Partie 6 › Classe › MTableauDeMessageExterne › Code +MTableauDeMessageExterne +Code +Déclaration de MTableauDeMessageExterne +MTableauDeMessageExterne est une Classe +public +m_clTabModele est un tableau de MMessageExterne dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MMessageExterne dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MMessageExterne dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger(nIdIntervention est un entier sur 8 octets=-1) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 5985 + +Partie 6 › Classe › MTableauDeMessageExterne › Code +// +// récupération des données +reqSQL est une Requête SQL = [ +SELECT * +FROM MessageExterne +WHERE MessageExterne.ME_IDIntervention={P_IDIntervention} +ORDER BY MessageExterne.CreationDate DESC +] +reqSQL.P_IDIntervention = nIdIntervention=-1 ? Null sinon nIdIntervention +// exécution de la requête +si HExécuteRequête(reqSQL) alors +// charge les enregistrements en mémoire +pour tout reqSQL +clModele est un MMessageExterne +clModele.Charger(reqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 5986 + +Partie 6 › Classe › PTableMessageExterne › Code +PTableMessageExterne +Code +Déclaration de PTableMessageExterne +PTableMessageExterne est une Classe +protégé +m_clTableauModele est un MTableauDeMessageExterne dynamique +// modèle associé à la présentation +m_clModeleCourant est un MMessageExterne dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeMessageExterne dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MMessageExterne +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MMessageExterne dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +06/08/2026 Isis_BO 5987 + +Partie 6 › Classe › PTableMessageExterne › Code +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nIdIntervention est un entier sur 8 octets=-1) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeMessageExterne +clTableauModele.Charger(nIdIntervention) +// création de la nouvelle instance de présentation +clPresentation est un PTableMessageExterne(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheMessageExterne(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MMessageExterne dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau() +clModele est un MMessageExterne() +clPresentationFiche est un PFicheMessageExterne(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MMessageExterne dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +Méthode Trie +// Résumé : +// Syntaxe : +//Trie () +// +// Paramètres : +// sMembresTrie : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Trie(sMembresTrie) +si sMembresTrie<>"" alors +TableauTrie(:m_clTabModele, ttMembre,sMembresTrie) +fin +06/08/2026 Isis_BO 5988 + +Partie 6 › Classe › MAction › Code +MAction +Code +Déclaration de MAction +MAction est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +| m_dDateAction | est une Date | | | +| -------------- | ------------- | ------------------------ | --- | +| m_hHeureAction | est une Heure | | | +m_nIDTypeAction est un entier sur 8 octets +m_nIDInterventionest un entier sur 8 octets +| m_sDescription | est une chaîne ANSI | | | +| -------------- | -------------------------- | ------------------------ | --- | +| m_bClos | est un booléen | | | +| m_nIDQui | est un entier sur 8 octets | | | +| m_sIDImport | est une chaîne | | | + +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer "" +| 06/08/2026 | | Isis_BO | 5989 | +| ---------- | --- | ------- | ---- | + +Partie 6 › Classe › PFicheAction › Code +PFicheAction +Code +Déclaration de PFicheAction +PFicheAction est une Classe +protégé +m_clModeleCourant est un MAction // modèle associé à la présentation +m_clModeleSource est un MAction dynamique // référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure // procédure à appeler lors de la validation +fin +Méthode AppelProcValidation +// Résumé : +// Syntaxe : +//AppelProcValidation ( est entier) +// +// Paramètres : +// nMode (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AppelProcValidation(local nMode est un entier) +// si il y a une procédure de validation +si m_pValidation<>Null alors +selon nMode +cas 1 : m_pValidation(m_clModeleSource) +cas 2 : m_pValidation(m_clModeleCourant) +fin +m_pValidation = Null +DemandeMiseAJourIHM() +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +//Contôle des données +//:m_clModeleCourant:bControle(clErreur,Faux) +//SI PAS clErreur.p_bOk ALORS GOTO ERREURTRANSAC +06/08/2026 Isis_BO 5990 + +Partie 6 › Classe › PFicheAction › Code +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURENREG +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURENREG : +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MAction dynamique, pValidation est une procédure=Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MAction +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +06/08/2026 Isis_BO 5991 + +Partie 6 › Classe › PFicheAction › Code +// création de la présentation avec une nouvelle instance de modèle +clModele est un MAction() +clPresentation est un PFicheAction(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 5992 + +Partie 6 › Classe › MTableauDeAction › Code +MTableauDeAction +Code +Déclaration de MTableauDeAction +MTableauDeAction est une Classe +public +m_clTabModele est un tableau de MAction dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MAction dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MAction dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger() +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 5993 + +Partie 6 › Classe › MTableauDeAction › Code +// +// récupération des données +sdSource est une Source de Données +sReqSQL est une chaîne = [ +SELECT * +FROM Action +] +// exécution de la requête +si HExécuteRequêteSQL(sdSource,sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sdSource +clModele est un MAction +clModele.Charger(sdSource) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerDepuisIntervention +procédure ChargerDepuisIntervention(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +sReqSQL est une Requête SQL = [ +SELECT * +FROM Action +WHERE Action.AC_IDIntervention={p_IdIntervention} +] +sReqSQL.p_IdIntervention = MesParamètres..Occurrence>=1 ? MesParamètres[1]=-1 ? Null sinon +MesParamètres[1] sinon Null +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +clModele est un MAction +clModele.Charger(sReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 5994 + +Partie 6 › Classe › PTableAction › Code +PTableAction +Code +Déclaration de PTableAction +PTableAction est une Classe +protégé +m_clTableauModele est un MTableauDeAction dynamique// modèle associé à la présentation +m_clModeleCourant est un MAction dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeAction dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MAction +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MAction dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +06/08/2026 Isis_BO 5995 + +Partie 6 › Classe › PTableAction › Code +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier,*) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeAction +selon nMode +cas 0 : clTableauModele.Charger() +cas 1 : clTableauModele.ChargerDepuisIntervention(MesParamètres[2à]) +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableAction(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheAction(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MAction dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau(local bLier est un booléen,local nIdLie est un entier sur 8 octets) +clModele est un MAction() +clModele.m_bLiaison = bLier +clModele.m_nIDIntervention= nIdLie +clPresentationFiche est un PFicheAction(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MAction dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +Méthode Trie +// Résumé : +// Syntaxe : +//Trie () +// +// Paramètres : +// sMembresTrie : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Trie(sMembresTrie) +si sMembresTrie<>"" alors +TableauTrie(:m_clTabModele, ttMembre,sMembresTrie) +fin +06/08/2026 Isis_BO 5996 + +Partie 6 › Classe › MCheckList › Code +MCheckList +Code +Déclaration de MCheckList +MCheckList est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_sNom est une chaîne ANSI +m_sElement est une chaîne ANSI +m_bFait est un booléen +m_nOrdre est un entier +m_nIDModele est un entier sur 8 octets +m_nIDInterventionest un entier sur 8 octets +m_nOrdreDuGroupe est un entier + +m_clCheckListCollab est un MCheckList_Collab dynamique +m_clListeCollab est un tableau de MCollaborateur +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété Collaborateurs +procédure publique Collaborateurs() +sResultat est une chaîne +nCpt est un entier +pour tout clCollab de :m_clListeCollab +nCpt+=1 +si nCpt=1 alors +sResultat = clCollab:m_sNom+" "+clCollab:m_sPrenom +sinon +sResultat += RC+clCollab:m_sNom+" "+clCollab:m_sPrenom +fin +fin +renvoyer sResultat +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer m_sNom +06/08/2026 Isis_BO 5997 + +Partie 6 › Classe › PFicheCheckList › Code +PFicheCheckList +Code +Déclaration de PFicheCheckList +PFicheCheckList est une Classe +protégé +m_clModeleCourant est un MCheckList // modèle associé à la présentation +m_clModeleSource est un MCheckList dynamique // référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure // procédure à appeler lors de la validation +fin +Méthode AppelProcValidation +// Résumé : +// Syntaxe : +//AppelProcValidation ( est entier) +// +// Paramètres : +// nMode (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AppelProcValidation(local nMode est un entier) +// si il y a une procédure de validation +si m_pValidation<>Null alors +selon nMode +cas 1 : m_pValidation(m_clModeleSource) +cas 2 : m_pValidation(m_clModeleCourant) +fin +m_pValidation = Null +DemandeMiseAJourIHM() +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURENREG +06/08/2026 Isis_BO 5998 + +Partie 6 › Classe › PFicheCheckList › Code +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURENREG : +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MCheckList dynamique, pValidation est une procédure=Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MCheckList +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MCheckList() +clPresentation est un PFicheCheckList(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 5999 + +Partie 6 › Classe › MTableauDeCheckList › Code +MTableauDeCheckList +Code +Déclaration de MTableauDeCheckList +MTableauDeCheckList est une Classe +public +m_clTabModele est un tableau de MCheckList dynamique +fin +Méthode Ajouter +procédure Ajouter(local nMode est un entier,clModele est un MCheckList dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +selon nMode +cas 0 : TableauAjoute(m_clTabModele,clModele) +cas 1 : TableauInsère(m_clTabModele,1,clModele) +fin +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MCheckList dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger() +06/08/2026 Isis_BO 6000 + +Partie 6 › Classe › MTableauDeCheckList › Code +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +sdSource est une Source de Données +sReqSQL est une chaîne = [ +SELECT * +FROM CheckList +] +// exécution de la requête +si HExécuteRequêteSQL(sdSource,sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sdSource +clModele est un MCheckList +clModele.Charger(sdSource) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerDepuisIntervention +procédure ChargerDepuisIntervention(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +sReqSQL est une Requête SQL = +[ +SELECT CheckList.* +//,CheckList_Collab.* +,Collaborateur.* +FROM CheckList +LEFT OUTER JOIN CheckList_Collab ON (CheckList_Collab.CHC_IDCheckList=CheckList.CHK_PKID) +LEFT OUTER JOIN Collaborateur ON (Collaborateur.CO_PKID=CheckList_Collab.CHC_IDCollaborateur) +WHERE CheckList.CHK_IDIntervention={p_IdIntervention} +AND (CheckList_Collab.CHC_PKID IS NULL OR (CheckList_Collab.CHC_PKID IS NOT NULL AND +CheckList_Collab.CHC_Fait=1)) +] +sReqSQL.p_IdIntervention = MesParamètres..Occurrence>=1 ? MesParamètres[1] sinon Null +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +clModele est un MCheckList +clModele.Charger(sReqSQL) +//clModele.m_clCheckListCollab.Charger(sReqSQL) +TableauAjoute(m_clTabModele,clModele) +clUnCollab est un MCollaborateur +clUnCollab.Charger(sReqSQL) +TableauAjoute(m_clTabModele[m_clTabModele..Occurrence]:m_clListeCollab,clUnCollab) +fin +06/08/2026 Isis_BO 6001 + +Partie 6 › Classe › MTableauDeCheckList › Code +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 6002 + +Partie 6 › Classe › PTableCheckList › Code +PTableCheckList +Code +Déclaration de PTableCheckList +PTableCheckList est une Classe +protégé +m_clTableauModele est un MTableauDeCheckList dynamique +// modèle associé à la présentation +m_clModeleCourant est un MCheckList dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeCheckList dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MCheckList +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MCheckList dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +06/08/2026 Isis_BO 6003 + +Partie 6 › Classe › PTableCheckList › Code +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier,*) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeCheckList +selon nMode +cas 0 : clTableauModele.Charger() +cas 1 : clTableauModele.ChargerDepuisIntervention(MesParamètres[2à]) +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableCheckList(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheCheckList(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MCheckList dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau(*) +nIndiceNew est un entier +clModele est un MCheckList() +clModele:m_bLiaison = MesParamètres..Occurrence>=1 ? MesParamètres[1] sinon Faux +clModele:m_nIDIntervention = MesParamètres..Occurrence>=2 ? MesParamètres[2] sinon 0 +nIndiceNew = MesParamètres..Occurrence>=3 ? MesParamètres[3] sinon 0 +clPresentationFiche est un PFicheCheckList(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MCheckList dynamique) +m_clTableauModele.Ajouter(nIndiceNew,pclModele) +fin +renvoyer clPresentationFiche +06/08/2026 Isis_BO 6004 + +Partie 6 › Classe › MCheckList_Collab › Code +MCheckList_Collab +Code +Déclaration de MCheckList_Collab +MCheckList_Collab est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_nIDCollaborateur est un entier sur 8 octets +m_nIDCheckList est un entier sur 8 octets +m_bFait est un booléen + +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer "" +06/08/2026 Isis_BO 6005 + +Partie 6 › Classe › PFicheCheckList_Collab › Code +PFicheCheckList_Collab +Code +Déclaration de PFicheCheckList_Collab +PFicheCheckList_Collab est une Classe +protégé +m_clModeleCourant est un MCheckList_Collab // modèle associé à la présentation +m_clModeleSource est un MCheckList_Collab dynamique // référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure // procédure à appeler lors de la validation +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURENREG +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURENREG : +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +06/08/2026 Isis_BO 6006 + +Partie 6 › Classe › PFicheCheckList_Collab › Code +procédure Constructeur(clModele est un MCheckList_Collab dynamique, pValidation est une procédure=Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MCheckList_Collab +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MCheckList_Collab() +clPresentation est un PFicheCheckList_Collab(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 6007 + +Partie 6 › Classe › MTableauDeCheckList_Collab › Code +MTableauDeCheckList_Collab +Code +Déclaration de MTableauDeCheckList_Collab +MTableauDeCheckList_Collab est une Classe +public +m_clTabModele est un tableau de MCheckList_Collab dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MCheckList_Collab dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MCheckList_Collab dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger() +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 6008 + +Partie 6 › Classe › MTableauDeCheckList_Collab › Code +// +// récupération des données +sdSource est une Source de Données +sReqSQL est une chaîne = [ +SELECT * +FROM CheckList_Collab +] +// exécution de la requête +si HExécuteRequêteSQL(sdSource,sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sdSource +clModele est un MCheckList_Collab +clModele.Charger(sdSource) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 6009 + +Partie 6 › Classe › PTableCheckList_Collab › Code +PTableCheckList_Collab +Code +Déclaration de PTableCheckList_Collab +PTableCheckList_Collab est une Classe +protégé +m_clTableauModele est un MTableauDeCheckList_Collab dynamique +// modèle associé à la présentation +m_clModeleCourant est un MCheckList_Collab dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeCheckList_Collab dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MCheckList_Collab +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MCheckList_Collab dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +06/08/2026 Isis_BO 6010 + +Partie 6 › Classe › PTableCheckList_Collab › Code +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation() +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeCheckList_Collab +clTableauModele.Charger() +// création de la nouvelle instance de présentation +clPresentation est un PTableCheckList_Collab(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheCheckList_Collab(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MCheckList_Collab dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau() +clModele est un MCheckList_Collab() +clPresentationFiche est un PFicheCheckList_Collab(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MCheckList_Collab dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +06/08/2026 Isis_BO 6011 + +Partie 6 › Classe › MIntervention_Personne › Code +MIntervention_Personne +Code +Déclaration de MIntervention_Personne +MIntervention_Personne est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_nIDInterventionest un entier sur 8 octets +m_nIDPersonne est un entier sur 8 octets +| m_nIDClient | est un entier sur 8 octets | | | +| --------------- | -------------------------- | ------------------------- | --- | +| m_nIDLieu | est un entier sur 8 octets | | | +| m_nIDRole | est un entier sur 8 octets | | | +| m_bEstDemandeur | est un booléen | | | +| m_sEtage | est une chaîne ANSI | | | +| m_sLot | est une chaîne ANSI | | | +| m_nIDImport | est un entier sur 8 octets | | | + +| m_clLieuPersonne | est un MLieu_Personne | | | +| ---------------- | --------------------- | --- | --- | +| m_clContact | est un MPersonne | | | +| ImageDemandeur | est une chaîne | | | +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété Demandeur +procédure publique Demandeur() : booléen +si m_bEstDemandeur alors +renvoyer m_bEstDemandeur +sinon +renvoyer "" +fin +Affectation de la propriété Demandeur +procédure publique Demandeur(bValeur est un booléen) +m_bEstDemandeur=bValeur +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété ImageDemandeur +| 06/08/2026 | | Isis_BO | 6012 | +| ---------- | --- | ------- | ---- | + +Partie 6 › Classe › MIntervention_Personne › Code +procédure publique ImageDemandeur() +si m_bEstDemandeur alors +si :m_nIDClient<>0 alors +renvoyer "demandeur_ok_vert.png" +sinon si :m_nIDLieu<>0 alors +renvoyer "demandeur_ok_bleu.png" +sinon +renvoyer "demandeur_ok_noir.png" +fin +sinon +si :m_nIDClient<>0 alors +renvoyer "demandeur_ok_vert_vide.png" +sinon si :m_nIDLieu<>0 alors +renvoyer "demandeur_ok_bleu_vide.png" +fin +fin +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer "" +06/08/2026 Isis_BO 6013 + +Partie 6 › Classe › PFicheIntervention_Personne › Code +PFicheIntervention_Personne +Code +Déclaration de PFicheIntervention_Personne +PFicheIntervention_Personne est une Classe +protégé +m_clModeleCourant est un MIntervention_Personne // modèle associé à la présentation +m_clModeleSource est un MIntervention_Personne dynamique // référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +fin +Méthode bOK +procédure bOK(clErreur est un CErreur,local bIgnoreCompare est un booléen=Faux) +//,LOCAL bAvecTransaction est un booléen,LOCAL bMajCourant est un booléen +bRenvoyer est un booléen = Faux +quand exception dans +si bIgnoreCompare=Faux _et_ ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// SI bAvecTransaction ALORS HTransactionDébut(gcnxBO,"Intervention_Personne") +si pas clErreur.p_bOk alors goto ERREURTRANSAC +//************************************************** +//Traitement des données Intervention_Personne +//************************************************** +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier Intervention_Client_Personne +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURTRANSAC +si :m_clLieuPersonne<>Null _et_ :m_clLieuPersonne:IdentifiantUnique>0 _et_ :m_clLieuPersonne:m_n +IDLieu>0 _et_ :m_clLieuPersonne:m_nIDPersonne>0 alors +:m_clModeleCourant:m_clLieuPersonne:m_sEtage = m_clModeleCourant:m_sEtage +:m_clModeleCourant:m_clLieuPersonne:m_sLot = m_clModeleCourant:m_sLot +si pas m_clModeleCourant:m_clLieuPersonne:bEnregistrer(clErreur) alors goto +ERREURTRANSAC +fin +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +// SI bMajCourant ALORS +// m_clModeleCourant <= m_clModeleSource +06/08/2026 Isis_BO 6014 + +Partie 6 › Classe › PFicheIntervention_Personne › Code +// FIN +//Termine la transaction +// SI bAvecTransaction ALORS HTransactionFin(gcnxBO) +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURTRANSAC : +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Annulation de la transaction +// SI bAvecTransaction ALORS HTransactionAnnule(gcnxBO) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MIntervention_Personne dynamique, pValidation est une procédure= +Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MIntervention_Personne +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +06/08/2026 Isis_BO 6015 + +Partie 6 › Classe › PFicheIntervention_Personne › Code +clModele est un MIntervention_Personne() +clPresentation est un PFicheIntervention_Personne(clModele,pValidation) +renvoyer clPresentation +| 06/08/2026 | Isis_BO | 6016 | +| ---------- | ------- | ---- | + +Partie 6 › Classe › MTableauDeIntervention_Personne › Code +MTableauDeIntervention_Personne +Code +Déclaration de MTableauDeIntervention_Personne +MTableauDeIntervention_Personne est une Classe +public +m_clTabModele est un tableau de MIntervention_Personne dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MIntervention_Personne dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MIntervention_Personne dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger() +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 6017 + +Partie 6 › Classe › MTableauDeIntervention_Personne › Code +// +// récupération des données +sdSource est une Source de Données +sReqSQL est une chaîne = [ +SELECT * +FROM Intervention_Personne +] +// exécution de la requête +si HExécuteRequêteSQL(sdSource,sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sdSource +clModele est un MIntervention_Personne +clModele.Charger(sdSource) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerContactClientIntervention +procédure ChargerContactClientIntervention(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +ReqSQL est une Requête SQL = [ +SELECT Personne.*,Client.*,Intervention_Personne.* +FROM Intervention_Personne +INNER JOIN Client ON (Client.CL_PKID=Intervention_Personne.IP_IDClient) +INNER JOIN Personne ON (Personne.PE_PKID=Intervention_Personne.IP_IDPersonne) +WHERE Intervention_Personne.IP_IDIntervention={p_IdIntervention} +AND Intervention_Personne.IP_IDClient={p_IdClient} +] +ReqSQL.p_IdIntervention = MesParamètres..Occurrence>=1 ? MesParamètres[1]=-1 ? Null sinon MesParamètres +[1] sinon Null +ReqSQL.p_IdClient = MesParamètres..Occurrence>=2 ? MesParamètres[2]=-1 ? Null sinon MesParamètres[2] +sinon 0 +// exécution de la requête +si HExécuteRequêteSQL(ReqSQL) alors +// charge les enregistrements en mémoire +pour tout ReqSQL +clModele est un MIntervention_Personne +clModele.Charger(ReqSQL) +clModele.m_clContact.Charger(ReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerContactSiteIntervention +procédure ChargerContactSiteIntervention(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +06/08/2026 Isis_BO 6018 + +Partie 6 › Classe › MTableauDeIntervention_Personne › Code +// chargement à personnaliser selon votre contexte +// +ReqSQL est une Requête SQL = [ +SELECT Personne.*,Intervention_Personne.*,Lieu_Personne.* +FROM Intervention_Personne +LEFT OUTER JOIN Lieu_Personne ON (LIP_IDLieu=IP_IDLieu AND LIP_IDPersonne=IP_IDPersonne) +INNER JOIN Personne ON (PE_PKID=IP_IDPersonne) +WHERE IP_IDIntervention={p_IdIntervention} +AND (IP_IDLieu={p_IdLieu} AND {p_IdLieu}<>0) +] +ReqSQL.p_IdIntervention = MesParamètres..Occurrence>=1 ? MesParamètres[1]=-1 ? Null sinon MesParamètres +[1] sinon Null +ReqSQL.p_IdLieu = MesParamètres..Occurrence>=2 ? MesParamètres[2]=-1 ? Null sinon MesParamètres[2] +sinon 0 +// exécution de la requête +si HExécuteRequêteSQL(ReqSQL) alors +// charge les enregistrements en mémoire +pour tout ReqSQL +clModele est un MIntervention_Personne +clModele.Charger(ReqSQL) +clModele.m_clLieuPersonne.Charger(ReqSQL) +clModele.m_clLieuPersonne.m_clContact.Charger(ReqSQL) +clModele.m_clContact.Charger(ReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 6019 + +Partie 6 › Classe › PTableIntervention_Personne › Code +PTableIntervention_Personne +Code +Déclaration de PTableIntervention_Personne +PTableIntervention_Personne est une Classe +protégé +m_clTableauModele est un MTableauDeIntervention_Personne dynamique +// modèle associé à la présentation +m_clModeleCourant est un MIntervention_Personne dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeIntervention_Personne dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MIntervention_Personne +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MIntervention_Personne dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +06/08/2026 Isis_BO 6020 + +Partie 6 › Classe › PTableIntervention_Personne › Code +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier,*) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeIntervention_Personne +selon nMode +cas 0 : clTableauModele.Charger() +cas 1 : clTableauModele.ChargerContactClientIntervention(MesParamètres[2à]) +cas 2 : clTableauModele.ChargerContactSiteIntervention(MesParamètres[2à]) +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableIntervention_Personne(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheIntervention_Personne(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MIntervention_Personne dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau(*) +clModele est un MIntervention_Personne() +clPresentationFiche est un PFicheIntervention_Personne(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MIntervention_Personne dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +Méthode TableModeles +// Résumé : +// Syntaxe : +// TableModeles () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure TableModeles() :tableau d'entiers sur 8 octets +06/08/2026 Isis_BO 6021 + +Partie 6 › Classe › PTableIntervention_Personne › Code +tabIdDemandeur est un tableau d'entiers sur 8 octets +pour tout pclDemandeur de :m_clTableauModele:m_clTabModele +si pclDemandeur.m_bEstDemandeur alors +TableauAjoute(tabIdDemandeur,pclDemandeur.m_nIDPersonne) +fin +fin +renvoyer tabIdDemandeur +Méthode Trie +// Résumé : +// Syntaxe : +//Trie () +// +// Paramètres : +// sMembresTrie : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Trie(sMembresTrie) +si sMembresTrie<>"" alors +TableauTrie(:m_clTabModele, ttMembre,sMembresTrie) +fin +06/08/2026 Isis_BO 6022 + +Partie 6 › Classe › MEtatFicheDeplacement › Code +MEtatFicheDeplacement +Code +Déclaration de MEtatFicheDeplacement +MEtatFicheDeplacement est une Classe +m_sNumDossier est une chaîne +m_sNomSociete est une chaîne +m_sAdresseSociete est une chaîne +m_sRefInterneIntervention est une chaîne +m_dDateIntervention est une Date +m_sSuiviPar est une chaîne +m_sCiviliteNomPrenomOccupant est une chaîne +m_sTelFixe est une chaîne +m_sTelMobile est une chaîne +m_sRoleOccupant est une chaîne +m_sCodeSite est une chaîne +m_sAdresseSite est une chaîne +m_sCodeAcces est une chaîne +m_bBadge est un booléen +m_bInterphone est un booléen +m_sNoteSite est une chaîne +m_sEtage est une chaîne +m_sLot est une chaîne +m_sEtiquetteLieuPersonne est une chaîne +m_sNomClient est une chaîne +m_sCodeClient est une chaîne +m_sAdresseClient est une chaîne +m_sTelFixeClient est une chaîne +m_sTelMobileClient est une chaîne +m_sRefExterneIntervention est une chaîne +m_sDateRendezVous est une chaîne +m_sEtatIntervention est une chaîne +m_sTypeIntervention est une chaîne +m_sNumDevis est une chaîne +m_sTitreIntervention est une chaîne +m_sDescription est une chaîne +m_sNoteInterne est une chaîne +m_LogoSociete est une Image +m_sDonneurOrdre_1 est une chaîne +m_sDonneurOrdre_2 est une chaîne +m_clListeCollabGroup est un tableau local de MCollaborateur +m_clListePersonne est un tableau local de MPersonne +m_clContacts est une chaîne ANSI +m_clIntervenants est une chaîne ANSI +m_bSAV est un booléen +fin +Constructeur +procédure Constructeur() +Méthode Contacts +06/08/2026 Isis_BO 6023 + +Partie 6 › Classe › MEtatFicheDeplacement › Code +// Résumé : +// Syntaxe : +// Contacts () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Contacts(tabPersonnes est un tableau de MPlanning_RDV_Personne) +tabContactRDV est un tableau de MPersonne +pour tout clPers de tabPersonnes +TableauAjoute(tabContactRDV,clPers.m_clPersonne) +fin +pour tout clContact de tabContactRDV +si :m_clContacts <> "" alors +:m_clContacts += [RC] + " " +:m_clContacts += [RC] +fin +:m_clContacts += clContact.CiviliteNomPrenom + " " +si SansEspace(clContact.m_sTelFixe) <> "" alors +:m_clContacts += "Tel : "+clContact.m_sTelFixe + " / " +fin +si SansEspace(clContact.m_sTelMobile) <> "" alors +:m_clContacts += "Tel : "+clContact.m_sTelMobile + " / " +fin +si SansEspace(clContact.m_nIDRole) > 0 alors +:m_clContacts += gpclListeRoleContact.RechercheEtDonneLibelleDepuisID(clContact.m_nIDRole) +fin +si SansEspace(clContact.m_sEtage) <> "" alors +:m_clContacts += " Étage " + clContact.m_sEtage +fin +si SansEspace(clContact.m_sLot) <> "" alors +:m_clContacts += " Lot " + clContact.m_sLot +fin +fin +Destructeur +procédure Destructeur() +Méthode Intervenants +// Résumé : +// Syntaxe : +//Intervenants ( est tableau) +// +// Paramètres : +// tabListeCollabGroup (tableau) : +// Valeur de retour : +06/08/2026 Isis_BO 6024 + +Partie 6 › Classe › MEtatFicheDeplacement › Code +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Intervenants(tabListeCollabGroup est un tableau de MCollaborateur) +pour tout clCollab de tabListeCollabGroup +si :m_clIntervenants <> "" alors +:m_clIntervenants += "," +fin +:m_clIntervenants += clCollab.m_sNom + " " + clCollab.m_sPrenom + " " +fin +Méthode RechercheIntervenant +procédure RechercheIntervenant(local nIdRdv est un entier sur 8 octets) +:m_clIntervenants = Remplace(:m_clIntervenants,RC," ") +si nIdRdv > 0 et SansEspace(:m_clIntervenants) = "" alors +reqSql est une Requête SQL = +[ +SELECT CO_Nom, CO_Prenom FROM Planning_RDV INNER JOIN Collaborateur ON CO_PKID = PL_IDCollaborateur +WHERE PL_PKID = {p_IdRdv} +] +reqSql.p_IdRdv = nIdRdv +si HExécuteRequêteSQL(reqSql) alors +:m_clIntervenants = reqSql.co_nom + [" "] + reqSql.CO_Prenom +fin +fin +06/08/2026 Isis_BO 6025 + +Partie 6 › Classe › MIntervention_Collaborateur › Code +MIntervention_Collaborateur +Code +Déclaration de MIntervention_Collaborateur +MIntervention_Collaborateur est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_nIDInterventionest un entier sur 8 octets +m_nIDCollaborateur est un entier sur 8 octets + +m_clCollaborateurest un MCollaborateur +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer "" +06/08/2026 Isis_BO 6026 + +Partie 6 › Classe › PFicheIntervention_Collaborateur › Code +PFicheIntervention_Collaborateur +Code +Déclaration de PFicheIntervention_Collaborateur +PFicheIntervention_Collaborateur est une Classe +protégé +m_clModeleCourant est un MIntervention_Collaborateur +// modèle associé à la présentation +m_clModeleSource est un MIntervention_Collaborateur dynamique +// référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURENREG +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURENREG : +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +06/08/2026 Isis_BO 6027 + +Partie 6 › Classe › PFicheIntervention_Collaborateur › Code +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MIntervention_Collaborateur dynamique, pValidation est une +procédure=Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MIntervention_Collaborateur +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MIntervention_Collaborateur() +clPresentation est un PFicheIntervention_Collaborateur(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 6028 + +Partie 6 › Classe › MTableauDeIntervention_Collaborateur › Code +MTableauDeIntervention_Collaborateur +Code +Déclaration de MTableauDeIntervention_Collaborateur +MTableauDeIntervention_Collaborateur est une Classe +public +m_clTabModele est un tableau de MIntervention_Collaborateur dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MIntervention_Collaborateur dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MIntervention_Collaborateur dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger() +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 6029 + +Partie 6 › Classe › MTableauDeIntervention_Collaborateur › Code +// +// récupération des données +sdSource est une Source de Données +sReqSQL est une chaîne = [ +SELECT * +FROM Intervention_Collaborateur +] +// exécution de la requête +si HExécuteRequêteSQL(sdSource,sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sdSource +clModele est un MIntervention_Collaborateur +clModele.Charger(sdSource) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerDepuisIntervention +procédure ChargerDepuisIntervention(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +sReqSQL est une Requête SQL = [ +SELECT * +FROM Intervention_Collaborateur +INNER JOIN Collaborateur ON (Collaborateur.CO_PKID=Intervention_Collaborateur.IC_IDCollaborateur) +WHERE Intervention_Collaborateur.IC_IDIntervention={p_IdIntervention} +] +sReqSQL.p_IdIntervention = MesParamètres..Occurrence>=1 ? MesParamètres[1] sinon Null +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +clModele est un MIntervention_Collaborateur +clModele.Charger(sReqSQL) +clModele.m_clCollaborateur.Charger(sReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 6030 + +Partie 6 › Classe › PTableIntervention_Collaborateur › Code +PTableIntervention_Collaborateur +Code +Déclaration de PTableIntervention_Collaborateur +PTableIntervention_Collaborateur est une Classe +protégé +m_clTableauModele est un MTableauDeIntervention_Collaborateur dynamique +// modèle associé à la présentation +m_clModeleCourant est un MIntervention_Collaborateur dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeIntervention_Collaborateur dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MIntervention_Collaborateur +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MIntervention_Collaborateur dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +06/08/2026 Isis_BO 6031 + +Partie 6 › Classe › PTableIntervention_Collaborateur › Code +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier,*) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeIntervention_Collaborateur +selon nMode +cas 0 : clTableauModele.Charger() +cas 1 : clTableauModele.ChargerDepuisIntervention(MesParamètres[2à]) +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableIntervention_Collaborateur(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheIntervention_Collaborateur(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MIntervention_Collaborateur dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau(*) +clModele est un MIntervention_Collaborateur() +clModele.m_bLiaison = MesParamètres..Occurrence>=1 ? MesParamètres[1] sinon Faux +clModele.m_nIDIntervention= MesParamètres..Occurrence>=2 ? MesParamètres[2] sinon 0 +clPresentationFiche est un PFicheIntervention_Collaborateur(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MIntervention_Collaborateur dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +06/08/2026 Isis_BO 6032 + +Partie 6 › Classe › MParametreUtilisateur › Code +MParametreUtilisateur +Code +Déclaration de MParametreUtilisateur +MParametreUtilisateur est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_sCode est une chaîne ANSI +m_nIDUtilisateur est un entier sur 8 octets +m_sValeur est une chaîne + +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +06/08/2026 Isis_BO 6033 + +Partie 6 › Classe › PFicheParametreUtilisateur › Code +PFicheParametreUtilisateur +Code +Déclaration de PFicheParametreUtilisateur +PFicheParametreUtilisateur est une Classe +protégé +m_clModeleCourant est un MParametreUtilisateur // modèle associé à la présentation +m_clModeleSource est un MParametreUtilisateur dynamique // référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURENREG +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURENREG : +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +06/08/2026 Isis_BO 6034 + +Partie 6 › Classe › PFicheParametreUtilisateur › Code +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MParametreUtilisateur dynamique, pValidation est une procédure= +Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MParametreUtilisateur +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MParametreUtilisateur() +clPresentation est un PFicheParametreUtilisateur(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 6035 + +Partie 6 › Classe › MTableauDeParametreUtilisateur › Code +MTableauDeParametreUtilisateur +Code +Déclaration de MTableauDeParametreUtilisateur +MTableauDeParametreUtilisateur est une Classe +public +m_clTabModele est un tableau de MParametreUtilisateur dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MParametreUtilisateur dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MParametreUtilisateur dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger(nIDUtilisateur est un entier sur 8 octets) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 6036 + +Partie 6 › Classe › MTableauDeParametreUtilisateur › Code +// +// récupération des données +ReqSQL est une Requête SQL = +[ +SELECT * +FROM ParametreUtilisateur +WHERE ParametreUtilisateur.PU_IDUtilisateur={P_IdUtilisateur} +] +ReqSQL.P_IdUtilisateur = nIDUtilisateur=-1 ? Null sinon nIDUtilisateur +// exécution de la requête +si HExécuteRequête(ReqSQL) alors +// charge les enregistrements en mémoire +pour tout ReqSQL +clModele est un MParametreUtilisateur +clModele.Charger(ReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 6037 + +Partie 6 › Classe › PTableParametreUtilisateur › Code +PTableParametreUtilisateur +Code +Déclaration de PTableParametreUtilisateur +PTableParametreUtilisateur est une Classe +protégé +m_clTableauModele est un MTableauDeParametreUtilisateur dynamique +// modèle associé à la présentation +m_clModeleCourant est un MParametreUtilisateur dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeParametreUtilisateur dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MParametreUtilisateur +si :m_clModeleCourant <> Null alors +renvoyer m_clModeleCourant +sinon +UnModeleCourant est un MParametreUtilisateur dynamique +UnModeleCourant = allouer un MParametreUtilisateur +:m_clModeleCourant = UnModeleCourant +TableauAjoute(:m_clTableauModele,:m_clModeleCourant) +renvoyer m_clModeleCourant +fin +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MParametreUtilisateur dynamique) +06/08/2026 Isis_BO 6038 + +Partie 6 › Classe › PTableParametreUtilisateur › Code +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nIdUtilisateur est un entier sur 8 octets) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeParametreUtilisateur +clTableauModele.Charger(nIdUtilisateur) +// création de la nouvelle instance de présentation +clPresentation est un PTableParametreUtilisateur(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheParametreUtilisateur(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MParametreUtilisateur dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau() +clModele est un MParametreUtilisateur() +clPresentationFiche est un PFicheParametreUtilisateur(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MParametreUtilisateur dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +06/08/2026 Isis_BO 6039 + +Partie 6 › Classe › MPlanning_RDV_Personne › Code +MPlanning_RDV_Personne +Code +Déclaration de MPlanning_RDV_Personne +MPlanning_RDV_Personne est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_nIDPersonne est un entier sur 8 octets +m_nIDRdv est un entier sur 8 octets +m_nIDGroupeRDV est un entier sur 8 octets + +m_clPersonne est un MPersonne +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer "" +06/08/2026 Isis_BO 6040 + +Partie 6 › Classe › PFichePlanning_RDV_Personne › Code +PFichePlanning_RDV_Personne +Code +Déclaration de PFichePlanning_RDV_Personne +PFichePlanning_RDV_Personne est une Classe +protégé +m_clModeleCourant est un MPlanning_RDV_Personne // modèle associé à la présentation +m_clModeleSource est un MPlanning_RDV_Personne dynamique // référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +fin +Méthode AppelProcValidation +// Résumé : +procédure AppelProcValidation() +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +DemandeMiseAJourIHM() +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURENREG +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +06/08/2026 Isis_BO 6041 + +Partie 6 › Classe › PFichePlanning_RDV_Personne › Code +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURENREG : +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MPlanning_RDV_Personne dynamique, pValidation est une procédure= +Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MPlanning_RDV_Personne +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MPlanning_RDV_Personne() +clPresentation est un PFichePlanning_RDV_Personne(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 6042 + +Partie 6 › Classe › MTableauDePlanning_RDV_Personne › Code +MTableauDePlanning_RDV_Personne +Code +Déclaration de MTableauDePlanning_RDV_Personne +MTableauDePlanning_RDV_Personne est une Classe +public +m_clTabModele est un tableau de MPlanning_RDV_Personne dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MPlanning_RDV_Personne dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MPlanning_RDV_Personne dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger(local nIDRdv est un entier sur 8 octets) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +nIdPers est un entier sur 8 octets +nIndice est un entier +// +06/08/2026 Isis_BO 6043 + +Partie 6 › Classe › MTableauDePlanning_RDV_Personne › Code +// chargement à personnaliser selon votre contexte +// +// récupération des données +sReqSQL est une Requête SQL = +[ +SELECT Planning_RDV_Personne.*,Personne.*,LIP_Etage,LIP_Lot//,Lieu.* +FROM Planning_RDV_Personne +INNER JOIN Personne ON (Personne.PE_PKID=Planning_RDV_Personne.PRP_IDPersonne) +INNER JOIN Lieu_Personne ON (Lieu_Personne.LIP_IDPersonne = Personne.PE_PKID) +//inner join Lieu on (Lieu.LI_PKID = Lieu_Personne.LIP_IDLieu) +WHERE Planning_RDV_Personne.PRP_IDRdv={P_nIDRdv} AND Planning_RDV_Personne.Archive=0 ORDER BY +PRP_IDRdv +] +sReqSQL.P_nIDRdv = nIDRdv=-1 ? Null sinon nIDRdv +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +si nIdPers <> sReqSQL.PRP_IDPersonne alors +nIdPers = sReqSQL.PRP_IDPersonne +clModele est un MPlanning_RDV_Personne +clModele.Charger(sReqSQL) +clModele.m_clPersonne.Charger(sReqSQL) +clModele.m_clPersonne.m_sEtage = sReqSQL.LIP_Etage +clModele.m_clPersonne.m_sLot = sReqSQL.LIP_Lot +nIndice = TableauAjoute(m_clTabModele,clModele) +sinon +si nIndice > 0 _et_ m_clTabModele..Occurrence >= nIndice alors +si SansEspace(sReqSQL.LIP_Etage) <> "" alors +m_clTabModele[nIndice].m_clPersonne.m_sEtage = sReqSQL.LIP_Etage +fin +si SansEspace(sReqSQL.LIP_Lot) <> "" alors +m_clTabModele[nIndice].m_clPersonne.m_sLot = sReqSQL.LIP_Lot +fin +fin +fin +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 6044 + +Partie 6 › Classe › PTablePlanning_RDV_Personne › Code +PTablePlanning_RDV_Personne +Code +Déclaration de PTablePlanning_RDV_Personne +PTablePlanning_RDV_Personne est une Classe +protégé +m_clTableauModele est un MTableauDePlanning_RDV_Personne dynamique +// modèle associé à la présentation +m_clModeleCourant est un MPlanning_RDV_Personne dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDePlanning_RDV_Personne dynamique) +m_clTableauModele=clTableauModele +Méthode ContactsRDV +procédure ContactsRDV(nIdRdv est un entier sur 8 octets) :tableau de MPersonne +tabContactRdv est un tableau de MPersonne +pour tout pclPers de :m_clTableauModele:m_clTabModele +si pclPers.m_nIDRdv = nIdRdv alors +TableauAjoute(tabContactRdv,pclPers.m_clPersonne) +fin +fin +renvoyer tabContactRdv +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +06/08/2026 Isis_BO 6045 + +Partie 6 › Classe › PTablePlanning_RDV_Personne › Code +procédure publique p_clCourant() : MPlanning_RDV_Personne +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MPlanning_RDV_Personne dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nIDRdv est un entier sur 8 octets=-1) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDePlanning_RDV_Personne +clTableauModele.Charger(nIDRdv) +// création de la nouvelle instance de présentation +clPresentation est un PTablePlanning_RDV_Personne(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFichePlanning_RDV_Personne(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MPlanning_RDV_Personne dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau() +clModele est un MPlanning_RDV_Personne() +clPresentationFiche est un PFichePlanning_RDV_Personne(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MPlanning_RDV_Personne dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +06/08/2026 Isis_BO 6046 + +Partie 6 › Classe › MEtatFicheIntervention › Code +MEtatFicheIntervention +Code +Déclaration de MEtatFicheIntervention +MEtatFicheIntervention est une Classe +m_sNumDossier est une chaîne +m_sNomSociete est une chaîne +m_sAdresseSociete est une chaîne +m_sRefInterneIntervention est une chaîne +m_dDateIntervention est une Date +m_sSuiviPar est une chaîne +m_sCodeSite est une chaîne +m_sAdresseSite est une chaîne +m_sCodeAcces est une chaîne +m_bBadge est un booléen +m_bInterphone est un booléen +m_sNoteSite est une chaîne +m_sNomClient est une chaîne +m_sCodeClient est une chaîne +m_sTelFixeClient est une chaîne +m_sAdresseClient est une chaîne +m_sRefExterneIntervention est une chaîne +m_sDateRendezVous est une chaîne +m_sDescription est une chaîne +m_sEtatIntervention est une chaîne +m_sTypeIntervention est une chaîne +m_sNumDevis est une chaîne +m_sTitreIntervention est une chaîne +m_sDonneurOrdre_1 est une chaîne +m_sDonneurOrdre_2 est une chaîne +m_LogoSociete est une Image +m_ListeContacts est une chaîne ANSI +m_clListeContact est un tableau local de MIntervention_Personne +m_clListeContactCli est un tableau local de MIntervention_Personne +m_clListeCollaborateur est un tableau local de MIntervention_Collaborateur +fin +Constructeur +procédure Constructeur() +Méthode Contacts +procédure Contacts() +pour tout clContact de :m_clListeContact +si :m_ListeContacts <> "" alors +:m_ListeContacts += [RC] + " " +:m_ListeContacts += [RC] +fin +:m_ListeContacts += clContact.m_clContact.CiviliteNomPrenom + " " +si SansEspace(clContact.m_clContact.m_sTelFixe) <> "" alors +:m_ListeContacts += "Tel : "+clContact.m_clContact.m_sTelFixe + " / " +06/08/2026 Isis_BO 6047 + +Partie 6 › Classe › MEtatFicheIntervention › Code +fin +si SansEspace(clContact.m_clContact.m_sTelMobile) <> "" alors +:m_ListeContacts += "Tel : "+clContact.m_clContact.m_sTelMobile + " / " +fin +si SansEspace(clContact.m_nIDRole) > 0 alors +:m_ListeContacts += gpclListeRoleContact.RechercheEtDonneLibelleDepuisID(clContact.m_nIDRole) +fin +si SansEspace(clContact.m_sEtage) <> "" alors +:m_ListeContacts += " Étage " + clContact.m_sEtage +fin +si SansEspace(clContact.m_sLot) <> "" alors +:m_ListeContacts += " Lot " + clContact.m_sLot +fin +fin +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 6048 + +Partie 6 › Classe › MIntervention_ChampLibre › Code +MIntervention_ChampLibre +Code +Déclaration de MIntervention_ChampLibre +MIntervention_ChampLibre est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_nIDIntervention est un entier sur 8 octets +m_nIDParametreMetier est un entier sur 8 octets +m_sValeurDuChamp est une chaîne ANSI + +m_sLibChampLibre est une chaîne +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer "" +06/08/2026 Isis_BO 6049 + +Partie 6 › Classe › PFicheIntervention_ChampLibre › Code +PFicheIntervention_ChampLibre +Code +Déclaration de PFicheIntervention_ChampLibre +PFicheIntervention_ChampLibre est une Classe +protégé +m_clModeleCourant est un MIntervention_ChampLibre +// modèle associé à la présentation +m_clModeleSource est un MIntervention_ChampLibre dynamique // référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURENREG +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURENREG : +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +06/08/2026 Isis_BO 6050 + +Partie 6 › Classe › PFicheIntervention_ChampLibre › Code +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MIntervention_ChampLibre dynamique, pValidation est une +procédure=Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MIntervention_ChampLibre +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MIntervention_ChampLibre() +clPresentation est un PFicheIntervention_ChampLibre(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 6051 + +Partie 6 › Classe › MTableauDeIntervention_ChampLibre › Code +MTableauDeIntervention_ChampLibre +Code +Déclaration de MTableauDeIntervention_ChampLibre +MTableauDeIntervention_ChampLibre est une Classe +public +m_clTabModele est un tableau de MIntervention_ChampLibre dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MIntervention_ChampLibre dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MIntervention_ChampLibre dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger() +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 6052 + +Partie 6 › Classe › MTableauDeIntervention_ChampLibre › Code +// +// récupération des données +sdSource est une Source de Données +sReqSQL est une chaîne = [ +SELECT * +FROM Intervention_ChampLibre +] +// exécution de la requête +si HExécuteRequêteSQL(sdSource,sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sdSource +clModele est un MIntervention_ChampLibre +clModele.Charger(sdSource) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerViaIntervention +procédure ChargerViaIntervention(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +sReqSQL est une Requête SQL = +[ +SELECT PA_PKID AS ICL_IDParametreMetier +,PA_Libelle AS LibChampLibre +,PA_Ordre +,(SELECT ICL_IDIntervention FROM Intervention_ChampLibre WHERE PA_PKID=ICL_IDParametreMetier AND +Intervention_ChampLibre.ICL_IDIntervention = {p_idIntervention}) AS ICL_IDIntervention +//,(SELECT ICL_IDIntervention_ICL_IDParametreMetier FROM Intervention_ChampLibre WHERE +PA_PKID=ICL_IDParametreMetier AND Intervention_ChampLibre.ICL_IDIntervention = 0) AS +ICL_IDIntervention_ICL_IDParametreMetier +,(SELECT ICL_PKID FROM Intervention_ChampLibre WHERE PA_PKID=ICL_IDParametreMetier AND +Intervention_ChampLibre.ICL_IDIntervention = {p_idIntervention}) AS ICL_PKID +,(SELECT ICL_ValeurDuChamp FROM Intervention_ChampLibre WHERE PA_PKID=ICL_IDParametreMetier AND +Intervention_ChampLibre.ICL_IDIntervention = {p_idIntervention}) AS ICL_ValeurDuChamp +FROM ParametreMetier +WHERE PA_Code='01' AND PA_Actif=1 +ORDER BY PA_Ordre +] +sReqSQL.p_idIntervention = MesParamètres..Occurrence >=1 ? MesParamètres[1] sinon Null +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +clModele est un MIntervention_ChampLibre +clModele.Charger(sReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +06/08/2026 Isis_BO 6053 + +Partie 6 › Classe › MTableauDeIntervention_ChampLibre › Code +procédure Constructeur() +Destructeur +procédure Destructeur() +| 06/08/2026 | Isis_BO | 6054 | +| ---------- | ------- | ---- | + +Partie 6 › Classe › PTableIntervention_ChampLibre › Code +PTableIntervention_ChampLibre +Code +Déclaration de PTableIntervention_ChampLibre +PTableIntervention_ChampLibre est une Classe +protégé +m_clTableauModele est un MTableauDeIntervention_ChampLibre dynamique +// modèle associé à la présentation +m_clModeleCourant est un MIntervention_ChampLibre dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeIntervention_ChampLibre dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MIntervention_ChampLibre +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MIntervention_ChampLibre dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +06/08/2026 Isis_BO 6055 + +Partie 6 › Classe › PTableIntervention_ChampLibre › Code +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier,*) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeIntervention_ChampLibre +selon nMode +cas 0 : clTableauModele.Charger() +cas 1 : clTableauModele.ChargerViaIntervention(MesParamètres[2à]) +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableIntervention_ChampLibre(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheIntervention_ChampLibre(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MIntervention_ChampLibre dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau(*) +clModele est un MIntervention_ChampLibre() +clModele:m_bLiaison = MesParamètres..Occurrence>=1 ? MesParamètres[1] sinon Faux +clModele:m_nIDIntervention = MesParamètres..Occurrence>=2 ? MesParamètres[2] sinon 0 +clPresentationFiche est un PFicheIntervention_ChampLibre(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MIntervention_ChampLibre dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +06/08/2026 Isis_BO 6056 + +Partie 6 › Classe › MCompteRendu › Code +MCompteRendu +Code +Déclaration de MCompteRendu +MCompteRendu est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_nIDRdv est un entier sur 8 octets +m_nIDIntervention est un entier sur 8 octets +m_dhDateHeureDebut est une DateHeure +m_dhDateHeureFin est une DateHeure +m_sNomSignataire est une chaîne ANSI +m_sNoteSignataire est une chaîne ANSI +m_dhDateHeureSignature est une DateHeure +m_sNoteCollaborateur est une chaîne +m_Signature est un Buffer +m_SignatureTech est un Buffer +m_sNomSignataireTech est une chaîne +m_bDevisConforme est un booléen +m_bAvecReserve est un booléen +m_sReserveCommentaireest une chaîne +m_nIDTypeSignataire est un entier sur 8 octets + +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer "" +06/08/2026 Isis_BO 6057 + +Partie 6 › Classe › PFicheCompteRendu › Code +PFicheCompteRendu +Code +Déclaration de PFicheCompteRendu +PFicheCompteRendu est une Classe +protégé +m_clModeleCourant est un MCompteRendu // modèle associé à la présentation +m_clModeleSource est un MCompteRendu dynamique // référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURENREG +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURENREG : +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +06/08/2026 Isis_BO 6058 + +Partie 6 › Classe › PFicheCompteRendu › Code +fin +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MCompteRendu dynamique, pValidation est une procédure=Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MCompteRendu +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MCompteRendu() +clPresentation est un PFicheCompteRendu(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 6059 + +Partie 6 › Classe › MTableauDeCompteRendu › Code +MTableauDeCompteRendu +Code +Déclaration de MTableauDeCompteRendu +MTableauDeCompteRendu est une Classe +public +m_clTabModele est un tableau de MCompteRendu dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MCompteRendu dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MCompteRendu dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger() +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 6060 + +Partie 6 › Classe › MTableauDeCompteRendu › Code +// +// récupération des données +sdSource est une Source de Données +sReqSQL est une chaîne = [ +SELECT * +FROM CompteRendu +] +// exécution de la requête +si HExécuteRequêteSQL(sdSource,sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sdSource +clModele est un MCompteRendu +clModele.Charger(sdSource) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerViaIntervention +procédure ChargerViaIntervention(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +sReqSQL est une Requête SQL = [ +SELECT * +FROM CompteRendu +WHERE CompteRendu.CR_IDIntervention={p_IDIntervention} +ORDER BY CompteRendu.CR_DateHeureDebut DESC +] +sReqSQL.p_IDIntervention=MesParamètres..Occurrence>=1 ? MesParamètres[1] sinon Null +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +clModele est un MCompteRendu +clModele.Charger(sReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 6061 + +Partie 6 › Classe › PTableCompteRendu › Code +PTableCompteRendu +Code +Déclaration de PTableCompteRendu +PTableCompteRendu est une Classe +protégé +m_clTableauModele est un MTableauDeCompteRendu dynamique +// modèle associé à la présentation +m_clModeleCourant est un MCompteRendu dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeCompteRendu dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MCompteRendu +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MCompteRendu dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +06/08/2026 Isis_BO 6062 + +Partie 6 › Classe › PTableCompteRendu › Code +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier,*) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeCompteRendu +selon nMode +cas 0 : clTableauModele.Charger() +cas 1 : clTableauModele.ChargerViaIntervention(MesParamètres[2à]) +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableCompteRendu(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheCompteRendu(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MCompteRendu dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau() +clModele est un MCompteRendu() +clPresentationFiche est un PFicheCompteRendu(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MCompteRendu dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +Méthode Trie +// Résumé : +// Syntaxe : +//Trie () +// +// Paramètres : +// sMembresTrie : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Trie(sMembresTrie) +si sMembresTrie<>"" alors +06/08/2026 Isis_BO 6063 + +Partie 6 › Classe › PTableCompteRendu › Code +TableauTrie(:m_clTabModele, ttMembre,sMembresTrie) +fin +| 06/08/2026 | Isis_BO | 6064 | +| ---------- | ------- | ---- | + +Partie 6 › Classe › MEtatCRIntervention › Code +MEtatCRIntervention +Code +Déclaration de MEtatCRIntervention +MEtatCRIntervention est une Classe +m_sRefInterneIntervention est une chaîne +m_dDateIntervention est une Date +m_sSuiviPar est une chaîne +m_sNomClient est une chaîne +m_sAdresseSite est une chaîne +m_sDescription est une chaîne +m_clCRInterv est un MCompteRendu +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 6065 + +Partie 6 › Classe › MParametreApplication › Code +MParametreApplication +Code +Déclaration de MParametreApplication +MParametreApplication est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_sCode est une chaîne ANSI +m_sDescription est une chaîne ANSI +m_sValeur est une chaîne + +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer "" +06/08/2026 Isis_BO 6066 + +Partie 6 › Classe › PFicheParametreApplication › Code +PFicheParametreApplication +Code +Déclaration de PFicheParametreApplication +PFicheParametreApplication est une Classe +protégé +m_clModeleCourant est un MParametreApplication // modèle associé à la présentation +m_clModeleSource est un MParametreApplication dynamique // référence sur le modèle d'origine +m_bufModeleSource est un Buffer +m_pValidation est une procédure +// procédure à appeler lors de la validation +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +bRenvoyer est un booléen = Faux +quand exception dans +si ObjetIdentique(m_clModeleCourant,m_bufModeleSource) alors +bRenvoyer = Vrai +goto SORTIE +fin +// recopie les modifications dans le modèle source +// m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleCourant.bEnregistrer(clErreur) alors goto ERREURENREG +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleCourant) +m_pValidation = Null +fin +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +//Indique à l'appelant que tout c'est bien passé +bRenvoyer=Vrai +//Sort de la procedure +goto SORTIE +//Etiquette d'erreur +ERREURENREG : +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +//Indique à l'appelant que tout ne c'est pas bien passé +bRenvoyer=Faux +fin +06/08/2026 Isis_BO 6067 + +Partie 6 › Classe › PFicheParametreApplication › Code +SORTIE : +renvoyer bRenvoyer +Constructeur +procédure Constructeur(clModele est un MParametreApplication dynamique, pValidation est une procédure= +Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Sérialise(m_clModeleSource,m_bufModeleSource,psdBinaire) +Destructeur +procédure Destructeur() +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MParametreApplication +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MParametreApplication() +clPresentation est un PFicheParametreApplication(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 6068 + +Partie 6 › Classe › MTableauDeParametreApplication › Code +MTableauDeParametreApplication +Code +Déclaration de MTableauDeParametreApplication +MTableauDeParametreApplication est une Classe +public +m_clTabModele est un tableau associatif de MParametreApplication dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MParametreApplication dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MParametreApplication dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger() +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 6069 + +Partie 6 › Classe › MTableauDeParametreApplication › Code +// +// récupération des données +sdSource est une Source de Données +sReqSQL est une chaîne = [ +SELECT * +FROM ParametreApplication +] +// exécution de la requête +si HExécuteRequêteSQL(sdSource,sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sdSource +clModele est un MParametreApplication +clModele.Charger(sdSource) +m_clTabModele[clModele:m_sCode] = clModele +//TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 6070 + +Partie 6 › Classe › PTableParametreApplication › Code +PTableParametreApplication +Code +Déclaration de PTableParametreApplication +PTableParametreApplication est une Classe +protégé +m_clTableauModele est un MTableauDeParametreApplication dynamique +// modèle associé à la présentation +m_clModeleCourant est un MParametreApplication dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeParametreApplication dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MParametreApplication +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MParametreApplication dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +06/08/2026 Isis_BO 6071 + +Partie 6 › Classe › PTableParametreApplication › Code +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation() +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeParametreApplication +clTableauModele.Charger() +// création de la nouvelle instance de présentation +clPresentation est un PTableParametreApplication(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheParametreApplication(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MParametreApplication dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau() +clModele est un MParametreApplication() +clPresentationFiche est un PFicheParametreApplication(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MParametreApplication dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +06/08/2026 Isis_BO 6072 + +Partie 6 › Classe › MMailCat › Code +MMailCat +Code +Déclaration de MMailCat +MMailCat est une Classe,mapping = MailCat +hérite de MBase +privé +m_nMMC_PKID est un entier sur 8 octets +m_saMMC_CodeModMail est une chaîne ANSI +m_saMMC_CodeCat est une chaîne ANSI +m_saLibCat est une chaîne ANSI +m_bSystem est un booléen +fin +Méthode Charger +// Redéfinition de la méthode MBase.Charger +procédure Charger(reqSource) +MBase.Charger(reqSource) +RecupLibelleCategorie() +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Existe +procédure Existe():booléen +si HLitRecherchePremier(MailCat,MMC_CodeModMail_CodeCat,[:m_saMMC_CodeModMail,:m_saMMC_CodeCat]) alors +:m_nMMC_PKID = MailCat.MMC_PKID +renvoyer Vrai +sinon +renvoyer Faux +fin +Récupération de la propriété IdentifiantUnique +06/08/2026 Isis_BO 6073 + +Partie 6 › Classe › MMailCat › Code +procédure IdentifiantUnique() +renvoyer :m_nMMC_PKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer "" +Récupération de la propriété p_bSystem +procédure publique p_bSystem() : booléen +renvoyer m_bSystem +Affectation de la propriété p_bSystem +procédure publique p_bSystem(bValeur est un booléen) +m_bSystem=bValeur +Récupération de la propriété p_saLibCat +procédure publique p_saLibCat() : chaîne +renvoyer m_saLibCat +Affectation de la propriété p_saLibCat +procédure publique p_saLibCat(sValeur est une chaîne) +m_saLibCat=sValeur +Récupération de la propriété saCodeCat +procédure publique saCodeCat() : chaîne +renvoyer m_saMMC_CodeCat +Affectation de la propriété saCodeCat +procédure publique saCodeCat(saValeur est une chaîne) +m_saMMC_CodeCat=saValeur +Récupération de la propriété saCodeModMail +procédure publique saCodeModMail() : chaîne +renvoyer m_saMMC_CodeModMail +Affectation de la propriété saCodeModMail +procédure publique saCodeModMail(saValeur est une chaîne) +m_saMMC_CodeModMail=saValeur +Méthode RecupLibelleCategorie +procédure RecupLibelleCategorie() +06/08/2026 Isis_BO 6074 + +Partie 6 › Classe › MMailCat › Code +//Lecture du libellé associé à la catégorie +si HLitRecherchePremier(ParametreMetier,PA_CodePA_Valeur,[cPM_MM_MailCat, :m_saMMC_CodeCat]) alors +:m_saLibCat = ParametreMetier.PA_Libelle +:m_bSystem = ParametreMetier.PA_Systeme +sinon +:m_saLibCat ="" +:m_bSystem =Faux +fin +06/08/2026 Isis_BO 6075 + +Partie 6 › Classe › PF_ModeleEmail › Code +PF_ModeleEmail +Code +Déclaration de PF_ModeleEmail +PF_ModeleEmail est une Classe +oMod est un MModeleEmail +tbCat est un tableau de MMailCat dynamique +fin +Méthode Charge +procédure Charge(saCodeACharger est une chaîne ANSI):booléen +si pas HLitRecherchePremier(MailModele,MM_Code,saCodeACharger) alors +renvoyer Faux +fin +:oMod:Charger(MailModele) +pour tout MailCat avec MMC_CodeModMail=saCodeACharger +oMCat est un MMailCat +WL.FichierVersMémoire(oMCat,MailCat) +oMCat:RecupLibelleCategorie() +:tbCat.Ajoute(oMCat) +fin +renvoyer Vrai +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode EnregistreModele +procédure EnregistreModele(clErreur est un CErreur dynamique) +quand exception dans +si pas :oMod:bEnregistrer(clErreur) alors +06/08/2026 Isis_BO 6076 + +Partie 6 › Classe › PF_ModeleEmail › Code +renvoyer Faux +fin +//Enregistre les catégories associées +HExécuteRequêteSQL("DEL","DELETE FROM MailCat WHERE MMC_CodeModMail ='" + :saCodeModel +"'") +pour tout od de :tbCat +HRAZ(MailCat) +MailCat.MMC_CodeModMail = :saCodeModel +MailCat.MMC_CodeCat = od:saCodeCat +HAjoute(MailCat) +fin +renvoyer Vrai +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +renvoyer Faux +fin +Récupération de la propriété sLstCat +procédure publique sLstCat() +sRep est une chaîne ANSI +pour tout odCat de :tbCat +sRep +=[", "] + odCat:p_saLibCat +fin +renvoyer sRep +Méthode SupprimeModele +procédure SupprimeModele(clErreur est un CErreur) +quand exception dans +//Suppression du modèle et des MailCat associé +HExécuteRequêteSQL("DEL","DELETE FROM MailCat WHERE MMC_CodeModMail ='" + :saCodeModel +"'") +HExécuteRequêteSQL("DEL","DELETE FROM MailModele WHERE MM_Code ='" + :saCodeModel +"'") +renvoyer Vrai +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +renvoyer Faux +fin +06/08/2026 Isis_BO 6077 + +Partie 6 › Classe › MModeleEmail › Code +MModeleEmail +Code +Déclaration de MModeleEmail +MModeleEmail est une Classe,mapping = MailModele +hérite de MBase +privé +m_nMM_PKID est un entier sur 8 octets +| m_sMM_Nom est une chaîne ANSI | | | +| ------------------------------------------------------ | ------------------ | --- | +| m_sMM_Sujet est une chaîne | | | +| //m_sMM_Corps est une chaîne | | | +| m_saMM_Code est une chaîne ANSI | | | +| m_bMM_System est un booléen | | | +| m_saMM_Langue est une chaîne ANSI | | | +| m_bufMM_MsgDoc est un Buffer | | | +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété bEstSystem +procédure publique bEstSystem() : booléen +renvoyer m_bMM_System +Affectation de la propriété bEstSystem +procédure bEstSystem(bValeur est un booléen) +:m_bMM_System = bValeur +Récupération de la propriété bufCorps +procédure publique bufCorps() : Buffer +renvoyer m_bufMM_MsgDoc +Affectation de la propriété bufCorps +procédure publique bufCorps(bufValeur est un Buffer) +m_bufMM_MsgDoc=bufValeur +Récupération de la propriété IdentifiantUnique +| 06/08/2026 | Isis_BO | 6078 | +| ---------- | ------- | ---- | + +Partie 6 › Classe › MModeleEmail › Code +procédure IdentifiantUnique() +renvoyer :m_nMM_PKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer "" +Récupération de la propriété saCodeModel +procédure publique saCodeModel() : chaîne +renvoyer m_saMM_Code +Affectation de la propriété saCodeModel +procédure publique saCodeModel(saValeur est une chaîne) +m_saMM_Code=saValeur +Récupération de la propriété sCorpHTML +procédure publique sCorpHTML() : Buffer +si :m_bufMM_MsgDoc<>"" alors +d est un Document = :m_bufMM_MsgDoc +renvoyer UTF8VersChaîne(DocVersHTML(d)) +sinon +renvoyer "" +fin +Récupération de la propriété sLangue +procédure publique sLangue() : chaîne +renvoyer m_saMM_Langue +Affectation de la propriété sLangue +procédure publique sLangue(saValeur est une chaîne) +m_saMM_Langue=saValeur +Récupération de la propriété sNom +procédure publique sNom() : chaîne +renvoyer m_sMM_Nom +Affectation de la propriété sNom +procédure publique sNom(saValeur est une chaîne) +si m_sMM_Nom<>saValeur alors :m_bModifie = Vrai +m_sMM_Nom=saValeur +Récupération de la propriété sSujet +procédure publique sSujet() : chaîne +renvoyer m_sMM_Sujet +Affectation de la propriété sSujet +06/08/2026 Isis_BO 6079 + +Partie 6 › Classe › MModeleEmail › Code +procédure publique sSujet(saValeur est une chaîne) +si m_sMM_Sujet<>saValeur alors :m_bModifie = Vrai +m_sMM_Sujet=saValeur +Méthode NouveauCodeModele +procédure publique NouveauCodeModele() +n est un entier +//CAlcul du Code +rq est une Requête SQL = +[ +SELECT MAX(MM_Code) AS M FROM MailModele WHERE MailModele.MM_System=0 +] +HExécuteRequête(rq) +HLitPremier(rq) +si pas HEnDehors(rq) alors +n=Val(rq.M[2 à]) +fin +n++ +:saCodeModel = "P" + NumériqueVersChaîne(n ,"04d") +06/08/2026 Isis_BO 6080 + +Partie 6 › Classe › MParametreMetierEntete › Code +MParametreMetierEntete +Code +Déclaration de MParametreMetierEntete +MParametreMetierEntete est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +| m_sLibelle | est une chaîne ANSI | | | +| ---------------- | ------------------- | -------------------------- | --- | +| m_sDescription | est une chaîne ANSI | | | +| m_bSysteme | est un booléen | | | +| m_sGroupe | est une chaîne ANSI | | | +| m_sCode | est une chaîne ANSI | | | +| m_bAucunPossible | est un booléen | | | +| m_sSpecifique | est une chaîne | | | + +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure publique InfoOnglet() + renvoyer m_sCode +| 06/08/2026 | | Isis_BO | 6081 | +| ---------- | --- | ------- | ---- | + +Partie 6 › Classe › PFicheParametreMetierEntete › Code +PFicheParametreMetierEntete +Code +Déclaration de PFicheParametreMetierEntete +PFicheParametreMetierEntete est une Classe +protégé +m_clModeleCourant est un MParametreMetierEntete// modèle associé à la présentation +m_clModeleSource est un MParametreMetierEntete dynamique// référence sur le modèle d'origine +m_pValidation est une procédure // procédure à appeler lors de la validation +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleSource.bEnregistrer(clErreur) alors +renvoyer Faux +fin +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleSource) +fin +// ok +renvoyer Vrai +Constructeur +procédure Constructeur(clModele est un MParametreMetierEntete dynamique, pValidation est une procédure= +Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Destructeur +procédure Destructeur() +Récupération de la propriété p_clCourant +06/08/2026 Isis_BO 6082 + +Partie 6 › Classe › PFicheParametreMetierEntete › Code +procédure publique p_clCourant() : MParametreMetierEntete +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MParametreMetierEntete() +clPresentation est un PFicheParametreMetierEntete(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 6083 + +Partie 6 › Classe › MTableauDeParametreMetierEntete › Code +MTableauDeParametreMetierEntete +Code +Déclaration de MTableauDeParametreMetierEntete +MTableauDeParametreMetierEntete est une Classe +public +m_clTabModele est un tableau de MParametreMetierEntete dynamique +m_clTabAssoc est un tableau associatif de MParametreMetierEntete dynamique +m_clTabVisible est un tableau de MParametreMetierEntete dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MParametreMetierEntete dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MParametreMetierEntete dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger() +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +06/08/2026 Isis_BO 6084 + +Partie 6 › Classe › MTableauDeParametreMetierEntete › Code +// chargement à personnaliser selon votre contexte +// +// récupération des données +sdSource est une Source de Données +sReqSQL est une chaîne = [ +SELECT * +FROM ParametreMetierEntete +Order BY PM_Groupe,PM_Code +] +// exécution de la requête +si HExécuteRequêteSQL(sdSource,sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sdSource +clModele est un MParametreMetierEntete +clModele.Charger(sdSource) +m_clTabAssoc[clModele:m_sCode] = clModele +//TableauAjoute(m_clTabModele[clModele:m_sCode,clModele]) +TableauAjoute(m_clTabModele,clModele) +si pas clModele:m_bSysteme alors +TableauAjoute(m_clTabVisible,clModele) +fin +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 6085 + +Partie 6 › Classe › PTableParametreMetierEntete › Code +PTableParametreMetierEntete +Code +Déclaration de PTableParametreMetierEntete +PTableParametreMetierEntete est une Classe +protégé +m_clTableauModele est un MTableauDeParametreMetierEntete dynamique +// modèle associé à la présentation +m_clModeleCourant est un MParametreMetierEntete dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeParametreMetierEntete dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MParametreMetierEntete +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MParametreMetierEntete dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +06/08/2026 Isis_BO 6086 + +Partie 6 › Classe › PTableParametreMetierEntete › Code +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation() +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeParametreMetierEntete +clTableauModele.Charger() +// création de la nouvelle instance de présentation +clPresentation est un PTableParametreMetierEntete(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheParametreMetierEntete(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MParametreMetierEntete dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau() +clModele est un MParametreMetierEntete() +clPresentationFiche est un PFicheParametreMetierEntete(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MParametreMetierEntete dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +06/08/2026 Isis_BO 6087 + +Partie 6 › Classe › MMailModele › Code +MMailModele +Code +Déclaration de MMailModele +MMailModele est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +| m_sCode | est une chaîne ANSI | | | +| ----------- | ------------------- | ------------------- | --- | +| m_sNom | est une chaîne ANSI | | | +| m_bSystem | est un booléen | | | +| m_sLangue | est une chaîne ANSI | | | +| m_sSujet | est une chaîne | | | +| m_bufMsgDoc | est un Buffer | | | + +| m_sLibCategorie | est une chaîne | | | +| --------------- | -------------- | -------------------- | --- | +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer m_sNom +| 06/08/2026 | | Isis_BO | 6088 | +| ---------- | --- | ------- | ---- | + +Partie 6 › Classe › PFicheMailModele › Code +PFicheMailModele +Code +Déclaration de PFicheMailModele +PFicheMailModele est une Classe +protégé +m_clModeleCourant est un MMailModele // modèle associé à la présentation +m_clModeleSource est un MMailModele dynamique // référence sur le modèle d'origine +m_pValidation est une procédure // procédure à appeler lors de la validation +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleSource.bEnregistrer(clErreur) alors +renvoyer Faux +fin +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleSource) +fin +// ok +renvoyer Vrai +Constructeur +procédure Constructeur(clModele est un MMailModele dynamique, pValidation est une procédure=Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Destructeur +procédure Destructeur() +Récupération de la propriété p_clCourant +06/08/2026 Isis_BO 6089 + +Partie 6 › Classe › PFicheMailModele › Code +procédure publique p_clCourant() : MMailModele +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MMailModele() +clPresentation est un PFicheMailModele(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 6090 + +Partie 6 › Classe › MTableauDeMailModele › Code +MTableauDeMailModele +Code +Déclaration de MTableauDeMailModele +MTableauDeMailModele est une Classe +public +m_clTabModele est un tableau de MMailModele dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MMailModele dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MMailModele dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger() +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 6091 + +Partie 6 › Classe › MTableauDeMailModele › Code +// +// récupération des données +sdSource est une Source de Données +sReqSQL est une chaîne = [ +SELECT MailModele.*,PA_Libelle +FROM MailModele +INNER JOIN MailCat ON MailModele.MM_Code = MailCat.MMC_CodeModMail +INNER JOIN ParametreMetier ON MailCat.MMC_CodeCat = ParametreMetier.PA_Valeur +WHERE ParametreMetier.PA_Code ='MC' +ORDER BY PA_Libelle,MailModele.MM_Nom +] +// exécution de la requête +si HExécuteRequêteSQL(sdSource,sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sdSource +clModele est un MMailModele +clModele.Charger(sdSource) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 6092 + +Partie 6 › Classe › PTableMailModele › Code +PTableMailModele +Code +Déclaration de PTableMailModele +PTableMailModele est une Classe +protégé +m_clTableauModele est un MTableauDeMailModele dynamique +// modèle associé à la présentation +m_clModeleCourant est un MMailModele dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeMailModele dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MMailModele +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MMailModele dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +06/08/2026 Isis_BO 6093 + +Partie 6 › Classe › PTableMailModele › Code +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation() +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeMailModele +clTableauModele.Charger() +// création de la nouvelle instance de présentation +clPresentation est un PTableMailModele(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheMailModele(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MMailModele dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau() +clModele est un MMailModele() +clPresentationFiche est un PFicheMailModele(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MMailModele dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +06/08/2026 Isis_BO 6094 + +Partie 6 › Classe › C_ConnecteurBddBatigest › Code +C_ConnecteurBddBatigest +Code +Déclaration de C_ConnecteurBddBatigest +C_ConnecteurBddBatigest est une Classe +nIndice est un entier +// sSocieteest une chaîne ANSI +// nPKID est un entier sur 8 octets +suBG_Dossier est une chaîne Unicode +//Nom répertoire contenant le fichier BatiG.mdb Ex: C:\APIBAT\SOC01 +sBG_Societe est une chaîne ANSI //Nom de la société lu dans Batigest +sBG_GUIDest une chaîne ANSI //GUID lu dans la base Batigest +(en espérant qu'il soit bien unique) +nCliModNum est un entier //Méthode de calcul des codes des clients +sCliPrefix est une chaîne ANSI //Préfix des codes clients +sBG_Connect_Serveur est une chaîne +sBG_Connect_Utilisateur est une chaîne +sBG_Connect_MotDePasse est une chaîne +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode DonneParam +procédure DonneParam() +quand exception dans +sJSON est une chaîne ANSI +Sérialise(objet,sJSON,psdJSON) +renvoyer sJSON +faire +renvoyer "" +fin +Récupération de la propriété DossierBG +procédure publique DossierBG():chaîne Unicode +renvoyer :suBG_Dossier +Affectation de la propriété DossierBG +06/08/2026 Isis_BO 6095 + +Partie 6 › Classe › C_ConnecteurBddBatigest › Code +procédure publique DossierBG(sRepBase est une chaîne Unicode) +:suBG_Dossier=ComplèteRep(sRepBase) +Méthode InitParam +procédure InitParam(sJSON est une chaîne ANSI) +quand exception dans +si sJSON<>"" alors +Désérialise(objet,sJSON,psdJSON) +renvoyer Vrai +fin +// :sMsgRetour="Paramètres non définis" +renvoyer Faux +faire +// :sMsgRetour=ExceptionInfo(errMessage) +renvoyer Faux +fin +06/08/2026 Isis_BO 6096 + +Partie 6 › Classe › PFicheBddExterne › Code +PFicheBddExterne +Code +Déclaration de PFicheBddExterne +PFicheBddExterne est une Classe +protégé +m_clModeleCourant est un MBddExterne // modèle associé à la présentation +m_clModeleSource est un MBddExterne dynamique // référence sur le modèle d'origine +m_pValidation est une procédure // procédure à appeler lors de la validation +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleSource.bEnregistrer(clErreur) alors +renvoyer Faux +fin +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleSource) +fin +// ok +renvoyer Vrai +Constructeur +procédure Constructeur(clModele est un MBddExterne dynamique, pValidation est une procédure=Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Destructeur +procédure Destructeur() +Récupération de la propriété p_clCourant +06/08/2026 Isis_BO 6097 + +Partie 6 › Classe › PFicheBddExterne › Code +procédure publique p_clCourant() : MBddExterne +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MBddExterne() +clPresentation est un PFicheBddExterne(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 6098 + +Partie 6 › Classe › MBddExterne › Code +MBddExterne +Code +Déclaration de MBddExterne +MBddExterne est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_sNom est une chaîne ANSI +m_sParam est une chaîne +m_nIDSociete est un entier sur 8 octets + +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer :m_sNom +06/08/2026 Isis_BO 6099 + +Partie 6 › Classe › MClient_BddExterne › Code +MClient_BddExterne +Code +Déclaration de MClient_BddExterne +MClient_BddExterne est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_nIDCLient est un entier sur 8 octets +m_sIDExterne est une chaîne ANSI +m_dhDateSynchro est une DateHeure +m_nIDBddExterne est un entier sur 8 octets + +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer "" +06/08/2026 Isis_BO 6100 + +Partie 6 › Classe › PFicheClient_BddExterne › Code +PFicheClient_BddExterne +Code +Déclaration de PFicheClient_BddExterne +PFicheClient_BddExterne est une Classe +protégé +m_clModeleCourant est un MClient_BddExterne // modèle associé à la présentation +m_clModeleSource est un MClient_BddExterne dynamique // référence sur le modèle d'origine +m_pValidation est une procédure // procédure à appeler lors de la validation +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleSource.bEnregistrer(clErreur) alors +renvoyer Faux +fin +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleSource) +fin +// ok +renvoyer Vrai +Constructeur +procédure Constructeur(clModele est un MClient_BddExterne dynamique, pValidation est une procédure=Null +) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Destructeur +procédure Destructeur() +Récupération de la propriété p_clCourant +06/08/2026 Isis_BO 6101 + +Partie 6 › Classe › PFicheClient_BddExterne › Code +procédure publique p_clCourant() : MClient_BddExterne +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MClient_BddExterne() +clPresentation est un PFicheClient_BddExterne(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 6102 + +Partie 6 › Classe › MTableauDeClient_BddExterne › Code +MTableauDeClient_BddExterne +Code +Déclaration de MTableauDeClient_BddExterne +MTableauDeClient_BddExterne est une Classe +public +m_clTabModele est un tableau de MClient_BddExterne dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MClient_BddExterne dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MClient_BddExterne dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 6103 + +Partie 6 › Classe › MTableauDeClient_BddExterne › Code +// +// récupération des données +sReqSQL est une Requête SQL = +[ +SELECT * +FROM Client_BddExterne +WHERE +Client_BddExterne.CLX_IDCLient = {p_IdClient} +] +//si MesParamètres[1] > 0 alors +// sReqSQL.p_IdBddExterne = MesParamètres..Occurrence>=1 ? MesParamètres[1] SINON Null +//SINON +// //sReqSQL.p_IdBddExterne = MesParamètres..Occurrence>=1 ? MesParamètres[1] SINON Null +//FIN +sReqSQL.p_IdClient = MesParamètres..Occurrence>=2 ? MesParamètres[2] sinon Null +// exécution de la requête +si HExécuteRequête(sReqSQL,hRequêteDéfaut) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +clModele est un MClient_BddExterne +clModele.Charger(sReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 6104 + +Partie 6 › Classe › PTableClient_BddExterne › Code +PTableClient_BddExterne +Code +Déclaration de PTableClient_BddExterne +PTableClient_BddExterne est une Classe +protégé +m_clTableauModele est un MTableauDeClient_BddExterne dynamique +// modèle associé à la présentation +m_clModeleCourant est un MClient_BddExterne dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeClient_BddExterne dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MClient_BddExterne +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MClient_BddExterne dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +06/08/2026 Isis_BO 6105 + +Partie 6 › Classe › PTableClient_BddExterne › Code +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier,*) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeClient_BddExterne +selon nMode +cas 0 : clTableauModele.Charger(MesParamètres[2à]) +autre cas +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableClient_BddExterne(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheClient_BddExterne(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MClient_BddExterne dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau() +clModele est un MClient_BddExterne() +clPresentationFiche est un PFicheClient_BddExterne(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MClient_BddExterne dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +06/08/2026 Isis_BO 6106 + +Partie 6 › Classe › C_ConnecteurBatigest › Code +C_ConnecteurBatigest +Code +Déclaration de C_ConnecteurBatigest +C_ConnecteurBatigest est une Classe +constant +cRep_OK ="R0" +cRep_FichierIntrouvable ="E001" +cRep_ErreurAccess ="E002" +cRep_ErreurOuverture ="E003" +cRep_MauvaiseBase ="E004" +cRep_MauvaisGUID ="E005" +cRep_CMD_Sys_Inconnue ="E201" +cCMD_ValideBase = "S.VALIDE" +cCMD_RequeteLit = "S.REQ.LI" +cCMD_RequeteExec = "S.REQ.EX" +cCMD_EnregistreClient= "S.CLI.EC" +cCMD_EnregistreDossier = "S.DOS.EC" +cCMD_EnregistreDevis = "S.DEV.EC" +cCMD_MAJClient = "S.CLI.MJ" +cCMD_Sys = "S.SYS.EX" //Commande système +cCMD_INFO = "INFO" +cCMD_Tesla = "TESLA" +cCMD_ByeBye = "BYE" +cCMD_ByeByeSqlServer = "BYESQLSERVER" +cSocketBG ="ServiceBG" +cParam_BG_IP ="CONNECT_BG_IP" +cParam_BG_Port ="CONNECT_BP_PORT" +cLibParam_BG_IP ="Adresse IP de la machine hébergeant le Connecteur BATIGEST" +cLibParam_BP_Port ="Numéro de port utilisé par le Connecteur BATIGEST" +fin +m_nPortCom est un entier +m_sIPService est une chaîne +fin +Méthode ConnectAuService +procédure ConnectAuService(saCMD est une chaîne ANSI=cCMD_Tesla) +saMsg est une chaîne ANSI +si pas SocketExiste(cSocketBG) alors +si pas SocketConnecte(cSocketBG,:m_nPortCom,:m_sIPService,2s) alors +:ListeErreur() +saMsg =ErreurInfo(errMessage) +//TraceCom("SocketFerme") +renvoyer (Faux,saMsg) +fin +fin +//TraceCom("SocketExiste") +06/08/2026 Isis_BO 6107 + +Partie 6 › Classe › C_ConnecteurBatigest › Code +renvoyer EnvoieTrame(saCMD,"") +Constructeur +procédure Constructeur() +:m_nPortCom = 4000 +:m_sIPService = "127.0.0.1" +Destructeur +procédure Destructeur() +Méthode EcritParametresSocket +procédure EcritParametresSocket(sAIP est une chaîne ANSI,nPort est un entier) +:m_nPortCom =nPort +:m_sIPService =sAIP +ParametreSystemeEcrit(cParam_BG_IP, :m_sIPService,Faux,cLibParam_BG_IP) +ParametreSystemeEcrit(cParam_BG_Port, (:m_nPortCom),Faux,cLibParam_BP_Port) +Méthode Environnement +procédure Environnement(sVariableSysteme est une chaîne ANSI) +st est un ST_SYS_CMD +st.saCommande = "VAR" +st.saParam=sVariableSysteme +sABuf est une chaîne ANSI +Sérialise(st,sABuf,psdJSON) +renvoyer EnvoieTrame(cCMD_Sys,sABuf,10s) +Méthode EnvoieTrame +procédure EnvoieTrame(saCMD est une chaîne ANSI ,sADATA est une chaîne ANSI,nDelai est un entier=5000) +quand exception dans +saMsg est une chaîne ANSI +stCMD est un ST_MESSAGE +stCMD.sCMD =saCMD +stCMD.sDATA =UUEncode( sADATA) +//TraceCom("Delai " + nDelai) +sBuf est une chaîne ANSI +Sérialise(stCMD,sBuf,psdJSON) +//TraceCom("Envoie : [" + sBuf +"] ") +si pas SocketEcrit(cSocketBG,sBuf) alors +saMsg="Erreur de communication avec le Connecteur" +renvoyer (Faux,saMsg) +fin +ChronoDébut() +sBuf=SocketLit(cSocketBG,Faux,nDelai) //Lecture de la réponse avec une attente de 5s maximum +//TraceCom("Réponse : [" + sBuf +"] " + chronofin() ) +si sBuf~="" alors +06/08/2026 Isis_BO 6108 + +Partie 6 › Classe › C_ConnecteurBatigest › Code +saMsg="Pas de réponse du Connecteur" +//ErreurInfo(errCodeSystème) : 10054 +//ErreurInfo(errMessageSystème) : Une connexion existante a dû être fermée par l’hôte distant. +//ErreurInfo(errCode) : 100 031 +//saMsg =ErreurInfo(errInfo) // : socket a renvoyé l'erreur système suivante : + +renvoyer (Faux,saMsg) +fin +stRep est un ST_REPONSE +Désérialise(stRep,sBuf,psdJSON) +si stRep.sErr=C_ConnecteurBatigest.cRep_OK alors +renvoyer (Vrai,UUDécode(stRep.sUUData)) +sinon +saMsg = stRep.sMsg +renvoyer (Faux,stRep.sMsg) +fin +faire +renvoyer (Faux,ExceptionInfo(errComplet)) +fin +Méthode ExporteClient +procédure ExporteClient(stClient est un ST_BG_CLIENT) +saBuf est une chaîne ANSI +Sérialise(stClient,saBuf,psdJSON) +renvoyer EnvoieTrame(cCMD_EnregistreClient,saBuf,10s) +Méthode ExporteIntervention +procédure ExporteIntervention(stDossier est un ST_BG_CHANTIER) +saBuf est une chaîne ANSI +Sérialise(stDossier,saBuf,psdJSON) +renvoyer EnvoieTrame(cCMD_EnregistreDossier,saBuf,10s) +Méthode ExporteInterventionEnDevis +// Résumé : +// Syntaxe : +//[ = ] ExporteInterventionEnDevis ( est ST_BG_DEVIS) +// +// Paramètres : +// stDossier (ST_BG_DEVIS) : +// Valeur de retour : +// multi-valeur : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ExporteInterventionEnDevis(stDevis est un ST_BG_DEVIS) +06/08/2026 Isis_BO 6109 + +Partie 6 › Classe › C_ConnecteurBatigest › Code +saBuf est une chaîne ANSI +Sérialise(stDevis,saBuf,psdJSON) +renvoyer EnvoieTrame(cCMD_EnregistreDevis,saBuf,10s) +Méthode FermeConnexion +procédure FermeConnexion() +si SocketExiste(cSocketBG) alors +EnvoieTrame(cCMD_ByeBye,"") +SocketFerme(cSocketBG) +fin +Méthode FermeConnexion +procédure FermeConnexion(bBGConnect est un booléen,stBGConnect est un ST_BG_CONNECT=Null) +st est un ST_BG_VALIDE +st.suDossier = "" +st.saGuidBase = "" +st.bBGConnect = bBGConnect +st.stBGConnect = stBGConnect +sBuf est une chaîne ANSI +Sérialise(st,sBuf,psdJSON) +si SocketExiste(cSocketBG) alors +EnvoieTrame(cCMD_ByeByeSqlServer,sBuf) +SocketFerme(cSocketBG) +fin +Méthode ListeDisques +procédure ListeDisques() +st est un ST_SYS_CMD +st.saCommande = "DISK" +sABuf est une chaîne ANSI +Sérialise(st,sABuf,psdJSON) +renvoyer EnvoieTrame(cCMD_Sys,sABuf,10s) +Méthode ListeErreur +procédure ListeErreur() +//TraceCom(ErreurInfo(errElément)) +//TraceCom(ErreurInfo(errCodeSystème) ) +//TraceCom(ErreurInfo(errMessageSystème) ) +//TraceCom(ErreurInfo(errCode) ) +//TraceCom(ErreurInfo(errInfo) ) +Méthode ListeRepertoires +procédure ListeRepertoires(sRacine est une chaîne ANSI) +//bOk est un booléen +06/08/2026 Isis_BO 6110 + +Partie 6 › Classe › C_ConnecteurBatigest › Code +//saReponse est une Chaine ansi +st est un ST_SYS_CMD +st.saCommande = "DIR" +st.saParam =sRacine +sABuf est une chaîne ANSI +Sérialise(st,sABuf,psdJSON) +renvoyer EnvoieTrame(cCMD_Sys,sABuf,10s) +Méthode LitParametresSocket +procédure LitParametresSocket() +:m_sIPService = ParametreSystemeLit(cParam_BG_IP ,"localhost",Faux,cLibParam_BG_IP) +:m_nPortCom = ParametreSystemeLit(cParam_BG_Port ,"4000" ,Faux,cLibParam_BP_Port) +Méthode MAJClient +// Résumé : +// Syntaxe : +// MAJClient () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure MAJClient(stClient est un ST_BG_CLIENT) +saBuf est une chaîne ANSI +Sérialise(stClient,saBuf,psdJSON) +renvoyer EnvoieTrame(cCMD_MAJClient,saBuf,10s) +Méthode RequeteExecute +//Exécute une requête dans la base Access Batigest +//Le code SQL doit être dans la syntaxe Access (Le tester au préalable dans Access) +procédure RequeteExecute(saSqlAccess est une chaîne ANSI,suDossier est une chaîne Unicode,bBGConnect +est un booléen,stBGConnect est un ST_BG_CONNECT=Null) +stRQ est un ST_BG_REQUETE +stRQ.saSQL=saSqlAccess +stRQ.suDossier=suDossier +stRQ.bBGConnect = bBGConnect +stRQ.stBGConnect = stBGConnect +sABuf est une chaîne ANSI +Sérialise(stRQ,sABuf,psdJSON) +renvoyer EnvoieTrame(cCMD_RequeteLit,sABuf,10s) +Méthode TraceCom +06/08/2026 Isis_BO 6111 + +Partie 6 › Classe › C_ConnecteurBatigest › Code +procédure TraceCom(sMsg) +WL.Trace(HeureVersChaîne(HeureSys,"HH:MM:SS.CC") + " - " + sMsg) +Méthode ValideBase +procédure ValideBase(suRepBatig est une chaîne Unicode,saGuidBaseCourante est une chaîne ANSI, +bBGConnect est un booléen,stBGConnect est un ST_BG_CONNECT=Null) +st est un ST_BG_VALIDE +st.suDossier = suRepBatig +st.saGuidBase= saGuidBaseCourante +st.bForce =Vrai +st.bBGConnect= bBGConnect +st.stBGConnect = stBGConnect +sBuf est une chaîne ANSI +Sérialise(st,sBuf,psdJSON) +renvoyer EnvoieTrame(cCMD_ValideBase,sBuf) +06/08/2026 Isis_BO 6112 + +Partie 6 › Classe › MIntervention_BddExt › Code +MIntervention_BddExt +Code +Déclaration de MIntervention_BddExt +MIntervention_BddExt est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_nIDInterventionest un entier sur 8 octets +m_sIDExterne est une chaîne ANSI +m_nIDBddExterne est un entier sur 8 octets +m_dDateDevis est une Date + +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer "" +06/08/2026 Isis_BO 6113 + +Partie 6 › Classe › PFicheIntervention_BddExt › Code +PFicheIntervention_BddExt +Code +Déclaration de PFicheIntervention_BddExt +PFicheIntervention_BddExt est une Classe +protégé +m_clModeleCourant est un MIntervention_BddExt // modèle associé à la présentation +m_clModeleSource est un MIntervention_BddExt dynamique // référence sur le modèle d'origine +m_pValidation est une procédure // procédure à appeler lors de la validation +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleSource.bEnregistrer(clErreur) alors +renvoyer Faux +fin +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleSource) +fin +// ok +renvoyer Vrai +Constructeur +procédure Constructeur(clModele est un MIntervention_BddExt dynamique, pValidation est une procédure= +Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Destructeur +procédure Destructeur() +Récupération de la propriété p_clCourant +06/08/2026 Isis_BO 6114 + +Partie 6 › Classe › PFicheIntervention_BddExt › Code +procédure publique p_clCourant() : MIntervention_BddExt +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MIntervention_BddExt() +clPresentation est un PFicheIntervention_BddExt(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 6115 + +Partie 6 › Classe › MTableauDeIntervention_BddExt › Code +MTableauDeIntervention_BddExt +Code +Déclaration de MTableauDeIntervention_BddExt +MTableauDeIntervention_BddExt est une Classe +public +m_clTabModele est un tableau de MIntervention_BddExt dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MIntervention_BddExt dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MIntervention_BddExt dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 6116 + +Partie 6 › Classe › MTableauDeIntervention_BddExt › Code +// +// récupération des données +sReqSQL est une Requête SQL = +[ +SELECT * +FROM Intervention_BddExterne +WHERE Intervention_BddExterne.INX_IDIntervention={p_IdIntervention} +] +sReqSQL.p_IdIntervention= MesParamètres..Occurrence>=1 ? MesParamètres[1] sinon Null +// exécution de la requête +si HExécuteRequête(sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +clModele est un MIntervention_BddExt +clModele.Charger(sReqSQL) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 6117 + +Partie 6 › Classe › PTableIntervention_BddExt › Code +PTableIntervention_BddExt +Code +Déclaration de PTableIntervention_BddExt +PTableIntervention_BddExt est une Classe +protégé +m_clTableauModele est un MTableauDeIntervention_BddExt dynamique +// modèle associé à la présentation +m_clModeleCourant est un MIntervention_BddExt dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeIntervention_BddExt dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MIntervention_BddExt +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MIntervention_BddExt dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +06/08/2026 Isis_BO 6118 + +Partie 6 › Classe › PTableIntervention_BddExt › Code +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier,*) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeIntervention_BddExt +selon nMode +cas 1 : clTableauModele.Charger(MesParamètres[2à]) +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableIntervention_BddExt(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheIntervention_BddExt(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MIntervention_BddExt dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau() +clModele est un MIntervention_BddExt() +clPresentationFiche est un PFicheIntervention_BddExt(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MIntervention_BddExt dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +06/08/2026 Isis_BO 6119 + +Partie 6 › Classe › MAccesEtDroit › Code +MAccesEtDroit +Code +Déclaration de MAccesEtDroit +MAccesEtDroit est une Classe +hérite de MBase + +m_nPKID est un entier sur 8 octets +m_nIDProfil est un entier sur 8 octets +m_nIDModule est un entier sur 8 octets +m_bAcces est un booléen + +m_clModule est un MParametreMetier +m_clProfil est un MParametreMetier +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure IdentifiantUnique() +renvoyer m_nPKID +Récupération de la propriété InfoOnglet +procédure InfoOnglet() : chaîne +renvoyer "" +06/08/2026 Isis_BO 6120 + +Partie 6 › Classe › PFicheAccesEtDroit › Code +PFicheAccesEtDroit +Code +Déclaration de PFicheAccesEtDroit +PFicheAccesEtDroit est une Classe +protégé +m_clModeleCourant est un MAccesEtDroit// modèle associé à la présentation +m_clModeleSource est un MAccesEtDroit dynamique// référence sur le modèle d'origine +m_pValidation est une procédure // procédure à appeler lors de la validation +fin +Méthode bOK +procédure bOK(clErreur est un CErreur) +// recopie les modifications dans le modèle source +m_clModeleSource<=m_clModeleCourant +// effectue les modifications dans le fichier +si pas m_clModeleSource.bEnregistrer(clErreur) alors +renvoyer Faux +fin +// si il y a une procédure de validation +si m_pValidation<>Null alors +m_pValidation(m_clModeleSource) +fin +// ok +renvoyer Vrai +Constructeur +procédure Constructeur(clModele est un MAccesEtDroit dynamique, pValidation est une procédure=Null) +// recopie du modèle d'origine dans le modèle associé sur lequel la fiche va travailler +m_clModeleCourant<=clModele +// conserve une référence sur le modèle source +m_clModeleSource<-clModele +// procédure à appeler lors de la validation +m_pValidation=pValidation +Destructeur +procédure Destructeur() +Récupération de la propriété p_clCourant +06/08/2026 Isis_BO 6121 + +Partie 6 › Classe › PFicheAccesEtDroit › Code +procédure publique p_clCourant() : MAccesEtDroit +renvoyer m_clModeleCourant +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(pValidation est une procédure=Null) +// création de la présentation avec une nouvelle instance de modèle +clModele est un MAccesEtDroit() +clPresentation est un PFicheAccesEtDroit(clModele,pValidation) +renvoyer clPresentation +06/08/2026 Isis_BO 6122 + +Partie 6 › Classe › MTableauDeAccesEtDroit › Code +MTableauDeAccesEtDroit +Code +Déclaration de MTableauDeAccesEtDroit +MTableauDeAccesEtDroit est une Classe +public +m_clTabModele est un tableau de MAccesEtDroit dynamique +fin +Méthode Ajouter +procédure Ajouter(clModele est un MAccesEtDroit dynamique) +// ajoute l'instance du modèle dans le tableau en mémoire +TableauAjoute(m_clTabModele,clModele) +// mise à jour des IHM +DemandeMiseAJourIHM() +Méthode bSupprimer +procédure bSupprimer(clModele est un MAccesEtDroit dynamique, clErreur est un CErreur) +// recherche de l'instance du modèle en mémoire +nPos est un entier=TableauCherche(m_clTabModele,tcLinéaire,clModele) +si nPos=-1 alors +clErreur.Init(CErreur.NonTrouvé) +renvoyer Faux +fin +// suppression +si pas clModele.bSupprimer(clErreur) alors +renvoyer Faux +fin +// supprime l'instance du modèle +TableauSupprime(m_clTabModele,nPos) +// mise à jour des IHM +DemandeMiseAJourIHM() +// ok +renvoyer Vrai +Méthode Charger +procédure Charger() +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +06/08/2026 Isis_BO 6123 + +Partie 6 › Classe › MTableauDeAccesEtDroit › Code +// +// récupération des données +sdSource est une Source de Données +sReqSQL est une chaîne = [ +SELECT * +FROM AccesEtDroit +] +// exécution de la requête +si HExécuteRequêteSQL(sdSource,sReqSQL) alors +// charge les enregistrements en mémoire +pour tout sdSource +clModele est un MAccesEtDroit +clModele.Charger(sdSource) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerSelonProfil +procédure ChargerSelonProfil(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +//sdSource est une source de données +sReqSQL est une Requête SQL = +[ +SELECT +ParametreMetier.PA_PKID +,ParametreMetier.PA_Libelle +,ParametreMetier.PA_Valeur +,NVL((SELECT TOP 1 AED_IDModule FROM AccesEtDroit WHERE AccesEtDroit.AED_IDProfil = {p_IDProfil} +AND AccesEtDroit.AED_IDModule=PA_PKID),PA_PKID) AS AED_IDModule +,NVL((SELECT TOP 1 AED_IDProfil FROM AccesEtDroit WHERE AccesEtDroit.AED_IDProfil = {p_IDProfil} +AND AccesEtDroit.AED_IDModule=PA_PKID),{p_IDProfil}) AS AED_IDProfil +,(SELECT TOP 1 AED_PKID FROM AccesEtDroit WHERE AccesEtDroit.AED_IDProfil = {p_IDProfil} AND +AccesEtDroit.AED_IDModule=PA_PKID) AS AED_PKID +,(SELECT TOP 1 AED_Acces FROM AccesEtDroit WHERE AccesEtDroit.AED_IDProfil = {p_IDProfil} AND +AccesEtDroit.AED_IDModule=PA_PKID) AS AED_Acces +FROM ParametreMetier +WHERE PA_Code='29' AND PA_Actif=1 +AND (NOT PA_Valeur ]= 'M.') +// UNION +// SELECT +// ParametreMetier.PA_PKID +// ,ParametreMetier.PA_Libelle +// ,ParametreMetier.PA_Valeur +// ,NVL((SELECT AED_IDModule +FROM AccesEtDroit WHERE AccesEtDroit.AED_IDProfil = {p_IDProfil} AND +AccesEtDroit.AED_IDModule=PA_PKID),PA_PKID) AS AED_IDModule +// ,NVL((SELECT AED_IDProfil +FROM AccesEtDroit WHERE AccesEtDroit.AED_IDProfil = {p_IDProfil} AND +AccesEtDroit.AED_IDModule=PA_PKID),{p_IDProfil}) AS AED_IDProfil +06/08/2026 Isis_BO 6124 + +Partie 6 › Classe › MTableauDeAccesEtDroit › Code +// ,(SELECT AED_PKID +FROM AccesEtDroit WHERE AccesEtDroit.AED_IDProfil = {p_IDProfil} AND AccesEtDroit.AED_IDModule=PA_PKID) +AS AED_PKID +// ,(SELECT AED_Acces +FROM AccesEtDroit WHERE AccesEtDroit.AED_IDProfil = {p_IDProfil} AND AccesEtDroit.AED_IDModule=PA_PKID) +AS AED_Acces +// FROM ParametreMetier +// WHERE PA_Code='17' AND PA_Actif=1 +ORDER BY PA_Code +] +sReqSQL.p_IDProfil = MesParamètres..Occurrence>=1 ? MesParamètres[1] sinon Null +// exécution de la requête +si HExécuteRequête(sReqSQL,hRequêteDéfaut) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +clModele est un MAccesEtDroit +clModele.Charger(sReqSQL) +si clModele.m_nPKID=0 alors +clModele.m_bNouveau = Vrai +fin +clModele.m_clModule.Charger(sReqSQL) +//clModele.m_clProfil.Charger(sdSource) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Méthode ChargerSelonProfilPourMobile +procédure ChargerSelonProfilPourMobile(*) +// vide le tableau +TableauSupprimeTout(m_clTabModele) +// +// chargement à personnaliser selon votre contexte +// +// récupération des données +//sdSource est une source de données +sReqSQL est une Requête SQL = +[ +SELECT +ParametreMetier.PA_PKID +,ParametreMetier.PA_Libelle +,ParametreMetier.PA_Valeur +,NVL((SELECT TOP 1 AED_IDModule FROM AccesEtDroit WHERE AccesEtDroit.AED_IDProfil = {p_IDProfil} +AND AccesEtDroit.AED_IDModule=PA_PKID),PA_PKID) AS AED_IDModule +,NVL((SELECT TOP 1 AED_IDProfil FROM AccesEtDroit WHERE AccesEtDroit.AED_IDProfil = {p_IDProfil} +AND AccesEtDroit.AED_IDModule=PA_PKID),{p_IDProfil}) AS AED_IDProfil +,(SELECT TOP 1 AED_PKID FROM AccesEtDroit WHERE AccesEtDroit.AED_IDProfil = {p_IDProfil} AND +AccesEtDroit.AED_IDModule=PA_PKID) AS AED_PKID +,(SELECT TOP 1 AED_Acces FROM AccesEtDroit WHERE AccesEtDroit.AED_IDProfil = {p_IDProfil} AND +AccesEtDroit.AED_IDModule=PA_PKID) AS AED_Acces +FROM ParametreMetier +WHERE PA_Code='29' AND PA_Actif=1 +AND PA_Valeur ]= 'M.' +// UNION +// SELECT +// ParametreMetier.PA_PKID +// ,ParametreMetier.PA_Libelle +// ,ParametreMetier.PA_Valeur +06/08/2026 Isis_BO 6125 + +Partie 6 › Classe › MTableauDeAccesEtDroit › Code +// ,NVL((SELECT AED_IDModule +FROM AccesEtDroit WHERE AccesEtDroit.AED_IDProfil = {p_IDProfil} AND +AccesEtDroit.AED_IDModule=PA_PKID),PA_PKID) AS AED_IDModule +// ,NVL((SELECT AED_IDProfil +FROM AccesEtDroit WHERE AccesEtDroit.AED_IDProfil = {p_IDProfil} AND +AccesEtDroit.AED_IDModule=PA_PKID),{p_IDProfil}) AS AED_IDProfil +// ,(SELECT AED_PKID +FROM AccesEtDroit WHERE AccesEtDroit.AED_IDProfil = {p_IDProfil} AND AccesEtDroit.AED_IDModule=PA_PKID) +AS AED_PKID +// ,(SELECT AED_Acces +FROM AccesEtDroit WHERE AccesEtDroit.AED_IDProfil = {p_IDProfil} AND AccesEtDroit.AED_IDModule=PA_PKID) +AS AED_Acces +// FROM ParametreMetier +// WHERE PA_Code='17' AND PA_Actif=1 +ORDER BY PA_Ordre +] +sReqSQL.p_IDProfil = MesParamètres..Occurrence>=1 ? MesParamètres[1] sinon Null +// exécution de la requête +si HExécuteRequête(sReqSQL,hRequêteDéfaut) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +clModele est un MAccesEtDroit +clModele.Charger(sReqSQL) +si clModele.m_nPKID=0 alors +clModele.m_bNouveau = Vrai +fin +clModele.m_clModule.Charger(sReqSQL) +//clModele.m_clProfil.Charger(sdSource) +TableauAjoute(m_clTabModele,clModele) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +06/08/2026 Isis_BO 6126 + +Partie 6 › Classe › PTableAccesEtDroit › Code +PTableAccesEtDroit +Code +Déclaration de PTableAccesEtDroit +PTableAccesEtDroit est une Classe +protégé +m_clTableauModele est un MTableauDeAccesEtDroit dynamique +// modèle associé à la présentation +m_clModeleCourant est un MAccesEtDroit dynamique +// référence sur le modèle de données courant +fin +Méthode bSupprimer +procédure bSupprimer(clErreur est un CErreur) +renvoyer m_clTableauModele.bSupprimer(m_clModeleCourant, clErreur) +Constructeur +procédure Constructeur(clTableauModele est un MTableauDeAccesEtDroit dynamique) +m_clTableauModele=clTableauModele +Destructeur +procédure Destructeur() +Récupération de la propriété p_bModeleCourantVide +procédure publique p_bModeleCourantVide() +renvoyer m_clModeleCourant=Null +Récupération de la propriété p_clCourant +procédure publique p_clCourant() : MAccesEtDroit +renvoyer m_clModeleCourant +Affectation de la propriété p_clCourant +procédure publique p_clCourant(pclValeur est MAccesEtDroit dynamique) +si m_clModeleCourant<>pclValeur alors +m_clModeleCourant=pclValeur +DemandeMiseAJourIHM() +fin +Récupération de la propriété p_nTotal +procédure publique p_nTotal() +06/08/2026 Isis_BO 6127 + +Partie 6 › Classe › PTableAccesEtDroit › Code +renvoyer TableauOccurrence(m_clTabModele) +Méthode gNouvellePresentation +// Factory pour créer une nouvelle instance de présentation +procédure globale gNouvellePresentation(local nMode est un entier,*) +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeAccesEtDroit +selon nMode +cas 0 : clTableauModele.Charger() +cas 1 : clTableauModele.ChargerSelonProfil(MesParamètres[2à]) +cas 2 : clTableauModele.ChargerSelonProfilPourMobile(MesParamètres[2à]) +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableAccesEtDroit(clTableauModele) +renvoyer clPresentation +Méthode Modifier +procédure Modifier() +clPresentationFiche est un PFicheAccesEtDroit(m_clModeleCourant,ApresModification) +procédure interne ApresModification(pclModele est un MAccesEtDroit dynamique) +DemandeMiseAJourIHM() +fin +renvoyer clPresentationFiche +Méthode Nouveau +procédure Nouveau() +clModele est un MAccesEtDroit() +clPresentationFiche est un PFicheAccesEtDroit(clModele,ApresAjout) +procédure interne ApresAjout(pclModele est un MAccesEtDroit dynamique) +m_clTableauModele.Ajouter(pclModele) +fin +renvoyer clPresentationFiche +06/08/2026 Isis_BO 6128 + +Partie 6 › Classe › RapportMobile › Code +RapportMobile +Code +Déclaration de RapportMobile +RapportMobile est une Classe +m_nPKID est un entier sur 8 octets +| m_sNom | est une chaîne ANSI | | | | +| ------------ | -------------------------- | ---------------- | ------------------- | --- | +| m_nType | est un entier | | | | +| m_bufRapport | est un Buffer | | | | +| m_sRubriques | est une chaîne ANSI | | | | +| m_nIDModeleR | est un entier sur 8 octets | | | | +| m_nIDModeleE | est un entier sur 8 octets | | | | +| m_nIDInter | est un entier sur 8 octets | | | | +| m_nIDColb | est un entier sur 8 octets | | | | +| m_nIDEmail | est un entier sur 8 octets | | | | +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +| 06/08/2026 | | Isis_BO | | 6129 | +| ---------- | --- | ------- | --- | ---- | + +Partie 6 › Classe › ModeleRapportMobile › Code +ModeleRapportMobile +Code +Déclaration de ModeleRapportMobile +ModeleRapportMobile est une Classe +m_nPKID est un entier sur 8 octets +| m_sNom | est une chaîne ANSI | | | | +| ------------- | ---------------------------------------- | --- | -------------------- | --- | +| m_bufRapport | est un Buffer | | | | +| m_sRubriques | est une chaîne ANSI | | | | +| tbMotCleSpec | est un tableau de STJSONMembreRubRapport | | | | +nIndice est un entier +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrement +procédure Enregistrement() +si :m_nPKID <= 0 alors +HRAZ(ModeleRapportMob) +sinon +si pas HLitRecherchePremier(ModeleRapportMob,MRM_PKID,:m_nPKID) alors +Erreur("Une erreur s'est produite lors de la recherche du modèle",HErreurInfo()) +renvoyer Faux +fin +fin +si :tbMotCleSpec..Occurrence > 0 alors +sJson est une chaîne ANSI +Sérialise(:tbMotCleSpec,sJson,psdJSON) +:m_sRubriques = sJson +sinon +:m_sRubriques = "" +fin +| ModeleRapportMob.MRM_Nom = :m_sNom | | | | | +| -------------------------------------------- | --- | --- | --- | --- | +| ModeleRapportMob.MRM_Modele = :m_bufRapport | | | | | +| ModeleRapportMob.MRM_RubMob = :m_sRubriques | | | | | +si pas HEnregistre(ModeleRapportMob) alors +Erreur("Une erreur s'est produite lors de l'enregistrement du modèle",HErreurInfo()) +renvoyer Faux +| 06/08/2026 | | Isis_BO | | 6130 | +| ---------- | --- | ------- | --- | ---- | + +Partie 6 › Classe › ModeleRapportMobile › Code +sinon +:m_nPKID = ModeleRapportMob.MRM_PKID +fin +renvoyer Vrai +Méthode Supprimer +procédure Supprimer() +si :m_nPKID <= 0 alors +//Erreur("Une erreur s'est produite lors de la suppression du modèle",HErreurInfo()) +renvoyer Vrai +sinon +si pas HLitRecherchePremier(ModeleRapportMob,MRM_PKID,:m_nPKID) alors +Erreur("Une erreur s'est produite lors de la suppression du modèle",HErreurInfo()) +renvoyer Faux +sinon +si pas HSupprime(ModeleRapportMob) alors +Erreur("Une erreur s'est produite lors de la suppression du modèle",HErreurInfo()) +renvoyer Faux +fin +fin +fin +renvoyer Vrai +06/08/2026 Isis_BO 6131 + +Partie 7 › Collection de procédures +Partie 7 +Collection de +procédures +| 06/08/2026 | Isis_BO | 6132 | +| ---------- | ------- | ---- | + +Partie 7 › Collection de procédures +COL_COMMUN +Code +Déclaration de COL_COMMUN +constant +cParam_CloudServeur ="CLOUD_SERVEUR" +cParam_CloudPortData ="CLOUD_PORT_DATA" +cParam_CloudPortReplication ="CLOUD_PORT_REPLIC" +cParam_CloudCle ="CLOUD_CLE" +cParam_RepLog ="REP_LOG" +cParam_ServiceCommVersion ="SERVICE_COMM_VERSION" +cParam_WebServiceClient ="WEBSERVICE_CLIENT" +cParam_CodeClient ="CODE_CLIENT" +cParam_Messagerie ="PREFERENCE_MESSAGERIE" +cParam_Planning ="PREFERENCE_PLANNING" +cParam_TLM ="TLM" +cParam_SMTP ="CNX_SMTP" +cParam_POP_IMAP ="CNX_IMAP" +cParam_POP ="CNX_POP3" //ZOMBIE +cParam_ExpedMail = "BATIGEST_EXPED_MAIL" +cParam_SrvMail = "BATIGEST_SRV_MAIL" +cParam_PrtMail = "BATIGEST_PRT_MAIL" +cParam_CptMail = "BATIGEST_CPT_MAIL" +cParam_MdpMail = "BATIGEST_MDP_MAIL" +cParam_SSLMail = "BATIGEST_SSL_MAIL" +cParam_Connect = "BATIGEST_CONNECT" +cParam_Connect_Srv = "BATIGEST_CONNECT_SRV" +cParam_Connect_BDD = "BATIGEST_CONNECT_BDD" +cParam_Connect_User = "BATIGEST_CONNECT_USR" +cParam_Connect_Mdp = "BATIGEST_CONNECT_MDP" +cCptGroupeRDVDate = "CptGroupeRDVDate" +cParam_CouleurSoc = "COULEUR_SOC" +cParam_CouleurRDV = "COULEUR_RDV" +cParam_TrieInter = "TRIE_INTERV" +cParam_SuiviTempsAgd = "SVT_AG" +fin +STDate_Sel est une Structure +dhUneDate est une DateHeure +bSel est un booléen +fin +STJSONMembreRubRapport est une Structure +Nom est une chaîne +Rubrique est une chaîne +Description est une chaîne +Groupe est une chaîne +Type est une chaîne +Ordre est un réel +MembreMob est une chaîne ANSI +EnvoiMob est un entier +BD est un entier +MembreEmailMob est une chaîne +TypeMembre est une chaîne +Utilisee est un booléen +GroupeApp est une chaîne ANSI +06/08/2026 Isis_BO 6133 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +ListeDonnesMob est une chaîne ANSI +ListeDonnesBD est une chaîne ANSI +ListeMembre est un tableau de STJSONListeMembre +fin +STJSONListeMembre est une Structure +Nom est une chaîne +Rubrique est une chaîne +Membre est une chaîne +TypeMembre est une chaîne +LargeurCol est un réel +MembreMob est une chaîne ANSI +EnvoiMobest un entier +BD est un entier +MembreEmailMob est une chaîne +GroupeApp est une chaîne ANSI +InvisibleBO est un entier +Type est une chaîne +Ordre est un réel +fin +STJSONListTerme est une Structure +GroupeApp est une chaîne ANSI +Description est une chaîne +Rubrique est une chaîne +Membre est une chaîne +Type est une chaîne +Ordre est un réel +TermeVisible est un booléen +BtnCopieVisible est un booléen +Groupe est une chaîne +SourceCombo est un chaîne +LibelleCombo est une chaîne +MembreMob est une chaîne ANSI +MembreEmailMob est une chaîne +EnvoiMob est un entier +BD est un entier +LargeurCol est un réel +InvisibleBO est un entier +ListeMembre est un tableau de STJSONListeMembre +fin +STJSONRubriqueRapport est une Structure +NomParam est une chaîne +ListeTerme est un tableau de STJSONListTerme +fin +STJSONLicence est une Structure +verLicence est une chaîne +dateLicence est une chaîne +nbLicenceDesktop est un entier +nbLicenceMobile est un entier +verMinBO est une chaîne +nBLicenceDesktopRestante est un entier +nBLicenceMobileRestante est un entier +fin +STJSONSANSLICENCE est une Structure +Login est une chaîne +PKID est un entier sur 8 octets +fin +STJSONUSERSSANSLICENCE est une Structure +Utilisateurs est un tableau de STJSONSANSLICENCE +fin +STParamEmail est une Structure +sCompte est une chaîne +sEmail est une chaîne +fin +STParamEnvoiEmail est une Structure +sLogin est une chaîne +sMdp est une chaîne +06/08/2026 Isis_BO 6134 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +sAdresseServeur est une chaîne +sPortServeur est une chaîne +nCryptage est un entier +bufSignature est un Buffer +bEnCopieCachee est un booléen +sType est une chaîne +tabCC_CopieEmail est un tableau de chaînes ANSI +fin +STParamEnvoiEmailPerso est une Structure +Compte est un STParamEmail +SMTP est un STParamEnvoiEmail +fin +STParamRecepEmail est une Structure +nTypeRecep est un entier +stParamCommun est un STParamEnvoiEmail +fin +STParamCategDoc est une Structure +sCodeDroit est une chaîne +sNomRepertoire est une chaîne +fin +STDefDroitAcces est une Structure +bufCle est un Buffer +sBureau est une chaîne +sMobile est une chaîne +fin +STElementDroitAcces est une Structure +sFichier est une chaîne +sRubrique est une chaîne +tabDefDroitAcces est un tableau de STDefDroitAcces +fin +STListeDroit est une Structure +tabElementDroitAcces est un STElementDroitAcces +fin +STListeColVisible est une Structure +sNomColonne est une chaîne +nOrdreAffichage est un entier +fin +STListeColTrie est une Structure +sNomColonne est une chaîne +sSensTri est une chaîne +nOrdreTri est un entier +fin +STListePerso est une Structure +tabColsVisible est un tableau de STListeColVisible +tabColsTri est un tableau de STListeColTrie +fin +STCriterePerso est une Structure +sNomChpCritere est une chaîne +sValChpCritere est une chaîne +sNomRubCritere est une chaîne +fin +STCritereListePerso est une Structure +tabCriterePerso est un tableau de STCriterePerso +fin +stInfoIntervention est une Structure +saDevis est une chaîne ANSI +saIntervention est une chaîne ANSI +idIntervention est un entier sur 8 octets +fin +STQuestionModifRdv est une Structure +nValeur est un entier +sQuestion est une chaîne ANSI +06/08/2026 Isis_BO 6135 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +fin +Procédure globale AccesEtDroitCollaborateur +// Résumé : +// Syntaxe : +//[ = ] AccesEtDroitCollaborateur () +// +// Paramètres : +// Aucun +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AccesEtDroitCollaborateur() +bResultat est un booléen +si HUtilisateur.SuperUtilisateur alors +renvoyer Vrai +fin +si gpclFicheUtilisateurEnCours:m_bAdministrateur alors +renvoyer Vrai +fin +sCleFiltre est une chaîne = HFiltre(ParametreMetier,"PA_Code='29' AND PA_Valeur='12'") +HLitPremier(ParametreMetier,sCleFiltre,hRespecteFiltre) +si pas HEnDehors(ParametreMetier) alors +sFiltre2est une chaîne = ChaîneConstruit("AED_IDModule=%1 AND AED_IDPRofil=%2 AND AED_ACCES=1", +ParametreMetier.PA_PKID,gpclFicheUtilisateurEnCours.m_nIDTypeProfil) +sCleFiltre2 est une chaîne = HFiltre(AccesEtDroit,sFiltre2) +HLitPremier(AccesEtDroit,sCleFiltre2) +si pas HEnDehors(AccesEtDroit) alors +bResultat = Vrai +fin +HDésactiveFiltre(AccesEtDroit) +fin +HDésactiveFiltre(ParametreMetier) +renvoyer bResultat +Procédure globale AccesEtDroitDossier +// Résumé : +// Syntaxe : +// AccesEtDroitDossier () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AccesEtDroitDossier() +bResultat est un booléen +sCleFiltre est une chaîne = HFiltre(ParametreMetier,"PA_Code='29' AND PA_Valeur='5'") +06/08/2026 Isis_BO 6136 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +HLitPremier(ParametreMetier,sCleFiltre,hRespecteFiltre) +si pas HEnDehors(ParametreMetier) alors +sFiltre2est une chaîne = ChaîneConstruit("AED_IDModule=%1 AND AED_IDPRofil=%2 AND AED_ACCES=1", +ParametreMetier.PA_PKID,gpclFicheUtilisateurEnCours.m_nIDTypeProfil) +sCleFiltre2 est une chaîne = HFiltre(AccesEtDroit,sFiltre2) +HLitPremier(AccesEtDroit,sCleFiltre2,hRespecteFiltre) +si pas HEnDehors(AccesEtDroit) alors +bResultat = Vrai +fin +HDésactiveFiltre(AccesEtDroit) +fin +HDésactiveFiltre(ParametreMetier) +renvoyer bResultat +Procédure globale AccesEtDroitEquipe +// Résumé : +// Syntaxe : +//[ = ] AccesEtDroitEquipe () +// +// Paramètres : +// Aucun +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AccesEtDroitEquipe() +bResultat est un booléen +sCleFiltre est une chaîne = HFiltre(ParametreMetier,"PA_Code='29' AND PA_Valeur='13'") +HLitPremier(ParametreMetier,sCleFiltre,hRespecteFiltre) +si pas HEnDehors(ParametreMetier) alors +sFiltre2est une chaîne = ChaîneConstruit("AED_IDModule=%1 AND AED_IDPRofil=%2 AND AED_ACCES=1", +ParametreMetier.PA_PKID,gpclFicheUtilisateurEnCours.m_nIDTypeProfil) +sCleFiltre2 est une chaîne = HFiltre(AccesEtDroit,sFiltre2) +HLitPremier(AccesEtDroit,sCleFiltre2,hRespecteFiltre) +si pas HEnDehors(AccesEtDroit) alors +bResultat = Vrai +fin +HDésactiveFiltre(AccesEtDroit) +fin +HDésactiveFiltre(ParametreMetier) +renvoyer bResultat +Procédure globale AjoutCollaborateurGroupeRDV +procédure AjoutCollaborateurGroupeRDV(pclPresentationFicheRdv est un PFicheRdv,nIdCollaborateur est un +entier sur 8 octets,bGroupe est un booléen = False) +sComplReq est une chaîne ANSI +bCollaborateur est un booléen +nIdCompteurGroupe est un entier sur 8 octets +pclUnRdv est un MRdv dynamique +sReqUpdate est une chaîne ANSI +RdVCopie est une Structure +Rdv est un MRdv +nIdCollaborateur est un tableau d'entiers sur 8 octets +06/08/2026 Isis_BO 6137 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +nIdGroupe est un entier sur 8 octets +fin +taRdvs est un tableau associatif de RdVCopie +RdvCopieInfo est un RdVCopie dynamique +sReq est une chaîne ANSI = [ +SELECT * FROM Planning_RDV where PL_IdGroupeDate = +] +sComplReq += pclPresentationFicheRdv.m_nIDGroupeDate +si bGroupe alors +sComplReq += " AND PL_DateDebut = '"+pclPresentationFicheRdv.m_dhDateDebut+ +"' AND PL_Datefin = '"+ pclPresentationFicheRdv.m_dhDateFin+"'" +fin +sComplReq += " AND Planning_RDV.Archive=0 AND PL_IDDossier =" + pclPresentationFicheRdv.m_nIDDossier ++ " AND PL_IDIntervention = " +pclPresentationFicheRdv.m_nIDIntervention +sComplReq += " AND PL_IDTypeActivite ="+ pclPresentationFicheRdv.m_nIDTypeActivite + +" AND PL_IDSociete = " + pclPresentationFicheRdv.m_nIDSociete +sComplReq += " ORDER by PL_DateDebut asc" +sReq += sComplReq +si pclPresentationFicheRdv.m_nIDGroupeDate > 0 et pclPresentationFicheRdv.m_nIDCollaborateur > 0 alors +sdSDRDV est une Source de Données +si pas HExécuteRequêteSQL(sdSDRDV,hRequêteDéfaut,sReq) alors +Erreur("Une erreur s'est produite, les rendez-vous n'ont pas pu être modifiés" + RC + +HErreurInfo()) +sinon +pour tout sdSDRDV +si taRdvs[sdSDRDV.PL_DateDebut+"-"+sdSDRDV.PL_DateFin]..Existe alors +si sdSDRDV.PL_IDGroupe > 0 alors +si pas taRdvs[sdSDRDV.PL_DateDebut+"-"+sdSDRDV.PL_DateFin].nIdGroupe > 0 alors +taRdvs[sdSDRDV.PL_DateDebut+"-"+sdSDRDV.PL_DateFin].nIdGroupe = sdSDRDV. +PL_IDGroupe +fin +fin +TableauAjoute(taRdvs[sdSDRDV.PL_DateDebut+"-"+sdSDRDV.PL_DateFin].nIdCollaborateur, +sdSDRDV.PL_IDCollaborateur) +sinon +pclUnRdv = allouer un MRdv +pclUnRdv.m_nIDGroupe = sdSDRDV.PL_IDGroupe +pclUnRdv.m_nIDSociete = sdSDRDV.PL_IDSociete +pclUnRdv.m_nIDEquipe = sdSDRDV.PL_IDEquipe +pclUnRdv.m_nIDDossier = sdSDRDV.PL_IDDossier +pclUnRdv.m_nIDIntervention = sdSDRDV.PL_IDIntervention +pclUnRdv.m_nIDTypeActivite = sdSDRDV.PL_IDTypeActivite +pclUnRdv.m_nIDStatut = sdSDRDV.PL_IDStatut +pclUnRdv.m_sDescription = sdSDRDV.PL_Description +pclUnRdv.m_dhDateDebut = sdSDRDV.PL_DateDebut +pclUnRdv.m_dhDateFin = sdSDRDV.PL_DateFin +pclUnRdv.m_bSuperposable = sdSDRDV.PL_Superposable +pclUnRdv.m_bPrive = sdSDRDV.PL_Prive +pclUnRdv.m_bGrouper = sdSDRDV.PL_Grouper +pclUnRdv.m_sObjet = sdSDRDV.PL_Objet +pclUnRdv.m_sIDImport = sdSDRDV.PL_IDImport +pclUnRdv.m_nIDPersonne = sdSDRDV.PL_IDPersonne +pclUnRdv.m_nIDLieu = sdSDRDV.PL_IDLieu +pclUnRdv.m_bSAV = sdSDRDV.PL_SAV +pclUnRdv.m_bRappelSMS = sdSDRDV.PL_RappelSMS +pclUnRdv.m_nIDGroupeDate = sdSDRDV.PL_IdGroupeDate +RdvCopieInfo = allouer un RdVCopie +06/08/2026 Isis_BO 6138 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +RdvCopieInfo.Rdv = pclUnRdv +RdvCopieInfo.nIdGroupe = sdSDRDV.PL_IDGroupe +taRdvs[sdSDRDV.PL_DateDebut+"-"+sdSDRDV.PL_DateFin] = RdvCopieInfo +TableauAjoute(taRdvs[sdSDRDV.PL_DateDebut+"-"+sdSDRDV.PL_DateFin].nIdCollaborateur, +sdSDRDV.PL_IDCollaborateur) +fin +fin +fin +sinon +Erreur("Une erreur s'est produite, les rendez-vous n'ont pas pu être modifiés") +renvoyer Faux +fin +si pclPresentationFicheRdv.m_nIDGroupeDate > 0 alors +pour tout stRdv de taRdvs +bCollaborateur = False +nIdCompteurGroupe = 0 +pour tout nId de stRdv.nIdCollaborateur +si nId = nIdCollaborateur alors +bCollaborateur = Vrai +fin +fin +si pas bCollaborateur alors +si stRdv.nIdGroupe <= 0 alors +nIdCompteurGroupe = CreaCompteur("GrpeRdv") +stRdv.nIdGroupe = nIdCompteurGroupe +fin +sReqUpdate += " UPDATE Planning_RDV SET PL_IDGroupe = "+stRdv.nIdGroupe +sReqUpdate += " ,ModifDate = " + "'"+DateHeureSys()+"'" +sReqUpdate += " ,ModifUser = " + gpclFicheUtilisateurEnCours:m_nPKID +sReqUpdate += " WHERE PL_IDGroupedate = " + pclPresentationFicheRdv.m_nIDGroupeDate +sReqUpdate += " AND PL_DateDebut = '"+stRdv.Rdv.m_dhDateDebut+"' AND PL_Datefin = '"+ +stRdv.Rdv.m_dhDateFin+"'" +sReqUpdate += " AND Planning_RDV.Archive=0 AND PL_IDDossier =" + pclPresentationFicheRdv. +m_nIDDossier + " AND PL_IDIntervention = " +pclPresentationFicheRdv.m_nIDIntervention +sReqUpdate += " AND PL_IDTypeActivite ="+ pclPresentationFicheRdv.m_nIDTypeActivite + +" AND PL_IDSociete = " + pclPresentationFicheRdv.m_nIDSociete +"; " +stRdv.Rdv.m_nIDGroupe = stRdv.nIdGroupe +clPFicheRdv est un PFicheRdv(stRdv.Rdv) +si pas CreationUnRdvSurGroupeDate(clPFicheRdv,nIdCollaborateur) alors +renvoyer Faux +fin +fin +fin +fin +si sReqUpdate.Taille > 10 alors +sdRDV est une Source de Données +si pas HExécuteRequêteSQL(sdRDV,hVérifieDoublon+hVérifieIntégrité,sReqUpdate) alors +Erreur("Une erreur s'est produite, le liens entre les rendez-vous n'ont pas pu être modifiés" + +RC + HErreurInfo()) +renvoyer Faux +fin +fin +renvoyer Vrai +Procédure globale AjouterCRDerniereRDV +procédure AjouterCRDerniereRDV(nIdGroupeDate est un entier sur 8 octets) +06/08/2026 Isis_BO 6139 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +si nIdGroupeDate > 0 alors +// Date de début et fin du groupe +dhDateDebutGrp est une DateHeure +dhDateFinGrp est une DateHeure +(dhDateDebutGrp,dhDateFinGrp) = DateDebutFinRDVGroupe(nIdGroupeDate) +// On modifie tous le RDV afin que seulement le dernier RDV a un compte-rendu +sdRequete_1 est une Source de Données +sReqSQL_1 est une chaîne ANSI = +[ +UPDATE Planning_RDV SET PL_CR = 0 +WHERE PL_IdGroupeDate = %1 +AND Archive = 0 +] +sReqSQL_1 = ChaîneConstruit(sReqSQL_1, nIdGroupeDate) +si pas HExécuteRequêteSQL(sdRequete_1,hRequêteDéfaut,sReqSQL_1) alors +Erreur("Une erreur s'est produite lors de l'enregistrement du rendez-vous" + RC + HErreurInfo() +) +renvoyer Faux +sinon +sdRequete_2 est une Source de Données +sReqSQL_2 est une chaîne ANSI = +[ +UPDATE Planning_RDV SET PL_CR = 1 +WHERE PL_IdGroupeDate = %1 +AND PL_DateFin = %2 +AND Archive = 0 +] +sReqSQL_2 = ChaîneConstruit(sReqSQL_2, nIdGroupeDate, "'"+dhDateFinGrp+"'") +si pas HExécuteRequêteSQL(sdRequete_2,hRequêteDéfaut,sReqSQL_2) alors +Erreur("Une erreur s'est produite lors de l'enregistrement du rendez-vous" + RC + +HErreurInfo()) +renvoyer Faux +sinon +renvoyer Vrai +fin +fin +sinon +Erreur("Une erreur s'est produite lors de l'enregistrement du rendez-vous" + RC + +"L'identifiant de rendez-vous est requis") +renvoyer Faux +fin +Procédure globale AppelProcFenetreAppelante +// Résumé : +// Syntaxe : +//[ = ] AppelProcFenetreAppelante ( est objet dynamique, est +STParamFenetreAppelante, est booléen, est booléen [, est +booléen]) +// +// Paramètres : +// pclObjCourant (objet dynamique) : +// paramAppelant (STParamFenetreAppelante) : +06/08/2026 Isis_BO 6140 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +// bMAJObjet (booléen) : +// bFerme (booléen) : +// bReactiveTimer (booléen - valeur par défaut=0) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AppelProcFenetreAppelante(pclObjCourant est un objet dynamique,paramAppelant est un +STParamFenetreAppelante,local bMAJObjet est un booléen,local bFerme est un booléen,local bReactiveTimer +est un booléen=Faux) +bResultat est un booléen=Vrai +MaDef est une Définition +sNomClasse est une chaîne +si pclObjCourant<>Null alors +MaDef=RécupèreDéfinition(pclObjCourant) +sNomClasse = MaDef..Nom +fin +si paramAppelant.gProcMAJRetour<> Null alors +si paramAppelant.bMultiSelect _ou_ ChaîneCommencePar(sNomClasse,"PFiche") _ou_ ChaîneCommencePar( +sNomClasse,"M") alors +selon paramAppelant.sNomIDAppelant +cas "AddLieuPersonne" : bResultat = paramAppelant.gProcMAJRetour(bFerme ? 1 +sinon bReactiveTimer ? 3 sinon 2, bFerme ? paramAppelant.sContexteAppelant sinon "", +bMAJObjet ? pclObjCourant:ListeLieu:p_clCourant sinon Null) +autre cas : bResultat = paramAppelant.gProcMAJRetour(bFerme ? 1 +sinon bReactiveTimer ? 3 sinon 2,bFerme ? paramAppelant.sContexteAppelant sinon "", +bMAJObjet ? pclObjCourant sinon Null) +fin +sinon si paramAppelant.bMultiSelect=Faux _et_ ChaîneCommencePar(sNomClasse,"PTable") alors +selon paramAppelant.sNomIDAppelant +//CAS "InterventionListeLieu" : bResultat = paramAppelant.gProcMAJRetour(bFerme ? 1 SINON +bReactiveTimer ? 3 SINON 2,bFerme ? paramAppelant.sContexteAppelant SINON "",bMAJObjet ? +pclObjCourant.Modifier() SINON Null) +autre cas : bResultat = paramAppelant.gProcMAJRetour(bFerme ? 1 sinon +bReactiveTimer ? 3 sinon 2,bFerme ? paramAppelant.sContexteAppelant sinon "",bMAJObjet +_et_ pclObjCourant:p_clCourant<>Null ? pclObjCourant.Modifier() sinon Null) +fin +sinon si pclObjCourant=Null alors +bResultat = paramAppelant.gProcMAJRetour(bFerme ? 1 sinon bReactiveTimer ? 3 sinon 2,bFerme ? +paramAppelant.sContexteAppelant sinon "",Null) +fin +fin +renvoyer bResultat +Procédure globale ChargeListeEquipeCollab +// Résumé : +// Syntaxe : +//[ = ] ChargeListeEquipeCollab ( est objet dynamique) +// +// Paramètres : +// pclObjCollab (objet dynamique) : +// Valeur de retour : +// PFicheCollaborateur : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +06/08/2026 Isis_BO 6141 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +// +procédure ChargeListeEquipeCollab(pclObjCollab est un objet dynamique) +clFicheCollab est un PFicheCollaborateur(pclObjCollab,Null) +PFicheCollaborateur.gListeEquipe(clFicheCollab) +renvoyer clFicheCollab +Procédure globale ChargeListeSocieteCollab +// Résumé : +// Syntaxe : +//[ = ] ChargeListeSocieteCollab ( est objet dynamique) +// +// Paramètres : +// pclObjCollab (objet dynamique) : +// Valeur de retour : +// PFicheCollaborateur : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChargeListeSocieteCollab(pclObjCollab est un objet dynamique) +clFicheCollab est un PFicheCollaborateur(pclObjCollab,Null) +PFicheCollaborateur.gListeSociete(clFicheCollab,Faux,0) +renvoyer clFicheCollab +Procédure globale ChargeParametreMetier +procédure ChargeParametreMetier() +//Chargement de tous les paramètre métier +gpclListeParamMetier = PTableParametreMetier.gNouvellePresentation("") +//Chargement des Champs personnalisés +gpclListeChampPerso = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"01") +//PTableParametreMetier.gNouvellePresentation("01") +//Chargement des Types de client +gpclListeTypeClient = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"02") +//PTableParametreMetier.gNouvellePresentation("02") +//Chargement des Statut du client +gpclListeStatutClient = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"03") +//PTableParametreMetier.gNouvellePresentation("03") +//Chargement des civilités +gpclListeTypeAdresse = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"04") +//PTableParametreMetier.gNouvellePresentation("04") +//Chargement des civilités +gpclListeCivilite = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"05") +//PTableParametreMetier.gNouvellePresentation("05") +//Chargement des type de dossiers +gpclListeTypeDossier = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"06") +//PTableParametreMetier.gNouvellePresentation("06") +//Chargement des statuts d'un dossier +gpclListeStatutDossier = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"07") +//PTableParametreMetier.gNouvellePresentation("07") +//Chargement des Type de lieu +gpclListeTypeLieu = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"08") +//PTableParametreMetier.gNouvellePresentation("08") +//Chargement des Destination d'une demande +//gpclListeDestinationDemande = PTableParametreMetier.gNouvellePresentation("09") +06/08/2026 Isis_BO 6142 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +//Recherche des niveaux de priorité +gpclListeNivPriorite = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"10") +//PTableParametreMetier.gNouvellePresentation("10") +//Chargement des rôles contact +gpclListeRoleContact = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"11") +//PTableParametreMetier.gNouvellePresentation("11") +gpclListeRoleContact.m_clTabModele.Trie(ttMembre,":m_sValeur") +//Chargement des types d'intervention +gpclListeTypeIntervention = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"12") +//PTableParametreMetier.gNouvellePresentation("12") +//Chargement des état d'intervention +gpclListeEtatIntervention = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"13") +//PTableParametreMetier.gNouvellePresentation("13") +//Chargement des types des rendez-vous +gpclListeTypeRendezVous = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"14") +//PTableParametreMetier.gNouvellePresentation("14") +//Chargement des statuts des rendez-vous +gpclListeStatutRendezVous = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"15") +//PTableParametreMetier.gNouvellePresentation("15") +pour tout o de gpclListeStatutRendezVous:m_clTabModele +gtaStatutRDV[o:m_nPKID]=o:m_sLibelle +fin +//Chargement des types d'actions +gpclListeTypeAction = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"16") +//PTableParametreMetier.gNouvellePresentation("16") +//Chargement des catégories de document +gpclListeCategorieDocument = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"17") +//PTableParametreMetier.gNouvellePresentation("17") +gclListeCategorieDocHorsRapport <- DonneCategDocSaufRapport() +//Chargement des types de temps +gpclListeTypeTemps = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"18") +//PTableParametreMetier.gNouvellePresentation("18") +//Chargement des profils utilisateurs +gpclListeProfilUser = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"19") +//PTableParametreMetier.gNouvellePresentation("19") +//Chargement des statuts collaborateurs +gpclListeStatutCollab = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"20") +//PTableParametreMetier.gNouvellePresentation("20") +//Chargement des modèles d'états pour l'intervention +gpclListeModelEtatInterv = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"22") +//PTableParametreMetier.gNouvellePresentation("22") +//Chargement des modèles de rapport pour l'intervention +gpclListeModelRapportInterv = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"23") +//PTableParametreMetier.gNouvellePresentation("23") +//Chargement des états de documents +gpclListeEtatDocument = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"24") +//PTableParametreMetier.gNouvellePresentation("24") +//Chargement des modèles d'états pour l'intervention avec rendez-vous +gpclListeModelEtatIntervRdv = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"25") +//PTableParametreMetier.gNouvellePresentation("25") +//Chargement des seuil d'affichage des listes +gpclListeSeuilAffichageListe= PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"26") +06/08/2026 Isis_BO 6143 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +//PTableParametreMetier.gNouvellePresentation("26") +//Chargement des période d'affichage des listes +gpclListePeriodeAffichageListe= PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"27") +//PTableParametreMetier.gNouvellePresentation("27") +//Chargement des catégories de modèles de mails +gpclListeCategorieModelMail = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier, +"MC")//PTableParametreMetier.gNouvellePresentation("MC") +//Chargement des apporteur clients +gpclListeApporteurClient = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"30") +//##SPEC ArtisansPartenaires## +//Chargement des origine clients +gpclListeOrigineClient = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier, +"31") //##SPEC ArtisansPartenaires## +//Chargement des type de signataire des comptes-rendus mobile +gpclListeTypeSignataireCR = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"32") +//##SPEC ArtisansPartenaires## +//Chargement des mode de règlements client +gpclListeModeReglementCli = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"33") +//##SPEC ArtisansPartenaires## +PTableParametreMetier.ParametreJSONTypeRDV() +Procédure globale ChercheTabNomChampFiniPar +// Résumé : +// Syntaxe : +//[ = ] ChercheTabNomChampFiniPar (, ) +// +// Paramètres : +// ElementTableau : +// ValeureRecherche : +// Valeur de retour : +// entier : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChercheTabNomChampFiniPar(ElementTableau, ValeureRecherche) +sChaine est une chaîne = ExtraitChaîne(ElementTableau,1,".",DepuisFin) +si ValeureRecherche=sChaine alors +renvoyer 0 +sinon +renvoyer -1 +fin +Procédure globale CodeSrcHtmlEnBase64IMG +procédure CodeSrcHtmlEnBase64IMG(sBaliseIMG est une chaîne,gstParamEnvoiEmail est STParamEnvoiEmail) +sCheminFichier est une chaîne +sBaliseSRC est une chaîne = [ +src="%1" +] +sBaliseBase64 est une chaîne = [ +src="data:image/%1;base64,%2" +] +//Recheche la balise src et extrait le chemin et le nom du fichier +sCheminFichier = fExtraitChemin(Remplace(ExtraitChaîne(ExtraitChaîne(sBaliseIMG,2,"src="),1,"'"), +06/08/2026 Isis_BO 6144 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +ExtraitChaîne(ExtraitChaîne(sBaliseIMG,2,"src="),1,"""",DepuisFin),""),fDisque+fRépertoire+fFichier+ +fExtension) +sExt est une chaîne ANSI = fExtraitChemin(sCheminFichier, fExtension) +//Supprime les douvles cotes au début et à la fin +si sCheminFichier<>"" _et_ sExt <> "" alors +sCheminFichier = fExtraitChemin(sCheminFichier, fDisque+fRépertoire+fFichier) +si Contient(sExt,".jpeg",MotComplet) alors +sExt = ".jpeg " +sinon si Contient(sExt,".jpg",MotComplet) alors +sExt = ".jpg " +sinon si Contient(sExt,".png",MotComplet) alors +sExt = ".png " +sinon si Contient(sExt, ".gif",MotComplet) alors +sExt = ".gif " +sinon si Contient(sExt,".svg",MotComplet) alors +sExt = ".svg " +sinon +sExt = "" +fin +si sExt <> "" alors +sCheminFichier += sExt +fin +sCheminFichier = Remplace(sCheminFichier,"","") +sCheminFichier = Milieu(sCheminFichier,2,Taille(sCheminFichier)-2) +//Stock la balise src pour le remplacement +sBaliseSRC = ChaîneConstruit(sBaliseSRC,sCheminFichier) +//Si le fichier existe +si fFichierExiste(sCheminFichier) alors +//Encode en base 64 l'image correspond au fichier +sImageEncodee est une chaîne = Encode(fChargeBuffer(sCheminFichier), encodeBASE64) +sBaliseBase64 = ChaîneConstruit(sBaliseBase64,ExtraitChaîne(fExtraitChemin(sCheminFichier, +fExtension),2,"."),sImageEncodee) +si Contient(sBaliseIMG, "width") alors +nPos2 est un entier = PositionOccurrence(sBaliseIMG,"width",1,DepuisDébut) +nPos3 est un entier = PositionOccurrence(sBaliseIMG,"align",1,DepuisDébut) +si nPos2 > 0 et nPos3 > 0 alors +gstParamEnvoiEmail.bufSignature = Remplace(gstParamEnvoiEmail.bufSignature,sBaliseIMG +[[nPos2 à (nPos3-1)]], "") +fin +fin +gstParamEnvoiEmail.bufSignature = Remplace(gstParamEnvoiEmail.bufSignature,sBaliseSRC, +sBaliseBase64) +fin +fin +Procédure globale CouleurHTMLVersRVB +procédure CouleurHTMLVersRVB(sCouleur est une chaîne ANSI) +UnCouleur est un Couleur +si sCouleur <> "" alors +nRVB est un entier +nRVB = RVB(Val(Gauche(sCouleur, 2), "x"), ... +Val(Milieu(sCouleur, 3, 2), "x"), ... +06/08/2026 Isis_BO 6145 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +Val(Droite(sCouleur, 2), "x")) +UnCouleur = nRVB +fin +renvoyer UnCouleur +Procédure globale CreaCompteur +procédure CreaCompteur(local sCode est une chaîne,local nParAn est un entier=-1,local nParMois est un +entier=-1,local bAvecPrefixe est un booléen=Faux,local nTailleCpt est un entier=6) +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(Compteur,sCond) +sMois est une chaîne = NumériqueVersChaîne(MoisEnCours(),"02d") +sResult est une chaîne +HLitPremier(Compteur, sFiltre,hRespecteFiltre) +si HEnDehors(Compteur) alors +HRAZ(Compteur) +si nParAn=1 alors Compteur.CPT_Annee=AnnéeEnCours() +si nParMois=1 alors Compteur.CPT_Mois=MoisEnCours() +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) +sResult = bAvecPrefixe=Faux ? Compteur.CPT_Valeur sinon Compteur.CPT_ParAnnee=1 _et_ Compteur. +CPT_ParMois=1 ? sCode+Compteur.CPT_Annee+sMois+Répète("0",nTailleCpt-Taille(Compteur.CPT_Valeur +))+Compteur.CPT_Valeur sinon Compteur.CPT_ParAnnee=1 _et_ Compteur.CPT_Mois=0 ? sCode+Compteur. +CPT_Annee+Répète("0",nTailleCpt-Taille(Compteur.CPT_Valeur))+Compteur.CPT_Valeur sinon Compteur +.CPT_ParAnnee=0 _et_ Compteur.CPT_Mois=1 ? sCode+sMois+Répète("0",nTailleCpt-Taille(Compteur. +CPT_Valeur))+Compteur.CPT_Valeur sinon sCode+Répète("0",nTailleCpt-Taille(Compteur.CPT_Valeur)) ++Compteur.CPT_Valeur +renvoyer sResult +sinon +bRAZAnnee est un booléen +bRAZMoisest un booléen +si Compteur.CPT_ParAnnee=1 _et_ Compteur.CPT_Annee<>AnnéeEnCours() alors bRAZAnnee = Vrai +si Compteur.CPT_ParMois=1 _et_ Compteur.CPT_Mois<>Complète(MoisEnCours(),2,0) alors bRAZMois = +Vrai +si bRAZAnnee _ou_ bRAZMois alors +//Mise à jour du compteur pour le rendre inactif +HBloqueNumEnr(Compteur,hNumEnrEnCours,hBlocageEcriture) +Compteur.CPT_Actif = 0 +HModifie(Compteur,hNumEnrEnCours) +HDébloqueNumEnr(Compteur,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 +06/08/2026 Isis_BO 6146 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +Compteur.CPT_ParMois = nParMois=-1 ? 0 sinon nParMois +HAjoute(Compteur) +sinon +//HLitRecherche() +HBloqueNumEnr(Compteur,hNumEnrEnCours,hBlocageEcriture) +Compteur.CPT_Valeur++ +HModifie(Compteur) +HDébloqueNumEnr(Compteur,hNumEnrEnCours) +fin +sResult= bAvecPrefixe=Faux ? Compteur.CPT_Valeur sinon Compteur.CPT_ParAnnee=1 _et_ Compteur. +CPT_ParMois=1 ? sCode+Compteur.CPT_Annee+sMois+Répète("0",nTailleCpt-Taille(Compteur.CPT_Valeur))+ +Compteur.CPT_Valeur sinon Compteur.CPT_ParAnnee=1 _et_ Compteur.CPT_Mois=0 ? sCode+Compteur. +CPT_Annee+Répète("0",nTailleCpt-Taille(Compteur.CPT_Valeur))+Compteur.CPT_Valeur sinon Compteur. +CPT_ParAnnee=0 _et_ Compteur.CPT_Mois=1 ? sCode+sMois+Répète("0",nTailleCpt-Taille(Compteur. +CPT_Valeur))+Compteur.CPT_Valeur sinon sCode+Répète("0",nTailleCpt-Taille(Compteur.CPT_Valeur))+ +Compteur.CPT_Valeur +fin +HDésactiveFiltre(Compteur) +renvoyer sResult +Procédure globale CreaJourFerie +procédure CreaJourFerie() +// Suppression de tous les jours fériés +JourFériéSupprimeTout() +// Initialisation des 11 jours fériés communs aux départements français et DOM/TOM +JourFériéAjoute("0101") // 1er Janvier +JourFériéAjoute(jfLundiDePâques) // Lundi de Pâques +JourFériéAjoute("0501") // 1er Mai +JourFériéAjoute("0508") // 8 Mai +JourFériéAjoute(jfJeudiDeLAscension) // Jeudi de l'Ascension +JourFériéAjoute(jfLundiDePentecôte) // Lundi de Pentecôte +JourFériéAjoute("0714") // 14 Juillet +JourFériéAjoute("0815") // 15 Août (Assomption) +JourFériéAjoute("1101") // Toussaint +JourFériéAjoute("1111") // 11 Novembre +JourFériéAjoute("1225") // Noël +Procédure globale CreationActionUserAutreSoc +// Résumé : +// Syntaxe : +//CreationActionUserAutreSoc ( est entier sur 8 octets, est entier sur 8 octets, + est chaîne) +// +// Paramètres : +// nIdSociete (entier sur 8 octets) : +// nIdInt (entier sur 8 octets) : +// sMsg (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure CreationActionUserAutreSoc(nIdSociete est un entier sur 8 octets, nIdInt est un entier sur 8 +octets, sMsg est une chaîne ANSI) + +06/08/2026 Isis_BO 6147 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +si nIdSociete > 0 et nIdInt > 0 alors +bSociete est un booléen = Faux +pour tout pclSoc de gpclFicheUtilisateurEnCours:ListeSociete:m_clTabModele +si pclSoc.m_nPKID = nIdSociete alors +bSociete = Vrai +sortir +fin +fin +si pas bSociete alors +clErr est un CErreur +bCreation est un booléen = Faux +//Recherche des Actions +clTableauModele est un PTableAction dynamique +clTableauModele <- PTableAction.gNouvellePresentation(1,nIdInt) +si clTableauModele.m_clTabModele..Occurrence > 0 alors +pour tout pclLaction de clTableauModele.m_clTabModele +si pclLaction.m_nIDQui = gpclFicheUtilisateurEnCours.m_nIDCollaborateur alors +si pclLaction.m_dDateAction = DateDuJour() alors +si gpclListeTypeAction.RechercheEtDonneIdDepuisValeur("8") = pclLaction. +m_nIDTypeAction alors +si Contient(pclLaction.m_sDescription,sMsg) +si Contient(pclLaction.m_sDescription, Gauche(HeureSys(), 2)+"h" +) alors +pclLaction.m_hHeureAction = HeureSys() +si pas pclLaction.bEnregistrer(clErr) alors +Erreur(clErr.FormateMessage()) +sinon +bCreation = Vrai +fin +sinon +pclLaction.m_sDescription += " / "+HeureVersChaîne(HeureSys( +), "HH") + "h" +si pas pclLaction.bEnregistrer(clErr) alors +Erreur(clErr.FormateMessage()) +sinon +bCreation = Vrai +fin +fin +sortir +fin +fin +fin +fin +fin +fin +si pas bCreation alors +clNewAction est un MAction +clNewAction.m_bClos =Vrai +clNewAction.m_dDateAction =DateDuJour() +clNewAction.m_dhCreationDate =DateHeureSys() +clNewAction.m_hHeureAction =HeureSys() +clNewAction.m_nIDIntervention =nIdInt +clNewAction.m_nCreationUser =gpclFicheUtilisateurEnCours.m_nPKID +clNewAction.m_nIDTypeAction =gpclListeTypeAction.RechercheEtDonneIdDepuisValeur +("8") +clNewAction.m_sCreationUser =gpclFicheUtilisateurEnCours.m_sNom+ " " + gpcl +FicheUtilisateurEnCours.m_sPrenom +06/08/2026 Isis_BO 6148 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +clNewAction.m_nIDQui =gpclFicheUtilisateurEnCours.m_nIDCollaborateur +clNewAction.m_sDescription =sMsg+" "+ HeureVersChaîne(HeureSys(), "HH") + "h" +si pas clNewAction.bEnregistrer(clErr) alors +Erreur(clErr.FormateMessage()) +fin +fin +fin +fin + +Procédure globale CreationParametreMetier +// Résumé : +// Syntaxe : +// CreationParametreMetier () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure CreationParametreMetier() +pour i = 1 _à_ 20 +si i dans (1,9,10) alors continuer +fin +Procédure globale CreationTableau1Cellule +// Résumé : +// Syntaxe : +//[ = ] CreationTableau1Cellule ( est champ, est +entier, est entier, < +elt> est docElément) +// +// Paramètres : +// ChpTraitementTexte (champ) : +// nPosCelluleParente (entier) : +// nLargeurColonneParente (entier) : +// elt (docElément) : +// Valeur de retour : +// entier : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// cell (docCellule) : +procédure CreationTableau1Cellule(ChpTraitementTexte est un Champ,nPosCelluleParente est un entier, +nLargeurColonneParente est un entier,elt est un docElément) +MonCadre est un Cadre +MonCadre..Couleur = Transparent +MonCadre..Epaisseur = 0 +nPosFin est un entier +// Définition d'un fragment correspondant au tableau +e est un docFragment(ChpTraitementTexte..Valeur, nPosCelluleParente+1, ChpTraitementTexte..Curseur) +soit para2 <- e..Paragraphe[1] +//Le tableau existe bien +06/08/2026 Isis_BO 6149 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +si para2..Tableau<>Null alors +// Est ce bien ce tableau trouvé où l'on écrit les données +si para2..PositionDébut= nPosCelluleParente+1 alors +//para2..Tableau.MiseEnPage.Cadre.Epaisseur=0 +tabImages est un docTableau +tabImages <- para2..Tableau +cell2 est un docCellule <- tabImages..Cellules[1,1] +si elt..type=typeDocElémentTexte alors +//cell2..Contenu..Text=elt..Texte +sinon +cell2..Contenu..Text="." +cell2..Contenu..MiseEnForme..PoliceTaille=5 +fin +cell2.MiseEnPage.Cadre= MonCadre +para2..Tableau..Colonnes[1]..LargeurMillimètres = nLargeurColonneParente +si TableauAjoute(cell2.Contenu.Element,elt) alors +cell2..MiseEnPage..Alignement = chCentre +nPosFin = cell2..Contenu..PositionFin +fin +fin +fin +renvoyer nPosFin +Procédure globale CreationUnRdvSurGroupeDate +procédure CreationUnRdvSurGroupeDate(clPresentationFiche est un PFicheRdv,nIdCollaborateur est un +entier sur 8 octets,sIDRDV est une chaîne ANSI = "") +sGuid est une chaîne ANSI +sGuid = DonneGUID(guidBrut) +si HLitRecherchePremier(Planning_RDV,GUID,sGuid) alors +si HTrouve(Planning_RDV) alors +sGuid = DonneGUID(guidBrut) +fin +fin +HRAZ(Planning_RDV) +| Planning_RDV.PL_PKID = 0 | | | +| ------------------------------------------------------------ | ---------------------------- | --- | +| Planning_RDV.GUID = sGuid | | | +| Planning_RDV.PL_Prive = clPresentationFiche.m_bPrive | | | +| Planning_RDV.PL_SAV | = clPresentationFiche.m_bSAV | | +| Planning_RDV.PL_RappelSMS = clPresentationFiche.m_bRappelSMS | | | +Planning_RDV.PL_Superposable = clPresentationFiche.m_bSuperposable +Planning_RDV.PL_DateDebut = clPresentationFiche.m_dhDateDebut +| Planning_RDV.PL_DateFin | = clPresentationFiche.m_dhDateFin | | +| ----------------------- | --------------------------------- | --- | +Planning_RDV.PL_IDTypeActivite = clPresentationFiche.m_clTypeActivite.m_nPKID +Planning_RDV.PL_IdGroupeDate = clPresentationFiche.m_nIDGroupeDate +| Planning_RDV.PL_IDGroupe = clPresentationFiche.m_nIDGroupe | | | +| ---------------------------------------------------------- | --- | --- | +Planning_RDV.PL_IDIntervention = clPresentationFiche.m_nIDIntervention +| Planning_RDV.PL_IDSociete = clPresentationFiche.m_nIDSociete | | | +| ------------------------------------------------------------ | --- | --- | +| Planning_RDV.PL_IDStatut = clPresentationFiche.m_nIDStatut | | | +Planning_RDV.PL_IDTypeActivite = clPresentationFiche.m_nIDTypeActivite +Planning_RDV.PL_Description = clPresentationFiche.m_sDescription +| Planning_RDV.PL_IDDossier = clPresentationFiche.m_nIDDossier | | | +| ------------------------------------------------------------ | ------------------------------- | --- | +| Planning_RDV.PL_Objet = clPresentationFiche.m_sObjet | | | +| Planning_RDV.PL_IDLieu | = clPresentationFiche.m_nIDLieu | | +Planning_RDV.PL_IDPersonne = clPresentationFiche.m_nIDPersonne +| Planning_RDV.PL_IDCollaborateur | = nIdCollaborateur | | +| ------------------------------------------ | ------------------ | ---- | +| Planning_RDV.CreationDate = DateHeureSys() | | | +| Planning_RDV.ModifDate | = DateHeureSys() | | +| 06/08/2026 | Isis_BO | 6150 | + +Partie 7 › Collection de procédures › COL_COMMUN › Code +Planning_RDV.CreationUser = gpclFicheUtilisateurEnCours.m_nPKID +Planning_RDV.ModifUser = gpclFicheUtilisateurEnCours.m_nPKID +si HAjoute(Planning_RDV) alors +sIDRDV+=[";"]+Planning_RDV.PL_PKID +sinon +Erreur("Une erreur s'est produite, les rendez-vous n'ont pas pu être crées"+RC+HErreurInfo()) +renvoyer Faux +fin +renvoyer Vrai +Procédure globale CreerNouveauRDV +procédure CreerNouveauRDV(local pclPresentationFicheRdv est une PFicheRdv dynamique,local +pclPresentRDVGroupe est un PTableRDV dynamique, pclPresentListeContactRDV est un +PTablePlanning_RDV_Personne dynamique, bModif est un booléen = Faux) +sIDRdv est une chaîne ANSI = "" +dDateDebut est une Date = pclPresentationFicheRdv.m_dhDateDebut.PartieDate +dDateFin est une Date = pclPresentationFicheRdv.m_dhDateFin.PartieDate +dhDateHeureFin est une DateHeure= pclPresentationFicheRdv.m_dhDateFin +MaDurée est une Durée = pclPresentationFicheRdv.m_dhDateFin - pclPresentationFicheRdv. +m_dhDateDebut +nNbRdvs est un entier = PartieEntière(MaDurée..EnJours) +MaDurée2 est une Durée +i est un entier +HF est une Heure = Droite(pclPresentationFicheRdv.m_dhDateFin,9) +bOk est un booléen +si nNbRdvs > 0 alors +pclPresentationFicheRdv.m_nIDGroupeDate = CreaCompteur(cCptGroupeRDVDate) +boucle +i += 1 +sIDRdv = "" +bOk = Vrai +bOk = (dDateDebut <= dDateFin) +si bOk alors +si HF < pclPresentationFicheRdv.m_dhDateDebut..PartieHeure alors +// condition pour les rendez vous de nuit +MaDurée2 = dhDateHeureFin - pclPresentationFicheRdv.m_dhDateDebut +si PartieEntière(MaDurée2..EnJours) <= 0 alors +bOk = Faux +fin +fin +fin +si bOk alors +si i > 1 alors +pclPresentationFicheRdv.m_dhDateDebut.Jour++ +si pclPresentationFicheRdv.m_nIDGroupe <> 0 et pclPresentRDVGroupe.m_clTabModele. +Occurrence() > 0 alors +pclPresentationFicheRdv.m_nIDGroupe = CreaCompteur("GrpeRdv") +fin +fin +pclPresentationFicheRdv.m_dhDateFin = Gauche(pclPresentationFicheRdv.m_dhDateDebut,8)+HF +si HF < pclPresentationFicheRdv.m_dhDateDebut..PartieHeure alors +// condition pour les rendez vous de nuit +pclPresentationFicheRdv.m_dhDateFin..Jour += 1 +fin +06/08/2026 Isis_BO 6151 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +si bModif et i <= 1 alors +si pas EnregistrerRDVsMapping(pclPresentationFicheRdv,pclPresentRDVGroupe, Vrai,Faux, +sIDRdv) alors +renvoyer Faux +fin +sinon +si pas EnregistrerRDVsMapping(pclPresentationFicheRdv,pclPresentRDVGroupe, Vrai, Vrai, +sIDRdv) alors +renvoyer Faux +fin +fin +si pas EnregistrerContactRdv(sIDRdv, pclPresentListeContactRDV, pclPresentationFicheRdv. +m_nIDGroupe) alors +renvoyer Faux +fin +sinon +sortir +fin +dDateDebut.Jour++ +fin +si pclPresentationFicheRdv.m_bCR alors +AjouterCRDerniereRDV(pclPresentationFicheRdv.m_nIDGroupeDate) +fin +sinon +pclPresentationFicheRdv.m_nIDGroupeDate = 0 +si pas EnregistrerRDVsMapping(pclPresentationFicheRdv,pclPresentRDVGroupe, Vrai, Vrai, sIDRdv) +alors +renvoyer Faux +fin +si pas EnregistrerContactRdv(sIDRdv, pclPresentListeContactRDV, pclPresentationFicheRdv.m_nIDGroupe +) alors +renvoyer Faux +fin +fin +renvoyer Vrai +Procédure globale CrypteParametre +// Résumé : Crypte une chaine de paramètre +// Syntaxe : +//[ = ] CrypteParametre () +// +// Paramètres : +// sValeur : Chaine à crypter +// Valeur de retour : +// chaîne ANSI : Chaine cryptée +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure CrypteParametre(sValeur):chaîne ANSI +//trace("Crypte :[" + sValeur +"]") +quand exception dans +bufValeur est un Buffer = sValeur +bufCle est un Buffer = HashChaîne(HA_MD5_128, Mdp1+Mdp2+Mdp3) +bufRes est un Buffer = CrypteStandard(bufValeur, bufCle, crypteAES128) +//Trace("=> :[" + bufRes +"]") +06/08/2026 Isis_BO 6152 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +renvoyer bufRes +faire +renvoyer "" +fin +Procédure globale DateDebutFinRDVGroupe +procédure DateDebutFinRDVGroupe(nIdGroupeDate est un entier sur 8 octets) +sDateDebut est une chaîne ANSI = "" +sDateFinest une chaîne ANSI = "" +dhDateD est une DateHeure +dhDateF est une DateHeure +i est un entier = 0 +sReq est une chaîne ANSI = [ +SELECT PL_DateDebut,PL_DateFin FROM Planning_RDV where PL_IdGroupeDate = +] +sComplReq est une chaîne ANSI = nIdGroupeDate + " AND Archive = 0 ORDER by PL_DateDebut asc" +sReq += sComplReq +si nIdGroupeDate > 0 alors +sdSDRDV est une Source de Données +si pas HExécuteRequêteSQL(sdSDRDV,hRequêteDéfaut,sReq) alors +Erreur("Une erreur s'est produite, les rendez-vous n'ont pas pu être modifiés" + RC + +HErreurInfo()) +sinon +pour tout sdSDRDV +i += 1 +si i = 1 alors +dhDateD = sdSDRDV.PL_DateDebut +dhDateF = sdSDRDV.PL_DateFin +fin +si dhDateF < sdSDRDV.PL_DateFin alors +dhDateF = sdSDRDV.PL_DateFin +fin +fin +fin +fin +si i > 0 alors +sDateDebut = dhDateD +sDateFin = dhDateF +fin +renvoyer (sDateDebut,sDateFin) +Procédure globale DecrypteParametre +// Résumé : Décrypte une chaine. La gestion d'erreur évite un plantage éventuel +// Syntaxe : +//[ = ] DecrypteParametre ( est chaîne) +// +// Paramètres : +// sValeurCryptée (chaîne ANSI) : Chaine cryptée avec CrypteParametre +// Valeur de retour : +// chaîne ANSI : Valeur décryptée +// +06/08/2026 Isis_BO 6153 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DecrypteParametre(sValeurCryptée est une chaîne ANSI):chaîne ANSI +bufRep est un Buffer +//Trace("Décrypte :[" + sValeurCryptée +"]") +quand exception dans +bufCrypte est un Buffer =sValeurCryptée +bufCle est un Buffer = HashChaîne(HA_MD5_128, Mdp1+Mdp2+Mdp3) +si bufCrypte <>"" alors +bufRep= DécrypteStandard(bufCrypte, bufCle, crypteAES128) +fin +//Trace("=> :[" + bufRep +"]") +renvoyer bufRep +faire +renvoyer bufRep +fin +Procédure globale DeplacementRDV +procédure DeplacementRDV(nIdRdv est un entier sur 8 octets, rdvDeplace est un RendezVous) +| sDateD, sDateF | est une chaîne ANSI | | | | +| --------------------------------------- | ------------------- | ---- | --- | --- | +| saComplReq | est une chaîne ANSI | = "" | | | +| saReq | est une chaîne ANSI | = "" | | | +| dhDateDebut est une DateHeure | | | | | +| dhDateFin | est une DateHeure | | | | +| nGroupeDate est un entier sur 8 octets | | | | | +| i | est un entier | | | | +nIdDossier, nIdInter, nIdAct, nIdSociete est un entier sur 8 octets +dDateD,dDateF,dDD,dDFest une Date +hHeureD,hHeureF,hHD,hHF est une Heure +HRAZ(Planning_RDV) +HLitRecherchePremier(Planning_RDV,PL_PKID,nIdRdv) +si HTrouve(Planning_RDV) alors +| dhDateDebut | = Planning_RDV.PL_DateDebut | | | | +| ------------ | -------------------------------- | --- | --- | --- | +| dhDateFin | = Planning_RDV.PL_DateFin | | | | +| nGroupeDate | = Planning_RDV.PL_IdGroupeDate | | | | +| nIdDossier | = Planning_RDV.PL_IDDossier | | | | +| nIdInter | = Planning_RDV.PL_IDIntervention | | | | +| nIdSociete | = Planning_RDV.PL_IDSociete | | | | +| nIdAct | = Planning_RDV.PL_IDTypeActivite | | | | +sinon +Erreur("Une erreur s'est produite" + RC + HErreurInfo()) +renvoyer Faux +fin +// RDV a modifier +| dDateD = Gauche(dhDateDebut,8) | | | | | +| ------------------------------- | --- | --- | --- | --- | +| dDateF = Gauche(dhDateFin,8) | | | | | +hHeureD = Droite(dhDateDebut,9) +hHeureF = Droite(dhDateFin,9) +// Rdv deplace +dDD = Gauche(rdvDeplace.DateDebut,8) +dDF = Gauche(rdvDeplace.DateFin,8) +| 06/08/2026 | | | Isis_BO | 6154 | +| ---------- | --- | --- | ------- | ---- | + +Partie 7 › Collection de procédures › COL_COMMUN › Code +hHD = Droite(rdvDeplace.DateDebut,9) +hHF = Droite(rdvDeplace.DateFin,9) +// Date de debut et fin du groupe +dhDateDebutGrp est une DateHeure +dhDateFinGrp est une DateHeure +(dhDateDebutGrp,dhDateFinGrp) = DateDebutFinRDVGroupe(nGroupeDate) +si dDD = dDF alors +si nGroupeDate > 0 alors +si dDateD <> dDD ou dDateF <> dDF alors +// questionnaire +sinon +selon QuestionRDV(Faux, +"Le rendez-vous a été créé sur plusieurs jours, que vous souhaitez modifier ?",nGroupeDate +) +// Pour tous les rendez-vous +cas 1 +boucle +i += 1 +si dhDateDebutGrp.PartieDate <= dhDateFinGrp.PartieDate alors +sDateD = Gauche(dhDateDebutGrp,8)+hHD +sDateF = Gauche(dhDateDebutGrp,8)+hHF +saComplReq = "UPDATE Planning_RDV SET PL_DateDebut = '" + sDateD + +"', PL_DateFin = '" + sDateF+"'" +saComplReq += " ,ModifDate = " + "'"+DateHeureSys()+"'" +saComplReq += " ,ModifUser = " + gpclFicheUtilisateurEnCours: +m_nPKID +saComplReq += " WHERE PL_IDGroupedate = " + nGroupeDate +saComplReq += " AND PL_DateDebut LIKE '"+Gauche(dhDateDebutGrp,8)+ +"%' AND PL_Datefin LIKE '"+ Gauche(dhDateDebutGrp,8)+"%'" +saComplReq += " AND Planning_RDV.Archive=0 AND PL_IDDossier =" + +nIdDossier+ " AND PL_IDIntervention = " +nIdInter +saComplReq += " AND PL_IDTypeActivite ="+nIdAct + +" AND PL_IDSociete = " + nIdSociete +sinon +sortir +fin +dhDateDebutGrp.Jour++ +saReq += saComplReq +"; " +fin +sdSDRDV est une Source de Données +si pas HExécuteRequêteSQL(sdSDRDV,hVérifieDoublon+hVérifieIntégrité,saReq) alors +Erreur( +"Une erreur s'est produite, l'heure des rendez-vous n'ont pas pu être +modifiés" ++ RC + HErreurInfo()) +renvoyer Faux +fin +// Uniquement cette occurrence +cas 2 +HLitRecherchePremier(Planning_RDV,PL_PKID,nIdRdv) +si HTrouve(Planning_RDV) alors +Planning_RDV.PL_DateDebut = rdvDeplace.DateDébut +Planning_RDV.PL_DateFin = rdvDeplace.DateFin +si pas HModifie(Planning_RDV) alors +Erreur( +"Une erreur s'est produite, l'heure de rendez-vous n'ont pas pu être +modifiés" ++ RC + HErreurInfo()) +06/08/2026 Isis_BO 6155 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +renvoyer Faux +fin +sinon +Erreur("Une erreur s'est produite" + RC + HErreurInfo()) +renvoyer Faux +fin +// Annuler +cas 0 +renvoyer Faux +fin +renvoyer Vrai +fin +sinon +HLitRecherchePremier(Planning_RDV,PL_PKID,nIdRdv) +si HTrouve(Planning_RDV) alors +Planning_RDV.PL_DateDebut = rdvDeplace.DateDébut +Planning_RDV.PL_DateFin = rdvDeplace.DateFin +si pas HModifie(Planning_RDV) alors +Erreur("Une erreur s'est produite, l'heure de rendez-vous n'ont pas pu être modifiés" ++ RC + HErreurInfo()) +renvoyer Faux +fin +sinon +Erreur("Une erreur s'est produite" + RC + HErreurInfo()) +renvoyer Faux +fin +fin +sinon +Erreur("Opération interdite") +renvoyer Faux +fin +Procédure globale DonneCategDocSaufRapport +// Résumé : +// Syntaxe : +//[ = ] DonneCategDocSaufRapport () +// +// Paramètres : +// Aucun +// Valeur de retour : +// PTableParametreMetier : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneCategDocSaufRapport() +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeParametreMetier +pour i = 1 _à_ gpclListeCategorieDocument:m_clTabModele..Occurrence +si gpclListeCategorieDocument:m_clTabModele[i]:m_sValeur<>"4" alors +clModele est un MParametreMetier +clModele <-gpclListeCategorieDocument:m_clTabModele[i] +TableauAjoute(clTableauModele:m_clTabModele,clModele) +si pas clModele:m_bInvisible alors +TableauAjoute(clTableauModele:m_clTabModele,clModele) +TableauAjoute(clTableauModele:m_clTabVisible,clModele) +fin +06/08/2026 Isis_BO 6156 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +fin +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableParametreMetier(clTableauModele) +renvoyer clPresentation +Procédure globale DonneCollaborateurUtilisateur +// Résumé : +// Syntaxe : +//[ = ] DonneCollaborateurUtilisateur ( est entier sur 8 octets) +// +// Paramètres : +// nIDUser (entier sur 8 octets) : +// Valeur de retour : +// chaîne ANSI : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneCollaborateurUtilisateur(nIDUser est un entier sur 8 octets) +sResultat est une chaîne +nIndice est un entier = TableauCherche(gpclListeUtilisateur:m_clTabModele,tcLinéaire,"m_nPKID",nIDUser, +1) +si nIndice>0 alors +si HLitRecherchePremier(Collaborateur,CO_PKID,gpclListeUtilisateur:m_clTabModele[nIndice]:m_n +IDCollaborateur) alors +sResultat = Collaborateur.CO_Nom+" "+Collaborateur.CO_Prenom +fin +fin +renvoyer sResultat +Procédure globale DonneCouleurRDV +procédure DonneCouleurRDV(local nTypeAct est un entier sur 8 octets) +sCouleurest une chaîne = "" +nValeur est un entier = 0 +nIndice est un entier +si nTypeAct > 0 alors +nIndice = TableauCherche(gpclListeTypeRendezVous:m_clTabModele,tcLinéaire,"m_nPKID",nTypeAct, +DepuisDébut) +si nIndice>0 alors +stParamTypeAct est un ST_TypeActiviteRDV +si gpclListeTypeRendezVous:m_clTabModele[nIndice]:m_sParametre <> "" alors +Désérialise(stParamTypeAct,gpclListeTypeRendezVous:m_clTabModele[nIndice]:m_sParametre +,psdJSON) +fin +sCouleur = stParamTypeAct.sCouleur +fin +fin +si sCouleur = "" et nIndice > 0 alors +si Contient(gpclListeTypeRendezVous:m_clTabModele[nIndice].m_sLibelle,"Intervention",MotComplet) +alors +sCouleur = "EA5914" +sinon +sCouleur = "567C8F" +06/08/2026 Isis_BO 6157 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +fin +fin +renvoyer sCouleur +Procédure globale DonneCouleurTypeTemps +procédure DonneCouleurTypeTemps(local nTypeTemps est un entier sur 8 octets) +sCouleurest une chaîne = "" +nValeur est un entier = 0 +nIndice est un entier +si nTypeTemps > 0 alors +nIndice = TableauCherche(gpclListeTypeTemps:m_clTabModele,tcLinéaire,"m_nPKID",nTypeTemps, +DepuisDébut) +si nIndice>0 alors +stParamTypeTemps est un ST_TypeTempsrdv +si gpclListeTypeTemps:m_clTabModele[nIndice]:m_sParametre <> "" alors +Désérialise(stParamTypeTemps,gpclListeTypeTemps:m_clTabModele[nIndice]:m_sParametre, +psdJSON) +fin +sCouleur = stParamTypeTemps.sCouleur +fin +fin +si sCouleur = "" et nIndice > 0 alors +si Contient(gpclListeTypeTemps:m_clTabModele[nIndice].m_sLibelle,"Intervention",MotComplet) alors +sCouleur = OrangeFoncé +sinon +sCouleur = BleuPastel +fin +fin +renvoyer sCouleur +Procédure globale DonneDroitParamAppli +procédure DonneDroitParamAppli(sParam est une chaîne ANSI) +si pas HLitRecherchePremier(ParametreSysteme,PAS_Code,sParam) alors +renvoyer Faux +sinon +si Val(ParametreSysteme.PAS_Valeur) > 0 alors +renvoyer Vrai +fin +fin +renvoyer Faux +Procédure globale DonneEtatRDV +procédure DonneEtatRDV(local nEtatRDV est un entier sur 8 octets) +sCouleur est une chaîne = "" +nValeur est un entier = 0 +nIndice est un entier +si nEtatRDV > 0 alors +nIndice = TableauCherche(gpclListeStatutRendezVous:m_clTabModele,tcLinéaire,"m_nPKID",nEtatRDV +,DepuisDébut) +06/08/2026 Isis_BO 6158 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +si nIndice>0 alors +stParamStatus est un ST_Param_Status_RDV +si gpclListeStatutRendezVous:m_clTabModele[nIndice]:m_sParametre <> "" alors +Désérialise(stParamStatus,gpclListeStatutRendezVous:m_clTabModele[nIndice]:m_s +Parametre,psdJSON) +fin +sCouleur = stParamStatus.sCouleur +fin +fin +si sCouleur = "" alors +nIDStatutFait est un entier sur 8 octets = gpclListeStatutRendezVous. +RechercheEtDonneIdDepuisLibelle("Fait") +nIDStatutAnnule est un entier sur 8 octets = gpclListeStatutRendezVous. +RechercheEtDonneIdDepuisValeur("98") +si nEtatRDV=nIDStatutFait alors +sCouleur = VertFoncé +sinon +sCouleur = OrangeFoncé +fin +si nEtatRDV=nIDStatutAnnule alors +sCouleur = RougeClair +fin +fin +//RENVOYER "FEN_Menu.IMG_Cercle_"+sCouleur +renvoyer sCouleur +Procédure globale DonneIDDoc +procédure DonneIDDoc(pclFicIntervention est un PFicheIntervention dynamique,sListeFichier est une +chaîne) +sIDDoc est une chaîne +si sListeFichier<>"" alors +pour toute chaîne unFichier de sListeFichier séparée par ";" +nIndiceFic est un entier = TableauCherche(pclFicIntervention:ListeDocumentOK:m_clTabModele, +tcLinéaire,"m_sNom",fExtraitChemin(unFichier,fFichier+fExtension),1) +si nIndiceFic>0 alors +sIDDoc+=[";"]+pclFicIntervention:ListeDocumentOK:m_clTabModele[nIndiceFic]:m_nPKID +fin +fin +fin +renvoyer sIDDoc +Procédure globale DonneLibOnglet +procédure DonneLibOnglet(local clPresentationFiche est un PFicheIntervention dynamique) +sTitreOnglet est une chaîne = "" +nValeur est un entier = 0 +nIndice est un entier = TableauCherche(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur. +m_clTabModele,tcLinéaire,"m_nIDUtilisateur;m_sCode",gpclFicheUtilisateurEnCours:m_nPKID, +c_NomParamTrieInter) +06/08/2026 Isis_BO 6159 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +si nIndice>0 alors +nValeur = Val(ExtraitChaîne(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele[ +nIndice].m_sValeur,2,"_",DepuisDébut)) +fin +selon nValeur +cas C_ParDDemd +sTitreOnglet = clPresentationFiche:m_dhCreationDate<>"" ? DateVersChaîne(clPresentationFiche: +m_dhCreationDate, "JJ MMM AAAA") sinon clPresentationFiche:m_sRefInterne +cas C_ParNumInter +sTitreOnglet = clPresentationFiche:m_sRefInterne +cas C_ParTitre +sTitreOnglet = clPresentationFiche:m_sTitre<>"" ? clPresentationFiche:m_sTitre sinon +clPresentationFiche:m_sRefInterne +cas C_ParNumDevis +sTitreOnglet = clPresentationFiche:m_sNumDevis<>"" ? clPresentationFiche:m_sNumDevis sinon +clPresentationFiche:m_sRefInterne +cas C_ParRefExt +sTitreOnglet = clPresentationFiche:m_sRefExterne<>"" ? clPresentationFiche:m_sRefExterne sinon +clPresentationFiche:m_sRefInterne +autre cas +sTitreOnglet = clPresentationFiche:m_sTitre<>"" ? clPresentationFiche:m_sTitre sinon +clPresentationFiche:m_sRefInterne +fin +//sNom += gCoord(30, 6) + gPoliceTaille(8) + gPoliceGras(Vrai) + sTitreOnglet + gPoliceGras(Faux) +//sNom += gCoord(10, 0) + gCercle(0, 0, 18, 13, CoulerSoc, CoulerSoc) +sImageSoc est une chaîne ANSI = PreferenceOngletInter(c_CouleurIconeSoc,clPresentationFiche) +sCouleurText est une chaîne ANSI = PreferenceOngletInter(c_CouleurSociete,clPresentationFiche) +laCouleur est un Couleur = sCouleurText +sTitreOnglet = " "+sTitreOnglet +renvoyer sTitreOnglet +Procédure globale DonneLibOnglet1 +procédure DonneLibOnglet1(local clPresentationFiche est un MIntervention dynamique) +sTitreOnglet est une chaîne = "" +nValeur est un entier = 0 +nIndice est un entier = TableauCherche(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur. +m_clTabModele,tcLinéaire,"m_nIDUtilisateur;m_sCode",gpclFicheUtilisateurEnCours:m_nPKID, +c_NomParamTrieInter) +si nIndice>0 alors +nValeur = Val(ExtraitChaîne(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele[ +nIndice].m_sValeur,2,"_",DepuisDébut)) +fin +selon nValeur +cas C_ParDDemd +sTitreOnglet = clPresentationFiche:m_dhCreationDate<>"" ? DateVersChaîne(clPresentationFiche: +m_dhCreationDate, "JJ MMM AAAA") sinon clPresentationFiche:m_sRefInterne +cas C_ParNumInter +sTitreOnglet = clPresentationFiche:m_sRefInterne +cas C_ParTitre +sTitreOnglet = clPresentationFiche:m_sTitre<>"" ? clPresentationFiche:m_sTitre sinon +clPresentationFiche:m_sRefInterne +cas C_ParNumDevis +sTitreOnglet = clPresentationFiche:m_sNumDevis<>"" ? clPresentationFiche:m_sNumDevis sinon +clPresentationFiche:m_sRefInterne +cas C_ParRefExt +sTitreOnglet = clPresentationFiche:m_sRefExterne<>"" ? clPresentationFiche:m_sRefExterne sinon +clPresentationFiche:m_sRefInterne +06/08/2026 Isis_BO 6160 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +autre cas +sTitreOnglet = clPresentationFiche:m_sTitre<>"" ? clPresentationFiche:m_sTitre sinon +clPresentationFiche:m_sRefInterne +fin +//sNom += gCoord(30, 6) + gPoliceTaille(8) + gPoliceGras(Vrai) + sTitreOnglet + gPoliceGras(Faux) +//sNom += gCoord(10, 0) + gCercle(0, 0, 18, 13, CoulerSoc, CoulerSoc) +sTitreOnglet = " "+sTitreOnglet +renvoyer sTitreOnglet +Procédure globale DonneLibTypeTemps +// Résumé : +// Syntaxe : +//[ = ] DonneLibTypeTemps ( est entier sur 8 octets) +// +// Paramètres : +// nID (entier sur 8 octets) : +// Valeur de retour : +// chaîne ANSI : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneLibTypeTemps(local nID est un entier sur 8 octets) +renvoyer gpclListeTypeTemps.RechercheEtDonneLibelleDepuisID(nID) +Procédure globale DonneListeConfigMail +procédure DonneListeConfigMail(local nIdColb est un entier sur 8 octets = 0, local nIdUser est un +entier sur 8 octets = 0) +ParamEmailConfig est un tableau associatif de STParamEnvoiEmailPerso +ParamEmailPerso est un tableau de STParamEnvoiEmailPerso +bufValRech est un Buffer +stParametreEmail est une STParamEnvoiEmailPerso +stParametreEmailVide est une STParamEnvoiEmailPerso +n, nIndice sont des entiers +si nIdColb <= 0 alors nIdColb = gpclFicheUtilisateurEnCours:m_nIDCollaborateur +si nIdUser <= 0 alors nIdUser = gpclFicheUtilisateurEnCours:m_nPKID +si nIdColb <= 0 alors renvoyer ParamEmailConfig +pour tout Societe_Collaborateur avec SC_IDCollaborateur=nIdColb +stParametreEmail = stParametreEmailVide +nIndice = TableauCherche(gpclListeSociete:m_clTabModele,tcLinéaire,"m_nPKID", +Societe_Collaborateur.SC_IDCSociete,1) +si nIndice > 0 alors +si gpclListeSociete:m_clTabModele[nIndice] <> Null _et_ gpclListeSociete:m_clTabModele[nIndice] +.m_sParametres <> "" alors +Désérialise(stParametreEmail,gpclListeSociete:m_clTabModele[nIndice].m_sParametres,psdJSON +) +AjouterListe(gpclListeSociete:m_clTabModele[nIndice].m_nPKID) +RempliListe(gpclListeSociete:m_clTabModele[nIndice].m_nPKID) +fin +fin +fin +AjoutConfigPerso() +06/08/2026 Isis_BO 6161 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +si ParamEmailConfig..Occurrence <= 0 et nIdColb > 0 alors // Ancien version +stParametreEmailVide.Compte = gpclFicheUtilisateurEnCours:p_ParamEmailStruct +stParametreEmailVide.SMTP = gpclFicheUtilisateurEnCours:p_ParamEnvoiMailStruct +si stParametreEmailVide.smtp.sLogin <> "" alors +sCode est une chaîne ANSI = "EMAIL_ENVOI" +si pas ParamEmailConfig[sCode]..Existe alors +ParamEmailConfig[sCode] = stParametreEmailVide +fin +fin +fin +renvoyer ParamEmailConfig +procédure interne AjouterListe(local nIdSoc est un entier sur 8 octets = 0) +si nIdUser > 0 _et_ nIdSoc > 0 _et_ (stParametreEmail.Compte.sEmail <> "" ou stParametreEmail. +Compte.sCompte <> "") alors +sCode est une chaîne ANSI = "EMAIL_ENVOI_"+nIdSoc +si pas ParamEmailConfig[sCode]..Existe alors +stParametreEmail.SMTP.sMdp = Décrypte(stParametreEmail.SMTP.sMdp,gsCleMdp) +ParamEmailConfig[sCode] = stParametreEmail +fin +// Conserver les paramètres de la société login et mot de passe ne peuvent etre changés +ParamEmailConfig[sCode].Compte = stParametreEmail.Compte +ParamEmailConfig[sCode].SMTP.bEnCopieCachee = stParametreEmail.SMTP.bEnCopieCachee +ParamEmailConfig[sCode].SMTP.bufSignature = stParametreEmail.SMTP.bufSignature +ParamEmailConfig[sCode].SMTP.tabCC_CopieEmail = stParametreEmail.SMTP. +tabCC_CopieEmail +fin +fin +procédure interne RempliListe(local nIdSoc est un entier sur 8 octets = 0) +bAncienVersion est un booléen = Faux +sCode est une chaîne ANSI = "EMAIL_ENVOI_"+nIdSoc +si nIdUser > 0 _et_ nIdSoc > 0 alors +bufValRech = HConstruitValClé(ParametreUtilisateur, PU_CodePU_IDUtilisateur, sCode, +nIdUser) +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,bufValRech) +si HTrouve(ParametreUtilisateur) alors +si ParamEmailConfig[sCode]..existe alors +Désérialise(stParametreEmail,ParametreUtilisateur.PU_Valeur,psdJSON) +Ajouterliste(nIdSoc) +fin +fin +fin +fin +procédure interne AjoutConfigPerso() +si nIdUser <= 0 alors retour +sCode est une chaîne ANSI +stParamRecep est STParamEnvoiEmail +stParamAncien est un STParamEnvoiEmailPerso +bufValRech = HConstruitValClé(ParametreUtilisateur, PU_CodePU_IDUtilisateur, "EMAIL_ENVOI", +nIdUser) +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,bufValRech) +si HTrouve(ParametreUtilisateur) alors +quand exception dans +Désérialise(ParamEmailPerso,ParametreUtilisateur.PU_Valeur,psdJSON) +06/08/2026 Isis_BO 6162 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +faire +bufCle est un Buffer = HashChaîne(HA_MD5_128,gsCleMdp) +bufCrypte est un Buffer = ParametreUtilisateur.PU_Valeur +bufRep est un Buffer = DécrypteStandard(bufCrypte, bufCle, +crypteAES128) +Désérialise(stParamRecep,bufRep,psdJSON) +fin +si ParamEmailPerso..Occurrence <= 0 _et_ stParamRecep.sLogin <> "" alors +stParamAncien.SMTP = stParamRecep +stParamAncien.Compte.sEmail = stParamRecep.sLogin +stParamAncien.Compte.sCompte = "" +TableauAjoute(ParamEmailPerso,stParamAncien) +fin +pour tout stParam,n de ParamEmailPerso +si stParam.SMTP.sLogin <> "" alors +sCode = "EMAIL_ENVOI_Perso_"+n +si pas ParamEmailConfig[sCode]..Existe alors +stParam.SMTP.sMdp = Décrypte(stParam.SMTP.sMdp,gsCleMdp) +ParamEmailConfig[sCode] = stParam +fin +fin +fin +fin +fin +Procédure globale DonneProfilsRestreint +// Résumé : +// Syntaxe : +// DonneProfilsRestreint () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneProfilsRestreint() +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeParametreMetier +pour i = 1 _à_ gpclListeProfilUser:m_clTabModele..Occurrence +si pas gpclListeProfilUser:m_clTabModele[i]:m_sValeur="0" alors +TableauAjoute(clTableauModele:m_clTabModele,gpclListeProfilUser:m_clTabModele[i]) +TableauAjoute(clTableauModele:m_clTabVisible,gpclListeProfilUser:m_clTabModele[i]) +fin +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableParametreMetier(clTableauModele) +06/08/2026 Isis_BO 6163 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +renvoyer clPresentation +Procédure globale DonneRoleContactClient +procédure DonneRoleContactClient() +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeParametreMetier +pour i = 1 _à_ gpclListeRoleContact:m_clTabModele..Occurrence +si Gauche(gpclListeRoleContact:m_clTabModele[i]:m_sValeur,1) dans ("*","C") alors +TableauAjoute(clTableauModele:m_clTabModele,gpclListeRoleContact:m_clTabModele[i]) +fin +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableParametreMetier(clTableauModele) +renvoyer clPresentation +Procédure globale DonneRoleContactLieu +procédure DonneRoleContactLieu() +// chargement des instances de modèle à afficher (les données) dans la présentation +clTableauModele est un MTableauDeParametreMetier +pour i = 1 _à_ gpclListeRoleContact:m_clTabModele..Occurrence +si Gauche(gpclListeRoleContact:m_clTabModele[i]:m_sValeur,1) dans ("*","S") alors +TableauAjoute(clTableauModele:m_clTabModele,gpclListeRoleContact:m_clTabModele[i]) +si gpclListeRoleContact:m_clTabModele[i]:m_bActif alors +TableauAjoute(clTableauModele:m_clTabVisible,gpclListeRoleContact:m_clTabModele[i]) +fin +fin +fin +// création de la nouvelle instance de présentation +clPresentation est un PTableParametreMetier(clTableauModele) +renvoyer clPresentation +Procédure globale DonneSousTitreInter +procédure DonneSousTitreInter(local clPresentationFiche est un MIntervention dynamique) +sSousTitreOnglet est une chaîne = "" +nValeur est un entier = 0 +nIndice est un entier = TableauCherche(gpclFicheUtilisateurEnCours: +ListeParametreUtilisateur.m_clTabModele,tcLinéaire,"m_nIDUtilisateur;m_sCode",gpcl +FicheUtilisateurEnCours:m_nPKID,c_NomParamTrieInter) +si nIndice>0 alors +nValeur = Val(ExtraitChaîne(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele[ +nIndice].m_sValeur,3,"_",DepuisDébut)) +fin +selon nValeur +cas C_ParDDemd +sSousTitreOnglet = clPresentationFiche:m_dhCreationDate<>"" ? DateVersChaîne( +clPresentationFiche:m_dhCreationDate, "JJ MMM AAAA") sinon clPresentationFiche:m_sRefInterne +cas C_ParNumInter +sSousTitreOnglet = clPresentationFiche:m_sRefInterne +cas C_ParTitre +sSousTitreOnglet = clPresentationFiche:m_sTitre<>"" ? clPresentationFiche:m_sTitre sinon +06/08/2026 Isis_BO 6164 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +clPresentationFiche:m_sRefInterne +cas C_ParNumDevis +sSousTitreOnglet = clPresentationFiche:m_sNumDevis<>"" ? clPresentationFiche:m_sNumDevis sinon +clPresentationFiche:m_sRefInterne +cas C_ParRefExt +sSousTitreOnglet = clPresentationFiche:m_sRefExterne<>"" ? clPresentationFiche:m_sRefExterne +sinon clPresentationFiche:m_sRefInterne +autre cas +sSousTitreOnglet = clPresentationFiche:m_sTitre<>"" ? clPresentationFiche:m_sTitre sinon +clPresentationFiche:m_sRefInterne +fin +renvoyer sSousTitreOnglet +Procédure globale DonneTexteTypeMembreMotCles +// Résumé : +// Syntaxe : +//DonneTexteTypeMembreMotCles ( est objet dynamique, est chaîne, est +chaîne) +// +// Paramètres : +// pclObjDyn (objet dynamique) : +// sTypeMembre (chaîne ANSI) : +// sMembre (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneTexteTypeMembreMotCles(pclObjDyn est un objet dynamique,sTypeMembre est une chaîne, +sMembre est une chaîne) +sTexte est une chaîne +selon sTypeMembre +cas "ChpSimpleChaine" : sTexte={pclObjDyn,sMembre} +cas "ChpSimpleRTF" : sTexte=RTFVersTexte({pclObjDyn,sMembre}) +cas "ChpSimpleDate" : sTexte=DateVersChaîne({pclObjDyn,sMembre},"JJ/MM/AAAA") +cas "ChpSimpleDateHeure": sTexte=DateVersChaîne({pclObjDyn,sMembre},"JJ/MM/AAAA HH:mm") +cas "ChpSimpleReel" : sTexte=NumériqueVersChaîne({pclObjDyn,sMembre}) +cas "ChpSimpleBooleen" : sTexte={pclObjDyn,sMembre}=1 ? "Oui" sinon "Non" +fin +renvoyer sTexte +Procédure globale DonneUtilisateurEnCours +// Résumé : +// Syntaxe : +//DonneUtilisateurEnCours ( est entier, est objet dynamique) +// +// Paramètres : +// nMode (entier) : +// pclObjBase (objet dynamique) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneUtilisateurEnCours(local nMode est un entier,pclObjBase est un objet dynamique) +selon nMode +cas 1 +si pclObjBase:m_nCreationUser=0 alors +06/08/2026 Isis_BO 6165 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +pclObjBase:m_nCreationUser = gpclFicheUtilisateurEnCours<>Null ? gpcl +FicheUtilisateurEnCours:IdentifiantUnique sinon 0 +pclObjBase:m_sCreationUser = gpclFicheUtilisateurEnCours<>Null _et_ gpcl +FicheUtilisateurEnCours:FicheCollaborateur<>Null ? gpclFicheUtilisateurEnCours: +FicheCollaborateur:NomPrenom sinon "" +fin +si pclObjBase:m_nModifUser=0 alors +pclObjBase:m_nModifUser = gpclFicheUtilisateurEnCours<>Null ? gpcl +FicheUtilisateurEnCours:IdentifiantUnique sinon 0 +pclObjBase:m_sModifUser = gpclFicheUtilisateurEnCours<>Null _et_ gpcl +FicheUtilisateurEnCours:FicheCollaborateur<>Null ? gpclFicheUtilisateurEnCours: +FicheCollaborateur:NomPrenom sinon "" +fin +cas 2 +pclObjBase:m_nModifUser = gpclFicheUtilisateurEnCours<>Null ? gpcl +FicheUtilisateurEnCours:IdentifiantUnique sinon 0 +pclObjBase:m_sModifUser = gpclFicheUtilisateurEnCours<>Null _et_ gpcl +FicheUtilisateurEnCours:FicheCollaborateur<>Null ? gpclFicheUtilisateurEnCours: +FicheCollaborateur:NomPrenom sinon "" +fin +Procédure globale DonneValeurCombo +// Résumé : +// Syntaxe : +//[ = ] DonneValeurCombo ( est objet dynamique, est STJSONListTerme) +// +// Paramètres : +// unObj (objet dynamique) : +// unTerme (STJSONListTerme) : +// Valeur de retour : +// Type indéterminé : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneValeurCombo(unObj est objet dynamique,unTerme est un STJSONListTerme) +si HLitRecherchePremier(ExtraitChaîne(unTerme:SourceCombo,1,"."),ExtraitChaîne(unTerme:SourceCombo,2, +"."),{unObj,unTerme:Membre}) alors +renvoyer {ExtraitChaîne(unTerme:SourceCombo,1,".")+"."+unTerme:LibelleCombo} +sinon +renvoyer "" +fin +Procédure globale EnregistrerContactRdv +procédure EnregistrerContactRdv(sIDRdv est une chaîne, pclPresentListeContactRDV est un +PTablePlanning_RDV_Personne dynamique, nIdGroupe est un entier sur 8 octets) +clErreurest un CErreur +si pclPresentListeContactRDV.p_nTotal <>0 alors +sSQLExist est une chaîne = [ +SELECT Planning_RDV_Personne.PRP_PKID AS PKID FROM Planning_RDV_Personne WHERE +Planning_RDV_Personne.PRP_IDRdv=%1 AND Planning_RDV_Personne.PRP_IDPersonne=%2 +] +06/08/2026 Isis_BO 6166 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +sRequete est une chaîne +pour n=1 _à_ pclPresentListeContactRDV.p_nTotal +//Boucle sur l'ensemble des Rdv (Si +sieurs collab) +pour toute chaîne Rdv de sIDRdv séparée par ";" +pclPresentListeContactRDV.p_clCourant=pclPresentListeContactRDV.m_clTabModele[n] +clFicheContactRdv est une PFichePlanning_RDV_Personne<-pclPresentListeContactRDV.Modifier( +) +sRequete = ChaîneConstruit(sSQLExist,Rdv,clFicheContactRdv.m_nIDPersonne) +sdRequete est une Source de Données +si HExécuteRequêteSQL(sdRequete,hRequêteDéfaut,sRequete) _et_ HNbEnr(sdRequete)=0 alors +clFicheContactRdv.m_bNouveau=Vrai +sinon si HNbEnr(sdRequete)>0 _et_ HLitPremier(sdRequete)alors +clFicheContactRdv.m_nPKID = sdRequete.PKID +clFicheContactRdv.m_bNouveau = Faux +fin +clFicheContactRdv.m_nIDGroupeRDV = nIdGroupe +clFicheContactRdv.m_nIDRdv = Rdv +si pas clFicheContactRdv.bOK(clErreur) alors +Erreur(clErreur.FormateMessage()) +renvoyer Faux +sinon +pour tout Planning_RDV_Personne avec PRP_IDRdv=Rdv +si Planning_RDV_Personne.PRP_IDPersonne=clFicheContactRdv.m_nIDPersonne et +Planning_RDV_Personne.Archive=Vrai alors +Planning_RDV_Personne.Archive=Faux +fin +fin +fin +fin +fin +fin +pour toute chaîne Rdv de sIDRdv séparée par ";" +pour tout Planning_RDV_Personne avec PRP_IDRdv=Rdv +si Planning_RDV_Personne.Archive=Vrai alors +HSupprime(Planning_RDV_Personne) +fin +fin +fin +renvoyer Vrai +Procédure globale EnregistrerRDVsMapping +procédure EnregistrerRDVsMapping(pclPresentationFicheRdv est une PFicheRdv dynamique, +pclPresentRDVGroupe est un PTableRDV dynamique, bDate est un booléen, bNouveau est un booléen,sIDRdv +est une chaîne ANSI ="") +clErreurest un CErreur +pour i= 1 _à_ pclPresentRDVGroupe.m_clTabModele.Occurrence() +si pclPresentRDVGroupe.m_clTabModele[i].m_bNouveau et pclPresentRDVGroupe.m_clTabModele[i].m_nPKID +<= 0 alors +pclPresentRDVGroupe.m_clTabModele[i].m_bNouveau = Vrai +pclPresentRDVGroupe.m_clTabModele[i].m_nPKID = 0 +06/08/2026 Isis_BO 6167 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +pclPresentRDVGroupe.m_clTabModele[i].m_sGUID = "" +pclPresentRDVGroupe.m_clTabModele[i].m_dhDateDebut = pclPresentationFicheRdv. +m_dhDateDebut +pclPresentRDVGroupe.m_clTabModele[i].m_dhDateFin = pclPresentationFicheRdv +.m_dhDateFin +fin +si bNouveau alors +pclPresentRDVGroupe.m_clTabModele[i].m_bNouveau = Vrai +pclPresentRDVGroupe.m_clTabModele[i].m_nPKID = 0 +pclPresentRDVGroupe.m_clTabModele[i].m_sGUID = "" +fin +si pclPresentationFicheRdv:m_nIDGroupeDate <= 0 alors +pclPresentRDVGroupe.m_clTabModele[i].m_bCR = pclPresentationFicheRdv. +m_bCR +fin +pclPresentRDVGroupe.m_clTabModele[i].m_bPrive = pclPresentationFicheRdv. +m_bPrive +pclPresentRDVGroupe.m_clTabModele[i].m_bSAV = pclPresentationFicheRdv.m_bSAV +pclPresentRDVGroupe.m_clTabModele[i].m_bSuperposable = pclPresentationFicheRdv. +m_bSuperposable +pclPresentRDVGroupe.m_clTabModele[i].m_bRappelSMS = pclPresentationFicheRdv. +m_bRappelSMS +si bDate alors +pclPresentRDVGroupe.m_clTabModele[i].m_dhDateDebut = pclPresentationFicheRdv. +m_dhDateDebut +pclPresentRDVGroupe.m_clTabModele[i].m_dhDateFin = pclPresentationFicheRdv +.m_dhDateFin +fin +pclPresentRDVGroupe.m_clTabModele[i].m_nIDGroupeDate = pclPresentationFicheRdv. +m_nIDGroupeDate +pclPresentRDVGroupe.m_clTabModele[i].m_nIDGroupe = pclPresentationFicheRdv. +m_nIDGroupe +pclPresentRDVGroupe.m_clTabModele[i].m_nIDIntervention = pclPresentationFicheRdv. +m_nIDIntervention +pclPresentRDVGroupe.m_clTabModele[i].m_nIDSociete = pclPresentationFicheRdv. +m_nIDSociete +pclPresentRDVGroupe.m_clTabModele[i].m_nIDStatut = pclPresentationFicheRdv. +m_nIDStatut +pclPresentRDVGroupe.m_clTabModele[i].m_nIDTypeActivite = pclPresentationFicheRdv. +m_nIDTypeActivite +pclPresentRDVGroupe.m_clTabModele[i].m_sDescription = pclPresentationFicheRdv. +m_sDescription +pclPresentRDVGroupe.m_clTabModele[i].m_nIDDossier = pclPresentationFicheRdv. +m_nIDDossier +pclPresentRDVGroupe.m_clTabModele[i].m_clTypeActivite.m_nPKID = pclPresentationFicheRdv. +m_clTypeActivite.m_nPKID +pclPresentRDVGroupe.m_clTabModele[i].m_clTypeActivite.m_sLibelle = pclPresentationFicheRdv. +m_clTypeActivite.m_sLibelle +pclPresentRDVGroupe.m_clTabModele[i].m_sObjet = pclPresentationFicheRdv. +m_sObjet +pclPresentRDVGroupe.m_clTabModele[i].m_nIDLieu = pclPresentationFicheRdv. +m_nIDLieu +pclPresentRDVGroupe.m_clTabModele[i].m_nIDPersonne = pclPresentationFicheRdv. +m_nIDPersonne +// validation +si pas pclPresentRDVGroupe.m_clTabModele[i].bEnregistrer(clErreur) alors +Erreur(clErreur.FormateMessage()) +renvoyer Faux +fin +06/08/2026 Isis_BO 6168 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +sIDRdv+=[";"]+pclPresentRDVGroupe.m_clTabModele[i].m_nPKID +fin +renvoyer Vrai +Procédure globale EnvoiMail +// Résumé : +// Syntaxe : +//[ = ] EnvoiMail ( est chaîne, est chaîne, est chaîne, +est chaîne, est chaîne, est chaîne, est +Email, est STParamEnvoiEmailPerso) +// +// Paramètres : +// sDestinataire (chaîne ANSI) : +// sCC (chaîne ANSI) : +// sCCI (chaîne ANSI) : +// sObjet (chaîne ANSI) : +// sMessage (chaîne ANSI) : +// sListeFichiers (chaîne ANSI) : +// unEmail (Email) : +// stParamEmailPerso (STParamEnvoiEmailPerso) : +// Valeur de retour : +// chaîne ANSI : +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sMessageErreur (chaîne ANSI) : +procédure EnvoiMail(local sDestinataire est une chaîne,local sCC est une chaîne,local sCCI est une +chaîne,local sObjet est une chaîne,local sMessage est une chaîne, local sListeFichiers est une chaîne, +unEmail est un Email, stParamEmailPerso est un STParamEnvoiEmailPerso) +sMessageErreur est une chaîne = "" +stvParamEmail est un STParamEmail +stvParamEnvoiEmail est un STParamEnvoiEmail +si stParamEmailPerso <> Null alors +stvParamEmail = stParamEmailPerso.Compte +stvParamEnvoiEmail = stParamEmailPerso.SMTP +sinon +stvParamEmail = gpclFicheUtilisateurEnCours:p_ParamEmailStruct +stvParamEnvoiEmail = gpclFicheUtilisateurEnCours:p_ParamEnvoiMailStruct +fin +//sEmailCopie est une chaine += stvParamEnvoiEmail:bEnCopieCachee ? stvParamEnvoiEmail:sLogin SINON +""//gpclFicheUtilisateurEnCours.FicheCollaborateur:m_sEmail +si stvParamEnvoiEmail.sLogin="" alors +sMessageErreur = +"Vous n'avez pas encore paramétré votre compte de messagerie sur votre application." +fin +si sMessageErreur="" alors +bSMTPCnxOk est un booléen +sMsg est une chaîne +avec stvParamEnvoiEmail +(bSMTPCnxOk,sMsg)=OuvreSessionEmail(3,.sLogin, .sMDP, .sAdresseserveur, Val(.sPortServeur), . +06/08/2026 Isis_BO 6169 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +nCryptage) +fin +si bSMTPCnxOk=Vrai alors +si EnModeTest() alors +sDestinataire="susana@applilogik.fr" +sCC="" +sCCI="" +fin +si stvParamEmail.sCompte <> "" _et_ pas Contient(stvParamEmail.sEmail,"<",SansCasse) _et_ pas +Contient(stvParamEmail.sEmail,">",SansCasse) alors +stvParamEmail.sEmail = stvParamEmail.sCompte+ " <"+stvParamEmail.sEmail+">" +fin +unEmail = PrepareEmail(stvParamEmail.sEmail,sDestinataire,sCC,sCCI,sObjet,sMessage, +sListeFichiers) +// Envoie l'email +si pas EmailEnvoieMessage(stvParamEnvoiEmail.sLogin,unEmail) alors +sMessageErreur =ErreurInfo(errMessage) +LogEcrit(sMessageErreur,eDebug) +fin +EmailFermeSession(stvParamEnvoiEmail.sLogin) +sinon +sMessageErreur = +"Impossible d'établir la connexion, problème lors de la connexion à votre messagerie" + RC + +"Erreur reçue : " + sMsg +LogEcrit(sMessageErreur,eDebug) +fin +fin +renvoyer sMessageErreur +Procédure globale FiltreRessourcesPLN +procédure FiltreRessourcesPLN(gstChoixColbAgd est un STPrefAgdPl,tabRessources est un tableau de +ColbRes) +ColbRes est une Structure +bEq est un booléen +sNomEq est une chaîne ANSI +nIdEq est un entier sur 8 octets +nOrdre est un entier +nIdColb est un entier sur 8 octets +Colb est un tableau de STItemChoix +saCouleur est un Couleur +fin +pstColb est un ColbRes dynamique +pstUnClb est un STItemChoix dynamique +pour tout stEq de gstChoixColbAgd.tabEquipe +si stEq.nOrdre > 0 _et_ stEq.tabColb..Occurrence > 0 alors +pstColb = allouer un ColbRes +pstColb.nOrdre = stEq.nOrdre +pstColb.sNomEq = stEq.sNom +pstColb.nIdEq = stEq.nOrdre +pstColb.bEq = Vrai +pstColb.saCouleur= stEq.sCouleur <> "" ? stEq.sCouleur sinon DonneCouleur(stEq.nOrdre) +06/08/2026 Isis_BO 6170 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +pour tout stClb de stEq.tabColb +pstUnClb = allouer un STItemChoix +pstUnClb.nId = stClb.nId +pstUnClb.nOrdre = stClb.nOrdre +TableauAjoute(pstColb.Colb,pstUnClb) +fin +TableauTrie(pstColb.Colb,ttMembre+tccRespecteNumérique,"+nOrdre") +TableauAjoute(tabRessources,pstColb) +fin +fin +pour tout stColb de gstChoixColbAgd.tabColb +pstColb = allouer un ColbRes +pstColb.nOrdre = stColb.nOrdre +pstColb.sNomEq = "" +pstColb.nIdEq = 0 +pstColb.bEq = Faux +pstColb.nIdColb = stColb.nId +TableauAjoute(tabRessources,pstColb) +fin +TableauTrie(tabRessources,ttMembre+tccRespecteNumérique,"+nOrdre") +Procédure globale GestionConflitRDV +procédure GestionConflitRDV(local P_DateInf est une DateHeure,local P_DateSup est une DateHeure,local +nP_IdCollab est un entier sur 8 octets, local nIdRdv est un entier sur 8 octets, local nIdGrp est un +entier sur 8 octets, local nIdGrpDate est un entier sur 8 octets) +Resp est une chaîne +req est une chaîne ANSI +P_DateInf..Minute += 2 +P_DateSup..Minute -= 2 +dhDateD est une DateHeure +dhDateF est une DateHeure +req = +"SELECT +Planning_RDV.PL_PKID,Planning_RDV.PL_Superposable,Planning_RDV.PL_IDCollaborateur,Collaborateur.CO_Nom, +Collaborateur.CO_Prenom,PL_DateDebut,PL_DateFin FROM Planning_RDV" +req += " INNER JOIN Collaborateur ON Collaborateur.CO_PKID=Planning_RDV.PL_IDCollaborateur" +req += " WHERE ((LEFT(Planning_RDV.PL_DateDebut,8) = '"+Gauche(P_DateInf,8)+ +"' OR LEFT(Planning_RDV.PL_DateFin,8) = '"+Gauche(P_DateSup,8)+"')" +req += " OR (LEFT(Planning_RDV.PL_DateDebut,8) < '"+Gauche(P_DateInf,8)+ +"' AND LEFT(Planning_RDV.PL_DateFin,8) > '"+Gauche(P_DateSup,8)+"'))" +req += " AND Planning_RDV.Archive=0 " +si nP_IdCollab > 0 alors +req += " AND Planning_RDV.PL_IDCollaborateur IN ("+nP_IdCollab+")" +fin +si nIdGrpDate > 0 alors +req += " AND Planning_RDV.PL_IdGroupeDate NOT IN ("+nIdGrpDate+")" +sinon si nIdGrp > 0 alors +req += " AND Planning_RDV.PL_IDGroupe NOT IN ("+nIdGrp+")" +sinon si nIdRdv > 0 alors +req += " AND Planning_RDV.PL_PKID NOT IN ("+nIdRdv+")" +fin +06/08/2026 Isis_BO 6171 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +sdRDV est une Source de Données +si pas HExécuteRequêteSQL(sdRDV,hVérifieDoublon+hVérifieIntégrité,req) +Resp="Erreur HFSQL : " + HErreurInfo(hErrComplet) +renvoyer Resp +fin +bRdv est un booléen +pour tout sdRDV +bRdv = Faux +si sdRDV.PL_Superposable=0 et Val(sdRDV.PL_DateDebut) < Val(P_DateSup) alors +dhDateD = sdRDV.PL_DateDebut +dhDateF = sdRDV.PL_DateFin +si sdRDV.PL_PKID <> nIdRdv alors +si (dhDateD..PartieHeure <= P_DateInf..PartieHeure et dhDateF..PartieHeure >= P_DateSup. +PartieHeure) alors +bRdv = Vrai +sinon si (dhDateD..PartieHeure <= P_DateInf..PartieHeure et dhDateF..PartieHeure >= +P_DateInf.PartieHeure) alors +bRdv = Vrai +sinon si (dhDateD..PartieHeure > P_DateInf..PartieHeure et dhDateF..PartieHeure <= +P_DateSup.PartieHeure) alors +bRdv = Vrai +fin +fin +si bRdv alors +si Resp="" alors +Resp="- "+sdRDV.CO_Prenom+" "+sdRDV.CO_Nom+" :"+" Un Rdv +est déjà planifié et non superposable le "+ DateVersChaîne(sdRDV.PL_DateDebut, +"JJ/MM/AAAA")+" entre "+HeureVersChaîne(Droite(sdRDV.PL_DateDebut,9),"HH:MM:SS")+ +" et "+HeureVersChaîne(Droite(sdRDV.PL_DateFin,9),"HH:MM:SS") +sinon +Resp+=RC+RC+"- "+ sdRDV.CO_Prenom+" "+sdRDV.CO_Nom+" :"+" Un Rdv +est déjà planifié et non superposable le "+ DateVersChaîne(sdRDV.PL_DateDebut, +"JJ/MM/AAAA")+" entre "+HeureVersChaîne(Droite(sdRDV.PL_DateDebut,9),"HH:MM:SS")+ +" et "+HeureVersChaîne(Droite(sdRDV.PL_DateFin,9),"HH:MM:SS") +fin +fin +fin +fin +renvoyer Resp +Procédure globale InitTableCouleur +procédure InitTableCouleur(LaTable est un Champ, sCouleur est une chaîne ANSI) +"Utilitaire" et Configuration<>"SLAMM_RecupHeures"> +TableSupprimeTout(LaTable) +i, couleur sont des entiers +couleur = Argent +i = TableAjouteLigne(LaTable,0,"Argent",FEN_Menu.IMG_Cercle_12632256, +couleur) +LaTable[i].COL_Couleur.Couleur= couleur +couleur = Bronze +i = TableAjouteLigne(LaTable,0,"Bronze",FEN_Menu.IMG_Cercle_3309517, +couleur) +LaTable[i].COL_Couleur.Couleur= couleur +06/08/2026 Isis_BO 6172 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +couleur = JauneOr +i = TableAjouteLigne(LaTable,0,"Jaune Or",FEN_Menu.IMG_Cercle_55295, +couleur) +LaTable[i].COL_Couleur.Couleur= couleur +couleur = RougePastel +i = TableAjouteLigne(LaTable,0,"Rouge Pastel",FEN_Menu.IMG_ +Cercle_10066431,couleur) +LaTable[i].COL_Couleur.Couleur= couleur +couleur = RougeClair +i = TableAjouteLigne(LaTable,0,"Rouge Clair",FEN_Menu.IMG_Cercle_255, +couleur) +LaTable[i].COL_Couleur.Couleur= couleur +couleur = RougeFoncé +i = TableAjouteLigne(LaTable,0,"Rouge Foncé",FEN_Menu.IMG_Cercle_128, +couleur) +LaTable[i].COL_Couleur.Couleur= couleur +couleur = VertPastel +i = TableAjouteLigne(LaTable,0,"Vert Pastel",FEN_Menu.IMG_ +Cercle_10092441,couleur) +LaTable[i].COL_Couleur.Couleur= couleur +couleur = VertFoncé +i = TableAjouteLigne(LaTable,0,"Vert Foncé",FEN_Menu.IMG_Cercle_32768, +couleur) +LaTable[i].COL_Couleur.Couleur= couleur +couleur = BleuPastel +i = TableAjouteLigne(LaTable,0,"Bleu Pastel",FEN_Menu.IMG_ +Cercle_16751001,couleur) +LaTable[i].COL_Couleur.Couleur= couleur +couleur = CyanPastel +i = TableAjouteLigne(LaTable,0,"Cyan Pastel",FEN_Menu.IMG_ +Cercle_16777113,couleur) +LaTable[i].COL_Couleur.Couleur= couleur +couleur = CyanFoncé +i = TableAjouteLigne(LaTable,0,"Cyan Foncé",FEN_Menu.IMG_Cercle_8421376 +,couleur) +LaTable[i].COL_Couleur.Couleur= couleur +couleur = JaunePastel +i = TableAjouteLigne(LaTable,0,"Jaune Pastel",FEN_Menu.IMG_ +Cercle_10092543,couleur) +LaTable[i].COL_Couleur.Couleur= couleur +couleur = MagentaPastel +i = TableAjouteLigne(LaTable,0,"Magenta Pastel",FEN_Menu.IMG_ +Cercle_16751103,couleur) +LaTable[i].COL_Couleur.Couleur= couleur +couleur = VioletPastel +i = TableAjouteLigne(LaTable,0,"Violet Pastel",FEN_Menu.IMG_ +Cercle_13212107,couleur) +LaTable[i].COL_Couleur.Couleur= couleur +couleur = MarronPastel +i = TableAjouteLigne(LaTable,0,"Marron Pastel",FEN_Menu.IMG_ +Cercle_6510979,couleur) +LaTable[i].COL_Couleur.Couleur= couleur +couleur = MarronClair +06/08/2026 Isis_BO 6173 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +i = TableAjouteLigne(LaTable,0,"Marron Clair",FEN_Menu.IMG_ +Cercle_2763429,couleur) +LaTable[i].COL_Couleur.Couleur= couleur +couleur = OrangeFoncé +i = TableAjouteLigne(LaTable,0,"Orange Foncé",FEN_Menu.IMG_Cercle_36095 +,couleur) +LaTable[i].COL_Couleur.Couleur= couleur +si sCouleur <> "" alors +pour toute ligne i de LaTable +si LaTable[i].COL_Valeur = sCouleur alors +LaTable[i].COL_Selection = Vrai +fin +fin +fin + +Procédure globale InsereTableauPhotoTraitementdeTexte +// Résumé : +// Syntaxe : +//InsereTableauPhotoTraitementdeTexte ( est tableau (vide), est champ +[, est booléen]) +// +// Paramètres : +// ptabFormat (tableau (vide)) : +// ChpTraitementTexte (champ) : +// bMobile (booléen - valeur par défaut=0) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// tabFragments (tableau) : +// tabDyn (tableau) : +// sTermeRecherche (chaîne ANSI) : +procédure InsereTableauPhotoTraitementdeTexte(ptabFormat est un tableau dynamique, ChpTraitementTexte +est un Champ, bMobile est un booléen = Faux) +tabPhotos est un docTableau +//tabImages est un doctableau +nCptCol est un entier =2 +nCptLig est un entier =2 +nPos est un entier +si bMobile alors +nCptCol = 1 +fin +//Récupère la position de début du terme trouvé +nPos = ChpTraitementTexte..Curseur +// Insère un tableau dans le document avec 2 colonnes et le nombre de lignes nécessaires +DocInsèreTableau(ChpTraitementTexte,nPos,nCptCol,nCptLig) +// Définition d'un fragment correspondant au tableau +f est un docFragment(ChpTraitementTexte..Valeur, nPos+1, ChpTraitementTexte..Curseur) +soit para <- f..Paragraphe[1] +si para..Tableau<>Null alors +// Est ce bien ce tableau trouvé où l'on écrit les données +06/08/2026 Isis_BO 6174 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +si para..PositionDébut=nPos+1 alors +tabPhotos <- para..Tableau +largPixCol est un réel +//tabElmt est un tableau de docEléments +nColonne est un entier +// Remplissage de toutes les lignes de cette colonne +pour nLigne = 1 _à_ nCptLig//tabDyn..Occurrence +si nLigne>nCptLig alors break +nColonne = 1 +boucle +//docCel est une docCellule = +cell est un docCellule <- tabPhotos..Cellules[nLigne,nColonne] +si nLigne=1 alors +para..Tableau..Colonnes[nColonne]..LargeurMillimètres= ptabFormat[1]:LargeurCol +elt est un docElément +elt..Type = typeDocElémentTexte +elt..Texte = ptabFormat[1]:Nom +para..Tableau..Cellules[1,nColonne]..Contenu..Text= ptabFormat[1]:Nom +para..Tableau..Cellules[1,nColonne]..MiseEnPage..Alignement = chCentre +//Millimetre vers Pixel +largPixCol = para..Tableau..Colonnes[1]..LargeurMillimètres*NBPixelesXMilimetres +sinon +//ind colonne +((indice ligne-2)*Nb colonne total) +nTabDyn est un entier = nColonne +((nLigne-2)*nCptCol) +// Déclaration d'un élément de type Image (à insérer dans le document) +img est une Image="image_vide_80.png" +sChp est une chaîne +// Remplissage de toutes les lignes de cette colonne +pour i = 1 _à_ ptabFormat..Occurrence +selon ptabFormat[i]:TypeMembre +cas "ChpSimpleChaine","ChpSimpleRTF","ChpSimpleDate","ChpSimpleDateHeure" +,"ChpSimpleReel","ChpSimpleBooleen" : sChp += RC+ptabFormat[i]: +Rubrique +cas "ChpImage" : sChp += ptabFormat[i]:Rubrique +// +DocInsèreTableau(ChpTraitementTexte,cell.Contenu..PositionDébut,1,1)//sChp += ptabFormat[i]:Rubrique +// +// // Définition d'un fragment correspondant au tableau +// +e est un docFragment(ChpTraitementTexte..Valeur, cell.Contenu..PositionDébut+1, +ChpTraitementTexte..Curseur) +// soit para2 <- e..Paragraphe[1] +// SI para2..Tableau<>Null ALORS +// +// // Est ce bien ce tableau trouvé où l'on écrit les données +// SI para2..PositionDébut= cell.Contenu..PositionDébut+1 ALORS +// +// tabImages <- para2..Tableau +// cell2 est un docCellule <- tabImages..Cellules[1,1] +// +// elt est un docElément +// elt..Type = typeDocElémentImage +// elt..Image..BufferImage = img +// elt..Image..Habillage = docHabillageAlignéSurLeTexte +// +// para2..Tableau..Cellules[1,1]..Contenu..Text="." +// SI TableauAjoute(cell2.Contenu.Element,elt +06/08/2026 Isis_BO 6175 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +) ALORS cell2..MiseEnPage..Alignement = chCentre +// +// FIN +// FIN +fin +fin +cell.Contenu.Texte =sChp +cell..MiseEnPage..Alignement = chCentre +// elt est un docElément +// elt..Type = typeDocElémentTexte +// elt..Texte = sChp +// +// +// SI TableauAjoute(cell.Contenu.Element,elt +) ALORS cell..MiseEnPage..Alignement = chCentre +// // Définition d'un fragment correspondant au tableau +// +e est un docFragment(ChpTraitementTexte..Valeur, cell.Contenu..PositionDébut+1, +ChpTraitementTexte..Curseur) +// soit para2 <- e..Paragraphe[1] +// SI para2..Tableau<>Null ALORS +// +// // Est ce bien ce tableau trouvé où l'on écrit les données +// SI para2..PositionDébut= cell.Contenu..PositionDébut+1 ALORS +// +// tabImages <- para2..Tableau +// cell2 est un docCellule <- tabImages..Cellules[1,1] +// elt est un docElément +// elt..Type = typeDocElémentImage +// elt..Image..BufferImage = img +// elt..Image..Habillage = docHabillageAlignéSurLeTexte +// +// para2..Tableau..Cellules[1,1]..Contenu..Text=sChp +// SI TableauAjoute(cell2.Contenu.Element,elt +) ALORS cell2..MiseEnPage..Alignement = chCentre +// +// FIN +// FIN +fin +nColonne +=1 +à faire tantque nColonne=nCptCol +fin +fin +fin +Procédure globale InsereTableauTraitementdeTexte +// Résumé : +// Syntaxe : +//InsereTableauTraitementdeTexte ( est tableau, est champ) +// +// Paramètres : +// ptabFormat (tableau) : +// ChpTraitementTexte (champ) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +06/08/2026 Isis_BO 6176 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +// vRub (variant) : +// tabFragments (tableau) : +// tabDyn (tableau) : +// sTermeRecherche (chaîne ANSI) : +procédure InsereTableauTraitementdeTexte( ptabFormat est un tableau dynamique, ChpTraitementTexte est +un Champ) +//tabFragments est tableau de docFragments +nCptCol est un entier =2 +nCptLig est un entier =2 +nPos est un entier=ChpTraitementTexte..Curseur +nCptCol=ptabFormat..Occurrence +// Insère un tableau dans le document avec 2 colonnes et le nombre de lignes nécessaires +DocInsèreTableau(ChpTraitementTexte,nPos,nCptCol,nCptLig) +// Définition d'un fragment correspondant au tableau +f est un docFragment(ChpTraitementTexte..Valeur, nPos+1, ChpTraitementTexte..Curseur) +soit para <- f..Paragraphe[1] +si para..Tableau<>Null alors +// Est ce bien ce tableau trouvé où l'on écrit les données +si para..PositionDébut=nPos+1 alors +//Boucle sur l'ensemble des colonnes +pour nColonne = 1 _à_ nCptCol +para..Tableau..Cellules[1,nColonne]..Contenu..Texte=ptabFormat[nColonne]:Nom +para..Tableau..Colonnes[nColonne]..LargeurMillimètres= ptabFormat[nColonne]:LargeurCol +// Remplissage de toutes les lignes de cette colonne +pour nLigne = 2 _à_ nCptLig +selon ptabFormat[nColonne]:TypeMembre +cas "ChpSimpleChaine" : para..Tableau..Cellules[nLigne,nColonne]..Contenu.. +Texte=ptabFormat[nColonne]:Rubrique +//;para..Tableau..Colonnes[nColonne]..LargeurMillimètres= +ptabFormat[nColonne]:LargeurCol +cas "ChpSimpleRTF" : para..Tableau..Cellules[nLigne,nColonne]..Contenu.. +Texte=ptabFormat[nColonne]:Rubrique +cas "ChpSimpleDate" : para..Tableau..Cellules[nLigne,nColonne]..Contenu..Texte= +ptabFormat[nColonne]:Rubrique +cas "ChpSimpleDateHeure": para..Tableau..Cellules[nLigne,nColonne]..Contenu..Texte +=ptabFormat[nColonne]:Rubrique +cas "ChpSimpleReel" : para..Tableau..Cellules[nLigne,nColonne]..Contenu.. +Texte=ptabFormat[nColonne]:Rubrique +cas "ChpSimpleBooleen" : para..Tableau..Cellules[nLigne,nColonne]..Contenu.. +Texte=ptabFormat[nColonne]:Rubrique +fin +fin +fin +fin +fin +Procédure globale Maximise_Ecran +06/08/2026 Isis_BO 6177 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +// Résumé : +// Syntaxe : +//[ = ] Maximise_Ecran () +// +// Paramètres : +// Aucun +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure Maximise_Ecran() +cNomCleRegistre est une chaîne="" +si pas EnModeTest() alors +cNomCleRegistre="HKEY_CURRENT_USER\SOFTWARE\"+cNomProduit+"\"+ProjetInfo(piConfiguration) +sinon +cNomCleRegistre="HKEY_CURRENT_USER\Software\PC SOFT\WinDev\25.0\ModeTest\"+ProjetInfo(piNomProjet) +fin +//Récupération des dimensions de l'écran afin de simuler l'aperçu maximisé +cResolution est une chaîne = SysRésolutionEcran() +eValeur est un entier +eValeur=Val(ExtraitChaîne(cResolution,2))-30 +si pas RegistreEcrit(cNomCleRegistre,"ApercuHauteur",eValeur,registreTypeChaîne) alors +Erreur(ErreurInfo()) +renvoyer Faux +fin +eValeur=Val(ExtraitChaîne(cResolution,1))-10 +si pas RegistreEcrit(cNomCleRegistre,"ApercuLargeur",eValeur,registreTypeChaîne) alors +Erreur(ErreurInfo()) +renvoyer Faux +fin +// on positionne l'aperçu +si pas RegistreEcrit(cNomCleRegistre,"ApercuX",3,registreTypeChaîne) alors +Erreur(ErreurInfo()) +renvoyer Faux +fin +si pas RegistreEcrit(cNomCleRegistre,"ApercuY",3,registreTypeChaîne) alors +Erreur(ErreurInfo()) +renvoyer Faux +fin +//on remet à zéro la valeur maximisant l'aperçu et créant le blocage +si pas RegistreEcrit(cNomCleRegistre,"ApercuMaximise","1") alors +Erreur(ErreurInfo()) +renvoyer Faux +fin +renvoyer Vrai +Procédure globale ModificationRDV +procédure ModificationRDV(pclPresentationFicheRdv est une PFicheRdv dynamique,pclPresentRDVGroupe est +un PTableRDV dynamique,pclPresentListeContactRDV est un PTablePlanning_RDV_Personne dynamique) +MaDurée est une Durée = pclPresentationFicheRdv.m_dhDateFin - +pclPresentationFicheRdv.m_dhDateDebut +nNbRdvs est un entier = PartieEntière(MaDurée..EnJours) +si pclPresentationFicheRdv.m_nIDGroupeDate > 0 alors +si pas ModifRDVGroupeDate(pclPresentationFicheRdv,pclPresentRDVGroupe,pclPresentListeContactRDV) +alors +renvoyer Faux +06/08/2026 Isis_BO 6178 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +fin +sinon +dMois est une Date=DateSys() +dMois..Mois -= 2 +// Création de plusieurs rdvs si la date de fin est supérieur a la date du jour +si nNbRdvs > 0 et Val(pclPresentationFicheRdv.m_dhDateFin..PartieDate) >= Val(Droite(dMois,8)) +alors +si pas CreerNouveauRDV(pclPresentationFicheRdv,pclPresentRDVGroupe,pclPresentListeContactRDV, +Vrai) alors +renvoyer Faux +fin +sinon +sIDRdv est une chaîne ANSI = "" +si pas EnregistrerRDVsMapping(pclPresentationFicheRdv,pclPresentRDVGroupe,Vrai,Faux,sIDRdv) +alors +renvoyer Faux +fin +si pas EnregistrerContactRdv(sIDRdv, pclPresentListeContactRDV, pclPresentationFicheRdv. +m_nIDGroupe) alors +renvoyer Faux +fin +fin +fin +renvoyer Vrai +Procédure globale ModifierCR_RDV +procédure ModifierCR_RDV(pclPresentationFicheRdv est une PFicheRdv dynamique) +sDates est une chaîne ANSI +si pclPresentationFicheRdv.m_nIDGroupeDate > 0 alors +// On modifie tous le RDV afin que seulement le dernier RDV a un compte-rendu +sdRequete_1 est une Source de Données +sReqSQL_1 est une chaîne ANSI = +[ +UPDATE Planning_RDV SET PL_CR = 0 +WHERE PL_IdGroupeDate = %1 +AND Archive = 0 +] +sReqSQL_1 = ChaîneConstruit(sReqSQL_1, pclPresentationFicheRdv.m_nIDGroupeDate) +si pas HExécuteRequêteSQL(sdRequete_1,hRequêteDéfaut,sReqSQL_1) alors +Erreur("Une erreur s'est produite lors de l'enregistrement du rendez-vous" + RC + HErreurInfo() +) +renvoyer Faux +sinon +pour tout stDate de pclPresentationFicheRdv:m_tbDateCR +si stDate.bSel alors +si Taille(sDates) > 3 alors +sDates += " , " +fin +sDates += "'"+stDate.dhUneDate+"'" +fin +fin +06/08/2026 Isis_BO 6179 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +si Taille(sDates) > 3 alors +sdRequete_2 est une Source de Données +sReqSQL_2 est une chaîne ANSI = +[ +UPDATE Planning_RDV SET PL_CR = 1 +WHERE PL_IdGroupeDate = %1 +AND PL_DateDebut IN (%2) +AND Archive = 0 +] +sReqSQL_2 = ChaîneConstruit(sReqSQL_2, pclPresentationFicheRdv.m_nIDGroupeDate,sDates) +si pas HExécuteRequêteSQL(sdRequete_2,hRequêteDéfaut,sReqSQL_2) alors +Erreur("Une erreur s'est produite lors de l'enregistrement du rendez-vous" + RC + +HErreurInfo()) +renvoyer Faux +sinon +renvoyer Vrai +fin +sinon +renvoyer Faux +fin +fin +sinon +Erreur("Une erreur s'est produite lors de l'enregistrement du rendez-vous" + RC + +"L'identifiant de rendez-vous est requis") +renvoyer Faux +fin +Procédure globale ModifRDVDirectementPlanning +procédure ModifRDVDirectementPlanning(rdvDéplacé est un RendezVous,bDeplacement est un booléen) +"Utilitaire" et Configuration<>"SLAMM_RecupHeures"> +nIdCollaborateur est un entier sur 8 octets +nIdSociete est un entier sur 8 octets +nIdInter est un entier sur 8 octets +nIdGroupe est un entier sur 8 octets +MessageErreur est une chaîne +HRAZ(Planning_RDV) +HLitRecherchePremier(Planning_RDV,PL_PKID,rdvDéplacé.ID) +si HTrouve(Planning_RDV) alors +nIdCollaborateur = Planning_RDV.PL_IDCollaborateur +nIdGroupe = Planning_RDV.PL_IDGroupe +nIdInter = Planning_RDV.PL_IDIntervention +nIdSociete = Planning_RDV.PL_IDSociete +sinon +renvoyer Faux +fin +si pas nIdCollaborateur > 0 alors +renvoyer Faux +fin +MessageErreur=GestionConflitRDV(rdvDéplacé.DateDébut,rdvDéplacé.DateFin,nIdCollaborateur,Planning_RDV. +PL_PKID,nIdGroupe,0) +si nIdGroupe<=0 alors +06/08/2026 Isis_BO 6180 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +//HLitRecherchePremier(Planning_RDV,PL_PKID,rdvDéplacé.ID) +si Planning_RDV.PL_IdGroupeDate > 0 alors +si Ouvre(FEN_Modification_Date_Groupe,Planning_RDV.PL_IdGroupeDate, Planning_RDV.PL_PKID, +Planning_RDV.PL_IDGroupe) alors +CreationActionUserAutreSoc(nIdSociete,nIdInter,"Modification du RDV à") +renvoyer Vrai +sinon +rdvDéplacé.DateDébut = Planning_RDV.PL_DateDebut +rdvDéplacé.DateFin = Planning_RDV.PL_DateFin +fin +renvoyer Faux +sinon +si MessageErreur<>"" et pas Planning_RDV.PL_Superposable alors +rdvDéplacé.DateDébut = Planning_RDV.PL_DateDebut +rdvDéplacé.DateFin = Planning_RDV.PL_DateFin +si bDeplacement alors +Erreur("Vous ne pouvez pas déplacer ce rendez-vous pour les utilisateurs suivant:"+RC+ +RC+MessageErreur+RC+RC+"Conflit de Rendez-vous") +renvoyer Faux +sinon +Erreur( +"Vous ne pouvez pas redimensionner ce rendez-vous pour les utilisateurs suivant:"+RC+ +RC+MessageErreur+RC+RC+"Conflit de Rendez-vous") +renvoyer Faux +fin +fin +Planning_RDV.PL_DateDebut = rdvDéplacé.DateDébut +Planning_RDV.PL_DateFin = rdvDéplacé.DateFin +Planning_RDV.ModifDate = DateHeureSys() +Planning_RDV.ModifUser = gpclFicheUtilisateurEnCours.m_nPKID +HModifie(Planning_RDV) +fin +sinon +si nIdGroupe > 0 alors +pour tout Planning_RDV avec PL_IDGroupe=nIdGroupe +si nIdInter = Planning_RDV.PL_IDIntervention et nIdSociete = Planning_RDV.PL_IDSociete +alors +si Planning_RDV.PL_IdGroupeDate > 0 alors +si Ouvre(FEN_Modification_Date_Groupe,Planning_RDV.PL_IdGroupeDate, Planning_RDV. +PL_PKID,Planning_RDV.PL_IDGroupe) alors +CreationActionUserAutreSoc(nIdSociete,nIdInter,"Modification du RDV à") +renvoyer Vrai +sinon +rdvDéplacé.DateDébut = Planning_RDV.PL_DateDebut +rdvDéplacé.DateFin = Planning_RDV.PL_DateFin +fin +renvoyer Faux +fin +si Planning_RDV.PL_IDGroupe<>0 alors +si pas Planning_RDV.PL_Superposable alors +MessageErreur="" +MessageErreur=GestionConflitRDV(rdvDéplacé.DateDébut,rdvDéplacé.DateFin, +Planning_RDV.PL_IDCollaborateur,Planning_RDV.PL_PKID,Planning_RDV.PL_IDGroupe +,Planning_RDV.PL_IdGroupeDate) +si MessageErreur <> "" alors +si bDeplacement alors +Erreur( +"Vous ne pouvez pas déplacer ce rendez-vous pour les utilisateurs +suivant:" ++RC+RC+MessageErreur+RC+RC+"Conflit de Rendez-vous") +renvoyer Faux +sinon +Erreur( +06/08/2026 Isis_BO 6181 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +"Vous ne pouvez pas redimensionner ce rendez-vous pour les utilisateurs suivant:"+RC+RC+MessageErreur+ +RC+RC+"Conflit de Rendez-vous") +renvoyer Faux +fin +fin +fin +| | Planning_RDV.PL_DateDebut | | = rdvDéplacé.DateDébut | | +| --- | ------------------------- | --- | ------------------------------------- | --- | +| | Planning_RDV.PL_DateFin | | = rdvDéplacé.DateFin | | +| | Planning_RDV.ModifDate | | = DateHeureSys() | | +| | Planning_RDV.ModifUser | | = gpclFicheUtilisateurEnCours.m_nPKID | | +HModifie(Planning_RDV) +fin +fin +fin +fin +fin +rdvDéplacé.ID=ExtraitChaîne(rdvDéplacé.ID,1,";",DepuisDébut) +CreationActionUserAutreSoc(nIdSociete,nIdInter,"Modification du RDV à") + +renvoyer Vrai +Procédure globale ModifRDVGroupeDate +procédure ModifRDVGroupeDate(pclPresentationFicheRdv est une PFicheRdv dynamique,pclPresentRDVGroupe +est un PTableRDV dynamique,pclPresentListeContactRDV est un PTablePlanning_RDV_Personne dynamique) +| dhDateDebut | est une DateHeure | | | | +| ----------- | ------------------- | ------ | --- | --- | +| dhDateFin | est une DateHeure | | | | +| bChangement | est un booléen | = Faux | | | +| sIDRdv | est une chaîne ANSI | = "" | | | +DateDebutReq , DateFinReq est une DateHeure +| MessageErreur | est une chaîne ANSI | | | | +| ------------------ | ------------------- | --- | --- | --- | +| b,c est un entier | | | | | +HLitRecherchePremier(Planning_RDV,PL_PKID,pclPresentationFicheRdv.m_nPKID) +si HTrouve(Planning_RDV) alors +si Planning_RDV.PL_DateDebut <> pclPresentationFicheRdv.m_dhDateDebut alors +bChangement = Vrai +dhDateDebut = Planning_RDV.PL_DateDebut +fin +si Planning_RDV.PL_DateFin <> pclPresentationFicheRdv.m_dhDateFin alors +bChangement = Vrai +dhDateFin = Planning_RDV.PL_DateFin +fin +sinon +Erreur("Une erreur s'est produite" + RC + HErreurInfo()) +renvoyer Faux +fin +si pclPresentationFicheRdv.m_tbDateCR..Occurrence > 0 alors +ModifierCR_RDV(pclPresentationFicheRdv) +fin +TableauTrie(pclPresentRDVGroupe.m_clTabModele,ttMembre,"m_nIDCollaborateur") +si bChangement alors +si pclPresentRDVGroupe.m_clTabModele.Occurrence() > 1 alors +| 06/08/2026 | | | Isis_BO | 6182 | +| ---------- | --- | --- | ------- | ---- | + +Partie 7 › Collection de procédures › COL_COMMUN › Code +//QuestionRDV(Vrai,"Le rendez-vous a été créé sur plusieurs jours, que vous souhaitez modifier +?",pclPresentationFicheRdv.m_nIDGroupeDate) +selon QuestionRDV(Faux, +"Le rendez-vous a été créé sur plusieurs jours, que vous souhaitez modifier ?", +pclPresentationFicheRdv.m_nIDGroupeDate) +// Pour tous rendez-vous et pour tous les collaborateurs. +cas 1 +si pas ReqModifInfoGeneralRDV(pclPresentationFicheRdv,0,pclPresentationFicheRdv. +m_nIDGroupeDate,Faux) renvoyer Faux +si pas pclPresentationFicheRdv.m_bSuperposable alors +pour tout Planning_RDV avec PL_IdGroupeDate=pclPresentationFicheRdv. +m_nIDGroupeDate +DateDebutReq = Planning_RDV.PL_DateDebut +DateFinReq = Planning_RDV.PL_DateFin +DateDebutReq.PartieHeure = pclPresentationFicheRdv.m_dhDateDebut. +PartieHeure +DateFinReq.PartieHeure = pclPresentationFicheRdv.m_dhDateFin. +PartieHeure +MessageErreur = "" +MessageErreur = GestionConflitRDV(DateDebutReq,DateFinReq, +Planning_RDV.PL_IDCollaborateur,Planning_RDV.PL_PKID,Planning_RDV. +PL_IDGroupe,Planning_RDV.PL_IdGroupeDate) +si MessageErreur <> "" alors +Erreur( +"Vous ne pouvez pas modifier l'heure pour ces rendez-vous."+RC+ +"Conflit de Rendez-vous pour les utilisateurs suivant:"+RC+RC+ +MessageErreur+RC) +renvoyer Faux +fin +fin +fin +si pas ReqModifierDateRDV(pclPresentationFicheRdv, Faux) renvoyer Faux +pour i= 1 _à_ pclPresentRDVGroupe.m_clTabModele.Occurrence() +si pclPresentRDVGroupe.m_clTabModele[i].m_bNouveau et pclPresentRDVGroupe. +m_clTabModele[i].m_nPKID <= 0 alors +// Parfois ca crée un rendez vous avec le mème collaborateur +b = TableauCherche(pclPresentRDVGroupe.m_clTabModele,tcLinéaire,"m_nPKID", +pclPresentRDVGroupe.m_clTabModele[i].m_nPKID,1) +si b = i alors +c = i+1 +si pclPresentRDVGroupe.m_clTabModele.Occurrence() > c alors +si pclPresentRDVGroupe.m_clTabModele[i].m_nPKID <> +pclPresentRDVGroupe.m_clTabModele[c].m_nPKID alors +AjoutCollaborateurGroupeRDV(pclPresentationFicheRdv, +pclPresentRDVGroupe.m_clTabModele[i].m_nIDCollaborateur) +fin +sinon +AjoutCollaborateurGroupeRDV(pclPresentationFicheRdv, +pclPresentRDVGroupe.m_clTabModele[i].m_nIDCollaborateur) +fin +fin +fin +fin +si pas ReqModifContactRDV(pclPresentationFicheRdv,pclPresentListeContactRDV,Faux,Vrai, +Faux) renvoyer Faux +// Uniquement cette occurrence et pour tous les collaborateurs +cas 2 +si pas ReqModifInfoGeneralRDV(pclPresentationFicheRdv,pclPresentationFicheRdv. +06/08/2026 Isis_BO 6183 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +m_nIDGroupe,pclPresentationFicheRdv.m_nIDGroupeDate,Vrai) renvoyer Faux +pour i= 1 _à_ pclPresentRDVGroupe.m_clTabModele.Occurrence() +si pclPresentRDVGroupe.m_clTabModele[i].m_bNouveau et pclPresentRDVGroupe. +m_clTabModele[i].m_nPKID <= 0 alors +// Parfois ca crée un rendez vous avec le mème collaborateur +b = TableauCherche(pclPresentRDVGroupe.m_clTabModele,tcLinéaire,"m_nPKID", +pclPresentRDVGroupe.m_clTabModele[i].m_nPKID,1) +si b = i alors +c = i+1 +si pclPresentRDVGroupe.m_clTabModele.Occurrence() > c alors +si pclPresentRDVGroupe.m_clTabModele[i].m_nPKID <> +pclPresentRDVGroupe.m_clTabModele[c].m_nPKID alors +AjoutCollaborateurGroupeRDV(pclPresentationFicheRdv, +pclPresentRDVGroupe.m_clTabModele[i].m_nIDCollaborateur) +fin +sinon +AjoutCollaborateurGroupeRDV(pclPresentationFicheRdv, +pclPresentRDVGroupe.m_clTabModele[i].m_nIDCollaborateur) +fin +fin +fin +fin +si pas ReqModifContactRDV(pclPresentationFicheRdv,pclPresentListeContactRDV,Vrai,Vrai, +Faux) renvoyer Faux +// Annuler +cas 0 +renvoyer Faux +// +// // Uniquement cette occurrence et ce collaborateur +// CAS 3 +// +SI PAS +ReqModifInfoGeneralRDV(pclPresentationFicheRdv,pclPresentationFicheRdv.m_nIDGroupe,pclPresentationFiche +Rdv.m_nIDGroupeDate,faux) RENVOYER Faux +// SI PAS ModifierDateUnRDV(pclPresentationFicheRdv) RENVOYER Faux +// si pclPresentRDVGroupe.m_clTabModele.Occurrence() <= 2 alors // si plus de 2 rdvs +on conserve le lien groupe sinon on supprime le lien +// SI PAS SupprimerLienGroupeRDV(pclPresentationFicheRdv,vrai) RENVOYER Faux +// FIN +// POUR i= 1 _A_ pclPresentRDVGroupe.m_clTabModele.Occurrence() +// SI pclPresentRDVGroupe.m_clTabModele[i].m_bNouveau +ET pclPresentRDVGroupe.m_clTabModele[i].m_nPKID <= 0 ALORS +// +AjoutCollaborateurGroupeRDV(pclPresentationFicheRdv,pclPresentRDVGroupe.m_clTabModele[i].m_nIDCollabora +teur, Vrai) +// FIN +// FIN +// +SI PAS ReqModifContactRDV(pclPresentationFicheRdv,pclPresentListeContactRDV,faux,faux, vrai) RENVOYER +Faux +// +// // Pour tous rendez-vous et uniquement pour ce collaborateur +// CAS 4 +// +SI PAS ReqModifInfoGeneralRDV(pclPresentationFicheRdv,0,pclPresentationFicheRdv.m_nIDGroupeDate,faux) +RENVOYER Faux +// SI PAS ReqModifierDateRDV(pclPresentationFicheRdv, vrai) RENVOYER Faux +// POUR i= 1 _A_ pclPresentRDVGroupe.m_clTabModele.Occurrence() +// SI pclPresentRDVGroupe.m_clTabModele[i].m_bNouveau +ET pclPresentRDVGroupe.m_clTabModele[i].m_nPKID <= 0 ALORS +06/08/2026 Isis_BO 6184 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +// +AjoutCollaborateurGroupeRDV(pclPresentationFicheRdv,pclPresentRDVGroupe.m_clTabModele[i].m_nIDCollabora +teur) +| // FIN | | | | +| ------ | --- | --- | --- | +// FIN +// +SI PAS ReqModifContactRDV(pclPresentationFicheRdv,pclPresentListeContactRDV,Faux,Vrai, vrai) RENVOYER +Faux +// +// // Annuler +// CAS 5,0 +// RENVOYER Faux +fin +sinon +selon QuestionRDV(Faux, +"Le rendez-vous a été créé sur plusieurs jours, que vous souhaitez modifier ?", +pclPresentationFicheRdv.m_nIDGroupeDate) +// Pour tous les rendez-vous +cas 1 + si pas ReqModifInfoGeneralRDV(pclPresentationFicheRdv,0,pclPresentationFicheRdv. +m_nIDGroupeDate, Faux) renvoyer Faux + + si pas pclPresentationFicheRdv.m_bSuperposable alors + pour tout Planning_RDV avec PL_IdGroupeDate=pclPresentationFicheRdv. +m_nIDGroupeDate +| | DateDebutReq | = Planning_RDV.PL_DateDebut | | +| --- | ------------ | --------------------------- | --- | +| | DateFinReq | = Planning_RDV.PL_DateFin | | + DateDebutReq.PartieHeure = pclPresentationFicheRdv.m_dhDateDebut.PartieHeure + DateFinReq.PartieHeure = pclPresentationFicheRdv.m_dhDateFin. +PartieHeure +| | MessageErreur | = "" | | +| --- | ------------- | ---- | --- | + MessageErreur = GestionConflitRDV(DateDebutReq,DateFinReq, +Planning_RDV.PL_IDCollaborateur,Planning_RDV.PL_PKID,Planning_RDV.PL_IDGroupe,Planning_RDV. +PL_IdGroupeDate) + +| | si MessageErreur <> "" alors | | | +| --- | ---------------------------- | --- | --- | + Erreur("Vous ne pouvez pas modifier l'heure pour ces rendez-vous."+RC+ +"Conflit de Rendez-vous: "+RC+RC+MessageErreur+RC) +| | renvoyer Faux | | | +| --- | ------------- | --- | --- | +| | fin | | | + +| fin | | | | +| ------- | --- | --- | --- | + fin + si pas ReqModifierDateRDV(pclPresentationFicheRdv, Vrai) renvoyer Faux + pour i= 1 _à_ pclPresentRDVGroupe.m_clTabModele.Occurrence() + si pclPresentRDVGroupe.m_clTabModele[i].m_bNouveau et pclPresentRDVGroupe. +m_clTabModele[i].m_nPKID <= 0 alors + // Parfois ca crée un rendez vous avec le mème collaborateur + b = TableauCherche(pclPresentRDVGroupe.m_clTabModele,tcLinéaire,"m_nPKID", +pclPresentRDVGroupe.m_clTabModele[i].m_nPKID,1) +| | si b = i alors | | | +| --- | -------------- | --- | --- | +| | c = i+1 | | | + si pclPresentRDVGroupe.m_clTabModele.Occurrence() > c alors + si pclPresentRDVGroupe.m_clTabModele[i].m_nPKID <> +pclPresentRDVGroupe.m_clTabModele[c].m_nPKID alors + AjoutCollaborateurGroupeRDV(pclPresentationFicheRdv, +pclPresentRDVGroupe.m_clTabModele[i].m_nIDCollaborateur) + fin +| | sinon | | | +| --- | ----- | --- | --- | + AjoutCollaborateurGroupeRDV(pclPresentationFicheRdv, +pclPresentRDVGroupe.m_clTabModele[i].m_nIDCollaborateur) +| | fin | | | +| ---------- | --- | ------- | ---- | +| 06/08/2026 | | Isis_BO | 6185 | + +Partie 7 › Collection de procédures › COL_COMMUN › Code +fin +fin +fin +si pas ReqModifContactRDV(pclPresentationFicheRdv,pclPresentListeContactRDV,Faux,Vrai, +Vrai) renvoyer Faux +// Uniquement cette occurrence +cas 2 +si pas EnregistrerRDVsMapping(pclPresentationFicheRdv,pclPresentRDVGroupe,Vrai,Faux, +sIDRdv) alors +renvoyer Faux +fin +si pas EnregistrerContactRdv(sIDRdv, pclPresentListeContactRDV, +pclPresentationFicheRdv.m_nIDGroupe) alors +renvoyer Faux +fin +// Annuler +cas 0 +renvoyer Faux +fin +fin +sinon +selon QuestionRDV(Faux, +"Le rendez-vous a été créé sur plusieurs jours, que vous souhaitez modifier ?", +pclPresentationFicheRdv.m_nIDGroupeDate) +// Pour tous les rendez-vous +cas 1 +si pas ReqModifInfoGeneralRDV(pclPresentationFicheRdv,0,pclPresentationFicheRdv. +m_nIDGroupeDate, Faux) renvoyer Faux +pour i= 1 _à_ pclPresentRDVGroupe.m_clTabModele.Occurrence() +si pclPresentRDVGroupe.m_clTabModele[i].m_bNouveau et pclPresentRDVGroupe. +m_clTabModele[i].m_nPKID <= 0 alors +// Parfois ca crée un rendez vous avec le mème collaborateur +b = TableauCherche(pclPresentRDVGroupe.m_clTabModele,tcLinéaire,"m_nPKID", +pclPresentRDVGroupe.m_clTabModele[i].m_nPKID,1) +si b = i alors +c = i+1 +si pclPresentRDVGroupe.m_clTabModele.Occurrence() > c alors +si pclPresentRDVGroupe.m_clTabModele[i].m_nPKID <> pclPresentRDVGroupe. +m_clTabModele[c].m_nPKID alors +AjoutCollaborateurGroupeRDV(pclPresentationFicheRdv, +pclPresentRDVGroupe.m_clTabModele[i].m_nIDCollaborateur) +fin +sinon +AjoutCollaborateurGroupeRDV(pclPresentationFicheRdv,pclPresentRDVGroupe. +m_clTabModele[i].m_nIDCollaborateur) +fin +fin +fin +fin +si pas ReqModifContactRDV(pclPresentationFicheRdv,pclPresentListeContactRDV,Faux,Vrai,Faux +) renvoyer Faux +// Uniquement cette occurrence +cas 2 +si pas EnregistrerRDVsMapping(pclPresentationFicheRdv,pclPresentRDVGroupe,Faux,Faux,sIDRdv +) alors +renvoyer Faux +fin +si pas EnregistrerContactRdv(sIDRdv, pclPresentListeContactRDV, pclPresentationFicheRdv. +m_nIDGroupe) alors +renvoyer Faux +fin +06/08/2026 Isis_BO 6186 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +// Annuler +cas 0 +renvoyer Faux +fin +fin +renvoyer Vrai +Procédure globale MotClesTraitementdeTexteRemplace +// Résumé : +// Syntaxe : +//MotClesTraitementdeTexteRemplace ( est champ, est STJSONListTerme, + est objet dynamique, est tableau) +// +// Paramètres : +// ChpTraitementTexte (champ) : +// unTerme (STJSONListTerme) : +// objDyn (objet dynamique) : +// tabDyn (tableau) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sTermeRecherche (chaîne ANSI) : +procédure MotClesTraitementdeTexteRemplace(ChpTraitementTexte est un Champ, unTerme est un +STJSONListTerme, objDyn est objet dynamique, tabDyn est un tableau dynamique) +si tabDyn<>Null _et_ tabDyn..Occurrence>0 alors +objDyn = tabDyn[1] +fin +si objDyn<>Null alors +selon unTerme:Type +cas "ChpSimpleChaine" : DocRemplace(ChpTraitementTexte, unTerme:Rubrique, {objDyn,unTerme: +Membre},MotComplet+SansCasse) +cas "ChpSimpleRTF" : DocRemplace(ChpTraitementTexte, unTerme:Rubrique, RTFVersTexte({ +objDyn,unTerme:Membre}),MotComplet+SansCasse) +cas "ChpSimpleDate" : DocRemplace(ChpTraitementTexte, unTerme:Rubrique, DateVersChaîne({ +objDyn,unTerme:Membre},"JJ/MM/AAAA"),MotComplet+SansCasse) +cas "ChpSimpleDateHeure": DocRemplace(ChpTraitementTexte, unTerme:Rubrique, DateVersChaîne({ +objDyn,unTerme:Membre},"JJ/MM/AAAA HH:mm"),MotComplet+SansCasse) +cas "ChpSimpleReel" : DocRemplace(ChpTraitementTexte, unTerme:Rubrique, +NumériqueVersChaîne({objDyn,unTerme:Membre}),MotComplet+SansCasse) +cas "ChpSimpleBooleen" : DocRemplace(ChpTraitementTexte, unTerme:Rubrique, {objDyn,unTerme: +Membre}=1 ? "Oui" sinon "Non",MotComplet+SansCasse) +cas "ChpCombo" : DocRemplace(ChpTraitementTexte, unTerme:Rubrique, DonneValeurCombo( +objDyn,unTerme),MotComplet+SansCasse) +cas "ChpImage" : uneImageVersTraitementdeTexte(ChpTraitementTexte,unTerme,unTerme: +Rubrique,objDyn) +fin +fin +Procédure globale nElementVersTraitementdeTexte +// Résumé : +// Syntaxe : +//nElementVersTraitementdeTexte ( est tableau, est STJSONListeMembre, + est champ, est chaîne) +// +06/08/2026 Isis_BO 6187 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +// Paramètres : +// tabDyn (tableau) : +// stMembre (STJSONListeMembre) : +// ChpTraitementTexte (champ) : +// sTermeRecherche (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// nTour (entier) : +procédure nElementVersTraitementdeTexte(tabDyn est un tableau dynamique, stMembre est un +STJSONListeMembre, ChpTraitementTexte est un Champ, sTermeRecherche est une chaîne) +si tabDyn..Occurrence=0 alors retour +tabFragments est tableau de docFragments +//Recherche du terme dans le document +tabFragments = DocRecherche(ChpTraitementTexte, sTermeRecherche,MotComplet+SansCasse) +//nMaxFrag est un entier = tabFragments..Occurrence +iMax est un entier +//Il y a au moins un trouvé +si tabFragments..Occurrence >= 1 alors +pour j = 1 _à_ tabFragments..Occurrence +si tabFragments[j].Elément..Occurrence=0 alors break +iMax = tabDyn..Occurrence-1 +pour i = 1 _à_ tabDyn..Occurrence +si i=1 alors +sinon +fin +selon stMembre:TypeMembre +cas "ChpImage" : +si i=1 alors +DocInsère(tabFragments[j],TT_DonneElementImage(tabDyn[i],stMembre,54.9* +NBPixelesXMilimetres)) +sinon +DocInsère(ChpTraitementTexte,ChpTraitementTexte..Curseur,TT_DonneElementImage +(tabDyn[i],stMembre,54.9*NBPixelesXMilimetres)) +//DocInsère(ChpTraitementTexte,tabFragments[j]..PositionFin+1,TT_DonneElement +Image(tabDyn[i],stMembre,54.9*3.7795275591)) +fin +autre cas : +si i=1 alors +DocInsère(tabFragments[j],TT_DonneElementTexte(DonneTexteTypeMembreMotCles( +tabDyn[i],stMembre.TypeMembre,stMembre:Membre))) +sinon +DocInsère(ChpTraitementTexte,ChpTraitementTexte..Curseur,TT_DonneElementTexte +(RC+DonneTexteTypeMembreMotCles(tabDyn[i],stMembre.TypeMembre,stMembre:Membre +))) +fin +fin +fin +fin +fin +Procédure globale ObjetIdentique +06/08/2026 Isis_BO 6188 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +procédure ObjetIdentique(pclObjetCompare1 est un objet dynamique,bufModeleSource est un Buffer< +utile>) +renvoyer Faux +// +//bufModeleCourant est un buffer +// +//Sérialise(pclObjetCompare1,bufModeleCourant,psdBinaire) +// +//SI bufModeleCourant=bufModeleSource ALORS +// RENVOYER Vrai +//SINON +// RENVOYER Faux +//FIN +Procédure globale OuvreSessionEmail +// Résumé : +// Syntaxe : +//[ = ] OuvreSessionEmail ( est entier, est chaîne, est chaîne, + est chaîne, est chaîne, est entier) +// +// Paramètres : +// nMode (entier) : +// sLogin (chaîne ANSI) : +// sMdp (chaîne ANSI) : +// sAdresseServeur (chaîne ANSI) : +// sPortServeur (chaîne ANSI) : +// nCryptage (entier) : +// Valeur de retour : +// multi-valeur : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure OuvreSessionEmail(local nMode est un entier, local sLogin est une chaîne, local sMdp est une +chaîne, local sAdresseServeur est une chaîne,local sPortServeur est une chaîne, local nCryptage est un +entier) +bResultat est un booléen +EmailChangeTimeOut(10) +//1=IMAP +//2=POP3 +//3=SMTP +selon nMode +cas 1 : bResultat = EmailOuvreSessionIMAP(sLogin, sMdp, sAdresseServeur, Val(sPortServeur), +nCryptage=1 ? emailOptionDéfaut sinon nCryptage=2 ? emailOptionSécuriséTLS sinon optionSSL) +cas 2 : bResultat = EmailOuvreSessionPOP3(sLogin, sMdp, sAdresseServeur, Val(sPortServeur), +nCryptage=1 ? emailOptionDéfaut sinon nCryptage=2 ? emailOptionSécuriséTLS sinon optionSSL) +cas 3 : bResultat = EmailOuvreSessionSMTP(sLogin, sMdp, sAdresseServeur, Val(sPortServeur), Faux, +nCryptage=1 ? emailOptionDéfaut sinon nCryptage=2 ? emailOptionSécuriséTLS sinon optionSSL) +fin +sMsg est une chaîne +si ErreurDétectée() alors +sMsg = ErreurInfo(errComplet) +bResultat = Faux +fin +renvoyer (bResultat,sMsg) +Procédure globale ParametreEcrit +procédure ParametreEcrit(sCodeParametre est une chaîne,sValeur est une chaîne,bCrypte est un booléen= +Faux,sDescription est une chaîne="") +06/08/2026 Isis_BO 6189 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +si pas HLitRecherchePremier(ParametreApplication,PAP_Code,sCodeParametre) alors +HRAZ(ParametreApplication) +ParametreApplication.PAP_Code=sCodeParametre +ParametreApplication.PAP_Description=sDescription +sinon +si sDescription<>"" alors +ParametreApplication.PAP_Description=sDescription +fin +fin +si bCrypte alors +ParametreApplication.PAP_Valeur=CrypteParametre(sValeur) +sinon +ParametreApplication.PAP_Valeur=sValeur +fin +HEnregistre(ParametreApplication) +Procédure globale ParametreLit +procédure ParametreLit(sCodeParametre est une chaîne,sValeurParDefaut est une chaîne="",bCrypte est un +booléen=Faux,sDescription est une chaîne="") +si pas HLitRecherchePremier(ParametreApplication,PAP_Code,sCodeParametre) alors +HRAZ(ParametreApplication) +ParametreApplication.PAP_Code=sCodeParametre +ParametreApplication.PAP_Description=sDescription +si bCrypte alors +ParametreApplication.PAP_Valeur=CrypteParametre(sValeurParDefaut) +sinon +ParametreApplication.PAP_Valeur=sValeurParDefaut +fin +HAjoute(ParametreApplication) +fin +si bCrypte alors +renvoyer DecrypteParametre(ParametreApplication.PAP_Valeur) +sinon +renvoyer ParametreApplication.PAP_Valeur +fin +Procédure globale ParametreSupprime +procédure ParametreSupprime(sCodeParametre est une chaîne) +//Supprime un paramètre de la base +si HLitRecherchePremier(ParametreApplication,PAP_Code,sCodeParametre) alors +HSupprime(ParametreMetier) +fin +Procédure globale ParametreSystemeEcrit +procédure ParametreSystemeEcrit(sCodeParametre est une chaîne,sValeur est une chaîne,bCrypte est un +booléen=Faux,sDescription est une chaîne="") +si pas HLitRecherchePremier(ParametreSysteme,PAS_Code,sCodeParametre) alors +HRAZ(ParametreSysteme) +ParametreSysteme.PAS_Code=sCodeParametre +ParametreSysteme.PAS_Description=sDescription +sinon +si sDescription<>"" alors +ParametreSysteme.PAS_Description=sDescription +fin +06/08/2026 Isis_BO 6190 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +fin +si bCrypte alors +ParametreSysteme.PAS_Valeur=CrypteParametre(sValeur) +sinon +ParametreSysteme.PAS_Valeur=sValeur +fin +HEnregistre(ParametreSysteme) +Procédure globale ParametreSystemeLit +procédure ParametreSystemeLit(sCodeParametre est une chaîne,sValeurParDefaut est une chaîne="",bCrypte +est un booléen=Faux,sDescription est une chaîne="") +si pas HLitRecherchePremier(ParametreSysteme,PAS_Code,sCodeParametre) alors +HRAZ(ParametreSysteme) +ParametreSysteme.PAS_Code=sCodeParametre +ParametreSysteme.PAS_Description=sDescription +si bCrypte alors +ParametreSysteme.PAS_Valeur=CrypteParametre(sValeurParDefaut) +sinon +ParametreSysteme.PAS_Valeur=sValeurParDefaut +fin +HAjoute(ParametreSysteme) +fin +si bCrypte alors +renvoyer DecrypteParametre(ParametreSysteme.PAS_Valeur) +sinon +renvoyer ParametreSysteme.PAS_Valeur +fin +Procédure globale PassServiceMobile +procédure PassServiceMobile(cnxLaConnexion est une Connexion) +bufMDP est un Buffer =Crypte("APart_"+cnxLaConnexion..BaseDeDonnées ,gsCleMdp,crypteRC516,encodePCS) +renvoyer bufMDP +Procédure globale PlanningRempliObjRDV +procédure PlanningRempliObjRDV(unRdv est un RendezVous, sdRDVs est un Source de Données, gstPrefUserAGD +est un ST_ChoixAGD) +nPosColb est un entier +si gpclListeTOUTCollab <> Null _et_ gpclListeTOUTCollab.m_clTabModele..Occurrence > 0 alors +nPosColb = TableauCherche(gpclListeTOUTCollab.m_clTabModele,tcLinéaire,"m_nPKID",sdRDVs. +PL_IDCollaborateur,1) +fin +si nPosColb > 0 alors +unRdv.Note = gpclListeTOUTCollab:m_clTabModele[nPosColb].NomPrenom +fin +unRdv.DateDébut = sdRDVs.PL_DateDebut +unRdv.DateFin = sdRDVs.PL_DateFin +unRdv.ID = sdRDVs.PL_PKID +06/08/2026 Isis_BO 6191 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +scouleur est une chaîne ANSI = DonneCouleurRDV(sdRDVs.PL_IDTypeActivite) +sEtatCouleur est une chaîne ANSI = DonneEtatRDV(sdRDVs.PL_IDStatut) +unRdv.Catégorie = sEtatCouleur +unRdv.CouleurFond= scouleur +si sdRDVs.PL_IdGroupe > 0 alors +"Utilitaire" et Configuration<>"SLAMM_RecupHeures"> +unRdv..Image=fExtraitChemin(FEN_Menu.IMG_Lien, fFichier + fExtension) + +sinon +unRdv..Image="" +fin +unRdv.Titre = "" +pour tout stChoix de gstPrefUserAGD.tabTitreRDV +selon stChoix.saOption +cas cAGD_HRDV +si DateValide(sdRDVs.PL_DateDebut..PartieDate) et DateValide(sdRDVs.PL_DateFin..PartieDate +) alors +unRdv.Titre += [RC]+HeureVersChaîne(sdRDVs.PL_DateDebut..PartieHeure,"HH:mm")+" - "+ +HeureVersChaîne(sdRDVs.PL_DateFin..PartieHeure,"HH:mm") +fin +autre cas +unRdv.Titre += [RC]+{sdRDVs+"."+stChoix.saOption} +fin +fin +unRdv.Contenu = "" +pour tout stChoix de gstPrefUserAGD.tabDescrRDV +selon stChoix.saOption +cas cAGD_HRDV +si DateValide(sdRDVs.PL_DateDebut..PartieDate) et DateValide(sdRDVs.PL_DateFin..PartieDate +) alors +unRdv.Contenu += [RC]+HeureVersChaîne(sdRDVs.PL_DateDebut..PartieHeure,"HH:mm")+" - "+ +HeureVersChaîne(sdRDVs.PL_DateFin..PartieHeure,"HH:mm") +fin +autre cas +unRdv.Contenu += [RC]+{sdRDVs+"."+stChoix.saOption} +fin +fin +unRdv.Bulle = "" +pour tout stChoix de gstPrefUserAGD.tabBulleRDV +selon stChoix.saOption +cas cAGD_HRDV +si DateValide(sdRDVs.PL_DateDebut..PartieDate) et DateValide(sdRDVs.PL_DateFin..PartieDate +) alors +unRdv.Bulle += [RC]+HeureVersChaîne(sdRDVs.PL_DateDebut..PartieHeure,"HH:mm")+" - "+ +HeureVersChaîne(sdRDVs.PL_DateFin..PartieHeure,"HH:mm") +fin +autre cas +unRdv.Bulle += [RC]+{sdRDVs+"."+stChoix.saOption} +fin +fin +Procédure globale PlanningRqSQL +procédure PlanningRqSQL(gstPrefUserAGD est un ST_ChoixAGD,tabIdsColb est un tableau d'entiers sur 8 +octets,dhDateDeb est une DateHeure,dhDateFin est une DateHeure, local nIdRdv est un entier sur 8 +octets = 0) +06/08/2026 Isis_BO 6192 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +bInter , bSite, bAdresse, bContact, bTypeRDV sont des booléens +pour tout stChoix de gstPrefUserAGD.tabTitreRDV +selon stChoix.saOption +cas cAGD_NDevis, cAGD_NInter,cAGD_RefExtInter +bInter = Vrai +cas cAGD_SiteNom +bSite = Vrai +cas cAGD_Site +bSite = Vrai +bAdresse = Vrai +cas cAGD_Contact +bContact = Vrai +cas cAGD_TypeRDV +bTypeRDV = Vrai +autre cas +fin +fin +pour tout stChoix de gstPrefUserAGD.tabDescrRDV +selon stChoix.saOption +cas cAGD_NDevis, cAGD_NInter,cAGD_RefExtInter +bInter = Vrai +cas cAGD_SiteNom +bSite = Vrai +cas cAGD_Site +bSite = Vrai +bAdresse = Vrai +cas cAGD_Contact +bContact = Vrai +cas cAGD_TypeRDV +bTypeRDV = Vrai +autre cas +fin +fin +pour tout stChoix de gstPrefUserAGD.tabBulleRDV +selon stChoix.saOption +cas cAGD_NDevis, cAGD_NInter,cAGD_RefExtInter +bInter = Vrai +cas cAGD_SiteNom +bSite = Vrai +cas cAGD_Site +bSite = Vrai +bAdresse = Vrai +cas cAGD_Contact +bContact = Vrai +cas cAGD_TypeRDV +bTypeRDV = Vrai +autre cas +fin +fin +nIDStatutNonPlan est un entier sur 8 octets = gpclListeStatutRendezVous. +RechercheEtDonneIdDepuisValeur(99) +sSelect est une chaîne ANSI = +"SELECT PL_IDCollaborateur,PL_DateDebut, PL_DateFin, PL_Objet, PL_Description, PL_PKID, +PL_IDTypeActivite,PL_IDStatut,PL_IDGroupe " +sFrom est une chaîne ANSI = " FROM Planning_RDV " +sWhere est une chaîne ANSI = " WHERE Planning_RDV.Archive=0 " +06/08/2026 Isis_BO 6193 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +sWhere += " AND Planning_RDV.PL_IDCollaborateur IN ("+TableauVersChaîne(tabIdsColb,",")+") " +sWhere += " AND (Planning_RDV.PL_DateDebut BETWEEN '"+dhDateDeb+"' AND '"+dhDateFin+"')" +sWhere += " AND Planning_RDV.PL_IDStatut<>"+nIDStatutNonPlan +si nIdRdv > 0 alors +sWhere += " AND Planning_RDV.PL_PKID="+nIdRdv +fin +//sWhere += " ORDER BY PL_PKID" +sGroupBy est une chaîne ANSI = +" GROUP BY PL_IDCollaborateur,PL_DateDebut, PL_DateFin, PL_Objet, PL_Description, PL_PKID, +PL_IDTypeActivite,PL_IDStatut,PL_IDGroupe " +si bInter alors +sSelect += ",IN_NumDevis, IN_RefInterne, IN_RefExterne" +sFrom += " LEFT OUTER JOIN Intervention on (IN_PKID = PL_IDIntervention) " +sGroupBy += ",IN_NumDevis, IN_RefInterne, IN_RefExterne" +fin +si bSite alors +sSelect += " ,LI_CodeLieu as SiteNom" +sFrom += " LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Planning_RDV.PL_IDLieu) " +sGroupBy += ",SiteNom" +si bAdresse alors +sSelect += +",CONCAT(AD_Ligne_4, ' ',AD_Ligne_5, ' ',AD_Ligne_2, ' ',AD_Ligne_3, ' ',AD_Ligne_1, ' ', +AD_CodePostal, ' ',AD_Ville) AS Site" +sFrom += " LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) " +sGroupBy += ",Site" +fin +fin +si bContact alors +sSelect += +",GROUP_CONCAT( CONCAT(personne.PE_Nom, ' ', Personne.PE_Prenom) SEPARATOR ' ; ' ) as Contact" +sFrom += +" LEFT OUTER JOIN Planning_RDV_Personne ON (Planning_RDV_Personne.PRP_IDRdv = Planning_RDV.PL_PKID) +" +sFrom += +" LEFT OUTER JOIN Personne ON (Personne.PE_PKID=Planning_RDV_Personne.PRP_IDPersonne) " +fin +si bTypeRDV alors +sSelect += ",PA_Libelle as TypeRDV " +sFrom += +" LEFT OUTER JOIN ParametreMetier ON (ParametreMetier.PA_PKID=Planning_RDV.PL_IDTypeActivite) " +sGroupBy += ",TypeRDV" +fin +sRqSql est une chaîne ANSI = sSelect+sFrom+sWhere+sGroupBy +renvoyer sRqSql +Procédure globale PreferenceCouleurSoc +procédure PreferenceCouleurSoc(sType est une chaîne ANSI, local nIdSoc est un entier sur 8 octets) +bContinuer est un booléen +nCouleur est un entier +stParametreSoc est un ST_Param_Societe +06/08/2026 Isis_BO 6194 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +sValeur, sPref sont des chaînes ANSI +si gpclFicheUtilisateurEnCours <> Null _et_ gpclFicheUtilisateurEnCours:m_nPKID > 0 _et_ gpcl +FicheUtilisateurEnCours:ListeParametreUtilisateur <> Null alors +nIndice est un entier=TableauCherche(gpclFicheUtilisateurEnCours:ListeParametreUtilisateur. +m_clTabModele,tcLinéaire,"m_nIDUtilisateur;m_sCode",gpclFicheUtilisateurEnCours:m_nPKID, +c_NomParamTrieInter) +si nIndice>0 alors +sValeur = gpclFicheUtilisateurEnCours:ListeParametreUtilisateur.m_clTabModele[nIndice].m_s +Valeur +fin +fin +si sValeur <> "" alors +nCouleur= Val(ExtraitChaîne(sValeur,3,"_",DepuisDébut)) +fin +si nCouleur > 0 et nCouleur <> 4 alors +si (nCouleur = C_ParTexte ou nCouleur = C_ParTexIcon) et sType = c_CouleurSociete alors +bContinuer = Vrai +fin +si (nCouleur = C_ParIcone ou nCouleur = C_ParTexIcon) et sType = c_CouleurIconeSoc alors +bContinuer = Vrai +fin +fin +si gpclListeSociete <> Null _et_ nIdSoc > 0 et bContinuer alors +nIndice est un entier = TableauCherche(gpclListeSociete:m_clTabModele,tcLinéaire,"m_nPKID",nIdSoc,1 +) +si nIndice>0 alors +si gpclListeSociete:m_clTabModele[nIndice]:m_sParametres <> "" alors +Désérialise(stParametreSoc,gpclListeSociete:m_clTabModele[nIndice]:m_sParametres,psdJSON) +fin +fin +si stParametreSoc:sCouleur <> "" alors +selon sType +cas c_CouleurSociete +sPref = stParametreSoc:sCouleur +cas c_CouleurIconeSoc +sPref = "FEN_Menu.IMG_Cercle_"+stParametreSoc:sCouleur +autre cas +fin +fin +fin +renvoyer sPref +Procédure globale PreferenceOngletInter +procédure PreferenceOngletInter(sType est une chaîne ANSI, local pclPresentationFiche est un +PFicheIntervention dynamique) +stParametreSoc est un ST_Param_Societe +sPref sont des chaînes ANSI +si pclPresentationFiche:m_nIDSociete > 0 alors +nIndice est un entier = TableauCherche(gpclListeSociete:m_clTabModele,tcLinéaire,"m_nPKID", +pclPresentationFiche:m_nIDSociete,1) +si nIndice>0 alors +si gpclListeSociete:m_clTabModele[nIndice]:m_sParametres <> "" alors +Désérialise(stParametreSoc,gpclListeSociete:m_clTabModele[nIndice]:m_sParametres,psdJSON) +06/08/2026 Isis_BO 6195 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +fin +fin +si stParametreSoc:sCouleur <> "" alors +selon sType +cas c_CouleurSociete +sPref = stParametreSoc:sCouleur +cas c_CouleurIconeSoc +sPref = "FEN_Menu.IMG_Cercle_"+stParametreSoc:sCouleur +autre cas +fin +fin +fin +renvoyer sPref +Procédure globale PreferenceOngletInter1 +procédure PreferenceOngletInter1(sType est une chaîne ANSI, local pclPresentationFiche est un +MIntervention dynamique) +stParametreSoc est un ST_Param_Societe +sPref sont des chaînes ANSI +//SI sValeur <> "" ALORS +// nCouleur= Val(ExtraitChaîne(sValeur,3,"_",DepuisDébut)) +//fin +// +//si nCouleur > 0 et nCouleur <> 4 alors +// si (nCouleur = C_ParTexte ou nCouleur = C_ParTexIcon) et sType = c_CouleurSociete alors +// bContinuer = vrai +// FIN +// +// SI (nCouleur = C_ParIcone OU nCouleur = C_ParTexIcon) ET sType = c_CouleurIconeSoc ALORS +// bContinuer = Vrai +// FIN +//FIN +si pclPresentationFiche:m_nIDSociete > 0 alors +nIndice est un entier = TableauCherche(gpclListeSociete:m_clTabModele,tcLinéaire,"m_nPKID", +pclPresentationFiche:m_nIDSociete,1) +si nIndice>0 alors +si gpclListeSociete:m_clTabModele[nIndice]:m_sParametres <> "" alors +Désérialise(stParametreSoc,gpclListeSociete:m_clTabModele[nIndice]:m_sParametres,psdJSON) +fin +fin +si stParametreSoc:sCouleur <> "" alors +selon sType +cas c_CouleurSociete +sPref = stParametreSoc:sCouleur +cas c_CouleurIconeSoc +sPref = "FEN_Menu.IMG_Cercle_"+stParametreSoc:sCouleur +autre cas +fin +fin +fin +renvoyer sPref +Procédure globale PrepareEmail +06/08/2026 Isis_BO 6196 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +// Résumé : +// Syntaxe : +//[ = ] PrepareEmail ( est chaîne, est chaîne, + est chaîne, est chaîne, est chaîne, est +chaîne, est chaîne) +// +// Paramètres : +// sEmailExpediteur (chaîne ANSI) : +// sDestinataire (chaîne ANSI) : +// sDestinataireCC (chaîne ANSI) : +// sDestinataireCCi (chaîne ANSI) : +// sObjet (chaîne ANSI) : +// sMessage (chaîne ANSI) : +// sListeFichiers (chaîne ANSI) : +// Valeur de retour : +// Email : +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// bufSignature (buffer) : +// sDestinataireUser (chaîne ANSI) : +procédure PrepareEmail(local sEmailExpediteur est une chaîne,local sDestinataire est une chaîne,local +sDestinataireCC est une chaîne,local sDestinataireCCi est une chaîne, local sObjet est une chaîne, +local sMessage est une chaîne, local sListeFichiers est une chaîne) +unEmail est un Email +monAttache est un emailAttache +// Initialise les composantes du mail +// L'expéditeur +unEmail..Expéditeur = sEmailExpediteur +// Le destinataire +pour toute chaîne sUnDestinataire de sDestinataire séparée par ";" +Ajoute(unEmail..Destinataire,sUnDestinataire) +fin +// Les destinataires CC +pour toute chaîne sUnDestinataireCC de sDestinataireCC séparée par ";" +Ajoute(unEmail..CC,sUnDestinataireCC) +fin +// Les destinataires CCi +pour toute chaîne sUnDestinataireCCi de sDestinataireCCi séparée par ";" +Ajoute(unEmail..Cci,sUnDestinataireCCi) +fin +// Le sujet +unEmail..Sujet = sObjet +// Le corps du message +unEmail..HTML = sMessage +//Signature +//unEmail..HTML += bufSignature +pour toute chaîne unFichier de sListeFichiers séparée par RC +// Construction de la variable emailAttache +monAttache..Nom = fExtraitChemin(unFichier, fFichier + fExtension) +monAttache..Contenu = fChargeBuffer(unFichier) +// Ajout de la pièce jointe +Ajoute(unEmail..Attache, monAttache) +fin +06/08/2026 Isis_BO 6197 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +renvoyer unEmail +Procédure globale PrepareEmailOutlook +procédure PrepareEmailOutlook(local sDestinataires est une chaîne,local sObjet est une chaîne,local +sCorps est une chaîne, local sListeFichier est une chaîne,local bHTML est un booléen) +outlook est un objet OLE dynamique +EmailOutlook est un objet OLE dynamique +nItem est un entier +nItem = 0 +outlook= allouer un objet OLE "Outlook.Application" +EmailOutlook=outlook>>CreateItem(nItem) +EmailOutlook>>to=sDestinataires +EmailOutlook>>subject=sObjet +si bHTML alors +EmailOutlook>>HTMLbody=sCorps +sinon +EmailOutlook>>body=sCorps +fin +si sListeFichier<>"" alors +pour toute chaîne PJAttacher de sListeFichier séparée par ";" +si fFichierExiste(PJAttacher) alors EmailOutlook>>attachments>>add(PJAttacher) +fin +fin +EmailOutlook>>Display() +libérer EmailOutlook +libérer outlook +Procédure globale QuestionRDV +procédure QuestionRDV(bPlusiersCollaborteur est un booléen, sAQuestion est une chaîne ANSI, +nIdGroupeDate est un entier sur 8 octets, bSupprimer est un booléen = False) +tabFormulaire est un tableau de STQuestionModifRdv +pstQuestion est un STQuestionModifRdv dynamique +dhDateDebut est une DateHeure +dhDateFin est une DateHeure +(dhDateDebut,dhDateFin) = DateDebutFinRDVGroupe(nIdGroupeDate) +TableauSupprimeTout(tabFormulaire) +si bPlusiersCollaborteur alors +pstQuestion = allouer un STQuestionModifRdv +pstQuestion.nValeur = 1 +pstQuestion.sQuestion = "Tous rendez-vous et pour tous les collaborateurs" +TableauAjoute(tabFormulaire,pstQuestion) +pstQuestion = allouer un STQuestionModifRdv +pstQuestion.nValeur = 2 +pstQuestion.sQuestion = "Uniquement cette occurrence et pour tous les collaborateurs" +TableauAjoute(tabFormulaire,pstQuestion) +pstQuestion = allouer un STQuestionModifRdv +pstQuestion.nValeur = 3 +pstQuestion.sQuestion = "Uniquement cette occurrence et ce collaborateur" +si pas bSupprimer alors +pstQuestion.sQuestion+=" (Le RDV sera dissocié des autres RDV collaborateurs)" +fin +TableauAjoute(tabFormulaire,pstQuestion) +06/08/2026 Isis_BO 6198 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +pstQuestion = allouer un STQuestionModifRdv +pstQuestion.nValeur = 4 +pstQuestion.sQuestion = "Tous rendez-vous et uniquement pour ce collaborateur" +si pas bSupprimer alors +pstQuestion.sQuestion+= " (Le RDV sera dissocié des autres RDV collaborateurs)" +fin +TableauAjoute(tabFormulaire,pstQuestion) +sinon +pstQuestion = allouer un STQuestionModifRdv +pstQuestion.nValeur = 1 +pstQuestion.sQuestion = "Tous les rendez-vous" +TableauAjoute(tabFormulaire,pstQuestion) +pstQuestion = allouer un STQuestionModifRdv +pstQuestion.nValeur = 2 +pstQuestion.sQuestion = "Uniquement cette occurrence" +TableauAjoute(tabFormulaire,pstQuestion) +fin +"Utilitaire" et Configuration<>"SLAMM_RecupHeures"> +renvoyer Ouvre(FEN_Question_Modif_RDV,sAQuestion, dhDateDebut,dhDateFin,tabFormulaire) + +renvoyer Faux + +Procédure globale RechercheInfoParSite +// Résumé : +// Syntaxe : +//RechercheInfoParSite ( est entier sur 8 octets, est chaîne) +// +// Paramètres : +// n8IDLieu (entier sur 8 octets) : +// sCodeLieu (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RechercheInfoParSite(n8IDLieu est un entier sur 8 octets,sCodeLieu est une chaîne ANSI ) +//Chargement liste des Dossiers +pclListeRechercheDossier est une PTableDossier dynamique +pclListeRechercheDossier=PTableDossier.gNouvellePresentation(4,n8IDLieu) +//Chargement liste des Interventions trouvées +pclListeRechercheIntervention est une PTableIntervention dynamique +pclListeRechercheIntervention=PTableIntervention.gNouvellePresentation(5,n8IDLieu) +nCompteur est un entier +nCompteur=pclListeRechercheDossier.m_clTabModele..Occurrence+pclListeRechercheIntervention. +m_clTabModele..Occurrence +si nCompteur=1 ou pclListeRechercheDossier.m_clTabModele..Occurrence = 1 alors +si pclListeRechercheDossier.m_clTabModele..Occurrence=1 alors +//Trace(DateHeureSys()+" :Dbl clic liste des dossiers rech global unique") +pclListeRechercheDossier.p_clCourant=pclListeRechercheDossier.m_clTabModele[1] +06/08/2026 Isis_BO 6199 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +clPresentationFiche est un PFicheDossier<-pclListeRechercheDossier.Modifier() +ToastAffiche(gPoliceTaille(10)+" Résultat de la recherche des dossier avec le site : "+ +sCodeLieu,toastLong,cvMilieu,chCentre,Noir) +"Utilitaire" et Configuration<>"SLAMM_RecupHeures"> +FEN_Menu.OuvreOuActive(FI_Fiche_Dossier,"Fiche Dossier",*,clPresentationFiche) + +fin +si pclListeRechercheIntervention.m_clTabModele..Occurrence=1 alors +//Trace(DateHeureSys()+" :Dbl clic liste des interventions rech global unique") +pclListeRechercheIntervention.p_clCourant=pclListeRechercheIntervention.m_clTabModele[1] +nIdInter est un entier sur 8 octets =pclListeRechercheIntervention. +p_clCourant.m_nPKID +pclPresentationListeDossier est une PTableDossier dynamique +pclPresentationListeDossier=PTableDossier.gNouvellePresentation(0,pclListeRechercheIntervention +.p_clCourant.m_nIDDossier) +si pclPresentationListeDossier.m_clTabModele..Occurrence<>0 alors +clFicheDossier est un PFicheDossier (pclPresentationListeDossier.m_clTabModele[ +1]) +stParametreFenInterneest un STParamFenetreAppelante +stParametreFenInterne.eTypeAppel = DansOnglet +stParametreFenInterne.sNomFenetreAppelante = "FI_ResultatsRecherche" +stParametreFenInterne.sNomIDAppelant = pclListeRechercheIntervention.p_clCourant. +m_nPKID +stParametreFenInterne.sTitreFenetre = "Fiche Dossier Intervention" +stParametreFenInterne.pclObjetAppelant = clFicheDossier +ToastAffiche(gPoliceTaille(10)+" Résultat de la recherche de l'intervention : "+ +clFicheDossier.m_sRefInterne,toastLong,cvMilieu,chCentre,Noir) +"Utilitaire" et Configuration<>"SLAMM_RecupHeures"> +FEN_Menu.OuvreOuActive(FI_Fiche_Dossier,"Fiche Dossier",Vrai,clFicheDossier, +stParametreFenInterne) + +sinon +Info("Aucun dossier lié à cette intervention") +fin +fin +sinon +//Chargement liste des site trouvés +pclListeRechercheSite est une PTableLieu dynamique +pclListeRechercheSite=PTableLieu.gNouvellePresentation(5,n8IDLieu) +//Chargement liste des Clients trouvés +pclListeRechercheClient est une PTableClient dynamique +pclListeRechercheClient=PTableClient.gNouvellePresentation(3,n8IDLieu) +//Chargement liste des Contacts trouvés +pclListeRechercheContact est une PTablePersonne dynamique +pclListeRechercheContact=PTablePersonne.gNouvellePresentation(4,n8IDLieu) +"Utilitaire" et Configuration<>"SLAMM_RecupHeures"> +FEN_Menu.OuvreOuActive(FI_ResultatsRecherche,"Recherche",*,sCodeLieu, +pclListeRechercheIntervention,pclListeRechercheSite,pclListeRechercheClient, +pclListeRechercheContact,pclListeRechercheDossier,sCodeLieu) + +fin +Procédure globale RechercheInfoRdv +// Résumé : +// Syntaxe : +//[ = ] RechercheInfoRdv ( est tableau) +// +06/08/2026 Isis_BO 6200 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +// Paramètres : +// tabRdvs (tableau) : +// Valeur de retour : +// multi-valeur : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RechercheInfoRdv(tabRdvs est un tableau de MRdv) +saIdsInfoInter est une chaîne ANSI +saIdsPlanning est une chaîne ANSI +sAIdsLieu est une chaîne ANSI +i,b,c est un entier +sdReqSQL1,sdReqSQL2,sdReqSQL3 est une Source de Données +sAReq1,sAReq2,saReq3 est une chaîne ANSI +taInfoIntervention est un tableau associatif de stInfoIntervention +taPlanning est un tableau associatif de PTablePlanning_RDV_Personne dynamique +taLieu est un tableau associatif de PTableLieu dynamique +stInter est une stInfoIntervention +//Recherche la reference et le numéro de devis des intervention +pour tout pclRdv de tabRdvs +si pclRdv.m_bArchive=Faux alors +si pclRdv.m_nIDIntervention<>0 alors +i+=1 +saIdsInfoInter += pclRdv.m_nIDIntervention +si tabRdvs..Occurrence <> i alors +saIdsInfoInter += "," +fin +fin +si pclRdv.m_nPKID > 0 alors +b+= 1 +saIdsPlanning += pclRdv.m_nPKID +si tabRdvs..Occurrence <> b alors +saIdsPlanning += "," +fin +fin +si pclRdv.m_nIDLieu > 0 alors +c+= 1 +sAIdsLieu += pclRdv.m_nIDLieu +si tabRdvs..Occurrence <> c alors +sAIdsLieu += "," +fin +fin +fin +fin +si Taille(saIdsInfoInter) > 0 alors +si saIdsInfoInter[Taille(saIdsInfoInter)] = "," alors +saIdsInfoInter = Gauche(saIdsInfoInter,Taille(saIdsInfoInter)-1) +fin +sAReq1 = [ +SELECT Intervention.IN_PKID, Intervention.IN_NumDevis, Intervention.IN_RefInterne FROM +Intervention WHERE Intervention.IN_PKID IN %1 +] +sAReq1 = ChaîneConstruit(sAReq1, "("+saIdsInfoInter+")") +si HExécuteRequêteSQL(sdReqSQL1,hRequêteDéfaut, sAReq1) alors +pour tout sdReqSQL1 +stInter = allouer un stInfoIntervention +stInter:idIntervention = sdReqSQL1.IN_PKID +stInter:saDevis = sdReqSQL1.IN_NumDevis +stInter:saIntervention = sdReqSQL1.IN_RefInterne +06/08/2026 Isis_BO 6201 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +taInfoIntervention[stInter:idIntervention] = stInter +fin +HLibèreRequête(sdReqSQL1) +fin +fin +si Taille(saIdsPlanning) > 0 alors +si saIdsPlanning[Taille(saIdsPlanning)] = "," alors +saIdsPlanning = Gauche(saIdsPlanning,Taille(saIdsPlanning)-1) +fin +taPclPlanning est un tableau associatif de MTableauDePlanning_RDV_Personne +clPlanningRdvPersonne est un MTableauDePlanning_RDV_Personne dynamique +sAReq2 = +[ +SELECT Planning_RDV_Personne.*,Personne.* +FROM Planning_RDV_Personne +INNER JOIN Personne ON (Personne.PE_PKID=Planning_RDV_Personne.PRP_IDPersonne) +WHERE Planning_RDV_Personne.PRP_IDRdv IN %1 AND Planning_RDV_Personne.Archive=0 +] +sAReq2 = ChaîneConstruit(sAReq2, "("+saIdsPlanning+")") +// exécution de la requête +si HExécuteRequêteSQL(sdReqSQL2,hRequêteDéfaut, sAReq2) alors +// charge les enregistrements en mémoire +pour tout sdReqSQL2 +clModele est un MPlanning_RDV_Personne +clModele.Charger(sdReqSQL2) +clModele.m_clPersonne.Charger(sdReqSQL2) +si pas taPclPlanning[sdReqSQL2.PRP_IDRdv]..Existe alors +clPlanningRdvPersonne = allouer un MTableauDePlanning_RDV_Personne +taPclPlanning[sdReqSQL2.PRP_IDRdv] = clPlanningRdvPersonne +fin +TableauAjoute(taPclPlanning[sdReqSQL2.PRP_IDRdv]:m_clTabModele ,clModele) +fin +fin +pour tout pl, saCle de taPclPlanning +clPresentation est un PTablePlanning_RDV_Personne(pl) +taPlanning[saCle] = clPresentation +fin +fin +si Taille(sAIdsLieu) > 0 alors +si sAIdsLieu[Taille(sAIdsLieu)] = "," alors +sAIdsLieu = Gauche(sAIdsLieu,Taille(sAIdsLieu)-1) +fin +taTableauLieu est un tableau associatif de MTableauDeLieu +pclModeleLieu est un MTableauDeLieu dynamique +saReq3 = +[ +SELECT TOP 1000 Lieu.*,Adresse.* +FROM Lieu +LEFT OUTER JOIN Adresse ON Adresse.AD_PKID=Lieu.LI_IDAdresse +WHERE Lieu.LI_PKID IN %1 +] +saReq3 = ChaîneConstruit(saReq3, "("+sAIdsLieu+")") +// exécution de la requête +06/08/2026 Isis_BO 6202 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +si HExécuteRequêteSQL(sdReqSQL3,hRequêteDéfaut, saReq3) alors +// charge les enregistrements en mémoire +pour tout sdReqSQL3 +clModele est un MLieu +clModele.Charger(sdReqSQL3) +clModele:m_clAdresse:Charger(sdReqSQL3) +si pas taTableauLieu[sdReqSQL3.LI_PKID]..Existe alors +pclModeleLieu = allouer un MTableauDeLieu +taTableauLieu[sdReqSQL3.LI_PKID] = pclModeleLieu +fin +TableauAjoute(taTableauLieu[sdReqSQL3.LI_PKID]:m_clTabModele ,clModele) +fin +fin +pour tout Tlieu, saCle de taTableauLieu +clLieuRDV est une PTableLieu(Tlieu) +taLieu[saCle] = clLieuRDV +fin +fin +renvoyer (taInfoIntervention, taPlanning,taLieu) +Procédure globale ReqModifContactRDV +procédure ReqModifContactRDV(pclPresentationFicheRdv est une PFicheRdv dynamique, +pclPresentListeContactRDV est un PTablePlanning_RDV_Personne dynamique,bGroupe est un booléen, +bGroupeDate est un booléen, bCollaborateur est un booléen) +saComplReq est une chaîne ANSI = "" +saReq est une chaîne ANSI = "" +sIdRdvs est une chaîne ANSI = "" +nIdPersonne est un entier sur 8 octets +nIdRdv est un entier sur 8 octets +nIdGroupe est un entier sur 8 octets +saReq = [ +SELECT PL_PKID,PL_IDGroupe FROM Planning_RDV +] +si bGroupeDate alors +saComplReq = " WHERE Planning_RDV.PL_IdGroupeDate = "+ pclPresentationFicheRdv.m_nIDGroupeDate +si bCollaborateur alors +saComplReq += " AND Planning_RDV.PL_IDCollaborateur = "+ pclPresentationFicheRdv.m_nPKID +fin +sinon +saComplReq = " WHERE Planning_RDV.PL_IDCollaborateur = "+ pclPresentationFicheRdv.m_nPKID +fin +si bGroupe alors +saComplReq += " AND PL_IDGroupe = "+pclPresentationFicheRdv.m_nIDGroupe +fin +saComplReq += " AND Planning_RDV.Archive=0 AND PL_IDDossier =" + pclPresentationFicheRdv.m_nIDDossier + +" AND PL_IDIntervention = " +pclPresentationFicheRdv.m_nIDIntervention +saComplReq += " AND PL_IDTypeActivite ="+ pclPresentationFicheRdv.m_nIDTypeActivite + +" AND PL_IDSociete = " + pclPresentationFicheRdv.m_nIDSociete +06/08/2026 Isis_BO 6203 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +saReq += saComplReq +sdPKIDs est une Source de Données +si pas HExécuteRequêteSQL(sdPKIDs,hRequêteDéfaut,saReq) alors +Erreur("Une erreur s'est produite, les contacts des rendez-vous n'ont pas pu être modifiés" + RC + +HErreurInfo()) +renvoyer Faux +sinon +saComplReq = "" +saReq = [ +INSERT INTO Planning_RDV_Personne (PRP_IDPersonne,PRP_IDRdv,PRP_IDGroupeRDV ) VALUES +] +pour tout sdPKIDs +si Val(sIdRdvs) > 0 alors +sIdRdvs += ","+sdPKIDs.PL_PKID +sinon +sIdRdvs += sdPKIDs.PL_PKID +fin +si pclPresentListeContactRDV.p_nTotal <>0 alors +pour n=1 _à_ pclPresentListeContactRDV.p_nTotal +//Boucle sur l'ensemble des Rdv (Si +sieurs collab) +si pclPresentListeContactRDV.m_clTabModele[n].m_nIDPersonne > 0 et sdPKIDs.PL_PKID > 0 +alors +nIdPersonne = pclPresentListeContactRDV.m_clTabModele[n].m_nIDPersonne +nIdRdv = sdPKIDs.PL_PKID +nIdGroupe = sdPKIDs.PL_IDGroupe > 0 ? sdPKIDs.PL_IDGroupe sinon 0 +saComplReq += "("+nIdPersonne+","+nIdRdv+","+nIdGroupe+")," +fin +fin +fin +fin +si Val(sIdRdvs) > 0 alors +sAReq2 est une chaîne ANSI = +"DELETE FROM Planning_RDV_Personne WHERE Planning_RDV_Personne.PRP_IDRdv IN (" + sIdRdvs + ")" +sdSp est une Source de Données +si pas HExécuteRequêteSQL(sdSp,hVérifieIntégrité+hVérifieDoublon,sAReq2) alors +Erreur( +"Une erreur s'est produite, les contacts des rendez-vous n'ont pas pu être modifiés" + RC ++ HErreurInfo()) +renvoyer Faux +fin +fin +si saComplReq <> "" alors +saComplReq = Gauche(saComplReq,(Taille(saComplReq)-1)) +saReq += saComplReq +sdContact est une Source de Données +si pas HExécuteRequêteSQL(sdContact,hVérifieDoublon+hVérifieIntégrité,saReq) alors +Erreur( +"Une erreur s'est produite, les contacts des rendez-vous n'ont pas pu être modifiés" + RC ++ HErreurInfo()) +renvoyer Faux +fin +fin +fin +renvoyer Vrai +06/08/2026 Isis_BO 6204 +Procédure globale ReqModifierDateRDV + +Partie 7 › Collection de procédures › COL_COMMUN › Code +procédure ReqModifierDateRDV(pclPresentationFicheRdv est une PFicheRdv dynamique, bCollaborateur est un + booléen) +| sDateD est une chaîne ANSI | | = "" | | | +| -------------------------- | ------ | ---- | --- | --- | +| sDateF est une chaîne ANSI | | = "" | | | +| bOk est un booléen | = Faux | | | | +(sDateD, sDateF) = DateDebutFinRDVGroupe(pclPresentationFicheRdv.m_nIDGroupeDate) +si Val(sDateD) <= 0 et Val(sDateF) <= 0 alors +Erreur("Une erreur s'est produite, l'heure des rendez-vous n'ont pas pu être modifiés" + RC + +HErreurInfo()) +renvoyer Faux +fin +| dhDateDebut | est une DateHeure | = sDateD | | | +| ----------- | ------------------ | -------- | --- | --- | +| dhDateFin | est une DateHeure | = sDateF | | | +HD est une Heure = Droite(pclPresentationFicheRdv.m_dhDateDebut,9) +HF est une Heure = Droite(pclPresentationFicheRdv.m_dhDateFin,9) +| saComplReq | est une chaîne ANSI | = "" | | | +| ---------- | ------------------- | ---- | --- | --- | +| saReq | est une chaîne ANSI | = "" | | | +| i | est un entier | = 0 | | | +sDateD = "" +sDateF = "" +boucle +i += 1 +bOk = (dhDateDebut.PartieDate <= dhDateFin.PartieDate) +si bOk alors +sDateD = Gauche(dhDateDebut,8)+HD +sDateF = Gauche(dhDateFin,8)+HF +si HD > HF alors +| | DateFin2 | est une DateHeure = dhDateDebut | | | +| --- | -------- | ------------------------------- | --- | --- | +DateFin2..Jour += 1 +DateFin2..PartieHeure = HF +| | MaDurée | est une Durée | = DateFin2 - dhDateDebut | | +| --- | ------- | ------------- | --------------------------------- | --- | +| | nNbRdvs | est un entier | = PartieEntière(MaDurée..EnJours) | | +si nNbRdvs <= 0 alors +sDateF = Gauche(DateFin2,8)+HF +fin +fin +fin +bOk = (sDateF <= dhDateFin.PartieDate) +si bOk alors +saComplReq = "UPDATE Planning_RDV SET PL_DateDebut = '" + sDateD +"', PL_DateFin = '" + sDateF+ +"'" +| saComplReq += " ,ModifDate = " | | | + "'"+DateHeureSys()+"'" | | +| ------------------------------- | --- | --- | ------------------------ | --- | +saComplReq += " ,ModifUser = " + gpclFicheUtilisateurEnCours:m_nPKID +si bCollaborateur alors +saComplReq += ", PL_IDGroupe = 0" +fin +saComplReq += " WHERE PL_IDGroupedate = " + pclPresentationFicheRdv.m_nIDGroupeDate +saComplReq += " AND PL_DateDebut LIKE '"+Gauche(dhDateDebut,8)+"%' AND PL_Datefin LIKE '"+ +Gauche(dhDateFin,8)+"%'" +si bCollaborateur alors +saComplReq += " AND PL_IDCollaborateur = " + pclPresentationFicheRdv.m_nIDCollaborateur +sinon +saComplReq += " AND PL_IDGroupe <> " + 0 +fin +saComplReq += " AND Planning_RDV.Archive=0 AND PL_IDDossier =" + pclPresentationFicheRdv. +| 06/08/2026 | | | Isis_BO | 6205 | +| ---------- | --- | --- | ------- | ---- | + +Partie 7 › Collection de procédures › COL_COMMUN › Code +m_nIDDossier + " AND PL_IDIntervention = " +pclPresentationFicheRdv.m_nIDIntervention +saComplReq += " AND PL_IDTypeActivite ="+ pclPresentationFicheRdv.m_nIDTypeActivite + +" AND PL_IDSociete = " + pclPresentationFicheRdv.m_nIDSociete +sinon +sortir +fin +dhDateDebut.Jour++ +saReq += saComplReq +"; " +fin +si saReq <> "" et pclPresentationFicheRdv.m_nIDGroupeDate > 0 alors +sdSDRDV est une Source de Données +si pas HExécuteRequêteSQL(sdSDRDV,hVérifieDoublon+hVérifieIntégrité,saReq) alors +Erreur("Une erreur s'est produite, l'heure des rendez-vous n'ont pas pu être modifiés" + RC + +HErreurInfo()) +renvoyer Faux +fin +fin +renvoyer Vrai +Procédure globale ReqModifInfoGeneralRDV +procédure ReqModifInfoGeneralRDV(pclPresentationFicheRdv est une PFicheRdv dynamique, nIdGroupe est un +entier sur 8 octets, nIdGroupeDate est un entier sur 8 octets, bDate est un booléen) +si nIdGroupeDate > 0 alors +saComplReq est une chaîne ANSI = "" +//nModifDate est un entier sur 8 octets = DateHeureSys() +saReq est une chaîne ANSI = [ +UPDATE Planning_RDV +SET +] +saComplReq += " PL_IDSociete = " +saComplReq += pclPresentationFicheRdv.m_nIDSociete > 0 ? pclPresentationFicheRdv.m_nIDSociete +sinon 0 +saComplReq += " ,PL_IDEquipe = " +saComplReq += pclPresentationFicheRdv.m_nIDEquipe > 0 ? pclPresentationFicheRdv.m_nIDEquipe sinon +0 +saComplReq += " ,PL_IDDossier = " +saComplReq += pclPresentationFicheRdv.m_nIDDossier > 0 ? pclPresentationFicheRdv.m_nIDDossier +sinon 0 +saComplReq += " ,PL_IDIntervention = " +saComplReq += pclPresentationFicheRdv.m_nIDIntervention > 0 ? pclPresentationFicheRdv. +m_nIDIntervention sinon 0 +saComplReq += " ,PL_IDTypeActivite = " +saComplReq += pclPresentationFicheRdv.m_nIDTypeActivite > 0 ? pclPresentationFicheRdv. +m_nIDTypeActivite sinon 0 +saComplReq += " ,PL_IDStatut = " +saComplReq += pclPresentationFicheRdv.m_nIDStatut > 0 ? pclPresentationFicheRdv.m_nIDStatut sinon +0 +saComplReq += " ,PL_Objet = " +saComplReq += pclPresentationFicheRdv.m_sObjet <> "" ? "'"+StrSQL(pclPresentationFicheRdv.m_sObjet) ++"'" sinon "''" +06/08/2026 Isis_BO 6206 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +saComplReq += " ,PL_Description = " +saComplReq += pclPresentationFicheRdv.m_sDescription <> "" ? "'"+ StrSQL(pclPresentationFicheRdv. +m_sDescription)+"'" sinon "''" +si bDate alors +saComplReq += " ,PL_DateDebut = " +saComplReq += pclPresentationFicheRdv.m_dhDateDebut <> "" ? "'"+pclPresentationFicheRdv. +m_dhDateDebut+"'" sinon "'"+00000000000000+"'" +saComplReq += " ,PL_DateFin = " +saComplReq += pclPresentationFicheRdv.m_dhDateFin <> "" ? "'"+pclPresentationFicheRdv. +m_dhDateFin+"'" sinon "'"+00000000000000+"'" +fin +saComplReq += " ,PL_Superposable = " + pclPresentationFicheRdv.m_bSuperposable +saComplReq += " ,PL_Prive = " + pclPresentationFicheRdv.m_bPrive +// saComplReq += " ,Archive = " + pclPresentationFicheRdv.m_bArchive +// saComplReq += " ,DateArchivage = " + "'"+pclPresentationFicheRdv.m_dhDateArchivage+"'" +saComplReq += " ,ModifDate = " + "'"+DateHeureSys()+"'" +saComplReq += " ,ModifUser = " + gpclFicheUtilisateurEnCours:m_nPKID +saComplReq += " ,PL_IDPersonne = " +saComplReq += pclPresentationFicheRdv.m_nIDPersonne > 0 ? pclPresentationFicheRdv.m_nIDPersonne +sinon 0 +saComplReq += " ,PL_IDLieu = " +saComplReq += pclPresentationFicheRdv.m_nIDLieu > 0 ? pclPresentationFicheRdv.m_nIDLieu sinon 0 +saComplReq += " ,PL_SAV = " +saComplReq += pclPresentationFicheRdv.m_bSAV +saComplReq += " ,PL_RappelSMS = " +saComplReq += pclPresentationFicheRdv.m_bRappelSMS +si pclPresentationFicheRdv:NB_RDV() <= 0 alors +// si il n'y a pas de plusieurs RDV on prendre l'info affiche dans la fiche +saComplReq += " ,PL_CR = " +saComplReq += pclPresentationFicheRdv.m_bCR +fin +saComplReq += " WHERE PL_IdGroupeDate = "+nIdGroupeDate +si nIdGroupe > 0 alors +saComplReq += " AND PL_IdGroupe = "+nIdGroupe +fin +saComplReq += " AND Archive = 0" +saReq += saComplReq +si nIdGroupeDate > 0 alors +sdSDRDV est une Source de Données +si pas HExécuteRequêteSQL(sdSDRDV,hVérifieDoublon+hVérifieIntégrité,saReq) alors +Erreur("Une erreur s'est produite, les rendez-vous n'ont pas pu être modifiés" + RC + +HErreurInfo()) +renvoyer Faux +fin +renvoyer Vrai +fin +renvoyer Vrai +sinon +renvoyer Faux +fin +Procédure globale ReqSupprimerRDV +procédure ReqSupprimerRDV(nIdGroupeDate, nIdGroupe,nIdCollaborateur, nIdRdv est un entier sur 8 octets) +reqTemp est une Requête SQL = +[ +SELECT SUM(SDT_NbMinutes) AS TotalMin FROM SuiviDesTemps +INNER JOIN Planning_RDV ON PL_PKID = SuiviDesTemps.SDT_IDRdv +06/08/2026 Isis_BO 6207 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +WHERE PL_IdGroupeDate = {p_groupeDate} AND PL_IDGroupe = {p_Groupe} AND PL_PKID = {p_IdRDV} AND +PL_IDCollaborateur = {p_IdClb} +] +si nIdGroupeDate > 0 et nIdCollaborateur <= 0 et nIdGroupe <= 0 alors +reqTemp.p_groupeDate = nIdGroupeDate +sinon si nIdGroupe > 0 et nIdCollaborateur <= 0 alors +reqTemp.p_Groupe = nIdGroupe +sinon si nIdCollaborateur > 0 et nIdGroupeDate > 0 alors +reqTemp.p_groupeDate = nIdGroupeDate +reqTemp.p_IdClb = nIdCollaborateur +sinon si nIdRdv > 0 alors +reqTemp.p_IdRDV = nIdRdv +fin +si pas HExécuteRequête(reqTemp) alors +Erreur("Une erreur s'est produite" + RC + HErreurInfo()) +sinon +si reqTemp.TotalMin > 0 alors +Info( +"Impossible de supprimer le rendez-vous, le temps d'intervention a été saisie, veuillez effacer +le temps avant de supprimer le rendez-vous" +) +renvoyer Faux +fin +fin +sReq ,sComplReq est une chaîne ANSI +sReq = "UPDATE Planning_RDV SET PL_IDGroupedate = 0, PL_IDGroupe = 0, Archive = 1" +sReq += ",DateArchivage = '"+DateHeureSys()+"'" +sReq += ",ModifDate = '"+DateHeureSys()+"'" +sReq += ",ModifUser = "+gpclFicheUtilisateurEnCours.m_nPKID +si nIdGroupeDate > 0 et nIdCollaborateur <= 0 et nIdGroupe <= 0 alors +sComplReq = " WHERE PL_IDGroupedate = " + nIdGroupeDate +sinon si nIdGroupe > 0 et nIdCollaborateur <= 0 alors +sComplReq = " WHERE PL_IDGroupe = " + nIdGroupe +sinon si nIdCollaborateur > 0 et nIdGroupeDate > 0 alors +sComplReq = " WHERE PL_IDGroupedate = " + nIdGroupeDate + " AND PL_IDCollaborateur ="+ +nIdCollaborateur +sinon si nIdRdv > 0 alors +sComplReq = " WHERE PL_PKID = "+ nIdRdv +fin +si sComplReq.Taille() > 10 alors +sComplReq += " AND Archive = 0" +sReq += sComplReq +sdSDRDV est une Source de Données +si pas HExécuteRequêteSQL(sdSDRDV,hVérifieDoublon+hVérifieIntégrité,sReq) alors +Erreur("Une erreur s'est produite, les rendez-vous n'ont pas pu être supprimés" + RC + +HErreurInfo()) +renvoyer Faux +fin +sinon +renvoyer Faux +fin +renvoyer Vrai +Procédure globale StrSQL +06/08/2026 Isis_BO 6208 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +// Résumé : +// Syntaxe : +//[ = ] StrSQL ( est chaîne) +// +// Paramètres : +// S (chaîne ANSI) : +// Valeur de retour : +// chaîne ANSI : +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure StrSQL(local S est une chaîne) +Sloc est une chaîne +Sloc=Remplace(S,"'","''") //remplace le ' par '' +renvoyer Sloc +Procédure globale SupprimerLienGroupeRDV +procédure SupprimerLienGroupeRDV(pclPresentationFicheRdv est une PFicheRdv dynamique, bGroupe est un +booléen) +si bGroupe et pclPresentationFicheRdv.m_nIDGroupe > 0 et pclPresentationFicheRdv.m_nIDGroupeDate > 0 +alors +saComplReq est une chaîne ANSI = "" +saReq est une chaîne ANSI = [ +UPDATE Planning_RDV +SET PL_IDGroupe = 0 +] +saComplReq += " ,ModifDate = " + "'"+DateHeureSys()+"'" +saComplReq += " ,ModifUser = " + gpclFicheUtilisateurEnCours:m_nPKID +saComplReq += " WHERE PL_IdGroupeDate = " + pclPresentationFicheRdv.m_nIDGroupeDate +saComplReq += " AND PL_IdGroupe = " + pclPresentationFicheRdv.m_nIDGroupe +saComplReq += " AND Planning_RDV.Archive=0 AND PL_IDDossier =" + pclPresentationFicheRdv. +m_nIDDossier + " AND PL_IDIntervention = " +pclPresentationFicheRdv.m_nIDIntervention +saComplReq += " AND PL_IDTypeActivite ="+ pclPresentationFicheRdv.m_nIDTypeActivite + +" AND PL_IDSociete = " + pclPresentationFicheRdv.m_nIDSociete +saReq += saComplReq +sdSDRDV est une Source de Données +si pas HExécuteRequêteSQL(sdSDRDV,hRequêteDéfaut,saReq) alors +Erreur("Une erreur s'est produite, les rendez-vous n'ont pas pu être modifiés" + RC + +HErreurInfo()) +fin +sinon +si pclPresentationFicheRdv.m_nIDCollaborateur > 0 et pclPresentationFicheRdv.m_nIDGroupeDate > 0 +alors +saComplReq est une chaîne ANSI = "" +saReq est une chaîne ANSI = [ +UPDATE Planning_RDV +SET PL_IDGroupe = 0 +] +saComplReq += " ,ModifDate = " + "'"+DateHeureSys()+"'" +saComplReq += " ,ModifUser = " + gpclFicheUtilisateurEnCours:m_nPKID +saComplReq += " WHERE PL_IdGroupeDate = " + pclPresentationFicheRdv.m_nIDGroupeDate +saComplReq += " AND PL_IDCollaborateur = " + pclPresentationFicheRdv.m_nIDCollaborateur +saComplReq += " AND Planning_RDV.Archive=0 AND PL_IDDossier =" + pclPresentationFicheRdv. +m_nIDDossier + " AND PL_IDIntervention = " +pclPresentationFicheRdv.m_nIDIntervention +saComplReq += " AND PL_IDTypeActivite ="+ pclPresentationFicheRdv.m_nIDTypeActivite + +06/08/2026 Isis_BO 6209 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +" AND PL_IDSociete = " + pclPresentationFicheRdv.m_nIDSociete +saReq += saComplReq +sdSDRDV est une Source de Données +si pas HExécuteRequêteSQL(sdSDRDV,hRequêteDéfaut,saReq) alors +Erreur("Une erreur s'est produite, les rendez-vous n'ont pas pu être modifiés" + RC + +HErreurInfo()) +fin +fin +fin +renvoyer Vrai +Procédure globale SupprimerRC +procédure SupprimerRC(sChaineModifier est une chaîne) +renvoyer Remplace(sChaineModifier,RC," ") +Procédure globale SupprimerRdv +procédure SupprimerRdv(nIdRdv est un entier sur 8 octets, bDepuisFiche est un booléen = False, +bDepuisInter est un booléen = Faux) +nIdGroupeDate est un entier sur 8 octets +nIdGroupe est un entier sur 8 octets +nIdCollaborateur est un entier sur 8 octets +HLitRecherchePremier(Planning_RDV,PL_PKID,nIdRdv) +si HTrouve(Planning_RDV) alors +si Planning_RDV.PL_IdGroupeDate > 0 ou Planning_RDV.PL_IDGroupe > 0 alors +nIdGroupeDate = Planning_RDV.PL_IdGroupeDate +nIdGroupe = Planning_RDV.PL_IDGroupe +nIdCollaborateur = Planning_RDV.PL_IDCollaborateur +sinon +nTemp est un entier +HLitRecherchePremier(SuiviDesTemps,SDT_IDRdv,nIdRdv) +tantque HTrouve(SuiviDesTemps) +nTemp += SuiviDesTemps.SDT_NbMinutes +HLitSuivant(SuiviDesTemps) +fin +si nTemp > 0 alors +Info( +"Impossible de supprimer le rendez-vous, le temps d'intervention a été saisie, veuillez +effacer le temps avant de supprimer le rendez-vous" +) +renvoyer Faux +fin +si OuiNon(Non, +"Voulez-vous vraiment supprimer ce rendez-vous pour ce collaborateur de la base de données ?")= +Non alors +renvoyer Faux +sinon +Planning_RDV.Archive = Vrai +Planning_RDV.DateArchivage = DateHeureSys() +Planning_RDV.ModifDate = DateHeureSys() +Planning_RDV.ModifUser = gpclFicheUtilisateurEnCours.m_nPKID +06/08/2026 Isis_BO 6210 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +Planning_RDV.PL_IdGroupeDate = 0 +Planning_RDV.PL_IDGroupe = 0 +si pas HModifie(Planning_RDV) alors +Erreur("Le rendez-vous n'a pas pu être supprimé."+RC+HErreurInfo()) +renvoyer Faux +fin +renvoyer Vrai +fin +fin +sinon +Erreur( +"Le rendez-vous n'a pas pu être supprimé, aucune occurrence n'a été trouvée dans la base de +données." +) +renvoyer Faux +fin +si bDepuisFiche alors +sQuestion est une chaîne ANSI +si nIdGroupe > 0 alors +sQuestion = +"Ce rendez-vous est lié à d'autres collaborateurs, quels rendez-vous souhaitez-vous supprimer +pour ce collaborateur ?" +sinon +sQuestion = +"Le rendez-vous a été créé en plusieurs jours, quels rendez-vous souhaitez-vous supprimer pour +ce collaborateur ?" +fin +selon QuestionRDV(Faux,sQuestion,nIdGroupeDate,Vrai) +// Pour tous les rendez-vous +cas 1 +si nIdGroupeDate > 0 alors +renvoyer ReqSupprimerRDV(nIdGroupeDate,0,nIdCollaborateur,0) +sinon +renvoyer ReqSupprimerRDV(0,0,0,nIdRdv) +fin +// Uniquement cette occurrence +cas 2 +renvoyer ReqSupprimerRDV(0,0,0,nIdRdv) +// Annuler +cas 0 +renvoyer Faux +fin +fin +si nIdGroupeDate > 0 alors +si nIdGroupe > 0 alors +selon QuestionRDV(Vrai, +"Le rendez-vous a été créé en plusieurs jours et est lié à d'autres collaborateurs, quels +rendez-vous souhaitez-vous supprimer ?" +,nIdGroupeDate,Vrai) +// Pour tous rendez-vous et pour tous les collaborateurs. +cas 1 +renvoyer ReqSupprimerRDV(nIdGroupeDate,0,0,0) +06/08/2026 Isis_BO 6211 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +// Uniquement cette occurrence et pour tous les collaborateurs +cas 2 +renvoyer ReqSupprimerRDV(0,nIdGroupe,0,0) +// Uniquement cette occurrence et ce collaborateur +cas 3 +renvoyer ReqSupprimerRDV(0,0,0,nIdRdv) +// Pour tous rendez-vous et uniquement pour ce collaborateur +cas 4 +renvoyer ReqSupprimerRDV(nIdGroupeDate,0,nIdCollaborateur,0) +// Annuler +cas 0 +renvoyer Faux +fin +sinon +selon QuestionRDV(Faux, +"Le rendez-vous a été créé en plusieurs jours, quels rendez-vous souhaitez-vous supprimer ?", +nIdGroupeDate,Vrai) +// Pour tous les rendez-vous +cas 1 +renvoyer ReqSupprimerRDV(nIdGroupeDate,0,0,0) +// Uniquement cette occurrence +cas 2 +renvoyer ReqSupprimerRDV(0,0,0,nIdRdv) +// Annuler +cas 0 +renvoyer Faux +fin +fin +sinon si nIdGroupe > 0 +si bDepuisInter alors +si OuiNon(Non, +"Ce rendez-vous est lié à plusieurs collaborateurs, souhaitez-vous supprimer les +rendez-vous de la base de données ?" +)=Non alors +renvoyer Faux +fin +renvoyer ReqSupprimerRDV(0,nIdGroupe,0,0) // Supprimer Tous les RDV liés +sinon +selon Dialogue( +"Ce rendez-vous est lié à d'autres collaborateurs, souhaitez-vous supprimer ce rendez-vous +à l'ensemble des collaborateurs liés ?" +) +// Supprimer Tous les RDV liés +cas 1 +renvoyer ReqSupprimerRDV(0,nIdGroupe,0,0) +//Supprime uniquement l'occurence +cas 2 +renvoyer ReqSupprimerRDV(0,0,0,nIdRdv) +// Annule suppression +cas 3 +renvoyer Faux +fin +fin +06/08/2026 Isis_BO 6212 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +fin +renvoyer Vrai +Procédure globale tableauVersTraitementdeTexte +// Résumé : +// Syntaxe : +//tableauVersTraitementdeTexte ( est tableau, est tableau, +est champ, est chaîne) +// +// Paramètres : +// tabDyn (tableau) : +// ptabFormat (tableau) : +// ChpTraitementTexte (champ) : +// sTermeRecherche (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// vRub (variant) : +// tabFragments (tableau) : +procédure tableauVersTraitementdeTexte( tabDyn est un tableau dynamique, ptabFormat est un tableau +dynamique, ChpTraitementTexte est un Champ, sTermeRecherche est une chaîne) +tabFragments est tableau de docFragments +nCptCol est un entier =2 +//Recherche du terme dans le document +tabFragments = DocRecherche(ChpTraitementTexte, sTermeRecherche,MotComplet+SansCasse) +//Il y a au moins un trouvé +si tabFragments..Occurrence >= 1 alors +pour j = 1 _à_ tabFragments..Occurrence +nPos est un entier +//Efface le terme dans le document +DocRemplace(ChpTraitementTexte, sTermeRecherche, "",MotComplet+SansCasse) +// Positionnement du curseur au début du premier terme trouvé +ChpTraitementTexte..Curseur = tabFragments[1]..PositionDébut +//Récupère la position de début du terme trouvé +nPos = tabFragments[1]..PositionDébut +nCptCol=ptabFormat..Occurrence +// Insère un tableau dans le document avec 2 colonnes et le nombre de lignes nécessaires +DocInsèreTableau(ChpTraitementTexte,nPos,nCptCol,tabDyn..Occurrence+1) +// Définition d'un fragment correspondant au tableau +f est un docFragment(ChpTraitementTexte..Valeur, nPos+1, ChpTraitementTexte..Curseur) +soit para <- f..Paragraphe[1] +si para..Tableau<>Null alors +// Est ce bien ce tableau trouvé où l'on écrit les données +si para..PositionDébut=nPos+1 alors +//gColCustom est un docParagraphe +//gColCustom.ModeLargeur=docModeLargeurAutomatique +// para..Tableau.Colonnes=gColCustom +//Boucle sur l'ensemble des colonnes +pour nColonne = 1 _à_ nCptCol +para..Tableau..Cellules[1,nColonne]..Contenu..Texte=ptabFormat[nColonne]:Nom +06/08/2026 Isis_BO 6213 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +//para..Tableau..Cellules[1,nColonne]..Contenu.. +para..Tableau..Colonnes[nColonne]..LargeurMillimètres= ptabFormat[nColonne]: +LargeurCol +// Remplissage de toutes les lignes de cette colonne +pour nLigne = 1 _à_ tabDyn..Occurrence +//para..Tableau..Cellules[nLigne+1,nColonne]..Contenu..Texte={tabDyn[nLigne], +ptabFormat[nColonne]:sObjet} +selon ptabFormat[nColonne]:TypeMembre +cas "ChpSimpleChaine" : para..Tableau..Cellules[nLigne+1,nColonne].. +Contenu..Texte={tabDyn[nLigne],ptabFormat[nColonne]:Membre} +cas "ChpSimpleRTF" : para..Tableau..Cellules[nLigne+1,nColonne].. +Contenu..Texte=RTFVersTexte({tabDyn[nLigne],ptabFormat[nColonne]:Membre}) +cas "ChpSimpleDate" : para..Tableau..Cellules[nLigne+1,nColonne].. +Contenu..Texte=DateVersChaîne({tabDyn[nLigne],ptabFormat[nColonne]:Membre +},"JJ/MM/AAAA") +cas "ChpSimpleDateHeure": para..Tableau..Cellules[nLigne+1,nColonne].. +Contenu..Texte=DateVersChaîne({tabDyn[nLigne],ptabFormat[nColonne]:Membre +},"JJ/MM/AAAA HH:mm") +cas "ChpSimpleReel" : para..Tableau..Cellules[nLigne+1,nColonne].. +Contenu..Texte=NumériqueVersChaîne({tabDyn[nLigne],ptabFormat[nColonne]: +Membre}) +cas "ChpSimpleBooleen" : para..Tableau..Cellules[nLigne+1,nColonne].. +Contenu..Texte={tabDyn[nLigne],ptabFormat[nColonne]:Membre}=1 ? "Oui" +sinon "Non" +fin +fin +//para..Tableau..Cellules[1,nColonne]..Contenu..Texte="Tel" +fin +// // Remplissage de toutes les lignes de cette colonne +// POUR nLigne = 1 _A_ tabDyn..Occurrence +// +para..Tableau..Cellules[nLigne+1,1]..Contenu..Texte=tabDyn[nLigne]:m_clContact:CiviliteNomPrenom +// +para..Tableau..Cellules[nLigne+1,2]..Contenu..Texte=tabDyn[nLigne]:m_clContact:m_sTelFixe +// FIN +fin +fin +fin +fin +Procédure globale tableauVersTraitementdeTexte_v2 +// Résumé : +// Syntaxe : +//tableauVersTraitementdeTexte_v2 ( est tableau, est STJSONListeMembre, + est champ, est chaîne) +// +// Paramètres : +// tabDyn (tableau) : +// stMembre (STJSONListeMembre) : +// ChpTraitementTexte (champ) : +// sTermeRecherche (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +06/08/2026 Isis_BO 6214 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// vRub (variant) : +// tabFragments (tableau) : +procédure tableauVersTraitementdeTexte_v2( tabDyn est un tableau dynamique, stMembre est un +STJSONListeMembre, ChpTraitementTexte est un Champ, sTermeRecherche est une chaîne) +si tabDyn..Occurrence=0 alors retour +tabFragments est tableau de docFragments +nCptCol est un entier =2 +//Recherche du terme dans le document +tabFragments = DocRecherche(ChpTraitementTexte, sTermeRecherche,MotComplet+SansCasse) +nColonne est un entier +nLigne est un entier +//Il y a au moins un trouvé +si tabFragments..Occurrence >= 1 alors +pour j = 1 _à_ tabFragments..Occurrence +si tabFragments[j].Elément..Occurrence=0 alors break +nPos est un entier +//Efface le terme dans le document +//DocRemplace(ChpTraitementTexte, sTermeRecherche, "",MotComplet+SansCasse) +// Positionnement du curseur au début du premier terme trouvé +ChpTraitementTexte..Curseur = tabFragments[1]..PositionDébut +//Récupère la position de début du terme trouvé +nPos = tabFragments[1]..PositionDébut +//nCptCol=ptabFormat..Occurrence +// Insère un tableau dans le document avec 2 colonnes et le nombre de lignes nécessaires +//DocInsèreTableau(ChpTraitementTexte,nPos,nCptCol,tabDyn..Occurrence+1) +// Définition d'un fragment correspondant au tableau +f est un docFragment(ChpTraitementTexte..Valeur, nPos+1, ChpTraitementTexte..Curseur) +soit para <- f..Paragraphe[1] +si para..Tableau<>Null _et_ para..PositionDébut=nPos alors +nColonne = tabFragments[j].Elément[1].Cellule..IndiceColonne +nLigne = tabFragments[j].Elément[1].Cellule..IndiceLigne +// Est ce bien ce tableau trouvé où l'on écrit les données +//SI ALORS +iMax est un entier +//Il n'y a pas assez de ligne pour tout afficher +si (para..Tableau..Lignes..Occurrence-1) +// Syntaxe : +//tabPhotoVersTraitementdeTexte ( est tableau, est tableau, +est champ, est chaîne) +// +// Paramètres : +// tabDyn (tableau) : +// ptabFormat (tableau) : +// ChpTraitementTexte (champ) : +// sTermeRecherche (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// tabFragments (tableau) : +procédure tabPhotoVersTraitementdeTexte(tabDyn est un tableau dynamique, ptabFormat est un tableau +dynamique, ChpTraitementTexte est un Champ, sTermeRecherche est une chaîne) +tabFragments est tableau de docFragments +tabPhotos est un docTableau +nCptCol est un entier =2 +nCptLig est un entier = ArrondiSupérieur(tabDyn..Occurrence/2)+1 +//Recherche du terme dans le document +tabFragments = DocRecherche(ChpTraitementTexte, sTermeRecherche,MotComplet+SansCasse) +//Il y a au moins un trouvé +si tabFragments..Occurrence >= 1 alors +pour j = 1 _à_ tabFragments..Occurrence +nPos est un entier +//Efface le terme dans le document +DocRemplace(ChpTraitementTexte, sTermeRecherche, "",MotComplet+SansCasse) +// Positionnement du curseur au début du premier terme trouvé +ChpTraitementTexte..Curseur = tabFragments[1]..PositionDébut +//Récupère la position de début du terme trouvé +nPos = tabFragments[1]..PositionDébut +// Insère un tableau dans le document avec 2 colonnes et le nombre de lignes nécessaires +DocInsèreTableau(ChpTraitementTexte,nPos,nCptCol,nCptLig) +06/08/2026 Isis_BO 6216 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +// Définition d'un fragment correspondant au tableau +f est un docFragment(ChpTraitementTexte..Valeur, nPos+1, ChpTraitementTexte..Curseur) +soit para <- f..Paragraphe[1] +si para..Tableau<>Null alors +// Est ce bien ce tableau trouvé où l'on écrit les données +si para..PositionDébut=nPos+1 alors +tabPhotos <- para..Tableau +largPixCol est un réel +//tabElmt est un tableau de docEléments +nColonne est un entier +// Remplissage de toutes les lignes de cette colonne +pour nLigne = 1 _à_ nCptLig//tabDyn..Occurrence +si nLigne>nCptLig alors break +nColonne = 1 +boucle +//docCel est une docCellule = +cell est un docCellule <- tabPhotos..Cellules[nLigne,nColonne] +si nLigne=1 alors +para..Tableau..Colonnes[nColonne]..LargeurMillimètres= ptabFormat[1]: +LargeurCol +elt est un docElément +elt..Type = typeDocElémentTexte +elt..Texte = ptabFormat[1]:Nom +// TableauAjoute(cell.Contenu.Elément,elt) +//tabPhotos..Cellules[nLigne,nColonne]..Contenu = elt +para..Tableau..Cellules[1,nColonne]..Contenu..Text= ptabFormat[1]:Nom +// +insere(tabPhotos..Cellules[nLigne,nColonne]..Contenu..Element,DernierElément) +// +SI TableauAjoute(para..Tableau..Cellules[nLigne,nColonne]..Contenu..Element,elt) ALORS +//// +// FIN +//Millimetre vers Pixel +largPixCol = para..Tableau..Colonnes[1]..LargeurMillimètres* +NBPixelesXMilimetres +sinon +//ind colonne +((indice ligne-2)*Nb colonne total) +nTabDyn est un entier = nColonne +((nLigne-2)*nCptCol) +si nTabDyn>tabDyn..Occurrence alors break +img est une Image={tabDyn[nTabDyn],ptabFormat[1]:Membre} +HauteurImg est un réel = (img..Hauteur*largPixCol)/img..Largeur +dRedimensionne(img,largPixCol,HauteurImg,drHomothétiqueCentré) +//para..Tableau..Cellules[nLigne,nColonne]..Contenu..Text= +ChaîneConstruit("ligne %1 col %2",nLigne,nColonne) +// +Déclaration d'un élément de type Image (à insérer dans le document) +elt est un docElément +elt..Type = typeDocElémentImage +elt..Image..BufferImage = img +elt..Image..Habillage = docHabillageAlignéSurLeTexte +// La taille de l'image est en pixels dans la variable de type Image. +// Cette taille est convertie en mm dans l'élément (unité utilisée dans +un document) +elt..Image..Largeur = img..Largeur * 25.4 / 96.0 +06/08/2026 Isis_BO 6217 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +elt..Image..Hauteur = img..Hauteur * 25.4 / 96.0 +//elt..Cellule = cell +para..Tableau..Cellules[nLigne,nColonne]..Contenu..Text="." +para..Tableau..Cellules[nLigne,nColonne]..Contenu..MiseEnForme.. +PoliceTaille=5 +//elt..Image..X = 0 +//elt..Image..Y = 0 +//tabPhotos..Cellules[nLigne,nColonne]..Contenu = elt +// +nIndiceAdd est un entier = TableauAjoute(para..Tableau..Cellules[nLigne,nColonne]..Contenu..Element,elt +) +// +si TableauAjoute(cell.Contenu.Element,elt) alors +// +para..Tableau..Cellules[nLigne,nColonne]..Contenu..Element[nIndiceAdd] = elt +para..Tableau..Cellules[nLigne,nColonne]..MiseEnPage..Alignement = +chCentre +fin +fin +nColonne +=1 +à faire tantque nColonne=nCptCol +fin +// Parcours les lignes +//para..Cellule..Contenu..Element <- tabElmt +//para..Elément = tabElmt +fin +fin +fin +fin +Procédure globale tabPhotoVersTraitementdeTexte_v2 +// Résumé : +// Syntaxe : +06/08/2026 Isis_BO 6218 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +//tabPhotoVersTraitementdeTexte_v2 ( est tableau, est STJSONListeMembre, + est champ, est chaîne, est entier) +// +// Paramètres : +// tabDyn (tableau) : +// stMembre (STJSONListeMembre) : +// ChpTraitementTexte (champ) : +// sTermeRecherche (chaîne ANSI) : +// nRepetition (entier) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// tabFragments (tableau) : +procédure tabPhotoVersTraitementdeTexte_v2(tabDyn est un tableau dynamique, stMembre est un +STJSONListeMembre, ChpTraitementTexte est un Champ, sTermeRecherche est une chaîne,nRepetition est un +entier) +tabFragments est tableau de docFragments +//tabPhotos est un doctableau +nCptCol est un entier =2 +nCptLig est un entier = ArrondiSupérieur(tabDyn..Occurrence/2)+1 +coeffPixel est un réel = NBPixelesXMilimetres +//Recherche du terme dans le document +tabFragments = DocRecherche(ChpTraitementTexte, sTermeRecherche,MotComplet+SansCasse) +nColonne est un entier +nLigRef est un entier +nLigne est un entier +//Il y a au moins un trouvé +si tabFragments..Occurrence >= 1 alors +pour j = 1 _à_ tabFragments..Occurrence +nPos est un entier +si tabFragments[j].Elément..Occurrence=0 alors break +nColonne = tabFragments[j].Elément[1].Cellule..IndiceColonne +nLigne = tabFragments[j].Elément[1].Cellule..IndiceLigne +nLigRef = nLigne +//Efface le terme dans le document +//DocRemplace(ChpTraitementTexte, sTermeRecherche, "",MotComplet+SansCasse) +// Positionnement du curseur au début du premier terme trouvé +ChpTraitementTexte..Curseur = tabFragments[1]..PositionDébut +//Récupère la position de début du terme trouvé +nPos = tabFragments[1]..PositionDébut +//TraceDébut(trFichier,ComplèteRep(fRepGlobalCommun)+RepertoireIni+["\"] ++"Logs_"+Utilisateur.UT_Login+"_" + DateHeureSys() + " +.txt") +// Définition d'un fragment correspondant au tableau +f est un docFragment(ChpTraitementTexte..Valeur, nPos+1, ChpTraitementTexte..Curseur) +soit para <- f..Paragraphe[1] +si para..Tableau<>Null alors +// Est ce bien ce tableau trouvé où l'on écrit les données +si para..PositionDébut=nPos alors +nCptCol = para..Tableau..Colonnes..Occurrence +nCptLig = ArrondiSupérieur(tabDyn..Occurrence/nCptCol)+1 +nMax est un entier +//Il n'y a pas assez de ligne pour tout afficher +si (para..Tableau..Lignes..Occurrence)0 alors +nColonne = 1 +boucle +para..Tableau..Cellules[nNewLigne,nColonne]..Contenu.Texte = +sMotsCles +para..Tableau..Cellules[nNewLigne,nColonne]..MiseEnPage..Alignement = +chCentre +nColonne +=1 +à faire tantque nColonne=nCptCol +fin +fin +fin +nMax = nCptLig-1 +//Efface le terme dans le document +DocRemplace(ChpTraitementTexte, sTermeRecherche, "",MotComplet+SansCasse) +pour i = 1 _à_ nMax +nColonne = 1 +boucle +nTabDyn est un entier = nColonne +( ( (i+1)-2 )*nCptCol) +//Trace("nColonne="+nColonne+";i="+i+";ncptcol="+nCptCol+";nTabDyn="+nTabDyn) +si nTabDyn<1 _ou_ nTabDyn>tabDyn..Occurrence alors break +nLargeur est un entier = para..Tableau..Colonnes[nColonne].. +LargeurMillimètres +largPixCol est un entier = nLargeur*coeffPixel +cell est un docCellule <- para..Tableau..Cellules[i+1,nColonne] +nPosCelulle est un entier +si nRepetition=1 alors +nPosCelulle=cell.Contenu..PositionDébut +sinon +nPosCelulle=cell.Contenu..PositionDébut+3 +fin +//Insertion d'un tableau à 1 colonne et 1 ligne pour contourner le problème +DocInsèreTableau(ChpTraitementTexte,nPosCelulle,1,1) +selon stMembre:TypeMembre +cas "ChpImage" : ChpTraitementTexte..Curseur =CreationTableau1Cellule( +ChpTraitementTexte,nPosCelulle,nLargeur,TT_DonneElementImage(tabDyn[ +nTabDyn],stMembre,largPixCol)) +autre cas : ChpTraitementTexte..Curseur =CreationTableau1Cellule( +ChpTraitementTexte,nPosCelulle,nLargeur,TT_DonneElementTexte( +DonneTexteTypeMembreMotCles(tabDyn[nTabDyn],stMembre.typemembre,stMembre: +Membre))) +fin +//nPosCelulle=ChpTraitementTexte..Curseur +nColonne +=1 +à faire tantque nColonne=nCptCol +fin +fin +fin +fin +fin +Procédure globale TT_DonneElementImage +// Résumé : +// Syntaxe : +//[ = ] TT_DonneElementImage ( est objet dynamique, est +STJSONListeMembre, est entier) +// +06/08/2026 Isis_BO 6220 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +// Paramètres : +// pclObjDyn (objet dynamique) : +// stMembre (STJSONListeMembre) : +// largPixCol (entier) : +// Valeur de retour : +// docElément : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure TT_DonneElementImage(pclObjDyn est un objet dynamique, stMembre est un STJSONListeMembre, +largPixCol est un entier) +img est une Image={pclObjDyn,stMembre:Membre} +HauteurImg est un réel = (img..Hauteur*largPixCol)/img..Largeur +dRedimensionne(img,largPixCol,HauteurImg,drHomothétiqueCentré) +elt est un docElément +elt..Type = typeDocElémentImage +elt..Image..BufferImage = img +elt..Image..Habillage = docHabillageAlignéSurLeTexte +// La taille de l'image est en pixels dans la variable de type Image. +// Cette taille est convertie en mm dans l'élément (unité utilisée dans un document) +elt..Image..Largeur = img..Largeur * 25.4 / 96.0 +elt..Image..Hauteur = img..Hauteur * 25.4 / 96.0 +renvoyer elt +Procédure globale TT_DonneElementTexte +// Résumé : +// Syntaxe : +//[ = ] TT_DonneElementTexte ( est chaîne) +// +// Paramètres : +// sTexte (chaîne ANSI) : +// Valeur de retour : +// docElément : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// stMembre (STJSONListeMembre) : +// largPixCol (entier) : +procédure TT_DonneElementTexte(sTexte est une chaîne ) +elt est un docElément +elt..Type = typeDocElémentTexte +elt..Texte=sTexte +renvoyer elt +Procédure globale uneImageVersTraitementdeTexte +// Résumé : +// Syntaxe : +//uneImageVersTraitementdeTexte ( est champ, est STJSONListTerme, + est chaîne, est objet dynamique) +// +// Paramètres : +// ChpTraitementTexte (champ) : +06/08/2026 Isis_BO 6221 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +// stUnTerme (STJSONListTerme) : +// sTermeRecherche (chaîne ANSI) : +// objDyn (objet dynamique) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure uneImageVersTraitementdeTexte(ChpTraitementTexte est un Champ, stUnTerme est un +STJSONListTerme, sTermeRecherche est une chaîne,objDyn est objet dynamique) +tabFragments est tableau de docFragments +//Recherche du terme dans le document +tabFragments = DocRecherche(ChpTraitementTexte, sTermeRecherche,MotComplet+SansCasse) +//Il y a au moins un trouvé +si tabFragments..Occurrence >= 1 alors +largPixCol est un entier = 54.9*NBPixelesXMilimetres +pour j = 1 _à_ tabFragments..Occurrence +si tabFragments[j].Elément..Occurrence=0 alors break +img est une Image={objDyn,stUnTerme:Membre} +HauteurImg est un réel = (img..Hauteur*largPixCol)/img..Largeur +dRedimensionne(img,largPixCol,HauteurImg,drHomothétiqueCentré) +elt est un docElément +elt..Type = typeDocElémentImage +elt..Image..BufferImage = img +elt..Image..Habillage = docHabillageAlignéSurLeTexte +// La taille de l'image est en pixels dans la variable de type Image. +// Cette taille est convertie en mm dans l'élément (unité utilisée dans un document) +elt..Image..Largeur = img..Largeur * 25.4 / 96.0 +elt..Image..Hauteur = img..Hauteur * 25.4 / 96.0 +DocInsère(tabFragments[j],elt) +fin +fin +Procédure globale VerifieEmailOuvreSession +// Résumé : +// Syntaxe : +//[ = ] VerifieEmailOuvreSession ( est entier, est chaîne, est +chaîne, est chaîne, est chaîne, est entier) +// +// Paramètres : +// nMode (entier) : +// sLogin (chaîne ANSI) : +// sMdp (chaîne ANSI) : +// sAdresseServeur (chaîne ANSI) : +// sPortServeur (chaîne ANSI) : +// nCryptage (entier) : +// Valeur de retour : +// multi-valeur : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure VerifieEmailOuvreSession(local nMode est un entier, local sLogin est une chaîne, local sMdp +est une chaîne, local sAdresseServeur est une chaîne,local sPortServeur est une chaîne, local nCryptage +est un entier) +bResultat est un booléen +sMsg est une chaîne +06/08/2026 Isis_BO 6222 + +Partie 7 › Collection de procédures › COL_COMMUN › Code +(bResultat,sMsg) = OuvreSessionEmail(nMode,sLogin,sMdp,sAdresseServeur,sPortServeur,nCryptage) +si bResultat alors +EmailFermeSession(sLogin) +fin +renvoyer (bResultat,sMsg) +06/08/2026 Isis_BO 6223 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +COL_CONNEXION +Code +Déclaration de COL_CONNEXION +constante +groupeConnexion = "GROUPE_CONNEXION" +groupeAdminClient= "GROUPE_ADMIN_CLIENT" +groupeUserClient = "GROUPE_USER_CLIENT" +fin +//*****************Structure des variables de connexions******************* +STParamConnexion est une Structure +gnIndiceSection est un entier // Indice de la section du fichier Ini +gnOrdreApparitionest un entier // Ordre d'apparation de la connexion +gsNomLogique est une chaîne // Nom logique donné à la base de données +gsUser est un Buffer // Nom utilisateur BDD +gsMdp est un Buffer // Mot de passe utilisateur BDD +gsServeurBDD est une chaîne // Serveur de base de données +gsAdresseIPServeur est une chaîne // Adresse IP du serveur +gsPortServeur est une chaîne // Port du serveur +gsNomBDD est une chaîne // Nom de la base de données +gsServeurBDDEtBDDest une chaîne +fin +STFichier est une Structure +sNomGroupe est une chaîne +sMdpGroupe est une chaîne +sNomFichier est une chaîne +//bFichierAvecMdp est un booléen +//bFichierExis +fin +ETypeDroit est une Enumération +DroitServeur +DroitBaseDeDonnees +DroitFichier +fin +ETypeGroupe est une Enumération +TypeConnexion +TypeAdminClient +TypeUtilisateur +fin +sMAJStruct est une chaîne=[ +{ +"EtatMAJ": "%1", +"DateMAJ": "%2", +"Version": "%3" +} +] +gsListeConnexion est un tableau de STparamConnexion +gnIndiceConnexionest un entier +gsCleCryptageUserHFSQL est une chaîne +gsConstCryptageUserHFSQL est une chaîne +gsCleDecryptageMotDePasse est une chaîne +gnIdSvgBDD est un entier +gnEtatSvg est entier +gsListeFichier est une chaîne //= HListeFichier() +gtaFichiersBDD est un tableau associatif (SansDoublon, wlChaîne) de STFichier +gtaGroupeFichierBDD est un tableau associatif (SansDoublon, wlChaîne) de chaîne +06/08/2026 Isis_BO 6224 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +gsListeGrpFic est une chaîne=HListePersoDossier() +gsListeLiaison est une chaîne=HListeLiaison("*",hLstDétail)//,*,*,hLstDétail) +pour toute chaîne sUnGroupe de gsListeGrpFic séparée par RC +gtaGroupeFichierBDD[sUnGroupe] = HListeFichier(sUnGroupe) +stUnFichier est STFichier +//sListeFichiersGroupe est une chaine = +stUnFichier.sNomGroupe = sUnGroupe +pour toute chaîne sUnFichier de gtaGroupeFichierBDD[sUnGroupe] séparée par RC +stUnFichier.sNomFichier=sUnFichier +gtaFichiersBDD[sUnFichier] = stUnFichier +gsListeFichier += sUnFichier+RC +fin +fin +gsListeFichier = ChaîneSupprime(gsListeFichier,Position(gsListeFichier,RC,0,DepuisFin),2) +gcnxLaConnexionPrec est une Connexion +Procédure globale AffecteMdpFichier +// Résumé : +// Syntaxe : +// AffecteMdpFichier () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AffecteMdpFichier(sListeDesErreurs est une chaîne) +//Boucle sur le tableau associatif des fichiers +pour tout élément stProprieteFichier,sNomUnFichier de gtaFichiersBDD +//La fixation du mot de passe à échouer +si pas HPasse(sNomUnFichier,stProprieteFichier.sMdpGroupe)alors sListeDesErreurs += [RC] + "- +Echec de fixation du mot de passe du fichier <" + sNomUnFichier + "> : " + HErreurInfo() +fin +Procédure globale AjouteGroupeHFSQL +procédure AjouteGroupeHFSQL(cnxLaConnexion est une Connexion,local sNomGroupe est une chaîne) +HRAZGroupe() +HGroupe.Nom = sNomGroupe +renvoyer HAjouteGroupe(cnxLaConnexion) +Procédure globale AjouteOuModifieUserHFSQL +// Résumé : Méthode qui permet d'ajouter ou modifier l'utilisateur HFSQL correspondant à l'utilisateur +de l'application +// Syntaxe : +//[ = ] AjouteOuModifieUserHFSQL ( est connexion HFSQL, est +CErreur, est chaîne, est chaîne) +// +// Paramètres : +// cnxLaConnexion (connexion HFSQL) : +// clErreur (CErreur) : +06/08/2026 Isis_BO 6225 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +// sLogin (chaîne ANSI) : +// sNomPrenom (chaîne ANSI) : +// Valeur de retour : +// booléen : +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sMdp (chaîne ANSI) : +procédure AjouteOuModifieUserHFSQL(cnxLaConnexion est une Connexion,local clErreur est un CErreur,local +sLogin est une chaîne, local sNomPrenom est une chaîne) +bResultat est un booléen +quand exception dans +si CreationGroupeHFSQLSiInexistant(cnxLaConnexion,groupeUserClient) alors +AppliqueDroitGroupe(cnxLaConnexion,groupeUserClient,DroitBaseDeDonnees,TypeUtilisateur) +fin +bUserExiste est un booléen=UtilisateurHFSQLExiste(cnxLaConnexion,sLogin) +si pas bUserExiste alors +HRAZUtilisateur() +fin +HUtilisateur.Login = sLogin +HUtilisateur.MotDePasse = Crypte(sLogin, "62, rue Langénieux", crypteSécurisé, Vrai)+ +"@APPLILOGIK" +HUtilisateur.NomComplet = sNomPrenom +HUtilisateur.CompteActif = Vrai +HUtilisateur.Groupes = groupeUserClient +si bUserExiste _et_ pas HModifieUtilisateur(cnxLaConnexion,sLogin) alors +goto ERREURPROG +sinon si bUserExiste=Faux _et_ pas HAjouteUtilisateur(cnxLaConnexion) alors +goto ERREURPROG +fin +si pas bUserExiste alors +HModifieDroitBaseDeDonnées(cnxLaConnexion,sLogin,hDroitAjout+hDroitBlocage+hDroitConnexion+ +hDroitCréationVue+hDroitLecture+hDroitModification+hDroitSuppression+hDroitExécutionProcédure, +hHérité,cnxLaConnexion..BaseDeDonnées) +fin +bResultat = Vrai +goto SORTIE +ERREURPROG: +clErreur.Init(CErreur.ErreurHFSQL,HErreurInfo(hErrMessage)) +bResultat = Faux +faire +clErreur.Init(CErreur.Grave,ExceptionInfo()) +bResultat = Faux +fin +SORTIE: +renvoyer bResultat +Procédure globale AppliqueDroitGroupe +procédure AppliqueDroitGroupe(cnxLaConnexion est une Connexion,local sNomGroupe est une chaîne,local +eMode est un ETypeDroit,local eModeGroupe est un eTypeGroupe ) +bResultat est un booléen +bResultat = CreationGroupeHFSQLSiInexistant(cnxLaConnexion,sNomGroupe) +selon eMode +cas DroitServeur : bResultat = bResultat _et_ HModifieDroitServeur(cnxLaConnexion,sNomGroupe, +DonneDroitTypeGroupe(eMode,eModeGroupe),hAutorisé) +cas DroitBaseDeDonnees : bResultat = bResultat _et_ HModifieDroitBaseDeDonnées(cnxLaConnexion, +sNomGroupe,DonneDroitTypeGroupe(eMode,eModeGroupe),hAutorisé,cnxLaConnexion..BaseDeDonnées) +cas DroitFichier : bResultat = bResultat _et_ HModifieDroitFichier(cnxLaConnexion,sNomGroupe, +DonneDroitTypeGroupe(eMode,eModeGroupe),hAutorisé,"",Utilisateur) +fin +renvoyer bResultat +Procédure globale AppliqueDroitsHFSQL +06/08/2026 Isis_BO 6226 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +// Résumé : +// Syntaxe : +//[ = ] AppliqueDroitsHFSQL ( est connexion HFSQL, est +chaîne) +// +// Paramètres : +// cnxLaConnexion (connexion HFSQL) : +// sListeDesErreurs (chaîne ANSI) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AppliqueDroitsHFSQL(cnxLaConnexion est une Connexion,sListeDesErreurs est une chaîne) +bResultat est un booléen = Vrai +sDSrvGrpCnx est une chaîne = HInfoDroitServeur(cnxLaConnexion,groupeConnexion, +DonneDroitTypeGroupe(DroitServeur,TypeConnexion)) +sDBddGrpCnx est une chaîne = HInfoDroitBaseDeDonnées(cnxLaConnexion,groupeConnexion, +DonneDroitTypeGroupe(DroitBaseDeDonnees,TypeConnexion),cnxLaConnexion..BaseDeDonnées) +sDFicGrpCnx est une chaîne = HInfoDroitFichier(cnxLaConnexion,groupeConnexion, +DonneDroitTypeGroupe(DroitFichier,TypeConnexion),cnxLaConnexion..BaseDeDonnées,Utilisateur) +sDSrvGrpAdm est une chaîne = HInfoDroitServeur(cnxLaConnexion,groupeAdminClient, +DonneDroitTypeGroupe(DroitServeur,TypeAdminClient)) +sDBddGrpAdm est une chaîne = HInfoDroitBaseDeDonnées(cnxLaConnexion,groupeAdminClient, +DonneDroitTypeGroupe(DroitBaseDeDonnees,TypeAdminClient),cnxLaConnexion..BaseDeDonnées) +sDBddGrpUsr est une chaîne = HInfoDroitBaseDeDonnées(cnxLaConnexion,groupeUserClient, +DonneDroitTypeGroupe(DroitBaseDeDonnees,TypeUtilisateur),cnxLaConnexion..BaseDeDonnées) +si (Contient(sDSrvGrpCnx,hInterdit) _ou_ Contient(sDSrvGrpCnx,hHérité)) _et_ pas AppliqueDroitGroupe( +cnxLaConnexion,groupeConnexion,DroitServeur,TypeConnexion) alors bResultat= Faux ; +sListeDesErreurs +=ChaîneConstruit( +"Erreur lors de la modification des droits serveurs pour le groupe %1",groupeConnexion) +si (Contient(sDBddGrpCnx,hInterdit) _ou_ Contient(sDBddGrpCnx,hHérité)) _et_ pas AppliqueDroitGroupe( +cnxLaConnexion,groupeConnexion,DroitBaseDeDonnees,TypeConnexion) alors bResultat= Faux ; +sListeDesErreurs +=ChaîneConstruit( +"Erreur lors de la modification des droits de la base de données pour le groupe %1",groupeConnexion) +si (Contient(sDFicGrpCnx,hInterdit) _ou_ Contient(sDFicGrpCnx,hHérité)) _et_ pas AppliqueDroitGroupe( +cnxLaConnexion,groupeConnexion,DroitFichier,TypeConnexion) alors bResultat= Faux ; +sListeDesErreurs +=ChaîneConstruit( +"Erreur lors de la modification des droits des fichiers pour le groupe %1",groupeConnexion) +si (Contient(sDSrvGrpAdm,hInterdit) _ou_ Contient(sDSrvGrpAdm,hHérité)) _et_ pas AppliqueDroitGroupe( +cnxLaConnexion,groupeAdminClient,DroitServeur,TypeAdminClient) alors bResultat= Faux ; +sListeDesErreurs +=ChaîneConstruit( +"Erreur lors de la modification des droits serveurs pour le groupe %1",groupeAdminClient) +si (Contient(sDBddGrpAdm,hInterdit) _ou_ Contient(sDBddGrpAdm,hHérité)) _et_ pas AppliqueDroitGroupe( +cnxLaConnexion,groupeAdminClient,DroitBaseDeDonnees,TypeAdminClient) alors bResultat= Faux ; +sListeDesErreurs +=ChaîneConstruit( +"Erreur lors de la modification des droits de la base de données pour le groupe %1",groupeAdminClient) +si (Contient(sDBddGrpUsr,hInterdit) _ou_ Contient(sDBddGrpUsr,hHérité)) _et_ pas AppliqueDroitGroupe( +cnxLaConnexion,groupeUserClient,DroitBaseDeDonnees,TypeUtilisateur) alors bResultat= Faux ; +sListeDesErreurs +=ChaîneConstruit( +"Erreur lors de la modification des droits de la base de données pour le groupe %1",groupeUserClient) +renvoyer bResultat +Procédure globale AttendDeconnexionServiceMobile +// Résumé : +// Syntaxe : +//AttendDeconnexionServiceMobile ( est connexion HFSQL, est chaîne) +// +06/08/2026 Isis_BO 6227 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +// Paramètres : +// cnxLaConnexion (connexion HFSQL) : +// sListeDesErreurs (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sListeDesErreurs (chaîne ANSI) : +procédure AttendDeconnexionServiceMobile(cnxLaConnexion est une Connexion,sListeDesErreurs est une +chaîne) +boucle +//Temporisation de 5 secondes +Multitâche(500) +//Récupère la liste des utilisateurs connectés +sListeUser est une chaîne = HListeUtilisateurConnecté(cnxLaConnexion,cnxLaConnexion..BaseDeDonnées) +à faire tantque Contient(sListeUser,"ServiceMobile") +Procédure globale ChangeConnexionFichier +// Résumé : +// Syntaxe : +//ChangeConnexionFichier ( est connexion HFSQL, est chaîne, + est chaîne) +// +// Paramètres : +// cnxLaConnexion (connexion HFSQL) : +// sListeDesErreurs (chaîne ANSI) : +// sListeFichier (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ChangeConnexionFichier(cnxLaConnexion est une Connexion,sListeDesErreurs est une chaîne,local +sListeFichier est une chaîne) +pour toute chaîne sUnFichier de sListeFichier séparée par RC +//Le changement de connexion sur le fichier s'est mal passé +si pas HChangeConnexion(sUnFichier,cnxLaConnexion) alors sListeDesErreurs += [RC] + +"- Erreur de connexion au fichier <" + sUnFichier + "> : " + HErreurInfo() +fin +Procédure globale ChangeEtOuvreConnexion +// Résumé : +// Syntaxe : +//[ = ] ChangeEtOuvreConnexion ( est connexion HFSQL, est +chaîne, est procédure [, est booléen]) +// +// Paramètres : +// cnxLaConnexion (connexion HFSQL) : +// sListeDesErreurs (chaîne ANSI) : +// callBackConnexion (procédure) : +// bOuvreConnexionSeul (booléen - valeur par défaut=0) : < +06/08/2026 Isis_BO 6228 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +indiquez ici le rôle de bChangeConnexionFichier> +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// clErreur (CErreur) : +procédure ChangeEtOuvreConnexion(cnxLaConnexion est une Connexion,sListeDesErreurs est une chaîne, +callBackConnexion est une procédure,local bOuvreConnexionSeul est un booléen=Faux) +//,clErreur est un CErreur +//Fermeture de la connexion en cours si existante +si ConnexionDifferente(cnxLaConnexion) alors HFermeConnexion(cnxLaConnexion) +nVerifStruct est un entier +si pas bOuvreConnexionSeul alors +nVerifStruct=HVérifieStructure("*", hIdentique) +fin +//Ouvre la connexion +si HOuvreConnexion(cnxLaConnexion) alors +SvgContexteConnexion(cnxLaConnexion) +si pas bOuvreConnexionSeul alors +nVersHFSQL est une entier = Val(Gauche(ExtraitChaîne(HInfoServeur(cnxLaConnexion, +hInfoVersion),1,TAB,DepuisDébut),2)) +bStructureAModifier est un booléen +bStopAccesBDD est un booléen +//Vérifie si une MAJ de structure est nécessaire +si callBackConnexion<>Null alors bStructureAModifier = StructureAModifier(cnxLaConnexion, +cnxLaConnexion..BaseDeDonnées) +//Une MAJ de Structure est nécessaire et il existe une procédure callBack de sauvegarde BDD +si bStructureAModifier _et_ callBackConnexion<>Null alors sListeDesErreurs = callBackConnexion( +"SvgBDD") +//Si pas d'erreurs +si sListeDesErreurs="" alors +//En cas de MAJ de structure +si bStructureAModifier alors +//Interdit l'accès à la base de données et attend que l'utilisateur ServiceMobile est +terminé ses traitements +si bStructureAModifier _et_ callBackConnexion<>Null alors +sListeDesErreurs = callBackConnexion("StopCnx") +bStopAccesBDD = Vrai +fin +//L'accès à la base de données est bien interdit +si sListeDesErreurs="" alors +//indique au niveau de la base de données que le traitement est "En cours" pour +être relus par les autres utilisateurs ou moimême au moment du contrôle (cf +ControleSauvegarde) +HSauveParamètre(cnxLaConnexion,"MAJ_STRUCTURE",ChaîneConstruit(sMAJStruct, +"En cours",DateVersChaîne(DateSys(),"JJ/MM/AAAA")+" "+HeureVersChaîne(HeureSys(), +"HH:mm"),gsInfoVersion)) +fin +fin +//suppression des liaisons +06/08/2026 Isis_BO 6229 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +// +SI nVersHFSQL<25 ALORS TraiteLesLiaisons(cnxLaConnexion,0,HListeLiaison("*", +cnxLaConnexion,hLstDétail)) +//Traite les fichiers (Mot de passe et Maj de structure) +si sListeDesErreurs="" alors +// TraiteLesFichiers(cnxLaConnexion,sListeDesErreurs) +si gbFichierCryptés alors +HPasse(ProtectionStd,DonneMdpGroupeDeFichier(ProtectionStd,cnxLaConnexion.. +BaseDeDonnées)) +fin +HPasse(ProtectionPlus,DonneMdpGroupeDeFichier(ProtectionPlus,cnxLaConnexion.. +BaseDeDonnées)) +fin +//Création des liaisons +// SI nVersHFSQL<25 ALORS +// TraiteLesLiaisons(cnxLaConnexion,1,gsListeLiaison) +// SINON +//MAJ des liaisons +HMiseAJourLiaison("*",hmsSansContrôle) +// FIN +//S'il n'y a pas d'erreurs et que l'on a changé le mot de passe des fichiers on supprime +le paramètre +//SI sListeDesErreurs="" _et_ sNomBDDOld<>"" ALORS +HSupprimeParamètre(cnxLaConnexion,"NomBDDImport") +//En cas de MAJ de structure +si bStructureAModifier alors +//indique au niveau de la base de données que le traitement est "Terminé" pour être +relus par les autres utilisateurs ou moimême au moment du contrôle (cf +ControleSauvegarde) +HSauveParamètre(cnxLaConnexion,"MAJ_STRUCTURE",ChaîneConstruit(sMAJStruct, +sListeDesErreurs="" ? "Terminée" sinon "En cours",DateVersChaîne(DateSys(), +"JJ/MM/AAAA")+" "+HeureVersChaîne(HeureSys(),"HH:mm"),gsInfoVersion)) +fin +//En cas d'interdiction de connexion à la base +si bStopAccesBDD alors +//Met fin à l'interdiction de connexion à la base de données +HFinInterditAccèsBaseDeDonnées(cnxLaConnexion,cnxLaConnexion..BaseDeDonnées) +fin +fin +//SINON +// MotDePasseFichiers(cnxLaConnexion,sListeDesErreurs) +fin +sinon si HErreur()<>0 alors +//trace("ERREUR : ChangeEtOuvreConnexion") +//trace(HErreurInfo(hErrComplet)) +// Autres erreurs qu'une différence de structure +sListeDesErreurs += " Erreur d'accès : " + HErreurInfo() +fin +si nVerifStruct> 0 alors nVerifStruct=HVérifieStructure("*", hCompatible) +renvoyer sListeDesErreurs = "" +Procédure globale ConnexionDifferente +06/08/2026 Isis_BO 6230 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +// Résumé : +// Syntaxe : +//[ = ] ConnexionDifferente ( est connexion HFSQL) +// +// Paramètres : +// cnxLaConnexion (connexion HFSQL) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ConnexionDifferente(cnxLaConnexion est une Connexion) +si gcnxLaConnexionPrec..Serveur<>cnxLaConnexion..Serveur _ou_ +gcnxLaConnexionPrec..BaseDeDonnées<>cnxLaConnexion..BaseDeDonnées _ou_ +gcnxLaConnexionPrec..Provider<>cnxLaConnexion..Provider _ou_ +gcnxLaConnexionPrec..Utilisateur<>cnxLaConnexion..Utilisateur alors +renvoyer Vrai +sinon +renvoyer Faux +fin +Procédure globale ConnexionUtilisateur +// Résumé : Méthode appeler lors de la connexion de l'utilisateur pour vérifier s'il peut se connecter +// Syntaxe : +//[ = ] ConnexionUtilisateur ( est connexion HFSQL, +est chaîne, est chaîne, est chaîne, est chaîne, + est chaîne, est chaîne) +// +// Paramètres : +// cnxLaConnexion (connexion HFSQL) : +// sAdresseIPServeurHFSQL (chaîne ANSI) : +// sPortServeurHFSQL (chaîne ANSI) : +// sNomBDDHFSQL (chaîne ANSI) : +// sLogin (chaîne ANSI) : Login saisie par l'utilisateur +// sMotDePasse (chaîne ANSI) : Mot de passe saisie par l'utilisateur +// sListeDesErreurs (chaîne ANSI) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ConnexionUtilisateur(cnxLaConnexion est une Connexion,local sAdresseIPServeurHFSQL est une +chaîne, local sPortServeurHFSQL est une chaîne, local sNomBDDHFSQL est une chaîne, local sLogin est une +chaîne, local sMotDePasse est une chaîne,sListeDesErreurs est une chaîne) +bResultat est un booléen +//L'utilisateur HFSQL existe-t-il ? +bUserExiste est un booléen=UtilisateurHFSQLExiste(cnxLaConnexion,sLogin) +//L'utilisateur HFSQL est-il un Super Utilisateur +bSuperUtilisateur est un booléen = HUtilisateur.SuperUtilisateur +// 1 : L'utilisateur est un utilisateur standard +// 2 : L'utilisateur est un utilisateur administrateur client ou un super utilisateur HFSQL +// 3 : Utilsateur par défaut +nMode est un entier = (pas HUtilisateur.Groupes dans (groupeAdminClient)) _et_ (pas HUtilisateur. +SuperUtilisateur) ? 1 sinon (HUtilisateur.Groupes dans (groupeAdminClient)) _ou_ (HUtilisateur. +06/08/2026 Isis_BO 6231 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +SuperUtilisateur) ? 2 sinon 3 +//L'utilisateur HFSQL existe et il est Super Utilisateur +si bUserExiste _et_ bSuperUtilisateur alors +CreationSuperUserSiInexistant(sLogin,sMotDePasse) +fin +//trace("ConnexionUtilisateur : nMode :" + nMode +" login :" + sLogin ) +//La recherche de l'utilisateur dans le fichier Utilisateur a été trouvé +si HLitRecherchePremier(Utilisateur,UT_Login,sLogin) alors +//Le mot de passe correspond à ce qui est stocké dans le fichier utilisateur +si Utilisateur.UT_MotDePasse=Gauche(BufferVersHexa(HashChaîne(HA_MD5_128,sMotDePasse+Mdp3), +SansRegroupement),50) alors +sNomPrenom est une chaîne +si HLitRecherchePremier(Collaborateur,CO_PKID,Utilisateur.UT_IDCollaborateur) alors +sNomPrenom = Collaborateur.CO_Nom+" "+Collaborateur.CO_Prenom +fin +clErreur est un CErreur +//L'utilisateur est un utilisateur standard +si nMode=1 alors +si pas Collaborateur.CO_AccesBO alors +clErreur.Init(CErreur.Fonctionnelle, +"Cet utilisateur n'a pas le droit d'accéder à l'application bureau") +bResultat = Faux +sinon +sListeUser est une chaîne = HListeUtilisateurConnecté(cnxLaConnexion,cnxLaConnexion.. +BaseDeDonnées) +si Contient(sListeUser,sLogin) alors +clErreur.Init(CErreur.Fonctionnelle,"Cet utilisateur est déjà connecté") +//sListeDesErreurs+="Cet utilisateur est déjà connecté" +bResultat = Faux +sinon +//Vérification de l'utilisateur standard dans HFSQL +bResultat = AjouteOuModifieUserHFSQL(cnxLaConnexion,clErreur,sLogin,sNomPrenom) +fin +fin +sinon +bResultat = Vrai +fin +si bResultat alors +//Modification de la variable de connexion selon le type d'utilisateur(nMode) +si ModifieVariableDeConnexion(cnxLaConnexion,nMode,sAdresseIPServeurHFSQL, +sPortServeurHFSQL,sNomBDDHFSQL,sLogin,sMotDePasse) alors +//Trace("ConnexionUtilisateur: +ModifieVariableDeConnexion(",nMode,sAdresseIPServeurHFSQL,sPortServeurHFSQL,sNomBDDHFS +QL,sLogin,sMotDePasse) +//L'ouverture de la connexion à la base c'est mal passée +si pas ChangeEtOuvreConnexion(cnxLaConnexion,sListeDesErreurs,Null,Vrai) alors +//Modification de la variable de connexion avec l'utilisateur par défaut +si ModifieVariableDeConnexion(cnxLaConnexion,3,sAdresseIPServeurHFSQL, +sPortServeurHFSQL,sNomBDDHFSQL,sLogin,sMotDePasse) alors +//Retablissement de la connexion avec l'utilisateur par défaut +//bResultat = ChangeEtOuvreConnexion(cnxLaConnexion,sListeDesErreurs,null) +fin +sinon +bResultat = Vrai +fin +06/08/2026 Isis_BO 6232 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +fin +sinon +sListeDesErreurs = clErreur.FormateMessage() +fin +sinon +sListeDesErreurs+="le mot de passe est incorrect" +fin +sinon +sListeDesErreurs+= "L'utilisateur n'existe pas" +fin +renvoyer bResultat +Procédure globale ConstruitListeConnexion +procédure ConstruitListeConnexion(clErreur est un CErreur) +bResultat est un booléen +bSansIni est un booléen +si pas fFichierExiste(ComplèteRep(fRepGlobalCommun)+RepertoireIni+["\"]+NomFichierIni) alors +bSansIni=Vrai +clErreur.Init(CErreur.Fonctionnelle,ChaîneConstruit( +"Aucun fichier de configuration n'a été trouvé sous %1",ComplèteRep(fRepGlobalCommun)+RepertoireIni ++["\"])) +sinon si SansEspace(gsListeSection)="" alors +clErreur.Init(CErreur.Fonctionnelle,ChaîneConstruit( +"Le fichier de configuration situé sous %1 est incorrect",ComplèteRep(fRepGlobalCommun)+ +RepertoireIni+["\"])) +sinon +gsListeServeur est un tableau de STParamConnexion +si pas ExtraitChaîne(ExtraitChaîne(gsListeSection,1,RC),2,"\") dans ("",EOT) alors +DecodeNouvelIni(gsListeServeur) +sinon +DecodeAncienIni(gsListeServeur) +fin +pour i = gsListeConnexion..Occurrence à 1 pas -1 +si gsListeConnexion[i].gsServeurBDD<>"" _et_ gsListeConnexion[i].gsNomBDD<>"" _et_ +gsListeConnexion[i].gsUser<>"" alors +nIndiceSrv est un entier = TableauCherche(gsListeServeur,tcLinéaire,"gsServeurBDD", +gsListeConnexion[i].gsServeurBDD,1) +si nIndiceSrv>0 alors +gsListeConnexion[i].gsServeurBDD = gsListeServeur[nIndiceSrv]:gsServeurBDD +gsListeConnexion[i].gsAdresseIPServeur = gsListeServeur[nIndiceSrv]:gsAdresseIPServeur +gsListeConnexion[i].gsPortServeur = gsListeServeur[nIndiceSrv]:gsPortServeur +sinon +TableauSupprime(gsListeConnexion,i) +fin +sinon +TableauSupprime(gsListeConnexion,i) +fin +fin +TableauTrie(gsListeConnexion,ttMembre,"gsServeurBDD;gsNomBDD") +si gsListeConnexion..Occurrence>0 alors +bResultat = Vrai +sinon +clErreur.Init(CErreur.Fonctionnelle,ChaîneConstruit( +"Aucun connexion n'a pu être déterminée à partir du fichier de configuration situé sous %1", +ComplèteRep(fRepGlobalCommun)+RepertoireIni+["\"])) +fin +06/08/2026 Isis_BO 6233 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +fin +renvoyer (bResultat,bSansIni) +Procédure globale ConstruitListeConnexion1 +procédure ConstruitListeConnexion1(clErreur est un CErreur) +bResultat est un booléen +bSansIni est un booléen +si pas fFichierExiste(ComplèteRep(fRepGlobalCommun)+RepertoireIni+["\"]+NomFichierIni) alors +bSansIni=Vrai +clErreur.Init(CErreur.Fonctionnelle,ChaîneConstruit( +"Aucun fichier de configuration n'a été trouvé sous %1",ComplèteRep(fRepGlobalCommun)+RepertoireIni ++["\"])) +sinon si SansEspace(gsListeSection)="" alors +clErreur.Init(CErreur.Fonctionnelle,ChaîneConstruit( +"Le fichier de configuration situé sous %1 est incorrect",ComplèteRep(fRepGlobalCommun)+ +RepertoireIni+["\"])) +sinon +gsListeServeur est un tableau de STParamConnexion +si pas ExtraitChaîne(ExtraitChaîne(gsListeSection,1,RC),2,"\") dans ("",EOT) alors +DecodeNouvelIni(gsListeServeur) +sinon +DecodeAncienIni(gsListeServeur) +fin +pour i = gsListeConnexion..Occurrence à 1 pas -1 +si gsListeConnexion[i].gsServeurBDD<>"" _et_ gsListeConnexion[i].gsNomBDD<>"" _et_ +gsListeConnexion[i].gsUser<>"" alors +nIndiceSrv est un entier = TableauCherche(gsListeServeur,tcLinéaire,"gsServeurBDD", +gsListeConnexion[i].gsServeurBDD,1) +si nIndiceSrv>0 alors +gsListeConnexion[i].gsServeurBDD = gsListeServeur[nIndiceSrv]:gsServeurBDD +gsListeConnexion[i].gsAdresseIPServeur = gsListeServeur[nIndiceSrv]:gsAdresseIPServeur +gsListeConnexion[i].gsPortServeur = gsListeServeur[nIndiceSrv]:gsPortServeur +sinon +TableauSupprime(gsListeConnexion,i) +fin +sinon +TableauSupprime(gsListeConnexion,i) +fin +fin +TableauTrie(gsListeConnexion,ttMembre,"gsServeurBDD;gsNomBDD") +si gsListeConnexion..Occurrence>0 alors +bResultat = Vrai +sinon +clErreur.Init(CErreur.Fonctionnelle,ChaîneConstruit( +"Aucun connexion n'a pu être déterminée à partir du fichier de configuration situé sous %1", +ComplèteRep(fRepGlobalCommun)+RepertoireIni+["\"])) +fin +fin +renvoyer (bResultat,bSansIni) +Procédure globale ControleSauvegarde +// Résumé : +// Syntaxe : +//[ = ] ControleSauvegarde ( est connexion HFSQL, est +chaîne, est chaîne [, est chaîne]) +// +// Paramètres : +// cnxLaConnexion (connexion HFSQL) : +06/08/2026 Isis_BO 6234 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +// sListeDesErreurs (chaîne ANSI) : +// sInfoVersion (chaîne ANSI) : +// sEtatRech (chaîne ANSI - valeur par défaut="") : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ControleSauvegarde(cnxLaConnexion est une Connexion,sListeDesErreurs est une chaîne,local +sInfoVersion est une chaîne,local sEtatRech est une chaîne="") +bResultat est un booléen=Vrai +//Récupération des sauvegardes +sListeSVG est une chaîne = HInfoSauvegarde(cnxLaConnexion) +pour toute chaîne uneSVG de sListeSVG séparée par EOT +si Contient(ExtraitChaîne(uneSVG,5,TAB),sInfoVersion) alors +si sEtatRech<>"" _et_ sEtatRech=ExtraitChaîne(uneSVG,6,TAB) alors +bResultat = Faux +sinon +selon ExtraitChaîne(uneSVG,6,TAB) +cas hSvgEncours : +sListeDesErreurs += +"Une sauvegarde des données est en cours merci de quitter et de réessayer plus +tard" +bResultat = Faux +cas hSvgTerminée +si MAJStructureEnCours(cnxLaConnexion) alors +sListeDesErreurs += +"Une mise à jour du logiciel est en cours merci de quitter et de réessayer +plus tard" +fin +bResultat = Faux +fin +fin +break +fin +fin +renvoyer bResultat +Procédure globale ControleUtilisateur +// Résumé : +// Syntaxe : +//[ = ] ControleUtilisateur ( est connexion HFSQL, est +chaîne, est chaîne, est chaîne) +// +// Paramètres : +// cnxLaConnexion (connexion HFSQL) : +// sListeDesErreurs (chaîne ANSI) : +// sLogin (chaîne ANSI) : +// sMotDePasse (chaîne ANSI) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +06/08/2026 Isis_BO 6235 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +// nIndCnx (entier) : +procédure ControleUtilisateur(cnxLaConnexion est une Connexion,sListeDesErreurs est une chaîne,local +sLogin est une chaîne, local sMotDePasse est une chaîne) +bResultat est un booléen +nVerifStruct est un entier = HVérifieStructure("*", hSansContrôle) +si ChangeEtOuvreConnexion(cnxLaConnexion,sListeDesErreurs,Null,Vrai) alors +//La recherche de l'utilisateur dans le fichier Utilisateur a été trouvé +si HLitRecherchePremier(Utilisateur,UT_Login,sLogin) alors +//L'utilisateur HFSQL existe-t-il ? +bUserExiste est un booléen = UtilisateurHFSQLExiste(cnxLaConnexion,sLogin) +nMode est un entier +si bUserExiste +//L'utilisateur HFSQL est-il un Super Utilisateur +bSuperUtilisateurest un booléen = HUtilisateur.SuperUtilisateur +// 1 : L'utilisateur est un utilisateur standard +// 2 : L'utilisateur est un utilisateur administrateur client ou un super utilisateur +HFSQL +// 3 : Utilisateur par défaut +nMode = (pas HUtilisateur.Groupes dans (groupeAdminClient)) _et_ (pas HUtilisateur. +SuperUtilisateur) ? 1 sinon (HUtilisateur.Groupes dans (groupeAdminClient)) _ou_ ( +HUtilisateur.SuperUtilisateur) ? 2 sinon 3 +sinon +nMode = 1 +fin +//Le mot de passe correspond à ce qui est stocké dans le fichier utilisateur +si Utilisateur.UT_MotDePasse=Gauche(BufferVersHexa(HashChaîne(HA_MD5_128,sMotDePasse+Mdp3), +SansRegroupement),50) alors +//L'utilisateur est un utilisateur standard +si nMode=1 alors +si pas Utilisateur.UT_AccesBO alors +sListeDesErreurs += [RC] + +"Cet utilisateur n'a pas le droit d'accéder à l'application bureau" +sinon +sListeUser est une chaîne = HListeUtilisateurConnecté(cnxLaConnexion, +cnxLaConnexion..BaseDeDonnées) +si Contient(sListeUser,sLogin) alors sListeDesErreurs += [RC] + +"Cet utilisateur est déjà connecté" +fin +fin +sinon +sListeDesErreurs += [RC] + "Le mot de passe est incorrect" +fin +sinon +sListeDesErreurs += [RC] + "Cet utilisateur est inconnu" +fin +fin +HVérifieStructure("*", nVerifStruct) +bResultat = sListeDesErreurs="" +renvoyer bResultat +Procédure globale CreationGroupeHFSQLSiInexistant +procédure CreationGroupeHFSQLSiInexistant(cnxLaConnexion est une Connexion,local sNomGroupe est une +06/08/2026 Isis_BO 6236 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +chaîne) +bGroupeExiste est un booléen = GroupeHFSQLExiste(cnxLaConnexion,sNomGroupe) +si pas bGroupeExiste alors +bGroupeExiste = AjouteGroupeHFSQL(cnxLaConnexion,sNomGroupe) +fin +renvoyer bGroupeExiste +Procédure globale CreationMotDePasseSiInexistant +procédure CreationMotDePasseSiInexistant(cnxLaConnexion est une Connexion,local sNomUnFichier est une +chaîne,local sHash_Hexa est une chaîne,sListeDesErreurs est une chaîne)//,sNomBDDOld est une chaine="" +si HFichierExiste(cnxLaConnexion,sNomUnFichier+".FIC") alors +//Aucune vérification n'est effectuée, les descriptions de l'analyse et du fichier physique peuvent +être différentes +//HVérifieStructure(sNomUnFichier, hSansContrôle) +// Si fichier protégé par mot de passe +si {sNomUnFichier,indFichier}..ProtégéParMotDePasse=Vrai alors +// Fixe le mot de passe utilisé par le fichier +si pas HPasse(sNomUnFichier,sHash_Hexa)alors +// Echec de fixation du mot de passe sur le fichier +sListeDesErreurs += [RC] + "- Echec de fixation du mot de passe du fichier <" + +sNomUnFichier + "> : " + HErreurInfo() +fin +// Si fichier pas protégé par mot de passe +sinon +// Changement du mot de passe au fichier +si pas HChangeMotDePasse(sNomUnFichier,sHash_Hexa)alors +// Echec d'ouverture du fichier avec le mot de passe +sListeDesErreurs += [RC] + "- Echec de changement du mot de passe du fichier <" + +sNomUnFichier + "> : " + HErreurInfo() +fin +fin +fin +Procédure globale CreationSuperUserSiInexistant +// Résumé : +// Syntaxe : +//CreationSuperUserSiInexistant ( est chaîne, est chaîne) +// +// Paramètres : +// sLogin (chaîne ANSI) : +// sMotDePasse (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure CreationSuperUserSiInexistant(local sLogin est une chaîne,local sMotDePasse est une chaîne) +si pas HLitRecherchePremier(Utilisateur,Utilisateur.UT_Login,sLogin) alors +Hash1 est un Buffer = HashChaîne(HA_MD5_128,sMotDePasse+Mdp3) +sHash_Hexa est une chaîne = BufferVersHexa(Hash1,SansRegroupement) +HRAZ(Utilisateur) +Utilisateur.UT_Login = sLogin +Utilisateur.UT_MotDePasse = sHash_Hexa//sMotDePasse +HAjoute(Utilisateur) +06/08/2026 Isis_BO 6237 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +fin +Procédure globale DecodeAncienIni +// Résumé : +// Syntaxe : +//DecodeAncienIni ( est tableau) +// +// Paramètres : +// gsListeServeur (tableau) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DecodeAncienIni(gsListeServeur est un tableau de STParamConnexion) +gnbServeur est un entier +gnbBase est un entier +gsListeMotsCle est une chaîne +gsTemp est une chaîne +sFichierEnCours est une chaîne = ComplèteRep(fRepGlobalCommun)+RepertoireIni+["\"]+NomFichierIni +sFichierRenome est une chaîne = ComplèteRep(fRepGlobalCommun)+RepertoireIni+["\"]+ExtraitChaîne( +NomFichierIni,1,".")+" "+DateVersChaîne(DateHeureSys(),"AAAA MM JJ HH mm ")+".ini" +bRenome est un booléen = gbRenomeAncienIni ? fRenomme(sFichierEnCours,sFichierRenome) sinon Faux +//Boucle sur toutes les sections +pour toute chaîne sUneSection de gsListeSection séparée par RC +//La section est le nom d'un serveur HFSQL +si Contient(sUneSection,"ServeurHFSQL_") alors +gnbServeur +=1 +//Lit tous les mots cléfs de la section en cours +gsListeMotsCle = INILit(sUneSection,"","",bRenome ? sFichierRenome sinon sFichierEnCours) +unServeur est un STparamConnexion +unServeur.gnIndiceSection = gnbServeur +//Boucle sur les mots clés de la section du fichier +pour toute chaîne sUnMotCle de gsListeMotsCle séparée par RC +//Lit la valeur du mot clé +gsTemp = INILit(sUneSection,sUnMotCle,"",bRenome ? sFichierRenome sinon sFichierEnCours) +si sUnMotCle="NomUnique" alors unServeur.gsServeurBDD = gsTemp +si sUnMotCle="MachineOuAdresseIP" alors unServeur.gsAdresseIPServeur= gsTemp +si sUnMotCle="Port" alors unServeur.gsPortServeur = gsTemp +fin +TableauAjoute(gsListeServeur,unServeur) +si bRenome alors +INIEcrit("ServeurHFSQL\"+unServeur.gsServeurBDD,"","",sFichierEnCours) +INIEcrit("ServeurHFSQL\"+unServeur.gsServeurBDD,"Port",unServeur.gsPortServeur, +sFichierEnCours) +INIEcrit("ServeurHFSQL\"+unServeur.gsServeurBDD,"MachineOuAdresseIP",unServeur. +gsAdresseIPServeur+RC,sFichierEnCours) +fin +//La section est le nom d'une BDD HFSQL +sinon si Contient(sUneSection,"BaseHFSQL_") alors +gnbBase+=1 +gsListeMotsCle = INILit(sUneSection,"","",bRenome ? sFichierRenome sinon sFichierEnCours) +uneConnexion est un STparamConnexion +uneConnexion.gnIndiceSection = gnbBase +//Boucle sur les mots clés de la section du fichier +pour toute chaîne sUnMotCle de gsListeMotsCle séparée par RC +06/08/2026 Isis_BO 6238 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +//Lit la valeur du mot clé +gsTemp = INILit(sUneSection,sUnMotCle,"",bRenome ? sFichierRenome sinon sFichierEnCours) +si sUnMotCle="Libelle" alors uneConnexion.gsNomLogique = gsTemp +si sUnMotCle="Ordre" alors uneConnexion.gnOrdreApparition= gsTemp +si sUnMotCle="Serveur" alors uneConnexion.gsServeurBDD = gsTemp +si sUnMotCle="BaseDeDonnees" alors uneConnexion.gsNomBDD = gsTemp +si sUnMotCle="User" alors uneConnexion.gsUser = gsTemp +//DécrypteStandard(gsTemp,HashChaîne(HA_MD5_128, +gsCleUser),crypteAES256,crypteCFB,cryptePaddingZéro) +si sUnMotCle="Mdp" alors uneConnexion.gsMdp = gsTemp +//DécrypteStandard(gsTemp,HashChaîne(HA_MD5_128, +gsCleMdp),crypteAES256,crypteCFB,cryptePaddingZéro) +fin +si uneConnexion.gsServeurBDD<>"" _et_ uneConnexion.gsNomLogique<>"" alorsuneConnexion. +gsServeurBDDEtBDD = uneConnexion.gsServeurBDD+TAB+uneConnexion.gsNomLogique +TableauAjoute(gsListeConnexion,uneConnexion) +si bRenome alors +INIEcrit("BaseHFSQL\"+uneConnexion.gsServeurBDD+"\"+uneConnexion.gsNomBDD,"","", +sFichierEnCours) +INIEcrit("BaseHFSQL\"+uneConnexion.gsServeurBDD+"\"+uneConnexion.gsNomBDD,"Libelle", +uneConnexion.gsNomLogique,sFichierEnCours) +INIEcrit("BaseHFSQL\"+uneConnexion.gsServeurBDD+"\"+uneConnexion.gsNomBDD,"User", +uneConnexion.gsUser,sFichierEnCours) +INIEcrit("BaseHFSQL\"+uneConnexion.gsServeurBDD+"\"+uneConnexion.gsNomBDD,"Mdp", +uneConnexion.gsMdp+RC,sFichierEnCours) +fin +fin +fin +Procédure globale DecodeNouvelIni +// Résumé : +// Syntaxe : +//DecodeNouvelIni ( est tableau) +// +// Paramètres : +// gsListeServeur (tableau) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DecodeNouvelIni(gsListeServeur est un tableau de STParamConnexion) +gsListeMotsCle est une chaîne +gsTemp est une chaîne +tabSection est un tableau de chaînes +ChaîneVersTableau(gsListeSection,tabSection,RC) +TableauTrie(tabSection,tccOrdreLexicographique+ttDécroissant) +pour tout sUnElement de tabSection +//La section est le nom d'un serveur HFSQL +si Contient(sUnElement,"ServeurHFSQL") alors +//Lit tous les mots cléfs de la section en cours +gsListeMotsCle = INILit(sUnElement,"","",ComplèteRep(fRepGlobalCommun)+ +RepertoireIni+["\"]+NomFichierIni) +unServeur est un STparamConnexion +unServeur.gsServeurBDD = ExtraitChaîne(sUnElement,2,"\") +06/08/2026 Isis_BO 6239 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +si unServeur.gsServeurBDD<>"" alors +//Boucle sur les mots clés de la section du fichier +pour toute chaîne sUnMotCle de gsListeMotsCle séparée par RC +//Lit la valeur du mot clé +gsTemp = INILit(sUnElement,sUnMotCle,"",ComplèteRep(fRepGlobalCommun)+RepertoireIni+[ +"\"]+NomFichierIni) +si sUnMotCle="MachineOuAdresseIP" alors unServeur.gsAdresseIPServeur= gsTemp +si sUnMotCle="Port" alors unServeur.gsPortServeur = gsTemp +fin +TableauAjoute(gsListeServeur,unServeur) +fin +sinon si Contient(sUnElement,"BaseHFSQL") alors +gsListeMotsCle = INILit(sUnElement,"","",ComplèteRep(fRepGlobalCommun)+RepertoireIni+["\"]+ +NomFichierIni) +uneConnexion est un STparamConnexion +uneConnexion.gsServeurBDD = ExtraitChaîne(sUnElement,2,"\") +//nIndiceSrv est un entier += TableauCherche(gsListeServeur,tcLinéaire,uneConnexion.gsServeurBDD,1) +//SI nIndiceSrv>0 ALORS +uneConnexion.gsNomBDD = ExtraitChaîne(sUnElement,3,"\") +si uneConnexion.gsServeurBDD<>"" _et_ uneConnexion.gsNomBDD<>"" alors +//Boucle sur les mots clés de la section du fichier +pour toute chaîne sUnMotCle de gsListeMotsCle séparée par RC +//Lit la valeur du mot clé +gsTemp = INILit(sUnElement,sUnMotCle,"",ComplèteRep(fRepGlobalCommun)+RepertoireIni+[ +"\"]+NomFichierIni) +si sUnMotCle="Libelle" alors uneConnexion.gsNomLogique = gsTemp +si sUnMotCle="User" alors uneConnexion.gsUser = gsTemp +si sUnMotCle="Mdp" alors uneConnexion.gsMdp = gsTemp +fin +si uneConnexion.gsServeurBDD<>"" _et_ uneConnexion.gsNomLogique<>"" alorsuneConnexion. +gsServeurBDDEtBDD = uneConnexion.gsServeurBDD+TAB+uneConnexion.gsNomLogique +TableauAjoute(gsListeConnexion,uneConnexion) +fin +//SINON +//FIN +fin +fin +Procédure globale DonneDroitTypeGroupe +procédure DonneDroitTypeGroupe(local eModeDroit est un ETypeDroit,local eModeGroupe est un eTypeGroupe +) +sResultat est une chaîne +selon eModeGroupe +cas TypeConnexion : sResultat = eModeDroit=DroitServeur ? hDroitGestionUtilisateur+ +hDroitVisualisationUtilisateur sinon eModeDroit=DroitBaseDeDonnees ? hDroitAjout+hDroitBlocage+ +hDroitChangeLiaison+hDroitConnexionCryptée+hDroitCréationFichier+hDroitLecture+hDroitModifAuto+ +hDroitSuppressionFichier+hDroitModification+hDroitSauvegarde+hDroitSuppression+ +hDroitExécutionProcédure+hDroitDéboguer+hDroitChangeDroit+hDroitInterditAccèsBaseDeDonnées sinon +hDroitLecture +cas TypeAdminClient : sResultat = eModeDroit=DroitServeur ? hDroitVisualisationUtilisateur+ +hDroitCréationBDD+hDroitArrêtServeur+hDroitChangeMotDePasse+hDroitDéconnecteClient+ +hDroitEnvoieMessageVersClient+hDroitSauvegarde+hDroitGèreTâche+hDroitLectureLogStat sinon +06/08/2026 Isis_BO 6240 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +eModeDroit=DroitBaseDeDonnees ? hDroitAjout+hDroitBlocage+hDroitConnexion+hDroitCréationVue+ +hDroitLecture+hDroitModification+hDroitSuppression+hDroitExécutionProcédure sinon "" +cas TypeUtilisateur : sResultat = eModeDroit=DroitBaseDeDonnees ? hDroitAjout+hDroitBlocage+ +hDroitConnexion+hDroitCréationVue+hDroitLecture+hDroitModification+hDroitSuppression+ +hDroitExécutionProcédure sinon "" +fin +renvoyer sResultat +Procédure globale DonneMdpGroupeDeFichier +// Résumé : +// Syntaxe : +//[ = ] DonneMdpGroupeDeFichier (, est chaîne) +// +// Paramètres : +// NomGroupeFichier : +// sNomBDD (chaîne ANSI) : +// Valeur de retour : +// chaîne ANSI : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneMdpGroupeDeFichier(NomGroupeFichier,local sNomBDD est une chaîne) +Hash1 est un Buffer +selon NomGroupeFichier +cas ProtectionStd : Hash1 = HashChaîne(HA_MD5_128,sNomBDD) +cas ProtectionPlus : Hash1 = HashChaîne(HA_MD5_128,Mdp3+sNomBDD) +fin +sHash_Hexa est une chaîne = BufferVersHexa(Hash1,SansRegroupement) +renvoyer sHash_Hexa +Procédure globale GroupeHFSQLExiste +procédure GroupeHFSQLExiste(cnxLaConnexion est une Connexion,local sNomGroupe est une chaîne) +renvoyer HInfoGroupe(cnxLaConnexion,sNomGroupe) _et_ Majuscule(HGroupe.Nom)=Majuscule(sNomGroupe) +Procédure globale InitConnexion +// Résumé : +// Syntaxe : +//[ = ] InitConnexion ( est connexion HFSQL, est chaîne, + est procédure) +// +// Paramètres : +// cnxLaConnexion (connexion HFSQL) : +// sListeDesErreurs (chaîne ANSI) : +// callBackConnexion (procédure) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// clErreur (CErreur) : +// nIndiceConnexion (entier - valeur par défaut=1) : +procédure InitConnexion(cnxLaConnexion est une Connexion,sListeDesErreurs est une chaîne, +06/08/2026 Isis_BO 6241 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +callBackConnexion est une procédure)//,LOCAL nIndiceConnexion est un entier=1 +bResultat est un booléen +bResultat = ChangeEtOuvreConnexion(cnxLaConnexion,sListeDesErreurs,callBackConnexion) +//SI gsListeConnexion..Occurrence>0 _et_ nIndiceConnexion>0 ALORS bResultat = +ChangeEtOuvreConnexion(cnxLaConnexion,sListeDesErreurs,callBackConnexion) +//gnIndiceConnexion = nIndiceConnexion +//SI +ModifieVariableDeConnexion(cnxLaConnexion,3,gsListeConnexion[nIndiceConnexion]:gsAdresseIPServeur,g +sListeConnexion[nIndiceConnexion]:gsPortServeur,gsListeConnexion[nIndiceConnexion]:gsNomBDD,gsListe +Connexion[nIndiceConnexion]:gsUser,gsListeConnexion[ +nIndiceConnexion]:gsMdp) ALORS +//bResultat = ChangeEtOuvreConnexion(cnxLaConnexion,sListeDesErreurs,callBackConnexion) +//FIN +//FIN +renvoyer (bResultat) +Procédure globale InterditAccesBDD +// Résumé : +// Syntaxe : +//[ = ] InterditAccesBDD ( est connexion HFSQL, est +chaîne) +// +// Paramètres : +// cnxLaConnexion (connexion HFSQL) : +// sListeDesErreurs (chaîne ANSI) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure InterditAccesBDD(cnxLaConnexion est une Connexion,sListeDesErreurs est une chaîne) +bResultat est un booléen +si HInterditAccèsBaseDeDonnées(cnxLaConnexion,cnxLaConnexion..BaseDeDonnées) alors +bResultat = Vrai +sinon si HErreur()>0 alors +sListeDesErreurs += "Impossible d'interdire l'accès à la base de données" +fin +renvoyer bResultat +Procédure globale MAJApresSelonVersion +procédure MAJApresSelonVersion(cnxLaConnexion est une Connexion,sListeDesErreurs est une chaîne,local +bEnModeTest est un booléen=Faux) +bResultat est un booléen +Hash1 est un Buffer = HashChaîne(HA_MD5_128,cnxLaConnexion..BaseDeDonnées) +sHash_Hexa est une chaîne = BufferVersHexa(Hash1,SansRegroupement) +dhDateSys est une DateHeure= DateHeureSys() +sDateHeureFichierest une chaîne = DateVersChaîne(dhDateSys,"AAAA MM JJ HH mm SS CC") +sRepTemp est une chaîne = ComplèteRep(fRepGlobalCommun)+RepertoireIni+["\"] +06/08/2026 Isis_BO 6242 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +si gsInfoVersion"" alors +sCleFiltre est une chaîne= HFiltre(ParametreMetier,ChaîneConstruit( +"PA_Code='%1' ET PA_VAleur='%2'",gtabPA[nLigne][1],gtabPA[nLigne][3])) +HLitPremier(ParametreMetier,sCleFiltre,hRespecteFiltre) +si pas HEnDehors(ParametreMetier) alors +ParametreMetier.PA_Systeme = gtabPA[nLigne][7] +si ParametreMetier.PA_Code = "22" ou ParametreMetier.PA_Code = "25" alors +ParametreMetier.PA_Libelle = gtabPA[nLigne][2] +ParametreMetier.PA_Valeur = gtabPA[nLigne][3] +ParametreMetier.PA_Ordre = gtabPA[nLigne][4] +ParametreMetier.PA_Parametre = gtabPA[nLigne][10] +fin +si VersionProjet >= "1.10.0.0" et ParametreMetier.PA_Code = "14" alors +si ParametreMetier.PA_Parametre = "" alors +ParametreMetier.PA_Parametre = gtabPA[nLigne][10] +si ParametreMetier.PA_Valeur = "1" alors +ParamTypeAct est un JSON +ParamTypeAct.envoi_mobile = 1 +ParamTypeAct.present_devis = 1 +ParamTypeAct.valider_rdv = 1 +ParamTypeAct.saisir_temps_obligatoire = 1 +ParametreMetier.PA_Parametre = ParamTypeAct +fin +fin +fin +si VersionProjet >= "1.10.0.0" et ParametreMetier.PA_Code = "18" alors +si ParametreMetier.PA_Parametre = "" alors +ParametreMetier.PA_Parametre = gtabPA[nLigne][10] +fin +fin +ParametreMetier.PA_CleLiaison = gtabPA[nLigne][8] +HModifie(ParametreMetier) +sinon +HRAZ(ParametreMetier) +ParametreMetier.PA_Code = gtabPA[nLigne][1] +ParametreMetier.PA_Libelle = gtabPA[nLigne][2] +ParametreMetier.PA_Valeur = gtabPA[nLigne][3] +ParametreMetier.PA_Ordre = gtabPA[nLigne][4] +ParametreMetier.PA_Invisible = gtabPA[nLigne][5] +ParametreMetier.PA_Actif = gtabPA[nLigne][6] +ParametreMetier.PA_Systeme = gtabPA[nLigne][7] +ParametreMetier.PA_CleLiaison = gtabPA[nLigne][8] +ParametreMetier.PA_LibelleCourt = gtabPA[nLigne][9] +ParametreMetier.PA_Parametre = gtabPA[nLigne][10] +HAjoute(ParametreMetier) +fin +HDésactiveFiltre(ParametreMetier) +fin +fin +pour nLigne = 1 _à_ TableauInfo(gtabPAP,tiNombreLignes) +si gtabPAP[nLigne][1]<>"" alors +06/08/2026 Isis_BO 6243 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +si HLitRecherchePremier(ParametreApplication,PAP_Code,gtabPAP[nLigne][1]) alors +si "TIMEOUT_BLOC_ENREG_RDV" = gtabPAP[nLigne][1] alors +ParametreApplication.PAP_Valeur = gtabPAP[nLigne][2] +fin +ParametreApplication.PAP_Description = gtabPAP[nLigne][3] +HModifie(ParametreApplication) +sinon +HRAZ(ParametreApplication) +ParametreApplication.PAP_Code = gtabPAP[nLigne][1] +ParametreApplication.PAP_Valeur = gtabPAP[nLigne][2] +ParametreApplication.PAP_Description = gtabPAP[nLigne][3] +HAjoute(ParametreApplication) +fin +fin +fin +pour nLigne = 1 _à_ TableauInfo(gtabPAS,tiNombreLignes) +si gtabPAS[nLigne][1]<>"" alors +si HLitRecherchePremier(ParametreSysteme,PAS_Code,gtabPAS[nLigne][1]) alors +ParametreSysteme.PAS_Description = gtabPAS[nLigne][3] +HModifie(ParametreSysteme) +sinon +HRAZ(ParametreSysteme) +ParametreSysteme.PAS_Code = gtabPAS[nLigne][1] +ParametreSysteme.PAS_Valeur = gtabPAS[nLigne][2] +ParametreSysteme.PAS_Description = gtabPAS[nLigne][3] +HAjoute(ParametreSysteme) +fin +fin +fin +fin +//SI sVersion>="1.0.128" ALORS +// //Test l'existence du fichier Intervention_Lieu_Personne +// bExisteILP est un booléen = HFichierExiste("Intervention_Lieu_Personne") +// nCptILP est un entier +// //Si le fichier existe => obtention du nombre d'enregistrement de ce fichier +// SI bExisteILP ALORS +// nCptILP = HNbEnr("Intervention_Lieu_Personne") +// FIN +// +// //Test l'existence du fichier Intervention_Client_Personne +// bExisteICP est un booléen = HFichierExiste("Intervention_Client_Personne") +// nCptICP est un entier +// +// //Si le fichier existe => obtention du nombre d'enregistrement de ce fichier +// SI bExisteICP ALORS +// nCptICP = HNbEnr("Intervention_Client_Personne") +// FIN +// +// +SI HFichierExiste(Intervention_Personne) _et_ HNbEnr(Intervention_Personne)=0 _et_ (bExisteILP _et_ +nCptILP>0) ALORS +// sdRequete_1_0_128_1 est une source de données +// +// sReqSQLInterLieuPers est une chaine= [ +// +06/08/2026 Isis_BO 6244 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +INSERT INTO Intervention_Personne (IP_IDIntervention,IP_IDPersonne,IP_IDLieu,IP_IDRole,IP_Etage,IP_Lot) +// SELECT ILP_IDIntervention,ILP_IDPersonne,ILP_IDLieu,PE_IDRole,ILP_Etage,ILP_Lot +// FROM Intervention_Lieu_Personne +// INNER JOIN Personne ON (PE_PKID=ILP_IDPersonne) +// +WHERE NOT EXISTS (SELECT 1 FROM Intervention_Personne AS IP2 WHERE +IP2.IP_IDIntervention=ILP_IDIntervention AND IP2.IP_IDPersonne=ILP_IDPersonne AND +IP2.IP_IDLieu=ILP_IDLieu) +// ] +// +// //ToastAffiche("Mise à jour des données",toastLong) +// HPasse("Intervention_Lieu_Personne",sHash_Hexa) +// HDéclareExterne("Intervention_Lieu_Personne.FIC","Intervention_Lieu_Personne",cnxLaConnexion) +// +// +SI +HExécuteRequêteSQL(sdRequete_1_0_128_1,cnxLaConnexion,hRequêteDéfaut+hRequêteSansCorrection,sReqSQLInte +rLieuPers) ALORS +// +ToastAffiche(ChaîneConstruit("Mise à jour des contacts sites +(%1)",H.NbEnregRequêteModification),toastLong) +// SI nCptILP=H.NbEnregRequêteModification ALORS +// HSupprimeFichier(cnxLaConnexion,".\Intervention_Lieu_Personne.FIC",hSupprimeJournal) +// FIN +// SINON +// sListeDesErreurs += [RC] + "- Echec +de mise à jour du fichier contacts site "+ HErreurInfo() +// FIN +// HLibèreRequête(sdRequete_1_0_128_1) +// +// +// FIN +// +SI HFichierExiste(Intervention_Personne) _ET_ HNbEnr(Intervention_Personne)=0 _ET_ ( bExisteICP _ET_ +nCptICP>0) ALORS +// sdRequete_1_0_128_2 est une source de données +// sReqSQLInterCliPers est chaine= [ +// INSERT INTO Intervention_Personne (IP_IDIntervention,IP_IDPersonne,IP_IDClient,IP_IDRole) +// SELECT ICP_IDIntervention,ICP_IDPersonne,ICP_IDClient,PE_IDRole +// FROM Intervention_Client_Personne +// INNER JOIN Personne ON (PE_PKID=ICP_IDPersonne) +// +WHERE NOT EXISTS (SELECT 1 FROM Intervention_Personne AS IP2 WHERE +IP2.IP_IDIntervention=ICP_IDIntervention AND IP2.IP_IDPersonne=ICP_IDPersonne AND +IP2.IP_IDClient=ICP_IDClient) +// ] +// HPasse("Intervention_Client_Personne",sHash_Hexa) +// +HDéclareExterne("Intervention_Client_Personne.FIC","Intervention_Client_Personne",cnxLaConnexion) +// +// +SI +HExécuteRequêteSQL(sdRequete_1_0_128_2,cnxLaConnexion,hRequêteDéfaut+hRequêteSansCorrection,sReqSQLInte +rCliPers) ALORS +// +ToastAffiche(ChaîneConstruit("Mise à jour des contacts clients +(%1)",H.NbEnregRequêteModification),toastLong) +// SI nCptILP=H.NbEnregRequêteModification ALORS +// HSupprimeFichier(cnxLaConnexion,".\Intervention_Client_Personne.FIC",hSupprimeJournal) +06/08/2026 Isis_BO 6245 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +// FIN +// SINON +// sListeDesErreurs += [RC] + "- Echec +de mise à jour du fichier contacts clients "+ HErreurInfo() +// FIN +// HLibèreRequête(sdRequete_1_0_128_2) +// FIN +// +//FIN +// Il y a eu des erreurs ? +si sListeDesErreurs <> "" alors +// Message afin de prévenir +//clErreur.Init(CErreur.Grave,ChaîneConstruit("Des erreurs sont apparues : %1",sListeDesErreurs)) +sinon +si pas bEnModeTest alors ParametreSystemeEcrit("VERSION",VersionProjet, +"Version de l'application bureau correspondante") +bResultat = Vrai +fin +Procédure globale MAJAvantSelonVersion +procédure MAJAvantSelonVersion(cnxLaConnexion est une Connexion,sListeDesErreurs est une chaîne, +local bEnModeTest est un booléen=faux) +//,LOCAL sAdresseServeurHFSQL est une chaîne,LOCAL sPortServeurHFSQL est une chaine,LOCAL +sNomBDD est une chaine +bResultat est un booléen +si ChangeEtOuvreConnexion(cnxLaConnexion,sListeDesErreurs,Null,Vrai) alors +//Gestion des droits HFSQL +AppliqueDroitsHFSQL(cnxLaConnexion,sListeDesErreurs) +//Intégrer ci-dessous tout ce qui doit être fait avant une éventuelle mise à jour de structure +fin +//Vrai si aucune erreur listées +bResultat = sListeDesErreurs ="" +renvoyer bResultat +Procédure globale MAJStructureEnCours +// Résumé : +// Syntaxe : +//[ = ] MAJStructureEnCours ( est connexion HFSQL) +// +// Paramètres : +// cnxLaConnexion (connexion HFSQL) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sListeDesErreurs (chaîne ANSI) : +procédure MAJStructureEnCours(cnxLaConnexion est une Connexion) +bResultat est un booléen +dhMaintenant est un DateHeure = DateHeureSys() +vMAJStructure est un Variant =JSONVersVariant(HChargeParamètre(cnxLaConnexion,"MAJ_STRUCTURE", +ChaîneConstruit(sMAJStruct,"Inexistant",DateVersChaîne(dhMaintenant,"JJ/MM/AAAA HH:mm"),""))) +Diff est une Durée = ChaîneVersDurée(DateHeureDifférence(ChaîneVersDate(vMAJStructure.DateMAJ, +"JJ/MM/AAAA HH:mm"),dhMaintenant),duréeCentième) +06/08/2026 Isis_BO 6246 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +si vMAJStructure.EtatMAJ="En cours" _et_ vMAJStructure.Version=gsInfoVersion _et_ Diff..EnMinutes<5 +alors +bResultat = Vrai +fin +renvoyer bResultat +Procédure globale ModifieVariableDeConnexion +procédure ModifieVariableDeConnexion(cnxLaConnexion est une Connexion, local nMode est un entier, local +sAdresseIPServeurHFSQL est une chaîne, local sPortServeurHFSQL est une chaîne, local sNomBDDHFSQL est +une chaîne, local sLogin est une chaîne, local sMotDePasse est une chaîne) +bResultat est un booléen= Vrai +//trace("ModifieVariableDeConnexion :" + +nMode,sAdresseIPServeurHFSQL,sPortServeurHFSQL,sNomBDDHFSQL,sLogin,sMotDePasse,cnxLaConnexion..InfosEte +ndues) +quand exception dans +nModePrec est un entier = Val(ExtraitChaîne(cnxLaConnexion..InfosEtendues,2,"MODEBO=")) +si (nModePrec=nMode _ou_ nModePrec=0) _et_ (cnxLaConnexion..Utilisateur = sLogin) _et_ ( +cnxLaConnexion..Serveur = sAdresseIPServeurHFSQL+":"+sPortServeurHFSQL) _et_ (cnxLaConnexion.. +BaseDeDonnées = sNomBDDHFSQL) alors +//Trace("Pas de changement") +sinon +selon nMode +//Utilisateur standard +cas 1 : +cnxLaConnexion..Utilisateur = sLogin +cnxLaConnexion..MotDePasse = Crypte(HUtilisateur.Login, gsCleCryptageUserHFSQL +, crypteSécurisé, Vrai)+gsConstCryptageUserHFSQL +//Trace("MDP : ["+Crypte(HUtilisateur.Login, gsCleCryptageUserHFSQL, crypteSécurisé, +Vrai)+gsConstCryptageUserHFSQL + "]") +//Utilisateur Admin client ou super Utilisateur HFSQL +cas 2 : +cnxLaConnexion..Utilisateur = sLogin +cnxLaConnexion..MotDePasse = sMotDePasse +//Trace("MDP : ["+sMotDePasse + "]") +//Utilisateur par défaut +cas 3 : +cnxLaConnexion..Utilisateur = sLogin +//cnxLaConnexion..MotDePasse = "123" +cnxLaConnexion..MotDePasse = Décrypte(sMotDePasse,gsCleDecryptageMotDePasse, +crypteRC516,encodePCS) +//Trace("MDP : +["+Décrypte(sMotDePasse,gsCleDecryptageMotDePasse,crypteRC516,encodePCS) + "]") +fin +//trace(Décrypte(sMotDePasse,gsCleDecryptageMotDePasse,crypteRC516,encodePCS)) +cnxLaConnexion..Provider = hAccèsHFClientServeur +cnxLaConnexion..Accès = hOLectureEcriture +cnxLaConnexion..Cryptage = hCryptageRC5_16 +//cnxLaConnexion..Compression = vrai +cnxLaConnexion..Serveur = sAdresseIPServeurHFSQL+":"+sPortServeurHFSQL +cnxLaConnexion..BaseDeDonnées = sNomBDDHFSQL +cnxLaConnexion..InfosEtendues = nModePrec<>0 ? Remplace(cnxLaConnexion..InfosEtendues, +ChaîneConstruit("MODEBO=%1",nModePrec),ChaîneConstruit("MODEBO=%1",nMode)) sinon cnxLaConnexion +..InfosEtendues+RC+ChaîneConstruit("MODEBO=%1",nMode) +fin +faire +bResultat = Faux +06/08/2026 Isis_BO 6247 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +fin +renvoyer bResultat +Procédure globale MotDePasseFichierEtModifDeStructure +// Résumé : +// Syntaxe : +//MotDePasseFichierEtModifDeStructure ( est connexion HFSQL, est chaîne, + est chaîne, est chaîne) +// +// Paramètres : +// cnxLaConnexion (connexion HFSQL) : +// sHash_Hexa (chaîne ANSI) : +// sListeFichiers (chaîne ANSI) : +// sListeDesErreurs (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure MotDePasseFichierEtModifDeStructure(cnxLaConnexion est une Connexion,local sHash_Hexa +est une chaîne,local sListeFichiers est une chaîne,sListeDesErreurs est une chaîne) +//,sNomBDDOld est une chaine="" +pour toute chaîne sNomUnFichier de sListeFichiers séparée par RC +//CreationMotDePasseSiInexistant(cnxLaConnexion,sNomUnFichier,sHash_Hexa,sListeDesErreurs)//,sNomBD +DOld +OuvertureCreationFichierOuModificationStructure(sNomUnFichier,sHash_Hexa,sListeFichiers, +sListeDesErreurs) +fin +Procédure globale MotDePasseFichiers +// Résumé : +// Syntaxe : +//MotDePasseFichiers ( est connexion HFSQL, est chaîne) +// +// Paramètres : +// cnxLaConnexion (connexion HFSQL) : +// sListeDesErreurs (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sNomBDDOld (chaîne ANSI - valeur par défaut="") : +procédure MotDePasseFichiers(cnxLaConnexion est une Connexion,sListeDesErreurs est une chaîne) +//,sNomBDDOld est une chaine="" +//sListeFichiers est une chaîne//=HListeFichier() +HVérifieStructure("*", hSansContrôle) +sMdpGroupe est une chaîne +sNomGroupePrec est une chaîne +stUnFichierDetail est un STFichier +pour tout élément stUnFichierDetail,sNomUnFichier de gtaFichiersBDD +si stUnFichierDetail.sNomGroupe<>sNomGroupePrec alors +sNomGroupePrec = stUnFichierDetail.sNomGroupe +si stUnFichierDetail.sMdpGroupe="" alors +stUnFichierDetail.sMdpGroupe = DonneMdpGroupeDeFichier(stUnFichierDetail.sNomGroupe, +06/08/2026 Isis_BO 6248 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +cnxLaConnexion..BaseDeDonnées)//sNomBDDOld="" ? cnxLaConnexion..BaseDeDonnées SINON sNomBDDOld +fin +sMdpGroupe = stUnFichierDetail.sMdpGroupe +sinon +si stUnFichierDetail.sMdpGroupe="" alors +stUnFichierDetail.sMdpGroupe = sMdpGroupe +fin +fin +CreationMotDePasseSiInexistant(cnxLaConnexion,stUnFichierDetail.sNomFichier,stUnFichierDetail. +sMdpGroupe,sListeDesErreurs)//,sNomBDDOld +fin +//// Boucle sur l'ensemble des fichiers de chaque groupe +//POUR TOUTE CHAÎNE UnGroupe DE gsListeGrpFic SEPAREE PAR RC +// sListeFichiers =HListeFichier(UnGroupe) +// +sMdpGroupe est une chaîne = DonneMdpGroupeDeFichier(UnGroupe,sNomBDDOld="" ? +cnxLaConnexion..BaseDeDonnées SINON sNomBDDOld) +// POUR TOUTE CHAÎNE sNomUnFichier DE sListeFichiers SEPAREE PAR RC +// +// +CreationMotDePasseSiInexistant(cnxLaConnexion,sNomUnFichier,sMdpGroupe,sListeDesErreurs,sNomBDDOld) +// FIN +//FIN +Procédure globale OuvertureCreationFichierOuModificationStructure +procédure OuvertureCreationFichierOuModificationStructure(local sNomUnFichier est une chaîne,local +sHash_Hexa est une chaîne,sListeFichiers est une chaîne,sListeDesErreurs est une chaîne) +bResultat est un booléen +//HVérifieStructure(sNomUnFichier, hIdentique) +quand exception dans +// Ouverture ou création du fichier de données +bResultat = HCréationSiInexistant(sNomUnFichier,sHash_Hexa)//,"","",hOuvertureDifférée +faire +// Problème +// Il y a une différence de structure ? +si HErreur(hErrEnCours) = 70016 _ou_ ExceptionInfo(errCode)=70016 alors +// Erreur 70016: LE FICHIER NE CORRESPOND PAS A SA DESCRIPTION +sListeFichiers+=[RC]+"- " + sNomUnFichier +bResultat = HModifieStructure(sNomUnFichier,hmsTâcheDeFond+hmsSansContrôle,sHash_Hexa) +// On met à jour la structure du fichier +si pas bResultat alors +// Echec de la mise à jour de la structure du fichier +sListeDesErreurs += [RC] + "- Erreur de modification de structure pour le fichier <" + +sNomUnFichier + "> : " + HErreurInfo() +fin +sinon +// Autres erreurs qu'une différence de structure +sListeDesErreurs += [RC] + "- Erreur d'accès au fichier <" + sNomUnFichier + "> : " + +HErreurInfo() +fin +fin +renvoyer bResultat +Procédure globale PrepareConnexion +06/08/2026 Isis_BO 6249 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +// Résumé : +// Syntaxe : +//PrepareConnexion ( est connexion HFSQL, est entier, est +chaîne) +// +// Paramètres : +// cnxLaConnexion (connexion HFSQL) : +// nIndCnx (entier) : +// sListeDesErreurs (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure PrepareConnexion(cnxLaConnexion est une Connexion,nIndCnx est un entier,sListeDesErreurs est +une chaîne) +//Affectation de l'indice dans la variable de la collection de procédure de gestion des connexions +gnIndiceConnexion= nIndCnx +//Renseigne la variable de connexion UserParDefaut et les éléments du fichier INI +ModifieVariableDeConnexion(cnxLaConnexion,3,gsListeConnexion[nIndCnx]:gsAdresseIPServeur, +gsListeConnexion[nIndCnx]:gsPortServeur,gsListeConnexion[nIndCnx]:gsNomBDD,gsListeConnexion[nIndCnx]: +gsUser,gsListeConnexion[nIndCnx]:gsMdp) +//"Admin",Mdp3+"!"+Gauche(gsListeConnexion[nIndCnx]:gsNomBDD,Taille(gsListeConnexion[nIndCnx]:gsNomBDD) +-4) +//Prépare les mots de passes à utiliser dans les fichiers suivants le groupe d'appartenance +PrepareMdpFichierGroupe(cnxLaConnexion,sListeDesErreurs) +//Changement de connexion pour l'ensemble des fichiers +ChangeConnexionFichier(cnxLaConnexion,sListeDesErreurs,COL_CONNEXION.gsListeFichier) +//Affectation des mots de passe sur les fichiers +AffecteMdpFichier(sListeDesErreurs) +Procédure globale PrepareMdpFichierGroupe +// Résumé : +// Syntaxe : +//PrepareMdpFichierGroupe ( est connexion HFSQL, est chaîne) +// +// Paramètres : +// cnxLaConnexion (connexion HFSQL) : +// sListeDesErreurs (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure PrepareMdpFichierGroupe(cnxLaConnexion est une Connexion,sListeDesErreurs est une chaîne< +utile>) +sMdpGroupe est une chaîne +sNomGroupePrec est une chaîne +stProprieteFichier est un STFichier +sNomBaseDeDonneesest une chaîne = cnxLaConnexion..BaseDeDonnées +pour tout élément stProprieteFichier,sNomUnFichier de gtaFichiersBDD +si stProprieteFichier.sNomGroupe<>sNomGroupePrec alors +06/08/2026 Isis_BO 6250 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +sNomGroupePrec = stProprieteFichier.sNomGroupe +si stProprieteFichier.sMdpGroupe="" alors stProprieteFichier.sMdpGroupe = +DonneMdpGroupeDeFichier(stProprieteFichier.sNomGroupe,sNomBaseDeDonnees) +sMdpGroupe = stProprieteFichier.sMdpGroupe +sinon si stProprieteFichier.sMdpGroupe="" alors +stProprieteFichier.sMdpGroupe = sMdpGroupe +fin +fin +Procédure globale Sauvegarde +// Résumé : +// Syntaxe : +//[ = ] Sauvegarde ( est connexion HFSQL) +// +// Paramètres : +// cnxLaConnexion (connexion HFSQL) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sNumVersion (chaîne ANSI) : +procédure Sauvegarde(cnxLaConnexion est une Connexion) +dhMaintenent est un DateHeure=Maintenant() +descSVG est une hDescriptionSauvegarde +descSVG..Description = ChaîneConstruit("Sauvegarde Avant MAJ version %1",gsInfoVersion) +descSVG..AvecIndex = Vrai +descSVG..Destination = ChaîneConstruit("%1/Sauvegarde/%2/%3/%4/%5%6",cnxLaConnexion..BaseDeDonnées, +dhMaintenent..Année,dhMaintenent..Mois,dhMaintenent..jour,dhMaintenent..Heure,dhMaintenent..Minute) +descSVG..Source = ChaîneConstruit("%1",cnxLaConnexion..BaseDeDonnées) +descSVG..Compression = zipFormatZIP +//descSVG..Jauge = "JAUGE_SAUVEGARDE" +renvoyer HSauvegarde(cnxLaConnexion,descSVG) +Procédure globale SauvegardeEtAttend +// Résumé : +// Syntaxe : +//[ = ] SauvegardeEtAttend ( est connexion HFSQL, est +chaîne, est procédure) +// +// Paramètres : +// cnxLaConnexion (connexion HFSQL) : +// sListeDesErreurs (chaîne ANSI) : +// callBackJAUGE (procédure) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// bResultat : +procédure SauvegardeEtAttend(cnxLaConnexion est une Connexion,sListeDesErreurs est une chaîne, +callBackJAUGE est une procédure) +06/08/2026 Isis_BO 6251 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +bResultat est un booléen +si gnIdSvgBDD=0 alors +//Lance la sauvegarde et obtient son ID +gnIdSvgBDD = Sauvegarde(cnxLaConnexion) +boucle +//Temporisation de 5 secondes +Multitâche(500) +//Regarde l'état de la sauvegarde en cours +gnEtatSvg = ExtraitChaîne(HInfoSauvegarde(cnxLaConnexion,gnIdSvgBDD),6,TAB) +callBackJAUGE(ExtraitChaîne(HInfoSauvegarde(cnxLaConnexion,gnIdSvgBDD),7,TAB)) +à faire tantque gnEtatSvg=hSvgEncours +//L'état de sauvegarde est en erreur +si gnEtatSvg=hSvgErreur alors +//Retourne l'erreur rencontré pendant la sauvegarde +sListeDesErreurs += [RC] + "- Erreur de sauvegarde de la base <" + cnxLaConnexion.. +BaseDeDonnées + "> : " + ExtraitChaîne(HInfoSauvegarde(cnxLaConnexion,gnIdSvgBDD),8,TAB) +//L'état de sauvegarde s'est terminée +sinon si gnEtatSvg=hSvgTerminée +bResultat = Vrai +fin +sinon +bResultat = Vrai +fin +renvoyer bResultat +Procédure globale StructureAModifier +// Résumé : +// Syntaxe : +//[ = ] StructureAModifier ( est connexion HFSQL, est chaîne) +// +// Paramètres : +// cnxLaConnexion (connexion HFSQL) : +// sNomBDD (chaîne ANSI) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sHash_Hexa (chaîne ANSI) : +// NomGroupeFichier : +// sListeDesErreurs (chaîne ANSI) : +procédure StructureAModifier(cnxLaConnexion est une Connexion,local sNomBDD est une chaîne) +bResultat est un booléen +//sListeFichiers est une chaîne +quand exception dans +sNomGroupePrec est une chaîne +stUnFichierDetailest un STFichier +pour tout élément stUnFichierDetail,sNomUnFichier de gtaFichiersBDD +si pas HFichierExiste(cnxLaConnexion,stUnFichierDetail.sNomFichier+".FIC") alors +bResultat = Vrai +break +fin +// SI sNomGroupePrec="" ALORS +06/08/2026 Isis_BO 6252 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +// nVerifStruct = HVérifieStructure("*", hIdentique) +// FIN +si stUnFichierDetail.sNomGroupe<>sNomGroupePrec alors +sNomGroupePrec = stUnFichierDetail.sNomGroupe +si pas bResultat alors +// Ouverture ou création du fichier de données +HCréationSiInexistant(sNomGroupePrec,DonneMdpGroupeDeFichier(sNomGroupePrec,sNomBDD), +"","",hOuvertureDifférée) +fin +fin +fin +// POUR TOUTE CHAÎNE unGroupe DE gsListeGrpFic SEPAREE PAR RC +// +// sListeFichiers = HListeFichier(unGroupe) +// POUR TOUTE CHAÎNE sNomUnFichier DE sListeFichiers SEPAREE PAR RC +// Si PAS HFichierExiste(cnxLaConnexion,sNomUnFichier+".FIC") ALORS +// bResultat = Vrai +// BREAk +// FIN +// FIN +// SI PAS bResultat ALORS +// // Ouverture ou création du fichier de données +// HCréationSiInexistant(unGroupe,DonneMdpGroupeDeFichier(unGroupe,sNomBDD)) +// //HOuvre(unGroupe,DonneMdpGroupeDeFichier(unGroupe,sNomBDD),hOLectureEcriture) +// FIN +// //HOuvre(unGroupe,DonneMdpGroupeDeFichier(unGroupe,sNomBDD),hOLecture) +// FIN +faire +// Problème +// Il y a une différence de structure ? +si HErreur(hErrEnCours) = 70016 _ou_ ExceptionInfo(errCode)=70016 alors +bResultat = Vrai +//hferme("") +fin +fin +////SI nVerifStruct> 0 ALORS +//HVérifieStructure("*", hCompatible) +renvoyer bResultat +Procédure globale SvgContexteConnexion +// Résumé : +// Syntaxe : +//SvgContexteConnexion ( est connexion HFSQL) +// +// Paramètres : +// cnxLaConnexion (connexion HFSQL) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SvgContexteConnexion(cnxLaConnexion est une Connexion) +gcnxLaConnexionPrec..Serveur=cnxLaConnexion..Serveur +gcnxLaConnexionPrec..BaseDeDonnées=cnxLaConnexion..BaseDeDonnées +gcnxLaConnexionPrec..Provider=cnxLaConnexion..Provider +gcnxLaConnexionPrec..Utilisateur=cnxLaConnexion..Utilisateur +Procédure globale TraiteLesFichiers +06/08/2026 Isis_BO 6253 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +// Résumé : +// Syntaxe : +//TraiteLesFichiers ( est connexion HFSQL, est chaîne) +// +// Paramètres : +// cnxLaConnexion (connexion HFSQL) : +// sListeDesErreurs (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sHash_Hexa (chaîne ANSI) : +// sListeFichiers (chaîne ANSI) : +// sNomBDDOld (chaîne ANSI - valeur par défaut="") : +procédure TraiteLesFichiers(cnxLaConnexion est une Connexion,sListeDesErreurs est une chaîne) +//,sNomBDDOld est une chaine=""//,LOCAL sHash_Hexa est une chaine,LOCAL sListeFichiers est une chaine +//Pas d'erreurs +si sListeDesErreurs="" alors +//HVérifieStructure("*", hSansContrôle) +// Boucle sur l'ensemble des fichiers de chaque groupe +pour toute chaîne unGroupe de gsListeGrpFic séparée par RC +MotDePasseFichierEtModifDeStructure(cnxLaConnexion,DonneMdpGroupeDeFichier(unGroupe, +cnxLaConnexion..BaseDeDonnées),gtaGroupeFichierBDD[unGroupe],sListeDesErreurs) +//DonneMdpGroupeDeFichier(unGroupe,sNomBDDOld="" ? cnxLaConnexion..BaseDeDonnées SINON +sNomBDDOld) +,sNomBDDOld +fin +fin +// Vérification compatible de la structure de fichier +// Ainsi les modifications "les plus courantes" permettent +// quand même l'utilisation de l'application (voir HVérifieStructure) +//HVérifieStructure("*", hCompatible) +Procédure globale TraiteLesLiaisons +// Résumé : +// Syntaxe : +//TraiteLesLiaisons ( est connexion HFSQL, est entier, est +chaîne) +// +// Paramètres : +// cnxLaConnexion (connexion HFSQL) : +// nMode (entier) : +// sListeLiaisons (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// cnxLaConnexion : +procédure TraiteLesLiaisons(cnxLaConnexion est une Connexion,local nMode est un entier,local +sListeLiaisons est une chaîne) +// + TAB + +// + TAB + +// + TAB + +// + TAB + +// + TAB + +// + TAB + +// + TAB + +06/08/2026 Isis_BO 6254 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +// + TAB + +// + RC + ... +sInfoUneLiaison est une chaîne +UneLiaison est une Description de Liaison +pour chaque chaîne sInfoUneLiaison de sListeLiaisons séparée par RC +si sInfoUneLiaison <> "" alors +UneLiaison..Nom = ExtraitChaîne(sInfoUneLiaison, 1, TAB) +UneLiaison..FichierSource = Remplace(ExtraitChaîne(sInfoUneLiaison, 2, TAB), +cnxLaConnexion..BaseDeDonnées, ".", SansCasse) +UneLiaison..CléSource = ExtraitChaîne(sInfoUneLiaison, 3, TAB) +UneLiaison..CardinalitéSourceMin = ExtraitChaîne(ExtraitChaîne(sInfoUneLiaison, 4, TAB),1,"," +) +UneLiaison..CardinalitéSourceMax = Contient(ExtraitChaîne(ExtraitChaîne(sInfoUneLiaison, 4, +TAB),2,","),"N") ? hCardinalitéInfinie sinon ExtraitChaîne(ExtraitChaîne(sInfoUneLiaison, 4, +TAB),2,",") +UneLiaison..FichierRelié = Remplace(ExtraitChaîne(sInfoUneLiaison, 5, TAB), +cnxLaConnexion..BaseDeDonnées, ".", SansCasse) +UneLiaison..CléReliée = ExtraitChaîne(sInfoUneLiaison, 6, TAB) +UneLiaison..CardinalitéReliéeMin = ExtraitChaîne(ExtraitChaîne(sInfoUneLiaison, 7, TAB),1,"," +) +UneLiaison..CardinalitéReliéeMax = Contient(ExtraitChaîne(ExtraitChaîne(sInfoUneLiaison, 7, +TAB),2,","),"N") ? hCardinalitéInfinie sinon ExtraitChaîne(ExtraitChaîne(sInfoUneLiaison, 7, +TAB),2,",") +UneLiaison..RègleModification = ExtraitChaîne(sInfoUneLiaison, 8, TAB) +UneLiaison..RègleSuppression = ExtraitChaîne(sInfoUneLiaison, 9, TAB) +//Trace("Règle de Suppression >> " + UneLiaison..RègleSuppression=hIntégritéCascade ? "En +cascade" SINON UneLiaison..RègleSuppression + " >> " ) +// Suppression de la liaison du serveur HFSQL Client/Serveur +//Trace("Suppression >> " + UneLiaison..Nom + " >> " + ) +si nMode=0 alors +HSupprimeLiaison(cnxLaConnexion, UneLiaison) +sinon si nMode=1 alors +HAjouteLiaison(cnxLaConnexion,UneLiaison) +fin +fin +fin +Procédure globale UtilisateurHFSQLExiste +procédure UtilisateurHFSQLExiste(cnxLaConnexion est une Connexion,local sLogin est une chaîne) +renvoyer HInfoUtilisateur(cnxLaConnexion,sLogin) _et_ ChaîneFormate(HUtilisateur.Login,ccMajuscule)= +ChaîneFormate(sLogin,ccMajuscule) +Procédure globale ValideEnvironnement +procédure ValideEnvironnement(cnxLaConnexion est une Connexion,sListeDesErreurs est une chaîne,local +sInfoVersion est une chaîne,local nIndCnx est un entier,callBackConnexion est une procédure) +bConnexionFaite est un booléen +bContinue est un booléen +bEnModeTest est un booléen = EnModeTest() _et_ 1=1 +//Renseigne la variable de connexion Admin et les éléments du fichier INI +ModifieVariableDeConnexion(cnxLaConnexion,2,gsListeConnexion[nIndCnx]:gsAdresseIPServeur, +gsListeConnexion[nIndCnx]:gsPortServeur,gsListeConnexion[nIndCnx]:gsNomBDD,"Admin",Mdp3+"!"+Gauche( +gsListeConnexion[nIndCnx]:gsNomBDD,Taille(gsListeConnexion[nIndCnx]:gsNomBDD)-4))// +//SI ControleSauvegarde(cnxLaConnexion,sListeDesErreurs,gsInfoVersion) ALORS +//Mise à jour avant connexion +bContinue = MAJAvantSelonVersion(cnxLaConnexion,sListeDesErreurs,bEnModeTest) +//,gsListeConnexion[nIndiceConnexion]:gsAdresseIPServeur,gsListeConnexion[nIndiceConnexion]:gsPortServe +ur,gsListeConnexion[nIndiceConnexion]:gsNomBDD +06/08/2026 Isis_BO 6255 + +Partie 7 › Collection de procédures › COL_CONNEXION › Code +si bContinue _et_ InitConnexion(cnxLaConnexion,sListeDesErreurs,callBackConnexion) alors +bConnexionFaite = Vrai;bContinue = Vrai +RechercheNumVerion() +//Mise à jour après connexion +si bContinue alors MAJApresSelonVersion(cnxLaConnexion,sListeDesErreurs,sInfoVersion) +//FIN +renvoyer bConnexionFaite +06/08/2026 Isis_BO 6256 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Messages multilingues +COL_DOCUMENT +Messages multilingues +06/08/2026 Isis_BO 6257 +¹ +.ssem +°N +Message +1 FR: Le fichier existant ne peut être supprimé ! +2 FR: Erreur lors de la suppression du fichier +¹ N° mess. : numéro de message. +COL_DOCUMENT +Code +Déclaration de COL_DOCUMENT +gpCreationRepertoire est une procédure +gpRepertoireDoc est une procédure +Fic est une Structure +//sNomFichier est une chaine +sNomRubrique est une chaîne +sProprietee est une chaîne +sAnnexe 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 +Procédure globale AfficheListeDocuments +// Résumé : +// Syntaxe : +//AfficheListeDocuments ( est champ, est champ) +// +// Paramètres : +// champTableFichier (champ) : +// champImagePreview (champ) : +// Valeur de retour : +// Aucune +// +procédure AfficheListeDocuments(champTableFichier est un Champ,champImagePreview est un Champ) +TableSupprimeTout(champTableFichier) +champImagePreview="" + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +saNomRep est une chaîne ANSI = gpRepertoireDoc() +si fRépertoireExiste(saNomRep) alors +//txt_RepAffaire="\" +Milieu( saNomRep ,Taille(gsRacine)+1) +ChargeListeFichiers(champTableFichier) +si champTableFichier..Occurrence>0 alors +TableSelectPlus(champTableFichier,1) +ApercuFichier(champTableFichier.COL_Fichier,champImagePreview) +fin +sinon +//txt_RepAffaire="Dossier : (vide)" +fin +Procédure globale AjouteFichier +procédure AjouteFichier(local sListeFichiersChoisie est une chaîne,local nMode est un entier, +pclObj est un objet dynamique,Msg est une chaîne="",bDeplacePhys est un booléen=Faux) +//,champTableFichier est un champ,champImagePreview est un champ +bResultat est un booléen +//sFichier est une chaîne +si sListeFichiersChoisie<>"" _et_ pclObj<>Null alors +sRepRacine est une chaîne = DonneRepertoireRacine() +sRepertoireFichier est une chaîne +//Regarde si le répertoire racine existe et le créé dans le cas contraire +si fRépertoireExiste(sRepRacine) _ou_ fRepCrée(sRepRacine) alors +sReqSQL est une Requête SQL = +[ +SELECT Client.*,Lieu.*,Intervention.*,Dossier.*,ParametreMetier.*,Adresse.* +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 Dossier ON (DO_PKID=IN_IDDossier) +LEFT OUTER JOIN ParametreMetier ON (PA_PKID=IN_IDEtatIntervention) +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +WHERE Intervention.IN_PKID={P_IDIntervention} +] +sReqSQL.P_IDIntervention= pclObj:m_nPKID=-1 ? Null sinon pclObj:m_nPKID +si HExécuteRequête(sReqSQL,hRequêteDéfaut) alors +nIDDocAbsent est un entier sur 8 octets = gpclListeEtatDocument. +RechercheEtDonneIdDepuisValeur("0") +nIDDocPresent est un entier sur 8 octets = gpclListeEtatDocument. +RechercheEtDonneIdDepuisValeur("1") +sFormatRepDoc est une chaîne = DonneFormatRepertoireDoc() +tabRep est un tableau de Rep +DecodeRepertoire(sFormatRepDoc,tabRep) +//Boucle sur l'ensemble des cheminsde fichiers choisis +pour toute chaîne sUnFichier de sListeFichiersChoisie séparée par RC +si sUnFichier="" alors continue +//Récupération du nom du fichier avec son extension +//sFichier=fExtraitChemin(sUnFichier,fFichier+fExtension) +clErreur est un CErreur +clModele est un MDocument +clModele.m_nSuivi = 1 +clModele.m_sNom = fExtraitChemin(sUnFichier,fFichier+fExtension +) +06/08/2026 Isis_BO 6258 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +//Récupération du nom du fichier avec son extension +fExtraitChemin(ExtraitChaîne(sUnFichier,1,TAB),fFichier+fExtension) +clModele.m_nIDIntervention = pclObj:m_nPKID +//Affectation de l'id d'intervention au document +clModele.m_nIDCategorie = nMode=3 ? gpclListeCategorieDocument. +RechercheEtDonneIdDepuisValeur("4") sinon DonneCategorieDocSelonExtension(clModele. +m_sNom) //Détermine la catégorie selon l'extension +sRepertoireFichier = ComplèteRep(DonneRepertoireDocument(5, +pclObj,sReqSQL,clModele.m_nIDCategorie,tabRep,sRepRacine,sFormatRepDoc)) +//Recherche et Construit le chemin attendu +clModele.m_sCheminFichier = sRepertoireFichier+clModele.m_sNom +//Affectation du chemin pour ouverture depuis l'appli +bDroitCateg est un booléen = DroitAjoutDocument(clModele.m_nIDCategorie) +//Créé le répertoire de destination s'il n'existe pas, copie le fichier choisi dans la +destination et enregistre +si bDroitCateg _et_ (fRépertoireExiste(sRepertoireFichier) _ou_ fRepCrée( +sRepertoireFichier)) _et_ fCopieFichier(sUnFichier,clModele.m_sCheminFichier ) alors +clModele.m_nIDEtatDocument = nIDDocPresent +clModele.m_sCheminFichier = clModele.m_sCheminFichier +si pas bDeplacePhys _et_ clModele.bEnregistrer(clErreur) alors +//Ajout du document au tableau des docuements +TableauAjoute(pclObj:ListeDocument:m_clTabModele,clModele) +//Tout c'est bien passé +bResultat = Vrai +sinon si bDeplacePhys alors +//Tout c'est bien passé +bResultat = Vrai +fin +sinon +si bDroitCateg alors +//Si tout ne s'est pas bien passé, informe le fichier concerné +Msg+=[RC]+clModele.m_sNom + " (Erreur : "+ErreurInfo(errMessage)+")" +sinon +//Si tout ne s'est pas bien passé, informe le fichier concerné +Msg+=[RC]+clModele.m_sNom + " Vous n'avez pas le droit d'ajouter ce document" +fin +fin +fin +//Il y a un message à afficher +si Msg<>"" alors +Msg="Les fichiers suivant n'ont pas pu être ajoutés : "+RC+Msg +//+RC+"Erreur : " + ErreurInfo(errMessage)//Info("Le ou les fichiers suivant n'ont pu +être copié", +Msg,"Erreur : " + ErreurInfo(errMessage)) +fin +fin +// SELON nMode +// //Intervention +//// CAS 1 : +//// +sRepertoireClient est une chaîne = +DonneRepertoireClient(pclObj:FicheClient:m_sNom,pclObj:FicheClient:m_nPKID) +//// sRepertoireInterv est une chaine = DonneRepertoireIntervention(pclObj:m_nPKID) +//// +SI (fRépertoireExiste(sRepRacine+sRepertoireClient) _OU_ fRepCrée(sRepRacine+sRepertoireClient)) _et_ +(fRépertoireExiste(sRepRacine+sRepertoireClient+sRepertoireInterv) _OU_ +fRepCrée(sRepRacine+sRepertoireClient+sRepertoireInterv)) ALORS +//// sRepertoireFichier = ComplèteRep(sRepRacine+sRepertoireClient+sRepertoireInterv) +//// FIN +06/08/2026 Isis_BO 6259 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +| // | //Rapport | | | | | +| --- | ---------- | --- | --- | --- | --- | +| // | CAS 1,3 : | | | | | +// +// sReqSQL.P_IDIntervention= pclObj:m_nPKID=-1 ? Null SINON pclObj:m_nPKID +// SI HExécuteRequête(sReqSQL,hRequêteDéfaut+hModifieFichier) ALORS +// //sRepertoireFichier = ComplèteRep(DonneRepertoireDocument(3,pclObj,sReqSQL)) +| // | FIN | | | | | +| ------ | --- | --- | --- | --- | --- | +| // FIN | | | | | | +//SI fRépertoireExiste(sRepertoireFichier) _OU_ fRepCrée(sRepertoireFichier) ALORS +// POUR TOUTE chaîne sUnFichier de sListeFichiersChoisie SEPAREE par RC +| // | Fic=fExtraitChemin(sUnFichier,fFichier+fExtension) | | | | | +| --- | -------------------------------------------------- | --- | --- | --- | --- | +//// SI PAS fCopieFichier(sUnFichier,sRepertoireFichier + Fic ) ALORS +//// Msg=Msg + RC + fExtraitChemin(sUnFichier,fFichier+fExtension) +| //// | SINON | | | | | +| ---- | ----- | --- | --- | --- | --- | +//// Dte +=fDate(sRepertoireFichier + Fic,"",fModification)+""+fHeure(sRepertoireFichier + Fic,"",fModification) +//// si Dte="" _et_ EnModeTest() alors +| //// | trace(ErreurInfo(errComplet)) | | | | | +| ---- | ----------------------------- | --- | --- | --- | --- | +//// FIN +// //TableauAjoute(champTableFichier,Fic,Dte ) +// clErreur est un CErreur +// clModele est un MDocument +| // | clModele.m_nSuivi | | | = 1 | | +| --- | -------------------------- | --- | --- | ---------------- | --- | +| // | clModele.m_nIDIntervention | | | = pclObj:m_nPKID | | +// clModele.m_sNom += fExtraitChemin(ExtraitChaîne(sUnFichier,1,TAB),fFichier+fExtension) +// clModele.m_nIDCategorie += DonneCategorieDocSelonExtension(clModele.m_sNom) +// //(clModele.m_sHeriteDroit,sNomRepCateg) += DonneDroitCategorieDoc(clModele.m_nIDCategorie) +// sRepertoireFichier += ComplèteRep(DonneRepertoireDocument(5,pclObj,sReqSQL,clModele.m_nIDCategorie)) +// clModele.m_sCheminFichier = sRepertoireFichier+clModele.m_sNom +// +SI (fRépertoireExiste(sRepertoireFichier) _OU_ fRepCrée(sRepertoireFichier)) _ET_ +fCopieFichier(sUnFichier,clModele.m_sCheminFichier ) ALORS +// +| // | SI clModele.bEnregistrer(clErreur) ALORS | | | | | +| --- | ---------------------------------------- | ---------------- | --- | --- | --- | +| // | | bResultat = Vrai | | | | +// TableauAjoute(pclObj:ListeDocument:m_clTabModele,clModele) +| // | FIN | | | | | +| --- | --- | --- | --- | --- | --- | +// FIN +// SELON nMode +| // | //1 : Intervention | | | | | +| --- | ------------------ | --------------------- | --- | --- | --- | +| // | //2 : PJ | | | | | +| // | CAS 1,2 : | | | | | +| // | | //sRepertoireFichier | | | | += ComplèteRep(DonneRepertoireDocument(5,pclObj,sReqSQL,clModele.m_nIDCategorie)) +| // | | | | | | +| ---- | --- | ----------------------- | --- | --- | --- | +| // | | | | | | +| //// | | clModele.m_nIDCategorie | | | | += DonneCategorieDocSelonExtension(clModele.m_sNom) +| //// | | (clModele.m_sHeriteDroit,sNomRepCateg) | | | | +| ---- | --- | -------------------------------------- | --- | --- | --- | += DonneDroitCategorieDoc(clModele.m_nIDCategorie) +| //// | | sRepertoireFichier | | | | +| ---- | --- | ------------------- | --- | --- | --- | += Remplace(sRepertoireFichier,"?",sNomRepCateg) +| // | | //clModele.m_sCheminFichier | | | | +| --- | --- | --------------------------- | --- | --- | --- | += sRepertoireFichier+"\"+clModele.m_sNom +// +// +// +//CreationRepertoireCategorieSiInexistant(sRepertoireFichier,sRepAExclure,1) +// +// +| 06/08/2026 | | | Isis_BO | | 6260 | +| ---------- | --- | --- | ------- | --- | ---- | + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +//// +SI (fRépertoireExiste(sRepertoireFichier) _OU_ fRepCrée(sRepertoireFichier)) _et_ +fCopieFichier(sUnFichier,clModele.m_sCheminFichier ) ALORS +//// +| //// | SI clModele.bEnregistrer(clErreur) ALORS | | | | +| ---- | ---------------------------------------- | --- | --- | --- | +//// bResultat = Vrai +//// TableauAjoute(pclObj:ListeDocument:m_clTabModele,clModele) +| //// | FIN | | | | +| ---- | --- | --- | --- | --- | +| //// | FIN | | | | +// +| // //Rapport | | | | | +| ------------ | --------------------- | --- | --- | --- | +| // CAS 3 : | | | | | +| // | //sRepertoireFichier | | | | += ComplèteRep(DonneRepertoireDocument(5,pclObj,sReqSQL,clModele.m_nIDCategorie)) +// +| // | //clModele.m_nSuivi | | = 1 | | +| --- | ----------------------------- | --- | ---------------- | --- | +| // | //clModele.m_nIDIntervention | | = pclObj:m_nPKID | | +| // | //clModele.m_sNom | | | | += fExtraitChemin(ExtraitChaîne(sUnFichier,1,TAB),fFichier+fExtension) +| // | //clModele.m_nIDCategorie | | | | +| --- | ------------------------- | --- | --- | --- | += gpclListeCategorieDocument.RechercheEtDonneIdDepuisValeur("4") +| // | //(clModele.m_sHeriteDroit,sNomRepCateg) | | | | +| --- | ---------------------------------------- | --- | --- | --- | += DonneDroitCategorieDoc(clModele.m_nIDCategorie) +| // | //sRepertoireFichier | | | | +| --- | --------------------- | --- | --- | --- | += Remplace(sRepertoireFichier,"?",sNomRepCateg) +| // | clModele.m_sCheminFichier | | | | +| --- | -------------------------- | --- | --- | --- | += sRepertoireFichier+clModele.m_sNom +// +// +//CreationRepertoireCategorieSiInexistant(sRepertoireFichier,sRepAExclure,1) +// +// +SI (fRépertoireExiste(sRepertoireFichier) _OU_ fRepCrée(sRepertoireFichier)) _ET_ +fCopieFichier(sUnFichier,clModele.m_sCheminFichier ) ALORS +// +| // | SI clModele.bEnregistrer(clErreur) ALORS | | | | +| --- | ---------------------------------------- | --- | --- | --- | +// bResultat = Vrai +// TableauAjoute(pclObj:ListeRapport:m_clTabModele,clModele) +| // | FIN | | | | +| --- | ------------------------- | --- | --- | --- | +| // | SINON | | | | +| // | Msg+=[RC]+clModele.m_sNom | | | | +| // | FIN | | | | +// FIN +// //FIN +// FIN +// SI Msg<>"" ALORS +// Msg="Les fichiers suivant n'ont pas pu être ajoutés : "+RC+Msg ++RC+"Erreur : " + ErreurInfo(errMessage)//Info("Le ou les fichiers suivant n'ont pu être copié",Msg +,"Erreur : " + ErreurInfo(errMessage)) +// FIN +//FIN +//TableSelectPlus(champTableFichier,TableOccurrence(champTableFichier)) +//ApercuFichier(Fic,champImagePreview) +//txt_RepAffaire="\" +Milieu( gpRepertoireDoc() ,Taille(gsRacine)+1) +fin +fin +renvoyer bResultat +Procédure globale AjouteFichiersDropés +// Numéro du message : _Eve.wMessage +| 06/08/2026 | | Isis_BO | | 6261 | +| ---------- | --- | ------- | --- | ---- | + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +// Paramètre wParam : _Eve.wParam +// Paramètre lParam : _Eve.lParam +// Champ ou fenêtre concernée : _Eve.nom +procédure AjouteFichiersDropés(nMode est un entier,pclObj est un objet dynamique) +// Nombre de fichiers posés dans l'application par Drag and Drop +nbFic est un entier = ExplorerRécupère(_EVE.wParam) +sNomFic est une chaîne +// Récupération de tous les fichiers +pour i = 1 à nbFic +sNomFic += [RC] + ExplorerRécupère(_EVE.wParam, i) +AjouteFichier(sNomFic,nMode,pclObj) +fin +DemandeMiseAJourUIParent() +Procédure globale AjouterDesDocuments +// Résumé : +// Syntaxe : +//[ = ] AjouterDesDocuments ( est entier, est objet dynamique) +// +// Paramètres : +// nMode (entier) : +// pclObj (objet dynamique) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure AjouterDesDocuments(local nMode est un entier,pclObj est un objet dynamique,sMsg est une +chaîne="") +sListeFichiersChoisie est une chaîne +sListeFichiersChoisie=fSélecteur("", "", "Sélectionnez un fichier...", "Tous fichiers (*.*)"+TAB+"*.*", +"*", fselOuvre+fselExiste+fselMulti) +si sListeFichiersChoisie<>"" alors +renvoyer = AjouteFichier(sListeFichiersChoisie,nMode,pclObj,sMsg) +sinon +renvoyer Faux +fin +Procédure globale ApercuFichier +procédure ApercuFichier(NomFichier,champImagePreview est un Champ) +Sablier(Vrai) +Fic est une chaîne +Ext est une chaîne +Fic= gpRepertoireDoc() + NomFichier +si fFichierExiste(Fic) alors +Ext= fExtraitChemin(Fic,fExtension) +Ext=Majuscule(Ext[[2 à]]) +selon Ext +cas "BMP","JPG","JPEG","GIF", "PCD", "PCX", "PNG", "PSD", "TGA", "TIF","TIFF","EMF","WMF","ICO" +,"ICW","CUR" +champImagePreview=Fic +cas "PDF" +champImagePreview=Fic +autre cas +champImagePreview="" +fin +06/08/2026 Isis_BO 6262 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +fin +Sablier(Faux) +Procédure globale ChargeListeFichiers +// +procédure ChargeListeFichiers(champTableFichier est un Champ) +UnFichier, ResListeFichier,sElement sont des chaînes +NomFichier est une chaîne +DateFichier est une chaîne +N est un entier +// Le parcours se fait également dans les sous-répertoires et est interruptible. +ResListeFichier = fListeFichier(gpRepertoireDoc() + "*.*", frInformationComplète+frInterruptible+ +frSansFichierCaché+frNonRécursif) +// Pour chaque fichier trouvé +pour toute chaîne UnFichier de ResListeFichier séparée par RC +// Ajout du fichier dans la table TableFic +N=1 +pour toute chaîne sElement de UnFichier séparée par TAB +selon N //nom du fichier +cas 1 +NomFichier=fExtraitChemin(sElement,fFichier+fExtension) +cas 3 +DateFichier=sElement +fin +N++ +fin +TableAjouteLigne(champTableFichier, NomFichier,DateFichier) +fin +Procédure globale CollerFichier +// Résumé : +// Syntaxe : +//CollerFichier ( est champ, est entier, est objet dynamique) +// +// Paramètres : +// champTableFichier (champ) : +// nMode (entier) : +// pclObj (objet dynamique) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure CollerFichier(champTableFichier est un Champ,local nMode est un entier,pclObj est un objet +dynamique) +//Collage des noms de fichiers copiés d'une autre fiche +//Si les données du presse papier sont d'un format texte, il s'agit en principe d'un coller en +provenance d'une tab +//On utilise les fonctions Windev +sMsg est une chaîne="" +si PressePapierFormat(ppfTexte) alors +tbNomFic est un tableau de chaînes +I est un entier +06/08/2026 Isis_BO 6263 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +ChaîneVersTableau(PressePapier(),tbNomFic,";") +pour I=1 _à_ TableauInfo(tbNomFic,tiDimension) +si fFichierExiste(tbNomFic[I]) alors +AjouteFichier(tbNomFic[I],nMode,pclObj,sMsg) +fin +fin +sinon +NomFichier est une chaîne +PP est un cPressePapier +S est une chaîne +S=PP:ListeFormat() +si PositionOccurrence(S,"CF_HDROP",1)<>0 alors +//Récupération de fichiers en provenance de l'explorateur +S=PP:Contenu(15) +pour toute chaîne NomFichier de S séparée par RC +si fFichierExiste(NomFichier) alors +//AjouteFichier(NomFichier,champTableFichier,champImagePreview) +fin +fin +sinon si PositionOccurrence(S,"FileContents",1)<>0 alors +//Cela semble venir d'Outlook +//Nom de la pièce jointe +NomFichier=PP:ContenuParNomFormat("FileGroupDescriptor") +//On vérifie si il n'y à pas plusieurs noms de fichiers car on ne le gère pas. (le séparateur +est le CR) +si ChaîneOccurrence(NomFichier,CR)>0 alors +Info("Vous devez copier les pièces jointes d'Outlook Une par Une !") +retour +fin +si NomFichier<>"" alors +si gpCreationRepertoire() alors +Ecrasement est un booléen=Faux +si fFichierExiste(gpRepertoireDoc() + NomFichier) alors +selon Dialogue("") +// &Ecraser +cas 1 +si pas fSupprime(gpRepertoireDoc() + NomFichier) alors +Info("Le fichier existant ne peut être supprimé !") +retour +fin +Ecrasement=Vrai +// &Ne pas écraser +cas 2 +retour +fin +fin +//Ecriture +du contenu du Presse papier dans un nouveau fichier que l'on nomme comme la pièce +jointe copiées +Fic est un entier +Fic=fCrée(gpRepertoireDoc() + NomFichier) +fEcrit(Fic,PP:ContenuParNomFormat("FileContents")) +06/08/2026 Isis_BO 6264 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +fFerme(Fic) +TableSelectMoins(champTableFichier) +si pas Ecrasement alors +//On ajoute le nom du fichier et la date du jour +TableAjouteLigne(champTableFichier,NomFichier,DateSys() + HeureSys() ) +sinon +//Dans le cas d'un écrasement, on met à jour la date dans la table +TableSelectPlus(champTableFichier, TableCherche(champTableFichier.COL_Fichier, +NomFichier)) +champTableFichier.COL_DateFichier=DateSys()+ HeureSys() +fin +fin +fin +fin +fin +Procédure globale CopierFichier +// Résumé : +// Syntaxe : +//CopierFichier ( est entier, est objet dynamique) +// +// Paramètres : +// nMode (entier) : +// pclObj (objet dynamique) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// champTableFichier (champ) : +procédure CopierFichier(local nMode est un entier,pclObj est un objet dynamique) +//champTableFichier est un champ +S est une chaîne +//Colle dans le presse papier, les noms des fichiers sélectionnés séparés par un ; +selon nMode +cas 1 : +sRepRacine est une chaîne = DonneRepertoireRacine() +sFormatRepDoc est une chaîne = DonneFormatRepertoireDoc() +tabRep est un tableau de Rep +DecodeRepertoire(sFormatRepDoc,tabRep) +pour i = 1 _à_ pclObj:ListeDocument:p_nTotal +S+=[";"] + DonneRepertoireDocument(nMode,pclObj,Null,0,tabRep,sRepRacine,sFormatRepDoc)+ +pclObj:ListeDocument:m_clTabModele[i]:m_sNom +fin +fin +//POUR TOUTE LIGNE SELECTIONNEE DE champTableFichier +// +//FIN +si S<>"" alors +VersPressePapier(S) +fin +Procédure globale CreationRepertoireCategorieSiInexistant +06/08/2026 Isis_BO 6265 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +procédure CreationRepertoireCategorieSiInexistant(sCheminFichiers,sRepAExclure,nMode est un entier=0) +pour i = 1 _à_ gpclListeCategorieDocument.p_nTotal +si gpclListeCategorieDocument.m_clTabModele[i]:m_sValeur<>"4" _et_ gpclListeCategorieDocument. +m_clTabModele[i]:m_sValeur<>"0" alors +si nMode=0 alors +si pas fRépertoireExiste(ComplèteRep(sCheminFichiers)+gpclListeCategorieDocument. +m_clTabModele[i]:m_sLibelle) alors +fRepCrée(ComplèteRep(sCheminFichiers)+gpclListeCategorieDocument.m_clTabModele[i]:m_s +Libelle) +fin +sinon si nMode=1 alors +stDroitCateg est un STParamCategDoc +sParametreJSON est une chaîne =gpclListeCategorieDocument. +RechercheEtDonneParametreDepuisId(gpclListeCategorieDocument.m_clTabModele[i]:m_nPKID) +si sParametreJSON<>"" alors +Désérialise(stDroitCateg,sParametreJSON,psdJSON) +si Contient(sCheminFichiers,stDroitCateg:sNomRepertoire) alors +sCheminCateg est une chaîne = ComplèteRep(ExtraitChaîne(sCheminFichiers,1,"\"+ +stDroitCateg:sNomRepertoire+"\"))+stDroitCateg:sNomRepertoire+"\" +si pas fRépertoireExiste(ComplèteRep(sCheminCateg)) alors +fRepCrée(ComplèteRep(sCheminCateg)) +fin +fin +fin +fin +sinon si gpclListeCategorieDocument.m_clTabModele[i]:m_sValeur="4" +sRepAExclure = ComplèteRep(sCheminFichiers)+gpclListeCategorieDocument.m_clTabModele[i]:m_s +Libelle +si nMode=0 alors +si pas fRépertoireExiste(ComplèteRep(sCheminFichiers)+gpclListeCategorieDocument. +m_clTabModele[i]:m_sLibelle) alors +fRepCrée(ComplèteRep(sCheminFichiers)+gpclListeCategorieDocument.m_clTabModele[i]:m_s +Libelle) +fin +sinon si nMode=1 alors +stDroitCateg est un STParamCategDoc +sParametreJSON est une chaîne =gpclListeCategorieDocument. +RechercheEtDonneParametreDepuisId(gpclListeCategorieDocument.m_clTabModele[i]:m_nPKID) +si sParametreJSON<>"" alors +Désérialise(stDroitCateg,sParametreJSON,psdJSON) +si Contient(sCheminFichiers,stDroitCateg:sNomRepertoire) +sCheminCateg est une chaîne = ComplèteRep(ExtraitChaîne(sCheminFichiers,1,"\"+ +stDroitCateg:sNomRepertoire+"\"))+stDroitCateg:sNomRepertoire+"\" +si pas fRépertoireExiste(ComplèteRep(sCheminCateg)) alors +fRepCrée(ComplèteRep(sCheminCateg)) +fin +fin +fin +fin +fin +fin +Procédure globale DecodeRepertoire +// Résumé : +// Syntaxe : +//DecodeRepertoire ( est chaîne, est tableau) +// +// Paramètres : +// sCheminEtFormat (chaîne ANSI) : +// tabRep (tableau) : +// Valeur de retour : +// Aucune +06/08/2026 Isis_BO 6266 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +// +// 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 +) 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.sNomRubrique = sUneRubrique +si sUnePropriete<>"" alors +UnFic.sProprietee = sUnePropriete +fin +si sUneAnnexe<>"" alors +UnFic.sAnnexe = "SELECT "+ExtraitChaîne(sUneAnnexe,1,"|")+" AS C1 FROM "+ +06/08/2026 Isis_BO 6267 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +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 +//POUR i = 1 _A_ tabRep..Occurrence +// POUR j = 1 _A_ tabRep[i].tabRub..Occurrence +// +// POUR TOUTE CHAINE unFichier DE gsListeFichier SEPAREE PAR RC +// sListeRubrique est un chaine = HListeRubrique(unFichier) +// SI contient(sListeRubrique,tabRep[i].tabRub[j],MotComplet) ALORS +// //HLitRecherche(unFichier,tabRep[i].tabRub[j],) +// tabRep[i].sNomRepFormate = remplace(tabRep[i].sNomRep,tabRep[i].tabRub[j],) +// FIN +// FIN +// gsListeFichier +// //HListeRubrique() +// FIN +//FIN +//info("ok") +Procédure globale DecodeRepertoireTest +// Résumé : +// Syntaxe : +//DecodeRepertoireTest ( est chaîne, est tableau, est source de +données) +// +// Paramètres : +// sCheminEtFormat (chaîne ANSI) : +// tabRep (tableau) : +// sdRequete (source de données) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DecodeRepertoireTest(local sCheminEtFormat est une chaîne,tabRep est un tableau de Rep, +sdRequete est une Source de Données) +sChaine est une chaîne = sCheminEtFormat//"D:\Documents\[CL_Nom] [CL_PKID]\Intervention [IN_PKID]" +sReqSQL est une Requête SQL = +[ +SELECT Client.*,Lieu.*,Intervention.*,Dossier.*,ParametreMetier.* +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 Dossier ON (DO_PKID=IN_IDDossier) +INNER JOIN ParametreMetier ON (ParametreMetier.PA_PKID=IN_IDEtatIntervention) +WHERE Intervention.IN_PKID={P_IDIntervention} +] +sReqSQL.P_IDIntervention= "" +si HExécuteRequêteSQL(sdRequete,hRequêteDéfaut,sReqSQL..CodeSQL) alors +fin +//Rep est une structure +// sNomRep est une chaine +// tabRub est un tableau de chaînes +//fin +06/08/2026 Isis_BO 6268 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +//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 +boucle +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 +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 +si sUneRubrique<>EOT _et_ sUneRubrique<>"" alors +UnFic est un Fic +UnFic.sNomRubrique = sUneRubrique +si sUnePropriete<>"" alors +UnFic.sProprietee = sUnePropriete +fin +sListeRubrique est un chaîne = HListeRubrique(sdRequete) +si Contient(sListeRubrique,sUneRubrique,MotComplet) alors +//UnFic.sNomFichier = unFichier +break +fin +//FIN +TableauAjoute(tabRep[nIndice].tabRub,UnFic) +fin +à faire tantque sUneRubrique<>"" _et_ sUneRubrique<>EOT +fin +fin +//POUR i = 1 _A_ tabRep..Occurrence +// POUR j = 1 _A_ tabRep[i].tabRub..Occurrence +// +// POUR TOUTE CHAINE unFichier DE gsListeFichier SEPAREE PAR RC +// sListeRubrique est un chaine = HListeRubrique(unFichier) +// SI contient(sListeRubrique,tabRep[i].tabRub[j],MotComplet) ALORS +// //HLitRecherche(unFichier,tabRep[i].tabRub[j],) +// tabRep[i].sNomRepFormate = remplace(tabRep[i].sNomRep,tabRep[i].tabRub[j],) +// FIN +// FIN +// gsListeFichier +// //HListeRubrique() +// FIN +//FIN +//info("ok") +Procédure globale DecodeRepSLAMM +06/08/2026 Isis_BO 6269 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +procédure DecodeRepSLAMM(sreqsql est une Source de Données, sRepRacine est une chaîne, sFormatRepDoc +est une chaîne, local nIdCat est un entier sur 8 octets = 0,local nMode est un entier = 0) +//[LI_CodeLieu] #[LI_PKID] - [LI_IDAdresse] - +[LI_IDAdresse] ##INTERV\?\ +//[IN_DateIntervention]{..Année} [IN_DateIntervention]{..Mois} +[DO_IDTypeDossier] [IN_RefInterne] +//[LI_CodeLieu] #[LI_PKID] - [AD_Ligne_4] #[AD_PKID] - [AD_Ville] #[AD_Ligne_4] +##INTERV\#[DC_Categorie]\ +//[IN_DateIntervention]{..Année} #[IN_PKID] [IN_DateIntervention]{..Mois} #[IN_PKID] [IN_RefInterne] +#[IN_PKID] +//\\slamm-ad01\share\Service entretien\Sites\ +//9 quai Jean Moulin - 9 quai Jean Moulin - LYON ##INTERV\Photos\2022 8 Entretien DI000017-3 +// \\slamm-ad01\share\Service entretien\Sites\Monsieur Gilles BARATIN - Quai Jean Jacques Rousseau - La +Mulatiere\Photos +Param est un JSON +sCheminFichier est une chaîne ANSI +sCheminFichier += sreqsql.LI_CodeLieu +sCheminFichier += " - " +sCheminFichier += sreqsql.AD_Ligne_4 +sCheminFichier += " - " +sCheminFichier += sreqsql.AD_Ville +si Contient(sFormatRepDoc,"##INTERV") alors +sCheminFichier += " ##INTERV" +fin +sCheminFichier += "\" +si nMode <> 1 alors +si nIdCat <= 0 alors +si sreqsql.DC_Categorie > 0 alors +nIdCat = sreqsql.DC_Categorie +fin +fin +si nIdCat > 0 alors +HLitRecherchePremier(ParametreMetier,PA_PKID,nIdCat) +si HTrouve(ParametreMetier) alors +Param = ChaîneVersJSON(ParametreMetier.PA_Parametre) +sCheminFichier += Param.sNomRepertoire +fin +fin +sCheminFichier += "\" +sCheminFichier += sreqsql.IN_DateIntervention..Année +sCheminFichier += " " +sCheminFichier += sreqsql.IN_DateIntervention..Mois +sCheminFichier += " " +sCheminFichier += gpclListeTypeDossier.RechercheEtDonneLibelleDepuisID(sreqsql. +DO_IDTypeDossier) +sCheminFichier += " " +sCheminFichier += sreqsql.IN_RefInterne +fin +06/08/2026 Isis_BO 6270 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +renvoyer sCheminFichier +Procédure globale DonneCategorieDocSelonExtension +// Résumé : +// Syntaxe : +//[ = ] DonneCategorieDocSelonExtension ( est chaîne) +// +// Paramètres : +// sFichier (chaîne ANSI) : +// Valeur de retour : +// Type indéterminé : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneCategorieDocSelonExtension(sFichier est une chaîne) +Ext est une chaîne= fExtraitChemin(sFichier,fExtension) +Ext=Majuscule(Ext[[2 à]]) +selon Ext +cas "BMP","JPG","JPEG","GIF", "PCD", "PCX", "PNG", "PSD", "TGA", "TIF","TIFF","EMF","WMF","ICO", +"ICW","CUR" +renvoyer gpclListeCategorieDocument.RechercheEtDonneIdDepuisValeur("1") +cas "PDF" +renvoyer gpclListeCategorieDocument.RechercheEtDonneIdDepuisValeur("2") +autre cas +renvoyer gpclListeCategorieDocument.RechercheEtDonneIdDepuisValeur("2") +fin +Procédure globale DonneDroitCategorieDoc +// Résumé : +// Syntaxe : +//[ = ] DonneDroitCategorieDoc ( est entier sur 8 octets) +// +// Paramètres : +// nIDCategorie (entier sur 8 octets) : +// Valeur de retour : +// multi-valeur : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneDroitCategorieDoc(nIDCategorie est un entier sur 8 octets) +sCodeDroit est une chaîne +sNomRepertoire est une chaîne +stDroitCateg est un STParamCategDoc +sParametreJSON est une chaîne = gpclListeCategorieDocument.RechercheEtDonneParametreDepuisId( +nIDCategorie) +si sParametreJSON<>"" alors +Désérialise(stDroitCateg,sParametreJSON,psdJSON) +sCodeDroit = stDroitCateg.sCodeDroit +sNomRepertoire = stDroitCateg.sNomRepertoire +fin +renvoyer (sCodeDroit,sNomRepertoire) +Procédure globale DonneFormatRepertoireDoc +// Résumé : +// Syntaxe : +//[ = ] DonneFormatRepertoireDoc () +// +06/08/2026 Isis_BO 6271 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +// Paramètres : +// Aucun +// Valeur de retour : +// chaîne ANSI : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneFormatRepertoireDoc() +sFormatRepDoc est une chaîne +si HLitRecherchePremier(ParametreApplication,PAP_Code,FormatRepDocument) alors sFormatRepDoc= +ParametreApplication.PAP_Valeur +renvoyer sFormatRepDoc +Procédure globale DonneRepertoireCategorie +// Résumé : +// Syntaxe : +//[ = ] DonneRepertoireCategorie ( est entier sur 8 octets) +// +// Paramètres : +// nIDCategorie (entier sur 8 octets) : +// Valeur de retour : +// chaîne ANSI : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sFormatRepDoc (chaîne ANSI) : +procédure DonneRepertoireCategorie(nIDCategorie est un entier sur 8 octets) +nIndice est un entier = TableauCherche(gpclListeCategorieDocument:m_clTabModele,tcLinéaire,"m_nPKID", +nIDCategorie,1) +si nIndice>0 alors +renvoyer gpclListeCategorieDocument:m_clTabModele[nIndice]:m_sLibelle +sinon +renvoyer "" +fin +Procédure globale DonneRepertoireClient +procédure DonneRepertoireClient(local sNomClient est une chaîne,local nIDClient est un entier sur 8 +octets) +sFormatRepClient est une chaîne +sNomRepertoireClient est une chaîne +si HLitRecherchePremier(ParametreApplication,PAP_Code,FormatRepClient) alors +sFormatRepClient=ParametreApplication.PAP_Valeur +si sFormatRepClient<>"" alors +sNomRepertoireClient = ComplèteRep(Remplace(Remplace(sFormatRepClient,"[CL_Nom]",sNomClient, +MotComplet+SansCasse),"[CL_PKID]",nIDClient,MotComplet+SansCasse)) +fin +fin +renvoyer sNomRepertoireClient +Procédure globale DonneRepertoireDocument +// Résumé : +// Syntaxe : +//[ = ] DonneRepertoireDocument ( est entier, est objet dynamique, est source de données, est entier sur 8 octets, est tableau (Rep) [, + est chaîne [, est chaîne]]) +// +// Paramètres : +// nMode (entier) : +06/08/2026 Isis_BO 6272 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +// pclObj (objet dynamique) : +// sreqsql (source de données) : +// nIDCategDoc (entier sur 8 octets) : +// tabRep (tableau (Rep)) : +// sRepRacine (chaîne ANSI) : +// sFormatRepDoc (chaîne ANSI) : +// Valeur de retour : +// chaîne ANSI : +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneRepertoireDocument(local nMode est un entier,pclObj est un objet dynamique,sreqsql est +une Source de Données,nIDCategDoc est un entier sur 8 octets,tabRep est un tableau de Rep,sRepRacine +est une chaîne = DonneRepertoireRacine(),local sFormatRepDoc est une chaîne=DonneFormatRepertoireDoc()) +sRepertoireFichier est une chaîne +//sFormatRepDoc est une chaîne +//SI fRépertoireExiste(sRepRacine) _OU_ fRepCrée(sRepRacine) ALORS +selon nMode +//Intervention +cas 1 : +sRepertoireClient est une chaîne = DonneRepertoireClient(pclObj:FicheClient:m_sNom,pclObj: +FicheClient:m_nPKID) +sRepertoireInterv est une chaîne = DonneRepertoireIntervention(pclObj:m_nPKID) +si (fRépertoireExiste(sRepRacine+sRepertoireClient) _ou_ fRepCrée(sRepRacine+ +sRepertoireClient)) _et_ (fRépertoireExiste(sRepRacine+sRepertoireClient+sRepertoireInterv +) _ou_ fRepCrée(sRepRacine+sRepertoireClient+sRepertoireInterv)) alors +sRepertoireFichier = ComplèteRep(sRepRacine+sRepertoireClient+sRepertoireInterv) +fin +cas 2,3 : +si tabRep..Occurrence=0 alors DecodeRepertoire(sFormatRepDoc,tabRep) +sRepertoireFichier =sRepRacine+RemplaceRubriqueCheminFichier(1,tabRep,sreqsql, +sFormatRepDoc,"",0) +cas 4 : +si tabRep..Occurrence=0 alors DecodeRepertoire(sFormatRepDoc,tabRep) +sRepertoireFichier =sRepRacine+RemplaceRubriqueCheminFichier(0,tabRep,sreqsql, +sFormatRepDoc,sRepRacine,0) +cas 5 : +si tabRep..Occurrence=0 alors DecodeRepertoire(sFormatRepDoc,tabRep) +sRepertoireFichier =sRepRacine+RemplaceRubriqueCheminFichier(9,tabRep,sreqsql, +sFormatRepDoc,sRepRacine,nIDCategDoc) +fin +//FIN +renvoyer sRepertoireFichier +Procédure globale DonneRepertoireFichierInterv +procédure DonneRepertoireFichierInterv(nId est un entier sur 8 octets,nIdCateg est un entier sur 8 +octets) +sLibCateg est une chaîne = gpclListeCategorieDocument.RechercheEtDonneLibelleDepuisID(nIdCateg) +sReqSQL est une Requête SQL = +[ +SELECT Client.*,Lieu.*,Intervention.*,Dossier.*,ParametreMetier.*,Adresse.* +FROM Intervention +06/08/2026 Isis_BO 6273 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +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 Dossier ON (DO_PKID=IN_IDDossier) +LEFT OUTER JOIN ParametreMetier ON (ParametreMetier.PA_PKID=IN_IDEtatIntervention) +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +WHERE Intervention.IN_PKID={P_IDIntervention} +] +sReqSQL.P_IDIntervention= nId +sRepertoireFichier est une chaîne +si HExécuteRequête(sReqSQL,hRequêteDéfaut+hModifieFichier) alors +//Astuce : Modification de la requête avec le libellé de la catégorie pour une utilisation dans la +méthode sReqSQL +//sReqSQL.PA_Libelle = sLibCateg +//trace(sReqSQL.PA_Libelle) +sRepertoireFichier = ComplèteRep(DonneRepertoireDocument(3,Null,sReqSQL,0,Null,*,"")) +//sRepertoireFichier = Remplace(sRepertoireFichier,"?",stDroitCateg.sNomRepertoire) +//sRepertoireFichier = ComplèteRep(DonneRepertoireDocument(3,Null,sReqSQL)) +fin +renvoyer sRepertoireFichier +Procédure globale DonneRepertoireIntervention +procédure DonneRepertoireIntervention(local nIDIntervention est un entier sur 8 octets) +sFormatRepInterv est une chaîne +sNomRepertoireInterv est une chaîne +si HLitRecherchePremier(ParametreApplication,PAP_Code,FormatRepIntervention) alors +sFormatRepInterv=ParametreApplication.PAP_Valeur +si sFormatRepInterv<>"" alors +sNomRepertoireInterv = ComplèteRep(Remplace(sFormatRepInterv,"[IN_PKID]",nIDIntervention, +MotComplet+SansCasse)) +fin +fin +renvoyer sNomRepertoireInterv +Procédure globale DonneRepertoireRacine +procédure DonneRepertoireRacine() +sRepRacine est une chaîne +si EnModeTest() alors +sRepRacine = "C:\BatikDoc\Documents Batik\" +sinon +si HLitRecherchePremier(ParametreApplication,PAP_Code,RepertoireDocument) alors +sRepRacine = fExtraitChemin(ComplèteRep(ParametreApplication.PAP_Valeur),fDisque+fRépertoire) +fin +fin +renvoyer sRepRacine +Procédure globale DroitAjoutDocument +// Résumé : +// Syntaxe : +//[ = ] DroitAjoutDocument ( est entier sur 8 octets) +// +// Paramètres : +// idCategorie (entier sur 8 octets) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +06/08/2026 Isis_BO 6274 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +procédure DroitAjoutDocument(local idCategorie est un entier sur 8 octets) +bResultat est un booléen +si HLitRecherchePremier(ParametreMetier,PA_PKID,idCategorie) alors +sFiltre1 est une chaîne = ChaîneConstruit("PA_Code='29' AND PA_CleLiaison='%1'",ParametreMetier. +PA_Code+","+ParametreMetier.PA_Valeur) +sCleFiltre est une chaîne = HFiltre(ParametreMetier,sFiltre1) +HLitPremier(ParametreMetier,sCleFiltre,hRespecteFiltre) +si pas HEnDehors(ParametreMetier) alors +sFiltre2 est une chaîne = ChaîneConstruit("AED_IDModule=%1 AND AED_IDPRofil=%2 AND AED_ACCES=1" +,ParametreMetier.PA_PKID,gpclFicheUtilisateurEnCours.m_nIDTypeProfil) +sCleFiltre2 est une chaîne = HFiltre(AccesEtDroit,sFiltre2) +HLitPremier(AccesEtDroit,sCleFiltre2,hRespecteFiltre) +si pas HEnDehors(AccesEtDroit) alors +bResultat = Vrai +fin +HDésactiveFiltre(AccesEtDroit) +fin +HDésactiveFiltre(ParametreMetier) +fin +renvoyer bResultat +Procédure globale EnvoieFichier +// Résumé : +// Syntaxe : +//EnvoieFichier ( est champ) +// +// Paramètres : +// champTableFichier (champ) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure EnvoieFichier(champTableFichier est un Champ) +si TableSelectOccurrence(champTableFichier)=0 alors retour +S est une chaîne +//Copie dans une chaine, les noms des fichiers sélectionnés séparés par un ; +pour toute ligne sélectionnée de champTableFichier +S+=[";"] + gpRepertoireDoc() + champTableFichier.COL_Fichier +fin +//EnvoiEmail(gpEmailDestinataire(),"","Documents","",S,Non) +//AjouteActions(7,"Envoi de document par mail") +Procédure globale OuvrirFichier +// Résumé : +// Syntaxe : +//OuvrirFichier ( est champ) +// +// Paramètres : +// champTableFichier (champ) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +06/08/2026 Isis_BO 6275 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +procédure OuvrirFichier(champTableFichier est un Champ) +si champTableFichier.COL_Fichier<>"" alors +LanceAppliAssociée( gpRepertoireDoc() + champTableFichier.COL_Fichier) +fin +Procédure globale RemplaceRubriqueCheminFichier +// Résumé : +// Syntaxe : +//[ = ] RemplaceRubriqueCheminFichier ( est entier, est tableau (Rep), < +sreqsql +> est source de données, est chaîne, est chaîne, est entier +sur 8 octets) +// +// Paramètres : +// nMode (entier) : +// tabRep (tableau (Rep)) : +// sreqsql (source de données) : +// sFormatRepDoc (chaîne ANSI) : +// sRepRacine (chaîne ANSI) : +// nIDCategorie (entier sur 8 octets) : +// Valeur de retour : +// chaîne ANSI : +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sRepertoireFichier : +// sRepRacine (chaîne ANSI) : +// sRepRacine (chaîne ANSI) : +// sListeFichier (chaîne ANSI - valeur par défaut="") : +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,nIDCategorie est un entier +sur 8 octets)//,sRepRacine est une chaine = DonneRepertoireRacine() +sRepFichier est une chaîne + +sRepFichier = DecodeRepSLAMM(sreqsql,sRepRacine,sFormatRepDoc,nIDCategorie, nMode) +renvoyer sRepFichier + +//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 +si nMode dans (0,9) alors +sRepCherche est un chaîne +sVariable est une chaîne +sChaineAnalise est une chaîne ANSI +si Contient(tabRep[i].sNomnIDRubRep,"DC_Categorie") _et_ nIDCategorie>0 alors +//sVariable = sRepTemp+"*#"+sansespace(NumériqueVersChaîne(nIDCategDoc,"16d")) +sChaineAnalise = SansEspace(nIDCategorie) +sVariable = sRepTemp+"*#"+sChaineAnalise +//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 +06/08/2026 Isis_BO 6276 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +sinon si Contient(sListeRubEnreg,tabRep[i].sNomnIDRubRep) alors +sChaineAnalise = SansEspace({sreqsql,tabRep[i].sNomnIDRubRep}) +sVariable = sRepTemp+"*#"+sChaineAnalise +fin +sRepCherche = fRep(sVariable, frRépertoire) +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") et nIDCategorie>0 alors +sDroit est une chaîne +sNomRep est une chaîne +(sDroit,sNomRep) = DonneDroitCategorieDoc(nIDCategorie) +sFormatRepDoc=Remplace(sFormatRepDoc,tabRep[i].sNomRep,sNomRep+" #"+SansEspace( +nIDCategorie)) +sRepTemp += sNomRep+" #"+SansEspace(nIDCategorie)+["\"] +sinon si Contient(tabRep[i].sNomnIDRubRep,"DC_Categorie") et nIDCategorie<=0 alors +nIDCategorie = gpclListeCategorieDocument.RechercheEtDonneIdDepuisValeur("0") +sDroit est une chaîne +sNomRep est une chaîne +(sDroit,sNomRep) = DonneDroitCategorieDoc(nIDCategorie) +sFormatRepDoc=Remplace(sFormatRepDoc,tabRep[i].sNomRep,sNomRep+" #"+SansEspace( +nIDCategorie)) +sRepTemp += sNomRep+" #"+SansEspace(nIDCategorie)+["\"] +sinon +TraiteRubriqueRep(tabRep[i],sListeRubEnreg,sreqsql,sFormatRepDoc) +fin +// 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,"*","")) +sinon +si Contient(tabRep[i].sNomnIDRubRep,"DC_Categorie") alors +sDroit est une chaîne +sNomRep est une chaîne +(sDroit,sNomRep) = DonneDroitCategorieDoc(nIDCategorie) +sFormatRepDoc=Remplace(sFormatRepDoc,tabRep[i].sNomRep,sNomRep+" #"+SansEspace( +nIDCategorie)) +sRepTemp += sNomRep+" #"+SansEspace(nIDCategorie)+["\"] +sinon +TraiteRubriqueRep(tabRep[i],sListeRubEnreg,sreqsql,sFormatRepDoc) +fin +fin +sinon +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 = "" +06/08/2026 Isis_BO 6277 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +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].sNomRubrique +sNomPropriete est une chaîne = stUnRep.tabRub[j].sProprietee +sAnnexe est une chaîne = stUnRep.tabRub[j].sAnnexe +//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(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 +renvoyer sRepFichier +Procédure globale RenommerAcienFormatRepDocBis +// Résumé : +// Syntaxe : +//RenommerAcienFormatRepDocBis ( est champ, est entier, +est chaîne, est champ, est champ) +// +// Paramètres : +// chpTable (champ) : +// nIndiceChpTable (entier) : +// sRepDejaTraite (chaîne ANSI) : +// chpLibOk (champ) : +// chpLibNOk (champ) : +// Valeur de retour : +// Aucune +// +06/08/2026 Isis_BO 6278 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +procédure RenommerAcienFormatRepDocBis(chpTable est un Champ,local nIndiceChpTable est un entier, +sRepDejaTraite est une chaîne,chpLibOk est un Champ,chpLibNOk est un Champ) +sDisqueActuel est une chaîne +sRepActuel est une chaîne +nNumRep est un entier +sUnRepARenomer est une chaîne +nNumRepDest est un entier +sDisqueDest est une chaîne +sRepDest est une chaîne +sUnRepRenome est une chaîne +sSvgRep est une chaîne +bPrincipal est un booléen +//TableSelectPlus(chpTable,nIndiceChpTable) +//chpTable=nIndiceChpTable +//Initialise le nom du répertoire de départ +sUnRepARenomer = "" +si sRepDejaTraite="" alors bPrincipal = Vrai +//Si le répertoire reste à renommer et que l'on souhaite le renommer +si pas chpTable[nIndiceChpTable].COL_Etat dans ("interdit.png","validedoc.png") _et_ chpTable[ +nIndiceChpTable].COL_SEL=Vrai alors +//Variable pour savoir si le renommage c'est bien passé +bRenome est un booléen +bContinue est un booléen +//Si le répertoire de départ existe et que le répertoire de destination n'existe pas +si (fRépertoireExiste(fExtraitChemin(chpTable[nIndiceChpTable].COL_Fichiers_à_migrer,fDisque+ +fRépertoire)) _et_ pas fRépertoireExiste(fExtraitChemin(chpTable[nIndiceChpTable].COL_CheminDest, +fDisque+fRépertoire)) )... +_ou_ (chpTable[nIndiceChpTable].COL_CHEMINMODIFIE) alors +//Sauvegarde du disque de départ pour traitement lors du renommage +sDisqueActuel = fExtraitChemin(chpTable[nIndiceChpTable].COL_Fichiers_à_migrer, +fDisque) +//Récupère le nom du répertoire et des sous-répertoires actuellement en place +sRepActuel = fExtraitChemin(chpTable[nIndiceChpTable].COL_Fichiers_à_migrer, +fRépertoire) +//Sauvegarde du disque de destination pour traitement lors du renommage +sDisqueDest = fExtraitChemin(chpTable[nIndiceChpTable].COL_CheminDest,fDisque) +//Récupère le nom du répertoire et des sous-répertoires actuellement en place +sRepDest = fExtraitChemin(chpTable[nIndiceChpTable].COL_CheminDest, +fRépertoire) +//Initialise le nombre de répertoire parcouru dans le chemin de départ +nNumRep = 0 +pour toute chaîne sUnRep de sRepActuel séparée par ["\"] +si sUnRep<>"" alors +//Reconstruction de la chaine à renommer au fur à mesure du parcour +sUnRepARenomer = sUnRepARenomer+"\"+sUnRep +si sSvgRep="" _ou_ sSvgRep<>sUnRepARenomer alors +sSvgRep = sUnRepARenomer +bContinue = Vrai +fin +//Initialise le nombre de répertoire parcouru dans le chemin de départ +nNumRep += 1 +fin +fin +si pas bContinue alors retour +//Boucle sur tous les répertoires et sous-répertoires +pour toute chaîne sUnRep de sRepActuel séparée par ["\"] DEPUISFIN +06/08/2026 Isis_BO 6279 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +si sUnRep<>"" alors +// //Reconstruction de la chaine à renommer au fur à mesure du +parcour +// sUnRepARenomer = sUnRepARenomer+"\"+sUnRep +//Décrémentation du nombre de répertoire parcouru dans le chemin de départ +nNumRep -= 1 +//Initialise le nombre de répertoire parcouru dans le chemin d'arrivé +nNumRepDest = 0 +//Initialise le nom du répertoire de destination +sUnRepRenome = "" +//(re)Initialise la variable permettant de savoir si le renommage c'est effectué +bRenome = Faux +//Boucle sur tous les répertoires et sous-répertoires de destination +pour toute chaîne sUnRepDest de sRepDest séparée par ["\"] +si sUnRepDest<>"" alors +//Reconstruction de la chaine servant au renommage au fur à mesure du parcour +sUnRepRenome = sUnRepRenome+"\"+sUnRepDest +nNumRepDest += 1 +fin +fin +//Boucle sur tous les répertoires et sous-répertoires de destination +pour toute chaîne sUnRepDest de sRepDest séparée par ["\"] DEPUISFIN +si sUnRepDest<>"" alors +//Reconstruction de la chaine servant au renommage au fur à mesure du parcour +//sUnRepRenome = sUnRepRenome+"\"+sUnRepDest +//Incrémentation du nombre de répertoire parcouru dans le chemin de +destination +nNumRepDest -= 1 +//Si le répertoire de départ et celui d'arrivé sont de même niveau et qu'ils +sont différent au niveau du nommage +si nNumRep=nNumRepDest _et_ sUnRep<>sUnRepDest alors +//sTemp1 est une chaine = Remplace(sUnRepRenome,sUnRepDest,"") +sTemp2 est une chaîne = Remplace(sUnRepARenomer,sUnRep,sUnRepDest) +//Renommage de l'ancien répertoire avec le nouveau nom +bRenome = fRenomme(sDisqueActuel+sUnRepARenomer,sDisqueDest+sTemp2) +si bRenome alors +//Modifie la ligne courante pour prendre en compte le changement du +répertoire +TableModifieLigne(chpTable,nIndiceChpTable,chpTable[nIndiceChpTable]. +COL_SEL,chpTable[nIndiceChpTable].COL_Etat,chpTable[nIndiceChpTable]. +COL_REF_INTERV,Remplace(chpTable[nIndiceChpTable]. +COL_Fichiers_à_migrer,sUnRep,sUnRepDest),chpTable[nIndiceChpTable]. +COL_CheminDest,Vrai) +//Rafraichissement de la ligne courante +TableAffiche(chpTable,nIndiceChpTable) +//Trace("ok "+sDisqueActuel+sUnRepARenomer+" => +"+sDisqueDest+sTemp2) +//Collecte le répertoire renomé +sRepDejaTraite +=sDisqueDest+sTemp2+RC +//Recherche dans les autres lignes si le même chemin est spécifié +06/08/2026 Isis_BO 6280 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +nIndice est un entier = TableCherche("COL_Fichiers_à_migrer", +sDisqueActuel+sUnRepARenomer,rechercheCommencePar,nIndiceChpTable+1) +//Il existe au moins une ligne différente de celle en cours qui fait +référence au même répertoire +si nIndice>0 alors +boucle +//La ligne est bien différente de celle en cours et n'est +pas encore +valdiée +si nIndice<>nIndiceChpTable _et_ pas chpTable[nIndice]. +COL_Etat dans ("validedoc.png") alors +si pas Contient(chpTable[nIndice].COL_CheminDest, +sUnRepDest,MotComplet) alors +Trace("NOT CHANGE "+chpTable[nIndice]. +COL_Fichiers_à_migrer+" => "+ +chpTable[nIndice].COL_CheminDest) +fin +//Modifie la ligne trouvée pour prendre en compte le +changement du répertoire +TableModifieLigne(chpTable,nIndice,chpTable[nIndice]. +COL_SEL,chpTable[nIndice].COL_Etat,chpTable[nIndice]. +COL_REF_INTERV,Remplace(chpTable[nIndice]. +COL_Fichiers_à_migrer,sUnRep,sUnRepDest),chpTable[ +nIndice].COL_CheminDest,Vrai) +//Rafraichissement de la ligne courante +TableAffiche(chpTable,nIndice) +//SINON SI nIndice>0 _ET_ nIndice<>nIndiceChpTable _ET_ PAS +chpTable[nIndice].COL_Etat DANS (" +validedoc.png") ALORS +// +Trace("NOT CHANGE +"+chpTable[nIndice].COL_Fichiers_à_migrer+" => +"+chpTable[nIndice].COL_CheminDest) +fin +//Recherche dans les autres lignes si le même chemin est +spécifié +nIndice = TableCherche("COL_Fichiers_à_migrer", +sDisqueActuel+sUnRepARenomer,rechercheCommencePar,nIndice+1) +//Boucle tant qu'il y a des lignes à traitées +à faire tantque nIndice>0 +fin +//Recherche des répertoires frères +sListeRepertoire est une chaîne = fListeRépertoire(sDisqueActuel+ +Remplace(sUnRepARenomer,"\"+sUnRep,""),frNonRécursif) +//Stock le premier répertoire frère +sRepFrere est une chaîne = ExtraitChaîne(sListeRepertoire, +rangPremier, RC) +//Boucle sur tous les répertoires frères +boucle +//Il y À des répertoires À tester qui ne sont PAS Vide ET qui +n'ont PAS déjà été traité +si sRepFrere <> EOT _et_ sRepFrere<>"" _et_ pas Contient( +sRepDejaTraite,sRepFrere,MotComplet) alors +//Recherche dans la table la présence du répertoire frère en +cours +nIndice = TableCherche("COL_Fichiers_à_migrer",sRepFrere, +06/08/2026 Isis_BO 6281 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +rechercheCommencePar,nIndiceChpTable+1) +//Boucle sur tous les lignes de la table concernées par ce +répertoire frère +boucle +//La ligne trouvée est différente de la ligne en cours +et elle n'a pas été déjà validée +si nIndice>0 _et_ nIndice<>nIndiceChpTable _et_ pas +chpTable[nIndice].COL_Etat dans ("validedoc.png") alors +TableModifieLigne(chpTable,nIndice,chpTable[nIndice +].COL_SEL,chpTable[nIndice].COL_Etat,chpTable[ +nIndice].COL_REF_INTERV,Remplace(chpTable[nIndice]. +COL_Fichiers_à_migrer,sUnRep,sUnRepDest),chpTable[ +nIndice].COL_CheminDest,Vrai) +TableAffiche(chpTable,nIndice) +//SINON SI nIndice>0 _ET_ nIndice<>nIndiceChpTable _ET_ +PAS chpTable[nIndice].COL_Etat DANS (" +validedoc.png") ALORS +// +Trace("NOT CHANGE +"+chpTable[nIndice].COL_Fichiers_à_migrer+" => +"+chpTable[nIndice].COL_CheminDest) +fin +//Recherche la ligne suivante correspondant toujours au +même répertoire frère +nIndice = TableCherche("COL_Fichiers_à_migrer",sRepFrere +,rechercheCommencePar,nIndice+1) +à faire tantque nIndice>0 +fin +//Le dernier répertoire lu n'était pas vide alors on cherche le +répertoire frère suivant +si sRepFrere <> EOT alors sRepFrere = ExtraitChaîne( +sListeRepertoire, rangSuivant, RC) +à faire tantque sRepFrere <> EOT _et_ (sRepFrere="" _ou_ Contient( +sRepDejaTraite,sRepFrere,MotComplet)) +sinon +Trace("NOK "+sDisqueActuel+sUnRepARenomer+" => "+ +sDisqueDest+sTemp2+" Erreur"+ErreurInfo(errMessage)) +fin +//Pas besoin d'aller plus loin, on sort de la boucle sur le chemin de +destination +break +sinon si nNumRep=nNumRepDest _et_ sUnRep=sUnRepDest alors +bRenome = Vrai +//Pas besoin d'aller plus loin, on sort de la boucle sur le chemin de +destination +break +fin +fin +fin +//Le renommage a bien eu lieu +si bRenome alors +06/08/2026 Isis_BO 6282 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +//Remplace la variable qui stocké l'ancien nom de répertoire par le nouveau +//sUnRepARenomer = Remplace(sUnRepARenomer,sUnRepARenomer,sUnRepRenome) +sUnRepARenomer = Remplace(sUnRepARenomer,"\"+sUnRep,"") +sinon +//Comme le renommage n'a pas eu lieu on sort de la boucle sur le chemin de départ +//ATTENTION !! il se peut qu'une partie du chemin a été renommé=> il faudrait +revenir en arrière sur le renommage +break +fin +//sUnRepARenomer = +fin +fin +si bRenome alors +TableModifieLigne(chpTable,chpTable,Faux,"validedoc.png",chpTable[nIndiceChpTable]. +COL_REF_INTERV,chpTable[nIndiceChpTable].COL_Fichiers_à_migrer,chpTable[nIndiceChpTable]. +COL_CheminDest,chpTable[nIndiceChpTable].COL_CHEMINMODIFIE) +chpLibOk =Val(chpLibOk)+1 +sinon +TableModifieLigne(chpTable,chpTable,Vrai,"warning.png",chpTable[nIndiceChpTable]. +COL_REF_INTERV,chpTable[nIndiceChpTable].COL_Fichiers_à_migrer,chpTable[nIndiceChpTable]. +COL_CheminDest,chpTable[nIndiceChpTable].COL_CHEMINMODIFIE) +chpLibNOk =Val(chpLibNOk)+1 +fin +//Cas où le même répertoire a été déjà renommé +sinon si (pas fRépertoireExiste(fExtraitChemin(chpTable[nIndiceChpTable].COL_Fichiers_à_migrer, +fDisque+fRépertoire))) _et_ fRépertoireExiste(fExtraitChemin(chpTable[nIndiceChpTable]. +COL_CheminDest,fDisque+fRépertoire)) alors +TableModifieLigne(chpTable,chpTable,Faux,"validedoc.png",chpTable[nIndiceChpTable]. +COL_REF_INTERV,chpTable[nIndiceChpTable].COL_Fichiers_à_migrer,chpTable[nIndiceChpTable]. +COL_CheminDest,chpTable[nIndiceChpTable].COL_CHEMINMODIFIE) +fin +TableAffiche(chpTable,nIndiceChpTable) +fin +Procédure globale RenommerAncienFormatRepDoc +// Résumé : +// Syntaxe : +//RenommerAncienFormatRepDoc ( est champ, est champ, est champ) +// +// Paramètres : +// chpTable (champ) : +// chpLibOk (champ) : +// chpLibNOk (champ) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// nIndiceChpTable (entier) : +procédure RenommerAncienFormatRepDoc(chpTable est un Champ,chpLibOk est un Champ,chpLibNOk est un Champ +) +nInd est un entier +TableTrie(chpTable,"-COL_sel","COL_Fichiers_à_migrer") +pour toute ligne de chpTable +06/08/2026 Isis_BO 6283 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +nInd = chpTable +RenommerAcienFormatRepDocBis(chpTable,nInd,"",chpLibOk,chpLibNOk) +fin +TableTrie(chpTable,"-COL_Etat","COL_Fichiers_à_migrer") +Procédure globale ReqCharge1Doc +procédure ReqCharge1Doc(nIdDoc est un entier sur 8 octets, sRepRacine est une chaîne, sFormatRepDoc est +une chaîne, NomFichier est une chaîne ANSI) +tabRep est un tableau de Rep +sCheminFichier est une chaîne ANSI +sReqSQL est une Requête SQL = +[ +SELECT DISTINCT Document.*,Client.*,Lieu.*,Dossier.*,Intervention.*, Adresse.* +FROM Document +INNER JOIN Intervention ON (Document.DC_IDIntervention=Intervention.IN_PKID) +LEFT OUTER JOIN Client ON (Client.CL_PKID=Intervention.IN_IDClient) +LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Intervention.IN_IDLieu) +INNER JOIN Dossier ON (Dossier.DO_PKID=Intervention.IN_IDDossier) +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +WHERE Document.DC_PKID = {p_IdDoc} +] +sReqSQL.p_IdDoc = nIdDoc +si HExécuteRequête(sReqSQL,hRequêteSansCorrectionHF) alors +pour tout sReqSQL +sCheminFichier = ComplèteRep(DonneRepertoireDocument(4,Null,sReqSQL,0,tabRep,sRepRacine, +sFormatRepDoc))+NomFichier +fin +fin +renvoyer sCheminFichier +Procédure globale SupprimerFichier +// Résumé : +// Syntaxe : +//SupprimerFichier ( est champ, est champ) +// +// Paramètres : +// champTableFichier (champ) : +// champImagePreview (champ) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SupprimerFichier(champTableFichier est un Champ,champImagePreview est un Champ) +N est un entier=TableSelectOccurrence(champTableFichier) +si N>0 alors +//1 : &Supprimer +//2 : &Ne pas supprimer +si Dialogue("")=1 alors //Supprimer +champImagePreview="" //Cela libère le verrou de lecture sur le fichier à supprimer +pour toute ligne sélectionnée de champTableFichier +si fFichierExiste(gpRepertoireDoc()+champTableFichier.COL_Fichier) alors +si fSupprime(gpRepertoireDoc() + champTableFichier.COL_Fichier,frLectureSeule) alors +06/08/2026 Isis_BO 6284 + +Partie 7 › Collection de procédures › COL_DOCUMENT › Code +TableSupprime(champTableFichier,TableSelect(champTableFichier)) +champImagePreview="" +sinon +Info("Erreur lors de la suppression du fichier ",ErreurInfo(errMessage)) +sortir +fin +sinon +TableSupprime(champTableFichier,TableSelect(champTableFichier)) +fin +fin +fin +fin +Procédure globale SupprimerUnFichier +// Résumé : +// Syntaxe : +//SupprimerUnFichier ( est entier, est chaîne, est objet dynamique) +// +// Paramètres : +// nMode (entier) : +// sNomFichier (chaîne ANSI) : +// pclObj (objet dynamique) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// champImagePreview (champ) : +procédure SupprimerUnFichier(local nMode est un entier,local sNomFichier est une chaîne,pclObj est un +objet dynamique) +sRepRacine est une chaîne = DonneRepertoireRacine() +si fRépertoireExiste(sRepRacine) _ou_ fRepCrée(sRepRacine) alors +sRepertoireFichier est une chaîne +selon nMode +//Intervention +cas 1 : +sRepertoireClient est une chaîne = DonneRepertoireClient(pclObj:FicheClient:m_sNom,pclObj: +FicheClient:m_nPKID) +sRepertoireInterv est une chaîne = DonneRepertoireIntervention(pclObj:m_nPKID) +si (fRépertoireExiste(sRepertoireClient) _ou_ fRepCrée(sRepertoireClient)) _et_ ( +fRépertoireExiste(sRepertoireInterv) _ou_ fRepCrée(sRepertoireInterv)) alors +sRepertoireFichier = ComplèteRep(sRepRacine+sRepertoireClient+sRepertoireInterv) +fin +cas 4 : +sRepertoireFichier = ComplèteRep(fExtraitChemin(sNomFichier,fDisque+fRépertoire)) +sNomFichier = fExtraitChemin(sNomFichier,fFichier+fExtension) +fin +si fRépertoireExiste(sRepertoireFichier) alors +si fFichierExiste(sRepertoireFichier+sNomFichier) alors +si fSupprime(sRepertoireFichier+ sNomFichier,frLectureSeule) alors +sinon +Info("Erreur lors de la suppression du fichier ",ErreurInfo(errMessage)) +fin +fin +fin +fin +06/08/2026 Isis_BO 6285 + +Partie 7 › Collection de procédures › COL_IHM › Code +COL_IHM +Code +Procédure globale BlocEnregistrement +// Résumé : +// Syntaxe : +//[ = ] BlocEnregistrement ( est objet dynamique, est +procédure, est champ, est champ, est champ, + est champ [, est Couleur]) +// +// Paramètres : +// pclObjetABloquer (objet dynamique) : Objet qu'on veut éventuellement bloquer +// +procTimer (procédure) : procédure "Timer" permettant la gestion de déconnexion automatique programmée +// chpBtnFerme (champ) : Champ bouton "Cadenas Fermé" (Rouge) +// chpBtnOuvert (champ) : Champ bouton "Cadenas Ouvert" +// chpGroupeCadenas (champ) : Champ groupe contenant les champs "non modifiables" en cas de blocage +// +chpDispFiche (champ) : Champ disposition permettant le changement de la couleur de fond en cas de +blocage +// gCouleurFondDispFiche (Couleur - valeur par défaut=-1) : < +indiquez ici le rôle de gCouleurFondDispFiche> +// Valeur de retour : +// entier : // Aucune +procédure BlocEnregistrement(pclObjetABloquer est un objet dynamique,procTimer est une procédure, +chpBtnFerme est un Champ,chpBtnOuvert est un Champ,chpGroupeCadenas est un Champ,chpDispFiche est un +Champ,gCouleurFondDispFiche est une Couleur=Transparent) +bBloque est un booléen +nMode est un entier=-1 +tabGrpChpCadenas est un tableau de Champ +DonneListeChampsGroupe(chpGroupeCadenas,tabGrpChpCadenas) +//L'objet à bloquer possède un ID donc existe dans la base +si pclObjetABloquer:IdentifiantUnique>0 alors +//La gestion du blocage pour cet objet est active +si DonneValeurTimeOutObjet(pclObjetABloquer)>-1 alors +bBloque = pclObjetABloquer:m_bBlocageEcriture +//Tentative de blocage de l'enregistrement +si pclObjetABloquer:m_bBlocageEcriture _ou_ pclObjetABloquer:BloqueEnregistrement() alors +nMode = 1 +//Une procédure Timer existe => Démarrage du Timer avec l'ID retourné par le +BloqueEnregistrement +si procTimer<>Null alors procTimer(pclObjetABloquer:m_nIDTimer) +//Pas bloquer avant et blocage effectué +si bBloque=Faux _et_ pclObjetABloquer:m_bBlocageEcriture alors +//Il existe une méthode à appeler (Si la PFiche est issu d'une PTable il faut aussi +mettre à jour la +Ptable) +si pclObjetABloquer:m_pValidation<>Null alors +pclObjetABloquer:m_pValidation(pclObjetABloquer:p_clCourant) +fin +06/08/2026 Isis_BO 6286 + +Partie 7 › Collection de procédures › COL_IHM › Code +fin +//Le bouton "Cadenas Rouge" était visible avant blocage ou pas de cadenas (Nouvel enreg) +si chpBtnFerme..Visible _ou_ bBloque=Faux alors +chpBtnFerme..Visible = Faux +chpBtnOuvert..Visible= Vrai +//Raffraichissement +des données avec les données relues en base dans BloqueEnregistrement +DemandeMiseAJourIHM() +fin +// Le blocage de l'enregistrement n'a pas pu se faire et il y a des infos de blocages +sinon si pclObjetABloquer:InfoBlocage(1)<>"" alors +nMode = 0 +// Gestion du visuel pour indiquer que le contexte est en blocage +FermetureCadenas(chpBtnFerme,chpBtnOuvert,chpGroupeCadenas,chpDispFiche, +DonneLibelleTimeOutObjet(pclObjetABloquer),Faux) +Erreur(pclObjetABloquer:m_sInfoBlocage) +//Raffraichissement des données avec les données relues en base dans BloqueEnregistrement +DemandeMiseAJourIHM() +fin +//La gestion du blocage est désactivé +sinon +chpBtnOuvert..Visible = Faux +fin +sinon +chpBtnFerme..Visible = Faux +chpBtnOuvert..Visible = Faux +fin +//chpGroupeCadenas..Etat = chpBtnFerme..Visible ? AffichageSeulement SINON Actif +pour i = 1 _à_ tabGrpChpCadenas..Occurrence +//Passe en affichage seul +tabGrpChpCadenas[i]..Etat = chpBtnFerme..Visible ? AffichageSeulement sinon Actif +fin +chpDispFiche..CouleurFond = chpBtnFerme..Visible ? Noir sinon gCouleurFondDispFiche +renvoyer nMode +Procédure globale ChampsVersSource +// Résumé : +// Syntaxe : +//ChampsVersSource ( est chaîne, est variant [, est chaîne [, + est booléen]]) +// +// Paramètres : +// sLiaisonFichier (chaîne ANSI) : +// valeur (variant) : +// sVariable (chaîne ANSI - valeur par défaut="") : +// bSimple (booléen - valeur par défaut=1) : +// Valeur de retour : +// Aucune +// +// valeur : +procédure ChampsVersSource(local sLiaisonFichier est une chaîne,local valeur est un Variant,local +sVariable est une chaîne="",local bSimple est un booléen=Vrai)//LOCAL sLiaisonFichier,LOCAL valeur +//SI TypeVar(monChamp)=wlChamp ALORS +si sLiaisonFichier<>"" alors +sMembre est une chaîne +//:gclPresentation.ListeContact.m_clTabModele.m_sNom +06/08/2026 Isis_BO 6287 + +Partie 7 › Collection de procédures › COL_IHM › Code +sMembre = ExtraitChaîne(sLiaisonFichier,1,".",DepuisFin) +si sVariable="" _et_ bSimple=Faux alors +//:gclPresentation.ListeContact.m_clTabModele +sVariable = sLiaisonFichier +sVariable = ExtraitChaîne(sVariable,2,":",DepuisDébut) +sVariable = ExtraitChaîne(sVariable,1,"."+ExtraitChaîne(sVariable,2,".",DepuisFin)+"."+ +sMembre,DepuisDébut) +{sVariable+":p_clCourant:"+sMembre,indVariable} = valeur +{sVariable+":m_bModifie",indVariable} = Vrai +sinon si sVariable="" _et_ bSimple alors +sVariable = sLiaisonFichier +sVariable = ExtraitChaîne(sVariable,2,":",DepuisDébut) +//sVariable = +ExtraitChaîne(sVariable,1,"."+ExtraitChaîne(sVariable,2,".",DepuisFin)+"."+sMembre,DepuisD +ébut) +{sLiaisonFichier,indVariable} = valeur +{ExtraitChaîne(sVariable,1,".",DepuisDébut)+":m_bModifie",indVariable} = Vrai +//info({ExtraitChaîne(sVariable,1,"."+ExtraitChaîne(sVariable,2,".",DepuisFin)+"."+"m_bMod +ifie",DepuisDébut),indVariable}) +sinon +{sVariable+":"+sMembre,indVariable} = valeur +{sVariable+":m_bModifie",indVariable} = Vrai +fin +sinon +WL.ChampVersSource() +fin +//FIN +Procédure globale DeblocEnregistrement +procédure DeblocEnregistrement(pclObjetABloquer est un objet dynamique,stParamAppelant est un +STParamFenetreAppelante,procTimer est une procédure,chpBtnFerme est un Champ,chpBtnOuvert est un Champ, +chpGroupeCadenas est un Champ,chpDispFiche est un Champ,bFerme est un booléen=Vrai,bAvecMessage est un +booléen=Faux,bAppelProc est un booléen=Vrai,bEnregistre est un booléen=Vrai) +bBloque est un booléen +//La gestion du blocage pour cet objet est active +si DonneValeurTimeOutObjet(pclObjetABloquer)>-1 alors +//,procFenetreAppelante est une procedure +clErreur est un CErreur +//Tente d'enregistrer avant de débloquer l'enregistrement +si bEnregistre alors pclObjetABloquer:bOK(clErreur) +bBloque = pclObjetABloquer:m_bBlocageEcriture +//Déblocage de l'enregistrement en base +si pclObjetABloquer:m_bBlocageEcriture alors +pclObjetABloquer:DebloqueEnregistrement() +//bloqué avant et déblocage effectué +si bBloque=Vrai _et_ pas pclObjetABloquer:m_bBlocageEcriture alors +//Il existe une méthode à appeler (Si la PFiche est issu d'une PTable il faut aussi mettre +à jour la +Ptable) +si pclObjetABloquer:m_pValidation<>Null alors +pclObjetABloquer:m_pValidation(pclObjetABloquer:p_clCourant) +fin +fin +// +SI stParamAppelant:pclObjetAppelant<>Null _et_ +stParamAppelant:pclObjetAppelant:m_clModeleCourant<>Null ALORS +// +stParamAppelant:pclObjetAppelant:m_clModeleCourant:m_bBlocageEcriture = +pclObjetABloquer:m_bBlocageEcriture +06/08/2026 Isis_BO 6288 + +Partie 7 › Collection de procédures › COL_IHM › Code +// FIN +fin +si stParamAppelant.eTypeAppel dans (DansFenetre,DansChampFI) alors +//Si pas d'erreur de déblocage => appel de la procédure donné par la fenêtre appelante +si clErreur.p_bOk _et_ bAppelProc alors AppelProcFenetreAppelante(pclObjetABloquer, +stParamAppelant,Vrai, bFerme) +//Appel de la procedure de désactivation du timer +procTimer(pclObjetABloquer:m_nIDTimer) +//Il faut fermer la fenetre +si bFerme alors +selon stParamAppelant.eTypeAppel +//Sort de la fenêtre en disant "sorti à cause du timer" +cas DansFenetre : Ferme("",-1) +//Sort du champ fenetre interne +cas DansChampFI : ChangeFenêtreSource(MaFenêtreInterne..Nom,Null) +fin +sinon +//Change l'icone +du cadenas, met en lecture seul les zones et change la couleur de l'arrière plan +FermetureCadenas(chpBtnFerme,chpBtnOuvert,chpGroupeCadenas,chpDispFiche, +DonneLibelleTimeOutObjet(pclObjetABloquer),bAvecMessage) +fin +sinon +//Si contrôle strict et l'enregistrement pas OK=>on sort +si bFerme _et_ pas clErreur.p_bOk alors retour +//Change l'icone +du cadenas, met en lecture seul les zones et change la couleur de l'arrière plan +FermetureCadenas(chpBtnFerme,chpBtnOuvert,chpGroupeCadenas,chpDispFiche, +DonneLibelleTimeOutObjet(pclObjetABloquer),bAvecMessage) +//Appel de la procedure de désactivation du timer +procTimer(pclObjetABloquer:m_nIDTimer) +fin +fin +Procédure globale DonneLibelleTimeOutObjet +// Résumé : +// Syntaxe : +//[ = ] DonneLibelleTimeOutObjet ( est objet dynamique) +// +// Paramètres : +// pclObjetABloquer (objet dynamique) : +// Valeur de retour : +// chaîne ANSI : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneLibelleTimeOutObjet(pclObjetABloquer est un objet dynamique) +si (pclObjetABloquer est PFichePersonne) alors +renvoyer "Contact" +sinon si (pclObjetABloquer est PFicheDossier) alors +renvoyer "Dossier" +sinon si (pclObjetABloquer est PFicheIntervention) alors +renvoyer "Intervention" +06/08/2026 Isis_BO 6289 + +Partie 7 › Collection de procédures › COL_IHM › Code +sinon si (pclObjetABloquer est PFicheLieu) alors +renvoyer "Site" +sinon si (pclObjetABloquer est PFicheClient) alors +renvoyer "Client" +sinon si (pclObjetABloquer est PFicheCollaborateur) alors +renvoyer "Collaborateur" +sinon si (pclObjetABloquer est PFicheEquipe) alors +renvoyer "Equipe" +sinon si (pclObjetABloquer est PFicheSociete) alors +renvoyer "Société" +sinon si (pclObjetABloquer est PFicheRdv) alors +renvoyer "Rendez-vous" +sinon +renvoyer "" +fin +Procédure globale DonneListeChampsGroupe +procédure DonneListeChampsGroupe(ChpGroupe est un Champ,tabChp est un tableau de Champs) +bContinuer est un booléen +gnIndiceChp est un entier = 1 +sNomChamp est une chaîne = EnumèreChamp(ChpGroupe..NomComplet, gnIndiceChp) +//ExtraitChaîne(gpwEnumèreChamp(ChpGroupe..NomComplet, gnIndiceChp),1,TAB) +tantque sNomChamp <> "" +si ChampExiste(sNomChamp) alors +ChampCourant est un Champ <- {sNomChamp,indChamp} +TableauAjoute(tabChp,ChampCourant) +sinon +bContinuer = Vrai +quand exception dans +ChampExiste({sNomChamp}..NomComplet) +faire +bContinuer = Faux +fin +si bContinuer alors +ChampCourant est un Champ <- {sNomChamp,indChamp} +TableauAjoute(tabChp,ChampCourant) +fin +fin +gnIndiceChp++ +// Champ suivant +sNomChamp = EnumèreChamp(ChpGroupe..NomComplet, gnIndiceChp) +//ExtraitChaîne(gpwEnumèreChamp(ChpGroupe..NomComplet, gnIndiceChp),1,TAB) +fin +Procédure globale DonneListeNomChampsGroupe +// Résumé : +// Syntaxe : +//DonneListeNomChampsGroupe ( est champ, est tableau) +// +// Paramètres : +// ChpGroupe (champ) : +// tabChp (tableau) : +// Valeur de retour : +06/08/2026 Isis_BO 6290 + +Partie 7 › Collection de procédures › COL_IHM › Code +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneListeNomChampsGroupe(ChpGroupe est un Champ,tabChp est un tableau de chaîne) +bContinuer est un booléen +gnIndiceChp est un entier = 1 +sNomChamp est une chaîne = EnumèreChamp(ChpGroupe..NomComplet, gnIndiceChp) +tantque sNomChamp <> "" +bContinuer = Vrai +quand exception dans +ChampExiste({sNomChamp}..NomComplet) +faire +bContinuer = Faux +fin +si bContinuer alors +TableauAjoute(tabChp,{sNomChamp}..NomComplet) +fin +gnIndiceChp++ +// Champ suivant +sNomChamp = EnumèreChamp(ChpGroupe..NomComplet, gnIndiceChp) +//ExtraitChaîne(gpwEnumèreChamp(ChpGroupe..NomComplet, gnIndiceChp),1,TAB) +fin +Procédure globale DonneObjetTable +// Résumé : +// Syntaxe : +//[ = ] DonneObjetTable ( est champ) +// +// Paramètres : +// LeChampTable (champ) : +// Valeur de retour : +// Type indéterminé : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneObjetTable(LeChampTable est un Champ) +MaDef est une Définition +sNomClasse est une chaîne +clModele est un objet dynamique +si LeChampTable<>Null alors +clModele = MoiMême +si clModele<>Null alors +MaDef=RécupèreDéfinition(clModele) +sNomClasse = MaDef..Nom +fin +fin +si ChaîneCommencePar(sNomClasse,"PFiche") _et_ clModele<>Null alors +renvoyer clModele:p_clCourant +sinon +renvoyer MoiMême +fin +Procédure globale DonneParam +06/08/2026 Isis_BO 6291 + +Partie 7 › Collection de procédures › COL_IHM › Code +// Résumé : +// Syntaxe : +//[ = ] DonneParam ( est ETypeAppelFenetre, est chaîne [, + est chaîne [, est procédure [, est chaîne [, + est chaîne [, +est entier sur 8 octets [, est objet dynamique [, est booléen [, + est booléen]]]]]]]]) +// +// Paramètres : +// eTypeAppel (ETypeAppelFenetre) : +// sNomFenetreAppelante (chaîne ANSI) : +// sContexteAppelant (chaîne ANSI - valeur par défaut="") : +// gProcMAJRetour (procédure - valeur par défaut=0) : +// sTitreFenetre (chaîne ANSI - valeur par défaut="") : +// sNomIDAppelant (chaîne ANSI - valeur par défaut="") : +// nIdFenetreAppelante (entier sur 8 octets - valeur par défaut=0) : < +indiquez ici le rôle de nIdFenetreAppelante> +// pclObjetAppelant (objet dynamique - valeur par défaut=0) : +// bMultiSelect (booléen - valeur par défaut=0) : +// bRafraichit (booléen - valeur par défaut=0) : +// Valeur de retour : +// STParamFenetreAppelante : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// bAppelDansChampFI (booléen) : +procédure DonneParam(eTypeAppel est un ETypeAppelFenetre, sNomFenetreAppelante est une chaîne, +sContexteAppelant est une chaîne="",gProcMAJRetour est une procédure=Null,sTitreFenetre est une chaîne= +"",sNomIDAppelant est une chaîne="", nIdFenetreAppelante est un entier sur 8 octets=0, pclObjetAppelant +est un objet dynamique=Null, bMultiSelect est un booléen=Faux, bRafraichit est un booléen=Faux) +stParametreFenInterne est un STParamFenetreAppelante +stParametreFenInterne.eTypeAppel = eTypeAppel +stParametreFenInterne.sNomFenetreAppelante = sNomFenetreAppelante +stParametreFenInterne.sContexteAppelant = sContexteAppelant +stParametreFenInterne.gProcMAJRetour = gProcMAJRetour +stParametreFenInterne.sTitreFenetre = sTitreFenetre +stParametreFenInterne.sNomIDAppelant = sNomIDAppelant +stParametreFenInterne.nIdFenetreAppelante = nIdFenetreAppelante +stParametreFenInterne.pclObjetAppelant = pclObjetAppelant +stParametreFenInterne.bMultiSelect = bMultiSelect +stParametreFenInterne.bRafraichit = bRafraichit +stParametreFenInterne.nIdRenvoye = 0 +renvoyer stParametreFenInterne +Procédure globale DonneParam +procédure DonneParam(pstParametreFenInterne est un STParamFenetreAppelante) +renvoyer DonneParam(pstParametreFenInterne.eTypeAppel,pstParametreFenInterne.sNomFenetreAppelante, +pstParametreFenInterne.sContexteAppelant,pstParametreFenInterne.gProcMAJRetour,pstParametreFenInterne. +sTitreFenetre,pstParametreFenInterne.sNomIDAppelant,pstParametreFenInterne.nIdFenetreAppelante, +pstParametreFenInterne.pclObjetAppelant,pstParametreFenInterne.bMultiSelect,pstParametreFenInterne. +bRafraichit) +Procédure globale DonneParametreCombo +// Résumé : +// Syntaxe : +//[ = ] DonneParametreCombo ( est champ) +// +// Paramètres : +06/08/2026 Isis_BO 6292 + +Partie 7 › Collection de procédures › COL_IHM › Code +// champCombo (champ) : +// Valeur de retour : +// Type indéterminé : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneParametreCombo(champCombo est un Champ) +sTableau est une chaîne = Tronque(ExtraitChaîne(champCombo..FichierParcouru,2,":"),Taille(ExtraitChaîne +(champCombo..FichierParcouru,2,":")),nombreDeCaractèresAConserver) +nIndice est un entier = TableauCherche({sTableau,indVariable},tcLinéaire,"m_nPKID",{champCombo.. +NomComplet,indChamp},1) +si nIndice>0 alors +renvoyer {sTableau,indVariable}[nIndice]:m_sParametre +sinon +renvoyer 0 +fin +Procédure globale DonneTrieClasseDepuisTable +procédure DonneTrieClasseDepuisTable(LeChampTable est un Champ) +ListeColonnes est une chaîne +ListeColonnes = TableColonnesTriées(LeChampTable) +sMembresTrie est une chaîne +nCpt est un entier +pour toute chaîne sUneColonne de ListeColonnes séparée par TAB +nCpt++ +si nCpt=1 alors +sMembresTrie+=ExtraitChaîne(sUneColonne,1,"-",DepuisDébut)="-" ? "-"+ExtraitChaîne({Remplace( +sUneColonne,"-",""),indChamp}..LiaisonFichier,1,"m_clTabModele.",DepuisFin) sinon ExtraitChaîne +({Remplace(sUneColonne,"-",""),indChamp}..LiaisonFichier,1,"m_clTabModele.",DepuisFin) +sinon +sMembresTrie+=ExtraitChaîne(sUneColonne,1,"-",DepuisDébut)="-" ? ";"+"-"+ExtraitChaîne({ +Remplace(sUneColonne,"-",""),indChamp}..LiaisonFichier,1,"m_clTabModele.",DepuisFin) sinon ";"+ +ExtraitChaîne({Remplace(sUneColonne,"-",""),indChamp}..LiaisonFichier,1,"m_clTabModele.", +DepuisFin) +fin +fin +renvoyer sMembresTrie +Procédure globale DonneValeurTimeOutObjet +// Résumé : +// Syntaxe : +//[ = ] DonneValeurTimeOutObjet ( est objet dynamique) +// +// Paramètres : +// pclObjetABloquer (objet dynamique) : +// Valeur de retour : +// Type indéterminé : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneValeurTimeOutObjet(pclObjetABloquer est un objet dynamique) +si (pclObjetABloquer est PFichePersonne) alors +renvoyer Val(gpclListeParamAppli:m_clTabModele["TIMEOUT_BLOC_ENREG_PERS"]:m_sValeur) +sinon si (pclObjetABloquer est PFicheDossier) alors +renvoyer Val(gpclListeParamAppli:m_clTabModele["TIMEOUT_BLOC_ENREG_DOSSIER"]:m_sValeur) +sinon si (pclObjetABloquer est PFicheIntervention) alors +06/08/2026 Isis_BO 6293 + +Partie 7 › Collection de procédures › COL_IHM › Code +renvoyer Val(gpclListeParamAppli:m_clTabModele["TIMEOUT_BLOC_ENREG_INTERV"]:m_sValeur) +sinon si (pclObjetABloquer est PFicheLieu) alors +renvoyer Val(gpclListeParamAppli:m_clTabModele["TIMEOUT_BLOC_ENREG_LIEU"]:m_sValeur) +sinon si (pclObjetABloquer est PFicheClient) alors +renvoyer Val(gpclListeParamAppli:m_clTabModele["TIMEOUT_BLOC_ENREG_CLIENT"]:m_sValeur) +sinon si (pclObjetABloquer est PFicheCollaborateur) alors +renvoyer Val(gpclListeParamAppli:m_clTabModele["TIMEOUT_BLOC_ENREG_COLLAB"]:m_sValeur) +sinon si (pclObjetABloquer est PFicheEquipe) alors +renvoyer Val(gpclListeParamAppli:m_clTabModele["TIMEOUT_BLOC_ENREG_EQUIPE"]:m_sValeur) +sinon si (pclObjetABloquer est PFicheSociete) alors +renvoyer Val(gpclListeParamAppli:m_clTabModele["TIMEOUT_BLOC_ENREG_SOCIETE"]:m_sValeur) +sinon si (pclObjetABloquer est PFicheRdv) alors +renvoyer Val(gpclListeParamAppli:m_clTabModele["TIMEOUT_BLOC_ENREG_RDV"]:m_sValeur) +sinon +renvoyer -1 +fin +Procédure globale ExecuteClicSurBoutonSiToucheEntree +procédure ExecuteClicSurBoutonSiToucheEntree(LeChampBouton est un Champ) +// Vérifie si la touche entrée a été appuyée +si ToucheEntree("ExecuteClicSurBoutonSiToucheEntree") alors +// Insérer ici le traitement à effectuer +ExécuteTraitement(LeChampBouton,trtClic) +fin +Procédure globale FermetureCadenas +procédure FermetureCadenas(chpBtnFerme est un Champ,chpBtnOuvert est un Champ,chpGroupeCadenas est un +Champ,chpDispFiche est un Champ,local sNomEntite est une chaîne,local bAvecMessage est un booléen) +tabGrpChpCadenas est un tableau de Champ +DonneListeChampsGroupe(chpGroupeCadenas,tabGrpChpCadenas) +si bAvecMessage alors +ToastAffiche(ChaîneConstruit("%1 en lecture seul suite à une inaction prolongée de votre part"+RC+ +"Cliquez sur le cadenas pour modifier l'enregistrement",sNomEntite),toastLong,cvMilieu,chCentre, +Blanc) +fin +chpBtnFerme..Visible = Vrai +chpBtnOuvert..Visible = Faux +//chpGroupeCadenas..Etat = AffichageSeulement +pour i = 1 _à_ tabGrpChpCadenas..Occurrence +//Passe en affichage seul +tabGrpChpCadenas[i]..Etat = AffichageSeulement +fin +si chpDispFiche<>Null alors chpDispFiche..CouleurFond = Noir +Procédure globale FermeVoletEtActiveLePrecedent +// Résumé : +// Syntaxe : +//FermeVoletEtActiveLePrecedent ( est chaîne) +// +// Paramètres : +// sAliasPresent (chaîne ANSI) : +06/08/2026 Isis_BO 6294 + +Partie 7 › Collection de procédures › COL_IHM › Code +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sAliasFutur (chaîne ANSI) : +// LeChampOnglet (champ) : +procédure FermeVoletEtActiveLePrecedent(local sAliasPresent est une chaîne) +sAliasFutur est une chaîne +nCpt est un entier=1 +sAliasFutur = EnumèreChamp(FEN_Menu.ONG_FENETRE, nCpt) +tantque sAliasFutur <> "" +si EnumèreChamp(FEN_Menu.ONG_FENETRE, nCpt+1)=sAliasPresent alors +sortir +sinon +nCpt++ +sAliasFutur = EnumèreChamp(FEN_Menu.ONG_FENETRE, nCpt) +fin +fin +FEN_Menu.ONG_FENETRE = sAliasFutur +FEN_Menu.PriseFocus(FEN_Menu.ONG_FENETRE,sAliasPresent) +ExécuteTraitement(FEN_Menu.FermetureOnglet,trtProcédure,sAliasPresent) +OngletFerme(FEN_Menu.ONG_FENETRE,sAliasPresent) +Procédure globale FermeVoletIntervEtActiveLePrecedent +// Résumé : +// Syntaxe : +//FermeVoletIntervEtActiveLePrecedent ( est chaîne) +// +// Paramètres : +// sAliasPresent (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sAliasFutur (chaîne ANSI) : +// LeChampOnglet (champ) : +procédure FermeVoletIntervEtActiveLePrecedent(local sAliasPresent est une chaîne) +sAliasFutur est une chaîne +nCpt est un entier=1 +sAliasFutur = EnumèreChamp(FI_Fiche_DossierV1.ONG_INTERVENTION, nCpt) +tantque sAliasFutur <> "" +si EnumèreChamp(FI_Fiche_DossierV1.ONG_INTERVENTION, nCpt+1)=sAliasPresent alors +sortir +sinon +nCpt++ +sAliasFutur = EnumèreChamp(FI_Fiche_DossierV1.ONG_INTERVENTION, nCpt) +fin +fin +FI_Fiche_DossierV1.ONG_INTERVENTION = sAliasFutur +FI_Fiche_Dossier.PriseFocus(FI_Fiche_DossierV1.ONG_INTERVENTION,sAliasPresent) +OngletFerme(FI_Fiche_DossierV1.ONG_INTERVENTION,sAliasPresent) +Procédure globale GestionBoutonsEnteteDansListe +procédure GestionBoutonsEnteteDansListe(champGroupeModif est un Champ,champBoutonNouveau est un Champ, +champBoutonSelectLigne est un Champ,gclObjetListe est un objet dynamique,stParamSupplementaire est un +STParamFenetreAppelante) +tabGrpChpModif est un tableau de Champ +06/08/2026 Isis_BO 6295 + +Partie 7 › Collection de procédures › COL_IHM › Code +DonneListeChampsGroupe(champGroupeModif,tabGrpChpModif) +//champGroupeModif..Grisé += (stParamSupplementaire.eTypeAppel<>Libre _ET_ stParamSupplementaire.eTypeAppel<>DansChampFI _ET_ +stParamSupplementaire.eTypeAppel<>DansFenetre) _OU_ gclObjetListe.p_bModeleCourantVide +pour i = 1 _à_ tabGrpChpModif..Occurrence +//Passe en affichage seul +tabGrpChpModif[i]..Grisé = (stParamSupplementaire.eTypeAppel<>Libre _et_ +stParamSupplementaire.eTypeAppel<>DansChampFI _et_ stParamSupplementaire.eTypeAppel<>DansFenetre) +_ou_ gclObjetListe.p_bModeleCourantVide +fin +champBoutonNouveau..Grisé = (stParamSupplementaire.eTypeAppel<>Libre _et_ stParamSupplementaire. +eTypeAppel<>DansChampFI _et_ stParamSupplementaire.eTypeAppel<>DansFenetre) +champBoutonSelectLigne..Visible = (stParamSupplementaire.eTypeAppel<>Libre _et_ stParamSupplementaire. +eTypeAppel dans (DansChampFI,DansFenetre) _et_ stParamSupplementaire.bMultiSelect) +champBoutonSelectLigne..Etat = champBoutonSelectLigne..Visible _et_ (gclObjetListe. +p_bModeleCourantVide=Faux _ou_ ObjetListeEnregCoche(gclObjetListe)) ? Actif sinon Grisé +Procédure globale GestionBoutonsEnteteDansListe +procédure GestionBoutonsEnteteDansListe(champGroupeModif est un Champ,champBoutonNouveau est un Champ, +champBoutonSelectLigne est un Champ,champTable est un Champ,stParamSupplementaire est un +STParamFenetreAppelante) +tabGrpChpModif est un tableau de Champ +DonneListeChampsGroupe(champGroupeModif,tabGrpChpModif) +//champGroupeModif..Grisé += (stParamSupplementaire.eTypeAppel<>Libre _ET_ stParamSupplementaire.eTypeAppel<>DansChampFI _ET_ +stParamSupplementaire.eTypeAppel<>DansFenetre) _OU_ gclObjetListe.p_bModeleCourantVide +pour i = 1 _à_ tabGrpChpModif..Occurrence +//Passe en affichage seul +tabGrpChpModif[i]..Grisé = (stParamSupplementaire.eTypeAppel<>Libre _et_ +stParamSupplementaire.eTypeAppel<>DansChampFI _et_ stParamSupplementaire.eTypeAppel<>DansFenetre) +_ou_ champTable..Vide +fin +champBoutonNouveau..Grisé = (stParamSupplementaire.eTypeAppel<>Libre _et_ stParamSupplementaire. +eTypeAppel<>DansChampFI _et_ stParamSupplementaire.eTypeAppel<>DansFenetre) +champBoutonSelectLigne..Visible = (stParamSupplementaire.eTypeAppel<>Libre _et_ stParamSupplementaire. +eTypeAppel dans (DansChampFI,DansFenetre) _et_ stParamSupplementaire.bMultiSelect) +champBoutonSelectLigne..Etat = champBoutonSelectLigne..Visible _et_ (champTable..Vide=Faux _ou_ +TabelEnregCoche(champTable)) ? Actif sinon Grisé +Procédure globale InitColonneChampTablePerso +// Résumé : +// Syntaxe : +//InitColonneChampTablePerso ( est champ, est STListePerso) +// +// Paramètres : +// ChampTable (champ) : +// stListeCustom (STListePerso) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure InitColonneChampTablePerso(ChampTable est un Champ,stListeCustom est un STListePerso) +//Récupère le nombre de colonnes personnalisées +nColPerso est un entier = stListeCustom:tabColsVisible..Occurrence +06/08/2026 Isis_BO 6296 + +Partie 7 › Collection de procédures › COL_IHM › Code +//Il existe des colonnes personnalisées +si nColPerso>0 alors +nColMax est un entier = TableOccurrence(ChampTable..NomComplet,toColonne) +nIndicePerso est un entier +j est un entier +colEnCours est un Champ +colSuivante est un Champ +//Boucle sur toutes les colonnes du champ Table +pour i = 1 _à_ nColMax +//Récupère la colonne correspodant à l'itération +colEnCours <- TableEnumèreColonne(ChampTable..NomComplet, i) +//Recherche le nom de la colonne dans la liste des colonnes personnalisées +nIndicePerso = TableauCherche(stListeCustom:tabColsVisible,tcLinéaire,"sNomColonne",colEnCours +..Nom,1) +//La colonne n'existe pas dans la liste personnalisées +si nIndicePerso=-1 alors +//La colonne devient invisible +colEnCours..Visible = Faux +//Variable servant à parcourir toutes les colonnes qui suivent la colonne en cours +j = i+1 +//Il reste encore des colonnes à parcourir +si j<=nColMax alors +//Récupère la colonne suivante +colSuivante <- TableEnumèreColonne(ChampTable..NomComplet, j) +//La colonne suivante est visible +si colSuivante..Visible=Vrai alors +//Boucle sur toutes les colonnes suivantes du moment où elles sont visibles +boucle +//Déplace la colonne en cours après la colonne suivante +TableDéplaceColonne(ChampTable..NomComplet,colEnCours..Nom,j) +//Incrément pour la colonne suivante +j+=1 +//Récupère la nouvelle colonne suivante +colSuivante <- TableEnumèreColonne(ChampTable..NomComplet, j) +à faire tantque j<=nColMax _et_ colSuivante..Visible +fin +fin +//La colonne existe dans la liste personnalisées +sinon +//La colonne devient visible +colEnCours..Visible = Vrai +//Déplace la colonne en cours à l'emplacement personnalisé +TableDéplaceColonne(ChampTable..NomComplet,colEnCours..Nom,stListeCustom:tabColsVisible[ +nIndicePerso].nOrdreAffichage) +fin +fin +fin +Procédure globale InitCriterePerso +procédure InitCriterePerso(champGroupeCritere est un Champ,stCritereCustom est un STCritereListePerso, +06/08/2026 Isis_BO 6297 + +Partie 7 › Collection de procédures › COL_IHM › Code +callBackContext est une procédure)//,BTN_SOCIETE_INTERV,pclTabSoc,BTN_ETAT_INTERVENTION,pclTabEtat +nMaxCritere est un entier = stCritereCustom.tabCriterePerso..Occurrence +si nMaxCritere>0 alors +tabCritere est un tableau de chaîne +sChpCoche est une chaîne +//Récupère dans un tableau les champs contenu dans le groupe de champ +DonneListeNomChampsGroupe(champGroupeCritere,tabCritere) +pour i = 1 _à_ nMaxCritere +nIndChamp est un entier = TableauChercheParProcédure(tabCritere,ChercheTabNomChampFiniPar, +tcLinéaire,0,stCritereCustom.tabCriterePerso[i].sNomChpCritere) +//TableauCherche(tabCritere,tcLinéaire,"Nom",stCritereCustom.tabCriterePerso[i].sNomChpCritere, +1) +si nIndChamp>0 alors +bDeuxiemeDate est un booléen = ExtraitChaîne(ExtraitChaîne(tabCritere[nIndChamp],1,".", +DepuisFin),1,"_",DepuisFin) = "AU" +//Récupère le nom champ "coche" correspondant au champ critère +//Si deuxième fourchette de date +si bDeuxiemeDate alors +sChpCoche = Remplace(ExtraitChaîne(tabCritere[nIndChamp],1,".",DepuisFin), +ExtraitChaîne(ExtraitChaîne(tabCritere[nIndChamp],1,".",DepuisFin),1,"_"),"LIB") +sinon +sChpCoche = Remplace(ExtraitChaîne(tabCritere[nIndChamp],1,".",DepuisFin), +ExtraitChaîne(ExtraitChaîne(tabCritere[nIndChamp],1,".",DepuisFin),1,"_"),"INT") +fin +//Vérifie l'existence du champ et qu'il est coché +si ChampExiste(sChpCoche) alors +//Coche le critère +si pas bDeuxiemeDate alors +{sChpCoche,indChamp}=Vrai +fin +//Pour tous les critères sauf ceux du type bouton et combo +si pas {tabCritere[nIndChamp],indChamp}..Type dans (typBouton,typComboSNS) alors +{tabCritere[nIndChamp],indChamp}..Valeur = stCritereCustom.tabCriterePerso[i]. +sValChpCritère +sinon si {tabCritere[nIndChamp],indChamp}..Type=typComboSNS _et_ {tabCritere[nIndChamp +],indChamp}..Mémoire=Faux alors +nPKID est un entier sur 8 octets = stCritereCustom.tabCriterePerso[i]. +sValChpCritère +{tabCritere[nIndChamp],indChamp} = nPKID +//{tabCritere[nIndChamp],indChamp} = +val(stCritereCustom.tabCriterePerso[i].sValChpCritère) +ListeAffiche(stCritereCustom.tabCriterePerso[i].sNomChpCritere,taCourantBandeau) +// +nIndiceLS est un entier = +ListeCherche(tabCritere[nIndChamp],Val(stCritereCustom.tabCriterePerso[i].sValChpCritère),vrai) +// SI nIndiceLS >0 ALORS +// ListeSelectPlus(tabCritere[nIndChamp],nIndiceLS) +// FIN +sinon si {tabCritere[nIndChamp],indChamp}..Type=typComboSNS _et_ {tabCritere[nIndChamp +],indChamp}..Mémoire=Vrai alors +clListeAll est un objet dynamique +clListeCrit est un objet dynamique +champCombo est un Champ +callBackContext({tabCritere[nIndChamp],indChamp}..Nom,clListeAll,clListeCrit, +champCombo) +06/08/2026 Isis_BO 6298 + +Partie 7 › Collection de procédures › COL_IHM › Code +si clListeAll:m_clTabModele..Occurrence>0 alors +nIndice est un entier +pour toute chaîne uneVal de stCritereCustom.tabCriterePerso[i].sValChpCritère +séparée par "," +//k est un entier=1 +nIndice = TableauCherche( clListeAll:m_clTabModele,tcLinéaire,"m_nPKID", +Val(uneVal),1) +si nIndice>0 alors clListeAll.m_clTabModele[nIndice].m_bSelection = +Vrai +fin +MAJComboMultiLigne(clListeAll,clListeCrit,{tabCritere[nIndChamp],indChamp}) +fin +sinon si {tabCritere[nIndChamp],indChamp}..Type=typBouton alors +clListeAll est un objet dynamique +clListeCrit est un objet dynamique +champBouton est un Champ +callBackContext({tabCritere[nIndChamp],indChamp}..Nom,clListeAll,clListeCrit, +champBouton) +si clListeAll:m_clTabModele..Occurrence>0 alors +pour toute chaîne uneSoc de stCritereCustom.tabCriterePerso[i].sValChpCritère +séparée par "," +k est un entier=1 +nIndice est un entier = TableauCherche( clListeAll:m_clTabModele, +tcLinéaire,"m_nPKID",Val(uneSoc),k) +si nIndice>0 alors +MAJBoutonMultiCritere(champBouton,clListeAll:m_clTabModele[nIndice]: +InfoOnglet) +clListeCrit.Ajouter(clListeAll:m_clTabModele[nIndice]) +fin +fin +fin +fin +fin +fin +fin +// //Boucle sur l'ensemble des critères +// POUR i = 1 _A_ tabCritere..Occurrence +// +nIndCrit est un entier = +TableauCherche(stCritereCustom.tabCriterePerso,tcLinéaire,"sNomChpCritere",tabCritere[i]..Nom,1) +// SI nIndCrit>0 ALORS +// //Récupère le nom champ "coche" correspondant au champ critère +// sChpCoche = Remplace(tabCritere[i]..Nom,ExtraitChaîne(tabCritere[i]..Nom,1,"_"),"INT") +// +// //Vérifie l'existence du champ et qu'il est coché +// SI ChampExiste(sChpCoche) ALORS +// //Coche le critère +// {sChpCoche,indChamp}=Vrai +// +// //Pour tous les critères sauf ceux du type bouton +// SI tabCritere[i]..Type<>typBouton ALORS +// tabCritere[i]..Valeur = stCritereCustom.tabCriterePerso[nIndCrit].sValChpCritère +// +// SINON +// clListeAll est un objet dynamique +// clListeCrit est un objet dynamique +// champBouton est un champ +06/08/2026 Isis_BO 6299 + +Partie 7 › Collection de procédures › COL_IHM › Code +// callBackContext(tabCritere[i]..Nom,clListeAll,clListeCrit,champBouton) +// +// SI clListeAll:m_clTabModele..Occurrence>0 ALORS +// +POUR TOUTE CHAÎNE uneSoc DE stCritereCustom.tabCriterePerso[nIndCrit].sValChpCritère SEPAREE PAR "," +// k est un entier=1 +// +nIndice est un entier = TableauCherche( clListeAll:m_clTabModele,tcLinéaire,"m_nPKID",val(uneSoc),k) +// SI nIndice>0 ALORS +// +MAJBoutonMultiCritere(champBouton,clListeAll:m_clTabModele[nIndice]:m_sNom) +// clListeCrit.Ajouter(clListeAll:m_clTabModele[nIndice]) +// +// +// FIN +// FIN +// +// FIN +// FIN +// +// +// FIN +// FIN +// FIN +fin +Procédure globale InitTriChampTablePerso +procédure InitTriChampTablePerso(ChampTable est un Champ,stListeCustom est un STListePerso) +//Récupère le nombre de colonnes personnalisées +nColPerso est un entier = stListeCustom:tabColsTri..Occurrence +//Il existe des colonnes personnalisées +si nColPerso>0 alors +tabColonnesTriees est un tableau de chaîne +nMaxTab est un entier = TableauOccurrence(stListeCustom:tabColsTri) +colEnCours est un Champ +//Boucle sur toutes les colonnes personnalisées +pour i = 1 _à_ nMaxTab +//Récupère la colonne du champ table correspondant à l'indice de création pour la colonne +personnsaliée +colEnCours <- TableEnumèreColonne(ChampTable..NomComplet, TableIndiceColonne(ChampTable.. +NomComplet,stListeCustom:tabColsTri[i].sNomColonne,ticCréation)) +//Ajoute au tableau des colonnes à trier la colonne en cours avec le sens du tri personnalisé +TableauAjoute(tabColonnesTriees,stListeCustom:tabColsTri[i].sSensTri+colEnCours..NomComplet) +fin +//Trie le champ Table +TableTrie(TableauVersChaîne(tabColonnesTriees,TAB)) +fin +Procédure globale ListeChampsGroupe +// Résumé : +// Syntaxe : +//[ = ] ListeChampsGroupe ( est champ) +// +// Paramètres : +06/08/2026 Isis_BO 6300 + +Partie 7 › Collection de procédures › COL_IHM › Code +// chpParent (champ) : +// Valeur de retour : +// chaîne ANSI : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ListeChampsGroupe(chpParent est un Champ) +sListeChamp est une chaîne +pour i = 1 _à_ chpParent..Occurrence +sListeChamp += i=1 ? EnumèreChamp(chpParent, i) sinon RC+EnumèreChamp(chpParent, i) +fin +renvoyer sListeChamp +Procédure globale MAJBoutonMultiCritere +// Résumé : +// Syntaxe : +// MAJBoutonMultiCritere () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure MAJBoutonMultiCritere(ChpBouton est un Champ,local sInfo est une chaîne) +ChpBouton..Libellé += ChpBouton..Libellé="" ? Gauche(sInfo,3) sinon ";"+Gauche(sInfo,3) +ChpBouton..Bulle += ChpBouton..Bulle="" ? sInfo sinon RC+sInfo +Procédure globale MAJChampPeriodeAffichage +// Résumé : +// Syntaxe : +//MAJChampPeriodeAffichage ( est champ, est champ) +// +// Paramètres : +// champGroupeCritere (champ) : +// chpGroupePeriodeAffichage (champ) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure MAJChampPeriodeAffichage(champGroupeCritere est un Champ,chpGroupePeriodeAffichage est un +Champ) +//,stCritereCustom est STCritereListePerso, callBackContext est une +procédure)//,BTN_SOCIETE_INTERV,pclTabSoc,BTN_ETAT_INTERVENTION,pclTabEtat +bContinuer est un booléen +tabCritere est un tableau de Champ +//stUnCritere est un STCriterePerso +//sChpCoche est une chaîne +bAuMoinsUn est un booléen +//Récupère dans un tableau les champs contenu dans le groupe de champ +DonneListeChampsGroupe(champGroupeCritere,tabCritere) +//Supprime les éventuels anciens critères +//TableauSupprimeTout(stCritereCustom.tabCriterePerso) +06/08/2026 Isis_BO 6301 + +Partie 7 › Collection de procédures › COL_IHM › Code +pour i = 1 _à_ tabCritere..Occurrence +//Ne traite pas les champs commencant par INT (coche) +si ExtraitChaîne(tabCritere[i]..Nom,1,"_")="INT" alors +//Vérifie l'existence du champ et qu'il est coché +si tabCritere[i]..Valeur=Vrai alors//ChampExiste(sChpCoche) _ET_ {sChpCoche,indChamp} ALORS +bAuMoinsUn = Vrai +sortir +fin +fin +fin +bContinuer = Vrai +quand exception dans +ChampExiste(chpGroupePeriodeAffichage..NomComplet) +faire +bContinuer = Faux +fin +si bContinuer alors +{chpGroupePeriodeAffichage..NomComplet,indChamp}..Etat = bAuMoinsUn ? Grisé sinon Actif +fin +Procédure globale MAJchampTable +procédure MAJchampTable(LeChampTable est un Champ) +// affiche la table et restauration de la position courante +bExistePos est un booléen +//Si des occurrences existent => on essaie de sauver la position de l'enregistrement avant init +du champ +si LeChampTable..Occurrence>0 alors bExistePos = TableSauvePositionEtSélection(LeChampTable)<>"" +//Initialise le champ table avec les données liées +TableAffiche(LeChampTable,taInit) +//Si des occurrences existent et qu'on a sauvé la position de l'enregistrement avant init +=> on restaure cette position +si LeChampTable..Occurrence>0 _et_ bExistePos alors TableRestaurePositionEtSélection(LeChampTable) +Procédure globale MAJChampTableEtObjet +procédure MAJChampTableEtObjet(LeChampTable est un Champ, pclObjetCourant est un objet dynamique) +//Sauvegarde position - Init - restauration de position du champ TABLE +MAJchampTable(LeChampTable) +//MAJ de lobjet courant +MAJObjetCourantViaChampTable(LeChampTable,pclObjetCourant) +Procédure globale MAJchampZR +// Résumé : +// Syntaxe : +//MAJchampZR ( est champ) +// +// Paramètres : +// LeChampZR (champ) : +// Valeur de retour : +// Aucune +// +// Exemple : +06/08/2026 Isis_BO 6302 + +Partie 7 › Collection de procédures › COL_IHM › Code +// Indiquez ici un exemple d'utilisation. +// +procédure MAJchampZR(LeChampZR est un Champ) +// affiche la table et restauration de la position courante +bExistePos est un booléen +//Si des occurrences existent => on essaie de sauver la position de l'enregistrement avant init +du champ +si LeChampZR..Occurrence>0 alors bExistePos = ZoneRépétéeSauvePositionEtSélection(LeChampZR)<>"" +//Initialise le champ table avec les données liées +ZoneRépétéeAffiche(LeChampZR,taInit) +//Si des occurrences existent et qu'on a sauvé la position de l'enregistrement avant init +=> on restaure cette position +si LeChampZR..Occurrence>0 _et_ bExistePos alors ZoneRépétéeRestaurePositionEtSélection(LeChampZR) +Procédure globale MAJChampZREtObjet +// Résumé : +// Syntaxe : +//MAJChampZREtObjet ( est champ, est objet dynamique) +// +// Paramètres : +// LeChampZR (champ) : +// pclObjetCourant (objet dynamique) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure MAJChampZREtObjet(LeChampZR est un Champ, pclObjetCourant est un objet dynamique) +//Sauvegarde position - Init - restauration de position du champ TABLE +MAJchampZR(LeChampZR) +//MAJ de lobjet courant +MAJObjetCourantViaChampZR(LeChampZR,pclObjetCourant) +Procédure globale MAJCocheCritere +// Résumé : +// Syntaxe : +//MAJCocheCritere ( est champ) +// +// Paramètres : +// chpCritere (champ) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// chpComboPeriode (champ) : +procédure MAJCocheCritere(chpCritere est un Champ) +//sSuffixeChamp est une chaine = ExtraitChaîne(chpCritere..Nom,2,"_") +//sPrefixeChamp est une chaine = ExtraitChaîne(chpCritere..Nom,2,".",DepuisFin) +sChampCoche est une chaîne = Remplace(chpCritere..Nom,ExtraitChaîne(chpCritere..Nom,1,"_"),"INT" +) +bContinuer est un booléen +06/08/2026 Isis_BO 6303 + +Partie 7 › Collection de procédures › COL_IHM › Code +bContinuer = Vrai +quand exception dans +ChampExiste({sChampCoche,indChamp}..NomComplet) +faire +bContinuer = Faux +fin +si bContinuer alors +bACocher est un booléen = chpCritere..ValeurAffichée<>"" +{{sChampCoche,indChamp}..NomComplet,indChamp}=bACocher +fin +Procédure globale MAJComboMultiLigne +// Résumé : +// Syntaxe : +//MAJComboMultiLigne ( est objet dynamique, est objet dynamique, + est champ) +// +// Paramètres : +// pclObjetPopup (objet dynamique) : +// pclObjetLocal (objet dynamique) : +// chpCombo (champ) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure MAJComboMultiLigne(pclObjetPopup est un objet dynamique,pclObjetLocal est un objet dynamique, +chpCombo est un Champ) +//Variable servant à collecter les libellés sur 3 caractères des valeurs sélectionnées +sListe est une chaîne = "" +//Efface les informations bulle du champ +chpCombo..Bulle="" +//Supprime les anciennes lignes local sélectionnées +TableauSupprimeTout(pclObjetLocal:m_clTabModele) +//Boucle sur l'ensemble des valeurs possibles issue de la popup +pour i = 1 _à_ pclObjetPopup:p_nTotal +//La ligne en cours est coché +si pclObjetPopup.m_clTabModele[i].m_bSelection alors +//Concaténation des libellés sur 3 caractères des valeurs sélectionnées +sListe += sListe="" ? Gauche(pclObjetPopup:m_clTabModele[i]:InfoOnglet,3) sinon ";"+Gauche( +pclObjetPopup:m_clTabModele[i]:InfoOnglet,3) +//Concaténation dans l'info bulle des libellés entiers des valeurs sélectionnées +chpCombo..Bulle += chpCombo..Bulle="" ? pclObjetPopup:m_clTabModele[i]:InfoOnglet sinon RC+ +pclObjetPopup:m_clTabModele[i]:InfoOnglet +//Ajoute la ligne coché dans le tableau local +pclObjetLocal.Ajouter(pclObjetPopup:m_clTabModele[i]) +//Désélectionne la ligne en cours +pclObjetPopup.m_clTabModele[i].m_bSelection = Faux +fin +fin +//Supprime toutes les lignes du champ +ListeSupprimeTout(chpCombo) +06/08/2026 Isis_BO 6304 + +Partie 7 › Collection de procédures › COL_IHM › Code +//Ajoute une ligne contenant les libellés sur 3 caractères +ListeAjoute(chpCombo,sListe) +//Selectionne la première ligne +ListeSelectPlus(chpCombo,1) +//Coche le critère +MAJCocheCritere(chpCombo) +Procédure globale MAJObjetCourantViaChampTable +procédure MAJObjetCourantViaChampTable(LeChampTable est un Champ, pclObjetCourant est un objet +dynamique) +// récupération de l'indice séléctionné du champ TABLE +nIndice est un entier=TableSelect(LeChampTable) +//Si aucune ligne n'est séléctionné ou que le champ TABLE est en saisie d'un nouvel enregistrement +si nIndice<=0 _ou_ LeChampTable..Nouveau alors +//L'objet courant ne vaut rien +pclObjetCourant=Null +sinon +//L'objet courant vaut l'objet de l'indice +pclObjetCourant=LeChampTable[nIndice] +// BufferObjet1, BufferObjet2 sont des Buffers +// +// Sérialise(pclObjetCourant, BufferObjet1, psdBinaire) +// Sérialise(LeChampTable[nIndice], BufferObjet2, psdBinaire) +// SI pclObjetCourant<>Null _et_ BufferObjet1 <> BufferObjet2 ALORS +// nCpt est un entier=0 +// POUR TOUTE LIGNE DE LeChampTable +// nCpt+=1 +// Sérialise(LeChampTable[nCpt], BufferObjet2, psdBinaire) +// SI BufferObjet1 = BufferObjet2 ALORS +// TableSelectPlus(LeChampTable,nCpt) +// sortir +// FIN +// FIN +// SINON +// +// FIN +fin +Procédure globale MAJObjetCourantViaChampZR +// Résumé : +// Syntaxe : +//MAJObjetCourantViaChampZR ( est champ, est objet dynamique) +// +// Paramètres : +// LeChampZR (champ) : +// pclObjetCourant (objet dynamique) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure MAJObjetCourantViaChampZR(LeChampZR est un Champ, pclObjetCourant est un objet dynamique) +// récupération de l'indice séléctionné du champ TABLE +nIndice est un entier=ZoneRépétéeSelect(LeChampZR) +06/08/2026 Isis_BO 6305 + +Partie 7 › Collection de procédures › COL_IHM › Code +//Si aucune ligne n'est séléctionné ou que le champ TABLE est en saisie d'un nouvel enregistrement +si nIndice<=0 _ou_ LeChampZR..Nouveau alors +//L'objet courant ne vaut rien +pclObjetCourant=Null +sinon +//L'objet courant vaut l'objet de l'indice +pclObjetCourant=LeChampZR[nIndice] +fin +Procédure globale ModifZoneSaisieAssistee +// Résumé : Méthode faisant appel au Thread et permettant de rechercher un élément en présentant une +saisie assistée des propositions trouvées +// Syntaxe : +//ModifZoneSaisieAssistee ( est champ, est entier, + est booléen, est chaîne, est chaîne) +// +// Paramètres : +// ChampDeSaisie (champ) : Nom du champ zone de saisie servant à la recherche +// nTailleMiniDeclenche (entier) : Nombre de caractères minimum pour le déclenchement de la recherche +// bControleDoublonsTableau (booléen) : Si vrai, il faut controler +l'existence en tableau avant l'ajout +// sNomVariableTableau (chaîne ANSI) : Nom du tableau dans lequel le contrôle de l'existence est fait +// sCritereCompl (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +procédure ModifZoneSaisieAssistee(ChampDeSaisie est un Champ,local nTailleMiniDeclenche est un entier, +local bControleDoublonsTableau est un booléen, local sNomVariableTableau est une chaîne,local +sCritereCompl est une chaîne) +si ChampDeSaisie..ValeurAffichée<>"" _et_ Taille(ChampDeSaisie..ValeurAffichée)>=nTailleMiniDeclenche +alors +si Taille(ChampDeSaisie..ValeurAffichée)=nTailleMiniDeclenche alors SaisieAssistéeAjoute( +ChampDeSaisie,"---Recherche en cours---") +//ToastAffiche("Recherche en cours...",toastCourt,cvMilieu,chCentre) +SaisieAssistéeSupprimeTout(ChampDeSaisie) +selon ChampDeSaisie..Nom +cas "SAI_CodeLieu" : PTableLieu::THRechercheSaisieAssistee( +ChampDeSaisie..Nom,ChampDeSaisie..ValeurAffichée,PTableLieu.ChercheEtRemplieListe,"ListeLieu", +bControleDoublonsTableau,sNomVariableTableau,sCritereCompl) +//TH_RechercheSaisieAssistee(ChampDeSaisie,PTableLieu.ChercheEtRemplieListe,"ListeLieu",bContro +leDoublonsTableau,sNomVariableTableau,sCritereCompl,vrai) +cas "SAI_CLIENT" : TH_RechercheSaisieAssistee(ChampDeSaisie..Nom, +ChampDeSaisie..ValeurAffichée,PTableClient.ChercheEtRemplieListe,"ListeClient", +bControleDoublonsTableau,sNomVariableTableau,sCritereCompl,Vrai) +cas "SAI_Demandeur" : TH_RechercheSaisieAssistee(ChampDeSaisie..Nom, +ChampDeSaisie..ValeurAffichée,PTablePersonne.ChercheEtRemplieListe,"ListeDemandeur", +bControleDoublonsTableau,sNomVariableTableau,sCritereCompl,Vrai) +cas "SAI_CodeContact" : TH_RechercheSaisieAssistee(ChampDeSaisie..Nom, +ChampDeSaisie..ValeurAffichée,PTablePersonne.ChercheEtRemplieListe,"ListeDemandeur", +bControleDoublonsTableau,sNomVariableTableau,sCritereCompl,Faux) +cas "SAI_Dossier" : PTableDossier::THRechercheSaisieAssistee(ChampDeSaisie +..Nom,ChampDeSaisie..ValeurAffichée,PTableDossier.ChercheEtRemplieListe,"ListeDossier", +bControleDoublonsTableau,sNomVariableTableau,sCritereCompl) +//TH_RechercheSaisieAssistee(ChampDeSaisie,PTableDossier.ChercheEtRemplieListe,"ListeDossier",b +ControleDoublonsTableau,sNomVariableTableau,sCritereCompl,vrai)// +06/08/2026 Isis_BO 6306 + +Partie 7 › Collection de procédures › COL_IHM › Code +cas "SAI_LOGIN" : PTableUtilisateur::THRechercheSaisieAssistee( +ChampDeSaisie..Nom,ChampDeSaisie..ValeurAffichée,PTableUtilisateur.ChercheEtRemplieListe, +"ListeUser",bControleDoublonsTableau,sNomVariableTableau,sCritereCompl) +fin +//trace(ChaîneConstruit("saisie assisté ouvre sur le Champ %1",ChampDeSaisie..nom)) +SaisieAssistéeOuvre(ChampDeSaisie) +sinon +SaisieAssistéeFerme(ChampDeSaisie) +fin +Procédure globale ObjetListeEnregCoche +// Résumé : +// Syntaxe : +//[ = ] ObjetListeEnregCoche ( est objet dynamique) +// +// Paramètres : +// gclObjetListe (objet dynamique) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ObjetListeEnregCoche(gclObjetListe est un objet dynamique) +bResultat est un booléen +//Boucle sur l'ensemble des contacts du client +pour i = 1 _à_ gclObjetListe.m_clTabModele.Occurrence() +//Le contact est séléctionné +si gclObjetListe.m_clTabModele[i].m_bSelection alors +bResultat=Vrai +break +fin +fin +renvoyer bResultat +Procédure globale OuvreFiche +// Résumé : Méthode permettant d'ouvrir +// Syntaxe : +//OuvreFiche ( est EModeAppelFiche, est objet dynamique, est +chaîne, est ETypeAppelFenetre, est chaîne, est chaîne [, +...]) +// +// Paramètres : +// eModeAppel (EModeAppelFiche) : +// gclObjetListe (objet dynamique) : +// sNomFiche (chaîne ANSI) : +// eTypeAppel (ETypeAppelFenetre) : +// sTitreOnglet (chaîne ANSI) : +// sNomChampFI (chaîne ANSI) : > +// <*> : > +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// <*> : > +// <*> : > +// <*> : > +// <*> : > +procédure OuvreFiche(eModeAppel est un EModeAppelFiche,gclObjetListe est un objet dynamique, local +06/08/2026 Isis_BO 6307 + +Partie 7 › Collection de procédures › COL_IHM › Code +sNomFiche est une chaîne,local eTypeAppel est un ETypeAppelFenetre,local sTitreOnglet +est une chaîne,local sNomChampFI est une chaîne,*) +//Variable stockant l'instance d'une classe de type PFiche.... +clPresentationFiche est un objet dynamique +//Variable stockant la chaine de paramètre des appels de fenêtre +paramSupplementaire est un STParamFenetreAppelante +selon eModeAppel +//En ajout, appel de la méthode Nouveau de l'objet liste en passant le paramètre 8 et 9 +correspondant respectivement à bLier et nIdLie +cas FicheEnAjout : clPresentationFiche <-gclObjetListe.Nouveau(MesParamètres[8 à 9]) +cas FicheEnAjoutCustom : clPresentationFiche <-gclObjetListe.NouveauCustom(MesParamètres[8 à 9]) +//En modif, appel de la méthode Modifier de l'objet liste +cas FicheEnModification : clPresentationFiche <-gclObjetListe.Modifier() +cas FicheEnModifCustom : clPresentationFiche <-gclObjetListe.ModifierCustom() +//ExécuteTraitement(gclObjetListe.MesParamètres[8],trtProcédure)//{MesParamètres[8],indVariable} +fin +selon eTypeAppel +//Si la fenêtre est appelée sans paramètre supplémentaire (depuis le menu) ou pour certaines +liste(dossier,client)=>Ouverture dans un nouvel onglet +cas Libre,DansOnglet : +si MesParamètres..Occurrence>=7 alors +paramSupplementaire = MesParamètres[7] +fin +FEN_Menu.OuvreOuActive(sNomFiche,sTitreOnglet,MesParamètres..Occurrence>=10 ? MesParamètres[10] +sinon paramSupplementaire.bRafraichit ? Vrai sinon *,clPresentationFiche,paramSupplementaire) +//DonneParam(paramSupplementaire) +cas DansFenetre +//Si la fenêtre est appelée avec paramètre supplémentaire et depuis un champ fenêtre +interne=>Ouverture dans un champ fenêtre interne +cas DansChampFI : +paramSupplementaire = MesParamètres[7]; ChangeFenêtreSource(sNomChampFI,sNomFiche, +clPresentationFiche,DonneParam(paramSupplementaire)) +// SI MesParamètres..Occurrence>=10 _et_ MesParamètres[10] ALORS +// ExécuteTraitement(sNomFiche+".DonneFocusChamp", trtProcédure) +// FIN +fin +Procédure globale OuvreFicheDepuisListe +procédure OuvreFicheDepuisListe(eModeFiche est un EModeAppelFiche,paramSupplementaire est un +STParamFenetreAppelante,pclObjetListe est un objet dynamique,local sNomFiche est une chaîne,local sNomChampFISource est une chaîne,champDispositionListe est un Champ,champTable est un +Champ,champFenetreInterneDest est un Champ,champGRImageOpaque est un Champ,champGRImageOpaqueHauteur +est un Champ,champGroupInaccessible est un Champ,gProcMAJRetour est une procédure=Null, +sContexteAppelant est une chaîne="",local eTypeAppel est un ETypeAppelFenetre=DansChampFI,*) +//La fenêtre est appelée depuis un champ fenêtre interne +si paramSupplementaire.eTypeAppel=DansChampFI alors +//Ouvre la fiche dans le même champ fenêtre interne +06/08/2026 Isis_BO 6308 + +Partie 7 › Collection de procédures › COL_IHM › Code +OuvreFiche(eModeFiche,pclObjetListe,sNomFiche,DansChampFI,"",sNomChampFISource,DonneParam( +paramSupplementaire),MesParamètres[15à]) +//La fenêtre est appelée depuis un onglet +sinon si eTypeAppel=DansOnglet alors +paramSupplementaire = DonneParam(paramSupplementaire) +//Ouvre la fiche dans un nouvel onglet +OuvreFiche(eModeFiche,pclObjetListe,sNomFiche,eTypeAppel,paramSupplementaire.sTitreFenetre,"", +paramSupplementaire,MesParamètres[15à]) +sinon +//Gestion de l'affichage pour accueillir le champ Fenêtre Interne +// SI MesParamètres..Occurrence>=20 ALORS +// +ReorganiseChampDispoDansListe(champDispositionListe,champTable,champFenetreInterneDest,champGRImageOpaq +ue,champGRImageOpaqueHauteur,champGroupInaccessible,Vrai,*,MesParamètres[16],MesParamètres[17],MesParam +ètres[18],*,MesParamètres[19],MesParamètres[2 +0]) +// SINON +ReorganiseChampDispoDansListe(champDispositionListe,champTable,champFenetreInterneDest, +champGRImageOpaque,champGRImageOpaqueHauteur,champGroupInaccessible,Vrai) +// FIN +//Gestion de l'ouverture de la fiche +selon eModeFiche +cas FicheEnAjout : OuvreFiche(eModeFiche,pclObjetListe,sNomFiche,DansChampFI,"", +champFenetreInterneDest..Nom,DonneParam(DansChampFI,sNomFiche,sContexteAppelant,gProcMAJRetour, +*,paramSupplementaire.sNomIDAppelant,*,pclObjetListe),MesParamètres[15à]) +cas FicheEnAjoutCustom : OuvreFiche(eModeFiche,pclObjetListe,sNomFiche,DansChampFI,"", +champFenetreInterneDest..Nom,DonneParam(DansChampFI,sNomFiche,sContexteAppelant,gProcMAJRetour, +*,paramSupplementaire.sNomIDAppelant,*,pclObjetListe),MesParamètres[15 à 16]) +cas FicheEnModification : OuvreFiche(eModeFiche,pclObjetListe,sNomFiche,DansChampFI,"", +champFenetreInterneDest..Nom,DonneParam(DansChampFI,sNomFiche,sContexteAppelant,gProcMAJRetour, +*,paramSupplementaire.sNomIDAppelant,*,pclObjetListe)) +cas FicheEnModifCustom : OuvreFiche(eModeFiche,pclObjetListe,sNomFiche,DansChampFI,"", +champFenetreInterneDest..Nom,DonneParam(DansChampFI,sNomFiche,sContexteAppelant,gProcMAJRetour, +*,paramSupplementaire.sNomIDAppelant,*,pclObjetListe)) +fin +fin +Procédure globale OuvreFicheOuRetourneSelection +procédure OuvreFicheOuRetourneSelection(stAppelantPourRetour est un STParamFenetreAppelante, +stAppelantPourOuvre est un STParamFenetreAppelante,pclObjetListe est un objet dynamique,local +sNomFicheAOuvrir est une chaîne,local eModeAppel est un EModeAppelFiche,local +eTypeAppel est un ETypeAppelFenetre,local sNomChampFISource est une chaîne,champDispositionListe est un +Champ,champTable est un Champ,champFenetreInterneDest est un Champ,champGRImageOpaque est un Champ, +champGRImageOpaqueHauteur est un Champ,champGroupInaccessible est un Champ,*) +//La fenêtre est ouverte dans un champ fenêtre interne +si stAppelantPourRetour.eTypeAppel dans (DansChampFI,DansFenetre) alors +//Il existe une callBack a appelé pour la mise à jour de l'appelant +si stAppelantPourRetour.gProcMAJRetour<> Null _et_ pclObjetListe.p_clCourant<>Null alors +//La liste est en multi-sélection +si stAppelantPourRetour.bMultiSelect alors +pclObjetListe.p_clCourant.m_bSelection = Vrai +//stAppelantPourRetour.gProcMAJRetour(stAppelantPourRetour.sContexteAppelant,pclObjetListe +) +AppelProcFenetreAppelante(pclObjetListe,stAppelantPourRetour,Vrai,Vrai) +06/08/2026 Isis_BO 6309 + +Partie 7 › Collection de procédures › COL_IHM › Code +sinon +//Variable stockant l'instance d'une classe de type PFiche.... +clPresentationFiche est un objet dynamique +selon eModeAppel +//En ajout, appel de la méthode Nouveau de l'objet liste en passant le paramètre 8 et +9 correspondant respectivement à bLier et nIdLie +cas FicheEnAjout : clPresentationFiche <-pclObjetListe.Nouveau(MesParamètres[14 à +15]) +cas FicheEnAjoutCustom : clPresentationFiche <-pclObjetListe.NouveauCustom( +MesParamètres[14 à 15]) +//En modif, appel de la méthode Modifier de l'objet liste +cas FicheEnModification : clPresentationFiche <-pclObjetListe.Modifier() +cas FicheEnModifCustom : clPresentationFiche <-pclObjetListe.ModifierCustom() +//ExécuteTraitement(gclObjetListe.MesParamètres[8],trtProcédure)//{MesParamètres[8],in +dVariable} +fin +//Appel de la callBack avec l'objet en retour +//stAppelantPourRetour.gProcMAJRetour(stAppelantPourRetour.sContexteAppelant,clPresentatio +nFiche) +AppelProcFenetreAppelante(clPresentationFiche,stAppelantPourRetour,Vrai,Vrai) +fin +fin +si stAppelantPourRetour.eTypeAppel = DansChampFI alors +ChangeFenêtreSource(sNomChampFISource,Null) +sinon +Ferme() +fin +sinon si pclObjetListe.p_clCourant<>Null alors +OuvreFicheDepuisListe(FicheEnModification,stAppelantPourOuvre,pclObjetListe,sNomFicheAOuvrir, +sNomChampFISource,champDispositionListe,champTable,champFenetreInterneDest,champGRImageOpaque, +champGRImageOpaqueHauteur,champGroupInaccessible,stAppelantPourOuvre.gProcMAJRetour, +stAppelantPourOuvre.sContexteAppelant,eTypeAppel,MesParamètres..Occurrence>=14 ? MesParamètres[14à] +sinon Null) +//OuvreFiche(eModeAppel, pclObjetListe, sNomFiche, eTypeAppel,sTitreOnglet,sNomChampFI) +fin +Procédure globale RecupCriterePerso +procédure RecupCriterePerso(champGroupeCritere est un Champ,stCritereCustom est STCritereListePerso, +callBackContext est une procédure)//,BTN_SOCIETE_INTERV,pclTabSoc,BTN_ETAT_INTERVENTION,pclTabEtat +tabCritere est un tableau de Champ +stUnCritere est un STCriterePerso +sChpCoche est une chaîne +//Récupère dans un tableau les champs contenu dans le groupe de champ +DonneListeChampsGroupe(champGroupeCritere,tabCritere) +//Supprime les éventuels anciens critères +TableauSupprimeTout(stCritereCustom.tabCriterePerso) +pour i = 1 _à_ tabCritere..Occurrence +//Ne traite pas les champs commencant par INT (coche) +si ExtraitChaîne(tabCritere[i]..Nom,1,"_")<>"INT" alors +bDeuxiemeDate est un booléen = ExtraitChaîne(ExtraitChaîne(tabCritere[i]..Nom,1,".",DepuisFin), +06/08/2026 Isis_BO 6310 + +Partie 7 › Collection de procédures › COL_IHM › Code +1,"_",DepuisFin) = "AU" +//Récupère le nom champ "coche" correspondant au champ critère +//Si deuxième fourchette de date +si bDeuxiemeDate alors +sChpCoche = Remplace(ExtraitChaîne(tabCritere[i]..Nom,1,".",DepuisFin),ExtraitChaîne( +ExtraitChaîne(tabCritere[i]..Nom,1,".",DepuisFin),1,"_"),"LIB") +sinon +sChpCoche = Remplace(tabCritere[i]..Nom,ExtraitChaîne(tabCritere[i]..Nom,1,"_"),"INT") +fin +//Vérifie l'existence du champ et qu'il est coché +si ChampExiste(sChpCoche) _et_ (bDeuxiemeDate _ou_ {sChpCoche,indChamp}) alors +//Récupère le nom du champ critère +stUnCritere.sNomChpCritere = tabCritere[i]..Nom +//RAZ de la valeur précédente +stUnCritere.sValChpCritere = "" +//Pour tous les critères sauf ceux du type bouton +si pas tabCritere[i]..Type dans (typBouton,typComboSNS) alors +//Bouton PAS DANS (BTN_SOCIETE_INTERV..nom,BTN_ETAT_INTERVENTION..Nom) +//Récupère la valeur correspondant au champ critère +stUnCritere.sValChpCritere = tabCritere[i]..Valeur +sinon si tabCritere[i]..Type=typComboSNS _et_ tabCritere[i]..Mémoire=Faux alors +//Récupère la valeur correspondant au champ critère +stUnCritere.sValChpCritere = tabCritere[i]..Valeur +sinon si tabCritere[i]..Type=typComboSNS _et_ tabCritere[i]..Mémoire=Vrai alors +clListeAll est un objet dynamique +clListeCrit est un objet dynamique +champCombo est un Champ +callBackContext(tabCritere[i]..Nom,clListeAll,clListeCrit,champCombo) +pour j= 1 _à_ clListeCrit:p_nTotal +//Récupère toutes les valeurs correspondant au champ critère +stUnCritere.sValChpCritere +=[","]+ clListeCrit:m_clTabModele[j]:m_nPKID +fin +sinon +clListeAll est un objet dynamique +clListeCrit est un objet dynamique +champBouton est un Champ +callBackContext(tabCritere[i]..Nom,clListeAll,clListeCrit,champBouton) +pour j= 1 _à_ clListeCrit:p_nTotal +//Récupère toutes les valeurs correspondant au champ critère +stUnCritere.sValChpCritere +=[","]+ clListeCrit:m_clTabModele[j]:m_nPKID +fin +//Pour le critère Société +// +SINON SI tabCritere[i]..Nom =BTN_SOCIETE_INTERV..Nom _ET_ pclTabSoc<>Null _ET_ pclTabSoc:p_nTotal>0 +ALORS +// +// POUR j= 1 _À_ pclTabSoc:p_nTotal +// //Récupère toutes les valeurs correspondant au champ critère +// stUnCritere.sValChpCritere +=[","]+ pclTabSoc:m_clTabModele[j]:m_nPKID +// +// FIN +// +// //Pour le critère état intervention +// SINON SI tabCritere[i]..Nom =BTN_ETAT_INTERVENTION..Nom +_ET_ pclTabEtat<>Null _ET_ pclTabEtat:p_nTotal>0 ALORS +// +// POUR j= 1 _À_ pclTabEtat:p_nTotal +06/08/2026 Isis_BO 6311 + +Partie 7 › Collection de procédures › COL_IHM › Code +// //Récupère toutes les valeurs correspondant au champ critère +// stUnCritere.sValChpCritere +=[","]+ pclTabEtat:m_clTabModele[j]:m_nPKID +// +// FIN +fin +TableauAjoute(stCritereCustom.tabCriterePerso,stUnCritere) +fin +fin +fin +Procédure globale ReorganiseChampDispoDansFiche +procédure ReorganiseChampDispoDansFiche(champDispositionFiche est un Champ,champReference est un Champ, +champFenetreInterne est un Champ,champGRImageOpaque est un Champ,champGroupInaccessible est un Champ, +local bOpacifier est un booléen,local nTauxOpacite est un entier=50,local nIndiceCelluleACacher est un +entier=1,local nIndiceCelluleFI est un entier=2,local nLargeur est un entier=0) +tabGrpChpImageOpaque est un tableau de Champ +tabGrpChpInaccessible est un tableau de Champ +DonneListeChampsGroupe(champGRImageOpaque,tabGrpChpImageOpaque) +DonneListeChampsGroupe(champGroupInaccessible,tabGrpChpInaccessible) +si bOpacifier alors +nHauteur est un entier = champDispositionFiche[nIndiceCelluleACacher]..hauteur +//Invisibilité de la cellule du champ disposition qui contient les données +champDispositionFiche[nIndiceCelluleACacher]..Visible = Faux +//Visibilité de la cellule du champ disposition qui contient le champ fenêtre interne +champDispositionFiche[nIndiceCelluleFI]..Visible = Vrai +champDispositionFiche[nIndiceCelluleFI]..Largeur = nLargeur>0 ? nLargeur sinon champReference.. +Largeur +champDispositionFiche[nIndiceCelluleFI]..Hauteur = nHauteur +//Adaptation de la largeur du champ fenêtre comme le champ TABLE (pour palier à beugue) +champFenetreInterne..Largeur= nLargeur>0 ? nLargeur sinon champReference..Largeur +champFenetreInterne..Hauteur=nHauteur +pour i = 1 _à_ tabGrpChpImageOpaque..Occurrence +//Applique un taux d'opacité au groupe d'image +tabGrpChpImageOpaque[i]..Opacité = nTauxOpacite +//Rend visible le champ image de la cellule du champ disposition qui contient l'entête +tabGrpChpImageOpaque[i]..Visible = bOpacifier +fin +pour i = 1 _à_ tabGrpChpInaccessible..Occurrence +//Passe en grisé les champs concernés par l'opacité +tabGrpChpInaccessible[i]..Etat = Grisé +fin +// //Applique un taux d'opacité au groupe d'image +// champGRImageOpaque..Opacité = nTauxOpacite +// +// //Rend visible le champ image de la cellule du champ disposition qui contient l'entête +// champGRImageOpaque..Visible = bOpacifier +// //Passe en grisé les champs concernés par l'opacité +// champGroupInaccessible..Etat = Grisé +// +//Applique un taux d'opacité au champ image de la cellule du champ disposition qui contient l'entête de +boutons +// champImageOpaqueEntete..Opacité = nTauxOpacite +// +// +06/08/2026 Isis_BO 6312 + +Partie 7 › Collection de procédures › COL_IHM › Code +//Applique un taux d'opacité au champ image de la cellule du champ disposition qui contient l'entête de +données +// champImageOpaqueEntete2..Opacité = nTauxOpacite +// +// //Rend visible le champ image de la cellule du champ disposition qui contient l'entête de boutons +// champImageOpaqueEntete..Visible = bOpacifier +// +// //Rend visible le champ image de la cellule du champ disposition qui contient l'entête de données +// champImageOpaqueEntete2..Visible = bOpacifier +sinon +pour i = 1 _à_ tabGrpChpInaccessible..Occurrence +//Passe en actif les champs qui ont été opacifié +tabGrpChpInaccessible[i]..Etat = Actif +fin +pour i = 1 _à_ tabGrpChpImageOpaque..Occurrence +//Rend invisible le champ image de la cellule du champ disposition qui contient l'entête +tabGrpChpImageOpaque[i]..Visible = bOpacifier +fin +// //Passe en actif les champs qui ont été opacifié +// champGroupInaccessible..Etat = Actif +// +// //Rend invisible le champ image de la cellule du champ disposition qui contient l'entête +// champGRImageOpaque..Visible = bOpacifier +// //Rend invisible le champ image de la cellule du champ disposition qui contient l'entête de boutons +// champImageOpaqueEntete..Visible = bOpacifier +// +// //Rend invisible le champ image de la cellule du champ disposition qui contient l'entête de données +// champImageOpaqueEntete2..Visible = bOpacifier +//Invisibilité de la cellule du champ disposition qui contient le champ fenêtre interne +champDispositionFiche[nIndiceCelluleFI]..Visible = Faux +//Visibilité de la cellule du champ disposition qui contient les données +champDispositionFiche[nIndiceCelluleACacher]..Visible = Vrai +fin +Procédure globale ReorganiseChampDispoDansFiche1 +procédure ReorganiseChampDispoDansFiche1(champReference est un Champ,champFenetreInterne est un Champ, +champGRImageOpaque est un Champ,champGroupInaccessible est un Champ,local bOpacifier est un booléen, +local nTauxOpacite est un entier=50) +tabGrpChpImageOpaque est un tableau de Champ +tabGrpChpInaccessible est un tableau de Champ +DonneListeChampsGroupe(champGRImageOpaque,tabGrpChpImageOpaque) +DonneListeChampsGroupe(champGroupInaccessible,tabGrpChpInaccessible) +si bOpacifier alors +champFenetreInterne..Visible=Vrai +champReference..Visible=Faux +pour i = 1 _à_ tabGrpChpImageOpaque..Occurrence +//Applique un taux d'opacité au groupe d'image +tabGrpChpImageOpaque[i]..Opacité = nTauxOpacite +//Rend visible le champ image de la cellule du champ disposition qui contient l'entête +tabGrpChpImageOpaque[i]..Visible = bOpacifier +fin +pour i = 1 _à_ tabGrpChpInaccessible..Occurrence +//Passe en grisé les champs concernés par l'opacité +06/08/2026 Isis_BO 6313 + +Partie 7 › Collection de procédures › COL_IHM › Code +tabGrpChpInaccessible[i]..Etat = Grisé +fin +sinon +champFenetreInterne..Visible = Faux +champReference..Visible = Vrai +pour i = 1 _à_ tabGrpChpInaccessible..Occurrence +//Passe en actif les champs qui ont été opacifié +tabGrpChpInaccessible[i]..Etat = Actif +fin +pour i = 1 _à_ tabGrpChpImageOpaque..Occurrence +//Rend invisible le champ image de la cellule du champ disposition qui contient l'entête +tabGrpChpImageOpaque[i]..Visible = bOpacifier +fin +fin +Procédure globale ReorganiseChampDispoDansListe +procédure ReorganiseChampDispoDansListe(champDispositionListe est un Champ,champTable est un Champ, +champFenetreInterne est un Champ,champGRImageOpaque est un Champ,champGRHauteur est un Champ, +champGroupInaccessible est un Champ,local bOpacifier est un booléen,local nTauxOpacite est un entier=50 +,local nIndiceChampTable est un entier=4,local nIndiceChampTotaux est un entier=5,local nIndiceChampFI +est un entier=6,local bAfficheCelluleTotaux est un booléen=Vrai,local nIndiceChampCritere est un entier +=2,local nIndiceChampDeplier est un entier=3) +si bOpacifier alors +si nIndiceChampCritere>0 alors champDispositionListe[nIndiceChampCritere]..Visible = Faux +si nIndiceChampDeplier>0 alors champDispositionListe[nIndiceChampDeplier]..Visible = Faux +//Diminution de la hauteur de la cellule du champ disposition qui contient le champ TABLE en +proportion de la cellule qui contient le champ fenêtre interne +champDispositionListe[nIndiceChampTable]..Hauteur = champDispositionListe[nIndiceChampTable].. +Hauteur-champFenetreInterne..Hauteur//-champDispositionListe[nIndiceChampTable]..Y +//Invisibilité de la cellule du champ disposition qui contient les totaux du champ table +champDispositionListe[nIndiceChampTotaux]..Visible = Faux +//Visibilité de la cellule du champ disposition qui contient le champ fenêtre interne +champDispositionListe[nIndiceChampFI]..Visible = Vrai +//Diminution de la hauteur du champ TABLE en proportion de la cellule qui contient le champ fenêtre +interne +champTable..Hauteur = champDispositionListe[nIndiceChampTable]..Hauteur +//Adaptation de la largeur du champ fenêtre comme le champ TABLE (pour palier à beugue) +champFenetreInterne..Largeur= champTable..Largeur +//Adaptation de la hauteur du champ image qui opacifie le champ table +//champImageOpaqueTable..Hauteur = champTable..Hauteur +// Adaptation de la hauteur des champs appartenant au groupe hauteur +i est un entier = 1 +ResChamp est une chaîne +ResChamp = EnumèreChamp(champGRHauteur, i) +tantque ResChamp <> "" +i++ +{ResChamp,indChamp}..Hauteur = champTable..Hauteur +ResChamp = EnumèreChamp(champGRHauteur, i) +fin +//Passe en grisé les champs concernés par l'opacité +champGroupInaccessible..Etat = Grisé +06/08/2026 Isis_BO 6314 + +Partie 7 › Collection de procédures › COL_IHM › Code +//Applique un taux d'opacité au groupe d'image +champGRImageOpaque..Opacité = nTauxOpacite +//Applique un taux d'opacité au champ image de la cellule du champ disposition qui contient le +champ TABLE +//champImageOpaqueTable..Opacité = nTauxOpacite +//Rend visible le champ image de la cellule du champ disposition qui contient l'entête +champGRImageOpaque..Visible = bOpacifier +//Rend visible le champ image de la cellule du champ disposition qui contient le champ TABLE +//champImageOpaqueTable..Visible = bOpacifier +sinon +//Passe en actif les champs qui ont été opacifié +champGroupInaccessible..Etat = Actif +//Rend invisible le champ image de la cellule du champ disposition qui contient l'entête +champGRImageOpaque..Visible = bOpacifier +//Rend invisible le champ image de la cellule du champ disposition qui contient le champ TABLE +//champImageOpaqueTable..Visible = bOpacifier +si nIndiceChampCritere>0 alors champDispositionListe[nIndiceChampCritere]..Visible = Vrai +si nIndiceChampDeplier>0 alors champDispositionListe[nIndiceChampDeplier]..Visible = Vrai +//Visibilité ou non de la cellule du champ disposition qui contient les totaux du champ table +champDispositionListe[nIndiceChampTotaux]..Visible = bAfficheCelluleTotaux +//Invisibilité de la cellule du champ disposition qui contient le champ fenêtre interne +champDispositionListe[nIndiceChampFI]..Visible = Faux +//Augmentation de la hauteur du champ TABLE en proportion de la cellule qui contient le champ +fenêtre interne +//champTable..Hauteur = champTable..Hauteur+champFenetreInterne..Hauteur +//Augmentation de la hauteur de la cellule du champ disposition qui contient le champ TABLE suite à +la disparition de la cellule qui contient le champ fenêtre interne +//champDispositionListe[nIndiceChampTable]..Hauteur = +champTable..Hauteur//champDispositionListe[nIndiceChampTable]..Hauteur//+champFenetreInterne..Haute +ur +fin +Procédure globale RepositionneEnregSelonObjetCourant +procédure RepositionneEnregSelonObjetCourant(LeChampTable est un Champ, varObjet est un Variant, +pclObjetCourant est un objet dynamique) +nCpt est un entier +bufCourant est un Buffer +bufValeur est un Buffer +si pclObjetCourant<>Null alors Sérialise(pclObjetCourant,bufCourant,psdBinaire) +pour toute ligne de LeChampTable +nCpt++ +selon varObjet +cas PTableClient : +pclObjetTable est un PTableClient dynamique = LeChampTable +si pclObjetTable<>Null alors Sérialise(pclObjetTable,bufValeur,psdBinaire) +fin +06/08/2026 Isis_BO 6315 + +Partie 7 › Collection de procédures › COL_IHM › Code +si bufCourant=bufValeur alors +TableSelectPlus(LeChampTable,nCpt) +sortir +fin +fin +Procédure globale SelectionValeurCombo +// Résumé : +// Syntaxe : +//SelectionValeurCombo ( est champ, est chaîne) +// +// Paramètres : +// champCombo (champ) : +// sValeur (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure SelectionValeurCombo(champCombo est un Champ,local sValeur est une chaîne) +sTableau est une chaîne = Tronque(ExtraitChaîne(champCombo..FichierParcouru,2,":"),Taille(ExtraitChaîne +(champCombo..FichierParcouru,2,":")),nombreDeCaractèresAConserver) +nIndice est un entier = TableauCherche({sTableau,indVariable},tcLinéaire,"m_sValeur",sValeur,1) +si nIndice>0 alors +{champCombo..NomComplet,indChamp} = {sTableau,indVariable}[nIndice]:m_nPKID +fin +Procédure globale TabelEnregCoche +// Résumé : +// Syntaxe : +//[ = ] TabelEnregCoche ( est champ) +// +// Paramètres : +// champTable (champ) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure TabelEnregCoche(champTable est un Champ) +bResultat est un booléen +//Boucle sur l'ensemble des contacts du client +pour toute ligne de champTable +//Le contact est séléctionné +si champTable.COL_SEL alors +bResultat=Vrai +break +fin +fin +renvoyer bResultat +Procédure globale TH_AjouteSaisieAssistee +// Résumé : Méthode permmettant d'ajouter des éléments dans une saisie assistée d'une zone +// Syntaxe : +//TH_AjouteSaisieAssistee ( est chaîne, est chaîne, est +entier sur 8 octets, est booléen, est chaîne) +06/08/2026 Isis_BO 6316 + +Partie 7 › Collection de procédures › COL_IHM › Code +// +// Paramètres : +// sNomChampSaisie (chaîne ANSI) : Nom du champ zone de saisie +// sLibelleAAfficher (chaîne ANSI) : Valeur à afficher dans la zone de saisie +// nPKID (entier sur 8 octets) : Identifiant unique de la valeur à afficher +// bControleDoublonsTableau (booléen) : faut-il controler l'existence en tableau avant l'ajout +// +sNomTableauDeRecherche (chaîne ANSI) : Nom du tableau dans lequel le contrôle de l'existence est fait +// Valeur de retour : +// Aucune +// bFinRecherche (booléen) : +// bAucunResultat (booléen - valeur par défaut=0) : +procédure TH_AjouteSaisieAssistee( local sNomChampSaisie est une chaîne,local sLibelleAAfficher est une +chaîne, local nPKID est un entier sur 8 octets,local bControleDoublonsTableau est un booléen,local +sNomTableauDeRecherche est une chaîne) +bAjoute est un booléen=Vrai +si bControleDoublonsTableau _et_ sNomTableauDeRecherche<>"" alors +si TableauCherche({sNomTableauDeRecherche,indVariable},tcLinéaire,"m_nPKID",nPKID,1)<>-1 alors +bAjoute=Faux +fin +fin +si bAjoute alors +si nPKID=0 alors +si sNomChampSaisie <> "SAI_CodeContact" et sNomChampSaisie <> "SAI_CodeLieu" alors +//Ajoute dans le champ de saisie l'indication qu'aucun résultat n'a été trouvé entre +crochet suivi du libellé à afficher +SaisieAssistéeAjoute({sNomChampSaisie,indChamp},"---Aucun résultat---") +Multitâche(75) +SaisieAssistéeFerme({sNomChampSaisie,indChamp}) +fin +sinon +sPKID est une chaîne = " ["+nPKID+"]" +sResultat est une chaîne +// Formate le texte pour mettre en évidence le terme recherché +sResultat = gStylo(Noir) + sLibelleAAfficher + gStylo(Transparent) + sPKID + gStylo(Noir) +//Ajoute dans le champ de saisie l'id entre crochet suivi du libellé à afficher +SaisieAssistéeAjoute({sNomChampSaisie,indChamp},sResultat) +fin +fin +//SI bAucunResultat ALORS +//ToastAffiche("Aucun résultat",toastLong,cvMilieu,chCentre) +//FIN +Procédure globale ToucheEntree +// Résumé : +// Syntaxe : +//[ = ] ToucheEntree ( est chaîne) +// +// Paramètres : +// sLocalisation (chaîne ANSI) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ToucheEntree(sLocalisation est une chaîne) +nTouche est un entier = 0x0d +06/08/2026 Isis_BO 6317 + +Partie 7 › Collection de procédures › COL_IHM › Code +// Vérifie si la touche dont le code virtuel est 0x0d a été appuyée +si ToucheEnfoncée(nTouche) _ou_ _EVE.wParam = nTouche alors +//trace("entrée "+sLocalisation) +renvoyer Vrai +sinon +renvoyer Faux +fin +Procédure globale TrieObjetChampTableSiBesoin +procédure TrieObjetChampTableSiBesoin(ObjetATrier est un objet dynamique,LeChampTable est un Champ, +sLesDernierMembresTries est une chaîne) +sTriEnCours est une chaîne = DonneTrieClasseDepuisTable(LeChampTable) +si sLesDernierMembresTries<>sTriEnCours alors +sLesDernierMembresTries = sTriEnCours +ObjetATrier.Trie(sTriEnCours) +fin +Procédure globale ValideFiche +// Résumé : +// Syntaxe : +//[ = ] ValideFiche ( est chaîne, est chaîne, +est objet dynamique, est STParamFenetreAppelante [, +est chaîne [, es +t chaîne [, est booléen]]]) +// +// Paramètres : +// sChampSuivant (chaîne ANSI) : +// sChampEnCours (chaîne ANSI) : +// pclObjFiche (objet dynamique) : +// ParamSupplementaire (STParamFenetreAppelante) : +// sListeChpSuivantAExclure (chaîne ANSI - valeur par défaut="") : < +indiquez ici le rôle de sListeChpSuivantAExclure> +// sListeChpEnCoursAInclureMAJSource (chaîne ANSI - valeur par défaut="") : < +indiquez ici le rôle de sListeChpEnCoursAInclure> +// bCtrlChp (booléen - valeur par défaut=1) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ValideFiche(sChampSuivant est une chaîne,sChampEnCours est une chaîne,pclObjFiche est un +objet dynamique,ParamSupplementaire est un STParamFenetreAppelante,sListeChpSuivantAExclure est une +chaîne="",sListeChpEnCoursAInclureMAJSource est une chaîne="", bCtrlChp est un booléen=Vrai) +bResultat est un booléen +clErreur est un CErreur +// Le champ suivant n'est pas dans la liste des champs à exclure ou cette liste de champ est vide +si sChampSuivant<>"" _et_ (sListeChpSuivantAExclure="" _ou_ (pas Contient(sListeChpSuivantAExclure, +sChampSuivant))) alors +//Le champ en cours fait parti de la liste des champs qui permet de faire une maj des sources +si sListeChpEnCoursAInclureMAJSource<>"" _ou_ Contient(sListeChpEnCoursAInclureMAJSource, +sChampEnCours) alors EcranVersSource() +//Sauvegarde de l'id pour test après MAJ +nPKID est un entier sur 8 octets = pclObjFiche:IdentifiantUnique +// Si l'appel de la méthode de l'objet PFiche... qui valide la fiche n'est pas ok +06/08/2026 Isis_BO 6318 + +Partie 7 › Collection de procédures › COL_IHM › Code +si pas pclObjFiche.bOK(clErreur) alors//PAS pclObjFiche.bOK(clErreur,Vrai) +Erreur(clErreur.FormateMessage()) +sinon +//L'id avant modif était égale à zéro (nouveau enregistrement) +si nPKID=0 _et_ ParamSupplementaire.eTypeAppel=DansOnglet alors +//Raffraichit le libellé de l'onglet +FEN_Menu.RenomeOnglet(pclObjFiche:IdentifiantUnique,pclObjFiche:InfoOnglet) +fin +bResultat = Vrai +fin +sinon +bResultat = Vrai +fin +renvoyer bResultat +Procédure globale ValideFicheSimple +// Résumé : +// Syntaxe : +//[ = ] ValideFicheSimple ( est objet dynamique, est +STParamFenetreAppelante, est procédure, est champ, est champ, + est champ, est +champ) +// +// Paramètres : +// pclObjFiche (objet dynamique) : +// ParamSupplementaire (STParamFenetreAppelante) : +// procTimer (procédure) : +// chpBtnFerme (champ) : +// chpBtnOuvert (champ) : +// chpGroupeCadenas (champ) : +// chpDispFiche (champ) : +// Valeur de retour : +// booléen : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ValideFicheSimple(pclObjFiche est un objet dynamique,ParamSupplementaire est un +STParamFenetreAppelante,procTimer est une procédure,chpBtnFerme est un Champ,chpBtnOuvert est un Champ, +chpGroupeCadenas est un Champ,chpDispFiche est un Champ) +bResultat est un booléen +clErreur est un CErreur +//Stockage de l'ID actuel +nPKID est un entier sur 8 octets = pclObjFiche:IdentifiantUnique +// (La gestion du blocage pour cet objet est inactive ou L'enregistrement est bloqué ou c'est un +nouveau enregistrement ) et la validation ne sait pas bien passé +si (DonneValeurTimeOutObjet(pclObjFiche)=-1 _ou_ pclObjFiche:m_bBlocageEcriture _ou_ nPKID=0) _et_ pas +pclObjFiche.bOK(clErreur) alors +Erreur(clErreur.FormateMessage()) +sinon +//C'est un nouveau enregistrement +si nPKID=0 alors +//On bloque ce nouvel enregistrement +06/08/2026 Isis_BO 6319 + +Partie 7 › Collection de procédures › COL_IHM › Code +BlocEnregistrement(pclObjFiche,procTimer,chpBtnFerme,chpBtnOuvert,chpGroupeCadenas,chpDispFiche +) +//La fiche est dans un onglet à part => renomage +de l'onglet pour afficher la référence de la fiche +si ParamSupplementaire.eTypeAppel dans (Libre,DansOnglet) alors +FEN_Menu.RenomeOnglet(pclObjFiche:IdentifiantUnique,pclObjFiche:InfoOnglet) +fin +fin +bResultat = Vrai +fin +renvoyer bResultat +06/08/2026 Isis_BO 6320 + +Partie 7 › Collection de procédures › COL_THREAD › Code +COL_THREAD +Code +Procédure globale TH_RechercheSaisieAssistee +// Résumé : +// Syntaxe : +//TH_RechercheSaisieAssistee ( est chaîne, est chaîne, + est procédure, est chaîne, est +booléen, est chaîne, est chaîne [, est booléen]) +// +// Paramètres : +// sNomChampDeSaisie (chaîne ANSI) : +// sValeurChampDeSaisie (chaîne ANSI) : +// methodeClasseDeRecherche (procédure) : +// sNomThread (chaîne ANSI) : +// bControleDoublonsTableau (booléen) : faut-il controler l'existence en tableau avant l'ajout +// +sNomTableauDeRecherche (chaîne ANSI) : Nom du tableau dans lequel le contrôle de l'existence est fait +// sCritereCompl (chaîne ANSI) : +// bEnThread (booléen - valeur par défaut=0) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure TH_RechercheSaisieAssistee(local sNomChampDeSaisie est une chaîne,local sValeurChampDeSaisie +est une chaîne, methodeClasseDeRecherche est une procédure, local sNomThread est une chaîne,local +bControleDoublonsTableau est un booléen,local sNomTableauDeRecherche est une chaîne,local sCritereCompl +est une chaîne,local bEnThread est un booléen=Faux) +si bEnThread _et_ ThreadEtat(sNomThread)<>threadInexistant alors +ThreadArrête(sNomThread) +// SELON sNomThread +// CAS "ListeLieu" : gbThreadFinListeLieu = Vrai +// CAS "ListeClient" : gbThreadFinListeClient = Vrai +// CAS "ListeDemandeur" : gbThreadFinListeContact = Vrai +// CAS "ListeDossier" : gbThreadFinListeDossier = Vrai +// +// FIN +//ThreadArrête(sNomThread) +fin +pointeurAjouteLieu est une procédure +"Utilitaire" et Configuration<>"SLAMM_RecupHeures"> +pointeurAjouteLieu = TH_AjouteSaisieAssistee + +si bEnThread alors +selon sNomThread +cas "ListeLieu" : gbThreadFinListeLieu = Faux +cas "ListeClient" : gbThreadFinListeClient = Faux +cas "ListeDemandeur" : gbThreadFinListeContact = Faux +cas "ListeDossier" : gbThreadFinListeDossier = Faux +fin +06/08/2026 Isis_BO 6321 + +Partie 7 › Collection de procédures › COL_THREAD › Code +ThreadExécute(sNomThread,threadNormal,methodeClasseDeRecherche,sNomChampDeSaisie,pointeurAjouteLieu +,sCritereCompl<>"" ? sValeurChampDeSaisie+TAB+sCritereCompl sinon sValeurChampDeSaisie, +bControleDoublonsTableau,sNomTableauDeRecherche,bEnThread) +sinon +methodeClasseDeRecherche(sNomChampDeSaisie,pointeurAjouteLieu,sCritereCompl<>"" ? +sValeurChampDeSaisie+TAB+sCritereCompl sinon sValeurChampDeSaisie,bControleDoublonsTableau, +sNomTableauDeRecherche) +fin +Procédure globale TH_ReprendThread +// Résumé : +// Syntaxe : +//TH_ReprendThread ( est chaîne) +// +// Paramètres : +// sNomThread (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure TH_ReprendThread(local sNomThread est une chaîne) +si ThreadEtat(sNomThread)=threadSuspendu alors +//Trace("TH_ReprendThread "+sNomThread) +ThreadReprend(sNomThread) +fin +Procédure globale TH_SuspendThread +// Résumé : +// Syntaxe : +//TH_SuspendThread ( est chaîne) +// +// Paramètres : +// sNomThread (chaîne ANSI) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure TH_SuspendThread(local sNomThread est une chaîne) +si pas ThreadEtat(sNomThread) dans (threadInexistant,threadSuspendu) alors +//trace("TH_SuspendThread "+sNomThread) +ThreadSuspend(sNomThread) +fin +06/08/2026 Isis_BO 6322 + +Partie 7 › Collection de procédures › COL_TEMPORAIRE › Code +COL_TEMPORAIRE +Code +Procédure globale EnumereChampFI +procédure EnumereChampFI(sNomFI est une chaîne) +// Remplir une combo avec la liste des champs de la fenêtre +i est un entier = 1 +ResChamp est une chaîne +ResChamp = gpwEnumèreChamp(sNomFI, i) +sListeChamp est une chaîne +tantque ResChamp <> "" +i++ +sListeChamp += ResChamp+RC +ResChamp = gpwEnumèreChamp(sNomFI, i) +fin +Info(sListeChamp) +Procédure globale testbatigest +// Résumé : +// Syntaxe : +//testbatigest () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// sARep (chaîne ANSI) : +procédure testbatigest() +sFichier est une chaîne +// Ouvre le sélecteur de fichiers +bufTest est un Buffer +sFichier = fSélecteur("", "", "Sélectionnez un fichier...", "Tous les fichiers (*.*)" + TAB + "*.*", +"*.*") +bufTest=fChargeBuffer(sFichier) +stRep est un ST_REPONSE +Désérialise(stRep,bufTest,psdJSON) +sARep est une chaîne ANSI +si stRep.sErr=cREP_OK alors sARep = UUDécode(stRep.sUUData) +//vARep1 est une variant=fChargeTexte(sFichier) +//sdTest est un variant +//sdTest=JSONVersVariant(fChargeTexte(sFichier)) +//bufTest=fChargeBuffer(sFichier) +//sARep est une chaîne ANSI +//stValid est un ST_BG_VALIDE +// +//Désérialise(stValid,UUDécode(bufTest),psdJSON) +//// +//Désérialise(sARep,uudecode(vARep1),psdJSON) +// +////sdTest est un variant +//sdTest=JSONVersVariant(sARep) +Procédure globale TEstCreationfichelieu +06/08/2026 Isis_BO 6323 + +Partie 7 › Collection de procédures › COL_TEMPORAIRE › Code +// Résumé : +// Syntaxe : +// TEstCreationfichelieu () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure TEstCreationfichelieu() +//Chargement de tous les paramètre métier +gpclListeParamMetier = PTableParametreMetier.gNouvellePresentation("") +//Chargement des civilités +gpclListeTypeAdresse = PTableParametreMetier.DonneParamDepuisCode(gpclListeParamMetier,"04") +//PTableParametreMetier.gNouvellePresentation("04") +pclFicheClientLieu est un PFicheClient_Lieu dynamique= PFicheClient_Lieu.gNouvellePresentation() +//clLieu est un MLieu() +//pclFicheLieu est un PFicheLieu dynamique = PFicheLieu.gNouvellePresentation() +//pclFicheClientLieu:FicheLieu = clFicheLieu +PFicheClient_Lieu.gFicheLieu(pclFicheClientLieu) +Procédure globale TestExceptionFille +// Résumé : +// Syntaxe : +// TestExceptionFille () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +procédure TestExceptionFille() +nEntier est un entier +quand exception dans +nEntier = 1/0 +faire +Info(ExceptionInfo(errComplet)) +ExceptionPropage("MESSAGEBO=OUI") +fin +Procédure globale TestExceptionMere +// Résumé : +// Syntaxe : +// TestExceptionMere () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +procédure TestExceptionMere() +quand exception dans +TestExceptionFille() +faire +bufMsg est un Buffer = ExceptionInfo(errComplet) +si ExtraitChaîne(ExtraitChaîne(bufMsg,1,"MESSAGEBO=",DepuisDébut),1,RC,DepuisDébut)="OUI" +Info(bufMsg) +sinon +06/08/2026 Isis_BO 6324 + +Partie 7 › Collection de procédures › COL_TEMPORAIRE › Code +fin +fin +Procédure globale TestProcedureParAdresse0 +// Résumé : +// Syntaxe : +// TestProcedureParAdresse0 () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure TestProcedureParAdresse0() +TestProcedureParAdresse1() +Procédure globale TestProcedureParAdresse1 +// Résumé : +// Syntaxe : +//TestProcedureParAdresse1 ( [ est PTableDossier dynamique]) +// +// Paramètres : +// pclParam (PTableDossier dynamique) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// pclParam (PTableDossier dynamique - valeur par défaut=0) : +procédure TestProcedureParAdresse1(pclParam est un PTableDossier dynamique=Null) +pclParam = PTableDossier.gNouvellePresentation(-1) +TestProcedureParAdresse2(pclParam) +Procédure globale TestProcedureParAdresse2 +// Résumé : +// Syntaxe : +// TestProcedureParAdresse2 () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure TestProcedureParAdresse2(*) +Info(MesParamètres[1]..ParAdresse) +06/08/2026 Isis_BO 6325 + +Partie 7 › Collection de procédures › COL_HFSQL › Code +COL_HFSQL +Code +Déclaration de COL_HFSQL +ST_ParamConnexionest une Structure +nOrdreApparition est un entier // Ordre d'apparation de la connexion +sNomLogique est une chaîne // Nom logique donné à la base de données +bufSUser est un Buffer // Nom utilisateur BDD +bufSMdp est un Buffer // Mot de passe utilisateur BDD +sAdresseIPServeurest une chaîne // Adresse IP du serveur +sPortServeur est une chaîne // Port du serveur +sNomBDD est une chaîne // Nom de la base de données +bEstCryptée est un booléen // Vrai si la base est cryptée +fin +Procédure globale ActiverTLM +procédure ActiverTLM() +bActive est un booléen +si HLitRecherchePremier(ParametreApplication,PAP_Code,cParam_TLM) alors +bActive = Val(ParametreApplication.PAP_Valeur) +fin +si bActive alors +TélémétrieActive() + +TélémétrieIdentifieUtilisateur(NumériqueVersChaîne(gpclFicheUtilisateurEnCours:m_nPKID)+"-"+ +"ARTISANS_PARTENAIRES") + + +TélémétrieIdentifieUtilisateur(NumériqueVersChaîne(gpclFicheUtilisateurEnCours:m_nPKID)+"-"+ +"SLAMM") + + +TélémétrieIdentifieUtilisateur(NumériqueVersChaîne(gpclFicheUtilisateurEnCours:m_nPKID)+"-"+ +"BOUVARD") + + +TélémétrieIdentifieUtilisateur(NumériqueVersChaîne(gpclFicheUtilisateurEnCours:m_nPKID)+"-"+ +"Batik") + +fin +Procédure globale ConstruitListeConnexion +06/08/2026 Isis_BO 6326 + +Partie 7 › Collection de procédures › COL_HFSQL › Code +procédure ConstruitListeConnexion(clErreur est un CErreur) +bResultat est un booléen +//[CONFIG] +//NbBase=1 +// +//[BASE_1] +//Serveur = 51.68.44.182 +//Port = 4902 +//BDD = BATIK.01_BLD +//Libelle = Base de démo(Cloud) +//Ordre = 1 +tabCnx est un tableau de ST_ParamConnexion +nBConfig est un entier = Val(INILit("CONFIG","NbBase","0",gsaFicIni)) +pour i =1 _à_ nBConfig +st est un ST_ParamConnexion +st.nOrdreApparition = INILit("BASE_"+i,"Ordre","1",gsaFicIni) +st.sAdresseIPServeur = INILit("BASE_"+i,"Serveur","",gsaFicIni) +st.sPortServeur = INILit("BASE_"+i,"Port","",gsaFicIni) +st.sNomBDD = INILit("BASE_"+i,"BDD","",gsaFicIni) +st.sNomLogique = INILit("BASE_"+i,"Libelle","",gsaFicIni) +st.bEstCryptée = Val(INILit("BASE_"+i,"Cryptee","1",gsaFicIni))=1 +tabCnx.Ajoute(st) +fin +si tabCnx..Occurrence>0 alors +bResultat = Vrai +sinon +clErreur.Init(CErreur.Fonctionnelle,ChaîneConstruit( +"Aucun connexion n'a pu être déterminée à partir du fichier de configuration situé sous %1", +ComplèteRep(fRepGlobalCommun)+RepertoireIni+["\"])) +Erreur(ChaîneConstruit( +"Aucun connexion n'a pu être déterminée à partir du fichier de configuration situé sous %1", +ComplèteRep(fRepGlobalCommun)+RepertoireIni+["\"])) +fin +renvoyer tabCnx +Procédure globale CritereHF +// Résumé : +// Syntaxe : +//[ = ] CritereHF (, , , est ETypeFiltre [, [, ]]) +// +// Paramètres : +// opt : +// Choix : +// NomChamp : +// TypeDonnee (ETypeFiltre) : +// RequeteSQL (valeur par défaut="") : < indiquez ici le rôle de RequeteSQL > +// DateFinPeriode (valeur par défaut="") : < indiquez ici le rôle de DateFinPeriode > +// Valeur de retour : +// chaîne ANSI : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +06/08/2026 Isis_BO 6327 + +Partie 7 › Collection de procédures › COL_HFSQL › Code +// +procédure CritereHF(opt , Choix, NomChamp, TypeDonnee est ETypeFiltre, RequeteSQL="",DateFinPeriode="") +sResultat est une chaîne +si opt et Choix<>"" alors +selon TypeDonnee +cas tfMilieutexte: sResultat = "AND " + NomChamp + " Like '%" + StrSQL(Choix) + "%' " +cas tfDebutTexte : sResultat = "AND " + NomChamp + " Like '" + StrSQL(Choix) + "%' " +cas tfFinTexte : sResultat = "AND " + NomChamp + " Like '%" + StrSQL(Choix) + "' " +cas tfTexteComplet : sResultat = "AND " + NomChamp + "= '" + StrSQL(Choix) + "' " +cas tfDate : sResultat = "AND " + NomChamp + "= " + DateVersChaîne(Choix[[1 à 8]] , +"AAAAMMJJ") + " " +cas tfNumerique : sResultat = "AND " + NomChamp + "=" + Choix + " " +cas tfBooleen : sResultat = Choix ? "AND " + NomChamp + " =1 " sinon "AND " + +NomChamp + " = 0 " +cas tfnull : sResultat = Choix ? "AND " + NomChamp + " IS NULL " sinon "AND " + +NomChamp + " IS NOT NULL " +cas tfPasNull : sResultat = Choix ? "AND " + NomChamp + " NOT IS NULL " sinon "AND " ++ NomChamp + " IS NULL " +cas tfDansRequete: sResultat = (RequeteSQL<>"" et Choix<>"") ? "AND " + NomChamp + " IN (" + +RequeteSQL + ") " sinon "" +cas tfPeriode : sResultat = Choix<>"" _et_ DateFinPeriode<>"" ? "AND ( " + NomChamp + +" BETWEEN '" + DateVersChaîne(Choix[[1 à 8]],"AAAAMMJJ") + "' AND '" + DateVersChaîne( +DateFinPeriode[[1 à 8]],"AAAAMMJJ") + "') " sinon Choix<>"" ? "AND "+NomChamp+">="+ +DateVersChaîne(Choix[[1 à 8]],"AAAAMMJJ") sinon "AND "+NomChamp+"<="+DateVersChaîne( +DateFinPeriode[[1 à 8]],"AAAAMMJJ") +cas tfPeriodeLarge : sResultat = Choix<>"" _et_ DateFinPeriode<>"" ? "AND ( " + NomChamp + +" BETWEEN '" + Choix+"0000" + "' AND '" + DateFinPeriode+"2359" + "') " sinon Choix<>"" ? +"AND "+NomChamp+">="+DateVersChaîne(Choix[[1 à 8]],"AAAAMMJJ")+"0000" sinon "AND "+NomChamp+ +"<="+DateVersChaîne(DateFinPeriode[[1 à 8]],"AAAAMMJJ")+"2359" +cas tfDansListe : sResultat = "AND " + NomChamp + " IN (" + Choix + ") " +cas tfExiste : sResultat = (RequeteSQL<>"" et Choix<>"") ? "AND EXISTS (" + RequeteSQL + +") " sinon "" +cas tfExistePas : sResultat = (RequeteSQL<>"" et Choix<>"") ? "AND NOT EXISTS (" + +RequeteSQL + ") " sinon "" +autre cas : sResultat = "" +fin +sinon +sResultat = "" +fin +renvoyer sResultat +Procédure globale DonneMdpGroupeDeFichier +// Résumé : +// Syntaxe : +//[ = ] DonneMdpGroupeDeFichier (, est chaîne) +// +// Paramètres : +// NomGroupeFichier : +// sNomBDD (chaîne ANSI) : +// Valeur de retour : +// chaîne ANSI : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneMdpGroupeDeFichier(NomGroupeFichier,local sNomBDD est une chaîne) +Hash1 est un Buffer +selon NomGroupeFichier +06/08/2026 Isis_BO 6328 + +Partie 7 › Collection de procédures › COL_HFSQL › Code +cas ProtectionStd : Hash1 = HashChaîne(HA_MD5_128,sNomBDD) +cas ProtectionPlus : Hash1 = HashChaîne(HA_MD5_128,Mdp3+sNomBDD) +fin +sHash_Hexa est une chaîne = BufferVersHexa(Hash1,SansRegroupement) +si EnModeTest() alors +//trace(sHash_Hexa,NomGroupeFichier) +fin +renvoyer sHash_Hexa +Procédure globale OuvreConnexionBase +procédure OuvreConnexionBase(stCNX est un ST_ParamConnexion) +quand exception dans +gcnxBO..Provider = hAccèsHFClientServeur +gcnxBO..Accès = hOLectureEcriture +gcnxBO..Cryptage = hCryptageRC5_16 +gcnxBO..Utilisateur = gcSuperUser +gcnxBO..MotDePasse = gcSUperUserPass +gcnxBO..Serveur = stCNX.sAdresseIPServeur+":"+stCNX.sPortServeur +gcnxBO..BaseDeDonnées = stCNX.sNomBDD +HChangeConnexion("*",gcnxBO) +HPasse(ProtectionPlus,DonneMdpGroupeDeFichier(ProtectionPlus,stCNX.sNomBDD )) +//Le tables systèmes sont toujours cryptées +si stCNX.bEstCryptée alors +HPasse(ProtectionStd,DonneMdpGroupeDeFichier(ProtectionStd,stCNX.sNomBDD )) +fin +si pas gcnxBO.OuvreConnexion() alors +Erreur("Erreur lors de l'ouverture de la base",ErreurInfo(errMessage)) +renvoyer Faux +fin +//Test d'ouverture d'un fichier afin de vérifier si la base est cryptée ou non +//Si la base n'est pas cryptée, l'ouverture réussie toujours, même si l'on affecte un mot de passe +avec HPasse +si pas TesteOuvertureFichier("ParametreMetier") alors +Erreur("Le paramétrage de la connexion est incorrect","Cette base est cryptée") +renvoyer Faux +fin +// //Ouverture sans mot de passe +// +// SI TesteOuvertureFichier() ALORS +// // Info("Ouverture réussie","Base non cryptée") +// gbBaseCryptée = Non +// SINON +// gcnxBO.FermeConnexion() +// HPasse(ProtectionStd,saPass) +// gcnxBO.OuvreConnexion() +// SI TesteOuvertureFichier() ALORS +// gbBaseCryptée=Vrai +// SINON +// +Erreur("Connexion réussie","Mot de passe des fichiers incorrect","Contactez l'administrateur de +l'application") +// RENVOYER Faux +06/08/2026 Isis_BO 6329 + +Partie 7 › Collection de procédures › COL_HFSQL › Code +// FIN +// FIN +renvoyer Vrai +faire +Erreur("Erreur lors de l'ouverture de la base",ExceptionInfo(errMessage)) +renvoyer Faux +fin +Procédure globale OuvreConnexionDeDev +// Résumé : Ouvre la première base définie dans le fichier ini +// Syntaxe : +// OuvreConnexionDeDev () +// +// Paramètres : +// Aucun +// Valeur de retour : +// Aucune +// +// Exemple : +// +// +procédure OuvreConnexionDeDev(numBase) +tabCnx est un tableau de ST_ParamConnexion +clErreur est un CErreur +tabCnx=ConstruitListeConnexion(clErreur) +OuvreConnexionBase(tabCnx[numBase]) +Procédure globale TesteOuvertureFichier +// Traitement automatique des erreurs : exécuter le bloc de code CAS ERREUR +// +// Traitement automatique des exceptions : exécuter le bloc de code CAS EXCEPTION: +// +procédure TesteOuvertureFichier(NomFichier) +//Ouverture sans mot de passe +HSurErreur(NomFichier,hErrMotDePasse,SurErrMdp) +HLitPremier(NomFichier) +renvoyer Vrai +procédure interne SurErrMdp() +renvoyer Faux +fin +cas erreur: +renvoyer Faux +cas exception: +renvoyer Faux +06/08/2026 Isis_BO 6330 + +Partie 7 › Collection de procédures › COL_VERSION › Code +COL_VERSION +Code +Procédure globale InitParametreApplication +// Résumé : +// Syntaxe : +//InitParametreApplication ( est tableau) +// +// Paramètres : +// gtabPAP (tableau) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure InitParametreApplication(gtabPAP est un tableau de [36,3] chaînes) +j est un entier=1 +//Code Valeur +Description +gtabPAP[j][1]="TIMEOUT_BLOC_ENREG_INTERV"; gtabPAP[j][2]="300"; +gtabPAP[j][3]="Temps d'inactivité pendant le blocage d'enregistrement pour une intervenation +(en secondes)";j+=1 +gtabPAP[j][1]="TIMEOUT_BLOC_ENREG_PERS"; gtabPAP[j][2]="300"; +gtabPAP[j][3]="Temps d'inactivité pendant le blocage d'enregistrement pour un contact (en secondes)";j ++=1 +gtabPAP[j][1]="TIMEOUT_BLOC_ENREG_LIEU"; gtabPAP[j][2]="300"; +gtabPAP[j][3]="Temps d'inactivité pendant le blocage d'enregistrement pour un site (en secondes)";j+=1 +gtabPAP[j][1]="TIMEOUT_BLOC_ENREG_CLIENT"; gtabPAP[j][2]="300"; +gtabPAP[j][3]="Temps d'inactivité pendant le blocage d'enregistrement pour un client (en secondes)";j+= +1 +gtabPAP[j][1]="TIMEOUT_BLOC_ENREG_DOSSIER"; gtabPAP[j][2]="300"; +gtabPAP[j][3]="Temps d'inactivité pendant le blocage d'enregistrement pour un dossier (en secondes)";j ++=1 +gtabPAP[j][1]="TIMEOUT_BLOC_ENREG_COLLAB"; gtabPAP[j][2]="300"; +gtabPAP[j][3]= +"Temps d'inactivité pendant le blocage d'enregistrement pour un collaborateur (en secondes)";j+=1 +gtabPAP[j][1]="TIMEOUT_BLOC_ENREG_EQUIPE"; gtabPAP[j][2]="300"; +gtabPAP[j][3]="Temps d'inactivité pendant le blocage d'enregistrement pour une équipe (en secondes)";j ++=1 +gtabPAP[j][1]="TIMEOUT_BLOC_ENREG_SOCIETE"; gtabPAP[j][2]="300"; +gtabPAP[j][3]="Temps d'inactivité pendant le blocage d'enregistrement pour une société (en secondes)";j ++=1 +gtabPAP[j][1]="TIMEOUT_BLOC_ENREG_RDV"; gtabPAP[j][2]="300"; +gtabPAP[j][3]= +"Temps d'inactivité pendant le blocage d'enregistrement pour un rendez-vous (en secondes)";j+=1 +gtabPAP[j][1]="CHEMIN_REPERTOIRE_MODELE_RAPPORT"; gtabPAP[j][2]=""; +gtabPAP[j][3]="Chemin et nom du répertoire contenant les modèles de rapport d'intervention";j+=1 +gtabPAP[j][1]="CHEMIN_REPERTOIRE_BASE_DOCUMENTS"; gtabPAP[j][2]=""; +gtabPAP[j][3]="Chemin et nom du répertoire contenant les documents d'intervention";j+=1 +gtabPAP[j][1]="FORMAT_REPERTOIRE_DOCUMENTS"; gtabPAP[j][2]= +"[CL_Nom] #[CL_PKID]\Intervention #[IN_PKID]"; gtabPAP[j][3]= +"Format des répertoires contenant les documents d'intervention";j+=1 +gtabPAP[j][1]="PREFERENCE_MESSAGERIE"; gtabPAP[j][2]="Externe"; +gtabPAP[j][3]="Préférence par défaut entre messagerie Externe ou Interne";j+=1 +gtabPAP[j][1]="PREFERENCE_PLANNING"; gtabPAP[j][2]="Planning"; +gtabPAP[j][3]="Préférence par défaut entre Planning ou Agenda";j+=1 +gtabPAP[j][1]="NBJOUR_DERNIEREMODIF_DOSS_INTERV"; gtabPAP[j][2]="30"; +06/08/2026 Isis_BO 6331 + +Partie 7 › Collection de procédures › COL_VERSION › Code +gtabPAP[j][3]="Nombre de jours depuis la dernière modification d'un dossier ou d'une intervention";j+=1 +gtabPAP[j][1]="RDV_NON_PLANIFIE"; gtabPAP[j][2]="1"; +gtabPAP[j][3]="Indique si l'application gère les rendez-vous non planifiés";j+=1 +gtabPAP[j][1]="MOB_INTER_NON_PLANIFIEES"; gtabPAP[j][2]="1"; +gtabPAP[j][3]="Indique si le mobile gère les rendez-vous non planifiés";j+=1 +gtabPAP[j][1]="NBJOUR_DERNIEREMODIF_CLIENT"; gtabPAP[j][2]="30"; +gtabPAP[j][3]="Nombre de jours depuis la dernière modification d'un client";j+=1 +gtabPAP[j][1]="NBJOUR_DERNIEREMODIF_SITE"; gtabPAP[j][2]="30"; +gtabPAP[j][3]="Nombre de jours depuis la dernière modification d'un site";j+=1 +gtabPAP[j][1]="NBJOUR_DERNIEREMODIF_CONTACT"; gtabPAP[j][2]="30"; +gtabPAP[j][3]="Nombre de jours depuis la dernière modification d'un contact";j+=1 +gtabPAP[j][1]="TRACE_ACTIVE"; gtabPAP[j][2]="0"; +gtabPAP[j][3]="Indique si les traces sont actives";j+=1 +gtabPAP[j][1]="TRACE_NIVEAU"; gtabPAP[j][2]="0"; +gtabPAP[j][3]="Indique le niveau de trace 1=";j+=1 +gtabPAP[j][1]="PREFIXE_CODE_CLIENT"; gtabPAP[j][2]="CLI"; +gtabPAP[j][3]="Indique si la création du client contient un préfixe";j+=1 +//gtabPAP[j][1]="COMPTEUR_CLIENT"; gtabPAP[j][2]="0"; +gtabPAP[j][3]="Contient le dernier compteur à la fiche client";j+=1 +gtabPAP[j][1]="TAILLE_COMPTEUR_CLIENT"; gtabPAP[j][2]="5"; +gtabPAP[j][3]="Contient la taille du compteur client complété par des zéros";j+=1 +gtabPAP[j][1]="PREFIXE_CODE_COMPTABLE_CLIENT"; gtabPAP[j][2]="411A"; +gtabPAP[j][3]="Indique si la code comptable du client contient un préfixe";j+=1 +gtabPAP[j][1]="STATUT_CLIENT_PARDEFAUT"; gtabPAP[j][2]="1"; +gtabPAP[j][3]="Valeur du paramètre 'Statut du client' à mettre par défaut sur la fiche client";j+=1 +gtabPAP[j][1]="BATIGEST_PREFIXE_DEVIS"; gtabPAP[j][2]="DE"; +gtabPAP[j][3]="Indique le préfixe du devis sur Batigest";j+=1 +gtabPAP[j][1]="BATIGEST_TAILLE_COMPTEUR_DEVIS"; gtabPAP[j][2]="5"; +gtabPAP[j][3]="Contient la taille du compteur devis complété par des zéros";j+=1 +gtabPAP[j][1]="BATIGEST_RECUP_MAIL"; gtabPAP[j][2]="0"; +gtabPAP[j][3]="Récupération des e-mails Batigest";j+=1 +gtabPAP[j][1]="AVEC_FACTURE_INTERVENTION"; gtabPAP[j][2]="0"; +gtabPAP[j][3]="Zones facture dans l'intervention";j+=1 +gtabPAP[j][1]="AVEC_REFEXT_DOSSIER"; gtabPAP[j][2]="0"; +gtabPAP[j][3]="Zones ref. externe dans le dossier";j+=1 +gtabPAP[j][1]="AVEC_TYPEDOS_DOSSIER"; gtabPAP[j][2]="0"; +gtabPAP[j][3]="Zones type dossier dans le dossier";j+=1 +gtabPAP[j][1]="DUPLIQUE_ADRSITE_VERS_ADRCLI"; gtabPAP[j][2]="0"; +gtabPAP[j][3]="Duplication de l'adresse site en adresse client";j+=1 +gtabPAP[j][1]="ADDE_CLI_PART_CONTACT_INTERV"; gtabPAP[j][2]="0"; +gtabPAP[j][3]="Ajoute le contact du client particulier en contact site";j+=1 +gtabPAP[j][1]="TLM"; gtabPAP[j][2]="1"; +gtabPAP[j][3]="Télémétrie activée";j+=1 +gtabPAP[j][1]="URL_TUTO"; gtabPAP[j][2]=" +https://www.applilogik.fr/batik/test/"; gtabPAP[j][3]="URL de tutoriels mobile";j+=1 +Procédure globale InitParametreMetier +// Résumé : +// Syntaxe : +//InitParametreMetier ( est tableau (chaîne)) +// +// Paramètres : +// gtabPA (tableau (chaîne ANSI)) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure InitParametreMetier(gtabPA est un tableau de [228,10] chaînes) +i est un entier=1 +//Code Libelle Valeur Ordre +Invisible Actif Système Clé de liaison Libellé court +Parametre +06/08/2026 Isis_BO 6332 + +Partie 7 › Collection de procédures › COL_VERSION › Code +//01 = Champ Personnalisé +gtabPA[i][1]="01"; gtabPA[i][2]="Aucun Champ personnalisé"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="0";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +//02 = Type client +gtabPA[i][1]="02"; gtabPA[i][2]="Aucun Type client"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1"; gtabPA[i][7]="1"; gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10 +]="";i+=1 +//SLAMM +gtabPA[i][1] = "02"; gtabPA[i][2]="Particulier"; gtabPA[i][3]="1";gtabPA[i][4] +="2"; gtabPA[i][5]="0";gtabPA[i][6]="1"; gtabPA[i][7]="1"; gtabPA[i][8]=""; gtabPA[i][9]=""; +gtabPA[i][10]="";i+=1 +gtabPA[i][1] = "02"; gtabPA[i][2]="Industriel"; gtabPA[i][3]="2";gtabPA[i][4] +="3"; gtabPA[i][5]="0";gtabPA[i][6]="1"; gtabPA[i][7]="1"; gtabPA[i][8]=""; gtabPA[i][9]=""; +gtabPA[i][10]="";i+=1 +gtabPA[i][1] = "02"; gtabPA[i][2]="Marie / Collect public"; gtabPA[i][3]="3";gtabPA[i][4]="4"; +gtabPA[i][5]="0";gtabPA[i][6]="1"; gtabPA[i][7]="1"; gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i +][10]="";i+=1 + +gtabPA[i][1] = "TYPE.CLIENT"; gtabPA[i][2]="Entreprise"; gtabPA[i][3]="ENTREPRISE"; +gtabPA[i][4]="2";gtabPA[i][5]="0";gtabPA[i][6]="1"; gtabPA[i][7]="1"; gtabPA[i][8]=""; gtabPA[i +][9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1] = "02"; gtabPA[i][2]="Entreprise"; gtabPA[i][3]="1";gtabPA[i][4] +="2"; gtabPA[i][5]="0";gtabPA[i][6]="1"; gtabPA[i][7]="1"; gtabPA[i][8]=""; gtabPA[i][9]=""; +gtabPA[i][10]="";i+=1 +gtabPA[i][1] = "02"; gtabPA[i][2]="Particulier"; gtabPA[i][3]="2";gtabPA[i][4] +="3"; gtabPA[i][5]="0";gtabPA[i][6]="1"; gtabPA[i][7]="1"; gtabPA[i][8]=""; gtabPA[i][9]=""; +gtabPA[i][10]="";i+=1 +gtabPA[i][1] = "02"; gtabPA[i][2]="Administration"; gtabPA[i][3]="3";gtabPA[i][4]="4"; +gtabPA[i][5]="0";gtabPA[i][6]="1"; gtabPA[i][7]="1"; gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i +][10]="";i+=1 + +//03 = Statut client +gtabPA[i][1]="03"; gtabPA[i][2]="Aucun Statut client"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1"; gtabPA[i][7]="1"; gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10 +]="";i+=1 +gtabPA[i][1]="03"; gtabPA[i][2]="Client"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1"; gtabPA[i][7]="1"; gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10 +]="";i+=1 +gtabPA[i][1]="03"; gtabPA[i][2]="Prospect"; gtabPA[i][3]="2";gtabPA[i][4]="3"; +gtabPA[i][5]="0";gtabPA[i][6]="1"; gtabPA[i][7]="1"; gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10 +]="";i+=1 +gtabPA[i][1]="03"; gtabPA[i][2]="Contact"; gtabPA[i][3]="3";gtabPA[i][4]="4"; +gtabPA[i][5]="0";gtabPA[i][6]="1"; gtabPA[i][7]="1"; gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10 +]="";i+=1 +//04 = Statut client +gtabPA[i][1]="04"; gtabPA[i][2]="Aucun Type d'adresse"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1"; gtabPA[i][7]="1"; gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10 +]="";i+=1 +gtabPA[i][1]="04"; gtabPA[i][2]="Livraison"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1"; gtabPA[i][7]="1"; gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10 +]="";i+=1 +gtabPA[i][1]="04"; gtabPA[i][2]="Facturation"; gtabPA[i][3]="2";gtabPA[i][4]="3"; +gtabPA[i][5]="0";gtabPA[i][6]="1"; gtabPA[i][7]="1"; gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10 +]="";i+=1 +//05 = Civilité +gtabPA[i][1]="05"; gtabPA[i][2]="Aucune Civilité"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1"; gtabPA[i][7]="1"; gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10 +]="";i+=1 +gtabPA[i][1]="05"; gtabPA[i][2]="Monsieur"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1]="05"; gtabPA[i][2]="Madame"; gtabPA[i][3]="2";gtabPA[i][4]="3"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +06/08/2026 Isis_BO 6333 + +Partie 7 › Collection de procédures › COL_VERSION › Code +i+=1 +//06 = Type de dossier +gtabPA[i][1]="06"; gtabPA[i][2]="Aucun Type de dossier"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +//07 = Statut du dossier +gtabPA[i][1]="07"; gtabPA[i][2]="Aucun Statut de dossier"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1//Invisble +gtabPA[i][1]="07"; gtabPA[i][2]="Ouvert"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1]="07"; gtabPA[i][2]="Fermé"; gtabPA[i][3]="2";gtabPA[i][4]="3"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1]="07"; gtabPA[i][2]="Annulé"; gtabPA[i][3]="99"; gtabPA[i][4] +="99"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i +][10]="";i+=1 +//08 = Type de lieu +gtabPA[i][1]="08"; gtabPA[i][2]="Aucun Type de lieu"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1]="08"; gtabPA[i][2]="Immeuble"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="0";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1//Non système +gtabPA[i][1]="08"; gtabPA[i][2]="Maison indiv."; gtabPA[i][3]="2";gtabPA[i][4]="3"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="0";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1//Non système +//11 = Rôle du contact +gtabPA[i][1]="11"; gtabPA[i][2]="Aucun Rôle"; gtabPA[i][3]="*0"; gtabPA[i][4] +="1"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i +][10]="";i+=1 +gtabPA[i][1]="11"; gtabPA[i][2]="Resp. Immeuble"; gtabPA[i][3]="S1"; gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1//Contact d'un site +gtabPA[i][1]="11"; gtabPA[i][2]="Resp. Copro."; gtabPA[i][3]="S2"; gtabPA[i][4]="3"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1//Contact d'un site +gtabPA[i][1]="11"; gtabPA[i][2]="Gardien(ne)"; gtabPA[i][3]="S3"; gtabPA[i][4] +="4"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i +][10]="";i+=1 //Contact d'un site +gtabPA[i][1]="11"; gtabPA[i][2]="Resp. Toît"; gtabPA[i][3]="S4"; gtabPA[i][4] +="5"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i +][10]="";i+=1 //Contact d'un site +gtabPA[i][1]="11"; gtabPA[i][2]="Resp. Cave"; gtabPA[i][3]="S5"; gtabPA[i][4] +="6"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i +][10]="";i+=1 //Contact d'un site +gtabPA[i][1]="11"; gtabPA[i][2]="Occupant"; gtabPA[i][3]="S6"; gtabPA[i][4]="7"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1//Contact d'un site +gtabPA[i][1]="11"; gtabPA[i][2]="Propriétaire"; gtabPA[i][3]="*1"; gtabPA[i][4]="8"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1//Contact d'un site +gtabPA[i][1]="11"; gtabPA[i][2]="Gestionnaire"; gtabPA[i][3]="C1"; gtabPA[i][4]="9"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1//Contact d'un donneur d'ordre +gtabPA[i][1]="11"; gtabPA[i][2]="Assistante"; gtabPA[i][3]="C2"; gtabPA[i][4] +="10"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i +][10]="";i+=1 //Contact d'un donneur d'ordre +//12 = Type d'intervention +gtabPA[i][1]="12"; gtabPA[i][2]="Aucun Type d'intervention"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +//gtabPA[i][1]="12"; gtabPA[i][2]="Plomberie Chauffage"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="0";gtabPA[i][8]=""; gtabPA[i][9]=""; +gtabPA[i][10]="";i+=1//Non système +06/08/2026 Isis_BO 6334 + +Partie 7 › Collection de procédures › COL_VERSION › Code +//gtabPA[i][1]="12"; gtabPA[i][2]="Zinguerie"; gtabPA[i][3]="2";gtabPA[i][4]="3"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="0";gtabPA[i][8]=""; gtabPA[i][9]=""; +gtabPA[i][10]="";i+=1//Non système +//13 = Etat d'intervention +gtabPA[i][1]="13"; gtabPA[i][2]="Aucun Etat d'intervention"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 + +gtabPA[i][1]="13"; gtabPA[i][2]="demande de devis"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="0";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1//non système +gtabPA[i][1]="13"; gtabPA[i][2]="travaux selon devis"; gtabPA[i][3]="2";gtabPA[i][4]="3"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="0";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1//non système +gtabPA[i][1]="13"; gtabPA[i][2]="A Facturer"; gtabPA[i][3]="3";gtabPA[i][4]="4"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="0";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1//Non système + +gtabPA[i][1]="13"; gtabPA[i][2]="Traité"; gtabPA[i][3]="4";gtabPA[i][4]="5"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1//Non système +gtabPA[i][1]="13"; gtabPA[i][2]="Classé 'Sans suite'"; gtabPA[i][3]="16"; gtabPA[i][4] +="6"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i +][10]="";i+=1 +//14 = Type de rendez-vous +gtabPA[i][1]="14"; gtabPA[i][2]="Aucun Type d'activité"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]= +Type_Activite_Json();i+=1 +gtabPA[i][1]="14"; gtabPA[i][2]="Intervention"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]= +Type_Activite_Json();i+=1 +//15 = Statut de rendez-vous +gtabPA[i][1]="15"; gtabPA[i][2]="Aucun Statut de rendez-vous";gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1]="15"; gtabPA[i][2]="En attente"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1]="15"; gtabPA[i][2]="Confirmé"; gtabPA[i][3]="2";gtabPA[i][4]="3"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1//Non système +gtabPA[i][1]="15"; gtabPA[i][2]="A faire"; gtabPA[i][3]="3";gtabPA[i][4]="4"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="0";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1//Non système +gtabPA[i][1]="15"; gtabPA[i][2]="Fait"; gtabPA[i][3]="4";gtabPA[i][4]="5"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1//Non système +gtabPA[i][1]="15"; gtabPA[i][2]="Annulé"; gtabPA[i][3]="98"; gtabPA[i][4] +="98"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i +][10]="";i+=1 +gtabPA[i][1]="15"; gtabPA[i][2]="A planifier"; gtabPA[i][3]="99"; gtabPA[i][4] +="100"; gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i +][10]="";i+=1 +//16 = Type d'action +gtabPA[i][1]="16"; gtabPA[i][2]="Aucun Type d'action"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1]="16"; gtabPA[i][2]="Message répondeur"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="0";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1]="16"; gtabPA[i][2]="Avis de passage"; gtabPA[i][3]="2";gtabPA[i][4]="3"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="0";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1//Non système +gtabPA[i][1]="16"; gtabPA[i][2]="Courrier"; gtabPA[i][3]="3";gtabPA[i][4]="4"; +06/08/2026 Isis_BO 6335 + +Partie 7 › Collection de procédures › COL_VERSION › Code +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="0";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1//Non système +gtabPA[i][1]="16"; gtabPA[i][2]="Autre"; gtabPA[i][3]="5";gtabPA[i][4]="5"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1]="16"; gtabPA[i][2]="Mail"; gtabPA[i][3]="7";gtabPA[i][4]="6"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1]="16"; gtabPA[i][2]="Modification fiche"; gtabPA[i][3]="8";gtabPA[i][4]="7"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +//17 = Catégorie Document +gtabPA[i][1]="17"; gtabPA[i][2]="Aucune Catégorie Document"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1]="17"; gtabPA[i][2]="Photo"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1]="17"; gtabPA[i][2]="Autre document"; gtabPA[i][3]="2";gtabPA[i][4]="3"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1]="17"; gtabPA[i][2]="Message externe"; gtabPA[i][3]="3";gtabPA[i][4]="4"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1]="17"; gtabPA[i][2]="Rapport"; gtabPA[i][3]="4";gtabPA[i][4]="5"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1]="17"; gtabPA[i][2]="Devis&Facture BATIGEST"; gtabPA[i][3]="BG"; gtabPA[i][4]="7"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +//18 = Aucun Type de temps +gtabPA[i][1]="18"; gtabPA[i][2]="Aucun Type de temps"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]= +Type_Temp_Json();i+=1 +gtabPA[i][1]="18"; gtabPA[i][2]="Temps global"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]= +Type_Temp_Json();i+=1 +gtabPA[i][1]="18"; gtabPA[i][2]="Temps d'intervention"; gtabPA[i][3]="2";gtabPA[i][4]="3"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]= +Type_Temp_Json();i+=1 +gtabPA[i][1]="18"; gtabPA[i][2]="Temps pause déjeuner"; gtabPA[i][3]="98"; gtabPA[i][4]="8"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]= +Type_Temp_Json();i+=1 + +gtabPA[i][1]="18"; gtabPA[i][2]="Temps de trajet"; gtabPA[i][3]="3";gtabPA[i][4]="4"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]= +Type_Temp_Json();i+=1 +gtabPA[i][1]="18"; gtabPA[i][2]="Temps de pause"; gtabPA[i][3]="4";gtabPA[i][4]="5"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]= +Type_Temp_Json();i+=1 +gtabPA[i][1]="18"; gtabPA[i][2]="Temps de préparation"; gtabPA[i][3]="5";gtabPA[i][4]="6"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]= +Type_Temp_Json();i+=1 +gtabPA[i][1]="18"; gtabPA[i][2]="Temps non affecté"; gtabPA[i][3]="99"; gtabPA[i][4]="7"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]= +Type_Temp_Json();i+=1 + +//19 = Profil utilisateur +gtabPA[i][1]="19"; gtabPA[i][2]="Aucun Profil utilisateur"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1]="19"; gtabPA[i][2]="Gestionnaire"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +06/08/2026 Isis_BO 6336 + +Partie 7 › Collection de procédures › COL_VERSION › Code +gtabPA[i][1]="19"; gtabPA[i][2]="Responsable travaux"; gtabPA[i][3]="2";gtabPA[i][4]="3"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1]="19"; gtabPA[i][2]="Collaborateur"; gtabPA[i][3]="3";gtabPA[i][4]="4"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1]="19"; gtabPA[i][2]="Administrateur"; gtabPA[i][3]="4";gtabPA[i][4]="5"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +//20 = Statut collaborateur +gtabPA[i][1]="20"; gtabPA[i][2]="Aucun Statut collaborateur"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1]="20"; gtabPA[i][2]="Salarié"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="0";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1//Non système +gtabPA[i][1]="20"; gtabPA[i][2]="Intérim"; gtabPA[i][3]="2";gtabPA[i][4]="3"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="0";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1//Non système +gtabPA[i][1]="20"; gtabPA[i][2]="Apprenti"; gtabPA[i][3]="3";gtabPA[i][4]="4"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="0";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1//Non système +gtabPA[i][1]="20"; gtabPA[i][2]="Sous-traitant"; gtabPA[i][3]="4";gtabPA[i][4]="5"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="0";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1//Non système +gtabPA[i][1]="20"; gtabPA[i][2]="Encadrement"; gtabPA[i][3]="5";gtabPA[i][4]="6"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="0";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1//Non système +//21 = Catégorie de modèle d'état +gtabPA[i][1]="21"; gtabPA[i][2]="Standard"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1]="21"; gtabPA[i][2]="Personnalisé"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +//22 = Modèle d'état d'intervention +gtabPA[i][1]="22"; gtabPA[i][2]="Fiche d'intervention"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="21,0";gtabPA[i][9]=""; gtabPA[i][10 +]="ETAT_FicheIntervention";i+=1 + +gtabPA[i][1]="22"; gtabPA[i][2]="Grande fiche BOUVARD"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="21,1";gtabPA[i][9]=""; gtabPA[i +][10]="ETAT_GrandeFiche2_BOUVARD";i+=1 //Non système +gtabPA[i][1]="22"; gtabPA[i][2]="Petite fiche BOUVARD"; gtabPA[i][3]="2";gtabPA[i][4]="3"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="21,1";gtabPA[i][9]=""; gtabPA[i +][10]="ETAT_PetiteFiche2_BOUVARD";i+=1 //Non système + +//SLAMM +gtabPA[i][1] = "22"; gtabPA[i][2]="SLAMM"; gtabPA[i][3]="3";gtabPA[i][4]="4"; +gtabPA[i][5]="0"; gtabPA[i][6]="1";gtabPA[i][7]="1"; gtabPA[i][8]="21,1";gtabPA[i][9]=""; +gtabPA[i][10]="ETAT_FicheIntervention_SLAMM_1";i+=1 //Non système +gtabPA[i][1] = "22"; gtabPA[i][2]="SLAMM Simplifié"; gtabPA[i][3]="4";gtabPA[i][4]="5"; +gtabPA[i][5]="0"; gtabPA[i][6]="1";gtabPA[i][7]="1"; gtabPA[i][8]="21,1";gtabPA[i][9]=""; +gtabPA[i][10]="ETAT_FicheIntervention_SLAMM_2";i+=1 //Non système +gtabPA[i][1] = "22"; gtabPA[i][2]="SLAMM Pochette"; gtabPA[i][3]="5";gtabPA[i][4]="6"; +gtabPA[i][5]="0"; gtabPA[i][6]="1";gtabPA[i][7]="1"; gtabPA[i][8]="21,1";gtabPA[i][9]=""; +gtabPA[i][10]="ETAT_FicheIntervention_SLAMM_3";i+=1 //Non système +gtabPA[i][1] = "22"; gtabPA[i][2]="Bon fin de travaux"; gtabPA[i][3]="6";gtabPA[i][4]="7"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="21,1";gtabPA[i][9]=""; gtabPA[i +][10]="ETAT_FicheIntervention_SLAMM_4";i+=1//Non système + +06/08/2026 Isis_BO 6337 + +Partie 7 › Collection de procédures › COL_VERSION › Code +//23 = Modèle de rapport d'intervention +gtabPA[i][1]="23"; gtabPA[i][2]="Modèle de base"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=" +Modèle2.docx";i+=1 +//24 = Etat des documents Libelle Valeur Ordre +Invisible Actif Système Clé de liaison Libellé court +Parametre +gtabPA[i][1]="24"; gtabPA[i][2]="Absent"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1]="24"; gtabPA[i][2]="Présent"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1]="24"; gtabPA[i][2]="Synchroniser"; gtabPA[i][3]="2";gtabPA[i][4]="3"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +//25 = Modèle d'état d'intervention rdv + +gtabPA[i][1]="25"; gtabPA[i][2]="Fiche de déplacement"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="21,0";gtabPA[i][9]=""; gtabPA[i +][10]="ETAT_FicheDeplacement_GAP_1";i+=1 + + +gtabPA[i][1]="25"; gtabPA[i][2]="Fiche de déplacement"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="21,0";gtabPA[i][9]=""; gtabPA[i +][10]="ETAT_FicheDeplacement";i+=1 + + +gtabPA[i][1]="25"; gtabPA[i][2]="Fiche de déplacement"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="21,0";gtabPA[i][9]=""; gtabPA[i +][10]="ETAT_FicheDeplacement";i+=1 +gtabPA[i][1]="25"; gtabPA[i][2]="SLAMM"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0"; gtabPA[i][6]="1";gtabPA[i][7]="1"; gtabPA[i][8]="21,1";gtabPA[i][9]=""; +gtabPA[i][10]="ETAT_FicheDeplacement_SLAMM_1";i+=1//Non système +gtabPA[i][1]="25"; gtabPA[i][2]="SLAMM Simplifié"; gtabPA[i][3]="2";gtabPA[i][4]="3"; +gtabPA[i][5]="0"; gtabPA[i][6]="1";gtabPA[i][7]="1"; gtabPA[i][8]="21,1";gtabPA[i][9]=""; +gtabPA[i][10]="ETAT_FicheDeplacement_SLAMM_2";i+=1 //Non système +gtabPA[i][1]="25"; gtabPA[i][2]="SLAMM Pochette"; gtabPA[i][3]="3";gtabPA[i][4]="4"; +gtabPA[i][5]="0"; gtabPA[i][6]="1";gtabPA[i][7]="1"; gtabPA[i][8]="21,1";gtabPA[i][9]=""; +gtabPA[i][10]="ETAT_FicheDeplacement_SLAMM_3";i+=1 //Non système +gtabPA[i][1]="25"; gtabPA[i][2]="Bon fin de travaux"; gtabPA[i][3]="4";gtabPA[i][4]="5"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="21,1";gtabPA[i][9]=""; gtabPA[i +][10]="ETAT_FicheDeplacement_SLAMM_4";i+=1 //Non système + +//MC = Catégorie de Modèle de mail +//gtabPA[i][1]="MC"; gtabPA[i][2]="Standard"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="21,0";gtabPA[i][9]=""; +gtabPA[i][10]="ETAT_FicheDeplacement";i+=1 +//26 = Modèle d'état d'intervention rdv +gtabPA[i][1]="26"; gtabPA[i][2]="Toutes les lignes"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]= +"-1";i+=1 +gtabPA[i][1]="26"; gtabPA[i][2]="200 premières lignes"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]= +"200";i+=1 +gtabPA[i][1]="26"; gtabPA[i][2]="500 premières lignes"; gtabPA[i][3]="2";gtabPA[i][4]="3"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]= +"500";i+=1 +gtabPA[i][1]="26"; gtabPA[i][2]="1000 premières lignes"; gtabPA[i][3]="3";gtabPA[i][4]="4"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]= +"1000";i+=1 +//27 = Modèle d'état d'intervention rdv +gtabPA[i][1]="27"; gtabPA[i][2]="1 mois"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]= +"30";i+=1 +06/08/2026 Isis_BO 6338 + +Partie 7 › Collection de procédures › COL_VERSION › Code +gtabPA[i][1]="27"; gtabPA[i][2]="2 mois"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]= +"60";i+=1 +gtabPA[i][1]="27"; gtabPA[i][2]="3 mois"; gtabPA[i][3]="2";gtabPA[i][4]="3"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]= +"90";i+=1 +gtabPA[i][1]="27"; gtabPA[i][2]="6 mois"; gtabPA[i][3]="3";gtabPA[i][4]="4"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]= +"180";i+=1 +gtabPA[i][1]="27"; gtabPA[i][2]="1 an"; gtabPA[i][3]="4";gtabPA[i][4]="5"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]= +"365";i+=1 +gtabPA[i][1]="27"; gtabPA[i][2]="2 ans"; gtabPA[i][3]="5";gtabPA[i][4]="6"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]= +"730";i+=1 +//29 = Modules Back-Office Libelle Valeur +Ordre Invisible Actif Système Clé de liaison +Libellé court Parametre +gtabPA[i][1]= "29"; gtabPA[i][2]="Paramètres"; gtabPA[i][3]="16"; +gtabPA[i][4]="1";gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1"; gtabPA[i][8]="";gtabPA[i] +[9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Gestion des temps"; gtabPA[i][3]="3"; +gtabPA[i][4]="2";gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1"; gtabPA[i][8]="";gtabPA[i] +[9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Gestion des équipes"; gtabPA[i][3]="13"; +gtabPA[i][4]="3";gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1"; gtabPA[i][8]="";gtabPA[i] +[9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Gestion des collaborateurs"; gtabPA[i][3]="12"; +gtabPA[i][4]="4";gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1"; gtabPA[i][8]="";gtabPA[i] +[9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Suivi des interventions"; gtabPA[i][3]="7"; +gtabPA[i][4]="5";gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1"; gtabPA[i][8]="";gtabPA[i] +[9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Gestion des dossiers"; gtabPA[i][3]="5"; +gtabPA[i][4]="6";gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1"; gtabPA[i][8]="";gtabPA[i] +[9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Gestion des actions intervention"; gtabPA[i][3]="5.1"; +gtabPA[i][4]="7";gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1"; gtabPA[i][8]="";gtabPA[i] +[9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Gestion des messages externes intervention"; gtabPA[i][3]="5.2"; +gtabPA[i][4]="8"; gtabPA[i][5]="0"; gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]= +""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Gestion des notes internes intervention"; gtabPA[i][3]="5.3"; +gtabPA[i][4]="9";gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; +gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Gestion des rapports interventions"; gtabPA[i][3]="5.4"; +gtabPA[i][4]="10"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1"; gtabPA[i][8]="";gtabPA[i] +[9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Gestion des compte-rendus interventions"; gtabPA[i][3]="5.5"; +gtabPA[i][4]="11"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]= +""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Gestion des documents interventions"; gtabPA[i][3]="5.6"; +gtabPA[i][4]="12"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1"; gtabPA[i][8]="";gtabPA[i] +[9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Extraction des données clients"; gtabPA[i][3]="Rq.C"; +gtabPA[i][4]="24"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1"; gtabPA[i][8]="";gtabPA[i] +[9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Extraction des données Rendez-vous"; gtabPA[i][3]="Rq.RDV" +; gtabPA[i][4]="25"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1"; gtabPA[i][8]=""; +gtabPA[i][9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Recherche des interventions (Uniquement société attaché)"; +gtabPA[i][3]="M.1"; gtabPA[i][4]="13"; gtabPA[i][5]="0"; gtabPA[i][6]="1"; gtabPA[i][7]="1"; gtabPA[i] +[8]="";gtabPA[i][9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Recherche des interventions (Si rendez-vous existant)"; +06/08/2026 Isis_BO 6339 + +Partie 7 › Collection de procédures › COL_VERSION › Code +gtabPA[i][3]="M.2"; gtabPA[i][4]="14"; gtabPA[i][5]="0"; gtabPA[i][6]="1"; gtabPA[i][7]="1"; gtabPA[i] +[8]="";gtabPA[i][9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]= +"Recherche des interventions (Si rendez-vous existant, accès à l'intégralité du dossier)"; gtabPA[i +][3]="M.3"; gtabPA[i][4]="15"; gtabPA[i][5]="0"; gtabPA[i][6]="1"; gtabPA[i][7]="1"; gtabPA[i][8]=""; +gtabPA[i][9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Envoi d'émail"; +gtabPA[i][3]="M.4"; gtabPA[i][4]="16"; gtabPA[i][5]="0"; gtabPA[i][6]="1"; gtabPA[i][7]="1"; gtabPA[i] +[8]="";gtabPA[i][9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Création de rapports"; +gtabPA[i][3]="M.5"; gtabPA[i][4]="17"; gtabPA[i][5]="0"; gtabPA[i][6]="1"; gtabPA[i][7]="1"; gtabPA[i] +[8]="";gtabPA[i][9]=""; gtabPA[i][10]="";i+=1 +//gtabPA[i][1]= "29"; gtabPA[i][2]="Signature obligatoire comptes-rendus"; gtabPA[i][3]="M.2"; +gtabPA[i][4]="14"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1"; +gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]="";i+=1 +//gtabPA[i][1]= "29"; gtabPA[i][2]="Signature technicien comptes-rendus"; gtabPA[i][3]="M.3"; +gtabPA[i][4]="15"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1"; +gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]="";i+=1 +//gtabPA[i][1]= "29"; gtabPA[i][2]="Afficher travaux conforme CR"; gtabPA[i][3]="M.4"; +gtabPA[i][4]="16"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1"; +gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]="";i+=1 +//gtabPA[i][1]= "29"; gtabPA[i][2]="Afficher réception en réserve CR"; gtabPA[i][3]="M.5"; +gtabPA[i][4]="17"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1"; +gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Document 'Aucune Catégorie Document'"; gtabPA[i][3]="5.6.1"; +gtabPA[i][4]="18"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="17,0";gtabPA[i][ +9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Document 'Photo'"; gtabPA[i][3]="5.6.2"; +gtabPA[i][4]="19"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1"; gtabPA[i][8]="17,1"; +gtabPA[i][9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Document 'Autre document'"; gtabPA[i][3]="5.6.3"; +gtabPA[i][4]="20"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1"; gtabPA[i][8]="17,2"; +gtabPA[i][9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Document 'Message externe'"; gtabPA[i][3]="5.6.4"; +gtabPA[i][4]="21"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1"; gtabPA[i][8]="17,3"; +gtabPA[i][9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Document 'Rapport'"; gtabPA[i][3]="5.6.5"; +gtabPA[i][4]="22"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1"; gtabPA[i][8]="17,4"; +gtabPA[i][9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="document 'Devis&Facture BATIGEST'"; gtabPA[i][3]="5.6.6"; +gtabPA[i][4]="23"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1"; gtabPA[i][8]="17,BG"; +gtabPA[i][9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Consultation du planning de tous les collaborateurs"; +gtabPA[i][3]="M.PlClb.1"; gtabPA[i][4]="24"; gtabPA[i][5]="0"; gtabPA[i][6]="1"; gtabPA[i][7]="1"; +gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]= +"Consultation du planning des collaborateurs de la même société principal"; gtabPA[i][3]="M.PlClb.2"; +gtabPA[i][4]="25"; gtabPA[i][5]="0"; gtabPA[i][6]="1"; gtabPA[i][7]="1"; gtabPA[i][8]=""; gtabPA[i][9]= +""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Consultation du planning des collaborateurs de la même société(s)"; +gtabPA[i][3]="M.PlClb.3"; gtabPA[i][4]="26"; gtabPA[i][5]="0"; gtabPA[i][6]="1"; gtabPA[i][7]="1"; +gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]="";i+=1 +gtabPA[i][1]= "29"; gtabPA[i][2]="Consultation du planning des collaborateurs de la même équipe"; +gtabPA[i][3]="M.PlClb.4"; gtabPA[i][4]="27"; gtabPA[i][5]="0"; gtabPA[i][6]="1"; gtabPA[i][7]="1"; +gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]="";i+=1 +//30 = Apporteur Client ##SPEC Artisans Partenaires## + +gtabPA[i][1] = "30"; gtabPA[i][2]="Ass.ChCl"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1] = "30"; gtabPA[i][2]="Men.Jacques"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +06/08/2026 Isis_BO 6340 + +Partie 7 › Collection de procédures › COL_VERSION › Code +i+=1 +gtabPA[i][1] = "30"; gtabPA[i][2]="SAT"; gtabPA[i][3]="2";gtabPA[i][4]="3"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1] = "30"; gtabPA[i][2]="Dutrievoz"; gtabPA[i][3]="3";gtabPA[i][4]="4"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1] = "30"; gtabPA[i][2]="PDR"; gtabPA[i][3]="4";gtabPA[i][4]="5"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1] = "30"; gtabPA[i][2]="Sauvignet"; gtabPA[i][3]="5";gtabPA[i][4]="6"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1] = "30"; gtabPA[i][2]="Fournier"; gtabPA[i][3]="6";gtabPA[i][4]="7"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1] = "30"; gtabPA[i][2]="Champagne"; gtabPA[i][3]="7";gtabPA[i][4]="8"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1] = "30"; gtabPA[i][2]="X-Rousse"; gtabPA[i][3]="8";gtabPA[i][4]="9"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1] = "30"; gtabPA[i][2]="GAP"; gtabPA[i][3]="9";gtabPA[i][4]="10" +; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10 +]="";i+=1 +gtabPA[i][1] = "30"; gtabPA[i][2]="Autre"; gtabPA[i][3]="10"; gtabPA[i][4]="11" +; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10 +]="";i+=1 + +//31 = Origine Client ##SPEC Artisans Partenaires## +gtabPA[i][1] = "31"; gtabPA[i][2]="Vitrine"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1] = "31"; gtabPA[i][2]="Bouche à oreille"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1] = "31"; gtabPA[i][2]="Internet"; gtabPA[i][3]="2";gtabPA[i][4]="3"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1] = "31"; gtabPA[i][2]="Pub Voiture"; gtabPA[i][3]="4";gtabPA[i][4]="5"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1] = "31"; gtabPA[i][2]="Pub Presse"; gtabPA[i][3]="5";gtabPA[i][4]="6"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1] = "31"; gtabPA[i][2]="Flyer"; gtabPA[i][3]="6";gtabPA[i][4]="7"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1] = "31"; gtabPA[i][2]="Autre"; gtabPA[i][3]="10"; gtabPA[i][4]="11" +; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10 +]="";i+=1 + +gtabPA[i][1] = "31"; gtabPA[i][2]="Archi / BE"; gtabPA[i][3]="3";gtabPA[i][4]="4"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1] = "31"; gtabPA[i][2]="Salarié"; gtabPA[i][3]="7";gtabPA[i][4]="8"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1] = "31"; gtabPA[i][2]="Régie / Syndic / Copro"; gtabPA[i][3]="8";gtabPA[i][4]="9"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1] = "31"; gtabPA[i][2]="Fournisseur"; gtabPA[i][3]="9";gtabPA[i][4]="10" +; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10 +]="";i+=1 +06/08/2026 Isis_BO 6341 + +Partie 7 › Collection de procédures › COL_VERSION › Code + +//32 = Type signataire CR ##SPEC Artisans Partenaires## +gtabPA[i][1] = "32"; gtabPA[i][2]="Propriétaire"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1] = "32"; gtabPA[i][2]="Locataire"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1] = "32"; gtabPA[i][2]="Gestionnaire"; gtabPA[i][3]="2";gtabPA[i][4]="3"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +//33 = Mode de règlement client ##SPEC Artisans Partenaires## +gtabPA[i][1] = "33"; gtabPA[i][2]="30 JRS DATE DE FACTURE"; gtabPA[i][3]="3000"; gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1] = "33"; gtabPA[i][2]="REGLT 100% A LA COMMANDE"; gtabPA[i][3]="3001"; gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1] = "33"; gtabPA[i][2]="PAYE"; gtabPA[i][3]="3002"; gtabPA[i][4]="3"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1] = "33"; gtabPA[i][2]="A RECEPTION DE FACTURE"; gtabPA[i][3]="CPT"; gtabPA[i][4] +="8"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i +][10]="";i+=1 + +gtabPA[i][1] = "33"; gtabPA[i][2]="30 JOURS LE 15"; gtabPA[i][3]="3003"; gtabPA[i][4]="4"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1] = "33"; gtabPA[i][2]="CETELEM"; gtabPA[i][3]="3008"; gtabPA[i][4] +="5"; gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i +][10]="";i+=1 +gtabPA[i][1] = "33"; gtabPA[i][2]="60 JRS DATE DE FACTURE"; gtabPA[i][3]="9011"; gtabPA[i][4]="6"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 +gtabPA[i][1] = "33"; gtabPA[i][2]="45 JRS DATE DE FACTURE"; gtabPA[i][3]="9012"; gtabPA[i][4]="7"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]="";gtabPA[i][9]=""; gtabPA[i][10]=""; +i+=1 + +//34 = Origine annulation rdv +gtabPA[i][1] = "34"; gtabPA[i][2]="Externe : Client"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1"; gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10] +="";i+=1 +gtabPA[i][1] = "34"; gtabPA[i][2]="Interne : Collaborateur"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0"; gtabPA[i][6]="1"; gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10] +="";i+=1 +gtabPA[i][1] = "34"; gtabPA[i][2]="Autre"; gtabPA[i][3]="2";gtabPA[i][4]="3"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]= +Type_Temp_Json();i+=1 +//35 = Motif annulation rdv +gtabPA[i][1] = "35"; gtabPA[i][2]="Absent"; gtabPA[i][3]="0";gtabPA[i][4]="1"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]= +Type_Temp_Json();i+=1 +gtabPA[i][1] = "35"; gtabPA[i][2]="Empêchement"; gtabPA[i][3]="1";gtabPA[i][4]="2"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]= +Type_Temp_Json();i+=1 +gtabPA[i][1] = "35"; gtabPA[i][2]="Autre"; gtabPA[i][3]="2";gtabPA[i][4]="3"; +gtabPA[i][5]="0";gtabPA[i][6]="1";gtabPA[i][7]="1";gtabPA[i][8]=""; gtabPA[i][9]=""; gtabPA[i][10]= +Type_Temp_Json();i+=1 +Procédure globale InitParametreSysteme +06/08/2026 Isis_BO 6342 + +Partie 7 › Collection de procédures › COL_VERSION › Code +// Résumé : +// Syntaxe : +//InitParametreSysteme ( est tableau) +// +// Paramètres : +// gtabPAS (tableau) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure InitParametreSysteme(gtabPAS est un tableau de [9,3] chaînes) +k est un entier=1 +Rapport est un JSON = Description_Rubriques_Rapport() +LaLicence est un JSON = LICENCE() +//Code Valeur +Description +gtabPAS[k][1]="RUBRIQUE_RAPPORT_INTERVENTION"; gtabPAS[k][2]=JSONVersChaîne(Rapport); +gtabPAS[k][3]="Liste des rubriques à afficher dans le rapport d'intervention" ;k+=1 +gtabPAS[k][1]="LICENCE"; gtabPAS[k][2]=JSONVersChaîne(LaLicence); +gtabPAS[k][3]="Description de la licence" ;k+=1 +gtabPAS[k][1]="CODECLIENT"; gtabPAS[k][2]=""; +gtabPAS[k][3]="Code du client" ;k+=1 +gtabPAS[k][1]="USER_SANS_LICENCE"; gtabPAS[k][2]=""; +gtabPAS[k][3]="Utilisateur qui ne compte pas dans les licences attribués" ;k+=1 +gtabPAS[k][1]="BATIGEST_ACTIF"; gtabPAS[k][2]="0"; +gtabPAS[k][3]="Indique si le module BATIGEST est actif" ;k+=1 +gtabPAS[k][1]= "TRIE_INTERV"; gtabPAS[k][2]="0"; +gtabPAS[k][3]="Option trie intervention";k+=1 +gtabPAS[k][1]= "COULEUR_SOC"; gtabPAS[k][2]="0"; +gtabPAS[k][3]="Option couleur par société";k+=1 +gtabPAS[k][1]= "COULEUR_RDV"; gtabPAS[k][2]="0"; +gtabPAS[k][3]="Option couleur par RDV";k+=1 +gtabPAS[k][1]= "SVT_AG"; gtabPAS[k][2]="0"; +gtabPAS[k][3]="Option suivi temps agenda";k+=1 +Procédure globale MAJApresSelonVersion +procédure MAJApresSelonVersion() +RechercheNumVerion() +si gsInfoVersion"" alors +sCleFiltre est une chaîne= HFiltre(ParametreMetier,ChaîneConstruit( +"PA_Code='%1' ET PA_VAleur='%2'",gtabPA[nLigne][1],gtabPA[nLigne][3])) +HLitPremier(ParametreMetier,sCleFiltre,hRespecteFiltre) +si pas HEnDehors(ParametreMetier) alors +06/08/2026 Isis_BO 6343 + +Partie 7 › Collection de procédures › COL_VERSION › Code +si ParametreMetier.PA_Code = "29" alors +ParametreMetier.PA_Libelle = gtabPA[nLigne][2] +ParametreMetier.PA_LibelleCourt = gtabPA[nLigne][9] +ParametreMetier.PA_Ordre = gtabPA[nLigne][4] +fin +ParametreMetier.PA_Systeme = gtabPA[nLigne][7] +ParametreMetier.PA_CleLiaison = gtabPA[nLigne][8] +HModifie(ParametreMetier) +sinon +HRAZ(ParametreMetier) +ParametreMetier.PA_Code = gtabPA[nLigne][1] +ParametreMetier.PA_Libelle = gtabPA[nLigne][2] +ParametreMetier.PA_Valeur = gtabPA[nLigne][3] +ParametreMetier.PA_Ordre = gtabPA[nLigne][4] +ParametreMetier.PA_Invisible = gtabPA[nLigne][5] +ParametreMetier.PA_Actif = gtabPA[nLigne][6] +ParametreMetier.PA_Systeme = gtabPA[nLigne][7] +ParametreMetier.PA_CleLiaison = gtabPA[nLigne][8] +ParametreMetier.PA_LibelleCourt = gtabPA[nLigne][9] +ParametreMetier.PA_Parametre = gtabPA[nLigne][10] +HAjoute(ParametreMetier) +fin +HDésactiveFiltre(ParametreMetier) +fin +fin +pour nLigne = 1 _à_ TableauInfo(gtabPAP,tiNombreLignes) +si gtabPAP[nLigne][1]<>"" alors +si HLitRecherchePremier(ParametreApplication,PAP_Code,gtabPAP[nLigne][1]) alors +ParametreApplication.PAP_Description = gtabPAP[nLigne][3] +HModifie(ParametreApplication) +sinon +HRAZ(ParametreApplication) +ParametreApplication.PAP_Code = gtabPAP[nLigne][1] +ParametreApplication.PAP_Valeur = gtabPAP[nLigne][2] +ParametreApplication.PAP_Description = gtabPAP[nLigne][3] +HAjoute(ParametreApplication) +fin +fin +fin +pour nLigne = 1 _à_ TableauInfo(gtabPAS,tiNombreLignes) +si gtabPAS[nLigne][1]<>"" alors +si HLitRecherchePremier(ParametreSysteme,PAS_Code,gtabPAS[nLigne][1]) alors +ParametreSysteme.PAS_Description = gtabPAS[nLigne][3] +si ParametreSysteme.PAS_Code = "RUBRIQUE_RAPPORT_INTERVENTION" alors +ParametreSysteme.PAS_Valeur = gtabPAS[nLigne][2] +fin +HModifie(ParametreSysteme) +sinon +HRAZ(ParametreSysteme) +ParametreSysteme.PAS_Code = gtabPAS[nLigne][1] +ParametreSysteme.PAS_Valeur = gtabPAS[nLigne][2] +ParametreSysteme.PAS_Description = gtabPAS[nLigne][3] +HAjoute(ParametreSysteme) +fin +fin +fin +06/08/2026 Isis_BO 6344 + +Partie 7 › Collection de procédures › COL_VERSION › Code +stParamSoc est une ST_Param_Societe +stParamSoc.sCouleur = "" +saBuf est une chaîne ANSI +pour tout Societe +si Societe.SO_Parametres = "" alors +Sérialise(stParamSoc,saBuf,psdJSON) +Societe.SO_Parametres = saBuf +HModifie(Societe) +fin +fin +ParametreSystemeEcrit("VERSION",VersionProjet, +"Version de l'application bureau correspondante (Paramètres)") +fin +Procédure globale RechercheNumVerion +procédure RechercheNumVerion() +gsInfoVersion = ParametreSystemeLit("VERSION","0") +Procédure globale Test +procédure Test() +06/08/2026 Isis_BO 6345 + +Partie 7 › Collection de procédures › COL_MOBILE › Code +COL_MOBILE +Code +Déclaration de COL_MOBILE +ST_MOB_INSCRIPTION est une Structure +saSrv est une chaîne ANSI +saPort est une chaîne ANSI +saIdCli est une chaîne ANSI +saSociete est une chaîne ANSI +nIdClb est un entier sur 8 octets +nIdUsr est un entier sur 8 octets +saNom est une chaîne ANSI +saPren est une chaîne ANSI +fin +//STructure passée au mobile dans le QRCode +ST_MOB_QRCODE est une Structure +saCodeClient est une chaîne ANSI +saNumLicence est une chaîne ANSI +saURLLicence est une chaîne ANSI +fin + +//Bo Client Demande Licence Mobile +ST_CLI_DMD_LM est une Structure +saCodeClient est une chaîne ANSI +saNom est une chaîne ANSI +saPrenom est une chaîne ANSI +nIdUser est un entier sur 8 octets +nIdClb est un entier sur 8 octets +fin +//Bo Client Réponse à demande Licence Mobile +ST_CLI_REP_DMD_LM est une Structure +saNumLicence est une chaîne ANSI +saDateAttrib est une chaîne ANSI +saDateExpir est une chaîne ANSI +fin +//Bo Client Action sur Licence Mobile +ST_CLI_ACTION_LM est une Structure +saCodeClient est une chaîne ANSI +saNumLicence est une chaîne ANSI +fin +//Bo Client Demande Liste licences mobile +ST_CLI_DMD_LISTE_LM est une Structure +saCodeClient est une chaîne ANSI +fin + +constant +//Commandes utilisée par le back-office client +cCLI_LIC_ATTRIBUTION ="CLI.LM.ATT" //Déclaration de l'attribution d'une licence mobile +cCLI_LIC_ACTIVATION ="CLI.LM.ACT" //Activation +cCLI_LIC_DESACTIVATION ="CLI.LM.OFF" //Désactivation d'une licence sans la libérer +cCLI_LIC_LIBERE ="CLI.LM.RAZ" +//Libération d'une licence.(Pour la réaffecter plus tard) +cCLI_LIC_LISTE ="CLI.LM.LISTE" +06/08/2026 Isis_BO 6346 + +Partie 7 › Collection de procédures › COL_MOBILE › Code +//Récupération de la liste des licences attribuées (Pour un contrôle de cohérence) +//Codes Erreur du webservice Licence : WS_LICINTER_V1 +cREP_OK ="E0000" +cERR_DATA_VIDE ="E1001" +cERR_FORMAT_JSON ="E1002" +cERR_CLI_INCONNU ="E2001" +cERR_CLI_LIC ="E2002" +cERR_CLI_CONFIG ="E2003" //Configuration incomplète +cERR_CLI_BADAPI ="E2004" //La clé API n'est pas correcte +cERR_LIC_INCONNUE ="E3001" +cERR_LIC_INACTIVE="E3002" +cERR_LIC_EXPIREE ="E3003" +cERR_LIC_ATTRIBUEE ="E3004" +cERR_LIC_AUCUNE ="E3005" +cERR_CMD_INCONNUE="E4001" +cERR_HF_BLOCAGE ="E5001" +cERR_EXCEPTION ="E9000" +fin +06/08/2026 Isis_BO 6347 + +Partie 7 › Collection de procédures › LIB_ModelesEmails › Code +LIB_ModelesEmails +Code +Déclaration de LIB_ModelesEmails +ST_MotCle est une Structure +| saCodeValeur | est une chaîne ANSI | | | +| ------------- | --------------------- | --- | --- | +| saMotCle | est une chaîne ANSI | | | +| saMotCleHTML | est une chaîne ANSI | | | +| bPresent | est un booléen | | | +| saTexte | est une chaîne ANSI | | | +| bTableau | est un booléen | | | +| saGroupe | est une chaîne ANSI | | | +fin +//Structures d'import Export de modéles mail +ST_ModelMail est une Structure +| sNom | est une chaîne ANSI | | | +| ------------------------------------- | -------------------- | --- | --- | +| sSujet | est une chaîne | | | +| sMailCode | est une chaîne ANSI | | | +| bSystem est un booléen | | | | +| sLangue est une chaîne ANSI | | | | +| tatbCat est un tableau de ST_MailCat | | | | +| bufDoc | est un Buffer | | | +fin +ST_MailCat est une Structure +sCatCodeest une chaîne +| sCatNom | est une chaîne | | | +| ------- | -------------- | --- | --- | +| sNote | est une chaîne | | | +| bSystem | est un booléen | | | +fin +constant +mcClient_Adresse = "CLIENT.ADRESSE" +| mcClient_Nom | = "CLIENT.NOM" | | | +| ------------ | -------------- | --- | --- | +| mcDevis_Date | = "DEVIS.DATE" | | | +mcDevis_Num = "DEVIS.NUM" +mcDossier_Date = "DOSSIER.DATE" +mcDossier_Num = "DOSSIER.NUM" +mcDossier_Societe= "DOSSIER.SOCIETE" +mcDossier_Type = "DOSSIER.TYPE" +mcDossier_Statut = "DOSSIER.STATUT" +mcDossier_Titre = "DOSSIER.TITRE" +| mcDossier_RefExt | = "DOSSIER.REFEXT" | | | +| ---------------- | ------------------ | --- | --- | +mcFac_Date = "FAC.DATE" +mcFac_Num = "FAC.NUM" +| mcInter_Date | = "INTER.DATE" | | | +| ---------------- | ---------------- | --- | --- | +| mcInter_TpsPrevu | = "INTER.TPREVU" | | | +mcInter_Descript = "INTER.DESCRIPT" +mcInter_RefExt = "INTER.REFEXT" +mcInter_Num = "INTER.NUM" +mcInter_Titre = "INTER.TITRE" +| mcInter_Type | = "INTER.TYPE" | | | +| ------------ | -------------- | --- | --- | +mcInter_Suivi = "INTER.SUIVI" +mcSite_Adresse = "SITE.ADRESSE" +| 06/08/2026 | | Isis_BO | 6348 | +| ---------- | --- | ------- | ---- | + +Partie 7 › Collection de procédures › LIB_ModelesEmails › Code +mcSite_Code = "SITE.CODE" +mcSite_Contacts = "SITE.TB.CT" // .TB. indique que l'on affaire à un tableau +mcSiteU_NomPrenom= "SITE.U.NOMPRENOM" +mcSiteU_Tel1 = "SITE.U.TEL1" +mcSiteU_Tel2 = "SITE.U.TEL2" +mcSiteU_Role = "SITE.U.ROLE" +mcSiteU_Etage = "SITE.U.ETAGE" +mcDO_Contacts = "CLIENT.TB.CT" // .TB. indique que l'on affaire à un tableau +mcDOU_NomPrenom = "CLIENT.U.NOMPRENOM" +mcDOU_Tel1 = "CLIENT.U.TEL1" +mcDOU_Tel2 = "CLIENT.U.TEL2" +mcDOU_Role = "CLIENT.U.ROLE" +mcDOU_Mail = "CLIENT.U.EMAIL" +mcCR = "CR.TB" +mcCRUnique_DateDeb = "CR.U.DHDEBUT" +mcCRUnique_DateFin = "CR.U.DHFIN" +mcCRUnique_NoteColl = "CR.U.NOTECOLLAB" +mcCRUnique_Signatai = "CR.U.SIGNATAIRE" +mcCRUnique_NoteSign = "CR.U.NOTESIGNAT" +mcCRUnique_TypeSign = "CR.U.TYPESIGNATAIRE" +mcCRUnique_ImagSign = "CR.U.IMAGESIGNATURE" +mcCRUnique_ImagSignT= "CR.U.IMAGESIGNATURETECH" +mcCRUnique_NomSignT = "CR.U.NOMSIGNATURETECH" +mcCRUnique_DevisOk = "CR.U.DEVISCONFORME" +mcCRUnique_AvecRsv = "CR.U.AVECRESERVE" +mcCRUnique_RsvCom= "CR.U.RESERVECOMMENTAIRE" +mcRdv = "RDV.TB" +mcRdvUnique_DateDeb = "RDV.U.DHDEBUT" +mcRdvUnique_DateFin = "RDV.U.DHFIN" +mcRdvUnique_Objet= "RDV.U.OBJET" +mcRdvUnique_Note = "RDV.U.NOTE" +fin +Procédure globale ChargeModeleDeMail +// Résumé : +// Syntaxe : +//[ = ] ChargeModeleDeMail ( est chaîne) +// +// Paramètres : +// sCodeModeleMail (chaîne ANSI) : +// Valeur de retour : +// multi-valeur : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// pclObjet (objet dynamique) : +procédure ChargeModeleDeMail(local sCodeModeleMail est une chaîne) +oMM est un PF_ModeleEmail +oMM:Charge(sCodeModeleMail) +sCorps est une chaîne = oMM:sCorpHTML +sObjet est une chaîne = oMM:sSujet +//Remplacement des mots clé par leur valeur +//C'est le code Valeur qui est connu dans le programme et permet de trouver la chaine qui remplacera le +mot clé trouvé dans le texte. +06/08/2026 Isis_BO 6349 + +Partie 7 › Collection de procédures › LIB_ModelesEmails › Code +//Pour la langue française, FR, le code valeur est identique au mot clef +//Dans cette version seule la langue FR est gérée en dur +tbMC est un tableau de ST_MotCle +//On récupère la liste des mots clés dans la table MotClef +RecupMotsCles(tbMC) +//Pour chaque mot clé, on vérifie sa présence dans le message ou l'objet +VerifiePresenceMotsCles(tbMC,sCorps,sObjet) +////Pour chaque mot clef présents, on recherche sa valeur +//DonneValeurTousMotsCles(tbMC,pclObjet) +// +// +////Puis on remplace +//RemplaceMotsCles(tbMC,sCorps,sObjet) +renvoyer (sCorps,sObjet,tbMC) +Procédure globale DonneValeurMotClef +procédure DonneValeurMotClef(saCode est une chaîne ANSI, odFI est un PFicheIntervention dynamique, +ptabJDyn est un tableau dynamique=Null) +saRep est une chaîne ANSI +selon saCode +cas mcInter_Date : saRep = DateValide(odFI:m_dhCreationDate[[1 à 8]]) ? DateVersChaîne(odFI: +m_dhCreationDate,"JJ/MM/AAAA") sinon "" +cas mcInter_Descript : saRep = RTFVersHTML( odFI:m_sDescription,rvhOptionCompatible) +cas mcInter_TpsPrevu : saRep = HeureDecimaleVersHeure(odFI:m_rDureePrevue) +//Exprimée en heure décimale +cas mcInter_RefExt : saRep = odFI:m_sRefExterne +cas mcInter_Num : saRep = odFI:m_sRefInterne +cas mcInter_Suivi : saRep = gpclListeCollabActif:RechercheEtDonneNomDepuisID(odFI:m_nIDSuiviPar +) +cas mcInter_Titre : saRep = odFI:m_sTitre +cas mcInter_Type : saRep = gpclListeTypeIntervention:RechercheEtDonneLibelleDepuisID(odFI: +m_nIDTypeIntervention) +cas mcDevis_Date : saRep = DateValide(odFI:m_dDateDevis) ? DateVersChaîne(odFI:m_dDateDevis, +"JJ/MM/AAAA") sinon "" +cas mcDevis_Num : saRep = odFI:m_sNumDevis +cas mcFac_Num : saRep = odFI:m_sNumFacture +cas mcFac_Date : saRep = DateValide(odFI:m_dDateFacture) ? DateVersChaîne(odFI: +m_dDateFacture,"JJ/MM/AAAA") sinon "" +cas mcDossier_Societe: saRep = odFI:FicheSociete:m_sNom +cas mcDossier_Num : saRep = odFI:FicheDossier:m_sRefInterne +cas mcDossier_Date : saRep = DateValide(odFI:FicheDossier:m_dhCreationDate[[1 à 8]]) ? +DateVersChaîne(odFI:FicheDossier:m_dhCreationDate,"JJ/MM/AAAA") sinon "" +cas mcDossier_Type : saRep = gpclListeTypeDossier:RechercheEtDonneLibelleDepuisID(odFI: +FicheDossier:m_nIDTypeDossier) +cas mcDossier_Titre : saRep = odFI:FicheDossier:m_sTitre +cas mcDossier_RefExt : saRep = odFI:FicheDossier:m_sRefExterne +cas mcDossier_Statut : saRep = gpclListeStatutDossier:RechercheEtDonneLibelleDepuisID(odFI: +FicheDossier:m_nIDStatut) +cas mcClient_Nom : saRep = odFI:FicheClient:m_sNom +cas mcClient_Adresse : saRep = odFI:FicheClient:p_AdressePrincipale +cas mcSite_Adresse : saRep = odFI:FicheLieu:m_clAdresse:m_sPresentation +cas mcSite_Code : saRep = odFI:FicheLieu:m_sCodeLieu +cas mcCRUnique_DateDeb : saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? DateVersChaîne( +ptabJDyn[1]:m_dhDateHeureDebut,"JJ/MM/AA") sinon "" +//DateVersChaîne(ptabJDyn[1]:m_dhDateHeureDebut,"JJ/MM/AA à HHhmm") +cas mcCRUnique_DateFin : saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? DateVersChaîne( +06/08/2026 Isis_BO 6350 + +Partie 7 › Collection de procédures › LIB_ModelesEmails › Code +| ptabJDyn[1]:m_dhDateHeureFin,"JJ/MM/AA") | | sinon "" | | | +| ---------------------------------------- | --- | --------- | --- | --- | +//DateVersChaîne(ptabJDyn[1]:m_dhDateHeureFin,"JJ/MM/AA à HHhmm") +cas mcCRUnique_NoteColl : saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? ptabJDyn[1]: +| m_sNoteCollaborateur | | | sinon "" | | +| --------------------- | --- | --- | -------- | --- | +cas mcCRUnique_Signatai : saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? ptabJDyn[1]: +| m_sNomSignataire | | | sinon "" | | +| --------------------- | --- | --- | -------- | --- | +cas mcCRUnique_NoteSign : saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? ptabJDyn[1]: +| m_sNoteSignataire | | | sinon "" | | +| --------------------- | --- | --- | -------- | --- | +cas mcCRUnique_TypeSign : saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? gpcl +ListeTypeSignataireCR:RechercheEtDonneLibelleDepuisID(ptabJDyn[1]:m_nIDTypeSignataire)sinon "" +cas mcCRUnique_ImagSign : saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? ptabJDyn[1]: +| m_Signature | | | sinon "" | | +| ----------- | ---- | --- | -------- | --- | +cas mcCRUnique_ImagSignT: saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? ptabJDyn[1]: +| m_SignatureTech | | | sinon "" | | +| --------------- | ---- | --- | -------- | --- | +cas mcCRUnique_NomSignT : saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? ptabJDyn[1]: +| m_sNomSignataireTech | | | sinon "" | | +| -------------------- | ---- | --- | -------- | --- | +cas mcCRUnique_DevisOk : saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? ptabJDyn[1]: +| m_bDevisConforme ? "Oui" sinon "Non" | | | sinon "" | | +| ------------------------------------ | --- | --- | -------- | --- | +cas mcCRUnique_AvecRsv : saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? ptabJDyn[1]: +| m_bAvecReserve ? "Oui" sinon "Non" | | | sinon "" | | +| ---------------------------------- | --- | --- | -------- | --- | +cas mcCRUnique_RsvCom: saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? ptabJDyn[1]: +| m_sReserveCommentaire | | | sinon "" | | +| ------------------------- | --- | --- | -------- | --- | +cas mcRdvUnique_DateDeb : saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? DateVersChaîne( +| ptabJDyn[1]:m_dhDateDebut,"JJ/MM/AA à HHhmm") | | | sinon "" | | +| --------------------------------------------- | --- | --- | -------- | --- | +cas mcRdvUnique_DateFin : saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? DateVersChaîne( +| ptabJDyn[1]:m_dhDateFin,"JJ/MM/AA à HHhmm") | | sinon "" | | | +| ------------------------------------------- | --- | -------- | --- | --- | +cas mcRdvUnique_Objet: saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? ptabJDyn[1]:m_sObjet +sinon "" +cas mcRdvUnique_Note : saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? ptabJDyn[1]: +| m_sDescription | | | sinon "" | | +| -------------- | --- | --- | -------- | --- | +cas mcDOU_NomPrenom : saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? ptabJDyn[1]: +| m_clContact:CiviliteNomPrenom | | | sinon "" | | +| ------------------------------ | --- | --- | -------- | --- | +cas mcDOU_Tel1 : saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? ptabJDyn[1]: +| m_clContact:m_sTelFixe | | | sinon "" | | +| ------------------------------ | --- | --- | -------- | --- | +cas mcDOU_Tel2 : saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? ptabJDyn[1]: +| m_clContact:m_sTelMobile | | | sinon "" | | +| ------------------------ | ---- | --- | -------- | --- | +cas mcDOU_Role : saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? ptabJDyn[1]: +| m_clContact:LibRole | | | sinon "" | | +| ------------------------- | --- | --- | -------- | --- | +cas mcDOU_Mail : saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? ptabJDyn[1]: +| m_clContact:m_sEmail | | | sinon "" | | +| ------------------------------ | --- | --- | -------- | --- | +cas mcSiteU_NomPrenom: saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? ptabJDyn[1]: +| m_clContact:CiviliteNomPrenom | | | sinon "" | | +| ------------------------------ | --- | --- | -------- | --- | +cas mcSiteU_Tel1 : saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? ptabJDyn[1]: +| m_clContact:m_sTelFixe | | | sinon "" | | +| --------------------------------- | --- | --- | -------- | --- | +cas mcSiteU_Tel2 : saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? ptabJDyn[1]: +| m_clContact:m_sTelMobile | | | sinon "" | | +| ------------------------------ | --- | --- | -------- | --- | +cas mcSiteU_Role : saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? ptabJDyn[1]: +| m_clContact:LibRole | | | sinon "" | | +| --------------------------- | --- | --- | -------- | --- | +cas mcSiteU_Etage : saRep = ptabJDyn<>Null _et_ ptabJDyn..Occurrence>0 ? ptabJDyn[1]:m_sEtage +| | | sinon "" | | | +| ---------------------- | --- | -------- | --- | --- | +cas mcDO_Contacts +si ptabJDyn.. Occurrence=0 alors +saRep="" +sinon +//Construction du tableau HTML des contacts +tabLibCol est un tableau de chaînes=["Contact","Rôle","Tél. 1","Tél. 2","Etage"] +sTB est une chaîne ANSI=[ +
+ + + +] +| 06/08/2026 | | Isis_BO | | 6351 | +| ---------- | --- | ------- | --- | ---- | + +Partie 7 › Collection de procédures › LIB_ModelesEmails › Code +pour i=1 _à_ 5 +sTB+="" +fin +sTB+="" +tabCol est un tableau de 5 chaînes +pour tout pclCT de ptabJDyn +tabCol[1] = pclCT:m_clContact:CiviliteNomPrenom +tabCol[2] = pclCT:m_clContact:LibRole +tabCol[3] = pclCT:m_clContact:m_sTelFixe +tabCol[4] = pclCT:m_clContact:m_sTelMobile +tabCol[5] = pclCT:m_sEtage +sTB+="" +pour i=1 à 5 +sTB+="" +fin +sTB +="
" +sTB+="

" + +TexteVersHTML( tabLibCol[i]) + "

" +//sTB+=" " +sTB+="

"+ tabCol[i] +"

" +fin +sTB+="
" +saRep = sTB +fin +cas mcSite_Contacts +si ptabJDyn.. Occurrence=0 alors +saRep="" +sinon +//Construction du tableau HTML des contacts +tabLibCol est un tableau de chaînes=["Contact","Rôle","Tél. 1","Tél. 2","Etage"] +sTB est une chaîne ANSI=[ +
+ + + +] +pour i=1 _à_ 5 +sTB+="" +fin +sTB+="" +tabCol est un tableau de 5 chaînes +pour tout pclCT de ptabJDyn +tabCol[1] = pclCT:m_clContact:CiviliteNomPrenom +tabCol[2] = pclCT:m_clContact:LibRole +06/08/2026 Isis_BO 6352 + +Partie 7 › Collection de procédures › LIB_ModelesEmails › Code +tabCol[3] = pclCT:m_clContact:m_sTelFixe +tabCol[4] = pclCT:m_clContact:m_sTelMobile +tabCol[5] = pclCT:m_sEtage +sTB+="" +pour i=1 à 5 +sTB+="" +fin +sTB +="
" +sTB+="

" + +TexteVersHTML( tabLibCol[i]) + "

" +//sTB+=" " +sTB+="

"+ tabCol[i] +"

" +fin +sTB+="
" +saRep = sTB +fin +cas mcRdv +si ptabJDyn.. Occurrence=0 alors +saRep="" +sinon +//Construction du tableau HTML des contacts +tabLibCol est un tableau de chaînes=["Rdv débuté le","Rdv fini le","Objet","Note"] +sTB est une chaîne ANSI=[ +
+ + + +] +pour i=1 _à_ 4 +si i=4 alors +sTB+="" +fin +sTB+="" +tabCol est un tableau de 4 chaînes +pour tout pclCT de ptabJDyn +tabCol[1] = DateVersChaîne(pclCT:m_dhDateDebut,"le JJ/MM/AA à HHhmm") +tabCol[2] = DateVersChaîne(pclCT:m_dhDateFin,"le JJ/MM/AA à HHhmm") +tabCol[3] = pclCT:m_sObjet +tabCol[4] = pclCT:m_sDescription +06/08/2026 Isis_BO 6353 + +Partie 7 › Collection de procédures › LIB_ModelesEmails › Code +sTB+="" +pour i=1 à 4 +si i=4 alors +sTB+="" +fin +sTB +="
" +sinon +sTB+="" +fin +sTB+="

" + +TexteVersHTML( tabLibCol[i]) + "

" +sinon +sTB+="" +fin +//sTB+=" " +sTB+="

"+ tabCol[i] +"

" +fin +sTB+="
" +saRep = sTB +fin +cas mcCR +si ptabJDyn.. Occurrence=0 alors +saRep="" +sinon +//Construction du tableau HTML des contacts +tabLibCol est un tableau de chaînes=["CR du","CR fini le","Note Collaborateur", +"Signataire","Remarque Signataire"] +sTB est une chaîne ANSI=[ +
+ + + +] +pour i=1 _à_ 5 +// SI i=4 ALORS +// sTB+="" +fin +sTB+="" +tabCol est un tableau de 12 chaînes +pour tout pclCT de ptabJDyn +tabCol[1] = DateVersChaîne(pclCT:m_dhDateHeureDebut,"le JJ/MM/AA") +//DateVersChaîne(pclCT:m_dhDateHeureDebut,"le JJ/MM/AA à HHhmm") +06/08/2026 Isis_BO 6354 + +Partie 7 › Collection de procédures › LIB_ModelesEmails › Code +tabCol[2] = DateVersChaîne(pclCT:m_dhDateHeureFin,"le JJ/MM/AA") +//DateVersChaîne(pclCT:m_dhDateHeureFin,"le JJ/MM/AA à HHhmm") +tabCol[3] = pclCT:m_sNoteCollaborateur +tabCol[4] = pclCT:m_sNomSignataire +tabCol[5] = pclCT:m_sNoteSignataire +tabCol[6] = gpclListeTypeSignataireCR:RechercheEtDonneLibelleDepuisID(pclCT: +m_nIDTypeSignataire) +tabCol[7] = pclCT:m_Signature +tabCol[8] = pclCT:m_SignatureTech +tabCol[9] = pclCT:m_sNomSignataireTech +tabCol[10] = pclCT:m_bDevisConforme ? "Oui" sinon "Non" +tabCol[11] = pclCT:m_bAvecReserve ? "Oui" sinon "Non" +tabCol[12] = pclCT:m_sReserveCommentaire +sTB+="" +pour i=1 à 5 +//SI i=4 ALORS +// sTB+="" +fin +sTB +="
" +// SINON +sTB+="" +//FIN +sTB+="

" + +TexteVersHTML( tabLibCol[i]) + "

" +//SINON +sTB+="" +//FIN +//sTB+=" " +sTB+="

"+ tabCol[i] +"

" +fin +sTB+="
" +saRep = sTB +fin +fin +renvoyer saRep +Procédure globale DonneValeursMotsCleEtRemplace +// Résumé : +// Syntaxe : +//[ = ] DonneValeursMotsCleEtRemplace ( est tableau, est objet dynamique, + est chaîne, est chaîne, est tableau) +// +// Paramètres : +// tbMC (tableau) : +// pclObjet (objet dynamique) : +// sObjet (chaîne ANSI) : +// sCorps (chaîne ANSI) : +// tabDonnees (tableau) : +// Valeur de retour : +// multi-valeur : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure DonneValeursMotsCleEtRemplace(tbMC est un tableau de ST_MotCle, pclObjet est un objet +dynamique,sObjet est une chaîne,sCorps est une chaîne,ptabDonnees est un tableau dynamique) +//Pour chaque mot clef présents, on recherche sa valeur +06/08/2026 Isis_BO 6355 + +Partie 7 › Collection de procédures › LIB_ModelesEmails › Code +DonneValeurTousMotsCles(tbMC,pclObjet,ptabDonnees) +//Puis on remplace +RemplaceMotsCles(tbMC,sCorps,sObjet) +renvoyer (sCorps,sObjet) +Procédure globale DonneValeurTousMotsCles +procédure DonneValeurTousMotsCles(tbMC est un tableau de ST_MotCle,odFI est un PFicheIntervention +dynamique,ptabDonnees est un tableau dynamique) +pour tout unMotCle de tbMC +si unMotCle.bPresent _et_ pas unMotCle.bTableau alors +unMotCle:saTexte = DonneValeurMotClef(unMotCle:saCodeValeur,odFI) +sinon si unMotCle.bPresent alors +selon unMotCle:saMotCle +cas "" : unMotCle:saTexte = DonneValeurMotClef(unMotCle: +saCodeValeur,odFI,FiltreDonneesMail(unMotCle,odFI:ListeContactClient,ptabDonnees)) +cas "" : unMotCle:saTexte = DonneValeurMotClef(unMotCle: +saCodeValeur,odFI,FiltreDonneesMail(unMotCle,odFI:listeContactLieu,ptabDonnees)) +cas "" : unMotCle:saTexte = DonneValeurMotClef(unMotCle: +saCodeValeur,odFI,FiltreDonneesMail(unMotCle,odFI:ListeCompteRendu,ptabDonnees)) +cas "" : unMotCle:saTexte = DonneValeurMotClef(unMotCle: +saCodeValeur,odFI,FiltreDonneesMail(unMotCle,odFI:listeRendezVous,ptabDonnees)) +autre cas +si ChaîneCommencePar(unMotCle:saMotCle," +// Syntaxe : +//[ = ] FiltreDonneesMail ( est ST_MotCle, est objet dynamique, + est tableau) +// +// Paramètres : +// stUnMotCle (ST_MotCle) : +// pclObjDyn (objet dynamique) : +// ptabDonnees (tableau) : +06/08/2026 Isis_BO 6356 + +Partie 7 › Collection de procédures › LIB_ModelesEmails › Code +// Valeur de retour : +// Type indéterminé : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +// pclObjDonnee (objet dynamique) : +procédure FiltreDonneesMail(stUnMotCle est un ST_MotCle, pclObjDyn est un objet dynamique,ptabDonnees +est un tableau dynamique) +pclObjSel est un objet dynamique +sCateg est une chaîne = ExtraitChaîne(stUnMotCle:saCodeValeur,1,".")+ExtraitChaîne(stUnMotCle: +saCodeValeur,2,".") +selon stUnMotCle:saMotCle +cas "" : pclObjSel = allouer MTableauDeIntervention_Personne +cas "" : pclObjSel = allouer MTableauDeIntervention_Personne +cas "" : pclObjSel = allouer MTableauDeCompteRendu +cas "" : pclObjSel = allouer MTableauDeRDV +//CAS "$TABPHOTO$" : pclObjSel = allouer MTableauDeDocument; sCateg = unTerme:Rubrique +autre cas +si ChaîneCommencePar(stUnMotCle:saMotCle,"0 alors +TableauAjoute(pclObjSel:m_clTabModele,pclObjDyn:m_clTabModele[nDonnee]) +fin +fin +fin +//FIN +renvoyer pclObjSel:m_clTabModele +Procédure globale HeureDecimaleVersHeure +procédure HeureDecimaleVersHeure( local nHrs est un numérique,saSep est une chaîne ANSI="h") +si nHrs=0 alors +renvoyer "0" + saSep +sinon si nHrs < 0 alors +renvoyer "0" + saSep + PartieDécimale(nHrs)/100*60 +sinon +renvoyer PartieEntière(nHrs) + saSep + PartieDécimale(nHrs)/100*60 +fin +Procédure globale RecupMotsCles +06/08/2026 Isis_BO 6357 + +Partie 7 › Collection de procédures › LIB_ModelesEmails › Code +// Résumé : +// Syntaxe : +//RecupMotsCles ( est tableau) +// +// Paramètres : +// tbMC (tableau) : +// Valeur de retour : +// Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure RecupMotsCles(tbMC est un tableau de ST_MotCle) +pour tout MotClef avec "MOC_Langue='FR'" +stMC est un ST_MotCle +stMC.saCodeValeur= MotClef.MOC_Code +stMC.saMotCleHTML= TexteVersHTML(MotClef.MOC_Mot,alphabetCourant) +stMC.saMotCle = MotClef.MOC_Mot +stMC.bTableau = ChaîneOccurrence(MotClef.MOC_Mot,".LISTE")=1 _ou_ ChaîneOccurrence(MotClef. +MOC_Mot,".UNIQUE")//Identifie le mot cléf d'un tableau +stMC.saGroupe = MotClef.MOC_Groupe +tbMC.Ajoute(stMC) +fin +Procédure globale RemplaceMotsCles +procédure RemplaceMotsCles(tbMC est un tableau de ST_MotCle,*) +pour i=1 _à_ tbMC..Occurrence +si tbMC[i].bPresent alors +pour j = 2 _à_ MesParamètres..Occurrence +MesParamètres[j] = Remplace(MesParamètres[j] ,j=2 ? tbMC[i]:saMotCleHTML sinon tbMC[i]: +saMotCle,tbMC[i]:saTexte,MotComplet+SansCasse) +fin +// gclPFMessage:m_sMessage =Remplace(gclPFMessage:m_sMessage +,tbMC[i]:saMotCleHTML,tbMC[i]:saTexte,MotComplet+SansCasse) +// gclPFMessage:m_sObjet=Remplace(gclPFMessage:m_sObjet +,tbMC[i]:saMotCle,tbMC[i]:saTexte,MotComplet+SansCasse) +fin +fin +Procédure globale VerifiePresenceMotsCles +procédure VerifiePresenceMotsCles(tbMC est un tableau de ST_MotCle,*) +sChaine est une chaîne +pour i=1 _à_ tbMC..Occurrence +pour j = 2 _à_ MesParamètres..Occurrence +sChaine = MesParamètres[j] +si (j=2 _et_ ChaîneOccurrence(MesParamètres[j], tbMC[i].saMotCleHTML ,MotComplet+SansCasse)>0) +_ou_ (j=3 _et_ ChaîneOccurrence(MesParamètres[j], tbMC[i].saMotCle ,MotComplet+SansCasse)>0) +alors +tbMC[i].bPresent=Vrai +fin +fin +// SI ChaîneOccurrence(gclPFMessage:m_sMessage, tbMC[i].saMotCleHTML ,MotComplet+SansCasse)>0 ALORS +// tbMC[i].bPresent=Vrai +// SINON SI ChaîneOccurrence(gclPFMessage:m_sObjet, tbMC[i].saMotCle ,MotComplet+SansCasse)>0 ALORS +// tbMC[i].bPresent=Vrai +// FIN +fin +06/08/2026 Isis_BO 6358 + +Partie 7 › Collection de procédures › COL_EXPORT › Code +COL_EXPORT +Code +Procédure globale ExportDataJSON +procédure ExportDataJSON() +sFichier est une chaîne +// Ouvre le sélecteur de fichiers +sFichier = fSélecteur("", "MotClef_ModèlesDeMail.json", "Nom du fichier", "JSON (*.json)" + TAB + "* +.json" + RC + "Tous les fichiers (*.*)" + TAB + "*.*", "*.json", fselCrée) +si sFichier="" alors retour +rq est une Requête SQL = +[ +SELECT MOC_Code, MOC_Lib,MOC_Mot,MOC_Langue FROM MotClef ORDER BY MOC_Code +] +HExécuteRequête(rq) +HExporteJSON(rq,sFichier,"") +LanceAppliAssociée(sFichier) +06/08/2026 Isis_BO 6359 + +Partie 7 › Collection de procédures › LIB_Synchro › Messages multilingues +LIB_Synchro +Messages multilingues +06/08/2026 Isis_BO 6360 +¹ +.ssem +°N +Message +1 FR: Attache les pièces jointes... +2 FR: Envoi du message... +3 FR: Le message n'a pas pu être envoyé. +4 FR: Le message a été correctement envoyé. +5 FR: Impossible de se connecter au serveur de mail. +¹ N° mess. : numéro de message. +LIB_Synchro +Code +Déclaration de LIB_Synchro +//Struture encapsulant tous les message envoyés via la fonction EnvoiTrame() +ST_MESSAGE est une Structure +sCMD est une chaîne ANSI +sDATA est une chaîne ANSI +fin +//Structure contenant la réponse à l'envoi d'un message +ST_REPONSE est une Structure +sErr est une chaîne ANSI +sMsg est une chaîne ANSI +sUUData est une chaîne ANSI +//Contient des données encodées avec UUEncode() pour éviter les erreurs de caractères accentués +dans les encapsulations de JSON +fin +ST_BG_VALIDE est une Structure +suDossier est une chaîne Unicode +saGuidBase est une chaîne ANSI +bForce est un booléen +bBGConnect est un booléen +stBGConnect est un ST_BG_CONNECT +fin +ST_BG_BASE est une Structure +saSociete est une chaîne ANSI +saGuidBGest une chaîne ANSI +fin +ST_BG_REQUETE est une Structure +suDossier est une chaîne Unicode + +Partie 7 › Collection de procédures › LIB_Synchro › Code +saSQL est une chaîne ANSI +bBGConnect est un booléen +stBGConnect est un ST_BG_CONNECT +fin +ST_SYS_CMD est une Structure +saCommande est une chaîne ANSI +saParam est une chaîne ANSI +fin +ST_BG_Adresse est une Structure +sAdd_Etiquette est une chaîne ANSI +sAdd_1 est une chaîne ANSI +sAdd_2 est une chaîne ANSI +sAdd_Ville est une chaîne ANSI +sAdd_CP est une chaîne ANSI +sAdd_Pays est une chaîne ANSI +fin +ST_BG_CONTACT est une Structure +sContactCivilite est une chaîne ANSI +sInterLocuteur est une chaîne ANSI +sTel est une chaîne ANSI +sFax est une chaîne ANSI +sPortable est une chaîne ANSI +sEmail est une chaîne ANSI +fin +ST_BG_CLIENT est une Structure +sCodeExterne est une chaîne ANSI +sCodeComptable est une chaîne ANSI +sApporteur est une chaîne ANSI +sOrigine est une chaîne ANSI +sNomClient est une chaîne ANSI +sStatut est une chaîne ANSI +sTypeClient est une chaîne ANSI +sCreateur est une chaîne ANSI +//sInterLocuteur est une chaîne ANSI +sContactCivilite est une chaîne ANSI +//06/10/22 ce qui suit n'est plus applicable :La civilité est déjà dans le nom du client pour un +particulier sinon aucune civilité +sFormeJuridique est une chaîne ANSI +sModeReglement est une chaîne ANSI +stAdresse est une ST_BG_Adresse +//sAdd_Libelle est une chaîne ANSI +stContactPrincipal est un ST_BG_CONTACT +// tbDoc est un tableau de ST_DOC_BG +suDossier est une chaîne Unicode +bBGConnect est un booléen +stBGConnect est un ST_BG_CONNECT +sCompteBloque est une chaîne ANSI +sPays est une chaîne ANSI +sCodeTVA est une chaîne ANSI +sSiren est une chaîne ANSI +sSiret est une chaîne ANSI +fin +ST_BG_CHANTIER est une Structure +stClient est un ST_BG_CLIENT +stDonneurOrdre est un ST_BG_CONTACT +stSite est un ST_BG_Adresse +sCodeChantier est une chaîne ANSI +sDescription est une chaîne ANSI +dDateDebut est une Date +sNumIntervention est une chaîne ANSI +suDossier est une chaîne Unicode +06/08/2026 Isis_BO 6361 + +Partie 7 › Collection de procédures › LIB_Synchro › Code +tbDoc est un tableau de ST_DOC_BG +bBGConnect est un booléen +stBGConnect est un ST_BG_CONNECT +fin +ST_BG_DEVIS est une Structure +stClient est un ST_BG_CLIENT +stDonneurOrdre est un ST_BG_CONTACT +stContactSite est un ST_BG_CONTACT +stSite est un ST_BG_Adresse +sNumDevis est une chaîne ANSI +sNumIntervention est une chaîne ANSI +sRefExterneIntervest une chaîne ANSI +sDescription est une chaîne ANSI +sRepresentant est une chaîne ANSI +dDateDebut est une Date +suDossier est une chaîne Unicode +bBGConnect est un booléen +stBGConnect est un ST_BG_CONNECT +fin +ST_DOC_BG est une Structure +suChemin est une chaîne Unicode +nTaille est un entier +sCreation est une chaîne ANSI +sModif est une chaîne ANSI +fin +ST_BG_CONNECT est une Structure +sBGCServeur est une chaîne +sBGCBdd est une chaîne +sBGCUser est une chaîne +sBGCMdP est une chaîne +fin +constant +cSBG_Err_ConnecteurNonParamétré = "Le Connecteur BATIGEST n'a pas été paramétré" +cSBG_Err_ParametreIncorrecte = "Paramètrage incorrecte du connecteur" +cSBF_Err_ProblemDansFicheClient = "Problème rencontré lors de l'enregistrement de la fiche Client" +cSBF_Err_ProblemMAJFicheClient = "Problème rencontré lors de la mise à jour de la fiche Client" +fin +Procédure globale ChaineAccess +procédure ChaineAccess(sTexte est une chaîne,n est un entier) +si n>0 alors +renvoyer "'" + Gauche(SansEspace(Remplace(sTexte,"'","''"),sscExtérieur),n) + "'" +sinon +renvoyer "'" +SansEspace(Remplace(sTexte,"'","''"),sscExtérieur) + "'" +fin +Procédure globale ExporteClientDansBatigest +// Résumé : +// Syntaxe : +//[ = ] ExporteClientDansBatigest ( est PFicheClient dynamique, est +PFicheBddExterne dynamique) +// +// Paramètres : +// odPFClient (PFicheClient dynamique) : +// pclBaseBG (PFicheBddExterne dynamique) : +06/08/2026 Isis_BO 6362 + +Partie 7 › Collection de procédures › LIB_Synchro › Code +// Valeur de retour : +// multi-valeur : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ExporteClientDansBatigest(odPFClient est un PFicheClient dynamique,pclBaseBG est un +PFicheBddExterne dynamique) +bOK est un booléen +saReponse est une chaîne ANSI +sInfo est une chaîne +sLibelleClient est une chaîne ANSI = "" +pour tout pclParam de gpclListeTypeClient:m_clTabModele +si pclParam:m_nPKID = odPFClient:m_nIDType alors +sLibelleClient = pclParam:m_sLibelle +fin +fin +//Lecture du paramètrage du connecteur, stocké au format JSON dans la table de paramètres Système +//Il s'agit d'un tableau avec 1 seul élément, mais qui pourra en avoir plusieurs plus tard. +clConnecteur est un C_ConnecteurBatigest +//Lit l'adresse et le port du service dans les paramètres System +clConnecteur:LitParametresSocket() +//Préparation des données pour l'export vers BATIGEST +stClient est un ST_BG_CLIENT +stClient.sNomClient = SupprimerRC(odPFClient:m_sNom) +stClient.sCodeExterne = SupprimerRC(odPFClient:m_sCodeClient) +sValTypeClient est une chaîne = gpclListeTypeClient.RechercheEtDonneValeurDepuisId(odPFClient: +m_nIDType) +stClient.sStatut = sValTypeClient="1" ? "E" sinon sValTypeClient="2" ? "P" sinon "A" +stClient.sTypeClient = SupprimerRC(sLibelleClient) +stClient.sCodeComptable = SupprimerRC(odPFClient:m_sCodeComptable) +sApporteur est une chaîne = gpclListeApporteurClient.RechercheEtDonneLibelleDepuisID(odPFClient: +m_nIDApporteur) +stClient.sApporteur = SupprimerRC(sApporteur) +sOrigine est une chaîne = gpclListeOrigineClient.RechercheEtDonneLibelleDepuisID(odPFClient: +m_nIDOrigine) +stClient.sOrigine = SupprimerRC(sOrigine) +stClient.sCreateur = odPFClient:UserCreation//odPFClient:m_sCreationUser +sModeRglt est une chaîne = gpclListeModeReglementCli.RechercheEtDonneValeurDepuisId(odPFClient: +m_nIDModeReglement) +stClient.sModeReglement = SupprimerRC(sModeRglt) +stClient.sPays = SupprimerRC(odPFClient.m_sPays) +stClient.sCodeTVA = SupprimerRC(odPFClient.m_sCodeTVA) +stClient.sSiren = SupprimerRC(odPFClient.m_sSIREN) +stClient.sSiret = SupprimerRC(odPFClient.m_sSIRET) +//Recherche du contact principal du client l'ancien ID +nIndice est un entier = TableauCherche(odPFClient:ListeContact:m_clTabModele,tcLinéaire,"m_nPKID", +odPFClient:m_nIDContactPrincipal,1) +si nIndice>0 alors +stClient.stContactPrincipal:sContactCivilite= SupprimerRC(gpclListeCivilite. +RechercheEtDonneLibelleDepuisID(odPFClient:ListeContact:m_clTabModele[nIndice]:m_nIDCivilite)) +stClient.stContactPrincipal:sInterLocuteur = SupprimerRC(odPFClient:ListeContact:m_clTabModele[ +nIndice]:NomPrenom)//CiviliteNomPrenom +stClient.stContactPrincipal.sTel = SupprimerRC(odPFClient:ListeContact:m_clTabModele[ +nIndice]:m_sTelFixe) +06/08/2026 Isis_BO 6363 + +Partie 7 › Collection de procédures › LIB_Synchro › Code +stClient.stContactPrincipal.sFax = SupprimerRC(odPFClient:ListeContact:m_clTabModele[ +nIndice]:m_sFax) +stClient.stContactPrincipal.sPortable = SupprimerRC(odPFClient:ListeContact:m_clTabModele[ +nIndice]:m_sTelMobile) +stClient.stContactPrincipal.sEmail = SupprimerRC(odPFClient:ListeContact:m_clTabModele[ +nIndice]:m_sEmail) +sinon +stClient.stContactPrincipal.sTel = SupprimerRC(odPFClient:m_sTel) +stClient.stContactPrincipal.sFax = SupprimerRC(odPFClient:m_sFax) +stClient.stContactPrincipal.sEmail = SupprimerRC(odPFClient:m_sEmail) +fin +stClient.sContactCivilite = stClient.sStatut="P" ? stClient.stContactPrincipal: +sContactCivilite sinon odPFClient:m_sFormeJuridique +si odPFClient:ListeAdresse<>Null _et_ odPFClient:ListeAdresse:p_nTotal>0 alors +sPresentationAdresse est une chaîne = odPFClient:ListeAdresse:m_clTabModele[1]:m_clAdresse: +m_sPresentation +sAdresseSansCPVille est une chaîne = Droite(ExtraitChaîne(sPresentationAdresse,1,odPFClient +:ListeAdresse:m_clTabModele[1]:m_clAdresse:m_sCodePostal),100) +stClient.stAdresse:sAdd_Etiquette = SupprimerRC(odPFClient:ListeAdresse:m_clTabModele[1]: +m_clAdresse:m_sEtiquette) +stClient.stAdresse:sAdd_1 = SupprimerRC(Gauche(sAdresseSansCPVille,50)) +stClient.stAdresse:sAdd_2 = " " +//stClient.stAdresse:sAdd_2 = SupprimerRC(Milieu(sAdresseSansCPVille,51,50)) +stClient.stAdresse:sAdd_CP = SupprimerRC(odPFClient:ListeAdresse:m_clTabModele[1]: +m_clAdresse:m_sCodePostal) +stClient.stAdresse:sAdd_Ville = SupprimerRC(odPFClient:ListeAdresse:m_clTabModele[1]: +m_clAdresse:m_sVille) +fin +//Créé un objet BaseBatigest avec les paramètres JSON lu dans Base_Ext +clConnecteurBddBG est C_ConnecteurBddBatigest +//Initialisation des paramètres de connexion +si pas clConnecteurBddBG:InitParam(pclBaseBG:m_sParam) alors//gclBaseExterne:m_sParam +renvoyer (Faux,cSBG_Err_ParametreIncorrecte) +fin +//Connexion au Service de communication Batigest +(bOK,saReponse)=clConnecteur:ConnectAuService() +si pas bOK alors +si stClient.bBGConnect alors +clConnecteur:FermeConnexion(stClient.bBGConnect,stClient.stBGConnect) +renvoyer (Faux,saReponse) +sinon +clConnecteur:FermeConnexion() +renvoyer (Faux,saReponse) +fin +fin +si gpclListeParamAppli:m_clTabModele[cParam_Connect]..Existe _et_ gpclListeParamAppli:m_clTabModele[ +cParam_Connect]:m_sValeur="1" alors +stClient.bBGConnect = Vrai +stClient.stBGConnect.sBGCServeur = clConnecteurBddBG:sBG_Connect_Serveur +stClient.stBGConnect.sBGCBdd = clConnecteurBddBG:suBG_Dossier +stClient.stBGConnect.sBGCUser = clConnecteurBddBG:sBG_Connect_Utilisateur +stClient.stBGConnect.sBGCMdP = clConnecteurBddBG:sBG_Connect_MotDePasse +fin +si pas stClient.bBGConnect alors +stClient:suDossier = clConnecteurBddBG:suBG_Dossier +06/08/2026 Isis_BO 6364 + +Partie 7 › Collection de procédures › LIB_Synchro › Code +fin +(bOK,saReponse) = clConnecteur:ExporteClient(stClient) +si pas bOK alors renvoyer (Faux,cSBF_Err_ProblemDansFicheClient) +//Si le Client n'a pas de CodeExterne, c'est donc qu'il n'a pas déjà été exporté dans Batigest +//On l'exporte afin de récupérer son code +bContinuer est un booléen = Faux +si odPFClient:m_nPKID>0 _et_ odPFClient:FicheClientBddExterne=Null alors +clValeur est PFicheClient_BddExterne dynamique +clModele est un MClient_BddExterne dynamique +clModele = allouer un MClient_BddExterne +clValeur = allouer un PFicheClient_BddExterne(clModele) +odPFClient:FicheClientBddExterne = clValeur +bContinuer = Vrai +fin +si odPFClient:m_nPKID>0 _et_ odPFClient:FicheClientBddExterne<>Null _et_ odPFClient: +FicheClientBddExterne:m_sIDExterne="" alors +bContinuer = Vrai +fin +si bContinuer alors +odPFClient:FicheClientBddExterne:m_nIDCLient = odPFClient:m_npkid +odPFClient:FicheClientBddExterne:m_sIDExterne = saReponse +odPFClient:FicheClientBddExterne:m_nIDBddExterne= pclBaseBG:m_nPKID +clErreur est un CErreur +si odPFClient:FicheClientBddExterne:bOK(clErreur) +stClient.sCodeExterne= saReponse +sInfo = " Le Client n° " + saReponse + " à été créé." +fin +fin +//SI stClient.bBGConnect ALORS +// +// clConnecteur:FermeConnexion(stClient.bBGConnect,stClient.stBGConnect) +// +//SINON +clConnecteur:FermeConnexion() +// +// FIN +si pas bOK alors +renvoyer (Faux,saReponse) +fin +renvoyer (Vrai,sInfo) +Procédure globale ExporteInterventionDansBatigest +procédure ExporteInterventionDansBatigest(odPFIntervention est un PFicheIntervention dynamique) +bOK est un booléen +saReponse est une chaîne ANSI +//Lecture du paramètrage du connecteur, stocké au format JSON dans la table de paramètres Système +06/08/2026 Isis_BO 6365 + +Partie 7 › Collection de procédures › LIB_Synchro › Code +//Il s'agit d'un tableau avec 1 seul élément, mais qui pourra en avoir plusieurs plus tard. +clConnecteur est un C_ConnecteurBatigest +//Lit l'adresse et le port du service dans les paramètres System +clConnecteur:LitParametresSocket() +si gtaBaseExterneParNom..Occurrence>0 alors +//gclBaseExterne=Null _ou_ PAS gclBaseExterne:m_nPKID>0 ALORS +renvoyer (Faux,cSBG_Err_ConnecteurNonParamétré) +fin +//Créé un objet BaseBatigest avec les paramètres JSON lu dans Base_Ext +clConnecteurBddBG est C_ConnecteurBddBatigest +si pas clConnecteurBddBG:InitParam(gtaBaseExterneParSoc[odPFIntervention:m_nIDSociete]:m_sParam) alors +//gclBaseExterne:m_sParam +renvoyer (Faux,cSBG_Err_ParametreIncorrecte) +fin +(bOK,saReponse)=clConnecteur:ConnectAuService() +si pas bOK alors +clConnecteur:FermeConnexion() +renvoyer (Faux,saReponse) +fin +//Préparation des données pour l'export vers BATIGEST +//Information sur le client +stChantier est un ST_BG_CHANTIER +pclContact est un MIntervention_Personne dynamique +stChantier.stClient.sNomClient = odPFIntervention:FicheClient:m_sNom +sValTypeClient est une chaîne = gpclListeTypeClient.RechercheEtDonneValeurDepuisId(odPFIntervention +:FicheClient:m_nIDType) +stChantier.stClient.sStatut = sValTypeClient="1" ? "E" sinon "P" +stChantier.stClient.sCodeComptable= odPFIntervention:FicheClient:m_sCodeComptable +sApporteur est une chaîne = gpclListeApporteurClient.RechercheEtDonneLibelleDepuisID( +odPFIntervention:FicheClient:m_nIDApporteur) +stChantier.stClient.sApporteur = sApporteur +sOrigine est une chaîne = gpclListeOrigineClient.RechercheEtDonneLibelleDepuisID(odPFIntervention +:FicheClient:m_nIDOrigine) +stChantier.stClient.sOrigine = sOrigine +stChantier.stClient.sCreateur = odPFIntervention:FicheClient:UserCreation +//odPFIntervention:FicheClient:m_sCreationUser +//nIndicePAP est un entier = +TableauCherche(gpclListeParamAppli:m_clTabModele,tcLinéaire,"m_sCode",cParam_Connect,1) +si gpclListeParamAppli:m_clTabModele[cParam_Connect]..Existe _et_ gpclListeParamAppli:m_clTabModele[ +cParam_Connect]:m_sValeur="1" alors +stChantier.bBGConnect = Vrai +//SI gpclListeParamAppli:m_clTabModele[cParam_Connect_Srv]..Existe ALORS +stChantier.stBGConnect.sBGCServeur += gpclListeParamAppli:m_clTabModele[cParam_Connect_Srv]:m_sValeur +//SI gpclListeParamAppli:m_clTabModele[cParam_Connect_Bdd]..Existe ALORS +stChantier.stBGConnect.sBGCBdd += gpclListeParamAppli:m_clTabModele[cParam_Connect_BDD]:m_sValeur +//SI gpclListeParamAppli:m_clTabModele[cParam_Connect_User]..Existe ALORS +stChantier.stBGConnect.sBGCUser += gpclListeParamAppli:m_clTabModele[cParam_Connect_User]:m_sValeur +//SI gpclListeParamAppli:m_clTabModele[cParam_Connect_Srv]..Existe ALORS +stChantier.stBGConnect.sBGCMdP += gpclListeParamAppli:m_clTabModele[cParam_Connect_Mdp]:m_sValeur +06/08/2026 Isis_BO 6366 + +Partie 7 › Collection de procédures › LIB_Synchro › Code +//stChantier.stClient.bBGConnect = Vrai +stChantier.stClient.stBGConnect = stChantier.stBGConnect +fin +//Recherche du contact principal du client l'ancien ID +nIndice est un entier = TableauCherche(odPFIntervention:FicheClient:ListeContact:m_clTabModele, +tcLinéaire,"m_nPKID",odPFIntervention:FicheClient:m_nIDContactPrincipal,1) +si nIndice>0 alors +stChantier.stClient.stContactPrincipal:sContactCivilite= gpclListeCivilite. +RechercheEtDonneLibelleDepuisID(odPFIntervention:FicheClient:ListeContact:m_clTabModele[nIndice]: +m_nIDCivilite) +stChantier.stClient.stContactPrincipal:sInterLocuteur = odPFIntervention:FicheClient:ListeContact +:m_clTabModele[nIndice]:CiviliteNomPrenom +stChantier.stClient.stContactPrincipal.sTel = odPFIntervention:FicheClient:ListeContact +:m_clTabModele[nIndice]:m_sTelFixe +stChantier.stClient.stContactPrincipal.sFax = odPFIntervention:FicheClient:ListeContact +:m_clTabModele[nIndice]:m_sFax +stChantier.stClient.stContactPrincipal.sPortable = odPFIntervention:FicheClient:ListeContact +:m_clTabModele[nIndice]:m_sTelMobile +stChantier.stClient.stContactPrincipal.sEmail = odPFIntervention:FicheClient:ListeContact +:m_clTabModele[nIndice]:m_sEmail +sinon +//stChantier.stClient.stContactPrincipal:sInterLocuteur = +stChantier.stClient.stContactPrincipal.sTel = odPFIntervention:FicheClient:m_sTel +stChantier.stClient.stContactPrincipal.sFax = odPFIntervention:FicheClient:m_sFax +stChantier.stClient.stContactPrincipal.sEmail = odPFIntervention:FicheClient:m_sEmail +fin +si odPFIntervention:FicheClient:ListeAdresse<>Null _et_ odPFIntervention:FicheClient:ListeAdresse: +p_nTotal>0 alors +sPresentationAdresse est une chaîne = odPFIntervention:FicheClient: +ListeAdresse:m_clTabModele[1]:m_clAdresse:m_sPresentation +sAdresseSansCPVille est une chaîne = Droite(ExtraitChaîne(sPresentationAdresse +,1,odPFIntervention:FicheClient:ListeAdresse:m_clTabModele[1]:m_clAdresse:m_sCodePostal),100) +stChantier.stClient.stAdresse:sAdd_Etiquette = odPFIntervention:FicheClient:ListeAdresse +:m_clTabModele[1]:m_clAdresse:m_sEtiquette +stChantier.stClient.stAdresse:sAdd_1 = Gauche(sAdresseSansCPVille,50) +stChantier.stClient.stAdresse:sAdd_2 = Milieu(sAdresseSansCPVille,51,50) +stChantier.stClient.stAdresse:sAdd_CP = odPFIntervention:FicheClient:ListeAdresse +:m_clTabModele[1]:m_clAdresse:m_sCodePostal +stChantier.stClient.stAdresse:sAdd_Ville = odPFIntervention:FicheClient:ListeAdresse +:m_clTabModele[1]:m_clAdresse:m_sVille +fin +si odPFIntervention:ListeContactClient:p_nTotal>0 alors +pclContact <- odPFIntervention:ListeContactClient:m_clTabModele[1] +// par défaut c'est le premier contact sauf si l'on trouve un demandeur +si pas pclContact:m_bEstDemandeur alors +pour i=2 _à_ odPFIntervention:ListeContactClient:p_nTotal +si odPFIntervention:ListeContactClient:m_clTabModele[i]:m_bEstDemandeur alors +pclContact <- odPFIntervention:ListeContactClient:m_clTabModele[i] +sortir +fin +fin +fin +fin +si pclContact<>Null alors +stChantier.stDonneurOrdre.sInterLocuteur = pclContact:m_clContact:CiviliteNomPrenom +stChantier.stDonneurOrdre.sTel = pclContact:m_clContact:m_sTelFixe +stChantier.stDonneurOrdre.sFax = pclContact:m_clContact:m_sFax +stChantier.stDonneurOrdre.sPortable = pclContact:m_clContact:m_sTelMobile +stChantier.stDonneurOrdre.sEmail = pclContact:m_clContact:m_sEmail +fin +//***************************************************************************************************** +**************************** +06/08/2026 Isis_BO 6367 + +Partie 7 › Collection de procédures › LIB_Synchro › Code +//****************************En commentaire car il faut créer un client à partir du nom du client et +non pas à partir d'un contact +//***************************************************************************************************** +**************************** +//SI odPFIntervention:ListeContactClient:p_nTotal>0 ALORS +// +pclContact <- odPFIntervention:ListeContactClient:m_clTabModele[1] // par défaut c'est le premier +contact sauf si l'on trouve un demandeur +// SI PAS pclContact:m_bEstDemandeur ALORS +// POUR i=2 _A_ odPFIntervention:ListeContactClient:p_nTotal +// SI odPFIntervention:ListeContactClient:m_clTabModele[i]:m_bEstDemandeur ALORS +// pclContact <- odPFIntervention:ListeContactClient:m_clTabModele[i] +// FIN +// FIN +// FIN +//FIN +//SI pclContact<>Null ALORS +// stChantier.stClient.sInterLocuteur = pclContact:m_clContact:NomPrenom +// stChantier.stClient.sContactNom = pclContact:m_clContact:NomPrenom +// stChantier.stClient.sContactCivilite += gpclListeCivilite:RechercheEtDonneLibelleDepuisID( pclContact:m_clContact:m_nIDCivilite) +// stChantier.stClient.sContact_Tel = pclContact:m_clContact:m_sTelFixe +// stChantier.stClient.sContact_Fax = pclContact:m_clContact:m_sFax +// stChantier.stClient.sContact_Portable = pclContact:m_clContact:m_sTelMobile +// stChantier.stClient.sContact_Email = pclContact:m_clContact:m_sEmail +//SINON +// //Création d'un pseudo contact si on n'a rien trouvé dans la fiche client +// stChantier.stClient.sContactNom = odPFIntervention:FicheClient:m_sNom +// stChantier.stClient.sContactCivilite = "" +// stChantier.stClient.sInterLocuteur = odPFIntervention:FicheClient:m_sNom +//FIN +//L'adresse est celle du lieu de l'intervention +stChantier.stsite.sAdd_1 = odPFIntervention:FicheLieu:m_clAdresse:m_sLigne_4 +// !!!!! On va dire que j'insiste, mais c'est bizarre quand même ! +stChantier.stSite.sAdd_2 = odPFIntervention:FicheLieu:m_clAdresse:m_sLigne_5 +stChantier.stSite.sAdd_CP = odPFIntervention:FicheLieu:m_clAdresse:m_sCodePostal +stChantier.stSite.sAdd_Ville = odPFIntervention:FicheLieu:m_clAdresse:m_sVille +stChantier.stSite.sAdd_Etiquette = odPFIntervention:FicheLieu:m_sCodeLieu +stChantier.stClient.sCodeExterne = odPFIntervention:FicheClient:FicheClientBddExterne: +m_sIDExterne//odPFIntervention:FicheClient:sCodeExterne +stChantier.stClient.sCodeComptable = odPFIntervention:FicheClient:m_sCodeComptable +//Si le Client n'a pas de CodeExterne, c'est donc qu'il n'a pas déjà été exporté dans Batigest +//On l'exporte afin de récupérer son code +si pas stChantier.stClient.bBGConnect alors +stChantier.stClient:suDossier = clConnecteurBddBG:suBG_Dossier +fin +sInfo est une chaîne +si odPFIntervention:FicheClient:FicheClientBddExterne=Null _ou_ odPFIntervention:FicheClient: +FicheClientBddExterne:m_sIDExterne="" alors//odPFIntervention:FicheClient:sCodeExterne="" ALORS +(bOK,saReponse) = clConnecteur:ExporteClient(stChantier.stClient) +si pas bOK alors +clConnecteur:FermeConnexion() +renvoyer (Faux,cSBF_Err_ProblemDansFicheClient) +fin +odPFIntervention:FicheClient:FicheClientBddExterne:m_sIDExterne = saReponse +//odPFIntervention:FicheClient:sCodeExterne=saRep +//odPFIntervention:FicheClient:CodesExternes_Enregistre() +06/08/2026 Isis_BO 6368 + +Partie 7 › Collection de procédures › LIB_Synchro › Code +clErreur est un CErreur +si odPFIntervention:FicheClient:FicheClientBddExterne:bok(clErreur) +stChantier.stClient.sCodeExterne = saReponse +sInfo = " Le Client n° " + saReponse + " à été créé." +fin +fin +//Information sur le chantier +stChantier.sCodeChantier = odPFIntervention:FicheIntervBddExt:m_sIDExterne +//odPFIntervention:sCodeExterne +stChantier.sDescription = RTFVersTexte(odPFIntervention:m_sDescription) +stChantier.dDateDebut = odPFIntervention:m_dDateIntervention +stChantier.sNumIntervention = odPFIntervention:m_sRefInterne +si pas stChantier.bBGConnect alors +stChantier.suDossier = clConnecteurBddBG:suBG_Dossier +fin +//Liste des documents associés au chantier +sDetails est une chaîne +si odPFIntervention:ListeDocument <> Null _et_ odPFIntervention:ListeDocument:p_nTotal>0 alors +pour tout oDoc de odPFIntervention:ListeDocument:m_clTabModele +stFic est un ST_DOC_BG +stFic.suChemin = oDoc:m_sCheminFichier +sDetails=fListeFichier(stFic.suChemin,frInformationComplète) +si sDetails<>"" alors +stFic.nTaille = Val(ExtraitChaîne( sDetails,2,TAB)) +stFic.sModif = oDoc:m_dhCreationDate//ExtraitChaîne( sDetails,3,TAB) +stFic.sCreation = oDoc:m_dhModifDate//fDate(stFic.suChemin,"",fCréation) +stChantier.tbDoc.Ajoute(stFic) +fin +fin +fin +(bOK,saReponse) = clConnecteur:ExporteIntervention(stChantier) +clConnecteur:FermeConnexion() +si pas bOK alors +si pas bOK alors +renvoyer (Faux,saReponse) +// Erreur("Problème rencontré lors de la création du Dossier dans Batigest",saRep) +fin +fin +odPFIntervention:FicheIntervBddExt:m_sIDExterne = saReponse +//odPFIntervention:sCodeExterne = saRep +clErr est un CErreur +si pas odPFIntervention:FicheIntervBddExt:bOK(clErr) alors +Erreur(clErr:FormateMessage()) +fin +sInfo += [RC] + " Le dossier n° " + saReponse + " à été créé." +renvoyer (Vrai,sInfo) +// +////Connexion à la base BATIGEST +//oBase est un C_ConnexionBaseBatigest +// +//SI PAS oBase:InitParam(gclBaseExterne:m_sParam) ALORS +// Erreur("Paramètrage incorrecte du connecteur","Opération abandonnée") +// RETOUR +06/08/2026 Isis_BO 6369 + +Partie 7 › Collection de procédures › LIB_Synchro › Code +//FIN +// +//SI PAS oBase:OuvreBaseAccess() ALORS +// Erreur(oBase:sMsgRetour) +// RETOUR +//FIN +////Préparation des données pour l'export vers BATIGEST +// +////Information sur le client +//stClient est un ST_BG_CLIENT +// +//pclContact est un MIntervention_Personne dynamique +// +//SI odPFIntervention:ListeContactClient:p_nTotal>0 ALORS +// +pclContact <- odPFIntervention:ListeContactClient:m_clTabModele[1] // par défaut c'est le premier +contact sauf si l'on trouve un demandeur +// SI PAS pclContact:m_bEstDemandeur ALORS +// POUR i=2 _A_ odPFIntervention:ListeContactClient:p_nTotal +// SI odPFIntervention:ListeContactClient:m_clTabModele[i]:m_bEstDemandeur ALORS +// pclContact <- odPFIntervention:ListeContactClient:m_clTabModele[i] +// FIN +// FIN +// FIN +//FIN +//SI pclContact<>Null ALORS +// stClient.sInterLocuteur = pclContact:m_clContact:NomPrenom +// stClient.sContactNom = pclContact:m_clContact:NomPrenom +// stClient.sContactCivilite += gpclListeCivilite:RechercheEtDonneLibelleDepuisID( pclContact:m_clContact:m_nIDCivilite) +// stClient.sContact_Tel = pclContact:m_clContact:m_sTelFixe +// stClient.sContact_Fax = pclContact:m_clContact:m_sFax +// stClient.sContact_Portable = pclContact:m_clContact:m_sTelMobile +// stClient.sContact_Email = pclContact:m_clContact:m_sEmail +//SINON +// //Création d'un pseudo contact si on n'a rien trouvé dans la fiche client +// stClient.sContactNom = odPFIntervention:FicheClient:m_sNom +// stClient.sContactCivilite = "" +// stClient.sInterLocuteur = odPFIntervention:FicheClient:m_sNom +//FIN +////L'adresse est celle du lieu de l'intervention +//stClient.sAdd_1 +=odPFIntervention:FicheLieu:m_clAdresse:m_sLigne_4 // !!!!! On va dire que j'insiste, mais c'est +bizarre quand même ! +//stClient.sAdd_2 =odPFIntervention:FicheLieu:m_clAdresse:m_sLigne_5 +//stClient.sAdd_CP =odPFIntervention:FicheLieu:m_clAdresse:m_sCodePostal +//stClient.sAdd_Ville =odPFIntervention:FicheLieu:m_clAdresse:m_sVille +//stClient.sAdd_Libelle =odPFIntervention:FicheLieu:m_sCodeLieu +//stClient.sCodeExterne +=odPFIntervention:FicheClient:m_clClientBddExterne:m_sIDExterne//odPFIntervention:FicheClient:sCodeExte +rne +//stClient.sCodeComptable =odPFIntervention:FicheClient:m_sCodeComptable +// +////Information sur le chantier +//stChantier est un ST_BG_CHANTIER +// +//stChantier.sCodeChantier = odPFIntervention:m_sCodeBddExterne +//stChantier.sDescription = RTFVersTexte(odPFIntervention:m_sDescription) +//stChantier.dDateDebut = odPFIntervention:m_dDateIntervention +//stChantier.sNumIntervention = odPFIntervention:m_sRefInterne +// +// +////Copie vers BATIGEST +06/08/2026 Isis_BO 6370 + +Partie 7 › Collection de procédures › LIB_Synchro › Code +//sInfo est une chaîne ANSI +// +//SI stClient.sCodeExterne="" ALORS +// SI PAS oBase:CreationClient(stClient) ALORS +// Erreur(oBase:sMsgRetour) +// RETOUR +// SINON +// //Enregistrement du code client dans la fiche client +// odPFIntervention:FicheClient:FicheClientBddExterne:m_sIDExterne = stClient.sCodeExterne +// clErreur est un cerreur +// SI odPFIntervention:FicheClient:FicheClientBddExterne:bok(clErreur) +// //odPFIntervention:FicheClient:EnregistreCodeExterne() +// sInfo = "Le Client n° " + stClient.sCodeExterne + " à été créé." +// FIN +// FIN +//FIN +// +//SI stChantier.sCodeChantier="" ALORS +// SI PAS oBase:CreationChantier(stClient,stChantier) ALORS +// Erreur(oBase:sMsgRetour) +// RETOUR +// SINON +// odPFIntervention:m_sCodeBddExterne = stChantier.sCodeChantier +// clErr est un CErreur +// SI PAS odPFIntervention:bOK(clErr) ALORS +// Erreur(clErr:FormateMessage()) +// FIN +// +// +// sInfo = "Le dossier n° " + stChantier.sCodeChantier + " à été créé." +// FIN +//FIN +// +// +//oBase:FermeConnexion() +Procédure globale ExporteInterventionEnDevisDansBatigest +// Résumé : +// Syntaxe : +//[ = ] ExporteInterventionEnDevisDansBatigest ( est PFicheIntervention +dynamique) +// +// Paramètres : +// odPFIntervention (PFicheIntervention dynamique) : +// Valeur de retour : +// multi-valeur : // Aucune +// +// Exemple : +// Indiquez ici un exemple d'utilisation. +// +procédure ExporteInterventionEnDevisDansBatigest(odPFIntervention est un PFicheIntervention dynamique) +bOK est un booléen +saReponse est une chaîne ANSI +sInfo est une chaîne +//Lecture du paramètrage du connecteur, stocké au format JSON dans la table de paramètres Système +//Il s'agit d'un tableau avec 1 seul élément, mais qui pourra en avoir plusieurs plus tard. +clConnecteur est un C_ConnecteurBatigest +//Lit l'adresse et le port du service dans les paramètres System +clConnecteur:LitParametresSocket() +si pas gtaBaseExterneParSoc[odPFIntervention:m_nIDSociete]..Existe alors +//gtaBaseExterneParNom..Occurrence>0 ALORS//gclBaseExterne=Null _ou_ PAS gclBaseExterne:m_nPKID>0 ALORS +06/08/2026 Isis_BO 6371 + +Partie 7 › Collection de procédures › LIB_Synchro › Code +renvoyer (Faux,cSBG_Err_ConnecteurNonParamétré) +fin +(bOK,saReponse)=clConnecteur:ConnectAuService() +si pas bOK alors +clConnecteur:FermeConnexion() +renvoyer (Faux,saReponse) +fin +//Le client n'a pas été crée sur Batigest +si odPFIntervention:FicheClient:FicheClientBddExterne<>Null _et_ odPFIntervention:FicheClient: +FicheClientBddExterne:m_sIDExterne="" alors +saRep est une chaîne ANSI +//Création du client sur tous les dossiers Batigest +pour tout pclBaseBG de gtaBaseExterneParNom +(bOK,saRep) = ExporteClientDansBatigest(odPFIntervention:FicheClient,pclBaseBG) +fin +fin +//Le client a bien été cré +si odPFIntervention:FicheClient:FicheClientBddExterne:m_sIDExterne<>"" alors +(bOK,saReponse)=clConnecteur:ConnectAuService() +si pas bOK alors +clConnecteur:FermeConnexion() +renvoyer (Faux,saReponse) +fin +//Créé un objet BaseBatigest avec les paramètres JSON lu dans Base_Ext +clConnecteurBddBG est C_ConnecteurBddBatigest +si pas clConnecteurBddBG:InitParam(gtaBaseExterneParSoc[odPFIntervention:m_nIDSociete]:m_sParam) +alors//gclBaseExterne:m_sParam +renvoyer (Faux,cSBG_Err_ParametreIncorrecte) +fin +//Information sur le devis +stDevis est un ST_BG_DEVIS +si gpclListeParamAppli:m_clTabModele[cParam_Connect]..Existe _et_ gpclListeParamAppli: +m_clTabModele[cParam_Connect]:m_sValeur="1" alors +stDevis.bBGConnect = Vrai +stDevis.stBGConnect.sBGCServeur = clConnecteurBddBG.sBG_Connect_Serveur +stDevis.stBGConnect.sBGCBdd = clConnecteurBddBG.suBG_Dossier +stDevis.stBGConnect.sBGCUser = clConnecteurBddBG.sBG_Connect_Utilisateur +stDevis.stBGConnect.sBGCMdP = clConnecteurBddBG.sBG_Connect_MotDePasse +//SI gpclListeParamAppli:m_clTabModele[cParam_Connect_Srv]..Existe ALORS +stDevis.stBGConnect.sBGCServeur += gpclListeParamAppli:m_clTabModele[cParam_Connect_Srv]:m_sValeur +//SI gpclListeParamAppli:m_clTabModele[cParam_Connect_BDD]..Existe ALORS +stDevis.stBGConnect.sBGCBdd += gpclListeParamAppli:m_clTabModele[cParam_Connect_BDD]:m_sValeur +//SI gpclListeParamAppli:m_clTabModele[cParam_Connect_User]..Existe ALORS +stDevis.stBGConnect.sBGCUser += gpclListeParamAppli:m_clTabModele[cParam_Connect_User]:m_sValeur +//SI gpclListeParamAppli:m_clTabModele[cParam_Connect_Srv]..Existe ALORS +stDevis.stBGConnect.sBGCMdP += gpclListeParamAppli:m_clTabModele[cParam_Connect_Mdp]:m_sValeur +//stDevis.bBGConnect = Vrai +stDevis.stBGConnect = stDevis.stBGConnect +fin +si pas stDevis.bBGConnect alors +stDevis.suDossier = clConnecteurBddBG:suBG_Dossier +fin +//Recherche du contact principal du client l'ancien ID +nIndice est un entier = TableauCherche(odPFIntervention:FicheClient:ListeContact:m_clTabModele, +tcLinéaire,"m_nPKID",odPFIntervention:FicheClient:m_nIDContactPrincipal,1) +stDevis:sNumDevis = CreaCompteur(gpclListeParamAppli:m_clTabModele[ +06/08/2026 Isis_BO 6372 + +Partie 7 › Collection de procédures › LIB_Synchro › Code +"BATIGEST_PREFIXE_DEVIS"]:m_sValeur,-1,-1,Vrai,gpclListeParamAppli:m_clTabModele[ +"BATIGEST_TAILLE_COMPTEUR_DEVIS"]:m_sValeur) +sValTypeClient est une chaîne = gpclListeTypeClient.RechercheEtDonneValeurDepuisId( +odPFIntervention:FicheClient:m_nIDType) +stDevis:stClient.sStatut = sValTypeClient="1" ? "E" sinon sValTypeClient="2" ? "P" sinon "A" +stDevis:stClient:sFormeJuridique= SupprimerRC(odPFIntervention:FicheClient:m_sFormeJuridique) +stDevis:stClient:sContactCivilite= stDevis:stClient.sStatut="P" _et_ nIndice>0 ? gpclListeCivilite. +RechercheEtDonneLibelleDepuisID(odPFIntervention:FicheClient:ListeContact:m_clTabModele[nIndice]: +m_nIDCivilite) sinon stDevis:stClient.sStatut="P" ? "" sinon stDevis:stClient:sFormeJuridique +stDevis:stClient:sNomClient = SupprimerRC(odPFIntervention:FicheClient:m_sNom) +stDevis:stClient:sCodeExterne = SupprimerRC(odPFIntervention:FicheClient:m_sCodeClient) +stDevis:stClient:sCodeComptable = SupprimerRC(odPFIntervention:FicheClient:m_sCodeComptable) +//Préparation des données pour l'export vers BATIGEST +si nIndice>0 alors +stDevis.stClient.stContactPrincipal:sContactCivilite= SupprimerRC(stDevis:stClient: +sContactCivilite) +//gpclListeCivilite.RechercheEtDonneLibelleDepuisID(odPFIntervention:FicheClient:ListeContact:m +_clTabModele[nIndice]:m_nIDCivilite) +stDevis.stClient.stContactPrincipal:sInterLocuteur = SupprimerRC(odPFIntervention:FicheClient: +ListeContact:m_clTabModele[nIndice]:NomPrenom)//CiviliteNomPrenom +stDevis.stClient.stContactPrincipal.sTel = SupprimerRC(odPFIntervention:FicheClient: +ListeContact:m_clTabModele[nIndice]:m_sTelFixe) +stDevis.stClient.stContactPrincipal.sFax = SupprimerRC(odPFIntervention:FicheClient: +ListeContact:m_clTabModele[nIndice]:m_sFax) +stDevis.stClient.stContactPrincipal.sPortable = SupprimerRC(odPFIntervention:FicheClient: +ListeContact:m_clTabModele[nIndice]:m_sTelMobile) +stDevis.stClient.stContactPrincipal.sEmail = SupprimerRC(odPFIntervention:FicheClient: +ListeContact:m_clTabModele[nIndice]:m_sEmail) +sinon +stDevis.stClient.stContactPrincipal.sTel = SupprimerRC(odPFIntervention:FicheClient: +m_sTel) +stDevis.stClient.stContactPrincipal.sFax = SupprimerRC(odPFIntervention:FicheClient: +m_sFax) +stDevis.stClient.stContactPrincipal.sEmail = SupprimerRC(odPFIntervention:FicheClient: +m_sEmail) +fin +si odPFIntervention:FicheClient:ListeAdresse<>Null _et_ odPFIntervention:FicheClient:ListeAdresse: +p_nTotal>0 alors +sPresentationAdresse est une chaîne = odPFIntervention:FicheClient:ListeAdresse +:m_clTabModele[1]:m_clAdresse:m_sPresentation +sAdresseSansCPVille est une chaîne = Droite(ExtraitChaîne( +sPresentationAdresse,1,odPFIntervention:FicheClient:ListeAdresse:m_clTabModele[1]:m_clAdresse: +m_sCodePostal),100) +stDevis.stClient.stAdresse:sAdd_Etiquette = SupprimerRC(odPFIntervention:FicheClient: +ListeAdresse:m_clTabModele[1]:m_clAdresse:m_sEtiquette) +stDevis.stClient.stAdresse:sAdd_1 = SupprimerRC(Gauche(sAdresseSansCPVille,50 +)) +stDevis.stClient.stAdresse:sAdd_2 = SupprimerRC(Milieu(sAdresseSansCPVille,51 +,50)) +stDevis.stClient.stAdresse:sAdd_CP = SupprimerRC(odPFIntervention:FicheClient: +ListeAdresse:m_clTabModele[1]:m_clAdresse:m_sCodePostal) +stDevis.stClient.stAdresse:sAdd_Ville = SupprimerRC(odPFIntervention:FicheClient: +ListeAdresse:m_clTabModele[1]:m_clAdresse:m_sVille) +fin +pclContactDO est un MIntervention_Personne dynamique +si odPFIntervention:ListeContactClient:p_nTotal>0 alors +pclContactDO <- odPFIntervention:ListeContactClient:m_clTabModele[1] +// par défaut c'est le premier contact sauf si l'on trouve un demandeur +06/08/2026 Isis_BO 6373 + +Partie 7 › Collection de procédures › LIB_Synchro › Code +si pas pclContactDO:m_bEstDemandeur alors +pour i=2 _à_ odPFIntervention:ListeContactClient:p_nTotal +si odPFIntervention:ListeContactClient:m_clTabModele[i]:m_bEstDemandeur alors +pclContactDO <- odPFIntervention:ListeContactClient:m_clTabModele[i] +sortir +fin +fin +fin +fin +si pclContactDO<>Null alors +stDevis.stDonneurOrdre.sContactCivilite = gpclListeCivilite.RechercheEtDonneLibelleDepuisID( +pclContactDO:m_clContact:m_nIDCivilite) +stDevis.stDonneurOrdre.sInterLocuteur = SupprimerRC(pclContactDO:m_clContact:NomPrenom) +stDevis.stDonneurOrdre.sTel = SupprimerRC(pclContactDO:m_clContact:m_sTelFixe) +stDevis.stDonneurOrdre.sFax = SupprimerRC(pclContactDO:m_clContact:m_sFax) +stDevis.stDonneurOrdre.sPortable = SupprimerRC(pclContactDO:m_clContact:m_sTelMobile) +stDevis.stDonneurOrdre.sEmail = SupprimerRC(pclContactDO:m_clContact:m_sEmail) +fin +//L'adresse est celle du lieu de l'intervention +stDevis.stSite.sAdd_1 = SupprimerRC(odPFIntervention:FicheLieu:m_clAdresse: +m_sLigne_4) // !!!!! On va dire que j'insiste, mais c'est bizarre quand même ! +stDevis.stSite.sAdd_2 = SupprimerRC(odPFIntervention:FicheLieu:m_clAdresse: +m_sLigne_5) +stDevis.stSite.sAdd_CP = SupprimerRC(odPFIntervention:FicheLieu:m_clAdresse: +m_sCodePostal) +stDevis.stSite.sAdd_Ville = SupprimerRC(odPFIntervention:FicheLieu:m_clAdresse: +m_sVille) +stDevis.stSite.sAdd_Etiquette = SupprimerRC(odPFIntervention:FicheLieu:m_sCodeLieu) +pclContactLI est un MIntervention_Personne dynamique +si odPFIntervention:ListeContactLieu:p_nTotal>0 alors +pclContactLI <- odPFIntervention:ListeContactLieu:m_clTabModele[1] +// par défaut c'est le premier contact sauf si l'on trouve un demandeur +si pas pclContactLI:m_bEstDemandeur alors +pour i=2 _à_ odPFIntervention:ListeContactLieu:p_nTotal +si odPFIntervention:ListeContactLieu:m_clTabModele[i]:m_bEstDemandeur alors +pclContactLI <- odPFIntervention:ListeContactLieu:m_clTabModele[i] +sortir +fin +fin +fin +si pclContactLI<>Null alors//_et_ pclContactLI:m_bEstDemandeur ALORS +stDevis.stContactSite.sContactCivilite = SupprimerRC(gpclListeCivilite. +RechercheEtDonneLibelleDepuisID(pclContactLI:m_clContact:m_nIDCivilite)) +stDevis.stContactSite.sInterLocuteur = SupprimerRC(pclContactLI:m_clContact: +NomPrenom) +stDevis.stContactSite.sTel = SupprimerRC(pclContactLI:m_clContact: +m_sTelFixe) +stDevis.stContactSite.sFax = SupprimerRC(pclContactLI:m_clContact: +m_sFax) +stDevis.stContactSite.sPortable = SupprimerRC(pclContactLI:m_clContact: +m_sTelMobile) +stDevis.stContactSite.sEmail = SupprimerRC(pclContactLI:m_clContact:m_sEmail +) +fin +fin +//Information sur le chantier +stDevis.sDescription = RTFVersTexte(odPFIntervention:m_sDescription) +stDevis.dDateDebut = odPFIntervention:m_dDateIntervention +stDevis.sNumIntervention = SupprimerRC(odPFIntervention:m_sRefInterne) +stDevis.sRefExterneInterv = SupprimerRC(odPFIntervention:m_sRefExterne) +06/08/2026 Isis_BO 6374 + +Partie 7 › Collection de procédures › LIB_Synchro › Code +nIndiceCO est un entier = TableauCherche(gpclListeCollabActif:m_clTabModele,tcLinéaire,"m_nPKID", +odPFIntervention:m_nIDSuiviPar,1) +si nIndiceCO>0 alors +stDevis.sRepresentant = gpclListeCollabActif:m_clTabModele[nIndiceCO]:m_sTrigramme +fin +(bOK,saReponse) = clConnecteur:ExporteInterventionEnDevis(stDevis) +si stDevis.bBGConnect alors +clConnecteur:FermeConnexion(stDevis.bBGConnect,stDevis.stBGConnect) +sinon +clConnecteur:FermeConnexion() +fin +//clConnecteur:FermeConnexion() +si pas bOK alors +si pas bOK alors +renvoyer (Faux,saReponse) +fin +fin +odPFIntervention:FicheIntervBddExt:m_sIDExterne = saReponse +odPFIntervention:m_sNumDevis = saReponse +odPFIntervention:FicheIntervBddExt:m_nIDBddExterne = gtaBaseExterneParSoc[odPFIntervention: +m_nIDSociete]:m_nPKID +odPFIntervention:m_dDateDevis = DateSys() +clErr est un CErreur +si pas odPFIntervention:FicheIntervBddExt:bOK(clErr) alors +Erreur(clErr:FormateMessage()) +fin +sInfo += [RC] + " Le devis n° " + saReponse + " à été créé." +sinon +sInfo += [RC] + " Le client n'a pas été transféré dans Batigest. +Le devis ne peut pas être créé" +fin +renvoyer (Vrai,sInfo) +Procédure globale MiseAJourClientDansBatigest +// Résumé : +// Syntaxe : +//[ = ] MiseAJourClientDansBatigest ( est PFicheClient dynamique, +est PFicheBddExterne dynamique, est entier) +// +// Paramètres : +// odPFClient (PFicheClient dynamique) : +// pclBaseBG (PFicheBddExterne dynamique) : +// nChoix (entier) : +// Valeur de retour : +// multi-valeur : // Aucune +// +// Exemple : +06/08/2026 Isis_BO 6375 + +Partie 7 › Collection de procédures › LIB_Synchro › Code +// Indiquez ici un exemple d'utilisation. +// +procédure MiseAJourClientDansBatigest(odPFClient est un PFicheClient dynamique,pclBaseBG est un +PFicheBddExterne dynamique, nChoix est un entier) +| bOK | est un booléen | | | | +| ------------------------------ | ------------------- | ---- | --- | --- | +| saReponse | est une chaîne ANSI | | | | +| sInfo | est une chaîne | | | | +| sLibelleClient | est une chaîne ANSI | = "" | | | +| bAdrFact est un booléen = Faux | | | | | +pour tout pclParam de gpclListeTypeClient:m_clTabModele +si pclParam:m_nPKID = odPFClient:m_nIDType alors +sLibelleClient = pclParam:m_sLibelle +fin +fin +//Lecture du paramètrage du connecteur, stocké au format JSON dans la table de paramètres Système +//Il s'agit d'un tableau avec 1 seul élément, mais qui pourra en avoir plusieurs plus tard. +| clConnecteur est un C_ConnecteurBatigest | | | | | +| ---------------------------------------- | --- | --- | --- | --- | +//Lit l'adresse et le port du service dans les paramètres System +clConnecteur:LitParametresSocket() +//Préparation des données pour l'export vers BATIGEST +| stClient est un ST_BG_CLIENT | | | | | +| ---------------------------- | -------------------------------- | --- | --- | --- | +| stClient.sNomClient | = SupprimerRC(odPFClient:m_sNom) | | | | +stClient.sCodeExterne = SupprimerRC(odPFClient:m_sCodeClient) +sValTypeClient est une chaîne = gpclListeTypeClient.RechercheEtDonneValeurDepuisId(odPFClient: +m_nIDType) +stClient.sStatut = sValTypeClient="1" ? "E" sinon sValTypeClient="2" ? "P" sinon "A" +stClient.sTypeClient = SupprimerRC(sLibelleClient) +sApporteur est une chaîne = gpclListeApporteurClient.RechercheEtDonneLibelleDepuisID(odPFClient: +m_nIDApporteur) +| stClient.sApporteur | = SupprimerRC(sApporteur) | | | | +| ------------------- | ------------------------- | --- | --- | --- | +sOrigine est une chaîne = gpclListeOrigineClient.RechercheEtDonneLibelleDepuisID(odPFClient: +m_nIDOrigine) +stClient.sOrigine = SupprimerRC(sOrigine) +stClient.sCreateur = gpclFicheUtilisateurEnCours.sNomPrenomCollab +//stClient.sCreateur = odPFClient:UserCreation//odPFClient:m_sCreationUser +sModeRglt est une chaîne = gpclListeModeReglementCli.RechercheEtDonneValeurDepuisId(odPFClient: +m_nIDModeReglement) +| stClient.sModeReglement | = sModeRglt | | | | +| ----------------------- | --------------------------------- | --- | --- | --- | +| stClient.sPays | = SupprimerRC(odPFClient.m_sPays) | | | | +stClient.sCodeTVA = SupprimerRC(odPFClient.m_sCodeTVA) +| stClient.sSiren | = SupprimerRC(odPFClient.m_sSIREN) | | | | +| --------------- | ---------------------------------- | --- | --- | --- | +| stClient.sSiret | = SupprimerRC(odPFClient.m_sSIRET) | | | | +stClient.sFormeJuridique = SupprimerRC(odPFClient.m_sFormeJuridique) +stClient.sCompteBloque = odPFClient.m_bBlocageCciale ? "1" sinon "0" +//Recherche du contact principal du client l'ancien ID +nIndice est un entier = TableauCherche(odPFClient:ListeContact:m_clTabModele,tcLinéaire,"m_nPKID", +odPFClient:m_nIDContactPrincipal,1) +sValeur est une chaîne = gpclListeTypeClient.RechercheEtDonneValeurDepuisId(odPFClient:m_nIDType) +si nIndice>0 alors +stClient.stContactPrincipal:sContactCivilite= gpclListeCivilite.RechercheEtDonneLibelleDepuisID( +odPFClient:ListeContact:m_clTabModele[nIndice]:m_nIDCivilite) +stClient.stContactPrincipal:sInterLocuteur = SupprimerRC(odPFClient:ListeContact:m_clTabModele[ +nIndice]:NomPrenom)//CiviliteNomPrenom +| 06/08/2026 | | | Isis_BO | 6376 | +| ---------- | --- | --- | ------- | ---- | + +Partie 7 › Collection de procédures › LIB_Synchro › Code +stClient.stContactPrincipal.sTel = SupprimerRC(odPFClient:ListeContact:m_clTabModele[ +nIndice]:m_sTelFixe) +stClient.stContactPrincipal.sFax = SupprimerRC(odPFClient:ListeContact:m_clTabModele[ +nIndice]:m_sFax) +si Val(odPFClient:ListeContact:m_clTabModele[nIndice]:m_sTelMobile) > 0 alors +stClient.stContactPrincipal.sPortable = SupprimerRC(odPFClient:ListeContact:m_clTabModele +[nIndice]:m_sTelMobile) +sinon +stClient.stContactPrincipal.sPortable = SupprimerRC(odPFClient:ListeContact:m_clTabModele +[nIndice]:m_sTelFixe) +fin +stClient.stContactPrincipal.sEmail = SupprimerRC(odPFClient:ListeContact:m_clTabModele[ +nIndice]:m_sEmail) +sinon +stClient.stContactPrincipal.sTel = SupprimerRC(odPFClient:m_sTel) +stClient.stContactPrincipal.sFax = SupprimerRC(odPFClient:m_sFax) +stClient.stContactPrincipal.sEmail = SupprimerRC(odPFClient:m_sEmail) +fin +si sValeur <> "2" alors +stClient.stContactPrincipal.sTel = SupprimerRC(odPFClient:m_sTel) +stClient.stContactPrincipal.sFax = SupprimerRC(odPFClient:m_sFax) +fin +stClient.sContactCivilite = stClient.sStatut="P" ? stClient.stContactPrincipal: +sContactCivilite sinon SupprimerRC(odPFClient:m_sFormeJuridique) +si odPFClient:ListeAdresse<>Null _et_ odPFClient:ListeAdresse:p_nTotal>0 alors +oAdresse est un MClient_Adresse = odPFClient:ListeAdresse:m_clTabModele[1] +si odPFClient:ListeAdresse:p_nTotal>1 et nChoix > 0 alors +oAdresse = odPFClient:ListeAdresse:m_clTabModele[nChoix] +fin +oAdresse:m_clAdresse:CopieAdresseDansPresentation() +sPresentationAdresse est une chaîne = oAdresse:m_clAdresse:m_sPresentation +sAdresseSansCPVille est une chaîne = Droite(ExtraitChaîne(sPresentationAdresse,1,oAdresse: +m_clAdresse:m_sCodePostal),100) +stClient.stAdresse:sAdd_Etiquette = SupprimerRC(oAdresse:m_clAdresse:m_sEtiquette) +stClient.stAdresse:sAdd_1 = SupprimerRC(Gauche(sAdresseSansCPVille,50)) +stClient.stAdresse:sAdd_2 = " " +//stClient.stAdresse:sAdd_2 = SupprimerRC(Milieu(sAdresseSansCPVille,51,50)) +stClient.stAdresse:sAdd_CP = SupprimerRC(oAdresse:m_clAdresse:m_sCodePostal) +stClient.stAdresse:sAdd_Ville = SupprimerRC(oAdresse:m_clAdresse:m_sVille) +fin +//Créé un objet BaseBatigest avec les paramètres JSON lu dans Base_Ext +clConnecteurBddBG est C_ConnecteurBddBatigest +//Initialisation des paramètres de connexion +si pas clConnecteurBddBG:InitParam(pclBaseBG:m_sParam) alors//gclBaseExterne:m_sParam +renvoyer (Faux,cSBG_Err_ParametreIncorrecte) +fin +//Connexion au Service de communication Batigest +(bOK,saReponse)=clConnecteur:ConnectAuService() +si pas bOK alors +si stClient.bBGConnect alors +clConnecteur:FermeConnexion(stClient.bBGConnect,stClient.stBGConnect) +06/08/2026 Isis_BO 6377 + +Partie 7 › Collection de procédures › LIB_Synchro › Code +renvoyer (Faux,saReponse) +sinon +clConnecteur:FermeConnexion() +renvoyer (Faux,saReponse) +fin +fin +si gpclListeParamAppli:m_clTabModele[cParam_Connect]..Existe _et_ gpclListeParamAppli:m_clTabModele[ +cParam_Connect]:m_sValeur="1" alors +stClient.bBGConnect = Vrai +stClient.stBGConnect.sBGCServeur = clConnecteurBddBG:sBG_Connect_Serveur +stClient.stBGConnect.sBGCBdd = clConnecteurBddBG:suBG_Dossier +stClient.stBGConnect.sBGCUser = clConnecteurBddBG:sBG_Connect_Utilisateur +stClient.stBGConnect.sBGCMdP = clConnecteurBddBG:sBG_Connect_MotDePasse +fin +si pas stClient.bBGConnect alors +stClient:suDossier = clConnecteurBddBG:suBG_Dossier +fin +(bOK,saReponse) = clConnecteur:MAJClient(stClient) +si pas bOK alors renvoyer (Faux,cSBF_Err_ProblemMAJFicheClient) +sInfo = " La mise à jour de Client n° " + saReponse + " à été effectuée." +clConnecteur:FermeConnexion() +// +// FIN +si pas bOK alors +renvoyer (Faux,saReponse) +fin +renvoyer (Vrai,sInfo) +06/08/2026 Isis_BO 6378 + +Partie 7 › Collection de procédures › COL_JSON_INFO › Code +COL_JSON_INFO +Code +Procédure globale Description_Rubriques_Rapport +procédure Description_Rubriques_Rapport():JSON +//test est un JSON +//stDescription_Rubriques_Rapport_Json est un STJSONRubriqueRapport +//Description_Rubriques_Rapport_Json est un JSON +sDescription est une chaîne ANSI = [ +{ +"NomParam": "RubriquesRapportInterv", +"ListeTerme": [ +] +sDescription += INTER_JSON_Rapport()+"," +sDescription += TabContactSite_Rapport()+"," +sDescription += TabCR_Rapport()+"," +sDescription += TabDonneurOrdre_Rapport()+"," +sDescription += TabPhotos_Rapport()+"," +sDescription += TabRDV_Rapport() +sDescription += "]}" +Description_Rubriques_Rapport_Json est un JSON = ChaîneVersJSON(sDescription) +renvoyer Description_Rubriques_Rapport_Json +Procédure globale INTER_JSON_Rapport +procédure INTER_JSON_Rapport() +sDescription est une chaîne ANSI = [ +{ +"Description": "Réf. interne", +"Rubrique": "$REFINTERNE$", +"Membre": ":m_sRefInterne", +"Type": "ChpSimpleChaine", +"Ordre": 1, +"TermeVisible": 1, +"Groupe": "Intervention", +"MembreMob": "IN_RefInterne", +"EnvoiMob":0, +"BD":1, +"GroupeApp": "INTER" +}, +{ +"Description": "Titre de l'intervention", +"Rubrique": "$TITREINTERV$", +"Membre": ":m_sTitre", +"Type": "ChpSimpleChaine", +"Ordre": 2, +"TermeVisible": 1, +"Groupe": "Intervention", +"MembreMob": "IN_Titre", +"EnvoiMob":0, +"BD":1, +"MembreEmailMob":"INTER.TITRE", +"GroupeApp": "INTER" +06/08/2026 Isis_BO 6379 + +Partie 7 › Collection de procédures › COL_JSON_INFO › Code +}, +{ +"Description": "Date de la demande", +"Rubrique": "$DATEDEMANDE$", +"Membre": ":m_dhCreationDate", +"Type": "ChpSimpleDate", +"Ordre": 3, +"TermeVisible": 1, +"Groupe": "Intervention", +"MembreMob": "IN_CreationDate", +"EnvoiMob":0, +"BD":1, +"MembreEmailMob":"INTER.DATE", +"GroupeApp": "INTER" +}, +{ +"Description": "Société", +"Rubrique": "$SOCIETE$", +"Membre": ":m_nIDSociete", +"Type": "ChpCombo", +"Ordre": 4, +"TermeVisible": 1, +"SourceCombo": "Societe.SO_PKID", +"LibelleCombo": "SO_Nom", +"Groupe": "Intervention", +"MembreMob": "SO_Nom", +"EnvoiMob":0, +"BD":1, +"MembreEmailMob":"DOSSIER.SOCIETE", +"GroupeApp": "INTER" +}, +{ +"Description": "N° devis", +"Rubrique": "$NUMDEVIS$", +"Membre": ":m_sNumDevis", +"Type": "ChpSimpleChaine", +"Ordre": 5, +"TermeVisible": 1, +"Groupe": "Intervention", +"MembreMob": "IN_NumDevis", +"EnvoiMob":0, +"BD":1, +"MembreEmailMob":"DEVIS.NUM", +"GroupeApp": "INTER" +}, +{ +"Description": "Date devis", +"Rubrique": "$DATEDEVIS$", +"Membre": ":m_dDateDevis", +"Type": "ChpSimpleDate", +"Ordre": 6, +"TermeVisible": 1, +"Groupe": "Intervention", +"MembreMob": "IN_DateDevis", +"EnvoiMob":0, +"BD":1, +"MembreEmailMob":"DEVIS.DATE", +"GroupeApp": "INTER" +}, +{ +"Description": "N° facture", +"Rubrique": "$NUMFACT$", +"Membre": ":m_sNumFacture", +"Type": "ChpSimpleChaine", +"Ordre": 7, +"TermeVisible": 1, +06/08/2026 Isis_BO 6380 + +Partie 7 › Collection de procédures › COL_JSON_INFO › Code +"Groupe": "Intervention", +"MembreMob": "IN_NumFacture", +"EnvoiMob":0, +"BD":1, +"MembreEmailMob":"FAC.NUM", +"GroupeApp": "INTER" +}, +{ +"Description": "Date facture", +"Rubrique": "$DATEFACT$", +"Membre": ":m_dDateFacture", +"Type": "ChpSimpleDate", +"Ordre": 8, +"TermeVisible": 1, +"Groupe": "Intervention", +"MembreMob": "IN_DateFacture", +"EnvoiMob":0, +"BD":1, +"MembreEmailMob":"FAC.DATE", +"GroupeApp": "INTER" +}, +{ +"Description": "Suivi par", +"Rubrique": "$SUIVIPAR$", +"Membre": ":m_nIDSuiviPar", +"Type": "ChpCombo", +"Ordre": 9, +"TermeVisible": 1, +"SourceCombo": "Collaborateur.CO_PKID", +"LibelleCombo": "CO_Nom", +"Groupe": "Intervention", +"MembreMob": "IN_CO_Nom", +"EnvoiMob":0, +"BD":1, +"MembreEmailMob":"INTER.SUIVI", +"GroupeApp": "INTER" +}, +{ +"Description": "Type d'intervention", +"Rubrique": "$TYPEINTERV$", +"Membre": ":m_nIDTypeIntervention", +"Type": "ChpCombo", +"Ordre": 10, +"TermeVisible": 1, +"SourceCombo": "ParametreMetier.PA_PKID", +"LibelleCombo": "PA_Libelle", +"Groupe": "Intervention", +"MembreMob": "IN_PA_Type", +"EnvoiMob":0, +"BD":0, +"MembreEmailMob":"INTER.TYPE", +"GroupeApp": "INTER" +}, +{ +"Description": "Réf. externe", +"Rubrique": "$REFEXTERNE$", +"Membre": ":m_sRefExterne", +"Type": "ChpSimpleChaine", +"Ordre": 11, +"TermeVisible": 1, +"Groupe": "Intervention", +"MembreMob": "IN_RefExterne", +"EnvoiMob":0, +"BD":1, +"MembreEmailMob":"INTER.REFEXT", +"GroupeApp": "INTER" +06/08/2026 Isis_BO 6381 + +Partie 7 › Collection de procédures › COL_JSON_INFO › Code +}, +{ +"Description": "Description", +"Rubrique": "$DESCRIPTION$", +"Membre": ":m_sDescription", +"Type": "ChpSimpleRTF", +"Ordre": 12, +"TermeVisible": 1, +"Groupe": "Intervention", +"MembreMob": "IN_Description", +"EnvoiMob":0, +"BD":1, +"MembreEmailMob":"INTER.DESCRIPT", +"GroupeApp": "INTER" +}, +{ +"Description": "Site", +"Rubrique": "$CODESITE$", +"Membre": ":FicheLieu:m_sCodeLieu", +"Type": "ChpSimpleChaine", +"Ordre": 13, +"TermeVisible": 1, +"Groupe": "Site", +"MembreMob": "LI_CodeLieu", +"EnvoiMob":0, +"BD":1, +"MembreEmailMob":"SITE.CODE", +"GroupeApp": "INTER" +}, +{ +"Description": "Adresse Site", +"Rubrique": "$ADRESSESITE$", +"Membre": ":FicheLieu.FicheEncours.m_clAdresse.m_sPresentation", +"Type": "ChpSimpleChaine", +"Ordre": 14, +"TermeVisible": 1, +"Groupe": "Site", +"MembreMob": "LI_Adresse", +"EnvoiMob":0, +"BD":0, +"MembreEmailMob":"SITE.ADRESSE", +"GroupeApp": "INTER" +}, +{ +"Description": "Code d'accès", +"Rubrique": "$CODEACCESSITE$", +"Membre": ":FicheLieu:m_sCodeAcces", +"Type": "ChpSimpleChaine", +"Ordre": 15, +"TermeVisible": 1, +"Groupe": "Site", +"MembreMob": "LI_CodeAcces", +"EnvoiMob":0, +"BD":1, +"GroupeApp": "INTER" +}, +{ +"Description": "Durée prévue", +"Rubrique": "$DUREEPREVUE$", +"Membre": ":m_rDureePrevue", +"Type": "ChpSimpleReel", +"Ordre": 16, +"TermeVisible": 1, +"Groupe": "Intervention", +"MembreMob": "IN_DureePrevue", +"EnvoiMob":0, +06/08/2026 Isis_BO 6382 + +Partie 7 › Collection de procédures › COL_JSON_INFO › Code +"BD":1, +"MembreEmailMob":"INTER.TPREVU", +"GroupeApp": "INTER" +}, +{ +"Description": "Nom du client", +"Rubrique": "$NOMCLIENT$", +"Membre": ":m_nIDCLIENT", +"Type": "ChpCombo", +"Ordre": 21, +"TermeVisible": 1, +"SourceCombo": "Client.CL_PKID", +"LibelleCombo": "CL_Nom", +"Groupe": "Client", +"MembreMob": "CL_Nom", +"EnvoiMob":0, +"BD":1, +"MembreEmailMob":"CLIENT.U.NOMPRENOM CLIENT.NOM", +"GroupeApp": "INTER" +}, +{ +"Description": "Adresse du client", +"Rubrique": "$ADRESSECLIENT$", +"Membre": ":FicheClient:m_nIDAdressePrincipale", +"Type": "ChpCombo", +"Ordre": 22, +"TermeVisible": 1, +"SourceCombo": "Adresse.AD_PKID", +"LibelleCombo": "AD_Presentation", +"Groupe": "Client", +"MembreMob": "AD_Presentation", +"EnvoiMob":0, +"BD":1, +"MembreEmailMob":"CLIENT.ADRESSE", +"GroupeApp": "INTER" +}, +{ +"Description": "Rdv débuté le", +"Rubrique": "$UNRDV.DATEDEBUT$", +"Membre": ":m_dhDateDebut", +"Type": "ChpSimpleDateHeure", +"Ordre": 24, +"TermeVisible": 1, +"Groupe": "Rendez-vous", +"MembreMob": "saDateDebut", +"EnvoiMob":1, +"BD":0, +"MembreEmailMob":"RDV.U.DHDEBUT", +"GroupeApp": "RDV_INTER" +}, +{ +"Description": "Rdv fini le", +"Rubrique": "$UNRDV.DATEFIN$", +"Membre": ":m_dhDateFin", +"Type": "ChpSimpleDateHeure", +"Ordre": 25, +"TermeVisible": 1, +"Groupe": "Rendez-vous", +"MembreMob": "saDateFin", +"EnvoiMob":1, +"BD":0, +"MembreEmailMob":"RDV.U.DHFIN", +"GroupeApp": "RDV_INTER" +}, +{ +"Description": "Rdv débuté le (Date)", +06/08/2026 Isis_BO 6383 + +Partie 7 › Collection de procédures › COL_JSON_INFO › Code +"Rubrique": "$UNRDV.DATEDEBUT_D$", +"Membre": ":m_dhDateDebut", +"Type": "ChpSimpleDate", +"Ordre": 24, +"TermeVisible": 1, +"Groupe": "Rendez-vous", +"MembreMob": "saDateDebut", +"EnvoiMob":1, +"BD":0, +"MembreEmailMob":"RDV.U.DDEBUT", +"GroupeApp": "RDV_INTER" +}, +{ +"Description": "Rdv fini le (Date)", +"Rubrique": "$UNRDV.DATEFIN_D$", +"Membre": ":m_dhDateFin", +"Type": "ChpSimpleDate", +"Ordre": 25, +"TermeVisible": 1, +"Groupe": "Rendez-vous", +"MembreMob": "saDateFin", +"EnvoiMob":1, +"BD":0, +"MembreEmailMob":"RDV.U.DFIN", +"GroupeApp": "RDV_INTER" +}, +{ +"Description": "Objet du rendez-vous", +"Rubrique": "$UNRDV.OBJET$", +"Membre": ":m_sObjet", +"Type": "ChpSimpleChaine", +"Ordre": 26, +"TermeVisible": 1, +"Groupe": "Rendez-vous", +"MembreMob": "saObjet", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MembreEmailMob":"RDV.U.OBJET", +"GroupeApp": "RDV_INTER" +}, +{ +"Description": "Note rendez-vous", +"Rubrique": "$UNRDV.NOTE$", +"Membre": ":m_sDescription", +"Type": "ChpSimpleChaine", +"Ordre": 27, +"TermeVisible": 1, +"Groupe": "Rendez-vous", +"MembreMob": "saNote", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MembreEmailMob":"RDV.U.NOTE", +"GroupeApp": "RDV_INTER" +}, +{ +"Description": "Collaborateurs rendez-vous", +"Rubrique": "$UNRDV.COLLABORATEUR$", +"Membre": ":Collaborateur", +"Type": "ChpSimpleChaine", +"Ordre": 28, +"TermeVisible": 1, +"Groupe": "Rendez-vous", +"MembreMob": "saCollaborateurs", +"EnvoiMob":1, +06/08/2026 Isis_BO 6384 + +Partie 7 › Collection de procédures › COL_JSON_INFO › Code +"BD":0, +"Modifiable":1, +"GroupeApp": "RDV_INTER" +}, +{ +"Description": "Contact du rendez-vous", +"Rubrique": "$UNRDV.CONTACTSITE$", +"Membre": ":ContactSite", +"Type": "ChpSimpleChaine", +"Ordre": 29, +"TermeVisible": 1, +"Groupe": "Rendez-vous", +"GroupeApp": "RDV_INTER" +}, +{ +"Description": "CR Débuté le", +"Rubrique": "$UNCR.DATEDEBUT$", +"Membre": ":m_dhDateHeureDebut", +"Type": "ChpSimpleDate", +"Ordre": 30, +"TermeVisible": 1, +"Groupe": "Comptes-rendus", +"MembreMob": "saDebut", +"EnvoiMob":1, +"BD":1, +"MembreEmailMob":"CR.U.DHDEBUT", +"GroupeApp": "CR_INTER" +}, +{ +"Description": "CR Fini le", +"Rubrique": "$UNCR.DATEFIN$", +"Membre": ":m_dhDateHeureFin", +"Type": "ChpSimpleDate", +"Ordre": 31, +"TermeVisible": 1, +"Groupe": "Comptes-rendus", +"MembreMob": "saFin", +"EnvoiMob":1, +"BD":1, +"MembreEmailMob":"CR.U.DHFIN", +"GroupeApp": "CR_INTER" +}, +{ +"Description": "Note collaborateur", +"Rubrique": "$UNCR.NOTECOLLAB$", +"Membre": ":m_sNoteCollaborateur", +"Type": "ChpSimpleChaine", +"Ordre": 32, +"TermeVisible": 1, +"Groupe": "Comptes-rendus", +"MembreMob": "CR_NoteCollaborateur", +"EnvoiMob":1, +"BD":1, +"MembreEmailMob":"CR.U.NOTECOLLAB", +"GroupeApp": "CR_INTER" +}, +{ +"Description": "Nom signataire", +"Rubrique": "$UNCR.SIGNATAIRE$", +"Membre": ":m_sNomSignataire", +"Type": "ChpSimpleChaine", +"Ordre": 33, +"TermeVisible": 1, +"Groupe": "Comptes-rendus", +"MembreMob": "CR_NomSignataire", +"EnvoiMob":1, +06/08/2026 Isis_BO 6385 + +Partie 7 › Collection de procédures › COL_JSON_INFO › Code +"BD":1, +"MembreEmailMob":"CR.U.NOMSIGNATURETEC", +"GroupeApp": "CR_INTER" +}, +{ +"Description": "Note signataire", +"Rubrique": "$UNCR.NOTESIGNATAIRE$", +"Membre": ":m_sNoteSignataire", +"Type": "ChpSimpleChaine", +"Ordre": 34, +"TermeVisible": 1, +"Groupe": "Comptes-rendus", +"MembreMob": "CR_NoteSignataire", +"EnvoiMob":1, +"BD":1, +"MembreEmailMob":"CR.U.NOTESIGNATAIRE", +"GroupeApp": "CR_INTER" +}, +{ +"Description": "Type signataire", +"Rubrique": "$UNCR.TYPESIGNATAIRE$", +"Membre": ":m_nIDTypeSignataire", +"Type": "ChpCombo", +"Ordre": 35, +"TermeVisible": 1, +"SourceCombo": "ParametreMetier.PA_PKID", +"LibelleCombo": "PA_Libelle", +"Groupe": "Comptes-rendus", +"MembreMob": "CR_PA_Type", +"EnvoiMob":1, +"BD":1, +"MembreEmailMob":"CR.U.TYPESIGNATAIRE", +"GroupeApp": "CR_INTER" +}, +{ +"Description": "Signature", +"Rubrique": "$UNCR.IMAGESIGNATURE$", +"Membre": ":m_Signature", +"Type": "ChpImage", +"Ordre": 36, +"TermeVisible": 1, +"Groupe": "Comptes-rendus", +"MembreMob": "CR_Signature", +"EnvoiMob":1, +"BD":1, +"MembreEmailMob":"CR.U.IMAGESIGNATURE", +"GroupeApp": "CR_INTER" +}, +{ +"Description": "Signature Tech", +"Rubrique": "$UNCR.IMAGESIGNATURETECH$", +"Membre": ":m_SignatureTech", +"Type": "ChpImage", +"Ordre": 37, +"TermeVisible": 1, +"Groupe": "Comptes-rendus", +"MembreMob": "CR_SignatureTech", +"EnvoiMob":1, +"BD":1, +"MembreEmailMob":"CR.U.IMAGESIGNATURET", +"GroupeApp": "CR_INTER" +}, +{ +"Description": "Nom Signature Tech", +"Rubrique": "$UNCR.NOMSIGNATURETECH$", +"Membre": ":m_sNomSignataireTech", +06/08/2026 Isis_BO 6386 + +Partie 7 › Collection de procédures › COL_JSON_INFO › Code +"Type": "ChpSimpleChaine", +"Ordre": 38, +"TermeVisible": 1, +"Groupe": "Comptes-rendus", +"MembreMob": "CR_NomSignataireTech", +"EnvoiMob":1, +"BD":1, +"MembreEmailMob":"CR.U.NOMSIGNATURETEC", +"GroupeApp": "CR_INTER" +}, +{ +"Description": "Devis conforme", +"Rubrique": "$UNCR.DEVISCONFORME$", +"Membre": ":m_bDevisConforme", +"Type": "ChpSimpleBooleen", +"Ordre": 39, +"TermeVisible": 1, +"Groupe": "Comptes-rendus", +"MembreMob": "CR_DevisConforme", +"EnvoiMob":1, +"BD":1, +"MembreEmailMob":"CR.U.DEVISCONFORME", +"GroupeApp": "CR_INTER" +}, +{ +"Description": "Avec Réserve", +"Rubrique": "$UNCR.AVECRESERVE$", +"Membre": ":m_bAvecReserve", +"Type": "ChpSimpleBooleen", +"Ordre": 40, +"TermeVisible": 1, +"Groupe": "Comptes-rendus", +"MembreMob": "CR_AvecReserve", +"EnvoiMob":1, +"BD":1, +"MembreEmailMob":"CR.U.AVECRESERVE", +"GroupeApp": "CR_INTER" +} +, +{ +"Description": "Commentaire Réserve", +"Rubrique": "$UNCR.RESERVECOMMENTAIRE$", +"Membre": ":m_sReserveCommentaire", +"Type": "ChpSimpleChaine", +"Ordre": 41, +"TermeVisible": 1, +"Groupe": "Comptes-rendus", +"MembreMob": "CR_ReserveCommentaire", +"EnvoiMob":1, +"BD":1, +"MembreEmailMob":"CR.U.RESERVECOMMENTA", +"GroupeApp": "CR_INTER" +}, +{ +"Description": "Photo", +"Rubrique": "$UNPHOTO.IMAGE$", +"Membre": ":m_sCheminFichier", +"Type": "ChpImage", +"Ordre": 42, +"TermeVisible": 1, +"Groupe": "Photos", +"MembreMob": "saNom", +"EnvoiMob":1, +"BD":0, +"GroupeApp": "PHOTO_INTER" +}, +06/08/2026 Isis_BO 6387 + +Partie 7 › Collection de procédures › COL_JSON_INFO › Code +{ +"Description": "Date Photo", +"Rubrique": "$UNPHOTO.DATEIMAGE$", +"Membre": ":m_dDateFichier", +"Type": "ChpSimpleDate", +"Ordre": 43, +"TermeVisible": 1, +"Groupe": "Photos", +"MembreMob": "saDate", +"EnvoiMob":1, +"BD":0, +"GroupeApp": "PHOTO_INTER" +}, +{ +"Description": "Note Photo", +"Rubrique": "$UNPHOTO.NOTEIMAGE$", +"Membre": ":ListeCommentaire", +"Type": "ChpSimpleChaine", +"Ordre": 44, +"TermeVisible": 1, +"Groupe": "Photos", +"MembreMob": "saNotes", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"GroupeApp": "PHOTO_INTER" +}, +{ +"Description": "Nom - Prenom", +"Rubrique": "$UNCTSITE.NOMPRENOM$", +"Membre": ":m_clContact:CiviliteNomPrenom", +"Type": "ChpSimpleChaine", +"Ordre": 45, +"TermeVisible": 1, +"Groupe": "Contacts site", +"MembreMob": "saNom", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MembreEmailMob":"SITE.U.NOMPRENOM", +"GroupeApp": "CONTACT_SITE" +}, +{ +"Description": "Tel. 1", +"Rubrique": "$UNCTSITE.TELFIXE$", +"Membre": ":m_clContact:m_sTelFixe", +"Type": "ChpSimpleChaine", +"Ordre": 46, +"TermeVisible": 1, +"Groupe": "Contacts site", +"MembreMob": "saTFix", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MembreEmailMob":"SITE.U.TEL1", +"GroupeApp": "CONTACT_SITE" +}, +{ +"Description": "Tel. 2", +"Rubrique": "$UNCTSITE.TELFAXE$", +"Membre": ":m_clContact:m_sFax", +"Type": "ChpSimpleChaine", +"Ordre": 47, +"TermeVisible": 1, +"Groupe": "Contacts site", +"MembreMob": "saTMob", +06/08/2026 Isis_BO 6388 + +Partie 7 › Collection de procédures › COL_JSON_INFO › Code +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MembreEmailMob":"SITE.U.TEL2", +"GroupeApp": "CONTACT_SITE" +}, +{ +"Description": "Rôle", +"Rubrique": "$UNCTSITE.ROLE$", +"Membre": ":m_clContact:LibRole", +"Type": "ChpSimpleChaine", +"Ordre": 48, +"TermeVisible": 1, +"Groupe": "Contacts site", +"MembreMob": "saRole", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MembreEmailMob":"SITE.U.ROLE", +"GroupeApp": "CONTACT_SITE" +}, +{ +"Description": "Etage", +"Rubrique": "$UNCTSITE.ETAGE$", +"Membre": ":m_sEtage", +"Type": "ChpSimpleChaine", +"Ordre": 49, +"TermeVisible": 1, +"Groupe": "Contacts site", +"MembreMob": "saEtage", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MembreEmailMob":"SITE.U.ETAGE", +"GroupeApp": "CONTACT_SITE" +}, +{ +"Description": "Nom - Prenom", +"Rubrique": "$UNCTCLI.NOMPRENOM$", +"Membre": ":m_clContact:CiviliteNomPrenom", +"Type": "ChpSimpleChaine", +"Ordre": 50, +"TermeVisible": 1, +"Groupe": "Donneurs d'ordres", +"MembreMob": "saNom", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MembreEmailMob":"CLIENT.U.NOMPRENOM", +"GroupeApp": "DONNEURS_ORDRE" +}, +{ +"Description": "Tel. 1", +"Rubrique": "$UNCTCLI.TELFIXE$", +"Membre": ":m_clContact:m_sTelFixe", +"Type": "ChpSimpleChaine", +"Ordre": 51, +"TermeVisible": 1, +"Groupe": "Donneurs d'ordres", +"MembreMob": "saTFix", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MembreEmailMob":"CLIENT.U.TEL1", +"GroupeApp": "DONNEURS_ORDRE" +}, +06/08/2026 Isis_BO 6389 + +Partie 7 › Collection de procédures › COL_JSON_INFO › Code +{ +"Description": "Tel. 2", +"Rubrique": "$UNCTCLI.TELFAXE$", +"Membre": ":m_clContact:m_sFax", +"Type": "ChpSimpleChaine", +"Ordre": 52, +"TermeVisible": 1, +"Groupe": "Donneurs d'ordres", +"MembreMob": "saTMob", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MembreEmailMob":"CLIENT.U.TEL2", +"GroupeApp": "DONNEURS_ORDRE" +}, +{ +"Description": "Rôle", +"Rubrique": "$UNCTCLI.ROLE$", +"Membre": ":m_clContact:LibRole", +"Type": "ChpSimpleChaine", +"Ordre": 53, +"TermeVisible": 1, +"Groupe": "Donneurs d'ordres", +"MembreMob": "saRole", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MembreEmailMob":"CLIENT.U.ROLE", +"GroupeApp": "DONNEURS_ORDRE" +} +] +renvoyer sDescription +Procédure globale LICENCE +procédure LICENCE():JSON +Licence_JSON est un JSON +Licence_JSON.verLicence = "1" +Licence_JSON.dateLicence = "19/09/2019" +Licence_JSON.nbLicenceDesktop = 0 +Licence_JSON.nbLicenceMobile = 0 +Licence_JSON.verMinBO = "1.0.196" +Licence_JSON.nbLicenceDesktopRestante = 0 +Licence_JSON.nbLicenceMobileRestante = 0 +renvoyer Licence_JSON +Procédure globale TabContactSite_Rapport +procédure TabContactSite_Rapport() +sDescription est une chaîne ANSI = [ +{ +"Description": "Tableau contacts site", +"Rubrique": "$TABCONTACTSITE$", +"Membre": "ListeContactLieu", +"Type": "Tableau", +"Ordre": 18, +"TermeVisible": 1, +"Groupe": "Contacts site", +"MembreMob": "CONTACT_SITE", +"EnvoiMob":1, +"BD":0, +"MembreEmailMob":"SITE.TB.CT", +06/08/2026 Isis_BO 6390 + +Partie 7 › Collection de procédures › COL_JSON_INFO › Code +"GroupeApp": "CONTACT_SITE", +"ListeMembre": [ +{ +"Nom": "Nom - Prenom", +"Rubrique": "$TABCTSITE.NOMPRENOM$", +"Membre": ":m_clContact:CiviliteNomPrenom", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 54.9, +"MembreMob": "saNom", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MembreEmailMob":"SITE.U.NOMPRENOM", +"GroupeApp": "CONTACT_SITE", +"Ordre":1 +}, +{ +"Nom": "Tel. 1", +"Rubrique": "$TABCTSITE.TELFIXE$", +"Membre": ":m_clContact:m_sTelFixe", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 25, +"MembreMob": "saTFix", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MembreEmailMob":"SITE.U.TEL1", +"GroupeApp": "CONTACT_SITE", +"Ordre":2 +}, +{ +"Nom": "Tel. 2", +"Rubrique": "$TABCTSITE.TELFAXE$", +"Membre": ":m_clContact:m_sFax", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 25, +"MembreMob": "saTMob", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MembreEmailMob":"SITE.U.TEL2", +"GroupeApp": "CONTACT_SITE", +"Ordre":3 +}, +{ +"Nom": "Rôle", +"Rubrique": "$TABCTSITE.ROLE$", +"Membre": ":m_clContact:LibRole", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 25, +"MembreMob": "saRole", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MembreEmailMob":"SITE.U.ROLE", +"GroupeApp": "CONTACT_SITE", +"Ordre":4 +}, +{ +"Nom": "Etage", +"Rubrique": "$TABCTSITE.ETAGE$", +"Membre": ":m_sEtage", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 25, +"MembreMob": "saEtage", +"EnvoiMob":1, +06/08/2026 Isis_BO 6391 + +Partie 7 › Collection de procédures › COL_JSON_INFO › Code +"BD":0, +"Modifiable":1, +"MembreEmailMob":"SITE.U.ETAGE", +"GroupeApp": "CONTACT_SITE", +"Ordre":5 +}, +{ +"Nom": "Information supplémentaire", +"Rubrique": "$TABCTSITE.EXTRA$", +"Membre": "", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 25, +"MembreMob": "saExtra", +"EnvoiMob":1, +"BD":0, +"InvisibleBO" : 1, +"Modifiable":1, +"GroupeApp": "CONTACT_SITE" +}] +} +] +renvoyer sDescription +Procédure globale TabCR_Rapport +procédure TabCR_Rapport() +sDescription est une chaîne ANSI = [ +{ +"Description": "Tableau comptes-rendus", +"Rubrique": "$TABCOMPTERENDU$", +"Membre": "ListeCompteRendu", +"Type": "Tableau", +"Ordre": 20, +"TermeVisible": 1, +"Groupe": "Comptes-rendus", +"MembreMob": "CR", +"EnvoiMob":1, +"BD":0, +"GroupeApp": "CR_INTER", +"MembreEmailMob":"CR.TB", +"ListeMembre": [ +{ +"Nom": "Débuté le", +"Rubrique": "$TABCR.DATEDEBUT$", +"Membre": ":m_dhDateHeureDebut", +"TypeMembre": "ChpSimpleDateHeure", +"LargeurCol": 30, +"MembreMob": "CR_DateHeureDebut", +"EnvoiMob":1, +"BD":1, +"MembreEmailMob":"CR.U.DHDEBUT", +"GroupeApp": "CR_INTER", +"Ordre":1 +}, +{ +"Nom": "Fini le", +"Rubrique": "$TABCR.DATEFIN$", +"Membre": ":m_dhDateHeureFin", +"TypeMembre": "ChpSimpleDateHeure", +"LargeurCol": 30, +"MembreMob": "CR_DateHeureFin", +"EnvoiMob":1, +"BD":1, +06/08/2026 Isis_BO 6392 + +Partie 7 › Collection de procédures › COL_JSON_INFO › Code +"MembreEmailMob":"CR.U.DHFIN", +"GroupeApp": "CR_INTER", +"Ordre":2 +}, +{ +"Nom": "Note collaborateur", +"Rubrique": "$TABCR.NOTECOLLAB$", +"Membre": ":m_sNoteCollaborateur", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 100, +"MembreMob": "CR_NoteCollaborateur", +"EnvoiMob":1, +"BD":1, +"MembreEmailMob":"CR.U.NOTECOLLAB", +"GroupeApp": "CR_INTER", +"Ordre":3 +}, +{ +"Nom": "Nom signataire", +"Rubrique": "$TABCR.SIGNATAIRE$", +"Membre": ":m_sNomSignataire", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 40, +"MembreMob": "CR_NomSignataire", +"EnvoiMob":1, +"BD":1, +"MembreEmailMob":"CR.U.SIGNATAIRE", +"GroupeApp": "CR_INTER", +"Ordre":4 +}, +{ +"Nom": "Note signataire", +"Rubrique": "$TABCR.NOTESIGNATAIRE$", +"Membre": ":m_sNoteSignataire", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 100, +"MembreMob": "CR_NoteSignataire", +"EnvoiMob":1, +"BD":1, +"MembreEmailMob":"CR.U.NOTESIGNATAIRE", +"GroupeApp": "CR_INTER", +"Ordre":5 +}, +{ +"Description": "Type signataire", +"Rubrique": "$TABCR.TYPESIGNATAIRE$", +"Membre": ":m_nIDTypeSignataire", +"Type": "ChpCombo", +"Ordre": 10, +"TermeVisible": 1, +"LargeurCol": 40, +"SourceCombo": "ParametreMetier.PA_PKID", +"LibelleCombo": "PA_Libelle", +"Groupe": "Comptes-rendus", +"MembreMob": "CR_PA_Type", +"EnvoiMob":1, +"BD":1, +"MembreEmailMob":"", +"GroupeApp": "CR_INTER" +}, +{ +"Nom": "Signature", +"Rubrique": "$TABCR.IMAGESIGNATURE$", +"Membre": ":m_Signature", +"TypeMembre": "ChpImage", +"LargeurCol": 30, +06/08/2026 Isis_BO 6393 + +Partie 7 › Collection de procédures › COL_JSON_INFO › Code +"MembreMob": "CR_Signature", +"EnvoiMob":1, +"BD":1, +"MembreEmailMob":"", +"GroupeApp": "CR_INTER" +}, +{ +"Nom": "Signature Tech", +"Rubrique": "$TABCR.IMAGESIGNATURETECH$", +"Membre": ":m_SignatureTech", +"TypeMembre": "ChpImage", +"LargeurCol": 30, +"MembreMob": "CR_SignatureTech", +"EnvoiMob":1, +"BD":1, +"MembreEmailMob":"", +"GroupeApp": "CR_INTER" +}, +{ +"Nom": "Nom Signature Tech", +"Rubrique": "$TABCR.NOMSIGNATURETECH$", +"Membre": ":m_sNomSignataireTech", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 30, +"MembreMob": "CR_NomSignataireTech", +"EnvoiMob":1, +"BD":1, +"MembreEmailMob":"", +"GroupeApp": "CR_INTER" +}, +{ +"Nom": "Devis conforme", +"Rubrique": "$TABCR.DEVISCONFORME$", +"Membre": ":m_bDevisConforme", +"TypeMembre": "ChpSimpleBooleen", +"LargeurCol": 30, +"MembreMob": "CR_DevisConforme", +"EnvoiMob":1, +"BD":1, +"MembreEmailMob":"", +"GroupeApp": "CR_INTER" +}, +{ +"Nom": "Avec Réserve", +"Rubrique": "$TABCR.AVECRESERVE$", +"Membre": ":m_bAvecReserve", +"TypeMembre": "ChpSimpleBooleen", +"LargeurCol": 30, +"MembreMob": "CR_AvecReserve", +"EnvoiMob":1, +"BD":1, +"MembreEmailMob":"", +"GroupeApp": "CR_INTER" +} +, +{ +"Nom": "Commentaire Réserve", +"Rubrique": "$TABCR.RESERVECOMMENTAIRE$", +"Membre": ":m_sReserveCommentaire", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 50, +"MembreMob": "CR_ReserveCommentaire", +"EnvoiMob":1, +"BD":1, +"MembreEmailMob":"", +"GroupeApp": "CR_INTER" +06/08/2026 Isis_BO 6394 + +Partie 7 › Collection de procédures › COL_JSON_INFO › Code +}, +{ +"Nom": "Information supplémentaire", +"Rubrique": "$TABCR.EXTRA$", +"Membre": "", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 50, +"MembreMob": "saExtra", +"EnvoiMob":1, +"BD":0, +"InvisibleBO" : 1, +"Modifiable":1, +"GroupeApp": "CR_INTER" +}] +} +] +renvoyer sDescription +Procédure globale TabDonneurOrdre_Rapport +procédure TabDonneurOrdre_Rapport() +sDescription est une chaîne ANSI = [ +{ +"Description": "Tableau donneurs d'ordres", +"Rubrique": "$TABCONTACTCLIENT$", +"Membre": "ListeContactClient", +"Type": "Tableau", +"Ordre": 17, +"TermeVisible": 1, +"Groupe": "Donneurs d'ordres", +"MembreMob": "CONTACT_CLIENT_DONNEURS", +"EnvoiMob":1, +"BD":0, +"MembreEmailMob":"CLIENT.TB.CT", +"GroupeApp": "DONNEURS_ORDRE", +"ListeMembre": [ +{ +"Nom": "Nom - Prenom", +"Rubrique": "$TABCTCLIENT.NOMPRENOM$", +"Membre": ":m_clContact:CiviliteNomPrenom", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 54.9, +"MembreMob": "saNom", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MembreEmailMob":"CLIENT.U.NOMPRENOM", +"GroupeApp": "DONNEURS_ORDRE", +"Ordre":1 +}, +{ +"Nom": "Tel. 1", +"Rubrique": "$TABCTCLIENT.TELFIXE$", +"Membre": ":m_clContact:m_sTelFixe", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 25, +"MembreMob": "saTFix", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MembreEmailMob":"CLIENT.U.TEL1", +"GroupeApp": "DONNEURS_ORDRE", +"Ordre":2 +06/08/2026 Isis_BO 6395 + +Partie 7 › Collection de procédures › COL_JSON_INFO › Code +}, +{ +"Nom": "Tel. 2", +"Rubrique": "$TABCTCLIENT.TELFAXE$", +"Membre": ":m_clContact:m_sFax", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 25, +"MembreMob": "saTMob", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MembreEmailMob":"CLIENT.U.TEL2", +"GroupeApp": "DONNEURS_ORDRE", +"Ordre":3 +}, +{ +"Nom": "Rôle", +"Rubrique": "$TABCTCLIENT.ROLE$", +"Membre": ":m_clContact:LibRole", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 25, +"MembreMob": "saRole", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MembreEmailMob":"CLIENT.U.ROLE", +"GroupeApp": "DONNEURS_ORDRE", +"Ordre":4 +}, +{ +"Nom": "Information supplémentaire", +"Rubrique": "$TABCTCLIENT.EXTRA$", +"Membre": "", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 25, +"MembreMob": "saExtra", +"EnvoiMob":1, +"BD":0, +"InvisibleBO" : 1, +"Modifiable":1, +"GroupeApp": "DONNEURS_ORDRE" +}] +} +] +renvoyer sDescription +Procédure globale TabPhotos_Rapport +procédure TabPhotos_Rapport() +sDescription est une chaîne ANSI = [ +{ +"Description": "Tableau photos d'intervention", +"Rubrique": "$TABPHOTO$", +"Membre": "ListeDocument", +"Type": "Tableau", +"Ordre": 19, +"TermeVisible": 1, +"Groupe": "Photos", +"MembreMob": "PHOTOS", +"EnvoiMob":1, +"BD":0, +"GroupeApp": "PHOTO_INTER", +"ListeMembre": [ +06/08/2026 Isis_BO 6396 + +Partie 7 › Collection de procédures › COL_JSON_INFO › Code +{ +"Nom": "Photo", +"Rubrique": "$TABPHOTO.IMAGE$", +"Membre": ":m_sCheminFichier", +"TypeMembre": "ChpImage", +"LargeurCol": 54.9, +"MembreMob": "saNom", +"EnvoiMob":1, +"BD":0, +"GroupeApp": "PHOTO_INTER" +}, +{ +"Nom": "Date Photo", +"Rubrique": "$TABPHOTO.DATEIMAGE$", +"Membre": ":m_dDateFichier", +"TypeMembre": "ChpSimpleDate", +"LargeurCol": 54.9, +"MembreMob": "saDate", +"EnvoiMob":1, +"BD":0, +"GroupeApp": "PHOTO_INTER" +}, +{ +"Nom": "Note Photo", +"Rubrique": "$TABPHOTO.NOTEIMAGE$", +"Membre": ":ListeCommentaire", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 54.9, +"MembreMob": "saNotes", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"GroupeApp": "PHOTO_INTER" +}, +{ +"Nom": "Information supplémentaire", +"Rubrique": "$TABPHOTO.EXTRA$", +"Membre": "", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 54.9, +"MembreMob": "saExtra", +"EnvoiMob":1, +"BD":0, +"InvisibleBO" : 1, +"Modifiable":1, +"GroupeApp": "PHOTO_INTER" +}] +} +] +renvoyer sDescription +Procédure globale TabRDV_Rapport +procédure TabRDV_Rapport() +sDescription est une chaîne ANSI = [ +{ +"Description": "Tableau rendez-vous", +"Rubrique": "$TABRENDEZVOUS$", +"Membre": "ListeRendezVous", +"Type": "Tableau", +"Ordre": 23, +"TermeVisible": 1, +"Groupe": "Rendez-vous", +06/08/2026 Isis_BO 6397 + +Partie 7 › Collection de procédures › COL_JSON_INFO › Code +"MembreMob": "RDV", +"EnvoiMob":1, +"BD":0, +"MembreEmailMob":"RDV.TB", +"GroupeApp": "RDV_INTER", +"ListeMembre": [ +{ +"Nom": "Débuté le", +"Rubrique": "$TABRDV.DATEDEBUT$", +"Membre": ":m_dhDateDebut", +"TypeMembre": "ChpSimpleDateHeure", +"LargeurCol": 90, +"MembreMob": "saDateDebut", +"EnvoiMob":1, +"BD":0, +"MembreEmailMob":"RDV.U.DHDEBUT", +"GroupeApp": "RDV_INTER", +"Ordre":1 +}, +{ +"Nom": "Fini le", +"Rubrique": "$TABRDV.DATEFIN$", +"Membre": ":m_dhDateFin", +"TypeMembre": "ChpSimpleDateHeure", +"LargeurCol": 30, +"MembreMob": "saDateFin", +"EnvoiMob":1, +"BD":0, +"MembreEmailMob":"RDV.U.DHFIN", +"GroupeApp": "RDV_INTER", +"Ordre":2 +}, +{ +"Nom": "Débuté le (Date)", +"Rubrique": "$TABRDV.DATEDEBUT_D$", +"Membre": ":m_dhDateDebut", +"TypeMembre": "ChpSimpleDate", +"LargeurCol": 90, +"MembreMob": "saDateDebut", +"EnvoiMob":1, +"BD":0, +"MembreEmailMob":"RDV.U.DDEBUT", +"GroupeApp": "RDV_INTER", +"Ordre":1 +}, +{ +"Nom": "Fini le (Date)", +"Rubrique": "$TABRDV.DATEFIN_D$", +"Membre": ":m_dhDateFin", +"TypeMembre": "ChpSimpleDate", +"LargeurCol": 30, +"MembreMob": "saDateFin", +"EnvoiMob":1, +"BD":0, +"MembreEmailMob":"RDV.U.DFIN", +"GroupeApp": "RDV_INTER", +"Ordre":2 +}, +{ +"Nom": "Objet du rendez-vous", +"Rubrique": "$TABRDV.OBJET$", +"Membre": ":m_sObjet", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 50, +"MembreMob": "saObjet", +"EnvoiMob":1, +06/08/2026 Isis_BO 6398 + +Partie 7 › Collection de procédures › COL_JSON_INFO › Code +"BD":0, +"Modifiable":1, +"MembreEmailMob":"RDV.U.OBJET", +"GroupeApp": "RDV_INTER", +"Ordre":3 +}, +{ +"Nom": "Note rendez-vous", +"Rubrique": "$TABRDV.NOTE$", +"Membre": ":m_sDescription", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 100, +"MembreMob": "saNote", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MembreEmailMob":"RDV.U.NOTE", +"GroupeApp": "RDV_INTER", +"Ordre":4 +}, +{ +"Nom": "Collaborateurs", +"Rubrique": "$TABRDV.COLLABORATEUR$", +"Membre": ":Collaborateur", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 50, +"MembreMob": "saCollaborateurs", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"GroupeApp": "RDV_INTER" +}, +{ +"Nom": "Information supplémentaire", +"Rubrique": "$TABRDV.EXTRA$", +"Membre": "", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 50, +"MembreMob": "saExtra", +"EnvoiMob":1, +"BD":0, +"InvisibleBO" : 1, +"Modifiable":1, +"GroupeApp": "RDV_INTER" +}, +{ +"Nom": "Contact du site", +"Rubrique": "$TABRDV.CONTACTSITE$", +"Membre": ":ContactSite", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 50 +}] +} +] +renvoyer sDescription +Procédure globale Type_Activite_Json +procédure Type_Activite_Json():Buffer +stParamTypeAct est un ST_TypeActiviteRDV +stParamTypeAct.envoi_mobile = 0 +stParamTypeAct.present_devis = 0 +stParamTypeAct.valider_rdv = 0 +06/08/2026 Isis_BO 6399 + +Partie 7 › Collection de procédures › COL_JSON_INFO › Code +stParamTypeAct.saisir_temps_obligatoire = 0 +bufParam est un Buffer +Sérialise(stParamTypeAct,bufParam,psdJSON) +renvoyer bufParam +Procédure globale Type_Temp_Json +procédure Type_Temp_Json():Buffer +stParamTypeTemps est un ST_TypeTempsrdv +stParamTypeTemps.obligatoire = "0000" +stParamTypeTemps.heure_debut = "000000" +stParamTypeTemps.heure_fin = "000000" +stParamTypeTemps.temps_max = "0" +stParamTypeTemps.temps_min = "0" +stParamTypeTemps.devis = 0 +stParamTypeTemps.type_act ="1" +bufParam est un Buffer +Sérialise(stParamTypeTemps,bufParam,psdJSON) +renvoyer bufParam +06/08/2026 Isis_BO 6400 + +Partie 7 › Collection de procédures › COL_Structures › Code +COL_Structures +Code +Déclaration de COL_Structures +stInfoRDV est une Structure +saDateDebut est une chaîne ANSI +saDateFin est une chaîne ANSI +saHeureDebut est une chaîne ANSI +saHeureFin est une chaîne ANSI +saHeureDebutPlanning est une chaîne ANSI +saHeureFinPlanning est une chaîne ANSI +saDossier est une chaîne ANSI +saIntervention est une chaîne ANSI +saDevis est une chaîne ANSI +saNomClient est une chaîne ANSI +saCodeClient est une chaîne ANSI +saTechnicien est une chaîne ANSI +saTypeTemps est une chaîne ANSI +sAQteHeures est une chaîne ANSI +saTypeRDV est une chaîne ANSI +saNomSociete est une chaîne ANSI +saBGSociete est une chaîne ANSI +saAdresse est une chaîne ANSI +saCP est une chaîne ANSI +sAVille est une chaîne ANSI +nIdRdv est un entier sur 8 octets +nSav est un entier +sCreationCR est une chaîne ANSI +bTempsSaisie est un booléen +fin +STCompteRenduRqListe est une Structure +dhDateHeureDebut est une DateHeure +dhDateHeureFin est une DateHeure +nIN_PKID est un entier sur 8 octets +nIdGroupe est un entier sur 8 octets +nRDV_PKID est un entier sur 8 octets +nIdGroupeDate est un entier sur 8 octets +dhDateCreation est une DateHeure +GUID est une chaîne +fin +STSuivisRqListe est une Structure +dhDateHeureDebut est une DateHeure +dhDateHeureFin est une DateHeure +nIN_PKID est un entier sur 8 octets +nRDV_PKID est un entier sur 8 octets +dhDateCreation est une DateHeure +sGUID est une chaîne +nNbMin est un entier +sTypeTemps est une chaîne ANSI +nIdTypeTemps est un entier sur 8 octets +dhDateHDRDV est une DateHeure +dhDateHFRDV est une DateHeure +fin +STInfoSuivis est une Structure +nRDV_PKID est un entier sur 8 octets +06/08/2026 Isis_BO 6401 + +Partie 7 › Collection de procédures › COL_Structures › Code +taSuivis est un tableau associatif de STSuivisRqListe +fin +STInfoRdvSoc est une Structure +tabRDV est un tableau de stInfoRDV +fin +STRDVs est une Structure +tatbRDVs est un tableau de RendezVous +fin +ST_TypeTempsrdv est une Structure +obligatoire est un entier +heure_debut est une chaîne ANSI +heure_fin est une chaîne ANSI +temps_max est une chaîne ANSI +temps_min est une chaîne ANSI +devis est un entier +type_act est une chaîne ANSI +sCouleur est une chaîne ANSI +fin +ST_TypeActiviteRDV est une Structure +Envoi_mobile est un entier +Saisir_temps_obligatoire est un entier +Present_devis est un entier +Valider_rdv est un entier +sCouleur est une chaîne ANSI +fin +ST_Param_Societe est une Structure +sCouleur est une chaîne ANSI +SMTP est un STParamEnvoiEmail +Compte est un STParamEmail +fin +ST_Param_Status_RDV est une Structure +sCouleur est une chaîne ANSI +fin +ColbRes est une Structure +bEq est un booléen +sNomEq est une chaîne ANSI +nIdEq est un entier sur 8 octets +nOrdre est un entier +nIdColb est un entier sur 8 octets +Colb est un tableau de STItemChoix +saCouleur est un Couleur +fin +06/08/2026 Isis_BO 6402 + +Partie 7 › Collection de procédures › COL_Constantes › Code +COL_Constantes +Code +Déclaration de COL_Constantes +constante +c_NomParamTrieInter = "CHOIX_TRIE_ONGLET_DOSSIER" +c_Choix_AGD_PL = "Choix_AGD_PL" +//Fen Dossier +c_CouleurIconeSoc= "CIS" +c_CouleurSociete = "CS" +c_TrieInfo = "TI" +c_OngletInfoA = "OIA" +// Sélection Préférences Onglet Intervention +// Trie +C_DateD_R = 1 +C_DateD_A = 2 +C_NumInter_E = 3 +C_NumInter_P = 4 +C_TitreInter_A = 5 +C_TitreInter_Z = 6 +C_NumDevis_E = 7 +C_NumDevis_A = 8 +C_RefExtInter_E = 9 +C_RefExtInter_P = 10 +//Nom dans l'onglet +C_ParDDemd = 1 +C_ParNumInter = 2 +C_ParTitre = 3 +C_ParNumDevis = 4 +C_ParRefExt = 5 +// Diff inter oar Société +C_ParTexte = 1 +C_ParIcone = 2 +C_ParTexIcon = 3 +C_ParAucun = 4 +c_IMAP = "IMAP" +c_POP = "POP" +c_SMTP = "SMTP" +c_Sec_Aucun = 1 +c_Sec_TLS = 2 +c_Sec_SSL = 3 +cRp_Inter = "INTER" +cRp_Dossier = "DOSSIER" +cRp_Client = "CLIENT" +cRp_CtSite = "CONTACT_SITE" +cRp_CR = "CR_INTER" +cRp_CtDonneurs = "DONNEURS_ORDRE" +cRp_Photo = "PHOTO_INTER" +cRp_RDV = "RDV_INTER" +cRp_Extra = "EXTRA" +fin +06/08/2026 Isis_BO 6403 + +Partie 7 › Collection de procédures › COL_PrefAGD › Code +COL_PrefAGD +Code +Déclaration de COL_PrefAGD +ST_ChoixAGD est une Structure +tabListe est un tableau de STPrefAgdPl +tabTitreRDV est un tableau de STItemChoixRDV +tabDescrRDV est un tableau de STItemChoixRDV +tabBulleRDV est un tableau de STItemChoixRDV +fin +STItemChoixEq est une Structure +sNomest une chaîne ANSI +nOrdre est un entier +sCouleur est une chaîne ANSI +tabColb est un tableau de STItemChoix +fin +STItemChoix est une Structure +nId est un entier sur 8 octets +nOrdre est un entier +fin +STItemChoixRDV est une Structure +saOption est une chaîne ANSI +nOrdre est un entier +fin +STPrefAgdPl est une Structure +sNom est une chaîne ANSI +nId est un entier +bParDefaut est un booléen +bAffichageParEq est un booléen +tabEquipe est un tableau de STItemChoixEq +tabColb est un tableau de STItemChoix +fin +constante +cAGD_HRDV = "HeureRDV" +cAGD_NDevis = "IN_NumDevis" +cAGD_NInter = "IN_RefInterne" +cAGD_RefExtInter = "IN_RefExterne" +cAGD_TypeRDV = "TypeRDV" +cAGD_SiteNom = "SiteNom" +cAGD_Site = "Site" +cAGD_Contact = "Contact" +cAGD_Obj = "PL_Objet" +cAGD_Note = "PL_Description" +fin +Procédure globale ChargePrefAGD +procédure ChargePrefAGD() +stPrefUserAGD est un ST_ChoixAGD +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,[c_Choix_AGD_PL,gpcl +FicheUtilisateurEnCours:m_nPKID]) +si HTrouve(ParametreUtilisateur) alors +06/08/2026 Isis_BO 6404 + +Partie 7 › Collection de procédures › COL_PrefAGD › Code +si ParametreUtilisateur.PU_Valeur <> "" alors +Désérialise(stPrefUserAGD,ParametreUtilisateur.PU_Valeur,psdJSON) +fin +sinon +si gpclFicheUtilisateurEnCours <> Null _et_ gpclFicheUtilisateurEnCours.m_nPKID > 0 alors +si gpclFicheUtilisateurEnCours.m_nIDSocietePrincipale > 0 alors +reqColb est une Requête SQL = +[ +SELECT CO_PKID +FROM Utilisateur +INNER JOIN Collaborateur ON Utilisateur.UT_IDCollaborateur = Collaborateur. +CO_PKID +WHERE Utilisateur.UT_IDSocietePrincipale = {p_IdSoc} AND Collaborateur. +CO_AuPlanning = 1 AND Collaborateur.CO_Actif = 1 +] +reqColb.p_IdSoc = gpclFicheUtilisateurEnCours.m_nIDSocietePrincipale +si pas HExécuteRequêteSQL(reqColb) alors +LogEcrit("Problème requête sql dans ChargePrefAGD "+RC+HErreurInfo(hErrComplet)) +sinon +pref est un STPrefAgdPl +pref.sNom = "Par défaut" +pref.nId = 1 +pref.bAffichageParEq = Vrai +pref.bParDefaut = Vrai +b est un entier +pour tout reqColb +b+= 1 +stChoix est un STItemChoix +stChoix.nId = reqColb.co_pkid +stChoix.nOrdre = b +TableauAjoute(pref.tabColb,stChoix) +fin +TableauAjoute(stPrefUserAGD.tabListe,pref) +fin +fin +stChoixRdv est un STItemChoixRDV +stChoixRdv.nOrdre = 1 +stChoixRdv.saOption = cAGD_NInter +TableauAjoute(stPrefUserAGD.tabTitreRDV,stChoixRdv) +stChoixRdv.nOrdre= 2 +stChoixRdv.saOption = cAGD_NDevis +TableauAjoute(stPrefUserAGD.tabTitreRDV,stChoixRdv) +stChoixRdv.nOrdre= 1 +stChoixRdv.saOption = cAGD_Site +TableauAjoute(stPrefUserAGD.tabDescrRDV,stChoixRdv) +stChoixRdv.nOrdre= 2 +stChoixRdv.saOption = cAGD_Obj +TableauAjoute(stPrefUserAGD.tabDescrRDV,stChoixRdv) +stChoixRdv.nOrdre= 1 +stChoixRdv.saOption = cAGD_HRDV +TableauAjoute(stPrefUserAGD.tabBulleRDV,stChoixRdv) +bufResulBuf est un Buffer +Sérialise(stPrefUserAGD,bufResulBuf,psdJSON) +HRAZ(ParametreUtilisateur) +ParametreUtilisateur.PU_IDUtilisateur = gpclFicheUtilisateurEnCours:m_nPKID +06/08/2026 Isis_BO 6405 + +Partie 7 › Collection de procédures › COL_PrefAGD › Code +ParametreUtilisateur.PU_Code = c_Choix_AGD_PL +ParametreUtilisateur.PU_Valeur = bufResulBuf +HAjoute(ParametreUtilisateur) +fin +fin +TableauTrie(stPrefUserAGD.tabListe,ttMembre+tccRespecteNumérique,"+nId") +renvoyer stPrefUserAGD +06/08/2026 Isis_BO 6406 + +Partie 7 › Collection de procédures › COL_Visite › Code +COL_Visite +Code +Procédure globale InitVisiteListeColb +procédure InitVisiteListeColb() +"Utilitaire"> +// Création de la Visite Guidée +Visite est une VisiteGuidée +Visite.Identifiant = "Visite_Liste_Colb" +Visite.Version = 1 +Visite.ActionCible = vgaEtapeSuivante +Visite.ActionHorsCible = vgaAucune +Visite.Effet.Couleur = RVB(255, 153, 102) +Visite.Bulle.CouleurCadre = RVB(255, 51, 0) +Visite.Bulle.Mode = vgModeOpaque +Etape est une VisiteGuidéeEtape +Etape.Cible = FEN_Choix_Clb_AGD.BTN_ListePlus +Etape.Titre = "Créer une liste" +Etape.Description= [ +Vous pouvez créer une liste de collaborateurs pour pouvoir les consulter dans l'agenda +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Choix_Clb_AGD.BTN_SupListe +Etape.Titre = "Supprimer une liste" +Etape.Description= [ +Vous pouvez supprimer la liste sélectionnée en cliquant sur ce bouton +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Choix_Clb_AGD.ARBRE_Colb +Etape.Titre = "Liste des collaborateurs" +Etape.Description= [ +Vous pouvez choisir les collaborateurs disponibles dans cette liste +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Choix_Clb_AGD.BTN_EqpPlus +Etape.Titre = "Choisir un collaborateur / équipe" +Etape.Description= [ +Vous pouvez ajouter un Collaborateur ou une Equipe entière en cliquant sur ce bouton ou en double- +cliquant sur le nom de l'Equipe ou du Collaborateur. +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Choix_Clb_AGD.TABLE_Sel +Etape.Titre = "Listes de collaborateurs" +Etape.Description= [ +Liste des collaborateurs ou équipes sélectionnés, vous pouvez modifier le nom de l'Equipe et sa +couleur dans le planning en cliquant sur la palette de couleurs +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Choix_Clb_AGD.GR_BTN +Etape.Titre = "Ordre de présentation" +06/08/2026 Isis_BO 6407 + +Partie 7 › Collection de procédures › COL_Visite › Code +Etape.Description= +"Vous pouvez modifier l'ordre dans lequel chaque collaborateur est présenté sur le planning en cliquant +sur ces boutons" +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Choix_Clb_AGD.BTN_EqpMoins +Etape.Titre = "Supprimer un collaborateur" +Etape.Description= "Vous pouvez supprimer un collaborateur de votre liste en cliquant sur ce bouton." +Ajoute(Visite.Étape, Etape) +Visite.Démarre() + +Procédure globale InitVisiteParamAGD +procédure InitVisiteParamAGD() +"Utilitaire"> +// Création de la Visite Guidée +Visite est une VisiteGuidée +Visite.Identifiant = "Visite_Param_RDV_AGD" +Visite.Version = 1 +Visite.ActionCible = vgaEtapeSuivante +Visite.ActionHorsCible = vgaAucune +Visite.Effet.Couleur = RVB(255, 153, 102) +Visite.Bulle.CouleurCadre = RVB(255, 51, 0) +Visite.Bulle.Mode = vgModeOpaque +Etape est une VisiteGuidéeEtape +Etape.Cible = FEN_Parametres_Granularite_RDV.SC_FicheRDV +Etape.Titre = "Paramètres de l'agenda" +Etape.Description= [ +Vous pouvez configurer les plages horaires de votre agenda ainsi que les informations affichées sur +les rendez-vous. +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Parametres_Granularite_RDV.GR_BTN +Etape.Titre = "Ordre de présentation" +Etape.Description= [ +Vous pouvez modifier l'ordre dans lequel chaque élément est présenté en cliquant sur ces boutons +] +Ajoute(Visite.Étape, Etape) +Visite.Démarre() + +Procédure globale InitVisitePlanning +procédure InitVisitePlanning(sNomFen est une chaîne) +"Utilitaire"> +// Création de la Visite Guidée +Visite est une VisiteGuidée +Visite.Identifiant = "Visite_Planning" +Visite.Version = 1 +Visite.ActionCible = vgaEtapeSuivante +Visite.ActionHorsCible = vgaAucune +Visite.Effet.Couleur = RVB(255, 153, 102) +Visite.Bulle.CouleurCadre = RVB(255, 51, 0) +Visite.Bulle.Mode = vgModeOpaque +06/08/2026 Isis_BO 6408 + +Partie 7 › Collection de procédures › COL_Visite › Code +Etape est une VisiteGuidéeEtape +Etape.Cible = sNomFen = "FI_AgendaPlanning" ? FI_AgendaPlanning.BTN_Cald sinon FI_Agenda.BTN_ +Cald +Etape.Titre = "Calendrier" +Etape.Description= [ +Vous pouvez choisir une date à partir du calendrier +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = sNomFen = "FI_AgendaPlanning" ? FI_AgendaPlanning.GR_DatesBTN sinon FI_Agenda. +GR_DatesBtn +Etape.Titre = "Modifier la période" +Etape.Description= [ +Vous pouvez reculer ou avancer la période en cliquant sur ces boutons +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = sNomFen = "FI_AgendaPlanning" ? FI_AgendaPlanning.COMBO_ListeColb sinon FI_ +Agenda.COMBO_ListeColb +Etape.Titre = "Listes de collaborateurs" +Etape.Description= [ +Vous pouvez consulter le planning en choisissant l'une des listes de collaborateurs configurées. +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = sNomFen = "FI_AgendaPlanning" ? FI_AgendaPlanning.BTN_Listes sinon FI_Agenda. +BTN_Listes +Etape.Titre = "Paramétrer les listes de collaborateurs" +Etape.Description= [ +Vous pouvez configurer des listes de collaborateurs selon vos besoins. +Conseil : Il est recommandé de créer des Listes de consultation pour votre planning. Cela simplifie +la consultation et vous fait gagner du temps au Lieu de sélectionner les collaborateurs un par un. +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = sNomFen = "FI_AgendaPlanning" ? FI_AgendaPlanning.BTN_Colb sinon FI_Agenda.BTN_ +Colb +Etape.Titre = "Collaborateurs" +Etape.Description= "Vous pouvez choisir un ou plusieurs collaborateurs pour afficher leur planning" +Ajoute(Visite.Étape, Etape) +Etape.Cible = sNomFen = "FI_AgendaPlanning" ? FI_AgendaPlanning.GR_Jours sinon FI_Agenda.GR_ +Jours +Etape.Titre = "Période affichée" +Etape.Description= [ +Vous pouvez modifier la durée de la période en cliquant sur ces boutons +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = sNomFen = "FI_AgendaPlanning" ? FI_AgendaPlanning.IMG_Parametrage sinon FI_ +Agenda.IMG_Parametrage +Etape.Titre = "Paramètres" +Etape.Description= +"Vous pouvez configurer l’affichage de votre planning ainsi que celui de vos rendez-vous." +Ajoute(Visite.Étape, Etape) +Visite.Démarre() + +06/08/2026 Isis_BO 6409 + +Partie 8 › Tests automatiques +Partie 8 +Tests +automatiques +| 06/08/2026 | Isis_BO | 6410 | +| ---------- | ------- | ---- | + +Partie 8 › Tests automatiques +TEST_PFicheSociete +Code +Déclaration de TEST_PFicheSociete +clErr est un CErreur +//clFicheSociete est un PFicheSociete dynamique +//clFicheSociete = PFicheSociete.gNouvellePresentation() +//PFicheSociete.gFicheAdresse(clFicheSociete) +Avant le test bOK_TestUnitaire +// Ajoutez ici les appels à TestAjouteItération pour exécuter le scénario avec différents paramètres +// (les paramètres spécifiés correspondent aux paramètres du scénario) +TestAjouteItération(clErr, Faux, Faux) +Scénario du test bOK_TestUnitaire +procédure MonScénario(clErreur est un CErreur, bMajCourant est un booléen, RésultatAttendu est un +booléen) +c est un PFicheSociete dynamique = PFicheSociete.gNouvellePresentation() +PFicheSociete.gFicheAdresse(c) +soit bRésultat=c:bOK(clErreur)//c:bOK(clErreur,bMajCourant) +TestVérifieEgalité(bRésultat, RésultatAttendu) +Tests automatiques +Synthèse des résultats +Il n'y a pas de tests automatiques sur le projet. +06/08/2026 Isis_BO 6411 + +Partie 9 › Composant interne WDFAA +Partie 9 +Composant +interne WDFAA +| 06/08/2026 | Isis_BO | 6412 | +| ---------- | ------- | ---- | + +Partie 9 › Composant interne WDFAA +Composant interne WDFAA +Informations générales +| Répertoire | D:\Projets Windev\Batik\WD30\Dev\WDFAA_1 | | | | +| ------------ | ---------------------------------------- | --- | --- | --- | +| Nom physique | WDFAA.wci | | | | +Composant interne WDFAA +Schéma des données et contextes +Le composant interne utilise le schéma des données du projet ou aucun schéma des données (partage complet). +Le composant interne accède aux tables du projet et utilise les mêmes contextes d'exécution que le projet. +Composant interne WDFAA +Liste des éléments du composant interne +| | Nom | | Libellé | Public | +| --- | --- | --- | ------- | ------ | +WinDevDialogBox +WinDevMessageBox +FI_WinDevFAA_RubanTT +FI_WinDevVueRDV +Statistiques +| Nombre de fenêtres : | | | | 4 | +| -------------------- | --- | ------- | --- | ---- | +| 06/08/2026 | | Isis_BO | | 6413 | + +Partie 9 +WinDevDialogBox +Image +WinDevDialogBox +Informations générales +WinDevDialogBox +Fichier physique D:\Projets Windev\Batik\WD30\Dev\WDFAA_1\WinDevDialogBox.wdw +| Créé par | | XVA | | | | +| -------------------------- | --- | ------------------- | --- | --- | --- | +| Date de création | | 12/02/2019 12:07:08 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:24 | | | | +FR: +Titre +GB: +| Type fenêtre | | Fenêtre libre | | | | +| ------------------------ | ------------ | ----------------------------- | --------- | --------------- | --- | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 251 Hauteur | 94 | +| 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é | | Non | | | | +| 06/08/2026 | | | Isis_BO | | 6414 | + +Partie 9 › WinDevDialogBox › Informations générales +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Non +Type cadre Double +Transparence Vista Non +Transparence gérée par Vista Non +Appliquer le thème du projet Toujours +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 8 +Pos. Y Menu 33 +Texte Markdown Non +Mode menu ctx. <Aucun> +M.C.U. Non +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 +Image poignée D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\150 ActivAndroid +Statistiques de la fenêtre +Champ de saisie 1 Libellé 2 +Bouton 3 Interrupteur 1 +Image 4 Option d'interrupteur 1 +Nombre d'éléments dans la fenêtre : 12 +WinDevDialogBox +Informations sur les champs +06/08/2026 Isis_BO 6415 + +Partie 9 › WinDevDialogBox › Informations sur les champs +Fenêtre : WinDevDialogBox +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_1 | 51 -107 | 181 | 22 | 0 | Actif | Texte | | Non | | | | | +| ----- | ------- | --- | --- | --- | ----- | ----- | --- | --- | --- | --- | --- | --- | +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | | | | +elbisiV +nalP +| LIB_INFO | | 60 | 6 | 165 | 44 | 0 | affichag | | Gauche | Centre | | | +| --------- | --- | --- | --- | --- | --- | --- | -------- | ----- | ------ | ------ | --- | --- | +| LIB_TITRE | | 54 | -82 | 177 | 48 | 0 | | Actif | Gauche | Centre | | | +Bouton +notuob epyT +| | | | | | | | | | laitini tatE | BAT ehcuoT | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | ---------- | --- | --- | +| | | | X noitisoP | Y noitisoP | | | | | | | | | +| | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_1 | | | 86 | 57 | 80 | 24 | | 0 | Actif | | Normal | | +| ------------ | --- | --- | ---- | --- | --- | --- | --- | --- | ----- | --- | ------- | --- | +| BTN_ESC | | | -5 | -99 | 44 | 48 | | 0 | Actif | | Abandon | | +| BTN_MOBILE_1 | | | -199 | 58 | 142 | 36 | | 0 | Actif | | Normal | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | staté siorT | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +ruegraL +elbisiV +nalP +| INT_1 | | | 51 -152 | 181 | 36 | | 0 | Actif | | | 1 | | +| ---------- | --- | --- | ------- | --- | ------- | --- | --- | ----- | --- | --- | --- | ---- | +| 06/08/2026 | | | | | Isis_BO | | | | | | | 6416 | + +Partie 9 › WinDevDialogBox › 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 +| ICONE | 6 | 6 48 | 48 0 | Actif | | +| ---------------- | ---- | ---- | ---- | ----- | --- | +| ICON_ERREUR | -108 | 6 48 | 48 0 | Actif | | +| ICON_INFORMATION | -227 | 6 48 | 48 0 | Actif | | +| ICON_Question | -168 | 6 48 | 48 0 | Actif | | +Fenêtre : WinDevDialogBox +Bouton : BTN_1 +| Libellé | FR: Bouton | | | | | +| ------- | ---------- | --- | --- | --- | --- | +GB: Button +| 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> | | | | | +| Nb. états image | 1 | | | | | +Image fond FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\150 ActivAndroid +2\ActivAndroid 2_Btn_Std.png +| Nb. états fond | 5 | | | | | +| ---------------------------- | ------------------ | ------- | --- | --- | ---- | +| Etirement de l'image de fond | Largeur et hauteur | | | | | +| 06/08/2026 | | Isis_BO | | | 6417 | + +Partie 9 › WinDevDialogBox › Informations sur les champs +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : BTN_ESC +Libellé FR,GB: ESC +Ordre navigation -1 +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> +Nb. états image 5 +Image fond FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\150 ActivAndroid +2\ActivAndroid 2_Btn_Std.png +Nb. états fond 5 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 6 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Isis_BO 6418 + +Partie 9 › WinDevDialogBox › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : BTN_MOBILE_1 +Libellé FR: Bouton +GB: Button +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> +Nb. états image 1 +Image fond FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\150 ActivAndroid +2\ActivAndroid 2_Btn_Std.png +Nb. états fond 5 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 6 +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 +06/08/2026 Isis_BO 6419 + +Partie 9 › WinDevDialogBox › Informations sur les champs +Image : ICONE +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 Cadrage ignoré (pour compatibilité) +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 Non +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF 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 : ICON_ERREUR +Valeur initiale FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\Attention.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Ascenseur et zoom auto. Non +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 6420 + +Partie 9 › WinDevDialogBox › 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 +Texte Markdown Non +Mode menu ctx. <Aucun> +Mire visible Oui +Zoom par double taps Non +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF 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 : ICON_INFORMATION +Valeur initiale FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\info.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 Non +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF 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 +06/08/2026 Isis_BO 6421 + +Partie 9 › WinDevDialogBox › Informations sur les champs +Image : ICON_Question +Valeur initiale FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\IconeQuestion.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 Non +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF 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 +Interrupteur : INT_1 +Libellé FR,GB: &Interrupteur +Valeur initiale 0 +Ordre navigation 2 +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 +06/08/2026 Isis_BO 6422 + +Partie 9 › WinDevDialogBox › Informations sur les champs +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\WD28\Dev\Planning\Isis_BO\Gabarits\WD\150 ActivAndroid +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 6 +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_INFO +Libellé FR: <Libellé avec %1, %2, etc..> +GB: <Label with %1, %2, etc..> +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,GB: 0 +Mode ellipse <Aucun> +Unicode Non +06/08/2026 Isis_BO 6423 + +Partie 9 › WinDevDialogBox › Informations sur les champs +Transforme le & Oui +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_TITRE +Libellé FR: <Titre> +GB: <Title> +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,GB: 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 6424 + +Partie 9 › WinDevDialogBox › Informations sur les champs +Champ de saisie : SAI_1 +Libellé FR: +GB: Texte +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 51 +Largeur interne 181 +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,GB: 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 +06/08/2026 Isis_BO 6425 + +Partie 9 › WinDevDialogBox › 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 1000 Taux anc. hauteur 1000 +WinDevDialogBox +Messages multilingues +06/08/2026 Isis_BO 6426 +¹ +.ssem +°N +Message +2000 FR: Annuler +GB: +2001 FR: &Abandonner +GB: +2002 FR: &Réessayer +GB: +2003 FR: &Ignorer +GB: +2004 FR: &Oui +GB: +2005 FR: &Non +GB: +2006 FR: &Annuler +GB: + +Partie 9 › WinDevDialogBox › Messages multilingues +¹ N° mess. : numéro de message. +WinDevDialogBox +Code +Déclarations globales de WinDevDialogBox +// gParamDial est un variant avec des membres: +// .titre = "Titre du dialogue" +// .message = "Message ligne1 1"+RC+"ligne 2" +// .tabBouton[1].lib = "OK" +// .tabBouton[2].lib = "Annuler" +// .boutonParDefaut = 1 +// .boutonAnnulation = 2 +//... +procédure WinDevDialogBox( gParamDial ) +global +gnLargeurBtn est un entier // Largeur pour les boutons du dialogue. +gnNbBouton est un entier = 1 +gnMargeBordBtn est un entier = 100 // Marge en plus des boutons pour la LargeurMin +gnLargeurMinFen est un entier = 200 // Largeur mini de la fenêtre +gnMargeinterBtnX est un entier = 12 // Marge entre les boutons +gnMargeinterBtny est un entier = 2 +gbEmpileSiDépasse est un booléen = Faux +// indique si on empile les boutons en Y si ils dépassent en largeur +gbBoutonEmpile est un booléen = Faux +// indique si il faut empiler les bouton les un sur les autres (pour mobile) +gnLargeurMaxFen est un entier = 4000 +// largeur Max de la fenêtre. sera mis a jour selon la taille de l'écran +gsPrefixeBouton est chaîne = "BTN_" +// préfixe du nom du bouton a clone. pour différentier le look Mobile/Win32 +gsNomBoutonAnnulation est chaîne = BTN_1..Nom /// nom du bouton annulation +gsChampSaisie est une chaîne +// initialisé dans le cas de la fonction Saisie(). Laissé a "" pour Dialogue() +// Init du dialogue +InitDialogue( ) +WinDevDialogBox +Code des champs +Clic sur BTN_1 +FermeDialogue(MoiMême..Note) +Clic sur BTN_ESC +06/08/2026 Isis_BO 6427 + +Partie 9 › WinDevDialogBox › Code des champs +ExécuteTraitement(gsNomBoutonAnnulation,trtClic) +Clic sur BTN_MOBILE_1 +FermeDialogue(MoiMême..Note) +Initialisation de SAI_1 +<compile si TypeConfiguration<>UniversalWindowsApp> +MoiMême..RetraitDroit = 2 +<fin> +WinDevDialogBox +Procédures +Procédure locale __bBitPresent +// indique si un bit est actif dans un entier +// pour ne pas utiliser OuBinaire et ne pas avoir de dépendance sur la MAT +procédure __bBitPresent(dwFlag est entier, dwPOWOF2 est entier) +si dwFlag = dwPOWOF2 alors renvoyer Vrai +nRes est entier = dwFlag & dwPOWOF2 +renvoyer nRes<>0 +Procédure locale _bEstNumriqueOuDateOuHeure +// Résumé : indique si un type de champ de saisie représente un numérique, une date ou une heure +procédure _bEstNumriqueOuDateOuHeure(local type entier) +// on aligne a droite les chaamp numérique, date +si type = typSaisieNum _ou_ +type = typSaisieMonétaire _ou_ +type = typSaisieDate _ou_ +type = typSaisieHeure alors +// numérique, une date ou une heure +renvoyer Vrai +fin +// autre +renvoyer Faux +Procédure locale _bModeMobile +// Indique si on est en mode windows mobile +procédure _bModeMobile() +si EnModeSimulateurAndroid() _ou_ +EnModeAndroid() _ou_ +EnModeSimulateuriOS() _ou_ +06/08/2026 Isis_BO 6428 + +Partie 9 › WinDevDialogBox › Procédures +EnModeSimulateurPocket() _ou_ +EnModeiOS() alors +renvoyer Vrai +fin +renvoyer Faux +Procédure locale AdapteLargeurSaisie +// Adapte la largeur du champ de saisie +procédure AdapteLargeurSaisie() +nNbCharMax est un entier +// W est généralement le caractère le plus large +nlargeurMax1Char est un entier +nlargeurMax1Char = TexteLargeur(SAI_1,"W" ) +// si texte +si SAI_1..TypeSaisie = typSaisieTexte alors +// le max dépend du nombre de char qu'on peut saisir +nNbCharMax = SAI_1..Taille +// si pas de max +si nNbCharMax= 0 alors +retour // ne rien faire, pas de max +fin +sinon +// le max de char saisissable est équivalent au nombre de char dans le champ de saisie +// ex: "999 999,99" +// "JJ/MM/AAAA" +nNbCharMax = Taille(SAI_1..MasqueSaisie) +fin +// si numérique ou date ou heure +si _bEstNumriqueOuDateOuHeure( SAI_1..TypeSaisie ) alors +// le char max saisissable est un nombre +nlargeurMax1Char = TexteLargeur(SAI_1, "0" ) +fin +// taille nécessaire +nMarges est entier = 8 +nLargeurNécessaire est entier = nNbCharMax *nlargeurMax1Char + nMarges +SAI_1..Largeur = nLargeurNécessaire +Procédure locale AfficherBoutons +// Procédure qui permet d'afficher les différents boutons selon la fonction demandée +// Init libellé et valeur de retour +procédure AfficherBoutons(tabBouton, local nBoutonDefaut entier, local nBoutonAnnulation entier <utile> +, local nDelaiAvantFermeture entier) +gnLargeurBtn=0 +06/08/2026 Isis_BO 6429 + +Partie 9 › WinDevDialogBox › Procédures +// largeur du bouton le plus large +nLargeurBtnMax est un entier=0 +nNbParamParBouton est un entier=1 +gnNbBouton = tabBouton..Occurrence +// si a on une fermeture automatique mais pas de bouton par défaut +si nDelaiAvantFermeture > 0 _et_ nBoutonDefaut <= 0 alors +// on utilise le premier +nBoutonDefaut = 1; +fin +i est un entier +sNomBouton est une chaîne +pour i=1 _à_ gnNbBouton +sLib est une chaîne= tabBouton[i].lib +sNomBouton = gsPrefixeBouton+i +//clone le bouton si nécessaire +si i>1 alors +si pas ChampExiste(sNomBouton) +ChampClone(gsPrefixeBouton + "1",sNomBouton) +fin +fin +{sNomBouton,indChamp}..NumTAB=i +//modifie le libellé +si _bModeMobile() alors +// pas de & dans les libellés des boutons en mobile +// car pas de clavier pour raccourci par lettre d(appel. +sLib = Remplace(sLib,"&","") +fin +{sNomBouton,indChamp}..Libellé=sLib +// init valeur de retour +nValeurRetour est entier = i +si tabBouton[i].val..existe alors nValeurRetour = tabBouton[i].val +{sNomBouton,indChamp}..Note=nValeurRetour// utilisé dans le code de clic du bouton +sTexteMax est une chaîne +// si la fenêtre est en validation automatique et que ce bouton est le bouton de validation +si nDelaiAvantFermeture > 0 _et_ i = nBoutonDefaut alors +// on réserve la place pour le compteur +sTexteMax = {sNomBouton,indChamp}..Libellé +" ("+NumériqueVersChaîne(nDelaiAvantFermeture, "d") ++" s)" +sinon +sTexteMax = {sNomBouton,indChamp}..Libellé +fin +//modifie la largeur +nLargeurMINBTN est entier = 80 +nMARGE est entier = 2*gnMargeinterBtnX +nLargeurBnI est entier = Max(nLargeurMINBTN, TexteLargeur({sNomBouton,indChamp}, sTexteMax, +tMonoligne)+nMARGE) +si nLargeurBnI > nLargeurBtnMax alors +nLargeurBtnMax = nLargeurBnI; // nouveau Max +fin +{sNomBouton,indChamp}..Largeur= nLargeurBnI; +//cumule la largeur +gnLargeurBtn += {sNomBouton,indChamp}..Largeur +06/08/2026 Isis_BO 6430 + +Partie 9 › WinDevDialogBox › Procédures +fin +<compile si TypeConfiguration<>Android> +pour i=1 _à_ gnNbBouton +sNomBouton = gsPrefixeBouton+i +// si c'est le bouton annulation +si i = nBoutonAnnulation alors +{sNomBouton,indChamp}..TypeBouton= btnAbandon +fin +// si c'est le bouton par défaut +si i = nBoutonDefaut alors +{sNomBouton,indChamp}..TypeBouton= btnValidation +fin +fin +<fin> +//par défaut, si on annule, c'est comme si on clique sur le bouton annulation +MaFenêtre..ValeurRenvoyée=gParamDial.boutonAnnulation +gsNomBoutonAnnulation = gsPrefixeBouton + gParamDial.boutonAnnulation +//on prend en compte l'espacement entre les boutons +gnLargeurBtn+=(gnNbBouton-1)*gnMargeinterBtnX +//si la largeur de bouton est > à l'écran +si gbEmpileSiDépasse _et_ gnLargeurBtn >= gnLargeurMaxFen-gnMargeinterBtnX alors +// tous les boutons ont la même largeur, celle du bouton le plus large +gnLargeurBtn = nLargeurBtnMax +// on dessine en mode "boutons les un sous les autres" +gbBoutonEmpile = Vrai +fin +Procédure locale AfficherImage +// affiche un icone prédéfini ou bien un perso si <nFlagImage=0> +procédure AfficherImage(local nFlagImage entier, local sImage chaîne ) +// si c'est un image prédéfinie +si nFlagImage<>0 alors +si EnModeiOS() _ou_ +EnModeAndroid() alors +// pas d''icone système en android ou IOS +ICONE..Visible = Faux +LIB_TITRE..X -= ICONE..Largeur +LIB_TITRE..Largeur += ICONE..Largeur +// si pas de libellé non plus +si LIB_TITRE = "" alors +// récupérer l'espace pour le texte +LIB_TITRE..Visible = Faux +LIB_INFO..Y -= LIB_TITRE..Hauteur +fin +fin +// MB_ICONEXCLAMATION = 0x00000030 +si __bBitPresent(nFlagImage , 0x20) _et_ __bBitPresent(nFlagImage , 0x10) alors +ICONE = ICON_ERREUR +// MB_ICONQUESTION = 0x00000020 +sinon si __bBitPresent(nFlagImage,0x20) alors +ICONE = ICON_Question +// MB_ICONASTERISK = 0x00000040 +06/08/2026 Isis_BO 6431 + +Partie 9 › WinDevDialogBox › Procédures +sinon si __bBitPresent(nFlagImage,0x00000040) alors +ICONE = ICON_INFORMATION +fin +// si c'est une image perso +sinon +ICONE = sImage +fin +Procédure locale CalculeMeilleureDimensionTexte +// calcule et redimensionne le libellé qu a affiche le message principal +procédure CalculeMeilleureDimensionTexte(nLargeurTexte est entier, nHauteurTexte est un entier, +szLibelle est une chaîne) +nLargeurInfoInit est un entier= LIB_INFO..Largeur +nHauteurInfoInit est un entier= LIB_INFO..Hauteur +//recherche de la meilleure largeur hauteur, en respectant si possible un rapport 4/3 +//calcule de la largeur la plus grande +LIB_INFO..Largeur=1000 +nLargeur0 est un entier= TexteLargeur(LIB_INFO, szLibelle, tMultiligne ) + 40 +nHauteur0 est un entier= TexteHauteur(LIB_INFO, szLibelle, tMultiligne ) + 20 +nLargeurTexte=nLargeur0 +nHauteurTexte=nHauteur0 +rRapport est un numérique=nLargeurTexte/nHauteurTexte +//trace("("+nLargeur0+","+nHauteur0+")="+rRapport) +nbPasse est un entier=0 +tantque rRapport>2 _et_ (nbPasse<10) +//si la fenêtre est très large +si nLargeurTexte>100 alors +LIB_INFO..Largeur=nLargeurTexte-100 +sinon +LIB_INFO..Largeur=nLargeurTexte-50 +fin +nLargeur0 = TexteLargeur(LIB_INFO, szLibelle, tMultiligne ) + 40 +nHauteur0 = TexteHauteur(LIB_INFO, szLibelle, tMultiligne ) + 20 +rRapport=nLargeur0/nHauteur0 +si rRapport <1.4 alors +//le nouveau rapport montre une fenetre trop haute +//on reste sur la dernière dimension calculée +sortir +fin +//si la nouvelle largeur ne change pas +si nLargeurTexte=nLargeur0 alors +sortir +fin +//on prend la nouvelle dimension +nLargeurTexte=nLargeur0 +nHauteurTexte=nHauteur0 +nbPasse++ //sécurité anti boucle infini +fin +///si nHauteurTexte < 50 alors nHauteurTexte = 50 +//rétablit les dimensions du champs +LIB_INFO..Largeur=nLargeurInfoInit +LIB_INFO..Hauteur=nHauteurInfoInit +Procédure locale CentrerBoutons +06/08/2026 Isis_BO 6432 + +Partie 9 › WinDevDialogBox › Procédures +// Procédure qui permet de centrer les boutons dans la fenêtre +procédure CentrerBoutons() +nPosDébut est entier = 0 +// en android l'ancrage n'est pas appliqué avant la fin de l’initialisation. on force les postions Y +nMargeBas est entier = 5 +nPosY est entier = MaFenêtre..Hauteur - BTN_1..Hauteur - nMargeBas +// Calculer la position de départ +nPosDébut = (MaFenêtre..Largeur - gnLargeurBtn) / 2 +// en android les boutons sont cadrés a droite +si EnModeAndroid() alors +nPosDébut = MaFenêtre..Largeur - gnLargeurBtn - gnMargeBordBtn/2 +fin +// MAJ position des boutons +i est un entier +pour i=1 _à_ gnNbBouton +sNomBouton est une chaîne= gsPrefixeBouton+i +{sNomBouton,indChamp}..X = nPosDébut +si _bModeMobile() alors +{sNomBouton,indChamp}..Y = nPosY +fin +nPosDébut+={sNomBouton,indChamp}..Largeur+gnMargeinterBtnX +fin +Procédure locale EmpileBoutons +// Procédure qui mets les boutons les un en dessous des autres si l'écran n'est pas assez large +// Pour mobile +procédure EmpileBoutons() +nPosX est entier = 0 +nPosY est entier = MaFenêtre..Hauteur - (({gsPrefixeBouton + "1",indChamp}..Hauteur + gn +MargeinterBtny) * (gnNbBouton)) +nPosY -= gnMargeBordBtn/2 +// Calculer la position de départ +nPosX = (MaFenêtre..Largeur - gnLargeurBtn) / 2 +// pour tous les boutons +i est un entier +pour i=1 _à_ gnNbBouton +sNomBouton est une chaîne= gsPrefixeBouton+i +// on les centre et on on leur donne leur positon et taille correcte +{sNomBouton,indChamp}..X = nPosX +{sNomBouton,indChamp}..Y = nPosY +{sNomBouton,indChamp}..Ancrage = 0 +{sNomBouton,indChamp}..Largeur = gnLargeurBtn +nPosY+={sNomBouton,indChamp}..Hauteur+gnMargeinterBtny // bouton suivant +fin +Procédure locale FermeDialogue +// ferme le dialogue et renvoie la valeur du bouton cliqué +// remplis aussi la valeur du champ de saisie/de l'interrupteur dans le cas de la fonction Saisie( +"XXX", ValSaisie ) +procédure FermeDialogue(local ValeurRet est un entier) +06/08/2026 Isis_BO 6433 + +Partie 9 › WinDevDialogBox › Procédures +// si on est utilisé pour la fonction Saisie() +si gParamDial.saisie.valeur..Existe _et_ gsChampSaisie<>"" alors +// affecte la valeur OUT dans le variant d'entrée +gParamDial.saisie.valeur = {gsChampSaisie, indChamp}..Valeur +fin +Ferme("", ValeurRet) +Procédure locale InitChampSaisieOuInterrupteur +// Résumé : Initialisation du champ de saisie +// <varSaisie> : sous partie du variant paramètre pour la partie saisie. +// ex: +// x.saisie.type = typSaisieTexte +procédure InitChampSaisieOuInterrupteur( varSaisie ) +// que si on a défini un type de Saisie() +si pas varSaisie.type..existe alors +retour +fin +// si on veut un interrupteur +si varSaisie.type = typInterr alors +INT_1..Visible = Vrai +// nom a utiliser +gsChampSaisie = MaFenêtre..Nom + "." + INT_1..Nom +// Init Libellé +INT_1[1]..Libellé = varSaisie.libelleOptionnel +// Init valeur +INT_1 = varSaisie.valeur +retour +fin +// autre cas : on veut un champ de saisie +// nom a utiliser +gsChampSaisie = MaFenêtre..Nom + "." + SAI_1..Nom +// type de saisie (date, numérique, texte, ... ) +SAI_1..TypeSaisie = varSaisie.type +// masque +si varSaisie.masqueSaisie..existe alors +SAI_1..MasqueSaisie = varSaisie.masqueSaisie +fin +// init propriété supplémentaires +<compile si TypeConfiguration<>Android> +si varSaisie.effacementAutomatique..Existe alors +SAI_1..EffacementAutomatique = varSaisie.effacementAutomatique +fin +<fin> +<compile si TypeConfiguration<>iOS> +// init format mémorisée pour le cas des date+heure +si varSaisie.formatMemorise..Existe alors +SAI_1..FormatMémorisé = varSaisie.formatMemorise +fin +si varSaisie.motDePasse..Existe alors +SAI_1..MotDePasse = varSaisie.motDePasse +fin +<fin> +si varSaisie.tailleSaisie..Existe alors +06/08/2026 Isis_BO 6434 + +Partie 9 › WinDevDialogBox › Procédures +SAI_1..Taille = varSaisie.tailleSaisie +fin +//chDroite non dispo en IOS +<compile si TypeConfiguration<>iOS> +// on aligne a droite les chaamp numérique, date +si _bEstNumriqueOuDateOuHeure( varSaisie.type ) alors +SAI_1..CadrageHorizontal = chDroite +fin +<fin> +// si chaine avec RC on utilise un champ multi-ligne +sValeurInitiale est chaîne = varSaisie.valeur +si varSaisie.type = typSaisieTexte _et_ Position(sValeurInitiale,RC)>0 alors +{gsChampSaisie, indChamp}..Multiligne = Vrai +{gsChampSaisie, indChamp}..Largeur = TexteLargeur(SAI_1, sValeurInitiale,tMultiligne) +{gsChampSaisie, indChamp}..Hauteur = TexteHauteur(SAI_1, sValeurInitiale,tMultiligne) +fin +<compile si TypeConfiguration<>Android et TypeConfiguration<>iOS > +si varSaisie.boutonCalculatrice alors +SAI_1..BoutonCalculatrice = Vrai +fin +<fin> +si _bModeMobile() alors +SAI_1..PoliceTaille = LIB_INFO..PoliceTaille +fin +SAI_1..Visible = Vrai +// valeur initiale +SAI_1 = sValeurInitiale +Procédure locale InitDialogue +// Initialisation du dialogue +// en fonction des paramètre passé a la fenêtre, en particulier le variant <gParamDial> +procédure InitDialogue( ) +// MAJ des globales si on est en mobile / linux +InitSiMobile() +si EnModeLinux() alors +FenChangeAgencement(1) // comme Windows +fin +// Initialisation de la largeur max du dialogue +InitLargeurMaxFen() +// Mettre à jour le titre de la fenêtre +MoiMême..Titre = gParamDial.titre +LIB_TITRE = gParamDial.titre +// Mettre a jour le message +LIB_INFO = gParamDial.message +// Initialiser champ de saisie ou l'interrupteur pour la fonction Saisie() +InitChampSaisieOuInterrupteur(gParamDial.saisie ) +// Initialiser les boutons +AfficherBoutons(gParamDial.tabBouton, gParamDial.boutonParDefaut, gParamDial.boutonAnnulation, +06/08/2026 Isis_BO 6435 + +Partie 9 › WinDevDialogBox › Procédures +gParamDial.delaisAvantFermeture) +// Afficher l'image +AfficherImage(gParamDial.type, gParamDial.image) +// Calcule la largeur et la hauteur de la boîte de dialogue +RedimensionnerFenêtre(gParamDial.message) +si gbBoutonEmpile alors +// Empiler les boutons les un sur les autres +EmpileBoutons() +sinon +// Centrer les boutons +CentrerBoutons() +fin +//bouton par défaut +si ChampExiste(gsChampSaisie) alors +DonneFocus(gsChampSaisie) +sinon +DonneFocus(gsPrefixeBouton+gParamDial.boutonParDefaut) +fin +Procédure locale InitLargeurMaxFen +// Résumé : initialisation de <gnLargeurMaxFen> +procédure InitLargeurMaxFen() +si EnModeLinux() alors +retour // SysXRes() non dispo en linux +fin +// récupération de la largeur de l'écran moins la marge de chaque coté +nMarge est un entier = 8 +nLargeurEcran est entier = SysXRes() - nMarge*2 +// on ne fait pas dépasser de la taille de l'écran +si gnLargeurMaxFen > nLargeurEcran alors +gnLargeurMaxFen = nLargeurEcran +fin +Procédure locale InitSiMobile +// Résumé : Initialisation des paramètres si la fenetre est utilisée en mobile +// exécution ou simulation. +procédure InitSiMobile() +si _bModeMobile() alors +// Marge entre les boutons. plus petite qu'en WD WIN32 +gnMargeinterBtnX = 5 +gnMargeBordBtn = 20 +// utiliser l'algorithme d’empilement V si ca dépasse +gbEmpileSiDépasse = Vrai +gsPrefixeBouton = "BTN_MOBILE_" // ex BTN_MOBILE_1 +BTN_1..Visible = Faux// pour ne pas superposer +fin +Procédure locale RedimensionnerFenêtre +06/08/2026 Isis_BO 6436 + +Partie 9 › WinDevDialogBox › Procédures +procédure RedimensionnerFenêtre(szLibelleParam) +// Procédure qui permet de redimensionner la boîte de dialogue en fonction du libellé à afficher +szLibelle est chaîne = szLibelleParam // contournement si UNICODE +//nLargeurMax est un entier = 800 +nLargeurMin est entier = 0 +nLargeurTexte est entier = 0 +nHauteurTexte est entier = 0 +nLargeurFen est entier = 0 +nHauteurFen est entier = 0 +nHauteurMinFen est entier = MaFenêtre..HauteurInitiale +// Calculer la largeur min (celle des boutons + une marge sur les côtés) +nLargeurMin = gnLargeurBtn + gnMargeBordBtn +// pour TB#102180, 400 px mini +si nLargeurMin< 400 _et_ pas _bModeMobile() alors +nLargeurMin = 400 +fin +nLargeurTitre est un entier +nLargeurTitre=TexteLargeur(LIB_TITRE, MoiMême..Titre, tMonoligne) +si nLargeurMin < nLargeurTitre+ gnMargeBordBtn alors +nLargeurMin = nLargeurTitre+ gnMargeBordBtn +fin +si nLargeurMin < gnLargeurMinFen alors nLargeurMin = gnLargeurMinFen +// Calculer les dimensions nécessaires au dessin libellé (@@+20 : Marge supplémentaire) +CalculeMeilleureDimensionTexte(nLargeurTexte, nHauteurTexte,szLibelle) +nHauteurSaisie est un entier=0 +si ChampExiste(gsChampSaisie) alors +nHauteurSaisie={gsChampSaisie,indChamp}..Hauteur +// +10 : marge a droite pour Qw#262752 +nLargeurTexte=Max(nLargeurTexte, {gsChampSaisie,indChamp}..Largeur + 10) +fin +// La hauteur minimale ne peut pas être inférieure à l'icône à gauche +si nHauteurTexte +nHauteurSaisie +6 < ICONE..Hauteur alors +nHauteurTexte = ICONE..Hauteur - nHauteurSaisie - 6 +fin +// Calculer la largeur de la fenêtre +nLargeurFen = nLargeurTexte + MaFenêtre..Largeur - LIB_INFO..Largeur +// La largeur de la fenêtre ne doit pas être inférieure à la largeur min +si nLargeurFen < nLargeurMin alors nLargeurFen = nLargeurMin +// La largeur de la fenêtre ne doit pas être supérieure à la largeur max +si nLargeurFen > gnLargeurMaxFen alors +nLargeurFen = gnLargeurMaxFen +fin +// Calculer la hauteur de la fenêtre +nHauteurFen = MaFenêtre..HauteurInitiale + nHauteurTexte + nHauteurSaisie - LIB_INFO..Hauteur +si nHauteurSaisie>0 alors +nHauteurFen+=6 +fin +// en mode bouton emplie on ajoute la hauteur des boutons a partir de 2eme +si gbBoutonEmpile alors +nHauteurFen += ({ gsPrefixeBouton +"1",indChamp}..Hauteur + gnMargeinterBtny) * (gnNbBouton-1) +fin +// PAD le 02/11/2008, pour Dialogue en mobile. +06/08/2026 Isis_BO 6437 + +Partie 9 › WinDevDialogBox › Procédures +si nHauteurFen<nHauteurMinFen alors +nHauteurFen = nHauteurMinFen +fin +// Redimensionner la fenêtre avec les nouveaux paramètres +FenTaille("", nLargeurFen, nHauteurFen) +// Redimensionner le libellé +LIB_INFO..Hauteur = nHauteurTexte +LIB_INFO = szLibelle +// Placement des éléments +nEspaceH est un entier = (nLargeurFen - (ICONE..Largeur + LIB_INFO..Largeur)) / 3 +si _bModeMobile() alors +nEspaceH = ICONE..X // ne pas déplacer. +fin +ICONE..X = nEspaceH +si pas _bModeMobile() alors //QW#189203 +LIB_INFO..X = 2*nEspaceH + ICONE..Largeur +fin +si ChampExiste(gsChampSaisie) alors +// Aligner le champ de saisie/l'interrupteur avec le libelle en X +{gsChampSaisie,indChamp}..X = LIB_INFO..X +// fixer lal argeur du champ a "toute la fenetre" +nLargeurPourAlignSai est entier = nLargeurFen - LIB_INFO..X - 16 // 16 : marge +{gsChampSaisie,indChamp}..Largeur = nLargeurPourAlignSai +si gParamDial.saisie.adapteLargeur alors +AdapteLargeurSaisie() +fin +// MEttre champ de saisie/l'interrupteur sous le libelle +{gsChampSaisie,indChamp}..Y=LIB_INFO..Y+nHauteurTexte-6 +fin +nEspaceV est un entier = (nHauteurTexte - ICONE..Hauteur) / 2 +si nEspaceV<0 alors +nEspaceV=0 +fin +si _bModeMobile() alors +nEspaceV = 0 +fin +ICONE..Y += nEspaceV +si pas gbBoutonEmpile alors +i est entier +pour i=2 _à_ gnNbBouton +{gsPrefixeBouton +i,indChamp}..Y={gsPrefixeBouton + "1",indChamp}..Y +fin +fin +06/08/2026 Isis_BO 6438 + +Partie 9 › WinDevMessageBox › Image +WinDevMessageBox +Image +WinDevMessageBox +Informations générales +WinDevMessageBox +Fichier physique D:\Projets Windev\Batik\WD30\Dev\WDFAA_1\WinDevMessageBox.wdw +| Créé par | | XVA | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 12/02/2019 12:07:08 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:25 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 359 Hauteur | 190 | +| 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 | | | | +| Menu contextuel | | <NO CONTEXT MENU> | | | | +| 06/08/2026 | | | Isis_BO | | 6439 | + +Partie 9 › WinDevMessageBox › Informations générales +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Non +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 8 +Pos. Y Menu 33 +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 +Image poignée D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\150 ActivAndroid +Statistiques de la fenêtre +Libellé 1 Bouton 5 +Image 3 +06/08/2026 Isis_BO 6440 + +Partie 9 › WinDevMessageBox › Informations générales +Nombre d'éléments dans la fenêtre : 9 +WinDevMessageBox +Informations sur les champs +Fenêtre : WinDevMessageBox +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_INFO | 74 6 | 271 | 142 0 | Actif | Gauche | Centre | | +| -------- | ---- | --- | ----- | ----- | ------ | ------ | --- | +Bouton +notuob epyT +| | | | | | laitini tatE | BAT ehcuoT | | +| --- | ---------- | ---------- | --------------- | --- | ------------ | ---------- | --- | +| | X noitisoP | Y noitisoP | | | | | | +| | | | ruegraL ruetuaH | | | | | +elbisiV +nalP +| BTN_ANNULER | 267 | 154 | 80 24 | 0 | Actif | Normal | | +| ---------------- | --- | --- | ------ | --- | ----- | -------- | --- | +| BTN_Copier_caché | 6 | -63 | 127 24 | 0 | Actif | Interrup | | +| BTN_NON | 178 | 154 | 80 24 | 0 | Actif | Normal | | +| BTN_OK | 6 | 154 | 80 24 | 0 | Actif | Validati | | +| BTN_OUI | 92 | 154 | 80 24 | 0 | Actif | Validati | | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | --- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | +| | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| ICON_ERREUR | 6 | 106 | 50 50 | 0 | Actif | | | +| ---------------- | --- | --- | ------- | --- | ----- | --- | ---- | +| ICON_INFORMATION | 6 | 6 | 50 50 | 0 | Actif | | | +| ICON_QUESTION | 6 | 56 | 50 50 | 0 | Actif | | | +| 06/08/2026 | | | Isis_BO | | | | 6441 | + +Partie 9 › WinDevMessageBox › Informations sur les champs +Fenêtre : WinDevMessageBox +Bouton : BTN_ANNULER +Libellé FR: Annuler +GB: Cancel +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> +Nb. états image 1 +Nb. états fond 5 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 6 +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 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 6442 + +Partie 9 › WinDevMessageBox › Informations sur les champs +Bouton : BTN_Copier_caché +Libellé FR: Copier (caché) +GB: Copy (hidden) +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> +Nb. états image 1 +Image fond FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\Gabarits\WD\150 ActivAndroid +2\ActivAndroid 2_Btn_App_Main.png +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +Nb. étapes animation 6 +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 +06/08/2026 Isis_BO 6443 + +Partie 9 › WinDevMessageBox › Informations sur les champs +Bouton : BTN_NON +Libellé FR: &Non +GB: &No +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> +Nb. états image 1 +Nb. états fond 5 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 6 +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 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 6444 + +Partie 9 › WinDevMessageBox › Informations sur les champs +Bouton : BTN_OK +Libellé FR,GB: OK +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 5 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 6 +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 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 6445 + +Partie 9 › WinDevMessageBox › Informations sur les champs +Bouton : BTN_OUI +Libellé FR: &Oui +GB: &Yes +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> +Nb. états image 1 +Nb. états fond 5 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 6 +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 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 6446 + +Partie 9 › WinDevMessageBox › Informations sur les champs +Image : ICON_ERREUR +Valeur initiale FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\erreur.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 Non +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF 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 : ICON_INFORMATION +Valeur initiale FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\info.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Ascenseur et zoom auto. Non +06/08/2026 Isis_BO 6447 + +Partie 9 › WinDevMessageBox › Informations sur les champs +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 Non +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF 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 : ICON_QUESTION +Valeur initiale FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\question.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 Non +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Isis_BO 6448 + +Partie 9 › WinDevMessageBox › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_INFO +Libellé FR: <Libellé de Info/Erreur> +GB: <Text of Info/Error> +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,GB: 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 +WinDevMessageBox +Code +Déclarations globales de WinDevMessageBox +procédure WinDevMessageBox( szTitre="Test", szLibelle="", nType=1, nNumBouton=1) +// Fenêtre alternative à la MessageBox standard de WINDOWS. +06/08/2026 Isis_BO 6449 + +Partie 9 › WinDevMessageBox › Code +// Cette fenêtre est rajoutée au projet si l'option +// "[] appliquer le thème du gabarit aux fenêtres système" est cochée. +// Elle est utilisée pour les fonctions suivantes : +// -Info() +// -Erreur() +// -OuiNon() +// -Confirmer() +// -Avertissement() +// -OKAnnuler() +// Paramètres: +// szTitre : Titre que l'on veut donner à la fenêtre +// szLibelle : Le message à afficher dans la fenêtre +// nType : Le dialogue à émuler : 0 = Info, 1 = Erreur, 2=OuiNon, 3=Confirmer, 4=Avertissement, +5=OKAnnuler. +// nNumBouton: n° de bouton à sélectionner (pour OuiNon et Confirmer) +// +global +// Largeur pour les boutons du dialogue +// ( Calculé selon le type de dialogue ) +nLargeurBtn est entier = 0 +// marge en plus des boutons pour la largeurMin +constant MARGEBORDS = 20 +// marge entre les boutons +constant MARGEINTERBTN = 6 +// constantes renvoyées par MessageBox +constant IDOK = 1 +constant IDCANCEL = 2 +constant IDABORT = 3 +constant IDRETRY = 4 +constant IDIGNORE = 5 +constant IDYES = 6 +constant IDNO = 7 +// on met en place le message +LIB_INFO = szLibelle +// on met en place le titre +MoiMême..Titre = szTitre +// on met en place les boutons +selon nType +cas 0 : // Info +// on rend visible le bouton [OK] et l'icône "I" +BTN_OK..Visible = Vrai +ICON_INFORMATION..Visible = Vrai +// la largeur est celle d'un bouton +nLargeurBtn = BTN_OK..Largeur +// Valeur renvoyée si on ferme par la croix : OK +MoiMême..ValeurRenvoyée = IDOK +cas 1 : // Erreur +// on rend visible le bouton [OK]et l'icône "x" +BTN_OK..Visible = Vrai +ICON_ERREUR..Visible = Vrai +// la largeur est celle d'un bouton +nLargeurBtn = BTN_OK..Largeur +// Valeur renvoyée si on ferme par la croix : OK +MoiMême..ValeurRenvoyée = IDOK +cas 2 : // OuiNon +// on rend visible les boutons [OUI] et [NON] et l'icône "?" +BTN_OUI..Visible = Vrai +BTN_NON..Visible = Vrai +ICON_QUESTION..Visible = Vrai +06/08/2026 Isis_BO 6450 + +Partie 9 › WinDevMessageBox › Code +// la largeur est celle de 2 boutons + la marge +nLargeurBtn = BTN_OUI..Largeur *2 + MARGEINTERBTN +// si on veut sélectionner [NON] comme bouton par défaut +si nNumBouton=2 alors EcranPremier(BTN_NON) +// Valeur renvoyée si on ferme par la croix : NON +MoiMême..ValeurRenvoyée = IDNO +cas 3 : // Confirmer +// on rend visible les boutons [OUI], [NON] et [ANNULER] et l'icône "?" +BTN_OUI..Visible = Vrai +BTN_NON..Visible = Vrai +BTN_ANNULER..Visible = Vrai +ICON_QUESTION..Visible = Vrai +// la largeur est celle de 3 boutons + la marge +nLargeurBtn = BTN_OUI..Largeur *3 + MARGEINTERBTN*2 +// si on veut sélectionner [NON] comme bouton par défaut +si nNumBouton=2 alors EcranPremier(BTN_NON) +// si on veut sélectionner [Annuler] comme bouton par défaut +si nNumBouton=3 alors EcranPremier(BTN_ANNULER) +// Valeur renvoyée si on ferme par la croix : ANNULER +MoiMême..ValeurRenvoyée = IDCANCEL +cas 4 : // Avertissement +// on rend visible le bouton [OK] et l'icône "!" +BTN_OK..Visible = Vrai +ICON_INFORMATION..Visible = Vrai +// la largeur est celle d'un bouton +nLargeurBtn = BTN_OK..Largeur +// Valeur renvoyée si on ferme par la croix : OK +MoiMême..ValeurRenvoyée = IDOK +cas 5 : // OuiNon +// on rend visible les boutons [OUI] et [NON] et l'icône "I" +BTN_OUI..Visible = Vrai +BTN_NON..Visible = Vrai +ICON_QUESTION..Visible = Vrai +// Met le libellé "OK" sur [OUI] et "Annuler" sur [NON] +BTN_OUI..Libellé = BTN_OK..Libellé +BTN_NON..Libellé = BTN_ANNULER..Libellé +// la largeur est celle de 2 boutons + la marge +nLargeurBtn = BTN_OUI..Largeur *2 + MARGEINTERBTN +// si on veut sélectionner [Annuler] comme bouton par défaut +si nNumBouton=2 alors EcranPremier(BTN_NON) +// Valeur renvoyée si on ferme par la croix : NON +MoiMême..ValeurRenvoyée = IDNO +fin +// calcule la largeur et la hauteur de la boite de dialogue +RedimensionneDialogue() +// centre les boutons +CentreLesBoutons() +// on émet un avertissement sonore (comme le système) +AvertissementSonore() +WinDevMessageBox +Code des champs +Clic sur BTN_ANNULER +06/08/2026 Isis_BO 6451 + +Partie 9 › WinDevMessageBox › Code des champs +// ferme la fenêtre et renvoie "IDCANCEL" +Ferme("", IDCANCEL ) +Clic sur BTN_Copier_caché +// on met dans le presse-papier le titre et le libellé de la message-box +sSEP est chaîne = "---------------------------" +VersPressePapier( sSEP + RC + MaFenêtre..Titre + RC + sSEP + RC + LIB_INFO ) +Clic sur BTN_NON +// ferme la fenêtre et renvoie "IDNO" +Ferme("", IDNO) +Clic sur BTN_OK +// ferme la fenêtre et renvoie IDOK (valeur inutilisée) +Ferme("", IDOK) +Clic sur BTN_OUI +// si on est OK (OKAnnuler) +si nType=5 alors +// ferme la fenêtre et renvoie "IDOK" +Ferme("", IDOK) +fin +// ferme la fenêtre et renvoie "IDYES" +Ferme("", IDYES) +WinDevMessageBox +Procédures +Procédure locale AvertissementSonore +procédure AvertissementSonore() +// Emet un avertissement sonore comme le système +<si CibleExécution=ApplicationWindows> +selon nType +cas 0 : // Info +Son(sonSystèmeAstérisque) +cas 1 : // Erreur +Son(sonSystèmeArrêtCritique) +cas 2 : // OuiNon +Son(sonSystèmeQuestion) +cas 3 : // Confirmer +06/08/2026 Isis_BO 6452 + +Partie 9 › WinDevMessageBox › Procédures +Son(sonSystèmeQuestion) +cas 4 : // Avertissement +Son(sonSystèmeAstérisque) +cas 5 : // OKAnnuler +Son(sonSystèmeQuestion) +fin +<sinon si CibleExécution=Java> +Bip() +<fin> +Procédure locale CentreLesBoutons +procédure CentreLesBoutons() +// centrage des boutons du dialogue +// position de départ +xStart est entier = (FenIntLarg() - nLargeurBtn) / 2 +// Pour Info/Erreur/Avertissement +BTN_OK..X = xStart +// Pour OuiNon / OKAnnuler +BTN_OUI..X = xStart +BTN_NON..X = xStart + BTN_OUI..Largeur + MARGEINTERBTN +// Pour Confirmer +BTN_ANNULER..X = BTN_NON..X + BTN_NON..Largeur + MARGEINTERBTN +// centrer les boutons en hauteur +// (ils sont tous superposés, mais un seul est visible) +ICON_INFORMATION..Y = LIB_INFO..Y + (LIB_INFO..Hauteur - ICON_INFORMATION..Hauteur) / 2 +ICON_QUESTION..Y = ICON_INFORMATION..Y +ICON_ERREUR..Y = ICON_INFORMATION..Y +Procédure locale RedimensionneDialogue +procédure RedimensionneDialogue() +// MAJ de la taille de la fenêtre en fonction du libellé fourni +// largeur min : +// celle des boutons + une marge sur les cotés +nLargeurMin est entier = nLargeurBtn + MARGEBORDS +// largeur max du libellé +nLargeurMaxLibelle est entier = 600 +// dimensions nécessaires au dessin du libellé +//@@+10 : Marge supplémentaire +nLargeurTexte est entier = TexteLargeur(LIB_INFO, szLibelle) + 10 +// on interdit également un libellé trop large +si nLargeurTexte > nLargeurMaxLibelle alors +nLargeurTexte = nLargeurMaxLibelle +fin +// on force la largeur du libellé pour que le calcul de la hauteur soit correct +LIB_INFO..Largeur = nLargeurTexte +nHauteurTexte est entier = TexteHauteur(LIB_INFO, szLibelle, tMultiligne) +06/08/2026 Isis_BO 6453 + +Partie 9 › WinDevMessageBox › Procédures +// pas moins de hauteur que celle de l'icône à gauche +si nHauteurTexte< ICON_INFORMATION..Hauteur alors nHauteurTexte = ICON_INFORMATION..Hauteur +// on force le centrage en hauteur du libellé +LIB_INFO..CadrageVertical = cvMilieu +// Largeur de la fenêtre +nLargeurFen est entier = nLargeurTexte + MaFenêtre..Largeur - LIB_INFO..LargeurInitiale +// on ne descend pas en dessous de la largeur MIN. +si nLargeurFen < nLargeurMin alors +nLargeurFen = nLargeurMin +fin +// Hauteur de la fenêtre +nHauteurFen est entier = MaFenêtre..Hauteur + nHauteurTexte - LIB_INFO..HauteurInitiale +// on recentre la fenêtre en largeur et en hauteur +MaFenêtre..X -= ( nLargeurFen - MaFenêtre..Largeur )/2 +MaFenêtre..Y -= ( nHauteurFen - MaFenêtre..Hauteur )/2 +// MAJ de la taille de la fenêtre +FenTaille("", nLargeurFen, nHauteurFen) +// MAJ de la taille du libellé +LIB_INFO..Largeur = nLargeurTexte +LIB_INFO..Hauteur = nHauteurTexte +LIB_INFO = szLibelle +06/08/2026 Isis_BO 6454 + +Partie 9 › FI_WinDevFAA_RubanTT › Image +FI_WinDevFAA_RubanTT +Image +FI_WinDevFAA_RubanTT +Informations générales +FI_WinDevFAA_RubanTT +Fichier physique D:\Projets Windev\Batik\WD30\Dev\WDFAA_1\FI_WinDevFAA_RubanTT.wdw +| Créé par | | FBO | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 27/08/2019 14:22:52 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 11/04/2025 16:08:31 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1550 Hauteur | 128 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------ | --- | ----------------------------------- | ------- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| 06/08/2026 | | | Isis_BO | | 6455 | + +Partie 9 › FI_WinDevFAA_RubanTT › Informations générales +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 +Statistiques de la fenêtre +| | Champ de saisie | 9 | Libellé | 7 | +| ---------- | --------------------- | ------- | --------------- | ---- | +| | Bouton | 75 | Interrupteur | 4 | +| | Image | 7 | Spin | 6 | +| | Potentiomètre | 1 | Combo | 1 | +| | Fenêtre interne | 1 | Fenêtre interne | 1 | +| | Option d'interrupteur | 4 | Option de menu | 22 | +| | Ruban | 1 | Regroupement | 21 | +| | Volet (Ruban) | 6 | | | +| 06/08/2026 | | Isis_BO | | 6456 | + +Partie 9 › FI_WinDevFAA_RubanTT › Informations générales +Nombre d'éléments dans la fenêtre : 166 +FI_WinDevFAA_RubanTT +Informations sur les champs +Fenêtre : FI_WinDevFAA_RubanTT +Fenêtre interne +BAT ehcuoT +| | | X noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | --- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | | ruegraL | | ruetuaH | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_WinDevFAA_RubanTT | | 0 | 0 | 1550 | 128 | 0 | | | +| -------------------- | --- | --- | --- | ---- | --- | --- | --- | --- | +Fenêtre interne : FI_WinDevFAA_RubanTT +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_LectureSeule | 0 | 0 80 | 25 | 0 | Actif | Centre | Centre | | +| ---------------- | --- | ---- | --- | --- | ----- | ------ | ------ | --- | +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_WDFAA_RaccourciZoom100 | 55 | -108 | 56 | 61 | 0 | Actif | Interrup | | +| -------------------------- | --- | ---- | ------- | --- | --- | ----- | -------- | ---- | +| BTN_WDFAA_Redo | 41 | 1 | 32 | 22 | 0 | Grisé | Interrup | | +| BTN_WDFAA_Undo | 7 | 1 | 32 | 22 | 0 | Grisé | Interrup | | +| 06/08/2026 | | | Isis_BO | | | | | 6457 | + +Partie 9 › FI_WinDevFAA_RubanTT › 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_Style | | | -68 | -95 | | 109 | 64 | 0 | | Actif | | | +| --------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Ruban +BAT ehcuoT +| | | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| RUBAN_WINDEVFAA_TT | | | | 0 | | 0 | 1548 | 127 | | 0 | Actif | | +| ------------------ | --- | --- | --- | --- | --- | --- | ---- | --- | --- | --- | ----- | --- | +Ruban : FI_WinDevFAA_RubanTT.RUBAN_WINDEVFAA_TT +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_FAA_Zoom | 222 | 57 96 | 22 | 0 | Actif | | Numéri | | Non | | | | +| ------------------- | --- | ------ | --- | --- | ----- | --- | ------ | --- | --- | --- | --- | --- | +| SAI_WDFAA_Espacem | 413 | 74 104 | 24 | 0 | Actif | | Numéri | | Non | | | | +| SAI_WDFAA_Espacem | 413 | 47 104 | 24 | 0 | Actif | | Numéri | | Non | | | | +| SAI_WDFAA_ImageHa | 358 | 53 116 | 22 | 0 | Actif | | Numéri | | Non | | | | +| SAI_WDFAA_ImageLar | 358 | 26 116 | 22 | 0 | Actif | | Numéri | | Non | | | | +| SAI_WDFAA_MargeEn | 442 | 25 200 | 24 | 0 | Actif | | Numéri | | Non | | | | +| SAI_WDFAA_MargePie | 442 | 51 200 | 24 | 0 | Actif | | Numéri | | Non | | | | +| SAI_WDFAA_RetraitDr | 262 | 74 109 | 24 | 0 | Actif | | Numéri | | Non | | | | +| SAI_WDFAA_RetraitGa | | | | | | | Numéri | | | | | | +| | 262 | 47 109 | 24 | 0 | Actif | | | | Non | | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | | | ruegraL | | ruetuaH | | | | | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Couleur_de_fond | | 484 | | 31 | 91 | 14 | 0 | | Actif | Gauche | Haut | | +| ----------------------- | --- | --- | --- | --- | --- | ------- | --- | --- | ----- | ------ | ---- | ---- | +| LIB_Couleur_de_trait | | 484 | | 58 | 85 | 14 | 0 | | Actif | Gauche | Haut | | +| LIB_VisuCouleurSurligne | | 696 | | 67 | 16 | 5 | 0 | | Actif | Gauche | Haut | | +| LIB_VisuCouleurTexte | | 653 | | 67 | 16 | 5 | 0 | | Actif | Gauche | Haut | | +| LIB_WDFAA_Espacement | | 389 | | 26 | 77 | 15 | 0 | | Actif | Gauche | Haut | | +| LIB_WDFAA_Retrait | | 244 | | 26 | 55 | 15 | 0 | | Actif | Gauche | Haut | | +| 06/08/2026 | | | | | | Isis_BO | | | | | | 6458 | + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bouton +notuob epyT +| | | | | laitini tatE BAT ehcuoT | | +| --- | --- | --- | --- | ----------------------- | --- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_WDFAA_AfficheCaracControle | 906 26 | 25 24 | 0 | Actif | Interrup | +| ------------------------------ | ------ | ----- | --- | ----- | -------- | +| BTN_WDFAA_AlignCentre | 812 53 | 25 24 | 0 | Actif | Interrup | +| BTN_WDFAA_AlignDroite | 838 53 | 25 24 | 0 | Actif | Interrup | +| BTN_WDFAA_AlignGauche | 786 53 | 25 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Alignjustifie | 864 53 | 25 24 | 0 | Actif | Interrup | +BTN_WDFAA_BTN_WDFAA_RetraitPlus 880 26 25 24 0 Actif Interrup +| BTN_WDFAA_Barre | 567 53 | 27 24 | 0 | Actif | Interrup | +| --------------------------- | ------- | ------ | --- | ----- | -------- | +| BTN_WDFAA_BordFond | 957 53 | 32 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Coller | 355 26 | 50 61 | 0 | Actif | Interrup | +| BTN_WDFAA_Copier | 410 53 | 72 24 | 0 | Actif | Interrup | +| BTN_WDFAA_CouleurFond | 924 53 | 32 24 | 0 | Actif | Interrup | +| BTN_WDFAA_CouleurFondForme | 576 26 | 32 24 | 0 | Actif | Interrup | +| BTN_WDFAA_CouleurSurlignage | 689 53 | 41 24 | 0 | Actif | Interrup | +| BTN_WDFAA_CouleurTexte | 646 53 | 41 24 | 0 | Actif | Interrup | +| BTN_WDFAA_CouleurTraitForme | 576 53 | 32 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Couper | 410 26 | 72 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Entete | 113 26 | 50 61 | 0 | Grisé | Interrup | +| BTN_WDFAA_Export | 247 53 | 98 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Exposant | 620 53 | 25 24 | 0 | Actif | Interrup | +| BTN_WDFAA_FermerEntêtePied | 661 26 | 113 67 | 0 | Actif | Normal | +| BTN_WDFAA_Forme | 1013 26 | 58 61 | 0 | Grisé | Interrup | +| BTN_WDFAA_Formule | 888 26 | 57 61 | 0 | Grisé | Interrup | +| BTN_WDFAA_Gras | 492 53 | 24 24 | 0 | Actif | Interrup | +BTN_WDFAA_Habillage_AligneSurLeTe 5 26 64 61 0 Actif Interrup +| BTN_WDFAA_Habillage_Carre | 79 26 | 64 61 | 0 | Actif | Interrup | +| ------------------------- | ----- | ----- | --- | ----- | -------- | +BTN_WDFAA_Habillage_DerriereLeText 217 26 131 24 0 Actif Interrup +BTN_WDFAA_Habillage_DevantLeTexte 217 53 131 24 0 Actif Interrup +| BTN_WDFAA_Habillage_HautEtBas | 148 26 | 64 61 | 0 | Actif | Interrup | +| ----------------------------- | ------- | ------- | --- | ----- | -------- | +| BTN_WDFAA_Image | 780 26 | 50 61 | 0 | Actif | Interrup | +| BTN_WDFAA_Imprimer | 247 26 | 98 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Indice | 595 53 | 24 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Interligne | 890 53 | 33 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Italique | 517 53 | 24 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Lien | 1076 26 | 58 61 | 0 | Grisé | Interrup | +| BTN_WDFAA_MODEAFFICHAGE_PAGE | 357 26 | 56 61 | 0 | Actif | Interrup | +| BTN_WDFAA_MODEAFFICHAGE_WEB | 418 26 | 56 61 | 0 | Actif | Interrup | +| BTN_WDFAA_Majuscules | 743 26 | 33 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Marges | 5 26 | 50 61 | 0 | Actif | Interrup | +| BTN_WDFAA_Nouveau | 5 26 | 81 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Numero | 820 26 | 33 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Orientation | 55 26 | 69 61 | 0 | Actif | Interrup | +| BTN_WDFAA_Orthographe | 1099 80 | 236 24 | 0 | Grisé | Normal | +| BTN_WDFAA_Ouvrir | 5 53 | 72 24 | 0 | Actif | Interrup | +| BTN_WDFAA_PageVierge | 5 26 | 50 61 | 0 | Actif | Interrup | +| BTN_WDFAA_PiedDePage | 168 26 | 50 61 | 0 | Grisé | Interrup | +| BTN_WDFAA_Police | 492 28 | 138 20 | 0 | Actif | Normal | +| BTN_WDFAA_PoliceMoins | 714 26 | 24 24 | 0 | Actif | Interrup | +| BTN_WDFAA_PolicePlus | 689 26 | 24 24 | 0 | Actif | Interrup | +| BTN_WDFAA_Puces | 786 26 | 33 24 | 0 | Grisé | Interrup | +| BTN_WDFAA_Remplacer | 1099 53 | 236 24 | 0 | Actif | Normal | +| BTN_WDFAA_RetraitMoins | 854 26 | 25 24 | 0 | Actif | Interrup | +| BTN_WDFAA_SautDePage | 53 26 | 50 61 | 0 | Actif | Interrup | +| BTN_WDFAA_SauteDePage2 | 184 26 | 50 61 | 0 | Grisé | Interrup | +| 06/08/2026 | | Isis_BO | | | 6459 | + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +BAT ehcuoT notuob epyT +laitini tatE +| | | X noitisoP Y noitisoP | | | | | | | | +| --- | --- | --------------------- | --- | --------------- | --- | --- | --- | --- | --- | +| | | | | ruegraL ruetuaH | | | | | | +elbisiV +nalP +| BTN_WDFAA_Save | | 89 | 26 | 69 | 61 | 0 | Actif | Interrup | | +| ----------------------------- | --- | ---- | --- | --- | --- | --- | ----- | -------- | --- | +| BTN_WDFAA_SaveBTN_WDFAA_Save1 | | 168 | 26 | 69 | 61 | 0 | Actif | Interrup | | +| BTN_WDFAA_Signet | | 1139 | 26 | 58 | 61 | 0 | Actif | Interrup | | +| BTN_WDFAA_Souligne | | 542 | 53 | 24 | 24 | 0 | Actif | Interrup | | +| BTN_WDFAA_TabInsererADroite | | 345 | 26 | 70 | 61 | 0 | Actif | Normal | | +| BTN_WDFAA_TabInsererAGauche | | 275 | 26 | 70 | 61 | 0 | Actif | Normal | | +| BTN_WDFAA_TabInsererAuDessus | | 135 | 26 | 70 | 61 | 0 | Actif | Normal | | +| BTN_WDFAA_TabInsererEnDessous | | 205 | 26 | 70 | 61 | 0 | Actif | Normal | | +| BTN_WDFAA_TabSupprimer | | 65 | 26 | 70 | 61 | 0 | Actif | Normal | | +| BTN_WDFAA_Tableau | | 833 | 26 | 50 | 61 | 0 | Actif | Normal | | +| BTN_WDFAA_Tableau2 | | 5 | 26 | 50 | 61 | 0 | Actif | Normal | | +| BTN_WDFAA_Taille | | 125 | 26 | 50 | 61 | 0 | Actif | Interrup | | +| BTN_WDFAA_ZoneDeTexte | | 950 | 26 | 58 | 61 | 0 | Grisé | Interrup | | +| BTN_WDFAA_Zoom100 | | 5 | 26 | 56 | 61 | 0 | Actif | Interrup | | +| BTN_WDFAA_ZoomLargeur | | 62 | 26 | 77 | 61 | 0 | Actif | Interrup | | +| BTN_WDFAA_ZoomLargeur1 | | 135 | 26 | 56 | 61 | 0 | Actif | Interrup | | +| BTN_WDFAA_ZoomMoins | | 193 | 57 | 24 | 24 | 0 | Actif | Interrup | | +| BTN_WDFAA_ZoomPlus | | 323 | 57 | 24 | 24 | 0 | Actif | Interrup | | +| BTn_WDFAA_Recherche | | 1099 | 26 | 236 | 24 | 0 | Actif | Normal | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | | laitini tatE | | staté siorT | +| --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | ----------- | +ruegraL ruetuaH +elbisiV +nalP +| INT_ENTETE_LIER | | 223 81 | 197 | 23 | 0 | Actif | | 1 | | +| ------------------------ | --- | ------ | --- | --- | --- | ----- | --- | --- | --- | +| INT_ENTETE_PAIRE_IMPAIRE | | 223 52 | 197 | 23 | 0 | Actif | | 1 | | +| INT_ENTETE_PREMIERE | | 223 26 | 197 | 23 | 0 | Actif | | 1 | | +| INT_WDFAA_AfficherRegles | | 484 26 | 114 | 23 | 0 | Actif | | 1 | | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | sucof cevA | +| --- | --- | --------------------- | ------- | ------- | --- | ------- | ------------ | --- | ---------- | +| | | | | ruetuaH | | | cilc cevA | | | +| | | | ruegraL | | | elbisiV | | | | +nalP +| IMG_WDFAA_EspacementApres | | 389 74 | | 24 24 | | 0 | Actif | | | +| ------------------------- | --- | ------ | --- | ------- | --- | --- | ----- | --- | ---- | +| IMG_WDFAA_EspacementAvant | | 389 47 | | 24 24 | | 0 | Actif | | | +| IMG_WDFAA_MargeEnTête | | 424 29 | | 16 16 | | 0 | Actif | | | +| IMG_WDFAA_MargePiedDePage | | 424 55 | | 16 16 | | 0 | Actif | | | +| IMG_WDFAA_RetraitDroit | | 244 78 | | 16 16 | | 0 | Actif | | | +| IMG_WDFAA_RetraitGauche | | 244 51 | | 16 16 | | 0 | Actif | | | +| 06/08/2026 | | | | Isis_BO | | | | | 6460 | + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Spin +edipar ecnavA +| | | | | | | BAT ehcuoT | .nim enroB | .xam enroB | | | | +| --- | --------------------- | --- | --- | --- | ------------ | ---------- | ---------- | ---------- | --- | --- | --------------------- | +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | | | .pér ertnE .pér tnavA | +ruegraL ruetuaH +| | | | | elbisiV | | lacitreV | | | | relcuoB | | +| --- | --- | --- | --- | ------- | --- | -------- | --- | --- | --- | ------- | --- | +nalP +SPIN_EspacementAprè +| | 517 76 | 14 | 20 | 0 | Actif | | 0 | 100 | 1 | | 50 300 | +| ------------------- | ------ | --- | --- | --- | ----- | --- | --- | --- | --- | --- | ------ | +| SPIN_EspacementAvan | 517 49 | 14 | 20 | 0 | Actif | | 0 | 100 | 1 | | 50 300 | +| SPIN_MargeEnTête | 642 26 | 14 | 20 | 0 | Actif | | 0 | 100 | 1 | | 50 300 | +| SPIN_MargePiedDePag | 642 53 | 14 | 20 | 0 | Actif | | 0 | 100 | 1 | | 50 300 | +| SPIN_RetraitDroite | 371 76 | 14 | 20 | 0 | Actif | | 0 | 100 | 1 | | 50 300 | +| SPIN_RetraitGauche | 371 49 | 14 | 20 | 0 | Actif | | 0 | 100 | 1 | | 50 300 | +Potentiomètre +| | | | | | | | | edipar ecnavA | | | noitaudarg saP | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------- | --- | --- | -------------- | +suossed .darG +| | | | | | BAT ehcuoT | | .xam enroB | | | | sussed .darG | +| --- | --- | --- | --- | --- | ---------- | --- | ---------- | --- | --- | --- | ------------ | +X noitisoP Y noitisoP laitini tatE .nim enroB .pér ertnE .pér tnavA +| | | ruegraL ruetuaH | | | | lacitreV | | | | | | +| --- | --- | --------------- | --- | --- | --- | -------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| POT_WDFAA_Zoom | 193 26 | 154 36 | 0 | Actif | | | 10 500 | | -1 | 300 | 10 | +| -------------- | ------ | ------ | --- | ----- | --- | --- | ------ | --- | --- | --- | --- | +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 +| COMBO_WDFAA_TaillePol | 629 | 26 | 54 | 24 | 0 | Actif | Mémoire | | Non | | | +| --------------------- | --- | --- | --- | --- | --- | ----- | ------- | --- | --- | --- | --- | +Fenêtre interne +BAT ehcuoT +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | | | | +| --- | --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | --- | --- | +| | | | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| CFI_DocxStyle | | | 999 | | 26 | 90 | 59 | 0 | | Actif | | +| ------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Regroupement +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | ------------ | --- | +| | | | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| GRPRUB_WDFAA_Affichage_Regles | | | 479 | | 23 | 124 | 101 | | | | | +| ----------------------------- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | --- | ---- | +| GRPRUB_WDFAA_Affichage_Zoom | | | 0 | | 23 | 352 | 101 | | | | | +| GRPRUB_WDFAA_Contenu | | | 779 | | 23 | 423 | 101 | | | | | +| GRPRUB_WDFAA_Document | | | 0 | | 23 | 163 | 101 | | | | | +| GRPRUB_WDFAA_DocumentFixe | | | 163 | | 23 | 79 | 101 | | | | | +| GRPRUB_WDFAA_EntetePiedDePage | | | 108 | | 23 | 671 | 101 | | | | | +| GRPRUB_WDFAA_Export | | | 242 | | 23 | 108 | 101 | | | | | +| GRPRUB_WDFAA_Image | | | 0 | | 23 | 353 | 101 | | | | | +| 06/08/2026 | | | | | Isis_BO | | | | | | 6461 | + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | laitini tatE | | +| --- | ---------- | ---------- | ------------ | --- | +| | | ruegraL | ruetuaH | | +elbisiV +nalP +| GRPRUB_WDFAA_Image_Taille | 353 | 23 126 | 101 | | +| --------------------------------- | ---- | ------ | --- | --- | +| GRPRUB_WDFAA_LignesColonnes | 60 | 23 360 | 101 | | +| GRPRUB_WDFAA_MiseEnPage | 0 | 23 239 | 101 | | +| GRPRUB_WDFAA_MiseEnPageParagraphe | 239 | 23 297 | 101 | | +| GRPRUB_WDFAA_ModeAffichage | 352 | 23 127 | 101 | | +| GRPRUB_WDFAA_Modification | 1094 | 23 246 | 101 | | +| GRPRUB_WDFAA_Pages | 0 | 23 108 | 101 | | +| GRPRUB_WDFAA_Paragraphe | 781 | 23 213 | 101 | | +| GRPRUB_WDFAA_Police | 487 | 23 294 | 101 | | +| GRPRUB_WDFAA_PressePapier | 350 | 23 137 | 101 | | +| GRPRUB_WDFAA_Style | 994 | 23 100 | 101 | | +| GRPRUB_WDFAA_StyleForme | 479 | 23 134 | 101 | | +| GRPRUB_WDFAA_TabCreer | 0 | 23 60 | 101 | | +Fenêtre : FI_WinDevFAA_RubanTT +Fenêtre interne : FI_WinDevFAA_RubanTT +Note pour la documentation technique +FR: Champ traitement de texte : ruban +GB: Word Processing control: ribbon +| UI par l'utilisateur Selon fenêtre | | | | | +| ----------------------------------------------------- | --- | --- | --- | --- | +| Unité des tailles Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur 0 | | | | | +| Taux Paral. Y 0 | | | | | +| Épinglé Non | | | | | +| Masquer lors du scrolling Non | | | | | +| Ancrage au contenu <Aucun> | | | | | +| Numéro aide 0 | | | | | +| Thème destination Oui | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +Facteur de rétrécissement +0 +| Facteur d'agrandissement 0 | | | | | +| --------------------------- | --- | --- | --- | --- | +| Ctx. HFSQL indép. Non | | | | | +| Ancrage <Aucun> | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Isis_BO | | 6462 | +| ---------- | --- | ------- | --- | ---- | + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Fenêtre interne : FI_WinDevFAA_RubanTT +Bouton : FI_WinDevFAA_RubanTT.BTN_WDFAA_RaccourciZoom100 +Libellé FR,GB: 100% +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 1 +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é) +Bulle d'aide FR: Réinitialise le zoom à 100% +GB: Reinitializes zoom at 100% +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_zoom100.png +Nb. états image 5 +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 +06/08/2026 Isis_BO 6463 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bouton : FI_WinDevFAA_RubanTT.BTN_WDFAA_Redo +Ordre navigation -1 +Curseur survol 32512 +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 2 +Réduction Ruban Réduire jusqu'au mode <petit picto sans libellé> au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 R\'e9tablir (Ctrl+Y)\b0\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf1\highlight0 Redo +(Ctrl+Y)\b0\par +} +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_redo.png +Nb. états image 1 +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 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 6464 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bouton : FI_WinDevFAA_RubanTT.BTN_WDFAA_Undo +Ordre navigation -1 +Curseur survol 32512 +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 2 +Réduction Ruban Réduire jusqu'au mode <petit picto sans libellé> au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Annuler (Ctrl+Z)\b0\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Undo +(Ctrl+Z)\b0\par +} +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_undo.png +Nb. états image 1 +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 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 6465 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Image : FI_WinDevFAA_RubanTT.IMG_Style +Valeur initiale FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_styles.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 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é : FI_WinDevFAA_RubanTT.LIB_LectureSeule +Libellé FR: Lecture seule +GB: Read-only +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 +06/08/2026 Isis_BO 6466 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR,GB: 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 +Ruban : FI_WinDevFAA_RubanTT.RUBAN_WINDEVFAA_TT +Libellé FR: &Ruban +GB: &Ribbon +Valeur initiale 1 +Ordre navigation 2 +Curseur survol 32512 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Retrait gauche 0 +Retrait des onglets 79 +Numéro aide 0 +Autorise ChangeGabarit Oui +Volets détachables Non +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 +Valeur persistante Oui +Texte Markdown Non +Nb. états image 5 +Nb. étapes animation 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 6467 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Ruban : FI_WinDevFAA_RubanTT.RUBAN_WINDEVFAA_TT +Bouton : +Groupe GRP_WDFAA_TT_Tous +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Afficher tout (Ctrl+8)\b0\par +\fs16 Afficher les marques de paragraphe, ainsi que d'autres symboles masqu\'e9s de +mise en forme.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Display all +(Ctrl+8)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Display the paragraph +marks as well as other hidden formatting symbols.\fs18\par +} +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_CaratereNonIm +p.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +Nb. étapes animation 1 +06/08/2026 Isis_BO 6468 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +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 Réduire jusqu'au mode <petit picto sans libellé> au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Centrer (Ctrl+E)\b0\par +\fs16 Centrer votre contenu dans la page.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Center +(Ctrl+E)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Center your content in the +page.\fs18\par +} +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> +06/08/2026 Isis_BO 6469 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_TxtBtn_07_Texte +-Aligner-Centre_16_5.png +Nb. états image 5 +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 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +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 Réduire jusqu'au mode <petit picto sans libellé> au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Aligner \'e0 droite (Ctrl+Maj+D)\b0\par +\fs16 Aligner le contenu sur la marge de droite.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Align to right +(Ctrlj+R)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Align your content on the +right margin.\fs18\par +} +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) +06/08/2026 Isis_BO 6470 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Type flèche <Aucun> +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_TxtBtn_08_Texte +-Aligner-Droite_16_5.png +Nb. états image 5 +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 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +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 Réduire jusqu'au mode <petit picto sans libellé> au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Aligner \'e0 gauche (Ctrl+Maj+G)\b0\par +\fs16 Aligner votre contenu sur la marge de gauche.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Align to left +(Ctrl+L)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Align your content on the +left margin.\fs18\par +} +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 6471 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_TxtBtn_06_Texte +-Aligner-Gauche_16_5.png +Nb. états image 5 +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 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +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 Réduire jusqu'au mode <petit picto sans libellé> au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 6472 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Justifier (Ctrl+J)\b0\par +\fs16 R\'e9partir votre texte de mani\'e8re uniforme entre les marges.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Justify +(Ctrl+J)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Position your text evenly +between margins.\fs18\par +} +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_TxtBtn_11_Texte +-Aligner-Justifier_16_5.png +Nb. états image 5 +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 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Isis_BO 6473 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Retrait gauche 0 +Réduction Ruban Réduire jusqu'au mode <petit picto sans libellé> au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Augmenter le retrait\b0\par +\fs16\'c9loigner le paragraphe de la marge.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Increase the +indent\b0\par +\fs16\ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Move the paragraph away +from the margin.\fs18\par +} +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_retrait_gauche.p +ng +Nb. états image 5 +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 +06/08/2026 Isis_BO 6474 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Barr\'e9\b0\par +\fs16 Tracer une ligne au milieu des \'e9l\'e9ments s\'e9lectionn\'e9s.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Struck +out\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Draw a line in the middle of +selected elements.\fs18\par +} +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Barre.png +Nb. états image 5 +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> +06/08/2026 Isis_BO 6475 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +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 Réduire jusqu'au mode <petit picto sans libellé> au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Bordures\b0\par +\fs16 Ajouter ou supprimer les bordures de votre s\'e9lection.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Borders\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Add or delete the borders +of your selection.\fs18\par +} +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Bordures-Trame +s.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +Nb. étapes animation 1 +Largeur Halo 0 +06/08/2026 Isis_BO 6476 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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 +Bouton : +Libellé FR: Coller +GB: Paste +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 1 +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Coller (Ctrl+V)\b0\par +\fs16 Coller le contenu du Presse-papiers.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Paste +(Ctrl+V)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Paste the clipboard +content\fs18\par +} +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> +06/08/2026 Isis_BO 6477 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_coller.png +Nb. états image 5 +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 +Bouton : +Libellé FR: Copier +GB: Copy +Groupe GRP_WDFAA_TT_Tous +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Copier (Ctrl+C)\b0\par +\fs16 Placer une copie de la s\'e9lection dans le Presse-papiers, pour pouvoir la coller +ailleurs, plus tard.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Copy +(Ctrl+C)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Place a copy of the +selection in the clipboard in oder to paste it somewhere else, later.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +06/08/2026 Isis_BO 6478 + +Partie 9 › FI_WinDevFAA_RubanTT › 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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_copier.png +Nb. états image 5 +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 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +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 Réduire jusqu'au mode <petit picto sans libellé> au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Trame de fond\b0\par +\fs16 Modifier la couleur derri\'e8re le texte ou le paragraphe s\'e9lectionn\'e9.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Shading\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Modify the color behind +the selected text or paragraph.\fs18\par +} +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 6479 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_RemplissagePar +agraphe.png +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 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +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 Réduire jusqu'au mode <petit picto sans libellé> au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 6480 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Trame de fond\b0\par +\fs16 Modifier la couleur derri\'e8re le texte ou le paragraphe s\'e9lectionn\'e9.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Shading\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Modify the color behind +the selected text or paragraph.\fs18\par +} +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_RemplissagePar +agraphe.png +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 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +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 +06/08/2026 Isis_BO 6481 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Ancrage au contenu <Aucun> +Retrait gauche 0 +Réduction Ruban Réduire jusqu'au mode <petit picto sans libellé> au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Couleur de surlignage du texte\b0\par +\fs16 Rendre votre texte \'e9clatant en le surlignant d'une couleur vive.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Text highlighting +color\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Highlight your text by using +a bright color.\fs18\par +} +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 Bouton avec flèche distincte +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_surlignage.png +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 +06/08/2026 Isis_BO 6482 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +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 Réduire jusqu'au mode <petit picto sans libellé> au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Couleur de police\b0\par +\fs16 Modifier la couleur de votre texte.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Font +Color\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Modify the color of your +text.\fs18\par +} +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 Bouton avec flèche distincte +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_TxtBtn_05_Texte +-Couleur_16_5.png +Nb. états image 5 +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 +06/08/2026 Isis_BO 6483 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +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 Réduire jusqu'au mode <petit picto sans libellé> au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Couleur de trait\b0\par +\fs16 Modifier la couleur de trait de la forme.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Line +Color\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Modify the line color for +the shape.\fs18\par +} +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Bordures-Trame +s.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +06/08/2026 Isis_BO 6484 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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 +Bouton : +Libellé FR: Couper +GB: Cut +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 Couper (Ctrl+X)\b0\par +\fs16 Supprimer la s\'e9lection et la placer dans le Presse-papiers pour pouvoir la coller +ailleurs.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf1\highlight0 Cut +(Ctrl+X)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf1\highlight0 Delete the selection and +place it in the clipboard in order to paste it somewhere else.\fs18\par +} +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 +06/08/2026 Isis_BO 6485 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Facteur d'agrandissement 0 +Type flèche <Aucun> +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_couper.png +Nb. états image 5 +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 +Bouton : +Libellé FR: En-tête +GB: Header +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs17 Ins\'e9rer une en-t\'eate\par +\b0 Les en-t\'eates permettent de r\'e9p\'e9ter un contenu en haut de chaque +page.\b\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs17 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs17\cf0\highlight0 Insert a +header\par +\b0 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf0\highlight0 The headers are used to +repeat a content at the top of each page.\b\par +} +Numéro aide 0 +06/08/2026 Isis_BO 6486 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Entete.png +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 +Bouton : +Libellé FR: Exporter +GB: Export +Groupe GRP_WDFAA_TT_Tous +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu flèche WINDEVFAA_TT_CTX_Exporter +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é) +Bulle d'aide FR: Exporter le document vers un autre format. +GB: Export the document to another format. +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 6487 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Exporter.png +Nb. états image 5 +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 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +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é) +06/08/2026 Isis_BO 6488 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Exposant (Ctrl+Maj++)\b0\par +\fs16 Taper de toutes petites lettres au-dessus de la ligne de texte.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Superscript +(Ctrl+Shift++)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Type very small letters +above the text line.\fs18\par +} +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_exposant.png +Nb. états image 5 +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 +Bouton : +Libellé FR: Fermer l'en-tête et le pied de page +GB: Close the header and footer +Groupe GRP_ENTETE,GRP_WDFAA_TT_INACTIF,GRP_WDFAA_TT_Tous +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 +06/08/2026 Isis_BO 6489 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +É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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 Fermer l'en-t\'eate et le pied de page\b0\fs17\par +Fermer les outils en-t\'eate et pied de page.\par +\par +Vous pouvez \'e9galement double-cliquer sur la zone du document pour revenir \'e0 sa +modification.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf1\highlight0 Close the +header and footer\b0\fs17\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf1\highlight0 Close the header and footer +tools.\par +\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf1\highlight0 You can also double-click the +document area to go back to its modification.\par +} +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Fermer.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 <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 6490 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bouton : +Libellé FR: Forme +GB: Shape +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Ins\'e9rer une forme\par +\b0\fs17 Dessiner des formes pr\'e9d\'e9finies (des cercles, des carr\'e9s, ...)\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Insert shape\par +\b0\fs17 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf0\highlight0 Draw preset shapes +(circles, squares, ...)\fs18\par +} +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_Formes_32_5.png +Nb. états image 5 +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 +06/08/2026 Isis_BO 6491 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Formule +GB: Expression +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Ins\'e9rer une formule\par +\b0 Ins\'e9rer du texte automatique, des propri\'e9t\'e9s de document et des champs +(num\'e9ro de page, date, ...).\fs17\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Insert a +formula\par +\b0 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Insert automatic text, +document properties and controls (page number, date, ...).\fs17\par +} +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Champ-Formaté +.png +Nb. états image 1 +06/08/2026 Isis_BO 6492 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Gras (Ctrl+G)\b0\par +\fs16 Mettre votre texte en gras.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Bold +(Ctrl+B)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Write your text in +bold\fs18\par +} +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 +06/08/2026 Isis_BO 6493 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Mode menu ctx. <Aucun> +Image FR: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Gras.png +GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Gras-US.png +Nb. états image 5 +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 +Bouton : +Libellé FR: Aligné sur le texte +GB: Aligned on text +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Habillage_Aligne +r.png +06/08/2026 Isis_BO 6494 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Nb. états image 5 +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 +Bouton : +Libellé FR: Carré +GB: Square +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Habillage_Carré. +png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +Nb. étapes animation 1 +06/08/2026 Isis_BO 6495 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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 +Bouton : +Libellé FR: Derrière le texte +GB: Behind text +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Habillage_Derrie +re.png +Nb. états image 5 +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 +06/08/2026 Isis_BO 6496 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Devant le texte +GB: In front of text +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Habillage_Devan +t.png +Nb. états image 5 +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 +06/08/2026 Isis_BO 6497 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bouton : +Libellé FR: Haut et bas +GB: Top and bottom +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Habillage_Haut +et Bas.png +Nb. états image 5 +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 +06/08/2026 Isis_BO 6498 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bouton : +Libellé FR,GB: Image +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 1 +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Ins\'e9rer une image\par +\b0 Ins\'e9rer des images depuis votre ordinateur.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Insert an +image\par +\b0 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Insert images from your +computer.\par +} +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Images.png +Nb. états image 5 +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 +06/08/2026 Isis_BO 6499 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Imprimer +GB: Print +Groupe GRP_WDFAA_TT_Tous +Ordre navigation 1 +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Imprimer (Ctrl+P)\b0\fs17\par +Ouvrir l'aper\'e7u avant impression.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Print +(Ctrl+P)\b0\fs17\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf0\highlight0 Open the print preview.\par +} +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Apercu.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +06/08/2026 Isis_BO 6500 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Indice (Ctrl+=)\b0\par +\fs16 Taper de toutes petites lettres sous la ligne de texte.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Subscript +(Ctrl+=)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Type very small letters +below the text line.\fs18\par +} +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> +06/08/2026 Isis_BO 6501 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_indice.png +Nb. états image 5 +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 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +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 Réduire jusqu'au mode <petit picto sans libellé> au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Interligne\b0\par +\fs16 Choisir l'espacement entre les lignes de texte.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Interline\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Choose the spacing +between text lines.\par +} +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 +06/08/2026 Isis_BO 6502 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Type flèche Bouton flèche +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_interligne.png +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 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Italique (Ctrl+I)\b0\par +\fs16 Mettre votre texte en italique.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Italic +(Ctrl+I)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Write your text in +italic.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +06/08/2026 Isis_BO 6503 + +Partie 9 › FI_WinDevFAA_RubanTT › 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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Italique.png +Nb. états image 5 +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 +Bouton : +Libellé FR: Lien +GB: Link +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é) +06/08/2026 Isis_BO 6504 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Ins\'e9rer un lien hypertexte\par +\b0 Cr\'e9er un lien dans votre document pour acc\'e9der \'e0 une page web ou \'e0 un +signet.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Insert a +hypertext link\par +\b0 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Create a link in your +document to access a Web page or a bookmark.\par +} +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Lien_32_5.png +Nb. états image 5 +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 +Bouton : +Libellé FR: Affichage paginé +GB: Paginated display +Groupe GRP_WDFAA_TT_Affichage +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +06/08/2026 Isis_BO 6505 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs17 Page\b0\par +Visualisez l'aspect de votre document une fois imprim\'e9.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs17 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs17\cf0\highlight0 Page\b0\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf0\highlight0 See the aspect of your document +once printed.\par +} +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Affiche-Page.pn +g +Nb. états image 5 +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 +06/08/2026 Isis_BO 6506 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bouton : +Libellé FR: Mode web +GB: Web mode +Groupe GRP_WDFAA_TT_Affichage +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\cf1\b\f0\fs17 web\par +\b0 Visualiser l'aspect de votre document s'il prenait la forme d'une page web.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\cf1\b\f0\fs17 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs17\cf1\highlight0 web\par +\b0 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf1\highlight0 See the aspect of your +document if it was displayed in Web page format.\par +} +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Affiche-Web.png +Nb. états image 5 +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +06/08/2026 Isis_BO 6507 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu flèche WINDEVFAA_TT_CTX_Majuscule +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}{\f1\fnil\fcharset0 MS Shell Dlg;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Passer en MAJUSCULES/minuscules\b0\f1\fs17\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}{\f1\fnil\fcharset0 MS Shell Dlg;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Switch to +UPPERCASE/lowercase\b0\f1\fs17\par +} +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_Majuscule-Minuscul +e.png +Nb. états image 5 +Nb. états fond 5 +06/08/2026 Isis_BO 6508 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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 +Bouton : +Libellé FR: Marges +GB: Margins +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 1 +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Ajuster les marges\b0\par +\fs16 D\'e9finir les tailles des marges pour l'int\'e9gralit\'e9 du document ou la section +actuelle.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Adjust the +margins\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Define the size of margins +for the entire document or for the current section.\fs18\par +} +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 +06/08/2026 Isis_BO 6509 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Type flèche Bouton flèche +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_marges.png +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 +Bouton : +Libellé FR: Nouveau +GB: New +Groupe GRP_WDFAA_TT_Tous +Ordre navigation 1 +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Nouveau (Ctrl+N)\b0\par +\fs16 Cr\'e9er un document vierge.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 New +(Ctrl+N)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Create a new +document.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Isis_BO 6510 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_OptNouveau.png +Nb. états image 5 +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 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +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 Réduire jusqu'au mode <petit picto sans libellé> au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 6511 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Num\'e9rotation et liste \'e0 plusieurs niveaux\b0\par +\fs16 Cr\'e9er une liste num\'e9rot\'e9e ou une liste \'e0 plusieurs niveaux pour +organiser les \'e9l\'e9ments.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Numbering and +list on several levels\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Create a numbered list or a +list on several levels to organize the elements.\fs18\par +} +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 Bouton avec flèche distincte +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Numerotation_ +Multi_Niveau.png +Nb. états image 5 +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 +Bouton : +Libellé FR,GB: Orientation +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu flèche WINDEVFAA_TT_CTX_Orientation +On/Off Non +Recopie Option menu flèche Non +06/08/2026 Isis_BO 6512 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Modifier l'orientation de la page\b0\par +\fs16 Disposer l'arri\'e8re-plan de votre page selon l'orientation Paysage ou +Portrait.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Modify the page +orientation\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Arrange the background of +your page according to the Landscape or Portrait orientation.\fs18\par +} +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_orientation.png +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 +06/08/2026 Isis_BO 6513 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bouton : +Libellé FR: Activer la correction orthographique +GB: Enable the spell check +Groupe GRP_WDFAA_TT_Tous +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +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é) +Bulle d'aide FR: Vérifier l'orthographe. +GB: Check the spelling. +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_correcteur.png +Nb. états image 5 +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 +06/08/2026 Isis_BO 6514 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bouton : +Libellé FR: Ouvrir +GB: Open +Groupe GRP_WDFAA_TT_Tous +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Ouvrir (Ctrl+O)\b0\par +\fs16 Ouvrir un fichier docx existant.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Open +(Ctrl+O)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Open an existing docx +file.\fs18\par +} +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_OptOuvrir.png +Nb. états image 5 +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 +06/08/2026 Isis_BO 6515 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Page vierge +GB: Blank page +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF,GRP_PAGE +Ordre navigation 1 +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Ajouter une page vierge\b0\par +\fs16 Ins\'e9rer une page vierge n'importe o\'f9 dans votre document.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Add a blank +page\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Insert a blank page +anywhere in your document\fs18\par +} +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_PageVierge.png +Nb. états image 5 +06/08/2026 Isis_BO 6516 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Pied de page +GB: Page footer +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs17 Ins\'e9rer un pied de page\par +\b0 Les pieds de page permettent de r\'e9p\'e9ter un contenu en bas de chaque +page.\b\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs17 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs17\cf0\highlight0 Insert a page +footer\par +\b0 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf0\highlight0 The footers are used to +repeat a content at the bottom of each page.\b\par +} +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 +06/08/2026 Isis_BO 6517 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Facteur d'agrandissement 0 +Type flèche Bouton flèche +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_pieddepage.png +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 +Bouton : +Libellé FR: Police +GB: Font +Ordre navigation 1 +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. <Aucun> +Nb. états image 1 +Nb. états fond 5 +06/08/2026 Isis_BO 6518 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 6 +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 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}{\f1\fnil\fcharset0 MS Shell Dlg;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Diminuer la taille de police\b0\f1\fs17\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}{\f1\fnil\fcharset0 MS Shell Dlg;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Reduce the +font\b0\f1\fs17\par +} +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> +06/08/2026 Isis_BO 6519 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Police-Moins.pn +g +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 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Augmenter la taille de police\b0\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Enlarge the +font\b0\par +} +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 +06/08/2026 Isis_BO 6520 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Type flèche <Aucun> +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Police-Plus.png +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 +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +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 Réduire jusqu'au mode <petit picto sans libellé> au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Puces\b0\par +\fs16 Cr\'e9er une liste \'e0 puces.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Bullets\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Create a list with +bullets.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +06/08/2026 Isis_BO 6521 + +Partie 9 › FI_WinDevFAA_RubanTT › 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 Bouton avec flèche distincte +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_puces.png +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 +Bouton : +Libellé FR: Remplacer +GB: Replace +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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é) +06/08/2026 Isis_BO 6522 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Remplacer (Ctrl+H)\b0\par +\fs16 Recherche un texte que vous souhaitez modifier et le remplacer par autre +chose.\fs18\par +\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Replace +(Ctrl+H)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Find a text that you want to +modify and replace it by something else.\fs18\par +\par +} +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_remplacer.png +Nb. états image 5 +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 +06/08/2026 Isis_BO 6523 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +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 Réduire jusqu'au mode <petit picto sans libellé> au maximum +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Diminuer le retrait\b0\par +\fs16 Rapprocher le paragraphe de la marge.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Reduce the +indent\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Move the paragraph near +the margin.\fs18\par +} +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_retrait_gauche-d +iminuer.png +Nb. états image 5 +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 +06/08/2026 Isis_BO 6524 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Saut de page +GB: Page break +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF,GRP_PAGE +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Ins\'e9rer un saut de page (Ctrl+Entr\'e9e)\b0\fs18\par +\fs16 Terminer la page actuelle ici et passer \'e0 la page suivante.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Insert a page +break (Ctrl+Enter)\b0\fs18\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 End the current page and +go to next page.\fs18\par +} +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_SautDePage.png +Nb. états image 1 +Nb. états fond 5 +06/08/2026 Isis_BO 6525 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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 +Bouton : +Libellé FR: Saut de page +GB: Page break +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_NONDISPO,GRP_PAGE +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é) +Bulle d'aide FR: Insérer un saut de page +GB: Insert a page break +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_SautDePage.png +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 +06/08/2026 Isis_BO 6526 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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 +Bouton : +Libellé FR: Enregistrer +GB: Save +Groupe GRP_WDFAA_TT_Tous +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu flèche WINDEVFAA_TT_CTX_Sauver +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Enregistrer (Ctrl+S)\b0\fs17\par +Enregistrer le document.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Save +(Ctrl+S)\b0\fs17\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf0\highlight0 Save the document.\par +} +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 Bouton avec flèche distincte +Texte Markdown Non +Mode menu ctx. <Aucun> +06/08/2026 Isis_BO 6527 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_Sauve.png +Nb. états image 5 +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 +Bouton : +Libellé FR: Enregistrer +GB: Save +Groupe GRP_WDFAA_TT_Tous +Ordre navigation 1 +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Enregistrer (Ctrl+S)\b0\fs17\par +Enregistrer le document.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Save +(Ctrl+S)\b0\fs17\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf0\highlight0 Save the document.\par +} +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) +06/08/2026 Isis_BO 6528 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Type flèche <Aucun> +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_Sauve.png +Nb. états image 5 +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 +Bouton : +Libellé FR: Signet +GB: Bookmark +Groupe GRP_WDFAA_TT_Tous +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é) +06/08/2026 Isis_BO 6529 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Ins\'e9rer un signet\par +\cf1\b0\fs16 Les signets permettent d'atteindre un emplacement sp\'e9cifique dans le +document.\cf0\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Insert a +bookmark\par +\cf1\b0\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf1\highlight0 The bookmarks are +used to reach a specific location in the document.\cf0\par +} +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_Signet.png +Nb. états image 5 +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 +06/08/2026 Isis_BO 6530 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bouton : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Oui +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Soulign\'e9 (Ctrl+U)\b0\par +\fs16 Souligner votre texte.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Underlined +(Ctrl+U)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Underline your +text.\fs18\par +} +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\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Souligne.png +GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Souligne-US.png +Nb. états image 5 +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 +06/08/2026 Isis_BO 6531 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Insérer à droite +GB: Insert to right +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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é) +Bulle d'aide FR: Insérer une colonne à droite de la colonne courante +GB: Insert a column to the right of current column +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_tab_ins_droite.p +ng +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> +06/08/2026 Isis_BO 6532 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Insérer à gauche +GB: Insert to left +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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é) +Bulle d'aide FR: Insérer un colonne à gauche de la colonne courante +GB: Insert a column to the left of current column +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_tab_ins_gauche. +png +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 +06/08/2026 Isis_BO 6533 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bouton : +Libellé FR: Insérer au-dessus +GB: Insert above +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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é) +Bulle d'aide FR: Insérer une ligne au-dessus de la ligne courante +GB: Insert a row above the current row +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_tab_ins_dessus. +png +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 +06/08/2026 Isis_BO 6534 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bouton : +Libellé FR: Insérer en dessous +GB: Insert below +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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é) +Bulle d'aide FR: Insérer une ligne en dessous de la ligne courante +GB: Insert a row below the current row +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_tab_ins_dessous +.png +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 +06/08/2026 Isis_BO 6535 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bouton : +Libellé FR: Supprimer +GB: Delete +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu flèche WINDEVFAA_TT_CTX_TableauSupprime +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é) +Bulle d'aide FR: Supprimer le tableau sélectionné +GB: Delete the selected table +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_tab_supprimer.p +ng +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 +06/08/2026 Isis_BO 6536 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bouton : +Libellé FR: Tableau +GB: Table +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs17 Cr\'e9er un tableau\par +\b0 Un tableau est un excellent moyen d'organiser des informations au sein de votre +document.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs17 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs17\cf0\highlight0 Create a +table\par +\b0 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf0\highlight0 A tableau is a good way to +organize information within your document.\par +} +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Tableau.png +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 +06/08/2026 Isis_BO 6537 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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 +Bouton : +Libellé FR: Tableau +GB: Table +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 1 +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é) +Bulle d'aide FR: Créer un tableau +GB: Create a table +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Tableau.png +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> +06/08/2026 Isis_BO 6538 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : +Libellé FR: Taille +GB: Size +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Choisir la taille de la page\b0\par +\fs16 Choisir le format de papier pour votre document.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Choose the page +size\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Choose the paper format +for your document.\fs18\par +} +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 Bouton flèche +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_taille.png +Nb. états image 1 +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +06/08/2026 Isis_BO 6539 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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 +Bouton : +Libellé FR: Zone de texte +GB: Text area +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Ins\'e9rer une zone de texte\par +\b0 Une zone de texte met un contenu en \'e9vidence : c'est un excellent moyen de +mettre en \'e9vidence un texte important comme un en-t\'eate ou une citation.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Insert a text +area\par +\b0 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 A text area highlights a +content: it's a good way to highlight an important text such as a header or a quote.\par +} +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 +06/08/2026 Isis_BO 6540 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_Zone-Texte_32_5.pn +g +Nb. états image 5 +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 +Bouton : +Libellé FR,GB: 100% +Groupe GRP_WDFAA_TT_Affichage +Ordre navigation 1 +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 100%\b0\par +\fs16 Restaurer le niveau de zoom \'e0 100%.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 100%\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Restore the zoom level to +100%.\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse <Aucun> +06/08/2026 Isis_BO 6541 + +Partie 9 › FI_WinDevFAA_RubanTT › 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 +Type flèche <Aucun> +Texte Markdown Non +Mode menu ctx. <Aucun> +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_zoom100.png +Nb. états image 5 +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 +Bouton : +Libellé FR: Largeur de la page +GB: Page Width +Groupe GRP_WDFAA_TT_Affichage +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é) +06/08/2026 Isis_BO 6542 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Largeur de la page\b0\par +\fs16 Effectuer un zoom sur le document afin que la largeur de la page corresponde \'e0 +la largeur de la fen\'eatre.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Page +Width\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Perform a zoom on the +document in order for the page width to correspond to the window width.\fs18\par +} +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_zoomlargeurpag +e.png +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 +Bouton : +Libellé FR: Page entière +GB: Entire page +Groupe GRP_WDFAA_TT_Affichage +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Non +Recopie Option menu flèche Non +06/08/2026 Isis_BO 6543 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Une page\b0\par +\fs16 Effectuer un zoom sur le document de mani\'e8re \'e0 afficher une page enti\'e8re +dans la fen\'eatre.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 A page\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Perform a zoom on the +document in order to display the entire page in the window.\fs18\par +} +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_zoomtaillepage. +png +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 +06/08/2026 Isis_BO 6544 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bouton : +Groupe GRP_WDFAA_TT_Affichage +Ordre navigation -1 +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é) +Bulle d'aide FR,GB: Zoom -10% +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_zoommoins.png +Nb. états image 5 +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 +06/08/2026 Isis_BO 6545 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bouton : +Groupe GRP_WDFAA_TT_Affichage +Ordre navigation -1 +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é) +Bulle d'aide FR,GB: Zoom + 10% +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_zoomplus.png +Nb. états image 5 +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 +06/08/2026 Isis_BO 6546 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bouton : +Libellé FR: Rechercher +GB: Find +Groupe GRP_WDFAA_TT_Tous +Ordre navigation 1 +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Rechercher (Ctrl+F)\b0\par +\fs16 Rechercher du texte dans le document.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Find +(Ctrl+F)\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Find text in the +document.\fs18\par +} +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,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_recherche.png +Nb. états image 5 +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 +06/08/2026 Isis_BO 6547 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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 +Ancrage au contenu <Aucun> +Numéro aide 0 +Ascenseur auto. 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 +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 3 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : +Valeur initiale 12 +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation -1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Droite +06/08/2026 Isis_BO 6548 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 53 +Larg. déroulée perso. Non +Hauteur ligne 15 +Retrait gauche 2 +Position X interne 630 +Largeur interne 53 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Taille de police\b0\par +\fs16 Modifier la taille de votre texte.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Font Size\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Modify the size of your +text.\fs18\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Numérique +Masque saisie FR,GB: 9 999,0 +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 Oui +Avec focus Non +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +06/08/2026 Isis_BO 6549 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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 +Regroupement : +Libellé FR: Règles +GB: Rulers +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +Regroupement : +Libellé FR,GB: Zoom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +Regroupement : +Libellé FR: Contenu +GB: Content +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +06/08/2026 Isis_BO 6550 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Regroupement : +Libellé FR,GB: Document +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_OptNouveau_32 +_1.png +Nb. états image 1 +Regroupement : +Libellé FR,GB: Document +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +Regroupement : +Libellé FR: En-tête et pied de page +GB: Page header and footer +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +Regroupement : +Libellé FR,GB: Export +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +06/08/2026 Isis_BO 6551 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Apercu_32_1.pn +g +Nb. états image 1 +Regroupement : +Libellé FR: Habillage +GB: Wrapping +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +Regroupement : +Libellé FR: Taille +GB: Size +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Rgp_Taille.png +Nb. états image 1 +Regroupement : +Libellé FR: Lignes et colonnes +GB: Rows and columns +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +06/08/2026 Isis_BO 6552 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Regroupement : +Libellé FR: Mise en page +GB: Layout +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +Regroupement : +Libellé FR: Paragraphe +GB: Paragraph +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Rgp_Paragraphe +.png +Nb. états image 1 +Regroupement : +Libellé FR: Mode d'affichage +GB: Display mode +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +06/08/2026 Isis_BO 6553 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Regroupement : +Libellé FR,GB: Modification +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Rgp_Modificatio +n.png +Nb. états image 1 +Regroupement : +Libellé FR,GB: Pages +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +Regroupement : +Libellé FR: Paragraphe +GB: Paragraph +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Rgp_Paragraphe +.png +Nb. états image 1 +06/08/2026 Isis_BO 6554 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Regroupement : +Libellé FR: Police +GB: Font +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Rgp_Police.png +Nb. états image 1 +Regroupement : +Libellé FR: Presse-papiers +GB: Clipboard +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +Regroupement : +Libellé FR,GB: Style +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Image FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Rgp_Style.png +Nb. états image 1 +06/08/2026 Isis_BO 6555 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Regroupement : +Libellé FR: Style de la forme +GB: Shape style +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +Regroupement : +Libellé FR: Créer +GB: Create +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec bouton Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Nb. états image 1 +Image : +Valeur initiale FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_espacement_ava +nt.png +Groupe GRP_WDFAA_TT_Tous +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 Cadrage ignoré (pour compatibilité) +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> +06/08/2026 Isis_BO 6556 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Mire visible Oui +Zoom par double taps Oui +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF 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 : +Valeur initiale FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_espacement_ava +nt.png +Groupe GRP_WDFAA_TT_Tous +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 Cadrage ignoré (pour compatibilité) +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 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 +06/08/2026 Isis_BO 6557 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Image : +Valeur initiale FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Entete-Position. +png +Groupe GRP_ENTETE +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 Cadrage ignoré (pour compatibilité) +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 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 : +Valeur initiale FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_Pied-Position.pn +g +Groupe GRP_ENTETE +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 +06/08/2026 Isis_BO 6558 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 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 : +Valeur initiale FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_retrait_droite.pn +g +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 Cadrage ignoré (pour compatibilité) +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 +06/08/2026 Isis_BO 6559 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Mode 9 images Non +Chargement en fond Non +Orientation EXIF 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 : +Valeur initiale FR,GB: D:\Projets +Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\WINDEVFAA_TT_retrait_gauche.p +ng +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 Cadrage ignoré (pour compatibilité) +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 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 +06/08/2026 Isis_BO 6560 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Interrupteur : +Valeur initiale 0 +Groupe GRP_ENTETE,GRP_WDFAA_TT_INACTIF,GRP_WDFAA_TT_Tous +Ordre navigation 10 +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 Lier au pr\'e9c\'e9dent\b0\fs17\par +Etablir un lien vers la section pr\'e9c\'e9dente pour continuer \'e0 utiliser le m\'eame +en-t\'eate ou pied de page.\par +\par +D\'e9sactivez cette fonctionnalit\'e9 pour cr\'e9er un autre en-t\'eate ou pied de page +pour la section actuelle.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf1\highlight0 Link to +previous\b0\fs17\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf1\highlight0 Create a link to the previous +section in order to use the same header or footer.\par +\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf1\highlight0 Disable this feature to create +another header or footer for the current section.\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +06/08/2026 Isis_BO 6561 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Mode menu ctx. <Aucun> +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 6 +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 +Interrupteur : +Valeur initiale 0 +Groupe GRP_ENTETE,GRP_WDFAA_TT_INACTIF,GRP_WDFAA_TT_Tous +Ordre navigation 8 +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é) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 Page paires et impaires diff\'e9rentes\b0\fs17\par +Indiquer si les pages impaires doivent avoir un en-t\'eate et un pied de page diff\'e9rent +des pages paires.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf1\highlight0 Different +even and odd pages\b0\fs17\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf1\highlight0 Specify whether the odd pages +and the even pages must have a different header and footer.\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +06/08/2026 Isis_BO 6562 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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> +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 6 +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 +Interrupteur : +Valeur initiale 0 +Groupe GRP_ENTETE,GRP_WDFAA_TT_INACTIF,GRP_WDFAA_TT_Tous +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 vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 Premi\'e8re page diff\'e9rente\b0\fs17\par +D\'e9finir un en-t\'eate et un pied de page diff\'e9rents pour la premi\'e8re page de la +section.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf1\highlight0 Different +first page\b0\fs17\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf1\highlight0 Define a different header and +footer for the first section page.\par +} +Numéro aide 0 +Opacité 100 +06/08/2026 Isis_BO 6563 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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> +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 6 +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 +Interrupteur : +Libellé FR: &Interrupteur +GB: &Check box +Valeur initiale 0 +Groupe GRP_WDFAA_TT_Affichage +Ordre navigation 1 +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é) +06/08/2026 Isis_BO 6564 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.16299}\viewkind4\uc1 +\pard\cf1\b\f0\fs17 Afficher les r\'e8gles en regard de votre document\b0\par +Gr\'e2ce \'e0 cette fonctionnalit\'e9, vous pouvez afficher et d\'e9finir des taquets de +tabulation, ainsi que manipuler les valeurs de retrait de paragraphe. Les r\'e8gles +permettent \'e9galement de prendre des mesures.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.16299}\viewkind4\uc1 +\pard\cf1\b\f0\fs17 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs17\cf1\highlight0 Display the +rulers in relation to your document\b0\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs17\cf1\highlight0 This feature allows you to +display and define tab stops and to handle paragraph indent values. The rulers can also +be used to take measures.\par +} +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> +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 6 +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 +06/08/2026 Isis_BO 6565 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Libellé : +Libellé FR: Couleur de fond : +GB: Background color: +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,GB: 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é : +Libellé FR: Couleur de trait : +GB: Line Color: +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 +06/08/2026 Isis_BO 6566 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR,GB: 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é : +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,GB: 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 +06/08/2026 Isis_BO 6567 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Libellé : +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,GB: 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é : +Libellé FR: Espacement +GB: Spacing +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 +06/08/2026 Isis_BO 6568 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Type saisie Texte +Masque saisie FR,GB: 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é : +Libellé FR: Retrait +GB: Indent +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,GB: 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 +06/08/2026 Isis_BO 6569 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Potentiomètre : +Libellé FR: &Potentiomètre +GB: &Slider +Valeur initiale 10 +Groupe GRP_WDFAA_TT_Affichage +Ordre navigation -1 +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 +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 +Avec focus Non +Valeur persistante Non +Texte Markdown Non +Nb. états image 2 +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 : +Groupe GRP_WDFAA_TT_Affichage +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 222 +Largeur interne 96 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 6570 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 Zoom\b0\par +\fs16 Choisir le pourcentage d'agrandissement qui vous convient.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\colortbl ;\red45\green45\blue45;} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\cf1\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf1\highlight0 Zoom\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf1\highlight0 Choose the enlargement +percentage that suits you.\fs18\par +} +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,GB: 99 999% +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 +06/08/2026 Isis_BO 6571 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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 : +Libellé FR: Après : +GB: After: +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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. Droite +Position X interne 458 +Largeur interne 59 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Isis_BO 6572 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Espace apr\'e8s\b0\par +\fs16 Modifier l'espacement en dessous des paragraphes s\'e9lectionn\'e9s.\fs18\par +\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Space +after\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Modify the spacing below +the selected paragraphs.\fs18\par +\par +} +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,GB: 9 999,00 pt;9 999,00 pt;0 pt; +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 +06/08/2026 Isis_BO 6573 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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 : +Libellé FR: Avant : +GB: Before: +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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 458 +Largeur interne 59 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Espace avant\b0\par +\fs16 Modifier l'espacement au-dessus des paragraphes s\'e9lectionn\'e9s.\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Space +before\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Modify the spacing above +the selected paragraphs.\fs18\par +} +06/08/2026 Isis_BO 6574 + +Partie 9 › FI_WinDevFAA_RubanTT › 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,GB: 9 999,00 pt;9 999,00 pt;0 pt; +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 +06/08/2026 Isis_BO 6575 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Libellé FR: Hauteur : +GB: Height: +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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 408 +Largeur interne 66 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Hauteur de l'image +GB: Image height +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,GB: 9 999,99 cm;9 999,99 cm;0 cm; +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 +06/08/2026 Isis_BO 6576 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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 +Champ de saisie : +Libellé FR: Largeur : +GB: Width: +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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 +06/08/2026 Isis_BO 6577 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Ancrage au contenu <Aucun> +Cadrage horz. Droite +Position X interne 408 +Largeur interne 66 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: Largeur de l'image +GB: Image width +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,GB: 9 999,99 cm;9 999,99 cm;0 cm; +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 +06/08/2026 Isis_BO 6578 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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 : +Libellé FR: En-tête à partir du haut : +GB: Header from top: +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF,GRP_ENTETE +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. Droite +Position X interne 593 +Largeur interne 49 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Position de l'en-t\'eate \'e0 partir du haut\b0\par +\fs16 Sp\'e9cifier la distance entre le haut de la page et le haut de l'en-t\'eate\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Position of +header from top\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Specify the distance +between the top of page and the top of header\par +} +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +Visualisation markdown Non +06/08/2026 Isis_BO 6579 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR,GB: 99,00 cm;99,00 cm;0 cm; +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 +06/08/2026 Isis_BO 6580 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Champ de saisie : +Libellé FR: Pied de page à partir du bas : +GB: Footer from bottom: +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF,GRP_ENTETE +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. Droite +Position X interne 593 +Largeur interne 49 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 Position du pied de page \'e0 partir du bas\b0\par +\fs16 Sp\'e9cifier la distance entre le bas de la page et le bas du pied de page.\par +\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.15063}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Position of +footer from bottom\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Specify the distance +between the page bottom and the footer bottom.\par +\fs18\par +} +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,GB: 99,00 cm;99,00 cm;0 cm; +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 +06/08/2026 Isis_BO 6581 + +Partie 9 › FI_WinDevFAA_RubanTT › 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 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 +06/08/2026 Isis_BO 6582 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Champ de saisie : +Libellé FR: A droite : +GB: Right: +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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. Droite +Position X interne 322 +Largeur interne 49 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Retrait \'e0 droite\b0\par +\fs16 S\'e9lectionner la distance de retrait du paragraphe par rapport \'e0 la marge +droite.\par +\par +Pour modifier les marges de l'ensemble du document, cliquez sur le bouton Marges.\par +\fs18\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Right +indent\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Select the indent of the +paragraph in relation to the right margin.\par +\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 To modify the margins for the +entire document, click the Margins button.\par +\fs18\par +} +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,GB: 99,00 cm;99,00 cm;0 cm; +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +06/08/2026 Isis_BO 6583 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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 +06/08/2026 Isis_BO 6584 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Champ de saisie : +Libellé FR: A gauche : +GB: Left: +Groupe GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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. Droite +Position X interne 322 +Largeur interne 49 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 Retrait \'e0 gauche\b0\par +\fs16 S\'e9lectionner la distance de retrait du paragraphe par rapport \'e0 la marge +gauche.\par +\par +Pour modifier les marges de l'ensemble du document, cliquez sur le bouton Marges.\par +} +GB: {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharse +t0 Trebuchet MS;}} +{\*\generator Riched20 10.0.14393}\viewkind4\uc1 +\pard\b\f0\fs18 \ql\b1\i0\ul0\strike0\nosupersub\f0\fs18\cf0\highlight0 Left +indent\b0\par +\fs16 \ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 Select the indent of the +paragraph in relation to the left margin.\par +\par +\ql\b0\i0\ul0\strike0\nosupersub\f0\fs16\cf0\highlight0 To modify the margins for the +entire document, click the Margins button.\par +} +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,GB: 99,00 cm;99,00 cm;0 cm; +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +06/08/2026 Isis_BO 6585 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +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 +06/08/2026 Isis_BO 6586 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Spin : +Valeur initiale 0 +Groupe ,GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 8 +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 +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 +Avec focus Oui +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Spin : +Valeur initiale 0 +Groupe ,GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +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 +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 +Avec focus Oui +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 6587 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Spin : +Valeur initiale 0 +Groupe ,GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF,GRP_ENTETE +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 +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 +Avec focus Oui +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Spin : +Valeur initiale 0 +Groupe ,GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF,GRP_ENTETE +Ordre navigation 9 +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 +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 +Avec focus Oui +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 6588 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les champs +Spin : +Valeur initiale 0 +Groupe ,GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 7 +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 +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 +Avec focus Oui +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Spin : +Valeur initiale 0 +Groupe ,GRP_WDFAA_TT_Tous,GRP_WDFAA_TT_INACTIF +Ordre navigation 3 +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 +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 +Avec focus Oui +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 6589 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les menus +FI_WinDevFAA_RubanTT +Informations sur les menus +Menu contextuel : 'WINDEVFAA_TT_CTX_Exporter' +Nom des options +Générer_le_PDF (3) +WINDEVFAA_TT_OPT_HTML (7) +Libellé des options : Français +Exporter en PDF... +Exporter en HTML... +Libellé des options : Anglais +Export in PDF... +Export in HTML... +Menu contextuel : 'WINDEVFAA_TT_CTX_Sauver' +Nom des options +WINDEVFAA_TT_OPT_Save (5) +WINDEVFAA_TT_OPT_SaveAs (6) +Libellé des options : Français +Enregistrer +Enregistrer sous... +Libellé des options : Anglais +Save +Save as... +06/08/2026 Isis_BO 6590 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les menus +Menu contextuel : 'WINDEVFAA_TT_CTX_Orientation' +Nom des options +WINDEVFAA_TT_OPT_Portrait (12) +WINDEVFAA_TT_OPT_Paysage (13) +Libellé des options : Français +Portrait +Paysage +Libellé des options : Anglais +Portrait +Landscape +Menu contextuel : 'WINDEVFAA_TT_CTX_TableauSupprime' +Nom des options +WINDEVFAA_TT_OPT_SupprLigne (8) +OPT_Supprimer_la_colonne (9) +OPT_Supprimer_le_tableau (10) +Libellé des options : Français +Supprimer la ligne +Supprimer la colonne +Supprimer le tableau +Libellé des options : Anglais +Delete the line +Delete the column +Delete the table +06/08/2026 Isis_BO 6591 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les menus +Menu contextuel : 'WINDEVFAA_TT_CTX_EnTête' +Nom des options +OPT_ModifierEnTête (15) +OPT_SupprimerEnTête (19) +Libellé des options : Français +&Modifier l'en-tête +S&upprimer l'en-tête +Libellé des options : Anglais +&Modify the header +&Delete the header +Menu contextuel : 'WINDEVFAA_TT_CTX_PiedDePage' +Nom des options +OPT_ModifierPiedPage (17) +OPT_SupprimerPiedPage (18) +Libellé des options : Français +&Modifier le pied de page +S&upprimer le pied de page +Libellé des options : Anglais +&Modify the footer +&Delete the footer +Menu contextuel : 'WINDEVFAA_TT_CTX_Majuscule' +06/08/2026 Isis_BO 6592 + +Partie 9 › FI_WinDevFAA_RubanTT › Informations sur les menus +Nom des options +OPT_WDFAA_Minuscules (21) +OPT_MAJUSCULES (22) +Libellé des options : Français +minuscules +MAJUSCULES +Libellé des options : Anglais +lowercase characters +UPPERCASES +FI_WinDevFAA_RubanTT +Messages multilingues +06/08/2026 Isis_BO 6593 +¹ +.ssem +°N +Message +2000 FR: Aucune couleur +GB: No color +2001 FR: La taille de la police doit être comprise entre 1 et 1638 +GB: The font size must be included between 1 and 1638 +2002 FR: Insérer une image +GB: Insert an image +2003 FR: es fichiers (*.*)" + TAB +GB: files (*.*)" + TAB +2004 FR: +GB: Tous les fichiers (*.*) +2005 FR,GB: ) +2006 FR: Impossible d'ouvrir le fichier +GB: Unable to open the file +2007 FR: Ce fichier est au format ".DOC". +Pour être manipulable avec le champ TT, ce document doit être sauvé au format ".DOCX". +Le mode opératoire est simple: +Sous votre traitement de texte, ouvrez le document. +Effectuez un "Enregistrez sous". +Dans le type de fichier, choisissez "DOCX". +Sous Word, choisissez "Type: Document Word" (choix par défaut de Word). +GB: This file is in ".DOC" format. +To be used by the WP control, this document must be saved in ".DOCX" format. +The operating mode is straightforward: +Open the document in your word processing. +Select "Save as". +In the file type, choose "DOCX". +In Word, choose "Type: Document Word" (default Word choice). + +Partie 9 › FI_WinDevFAA_RubanTT › Messages multilingues +06/08/2026 Isis_BO 6594 +¹ +.ssem +°N +Message +2008 FR: s fichi +GB: s file +2009 FR: Tous les fichiers +GB: All the files +2010 FR: Zone de texte +GB: Text area +2011 FR,GB: Image +2012 FR: Enregistrer sous... +GB: Save as... +2013 FR: enregistr +GB: save +2014 FR: Ne pas enregistrer +GB: Don't save +2015 FR: Annuler +GB: Cancel +2016 FR: Enregistrer (%1) +GB: Save (%1) +2017 FR: Voulez-vous enregistrer vos modification ? +GB: Do you want to save your modifications? +2018 FR: [Texte] +GB: [Text] +¹ N° mess. : numéro de message. +FI_WinDevFAA_RubanTT +Code des champs +Déclarations globales de FI_WinDevFAA_RubanTT +procédure MaFenêtre() +externe "KeyConst.WL" +externe WDOBJ_TT_Util +//Champ TT manipulé par ce ruban +pChampTT est un Champ +gProcUpdateUI est procédure +//Cache des polices +gtabPolices est tableau de chaîne Unicode +constant +nINDICE_VOLET_INSERTION = 2 +nINDICE_VOLET_TABLEAU = 4 +nINDICE_VOLET_IMAGE = 5 +fin + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +//Trait appliqué par défaut +goTrait est un Trait +goTrait.Epaisseur = WDOBJ_TT_Util.grDEpaiiseurCadreParDéfaut +//Tableau des groupes de champ pour éviter un pb de contexte sur l'utilisation des groupes +gtabGrp_Tous est un tableau de Champ = __GetTabChampFromGroupe(GRP_WDFAA_TT_Tous) +gtabGrp_Inactif est un tableau de Champ = __GetTabChampFromGroupe(GRP_WDFAA_TT_INACTIF) +gtabGrp_NonDispo est un tableau de Champ = __GetTabChampFromGroupe(GRP_WDFAA_TT_NONDISPO) +// mode précédente des onglet de volets +gbAncienModeTableau, gbAncienModeEntêtePiedDePage sont des booléens +gnAncienVoletTableau, gnAncienVoletEntêtePiedDePage sont des entiers +gbChangeVoletTableau est booléen = Vrai +gnAncienVoletTableau = -1 +gnAncienVoletEntêtePiedDePage = -1 +gnNextOngletSelectionné est entier = -1 +//Répertoire d'insertion d'image +gsRepInsertionDefaut est chaîne = fRepEnCours() +__SetEtatGroupe(gtabGrp_Tous, Grisé) +GRPRUB_WDFAA_Modification..Grisé = Vrai +BTN_WDFAA_Nouveau..Grisé = Faux +BTN_WDFAA_Ouvrir..Grisé = Faux +GRP_ENTETE..Visible = Faux +GRPRUB_WDFAA_Style..TauxAncrageLargeur=100 +GRPRUB_WDFAA_Style..LargeurMax=10000 +gnNumIdPuce est un entier = 4 +gbBibliPuce est un booléen = Vrai +gnNumIdNumérotation est un entier = 4 +gbBibliNumérotation est un booléen = Vrai +//Init FI Style. +externe FI_WinDevFAA_TT_StyleRuban +ChangeFenêtreSource( CFI_DocxStyle, "FI_WinDevFAA_TT_StyleRuban") +Fin d'initialisation de FI_WinDevFAA_RubanTT +//Branche un update UI après tous les autres pour activer explicitement un onglet +pRuban est Champ <- RUBAN_WINDEVFAA_TT +procédure interne fUI_NextOnglet() +si gnNextOngletSelectionné <> -1 alors +pRuban = gnNextOngletSelectionné +fin +gnNextOngletSelectionné = -1 +fin +gProcUpdateUI += fUI_NextOnglet +Clic sur BTN_WDFAA_RaccourciZoom100 +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +pChampTT..Zoom = 100 +Clic sur BTN_WDFAA_Redo +06/08/2026 Isis_BO 6595 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +DocRedo(pChampTT) +Clic sur BTN_WDFAA_Undo +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +DocUndo(pChampTT) +Initialisation de RUBAN_WINDEVFAA_TT +gnAncienVoletImage est entier = -1 +gbChangeVoletImage est un booléen = Vrai +pRuban est Champ <- MoiMême +procédure interne fUI_OngletImage +//Onglet image visible si sélection d'image ou dans zone de texte +f est docFragment <- pChampTT..Sélection..Fragment +soit bOngletImageVisible = Faux +soit eTypeSousDoc = f..TypeSousDocument +si eTypeSousDoc = typeSousDocZoneDeTexte alors +bOngletImageVisible = Vrai +sinon si pChampTT..Curseur>=1 _et_ f.Elément..Occurrence = 1 _et_ f.Elément[1].Type = +typeDocElémentImage alors +bOngletImageVisible = Vrai +fin +bAncienModeImage est booléen = pRuban[nINDICE_VOLET_IMAGE]..Visible +// on sort du mode image +si bOngletImageVisible=Faux alors +gbChangeVoletImage = (pRuban=nINDICE_VOLET_IMAGE) +si pRuban=nINDICE_VOLET_IMAGE _et_ gnAncienVoletImage<>-1 alors pRuban=gnAncienVoletImage +gnAncienVoletImage=-1 +fin +pRuban[nINDICE_VOLET_IMAGE]..Visible = bOngletImageVisible +// si on passe en mode image +si bOngletImageVisible=Vrai alors +si gbChangeVoletImage alors +gnAncienVoletImage = pRuban +pRuban = nINDICE_VOLET_IMAGE +fin +fin +si eTypeSousDoc = typeSousDocZoneDeTexte alors +pRuban[nINDICE_VOLET_IMAGE]..Libellé = "Zone de texte" +sinon +06/08/2026 Isis_BO 6596 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +pRuban[nINDICE_VOLET_IMAGE]..Libellé = "Image" +fin +fin +gProcUpdateUI += fUI_OngletImage +Modification du volet affiché de RUBAN_WINDEVFAA_TT +si pChampTT<>Null alors +RepriseSaisie(pChampTT) +fin +Initialisation de INT_WDFAA_AfficherRegles +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +A chaque modification de INT_WDFAA_AfficherRegles +pChampTT..RègleVisible = MoiMême +EcranPremier(pChampTT) +Initialisation de BTN_WDFAA_Zoom100 +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Zoom100 +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +pChampTT..Zoom = 100 +Initialisation de BTN_WDFAA_ZoomLargeur +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_ZoomLargeur +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +pChampTT..Zoom = zoomAdapteLargeur +Initialisation de BTN_WDFAA_ZoomLargeur1 +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_ZoomLargeur1 +06/08/2026 Isis_BO 6597 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +pChampTT..Zoom = zoomAdapteTaille +Initialisation de BTN_WDFAA_ZoomMoins +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_ZoomMoins +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +nZoomCourant est entier =pChampTT..Zoom/10 +pChampTT..Zoom = nZoomCourant*10-10 +Initialisation de BTN_WDFAA_ZoomPlus +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_ZoomPlus +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +nZoomCourant est entier = pChampTT..Zoom/10 +pChampTT..Zoom = nZoomCourant*10+10 +Initialisation de POT_WDFAA_Zoom +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +A chaque modification de POT_WDFAA_Zoom +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +nZoom est entier = MoiMême +si nZoom > 10 _et_ nZoom < 500 alors +pChampTT..Zoom = nZoom +fin +Initialisation de SAI_FAA_Zoom +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Sortie de SAI_FAA_Zoom +06/08/2026 Isis_BO 6598 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +rZoom est réel = MoiMême +si rZoom > 0.1 _et_ rZoom < 5 alors +pChampTT..Zoom = rZoom*100 +fin +Touche relâchée (WM_KEYUP) de SAI_FAA_Zoom +VK_RETURN_local est un entier = 0x0d +si _EVE.wParam = VK_RETURN_local alors +// valide +ExécuteTraitement(MoiMême,trtSortie) +DonneFocus(pChampTT) +renvoyer Faux +fin +Initialisation de BTN_WDFAA_Forme +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +//Fonction d'update UI : voir bouton d'insertion des zones de texte BTN_WDFAA_ZoneDeTexte +Clic sur BTN_WDFAA_Forme +externe WinDevFAA_BarreTT_PopupForme +sFormePredefinie est chaîne = OuvrePopup(WinDevFAA_BarreTT_PopupForme) +si sFormePredefinie = "" alors +retour +fin +e est un docElément +e.Type = typeDocElémentZoneDeTexte +e.ZoneDeTexte.Hauteur = 50 +e.ZoneDeTexte.Largeur = 50 +e.ZoneDeTexte.X = 10 +e.ZoneDeTexte.Y = 0 +e.ZoneDeTexte.Habillage = docHabillageDevantLeTexte +e.ZoneDeTexte.FormePrédéfinie = sFormePredefinie +e.ZoneDeTexte.Fond.Couleur = RVB(91,155,213) +f est un docFragment <= pChampTT..Sélection..Fragment +//On insère la zone de texte au début du paragraphe d'insertion, mais après toutes les zones de texte +qui s'y trouvent +soit nPositionInsertion = f..Paragraphe[1].Positionfin-1 +f..PositionDébut = f..Paragraphe[1].PositionDébut +f..PositionFin = f..Paragraphe[1].PositionFin +pour tout elt de f..Elément +si elt.Type <> typeDocElémentZoneDeTexte alors +nPositionInsertion = elt.PositionDébut +sortir +fin +06/08/2026 Isis_BO 6599 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +fin +f..PositionDébut = nPositionInsertion +f..PositionFin = nPositionInsertion +DocInsère(f,e) +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_Formule +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Formule +si pChampTT = Null alors +retour +fin +externe WinDevFAA_ChampFormule +Ouvre("WinDevFAA_ChampFormule", pChampTT) +Initialisation de BTN_WDFAA_Image +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Image +__Ctx_InsereImage(gsRepInsertionDefaut) +Initialisation de BTN_WDFAA_Lien +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +pThis est Champ <- MoiMême +procédure interne fUI_Lien() +f est un docFragment <- pChampTT..Sélection..Fragment +d est Document <- pChampTT..Valeur +soit nEtat = Actif +si (nEtat = Actif) _et_ (d=Null _ou_ pChampTT..Etat=Grisé) alors +nEtat = Grisé +fin +si (nEtat = Actif) _et_ f.Elément..Occurrence>1 _et_ f.Elément[1]..Type <> typeDocElémentTexte +alors +nEtat = Grisé +fin +pThis..Etat = nEtat +fin +gProcUpdateUI += fUI_Lien +Clic sur BTN_WDFAA_Lien +06/08/2026 Isis_BO 6600 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +externe FEN_WinDevFAA_TT_Lien +Ouvre(FEN_WinDevFAA_TT_Lien, pChampTT) +Initialisation de BTN_WDFAA_Signet +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Signet +extern WinDevFAA_Signet +Ouvre("WinDevFAA_Signet",pChampTT) +Initialisation de BTN_WDFAA_Tableau +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Tableau +__Ctx_InsereTableau() +Initialisation de BTN_WDFAA_ZoneDeTexte +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +pThis est Champ <- MoiMême +pForme est Champ <- BTN_WDFAA_Forme +procédure interne fUI_ZoneDeTexte() +f est un docFragment <- pChampTT..Sélection..Fragment +d est Document <- pChampTT..Valeur +soit nEtat = Actif +si (nEtat = Actif) _et_ (d=Null _ou_ pChampTT..Etat=Grisé) alors +nEtat = Grisé +fin +si (nEtat = Actif) _et_ f.TypeSousDocument = typeSousDocZoneDeTexte alors +//Zone de texte sélectionnée +nEtat = Grisé +fin +si (nEtat = Actif) _et_ f.PositionDébut<>f.PositionFin alors +nEtat = Grisé +fin +si (nEtat = Actif) _et_ f.Elément..Occurrence>1 _et_ f.Elément[1]..Type <> typeDocElémentTexte +alors +nEtat = Grisé +fin +pThis..Etat = nEtat +pForme..Etat = nEtat +fin +gProcUpdateUI += fUI_ZoneDeTexte +Clic sur BTN_WDFAA_ZoneDeTexte +06/08/2026 Isis_BO 6601 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +e est un docElément +e.Type = typeDocElémentZoneDeTexte +e.ZoneDeTexte.Hauteur = 40 +e.ZoneDeTexte.Largeur = 50 +e.ZoneDeTexte.X = 10 +e.ZoneDeTexte.Y = 0 +e.ZoneDeTexte.Habillage = docHabillageDevantLeTexte +e.ZoneDeTexte.FormePrédéfinie = "rect" +e.ZoneDeTexte.Fond.Couleur = Blanc +soit t <- e.ZoneDeTexte.Trait +t.Couleur = Noir +t.Epaisseur = 0.2 +DocDébutModification(pChampTT) +f est un docFragment <= pChampTT..Sélection..Fragment +//On insère la zone de texte au début du paragraphe d'insertion, mais après toutes les zones de texte +qui s'y trouvent +soit nPositionInsertion = f..Paragraphe[1].Positionfin-1 +f..PositionDébut = f..Paragraphe[1].PositionDébut +f..PositionFin = f..Paragraphe[1].PositionFin +pour tout elt de f..Elément +si elt.Type <> typeDocElémentZoneDeTexte alors +nPositionInsertion = elt.PositionDébut +sortir +fin +fin +f..PositionDébut = nPositionInsertion +f..PositionFin = nPositionInsertion +DocInsère(f,e) +elt est un docElément = Null +pour tout e de f.Elément +si e.Type = typeDocElémentZoneDeTexte alors +e.ZoneDeTexte.Contenu.Texte = "[Texte]"//"[Texte]" +elt <- e +fin +fin +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +si elt <> Null alors +DocSélectionne(pChampTT, elt.ZoneDeTexte.Contenu) +fin +//On placera le ruban sur l'onglet "Zone de texte" (qui est en fait le volet "image") +gnNextOngletSelectionné = nINDICE_VOLET_IMAGE +Initialisation de BTN_WDFAA_Nouveau +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Nouveau +__Ctx_Nouveau() +Initialisation de BTN_WDFAA_Ouvrir +externe WDOBJ_TT_Util +06/08/2026 Isis_BO 6602 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Ouvrir +__Ctx_Open() +Initialisation de BTN_WDFAA_Save +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Save +__Ctx_Save() +Initialisation de BTN_WDFAA_SaveBTN_WDFAA_Save1 +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +MoiMême..ToucheRaccourci = trControl + Asc("S") +Clic sur BTN_WDFAA_SaveBTN_WDFAA_Save1 +externe pChampTT +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +doc est Document <- pChampTT..Valeur +si pas DocSauve(doc) alors +Erreur(ErreurInfo()) +fin +Initialisation de GRPRUB_WDFAA_EntetePiedDePage +soit pRegroupement est Champ <- MoiMême +procédure interne fUI_EntetePiedDePage() +pRegroupement..Visible = pas pChampTT..EditionHTML +fin +gProcUpdateUI += fUI_EntetePiedDePage +Initialisation de BTN_WDFAA_Entete +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Entete +extern WinDevFAA_BarreTT_PopupEntêtePiedDePage +si OuvrePopup(WinDevFAA_BarreTT_PopupEntêtePiedDePage,pChampTT,Vrai) alors +ChampExécuteModification(pChampTT) +fin +Initialisation de BTN_WDFAA_FermerEntêtePied +06/08/2026 Isis_BO 6603 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_FermerEntêtePied +DocEntreEdition(pChampTT,docCorps) +Initialisation de BTN_WDFAA_PiedDePage +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_PiedDePage +extern WinDevFAA_BarreTT_PopupEntêtePiedDePage +si OuvrePopup(WinDevFAA_BarreTT_PopupEntêtePiedDePage,pChampTT,Faux) alors +ChampExécuteModification(pChampTT) +fin +Initialisation de INT_ENTETE_LIER +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +A chaque modification de INT_ENTETE_LIER +s est une docSection <- pChampTT..Sélection..Section[1] +selon pChampTT..Sélection..Fragment..TypeSousDocument +cas typeSousDocEnTêtePremièrePage +s.Entête.PremièrePageHéritée = MoiMême[1] +cas typeSousDocEnTêtePagePaire +s.Entête.PagePaireHéritée = MoiMême[1] +cas typeSousDocEnTêtePageImpaire +s.Entête.PageImpaireHéritée = MoiMême[1] +cas typeSousDocPiedDePremièrePage +s.PiedDePage.PremièrePageHéritée = MoiMême[1] +cas typeSousDocPiedDePagePaire +s.PiedDePage.PagePaireHéritée = MoiMême[1] +cas typeSousDocPiedDePageImpaire +s.PiedDePage.PageImpaireHéritée = MoiMême[1] +fin +ChampExécuteModification(pChampTT) +EcranPremier(pChampTT) +Initialisation de INT_ENTETE_PAIRE_IMPAIRE +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +A chaque modification de INT_ENTETE_PAIRE_IMPAIRE +06/08/2026 Isis_BO 6604 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +pChampTT..Valeur..PagePaireImpaireDifférente = MoiMême[1] +ChampExécuteModification(pChampTT) +EcranPremier(pChampTT) +Initialisation de INT_ENTETE_PREMIERE +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +A chaque modification de INT_ENTETE_PREMIERE +s est une docSection <- pChampTT..Sélection..Section[1] +s.PremierePageDifferente = INT_ENTETE_PREMIERE[1] +ChampExécuteModification(pChampTT) +EcranPremier(pChampTT) +Initialisation de SAI_WDFAA_MargeEnTête +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +//moimeme = __sValeurCentimètres(0) +MoiMême = 0 +Sortie de SAI_WDFAA_MargeEnTête +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +pChampTT..Sélection..Section[1]..MargeEntête = __dCentimètresVersMillimètres(MoiMême) +ChampExécuteModification(pChampTT) +Touche relâchée (WM_KEYUP) de SAI_WDFAA_MargeEnTête +si pChampTT<>Null _et_ _EVE.wParam = VK_RETURN alors +pChampTT..Sélection..Section[1]..MargeEntête = __dCentimètresVersMillimètres(MoiMême) +ChampExécuteModification(pChampTT) +DonneFocus(pChampTT) +fin +Initialisation de SAI_WDFAA_MargePiedDePage +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +//MoiMême = __sValeurCentimètres(0) +MoiMême = 0 +Sortie de SAI_WDFAA_MargePiedDePage +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +pChampTT..Sélection..Section[1].MargePiedDePage = __dCentimètresVersMillimètres(MoiMême) +ChampExécuteModification(pChampTT) +Touche relâchée (WM_KEYUP) de SAI_WDFAA_MargePiedDePage +06/08/2026 Isis_BO 6605 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +si pChampTT<>Null _et_ _EVE.wParam = VK_RETURN alors +pChampTT..Sélection..Section[1].MargePiedDePage = __dCentimètresVersMillimètres(MoiMême) +ChampExécuteModification(pChampTT) +DonneFocus(pChampTT) +fin +Incrémentation de SPIN_MargeEnTête +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__IncrémenteValeurChampDixième(SAI_WDFAA_MargeEnTête,99) +pChampTT..Sélection..Section[1]..MargeEntête = __dCentimètresVersMillimètres(SAI_WDFAA_MargeEnTête) +ChampExécuteModification(pChampTT) +Décrémentation de SPIN_MargeEnTête +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__DécrémenteValeurChampDixième(SAI_WDFAA_MargeEnTête) +pChampTT..Sélection..Section[1]..MargeEntête = __dCentimètresVersMillimètres(SAI_WDFAA_MargeEnTête) +ChampExécuteModification(pChampTT) +Incrémentation de SPIN_MargePiedDePage +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__IncrémenteValeurChampDixième(SAI_WDFAA_MargePiedDePage,99) +pChampTT..Sélection..Section[1].MargePiedDePage = __dCentimètresVersMillimètres(SAI_ +WDFAA_MargePiedDePage) +ChampExécuteModification(pChampTT) +Décrémentation de SPIN_MargePiedDePage +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__DécrémenteValeurChampDixième(SAI_WDFAA_MargePiedDePage) +pChampTT..Sélection..Section[1].MargePiedDePage = __dCentimètresVersMillimètres(SAI_ +WDFAA_MargePiedDePage) +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_Export +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Initialisation de BTN_WDFAA_Imprimer +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Imprimer +__Ctx_Print() +Initialisation de GRPRUB_WDFAA_Image +procédure interne fUI_Habillage +f est un docFragment <- pChampTT..Sélection..Fragment +nNewHabillage est un entier = 0 +06/08/2026 Isis_BO 6606 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +si (pChampTT..Curseur>=1 _et_ f.Elément..Occurrence = 1 _et_ f.Elément[1].Type = +typeDocElémentImage) alors +nNewHabillage = f.Elément[1].Image.Habillage +sinon si (f.TypeSousDocument = typeSousDocZoneDeTexte) +doc est Document <- pChampTT..Valeur +elt est un docElément<- WDOBJ_TT_Util.RechercheElementZoneDeTexte(doc, f. +IdentifiantSousDocument) +si elt <> Null alors +nNewHabillage = elt.ZoneDeTexte.Habillage +fin +fin +BTN_WDFAA_Habillage_AligneSurLeTexte..Enfoncé = (nNewHabillage = docHabillageAlignéSurLeTexte) +BTN_WDFAA_Habillage_Carre..Enfoncé = (nNewHabillage = docHabillageEncadré) +BTN_WDFAA_Habillage_DerriereLeTexte..Enfoncé = (nNewHabillage = docHabillageDerrièreLeTexte) +BTN_WDFAA_Habillage_DevantLeTexte..Enfoncé = (nNewHabillage = docHabillageDevantLeTexte) +BTN_WDFAA_Habillage_HautEtBas..Enfoncé = (nNewHabillage = docHabillageHautEtBas) +fin +gProcUpdateUI += fUI_Habillage +Initialisation de BTN_WDFAA_Habillage_AligneSurLeTexte +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Habillage_AligneSurLeTexte +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +__Ctx_SetHabillage(0) +Initialisation de BTN_WDFAA_Habillage_Carre +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Habillage_Carre +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +__Ctx_SetHabillage(1) +Initialisation de BTN_WDFAA_Habillage_DerriereLeTexte +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Habillage_DerriereLeTexte +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +06/08/2026 Isis_BO 6607 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +__Ctx_SetHabillage(5) +Initialisation de BTN_WDFAA_Habillage_DevantLeTexte +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Habillage_DevantLeTexte +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +__Ctx_SetHabillage(6) +Initialisation de BTN_WDFAA_Habillage_HautEtBas +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Habillage_HautEtBas +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +__Ctx_SetHabillage(4) +Initialisation de GRPRUB_WDFAA_Image_Taille +procédure interne fUI_ImageTaille +f est un docFragment <- pChampTT..Sélection..Fragment +nNewHauteur est un réel = 0 +nNewLargeur est un réel = 0 +si (pChampTT..Curseur>=1 _et_ f.Elément..Occurrence = 1 _et_ f.Elément[1].Type = +typeDocElémentImage) alors +nNewHauteur = f.Elément[1].Image.Hauteur / 10 +nNewLargeur = f.Elément[1].Image.Largeur / 10 +sinon si (f.TypeSousDocument = typeSousDocZoneDeTexte) +doc est Document <- pChampTT..Valeur +elt est un docElément<- WDOBJ_TT_Util.RechercheElementZoneDeTexte(doc, f. +IdentifiantSousDocument) +si elt <> Null alors +nNewHauteur = elt.ZoneDeTexte.Hauteur / 10 +nNewLargeur = elt.ZoneDeTexte.Largeur / 10 +fin +fin +SAI_WDFAA_ImageHauteur = nNewHauteur +SAI_WDFAA_ImageLargeur = nNewLargeur +fin +gProcUpdateUI += fUI_ImageTaille +Initialisation de SAI_WDFAA_ImageHauteur +externe WDOBJ_TT_Util +06/08/2026 Isis_BO 6608 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +//MoiMême = __sValeurPoints(0) +MoiMême = 0 +Sortie de SAI_WDFAA_ImageHauteur +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +f est docFragment <- pChampTT..Sélection..Fragment +dNewValeur est réel = (MoiMême*10) +si f.Elément..Occurrence = 1 _et_ f.Elément[1].Type = typeDocElémentImage alors +f.Elément[1].Image.Hauteur = dNewValeur +ChampExécuteModification(pChampTT) +sinon si f.TypeSousDocument = typeSousDocZoneDeTexte +doc est Document <- pChampTT..Valeur +elt est un docElément <- WDOBJ_TT_Util.RechercheElementZoneDeTexte(doc, f.IdentifiantSousDocument) +si elt<>Null alors +elt.ZoneDeTexte.Hauteur = dNewValeur +fin +ChampExécuteModification(pChampTT) +fin +Touche relâchée (WM_KEYUP) de SAI_WDFAA_ImageHauteur +VK_RETURN_local est un entier = 0x0d +si _EVE.wParam = VK_RETURN_local alors +// valide +ExécuteTraitement(MoiMême,trtSortie) +DonneFocus(pChampTT) +renvoyer Faux +fin +Initialisation de SAI_WDFAA_ImageLargeur +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +//MoiMême = __sValeurPoints(0) +MoiMême = 0 +Sortie de SAI_WDFAA_ImageLargeur +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +f est docFragment <- pChampTT..Sélection..Fragment +dNewValeur est réel = (MoiMême*10) +si f.Elément..Occurrence = 1 _et_ f.Elément[1].Type = typeDocElémentImage alors +f.Elément[1].Image.Largeur = dNewValeur +06/08/2026 Isis_BO 6609 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +sinon si f.TypeSousDocument = typeSousDocZoneDeTexte +doc est Document <- pChampTT..Valeur +elt est un docElément <- WDOBJ_TT_Util.RechercheElementZoneDeTexte(doc, f.IdentifiantSousDocument) +si elt <> Null alors +elt.ZoneDeTexte.Largeur = dNewValeur +fin +fin +ChampExécuteModification(pChampTT) +Touche relâchée (WM_KEYUP) de SAI_WDFAA_ImageLargeur +VK_RETURN_local est un entier = 0x0d +si _EVE.wParam = VK_RETURN_local alors +// valide +ExécuteTraitement(MoiMême,trtSortie) +DonneFocus(pChampTT) +renvoyer Faux +fin +Initialisation de BTN_WDFAA_TabInsererADroite +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_TabInsererADroite +f est docFragment = pChampTT..Sélection..Fragment +f.PositionFin = f.PositionDébut +soit tabtableau <- f.Paragraphe[1].Tableau +procédure interne GetCellule(p) +renvoyer p.Cellule +fin +soit cellule <- GetCellule(f.Paragraphe[1]) +si tabtableau = Null _ou_ cellule = Null alors +retour +fin +si cellule.IndiceColonne >= tabtableau.Colonnes..Occurrence alors +Ajoute(tabtableau.Colonnes) +sinon +Insère(tabtableau.Colonnes, cellule.IndiceColonne+1) +fin +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_TabInsererAGauche +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_TabInsererAGauche +f est docFragment = pChampTT..Sélection..Fragment +f.PositionFin = f.PositionDébut +06/08/2026 Isis_BO 6610 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +soit tabtableau <- f.Paragraphe[1].Tableau +procédure interne GetCellule(p) +renvoyer p.cellule +fin +soit cellule <- GetCellule(f.Paragraphe[1]) +si tabtableau = Null _ou_ cellule = Null alors +retour +fin +Insère(tabtableau.Colonnes, cellule.IndiceColonne) +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_TabInsererAuDessus +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_TabInsererAuDessus +f est docFragment = pChampTT..Sélection..Fragment +f.PositionFin = f.PositionDébut +soit tabtableau <- f.Paragraphe[1].Tableau +procédure interne GetCellule(p) +renvoyer p.cellule +fin +soit cellule <- GetCellule(f.Paragraphe[1]) +si tabtableau = Null _ou_ cellule = Null alors +retour +fin +Insère(tabtableau.Lignes, cellule.IndiceLigne) +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_TabInsererEnDessous +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_TabInsererEnDessous +f est docFragment = pChampTT..Sélection..Fragment +f.PositionFin = f.PositionDébut +soit tabtableau <- f.Paragraphe[1].Tableau +procédure interne GetCellule(p) +renvoyer p.cellule +fin +soit cellule <- GetCellule(f.Paragraphe[1]) +si tabtableau = Null _ou_ cellule = Null alors +retour +fin +si cellule.IndiceLigne >= tabtableau.Lignes..Occurrence alors +Ajoute(tabtableau.Lignes) +06/08/2026 Isis_BO 6611 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +sinon +Insère(tabtableau.Lignes, cellule.IndiceLigne+1) +fin +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_TabSupprimer +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Initialisation de GRPRUB_WDFAA_MiseEnPage +soit p est Champ <- MoiMême +procédure interne fUUI +p..Visible = pas pChampTT..EditionHTML +fin +gProcUpdateUI += fUUI +Initialisation de BTN_WDFAA_Marges +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Marges +externe WDOBJ_FAA_Document +WDOBJ_FAA_Document.CLIC_BTN_WDFAA_Marges(pChampTT) +Initialisation de BTN_WDFAA_Orientation +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Orientation +_Ctx_Orientation_UpdateMenuSelonSelection() +Initialisation de BTN_WDFAA_SauteDePage2 +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_SauteDePage2 +ExécuteTraitement(BTN_WDFAA_SautDePage,trtClic) +Initialisation de BTN_WDFAA_Taille +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Taille +06/08/2026 Isis_BO 6612 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +externe WDOBJ_TT_Util +rLargeurPage est un réel = 0 +rHauteurPage est un réel = 0 +nOrientation est un entier +nOrientation=docPortrait +bAppliqueAuDoc est un booléen=Faux +doc est un Document <- pChampTT..Valeur +f est docFragment = WDOBJ_TT_Util.fragmentMiseEnPage(pChampTT) +// si le fragment ne contient pas de paragraphe, la coche d'orientation va dépendre du document +si f.Paragraphe..Occurrence=0 alors +rLargeurPage=Arrondi(doc.Section.LargeurPage) +rHauteurPage=Arrondi(doc.Section.HauteurPage) +nOrientation=doc.Section.Orientation +sinon +// initialise l'orientation selon le premier paragraphe +rLargeurPage=Arrondi(f.Paragraphe[1].Section.LargeurPage,1) +rHauteurPage=Arrondi(f.Paragraphe[1].Section.HauteurPage, 1) +nOrientation=f.Paragraphe[1].Section.Orientation +fin +nOrientationPaysage est un entier +rTemp est un réel +nOrientationPaysage=docPaysage +si nOrientation=nOrientationPaysage alors +// on échange portrait et paysage pour la popup +rTemp = rLargeurPage +rLargeurPage=rHauteurPage +rHauteurPage=rTemp +fin +rLargeurPageCourante est un réel = rLargeurPage +rHauteurPageCournate est un réel = rHauteurPage +// ouvre la popup +externe WinDevFAA_BarreTT_PopupTaillePage +nRet est un entier = OuvrePopup(WinDevFAA_BarreTT_PopupTaillePage, rLargeurPage, rHauteurPage) +// si on doit swapper, on le fait +si nOrientation=nOrientationPaysage alors +// on échange portrait et paysage pour la popup +rTemp = rLargeurPage +rLargeurPage=rHauteurPage +rHauteurPage=rTemp +fin +// taille perso +si nRet=2 alors +externe WDOBJ_FAA_Document +bAppliqueAuDoc=pas WDOBJ_FAA_Document.WDOBJ_FAA_Doc_bAvecSautDeSection(doc) +externe WinDevFAA_BarreTT_TaillePage +nRet=Ouvre("WinDevFAA_BarreTT_TaillePage", rLargeurPage, rHauteurPage, bAppliqueAuDoc, nOrientation +) +fin +// annulation +si nRet=Faux alors retour +// pas de changement (et pas d'application sur le document entier : on ne fait rien +si pas bAppliqueAuDoc _et_ rLargeurPage=rLargeurPageCourante _et_ rHauteurPage=rHauteurPageCournate +alors retour +// on change la taille +_Ctx_TaillePage_ChangeTaillePage(rLargeurPage, rHauteurPage, bAppliqueAuDoc) +fin: +// on redonne le focus au champ +DonneFocus(pChampTT) +Initialisation de SAI_WDFAA_EspacementApres +06/08/2026 Isis_BO 6613 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +//MoiMême = __sValeurPoints(8) +MoiMême = 0 +A chaque modification de SAI_WDFAA_EspacementApres +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +externe WDOBJ_TT_Util +si pChampTT..Curseur <= 0 alors retour +f est docFragment <- pChampTT..Sélection..Fragment +elt est docElément +DocDébutModification(pChampTT) +pour tout elt de f.Elément +si elt.Paragraphe.MiseEnPage <> Null +elt.Paragraphe.MiseEnPage.EspacementAprès = WDOBJ_TT_Util.__dValeurChampPoint(MoiMême) +fin +fin +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Initialisation de SAI_WDFAA_EspacementAvant +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +//MoiMême = __sValeurPoints(0) +MoiMême = 0 +A chaque modification de SAI_WDFAA_EspacementAvant +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +externe WDOBJ_TT_Util +si pChampTT..Curseur <= 0 alors retour +f est docFragment <- pChampTT..Sélection..Fragment +elt est docElément +DocDébutModification(pChampTT) +pour tout elt de f.Elément +si elt.Paragraphe.MiseEnPage <> Null +elt.Paragraphe.MiseEnPage.EspacementAvant = WDOBJ_TT_Util.__dValeurChampPoint(MoiMême) +fin +fin +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Initialisation de SAI_WDFAA_RetraitDroite +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +//MoiMême = __sValeurCentimètres(0) +MoiMême = 0 +A chaque modification de SAI_WDFAA_RetraitDroite +06/08/2026 Isis_BO 6614 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +f est docFragment <- pChampTT..Sélection..Fragment +elt est docElément +DocDébutModification(pChampTT) +pour tout elt de f.Elément +si elt.Paragraphe.MiseEnPage <> Null +elt.Paragraphe.MiseEnPage.RetraitDroit = __dCentimètresVersMillimètres(SAI_WDFAA_RetraitDroite) +fin +fin +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Initialisation de SAI_WDFAA_RetraitGauche +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +//moimeme = __sValeurCentimètres(0) +MoiMême = 0 +A chaque modification de SAI_WDFAA_RetraitGauche +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +f est docFragment <- pChampTT..Sélection..Fragment +elt est docElément +DocDébutModification(pChampTT) +pour tout elt de f.Elément +si elt.Paragraphe.MiseEnPage <> Null +elt.Paragraphe.MiseEnPage.RetraitGauche = __dCentimètresVersMillimètres(SAI_WDFAA_RetraitGauche +) +fin +fin +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Incrémentation de SPIN_EspacementAprès +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__IncrémenteValeurChamp(SAI_WDFAA_EspacementApres) +Décrémentation de SPIN_EspacementAprès +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__DécrémenteValeurChamp(SAI_WDFAA_EspacementApres) +Incrémentation de SPIN_EspacementAvant +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__IncrémenteValeurChamp(SAI_WDFAA_EspacementAvant) +Décrémentation de SPIN_EspacementAvant +06/08/2026 Isis_BO 6615 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__DécrémenteValeurChamp(SAI_WDFAA_EspacementAvant) +Incrémentation de SPIN_RetraitDroite +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__IncrémenteValeurChampCentimètre(SAI_WDFAA_RetraitDroite) +Décrémentation de SPIN_RetraitDroite +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__DécrémenteValeurChamp(SAI_WDFAA_RetraitDroite) +Incrémentation de SPIN_RetraitGauche +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__IncrémenteValeurChampCentimètre(SAI_WDFAA_RetraitGauche) +Décrémentation de SPIN_RetraitGauche +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__DécrémenteValeurChamp(SAI_WDFAA_RetraitGauche) +Initialisation de GRPRUB_WDFAA_ModeAffichage +soit p est Champ <- MoiMême +procédure interne fUUI +p..Visible = pas pChampTT..EditionHTML +fin +gProcUpdateUI += fUUI +Initialisation de BTN_WDFAA_MODEAFFICHAGE_PAGE +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_MODEAFFICHAGE_PAGE +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +si MoiMême..Enfoncé alors +pChampTT..ModeAffichage = modeAffichageUnePage +__UpdateUI_ModeAffichage() +fin +Initialisation de BTN_WDFAA_MODEAFFICHAGE_WEB +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_MODEAFFICHAGE_WEB +06/08/2026 Isis_BO 6616 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +si MoiMême..Enfoncé alors +pChampTT..ModeAffichage = modeAffichageWeb +__UpdateUI_ModeAffichage() +fin +Initialisation de BTN_WDFAA_Orthographe +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Orthographe +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +pChampTT..VérifieOrthographe=pas pChampTT..VérifieOrthographe +Initialisation de BTn_WDFAA_Recherche +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTn_WDFAA_Recherche +externe WinDevFAA_RechercherRemplacer +//Ouverture fenêtre recherche +OuvreFille("WinDevFAA_RechercherRemplacer" + Dessus,pChampTT) +Initialisation de BTN_WDFAA_Remplacer +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Remplacer +externe WinDevFAA_RechercherRemplacer +//Ouverture fenêtre recherche/remplacement en mode remplacement +OuvreFille("WinDevFAA_RechercherRemplacer" + Dessus,pChampTT,Vrai) +Initialisation de GRPRUB_WDFAA_Pages +soit pRegroupement est Champ <- MoiMême +procédure interne fUI_Pages() +pRegroupement..Visible = pas pChampTT..EditionHTML +fin +gProcUpdateUI += fUI_Pages +Initialisation de BTN_WDFAA_PageVierge +06/08/2026 Isis_BO 6617 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_PageVierge +si pChampTT = Null alors +retour +fin +//Insertion d'un saut de page après le dernier élément +f est un docFragment(pChampTT..Valeur, -1,0) +f.Texte = RC+Caract(12)+RC //"form feed" == saut de page +//On se positionne sur la nouvelle page +pChampTT..Curseur = f..Paragraphe[1]..PositionFin-1 +DocPositionne(pChampTT) +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_SautDePage +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_SautDePage +si pChampTT = Null alors +retour +fin +f est docFragment <- pChampTT..Sélection..Fragment +f.Texte = RC+Caract(12)+RC //"form feed" == saut de page +//On se positionne sur la nouvelle page +DocPositionne(pChampTT) +ChampExécuteModification(pChampTT) +Initialisation de GRPRUB_WDFAA_Paragraphe +pBTN_WDFAA_AlignGauche est Champ <- BTN_WDFAA_AlignGauche +pBTN_WDFAA_AlignCentre est Champ <- BTN_WDFAA_AlignCentre +pBTN_WDFAA_AlignDroite est Champ <- BTN_WDFAA_AlignDroite +pBTN_WDFAA_Alignjustifie est Champ <- BTN_WDFAA_Alignjustifie +pSAI_WDFAA_RetraitGauche est Champ <- SAI_WDFAA_RetraitGauche +pSAI_WDFAA_RetraitDroite est Champ <- SAI_WDFAA_RetraitDroite +pSAI_WDFAA_EspacementAvant est Champ <- SAI_WDFAA_EspacementAvant +pSAI_WDFAA_EspacementApres est Champ <- SAI_WDFAA_EspacementApres +procédure interne fUI() +externe WDOBJ_TT_Util +f est docFragment <- pChampTT..Sélection..Fragment +nAlignementParagraphe est entier = -1 +06/08/2026 Isis_BO 6618 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +dRetraitGauche est réel +bRetraitGauche est booléen = Vrai +dRetraitDroit est réel +bRetraitDroit est booléen = Vrai +dEspacementAvant est réel +bEspacementAvant est booléen = Vrai +dEspacementAprès est réel +bEspacementAprès est booléen = Vrai +bFirst est un booléen = Vrai +pour tout p,nIndice de f.Paragraphe +si p.MiseEnPage=Null alors +continuer +fin +si bFirst alors +bFirst=Faux +nAlignementParagraphe = p.MiseEnPage.Alignement +dRetraitGauche = p.MiseEnPage.RetraitGauche +dRetraitDroit = p.MiseEnPage.RetraitDroit +dEspacementAvant = p.MiseEnPage.EspacementAvant +dEspacementAprès = p.MiseEnPage.EspacementAprès +sinon +si nAlignementParagraphe <> (p.MiseEnPage.Alignement) alors +nAlignementParagraphe = -1 +fin +si dRetraitGauche <> (p.MiseEnPage.RetraitGauche) alors +bRetraitGauche = Faux +fin +si dRetraitDroit <> (p.MiseEnPage.RetraitDroit) alors +bRetraitDroit = Faux +fin +si dEspacementAvant <> (p.MiseEnPage.EspacementAvant) alors +bEspacementAvant = Faux +fin +si dEspacementAprès <> (p.MiseEnPage.EspacementAprès) alors +bEspacementAprès = Faux +fin +si nAlignementParagraphe=-1 _et_ pas bRetraitGauche _et_ pas bRetraitDroit _et_ pas +bEspacementAvant _et_ pas bEspacementAprès alors +sortir +fin +fin +fin +pBTN_WDFAA_AlignGauche..Enfoncé = (nAlignementParagraphe=chGauche) +pBTN_WDFAA_AlignCentre..Enfoncé = (nAlignementParagraphe=chCentre) +pBTN_WDFAA_AlignDroite..Enfoncé = (nAlignementParagraphe=chDroite) +pBTN_WDFAA_Alignjustifie..Enfoncé = (nAlignementParagraphe=chJustifié) +pSAI_WDFAA_RetraitGauche = bRetraitGauche ? __sValeurMillimètresEnCentimètres(dRetraitGauche) +sinon "" +pSAI_WDFAA_RetraitDroite = bRetraitDroit ? __sValeurMillimètresEnCentimètres(dRetraitDroit) +sinon "" +WDOBJ_TT_Util.__AffecteChampPoint(pSAI_WDFAA_EspacementAvant, bEspacementAvant, +dEspacementAvant) +WDOBJ_TT_Util.__AffecteChampPoint(pSAI_WDFAA_EspacementApres, bEspacementAprès, +dEspacementAprès) +fin +gProcUpdateUI+=fUI +Initialisation de BTN_WDFAA_AfficheCaracControle +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_AfficheCaracControle +06/08/2026 Isis_BO 6619 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +pChampTT..AffichageCaractèresContrôle = pas pChampTT..AffichageCaractèresContrôle +__UpdateUIRuban_WDFAA() +Initialisation de BTN_WDFAA_AlignCentre +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_AlignCentre +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +pChampTT..AffichageActif = Faux +f est docFragment <- pChampTT..Sélection..Fragment +elt est un docParagraphe +DocDébutModification(pChampTT) +pour tout elt de f.Paragraphe +si elt.miseenpage <> Null alors +elt.MiseEnPage.Alignement = chCentre +fin +fin +DocFinModification(pChampTT) +pChampTT..AffichageActif = Vrai +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_AlignDroite +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_AlignDroite +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +pChampTT..AffichageActif = Faux +f est docFragment <- pChampTT..Sélection..Fragment +elt est un docParagraphe +DocDébutModification(pChampTT) +pour tout elt de f.Paragraphe +si elt.MiseEnPage <> Null alors +elt.MiseEnPage.Alignement = chDroite +fin +fin +DocFinModification(pChampTT) +pChampTT..AffichageActif = Vrai +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_AlignGauche +06/08/2026 Isis_BO 6620 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_AlignGauche +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +pChampTT..AffichageActif = Faux +f est docFragment <- pChampTT..Sélection..Fragment +elt est un docParagraphe +DocDébutModification(pChampTT) +pour tout elt de f.Paragraphe +si elt.MiseEnPage <> Null alors +elt.MiseEnPage.Alignement = chGauche +fin +fin +DocFinModification(pChampTT) +pChampTT..AffichageActif = Vrai +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_Alignjustifie +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Alignjustifie +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +pChampTT..AffichageActif = Faux +f est docFragment <- pChampTT..Sélection..Fragment +elt est un docParagraphe +DocDébutModification(pChampTT) +pour tout elt de f.Paragraphe +si elt.MiseEnPage <> Null alors +elt.MiseEnPage.Alignement = chJustifié +fin +fin +DocFinModification(pChampTT) +pChampTT..AffichageActif = Vrai +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_BordFond +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_BordFond +externe WDOBJ_FAA_Document +WDOBJ_FAA_Document.CLIC_BTN_FAA_BordFond(pChampTT,goTrait) +Initialisation de BTN_WDFAA_BTN_WDFAA_RetraitPlus +06/08/2026 Isis_BO 6621 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_BTN_WDFAA_RetraitPlus +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +externe WDOBJ_TT_Util +doc est un Document <- pChampTT..Valeur +f est docFragment <- pChampTT..Sélection..Fragment +// est-ce que l'on aura besoin de la liste des retraits +bListeRetrait est un booléen = Faux +pour tout p de f.Paragraphe +si p..Numérotation..Identifiant=0 alors +bListeRetrait = Vrai +sortir +fin +fin +// si on a besoin de la liste des retrait, on la génère +tabRetrait est un tableau associatif (*, *, wlRéel) de booléens +si bListeRetrait alors +soit docCourant <- WDOBJ_TT_Util.docSelection(pChampTT) +pour tout pdoc de docCourant..Paragraphe +tabRetrait[pdoc..MiseEnPage..RetraitGauche]=Vrai +fin +fin +pChampTT..AffichageActif = Faux +DocDébutModification(pChampTT) +pour tout p de f.Paragraphe +si p..Numérotation..Identifiant>0 alors +si p..Numérotation..Niveau <9 alors +p..Numérotation..Niveau = p..Numérotation..Niveau + 1 +fin +sinon si p..MiseEnPage <> Null +soit RetraitCourant = Arrondi(p..MiseEnPage..RetraitGauche,1) +soit ProchainRetrait = ArrondiSupérieur((RetraitCourant+12.5)/12.5)*12.5 +pour tout _b_,retrait de tabRetrait +si retrait>RetraitCourant _et_ retrait<ProchainRetrait alors +ProchainRetrait = retrait +fin +fin +p..MiseEnPage..RetraitGauche = ProchainRetrait +fin +fin +DocFinModification(pChampTT) +pChampTT..AffichageActif = Vrai +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_CouleurFond +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_CouleurFond +06/08/2026 Isis_BO 6622 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +//Choix couleur +extern WinDevFaa_SelCouleur +externe WDOBJ_FAA_Document +//Sélection de couleur +sCouleur est une chaîne = OuvrePopupPosition(WinDevFaa_SelCouleur,poBas,iTransparent,"Aucune couleur") +//OuvrePopupPosition(WinDevFaa_SelCouleur,poBas,iTransparent,"Aucune couleur") +//Couleur choisie ? non => rien à faire +si sCouleur = "" alors retour +//Oui => couleur convertie en entier +nCouleur est entier = sCouleur +//Vérification champ TT +dbgAssertion(pChampTT <> Null) +//Champ TT OK ? non => rien à faire +si pChampTT = Null alors retour +//Oui => position curseur OK ? non => rien à faire +si pChampTT..Curseur <= 0 alors retour +//Oui => on désactive l'affichage du champ TT +pChampTT..AffichageActif = Faux +//Début opération annulable +DocDébutModification(pChampTT) +//Récupération sélection +f est docFragment <- pChampTT..Sélection..Fragment +//Tableau du paragraphe traité +oTableau est docTableau +//On applique la modification sur le texte sélectionné plutôt que sur le(s) paragraphe(s) ? +si WDOBJ_FAA_Document.__bSelectionTexte(pChampTT, f) alors +//Oui => modification couleur de fond du texte sélectionné +f.MiseEnPage.CouleurFond = nCouleur +sinon +//Non => on applique la modification sur les paragraphes sélectionnés +pour tout oParag de f.Paragraphe +//Récupération du tableau du paragraphe traité +oTableau <- oParag.tableau +//On est dans un tableau ? +si oTableau = Null alors +//Non => on applique la modification sur le paragraphe +oParag.MiseEnPage.CouleurFond = nCouleur +sinon +//Oui => on applique la modification sur les cellules du tableau sélectionnées +pour tout oCellule de oTableau.Cellules +//La cellule est après la sélection ? +si oCellule.Contenu.PositionDébut > f.PositionFin alors +//Oui => pas la peine de continuer +sortir +fin +//Non => la cellule est dans la sélection ? +si oCellule.Contenu.PositionFin > f.PositionDébut alors +//Oui => on applique la modification à la cellule +oCellule.MiseEnPage.CouleurFond = nCouleur +fin +fin +fin +fin +fin +06/08/2026 Isis_BO 6623 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +//Fin opération annulable +DocFinModification(pChampTT) +//Oui => on réactive l'affichage du champ TT +pChampTT..AffichageActif = Vrai +//Le champ TT a été modifié +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_Interligne +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Interligne +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +si pChampTT..Curseur < 0 alors retour +f est docFragment <- pChampTT..Sélection..Fragment +nTypeInterligne est entier = -1 +para est un docParagraphe +pour tout para de f.Paragraphe +si para.MiseEnPage <> Null alors +si nTypeInterligne = -1 alors +nTypeInterligne =para.MiseEnPage.TypeInterligne +sinon +si nTypeInterligne <> (para.MiseEnPage.TypeInterligne) alors +nTypeInterligne = -1 +sortir +fin +fin +fin +fin +dInterligne est réel = -1 +//Taille de police courante +nTaillePolice est un réel = -1 +elt est un docElément +pour tout para de f.Paragraphe +si para.MiseEnPage <> Null +si dInterligne = -1 alors +dInterligne = para.MiseEnPage.Interligne +sinon +si dInterligne <> (para.MiseEnPage.Interligne) alors +dInterligne = -1 +sortir +fin +fin +fin +fin +pour tout elt de f.Element +si dInterligne = -1 alors +dInterligne = elt.Paragraphe.MiseEnPage.Interligne +sinon +si dInterligne <> (elt.Paragraphe.MiseEnPage.Interligne) alors +dInterligne = -1 +sortir +fin +fin +//Taille de police courante récupérée ou élément sans texte ? +si (nTaillePolice = -1) _et_ (elt.Texte <> Null) alors +06/08/2026 Isis_BO 6624 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +//Non => on la récupère +nTaillePolice = elt.Texte.MiseEnForme.PoliceTaille +fin +fin +externe WinDevFaa_SelInterligne +si pas OuvrePopupPosition(WinDevFaa_SelInterligne,poBas,pChampTT,f,nTypeInterligne,dInterligne, +nTaillePolice) alors retour +externe WDOBJ_TT_Util +WDOBJ_TT_Util.__ModifInterligneSélectionChampTT(pChampTT,f,nTypeInterligne,dInterligne) +DocDébutModification(pChampTT) +pour tout para de f.Paragraphe +si para.MiseEnPage <> Null +para.MiseEnPage.TypeInterligne = nTypeInterligne +para.MiseEnPage.Interligne = dInterligne +fin +fin +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_Numero +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Numero +externe WDOBJ_TT_Numérotation +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +doc est un Document <- pChampTT +externe WDOBJ_TT_Util +soit SousDocumentCourant <- WDOBJ_TT_Util.docSelection(pChampTT) +fragment est un docFragment <- pChampTT..Sélection..Fragment +nNumId est entier +si WDOBJ_TT_Numérotation.bToutParagrapheMêmeNumérotation(doc,fragment,nNumId) alors +gnNumIdPuce=nNumId +gbBibliPuce=Faux +WDOBJ_TT_Numérotation.AppliqueSélectionNumérotation(0,Faux,pChampTT,doc,SousDocumentCourant, +fragment) +sinon +WDOBJ_TT_Numérotation.AppliqueSélectionNumérotation(gnNumIdNumérotation,gbBibliNumérotation, +pChampTT,doc,SousDocumentCourant,fragment) +fin +__UpdateUIRuban_WDFAA +Clic sur la flèche de BTN_WDFAA_Numero +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +doc est un Document <- pChampTT +externe WinDevFaa_SelNumérotation +OuvrePopupPosition(WinDevFaa_SelNumérotation,poBas,pChampTT, doc,gnNumIdNumérotation,gb +BibliNumérotation) +__UpdateUIRuban_WDFAA +Initialisation de BTN_WDFAA_Puces +06/08/2026 Isis_BO 6625 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Puces +externe WDOBJ_TT_Numérotation +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +doc est un Document <- pChampTT +externe WDOBJ_TT_Util +soit SousDocumentCourant <- WDOBJ_TT_Util.docSelection(pChampTT) +fragment est un docFragment <- pChampTT..Sélection..Fragment +nNumId est entier +si WDOBJ_TT_Numérotation.bToutParagrapheMêmePuce(doc,fragment,nNumId) alors +gnNumIdPuce=nNumId +gbBibliPuce=Faux +WDOBJ_TT_Numérotation.AppliqueSélectionPuce(0,Faux,pChampTT,doc,SousDocumentCourant,fragment) +sinon +WDOBJ_TT_Numérotation.AppliqueSélectionPuce(gnNumIdPuce,gbBibliPuce,pChampTT,doc, +SousDocumentCourant,fragment) +fin +__UpdateUIRuban_WDFAA +Clic sur la flèche de BTN_WDFAA_Puces +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +doc est un Document <- pChampTT +externe WinDevFAA_SelNumerotationPuce +OuvrePopupPosition(WinDevFAA_SelNumerotationPuce,poBas,pChampTT, doc, gnNumIdPuce,gbBibliPuce) +__UpdateUIRuban_WDFAA +Initialisation de BTN_WDFAA_RetraitMoins +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_RetraitMoins +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +externe WDOBJ_TT_Util +doc est un Document <- pChampTT..Valeur +f est docFragment <- pChampTT..Sélection..Fragment +// est-ce que l'on aura besoin de la liste des retraits +bListeRetrait est un booléen = Faux +pour tout p de f.Paragraphe +si p..Numérotation..Identifiant=0 alors +bListeRetrait = Vrai +sortir +fin +06/08/2026 Isis_BO 6626 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +fin +// si on a besoin de la liste des retrait, on la génère +tabRetrait est un tableau associatif (*, *, wlRéel) de booléens +si bListeRetrait alors +soit docCourant <- WDOBJ_TT_Util.docSelection(pChampTT) +pour tout pdoc de docCourant..Paragraphe +tabRetrait[pdoc..MiseEnPage..RetraitGauche]=Vrai +fin +fin +pChampTT..AffichageActif = Faux +DocDébutModification(pChampTT) +pour tout p de f.Paragraphe +si p..numérotation..identifiant>0 alors +si p..Numérotation..niveau > 1 alors +p..Numérotation..Niveau = p..Numérotation..Niveau -1 +fin +sinon si p..miseenpage <> Null +soit RetraitCourant = Arrondi(p..MiseEnPage..RetraitGauche,1) +soit ProchainRetrait = RetraitCourant>12.5 ? ArrondiInférieur((RetraitCourant-12.5)/12.5)*12.5 +sinon 0 +pour tout _b_,retrait de tabRetrait +si retrait<RetraitCourant _et_ retrait>ProchainRetrait alors +ProchainRetrait = retrait +fin +fin +p..MiseEnPage..RetraitGauche = ProchainRetrait +fin +fin +DocFinModification(pChampTT) +pChampTT..AffichageActif = Vrai +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_Barre +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +MoiMême..PoliceBarrée=Vrai +Clic sur BTN_WDFAA_Barre +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +f est docFragment = __FragmentStyle() +DocDébutModification(pChampTT) +f.MiseEnForme.PoliceBarrée = pas f.MiseEnForme.PoliceBarrée +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_CouleurSurlignage +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_CouleurSurlignage +06/08/2026 Isis_BO 6627 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +si MoiMême..Note = "" alors +//par défaut, on surligne en jaune +MoiMême..Note = ""+65535 +fin +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +nCouleur est entier = MoiMême..Note +si pChampTT..LongueurSélection = 0 alors retour +f est docFragment <- pChampTT..Sélection..Fragment +DocDébutModification(pChampTT) +f.MiseEnForme.CouleurSurlignage = nCouleur +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Clic sur la flèche de BTN_WDFAA_CouleurSurlignage +//Choix couleur +extern WinDevFaa_SelCouleur +sCouleur est une chaîne = OuvrePopupPosition(WinDevFaa_SelCouleur,poBas,Transparent,"Aucune couleur", +Vrai)//OuvrePopupPosition(WinDevFaa_SelCouleur,poBas,Transparent,"Aucune couleur",vrai) +//Couleur choisie ? non => rien à faire +si sCouleur = "" alors retour +//Stocke la couleur courante dans ..Note +MoiMême..Note = sCouleur +//Change la couleur en visu +nCouleur est entier = sCouleur +si nCouleur = Transparent alors +LIB_VisuCouleurSurligne..Visible = Faux +sinon +LIB_VisuCouleurSurligne..CouleurFond = sCouleur +LIB_VisuCouleurSurligne..Visible = Vrai +fin +//Modif effective +ExécuteTraitement(MoiMême,trtClic) +Initialisation de BTN_WDFAA_CouleurTexte +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_CouleurTexte +si MoiMême..Note <> "" alors +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +nCouleur est entier = MoiMême..Note +f est docFragment = __FragmentStyle() +DocDébutModification(pChampTT) +f.MiseEnForme.CouleurTexte = nCouleur +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +fin +Clic sur la flèche de BTN_WDFAA_CouleurTexte +06/08/2026 Isis_BO 6628 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +//Choix couleur +extern WinDevFaa_SelCouleur +nCOULEUR_AUTOMATIQUE est entier = 0xFF000001 +sCouleur est une chaîne = OuvrePopupPosition(WinDevFaa_SelCouleur,poBas,nCOULEUR_AUTOMATIQUE, "",Faux, +Noir) +//Couleur choisie ? non => rien à faire +si sCouleur = "" alors retour +//Stocke la couleur courante dans le ..Note +MoiMême..Note = sCouleur +//Change la couleur en visu +LIB_VisuCouleurTexte..CouleurFond = sCouleur +LIB_VisuCouleurTexte..Visible = Vrai +//Modif effective de la couleur +ExécuteTraitement(MoiMême,trtClic) +Initialisation de BTN_WDFAA_Exposant +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Exposant +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +f est docFragment = __FragmentStyle() +DocDébutModification(pChampTT) +f.MiseEnForme.AlignementVertical = f.MiseEnForme.AlignementVertical <> alignementExposant ? +alignementExposant sinon alignementBaseline +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_Gras +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +MoiMême..PoliceGras=Vrai +Clic sur BTN_WDFAA_Gras +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +f est docFragment = __FragmentStyle() +DocDébutModification(pChampTT) +si f.MiseEnForme.PoliceGras = 2 +f.MiseEnForme.PoliceGras = 1 +sinon +f.MiseEnForme.PoliceGras = pas f.MiseEnForme.PoliceGras +fin +06/08/2026 Isis_BO 6629 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_Indice +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Indice +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +f est docFragment = __FragmentStyle() +DocDébutModification(pChampTT) +f.MiseEnForme.AlignementVertical = f.MiseEnForme.AlignementVertical <> alignementIndice ? +alignementIndice sinon alignementBaseline +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_Italique +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +MoiMême..PoliceItalique=Vrai +Clic sur BTN_WDFAA_Italique +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +f est docFragment = __FragmentStyle() +DocDébutModification(pChampTT) +f.MiseEnForme.PoliceItalique = pas f.MiseEnForme.PoliceItalique +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_Majuscules +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Majuscules +__ModifieTaillePolice(COMBO_WDFAA_TaillePolice, -1) +Initialisation de BTN_WDFAA_Police +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +06/08/2026 Isis_BO 6630 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +tabPolices est tableau de chaîne +ChaîneVersTableau(PoliceListe(policeDéfaut+2),tabPolices,RC) +TableauTrie(tabPolices,tccOrdreLexicographique+ttCroissant) +soit nDefaut = TableauCherche(tabPolices, tcDichotomique+tccSansCasse,"Calibri") +si nDefaut = -1 alors +nDefaut = TableauCherche(tabPolices, tcDichotomique+tccSansCasse, "Open Sans") +fin +si nDefaut = -1 alors +nDefaut = TableauCherche(tabPolices, tcDichotomique+tccSansCasse,"DejaVu Sans") +fin +si nDefaut = -1 alors +nDefaut = TableauCherche(tabPolices, tcDichotomique+tccSansCasse, "Arial") +fin +si nDefaut <> -1 alors +MoiMême = tabPolices[nDefaut] +sinon +MoiMême = "" +fin +Clic sur BTN_WDFAA_Police +doc est Document <- pChampTT..Valeur +f est docFragment <- pChampTT..Sélection..Fragment +soit sTexteExemple = "" +si f..PositionDébut = f..PositionFin alors +si f..Paragraphe..Occurrence>0 alors +fPara est docFragment(doc, f..Paragraphe[1].PositionDébut, f..Paragraphe[1].PositionFin - f.. +Paragraphe[1].PositionDébut) +sTexteExemple = fPara.Texte +fin +sinon +sTexteExemple = f.Texte +fin +sTexteExemple = SansEspace(sTexteExemple,sscDroite+sscGauche) +externe FEN_WinDevFAA_PopupPolice +sPoliceChoisie est chaîne = OuvrePopupPosition(FEN_WinDevFAA_PopupPolice, poBas+poDroite, gtabPolices, +f.MiseEnForme.PoliceNom, sTexteExemple) +si sPoliceChoisie <> "" alors +MoiMême = sPoliceChoisie +f.MiseEnForme.PoliceNom = sPoliceChoisie +ChampExécuteModification(pChampTT) +fin +EcranPremier(pChampTT) +Initialisation de BTN_WDFAA_PoliceMoins +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_PoliceMoins +__ModifieTaillePolice(COMBO_WDFAA_TaillePolice, -1) +Initialisation de BTN_WDFAA_PolicePlus +06/08/2026 Isis_BO 6631 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_PolicePlus +__ModifieTaillePolice(COMBO_WDFAA_TaillePolice, 1) +Initialisation de BTN_WDFAA_Souligne +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +MoiMême..PoliceSoulignée=Vrai +Clic sur BTN_WDFAA_Souligne +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +f est docFragment = __FragmentStyle() +DocDébutModification(pChampTT) +f.MiseEnForme.PoliceSoulignée = f.MiseEnForme.PoliceSoulignée=soulignéAucun ? soulignéSimple sinon +soulignéAucun +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Initialisation de COMBO_WDFAA_TaillePolice +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +ListeSupprimeTout(MoiMême) +ListeAjoute(MoiMême,8+RC+9+RC+10+RC+11+RC+12+RC+14+RC+16+RC+18+RC+20+RC+22+RC+24+RC+26+RC+28+RC+36+RC+ +48+RC+72) +MoiMême = 11 +Sélection d'une ligne de COMBO_WDFAA_TaillePolice +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +f est docFragment = __FragmentStyle() +soit nNouvelleTaille = MoiMême +DocDébutModification(pChampTT) +f.MiseEnForme.PoliceTaille = nNouvelleTaille +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +EcranPremier(pChampTT) +Initialisation de LIB_VisuCouleurSurligne +06/08/2026 Isis_BO 6632 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +MoiMême..CouleurFond = JauneClair +Initialisation de BTN_WDFAA_Coller +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Coller +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +ExécuteFAA(pChampTT,faaColler) +Initialisation de BTN_WDFAA_Copier +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Copier +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +ExécuteFAA(pChampTT,faaCopier) +Initialisation de BTN_WDFAA_Couper +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Couper +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +si pChampTT..Curseur <= 0 alors retour +si pChampTT..LongueurSélection = 0 alors retour +ExécuteFAA(pChampTT,faaCouper)//IDPOP_COUPER +Initialisation de GRPRUB_WDFAA_StyleForme +p est Champ <- MoiMême +procédure interne fUUI() +f est docFragment <- pChampTT..Sélection..Fragment +soit bSurZoneDeTexte = Faux +si f..TypeSousDocument = typeSousDocZoneDeTexte alors +bSurZoneDeTexte = Vrai +sinon si pChampTT..Curseur>=1 _et_ f.Elément..Occurrence = 1 _et_ f.Elément[1].Type = +typeDocElémentZoneDeTexte alors +06/08/2026 Isis_BO 6633 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +bSurZoneDeTexte = Vrai +fin +p..Visible = bSurZoneDeTexte +fin +gProcUpdateUI += fUUI +Initialisation de BTN_WDFAA_CouleurFondForme +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_CouleurFondForme +//Choix couleur +extern WinDevFaa_SelCouleur +externe WDOBJ_FAA_Document +//Sélection de couleur +sCouleur est une chaîne = OuvrePopupPosition(WinDevFaa_SelCouleur,poBas,iTransparent,"Aucune couleur") +//OuvrePopupPosition(WinDevFaa_SelCouleur,poBas,iTransparent,"Aucune couleur") +//Couleur choisie ? non => rien à faire +si sCouleur = "" alors retour +//Oui => couleur convertie en entier +nCouleur est entier = sCouleur +//Vérification champ TT +dbgAssertion(pChampTT <> Null) +//Champ TT OK ? non => rien à faire +si pChampTT = Null alors retour +//Oui => position curseur OK ? non => rien à faire +si pChampTT..Curseur <= 0 alors retour +//Récupération sélection +f est docFragment <- pChampTT..Sélection..Fragment +elt est un docElément = Null +doc est Document <- pChampTT..Valeur +si f..TypeSousDocument = typeSousDocZoneDeTexte alors +elt <- WDOBJ_TT_Util.RechercheElementZoneDeTexte(doc, f..IdentifiantSousDocument) +sinon si pChampTT..Curseur>=1 _et_ f.Elément..Occurrence = 1 _et_ f.Elément[1].Type = +typeDocElémentZoneDeTexte alors +elt = f.Elément[1] +fin +dbgAssertion(elt<>Null _et_ elt.Type = typeDocElémentZoneDeTexte) +si elt = Null _ou_ elt.Type <> typeDocElémentZoneDeTexte alors retour +elt.ZoneDeTexte.Fond..Couleur = nCouleur +//Le champ TT a été modifié +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_CouleurTraitForme +externe WDOBJ_TT_Util +06/08/2026 Isis_BO 6634 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_CouleurTraitForme +//Choix couleur +extern WinDevFaa_SelCouleur +externe WDOBJ_FAA_Document +//Sélection de couleur +sCouleur est une chaîne = OuvrePopupPosition(WinDevFaa_SelCouleur,poBas,iTransparent,"Aucune couleur") +//OuvrePopupPosition(WinDevFaa_SelCouleur,poBas,iTransparent,"Aucune couleur") +//Couleur choisie ? non => rien à faire +si sCouleur = "" alors retour +//Oui => couleur convertie en entier +nCouleur est entier = sCouleur +//Vérification champ TT +dbgAssertion(pChampTT <> Null) +//Champ TT OK ? non => rien à faire +si pChampTT = Null alors retour +//Oui => position curseur OK ? non => rien à faire +si pChampTT..Curseur <= 0 alors retour +//Récupération sélection +f est docFragment <- pChampTT..Sélection..Fragment +elt est un docElément = Null +doc est Document <- pChampTT..Valeur +si f..TypeSousDocument = typeSousDocZoneDeTexte alors +elt <- WDOBJ_TT_Util.RechercheElementZoneDeTexte(doc, f..IdentifiantSousDocument) +sinon si pChampTT..Curseur>=1 _et_ f.Elément..Occurrence = 1 _et_ f.Elément[1].Type = +typeDocElémentZoneDeTexte alors +elt = f.Elément[1] +fin +dbgAssertion(elt<>Null _et_ elt.Type = typeDocElémentZoneDeTexte) +si elt = Null _ou_ elt.Type <> typeDocElémentZoneDeTexte alors retour +//On passe par un ref +intermédiaire sinon l'objet Zone de texte est libéré avant l'affectation de la couleur +soit z <- elt.ZoneDeTexte +z.Trait..Couleur = nCouleur +//Le champ TT a été modifié +ChampExécuteModification(pChampTT) +Initialisation de BTN_WDFAA_Tableau2 +externe WDOBJ_TT_Util +WDOBJ_TT_Util.DésactiveFAA_TT(MoiMême) +Clic sur BTN_WDFAA_Tableau2 +__Ctx_InsereTableau() +Sélection du menu de WINDEVFAA_TT_CTX_EnTête.OPT_ModifierEnTête +06/08/2026 Isis_BO 6635 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +DocEntreEdition(pChampTT,docEnTête) +Sélection du menu de WINDEVFAA_TT_CTX_EnTête.OPT_SupprimerEnTête +DocEntreEdition(pChampTT,docEnTête) +f est docFragment <- pChampTT..Sélection..Fragment +f.PositionDébut=1 +f.PositionFin=0x7FFFFFFF +f.Texte="" +DocEntreEdition(pChampTT,docCorps) +Sélection du menu de WINDEVFAA_TT_CTX_Exporter.Générer_le_PDF +__Ctx_ExportPDF() +Sélection du menu de WINDEVFAA_TT_CTX_Exporter.WINDEVFAA_TT_OPT_HTML +__Ctx_ExportHTML() +Sélection du menu de WINDEVFAA_TT_CTX_Majuscule.OPT_MAJUSCULES +__Ctx_Majuscules() +Sélection du menu de WINDEVFAA_TT_CTX_Majuscule.OPT_WDFAA_Minuscules +__Ctx_Minuscules() +Sélection du menu de WINDEVFAA_TT_CTX_Orientation.WINDEVFAA_TT_OPT_Paysage +_Ctx_Orientation_ChangeOrientationSelection(docPaysage) +Sélection du menu de WINDEVFAA_TT_CTX_Orientation.WINDEVFAA_TT_OPT_Portrait +_Ctx_Orientation_ChangeOrientationSelection(docPortrait) +Sélection du menu de WINDEVFAA_TT_CTX_PiedDePage.OPT_ModifierPiedPage +DocEntreEdition(pChampTT,docPiedDePage) +Sélection du menu de WINDEVFAA_TT_CTX_PiedDePage.OPT_SupprimerPiedPage +DocEntreEdition(pChampTT,docPiedDePage) +f est docFragment <- pChampTT..Sélection..Fragment +f.PositionDébut=1 +f.Positionfin=0x7FFFFFFF +f.Texte="" +DocEntreEdition(pChampTT,docCorps) +Sélection du menu de WINDEVFAA_TT_CTX_Sauver.WINDEVFAA_TT_OPT_Save +06/08/2026 Isis_BO 6636 + +Partie 9 › FI_WinDevFAA_RubanTT › Code des champs +__Ctx_Save() +Sélection du menu de WINDEVFAA_TT_CTX_Sauver.WINDEVFAA_TT_OPT_SaveAs +__Ctx_SaveAs() +Sélection du menu de WINDEVFAA_TT_CTX_TableauSupprime.OPT_Supprimer_la_colonne +__Ctx_SupprColonne() +Sélection du menu de WINDEVFAA_TT_CTX_TableauSupprime.OPT_Supprimer_le_tableau +__Ctx_Suppr_Tableau() +Sélection du menu de WINDEVFAA_TT_CTX_TableauSupprime.WINDEVFAA_TT_OPT_SupprLigne +__Ctx_Suppr_Ligne() +FI_WinDevFAA_RubanTT +Procédures +Procédure locale ___UpdateUIRubanMiseEnForme +procédure ___UpdateUIRubanMiseEnForme() +f est docFragment <- pChampTT..Sélection..Fragment +BTN_WDFAA_Gras..Enfoncé = (f.MiseEnForme.PoliceGras=1) +BTN_WDFAA_Italique..Enfoncé = (f.MiseEnForme.PoliceItalique=1) +BTN_WDFAA_Souligne..Enfoncé = (f.MiseEnForme.PoliceSoulignée<>soulignéAucun) +BTN_WDFAA_Barre..Enfoncé = (f.MiseEnForme.PoliceBarrée=1) +BTN_WDFAA_Indice..Enfoncé = (f.MiseEnForme.AlignementVertical=alignementIndice) +BTN_WDFAA_Exposant..Enfoncé = (f.MiseEnForme.AlignementVertical=alignementExposant) +BTN_WDFAA_Tableau..Etat = (pChampTT..LongueurSélection = 0) ? Actif sinon Grisé +BTN_WDFAA_Tableau2..Etat = (pChampTT..LongueurSélection = 0) ? Actif sinon Grisé +BTN_WDFAA_Police = f.MiseEnForme.PoliceNom +soit nIndiceTaille = ListeCherche(COMBO_WDFAA_TaillePolice, ""+f.MiseEnForme.PoliceTaille) +si nIndiceTaille<>-1 alors +ListeSelectPlus(COMBO_WDFAA_TaillePolice,nIndiceTaille) +sinon +COMBO_WDFAA_TaillePolice = f.MiseEnForme.PoliceTaille +fin +Procédure locale __bDansEnTêteOuPiedDePage +procédure privée __bDansEnTêteOuPiedDePage(fragment est un docFragment) +soit eTypeSousDoc = fragment..TypeSousDocument +06/08/2026 Isis_BO 6637 + +Partie 9 › FI_WinDevFAA_RubanTT › Procédures +si eTypeSousDoc _dans_ (typeSousDocEnTêtePageImpaire, typeSousDocEnTêtePagePaire, +typeSousDocEnTêtePremièrePage, typeSousDocPiedDePageImpaire, typeSousDocPiedDePagePaire, +typeSousDocPiedDePremièrePage) +renvoyer Vrai +fin +si eTypeSousDoc = typeSousDocCorps alors +renvoyer Faux +fin +si fragment..Elément..Vide alors +renvoyer Faux +fin +procédure interne DansEnteteOuPiedDepage(e est un docElément) +si e..Type _dans_ (typeDocElémentDocument, typeDocElémentInconnu) alors +renvoyer Faux +fin +si e..Type _dans_ (typeDocElémentEnTête, typeDocElémentPiedDePage) alors +renvoyer Vrai +fin +renvoyer DansEnteteOuPiedDepage(e..parent) +fin +renvoyer DansEnteteOuPiedDepage(fragment..Elément[1]) +Procédure locale __ChangeListeStyle +procédure __ChangeListeStyle() +pDoc est un Document <- pChampTT +externe WDOBJ_TT_StyleRuban +externe CFI_DocxStyle +WDOBJ_TT_StyleRuban.RemplirZR(CFI_DocxStyle.ZR_STYLE, pDoc, Faux) +Procédure locale __Ctx_ExportHTML +procédure __Ctx_ExportHTML() +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +doc est un Document <- pChampTT..Valeur +sNomFichierDefaut est chaîne +si doc..CheminFichier <> "" +sNomFichierDefaut = fExtraitChemin(pChampTT..Valeur..CheminFichier,fFichier)+".htm" +fin +sFichier est chaîne = fSélecteur(fRepEnCours(), sNomFichierDefaut, "","HTM (*.htm)"+TAB+"*.htm" + RC + +"HTML (*.html)"+TAB+"*.html" + RC + "Tous" + TAB + "*.*",".htm", fselCrée+fselExiste) +si sFichier = "" alors retour +DocVersHTML(doc, sFichier) +Procédure locale __Ctx_ExportPDF +procédure privée __Ctx_ExportPDF() +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +doc est un Document <- pChampTT..Valeur +06/08/2026 Isis_BO 6638 + +Partie 9 › FI_WinDevFAA_RubanTT › Procédures +sNomFichierDefaut est chaîne +si doc..CheminFichier <> "" +sNomFichierDefaut = fExtraitChemin(pChampTT..Valeur..CheminFichier,fFichier)+".pdf" +fin +sFichier est chaîne = fSélecteur(fRepEnCours(), sNomFichierDefaut, "","PDF (*.pdf)"+TAB+"*.pdf",".pdf", +fselCrée+fselExiste) +si sFichier = "" alors retour +DocVersPDF(doc, sFichier) +Procédure locale __Ctx_InsereImage +procédure privée __Ctx_InsereImage(sRepDefaut est chaîne) +si pChampTT = Null alors +retour +fin +sFichier est chaîne = fSélecteurImage(sRepDefaut,"","Insérer une image","Tous les types d'images" + TAB ++ "*.jpg;*.jpeg;*.png;*.gif;*.bmp" + RC + ... +"JPEG (*.jpg;*.jpeg)" ++ TAB + "*.jpg;* +.jpeg" + RC + ... +"GIF (*.gif)" + TAB ++ "*.gif" + RC + ... +"PNG (*.png)" + TAB + +"*.png" + RC + ... +"BMP (*.bmp)" + TAB + +"*.bmp" + RC + ... +"Tous les fichiers +(*.*)" ++ TAB + "*.*") +si sFichier = "" alors +retour +fin +sRepDefaut = fExtraitChemin(sFichier,fDisque+fRépertoire) +//Stocke la position d'insertion +f est un docFragment <= pChampTT..Sélection..Fragment +soit nPositionInsertion = f..PositionDébut +//On placera le ruban sur l'onglet "Image" +gnNextOngletSelectionné = nINDICE_VOLET_IMAGE +externe WDOBJ_FAA_Document +WDOBJ_FAA_Document.WDOBJ_FAA_Doc_ColleImage(pChampTT, sFichier) +//On se positionne sur l'image +f.PositionDébut = nPositionInsertion +f.PositionFin = nPositionInsertion +DocSélectionne(pChampTT, f) +Procédure locale __Ctx_InsereTableau +procédure privée __Ctx_InsereTableau() +si pChampTT = Null alors +retour +fin +externe WINDEVFAA_PopupCreationTableau +soit (nNbLignes, nNbColonnes) = OuvrePopup(WINDEVFAA_PopupCreationTableau) +06/08/2026 Isis_BO 6639 + +Partie 9 › FI_WinDevFAA_RubanTT › Procédures +si nNbColonnes = 0 _ou_ nNbLignes = 0 alors +retour +fin +f est docFragment <- pChampTT..Sélection..Fragment +soit nPositionCurseurApresInsertion = f.PositionDébut +DocInsèreTableau(pChampTT..Sélection..Fragment,nNbColonnes, nNbLignes) +ChampExécuteModification(pChampTT) +//Si on était pas au début du doc, DocInsèreTableau a inséré un nouveau paragraphe +si nPositionCurseurApresInsertion > 1 alors +nPositionCurseurApresInsertion++ +fin +f..PositionDébut = nPositionCurseurApresInsertion +f..PositionFin = nPositionCurseurApresInsertion +DocSélectionne(pChampTT,f) +DonneFocus(pChampTT) +Procédure locale __Ctx_Majuscules +procédure __Ctx_Majuscules() +si pChampTT = Null alors retour +f est docFragment <- pChampTT..Sélection..Fragment +si f = Null alors retour +f.Texte = Majuscule(f.Texte) +ChampExécuteModification(pChampTT) +Procédure locale __Ctx_Minuscules +procédure __Ctx_Minuscules() +si pChampTT = Null alors retour +f est docFragment <- pChampTT..Sélection..Fragment +si f = Null alors retour +f.Texte = Minuscule(f.Texte) +ChampExécuteModification(pChampTT) +Procédure locale __Ctx_Nouveau +procédure privée __Ctx_Nouveau() +externe pChampTT +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +doc est Document <- pChampTT..Valeur +si doc <> Null alors +//Demande de sauver le fichier avant fermeture +externe WDOBJ_TT_Util +si pas ChampExécuteFermeture(pChampTT) alors +retour +fin +fin +pChampTT..Valeur = "" +ExécuteTraitement(pChampTT,trtAprèsOuvertureDocument) +06/08/2026 Isis_BO 6640 + +Partie 9 › FI_WinDevFAA_RubanTT › Procédures +EcranPremier(pChampTT) +Procédure locale __Ctx_Open +procédure privée __Ctx_Open() +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +soit sRepDefaut = ChargeParamètre("TT_OPEN_SAVE_DEFAULT_DIR",fRepDonnéesUtilisateur()) +sFichier est chaîne = fSélecteur(sRepDefaut, "","","DOCX (*.docx)"+TAB+"*.docx"+RC+"RTF (*.rtf)"+TAB+"* +.rtf"+RC+"Tous les fichiers"+TAB+"*.*","docx", fselOuvre+fselExiste) +si sFichier = "" alors retour +SauveParamètre("TT_OPEN_SAVE_DEFAULT_DIR",fExtraitChemin(sFichier,fDisque+fRépertoire)) +//Demande de sauver le fichier avant fermeture +externe WDOBJ_TT_Util +si pas ChampExécuteFermeture(pChampTT) +retour +fin +si fExtraitChemin(sFichier,fExtension) ~= ".doc" alors +soit sInfo = "Ce fichier est au format "".DOC""."//"Ce fichier est au format "".DOC""." +Erreur("Impossible d'ouvrir le fichier",sInfo)//Erreur("Impossible d'ouvrir le fichier", sInfo) +retour +fin +si pas DocOuvre(pChampTT, sFichier) alors +Erreur("Impossible d'ouvrir le fichier",ErreurInfo())//Erreur("Impossible d'ouvrir le fichier" +, ErreurInfo()) +retour +fin +ExécuteTraitement(pChampTT,trtAprèsOuvertureDocument) +EcranPremier(pChampTT) +Procédure locale __Ctx_Print +procédure privée __Ctx_Print() +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +soit bAffichageActif = pChampTT..AffichageActif +pChampTT..AffichageActif = Faux +soit bOrtho = pChampTT..VérifieOrthographe +pChampTT..VérifieOrthographe = Faux +FAAExécute(pChampTT, faaImprimerTraitementDeTexte) +pChampTT..VérifieOrthographe = bOrtho +pChampTT..AffichageActif = bAffichageActif +Procédure locale __Ctx_Save +procédure privée __Ctx_Save() +externe WDOBJ_TT_Util +//renvoyer WDOBJ_TT_Util.TT_Save(pChampTT) +si WDOBJ_TT_Util.TT_Save(pChampTT)= Oui alors +06/08/2026 Isis_BO 6641 + +Partie 9 › FI_WinDevFAA_RubanTT › Procédures +ExécuteTraitement(pChampTT,trtAprèsOuvertureDocument) +fin +Procédure locale __Ctx_SaveAs +procédure privée __Ctx_SaveAs() +externe WDOBJ_TT_Util +si WDOBJ_TT_Util.TT_SaveAs(pChampTT) = Oui alors +ExécuteTraitement(pChampTT,trtAprèsOuvertureDocument) +fin +Procédure locale __Ctx_SetHabillage +procédure privée __Ctx_SetHabillage(nHabillage est entier) +externe WDOBJ_TT_Util +doc est Document <- pChampTT..Valeur +f est docFragment <- pChampTT..Sélection..Fragment +f..PositionFin = f..PositionDébut+1 +elt est un docElément = Null +si f.Elément..Occurrence <= 2 alors +pour tout eltFrag de f.Elément +si eltFrag.Type = typeDocElémentImage alors +elt <- eltFrag +fin +fin +fin +si elt = Null _et_ f.TypeSousDocument = typeSousDocZoneDeTexte alors +elt <- WDOBJ_TT_Util.RechercheElementZoneDeTexte(doc, f.IdentifiantSousDocument) +fin +si elt = Null alors +retour +fin +DocDébutModification(pChampTT) +soit nAncienHabillage = 0 +selon elt.Type +cas typeDocElémentImage +nAncienHabillage = elt.Image.Habillage +elt.Image.Habillage = nHabillage +cas typeDocElémentZoneDeTexte +nAncienHabillage = elt.ZoneDeTexte.Habillage +elt.ZoneDeTexte.Habillage = nHabillage +fin +si nAncienHabillage = docHabillageAlignéSurLeTexte alors +soit nPositionDebutParagraphe = elt.Paragraphe.PositionDébut +si elt.Paragraphe.Numérotation.Identifiant<>0 alors +nPositionDebutParagraphe++ +fin +img est un docElément <= elt +06/08/2026 Isis_BO 6642 + +Partie 9 › FI_WinDevFAA_RubanTT › Procédures +fPourInsertion est un docFragment = Null +selon elt.Type +cas typeDocElémentImage +fPourInsertion <- f +cas typeDocElémentZoneDeTexte +fZone est un docFragment(doc, elt..PositionDébut, 1) +fPourInsertion <- fZone +fin +// retire l'image / la zone +fPourInsertion..Texte = "" +// ajoute l'image au début du paragraphe +fPourInsertion.PositionDébut = nPositionDebutParagraphe +fPourInsertion.PositionFin = nPositionDebutParagraphe +DocInsère(fPourInsertion,img) +// séléctionne l'image +fPourInsertion.PositionDébut = nPositionDebutParagraphe +fPourInsertion.PositionFin = nPositionDebutParagraphe+1 +DocSélectionne(pChampTT,fPourInsertion) +fin +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Procédure locale __Ctx_Suppr_Ligne +procédure privée __Ctx_Suppr_Ligne() +f est docFragment = pChampTT..Sélection..Fragment +f.PositionFin = f.PositionDébut +soit tabtableau <- f.Paragraphe[1].Tableau +procédure interne GetCellule(p) +renvoyer p.cellule +fin +soit cellule <- GetCellule(f.Paragraphe[1]) +si tabtableau = Null _ou_ cellule = Null alors +retour +fin +soit nIndiceLigne = cellule.IndiceLigne +Supprime(tabtableau.Lignes, nIndiceLigne) +soit nIndiceLigneSelection = nIndiceLigne +si nIndiceLigneSelection > tabtableau.Lignes..Occurrence alors +nIndiceLigneSelection = tabtableau.Lignes..Occurrence +fin +si nIndiceLigneSelection > 0 alors +c est docCellule <- tabtableau.Cellules[nIndiceLigneSelection, 1] +si c <> Null alors +pChampTT..Curseur = c.Contenu.PositionDébut +pChampTT..FinCurseur = c.Contenu.PositionDébut +fin +fin +Procédure locale __Ctx_Suppr_Tableau +06/08/2026 Isis_BO 6643 + +Partie 9 › FI_WinDevFAA_RubanTT › Procédures +procédure privée __Ctx_Suppr_Tableau() +f est docFragment = pChampTT..Sélection..Fragment +f.PositionFin = f.PositionDébut +soit para <- f.Paragraphe[1] +si para.Tableau = Null alors +retour +fin +externe WDOBJ_TT_Util +soit docCourant <- WDOBJ_TT_Util.docSelection(pChampTT) +Supprime(docCourant.Paragraphe, para.IndiceParagraphe) +ChampExécuteModification(pChampTT) +Procédure locale __Ctx_SupprColonne +procédure privée __Ctx_SupprColonne() +f est docFragment = pChampTT..Sélection..Fragment +f.PositionFin = f.PositionDébut +soit tabtableau <- f.Paragraphe[1].Tableau +procédure interne GetCellule(p) +renvoyer p.Cellule +fin +soit cellule <- GetCellule(f.Paragraphe[1]) +si tabtableau = Null _ou_ cellule = Null alors +retour +fin +soit nIndiceColonne = cellule.IndiceColonne +Supprime(tabtableau.Colonnes, nIndiceColonne) +soit nIndiceColonneSelection = nIndiceColonne +si nIndiceColonneSelection > tabtableau.Colonnes..Occurrence alors +nIndiceColonneSelection = tabtableau.Colonnes..Occurrence +fin +si nIndiceColonneSelection > 0 alors +c est docCellule <- tabtableau.Cellules[1, nIndiceColonneSelection] +si c <> Null alors +pChampTT..Curseur = c.Contenu.PositionDébut +pChampTT..FinCurseur = c.Contenu.PositionDébut +fin +fin +Procédure locale __dCentimètresVersMillimètres +// Résumé : Convertit une valeur chaîne en centimètres avec unités en valeur numérique en millimètres +// Syntaxe : +//[ <Résultat> = ] __dCentimètresVersMillimètres (<sValeur>) +// +// Paramètres : +// sValeur : valeur chaîne en centimètres avec unités +// Valeur de retour : +// variant : // Valeur numérique en millimètres +// +procédure privée __dCentimètresVersMillimètres(sValeur) +externe WDOBJ_TT_Util +06/08/2026 Isis_BO 6644 + +Partie 9 › FI_WinDevFAA_RubanTT › Procédures +renvoyer WDOBJ_TT_Util.__dUnitéVersMillimètres(sValeur,"cm") +Procédure locale __FixeRaccourciClavier +procédure privée __FixeRaccourciClavier() +tabChamps est tableau de Champs +tabTouche est tableau de entier +procédure interne EnumèreBouton(sParent, callback est une procédure) +i est un entier = 1 +NomChamp est une chaîne = EnumèreChamp(sParent, i) +tantque NomChamp <> "" +ChampCourant est un Champ <- {NomChamp,indChamp} +selon ChampCourant..Type +cas typRuban, typRegroupementRuban +soit sNomComplet = ChampCourant..NomComplet +sNomComplet = Milieu(sNomComplet, Position(sNomComplet, MaFenêtreInterne..Nom + +".")) +EnumèreBouton( sNomComplet ,callback) +cas typBouton +callback(ChampCourant) +cas typComboAVS, typComboSNS +callback(ChampCourant) +autre cas +fin +i++ +NomChamp = EnumèreChamp(sParent,i) +fin +fin +procédure interne FixeRaccourciClavierChamp(ChampCourant est un Champ) +tabCtrl est un tableau de chaîne = [ "Ctrl", "Strg" ] +tabShift est un tableau de chaîne = [ "Shift", "Maj", "Umschalt", "Vaihto" ] +tabMot est un tableau dynamique de 2 par * chaîne = [ [Asc(0x0D), "Return"], [Asc(0x0D), "Invio +"], [Asc(0x0D), "Retour"], [Asc(0x0D), "Entrée"], [Asc(0x0D), "Retorn"] ] +nPos est entier +sBulle est une chaîne = RTFVersTexte(ChampCourant..bulle) +//trace("--------------------"+rc+ChampCourant..nom+rc+RTFVersTexte(sBulle)) +// cherche control +pour tout sCtrl de tabCtrl +nPos = Position(sBulle,"("+sCtrl+"+") +si nPos>0 alors +nPos += Taille(sCtrl)+2 +sortir +fin +fin +si nPos<1 alors retour +// cherche Maj +bMaj est un booléen = Faux +pour tout sShift de tabShift +si ChaîneCommencePar(sBulle[[nPos à]],sShift+"+") alors +bMaj=Vrai +nPos+=Taille(sShift)+1 +sortir +fin +fin +06/08/2026 Isis_BO 6645 + +Partie 9 › FI_WinDevFAA_RubanTT › Procédures +// lettre +sLettre est chaîne +pour i=1 _à_ TableauInfo(tabMot,tiDimension,1) +si ChaîneCommencePar(sBulle[[nPos à]],tabMot[i,2]) alors +sLettre = tabMot[i,1] +nPos+=Taille(tabMot[i,2]) +sortir +fin +fin +si sLettre="" alors +sLettre = sBulle[[nPos]] +nPos++ +fin +si sLettre="" _ou_ sBulle[[nPos]]<>")" alors retour +// fixe le raccourci +ChampCourant..ToucheRaccourci = bMaj ? trControl + trShift + Asc(sLettre) sinon trControl + Asc +(sLettre) +//Ajout le champ dans un tableau pour débrancher le raccourci clavier selon le focus +Ajoute(tabChamps, ChampCourant) +Ajoute(tabTouche, ChampCourant..ToucheRaccourci) +fin +p est une procédure = FixeRaccourciClavierChamp +EnumèreBouton(MoiMême,p) +//Débranche le raccourci clavier selon le focus +procédure interne onKillFocus() +pour tout c de tabChamps +c..ToucheRaccourci = "" +fin +fin +procédure interne onGetFocus() +pour tout c, n de tabChamps +c..ToucheRaccourci = tabTouche[n] +fin +fin +pChampTT..Traitement[trtPriseFocus] += onGetFocus +pChampTT..Traitement[trtPerteFocus] += onKillFocus +Procédure locale __FragmentStyle +// Résumé : retourne le fragment a utiliser pour appliquer un style +procédure privée __FragmentStyle() +f est docFragment <- pChampTT..Sélection..Fragment +// si aucune sélection et que le curseur est dans un mot, on utilise le mot +si pChampTT..LongueurSélection=0 +si f..mot..Occurrence=1 alors +renvoyer f..mot[1] +fin +fin +renvoyer f +Procédure locale __GetTabChampFromGroupe +06/08/2026 Isis_BO 6646 + +Partie 9 › FI_WinDevFAA_RubanTT › Procédures +procédure privée __GetTabChampFromGroupe(NomGroupe) : tableau de Champ +//Pb de contexte pour la manipulation des groupes +//Affectation de l'état au niveau du groupe peut affecter un autre champ TT +//Pour éviter ça, on passe explicitement par chaque champ +tabChamps est un tableau de Champ +soit i=1 +soit ResChamp = EnumèreChamp(NomGroupe, i) +tantque ResChamp <> "" +c est Champ <- {ResChamp, indChamp} +Ajoute(tabChamps, c) +i++ +ResChamp = EnumèreChamp(NomGroupe, i) +fin +renvoyer tabChamps +Procédure locale __InitChamp +procédure privée __InitChamp(_pChampTT est Champ, nFlag<utile>=0) +pChampTT <- _pChampTT +//Option qui indique si le changement de fichier est autorisé +bBtnOuvrirAutorisé est booléen = pas ETBinaire(nFlag, 1) +//Regroupements visibles de manière exclusive +GRPRUB_WDFAA_Document..Visible = bBtnOuvrirAutorisé +GRPRUB_WDFAA_DocumentFixe..Visible = pas bBtnOuvrirAutorisé +externe CFI_DocxStyle +CFI_DocxStyle.SetChampTT(_pChampTT) +//Champ fenêtre interne parent (le nom est unique), pour avoir le bon contexte +fi est Champ <- {MaFenêtreInterne..Nom, indChamp} +procédure interne fUpdateUI +fi.__UpdateUIRuban_WDFAA() +fin +gProcUpdateUI += fUpdateUI +trtRafraîchissementRuban est entier = 261 // TRT_RafraichissementRubanTT +pChampTT..Traitement[trtRafraîchissementRuban] += gProcUpdateUI +// init de la liste des styles si necessaire +__ChangeListeStyle() +// on appel un update pour fixer les choses sur le champ +__UpdateUIRuban_WDFAA() +//Fixe les raccourcis clavier + gestion du focus +__FixeRaccourciClavier() +Procédure locale __ModifieTaillePolice +procédure privée __ModifieTaillePolice(ChampCombo est Champ, nIncrement est entier) +soit nIndiceCombo = ListeCherche(ChampCombo, ChampCombo) +si nIndiceCombo>0 alors +//Si hors des bornes, on sort +si nIndiceCombo+nIncrement <= 0 alors retour +06/08/2026 Isis_BO 6647 + +Partie 9 › FI_WinDevFAA_RubanTT › Procédures +si nIndiceCombo+nIncrement > ChampCombo..Occurrence alors retour +ListeSelectPlus(ChampCombo,nIndiceCombo+nIncrement) +sinon +nValeurPolice est entier = ChampCombo +nValeurPolice += nIncrement +si nValeurPolice <= 0 alors retour +ChampCombo = ""+nValeurPolice +fin +ExécuteTraitement(ChampCombo, trtSélection) +Procédure locale __SetEtatGroupe +procédure privée __SetEtatGroupe(tabChamps est tableau de Champ, eEtat est entier) +//Pb de contexte pour la manipulation des groupes +//Affectation de l'état au niveau du groupe peut affecter un autre champ TT +//Pour éviter ça, on passe explicitement par chaque champ +pour tout c de tabChamps +c..Etat = eEtat +fin +Procédure locale __sValeurCentimètres +// Résumé : Renvoie une valeur en centimètres +// Syntaxe : +//[ <Résultat> = ] __sValeurCentimètres (<dValeur> [, <bUnité>]) +// +// Paramètres : +// dValeur : Valeur +// bUnité (valeur par défaut=0) : Indique si on affiche les unités +// Valeur de retour : +// Type indéterminé : // Valeur en centimètres +// +procédure privée __sValeurCentimètres(dValeur,bUnité = Faux) +externe WDOBJ_TT_Util +renvoyer WDOBJ_TT_Util.__sValeurUnité(dValeur,"cm",bUnité) +Procédure locale __sValeurMillimètresEnCentimètres +// Résumé : Renvoie une valeur en millimètres converties en centimètres avec unités +// Syntaxe : +//[ <Résultat> = ] __sValeurMillimètresEnCentimètres (<dValeur> [, <bUnité>]) +// +// Paramètres : +// dValeur : valeur en millimètres +// bUnité (valeur par défaut=0) : Indique si on affiche les unités +// Valeur de retour : +// Type indéterminé : // Valeur convertie en centimètres avec unités +// +procédure privée __sValeurMillimètresEnCentimètres(dValeur,bUnité = Faux) +externe WDOBJ_TT_Util +renvoyer __sValeurCentimètres(Conversion(dValeur,"mm","cm"),bUnité) +Procédure locale __updateOngletVisibleEtActif +06/08/2026 Isis_BO 6648 + +Partie 9 › FI_WinDevFAA_RubanTT › Procédures +procédure privée __updateOngletVisibleEtActif(bVoletTableauVisible) +soit eTypeSousDoc = pChampTT..Sélection..Fragment..TypeSousDocument +bEntêtePied est un booléen = (eTypeSousDoc=typeSousDocEnTêtePageImpaire) _ou_ (eTypeSousDoc= +typeSousDocEnTêtePagePaire) _ou_ (eTypeSousDoc=typeSousDocEnTêtePremièrePage)... +_ou_ (eTypeSousDoc=typeSousDocPiedDePageImpaire) _ou_ (eTypeSousDoc= +typeSousDocPiedDePagePaire) _ou_ (eTypeSousDoc=typeSousDocPiedDePremièrePage) +si bVoletTableauVisible alors RUBAN_WINDEVFAA_TT[nINDICE_VOLET_TABLEAU]..Visible = Vrai +// si on passe en mode entête +si gbAncienModeEntêtePiedDePage=Faux _et_ bEntêtePied=Vrai alors +gnAncienVoletEntêtePiedDePage = RUBAN_WINDEVFAA_TT +RUBAN_WINDEVFAA_TT = nINDICE_VOLET_INSERTION +// on sort du mode entête +sinon si gbAncienModeEntêtePiedDePage=Vrai _et_ bEntêtePied=Faux alors +si RUBAN_WINDEVFAA_TT=nINDICE_VOLET_INSERTION alors RUBAN_WINDEVFAA_TT=gn +AncienVoletEntêtePiedDePage +gnAncienVoletEntêtePiedDePage = -1 +fin +// on sort du mode tableau +si gbAncienModeTableau=Vrai _et_ bVoletTableauVisible=Faux alors +gbChangeVoletTableau = (RUBAN_WINDEVFAA_TT=nINDICE_VOLET_TABLEAU) +si RUBAN_WINDEVFAA_TT=nINDICE_VOLET_TABLEAU _et_ gnAncienVoletTableau<>-1 alors RUBAN_WINDEVFAA_TT= +gnAncienVoletTableau +gnAncienVoletTableau=-1 +fin +// si on passe en mode tableau +si gbAncienModeTableau=Faux _et_ bVoletTableauVisible=Vrai alors +si gbChangeVoletTableau alors +gnAncienVoletTableau = RUBAN_WINDEVFAA_TT +RUBAN_WINDEVFAA_TT = nINDICE_VOLET_TABLEAU +fin +fin +gbAncienModeEntêtePiedDePage = bEntêtePied +gbAncienModeTableau = bVoletTableauVisible +si bVoletTableauVisible=Faux alors RUBAN_WINDEVFAA_TT[nINDICE_VOLET_TABLEAU]..Visible = Faux +Procédure locale __UpdateUI_ModeAffichage +procédure privée __UpdateUI_ModeAffichage() +nModeAffichage est entier = pChampTT..ModeAffichage +selon nModeAffichage +cas modeAffichageUnePage +BTN_WDFAA_MODEAFFICHAGE_PAGE..Enfoncé = Vrai +BTN_WDFAA_MODEAFFICHAGE_PAGE..Etat = AffichageSeulement +BTN_WDFAA_MODEAFFICHAGE_WEB..Enfoncé = Faux +BTN_WDFAA_MODEAFFICHAGE_WEB..Etat = Actif +cas modeAffichageWeb +BTN_WDFAA_MODEAFFICHAGE_PAGE..Enfoncé = Faux +BTN_WDFAA_MODEAFFICHAGE_PAGE..Etat = Actif +BTN_WDFAA_MODEAFFICHAGE_WEB..Enfoncé = Vrai +BTN_WDFAA_MODEAFFICHAGE_WEB..Etat = AffichageSeulement +autre cas +fin +Procédure locale __UpdateUIRuban_WDFAA +06/08/2026 Isis_BO 6649 + +Partie 9 › FI_WinDevFAA_RubanTT › Procédures +procédure privée __UpdateUIRuban_WDFAA() +externe WDOBJ_TT_Util +externe WDOBJ_TT_Numérotation +externe CFI_DocxStyle +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +MaFenêtre..AffichageActif = Faux +bVoletTableauVisible est un booléen = Faux +__UpdateUI_ModeAffichage() +// il faut un document pour faire quelque chose (même un document nouveau et vide) +d est un Document <- pChampTT..Valeur +si d = Null alors +__SetEtatGroupe(gtabGrp_Tous, Grisé) +GRPRUB_WDFAA_Modification..Grisé = Vrai +//boutons hors du groupe pour optim dessin +BTN_WDFAA_Couper..Grisé = Vrai +BTN_WDFAA_Copier..Grisé = Vrai +BTN_WDFAA_Undo..Grisé = Vrai +BTN_WDFAA_Redo..Grisé = Vrai +BTn_WDFAA_Recherche..Grisé = Vrai +BTN_WDFAA_Orthographe..Grisé = Vrai +BTN_WDFAA_Nouveau..Grisé = Faux +BTN_WDFAA_Ouvrir..Grisé = Faux +retour +fin +__SetEtatGroupe(gtabGrp_Tous, Actif) +GRPRUB_WDFAA_Modification..Grisé = Faux +BTN_WDFAA_Orthographe..Enfoncé = pChampTT..VérifieOrthographe +INT_WDFAA_AfficherRegles = pChampTT..RègleVisible +si pChampTT..Curseur < 0 alors retour +___UpdateUIRubanMiseEnForme() +LIB_LectureSeule..Visible = d.LectureSeule +BTN_WDFAA_Couper..Grisé = (pChampTT..LongueurSélection = 0) +BTN_WDFAA_Copier..Grisé = (pChampTT..LongueurSélection = 0) +BTN_WDFAA_Coller..Grisé = pas(PressePapierFormat(ppfTexte) _ou_ PressePapierFormat(ppfTexteUnicode)) +BTN_WDFAA_Undo..Grisé = DocUndoOccurrence(pChampTT) <= 0 +BTN_WDFAA_Redo..Grisé = DocRedoOccurrence(pChampTT) <= 0 +BTN_WDFAA_AfficheCaracControle..Enfoncé = pChampTT..AffichageCaractèresContrôle +BTN_WDFAA_Image..Grisé = pChampTT..Curseur<1 _ou_ pChampTT..LongueurSélection>0 +f est docFragment <- pChampTT..Sélection..Fragment +si pChampTT..Curseur>=1 alors +fragTableau est docFragment <= pChampTT..Sélection..Fragment +fragTableau.PositionFin = fragTableau.PositionDébut +si fragTableau.Paragraphe..Occurrence>=1 _et_ fragTableau.Paragraphe[1].Tableau <> Null alors +bVoletTableauVisible = Vrai +fin +fin +06/08/2026 Isis_BO 6650 + +Partie 9 › FI_WinDevFAA_RubanTT › Procédures +__SetEtatGroupe(gtabGrp_NonDispo, Grisé) +POT_WDFAA_Zoom = pChampTT..Zoom +SAI_FAA_Zoom = pChampTT..Zoom/100. +__UpdateUIRubanNumeroPuce(f) +CFI_DocxStyle.SelectionneStyle(f) +__UpdateUIRubanEntete() +fin: +__updateOngletVisibleEtActif(bVoletTableauVisible) +CFI_DocxStyle.UpdateEtat() +__UpdateUIRubanAffichageSeul() +MaFenêtre..AffichageActif = Vrai +Procédure locale __UpdateUIRubanAffichageSeul +procédure privée __UpdateUIRubanAffichageSeul() +si pChampTT<>Null _et_ pChampTT..Etat=AffichageSeulement alors +GRP_WDFAA_TT_Tous..Etat=AffichageSeulement +GRP_WDFAA_TT_Affichage..Etat=Actif +BTN_WDFAA_Signet..Etat=Actif +BTn_WDFAA_Recherche..Etat=Actif +si BTN_WDFAA_FermerEntêtePied..Visible alors BTN_WDFAA_FermerEntêtePied..Etat=Actif +fin +Procédure locale __UpdateUIRubanEntete +procédure privée __UpdateUIRubanEntete() +bEntêtePied est un booléen = __bDansEnTêteOuPiedDePage(pChampTT..Sélection..Fragment) +si pas bEntêtePied alors +GRP_ENTETE..Visible = Faux +sinon +GRP_ENTETE..Visible = Vrai +GRP_PAGE..Etat = Grisé +s est une docSection <- pChampTT..Sélection..Section[1] +INT_ENTETE_PAIRE_IMPAIRE[1] = pChampTT..Valeur..PagePaireImpaireDifférente +INT_ENTETE_PREMIERE[1] = s.PremierePageDifferente +si s.Numero=1 alors +INT_ENTETE_LIER[1] = Faux +INT_ENTETE_LIER..Etat = Grisé +sinon +INT_ENTETE_LIER..Etat = Actif +selon pChampTT..Sélection..Fragment..TypeSousDocument +cas typeSousDocEnTêtePremièrePage +INT_ENTETE_LIER[1] = s.Entête.PremièrePageHéritée +cas typeSousDocEnTêtePagePaire +INT_ENTETE_LIER[1] = s.Entête.PagePaireHéritée +cas typeSousDocEnTêtePageImpaire +INT_ENTETE_LIER[1] = s.Entête.PageImpaireHéritée +cas typeSousDocPiedDePremièrePage +INT_ENTETE_LIER[1] = s.PiedDePage.PremièrePageHéritée +cas typeSousDocPiedDePagePaire +INT_ENTETE_LIER[1] = s.PiedDePage.PagePaireHéritée +cas typeSousDocPiedDePageImpaire +INT_ENTETE_LIER[1] = s.PiedDePage.PageImpaireHéritée +fin +fin +06/08/2026 Isis_BO 6651 + +Partie 9 › FI_WinDevFAA_RubanTT › Procédures +SAI_WDFAA_MargeEnTête = __sValeurMillimètresEnCentimètres(s.MargeEntete) +SAI_WDFAA_MargePiedDePage = __sValeurMillimètresEnCentimètres(s.MargePiedDePage) +fin +Procédure locale __UpdateUIRubanNumeroPuce +procédure __UpdateUIRubanNumeroPuce(f) +externe WDOBJ_TT_Numérotation +bPuce, bNumérotation sont des booléens +pour tout p de f..Paragraphe +si p..Numérotation..Identifiant < 1 alors +bPuce=Faux +bNumérotation=Faux +sortir +fin +numerotation est un docNumérotation <- WDOBJ_TT_Numérotation.GetNumérotation(pChampTT..Valeur,p.. +Numérotation..Identifiant,faux) +// invalid document +si numerotation=Null alors +bPuce=Faux +bNumérotation=Faux +sortir +fin +si WDOBJ_TT_Numérotation.bNumérotationPuce(numerotation) alors +si bNumérotation alors +bPuce=Faux +bNumérotation=Faux +sortir +fin +bPuce=Vrai +sinon +si bPuce alors +bPuce=Faux +bNumérotation=Faux +sortir +fin +bNumérotation=Vrai +fin +fin +BTN_WDFAA_Numero..Enfoncé = bNumérotation +BTN_WDFAA_Puces..Enfoncé = bPuce +Procédure locale _Ctx_Orientation_ChangeOrientationSelection +procédure privée _Ctx_Orientation_ChangeOrientationSelection(nOrientation <utile>) +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +externe WDOBJ_TT_Util +f est docFragment = WDOBJ_TT_Util.FragmentMiseEnPage(pChampTT) +// si le fragment ne contient pas de paragraphe, la coche d'orientation va dépendre du document +si f.Paragraphe..Occurrence=0 alors +doc est un Document <- pChampTT..Valeur +DocDébutModification(pChampTT) +doc.Section.Orientation=nOrientation +DocFinModification(pChampTT) +06/08/2026 Isis_BO 6652 + +Partie 9 › FI_WinDevFAA_RubanTT › Procédures +ChampExécuteModification(pChampTT) +retour +fin +// parcours les paragraphes de la sélection +DocDébutModification(pChampTT) +pour nParagraphe=1 _à_ f.Paragraphe..Occurrence +f.Paragraphe[nParagraphe].Section.Orientation=nOrientation +fin +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +Procédure locale _Ctx_Orientation_UpdateMenuSelonSelection +procédure privée _Ctx_Orientation_UpdateMenuSelonSelection() +nOrientation est un entier = -1 +// orientation courante (docPortrait, docPaysage, -1 si portrait+paysage ) +externe WDOBJ_TT_Util +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +f est docFragment = WDOBJ_TT_Util.FragmentMiseEnPage(pChampTT) +// si le fragment ne contient pas de paragraphe, la coche d'orientation va dépendre du document +si f.Paragraphe..Occurrence=0 alors +doc est un Document <- pChampTT..Valeur +nOrientation=doc.Section.Orientation +retour +fin +// initialise l'orientation selon le premier paragraphe +nOrientation=f.Paragraphe[1].Section.Orientation +// parcours les paragraphes de la sélection +pour nParagraphe=2 _à_ f.Paragraphe..Occurrence +// la sélection contient une orientation différente de la sélection courante : on invalide +nOrientationParagraphe est un entier +nOrientationParagraphe=f.Paragraphe[nParagraphe].Section.Orientation +si nOrientationParagraphe <> nOrientation alors +nOrientation=-1 +retour +fin +fin +fin: +WINDEVFAA_TT_OPT_Portrait..Cochée=(nOrientation=docPortrait) +WINDEVFAA_TT_OPT_Paysage..Cochée=(nOrientation=docPaysage) +Procédure locale _Ctx_TaillePage_ChangeTaillePage +procédure privée _Ctx_TaillePage_ChangeTaillePage(dLargeurPage, dHauteurPage, bAppliqueAuDoc=Faux) +dbgAssertion(pChampTT <> Null) +si pChampTT = Null alors retour +externe WDOBJ_TT_Util +f est docFragment = WDOBJ_TT_Util.FragmentMiseEnPage(pChampTT) +// si le fragment ne contient pas de paragraphe, la coche d'orientation va dépendre du document +si f.Paragraphe..Occurrence=0 _ou_ bAppliqueAuDoc alors +06/08/2026 Isis_BO 6653 + +Partie 9 › FI_WinDevFAA_RubanTT › Procédures +doc est un Document <- pChampTT..Valeur +DocDébutModification(pChampTT) +doc.Section.LargeurPage=dLargeurPage +doc.Section.HauteurPage=dHauteurPage +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +retour +fin +// parcours les paragraphes de la sélection +DocDébutModification(pChampTT) +pour nParagraphe=1 _à_ f.Paragraphe..Occurrence +// la sélection contient une orientation différente de la sélection courante : on invalide +dLargeur est un réel +dLargeur = f.Paragraphe[nParagraphe].Section.LargeurPage +si dLargeur <> dLargeurPage alors +f.Paragraphe[nParagraphe].Section.largeurPage=dLargeurPage +fin +dHauteur est un réel +dHauteur = f.Paragraphe[nParagraphe].Section.HauteurPage +si dHauteur <> dHauteurPage alors +f.Paragraphe[nParagraphe].Section.HauteurPage=dHauteurPage +fin +fin +DocFinModification(pChampTT) +ChampExécuteModification(pChampTT) +06/08/2026 Isis_BO 6654 + +Partie 9 › FI_WinDevVueRDV › Image +FI_WinDevVueRDV +Image +FI_WinDevVueRDV +Informations générales +FI_WinDevVueRDV +Fichier physique D:\Projets Windev\Batik\WD30\Dev\WDFAA_1\FI_WinDevVueRDV.wdw +| Créé par | | PAD | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 01/10/2009 18:01:16 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 22/04/2025 08:56:30 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 175 Hauteur | 225 | +| 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 | | | | +| 06/08/2026 | | | Isis_BO | | 6655 | + +Partie 9 › FI_WinDevVueRDV › Informations générales +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 +Statistiques de la fenêtre +Libellé 3 Image 3 +Fenêtre interne 1 +Nombre d'éléments dans la fenêtre : 7 +FI_WinDevVueRDV +Informations sur les champs +06/08/2026 Isis_BO 6656 + +Partie 9 › FI_WinDevVueRDV › Informations sur les champs +Fenêtre : FI_WinDevVueRDV +Fenêtre interne +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| FI_WinDevVueRDV | | 0 | 0 | 175 | 225 | 0 | | | +| --------------- | --- | --- | --- | --- | --- | --- | --- | --- | +Fenêtre interne : FI_WinDevVueRDV +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Détail | 0 | 32 167 | 193 | 0 | Actif | Gauche | Haut | | +| ------------ | --- | ------ | --- | --- | ----- | ------ | ---- | --- | +| LIB_LibEtat | 167 | 0 8 | 225 | 0 | Actif | Gauche | Haut | | +| LIB_TitreRDV | 0 | 0 167 | 32 | 0 | Actif | Gauche | Haut | | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Image1 | 4 | 204 | 16 | 16 | 0 | Actif | | | +| -------------- | --- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_Important | 148 | 204 | 16 | 16 | 0 | Actif | | | +| IMG_REPETITION | 220 | 3 | 10 | 10 | 0 | Actif | | | +Fenêtre : FI_WinDevVueRDV +| 06/08/2026 | | | Isis_BO | | | | | 6657 | +| ---------- | --- | --- | ------- | --- | --- | --- | --- | ---- | + +Partie 9 › FI_WinDevVueRDV › Informations sur les champs +Fenêtre interne : FI_WinDevVueRDV +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_WinDevVueRDV +Image : FI_WinDevVueRDV.IMG_Image1 +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 Cadrage ignoré (pour compatibilité) +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 Non +Force monochrome Non +Mode 9 images Non +06/08/2026 Isis_BO 6658 + +Partie 9 › FI_WinDevVueRDV › Informations sur les champs +Chargement en fond Non +Orientation EXIF Non +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 +Image : FI_WinDevVueRDV.IMG_Important +Valeur initiale FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\ag_RdvImportant.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 Non +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 6659 + +Partie 9 › FI_WinDevVueRDV › Informations sur les champs +Image : FI_WinDevVueRDV.IMG_REPETITION +Valeur initiale FR,GB: D:\Projets Windev\Batik\WD28\Dev\Planning\Isis_BO\WDFAA_1\ag_RdvRépété.gif +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 Cadrage ignoré (pour compatibilité) +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 Non +Force monochrome Non +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Non +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 +Libellé : FI_WinDevVueRDV.LIB_Détail +Libellé FR: <Détail > +GB: <Details > +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 +06/08/2026 Isis_BO 6660 + +Partie 9 › FI_WinDevVueRDV › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR,GB: 0 +Mode ellipse <Aucun> +Unicode Non +Transforme le & Oui +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_WinDevVueRDV.LIB_LibEtat +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,GB: 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 Hauteur et droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Isis_BO 6661 + +Partie 9 › FI_WinDevVueRDV › Informations sur les champs +Libellé : FI_WinDevVueRDV.LIB_TitreRDV +Libellé FR: <Libellé> +GB: <Description> +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 7 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR,GB: 0 +Mode ellipse A la fin +Unicode Non +Transforme le & Oui +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_WinDevVueRDV +Code des champs +Déclarations globales de FI_WinDevVueRDV +// Procédure appelée avant chaque dessin d'un rendez-vous de champ Agenda, Planning, TimeLine, Gantt +// Ce code est ré-exécuté pour CHAQUE affichage d'un rendez-vous +// NB : Il est possible de crée un agencement de moins de 32px +de haut pour l'utiliser en mode "Mois calendaire" dans un champ agenda +procédure FI_WinDevVueRDV( EvenementOuRDV ) +//EvenementOuRDV : Rendez-vous ou Evenement a dessiner +06/08/2026 Isis_BO 6662 + +Partie 9 › FI_WinDevVueRDV › Code des champs +// => SourceVersEcran +si EvenementOuRDV.Image <> Null _et_ EvenementOuRDV.image <> "" alors +IMG_Image1..Valeur = EvenementOuRDV.Image +sinon +IMG_Image1..Visible = Faux +fin +IMG_Important..Visible = (EvenementOuRDV.Importance <> 0) +IMG_REPETITION..Visible = EvenementOuRDV.AvecRépétition +si EvenementOuRDV.Auteur <> Null _et_ EvenementOuRDV.Auteur <> "" alors +LIB_LibEtat..CouleurFond = EvenementOuRDV.Auteur +fin +LIB_TitreRDV = Remplace(EvenementOuRDV.Titre,RC," ") +LIB_Détail = Remplace(EvenementOuRDV.Contenu,RC," ") +LIB_TitreRDV..CouleurFond = EvenementOuRDV.CouleurFond +// cas ou le RDV est petit et qu'on a un pictogramme +//si MoiMême..Hauteur <= 2*LIB_FondTitreRDV..Hauteur _et_ EvenementOuRDV.Image<>"" ALORS +// // on met le libellé a coté du titre +// IMG_Image1..Y = LIB_TitreRDV..Y +// LIB_TitreRDV..X = IMG_Image1..x + IMG_Image1..Largeur +//FIN +Clic sur IMG_Image1 +Info("test clic sur image") +Initialisation de LIB_LibEtat +// Version 1 +// Description +// Libellé simple +06/08/2026 Isis_BO 6663 + +Partie 10 › Table des matières +Partie 10 +Table des matières +| 06/08/2026 | Isis_BO | 6664 | +| ---------- | ------- | ---- | + +Partie 10 › Table des matières +Projet Isis_BO +Partie 1 Projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 +Informations générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 +Liste des éléments du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 +Liste des Perso-Dossiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 +Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 +Statistiques sur le code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 +Composants inclus dans le projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 +Composants internes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 +Partie 2 Schéma des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 +Graphe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 +Informations générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 +Dictionnaire des rubriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 +Groupes de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 +Liaisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 +Connexions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 +Tables et rubriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 +AccesEtDroit 70 +Action 72 +Adresse 73 +BddExterne 75 +CheckList 76 +CheckList_Collab 77 +Client 78 +Client_Adresse 80 +Client_BddExterne 81 +Client_Lieu 82 +Collaborateur 83 +CompteRendu 84 +Compteur 85 +Document 86 +DocumentNote 87 +Dossier 88 +Equipe 89 +Equipe_Collaborateur 90 +EtatIntervention 91 +Intervention 92 +Intervention_BddExterne 94 +06/08/2026 Isis_BO 6665 + +Partie 10 › Table des matières +Intervention_ChampLibre 95 +Intervention_Collaborateur 96 +Intervention_Personne 97 +Lieu 98 +Lieu_Personne 100 +MailCat 101 +MailModele 102 +MessageExterne 103 +MessageInterne 104 +Mobile 105 +MobLog 106 +MobReception 107 +ModeleRapportMob 108 +MotClef 109 +ParametreApplication 110 +ParametreMetier 111 +ParametreMetierEntete 112 +ParametreSysteme 113 +ParametreUtilisateur 114 +Personne 115 +Planning_RDV 117 +Planning_RDV_Personne 119 +Societe 120 +Societe_Collaborateur 122 +SuiviDesTemps 123 +Telephone 124 +Utilisateur 125 +Partie 3 Fenêtre WINDEV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 +FEN_ChoixFenetreInterne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 +Image 127 +Informations générales 128 +Informations sur les champs 129 +Code 130 +FEN_Login1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 +Image 134 +Informations générales 134 +Informations sur les champs 136 +Code 152 +Code des champs 152 +Procédures 154 +FEN_Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 +Image 156 +Informations générales 157 +Informations sur les champs 158 +Code 221 +Code des champs 224 +06/08/2026 Isis_BO 6666 + +Partie 10 › Table des matières +Procédures 228 +FEN_ChoixCalendrier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 +Image 239 +Informations générales 239 +Informations sur les champs 241 +Code 250 +Code des champs 251 +FEN_Choix_Equipe_Collaborateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 +Image 252 +Informations générales 252 +Informations sur les champs 254 +Messages multilingues 275 +Code 276 +Code des champs 278 +Procédures 281 +FEN_Liste_Collaborateurs_Temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 +Image 284 +Informations générales 284 +Informations sur les champs 286 +Code 293 +Code des champs 294 +FEN_Choix_Societe_Collaborateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 +Image 296 +Informations générales 296 +Informations sur les champs 298 +Code 308 +Code des champs 309 +Procédures 310 +FEN_Choix_ContactMessageExterne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 +Image 312 +Informations générales 312 +Informations sur les champs 314 +Code 325 +Code des champs 327 +Procédures 328 +FEN_Choix_Role_Personne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 +Image 330 +Informations générales 330 +Informations sur les champs 332 +Code 343 +Code des champs 344 +FEN_Choix_Collab_Responsable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 +Image 346 +Informations générales 346 +Informations sur les champs 348 +Code 359 +Code des champs 360 +06/08/2026 Isis_BO 6667 + +Partie 10 › Table des matières +FEN_Choix_Impression_Agenda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 +Image 362 +Informations générales 362 +Informations sur les champs 363 +Code 370 +Code des champs 371 +FEN_Choix_Contact_Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 +Image 372 +Informations générales 372 +Informations sur les champs 374 +Messages multilingues 391 +Code 391 +Code des champs 393 +FEN_MobileInscription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 +Image 396 +Informations générales 396 +Informations sur les champs 398 +Code 403 +Code des champs 403 +Procédures 404 +FEN_Choix_ModeleEtat_Intervention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 +Image 405 +Informations générales 405 +Informations sur les champs 407 +Code 418 +Code des champs 419 +FEN_Choix_ModeleRapport_Intervention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 +Image 422 +Informations générales 422 +Informations sur les champs 424 +Code 436 +Code des champs 437 +FEN_Choix_Resultat_Recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 +Image 439 +Informations générales 439 +Informations sur les champs 441 +Code 452 +Code des champs 454 +FEN_Choix_Societe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456 +Image 456 +Informations générales 456 +Informations sur les champs 458 +Code 469 +Code des champs 471 +Procédures 472 +FEN_Choix_Parametre_Metier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474 +Image 474 +06/08/2026 Isis_BO 6668 + +Partie 10 › Table des matières +Informations générales 474 +Informations sur les champs 476 +Code 487 +Code des champs 488 +Procédures 489 +FEN_Choix_Colonne_Et_Tri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491 +Image 491 +Informations générales 491 +Informations sur les champs 493 +Code 521 +Code des champs 522 +Procédures 528 +FEN_ChoixCalendrierTps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 +Image 530 +Informations générales 530 +Informations sur les champs 532 +Code 536 +Code des champs 537 +FEN_Choix_ModeleMail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538 +Image 538 +Informations générales 538 +Informations sur les champs 540 +Code 548 +Code des champs 549 +FEN_ModEmail_ChoixCatégories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551 +Image 551 +Informations générales 551 +Informations sur les champs 553 +Code 562 +Code des champs 563 +FEN_ParamModeleMail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564 +Image 564 +Informations générales 564 +Informations sur les champs 566 +Code 571 +Code des champs 572 +Procédures 572 +FEN_Choix_Dossier_Batigest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573 +Image 573 +Informations générales 573 +Informations sur les champs 575 +Code 582 +Code des champs 582 +Procédures 583 +FEN_Parametrage_ModeleRapport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584 +Image 584 +Informations générales 584 +06/08/2026 Isis_BO 6669 + +Partie 10 › Table des matières +Informations sur les champs 586 +Code 591 +Code des champs 592 +Procédures 592 +FEN_Choix_ElementModeleMail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593 +Image 593 +Informations générales 593 +Informations sur les champs 595 +Code 605 +Code des champs 607 +Procédures 607 +FEN_Maquette_checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609 +Image 609 +Informations générales 609 +Informations sur les champs 611 +Code 631 +Code des champs 633 +Procédures 634 +FEN_Agenda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635 +Image 635 +Informations générales 637 +Informations sur les champs 638 +Code 639 +FEN_Fiche_RDV_F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640 +Image 640 +Informations générales 640 +Informations sur les champs 642 +Code 686 +Code des champs 686 +Procédures 688 +FEN_Exporter_Temps_CSV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692 +Image 692 +Informations générales 692 +Informations sur les champs 694 +Messages multilingues 709 +Code 709 +Code des champs 709 +Procédures 711 +FEN_Utilitaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726 +Image 726 +Informations générales 728 +Informations sur les champs 730 +Messages multilingues 751 +Code 751 +Code des champs 752 +Procédures 755 +FEN_Question_Modif_RDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767 +06/08/2026 Isis_BO 6670 + +Partie 10 › Table des matières +Image 767 +Informations générales 767 +Informations sur les champs 769 +Code 778 +Code des champs 779 +FEN_Modification_Date_Groupe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781 +Image 781 +Informations générales 781 +Informations sur les champs 783 +Messages multilingues 807 +Code 808 +Code des champs 808 +Procédures 814 +FEN_Saisie_Temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819 +Image 819 +Informations générales 819 +Informations sur les champs 821 +Messages multilingues 843 +Code 843 +Code des champs 844 +Procédures 845 +FEN_Fiche_Parametre_Type_Activite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849 +Image 849 +Informations générales 849 +Informations sur les champs 851 +Messages multilingues 866 +Code 866 +Code des champs 867 +Procédures 869 +FEN_Fiche_Parametre_Type_temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 870 +Image 870 +Informations générales 870 +Informations sur les champs 872 +Code 904 +Code des champs 905 +Procédures 909 +FEN_Popup_Saisie_Heure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 911 +Image 911 +Informations générales 911 +Informations sur les champs 912 +Code 919 +Code des champs 920 +Procédures 921 +FEN_Popup_Saisie_Durée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 922 +Image 922 +Informations générales 922 +Informations sur les champs 923 +06/08/2026 Isis_BO 6671 + +Partie 10 › Table des matières +Code 935 +Code des champs 935 +Procédures 936 +FEN_Date_CR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938 +Image 938 +Informations générales 938 +Informations sur les champs 940 +Code 947 +Code des champs 947 +Procédures 948 +FEN_Confirmation_Suppression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 950 +Image 950 +Informations générales 950 +Informations sur les champs 952 +Code 955 +Code des champs 955 +FEN_LoginOLD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 957 +Image 957 +Informations générales 957 +Informations sur les champs 959 +Code 975 +Code des champs 975 +Procédures 977 +FEN_Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 979 +Image 979 +Informations générales 979 +Informations sur les champs 981 +Code 991 +Code des champs 992 +Procédures 993 +FEN_Parametres_Granularite_RDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996 +Image 996 +Informations générales 996 +Informations sur les champs 998 +Code 1034 +Code des champs 1035 +Procédures 1038 +FEN_Parametres_Dossier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1041 +Image 1041 +Informations générales 1041 +Informations sur les champs 1043 +Code 1051 +Code des champs 1051 +Procédures 1052 +FEN_Fiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054 +Image 1054 +Informations générales 1054 +06/08/2026 Isis_BO 6672 + +Partie 10 › Table des matières +Informations sur les champs 1056 +Code 1057 +FEN_Choix_Couleur_Param . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1058 +Image 1058 +Informations générales 1058 +Informations sur les champs 1060 +Code 1069 +Code des champs 1069 +FEN_Fiche_Parametre_Status_RDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1071 +Image 1071 +Informations générales 1071 +Informations sur les champs 1072 +Messages multilingues 1080 +Code 1080 +Code des champs 1081 +Procédures 1082 +FEN_Collaborateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1083 +Image 1083 +Informations générales 1086 +Informations sur les champs 1088 +Messages multilingues 1165 +Code 1165 +Code des champs 1166 +Procédures 1173 +FEN_Modele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1188 +Image 1188 +Informations générales 1190 +Code 1191 +FEN_ModelesChamps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1192 +Image 1192 +Informations générales 1194 +Informations sur les champs 1195 +Code 1224 +Code des champs 1224 +FEN_Choix_ContactUtilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1231 +Image 1231 +Informations générales 1231 +Informations sur les champs 1233 +Code 1244 +Code des champs 1245 +Procédures 1246 +FEN_Extraction_Donnees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1248 +Image 1248 +Informations générales 1248 +Informations sur les champs 1250 +Code 1289 +Code des champs 1289 +06/08/2026 Isis_BO 6673 + +Partie 10 › Table des matières +Procédures 1295 +FEN_Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1299 +Image 1299 +Informations générales 1299 +Informations sur les champs 1301 +Code 1308 +Code des champs 1308 +FEN_Reduire_Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1309 +Image 1309 +Informations générales 1309 +Informations sur les champs 1311 +Code 1320 +Code des champs 1321 +Procédures 1321 +FEN_TestSusana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1323 +Image 1323 +Informations générales 1323 +Informations sur les champs 1325 +Code 1327 +Code des champs 1328 +Procédures 1329 +FEN_Mot_Cle_Rapport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1349 +Image 1349 +Informations générales 1349 +Informations sur les champs 1351 +Code 1362 +Code des champs 1363 +Procédures 1364 +FEN_Liste_Rapport_Mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1365 +Image 1365 +Informations générales 1365 +Informations sur les champs 1367 +Messages multilingues 1394 +Code 1395 +Code des champs 1396 +Procédures 1399 +FEN_AGD_PL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1424 +Image 1424 +Informations générales 1424 +Informations sur les champs 1426 +Messages multilingues 1427 +Code 1427 +FEN_Choix_Clb_AGD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1428 +Image 1428 +Informations générales 1428 +Informations sur les champs 1430 +Informations sur les menus 1459 +06/08/2026 Isis_BO 6674 + +Partie 10 › Table des matières +Code 1460 +Code des champs 1460 +Procédures 1465 +FEN_Popup_Calendrier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1478 +Image 1478 +Informations générales 1478 +Informations sur les champs 1480 +Code 1494 +Code des champs 1494 +FEN_Choix_Couleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1498 +Image 1498 +Informations générales 1498 +Informations sur les champs 1500 +Code 1511 +Code des champs 1512 +Procédures 1513 +FEN_Choix_Tous_Collaborateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1515 +Image 1515 +Informations générales 1515 +Informations sur les champs 1517 +Code 1525 +Code des champs 1525 +Procédures 1525 +FEN_SlammHeures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1529 +Image 1529 +Informations générales 1529 +Informations sur les champs 1531 +Code 1532 +Code des champs 1532 +Procédures 1532 +FI_Liste_Societe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1542 +Image 1542 +Informations générales 1542 +Informations sur les champs 1543 +Messages multilingues 1564 +Code des champs 1564 +Procédures 1567 +FI_Fiche_Societe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1570 +Image 1570 +Informations générales 1571 +Informations sur les champs 1573 +Messages multilingues 1670 +Code des champs 1670 +Procédures 1686 +FI_Fiche_Personne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1693 +Image 1693 +Informations générales 1695 +06/08/2026 Isis_BO 6675 + +Partie 10 › Table des matières +Informations sur les champs 1696 +Messages multilingues 1781 +Code des champs 1782 +Procédures 1795 +FI_Liste_Personne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1802 +Image 1802 +Informations générales 1802 +Informations sur les champs 1804 +Messages multilingues 1879 +Code des champs 1879 +Procédures 1892 +FI_Fiche_Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1904 +Image 1904 +Informations générales 1906 +Informations sur les champs 1908 +Messages multilingues 2077 +Code des champs 2077 +Procédures 2110 +FI_Liste_Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2130 +Image 2130 +Informations générales 2130 +Informations sur les champs 2132 +Messages multilingues 2259 +Code des champs 2260 +Procédures 2274 +FI_Liste_Collaborateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287 +Image 2287 +Informations générales 2287 +Informations sur les champs 2288 +Messages multilingues 2313 +Code des champs 2313 +Procédures 2318 +FI_Fiche_Collaborateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2321 +Image 2321 +Informations générales 2321 +Informations sur les champs 2323 +Messages multilingues 2405 +Code des champs 2405 +Procédures 2422 +FI_Fiche_Equipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 +Image 2430 +Informations générales 2430 +Informations sur les champs 2432 +Messages multilingues 2458 +Code des champs 2458 +Procédures 2464 +FI_Liste_Equipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 +06/08/2026 Isis_BO 6676 + +Partie 10 › Table des matières +Image 2468 +Informations générales 2468 +Informations sur les champs 2469 +Messages multilingues 2486 +Code des champs 2486 +Procédures 2489 +FI_Parametrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2492 +Image 2492 +Informations générales 2492 +Informations sur les champs 2494 +Messages multilingues 2570 +Code des champs 2570 +Procédures 2579 +FI_Fiche_DossierV1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2592 +Image 2592 +Informations générales 2594 +Informations sur les champs 2596 +Messages multilingues 2632 +Code des champs 2632 +Procédures 2640 +FI_Liste_Dossier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2660 +Image 2660 +Informations générales 2660 +Informations sur les champs 2662 +Messages multilingues 2759 +Code des champs 2760 +Procédures 2771 +FI_Fiche_Lieu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2781 +Image 2781 +Informations générales 2781 +Informations sur les champs 2783 +Messages multilingues 2871 +Code des champs 2871 +Procédures 2884 +FI_Liste_Lieu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2892 +Image 2892 +Informations générales 2893 +Informations sur les champs 2894 +Messages multilingues 2983 +Code des champs 2984 +Procédures 2995 +FI_Fiche_Intervention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3007 +Image 3007 +Informations générales 3008 +Informations sur les champs 3010 +Informations sur les menus 3305 +Messages multilingues 3306 +06/08/2026 Isis_BO 6677 + +Partie 10 › Table des matières +Code des champs 3307 +Procédures 3365 +FI_Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3421 +Image 3421 +Informations générales 3422 +Informations sur les champs 3424 +Messages multilingues 3475 +Code des champs 3476 +Procédures 3487 +FI_Fiche_Rdv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3518 +Image 3518 +Informations générales 3518 +Informations sur les champs 3520 +Messages multilingues 3614 +Code des champs 3615 +Procédures 3634 +FI_Agenda3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3651 +Image 3651 +Informations générales 3652 +Informations sur les champs 3653 +Messages multilingues 3705 +Code des champs 3706 +Procédures 3719 +FI_ResultatsRecherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3757 +Image 3757 +Informations générales 3757 +Informations sur les champs 3759 +Code des champs 3802 +Procédures 3807 +FI_Fiche_Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3811 +Image 3811 +Informations générales 3811 +Informations sur les champs 3813 +Messages multilingues 3839 +Code des champs 3839 +Procédures 3844 +FI_EmailNouveau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3845 +Image 3845 +Informations générales 3845 +Informations sur les champs 3847 +Messages multilingues 3881 +Code des champs 3882 +Procédures 3889 +FI_Listing_Intervention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3897 +Image 3897 +Informations générales 3897 +Informations sur les champs 3899 +06/08/2026 Isis_BO 6678 + +Partie 10 › Table des matières +Messages multilingues 4026 +Code des champs 4027 +Procédures 4036 +FI_EmailVisualiser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4046 +Image 4046 +Informations générales 4046 +Informations sur les champs 4048 +Messages multilingues 4071 +Code des champs 4071 +FI_GalerieDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4076 +Image 4076 +Informations générales 4076 +Informations sur les champs 4078 +Messages multilingues 4088 +Code des champs 4089 +Procédures 4091 +FI_Parametres_Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4094 +Image 4094 +Informations générales 4094 +Informations sur les champs 4096 +Messages multilingues 4116 +Code des champs 4116 +FI_TdBPrincipal_IntervDuJour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4119 +Image 4119 +Informations générales 4119 +Informations sur les champs 4121 +Code des champs 4131 +Procédures 4131 +FI_TdBPrincipal_Logo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4133 +Image 4133 +Informations générales 4133 +Informations sur les champs 4135 +Code des champs 4137 +FI_TdBPrincipal_GrapheNbDossierParCateg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4138 +Image 4138 +Informations générales 4138 +Informations sur les champs 4140 +Code des champs 4143 +Procédures 4144 +FI_Rapport_Intervention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4145 +Image 4145 +Informations générales 4145 +Informations sur les champs 4147 +Code des champs 4177 +Procédures 4183 +FI_Parametrage_Email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4194 +Image 4194 +06/08/2026 Isis_BO 6679 + +Partie 10 › Table des matières +Informations générales 4194 +Informations sur les champs 4196 +Code des champs 4239 +FI_Parametrage_CategorieDoc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4244 +Image 4244 +Informations générales 4244 +Informations sur les champs 4246 +Code des champs 4247 +FI_Parametrage_Profil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4248 +Image 4248 +Informations générales 4248 +Informations sur les champs 4250 +Messages multilingues 4270 +Code des champs 4271 +FI_Saisie_Temps_Def . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4275 +Image 4275 +Informations générales 4275 +Informations sur les champs 4277 +Messages multilingues 4368 +Code des champs 4368 +Procédures 4383 +FI_RubanTT_Mails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4406 +Image 4406 +Informations générales 4406 +Informations sur les champs 4408 +Informations sur les menus 4540 +Messages multilingues 4543 +Code des champs 4544 +Procédures 4587 +FI_ModEmail_Gestion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4605 +Image 4605 +Informations générales 4605 +Informations sur les champs 4607 +Messages multilingues 4651 +Code des champs 4652 +Procédures 4655 +FI_Parametrage_Batigest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4664 +Image 4664 +Informations générales 4664 +Informations sur les champs 4666 +Code des champs 4720 +Procédures 4737 +FI_Modele_Rapport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4739 +Image 4739 +Informations générales 4739 +Informations sur les champs 4741 +Messages multilingues 4765 +06/08/2026 Isis_BO 6680 + +Partie 10 › Table des matières +Code des champs 4766 +Procédures 4770 +FI_TdBPrincipal_Collaborateur_Inactif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4772 +Image 4772 +Informations générales 4772 +Informations sur les champs 4774 +Code des champs 4793 +Procédures 4794 +FI_TdBPrincipal_RDV_Non_Positionne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4797 +Image 4797 +Informations générales 4797 +Informations sur les champs 4799 +Code des champs 4807 +Procédures 4807 +FI_TdbPrincipal_RDV_Manque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4810 +Image 4810 +Informations générales 4810 +Informations sur les champs 4812 +Code des champs 4832 +Procédures 4832 +FI_TdbPrincipal_Client_Non_Batigest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4835 +Image 4835 +Informations générales 4835 +Informations sur les champs 4837 +Code des champs 4852 +Procédures 4853 +FI_TdbPrincipal_Intervention_Non_Batigest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4855 +Image 4855 +Informations générales 4855 +Informations sur les champs 4857 +Code des champs 4873 +Procédures 4874 +FI_TdBPrincipal_DerniersClients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4877 +Image 4877 +Informations générales 4877 +Informations sur les champs 4879 +Code des champs 4888 +Procédures 4888 +FI_TdBPrincipal_DerniersClients_Suppr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4889 +Image 4889 +Informations générales 4889 +Informations sur les champs 4891 +Code des champs 4900 +Procédures 4900 +FI_Temps_Saisie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4902 +Image 4902 +Informations générales 4902 +06/08/2026 Isis_BO 6681 + +Partie 10 › Table des matières +Informations sur les champs 4904 +Messages multilingues 4997 +Code des champs 4998 +Procédures 5010 +FI_Agenda_Suivi_Temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5027 +Image 5027 +Informations générales 5029 +Informations sur les champs 5031 +Messages multilingues 5079 +Code des champs 5079 +Procédures 5087 +FI_CollaborateurListe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5099 +Image 5099 +Informations générales 5099 +Informations sur les champs 5101 +Code des champs 5117 +Procédures 5118 +FI_Liste_Client_V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5122 +Image 5122 +Informations générales 5122 +Informations sur les champs 5124 +Messages multilingues 5260 +Code des champs 5260 +Procédures 5279 +FI_AgendaPlanning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5291 +Image 5291 +Informations générales 5292 +Informations sur les champs 5293 +Messages multilingues 5314 +Code des champs 5315 +Procédures 5322 +FI_RDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5334 +Image 5334 +Informations générales 5334 +Informations sur les champs 5335 +Code des champs 5340 +Procédures 5340 +FI_Agenda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5342 +Image 5342 +Informations générales 5342 +Informations sur les champs 5344 +Messages multilingues 5362 +Code des champs 5362 +Procédures 5368 +FI_Fiche_Dossier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5376 +Image 5376 +Informations générales 5376 +06/08/2026 Isis_BO 6682 + +Partie 10 › Table des matières +Informations sur les champs 5378 +Code des champs 5412 +Procédures 5417 +FI_Vierge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5434 +Image 5434 +Informations générales 5434 +Informations sur les champs 5436 +Code des champs 5437 +FI_AG_OU_PL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5438 +Image 5438 +Informations générales 5438 +Informations sur les champs 5440 +Code des champs 5444 +Procédures 5444 +Partie 4 Modèle fenêtre WINDEV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5447 +Modèle_FenêtreSimple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5447 +Image 5447 +Informations générales 5447 +MDLC_EnteteBloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5450 +Image 5450 +Informations générales 5450 +Informations sur les champs 5451 +Partie 5 Etat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5457 +ETAT_Planning_Collaborateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5457 +Image 5457 +Informations générales 5457 +Informations sur les champs 5457 +Code 5458 +ETAT_Agenda_Collaborateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5459 +Image 5459 +Informations générales 5459 +Informations sur les champs 5460 +Code 5461 +ETAT_WinDevVueRDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5462 +Image 5462 +Informations générales 5462 +Informations sur les champs 5462 +Code 5463 +ETAT_FicheDeplacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5464 +Image 5464 +Informations générales 5464 +Informations sur les champs 5465 +Code 5468 +06/08/2026 Isis_BO 6683 + +Partie 10 › Table des matières +Code des champs 5469 +ETAT_SuivieDesTemps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5470 +Image 5470 +Informations générales 5470 +Informations sur les champs 5470 +Code 5473 +EI_CONTACT_CLIENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5474 +Image 5474 +Informations générales 5474 +Informations sur les champs 5474 +Code 5475 +ETAT_FicheIntervention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5476 +Image 5476 +Informations générales 5476 +Informations sur les champs 5477 +Code 5479 +Code des champs 5480 +ETAT_CompteRendu_Intervention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5481 +Image 5481 +Informations générales 5482 +Informations sur les champs 5482 +Code 5484 +Code des champs 5484 +EI_FOURNITURE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5485 +Image 5485 +Informations générales 5485 +Informations sur les champs 5485 +Code 5486 +EI_CONTACT_CLIENT_PETITE_FICHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5487 +Image 5487 +Informations générales 5487 +Informations sur les champs 5487 +Code 5488 +EI_CONTACT_SITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5489 +Image 5489 +Informations générales 5489 +Informations sur les champs 5489 +Code 5490 +EI_COLLAB_INTERVENTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5491 +Image 5491 +Informations générales 5491 +Informations sur les champs 5491 +Code 5492 +EI_COLLAB_RDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5493 +Image 5493 +Informations générales 5493 +06/08/2026 Isis_BO 6684 + +Partie 10 › Table des matières +Informations sur les champs 5493 +Code 5494 +EI_CONTACT_SITE_RDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5495 +Image 5495 +Informations générales 5495 +Informations sur les champs 5495 +Code 5496 +ETAT_FicheDeplacement_GAP_1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5497 +Image 5497 +Informations générales 5498 +Informations sur les champs 5498 +Code 5501 +Code des champs 5502 +ETAT_FicheDeplacement_SLAMM_1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5503 +Image 5503 +Informations générales 5503 +Informations sur les champs 5504 +Code 5507 +Code des champs 5508 +ETAT_FicheDeplacement_SLAMM_2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5509 +Image 5509 +Informations générales 5510 +Informations sur les champs 5510 +Code 5513 +Code des champs 5514 +ETAT_FicheIntervention_SLAMM_1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5515 +Image 5515 +Informations générales 5515 +Informations sur les champs 5516 +Code 5519 +Code des champs 5520 +ETAT_FicheIntervention_SLAMM_2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5521 +Image 5521 +Informations générales 5523 +Informations sur les champs 5523 +Code 5526 +Code des champs 5527 +ETAT_FicheDeplacement_SLAMM_3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5528 +Image 5528 +Informations générales 5528 +Informations sur les champs 5529 +Code 5532 +Code des champs 5532 +ETAT_FicheDeplacement_SLAMM_4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5533 +Image 5533 +Informations générales 5534 +Informations sur les champs 5534 +06/08/2026 Isis_BO 6685 + +Partie 10 › Table des matières +Code 5537 +Code des champs 5538 +ETAT_FicheIntervention_SLAMM_3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5539 +Image 5539 +Informations générales 5539 +Informations sur les champs 5540 +Code 5543 +Code des champs 5544 +ETAT_FicheIntervention_SLAMM_4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5545 +Image 5545 +Informations générales 5547 +Informations sur les champs 5547 +Code 5550 +Code des champs 5551 +ETAT_GrandeFiche2_BOUVARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5552 +Image 5552 +Informations générales 5552 +Informations sur les champs 5553 +Code 5557 +Code des champs 5557 +ETAT_PetiteFiche2_BOUVARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5558 +Image 5558 +Informations générales 5558 +Informations sur les champs 5559 +Code 5562 +Code des champs 5562 +Partie 6 Classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5564 +MBase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5564 +Messages multilingues 5564 +Code 5564 +MSociete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5573 +Code 5573 +CErreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5576 +Messages multilingues 5576 +Code 5576 +PFicheSociete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5579 +Code 5579 +MAdresse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5584 +Code 5584 +PFicheAdresse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5586 +Code 5586 +MTableauDeSociete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5588 +Code 5588 +PTableSociete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5592 +06/08/2026 Isis_BO 6686 + +Partie 10 › Table des matières +Code 5592 +MTableauDeAdresse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5595 +Code 5595 +PTableAdresse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5597 +Code 5597 +MPersonne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5599 +Code 5599 +MTableauDePersonne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5603 +Code 5603 +PTablePersonne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5614 +Code 5614 +PFichePersonne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5619 +Code 5619 +MClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5627 +Code 5627 +PFicheClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5630 +Code 5630 +MTableauDeClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5643 +Code 5643 +MClient_Adresse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5649 +Code 5649 +PFicheClient_Adresse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5651 +Code 5651 +MTableauDeClient_Adresse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5654 +Code 5654 +PTableClient_Adresse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5656 +Code 5656 +PTableClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5659 +Code 5659 +MCollaborateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5664 +Code 5664 +PFicheCollaborateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5668 +Code 5668 +MTableauDeCollaborateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5674 +Code 5674 +MSociete_Collaborateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5683 +Code 5683 +PFicheSociete_Collaborateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5685 +Code 5685 +PTableCollaborateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5688 +Code 5688 +MTableauDeSociete_Collaborateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5691 +Code 5691 +06/08/2026 Isis_BO 6687 + +Partie 10 › Table des matières +PTableSociete_Collaborateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5694 +Code 5694 +MEquipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5699 +Code 5699 +PFicheEquipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5702 +Code 5702 +MTableauDeEquipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5706 +Code 5706 +PTableEquipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5709 +Code 5709 +MEquipe_Collaborateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5712 +Code 5712 +PFicheEquipe_Collaborateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5714 +Code 5714 +MTableauDeEquipe_Collaborateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5716 +Code 5716 +PTableEquipe_Collaborateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5719 +Code 5719 +MUtilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5722 +Code 5722 +PFicheUtilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5725 +Code 5725 +MTableauDeUtilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5739 +Code 5739 +PTableUtilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5742 +Code 5742 +MLot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5746 +Code 5746 +PFicheLot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5748 +Code 5748 +MTableauDeLot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5752 +Code 5752 +PTableLot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5755 +Code 5755 +MLot_Personne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5757 +Code 5757 +PFicheLot_Personne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5758 +Code 5758 +MTableauDeLot_Personne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5760 +Code 5760 +PTableLot_Personne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5762 +Code 5762 +PTableParametreMetier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5764 +06/08/2026 Isis_BO 6688 + +Partie 10 › Table des matières +Code 5764 +MTableauDeParametreMetier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5770 +Code 5770 +PFicheParametreMetier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5773 +Code 5773 +MParametreMetier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5776 +Code 5776 +MDossier_Personne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5778 +Code 5778 +MDossier_Lieu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5780 +Code 5780 +PTableDossier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5781 +Code 5781 +MTableauDeDossier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5787 +Code 5787 +PFicheDossier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5795 +Code 5795 +MDossier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5801 +Code 5801 +MLieu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5803 +Code 5803 +PFicheLieu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5806 +Code 5806 +MTableauDeLieu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5812 +Code 5812 +PTableLieu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5819 +Code 5819 +MIntervention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5826 +Code 5826 +PFicheIntervention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5828 +Code 5828 +MTableauDeIntervention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5865 +Code 5865 +PTableIntervention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5871 +Code 5871 +MLieu_Personne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5874 +Code 5874 +PFicheLieu_Personne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5876 +Code 5876 +PFicheClient_Lieu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5880 +Code 5880 +MTableauDeLieu_Personne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5883 +Code 5883 +06/08/2026 Isis_BO 6689 + +Partie 10 › Table des matières +PTableLieu_Personne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5886 +Code 5886 +MClient_Lieu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5891 +Code 5891 +MTableauDeClient_Lieu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5893 +Code 5893 +PTableClient_Lieu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5895 +Code 5895 +MIntervention_Lot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5898 +Code 5898 +PFicheIntervention_Lot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5899 +Code 5899 +MTableauDeIntervention_Lot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5901 +Code 5901 +PTableIntervention_Lot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5903 +Code 5903 +PFicheRdv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5905 +Code 5905 +MRdv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5911 +Code 5911 +MTableauDeRDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5915 +Code 5915 +PTableRDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5921 +Code 5921 +MEtatIntervention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5924 +Code 5924 +PFicheEtatIntervention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5925 +Code 5925 +MTableauDeEtatIntervention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5928 +Code 5928 +PTableEtatIntervention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5930 +Code 5930 +MDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5933 +Code 5933 +PFicheDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5935 +Code 5935 +MTableauDeDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5937 +Code 5937 +PTableDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5947 +Messages multilingues 5947 +Code 5947 +cPressePapier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5950 +Code 5950 +06/08/2026 Isis_BO 6690 + +Partie 10 › Table des matières +MSuiviDesTemps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5956 +Code 5956 +PFicheSuiviDesTemps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5958 +Code 5958 +MMessageInterne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5961 +Code 5961 +PFicheMessageInterne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5962 +Code 5962 +MTableauDeSuiviDesTemps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5964 +Code 5964 +PTableSuiviDesTemps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5968 +Code 5968 +MTableauDeMessageInterne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5970 +Code 5970 +PTableMessageInterne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5973 +Code 5973 +MTableauDeDocumentNote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5975 +Code 5975 +MDocumentNote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5977 +Code 5977 +PTableDocumentNote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5978 +Code 5978 +PFicheDocumentNote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5980 +Code 5980 +MMessageExterne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5982 +Code 5982 +PFicheMessageExterne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5983 +Code 5983 +MTableauDeMessageExterne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5985 +Code 5985 +PTableMessageExterne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5987 +Code 5987 +MAction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5989 +Code 5989 +PFicheAction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5990 +Code 5990 +MTableauDeAction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5993 +Code 5993 +PTableAction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5995 +Code 5995 +MCheckList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5997 +Code 5997 +PFicheCheckList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5998 +06/08/2026 Isis_BO 6691 + +Partie 10 › Table des matières +Code 5998 +MTableauDeCheckList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6000 +Code 6000 +PTableCheckList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6003 +Code 6003 +MCheckList_Collab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6005 +Code 6005 +PFicheCheckList_Collab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6006 +Code 6006 +MTableauDeCheckList_Collab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6008 +Code 6008 +PTableCheckList_Collab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6010 +Code 6010 +MIntervention_Personne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6012 +Code 6012 +PFicheIntervention_Personne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6014 +Code 6014 +MTableauDeIntervention_Personne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6017 +Code 6017 +PTableIntervention_Personne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6020 +Code 6020 +MEtatFicheDeplacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6023 +Code 6023 +MIntervention_Collaborateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6026 +Code 6026 +PFicheIntervention_Collaborateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6027 +Code 6027 +MTableauDeIntervention_Collaborateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6029 +Code 6029 +PTableIntervention_Collaborateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6031 +Code 6031 +MParametreUtilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6033 +Code 6033 +PFicheParametreUtilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6034 +Code 6034 +MTableauDeParametreUtilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6036 +Code 6036 +PTableParametreUtilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6038 +Code 6038 +MPlanning_RDV_Personne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6040 +Code 6040 +PFichePlanning_RDV_Personne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6041 +Code 6041 +06/08/2026 Isis_BO 6692 + +Partie 10 › Table des matières +MTableauDePlanning_RDV_Personne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6043 +Code 6043 +PTablePlanning_RDV_Personne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6045 +Code 6045 +MEtatFicheIntervention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6047 +Code 6047 +MIntervention_ChampLibre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6049 +Code 6049 +PFicheIntervention_ChampLibre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6050 +Code 6050 +MTableauDeIntervention_ChampLibre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6052 +Code 6052 +PTableIntervention_ChampLibre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6055 +Code 6055 +MCompteRendu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6057 +Code 6057 +PFicheCompteRendu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6058 +Code 6058 +MTableauDeCompteRendu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6060 +Code 6060 +PTableCompteRendu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6062 +Code 6062 +MEtatCRIntervention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6065 +Code 6065 +MParametreApplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6066 +Code 6066 +PFicheParametreApplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6067 +Code 6067 +MTableauDeParametreApplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6069 +Code 6069 +PTableParametreApplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6071 +Code 6071 +MMailCat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6073 +Code 6073 +PF_ModeleEmail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6076 +Code 6076 +MModeleEmail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6078 +Code 6078 +MParametreMetierEntete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6081 +Code 6081 +PFicheParametreMetierEntete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6082 +Code 6082 +MTableauDeParametreMetierEntete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6084 +06/08/2026 Isis_BO 6693 + +Partie 10 › Table des matières +Code 6084 +PTableParametreMetierEntete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6086 +Code 6086 +MMailModele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6088 +Code 6088 +PFicheMailModele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6089 +Code 6089 +MTableauDeMailModele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6091 +Code 6091 +PTableMailModele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6093 +Code 6093 +C_ConnecteurBddBatigest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6095 +Code 6095 +PFicheBddExterne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6097 +Code 6097 +MBddExterne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6099 +Code 6099 +MClient_BddExterne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6100 +Code 6100 +PFicheClient_BddExterne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6101 +Code 6101 +MTableauDeClient_BddExterne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6103 +Code 6103 +PTableClient_BddExterne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6105 +Code 6105 +C_ConnecteurBatigest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6107 +Code 6107 +MIntervention_BddExt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6113 +Code 6113 +PFicheIntervention_BddExt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6114 +Code 6114 +MTableauDeIntervention_BddExt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6116 +Code 6116 +PTableIntervention_BddExt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6118 +Code 6118 +MAccesEtDroit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6120 +Code 6120 +PFicheAccesEtDroit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6121 +Code 6121 +MTableauDeAccesEtDroit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6123 +Code 6123 +PTableAccesEtDroit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6127 +Code 6127 +06/08/2026 Isis_BO 6694 + +Partie 10 › Table des matières +RapportMobile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6129 +Code 6129 +ModeleRapportMobile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6130 +Code 6130 +Partie 7 Collection de procédures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6133 +COL_COMMUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6133 +Code 6133 +COL_CONNEXION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6224 +Code 6224 +COL_DOCUMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6257 +Messages multilingues 6257 +Code 6257 +COL_IHM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6286 +Code 6286 +COL_THREAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6321 +Code 6321 +COL_TEMPORAIRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6323 +Code 6323 +COL_HFSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6326 +Code 6326 +COL_VERSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6331 +Code 6331 +COL_MOBILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6346 +Code 6346 +LIB_ModelesEmails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6348 +Code 6348 +COL_EXPORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6359 +Code 6359 +LIB_Synchro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6360 +Messages multilingues 6360 +Code 6360 +COL_JSON_INFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6379 +Code 6379 +COL_Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6401 +Code 6401 +COL_Constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6403 +Code 6403 +COL_PrefAGD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6404 +Code 6404 +COL_Visite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6407 +Code 6407 +06/08/2026 Isis_BO 6695 + +Partie 10 › Table des matières +Partie 8 Tests automatiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6411 +TEST_PFicheSociete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6411 +Code 6411 +Synthèse des résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6411 +Partie 9 Composant interne WDFAA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6413 +Informations générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6413 +Schéma des données et contextes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6413 +Liste des éléments du composant interne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6413 +Fenêtre WINDEV 6414 +WinDevDialogBox 6414 +Image 6414 +Informations générales 6414 +Informations sur les champs 6415 +Messages multilingues 6426 +Code 6427 +Code des champs 6427 +Procédures 6428 +WinDevMessageBox 6439 +Image 6439 +Informations générales 6439 +Informations sur les champs 6441 +Code 6449 +Code des champs 6451 +Procédures 6452 +FI_WinDevFAA_RubanTT 6455 +Image 6455 +Informations générales 6455 +Informations sur les champs 6457 +Informations sur les menus 6590 +Messages multilingues 6593 +Code des champs 6594 +Procédures 6637 +FI_WinDevVueRDV 6655 +Image 6655 +Informations générales 6655 +Informations sur les champs 6656 +Code des champs 6662 +06/08/2026 Isis_BO 6696 \ No newline at end of file diff --git a/docs/DEPLOIEMENT_API_LANGUES.md b/docs/DEPLOIEMENT_API_LANGUES.md new file mode 100644 index 0000000..1554b47 --- /dev/null +++ b/docs/DEPLOIEMENT_API_LANGUES.md @@ -0,0 +1,638 @@ +# Marche à suivre — Mise en production API de téléchargement des langues (modèles ONNX) + +> **Objet** : procédure **complète** de mise en production de l'**API dédiée** de +> téléchargement des **modèles de langue ONNX** (traduction hors-ligne pour le +> mobile). Cette API est un **service Windows séparé** (`OmikaLanguesApi`, projet +> `src/Omika.Langues.Api`), distinct d'`OmikaApi`. Elle sert au mobile les fichiers +> de modèle + un manifeste versionné, **en accès anonyme** (fichiers génériques, +> aucune donnée client). L'**URL de base reste lue en base** (`ParametreSysteme` +> `PAS_Code = 'SRV_LANGUES'`) par `OmikaApi`, qui l'expose au bootstrap mobile. +> +> **Cible** : Windows Server `SRV-OMIKA`, PowerShell **administrateur**, runtime +> .NET 10. Aucune base de données, aucune authentification, aucun service externe. +> +> Ce document **complète** `T15-RUNBOOK-DEPLOIEMENT-PRODUCTION.md` et +> `MISE_EN_PRODUCTION_DIAGNOSTICS_V2.md` : il ne couvre que le **service Langues**. +> `OmikaApi` garde uniquement la lecture `SRV_LANGUES` → `LanguesUrl` au bootstrap. + +--- + +## 0. Vue d'ensemble de l'API Langues + +| Composant | Rôle | Référence | +|---|---|---| +| `Omika.Langues.Api` | **Service dédié** : endpoints `GET /api/langues*` (manifeste + streaming). | Windows Service `OmikaLanguesApi` | +| `Omika.Core` | `LanguageModelService` (lecture manifeste + résolution fichier) + `LanguageModelOptions` + contrats partagés. | — | +| `Langues:RootPath` | Dossier racine des modèles + du manifeste. | variable d'env. `Langues__RootPath` | +| `ParametreSysteme.SRV_LANGUES` | URL de base du service Langues, lue par `OmikaApi`. | HFSQL (Omika **et** Batik) | + +Flux : + +``` +1. GET /api/mobile/bootstrap ──> OmikaApi lit SRV_LANGUES ──> LanguesUrl (→ URL du service Langues) +2. GET {LanguesUrl}/api/langues ──> manifeste (packs + fichiers + sha256) [anonyme] +3. GET {LanguesUrl}/api/langues/{code}/{sens}/{fichier} ──> streaming (reprise) [anonyme] +``` + +- `SRV_LANGUES` absent/vide → `LanguesUrl = null` → le mobile désactive la + traduction hors-ligne (aucun appel, aucun plantage). +- Les textes à traduire ne sortent **jamais** de l'appareil : traduction 100 % + locale une fois le modèle téléchargé. + +--- + +## 1. Ce qui a changé + +1. **Nouveau service dédié** `OmikaLanguesApi` (`src/Omika.Langues.Api`) : les + endpoints langues ne sont **plus** dans `OmikaApi`. +2. **Accès anonyme** : aucun token requis (les modèles sont des fichiers génériques). +3. **Nouvelle section de configuration** : `Langues` (`RootPath`, `ManifestFileName`), + portée par le service `OmikaLanguesApi`. +4. **`OmikaApi`** ne conserve que la lecture `SRV_LANGUES` → `MobileConfigurationDto.LanguesUrl`. +5. **Nouveaux fichiers à déployer sur disque** : `manifest.json` + modèles ONNX + (jamais embarqués dans l'APK/IPA ni dans un binaire). + +> Le **client de téléchargement ONNX côté mobile** (téléchargement, reprise, +> vérification SHA-256, stockage local) relève d'un **ticket ultérieur** : ce +> document ne couvre que le **serveur** (service Langues + exposition `SRV_LANGUES`). + +--- + +## 2. Prérequis + +### Poste DEV (publication) +```powershell +cd D:\Avalonia\Omika +dotnet --version # SDK 10 (global.json épingle 10.0.302) +git pull # branche à jour +``` + +### SRV-OMIKA (PowerShell administrateur) +```powershell +net session # OK sinon STOP +dotnet --list-runtimes # Microsoft.AspNetCore.App 10.x +Get-Service OmikaApi # Running (bootstrap métier) +Test-Path 'C:\Omika\Data' # dossier de données (langues) +``` + +> `OmikaLanguesApi` **n'a besoin d'aucun accès HFSQL** : uniquement du dossier de +> fichiers `Langues:RootPath`. + +--- + +## 3. Publication (poste DEV) + +```powershell +cd D:\Avalonia\Omika + +# Omika.Api (métier : lit SRV_LANGUES → LanguesUrl ; endpoints langues retirés) +dotnet publish src\Omika.Api\Omika.Api.csproj ` + -c Release -r win-x64 --self-contained false -o C:\Omika\Deploy\OmikaApi-next + +# Omika.Langues.Api (NOUVEAU service dédié) +dotnet publish src\Omika.Langues.Api\Omika.Langues.Api.csproj ` + -c Release -r win-x64 --self-contained false -o C:\Omika\Deploy\LanguesApi-next +``` + +**Contrôles** : chaque dossier contient son `.exe` ; `appsettings.Development.json` +absent ; aucun secret Dev dans les publications. + +Transférer `OmikaApi-next` et `LanguesApi-next` vers `C:\Omika\Deploy\` sur SRV-OMIKA. + +--- + +## 4. Base HFSQL — paramètre `SRV_LANGUES` + +`OmikaApi` lit l'URL depuis la table `ParametreSysteme` (schéma Omika **et** Batik — +rubriques `PAS_Code` / `PAS_Valeur`, groupe `ProtectionPlus`). + +| Rubrique | Valeur | +|---|---| +| `PAS_Code` | `SRV_LANGUES` | +| `PAS_Description` | ex. « URL du service de téléchargement des modèles de langue » | +| `PAS_Valeur` | URL de base du **service Langues**, **sans slash final** | + +Exemples de `PAS_Valeur` (pointe vers le service `OmikaLanguesApi`) : + +- Production derrière Apache (vhost/hôte dédié) : `https://langues.applilogik.fr` +- Chemin dédié derrière l'Apache existant : `https://omika.applilogik.fr/langues` +- API interne directe : `https://omika-langues.local:8443` + +> Le slash final est toléré (l'API le normalise), mais **ne pas le mettre** évite +> toute ambiguïté. La valeur doit être une URL **HTTPS** joignable par le mobile. + +**Écriture** : même mécanisme que `SRV_LICENCE_MOBILE` existant — côté WinDev +`ParametreSystemeEcrit("SRV_LANGUES", "<url>")`, ou insertion/UPDATE direct via +l'outil de gestion HFSQL. La valeur n'est **jamais** codée en dur dans l'application. + +--- + +## 5. Fichiers modèles + manifeste (sur disque) + +### 5.1 Arborescence sous `RootPath` + +``` +Langues/ +├── manifest.json +├── es/ +│ ├── versFrancais/ +│ │ ├── encoder.onnx +│ │ └── vocab.spm +│ └── depuisFrancais/ +│ ├── encoder.onnx +│ └── vocab.spm +├── pt/ +│ ├── versFrancais/... +│ └── depuisFrancais/... +└── ar/ ... +``` + +- `{code}` : code ISO de la langue (`es`, `pt`, `ar`, `ru`, `pl`, …). +- `{sens}` : **deux valeurs canoniques** uniquement : + - `versFrancais` → langue secondaire → français (dictée, avant insertion) ; + - `depuisFrancais` → français → langue secondaire (lecture, affichage seul). + +### 5.2 Fichier `manifest.json` (clés en camelCase) + +```json +{ + "packs": [ + { + "code": "es", + "libelle": "Espagnol", + "version": "1.0.0", + "fichiers": [ + { + "sens": "versFrancais", + "nomFichier": "encoder.onnx", + "tailleOctets": 122000000, + "sha256": "a1b2c3d4...<empreinte hexadécimale SHA-256>" + }, + { + "sens": "versFrancais", + "nomFichier": "vocab.spm", + "tailleOctets": 804000, + "sha256": "e5f6a7b8..." + }, + { + "sens": "depuisFrancais", + "nomFichier": "encoder.onnx", + "tailleOctets": 122000000, + "sha256": "11121314..." + } + ] + } + ] +} +``` + +- `url` n'est **pas** à renseigner : l'API la construit + (`/api/langues/{code}/{sens}/{nomFichier}`). +- `tailleOctets` = taille réelle en octets (progression mobile). +- `sha256` = empreinte SHA-256 **hexadécimale** (intégrité). + +### 5.3 Générer les empreintes SHA-256 (PowerShell) + +```powershell +Get-FileHash -Algorithm SHA256 .\es\versFrancais\encoder.onnx | + ForEach-Object { $_.Hash.ToLowerInvariant() } +``` + +### 5.4 Générer le manifeste (script — recommandé) + +`tailleOctets` et `sha256` sont des valeurs **mesurées sur les fichiers**, jamais +saisies à la main : une empreinte fausse ou absente ne se voit **que sur le +téléphone**, où le pack est refusé sans qu'aucune erreur ne remonte au serveur. + +```powershell +# Écrit <RootPath>\manifest.json depuis les fichiers réellement présents +.\infra\deploy\New-OmikaLanguesManifeste.ps1 -RootPathLangues C:\Omika\Data\Langues + +# Contrôle après chaque ajout/remplacement de modèle : code 1 au moindre écart +.\infra\deploy\New-OmikaLanguesManifeste.ps1 -Verifier +``` + +- La racine par défaut est lue dans `Langues__RootPath` (MACHINE) : le manifeste + est donc écrit **là où l'API le lit** (§6). +- Le script **refuse d'écrire** (code 1) un manifeste vide, et signale en clair + un code de langue invalide, un dossier de sens inconnu, un fichier absent, une + taille ou une empreinte divergente. Ces cas produisent sinon un pack + **silencieusement ignoré** (code invalide) ou **refusé** (empreinte) par le + mobile. +- `-Verifier` ne demande aucun droit administrateur : c'est le contrôle à passer + dans la foulée de toute livraison de modèle. +- `-WhatIf` affiche le manifeste qui serait écrit, sans rien modifier. + +> Le format de §5.2 reste la référence ; le script ne fait que le remplir avec +> des valeurs exactes. À noter : le mobile compare `sens` de façon **sensible à +> la casse** (`versFrancais` / `depuisFrancais`) — le script normalise cette +> casse et le signale s'il la corrige. + +--- + +## 6. Configuration serveur (`Langues`) + +Règle : en variable d'environnement, `:` devient `__` +(`Langues:RootPath` ⇔ `Langues__RootPath`). +Toute modification d'une variable du service exige un **redémarrage** d'`OmikaLanguesApi`. + +| Variable | Défaut | Rôle | +|---|---|---| +| `Langues__RootPath` | `<dossier de l'application>\Langues` | Dossier racine des modèles + manifeste | +| `Langues__ManifestFileName` | `manifest.json` | Nom du fichier manifeste | +| `ASPNETCORE_URLS` | `http://localhost:5000` | Adresse/port d'écoute Kestrel (HTTP loopback derrière Apache) | +| `ASPNETCORE_ENVIRONMENT` | `Production` | Environnement (recommandé) | + +> Le défaut de `RootPath` est le **dossier de l'application** (résolu via +> `AppContext.BaseDirectory`), jamais le répertoire de travail courant — un service +> Windows démarre dans `C:\Windows\System32`, ce qui rendrait ce dernier inutilisable. +> +> **Recommandation production** : fixer `Langues__RootPath` sur **`C:\Omika\Data\Langues`** +> (cohérent avec les autres données sous `C:\Omika\Data`). Ne **jamais** placer les +> modèles dans `C:\Omika\Apps\LanguesApi` : ils seraient écrasés à chaque +> redéploiement (voir §7.4). +> +> **Port** : voir **§6bis** — le port n'est **pas** imposé par ce document et ne +> doit **jamais** être repris d'un exemple : il se décide contre le plan de ports +> Apache, une fois, et s'écrit ensuite partout à l'identique. + +--- + +## 6bis. Choix du port loopback (à décider AVANT §7.5bis) + +**Aucun port n'est fixé par ce document.** La convention Apache/Kestrel du parc +`omika.applilogik.fr` n'est **pas consignée dans le dépôt** : elle ne peut donc pas +être devinée ici. Elle doit être relevée sur le serveur, puis appliquée. + +Ports déjà connus du dépôt — à ne **pas** réutiliser : + +| Port | Service | Source | +|---|---|---| +| 5097 | `Omika.Api` (développement) | `docs\start_omika_test.ps1` | +| 5098 | `Omika.Diagnostics.Api` | `DEPLOIEMENT_PRODUCTION_DIAGNOSTICS.md` §4 | +| 5080 | `Omika.Diagnostics.Web` | `DEPLOIEMENT_PRODUCTION_DIAGNOSTICS.md` §4 | +| 5000 | Kestrel par défaut (si `ASPNETCORE_URLS` absente) | — | + +### Procédure (à exécuter sur le serveur) + +```powershell +# <PORT_LANGUES> : à remplacer par le port candidat avant exécution. +$portLangues = <PORT_LANGUES> + +# 1. Le port candidat est-il déjà en écoute ? +Get-NetTCPConnection -LocalPort $portLangues -State Listen -ErrorAction SilentlyContinue | + Select-Object LocalAddress,LocalPort,OwningProcess + +# 2. Tranches réservées par Hyper-V / WSL / Docker (elles peuvent être n'importe où) +netsh int ipv4 show excludedportrange protocol=tcp + +# 3. Plage éphémère Windows : le port fixe doit rester EN DESSOUS +netsh int ipv4 show dynamicport tcp + +# 4. Ports Omika réellement en écoute (vue d'ensemble) +Get-NetTCPConnection -State Listen | Where-Object LocalPort -in 5097,5098,5080,$portLangues +``` + +### Critères d'acceptation du port + +1. **Libre** : aucune écoute sur `127.0.0.1` (étapes 1 et 2). +2. **Hors plage éphémère** : en dessous de la borne basse de l'étape 3 + (49152 par défaut) — sinon une socket sortante peut le préempter. +3. **Conforme au plan Apache** : le vhost proxy doit pointer vers **ce** port. +4. **Un seul chiffre dans tout le déploiement** : `ASPNETCORE_URLS`, `ProxyPass` et + `SRV_LANGUES` doivent décrire le même service. Une divergence produit un routage + silencieux vers le mauvais service (404, ou réponse d'un autre service). + +> **Sécurité** : Kestrel reste lié à `127.0.0.1` (HTTP), jamais à `0.0.0.0`. +> L'exposition publique se fait **uniquement** en HTTPS par le reverse proxy Apache. +> Le numéro choisi n'a aucune incidence sur ce point : c'est l'adresse de liaison +> qui protège le service, pas le port. + +--- + +## 7. Marche à suivre détaillée (fenêtre de maintenance) + +### 7.1 Audit (lecture seule) + +```powershell +Get-Service OmikaLanguesApi -ErrorAction SilentlyContinue | Select-Object Name,Status +[Environment]::GetEnvironmentVariable('Langues__RootPath','Machine') +Test-Path 'C:\Omika\Data\Langues\manifest.json' +``` + +### 7.2 Backup des binaires et des données (AVANT remplacement) + +```powershell +$stamp = Get-Date -Format 'yyyyMMdd-HHmmss' +$root = 'C:\Omika\Backups' +# Binaires : seulement s'ils existent déjà +if (Test-Path 'C:\Omika\Apps\LanguesApi') { + Copy-Item 'C:\Omika\Apps\LanguesApi' -Destination "$root\LanguesApi_${stamp}" -Recurse -Force +} +if (Test-Path 'C:\Omika\Apps\OmikaApi') { + Copy-Item 'C:\Omika\Apps\OmikaApi' -Destination "$root\OmikaApi_${stamp}" -Recurse -Force +} +# Données langues : seulement si le dossier existe déjà +if (Test-Path 'C:\Omika\Data\Langues') { + Copy-Item 'C:\Omika\Data\Langues' -Destination "$root\Langues_${stamp}" -Recurse -Force +} +``` + +### 7.3 Arrêt des services + +```powershell +Stop-Service OmikaLanguesApi -Force -ErrorAction SilentlyContinue +Stop-Service OmikaApi -Force +Get-Service OmikaApi,OmikaLanguesApi | Select-Object Name,Status +``` + +### 7.4 Copie des binaires (préserve la config serveur existante) + +```powershell +robocopy 'C:\Omika\Deploy\OmikaApi-next' 'C:\Omika\Apps\OmikaApi' /E /XF appsettings.json appsettings.Production.json web.config +robocopy 'C:\Omika\Deploy\LanguesApi-next' 'C:\Omika\Apps\LanguesApi' /E /XF appsettings.json appsettings.Production.json web.config +``` + +> Ne **jamais** supprimer : `C:\Omika\Config\**`, `C:\Omika\Data\**` (dont +> `C:\Omika\Data\Langues\**`), certificats TLS, variables d'environnement MACHINE. + +### 7.5 Création du service `OmikaLanguesApi` (NOUVEAU — premier déploiement) + +Le service se crée par le **script dédié** (recommandé : idempotent, vérifie le +compte, le droit de connexion et la disponibilité du port, prend en charge +`-WhatIf` et `-Desinstaller`) : + +```powershell +cd C:\Omika\Deploy\Deploy +.\Install-OmikaLanguesApi.ps1 -Port <PORT_LANGUES> +``` + +> Le script résout le compte, pose les ACL (**lecture seule** sur les modèles), +> vérifie que `<PORT_LANGUES>` est réellement libre, puis crée le service +> `OmikaLanguesApi` (Manual, non démarré). Il n'écrit **aucune** variable +> d'environnement : la configuration reste l'étape §7.5bis ci-dessous. + +Équivalent manuel (si vous préférez ne pas utiliser le script) : + +```powershell +$cred = Get-Credential -UserName '.\svc_omika_langues' -Message 'Compte service OmikaLanguesApi' +New-Service -Name 'OmikaLanguesApi' -DisplayName 'Omika Langues Api' ` + -BinaryPathName '"C:\Omika\Apps\LanguesApi\Omika.Langues.Api.exe"' ` + -Credential $cred -StartupType Manual + +# ACL sur le dossier des modèles (lecture seule suffit) +icacls 'C:\Omika\Data\Langues' /grant:r "$env:COMPUTERNAME\svc_omika_langues:(OI)(CI)R" +``` + +> Le compte dédié doit avoir le droit « Ouvrir une session en tant que service » +> (le script le vérifie et avertit si le droit manque — erreur 1069 au démarrage). +> +> **Prérequis binaire** : le service doit embarquer `UseWindowsService()`. Sans +> lui, il démarre puis s'arrête aussitôt avec l'erreur **1053** (« le service n'a +> pas répondu à temps »). C'est le cas depuis l'ajout de +> `Microsoft.Extensions.Hosting.WindowsServices` à `Omika.Langues.Api`. +> +> `infra\deploy\Install-OmikaServices.ps1` couvre désormais ce service, via +> l'option `-InclureLangues` (voir §11). + +### 7.5bis Configuration du service (variables d'environnement MACHINE) + +**Premier déploiement uniquement** : poser la configuration en variables +d'environnement **MACHINE** (le robocopy §7.4 a exclu `appsettings.json`, donc le +service démarre sans fichier de config). Toute modification exige ensuite un +**redémarrage** du service. + +```powershell +# <PORT_LANGUES> : port décidé en §6bis — NE PAS copier une valeur d'exemple. +$portLangues = <PORT_LANGUES> + +[Environment]::SetEnvironmentVariable('Langues__RootPath', 'C:\Omika\Data\Langues', 'Machine') +[Environment]::SetEnvironmentVariable('ASPNETCORE_URLS', "http://127.0.0.1:$portLangues", 'Machine') +[Environment]::SetEnvironmentVariable('ASPNETCORE_ENVIRONMENT', 'Production', 'Machine') + +# Contrôle +[Environment]::GetEnvironmentVariable('Langues__RootPath', 'Machine') +[Environment]::GetEnvironmentVariable('ASPNETCORE_URLS', 'Machine') +``` + +> - `Langues__RootPath` : **obligatoire** en production (défaut = dossier de +> l'application, qui serait écrasé au prochain déploiement). +> - `ASPNETCORE_URLS` : port loopback **explicite**, décidé en **§6bis** (ne jamais +> recopier un exemple : le port se déduit du plan Apache, pas de ce document). +> Sans cette variable, Kestrel écoute `http://localhost:5000`. +> - Le reverse proxy Apache expose ensuite ce port en **HTTPS** ; `SRV_LANGUES` +> pointe sur l'URL publique (voir §4 et §7.5ter). + +### 7.5ter Exposition HTTPS par le reverse proxy Apache + +Le service écoute en HTTP sur `127.0.0.1` : il est inatteignable depuis un +téléphone. L'exposition se fait dans le vhost 443 **existant**. + +`SRV_LANGUES` décrit l'**URL de base** seule : le mobile construit ensuite +`{base}/api/langues` puis `{base}/api/langues/{code}/{sens}/{fichier}` +(`LanguagePackService.ConstruireUrl`, qui concatène — un chemin dans la base est +donc conservé). Pour `SRV_LANGUES = https://omika.applilogik.fr/langues`, Apache +doit donc **retirer** le préfixe `/langues` avant de transmettre au service : + +```apache + # C:\Apache24\conf\extra\httpd-ssl.conf — dans le <VirtualHost ...:443> + # Service Langues : /langues/api/langues -> http://127.0.0.1:5099/api/langues + ProxyPass /langues/ http://127.0.0.1:5099/ + ProxyPassReverse /langues/ http://127.0.0.1:5099/ + ProxyPass /langues http://127.0.0.1:5099/ + ProxyPassReverse /langues http://127.0.0.1:5099/ +``` + +Puis : + +```powershell +& C:\Apache24\bin\httpd.exe -t # doit dire « Syntaxe OK » +Restart-Service <service Apache> +``` + +Contrôles (le `--resolve` évite le DNS : depuis le serveur, le nom public résout +souvent vers une IP externe qui ne revient pas sur la machine) : + +```powershell +$U = 'https://omika.applilogik.fr' +$C = @('--resolve','omika.applilogik.fr:443:127.0.0.1','-k','-s','-o','NUL','-w','%{http_code}\n') + +curl.exe @C "$U/langues/api/langues" # 200 +curl.exe @C "$U/langues/api/langues/gl/commun/vocab.json" # 200 +curl.exe @C "$U/health" # 200 : API métier intacte + +$j = (curl.exe -k -s --resolve omika.applilogik.fr:443:127.0.0.1 "$U/langues/api/langues") -join '' +($j | ConvertFrom-Json).packs.Count # 31 +``` + +> - **Le préfixe `/langues` n'est pas décoratif** : la règle existante +> `ProxyPass /api/ http://127.0.0.1:5080/api/` capte `/api/langues` et +> l'envoie à l'API métier, qui ne sert plus les langues (404). Un préfixe +> dédié évite de toucher à cette règle métier et de dépendre de l'ordre des +> `ProxyPass`. +> - Variante vhost dédié (`https://langues.applilogik.fr`) : la règle devient +> `ProxyPass /api/langues http://127.0.0.1:5099/api/langues` (sans préfixe à +> retirer), et `SRV_LANGUES = https://langues.applilogik.fr`. +> - `$U/langues` seul répond `404` du service : il n'y a pas de route `/`, c'est +> normal et sans conséquence (le mobile n'appelle que les chemins `/api/...`). +> - Un `404` sur `$U/langues/api/langues` signifie que la règle n'a pas été +> chargée (fichier non réécrit, ou Apache non rechargé) — ce n'est pas un +> problème de service : `http://127.0.0.1:5099/api/langues` reste alors `200`. + +### 7.6 Déploiement des fichiers modèles + manifeste + +**Procédure complète : `LIVRAISON_MODELES_LANGUES.md`** (obtention des modèles, +arborescence, dépôt, génération du manifeste, contrôles). Résumé : + +```powershell +$root = 'C:\Omika\Data\Langues' +New-Item -ItemType Directory -Force -Path $root | Out-Null + +# 1. Copier UNIQUEMENT les dossiers de langue {code}\ (pas de manifest.json +# préparé ailleurs : il dépend des fichiers réellement présents ici) +robocopy 'C:\Omika\Deploy\Langues\es' "$root\es" /E /R:2 /W:2 + +# 2. GÉNÉRER le manifeste sur le serveur (taille + SHA-256 de chaque fichier) +cd C:\Omika\Deploy\Deploy +.\New-OmikaLanguesManifeste.ps1 + +# 3. Contrôler +.\New-OmikaLanguesManifeste.ps1 -Verifier +``` + +> Le manifeste n'est **jamais** recopié d'une autre machine : il contient la +> taille et l'empreinte SHA-256 des fichiers de **ce** disque. Un manifeste +> provenant d'ailleurs fait refuser chaque pack par le mobile, sans aucune +> erreur côté serveur. +> +> Le manifeste et les fichiers modèles sont relus à chaque requête : **aucun +> redémarrage n'est nécessaire**. Le mobile, lui, garde son index mémorisé : +> il faut « Actualiser la liste » dans Paramètres → Langue secondaire. + +### 7.7 Création / mise à jour du paramètre `SRV_LANGUES` (HFSQL) + +Écrire la ligne `ParametreSysteme` (voir §4) si elle n'existe pas, en pointant vers +l'URL du service Langues. Aucun redémarrage requis : relue à chaque bootstrap mobile. + +### 7.8 Redémarrage (consommateurs avant producteurs) + +```powershell +Start-Service OmikaLanguesApi # 1. service Langues (d'abord, car appelé par le mobile) +Start-Service OmikaApi # 2. API métier (expose LanguesUrl) +Get-Service OmikaApi,OmikaLanguesApi | Select-Object Name,Status +``` + +--- + +## 8. Smoke tests + +> **Accès anonyme** : aucun token requis — les réponses sont directes. +> `<PORT_LANGUES>` = le port décidé en **§6bis** et posé en §7.5bis (aucun exemple +> n'est fourni ici : recopier un chiffre d'exemple est précisément l'erreur à éviter). + +```powershell +# Racine du service +Invoke-WebRequest 'http://127.0.0.1:<PORT_LANGUES>/' -UseBasicParsing # 200 {status:ok} + +# Manifeste +$manifest = Invoke-RestMethod 'http://127.0.0.1:<PORT_LANGUES>/api/langues' +$manifest.packs | Select-Object code,libelle,version + +# Téléchargement d'un fichier (valide le streaming + la résolution) +Invoke-WebRequest 'http://127.0.0.1:<PORT_LANGUES>/api/langues/es/versFrancais/encoder.onnx' ` + -OutFile "$env:TEMP\encoder.onnx" +Get-Item "$env:TEMP\encoder.onnx" | Select-Object Name,Length # taille = tailleOctets + +# Cas d'erreur attendu +Invoke-WebRequest 'http://127.0.0.1:<PORT_LANGUES>/api/langues/es/versFrancais/absent.onnx' -SkipHttpErrorCheck +# → 404 +``` + +Vérifier aussi côté métier : après un bootstrap mobile, `LanguesUrl` vaut bien +l'URL du service Langues (pas `null`). + +--- + +## 9. Mise à jour (ajout de langue / nouvelle version de modèle) + +### 9.1 Ajouter une nouvelle langue + +1. Déposer les fichiers sous `C:\Omika\Data\Langues\{code}\versFrancais\` et + `{code}\depuisFrancais\`. +2. Ajouter l'objet `pack` dans `manifest.json` (avec `version`, `tailleOctets`, `sha256`). +3. **Aucun redémarrage** : le manifeste est relu à chaque `GET /api/langues`. + +### 9.2 Mettre à jour un modèle existant + +1. Remplacer le(s) fichier(s) `.onnx` / `.spm` sous `{code}\{sens}\`. +2. Recalculer `tailleOctets` et `sha256` (§5.3). +3. **Incrémenter `version`** du pack (ex. `1.0.0` → `1.0.1`). + +> Le mobile compare `version` (et `sha256`) entre son modèle local et le manifeste +> serveur pour décider du re-téléchargement : tant que `version` et `sha256` sont +> inchangés, le mobile considère son modèle à jour. + +### 9.3 Retirer une langue + +1. Supprimer l'objet `pack` de `manifest.json`. +2. Optionnel : supprimer le dossier `{code}` de `C:\Omika\Data\Langues`. + +--- + +## 10. Rollback + +- **Binaires** : restaurer `C:\Omika\Backups\LanguesApi_<stamp>` (arrêt → copie → + démarrage §7.8). Idem `OmikaApi_<stamp>` si besoin. +- **Fichiers langues** : restaurer `C:\Omika\Backups\Langues_<stamp>` (simple copie, + aucune migration à annuler). +- **Paramètre HFSQL** : remettre l'ancienne valeur de `PAS_Valeur` (ou vider + `SRV_LANGUES` → `LanguesUrl = null` → la fonctionnalité est désactivée côté mobile). + +--- + +## 11. Écarts constatés (scripts/documents à mettre à jour) + +1. ~~**`infra\deploy\Install-OmikaServices.ps1`** : ne crée **pas** le service + `OmikaLanguesApi` ni ses ACL.~~ **RÉSOLU** : `infra\deploy` contient désormais + **un script par déploiement** (`Install-OmikaApi.ps1`, `Install-OmikaWorker.ps1`, + `Install-OmikaDiagnosticsApi.ps1`, `Install-OmikaDiagnosticsWorker.ps1`, + `Install-OmikaDiagnosticsWeb.ps1`, `Install-OmikaLanguesApi.ps1`) partageant le + module `Omika.Deploy.Common.psm1`. `Install-OmikaServices.ps1` devient un + orchestrateur qui les enchaîne, avec `-InclureLangues` pour le service Langues. + Le service embarque aussi `UseWindowsService()` (sans lui : erreur 1053 au + démarrage). +2. **`infra\deploy\Install-OmikaServerFiles.ps1`** : ne copie **pas** la publication + `LanguesApi` ni le dossier de livraison des modèles — à livrer séparément + (§3, §7.6). La livraison des modèles (obtention, arborescence, manifeste, + contrôles) est décrite pas à pas dans `LIVRAISON_MODELES_LANGUES.md`, et le + manifeste se génère avec `infra\deploy\New-OmikaLanguesManifeste.ps1` (§5.4). +3. **`Omika.slnx`** ne référence **pas** `Omika.Langues.Api` (comme les projets + Diagnostics) : on publie le `.csproj` directement. +4. **Client mobile** : le téléchargement des modèles est **implémenté** côté + application (voir `TRADUCTION_HORS_LIGNE_MOBILE.md`). Le **moteur d'inférence + ONNX Runtime reste à activer** (paquet NuGet optionnel, un symbole de + compilation) : sans lui, l'application télécharge et vérifie les modèles, + mais annonce la traduction comme indisponible au lieu d'échouer. +5. **Plan de ports Apache/Kestrel : non consigné dans le dépôt.** Les seuls ports + connus sont ceux de `DEPLOIEMENT_PRODUCTION_DIAGNOSTICS.md` §4 (5097, 5098, + 5080), qui y sont eux-mêmes donnés comme « à définir / à confirmer » en + production. Aucun document ne fixe le port de `OmikaLanguesApi` : il se décide + sur le serveur (§6bis). Tant que ce plan n'existe pas par écrit, **tout port cité + en exemple dans un runbook doit être traité comme un espace réservé à + remplacer**, jamais comme une valeur à recopier. + +--- + +## 12. Récapitulatif des points de configuration + +1. **Base HFSQL** : ligne `ParametreSysteme` `PAS_Code = 'SRV_LANGUES'` → URL du service Langues. +2. **Service `OmikaLanguesApi`** : variables MACHINE `Langues__RootPath` → `C:\Omika\Data\Langues` **et** `ASPNETCORE_URLS` → `http://127.0.0.1:<PORT_LANGUES>` (port décidé en **§6bis**, posé §7.5bis). +3. **Fichiers** : arborescence `{code}/{sens}/{fichier}` sous `RootPath`, puis + `manifest.json` **généré** par `New-OmikaLanguesManifeste.ps1` (§5.4) — jamais + saisi à la main. +4. **Binaires** : `Omika.Langues.Api` (nouveau) + `Omika.Api` (republication). +5. **Accès** : anonyme — aucun token, aucun accès HFSQL. +6. **Mise à jour** : ajouter/remplacer les fichiers puis regénérer le manifeste ; + **aucun redémarrage** du service n'est requis (il relit le manifeste à chaque + appel de `GET /api/langues`). Le mobile, lui, garde son index mémorisé : il + faut un rafraîchissement de la liste des langues pour voir le changement. diff --git a/docs/DEPLOIEMENT_PRODUCTION_DIAGNOSTICS.md b/docs/DEPLOIEMENT_PRODUCTION_DIAGNOSTICS.md new file mode 100644 index 0000000..36d711b --- /dev/null +++ b/docs/DEPLOIEMENT_PRODUCTION_DIAGNOSTICS.md @@ -0,0 +1,446 @@ +# Déploiement Production — Diagnostics multi-serveurs (T19/T20) + +> Statut : préparation (aucun déploiement réel effectué). Document de référence pour le +> futur déploiement contrôlé du Diagnostic Center central et de l'API métier/mobile chez +> chaque client. Aucune valeur de secret (clé, mot de passe) n'est contenue ici. + +--- + +## 1. Responsabilités des composants (§30) + +| Composant | Rôle | Installation | +|---|---|---| +| **Omika.Api** | API métier/mobile installée **chez chaque client** (licence, bootstrap, métier, `POST /api/diagnostics`). Le mobile ne connaît QUE cette API. | Serveur du client | +| **Omika.Diagnostics.Api** | API **centrale**, installée **uniquement sur le serveur Omika**. Reçoit les lots des serveurs clients (`POST /api/v1/diagnostics/batches`), authentifie (ClientCode + ApiKey), impose le ClientCode authentifié, écrit le spool central. Aucune logique métier. | Serveur central Omika | +| **Omika.Diagnostics.Worker** | Import du spool central JSONL → PostgreSQL (`diagnostic_event`). Déduplication par `event_id`. | Serveur central Omika | +| **Omika.Diagnostics.Web** | Interface de consultation/administration (Dashboard, Diagnostics, Erreurs, Télémétrie, Référentiel, **Clients Diagnostics**, Système). | Serveur central Omika | + +Le **mobile** ne connaît jamais `Omika.Diagnostics.Api/Worker/Web`, ni PostgreSQL Diagnostics, ni aucune +clé central. Le **serveur client** ne connaît jamais la ConnectionString PostgreSQL centrale +(§43) : seul le composant central autorisé détient cette configuration. + +--- + +## 2. Architecture de flux + +``` +APPAREILS MOBILES ──HTTPS──▶ SERVEUR DU CLIENT + Omika.Api (+ Omika.Worker métier) + └─▶ Spool local borné (DiagnosticsForwarding.Spool) + └─▶ DiagnosticsForwarder (BackgroundService dans Omika.Api) + └─ HTTPS ──▶ SERVEUR OMIKA CENTRAL + Omika.Diagnostics.Api + └─▶ Spool central (Diagnostics:Central) + └─▶ Omika.Diagnostics.Worker + └─▶ PostgreSQL omika_diagnostics + └─▶ Omika.Diagnostics.Web +``` + +--- + +## 3. Services Windows cibles (§51) + +### Serveur client +- `OmikaApi` (process Omika.Api ; contient le forwarder de diagnostics — **aucun service dédié**). +- `OmikaWorker` (Worker de synchronisation métier, service réel existant). +- API Licence / service existant (inchangé). + +### Serveur central Omika +- `OmikaDiagnosticsApi` (API centrale, Kestrel). +- `OmikaDiagnosticsWorker` (import JSONL → PostgreSQL). +- `OmikaDiagnosticsWeb` (interface, Kestrel derrière reverse proxy Apache). +- PostgreSQL (`omika_diagnostics`). + +Les noms de services sont posés par les scripts d'activation serveur (`sc.exe` / `New-Service`) +et doivent correspondre aux valeurs `UseWindowsService(...)` du code. + +--- + +## 4. Ports (§52) + +| Service | Port local Développement | Port Production (à confirmer selon convention existante) | +|---|---|---| +| Omika.Api (client) | 5097 | défini par `Kestrel:Endpoints` / `appsettings.Production.json` (loopback derrière Apache) | +| Omika.Diagnostics.Api (central) | 5098 | à définir (loopback Kestrel derrière Apache/HTTPS) | +| Omika.Diagnostics.Web (central) | 5080 | à définir (loopback Kestrel derrière Apache/HTTPS) | +| PostgreSQL | 5432 | 5432 (loopback central uniquement) | + +**Règle** : les services web sont exposés en **HTTPS** via le reverse proxy Apache ; Kestrel reste +en HTTP sur loopback. Aucun port n'est choisi arbitrairement : la convention Apache/Kestrel +existante de `omika.applilogik.fr` s'applique. + +--- + +## 5. HTTPS (§37/§38) + +- Le flux **serveur client → API centrale** est **HTTPS uniquement** en Production. +- `DiagnosticsForwarding:Endpoint` doit être une URL **`https://…`**. +- **Règle T20** : si l'environnement est **Production** et que l'Endpoint est en **`http://`**, + le forwarder **refuse l'envoi** (log explicite une fois), le **métier continue** (fail-open), + le spool local est conservé. `Omika.Api` n'est **jamais** arrêté à cause de Diagnostics. +- Le certificat TLS réel n'est **pas** configuré dans ce document (à poser sur le reverse proxy). + +--- + +## 6. Configuration Omika.Api (§31/§32/§33/§34/§35) + +Section `DiagnosticsForwarding` (dans `src/Omika.Api/appsettings.json`, surchargée par variables +d'environnement / `appsettings.Production.json` **non versionné**) : + +| Clé | Défaut | Rôle | +|---|---|---| +| `DiagnosticsForwarding:Enabled` | `false` | Kill switch. **`DiagnosticsForwarding__Enabled=true` uniquement lors du déploiement serveur client.** | +| `DiagnosticsForwarding:Endpoint` | `""` | URL centrale absolue **HTTPS** (ex. `https://…/api/v1/diagnostics/batches`). Laisser vide tant qu'aucune URL réelle. | +| `DiagnosticsForwarding:ApiKey` | `""` | **Secret** à installer sur le serveur client via `DiagnosticsForwarding__ApiKey`. Jamais dans Git/log/rapport. | +| `DiagnosticsForwarding:TimeoutSeconds` | `10` | Timeout réseau d'un envoi (le forwarder est background : jamais de blocage métier). | +| `DiagnosticsForwarding:BatchSize` | `100` | Événements max par lot. | +| `DiagnosticsForwarding:MaxBatchBytes` | `524288` | Taille max d'un lot (premier seuil). | +| `DiagnosticsForwarding:RetryInitialSeconds` | `15` | Backoff initial. | +| `DiagnosticsForwarding:RetryMaxMinutes` | `30` | Plafond du backoff. | +| `DiagnosticsForwarding:Spool:MaxFileSizeMb` | `10` | Rotation de fichier. | +| `DiagnosticsForwarding:Spool:MaxTotalSizeMb` | `1024` | Quota disque total. | +| `DiagnosticsForwarding:Spool:RetentionDays` | `14` | Rétention. | + +Le défaut `Enabled=false` est **volontaire** (sécurité, opt-in). Aucun placeholder fictif +(`https://diagnostics.exemple.fr`) ne doit devenir une valeur réelle accidentellement. + +--- + +## 7. Configuration Omika.Diagnostics.Api (§36) + +Section `Diagnostics` (dans `src/Omika.Diagnostics.Api/appsettings.json`, surchargée par variables) : + +| Clé | Défaut | Rôle | +|---|---|---| +| `ConnectionStrings:DiagnosticsDatabase` (ou `Diagnostics:ConnectionString`) | `""` | PostgreSQL central (secret, injecté serveur). | +| `Diagnostics:Central:Directory` | `logs/diagnostics-central` | **Spool central** — en Production, chemin explicite (voir §9). | +| `Diagnostics:Central:MaxRequestBodyBytes` | `524288` | Corps de requête borné. | +| `Diagnostics:Central:MaxEventsPerBatch` | `100` | Événements max par lot. | +| `Diagnostics:Central:SchemaVersion` | `1` | Version de schéma de transport. | + +URL/port : via `ASPNETCORE_URLS` (ou `Kestrel:Endpoints`) derrière le reverse proxy HTTPS. + +--- + +## 8. Spool client — emplacement Production (§40) + +Le service Windows peut démarrer depuis `C:\Windows\System32` : **ne jamais dépendre du current +working directory**. Utiliser un chemin explicite configurable : + +``` +C:\ProgramData\Omika\Diagnostics\Spool +``` + +(via `Observability:Remote:Directory` / `DiagnosticsForwarding` — à poser dans la configuration +serveur client). Le quota (`MaxTotalSizeMb`) et la rétention (`RetentionDays`) évitent un +remplissage disque : à quota atteint, les fichiers les plus anciens sont supprimés (log du +nombre), jamais le fichier actif, jamais d'échec métier. + +--- + +## 9. Spool central — emplacement Production (§41) + +Même réflexion pour `Omika.Diagnostics.Api` : + +``` +C:\ProgramData\Omika\Diagnostics\Central +``` + +(via `Diagnostics:Central:Directory`). Le Worker central lit ce dossier (import JSONL → PostgreSQL, +checkpoint `import-checkpoint.json`). + +--- + +## 10. Permissions Windows (§42) + +Principe de moindre privilège (jamais Administrateur inutilement) : + +| Compte service | Dossier | Droits | +|---|---|---| +| `OmikaApi` | `C:\ProgramData\Omika\Diagnostics\Spool` | lecture + écriture | +| `OmikaDiagnosticsApi` | `C:\ProgramData\Omika\Diagnostics\Central` | lecture + écriture | +| `OmikaDiagnosticsWorker` | `C:\ProgramData\Omika\Diagnostics\Central` | lecture (checkpoint → écriture du checkpoint selon le dossier) | + +--- + +## 11. PostgreSQL (§43/§54) + +- Base dédiée `omika_diagnostics`. PostgreSQL **ne doit jamais être exposé** aux serveurs clients : + seuls les composants centraux autorisés y accèdent (firewall : loopback central uniquement). +- Rôles : voir migrations `003`/`004`/`009`/`010` (`omika_diagnostics_owner`, `_worker`, `_web`, `_api`). + - `omika_diagnostics_api` (LOGIN) : **Omika.Diagnostics.Api** — `SELECT` + `UPDATE(last_seen_at_utc)` sur `diagnostics_clients` uniquement. **Aucun** droit sur `diagnostics_users`. + - `omika_diagnostics_web` (LOGIN) : **Omika.Diagnostics.Web** — `SELECT` sur `diagnostic_event` ; `SELECT`/`INSERT`/`UPDATE` sur `diagnostics_clients` (admin `/Clients`) ; `SELECT`/`INSERT`/`UPDATE` (colonnes `password_hash`, `role`, `enabled`, `updated_at_utc`, `password_changed_at_utc`, `last_login_at_utc`) + `USAGE` séquence sur `diagnostics_users` (admin `/Users` + login). + - `omika_diagnostics_worker` (LOGIN) : **Omika.Diagnostics.Worker** — `INSERT`/`SELECT`/`DELETE` sur `diagnostic_event` ; **aucun** droit sur `diagnostics_clients` ni `diagnostics_users`. +- Le serveur client **NE DOIT PAS** connaître la ConnectionString PostgreSQL centrale. + +--- + +## 12. Migrations — inventaire (§44/§45/§46) + +Ordre d'application sur le serveur central : `001 → 002 → 003 → 004 → 005 → 006 → 007 → 008 → 009 → 010`. + +| Fichier | But | Développement appliqué ? | Production nécessaire ? | +|---|---|---|---| +| `001_diagnostics_schema.sql` | `diagnostic_event` + `telemetry_metric_hourly` + index + déduplication `event_id`. | Oui | Oui | +| `002_actor_key.sql` | Colonnes `actor_key`/`actor_key_version` (HMAC pseudonymisation). | Oui | Oui | +| `003_diagnostics_roles.sql` | Rôles/grants serveur (`owner`/`worker`/`web`), moindre privilège. | **Non** (à exécuter sur le serveur PostgreSQL Production, en superuser) | Oui | +| `004_diagnostics_retention.sql` | Grant `SELECT, DELETE` au worker pour la rétention bornée. | **Non** (idem, serveur Production) | Oui | +| `005_diagnostics_client_context.sql` | Colonnes `client_code`/`server_instance`/`environment`. | Oui | Oui | +| `006_diagnostics_device_license.sql` | Colonnes appareil/licence. | Oui | Oui | +| `007_diagnostics_usage.sql` | Colonnes `screen_code`/`feature_code`. | Oui | Oui | +| `008_diagnostics_clients.sql` | Table `diagnostics_clients` (registre des serveurs clients, hash SHA-256). | Oui | Oui | +| `009_diagnostics_clients_grants.sql` | Ownership + GRANT moindre privilège de `diagnostics_clients` (`_api`/`_web`), rôle `omika_diagnostics_api`. | **Non** (serveur PostgreSQL Production, superuser) | Oui | +| `010_diagnostics_web_users.sql` | Table `diagnostics_users` (utilisateurs Web) + ownership `omika_diagnostics_owner` + GRANT moindre privilège `_web` uniquement (aucun droit API/Worker). | **Non** (serveur PostgreSQL Production, superuser) | Oui | + +**003/004/009/010** : contiennent des `CREATE ROLE` / `ALTER ROLE` / `GRANT` au niveau **serveur/instance**. +Elles ne sont **pas** appliquées sur le PC de développement (elles exigent le superuser PostgreSQL +Production et fixent les comptes de service). Elles devront être exécutées **sur le serveur +PostgreSQL Production**, dans l'ordre, **avant** le pointage des comptes de service +Worker/Web/Api (`omika_diagnostics_worker` / `omika_diagnostics_web` / `omika_diagnostics_api`), +puis les mots de passe posés manuellement (`\password`, jamais dans un script/log). +Ne pas les exécuter localement « pour du vert ». + +> **T22** : `008` crée `diagnostics_clients` **après** `003`/`004`, donc sans ownership ni GRANT +> applicatif. `009` transfère la propriété à `omika_diagnostics_owner` (même propriétaire logique +> que `diagnostic_event`/`telemetry_metric_hourly`), crée le rôle `omika_diagnostics_api` (absent du +> modèle `003`), et pose les GRANT minimum identifiés par l'audit des consommateurs réels : +> API = `SELECT` + `UPDATE(last_seen_at_utc)` ; Web = `SELECT`/`INSERT`/`UPDATE(enabled, api_key_hash, +> key_prefix, key_created_at_utc)` + `USAGE` séquence ; Worker = aucun. `009` est idempotent +> (re-exécutable sans erreur) et utilise `current_database()` pour `GRANT CONNECT` (portable, +> testé sur `omika_diagnostics_preprod`). + +--- + +## 13. Authentification ApiKey — audit final (§55/§56) + +- Clé : **32 octets aléatoires**, **Base64Url**, préfixe **`omkdiag_`**. +- Stockage : **SHA-256 hexadécimal (64)** uniquement (`diagnostics_clients.api_key_hash`) + `key_prefix`. +- Vérification : `CryptographicOperations.FixedTimeEquals` ; hash factice si client inconnu (anti-timing). +- **401** : client inconnu OU mauvaise clé (indistinguables). **403** : client désactivé. +- **Tenant autoritaire** : tout ClientCode payload ≠ authentifié → **400** + anomalie (jamais de confiance au payload). +- Réponses sans fuite : jamais de hash, de clé, de stacktrace, ni l'existence précise d'un client. + +--- + +## 14. Procédure — nouveau client Production (§73) + +1. `Omika.Diagnostics.Web` → **Clients Diagnostics** (Admin). +2. **Nouveau client**. +3. Saisir le **CodeClient exact** (ex. `BATIK.01`, normalisé `UPPER(TRIM)`). +4. **Créer le client** → la clé est générée. +5. **Copier immédiatement** la clé (bouton « Copier »). +6. Installer la clé sur le serveur client : variable `DiagnosticsForwarding__ApiKey`. +7. Configurer `DiagnosticsForwarding__Endpoint` (URL centrale **HTTPS**). +8. Activer : `DiagnosticsForwarding__Enabled=true`. +9. Redémarrer `OmikaApi`. +10. Vérifier `last_seen_at_utc` dans Clients Diagnostics. +11. Vérifier un diagnostic réel (Dashboard / Diagnostics). + +--- + +## 15. Clé perdue (§74) + +La clé **n'est pas récupérable** (hash seul stocké). Si elle n'a pas été copiée : +faire **Régénérer la clé**, puis mettre à jour le serveur client avec la nouvelle clé. + +--- + +## 16. Rotation de clé (§75) + +Version V1 : **régénération → ancienne clé immédiatement invalide**. Pendant l'intervalle où le +serveur client n'a pas encore la nouvelle clé, les envois échouent en `401` et le **spool local +s'accumule** (backlog borné, reprise automatique). Acceptable. + +--- + +## 17. Panne centrale (§76) + +- **Ne pas arrêter** `OmikaApi` (le métier continue). +- **Ne pas vider** le spool manuellement (les événements seront renvoyés). +- Vérifier l'espace disque (quota/rétention bornent le spool). +- Vérifier les logs du forwarder. +- Attendre le rétablissement : reprise automatique (backoff borné 15 s → 30 min). + +--- + +## 18. Disque spool (§77) + +- `MaxTotalSizeMb` (défaut 1024) : quota disque total ; à dépassement, suppression des fichiers + les plus anciens (jamais le fichier actif, log du nombre supprimé). +- `RetentionDays` (défaut 14) : purge des fichiers plus anciens. +- `MaxFileSizeMb` (défaut 10) : rotation de fichier. +- **Fail-open absolu** : aucune de ces opérations ne bloque le métier. + +> **Validation empirique T22** (pipeline réel, panne centrale simulée) : +> - Quota `MaxTotalSizeMb=1` : 6000 événements fake (~3,6 Mo) → `DiagnosticsForwarder a abandonné +> 14 fichier(s) de spool`, spool final 768 Ko (≤ 1 Mo), fichier actif préservé, `/health` 200 +> (aucun crash métier), Working Set stable ~115–125 Mo (backlog sur disque ≠ RAM). +> - Rétention `RetentionDays=1` : fichier ancien (-2 j) supprimé, fichier récent + fichier actif +> conservés, central DOWN pendant tout le test (la maintenance ne dépend pas du central). +> - **Correctif T22** : `EnforceBounds` (quota/rétention) était appelé uniquement quand le spool +> était vide ; pendant une panne centrale (backlog jamais vide), le quota n'était donc pas +> appliqué. Il est désormais appelé à chaque passe du forwarder, indépendamment du backlog. +> Test : `ForwardOnce_BacklogOverQuota_StillEnforcesBounds`. + +--- + +## 19. Ordre de démarrage (reprise/rollback) + +**Démarrage central** : PostgreSQL → `OmikaDiagnosticsWorker` → `OmikaDiagnosticsApi` → +`OmikaDiagnosticsWeb`. + +**Démarrage client** : `OmikaWorker` (métier) → `OmikaApi` (métier + forwarder). + +**Rollback** : `DiagnosticsForwarding__Enabled=false` + redémarrage `OmikaApi` coupe immédiatement +tout envoi central sans toucher au métier ni au spool (aucune perte de données). + +--- + +## 20. Dépendance SQLite (mobile / Desktop local) + +> Mise à jour **T22** — audit + correctif CVE. + +- **Version retenue** : `Microsoft.Data.Sqlite 10.0.10` (inchangé) + **`SQLitePCLRaw` 2.1.12** + épinglé transitivement (`Directory.Packages.props`, `CentralPackageTransitivePinningEnabled=true`). +- **Raison** : `SQLitePCLRaw.lib.e_sqlite3 2.1.11` (transitif de `Microsoft.Data.Sqlite 10.0.10`) + embarque une bibliothèque SQLite native < 3.50.2, vulnérable à **CVE-2025-6965 / + GHSA-2m69-gcr7-jv3q** (troncature d'entier dans `findOrCreateAggInfoColumn`, `resolve.c`). + Correctif = SQLite native **3.50.2**, livré par le patch **2.1.12** (famille 2.x, drop-in, + ABI-compatible). **Pas** de saut vers SQLitePCLRaw 3.x (breaking) ni vers + `Microsoft.Data.Sqlite 11` (majeur). +- **Projets concernés** : `Omika.App.Local` (offline-first : cache métier, brouillons, sync, + `DiagnosticOutboxSqliteStore`) → `Omika.App` → têtes `Omika.App.Desktop` / `Omika.App.Android` / + `Omika.App.iOS`. Aucun impact sur `Omika.Api`, `Omika.Worker` ni les projets Diagnostics. +- **Validation** : + - `dotnet restore` OK ; `dotnet list package --include-transitive --vulnerable` → + **« aucun package vulnérable »** ; arbre confirmé `SQLitePCLRaw.* = 2.1.12`. + - Tests SQLite/Outbox ciblés : **148/148**. + - Builds Release : `Omika.App.Desktop` 0 erreur, `Omika.App.Android` 0 erreur. + - `Omika.App.Desktop` (Debug, flux dev) démarré réellement : ouverture `omika.db` OK + + bootstrap `DEV BOOTSTRAP` OK (aucun crash SQLite). + +> **Surface réellement exposée** : la vulnérabilité nécessite une requête SQL construite avec un +> nombre extrême de termes d'agrégation ; Omika n'exécute que des requêtes applicatives fixes et +> paramétrées (jamais de SQL utilisateur), sur une base **locale** non accessible à distance. Le +> correctif 2.1.12 est néanmoins appliqué (moindre coût, aucun risque de régression constaté). + +--- + +## 21. Gestion des utilisateurs Diagnostics.Web (T23) + +### 21.1 Distinction fondamentale + +| Concept | Définition | Identifiant | Stockage | +|---|---|---|---| +| **Utilisateur Diagnostics** | personne qui ouvre `Omika.Diagnostics.Web` | `username` | `diagnostics_users` (hash PBKDF2-SHA256) | +| **Client Diagnostics** | serveur client qui envoie des événements | `ClientCode` | `diagnostics_clients` (hash SHA-256) | + +Les deux registres sont **totalement séparés** et ne doivent jamais être confondus. + +### 21.2 Modèle utilisateur + +- Table `diagnostics_users` (migration `010`) : `id`, `username` (unique, insensible à la casse), + `password_hash`, `role` (`Support` / `Admin`), `enabled`, `created_at_utc`, `updated_at_utc`, + `password_changed_at_utc`, `last_login_at_utc`. +- **Aucun mot de passe en clair** : seule la colonne `password_hash` existe. Le hash est produit + par `DiagnosticPasswordHasher` (PBKDF2-SHA256, 100 000 itérations, sel aléatoire). +- **Aucune suppression physique** (V1) : un utilisateur est **désactivé** (`enabled=false`), jamais `DELETE`. + +### 21.3 Rôles + +| Rôle | Accès | +|---|---| +| **Support** | Dashboard, Diagnostics, Erreurs, Traces, Synchronisation, Telemetry, Parc, Versions, Référentiel, Mon compte. | +| **Admin** | Tout Support + **Clients Diagnostics** + **Utilisateurs** + **Système**. | + +`/System`, `/Clients` et `/Users` sont **Admin uniquement**. Un Support y obtient un refus +(redirection `/AccessDenied`). Un Admin conserve tous les droits de consultation Support. + +### 21.4 Actions d'administration (`/Users`, Admin uniquement) + +- **Création** : saisie `username` + `password` + `confirmation` + `rôle`. Le Web hache + automatiquement (`DiagnosticPasswordHasher.Hash`) ; l'Admin ne génère/copie **jamais** un hash. +- **Désactivation / Réactivation** (`enabled=false/true`). +- **Changement de rôle** `Support → Admin` / `Admin → Support`. +- **Réinitialisation du mot de passe** (nouveau mot de passe + confirmation → hash + UPDATE). + +### 21.5 Protections + +- **Dernier Admin** : impossible de désactiver ou rétrograder le dernier Admin actif + (« Impossible de retirer le dernier administrateur actif. »). +- **Auto-désactivation** : un Admin ne peut pas désactiver son propre compte. +- **Auto-rétrogradation** : un Admin ne peut pas retirer son propre rôle Admin. + +### 21.6 Règles de validation + +- **Username** : obligatoire, `trim`, unicité insensible à la casse, borné (≤ 64), caractères + `lettres / chiffres / . / - / _`. +- **Mot de passe** : non vide, **≥ 12 caractères**, confirmation identique. Pas de politique de + complexité superflue (V1). + +### 21.7 Connexion (login hybride) + +1. Si le `username` existe dans `diagnostics_users` → la DB est **autoritaire** (jamais de fallback). + - Vérification PBKDF2 (`DiagnosticPasswordHasher.Verify`) ; `enabled=false` → refus. +2. Sinon → fallback opérateurs `DiagnosticsAuth:Operators` (bootstrap temporaire). +3. Message d'échec **générique** : « Identifiants invalides. » (jamais « inconnu » / « désactivé » / « mauvais mot de passe »). + +- `last_login_at_utc` est mis à jour (best-effort) après un login DB réussi. +- Anti-bruteforce léger (in-memory, mono-instance) : 5 échecs / 5 min → blocage 10 min + (clé = username + IP). Aucun Redis, aucune session distribuée. +- Anti-timing : hash factice calculé quand le username est inconnu (même principe que l'ApiKey). +- Cookie : `HttpOnly`, `SameSite=Lax`, `Secure=Always` hors Développement, expiration 12 h + (glissante). Production = HTTPS. +- Un utilisateur désactivé avec un cookie existant est re-déconnecté à la prochaine + re-vérification DB (fréquence bornée ~60 s, cache mémoire mono-instance) ; au pire ~1 minute + de grâce, jamais « plusieurs jours ». + +### 21.8 « Mon compte » (`/Account`) + +- Tout utilisateur authentifié peut changer **son propre** mot de passe : + `mot de passe actuel` (vérifié réellement) + `nouveau` + `confirmation`. En cas de mot de passe + actuel faux → refus **sans** modifier le hash. +- Les opérateurs bootstrap (configuration) ne peuvent pas changer leur mot de passe ici. + +--- + +## 22. Bootstrap du premier Admin Production (T23) + +Production démarre **sans** utilisateur DB. Conserver la possibilité de configurer +temporairement un opérateur bootstrap (`DiagnosticsAuth:Operators`) pour créer le premier Admin DB. + +### 22.1 Générer le hash bootstrap (hors ligne, pas d'endpoint Web) + +Outil console dédié (jamais un endpoint Web anonyme) : + +``` +dotnet run --project tools/Omika.DiagnosticHashTool -- "<mot-de-passe-bootstrap>" +# ou, pour éviter de laisser le mot de passe dans l'historique du shell : +dotnet run --project tools/Omika.DiagnosticHashTool -- --stdin +``` + +> ⚠️ Le **mot de passe** bootstrap ne doit **jamais** être dans Git, dans le rapport, ni dans un +> `appsettings` versionné. Seul le **hash** est placé dans la configuration / le secret store +> Production. + +### 22.2 Procédure premier déploiement (12 étapes) + +1. Déployer `Omika.Diagnostics.Web` (services + reverse proxy HTTPS, cf. §3-§5). +2. Configurer **temporairement** l'opérateur bootstrap Admin (hash seulement) : + `DiagnosticsAuth__Operators__0__Username` / `...__PasswordHash` / `...__Roles__0=Admin`. +3. Démarrer le service `OmikaDiagnosticsWeb`. +4. Se connecter avec l'opérateur bootstrap. +5. Aller sur **`/Users`**. +6. Créer l'**Admin DB permanent** (username + mot de passe + rôle `Admin`). +7. Se **déconnecter**. +8. Tester le login avec l'**Admin DB** (plus le bootstrap). +9. **Retirer** l'opérateur bootstrap de la configuration (`DiagnosticsAuth:Operators = []`). +10. Redémarrer le service `OmikaDiagnosticsWeb`. +11. Confirmer que le **bootstrap est refusé** (login → « Identifiants invalides. »). +12. Confirmer que l'**Admin DB fonctionne** (Dashboard / Diagnostics / Clients / Users). + +### 22.3 Installation Production neuve + +Si PostgreSQL Diagnostics Production est créé **de zéro** : appliquer **`001 → 010`** dans l'ordre +(jamais uniquement les dernières). Si une installation existe déjà : appliquer **uniquement les +migrations manquantes**, dans l'ordre. diff --git a/docs/Documentation_Service.md b/docs/Documentation_Service.md new file mode 100644 index 0000000..b777d62 --- /dev/null +++ b/docs/Documentation_Service.md @@ -0,0 +1,11286 @@ +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 | +| ---------- | ---------------- | --- | \ No newline at end of file diff --git a/docs/Documentation_WebService_GET.md b/docs/Documentation_WebService_GET.md new file mode 100644 index 0000000..1fe8751 --- /dev/null +++ b/docs/Documentation_WebService_GET.md @@ -0,0 +1,11825 @@ +DOCUMENTATION +TECHNIQUE +DU PROJET +Batik_WS_Com_Mob +12/08/2026 + +Partie 1 › Projet +Partie 1 +Projet +| 12/08/2026 | Batik_WS_Com_Mob | 2 | +| ---------- | ---------------- | --- | + +Partie 1 › Projet +Projet +Informations générales +Batik_WS_Com_Mob +Répertoire D:\Projets Windev\Batik\Nouvelle Version\WebService\Batik_WS_Com_Mob +Analyse associée D:\Projets Windev\Batik\Nouvelle +Version\WebService\Batik_WS_Com_Mob\WS_SYNCHRO.ana\WS_SYNCHRO.wda +Gabarit 190 Gensteel +Projet +Liste des éléments du projet +Nom Libellé +FEN_Connexion +FEN_Log +FEN_Principal +LIB_COMMUNE +LIB_DEBUG +LIB_EXE +LIB_GENERALE +LIB_GestionTableParamètres +LIB_ProcéduresGlobales +LIB_ProcéduresGlobales2 +LIB_Structures +LIB_Traitements +LIB_WS +LIB_WS_MOB +WS_COM_MOBILE +WS_LICENCE +Statistiques +Nombre de fenêtres : 3 +Nombre de collections de procédures : 11 +12/08/2026 Batik_WS_Com_Mob 3 + +Partie 1 › Projet › Code +Projet +Code +Initialisation de Batik_WS_Com_Mob +CONSTANT +gcVersionWS ="Prod.A.002" +//Pensez à incrémenter cette constante à chaque déploiement +gcCLE_HASH_PASS ="MQC256Eex949eGgo" +gcCLE_CRYPT_TOKEN ="mtS321WdQ280Lysz" +gcPASS_FICHIERS ="marakech" +gcPasErreur ="0" +gcErreur_MauvaisToken ="401" +gcErreur_ParamIncorrect ="501" +gcErreur_Interne ="999" +Mdp1 = "62" +Mdp2 = "Langénieux" +Mdp3 = "eBdFfDxVfB" +//Constantes utilisées dans l'application mobile +cDoc_Brouillon = 0 +cDoc_AEnvoyer = 1 +cDoc_ARecevoir = 3 +cDoc_Synchronisé = 5 +cDoc_ASupprimer = 6 +cDoc_ErreurSync = 7 +//Commande utilisée par le mobile pour communiquer avec le WebService +// Commandes interprétées par le service +cCMD_ListeDocDmd = "S.DOC.LS" +cCMD_DocRpRecup = "S.DRpRc.EC" +cCMD_DocEcrit = "S.DOC.EC" +sCMD_DocSupprime = "S.DOC.SU" +cCMD_DocNoteEcrit = "S.DNT.EC" +cCMD_DocNoteSupprime = "S.DNT.SU" +cCMD_NoteEcrit = "S.NTE.EC" +cCMD_NoteSupprime = "S.NTE.SU" +cCMD_TempsEcrit = "S.TPS.EC" +cCMD_TempsEcrit_V2 = "S.TPS.EC.V2" +cCMD_TempsSupprime = "S.TPS.SU" +cCMD_CREcrit = "S.RPT.EC" +cCMD_CREcrit_V2 = "S.RPT.EC.V2" +cCMD_CRSupprime = "S.RPT.SU" +cCMD_RdvEcrit = "S.RDV.EC" +cCMD_RdvSupprime = "S.RDV.SU" +cCMD_RdvAPlanifierEcrit = "S.RDV.PL" +cCMD_RDVValidation = "S.RDV.V" +cCMD_RDVAnnulation = "S.RDV.ANN" +12/08/2026 Batik_WS_Com_Mob 4 + +Partie 1 › Projet › Code +cCMD_ParamAppliEcrit = "S.PRM.EC" +cCMD_MsgExtEcrit = "S.MSGEXT.EC" +//Commandes interprétées par le WebService +cCMD_RecupImgRapport ="W.IMG.Sauve" +cCMD_RechercheRDV ="W.RDV.RC" +cCMD_ListeRDV ="W.RDV.LS" +cCMD_ListeRDV_V2 ="W.RDV.LS.V2" +cCMD_LitINTER ="W.INT.LI" //Récupère le contenu d'une intervention +cCMD_LitINTER_V2 ="W.INT.LI.V2" +cCMD_ListeNonPlanifié="W.NPL.LS" +cCMD_ListeDOC ="W.DOC.LS" +cCMD_ListeTEMPS ="W.TPS.LS" +cCMD_LitParam ="W.PRM.LI" +cCMD_LitParam_V2 ="W.PRM.LI.V2" //Lit les paramètres métiers +cCMD_LitContexte ="W.CTX.LI" //Lit le contexte utilisateur +cCMD_IdClbRdvDroitC ="W.IDCLB.PL.D" +cCMD_ListeRDV_Clb ="W.RDV.Clb" +cCMD_ListeCh_Rapport ="W.INT.Ch.Rp" // liste des champs rapport +cCMD_Creation_Rapport="W.INT.Cr.Rp" // Création d'un rapport +cCMD_Cr_Structure_Mail ="W.INT.Cr.ME" // Création d'un email a partir d'un modèle +cCMD_ListeCh_Mail = "W.INT.Ch.ME" // liste des champs Modele Mail +cCMD_Envoyer_Mail = "W.INT.Cr.ME.EXT" // Envoie et création de message externe +//Paramètres +cParam_Mobile_Fonction_Recherche = "MOB_FONC_RECHERCHE" +cParam_Mobile_Saisie_Temps = "MOB_SAISIE_TEMPS" +cParam_Mobile_Rapport_Vers_Temps = "MOB_RAPPORT_VERS_TEMPS" +cParam_Mobile_Inter_Non_Planifiées = "MOB_INTER_NON_PLANIFIEES" +cParam_Mobile_NiveauTrace = "MOB_NIVEAU_TRACE" +cParam_Mobile_ChangeDateRDV = "MOB_CHANGER_DATE_DRV" +// Raport mobile +cRp_Inter = "INTER" +cRp_Dossier = "DOSSIER" +cRp_Client = "CLIENT" +cRp_CtSite = "CONTACT_SITE" +cRp_CR = "CR_INTER" +cRp_CtDonneurs = "DONNEURS_ORDRE" +cRp_Photo = "PHOTO_INTER" +cRp_RDV = "RDV_INTER" +cRp_Extra = "EXTRA" +cBufferHorsSer = "BufferHorsSerealisation" +cRubriquesModeleMail = "RubriquesModeleMail" +cCorpsModeleMail = "CorpsModeleMail" +NBPixelesXMilimetres = 3.7795275591 +cParam_Civilite = "T.CV" +cParam_TypeRDV = "T.RDV" +cParam_StatusRDV = "S.RDV" +cParam_TypeInter = "T.INTER" +cParam_EtatInter = "E.INTER" +cParam_TypeDossier = "T.DOSS" +cParam_StatutDossier = "S.DOSS" +cParam_TypeClient = "T.CL" +cParam_StatutClient = "S.CL" +cParam_ApportClient = "T.APPOR.CL" +cParam_ApportOrigClient = "O.CL" +cParam_ModeReglClient = "M.REG" +cParam_TypeAction = "T.ACT" +12/08/2026 Batik_WS_Com_Mob 5 + +Partie 1 › Projet › Code +cParam_TypeSignCR = "T.SIGN" +cParam_RoleContact = "R.CT" +cParam_LigneRqSql = "L.RQ.SQL" +cParam_PeriodeRqSql = "P.RQ.SQL" +cParam_OrigAnnuRDV = "O.ANU.RDV" +cParam_MotifAnnuRDV = "M.ANU.RDV" +cParam_TypeDoc = "T.DOC" +cParam_EtatDoc = "E.DOC" +cparam_TypeLieu = "T.LIEU" +cparam_TypeTemps = "T.TEMPS" +cparam_TypeAdresse = "T.ADR" +cParam_ListeRapportMob = "Rapport_Mob" +cParam_ListeMailModele = "Mail_Modele" +cCle_RDVFait = "S.RDV.FAIT" +cCle_RDVAnnule = "S.RDV.ANNU" +cCle_RDVInter = "T.RDV.INTER" +cCle_RDVAPlanifier = "S.RDV.PLNF" +cCle_RDVConfirme = "S.RDV.CONF" +cCle_DossierAnnule = "S.DOSS.ANNU" +cCle_DossierOuvert = "S.DOSS.OUVT" +cCle_ClientParticulier = "T.CL.PRT" +cCle_CiviliteMadame = "T.CV.MME" +cCle_TypeDocRapport = "T.DOC.RAPPRT" +cCle_TypeDocImg = "T.DOC.PHOT" +cCle_TypeDocAutre = "T.DOC.AUTRE" +cCle_TypeDocNull = "T.DOC.NULL" +cCle_TypeDocMsgExt = "T.DOC.MSG.EXT" +cCle_TypeDocBatigest = "T.DOC.BTGEST" +cCle_TypeTempsGlobal = "T.TEMPS.GLB" +cCle_TypeTempsNull = "T.TEMPS.NULL" +cCle_TypeTempsNonAffecte = "T.TEMPS.TMPSNNFF" +cCle_TypeTempsInter = "T.TEMPS.INTER" +cCle_NumLigneReq200 = "L.RQ.SQL.200" +cCle_PeriodeSqlReq1Mois = "P.RQ.SQL.1M" +cCle_EtatDocAbsent = "E.DOC.ABS" +cCle_EtatDocPresent = "E.DOC.PRS" +cCle_EtatDocSyncro = "E.DOC.SYNCRO" +cCle_EtatInterTraite = "E.INTER.TRT" +cCle_EtatInterSansSuite = "E.INTER.CLSSSNSS" +cGestion_Colb = "A.GEST.CLB" +cGestion_ActionInter = "A.GEST.ACT.INTER" +cGestion_SuiviInter = "A.Suivi.Colb.Inter" +cGestion_NotesInter = "A.GEST.NOTES.INT" +cGestion_Rapport = "A.GEST.RAPPORT.INTER" +cGestion_MsgExt = "A.GEST.MSG.EXT" +cGestion_Param = "A.PARAM" +cGestion_Temps = "A.GEST.TEMPS" +cGestion_Equipe = "A.GEST.EQ" +cGestion_Dossier = "A.GEST.DOSSIER" +cGestion_Document = "A.GEST.DOC" +cGestion_R_I_SOC_ATCH = "A.R.IT.SOC.ATCH" +cGestion_R_I_RDV_EXST = "A.R.IT.RDV.EXST" +cGestion_R_I_RDV_EXST_DS = "A.R.IT.RDV.EXST.DS" +cGestion_Envoi_Email = "A.ENVOI.EMAIL" +cGestion_Creation_Rp = "A.CREATION.RAPPORT" +cGestion_A_PL_SOC_PRCP = "A.C.PL.SOC.PRCP" +cGestion_A_PL_SOC = "A.C.PL.SOC" +12/08/2026 Batik_WS_Com_Mob 6 + +Partie 1 › Projet › Code +cGestion_A_PL_EQ = "A.C.PL.EQ" +cGestion_DocNull = "A.DOC.NULL" +cGestion_DocPhoto = "A.DOC.PHOTO" +cGestion_DocAutre = "A.DOC.AUTRE" +cGestion_DocMsgExt = "A.DOC.MGS.EXT" +cGestion_DocRapport = "A.DOC.RAPPORT" +cGestion_DocBatigest = "A.DOC.BATIGEST" +cRub_Dossier = "DOSSIER" +cRub_Client = "CLIENT" +cRub_Inter = "INTER" +cRub_CtSite = "CONTACT_SITE" +cRub_CR = "CR_INTER" +cRub_CtDonneurs = "DONNEURS_ORDRE" +cRub_Photo = "PHOTO_INTER" +cRub_RDV = "RDV_INTER" +cRub_Extra = "EXTRA" +FIN +<COMPILE SI Configuration="Webservice_ISIS"> +CONSTANTE +gcVersionNom ="Isis_WS_COM_MOBILE" +FIN +<SINON> +CONSTANTE +gcVersionNom ="WS_COM_MOBILE" +FIN +<FIN> +gsdParamApplication est une Source de Données +gnNbJoursLog est un entier = 10 +gstContexte est un ST_ContexteMobile +gstParametres est un ST_TAB_PARAM +gtbaCleParametre est un tableau associatif d'entiers sur 8 octets +gtbaLibParametre est un tableau associatif de chaînes ANSI +gtbaGUIDCollaborateur est un tableau associatif de chaînes ANSI +gcnxBaseSync est une Connexion +gcnxReplica est une Connexion +gcnxBaseSync..Serveur ="127.0.0.1" +gcnxBaseSync..Provider =hAccèsHFClientServeur +gcnxBaseSync..Utilisateur ="superuser" +gcnxBaseSync..MotDePasse ="F911-Q927-K880-N196" +gcnxBaseSync..BaseDeDonnées ="" +gcnxReplica..Serveur ="127.0.0.1" +gcnxReplica..Provider =hAccèsHFClientServeur +gcnxReplica..Utilisateur ="superuser" +gcnxReplica..MotDePasse ="F911-Q927-K880-N196" +gcnxReplica..BaseDeDonnées ="" +gcnxReplica..Cryptage =hCryptageRC5_16 +gsaPass est une chaîne ANSI +12/08/2026 Batik_WS_Com_Mob 7 + +Partie 1 › Projet › Code +gbContexteEnMemoire est un booléen +gbContexteEnMemoire=Vrai +//#A FAIRE Changer URL avec celle de SLAMM +<COMPILE SI Configuration="Webservice_ISIS"> +WS_LICENCE..Adresse="https://crm.artisanspartenaires.com/WS_LICENCE_V3_WEB/awws/WS_LICENCE_V3.awws" +<SINON SI Configuration="Webservice_SLAMM"> +WS_LICENCE..Adresse ="http://batik.slamm-bergeroux.com/WS_LICENCE_WEB/awws/WS_LICENCE.awws" +<SINON SI Configuration="Webservice_Bouvard"> +WS_LICENCE..Adresse ="http://83.206.103.161:8010/WS_LICENCE_WEB/awws/WS_LICENCE.awws" +<SINON> +WS_LICENCE..Adresse ="https://omika.applilogik.fr/WS_LICENCE_WEB/awws/WS_LICENCE.awws" +<FIN> +LitConfigurationINI() +gsTEST est une chaîne ="VIDE" +//TraceINFO("Init projet : " + WebserviceAdresseIPClient()) +gsCleMdp est une chaîne = Mdp1+Mdp3+Mdp2 +<COMPILE SI Configuration="WS_COM_MOBILE"> +LanceWebService() +FinProgramme() +<FIN> +Initialisation lors d'une connexion à une session prélancée de Batik_WS_Com_Mob +SI PAS DéclareContexteWebservice(gstContexte,gsTEST) ALORS +TraceCUMUL("Le contexte n'est pas restauré") +SINON +TraceCUMUL("Contexte Restauré " ) +TraceCUMUL("gstContexte.bAuthentifié =" + gstContexte.bAuthentifié) +TraceCUMUL("=================") +TraceCUMUL("Contexte =" + SerialiseContexte()) +TraceCUMUL("TEST =" + gsTEST) +TraceCUMUL("=================") +FIN +gstContexte.nNbConnexions ++ +SI LIB_COMMUNE.gbTraceBufferReception ALORS +bufTest est un Buffer = WebserviceParamètre(paramBuffer) +TraceCUMUL("======== BUFFER =========") +TraceCUMUL(bufTest) +TraceCUMUL("======== BUFFER\ =========") +FIN +//InitialiseFichierTrace("Trace_" + gstContexte.saIdClient + DateSys() +".txt") +//TraceINFO("Init après Connexion : WS_COM_MOBILE " + ExeInfo(exeNom) + " " + ExeInfo(exeVersion) ) +//TraceINFO("WebService : " + gcVersionNom + " Version : " + gcVersionWS) +//TraceINFO("Client :" + WebserviceAdresseIPClient( )) +//si gstContexte.bAuthentifié alors +// gstContexte.nNbConnexions++ +////TraceINFO( "IdClient : " + gstContexte.saIdClient + rc ... +// + "Mobile : " + gstContexte.saIdMobile + rc ... +// + "Nb Connexions : " + gstContexte.nNbConnexions + rc ... +// + "Utilisateur : " + gstContexte.saNomUser ) +//sinon +// TraceINFO("Ouverture de session") +//FIN +// +////Mémorise le contexte utilisateur mobile entre deux appels au WS +Fermeture de Batik_WS_Com_Mob +12/08/2026 Batik_WS_Com_Mob 8 + +Partie 1 › Projet › Code +HFermeConnexion(gcnxBaseSync) +HFermeConnexion(gcnxReplica) +TraceINFO("Fermeture de WS " ) +TraceINFO("Contexte en sortie :" + SerialiseContexte()) +TraceINFO("Fermeture de WS_COM_MOBILE") +Fermeture de session de Batik_WS_Com_Mob +TraceINFO("Fermeture de session ") +Projet +Erreurs, warnings et informations +ennoloC +engiL +Détail de l'erreur Localisation +La variable locale 'vRub' n'est pas utilisée. LIB_Traitements.ConstruireListeCha +mpModeleEmail +9 1 +Procédure locale +Tous les chemins d'exécution possibles ne renvoient pas de valeur : il manque un RENVOYER LIB_Traitements.CreationTableauInt +| ou un RETOUR = <valeur> dans le traitement. | | DocRapport | | | +| ------------------------------------------- | --- | ---------- | --- | --- | +0 0 +Procédure locale +Tous les chemins d'exécution possibles ne renvoient pas de valeur : il manque un RENVOYER LIB_Traitements.RqCompteRenduRe +| ou un RETOUR = <valeur> dans le traitement. | | mplirRapport | 0 | 0 | +| ------------------------------------------- | --- | ------------ | --- | --- | +Procédure locale +La variable locale 'n' n'est pas utilisée. LIB_Traitements.ConstruitTableauInt +| | | erventions_V2 | 9 | 2 | +| --- | --- | ------------- | --- | --- | +Procédure locale +Projet +Statistiques sur le code +| | | | ¹ .mmoc % | ¹ .tiart/.giL | +| --- | --- | --- | --------- | ------------- | +¹ sengiL +| LIB_COMMUNE | | | 79 10 | 7 | +| -------------------------- | ---------------- | --- | ------ | --- | +| LIB_DEBUG | | | 272 13 | 54 | +| LIB_EXE | | | 120 19 | 40 | +| LIB_GENERALE | | | 35 14 | 7 | +| LIB_GestionTableParamètres | | | 42 0 | 7 | +| LIB_ProcéduresGlobales | | | 309 7 | 34 | +| 12/08/2026 | Batik_WS_Com_Mob | | | 9 | + +Partie 1 › Projet › Statistiques sur le code +| | | ¹ .mmoc % | ¹ .tiart/.giL | +| --- | --- | --------- | ------------- | +¹ sengiL +| LIB_ProcéduresGlobales2 | | 8 38 | 8 | +| ----------------------- | --- | ------- | --- | +| LIB_Structures | | 706 6 | 706 | +| LIB_Traitements | | 4915 9 | 78 | +| LIB_WS | | 67 0 | 67 | +| LIB_WS_MOB | | 336 16 | 48 | +| FEN_Connexion | | 84 0 | 28 | +| FEN_Log | | 68 0 | 34 | +| FEN_Principal | | 329 14 | 10 | +| Batik_WS_Com_Mob | | 362 10 | 90 | +| | | 7359 10 | 48 | +% comm. : Pourcentage de commentaires dans le code. +¹ Lignes : Nombre total de lignes de code. +Lig./trait. : Nombre de lignes de code par traitement. +| 12/08/2026 | Batik_WS_Com_Mob | | 10 | +| ---------- | ---------------- | --- | --- | + +Partie 2 › Analyse +Partie 2 +Analyse +| 12/08/2026 | Batik_WS_Com_Mob | 11 | +| ---------- | ---------------- | --- | + +Partie 2 › Analyse +Analyse +Graphe +| 12/08/2026 | Batik_WS_Com_Mob | 12 | +| ---------- | ---------------- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\WebService\Batik_WS_Com_Mob\WS_SYNCHRO.ana\WS_SYNCHRO.wda › Graphe +| 12/08/2026 | Batik_WS_Com_Mob | 13 | +| ---------- | ---------------- | --- | + +Partie 2 › ... › Informations générales +Analyse +Informations générales +WS_SYNCHRO.wda +D:\Projets Windev\Batik\Nouvelle +Répertoire +Version\WebService\Batik_WS_Com_Mob\WS_SYNCHRO.ana\ +| Répertoire des fichiers de données | | Répertoire de l'application | | | | | | +| ---------------------------------- | --- | --------------------------- | --- | --- | --- | --- | --- | +N°génération Nb. fichiers Nb. rubriques Nb. liaisons Nb. connexions Nb. groupes +| 20 | 4 | 39 | | 0 | 1 | 0 | | +| --- | --- | --- | --- | --- | --- | --- | --- | +Analyse +Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | | Type | | | Utilisée par... | | +| --- | -------- | --- | ---- | --- | --- | --------------- | --- | +elliaT +| CL_ID | | | | | <Inutilisée> | | | +| --------- | --- | ------ | --- | --- | ------------ | --- | --- | +| CL_IP | | | | | <Inutilisée> | | | +| CL_IPv4 | | | | | <Inutilisée> | | | +| CL_IPv6 | | | | | <Inutilisée> | | | +| CL_NOM | | | | | <Inutilisée> | | | +| CL_Port | | | | | <Inutilisée> | | | +| CLE | | Chaîne | | 50 | PARAMETRES | | | +| CleComp | | | | | <Inutilisée> | | | +| IDCLIENTS | | | | | <Inutilisée> | | | +| IDMOBILES | | | | | <Inutilisée> | | | +Identifiant automatique (8 +| IDTOMOB | | | | | TOMOB | | | +| ------------ | --- | --------------------------- | ---------------- | --- | ------------ | --- | --- | +| IDTOSRV | | Identifiant automatique (4 | | | TOSRV | | | +| IDTRAMES | | | | | <Inutilisée> | | | +| MO_ACTIF | | Booléen | | | MOBILES | | | +| MO_CLIENT | | | | | <Inutilisée> | | | +| MO_GUID | | | | | <Inutilisée> | | | +| MO_ID | | Identifiant automatique (8 | | | MOBILES | | | +| MO_ID_CLIENT | | | | | <Inutilisée> | | | +| MO_Mobile | | Chaîne | | 50 | MOBILES | | | +| TM_Buffer | | Autre mémo binaire | | | TOMOB | | | +| TM_CMD | | Chaîne | | 50 | TOMOB | | | +| TM_Date | | Date et Heure | | | TOMOB | | | +| TM_JSON | | Mémo texte | | | TOMOB | | | +| TM_Lu | | Booléen | | | TOMOB | | | +| 12/08/2026 | | | Batik_WS_Com_Mob | | | | 14 | + +Partie 2 › ... › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | | Type | | | Utilisée par... | | +| --- | -------- | --- | ---- | --- | --- | --------------- | --- | +elliaT +| TM_Mobile | | | Chaîne | 50 | TOMOB | | | +| --------------- | --- | --- | ------------------ | --- | ------------ | --- | --- | +| TM_MobileTM_CMD | | | Clé composée | 101 | TOMOB | | | +| TR_DATA | | | | | <Inutilisée> | | | +| TR_DEST | | | | | <Inutilisée> | | | +| TR_ETAT | | | | | <Inutilisée> | | | +| TR_ID | | | | | <Inutilisée> | | | +| TR_ID_CLIENT | | | | | <Inutilisée> | | | +| TR_ID_MOBILE | | | | | <Inutilisée> | | | +| TS_Buffer | | | Autre mémo binaire | | TOSRV | | | +| TS_CMD | | | Chaîne | 50 | TOSRV | | | +| TS_Date | | | Date et Heure | | TOSRV | | | +| TS_JSON | | | Mémo texte | | TOSRV | | | +| TS_Lu | | | Booléen | | TOSRV | | | +| TS_Mobile | | | Chaîne | 50 | TOSRV | | | +| VALTEXT | | | Mémo texte | | PARAMETRES | | | +Analyse +Connexions +¹ *nnoC .mT +| | | | | ruetasilitU | | | ¹ *cexE .mT | +| ------ | --------- | --- | ----------------- | ----------- | --------------------- | --- | ----------- | +| | Connexion | | Source de données | | Provider | | | +| cnxDev | | | | didier | WinDevClientServeurHF | | 30 30 | +localhost:4900 +Connexion à 'localhost' +| Utilisée par... | | PARAMETRES | | MOBILES | | TOSRV | | +| --------------- | --- | ---------- | --- | ------- | --- | ----- | --- | +TOMOB +¹ Tm. Conn* : Timeout de connexion Tm. Exec* : Timeout d'exécution +Analyse +Fichiers et rubriques +| 12/08/2026 | | | Batik_WS_Com_Mob | | | | 15 | +| ---------- | --- | --- | ---------------- | --- | --- | --- | --- | + +Partie 2 › ... › Fichiers et rubriques › Analyse +somém .sserpmoC +¹ * rcE/tceL .lnJ seénnod .tpyrC +noitarénég°N +.gerne elliaT xedni .tpyrC omém .tpyrC +| | noitaivérbA | | noitacilpéR | ¹ * étirucéS | | +| --- | ----------- | --- | ----------- | ------------ | --- | +¹ * secapsE +¹ * rcE .lnJ +| | | .otua .dI | oG2 ed + | | | +| --- | --- | --------- | -------- | --- | --- | +epyT +| MOBILES | | 3 69 | | | HFSQL | +| ------- | --- | ----- | --- | --- | ------ | +Client/Serv +eur +| PARAMETRES | | 2 68 | | | HFSQL | +| ---------- | --- | ----- | --- | --- | ------ | +Client/Serv +eur +| TOMOB | | 6 145 | | | HFSQL | +| ----- | --- | ------ | --- | --- | ------ | +Client/Serv +eur +| TOSRV | | 7 140 | | | HFSQL | +| ----- | --- | ------ | --- | --- | ------ | +Client/Serv +eur +¹ Espaces * : Complétion des chaînes par des espaces Jnl. Ecr * : Journalisation des écritures +Jnl. Lect/Ecr * : Journalisation des lectures et écritures Sécurité * : Mode sécurité renforcée +MOBILES +Fichiers et rubriques +Informations générales +| MOBILES | | MOBILES | | | | +| -------------- | --- | ----------------------- | --- | --- | --- | +| Nom sur disque | | MOBILES.fic | | | | +| Connexion | | Connexion à 'localhost' | | | | +Rubriques du fichier MOBILES +nolbuoD élC +euqinU élC tuaféd .laV +Libellé Type +| | | | | elliaT | sneS | +| ----- | ---------------------- | --- | ------------------------ | ------ | ---- | +| MO_ID | Identifiant de MOBILES | | Identifiant automatique | | | +(8 octets) +| MO_Mobile | Code unique | | Chaîne | 50 | | +| ---------- | ------------ | --- | ---------------- | --- | --- | +| MO_ACTIF | Mobile actif | | Booléen | | 0 | +| 12/08/2026 | | | Batik_WS_Com_Mob | | 16 | + +Partie 2 › ... › Fichiers et rubriques › PARAMETRES › Fichiers et rubriques +PARAMETRES +Fichiers et rubriques +Informations générales +PARAMETRES PARAMETRES +Nom sur disque PARAMETRES.fic +Connexion Connexion à 'localhost' +Rubriques du fichier PARAMETRES +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| CLE | CLE | | 50 | | +| --- | --- | --- | --- | --- | +Chaîne +| VALTEXT | VALTEXT | Mémo texte | | | +| ---------- | ------- | ---------------- | --- | --- | +| 12/08/2026 | | Batik_WS_Com_Mob | | 17 | + +Partie 2 › ... › Fichiers et rubriques › TOMOB › Fichiers et rubriques +TOMOB +Fichiers et rubriques +Informations générales +TOMOB TOMOB +Nom sur disque TOMOB.fic +Connexion Connexion à 'localhost' +Rubriques du fichier TOMOB +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| IDTOMOB | Identifiant de TOMOB | Identifiant automatique | | | +| ------- | -------------------- | ------------------------ | --- | --- | +(8 octets) +| TM_Date | TM_Date | Date et Heure | | | +| ------- | ------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| TM_JSON | TM_JSON | Mémo texte | | | +| --------------- | ------------------ | ------------------ | --- | --- | +| TM_Mobile | TM_Mobile | Chaîne | 50 | | +| TM_Lu | TM_Lu | Booléen | | 0 | +| TM_Buffer | TM_Buffer | Autre mémo binaire | | | +| TM_CMD | TM_CMD | Chaîne | 50 | | +| TM_MobileTM_CMD | TM_Mobile + TM_CMD | Clé composée : | 101 | | +TM_Mobile+TM_CMD+TM +_Lu +| 12/08/2026 | | Batik_WS_Com_Mob | | 18 | +| ---------- | --- | ---------------- | --- | --- | + +Partie 2 › ... › Fichiers et rubriques › TOSRV › Fichiers et rubriques +TOSRV +Fichiers et rubriques +Informations générales +TOSRV TOSRV +Nom sur disque TOSRV.fic +Connexion Connexion à 'localhost' +Rubriques du fichier TOSRV +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| IDTOSRV | Identifiant de TOSRV | Identifiant automatique | | | +| ------- | -------------------- | ------------------------ | --- | --- | +(4 octets) +| TS_Date | Date heure création | Date et Heure | | SYSDATE | +| ------- | ------------------- | -------------- | --- | -------- | +(aaaammjjhhmmssccc) +| TS_JSON | Données | Mémo texte | | | +| ---------- | --------- | ------------------ | --- | --- | +| TS_Lu | Lu | Booléen | | 0 | +| TS_Mobile | ID Mobile | Chaîne | 50 | | +| TS_Buffer | Buffer | Autre mémo binaire | | | +| TS_CMD | Commande | Chaîne | 50 | | +| 12/08/2026 | | Batik_WS_Com_Mob | | 19 | + +Partie 3 › Fenêtre WINDEV +Partie 3 +Fenêtre WINDEV +| 12/08/2026 | Batik_WS_Com_Mob | 20 | +| ---------- | ---------------- | --- | + +Partie 3 › Fenêtre WINDEV +FEN_Principal +Image +FEN_Principal +Informations générales +FEN_Principal +D:\Projets Windev\Batik\Nouvelle +Fichier physique +Version\WebService\Batik_WS_Com_Mob\FEN_Principal.wdw +Créé par susana@applilogik.fr +Date de création 14/01/2026 08:47:29 +Dernière modification par susana@applilogik.fr +Date dernière modification 16/01/2026 16:08:05 +Titre FR: Principal +12/08/2026 Batik_WS_Com_Mob 21 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations générales +| Type fenêtre | | Fenêtre libre | | | | +| ------------------------ | ------------ | ----------------------------- | --------- | --------------- | --- | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1200 Hauteur | 599 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | --- | --- | --- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | Double | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le gabarit du projet | | <Défaut> | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Office XP | | | | +| Mode bulle d'aide | | Non | | | | +| Mode Bulle : Point chaud | | Haut gauche | | | | +| Mode Bulle : Décalage X | | 0 | | | | +| Mode Bulle : Décalage Y | | 0 | | | | +| Valide auto. | | 0 | | | | +| Lib. + tps restant | | Oui | | | | +| Pos. X Menu | | 6 | | | | +| Pos. Y Menu | | 28 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| Anim. Fermeture | | 0 | | | | +| Durée Anim. Ouverture | | 100 | | | | +| Durée Anim. Fermeture | | 50 | | | | +| Adapte Taille contenu | | Non | | | | +| Assombri quand inactif | | Oui | | | | +Déplace souris sur bouton par +Non +| 12/08/2026 | | | Batik_WS_Com_Mob | | 22 | +| ---------- | --- | --- | ---------------- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations générales +| Compact. barres outils | | Non | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | +Statistiques de la fenêtre +| | Champ de saisie | | 3 | Bouton | | 1 | +| --- | ------------------- | --- | --- | ---------------- | --- | --- | +| | Sélecteur | | 1 | Image | | 1 | +| | Table | | 5 | Combo | | 5 | +| | Onglet | | 1 | Superchamp | | 1 | +| | Option de sélecteur | | 2 | Colonne de table | | 19 | +| | Volet (Onglet) | | 3 | | | | +Nombre d'éléments dans la fenêtre : 42 +FEN_Principal +Informations sur les champs +Fenêtre : FEN_Principal +Champ de saisie +euqitamotua tnemecaffE +euqitamotua eisias niF +reihcif eétsissa eisiaS +| | | | | eriotagilbo eisiaS | | .zroH tnemeliféD .trev tnemeliféD | +| --- | --- | --- | --- | ------------------ | --- | --------------------------------- | +latnoziroh .csA +essap ed toM +| | | | BAT ehcuoT | | cnalb à esiM ediv is LLUN | lacitrev .csA | +| --- | --------------------- | --- | ------------------------ | --------------------- | ------------------------- | ------------- | +| | | | laitini tatE eisias epyT | engilitluM FTR tamroF | | | +| | X noitisoP Y noitisoP | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| SAI_DateDebut | 606 19 | 131 41 0 | Actif Date | Non | | | +| ------------- | ------ | -------- | ---------- | --- | --- | --- | +| SAI_DateFin | 743 19 | 131 41 0 | Actif Date | Non | | | +Sélecteur +ellennoitroporp .loC +| | | | | | BAT ehcuoT sennoloc .bN | | +| --- | --- | --- | --- | ------------ | ----------------------- | ----------- | +| | | | | laitini tatE | | staté siorT | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| SEL_WSCom | | 880 29 | 295 28 | 0 Actif | | 2 | +| ---------- | --- | ------ | ---------------- | ------- | --- | --- | +| 12/08/2026 | | | Batik_WS_Com_Mob | | | 23 | + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Image +| | | | | | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | --------------------------------------- | ---------- | +| | | | | | | | | | laitini tatE | | | sucof cevA | +| | | | X noitisoP | Y noitisoP | | | | | | | | | +| | | | | | ruegraL | ruetuaH | | | | | cilc cevA | | +elbisiV +nalP +| IMG_Recharger | | | 1143 | | -2 49 | 31 | | 0 | Actif | | | | +| ------------- | --- | --- | ---- | --- | ----- | --- | --- | --- | ----- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | | | | BAT ehcuoT | | eisias cevA | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | ------------ | ---------- | -------- | ----------- | --- | --- | --- | +| | | X noitisoP | Y noitisoP | | | laitini tatE | | | | | | | +| | | | ruegraL | ruetuaH | | | | sruocraP | | | | | +| | | | | | elbisiV | | | reihciF | | | | | +eéirT +nalP +| CMB_Users | | 6 | 12 594 | 48 | 0 | Actif | | Mémoire | | Non | | | +| --------- | --- | --- | ------ | --- | --- | ----- | --- | ------- | --- | --- | --- | --- | +Superchamp +| | | | | | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | --- | ---------- | ---------- | ------- | --- | ------- | --- | --- | ------------ | ---------- | +| | | | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | | | ruegraL | | ruetuaH | | | | | +elbisiV +nalP +| SC_Menu | | | | 8 | 66 | 1184 | | 491 | 0 | | Actif | | +| ------- | --- | --- | --- | --- | --- | ---- | --- | --- | --- | --- | ----- | --- | +Superchamp : SC_Menu +Champ de saisie +euqitamotua tnemecaffE +euqitamotua eisias niF +reihcif eétsissa eisiaS +| | | | | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD .trev tnemeliféD | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------------ | --- | --------------------------------- | --- | +latnoziroh .csA +| | | | | | | | | essap ed toM | cnalb à esiM | ediv is LLUN | | lacitrev .csA | +| --- | ---------- | ---------- | --------------- | --- | ------------ | ---------------------- | ---------- | ------------ | ------------ | ------------ | --- | ------------- | +| | | | | | | BAT ehcuoT eisias epyT | | FTR tamroF | | | | | +| | X noitisoP | Y noitisoP | | | laitini tatE | | engilitluM | | | | | | +| | | | ruegraL ruetuaH | | | | | | | | | | +elbisiV +nalP +| SAI_Recherche | 754 | 77 | 339 48 | 0 | Actif | Texte | | Non | | | | | +| ------------- | --- | --- | ------ | --- | ---------------- | ----- | --- | --- | --- | --- | --- | --- | +| 12/08/2026 | | | | | Batik_WS_Com_Mob | | | | | | | 24 | + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Bouton +notuob epyT +| | | | | | | | | laitini tatE BAT ehcuoT | | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | ----------------------- | --- | --- | +| | | | X noitisoP | Y noitisoP | | | | | | | +| | | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Recherche | | | 1099 | 101 | | 80 24 | 0 | Actif | Normal | | +| ------------- | --- | --- | ---- | --- | --- | ----- | --- | ----- | ------ | --- | +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | | +| --- | ---------- | ---------- | --- | --- | ------------ | ---------- | ----------------------------- | ------------------------------ | ------------------ | -------------- | +| | | | | | | | )(ertliFH resilitU | ruesnecsa elluB EERTNE noitseG | eércna ennoloC | 5.5 elbitapmoC | +| | | | | | | | .gerne egacolB noitcelésitluM | edacsac eisiaS | | | +| | | | | | laitini tatE | BAT ehcuoT | | | | | +| | X noitisoP | Y noitisoP | | | | | sruocraP | | | | +ruegraL ruetuaH +| | | | | elbisiV | | reihciF | | | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| TABLE_Colb | 13 | 229 | 442 321 | 0 | affichag | Mémoir | | | | 2 | +| -------------- | --- | --- | ------- | --- | -------- | ------ | --- | --- | --- | --- | +| TABLE_Contexte | 471 | 168 | 696 376 | 0 | affichag | Mémoir | | | | 2 | +| TABLE_Param | 24 | 224 | 432 328 | 0 | affichag | Mémoir | | | | 3 | +Mémoir +| TABLE_RDV | 16 | 222 1169 | 328 | 0 | affichag | | | | | 6 | +| ------------- | --- | -------- | ------- | --- | -------- | ------ | --- | --- | --- | --- | +| TABLE_RDVColb | 465 | 229 | 720 317 | 0 | affichag | Mémoir | | | | 6 | +Combo +reihcif eétsissa eisiaS +| | | | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | | | | BAT ehcuoT | eisias cevA | | | +| --- | ---------- | ---------- | ------- | ------- | ------- | ------------ | ---------- | ----------- | --- | --- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | | | +| | | | | ruetuaH | | | sruocraP | | | | +| | | | ruegraL | | elbisiV | | reihciF | | | | +eéirT +nalP +| CMB_Proc | 14 | | 77 723 | 48 | 0 | Actif | Mémoire | Non | | | +| ------------- | --- | --- | ------ | --- | --- | ----- | ------- | --- | --- | --- | +| CMB_ProcColb | 14 | 161 | 1170 | 48 | 0 | Actif | Mémoire | Non | | | +| CMB_ProcParam | 24 | 168 | 432 | 48 | 0 | Actif | Mémoire | Non | | | +| CMB_ProcRDV | 16 | 168 | 1169 | 48 | 0 | Actif | Mémoire | Non | | | +Onglet +slennoitroporp steloV +engil/stelov .bN +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | stelov .soP | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | ----------- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ONG_Info | | | 9 131 | 1182 | 425 | 0 | Actif | haut | | 0 | +| ---------- | --- | --- | ----- | ---- | ---------------- | --- | ----- | ---- | --- | --- | +| 12/08/2026 | | | | | Batik_WS_Com_Mob | | | | | 25 | + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Table : SC_Menu.ONG_Info.TABLE_Colb +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | ehcuag à eéxiF elbairt ennoloC | ehcrehcer cevA | | | +| --- | --- | ------------------------------ | --------------------------- | ---------------------- | ----------- | +| | | | .zroh egardaC .trev egardaC | | | +| | | laitini tatE elbaçalpéD | | eisias epyT FTR tamroF | eisias cevA | +engilitluM +ruegraL +elbisiV +| epyT | | | | | eéirT | +| --------------- | --- | ----- | ------------- | ------- | ----- | +| COL_C_IdColb | 176 | Actif | Droite Centre | Numériq | | +| COL_C_NomPrenom | 243 | Actif | Gauche Centre | Texte | | +Table : SC_Menu.ONG_Info.TABLE_Contexte +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | ehcuag à eéxiF elbairt ennoloC | ehcrehcer cevA | | | +| --- | --- | ------------------------------ | --------------------------- | --- | --- | +| | | | .zroh egardaC .trev egardaC | | | +FTR tamroF +| | | laitini tatE elbaçalpéD | | eisias epyT engilitluM | eisias cevA | +| --- | --- | ----------------------- | --- | ---------------------- | ----------- | +ruegraL +elbisiV +| epyT | | | | | eéirT | +| ------------- | --- | ----- | ------------- | ----- | ----- | +| COL_C_Type | 100 | Actif | Gauche Centre | Texte | | +| COL_C_Libelle | 561 | Actif | Gauche Centre | Texte | | +Table : SC_Menu.ONG_Info.TABLE_Param +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +| | | ehcuag à eéxiF | .zroh egardaC | | | +| --- | --- | -------------- | ------------- | --- | --- | +.trev egardaC +| | | elbaçalpéD | | eisias epyT FTR tamroF | eisias cevA | +| --- | --- | ---------- | --- | ---------------------- | ----------- | +laitini tatE engilitluM +ruegraL elbisiV +| epyT | | | | | eéirT | +| ---- | --- | --- | --- | --- | ----- | +Numériq +| COL_IdParam | 118 | Actif | Droite Centre | | | +| ----------- | --- | ---------------- | ------------- | ----- | --- | +| COL_Type | 100 | Actif | Gauche Centre | Texte | | +| COL_Libelle | 196 | Actif | Gauche Centre | Texte | | +| 12/08/2026 | | Batik_WS_Com_Mob | | | 26 | + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Table : SC_Menu.ONG_Info.TABLE_RDV +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | ehcuag à eéxiF elbairt ennoloC | ehcrehcer cevA | | | +| --- | --- | ------------------------------ | --------------------------- | ---------------------- | ----------- | +| | | | .zroh egardaC .trev egardaC | | | +| | | laitini tatE elbaçalpéD | | eisias epyT FTR tamroF | eisias cevA | +engilitluM +ruegraL +elbisiV +| epyT | | | | | eéirT | +| ----------- | --- | ----- | ------------- | ------- | ----- | +| COL_IdRDV | 176 | Actif | Droite Centre | Numériq | | +| COL_IdInter | 133 | Actif | Droite Centre | Numériq | | +| COL_DateD | 119 | Actif | Droite Centre | Date | | +| COL_DateF | 114 | Actif | Droite Centre | Date | | +| COL_NInter | 132 | Actif | Gauche Centre | Texte | | +| COL_Lieu | 473 | Actif | Gauche Centre | Texte | | +Table : SC_Menu.ONG_Info.TABLE_RDVColb +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | ehcuag à eéxiF elbairt ennoloC | ehcrehcer cevA | | | +| --- | --- | ------------------------------ | --------------------------- | ---------------------- | ----------- | +| | | | .zroh egardaC .trev egardaC | | | +| | | laitini tatE elbaçalpéD | | eisias epyT FTR tamroF | eisias cevA | +engilitluM +ruegraL +elbisiV +| epyT | | | | | eéirT | +| ------------- | --- | ----- | ------------- | ------- | ----- | +| COL_C_IdRDV | 176 | Actif | Droite Centre | Numériq | | +| COL_C_IdInter | 133 | Actif | Droite Centre | Numériq | | +| COL_C_DateD | 119 | Actif | Droite Centre | Date | | +| COL_C_DateF | 114 | Actif | Droite Centre | Date | | +| COL_C_NInter | 132 | Actif | Gauche Centre | Texte | | +| COL_C_Lieu | 16 | Actif | Gauche Centre | Texte | | +Fenêtre : FEN_Principal +| 12/08/2026 | | Batik_WS_Com_Mob | | | 27 | +| ---------- | --- | ---------------- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Combo : CMB_Users +Libellé FR: Liste des utilisateurs +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Oui +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 592 +Larg. déroulée perso. Non +Hauteur ligne 20 +Retrait gauche 2 +Position X interne 8 +Largeur interne 592 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse <Aucun> +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +12/08/2026 Batik_WS_Com_Mob 28 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Image : IMG_Recharger +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\WebService\Batik_WS_Com_Mob\cha.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Haut +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Ascenseur et zoom auto. Non +Autorise ChangeGabarit Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Texte Markdown Non +Mode menu ctx. <Aucun> +Mire visible Oui +Zoom par double taps Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +12/08/2026 Batik_WS_Com_Mob 29 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Champ de saisie : SAI_DateDebut +Libellé FR: Date Début +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression <Aucun> +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Droite +Position X interne 606 +Largeur interne 126 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: UseSystemMask +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +12/08/2026 Batik_WS_Com_Mob 30 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +Bouton droit : Nombre d'états 1 +Bouton gauche : Largeur 0 +Bouton droit : Largeur 0 +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Non +Bouton droit : Monochrome Non +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Champ de saisie : SAI_DateFin +Libellé FR: Date Fin +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression <Aucun> +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Droite +Position X interne 743 +Largeur interne 126 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +12/08/2026 Batik_WS_Com_Mob 31 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Taille de saisie 0 +Masque saisie FR: UseSystemMask +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +Bouton droit : Nombre d'états 1 +Bouton gauche : Largeur 0 +Bouton droit : Largeur 0 +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Non +Bouton droit : Monochrome Non +Ancrage +Taux anc. droite 600 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +12/08/2026 Batik_WS_Com_Mob 32 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Superchamp : SC_Menu +Ordre navigation 5 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Largeur externe 1182 +Hauteur externe 489 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Valeur persistante Non +Texte Markdown Non +Source de remplissage Fichier chargé en mémoire +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Sélecteur : SEL_WSCom +Libellé FR: &Sélecteur 2 colonnes +Valeur initiale 1 +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec ValeurRenvoyée Oui +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +12/08/2026 Batik_WS_Com_Mob 33 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Type bandeau Libellé et sous-libellé +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Saisie obligatoire Non +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Valeur persistante Non +Option multilignes Non +Option format RTF Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Image D:\Projets Windev\Batik\Nouvelle Version\WebService\Batik_WS_Com_Mob\Gabarits\WD\270 +Nb. états image 1 +Largeur image 64 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 700 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_Menu +Bouton : SC_Menu.BTN_Recherche +Libellé FR: Rechercher +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Non +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animée par défaut Oui +Mode ellipse <Aucun> +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +12/08/2026 Batik_WS_Com_Mob 34 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Type flèche <Aucun> +Texte Markdown Non +Mode menu ctx. <Aucun> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Combo : SC_Menu.CMB_Proc +Libellé FR: Procédures +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Oui +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 721 +Larg. déroulée perso. Non +Hauteur ligne 20 +Retrait gauche 2 +Position X interne 16 +Largeur interne 721 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse <Aucun> +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +12/08/2026 Batik_WS_Com_Mob 35 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 600 Taux anc. hauteur 1000 +Combo : SC_Menu.ONG_Info.CMB_ProcColb +Libellé FR: Procédures lié a un rendez-vous/ collaborateur sélectionné +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Oui +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 1168 +Larg. déroulée perso. Non +Hauteur ligne 20 +12/08/2026 Batik_WS_Com_Mob 36 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Retrait gauche 2 +Position X interne 16 +Largeur interne 1168 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse <Aucun> +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +12/08/2026 Batik_WS_Com_Mob 37 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Combo : SC_Menu.ONG_Info.CMB_ProcParam +Libellé FR: Procédures lié aux paramètres +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Oui +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 432 +Larg. déroulée perso. Non +Hauteur ligne 20 +Retrait gauche 2 +Position X interne 24 +Largeur interne 432 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse <Aucun> +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +12/08/2026 Batik_WS_Com_Mob 38 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage +Taux anc. droite 0 Taux anc. bas 0 Taux anc. largeur 350 Taux anc. hauteur 1000 +Combo : SC_Menu.ONG_Info.CMB_ProcRDV +Libellé FR: Procédures lié a un rendez-vous sélectionné +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Oui +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 1169 +Larg. déroulée perso. Non +Hauteur ligne 20 +Retrait gauche 2 +Position X interne 16 +Largeur interne 1169 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse <Aucun> +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +12/08/2026 Batik_WS_Com_Mob 39 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Onglet : SC_Menu.ONG_Info +Libellé FR: &Onglet +Valeur initiale 1 +Ordre navigation 4 +Curseur survol 0 +Onglet dynamique Non +Libellé volet FR: Nouvel onglet +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Retrait gauche 0 +Retrait des onglets 0 +Numéro aide 0 +Autorise ChangeGabarit Oui +Bouton Fermer Oui +Bouton Nouveau Oui +Volets détachables Oui +Mémoriser Configuration Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +12/08/2026 Batik_WS_Com_Mob 40 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Facteur d'agrandissement 0 +Swipe Non +Mode affichage volets < Standard > +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Nb. états image 1 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SC_Menu.SAI_Recherche +Libellé FR: Recherche d'une intervention +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 754 +Largeur interne 339 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +12/08/2026 Batik_WS_Com_Mob 41 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Asc. vertical Automatique +Complétion système de fichier Non +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +Bouton droit : Nombre d'états 1 +Bouton gauche : Largeur 0 +Bouton droit : Largeur 0 +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Non +Bouton droit : Monochrome Non +Ancrage +Taux anc. droite 600 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +Table : SC_Menu.ONG_Info.TABLE_Colb +Libellé FR: Table +Ordre navigation 2 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 0 +Hauteur ligne (sans marges) 18 +12/08/2026 Batik_WS_Com_Mob 42 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Marge en haut 2 +Marge en bas 2 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Sélection multiple Non +Bulle sur tronqués Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Toujours visible +Mode de sélection Sélection simple +Sélect. colonnes Sans sélection +Sélect. cellules Sans sélection +Ajout éléments supplémentaires Non +Nb. max d'éléments 10000 +Etat chargement Non +Retrait gauche FI détail 0 +FI détail au survol Non +Même contenu/ligne Non +Aff. résultats Sans affichage +Somme FR: Somme +Moyenne FR: Moyenne +Compteur FR: Compteur +Minimum FR: Minimum +Maximum FR: Maximum +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Ajout/Suppr. dans variable Oui +Synchro HFSQL C/S Jamais +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 350 Taux anc. hauteur 1000 +12/08/2026 Batik_WS_Com_Mob 43 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Table : SC_Menu.ONG_Info.TABLE_Contexte +Libellé FR: Table +Ordre navigation 2 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 5 +Hauteur ligne (sans marges) 18 +Marge en haut 2 +Marge en bas 2 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Sélection multiple Non +Bulle sur tronqués Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Toujours visible +Mode de sélection Sélection simple +Sélect. colonnes Sans sélection +Sélect. cellules Sans sélection +Ajout éléments supplémentaires Non +Nb. max d'éléments 10000 +Etat chargement Non +Retrait gauche FI détail 0 +FI détail au survol Non +Même contenu/ligne Non +Aff. résultats Sans affichage +Somme FR: Somme +Moyenne FR: Moyenne +Compteur FR: Compteur +Minimum FR: Minimum +Maximum FR: Maximum +Sauve position auto Non +Ruptures Enroulables Oui +12/08/2026 Batik_WS_Com_Mob 44 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Ajout/Suppr. dans variable Oui +Synchro HFSQL C/S Jamais +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite, largeur et hauteur +Taux anc. droite 350 Taux anc. bas 1000 Taux anc. largeur 650 Taux anc. hauteur 1000 +Table : SC_Menu.ONG_Info.TABLE_Param +Libellé FR: Table +Ordre navigation 3 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 5 +Hauteur ligne (sans marges) 18 +Marge en haut 2 +Marge en bas 2 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Sélection multiple Non +Bulle sur tronqués Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Toujours visible +12/08/2026 Batik_WS_Com_Mob 45 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Mode de sélection Sélection simple +Sélect. colonnes Sans sélection +Sélect. cellules Sans sélection +Ajout éléments supplémentaires Non +Nb. max d'éléments 10000 +Etat chargement Non +Retrait gauche FI détail 0 +FI détail au survol Non +Même contenu/ligne Non +Aff. résultats Sans affichage +Somme FR: Somme +Moyenne FR: Moyenne +Compteur FR: Compteur +Minimum FR: Minimum +Maximum FR: Maximum +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Ajout/Suppr. dans variable Oui +Synchro HFSQL C/S Jamais +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite, largeur et hauteur +Taux anc. droite 0 Taux anc. bas 0 Taux anc. largeur 350 Taux anc. hauteur 1000 +Table : SC_Menu.ONG_Info.TABLE_RDV +Libellé FR: Table +Ordre navigation 2 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 0 +Hauteur ligne (sans marges) 18 +Marge en haut 2 +Marge en bas 2 +Marge à gauche 5 +Marge à droite 3 +12/08/2026 Batik_WS_Com_Mob 46 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Sélection multiple Non +Bulle sur tronqués Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Toujours visible +Mode de sélection Sélection simple +Sélect. colonnes Sans sélection +Sélect. cellules Sans sélection +Ajout éléments supplémentaires Non +Nb. max d'éléments 10000 +Etat chargement Non +Retrait gauche FI détail 0 +FI détail au survol Non +Même contenu/ligne Non +Aff. résultats Sans affichage +Somme FR: Somme +Moyenne FR: Moyenne +Compteur FR: Compteur +Minimum FR: Minimum +Maximum FR: Maximum +Sauve position auto Non +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Ajout/Suppr. dans variable Oui +Synchro HFSQL C/S Jamais +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur et hauteur +Taux anc. droite 300 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +12/08/2026 Batik_WS_Com_Mob 47 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Table : SC_Menu.ONG_Info.TABLE_RDVColb +Libellé FR: Table +Ordre navigation 3 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 0 +Hauteur ligne (sans marges) 18 +Marge en haut 2 +Marge en bas 2 +Marge à gauche 5 +Marge à droite 3 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Sélection multiple Non +Bulle sur tronqués Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Toujours visible +Mode de sélection Sélection simple +Sélect. colonnes Sans sélection +Sélect. cellules Sans sélection +Ajout éléments supplémentaires Non +Nb. max d'éléments 10000 +Etat chargement Non +Retrait gauche FI détail 0 +FI détail au survol Non +Même contenu/ligne Non +Aff. résultats Sans affichage +Somme FR: Somme +Moyenne FR: Moyenne +Compteur FR: Compteur +Minimum FR: Minimum +Maximum FR: Maximum +Sauve position auto Non +Ruptures Enroulables Oui +12/08/2026 Batik_WS_Com_Mob 48 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Mémoriser filtres Non +Mémoriser tris Non +Nb. Enreg. Max 0 +Ajout/Suppr. dans variable Oui +Synchro HFSQL C/S Jamais +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite, largeur et hauteur +Taux anc. droite 350 Taux anc. bas 500 Taux anc. largeur 650 Taux anc. hauteur 1000 +Table : SC_Menu.ONG_Info.TABLE_Colb +Colonne de table : SC_Menu.ONG_Info.TABLE_Colb.COL_C_IdColb (1) +Titre FR: Id Colb +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 99 999 999 999 999 999 999 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +12/08/2026 Batik_WS_Com_Mob 49 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Colonne de table : SC_Menu.ONG_Info.TABLE_Colb.COL_C_NomPrenom (2) +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 800 Taux anc. hauteur 1000 +Table : SC_Menu.ONG_Info.TABLE_Contexte +Colonne de table : SC_Menu.ONG_Info.TABLE_Contexte.COL_C_Type (1) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Taille de saisie 0 +Mot de passe Non +12/08/2026 Batik_WS_Com_Mob 50 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Masque saisie FR: 0 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_Menu.ONG_Info.TABLE_Contexte.COL_C_Libelle (2) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +12/08/2026 Batik_WS_Com_Mob 51 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Table : SC_Menu.ONG_Info.TABLE_Param +Colonne de table : SC_Menu.ONG_Info.TABLE_Param.COL_IdParam (1) +Titre FR: Id Paramètre +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 99 999 999 999 999 999 999 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_Menu.ONG_Info.TABLE_Param.COL_Type (2) +Titre FR: Type +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Taille de saisie 0 +12/08/2026 Batik_WS_Com_Mob 52 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_Menu.ONG_Info.TABLE_Param.COL_Libelle (3) +Titre FR: Libelle +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +12/08/2026 Batik_WS_Com_Mob 53 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Table : SC_Menu.ONG_Info.TABLE_RDV +Colonne de table : SC_Menu.ONG_Info.TABLE_RDV.COL_IdRDV (1) +Titre FR: Id rdv +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 99 999 999 999 999 999 999 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_Menu.ONG_Info.TABLE_RDV.COL_IdInter (2) +Titre FR: Id Inter +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Taille de saisie 0 +12/08/2026 Batik_WS_Com_Mob 54 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Mot de passe Non +Masque saisie FR: 99 999 999 999 999 999 999 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_Menu.ONG_Info.TABLE_RDV.COL_DateD (3) +Titre FR: Début +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: JJ/MM/AAAA HH:mm:SS +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +12/08/2026 Batik_WS_Com_Mob 55 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Colonne de table : SC_Menu.ONG_Info.TABLE_RDV.COL_DateF (4) +Titre FR: Fin +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: JJ/MM/AAAA HH:mm:SS +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_Menu.ONG_Info.TABLE_RDV.COL_NInter (5) +Titre FR: NInter +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse <Aucun> +Verifier l'orthographe Non +12/08/2026 Batik_WS_Com_Mob 56 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_Menu.ONG_Info.TABLE_RDV.COL_Lieu (6) +Titre FR: Lieu +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +12/08/2026 Batik_WS_Com_Mob 57 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Table : SC_Menu.ONG_Info.TABLE_RDVColb +Colonne de table : SC_Menu.ONG_Info.TABLE_RDVColb.COL_C_IdRDV (1) +Titre FR: Id rdv +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 99 999 999 999 999 999 999 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_Menu.ONG_Info.TABLE_RDVColb.COL_C_IdInter (2) +Titre FR: Id Inter +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Taille de saisie 0 +12/08/2026 Batik_WS_Com_Mob 58 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Mot de passe Non +Masque saisie FR: 99 999 999 999 999 999 999 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_Menu.ONG_Info.TABLE_RDVColb.COL_C_DateD (3) +Titre FR: Début +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: JJ/MM/AAAA HH:mm:SS +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +12/08/2026 Batik_WS_Com_Mob 59 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Colonne de table : SC_Menu.ONG_Info.TABLE_RDVColb.COL_C_DateF (4) +Titre FR: Fin +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: JJ/MM/AAAA HH:mm:SS +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_Menu.ONG_Info.TABLE_RDVColb.COL_C_NInter (5) +Titre FR: C_NInter +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse <Aucun> +Verifier l'orthographe Non +12/08/2026 Batik_WS_Com_Mob 60 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Informations sur les champs +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : SC_Menu.ONG_Info.TABLE_RDVColb.COL_C_Lieu (6) +Titre FR: C_Lieu +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +FEN_Principal +Code +Déclarations globales de FEN_Principal +12/08/2026 Batik_WS_Com_Mob 61 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Code +PROCÉDURE FEN_Principal() +Fin d'initialisation de FEN_Principal +OuvreSoeur(FEN_Log) +InitComboProc() +Fermeture de FEN_Principal +SI OuiNon("Voulez-vous fermer l'application") = Oui ALORS +FinProgramme() +SINON +RepriseSaisie(FEN_Principal) +FIN +FEN_Principal +Code des champs +Initialisation de CMB_Users +// Version 1 +// Description +// Combo liste simple +ListeSupprimeTout(CMB_Users) +POUR TOUT stUser, saCle de LIB_DEBUG.gtbaListeUsers +ListeAjoute(CMB_Users,saCle+gLien(saCle)) +FIN +Sélection d'une ligne de CMB_Users +SelectUser() +Clic sur IMG_Recharger +SelectUser() +Initialisation de SAI_DateDebut +// Version 1 +// Description +// Saisie d'une date avec calendrier +dDate est une Date = DateSys() +dDate..Mois -= 2 +SAI_DateDebut = dDate +A chaque modification de SAI_DateDebut +LIB_DEBUG.gdDateDeb = SAI_DateDebut +Initialisation de SAI_DateFin +12/08/2026 Batik_WS_Com_Mob 62 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs +// Version 1 +// Description +// Saisie d'une date avec calendrier +dDate est une Date = DateSys() +dDate..Mois += 2 +SAI_DateFin = dDate +A chaque modification de SAI_DateFin +LIB_DEBUG.gdDateFin = SAI_DateFin +Initialisation de BTN_Recherche ( SC_Menu ) +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Recherche ( SC_Menu ) +TraiteReponse(cCMD_RechercheRDV) +Initialisation de CMB_Proc ( SC_Menu ) +// Version 1 +// Description +// Combo liste simple +Sélection d'une ligne de CMB_Proc ( SC_Menu ) +SelectProcGlobal() +Initialisation de CMB_ProcColb ( SC_Menu ) +// Version 1 +// Description +// Combo liste simple +Sélection d'une ligne de CMB_ProcColb ( SC_Menu ) +SelectProcColb() +Initialisation de CMB_ProcParam ( SC_Menu ) +// Version 1 +// Description +// Combo liste simple +Sélection d'une ligne de CMB_ProcParam ( SC_Menu ) +SI LIB_DEBUG.gnIdInterChoisi <= 0 ALORS +Erreur("Veuillez sélectionner un rendez-vous") +RETOUR +FIN +12/08/2026 Batik_WS_Com_Mob 63 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs +SI CMB_ProcParam = cCMD_ListeCh_Rapport _ET_ LIB_DEBUG.gnIdRapportChoisi <= 0 ALORS +Erreur("Veuillez sélectionner un modèle de rapport") +RETOUR +FIN +SI CMB_ProcParam = cCMD_ListeCh_Mail _ET_ LIB_DEBUG.gnIdEmailChoisi <= 0 ALORS +Erreur("Veuillez sélectionner un modèle d'email") +RETOUR +FIN +SI CMB_ProcParam = cCMD_ListeCh_Rapport ALORS +TraiteReponse(cCMD_ListeCh_Rapport) +FIN +SI CMB_ProcParam = cCMD_ListeCh_Mail ALORS +TraiteReponse(cCMD_ListeCh_Mail) +FIN +Initialisation de CMB_ProcRDV ( SC_Menu ) +// Version 1 +// Description +// Combo liste simple +Sélection d'une ligne de CMB_ProcRDV ( SC_Menu ) +SelectProcRDV() +Sélection d'une ligne de TABLE_Colb +SI TABLE_Colb > 0 _ET_ COL_C_IdColb[TABLE_Colb] > 0 ALORS +LIB_DEBUG.gnIdCollabChoisi = COL_C_IdColb[TABLE_Colb] +FIN +Ajout d'un jeton dans COL_C_IdColb ( TABLE_Colb ) +PROCÉDURE AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +RENVOYER Vrai +Suppression d'un jeton dans COL_C_IdColb ( TABLE_Colb ) +PROCÉDURE SuppressionJeton(MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +RENVOYER Vrai +Clic sur un jeton de COL_C_IdColb ( TABLE_Colb ) +PROCÉDURE ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de COL_C_IdColb ( TABLE_Colb ) +PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton) +12/08/2026 Batik_WS_Com_Mob 64 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs +//RENVOYER Faux pour interdire l'entrée en saisie du jeton +RENVOYER Vrai +Modification d'un jeton de COL_C_IdColb ( TABLE_Colb ) +PROCÉDURE ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +RENVOYER Vrai +Ajout d'un jeton dans COL_C_NomPrenom ( TABLE_Colb ) +PROCÉDURE AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +RENVOYER Vrai +Suppression d'un jeton dans COL_C_NomPrenom ( TABLE_Colb ) +PROCÉDURE SuppressionJeton(MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +RENVOYER Vrai +Clic sur un jeton de COL_C_NomPrenom ( TABLE_Colb ) +PROCÉDURE ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de COL_C_NomPrenom ( TABLE_Colb ) +PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'entrée en saisie du jeton +RENVOYER Vrai +Modification d'un jeton de COL_C_NomPrenom ( TABLE_Colb ) +PROCÉDURE ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +RENVOYER Vrai +Ajout d'un jeton dans COL_C_Libelle ( TABLE_Contexte ) +PROCÉDURE AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +RENVOYER Vrai +Suppression d'un jeton dans COL_C_Libelle ( TABLE_Contexte ) +PROCÉDURE SuppressionJeton(MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +RENVOYER Vrai +Clic sur un jeton de COL_C_Libelle ( TABLE_Contexte ) +12/08/2026 Batik_WS_Com_Mob 65 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs +PROCÉDURE ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de COL_C_Libelle ( TABLE_Contexte ) +PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'entrée en saisie du jeton +RENVOYER Vrai +Modification d'un jeton de COL_C_Libelle ( TABLE_Contexte ) +PROCÉDURE ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +RENVOYER Vrai +Ajout d'un jeton dans COL_C_Type ( TABLE_Contexte ) +PROCÉDURE AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +RENVOYER Vrai +Suppression d'un jeton dans COL_C_Type ( TABLE_Contexte ) +PROCÉDURE SuppressionJeton(MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +RENVOYER Vrai +Clic sur un jeton de COL_C_Type ( TABLE_Contexte ) +PROCÉDURE ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de COL_C_Type ( TABLE_Contexte ) +PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'entrée en saisie du jeton +RENVOYER Vrai +Modification d'un jeton de COL_C_Type ( TABLE_Contexte ) +PROCÉDURE ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +RENVOYER Vrai +Sélection d'une ligne de TABLE_Param +SI TABLE_Param > 0 _ET_ COL_IdParam[TABLE_Param] > 0 ALORS +SI COL_Type[TABLE_Param] = cParam_ListeMailModele ALORS +LIB_DEBUG.gnIdEmailChoisi = COL_IdParam[TABLE_Param] +SINON SI COL_Type[TABLE_Param] = cParam_ListeRapportMob ALORS +LIB_DEBUG.gnIdRapportChoisi = COL_IdParam[TABLE_Param] +12/08/2026 Batik_WS_Com_Mob 66 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs +FIN +FIN +Ajout d'un jeton dans COL_IdParam ( TABLE_Param ) +PROCÉDURE AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +RENVOYER Vrai +Suppression d'un jeton dans COL_IdParam ( TABLE_Param ) +PROCÉDURE SuppressionJeton(MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +RENVOYER Vrai +Clic sur un jeton de COL_IdParam ( TABLE_Param ) +PROCÉDURE ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de COL_IdParam ( TABLE_Param ) +PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'entrée en saisie du jeton +RENVOYER Vrai +Modification d'un jeton de COL_IdParam ( TABLE_Param ) +PROCÉDURE ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +RENVOYER Vrai +Ajout d'un jeton dans COL_Libelle ( TABLE_Param ) +PROCÉDURE AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +RENVOYER Vrai +Suppression d'un jeton dans COL_Libelle ( TABLE_Param ) +PROCÉDURE SuppressionJeton(MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +RENVOYER Vrai +Clic sur un jeton de COL_Libelle ( TABLE_Param ) +PROCÉDURE ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de COL_Libelle ( TABLE_Param ) +12/08/2026 Batik_WS_Com_Mob 67 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs +PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'entrée en saisie du jeton +RENVOYER Vrai +Modification d'un jeton de COL_Libelle ( TABLE_Param ) +PROCÉDURE ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +RENVOYER Vrai +Ajout d'un jeton dans COL_Type ( TABLE_Param ) +PROCÉDURE AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +RENVOYER Vrai +Suppression d'un jeton dans COL_Type ( TABLE_Param ) +PROCÉDURE SuppressionJeton(MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +RENVOYER Vrai +Clic sur un jeton de COL_Type ( TABLE_Param ) +PROCÉDURE ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de COL_Type ( TABLE_Param ) +PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'entrée en saisie du jeton +RENVOYER Vrai +Modification d'un jeton de COL_Type ( TABLE_Param ) +PROCÉDURE ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +RENVOYER Vrai +Sélection d'une ligne de TABLE_RDV +SI TABLE_RDV > 0 _ET_ COL_IdRDV[TABLE_RDV] > 0 ALORS +LIB_DEBUG.gnIdInterChoisi = COL_IdInter[TABLE_RDV] +FIN +Ajout d'un jeton dans COL_DateD ( TABLE_RDV ) +PROCÉDURE AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +12/08/2026 Batik_WS_Com_Mob 68 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs +RENVOYER Vrai +Suppression d'un jeton dans COL_DateD ( TABLE_RDV ) +PROCÉDURE SuppressionJeton(MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +RENVOYER Vrai +Clic sur un jeton de COL_DateD ( TABLE_RDV ) +PROCÉDURE ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de COL_DateD ( TABLE_RDV ) +PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'entrée en saisie du jeton +RENVOYER Vrai +Modification d'un jeton de COL_DateD ( TABLE_RDV ) +PROCÉDURE ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +RENVOYER Vrai +Ajout d'un jeton dans COL_DateF ( TABLE_RDV ) +PROCÉDURE AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +RENVOYER Vrai +Suppression d'un jeton dans COL_DateF ( TABLE_RDV ) +PROCÉDURE SuppressionJeton(MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +RENVOYER Vrai +Clic sur un jeton de COL_DateF ( TABLE_RDV ) +PROCÉDURE ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de COL_DateF ( TABLE_RDV ) +PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'entrée en saisie du jeton +RENVOYER Vrai +Modification d'un jeton de COL_DateF ( TABLE_RDV ) +12/08/2026 Batik_WS_Com_Mob 69 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs +PROCÉDURE ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +RENVOYER Vrai +Ajout d'un jeton dans COL_IdInter ( TABLE_RDV ) +PROCÉDURE AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +RENVOYER Vrai +Suppression d'un jeton dans COL_IdInter ( TABLE_RDV ) +PROCÉDURE SuppressionJeton(MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +RENVOYER Vrai +Clic sur un jeton de COL_IdInter ( TABLE_RDV ) +PROCÉDURE ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de COL_IdInter ( TABLE_RDV ) +PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'entrée en saisie du jeton +RENVOYER Vrai +Modification d'un jeton de COL_IdInter ( TABLE_RDV ) +PROCÉDURE ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +RENVOYER Vrai +Ajout d'un jeton dans COL_IdRDV ( TABLE_RDV ) +PROCÉDURE AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +RENVOYER Vrai +Suppression d'un jeton dans COL_IdRDV ( TABLE_RDV ) +PROCÉDURE SuppressionJeton(MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +RENVOYER Vrai +Clic sur un jeton de COL_IdRDV ( TABLE_RDV ) +PROCÉDURE ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de COL_IdRDV ( TABLE_RDV ) +12/08/2026 Batik_WS_Com_Mob 70 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs +PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'entrée en saisie du jeton +RENVOYER Vrai +Modification d'un jeton de COL_IdRDV ( TABLE_RDV ) +PROCÉDURE ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +RENVOYER Vrai +Ajout d'un jeton dans COL_Lieu ( TABLE_RDV ) +PROCÉDURE AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +RENVOYER Vrai +Suppression d'un jeton dans COL_Lieu ( TABLE_RDV ) +PROCÉDURE SuppressionJeton(MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +RENVOYER Vrai +Clic sur un jeton de COL_Lieu ( TABLE_RDV ) +PROCÉDURE ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de COL_Lieu ( TABLE_RDV ) +PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'entrée en saisie du jeton +RENVOYER Vrai +Modification d'un jeton de COL_Lieu ( TABLE_RDV ) +PROCÉDURE ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +RENVOYER Vrai +Ajout d'un jeton dans COL_NInter ( TABLE_RDV ) +PROCÉDURE AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +RENVOYER Vrai +Suppression d'un jeton dans COL_NInter ( TABLE_RDV ) +PROCÉDURE SuppressionJeton(MonJeton est un Jeton) +12/08/2026 Batik_WS_Com_Mob 71 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs +//RENVOYER Faux pour interdire la suppression du jeton +RENVOYER Vrai +Clic sur un jeton de COL_NInter ( TABLE_RDV ) +PROCÉDURE ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de COL_NInter ( TABLE_RDV ) +PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'entrée en saisie du jeton +RENVOYER Vrai +Modification d'un jeton de COL_NInter ( TABLE_RDV ) +PROCÉDURE ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +RENVOYER Vrai +Sélection d'une ligne de TABLE_RDVColb +SI TABLE_RDVColb > 0 _ET_ COL_C_IdRDV[TABLE_RDVColb] > 0 ALORS +LIB_DEBUG.gnIdInterChoisi = COL_C_IdInter[TABLE_RDVColb] +FIN +Ajout d'un jeton dans COL_C_DateD ( TABLE_RDVColb ) +PROCÉDURE AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +RENVOYER Vrai +Suppression d'un jeton dans COL_C_DateD ( TABLE_RDVColb ) +PROCÉDURE SuppressionJeton(MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +RENVOYER Vrai +Clic sur un jeton de COL_C_DateD ( TABLE_RDVColb ) +PROCÉDURE ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de COL_C_DateD ( TABLE_RDVColb ) +PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'entrée en saisie du jeton +RENVOYER Vrai +Modification d'un jeton de COL_C_DateD ( TABLE_RDVColb ) +12/08/2026 Batik_WS_Com_Mob 72 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs +PROCÉDURE ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +RENVOYER Vrai +Ajout d'un jeton dans COL_C_DateF ( TABLE_RDVColb ) +PROCÉDURE AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +RENVOYER Vrai +Suppression d'un jeton dans COL_C_DateF ( TABLE_RDVColb ) +PROCÉDURE SuppressionJeton(MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +RENVOYER Vrai +Clic sur un jeton de COL_C_DateF ( TABLE_RDVColb ) +PROCÉDURE ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de COL_C_DateF ( TABLE_RDVColb ) +PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'entrée en saisie du jeton +RENVOYER Vrai +Modification d'un jeton de COL_C_DateF ( TABLE_RDVColb ) +PROCÉDURE ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +RENVOYER Vrai +Ajout d'un jeton dans COL_C_IdInter ( TABLE_RDVColb ) +PROCÉDURE AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +RENVOYER Vrai +Suppression d'un jeton dans COL_C_IdInter ( TABLE_RDVColb ) +PROCÉDURE SuppressionJeton(MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +RENVOYER Vrai +Clic sur un jeton de COL_C_IdInter ( TABLE_RDVColb ) +PROCÉDURE ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de COL_C_IdInter ( TABLE_RDVColb ) +12/08/2026 Batik_WS_Com_Mob 73 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs +PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'entrée en saisie du jeton +RENVOYER Vrai +Modification d'un jeton de COL_C_IdInter ( TABLE_RDVColb ) +PROCÉDURE ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +RENVOYER Vrai +Ajout d'un jeton dans COL_C_IdRDV ( TABLE_RDVColb ) +PROCÉDURE AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +RENVOYER Vrai +Suppression d'un jeton dans COL_C_IdRDV ( TABLE_RDVColb ) +PROCÉDURE SuppressionJeton(MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +RENVOYER Vrai +Clic sur un jeton de COL_C_IdRDV ( TABLE_RDVColb ) +PROCÉDURE ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de COL_C_IdRDV ( TABLE_RDVColb ) +PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'entrée en saisie du jeton +RENVOYER Vrai +Modification d'un jeton de COL_C_IdRDV ( TABLE_RDVColb ) +PROCÉDURE ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +RENVOYER Vrai +Ajout d'un jeton dans COL_C_Lieu ( TABLE_RDVColb ) +PROCÉDURE AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +RENVOYER Vrai +Suppression d'un jeton dans COL_C_Lieu ( TABLE_RDVColb ) +PROCÉDURE SuppressionJeton(MonJeton est un Jeton) +12/08/2026 Batik_WS_Com_Mob 74 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs +//RENVOYER Faux pour interdire la suppression du jeton +RENVOYER Vrai +Clic sur un jeton de COL_C_Lieu ( TABLE_RDVColb ) +PROCÉDURE ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de COL_C_Lieu ( TABLE_RDVColb ) +PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'entrée en saisie du jeton +RENVOYER Vrai +Modification d'un jeton de COL_C_Lieu ( TABLE_RDVColb ) +PROCÉDURE ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +RENVOYER Vrai +Ajout d'un jeton dans COL_C_NInter ( TABLE_RDVColb ) +PROCÉDURE AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +RENVOYER Vrai +Suppression d'un jeton dans COL_C_NInter ( TABLE_RDVColb ) +PROCÉDURE SuppressionJeton(MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +RENVOYER Vrai +Clic sur un jeton de COL_C_NInter ( TABLE_RDVColb ) +PROCÉDURE ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de COL_C_NInter ( TABLE_RDVColb ) +PROCÉDURE EntreSaisieJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'entrée en saisie du jeton +RENVOYER Vrai +Modification d'un jeton de COL_C_NInter ( TABLE_RDVColb ) +PROCÉDURE ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +RENVOYER Vrai +Initialisation de SAI_Recherche ( SC_Menu ) +12/08/2026 Batik_WS_Com_Mob 75 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Code des champs +// Version 1 +// Description +// Champ de saisie pour un texte simple sur une ligne +Initialisation de SEL_WSCom +// Version 1 +// Description +// Sélecteur simple en lignes sur 2 colonnes +SEL_WSCom = 0 +LIB_DEBUG.gbEnvoiWebService = SEL_WSCom +A chaque modification de SEL_WSCom +LIB_DEBUG.gbEnvoiWebService = SEL_WSCom +FEN_Principal +Procédures +Procédure locale InitComboProc +PROCÉDURE InitComboProc() +ListeSupprimeTout(CMB_Proc) +ListeAjoute(CMB_Proc,"Liste des interventions (RDV)"+gLien(cCMD_ListeRDV_V2)) +ListeAjoute(CMB_Proc,"Récupérer les paramètres de l'application"+gLien(cCMD_LitParam_V2)) +ListeAjoute(CMB_Proc,"Récupérer les contexte de l'application"+gLien(cCMD_LitContexte)) +ListeAjoute(CMB_Proc,"Récupérer la liste des collaborateurs (Droit de consulter leur agenda)"+gLien( +cCMD_IdClbRdvDroitC)) +ListeSupprimeTout(CMB_ProcRDV) +ListeAjoute(CMB_ProcRDV,"Récupérer une intervention"+gLien(cCMD_LitINTER_V2)) +ListeAjoute(CMB_ProcRDV,"Récupérer le temps saisie d'une rendez-vous"+gLien(cCMD_ListeTEMPS)) +ListeSupprimeTout(CMB_ProcParam) +ListeAjoute(CMB_ProcParam,"Récupérer les champs a remplir d'un rapport"+gLien(cCMD_ListeCh_Rapport)) +ListeAjoute(CMB_ProcParam,"Récupérer les champs a remplir d'un email "+gLien(cCMD_ListeCh_Mail)) +ListeSupprimeTout(CMB_ProcColb) +ListeAjoute(CMB_ProcColb,"Liste des interventions (RDV)"+gLien(cCMD_ListeRDV_Clb)) +ListeAjoute(CMB_ProcColb,"Récupérer une intervention"+gLien(cCMD_LitINTER_V2)) +ListeAjoute(CMB_ProcColb,"Récupérer le temps saisie d'une rendez-vous"+gLien(cCMD_ListeTEMPS)) +Procédure locale SelectProcColb +PROCÉDURE SelectProcColb() +SI CMB_ProcColb <> Null ET CMB_ProcColb <> "" ET TABLE_Colb > 0 ALORS +SI COL_C_IdColb[TABLE_Colb] <= 0 ALORS +Erreur("Veuillez choisir un collaborateur") +RENVOYER Faux +FIN +12/08/2026 Batik_WS_Com_Mob 76 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Procédures +LIB_DEBUG.gnIdCollabChoisi = COL_C_IdColb[TABLE_Colb] +SI TABLE_RDVColb > 0 _ET_ COL_C_IdRDV[TABLE_RDVColb] > 0 ALORS +LIB_DEBUG.gnIdInterChoisi = COL_C_IdInter[TABLE_RDVColb] +FIN +TraiteReponse(CMB_ProcColb) +FIN +SI TABLE_Colb <= 0 ALORS +Erreur("Veuillez choisir un collaborateur") +RENVOYER Faux +FIN +Procédure locale SelectProcGlobal +PROCÉDURE SelectProcGlobal() +SI CMB_Proc <> Null ET CMB_Proc <> "" ALORS +TraiteReponse(CMB_Proc) +FIN +Procédure locale SelectProcRDV +PROCÉDURE SelectProcRDV() +SI CMB_ProcRDV <> Null ET CMB_ProcRDV <> "" ALORS +SI LIB_DEBUG.gnIdInterChoisi <= 0 ALORS +Erreur("Veuillez choisir un rendez-vous") +RENVOYER Faux +FIN +LIB_DEBUG.gnIdCollabChoisi = LIB_DEBUG.gtbaListeUsers[CMB_Users].nIdColb +SI TABLE_RDV > 0 _ET_ COL_IdRDV[TABLE_RDV] > 0 ALORS +LIB_DEBUG.gnIdInterChoisi = COL_IdInter[TABLE_RDV] +FIN +TraiteReponse(CMB_ProcRDV) +FIN +Procédure locale SelectUser +PROCÉDURE SelectUser() +SI CMB_Users <> Null _ET_ LIB_DEBUG.gtbaListeUsers[CMB_Users]..Existe = Vrai ALORS +LIB_DEBUG.gID.saLicence = LIB_DEBUG.gtbaListeUsers[CMB_Users].saLicence +LIB_DEBUG.gID.saIdMob = LIB_DEBUG.gtbaListeUsers[CMB_Users].saIdMob +LIB_DEBUG.gID.saNumPort = LIB_DEBUG.gtbaListeUsers[CMB_Users].saNumPort +LIB_DEBUG.gID.nIdUser = LIB_DEBUG.gtbaListeUsers[CMB_Users].nIdUser +LIB_DEBUG.gID.saBaseData = LIB_DEBUG.gtbaListeUsers[CMB_Users].saBaseData +LIB_DEBUG.gID.saBaseSync = LIB_DEBUG.gtbaListeUsers[CMB_Users].saBaseSync +LIB_DEBUG.gID.saIdClient = LIB_DEBUG.gtbaListeUsers[CMB_Users].saIdClient +LIB_DEBUG.gnIdCollabSID = LIB_DEBUG.gtbaListeUsers[CMB_Users].nIdColb +LIB_DEBUG.gnIdCollabChoisi = LIB_DEBUG.gtbaListeUsers[CMB_Users].nIdColb +SC_Menu..Visible = Vrai +FIN +Procédure locale TraiteReponse +PROCÉDURE TraiteReponse(saType est une chaîne ANSI) +Sablier(Vrai) +bufRes est un Buffer +12/08/2026 Batik_WS_Com_Mob 77 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Procédures +bufRes = D_LanceProcedure(saType) +i est un entier +SELON saType +CAS cCMD_ListeDOC +CAS cCMD_ListeRDV_V2 +tblRDV est un tableau de ST_RDV_INTER +SI bufRes <> "" ALORS +Désérialise(tblRDV,bufRes,psdJSON) +FIN +TableSupprimeTout(TABLE_RDV) +POUR TOUT stORdv DE tblRDV +i = TableAjouteLigne(TABLE_RDV) +COL_IdRDV[i] = stORdv.stRDV.nPKID +COL_IdInter[i] = stORdv.stRDV.nIDIntervention +COL_DateD[i] = stORdv.stRDV.saDateDebut +COL_DateF[i] = stORdv.stRDV.saDateFin +COL_NInter[i] = stORdv.stINTER.saInt_RfI +COL_Lieu[i] = stORdv.saRDV_Lieu +FIN +ONG_Info = ONG_Info.RDV +CAS cCMD_LitINTER_V2 +CAS cCMD_RechercheRDV +CAS cCMD_ListeTEMPS +CAS cCMD_LitParam_V2 //Appelé par la fonction RécupContexte du mobile +TableSupprimeTout(TABLE_Param) +tbParam est un tableau de ST_PARAMETRE_METIER_V2 +SI bufRes <> "" ALORS +Désérialise(tbParam,bufRes,psdJSON) +FIN +POUR TOUT stOParam DE tbParam +SI stOParam.saCode DANS(cParam_ListeMailModele,cParam_ListeRapportMob) ALORS +i = TableAjouteLigne(TABLE_Param) +COL_IdParam[i] = stOParam.nIdParam +COL_Libelle[i] = stOParam.saLib +COL_Type[i] = stOParam.saCode +FIN +SI TABLE_Param..Occurrence > 0 ALORS +TableTrie(TABLE_Param,"COL_Type") +FIN +FIN +ONG_Info.Contexte..Visible = Vrai +ONG_Info = ONG_Info.Contexte +CAS cCMD_LitContexte +TableSupprimeTout(TABLE_Contexte) +stCtx est un ST_CONTEXTE +SI bufRes <> "" ALORS +Désérialise(stCtx,bufRes,psdJSON) +FIN +TableAjouteLigne(TABLE_Contexte,"Profil",stCtx.stUser.saProfil) +TableAjouteLigne(TABLE_Contexte,"Annulation des RDVs",stCtx.stUser.bDroit_AnnulationRDV ? "OUI" +SINON "NON") +TableAjouteLigne(TABLE_Contexte,"Création de rapport",stCtx.stUser.bDroit_CreationRapport ? +"OUI" SINON "NON") +TableAjouteLigne(TABLE_Contexte,"Envoi d'email",stCtx.stUser.bDroit_EnvoiEmail ? "OUI" SINON +"NON") +TableAjouteLigne(TABLE_Contexte,"Id Collaborateur",LIB_DEBUG.gnIdCollabSID) +12/08/2026 Batik_WS_Com_Mob 78 + +Partie 3 › Fenêtre WINDEV › FEN_Principal › Procédures +TableAjouteLigne(TABLE_Contexte,"Id Utilisateur",LIB_DEBUG.gID.nIdUser) +ONG_Info.Contexte..Visible = Vrai +ONG_Info = ONG_Info.Contexte +CAS cCMD_IdClbRdvDroitC +tbIdClb est un tableau de ST_IdRDVClbDroitC +SI bufRes <> "" ALORS +Désérialise(tbIdClb,bufRes,psdJSON) +FIN +TableSupprimeTout(TABLE_Colb) +POUR TOUT stOClb DE tbIdClb +i = TableAjouteLigne(TABLE_Colb) +COL_C_IdColb[i] = stOClb.nIdClb +COL_C_NomPrenom[i] = stOClb.sNomPrenom +FIN +ONG_Info.Colb..Visible = Vrai +ONG_Info = ONG_Info.Colb +CAS cCMD_ListeRDV_Clb +tblRDV est un tableau de ST_RDV_INTER +SI bufRes <> "" ALORS +Désérialise(tblRDV,bufRes,psdJSON) +FIN +TableSupprimeTout(TABLE_RDV) +POUR TOUT stORdv DE tblRDV +i = TableAjouteLigne(TABLE_RDVColb) +COL_C_IdRDV[i] = stORdv.stRDV.nPKID +COL_C_IdInter[i] = stORdv.stRDV.nIDIntervention +COL_C_DateD[i] = stORdv.stRDV.saDateDebut +COL_C_DateF[i] = stORdv.stRDV.saDateFin +COL_C_NInter[i] = stORdv.stINTER.saInt_RfI +COL_C_Lieu[i] = stORdv.saRDV_Lieu +FIN +ONG_Info.Colb..Visible = Vrai +ONG_Info = ONG_Info.Colb +CAS cCMD_ListeCh_Rapport +CAS cCMD_RecupImgRapport +CAS cCMD_Creation_Rapport +CAS cCMD_ListeCh_Mail +CAS cCMD_Cr_Structure_Mail +CAS cCMD_Envoyer_Mail +AUTRE CAS +FIN +Sablier(fauxToutSablier) +12/08/2026 Batik_WS_Com_Mob 79 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Image +FEN_Connexion +Image +FEN_Connexion +Informations générales +FEN_Connexion +D:\Projets Windev\Batik\Nouvelle +Fichier physique +Version\WebService\Batik_WS_Com_Mob\FEN_Connexion.wdw +Créé par susana@applilogik.fr +Date de création 14/01/2026 08:46:17 +Dernière modification par susana@applilogik.fr +Date dernière modification 27/03/2026 12:13:41 +Titre FR: Connexion +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +12/08/2026 Batik_WS_Com_Mob 80 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 631 Hauteur | 520 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ---------------- | --- | --- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | Double | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le gabarit du projet | | <Défaut> | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Office XP | | | | +| Mode bulle d'aide | | Non | | | | +| Mode Bulle : Point chaud | | Haut gauche | | | | +| Mode Bulle : Décalage X | | 0 | | | | +| Mode Bulle : Décalage Y | | 0 | | | | +| Valide auto. | | 0 | | | | +| Lib. + tps restant | | Oui | | | | +| Pos. X Menu | | 6 | | | | +| Pos. Y Menu | | 28 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| Anim. Fermeture | | 0 | | | | +| Durée Anim. Ouverture | | 100 | | | | +| Durée Anim. Fermeture | | 50 | | | | +| Adapte Taille contenu | | Non | | | | +| Assombri quand inactif | | Oui | | | | +| Déplace souris sur bouton par | | Non | | | | +| Compact. barres outils | | Non | | | | +| 12/08/2026 | | | Batik_WS_Com_Mob | | 81 | + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | 13 | Libellé | | 2 | +| --- | --------------- | --- | --- | ------- | --- | --- | +| | Bouton | | 1 | | | | +Nombre d'éléments dans la fenêtre : 16 +FEN_Connexion +Informations sur les champs +Fenêtre : FEN_Connexion +Champ de saisie +euqitamotua tnemecaffE +euqitamotua eisias niF +reihcif eétsissa eisiaS +| | | | | eriotagilbo eisiaS | .zroH tnemeliféD .trev tnemeliféD | | +| --- | --- | --- | --- | ------------------ | --------------------------------- | --- | +latnoziroh .csA +essap ed toM +| | | | BAT ehcuoT | | cnalb à esiM ediv is LLUN | lacitrev .csA | +| --- | --- | --- | ------------------------ | --------------------- | ------------------------- | ------------- | +| | | | laitini tatE eisias epyT | engilitluM FTR tamroF | | | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| SAI_BaseLicence | 9 90 182 | 49 0 | Actif Texte | Non | | | +| --------------- | ----------- | ---- | ----------- | --- | --- | --- | +| SAI_BaseWSCom | 12 323 179 | 49 0 | Actif Texte | Non | | | +| SAI_MPLicence | 197 141 206 | 49 0 | Actif Texte | Non | | | +SAI_MPLicenceFichier +| | 414 141 206 | 49 0 | Actif Texte | Non | | | +| ------------------ | ----------- | ---- | ---------------- | --- | --- | --- | +| SAI_MPWSCom | 325 374 298 | 49 0 | Actif Texte | Non | | | +| SAI_NomBaseLicence | 320 90 300 | 49 0 | Actif Texte | Non | | | +| SAI_NomBaseWSCom | 323 323 300 | 49 0 | Actif Texte | Non | | | +| SAI_PortLicence | 197 90 117 | 49 0 | Actif Texte | Non | | | +| SAI_PortWSCom | 197 323 117 | 49 0 | Actif Texte | Non | | | +| SAI_URLLicence | 9 38 611 | 50 0 | Actif Texte | Non | | | +| SAI_URLWSCom | 12 271 611 | 50 0 | Actif Texte | Non | | | +| SAI_UserLicence | 9 141 182 | 49 0 | Actif Texte | Non | | | +| SAI_UserWSCom | 12 374 305 | 49 0 | Actif Texte | Non | | | +| 12/08/2026 | | | Batik_WS_Com_Mob | | | 82 | + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| LIB_Libellé | 9 6 | 203 26 | 0 | Actif | Gauche Haut | | +| ------------ | ----- | ------ | --- | ----- | ----------- | --- | +| LIB_Libellé1 | 9 221 | 242 26 | 0 | Actif | Gauche Haut | | +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| BTN_Valider | 508 | 430 115 | 24 | 0 | Actif | Normal | +| ----------- | --- | ------- | --- | --- | ----- | ------ | +Fenêtre : FEN_Connexion +Bouton : BTN_Valider +| Libellé | FR: Se Connecter | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Ordre navigation | 14 | | | | | | +| Curseur survol | 0 | | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | | +| On/Off | Non | | | | | | +| Recopie Option menu flèche | Non | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Retrait gauche | 0 | | | | | | +| Réduction Ruban | Ne pas réduire le bouton | | | | | | +| Cadrage fonctions gXXX | Cadrage ignoré (pour compatibilité) | | | | | | +| Numéro aide | 0 | | | | | | +| Opacité | 100 | | | | | | +| Autorise ChangeGabarit | Oui | | | | | | +| Animée par défaut | Oui | | | | | | +| Mode ellipse | <Aucun> | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +Facteur d'agrandissement +0 +| Type flèche | <Aucun> | | | | | | +| --------------- | ------- | ---------------- | --- | --- | --- | --- | +| Texte Markdown | Non | | | | | | +| Mode menu ctx. | <Aucun> | | | | | | +| Nb. états image | 1 | | | | | | +| 12/08/2026 | | Batik_WS_Com_Mob | | | | 83 | + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Libellé +Libellé FR: Serveur Licence +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse <Aucun> +Unicode Non +Transforme le & Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Mise à blanc Oui +Texte Markdown Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +12/08/2026 Batik_WS_Com_Mob 84 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs +Libellé : LIB_Libellé1 +Libellé FR: Serveur WS Com Mobile +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse <Aucun> +Unicode Non +Transforme le & Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Mise à blanc Oui +Texte Markdown Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_BaseLicence +Libellé FR: Base de données serveur +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 11 +12/08/2026 Batik_WS_Com_Mob 85 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs +Largeur interne 180 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Oui +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Oui +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +Bouton droit : Nombre d'états 1 +Bouton gauche : Largeur 0 +Bouton droit : Largeur 0 +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Non +12/08/2026 Batik_WS_Com_Mob 86 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs +Bouton droit : Monochrome Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_BaseWSCom +Libellé FR: Base de données serveur +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 14 +Largeur interne 177 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +12/08/2026 Batik_WS_Com_Mob 87 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Oui +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Oui +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +Bouton droit : Nombre d'états 1 +Bouton gauche : Largeur 0 +Bouton droit : Largeur 0 +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Non +Bouton droit : Monochrome Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_MPLicence +Libellé FR: Mot de passe +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 197 +Largeur interne 206 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +12/08/2026 Batik_WS_Com_Mob 88 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Oui +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +Bouton droit : Nombre d'états 1 +Bouton gauche : Largeur 0 +Bouton droit : Largeur 0 +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Non +Bouton droit : Monochrome Non +12/08/2026 Batik_WS_Com_Mob 89 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_MPLicenceFichiers +Libellé FR: Mot de passe (Fichiers) +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 414 +Largeur interne 206 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +12/08/2026 Batik_WS_Com_Mob 90 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Oui +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +Bouton droit : Nombre d'états 1 +Bouton gauche : Largeur 0 +Bouton droit : Largeur 0 +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Non +Bouton droit : Monochrome Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_MPWSCom +Libellé FR: Mot de passe +Ordre navigation 13 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 325 +Largeur interne 298 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +12/08/2026 Batik_WS_Com_Mob 91 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs +Autorise ChangeGabarit Oui +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Oui +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +Bouton droit : Nombre d'états 1 +Bouton gauche : Largeur 0 +Bouton droit : Largeur 0 +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Non +Bouton droit : Monochrome Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +12/08/2026 Batik_WS_Com_Mob 92 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs +Champ de saisie : SAI_NomBaseLicence +Libellé FR: Nom de la base de données +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 322 +Largeur interne 298 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +12/08/2026 Batik_WS_Com_Mob 93 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs +Historique des saisies Oui +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Oui +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +Bouton droit : Nombre d'états 1 +Bouton gauche : Largeur 0 +Bouton droit : Largeur 0 +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Non +Bouton droit : Monochrome Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_NomBaseWSCom +Libellé FR: Nom de la base de données +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 325 +Largeur interne 298 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +12/08/2026 Batik_WS_Com_Mob 94 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Oui +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Oui +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +Bouton droit : Nombre d'états 1 +Bouton gauche : Largeur 0 +Bouton droit : Largeur 0 +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Non +Bouton droit : Monochrome Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +12/08/2026 Batik_WS_Com_Mob 95 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs +Champ de saisie : SAI_PortLicence +Libellé FR: Port +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 197 +Largeur interne 117 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +12/08/2026 Batik_WS_Com_Mob 96 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs +Historique des saisies Oui +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Oui +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +Bouton droit : Nombre d'états 1 +Bouton gauche : Largeur 0 +Bouton droit : Largeur 0 +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Non +Bouton droit : Monochrome Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_PortWSCom +Libellé FR: Port +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 197 +Largeur interne 117 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +12/08/2026 Batik_WS_Com_Mob 97 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Oui +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Oui +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +Bouton droit : Nombre d'états 1 +Bouton gauche : Largeur 0 +Bouton droit : Largeur 0 +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Non +Bouton droit : Monochrome Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +12/08/2026 Batik_WS_Com_Mob 98 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs +Champ de saisie : SAI_URLLicence +Libellé FR: URL Web Service Licence +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 11 +Largeur interne 609 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +12/08/2026 Batik_WS_Com_Mob 99 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs +Historique des saisies Oui +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Oui +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +Bouton droit : Nombre d'états 1 +Bouton gauche : Largeur 0 +Bouton droit : Largeur 0 +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Non +Bouton droit : Monochrome Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_URLWSCom +Libellé FR: URL Web Service +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 14 +Largeur interne 609 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +12/08/2026 Batik_WS_Com_Mob 100 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Oui +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Oui +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +Bouton droit : Nombre d'états 1 +Bouton gauche : Largeur 0 +Bouton droit : Largeur 0 +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Non +Bouton droit : Monochrome Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +12/08/2026 Batik_WS_Com_Mob 101 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs +Champ de saisie : SAI_UserLicence +Libellé FR: Utilisateur +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 11 +Largeur interne 180 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +12/08/2026 Batik_WS_Com_Mob 102 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs +Historique des saisies Oui +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Oui +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +Bouton droit : Nombre d'états 1 +Bouton gauche : Largeur 0 +Bouton droit : Largeur 0 +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Non +Bouton droit : Monochrome Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_UserWSCom +Libellé FR: Utilisateur +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 14 +Largeur interne 303 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +12/08/2026 Batik_WS_Com_Mob 103 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Informations sur les champs +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Oui +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Oui +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +Bouton droit : Nombre d'états 1 +Bouton gauche : Largeur 0 +Bouton droit : Largeur 0 +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Non +Bouton droit : Monochrome Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +12/08/2026 Batik_WS_Com_Mob 104 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Code +FEN_Connexion +Code +Déclarations globales de FEN_Connexion +PROCÉDURE FEN_Connexion() +FEN_Connexion +Code des champs +Initialisation de BTN_Valider +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Valider +SeConnecter() +Initialisation de LIB_Libellé +// Version 1 +// Description +// Libellé pour écrire un titre +Initialisation de LIB_Libellé1 +// Version 1 +// Description +// Libellé pour écrire un titre +Initialisation de SAI_BaseLicence +// Version 1 +// Description +// Champ de saisie pour un texte simple sur une ligne +Initialisation de SAI_BaseWSCom +// Version 1 +// Description +// Champ de saisie pour un texte simple sur une ligne +Initialisation de SAI_MPLicence +12/08/2026 Batik_WS_Com_Mob 105 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Code des champs +// Version 1 +// Description +// Champ de saisie pour un texte simple sur une ligne +Initialisation de SAI_MPLicenceFichiers +// Version 1 +// Description +// Champ de saisie pour un texte simple sur une ligne +Initialisation de SAI_MPWSCom +// Version 1 +// Description +// Champ de saisie pour un texte simple sur une ligne +Initialisation de SAI_NomBaseLicence +// Version 1 +// Description +// Champ de saisie pour un texte simple sur une ligne +Initialisation de SAI_NomBaseWSCom +// Version 1 +// Description +// Champ de saisie pour un texte simple sur une ligne +Initialisation de SAI_PortLicence +// Version 1 +// Description +// Champ de saisie pour un texte simple sur une ligne +Initialisation de SAI_PortWSCom +// Version 1 +// Description +// Champ de saisie pour un texte simple sur une ligne +Initialisation de SAI_URLLicence +// Version 1 +// Description +// Champ de saisie pour un texte simple sur une ligne +Initialisation de SAI_URLWSCom +// Version 1 +// Description +// Champ de saisie pour un texte simple sur une ligne +Initialisation de SAI_UserLicence +12/08/2026 Batik_WS_Com_Mob 106 + +Partie 3 › Fenêtre WINDEV › FEN_Connexion › Code des champs +// Version 1 +// Description +// Champ de saisie pour un texte simple sur une ligne +Initialisation de SAI_UserWSCom +// Version 1 +// Description +// Champ de saisie pour un texte simple sur une ligne +FEN_Connexion +Procédures +Procédure locale SeConnecter +PROCÉDURE SeConnecter() +LIB_DEBUG.gcnxD_ServeurLicence..Provider =hAccèsHFClientServeur +LIB_DEBUG.gcnxD_ServeurLicence..BaseDeDonnées = SAI_NomBaseLicence +| LIB_DEBUG.gcnxD_ServeurLicence..MotDePasse | = SAI_MPLicence | | +| ------------------------------------------- | --------------- | --- | +LIB_DEBUG.gcnxD_ServeurLicence..Serveur = SAI_BaseLicence+":"+SAI_PortLicence +| LIB_DEBUG.gcnxD_ServeurLicence..Utilisateur | = SAI_UserLicence | | +| -------------------------------------------- | ----------------- | --- | +| LIB_DEBUG.gsaPortWSCOM | = SAI_PortWSCom | | +| LIB_DEBUG.gsaServeurWSCOM | = SAI_BaseWSCom | | +LIB_DEBUG.gcnxD_ServeurWSCom..Provider =hAccèsHFClientServeur +| LIB_DEBUG.gcnxD_ServeurWSCom..BaseDeDonnées | = SAI_NomBaseWSCom | | +| ------------------------------------------- | ------------------ | --- | +| LIB_DEBUG.gcnxD_ServeurWSCom..MotDePasse | = SAI_MPWSCom | | +LIB_DEBUG.gcnxD_ServeurWSCom..Serveur = SAI_BaseWSCom+":"+SAI_PortWSCom +| LIB_DEBUG.gcnxD_ServeurWSCom..Utilisateur | = SAI_UserWSCom | | +| ----------------------------------------- | ---------------- | --- | +| WS_LICENCE..Adresse | = SAI_URLLicence | | +| WS_COM_MOBILE..Adresse | = SAI_URLWSCom | | +D_OuvreConnexionHFSQLLicence(SAI_MPLicenceFichiers) +D_RecupIdentiteLicence() +SI D_OuvreConnexionHFSQL() ALORS +Ouvre(FEN_Principal) +FIN +| 12/08/2026 | Batik_WS_Com_Mob | 107 | +| ---------- | ---------------- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Log › Image +FEN_Log +Image +FEN_Log +Informations générales +FEN_Log +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\WebService\Batik_WS_Com_Mob\FEN_Log.wdw +Créé par susana@applilogik.fr +Date de création 15/01/2026 10:20:07 +Dernière modification par susana@applilogik.fr +Date dernière modification 15/01/2026 10:22:29 +Titre FR: Log +Type fenêtre Fenêtre libre +12/08/2026 Batik_WS_Com_Mob 108 + +Partie 3 › Fenêtre WINDEV › FEN_Log › Informations générales +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| ------------------------ | ------------ | ----------------------------- | --------- | --------------- | --- | +| Position X | 0 Position Y | | 0 Largeur | 800 Hauteur | 599 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ---------------- | --- | --- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | Double | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le gabarit du projet | | <Défaut> | | | | +| Grisé : Utiliser couleur perso. | | Non | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Office XP | | | | +| Mode bulle d'aide | | Non | | | | +| Mode Bulle : Point chaud | | Haut gauche | | | | +| Mode Bulle : Décalage X | | 0 | | | | +| Mode Bulle : Décalage Y | | 0 | | | | +| Valide auto. | | 0 | | | | +| Lib. + tps restant | | Oui | | | | +| Pos. X Menu | | 6 | | | | +| Pos. Y Menu | | 28 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| Anim. Fermeture | | 0 | | | | +| Durée Anim. Ouverture | | 100 | | | | +| Durée Anim. Fermeture | | 50 | | | | +| Adapte Taille contenu | | Non | | | | +| Assombri quand inactif | | Oui | | | | +| Déplace souris sur bouton par | | Non | | | | +| Compact. barres outils | | Non | | | | +| 12/08/2026 | | | Batik_WS_Com_Mob | | 109 | + +Partie 3 › Fenêtre WINDEV › FEN_Log › Informations générales +Statistiques de la fenêtre +| Champ de saisie | | | 1 | | | +| --------------- | --- | --- | --- | --- | --- | +Nombre d'éléments dans la fenêtre : 1 +FEN_Log +Informations sur les champs +Fenêtre : FEN_Log +Champ de saisie +euqitamotua tnemecaffE +euqitamotua eisias niF +reihcif eétsissa eisiaS +| | | | | eriotagilbo eisiaS .zroH tnemeliféD .trev tnemeliféD | | +| --- | --- | --- | --- | ---------------------------------------------------- | --- | +latnoziroh .csA +essap ed toM +| | | | | cnalb à esiM ediv is LLUN | lacitrev .csA | +| --- | --- | --- | ---------------------------------------------- | ------------------------- | ------------- | +| | | | laitini tatE BAT ehcuoT eisias epyT FTR tamroF | | | +X noitisoP Y noitisoP engilitluM +ruegraL ruetuaH +elbisiV +nalP +| SAI_Log | 10 16 778 | 546 0 | Actif Texte | Non | | +| ------- | --------- | ----- | ----------- | --- | --- | +Fenêtre : FEN_Log +Champ de saisie : SAI_Log +| Ordre navigation | | 1 | | | | +| ------------------------- | --- | ------------------ | ---------------- | --- | --- | +| Curseur survol | | 0 | | | | +| UI par l'utilisateur | | Selon fenêtre | | | | +| Bouton Calendrier | | Non | | | | +| Bouton Calculatrice | | Non | | | | +| Bouton Suppression | | <Aucun> | | | | +| Touche TAB | | Accessible par TAB | | | | +| Taux Paral. hauteur | | 0 | | | | +| Taux Paral. Y | | 0 | | | | +| Épinglé | | Non | | | | +| Masquer lors du scrolling | | Non | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Cadrage horz. | | Gauche | | | | +| Position X interne | | 11 | | | | +| Largeur interne | | 777 | | | | +| 12/08/2026 | | | Batik_WS_Com_Mob | | 110 | + +Partie 3 › Fenêtre WINDEV › FEN_Log › Informations sur les champs +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Automatique +Complétion système de fichier Non +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +Bouton droit : Nombre d'états 1 +Bouton gauche : Largeur 0 +Bouton droit : Largeur 0 +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Non +Bouton droit : Monochrome Non +12/08/2026 Batik_WS_Com_Mob 111 + +Partie 3 › Fenêtre WINDEV › FEN_Log › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Log +Code +Déclarations globales de FEN_Log +PROCÉDURE FEN_Log() +Fermeture de FEN_Log +SI OuiNon("Voulez-vous fermer l'application") = Oui ALORS +FinProgramme() +SINON +RepriseSaisie(FEN_Log) +FIN +FEN_Log +Code des champs +Initialisation de SAI_Log +// Version 1 +// Description +// Champ de saisie pour un texte multiligne simple, sans mise en forme +12/08/2026 Batik_WS_Com_Mob 112 + +Partie 4 › Collection de procédures +Partie 4 +Collection de +procédures +| 12/08/2026 | Batik_WS_Com_Mob | 113 | +| ---------- | ---------------- | --- | + +Partie 4 › Collection de procédures +LIB_GestionTableParamètres +Code +Procédure globale ParamApplication_Ecrit +PROCÉDURE ParamApplication_Ecrit(saCle est une chaîne ANSI,saValeurParDefaut est une chaîne ANSI="", +saDescription est une chaîne ANSI="") +HRAZ(TOSRV) +TOSRV.TS_JSON="{""sType"":""A"",""sCLE"":"""+ saCle +""",""sValeur"":""" + saValeurParDefaut + +""",""bCrypte"":0,""sDescript"":"""+saDescription+"""}" +TOSRV.TS_CMD =cCMD_ParamAppliEcrit +HAjoute(TOSRV) +Procédure globale ParamApplication_Lit +PROCÉDURE ParamApplication_Lit(saCle est une chaîne ANSI,saValeurParDefaut est une chaîne ANSI="", +saDescription est une chaîne ANSI="") +SI PAS HLitRecherchePremier(gsdParamApplication,PAP_Code,saCle) ALORS +ParamApplication_Ecrit(saCle,saValeurParDefaut,saDescription) +TraceINFO("PARAMETRE CREATION : " + saCle + " = ["+gsdParamApplication.PAP_Valeur +"]") +RENVOYER saValeurParDefaut +SINON +TraceINFO("PARAMETRE LECTURE : " + saCle + " = ["+gsdParamApplication.PAP_Valeur +"]") +FIN +RENVOYER gsdParamApplication.PAP_Valeur +Procédure globale ParamApplication_Lit_Booleen +PROCÉDURE ParamApplication_Lit_Booleen(saCle est une chaîne ANSI,bValeurParDefaut est un booléen=Faux, +saDescription est une chaîne ANSI="") +bRep est un booléen = ParamApplication_Lit(saCle,(bValeurParDefaut ? "1" SINON "0") ,saDescription)= +"1" +RENVOYER bRep +Procédure globale Parametre_Ecrit +PROCÉDURE PRIVÉ Parametre_Ecrit(saCle est une chaîne ANSI,saValeur est une chaîne ANSI) +SI PAS HLitRecherchePremier(PARAMETRES,CLE,saCle) ALORS +HRAZ(PARAMETRES) +PARAMETRES.CLE=saCle +FIN +PARAMETRES.VALTEXT=saValeur +HEnregistre(PARAMETRES) +Procédure globale Parametre_Lit +12/08/2026 Batik_WS_Com_Mob 114 + +Partie 4 › Collection de procédures › LIB_GestionTableParamètres › Code +PROCÉDURE PRIVÉ Parametre_Lit(saCle est une chaîne ANSI,saValeurParDefaut est une chaîne ANSI="") +SI PAS HLitRecherchePremier(PARAMETRES,CLE,saCle) ALORS +HRAZ(PARAMETRES) +PARAMETRES.CLE=saCle +PARAMETRES.VALTEXT=saValeurParDefaut +HAjoute(PARAMETRES) +TraceINFO("PARAMETRE CREATION : " + saCle + " = ["+PARAMETRES.VALTEXT +"]") +SINON +TraceINFO("PARAMETRE LECTURE : " + saCle + " = ["+PARAMETRES.VALTEXT +"]") +FIN +RENVOYER PARAMETRES.VALTEXT +Procédure globale Parametre_Lit_Booleen +PROCÉDURE Parametre_Lit_Booleen(saCle est une chaîne ANSI,bValeurParDefaut est un booléen=Faux) +bRep est un booléen = Parametre_Lit(saCle,(bValeurParDefaut ? "1" SINON "0") )="1" +RENVOYER bRep +12/08/2026 Batik_WS_Com_Mob 115 + +Partie 4 › Collection de procédures › LIB_WS › Code +LIB_WS +Code +Déclaration de LIB_WS +ST_PARAM_INFO est une Structure +saCMD est une chaîne ANSI +saDATA est une chaîne ANSI +FIN +ST_REP_INFO est une Structure +saCodeErreur est une chaîne ANSI +saDATA est une chaîne ANSI +nNumRec est un entier +saDate est une chaîne ANSI +FIN +ST_JSON_Type_RDV est une Structure +envoi_mobile est un booléen +present_devis est un booléen +valider_rdv est un booléen +saisir_temps_obligatoire est un booléen +FIN +12/08/2026 Batik_WS_Com_Mob 116 + +Partie 4 › Collection de procédures › LIB_GENERALE › Code +LIB_GENERALE +Code +Déclaration de LIB_GENERALE +Procédure globale CalculToken +PROCÉDURE CalculToken() +sMessage est un Buffer = HasardCryptoBuffer(20) +bufCle est un Buffer = HashChaîne(HA_MD5_128, gcCLE_CRYPT_TOKEN) +bufCrypte est un Buffer = CrypteStandard(sMessage, bufCle, crypteAES128) +sChaîneCryptée est une chaîne = "#"+BufferVersHexa(bufCrypte,SansRegroupement,SansLigne)+"#" +RENVOYER sChaîneCryptée +Procédure globale ChaineHasard +PROCÉDURE PRIVÉE ChaineHasard(nNbCaracteres est un entier) +// Initialise le générateur de nombres aléatoires +InitHasard() +sChaîneAléatoire est une chaîne +// Génère la chaîne aléatoire +BOUCLE (nNbCaracteres) +// Génère un nombre au hasard dans l'intervalle 65-122 (A-z) +nCaractère est un entier = Hasard(65,122) +// On ne prend pas les caractères compris entre 91 et 96 +TANTQUE (91 <= nCaractère <= 96) +nCaractère = Hasard(65,122) +FIN +// Complète la chaîne +sChaîneAléatoire += Caract(nCaractère) +FIN +sChaîneAléatoire = Majuscule(sChaîneAléatoire) +RENVOYER sChaîneAléatoire +Procédure globale EnNomDeFichier +PROCÉDURE EnNomDeFichier(saNom chaîne ANSI) +saNomFic est chaîne ANSI =Majuscule(SansEspace(saNom,sscTout)) +12/08/2026 Batik_WS_Com_Mob 117 + +Partie 4 › Collection de procédures › LIB_GENERALE › Code +saNomFic=Remplace(saNomFic,["/","\",":","?","*","""","<",">","|","'"],"") +saNomFic=SansAccent(saNomFic) +RENVOYER saNomFic +Procédure globale HashMotDePasse +PROCÉDURE HashMotDePasse(saLogin,saPass) +RENVOYER HashChaîne(HA_HMAC_SHA_256,saLogin+RC+saPass,gcCLE_HASH_PASS) +12/08/2026 Batik_WS_Com_Mob 118 + +Partie 4 › Collection de procédures › LIB_COMMUNE › Code +LIB_COMMUNE +Code +Déclaration de LIB_COMMUNE +CONSTANT +gsCleCryptage ="" +cTrace_Info =0 +cTrace_Debug =1 +cTrace_Erreur =2 +FIN +gnNiveauTraceMini est un entier = cTrace_Info +gsaCumulTrace est une chaîne ANSI +gbTraceBufferReception est un booléen +//gnNbJoursLog est un entier +Procédure globale InfoWS +PROCÉDURE PRIVÉ InfoWS() +saREP est une chaîne ANSI +saREP="-----------------------------------------------" +saREP+=RC+"Executable :" + ExeInfo(exeNom) + " version :" + ExeInfo(exeVersion) +saREP+=RC+"Date serveur :" + DateVersChaîne(DateHeureSys(),"JJ/MM/AAAA HH:mm:SS") +saREP+=RC+"Analyse :" + Remplace(HInfoAnalyse(),RC," N° :") +saREP+=RC+"Rep Données :" + fRepDonnées() +<COMPILE SI Configuration="Webservice"> +saREP+=RC+"Rep Web :" + fRepWeb() +saREP+=RC+"Ini :" + NomDuFichierIni() +<FIN> +saREP+=RC+"IP Client :" + WebserviceAdresseIPClient(Vrai) +saREP+=RC+"-----------------------------------------------" +RENVOYER saREP +Procédure globale LitConfigurationINI +PROCÉDURE RESTREINT LitConfigurationINI() +saFicIni est une chaîne = NomDuFichierIni() +SI PAS fFichierExiste(saFicIni) ALORS +INIEcrit("DEBUG","NIVEAU","0",saFicIni) +FIN +// Lit la valeur du niveau de trace par défaut +gnNiveauTraceMini = Val( INILit("DEBUG", "NIVEAU", "0",saFicIni) ) +gbTraceBufferReception = Val(INILit("DEBUG","TRACE BUFFER","0",saFicIni))=1 +gnNbJoursLog = Val( INILit("LOG", "NB JOURS", "10",saFicIni) ) +Procédure globale NomDuFichierIni +PROCÉDURE PRIVÉ NomDuFichierIni() +RENVOYER ComplèteRep(fRepDonnées()) + "Config\" + gcVersionNom +".ini" +Procédure globale ParametreSQLCorrect +12/08/2026 Batik_WS_Com_Mob 119 + +Partie 4 › Collection de procédures › LIB_COMMUNE › Code +PROCÉDURE PRIVÉ ParametreSQLCorrect(LOCAL saParam chaîne ANSI) +//Vérifie si la chaine ne contient pas d'instruction SQL injectées +//Test à minima +SI saParam="" ALORS +RENVOYER Vrai +FIN +tabChaine est un tableau de chaînes = ["SELECT","INSERT","UPDATE","DELETE","WHERE","INNER"] +SI Contient(saParam,tabChaine,SansCasse) ALORS RENVOYER Faux +RENVOYER Vrai +Procédure globale Tesla +PROCÉDURE Tesla() //T'es là +RENVOYER "OUI" +Procédure globale TraceCUMUL +PROCÉDURE RESTREINT TraceCUMUL(s) +//Stock un message de trace pour l'écrire quand la trace sera ouverte +saTxt est une chaîne ANSI = DateVersChaîne(DateHeureSys(),"JJ/MM/AA HH:mm:SS")+ TAB + cTrace_Info + +TAB + Remplace(s,TAB,"<TAB>") +gsaCumulTrace += [RC] + saTxt +Procédure globale TraceDEBUG +PROCÉDURE RESTREINT TraceDEBUG(s) +saTxt est une chaîne ANSI = DateVersChaîne(DateHeureSys(),"JJ/MM/AA HH:mm:SS")+ TAB + cTrace_Debug + +TAB + Remplace(s,TAB,"<TAB>") +SI gnNiveauTraceMini <= cTrace_Debug ALORS +SI gsaCumulTrace<>"" ALORS +Trace(gsaCumulTrace) +gsaCumulTrace="" +FIN +Trace(saTxt) +SINON +gsaCumulTrace += RC + saTxt +FIN +Procédure globale TraceERREUR +PROCÉDURE RESTREINT TraceERREUR(s) +//EN cas d'erreur, on trace le contenu du Cumul de trace de tout niveau +SI gsaCumulTrace<>"" ALORS +Trace(gsaCumulTrace) +gsaCumulTrace="" +FIN +Trace(DateVersChaîne(DateHeureSys(),"JJ/MM/AA HH:mm:SS")+ TAB + cTrace_Erreur + TAB + Remplace(s, +TAB,"<TAB>")) +Procédure globale TraceINFO +PROCÉDURE RESTREINT TraceINFO(s) +saTxt est une chaîne ANSI = DateVersChaîne(DateHeureSys(),"JJ/MM/AA HH:mm:SS")+ TAB + cTrace_Info + +TAB + Remplace(s,TAB,"<TAB>") +SI gnNiveauTraceMini <= cTrace_Info ALORS +12/08/2026 Batik_WS_Com_Mob 120 + +Partie 4 › Collection de procédures › LIB_COMMUNE › Code +Trace(saTxt) +SINON +gsaCumulTrace += RC + saTxt +FIN +Procédure globale TraceTOUT +//Trace quelque soit le niveau de trace courant +PROCÉDURE RESTREINT TraceTOUT(s) +Trace(DateVersChaîne(DateHeureSys(),"JJ/MM/AA HH:mm:SS")+ TAB + cTrace_Info + TAB + Remplace(s,TAB, +"<TAB>")) +12/08/2026 Batik_WS_Com_Mob 121 + +Partie 4 › Collection de procédures › LIB_ProcéduresGlobales › Code +LIB_ProcéduresGlobales +Code +Procédure globale ConnexionValide +// Résumé : Vérifie si la session est déjà ouverte en comparant le dernier token mémorisé à celui +présenté +// Syntaxe : +//[ <Résultat> = ] ConnexionValide (<stID> est ST_MOB_IDENTITE) +// +// Paramètres : +// stID (ST_MOB_IDENTITE) : Token reçu dans la commande de WS +// Valeur de retour : +// multi-valeur : <indiquez ici le rôle de la valeur de retour> +PROCÉDURE ConnexionValide(stID est un ST_MOB_IDENTITE) +TraceINFO("Client : " + stID.saIdClient + " IdMob:" + stID.saIdMob + " NumPort:"+stID.saNumPort) +gstContexte.saNumPort = stID.saNumPort +gstContexte.saIdMobile=stID.saIdMob +gstContexte.saIdClient=stID.sAIdClient +gstContexte.saBaseData=stID.sABaseData +gstContexte.saBaseSync=stID.sABaseSync +SI PAS OuvreConnexionsHF() ALORS +RENVOYER (Faux,cERR_SRV) +SINON +//Si le contexte de la session s'est ré-initialisé, il faut re-vérifier la licence (toute les 1h +mini) +dhLimite est une DateHeure = gstContexte.dhAuthentification +dhLimite..Heure +=1 +SI (PAS gstContexte.bAuthentifié) _OU_ dhLimite < DateHeureSys() ALORS +gstContexte.bAuthentifié = Faux +gstContexte.dhAuthentification=DateHeureSys() +stDMD est un ST_WS_VERIF_LM +sAJson est une chaîne ANSI +stDMD.saCodeClient =stID.saIdClient +stDMD.saIdMobile =stID.saIdMob +stDMD.saLicence =stID.saLicence +InitialiseContexteUtilisateur(stID.nIdUser) +Sérialise(stDMD,sAJson,psdJSON) +<COMPILE SI Configuration<>"WS_COM_MOBILE" ET Configuration<>"Debug WS_COM_MOBILE"> +stRep est un ST_REP_CLIENT = WS_LICENCE.LicenceVerifie(sAJson) +SI ErreurDétectée() ALORS +TraceINFO("Problème de communication avec le serveur de Licence.") +12/08/2026 Batik_WS_Com_Mob 122 + +Partie 4 › Collection de procédures › LIB_ProcéduresGlobales › Code +TraceINFO(ErreurInfo(errComplet)) +RENVOYER (Faux,cERR_SRV) +FIN +SI stRep.saEtatReponse..Valeur<>cREP_LIC_OK ALORS +TraceERREUR("ERREUR ConnexionValide : Code erreur = " +stRep.saEtatReponse..Valeur ) +TraceERREUR("Pour :" + sAJson) +RENVOYER (Faux,stRep.saEtatReponse..Valeur) +SINON +TraceDEBUG("Licence Validée par le serveur de Licence") +gstContexte.bAuthentifié =Vrai +RENVOYER (Vrai,cRep_OK) +FIN +<SINON> +gstContexte.bAuthentifié =Vrai +RENVOYER (Vrai,cRep_OK) +<FIN> +SINON +InitialiseContexteUtilisateur(stID.nIdUser) +TraceDEBUG("Reconnexion n° :" + gstContexte.nNbConnexions ) +RENVOYER (Vrai,cRep_OK) +FIN +FIN +Procédure globale DonneGuidIdColb +PROCÉDURE DonneGuidIdColb(LOCAL saCle est une chaîne ANSI) +TraceINFO("Recherche GUID Colb :"+saCle) +SI SansEspace(saCle) = "" ALORS +RENVOYER "" +FIN +SI gtbaGUIDCollaborateur[saCle]..Existe = Vrai ALORS +RENVOYER gtbaGUIDCollaborateur[saCle] +SINON +SI gtbaGUIDCollaborateur[Val(saCle)]..Existe = Vrai ALORS +RENVOYER gtbaGUIDCollaborateur[Val(saCle)] +FIN +FIN +RENVOYER "" +Procédure globale DonneIdParametre +PROCÉDURE DonneIdParametre(LOCAL saCle est une chaîne ANSI) +nIdParam est un entier sur 8 octets = 0 +SI saCle <> "" _ET_ gtbaCleParametre[saCle]..Existe = Vrai _ET_ gtbaCleParametre[saCle] > 0 ALORS +nIdParam = gtbaCleParametre[saCle] +FIN +RENVOYER nIdParam +Procédure globale DonneLibParametre +PROCÉDURE DonneLibParametre(LOCAL saCle est une chaîne ANSI) +SI SansEspace(saCle) = "" ALORS +RENVOYER "" +12/08/2026 Batik_WS_Com_Mob 123 + +Partie 4 › Collection de procédures › LIB_ProcéduresGlobales › Code +FIN +SI saCle <> "" _ET_ gtbaLibParametre[saCle]..Existe = Vrai _ET_ gtbaLibParametre[saCle] <> "" ALORS +RENVOYER gtbaLibParametre[saCle] +SINON +SI Val(saCle) > 0 _ET_ gtbaLibParametre[Val(saCle)]..Existe = Vrai _ET_ gtbaLibParametre[Val(saCle) +] <> "" ALORS +RENVOYER gtbaLibParametre[Val(saCle)] +FIN +FIN +RENVOYER "" +Procédure globale DonneListeConfigMail +PROCÉDURE DonneListeConfigMail(LOCAL nIdUser est un entier sur 8 octets = 0) +ParamEmailConfig est un tableau associatif de STParamEnvoiEmailPerso +ParamEmailPerso est un tableau de STParamEnvoiEmailPerso +sMsg est une chaîne Unicode +stParametreEmail est une STParamEnvoiEmailPerso +n est un entier +SI nIdUser <= 0 ALORS RENVOYER (sMsg,ParamEmailConfig) +saRQSoc est une chaîne ANSI = [ +SELECT SO_Parametres, SO_PKID +FROM Societe_Collaborateur +INNER JOIN societe ON societe.SO_PKID = Societe_Collaborateur.SC_IDCSociete +INNER JOIN Utilisateur on Utilisateur.UT_IDCollaborateur = Societe_Collaborateur.SC_IDCollaborateur +WHERE Utilisateur.UT_PKID = +] +saRQSoc += nIdUser +sdRqSoc est une Source de Données +SI PAS HExécuteRequêteSQL(sdRqSoc,gcnxReplica,saRQSoc) ALORS +sMsg = "Configuration de mail introuvable" +TraceINFO(sMsg +RC+HErreurInfo(errComplet)) +SINON +POUR TOUT sdRqSoc +Désérialise(stParametreEmail,sdRqSoc.SO_Parametres,psdJSON) +AjouterListe(sdRqSoc.SO_PKID) +RempliListe(sdRqSoc.SO_PKID) +FIN +FIN +AjoutConfigPerso() +RENVOYER (sMsg, ParamEmailConfig) +PROCÉDURE INTERNE AjouterListe(LOCAL nIdSoc est un entier sur 8 octets = 0) +SI nIdUser > 0 _ET_ nIdSoc > 0 _ET_ (stParametreEmail.Compte.sEmail <> "" OU stParametreEmail. +Compte.sCompte <> "") ALORS +sCode est une chaîne ANSI = "EMAIL_ENVOI_"+nIdSoc +SI PAS ParamEmailConfig[sCode]..Existe ALORS +stParametreEmail.SMTP.sMdp = Décrypte(stParametreEmail.SMTP.sMdp,gsCleMdp) +ParamEmailConfig[sCode] = stParametreEmail +12/08/2026 Batik_WS_Com_Mob 124 + +Partie 4 › Collection de procédures › LIB_ProcéduresGlobales › Code +FIN +// Conserver les paramètres de la société login et mot de passe ne peuvent etre changés +| | ParamEmailConfig[sCode].Compte | | | | | = stParametreEmail.Compte | | +| --- | ------------------------------ | --- | --- | --- | --- | ------------------------- | --- | +ParamEmailConfig[sCode].SMTP.bEnCopieCachee = stParametreEmail.SMTP.bEnCopieCachee +ParamEmailConfig[sCode].SMTP.bufSignature = stParametreEmail.SMTP.bufSignature +ParamEmailConfig[sCode].SMTP.tabCC_CopieEmail = stParametreEmail.SMTP. +tabCC_CopieEmail +FIN +FIN +PROCÉDURE INTERNE RempliListe(LOCAL nIdSoc est un entier sur 8 octets = 0) +| bAncienVersion | | est un booléen | | = Faux | | | | +| -------------- | --- | ------------------- | --- | ----------------------- | --- | --- | --- | +| sCode | | est une chaîne ANSI | | = "EMAIL_ENVOI_"+nIdSoc | | | | +SI nIdUser > 0 _ET_ nIdSoc > 0 ALORS +| | saRQColP | | est une chaîne ANSI | | = [ | | | +| --- | -------- | --- | ------------------- | --- | --- | --- | --- | +SELECT PU_Valeur FROM ParametreUtilisateur WHERE ParametreUtilisateur.PU_Code = ' +] +saRQColP += sCode +"' AND " +saRQColP += "ParametreUtilisateur.PU_IDUtilisateur = "+nIdUser +| | sdRqColP | est une Source de Données | | | | | | +| --- | -------- | ------------------------- | --- | --- | --- | --- | --- | +SI PAS HExécuteRequêteSQL(sdRqColP,gcnxReplica,saRQColP) ALORS +sMsg = "Configuration de mail de la société introuvable dans la fiche collaborateur" +TraceINFO(sMsg +RC+HErreurInfo(errComplet)) +SINON +SI sdRqColP.PU_Valeur <> "" ALORS +SI ParamEmailConfig[sCode]..Existe ALORS +Désérialise(stParametreEmail,sdRqColP.PU_Valeur,psdJSON) +Ajouterliste(nIdSoc) +FIN +FIN +FIN +FIN +FIN +PROCÉDURE INTERNE AjoutConfigPerso() +SI nIdUser <= 0 ALORS RETOUR +| sCode | | | est une chaîne ANSI | | | | | +| ------------- | --- | --------------------- | ----------------------------- | --- | --- | --- | --- | +| stParamRecep | | est STParamEnvoiEmail | | | | | | +| stParamAncien | | | est un STParamEnvoiEmailPerso | | | | | +| saRQColP | | est une chaîne ANSI | | = [ | | | | +SELECT PU_Valeur FROM ParametreUtilisateur WHERE ParametreUtilisateur.PU_Code = +'EMAIL_ENVOI' AND ParametreUtilisateur.PU_IDUtilisateur = +] +saRQColP += nIdUser +sdRqColP est une Source de Données +SI PAS HExécuteRequêteSQL(sdRqColP,gcnxReplica,saRQColP) ALORS +sMsg = +"Configuration de mail de personnel introuvable dans la fiche paramètres utilisateur" +TraceINFO(sMsg +RC+HErreurInfo(errComplet)) +SINON +SI sdRqColP.PU_Valeur <> "" ALORS +QUAND EXCEPTION DANS +Désérialise(ParamEmailPerso,sdRqColP.PU_Valeur,psdJSON) +FAIRE +| | | bufCle | est un Buffer | | | = HashChaîne(HA_MD5_128,gsCleMdp) | | +| ---------- | --- | --------- | ------------- | ---------------- | --- | --------------------------------- | --- | +| | | bufCrypte | est un Buffer | | | = sdRqColP.PU_Valeur | | +| 12/08/2026 | | | | Batik_WS_Com_Mob | | | 125 | + +Partie 4 › Collection de procédures › LIB_ProcéduresGlobales › Code +bufRep est un Buffer = DécrypteStandard(bufCrypte, bufCle, +crypteAES128) +Désérialise(stParamRecep,bufRep,psdJSON) +FIN +SI ParamEmailPerso..Occurrence <= 0 _ET_ stParamRecep.sLogin <> "" ALORS +stParamAncien.SMTP = stParamRecep +stParamAncien.Compte.sEmail = stParamRecep.sLogin +stParamAncien.Compte.sCompte = "" +TableauAjoute(ParamEmailPerso,stParamAncien) +FIN +POUR TOUT stParam,n de ParamEmailPerso +SI stParam.SMTP.sLogin <> "" ALORS +sCode = "EMAIL_ENVOI_Perso_"+n +SI PAS ParamEmailConfig[sCode]..Existe ALORS +stParam.SMTP.sMdp = Décrypte(stParam.SMTP.sMdp,gsCleMdp) +ParamEmailConfig[sCode] = stParam +FIN +FIN +FIN +FIN +FIN +FIN +Procédure globale InitGUIDCollaborateurs +PROCÉDURE InitGUIDCollaborateurs() +TableauSupprimeTout(gtbaGUIDCollaborateur) +QUAND EXCEPTION DANS +sd est une Source de Données +HExécuteRequêteSQL(sd, gcnxReplica,hRequêteDéfaut,"SELECT CO_PKID,GUID FROM Collaborateur") +POUR TOUT sd +gtbaGUIDCollaborateur[sd.CO_PKID] = sd.GUID +gtbaGUIDCollaborateur[sd.GUID] = sd.CO_PKID +FIN +TraceINFO("TBA Colbs Taille : "+gtbaGUIDCollaborateur..Occurrence) +FAIRE +RENVOYER Faux +FIN +RENVOYER Vrai +Procédure globale InitialisationParametres +PROCÉDURE InitialisationParametres() +// +//si gstContexte.bParamChargés alors +// +// Désérialise(gstParam,gstContexte.sParamJson,psdJSON) +// renvoyer Vrai +//FIN +InitGUIDCollaborateurs() +12/08/2026 Batik_WS_Com_Mob 126 + +Partie 4 › Collection de procédures › LIB_ProcéduresGlobales › Code +QUAND EXCEPTION DANS +//Paramètres Métiers +sd est une Source de Données +HExécuteRequêteSQL(sd, gcnxReplica,hRequêteDéfaut, +"SELECT PA_PKID,PA_CLE,PA_Categorie,PA_Libelle FROM ParametreMetier WHERE PA_Categorie IN ('"+ +cParam_Civilite+"','"+cParam_TypeDossier+"','"+... +cParam_StatutDossier+"','"+cparam_TypeLieu+"','"+cParam_RoleContact+"','"+cParam_TypeInter+"','"+ +cParam_EtatInter+"','"+cParam_TypeRDV+"','"+cParam_StatusRDV+"','"+cParam_TypeDoc+ +"') ORDER BY PA_CLE,PA_Categorie") +POUR TOUT sd +gtbaCleParametre[sd.PA_CLE] = sd.PA_PKID +gtbaLibParametre[sd.PA_CLE] = sd.PA_Libelle +gtbaLibParametre[sd.PA_PKID] = sd.PA_Libelle +SELON sd.PA_Categorie +CAS cParam_Civilite +| | gstParametres.TbaCivilite[sd.PA_CLE] | | =sd.PA_Libelle | | | | +| --- | ------------------------------------- | --- | -------------- | --- | --- | --- | +CAS cParam_TypeDossier +| | gstParametres.TbaTypeDossier[sd.PA_CLE] | | =sd.PA_Libelle | | | | +| --- | ---------------------------------------- | --- | -------------- | --- | --- | --- | +CAS cParam_StatutDossier +| | gstParametres.TbaStatutDossier[sd.PA_CLE] | | =sd.PA_Libelle | | | | +| --- | ------------------------------------------ | --- | -------------- | --- | --- | --- | +CAS cparam_TypeLieu +| | gstParametres.TbaTypeLieu[sd.PA_CLE] | | =sd.PA_Libelle | | | | +| --- | ------------------------------------- | --- | -------------- | --- | --- | --- | +CAS cParam_RoleContact +| | gstParametres.TbaRoleCntctLieu[sd.PA_CLE] | | = sd.PA_Libelle | | | | +| --- | ----------------------------------------- | --- | --------------- | --- | --- | --- | +| | gstParametres.TbaRoleContact[sd.PA_CLE] | | = sd.PA_Libelle | | | | +CAS cParam_TypeInter +| | gstParametres.TbaTypeInter[sd.PA_CLE] | | =sd.PA_Libelle | | | | +| --- | -------------------------------------- | --- | -------------- | --- | --- | --- | +CAS cParam_EtatInter +| | gstParametres.TbaEtatInter[sd.PA_CLE] | | =sd.PA_Libelle | | | | +| --- | -------------------------------------- | --- | -------------- | --- | --- | --- | +CAS cParam_TypeRDV +| | gstParametres.TbaTypActivite[sd.PA_CLE] | | =sd.PA_Libelle | | | | +| --- | ---------------------------------------- | --- | -------------- | --- | --- | --- | +CAS cParam_StatusRDV +| | gstParametres.TbaStatutRDV[sd.PA_CLE] | | =sd.PA_Libelle | | | | +| --- | -------------------------------------- | --- | -------------- | --- | --- | --- | +CAS cParam_TypeDoc +| | gstParametres.TbaCategorieDoc[sd.PA_CLE] | | =sd.PA_Libelle | | | | +| --- | ----------------------------------------- | --- | -------------- | --- | --- | --- | +FIN +FIN +// Sérialise(gstParam,gstContexte.sParamJson,psdJSON) +FAIRE +RENVOYER Faux +FIN +gstContexte.bParamChargés=Vrai +RENVOYER Vrai +Procédure globale SerialiseContexte +PROCÉDURE SerialiseContexte() +| 12/08/2026 | | Batik_WS_Com_Mob | | | | 127 | +| ---------- | --- | ---------------- | --- | --- | --- | --- | + +Partie 4 › Collection de procédures › LIB_ProcéduresGlobales › Code +sBuf est une chaîne ANSI +Sérialise(gstContexte,sBuf,psdJSON) +RENVOYER sBuf +Procédure globale TraceRequete +PROCÉDURE TraceRequete(saSQL est une chaîne ANSI) +TraceINFO (RC + "SQL " + Répète("-",40)+ RC+ Remplace(saSQL,[RC,TAB]," ")+ RC + Répète("-",40) + " SQL" ++ RC) +12/08/2026 Batik_WS_Com_Mob 128 + +Partie 4 › Collection de procédures › LIB_WS_MOB › Code +LIB_WS_MOB +Code +Déclaration de LIB_WS_MOB +CONSTANT +cCMD_ServiceActif="WOUF" +cCMD_ServiceInfo ="INFO" +// //Commandes destinées au Service +// cCMD_ListeDocDmd = "S.DOC.LS" +// cCMD_DocVersSRV = "S.DOC.EC" +// cCMD_EcritNote = "S.NTE.EC" +// cCMD_EcritDocNote = "S.DNT.EC" +// cCMD_TempsEcrit = "S.TPS.EC" +// cCMD_TempsSupprime = "S.TPS.SU" +// cCMD_CREcrit = "S.RPT.EC" +// +// //Commandes interprétées par ce WebService +// cCMD_RechercheRDV ="W.RDV.RC" +// cCMD_ListeRDV ="W.RDV.LS" +// cCMD_ListeDOC ="W.DOC.LS" +// cCMD_ListeTEMPS ="W.TPS.LS" +// cCMD_LitParam ="W.PRM.LI" //Lit les paramètres métiers +// cCMD_LitContexte ="W.CTX.LI" //Lit le contexte utilisateur +cRep_OK ="R" +cErreur ="E" +FIN +ST_MOB_IDENTITE est une Structure +saLicence est une chaîne ANSI +saIdMob est une chaîne ANSI +saNumPort est une chaîne ANSI +nIdUser est un entier sur 8 octets +nIdColb est un entier sur 8 octets +saBaseData est une chaîne ANSI +saBaseSync est une chaîne ANSI +saIdClient est une chaîne ANSI +FIN +ST_MOB_DATA est une Structure +saCMD est une chaîne ANSI +saJSON est une chaîne ANSI +FIN +Procédure globale InitTraceLog +PROCÉDURE InitTraceLog(stID est un ST_MOB_IDENTITE) +SI gstContexte.saFichierLog="" ALORS +gstContexte.saFichierLog =ComplèteRep(fRepDonnées()) + "Trace_" + stID.saIdClient + "_" + DateSys( +) + ".txt" +TraceDébut(trFichier, gstContexte.saFichierLog ) +12/08/2026 Batik_WS_Com_Mob 129 + +Partie 4 › Collection de procédures › LIB_WS_MOB › Code +TraceINFO("Init après Connexion : "+gcVersionNom+" " + ExeInfo(exeNom) + " " + ExeInfo(exeVersion) +) +TraceINFO("WebService : " + gcVersionNom + " Version : " + gcVersionWS) +TraceINFO("Client :" + WebserviceAdresseIPClient( )) +SINON +TraceDébut(trFichier, gstContexte.saFichierLog ) +FIN +SI LIB_COMMUNE.gsaCumulTrace<>"" ALORS +Trace(LIB_COMMUNE.gsaCumulTrace) +LIB_COMMUNE.gsaCumulTrace="" +FIN +TraceINFO("Niveau Trace " + LIB_COMMUNE.gnNiveauTraceMini ) +//Purge des anciens log +suLstLog est une chaîne Unicode = fListeFichier(ComplèteRep(fRepDonnées()) + "Trace_*.txt", +frInformationComplète + frNonRécursif + fCheminUnicode ) +POUR TOUTE CHAÎNE sasufic DE suLstLog SÉPARÉE PAR RC +SI DateDifférence(Gauche(ExtraitChaîne(sasufic,3,TAB),8),DateSys) > gnNbJoursLog ALORS +fSupprime(ExtraitChaîne(sasufic,1,TAB)) +FIN +FIN +Procédure globale MOB_CMD +PROCÉDURE MOB_CMD(LOCAL stID est un ST_MOB_IDENTITE, LOCAL stData est une ST_MOB_DATA, LOCAL +bufDocument est un Buffer) +InitTraceLog(stID) +TraceDEBUG("MOB_IDENTITE : User = " + stID.nIdUser +" IdMob = " +stID.saIdMob +" Licence = " + stID. +saLicence ) +TraceDEBUG("MOB_CMD : CMD = " + stData.saCMD +" JSON = " + stData.saJSON+" Taille buf :"+Taille( +bufDocument)) +bufRep est un Buffer +bCnxOK est un booléen +sErr est une chaîne +(bCnxOK,sErr)=ConnexionValide(stID) +SI PAS bCnxOK ALORS +bufRep= cErreur + sErr +TraceDEBUG("Pb Connexion refusée") +RENVOYER bufRep +SINON +TraceINFO("Connecté") +FIN +SELON stData.saCMD +CAS cCMD_NoteEcrit,cCMD_DocNoteEcrit,cCMD_TempsEcrit,cCMD_TempsSupprime,cCMD_CREcrit, +cCMD_CREcrit_V2,cCMD_ListeDocDmd,cCMD_RdvEcrit,cCMD_TempsEcrit_V2,cCMD_RDVValidation, +cCMD_RDVAnnulation,cCMD_DocRpRecup +//Le contenu JSON de stData est transmis au serveur BO sans traitement. +//Le type de données transmise est identifié par la commande stData.saCMD +HRAZ(TOSRV) +TOSRV.TS_CMD = stData.saCMD +TOSRV.TS_Date = DateHeureSys() +TOSRV.TS_JSON = stData.saJSON +TOSRV.TS_Lu=0 +12/08/2026 Batik_WS_Com_Mob 130 + +Partie 4 › Collection de procédures › LIB_WS_MOB › Code +TOSRV.TS_Mobile = gstContexte.saIdMobile +TOSRV.TS_Buffer = bufDocument //Utilisé pour transférer l'image de la signature +HAjoute(TOSRV) +bufRep= "R" +CAS cCMD_RdvAPlanifierEcrit +bufRep=ControleRdvAPlanifier(stData) +SI bufRep="R" ALORS +HRAZ(TOSRV) +TOSRV.TS_CMD = cCMD_RdvAPlanifierEcrit//stData.saCMD +TOSRV.TS_Date = DateHeureSys() +TOSRV.TS_JSON = stData.saJSON +TOSRV.TS_Lu = 0 +TOSRV.TS_Mobile = gstContexte.saIdMobile +TOSRV.TS_Buffer = bufDocument //Utilisé pour transférer l'image de la signature +HAjoute(TOSRV) +FIN +CAS cCMD_ListeDOC +bufRep=ListeReferenceDOC(stData) +CAS cCMD_ListeRDV +bufRep=ConstruitListeIntervention(Vrai,stData) +CAS cCMD_ListeRDV_V2 +bufRep=ConstruitListeIntervention_V2(Vrai,stData) +CAS cCMD_LitINTER +bufRep=RecupereUneIntervention(stData) +CAS cCMD_LitINTER_V2 +bufRep=RecupereUneIntervention_V2(stData) +CAS cCMD_RechercheRDV +bufRep=RechercheInterventions(stData) +CAS cCMD_ListeNonPlanifié +bufRep=ConstruitListeIntervention(Faux,stData) +CAS cCMD_ListeTEMPS +bufRep=ListeTempsPasse(stData)//ListeTemps(stData) +CAS cCMD_LitParam //Appelé par la fonction RécupContexte du mobile +bufRep=RecupListeParamMetiers() +CAS cCMD_LitParam_V2 //Appelé par la fonction RécupContexte du mobile +bufRep=RecupListeParamMetiers_V2(stID.nIdUser) +CAS cCMD_LitContexte +bufRep=RecupereContexte(stData) +CAS cCMD_IdClbRdvDroitC +bufRep=RecupererIdClbRDVDroitConsultation() +CAS cCMD_ListeRDV_Clb +bufRep=RecupererRDVAutreClb(stData) +CAS cCMD_ListeCh_Rapport +bufRep=RecupererChampRapportInter(stData) +CAS cCMD_RecupImgRapport +RecupererImgRp()// Recuperation des images rapport +bufRep= "R" +CAS cCMD_Creation_Rapport +RecupererImgRp()// Recuperation des images rapport +TraceINFO("json" + stData.saJSON ) +bufRep= CreationRapport(stID,stData) +CAS cCMD_ListeCh_Mail +RecupererImgRp()// Recuperation des images rapport +TraceINFO("json" + stData.saJSON ) +bufRep= RecupererChampMailModele(stData) +CAS cCMD_Cr_Structure_Mail +RecupererImgRp()// Recuperation des images rapport +TraceINFO("json" + stData.saJSON ) +bufRep= CreationModeleMail(stData) +12/08/2026 Batik_WS_Com_Mob 131 + +Partie 4 › Collection de procédures › LIB_WS_MOB › Code +CAS cCMD_Envoyer_Mail +RecupererImgRp()// Recuperation des images rapport +TraceINFO("json" + stData.saJSON ) +bufRep= CreationETEnvoiEmail(stID,stData) +AUTRE CAS +bufRep= cErreur + stData.saCMD +"?" +FIN +RENVOYER bufRep +Procédure globale MOB_EnvoieDoc +PROCÉDURE MOB_EnvoieDoc(stID est un ST_MOB_IDENTITE, saJSON est une chaîne ANSI, bufDocument est un +Buffer ) +InitTraceLog(stID) +TraceDEBUG("MOB_EnvoieDoc :" + saJSON) +SI bufDocument="" ALORS RENVOYER "1" +saRep est une chaîne ANSI +bCnxOK est un booléen +sErr est une chaîne +(bCnxOK,sErr)=ConnexionValide(stID) +SI PAS bCnxOK ALORS +saRep= cErreur + sErr +TraceDEBUG("Pb Connexion refusée") +RENVOYER saRep +SINON +TraceINFO("Connecté") +FIN +HRAZ(TOSRV) +TOSRV.TS_CMD = cCMD_DocEcrit +TOSRV.TS_Date = DateHeureSys() +TOSRV.TS_JSON = saJSON +TOSRV.TS_Buffer = bufDocument +HAjoute(TOSRV) +saRep=cRep_OK +RENVOYER saRep +Procédure globale MOB_RecupDoc +PROCÉDURE MOB_RecupDoc(stID est un ST_MOB_IDENTITE, nID_TOMOB est un entier sur 8 octet) +InitTraceLog(stID) +bufRep est un Buffer +bCnxOK est un booléen +sErr est une chaîne +(bCnxOK,sErr)=ConnexionValide(stID) +SI PAS bCnxOK ALORS +bufRep= cErreur + sErr +TraceDEBUG("Pb Connexion refusée") +RENVOYER bufRep +SINON +TraceINFO("Connecté") +FIN +12/08/2026 Batik_WS_Com_Mob 132 + +Partie 4 › Collection de procédures › LIB_WS_MOB › Code +QUAND EXCEPTION DANS +SI HLitRecherchePremier(TOMOB,IDTOMOB,nID_TOMOB) ALORS +bufRep = TOMOB.TM_Buffer +TOMOB.TM_Lu=Vrai +HModifie(TOMOB) +RENVOYER bufRep +SINON +bufRep="R0000" +RENVOYER bufRep +FIN +FAIRE +bufRep="E"+ExceptionInfo(errComplet) +TraceINFO(bufRep) +RENVOYER bufRep +FIN +Procédure globale MOB_RecupDocID +PROCÉDURE MOB_RecupDocID(stID est un ST_MOB_IDENTITE) +InitTraceLog(stID) +//Donne au mobile demandeur l'ID et la description JSON du premier document non lu à récupérer +saRep est une chaîne ANSI +bCnxOK est un booléen +sErr est une chaîne +(bCnxOK,sErr)=ConnexionValide(stID) +SI PAS bCnxOK ALORS +saRep= cErreur + sErr +TraceDEBUG("Pb Connexion refusée") +RENVOYER saRep +SINON +TraceINFO("Connecté") +FIN +TraceINFO("MOB_RecupDocID " +stID.saIdMob) +QUAND EXCEPTION DANS +//Réalise une purge des documents non lu à destination des mobiles +d est une DateHeure +d..Jour -= 1 +rqPurge est une Requête SQL = +[ +DELETE FROM TOMOB WHERE TM_Date < {pDate} AND TM_CMD='DOC' +] +rqPurge.pDate=d +HExécuteRequête(rqPurge) +SI HLitRecherchePremier(TOMOB,TM_MobileTM_CMD,[stID.saIdMob,"DOC",Faux]) ALORS +saRep ="R" + TOMOB.IDTOMOB + RC +TOMOB.TM_JSON +12/08/2026 Batik_WS_Com_Mob 133 + +Partie 4 › Collection de procédures › LIB_WS_MOB › Code +RENVOYER saRep +SINON +saRep="V" //Vide +RENVOYER saRep +FIN +FAIRE +saRep="E"+ExceptionInfo(errComplet) +TraceINFO(saRep) +RENVOYER saRep +FIN +Procédure globale MOB_RecupValide +PROCÉDURE MOB_RecupValide(stID est un ST_MOB_IDENTITE,nIdToMob est un entier sur 8 octets) +InitTraceLog(stID) +saRep est une chaîne ANSI +bCnxOK est un booléen +sErr est une chaîne +(bCnxOK,sErr)=ConnexionValide(stID) +SI PAS bCnxOK ALORS +saRep= cErreur + sErr +TraceDEBUG("Pb Connexion refusée") +RENVOYER saRep +SINON +TraceINFO("Connecté") +FIN +SI HLitRecherchePremier(TOMOB,IDTOMOB,nIdToMob) ALORS +HSupprime(TOMOB) +FIN +saRep="R" +PurgeTOMOB_24h() +RENVOYER saRep +12/08/2026 Batik_WS_Com_Mob 134 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +LIB_Traitements +Code +Procédure globale AjouterDonnesBDDansChampRapport +PROCÉDURE AjouterDonnesBDDansChampRapport(nIdInter est un entier sur 8 octets, tbRubASaisir est un +tableau de STJSONMembreRubRapport) +saRQ est une chaîne = [ +SELECT +Intervention.IN_Titre AS IN_Titre, +Intervention.IN_RefInterne AS IN_RefInterne, +Intervention.CreationDate AS IN_CreationDate, +Intervention.IN_NumDevis, +Intervention.IN_DateDevis, +Intervention.IN_NumFacture, +Intervention.IN_DateFacture, +Intervention.IN_RefExterne AS IN_RefExterne, +Intervention.IN_Description AS IN_Description, +Intervention.IN_DureePrevue, +CONCAT(Collaborateur.CO_Prenom, ' ', Collaborateur.CO_Nom) AS IN_CO_Nom, +PA_TypeInter.PA_Libelle as IN_PA_Type, +Lieu.LI_CodeLieu AS LI_CodeLieu, +( +CASE WHEN AdLieu.AD_Adresse IS NOT NULL AND AdLieu.AD_Adresse <> '' THEN CONCAT(AdLieu.AD_Adresse, +' CHAR(13) ') ELSE '' END + +CASE WHEN AdLieu.AD_CodePostal IS NOT NULL AND AdLieu.AD_CodePostal <> '' THEN +CONCAT(AdLieu.AD_CodePostal, ' ') ELSE '' END + +CASE WHEN AdLieu.AD_Ville IS NOT NULL AND AdLieu.AD_Ville <> '' THEN AdLieu.AD_Ville ELSE '' END +) AS LI_Adresse, +Lieu.LI_CodeAcces AS LI_CodeAcces, +Client.CL_Nom AS CL_Nom, +CONCAT(AdClient.AD_Adresse, ' ', AdClient.AD_CodePostal, ' ',AdClient.AD_Ville) AS AD_Presentation, +Societe.SO_Nom +FROM +Intervention LEFT OUTER JOIN (Lieu LEFT OUTER JOIN Adresse AdLieu ON Lieu.LI_IDAdresse = +AdLieu.AD_PKID ) ON Intervention.IN_IDLieu = Lieu.LI_PKID, +Intervention INNER JOIN +(Dossier LEFT OUTER JOIN (Client LEFT OUTER JOIN Adresse AdClient ON Client.CL_IDAdressePrincipale += AdClient.AD_PKID) ON Dossier.DO_IDClient = Client.CL_PKID ) ON Intervention.IN_IDDossier = +Dossier.DO_PKID , +Intervention LEFT OUTER JOIN Collaborateur ON Intervention.IN_IDSuiviPar=Collaborateur.CO_PKID, +Intervention LEFT OUTER JOIN Societe ON Intervention.IN_IDSociete = Societe.SO_PKID, +Intervention LEFT OUTER JOIN ParametreMetier PA_TypeInter ON Intervention.IN_CleType = +PA_TypeInter.PA_CLE +WHERE +IN_PKID={pIdInter} +] +12/08/2026 Batik_WS_Com_Mob 135 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +saRQ=Remplace(saRQ,"{pIdInter}",nIdInter ) +sARQAdresseClient est une chaîne ANSI = [ +SELECT CONCAT(AdLieu.AdClient.AD_Adresse, ' ',AdLieu.AD_CodePostal, ' ', AdLieu.AD_Ville, ' ') AS +Adresse +FROM Client +INNER JOIN Intervention on Intervention.IN_IDClient = Client.CL_PKID +LEFT JOIN Client_Adresse on Client_Adresse.CA_IDClient = Client.CL_PKID +INNER JOIN Adresse AdLieu on adlieu.AD_PKID = Client_Adresse.CA_IDAdresse +WHERE Intervention.IN_PKID = {pIdInter} +] +sARQAdresseClient=Remplace(sARQAdresseClient,"{pIdInter}",nIdInter ) +sARQDossier est une chaîne ANSI = [ +SELECT Dossier.DO_Titre as DOSSIER_TITRE , dossier.DO_RefExterne as DOSSIER_REFEXT , +dossier.DO_NumDossier as DOSSIER_NUM, Dossier.DO_DateDebut as DOSSIER_DATE, +PA_StatutDossier.PA_Libelle as DOSSIER_STATUT +FROM Dossier +INNER JOIN Intervention on Intervention.IN_IDDossier = Dossier.DO_PKID +LEFT OUTER JOIN ParametreMetier PA_StatutDossier ON Dossier.DO_CleStatut = PA_StatutDossier.PA_CLE +WHERE Intervention.IN_PKID = {pIdInter} +] +sARQDossier=Remplace(sARQDossier,"{pIdInter}",nIdInter ) +saRqCR est une chaîne ANSI = [ +SELECT +CompteRendu.CR_PKID, +CompteRendu.CR_DateHeureDebut, +CompteRendu.CR_DateHeureFin, +CompteRendu.CR_NoteCollaborateur, +CompteRendu.CR_NomSignataire, +CompteRendu.CR_NomSignataireTech, +CompteRendu.CR_NoteSignataire, +CompteRendu.CR_DevisConforme, +CompteRendu.CR_AvecReserve, +CompteRendu.CR_ReserveCommentaire, +CompteRendu.CR_DateHeureSignature, +CompteRendu.CR_Signature, +CompteRendu.CR_SignatureTech, +CompteRendu.CR_IDTypeSignataire, +CompteRendu.GUID, +ParametreMetier.PA_Libelle AS CR_PA_Type +FROM CompteRendu +INNER JOIN RDV_Collaborateur ON RDV_Collaborateur.RVC_PKID = CR_IDRdv +INNER JOIN RDV_Planning ON RDV_Planning.GUID = RDV_Collaborateur.RVC_GUID_RDV +LEFT OUTER JOIN ParametreMetier ON ParametreMetier.PA_CLE = CompteRendu.CR_CleTypeSignataire and +CompteRendu.CR_CleTypeSignataire <> '' +WHERE +RDV_Collaborateur.Archive=0 +AND RDV_Planning.Archive = 0 +AND RDV_Planning.RV_IdInter = {p_IdInter} +] +saRqCR = Remplace(saRqCR,"{p_IdInter}",nIdInter) +saRQRDV est une chaîne ANSI = [ +SELECT +RDV_Planning.GUID, +RDV_Collaborateur.RVC_DateDeb, +RDV_Collaborateur.RVC_DateFin, +RDV_Planning.RV_Objet, +12/08/2026 Batik_WS_Com_Mob 136 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +RDV_Planning.RV_Description, +RDV_Planning.RV_Groupe, +RDV_Collaborateur.RVC_PKID, +CONCAT(Collaborateur.CO_Prenom, ' ', Collaborateur.CO_Nom) AS PL_CO_NOM +FROM RDV_Planning +INNER JOIN RDV_Collaborateur ON RDV_Collaborateur.RVC_GUID_RDV = RDV_Planning.GUID +LEFT OUTER JOIN Collaborateur ON RDV_Collaborateur.RVC_GUID_Colb = Collaborateur.GUID +WHERE +RDV_Planning.Archive=0 AND RDV_Collaborateur.Archive = 0 +AND RDV_Planning.RV_IdInter = {p_IdInter} +ORDER BY RDV_Collaborateur.RVC_DateDeb +] +saRQRDV = Remplace(saRQRDV,"{p_IdInter}",nIdInter) +sdRReqInter est une Source de Données +sdRReqClient est une Source de Données +sdRReqDossier est une Source de Données +sdRReqCR est une Source de Données +sdReqRDV est une Source de Données +y est un entier +y = TableauCherche(tbRubASaisir,tcLinéaire,"GroupeApp",cRub_Inter) +SI y > 0 _ET_ PAS HExécuteRequêteSQL(sdRReqInter,hRequêteDéfaut,saRQ) ALORS // ne pas exécuter la req +pour rien +FIN +y = 0 +y = TableauCherche(tbRubASaisir,tcLinéaire,"GroupeApp",cRub_Client) +SI y > 0 _ET_ PAS HExécuteRequêteSQL(sdRReqClient,hRequêteDéfaut,sARQAdresseClient) ALORS +// ne pas exécuter la req pour rien +FIN +y = 0 +y = TableauCherche(tbRubASaisir,tcLinéaire,"GroupeApp",cRub_Dossier) +SI y > 0 _ET_ PAS HExécuteRequêteSQL(sdRReqDossier,hRequêteDéfaut,sARQDossier) ALORS +// ne pas exécuter la req pour rien +FIN +y = 0 +y = TableauCherche(tbRubASaisir,tcLinéaire,"GroupeApp",cRub_CR) +SI y > 0 _ET_ PAS HExécuteRequêteSQL(sdRReqCR,hRequêteDéfaut,saRqCR) ALORS // ne pas exécuter la req +pour rien +FIN +y = 0 +y = TableauCherche(tbRubASaisir,tcLinéaire,"GroupeApp",cRub_RDV) +SI y > 0 _ET_ PAS HExécuteRequêteSQL(sdReqRDV,hRequêteDéfaut,saRQRDV) ALORS // ne pas exécuter la req +pour rien +FIN +POUR TOUT stEle DE tbRubASaisir +SI stEle:TypeMembre = "Tableau" OU stEle:GroupeApp DANS (cRub_Inter, cRub_Dossier, cRub_Client) +ALORS +SELON stEle:GroupeApp +CAS cRub_Inter +QUAND EXCEPTION DANS +12/08/2026 Batik_WS_Com_Mob 137 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +SI "IN_Description" = stEle.MembreMob ALORS +stEle:ListeDonnesBD = RTFVersTexte({sdRReqInter+"."+stEle.MembreMob}) +SINON +stEle:ListeDonnesBD = Remplace({sdRReqInter+"."+stEle.MembreMob},"CHAR(13)", +RC,MotComplet) +FIN +FAIRE +stEle:ListeDonnesBD = "" +FIN +CAS cRub_Dossier +QUAND EXCEPTION DANS +stEle:ListeDonnesBD = {sdRReqDossier+"."+stEle.MembreMob} +FAIRE +stEle:ListeDonnesBD = "" +FIN +CAS cRub_Client +tbClientAd est un tableau de ST_ClientAd +stUnCliAd est un ST_ClientAd +POUR TOUT sdRReqClient +stUnCliAd.sAAdresse = sdRReqClient.Adresse +TableauAjoute(tbClientAd,stUnCliAd) +FIN +sJson est une chaîne ANSI +Sérialise(tbClientAd,sJson,psdJSON) +stEle:ListeDonnesBD = sJson +stEle:Type = "Tableau" +CAS cRub_CR +tbCrest un tableau de ST_CR_Rp +stUnCr est un ST_CR_Rp +POUR TOUT sdRReqCR +stUnCr.saGuidCR = sdRReqCR.GUID +stUnCr.saDebut = sdRReqCR.CR_DateHeureDebut +stUnCr.saFin = sdRReqCR.CR_DateHeureFin +stUnCr.saSignataire = sdRReqCR.cR_NomSignataire +stUnCr.saNomCollaborateur = sdRReqCR.CR_NomSignataireTech +TableauAjoute(tbCr,stUnCr) +FIN +sJson est une chaîne ANSI +Sérialise(tbCr,sJson,psdJSON) +stEle:ListeDonnesBD = sJson +TraceINFO("Donnees CR "+sJson) +CAS cRub_RDV +bDouble est un booléen +tbRDV est un tableau de ST_RDV_Rp +stUnRDV est un ST_RDV_Rp +POUR TOUT sdReqRDV +stUnRDV:saGuid = sdReqRDV.GUID +stUnRDV:saCollaborateurs = sdReqRDV.PL_CO_NOM +stUnRDV:saDateDebut = sdReqRDV.RVC_DateDeb +stUnRDV:saDateFin = sdReqRDV.RVC_DateFin +stUnRDV:saObjet = sdReqRDV.RV_Objet +stUnRDV:saNote = RTFVersTexte(sdReqRDV.RV_Description) +bDouble = Faux +SI sdReqRDV.RV_Groupe ALORS +12/08/2026 Batik_WS_Com_Mob 138 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +POUR TOUT stRDV DE tbRDV +SI stRDV:saGuid = sdReqRDV.GUID ALORS +stRDV:saCollaborateurs += RC + stUnRDV:saCollaborateurs +bDouble = Vrai +SORTIR +FIN +FIN +SI PAS bDouble ALORS +TableauAjoute(tbRDV,stUnRDV) +FIN +SINON +TableauAjoute(tbRDV,stUnRDV) +FIN +FIN +sJson est une chaîne ANSI +Sérialise(tbRDV,sJson,psdJSON) +stEle:ListeDonnesBD = sJson +AUTRE CAS +FIN +FIN +FIN +Procédure globale CelluleAvecPlusiersRub +PROCÉDURE CelluleAvecPlusiersRub(unTerme est un STJSONMembreRubRapport, TexteInitial est une chaîne +ANSI, tabListeRubCol est un tableau de entiers) +nNbTermeCellule est un entier +POUR TOUT stTerme DE unTerme.ListeMembre +SI Contient(TexteInitial,stTerme:Rubrique,MotComplet+SansCasse) ALORS +nNbTermeCellule += 1 +TableauAjoute(tabListeRubCol,stTerme:Ordre) +FIN +FIN +SI nNbTermeCellule > 1 ALORS +RENVOYER Vrai +SINON +RENVOYER Faux +FIN +Procédure globale ChargeListeRubDoc +PROCÉDURE ChargeListeRubDoc() +gtbListeRubDoc est un tableau de STJSONMembreRubRapport +sReqRub est une chaîne ANSI = +[ +SELECT * FROM RubriquesDocument ORDER BY RD_IdRubParent ASC +] +stUnRub est un STJSONMembreRubRapport dynamique +n est un entier +ReqRub est une Source de Données +SI HExécuteRequêteSQL(ReqRub,gcnxReplica,sReqRub) ALORS +POUR TOUT ReqRub +stUnRub = allouer un STJSONMembreRubRapport +12/08/2026 Batik_WS_Com_Mob 139 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +stUnRub.nIdRub = ReqRub.RD_PKID +stUnRub.Nom = ReqRub.RD_Nom +stUnRub.Description = ReqRub.RD_Description +stUnRub.Rubrique = ReqRub.RD_Rubrique +stUnRub.Ordre = ReqRub.RD_Ordre +stUnRub.MembreMob = ReqRub.RD_MembreMob +stUnRub.MasqueSaisie = ReqRub.RD_MasqueSaisie +stUnRub.EnvoiMob = ReqRub.RD_EnvoiMob +stUnRub.Modifiable = ReqRub.RD_Modifiable +stUnRub.BD = ReqRub.RD_BD +stUnRub.GroupeApp = ReqRub.RD_Groupe +stUnRub.TypeMembre = ReqRub.RD_TypeMembre +stUnRub.Type = ReqRub.RD_TypeMembre +SI ReqRub.RD_IdRubParent > 0 ALORS +n = TableauCherche(gtbListeRubDoc,tcLinéairePremier,"nIdRub",ReqRub.RD_IdRubParent) +SI n > 0 ALORS +TableauAjoute(gtbListeRubDoc[n].ListeMembre,stUnRub) +FIN +SINON +TableauAjoute(gtbListeRubDoc,stUnRub) +FIN +FIN +FIN +RENVOYER gtbListeRubDoc +Procédure globale ConstructionTbRubBaseRapport +PROCÉDURE ConstructionTbRubBaseRapport(TermeRapport est un STJSONRubriqueRapport, tabToutesRub est un +tableau de STJSONMembreRubRapport, LeDoc est un Document,bSujetEmail est un booléen = Faux) +k est un entier +ListeMembreNull est un tableau de STJSONListeMembre +MonDoc est un Document = LeDoc +POUR i = 1 _À_ TermeRapport.ListeTerme..Occurrence +k = 0 +stUnTerme est un STJSONMembreRubRapport = TermeRapport.ListeTerme[i] +SI stUnTerme.Rubrique <> "" ALORS +tabFragments est tableau de docFragment = DocRecherche(MonDoc,stUnTerme.Rubrique,MotComplet+ +SansCasse) +SI tabFragments.Occurrence > 0 ALORS +POUR b = 1 _À_ tabFragments.Occurrence +stUnTerme.Ordre = tabFragments[b].PositionFin +stUnTerme.Ordre = tabFragments[b].PositionFin +SI bSujetEmail ALORS +// si c'est dans le sujet un transforme le numéro d'ordre en décimal afin que le sujet +soit demande et traite avant le corps de +l'email +stUnTerme.Ordre ="0."+tabFragments[b].PositionFin +FIN +k = TableauAjoute(tabToutesRub,stUnTerme) +tabToutesRub[k].ListeMembre = ListeMembreNull +// toujours car pas tous les termes son requis +FIN +FIN +SI stUnTerme.ListeMembre..Occurrence > 0 _ET_ k <= 0 ALORS +POUR c = 1 _À_ stUnTerme.ListeMembre..Occurrence +12/08/2026 Batik_WS_Com_Mob 140 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +tabFragment2 est tableau de docFragment = DocRecherche(MonDoc,stUnTerme.ListeMembre[c] +.Rubrique,MotComplet+SansCasse) +SI tabFragment2.Occurrence > 0 ALORS +POUR l = 1 _À_ tabFragment2.Occurrence +stUnTerme2 est un STJSONMembreRubRapport = stUnTerme.Listemembre[c] +stUnTerme2.Ordre = tabFragment2[l].PositionFin +k = TableauAjoute(tabToutesRub,stUnTerme2) +tabToutesRub[k].ListeMembre = ListeMembreNull +FIN +FIN +FIN +FIN +FIN +FIN +TableauTrie(tabToutesRub,ttMembre+tccRespecteNumérique,"+Ordre") +Procédure globale ConstructionTbRubEnvoyerMob +PROCÉDURE ConstructionTbRubEnvoyerMob(tbTermeRapport est un STJSONRubriqueRapport, tbToutesRub est +un tableau de STJSONMembreRubRapport, tbRubASaisir est un tableau de STJSONMembreRubRapport, MonDoc est +un Document, bToutesRub est un booléen = Faux, tbMotCleSpec est un tableau de STJSONMembreRubRapport = +Null) +sGroupe est une chaîne ANSI +n est un entier += -1 +h est un entier +POUR TOUT stEle DE tbToutesRub +SI (stEle:EnvoiMob OU bToutesRub ) ALORS +SI Contient(stEle:Rubrique, "$TAB") OU Contient(stEle:Rubrique, "$UN") OU Contient(stEle. +Rubrique,".UNIQUE") ALORS +SI sGroupe <> stEle:GroupeApp OU h <= 0 ALORS +n = TableauCherche(tbTermeRapport.ListeTerme,tcLinéaire,"GroupeApp;TypeMembre",stEle: +GroupeApp,"Tableau") +SI n > 0 ALORS +stUnTermeGr est un STJSONMembreRubRapport = tbTermeRapport.ListeTerme[n] +stUnTermeGr.Ordre = stEle:Ordre +TableauSupprimeTout(stUnTermeGr.ListeMembre) +TableauAjoute(stUnTermeGr:ListeMembre,stEle) +h = TableauAjoute(tbRubASaisir,stUnTermeGr) +FIN +SINON +SI h > 0 ALORS +stUnTermeRec est un STJSONMembreRubRapport = tbRubASaisir[h] +n = 0 +POUR TOUT stElem2 DE tbRubASaisir[h]:ListeMembre +SI stElem2.Rubrique = stEle:Rubrique ALORS +n += 1 +SORTIR +FIN +FIN +//TableauCherche(stUnTermeRec.ListeMembre,tcLinéairePremier,"Rubrique",stEle:Rubri +que) +SI n <= 0 ALORS +12/08/2026 Batik_WS_Com_Mob 141 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +TableauAjoute(tbRubASaisir[h].ListeMembre,stEle) +SINON +n = TableauCherche(tbTermeRapport.ListeTerme,tcLinéaire, +"GroupeApp;TypeMembre",stEle:GroupeApp,"Tableau") +SI n > 0 ALORS +stUnTermeGr est un STJSONMembreRubRapport = tbTermeRapport.ListeTerme[n] +stUnTermeGr.Ordre = stEle:Ordre +TableauSupprimeTout(stUnTermeGr.ListeMembre) +TableauAjoute(stUnTermeGr:ListeMembre,stEle) +h = TableauAjoute(tbRubASaisir,stUnTermeGr) +FIN +FIN +FIN +FIN +sGroupe = stEle:GroupeApp +SINON +SI ChaîneOccurrence(stEle.Rubrique,".LISTE") > 0 ALORS +h = 0 +n = TableauCherche(tbTermeRapport.ListeTerme,tcLinéaire,"GroupeApp;TypeMembre",stEle +:GroupeApp,"Tableau") +SI n > 0 ALORS +stUnTermeGr est un STJSONMembreRubRapport = tbTermeRapport.ListeTerme[n] +POUR TOUT stElem2 DE tbTermeRapport.ListeTerme[n]:ListeMembre +SI stElem2.MembreMob <> "" ALORS +SI h <= 0 ALORS +stUnTermeGr.Ordre = stEle:Ordre +TableauSupprimeTout(stUnTermeGr.ListeMembre) +stUnTermeGr.ListeMembre.Ajoute(stElem2) +h = TableauAjoute(tbRubASaisir,stUnTermeGr) +SINON +tbRubASaisir[h].ListeMembre.Ajoute(stElem2) +FIN +FIN +FIN +FIN +SINON +TableauAjoute(tbRubASaisir,stEle) +FIN +h = 0 +sGroupe = "" +FIN +SINON +h = 0 +sGroupe = "" +FIN +FIN +k est un entier +SI tbMotCleSpec<> Null ALORS +POUR TOUT stEleCle DE tbMotCleSpec +tabFragments est tableau de docFragment = DocRecherche(MonDoc,stEleCle.Rubrique,MotComplet+ +SansCasse) +SI tabFragments.Occurrence > 0 ALORS +POUR b = 1 _À_ tabFragments.Occurrence +stEleCle.Ordre = tabFragments[b].PositionFin +k = TableauAjoute(tbRubASaisir,stEleCle) +TableauSupprimeTout(tbRubASaisir[k].ListeMembre) +// toujours car pas tous les termes son requis +FIN +FIN +FIN +12/08/2026 Batik_WS_Com_Mob 142 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +FIN +TableauTrie(tbRubASaisir,ttMembre+tccRespecteNumérique,"+Ordre") +bufResp est un Buffer +Sérialise(tbRubASaisir,bufResp,psdJSON) +TraceINFO("TabRubMob "+bufResp+RC) +Procédure globale ConstruireListeChampModeleEmail +PROCÉDURE ConstruireListeChampModeleEmail(stParam est un STJSONInfoModeleMailMob, bufRes est un Buffer) +| nIdModeleMail | est un entier sur 8 octets | | = stParam.nIdModele | | +| ----------------- | ---------------------------------------- | --- | ------------------- | --- | +| nIdInter | est un entier sur 8 octets | | = stParam.nIdInter | | +| CorpEmailDoc | est un Document | | | | +| SujetEmailDoc | est un Document | | | | +| TermeRapportEmail | est un STJSONRubriqueRapport | | | | +| TermeRapport | est un STJSONRubriqueRapport | | | | +| vRub | est un Variant | | | | +| tabToutesRub | est un tableau de STJSONMembreRubRapport | | | | +| tabRubMobile | est un tableau de STJSONMembreRubRapport | | | | +| saSujetEmail | est une chaîne ANSI | | | | +| tbMotCleSpec | est un tableau de STJSONMembreRubRapport | | | | +TermeRapportEmail.ListeTerme = ChargeListeRubDoc() +| saRQModeleMail | est une chaîne ANSI | = [ | | | +| -------------- | ------------------- | --- | --- | --- | +SELECT * FROM MailModele WHERE MM_PKID = +] +saRQModeleMail += nIdModeleMail +sdRqModele est une Source de Données +SI PAS HExécuteRequêteSQL(sdRqModele,gcnxReplica,saRQModeleMail) ALORS +RENVOYER "Modèle introuvable" +SINON +CorpEmailDoc = sdRqModele.MM_MsgDoc +| SujetEmailDoc = sdRqModele.MM_Sujet | | | | | +| ----------------------------------- | --- | --- | --- | --- | +SI sdRqModele.MM_Extra <> "" ALORS +Désérialise(tbMotCleSpec,sdRqModele.MM_Extra,psdJSON) +POUR TOUT stUnMot DE tbMotCleSpec +SI stUnMot:TypeMembre <> "" ALORS +stUnMot:Type = stUnMot:TypeMembre //Pour compatibilite dans le mobile +FIN +FIN +FIN +FIN +| //saRQRub | est une chaîne ANSI | = [ | | | +| --------- | ------------------- | --- | --- | --- | +// SELECT * FROM ParametreSysteme WHERE PAS_Code = 'RUBRIQUE_RAPPORT_INTERVENTION' +//] +// +//sdRpRub est une source de données +//HExécuteRequêteSQL(sdRpRub,gcnxReplica,saRQRub) +//vRub = JSONVersVariant(sdRpRub.PAS_Valeur) +// +//SI vRub<>Null ALORS +// Désérialise(TermeRapport,sdRpRub.PAS_Valeur,psdJSON) +// TableauTrie(TermeRapport:ListeTerme,ttMembre,"Groupe;Ordre") +//FIN +SI TermeRapport.ListeTerme..Occurrence > 0 ALORS +TableauTrie(TermeRapport:ListeTerme,ttMembre,"Groupe;Ordre") +| 12/08/2026 | | Batik_WS_Com_Mob | | 143 | +| ---------- | --- | ---------------- | --- | --- | + +Partie 4 › Collection de procédures › LIB_Traitements › Code +FIN +//MotCleModeleEmail_Rub_Rapport(TermeRapportEmail,TermeRapport) +SI TermeRapportEmail.ListeTerme..Occurrence > 0 ALORS +ConstructionTbRubBaseRapport(TermeRapportEmail,tabToutesRub,SujetEmailDoc,Vrai) +ConstructionTbRubBaseRapport(TermeRapportEmail,tabToutesRub,CorpEmailDoc) +ConstructionTbRubEnvoyerMob(TermeRapportEmail, tabToutesRub ,tabRubMobile,CorpEmailDoc,Vrai, +tbMotCleSpec) +AjouterDonnesBDDansChampRapport(nIdInter, tabRubMobile) +SI PAS EnvoiRubMob(tabRubMobile) ALORS +TraiteEmailBuffer(tabToutesRub,tabRubMobile,SujetEmailDoc) +TraiteEmailBuffer(tabToutesRub,tabRubMobile,CorpEmailDoc) +SupprimerToutesRubRapportMob(tabToutesRub,SujetEmailDoc) +SupprimerToutesRubRapportMob(tabToutesRub,CorpEmailDoc) +saSujetEmail = DocVersTexte(SujetEmailDoc) +stStructureMail est un ST_ModeleMailComplet +stStructureMail.saType = cCorpsModeleMail +stStructureMail.saSujet = saSujetEmail +stStructureMail.tbDestCC = stParam.stCompteMail.SMTP.tabCC_CopieEmail +DocHtmlCorps est un htmlDocument = DocVersHTML(CorpEmailDoc) +SI stParam.stCompteMail <> Null _ET_ stParam.stCompteMail.SMTP.bufSignature <> "" ALORS +DocHtmlCorps..ContenuHTML= DocHtmlCorps..ContenuHTML + ChaîneVersUTF8(stParam.stCompteMail +.SMTP.bufSignature) +FIN +bufCorpsHTML est un Buffer = DocHtmlCorps +//manque recherche contact +Sérialise(stStructureMail,bufRes,psdJSON) +bufRes+=cBufferHorsSer+bufCorpsHTML +RENVOYER "" +SINON +tabRubMobileEnvoyer est un tableau de STJSONMembreRubRapport +POUR TOUT stEle DE tabRubMobile +SI stEle:EnvoiMob ALORS +TableauAjoute(tabRubMobileEnvoyer,stEle) +FIN +FIN +TableauTrie(tabRubMobileEnvoyer,ttMembre,"Groupe;Ordre") +stModeleMail est un ST_ModeleMailRub +stModeleMail.saType = cRubriquesModeleMail +stModeleMail.Listerub = tabRubMobileEnvoyer +Sérialise(stModeleMail,bufRes,psdJSON) +RENVOYER "" +FIN +SINON +RENVOYER "E" +FIN +Procédure globale ConstruireModeleMailAvecInfoMob +12/08/2026 Batik_WS_Com_Mob 144 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +PROCÉDURE ConstruireModeleMailAvecInfoMob(stParam est un STJSONInfoModeleMailMob, bufRes est un Buffer) +| nIdModeleMail | est un entier sur 8 octets | | = stParam.nIdModele | | +| ----------------- | ---------------------------------------- | --- | ------------------- | --- | +| nIdInter | est un entier sur 8 octets | | = stParam.nIdInter | | +| CorpEmailDoc | est un Document | | | | +| SujetEmailDoc | est un Document | | | | +| TermeRapportEmail | est un STJSONRubriqueRapport | | | | +| TermeRapport | est un STJSONRubriqueRapport | | | | +| tabToutesRub | est un tableau de STJSONMembreRubRapport | | | | +| tabRubMobile | est un tableau de STJSONMembreRubRapport | | | | +| saSujetEmail | est une chaîne ANSI | | | | +sResRepTemp est une chaîne ANSI +<COMPILE SI Configuration = "WS_COM_MOBILE" OU Configuration = "Debug WS_COM_MOBILE"> +| sResRepTemp = ComplèteRep(fRepExe())+"TEMP\" | | | | | +| -------------------------------------------- | --- | --- | --- | --- | +<SINON> +| sResRepTemp = ComplèteRep(fRepWeb())+"TEMP\" | | | | | +| -------------------------------------------- | --- | --- | --- | --- | +<FIN> +CheminImg est une chaîne ANSI = ComplèteRep(sResRepTemp+stParam.nIdInter) +SI PAS RechercheListeRubModeleMail(nIdModeleMail,CorpEmailDoc,SujetEmailDoc,TermeRapportEmail, +TermeRapport) ALORS +RENVOYER "Modèle introuvable" +FIN +SI TermeRapportEmail.ListeTerme..Occurrence > 0 ALORS +ConstructionTbRubBaseRapport(TermeRapportEmail,tabToutesRub,SujetEmailDoc,Vrai) +ConstructionTbRubBaseRapport(TermeRapportEmail,tabToutesRub,CorpEmailDoc) +ConstructionTbRubEnvoyerMob(TermeRapportEmail, tabToutesRub ,tabRubMobile,CorpEmailDoc,Vrai) +AjouterDonnesBDDansChampRapport(nIdInter, tabRubMobile) +TraiteDocumentRapportMob(tabRubMobile,stParam.ListeMob,SujetEmailDoc,CheminImg) +TraiteDocumentRapportMob(tabRubMobile,stParam.ListeMob,CorpEmailDoc,CheminImg) +SupprimerToutesRubRapportMob(tabToutesRub,SujetEmailDoc) +SupprimerToutesRubRapportMob(tabToutesRub,CorpEmailDoc) +// TraiteEmailBuffer(tabRubMobile,stParam.ListeMob,SujetEmailDoc) +// TraiteEmailBuffer(tabRubMobile,stParam.ListeMob,CorpEmailDoc) +// +// SupprimerToutesRubRapportMob(tabToutesRub,SujetEmailDoc) +// SupprimerToutesRubRapportMob(tabToutesRub,CorpEmailDoc) +| saSujetEmail = UTF8VersUnicode(DocVersTexte(SujetEmailDoc)) | | | | | +| ------------------------------------------------------------ | ------------------ | --- | --- | --- | +| stStructureMail est un ST_ModeleMailComplet | | | | | +| stStructureMail.saType | = cCorpsModeleMail | | | | +| stStructureMail.saSujet | = saSujetEmail | | | | +stStructureMail.tbDestCC = stParam.stCompteMail.SMTP.tabCC_CopieEmail +//stStructureMail.bufCorpsHTML = fChargeBuffer(sResRepTemp) +DocHtmlCorps est un htmlDocument = DocVersHTML(CorpEmailDoc) +SI stParam.stCompteMail <> Null _ET_ stParam.stCompteMail.SMTP.bufSignature <> "" ALORS +DocHtmlCorps..ContenuHTML= DocHtmlCorps..ContenuHTML + ChaîneVersUTF8(stParam.stCompteMail.SMTP +.bufSignature) +FIN +bufCorpsHTML est un Buffer = DocHtmlCorps +//manque recherche contact +Sérialise(stStructureMail,bufRes,psdJSON) +bufRes+=cBufferHorsSer+bufCorpsHTML +//TraceINFO("res 1 "+bufRes) +| 12/08/2026 | | Batik_WS_Com_Mob | | 145 | +| ---------- | --- | ---------------- | --- | --- | + +Partie 4 › Collection de procédures › LIB_Traitements › Code +RENVOYER "" +SINON +RENVOYER "E" +FIN +Procédure globale ConstruitListeIntervention +PROCÉDURE ConstruitListeIntervention(bAvecRDV est un booléen,stData est une ST_MOB_DATA) +tblRDV est un tableau de ST_RDV_INTER +sErreur est une chaîne +bufRes est un Buffer +bAvecNonPlanifie est un booléen +SI bAvecRDV ALORS +TraceINFO("Ajout des Interventions Planifiées") +SI ParamApplication_Lit_Booleen(cParam_Mobile_Inter_Non_Planifiées,Faux) ALORS +TraceINFO("Ajout des Interventions non planifiées") +bAvecNonPlanifie = Vrai +FIN +TraceINFO("Liste RDV") +sErreur = ListeRDV(stData,tblRDV,bAvecNonPlanifie) +TraceINFO(sErreur) +SI sErreur<>"" ALORS +RENVOYER sErreur +FIN +SINON +TraceINFO("Sans Interventions Planifiées") +FIN +//SI ParamApplication_Lit_Booleen(cParam_Mobile_Inter_Non_Planifiées,Faux) alors +// TraceINFO("Ajout des Interventions non planifiées") +// sErreur = RechercheInterventionsNonPlannifiées(tblRDV) +// SI sErreur<>"" ALORS +// RENVOYER sErreur +// FIN +//sinon +// TraceINFO("Sans Interventions non planifiées") +//fin +Sérialise(tblRDV,bufRes,psdJSON) +bufRes="R" + bufRes +RENVOYER bufRes +Procédure globale ConstruitListeIntervention_V2 +PROCÉDURE ConstruitListeIntervention_V2(bAvecRDV est un booléen,stData est une ST_MOB_DATA) +tbLRDV est un tableau de ST_RDV_INTER_V2 +sErreur est une chaîne +bufRes est un Buffer +bAvecNonPlanifie est un booléen +SI bAvecRDV ALORS +TraceINFO("Ajout des Interventions Planifiées") +SI ParamApplication_Lit_Booleen(cParam_Mobile_Inter_Non_Planifiées,Faux) ALORS +TraceINFO("Ajout des Interventions non planifiées") +bAvecNonPlanifie = Vrai +FIN +sErreur = ListeRDV_V2(stData,tbLRDV,bAvecNonPlanifie) +SI sErreur<>"" ALORS +RENVOYER sErreur +12/08/2026 Batik_WS_Com_Mob 146 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +FIN +SINON +TraceINFO("Sans Interventions Planifiées") +FIN +//SI ParamApplication_Lit_Booleen(cParam_Mobile_Inter_Non_Planifiées,Faux) alors +// TraceINFO("Ajout des Interventions non planifiées") +// sErreur = RechercheInterventionsNonPlannifiées(tblRDV) +// SI sErreur<>"" ALORS +// RENVOYER sErreur +// FIN +//sinon +// TraceINFO("Sans Interventions non planifiées") +//fin +Sérialise(tbLRDV,bufRes,psdJSON) +bufRes="R" + bufRes +RENVOYER bufRes +Procédure globale ConstruitResultatRechercheInterventions +PROCÉDURE ConstruitResultatRechercheInterventions(saRQ est une chaîne ANSI) +bufRes est un Buffer +QUAND EXCEPTION DANS +sd est une Source de Données +saLstIdInter est une chaîne ANSI +tbaIndice est un tableau associatif (*, *, wlEntier) d'entiers +n est un entier +ChronoDébut() +// TraceRequete(saRQ) +SI PAS HExécuteRequêteSQL(sd,gcnxReplica,hRequêteDéfaut,saRQ) ALORS +bufRes="E"+ErreurInfo(errComplet) +TraceDEBUG("bufREs : " + bufRes) +TraceINFO("ConstruitResultatRechercheInterventions :"+ saRQ) +RENVOYER bufRes +FIN +nb est un entier = HNbEnr(sd) +TraceINFO("Requête ok, durée : " + ChronoValeur() + "ms, nb="+nb ) +tblINT est un tableau de ST_INTER +SI nb>0 ALORS +POUR TOUT sd +saLstIdInter+= [","] + sd.IN_PKID +//Construction de la réponse (tableau) +xt est un ST_INTER +//Sous ensemble Intervention +xt.saCli_Nom =sd.CL_Nom +xt.nInt_PKID =sd.IN_PKID +SI sd.IN_CleType <> "" _ET_ gstParametres.TbaTypeInter[sd.IN_CleType]..Existe = Vrai ALORS +12/08/2026 Batik_WS_Com_Mob 147 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +xt.saInt_Typ = gstParametres.TbaTypeInter[sd.IN_CleType] +FIN +SI sd.IN_CleEtat <> "" _ET_ gstParametres.TbaEtatInter[sd.IN_CleEtat]..Existe = Vrai ALORS +xt.saInt_Etat = gstParametres.TbaEtatInter[sd.IN_CleEtat] +FIN +xt.saInt_Descrip =RTFVersTexte(sd.IN_Description) +xt.saInt_Note =sd.IN_NoteInterne +xt.saInt_Tit =sd.IN_Titre +xt.saInt_RfI =sd.IN_RefInterne +xt.saInt_RfE =sd.IN_RefExterne +xt.saLieu_CodeLieu =sd.LI_CodeLieu +xt.nInt_IDSociete =sd.IN_IDSociete +xt.saDmd_Nom =sd.PE_Nom +xt.saDmd_Prenom =sd.PE_Prenom +xt.stLieu_Ad.nID =sd.AdLieu_PKID +xt.stLieu_Ad.saEtiq =sd.AdLieu_Etiquette +xt.stLieu_Ad.saLig =sd.AD_Adresse +xt.stLieu_Ad.saCP =sd.AdLieu_CodePostal +xt.stLieu_Ad.saVil =sd.AdLieu_Ville +n=TableauAjoute(tblINT,xt) +tbaIndice[sd.IN_PKID]=n +//Tableau d'indice permettant de retrouver l'intervention dans tblINTER par son PKID +FIN +TraceINFO("Tableau Inter, durée : " + ChronoValeur() + "ms" ) +sdPers est une Source de Données +saRQ=[ +SELECT +Intervention_Personne.IP_Etage AS IP_Etage, +Intervention_Personne.IP_Lot AS IP_Lot, +Intervention_Personne.IP_IDPersonne AS IP_IDPersonne, +Personne.PE_IDCivilite AS PE_IDCivilite, +Personne.PE_Nom AS PE_Nom, +Personne.PE_Prenom AS PE_Prenom, +Personne.PE_TelFixe AS PE_TelFixe, +Personne.PE_TelMobile AS PE_TelMobile, +Personne.PE_Email AS PE_Email, +Personne.PE_CleRole AS PE_CleRole, +Personne.PE_Note AS PE_Note, +Intervention_Personne.IP_IDIntervention AS IP_IDIntervention, +Intervention_Personne.IP_IDLieu AS IP_IDLieu, +Intervention_Personne.IP_IDClient AS IP_IDClient, +Lieu_Personne.LIP_Etage AS LIP_Etage, +Lieu_Personne.LIP_Lot AS LIP_Lot, +Lieu_Personne.LIP_EtiquetteAdresse AS LIP_EtiquetteAdresse +FROM Intervention_Personne INNER JOIN Personne ON (Personne.PE_PKID = +Intervention_Personne.IP_IDPersonne) +LEFT OUTER JOIN Lieu_Personne ON (Lieu_Personne.LIP_IDLieu=Intervention_Personne.IP_IDLieu +AND Lieu_Personne.LIP_IDPersonne=Intervention_Personne.IP_IDPersonne) +WHERE Intervention_Personne.IP_IDIntervention IN ({Liste_IDIntervention}) +ORDER BY +IP_IDIntervention ASC +] +TraceINFO("Liste ID Inter : " +saLstIdInter) +saRQ=Remplace(saRQ,"{Liste_IDIntervention}",saLstIdInter) +SI PAS HExécuteRequêteSQL(sdPers,gcnxReplica,hRequêteDéfaut,saRQ) ALORS +bufRes="E"+ErreurInfo(errComplet) +TraceDEBUG("bufREs : " + bufRes) +12/08/2026 Batik_WS_Com_Mob 148 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +RENVOYER bufRes +FIN +TraceINFO("Requete Personnes Intrv, durée : " + ChronoValeur() + "ms" ) +stPer est un ST_PERSONNE_LIEU +POUR TOUT sdPers +stPer.nID = sdPers.IP_IDPersonne +stPer.saNom = sdPers.PE_Nom +stPer.saPren = sdPers.PE_Prenom +stPer.saTFix = sdPers.PE_TelFixe +stPer.saTMob = sdPers.PE_TelMobile +SI sdPers.PE_CleRole <> "" _ET_ gstParametres.TbaRoleContact[sdPers.PE_CleRole]..Existe = +Vrai ALORS +stPer.saRole = gstParametres.TbaRoleContact[sdPers.PE_CleRole] +FIN +stPer.saEtage = sdPers.IP_Etage<>"" ? sdPers.IP_Etage SINON sdPers.LIP_Etage +stPer.saLot = sdPers.IP_Lot<>"" ? sdPers.IP_Lot SINON sdPers.LIP_Lot +stPer.saEtiquette = sdPers.LIP_EtiquetteAdresse +stPer.saNote = sdPers.PE_Note +stPer.bDonneurOrdre = sdPers.IP_IDClient<>0 _ET_ sdPers.IP_IDlieu=0 +n=tbaIndice[sdPers.IP_IDIntervention] +tblINT[n].tblPerLieu.Ajoute(stPer) +FIN +tblINT[n].tblPerLieu.Trie(ttMembre,"saRole") +//Ajout du tableau des Notes Internes +sdNote est une Source de Données +saRQ = [ +SELECT MI_Message,MessageInterne.CreationDate,UT_Nom , UT_Prenom +,MI_IDTypeMessage,MI_IDIntervention,MessageInterne.GUID as MI_GUID +,MessageInterne.CreationUser +FROM MessageInterne INNER JOIN Utilisateur ON +MessageInterne.CreationUser=Utilisateur.UT_PKID +WHERE MI_IDIntervention IN ({Liste_IDIntervention}) AND MessageInterne.MI_IDTypeMessage < +10 +ORDER BY MessageInterne.CreationDate DESC +] +saRQ=Remplace(saRQ,"{Liste_IDIntervention}",saLstIdInter) +SI PAS HExécuteRequêteSQL(sdNote,gcnxReplica,hRequêteDéfaut,saRQ) ALORS +TraceERREUR("Erreur lecture des Notes Internes " + HErreurInfo(hErrComplet)) +SINON +stN est un ST_NOTE +POUR TOUT sdNote +stN.nIdInter =sdNote.MI_IDIntervention +stN.saNote =sdNote.MI_Message +stN.saAuteur =sdNote.UT_Prenom + [" "] + sdNote.UT_Nom +stN.saDate =sdNote.CreationDate +stN.saGuid =sdNote.MI_GUID +//stN.nIdAuteur =sdNote.CreationUser +stN.nIdUsr =sdNote.CreationUser +//stN.saType =sdNote.MI_IDTypeMessage //toujours à 0 +n=tbaIndice[sdNote.MI_IDIntervention] +tblINT[n].tblNote.Ajoute(stN) +FIN +FIN +FIN +12/08/2026 Batik_WS_Com_Mob 149 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +Sérialise(tblINT,bufRes,psdJSON) +HAnnuleDéclaration(sd) +TraceINFO("Fin traitement ok, durée : " + ChronoFin() + "ms" + RC + tblINT..Occurrence + +" Interventions renvoyées." ) +bufRes ="R" + bufRes +TraceINFO("bufREs : " + bufRes) +RENVOYER bufRes +FAIRE +bufRes ="E" + ExceptionInfo(errComplet) +TraceDEBUG("bufREs : " + bufRes) +RENVOYER bufRes +FIN +Procédure globale ConstruitTableauInterventions +PROCÉDURE ConstruitTableauInterventions(saRQ est une chaîne ANSI,saRqCR est une chaîne ANSI ,bAvecRDV +est un booléen,tblRDV est un tableau de ST_RDV_INTER) +QUAND EXCEPTION DANS +nNbInter est un entier +sRes est une chaîne ANSI +saLstIdInter est une chaîne ANSI +saLstIdRDV est une chaîne ANSI +tbaIdInter est un tableau associatif (*, *, wlEntier_8) d'entiers +tbaIdRDV est un tableau associatif (*, *, wlEntier_8) d'entiers +n est un entier +tbaCompteRendu est un tableau associatif de STCompteRenduRqListe +saCle est une chaîne ANSI +sdSDCR est une Source de Données +SI saRqCR <> "" ALORS +TraceRequete(saRqCR) +SI PAS HExécuteRequêteSQL(sdSDCR,gcnxReplica,hRequêteDéfaut,saRqCR) ALORS +sRes="E"+HErreurInfo(errComplet) +TraceERREUR("ConstruitTableauInterventionsAvecCopmteRendu : " + sRes) +RENVOYER sRes +FIN +FIN +POUR TOUT sdSDCR +stCpR est une STCompteRenduRqListe +stCpR.saCR_GUID = sdSDCR.CR_GUID +stCpR.saDateHeureDebut = sdSDCR.CR_DateHeureDebut +stCpR.saDateHeureFin = sdSDCR.CR_DateHeureFin +stCpR.saNoteCollaborateur = sdSDCR.CR_NoteCollaborateur +stCpR.saNoteSignataire = sdSDCR.CR_NoteSignataire +stCpR.saDateHeureSignature = sdSDCR.CR_DateHeureSignature +stCpR.nIN_PKID = sdSDCR.CR_IDIntervention +stCpR.saNomSignataire = sdSDCR.CR_NomSignataire +stCpR.saPL_GUID = sdSDCR.CR_IDRdv +stCpR.nPL_IDCollaborateur = sdSDCR.PL_IDCollaborateur +stCpR.nPL_IDCollaborateur = sdSDCR.CR_CreationUser +stCpR.bufCR_Signature = "coucou" +stCpR.nRDV_PKID = sdSDCR.CR_IDRdv +stCpR.nIdGroupe = sdSDCR.PL_IDGroupe +SI stCpR.nRDV_PKID > 0 ET stCpR.saDateHeureDebut <> "" ET stCpR.saDateHeureFin <> "" ALORS +12/08/2026 Batik_WS_Com_Mob 150 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +SI stCpR.nIdGroupe > 0 ALORS +tbaCompteRendu[stCpR.nIdGroupe] = stCpR +SINON +tbaCompteRendu[stCpR.nRDV_PKID] = stCpR +FIN +FIN +FIN +sd est une Source de Données +TraceRequete(saRQ) +SI PAS HExécuteRequêteSQL(sd,gcnxReplica,hRequêteDéfaut,saRQ) ALORS +sRes="E"+HErreurInfo(errComplet) +TraceERREUR("ConstruitTableauInterventions : " + sRes) +RENVOYER sRes +FIN +POUR TOUT sd +xt est un ST_RDV_INTER +saLstIdInter+= [","] + sd.IN_PKID +SI bAvecRDV ALORS +saLstIdRDV += [","] + sd.PL_PKID +| | xt.stRDV.nPKID | = sd.PL_PKID | | | +| --- | ------------------------- | ------------------------- | ---- | --- | +| | xt.stRDV.saGUID | = sd.PL_GUID | | | +| | xt.stRDV.nIDCollaborateur | = sd.PL_IDCollaborateur | | | +| | xt.stRDV.nIDIntervention | = sd.PL_IDIntervention | | | +| | xt.stRDV.nIDTypeActivite | = sd.PL_IDTypeActivite | | | +| | xt.stRDV.saObjet | = sd.PL_Objet | | | +xt.stRDV.saDescription = sd.PL_Description//RTFVersTexte(sd.PL_Description ) +| | xt.stRDV.saDateDebut | = sd.PL_DateDebut | | | +| --- | ---------------------- | ----------------------------------------- | --- | --- | +| | xt.stRDV.saDateFin | = sd.PL_DateFin | | | +| | xt.stRDV.nIDStatut | = sd.PL_IDStatut | | | +| | xt.stRDV.saStatut | = sd.saStatutRDV | | | +| | xt.stRDV.nIDLieu | = sd.PL_IDLieu | | | +| | xt.stRDV.bGrouper | = sd.PL_Grouper | | | +| | xt.stRDV.nIDGroupe | = sd.PL_IDGroupe | | | +| | xt.stRDV.nIDDossier | = sd.PL_IDDossier | | | +| | xt.stRDV.bPrive | = sd.PL_Prive | | | +| | xt.stRDV.bSuperposable | = sd.PL_Superposable | | | +| | xt.stRDV.nIDEquipe | = sd.PL_IDEquipe | | | +| | xt.stRDV.nIDSociete | = sd.PL_IDSociete | | | +| | xt.saRDV_TypAct | = DonneLibParametre(sd.PL_IDTypeActivite) | | | +| | xt.saRDV_Statut | = DonneLibParametre(sd.PL_IDStatut) | | | +| | xt.saRDV_Lieu | = sd.LI_CodeLieu | | | +SI sd.PL_IDGroupe > 0 ALORS +saCle = sd.PL_IDGroupe +SINON +saCle = sd.PL_PKID +FIN +SI tbaCompteRendu[saCle]..Existe ALORS +| 12/08/2026 | | Batik_WS_Com_Mob | | 151 | +| ---------- | --- | ---------------- | --- | --- | + +Partie 4 › Collection de procédures › LIB_Traitements › Code +xt.stRDV.stCompteRendu.saGuidCR = tbaCompteRendu[saCle].saCR_GUID +xt.stRDV.stCompteRendu.saDebut = tbaCompteRendu[saCle].saDateHeureDebut +xt.stRDV.stCompteRendu.saFin = tbaCompteRendu[saCle].saDateHeureFin +xt.stRDV.stCompteRendu.saNoteCollab = tbaCompteRendu[saCle].saNoteCollaborateur +xt.stRDV.stCompteRendu.saNoteClient = tbaCompteRendu[saCle].saNoteSignataire +xt.stRDV.stCompteRendu.saDateSignature = tbaCompteRendu[saCle].saDateHeureSignature +xt.stRDV.stCompteRendu.nIdInter = tbaCompteRendu[saCle].nIN_PKID +xt.stRDV.stCompteRendu.saSignataire = tbaCompteRendu[saCle].saNomSignataire +xt.stRDV.stCompteRendu.saGuidRDV = sd.PL_GUID +xt.stRDV.stCompteRendu.nIdCollab = tbaCompteRendu[saCle].nPL_IDCollaborateur +xt.stRDV.stCompteRendu.nIdUser = tbaCompteRendu[saCle].nCR_CreationUser +xt.stRDV.stCompteRendu.bufImgSignature = "coucou" +SINON +xt.stRDV.stCompteRendu.saGuidCR = "" +xt.stRDV.stCompteRendu.saDebut = "" +xt.stRDV.stCompteRendu.saFin = "" +xt.stRDV.stCompteRendu.saNoteCollab = "" +xt.stRDV.stCompteRendu.saNoteClient = "" +xt.stRDV.stCompteRendu.saDateSignature = "" +xt.stRDV.stCompteRendu.nIdInter = sd.IN_PKID +xt.stRDV.stCompteRendu.saSignataire = "" +xt.stRDV.stCompteRendu.saGuidRDV = sd.PL_GUID +xt.stRDV.stCompteRendu.nIdCollab = sd.PL_IDCollaborateur +xt.stRDV.stCompteRendu.nIdUser = "" +xt.stRDV.stCompteRendu.bufImgSignature = "" +FIN +FIN +//Sous ensemble Intervention +xt.stINTER.nDos_IDCli = sd.DO_IDClient +xt.stINTER.saDos_Type = DonneLibParametre(sd.DO_IDTypeDossier) +xt.stINTER.saDos_Tit = sd.DO_Titre +xt.stINTER.saDos_Etat = DonneLibParametre(sd.DO_IDStatut) +xt.stINTER.saDos_RfI = sd.DO_RefInterne +xt.stINTER.saDos_RfE = sd.DO_RefExterne +xt.stINTER.saCli_Nom = sd.CL_Nom +xt.stINTER.saCli_Tel = sd.CL_Tel +xt.stINTER.saCli_Fax = sd.CL_Fax +xt.stINTER.stCli_Ad.nID = sd.AdClient_PKID +xt.stINTER.stCli_Ad.saEtiq = sd.AdClient_Etiquette +xt.stINTER.stCli_Ad.saLig = sd.AdClient_Ligne_1 + [RC] +sd.AdClient_Ligne_2 + [RC] ++sd.AdClient_Ligne_3 + [RC] +sd.AdClient_Ligne_4+ [RC] +sd.AdClient_Ligne_5 +xt.stINTER.stCli_Ad.saCP = sd.AdClient_CodePostal +xt.stINTER.stCli_Ad.saVil = sd.AdClient_Ville +xt.stINTER.nInt_PKID = sd.IN_PKID +xt.stINTER.saInt_Typ = DonneLibParametre(sd.IN_IDTypeIntervention) +xt.stINTER.saInt_Etat = DonneLibParametre(sd.IN_IDEtatIntervention) +xt.stINTER.nInt_IDSuiv = sd.IN_IDSuiviPar +xt.stINTER.saNomSuiviPar = sd.NomSuiviPar +xt.stINTER.saPrenomSuiviPar = sd.PrenomSuiviPar +xt.stINTER.saTelSuiviPar = sd.TelMobSuiviPar +xt.stINTER.nInt_IDDos = sd.IN_IDDossier +xt.stINTER.nInt_IDCli = sd.IN_IDClient +xt.stINTER.nInt_IDLieu = sd.IN_IDLieu +xt.stINTER.nInt_IDSociete = sd.IN_IDSociete +xt.stINTER.saSoc_Nom = sd.SO_Nom +xt.stINTER.saInt_Descrip = RTFVersTexte(sd.IN_Description) +xt.stINTER.bInt_AtTVA = sd.IN_AttestationTVAPresente +xt.stINTER.saInt_Note = sd.IN_NoteInterne +12/08/2026 Batik_WS_Com_Mob 152 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +xt.stINTER.saInt_Tit = sd.IN_Titre +xt.stINTER.saInt_RfI = sd.IN_RefInterne +xt.stINTER.saInt_RfE = sd.IN_RefExterne +xt.stINTER.saInt_NumDevis = sd.IN_NumDevis +xt.stINTER.saInt_DateDevis = DateVersChaîne(sd.IN_DateDevis,"JJ/MM/AA") +xt.stINTER.nLieu_PKID = sd.LI_PKID +xt.stINTER.saLieu_CodeLieu = sd.LI_CodeLieu +xt.stINTER.nLieu_IDAdresse = sd.LI_IDAdresse +xt.stINTER.saLieu_Type = DonneLibParametre(sd.LI_IDType) +xt.stINTER.saLieu_CodeAcces = sd.LI_CodeAcces +xt.stINTER.bLieu_Badge = sd.LI_Badge +xt.stINTER.bLieu_Interphone = sd.LI_Interphone +xt.stINTER.saLieu_Note = sd.LI_Note +xt.stINTER.stLieu_Ad.nID = sd.AdLieu_PKID +xt.stINTER.stLieu_Ad.saEtiq = sd.AdLieu_Etiquette +xt.stINTER.stLieu_Ad.saLig = sd.AdLieu_Ligne_1 + [RC] + sd.AdLieu_Ligne_2 + [ +RC] + sd.AdLieu_Ligne_3 + [RC] + sd.AdLieu_Ligne_4 + [RC] + sd.AdLieu_Ligne_5 +xt.stINTER.stLieu_Ad.saCP = sd.AdLieu_CodePostal +xt.stINTER.stLieu_Ad.saVil = sd.AdLieu_Ville +nNbInter = TableauAjoute(tblRDV,xt) +SI bAvecRDV ALORS +tbaIdRDV[sd.PL_PKID]=nNbInter +FIN +tbaIdInter[sd.IN_PKID]=nNbInter +//Tableau d'indice permettant de retrouver l'intervention dans tblINTER par son PKID +FIN +SI nNbInter>0 ET bAvecRDV ALORS +//Construction de la liste des Contacts RDV +saRQ2 est une chaîne ANSI=[ +SELECT +Planning_RDV_Personne.PRP_PKID AS PRP_PKID, +Planning_RDV_Personne.PRP_IDRdv AS PRP_IDRdv, +Personne.PE_IDCivilite AS PE_IDCivilite, +Personne.PE_Nom AS PE_Nom, +Personne.PE_Prenom AS PE_Prenom, +Personne.PE_Email AS PE_Email, +Personne.PE_TelFixe AS PE_TelFixe, +Personne.PE_TelMobile AS PE_TelMobile, +Personne.PE_IDRole, +Personne.PE_Note AS PE_Note, +Intervention_Personne.IP_IDPersonne AS IP_IDPersonne, +Intervention_Personne.IP_IDIntervention AS IP_IDIntervention, +Intervention_Personne.IP_IDLieu AS IP_IDLieu, +Intervention_Personne.IP_IDClient AS IP_IDClient, +Intervention_Personne.IP_Etage AS IP_Etage, +Intervention_Personne.IP_Lot AS IP_Lot, +Lieu_Personne.LIP_Etage AS LIP_Etage, +Lieu_Personne.LIP_Lot AS LIP_Lot, +Lieu_Personne.LIP_EtiquetteAdresse AS LIP_EtiquetteAdresse +FROM +Planning_RDV_Personne INNER JOIN Personne ON (Personne.PE_PKID = +Planning_RDV_Personne.PRP_IDPersonne) +INNER JOIN Planning_RDV ON (Planning_RDV.PL_PKID=Planning_RDV_Personne.PRP_IDRdv) +INNER JOIN Intervention_Personne ON (Intervention_Personne.IP_IDPersonne=Personne.PE_PKID +AND Intervention_Personne.IP_IDIntervention=Planning_RDV.PL_IDIntervention) +INNER JOIN Lieu_Personne ON +(Lieu_Personne.LIP_IDPersonne=Intervention_Personne.IP_IDPersonne AND +Lieu_Personne.LIP_IDLieu=Intervention_Personne.IP_IDLieu) +12/08/2026 Batik_WS_Com_Mob 153 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +WHERE Planning_RDV_Personne.PRP_IDRdv IN ({pListeIdRdv}) +] +saRQ2=Remplace(saRQ2,"{pListeIdRdv}",saLstIdRDV) +TraceRequete(saRQ2) +sdCnt est une Source de Données +SI PAS HExécuteRequêteSQL(sdCnt,gcnxReplica,hRequêteDéfaut,saRQ2) ALORS +sRes="E"+HErreurInfo(errComplet) +TraceERREUR("ConstruitTableauInterventions : " + sRes) +RENVOYER sRes +FIN +POUR TOUT sdCnt +stContact est un ST_RDV_CONTACT +| | stContact.nIdRdvCnt | = sdCnt.PRP_PKID | | | +| --- | ------------------------------------------------------------- | -------------------- | --- | --- | +| | //stContact.nId | =sdCnt.IP_IDPersonne | | | +| | stContact.saCivilite = DonneLibParametre(sdCnt.PE_IDCivilite) | | | | +| | stContact.saNom | = sdCnt.PE_Nom | | | +| | stContact.saPrenom | = sdCnt.PE_Prenom | | | +| | stContact.saEmail = sdCnt.PE_Email | | | | +| | stContact.saRole = DonneLibParametre(sdCnt.PE_IDRole) | | | | +stContact.saEtage = sdCnt.IP_Etage<>"" ? sdCnt.IP_Etage SINON sdCnt.LIP_Etage +stContact.saLot = sdCnt.IP_Lot<>"" ? sdCnt.IP_Lot SINON sdCnt.LIP_Lot +stContact.saEtiquette= sdCnt.LIP_EtiquetteAdresse +| | stContact.saNote = sdCnt.PE_Note | | | | +| --- | -------------------------------- | --- | --- | --- | +stContact.bDonneurOrdre = sdCnt.IP_IDClient<>0 _ET_ sdCnt.IP_IDlieu=0 +//Ajout des téléphones dans un tableau (structure prête pour le multitéléphone) +stTel est un ST_TELEPHONE +SI sdCnt.PE_TelFixe<>"" ALORS +| | stTel.saTelNum | = sdCnt.PE_TelFixe | | | +| --- | -------------- | ------------------- | --- | --- | +| | stTel.saTelLib | = "Tél 1" | | | +stContact.tbLTEL.Ajoute(stTel) +FIN +SI sdCnt.PE_TelMobile<>"" ALORS +| | stTel.saTelNum | = sdCnt.PE_TelMobile | | | +| --- | -------------- | --------------------- | --- | --- | +| | stTel.saTelLib | = "Tél 2" | | | +stContact.tbLTEL.Ajoute(stTel) +FIN +n=tbaIdRDV[sdCnt.PRP_IDRdv] +tblRDV[n].stRDV.tblContact.Ajoute(stContact) +FIN +//Construction de la liste des Contacts Intervention/Lieu +FIN +SI nNbInter>0 ALORS +sdPers est une Source de Données +| saRQ3 | est une chaîne ANSI | = [ | | | +| ----- | ------------------- | --- | --- | --- | +SELECT +Intervention_Personne.IP_Etage AS IP_Etage, +Intervention_Personne.IP_Lot AS IP_Lot, +Intervention_Personne.IP_IDPersonne AS IP_IDPersonne, +Intervention_Personne.IP_EstDemandeur AS IP_EstDemandeur, +Personne.PE_IDCivilite AS PE_IDCivilite, +Personne.PE_Nom AS PE_Nom, +Personne.PE_Prenom AS PE_Prenom, +Personne.PE_TelFixe AS PE_TelFixe, +Personne.PE_TelMobile AS PE_TelMobile, +Personne.PE_IDRole AS PE_IDRole, +Personne.PE_Note AS PE_Note, +Intervention_Personne.IP_IDIntervention AS IP_IDIntervention, +Intervention_Personne.IP_IDLieu AS IP_IDLieu, +Intervention_Personne.IP_IDClient AS IP_IDClient, +Lieu_Personne.LIP_Etage AS LIP_Etage, +| 12/08/2026 | | Batik_WS_Com_Mob | | 154 | +| ---------- | --- | ---------------- | --- | --- | + +Partie 4 › Collection de procédures › LIB_Traitements › Code +Lieu_Personne.LIP_Lot AS LIP_Lot, +Lieu_Personne.LIP_EtiquetteAdresse AS LIP_EtiquetteAdresse +FROM Intervention_Personne INNER JOIN Personne ON (Personne.PE_PKID = +Intervention_Personne.IP_IDPersonne) +LEFT OUTER JOIN Lieu_Personne ON (Lieu_Personne.LIP_IDLieu=Intervention_Personne.IP_IDLieu +AND Lieu_Personne.LIP_IDPersonne=Intervention_Personne.IP_IDPersonne) +WHERE Intervention_Personne.IP_IDIntervention IN ({Liste_IDIntervention}) +ORDER BY +IP_IDIntervention ASC +] +saRQ3=Remplace(saRQ3,"{Liste_IDIntervention}",saLstIdInter) +TraceRequete(saRQ3) +SI PAS HExécuteRequêteSQL(sdPers,gcnxReplica,hRequêteDéfaut,saRQ3) ALORS +sRes="E"+HErreurInfo(errComplet) +TraceERREUR("ConstruitTableauInterventions : " + sRes) +RENVOYER sRes +FIN +stPer est un ST_PERSONNE_LIEU +POUR TOUT sdPers +stPer.nID = sdPers.IP_IDPersonne +stPer.saNom = sdPers.PE_Nom +stPer.saPren = sdPers.PE_Prenom +stPer.saTFix = sdPers.PE_TelFixe +stPer.saTMob = sdPers.PE_TelMobile +stPer.saRole = DonneLibParametre(sdPers.PE_IDRole) +stPer.saEtage = sdPers.IP_Etage<>"" ? sdPers.IP_Etage SINON sdPers.LIP_Etage +//sdPers.IP_Etage +stPer.saLot = sdPers.IP_Lot<>"" ? sdPers.IP_Lot SINON sdPers.LIP_Lot +//sdPers.IP_Lot +stPer.saEtiquette = sdPers.LIP_EtiquetteAdresse +stPer.saNote = sdPers.PE_Note +stPer.bDemand = sdPers.IP_EstDemandeur +stPer.bDonneurOrdre = sdPers.IP_IDClient<>0 _ET_ sdPers.IP_IDlieu=0 +n = tbaIdInter[sdPers.IP_IDIntervention] +tblRDV[n].stINTER.tblPerLieu.Ajoute(stPer) +FIN +//Ordonne le tableau pour avoir les demandeurs en premier +SI n>0 ALORS +TableauTrie(tblRDV[n].stINTER.tblPerLieu,ttMembre,"-bDemand;saRole;saNom") +FIN +//Ajout du tableau des Notes Internes +sdNote est une Source de Données +saRQ4 est une chaîne ANSI = [ +SELECT MI_Message,MessageInterne.CreationDate,UT_Nom , UT_Prenom +,MI_IDTypeMessage,MI_IDIntervention,MessageInterne.GUID as MI_GUID +,MessageInterne.CreationUser +FROM MessageInterne INNER JOIN Utilisateur ON +MessageInterne.CreationUser=Utilisateur.UT_PKID +WHERE MI_IDIntervention IN ({Liste_IDIntervention}) AND MessageInterne.MI_IDTypeMessage < +10 +ORDER BY MessageInterne.CreationDate DESC +] +12/08/2026 Batik_WS_Com_Mob 155 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +saRQ4=Remplace(saRQ4,"{Liste_IDIntervention}",saLstIdInter) +TraceRequete(saRQ4) +SI PAS HExécuteRequêteSQL(sdNote,gcnxReplica,hRequêteDéfaut,saRQ4) ALORS +TraceERREUR("Erreur lecture des Notes Internes " + HErreurInfo(hErrComplet)) +SINON +stN est un ST_NOTE +POUR TOUT sdNote +stN.nIdInter = sdNote.MI_IDIntervention +stN.saNote = sdNote.MI_Message +stN.saAuteur = sdNote.UT_Prenom + [" "] + sdNote.UT_Nom +stN.saDate = sdNote.CreationDate +stN.saGuid = sdNote.MI_GUID +//stN.nIdAuteur =sdNote.CreationUser +stN.nIdUsr = sdNote.CreationUser +//stN.saType =sdNote.MI_IDTypeMessage //toujours à 0 +n = tbaIdInter[stN.nIdInter] +tblRDV[n].stINTER.tblNote.Ajoute(stN) +FIN +FIN +// //Tableau des Temps passés +// sdTps est une source de données +// saRQ=[ +// +SELECT +SDT_PKID,SDT_IDIntervention,SDT_IDCollaborateur,SDT_DateDebut,SDT_DateHeureFin,SDT_Ponderation, +SDT_NbMinutes,SDT_IDTypeTemps,SDT_Libelle,SDT_IDPartenaire +// FROM SUIVIDESTEMPS +// WHERE SDT_IDIntervention IN ({Liste_IDIntervention}) +// ] +// saRQ=Remplace(saRQ,"{Liste_IDIntervention}",saLstIdInter) +// SI PAS HExécuteRequêteSQL(sdTps,gcnxReplica,hRequêteDéfaut,saRQ) ALORS +// TraceINFO("Erreur lecture des Temps " + HErreurInfo(hErrComplet)) +// SINON +// stTps est un ST_TEMPS +// POUR TOUT sdTps +// stTps:nIdInter = sdTps.SDT_IDIntervention +// stTps:nIdTps = sdTps.SDT_PKID +// stTps:nIdCollab = sdTps.SDT_IDCollaborateur +// stTps:saNumInter = sdTps.sdt +// stTps:saHeureDebut = sdTps.SDT_DateDebut +// stTps:saHeureFin = sdTps.SDT_DateHeureFin +// stTps:nPond100 = sdTps.SDT_Ponderation*100 +// stTps:nNbMinutes = sdTps.SDT_NbMinutes +// stTps:nIdTypeTps = sdTps.SDT_IDTypeTemps +// stTps:saLibelle = sdTps.SDT_Libelle +// +// n=tbaIndice[stTps.nIdInter] +// tblRDV[n].stINTER.tblNote.Ajoute(stTps) +// FIN +// FIN +FIN +TraceINFO("Nb d'interventions : " + nNbInter) +bufRes_2 est un Buffer +Sérialise(tblRDV,bufRes_2,psdJSON) +TraceINFO("tblRDV =" + bufRes_2) +RENVOYER "" //Pas d'erreur +12/08/2026 Batik_WS_Com_Mob 156 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +FAIRE +sRes=ExceptionInfo(errComplet) +TraceERREUR("ConstruitTableauInterventions : " + sRes) +RENVOYER "E"+sRes +FIN +Procédure globale ConstruitTableauInterventions_V2 +PROCÉDURE ConstruitTableauInterventions_V2(saRQ est une chaîne ANSI,saRqCR est une chaîne ANSI , +bAvecRDV est un booléen,bAvecCR est un booléen,tbLRDV est un tableau de ST_RDV_INTER_V2) +QUAND EXCEPTION DANS +nNbInter est un entier +sRes est une chaîne ANSI +saLstIdInter est une chaîne ANSI +saLstIdRDV est une chaîne ANSI +n est un entier +tbaCompteRendu est un tableau associatif de STCompteRenduRqListe_V2 +saCle est une chaîne ANSI +sdSDCR est une Source de Données +SI saRqCR <> "" ALORS +TraceRequete(saRqCR) +SI PAS HExécuteRequêteSQL(sdSDCR,gcnxReplica,hRequêteDéfaut,saRqCR) ALORS +sRes="E"+HErreurInfo(errComplet) +TraceERREUR("ConstruitTableauInterventionsAvecCopmteRendu : " + sRes) +RENVOYER sRes +FIN +POUR TOUT sdSDCR +stCpR est une STCompteRenduRqListe_V2 +stCpR.saCR_GUID = sdSDCR.CR_GUID +stCpR.saDateHeureDebut = sdSDCR.CR_DateHeureDebut +stCpR.saDateHeureFin = sdSDCR.CR_DateHeureFin +stCpR.saNoteCollaborateur = sdSDCR.CR_NoteCollaborateur +stCpR.saNoteSignataire = sdSDCR.CR_NoteSignataire +stCpR.saDateHeureSignature = sdSDCR.CR_DateHeureSignature +stCpR.nIN_PKID = sdSDCR.CR_IDIntervention +stCpR.saNomSignataire = sdSDCR.CR_NomSignataire +stCpR.saPL_GUID = sdSDCR.CR_GUID_Rdv +stCpR.nPL_IDCollaborateur = sdSDCR.CR_IDCollaborateur +stCpR.nCR_CreationUser = sdSDCR.CR_CreationUser +SI sdSDCR.CR_Signature <> "" ALORS +stCpR.bCR_Signature = Vrai +SINON +stCpR.bCR_Signature = Faux +FIN +SI sdSDCR.CR_SignatureTech <> "" ALORS +stCpR.bCR_SignatureTech = Vrai +SINON +stCpR.bCR_SignatureTech = Faux +FIN +stCpR.nRDV_PKID = sdSDCR.CR_IDRdv +//stCpR.nIdGroupe = sdSDCR.PL_IDGroupe +stCpR.nIDTypeSignataire = DonneIdParametre(sdSDCR.CR_CleTypeSignataire) +stCpR.saReserveCommentaire = sdSDCR.CR_ReserveCommentaire +SI sdSDCR.CR_NomSignataireTech <> "" ALORS +12/08/2026 Batik_WS_Com_Mob 157 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +| | stCpR.saNomCollaborateur | = sdSDCR.CR_NomSignataireTech | | | +| --- | ------------------------ | ----------------------------- | --- | --- | +SINON +| | stCpR.saNomCollaborateur | = sdSDCR.CO_Nom +" "+sdSDCR.CO_Prenom | | | +| --- | ------------------------ | ------------------------------------- | --- | --- | +FIN +tbaCompteRendu[stCpR.saPL_GUID] = stCpR +FIN +FIN +sd est une Source de Données +TraceRequete(saRQ) +SI PAS HExécuteRequêteSQL(sd,gcnxReplica,hRequêteDéfaut,saRQ) ALORS +sRes="E"+HErreurInfo(errComplet) +sRes += saRQ +TraceERREUR("ConstruitTableauInterventions : " + sRes) +RENVOYER sRes +FIN +POUR TOUT sd +xt est un ST_RDV_INTER_V2 +saLstIdInter+= [","] + sd.IN_PKID +SI bAvecRDV ALORS +saLstIdRDV += [","] +"'"+sd.RVC_GUID_RDV+"'" +| | xt.stRDV.nPKID | = sd.RVC_PKID | | | +| --- | ------------------------ | --------------------------------- | ---- | --- | +| | xt.stRDV.saGUID | = sd.GUID_RDV_COLB | | | +| | xt.stRDV.saGUID_RDV | = sd.RVC_GUID_RDV | | | +| | xt.stRDV.nIDIntervention | = sd.RV_IdInter | | | +| | xt.stRDV.nIDTypeActivite | = DonneIdParametre(sd.RV_CleType) | | | +| | xt.stRDV.saObjet | = sd.RV_Objet | | | +xt.stRDV.saDescription = sd.RV_Description//RTFVersTexte(sd.PL_Description ) +| | xt.stRDV.saDateDebut | = sd.RVC_DateDeb | | | +| --- | -------------------- | ------------------------------------ | ---- | --- | +| | xt.stRDV.saDateFin | = sd.RVC_DateFin | | | +| | xt.stRDV.nIDStatut | = DonneIdParametre(sd.RVC_CleStatut) | | | +| | xt.stRDV.nIDLieu | = sd.RV_IdLieu | | | +| | xt.stRDV.bGrouper | = sd.RV_Groupe | | | +SI sd.RV_Groupe ALORS +| | xt.stRDV.nIDGroupe | = sd.RV_PKID | | | +| --- | ------------------ | ------------ | --- | --- | +SINON +| | xt.stRDV.nIDGroupe | = 0 | | | +| --- | ------------------ | --- | --- | --- | +FIN +| | xt.stRDV.nIDDossier | = sd.RV_IdDossier | | | +| --- | ----------------------- | ------------------------------------- | --- | --- | +| | xt.stRDV.bPrive | = Faux | | | +| | xt.stRDV.bCR | = sd.RVC_CR | | | +| | xt.stRDV.bSAV | = sd.RV_SAV | | | +| | xt.stRDV.bSuperposable | = sd.RVC_Superposable | | | +| | xt.stRDV.nIDEquipe | = 0 | | | +| | xt.stRDV.nIDSociete | = sd.RV_IdSociete | | | +| | xt.stRDV.saStatut | = DonneLibParametre(sd.RVC_CleStatut) | | | +| | xt.saRDV_TypAct | = DonneLibParametre(sd.RV_CleType) | | | +| | xt.saRDV_Statut | = DonneLibParametre(sd.RV_CleStatut) | | | +| | xt.saRDV_Lieu | = sd.LI_CodeLieu | | | +| | //xt.stRDV.saNoteCollab | = sd.PL_NoteCollab | | | +xt.stRDV.nIDCollaborateur = Val(DonneGuidIdColb(sd.RVC_GUID_Colb)) +| 12/08/2026 | | Batik_WS_Com_Mob | | 158 | +| ---------- | --- | ---------------- | --- | --- | + +Partie 4 › Collection de procédures › LIB_Traitements › Code +saCle = sd.RVC_GUID_RDV +FIN +SI bAvecCR ALORS +SI PAS bAvecRDV ALORS +POUR TOUT stUncr, saVcle de tbaCompteRendu +SI stUncr.nIN_PKID = sd.IN_PKID ALORS +saCle = saVcle +FIN +FIN +FIN +SI tbaCompteRendu[saCle]..Existe ALORS +xt.stRDV.stCompteRendu.saGuidCR = tbaCompteRendu[saCle].saCR_GUID +xt.stRDV.stCompteRendu.saDebut = tbaCompteRendu[saCle].saDateHeureDebut +xt.stRDV.stCompteRendu.saFin = tbaCompteRendu[saCle].saDateHeureFin +xt.stRDV.stCompteRendu.saNoteCollab = tbaCompteRendu[saCle]. +saNoteCollaborateur +xt.stRDV.stCompteRendu.saNoteClient = tbaCompteRendu[saCle]. +saNoteSignataire +xt.stRDV.stCompteRendu.saDateSignature = tbaCompteRendu[saCle]. +saDateHeureSignature +xt.stRDV.stCompteRendu.nIdInter = tbaCompteRendu[saCle].nIN_PKID +xt.stRDV.stCompteRendu.saSignataire = tbaCompteRendu[saCle]. +saNomSignataire +xt.stRDV.stCompteRendu.saNomCollaborateur = tbaCompteRendu[saCle].saNomCollaborateur +xt.stRDV.stCompteRendu.saReserveCommentaire= tbaCompteRendu[saCle]. +saReserveCommentaire +xt.stRDV.stCompteRendu.saGuidRDV = tbaCompteRendu[saCle].saPL_GUID +xt.stRDV.stCompteRendu.nIdCollab = tbaCompteRendu[saCle].nPL_IDCollaborateur +xt.stRDV.stCompteRendu.nIdUser = tbaCompteRendu[saCle].nCR_CreationUser +xt.stRDV.stCompteRendu.bImgSignature = tbaCompteRendu[saCle].bCR_Signature +xt.stRDV.stCompteRendu.bImgSignatureTech = tbaCompteRendu[saCle].bCR_SignatureTech +xt.stRDV.stCompteRendu.nIDTypeSignataire = tbaCompteRendu[saCle].nIDTypeSignataire +xt.stRDV.stCompteRendu.nIdGroupeRDV = tbaCompteRendu[saCle].nIdGroupe +SINON +xt.stRDV.stCompteRendu.saGuidCR = "" +xt.stRDV.stCompteRendu.saDebut = "" +xt.stRDV.stCompteRendu.saFin = "" +xt.stRDV.stCompteRendu.saNoteCollab = "" +xt.stRDV.stCompteRendu.saNoteClient = "" +xt.stRDV.stCompteRendu.saReserveCommentaire= "" +xt.stRDV.stCompteRendu.saDateSignature = "" +xt.stRDV.stCompteRendu.nIdInter = 0 +xt.stRDV.stCompteRendu.saSignataire = "" +xt.stRDV.stCompteRendu.saNomCollaborateur = "" +xt.stRDV.stCompteRendu.saGuidRDV = "" +xt.stRDV.stCompteRendu.nIdCollab = 0 +xt.stRDV.stCompteRendu.nIdUser = "" +xt.stRDV.stCompteRendu.bImgSignature = Faux +xt.stRDV.stCompteRendu.bImgSignatureTech = Faux +xt.stRDV.stCompteRendu.nIDTypeSignataire = 0 +xt.stRDV.stCompteRendu.nIdGroupeRDV = 0 +FIN +FIN +12/08/2026 Batik_WS_Com_Mob 159 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +//Sous ensemble Intervention +xt.stINTER.nDos_IDCli = sd.DO_IDClient +xt.stINTER.saDos_Type = DonneIdParametre(sd.DO_CleType) +xt.stINTER.saDos_Tit = sd.DO_Titre +xt.stINTER.saDos_Etat = DonneIdParametre(sd.DO_CleStatut) +xt.stINTER.saDos_RfI = sd.DO_RefInterne +xt.stINTER.saDos_RfE = sd.DO_RefExterne +xt.stINTER.saCli_Nom = sd.CL_Nom +xt.stINTER.saCli_Tel = sd.CL_Tel +xt.stINTER.saCli_Fax = sd.CL_Fax +xt.stINTER.saCli_Email = sd.CL_Email +xt.stINTER.stCli_Ad.nID = sd.AdClient_PKID +xt.stINTER.stCli_Ad.saEtiq = sd.AdClient_Etiquette +xt.stINTER.stCli_Ad.saLig = sd.AdClient_Adresse +xt.stINTER.stCli_Ad.saCP = sd.AdClient_CodePostal +xt.stINTER.stCli_Ad.saVil = sd.AdClient_Ville +xt.stINTER.nInt_PKID = sd.IN_PKID +xt.stINTER.saInt_Typ = DonneIdParametre(sd.IN_CleType) +xt.stINTER.saInt_Etat = DonneIdParametre(sd.IN_CleEtat) +xt.stINTER.nInt_IDSuiv = sd.IN_IDSuiviPar +xt.stINTER.saNomSuiviPar = sd.NomSuiviPar +xt.stINTER.saPrenomSuiviPar = sd.PrenomSuiviPar +xt.stINTER.saTelSuiviPar = sd.TelMobSuiviPar +xt.stINTER.saSuiviEmail = sd.SuiviEmail +xt.stINTER.nInt_IDDos = sd.IN_IDDossier +xt.stINTER.nInt_IDCli = sd.IN_IDClient +xt.stINTER.nInt_IDLieu = sd.IN_IDLieu +xt.stINTER.nInt_IDSociete = sd.IN_IDSociete +xt.stINTER.saSoc_Nom = sd.SO_Nom +xt.stINTER.saInt_Descrip = RTFVersTexte(sd.IN_Description) +xt.stINTER.bInt_AtTVA = sd.IN_AttestationTVAPresente +xt.stINTER.saInt_Note = sd.IN_NoteInterne +xt.stINTER.saInt_Tit = sd.IN_Titre +xt.stINTER.saInt_RfI = sd.IN_RefInterne +xt.stINTER.saInt_RfE = sd.IN_RefExterne +xt.stINTER.saInt_NumDevis = sd.IN_NumDevis +xt.stINTER.saInt_DateDevis = DateVersChaîne(sd.IN_DateDevis,"JJ/MM/AA") +xt.stINTER.nLieu_PKID = sd.LI_PKID +xt.stINTER.saLieu_CodeLieu = sd.LI_CodeLieu +xt.stINTER.nLieu_IDAdresse = sd.LI_IDAdresse +xt.stINTER.saLieu_Type = DonneIdParametre(sd.LI_CleType) +xt.stINTER.saLieu_CodeAcces = sd.LI_CodeAcces +xt.stINTER.bLieu_Badge = sd.LI_Badge +xt.stINTER.bLieu_Interphone = sd.LI_Interphone +xt.stINTER.saLieu_Note = sd.LI_Note +xt.stINTER.stLieu_Ad.nID = sd.AdLieu_PKID +xt.stINTER.stLieu_Ad.saEtiq = sd.AdLieu_Etiquette +xt.stINTER.stLieu_Ad.saLig = sd.AdLieu_Adresse +xt.stINTER.stLieu_Ad.saCP = sd.AdLieu_CodePostal +xt.stINTER.stLieu_Ad.saVil = sd.AdLieu_Ville +nNbInter = TableauAjoute(tbLRDV,xt) +FIN +SI nNbInter>0 ET bAvecRDV ALORS +//Construction de la liste des Contacts RDV +saRQ2 est une chaîne ANSI=[ +SELECT +RVCT_PKID, +RVCT_GUID_Pers, +12/08/2026 Batik_WS_Com_Mob 160 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +RVCT_GUID_RDV, +PE_PKID, +Personne.PE_CleCivilite, +Personne.PE_Nom AS PE_Nom, +Personne.PE_Prenom AS PE_Prenom, +Personne.PE_Email AS PE_Email, +Personne.PE_TelFixe AS PE_TelFixe, +Personne.PE_TelMobile AS PE_TelMobile, +Personne.PE_CleRole, +Personne.PE_Note AS PE_Note, +Intervention_Personne.IP_IDPersonne AS IP_IDPersonne, +Intervention_Personne.IP_IDIntervention AS IP_IDIntervention, +Intervention_Personne.IP_IDLieu AS IP_IDLieu, +Intervention_Personne.IP_IDClient AS IP_IDClient, +Intervention_Personne.IP_Etage AS IP_Etage, +Intervention_Personne.IP_Lot AS IP_Lot, +Lieu_Personne.LIP_Etage AS LIP_Etage, +Lieu_Personne.LIP_Lot AS LIP_Lot, +Lieu_Personne.LIP_EtiquetteAdresse AS LIP_EtiquetteAdresse +FROM +RDV_Contact INNER JOIN Personne ON (Personne.GUID = RDV_Contact.RVCT_GUID_Pers) +INNER JOIN Intervention_Personne ON (Intervention_Personne.IP_IDPersonne=Personne.PE_PKID +AND Intervention_Personne.IP_IDIntervention>0) +INNER JOIN Lieu_Personne ON +(Lieu_Personne.LIP_IDPersonne=Intervention_Personne.IP_IDPersonne AND +Lieu_Personne.LIP_IDLieu=Intervention_Personne.IP_IDLieu) +WHERE RDV_Contact.RVCT_GUID_RDV IN ({pListeIdRdv}) +] +saRQ2=Remplace(saRQ2,"{pListeIdRdv}",saLstIdRDV) +TraceRequete(saRQ2) +sdCnt est une Source de Données +SI PAS HExécuteRequêteSQL(sdCnt,gcnxReplica,hRequêteDéfaut,saRQ2) ALORS +sRes="E"+HErreurInfo(errComplet) +TraceERREUR("ConstruitTableauInterventions : " + sRes) +RENVOYER sRes +FIN +POUR TOUT sdCnt +stContact est un ST_RDV_CONTACT +| | stContact.nIdRdvCnt | = sdCnt.RVCT_PKID | | | +| --- | ------------------------------------------------------------- | -------------------- | --- | --- | +| | //stContact.nId | =sdCnt.IP_IDPersonne | | | +| | stContact.saCivilite = DonneIdParametre(sdCnt.PE_CleCivilite) | | | | +| | stContact.saNom | = sdCnt.PE_Nom | | | +| | stContact.saPrenom | = sdCnt.PE_Prenom | | | +| | stContact.saEmail = sdCnt.PE_Email | | | | +| | stContact.saRole = DonneIdParametre(sdCnt.PE_CleRole) | | | | +stContact.saEtage = sdCnt.IP_Etage<>"" ? sdCnt.IP_Etage SINON sdCnt.LIP_Etage +stContact.saLot = sdCnt.IP_Lot<>"" ? sdCnt.IP_Lot SINON sdCnt.LIP_Lot +stContact.saEtiquette= sdCnt.LIP_EtiquetteAdresse +| | stContact.saNote = sdCnt.PE_Note | | | | +| --- | -------------------------------- | --- | --- | --- | +stContact.bDonneurOrdre = sdCnt.IP_IDClient<>0 _ET_ sdCnt.IP_IDlieu=0 +//Ajout des téléphones dans un tableau (structure prête pour le multitéléphone) +stTel est un ST_TELEPHONE +SI sdCnt.PE_TelFixe<>"" ALORS +| | stTel.saTelNum | = sdCnt.PE_TelFixe | | | +| --- | -------------- | ------------------- | --- | --- | +| | stTel.saTelLib | = "Tél 1" | | | +stContact.tbLTEL.Ajoute(stTel) +FIN +SI sdCnt.PE_TelMobile<>"" ALORS +| | stTel.saTelNum | = sdCnt.PE_TelMobile | | | +| ---------- | -------------- | --------------------- | --- | --- | +| | stTel.saTelLib | = "Tél 2" | | | +| 12/08/2026 | | Batik_WS_Com_Mob | | 161 | + +Partie 4 › Collection de procédures › LIB_Traitements › Code +stContact.tbLTEL.Ajoute(stTel) +FIN +ResIndice est un entier +ResIndice = TableauCherche(tbLRDV,tcLinéaire,"stRDV.saGUID_RDV",sdCnt.RVCT_GUID_RDV, +ResIndice) +TANTQUE ResIndice > 0 +tbLRDV[ResIndice].stRDV.tblContact.Ajoute(stContact) +ResIndice += 1 +ResIndice = TableauCherche(tbLRDV,tcLinéaire,"stRDV.saGUID_RDV",sdCnt.RVCT_GUID_RDV, +ResIndice) +FIN +FIN +//Construction de la liste des Contacts Intervention/Lieu +FIN +SI nNbInter>0 ALORS +sdPers est une Source de Données +saRQ3 est une chaîne ANSI = [ +SELECT +Intervention_Personne.IP_Etage AS IP_Etage, +Intervention_Personne.IP_Lot AS IP_Lot, +Intervention_Personne.IP_IDPersonne AS IP_IDPersonne, +Intervention_Personne.IP_EstDemandeur AS IP_EstDemandeur, +Personne.PE_CleCivilite, +Personne.PE_Nom AS PE_Nom, +Personne.PE_Prenom AS PE_Prenom, +Personne.PE_TelFixe AS PE_TelFixe, +Personne.PE_TelMobile AS PE_TelMobile, +Personne.PE_CleRole, +Personne.PE_Note AS PE_Note, +Personne.PE_Email AS PE_Email, +Intervention_Personne.IP_IDIntervention AS IP_IDIntervention, +Intervention_Personne.IP_IDLieu AS IP_IDLieu, +Intervention_Personne.IP_IDClient AS IP_IDClient, +Lieu_Personne.LIP_Etage AS LIP_Etage, +Lieu_Personne.LIP_Lot AS LIP_Lot, +Lieu_Personne.LIP_EtiquetteAdresse AS LIP_EtiquetteAdresse +FROM Intervention_Personne +INNER JOIN Personne ON (Personne.PE_PKID = Intervention_Personne.IP_IDPersonne) +LEFT OUTER JOIN Lieu_Personne ON (Lieu_Personne.LIP_IDLieu=Intervention_Personne.IP_IDLieu +AND Lieu_Personne.LIP_IDPersonne=Intervention_Personne.IP_IDPersonne) +WHERE Intervention_Personne.IP_IDIntervention IN ({Liste_IDIntervention}) +ORDER BY +IP_IDIntervention ASC +] +saRQ3=Remplace(saRQ3,"{Liste_IDIntervention}",saLstIdInter) +TraceRequete(saRQ3) +SI PAS HExécuteRequêteSQL(sdPers,gcnxReplica,hRequêteDéfaut,saRQ3) ALORS +sRes="E"+HErreurInfo(errComplet) +TraceERREUR("ConstruitTableauInterventions : " + sRes) +RENVOYER sRes +FIN +stPer est un ST_PERSONNE_LIEU +POUR TOUT sdPers +stPer.nID = sdPers.IP_IDPersonne +stPer.saNom = sdPers.PE_Nom +12/08/2026 Batik_WS_Com_Mob 162 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +stPer.saPren = sdPers.PE_Prenom +stPer.saTFix = sdPers.PE_TelFixe +stPer.saTMob = sdPers.PE_TelMobile +stPer.saRole = DonneIdParametre(sdPers.PE_CleRole) +stPer.saEmail = sdPers.PE_Email +stPer.saEtage = sdPers.IP_Etage<>"" ? sdPers.IP_Etage SINON sdPers.LIP_Etage +//sdPers.IP_Etage +stPer.saLot = sdPers.IP_Lot<>"" ? sdPers.IP_Lot SINON sdPers.LIP_Lot +//sdPers.IP_Lot +stPer.saEtiquette = sdPers.LIP_EtiquetteAdresse +stPer.saNote = sdPers.PE_Note +stPer.bDemand = sdPers.IP_EstDemandeur +stPer.bDonneurOrdre = sdPers.IP_IDClient<>0 _ET_ sdPers.IP_IDlieu=0 +ResIndice est un entier +ResIndice = TableauCherche(tbLRDV,tcLinéaire,"stINTER.nInt_PKID",sdPers.IP_IDIntervention) +TANTQUE ResIndice > 0 +tbLRDV[ResIndice].stINTER.tblPerLieu.Ajoute(stPer) +TableauTrie(tbLRDV[ResIndice].stINTER.tblPerLieu,ttMembre,"-bDemand;saRole;saNom") +//Ordonne le tableau pour avoir les demandeurs en premier +ResIndice += 1 +ResIndice = TableauCherche(tbLRDV,tcLinéaire,"stINTER.nInt_PKID",sdPers. +IP_IDIntervention,ResIndice) +FIN +FIN +//Ajout du tableau des Notes Internes +sdNote est une Source de Données +saRQ4 est une chaîne ANSI = [ +SELECT MI_Message,MessageInterne.CreationDate,UT_Nom , UT_Prenom +,MI_IDTypeMessage,MI_IDIntervention,MessageInterne.GUID as MI_GUID +,MessageInterne.CreationUser +FROM MessageInterne INNER JOIN Utilisateur ON +MessageInterne.CreationUser=Utilisateur.UT_PKID +WHERE MI_IDIntervention IN ({Liste_IDIntervention}) AND MessageInterne.MI_IDTypeMessage < +10 +ORDER BY MessageInterne.CreationDate DESC +] +saRQ4=Remplace(saRQ4,"{Liste_IDIntervention}",saLstIdInter) +TraceRequete(saRQ4) +SI PAS HExécuteRequêteSQL(sdNote,gcnxReplica,hRequêteDéfaut,saRQ4) ALORS +TraceERREUR("Erreur lecture des Notes Internes " + HErreurInfo(hErrComplet)) +SINON +stN est un ST_NOTE +POUR TOUT sdNote +stN.nIdInter = sdNote.MI_IDIntervention +stN.saNote = sdNote.MI_Message +stN.saAuteur = sdNote.UT_Prenom + [" "] + sdNote.UT_Nom +stN.saDate = sdNote.CreationDate +stN.saGuid = sdNote.MI_GUID +stN.nIdUsr = sdNote.CreationUser +ResIndice est un entier +ResIndice = TableauCherche(tbLRDV,tcLinéaire,"stINTER.nInt_PKID",stN.nIdInter) +TANTQUE ResIndice > 0 +tbLRDV[ResIndice].stINTER.tblNote.Ajoute(stN) +ResIndice += 1 +ResIndice = TableauCherche(tbLRDV,tcLinéaire,"stINTER.nInt_PKID",stN.nIdInter, +ResIndice) +12/08/2026 Batik_WS_Com_Mob 163 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +FIN +FIN +FIN +FIN +TraceINFO("Nb d'interventions : " + nNbInter) +bufRes est un Buffer +Sérialise(tbLRDV,bufRes,psdJSON) +TraceINFO("tblRDV =" + bufRes) +RENVOYER "" //Pas d'erreur +FAIRE +sRes=ExceptionInfo(errComplet) +TraceERREUR("ConstruitTableauInterventions : " + sRes) +RENVOYER "E"+sRes +FIN +Procédure globale ControleRdvAPlanifier +PROCÉDURE ControleRdvAPlanifier(stData est une ST_MOB_DATA) +sResultat est une chaîne=cErreur +ChronoDébut() +QUAND EXCEPTION DANS +stRdvTemp est un ST_RDV +Désérialise(stRdvTemp,stData.saJSON,psdJSON) +sdTps est une Source de Données +saRQ est une chaîne ANSI=[ +SELECT 1 FROM RDV_Planning +INNER JOIN RDV_Collaborateur ON RDV_Collaborateur.RVC_GUID_RDV = RDV_Planning.GUID +WHERE RDV_Planning.RV_CleStatut={p_CleNonPlanifier} +AND RDV_Collaborateur.RVC_PKID={p_IDRdv} +] +saRQ=Remplace(saRQ,"{p_IDRdv}",stRdvTemp.nPKID) +saRQ=Remplace(saRQ,"{p_CleNonPlanifier}",cCle_RDVAPlanifier) +SI PAS HExécuteRequêteSQL(sdTps,gcnxReplica,hRequêteDéfaut,saRQ) ALORS +TraceDEBUG("Erreur ControleRdvAPlanifier " + HErreurInfo(hErrComplet)) +SINON +//Le rendez-vous n'a été planifié par personne +SI HNbEnr(sdTps)>0 ALORS +stRdvTemp.nIDStatut = DonneIdParametre(cCle_RDVConfirme) +Sérialise(stRdvTemp,stData.saJSON,psdJSON) +sResultat="R" +SINON +sResultat=cErreur + cERR_RDV_PLANIFIER +FIN +FIN +12/08/2026 Batik_WS_Com_Mob 164 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +FAIRE +TraceDEBUG("bufREs : E" + ExceptionInfo(errComplet)) +TraceDEBUG("Durée (ms) : " + ChronoFin()) +FIN +RENVOYER sResultat +Procédure globale ContruireListeChamps +PROCÉDURE ContruireListeChamps(tabRubMobile est un tableau de STJSONMembreRubRapport,stParam est un +ST_REQ_LISTE_Chp_Rapport,bToutesRub est un booléen = Faux) +tabToutesRub est un tableau de STJSONMembreRubRapport +tbMotCleSpec est un tableau de STJSONMembreRubRapport +nPKID_Rapport est un entier sur 8 octets = stParam.nIdModele +nPKID_Inter est un entier sur 8 octets = stParam.nIdInter +SI nPKID_Rapport <= 0 ALORS +RENVOYER "Identifiant du modèle introuvable" +FIN +SI nPKID_Inter <= 0 ALORS +RENVOYER "Identifiant de l'intervention introuvable" +FIN +saRQRp est une chaîne ANSI=[ +SELECT * FROM ModeleRapport WHERE MRP_PKID = +] +saRQRp += nPKID_Rapport +sdRpest une Source de Données +HExécuteRequêteSQL(sdRp,gcnxReplica,saRQRp) +MonDoc est un Document +SI sdRp.MRP_Modele <> "" ALORS +MonDoc = sdRp.MRP_Modele +SINON +RENVOYER "" +FIN +SI sdRp.MRP_Extra <> "" ALORS +Désérialise(tbMotCleSpec,sdRp.MRP_Extra,psdJSON) +POUR TOUT stUnMot DE tbMotCleSpec +SI stUnMot:TypeMembre <> "" ALORS +stUnMot:Type = stUnMot:TypeMembre //Pour compatibilite dans le mobile +FIN +FIN +FIN +TermeRapport est un STJSONRubriqueRapport +TermeRapport.ListeTerme = ChargeListeRubDoc() +//vRub est un Variant +// +//saRQRub est une chaîne ANSI = [ +// SELECT * FROM ParametreSysteme WHERE PAS_Code = 'RUBRIQUE_RAPPORT_INTERVENTION' +//] +// +//sdRpRub est une source de données +//HExécuteRequêteSQL(sdRpRub,gcnxReplica,saRQRub) +//vRub = JSONVersVariant(sdRpRub.PAS_Valeur) +// +//SI vRub<>Null ALORS +// Désérialise(TermeRapport,sdRpRub.PAS_Valeur,psdJSON) +12/08/2026 Batik_WS_Com_Mob 165 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +// TableauTrie(TermeRapport:ListeTerme,ttMembre,"Groupe;Ordre") +//FIN +SI TermeRapport:ListeTerme..Occurrence <= 0 ALORS +TraceDEBUG("ContruireListeChamps - Recherche la liste des terme est a 0" ) +RENVOYER "" +FIN +ConstructionTbRubBaseRapport(TermeRapport,tabToutesRub,MonDoc) +ConstructionTbRubEnvoyerMob(TermeRapport,tabToutesRub,tabRubMobile,MonDoc,bToutesRub,tbMotCleSpec) +AjouterDonnesBDDansChampRapport(nPKID_Inter, tabRubMobile) +RENVOYER "" +Procédure globale CreationETEnvoiEmail +PROCÉDURE CreationETEnvoiEmail(stID est un ST_MOB_IDENTITE, stData est une ST_MOB_DATA) +| stInfoMail est un ST_ModeleMailComplet | | | | +| -------------------------------------- | --- | --- | --- | +| sErreur est une chaîne ANSI | | | | +Désérialise(stInfoMail,stData.saJSON,psdJSON) +| bufRes | est un Buffer | | | +| ----------- | ------------------- | --- | --- | +| sResRepTemp | est une chaîne ANSI | | | +<COMPILE SI Configuration = "WS_COM_MOBILE" OU Configuration = "Debug WS_COM_MOBILE"> +| sResRepTemp | = ComplèteRep(fRepExe())+"TEMP\" | | | +| ----------- | -------------------------------- | --- | --- | +<SINON> +| sResRepTemp | = ComplèteRep(fRepWeb())+"TEMP\" | | | +| ----------- | -------------------------------- | --- | --- | +<FIN> +| nPKID_Inter | est un entier sur 8 octets | = stInfoMail.nIdInter | | +| ----------- | -------------------------- | --------------------- | --- | +QUAND EXCEPTION DANS +ChronoDébut() +TraceINFO(" CreationETEnvoiEmail ") +| unEmail | est un Email | | | +| ------- | ------------ | --- | --- | +(sErreur,unEmail) = CreationUnEmail(stInfoMail) +SI SansEspace(sErreur) <> "" ALORS +bufRes ="E" + sErreur +RENVOYER bufRes +FIN +| bSMTPCnxOk | est un booléen | | | +| ------------------- | -------------- | --- | --- | +| sMsg est une chaîne | | | | +(bSMTPCnxOk,sMsg)=OuvreSessionEmail(3,stInfoMail.stCompteMail.SMTP.sLogin, stInfoMail.stCompteMail. +SMTP.sMdp, stInfoMail.stCompteMail.SMTP.sAdresseServeur, Val(stInfoMail.stCompteMail.SMTP. +sPortServeur), stInfoMail.stCompteMail.SMTP.nCryptage) +SI PAS bSMTPCnxOk ALORS +// erreur +bufRes ="E" + sMsg +TraceINFO("Erreur dans la connexion SMTP "+sMsg) +RENVOYER bufRes +FIN +// Envoie l'email +SI PAS EmailEnvoieMessage(stInfoMail.stCompteMail.SMTP.sLogin,unEmail) ALORS +sErreur =ErreurInfo(errMessage) +TraceINFO("Erreur dans l'envoi de l'email "+sErreur) +FIN +| 12/08/2026 | | Batik_WS_Com_Mob | 166 | +| ---------- | --- | ---------------- | --- | + +Partie 4 › Collection de procédures › LIB_Traitements › Code +EmailFermeSession(stInfoMail.stCompteMail.SMTP.sLogin) +bEnvoye est un booléen = Faux +SI SansEspace(sErreur) = "" ALORS +bEnvoye = Vrai +FIN +saRep est une chaîne ANSI = CreationMessageExt(stID,stInfoMail, bEnvoye) +SI SansEspace(sErreur) ="" ALORS +//Nous ne devons pas générer d'erreur si l'e-mail a été envoyé au risque que l'utilisateur +essaie de le renvoyer, mais nous envoyons le message d'erreur pour avertir l'utilisateur. +SI saRep <> cRep_OK ALORS +sErreur += +" Une erreur s'est produite lors de l'enregistrement du message dans le back-office. "+ +saRep +FIN +bufRes ="R" + sErreur +SINON +bufRes ="E" + sErreur+RC+saRep +FIN +TraceINFO("Durée (ms) : " + ChronoFin()) +RENVOYER bufRes +FAIRE +//bufRes ="E" + ExceptionInfo(errComplet) +TraceERREUR("bufREs : " + bufRes) +TraceDEBUG("Durée (ms) : " + ChronoFin()) +RENVOYER bufRes +FIN +Procédure globale CreationMessageExt +PROCÉDURE CreationMessageExt(stID est un ST_MOB_IDENTITE, stInfoMail est un ST_ModeleMailComplet, +bEnvoye est un booléen) +saRep est une chaîne ANSI +QUAND EXCEPTION DANS +TraceINFO(" CreationMessageExt ") +stMsgExt est un ST_MsgExterneMail +stMsgExt.nIdInter = stInfoMail.nIdInter +stMsgExt.saSujet = stInfoMail.saSujet +stMsgExt.bufCorp = stInfoMail.bufCorpsHTML +stMsgExt.saGUID = stInfoMail.saGUID +stMsgExt.saAdrExp = stInfoMail.stCompteMail.SMTP.sLogin +stMsgExt.sapj = TableauVersChaîne(stInfoMail.tbPJID,";") +stMsgExt.saDest = TableauVersChaîne(stInfoMail.tbDest,";") +stMsgExt.saDestcc = TableauVersChaîne(stInfoMail.tbDestcc,";") +stMsgExt.saDestcci = TableauVersChaîne(stInfoMail.tbDestcci,";") +stMsgExt.bEnvoye = bEnvoye +stMsgExt.nIdUser = stID.nIdUser +saJSON est une chaîne ANSI +Sérialise(stMsgExt,saJSON,psdJSON) +HRAZ(TOSRV) +12/08/2026 Batik_WS_Com_Mob 167 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +TOSRV.TS_CMD = cCMD_MsgExtEcrit +TOSRV.TS_Date = DateHeureSys() +TOSRV.TS_JSON = saJSON +TOSRV.TS_Buffer = "" +SI HAjoute(TOSRV) ALORS +saRep = cRep_OK +SINON +saRep= cErreur +RC+HErreurInfo() +FIN +TraceINFO("CreationMessageExt "+saRep ) +RENVOYER saRep +FAIRE +saRep = ExceptionInfo(errComplet) +TraceERREUR("bufREs : " + saRep) +RENVOYER saRep +FIN +Procédure globale CreationModeleMail +PROCÉDURE CreationModeleMail(stData est une ST_MOB_DATA) +stInfoRapport est un STJSONInfoRapportMob +Désérialise(stInfoRapport,stData.saJSON,psdJSON) +bufRes est un Buffer +sResRepTemp est une chaîne ANSI +<COMPILE SI Configuration = "WS_COM_MOBILE" OU Configuration = "Debug WS_COM_MOBILE"> +sResRepTemp = ComplèteRep(fRepExe())+"TEMP\" +<SINON> +sResRepTemp = ComplèteRep(fRepWeb())+"TEMP\" +<FIN> +nPKID_Rapport est un entier sur 8 octets = stInfoRapport.nIdModele +CheminImg est une chaîne ANSI = ComplèteRep(sResRepTemp+stInfoRapport.nIdInter) +SI nPKID_Rapport <= 0 ALORS +RENVOYER "E"+"Modèle introuvable" +FIN +QUAND EXCEPTION DANS +ChronoDébut() +TraceINFO(" CreationModeleMail ") +stParam est un STJSONInfoModeleMailMob +Désérialise(stParam,stData.saJSON,psdJSON) +sErreur est une chaîne = ConstruireModeleMailAvecInfoMob(stParam,bufRes) +SI sErreur="" ALORS +bufRes ="R" + bufRes +SINON +bufRes ="E" + sErreur +FIN +TraceINFO("Durée (ms) : " + ChronoFin()) +RENVOYER bufRes +FAIRE +bufRes ="E" + ExceptionInfo(errComplet) +TraceERREUR("bufREs : " + bufRes) +TraceDEBUG("Durée (ms) : " + ChronoFin()) +RENVOYER bufRes +FIN +Procédure globale CreationRapport +12/08/2026 Batik_WS_Com_Mob 168 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +PROCÉDURE CreationRapport(stID est un ST_MOB_IDENTITE,stData est une ST_MOB_DATA) +stInfoRapport est un STJSONInfoRapportMob +Désérialise(stInfoRapport,stData.saJSON,psdJSON) +bufRes est un Buffer +sResRepTemp est une chaîne ANSI +<COMPILE SI Configuration = "WS_COM_MOBILE" OU Configuration = "Debug WS_COM_MOBILE"> +sResRepTemp = ComplèteRep(fRepExe())+"TEMP\" +<SINON> +sResRepTemp = ComplèteRep(fRepWeb())+"TEMP\" +<FIN> +<COMPILE SI Configuration="Debug WS_COM_MOBILE"> +<FIN> +nPKID_Rapport est un entier sur 8 octets = stInfoRapport.nIdModele +CheminImg est une chaîne ANSI = ComplèteRep(sResRepTemp+stInfoRapport.nIdInter) +SI nPKID_Rapport <= 0 ALORS +bufRes = "E"+"Modèle introuvable" +RENVOYER bufRes +FIN +saRQRp est une chaîne ANSI=[ +SELECT * FROM ModeleRapport WHERE MRP_PKID = +] +saRQRp += nPKID_Rapport +sdRpest une Source de Données +HExécuteRequêteSQL(sdRp,gcnxReplica,saRQRp) +MonDoc est un Document +SI sdRp.MRP_Modele <> "" ALORS +MonDoc = sdRp.MRP_Modele +FIN +tbMotCleSpec est un tableau de STJSONMembreRubRapport +// Mot clé ajouté spécifique au mobile , (texte additionnel qui provient pas de données de +l'intervention) +SI sdRp.MRP_Extra <> "" ALORS +Désérialise(tbMotCleSpec,sdRp.MRP_Extra,psdJSON) +FIN +tabRubMobile est un tableau de STJSONMembreRubRapport +stParam est un ST_REQ_LISTE_Chp_Rapport +stParam.nIdModele = nPKID_Rapport +stParam.nIdInter = stInfoRapport.nIdInter +saErreur est une chaîne ANSI = ContruireListeChamps(tabRubMobile,stParam,Vrai) +SI saErreur <> "" ALORS +TraceERREUR("Erreur dans la création du rapport ") +bufRes = "E"+saErreur +SINON +QUAND EXCEPTION DANS +TraiteDocumentRapportMob(tabRubMobile,stInfoRapport.ListeMob,MonDoc,CheminImg) +SupprimerToutesRubRapportMob(tabRubMobile,MonDoc) +SI PAS fRepCrée(CheminImg) ALORS +TraceINFO("Erreur dans la création du repertoire Nom Rep "+CheminImg+RC+ErreurInfo( +errComplet)) +saErreur = "Erreur dans la création du rapport " +bufRes = "E"+saErreur +FIN +TraceINFO("Avant création doc") +saNomDoc est une chaîne ANSI = CheminImg+stInfoRapport.saGuid+".pdf" +SI DocVersPDF(MonDoc,saNomDoc) ALORS +bufRapportPDF est un Buffer = fChargeBuffer(saNomDoc) +SI bufRapportPDF..Taille > 0 ALORS +12/08/2026 Batik_WS_Com_Mob 169 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +TraceINFO("Rapport crée "+ saNomDoc) +Sérialise(tabRubMobile,bufRes,psdJSON) +bufRes ="R" + bufRes +TraceINFO("Liste Rub "+ bufRes) +stCmd est un ST_DOC +stCmd.saNom = stInfoRapport.saNomRapport+".pdf" +stCmd.saDocGUID = stInfoRapport.saGuid +stCmd.saDateCreat= DateHeureSys() +stCmd.nInterID = stInfoRapport.nIdInter +stCmd.saNote = "" +stCmd.nIdUser = stID.nIdUser +stCmd.saType = "PDF_RP" +saJSON est une chaîne ANSI +Sérialise(stCmd,saJSON,psdJSON) +saRep est une chaîne ANSI +HRAZ(TOSRV) +TOSRV.TS_CMD = cCMD_DocEcrit +TOSRV.TS_Date = DateHeureSys() +TOSRV.TS_JSON = saJSON +TOSRV.TS_Buffer = bufRapportPDF +SI HAjoute(TOSRV) ALORS +saRep = cRep_OK +SINON +saRep= cErreur +RC+HErreurInfo() +FIN +SI saRep = cRep_OK ALORS +bufRes = "R"+bufRapportPDF +SINON +bufRes = saRep +TraceINFO("Réponse envoi de rapport au service : "+RC+bufRes) +FIN +SINON +TraceINFO("Buffer vide procedure CreationRapport"+RC+ErreurInfo(errComplet)) +FIN +SINON +TraceINFO("Erreur dans la création du rapport Nom doc "+saNomDoc+RC+ErreurInfo(errComplet) +) +saErreur = "Erreur dans la création du rapport "+RC+ErreurInfo() +bufRes = "E"+saErreur +FIN +FAIRE +TraceINFO("Erreur dans la création du rapport Nom doc "+saNomDoc+RC+ErreurInfo(errComplet)) +saErreur = "Erreur dans la création du rapport " +bufRes = "E"+saErreur +FIN +FIN +RENVOYER bufRes +Procédure globale CreationTableauIntDocRapport +PROCÉDURE CreationTableauIntDocRapport(unTerme est un STJSONMembreRubRapport,MonDoc est un Document, +nIMin est un entier, vInfoVariante est un Variant, CheminImg est une chaîne ANSI,sdRReq est une Source +de Données) +nNumLignes est un entier +saInfoV est une chaîne ANSI +imgBuf est un Buffer +POUR TOUT stTerme DE unTerme.ListeMembre +tabFragments est un tableau de docFragments = DocRecherche(MonDoc,stTerme.Rubrique,MotComplet+ +12/08/2026 Batik_WS_Com_Mob 170 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +SansCasse) +SI tabFragments..Occurrence > 0 ALORS +nNumLignes += 1 +FIN +FIN +bCree est un booléen = Faux +SI nNumLignes > 1 ALORS +POUR TOUT stTerme DE unTerme.ListeMembre +tabFragments est un tableau de docFragments = DocRecherche(MonDoc,stTerme.Rubrique,MotComplet+ +SansCasse) +SI tabFragments..Occurrence > 0 ALORS +nColonne est un entier = tabFragments[1].Elément[1].Cellule..IndiceColonne +nLigne est un entier = tabFragments[1].Elément[1].Cellule..IndiceLigne +nIMax est un entier = nIMin +soit para <- tabFragments[1]..Paragraphe[1] +SI para.Tableau = Null ALORS +RENVOYER Faux +FIN +POUR TOUT UnEle DE vInfoVariante +//sIdentifiant = {NomRubId} +SI UnEle.bselection ALORS +bufRep est un Buffer +Sérialise(UnEle,bufRep,psdJSON) +cellDoc est un docCellule<- para..Tableau..Cellules[nIMax,nColonne] +cellColDoc est un docColonne<- para..Tableau..Colonnes[nColonne] +cellColDoc..LargeurMillimètres = (cellColDoc..LargeurMillimètres+10) +// Insère un tableau à la position du curseur (PositionDébut) de taille 1 colonnes +et x lignes +TabDoc est un docFragment = DocInsèreTableau(MonDoc,cellDoc..Contenu +..PositionDébut,1, nNumLignes) +soit para2 <- TabDoc..Paragraphe[2] +nLigneEnCours est un entier +POUR TOUT stTerme2 DE unTerme.ListeMembre +tabFragments = DocRecherche(MonDoc,stTerme2.Rubrique,MotComplet+SansCasse) +SI tabFragments..Occurrence > 0 ALORS +nLigneEnCours += 1 +imgBuf = "" +saInfoV = "" +RechercheInfoDansVariantRapport(unTerme, stTerme2, UnEle,imgBuf,saInfoV, +sdRReq,CheminImg) +cell est un docCellule <- para2..Tableau..Cellules[nLigneEnCours,1 +] +cell.MiseEnPage.Cadre.Couleur = Transparent +// rendre transparent les lignes du nouveaux tableau +SI stTerme2:TypeMembre = "ChpImage" OU stTerme2:Type = "ChpImage" ALORS +SI imgBuf..Taille > 0 ALORS +nLargPixCol est un entier = para2..Tableau.. +Colonnes[1]..LargeurMillimètres*NBPixelesXMilimetres +elt est un docElément <- DonneImgTableauRp(imgBuf, +nLargPixCol) +cell2 est un docLigne <- para2..Tableau..Lignes +[nLigneEnCours] +cell2.Hauteur = (elt..Image..Hauteur) +cell3 est un docColonne <- para2..Tableau..Colonnes[1] +12/08/2026 Batik_WS_Com_Mob 171 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +cell3..LargeurMillimètres = (elt.Image..Largeur) +DocInsère(MonDoc,cell..Contenu..PositionDébut, elt) +SINON +//para2..Tableau..Cellules[nLigneEnCours,1]..Contenu..Texte = " +" +FIN +para2..Tableau..Cellules[nLigneEnCours,nColonne]..MiseEnPage.. +Alignement = chCentre +SINON +para2..Tableau..Cellules[nLigneEnCours,1].Contenu..Texte = +TraitementSelonTypeRubRapportMob(stTerme2,saInfoV) +FIN +FIN +FIN +bCree = Vrai +nIMax += 1 +SI Contient(stTerme:Rubrique,"$UN") ALORS +SORTIR +FIN +FIN +FIN +FIN +SI bCree ALORS +SORTIR +FIN +FIN +FIN +Procédure globale CreationTbdansModeleEmail +PROCÉDURE CreationTbdansModeleEmail(ListeMob est un tableau de STJSONMembreRubRapport, unTerme est un +STJSONMembreRubRapport, mondoc est un Document) +sADonnes est une chaîne ANSI +b est un entier +//saRep est une chaîne ANSI +sdRReq est une Source de Données +//tabTitreCol est un tableau de chaînes ANSI +//taCol est un tableau associatif de chaînes ANSI +//sTitresCols , sTbHTML, sInfoLigne sont des chaînes ANSI +nLigne, nCol sont des entiers +vInfoVariante est un Variant +TableauTrie(unTerme.ListeMembre,ttMembre+tccRespecteNumérique,"+Ordre") +SI unTerme:EnvoiMob ALORS +b = TableauCherche(ListeMob,tcLinéaire,"Rubrique;Utilisee",unTerme:Rubrique,Faux) +FIN +SI b > 0 ALORS +sADonnes = ListeMob[b].ListeDonnesMob +FIN +SI sADonnes <> "" _ET_ unTerme:Type = "Tableau" ALORS +vInfoVariante = JSONVersVariant(sADonnes) +12/08/2026 Batik_WS_Com_Mob 172 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +SI unTerme.GroupeApp = cRp_CR ALORS +// Requête dans la base de données , le compte rendu ne peuvent pas être modifiées par +l'utilisateur +// // donc le données ne sont pas récupérer à partir de données envoyés par le mobile +RqCompteRenduRemplirRapport(vInfoVariante,sdRReq) +FIN +nLigne = 1 // entête de table +POUR TOUT stTerme, b de unTerme.ListeMembre +nCol += 1 +FIN +POUR TOUT UnEle, c de vInfoVariante +SI UnEle.bSelection ALORS +nLigne += 1 +FIN +FIN +tabFragments est un tableau de docFragments = DocRecherche(mondoc,unTerme.Rubrique,MotComplet+ +SansCasse) +SI tabFragments..Occurrence > 0 ALORS +SI nLigne > 1 ALORS +TabDoc est un docFragment = DocInsèreTableau(mondoc,tabFragments[1].. +PositionDébut,nCol, nLigne) +soit para2 <- TabDoc..Paragraphe[2] +nLigneEnCours est un entier = 1 +nColEnCours est un entier = 1 +POUR TOUT stTerme, b de unTerme.ListeMembre +para2..Tableau..Cellules[1,b].Contenu..Texte = stTerme:nom +nLigneEnCours = 1 +POUR TOUT UnEle, c de vInfoVariante +SI stTerme:EnvoiMob ALORS +infoR est une chaîne ANSI +SI UnEle.bSelection ALORS +nLigneEnCours += 1 +imgBuf est un Buffer +SI stTerme:TypeMembre <> "ChpImage" OU stTerme:Type <> "ChpImage"ALORS +RechercheInfoDansVariantRapport(unTerme, stTerme, UnEle,imgBuf,infoR, +sdRReq,"") +para2..Tableau..Cellules[nLigneEnCours,b].Contenu..Texte = +TraitementSelonTypeRubRapportMob(stTerme,infoR) +FIN +FIN +FIN +FIN +FIN +SINON +tabFragments[1].Texte = "" +FIN +FIN +FIN +// +// +// +//TableauTrie(unTerme.ListeMembre,ttMembre+tccRespecteNumérique,"+Ordre") +12/08/2026 Batik_WS_Com_Mob 173 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +// +// +//SI unTerme:EnvoiMob ALORS +// b = TableauCherche(ListeMob,tcLinéaire,"Rubrique;Utilisee",unTerme:Rubrique,Faux) +//FIN +// +//SI b > 0 ALORS +// sADonnes = ListeMob[b].ListeDonnesMob +//FIN +// +//SI sADonnes <> "" _ET_ unTerme:Type = "Tableau" ALORS +// vInfoVariante est un Variant = JSONVersVariant(sADonnes) +// +SI unTerme.GroupeApp = cRp_CR ALORS // Requête dans la base de données , le compte rendu ne peuvent pas +être modifiées par l'utilisateur +// // donc le données ne sont pas récupérer à partir de données envoyés par le mobile +| // RqCompteRenduRemplirRapport(vInfoVariante,sdRReq) | | | | | | +| ---------------------------------------------------- | --- | --- | --- | --- | --- | +// FIN +// +// SELON unTerme:GroupeApp +// CAS cRp_CtSite,cRp_Client,cRp_CtDonneurs,cRp_Photo,cRp_CR,cRp_RDV +// +| // | sTB | est une chaîne ANSI | | = [ | | +| --- | -------------------------------------------- | ------------------- | --- | --- | --- | +| // | <br> | | | | | +| // | <table cellspacing='0' cellpadding='0' width | | | | | +='100%' style='table-layout:fixed;border-collapse:collapse;'> +| // | <tr style='height:auto'> | | | | | +| --- | ------------------------ | --- | --- | --- | --- | +| // | ] | | | | | +// +| // | POUR TOUT stTerme, b DE unTerme.ListeMembre | | | | | +| --- | ------------------------------------------- | --- | --- | --- | --- | +| // | TableauAjoute(tabTitreCol,stTerme:Nom) | | | | | +| // | POUR TOUT UnEle, c DE vInfoVariante | | | | | +| // | SI stTerme:EnvoiMob ALORS | | | | | +// +| // | | infoR est une chaîne ANSI | | | | +| --- | --- | ------------------------- | --- | --- | --- | +| // | | SI UnEle.bSelection ALORS | | | | +| // | | imgBuf est un buffer | | | | +// SI stTerme:TypeMembre <> "ChpImage" OU stTerme:Type <> "ChpImage"ALORS +// +RechercheInfoDansVariantRapport(unTerme, stTerme, UnEle,imgBuf,infoR,sdRReq,"") +// taCol[b+"-"+c] = TraitementSelonTypeRubRapportMob(stTerme,infoR) +| // | | FIN | | | | +| --- | --- | --- | --- | --- | --- | +| // | | FIN | | | | +| // | FIN | | | | | +// +| // | FIN | | | | | +| --- | --- | --- | --- | --- | --- | +| // | FIN | | | | | +// +| // | POUR TOUT sTitre de tabTitreCol | | | | | +| --- | ------------------------------- | --- | --- | --- | --- | +// sInfoLigne+="<th valign='center' align='center' style='border-left:1pt solid + #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid + #000000;width:20%;padding:0.0pt 5.4pt 0.0pt 5.4pt'>" +// +sInfoLigne+="<p class='Normal'><span style='font-family:Calibri;font-size:14pt;'>" ++TexteVersHTML(sTitre) + "</span></p></th>" +| // | FIN | | | | | +| --- | --- | --- | --- | --- | --- | +// +| // | SI sInfoLigne <> "" ALORS | | | | | +| --- | ------------------------- | ---------------------------- | --- | --- | --- | +| // | sTitresCols | = sTB + sInfoLigne + "</tr>" | | | | +// +| // | sInfoLigne | = "" | | | | +| --- | ---------- | ---- | --- | --- | --- | +// +// +| // | POUR TOUT UnEle, c DE vInfoVariante | | | | | +| ---------- | ----------------------------------- | --- | ---------------- | --- | --- | +| 12/08/2026 | | | Batik_WS_Com_Mob | | 174 | + +Partie 4 › Collection de procédures › LIB_Traitements › Code +| // | sTB = "" | | | +| --- | --------------------------------- | --- | --- | +| // | SI UnEle.bSelection ALORS | | | +| // | POUR TOUT sTitre,b de tabTitreCol | | | +// SI taCol[b+"-"+c]..Existe ALORS +// sTB+="<td valign='center' align='left' style='border-left:1pt solid + #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid + #000000;width:20%;padding:0.0pt 5.4pt 0.0pt 5.4pt'>" +// //sTB+="</td> <td valign='center' align='left' + style='border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid + #000000;border-bottom:1pt solid #000000;width:20%;padding:0.0pt 5.4pt 0.0pt 5.4pt'>" +// sTB+="<p class='Normal'>"+taCol[b+"-"+c] +"</p></td>" +// FIN +| // | FIN | | | +| --- | --- | --- | --- | +// +| // | SI sTB <> "" ALORS | | | +| --- | ------------------ | --- | --- | +// sInfoLigne += "<tr style='height:auto'>" + sTB+"</tr>" +| // | FIN | | | +| ------ | --- | --- | --- | +| // | FIN | | | +| // FIN | | | | +// FIN +// +// SI sInfoLigne <> "" ALORS +| // sTbHTML = sTitresCols+sInfoLigne+"</table>" | | | | +| ---------------------------------------------- | --- | --- | --- | +// FIN +// +// +// +// AUTRE CAS +// +// sTbHTML = TraitementSelonTypeRubRapportMob(unTerme,sADonnes) +// +// FIN +// +// +//FIN +// +//saRep = ChaîneVersUTF8(sTbHTML) +//RENVOYER saRep +Procédure globale CreationUnEmail +PROCÉDURE CreationUnEmail(stInfoMail est un ST_ModeleMailComplet) +| sErreur | est une chaîne ANSI | | | +| ----------- | ------------------- | --- | --- | +| sResRepTemp | est une chaîne ANSI | | | +<COMPILE SI Configuration = "WS_COM_MOBILE" OU Configuration = "Debug WS_COM_MOBILE"> +| sResRepTemp | = ComplèteRep(fRepExe())+"TEMP\" | | | +| ----------- | -------------------------------- | --- | --- | +<SINON> +| sResRepTemp | = ComplèteRep(fRepWeb())+"TEMP\" | | | +| ----------- | -------------------------------- | --- | --- | +<FIN> +| nPKID_Inter | est un entier sur 8 octets | = stInfoMail.nIdInter | | +| ----------- | -------------------------- | --------------------- | --- | +saCheminTemp est une chaîne ANSI = ComplèteRep(sResRepTemp+nPKID_Inter) +| saCheminDoc | est une chaîne ANSI | | | +| ----------- | ------------------- | --- | --- | +| unEmail | est un Email | | | +// Initialise les composantes du mail +QUAND EXCEPTION DANS +| monAttache est un emailAttache | | | | +| ------------------------------ | --- | --- | --- | +// L'expéditeur +unEmail..Expediteur = stInfoMail.stCompteMail.SMTP.sLogin +| 12/08/2026 | | Batik_WS_Com_Mob | 175 | +| ---------- | --- | ---------------- | --- | + +Partie 4 › Collection de procédures › LIB_Traitements › Code +// Le destinataire +POUR TOUT saUnDest DE stInfoMail.tbDest +Ajoute(unEmail..Destinataire,saUnDest) +FIN +// Les destinataires CC +POUR TOUT saUnDestcc DE stInfoMail.tbDestcc +Ajoute(unEmail..Cc,saUnDestcc) +FIN +// Les destinataires CCi +POUR TOUT saUnDestCCI DE stInfoMail.tbDestCCI +Ajoute(unEmail..Cci,saUnDestCCI) +FIN +SI stInfoMail.stCompteMail.SMTP.bEnCopieCachee ALORS +Ajoute(unEmail..Cci,stInfoMail.stCompteMail.SMTP.sLogin) +stInfoMail.tbDestCCI.Ajoute(stInfoMail.stCompteMail.SMTP.sLogin) +FIN +// Le sujet +unEmail..Sujet = stInfoMail.saSujet +// Le corps du message +unEmail..HTML = stInfoMail.bufCorpsHTML +//Construction de la variable emailAttache +saRQDoc est une chaîne ANSI = +"SELECT DC_Nom, GUID, DC_PKID FROM Document WHERE Document.GUID IN " +sComp est une chaîne ANSI +POUR TOUT saGUIDDoc DE stInfoMail.tbPJ +sComp += [","]+"'"+saGUIDDoc+"'" +FIN +SI sComp <> "" ALORS +saRQDoc += "("+sComp+")" +sdRqDoc est une Source de Données +SI PAS HExécuteRequêteSQL(sdRqDoc,gcnxReplica,saRQDoc) ALORS +sErreur ="Erreur lors de la récupération des pièces jointes" +TraceINFO("Problème avec la req de document "+HErreurInfo(hErrComplet)) +RENVOYER (sErreur,unEmail) +SINON +POUR TOUT sdRqDoc +saCheminDoc = saCheminTemp+sdRqDoc.GUID+fExtraitChemin(sdRqDoc.DC_Nom,fExtension) +TraceINFO("chemin doc "+saCheminDoc) +SI fFichierExiste(saCheminDoc) ALORS +monAttache..Nom = sdRqDoc.DC_Nom +monAttache..Contenu = fChargeBuffer(saCheminDoc) +//Ajout de la pièce jointe +Ajoute(unEmail..Attache, monAttache) +stInfoMail.tbPJID.Ajoute(sdRqDoc.DC_PKID) // Utilise par le service +FIN +FIN +FIN +SINON +TraceINFO("Aucune pièce joint") +FIN +RENVOYER (sErreur,unEmail) +FAIRE +12/08/2026 Batik_WS_Com_Mob 176 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +sErreur += "Une erreur s'est produite lors de la création de l'e-mail"+RC+ExceptionInfo(errComplet) +TraceINFO("Erreur dans la CreationUnEmail "+sErreur) +RENVOYER (sErreur,unEmail) +FIN +Procédure globale DonneGrouppeAppSelonGroupe +PROCÉDURE DonneGrouppeAppSelonGroupe(sGroupe est une chaîne ANSI) +sGroupeApp est une chaîne ANSI +SELON sGroupe +CAS "Dossier" +sGroupeApp = cRp_Dossier +CAS "Intervention" +sGroupeApp = cRp_Inter +CAS "Comptes-rendus" +sGroupeApp = cRp_CR +CAS "Donneurs d'ordres" +sGroupeApp = cRp_CtDonneurs +CAS "Client" +sGroupeApp = cRp_Client +CAS "Site" +sGroupeApp = cRp_CtSite +CAS "Rendez-vous" +sGroupeApp = cRp_RDV +AUTRE CAS +sGroupeApp = "" +FIN +RENVOYER sGroupeApp +Procédure globale DonneImgTableauRp +PROCÉDURE DonneImgTableauRp(imgBuf est un Buffer,largPixCol est un entier) +elt est un docElément +QUAND EXCEPTION DANS +img est une Image = imgBuf +HauteurImg est un réel = (img..Hauteur*largPixCol)/img..Largeur +dRedimensionne(img,largPixCol,HauteurImg,drHomothétiqueCentré) +elt..Type = typeDocElémentImage +elt..Image..BufferImage = img +elt..Image..Habillage= docHabillageAlignéSurLeTexte +// La taille de l'image est en pixels dans la variable de type Image. +// Cette taille est convertie en mm dans l'élément (unité utilisée dans un document) +elt..Image..Largeur = img..Largeur * 25.4 / 96.0 +elt..Image..Hauteur = img..Hauteur * 25.4 / 96.0 +// Position de l'image +elt.Image.X = 0 +elt.Image.Y = 0 +RENVOYER elt +FAIRE +TraceERREUR("Erreur dans la création du rapport IMG"+ExceptionInfo()) +RENVOYER elt +FIN +Procédure globale EnvoiRubMob +12/08/2026 Batik_WS_Com_Mob 177 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +PROCÉDURE EnvoiRubMob(ListeMob est un tableau de STJSONMembreRubRapport) +n est un entier +SI ListeMob..Occurrence <= 0 ALORS +RENVOYER Faux +FIN +POUR TOUT stEle DE ListeMob +SI stEle:EnvoiMob ALORS +SI stEle.GroupeApp DANS (cRp_Client,cRp_CR,cRp_RDV) ALORS +SI stEle.ListeDonnesBD <> "" ALORS +n += 1 +FIN +SINON SI stEle.GroupeApp DANS (cRp_Photo,cRp_CtDonneurs,cRp_CtSite,cRp_Extra) ALORS +n += 1 +SINON SI stEle.ListeDonnesBD <> "" ALORS +n+= 1 +FIN +FIN +FIN +SI n > 0 ALORS +RENVOYER Vrai +SINON +RENVOYER Faux +FIN +Procédure globale InitialiseContexteUtilisateur +PROCÉDURE InitialiseContexteUtilisateur(nIdUser est un entier sur 8 octets) +TraceINFO(ChaîneConstruit("InitialiseContexteUtilisateur : %1",nIdUser)) +QUAND EXCEPTION DANS +InitialisationParametres() +saRQ est une chaîne ANSI +sdRec est une Source de Données +saRQ=[ +SELECT Collaborateur.GUID, +Collaborateur.CO_Nom,Collaborateur.CO_Prenom,Collaborateur.CO_PKID,Collaborateur.CO_Ponderation +,R_PKID,R_Libelle,R_AncienCode, Societe.SO_Nom +FROM +Collaborateur INNER JOIN Utilisateur ON Collaborateur.CO_PKID= Utilisateur.UT_IDCollaborateur, +Collaborateur INNER JOIN Societe_Collaborateur ON +Collaborateur.CO_PKID=Societe_Collaborateur.SC_IDCollaborateur, +Societe_Collaborateur INNER JOIN Societe +ON Societe_Collaborateur.SC_IDCSociete =Societe.SO_PKID, +Utilisateur INNER JOIN Role ON Utilisateur.UT_IDRole = Role.R_PKID +WHERE +Utilisateur.UT_PKID={pUserId} +] +saRQ=Remplace(saRQ,"{pUserId}",nIdUser) +SI HExécuteRequêteSQL(sdRec,gcnxReplica,saRQ) ALORS +gstContexte.stUser.nIdUser =nIdUser +gstContexte.stUser.nIdCollab =sdRec.CO_PKID +gstContexte.stUser.saGuid =sdRec.GUID +12/08/2026 Batik_WS_Com_Mob 178 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +gstContexte.stUser.saNom =sdRec.CO_Nom +gstContexte.stUser.saPrenom =sdRec.CO_Prenom +gstContexte.stUser.saSociete =sdRec.SO_Nom +gstContexte.stUser.nPond100 =(sdRec.CO_Ponderation=0 ? 100 SINON sdRec.CO_Ponderation * +100) +// # A voir a quoi ca sert R_AncienCode avant PA_Valeur +gstContexte.stUser.nIdGroupe =sdRec.R_AncienCode +gstContexte.stUser.saProfil =sdRec.R_Libelle +gstContexte.stUser.nIdProfil =sdRec.R_PKID +gstContexte.saNomUser = sdRec.CO_Prenom + " " + sdRec.CO_Nom +//Utile pour rendre la trace explicite +//Récupération de la liste des ID des Etats d'intervention qui peuvent être transmis au mobile +gstContexte.sLstEtatsInter = "'"+cCle_EtatInterSansSuite+"', '"+cCle_EtatInterTraite+"'" +SI gstContexte.stUser.nIdProfil > 0 ALORS +saReqDroits est une chaîne ANSI = +[ +SELECT AED_PKID, AED_CleAcces, AED_Acces FROM Role +INNER JOIN AccesEtDroit ON AED_IdRole = R_PKID +WHERE R_PKID = {p_IdRole} +] +saReqDroits = Remplace(saReqDroits,"{p_IdRole}",gstContexte.stUser.nIdProfil) +sdDroits est une Source de Données +// exécution de la requête +SI HExécuteRequêteSQL(sdDroits,gcnxReplica,saReqDroits) ALORS +// charge les enregistrements en mémoire +POUR TOUT sdDroits +gstContexte.tbaDroitsAcces[sdDroits.aed_CleAcces] = sdDroits.aed_acces +SI sdDroits.aed_CleAcces DANS (cGestion_DocNull, cGestion_DocPhoto, cGestion_DocAutre, +cGestion_DocMsgExt,... +cGestion_DocRapport, cGestion_DocBatigest) _ET_ sdDroits.aed_acces ALORS +SI gstContexte.sLstDocTypeAcces <> "" ALORS +gstContexte.sLstDocTypeAcces += [","] +FIN +SELON sdDroits.aed_CleAcces +CAS cGestion_DocNull +gstContexte.sLstDocTypeAcces += "'"+cCle_TypeDocNull+"'" +CAS cGestion_DocPhoto +gstContexte.sLstDocTypeAcces += "'"+cCle_TypeDocImg+"'" +CAS cGestion_DocAutre +gstContexte.sLstDocTypeAcces += "'"+cCle_TypeDocAutre+"'" +CAS cGestion_DocMsgExt +gstContexte.sLstDocTypeAcces += "'"+cCle_TypeDocMsgExt+"'" +CAS cGestion_DocRapport +gstContexte.sLstDocTypeAcces += "'"+cCle_TypeDocRapport+"'" +CAS cGestion_DocBatigest +gstContexte.sLstDocTypeAcces += "'"+cCle_TypeDocBatigest+"'" +AUTRE CAS +FIN +FIN +FIN +FIN +SINON +gstContexte.sLstDocTypeAcces= "" +FIN +RENVOYER Vrai +SINON +TraceDEBUG("InitialiseContexteUtilisateur(" + nIdUser + ") "+ RC + HErreurInfo(hErrComplet)) +TraceDEBUG(saRQ) +RENVOYER Faux +12/08/2026 Batik_WS_Com_Mob 179 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +FIN +FAIRE +TraceDEBUG("InitialiseContexteUtilisateur(" + nIdUser + ") "+ RC + ExceptionInfo(errComplet)) +RENVOYER Faux +FIN +Procédure globale ListeRDV +PROCÉDURE ListeRDV(stData est une ST_MOB_DATA,tblRDV est un tableau de ST_RDV_INTER,bAvecNonPlanifie +est un booléen) +sErreur est une chaîne +QUAND EXCEPTION DANS +ChronoDébut() +TraceINFO("ListeRDV ") +stParam est un ST_REQ_LISTE_RDV +Désérialise(stParam,stData.saJSON,psdJSON) +//Construction de la requête de sélection +saRQ est une chaîne ANSI +saRQ=[ +SELECT +Planning_RDV.GUID AS PL_GUID, +Planning_RDV.PL_PKID AS PL_PKID, +Planning_RDV.PL_IDGroupe AS PL_IDGroupe, +Planning_RDV.PL_Grouper AS PL_Grouper, +Planning_RDV.PL_IDSociete AS PL_IDSociete, +Planning_RDV.PL_IDEquipe AS PL_IDEquipe, +Planning_RDV.PL_IDCollaborateur AS PL_IDCollaborateur, +Planning_RDV.PL_IDDossier AS PL_IDDossier, +Planning_RDV.PL_IDIntervention AS PL_IDIntervention, +Planning_RDV.PL_IDTypeActivite AS PL_IDTypeActivite, +Planning_RDV.PL_IDStatut AS PL_IDStatut, +StatutRDV.PA_VALEUR AS saStatutRDV, +Planning_RDV.PL_Objet AS PL_Objet, +Planning_RDV.PL_Description AS PL_Description, +Planning_RDV.PL_DateDebut AS PL_DateDebut, +Planning_RDV.PL_DateFin AS PL_DateFin, +Planning_RDV.PL_Superposable AS PL_Superposable, +Planning_RDV.PL_Prive AS PL_Prive, +Dossier.DO_IDClient AS DO_IDClient, +Dossier.DO_IDTypeDossier AS DO_IDTypeDossier, +Dossier.DO_Titre AS DO_Titre, +Dossier.DO_IDStatut AS DO_IDStatut, +Dossier.DO_RefInterne AS DO_RefInterne, +Dossier.DO_RefExterne AS DO_RefExterne, +Client.CL_Nom AS CL_Nom, +Client.CL_Tel AS CL_Tel, +Client.CL_Fax AS CL_Fax, +AdClient.AD_PKID AS AdClient_PKID, +AdClient.AD_Etiquette AS AdClient_Etiquette, +AdClient.AD_Ligne_1 AS AdClient_Ligne_1, +AdClient.AD_Ligne_2 AS AdClient_Ligne_2, +AdClient.AD_Ligne_3 AS AdClient_Ligne_3, +AdClient.AD_Ligne_4 AS AdClient_Ligne_4, +AdClient.AD_Ligne_5 AS AdClient_Ligne_5, +AdClient.AD_CodePostal AS AdClient_CodePostal, +AdClient.AD_Ville AS AdClient_Ville, +Intervention.IN_PKID AS IN_PKID, +Intervention.IN_IDTypeIntervention AS IN_IDTypeIntervention, +Intervention.IN_IDEtatIntervention AS IN_IDEtatIntervention, +Intervention.IN_IDSuiviPar AS IN_IDSuiviPar, +12/08/2026 Batik_WS_Com_Mob 180 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +Intervention.IN_IDDossier AS IN_IDDossier, +Intervention.IN_IDDemandeur AS IN_IDDemandeur, +Intervention.IN_IDClient AS IN_IDClient, +Intervention.IN_IDLieu AS IN_IDLieu, +Intervention.IN_Description AS IN_Description, +Intervention.IN_AttestationTVAPresente AS IN_AttestationTVAPresente, +Intervention.IN_NoteInterne AS IN_NoteInterne, +Intervention.IN_Titre AS IN_Titre, +Intervention.IN_RefInterne AS IN_RefInterne, +Intervention.IN_RefExterne AS IN_RefExterne, +Intervention.IN_IDSociete, +Intervention.IN_NumDevis, +Intervention.IN_DateDevis, +Lieu.LI_PKID AS LI_PKID, +Lieu.LI_CodeLieu AS LI_CodeLieu, +Lieu.LI_IDAdresse AS LI_IDAdresse, +Lieu.LI_IDType AS LI_IDType, +Lieu.LI_CodeAcces AS LI_CodeAcces, +Lieu.LI_Badge AS LI_Badge, +Lieu.LI_Interphone AS LI_Interphone, +Lieu.LI_Note AS LI_Note, +AdLieu.AD_PKID AS AdLieu_PKID, +AdLieu.AD_Etiquette AS AdLieu_Etiquette, +AdLieu.AD_Ligne_1 AS AdLieu_Ligne_1, +AdLieu.AD_Ligne_2 AS AdLieu_Ligne_2, +AdLieu.AD_Ligne_3 AS AdLieu_Ligne_3, +AdLieu.AD_Ligne_4 AS AdLieu_Ligne_4, +AdLieu.AD_Ligne_5 AS AdLieu_Ligne_5, +AdLieu.AD_CodePostal AS AdLieu_CodePostal, +AdLieu.AD_Ville AS AdLieu_Ville, +Planning_RDV.PL_IDLieu AS PL_IDLieu, +Societe.SO_Nom, +Collaborateur.CO_Nom AS NomSuiviPar, +Collaborateur.CO_Prenom AS PrenomSuiviPar, +Collaborateur.CO_TelMobile AS TelMobSuiviPar +FROM +Planning_RDV LEFT OUTER JOIN Intervention ON Planning_RDV.PL_IDIntervention = +Intervention.IN_PKID +,Intervention LEFT OUTER JOIN Lieu ON Intervention.IN_IDLieu = Lieu.LI_PKID +,Lieu LEFT OUTER JOIN Adresse AdLieu ON Lieu.LI_IDAdresse = AdLieu.AD_PKID +,Intervention LEFT OUTER JOIN CompteRendu ON +(CompteRendu.CR_IDIntervention=Intervention.IN_PKID) +,Planning_RDV LEFT OUTER JOIN Dossier ON Planning_RDV.PL_IDDossier = Dossier.DO_PKID +,Dossier LEFT OUTER JOIN Client ON Dossier.DO_IDClient = Client.CL_PKID +,Client LEFT OUTER JOIN Adresse AdClient ON Client.CL_IDAdressePrincipale = +AdClient.AD_PKID +,Intervention LEFT OUTER JOIN Societe ON Intervention.IN_IDSociete = Societe.SO_PKID +,Planning_RDV LEFT OUTER JOIN ParametreMetier AS StatutRDV ON +Planning_RDV.PL_IDSTATUT=StatutRDV.PA_PKID +,Intervention LEFT OUTER JOIN Collaborateur ON Intervention.IN_IDSuiviPar=Collaborateur.CO_PKID +WHERE +( +Planning_RDV.PL_IDCollaborateur = {pIDCollaborateur} +AND ( +( +Planning_RDV.PL_IDStatut<>{p_IDNonPlanifie} +AND Planning_RDV.PL_DateDebut >= '{pDateDebut}' +AND Planning_RDV.PL_DateFin <= '{pDateFin}' +) +12/08/2026 Batik_WS_Com_Mob 181 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +OR +( +Planning_RDV.PL_IDStatut={p_IDNonPlanifie} +AND 1={p_AvecNonPlanifie} +) +) +AND Planning_RDV.Archive=0 +AND Planning_RDV.PL_IDTypeActivite={p_IDTypeIntervention} +) +ORDER BY +IN_PKID ASC +] +saRQ= Remplace(saRQ,"{pIDCollaborateur}",stParam.nIdCollaborateur) +saRQ= Remplace(saRQ,"{pDateDebut}",stParam.saDateDebut) +saRQ= Remplace(saRQ,"{pDateFin}",stParam.saDateFin) +saRQ= Remplace(saRQ,"{p_AvecNonPlanifie}",bAvecNonPlanifie ? 1 SINON 0) +saRQ= Remplace(saRQ,"{p_IDNonPlanifie}",DonneIdParametre(cCle_RDVAPlanifier)) +saRQ= Remplace(saRQ,"{p_IDTypeIntervention}",DonneIdParametre(cCle_RDVInter)) +//Construction de la réponse (tableau de ST_RDV_INTER) +saRqCR est une chaîne ANSI = [ +SELECT +CompteRendu.CR_PKID, +CompteRendu.GUID AS CR_GUID, +CompteRendu.CR_DateHeureDebut, +CompteRendu.CR_DateHeureFin, +CompteRendu.CR_NoteCollaborateur, +CompteRendu.CR_NomSignataire, +CompteRendu.CR_NoteSignataire, +CompteRendu.CR_DateHeureSignature, +CompteRendu.CR_Signature, +CompteRendu.CreationUser AS CR_CreationUser, +CompteRendu.CR_IDIntervention, +CompteRendu.CR_IDRdv, +Planning_RDV.PL_IDCollaborateur, +Planning_RDV.PL_IDGroupe +FROM CompteRendu +INNER JOIN Planning_RDV ON PL_PKID = CR_IDRdv +WHERE +Planning_RDV.Archive=0 +AND Planning_RDV.PL_IDTypeActivite={p_IDTypeIntervention} +AND PL_IDGroupe=Planning_RDV.PL_IDGroupe +AND +( +( +Planning_RDV.PL_IDStatut<>{p_IDNonPlanifie} +AND Planning_RDV.PL_DateDebut >= '{pDateDebut}' +AND Planning_RDV.PL_DateFin <= '{pDateFin}' +) +OR +( +Planning_RDV.PL_IDStatut={p_IDNonPlanifie} +AND 1={p_AvecNonPlanifie} +) +) +] +//saRqCR= Remplace(saRqCR,"{pIDCollaborateur}",stParam.nIdCollaborateur) +saRqCR = Remplace(saRqCR,"{pDateDebut}",stParam.saDateDebut) +saRqCR = Remplace(saRqCR,"{pDateFin}",stParam.saDateFin) +saRqCR = Remplace(saRQ,"{p_IDNonPlanifie}",DonneIdParametre(cCle_RDVAPlanifier)) +saRqCR = Remplace(saRQ,"{p_IDTypeIntervention}",DonneIdParametre(cCle_RDVInter)) +12/08/2026 Batik_WS_Com_Mob 182 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +saRqCR = Remplace(saRqCR,"{p_AvecNonPlanifie}",bAvecNonPlanifie ? 1 SINON 0) +sErreur = ConstruitTableauInterventions(saRQ,saRqCR,Vrai,tblRDV) +RENVOYER sErreur +FAIRE +sErreur ="E" + ExceptionInfo(errComplet) +TraceDEBUG("bufREs : " + sErreur) +TraceDEBUG("Durée (ms) : " + ChronoFin()) +RENVOYER sErreur +FIN +PROCÉDURE INTERNE ExtraitDescription(saDescript est une chaîne ANSI) +p est un entier= Position(saDescript,"##########",0,DepuisFin) +SI p>0 ALORS +RENVOYER saDescript[[p+10 À]] +SINON +RENVOYER saDescript +FIN +FIN +Procédure globale ListeRDV_V2 +PROCÉDURE ListeRDV_V2(stData est une ST_MOB_DATA,tbLRDV est un tableau de ST_RDV_INTER_V2, +bAvecNonPlanifie est un booléen) +sErreur est une chaîne +QUAND EXCEPTION DANS +ChronoDébut() +TraceINFO("ListeRDV ") +saRQ_1 est une chaîne ANSI +sdRec est une Source de Données +saRQ_1 = "SELECT * FROM ParametreMetier WHERE PA_Categorie='"+cParam_TypeRDV+"' AND PA_Actif=1 " +saListeTypeActivite est une chaîne ANSI +SI HExécuteRequêteSQL(sdRec,gcnxReplica,saRQ_1) ALORS +HLitPremier(sdRec) +TANTQUE PAS HEnDehors() +ValJson est un ST_JSON_Type_RDV +bufBufJson est un Buffer +SI sdRec.PA_Parametre <> "" ALORS +bufBufJson = sdRec.PA_Parametre +Désérialise(ValJson,bufBufJson,psdJSON) +SI ValJson.envoi_mobile ALORS +SI saListeTypeActivite <> "" ALORS +saListeTypeActivite += " , " +FIN +saListeTypeActivite += "'"+sdRec.PA_CLE+"'" +FIN +FIN +HLitSuivant() +FIN +TraceERREUR("liste type de activite : " + saListeTypeActivite) +SINON +sErreur="E"+HErreurInfo(errComplet) +TraceERREUR("ConstruitTableauInterventionsAvecCopmteRendu liste type de activite : " + sErreur) +RENVOYER sErreur +FIN +stParam est un ST_REQ_LISTE_RDV +Désérialise(stParam,stData.saJSON,psdJSON) +12/08/2026 Batik_WS_Com_Mob 183 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +//Construction de la requête de sélection +saRQ est une chaîne ANSI +saRQ=[ +SELECT +RDV_Collaborateur.GUID as GUID_RDV_COLB, +RVC_GUID_RDV, +RVC_PKID, +RV_PKID, +RV_Groupe, +RV_IdSociete, +RVC_GUID_Colb, +RV_IdDossier, +RV_IdInter, +RV_CleType, +RV_CleStatut, +RV_Objet, +RV_Description, +RVC_DateDeb, +RVC_DateFin, +RVC_Superposable, +RVC_CR, +RV_SAV, +RV_IdLieu, +RVC_CleStatut, +Dossier.DO_IDClient AS DO_IDClient, +Dossier.DO_CleType, +Dossier.DO_Titre AS DO_Titre, +Dossier.DO_CleStatut, +Dossier.DO_RefInterne AS DO_RefInterne, +Dossier.DO_RefExterne AS DO_RefExterne, +Client.CL_Nom AS CL_Nom, +Client.CL_Tel AS CL_Tel, +Client.CL_Fax AS CL_Fax, +Client.CL_Email AS CL_Email, +AdClient.AD_PKID AS AdClient_PKID, +AdClient.AD_Etiquette AS AdClient_Etiquette, +AdClient.AD_Adresse AS AdClient_Adresse, +AdClient.AD_CodePostal AS AdClient_CodePostal, +AdClient.AD_Ville AS AdClient_Ville, +Intervention.IN_PKID AS IN_PKID, +Intervention.IN_CleType, +Intervention.IN_CleEtat, +Intervention.IN_IDSuiviPar AS IN_IDSuiviPar, +Intervention.IN_IDDossier AS IN_IDDossier, +Intervention.IN_IDDemandeur AS IN_IDDemandeur, +Intervention.IN_IDClient AS IN_IDClient, +Intervention.IN_IDLieu AS IN_IDLieu, +Intervention.IN_Description AS IN_Description, +Intervention.IN_AttestationTVAPresente AS IN_AttestationTVAPresente, +Intervention.IN_NoteInterne AS IN_NoteInterne, +Intervention.IN_Titre AS IN_Titre, +Intervention.IN_RefInterne AS IN_RefInterne, +Intervention.IN_RefExterne AS IN_RefExterne, +Intervention.IN_IDSociete, +Intervention.IN_NumDevis, +Intervention.IN_DateDevis, +Lieu.LI_PKID AS LI_PKID, +Lieu.LI_CodeLieu AS LI_CodeLieu, +Lieu.LI_IDAdresse AS LI_IDAdresse, +Lieu.LI_IDType AS LI_IDType, +Lieu.LI_CodeAcces AS LI_CodeAcces, +Lieu.LI_Badge AS LI_Badge, +Lieu.LI_Interphone AS LI_Interphone, +Lieu.LI_Note AS LI_Note, +Lieu.LI_CleType, +AdLieu.AD_PKID AS AdLieu_PKID, +12/08/2026 Batik_WS_Com_Mob 184 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +AdLieu.AD_Etiquette AS AdLieu_Etiquette, +AdLieu.AD_Adresse AS AdLieu_Adresse, +AdLieu.AD_CodePostal AS AdLieu_CodePostal, +AdLieu.AD_Ville AS AdLieu_Ville, +Societe.SO_Nom, +Collaborateur.CO_Nom AS NomSuiviPar, +Collaborateur.CO_Prenom AS PrenomSuiviPar, +Collaborateur.CO_TelMobile AS TelMobSuiviPar, +Collaborateur.CO_Email AS SuiviEmail +FROM +RDV_Collaborateur +INNER JOIN RDV_Planning on RDV_Planning.GUID = RDV_Collaborateur.RVC_GUID_RDV +LEFT JOIN Intervention ON RDV_Planning.RV_IdInter = Intervention.IN_PKID +LEFT OUTER JOIN Lieu ON Intervention.IN_IDLieu = Lieu.LI_PKID +LEFT OUTER JOIN Adresse AdLieu ON Lieu.LI_IDAdresse = AdLieu.AD_PKID +LEFT OUTER JOIN Dossier ON RDV_Planning.RV_IdDossier = Dossier.DO_PKID +LEFT OUTER JOIN Client ON Dossier.DO_IDClient = Client.CL_PKID +LEFT OUTER JOIN Adresse AdClient ON Client.CL_IDAdressePrincipale = AdClient.AD_PKID +LEFT OUTER JOIN Societe ON Intervention.IN_IDSociete = Societe.SO_PKID +LEFT OUTER JOIN Collaborateur ON Intervention.IN_IDSuiviPar=Collaborateur.CO_PKID +WHERE +( +RDV_Collaborateur.RVC_GUID_Colb = '{pGUIDCollaborateur}' +AND ( +( +RDV_Planning.RV_CleStatut<>'{p_CLENonPlanifie}' +AND RDV_Collaborateur.RVC_DateDeb >= '{pDateDebut}' +AND RDV_Collaborateur.RVC_DateFin <= '{pDateFin}' +) +OR +( +RDV_Planning.RV_CleStatut='{p_CLENonPlanifie}' +AND 1={p_AvecNonPlanifie} +) +) +AND RDV_Collaborateur.Archive=0 +AND RDV_Planning.Archive = 0 +{p_Compl_TypeAct} +) +ORDER BY +IN_PKID ASC +] +saGuidC est une chaîne ANSI = DonneGuidIdColb(stParam.nIdCollaborateur) +saRQ= Remplace(saRQ,"{pGUIDCollaborateur}",saGuidC) +saRQ= Remplace(saRQ,"{pDateDebut}",stParam.saDateDebut) +saRQ= Remplace(saRQ,"{pDateFin}",stParam.saDateFin) +saRQ= Remplace(saRQ,"{p_AvecNonPlanifie}",bAvecNonPlanifie ? 1 SINON 0) +saRQ= Remplace(saRQ,"{p_CLENonPlanifie}",cCle_RDVAPlanifier) +saRQ=Remplace(saRQ,"{p_Compl_TypeAct}","AND RDV_Planning.RV_CleType IN ("+saListeTypeActivite+")") +// SI stData.saCMD = cCMD_ListeRDV_V2 ou stData.saCMD = cCMD_ListeRDV_Clb ALORS +// +saRQ=Remplace(saRQ,"{p_Compl_TypeAct}","AND RDV_Planning.RV_CleType IN ("+saListeTypeActivite+")") +// //saRQ=Remplace(saRQ,"{p_ListeIDTypeIntervention}",saListeTypeActivite) +// SINON +// saRQ=Remplace(saRQ,"{p_Compl_TypeAct}","AND RDV_Planning.RV_CleType = "+cCle_RDVInter) +// FIN +//Construction de la réponse (tableau de ST_RDV_INTER) +TraceERREUR("REQ liste type de activite : " + saRQ) +saRqCR est une chaîne ANSI = [ +SELECT +CompteRendu.CR_PKID, +12/08/2026 Batik_WS_Com_Mob 185 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +CompteRendu.GUID AS CR_GUID, +CompteRendu.CR_DateHeureDebut, +CompteRendu.CR_DateHeureFin, +CompteRendu.CR_NoteCollaborateur, +CompteRendu.CR_NomSignataire, +CompteRendu.CR_NomSignataireTech, +CompteRendu.CR_NoteSignataire, +CompteRendu.CR_ReserveCommentaire, +CompteRendu.CR_DateHeureSignature, +CompteRendu.CR_Signature, +CompteRendu.CR_SignatureTech, +CompteRendu.CreationUser AS CR_CreationUser, +CompteRendu.CR_IDIntervention, +CompteRendu.CR_GUID_Rdv, +CompteRendu.CR_CleTypeSignataire, +CompteRendu.CR_IDCollaborateur, +CompteRendu.CR_IDRdv, +RDV_Collaborateur.RVC_GUID_Colb, +RDV_Collaborateur.RVC_GUID_RDV, +Collaborateur.CO_Nom, +Collaborateur.CO_Prenom +FROM CompteRendu +INNER JOIN RDV_Collaborateur ON RDV_Collaborateur.RVC_GUID_RDV = CompteRendu.CR_GUID_Rdv +INNER JOIN RDV_Planning ON RDV_Planning.GUID = CR_GUID_Rdv +INNER JOIN Collaborateur ON CO_PKID = CR_IDCollaborateur +WHERE +RDV_Planning.Archive=0 AND RDV_Collaborateur.Archive=0 +{p_Compl_TypeAct} +AND +( +( +RDV_Planning.RV_CleStatut<>'{p_CleNonPlanifie}' +AND RDV_Collaborateur.RVC_DateDeb >= '{pDateDebut}' +AND RDV_Collaborateur.RVC_DateFin <= '{pDateFin}' +) +OR +( +RDV_Collaborateur.RVC_CleStatut='{p_CleNonPlanifie}' +AND 1={p_AvecNonPlanifie} +) +) +] +//saRqCR= Remplace(saRqCR,"{pIDCollaborateur}",stParam.nIdCollaborateur) +saRqCR = Remplace(saRqCR,"{pDateDebut}",stParam.saDateDebut) +saRqCR = Remplace(saRqCR,"{pDateFin}",stParam.saDateFin) +saRqCR = Remplace(saRqCR,"{p_CleNonPlanifie}",cCle_RDVAPlanifier) +saRqCR = Remplace(saRqCR,"{p_AvecNonPlanifie}",bAvecNonPlanifie ? 1 SINON 0) +SI stData.saCMD = cCMD_ListeRDV_V2 ALORS +saRqCR=Remplace(saRqCR,"{p_Compl_TypeAct}","AND RDV_Planning.RV_CleType IN ("+ +saListeTypeActivite+")") +SINON +saRqCR=Remplace(saRqCR,"{p_Compl_TypeAct}","AND RDV_Planning.RV_CleType = '"+cCle_RDVInter+"'") +FIN +sErreur =ConstruitTableauInterventions_V2(saRQ,saRqCR,Vrai,Vrai,tbLRDV) +RENVOYER sErreur +FAIRE +sErreur ="E" + ExceptionInfo(errComplet) +TraceDEBUG("bufREs : " + sErreur) +TraceDEBUG("Durée (ms) : " + ChronoFin()) +12/08/2026 Batik_WS_Com_Mob 186 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +RENVOYER sErreur +FIN +PROCÉDURE INTERNE ExtraitDescription(saDescript est une chaîne ANSI) +p est un entier= Position(saDescript,"##########",0,DepuisFin) +SI p>0 ALORS +RENVOYER saDescript[[p+10 À]] +SINON +RENVOYER saDescript +FIN +FIN +Procédure globale ListeReferenceDOC +//Récupère la liste des documents associés à une intervention +PROCÉDURE ListeReferenceDOC(stData est une ST_MOB_DATA) +stParam est un ST_REQ_LISTE_DOC +saRep est une chaîne ANSI +tblDoc est un tableau de ST_TABELEM_DOC +bufRes est un Buffer +Désérialise(stParam,stData.saJSON,psdJSON) +SI gstContexte.stUser.nIdProfil <= 0 ALORS +bufRes="E"+ " Type de profil inconnu" +TraceDEBUG("bufREs : " + bufRes) +Sérialise(tblDoc,saRep,psdJSON) +TraceINFO("ListeReferenceDOC :"+ saRep) +RENVOYER "R"+saRep +FIN +saRQ est une chaîne ANSI =[ +SELECT DISTINCT +Document.DC_PKID AS DC_PKID +,Document.DC_IDIntervention AS DC_IDIntervention +,Document.DC_Nom AS DC_Nom +,Document.DC_CleCategorie +,Document.DC_DateFichier AS DC_DateFichier +,Document.GUID AS GUID +,DocumentNote.DN_Note as DN_Note +,DocumentNote.CreationDate AS DN_Date +,DocumentNote.CreationUser AS DN_Auteur +,DocumentNote.DN_PKID AS DN_PKID +,DocumentNote.GUID as DN_GUID +,Utilisateur.UT_IDCollaborateur +,Collaborateur.CO_Nom as UT_Nom +,Collaborateur.CO_Prenom as UT_Prenom +FROM +Document LEFT OUTER JOIN DocumentNote ON Document.DC_PKID = DocumentNote.DN_IDDocument +,DocumentNote LEFT OUTER JOIN Utilisateur ON DocumentNote.CreationUser= Utilisateur.UT_PKID +,Utilisateur LEFT OUTER JOIN Collaborateur ON Collaborateur.CO_PKID = +Utilisateur.UT_IDCollaborateur +WHERE +Document.DC_IDIntervention = {pIDIntervention} AND Document.DC_Nom <>'' AND Document.GUID <>'' +AND DC_CleCategorie IN ({p_CtgDocs}) +] +saRQ=Remplace(saRQ,"{pIDIntervention}",NumériqueVersChaîne(stParam.nIdIntervention)) +12/08/2026 Batik_WS_Com_Mob 187 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +saRQ=Remplace(saRQ,"{p_CtgDocs}",gstContexte.sLstDocTypeAcces) +saRQ+=" ORDER BY Document.DC_DateFichier, Document.DC_PKID" +sdDoc est une Source de Données +TraceDEBUG("ListeReferenceDOC - SQL : " + saRQ) +//TraceINFO(saRQ) +SI PAS HExécuteRequêteSQL(sdDoc,gcnxReplica,hRequêteDéfaut,saRQ) ALORS +saRep="E"+ErreurInfo(errComplet) +RENVOYER saRep +FIN +nDocID est un entier sur 8 octets +stDoc est une ST_TABELEM_DOC +stNt est un ST_TABELEM_NOTEDOC +nIndice est un entier +POUR TOUT sdDoc +SI nDocID<>sdDoc.DC_PKID ALORS +nDocID = sdDoc.DC_PKID +stDoc.nDC_PKID = sdDoc.DC_PKID +stDoc.nDC_IdInter = sdDoc.DC_IDIntervention +stDoc.saDC_Nom = sdDoc.DC_Nom +stDoc.saLibCat = DonneLibParametre(sdDoc.DC_CleCategorie) +stDoc.saDC_DteFic = sdDoc.DC_DateFichier +stDoc.saDocGuid = sdDoc.GUID +nIndice=tblDoc.Ajoute(stDoc) +FIN +//Remplissage du tableau des notes +SI sdDoc.DN_Note<>"" ALORS +stNt.saGUID = sdDoc.DN_GUID +stNt.saDN_Note = sdDoc.DN_Note +stNt.saDN_Date = sdDoc.DN_Date +//stNt.nDN_Auteur = sdDoc.DN_Auteur +stNt.nIdUsr = sdDoc.DN_Auteur +stNt.saNomAuteur =sdDoc.UT_Prenom + [" "]+ sdDoc.UT_Nom +stNt.nDN_DOCPKID = sdDoc.DC_PKID +tblDoc[nIndice].tblNotes.Ajoute(stNt) +FIN +FIN +HAnnuleDéclaration(sdDoc) +Sérialise(tblDoc,saRep,psdJSON) +TraceINFO("ListeReferenceDOC :"+ saRep) +RENVOYER "R"+saRep +Procédure globale ListeTemps +PROCÉDURE ListeTemps(stData est une ST_MOB_DATA) +bufRes est un Buffer +ChronoDébut() +QUAND EXCEPTION DANS +//Tableau des Temps passés +tbTemps est un tableau de ST_TEMPS +//Récupération des paramètres de la requête dans stData.saJSON +12/08/2026 Batik_WS_Com_Mob 188 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +stParam est un ST_REQ_LISTE_TEMPS +Désérialise(stParam,stData.saJSON,psdJSON) +sdTps est une Source de Données +saRQ est une chaîne ANSI=[ +SELECT +SDT_PKID,GUID,SDT_IDIntervention,SDT_IDCollaborateur,SDT_DateDebut,SDT_DateHeureFin,SDT_Pondera +tion,SDT_NbMinutes,SDT_CleType,SDT_Libelle, +Intervention.IN_RefInterne +FROM SUIVIDESTEMPS LEFT OUTER JOIN Intervention ON SuiviDesTemps.SDT_IDIntervention = +Intervention.IN_PKID +WHERE (SDT_DateDebut BETWEEN '{pDebut}' AND '{pFin}' ) AND +SDT_IDCollaborateur={pIdCollaborateur} +ORDER BY SDT_DateDebut DESC +] +saRQ=Remplace(saRQ,"{pDebut}",stParam.saDateDebut) +saRQ=Remplace(saRQ,"{pFin}",stParam.saDateFin) +saRQ=Remplace(saRQ,"{pIdCollaborateur}",stParam.nIdCollaborateur) +SI PAS HExécuteRequêteSQL(sdTps,gcnxReplica,hRequêteDéfaut,saRQ) ALORS +TraceDEBUG("Erreur lecture des Temps " + HErreurInfo(hErrComplet)) +SINON +stTps est un ST_TEMPS +POUR TOUT sdTps +stTps:nIdInter = sdTps.SDT_IDIntervention +stTps:nIdTps = sdTps.SDT_PKID +stTps:nIdCollab = sdTps.SDT_IDCollaborateur +stTps:saNumInter = sdTps.IN_RefInterne +stTps:saHeureDebut = sdTps.SDT_DateDebut +stTps:nNbMinutes = sdTps.SDT_NbMinutes +stTps:saHeureFin = sdTps.SDT_DateHeureFin +stTps:nPond100 = sdTps.SDT_Ponderation*100 +stTps:nIdTypeTps = DonneIdParametre(sdTps.SDT_CleType) +stTps:saLibelle = sdTps.SDT_Libelle +stTps:saGuid = sdTps.GUID +tbTemps.Ajoute(stTps) +FIN +Sérialise(tbTemps,bufRes,psdJSON) +FIN +RENVOYER "R" + bufRes +FAIRE +bufRes ="E" + ExceptionInfo(errComplet) +TraceDEBUG("bufREs : " + bufRes) +TraceDEBUG("Durée (ms) : " + ChronoFin()) +RENVOYER bufRes +FIN +Procédure globale ListeTempsPasse +PROCÉDURE ListeTempsPasse(stData est une ST_MOB_DATA) +bufRes est un Buffer +ChronoDébut() +QUAND EXCEPTION DANS +stRdvTemp est un ST_TEMPS_PASSE_RDV +12/08/2026 Batik_WS_Com_Mob 189 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +//Tableau des Temps passés +//tbTemps est un tableau de ST_TEMPS_PASSE +//Récupération des paramètres de la requête dans stData.saJSON +stParam est un ST_REQ_LISTE_TEMPS_PASSE +Désérialise(stParam,stData.saJSON,psdJSON) +sdTps est une Source de Données +saRQ est une chaîne ANSI=[ +SELECT +SDT_PKID,GUID,SDT_IDIntervention,SDT_IDCollaborateur,SDT_DateDebut,SDT_DateHeureFin,SDT_NbMinut +es,SDT_CleType,SDT_Libelle, +Intervention.IN_RefInterne,SDT_IDRdv,SDT_Controle +FROM SUIVIDESTEMPS LEFT OUTER JOIN Intervention ON SuiviDesTemps.SDT_IDIntervention = +Intervention.IN_PKID +//WHERE (SDT_DateDebut BETWEEN '{pDebut}' AND '{pFin}' ) AND +SDT_IDCollaborateur={pIdCollaborateur} +WHERE SDT_IDRdv={p_IDRdv} +AND SDT_IDCollaborateur={pIdCollaborateur} +//ORDER BY SDT_DateDebut DESC +] +saRQ=Remplace(saRQ,"{p_IDRdv}",stParam.nIdrdv) +saRQ=Remplace(saRQ,"{pIdCollaborateur}",stParam.nIdCollaborateur) +SI PAS HExécuteRequêteSQL(sdTps,gcnxReplica,hRequêteDéfaut,saRQ) ALORS +TraceDEBUG("Erreur lecture des Temps passés" + HErreurInfo(hErrComplet)) +SINON +stRdvTemp.nIdRDV = sdTps.SDT_IDRdv +stTps est un ST_TEMPS_PASSE +POUR TOUT sdTps +stTps:saGuid = sdTps.GUID +stTps:nIdTypeTps = DonneIdParametre(sdTps.SDT_CleType) +stTps:nTemps = sdTps.SDT_NbMinutes +stTps:saDateHeureDeb = sdTps.SDT_DateDebut +stTps:saDateHeureFin = sdTps.SDT_DateHeureFin +stTps:bModifiable = sdTps.SDT_Controle ? Faux SINON sdTps.SDT_IDCollaborateur=stParam. +nIdCollaborateur +stRdvTemp.tblTemps.Ajoute(stTps) +FIN +Sérialise(stRdvTemp,bufRes,psdJSON) +FIN +RENVOYER "R" + bufRes +FAIRE +bufRes ="E" + ExceptionInfo(errComplet) +TraceDEBUG("bufREs : " + bufRes) +TraceDEBUG("Durée (ms) : " + ChronoFin()) +RENVOYER bufRes +FIN +Procédure globale MotCleModeleEmail_Rub_Rapport +PROCÉDURE MotCleModeleEmail_Rub_Rapport(TermeRapportEmail est un STJSONRubriqueRapport,TermeRapport est +un STJSONRubriqueRapport) +n est un entier +12/08/2026 Batik_WS_Com_Mob 190 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +sGrouppeApp est une chaîne ANSI +saRQRub est une chaîne ANSI = [ +SELECT * FROM MotClef WHERE MOC_Langue='FR' +] +sdRqRub est une Source de Données +SI PAS HExécuteRequêteSQL(sdRqRub,gcnxReplica,saRQRub) ALORS +// modele introuvable +SINON +POUR TOUT sdRqRub +n = TableauCherche(TermeRapport.ListeTerme,tcLinéaire,"Groupe;MembreEmailMob",sdRqRub. +MOC_Groupe,sdRqRub.MOC_Code) +SI n <= 0 ALORS +sGrouppeApp = DonneGrouppeAppSelonGroupe(sdRqRub.MOC_Groupe) +SI sGrouppeApp = cRp_Client OU sGrouppeApp = cRp_Dossier ALORS +POUR TOUT stUnTerme, v de TermeRapport.ListeTerme +SI Contient(stUnTerme:MembreEmailMob,sdRqRub.MOC_Code,MotComplet+SansCasse) ALORS +n = v +SORTIR +FIN +FIN +FIN +FIN +stMC est un STJSONMembreRubRapport +SI n > 0 ALORS +stMC = TermeRapport.ListeTerme[n] +SINON +stMC.Nom = sdRqRub.MOC_Lib +stMC.MembreMob = sdRqRub.MOC_Code +n = TableauCherche(TermeRapport.ListeTerme,tcLinéaire,"Groupe", +sdRqRub.MOC_Groupe) +SI n > 0 ALORS +stMC.GroupeApp = TermeRapport.ListeTerme[n].GroupeApp +stMC.Groupe = TermeRapport.ListeTerme[n].Groupe +SINON +stMC.GroupeApp = DonneGrouppeAppSelonGroupe(sdRqRub.MOC_Groupe) +stMC.MembreMob = Remplace(sdRqRub.MOC_Code,".", "_") +FIN +stMC.EnvoiMob = Faux +FIN +stMC.Rubrique = sdRqRub.MOC_Mot +TermeRapportEmail.ListeTerme.Ajoute(stMC) +FIN +FIN +Procédure globale OuvreConnexionsHF +PROCÉDURE OuvreConnexionsHF() +<COMPILE SI Configuration="Debug WS_COM_MOBILE"> +RENVOYER Vrai +<FIN> +<COMPILE SI Configuration="WS_COM_MOBILE"> +RENVOYER EXE_OuvreConnexionHFSQL() +12/08/2026 Batik_WS_Com_Mob 191 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +<FIN> +QUAND EXCEPTION DANS +gcnxBaseSync..Serveur="127.0.0.1:" + gstContexte.saNumPort +gcnxBaseSync..BaseDeDonnées = gstContexte.saBaseSync +gcnxReplica..Serveur="127.0.0.1:" + gstContexte.saNumPort +gcnxReplica..BaseDeDonnées=gstContexte.saBaseData +TraceINFO("OuvreConnexionsHF :" + gstContexte.saNumPort) +HChangeConnexion("*",gcnxBaseSync) +gsaPass = BufferVersHexa(HashChaîne(HA_MD5_128,gcnxReplica..BaseDeDonnées),SansRegroupement) +sPassSysteme est une chaîne ANSI= BufferVersHexa(HashChaîne(HA_MD5_128,Mdp3 + gcnxReplica.. +BaseDeDonnées),SansRegroupement) +SI PAS HOuvreConnexion(gcnxBaseSync) ALORS +TraceERREUR("ERREUR OuvreConnexionsHF " + gcnxBaseSync..BaseDeDonnées + RC + gcnxBaseSync.. +Serveur +RC+ HErreurInfo(hErrComplet) ) +RENVOYER Faux +FIN +SI PAS HOuvreConnexion(gcnxReplica) ALORS +TraceERREUR("ERREUR OuvreConnexionsHF " + gcnxReplica..BaseDeDonnées + RC + gcnxReplica.. +Serveur +RC+ HErreurInfo(hErrComplet) ) +RENVOYER Faux +FIN +//Vérification ultime de la présence de la base de données du client sur le serveur +saLst est une chaîne ANSI = HListeBaseDeDonnées(gcnxReplica,hLstNormal) +SI ChaîneOccurrence(saLst, gstContexte.saBaseData ,SansCasse) =0 ALORS +TraceERREUR("ERREUR OuvreConnexionsHF : La base client n'existe pas sur ce serveur HF " + saLst +) +RENVOYER Faux +FIN +//Déclaration Externe de tous les fichiers du répliqua +saLst = HListeFichier(gcnxReplica) +POUR TOUTE CHAÎNE saFic DE saLst SÉPARÉE PAR RC +SI ChaîneOccurrence(saFic,"\")=0 ALORS +SI saFic="ParametreSysteme.fic" _OU_ saFic="ParametreMetierEntete.fic" _OU_ saFic=" +Etats.fic" ALORS +SI PAS HPasse(ExtraitChaîne(saFic,1,"."),sPassSysteme) ALORS +TraceERREUR(HErreurInfo(hErrComplet)) +FIN +SINON +SI PAS HPasse(ExtraitChaîne(saFic,1,"."),gsaPass) ALORS +TraceERREUR(HErreurInfo(hErrComplet)) +FIN +FIN +SI PAS HDéclareExterne(saFic,ExtraitChaîne(saFic,1,"."),gcnxReplica) ALORS +TraceERREUR(HErreurInfo(hErrComplet)) +FIN +FIN +FIN +//Déclaration Externe de la table paramètres pour pouvoir la manipuler avec des fonction Hxxx +HPasse(gsdParamApplication,gsaPass) +HDéclareExterne("ParametreApplication.fic",gsdParamApplication,gcnxReplica) +TraceINFO("Connexions OK") +RENVOYER Vrai +FAIRE +TraceERREUR("ERREUR OuvreConnexionsHF " + ExceptionInfo(errComplet) ) +RENVOYER Faux +12/08/2026 Batik_WS_Com_Mob 192 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +FIN +Procédure globale OuvreSessionEmail +PROCÉDURE OuvreSessionEmail(LOCAL nMode est un entier, LOCAL sLogin est une chaîne, LOCAL sMdp est une +chaîne, LOCAL sAdresseServeur est une chaîne,LOCAL sPortServeur est une chaîne, LOCAL nCryptage est un +entier) +bResultat est un booléen +EmailChangeTimeOut(10) +//1=IMAP +//2=POP3 +//3=SMTP +SELON nMode +CAS 1 : bResultat = EmailOuvreSessionIMAP(sLogin, sMdp, sAdresseServeur, Val(sPortServeur), +nCryptage=1 ? emailOptionDéfaut SINON nCryptage=2 ? emailOptionSécuriséTLS SINON optionSSL) +CAS 2 : bResultat = EmailOuvreSessionPOP3(sLogin, sMdp, sAdresseServeur, Val(sPortServeur), +nCryptage=1 ? emailOptionDéfaut SINON nCryptage=2 ? emailOptionSécuriséTLS SINON optionSSL) +CAS 3 : bResultat = EmailOuvreSessionSMTP(sLogin, sMdp, sAdresseServeur, Val(sPortServeur), Faux, +nCryptage=1 ? emailOptionDéfaut SINON nCryptage=2 ? emailOptionSécuriséTLS SINON optionSSL) +FIN +sMsg est une chaîne +SI ErreurDétectée() ALORS +sMsg = ErreurInfo(errComplet) +bResultat = Faux +FIN +RENVOYER (bResultat,sMsg) +Procédure globale PurgeTOMOB_24h +PROCÉDURE PurgeTOMOB_24h() +//Supprime tous les enregistrements de plus de 24h +rq est une Requête SQL = +[ +DELETE FROM TOMOB WHERE TM_Date < {pDate} +] +dh est une DateHeure = DateHeureSys() +dh..Heure -= 24 +rq.pDate=dh +HExécuteRequête(rq) +Procédure globale RechercheDonneesSimpleRapportMob +PROCÉDURE RechercheDonneesSimpleRapportMob(ListeMob est un tableau de STJSONMembreRubRapport, unTerme +est un STJSONMembreRubRapport) +b est un entier +sAInfoRemp est une chaîne ANSI +SI unTerme:EnvoiMob ALORS +b = TableauCherche(ListeMob,tcLinéaire,"Rubrique;Utilisee",unTerme:Rubrique, Faux) +FIN +TraceINFO("b => "+b+" "+unTerme:Rubrique) +12/08/2026 Batik_WS_Com_Mob 193 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +SI b > 0 ALORS +ListeMob[b].Utilisee = Vrai +TraceINFO("données b => "+ListeMob[b].ListeDonnesMob) +SI ListeMob[b].ListeDonnesmob <> "" ALORS +sAInfoRemp = TraitementSelonTypeRubRapportMob(unTerme,ListeMob[b].ListeDonnesMob) +SINON +sAInfoRemp = TraitementSelonTypeRubRapportMob(unTerme,unTerme:ListeDonnesBD) +FIN +SINON +// Comment ce n'est pas envoyé dans le mobile je cherche directement dans le données (Bqse +de données) +b = TableauCherche(ListeMob,tcLinéaire,"Rubrique;Utilisee",unTerme:Rubrique +, Faux) +SI b > 0 ALORS +sAInfoRemp = TraitementSelonTypeRubRapportMob(unTerme,ListeMob[b].ListeDonnesBD) +ListeMob[b].Utilisee = Vrai +SINON +sAInfoRemp = TraitementSelonTypeRubRapportMob(unTerme,unTerme:ListeDonnesBD) +FIN +FIN +RENVOYER sAInfoRemp +Procédure globale RechercheInfoDansVariantRapport +PROCÉDURE RechercheInfoDansVariantRapport(unTerme est un STJSONMembreRubRapport, stTerme est un +STJSONListeMembre, UnEle est un Variant,ImgBuf est un Buffer,... +saInfoV est une chaîne ANSI, sdRReq est une source de données,CheminImg est une chaîne +ANSI) +satxt est une chaîne ANSI +saIdentifiant est une chaîne ANSI +saValeurId est une chaîne ANSI +QUAND EXCEPTION DANS +SELON unTerme.GroupeApp +CAS cRp_CR +saIdentifiant = "sdRReq.CR_GUID" +saValeurId = Remplace(UnEle.saGuidCR,RC,"") +CAS cRp_Photo +saIdentifiant = "UnEle.nDC_PKID" +saValeurId = Remplace(UnEle.saGUID,RC,"") +FIN +SI PAS stTerme:BD ALORS +satxt = "UnEle."+stTerme:MembreMob +saInfoV = {satxt} +SI stTerme:TypeMembre = "ChpImage" OU stTerme:Type = "ChpImage"ALORS +SI fRepExiste(CheminImg) ALORS +sExtension est une chaîne ANSI = fExtraitChemin(UnEle.saNom, fExtension) +sNOMiMG est une chaîne ANSI = saValeurId+sExtension +SI fFichierExiste(CheminImg+sNOMiMG) ALORS +ImgBuf = fChargeBuffer(CheminImg+sNOMiMG) +FIN +FIN +FIN +SINON +POUR TOUT sdRReq +12/08/2026 Batik_WS_Com_Mob 194 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +SI {saIdentifiant} = saValeurId ALORS +satxt = "sdRReq." +satxt += stTerme:MembreMob +saInfoV = {satxt} +SI stTerme:TypeMembre = "ChpImage" OU stTerme:Type = "ChpImage"ALORS +ImgBuf = {satxt} +FIN +FIN +FIN +FIN +FAIRE +saInfoV = "" +ImgBuf = "" +TraceINFO("Info var " + saInfoV) +TraceERREUR("Erreur dans la création du rapport IMG"+ExceptionInfo()) +FIN +Procédure globale RechercheInterventions +PROCÉDURE RechercheInterventions(stData est une ST_MOB_DATA) +bDroitTout, bDroitUniqRDV, bAccesDossier sont des booléens +saRQ,saWhere sont des chaînes ANSI +bufRes est un Buffer +TraceINFO("RechercheRDV ") +// Recherche de droits +SI gstContexte:tbaDroitsAcces[cGestion_R_I_SOC_ATCH]..Existe = Vrai _ET_ gstContexte:tbaDroitsAcces +[cGestion_R_I_SOC_ATCH] ALORS +bDroitTout = Vrai +FIN +SI gstContexte:tbaDroitsAcces[cGestion_R_I_RDV_EXST]..Existe = Vrai _ET_ gstContexte:tbaDroitsAcces +[cGestion_R_I_RDV_EXST] ALORS +bDroitUniqRDV = Vrai +FIN +SI gstContexte:tbaDroitsAcces[cGestion_R_I_RDV_EXST_DS]..Existe = Vrai _ET_ gstContexte: +tbaDroitsAcces[cGestion_R_I_RDV_EXST_DS] ALORS +bAccesDossier = Vrai +FIN +<COMPILE SI Configuration="Webservice" OU Configuration="Webservice_Bouvard"> +// selon configuration du à la mise à jour chez le client +SI bDroitTout ET bDroitUniqRDV ET bAccesDossier ALORS +// il y a tous les droit on ne modifie rien +saRQ = ReqRechercheIntervention(stData,"") +saWhere = "" +SINON +// Création condition where selon les droits +// Ne pas modifier l'ordre des conditions +SI bDroitTout ET gstContexte.stUser.nIdCollab > 0 ALORS +saWhere = WhereRechercheIntDroitSoc(stData,gstContexte.stUser.nIdCollab) +SINON SI bAccesDossier ET gstContexte.stUser.saGuid <> "" +saWhere = WhereRechercheIntDroitDossier(stData,gstContexte.stUser.saGuid) +SINON SI bDroitUniqRDV ET gstContexte.stUser.saGuid <> "" +saWhere = WhereRechercheIntDroitRDV(stData,gstContexte.stUser.saGuid) +FIN +FIN +12/08/2026 Batik_WS_Com_Mob 195 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +// Condition appliquées (selon droit) on construit la req +SI saWhere <> "" ALORS +saRQ = ReqRechercheIntervention(stData,saWhere) +FIN +<SINON> +SI bDroitTout ALORS +saRQ= ReqRechercheIntervention(stData,"") +saWhere = "" +FIN +<FIN> +// si il y a une requête on construit les interventions sinon on renvoi un tableau vide +SI saRQ <> "" ALORS +RENVOYER ConstruitResultatRechercheInterventions(saRQ) +SINON +tblINT est un tableau de ST_INTER +Sérialise(tblINT,bufRes,psdJSON) +bufRes ="R" + bufRes +TraceINFO("bufREs Vide : " + bufRes) +RENVOYER bufRes +FIN +Procédure globale RechercheInterventionsNonPlannifiées +PROCÉDURE RechercheInterventionsNonPlannifiées(tblRDV est un tableau de ST_RDV_INTER) +sErreur est une chaîne +QUAND EXCEPTION DANS +TraceINFO("RechercheInterventionsNonPlannifiées pour " + gstContexte.stUser.nIdCollab +" " + gst +Contexte.saNomUser) +//Construction de la requête de sélection +saRQ est une chaîne ANSI +saRQ=[ +SELECT +Dossier.DO_IDClient AS DO_IDClient, +Dossier.DO_CleType, +Dossier.DO_Titre AS DO_Titre, +Dossier.DO_CleStatut, +Dossier.DO_RefInterne AS DO_RefInterne, +Dossier.DO_RefExterne AS DO_RefExterne, +Client.CL_Nom AS CL_Nom, +Client.CL_Tel AS CL_Tel, +Client.CL_Fax AS CL_Fax, +AdClient.AD_PKID AS AdClient_PKID, +AdClient.AD_Etiquette AS AdClient_Etiquette, +AdClient.AD_Adresse AS AdClient_Adresse, +AdClient.AD_CodePostal AS AdClient_CodePostal, +AdClient.AD_Ville AS AdClient_Ville, +Intervention.IN_PKID AS IN_PKID, +Intervention.IN_CleType, +Intervention.IN_CleEtat, +Intervention.IN_IDSuiviPar AS IN_IDSuiviPar, +Intervention.IN_IDDossier AS IN_IDDossier, +Intervention.IN_IDDemandeur AS IN_IDDemandeur, +Intervention.IN_IDClient AS IN_IDClient, +Intervention.IN_IDLieu AS IN_IDLieu, +Intervention.IN_Description AS IN_Description, +Intervention.IN_AttestationTVAPresente AS IN_AttestationTVAPresente, +12/08/2026 Batik_WS_Com_Mob 196 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +Intervention.IN_NoteInterne AS IN_NoteInterne, +Intervention.IN_Titre AS IN_Titre, +Intervention.IN_RefInterne AS IN_RefInterne, +Intervention.IN_RefExterne AS IN_RefExterne, +Intervention.IN_IDSociete, +Lieu.LI_PKID AS LI_PKID, +Lieu.LI_CodeLieu AS LI_CodeLieu, +Lieu.LI_IDAdresse AS LI_IDAdresse, +Lieu.LI_CleType, +Lieu.LI_CodeAcces AS LI_CodeAcces, +Lieu.LI_Badge AS LI_Badge, +Lieu.LI_Interphone AS LI_Interphone, +Lieu.LI_Note AS LI_Note, +AdLieu.AD_PKID AS AdLieu_PKID, +AdLieu.AD_Etiquette AS AdLieu_Etiquette, +AdLieu.AD_Adresse AS AdLieu_Adresse, +AdLieu.AD_CodePostal AS AdLieu_CodePostal, +AdLieu.AD_Ville AS AdLieu_Ville, +Demandeur.PE_Nom AS PE_Nom, +Demandeur.PE_Prenom, +Collaborateur.CO_Nom AS NomSuiviPar, +Collaborateur.CO_Prenom AS PrenomSuiviPar, +Collaborateur.CO_TelMobile AS TelMobSuiviPar, +Societe.SO_Nom +FROM +Intervention INNER JOIN Dossier ON Intervention.IN_IDDossier=Dossier.DO_PKID +,Intervention LEFT OUTER JOIN Lieu ON Intervention.IN_IDLieu = Lieu.LI_PKID +,Intervention LEFT OUTER JOIN Client ON Intervention.IN_IDClient = Client.CL_PKID +,Lieu LEFT OUTER JOIN Adresse AdLieu ON Lieu.LI_IDAdresse = AdLieu.AD_PKID +,Client LEFT OUTER JOIN Adresse AdClient ON Client.CL_IDAdressePrincipale = +AdClient.AD_PKID +,Intervention INNER JOIN Intervention_Collaborateur ON Intervention.IN_PKID = +Intervention_Collaborateur.IC_IDIntervention +,Intervention LEFT OUTER JOIN Personne Demandeur ON Intervention.IN_IDDemandeur = +Demandeur.PE_PKID +,Intervention LEFT OUTER JOIN Collaborateur ON Intervention.IN_IDSuiviPar=Collaborateur.CO_PKID +,Intervention LEFT OUTER JOIN Societe ON Intervention.IN_IDSociete = Societe.SO_PKID +WHERE +Intervention.IN_PKID NOT IN (SELECT RDV_Planning.RV_IdInter FROM RDV_Planning WHERE +RDV_Planning.Archive=0) +] +//Construction de la clause WHERE qui sera ensuite ajoutée dans la requête de recherche +//Une Intervention non planifiée à par définition : +// pas de RDV associé +// Un statut différent de "Terminé" ou "Attente" +// Est attribuée à l'utilisateur du mobile qui fait la requête +saRQ +="AND Intervention_Collaborateur.IC_IDCollaborateur=" + gstContexte.stUser.nIdCollab +saRQ +="AND Intervention.IN_CleEtat IN (" + gstContexte.sLstEtatsInter +")" +sErreur = ConstruitTableauInterventions(saRQ,"",Faux,tblRDV) +RENVOYER sErreur +FAIRE +sErreur ="E" + ExceptionInfo(errComplet) +TraceDEBUG("ERREUR dans RechercheInterventionsNonPlannifiées : " + sErreur) +12/08/2026 Batik_WS_Com_Mob 197 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +RENVOYER sErreur +FIN +Procédure globale RechercheListeRubModeleMail +PROCÉDURE RechercheListeRubModeleMail(nIdModeleMail est un entier sur 8 octets,CorpEmailDoc est un +Document, SujetEmailDoc est un Document,... +TermeRapportEmail est un STJSONRubriqueRapport, TermeRapport est un STJSONRubriqueRapport) +tbMotCleSpec est un tableau de STJSONMembreRubRapport +tabToutesRub est un tableau de STJSONMembreRubRapport +saRQModeleMail est une chaîne ANSI = [ +SELECT * FROM MailModele WHERE MM_PKID = +] +saRQModeleMail += nIdModeleMail +sdRqModele est une Source de Données +SI PAS HExécuteRequêteSQL(sdRqModele,gcnxReplica,saRQModeleMail) ALORS +RENVOYER Faux +SINON +CorpEmailDoc = sdRqModele.MM_MsgDoc +SujetEmailDoc = sdRqModele.MM_Sujet +SI sdRqModele.MM_Extra <> "" ALORS +Désérialise(tbMotCleSpec,sdRqModele.MM_Extra,psdJSON) +POUR TOUT stUnMot DE tbMotCleSpec +SI stUnMot:TypeMembre <> "" ALORS +stUnMot:Type = stUnMot:TypeMembre //Pour compatibilite dans le mobile +FIN +FIN +FIN +FIN +TermeRapport.ListeTerme = ChargeListeRubDoc() +SI TermeRapport.ListeTerme..Occurrence > 0 ALORS +TableauTrie(TermeRapportEmail:ListeTerme,ttMembre,"Groupe;Ordre") +ConstructionTbRubBaseRapport(TermeRapport,tabToutesRub,SujetEmailDoc,Vrai) +ConstructionTbRubBaseRapport(TermeRapport,tabToutesRub,CorpEmailDoc) +FIN +TermeRapportEmail.ListeTerme = tabToutesRub +ConstructionTbRubEnvoyerMob(TermeRapport,tabToutesRub,TermeRapportEmail.ListeTerme,CorpEmailDoc,Vrai, +tbMotCleSpec) +RENVOYER Vrai +Procédure globale RecupereContexte +PROCÉDURE RecupereContexte(stData est une ST_MOB_DATA) +bufRes est un Buffer +nIdUser est un entier sur 8 octets = stData.saJSON +QUAND EXCEPTION DANS +stContexte est un ST_CONTEXTE +stContexte.stUser <= gstContexte.stUser +//Récupération de l'id du statut du rdv qui a pour valeur 99 +saRQest une chaîne ANSI +sdRec est une Source de Données +saRQ= "SELECT * FROM ParametreApplication WHERE PAP_Code='ParamApp' " +12/08/2026 Batik_WS_Com_Mob 198 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +SI HExécuteRequêteSQL(sdRec,gcnxReplica,saRQ) ALORS +SI HLitPremier(sdRec) ALORS +SI sdRec.PAP_Valeur <> "" ALORS +Désérialise(stContexte.stUser.ParamApp,sdRec.PAP_Valeur,psdJSON) +FIN +FIN +FIN +SI gstContexte.stUser.nIdProfil > 0 ALORS +saRQ2 est une chaîne ANSI = +"SELECT AED_CleAcces , AED_Acces FROM AccesEtDroit WHERE AccesEtDroit.AED_IdRole = " +saRQ2 += gstContexte.stUser.nIdProfil+" AND AED_CleAcces IN ('"+cGestion_Envoi_Email+"','"+ +cGestion_Creation_Rp+"')" +sdRec2 est une Source de Données +SI HExécuteRequêteSQL(sdRec2,gcnxReplica,saRQ2) ALORS +POUR TOUT sdRec2 +SI sdRec2.AED_CleAcces = cGestion_Envoi_Email ALORS +stContexte.stUser.bDroit_EnvoiEmail = sdRec2.AED_Acces +FIN +SI sdRec2.AED_CleAcces = cGestion_Creation_Rp ALORS +stContexte.stUser.bDroit_CreationRapport = sdRec2.AED_Acces +FIN +FIN +FIN +FIN +//Par Compabilité à supprimer par la suite +<COMPILE SI Configuration="Webservice_ISIS"> +stContexte.stUser.bDroit_AnnulationRDV = Faux +// a revoir si on modifie l'application de bureau afin de mettre ce paramètre dynamique +<SINON> +stContexte.stUser.bDroit_AnnulationRDV = Vrai +<FIN> +stContexte.stUser.ParamApp.bDroit_CouleurRDV = Vrai +// a revoir si on modifie l'application de bureau afin de mettre ce paramètre dynamique +stContexte.stUser.ParamApp.bDroit_HeureDejRDV = Vrai +// a revoir si on modifie l'application de bureau afin de mettre ce paramètre dynamique +Sérialise(stContexte,bufRes,psdJSON) +TraceDEBUG("bufREs : " + bufRes) +RENVOYER "R" + bufRes +FAIRE +bufRes ="E" + ExceptionInfo(errComplet) +TraceDEBUG("bufREs : " + bufRes) +RENVOYER bufRes +FIN +Procédure globale RecupererChampMailModele +PROCÉDURE RecupererChampMailModele(stData est une ST_MOB_DATA) +QUAND EXCEPTION DANS +ChronoDébut() +TraceINFO(" RecupererChampMailModele ") +stParam est un STJSONInfoModeleMailMob +Désérialise(stParam,stData.saJSON,psdJSON) +bufRes est un Buffer +sErreur est une chaîne = ConstruireListeChampModeleEmail(stParam,bufRes) +12/08/2026 Batik_WS_Com_Mob 199 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +SI sErreur="" ALORS +bufRes ="R" + bufRes +SINON +bufRes ="E" + sErreur +FIN +TraceINFO("Durée (ms) : " + ChronoFin()) +TraceINFO("JSON ---------------------------------") +TraceINFO(bufRes) +TraceINFO("--------------------------------------") +RENVOYER bufRes +FAIRE +bufRes ="E" + ExceptionInfo(errComplet) +TraceERREUR("bufREs : " + bufRes) +TraceDEBUG("Durée (ms) : " + ChronoFin()) +RENVOYER bufRes +FIN +Procédure globale RecupererChampRapportInter +PROCÉDURE RecupererChampRapportInter(stData est une ST_MOB_DATA) +QUAND EXCEPTION DANS +ChronoDébut() +TraceINFO(" RecupererChampRapportInter ") +stParam est un ST_REQ_LISTE_Chp_Rapport +Désérialise(stParam,stData.saJSON,psdJSON) +//Construction de la réponse (tableau de STJSONMembreRubRapport) +tabRubMobile est un tableau de STJSONMembreRubRapport +bufRes est un Buffer +sErreur est une chaîne = ContruireListeChamps(tabRubMobile,stParam) +SI sErreur="" ALORS +Sérialise(tabRubMobile,bufRes,psdJSON) +bufRes ="R" + bufRes +SINON +bufRes ="E" + sErreur +FIN +TraceINFO("Durée (ms) : " + ChronoFin()) +TraceINFO("JSON ---------------------------------") +TraceINFO(bufRes) +TraceINFO("--------------------------------------") +RENVOYER bufRes +FAIRE +bufRes ="E" + ExceptionInfo(errComplet) +TraceERREUR("bufREs : " + bufRes) +TraceDEBUG("Durée (ms) : " + ChronoFin()) +RENVOYER bufRes +FIN +Procédure globale RecupererIdClbRDVDroitConsultation +PROCÉDURE RecupererIdClbRDVDroitConsultation() +bufRes est un Buffer +bDroitTout, bDroitUniqSoc, bDroitSocS, bDroitEqp sont des booléens +nIdCollab est un entier sur 8 octets +TraceINFO("Recherche id clb droit de consulter ") +12/08/2026 Batik_WS_Com_Mob 200 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +// Recherche de droits +SI gstContexte:tbaDroitsAcces[cGestion_A_PL_SOC_PRCP]..Existe = Vrai _ET_ gstContexte:tbaDroitsAcces[ +cGestion_A_PL_SOC_PRCP] ALORS +bDroitUniqSoc = Vrai +FIN +SI gstContexte:tbaDroitsAcces[cGestion_A_PL_SOC]..Existe = Vrai _ET_ gstContexte:tbaDroitsAcces[ +cGestion_A_PL_SOC] ALORS +bDroitSocS = Vrai +FIN +SI gstContexte:tbaDroitsAcces[cGestion_A_PL_EQ]..Existe = Vrai _ET_ gstContexte:tbaDroitsAcces[ +cGestion_A_PL_EQ] ALORS +bDroitEqp = Vrai +FIN +SI bDroitUniqSoc ET bDroitSocS ET bDroitEqp ALORS +bDroitTout = Vrai +FIN +nIdCollab = gstContexte.stUser.nIdCollab +saReqClb est une chaîne ANSI = [ +SELECT CO_PKID, CO_nom, CO_Prenom FROM Collaborateur +] +saWhere est une chaîne ANSI = [ +WHERE CO_Actif = 1 AND CO_AccesMobile = 1 +] +saCompl est une chaîne ANSI +SI bDroitTout ALORS +//rien +SINON SI bDroitUniqSoc ALORS +saCompl = " INNER JOIN Utilisateur ON Utilisateur.UT_IDCollaborateur = CO_PKID " +saWhere += +" AND UT_IDSocietePrincipale IN (SELECT UT_IDSocietePrincipale FROM Utilisateur WHERE +UT_IDCollaborateur = " ++nIdCollab+")" +SINON SI bDroitSocS ALORS +saCompl = " INNER JOIN Societe_Collaborateur ON SC_IDCollaborateur = CO_PKID " +saWhere += +" AND SC_IDCSociete IN (SELECT SC_IDCSociete FROM Societe_Collaborateur WHERE SC_IDCollaborateur = +" ++nIdCollab+")" +SINON SI bDroitEqp ALORS +saCompl = " INNER JOIN Equipe_Collaborateur ON Equipe_Collaborateur.EC_IDCollaborateur = CO_PKID " +saWhere += +" AND EC_IDEquipe IN (SELECT EC_IDEquipe FROM Equipe_Collaborateur WHERE EC_IDCollaborateur ="+ +nIdCollab+")" +SINON SI PAS bDroitTout ALORS +saReqClb = "" +FIN +SI saReqClb <> "" ALORS +saReqClb += saCompl + saWhere +sdColb est une Source de Données +TraceRequete(saReqClb) +SI PAS HExécuteRequêteSQL(sdColb,gcnxReplica,hRequêteDéfaut,saReqClb) ALORS +bufRes="E"+ErreurInfo(errComplet) +TraceDEBUG("bufREs : " + bufRes) +RENVOYER bufRes +SINON +tbIdClb est un tableau de ST_IdRDVClbDroitC +POUR TOUT sdColb +stClb est un ST_IdRDVClbDroitC +stClb.nIdClb = sdColb.CO_PKID +stClb.sNomPrenom = sdColb.CO_nom+" "+sdColb.CO_Prenom +12/08/2026 Batik_WS_Com_Mob 201 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +TableauAjoute(tbIdClb,stClb) +FIN +Sérialise(tbIdClb,bufRes,psdJSON) +bufRes ="R" + bufRes +TraceINFO("bufREs : " + bufRes) +RENVOYER bufRes +FIN +SINON +bufRes ="R" + bufRes +TraceINFO("bufREs : " + bufRes) +RENVOYER bufRes +FIN +Procédure globale RecupererImgRp +PROCÉDURE RecupererImgRp() +//Donne au mobile demandeur l'ID et la description JSON du premier document non lu à récupérer +TraceINFO("RecupererImgRp ") +QUAND EXCEPTION DANS +rqPhoto est une Requête SQL = +[ +SELECT * FROM TOMOB WHERE TM_CMD = 'DOC_Rp' +] +SI HExécuteRequête(rqPhoto) ALORS +dhDPurge2 est une DateHeure = DateHeureSys() +sResRepTemp est une chaîne ANSI +<COMPILE SI Configuration = "WS_COM_MOBILE" OU Configuration = "Debug WS_COM_MOBILE"> +sResRepTemp = ComplèteRep(fRepExe())+"TEMP\" +<SINON> +sResRepTemp = ComplèteRep(fRepWeb())+"TEMP\" +<FIN> +TraceINFO("Rep temp : "+sResRepTemp) +POUR TOUT rqPhoto +saInfoTOMOB est une chaîne ANSI = rqPhoto.TM_JSON +vInfoVariant est un Variant = JSONVersVariant(saInfoTOMOB) +nIdInter est un entier sur 8 octets = vInfoVariant.nInterID +sExtension est une chaîne ANSI = fExtraitChemin(vInfoVariant.saNom, +fExtension) +sNomPhoto est une chaîne ANSI = ComplèteRep(sResRepTemp+nIdInter)+ +vInfoVariant.saDocGUID+sExtension +bufImg est un Buffer = rqPhoto.TM_Buffer +SI nIdInter > 0 ALORS +SI fRepCrée(sResRepTemp+nIdInter) ALORS +SI PAS fSauveBuffer(sNomPhoto, bufImg) ALORS +TraceINFO("Erreur dans l'enregistrement de la photo : "+ErreurInfo(errMessage +)) +FIN +SINON +TraceINFO("Erreur dans l'enregistrement de la photo : "+ErreurInfo(errMessage)) +FIN +SINON +TraceINFO("Document introuvable") +FIN +12/08/2026 Batik_WS_Com_Mob 202 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +FIN +//Réalise une purge des documents non lu à destination des mobiles +rqPurge2 est une Requête SQL = +[ +DELETE FROM TOMOB WHERE TM_Date < {pDate} AND TM_CMD='DOC_Rp' +] +rqPurge2.pDate=dhDPurge2 +HExécuteRequête(rqPurge2) +FIN +FAIRE +TraceINFO("Erreur dans la procedure RecupererImgRp") +FIN +Procédure globale RecupererRDVAutreClb +PROCÉDURE RecupererRDVAutreClb(stData est une ST_MOB_DATA) +bufRes est un Buffer +QUAND EXCEPTION DANS +ChronoDébut() +TraceINFO("RecupererRDVAutreClb ") +tbLRDV est un tableau de ST_RDV_INTER_V2 +sErreur est une chaîne +sErreur = ListeRDV_V2(stData,tbLRDV,Faux) +SI sErreur<>"" ALORS +RENVOYER sErreur +FIN +Sérialise(tbLRDV,bufRes,psdJSON) +bufRes="R" + bufRes +RENVOYER bufRes +FAIRE +bufRes ="E" + ExceptionInfo(errComplet) +TraceERREUR("bufREs : " + bufRes) +TraceDEBUG("Durée (ms) : " + ChronoFin()) +RENVOYER bufRes +FIN +Procédure globale RecupereUneIntervention +PROCÉDURE RecupereUneIntervention(stData est une ST_MOB_DATA) +QUAND EXCEPTION DANS +ChronoDébut() +TraceINFO("RecupereUneIntervention ") +stParam est un ST_REQ_LISTE_RDV +Désérialise(stParam,stData.saJSON,psdJSON) +saRQ est une chaîne=[ +SELECT +Dossier.DO_IDClient AS DO_IDClient, +12/08/2026 Batik_WS_Com_Mob 203 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +Dossier.DO_IDTypeDossier AS DO_IDTypeDossier, +Dossier.DO_Titre AS DO_Titre, +Dossier.DO_IDStatut AS DO_IDStatut, +Dossier.DO_RefInterne AS DO_RefInterne, +Dossier.DO_RefExterne AS DO_RefExterne, +Client.CL_Nom AS CL_Nom, +Client.CL_Tel AS CL_Tel, +Client.CL_Fax AS CL_Fax, +AdClient.AD_PKID AS AdClient_PKID, +AdClient.AD_Etiquette AS AdClient_Etiquette, +AdClient.AD_Ligne_1 AS AdClient_Ligne_1, +AdClient.AD_Ligne_2 AS AdClient_Ligne_2, +AdClient.AD_Ligne_3 AS AdClient_Ligne_3, +AdClient.AD_Ligne_4 AS AdClient_Ligne_4, +AdClient.AD_Ligne_5 AS AdClient_Ligne_5, +AdClient.AD_CodePostal AS AdClient_CodePostal, +AdClient.AD_Ville AS AdClient_Ville, +Intervention.IN_PKID AS IN_PKID, +Intervention.IN_IDTypeIntervention AS IN_IDTypeIntervention, +Intervention.IN_IDEtatIntervention AS IN_IDEtatIntervention, +Intervention.IN_IDSuiviPar AS IN_IDSuiviPar, +Intervention.IN_IDDossier AS IN_IDDossier, +Intervention.IN_IDDemandeur AS IN_IDDemandeur, +Intervention.IN_IDClient AS IN_IDClient, +Intervention.IN_IDLieu AS IN_IDLieu, +Intervention.IN_Description AS IN_Description, +Intervention.IN_AttestationTVAPresente AS IN_AttestationTVAPresente, +Intervention.IN_NoteInterne AS IN_NoteInterne, +Intervention.IN_Titre AS IN_Titre, +Intervention.IN_RefInterne AS IN_RefInterne, +Intervention.IN_RefExterne AS IN_RefExterne, +Intervention.IN_IDSociete, +Lieu.LI_PKID AS LI_PKID, +Lieu.LI_CodeLieu AS LI_CodeLieu, +Lieu.LI_IDAdresse AS LI_IDAdresse, +Lieu.LI_IDType AS LI_IDType, +Lieu.LI_CodeAcces AS LI_CodeAcces, +Lieu.LI_Badge AS LI_Badge, +Lieu.LI_Interphone AS LI_Interphone, +Lieu.LI_Note AS LI_Note, +AdLieu.AD_PKID AS AdLieu_PKID, +AdLieu.AD_Etiquette AS AdLieu_Etiquette, +AdLieu.AD_Ligne_1 AS AdLieu_Ligne_1, +AdLieu.AD_Ligne_2 AS AdLieu_Ligne_2, +AdLieu.AD_Ligne_3 AS AdLieu_Ligne_3, +AdLieu.AD_Ligne_4 AS AdLieu_Ligne_4, +AdLieu.AD_Ligne_5 AS AdLieu_Ligne_5, +AdLieu.AD_CodePostal AS AdLieu_CodePostal, +AdLieu.AD_Ville AS AdLieu_Ville +FROM +Intervention LEFT OUTER JOIN (Lieu LEFT OUTER JOIN Adresse AdLieu ON Lieu.LI_IDAdresse = +AdLieu.AD_PKID ) ON Intervention.IN_IDLieu = Lieu.LI_PKID, +Intervention INNER JOIN +(Dossier LEFT OUTER JOIN (Client LEFT OUTER JOIN Adresse AdClient ON +Client.CL_IDAdressePrincipale = AdClient.AD_PKID) ON Dossier.DO_IDClient = Client.CL_PKID ) ON +Intervention.IN_IDDossier = Dossier.DO_PKID +WHERE +IN_PKID={pIdInter} +] +saRQ=Remplace(saRQ,"{pIdInter}",stParam.nIdInter ) +12/08/2026 Batik_WS_Com_Mob 204 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +//Construction de la réponse (tableau de ST_RDV) +tblRDV est un tableau de ST_RDV_INTER +bufRes est un Buffer +sErreur est une chaîne = ConstruitTableauInterventions(saRQ,"",Faux,tblRDV) +SI sErreur="" ALORS +Sérialise(tblRDV,bufRes,psdJSON) +bufRes ="R" + bufRes +SINON +bufRes ="E" + sErreur +FIN +TraceINFO("Durée (ms) : " + ChronoFin()) +TraceINFO("JSON ---------------------------------") +TraceINFO(bufRes) +TraceINFO("--------------------------------------") +RENVOYER bufRes +FAIRE +bufRes ="E" + ExceptionInfo(errComplet) +TraceERREUR("bufREs : " + bufRes) +TraceDEBUG("Durée (ms) : " + ChronoFin()) +RENVOYER bufRes +FIN +Procédure globale RecupereUneIntervention_V2 +PROCÉDURE RecupereUneIntervention_V2(stData est une ST_MOB_DATA) +QUAND EXCEPTION DANS +ChronoDébut() +TraceINFO("RecupereUneIntervention ") +stParam est un ST_REQ_LISTE_RDV +Désérialise(stParam,stData.saJSON,psdJSON) +saRQ est une chaîne=[ +SELECT +Dossier.DO_IDClient AS DO_IDClient, +Dossier.DO_CleType, +Dossier.DO_Titre AS DO_Titre, +Dossier.DO_CleStatut, +Dossier.DO_RefInterne AS DO_RefInterne, +Dossier.DO_RefExterne AS DO_RefExterne, +Client.CL_Nom AS CL_Nom, +Client.CL_Tel AS CL_Tel, +Client.CL_Fax AS CL_Fax, +Client.CL_Email AS CL_Email, +AdClient.AD_PKID AS AdClient_PKID, +AdClient.AD_Etiquette AS AdClient_Etiquette, +AdClient.AD_Adresse AS AdClient_Adresse, +AdClient.AD_CodePostal AS AdClient_CodePostal, +AdClient.AD_Ville AS AdClient_Ville, +Intervention.IN_PKID AS IN_PKID, +Intervention.IN_CleType, +Intervention.IN_CleEtat, +Intervention.IN_IDSuiviPar AS IN_IDSuiviPar, +Intervention.IN_IDDossier AS IN_IDDossier, +Intervention.IN_IDDemandeur AS IN_IDDemandeur, +Intervention.IN_IDClient AS IN_IDClient, +Intervention.IN_IDLieu AS IN_IDLieu, +Intervention.IN_Description AS IN_Description, +12/08/2026 Batik_WS_Com_Mob 205 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +Intervention.IN_AttestationTVAPresente AS IN_AttestationTVAPresente, +Intervention.IN_NoteInterne AS IN_NoteInterne, +Intervention.IN_Titre AS IN_Titre, +Intervention.IN_RefInterne AS IN_RefInterne, +Intervention.IN_RefExterne AS IN_RefExterne, +Intervention.IN_IDSociete, +Intervention.IN_NumDevis, +Intervention.IN_DateDevis, +Lieu.LI_PKID AS LI_PKID, +Lieu.LI_CodeLieu AS LI_CodeLieu, +Lieu.LI_IDAdresse AS LI_IDAdresse, +Lieu.LI_CleType, +Lieu.LI_CodeAcces AS LI_CodeAcces, +Lieu.LI_Badge AS LI_Badge, +Lieu.LI_Interphone AS LI_Interphone, +Lieu.LI_Note AS LI_Note, +AdLieu.AD_PKID AS AdLieu_PKID, +AdLieu.AD_Etiquette AS AdLieu_Etiquette, +AdLieu.AD_Adresse AS AdLieu_Adresse, +AdLieu.AD_CodePostal AS AdLieu_CodePostal, +AdLieu.AD_Ville AS AdLieu_Ville, +Collaborateur.CO_Nom AS NomSuiviPar, +Collaborateur.CO_Prenom AS PrenomSuiviPar, +Collaborateur.CO_TelMobile AS TelMobSuiviPar, +Collaborateur.CO_Email AS SuiviEmail, +Societe.SO_Nom +FROM +Intervention LEFT OUTER JOIN (Lieu LEFT OUTER JOIN Adresse AdLieu ON Lieu.LI_IDAdresse = +AdLieu.AD_PKID ) ON Intervention.IN_IDLieu = Lieu.LI_PKID, +Intervention INNER JOIN +(Dossier LEFT OUTER JOIN (Client LEFT OUTER JOIN Adresse AdClient ON +Client.CL_IDAdressePrincipale = AdClient.AD_PKID) ON Dossier.DO_IDClient = Client.CL_PKID ) ON +Intervention.IN_IDDossier = Dossier.DO_PKID, +Intervention LEFT OUTER JOIN Collaborateur ON Intervention.IN_IDSuiviPar=Collaborateur.CO_PKID, +Intervention LEFT OUTER JOIN Societe ON Intervention.IN_IDSociete = Societe.SO_PKID +WHERE +IN_PKID={pIdInter} +] +saRQ=Remplace(saRQ,"{pIdInter}",stParam.nIdInter ) +saRqCR est une chaîne ANSI = [ +SELECT +CompteRendu.CR_PKID, +CompteRendu.GUID AS CR_GUID, +CompteRendu.CR_DateHeureDebut, +CompteRendu.CR_DateHeureFin, +CompteRendu.CR_NoteCollaborateur, +CompteRendu.CR_NomSignataire, +CompteRendu.CR_NomSignataireTech, +CompteRendu.CR_NoteSignataire, +CompteRendu.CR_ReserveCommentaire, +CompteRendu.CR_DateHeureSignature, +CompteRendu.CR_Signature, +CompteRendu.CR_SignatureTech, +CompteRendu.CreationUser AS CR_CreationUser, +CompteRendu.CR_IDIntervention, +CompteRendu.CR_IDRdv, +CompteRendu.CR_CleTypeSignataire, +CompteRendu.CR_GUID_Rdv, +CompteRendu.CR_IDCollaborateur, +RDV_Collaborateur.RVC_GUID_Colb, +12/08/2026 Batik_WS_Com_Mob 206 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +RDV_Planning.RV_Groupe, +RDV_Collaborateur.RVC_GUID_RDV, +Collaborateur.CO_Nom, +Collaborateur.CO_Prenom +FROM CompteRendu +INNER JOIN Collaborateur ON CO_PKID = CR_IDCollaborateur +INNER JOIN RDV_Collaborateur ON RDV_Collaborateur.RVC_GUID_Colb = Collaborateur.GUID +INNER JOIN RDV_Planning ON RDV_Planning.GUID = RDV_Collaborateur.RVC_GUID_RDV +WHERE +RDV_Planning.Archive=0 AND RDV_Collaborateur.Archive=0 +AND RDV_Collaborateur.RVC_DateDeb = '{pDateDebut}' +AND RDV_Collaborateur.RVC_DateFin = '{pDateFin}' +AND RDV_Planning.RV_IdInter = {p_IdInter} +] +//saRqCR= Remplace(saRqCR,"{pIDCollaborateur}",stParam.nIdCollaborateur) +saRqCR = Remplace(saRqCR,"{pDateDebut}",stParam.saDateDebut) +saRqCR = Remplace(saRqCR,"{pDateFin}",stParam.saDateFin) +saRqCR = Remplace(saRqCR,"{p_IdInter}",stParam.nIdInter) +//Construction de la réponse (tableau de ST_RDV) +tbLRDV est un tableau de ST_RDV_INTER_V2 +bufRes est un Buffer +sErreur est une chaîne = ConstruitTableauInterventions_V2(saRQ,saRqCR,Faux,Vrai,tbLRDV) +SI sErreur="" ALORS +Sérialise(tbLRDV,bufRes,psdJSON) +bufRes ="R" + bufRes +SINON +bufRes ="E" + sErreur +FIN +TraceINFO("Durée (ms) : " + ChronoFin()) +TraceINFO("JSON ---------------------------------") +TraceINFO(bufRes) +TraceINFO("--------------------------------------") +RENVOYER bufRes +FAIRE +bufRes ="E" + ExceptionInfo(errComplet) +TraceERREUR("bufREs : " + bufRes) +TraceDEBUG("Durée (ms) : " + ChronoFin()) +RENVOYER bufRes +FIN +Procédure globale RecupListeParamMetiers +PROCÉDURE RecupListeParamMetiers() +bufRes est un Buffer +ChronoDébut() +QUAND EXCEPTION DANS +saRQ est une chaîne ANSI=[ +SELECT * FROM ParametreMetier +] +sdParam est une Source de Données +stPr est un ST_PARAMETRE_METIER +tbParam est un tableau de ST_PARAMETRE_METIER +12/08/2026 Batik_WS_Com_Mob 207 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +HExécuteRequêteSQL(sdParam,gcnxReplica,saRQ) +POUR TOUT sdParam +stPr.nIdParam =sdParam.PA_PKID +stPr.saCode =sdParam.PA_Code +stPr.saLib =sdParam.PA_Libelle +stPr.saVal =sdParam.PA_Valeur +stPr.nOrdre =sdParam.PA_Ordre +stPr.bSysteme =sdParam.PA_Systeme +stPr.bInvisible =sdParam.PA_Invisible +TableauAjoute(tbParam,stPr) +FIN +Sérialise(tbParam,bufRes,psdJSON) +RENVOYER "R" + bufRes +FAIRE +bufRes ="E" + ExceptionInfo(errComplet) +TraceERREUR("bufREs : " + bufRes) +TraceDEBUG("Durée (ms) : " + ChronoFin()) +RENVOYER bufRes +FIN +Procédure globale RecupListeParamMetiers_V2 +PROCÉDURE RecupListeParamMetiers_V2(nIdUser est un entier sur 8 octets) +bufRes est un Buffer +ChronoDébut() +QUAND EXCEPTION DANS +saRQ est une chaîne ANSI=[ +SELECT * FROM ParametreMetier +] +sdParam est une Source de Données +stPrest un ST_PARAMETRE_METIER_V2 +tbParam est un tableau de ST_PARAMETRE_METIER_V2 +HExécuteRequêteSQL(sdParam,gcnxReplica,saRQ) +POUR TOUT sdParam +stPr.nIdParam = sdParam.PA_PKID +stPr.saCode = sdParam.PA_Code +stPr.saLib = sdParam.PA_Libelle +stPr.saVal = sdParam.PA_Valeur +stPr.nOrdre = sdParam.PA_Ordre +stPr.bSysteme = sdParam.PA_Systeme +stPr.bInvisible = sdParam.PA_Invisible +stPr.saJson = sdParam.PA_Parametre +TableauAjoute(tbParam,stPr) +FIN +saRQParamApp est une chaîne ANSI = +"SELECT * FROM ParametreApplication WHERE PAP_Code='URL_TUTO' " +sdParamApp est une Source de Données +SI HExécuteRequêteSQL(sdParamApp,gcnxReplica,saRQParamApp) ALORS +SI HLitPremier(sdParamApp) ALORS +stPr.nIdParam = sdParamApp.PAP_PKID +stPr.saCode = sdParamApp.PAP_Code +stPr.saLib = sdParamApp.PAP_Description +stPr.saVal = sdParamApp.PAP_Valeur +stPr.nOrdre = 1 +12/08/2026 Batik_WS_Com_Mob 208 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +stPr.bSysteme = Vrai +stPr.bInvisible = Vrai +stPr.saJson = "" +TableauAjoute(tbParam,stPr) +FIN +FIN +//Modele de rapport +saRQRp est une chaîne ANSI=[ +SELECT * FROM ModeleRapport WHERE MRP_EnvoiMob = 1 +] +sdListeRp est une Source de Données +stRpest un ST_PARAMETRE_METIER_V2 +HExécuteRequêteSQL(sdListeRp,gcnxReplica,saRQRp) +POUR TOUT sdListeRp +stRp.nIdParam = sdListeRp.MRP_PKID +stRp.saCode = cParam_ListeRapportMob +stRp.saLib = sdListeRp.MRP_Nom +TableauAjoute(tbParam,stRp) +FIN +//Modele de mail +saRQME est une chaîne ANSI=[ +SELECT MM_PKID, MM_Nom FROM MailModele +] +sdListeME est une Source de Données +stME est un ST_PARAMETRE_METIER_V2 +HExécuteRequêteSQL(sdListeME,gcnxReplica,saRQME) +POUR TOUT sdListeME +stME.nIdParam = sdListeME.MM_PKID +stME.saCode = cParam_ListeMailModele +stME.saLib = sdListeME.MM_Nom +TableauAjoute(tbParam,stME) +FIN +// Comptes email +saMSG est une chaîne ANSI +ParamEmailConfig est un tableau associatif de STParamEnvoiEmailPerso +(saMSG,ParamEmailConfig) = DonneListeConfigMail(nIdUser) +stConfigMail est un ST_PARAMETRE_METIER_V2 +b est un entier +SI ParamEmailConfig..Occurrence > 0 ALORS +POUR TOUT config, saCle de ParamEmailConfig +b += 1 +stConfigMail.saCode = "EMAIL_ENVOI" +stConfigMail.nIdParam = b +Sérialise(config,stConfigMail.saVal,psdJSON) +TableauAjoute(tbParam,stConfigMail) +FIN +FIN +Sérialise(tbParam,bufRes,psdJSON) +RENVOYER "R" + bufRes +FAIRE +bufRes ="E" + ExceptionInfo(errComplet) +TraceERREUR("bufREs : " + bufRes) +TraceDEBUG("Durée (ms) : " + ChronoFin()) +RENVOYER bufRes +FIN +Procédure globale RemplirLigneSansTbModeleMail +PROCÉDURE RemplirLigneSansTbModeleMail(ListeMob est un tableau de STJSONMembreRubRapport,unTerme est un +12/08/2026 Batik_WS_Com_Mob 209 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +STJSONMembreRubRapport, MonDoc est un Document) +saInfoV est une chaîne ANSI +sdRReq est une Source de Données +nSel, b sont des entiers +sADonnes est une chaîne ANSI +vInfoVariante est un Variant +CheminImg est une chaîne ANSI +TableauTrie(unTerme.ListeMembre,ttMembre+tccRespecteNumérique,"+Ordre") +SI unTerme:EnvoiMob ALORS +b = TableauCherche(ListeMob,tcLinéaire,"Rubrique;Utilisee",unTerme:Rubrique,Faux) +FIN +SI b > 0 ALORS +sADonnes = ListeMob[b].ListeDonnesMob +TraceINFO("Données mob : "+sADonnes) +FIN +SI sADonnes <> "" _ET_ unTerme:Type = "Tableau" ALORS +vInfoVariante = JSONVersVariant(sADonnes) +FIN +SI unTerme.GroupeApp = cRp_CR ALORS +// Requête dans la base de données , le compte rendu ne peuvent pas être modifiées par l'utilisateur +// donc le données ne sont pas récupérer à partir de données envoyés par le mobile +RqCompteRenduRemplirRapport(vInfoVariante,sdRReq) +FIN +POUR TOUT stTerme DE unTerme.ListeMembre +tabFragments est un tableau de docFragments = DocRecherche(MonDoc,stTerme.Rubrique,MotComplet+ +SansCasse) +SI tabFragments..Occurrence > 0 ALORS +POUR c = 1 _À_ tabFragments.Occurrence +POUR TOUT UnEle DE vInfoVariante +SI stTerme:EnvoiMob ALORS +SI UnEle.bSelection ALORS +imgBuf est un Buffer +imgBuf = "" +saInfoV = "" +RechercheInfoDansVariantRapport(unTerme, stTerme, UnEle,imgBuf,saInfoV,sdRReq +,CheminImg) +nSel += 1 +SI stTerme:TypeMembre = "ChpImage" OU stTerme:Type = "ChpImage"ALORS +tabFragments[c].Texte = " " +// SI imgBuf..Taille > 0 ALORS +// nLargPixCol est un entier = 100*NBPixelesXMilimetres +// transformer le milimetres dans pixels (nombre de pixeles par milimetres) +// elt est un docElément +<- DonneImgTableauRp(imgBuf,nLargPixCol) +// DocInsère(MonDoc,tabFragments[c]..PositionDébut, elt) +// SINON +// //tabFragments[c].Texte = " " +// FIN +SINON +tabFragments[c].Texte = TraitementSelonTypeRubRapportMob(stTerme,saInfoV) +FIN +SI Contient(stTerme:Rubrique,"UNIQUE") ALORS +SORTIR +FIN +12/08/2026 Batik_WS_Com_Mob 210 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +FIN +FIN +FIN +FIN +FIN +FIN +SI nSel > 0 ALORS +RENVOYER Vrai +FIN +RENVOYER Faux +Procédure globale RemplirLigneSansTbRapport +PROCÉDURE RemplirLigneSansTbRapport(unTerme est un STJSONMembreRubRapport, MonDoc est un Document, +vInfoVariante est un Variant,CheminImg est une chaîne ANSI) +saInfoV est une chaîne ANSI +sdRReq est une Source de Données +nSel est un entier +SI unTerme.GroupeApp = cRp_CR ALORS +// Requête dans la base de données , le compte rendu ne peuvent pas être modifiées par l'utilisateur +// donc le données ne sont pas récupérer à partir de données envoyés par le mobile +RqCompteRenduRemplirRapport(vInfoVariante,sdRReq) +FIN +POUR TOUT stTerme DE unTerme.ListeMembre +tabFragments est un tableau de docFragments = DocRecherche(MonDoc,stTerme.Rubrique,MotComplet+ +SansCasse) +SI tabFragments..Occurrence > 0 ALORS +POUR c = 1 _À_ tabFragments.Occurrence +POUR TOUT UnEle DE vInfoVariante +SI stTerme:EnvoiMob ALORS +SI UnEle.bSelection ALORS +imgBuf est un Buffer +imgBuf = "" +saInfoV = "" +RechercheInfoDansVariantRapport(unTerme, stTerme, UnEle,imgBuf,saInfoV,sdRReq +,CheminImg) +nSel += 1 +SI stTerme:TypeMembre = "ChpImage" OU stTerme:Type = "ChpImage"ALORS +SI imgBuf..Taille > 0 ALORS +nLargPixCol est un entier = 100*NBPixelesXMilimetres +// transformer le milimetres dans pixels (nombre de pixeles par +milimetres) +elt est un docElément <- DonneImgTableauRp(imgBuf, +nLargPixCol) +DocInsère(MonDoc,tabFragments[c]..PositionDébut, elt) +SINON +//tabFragments[c].Texte = " " +FIN +SINON +tabFragments[c].Texte = TraitementSelonTypeRubRapportMob(stTerme,saInfoV) +FIN +SI Contient(stTerme:Rubrique,"$UN") ALORS +SORTIR +12/08/2026 Batik_WS_Com_Mob 211 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +FIN +FIN +FIN +FIN +FIN +FIN +FIN +SI nSel > 0 ALORS +RENVOYER Vrai +FIN +RENVOYER Faux +Procédure globale RemplirLigneTableauRapportMob +PROCÉDURE RemplirLigneTableauRapportMob(unTerme est un STJSONMembreRubRapport, nIMin est un entier, +MonDoc est un Document,vInfoVariante est un Variant,CheminImg est une chaîne ANSI) +saInfoV est une chaîne ANSI +sdRReq est une Source de Données +nIndDebutPara est un entier +tabListeRubCol_1 est un tableau de entiers +tabListeRubCol_2 est un tableau de entiers +SI unTerme.GroupeApp = cRp_CR ALORS +// Requête dans la base de données , le compte rendu ne peuvent pas être modifiées par l'utilisateur +// donc le données ne sont pas récupérer à partir de données envoyés par le mobile +RqCompteRenduRemplirRapport(vInfoVariante,sdRReq) +FIN +POUR TOUT stTerme DE unTerme.ListeMembre +tabFragments est un tableau de docFragments = DocRecherche(MonDoc,stTerme.Rubrique,MotComplet+ +SansCasse) +SI tabFragments..Occurrence > 0 ALORS +nColonne est un entier = tabFragments[1].Elément[1].Cellule..IndiceColonne +nLigne est un entier = tabFragments[1].Elément[1].Cellule..IndiceLigne +nIMax est un entier = nIMin +soit para <- tabFragments[1]..Paragraphe[1] +SI nIndDebutPara = 0 ALORS // Pour pouvoir savoir si un est toujours dans le même tableau +nIndDebutPara = para.Parent.Parent.Paragraphe.PositionDébut +FIN +SI para.Tableau = Null ALORS +RETOUR +FIN +SI nIndDebutPara = para.Parent.Parent.Paragraphe.PositionDébut ALORS +// moulinette faite pour savoir si on a est toujours dans la même colonne +SI CelluleAvecPlusiersRub(unTerme,para..Tableau..Cellules[nIMax,nColonne]..Contenu..Texte, +tabListeRubCol_2) ALORS +SI tabListeRubCol_1..Occurrence <= 0 ALORS +tabListeRubCol_1 = tabListeRubCol_2 +CreationTableauIntDocRapport(unTerme,MonDoc, nIMin, vInfoVariante, CheminImg, +sdRReq) +SINON +SI PAS TableauCherche(tabListeRubCol_1,tcLinéaire,stTerme:Ordre) ALORS +CreationTableauIntDocRapport(unTerme,MonDoc, nIMin, vInfoVariante, CheminImg, +sdRReq) +tabListeRubCol_1 = tabListeRubCol_2 +FIN +12/08/2026 Batik_WS_Com_Mob 212 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +FIN +SINON +POUR TOUT UnEle DE vInfoVariante +SI stTerme:EnvoiMob ALORS +SI UnEle.bSelection ALORS +imgBuf est un Buffer +imgBuf = "" +saInfoV = "" +RechercheInfoDansVariantRapport(unTerme, stTerme, UnEle,imgBuf,saInfoV, +sdRReq,CheminImg) +SI stTerme:TypeMembre = "ChpImage" OU stTerme:Type = "ChpImage"ALORS +SI imgBuf..Taille > 0 ALORS +nLargPixCol est un entier = para..Tableau..Colonnes[nColonne].. +LargeurMillimètres*NBPixelesXMilimetres // transformer le +milimetres dans pixels (nombre de pixeles par milimetres) +elt est un docElément <- DonneImgTableauRp(imgBuf, +nLargPixCol) +cell est un docCellule <- para..Tableau..Cellules[nIMax, +nColonne] +SI elt..Image..Hauteur > 0 _ET_ elt.Image..Largeur > 0 ALORS +cell2 est un docLigne <- para..Tableau.. +Lignes[nIMax] +cell2.Hauteur = elt..Image..Hauteur +cell3 est un docColonne <- para..Tableau..Colonnes[nColonne] +cell3..LargeurMillimètres = elt.Image..Largeur +FIN +para..Tableau..Cellules[nIMax,nColonne]..MiseEnPage..Alignement += chCentre +DocInsère(MonDoc,cell..Contenu..PositionDébut, elt) +SINON +//para..Tableau..Cellules[nIMax,nColonne]..Contenu..Texte = " " +FIN +SINON +para..Tableau..Cellules[nIMax,nColonne]..Contenu..Texte = +TraitementSelonTypeRubRapportMob(stTerme,saInfoV) +FIN +nIMax += 1 +SI Contient(stTerme:Rubrique,"$UN") ALORS +SORTIR +FIN +FIN +FIN +FIN +FIN +FIN +FIN +FIN +Procédure globale ReqRechercheIntervention +PROCÉDURE ReqRechercheIntervention(stData est une ST_MOB_DATA, saWhere est une chaîne ANSI) +stParam est un ST_REQ_LISTE_RDV +12/08/2026 Batik_WS_Com_Mob 213 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +Désérialise(stParam,stData.saJSON,psdJSON) +saTxt est une chaîne = stParam.saTxt +//Construction de la clause WHERE qui sera ensuite ajoutée dans la requête de recherche +SI saWhere = "" ALORS +saWhere +=" ( Intervention.IN_RefInterne LIKE '%" + saTxt +"%'" +saWhere +=" OR Client.CL_Nom LIKE '%" + saTxt +"%'" +saWhere +=" OR Lieu.LI_CodeLieu LIKE '%" + saTxt +"%'" +saWhere +=" OR Demandeur.PE_Nom LIKE '%" + saTxt +"%'" +saWhere +=" ) " +FIN +saWhere += "AND Dossier.DO_CleStatut <> '"+cCle_DossierAnnule+"'"// Statut annulé +TraceINFO("Clause :" + saWhere) +//Construction de la requête de sélection +saRQ est une chaîne ANSI +saRQ=[ +SELECT {TOP} +Intervention.IN_PKID AS IN_PKID, +Client.CL_Nom AS CL_Nom, +Intervention.IN_RefInterne AS IN_RefInterne, +Intervention.IN_Description, +Intervention.IN_NoteInterne, +Intervention.IN_RefExterne, +Intervention.IN_CleType, +Intervention.IN_CleEtat, +Intervention.IN_Titre, +Intervention.IN_IDSociete, +Lieu.LI_CodeLieu AS LI_CodeLieu, +AdLieu.AD_PKID AS AdLieu_PKID, +AdLieu.AD_Etiquette AS AdLieu_Etiquette, +AdLieu.AD_Adresse, +AdLieu.AD_CodePostal AS AdLieu_CodePostal, +AdLieu.AD_Ville AS AdLieu_Ville, +Demandeur.PE_Nom AS PE_Nom, +Demandeur.PE_Prenom +FROM +( +( Intervention LEFT OUTER JOIN Client ON Intervention.IN_IDClient = Client.CL_PKID) +INNER JOIN Dossier ON Dossier.DO_PKID = Intervention.IN_IDDossier +LEFT OUTER JOIN Lieu ON Intervention.IN_IDLieu = Lieu.LI_PKID +LEFT OUTER JOIN Adresse AdLieu ON Lieu.LI_IDAdresse = AdLieu.AD_PKID) +LEFT OUTER JOIN Personne Demandeur ON Intervention.IN_IDDemandeur = Demandeur.PE_PKID +WHERE +( +{Clause} +) +] +saRQ=Remplace(saRQ,"{Clause}",saWhere) +SI stParam.saTOP<>"" ALORS +saRQ=Remplace(saRQ,"{TOP}","TOP " + stParam.saTOP) +SINON +saRQ=Remplace(saRQ,"{TOP}","") +FIN +12/08/2026 Batik_WS_Com_Mob 214 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +RENVOYER saRQ +Procédure globale RqCompteRenduRemplirRapport +PROCÉDURE RqCompteRenduRemplirRapport(vInfoVariante est un Variant,sdRReqCR est une Source de Données) +saGUIDS est une chaîne ANSI +POUR TOUT UnEle DE vInfoVariante +SI UnEle.bSelection ALORS +saGUIDS += [" , "]+"'"+UnEle.saGuidCR +"'" +FIN +FIN +SI saGUIDS = "" ALORS +RENVOYER Faux +FIN +saRqCR est une chaîne ANSI = [ +SELECT +CompteRendu.CR_PKID, +CompteRendu.GUID AS CR_GUID, +CompteRendu.CR_DateHeureDebut, +CompteRendu.CR_DateHeureFin, +CompteRendu.CR_NoteCollaborateur, +CompteRendu.CR_NomSignataire, +CompteRendu.CR_NomSignataireTech, +CompteRendu.CR_NoteSignataire, +CompteRendu.CR_DevisConforme, +CompteRendu.CR_AvecReserve, +CompteRendu.CR_ReserveCommentaire, +CompteRendu.CR_DateHeureSignature, +CompteRendu.CR_Signature, +CompteRendu.CR_SignatureTech, +CompteRendu.CR_IDTypeSignataire, +ParametreMetier.PA_Libelle AS CR_PA_Type +FROM CompteRendu +LEFT OUTER JOIN ParametreMetier ON ParametreMetier.PA_CLE = CompteRendu.CR_CleTypeSignataire and +CompteRendu.CR_CleTypeSignataire <> '' +WHERE +CR_GUID IN ({p_GUIDS}) +] +saRqCR = Remplace(saRqCR,"{p_GUIDS}",Remplace(saGUIDS, RC,"")) +SI PAS HExécuteRequêteSQL(sdRReqCR,hRequêteDéfaut,saRqCR) ALORS +FIN +Procédure globale SupprimerToutesRubRapportMob +PROCÉDURE SupprimerToutesRubRapportMob(tabToutesRub est un tableau de STJSONMembreRubRapport,MonDoc est +un Document) +tabFragments est tableau de docFragment +POUR i = 1 _À_ tabToutesRub..Occurrence +stUnTerme est un STJSONMembreRubRapport = tabToutesRub[i] +tabFragments = DocRecherche(MonDoc,stUnTerme.Rubrique,MotComplet+SansCasse) +12/08/2026 Batik_WS_Com_Mob 215 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +POUR c = 1 _À_ tabFragments.Occurrence +tabFragments[c].Texte= "" +FIN +POUR TOUT stTermes DE stUnTerme.ListeMembre +tabFragments = DocRecherche(MonDoc,stTermes.Rubrique,MotComplet+SansCasse) +POUR h = 1 _À_ tabFragments.Occurrence +tabFragments[h].Texte= "" +FIN +FIN +FIN +Procédure globale TestCnxReplica +PROCÉDURE PRIVÉE TestCnxReplica() +sd est une Source de Données +saRes est une chaîne ANSI +// Déclaration dynamique du (ou des) fichier(s) utilisé(s) dans la requête +// HPasse("Planning_RDV",gsaPass) +//SI HDéclareExterne("Planning_RDV.FIC", "Planning_RDV", gcnxReplica) = Faux ALORS +// saRes=ErreurInfo(errComplet) +// RENVOYER saRes +//FIN +SI HExécuteRequêteSQL(sd,gcnxReplica,hRequêteDéfaut,"SELECT COUNT(*) as Nb FROM RDV_Planning") _ET_ +HLitPremier(sd) ALORS +saRes=sd.NB +SINON +saRes=ErreurInfo(errComplet) +FIN +HAnnuleDéclaration(sd) +RENVOYER saRes +Procédure globale TraiteDocumentRapportMob +PROCÉDURE TraiteDocumentRapportMob(tabToutesRubest un tableau de STJSONMembreRubRapport, ListeMob est +un tableau de STJSONMembreRubRapport,MonDoc est un Document,saCheminImg est une chaîne ANSI ) +c est un entier +sAInfoRemp est une chaîne ANSI +TableauTrie(tabToutesRub,ttMembre+tccRespecteNumérique,"+Rubrique;+Ordre") +sNomRub est une chaîne ANSI +tabFragments est tableau de docFragment +POUR i = 1 _À_ tabToutesRub..Occurrence +unTerme est un STJSONMembreRubRapport = tabToutesRub[i] +sAInfoRemp = "" +SI sNomRub <> unTerme.Rubrique ALORS +// moyen de savoir si la rubrique a été déjà traite, une rubrique peuvent être pressent +plusieurs fois dans un modèle , +// toutes les rubriques seront traites dans la variable tabfragments +SI unTerme:Type = "Tableau" ALORS +QUAND EXCEPTION DANS +POUR c = 1 _À_ tabToutesRub..Occurrence +SI unTerme.Rubrique = tabToutesRub[c].Rubrique _ET_ tabToutesRub[c].ListeMembre.. +Occurrence > 0 ALORS +tabFragments = DocRecherche(MonDoc,tabToutesRub[c].ListeMembre[1].Rubrique, +12/08/2026 Batik_WS_Com_Mob 216 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +MotComplet+SansCasse) +SI tabFragments.Occurrence > 0 ALORS +TraiteLigneTableauRapportMob(ListeMob,tabToutesRub[c], MonDoc,saCheminImg +) +FIN +FIN +FIN +FAIRE +TraceERREUR("Erreur dans la création du rapport "+c+"fragments "+tabFragments. +Occurrence+ " Condition unTerme:Type = Tableau"+RC+ExceptionInfo()) +FIN +SINON +QUAND EXCEPTION DANS +tabFragments = DocRecherche(MonDoc,unTerme.Rubrique,MotComplet+SansCasse) +SI tabFragments..Occurrence > 0 ALORS +SI tabFragments.Occurrence > 1 ALORS +POUR c = 1 _À_ tabFragments.Occurrence +sAInfoRemp = RechercheDonneesSimpleRapportMob(ListeMob, +unTerme) +tabFragments[c].Texte= sAInfoRemp +TraceERREUR(sAInfoRemp) +FIN +SINON +sAInfoRemp = RechercheDonneesSimpleRapportMob(ListeMob,unTerme) +tabFragments[1].Texte= sAInfoRemp +TraceERREUR(sAInfoRemp) +//DocRemplace(MonDoc, unTerme:Rubrique, sAInfoRemp,MotComplet+SansCasse) +FIN +FIN +FAIRE +TraceERREUR("Erreur dans la création du rapport "+c+"fragments "+tabFragments. +Occurrence+ " sans Condition"+RC+ExceptionInfo()) +FIN +FIN +FIN +sNomRub= unTerme.Rubrique +FIN +Procédure globale TraiteEmailBuffer +PROCÉDURE TraiteEmailBuffer(tabRubMobile est un tableau de STJSONMembreRubRapport, ListeMob est un +tableau de STJSONMembreRubRapport,MonDoc est un Document) +c est un entier +sAInfoRemp est une chaîne ANSI +TableauTrie(tabRubMobile,ttMembre+tccRespecteNumérique,"+Rubrique;+Ordre") +sNomRub est une chaîne ANSI +POUR i = 1 _À_ tabRubMobile..Occurrence +unTerme est un STJSONMembreRubRapport = tabRubMobile[i] +sAInfoRemp = "" +SI sNomRub <> unTerme.Rubrique ALORS +// moyen de savoir si la rubrique a été déjà traite, une rubrique peuvent être pressent +plusieurs fois dans un modèle , +// toutes les rubriques seront traites dans la variable tabfragments +SI unTerme.Type = "Tableau" _ET_ unTerme.GroupeApp <> cRp_Inter ALORS +12/08/2026 Batik_WS_Com_Mob 217 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +QUAND EXCEPTION DANS +tabFragments est tableau de docFragment = DocRecherche(MonDoc,unTerme.Rubrique, +MotComplet+SansCasse) +c = 1 +POUR c = 1 _À_ tabFragments.Occurrence +CreationTbdansModeleEmail(ListeMob,tabRubMobile[i],MonDoc) +//tabFragments[c].Texte = HTMLVersTexte(sAInfoRemp) +//tabFragments[c].Texte = sAInfoRemp +FIN +SI tabFragments..Occurrence <= 0 ALORS +SI unTerme.ListeMembre..Occurrence > 0 ALORS +tabFragments = DocRecherche(MonDoc,unTerme.ListeMembre[1].Rubrique,MotComplet ++SansCasse) +SI tabFragments.Occurrence > 0 ALORS +RemplirLigneSansTbModeleMail(ListeMob,unTerme, MonDoc) +FIN +FIN +FIN +FAIRE +TraceERREUR("Erreur dans la création du modele mail "+ExceptionInfo()) +FIN +SINON +QUAND EXCEPTION DANS +tabFragments est tableau de docFragment = DocRecherche(MonDoc,unTerme.Rubrique, +MotComplet+SansCasse) +SI tabFragments..Occurrence > 0 ALORS +c = 1 +POUR c = 1 _À_ tabFragments.Occurrence +sAInfoRemp = RechercheDonneesSimpleRapportMob(ListeMob,unTerme +) +tabFragments[c].Texte= sAInfoRemp +FIN +FIN +FAIRE +TraceERREUR("Erreur dans la création du modele email "+ExceptionInfo()) +FIN +FIN +FIN +sNomRub= unTerme.Rubrique +FIN +Procédure globale TraiteLigneTableauRapportMob +PROCÉDURE TraiteLigneTableauRapportMob(ListeMob est un tableau de STJSONMembreRubRapport, unTerme est +un STJSONMembreRubRapport, MonDoc est un Document,CheminImg est une chaîne ANSI) +sADonnes est une chaîne ANSI +b est un entier +nColonne, nLigne, nIMax, nIMin,nSel sont des entiers +bUnAjout est un booléen +tabFragments est tableau de docFragment +TableauTrie(unTerme.ListeMembre,ttMembre+tccRespecteNumérique,"+Ordre") +SI unTerme:EnvoiMob ALORS +12/08/2026 Batik_WS_Com_Mob 218 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +b = TableauCherche(ListeMob,tcLinéaire,"Rubrique;Utilisee",unTerme:Rubrique,Faux) +FIN +SI b > 0 ALORS +sADonnes = ListeMob[b].ListeDonnesMob +TraceINFO("Données mob : "+sADonnes) +FIN +SI sADonnes <> "" _ET_ unTerme:Type = "Tableau" ALORS +vInfoVariante est un Variant = JSONVersVariant(sADonnes) +ListeMob[b].Utilisee = Vrai +// on commence pour ajouter le nombre de ligne dans le tableau +SI unTerme.ListeMembre..Occurrence > 0 ALORS +tabFragments = DocRecherche(MonDoc,unTerme.ListeMembre[1].Rubrique,MotComplet+SansCasse) +SI tabFragments..Occurrence <= 0 _ET_ unTerme.ListeMembre..Occurrence > 1 ALORS +tabFragments = DocRecherche(MonDoc,unTerme.ListeMembre[2].Rubrique,MotComplet+SansCasse) +FIN +SI tabFragments..Occurrence > 0 ALORS +soit para <- tabFragments[1]..Paragraphe[1] +SI para.Tableau = Null ALORS +bUnAjout = Faux +SINON +bUnAjout = Vrai +FIN +SI bUnAjout ALORS +nColonne = tabFragments[1].Elément[1].Cellule..IndiceColonne +nLigne = tabFragments[1].Elément[1].Cellule..IndiceLigne +nIMax = nLigne +nIMin = nLigne +POUR TOUT Ele DE vInfoVariante +SI Ele.bselection ALORS +nSel += 1 +SI nIMax > nLigne ALORS +Ajoute(para.Tableau.Lignes) +FIN +nIMax += 1 +SI Contient(unTerme.ListeMembre[1].Rubrique,"$UN") ALORS +SORTIR +FIN +FIN +FIN +FIN +FIN +FIN +//Âpres l'ajout des toutes les lignes un ajoute l'information +SI bUnAjout ALORS +RemplirLigneTableauRapportMob(unTerme,nIMin,MonDoc,vInfoVariante,CheminImg) +SI nSel > 0 ALORS +RENVOYER Vrai +SINON +RENVOYER Faux +FIN +SINON +RENVOYER RemplirLigneSansTbRapport(unTerme, MonDoc,vInfoVariante,CheminImg) +FIN +FIN +12/08/2026 Batik_WS_Com_Mob 219 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +RENVOYER Faux +Procédure globale TraitementSelonTypeRubRapportMob +PROCÉDURE TraitementSelonTypeRubRapportMob(stMembre, sADonnes est une chaîne ANSI) +sTexte est une chaîne = " " +dhUnDateHeure est une DateHeure +bUnBoolean est un booléen +sType est une chaîne ANSI = stMembre:TypeMembre +SI sType = "" ALORS +sType = stMembre:Type +FIN +SI sADonnes..Taille < 8 _ET_ (stMembre:TypeMembre = "ChpSimpleDate" OU stMembre:TypeMembre = +"ChpSimpleDateHeure") ALORS +RENVOYER sTexte +FIN +QUAND EXCEPTION DANS +SI stMembre:GroupeApp = cRp_Extra ALORS +SELON stMembre:Type +CAS typDate +dhUnDateHeure = sADonnes +sTexte=DateVersChaîne(dhUnDateHeure,"JJ/MM/AAAA") +CAS typHeure +dhUnDateHeure = sADonnes +sTexte=HeureVersChaîne(dhUnDateHeure,"HH:mm") +CAS typTexte +sTexte=sADonnes +CAS typSélect +sTexte=bUnBoolean=Vrai ? "Oui" SINON "Non" +AUTRE CAS +sTexte = sADonnes +FIN +SINON +SELON sType +CAS "ChpSimpleDate" : dhUnDateHeure = sADonnes +CAS "ChpSimpleDateHeure": dhUnDateHeure = sADonnes +CAS "ChpSimpleBooleen" : bUnBoolean = sADonnes +FIN +SELON sType +CAS "ChpSimpleChaine" : sTexte=sADonnes +CAS "ChpSimpleRTF" : sTexte=RTFVersTexte(sADonnes) +CAS "ChpSimpleDate" : sTexte=DateVersChaîne(dhUnDateHeure,"JJ/MM/AAAA") +CAS "ChpSimpleDateHeure": sTexte=DateVersChaîne(dhUnDateHeure,"JJ/MM/AAAA HH:mm") +CAS "ChpSimpleReel" : sTexte=sADonnes +CAS "ChpSimpleBooleen" : sTexte=bUnBoolean=Vrai ? "Oui" SINON "Non" +AUTRE CAS +sTexte = sADonnes +FIN +FIN +RENVOYER sTexte +FAIRE +RENVOYER sTexte +FIN +Procédure globale WhereRechercheIntDroitDossier +PROCÉDURE WhereRechercheIntDroitDossier(stData est une ST_MOB_DATA, saGUIDColb est une chaîne ANSI) +12/08/2026 Batik_WS_Com_Mob 220 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +stParam est un ST_REQ_LISTE_RDV +Désérialise(stParam,stData.saJSON,psdJSON) +saTxt est une chaîne = stParam.saTxt +saLstIdDossier est une chaîne ANSI +saWhere est une chaîne ANSI +saWhere +=" ( Intervention.IN_RefInterne LIKE '%" + saTxt +"%'" +saWhere +=" OR Client.CL_Nom LIKE '%" + saTxt +"%'" +saWhere +=" OR Lieu.LI_CodeLieu LIKE '%" + saTxt +"%'" +saWhere +=" OR Demandeur.PE_Nom LIKE '%" + saTxt +"%'" +saWhere +=" ) " +bufRes est un Buffer +saReq est une chaîne ANSI = [ +select STRING_AGG(RDV_Planning.RV_IdDossier, ',') AS id_list +FROM +( +( RDV_Planning +INNER JOIN RDV_Collaborateur ON RDV_Collaborateur.RVC_GUID_Colb = {pGUIDColb} AND +RDV_Collaborateur.Archive = 0 +LEFT OUTER JOIN Intervention on Intervention.IN_PKID = RDV_Planning.RV_IdInter +LEFT OUTER JOIN Client ON Intervention.IN_IDClient = Client.CL_PKID ) +LEFT OUTER JOIN Lieu ON Intervention.IN_IDLieu = Lieu.LI_PKID +LEFT OUTER JOIN Adresse AdLieu ON Lieu.LI_IDAdresse = AdLieu.AD_PKID) +LEFT OUTER JOIN Personne Demandeur ON Intervention.IN_IDDemandeur = Demandeur.PE_PKID +WHERE +( +{Clause} And RDV_Planning.Archive = 0 +) +] +saReq=Remplace(saReq,"{Clause}",saWhere) +saReq=Remplace(saReq,"{pGUIDColb}",saGUIDColb) +sd est une Source de Données +// TraceRequete(saRQ) +SI PAS HExécuteRequêteSQL(sd,gcnxReplica,hRequêteDéfaut,saReq) ALORS +bufRes="E"+ErreurInfo(errComplet) +TraceDEBUG("bufREs : " + bufRes) +RENVOYER bufRes +SINON +POUR TOUT sd +saLstIdDossier = sd.id_list +FIN +FIN +SI saLstIdDossier <> "" ALORS +saWhere+= "AND Intervention.IN_IDDossier IN ("+saLstIdDossier+")" +RENVOYER saWhere +SINON +RENVOYER "" +FIN +Procédure globale WhereRechercheIntDroitRDV +PROCÉDURE WhereRechercheIntDroitRDV(stData est une ST_MOB_DATA, saGUIDColb est une chaîne ANSI) +stParam est un ST_REQ_LISTE_RDV +Désérialise(stParam,stData.saJSON,psdJSON) +saTxt est une chaîne = stParam.saTxt +12/08/2026 Batik_WS_Com_Mob 221 + +Partie 4 › Collection de procédures › LIB_Traitements › Code +| saLstIdInt | est une chaîne ANSI | | | | +| ------------------------------------------ | ------------------- | --- | ---------------------- | --- | +| saWhere | est une chaîne ANSI | | | | +| saWhere +=" ( Intervention.IN_RefInterne | | | LIKE '%" + saTxt +"%'" | | +| saWhere +=" OR Client.CL_Nom | | | LIKE '%" + saTxt +"%'" | | +| saWhere +=" OR Lieu.LI_CodeLieu | | | LIKE '%" + saTxt +"%'" | | +| saWhere +=" OR Demandeur.PE_Nom | | | LIKE '%" + saTxt +"%'" | | +saWhere +=" ) " +| bufRes | est un Buffer | | | | +| ------ | ------------------- | --- | --- | --- | +| saReq | est une chaîne ANSI | = [ | | | +select STRING_AGG(RDV_Planning.RV_IdDossier, ',') AS id_list +FROM +( +( RDV_Planning +INNER JOIN RDV_Collaborateur ON RDV_Collaborateur.RVC_GUID_Colb = {pGUIDColb} AND +RDV_Collaborateur.Archive = 0 +LEFT OUTER JOIN Intervention on Intervention.IN_PKID = Planning_RDV.PL_IDIntervention +LEFT OUTER JOIN Client ON Intervention.IN_IDClient = Client.CL_PKID ) +LEFT OUTER JOIN Lieu ON Intervention.IN_IDLieu = Lieu.LI_PKID +LEFT OUTER JOIN Adresse AdLieu ON Lieu.LI_IDAdresse = AdLieu.AD_PKID) +LEFT OUTER JOIN Personne Demandeur ON Intervention.IN_IDDemandeur = Demandeur.PE_PKID +WHERE +( +{Clause} And RDV_Planning.Archive = 0 +) +] +| saReq = Remplace(saReq,"{Clause}",saWhere) | | | | | +| ------------------------------------------------ | --- | --- | --- | --- | +| saReq = Remplace(saReq,"{pGUIDColb}",saGUIDColb) | | | | | +| sd est une Source de Données | | | | | +// TraceRequete(saRQ) +SI PAS HExécuteRequêteSQL(sd,gcnxReplica,hRequêteDéfaut,saReq) ALORS +bufRes="E"+ErreurInfo(errComplet) +TraceDEBUG("bufREs : " + bufRes) +RENVOYER bufRes +SINON +POUR TOUT sd +saLstIdInt = sd.id_list +FIN +FIN +SI saLstIdInt <> "" ALORS +saWhere+= "AND Intervention.IN_PKID IN ("+saLstIdInt+")" +RENVOYER saWhere +SINON +RENVOYER "" +FIN +Procédure globale WhereRechercheIntDroitSoc +PROCÉDURE WhereRechercheIntDroitSoc(stData est une ST_MOB_DATA, nIdCollab est un entier sur 8 octets) +stParam est un ST_REQ_LISTE_RDV +Désérialise(stParam,stData.saJSON,psdJSON) +| saTxt | est une chaîne | = stParam.saTxt | | | +| --------------------------- | ------------------- | --------------- | ---------------- | --- | +| saLstIdSoc | est une chaîne ANSI | | | | +| saWhere est une chaîne ANSI | | | | | +| 12/08/2026 | | | Batik_WS_Com_Mob | 222 | + +Partie 4 › Collection de procédures › LIB_Traitements › Code +bufRes est un Buffer +saReq_2 est une chaîne ANSI = [ +select SC_IDCSociete from Societe_Collaborateur where SC_IDCollaborateur = +] +saReq_2 += nIdCollab +sd_2 est une Source de Données +// TraceRequete(saRQ) +SI PAS HExécuteRequêteSQL(sd_2,gcnxReplica,hRequêteDéfaut,saReq_2) ALORS +bufRes="E"+ErreurInfo(errComplet) +TraceDEBUG("bufREs : " + bufRes) +RENVOYER bufRes +SINON +POUR TOUT sd_2 +saLstIdSoc+= [","] + sd_2.SC_IDCSociete +FIN +FIN +SI saLstIdSoc <> "" ALORS +//Construction de la clause WHERE qui sera ensuite ajoutée dans la requête de recherche +saWhere +=" ( Intervention.IN_RefInterne LIKE '%" + saTxt +"%'" +saWhere +=" OR Client.CL_Nom LIKE '%" + saTxt +"%'" +saWhere +=" OR Lieu.LI_CodeLieu LIKE '%" + saTxt +"%'" +saWhere +=" OR Demandeur.PE_Nom LIKE '%" + saTxt +"%'" +saWhere +=" ) AND Intervention.IN_IDSociete in ("+saLstIdSoc+")" +FIN +RENVOYER saWhere +12/08/2026 Batik_WS_Com_Mob 223 + +Partie 4 › Collection de procédures › LIB_ProcéduresGlobales2 › Code +LIB_ProcéduresGlobales2 +Code +Procédure globale DebuteSession +PROCÉDURE DebuteSession(Token est une chaîne ANSI) +//res est une chaîne ANSI = WebserviceParamètre("Token",paramAvecDécodage) +// Utilisez la commande WebserviceParamètre() pour récupérer les paramètres du point d'entrée du +Webservice REST associé à cette procédure. +// Consultez l'aide de WebserviceParamètre pour plus d'informations. +WebserviceEcritCodeHTTP(400,"Super") +RENVOYER "Recu :[" +Token + "]" +12/08/2026 Batik_WS_Com_Mob 224 + +Partie 4 › Collection de procédures › LIB_Structures › Code +LIB_Structures +Code +Déclaration de LIB_Structures +CONSTANT +cREP_LIC_OK ="E0000" +cERR_DATA_VIDE ="E1001" +cERR_FORMAT_JSON ="E1002" +cERR_CLI_INCONNU ="E2001" +cERR_CLI_LIC ="E2002" +cERR_CLI_CONFIG ="E2003" //Configuration incomplète +cERR_CLI_BADAPI ="E2004" //La clé API n'est pas correcte +cERR_LIC_INCONNUE ="E3001" +cERR_LIC_INACTIVE="E3002" +cERR_LIC_EXPIREE ="E3003" +cERR_LIC_ATTRIBUEE ="E3004" +cERR_LIC_AUCUNE ="E3005" +cERR_CMD_INCONNUE="E4001" +cERR_HF_BLOCAGE ="E5001" +cERR_SRV ="E6001" //Erreur générique du serveur +//Erreur fonctionnelle +cERR_RDV_PLANIFIER ="E7001" +cERR_EXCEPTION ="E9000" +FIN +ST_ContexteMobile est une Structure +saToken est une chaîne ANSI +saIdMobile est une chaîne ANSI +saBaseData est une chaîne ANSI +saBaseSync est une chaîne ANSI +saIdClient est une chaîne ANSI +bAuthentifié est un booléen +dhAuthentification est une DateHeure +saNumPort est une chaîne ANSI +nIdGroupe est un entier sur 8 octets +nNbConnexions est un entier +saNomUser est une chaîne ANSI +saFichierLog est une chaîne ANSI +stUser est un ST_PROFIL_UTILISATEUR +sLstEtatsInter est une chaîne ANSI +//Liste des ParametreMetier.PA_pkid des États des Interventions non planifiées que l'on peut +transmettre aux mobile +sLstDocTypeAcces est une chaîne ANSI +//Paramètres Métiers +bParamChargés est un booléen +12/08/2026 Batik_WS_Com_Mob 225 + +Partie 4 › Collection de procédures › LIB_Structures › Code +sParamJson est une chaîne ANSI +tbaDroitsAcces est un tableau associatif de booléens +FIN +ST_TAB_PARAM est une Structure +TbaRoleContact est un tableau associatif (*, "Contact", wlChaîneAnsi) de chaînes +TbaRoleCntctLieu est un tableau associatif (*, "Contact", wlChaîneAnsi) de chaînes +TbaCivilite est un tableau associatif (*, *, wlChaîneAnsi) de chaînes +TbaTypeDossier est un tableau associatif (*, *, wlChaîneAnsi) de chaînes +TbaStatutDossier est un tableau associatif (*, *, wlChaîneAnsi) de chaînes +TbaTypeLieu est un tableau associatif (*, *, wlChaîneAnsi) de chaînes +TbaDestDemande est un tableau associatif (*, *, wlChaîneAnsi) de chaînes +TbaPriorite est un tableau associatif (*, *, wlChaîneAnsi) de chaînes +TbaTypeInter est un tableau associatif (*, *, wlChaîneAnsi) de chaînes +TbaEtatInter est un tableau associatif (*, *, wlChaîneAnsi) de chaînes +TbaStatutRDV est un tableau associatif (*, *, wlChaîneAnsi) de chaînes +TbaTypAction est un tableau associatif (*, *, wlChaîneAnsi) de chaînes +TbaTypActivite est un tableau associatif (*, *, wlChaîneAnsi) de chaînes +TbaTypAdresse est un tableau associatif (*, *, wlChaîneAnsi) de chaînes +TbaStatutClient est un tableau associatif (*, *, wlChaîneAnsi) de chaînes +TbaTypClient est un tableau associatif (*, *, wlChaîneAnsi) de chaînes +TbaCategorieDoc est un tableau associatif (*, *, wlChaîneAnsi) de chaînes +TbaCategorieDoc2 est un tableau associatif (*, *, wlChaîneAnsi) d'entiers sur 8 octets +TbaCategorieDoc3 est un tableau associatif (*, *, wlChaîneAnsi) de STParametreCategDoc +BDroitProfil est un tableau associatif (*, *, wlChaîneAnsi) de STListeDroit +FIN +ST_PROFIL_UTILISATEUR est une Structure +saGuid est une chaîne ANSI +nIdUser est un entier sur 8 octets +nIdCollab est un entier sur 8 octets +saNom est une chaîne ANSI +saPrenom est une chaîne ANSI +saSociete est une chaîne ANSI +nPond100 est un entier +nIdGroupe est un entier +saProfil est une chaîne ANSI +nIdProfil est un entier sur 8 octets +bDroit_AnnulationRDV est un booléen +bDroit_EnvoiEmail est un booléen +bDroit_CreationRapport est un booléen +ParamApp est un ST_ParamApp +FIN +ST_CONTEXTE est une Structure +tbParam est un tableau de ST_PARAMETRE_METIER +stUser est un ST_PROFIL_UTILISATEUR +FIN +ST_ParamApp est une Structure +bDroit_AnnulationRDV est un booléen +bDroit_CouleurRDV est un booléen +bDroit_HeureDejRDV est un booléen +bNumDevis_RDV est un booléen +bRefInt_RDV est un booléen +bRefExt_RDV est un booléen +FIN +//Structures utilisée pour envoyer la liste des Interventions au mobiles +ST_ADRESSE est une Structure +nID est un entier sur 8 octets +saEtiq est une chaîne ANSI +saLig est une chaîne ANSI +saCP est une chaîne ANSI +12/08/2026 Batik_WS_Com_Mob 226 + +Partie 4 › Collection de procédures › LIB_Structures › Code +saVil est une chaîne ANSI +FIN +ST_PERSONNE_LIEU est une Structure +saNom est une chaîne ANSI +saPren est une chaîne ANSI +saTFix est une chaîne ANSI +saTMob est une chaîne ANSI +nID est un entier sur 8 octets +saRole est une chaîne ANSI +saEtage est une chaîne ANSI +saEtiquette est une chaîne ANSI +saLot est une chaîne ANSI +saNote est une chaîne ANSI +saEmail est une chaîne ANSI +bDemand est un booléen +bDonneurOrdre est un booléen +FIN +ST_NOTE est une Structure +saGuid est une chaîne ANSI +nIdInter est un entier sur 8 octets +saNote est une chaîne ANSI +saAuteur est une chaîne ANSI +nIdAuteur est un entier sur 8 octets <zombie> // +saDate est une chaîne ANSI +saType est une chaîne ANSI +nIdUsr est un entier sur 8 octets +FIN +ST_COMPTERENDU_V2 est une Structure +saGuidCR est une chaîne ANSI +saDebut est une chaîne ANSI +saFin est une chaîne ANSI +saNoteCollab est une chaîne ANSI +saNoteClient est une chaîne ANSI +saDateSignature est une chaîne ANSI +saReserveCommentaire est une chaîne ANSI +nIdInter est un entier sur 8 octets +saSignataire est une chaîne ANSI +saGuidRDV est une chaîne ANSI +nIdCollab est un entier sur 8 octets +nIdUser est un entier sur 8 octets +bImgSignature est un booléen +bImgSignatureTechest un booléen +saNomCollaborateur est une chaîne ANSI +nIDTypeSignataireest un entier sur 8 octets +nIdGroupeRDV est un entier +bufImgSignature est un Buffer +FIN +ST_TEMPS est une Structure +saGuid est une chaîne ANSI +nIdInter est un entier sur 8 octets +nIdTps est un entier sur 8 octets +nIdCollab est un entier sur 8 octets +nIdRDV est un entier sur 8 octets +saNumInter est une chaîne ANSI +saLibelle est une chaîne ANSI +saHeureDebut est une chaîne ANSI +saHeureFin est une chaîne ANSI +nPond100 est un entier +nNbMinutes est un entier +nIdTypeTps est un entier sur 8 octets +saGuidRdv est une chaîne ANSI +FIN +ST_TEMPS_PASSE est une Structure +12/08/2026 Batik_WS_Com_Mob 227 + +Partie 4 › Collection de procédures › LIB_Structures › Code +saGuid est une chaîne ANSI +nIdTypeTps est un entier sur 8 octets +nTemps est un entier +saDateHeureDeb est une chaîne ANSI +saDateHeureFin est une chaîne ANSI +bModifiable est un booléen +FIN +ST_TEMPS_PASSE_RDV est une Structure +nIdRDV est un entier sur 8 octets +//nIdInterventionest un entier sur 8 octets +//saGuidRdv est une chaîne ANSI +//nIdCollab est un entier sur 8 octets +tblTemps est un tableau de ST_TEMPS_PASSE +FIN +ST_PARAMETRE_METIER est une Structure +nIdParam est un entier sur 8 octets +saCode est une chaîne ANSI +saLib est une chaîne ANSI +saVal est une chaîne ANSI +nOrdre est un entier +bSysteme est un booléen +bInvisible est un booléen +FIN +ST_PARAMETRE_METIER_V2 est une Structure +nIdParam est un entier sur 8 octets +saCode est une chaîne ANSI +saLib est une chaîne ANSI +saVal est une chaîne ANSI +nOrdre est un entier +bSysteme est un booléen +bInvisible est un booléen +saJson est un chaîne ANSI +FIN +//Toute modif dans cette structure doit être reportée dans la structure ST_RDV_LOC du projet BeMobile +ST_COMPTERENDU est une Structure +saGuidCR est une chaîne ANSI +saDebut est une chaîne ANSI +saFin est une chaîne ANSI +saNoteCollab est une chaîne ANSI +saNoteClient est une chaîne ANSI +saDateSignature est une chaîne ANSI +nIdInter est un entier sur 8 octets +saSignataire est une chaîne ANSI +saGuidRDV est une chaîne ANSI +nIdCollab est un entier sur 8 octets +nIdUser est un entier sur 8 octets +bufImgSignature est un Buffer +FIN +STCompteRenduRqListe_V2 est une Structure +saCR_GUID est une chaîne ANSI +saDateHeureDebut est une chaîne ANSI +saDateHeureFin est une chaîne ANSI +saNoteCollaborateur est une chaîne ANSI +saNoteSignataire est une chaîne ANSI +saReserveCommentaire est une chaîne ANSI +saDateHeureSignature est une chaîne ANSI +nRDV_PKID est une entier sur 8 octets +nIN_PKID est une entier sur 8 octets +saNomSignataire est une chaîne +saPL_GUID est une chaîne ANSI +nPL_IDCollaborateur est un entier sur 8 octets +nCR_CreationUser est un entier sur 8 octets +12/08/2026 Batik_WS_Com_Mob 228 + +Partie 4 › Collection de procédures › LIB_Structures › Code +bCR_Signature est un booléen +bCR_SignatureTech est un booléen +nIdGroupe est un entier +saNomCollaborateur est une chaîne +nIDTypeSignataire est un entier sur 8 octets +bufCR_Signature est un Buffer +FIN +STCompteRenduRqListe est une Structure +saCR_GUID est une chaîne ANSI +saDateHeureDebut est une chaîne ANSI +saDateHeureFin est une chaîne ANSI +saNoteCollaborateur est une chaîne ANSI +saNoteSignataire est une chaîne ANSI +saDateHeureSignature est une chaîne ANSI +nRDV_PKID est une entier sur 8 octets +nIN_PKID est une entier sur 8 octets +saNomSignataire est une chaîne +saPL_GUID est une chaîne ANSI +nPL_IDCollaborateur est un entier sur 8 octets +nCR_CreationUser est un entier sur 8 octets +bufCR_Signature est un Buffer +nIdGroupe est un entier sur 8 octets +FIN +ST_RDV_A_PLANIFIER est une Structure +nIdRdv est un entier sur 8 octets +saGuidRdv est une chaîne ANSI +nIdCollab est un entier sur 8 octets +nIdUser est un entier sur 8 octets +saDateHeureDeb est une chaîne ANSI +saDateHeureFin est une chaîne ANSI +nIDStatut est un entier sur 8 octets +FIN +ST_TELEPHONE est une Structure +saTelNum est une chaîne ANSI +saTelLib est une chaîne ANSI +FIN +ST_RDV_CONTACT est une Structure +nIdRdvCnt est un entier sur 8 octets +//nID est un entier sur 8 octets +saCivilite est une chaîne ANSI +saNom est une chaîne ANSI +saPrenom est une chaîne ANSI +saEmail est une chaîne ANSI +nIdRole est un entier sur 8 octets +saRole est une chaîne ANSI +saEtage est une chaîne ANSI +saLot est une chaîne ANSI +saEtiquette est une chaîne ANSI +saNote est une chaîne ANSI +bDonneurOrdre est un booléen +tbLTEL est un tableau de ST_TELEPHONE +FIN +// saGuid est une chaîne ANSI +// nRDV_PKID est un entier sur 8 octets +// nRDV_IDClb est un entier sur 8 octets +// nRDV_IDInt est un entier sur 8 octets +// nRDV_TypActID est un entier sur 8 octets +// nRDV_StatutID est un entier sur 8 octets +// saRDV_Obj est une chaîne ANSI +// saRDV_Dscrpt est une chaîne ANSI +// saRDV_DtDeb est une chaîne ANSI +// saRDV_DtFin est une chaîne ANSI +12/08/2026 Batik_WS_Com_Mob 229 + +Partie 4 › Collection de procédures › LIB_Structures › Code +//Toute modif dans cette structure doit être reportée dans la structure ST_INTER_LOC du projet BeMobile +ST_INTER est une Structure +nDos_IDCli est un entier sur 8 octets +saDos_Type est une chaîne ANSI +saDos_Tit est une chaîne ANSI +saDos_Etat est une chaîne ANSI +saDos_RfI est une chaîne ANSI +saDos_RfE est une chaîne ANSI +saCli_Nom est une chaîne ANSI +saCli_Tel est une chaîne ANSI +saCli_Fax est une chaîne ANSI +saCli_Email est une chaîne ANSI +stCli_Ad est un ST_ADRESSE +nInt_PKID est un entier sur 8 octets +saInt_Typ est une chaîne ANSI +saInt_Etat est une chaîne ANSI +nInt_IDSuiv est un entier sur 8 octets +saNomSuiviPar est une chaîne +saPrenomSuiviPar est une chaîne +saTelSuiviPar est une chaîne +saSuiviEmail est une chaîne ANSI +nInt_IDDos est un entier sur 8 octets +nInt_IDDem est un entier sur 8 octets +nInt_IDCli est un entier sur 8 octets +nInt_IDLieu est un entier sur 8 octets +nInt_IDSociete est un entier sur 8 octets +saInt_Descrip est une chaîne ANSI +bInt_AtTVA est un booléen +saInt_Note est une chaîne ANSI +saInt_Tit est une chaîne ANSI +saInt_RfI est une chaîne ANSI +saInt_RfE est une chaîne ANSI +saInt_NumDevis est une chaîne +saInt_DateDevis est une chaîne ANSI +saSoc_Nom est une chaîne ANSI +nLieu_PKID est un entier sur 8 octets +saLieu_CodeLieu est une chaîne ANSI +nLieu_IDAdresse est un entier sur 8 octets +saLieu_Type est une chaîne ANSI +saLieu_CodeAcces est une chaîne ANSI +bLieu_Badge est un booléen +bLieu_Interphone est un booléen +saLieu_Note est une chaîne ANSI +nAdLieu_PKID est un entier sur 8 octets +stLieu_Ad est un ST_ADRESSE +nDmd_PKIDest est un entier sur 8 octets +saDmd_Civ est une chaîne ANSI +saDmd_Nom est une chaîne ANSI +saDmd_Prenom est une chaîne ANSI +saDmd_TelFixe est une chaîne ANSI +saDmd_TelMobile est une chaîne ANSI +saDmd_Email est une chaîne ANSI +saDmd_Role est une chaîne ANSI +nDmd_IDAdresse est un entier sur 8 octets +nDmd_IDClient est un entier sur 8 octets +saDmd_Note est une chaîne ANSI +saDmd_Fax est une chaîne ANSI +tblPerLieu est un tableau de ST_PERSONNE_LIEU +12/08/2026 Batik_WS_Com_Mob 230 + +Partie 4 › Collection de procédures › LIB_Structures › Code +tblNote est un tableau de ST_NOTE +// tblTps est un Tableau de ST_TEMPS +FIN +ST_RDV est une Structure +nPKID est un entier sur 8 octets +nIDGroupe est un entier sur 8 octets +nIDSociete est un entier sur 8 octets +nIDEquipe est un entier sur 8 octets +nIDCollaborateur est un entier sur 8 octets +nIDDossier est un entier sur 8 octets +nIDIntervention est un entier sur 8 octets +nIDTypeActivite est un entier sur 8 octets +nIDStatut est un entier sur 8 octets +saStatut est une chaîne ANSI +saDescription est une chaîne ANSI +saDateDebut est une chaîne ANSI +saDateFin est une chaîne ANSI +bSuperposable est un booléen +bPrive est un booléen +bGrouper est un booléen +saObjet est une chaîne ANSI +nIDLieu est une chaîne +saGUID est une chaîne ANSI +tblContact est un tableau de ST_RDV_CONTACT +stCompteRendu est un ST_COMPTERENDU +FIN +ST_RDV_V2 est une Structure +nPKID est un entier sur 8 octets +nIDGroupe est un entier sur 8 octets +nIDSociete est un entier sur 8 octets +nIDEquipe est un entier sur 8 octets +nIDCollaborateur est un entier sur 8 octets +nIDDossier est un entier sur 8 octets +nIDIntervention est un entier sur 8 octets +nIDTypeActivite est un entier sur 8 octets +nIDStatut est un entier sur 8 octets +saStatut est une chaîne ANSI +saDescription est une chaîne ANSI +saDateDebut est une chaîne ANSI +saDateFin est une chaîne ANSI +bSuperposable est un booléen +bPrive est un booléen +bGrouper est un booléen +saObjet est une chaîne ANSI +nIDLieu est une chaîne +saGUID est une chaîne ANSI +saGUID_RDV est une chaîne ANSI +bSAV est un booléen +bCR est un booléen +tblContact est un tableau de ST_RDV_CONTACT +stCompteRendu est un ST_COMPTERENDU_V2 +saNoteCollab est une chaîne ANSI +FIN +ST_RDV_INTER est une Structure +stRDV est un ST_RDV +stINTER est un ST_INTER +saRDV_TypAct est une chaîne ANSI +saRDV_Statut est une chaîne ANSI +saRDV_Civ est une chaîne ANSI +saRDV_Nom est une chaîne ANSI +saRDV_Pren est une chaîne ANSI +saRDV_Tel est une chaîne ANSI +saRDV_Role est une chaîne ANSI +12/08/2026 Batik_WS_Com_Mob 231 + +Partie 4 › Collection de procédures › LIB_Structures › Code +nRDV_IdCtact est un entier sur 8 octets +saRDV_Lieu est une chaîne ANSI +FIN +ST_RDV_INTER_V2 est une Structure +stRDV est un ST_RDV_V2 +stINTER est un ST_INTER +saRDV_TypAct est une chaîne ANSI +saRDV_Statut est une chaîne ANSI +saRDV_Civ est une chaîne ANSI +saRDV_Nom est une chaîne ANSI +saRDV_Pren est une chaîne ANSI +saRDV_Tel est une chaîne ANSI +saRDV_Role est une chaîne ANSI +nRDV_IdCtact est un entier sur 8 octets +saRDV_Lieu est une chaîne ANSI +FIN +//Toute modif dans cette structure doit être reportée dans la structure ST_TABELEM_DOC du projet +BeMobile +ST_TABELEM_DOC est une Structure +nDC_PKID est un entier sur 8 octets +nDC_IdInter est un entier sur 8 octets +saDC_Nom est une chaîne ANSI +saDC_DteFic est une chaîne ANSI +saLibCat est une chaîne ANSI +saDocGuid est une chaîne ANSI +tblNotes est un tableau de ST_TABELEM_NOTEDOC +FIN +ST_TABELEM_NOTEDOC est une Structure +nDN_PKID est un entier sur 8 octets +saDN_Note est une chaîne ANSI +saDN_Date est une chaîne ANSI +nDN_Auteur est un entier sur 8 octets <zombie> +nDN_DOCPKID est un entier sur 8 octets +saNomAuteur est une chaîne ANSI +saGUID est une chaîne ANSI +nIdUsr est un entier sur 8 octets +FIN +//Structure lue dans le QRCode d'inscription +ST_MOB_INSCRIPTION est une Structure +saSrv est une chaîne ANSI +saPort est une chaîne ANSI +saIdCli est une chaîne ANSI +nIdClb est un entier sur 8 octets +nIdUsr est un entier sur 8 octets +saNom est une chaîne ANSI +saPren est une chaîne ANSI +FIN +ST_REQ_LISTE_RDV est une Structure +nIdCollaborateur est un entier sur 8 octets +saDateDebut est une chaîne ANSI +saDateFin est une chaîne ANSI +saTxt est une chaîne ANSI +saTOP est une chaîne ANSI +bSimple est un booléen +nIdInter est un entier sur 8 octets +FIN +ST_REQ_LISTE_TEMPS est une Structure +nIdCollaborateur est un entier sur 8 octets +saDateDebut est une chaîne ANSI +saDateFin est une chaîne ANSI +12/08/2026 Batik_WS_Com_Mob 232 + +Partie 4 › Collection de procédures › LIB_Structures › Code +saLstIdInter est une chaîne ANSI +FIN +ST_REQ_LISTE_TEMPS_PASSE est une Structure +nIdCollaborateur est un entier sur 8 octets +nIdrdv est un entier sur 8 octets +FIN +ST_REQ_LISTE_DOC est une Structure +nIdIntervention est un entier sur 8 octets +FIN +//Document +ST_DOC est une Structure +saNom est une chaîne ANSI +saType est une chaîne ANSI +nInterIDest un entier sur 8 octets +saNote est une chaîne ANSI +saDateCreat est une chaîne ANSI +nIdUser est un entier sur 8 octets +nDC_PKIDest un entier sur 8 octets +saDocGUID est une chaîne ANSI +nStatut est un entier +FIN +//Rapport +STJSONInfoRapportMob est une Structure +saGuid est une chaîne ANSI +saDate est une chaîne ANSI +nIdModele est un entier sur 8 octets +nIdInter est un entier sur 8 octets +saNomRapport est une chaîne ANSI +ListeMob est un tableau de STJSONMembreRubRapport +FIN +ST_REQ_LISTE_Chp_Rapport est une Structure +nIdCollaborateur est un entier sur 8 octets +nIdInter est un entier sur 8 octets +nIdModele est un entier sur 8 octets +FIN +STJSONMembreRubRapport est une Structure +nIdRub est un entier sur 8 octets +Nom est une chaîne +Rubrique est une chaîne +Description est une chaîne +Groupe est une chaîne +Type est une chaîne +Ordre est un réel +// Position dans le document , c'est unique est sert comme identifiant +MembreMob est une chaîne ANSI +EnvoiMob est un entier +BD est un entier +MembreEmailMob est une chaîne +TypeMembre est une chaîne +Utilisee est un booléen +// pour savoir si la données envoyés par le mobile a été déjà utilisé dans le document, une donné +peuvent être demande plusieurs fois dans le document ( +img par exemple) +GroupeApp est une chaîne ANSI +MasqueSaisie est un booléen +Modifiable est un booléen +ListeDonnesMob est une chaîne ANSI +ListeDonnesBD est une chaîne ANSI +ListeMembre est un tableau de STJSONListeMembre +FIN +12/08/2026 Batik_WS_Com_Mob 233 + +Partie 4 › Collection de procédures › LIB_Structures › Code +STJSONListeMembre est une Structure +Nom est une chaîne +Rubrique est une chaîne +Membre est une chaîne +TypeMembre est une chaîne +LargeurCol est un réel +MembreMob est une chaîne ANSI +EnvoiMob est un entier +BD est un entier +MembreEmailMob est une chaîne +GroupeApp est une chaîne ANSI +InvisibleBO est un entier +Type est une chaîne +Ordre est un réel +// Position dans le document , c'est unique est sert comme identifiant +Utilisee est un booléen +// pour savoir si la données envoyés par le mobile a été déjà utilisé dans le document, une donné +peuvent être demande plusieurs fois dans le document ( +img par exemple) +FIN +STJSONRubriqueRapport est une Structure +NomParamest une chaîne +ListeTerme est un tableau de STJSONMembreRubRapport +FIN +// Modele Mail +ST_ContactInter est une Structure +saNom est une chaîne ANSI +saRole est une chaîne ANSI +saType est une chaîne ANSI +saEmail est une chaîne ANSI +bDemd est un booléen +FIN +ST_ModeleMailRub est une Structure +saType est une chaîne ANSI +saGUID est une chaîne ANSI +Listerub est un tableau de STJSONMembreRubRapport +FIN +ST_ModeleMailComplet est une Structure +nIdInter est un entier sur 8 octets +nIdModele est un entier sur 8 octets +saType est une chaîne ANSI +saSujet est une chaîne ANSI +bufCorpsHTML est un Buffer +saGUID est une chaîne ANSI +tbPJ est un tableau de chaînes ANSI +tbPJID est un tableau de chaînes ANSI +tbDest est un tableau de chaînes ANSI +tbDestCC est un tableau de chaînes ANSI +tbDestCCI est un tableau de chaînes ANSI +stCompteMail est un STParamEnvoiEmailPerso +FIN +STJSONInfoModeleMailMob est une Structure +saGuid est une chaîne ANSI +saDate est une chaîne ANSI +nIdModele est un entier sur 8 octets +nIdInter est un entier sur 8 octets +stCompteMail est un STParamEnvoiEmailPerso +ListeMob est un tableau de STJSONMembreRubRapport +FIN +// Email +STParamEmail est une Structure +12/08/2026 Batik_WS_Com_Mob 234 + +Partie 4 › Collection de procédures › LIB_Structures › Code +sCompte est une chaîne +sEmail est une chaîne +FIN +STParamEnvoiEmail est une Structure +sLogin est une chaîne ANSI +sMdp est une chaîne ANSI +sAdresseServeur est une chaîne ANSI +sPortServeur est une chaîne ANSI +nCryptage est un entier +bufSignature est un Buffer +bEnCopieCachee est un booléen +sType est une chaîne ANSI +tabCC_CopieEmail est un tableau de chaînes ANSI +FIN +STParamEnvoiEmailPerso est une Structure +Compte est un STParamEmail +SMTP est un STParamEnvoiEmail +FIN +//Message externe communication avec le service +ST_MsgExterneMail est une Structure +nIdInter est un entier sur 8 octets +saSujet est une chaîne ANSI +bufCorp est un Buffer +saGUID est une chaîne ANSI +saAdrExp est une chaîne ANSI +saPJ est une chaîne ANSI +saDest est une chaîne ANSI +saDestCC est une chaîne ANSI +saDestCCI est une chaîne ANSI +bEnvoye est un booléen +nIdUser est un entier sur 8 octets +FIN +//STructure utilisée pour interroger le serveur de Licences +ST_WS_VERIF_LM est une Structure +saCodeClient est une chaîne ANSI +saLicence est une chaîne ANSI +saIdMobile est une chaîne ANSI +FIN +STParametreCategDoc est une Structure +sCodeDroit est une chaîne +sNomRepertoire est une chaîne +FIN +STDefDroitAcces est une Structure +bufCle est un Buffer +sBureau est une chaîne +sMobile est une chaîne +FIN +STElementDroitAcces est une Structure +sFichier est une chaîne +sRubrique est une chaîne +tabDefDroitAcces est un tableau de STDefDroitAcces +FIN +STListeDroit est une Structure +tabElementDroitAcces est un STElementDroitAcces +FIN +ST_IdRDVClbDroitC est une Structure +nIdClb est un entier sur 8 octets +12/08/2026 Batik_WS_Com_Mob 235 + +Partie 4 › Collection de procédures › LIB_Structures › Code +sNomPrenom est une chaîne ANSI +FIN +//Rapport Mob +ST_RDV_Rp est une Structure +saGuid est une chaîne ANSI +nIDGroupe est un entier sur 8 octets +saDateDebut est une chaîne ANSI +saDateFin est une chaîne ANSI +saObjet est une chaîne ANSI +saNote est une chaîne ANSI +saCollaborateurs est une chaîne ANSI +saExtra est une chaîne ANSI +bSelection est un booléen +FIN +ST_CONTACT_Rp est une Structure +nID est un entier sur 8 octets +saNom est une chaîne ANSI +saPren est une chaîne ANSI +saRole est une chaîne ANSI +saTFix est une chaîne ANSI +saTMob est une chaîne ANSI +saEtage est une chaîne ANSI +saExtra est une chaîne ANSI +bSelection est un booléen +FIN +ST_ClientAd est une Structure +sAAdresse est une chaîne ANSI +sAExtra est une chaîne ANSI +bSelection est un booléen +FIN +ST_CR_Rp est une Structure +saGuidCR est une chaîne ANSI +saDebut est une chaîne ANSI +saFin est une chaîne ANSI +saSignataire est une chaîne ANSI +saNomCollaborateur est une chaîne ANSI +saExtra est une chaîne ANSI +bSelection est un booléen +FIN +ST_Img_Rp est une Structure +nDC_PKID est un entier sur 8 octets +saNom est une chaîne ANSI +saExtra est une chaîne ANSI +saNotes est une chaîne ANSI +saDate est une chaîne ANSI +bSelection est un booléen +nPosTable est un entier +FIN +12/08/2026 Batik_WS_Com_Mob 236 + +Partie 4 › Collection de procédures › LIB_EXE › Code +LIB_EXE +Code +Déclaration de LIB_EXE +gcnxE_ServeurLicence est une Connexion +gcnxE_ServeurWSCom est une Connexion +Procédure globale EXE_OuvreConnexionHFSQL +PROCÉDURE EXE_OuvreConnexionHFSQL() +QUAND EXCEPTION DANS +<COMPILE SI Configuration="WS_COM_MOBILE"> +LIB_EXE.gcnxe_ServeurLicence..Provider = hAccèsHFClientServeur +LIB_EXE.gcnxe_ServeurLicence..BaseDeDonnées= "BASE_LICENCES" +LIB_EXE.gcnxe_ServeurLicence..MotDePasse = "ea0c6460faac5d87db47b4ca0147a34a" +LIB_EXE.gcnxe_ServeurLicence..Serveur = "127.0.0.1:4900" +LIB_EXE.gcnxe_ServeurLicence..Utilisateur = "Admin" +// LIB_EXE.gsaPortWSCOM = "4902" +// LIB_EXE.gsaServeurWSCOM = "51.68.44.182" +LIB_EXE.gcnxe_ServeurWSCom..Provider = hAccèsHFClientServeur +LIB_EXE.gcnxe_ServeurWSCom..BaseDeDonnées = "BATIK.01_BLD" +LIB_EXE.gcnxe_ServeurWSCom..MotDePasse = "F911-Q927-K880-N196" +LIB_EXE.gcnxe_ServeurWSCom..Serveur = "127.0.0.1:4900" +LIB_EXE.gcnxe_ServeurWSCom..Utilisateur = "superuser" +<FIN> +gcnxReplica = LIB_EXE.gcnxe_ServeurWSCom +sPassSysteme est une chaîne ANSI= BufferVersHexa(HashChaîne(HA_MD5_128,Mdp3 + gcnxReplica.. +BaseDeDonnées),SansRegroupement) +gsaPass = BufferVersHexa(HashChaîne(HA_MD5_128,gcnxReplica..BaseDeDonnées),SansRegroupement) +SI PAS HOuvreConnexion(gcnxReplica) ALORS +TraceERREUR("ERREUR OuvreConnexionsHF " + gcnxReplica..BaseDeDonnées + RC + gcnxReplica.. +Serveur +RC+ HErreurInfo(hErrComplet) ) +RENVOYER Faux +FIN +// //Vérification ultime de la présence de la base de données du client sur le serveur +// saLst est une chaîne ANSI = HListeBaseDeDonnées(gcnxReplica,hLstNormal) +// SI ChaîneOccurrence(saLst, gstContexte.saBaseData ,SansCasse) =0 ALORS +// +TraceERREUR("ERREUR OuvreConnexionsHF : La base client n'existe pas sur ce serveur HF " + saLst ) +// RENVOYER Faux +// FIN +//Déclaration Externe de tous les fichiers du répliqua +saLst est une chaîne ANSI = HListeFichier(gcnxReplica) +POUR TOUTE CHAÎNE saFic DE saLst SÉPARÉE PAR RC +SI ChaîneOccurrence(saFic,"\")=0 ALORS +SI saFic="ParametreSysteme.fic" _OU_ saFic="ParametreMetierEntete.fic" _OU_ saFic=" +Etats.fic" ALORS +SI PAS HPasse(ExtraitChaîne(saFic,1,"."),sPassSysteme) ALORS +TraceERREUR(HErreurInfo(hErrComplet)) +FIN +SINON +SI PAS HPasse(ExtraitChaîne(saFic,1,"."),gsaPass) ALORS +12/08/2026 Batik_WS_Com_Mob 237 + +Partie 4 › Collection de procédures › LIB_EXE › Code +TraceERREUR(HErreurInfo(hErrComplet)) +FIN +FIN +SI PAS HDéclareExterne(saFic,ExtraitChaîne(saFic,1,"."),gcnxReplica) ALORS +TraceERREUR(HErreurInfo(hErrComplet)) +FIN +FIN +FIN +//Déclaration Externe de la table paramètres pour pouvoir la manipuler avec des fonction Hxxx +HPasse(gsdParamApplication,gsaPass) +HDéclareExterne("ParametreApplication.fic",gsdParamApplication,gcnxReplica) +TraceINFO("Connexions OK") +RENVOYER Vrai +FAIRE +TraceERREUR("ERREUR OuvreConnexionsHF " + ExceptionInfo(errComplet) ) +RENVOYER Faux +FIN +Procédure globale LanceWebService +PROCÉDURE LanceWebService() +sInFile est une chaîne = LigneCommande(1) +sOutFileest une chaîne = LigneCommande(2) +SI sInFile = "" OU sOutFile = "" ALORS +// Pas d'arguments : on ne peut pas travailler +RENVOYER "" +FIN +// Lire le JSON d’entrée +sInJSON est une chaîne = fChargeTexte(sInFile) +SI sInJSON = "" ALORS +fSauveTexte(sOutFile, "Entrée JSON vide ou fichier introuvable") +RENVOYER "" +FIN +// Parser JSON +vIn est un Variant +vIn = JSONVersVariant(sInJSON) +SI ErreurDétectée ALORS +fSauveTexte(sOutFile, "JSON invalide : " + ErreurInfo(errComplet)) +RENVOYER "" +FIN +// Identifier le nom de l’opération +sOp est une chaîne = "" +SI vIn.procedure <> "" ALORS +sOp = vIn.procedure +SINON +fSauveTexte(sOutFile, "Champ 'procedure' manquant") +RENVOYER "" +FIN +saReponse est une chaîne ANSI +// Dispatcher +SELON sOp +CAS "MOB_CMD": +saReponse = MOB_CMD(vIn.stID, vIn.stData, vIn.bufDocument) +CAS "MOB_EnvoieDoc": +saReponse = MOB_EnvoieDoc(vIn.stID, vIn.saJSON, vIn.bufDocument) +12/08/2026 Batik_WS_Com_Mob 238 + +Partie 4 › Collection de procédures › LIB_EXE › Code +CAS "MOB_RecupDoc": +saReponse = MOB_RecupDoc(vIn.stID, vIn.nID_TOMOB) +CAS "MOB_RecupDocID": +saReponse = MOB_RecupDocID(vIn.stID) +CAS "MOB_RecupValide": +saReponse = MOB_RecupValide(vIn.stID,vIn.nIdToMob) +CAS "Tesla": +saReponse = "OUI" +AUTRE CAS: +saReponse = "Opération inconnue : " + sOp +FIN +fSauveTexte(sOutFile, saReponse) +RENVOYER "" +12/08/2026 Batik_WS_Com_Mob 239 + +Partie 4 › Collection de procédures › LIB_DEBUG › Code +LIB_DEBUG +Code +Déclaration de LIB_DEBUG +gcnxD_ServeurLicence est une Connexion +gcnxD_ServeurWSCom est une Connexion +gtbaListeUsers est un tableau associatif de ST_MOB_IDENTITE +gsaPortWSCOM est une chaîne ANSI +gsaServeurWSCOM est une chaîne ANSI +gID est un WS_COM_MOBILE.ST_MOB_IDENTITE +gdDateDeb est une Date +gdDateFin est une Date +gnIdCollabChoisi est un entier sur 8 octets +gnIdInterChoisi est un entier sur 8 octets +gnIdRapportChoisi est un entier sur 8 octets +gnIdEmailChoisi est un entier sur 8 octets +gbEnvoiWebService est un booléen = Vrai +gnIdCollabSID est un entier sur 8 octets +Procédure globale D_LanceProcedure +PROCÉDURE D_LanceProcedure(saType est une chaîne ANSI) +saRep est une chaîne ANSI +saBuf est une chaîne ANSI +REQ est un WS_COM_MOBILE.ST_MOB_DATA +REQ.saCMD=saType +SELON saType +CAS cCMD_NoteEcrit,cCMD_DocNoteEcrit,cCMD_TempsEcrit,cCMD_TempsSupprime,cCMD_CREcrit, +cCMD_CREcrit_V2,cCMD_ListeDocDmd,cCMD_RdvEcrit,cCMD_TempsEcrit_V2,cCMD_RDVValidation, +cCMD_RDVAnnulation,cCMD_DocRpRecup +CAS cCMD_RdvAPlanifierEcrit +CAS cCMD_ListeDOC +CAS cCMD_ListeRDV_V2, cCMD_IdClbRdvDroitC,cCMD_ListeRDV_Clb +stParam est un ST_REQ_LISTE_RDV +stParam.nIdCollaborateur = LIB_DEBUG.gnIdCollabChoisi +SI saType = cCMD_ListeRDV_V2 ALORS +stParam.nIdCollaborateur= LIB_DEBUG.gnIdCollabSID +FIN +stParam.saDateDebut = LIB_DEBUG.gdDateDeb +stParam.saDateFin = LIB_DEBUG.gdDateFin +Sérialise(stParam,saBuf,psdJSON) +REQ.saJSON=saBuf +saTest est une chaîne ANSI +SI gbEnvoiWebService ALORS +saRep = WS_COM_MOBILE.MOB_CMD(LIB_DEBUG.gID,REQ,saTest) +SINON +saRep = MOB_CMD(LIB_DEBUG.gID,REQ,saTest) +12/08/2026 Batik_WS_Com_Mob 240 + +Partie 4 › Collection de procédures › LIB_DEBUG › Code +FIN +saBuf=saRep[2 À] +CAS cCMD_LitINTER_V2 +stParam est un ST_REQ_LISTE_RDV +stParam.nIdInter = LIB_DEBUG.gnIdInterChoisi +stParam.bSimple = Vrai +stParam.saDateDebut = LIB_DEBUG.gdDateDeb +stParam.saDateFin = LIB_DEBUG.gdDateFin +saBufJson est une chaîne ANSI +Sérialise(stParam,saBufJson,psdJSON) +REQ.saJSON=saBufJson +SI gbEnvoiWebService ALORS +saRep = WS_COM_MOBILE.MOB_CMD(LIB_DEBUG.gID,REQ,"") +SINON +saRep = MOB_CMD(LIB_DEBUG.gID,REQ,"") +FIN +saBuf=saRep[2 À] +CAS cCMD_RechercheRDV +stParam est un ST_REQ_LISTE_RDV +stParam.saTxt = FEN_Principal.SAI_Recherche +stParam.saTOP = "50" +saBufJson est une chaîne ANSI +Sérialise(stParam,saBufJson,psdJSON) +REQ.saJSON=saBufJson +SI gbEnvoiWebService ALORS +saRep = WS_COM_MOBILE.MOB_CMD(LIB_DEBUG.gID,REQ,"") +SINON +saRep = MOB_CMD(LIB_DEBUG.gID,REQ,"") +FIN +saBuf=saRep[2 À] +CAS cCMD_ListeTEMPS +stParam est un ST_REQ_LISTE_TEMPS +stParam.nIdCollaborateur=LIB_DEBUG.gnIdCollabChoisi +dh est une DateHeure = DateHeureSys() +stParam.saDateFin = dh +dh..Mois-- +dh..Jour = 1 +dh..Heure = 0 +dh..Minute = 0 +dh..Seconde = 0 +dh..Milliseconde = 0 +stParam.saDateDebut = dh +saBufJson est une chaîne ANSI +Sérialise(stParam,saBufJson,psdJSON) +REQ.saJSON=saBufJson +SI gbEnvoiWebService ALORS +saRep = WS_COM_MOBILE.MOB_CMD(LIB_DEBUG.gID,REQ,"") +SINON +saRep = MOB_CMD(LIB_DEBUG.gID,REQ,"") +FIN +saBuf=saRep[2 À] +CAS cCMD_LitParam_V2 //Appelé par la fonction RécupContexte du mobile +SI gbEnvoiWebService ALORS +saRep = WS_COM_MOBILE.MOB_CMD(LIB_DEBUG.gID,REQ,"") +SINON +saRep = MOB_CMD(LIB_DEBUG.gID,REQ,"") +FIN +saBuf=saRep[2 À] +CAS cCMD_LitContexte +12/08/2026 Batik_WS_Com_Mob 241 + +Partie 4 › Collection de procédures › LIB_DEBUG › Code +REQ.saJSON = NumériqueVersChaîne(LIB_DEBUG.gID.nIdUser) +SI gbEnvoiWebService ALORS +saRep = WS_COM_MOBILE.MOB_CMD(LIB_DEBUG.gID,REQ,"") +SINON +saRep = MOB_CMD(LIB_DEBUG.gID,REQ,"") +FIN +saBuf=saRep[2 À] +CAS cCMD_ListeCh_Rapport +stParam est un ST_REQ_LISTE_Chp_Rapport +stParam.nIdCollaborateur = LIB_DEBUG.gnIdCollabSID +stParam.nIdInter = LIB_DEBUG.gnIdInterChoisi +stParam.nIdModele = LIB_DEBUG.gnIdRapportChoisi +saBufJson est une chaîne ANSI +Sérialise(stParam,saBufJson,psdJSON) +REQ.saJSON=saBufJson +SI gbEnvoiWebService ALORS +saRep = WS_COM_MOBILE.MOB_CMD(LIB_DEBUG.gID,REQ,"") +SINON +saRep = MOB_CMD(LIB_DEBUG.gID,REQ,"") +FIN +saBuf=saRep[2 À] +CAS cCMD_RecupImgRapport +CAS cCMD_ListeCh_Mail +stParam est un STJSONInfoModeleMailMob +stParam.nIdInter = LIB_DEBUG.gnIdInterChoisi +stParam.nIdModele = LIB_DEBUG.gnIdEmailChoisi +saBufJson est une chaîne ANSI +Sérialise(stParam,saBufJson,psdJSON) +REQ.saJSON=saBufJson +SI gbEnvoiWebService ALORS +saRep = WS_COM_MOBILE.MOB_CMD(LIB_DEBUG.gID,REQ,"") +SINON +saRep = MOB_CMD(LIB_DEBUG.gID,REQ,"") +FIN +saBuf=saRep[2 À] +CAS cCMD_Cr_Structure_Mail +AUTRE CAS +FIN +FEN_Log.SAI_Log = saRep +RENVOYER saBuf +Procédure globale D_OuvreConnexionHFSQL +PROCÉDURE D_OuvreConnexionHFSQL() +QUAND EXCEPTION DANS +<COMPILE SI Configuration="WS_COM_MOBILE"> +LIB_DEBUG.gcnxD_ServeurLicence..Provider = hAccèsHFClientServeur +LIB_DEBUG.gcnxD_ServeurLicence..BaseDeDonnées = "BASE_LICENCES" +LIB_DEBUG.gcnxD_ServeurLicence..MotDePasse = "ea0c6460faac5d87db47b4ca0147a34a" +LIB_DEBUG.gcnxD_ServeurLicence..Serveur = "51.68.44.182:4943" +LIB_DEBUG.gcnxD_ServeurLicence..Utilisateur = "Admin" +LIB_DEBUG.gsaPortWSCOM = "4902" +LIB_DEBUG.gsaServeurWSCOM = "51.68.44.182" +12/08/2026 Batik_WS_Com_Mob 242 + +Partie 4 › Collection de procédures › LIB_DEBUG › Code +LIB_DEBUG.gcnxD_ServeurWSCom..Provider = hAccèsHFClientServeur +LIB_DEBUG.gcnxD_ServeurWSCom..BaseDeDonnées = "BATIK.01_BLD" +LIB_DEBUG.gcnxD_ServeurWSCom..MotDePasse = "F911-Q927-K880-N196" +LIB_DEBUG.gcnxD_ServeurWSCom..Serveur = "51.68.44.182:4902" +LIB_DEBUG.gcnxD_ServeurWSCom..Utilisateur = "superuser" +<FIN> +gcnxReplica = LIB_DEBUG.gcnxD_ServeurWSCom +uneConexxion est une Connexion +uneConexxion..Provider = hAccèsHFClientServeur +uneConexxion..BaseDeDonnées = "BATIK.01_BLD" +uneConexxion..MotDePasse = "F911-Q927-K880-N196" +uneConexxion..Serveur = "51.68.44.182:4902" +uneConexxion..Utilisateur = "superuser" +gcnxReplica = uneConexxion +sPassSysteme est une chaîne ANSI= BufferVersHexa(HashChaîne(HA_MD5_128,Mdp3 + gcnxReplica.. +BaseDeDonnées),SansRegroupement) +gsaPass = BufferVersHexa(HashChaîne(HA_MD5_128,gcnxReplica..BaseDeDonnées),SansRegroupement) +SI PAS HOuvreConnexion(gcnxReplica) ALORS +TraceERREUR("ERREUR OuvreConnexionsHF " + gcnxReplica..BaseDeDonnées + RC + gcnxReplica.. +Serveur +RC+ HErreurInfo(hErrComplet) ) +RENVOYER Faux +FIN +// //Vérification ultime de la présence de la base de données du client sur le serveur +// saLst est une chaîne ANSI = HListeBaseDeDonnées(gcnxReplica,hLstNormal) +// SI ChaîneOccurrence(saLst, gstContexte.saBaseData ,SansCasse) =0 ALORS +// +TraceERREUR("ERREUR OuvreConnexionsHF : La base client n'existe pas sur ce serveur HF " + saLst ) +// RENVOYER Faux +// FIN +//Déclaration Externe de tous les fichiers du répliqua +saLst est une chaîne ANSI = HListeFichier(gcnxReplica) +POUR TOUTE CHAÎNE saFic DE saLst SÉPARÉE PAR RC +SI ChaîneOccurrence(saFic,"\")=0 ALORS +SI saFic="ParametreSysteme.fic" _OU_ saFic="ParametreMetierEntete.fic" _OU_ saFic=" +Etats.fic" ALORS +SI PAS HPasse(ExtraitChaîne(saFic,1,"."),sPassSysteme) ALORS +TraceERREUR(HErreurInfo(hErrComplet)) +FIN +SINON +SI PAS HPasse(ExtraitChaîne(saFic,1,"."),gsaPass) ALORS +TraceERREUR(HErreurInfo(hErrComplet)) +FIN +FIN +SI PAS HDéclareExterne(saFic,ExtraitChaîne(saFic,1,"."),gcnxReplica) ALORS +TraceERREUR(HErreurInfo(hErrComplet)) +FIN +FIN +FIN +//Déclaration Externe de la table paramètres pour pouvoir la manipuler avec des fonction Hxxx +HPasse(gsdParamApplication,gsaPass) +HPasse(gsdParamApplication,sPassSysteme) +HDéclareExterne("ParametreApplication.fic",gsdParamApplication,uneConexxion) +TraceINFO("Connexions OK") +RENVOYER Vrai +FAIRE +TraceERREUR("ERREUR OuvreConnexionsHF " + ExceptionInfo(errComplet) ) +RENVOYER Faux +FIN +Procédure globale D_OuvreConnexionHFSQLLicence +12/08/2026 Batik_WS_Com_Mob 243 + +Partie 4 › Collection de procédures › LIB_DEBUG › Code +PROCÉDURE D_OuvreConnexionHFSQLLicence(saMP est une chaîne ANSI) +HChangeConnexion("*",LIB_DEBUG.gcnxD_ServeurLicence) +HOuvreConnexion(LIB_DEBUG.gcnxD_ServeurLicence) +//Déclaration Externe de tous les fichiers du répliqua +saLst est une chaîne ANSI = HListeFichier(LIB_DEBUG.gcnxD_ServeurLicence) +POUR TOUTE CHAÎNE saFic DE saLst SÉPARÉE PAR RC +SI ChaîneOccurrence(saFic,"\")=0 ALORS +SI PAS HPasse(ExtraitChaîne(saFic,1,"."),saMP) ALORS +TraceERREUR(HErreurInfo(hErrComplet)) +FIN +SI PAS HDéclareExterne(saFic,ExtraitChaîne(saFic,1,"."),LIB_DEBUG.gcnxD_ServeurLicence) ALORS +TraceERREUR(HErreurInfo(hErrComplet)) +FIN +FIN +FIN +Procédure globale D_RecupIdentiteLicence +PROCÉDURE D_RecupIdentiteLicence() +TableauSupprimeTout(LIB_DEBUG.gtbaListeUsers) +pstUnId est un ST_MOB_IDENTITE dynamique +saReqLicences est une chaîne ANSI = [ +SELECT * FROM Licence +INNER JOIN ClientBase ON ClientBase.CL_PKID = Licence.LI_IDClient +WHERE LI_Active = 1 AND LI_IDCollaborateur > 0 AND LI_IDUser > 0 +] +sdLicences est une Source de Données +saCle est une chaîne ANSI +SI PAS HExécuteRequêteSQL(sdLicences,LIB_DEBUG.gcnxD_ServeurLicence,hRequêteDéfaut,saReqLicences) +ALORS +TraceDEBUG("Erreur D_RecupIdentiteLicence " + HErreurInfo(hErrComplet)) +SINON +POUR TOUT sdLicences +pstUnId = allouer un ST_MOB_IDENTITE +pstUnId.saLicence = sdLicences.LI_Numero +pstUnId.saIdMob = sdLicences.LI_IDMobile +pstUnId.nIdColb = sdLicences.LI_IDCollaborateur +pstUnId.nIdUser = sdLicences.LI_IDUser +pstUnId.saNumPort = LIB_DEBUG.gsaPortWSCOM +pstUnId.saBaseData = LIB_DEBUG.gsaServeurWSCOM +pstUnId.saBaseSync = LIB_DEBUG.gsaServeurWSCOM +pstUnId.saIdClient = sdLicences.LI_IDClient +saCle = SansEspace(sdLicences.LI_UserNom,sscExtérieur)+" "+SansEspace(sdLicences.LI_UserPrenom, +sscExtérieur)+" "+sdLicences.CL_Nom +LIB_DEBUG.gtbaListeUsers[saCle] = pstUnId +FIN +FIN +RENVOYER Vrai +12/08/2026 Batik_WS_Com_Mob 244 + +Partie 5 › Table des matières +Partie 5 +Table des matières +| 12/08/2026 | Batik_WS_Com_Mob | 245 | +| ---------- | ---------------- | --- | + +Partie 5 › Table des matières +Projet Batik_WS_Com_Mob +Partie 1 Projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 +Informations générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 +Liste des éléments du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 +Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 +Erreurs, warnings et informations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 +Statistiques sur le code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 +Partie 2 Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 +Graphe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 +Informations générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 +Dictionnaire des rubriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 +Connexions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 +Fichiers et rubriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 +MOBILES 16 +PARAMETRES 17 +TOMOB 18 +TOSRV 19 +Partie 3 Fenêtre WINDEV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 +FEN_Principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 +Image 21 +Informations générales 21 +Informations sur les champs 23 +Code 61 +Code des champs 62 +Procédures 76 +FEN_Connexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 +Image 80 +Informations générales 80 +Informations sur les champs 82 +Code 105 +Code des champs 105 +Procédures 107 +FEN_Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 +Image 108 +Informations générales 108 +Informations sur les champs 110 +12/08/2026 Batik_WS_Com_Mob 246 + +Partie 5 › Table des matières +Code 112 +Code des champs 112 +Partie 4 Collection de procédures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 +LIB_GestionTableParamètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 +Code 114 +LIB_WS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 +Code 116 +LIB_GENERALE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 +Code 117 +LIB_COMMUNE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 +Code 119 +LIB_ProcéduresGlobales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 +Code 122 +LIB_WS_MOB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 +Code 129 +LIB_Traitements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 +Code 135 +LIB_ProcéduresGlobales2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 +Code 224 +LIB_Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 +Code 225 +LIB_EXE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 +Code 237 +LIB_DEBUG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 +Code 240 +12/08/2026 Batik_WS_Com_Mob 247 \ No newline at end of file diff --git a/docs/Documentation_WebService_License.md b/docs/Documentation_WebService_License.md new file mode 100644 index 0000000..d36fb67 --- /dev/null +++ b/docs/Documentation_WebService_License.md @@ -0,0 +1,1471 @@ +DOCUMENTATION +TECHNIQUE +DU PROJET +Batik_WS_Lic_Mob +12/08/2026 + +Partie 1 › Projet +Partie 1 +Projet +| 12/08/2026 | Batik_WS_Lic_Mob | 2 | +| ---------- | ---------------- | --- | + +Partie 1 › Projet +Projet +Informations générales +Batik_WS_Lic_Mob Web Serice de Licences +Répertoire D:\Projets Windev\Batik\WebServices\Batik_WS_Lic_Mob +Analyse associée D:\Projets Windev\Batik\WebServices\Batik_WS_Lic_Mob\Licence.ana\Licence.wda +Projet +Liste des éléments du projet +Nom Libellé +LIB_COMMUNE +LIB_SOAP_CLIENT +LIB_SOAP_MOB +LIB_Structures +Statistiques +Nombre de collections de procédures : 4 +Projet +Code +Initialisation de Batik_WS_Lic_Mob +gcnxBaseLicence est une Connexion +gcnxBaseLicence..Provider =hAccèsHFClientServeur +gcnxBaseLicence..Utilisateur ="Admin" +gcnxBaseLicence..MotDePasse ="ea0c6460faac5d87db47b4ca0147a34a" +<COMPILE SI Configuration="Webservice_SLAMM"> +gcnxBaseLicence..Serveur = "127.0.0.1:4942"//4943 +gcnxBaseLicence..BaseDeDonnées= "LICENCE_CLIENT"//BASE_LICENCES +<SINON SI Configuration="Webservice_BOUVARD"> +gcnxBaseLicence..Serveur = "127.0.0.1:4910" +12/08/2026 Batik_WS_Lic_Mob 3 + +Partie 1 › Projet › Code +gcnxBaseLicence..BaseDeDonnées= "LICENCE_CLIENT" +<SINON SI Configuration="Webservice_ArtPart"> +gcnxBaseLicence..Serveur = "127.0.0.1:4926" +gcnxBaseLicence..BaseDeDonnées= "LICENCE_CLIENT" +<SINON> +gcnxBaseLicence..Serveur = "127.0.0.1:4943" +gcnxBaseLicence..BaseDeDonnées= "BASE_LICENCES" +<FIN> +CONSTANT +| cREP_OK | ="E0000" | | | +| ------------------------- | ----------------------------------------- | --- | --- | +| cERR_DATA_VIDE | ="E1001" | | | +| cERR_FORMAT_JSON ="E1002" | | | | +| cERR_CLI_INCONNU ="E2001" | | | | +| cERR_CLI_LIC ="E2002" | | | | +| cERR_CLI_CONFIG | ="E2003" //Configuration incomplète | | | +| cERR_CLI_BADAPI | ="E2004" //La clé API n'est pas correcte | | | +| cERR_LIC_INCONNUE | ="E3001" | | | +cERR_LIC_INACTIVE="E3002" +| cERR_LIC_EXPIREE ="E3003" | | | | +| ------------------------- | -------- | --- | --- | +| cERR_LIC_ATTRIBUEE | ="E3004" | | | +| cERR_LIC_AUCUNE | ="E3005" | | | +cERR_CMD_INCONNUE="E4001" +| cERR_HF_BLOCAGE | ="E5001" | | | +| --------------- | -------- | --- | --- | +| cERR_EXCEPTION | ="E9000" | | | +//Commandes utilisées par les mobiles +| cMOB_LIC_INSCRIPTION | ="W.LM.INS" | | | +| -------------------- | ----------- | --- | --- | +//Commandes utilisée par le back-office client +cCLI_LIC_ATTRIBUTION ="CLI.LM.ATT" //Déclaration de l'attribution d'une licence mobile +| cCLI_LIC_ACTIVATION | ="CLI.LM.ACT" | //Activation | | +| -------------------- | -------------- | ------------ | --- | +cCLI_LIC_DESACTIVATION ="CLI.LM.OFF" //Désactivation d'une licence sans la libérer +| cCLI_LIC_LIBERE | ="CLI.LM.RAZ" | | | +| --------------- | -------------- | --- | --- | +//Libération d'une licence.(Pour la réaffecter plus tard) +| cCLI_LIC_LISTE | ="CLI.LM.LISTE" | | | +| -------------- | ---------------- | --- | --- | +//Récupération de la liste des licences attribuées (Pour un contrôle de cohérence) +| gcVersionNom | ="Omika_WS_LICENCES_MOBILE" | | | +| ------------ | --------------------------- | --- | --- | +FIN +Initialisation lors d'une connexion à une session prélancée de Batik_WS_Lic_Mob +//InitialiseFichierTrace("Trace_" + DateSys() +".txt") +HChangeConnexion("*",gcnxBaseLicence) +<COMPILE SI Configuration="Webservice_SLAMM"> +HPasse("*","FE3FAC084AEDB73B8006BB60D5E2A9C3") +//E8D1613B82CD4A23055BA5501A807DC0 FE3FAC084AEDB73B8006BB60D5E2A9C3 +<SINON SI Configuration="Webservice_BOUVARD"> +HPasse("*","FE3FAC084AEDB73B8006BB60D5E2A9C3") +//E8D1613B82CD4A23055BA5501A807DC0 FE3FAC084AEDB73B8006BB60D5E2A9C3 +<SINON SI Configuration="Webservice_ArtPart"> +HPasse("*","E8D1613B82CD4A23055BA5501A807DC0") +//E8D1613B82CD4A23055BA5501A807DC0 FE3FAC084AEDB73B8006BB60D5E2A9C3 +<SINON> +HPasse("*","4E4D1E5FB1CD92D29631B1568F230E6B") +//E8D1613B82CD4A23055BA5501A807DC0 FE3FAC084AEDB73B8006BB60D5E2A9C3 +<FIN> +HOuvreConnexion(gcnxBaseLicence) +| 12/08/2026 | | Batik_WS_Lic_Mob | 4 | +| ---------- | --- | ---------------- | --- | + +Partie 1 › Projet › Erreurs, warnings et informations +Projet +Erreurs, warnings et informations +ennoloC +engiL +Détail de l'erreur Localisation +L'élément 'SRVHF_Adresse' est un élément zombie, il ne devrait plus être utilisé. LIB_SOAP_MOB.Inscription +Procédure locale 108 39 +Projet +Statistiques sur le code +¹ .tiart/.giL +¹ .mmoc % +¹ sengiL +| LIB_COMMUNE | | 83 | 8 7 | +| ---------------- | --- | --- | ----- | +| LIB_SOAP_CLIENT | | 264 | 5 37 | +| LIB_SOAP_MOB | | 180 | 6 60 | +| LIB_Structures | | 78 | 6 78 | +| Batik_WS_Lic_Mob | | 78 | 21 39 | +| | | 638 | 8 26 | +¹ Lignes : Nombre total de lignes de code. % comm. : Pourcentage de commentaires dans le code. +Lig./trait. : Nombre de lignes de code par traitement. +| 12/08/2026 | Batik_WS_Lic_Mob | | 5 | +| ---------- | ---------------- | --- | --- | + +Partie 2 › Analyse +Partie 2 +Analyse +| 12/08/2026 | Batik_WS_Lic_Mob | 6 | +| ---------- | ---------------- | --- | + +Partie 2 › Analyse +Analyse +Graphe +| 12/08/2026 | Batik_WS_Lic_Mob | 7 | +| ---------- | ---------------- | --- | + +Partie 2 › Analyse › D:\Projets Windev\Batik\WebServices\Batik_WS_Lic_Mob\Licence.ana\Licence.wda › Graphe +Analyse +Informations générales +Licence.wda +Répertoire D:\Projets Windev\Batik\WebServices\Batik_WS_Lic_Mob\Licence.ana\ +| Répertoire des fichiers de données | | Répertoire de l'application | | | | | +| ---------------------------------- | --- | --------------------------- | --- | --- | --- | --- | +N°génération Nb. fichiers Nb. rubriques Nb. liaisons Nb. connexions Nb. groupes +| 46 | 10 | 137 | 8 | 0 | 0 | | +| ---------- | --- | ---------------- | --- | --- | --- | --- | +| 12/08/2026 | | Batik_WS_Lic_Mob | | | | 8 | + +Partie 2 › Analyse › D:\Projets Windev\Batik\WebServices\Batik_WS_Lic_Mob\Licence.ana\Licence.wda › Dictionnaire des rubriques +Analyse +Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | | Type | | Utilisée par... | | +| --- | -------- | --- | ---- | --- | --------------- | --- | +elliaT +| aa | | | | | <Inutilisée> | | +| --------------------- | --- | --------------------------- | --- | --- | ------------ | --- | +| ARVHF_Pass | | | | | <Inutilisée> | | +| CL_Actif | | Booléen | | | ClientBase | | +| CL_CleApiInstal | | | | | <Inutilisée> | | +| CL_CleAPIInstall | | UUID (128 bits) | | | ClientBase | | +| CL_CleLicenceDesk | | | | | <Inutilisée> | | +| CL_CleLicenceDesktop | | | | | <Inutilisée> | | +| CL_CleLicenceMob | | | | | <Inutilisée> | | +| CL_CleLicenceServeur | | | | | <Inutilisée> | | +| CL_ClePrivee | | Mémo texte | | | ClientBase | | +| CL_ClePublique | | Mémo texte | | | ClientBase | | +| CL_Code | | Chaîne | | 100 | ClientBase | | +| CL_IDClientAdm | | Entier sur 8 octets | | | ClientBase | | +| CL_IDLicenceDesktop | | Entier sur 8 octets | | | ClientBase | | +| CL_IDLicenceServeur | | Entier sur 8 octets | | | ClientBase | | +| CL_IDServeur | | | | | <Inutilisée> | | +| CL_IDServeurHF | | Entier sur 8 octets | | | ClientBase | | +| CL_IDWebServiceMobile | | Entier sur 8 octets | | | ClientBase | | +| CL_LicenceDesk | | | | | <Inutilisée> | | +| CL_LicenceMob | | | | | <Inutilisée> | | +| CL_NbLicenceDesk | | Chaîne | | 5 | ClientBase | | +| CL_NbLicenceMob | | Chaîne | | 5 | ClientBase | | +| CL_Nom | | Chaîne | | 100 | ClientBase | | +| CL_NomBase | | Chaîne | | 50 | ClientBase | | +| CL_PKID | | Identifiant automatique (8 | | | ClientBase | | +| CL_PortServeur | | | | | <Inutilisée> | | +| CL_ServeurClient | | | | | <Inutilisée> | | +| CL_WebServiceMobile | | | | | <Inutilisée> | | +| CLA | | | | | <Inutilisée> | | +| CLA_Actif | | Booléen | | | ClientADM | | +| CLA_Adresse | | Chaîne | | 200 | ClientADM | | +| CLA_Code | | Chaîne | | 50 | ClientADM | | +| CLA_CP | | Chaîne | | 10 | ClientADM | | +| CLA_Mails | | Chaîne | | 200 | ClientADM | | +| CLA_Nom | | Chaîne | | 50 | ClientADM | | +| CLA_Note | | Chaîne binaire | | 50 | ClientADM | | +| CLA_PKID | | Identifiant automatique (8 | | | ClientADM | | +| CLA_Ville | | Chaîne | | 50 | ClientADM | | +| CLAD_PKID | | | | | <Inutilisée> | | +Date et Heure +| DateCrea | | | | | ClientBase | | +| ---------- | --- | -------------- | ---------------- | --- | ------------ | --- | +| | | Date et Heure | | | Serveur | | +| | | Date et Heure | | | ServeurHFSQL | | +| 12/08/2026 | | | Batik_WS_Lic_Mob | | | 9 | + +Partie 2 › Analyse › D:\Projets Windev\Batik\WebServices\Batik_WS_Lic_Mob\Licence.ana\Licence.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | | Type | | Utilisée par... | | +| --- | -------- | --- | ---- | --- | --------------- | --- | +elliaT +Date et Heure +Licence +Date et Heure +LoginHFSQL +| | | Date et Heure | | | ClientADM | | +| --------- | --- | -------------- | --- | --- | ----------- | --- | +| | | Date et Heure | | | Utilisateur | | +| DateModif | | Date et Heure | | | ClientBase | | +Date et Heure +Serveur +| | | Date et Heure | | | ServeurHFSQL | | +| --- | --- | -------------- | --- | --- | ------------ | --- | +| | | Date et Heure | | | Licence | | +| | | Date et Heure | | | LoginHFSQL | | +Date et Heure +ClientADM +| | | Date et Heure | | | Utilisateur | | +| ------------------- | --- | --------------------------- | ---------------- | --- | ------------ | --- | +| IDClient | | | | | <Inutilisée> | | +| IDClientADM | | | | | <Inutilisée> | | +| IDLicence | | | | | <Inutilisée> | | +| IDLicenceHisto | | | | | <Inutilisée> | | +| IDLoginHFSQL | | | | | <Inutilisée> | | +| IDParametre | | | | | <Inutilisée> | | +| IDServeur | | | | | <Inutilisée> | | +| IDServeurWebService | | | | | <Inutilisée> | | +| IDUtilisateur | | | | | <Inutilisée> | | +| LH_Auteur | | Chaîne | | 50 | LicenceHisto | | +| LH_CodeClient | | Chaîne | | 50 | LicenceHisto | | +| LH_Date | | Date et Heure | | | LicenceHisto | | +| LH_GUIDLicence | | Chaîne | | 50 | LicenceHisto | | +| LH_IDLicence | | Chaîne | | 50 | LicenceHisto | | +| LH_IdMobile | | Chaîne | | 50 | LicenceHisto | | +| LH_IDUser | | Chaîne | | 50 | LicenceHisto | | +| LH_Note | | Mémo texte | | | LicenceHisto | | +| LH_Operation | | Chaîne | | 50 | LicenceHisto | | +| LH_PKID | | Identifiant automatique (8 | | | LicenceHisto | | +| LHFSQL_IDClient | | Entier sur 8 octets | | | LoginHFSQL | | +| LHFSQL_IDServeurHF | | | | | <Inutilisée> | | +| LHFSQL_Login | | Chaîne | | 50 | LoginHFSQL | | +| LHFSQL_MDP | | Chaîne | | 50 | LoginHFSQL | | +| LHFSQL_PKID | | Identifiant automatique (8 | | | LoginHFSQL | | +| LI_Active | | Booléen | | | Licence | | +| LI_Attrib | | | | | <Inutilisée> | | +| LI_Attribue | | | | | <Inutilisée> | | +| LI_CleAPI | | Mémo texte | | | Licence | | +| LI_DateAttribution | | Date (aaaammjj) | | | Licence | | +| LI_DateExpiration | | Date (aaaammjj) | | | Licence | | +| LI_IDClient | | Entier sur 8 octets | | | Licence | | +| LI_IDCollaborateur | | Entier sur 8 octets | | | Licence | | +| LI_IDMobile | | Chaîne | | 50 | Licence | | +| LI_IDUser | | Entier sur 8 octets | | | Licence | | +| LI_InfoSupMob | | Mémo texte | | | Licence | | +| LI_Libre | | | | | <Inutilisée> | | +| LI_Numero | | Chaîne | | 50 | Licence | | +| 12/08/2026 | | | Batik_WS_Lic_Mob | | | 10 | + +Partie 2 › Analyse › D:\Projets Windev\Batik\WebServices\Batik_WS_Lic_Mob\Licence.ana\Licence.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | | Type | | Utilisée par... | | +| --- | -------- | --- | ---- | --- | --------------- | --- | +elliaT +Identifiant automatique (8 +| LI_PKID | | | | | Licence | | +| ------------------- | --- | --------------------------- | ---------------- | --- | ------------ | --- | +| LI_Type | | Entier sur 8 octets | | | Licence | | +| LI_UserNom | | Chaîne | | 50 | Licence | | +| LI_UserPrenom | | Chaîne | | 50 | Licence | | +| LI_VersionMajeur | | Chaîne | | 20 | Licence | | +| PA_Code | | Chaîne | | 3 | Parametre | | +| PA_Libelle | | Chaîne | | 50 | Parametre | | +| PA_Ordre | | Entier sur 4 octets | | | Parametre | | +| PA_PKID | | Identifiant automatique (8 | | | Parametre | | +| PA_Systeme | | Booléen | | | Parametre | | +| PA_Valeur | | Chaîne | | 4 | Parametre | | +| SR | | | | | <Inutilisée> | | +| SR_PKID | | | | | <Inutilisée> | | +| SRHF_Admin | | | | | <Inutilisée> | | +| SRV_Actif | | Booléen | | | Serveur | | +| SRV_Adresse | | Chaîne | | 50 | Serveur | | +| SRV_Certificat | | Chaîne | | 50 | Serveur | | +| SRV_IDSRVPS | | | | | <Inutilisée> | | +| SRV_Login | | Chaîne | | 50 | Serveur | | +| SRV_Nom | | Chaîne | | 50 | Serveur | | +| SRV_OSVersion | | Entier sur 8 octets | | | Serveur | | +| SRV_Pass | | Chaîne | | 50 | Serveur | | +| SRV_PKID | | Identifiant automatique (8 | | | Serveur | | +| SRV_PKID1 | | | | | <Inutilisée> | | +| SRV_Port | | | | | <Inutilisée> | | +| SRV_Type | | Entier sur 8 octets | | | Serveur | | +| SRVHF_Actif | | Booléen | | | ServeurHFSQL | | +| SRVHF_Admin | | Chaîne | | 100 | ServeurHFSQL | | +| SRVHF_Adresse | | Chaîne | | 50 | ServeurHFSQL | | +| SRVHF_ADRReplic | | Chaîne | | 50 | ServeurHFSQL | | +| SRVHF_CleAPIInstall | | | | | <Inutilisée> | | +| SRVHF_IDClient | | | | | <Inutilisée> | | +| SRVHF_IDSRVPS | | Entier sur 8 octets | | | ServeurHFSQL | | +| SRVHF_Login | | | | | <Inutilisée> | | +| SRVHF_MDPReplic | | Chaîne | | 50 | ServeurHFSQL | | +| SRVHF_Nom | | Chaîne | | 50 | ServeurHFSQL | | +| SRVHF_Pass | | Chaîne | | 100 | ServeurHFSQL | | +| SRVHF_PKID | | Identifiant automatique (8 | | | ServeurHFSQL | | +| SRVHF_Port | | Entier sur 4 octets | | | ServeurHFSQL | | +| SRVHF_Portreplic | | Chaîne | | 50 | ServeurHFSQL | | +| SRVHF_Type | | Entier sur 8 octets | | | ServeurHFSQL | | +| SRVHF_Version | | Chaîne | | 50 | ServeurHFSQL | | +| UserCrea | | Entier sur 8 octets | | | ClientBase | | +| | | Entier sur 8 octets | | | Serveur | | +| | | Entier sur 8 octets | | | ServeurHFSQL | | +| | | Entier sur 8 octets | | | Licence | | +| | | Entier sur 8 octets | | | LoginHFSQL | | +| | | Entier sur 8 octets | | | ClientADM | | +| 12/08/2026 | | | Batik_WS_Lic_Mob | | | 11 | + +Partie 2 › Analyse › D:\Projets Windev\Batik\WebServices\Batik_WS_Lic_Mob\Licence.ana\Licence.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | | Type | | Utilisée par... | | +| --- | -------- | --- | ---- | --- | --------------- | --- | +elliaT +| | | Entier sur 8 octets | | | Utilisateur | | +| ------------- | --- | -------------------- | --- | --- | ------------ | --- | +| UserModif | | Entier sur 8 octets | | | ClientBase | | +| | | Entier sur 8 octets | | | Serveur | | +| | | Entier sur 8 octets | | | ServeurHFSQL | | +| | | Entier sur 8 octets | | | Licence | | +| | | Entier sur 8 octets | | | LoginHFSQL | | +| | | Entier sur 8 octets | | | ClientADM | | +| | | Entier sur 8 octets | | | Utilisateur | | +| UT_Actif | | Booléen | | | Utilisateur | | +| UT_Login | | Chaîne | | 250 | Utilisateur | | +| UT_MDP | | Chaîne | | 50 | Utilisateur | | +| UT_MDPaSaisir | | Booléen | | | Utilisateur | | +| UT_Nom | | Chaîne | | 250 | Utilisateur | | +| UT_Photo | | Image (mémo binaire) | | | Utilisateur | | +Identifiant automatique (8 +| UT_PKID | | | | | Utilisateur | | +| -------------- | --- | --------------------------- | --- | --- | ----------------- | --- | +| UT_Prenom | | Chaîne | | 250 | Utilisateur | | +| UT_Superviseur | | Booléen | | | Utilisateur | | +| UT_Telephone | | Chaîne | | 50 | Utilisateur | | +| WS_AdresseAWP | | Mémo texte | | | ServeurWebService | | +| WS_IDServeur | | Entier sur 8 octets | | | ServeurWebService | | +| WS_Libelle | | Chaîne | | 50 | ServeurWebService | | +| WS_PKID | | Identifiant automatique (8 | | | ServeurWebService | | +| WS_ServeurID | | | | | <Inutilisée> | | +Analyse +Liaisons +Contrainte_Client_Licence +Source Relié +| Fichier | ClientBase | | | Licence | | | +| ------------ | -------------------------------- | --- | --- | -------------- | --- | --- | +| Rubrique | CL_PKID (<Mémo binaire inconnu>) | | | LI_IDClient () | | | +| Cardinalités | 0,n | | | 1,1 | | | +Modification Modification uniquement si pas d'enregistrement relié +Suppression Suppression uniquement si pas d'enregistrement relié +Contrainte_ClientADM_ClientBase +| 12/08/2026 | | | Batik_WS_Lic_Mob | | | 12 | +| ---------- | --- | --- | ---------------- | --- | --- | --- | + +Partie 2 › Analyse › D:\Projets Windev\Batik\WebServices\Batik_WS_Lic_Mob\Licence.ana\Licence.wda › Liaisons +Source Relié +| Fichier | ClientADM | | ClientBase | | +| ------------ | ----------------------------------------------------- | --- | ----------------- | --- | +| Rubrique | CLA_PKID (<Mémo binaire inconnu>) | | CL_IDClientAdm () | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +Contrainte_ClientBase_LoginHFSQL +Source Relié +| Fichier | ClientBase | | LoginHFSQL | | +| ------------ | ----------------------------------------------------- | --- | ------------------ | --- | +| Rubrique | CL_PKID (<Mémo binaire inconnu>) | | LHFSQL_IDClient () | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +Contrainte_Licence_LicenceHisto +Source Relié +| Fichier | Licence | | LicenceHisto | | +| ------- | ------- | --- | ------------ | --- | +Rubrique LI_Numero (<Mémo binaire inconnu>) LH_GUIDLicence () +| Cardinalités | 0,n | | 1,1 | | +| ------------ | ----------------------------------------------------- | --- | --- | --- | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +Contrainte_Serveur_ServeurHFSQL +Source Relié +| Fichier | Serveur | | ServeurHFSQL | | +| ------------ | ----------------------------------------------------- | --- | ---------------- | --- | +| Rubrique | SRV_PKID (<Mémo binaire inconnu>) | | SRVHF_IDSRVPS () | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +Contrainte_Serveur_ServeurWebSer +vice +| 12/08/2026 | | Batik_WS_Lic_Mob | | 13 | +| ---------- | --- | ---------------- | --- | --- | + +Partie 2 › Analyse › D:\Projets Windev\Batik\WebServices\Batik_WS_Lic_Mob\Licence.ana\Licence.wda › Liaisons +| | | Source | | | Relié | | +| ------------ | ----------------------------------------------------- | ------ | --- | ----------------- | ----- | --- | +| Fichier | Serveur | | | ServeurWebService | | | +| Rubrique | SRV_PKID (<Mémo binaire inconnu>) | | | WS_IDServeur () | | | +| Cardinalités | 0,n | | | 1,1 | | | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | | | +Contrainte_ServeurHFSQL_ClientBas +e +| | | Source | | | Relié | | +| ------- | ------------ | ------ | --- | ---------- | ----- | --- | +| Fichier | ServeurHFSQL | | | ClientBase | | | +Rubrique SRVHF_PKID (<Mémo binaire inconnu>) CL_IDServeurHF () +| Cardinalités | 0,n | | | 0,1 | | | +| ------------ | ----------------------------------------------------- | --- | --- | --- | --- | --- | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | | | +Contrainte_ServeurWebService_Clie +ntBase +| | | Source | | | Relié | | +| ------- | ----------------- | ------ | --- | ---------- | ----- | --- | +| Fichier | ServeurWebService | | | ClientBase | | | +Rubrique WS_PKID (<Mémo binaire inconnu>) CL_IDWebServiceMobile () +| Cardinalités | 0,n | | | 1,1 | | | +| ------------ | ----------------------------------------------------- | --- | --- | --- | --- | --- | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | | | +Analyse +Fichiers et rubriques +somém .sserpmoC +seénnod .tpyrC +¹ * rcE/tceL .lnJ +| | | noitarénég°N | | | omém .tpyrC | | +| --- | ----------- | ------------- | ----------------------- | ------------ | ------------ | --- | +| | noitaivérbA | .gerne elliaT | | | xedni .tpyrC | | +| | | | ¹ * secapsE noitacilpéR | ¹ * étirucéS | | | +¹ * rcE .lnJ +| | | .otua .dI | oG2 ed + | | | | +| --- | --- | --------- | -------- | --- | --- | --- | +epyT +| ClientADM | | 7 669 | | | | HFSQL | +| --------- | --- | ------ | --- | --- | --- | ------ | +Classic +| 12/08/2026 | | | Batik_WS_Lic_Mob | | | 14 | +| ---------- | --- | --- | ---------------- | --- | --- | --- | + +Partie 2 › Analyse › D:\Projets Windev\Batik\WebServices\Batik_WS_Lic_Mob\Licence.ana\Licence.wda › Fichiers et rubriques › Analyse +somém .sserpmoC +¹ * rcE/tceL .lnJ seénnod .tpyrC +noitarénég°N +omém .tpyrC +| | noitaivérbA | .gerne elliaT | noitacilpéR | xedni .tpyrC | | +| --- | ----------- | ------------- | ----------- | ------------ | --- | +| | | | ¹ * secapsE | ¹ * étirucéS | | +¹ * rcE .lnJ +| | | .otua .dI | oG2 ed + | | | +| --- | --- | --------- | -------- | --- | --- | +epyT +| ClientBase | | 20 389 | | | HFSQL | +| ---------- | --- | ------- | --- | --- | ------ | +Classic +| Licence | | 13 343 | | | HFSQL | +| ------- | --- | ------- | --- | --- | ------ | +Classic +| LicenceHisto | | 3 289 | | | HFSQL | +| ------------ | --- | ------ | --- | --- | ------ | +Classic +| LoginHFSQL | | 6 160 | | | HFSQL | +| ---------- | --- | ------ | --- | --- | ------ | +Classic +| Parametre | | 6 82 | | | HFSQL | +| --------- | --- | ----- | --- | --- | ------ | +Classic +| Serveur | | 8 322 | | | HFSQL | +| ------- | --- | ------ | --- | --- | ------ | +Classic +| ServeurHFSQL | | 15 580 | | | HFSQL | +| ------------ | --- | ------- | --- | --- | ------ | +Classic +| ServeurWebService | | 3 84 | | | HFSQL | +| ----------------- | --- | ----- | --- | --- | ------ | +Classic +| Utilisateur | | 2 916 | | | HFSQL | +| ----------- | --- | ------ | --- | --- | ------ | +Classic +¹ Espaces * : Complétion des chaînes par des espaces Jnl. Ecr * : Journalisation des écritures +Jnl. Lect/Ecr * : Journalisation des lectures et écritures Sécurité * : Mode sécurité renforcée +ClientADM +Fichiers et rubriques +Informations générales +| ClientADM | | ClientADM | | | | +| -------------- | --- | ------------- | --- | --- | --- | +| Nom sur disque | | ClientADM.fic | | | | +Rubriques du fichier ClientADM +nolbuoD élC +| | | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +CLA_PKID Identifiant de Client aDMIN Identifiant automatique +(8 octets) +| CLA_Nom | Nom du client | | Chaîne | 50 | | +| ---------- | -------------------- | --- | ---------------- | --- | --- | +| CLA_Code | Code Admin du client | | Chaîne | 50 | | +| 12/08/2026 | | | Batik_WS_Lic_Mob | | 15 | + +Partie 2 › ... › Fichiers et rubriques › ClientADM › Fichiers et rubriques +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| CLA_Mails | Liste emails client | Chaîne | 200 | | +| --------- | -------------------- | -------------- | --- | --- | +| CLA_Actif | Client Actif Oui/Non | Booléen | | 1 | +| CLA_Note | Note client | Chaîne binaire | 50 | | +| DateCrea | DateCrea | Date et Heure | | | +(aaaammjjhhmmssccc) +| DateModif | DateModif | Date et Heure | | | +| --------- | --------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| UserCrea | UserCrea | Entier sur 8 octets | | 0 | +| ----------- | --------- | ------------------- | --- | --- | +| UserModif | UserModif | Entier sur 8 octets | | 0 | +| CLA_Adresse | Adresse | Chaîne | 200 | | +| CLA_CP | CP | Chaîne | 10 | | +| CLA_Ville | Ville | Chaîne | 50 | | +| 12/08/2026 | | Batik_WS_Lic_Mob | | 16 | + +Partie 2 › ... › Fichiers et rubriques › ClientBase › Fichiers et rubriques +ClientBase +Fichiers et rubriques +Informations générales +ClientBase Client Base +Nom sur disque ClientBase.fic +Rubriques du fichier ClientBase +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| ------- | --------------------- | ------------------------ | ------ | ---- | +| CL_PKID | Identifiant de Client | Identifiant automatique | | | +(8 octets) +| CL_IDServeurHF | ServeurHFSQL du client | Entier sur 8 octets | | 0 | +| -------------- | ---------------------- | ------------------- | --- | --- | +CL_IDLicenceServeur Identifiant de licence Serveur Entier sur 8 octets 0 +CL_IDLicenceDesktop Identifiant de Licence Desktop Entier sur 8 octets 0 +| CL_Nom | Nom du client | Chaîne | 100 | | +| ---------------- | --------------------------- | --------------- | --- | --- | +| CL_Code | Code Client | Chaîne | 100 | | +| CL_NomBase | Nom de la base Client | Chaîne | 50 | | +| CL_Actif | Client Actif | Booléen | | 1 | +| CL_NbLicenceDesk | Nb licences Desktop | Chaîne | 5 | | +| CL_NbLicenceMob | Nb licences Mobile | Chaîne | 5 | | +| CL_CleAPIInstall | Clé API pour l'installation | UUID (128 bits) | | | +| CL_ClePrivee | Clé Privée | Mémo texte | | | +| CL_ClePublique | Clé Publique | Mémo texte | | | +| DateCrea | DateCrea | Date et Heure | | | +(aaaammjjhhmmssccc) +| DateModif | DateModif | Date et Heure | | | +| --------- | --------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| UserCrea | UserCrea | Entier sur 8 octets | | 0 | +| -------------- | -------------- | ------------------- | --- | --- | +| UserModif | UserModif | Entier sur 8 octets | | 0 | +| CL_IDClientAdm | CL_IDClientAdm | Entier sur 8 octets | | | +CL_IDWebServiceMobil +| | CL_WebServiceMobile | Entier sur 8 octets | | 0 | +| ---------- | ------------------- | ------------------- | --- | --- | +| 12/08/2026 | | Batik_WS_Lic_Mob | | 17 | + +Partie 2 › ... › Fichiers et rubriques › Licence › Fichiers et rubriques +Licence +Fichiers et rubriques +Informations générales +Licence Licence +Nom sur disque Licence.fic +Rubriques du fichier Licence +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| ------- | ---------------------- | ------------------------ | ------ | ---- | +| LI_PKID | Identifiant de Licence | Identifiant automatique | | | +(8 octets) +| LI_IDClient | Identifiant client | Entier sur 8 octets | | 0 | +| ----------- | ------------------ | ------------------- | --- | --- | +LI_IDCollaborateur Identifiant collaborateur Entier sur 8 octets 0 +| LI_IDUser | Identifiant Utilisateur | Entier sur 8 octets | | 0 | +| ----------- | ---------------------------------- | ------------------- | --- | --- | +| LI_Numero | LI_Numero | Chaîne | 50 | | +| LI_IDMobile | ID du Mobile | Chaîne | 50 | | +| LI_Type | Type de licence | Entier sur 8 octets | | 0 | +| LI_UserNom | Nom de l'utilisateur de la licence | Chaîne | 50 | | +LI_UserPrenom Prénom de l'utilisateur de la licence Chaîne 50 +| LI_DateAttribution | Date Attribution Licence | Date (aaaammjj) | | | +| ------------------ | ----------------------------------- | --------------- | --- | --- | +| LI_DateExpiration | Date Expiration Licence | Date (aaaammjj) | | | +| LI_VersionMajeur | Version du logiciel | Chaîne | 20 | | +| LI_InfoSupMob | Informations complémentaire sur le | Mémo texte | | | +| LI_CleAPI | Clé API pour notification | Mémo texte | | | +| LI_Active | Active Oui/Non | Booléen | | 1 | +| DateCrea | DateCrea | Date et Heure | | | +(aaaammjjhhmmssccc) +| DateModif | DateModif | Date et Heure | | | +| --------- | --------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| UserCrea | UserCrea | Entier sur 8 octets | | 0 | +| ---------- | --------- | ------------------- | --- | --- | +| UserModif | UserModif | Entier sur 8 octets | | 0 | +| 12/08/2026 | | Batik_WS_Lic_Mob | | 18 | + +Partie 2 › ... › Fichiers et rubriques › LicenceHisto › Fichiers et rubriques +LicenceHisto +Fichiers et rubriques +Informations générales +LicenceHisto LicenceHisto +Nom sur disque LicenceHisto.fic +Rubriques du fichier LicenceHisto +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| ------- | --------------------------- | ------------------------ | ------ | ---- | +| LH_PKID | Identifiant de LicenceHisto | Identifiant automatique | | | +(8 octets) +| LH_GUIDLicence | GUID Licence | Chaîne | 50 | 0 | +| -------------- | ------------ | -------------- | --- | --- | +| LH_Date | Date | Date et Heure | | | +(aaaammjjhhmmssccc) +| LH_Operation | Operation | Chaîne | 50 | | +| ------------- | ----------- | ---------------- | --- | --- | +| LH_Auteur | Auteur | Chaîne | 50 | 0 | +| LH_Note | Note | Mémo texte | | | +| LH_CodeClient | Code Client | Chaîne | 50 | | +| LH_IdMobile | Id Mobile | Chaîne | 50 | | +| 12/08/2026 | | Batik_WS_Lic_Mob | | 19 | + +Partie 2 › ... › Fichiers et rubriques › LoginHFSQL › Fichiers et rubriques +LoginHFSQL +Fichiers et rubriques +Informations générales +LoginHFSQL Login HFSQL +Nom sur disque LoginHFSQL.fic +Rubriques du fichier LoginHFSQL +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| --- | --- | --- | ------ | ---- | +LHFSQL_PKID Identifiant de LoginHFSQL Identifiant automatique +(8 octets) +| LHFSQL_Login | Login HFSQL | Chaîne | 50 | | +| ------------ | ------------------ | -------------- | --- | --- | +| LHFSQL_MDP | Mot de passe HFSQL | Chaîne | 50 | | +| DateCrea | DateCrea | Date et Heure | | | +(aaaammjjhhmmssccc) +| DateModif | DateModif | Date et Heure | | | +| --------- | --------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| UserCrea | UserCrea | Entier sur 8 octets | | 0 | +| --------------- | --------------- | ------------------- | --- | --- | +| UserModif | UserModif | Entier sur 8 octets | | 0 | +| LHFSQL_IDClient | LHFSQL_IDClient | Entier sur 8 octets | | | +| 12/08/2026 | | Batik_WS_Lic_Mob | | 20 | + +Partie 2 › ... › Fichiers et rubriques › Parametre › Fichiers et rubriques +Parametre +Fichiers et rubriques +Informations générales +Parametre Parametre +Nom sur disque Parametre.fic +Rubriques du fichier Parametre +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| ------- | ------------------------ | ------------------------ | ------ | ---- | +| PA_PKID | Identifiant de Parametre | Identifiant automatique | | | +(8 octets) +| PA_Code | PA_Code | Chaîne | 3 | | +| ---------- | --------------- | ------------------- | --- | --- | +| PA_Libelle | PA_Libelle | Chaîne | 50 | | +| PA_Valeur | PA_Valeur | Chaîne | 4 | | +| PA_Ordre | PA_Ordre | Entier sur 4 octets | | 0 | +| PA_Systeme | Système Oui/non | Booléen | | 0 | +| 12/08/2026 | | Batik_WS_Lic_Mob | | 21 | + +Partie 2 › ... › Fichiers et rubriques › Serveur › Fichiers et rubriques +Serveur +Fichiers et rubriques +Informations générales +Serveur Serveur +Nom sur disque Serveur.fic +Rubriques du fichier Serveur +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| -------- | ---------------------- | ------------------------ | ------ | ---- | +| SRV_PKID | Identifiant de Serveur | Identifiant automatique | | | +(8 octets) +| SRV_Nom | Nom du serveur | Chaîne | 50 | | +| -------------- | --------------------- | ------------------- | --- | --- | +| SRV_Adresse | Adresse du serveur | Chaîne | 50 | | +| SRV_Type | Type de serveur | Entier sur 8 octets | | 0 | +| SRV_OSVersion | OS version du serveur | Entier sur 8 octets | | 0 | +| SRV_Login | Login du serveur | Chaîne | 50 | | +| SRV_Pass | MDP du serveur | Chaîne | 50 | | +| SRV_Certificat | Certificat du serveur | Chaîne | 50 | | +| SRV_Actif | Actif Oui/Non | Booléen | | 1 | +| DateModif | DateModif | Date et Heure | | | +(aaaammjjhhmmssccc) +| DateCrea | DateCrea | Date et Heure | | | +| -------- | -------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| UserModif | UserModif | Entier sur 8 octets | | 0 | +| ---------- | --------- | ------------------- | --- | --- | +| UserCrea | UserCrea | Entier sur 8 octets | | 0 | +| 12/08/2026 | | Batik_WS_Lic_Mob | | 22 | + +Partie 2 › ... › Fichiers et rubriques › ServeurHFSQL › Fichiers et rubriques +ServeurHFSQL +Fichiers et rubriques +Informations générales +ServeurHFSQL ServeurHFSQL +Nom sur disque ServeurHFSQL.fic +Rubriques du fichier ServeurHFSQL +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| ---------- | ---------------------- | ------------------------ | ------ | ---- | +| SRVHF_PKID | Identifiant de Serveur | Identifiant automatique | | | +(8 octets) +| SRVHF_IDSRVPS | Identifiant serveur VPS | Entier sur 8 octets | | 0 | +| ---------------- | ----------------------------- | ------------------- | --- | --- | +| SRVHF_Nom | Nom du Serveur HF | Chaîne | 50 | | +| SRVHF_Adresse | SRVHF_Adresse | Chaîne | 50 | | +| SRVHF_Port | Port du serveur | Entier sur 4 octets | | 0 | +| SRVHF_Actif | Actif Oui/Non | Booléen | | 1 | +| SRVHF_Type | Type de serveur | Entier sur 8 octets | | 0 | +| SRVHF_Version | Version du serveur HFSQL | Chaîne | 50 | | +| SRVHF_ADRReplic | Adresse IP Client Replication | Chaîne | 50 | | +| SRVHF_Portreplic | Port Client Replication | Chaîne | 50 | | +| SRVHF_MDPReplic | MDP pour la réplication | Chaîne | 50 | | +| DateCrea | DateCrea | Date et Heure | | | +(aaaammjjhhmmssccc) +| DateModif | DateModif | Date et Heure | | | +| --------- | --------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| UserCrea | UserCrea | Entier sur 8 octets | | 0 | +| ----------- | --------- | ------------------- | --- | --- | +| UserModif | UserModif | Entier sur 8 octets | | 0 | +| SRVHF_Admin | Admin | Chaîne | 100 | | +| SRVHF_Pass | Pass | Chaîne | 100 | | +| 12/08/2026 | | Batik_WS_Lic_Mob | | 23 | + +Partie 2 › ... › Fichiers et rubriques › ServeurWebService › Fichiers et rubriques +ServeurWebService +Fichiers et rubriques +Informations générales +ServeurWebService ServeurWebService +Nom sur disque ServeurWebService.fic +Rubriques du fichier ServeurWebService +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| --- | --- | --- | ------ | ---- | +WS_PKID Identifiant de ServeurWebService Identifiant automatique +(8 octets) +| WS_IDServeur | WS_ServeurID | Entier sur 8 octets | | 0 | +| ------------- | ------------ | ------------------- | --- | --- | +| WS_AdresseAWP | Adresse AWP | Mémo texte | | | +| WS_Libelle | Libellé | Chaîne | 50 | | +| 12/08/2026 | | Batik_WS_Lic_Mob | | 24 | + +Partie 2 › ... › Fichiers et rubriques › Utilisateur › Fichiers et rubriques +Utilisateur +Fichiers et rubriques +Informations générales +Utilisateur Utilisateur +Nom sur disque Utilisateur.fic +Rubriques du fichier Utilisateur +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| ------- | -------------------------- | ------------------------ | ------ | ---- | +| UT_PKID | Identifiant de Utilisateur | Identifiant automatique | | | +(8 octets) +| UT_Login | UT_Login | Chaîne | 250 | | +| -------------- | -------------- | -------------------- | --- | --- | +| UT_Nom | UT_Nom | Chaîne | 250 | | +| UT_Prenom | UT_Prenom | Chaîne | 250 | | +| UT_MDP | UT_MDP | Chaîne | 50 | | +| UT_Superviseur | UT_Superviseur | Booléen | | 0 | +| UT_MDPaSaisir | UT_MDPaSaisir | Booléen | | 0 | +| UT_Photo | UT_Photo | Image (mémo binaire) | | | +| UT_Telephone | UT_Telephone | Chaîne | 50 | | +| UT_Actif | UT_Actif | Booléen | | 1 | +| DateCrea | DateCrea | Date et Heure | | | +(aaaammjjhhmmssccc) +| DateModif | DateModif | Date et Heure | | | +| --------- | --------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| UserCrea | UserCrea | Entier sur 8 octets | | 0 | +| ---------- | --------- | ------------------- | --- | --- | +| UserModif | UserModif | Entier sur 8 octets | | 0 | +| 12/08/2026 | | Batik_WS_Lic_Mob | | 25 | + +Partie 3 › Collection de procédures +Partie 3 +Collection de +procédures +| 12/08/2026 | Batik_WS_Lic_Mob | 26 | +| ---------- | ---------------- | --- | + +Partie 3 › Collection de procédures +LIB_Structures +Code +Déclaration de LIB_Structures +<BLOC Structures utilisées pour le dialogue entre le mobile et le serveur de licences> +ST_MOB_DMD_INSCRIPTION est une Structure +nIdUser est un entier sur 8 octets +saIdMobile est une chaîne ANSI +saCodeClient est une chaîne ANSI +saOS_Type est une chaîne ANSI +saOS_Version est une chaîne ANSI +saNumLicence est une chaîne ANSI +saVersionExe est une chaîne ANSI +saOS_Info est une chaîne ANSI +saNotifKey est une chaîne ANSI +FIN +//Exemple : +{"saIdMobile":"1233","saIdClient":"BOUVARD.01","saOS_Type":"ANDROID","saOS_Version":"5.02","saNumLi +cence":"f71919f4f9974d70967014fbbefabf9d","saVersionExe":"1.0.255.0"} +ST_MOB_REP_INSCRIPTION est une Structure +saNomSociete est une chaîne ANSI +saServeurIP est une chaîne ANSI +saServeurPort est une chaîne ANSI +saWSadresse est une chaîne ANSI +saNom est une chaîne ANSI +saPrenom est une chaîne ANSI +nIdUser est un entier sur 8 octets +nIdClb est un entier sur 8 octets +FIN +<FIN> +<BLOC Structures utilisées pour le dialogue entre le Back-Office client et le serveur de licences> +//Bo Client Demande Licence Mobile +ST_CLI_DMD_LM est une Structure +saCodeClient est une chaîne ANSI +saNom est une chaîne ANSI +saPrenom est une chaîne ANSI +nIdUser est un entier sur 8 octets +nIdClb est un entier sur 8 octets +FIN +//Bo Client Réponse à demande Licence Mobile +ST_CLI_REP_DMD_LM est une Structure +saNumLicence est une chaîne ANSI +saDateAttrib est une chaîne ANSI +saDateExpir est une chaîne ANSI +FIN +//Bo Client Action sur Licence Mobile +ST_CLI_ACTION_LM est une Structure +saCodeClient est une chaîne ANSI +saNumLicence est une chaîne ANSI +FIN +12/08/2026 Batik_WS_Lic_Mob 27 + +Partie 3 › Collection de procédures › LIB_Structures › Code +//Bo Client Demande Liste licences mobile +ST_CLI_DMD_LISTE_LM est une Structure +saCodeClient est une chaîne ANSI +FIN +<FIN> +ST_WS_VERIF_LM est une Structure +saCodeClient est une chaîne ANSI +saLicence est une chaîne ANSI +saIdMobile est une chaîne ANSI +FIN +12/08/2026 Batik_WS_Lic_Mob 28 + +Partie 3 › Collection de procédures › LIB_SOAP_MOB › Code +LIB_SOAP_MOB +Code +Déclaration de LIB_SOAP_MOB +ST_CMD_MOB est une Structure +saCMD est une chaîne ANSI +saJSON est une chaîne ANSI +FIN +ST_REP_MOB est une Structure +saEtatReponse est une chaîne ANSI +saRepJSON est une chaîne ANSI +FIN +Procédure globale Inscription +PROCÉDURE PRIVÉ Inscription(saData est une chaîne ANSI) +QUAND EXCEPTION DANS +stRep est une ST_REP_MOB +TraceINFO("MOB_Inscription :" + saData) +SI saData<>"" ALORS +stIns est une ST_MOB_DMD_INSCRIPTION +Désérialise(stIns,saData,psdJSON) +SI ErreurDétectée() ALORS +stRep.saEtatReponse=cERR_FORMAT_JSON +TraceDEBUG(stRep.saEtatReponse) +RENVOYER stRep +FIN +saCodeClient est une chaîne ANSI = stIns.saCodeClient +SI PAS HLitRecherchePremier(ClientBase,CL_Code,stIns.saCodeClient) ALORS +//Client Inconnu +stRep.saEtatReponse=cERR_CLI_INCONNU +TraceDEBUG(stRep.saEtatReponse) +RENVOYER stRep +FIN +SI ClientBase.CL_IDServeurHF=Null ALORS +stRep.saEtatReponse=cERR_CLI_CONFIG +TraceDEBUG(stRep.saEtatReponse) +RENVOYER stRep +FIN +SI PAS HLitRecherchePremier(ServeurHFSQL,SRVHF_PKID,ClientBase.CL_IDServeurHF) ALORS +stRep.saEtatReponse=cERR_CLI_CONFIG +TraceDEBUG(stRep.saEtatReponse) +RENVOYER stRep +FIN +SI PAS ServeurHFSQL.SRVHF_Actif ALORS +stRep.saEtatReponse=cERR_CLI_CONFIG +TraceDEBUG(stRep.saEtatReponse) +RENVOYER stRep +FIN +SI ClientBase.CL_IDWebServiceMobile=Null ALORS +stRep.saEtatReponse=cERR_CLI_CONFIG +12/08/2026 Batik_WS_Lic_Mob 29 + +Partie 3 › Collection de procédures › LIB_SOAP_MOB › Code +TraceDEBUG(stRep.saEtatReponse) +RENVOYER stRep +FIN +SI PAS HLitRecherchePremier(ServeurWebService,WS_PKID,ClientBase.CL_IDWebServiceMobile) ALORS +stRep.saEtatReponse=cERR_CLI_CONFIG +TraceDEBUG(stRep.saEtatReponse) +RENVOYER stRep +FIN +//Vérification de l'existence de la Licence dont le numéro est présenté +//Elle doit correspondre au client et être active +SI PAS HLitRecherchePremier(Licence,LI_Numero,stIns.saNumLicence) ALORS +stRep.saEtatReponse=cERR_LIC_INCONNUE +TraceDEBUG(stRep.saEtatReponse) +RENVOYER stRep +FIN +SI Licence.LI_IDClient<>ClientBase.CL_PKID ALORS +stRep.saEtatReponse=cERR_CLI_LIC //Le client ne correspond pas +TraceDEBUG(stRep.saEtatReponse) +RENVOYER stRep +FIN +SI PAS Licence.LI_Active ALORS +stRep.saEtatReponse=cERR_LIC_INACTIVE //La licence est désactivée +TraceDEBUG(stRep.saEtatReponse) +RENVOYER stRep +FIN +SI Licence.LI_DateExpiration<>"" _ET_ Licence.LI_DateExpiration<DateSys() ALORS +stRep.saEtatReponse=cERR_LIC_EXPIREE //La licence est expirée +TraceDEBUG(stRep.saEtatReponse) +RENVOYER stRep +FIN +SI Licence.LI_IDMobile <>"" _ET_ Licence.LI_IDMobile <>stIns.saIdMobile ALORS +stRep.saEtatReponse=cERR_LIC_ATTRIBUEE //La licence est déjà attribuée à un autre mobile +TraceDEBUG(stRep.saEtatReponse) +RENVOYER stRep +FIN +SI stIns.nIdUser<>0 _ET_ Licence.LI_IDUser<>stIns.nIdUser ALORS +stRep.saEtatReponse=cERR_LIC_ATTRIBUEE +//La licence est déjà attribuée à un autre mobile ou a été libérée +TraceDEBUG(stRep.saEtatReponse) +RENVOYER stRep +FIN +SI Licence.LI_IDMobile <> stIns.saIdMobile ALORS +//Inscription +Licence.LI_IDMobile = stIns.saIdMobile +Licence.DateModif = DateHeureSys() +Licence.UserModif = 1 +HModifie(Licence) +FIN +stRep.saEtatReponse =cREP_OK +stRepIns est un ST_MOB_REP_INSCRIPTION +stRepIns.saNomSociete=ClientBase.CL_Nom +stRepIns.saNom =Licence.LI_UserNom +stRepIns.saPrenom =Licence.LI_UserPrenom +stRepIns.nIdUser =Licence.LI_IDUser +stRepIns.nIdClb =Licence.LI_IDCollaborateur +stRepIns.saServeurIP =ServeurHFSQL.SRVHF_Adresse +12/08/2026 Batik_WS_Lic_Mob 30 + +Partie 3 › Collection de procédures › LIB_SOAP_MOB › Code +stRepIns.saServeurPort =ServeurHFSQL.SRVHF_Port +stRepIns.saWSadresse =ServeurWebService.WS_AdresseAWP +Sérialise(stRepIns,stRep.saRepJSON,psdJSON) +HRAZ(LicenceHisto) +LicenceHisto.LH_Date=DateHeureSys() +LicenceHisto.LH_Auteur ="WS.MOB" //WebService Mobile +LicenceHisto.LH_Operation ="MOB.INSCRIPTION" +LicenceHisto.LH_GUIDLicence =Licence.LI_Numero +LicenceHisto.LH_CodeClient =ClientBase.CL_Code +LicenceHisto.LH_IdMobile =Licence.LI_IDMobile +LicenceHisto.LH_Note =stRep.saRepJSON +HAjoute(LicenceHisto) +TraceINFO(stRep.saRepJSON) +RENVOYER stRep +SINON +stRep.saEtatReponse=cERR_DATA_VIDE +TraceDEBUG(stRep.saEtatReponse) +RENVOYER stRep +FIN +FAIRE +TraceERREUR(ExceptionInfo(errComplet)) +stRep.saEtatReponse=cERR_EXCEPTION +TraceERREUR(stRep.saEtatReponse) +RENVOYER stRep +FIN +Procédure globale MOB_CMD +PROCÉDURE MOB_CMD(stCMD est un ST_CMD_MOB) +TraceDébut(trFichier, ComplèteRep(fRepDonnées()) + "Trace_" + stCMD.saCMD + "_" + DateSys() + ".txt") +stRep est un ST_REP_MOB +TraceINFO("MOB_CMD") +TraceINFO(stCMD.saCMD) +TraceINFO(stCMD.saJSON) +QUAND EXCEPTION DANS +SELON stCMD.saCMD +CAS cMOB_LIC_INSCRIPTION //Inscription d'un mobile +stRep=Inscription(stCMD.saJSON) +AUTRE CAS +stRep.saEtatReponse = cERR_CMD_INCONNUE +FIN +TraceINFO("Réponse : " + stRep.saEtatReponse) +RENVOYER stRep +FAIRE +TraceERREUR(ExceptionInfo(errComplet)) +stRep.saEtatReponse = cERR_EXCEPTION +TraceERREUR("Réponse : " + stRep.saEtatReponse) +RENVOYER stRep +FIN +12/08/2026 Batik_WS_Lic_Mob 31 + +Partie 3 › Collection de procédures › LIB_COMMUNE › Code +LIB_COMMUNE +Code +Déclaration de LIB_COMMUNE +CONSTANT +gsCleCryptage ="" +cTrace_Info =0 +cTrace_Debug =1 +cTrace_Erreur =2 +FIN +gnNiveauTraceMini est un entier = cTrace_Info +gsaCumulTrace est une chaîne ANSI +gbTraceBufferReception est un booléen +gnNbJoursLog est un entier +Procédure globale InfoWS +PROCÉDURE PRIVÉ InfoWS() +saREP est une chaîne ANSI +saREP="-----------------------------------------------" +saREP+=RC+"Executable :" + ExeInfo(exeNom) + " version :" + ExeInfo(exeVersion) +saREP+=RC+"Date serveur :" + DateVersChaîne(DateHeureSys(),"JJ/MM/AAAA HH:mm:SS") +saREP+=RC+"Analyse :" + Remplace(HInfoAnalyse(),RC," N° :") +saREP+=RC+"Rep Données :" + fRepDonnées() +<COMPILE SI Configuration="Webservice"> +saREP+=RC+"Rep Web :" + fRepWeb() +saREP+=RC+"Ini :" + NomDuFichierIni() +<FIN> +saREP+=RC+"IP Client :" + WebserviceAdresseIPClient(Vrai) +saREP+=RC+"-----------------------------------------------" +RENVOYER saREP +Procédure globale LitConfigurationINI +PROCÉDURE PRIVÉ LitConfigurationINI() +saFicIni est une chaîne = NomDuFichierIni() +SI PAS fFichierExiste(saFicIni) ALORS +INIEcrit("DEBUG","NIVEAU","0",saFicIni) +FIN +// Lit la valeur du niveau de trace par défaut +gnNiveauTraceMini = Val( INILit("DEBUG", "NIVEAU", "0",saFicIni) ) +gbTraceBufferReception = Val(INILit("DEBUG","TRACE BUFFER","0",saFicIni))=1 +gnNbJoursLog = Val( INILit("LOG", "NB JOURS", "10",saFicIni) ) +Procédure globale NomDuFichierIni +PROCÉDURE PRIVÉ NomDuFichierIni() +RENVOYER ComplèteRep(fRepDonnées()) + "Config\" + gcVersionNom +".ini" +Procédure globale ParametreSQLCorrect +12/08/2026 Batik_WS_Lic_Mob 32 + +Partie 3 › Collection de procédures › LIB_COMMUNE › Code +PROCÉDURE PRIVÉ ParametreSQLCorrect(LOCAL saParam chaîne ANSI) +//Vérifie si la chaine ne contient pas d'instruction SQL injectées +//Test à minima +SI saParam="" ALORS +RENVOYER Vrai +FIN +tabChaine est un tableau de chaînes = ["SELECT","INSERT","UPDATE","DELETE","WHERE","INNER"] +SI Contient(saParam,tabChaine,SansCasse) ALORS RENVOYER Faux +RENVOYER Vrai +Procédure globale Tesla +PROCÉDURE Tesla() //T'es là +TraceDébut(trFichier, ComplèteRep(fRepDonnées()) + "Trace_Test_" + DateSys() + ".txt") +TraceDEBUG("Demande TESLA") +HLitPremier(ClientBase) +TraceDEBUG("Client Code :" + ClientBase.CL_Code) +RENVOYER "OUI" +Procédure globale TraceCUMUL +PROCÉDURE PRIVÉ TraceCUMUL(s) +//Stock un message de trace pour l'écrire quand la trace sera ouverte +saTxt est une chaîne ANSI = DateVersChaîne(DateHeureSys(),"JJ/MM/AA HH:mm:SS")+ TAB + cTrace_Info + +TAB + Remplace(s,TAB,"<TAB>") +gsaCumulTrace += [RC] + saTxt +Procédure globale TraceDEBUG +PROCÉDURE RESTREINT TraceDEBUG(s) +saTxt est une chaîne ANSI = DateVersChaîne(DateHeureSys(),"JJ/MM/AA HH:mm:SS")+ TAB + cTrace_Debug + +TAB + Remplace(s,TAB,"<TAB>") +SI gnNiveauTraceMini <= cTrace_Debug ALORS +SI gsaCumulTrace<>"" ALORS +Trace(gsaCumulTrace) +gsaCumulTrace="" +FIN +Trace(saTxt) +SINON +gsaCumulTrace += RC + saTxt +FIN +Procédure globale TraceERREUR +PROCÉDURE RESTREINT TraceERREUR(s) +//EN cas d'erreur, on trace le contenu du Cumul de trace de tout niveau +SI gsaCumulTrace<>"" ALORS +Trace(gsaCumulTrace) +gsaCumulTrace="" +FIN +Trace(DateVersChaîne(DateHeureSys(),"JJ/MM/AA HH:mm:SS")+ TAB + cTrace_Erreur + TAB + Remplace(s, +TAB,"<TAB>")) +Procédure globale TraceINFO +PROCÉDURE RESTREINT TraceINFO(s) +saTxt est une chaîne ANSI = DateVersChaîne(DateHeureSys(),"JJ/MM/AA HH:mm:SS")+ TAB + cTrace_Info + +12/08/2026 Batik_WS_Lic_Mob 33 + +Partie 3 › Collection de procédures › LIB_COMMUNE › Code +TAB + Remplace(s,TAB,"<TAB>") +SI gnNiveauTraceMini <= cTrace_Info ALORS +Trace(saTxt) +SINON +gsaCumulTrace += RC + saTxt +FIN +Procédure globale TraceTOUT +//Trace quelque soit le niveau de trace courant +PROCÉDURE PRIVÉ TraceTOUT(s) +Trace(DateVersChaîne(DateHeureSys(),"JJ/MM/AA HH:mm:SS")+ TAB + cTrace_Info + TAB + Remplace(s,TAB, +"<TAB>")) +12/08/2026 Batik_WS_Lic_Mob 34 + +Partie 3 › Collection de procédures › LIB_SOAP_CLIENT › Code +LIB_SOAP_CLIENT +Code +Déclaration de LIB_SOAP_CLIENT +ST_CMD_CLIENT est une Structure +saCMD est une chaîne ANSI +saCodeClient est une chaîne ANSI +saCleAPI est une chaîne ANSI +saJSON est une chaîne ANSI +FIN +ST_REP_CLIENT est une Structure +saEtatReponse est une chaîne ANSI +saRepJSON est une chaîne ANSI +FIN +Procédure globale BOCLI_CMD +PROCÉDURE BOCLI_CMD(stCMD est un ST_CMD_CLIENT) +stRep est un ST_REP_CLIENT +TraceINFO(stCMD.saCMD + " " + stCMD.saCodeClient) +TraceINFO(stCMD.saJSON) +QUAND EXCEPTION DANS +SELON stCMD.saCMD +CAS cCLI_LIC_ATTRIBUTION //Attribut une licence à un utilisateur +stRep=LicenceLibreAttribution(stCMD.saJSON) +CAS cCLI_LIC_ACTIVATION //Activation/ désactivation d'une licence +stRep=LicenceActivation(stCMD.saJSON,Vrai) +CAS cCLI_LIC_DESACTIVATION +stRep=LicenceActivation(stCMD.saJSON,Faux) +CAS cCLI_LIC_LIBERE //Libère une licence mobile +stRep=LicenceLibere(stCMD.saJSON) +CAS cCLI_LIC_LISTE +stRep=LicenceListe(stCMD.saJSON) +AUTRE CAS +stRep.saEtatReponse = cERR_CMD_INCONNUE +FIN +TraceINFO("Reponse :" + stRep.saEtatReponse ) +TraceINFO(stRep.saRepJSON) +RENVOYER stRep +FAIRE +TraceERREUR(ExceptionInfo(errComplet)) +stRep.saEtatReponse = cERR_EXCEPTION +RENVOYER stRep +FIN +Procédure globale LicenceActivation +12/08/2026 Batik_WS_Lic_Mob 35 + +Partie 3 › Collection de procédures › LIB_SOAP_CLIENT › Code +PROCÉDURE PRIVÉ LicenceActivation(LOCAL saJSON est une chaîne ANSI,bEtat est un booléen) +TraceDEBUG("LicenceActivation : " + saJSON) +stRep est une ST_REP_CLIENT +stDMD est un ST_CLI_ACTION_LM +QUAND EXCEPTION DANS +Désérialise(stDMD,saJSON,psdJSON) +SI PAS HLitRecherchePremier(ClientBase, CL_Code, stDMD.saCodeClient) ALORS +stRep.saEtatReponse=cERR_CLI_INCONNU +SINON SI PAS HLitRecherchePremier(Licence,LI_Numero,stDMD.saNumLicence) ALORS +stRep.saEtatReponse=cERR_LIC_INCONNUE +SINON SI Licence.LI_IDClient<>ClientBase.CL_PKID +stRep.saEtatReponse=cERR_CLI_LIC +SINON +Licence.LI_Active = bEtat +Licence.DateModif=DateHeureSys() +Licence.UserModif=1 +HModifie(Licence) +HRAZ(LicenceHisto) +LicenceHisto.LH_Date =DateHeureSys() +LicenceHisto.LH_Auteur ="WS.CLI" //WebService Client +LicenceHisto.LH_Operation ="CLI.LICMOB.ACTIVE" +LicenceHisto.LH_GUIDLicence =Licence.LI_Numero +LicenceHisto.LH_CodeClient =ClientBase.CL_Code +LicenceHisto.LH_IdMobile =Licence.LI_IDMobile +LicenceHisto.LH_Note ="" +HAjoute(LicenceHisto) +stRep.saEtatReponse=cREP_OK +FIN +TraceDEBUG("Réponse :" + stRep.saEtatReponse) +FAIRE +stRep.saEtatReponse=cERR_EXCEPTION +TraceERREUR("ActiveLicence(" + saJSON +"," + bEtat +")"+RC + ExceptionInfo(errComplet)) +FIN +RENVOYER stRep +Procédure globale LicenceLibere +PROCÉDURE PRIVÉE LicenceLibere(LOCAL saJSON est une chaîne ANSI) +stRep est une ST_REP_CLIENT +stDMD est un ST_CLI_ACTION_LM +QUAND EXCEPTION DANS +Désérialise(stDMD,saJSON,psdJSON) +12/08/2026 Batik_WS_Lic_Mob 36 + +Partie 3 › Collection de procédures › LIB_SOAP_CLIENT › Code +SI PAS HLitRecherchePremier(ClientBase, CL_Code, stDMD.saCodeClient) ALORS +stRep.saEtatReponse=cERR_CLI_INCONNU +SINON SI PAS HLitRecherchePremier(Licence,LI_Numero,stDMD.saNumLicence) ALORS +stRep.saEtatReponse=cERR_LIC_INCONNUE +SINON SI Licence.LI_IDClient<>ClientBase.CL_PKID +stRep.saEtatReponse=cERR_CLI_LIC +SINON +sa est une chaîne ANSI +eLI est un Enregistrement de Licence +eLI=Licence +Sérialise(eLI,sa,psdJSON) +HRAZ(LicenceHisto) +LicenceHisto.LH_Date =DateHeureSys() +LicenceHisto.LH_Auteur ="WS.CLI" //WebService Client +LicenceHisto.LH_Operation ="CLI.LICMOB.LIBERE" +LicenceHisto.LH_GUIDLicence =Licence.LI_Numero +LicenceHisto.LH_CodeClient =ClientBase.CL_Code +LicenceHisto.LH_IdMobile ="" +LicenceHisto.LH_Note =sa +HAjoute(LicenceHisto) +//Libération de la licence +Licence.LI_Active = Vrai +Licence.LI_IDCollaborateur =0 +Licence.LI_IDUser =0 +Licence.LI_InfoSupMob ="" +Licence.LI_UserNom ="" +Licence.LI_UserPrenom ="" +Licence.LI_IDMobile ="" +Licence.LI_VersionMajeur ="" +Licence.DateModif =DateHeureSys() +Licence.UserModif =1 +HModifie(Licence) +stRep.saEtatReponse=cREP_OK +FIN +FAIRE +stRep.saEtatReponse=cERR_EXCEPTION +TraceERREUR("LicenceLibere(" + saJSON +")"+RC + ExceptionInfo(errComplet)) +FIN +RENVOYER stRep +Procédure globale LicenceLibreAttribution +PROCÉDURE PRIVÉ LicenceLibreAttribution(LOCAL saJSON est une chaîne ANSI) +stRep est un ST_REP_CLIENT +stDMD est un ST_CLI_DMD_LM +stLIC est un ST_CLI_REP_DMD_LM +bLicOk est un booléen +QUAND EXCEPTION DANS +Désérialise(stDMD,saJSON,psdJSON) +SI PAS HLitRecherchePremier(ClientBase, CL_Code, stDMD.saCodeClient) ALORS +stRep.saEtatReponse=cERR_CLI_INCONNU +SINON +12/08/2026 Batik_WS_Lic_Mob 37 + +Partie 3 › Collection de procédures › LIB_SOAP_CLIENT › Code +//Recherche d'une licence déjà attribuée à cet utilisateur +rqLU est une Requête SQL = +[ +SELECT * FROM Licence +where Licence.LI_IDClient={pIdClient} AND Licence.LI_IDUser={pIdUser} AND Licence.LI_Type= +5 +] +rqLU.pIdClient = ClientBase.CL_PKID +rqLU.pIdUser =stDMD.nIdUser +HExécuteRequête(rqLU) +SI HLitPremier(rqLU) ALORS +stLIC.saNumLicence = rqLU.LI_Numero //Le numéro de licence mobile est renvoyé +stLIC.saDateAttrib = rqLU.LI_DateAttribution +stLIC.saDateExpir = rqLU.LI_DateExpiration +bLicOk=Vrai +FIN +//Recherche d'une licence libre +SI PAS bLicOk ALORS +POUR TOUT Licence AVEC LI_IDClient=ClientBase.CL_PKID +SI Licence.LI_IDMobile="" _ET_ Licence.LI_Type=5 _ET_ Licence.LI_Active=1 _ET_ Licence +.LI_IDUser=0 ALORS +Licence.LI_IDUser = stDMD.nIdUser +//La licence n'est plus libre car LI_IdUser <>0 +Licence.LI_IDCollaborateur = stDMD.nIdClb +Licence.LI_UserNom = stDMD.saNom +Licence.LI_UserPrenom = stDMD.saPrenom +HModifie(Licence) +stLIC.saNumLicence = Licence.LI_Numero +//Le numéro de licence mobile est renvoyé +stLIC.saDateAttrib = Licence.LI_DateAttribution +stLIC.saDateExpir = Licence.LI_DateExpiration +bLicOk=Vrai +SORTIR +FIN +FIN +FIN +SI bLicOk ALORS +stRep.saEtatReponse=cREP_OK +Sérialise(stLIC,stRep.saRepJSON,psdJSON) +HRAZ(LicenceHisto) +LicenceHisto.LH_Date =DateHeureSys() +LicenceHisto.LH_Auteur ="WS.CLI" //WebService Client +LicenceHisto.LH_Operation ="CLI.LICMOB.ATTRIB" +LicenceHisto.LH_GUIDLicence =Licence.LI_Numero +LicenceHisto.LH_CodeClient =ClientBase.CL_Code +LicenceHisto.LH_IdMobile ="" +LicenceHisto.LH_Note =stRep.saRepJSON +HAjoute(LicenceHisto) +SINON +stRep.saEtatReponse=cERR_LIC_AUCUNE +FIN +FIN +FAIRE +stRep.saEtatReponse=cERR_FORMAT_JSON +12/08/2026 Batik_WS_Lic_Mob 38 + +Partie 3 › Collection de procédures › LIB_SOAP_CLIENT › Code +FIN +RENVOYER stRep +Procédure globale LicenceListe +PROCÉDURE PRIVÉE LicenceListe(LOCAL saJSON est une chaîne ANSI<utile>) +stRep est un ST_REP_CLIENT +RENVOYER stRep +Procédure globale LicenceVerifie +PROCÉDURE LicenceVerifie(LOCAL saJSON est une chaîne ANSI) +TraceDEBUG("LicenceVerifie :" +saJSON) +QUAND EXCEPTION DANS +stDMD est un ST_WS_VERIF_LM +stRep est un ST_REP_CLIENT +Désérialise(stDMD,saJSON,psdJSON) +SI ErreurDétectée ALORS +stRep.saEtatReponse=cERR_FORMAT_JSON +SINON +saCodeClient est une chaîne ANSI = stDMD.saCodeClient +saLicence est une chaîne ANSI = stDMD.saLicence +saIdMobile est une chaîne ANSI = stDMD.saIdMobile +SI HLitRecherchePremier(ClientBase,CL_Code,saCodeClient) ALORS +SI PAS HLitRecherchePremier(Licence,LI_Numero,saLicence) ALORS +stRep.saEtatReponse=cERR_LIC_INCONNUE +SINON +SI ClientBase.CL_PKID<>Licence.LI_IDClient ALORS +stRep.saEtatReponse=cERR_CLI_LIC +SINON SI Licence.LI_IDMobile<>saIdMobile ALORS +stRep.saEtatReponse=cERR_LIC_ATTRIBUEE +SINON SI Licence.LI_Active=Faux ALORS +stRep.saEtatReponse=cERR_LIC_INACTIVE +SINON SI PAS Licence.LI_DateExpiration..Null _ET_ Licence.LI_DateExpiration< +DateHeureSys() ALORS +stRep.saEtatReponse=cERR_LIC_EXPIREE +SINON +stRep.saEtatReponse=cREP_OK +FIN +FIN +SINON +stRep.saEtatReponse=cERR_CLI_INCONNU +FIN +FIN +TraceDEBUG("Réponse :" + stRep.saEtatReponse) +RENVOYER stRep +12/08/2026 Batik_WS_Lic_Mob 39 + +Partie 3 › Collection de procédures › LIB_SOAP_CLIENT › Code +FAIRE +TraceERREUR("ERREUR dans LicenceVerifie" + RC + ExceptionInfo(errComplet)) +stRep.saEtatReponse= cERR_EXCEPTION +RENVOYER stRep +FIN +12/08/2026 Batik_WS_Lic_Mob 40 + +Partie 4 › Table des matières +Partie 4 +Table des matières +| 12/08/2026 | Batik_WS_Lic_Mob | 41 | +| ---------- | ---------------- | --- | + +Partie 4 › Table des matières +Projet Batik_WS_Lic_Mob +Partie 1 Projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 +Informations générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 +Liste des éléments du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 +Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 +Erreurs, warnings et informations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 +Statistiques sur le code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 +Partie 2 Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 +Graphe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 +Informations générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 +Dictionnaire des rubriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 +Liaisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 +Fichiers et rubriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 +ClientADM 15 +ClientBase 17 +Licence 18 +LicenceHisto 19 +LoginHFSQL 20 +Parametre 21 +Serveur 22 +ServeurHFSQL 23 +ServeurWebService 24 +Utilisateur 25 +Partie 3 Collection de procédures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 +LIB_Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 +Code 27 +LIB_SOAP_MOB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 +Code 29 +LIB_COMMUNE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 +Code 32 +LIB_SOAP_CLIENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 +Code 35 +12/08/2026 Batik_WS_Lic_Mob 42 \ No newline at end of file diff --git a/docs/E2E_SYNC_VALIDATION.md b/docs/E2E_SYNC_VALIDATION.md new file mode 100644 index 0000000..3d07107 --- /dev/null +++ b/docs/E2E_SYNC_VALIDATION.md @@ -0,0 +1,786 @@ +# E2E SYNC VALIDATION — Test end-to-end réel du pipeline de synchronisation + +## Statut : EXÉCUTÉ — CREATE VALIDÉ, REPLAY À RETESTER, IDEMPOTENCE RETRY CORRIGÉE TRANSACTIONNELLEMENT + +> **Mise à jour 13/08/2026 17:27 — tentative du test Replay corrigé :** +> le test `Replay_SameOperationId_IsIdempotent` (corrigé, autonome, polling +> terminal) a été **ré-exécuté physiquement** (garde-fous `true`, Worker externe +> actif) mais a **échoué au polling du premier POST** : `Assert.NotNull() Failure: +> Value is null` (ligne 302). Le log du Worker ne montre **aucune ligne de +> traitement** d'opération pendant le test : le Worker externe n'a **pas traité** +> l'opération dans le délai de 30 s du test. Le statut API est donc resté non +> terminal. **Aucune écriture métier supplémentaire n'a été produite par cette +> tentative** (le Worker n'a rien traité). Les garde-fous ont été **restaurés à +> `false`** après la tentative. Le test Replay corrigé reste **à retester +> physiquement** (le Worker externe doit traiter l'opération dans le délai du +> test). + +> **Mise à jour 13/08/2026 17:43 — tentative avec polling Worker E2E = 5 s :** +> le test Replay corrigé a été **ré-exécuté physiquement** avec un Worker externe +> lancé avec l'override temporaire `Sync__RetryDelaySeconds=5` (poll immédiat puis +> toutes les 5 s) et les garde-fous `true`. **Le pipeline a réellement atteint le +> premier SUCCESS** (le test a passé l'assertion `Assert.NotNull(firstStatus)` à la +> ligne 302). Le test a ensuite **échoué sur un bug de disposition du helper +> `CountInterventionsAsync`** (ligne 177) : `System.InvalidOperationException : +> 'WebServiceHfSqlConnection' type only implements IAsyncDisposable. Use +> DisposeAsync to dispose the container.` Le helper utilise `using var scope = +> _factory.Services.CreateScope()` (disposition synchrone) alors que +> `WebServiceHfSqlConnection` n'implémente que `IAsyncDisposable` — le même +> problème `IAsyncDisposable` déjà corrigé dans `Program.cs`. **Ce n'est pas un +> échec du pipeline** : le premier POST a atteint SUCCESS (le Worker a traité +> l'opération, transaction BATIK_TEST, handler, MobLog SUCCESS, COMMIT). Le test +> a échoué uniquement sur le comptage métier (helper). Les garde-fous ont été +> **restaurés à `false`** et le Worker **arrêté** après la tentative. Le test +> Replay corrigé reste **à retester physiquement** après correction du helper +> `CountInterventionsAsync` (disposition asynchrone). + +> **Mise à jour 13/08/2026 17:48 — micro-fix disposition + nouvelle tentative :** +> le helper `CountInterventionsAsync` a été corrigé (disposition asynchrone +> `await using var scope = _factory.Services.CreateAsyncScope()`), le projet de +> test compile. Le test Replay a été **ré-exécuté physiquement** (Worker E2E +> `Sync__RetryDelaySeconds=5`, garde-fous `true`). **Le pipeline a de nouveau +> atteint le premier SUCCESS** (le test est passé à la ligne 309). Le test a +> ensuite **échoué sur une nouvelle erreur du helper `CountInterventionsAsync`** +> (ligne 175) : `System.InvalidOperationException : La connexion Business doit +> être ouverte avant d'exécuter une commande.` (`BusinessOleDbConnection.EnsureOpen()` +> ligne 317). Le helper obtient `IWebServiceHfSqlConnection` et appelle +> `ExecuteScalarAsync` **sans ouvrir la connexion**. **Ce n'est pas un échec du +> pipeline** : le premier POST a atteint SUCCESS (transaction BATIK_TEST, handler, +> MobLog SUCCESS, COMMIT). Le test a échoué uniquement sur le comptage métier +> (helper). Les garde-fous ont été **restaurés à `false`** et le Worker **arrêté** +> après la tentative. Le test Replay corrigé reste **à retester physiquement** +> après ouverture de la connexion dans `CountInterventionsAsync`. + +> **Mise à jour 13/08/2026 17:54 — micro-fix OpenAsync + E2E RÉUSSI :** +> le helper `CountInterventionsAsync` a été corrigé (ouverture explicite de la +> connexion `await connection.OpenAsync(cancellationToken)` avant +> `ExecuteScalarAsync`), le projet de test compile. Le test Replay a été +> **ré-exécuté physiquement** (Worker E2E `Sync__RetryDelaySeconds=5`, garde-fous +> `true`) et a **RÉUSSI** (1/1, 18 s) : premier POST → SUCCESS, business count = 1, +> second POST (même OperationId/RequestedEntityGuid/payload) → SUCCESS, +> CanonicalEntityGuid identique, business count final = 1, **aucun doublon**. +> **CREATE HFSQL PHYSIQUE : VALIDÉ. COMMIT TRANSACTIONNEL BATIK_TEST : VALIDÉ +> PHYSIQUEMENT. REPLAY TERMINAL : VALIDÉ PHYSIQUEMENT. IDEMPOTENCE TERMINALE : +> VALIDÉE.** Les garde-fous ont été **restaurés à `false`** et le Worker **arrêté** +> après la tentative. **Baseline Mobile : ÉCHEC** sur 2 tests transactionnels +> (`Crash_After_Commit_Does_Not_Reapply_Handler_On_Retry` ligne 403 et +> `Two_Different_OperationIds_Produce_Two_Business_Creations` ligne 436) : +> `Assert.Equal() Failure: Expected 1/2, Actual 0` — le handler n'a produit +> aucune création métier dans ces 2 tests unitaires. **STOP au premier échec de +> la baseline** : suite hors HFSQL et build solution non lancés. + +> **Mise à jour 13/08/2026 18:02 — correction des 2 tests transactionnels rouges :** +> la cause de `Actual: 0` était un **défaut de test harness** (aucun défaut +> production) : les deux tests rouges utilisaient le handler générique +> `FakeSyncOperationHandler(SyncOperationResult.Success())`, qui retourne SUCCESS +> **sans écrire d'Intervention** dans le fake transactionnel. Le compteur +> `tx.CommittedInterventions` est alimenté par le handler via `WriteIntervention` +> (comme le font `ThrowingAfterWriteHandler` / `ThrowingThenSuccessHandler` des +> deux tests verts). Un handler dédié `SuccessWritingHandler` (écrit une +> Intervention + retourne SUCCESS + expose `CallCount`) a été ajouté et utilisé +> par les deux tests. Pour `Crash_After_Commit`, l'assertion `repo.Succeeded.Count +> == 1` a été remplacée par `Assert.Contains(env.OperationId, repo.Succeeded)` : +> au replay, le `SyncProcessor` reconstitue le log terminal SUCCESS (re-marquage +> via `MarkSuccessAsync`) **sans rappeler le handler** (comportement correct +> d'idempotence par OperationId) ; le fake `Succeeded` accumule donc un doublon, +> mais le handler n'est pas rappelé et aucune Intervention supplémentaire n'est +> durable. **Baseline complètement verte** : 4 tests transactionnels (4/4), +> SyncProcessor + SyncWorker (22/22), Mobile (515/515), suite hors HFSQL +> (1755/1755), build solution (0 erreur). **Aucun fichier production modifié.** +> **SYNC E2E PHYSIQUE reste VALIDÉ** (CREATE, COMMIT, REPLAY terminal, +> idempotence terminale). Garde-fous toujours `false`. + +Le test end-to-end réel du pipeline de synchronisation **multi-connexion** a été +**réellement exécuté** (EXECUTED) contre les bases HFSQL de TEST. Le CREATE a +**réellement abouti** (SUCCESS, Intervention créée, MobLog SUCCESS). + +Le test Replay **actuel** (`Replay_SameOperationId_IsIdempotent`) a été +**corrigé** pour devenir autonome : générer son propre OperationId, attendre +réellement SUCCESS, compter le métier = 1, re-POST exact, vérifier métier +toujours = 1. Il reste **à retester physiquement** (garde-fous `false`). + +La **fenêtre de duplication retry** (business réussi mais terminal absent) a été +**fermée par une correction transactionnelle** : pour une opération réussie, les +écritures métier (Intervention), les relations associées, MobLog SUCCESS et la +finalisation MobReception sont désormais exécutées dans **UNE transaction OLE DB +locale BATIK_TEST partagée** (via `IWebServiceTransactionContext`). Soit tout est +durable, soit rien. Cette correction est **implémentée et testée** (tests +transactionnels verts), mais **pas encore validée par un E2E physique**. + +**Résultat : SYNC E2E HFSQL PHYSIQUE (CREATE) : VALIDÉ.** +**REPLAY / IDEMPOTENCE TERMINALE : TEST CORRIGÉ, À RETESTER PHYSIQUEMENT.** +**IDEMPOTENCE RETRY : CORRECTION TRANSACTIONNELLE IMPLÉMENTÉE ET TESTÉE (pas encore E2E validée).** +**LICENCE E2E : NON VALIDÉE — BASE_LICENCES BLOQUÉE.** + + + +## 0. Résultat de l'exécution réelle (13/08/2026) + +### Maillons observés (dans l'ordre) — CREATE + +| Maillon | Résultat | Détail | +|---|---|---| +| A. HTTP accepté | ✅ VERT | `POST /api/sync/operations` → 200 OK, `RECEIVED` | +| B. opération dans TOSRV | ✅ VERT | écrite dans `BATIK.01_BLS.TOSRV`, puis transférée | +| C. même OperationId | ✅ VERT | `receipt.OperationId == operationId` | +| D. TOSRV → MobReception | ✅ VERT | opération présente dans `BATIK_TEST.MobReception` | +| E. IDTOSRV conservé | ✅ VERT | `MR_IDToSRV` correspond à `IDTOSRV` source | +| F. SyncProcessor réel | ✅ VERT | `SyncProcessor.ProcessOperationAsync` appelé | +| G. Handler Intervention | ✅ VERT | `InterventionSyncOperationHandler.HandleCreateAsync` appelé | +| H. Intervention créée | ✅ VERT | Intervention `E2E_TEST_5b915439` créée dans BATIK_TEST | +| I. résultat dans MobLog | ✅ VERT | log `Success` écrit (SUCCESS) | +| J. status API SUCCESS | ✅ VERT | endpoint status → `SUCCESS` | + +### Maillons observés — REPLAY + +| Maillon | Résultat | Détail | +|---|---|---| +| HTTP accepté | ✅ VERT | réenvoi du même OperationId accepté | +| status API | ❌ ROUGE | retourne `Pending` au moment de la vérification (Worker pas encore passé) | +| Idempotence terminale | ❌ ROUGE | le test Replay **actuel** envoie les deux POST sans attendre SUCCESS : ce n'est pas un test d'idempotence terminale | + +### Premier maillon rouge (Replay) + +- **Maillon** : J — status API SUCCESS (Replay). +- **Exception/code HFSQL** : aucune erreur HFSQL. Le status est resté `Pending` + car le Worker externe n'a pas traité l'opération dans le délai du test + (~4 secondes). +- **Table** : N/A. +- **Colonne** : N/A. +- **Composant .NET** : `SyncPipelineE2ETests.Replay_SameOperationId_IsIdempotent` + (test conceptuellement incorrect : les deux POST sont envoyés immédiatement, + sans attendre le SUCCESS terminal du premier). +- **Correction appliquée** : le test Replay a été réécrit pour être autonome — + générer son propre OperationId, attendre réellement SUCCESS (polling terminal), + compter le métier = 1, re-POST exact, vérifier métier toujours = 1. + + +### Données E2E laissées + +- **OperationId (CREATE)** : `5b915439-d9d9-44b5-9552-1f8f90db96c3` +- **RequestedEntityGuid (CREATE)** : `6679f54e-ace4-4df3-a75d-d69701601069` +- **CanonicalEntityGuid (CREATE)** : `0001014b-0001-0000-008a-2badf0d20f00` +- **OperationId (Replay)** : `0fce297f-e4e4-45ad-9027-b4e6e23d5c8a` +- **RequestedEntityGuid (Replay)** : `6f3bd0c1-8aeb-4296-9204-c7b1470c345a` +- **CanonicalEntityGuid (Replay)** : `0001014b-0001-0000-008a-2c339447ac00` +- **Interventions** : 7 lignes `E2E_TEST_*` laissées dans BATIK_TEST. Les 6 + lignes `E2E_TEST_5b915439` sont des **doublons du MÊME OperationId** + `5b915439-d9d9-44b5-9552-1f8f90db96c3` (défaut d'idempotence retry business : + le handler CREATE a été rappelé à chaque retry, `retryCount=16` au SUCCESS, + recréant une Intervention à chaque tentative). La ligne `E2E_TEST_0fce297f` + est l'Intervention **normale** du test Replay (OperationId distinct + `0fce297f-e4e4-45ad-9027-b4e6e23d5c8a`), **PAS un doublon** du CREATE. + Aucune donnée personnelle réelle. +- **MobLog** : logs `Pending` + `Success` pour chaque opération. +- **TOSRV** : vide (opérations transférées et supprimées). + +Aucun DELETE physique n'a été effectué. Un futur test ARCHIVE pourra servir au +cleanup des lignes `E2E_TEST_*` si nécessaire. + +### Replay + +Le test `Replay_SameOperationId_IsIdempotent` a été **réellement exécuté** +(EXECUTED) mais a **échoué** : le status est resté `Pending` au moment de la +vérification (le Worker externe n'a pas traité l'opération dans le délai du +test). Le Worker a néanmoins traité l'opération Replay **après** le test, +créant l'Intervention `E2E_TEST_0fce297f`. + +**Diagnostic exact (micro-lot idempotence) :** le test Replay **actuel** génère +son **propre** OperationId (`0fce297f-e4e4-45ad-9027-b4e6e23d5c8a`) et son propre +RequestedEntityGuid (`6f3bd0c1-8aeb-4296-9204-c7b1470c345a`). Il ne réutilise +**pas** l'OperationId du test CREATE (`5b915439`). L'Intervention +`E2E_TEST_0fce297f` est donc l'Intervention **normale** du test Replay +(OperationId distinct), **PAS un doublon** du CREATE `5b915439`. + +Le test Replay **actuel** est **conceptuellement incorrect** : il envoie les +deux POST immédiatement (lignes 213-218), **sans attendre le SUCCESS terminal +du premier**. Ce n'est donc pas un test d'idempotence terminale. Il a été +**corrigé** pour devenir autonome : générer son propre OperationId, attendre +réellement SUCCESS (polling terminal), compter le métier = 1, re-POST exact, +vérifier métier toujours = 1. + + +### Garde-fous + +Les trois garde-fous ont été **restaurés à `false`** après l'exécution : +`AllowHfSqlWrites`, `ServiceDatabaseConfirmedTest`, +`WebServiceDatabaseConfirmedTest`. `AllowHfSqlWrites` n'est jamais laissé à +`true` après la tâche. + + +## 1. Architecture multi-connexion validée + +``` +ServiceConnection (base Service, table TOSRV) + ↓ +WebServiceConnection (base WebService/Business) + → MobReception + → MobLog + → données métier (Intervention) +``` + +Le repository `SyncTransferRepository` est déjà adapté à cette topologie : +- `IServiceHfSqlConnection` → base Service, table `TOSRV`. +- `IWebServiceHfSqlConnection` → base WebService/Business, tables `MobReception` + et `MobLog`. + +## 2. Environnement sans secrets + +Ce document ne contient **aucun secret** : ni mot de passe, ni token, ni +ProtectionPlusSecret, ni FilePasswords, ni credential. Les valeurs de connexion +sont décrites par leur nom de clé et leur nature, jamais par leur valeur +sensible. + +## 3. Bases réellement utilisées + +### Service DB (base Service, table TOSRV) + +| Section | Clé | Valeur effective | +|---|---|---| +| `ServiceConnection` | `DatabaseName` | `BATIK.01_BLS` (base Service actuelle) | + +La base Service est utilisée par **Omika.Api** et **Omika.Worker** via la +connexion `ServiceConnection` (enregistrée par `AddOmikaDataServiceConnection`). + +### WebService DB (base WebService/Business) + +| Section | Clé | Valeur effective | +|---|---|---| +| `Hfsql` (Business / WebService) | `DatabaseName` | `BATIK_TEST` (config locale) | + +La base WebService/Business est utilisée par **Omika.Api** et **Omika.Worker** +via la connexion `Hfsql` (enregistrée par `AddOmikaData`). Elle héberge les +tables `MobReception`, `MobLog` et les données métier (Intervention). + +## 4. Confirmation explicite TEST + +Le nom de la base Service (`BATIK.01_BLS`) **ne prouve pas** qu'elle est une +base TEST. La confirmation est fournie **explicitement** via la configuration +locale non versionnée `config/hfsql-test.local.json`, section `E2E` : + +```json +"E2E": { + "AllowHfSqlWrites": false, + "ServiceDatabaseConfirmedTest": false, + "WebServiceDatabaseConfirmedTest": false +} +``` + +Par défaut, tous les flags sont `false`. **Aucune écriture** n'est possible tant +que les trois flags ne sont pas explicitement `true` : + +- `AllowHfSqlWrites = true` +- `ServiceDatabaseConfirmedTest = true` +- `WebServiceDatabaseConfirmedTest = true` + +Le mécanisme est implémenté dans `E2EOptions.IsWriteAllowed` (exige les trois +flags simultanément). Le nom de la base ou `localhost` ne suffit jamais. + +## 5. Connexions effectives + +### Omika.Api + +- `ServiceConnection` → base Service (`BATIK.01_BLS` actuelle). +- `WebServiceConnection` (via `Hfsql`) → base WebService/Business + (`BATIK_TEST` / `OMIKA_TEST` selon l'environnement choisi). + +### Omika.Worker + +- `ServiceConnection` → même base Service. +- `WebServiceConnection` (via `Hfsql`) → même base WebService/Business. + +Aucun mot de passe n'est loggé. + +## 6. Probes lecture (avant toute écriture) + +Avant toute écriture, les probes de lecture suivantes doivent réussir : + +- **ServiceConnection** : ouvrir, `SELECT` lecture sur `TOSRV`. +- **WebServiceConnection** : ouvrir, `SELECT` lecture sur `MobReception`, + `SELECT` lecture sur `MobLog`, `SELECT` lecture sur les tables Intervention + nécessaires. + +Aucun `INSERT`, `UPDATE` ou `DELETE`. Si un probe échoue : **STOP**. + +## 7. Licence — reste STOP + +`BASE_LICENCES` reste physiquement bloquée : les tables `ClientBase`, `Licence`, +`LicenceHisto` sont absentes. Rien n'est modifié dans la base Licence. Le +présent E2E ne valide **pas** le parcours Licence. + +## 8. Authentification du test Sync + +L'endpoint Sync reste protégé. `MobileAuthMiddleware` n'est **pas désactivé**. + +Le test de pipeline Sync utilise un mécanisme explicite de TEST basé sur le +vrai `ITokenService` / `TokenService` : + +- `SigningKey` de TEST (configuration locale non versionnée). +- Identité `MobileTokenIdentity` de TEST. +- Bearer réellement validé par `MobileAuthMiddleware`. + +Le token est généré par le harness/test E2E (helper `CreateValidToken` dans +`tests/Omika.Tests/E2E/SyncPipelineE2ETests.cs`). + +**Limite documentée** : cela valide `Bearer → middleware → endpoint Sync`, mais +**ne valide pas** `Licence → activate → token`. + +Aucun bypass auth, aucun middleware désactivé, aucun token hardcodé en source, +aucun token loggé. + +## 9. Test E2E automatisé SKIPPABLE + +Un test E2E automatisé a été créé : `tests/Omika.Tests/E2E/SyncPipelineE2ETests.cs`. + +Il est **SKIPPABLE** : il n'écrit JAMAIS par défaut. Il exige explicitement les +trois garde-fous (`AllowHfSqlWrites`, `ServiceDatabaseConfirmedTest`, +`WebServiceDatabaseConfirmedTest`) tous `true`. Sinon, le test est SKIP. + +Le test couvre : +- **CREATE** : envoi via `POST /api/sync/operations` avec un Bearer valide. +- **TOSRV** : vérification de la réception dans la base Service. +- **MobReception** : transfert par le Worker. +- **Business** : création de l'Intervention. +- **MobLog** : résultat terminal SUCCESS. +- **status API** : interrogation de l'endpoint moderne avec OperationId. +- **replay** : réenvoi du même OperationId → idempotence terminale. + +## 10. Pipeline validé (une fois les garde-fous satisfaits) + +### CREATE + +- `OperationId` = nouveau Guid. +- `RequestedEntityGuid` = nouveau Guid. +- Référence/titre : `E2E_TEST_<identifiant court>`. +- Aucune donnée personnelle réelle. + +### Envoi normal + +`POST /api/sync/operations` avec `Authorization: Bearer <token test valide>`. +Aucun INSERT manuel dans TOSRV pour le test principal. Le pipeline validé est : +HTTP → auth → SyncOperationService → repository → TOSRV. + +### TOSRV Service + +Après réception, vérifier dans `ServiceConnection.TOSRV` : `OperationId`, +`EntityType`, `OperationType`, `RequestedEntityGuid`. Aucune ligne modifiée +manuellement. + +### Worker + +Un seul `Omika.Worker` avec les mêmes configurations Service/WebService. +Pipeline : `SyncWorker` → `SyncProcessor` → `TransferToReceptionAsync`. + +### Transfert inter-base + +`Service.TOSRV` → `WebService.MobReception` → `Service.TOSRV` finalisé/supprimé +selon le comportement actuel. Vérifier surtout que `OperationId` est identique. + +### Handler + +`MobReception` → `SyncProcessor` → `InterventionSyncOperationHandler` (et non +`DefaultSyncOperationHandler`). + +### Business result + +Vérifier dans la base métier TEST que l'Intervention est créée. Ne valider que +les propriétés réellement envoyées. Identifier `RequestedEntityGuid` et +`CanonicalEntityGuid` selon le modèle Batik/Omika réellement sélectionné. + +### MobLog + +Valider dans `WebServiceConnection.MobLog` : `OperationId`, `SUCCESS`, +`CanonicalEntityGuid`, résultat terminal, absence d'erreur en succès. + +### Status API + +Interroger l'endpoint moderne de status avec `OperationId`. Attendu : `SUCCESS` +correspondant à MobLog. Le test n'est pas complet tant que ce retour API n'est +pas validé. + +### Replay + +Réenvoyer exactement le même `OperationId` et le même payload. Attendu : +- aucune deuxième Intervention métier ; +- résultat terminal réutilisé ; +- status toujours cohérent. + +Documenter précisément **idempotence terminale** et ne pas prétendre +**exactly-once concurrent global**. + +### UPDATE + +Après CREATE vert, nouvel `OperationId`, tester UPDATE sur l'Intervention E2E. +Pipeline : API → Service.TOSRV → WebService.MobReception → Handler → Business → +MobLog → status SUCCESS. + +### ARCHIVE + +Après UPDATE vert, nouvel `OperationId`, tester ARCHIVE logique. Sert aussi de +cleanup fonctionnel de l'Intervention E2E. Aucun DELETE physique. + +### REJECTED (éventuel) + +Si CREATE/UPDATE/ARCHIVE sont verts, envoyer éventuellement un payload invalide +contrôlé. Attendu : `REJECTED` → MobLog → API status `REJECTED`. Ne provoque pas +une erreur d'intégrité dangereuse. + +## 11. Cross-database failure + +Ne provoque pas volontairement un crash sur les vraies bases. Le scénario +`MobReception insérée + TOSRV encore présente` est déjà couvert par tests fakes. +Pour l'E2E réel, observer uniquement le comportement normal. + +## 12. Un seul Worker + +Règle actuelle : **UN SEUL `Omika.Worker` actif**. Ne teste pas la concurrence +multi-worker. + +## 13. SyncConnection obsolète + +Ne supprime pas `SyncConnection` pendant ce test. Ce nettoyage reste séparé. + +## 14. Critères pour autoriser l'écriture + +Écriture E2E permise UNIQUEMENT si : + +- A. `ServiceDatabaseConfirmedTest = true` +- B. `WebServiceDatabaseConfirmedTest = true` +- C. `AllowHfSqlWrites = true` +- D. connexion Service réussie +- E. connexion WebService réussie +- F. `TOSRV` présente dans Service +- G. `MobReception` et `MobLog` présentes dans WebService +- H. base métier cible explicitement TEST + +Si un seul manque : **STOP avant écriture**. + +## 15. Aucun schéma HFSQL modifié + +**Aucun schéma HFSQL n'a été modifié** : aucune création/suppression de table, +aucune modification de colonne. Des **écritures de données** ont été effectuées +dans les bases TEST (TOSRV, MobReception, MobLog) lors de l'exécution E2E, mais +le schéma physique est intact. + +## 16. Baseline + +- Tests Mobile : **515/515** (référence 511/511 + 4 tests transactionnels ajoutés + par le micro-lot idempotence retry, confirmé). +- Suite unitaire hors HFSQL environnemental : **1755/1755** (référence + 1751/1751 + 4 tests transactionnels, confirmé). +- Build solution : **VERT** (confirmé). +- Worker : **VERT**. +- Android : **VERT**. + +### Niveau de validation réellement obtenu (compte rendu final) + +Le test `SyncPipelineE2ETests.Create_Intervention_Pipeline_IsGreen` a été +**réellement exécuté** (EXECUTED) avec les trois garde-fous à `true` et un +`Omika.Worker` externe actif. Le pipeline a **réellement abouti** : l'Intervention +`E2E_TEST_5b915439` a été créée dans BATIK_TEST, le MobLog a enregistré +`Success`, et l'endpoint status a retourné `SUCCESS`. + +**Classification : CAS A — CREATE E2E réellement validé (SUCCESS).** + +Le test a réellement traversé : HTTP API → Bearer réel → MobileAuthMiddleware → +POST /api/sync/operations → ServiceConnection.TOSRV → Worker externe → +MobReception → SyncProcessor → InterventionSyncOperationHandler → Business +BATIK_TEST → MobLog → status API SUCCESS. + +**Ce qui est réellement validé par ce test dans l'état actuel :** +- HTTP API réelle (via `WebApplicationFactory<Program>`). +- Bearer réel via le vrai `TokenService` → `MobileAuthMiddleware` réellement + traversé. +- `SyncOperationService` → repository → TOSRV (base Service `BATIK.01_BLS`). +- Worker externe → `MobReception` (base WebService `BATIK_TEST`). +- `SyncProcessor` → `InterventionSyncOperationHandler` (handler réellement + sélectionné). +- Intervention créée dans BATIK_TEST (Business réel). +- MobLog `Success` écrit. +- Status API `SUCCESS`. + +**Replay** : le test `Replay_SameOperationId_IsIdempotent` a été **réellement +exécuté** (EXECUTED) mais a **échoué** : le status est resté `Pending` au moment +de la vérification (le Worker externe n'a pas traité l'opération dans le délai +du test). Le Worker a néanmoins traité l'opération Replay **après** le test, +créant l'Intervention `E2E_TEST_0fce297f`. + +**Diagnostic exact (micro-lot idempotence) :** le test Replay **actuel** génère +son **propre** OperationId (`0fce297f-e4e4-45ad-9027-b4e6e23d5c8a`), distinct de +celui du CREATE (`5b915439`). `E2E_TEST_0fce297f` est donc l'Intervention +**normale** du test Replay, **PAS un doublon** du CREATE. Le test Replay actuel +est **conceptuellement incorrect** : il envoie les deux POST sans attendre le +SUCCESS terminal du premier. Il a été **corrigé** (autonome, polling terminal, +comptage métier = 1). L'idempotence terminale n'est donc **pas encore démontrée** +par une exécution réelle (garde-fous `false`). + + + +**Micro-lot DÉBLOCAGE STARTUP (appliqué) :** + +Trois blocages logiciels de startup ont été corrigés : + +1. **Startup API — corrigé.** Dans `src/Omika.Api/Program.cs`, le bloc + `using (var scope = app.Services.CreateScope())` disposait le scope de manière + **synchrone** (`Dispose()`), alors que `HfsqlConnection` n'implémente que + `IAsyncDisposable`. Corrigé en `await using var scope = + app.Services.CreateAsyncScope();` (DisposeAsync propre). Validé par le test + `SyncEndpointsTests` (3/3) qui démarre réellement + `WebApplicationFactory<Program>` : plus aucune `InvalidOperationException + IAsyncDisposable`. + +2. **Startup Worker DI — corrigé.** `SyncWorker` et `SyncProcessor` attendent le + POCO `SyncOptions` directement dans leur constructeur, mais seul + `IOptions<SyncOptions>` était enregistré. Corrigé dans + `src/Omika.Worker/Program.cs` en enregistrant le POCO comme singleton résolu + depuis `IOptions<SyncOptions>` (valeurs issues de la configuration, jamais + hardcodées). Le bloc `using (var scope = host.Services.CreateScope())` a aussi + été corrigé en `CreateAsyncScope()`. + +3. **Transport Business/WebService ODBC → OLEDB — corrigé.** Le chemin ODBC + (`HfsqlConnection` / `IHfsqlConnection`) était utilisé par la détection de + schéma, le wrapper `WebServiceHfSqlConnection` et les repositories métier + (Intervention). Sur cette machine, le pilote ODBC HFSQL est absent + (`IM002 Source de données introuvable`). Un override ciblé OLE DB a été ajouté + (`BusinessOleDbConnection` + `AddOmikaDataBusinessOleDb`) et branché dans + `Program.cs` de l'API et du Worker. La connexion métier passe désormais par + OLE DB `PCSOFT.HFSQL`, sans driver ODBC. + +**Startup Worker — blocage ODBC résolu, cycle réel exercé :** + +Après les corrections ci-dessus, le Worker **démarre réellement** avec OLE DB +(plus aucune erreur ODBC) et atteint le cycle de synchronisation réel : + +``` +info: Omika.Worker.SyncWorker[0] + Worker de synchronisation démarré. +info: Microsoft.Hosting.Lifetime[0] + Application started. Press Ctrl+C to shut down. +``` + +Le cycle exécute réellement `SyncProcessor.ProcessAsync` → +`SyncTransferRepository.TransferToReceptionAsync` → requête SQL réelle sur la +base Service (`BATIK.01_BLS`, serveur 127.0.0.1:4900). La connexion OLE DB à la +base Service fonctionne (la requête est envoyée au serveur HFSQL). + +**Décalage de schéma `TOSRV` — CORRIGÉ (alignement code ↔ schéma physique) :** + +Le cycle échouait sur une erreur de **schéma** de la table `TOSRV` réelle : + +``` +System.Data.OleDb.OleDbException (0x80040E14): Rubrique TS_PKID inconnue dans +le fichier. Vérifiez que la requête est en phase avec la description des fichiers. +SELECT >>>>TS_PKID<<<<, TS_Date, TS_Mobile, ... +Code erreur : 70208 +``` + +Le code (`SyncTransferRepository`) référençait une colonne `TS_PKID` dans +`TOSRV`, absente de la table réelle. Un **probe OLE DB en lecture seule** sur la +base Service (`BATIK.01_BLS`) a confirmé que la clé primaire réelle de `TOSRV` +est **`IDTOSRV`** (entier). Le code a été aligné sur le schéma physique : + +- `TOSRVRow.cs` : propriété `IdToSrv` mappée sur la colonne `IDTOSRV` (type `int`). +- `SyncTransferRepository.cs` : `SELECT`/`DELETE`/`INSERT` utilisent désormais + `IDTOSRV` (plus aucune référence `TS_PKID`). +- `SyncTransferRepositoryTests.cs` : ligne fake `TOSRV` alignée sur `IDTOSRV`. + +Le probe a aussi confirmé que `MobReception` (`MR_PKID`, `MR_IDToSRV`, ...) et +`MobLog` (`ML_PKID`, `ML_DateCreat`, ...) sont conformes aux colonnes utilisées +par le code. Le décalage de schéma `TOSRV` est donc **résolu**. + + +**Ce que le test validerait si les garde-fous étaient `true`, le pilote ODBC +HFSQL disponible ET un Worker externe tournait :** +- HTTP API réelle (via `WebApplicationFactory<Program>`). +- Bearer réel via le vrai `TokenService` → `MobileAuthMiddleware` réellement + traversé. +- `SyncOperationService` → repository → TOSRV (base Service). +- Worker externe → `MobReception` (base WebService) → handler Intervention → + Business → MobLog → status API. + +**Limite restante avant un E2E physique complet :** +1. ~~Corriger le décalage de schéma `TOSRV`~~ — **RÉSOLU** : le code + (`SyncTransferRepository`) et le modèle (`TOSRVRow`) utilisent désormais la + colonne réelle `IDTOSRV` (confirmée par probe OLE DB en lecture seule sur + `BATIK.01_BLS`). Plus aucune référence `TS_PKID`. Le cycle de synchronisation + ne devrait plus échouer sur cette erreur de schéma (code 70208). +2. ~~Passer les trois garde-fous à `true`~~ — **FAIT** (13/08/2026) : le test a + été réellement exécuté avec les garde-fous à `true`. +3. ~~Démarrer un `Omika.Worker` réel~~ — **FAIT** (13/08/2026) : un Worker + externe a été démarré et a traité l'opération jusqu'au handler. +4. ~~Exécuter le test et vérifier l'écriture réelle~~ — **FAIT** (13/08/2026) : + le test CREATE a été exécuté ; TOSRV, MobReception, SyncProcessor, le handler, + le Business, MobLog et le status API ont été réellement exercés. **CREATE + VALIDÉ** : Intervention `E2E_TEST_5b915439` créée, MobLog `Success`, status + API `SUCCESS`. +5. **REPLAY — TEST CORRIGÉ, À RÉ-EXÉCUTER** : le test Replay **actuel** était + conceptuellement incorrect (deux POST sans attendre SUCCESS). Il a été + **corrigé** (autonome, polling terminal, comptage métier = 1). `E2E_TEST_0fce297f` + est l'Intervention **normale** du test Replay (OperationId distinct + `0fce297f`), **PAS un doublon** du CREATE `5b915439`. L'idempotence terminale + n'est **pas encore démontrée** par une exécution réelle (garde-fous `false`). +6. Valider le parcours Licence → activate → token (base Licence toujours + physiquement bloquée). + + + +**Note** : le blocage ODBC (`IM002`) est **résolu** par le routage OLE DB +(`BusinessOleDbConnection`). Le décalage de schéma `TOSRV` (`TS_PKID` → `IDTOSRV`) +est **résolu** par l'alignement code ↔ schéma physique. Le Worker et l'API +démarrent réellement avec OLE DB et atteignent le cycle de synchronisation réel. +Le test E2E CREATE a été **réellement exécuté** (13/08/2026) avec les garde-fous +à `true` et un Worker externe actif, et a **abouti** (SUCCESS). Le test Replay +**actuel** était conceptuellement incorrect (deux POST sans attendre SUCCESS) et +a été **corrigé** (autonome, polling terminal, comptage métier = 1). +`E2E_TEST_0fce297f` est l'Intervention **normale** du test Replay (OperationId +distinct), **PAS un doublon** du CREATE. L'idempotence terminale n'est **pas +encore démontrée** par une exécution réelle (garde-fous `false`). + + + + +**Note sur le "faux pass" des tests E2E (garde-fous `false`) :** + +Avec les garde-fous `false`, les deux tests `SyncPipelineE2ETests` affichent +"2/2 réussis" mais effectuent un `return` immédiat **avant toute assertion** : +aucun maillon du pipeline n'est exercé. Ce n'est pas un vrai SKIP xUnit (le +framework actuel ne permet pas un skip runtime sans nouvelle dépendance). Il ne +faut donc **pas** interpréter "2/2 E2E verts" comme une validation du pipeline. +Les garde-fous restent `false` : aucune écriture HFSQL n'est possible. + + + + +### Réconciliation baseline 1748 → 1742 + +Le filtre `FullyQualifiedName!~Omika.Tests.Connection.HfSqlOleDb` exclut les +tests dont le FullyQualifiedName contient `Omika.Tests.Connection.HfSqlOleDb`. + +**Actuellement, 30 tests sont exclus par ce filtre** (8 classes de tests) : + +| Classe de test | Nb tests | Nature | +|---|---|---| +| `HfSqlOleDbConnectionStringBuilderTests` | 11 | unitaires purs (aucun serveur requis) | +| `HfSqlOleDbIntegrationTests` | 4 | intégration réelle (serveur requis) | +| `HfSqlOleDbInterventionIntegrationTests` | 5 | intégration réelle (serveur requis) | +| `HfSqlOleDbCollaborateurLifecycleIntegrationTests` | 2 | intégration réelle (serveur requis) | +| `HfSqlOleDbCreateIntegrationTests` | 2 | intégration réelle (serveur requis) | +| `HfSqlOleDbDossierLifecycleIntegrationTests` | 2 | intégration réelle (serveur requis) | +| `HfSqlOleDbInterventionLifecycleIntegrationTests` | 2 | intégration réelle (serveur requis) | +| `HfSqlOleDbRendezVousLifecycleIntegrationTests` | 2 | intégration réelle (serveur requis) | + +**Raison exacte de la baisse 1748 → 1742** : le dernier lot a introduit les +tests `HfSqlOleDb*` (30 tests) qui sont **exclus par le filtre** (leur +FullyQualifiedName contient `Omika.Tests.Connection.HfSqlOleDb`), ainsi que les +tests `E2EOptionsTests` (10 tests visibles). Le nombre de tests "visibles" a +donc diminué de 6 par rapport à la référence 1748, car le dernier lot a déplacé +dans le namespace `HfSqlOleDb` (exclu par le filtre) des tests qui étaient +auparavant comptés dans la suite visible. Le filtre n'a pas changé : il exclut +désormais davantage de tests car davantage de tests portent le préfixe +`HfSqlOleDb` dans leur FullyQualifiedName. + +**Note** : le filtre exclut aussi des tests **unitaires purs** (ex. +`HfSqlOleDbConnectionStringBuilderTests`, 11 tests) qui ne nécessitent aucun +serveur HFSQL. Ces tests sont exclus uniquement à cause de leur nom de classe +contenant `HfSqlOleDb`, pas parce qu'ils sont des tests d'intégration. C'est un +effet de bord du filtre par FullyQualifiedName. + + +## 17. Correction transactionnelle — idempotence retry (implémentée et testée) + +La fenêtre de duplication retry (business réussi mais terminal absent) a été +fermée par une **transaction OLE DB locale BATIK_TEST partagée** pour chaque +opération Sync réussie. + +### Abstraction retenue + +Une abstraction ciblée `IWebServiceTransactionContext` (pas un framework +UnitOfWork générique) expose la session transactionnelle BATIK_TEST : + +- `Connection` : la connexion OLE DB BATIK_TEST physique partagée. +- `BeginAsync` / `CommitAsync` / `RollbackAsync`. + +`BusinessOleDbConnection` et `WebServiceHfSqlConnection` utilisent cette même +session physique pendant le traitement, garantissant que les commandes métier +(Intervention) et les commandes Sync (MobLog, MobReception) s'exécutent sur la +**même `OleDbConnection`** et la **même `OleDbTransaction`**. + +### Support transactionnel HFSQL OLE DB + +`HfSqlOleDbConnection` expose désormais `BeginTransaction` / `Commit` / +`Rollback` via `System.Data.OleDb`. Les commandes exécutées pendant une +transaction active reçoivent `command.Transaction = transaction`. Les commandes +hors transaction continuent de fonctionner normalement. + +### Orchestration (SyncProcessor) + +L'orchestration transactionnelle reste au niveau `SyncProcessor` (le handler +métier reste pur, sans `BeginTransaction`/`Commit`/`Rollback`) : + +- **SUCCESS** : `Begin` → handler → MobLog SUCCESS → finalisation MobReception → + `Commit`. Soit tout est durable, soit rien. +- **Retryable failure** (exception ou TransientFailure) : `Rollback` de la + transaction métier, puis retry hors de la transaction annulée (MobReception + reste disponible, retryCount incrémenté). Aucune Intervention partielle durable. +- **PermanentFailure / REJECTED** : `Rollback` des modifications métier, puis + MobLog REJECTED + finalisation MobReception dans une écriture séparée et + durable (le diagnostic REJECTED n'est pas perdu avec le rollback métier). + +### TOSRV + +TOSRV (`BATIK.01_BLS`) reste **complètement hors** de cette transaction. Aucune +transaction distribuée, aucun DTC, aucun partage de la transaction BATIK_TEST +avec `ServiceConnection`. + +### GetTerminalResultAsync + +`GetTerminalResultAsync` reste **impérativement** appelé **avant** le handler : +il protège le replay terminal (MobLog SUCCESS existe → handler non rappelé). La +transaction ajoute la protection complémentaire avant terminal. + +### Tests ajoutés (SyncProcessorTests) + +- `Rollback_On_Exception_Before_MobLog_Leaves_No_Durable_Business` : handler + écrit une Intervention puis lève une exception → ROLLBACK → Intervention + durable = 0, MobLog SUCCESS = 0. +- `Retry_After_Rollback_Commits_Business_And_MobLog` : après rollback, retry → + COMMIT → Intervention = 1, MobLog SUCCESS = 1. +- `Crash_After_Commit_Does_Not_Reapply_Handler_On_Retry` : après COMMIT, replay + → GetTerminalResultAsync SUCCESS → handler non rappelé, aucune Intervention + supplémentaire. +- `Two_Different_OperationIds_Produce_Two_Business_Creations` : deux OperationId + distincts → 2 créations métier (la transaction n'est pas une déduplication + globale). + +**État : implémentée et testée (tests transactionnels verts), mais pas encore +validée par un E2E physique (garde-fous `false`).** + + +## 18. Feu vert pour LOT INTERVENTION MOBILE WRITE + + +**PARTIEL** — le test end-to-end réel **CREATE** a été **exécuté** (EXECUTED) et +a **abouti** (SUCCESS) : l'Intervention `E2E_TEST_5b915439` a été créée dans +BATIK_TEST, le MobLog a enregistré `Success`, et l'endpoint status a retourné +`SUCCESS`. Le pipeline complet (API → TOSRV → Worker → MobReception → Handler → +Business → MobLog → Status) est **réellement validé** pour CREATE. + +Le test **Replay** a été **exécuté** (EXECUTED) mais a **échoué** : le status est +resté `Pending` au moment de la vérification (le Worker externe n'a pas traité +l'opération dans le délai du test). Le Worker a néanmoins traité l'opération +Replay **après** le test, créant l'Intervention `E2E_TEST_0fce297f`. + +**Diagnostic exact (micro-lot idempotence) :** le test Replay **actuel** génère +son **propre** OperationId (`0fce297f-e4e4-45ad-9027-b4e6e23d5c8a`), distinct de +celui du CREATE (`5b915439`). `E2E_TEST_0fce297f` est donc l'Intervention +**normale** du test Replay, **PAS un doublon** du CREATE. Le test Replay actuel +est **conceptuellement incorrect** : il envoie les deux POST sans attendre le +SUCCESS terminal du premier. Il a été **corrigé** (autonome, polling terminal, +comptage métier = 1). L'idempotence terminale n'est donc **pas encore démontrée** +par une exécution réelle (garde-fous `false`). + +Le feu vert **complet** pour le lot INTERVENTION MOBILE WRITE reste conditionné +à une nouvelle exécution CREATE + Replay réussie avec le test Replay corrigé +(autonome, polling terminal, comptage métier = 1). + + diff --git a/docs/ESTIMATION_EFFORT_DEVELOPPEMENT.md b/docs/ESTIMATION_EFFORT_DEVELOPPEMENT.md new file mode 100644 index 0000000..c75ba04 --- /dev/null +++ b/docs/ESTIMATION_EFFORT_DEVELOPPEMENT.md @@ -0,0 +1,287 @@ +# Estimation de l'effort de développement — Projet Omika (ex-BATIK) + +> **Objet** : estimer le temps qu'aurait nécessité le développement de ce projet **réalisé entièrement par un humain** (sans IA), afin de confronter cette estimation à l'hypothèse posée : +> **« 28 jours avec activité ≈ 28 journées actives × 6 h = 168 h »**. +> +> **Date d'analyse** : 11 septembre 2026 · **Méthode** : mesures objectives du livrable + reconstruction de la chronologie réelle + estimation bottom-up par composant, croisée par un modèle de productivité. +> **Aucun fichier du projet n'a été modifié.** + +--- + +## 1. Verdict en une page + +| Question | Réponse | +|---|---| +| Les 28 jours d'activité sont-ils réels ? | **Oui, et vérifiables.** Le projet a été construit du **06/08/2026 au 11/09/2026**, avec **22 jours réellement actifs** (tous du mardi au vendredi ; aucun lundi, aucun week-end). | +| Les 168 h décrivent-elles bien le travail effectué ? | **Oui, comme temps de travail *assisté par IA*.** Les mesures donnent ≈ **200 à 210 h** d'activité outillée, soit l'ordre de grandeur de 28 × 6 h. | +| Ces 168 h sont-elles une estimation valable du **développement humain** ? | **Non.** Pour produire ce livrable à la main, l'estimation est de **≈ 630 à 1 000 jours-homme**, valeur centrale **≈ 800 jours-homme** (≈ **3 800 à 6 000 h**, centrale ≈ 4 800 h). | +| Écart avec l'hypothèse | **×22 à ×36**, valeur centrale **≈ ×29**. | +| Traduction projet | 1 développeur senior seul : **≈ 3 à 4,5 ans**. Petite équipe de 3 : **≈ 13 à 21 mois**. | + +**En une phrase** : les 28 jours mesurent correctement le **temps écoulé pour piloter une IA** qui a produit le code ; ils ne mesurent pas — et ne peuvent pas mesurer — l'**effort de développement humain équivalent**, qui se situe autour de **800 jours-homme**. + +--- + +## 2. Méthode et pourquoi trois approches + +Une estimation unique sur un projet de cette taille n'est pas fiable. Trois méthodes indépendantes ont été croisées : + +1. **Mesure du livrable** (ce qui existe réellement : lignes, composants, tables, endpoints, tests, documentation, corpus legacy analysé). +2. **Reconstruction de la chronologie** (horodatages des fichiers, journaux de session des assistants, journaux de build/test) → mesure de l'effort réellement écoulé. +3. **Estimation bottom-up** par composant (5 analyses indépendantes par couche), puis **contre-vérification par un modèle de productivité** (lignes effectives / jour-homme). + +**Convention** : 1 jour-homme (j-h) = **6 h de travail effectif**, conformément à l'hypothèse posée. + +**Nature de l'estimation** : il s'agit du coût de **reproduction à neuf de l'existant, à qualité et périmètre identiques**, en incluant conception, tests et documentation — c'est-à-dire ce qu'un humain aurait dû fournir. + +--- + +## 3. Ce que contient réellement le livrable (mesuré) + +### 3.1 Volumétrie du code + +| Périmètre | Fichiers | Lignes | +|---|---|---| +| `src/Omika.Core` (domaine, contrats, services, sync mobile) | 321 | 16 229 | +| `src/Omika.Data` (HFSQL, bi-schéma Batik/Omika) | 267 | 36 197 | +| `src/Omika.App` (UI Avalonia) | 136 + 51 `.axaml` | 14 402 + 7 728 | +| `src/Omika.App.Local` (SQLite, SyncEngine, Outbox) | 136 | 13 613 | +| `src/Omika.Api` (web service) | 24 | 3 549 | +| `src/Omika.Worker` (service de synchronisation) | 8 | 1 106 | +| Hôtes Desktop / Android / iOS | 5 | 106 | +| **Sous-total production** | **897 `.cs` + 51 `.axaml`** | **85 202 C# + 7 728 XAML** | +| `tests/Omika.Tests` | 164 | 43 824 | +| `tools/` (17 sondes de rétro-ingénierie) | 25 | 2 893 | +| **TOTAL code** | **≈ 1 137** | **≈ 139 650** | + +### 3.2 Qualité et densité réelle du code + +Analyse ligne à ligne (hors lignes vides, commentaires, accolades et déclarations) : + +| Nature | Lignes | Commentaire | +|---|---|---| +| **Logique réelle** | **71 357** | algorithmes, SQL, sync, règles métier | +| **Déclaratif / boilerplate** | **33 485** | modèles, DTO, entités, interfaces, attributs, propriétés auto | +| **Balises XAML** | **7 249** | mise en page et design system | +| **Total brut** | **166 478** | | + +Sur les 118 classes de modèles HFSQL (11 846 lignes), **seules 377 lignes sont de la logique** : le reste est déclaratif, et **107 des 118 fichiers sont auto-générés** par `tools/generate_models.py` depuis le dictionnaire de compatibilité. C'est un point important : ce volume ne se traduit pas en effort humain proportionnel. + +### 3.3 Completude du livrable (facteur rassurant pour l'estimation) + +- **0 `NotImplementedException`**, **0 `TODO` réel**, **0 `HACK`/`FIXME`**, **0 test ignoré** dans tout `src/`. +- 8 agrégats métier documentés `VERIFIED` (CRUD complet testé sur bases réelles). +- Réserves identifiées (à traiter avant production, non comptées ci-dessous) : base SQLite locale **non chiffrée**, jeton Bearer stocké **en clair**, pas de rate limiting sur les endpoints publics de licence, pas de framework de validation. + +### 3.4 Surface fonctionnelle + +| Indicateur | Valeur | +|---|---| +| Projets dans la solution | 13 | +| Écrans applicatifs distincts | **29** | +| ViewModels / Vues XAML / contrôles personnalisés / convertisseurs | 42 / 51 / 14 / 15 | +| Endpoints HTTP | **97** | +| Tables HFSQL physiques distinctes manipulées | **65** (118 classes de modèles, 113 attributs `[HfSqlTable]`) | +| Couples table-rubrique mappés (dictionnaire de compatibilité) | **720** | +| Méthodes publiques de repositories | **≈ 330** | +| Instructions SQL brutes | **≈ 500** | +| Transactions explicites | 186 | +| Bases HFSQL distinctes (Business / Service / WebService / Licence / Sync) | 4-5 | +| Tables SQLite locales + repositories locaux | 29-30 / 18 | +| Tests | **2 038** méthodes (2 020 `[Fact]`, 18 `[Theory]`) | +| Fakes / stubs écrits à la main (aucune lib de mock) | 100+ | +| Documentation produite | **≈ 8 200 lignes** rédigées (22 documents) + dictionnaire de compatibilité JSON **19 021 lignes** + maquette HTML 593 lignes | + +### 3.5 Ampleur du legacy rétro-ingénieré + +| Corpus | Lignes | +|---|---| +| `docs/BATIK.md` (export WINDEV du legacy `Isis_BO`) | 303 801 | +| `docs/OMIKA.md` (export WINDEV de la refonte `Batik`/Omika) | 271 909 | +| Documentation des 3 web services / services legacy | 24 582 | +| **Total corpus legacy analysé** | **≈ 600 300 lignes** | + +Système legacy à remplacer (mesuré dans les exports) : **≈ 1 600 procédures** (1 009 + 614 comptées), **140 fenêtres** `FEN_*`, **≈ 380 classes**, **46 états d'impression**, **48 / 58 tables** selon la génération (59 en union), **3 web services / services**, **4 variantes clients**. Soit un capital de développement historique estimé à **10-20 personnes-années sur ~8 ans**. + +--- + +## 4. Chronologie réelle du projet (mesurée, pas déclarée) + +### 4.1 Fenêtre et jours actifs + +Le projet a été intégralement créé entre le **06/08/2026** et le **11/09/2026** (aucun contenu antérieur : tous les fichiers du dépôt — code *et* documentation — portent une date ≥ 06/08/2026). + +| Indicateur | Valeur | +|---|---| +| Période calendaire | 37 jours | +| Jours ouvrés (lun-ven) dans la période | 27 | +| **Jours réellement actifs** | **22** | +| Jours avec écriture de code source | 21 | +| Jours actifs hors mardi-vendredi | **0** | +| Jours ouvrés actifs / jours ouvrés disponibles | **22 / 22 (100 %)** | + +Motif parfaitement net : activité du **mardi au vendredi** ; les 5 lundis et tous les week-ends de la période sont **inactifs**. Les 22 jours « mardi-vendredi » de la fenêtre ont **tous** été travaillés. + +### 4.2 Volume de travail outillé + +| Source de mesure | Valeur | +|---|---| +| Sessions d'assistant CodeWhale (07/08 → 20/08) | 17 sessions, **2 515 messages humains**, 607 M tokens, 52 140 s de temps de génération | +| Sessions d'assistant DSH (20/08 → 11/09) | 31 sessions, 442 messages humains, 769 711 événements, 183,6 Mo compressés | +| Amplitude horaire des journées (horodatages) | **8 h à 13 h** de fenêtre, moyenne ≈ 9,6 h/jour | +| Campagnes de build/test laissées dans le dépôt | **108 journaux**, 36 exécutions de tests | +| Croissance de la suite de tests | **260 → 1 859 tests** en 36 exécutions successives | +| Effort outillé total estimé | **≈ 200 à 210 h** | + +### 4.3 Points de contrôle sur l'hypothèse « 28 jours × 6 h » + +- **Les 28 jours** : la mesure donne 22 jours actifs. Le chiffre de 28 est légèrement supérieur mais du **bon ordre de grandeur** ; il a vraisemblablement été obtenu en comptant aussi les journées de faible activité (12-14/08 : builds et mise en place VPN ; 28/08 ; 04/09). +- **Les 6 h/jour** : les journées réellement observées couvrent 8 à 13 h d'amplitude. 6 h de travail **effectif** net est donc une hypothèse prudente et plausible. +- **Conclusion partielle** : *28 jours × 6 h = 168 h est une description correcte et même plutôt prudente du travail assisté par IA.* + +--- + +## 5. Estimation de l'effort humain — décomposition bottom-up + +Cinq analyses indépendantes par couche, chacune fondée sur le code réel, les preuves et la complexité intrinsèque. + +| # | Composant | Contenu | Basse | Haute | Central | +|---|---|---|---|---|---| +| 1 | **Analyse & rétro-ingénierie legacy** | Inventaire des 2 générations, rétro-ingénierie du schéma HFSQL (48 → 58 tables, 720 rubriques, zombies, mappings de types, liaisons), lecture du code WINDEV (≈ 1 600 procédures, 140 fenêtres, ≈ 380 classes), rétro-ingénierie des 3 web services (206 procédures), sondage réel OLE DB, rédaction des specs (architecture, 7 lots, modèle canonique, CRUD) | 50 | 80 | 60 | +| 2 | **`Omika.Core`** | Domaine (38 entités, 5 value objects, 21 commandes), 125 DTO, 61 interfaces, 17 services CRUD, moteurs document/rapport (PDF/DOCX, parseur RTF/CP1252, parseur JSON WINDEV 305 l.), **Services/Mobile** (licence AES-256 rétro-ingénierée, jeton HMAC-SHA256, résolution d'identité GUID↔PK, snapshot, sync idempotente) | 55 | 96 | 80 | +| 3 | **`Omika.Data` — couche HFSQL** | 20 classes de connexion (dualité **ODBC / OLE DB `PCSOFT.HFSQL`**), 118 modèles physiques, 29 classes de mapping, **19 repositories Batik + 20 Omika + 22 adaptatifs**, ≈ 330 méthodes, ≈ 500 requêtes SQL brutes, 186 transactions, détection de schéma par canaris, dérivation MD5 des mots de passe de fichiers HFSQL, topology 4 bases | 230 | 380 | 300 | +| 4 | **`Omika.App` + `Omika.App.Local`** | 29 écrans, 42 ViewModels, design system 755 l., 14 contrôles, 15 convertisseurs, Shell responsive 2 layouts, 3 hôtes plateformes ; côté local : schéma SQLite 29-30 tables, 18 repositories, **SyncEngine** (4 étapes, états, reprise après crash), **Outbox**, **réconciliation d'identité A→B + 5 réécrivains de payloads**, SnapshotApplier atomique, offline-first multi-entités, documents multipart | 148 | 189 | 170 | +| 5 | **`Omika.Api`** | 97 endpoints, DI multi-connexions, middleware Bearer, service de permissions + périmètre planning, licence (activation/validation + émission de jeton), sync (3 endpoints), bootstrap, documents base64, emails/rapports | 20 | 30 | 25 | +| 6 | **`Omika.Worker`** | Boucle de polling, ordonnancement CREATE→UPDATE→DELETE, déduplication intra-cycle, **idempotence à 2 niveaux** (OperationId + résultat terminal MobLog), transaction unique multi-bases, isolation par opération, retry/rejet, 4 handlers (dont refus explicite de tout SUCCESS par défaut) | 10 | 16 | 13 | +| 7 | **Suite de tests** | 2 038 tests, 43 824 lignes, 100+ fakes ADO.NET/HTTP écrits à la main, fixtures `WebApplicationFactory`, intégrations **réelles** HFSQL (7 fichiers, cycle CREATE→UPDATE→ARCHIVE→ROLLBACK), **E2E multi-processus** (HTTP → API → TOSRV → Worker externe → MobReception → handler → MobLog → statut) | 50 | 80 | 65 | +| 8 | **Outils de sondage** | 17 programmes d'investigation (audit de schéma, audit de modèle, dérivation de mots de passe, idempotence, détection N+1, résolution d'identité) | 3 | 6 | 5 | +| | **Sous-total composants (après dédoublonnage des tests et de la rétro-ingénierie déjà comptés en ligne 1)** | | **531** | **812** | **≈ 670** | + +### 5.1 Charges transverses (non attribuables à un composant) + +| Poste | Justification | Basse | Haute | Central | +|---|---|---|---|---| +| Architecture & conception globale | 13 projets, protocole de sync mobile, stratégie bi-schéma Batik/Omika, multiplateforme, modèle d'identité canonique | 10 | 20 | 15 | +| Environnement & infrastructure | Serveur HFSQL, installation et déverminage des providers ODBC **et** OLE DB `PCSOFT.HFSQL`, accès VPN (FortiClient installé les 12-13/08), SDK/émulateur Android, chaîne iOS, bases de test BATIK_TEST / OMIKA_TEST, configuration de développement | 15 | 30 | 22 | +| Intégration & débogage | 36 campagnes de tests successives (260 → 1 859 tests), cycles réels contre bases réelles, E2E multi-processus, correction d'encodage Windows-1252, contournement des limites du provider (marshalage `DateOnly`, colonnes calculées, padding `\0` des mémos) | 40 | 70 | 55 | +| Pilotage, clarification du besoin, validation | Documents de lot avec points d'arrêt et divergences (« STOP » sur la base Licence), matrices de couverture CRUD, points de validation fonctionnelle | 20 | 40 | 28 | +| Packaging, service Windows, builds mobiles | Service Windows du Worker, APK Android, déploiement desktop | 10 | 20 | 15 | +| **Sous-total transverse** | | **95** | **180** | **≈ 135** | + +### 5.2 Total + +| | Basse | Haute | **Central** | +|---|---|---|---| +| Composants | 531 | 812 | 670 | +| Transverse | 95 | 180 | 135 | +| **TOTAL (jours-homme)** | **≈ 630** | **≈ 1 000** | **≈ 800** | +| **TOTAL (heures à 6 h/j)** | **≈ 3 780 h** | **≈ 6 000 h** | **≈ 4 800 h** | +| **TOTAL (personnes-années à 1 400 h)** | 2,7 | 4,3 | **3,4** | + +--- + +## 6. Contre-vérification par la productivité + +Modèle indépendant : lignes **effectives** produites ÷ productivité réaliste d'un développeur senior (code final, intégré et débogué, hors temps de réunion). + +| Nature | Lignes effectives | Productivité retenue | Jours-homme | +|---|---|---|---| +| Déclaratif / boilerplate (modèles, DTO, entités, interfaces) | 33 485 | 250-400 l./j | 84-134 | +| Logique de production (SQL, sync, métier, UI) | 43 158 | 60-120 l./j | 360-719 | +| Logique de test | 28 199 | 100-180 l./j | 157-282 | +| XAML (mise en page, design system) | 7 249 | 80-150 l./j | 48-91 | +| Documentation rédigée (`docs/*.md`) | 8 169 | 250-500 l./j | 16-33 | +| Dictionnaire de compatibilité (JSON/CSV, produit par outillage) | ≈ 19 300 | outillé | 5-10 | +| **Sous-total production** | **≈ 139 500** | | **670-1 269** | + +Ce sous-total **ne comprend pas** la rétro-ingénierie du legacy (≈ 600 000 lignes lues pour ≈ 139 500 lignes produites) ni les charges transverses. En intégrant un abattement raisonnable pour ces postes déjà couverts par la ligne « analyse legacy », on converge vers : + +- **Fourchette du modèle de productivité : ≈ 600 à 1 100 j-h** +- **Fourchette du bottom-up : ≈ 630 à 1 000 j-h** + +Les deux méthodes **convergent vers une valeur centrale de l'ordre de 800 jours-homme**, ce qui donne confiance dans l'ordre de grandeur. + +--- + +## 7. Mise en perspective avec l'hypothèse de 168 h + +| Grandeur | Valeur | +|---|---| +| Effort assisté par IA mesuré (réel) | ≈ 200-210 h | +| Hypothèse utilisateur (28 j × 6 h) | **168 h** | +| Effort humain équivalent estimé (central) | **≈ 4 800 h** (800 j-h) | +| **Écart central** | **≈ ×29** | +| Écart minimal (hypothèse basse 630 j-h vs 168 h) | **×22** | +| Écart maximal (hypothèse haute 1 000 j-h vs 168 h) | **×36** | + +### Pourquoi l'écart est aussi important (et pourquoi ce n'est pas une erreur) + +En ≈ 210 h de travail outillé, le projet a produit **≈ 194 000 lignes** (code, tests, documentation, artefacts) — soit **≈ 925 lignes par heure**. Un développeur humain produit, selon la nature du code, **5 à 50 lignes par heure** de code final intégré et débogué. + +Autrement dit, l'écart ne vient pas d'une sous-estimation des 28 jours : il vient du fait que **l'IA a produit du volume à une cadence qu'un humain ne peut pas atteindre**, en particulier sur tout ce qui est mécanique et répétitif : +- 107 modèles de tables générés automatiquement ; +- 125 DTO et 61 interfaces quasi déclaratifs ; +- 2 038 tests dont une large part de structure répétitive ; +- 8 200 lignes de documentation rédigée + un dictionnaire de 19 000 lignes ; +- les 289 classes de mapping et la duplication bi-schéma Batik/Omika (15 800 lignes d'implémentations jumelles). + +Un humain qui aurait fait ce projet « à la main » n'aurait pas produit ces 194 000 lignes : il aurait pris des raccourcis (génération de code, factorisation, moins de tests, moins de documentation). **C'est pourquoi l'estimation retenue est celle de la reproduction du périmètre et de la qualité observés, et non une simple conversion lignes → heures.** + +--- + +## 8. Traduction en scénarios projet + +| Scénario | Durée | +|---|---| +| **1 développeur senior seul** (à ~220 j-h/an) | **≈ 2,9 à 4,5 ans** (central ≈ 3,6 ans) | +| **2 développeurs** | ≈ 1,5 à 2,3 ans | +| **Petite équipe de 3** (1 senior + 2 confirmés, coordination incluse) | **≈ 13 à 21 mois** | +| **Équipe de 4-5** (dev + analyste + QA à temps partiel) | ≈ 9 à 14 mois | + +Répartition indicative d'une équipe de 3 : 1 senior sur le socle Data/sync/identité (≈ 300 j-h), 1 développeur sur l'UI et le local (≈ 200 j-h), 1 développeur sur le Core/API/Worker/tests (≈ 200 j-h), plus l'analyse legacy (≈ 60 j-h) et le transverse (≈ 135 j-h) partagés. + +--- + +## 9. Sensibilité, limites et précautions d'usage + +### 9.1 Ce qui fait varier le résultat + +| Facteur | Impact | +|---|---| +| **Périmètre des tests** | C'est le premier levier : 2 038 tests et 100+ fakes représentent ≈ 50-80 j-h. Un projet sans cette discipline tombe de 10-15 %. | +| **Rétro-ingénierie du legacy** | 50-80 j-h d'analyse pure, non compressibles, et prérequis à tout le reste. | +| **Dualité de schéma Batik/Omika** | ≈ 15 800 lignes d'implémentations jumelles : c'est le principal multiplicateur de coût de la couche Data. | +| **Documentation** | ≈ 8 200 lignes rédigées + dictionnaire produit : 21-43 j-h selon l'exigence. | +| **Maturité visée** | Le livrable n'est pas encore « production mobile » (chiffrement de la base locale, coffre de jeton, rate limiting, validation). Une version durcie ajouterait **+15 à +30 j-h**. | +| **Connaissance préalable** | L'estimation suppose l'apprentissage du legacy HFSQL **inclus**. Un développeur déjà expert HFSQL/OLE DB pourrait gagner 10-15 %. | + +### 9.2 Limites de l'estimation + +- **Aucun dépôt Git** : la chronologie a été reconstruite à partir des horodatages de fichiers, des journaux de session et des journaux de build ; elle est cohérente mais ne remplace pas un historique de commits. +- **Les messages humains comptés** (2 515 + 442) incluent les messages de pilotage d'outil ; ils mesurent l'intensité de la supervision, pas des heures de développement. +- **Les estimations par composant proviennent de cinq analyses distinctes** avec des hypothèses propres ; le dédoublonnage (tests et rétro-ingénierie comptés une seule fois) a été appliqué explicitement, mais une incertitude de ±10 % subsiste sur les frontières entre lots. +- **Le code a été produit par IA** : il peut contenir des défauts non détectés par la suite de tests. Un humain repartant de zéro pourrait rencontrer des difficultés différentes — mais il n'aurait pas non plus à découvrir et corriger ces défauts. + +### 9.3 Recommandation de présentation + +Si l'objectif est de communiquer un chiffre défendable, distinguer explicitement **deux mesures qui ne répondent pas à la même question** : + +1. **Temps de production assistée par IA** : **≈ 28 jours d'activité, ≈ 170-210 h** — mesure du temps de pilotage et d'itération réel. +2. **Équivalent de développement humain** : **≈ 630 à 1 000 jours-homme (≈ 3 800 à 6 000 h)**, valeur centrale **≈ 800 j-h (≈ 4 800 h)** — mesure de l'effort qu'aurait exigé la construction du même livrable sans IA. + +Présenter le premier chiffre comme du « temps humain de développement » conduirait à une sous-évaluation d'un facteur **≈ 25 à 30**, ce qui fragiliserait l'ensemble de l'estimation si elle devait être auditée. + +--- + +## 10. Synthèse finale + +| | Valeur | +|---|---| +| Jours d'activité mesurés | **22** (hypothèse posée : 28) | +| Heures assistées par IA mesurées | **≈ 200-210 h** (hypothèse posée : 168 h) | +| **Effort humain équivalent (estimation)** | **630 – 1 000 j-h** | +| **Valeur centrale retenue** | **≈ 800 j-h ≈ 4 800 h ≈ 3,4 personnes-années** | +| Écart avec l'hypothèse de 168 h | **×22 à ×36 (central ≈ ×29)** | +| Traduction la plus parlante | **1 développeur senior : ≈ 3 à 4,5 ans · équipe de 3 : ≈ 13 à 21 mois** | + +**L'hypothèse « 28 jours × 6 h » n'est pas réaliste comme estimation de développement humain**, mais elle est cohérente comme mesure du temps réellement passé à produire le projet **avec l'aide d'une IA**. diff --git a/docs/InstallationAndroid.docx b/docs/InstallationAndroid.docx new file mode 100644 index 0000000..5dd3840 Binary files /dev/null and b/docs/InstallationAndroid.docx differ diff --git a/docs/LIVRAISON_MODELES_LANGUES.md b/docs/LIVRAISON_MODELES_LANGUES.md new file mode 100644 index 0000000..03f4439 --- /dev/null +++ b/docs/LIVRAISON_MODELES_LANGUES.md @@ -0,0 +1,682 @@ +# Livrer un pack de langue : obtenir les modèles, les déposer, mettre à jour le manifeste + +> **Objet** : procédure complète de livraison d'une langue (modèles ONNX + vocabulaire) +> sur `SRV-OMIKA`, jusqu'à la mise à jour du manifeste servi par `OmikaLanguesApi`. +> +> **Prérequis** : le service `OmikaLanguesApi` est installé, `Langues__RootPath` est +> posée en variable MACHINE, et le vhost Apache expose le service en HTTPS +> (`DEPLOIEMENT_API_LANGUES.md` §7). +> +> **Ce document ne traite pas** de la qualité de traduction (choix du modèle) ni du +> poids du livrable mobile : voir `VALIDATION_TRADUCTION_ONNX.md` §4. + +--- + +## 0. Vue d'ensemble + +| # | Étape | Où | Qui | +|---|---|---|---| +| 1 | Exporter les modèles en ONNX | poste avec accès Internet | dev | +| 2 | Construire l'arborescence du pack | poste | dev | +| 3 | Valider le pack **sur le poste** | poste | dev | +| 4 | Déposer les fichiers sur le serveur | SRV-OMIKA | admin | +| 5 | **Générer** le manifeste sur le serveur | SRV-OMIKA | admin | +| 6 | Contrôler (disque, HTTP, empreinte) | SRV-OMIKA | admin | +| 7 | Rafraîchir et télécharger sur le téléphone | appareil | utilisateur | + +**Trois règles, et tout le reste en découle :** + +1. **Le manifeste n'est jamais recopié d'une autre machine.** Il contient la + taille et l'empreinte SHA-256 de **vos** fichiers : il se génère sur le serveur, + à partir de ce qui est réellement sur son disque (§5). +2. **Les fichiers d'abord, le manifeste ensuite.** Un manifeste qui décrit des + fichiers absents (ou pas encore remplacés) fait refuser le pack. +3. **Aucun redémarrage de service n'est nécessaire** — mais le mobile garde son + index mémorisé : il faut un rafraîchissement explicite (§7). + +--- + +## 1. Étape 1 — Obtenir les modèles (poste de développement) + +Les modèles ne sont **pas** livrés avec Omika (poids + licences) et ne sont pas +versionnés dans le dépôt. Le plus simple est un modèle **OPUS-MT** de +Helsinki-NLP, exporté en ONNX : + +```powershell +pip install "optimum[onnxruntime]" transformers sentencepiece + +# fr -> es : sert le sens « depuisFrancais » du pack « es » +optimum-cli export onnx --model Helsinki-NLP/opus-mt-fr-es .\export\fr-es + +# es -> fr : sert le sens « versFrancais » du pack « es » +optimum-cli export onnx --model Helsinki-NLP/opus-mt-es-fr .\export\es-fr +``` + +> ⚠️ **`optimum-cli` peut rester introuvable juste après une installation +> réussie.** Avec le Python du **Microsoft Store**, pip range les programmes dans +> un dossier utilisateur qui **n'est pas dans le PATH** — `pip install` se +> termine sans erreur, puis chaque fenêtre répond `optimum-cli : commande +> introuvable`. Pour savoir où ils sont allés : +> +> ```powershell +> python -c "import sysconfig; print(sysconfig.get_path('scripts','nt_user'))" +> ``` +> +> Le script `scripts\Exporter-Packs-Langues.ps1` **sait aller le chercher là tout +> seul** (§1.1). Pour les commandes manuelles ci-dessus, utilisez le chemin +> complet, ou pour la session en cours : +> +> ```powershell +> $env:Path += ';' + (python -c "import sysconfig; print(sysconfig.get_path('scripts','nt_user'))") +> ``` + +> ⚠️ **`ERROR: Could not install packages due to an OSError: [WinError 206] Nom de +> fichier ou extension trop long`** — l'installation s'arrête, et `optimum-cli` +> n'est **jamais** créé : le script d'export continuera de dire « introuvable ». +> Ce n'est ni un bug de pip ni un bug du script : Windows plafonne les chemins à +> **260 caractères**, et le Python du **Microsoft Store** installe ses paquets +> dans un dossier déjà très long — +> `…\LocalCache\local-packages\Python312\site-packages\` = **140 caractères** à +> lui seul. Or `torch` embarque des fichiers de licence imbriqués profondément : +> le chemin du dossier atteint **249 caractères**, et les fichiers qu'il contient +> dépassent la limite (mesuré sur ce poste, `LongPathsEnabled = 0`). +> +> **Solution : installer dans un environnement virtuel au chemin court.** Cela +> retire ~110 caractères au préfixe, sans droit administrateur : +> +> ```powershell +> python -m venv C:\OmikaPy +> C:\OmikaPy\Scripts\python.exe -m pip install "optimum[onnxruntime]" transformers sentencepiece +> C:\OmikaPy\Scripts\Activate.ps1 # à réactiver dans chaque nouvelle fenêtre +> ``` +> +> Le venv est **isolé** : le `torch` à moitié installé dans le Python du Store +> (resté après l'échec) ne le perturbe pas. Le script d'export trouve alors +> `optimum-cli` seul (§1.1) ; sans activation, indiquez l'interpréteur : +> `-Python C:\OmikaPy\Scripts\python.exe`. +> +> *Autre voie, sans environnement virtuel : autoriser les chemins longs dans +> Windows (PowerShell **en administrateur**), puis relancer la même +> installation. C'est un réglage machine, utile à tous les outils.* +> +> ```powershell +> Set-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name LongPathsEnabled -Value 1 -Type DWord +> ``` + +L'export produit notamment : + +``` +encoder_model.onnx +decoder_model.onnx +decoder_with_past_model.onnx <-- NE PAS LIVRER (voir ci-dessous) +source.spm +target.spm +``` + +> ⚠️ **`decoder_with_past_model.onnx` ne doit jamais être livré.** C'est un +> décodeur à cache de clés/valeurs destiné à la génération incrémentale : +> l'application l'**exclut** du chargement, mais s'il est présent dans le dossier +> il est **déclaré dans le manifeste et donc téléchargé par chaque téléphone** +> — ~120 Mo de données mobiles pour rien. Le générateur de manifeste le signale +> (§5). +> +> ⚠️ **Un modèle Marian a DEUX vocabulaires** (`source.spm` et `target.spm`) : +> les livrer tous les deux est obligatoire, sinon la traduction produira du +> charabia (les identifiants de sortie seraient décodés dans le mauvais +> référentiel). + +### 1.1 Plusieurs langues d'un coup (Europe, Est, Caucase…) + +Pour livrer un ensemble de langues, le script `scripts\Exporter-Packs-Langues.ps1` +enchaîne tout : vérification de l'existence de chaque paire sur HuggingFace, +export ONNX, rangement dans l'arborescence du pack, rapport. + +```powershell +# 0. UNE SEULE FOIS : l'outil d'export. Sans lui le script s'arrête aussitôt, +# AVANT toute écriture : « rien ne se passe » = c'est ce prérequis qui manque. +pip install "optimum[onnxruntime]" transformers sentencepiece + +# 1. VOIR LE PLAN avant de payer ~30 Gio (aucun réseau, rien n'est écrit) +.\scripts\Exporter-Packs-Langues.ps1 -Simulation + +# 1bis. QUELLES LANGUES SONT LIVRABLES ? Internet suffit, ni Python ni optimum : +# ~100 appels d'API, une à deux minutes, RIEN n'est téléchargé. +.\scripts\Exporter-Packs-Langues.ps1 -SansExporter + +# 2. Tout exporter (51 langues ≈ 102 modèles) +.\scripts\Exporter-Packs-Langues.ps1 + +# Sélections partielles +.\scripts\Exporter-Packs-Langues.ps1 -Zone Est,Caucase +.\scripts\Exporter-Packs-Langues.ps1 -Codes es,pt,uk,ru +.\scripts\Exporter-Packs-Langues.ps1 -Codes ar # l'arabe est en zone « Divers » +``` + +Si l'étape 0 échoue avec **`[WinError 206] Nom de fichier ou extension trop +long`**, l'outil n'a pas pu être installé (limite de 260 caractères de Windows) : +voir la solution « environnement virtuel au chemin court » au §1, puis lancer le +script avec `-Python C:\OmikaPy\Scripts\python.exe`. + +- **Pour savoir à l'avance quelles langues sont livrables** : + `.\scripts\Exporter-Packs-Langues.ps1 -SansExporter` interroge HuggingFace pour + toute la table et écrit le rapport **sans rien télécharger** (~100 appels d'API, + une à deux minutes). Les langues sans paire finissent dans « Paires + indisponibles », les autres dans « Paires disponibles (vérifiées, non + exportées) ». Cette commande ne demande **ni Python ni `optimum-cli`** : elle + répond donc avant même l'installation des outils. +- **Deux familles de modèles sont essayées, dans l'ordre** : `opus-mt-<langue>-fr` + (petit, ~300 Mo par sens) puis **`opus-mt-tc-big-<langue>-fr`** (~1 Go par sens), + publiée par Helsinki-NLP pour des paires que la première ne couvre pas. Le nom + réellement retenu est inscrit au rapport. Une langue déclarée absente l'est donc + après **quatre** vérifications (2 familles × 2 sens). +- **Repli familial** : pour `it`, `es`, `pt`, `ca`, `gl` et `ro`, le modèle + multilingue `opus-mt-tc-big-itc-itc` couvre les **deux sens** en un seul export. + Il n'est employé que si une paire bilingue manque (`pt` et `gl` n'en ont + aucune ; `it` n'a que `it-fr`), et ses 1,15 Go sont écrits **une seule fois** + dans `<code>\commun\` : les deux sens le partagent (§2.1.1). +- **Les paires qui n'existent pas sont signalées, jamais inventées.** + Helsinki-NLP ne couvre pas toutes les combinaisons avec le français : le + script teste chaque modèle sur HuggingFace **avant** de télécharger, et écrit + les absentes dans `RAPPORT-LANGUES.md`. Prévoir que plusieurs langues de la + liste (Caucase, Asie centrale) seront indisponibles. +- Si HuggingFace est **injoignable**, le script s'arrête au lieu de déclarer les + paires absentes : « je ne sais pas » n'est pas « il n'y en a pas ». +- Un pack n'est écrit que si les **deux** directions existent + (`-InclureDirectionsPartielles` pour l'accepter malgré tout). +- `decoder_with_past_model.onnx` et les fichiers de tokenizer ne sont **jamais** + conservés : le dossier de travail de l'export est supprimé après chaque sens. +- Le script est **reprenable** : une langue déjà exportée est ignorée + (`-Forcer` pour la refaire). Un arrêt en cours de route ne perd rien. +- Volume : ~300 Mo par sens, soit **~30 Gio pour 51 langues**, et plusieurs + heures de téléchargement puis de conversion. + +### 1.2 Où vont les fichiers + +| | Chemin | Après l'opération | +|---|---|---| +| **Packs ONNX** (le livrable) | `<RacinePacks>\<code>\<sens>\` (et `<code>\commun\` pour un modèle familial) | conservé — c'est ce qu'on transfère | +| **Cache HuggingFace** | `<RacinePacks>\.hf-cache\hub\` | supprimé après chaque export réussi | +| **Travail temporaire** | `<RacinePacks>\.tmp-<code>-<sens>\` | supprimé après chaque sens | + +`<RacinePacks>` vaut **`packs`** par défaut, résolu depuis la racine du dépôt — +donc `D:\Avalonia\Omika\packs` sur ce poste. Pour l'écrire ailleurs (autre +disque, dossier de livraison) : + +```powershell +.\scripts\Exporter-Packs-Langues.ps1 -RacinePacks D:\PacksLangues +``` + +Deux points importants : + +- **Sans intervention, le cache HuggingFace va dans `%USERPROFILE%\.cache\huggingface`** + (donc sur `C:`), et chaque modèle y occupe une seconde copie de sa taille : + ~29 Gio de plus. Le script force donc `HF_HOME` vers `<RacinePacks>\.hf-cache` + pour que tout reste sur le même disque, et **supprime la copie du modèle après + chaque export réussi** (elle n'a plus d'usage). Le pic de disque réel est donc + « les packs + ~300 Mo », pas le double. `-GarderCacheHuggingFace` conserve le + cache (utile pour enchaîner des `-Forcer` sans retélécharger). + Un `HF_HOME` déjà défini dans l'environnement est respecté. +- Par défaut la sortie est **dans l'arborescence des sources** + (`D:\Avalonia\Omika\packs`). Ce n'est pas un dépôt git ici, donc rien ne sera + committé, mais 29 Gio de binaires au milieu du code n'est pas souhaitable à + long terme : préférer `-RacinePacks D:\PacksLangues`. +- Les dossiers `.hf-cache` et `.tmp-*` sont ignorés par le générateur de + manifeste (`New-OmikaLanguesManifeste.ps1`) : ils ne sont jamais pris pour des + langues ni signalés comme fichiers non déclarés. + + +> **Pourquoi un modèle par langue, et pas un seul modèle multilingue ?** +> Le pipeline amorce le décodeur sur le seul jeton de début du vocabulaire +> (`OnnxTranslationService.GenererAsync`) : il n'existe **aucun** mécanisme de +> langue cible forcée (`forced_bos_token_id`). Un modèle multilingue (NLLB, +> mBART, M2M-100) produirait donc la langue par défaut du modèle, pas celle +> demandée. Passer à NLLB — un seul modèle pour toutes les langues, bien plus +> léger au total — demanderait d'**ajouter ce jeton au contrat** : une option de +> pipeline, un champ dans le manifeste et sa résolution. Ce n'est pas un réglage +> de déploiement. + +--- + +## 2. Étape 2 — Construire l'arborescence du pack + +> Si vous utilisez le script du §1.1, cette arborescence est produite +> automatiquement : cette étape sert alors de référence (et de mode opératoire +> manuel pour une langue isolée). + +Un pack = **un code de langue**, contenant **deux sens**. La convention est +imposée par l'API et par l'application ; elle n'est pas configurable. + +``` +es/ +├── versFrancais/ (espagnol -> français : dictée, avant insertion) +│ ├── encoder_model.onnx <- depuis .\export\es-fr\ +│ ├── decoder_model.onnx <- depuis .\export\es-fr\ +│ ├── source.spm <- depuis .\export\es-fr\source.spm (ESPAGNOL) +│ ├── target.spm <- depuis .\export\es-fr\target.spm (FRANÇAIS) +│ ├── vocab.json <- depuis .\export\es-fr\ (IDENTIFIANTS) +│ └── config.json <- depuis .\export\es-fr\ (DÉCODEUR) +└── depuisFrancais/ (français -> espagnol : lecture, affichage seul) + ├── encoder_model.onnx <- depuis .\export\fr-es\ + ├── decoder_model.onnx <- depuis .\export\fr-es\ + ├── source.spm <- depuis .\export\fr-es\source.spm (FRANÇAIS) + ├── target.spm <- depuis .\export\fr-es\target.spm (ESPAGNOL) + ├── vocab.json <- depuis .\export\fr-es\ + └── config.json <- depuis .\export\fr-es\ +``` + +### 2.1 Noms de fichiers reconnus + +L'application résout les rôles par le nom, avec des replis automatiques. Les +noms ci-dessous sont ceux qu'elle cherche **en premier** : les respecter évite +tout ambiguïté. + +| Fichier | Rôle | Si absent | +|---|---|---| +| `encoder.onnx` / `encoder_model.onnx` | modèle principal du sens | premier `.onnx` du dossier qui n'est pas un décodeur | +| `decoder.onnx` / `decoder_model.onnx` | décodeur séparé (décodage glouton) | mode « modèle unique » | +| `*_with_past*.onnx` | **jamais utilisé** | — | +| `vocab.spm` | vocabulaire **commun** (NLLB, mBART, M2M-100) | premier `.spm` | +| `source.spm` | vocabulaire d'**entrée** (Marian/OPUS-MT) | `vocab.spm`, puis premier `.spm` | +| `target.spm` | vocabulaire de **sortie** (Marian/OPUS-MT) | `vocab.spm`, puis premier `.spm` | +| `vocab.json` | **identifiants du modèle** (obligatoire) | numérotation du `.spm` — **traduction fausse** | +| `config.json` | **amorce et fin du décodeur** (obligatoire) | `<s>` / `</s>` du `.spm` — génération fausse | +| `modele.json` | métadonnées d'un modèle multilingue (`>>fra<<`) | modèle dédié à une paire | + +### 2.1.1 Dossier partagé `commun/` + +Un modèle **multilingue** (famille de langues, type `opus-mt-tc-big-itc-itc`) +sert plusieurs langues avec **les mêmes poids**. Les déclarer dans chaque sens +ferait télécharger **deux fois 1,15 Go** sur chaque téléphone : ces fichiers vont +donc une seule fois dans un dossier `commun/`. + +``` +pt/ +├── commun/ (poids PARTAGÉS par les deux sens) +│ ├── encoder_model.onnx +│ ├── decoder_model.onnx +│ ├── source.spm +│ ├── target.spm +│ ├── vocab.json +│ └── config.json +├── versFrancais/ +│ └── modele.json { "jetonCible": ">>fra<<" } +└── depuisFrancais/ + └── modele.json { "jetonCible": ">>por<<" } +``` + +L'application cherche **d'abord** dans le dossier du sens, **puis** dans +`commun/` : un pack qui fournit son propre `source.spm` garde la priorité, et un +pack qui n'a que des fichiers partagés fonctionne dans les deux sens. Le +`modele.json` reste **par sens** — c'est la seule chose qui diffère (l'étiquette +de langue : `>>fra<<` pour traduire vers le français, `>>por<<` depuis le +français). + +> Les paires bilingues classiques (`opus-mt-es-fr` **et** `opus-mt-fr-es`) n'ont +> **pas** de dossier `commun` : leurs poids diffèrent dans chaque sens. +> +> Un téléphone ne télécharge que **la** langue secondaire choisie par +> l'utilisateur, jamais les autres : le partage ci-dessus divise par deux ce +> qu'il reçoit, il ne lui impose rien de plus. + +#### Langues servies par un modèle de famille + +Un seul dépôt couvre plusieurs langues, **dans les deux sens**, quand aucune +paire bilingue n'existe. L'exporteur le fait pour vous (`-Codes pt,gl,it` +suffit) : il exporte le modèle **une fois**, écrit les poids dans `commun/` et +les deux `modele.json`. + +| Langue | Jeton aller | Jeton retour | Paire bilingue ? | +|---|---|---|---| +| `it` | `>>fra<<` | `>>ita<<` | `it-fr` seule (pas `fr-it`) | +| `es` | `>>fra<<` | `>>spa<<` | les deux (familial inutile) | +| `pt` | `>>fra<<` | `>>por<<` | **aucune** | +| `ca` | `>>fra<<` | `>>cat<<` | les deux (familial inutile) | +| `gl` | `>>fra<<` | `>>glg<<` | **aucune** | +| `ro` | `>>fra<<` | `>>ron<<` | les deux (familial inutile) | + +Le modèle est `Helsinki-NLP/opus-mt-tc-big-itc-itc` (**1,15 Go** : encoder +451 Mo + décodeur 697 Mo). Il n'est employé que si **une** des deux directions +manque, et il couvre alors les deux : inutile de payer deux paires bilingues. + +Le `modele.json` complet, tel que l'exporteur l'écrit : + +```json +{ + "version": 1, + "modeleSource": "Helsinki-NLP/opus-mt-tc-big-itc-itc", + "famille": "itc", + "jetonCible": ">>por<<" +} +``` + +Sans ce jeton, le modèle écrirait **sa** langue par défaut (l'espagnol) : du +texte parfaitement lisible, dans la mauvaise langue. C'est la seule chose qui +diffère entre les deux sens d'un pack familial. + +Le manifeste déclare ces fichiers avec `"sens": "commun"` : le générateur les +accepte, et le mobile les range dans `langues/<code>/commun/`. + +> **`vocab.json` n'est pas un doublon du `.spm`.** Le `.spm` découpe le texte ; +> `vocab.json` donne les identifiants que le modèle attend. Les deux +> numérotations **diffèrent** : mesuré sur `opus-mt-es-fr`, la pièce `▁Ho` vaut +> **5293** pour le `.spm` mais **584** pour le modèle, et `,` vaut 4 contre 3. +> Sans `vocab.json`, le modèle reçoit un autre texte que celui dicté et produit +> du charabia **sans lever la moindre erreur**. +> +> `config.json` apporte deux identifiants que le `.spm` ne contient pas : +> l'amorce du décodeur (`74821` sur `opus-mt-es-fr`, `35282` sur +> `opus-mt-tc-big-itc-itc`) et sa fin (`0` et `29158`). Les deviner donne un +> décodeur qui démarre au hasard et ne s'arrête jamais. +> +> Ces deux fichiers pèsent quelques centaines de kilo-octets : ils voyagent avec +> le pack comme les `.spm`. Le script d'export les copie ; pour les packs +> exportés **avant** leur introduction, voir le §2.2. +> +> Un `.spm` portant un autre nom (`vocab-espagnol.spm`) n'est pas reconnu : il +> serait pris comme repli « premier `.spm` », ce qui peut être le mauvais +> vocabulaire — donc une traduction sans aucun sens, sans aucune erreur. Le +> générateur le signale (§5). + +### 2.2 Compléter un pack exporté avant `vocab.json` + +Les packs déjà sur le disque ne contiennent que les quatre fichiers d'origine. +Les compléter ne demande **aucun réexport** : les poids sont bons, seuls les +deux référentiels manquent (quelques Mo par sens). + +```powershell +# 1. Voir où on en est, sans rien écrire +.\scripts\Completer-Packs-Langues.ps1 -Verifier + +# 2. Compléter (idempotent : relancer ne refait rien) +.\scripts\Completer-Packs-Langues.ps1 + +# 3. Une ou deux langues seulement +.\scripts\Completer-Packs-Langues.ps1 -Codes "es,pt" +``` + +Un pack **familial** (§2.1.1) est ignoré par cette complétion — et c'est +volontaire : il n'a pas de `source.spm` par sens, donc rien à aligner. Ses +`vocab.json` et `config.json` sont déjà dans `commun/`, écrits par l'export. + +Le script déduit le dépôt d'origine du code et du sens (`es` + `versFrancais` → +`opus-mt-es-fr`), puis **vérifie** que le `source.spm` téléchargé est identique, +octet pour octet, à celui du pack. Sans cette comparaison, il attacherait le +vocabulaire d'un **autre** modèle — exactement le défaut qu'il répare, en pire. +Un pack dont l'empreinte diffère est signalé `[ÉCART]` et laissé intact : il +vient d'une autre famille de modèles et doit être réexporté par le §1.1. + +### 2.3 Nommer le dossier de langue + +- **minuscules**, chiffres et tiret uniquement (`es`, `pt-br`, `zh`) ; +- 2 à 10 caractères, ni tiret au début ni à la fin. + +Un code hors de ces règles fait **ignorer le pack silencieusement** par le +mobile. Le générateur refuse de l'écrire (§5). + +### 2.4 Vérifier le poids avant de transférer + +Un modèle Marian pèse ~300 Mo pour les deux sens. C'est la contrainte la plus +lourde de toute la fonctionnalité : elle se mesure **ici**, pas après le +déploiement. + +```powershell +'{0:N0} Mo' -f ((Get-ChildItem .\es -Recurse -File | Measure-Object Length -Sum).Sum / 1MB) +``` + +--- + +## 3. Étape 3 — Valider le pack sur le poste (avant tout transfert) + +**On ne débogue pas un modèle de 120 Mo par déploiements successifs.** Trois +commandes suffisent, et elles se font toutes sur le poste : + +```powershell +dotnet run --project tools/Omika.LanguesProbe -- inspecter .\es\versFrancais\source.spm +dotnet run --project tools/Omika.LanguesProbe -- encoder .\es\versFrancais\source.spm "Buenos días, ¿cómo está?" +dotnet run --project tools/Omika.LanguesProbe -- traduire ` + --dossier .\es\versFrancais --code es --sens versFrancais --texte "Sustitución de la pieza" +``` + +Ce qu'il faut regarder, et l'arbre de décision en cas d'anomalie, sont au §2.5 et +au §3.4 de `VALIDATION_TRADUCTION_ONNX.md`. En résumé : la sortie doit être une +phrase **française plausible** ; une suite de mots espagnols ou du texte répété +signifie un mauvais vocabulaire de sortie, pas un problème de déploiement. + +--- + +## 4. Étape 4 — Déposer les fichiers sur le serveur + +### 4.1 Destination + +| | Chemin | +|---|---| +| Racine des modèles | `C:\Omika\Data\Langues` (= `Langues__RootPath`) | +| Cible d'un pack | `C:\Omika\Data\Langues\<code>\` | +| Manifeste | `C:\Omika\Data\Langues\manifest.json` | + +> Ne **jamais** déposer les modèles dans `C:\Omika\Apps\LanguesApi` : ce dossier +> est écrasé à chaque redéploiement. Vérifier la variable avant de copier : +> +> ```powershell +> [Environment]::GetEnvironmentVariable('Langues__RootPath', 'Machine') +> ``` + +### 4.2 Copie (nouveau pack) + +```powershell +$root = 'C:\Omika\Data\Langues' +New-Item -ItemType Directory -Force -Path $root | Out-Null + +# Depuis le dossier de livraison (ex. C:\Omika\Deploy\Langues\es) +robocopy 'C:\Omika\Deploy\Langues\es' "$root\es" /E /R:2 /W:2 +``` + +- **Ne copier que `es\`** (le dossier de la langue), jamais un `manifest.json` + préparé ailleurs : il est généré à l'étape suivante, sur ce serveur. +- Les droits NTFS sont posés par **héritage** (`svc_omika_langues` a la lecture + seule sur la racine, en `(OI)(CI)R`) : rien à faire pour un fichier ajouté. + Contrôle rapide : + ```powershell + (Get-Acl 'C:\Omika\Data\Langues').Access | + Where-Object { $_.IdentityReference -like "*svc_omika_langues" } | + Select-Object IdentityReference, FileSystemRights, InheritanceFlags + ``` + +### 4.3 Remplacer un modèle existant (mise à jour) + +Écrire le nouveau fichier **à côté** puis le renommer, plutôt que d'écraser +directement : + +```powershell +# 1) Déposer la nouvelle version sous un nom temporaire, dans le MÊME dossier +Copy-Item 'C:\Omika\Deploy\Langues\es\versFrancais\encoder_model.onnx' ` + 'C:\Omika\Data\Langues\es\versFrancais\encoder_model.onnx.new' -Force + +# 2) Renommer sur le nom définitif (instantané, même volume) +Move-Item 'C:\Omika\Data\Langues\es\versFrancais\encoder_model.onnx.new' ` + 'C:\Omika\Data\Langues\es\versFrancais\encoder_model.onnx' -Force +``` + +**Si un téléphone est en train de télécharger ce fichier, l'étape 2 est +refusée** (« le processus ne peut pas accéder au fichier car il est en cours +d'utilisation par un autre processus »). C'est **protecteur**, pas gênant : +Windows empêche de produire un fichier mélangé. Réessayez dans quelques secondes +— la fin du téléchargement libère le fichier. + +> Si le remplacement échoue malgré tout, **ne pas** supprimer le fichier pour +> « débloquer » : cela provoquerait un 404 pour les téléphones. Attendre, puis +> réessayer. + +--- + +## 5. Étape 5 — Générer le manifeste (sur le serveur) + +```powershell +cd C:\Omika\Deploy\Deploy +.\New-OmikaLanguesManifeste.ps1 +``` + +Le script lit `Langues__RootPath` (MACHINE), parcourt l'arborescence, calcule +taille et empreinte de chaque fichier et écrit `<RootPath>\manifest.json`. Il +affiche le récapitulatif des packs retenus : + +``` + es Espagnol 4 fichier(s) 283,0 Mio + pt Portugais 4 fichier(s) 275,0 Mio +``` + +**Il refuse d'écrire** (code 1) si aucun pack n'est exploitable, et **signale** +sans échouer : un dossier de sens inconnu, un code de langue invalide, un +fichier `*_with_past*`, un `.spm` au nom non reconnu, un sous-dossier +inatteignable. + +Trois dossiers de sens sont reconnus : `versFrancais`, `depuisFrancais` et +**`commun`** (poids partagés d'un modèle familial, §2.1.1). Un pack familial +apparaît donc comme ceci — les 1,15 Go une seule fois, plus un `modele.json` +par sens : + +``` + pt Portugais 8 fichier(s) 1,15 Gio +``` + +Le manifeste précédent est conservé automatiquement en `manifest.json.bak` — +c'est votre point de retour (§10). + +### 5.1 Numéroter la version + +`-Version` (défaut `1.0.0`) est écrit dans chaque pack et **commandé par +l'application** : c'est ce champ qui fait apparaître, sur le téléphone, la +mention « Installée (v1.0.0) — mise à jour disponible » et le bouton +**Mettre à jour**. + +```powershell +# À CHAQUE remplacement de fichier : incrémenter la version +.\New-OmikaLanguesManifeste.ps1 -Version 1.0.1 +``` + +> Si la version ne change pas, le bouton affiche **« Réinstaller »** et +> l'utilisateur n'a aucun signal qu'un nouveau modèle existe : il gardera +> l'ancien indéfiniment. Le téléchargement, lui, ne récupère de toute façon que +> les fichiers dont l'empreinte a changé. + +--- + +## 6. Étape 6 — Contrôler + +### 6.1 Sur le disque (aucun droit administrateur requis) + +```powershell +.\New-OmikaLanguesManifeste.ps1 -Verifier +``` + +Compare le manifeste aux fichiers réels : fichier absent, taille ou empreinte +divergente, sens à la mauvaise casse, fichier déclaré inutile, fichier présent +mais non déclaré. **Code retour 1 au moindre écart** — utilisable dans un script +de livraison. + +### 6.2 Par HTTP (bout en bout : API + Apache) + +```powershell +$url = 'https://<SRV_LANGUES>' +$manifeste = Invoke-RestMethod "$url/api/langues" +$manifeste.packs | Select-Object code, libelle, version, + @{ n = 'NbFichiers'; e = { $_.fichiers.Count } } +``` + +### 6.3 Télécharger un fichier et vérifier son empreinte + +C'est le contrôle **décisif** : il prouve que le proxy sert bien les octets +attendus, et pas une page d'erreur HTML ni un fichier tronqué. + +```powershell +$fichier = (Invoke-RestMethod "$url/api/langues").packs[0].fichiers[0] +$local = Join-Path $env:TEMP 'omika-controle.bin' +Invoke-WebRequest "$url$($fichier.url)" -OutFile $local + +(Get-Item $local).Length -eq $fichier.tailleOctets +(Get-FileHash $local -Algorithm SHA256).Hash.ToLowerInvariant() -eq $fichier.sha256 +``` + +Les deux lignes doivent renvoyer `True`. Sinon : problème de proxy (page +d'erreur), de troncature, ou de cache. + +--- + +## 7. Étape 7 — Côté mobile + +Aucune mise à jour de l'application n'est nécessaire. + +1. **Paramètres → Langue secondaire → « Actualiser la liste »** (le bouton + recharge le manifeste depuis le serveur ; sans lui, l'application réutilise + son index mémorisé et ne verra pas le nouveau pack). +2. Appuyer sur **Télécharger** (ou **Mettre à jour**) sur la langue concernée : + la ligne affiche le poids avant le lancement, puis la progression + (« 42 Mo / 122 Mo »). +3. Le téléchargement **installe et sélectionne** la langue en une seule action. +4. Dicter dans la langue secondaire → le champ reçoit du français ; sur une note + existante, « ⇄ Traduire » affiche la langue secondaire. **Rien** de traduit ne + doit apparaître dans l'Outbox (page Synchronisation). + +--- + +## 8. Pièges (symptôme → cause) + +| Symptôme | Cause la plus probable | +|---|---| +| `GET /api/langues` répond **404** | Manifeste absent ou illisible — lire le log du service : il nomme le chemin cherché. Le manifeste est-il bien dans `Langues__RootPath` ? | +| Le pack apparaît mais le téléphone le **refuse à la fin** | Empreinte différente : fichier modifié **après** la génération du manifeste → regénérer puis `-Verifier` | +| Un fichier répond **404** au téléchargement | Le manifeste déclare un fichier absent du disque (les deux ont été désynchronisés) | +| La langue n'apparaît **pas du tout** dans la liste | Code de langue invalide → pack ignoré **silencieusement** par le mobile (§2.2) | +| Traduction = suite de mots de la langue source, ou texte répété | Mauvais vocabulaire de sortie : `target.spm` manquant ou faux (§2.1) | +| Traduction = `<unk>`, `▁`, caractères isolés | `source.spm`/`target.spm` ne viennent pas du **même** modèle que les `.onnx` | +| Le téléphone ne propose **aucune** mise à jour | `version` non incrémentée dans le manifeste (§5.1) : le bouton reste « Réinstaller » | +| 120 Mo téléchargés pour rien | `decoder_with_past_model.onnx` livré dans le dossier (§1) | +| Les modèles disparaissent à chaque déploiement | Ils sont dans `C:\Omika\Apps\LanguesApi` au lieu de `Langues__RootPath` (§4.1) | +| Le script d'export **ne fait rien** (« rien ne se passe ») | `optimum-cli` absent : il s'arrête **avant toute écriture** (§1.1). Lancé par double-clic, la fenêtre se ferme avant qu'on lise le message — lancer depuis une fenêtre PowerShell déjà ouverte | +| `optimum-cli` introuvable alors que `pip install` a réussi | Python du **Microsoft Store** : pip écrit les programmes dans un dossier absent du PATH (§1). Le script d'export **sait l'y trouver seul** ; pour un usage manuel, ajouter ce dossier au PATH | +| `pip` s'arrête sur **`[WinError 206] Nom de fichier ou extension trop long`** | Windows plafonne les chemins à **260 caractères** ; le Python du Store installe dans un dossier de **140 caractères** et `torch` dépasse la limite. Installer dans un venv au chemin court (§1) — le paquet n'est alors **jamais** installé, donc `optimum-cli` reste introuvable | +| Toutes les paires manquantes sont en **`HTTP 401`** et **aucune en `404`** | Un dépôt absent répond **401** avec `{"error":"Repository not found"}`, jamais 404 — et la **page publique** s'est mise à répondre 401 elle aussi, alors qu'un dépôt existant répond 200 au même instant. Plus aucun code d'erreur ne tranche. **Le script ne demande donc plus « ce dépôt existe-t-il ? »** : il lit une fois la **liste publique** des dépôts `Helsinki-NLP` (`/api/models?author=Helsinki-NLP&limit=1000`, toujours 200, paginée par l'entête `Link`) et l'existence devient une égalité de chaîne. « Absent » est alors une **preuve** (nom hors liste), citée avec la taille du catalogue consulté. La sonde par modèle et le verdict de page restent en repli si le catalogue est illisible | +| Le rapport annonce un **poids total très inférieur** au dossier | Corrigé : le rapport affiche désormais **deux** lignes — le poids des packs traités par l'exécution, et le **poids réellement présent** sous la racine. Auparavant `-Codes it` affichait 520 Mio alors que le dossier en contenait 21 Gio | +| Une langue n'a **qu'un seul sens** (`versFrancais` trouvé, `depuisFrancais` absent) | Helsinki-NLP ne publie pas toujours les deux directions. Le script ignore la langue ; `-InclureDirectionsPartielles` la construit quand même. Conséquence : la **dictée** fonctionne, la **lecture** échoue avec un message explicite (`OnnxTranslationService`, « Le modèle … est absent »). Rien ne bloque l'installation : `LangueDisponible.EstComplet` existe mais n'est utilisé nulle part | +| **Tous** les exports échouent d'un coup en quelques secondes, `Poids de cette execution : 0 octets`, et le détail affiché est un simple `UserWarning: … cache-system uses symlinks` | L'appel a été lancé avec le flux d'erreur redirigé sur tout le script (`2>&1 \| Tee-Object`, `*>&1 > log`) : PowerShell 5.1 transforme **chaque** ligne de stderr d'un programme natif en erreur fatale (`$ErrorActionPreference = 'Stop'`). `optimum-cli` émet cet avertissement de `huggingface_hub` dès le début : l'export était tué juste après `config.json`, avant le moindre octet de poids. **Corrigé** : l'export n'est plus jugé que par son **code de sortie**, et stderr est neutralisé le temps de l'appel (test §9). Les rapports déjà écrits par une version antérieure sont à jeter | +| Le script affiche `catalogue : 2 depots publics` puis déclare **tout** absent | La liste des dépôts est revenue **tronquée** (limite ignorée, page unique). Mesure du 16/10 : 2 entrées → 66 paires « absentes », dont 11 dont le modèle est **sur le disque depuis des semaines** — le script se contredisait lui-même. **Corrigé** : en dessous de 100 dépôts le catalogue est rejeté (`catalogue inutilisable`) et le verdict repasse par modèle. Vérifier la réponse brute avec `(Invoke-WebRequest 'https://huggingface.co/api/models?author=Helsinki-NLP&limit=1000' -UseBasicParsing).Content.Length` | +| Le rapport annonce des **dizaines de « paires absentes »** d'un coup (`HTTP 401 … page impossible`, `HTTP 429`) | Deux causes réelles, mesurées : (1) un `429` de quota — ce n'est pas une absence ; (2) un `401` qui ne discrimine rien. **Corrigé** : une seule lecture du catalogue remplace 102 interrogations (donc plus de quota), et un verdict indécis **interrompt** le run au lieu d'écrire un rapport faux qui ferait supprimer 22 langues du produit | +| Une langue à moitié faite **re-télécharge** le sens qui existait déjà (500 Mo) | Le test de reprise portait sur la langue **entière** : avec `-InclureDirectionsPartielles`, le sens déjà présent était réexporté. **Corrigé** : reprise par **sens** (`encoder`+`.spm` présents ⇒ ignoré, test §4bis) | +| `optimum-cli` écrit des avertissements alors que l'export se déroule bien | Bénin (`huggingface_hub` signale un cache sans liens symboliques sous `D:\…\packs\.hf-cache`). Le cache fonctionne en mode dégradé — donc **plus gros**, jamais faux. `HF_HUB_DISABLE_SYMLINKS_WARNING=1` pour le taire | + +--- + +## 9. Retirer une langue / rollback + +**Retirer une langue du catalogue** (les téléphones qui l'ont déjà installée la +gardent : elle est locale, et le retrait du serveur ne les touche pas) : + +```powershell +Remove-Item 'C:\Omika\Data\Langues\pt' -Recurse -Force +.\New-OmikaLanguesManifeste.ps1 +``` + +**Revenir au manifeste précédent** : le générateur conserve +`manifest.json.bak` à chaque écriture. + +```powershell +Copy-Item 'C:\Omika\Data\Langues\manifest.json.bak' ` + 'C:\Omika\Data\Langues\manifest.json' -Force +.\New-OmikaLanguesManifeste.ps1 -Verifier +``` + +> Remettre l'ancien manifeste alors que les **fichiers** ont déjà été remplacés +> provoquera un refus d'empreinte : un rollback complet se fait sur les deux +> (fichiers **et** manifeste). + +--- + +## 10. Hors périmètre + +- **Qualité de traduction** : choix du modèle, pas de la procédure. +- **Poids du livrable mobile** : décision produit (80 à 300 Mo par langue). +- **Reprise de téléchargement inter-fichiers** : un fichier interrompu repart de + zéro ; les fichiers déjà conformes ne sont pas retéléchargés. +- **Transfert des 300 Mo vers le serveur** : aucun mécanisme d'upload n'existe. + Le transfert se fait par partage réseau, clé USB ou dossier de livraison + (`C:\Omika\Deploy\Langues`), hors de cette procédure. diff --git a/docs/LOT_MOBILE_0.md b/docs/LOT_MOBILE_0.md new file mode 100644 index 0000000..ca72f60 --- /dev/null +++ b/docs/LOT_MOBILE_0.md @@ -0,0 +1,2266 @@ +# LOT MOBILE 0 — Fondation API Mobile + Worker + +## Statut + +Ce document enregistre les décisions d'architecture du LOT MOBILE 0 comme **VALIDÉES**. + +## Décisions validées + +| # | Décision | Statut | +|---|----------|--------| +| 1 | La base HFSQL n'est **pas modifiable**. Aucune colonne, table ou contrainte ne sera ajoutée/modifiée. | VALIDÉE | +| 2 | Le desktop Avalonia continue d'accéder **directement** à HFSQL. Inchangé. | VALIDÉE | +| 3 | Le mobile accède **uniquement** via l'API ASP.NET Core. Jamais directement à HFSQL. | VALIDÉE | +| 4 | Batik et Omika sont **invisibles** pour le mobile. Le mobile ne connaît jamais la génération de base. | VALIDÉE | +| 5 | `OperationId` est présent dans l'enveloppe JSON de synchronisation. GUID de transaction créé par le téléphone. | VALIDÉE | +| 6 | `RetryCount` est présent dans l'enveloppe JSON de synchronisation. | VALIDÉE | +| 7 | Maximum **30 tentatives** de traitement d'une opération. | VALIDÉE | +| 8 | `MobLog` = historique de synchronisation (journal). | VALIDÉE | +| 9 | Rétention `MobLog` = **30 jours**. | VALIDÉE | +| 10 | Logs uniquement pertinents (réception, succès terminal, rejet terminal, erreur significative, retry significatif, conflit, document introuvable, exception serveur). | VALIDÉE | +| 11 | Document identifié publiquement par **GUID** (`DocumentGuid`). Le PK HFSQL reste interne. | VALIDÉE | +| 12 | Profil Batik provenant de `ParametreMetier`. | VALIDÉE | +| 13 | Profil Omika provenant de `Role`. | VALIDÉE | +| 14 | Différences RDV gérées côté backend. Le mobile ne connaît que le modèle commun `RendezVous`. | VALIDÉE | +| 15 | Licence offline par défaut = **10 jours**, configurable serveur (`License:OfflineGraceDays`). | VALIDÉE | +| 16 | Aucun secret HFSQL communiqué au mobile (adresse, port, login, password, connection string). | VALIDÉE | + +## Architecture cible + +``` +Mobile (Avalonia Android/iOS) + │ + ▼ +API ASP.NET Core (Omika.Api) + │ + ├── Contrats DTO (Omika.Core.Contracts) + ├── Services applicatifs (Omika.Core.Services) + ├── Repositories adaptatifs (Omika.Data.Repositories) + │ ├── Batik + │ └── Omika + │ + ▼ +Tables techniques HFSQL (TOSRV, MobReception, MobLog, Licence, LicenceHisto, ...) + │ + ▼ +Repositories métier existants → Batik ou Omika +``` + +## Composants créés + +### API Mobile ASP.NET Core +- Endpoints Minimal API dans `Omika.Api/Endpoints/Mobile/` +- `/health` (existant) +- `/api/license/activate` +- `/api/license/validate` +- `/api/mobile/bootstrap` +- `/api/sync/operations` +- `/api/sync/status/{operationId}` +- `/api/sync/snapshot` +- `/api/documents/...` + +### Contrats DTO +- `Omika.Core.Contracts.Mobile` : licence, bootstrap, synchronisation, snapshot +- `Omika.Core.Contracts.Documents` : métadonnées, téléchargement, upload + +### Couche applicative mobile/API +- `Omika.Core.Services.Mobile` : licence, bootstrap, synchronisation, snapshot +- `Omika.Core.Interfaces` : interfaces de services + +### Authentification + bootstrap identité/profil/droits +- `ITokenService` / `TokenService` : token stateless signé (HMAC-SHA256), lié au client, DeviceId, utilisateur, collaborateur, licence. Aucune table HFSQL supplémentaire. +- `MobileAuthMiddleware` : valide le token Bearer et stocke l'identité dans `HttpContext.Items`. +- `IMobileIdentityProvider` / `MobileIdentityProvider` : fournisseur d'identité commun (Batik via `ParametreMetier`, Omika via `Role`). +- `IMobileIdentityRepository` + `AdaptiveMobileIdentityRepository` + `BatikMobileIdentityRepository` + `OmikaMobileIdentityRepository` : résolution adaptative du profil/droits selon la génération de base. +- `IMobileBootstrapService` / `MobileBootstrapService` : construit le contrat commun (utilisateur, collaborateur, profil, droits, configuration, licence). Vérifie que le DeviceId du token correspond à la licence attribuée. +- `GET /api/mobile/bootstrap` : endpoint protégé par authentification. + +### Infrastructure API +- Authentification par token signé (HMAC-SHA256, stateless) +- Configuration via `appsettings.json` + variables d'environnement +- `ProblemDetails` / contrat d'erreur structuré +- `CancellationToken` partout +- Fail-fast Production : `MobileAuth:SigningKey` obligatoire en Production (jamais en source) + + +### Contrat de synchronisation (réception API) +- `POST /api/sync/operations` : réception d'une opération de l'Outbox mobile (authentifiée). +- Contrat public `SyncOperation` : `OperationId`, `DeviceId`, `EntityType`, `OperationType`, `EntityGuid`, `Payload`. +- `OperationId` = GUID de transaction créé par le téléphone. `EntityGuid` = identité de l'objet métier. Jamais interchangeables. +- `OperationType` couvre `CREATE`, `UPDATE`, `DELETE`, `ARCHIVE`. +- Enveloppe technique interne `SyncEnvelope` persistée dans `TS_JSON` / `MR_JSON` : contient les identités serveur (`ClientId`, `UserId`, `CollaborateurId`) issues du token et le `RetryCount` contrôlé côté serveur. Le mobile ne peut pas imposer ces champs. +- Le `DeviceId` de l'opération doit correspondre à l'identité authentifiée. Le `CollaborateurId` fourni par le client n'est jamais utilisé : l'identité provient du token/bootstrap. +- La réponse signifie uniquement `RECEIVED` (jamais `SUCCESS`), car l'opération n'est pas encore réellement appliquée. +- Idempotence : une répétition du même `OperationId` ne crée pas deux opérations métier. Abstraction `ISyncOperationStatusStore` (stockage terminal `MobLog`). Un verrou par `OperationId` garantit l'idempotence même en cas de requêtes simultanées. +- Ordre logique respecté par le futur moteur : `CREATE` → `UPDATE` → `DELETE` / `ARCHIVE`. +- `TS_CMD` reçoit une valeur technique interne moderne (`MOB.OP`), jamais le contrat public de l'API. Les anciennes commandes `S.xxx` ne sont pas reproduites publiquement. + +### Worker de synchronisation serveur +- `Omika.Worker` : worker .NET de synchronisation +- Transfert `TOSRV` → `MobReception` +- Traitement `MobReception` → métier +- Purge `MobLog` (rétention 30 jours) + +#### Pipeline de traitement (PROMPT 5) +- `SyncWorker` : `BackgroundService` qui déclenche périodiquement le traitement. +- `SyncProcessor` : logique pure et testable, indépendante du `BackgroundService`. + - **Phase 1 — transfert** : `TOSRV` → copie vers `MobReception` → suppression de `TOSRV` uniquement si la copie réussit. + - **Phase 2 — traitement** : lit les opérations `MR_Fait = false` arrivées à échéance, parse l'enveloppe JSON (`OperationId`, `RetryCount`, `DeviceId`, `EntityType`, `OperationType`, `EntityGuid`, `Payload`). + - **Ordre logique** : `CREATE` → `UPDATE` → `DELETE` / `ARCHIVE`, puis ordre de réception le plus ancien. +- `ISyncOperationHandler` / `SyncOperationHandlerRegistry` : handlers métier par `EntityType`, extensibles. Le handler public manipule le contrat commun `SyncOperation` (jamais de différence Batik/Omika visible). +- `DefaultSyncOperationHandler` : handler par défaut (traitement métier réel branché ultérieurement via les services/repositories existants). +- `SyncOperationResult` : résultat structuré (`Success`, `TransientFailure`, `PermanentFailure`). + - `Success` → `SUCCESS` dans MobLog + retrait de la file de travail. + - `TransientFailure` → incrément `RetryCount`, réécriture `MR_JSON`, report de `MR_DateHeureRecep`. + - `PermanentFailure` → `REJECTED` immédiat (ne consomme pas 30 retries). + - Après la 30e tentative impossible → `REJECTED`, plus de retraitement automatique. +- `SyncOptions` : `MaxRetryCount = 30`, `RetryDelaySeconds = 120`, `LogRetentionDays = 30` (aucune valeur codée en dur dans les handlers). +- `MobLog` : journal structuré (`SyncLogEntry`) avec `OperationId`, statut, `EntityType`, `EntityGuid`, `DeviceId`, `RetryCount`, erreur/code, date. Seuls les événements pertinents sont logués (réception, succès terminal, rejet terminal, erreur significative, retry significatif, conflit, document introuvable, exception serveur). + +#### Handler Intervention (PROMPT 5 — application métier) +- `InterventionSyncPayload` : contrat mobile commun (métadonnées d'intervention, aucun Row HFSQL). +- `InterventionSyncOperationHandler` : handler métier Intervention, **commun** (aucune condition Batik/Omika visible). Il délègue le traitement physique à `IInterventionService` (qui sélectionne Batik/Omika via le runtime adaptatif existant) et l'adaptation d'identité publique à `IMobileEntityIdentityResolver`. +- **CREATE** : transmet le `EntityGuid` mobile comme `Guid` métier à `CreateInterventionRequest` (rétrocompatible : une création Desktop sans GUID conserve le comportement historique). Idempotent : si l'intervention existe déjà, `SUCCESS` sans recréer. +- **UPDATE** : résout l'intervention par identifiant public via le resolver, puis `UpdateAsync`. Absente → `TransientFailure` (`INTERVENTION_NOT_FOUND`). +- **ARCHIVE** : `ArchiveAsync` sur l'identifiant public résolu. Absente → `TransientFailure`. +- **DELETE** : non supporté pour Intervention → `PermanentFailure` (`INTERVENTION_OPERATION_NOT_SUPPORTED`). +- `CreatedEntityId` : identifiant public serveur de l'objet créé (GUID pour Omika, identifiant numérique public pour Batik), jamais le PK HFSQL brut. +- Le handler ne dépend que de `IInterventionService` et `IMobileEntityIdentityResolver` (vérifié par test) : aucune dépendance vers un repository physique Batik/Omika. + +#### Identité publique mobile ↔ identité physique backend (résolveur central) +- `IMobileEntityIdentityResolver` / `MobileEntityIdentityResolver` : abstraction Core unique qui adapte l'identité publique mobile à l'identité physique backend selon la génération de base détectée (`ApplicationRuntimeContext`). Aucune condition Batik/Omika dans les handlers. +- **Omika** : l'identité publique est le GUID physique. Le resolver le conserve tel quel ; la résolution est directe par GUID. +- **Batik** : les tables historiques n'ont pas de GUID physique exploitable. L'identité publique stable est un **GUID synthétique réversible** dérivé du PK numérique (marqueur + version + type d'entité + PK big-endian + checksum CRC32). Il est déterministe, stable, versionné, recalculable sans stockage et décodable vers le PK sans scanner toutes les lignes. Le PK HFSQL n'est jamais exposé au mobile. +- `PhysicalEntityIdentity` : contrat interne (GUID physique et/ou PK numérique) porté par `LegacyEntityReference` (`SourceReference`, `[JsonIgnore]` sur le DTO) pour calculer l'identité canonique sans exposer le PK. +- `SyncOperationResult` : porte `RequestedEntityGuid` (GUID mobile demandé) et `CanonicalEntityGuid` (GUID canonique stable) lorsqu'ils diffèrent (cas Batik CREATE). Le mobile doit utiliser le GUID canonique pour les UPDATE/ARCHIVE ultérieurs. +- **Idempotence par `OperationId` renforcée (reconstitution du résultat terminal)** : le `SyncProcessor` vérifie, avant d'appeler le handler, si l'opération a déjà produit un résultat terminal (`SUCCESS` / `REJECTED`) dans `MobLog` via `ISyncTransferRepository.GetTerminalResultAsync`. Si oui, il **reconstitue** ce résultat sans rappeler le handler métier : un même `OperationId` ne produit jamais deux applications métier (notamment pour un CREATE Batik où le GUID mobile temporaire n'est pas stocké). Le `CanonicalEntityGuid`, le `RequestedEntityGuid` et le `CreatedEntityId` d'origine sont conservés dans `MobLog` (`SyncLogEntry`) et réutilisés lors de la reconstitution. Une protection défensive par `HashSet<Guid>` empêche aussi tout doublon d'`OperationId` au sein d'un même cycle de traitement. +- **Blocage documenté (Batik)** : un GUID mobile temporaire non stocké n'est pas résolvable sans stockage durable. Le mobile doit utiliser le GUID canonique retourné après le CREATE. L'idempotence CREATE Batik par GUID n'est donc pas garantie pour un GUID mobile temporaire (documenté, sans ajout de colonne). L'idempotence par `OperationId` (reconstitution du résultat terminal) reste néanmoins garantie côté serveur. + +#### Suivi de statut (PROMPT 6) +- `GET /api/sync/status/{operationId}` : authentifié. Le résultat appartient au même client/device que l'identité authentifiée. +- **Source de vérité** : `MobLog` pour les états terminaux (`SUCCESS` / `REJECTED`) ; `TOSRV` / `MobReception` pour les opérations encore en attente (`PENDING`). Aucun statut `PROCESSING` persistant n'est inventé : il reste `PENDING` entre deux tentatives. +- **Contrat public `SyncStatusResponse`** : `OperationId`, `Status`, `RetryCount`, `EntityType`, `OperationType`, `EntityGuid`, `RequestedEntityGuid`, `CanonicalEntityGuid`, `DeviceId`, `ErrorCode`, `ErrorMessage`, `LastUpdatedUtc`, `CompletedAt`. Ne contient jamais de PK HFSQL, d'`IDTOSRV`, de `MR_PKID`, de nom de table technique ni de commande historique `S.xxx` / `W.xxx`. +- **Résultat riche pour les états terminaux** : `GetStatusAsync` réutilise `GetTerminalResultAsync` (parsing de l'enveloppe JSON de `MobLog`) pour reconstituer un statut complet, y compris `RequestedEntityGuid` et `CanonicalEntityGuid` (utile pour un CREATE Batik : le mobile récupère le GUID canonique à utiliser pour les UPDATE/ARCHIVE ultérieurs) et `CompletedAt`. +- **Isolation par appareil** : si l'opération existe mais appartient à un autre `DeviceId`, `GetStatusAsync` retourne `null` (aucune information métier sensible ne fuit vers un autre appareil). Le endpoint traduit ce cas en `STATUS_NOT_AVAILABLE` avec un HTTP approprié. +- **OperationId inconnu / purgé** : retourne `STATUS_NOT_AVAILABLE` avec un HTTP cohérent avec le contrat d'erreur global. + +#### Purge de MobLog (PROMPT 6) +- Rétention `Sync:LogRetentionDays = 30` (aucune valeur codée en dur dans la logique). +- **Ciblage strict** : la purge ne supprime QUE les logs structurés appartenant au mécanisme de synchronisation mobile (JSON versionné contenant `"schemaVersion"` et `"operationId"`) **et** dont le statut est terminal (`"status":"Success"` ou `"status":"Rejected"`). Les autres types de logs historiques présents dans `MobLog` ne sont jamais supprimés par cette purge. +- **Jamais de purge des opérations non terminées** : une opération `PENDING` n'est jamais supprimée uniquement parce qu'elle est ancienne. +- Après purge, un `OperationId` ancien peut retourner `STATUS_NOT_AVAILABLE`. +- Le nettoyage est périodique et léger, exécuté par un worker de purge distinct qui ne monopolise pas le worker principal. + +#### Documents mobile (téléchargement / upload) +- `GET /api/documents/{documentGuid:guid}` : téléchargement d'un document par son GUID public (authentifié). Le mobile ne reçoit jamais le chemin physique du serveur. +- `POST /api/documents` : upload d'un document. **Un upload = UN document par requête.** Le serveur conserve le `DocumentGuid` fourni par le mobile. +- **Identifiant public** : le mobile utilise exclusivement `DocumentGuid` (GUID). Le PK HFSQL (`DC_PKID`) reste strictement interne au backend. +- **Résolution d'identité** : le `DocumentGuid` est résolu vers l'identité physique backend via `IMobileEntityIdentityResolver` (GUID physique Omika ou PK numérique Batik), puis le document est chargé par cette identité via `IDocumentRepository.GetByPhysicalIdentityAsync`. +- **Stockage physique** : le contenu binaire est lu/écrit via `IDocumentFileStorage` (abstraction anti path traversal, taille maximale configurable). Le `DC_Chemin` stocké en base est un chemin **relatif** à la racine configurée (`Documents:RootPath`). Le chemin serveur n'est jamais exposé au mobile. +- **Compatibilité future** : le contrat mobile `DocumentUploadRequest` / `DocumentDownloadResponse` est stable et indépendant de la génération de base (Batik/Omika). Les métadonnées de document sont lues depuis la table `Document` (GUID métier stable si présent, sinon `Guid.Empty` et le resolver produit le GUID public synthétique à partir du PK numérique Batik). Aucune colonne HFSQL n'est ajoutée/modifiée. + + +## Configuration + + + +| Clé | Valeur par défaut | Description | +|-----|-------------------|-------------| +| `License:OfflineGraceDays` | `10` | Jours de fonctionnement offline | +| `Sync:MaxRetryCount` | `30` | Nombre max de tentatives | +| `Sync:RetryDelaySeconds` | `120` | Délai entre tentatives | +| `Sync:LogRetentionDays` | `30` | Rétention MobLog | +| `Auth:Issuer` | — | Émetteur du token | +| `Auth:Audience` | — | Audience du token | +| `Auth:SigningKey` | — | Clé de signature (secret) | + +## Sécurité + +- Aucun secret HFSQL dans le code source. +- Aucune connection string en dur. +- Aucun password en dur. +- Aucun Row HFSQL exposé publiquement. +- Le mobile ne reçoit jamais le chemin physique des fichiers. +- Le mobile ne reçoit jamais les adresses/ports/logins/passwords HFSQL. + +--- + +# MOBILE UI FOUNDATION + +## Statut + +Socle visuel et de navigation de l'application Avalonia mobile. Ce lot pose le +shell responsive, la navigation, le thème clair/sombre, la couleur principale +personnalisable, la structure commune des pages et le branchement aux services +locaux existants. **Aucun écran métier complet n'est développé ici.** + +## Principe maquette UX vs données réelles + +`docs/maquetteOmika.html` est une **référence UX** (comportement responsive, +hiérarchie visuelle, navigation, ergonomie téléphone/tablette), **pas une source +de données**. Aucun champ métier, propriété DTO ou donnée fictive n'est créé +parce qu'il apparaît dans le HTML. Les modèles/services existants restent la +source de vérité métier. Le HTML/CSS n'est pas converti mécaniquement en XAML : +l'expérience est reproduite avec des composants Avalonia propres. + +## Architecture MVVM + +``` +View (ShellView, PlaceholderPage, ParametresPage) + → ViewModel (ShellViewModel, PlaceholderViewModel, ParametresViewModel) + → Service (ThemeService, NavigationService, SyncEngine existant) +``` + +- Une View n'appelle jamais directement l'API ni SQLite. +- Aucune logique métier importante dans les Views. +- MVVM via `CommunityToolkit.Mvvm` (déjà présent, aucune nouvelle bibliothèque). + +## Shell responsive + +Le shell principal (`ShellView`) contient : +- zone de marque / application +- navigation principale (latérale desktop/tablette, barre basse smartphone) +- contenu de la page courante +- accès au profil (état neutre : aucune identité fictive) +- accès synchronisation +- état de connectivité/synchronisation non intrusif + +Aucune donnée utilisateur fictive. Sans identité réelle, un placeholder +technique neutre est affiché. + +## Navigation + +Abstraction `INavigationService` / `NavigationService` : +- page courante (`CurrentPage`) +- éléments disponibles (`Items`) +- navigation active (état sélection) +- fonctions primaires/secondaires smartphone + +Le `ShellViewModel` connaît la page courante, les éléments disponibles et la +navigation active. Le changement de page placeholder ne déclenche **aucun appel +API** : il est purement visuel. La navigation est préparée pour les futurs +écrans détail (ex. Agenda → RendezVous → Intervention) sans les implémenter. + +### Pages + +| Page | Type | +|------|------| +| Home / Agenda | Placeholder | +| Interventions | Placeholder | +| Dossiers | Placeholder | +| Collaborateurs / Équipe | Placeholder | +| Clients | Placeholder | +| Sites | Placeholder | +| Paramètres | Réel minimal (thème, couleur, version, sync) | + +## Breakpoints / seuils responsive + +Centralisés dans `DesignTokens.axaml` (pas de valeurs magiques répétées dans les +Views). La logique responsive dépend de la **largeur disponible** (classes +adaptatives Avalonia), pas de Android/iOS directement. + +- **Smartphone** : navigation latérale masquée, barre basse avec 5 accès directs + maximum, fonctions secondaires via menu "Plus". +- **Tablette** : rail réduit / navigation compacte (transition douce). +- **Desktop / grande tablette** : navigation latérale complète. + +## Thème clair / sombre + +`ThemeService` gère `Light`, `Dark` et `System` (si l'architecture le permet). +Le changement est dynamique sans redémarrage. Le choix est persisté dans la +configuration locale (`UiPreferencesRepository`, table technique `UiPreferences`), +jamais dans une table métier snapshot. + +## Couleur principale personnalisable + +Palette basée sur une `PrimaryColor` configurable. Le changement met à jour : +- boutons principaux +- éléments actifs de navigation +- accents +- focus +- badges / éléments de sélection + +8 presets prédéfinis dans `ThemeService.PresetColors`. Pas de sélecteur libre +(évite une dépendance inutile). Persistance locale obligatoire. + +## Design tokens + +`DesignTokens.axaml` centralise les ressources visuelles : couleurs, espacements +principaux, radius, tailles communes, surfaces, bordures, texte principal / +secondaire, success / warning / danger / info. Light et Dark utilisent les mêmes +clés de ressources. Aucune valeur couleur hardcodée dans les Views. + +## Composants / styles réutilisables + +`Controls.axaml` définit des styles/ControlThemes pour : PageHeader, Card, +boutons principaux/secondaires, badges, champs de saisie, sections, listes, +états vides, messages d'erreur, indicateur de chargement. Les contrôles natifs +ne sont pas recréés ; les styles apportent une cohérence. + +## Persistance des préférences UI + +`UiPreferences` (table technique `UiPreferences`, ligne unique) stocke : +- `ThemeMode` (`System` / `Light` / `Dark`) +- `PrimaryColor` (hexadécimal) + +Persistance via `IUiPreferencesRepository` / `UiPreferencesRepository`. Cette +table n'est **jamais** touchée par le refresh snapshot. + +## Branchement Synchroniser maintenant + +`ParametresViewModel.SyncNowCommand` → `ShellViewModel.SyncNowCommand` → +`ISyncEngine.SyncAsync` (LE SyncEngine existant, jamais un second moteur). + +L'UI affiche : sync en cours, succès, erreur significative, hors ligne. Le bouton +est désactivé pendant l'opération et un verrou UI (`SemaphoreSlim`) empêche deux +clics simultanés de lancer deux cycles UI. + +## État de synchronisation + +Dans le shell, un petit état non intrusif reflète l'état réel du SyncEngine : +- synchronisé +- synchronisation +- hors ligne +- erreur / rejet + +Aucune donnée réseau fictive. Les détails techniques TOSRV/MobReception/MobLog +ne sont pas affichés. + +## Startup visuel + +`Loading → Shell` avec un état d'erreur récupérable pendant l'initialisation +SQLite, la restauration locale, la vérification bootstrap local et l'éventuelle +synchronisation initiale. L'orchestration Startup existante n'est pas réécrite. + +## Accessibilité / terrain + +- zones tactiles suffisamment grandes +- lisibilité et contrastes +- texte adaptable +- navigation utilisable au doigt +- pas d'actions critiques uniquement accessibles par hover +- focus clavier correct sur desktop/tablette clavier + +## Safe area mobile + +Les safe areas (barre système, encoche, navigation Android/iOS, bottom +navigation) sont prises en compte via les APIs Avalonia/platform disponibles. +Aucune marge spécifique à un téléphone particulier n'est hardcodée. + +## Icônes + +Réutilisation de la bibliothèque d'icônes déjà présente. Aucun emoji comme icône +finale de navigation. Une seule bibliothèque d'icônes. + +## Fichiers créés (UI Foundation) + +- `src/Omika.App/Styles/DesignTokens.axaml` +- `src/Omika.App/Styles/Controls.axaml` +- `src/Omika.App/Services/ThemeMode.cs` +- `src/Omika.App/Services/ThemeService.cs` +- `src/Omika.App/Navigation/AppPage.cs` +- `src/Omika.App/Navigation/NavigationItem.cs` +- `src/Omika.App/Navigation/INavigationService.cs` +- `src/Omika.App/Navigation/NavigationService.cs` +- `src/Omika.App/Navigation/IPageViewModelFactory.cs` +- `src/Omika.App/Navigation/PageViewModelFactory.cs` +- `src/Omika.App/ViewModels/ViewModelBase.cs` +- `src/Omika.App/ViewModels/SyncUiState.cs` +- `src/Omika.App/ViewModels/ShellViewModel.cs` +- `src/Omika.App/ViewModels/PlaceholderViewModel.cs` +- `src/Omika.App/ViewModels/ParametresViewModel.cs` +- `src/Omika.App/Views/ShellView.axaml` (+ code-behind) +- `src/Omika.App/Views/PlaceholderPage.axaml` (+ code-behind) +- `src/Omika.App/Views/ParametresPage.axaml` (+ code-behind) +- `src/Omika.App/Views/MainView.axaml` +- `src/Omika.App/Views/NavItem*Converter.cs` +- `src/Omika.App/Views/SyncStateToBrushConverter.cs` +- `src/Omika.App/AppServices.cs` +- `src/Omika.App.Local/Models/UiPreferences.cs` +- `src/Omika.App.Local/Abstractions/IUiPreferencesRepository.cs` +- `src/Omika.App.Local/Repositories/UiPreferencesRepository.cs` +- `src/Omika.App.Local/Services/NetworkConnectivity.cs` +- `src/Omika.App.Local/Services/MobileApiClient.cs` + +## Fichiers modifiés + +- `src/Omika.App.Local/Sqlite/SqliteSchema.cs` (table `UiPreferences`) +- `src/Omika.App/App.axaml` / `App.axaml.cs` (thème, ressources, DI) +- `src/Omika.App/Views/MainView.axaml` (racine Shell) +- `tests/Omika.Tests/Omika.Tests.csproj` (référence `Omika.App`) + +## Tests ajoutés + +- `tests/Omika.Tests/Mobile/Local/ThemeServiceTests.cs` : thème clair/sombre, + persistance, restauration, couleur principale, fallback config invalide. +- `tests/Omika.Tests/Mobile/Local/NavigationServiceTests.cs` : page initiale, + sélection, changement de page, fonctions secondaires, aucun appel API. +- `tests/Omika.Tests/Mobile/Local/ShellViewModelTests.cs` : navigation, page + active, thème, sync UI (appel unique, bouton désactivé, double clic, erreur, + offline), aucune identité fictive. + +--- + +# DESIGN SYSTEM OMIKA — ORGANISATION DES STYLES + +## Principe + +Le style de l'application est **centralisé** dans deux fichiers de ressources +Avalonia. Toute modification visuelle globale (couleur principale, radius, +typographie, espacements, formes de boutons) se fait **sans toucher aux Views**. + +``` +src/Omika.App/Styles/ +├── DesignTokens.axaml → Ressources brutes (couleurs, espacements, radius, +│ tailles, breakpoints, typographie) +└── Controls.axaml → Styles réutilisables (boutons, cartes, badges, + champs, navigation, états, typographie sémantique) +``` + +## 1. DesignTokens.axaml — Ressources brutes + +### Couleurs sémantiques + +Light et Dark utilisent les **mêmes clés de ressources**. Le changement de +thème est dynamique via `ThemeService` (aucune View à recréer). + +| Clé | Rôle | +|-----|------| +| `BackgroundBrush` | Fond de page | +| `SurfaceBrush` | Surface de carte / panneau | +| `SurfaceSecondaryBrush` | Surface secondaire (fond alterné) | +| `SurfaceElevatedBrush` | Surface élevée (cartes avec ombre) | +| `SurfaceOverlayBrush` | Surface de survol / overlay | +| `TextPrimaryBrush` | Texte principal | +| `TextSecondaryBrush` | Texte secondaire | +| `TextMutedBrush` | Texte atténué (captions, désactivé) | +| `TextOnPrimaryBrush` | Texte sur fond Primary | +| `BorderBrush` | Bordure standard | +| `BorderStrongBrush` | Bordure forte | +| `SuccessBrush` / `SuccessContainerBrush` | Succès | +| `WarningBrush` / `WarningContainerBrush` | Avertissement | +| `DangerBrush` / `DangerContainerBrush` | Erreur / danger | +| `InfoBrush` / `InfoContainerBrush` | Information | +| `PrimaryColorBrush` | Couleur principale (pilotée par ThemeService) | +| `PrimaryColorDarkBrush` | Primary assombrie (hover) | +| `PrimaryColorLightBrush` | Primary éclaircie | +| `PrimaryColorContainerBrush` | Conteneur Primary (fond clair) | + +### Typographie + +| Clé | Usage | +|-----|-------| +| `FontFamilyBase` | Police générale de l'application | +| `FontSizeCaption` | 12 — captions, badges | +| `FontSizeBodySmall` | 13 — texte secondaire | +| `FontSizeBody` | 14 — corps de texte | +| `FontSizeButton` | 14 — boutons | +| `FontSizeCardTitle` | 16 — titres de cartes | +| `FontSizeSectionTitle` | 18 — titres de sections | +| `FontSizePageTitle` | 24 — titres de pages | +| `FontSizeDisplay` | 28 — affichage / hero | + +### Espacements (échelle) + +| Clé | Valeur | +|-----|--------| +| `SpaceXXS` | 2 | +| `SpaceXS` | 4 | +| `SpaceS` | 8 | +| `SpaceM` | 12 | +| `SpaceL` | 16 | +| `SpaceXL` | 24 | +| `SpaceXXL` | 32 | + +Dimensions communes : `ControlHeight` (44), `ControlHeightCompact` (36), +`TouchTargetMin` (48), `PagePadding` (24), `CardPadding` (16), +`IconSizeS` (16), `IconSizeM` (20), `IconSizeL` (24), `AvatarSize` (36). + +Thickness réutilisables pour Margin/Padding : `ThicknessXS`, `ThicknessS`, +`ThicknessM`, `ThicknessL`, `ThicknessXL`, `ThicknessPage`, `ThicknessCard`. + +Épaisseurs de bordure : `BorderThicknessThin` (1), `BorderThicknessStrong` (2). + +### Radius + +| Clé | Valeur | Usage | +|-----|--------|-------| +| `Radius.Small` | 4 | Petits éléments | +| `Radius.Control` | 8 | Contrôles (champs, listes) | +| `Radius.Button` | 8 | Boutons | +| `Radius.Card` | 12 | Cartes | +| `Radius.Dialog` | 16 | Dialogues | +| `Radius.Full` | 999 | Badges, avatars | + + +### Breakpoints responsive + +| Clé | Valeur | +|-----|--------| +| `BreakpointPhone` | 600 | +| `BreakpointTablet` | 960 | + +La logique responsive dépend de la **largeur disponible** (classes adaptatives +Avalonia), pas de Android/iOS directement. Les seuils sont centralisés ici. + +## 2. Controls.axaml — Styles réutilisables + +### Typographie sémantique + +| Classe | Usage | +|--------|-------| +| `TextBlock.pageTitle` | Titre de page | +| `TextBlock.sectionTitle` | Titre de section | +| `TextBlock.cardTitle` | Titre de carte | +| `TextBlock.body` | Corps de texte | +| `TextBlock.bodySmall` | Texte secondaire | +| `TextBlock.caption` | Caption / texte atténué | +| `TextBlock.listTitle` | Titre d'élément de liste (semi-gras) | + + +### Boutons + +Variantes : `primary`, `secondary`, `ghost`, `danger`, `icon`. +Tailles : `compact` (en plus de la taille normale). + +| Variante | Usage | +|----------|-------| +| `Button.primary` | Action principale | +| `Button.secondary` | Action secondaire | +| `Button.ghost` | Action discrète (navigation) | +| `Button.danger` | Action destructive | +| `Button.icon` | Bouton icône seule | +| `Button.compact` | Taille réduite | + +### Autres composants + +| Classe | Usage | +|--------|-------| +| `Border.card` | Carte de contenu | +| `Border.card.cardElevated` | Carte avec ombre | +| `TextBox.field` | Champ de saisie | +| `ComboBox.field` | Liste déroulante | +| `Border.badge` + `badgeSuccess/Warning/Danger/Info/Primary` | Badge | +| `Border.statusBadge` + `statusSuccess/Warning/Danger/Info` | Badge de statut | +| `ListBoxItem.listItem` | Élément de liste | +| `ListBoxItem.navItem` | Élément de navigation latérale | +| `ListBoxItem.bottomNavItem` | Élément de navigation basse | +| `StackPanel.pageHeader` | En-tête de page | +| `StackPanel.section` | Section de contenu | +| `StackPanel.emptyState` | État vide | +| `StackPanel.loadingState` | État de chargement | +| `Border.errorMessage` | Message d'erreur | +| `Border.infoMessage` | Message d'information | + +## 3. Règles pour les Views + +1. **Toute nouvelle View métier** doit d'abord chercher si un style/composant + global existe. +2. **Ne pas répéter** dans les Views des valeurs visuelles telles que + `Background="#..."`, `Foreground="#..."`, `FontSize="..."`, + `CornerRadius="..."`, `Padding="..."`, `Height="..."` pour les composants + standards lorsqu'une ressource ou un style réutilisable peut être utilisé. +3. **Ne créer un style local** que lorsque : + - le besoin est réellement spécifique à cet écran ; + - aucun style global ne convient ; + - la duplication n'est pas justifiée. +4. **Si le même style spécifique apparaît dans deux écrans ou plus** : le + déplacer dans les ressources globales. + +## 4. DynamicResource + +Tout ce qui doit changer dynamiquement (Light/Dark, PrimaryColor) utilise +`DynamicResource`. Le changement de thème/couleur ne nécessite **pas** de +recréer chaque View. + +## 5. Validation + +Une modification centrale simulée de : +- `PrimaryColor` (via `ThemeService`) +- `Radius.Button` (dans `DesignTokens.axaml`) +- `FontSizeBody` (dans `DesignTokens.axaml`) + +se répercute **sans modification des Views** utilisant les styles correspondants. +Les Views ne référencent jamais ces valeurs en dur : elles passent par les +styles globaux (`Button.primary`, `TextBlock.body`, etc.) et les +`DynamicResource` des design tokens. + + +--- + +# LOT AGENDA — ÉCRANS MÉTIER RÉELS (Agenda + Détail Rendez-vous) + +## Statut + +Ce lot implémente les **premiers écrans métier réels** de l'application mobile : +l'Agenda (liste des rendez-vous d'une journée) et le Détail d'un rendez-vous. +Les données proviennent exclusivement du **snapshot local SQLite** (dernier +synchronisé) : aucun appel API n'est déclenché par ces écrans. + +## Principe + +- Lecture locale uniquement via `IAgendaService` (abstraction) / `AgendaService` + (implémentation SQLite). +- Enrichissement des rendez-vous avec les références Client / Site / Intervention + disponibles localement. Les relations optionnelles absentes ne provoquent pas + d'erreur. +- MVVM strict : les Views ne contiennent aucune logique métier ni appel de + données ; elles réutilisent exclusivement les styles globaux du Design System + (`DesignTokens.axaml` + `Controls.axaml`). + +## Navigation avec paramètre + +`INavigationService.NavigateTo(AppPage page, object? parameter)` a été étendu +avec un **paramètre optionnel** (rétrocompatible : l'ancienne surcharge sans +paramètre reste disponible). Le paramètre est exposé via `CurrentParameter`. +`IPageViewModelFactory` accepte le même paramètre optionnel pour construire le +ViewModel de la page cible (ex. `RendezVousDetailViewModel` reçoit le GUID du +rendez-vous à afficher). + +## Composants créés + +### Couche locale (Omika.App.Local) +- `Abstractions/IAgendaService.cs` : contrat de lecture de l'agenda. +- `Services/AgendaService.cs` : implémentation SQLite (filtrage par journée, + tri chronologique, enrichissement Client/Site/Intervention, détail par GUID). +- `Models/AgendaItem.cs` : modèle de présentation d'un rendez-vous enrichi. + +### Couche présentation (Omika.App) +- `ViewModels/AgendaViewModel.cs` : liste du jour, navigation jour précédent / + suivant / aujourd'hui, états chargement / vide / erreur, ouverture du détail. +- `ViewModels/RendezVousDetailViewModel.cs` : chargement du détail par GUID, + retour à l'agenda. +- `Views/AgendaView.axaml` (+ code-behind) : liste des rendez-vous du jour. +- `Views/RendezVousDetailView.axaml` (+ code-behind) : détail d'un rendez-vous. + +### Navigation +- `Navigation/AppPage.cs` : ajout de `RendezVousDetail`. +- `Navigation/INavigationService.cs` / `NavigationService.cs` : paramètre + optionnel de navigation. +- `Navigation/IPageViewModelFactory.cs` / `PageViewModelFactory.cs` : paramètre + optionnel transmis au ViewModel. +- `ViewModels/ShellViewModel.cs` : transmission du paramètre lors de la + navigation. + +### Injection de dépendances +- `AppServices.cs` : enregistrement des repositories `LocalRendezVous`, + `LocalClient`, `LocalSite`, `LocalIntervention` et du service `IAgendaService`. + +## Fichiers créés (LOT AGENDA) + +- `src/Omika.App.Local/Abstractions/IAgendaService.cs` +- `src/Omika.App.Local/Services/AgendaService.cs` +- `src/Omika.App.Local/Models/AgendaItem.cs` +- `src/Omika.App/ViewModels/AgendaViewModel.cs` +- `src/Omika.App/ViewModels/RendezVousDetailViewModel.cs` +- `src/Omika.App/Views/AgendaView.axaml` (+ code-behind) +- `src/Omika.App/Views/RendezVousDetailView.axaml` (+ code-behind) + +## Fichiers modifiés (LOT AGENDA) + +- `src/Omika.App/Navigation/AppPage.cs` (ajout `RendezVousDetail`) +- `src/Omika.App/Navigation/INavigationService.cs` (paramètre optionnel) +- `src/Omika.App/Navigation/NavigationService.cs` (implémentation paramètre) +- `src/Omika.App/Navigation/IPageViewModelFactory.cs` (paramètre optionnel) +- `src/Omika.App/Navigation/PageViewModelFactory.cs` (paramètre optionnel) +- `src/Omika.App/ViewModels/ShellViewModel.cs` (transmission du paramètre) +- `src/Omika.App/AppServices.cs` (repositories + service Agenda) +- `tests/Omika.Tests/Mobile/Local/LocalTestBase.cs` (exposition `SiteRepository`) + +## Tests ajoutés (LOT AGENDA) + +- `tests/Omika.Tests/Mobile/Local/AgendaServiceTests.cs` : journée sans + rendez-vous, filtrage par journée, tri chronologique, enrichissement + Client/Site/Intervention, rendez-vous annulé, détail par GUID, introuvable, + payload invalide ignoré. +- `tests/Omika.Tests/Mobile/Local/AgendaViewModelTests.cs` : chargement, état + vide, navigation jour précédent/suivant, retour à aujourd'hui, libellé de + date, ouverture du détail (navigation avec paramètre), paramètre null ignoré. + +## Conformité Design System + +Les nouvelles Views (`AgendaView`, `RendezVousDetailView`) réutilisent +exclusivement les styles globaux : `pageHeader`, `pageTitle`, `pageSubtitle`, +`section`, `sectionTitle`, `body`, `bodySmall`, `caption`, `card`, `badge`, +`errorMessage`, `ghost`, `compact`. Aucune valeur visuelle (couleur hex, +FontSize, CornerRadius, Padding, Height) n'est répétée dans ces Views : tout +passe par les ressources/styles centraux. Une modification centrale de +`PrimaryColor`, `Radius.Control` ou de la taille typographique principale se +répercute sans toucher à ces écrans. + +--- + +# LOT FICHE INTERVENTION — ÉCRAN MÉTIER RÉEL + +## Statut + +Ce lot implémente la **Fiche Intervention** : un écran métier réel qui affiche +le détail d'une intervention chargée depuis le **snapshot local SQLite** (aucun +appel API). La fiche est enrichie avec les relations Client / Site / Dossier / +Rendez-vous / Documents disponibles localement. Les relations optionnelles +absentes ne provoquent pas d'erreur. + +## Principe + +- Lecture locale uniquement via `IInterventionLocalService` (abstraction) / + `InterventionLocalService` (implémentation SQLite). +- Enrichissement de la fiche avec les références Client / Site / Dossier / + Rendez-vous / Documents disponibles localement. +- MVVM strict : la View ne contient aucune logique métier ni appel de données ; + elle réutilise exclusivement les styles globaux du Design System. +- Navigation bidirectionnelle : Agenda → Détail Rendez-vous → Fiche Intervention + (et retour). Depuis la fiche, un rendez-vous lié peut être rouvert. + +## Composants créés + +### Couche locale (Omika.App.Local) +- `Abstractions/IInterventionLocalService.cs` : contrat de lecture de la fiche. +- `Services/InterventionLocalService.cs` : implémentation SQLite (détail par + GUID, enrichissement Client/Site/Dossier/Rendez-vous/Documents). +- `Models/InterventionDetail.cs` : modèle de présentation d'une intervention + enrichie (+ `InterventionRendezVous`, `InterventionDocument`). + +### Couche présentation (Omika.App) +- `ViewModels/InterventionDetailViewModel.cs` : chargement par GUID, indicateurs + de relations (`HasClient`, `HasSite`, `HasDossier`, `HasRendezVous`, + `HasDocuments`), ouverture d'un rendez-vous lié, retour à l'agenda. +- `Views/InterventionDetailView.axaml` (+ code-behind) : fiche intervention. + +### Navigation +- `Navigation/AppPage.cs` : ajout de `InterventionDetail`. +- `Navigation/PageViewModelFactory.cs` : cas `InterventionDetail` (injection du + service + paramètre GUID). +- `ViewModels/RendezVousDetailViewModel.cs` : ajout de `HasIntervention`, + `InterventionReference` et de la commande `OpenIntervention` (navigation vers + la fiche). +- `Views/RendezVousDetailView.axaml` : bouton "Ouvrir l'intervention" visible + uniquement si le rendez-vous est lié à une intervention. + +### Injection de dépendances +- `AppServices.cs` : enregistrement des repositories `LocalDossier`, + `LocalDocumentMetadata` et du service `IInterventionLocalService`. + +## Fichiers créés (LOT FICHE INTERVENTION) + +- `src/Omika.App.Local/Abstractions/IInterventionLocalService.cs` +- `src/Omika.App.Local/Services/InterventionLocalService.cs` +- `src/Omika.App.Local/Models/InterventionDetail.cs` +- `src/Omika.App/ViewModels/InterventionDetailViewModel.cs` +- `src/Omika.App/Views/InterventionDetailView.axaml` (+ code-behind) + +## Fichiers modifiés (LOT FICHE INTERVENTION) + +- `src/Omika.App/Navigation/AppPage.cs` (ajout `InterventionDetail`) +- `src/Omika.App/Navigation/PageViewModelFactory.cs` (cas `InterventionDetail`) +- `src/Omika.App/ViewModels/RendezVousDetailViewModel.cs` (action ouvrir + intervention) +- `src/Omika.App/Views/RendezVousDetailView.axaml` (bouton intervention) +- `src/Omika.App/AppServices.cs` (repositories + service Intervention) +- `tests/Omika.Tests/Mobile/Local/LocalTestBase.cs` (exposition + `DossierRepository`, `DocumentMetadataRepository`) +- `tests/Omika.Tests/Mobile/Local/ShellViewModelTests.cs` (injection du service + Intervention dans la factory) + +## Tests ajoutés (LOT FICHE INTERVENTION) + +- `tests/Omika.Tests/Mobile/Local/InterventionLocalServiceTests.cs` : fiche + introuvable, fiche simple, enrichissement Client/Site/Dossier, rendez-vous + liés triés chronologiquement, documents liés, relations absentes sans erreur, + payload invalide. +- `tests/Omika.Tests/Mobile/Local/InterventionDetailViewModelTests.cs` : + chargement, état introuvable, indicateurs de relations, ouverture d'un + rendez-vous lié (navigation avec paramètre), paramètre null ignoré, retour. +- `tests/Omika.Tests/Mobile/Local/RendezVousDetailViewModelTests.cs` : + indicateur d'intervention liée, navigation RDV → Fiche Intervention, absence + d'intervention sans navigation, retour. + + ## Conformité Design System + + La nouvelle View (`InterventionDetailView`) réutilise exclusivement les styles + globaux : `pageHeader`, `pageTitle`, `section`, `sectionTitle`, `body`, + `bodySmall`, `caption`, `card`, `badge`, `errorMessage`, `ghost`, `secondary`, + `compact`. Aucune valeur visuelle (couleur hex, FontSize, CornerRadius, Padding, + Height) n'est répétée : tout passe par les ressources/styles centraux. Une + modification centrale de `PrimaryColor`, `Radius.Control` ou de la taille + typographique principale se répercute sans toucher à cet écran. + + # LOT DOCUMENTS / PHOTOS MOBILE + + ## Statut + + Ce lot ajoute la consultation, le téléchargement à la demande, l'ouverture + offline et l'ajout offline-first des documents / photos d'une intervention. + + ## Métadonnées depuis SQLite + + L'ouverture de l'écran Documents fonctionne **uniquement** depuis SQLite + (snapshot). Aucun appel réseau automatique. Les métadonnées réellement + disponibles sont lues depuis `LocalDocumentMetadata` (payload `DocumentSummaryDto`) : + `DocumentGuid`, nom, titre, catégorie, MIME type, extension, taille, date de + création, `InterventionGuid`. Aucune propriété absente n'est supposée. + + ## Cache fichier local + + Le contenu binaire reste dans le filesystem local (répertoire contrôlé par + l'application). SQLite stocke uniquement les informations techniques du cache + (`DocumentCacheEntry` : chemin local, nom, MIME, taille, état). Le cache survit + au refresh snapshot : après un refresh, un document serveur retrouve son cache + grâce au `DocumentGuid`. + + ## Téléchargement à la demande + + Un téléchargement = un document, strictement à la demande. Ouvrir l'écran ne + télécharge rien. Si le fichier est déjà en cache, aucun HTTP. Si hors ligne, + aucun HTTP et la métadonnée reste visible. + + ## Ouverture offline + + Si le fichier est présent localement, `Ouvrir` ouvre la copie locale via + l'abstraction plateforme `IFileLauncher` (aucun code Android/iOS dans le + ViewModel). Le ViewModel ne connaît pas le chemin physique. + + ## Ajout photo / document offline-first + + Flux obligatoire : capture/sélection → copie fichier locale → création + métadonnée locale → création Outbox → UI mise à jour immédiatement. La + connexion réseau n'est pas nécessaire. Le fichier est copié dans un espace + contrôlé par l'application (aucune référence fragile vers un temp file ou un + content URI). + + ## Outbox + + L'Outbox existante est réutilisée (aucun mécanisme parallèle). Le payload + (`DocumentOutboxPayload`) ne contient **pas** le fichier en Base64 : il contient + `DocumentGuid`, `InterventionGuid`, métadonnée utile et une référence locale + persistante vers le fichier (survit au redémarrage). + + ## DocumentGuid vs OperationId + + `DocumentGuid` = identité métier publique du document. `OperationId` = identité + de l'opération de synchronisation. Ils sont **toujours différents**. `OperationId` + est généré une seule fois et conservé pendant les retries. + + ## Comportement SUCCESS + + Après SUCCESS : métadonnée locale conservée, fichier cache conservé, Outbox mise + à jour, aucun fichier supprimé automatiquement, aucun nouveau `DocumentGuid` + généré. + + ## Comportement REJECTED + + Après REJECTED : document local conservé, fichier local conservé, Outbox + conservée avec état Rejected, erreur nettoyée disponible au ViewModel, badge / + état visuel possible. Un fichier rejeté n'est jamais supprimé automatiquement. + + ## Fichier local manquant avant upload + + Si une opération Outbox Document existe mais que le fichier local a disparu, + l'upload n'est pas prétendu réussi : l'opération est mise dans un état + d'erreur/rejet local cohérent et un message exploitable est affiché sans + exposer de chemin système. + + ## Purge cache ≠ suppression métier + + La purge du cache (suppression des fichiers téléchargés) est **distincte** de la + suppression du document métier. Aucun DELETE métier n'est émis. Les fichiers + nécessaires à une Outbox Pending/Rejetée ne sont jamais supprimés. Le bouton de + purge n'est pas branché dans cette tâche tant que la protection n'est pas + fiable. + + ## Design System réutilisé + + La View Documents réutilise exclusivement les styles globaux : `card`, + `listTitle`, `body`, `bodySmall`, `caption`, `badge`, `primary`, `secondary`, + `ghost`, `errorMessage`, `emptyState`. Aucune couleur hexadécimale, aucun + breakpoint local supplémentaire, aucun FontSize/CornerRadius/Padding standard + répété. Les espacements passent par `DynamicResource Space*` et + `ThicknessPage`. + + ## Fichiers créés (LOT DOCUMENTS / PHOTOS) + + - `src/Omika.App.Local/Abstractions/IDocumentLocalService.cs` + - `src/Omika.App.Local/Abstractions/IFileLauncher.cs` + - `src/Omika.App.Local/Abstractions/IFilePicker.cs` + - `src/Omika.App.Local/Models/InterventionDocumentItem.cs` + - `src/Omika.App.Local/Models/DocumentOutboxPayload.cs` + - `src/Omika.App.Local/Services/DocumentLocalService.cs` + - `src/Omika.App/Services/PlatformFileLauncher.cs` + - `src/Omika.App/Services/PlatformFilePicker.cs` + - `src/Omika.App/ViewModels/InterventionDocumentsViewModel.cs` + - `src/Omika.App/Views/InterventionDocumentsView.axaml` (+ code-behind) + - `tests/Omika.Tests/Mobile/Local/DocumentLocalServiceTests.cs` + - `tests/Omika.Tests/Mobile/Local/DocumentSyncTests.cs` + - `tests/Omika.Tests/Mobile/Local/InterventionDocumentsViewModelTests.cs` + - `tests/Omika.Tests/Mobile/Local/DocumentDesignSystemTests.cs` + + ## Fichiers modifiés (LOT DOCUMENTS / PHOTOS) + + - `src/Omika.App.Local/Abstractions/IOutboxRepository.cs` (ajout + `GetRejectedAsync`) + - `src/Omika.App.Local/Repositories/OutboxRepository.cs` (implémentation + `GetRejectedAsync`) + - `src/Omika.App.Local/Services/DocumentLocalService.cs` (lecture des états + Rejected) + - `src/Omika.App/Navigation/AppPage.cs` (ajout `InterventionDocuments`) + - `src/Omika.App/Navigation/PageViewModelFactory.cs` (cas `InterventionDocuments`) + - `src/Omika.App/ViewModels/InterventionDetailViewModel.cs` (navigation vers + Documents) + - `src/Omika.App/Views/InterventionDetailView.axaml` (accès Documents réel) + - `src/Omika.App/AppServices.cs` (enregistrement du service Documents) + - `tests/Omika.Tests/Mobile/Local/ShellViewModelTests.cs` (injection du service + Documents dans la factory) + - `tests/Omika.Tests/Mobile/Local/InterventionDetailViewModelTests.cs` + (navigation Intervention → Documents) + + ## Tests ajoutés (LOT DOCUMENTS / PHOTOS) + + - `DocumentLocalServiceTests` : liste (documents d'une intervention, aucun + document, ordre cohérent, DocumentGuid conservé, metadata invalide ignorée, + aucun téléchargement automatique, distinction photo/document), cache (déjà en + cache sans HTTP, non cache + online téléchargé, non cache + offline sans HTTP, + entrée cache fichier absent invalide, snapshot refresh cache conservé), + ouverture offline, ajout (photo/document offline, DocumentGuid généré, + OperationId distinct, fichier copié, metadata visible, Outbox créée, + redémarrage exploitable, SUCCESS/REJECTED fichier conservé, source temporaire + supprimée). + - `DocumentSyncTests` : Outbox Document Pending → upload, OperationId conservé + au retry, DocumentGuid conservé, fichier manquant sans faux SUCCESS, offline + opération conservée, serveur REJECTED état conservé. + - `InterventionDocumentsViewModelTests` : chargement, états visuels, actions + télécharger/ouvrir/ajouter, navigation. + - `DocumentDesignSystemTests` : aucune couleur hexadécimale standard, aucun + breakpoint local supplémentaire, réutilisation des styles sémantiques, + espacements via DynamicResource. + + + +--- + +# LOT CONTACTS INTERVENTION + +## Statut + +Ce lot implémente la consultation des **contacts réellement liés à une +intervention**, entièrement depuis le **snapshot local SQLite** (aucun appel +API). Il permet d'ouvrir le détail d'un contact (lecture seule) et de préparer +des actions téléphone / email via les abstractions plateforme. **Aucune +modification d'écriture** (création / modification / suppression de contact) n'est +développée dans ce lot. + +## Relation réellement utilisée + +La relation utilisée est la liste explicite **`ContactIds`** portée par le DTO +d'intervention (`InterventionDetailsDto`), résolue vers les Personnes / Contacts +stockées localement (table `Personne`, payload `ContactDto`). + +- **Aucun contact n'est déduit du Client** : seule la relation explicite + Intervention → Contact est utilisée. +- Un contact du même Client mais non listé dans `ContactIds` n'est **jamais** + associé à l'intervention. +- Les identités publiques (`ContactIds` sous forme de GUID) sont résolues vers + les `LocalPersonne` par leur `Id` (GUID canonique local). + +## Source SQLite + +- Table `Intervention` (payload `InterventionDetailsDto`) : porte `ContactIds`. +- Table `Personne` (payload `ContactDto`) : porte les données du contact. + +## Identité publique Contact + +L'identité publique du contact est le **GUID canonique local** (`LocalPersonne.Id`, +`ContactDto.Id`). Aucun PK HFSQL n'est utilisé ni transporté dans la navigation. + +## Champs réellement disponibles + +Seules les propriétés réellement alimentables depuis le payload `ContactDto` sont +exposées (`InterventionContact`) : + +- `ContactGuid` (identité publique) +- `DisplayName` (nom affiché, sinon construit prénom + nom) +- `LastName`, `FirstName`, `Civilite` +- `Email`, `Phone`, `Mobile`, `Fax` (si présents dans `Coordonnees`) +- `Roles` (libellés des rôles/fonctions, si présents) +- `ClientGuid` (identité publique du client parent, si présente) +- `Actif`, `EstArchive` + +Aucune propriété fictive (fonction, service, portable, commentaire) n'est créée. + +## Fonctionnement offline + +L'écran Contacts et le détail Contact fonctionnent **entièrement offline** : +navigation Intervention → Contacts → ContactDetail sans aucun HTTP. Les actions +Appeler / Email sont des actions plateforme locales et ne modifient pas la +stratégie de synchronisation. + +## Téléphone / email plateforme + +- `IPhoneLauncher` / `PlatformPhoneLauncher` : ouvre le composeur système via un + URI `tel:` (Avalonia `TopLevel.Launcher`). +- `IEmailLauncher` / `PlatformEmailLauncher` : ouvre le client email système via + un URI `mailto:`. +- Aucun code Android/iOS dans les ViewModels. Aucune donnée personnelle n'est + loguée. Le numéro / l'adresse métier n'est jamais modifié. + +## Read-only + +Ce lot est **lecture seule**. Aucune Outbox n'est créée pour modifier, ajouter ou +supprimer un contact. Les fonctions d'édition viendront plus tard si le besoin +métier est confirmé. + +## Donnée manquante éventuelle + +La relation Intervention → Contact est **explicitement disponible** dans le +snapshot (`ContactIds`). Aucune donnée manquante ne bloque ce lot. Les coordonnées +d'un contact peuvent être absentes du payload : dans ce cas, les actions +téléphone / email sont simplement indisponibles (commandes désactivées). + +## Réutilisation Design System + +Les Views Contacts et Détail Contact réutilisent exclusivement les styles +globaux : `card`, `listTitle`, `body`, `bodySmall`, `caption`, `badge`, +`badgeInfo`, `primary`, `secondary`, `ghost`, `emptyState`, `errorMessage`, +`loadingState`. Aucune couleur hexadécimale, aucun breakpoint local +supplémentaire, aucun FontSize / CornerRadius / Padding standard répété. Les +espacements passent par `DynamicResource Space*` et `ThicknessPage`. + +## Fichiers créés (LOT CONTACTS INTERVENTION) + +- `src/Omika.App.Local/Abstractions/IInterventionContactsService.cs` +- `src/Omika.App.Local/Abstractions/IPhoneLauncher.cs` +- `src/Omika.App.Local/Abstractions/IEmailLauncher.cs` +- `src/Omika.App.Local/Models/InterventionContact.cs` +- `src/Omika.App.Local/Services/InterventionContactsService.cs` +- `src/Omika.App/Services/PlatformPhoneLauncher.cs` +- `src/Omika.App/Services/PlatformEmailLauncher.cs` +- `src/Omika.App/Navigation/ContactDetailNavigation.cs` +- `src/Omika.App/ViewModels/InterventionContactsViewModel.cs` +- `src/Omika.App/ViewModels/ContactDetailViewModel.cs` +- `src/Omika.App/Views/InterventionContactsView.axaml` (+ code-behind) +- `src/Omika.App/Views/ContactDetailView.axaml` (+ code-behind) +- `tests/Omika.Tests/Mobile/Local/InterventionContactsServiceTests.cs` +- `tests/Omika.Tests/Mobile/Local/InterventionContactsViewModelTests.cs` +- `tests/Omika.Tests/Mobile/Local/ContactDetailViewModelTests.cs` + +## Fichiers modifiés (LOT CONTACTS INTERVENTION) + +- `src/Omika.App/Navigation/AppPage.cs` (ajout `InterventionContacts`, `ContactDetail`) +- `src/Omika.App/Navigation/PageViewModelFactory.cs` (cas `InterventionContacts`, + `ContactDetail`) +- `src/Omika.App/ViewModels/InterventionDetailViewModel.cs` (navigation vers + Contacts) +- `src/Omika.App/Views/InterventionDetailView.axaml` (accès Contacts réel) +- `src/Omika.App/AppServices.cs` (enregistrement du service Contacts + launchers) +- `tests/Omika.Tests/Mobile/Local/LocalTestBase.cs` (exposition + `PersonneRepository`) +- `tests/Omika.Tests/Mobile/Local/InterventionDetailViewModelTests.cs` + (navigation Intervention → Contacts) +- `tests/Omika.Tests/Mobile/Local/ShellViewModelTests.cs` (adaptation du + constructeur `PageViewModelFactory` aux nouveaux paramètres Contacts/launchers) + + +## Tests ajoutés (LOT CONTACTS INTERVENTION) + +- `InterventionContactsServiceTests` : relation (Intervention A retourne + uniquement ses contacts, Intervention B ne retourne pas les contacts de A, + contact sans relation non inclus, aucune association basée sur le Client, GUID + public conservé), service (un contact, plusieurs contacts triés, aucun contact, + contact incomplet, téléphone absent, email absent, relation invalide ignorée, + intervention inconnue, offline sans appel API, détail par GUID, payload + invalide ignoré). +- `InterventionContactsViewModelTests` : chargement, liste chargée, état vide, + erreur, ouverture du détail (navigation avec paramètre), paramètre null ignoré, + retour. +- `ContactDetailViewModelTests` : chargement, contact introuvable, commande + téléphone disponible / indisponible, commande email disponible / indisponible, + retour à la liste des contacts. +- `InterventionDetailViewModelTests` : navigation Intervention → Contacts, + intervention null sans navigation. + + +--- + +# LOT NOTES INTERVENTION + +## Statut + +Ce lot visait à développer l'écran **Notes d'une Intervention** (liste, ajout, +édition éventuelle) selon le modèle métier réel. Après inspection ciblée du +modèle métier, des contrats, du snapshot et du schéma SQLite local, la +conclusion est **CAS E** : **aucune donnée Note Intervention exploitable +n'existe dans les contrats / snapshot locaux**. Conformément à la règle du +CAS E, **l'implémentation métier est stoppée** : aucun écran, aucun service, +aucune fausse fonctionnalité n'est créée. Le backend n'est pas modifié. + +## Représentation métier réelle d'une Note Intervention + +Il n'existe **pas** d'entité métier « Note Intervention » autonome exposée au +mobile. Les candidats inspectés sont : + +| Candidat | Existence | Exposé au mobile ? | Conclusion | +|----------|-----------|--------------------|------------| +| `CompteRendu` (entité canonique + `CompteRenduDto`) | Oui (domaine + contrat) | `InterventionDetailsDto.ComptesRendus` | **Toujours vide** : le repository `GetDetailsAsync` (Omika/Batik) ne peuple jamais `ComptesRendus`. Aucun `AddCompteRendu` dans les repositories. | +| `MessageInterne` (table HFSQL) | Oui (HFSQL) | Non | Absent du contrat mobile, du snapshot et du sync. | +| `IN_NoteInterne` (colonne Intervention) | Oui (HFSQL) | Non | Marqué « ignoré » dans les mappers (`AddIgnored`). Absent du contrat mobile. | +| `DocumentNote` / `NoteDocument` | Oui (HFSQL + domaine) | Non (métadonnées document uniquement) | Concerne **uniquement les Documents** (`DocumentId`). Distinct des notes d'intervention. | + +## Différence avec DocumentNote + +`DocumentNote` / `NoteDocument` est une note **rattachée à un document** +(`DocumentId`). Ce n'est **pas** une note d'intervention. Il n'est pas utilisé +comme remplacement : le CAS D s'applique (ne pas détourner DocumentNote). + +## Relation Note ↔ Intervention + +Aucune relation exploitable n'existe dans le contrat mobile. La table HFSQL +`MessageInterne` porte `MI_IDIntervention` (relation physique), mais elle n'est +**pas** exposée dans le snapshot ni dans le sync. `CompteRendu` porte +`CR_IDIntervention` mais n'est jamais peuplé par les repositories. + +## Champs réellement disponibles + +Aucun champ de note d'intervention n'est disponible dans le snapshot local. +Les champs de `CompteRenduDto` (`Id`, `InterventionId`, `AuteurId`, `Contenu`, +`DateCreation`, `DateInterventionDebut/Fin`, `SignataireIds`, +`StatutValidation`, `EstArchive`) existent dans le contrat mais restent +**toujours vides** car le repository ne les peuple pas. + +## Source SQLite + +Le schéma SQLite local (`SqliteSchema`) ne contient **aucune table Note**. +Les tables métier sont : `Client`, `Personne`, `Site`, `Intervention`, +`Dossier`, `RendezVous`, `Collaborateur`, `DocumentMetadata`. Aucune table +technique ne porte de note d'intervention. + +## Lecture offline + +Non implémentée : aucune donnée Note Intervention n'est disponible dans SQLite. +Aucun écran Notes n'est créé. + +## CREATE / UPDATE réellement supportés ou non + +Non supportés. `SyncEntityTypes.Supported` ne contient **pas** de type « Note ». +`InterventionSyncPayload` ne porte aucun champ note. Aucun handler Sync Note +n'existe. Aucune création / édition offline n'est possible. + +## NoteGuid vs OperationId + +Sans objet : aucune entité Note autonome n'existe. Aucun `NoteGuid` n'est +fabriqué artificiellement pour l'UI. + +## Outbox + +Non utilisée pour les notes : aucun type d'entité Note n'est déclaré dans +`SyncEntityTypes`. L'Outbox existante reste inchangée. + +## Réconciliation avec Intervention + +Sans objet : aucune Note ne référence une Intervention dans le contrat mobile. + +## Comportement Rejected + +Sans objet : aucune opération Note n'est émise. + +## Design System + +Non utilisé pour un écran Notes (aucun écran créé). Le Design System existant +(`DesignTokens.axaml`, `Controls.axaml`) reste inchangé. + +## Différences avec DocumentNote + +- `DocumentNote` / `NoteDocument` : note rattachée à un **Document** (`DocumentId`). +- Note Intervention : **n'existe pas** dans le contrat mobile. +- `DocumentNote` n'est **jamais** utilisé comme note d'intervention. + +## Donnée manquante et évolution backend minimale nécessaire + +Pour rendre les notes d'intervention exploitables au mobile, il faudrait plus +tard (hors périmètre de ce lot, sans modification HFSQL) : + +1. **Exposer une entité Note Intervention dans le contrat mobile** : soit + peupler réellement `InterventionDetailsDto.ComptesRendus` (ou une collection + dédiée) dans les repositories `GetDetailsAsync` (Omika/Batik), soit exposer + `MessageInterne` dans le snapshot. +2. **Déclarer un type d'entité** dans `SyncEntityTypes` (ex. `Note`) si la + création / édition offline est souhaitée. +3. **Ajouter un handler Sync** pour le type Note (CREATE / UPDATE) et un + payload dédié. +4. **Ajouter une table SQLite locale** pour les notes (métier ou technique). + +Aucune de ces évolutions n'est réalisée dans ce lot : le backend n'est pas +modifié. + +## Fichiers créés + +Aucun (CAS E : pas de fausse fonctionnalité). + +## Fichiers modifiés + +- `docs/LOT_MOBILE_0.md` (documentation de ce lot). + +## Tests ajoutés + +Aucun (CAS E : pas de fonctionnalité à tester). La suite unitaire existante +reste inchangée. + +## Validation + +- Suite unitaire : inchangée (aucun code ajouté). +- Build solution : inchangé. +- Build Android : inchangé. +- Aucun backend / HFSQL modifié. + + +--- + +# LOT SUIVI DES TEMPS + +## Statut + +Ce lot visait à développer le **suivi des temps** (saisie, historique, éventuel +chronomètre) selon le modèle métier réel. Après inspection ciblée du modèle +métier, des contrats, du snapshot, du schéma SQLite local et de la couche Sync, +la conclusion est **CAS C** : **il existe une entité métier réelle `SuiviTemps`, +mais elle n'est disponible que côté backend et pas dans le snapshot / local +SQLite**. Conformément à la règle du CAS C, **l'implémentation mobile est +stoppée** : aucun écran, aucun service, aucune fausse fonctionnalité n'est créée. +Le backend n'est pas modifié. + +## Représentation métier réelle du temps + +Il existe une **entité métier canonique autonome** `SuiviTemps` +(`Omika.Core/Domain/Entities/Planning/SuiviTemps.cs`), avec relations explicites +vers Intervention, RendezVous et Collaborateur. C'est structurellement un +**CAS A**, mais l'entité n'est **pas exposée au mobile** (CAS C). + +| Candidat | Existence | Exposé au mobile ? | Conclusion | +|----------|-----------|--------------------|------------| +| `SuiviTemps` (entité canonique) | Oui (`Omika.Core/Domain/Entities/Planning/SuiviTemps.cs`) | **Non** | Absent du snapshot, du sync, du schéma SQLite local. | +| `SuiviTempsDto` (contrat) | Oui (`Omika.Core/Contracts/Planning/SuiviTempsDto.cs`) | **Non** | Jamais retourné par un service ni un endpoint. | +| `CreateSuiviTempsRequest` (contrat) | Oui (`Omika.Core/Contracts/Planning/CreateSuiviTempsRequest.cs`) | **Non** | Jamais utilisé par un service ni un endpoint. | +| `RendezVousContractMapper.ToSuiviTemps` | Oui (mapper) | **Non** | Défini mais **jamais appelé** par aucun service. | +| `SuiviDesTempsRow` (Batik / Omika) | Oui (`Omika.Data/HfSql/Models/`) | **Non** | Modèles physiques HFSQL uniquement. Aucun repository ne les utilise. | +| `RendezVous` (entité) | Oui | Oui (snapshot) | Porte `TypeActivite` (type d'activité du RDV), pas un temps saisi. | +| `AffectationCollaborateur.TempsValide` | Oui | Oui (snapshot) | Booléen de validation d'affectation, **pas** un temps saisi. | + +## Relation Temps ↔ Intervention + +L'entité `SuiviTemps` porte `InterventionId` (relation explicite). Mais cette +relation n'est **pas exploitable au mobile** : `SuiviTemps` n'est pas dans le +snapshot, ni dans le sync, ni dans SQLite local. Aucune donnée de temps liée à +une Intervention n'est disponible localement. + +## Relation Temps ↔ RendezVous + +L'entité `SuiviTemps` porte `RendezVousId` (relation explicite). Même constat : +non exposée au mobile. Aucune donnée de temps liée à un RendezVous n'est +disponible localement. + +## Relation Temps ↔ Collaborateur + +L'entité `SuiviTemps` porte `CollaborateurId` (relation explicite). Non exposée +au mobile. Le collaborateur authentifié/bootstrap est disponible localement +(`LocalBootstrap`), mais il n'y a **aucune donnée de temps** à lui associer. + +## Champs réellement disponibles + +Les champs de l'entité `SuiviTemps` (et du `SuiviTempsDto`) sont : + +- `Id` (identité publique) +- `CollaborateurId` +- `InterventionId` +- `RendezVousId` +- `Date` +- `DureeMinutes` (durée en minutes) +- `TypeTemps` (paramètre configurable, `ReferenceValue`) +- `Description` +- `Valide` + +Ces champs existent dans le contrat mais restent **inaccessibles au mobile** : +aucun service ne les retourne, aucun endpoint ne les expose, aucun snapshot ne +les transporte. + +## Source SQLite + +Le schéma SQLite local (`SqliteSchema`) ne contient **aucune table SuiviTemps**. +Les tables métier sont : `Client`, `Personne`, `Site`, `Intervention`, `Dossier`, +`RendezVous`, `Collaborateur`, `DocumentMetadata`. Aucune table technique ne +porte de suivi des temps. + +## Identité publique + +L'entité `SuiviTemps` possède une identité publique (`Id`, GUID). Mais comme +l'entité n'est pas exposée au mobile, aucun `TimeEntryGuid` n'est fabriqué +artificiellement pour l'UI. Aucun `OperationId` de temps n'est généré. + +## Lecture offline + +Non implémentée : aucune donnée de temps n'est disponible dans SQLite. Aucun +écran Suivi des Temps n'est créé. + +## Création offline supportée ou non + +Non supportée. `SyncEntityTypes.Supported` (backend et mobile) ne contient +**pas** de type « SuiviTemps ». Aucun handler Sync SuiviTemps n'existe (seuls +`DefaultSyncOperationHandler` et `InterventionSyncOperationHandler` sont +enregistrés). Aucune création offline n'est possible. + +## Édition supportée ou non + +Non supportée. Aucun UPDATE SuiviTemps n'existe dans la couche Sync/métier. + +## Suppression / archivage supporté ou non + +Non supporté. Aucune sémantique de suppression/archivage SuiviTemps n'est +exposée au mobile. + +## Chronomètre + +Non développé. Aucun chronomètre n'est implémenté : le modèle métier réel +(`SuiviTemps`) n'est pas accessible au mobile, et aucun concept de +démarrage/arrêt n'est exposé. + +## Identité métier vs OperationId + +Sans objet : aucune entité SuiviTemps autonome n'est exposée au mobile. Aucun +`TimeEntryGuid` ni `OperationId` de temps n'est fabriqué artificiellement. + +## Outbox + +Non utilisée pour le suivi des temps : aucun type d'entité SuiviTemps n'est +déclaré dans `SyncEntityTypes`. L'Outbox existante reste inchangée. + +## Réconciliation avec Intervention / RendezVous + +Sans objet : aucune donnée de temps ne référence une Intervention ou un +RendezVous dans le contrat mobile. `MobileIdentityReconciliationService` reste +inchangé (aucun second mécanisme). + +## Comportement SUCCESS + +Sans objet : aucune opération SuiviTemps n'est émise. + +## Comportement REJECTED + +Sans objet : aucune opération SuiviTemps n'est émise. + +## ParametreMetier + +L'entité `SuiviTemps` référence un `TypeTemps` (paramètre configurable, +`ReferenceValue`). Le `ParametreMetier` existe dans le domaine +(`Omika.Core/Domain/Entities/Configuration/ParametreMetier.cs`) et est utilisé +pour le profil Batik. Mais **aucun type de temps n'est exposé au mobile** : le +snapshot ne transporte pas de liste de types de temps, et `SuiviTemps` n'est pas +dans le sync. Aucune liste fictive de catégories n'est créée. + +## Navigation depuis Intervention / RendezVous + +Non implémentée : aucune navigation vers un écran Suivi des Temps n'est ajoutée +depuis `InterventionDetail` ou `RendezVousDetail`. Aucun `AppPage` SuiviTemps +n'est créé. + +## Smartphone / Tablette + +Non implémenté : aucun écran Suivi des Temps n'est créé. + +## Design System + +Non utilisé pour un écran Suivi des Temps (aucun écran créé). Le Design System +existant (`DesignTokens.axaml`, `Controls.axaml`) reste inchangé. + +## Donnée manquante et évolution backend minimale nécessaire + +Pour rendre le suivi des temps exploitable au mobile, il faudrait plus tard +(hors périmètre de ce lot, sans modification HFSQL) : + +1. **Exposer `SuiviTemps` dans le snapshot mobile** : ajouter une collection + `SuiviTemps` dans `MobileSnapshotResponse`, la charger dans + `MobileSnapshotService` (via un service/repository SuiviTemps à créer), et + l'appliquer dans `SnapshotApplier` (table SQLite locale `SuiviTemps`). +2. **Déclarer un type d'entité** dans `SyncEntityTypes` (ex. `SuiviTemps`) si la + création / édition offline est souhaitée. +3. **Ajouter un handler Sync** pour le type SuiviTemps (CREATE / UPDATE) et un + payload dédié. +4. **Créer un service métier SuiviTemps** (`ISuiviTempsService`) et un repository + adaptatif (Batik/Omika) qui peuple réellement les données depuis HFSQL. +5. **Ajouter une table SQLite locale** pour les temps (métier ou technique). + +Aucune de ces évolutions n'est réalisée dans ce lot : le backend n'est pas +modifié. + +## Fichiers créés + +Aucun (CAS C : pas de fausse fonctionnalité). + +## Fichiers modifiés + +- `docs/LOT_MOBILE_0.md` (documentation de ce lot). + +## Tests ajoutés + +Aucun (CAS C : pas de fonctionnalité à tester). La suite unitaire existante +reste inchangée. + +## Validation + +- Suite unitaire : inchangée (aucun code ajouté). +- Build solution : inchangé. +- Build Android : inchangé. +- Aucun backend / HFSQL modifié. + + +--- + +# LOT DOSSIERS MOBILE + +## Statut + +Ce lot développe l'écran **Dossiers** (liste + détail) entièrement depuis les +données locales SQLite (dernier snapshot). Le lot est **lecture seule** : aucune +création, modification, suppression ou archivage de dossier n'est implémenté. +Aucune Outbox Dossier n'est créée. Le backend / HFSQL n'est pas modifié. + +## Source SQLite + +Les données affichées proviennent exclusivement du **snapshot local SQLite** +(tables `Dossier`, `Client`, `Intervention`). Aucun appel API n'est déclenché à +l'ouverture de `Dossiers`, `DossierDetail` ou `InterventionDetail`. La +synchronisation reste exclusivement gérée par le `SyncEngine` existant. + +## Champs réellement disponibles + +Le modèle d'affichage est construit uniquement à partir des données réellement +présentes dans le payload `DossierDetailsDto` (snapshot local) : + +- `ReferenceMetier` (référence métier) +- `Titre` (libellé) +- `Description` +- `ClientId` (relation client, résolue localement) +- `Type` / `Statut` / `Priorite` (libellés `ReferenceValueDto`) +- `DateOuverture` / `DateCloture` +- `EstArchive` + +Aucun champ n'est créé parce qu'il apparaît dans la maquette. Les relations +optionnelles absentes restent nulles/vides sans provoquer d'erreur. + +## Identité publique + +L'identité utilisée est exclusivement le **GUID public** local (`DossierGuid`, +`InterventionGuid`, `ClientGuid`). Aucun PK HFSQL n'est utilisé. Navigation : + +- `Dossiers` → `DossierDetail(DossierGuid)` +- `DossierDetail` → `InterventionDetail(InterventionGuid)` + +## Relation Dossier → Intervention + +La relation principale est portée par **`DossierId` sur l'intervention** +(table `Intervention`). Aucune relation n'est déduite du Client. Le détail d'un +dossier affiche uniquement les interventions dont `DossierId` correspond au +dossier courant. Les interventions d'un autre dossier sont exclues. + +## Client associé + +Si le dossier possède un `ClientId`, le client est résolu localement (table +`Client`) et son nom / code sont affichés. Un dossier sans client reste un +dossier valide (aucune erreur). Aucune grosse fiche Client n'est créée dans ce +lot. + +## Recherche locale + +La liste des dossiers propose une recherche **100 % locale**, insensible à la +casse, portant sur les champs réellement disponibles : référence, titre et nom +du client. Aucun HTTP. Aucun moteur de recherche complexe. + +## Filtres + +Aucun filtre supplémentaire n'est ajouté : le modèle ne porte pas de propriété +métier justifiant un filtre dédié (actif/archivé, état, client) exploitable de +façon fiable dans ce lot. La recherche locale couvre le besoin. + +## Tri + +Tri déterministe : date d'ouverture (décroissante, si disponible), puis +référence, puis titre (insensible à la casse). Aucun ordre métier fictif. + +## Fonctionnement offline + +Tout le lot fonctionne depuis SQLite. Ouvrir `Dossiers`, `DossierDetail` ou +`InterventionDetail` ne déclenche aucun HTTP obligatoire. Aucun nouveau +mécanisme de refresh n'est créé : la synchronisation reste gérée par le +`SyncEngine` existant. + +## Read-only + +Ce lot est **lecture seule**. Aucune Outbox Dossier n'est créée. Aucun +CREATE / UPDATE / DELETE / ARCHIVE pour Dossier. + +## États UI + +- **Liste** : Loading, liste, EmptyState, ErrorState. +- **Détail** : Loading, Dossier introuvable, détail, ErrorState. + +Les composants du Design System sont réutilisés (`emptyState`, `errorMessage`, +`card`, `listTitle`, `body`, `bodySmall`, `caption`, `badge`, `ghost`). + +## Smartphone / Tablette + +Même ViewModel pour toutes les tailles. Sur smartphone, la recherche est +facilement accessible, les cartes sont tactiles, la référence/libellé sont +immédiatement lisibles et les interventions liées sont présentées en liste +simple. Sur tablette/desktop, l'espace supplémentaire est utilisé pour afficher +davantage de détails, sans seconde logique métier. Breakpoints globaux +uniquement. + +## Design System + +Les Views Dossiers et Détail Dossier réutilisent exclusivement les styles +globaux : `pageHeader`, `pageTitle`, `pageSubtitle`, `section`, `sectionTitle`, +`card`, `listTitle`, `body`, `bodySmall`, `caption`, `badge`, `ghost`, +`emptyState`, `errorMessage`, `field`. Aucune couleur hexadécimale, aucun +breakpoint local, aucun FontSize / CornerRadius / Padding standard répété. Les +espacements passent par `DynamicResource Space*` et `ThicknessPage`. + +## Fichiers créés (LOT DOSSIERS MOBILE) + +- `src/Omika.App.Local/Abstractions/IDossierLocalService.cs` +- `src/Omika.App.Local/Models/DossierDetail.cs` +- `src/Omika.App.Local/Services/DossierLocalService.cs` +- `src/Omika.App/ViewModels/DossiersViewModel.cs` +- `src/Omika.App/ViewModels/DossierDetailViewModel.cs` +- `src/Omika.App/Views/DossiersView.axaml` (+ code-behind) +- `src/Omika.App/Views/DossierDetailView.axaml` (+ code-behind) +- `tests/Omika.Tests/Mobile/Local/DossierLocalServiceTests.cs` +- `tests/Omika.Tests/Mobile/Local/DossiersViewModelTests.cs` +- `tests/Omika.Tests/Mobile/Local/DossierDetailViewModelTests.cs` + +## Fichiers modifiés (LOT DOSSIERS MOBILE) + +- `src/Omika.App/Navigation/AppPage.cs` (ajout `DossierDetail`) +- `src/Omika.App/Navigation/PageViewModelFactory.cs` (cas `Dossiers`, + `DossierDetail`) +- `src/Omika.App/Navigation/NavigationService.cs` (item de navigation Dossiers) +- `src/Omika.App/AppServices.cs` (enregistrement `IDossierLocalService`) +- `docs/LOT_MOBILE_0.md` (documentation de ce lot) + +## Tests ajoutés (LOT DOSSIERS MOBILE) + +- `DossierLocalServiceTests` : liste (aucun dossier, un dossier, plusieurs + dossiers, tri déterministe, recherche locale, payload invalide ignoré, offline + sans appel API, identité publique conservée, client résolu) et détail (dossier + trouvé, inconnu, client résolu, sans client, une intervention liée, plusieurs + interventions liées, intervention d'un autre dossier exclue, relation + optionnelle absente sans crash, GUID publics conservés). +- `DossiersViewModelTests` : loading, liste, empty, erreur, recherche, sélection + Dossier, navigation DossierDetail avec DossierGuid, aucun appel API. +- `DossierDetailViewModelTests` : chargement, Dossier introuvable, données + affichées, interventions liées, navigation vers InterventionDetail, retour, + état sans intervention, client résolu / absent. + +## Validation + +- Tests `DossierLocalService` : OK. +- Tests `DossiersViewModel` : OK. +- Tests `DossierDetailViewModel` : OK. +- Tests navigation : OK. +- Tests Mobile complets : OK. +- Suite unitaire : OK (hors 10 intégrations HFSQL/OLEDB connues). +- Build solution `Omika.slnx` : OK. +- Build Android : OK. +- Aucun backend / HFSQL modifié. + +--- + +# LOT CLIENTS MOBILE + +## Statut + +Ce lot est **VALIDÉ**. Il développe la liste et la fiche Client en lecture seule, +entièrement depuis le snapshot SQLite local. Aucun backend / HFSQL n'est modifié. + +## Source SQLite + +Les clients sont lus exclusivement depuis la table locale `Client` (dernier +snapshot). Le payload JSON est désérialisé en `ClientDetailsDto`. Aucun appel +API n'est déclenché lors de la navigation ni du chargement. + +## DTO Client réel + +Le DTO utilisé est `Omika.Core.Contracts.Clients.ClientDetailsDto`. Les champs +réellement exploités sont ceux présents dans le snapshot : `Id`, `Code`, `Nom`, +`Type`, `Statut`, `FormeJuridique`, `Siren`, `Siret`, `Pays`, `Coordonnees` +(Email, Phone, Mobile, Fax), `AdressePrincipale`, `InformationsComplementaires`, +`EstArchive`, `Sites`, `Contacts`. + +## Champs affichés + +Liste (`ClientListItem`) : + +- Nom / raison sociale (`Nom`) +- Code (`Code`) +- Statut (`Statut`) +- Ville (`AdressePrincipale.AdressePostale.City`) +- Téléphone (`Coordonnees.Phone` ou `Mobile`) +- Email (`Coordonnees.Email`) + +Fiche (`ClientDetail`) : en-tête (Nom, Code, Statut, Type, FormeJuridique, +Siren, Siret, Pays), coordonnées (Email, Phone, Mobile, Fax, adresse principale) +et relations. Les champs optionnels absents restent nuls sans erreur. + +## Identité publique + +La navigation utilise exclusivement `ClientGuid` (GUID canonique local). Aucun +PK HFSQL n'est transporté. Les relations associées utilisent leurs GUID publics +(`ContactGuid`, `DossierGuid`, `InterventionGuid`, `SiteGuid`). + +## Recherche + +Recherche locale insensible à la casse sur les champs réellement disponibles : +`Nom`, `Code`, `Ville`, `Statut`. Aucun HTTP. + +## Filtres + +Aucun filtre métier artificiel. Le tri est déterministe : nom (insensible à la +casse) puis code. + +## Relations réellement disponibles + +Chaque relation est démontrée localement, jamais déduite par commodité : + +- **Client → Contacts** : liste `Contacts` embarquée dans le DTO Client. Un + contact sans rattachement n'est pas ajouté. Ne pas confondre avec les contacts + explicitement liés à une Intervention (contexte distinct). +- **Client → Sites** : liste `Sites` embarquée dans le DTO Client. +- **Client → Dossiers** : `DossierDetailsDto.ClientId == ClientGuid`. +- **Client → Interventions** : `InterventionDetailsDto.ClientId == ClientGuid`. + +Aucune relation transitive (via Dossier ou Site) n'est utilisée. + +## Navigation + +- Clients → `ClientDetail(ClientGuid)` +- Client → Contact : `ContactDetail` via `ClientContactDetailNavigation` + (réutilise l'écran Contact existant, retour vers la fiche Client). +- Client → Dossier : `DossierDetail(DossierGuid)` (écran existant). +- Client → Intervention : `InterventionDetail(InterventionGuid)` (écran existant). +- Client → Site : aucun écran Site réel n'existe encore ; le lot Sites viendra + ensuite. Les sites sont affichés en lecture seule dans la fiche Client. + +## Téléphone / Email + +Pour le Client lui-même, les launchers génériques existants sont réutilisés +(`IPhoneLauncher`, `IEmailLauncher`). La commande est désactivée si la donnée +est absente. Aucune donnée personnelle n'est loguée inutilement. + +## Adresse / Carte + +Aucune cartographie n'est développée dans ce lot. Si une adresse réelle existe, +elle est affichée. Aucune géolocalisation, itinéraire ou API Maps. + +## Fonctionnement offline + +`ClientsView`, `ClientDetail`, `ContactDetail`, `DossierDetail`, +`InterventionDetail` restent utilisables depuis SQLite. Aucun HTTP obligatoire. +Le SyncEngine existant reste le seul mécanisme de mise à jour. + +## Read-only + +Aucune Outbox Client. Aucune création, modification, suppression ou archivage +de Client. Ce lot est strictement en lecture. + +## États UI + +Liste : Loading, liste, EmptyState, ErrorState. Détail : Loading, Client +introuvable, détail, relations vides, ErrorState. Une collection associée vide +n'est pas une erreur. + +## Smartphone / Tablette + +Même ViewModel pour toutes les tailles. Sur smartphone, la recherche est +facilement accessible, le nom du client immédiatement lisible, les coordonnées +essentielles accessibles, les sections empilées et les collections liées +compactes. Sur tablette/desktop, l'espace supplémentaire est exploité +(coordonnées d'un côté, relations de l'autre) sans seconde logique métier. +Breakpoints globaux uniquement. + +## Design System + +Les Views Clients et Détail Client réutilisent exclusivement les styles globaux +(`pageHeader`, `pageTitle`, `pageSubtitle`, `section`, `sectionTitle`, `card`, +`listTitle`, `body`, `bodySmall`, `caption`, `badge`, `ghost`, `emptyState`, +`errorMessage`, `field`). Aucune couleur hexadécimale, aucun breakpoint local, +aucun FontSize / CornerRadius / Padding standard répété. Les espacements passent +par `DynamicResource Space*` et `ThicknessPage`. + +## Fichiers créés (LOT CLIENTS MOBILE) + +- `src/Omika.App.Local/Abstractions/IClientLocalService.cs` +- `src/Omika.App.Local/Models/ClientDetail.cs` +- `src/Omika.App.Local/Services/ClientLocalService.cs` +- `src/Omika.App/ViewModels/ClientsViewModel.cs` +- `src/Omika.App/ViewModels/ClientDetailViewModel.cs` +- `src/Omika.App/Views/ClientsView.axaml` (+ code-behind) +- `src/Omika.App/Views/ClientDetailView.axaml` (+ code-behind) +- `src/Omika.App/Navigation/ClientContactDetailNavigation.cs` +- `tests/Omika.Tests/Mobile/Local/ClientLocalServiceTests.cs` +- `tests/Omika.Tests/Mobile/Local/ClientsViewModelTests.cs` +- `tests/Omika.Tests/Mobile/Local/ClientDetailViewModelTests.cs` + +## Fichiers modifiés (LOT CLIENTS MOBILE) + +- `src/Omika.App/Navigation/AppPage.cs` (ajout `ClientDetail`) +- `src/Omika.App/Navigation/PageViewModelFactory.cs` (cas `Clients`, + `ClientDetail`) +- `src/Omika.App/Navigation/NavigationService.cs` (item de navigation Clients) +- `src/Omika.App/AppServices.cs` (enregistrement `IClientLocalService`) +- `src/Omika.App/ViewModels/ContactDetailViewModel.cs` (gestion du retour depuis + la fiche Client via `ClientContactDetailNavigation`) +- `docs/LOT_MOBILE_0.md` (documentation de ce lot) + +## Tests ajoutés (LOT CLIENTS MOBILE) + +- `ClientLocalServiceTests` : liste (aucun client, un client, plusieurs clients, + tri déterministe, recherche locale, payload invalide ignoré, identité publique + conservée, offline sans appel API) et détail (client trouvé, inconnu, données + réelles chargées, champs optionnels absents, aucune relation sans erreur, + identité publique conservée). Relations : Client → Contacts (uniquement ses + contacts, contact du client B exclu, contact sans client exclu), Client → + Dossiers (uniquement ses dossiers, dossier B exclu), Client → Interventions + (uniquement ses interventions, intervention B exclue), Client → Sites + (sites embarqués, client sans sites). +- `ClientsViewModelTests` : loading, liste, empty, erreur, recherche (nom, + ville, sans résultat), sélection Client, navigation ClientDetail avec + ClientGuid, aucun appel API. +- `ClientDetailViewModelTests` : chargement, client introuvable, coordonnées, + contacts, dossiers, interventions, sites, relations vides sans erreur, + navigation Contact (ClientContactDetailNavigation), navigation Dossier, + navigation Intervention, retour, identité publique conservée. + +## Validation + +- Tests `ClientLocalService` : OK. +- Tests relations Client : OK. +- Tests `ClientsViewModel` : OK. +- Tests `ClientDetailViewModel` : OK. +- Tests navigation : OK. +- Tests Mobile complets : OK. +- Suite unitaire : OK (hors 10 intégrations HFSQL/OLEDB connues). +- Build solution `Omika.slnx` : OK. +- Build Android : OK. +- Aucun backend / HFSQL modifié. + +## Données manquantes éventuelles + +- Aucun écran Site réel n'existe encore : les sites sont affichés en lecture + seule dans la fiche Client ; le lot Sites viendra ensuite. +- Les contacts du Client sont affichés depuis la liste embarquée dans le DTO + Client ; le détail Contact réutilise l'écran existant qui lit la table + `Personne`. + +--- + +# LOT SITES / LIEUX MOBILE + +## Statut + +Ce lot est **VALIDÉ**. Il développe la liste et la fiche des Sites / Lieux, +entièrement en lecture seule depuis le snapshot SQLite local. Aucun backend, +aucune API, aucun snapshot ni aucune relation artificielle n'a été modifié. + +## Terminologie retenue + +Le mobile manipule le concept métier commun **Site / Lieu**. Les structures +physiques historiques (`ClientLieu`, `LieuPersonne`, PK HFSQL, différences +Batik/Omika) ne sont **jamais** exposées dans les Views / ViewModels. Le mobile +n'utilise que les abstractions locales existantes : `Client`, `Site`, `Contact`, +`Intervention`. + +## Source de vérité + +La source métier est exclusivement : + +- les contrats réels (`SiteDetailsDto`, `ClientDetailsDto`, `ContactDto`, + `InterventionDetailsDto`) ; +- le snapshot SQLite local ; +- les relations explicitement disponibles dans ces contrats. + +`maquetteOmika.html` sert uniquement de référence UX. Aucun champ ni relation +n'a été créé depuis la maquette. + +## DTO / modèle local + +- DTO source : `SiteDetailsDto` (`Omika.Core.Contracts.Sites`). +- Modèle de présentation : `SiteListItem` (liste) et `SiteDetail` (détail) dans + `Omika.App.Local.Models`. +- Payload local : table `Site` (colonne `PayloadJson`), relation `ClientId`. + +## Champs affichés + +Liste (`SiteListItem`) : + +- `Nom` +- `Code` +- `Type` (libellé) +- `Ville` (depuis l'adresse) +- `ClientNom` (si relation résolue) + +Détail (`SiteDetail`) : + +- `Nom`, `Code`, `Type` +- `InformationsComplementaires`, `EstArchive` +- `Adresse` (composée depuis les champs réels du DTO) +- `ClientGuid`, `ClientNom`, `ClientCode` +- `Contacts` (liste `SiteContact`) +- `Interventions` (liste `SiteIntervention`) + +Aucune propriété UI toujours nulle n'a été créée pour reproduire la maquette. + +## Identité publique + +Navigation et relations utilisent exclusivement les GUID publics locaux : + +- `Sites` → `SiteDetail(SiteGuid)` +- `Site → Client` : `ClientGuid` +- `Site → Contact` : `ContactGuid` +- `Site → Intervention` : `InterventionGuid` + +Jamais de PK HFSQL. + +## Recherche / filtres + +- Recherche locale insensible à la casse sur : `Nom`, `Code`, `Ville`, + `ClientNom` (propriétés réellement disponibles). +- Aucun filtre supplémentaire : aucun filtre n'était justifié par une donnée + métier réelle dans ce lot. + +## Tri + +Tri déterministe : `Nom` (insensible à la casse) puis `Code`. + +## Relation Site → Client + +Relation explicite **`SiteDetailsDto.ClientId`** (CAS A). Le détail du site +résout le client local correspondant. Cardinalité constatée : un Site peut être +lié à un Client via `ClientId` ; le modèle ne suppose pas de correspondance par +nom/adresse/code. Si le `ClientId` ne correspond à aucun client local, le client +reste absent (pas d'invention). + +## Relation Site → Contacts + +Relation explicite **`SiteDetailsDto.ContactIds`** (liste de GUID), résolue vers +les Personnes/Contacts stockées localement. Un Contact du Client n'est **pas** +automatiquement un Contact du Site : seuls les contacts listés dans +`ContactIds` sont affichés. Si la liste est absente/vide, aucune fausse liste +Contacts n'est affichée. + +## Relation Site → Interventions + +Relation directe **`InterventionDetailsDto.SiteId`**. Les interventions du site +sont celles dont `SiteId == SiteGuid`. Aucune déduction via Client, Dossier, +adresse ou RendezVous. + +## Relation Site → RendezVous + +Aucune section RendezVous n'a été ajoutée dans ce lot : les RendezVous restent +accessibles naturellement via la fiche Intervention. Aucune relation directe +Site → RendezVous n'est chargée pour éviter de surcharger les relations. + +## Navigations + +- `Site → Client` : `ClientDetail(ClientGuid)` (réutilise l'écran existant). +- `Site → Contact` : `ContactDetail(SiteContactDetailNavigation)` (réutilise + l'écran existant). +- `Site → Intervention` : `InterventionDetail(InterventionGuid)` (réutilise + l'écran existant). + +## Téléphone / email + +Le Site ne transporte pas de coordonnées propres dans ce lot (le DTO Site ne +porte pas de téléphone/email dédié). Aucune coordonnée du Client n'est déduite +comme coordonnée du Site. Les launchers `IPhoneLauncher` / `IEmailLauncher` +restent disponibles pour les contacts liés. + +## Adresse + +L'adresse est affichée uniquement depuis les données réelles du DTO Site +(`AddressDto`), composée dans `SiteAdresse` (modèle de présentation). La +présentation sur une ligne (`OneLine`) n'est pas stockée comme donnée métier. + +## Carte / itinéraire + +Aucune carte ni dépendance Maps n'a été introduite dans ce lot. Affichage texte +de l'adresse uniquement. La navigation GPS reste un lot séparé. + +## Offline + +`SitesView`, `SiteDetail`, `ClientDetail`, `ContactDetail` et +`InterventionDetail` fonctionnent depuis SQLite. Aucun HTTP obligatoire. +`SyncEngine` reste l'unique mécanisme de mise à jour. + +## États UI + +Liste : Loading, liste, EmptyState, ErrorState. + +Détail : Loading, Site inconnu, détail, collections associées vides, ErrorState. +Une relation absente n'est pas une erreur générale. + +## Smartphone / Tablette / Desktop + +Même ViewModel pour toutes les tailles. Smartphone : sections empilées, grandes +zones tactiles. Tablette/Desktop : l'espace supplémentaire est utilisé via les +sections (coordonnées, client, relations). Breakpoints globaux uniquement. + +## Design System + +Les Views `SitesView` et `SiteDetailView` réutilisent exclusivement les styles +globaux : `pageHeader`, `pageTitle`, `pageSubtitle`, `section`, `sectionTitle`, +`card`, `listTitle`, `body`, `bodySmall`, `caption`, `badge`, `ghost`, +`emptyState`, `errorMessage`, `field`. Aucune couleur hexadécimale, aucun +FontSize/CornerRadius/Padding standard répété, aucun breakpoint local. + +## Read-only + +Aucune Outbox Site. Aucun CREATE / UPDATE / DELETE / ARCHIVE pour Site. + +## Fichiers créés (LOT SITES / LIEUX MOBILE) + +- `src/Omika.App.Local/Models/SiteDetail.cs` +- `src/Omika.App.Local/Abstractions/ISiteLocalService.cs` +- `src/Omika.App.Local/Services/SiteLocalService.cs` +- `src/Omika.App/ViewModels/SitesViewModel.cs` +- `src/Omika.App/ViewModels/SiteDetailViewModel.cs` +- `src/Omika.App/Navigation/SiteContactDetailNavigation.cs` +- `src/Omika.App/Views/SitesView.axaml` (+ code-behind) +- `src/Omika.App/Views/SiteDetailView.axaml` (+ code-behind) +- `tests/Omika.Tests/Mobile/Local/SiteLocalServiceTests.cs` +- `tests/Omika.Tests/Mobile/Local/SitesViewModelTests.cs` +- `tests/Omika.Tests/Mobile/Local/SiteDetailViewModelTests.cs` + +## Fichiers modifiés (LOT SITES / LIEUX MOBILE) + +- `src/Omika.App/Navigation/AppPage.cs` (ajout `SiteDetail`) +- `src/Omika.App/Navigation/PageViewModelFactory.cs` (cas `Sites`, + `SiteDetail`, gestion `SiteContactDetailNavigation` dans `CreateContactDetail`) +- `src/Omika.App/Navigation/NavigationService.cs` (item de navigation Sites) +- `src/Omika.App/AppServices.cs` (enregistrement `ISiteLocalService`) +- `src/Omika.App/ViewModels/ContactDetailViewModel.cs` (gestion du retour depuis + la fiche Site via `SiteContactDetailNavigation`) +- `docs/LOT_MOBILE_0.md` (documentation de ce lot) + +## Tests ajoutés (LOT SITES / LIEUX MOBILE) + +- `SiteLocalServiceTests` : liste (aucun site, un site, plusieurs sites, tri + déterministe, recherche locale, payload invalide ignoré, identité publique + conservée, offline sans appel API) et détail (site trouvé, inconnu, données + réelles chargées, champs optionnels absents, aucune relation sans erreur, + identité publique conservée). Relations : Site → Client (bon client, client + sans site exclu, aucune correspondance par nom/adresse, site sans client + valide), Site → Contacts (uniquement ses contacts, contact du même client + mais autre site exclu, contact non relié exclu, GUID public conservé), Site → + Interventions (intervention du site incluse, intervention d'un autre site + exclue, intervention sans site exclue, aucune déduction via Client, GUID + public conservé). +- `SitesViewModelTests` : loading, liste, empty, erreur, recherche (nom, ville, + sans résultat), sélection Site, navigation SiteDetail avec SiteGuid, aucun + appel API. +- `SiteDetailViewModelTests` : chargement, site introuvable, coordonnées, + client lié, site sans client, contacts, interventions, relations vides sans + erreur, navigation Client, navigation Contact (SiteContactDetailNavigation), + navigation Intervention, retour, identité publique conservée. + +## Validation + +- Tests `SiteLocalService` : OK. +- Tests relations Site : OK. +- Tests `SitesViewModel` : OK. +- Tests `SiteDetailViewModel` : OK. +- Tests navigation : OK. +- Tests Mobile complets : OK. +- Suite unitaire : OK (hors 10 intégrations HFSQL/OLEDB connues). +- Build solution `Omika.slnx` : OK. +- Build Android : OK. +- Aucun backend / HFSQL modifié. + +## Relations éventuellement absentes + +- Le DTO Site ne transporte pas de téléphone/email dédié : aucune coordonnée + propre au Site n'est affichée (les coordonnées du Client ne sont pas déduites). +- Aucune relation Site → RendezVous directe n'est chargée dans ce lot. +- Les contacts du Site sont affichés uniquement depuis la liste explicite + `ContactIds` du DTO Site ; si cette relation n'est pas peuplée dans le + snapshot, aucune fausse liste Contacts n'est affichée. + +--- + +# LOT ÉQUIPE / COLLABORATEURS — LISTE + DÉTAIL + +## Statut + +Ce lot est **VALIDÉ**. Il développe la section Équipe / Collaborateurs du mobile +en lecture seule, entièrement depuis le snapshot SQLite local, sans aucun appel +HTTP et sans modification backend/HFSQL. + +## DTO réel + +- `CollaborateurDetailsDto` (`Omika.Core.Contracts.Organisation`) : détail d'un + collaborateur. Champs disponibles : `Code`, `Nom`, `Prenom`, `NomAffiche`, + `Coordonnees` (`ContactDetailsDto` : `Email`, `Phone`, `Mobile`, `Fax`), + `Civilite` (`ReferenceValueDto`), `Statut` (`ReferenceValueDto`), + `CouleurPlanning`, `Actif`, `EstArchive`. +- `RendezVousDetailsDto` (`Omika.Core.Contracts.Planning`) : porte la relation + Collaborateur → RendezVous via la liste `Collaborateurs` + (`AffectationCollaborateurDto.CollaborateurId`). +- `InterventionDetailsDto` (`Omika.Core.Contracts.Interventions`) : porte la + relation Collaborateur → Intervention via la liste `CollaborateurIds`. + +## Champs affichés + +- **Liste** : `DisplayName` (construit dans la couche présentation à partir de + `NomAffiche`, sinon `Prenom` + `Nom`, avec fallback propre), `Code`, `Fonction` + (libellé `Statut`), `Email`, `Telephone` (fixe sinon mobile), `Actif`, + `EstArchive`. +- **Détail** : `Code`, `Nom`, `Prenom`, `NomAffiche`, `Civilite`, `Statut`, + `CouleurPlanning`, `Actif`, `EstArchive`, coordonnées (`Email`, `Phone`, + `Mobile`, `Fax`), relations RendezVous et Interventions. + +## Identité publique + +Navigation exclusivement par `CollaborateurGuid` (GUID canonique local). Aucun +PK HFSQL n'est transporté. Aucun DTO de navigation spécialisé +(`EquipeCollaborateurNavigation`, `PlanningCollaborateurNavigation`) n'est créé : +le mécanisme consolidé `DetailNavigation` / `NavigationContext` est réutilisé. + +## Recherche / filtres + +- Recherche locale insensible à la casse sur `DisplayName`, `Code`, `Fonction`, + `Email` (champs réellement disponibles). Aucun HTTP. +- Aucun filtre inventé (Disponible / Occupé / En intervention) : seuls les + champs réels sont utilisés. + +## Relation Collaborateur → RendezVous + +Relation réellement démontrable via `RendezVousDetailsDto.Collaborateurs` +(`AffectationCollaborateurDto.CollaborateurId`). Un rendez-vous apparaît pour +chaque collaborateur explicitement associé (cardinalité multiple respectée). +Tri chronologique croissant. Tap → `RendezVousDetail` avec +`DetailNavigation(RendezVousGuid, NavigationContext(CollaborateurDetail, CollaborateurGuid))`. + +## Relation Collaborateur → Intervention + +Relation réellement démontrable via `InterventionDetailsDto.CollaborateurIds`. +Aucune déduction transitive (Collaborateur → RendezVous → Intervention) n'est +faite. Tap → `InterventionDetail` avec +`DetailNavigation(InterventionGuid, NavigationContext(CollaborateurDetail, CollaborateurGuid))`. + +## Navigation contextuelle + +- Équipe → `CollaborateurDetail(CollaborateurGuid)`. +- `CollaborateurDetail` → `RendezVousDetail` → Retour → `CollaborateurDetail`. +- `CollaborateurDetail` → `InterventionDetail` → Retour → `CollaborateurDetail`. +- Aucun flag `IsFromX` ni DTO de retour spécialisé n'est réintroduit. + +## Offline / read-only + +- `CollaborateursView`, `CollaborateurDetailView`, `RendezVousDetail`, + `InterventionDetail` fonctionnent depuis SQLite. Aucun appel HTTP obligatoire. +- SyncEngine reste l'unique système de mise à jour. +- Aucune Outbox Collaborateur. Aucun CREATE/UPDATE/DELETE/ARCHIVE : lecture seule. + +## Design System + +- Aucune couleur hex standard, aucun breakpoint local, aucun FontSize standard, + aucun CornerRadius/Padding standard répété dans les Views. +- Styles sémantiques existants réutilisés. Avatar neutre / initiales générées + localement (présentation UI, pas donnée métier). `AvatarSize` centralisé. + +## Fichiers créés + +- `src/Omika.App.Local/Models/CollaborateurDetail.cs` (modèles de présentation) +- `src/Omika.App.Local/Abstractions/ICollaborateurLocalService.cs` +- `src/Omika.App.Local/Services/CollaborateurLocalService.cs` +- `src/Omika.App/ViewModels/CollaborateursViewModel.cs` +- `src/Omika.App/ViewModels/CollaborateurDetailViewModel.cs` +- `src/Omika.App/Views/CollaborateursView.axaml` (+ `.cs`) +- `src/Omika.App/Views/CollaborateurDetailView.axaml` (+ `.cs`) +- `tests/Omika.Tests/Mobile/Local/CollaborateurLocalServiceTests.cs` +- `tests/Omika.Tests/Mobile/Local/CollaborateursViewModelTests.cs` +- `tests/Omika.Tests/Mobile/Local/CollaborateurDetailViewModelTests.cs` + +## Fichiers modifiés + +- `src/Omika.App/Navigation/AppPage.cs` (ajout `CollaborateurDetail`) +- `src/Omika.App/Navigation/PageViewModelFactory.cs` (cas `Collaborateurs`, + `CollaborateurDetail`) +- `src/Omika.App/AppServices.cs` (enregistrement `ICollaborateurLocalService`) +- `tests/Omika.Tests/Mobile/Local/LocalTestBase.cs` (ajout `CollaborateurRepository`) +- `docs/LOT_MOBILE_0.md` (documentation de ce lot) + +## Tests ajoutés + +- `CollaborateurLocalServiceTests` : liste (aucun, un, plusieurs, tri + déterministe, recherche locale, payload invalide ignoré, identité publique + conservée, offline sans appel API) et détail (trouvé, inconnu, données réelles + chargées, champs optionnels absents, identité publique conservée, relations + vides sans erreur). Relations : Collaborateur → RendezVous (uniquement ses + rendez-vous, rendez-vous d'un autre collaborateur exclu, rendez-vous sans + relation exclu, cardinalité multiple respectée, tri chronologique, GUID public + conservé), Collaborateur → Interventions (uniquement ses interventions, + intervention d'un autre collaborateur exclue, aucune déduction transitive, + GUID public conservé). +- `CollaborateursViewModelTests` : loading, liste, empty, erreur, recherche + (nom, sans résultat, réinitialisation), sélection Collaborateur, navigation + CollaborateurDetail avec CollaborateurGuid, aucun appel API. +- `CollaborateurDetailViewModelTests` : chargement, collaborateur introuvable, + coordonnées, champs optionnels absents, RendezVous, Interventions, relations + vides sans erreur, téléphone/email (disponible et absent), navigation + RendezVous, navigation Intervention, retour, contexte retour conservé. + +## Validation + +- Tests `CollaborateurLocalService` : OK. +- Tests relations Collaborateur : OK. +- Tests `CollaborateursViewModel` : OK. +- Tests `CollaborateurDetailViewModel` : OK. +- Tests navigation contextuelle : OK. +- Tests Mobile complets : OK. +- Suite unitaire : OK (hors intégrations HFSQL/OLEDB connues). +- Build solution `Omika.slnx` : OK. +- Build Android : OK. +- Aucun backend / HFSQL modifié. + +## Relations éventuellement absentes + +- La relation Collaborateur → RendezVous est portée par + `RendezVousDetailsDto.Collaborateurs` ; si cette liste n'est pas peuplée dans + le snapshot, aucune fausse liste RendezVous n'est affichée. +- La relation Collaborateur → Intervention est portée par + `InterventionDetailsDto.CollaborateurIds` ; si cette liste n'est pas peuplée + dans le snapshot, aucune fausse liste Interventions n'est affichée. +- Aucune relation n'est déduite par transitivité (Collaborateur → RendezVous → + Intervention) ni par commodité. +- Aucun poste, fonction, équipe, disponibilité, statut, avatar, compétence, + téléphone ou email n'est créé si le DTO réel ne le contient pas. + +--- + +# LOT INTERVENTIONS — LISTE + +## Statut + +VALIDÉ — lecture seule depuis SQLite, recherche locale, filtre Actif/Archivé, +navigation contextuelle vers la fiche Intervention. + +## Objectif + +Afficher la liste des interventions disponibles dans le snapshot local, les +rechercher localement, filtrer les archivées et ouvrir la fiche Intervention +par identité publique. Fonctionne totalement offline, sans appel API. + +## Architecture + +``` +InterventionsView +→ InterventionsViewModel +→ IInterventionLocalService +→ repositories SQLite +``` + +- `InterventionsView.axaml` / `.axaml.cs` : vue de la liste. +- `InterventionsViewModel` : chargement, recherche, filtre, navigation. +- `IInterventionLocalService.GetInterventionsAsync()` : lecture locale. +- `InterventionLocalService` : agrégation depuis les repositories SQLite + (Intervention, Client, Site, Dossier, Collaborateur). + +## DTO / modèle local + +- DTO source : `InterventionDetailsDto` (Omika.Core.Contracts.Interventions). +- Modèle local : `LocalIntervention` (payload JSON + colonnes relationnelles). +- Modèle de présentation : `InterventionListItem`. + +## Champs affichés + +Uniquement les champs réellement disponibles dans le DTO : + +- `Reference` +- `Titre` +- `Etat` (libellé) +- `EstArchive` (filtre) +- `DatePrevueDebut` (tri) +- Relations résolues localement : `ClientNom`, `SiteNom`, `DossierReference`, + `Collaborateurs` (noms des collaborateurs affectés). + +## Identité publique + +- `InterventionGuid` (GUID public) utilisé exclusivement pour la navigation. +- Jamais de PK HFSQL. + +## Recherche + +- Recherche locale insensible à la casse sur `Reference` et `Titre`. +- Aucun HTTP. + +## Filtres + +- Filtre Actif / Archivé basé sur `EstArchive` (donnée réelle du DTO). +- Par défaut, les interventions archivées sont masquées. + +## Tri + +- Tri déterministe par `DatePrevueDebut` puis `Reference`. + +## Navigation contextuelle + +- `InterventionsView` → `InterventionDetail(InterventionGuid)` via + `DetailNavigation(InterventionGuid, NavigationContext(AppPage.Interventions, null))`. +- Retour contextuel vers la liste Interventions via `NavigationContext`. +- Aucun flag `IsFromX` ni DTO de navigation spécialisé. + +## Offline + +- Lecture uniquement depuis SQLite. +- Aucun appel HTTP obligatoire. +- SyncEngine reste l'unique système de mise à jour. + +## Read-only + +- Aucune Outbox Intervention. +- Aucun CREATE / UPDATE / DELETE / ARCHIVE. +- Lot strictement lecture. + +## Design System + +- Réutilise les styles sémantiques existants (pageHeader, pageTitle, field, + ghost, listTitle, caption, bodySmall, emptyState, errorMessage). +- Aucune couleur hex, FontSize, CornerRadius, Padding standard en dur. +- Aucun breakpoint local. + +## États UI + +- Loading +- Liste +- EmptyState +- ErrorState + +## Tests ajoutés + +- `InterventionLocalServiceTests` : aucun, un, plusieurs (tri déterministe), + payload invalide ignoré, GUID public conservé, relations résolues, flag + archivé conservé. +- `InterventionsViewModelTests` : loading, liste, empty, erreur (payload + invalide), recherche (référence, sans résultat), filtre Actif/Archivé, + navigation InterventionDetail avec GUID public et retour contextuel, aucun + appel API. +- `ShellViewModelTests` : mise à jour du test de navigation pour vérifier que + `AppPage.Interventions` retourne un `InterventionsViewModel`. + +## Validation + +- Tests `InterventionLocalService` : OK. +- Tests `InterventionsViewModel` : OK. +- Tests navigation contextuelle : OK. +- Tests Mobile complets : OK. +- Suite unitaire : OK (hors intégrations HFSQL/OLEDB connues). +- Build solution `Omika.slnx` : OK. +- Build Android : OK. +- Aucun backend / HFSQL modifié. + + + diff --git a/docs/LOT_SERVEUR_LICENCE.md b/docs/LOT_SERVEUR_LICENCE.md new file mode 100644 index 0000000..06c91bb --- /dev/null +++ b/docs/LOT_SERVEUR_LICENCE.md @@ -0,0 +1,230 @@ +# LOT SERVEUR — Connexion physique base Licence HFSQL + +## Objectif + +Brancher l'implémentation moderne Licence existante sur la vraie base HFSQL +Licence, via le provider OLEDB pour HFSQL (`PCSOFT.HFSQL`). + +## Principes respectés + +- **Aucune modification du schéma HFSQL** : aucune table/colonne créée, modifiée ou supprimée. +- **Aucune création/suppression de table** : le repository lit/écrit dans les tables existantes. +- **Aucune reprise du vieux WebService** : les traitements modernes restent la référence. +- **Les anciennes documentations** servent uniquement à connaître les tables, relations et comportements historiques. +- **Les contrats API modernes restent la référence** : le repository ne renvoie que des entités métier. +- **Aucun secret historique recopié** : les valeurs de connexion proviennent exclusivement de la configuration d'installation. + +## Modèle physique réel (confirmé) + +La base Licence héberge les tables techniques suivantes, utilisées par le repository : + +| Table | Rôle | Colonnes utilisées | +|-------|------|--------------------| +| `ClientBase` | Clients de la base licence | `CL_PKID`, `CL_Code`, `CL_Nom` | +| `Licence` | Licences attribuées | `LI_PKID`, `LI_IDClient`, `LI_IDCollaborateur`, `LI_IDUser`, `LI_Numero`, `LI_IDMobile`, `LI_DateAttribution`, `LI_DateExpiration`, `LI_Active`, `LI_UserNom`, `LI_UserPrenom`, `LI_Type`, `LI_InfoSupMob`, `LI_VersionMajeur` | +| `LicenceHisto` | Historique des opérations de licence | `LH_Date`, `LH_Auteur`, `LH_Operation`, `LH_GUIDLicence`, `LH_CodeClient`, `LH_IdMobile`, `LH_Note` | + +> **Aucune divergence** entre le modèle physique réel et les hypothèses du repository actuel. +> Le mapping est direct et conforme. + +## Mapping vers les contrats modernes + +Le `LicenceRepository` (`src/Omika.Data/Repositories/Technical/LicenceRepository.cs`) +mappe les lignes physiques HFSQL vers les entités métier modernes : + +| Table physique | Entité métier | Contrat | +|----------------|---------------|---------| +| `ClientBase` | `ClientBase` | `Omika.Core.Domain.Entities.Mobile.ClientBase` | +| `Licence` | `Licence` | `Omika.Core.Domain.Entities.Mobile.Licence` | +| `LicenceHisto` | `LicenceHistoEntry` | `Omika.Core.Domain.Entities.Mobile.LicenceHistoEntry` | + +Aucune donnée physique HFSQL n'est exposée dans l'API : le repository ne renvoie +que des entités métier, et les endpoints API ne manipulent que des contrats modernes. + +## Fonctionnalités couvertes + +| # | Fonctionnalité | Implémentation | +|---|----------------|----------------| +| 1 | Configuration centralisée de connexion Licence | `LicenseConnectionOptions` + `LicenseConnectionOptionsValidator` (section `LicenseConnection`) | +| 2 | Ouverture de la connexion HFSQL via OLEDB | `LicenseOleDbConnection` + `HfSqlOleDbConnectionFactory` (provider `PCSOFT.HFSQL`) | +| 3 | Ouverture/lecture des tables réellement utilisées | `LicenceRepository` branché sur la connexion nommée `"License"` | +| 4 | Mapping vers les contrats modernes | `LicenceRepository` (mapping `ClientBaseRow`/`LicenceRow` → entités métier) | +| 5 | Recherche CodeClient | `GetClientByCodeAsync` | +| 6 | Recherche NumeroLicence | `GetByNumeroAsync`, `GetByNumeroAndClientAsync` | +| 7 | Vérification licence active | `Licence.Active` | +| 8 | Vérification DateExpiration | `Licence.DateExpiration` | +| 9 | Vérification attribution DeviceId | `Licence.DeviceId` | +| 10 | Résolution UserId | `Licence.UserId` | +| 11 | Résolution CollaborateurId | `Licence.CollaborateurId` | +| 12 | Activation réelle | `AssignDeviceAsync` + `AddHistoAsync` | +| 13 | Validation réelle | via `LicenseService` (contrats API modernes) | +| 14 | Aucune donnée physique exposée | le repository ne renvoie que des entités métier | + +## Branchement effectué + +### `src/Omika.Data/ServiceCollectionExtensions.cs` + +Dans `AddOmikaDataLicenseConnection()`, le `ILicenceRepository` est désormais +branché sur la connexion OLEDB nommée `"License"` (base Licence réelle), en +remplacement de l'enregistrement ODBC métier par défaut de `AddOmikaData()` : + +```csharp +services.AddScoped<ILicenceRepository>(sp => + new LicenceRepository( + sp.GetRequiredKeyedService<IHfsqlConnection>(LicenseConnectionOptions.ConnectionName))); +``` + +Le dernier enregistrement remplace le précédent (connexion ODBC métier) : le +repository de licence lit/écrit désormais dans la base HFSQL Licence réelle via +le provider OLEDB, jamais dans la base métier. + +### `src/Omika.Api/Program.cs` + +Appel de `AddOmikaDataLicenseConnection()` après `AddOmikaData()` pour activer le +branchement : + +```csharp +builder.Services.AddOmikaData(); +builder.Services.AddOmikaDataLicenseConnection(); +``` + +### `src/Omika.Api/appsettings.json` + +Ajout de la section `LicenseConnection` (valeurs d'exemple, sans secrets) : + +```json +"LicenseConnection": { + "Server": "localhost", + "Port": 4900, + "DatabaseName": "Licence", + "Login": "", + "Password": "", + "FilePasswords": { + "ProtectionStd": "", + "ProtectionPlus": "" + } +} +``` + +> Les valeurs `Login`, `Password`, `FilePasswords` doivent être fournies via +> configuration sécurisée (variables d'environnement, User Secrets), jamais en +> clair dans le code source. + +## Configuration de connexion + +La connexion à la base Licence est centralisée dans la section `LicenseConnection` : + +| Clé | Description | Exemple | +|-----|-------------|---------| +| `LicenseConnection:Server` | Hôte du serveur HFSQL Client/Serveur | `localhost` | +| `LicenseConnection:Port` | Port du serveur HFSQL | `4900` | +| `LicenseConnection:DatabaseName` | Nom de la base Licence | `Licence` | +| `LicenseConnection:Login` | Compte technique serveur (secret) | *(via env/secret)* | +| `LicenseConnection:Password` | Mot de passe du compte technique (secret) | *(via env/secret)* | +| `LicenseConnection:FilePasswords:ProtectionStd` | Mot de passe ProtectionStd (optionnel) | *(via env/secret)* | +| `LicenseConnection:FilePasswords:ProtectionPlus` | Mot de passe ProtectionPlus (optionnel) | *(via env/secret)* | + +## Validation de la baseline + +| Baseline | Résultat | +|----------|----------| +| Mobile | **506/506** ✓ | +| Unitaires hors HFSQL environnemental | **1748/1748** ✓ (0 échec) | +| Build solution | **vert** ✓ | +| Android | **vert** ✓ | + + +## Tests à faire en lecture (prochaine étape) + +Une fois la base Licence réelle accessible, exécuter les tests de lecture suivants +avant toute écriture : + +- [ ] Connexion ouverte (via `LicenseOleDbConnection`) +- [ ] Tables accessibles (`ClientBase`, `Licence`, `LicenceHisto`) +- [ ] Colonnes réellement présentes (comparer avec le mapping ci-dessus) +- [ ] Client connu / inconnu (`GetClientByCodeAsync`) +- [ ] Licence connue / inconnue (`GetByNumeroAsync`) +- [ ] Licence active / inactive (`Licence.Active`) +- [ ] Licence expirée (`Licence.DateExpiration`) +- [ ] Attribution existante (`Licence.DeviceId`) +- [ ] Utilisateur / collaborateur réellement résolus (`Licence.UserId`, `Licence.CollaborateurId`) + +> **STOP** si le modèle physique diffère des hypothèses du repository. Dans ce cas, +> fournir : table réelle, colonne réelle, modèle attendu, divergence, adaptation minimale. + +--- + +## ⛔ ÉTAT RÉEL — DIVERGENCE CONSTATÉE (STOP) + +> **Ce lot est en état de STOP.** Les probes de lecture réels (via OLEDB `PCSOFT.HFSQL`) +> ont révélé que le modèle physique de la base Licence **diffère** des hypothèses du +> repository. Aucune écriture n'a été effectuée. Aucune donnée n'a été modifiée. + +### Probes de lecture effectués (lecture seule, aucun secret exposé) + +| Base configurée | Base réelle sur le serveur | Connexion | Tables | +|-----------------|----------------------------|-----------|--------| +| `BATIK_TEST` (Business) | `BATIK_TEST` | ✅ Ouverte | 44 tables métier | +| `BASE_LICENSES` (License) | **`BASE_LICENCES`** (orthographe différente) | ✅ Ouverte | **2 tables de backup système uniquement** | +| `SYNC_TEST` (Sync) | **`OMIKA_TEST`** (nom différent) | ✅ Ouverte | 54 tables métier | + +Le serveur HFSQL (`127.0.0.1:4900`) expose 16 bases, dont `BASE_LICENCES`, `BATIK_TEST`, +`OMIKA_TEST`, `GestionUser`, etc. + +### Divergence 1 — Nom de la base Licence + +| Élément | Valeur | +|---------|--------| +| **Base configurée** (`LicenseConnection:DatabaseName`) | `BASE_LICENSES` | +| **Base réelle sur le serveur** | `BASE_LICENCES` | +| **Divergence** | Orthographe : `LICENSES` (config) vs `LICENCES` (réel) | + +### Divergence 2 — Tables de licence absentes (critique) + +La base Licence réelle (`BASE_LICENCES`) ne contient **que** les tables de backup +système suivantes : + +| Table réelle | Type | +|--------------|------| +| `_Backup_20260813_080833_Integrity` | TABLE | +| `_Backup_20260813_080833_Views` | TABLE | + +Les tables attendues par le repository **n'existent pas** dans cette base : + +| Table attendue (modèle) | Présence réelle | +|-------------------------|-----------------| +| `ClientBase` | ❌ Absente | +| `Licence` | ❌ Absente | +| `LicenceHisto` | ❌ Absente | + +### Divergence 3 — Nom de la base Sync + +| Élément | Valeur | +|---------|--------| +| **Base configurée** (`SyncConnection:DatabaseName`) | `SYNC_TEST` | +| **Base réelle sur le serveur** | `OMIKA_TEST` | +| **Divergence** | Nom différent | + +### Conséquence + +Le `LicenceRepository` ne peut pas être branché sur la base Licence réelle tant que +les tables `ClientBase`, `Licence`, `LicenceHisto` n'existent pas dans `BASE_LICENCES` +(ou dans une base Licence dédiée). Le mapping vers les contrats modernes ne peut pas +être validé en lecture. + +### Adaptation minimale proposée (à valider avant toute implémentation) + +1. **Corriger le nom de la base** dans la configuration locale : + `LicenseConnection:DatabaseName` = `BASE_LICENCES` (au lieu de `BASE_LICENSES`). +2. **Restaurer / créer les tables de licence** (`ClientBase`, `Licence`, `LicenceHisto`) + dans la base `BASE_LICENCES` (ou fournir une base Licence de test contenant ces tables). + → Sans ces tables, aucun test de lecture/mapping/activation n'est possible. +3. **Corriger le nom de la base Sync** : `SyncConnection:DatabaseName` = `OMIKA_TEST` + (au lieu de `SYNC_TEST`), si `OMIKA_TEST` est bien la base technique Sync de test. +4. **Re-exécuter les probes de lecture** (connexion, tables, colonnes) une fois les + tables de licence présentes, avant toute écriture. + +> **Aucune modification du schéma HFSQL n'a été effectuée.** Aucune table n'a été +> créée, modifiée ou supprimée. Aucune donnée n'a été écrite. + + diff --git a/docs/LOT_SERVEUR_SERVICE_CONNECTION.md b/docs/LOT_SERVEUR_SERVICE_CONNECTION.md new file mode 100644 index 0000000..0b94fea --- /dev/null +++ b/docs/LOT_SERVEUR_SERVICE_CONNECTION.md @@ -0,0 +1,175 @@ +# LOT SERVEUR — CONNEXION PHYSIQUE BASE SERVICE (HFSQL) + +## OBJECTIF + +Brancher l'implémentation moderne de synchronisation mobile existante sur la +vraie base HFSQL **Service**, via le provider OLE DB `PCSOFT.HFSQL`. + +Cette base Service est **distincte** de la base métier Batik/Omika (ODBC), de la +base Licence et de la base technique Sync : elle héberge les tables techniques +du service de synchronisation. + +## IMPORTANT + +- aucune modification du schéma HFSQL ; +- aucune création/suppression de table ; +- aucune reprise du vieux WebService ; +- les anciennes documentations servent uniquement à connaître les tables, + relations et comportements historiques ; +- les traitements modernes peuvent être différents ; +- les contrats API modernes restent la référence ; +- aucun secret historique ne doit être recopié. + +## TOPOLOGIE RÉELLE CONSTATÉE (probes de lecture) + +Les probes de lecture réels (via OLEDB `PCSOFT.HFSQL`) ont révélé la topologie +physique suivante sur le serveur HFSQL (`127.0.0.1:4900`) : + +| Base réelle | Rôle | Tables techniques | +|-------------|------|-------------------| +| `BATIK.01_BLS` | Base **Service** (service de synchronisation) | `TOSRV`, `TOMOB`, `MOBILES`, `PARAMETRES` | +| `BATIK_TEST` | Base métier Batik (Business) | 44 tables métier | +| `OMIKA_TEST` | Base technique Sync | 54 tables métier | +| `BASE_LICENCES` | Base Licence | tables de backup système uniquement | + +### Matrice physique des tables de synchronisation + +| Table | Base réelle | Rôle | +|-------|-------------|------| +| `TOSRV` | **`BATIK.01_BLS`** (Service) | File d'entrée des opérations reçues du mobile | +| `MobReception` | **base métier WebService** | File de travail des opérations transférées | +| `MobLog` | **base métier WebService** | Journal des états terminaux | + +> **Divergence structurelle** : le `SyncTransferRepository` actuel est +> **mono-connexion** et suppose que `TOSRV`, `MobReception` et `MobLog` sont dans +> la **même** base. Or la topologie réelle répartit ces tables sur **deux** bases +> distinctes (`TOSRV` dans la base Service, `MobReception`/`MobLog` dans la base +> métier WebService). Le repository actuel est donc **insuffisant** pour cette +> topologie. + +## CONFIGURATION CENTRALISÉE + +La connexion Service est configurée dans la section **`ServiceConnection`** des +fichiers de configuration .NET (appsettings / variables d'environnement / +secrets) : + +```json +"ServiceConnection": { + "Server": "127.0.0.1", + "Port": 4900, + "DatabaseName": "BATIK.01_BLS", + "Login": "", + "Password": "", + "FilePasswords": { + "ProtectionStd": null, + "ProtectionPlus": null + } +} +``` + +- `Server` / `Port` : serveur HFSQL Client/Serveur. +- `DatabaseName` : nom de la base Service (`BATIK.01_BLS`). +- `Login` / `Password` : compte technique serveur (jamais en clair en source). +- `FilePasswords` : mots de passe de fichiers HFSQL (ProtectionStd / ProtectionPlus), + propres à l'installation. Optionnels. + +### Mot de passe optionnel + +Selon le client, la connexion Service peut être configurée avec un mot de passe +**absent** (`null`), **vide** (`""`) ou **renseigné**. Le validateur et le +constructeur OLEDB acceptent proprement les trois cas. **Aucun mot de passe +fictif n'est jamais inventé** lorsque la valeur est absente. + +## OUVERTURE DE LA CONNEXION VIA OLEDB + +La connexion Service est enregistrée comme `IHfsqlConnection` **nommée** `"Service"` +(`ServiceConnectionOptions.ConnectionName`), distincte de la connexion métier ODBC +par défaut, de la connexion Licence et de la connexion Sync. + +- `ServiceConnectionOptions` : options de connexion (section `ServiceConnection`). +- `ServiceConnectionOptionsValidator` : validation minimale (règle pure, testable). +- `HfSqlConnectionOptionsFactory.CreateForService(...)` : traduction vers les options + OLE DB. +- `ServiceOleDbConnection` : connexion OLE DB réutilisant le contrat `IHfsqlConnection` + (lecture, métadonnées), alimentée par la fabrique OLE DB. + +### `ServiceOleDbConnection` + +La connexion Service expose : + +- `Options` : un `HfsqlOptions` minimal dérivé des options Service (sans secret), + avec `ConnectionName = "Service"`, `DatabaseName`, `Login`. +- `OpenAsync` / `CloseAsync` / `DisposeAsync` : cycle de vie de la connexion. +- `QueryAsync` / `ExecuteScalarAsync` / `ExecuteNonQueryAsync` : lecture/écriture. +- `GetColumnsAsync` : métadonnées des colonnes d'une table. + +## BRANCHEMENT DU REPOSITORY — MULTI-CONNEXION IMPLÉMENTÉ + +`AddOmikaDataServiceConnection()` (dans `Omika.Data`) : + +1. enregistre la configuration `ServiceConnection` (section `ServiceConnection`) ; +2. enregistre le validateur `ServiceConnectionOptionsValidator` ; +3. enregistre la fabrique OLE DB `IHfSqlOleDbConnectionFactory` ; +4. enregistre la connexion `IHfsqlConnection` nommée `"Service"` (Scoped) ; +5. enregistre le wrapper `IServiceHfSqlConnection` (Scoped) autour de la connexion + Service. + +> **✅ Implémenté** : le `SyncTransferRepository` est désormais **multi-connexion**. +> Il reçoit deux connexions explicites : `IServiceHfSqlConnection` (base Service, +> table `TOSRV`) et `IWebServiceHfSqlConnection` (base WebService/Business, tables +> `MobReception` et `MobLog`). Le routage des opérations est documenté dans +> `LOT_SERVEUR_SYNC_CONNECTION.md`. + +### Rôle de la connexion Service + +La connexion Service (`IServiceHfSqlConnection`) est utilisée **uniquement** pour +les opérations sur la table `TOSRV` : + +- `InsertToSrvAsync` : insertion d'une opération reçue du mobile. +- `GetStatusAsync` / `GetExistingStateAsync` : recherche d'une opération dans TOSRV. +- `TransferToReceptionAsync` : lecture de TOSRV et suppression après transfert réussi. + +Aucune opération `MobReception` / `MobLog` ne passe par la connexion Service. + +> **Aucune modification du schéma HFSQL n'a été effectuée.** Aucune table n'a été +> créée, modifiée ou supprimée. Aucune donnée n'a été écrite. + + +## VALIDATION DE LA BASELINE + +| Élément | Résultat | +|---------|----------| +| Build solution | **Vert** (0 erreur) | +| Build Android | **Vert** (0 erreur) | +| Tests unitaires (hors HFSQL environnemental) | **1748/1748** (0 échec) | + +### Note sur les tests + +Les 10 tests `HfSqlOleDb*IntegrationTests` échouent car ils nécessitent un serveur +HFSQL réel non démarré dans cet environnement (`La connexion au serveur <:0> a +échoué`). Ces tests sont **hors baseline** (tests environnementaux). + +Les nouveaux tests ajoutés pour la connexion Service passent tous : + +- `ServiceConnectionOptionsValidatorTests` (13 tests) : validation, mot de passe + optionnel, `ToString` sans secret. +- `ServiceOleDbConnectionTests` (12 tests) : cycle de vie, lecture, options, + `CreateForService`. +- `HfSqlOleDbConnectionStringBuilderTests` : construction OLEDB avec mot de passe + optionnel. +- `ServiceCollectionExtensionsTests` : enregistrement DI de la connexion Service. + +## PROCHAINES ÉTAPES (LECTURE SEULE D'ABORD) + +Avant toute écriture, prouver en lecture seule : + +- connexion Service ouverte ; +- tables accessibles (`TOSRV`, `TOMOB`, `MOBILES`, `PARAMETRES`) ; +- colonnes réellement présentes ; +- opération connue / inconnue ; +- état terminal / en attente ; +- mapping JSON cohérent. + +**STOP** si le modèle physique diffère des hypothèses du repository actuel. Dans +ce cas fournir : table réelle, colonne réelle, modèle attendu, divergence, +adaptation minimale proposée. diff --git a/docs/LOT_SERVEUR_SYNC_CONNECTION.md b/docs/LOT_SERVEUR_SYNC_CONNECTION.md new file mode 100644 index 0000000..e9fa632 --- /dev/null +++ b/docs/LOT_SERVEUR_SYNC_CONNECTION.md @@ -0,0 +1,230 @@ +# LOT SERVEUR — CONNEXION PHYSIQUE BASE TECHNIQUE SYNC (HFSQL) + +## OBJECTIF + +Brancher l'implémentation moderne de synchronisation mobile existante sur la +vraie base HFSQL **technique de synchronisation**, via le provider OLE DB +`PCSOFT.HFSQL`. + +Cette base technique est **distincte** de la base métier Batik/Omika (ODBC) et +de la base Licence : elle héberge les files de communication mobile/service. + +## IMPORTANT + +- aucune modification du schéma HFSQL ; +- aucune création/suppression de table ; +- aucune reprise du vieux WebService ; +- les anciennes documentations servent uniquement à connaître les tables, + relations et comportements historiques ; +- les traitements modernes peuvent être différents ; +- les contrats API modernes restent la référence ; +- aucun secret historique ne doit être recopié. + +## TABLES TECHNIQUES UTILISÉES + +Le repository de synchronisation (`SyncTransferRepository`) lit/écrit dans les +tables techniques suivantes : + +| Table | Rôle | Colonnes utilisées | +|-------|------|--------------------| +| `TOSRV` | File d'entrée des opérations reçues du mobile (non transférées) | `TS_PKID`, `TS_Date`, `TS_Mobile`, `TS_CMD`, `TS_Buffer`, `TS_Lu`, `TS_JSON` | +| `MobReception` | File de travail des opérations transférées en attente de traitement | `MR_PKID`, `MR_IDToSRV`, `MR_JSON`, `MR_CMD`, `MR_Buffer`, `MR_NumSerie`, `MR_Fait`, `MR_DateHeureRecep` | +| `MobLog` | Journal des états terminaux (SUCCESS / REJECTED) et historique | `ML_PKID`, `ML_DateCreat`, `ML_Message`, `ML_Niveau` | + +Ces tables sont hébergées dans la base technique Sync, configurée séparément +(section `SyncConnection`), jamais dans la base métier Batik/Omika. + +## CONFIGURATION CENTRALISÉE + +La connexion Sync est configurée dans la section **`SyncConnection`** des +fichiers de configuration .NET (appsettings / variables d'environnement / +secrets) : + +```json +"SyncConnection": { + "Server": "localhost", + "Port": 4900, + "DatabaseName": "Sync", + "Login": "", + "Password": "", + "FilePasswords": { + "ProtectionStd": "", + "ProtectionPlus": "" + } +} +``` + +- `Server` / `Port` : serveur HFSQL Client/Serveur. +- `DatabaseName` : nom de la base technique Sync. +- `Login` / `Password` : compte technique serveur (jamais en clair en source). +- `FilePasswords` : mots de passe de fichiers HFSQL (ProtectionStd / ProtectionPlus), + propres à l'installation. Optionnels. + +Aucun secret historique n'est repris : les valeurs proviennent exclusivement de +la configuration d'installation. + +## OUVERTURE DE LA CONNEXION VIA OLEDB + +La connexion Sync est enregistrée comme `IHfsqlConnection` **nommée** `"Sync"` +(`SyncConnectionOptions.ConnectionName`), distincte de la connexion métier ODBC +par défaut et de la connexion Licence. + +- `SyncConnectionOptions` : options de connexion (section `SyncConnection`). +- `SyncConnectionOptionsValidator` : validation minimale (règle pure, testable). +- `HfSqlConnectionOptionsFactory.CreateForSync(...)` : traduction vers les options + OLE DB. +- `SyncOleDbConnection` : connexion OLE DB réutilisant le contrat `IHfsqlConnection` + (lecture, métadonnées), alimentée par la fabrique OLE DB. + +## BRANCHEMENT DU REPOSITORY + +`AddOmikaDataSyncConnection()` (dans `Omika.Data`) : + +1. enregistre la configuration `SyncConnection` (section `SyncConnection`) ; +2. enregistre le validateur `SyncConnectionOptionsValidator` ; +3. enregistre la fabrique OLE DB `IHfSqlOleDbConnectionFactory` ; +4. enregistre la connexion `IHfsqlConnection` nommée `"Sync"` (Scoped). + +> **⚠️ OBSOLÈTE** : cette méthode ne branche **plus** `ISyncTransferRepository` sur +> la connexion Sync. Le repository est désormais **multi-connexion** (voir section +> "Topologie multi-connexion" ci-dessous). Cette méthode est conservée uniquement +> pour la compatibilité de configuration (section `SyncConnection`) et pour les +> outils de diagnostic. Sa suppression est proposée une fois toutes les références +> migrées. + +Le repository de synchronisation lit/écrit désormais dans **deux bases physiques +distinctes** via les connexions explicites Service et WebService. Les contrats API +modernes restent la référence ; aucune donnée physique HFSQL n'est exposée (le +repository ne renvoie que des entités métier). + + +## MAPPING VERS LES CONTRATS MODERNES + +Le `SyncTransferRepository` mappe les lignes physiques vers les contrats modernes +(`SyncEnvelope`, `SyncLogEntry`, `SyncStatusResponse`) : + +- `TOSRV.TS_JSON` / `MobReception.MR_JSON` → `SyncEnvelope` (JSON versionné). +- `MobLog.ML_Message` → `SyncLogEntry` (JSON versionné, `schemaVersion`). +- États : `SyncStatus.Success` / `SyncStatus.Rejected` / `SyncStatus.Pending`. + +## VALIDATION DE LA BASELINE + +| Élément | Résultat | +|---------|----------| +| Build solution | **Vert** (0 erreur) | +| Build Android | **Vert** (0 erreur) | +| Build Mobile (Omika.App) | **Vert** (0 erreur) | +| Tests Mobile | **506/506** (0 échec) | +| Tests unitaires (hors HFSQL environnemental) | **1683/1683** (0 échec) | + +### Note sur le compteur 1675 → 1683 + +La référence historique indiquait 1675 tests unitaires hors HFSQL environnemental. +Le filtre utilisé (`FullyQualifiedName!~Omika.Tests.Connection.HfSqlOleDb`) exclut +les 19 tests `HfSqlOleDb*IntegrationTests` (tests environnementaux nécessitant une +base HFSQL réelle, qui plantent le processus hôte sans base). + +Le total actuel avec ce filtre est **1683** (0 échec), soit **+19 tests** par +rapport au compte rendu précédent (1664) : ces 19 tests sont les nouveaux tests +ajoutés pour la connexion Sync (`SyncConnectionOptionsValidatorTests` : 9 tests, +`SyncOleDbConnectionTests` : 10 tests). + +La différence entre 1675 (référence historique) et 1664 (compte rendu précédent) +provient de l'évolution du codebase entre les deux comptes rendus (tests ajoutés / +supprimés). Le point essentiel est maintenu : **0 échec** sur l'ensemble des tests +non environnementaux. + +## PROCHAINES ÉTAPES (LECTURE SEULE D'ABORD) + +Avant toute écriture, prouver en lecture seule : + +- connexion ouverte ; +- tables accessibles (`TOSRV`, `MobReception`, `MobLog`) ; +- colonnes réellement présentes ; +- opération connue / inconnue ; +- état terminal / en attente ; +- mapping JSON cohérent. + +**STOP** si le modèle physique diffère des hypothèses du repository actuel. Dans +ce cas fournir : table réelle, colonne réelle, modèle attendu, divergence, +adaptation minimale proposée. + +--- + +## ✅ TOPOLOGIE MULTI-CONNEXION — IMPLÉMENTÉE + +> **Ce lot a été implémenté.** Les probes de lecture réels (via OLEDB +> `PCSOFT.HFSQL`) ont révélé que la topologie physique des tables de +> synchronisation **répartit** les tables sur **deux bases distinctes**. Le +> `SyncTransferRepository` a été adapté pour utiliser **deux connexions +> explicites**. Aucune écriture HFSQL réelle n'a été effectuée pendant ce lot. + +### Topologie réelle des tables de synchronisation + +| Table | Base réelle | Connexion utilisée | +|-------|-------------|--------------------| +| `TOSRV` | **`BATIK.01_BLS`** (base Service) | `IServiceHfSqlConnection` | +| `MobReception` | **base métier WebService** | `IWebServiceHfSqlConnection` | +| `MobLog` | **base métier WebService** | `IWebServiceHfSqlConnection` | + +### Architecture multi-connexion retenue + +Le `SyncTransferRepository` reçoit désormais **deux connexions explicites** dans +son constructeur : + +```csharp +public SyncTransferRepository( + IServiceHfSqlConnection serviceConnection, // base Service → TOSRV + IWebServiceHfSqlConnection webServiceConnection) // base WebService → MobReception, MobLog +``` + +- `IServiceHfSqlConnection` : wrapper léger autour de la connexion OLE DB nommée + `"Service"` (base Service, table `TOSRV`). Enregistrée par + `AddOmikaDataServiceConnection()`. +- `IWebServiceHfSqlConnection` : wrapper léger autour de la connexion métier ODBC + par défaut (base WebService/Business, tables `MobReception` et `MobLog`). + Enregistrée par `AddOmikaData()`. + +### Routage des opérations + +| Opération | Table | Connexion | +|-----------|-------|-----------| +| `InsertToSrvAsync` | `TOSRV` | Service | +| `GetStatusAsync` (TOSRV) | `TOSRV` | Service | +| `GetStatusAsync` (MobReception/MobLog) | `MobReception`/`MobLog` | WebService | +| `GetTerminalResultAsync` | `MobLog` | WebService | +| `WriteLogAsync` | `MobLog` | WebService | +| `PurgeLogsAsync` | `MobLog` | WebService | +| `TransferToReceptionAsync` (lecture) | `TOSRV` | Service | +| `TransferToReceptionAsync` (insertion) | `MobReception` | WebService | +| `TransferToReceptionAsync` (suppression) | `TOSRV` | Service | +| `GetPendingOperationsAsync` | `MobReception` | WebService | +| `MarkSuccessAsync` | `MobReception`/`MobLog` | WebService | +| `MarkRejectedAsync` | `MobReception`/`MobLog` | WebService | +| `IncrementRetryAsync` | `MobReception` | WebService | + +### Atomicité inter-base (TransferToReception) + +Le transfert `TOSRV → MobReception → suppression TOSRV` traverse **deux bases +physiques**. Aucune transaction distribuée (DTC) n'est utilisée. L'atomicité est +garantie au niveau **logique** par : + +1. **Ordre** : lecture TOSRV → insertion MobReception → suppression TOSRV. +2. **Idempotence par OperationId** : si l'opération existe déjà dans MobReception + ou est déjà terminale dans MobLog, on ne recrée pas MobReception (on nettoie + TOSRV). +3. **Non-perte** : si l'insertion MobReception échoue, TOSRV n'est **pas** + supprimé (l'opération reste dans la file Service pour un prochain cycle). + +### Rôle restant de la connexion Sync + +`AddOmikaDataSyncConnection()` est **obsolète** : elle ne branche plus +`ISyncTransferRepository`. Elle est conservée pour la compatibilité de +configuration (section `SyncConnection`) et pour les outils de diagnostic. Sa +suppression est proposée une fois toutes les références migrées. + +> **Aucune modification du schéma HFSQL n'a été effectuée.** Aucune table n'a été +> créée, modifiée ou supprimée. Aucune donnée n'a été écrite. + + + diff --git a/docs/LOT_SYNC_WORKER.md b/docs/LOT_SYNC_WORKER.md new file mode 100644 index 0000000..e69a813 --- /dev/null +++ b/docs/LOT_SYNC_WORKER.md @@ -0,0 +1,300 @@ +# LOT SERVEUR — Worker de Synchronisation (Omika.Worker) + +## 1. Décision de conception + +Le projet **`src/Omika.Worker/`** est le **nom officiel** du service de +synchronisation serveur dans cette solution. Il est **réutilisé tel quel** : +aucun nouveau projet `Omika.Sync.Worker` n'est créé, aucun renommage, aucun +déplacement, aucune duplication de `SyncProcessor`, `SyncWorker` ou des +handlers. + +Le projet existant satisfait déjà le rôle attendu d'un .NET Worker Service +séparé de `Omika.Api`. + +## 2. Rôle + +`Omika.Worker` est un **BackgroundService** qui traite les opérations de +synchronisation mobile reçues par l'infrastructure serveur. Il est **séparé** +de l'API : l'API reçoit les opérations et les écrit dans la file de transfert +(`TOSRV`) ; le Worker les transfère vers la file de réception (`MobReception`), +les applique via les handlers métier, et journalise le résultat dans `MobLog`. + +## 3. Architecture + +``` +API (SyncOperationService.ReceiveAsync) + → InsertToSrvAsync() → écrit dans TOSRV +Worker (SyncWorker → SyncProcessor.ProcessAsync) + → TransferToReceptionAsync() → TOSRV → MobReception + → GetPendingOperationsAsync() → lit MobReception + → Handler (Intervention / Default) → applique l'opération + → MarkSuccessAsync / MarkRejectedAsync / IncrementRetryAsync → MobLog +``` + +### Chaîne TOSRV → MobReception + +Le transfert **TOSRV → MobReception** est **déjà géré** par +`SyncTransferRepository.TransferToReceptionAsync()`, appelé par +`SyncProcessor.ProcessAsync()` (première étape de chaque cycle). **Aucun +chaînon manquant** : la chaîne est complète. + +- **Qui écrit dans TOSRV** : `SyncOperationService.ReceiveAsync()` (côté API) + via `ISyncTransferRepository.InsertToSrvAsync()`. +- **Ce que lit SyncProcessor** : les opérations en attente dans `MobReception` + via `GetPendingOperationsAsync()`. +- **MobReception n'est jamais vide** : il est alimenté par le transfert + TOSRV → MobReception à chaque cycle. + +## 4. Program.cs / DI + +`Program.cs` enregistre : + +| Service | Lifetime | Connexion | +|---|---|---| +| `AddOmikaData()` | — | Business (ODBC métier) + WebService | +| `AddOmikaDataServiceConnection()` | — | **Service** (OLEDB, TOSRV) | +| `SyncOptions` (section `Sync`) | Options | — | +| `DefaultSyncOperationHandler` | Scoped | — | +| `IMobileEntityIdentityResolver` | Singleton | — | +| `InterventionSyncOperationHandler` | Scoped | Business | +| `SyncOperationHandlerRegistry` | Scoped | — | +| `SyncProcessor` | Scoped | — | +| `SyncWorker` (HostedService) | Singleton | — | + +### Topologie multi-connexion + +Le `ISyncTransferRepository` est désormais **multi-connexion** : il reçoit deux +connexions explicites via le DI. + +- `IServiceHfSqlConnection` (enregistrée par `AddOmikaDataServiceConnection()`) : + base Service, table `TOSRV`. +- `IWebServiceHfSqlConnection` (enregistrée par `AddOmikaData()`) : base + WebService/Business, tables `MobReception` et `MobLog`. + +Le Worker reçoit via DI le repository multi-connexion. Il ne recrée **aucune** +logique TOSRV/MobReception : il délègue entièrement à `SyncProcessor` → +`ISyncTransferRepository`. + +## 5. Connexion Service / WebService + +La connexion **Service** est configurée dans la section `ServiceConnection` +(`ServiceConnectionOptions`), via le provider OLEDB `PCSOFT.HFSQL`. Elle est +enregistrée comme `IHfsqlConnection` nommée `"Service"` et exposée via le +wrapper `IServiceHfSqlConnection`. Elle héberge la table `TOSRV`. + +La connexion **WebService/Business** est la connexion métier ODBC par défaut +(`HfsqlOptions`), exposée via le wrapper `IWebServiceHfSqlConnection`. Elle +héberge les tables `MobReception` et `MobLog` ainsi que les données métier. + +`ISyncTransferRepository` est branché sur ces **deux** connexions explicites. + + +## 6. Connexion Business + +La connexion **Business** (base métier Batik/Omika) est configurée dans la +section `Hfsql` (`HfsqlOptions`), via le driver ODBC HFSQL. Les services métier +(`IInterventionService`, etc.) et les repositories adaptatifs Batik/Omika +restent sur cette connexion. + +## 7. Rôle TOSRV + +`TOSRV` est la file de transfert **mobile → serveur**. L'API y écrit les +opérations reçues via `InsertToSrvAsync()`. Le Worker les transfère ensuite +vers `MobReception`. + +## 8. Rôle MobReception + +`MobReception` est la file de réception **serveur**. `SyncProcessor` y lit les +opérations en attente de traitement via `GetPendingOperationsAsync()`. + +## 9. Rôle MobLog + +`MobLog` est le journal terminal de synchronisation. `SyncProcessor` y écrit +les résultats terminaux (`SUCCESS` / `REJECTED`) et les tentatives +(`IncrementRetryAsync`). Le Worker purge périodiquement les journaux terminaux +au-delà de la rétention configurée (`LogRetentionDays`). + +## 10. SyncProcessor + +`SyncProcessor` est la logique de traitement testable, réutilisée telle quelle. +`SyncWorker` (le BackgroundService) délègue entièrement à `SyncProcessor` : +il ne contient **aucun SQL métier**. Le BackgroundService gère uniquement la +boucle, le `CancellationToken`, l'intervalle de polling et la gestion des +erreurs de cycle. + +## 11. SyncWorker + +`SyncWorker` est le `BackgroundService` qui orchestre les cycles : + +- boucle tant que le `CancellationToken` n'est pas annulé ; +- à chaque cycle : `SyncProcessor.ProcessAsync()` puis purge légère de `MobLog` ; +- délai entre deux cycles : `SyncOptions.RetryDelaySeconds` (configurable) ; +- arrêt propre sur annulation. + +## 12. Polling + +L'intervalle de polling est **configurable** via la section `Sync` +(`SyncOptions.RetryDelaySeconds`, défaut 120 s). Aucun refactoring nécessaire : +le Worker utilise déjà cette option comme intervalle de cycle. + +## 13. CancellationToken + +Le `CancellationToken` est passé à `SyncProcessor.ProcessAsync()` et à la purge. +Une annulation pendant le délai lève `OperationCanceledException`, capturée et +transformée en arrêt propre (`break`). + +## 14. Gestion des erreurs + +Une exception de cycle est capturée par `SyncWorker` (log d'erreur) et le cycle +suivant reprend normalement : **pas de boucle agressive**, le délai est +respecté entre les cycles. + +## 15. Retries / max 30 + +`SyncOptions.MaxRetryCount` (défaut **30**) borne le nombre de tentatives. +`SyncProcessor` incrémente `RetryCount` à chaque échec transitoire +(`TRANSIENT_FAILURE`). Au-delà du max, l'opération est **REJECTED** (terminal). +Un échec définitif (`PERMANENT_FAILURE`) est rejeté immédiatement sans +consommer les 30 retries. **Aucun retry infini** n'est réintroduit. + +## 16. OperationId + +`OperationId` est conservé tout au long du cycle et sert à l'idempotence : un +doublon d'`OperationId` (déjà `SUCCESS` ou `REJECTED`) n'est pas réappliqué par +le handler. + +## 17. RequestedEntityGuid / CanonicalEntityGuid + +Le handler Intervention retourne `RequestedEntityGuid` (GUID mobile) et +`CanonicalEntityGuid` (GUID canonique stable) lorsqu'ils diffèrent. Le log +terminal reconstitué conserve le `CanonicalEntityGuid` d'origine pour +l'idempotence par `OperationId`. La réconciliation CREATE est gérée par le +handler (vérification d'existence avant recréation). + +## 18. Handlers + +Handlers actuellement enregistrés : + +- **Intervention** (`InterventionSyncOperationHandler`) : CREATE, UPDATE, + ARCHIVE. +- **DELETE** : non supporté → `PERMANENT_FAILURE` (archivage logique uniquement). +- **Autres EntityTypes sans handler** : `DefaultSyncOperationHandler` → + `PERMANENT_FAILURE` / `NO_HANDLER` (jamais de faux SUCCESS). + +Aucun nouveau handler n'est créé dans ce lot. + +## 19. Concurrence / claim + +**VERSION ACTUELLE : UN SEUL `Omika.Worker` actif par file Sync.** Le +repository/processor ne possède pas de mécanisme fiable de claim. Aucun verrou +HFSQL improvisé n'est créé. La concurrence multi-instance est documentée comme +limite restante (futur lot de déploiement). + +## 20. Nombre de Workers autorisé actuellement + +**Un seul** `Omika.Worker` actif par file Sync (pas de claim distribué). + +## 21. Fonctionnement console + +`Omika.Worker` est un exécutable .NET Worker Service : il fonctionne en +**console** via `dotnet run` / l'exécutable produit. Le `Host.CreateApplicationBuilder` +fournit le support console standard. + +## 22. Support Windows Service + +Le Host .NET standard (`Host.CreateApplicationBuilder`) est compatible avec +l'hébergement Windows Service via `UseWindowsService()`. Ce support n'est pas +encore activé dans `Program.cs` : il est documenté comme **futur lot de +déploiement** (aucune restructuration nécessaire pour l'ajouter). + +## 23. Configuration / secrets + +Le Worker dispose des sections nécessaires dans `appsettings.json` : + +- `Hfsql` (Business / WebService) ; +- `ServiceConnection` (Service, table `TOSRV`) ; +- `Sync` (options : MaxRetryCount, RetryDelaySeconds, LogRetentionDays) ; +- `Omika` (DatabaseVersion) ; +- `Logging`. + +Aucun secret n'est versionné : les valeurs de connexion sont des exemples non +sensibles, à surcharger par la configuration d'installation (variables +d'environnement / secrets). Aucune nouvelle convention de secrets n'est créée. + +## 24. Fichiers réellement modifiés + +- `src/Omika.Worker/Program.cs` : ajout de `AddOmikaDataServiceConnection()` + (connexion Service pour TOSRV) en plus de `AddOmikaData()` (WebService pour + MobReception/MobLog). +- `src/Omika.Worker/appsettings.json` : **créé** (configuration Worker). +- `tests/Omika.Tests/Mobile/SyncWorkerTests.cs` : **créé** (tests du + BackgroundService). + + +## 25. Tests ajoutés / modifiés + +- **Créé** : `tests/Omika.Tests/Mobile/SyncWorkerTests.cs` (5 tests) : + 1. Worker appelle SyncProcessor et s'arrête sur annulation ; + 2. absence de travail ne crée pas de boucle CPU ; + 3. exception de cycle ne provoque pas de boucle agressive ; + 4. intervalle de polling configurable respecté ; + 5. arrêt propre sur annulation. + +Aucun test existant n'est dupliqué (`SyncProcessorTests`, +`InterventionSyncOperationHandlerTests` déjà présents). + +## 26. Tests Worker + +`SyncWorkerTests` : **5/5** (fakes/mocks, aucune base HFSQL réelle requise). + +## 27. Tests Mobile + +Référence : **506/506** (à confirmer après validation). + +## 28. Suite unitaire + +Référence : **1683/1683** hors HFSQL environnemental (à confirmer après +validation). + +## 29. Build solution + +Référence : **VERT** (à confirmer après validation). + +## 30. Build Worker + +`Omika.Worker` : **VERT**. + +## 31. Build Android + +Référence : **VERT** (à confirmer après validation). + +## 32. Test HFSQL réel + +**Non effectué** dans ce lot : les tests unitaires du Worker utilisent des +fakes/mocks. Les tests HFSQL réels restent environnementaux (nécessitent un +serveur HFSQL de test). Une absence de serveur HFSQL de test ne constitue pas +un échec unitaire. + +## 33. Documentation + +- `docs/LOT_SYNC_WORKER.md` (ce document). + +## 34. Limites restantes + +- **Concurrence** : un seul Worker actif par file Sync (pas de claim distribué). +- **Windows Service** : support non activé (futur lot de déploiement). +- **Test HFSQL réel** : non effectué (environnemental). +- **Handlers** : seul Intervention est branché ; les autres EntityTypes passent + par le fallback `NO_HANDLER`. + +## 35. Confirmation aucun schéma HFSQL modifié + +**Aucun schéma HFSQL n'est modifié** : aucune création/suppression de table, +aucune modification de colonne. Le Worker lit/écrit dans les tables techniques +existantes (TOSRV, MobReception, MobLog) via le repository existant. + +## 36. Confirmation aucun protocole historique réintroduit + +**Aucun protocole historique n'est réintroduit** : ni `CB_Ajout_TOSRV`, ni le +protocole WINDEV historique. Le transfert TOSRV → MobReception est assuré par +le repository moderne (`SyncTransferRepository.TransferToReceptionAsync`). diff --git a/docs/LancementLocalDiagnostics.docx b/docs/LancementLocalDiagnostics.docx new file mode 100644 index 0000000..f2da5aa Binary files /dev/null and b/docs/LancementLocalDiagnostics.docx differ diff --git a/docs/MISE_A_JOUR_DIAGNOSTICS_SRV-OMIKA.md b/docs/MISE_A_JOUR_DIAGNOSTICS_SRV-OMIKA.md new file mode 100644 index 0000000..ac4e1be --- /dev/null +++ b/docs/MISE_A_JOUR_DIAGNOSTICS_SRV-OMIKA.md @@ -0,0 +1,596 @@ +# Mise à jour production — Omika Diagnostics (SRV-OMIKA) + +> **Objet** : procédure de mise à jour d'une installation déjà existante +> (première version de `DiagnosticsWorker` + `DiagnosticsWeb` déjà déployée) vers la +> nouvelle version (code + base de données). +> +> **Cible** : Windows Server 2025 `SRV-OMIKA`, PowerShell **administrateur**, +> PostgreSQL 18, runtime .NET 10 (framework-dependent). +> +> **Style** : chaque composant suit le même schéma que la documentation Omika.Api +> existante → **Publier → Backup → Arrêter/Mettre à jour → Redémarrer → Vérifier**. + +--- + +## 0. Vue d'ensemble des composants à mettre à jour + +| # | Composant | Projet | Service Windows | Exécutable | Santé | +|---|---|---|---|---|---| +| 1 | API métier/mobile (+ forwarder diagnostics) | `src\Omika.Api` | `OmikaApi` | `Omika.Api.exe` | `GET /health` | +| 2 | Worker de synchronisation métier | `src\Omika.Worker` | `OmikaWorker` | `Omika.Worker.exe` | service `Running` + logs | +| 3 | Import JSONL → PostgreSQL | `src\Omika.Diagnostics.Worker` | `OmikaDiagnosticsWorker` | `Omika.Diagnostics.Worker.exe` | service `Running` + checkpoint | +| 4 | Interface Diagnostic Center | `src\Omika.Diagnostics.Web` | `OmikaDiagnosticsWeb` | `Omika.Diagnostics.Web.exe` | `GET /Login` (200) | +| 5 | API centrale diagnostics *(optionnel, multi-serveur)* | `src\Omika.Diagnostics.Api` | `OmikaDiagnosticsApi` | `Omika.Diagnostics.Api.exe` | `GET /` (200) | +| — | Base PostgreSQL `omika_diagnostics` | `infra\postgresql\*.sql` | — | migrations `001 → 011` | `SELECT count(*)` | + +**Ordre global de la mise à jour** (les étapes 4 à 7 sont détaillées plus bas) : + +``` +1. Publier (poste DEV) §2 +2. Transférer + backup §3 +3. Arrêter les services §4 +4. Migrer la base §5 ← TOUJOURS AVANT les nouveaux binaires +5. Copier les binaires §6 +6. Redémarrer §7 +7. Vérifier §8 +``` + +--- + +## 1. Prérequis + +### Poste DEV +- SDK .NET 10 (`global.json` épingle `10.0.302`). +- Dépôt à jour (`git pull`), branche qui contient les derniers changements. + +### SRV-OMIKA (PowerShell administrateur) +```powershell +net session # doit réussir, sinon STOP (droits) +dotnet --list-runtimes # Microsoft.AspNetCore.App 10.x présent +Get-Service postgresql* # Running +Test-Path 'C:\Program Files\PostgreSQL\18\bin\psql.exe' +Test-Path 'C:\Program Files\PostgreSQL\18\bin\pg_dump.exe' +``` + +--- + +## 2. Publier sur le poste DEV + +Depuis `D:\Avalonia\Omika`, publier les **4 composants réellement utilisés** +sur SRV-OMIKA. Le composant `Omika.Diagnostics.Api` (§6.5) n'est publié que si le +mode multi-serveur (clients distants) est activé. + +> **Script prêt à l'emploi** : `scripts\publish-diagnostics.ps1` effectue +> exactement ceci (publish + vérification des EXE). Lancer depuis la racine : +> `.\scripts\publish-diagnostics.ps1` (ajouter `-IncludeCentralApi` pour l'API +> centrale). Les commandes manuelles équivalentes sont ci-dessous. + +```powershell +cd D:\Avalonia\Omika + +# 1. Omika.Api +dotnet publish src\Omika.Api\Omika.Api.csproj ` + -c Release -r win-x64 --self-contained false ` + -o C:\Omika\Deploy\OmikaApi-next + +# 2. Omika.Worker +dotnet publish src\Omika.Worker\Omika.Worker.csproj ` + -c Release -r win-x64 --self-contained false ` + -o C:\Omika\Deploy\OmikaWorker-next + +# 3. Omika.Diagnostics.Worker (EnableWindowsService=true est le défaut : ne pas le désactiver) +dotnet publish src\Omika.Diagnostics.Worker\Omika.Diagnostics.Worker.csproj ` + -c Release -r win-x64 --self-contained false ` + -o C:\Omika\Deploy\DiagnosticsWorker-next + +# 4. Omika.Diagnostics.Web +dotnet publish src\Omika.Diagnostics.Web\Omika.Diagnostics.Web.csproj ` + -c Release -r win-x64 --self-contained false ` + -o C:\Omika\Deploy\DiagnosticsWeb-next + +# 5. (optionnel) Omika.Diagnostics.Api +dotnet publish src\Omika.Diagnostics.Api\Omika.Diagnostics.Api.csproj ` + -c Release -r win-x64 --self-contained false ` + -o C:\Omika\Deploy\DiagnosticsApi-next +``` + +### Vérification des sorties + +```powershell +Get-ChildItem C:\Omika\Deploy\OmikaApi-next # Omika.Api.exe + Omika.Api.dll + Omika.Core.dll + Omika.Data.dll + Omika.Observability.External.dll +Get-ChildItem C:\Omika\Deploy\OmikaWorker-next # Omika.Worker.exe + Omika.Worker.dll + Omika.Core.dll + Omika.Data.dll + Omika.Observability.External.dll +Get-ChildItem C:\Omika\Deploy\DiagnosticsWorker-next # Omika.Diagnostics.Worker.exe + Omika.Diagnostics.Worker.dll + Omika.Diagnostics.Core.dll + Omika.Diagnostics.Data.dll + Npgsql.dll +Get-ChildItem C:\Omika\Deploy\DiagnosticsWeb-next # Omika.Diagnostics.Web.exe + Omika.Diagnostics.Web.dll + wwwroot\ + Omika.Diagnostics.Core.dll + Omika.Diagnostics.Data.dll + Npgsql.dll +``` + +> ⚠️ Ne jamais livrer de secret Dev en Prod. Vérifier l'absence de valeur de test +> dans les publications, et que le serveur garde **`ASPNETCORE_ENVIRONMENT=Production`**. +> (`appsettings.Development.json`, s'il est présent dans une publication, n'est chargé +> que si l'environnement est `Development` — il ne doit donc jamais l'être sur SRV-OMIKA.) + +Transférer ensuite les dossiers `*-next` vers `SRV-OMIKA` dans +`C:\Omika\Deploy\`. + +--- + +## 3. Backup sur le serveur + +### 3.1 Base PostgreSQL (AVANT toute migration) + +```powershell +$env:PGPASSWORD = '<SECRET_POSTGRES_ADMIN>' +$stamp = Get-Date -Format 'yyyyMMdd_HHmm' +$out = "C:\Omika\Backups\omika_diagnostics_${stamp}_before_upgrade.backup" +& 'C:\Program Files\PostgreSQL\18\bin\pg_dump.exe' ` + -h 127.0.0.1 -p 5432 -U postgres -d omika_diagnostics -F c -v -f $out +Remove-Item Env:PGPASSWORD + +$f = Get-Item $out +$f.Exists -and $f.Length -gt 0 # doit être True, sinon NO-GO +``` + +### 3.2 Binaires (AVANT remplacement) + +```powershell +$stamp = Get-Date -Format 'yyyyMMdd-HHmmss' +$root = 'C:\Omika\Backups' +Copy-Item 'C:\Omika\Apps\OmikaApi' -Destination "$root\OmikaApi_${stamp}" -Recurse -Force +Copy-Item 'C:\Omika\Apps\OmikaWorker' -Destination "$root\OmikaWorker_${stamp}" -Recurse -Force +Copy-Item 'C:\Omika\Apps\DiagnosticsWorker' -Destination "$root\DiagnosticsWorker_${stamp}" -Recurse -Force +Copy-Item 'C:\Omika\Apps\DiagnosticsWeb' -Destination "$root\DiagnosticsWeb_${stamp}" -Recurse -Force +``` + +> Le script `infra\deploy\Install-OmikaServerFiles.ps1` fait déjà cette sauvegarde +> horodatée + copie + préservation de la config, si vous préférez l'automatiser. + +--- + +## 4. Arrêter les services (ordre) + +L'ordre fige d'abord la lecture (Web), puis les écrivains, et draine le Worker en dernier. + +```powershell +Stop-Service OmikaDiagnosticsWeb -Force +Stop-Service OmikaApi -Force +Stop-Service OmikaWorker -Force +Stop-Service OmikaDiagnosticsWorker -Force + +Get-Service OmikaApi,OmikaWorker,OmikaDiagnosticsWorker,OmikaDiagnosticsWeb | Select-Object Name,Status +# Attendu : les 4 = Stopped +``` + +--- + +## 5. Mettre à jour la base de données (migrations) + +### 5.1 Auditer l'état actuel (lecture seule) + +```powershell +$env:PGPASSWORD = '<SECRET_POSTGRES_ADMIN>' +$psql = 'C:\Program Files\PostgreSQL\18\bin\psql.exe' + +& $psql -h 127.0.0.1 -p 5432 -U postgres -d omika_diagnostics -c ` + "SELECT table_name FROM information_schema.tables WHERE table_schema='public' AND table_name LIKE 'diagnostics%' ORDER BY 1;" + +& $psql -h 127.0.0.1 -p 5432 -U postgres -d omika_diagnostics -c ` + "SELECT column_name FROM information_schema.columns WHERE table_name='diagnostic_event' ORDER BY ordinal_position;" + +& $psql -h 127.0.0.1 -p 5432 -U postgres -d omika_diagnostics -c ` + "SELECT rolname FROM pg_roles ORDER BY rolname;" + +Remove-Item Env:PGPASSWORD +``` + +Cela permet de déterminer **quelles migrations sont déjà appliquées** : + +| Repère observé | Migration déjà appliquée | +|---|---| +| `diagnostic_event` présent | `001` | +| colonnes `actor_key` / `actor_key_version` | `002` | +| rôles `omika_diagnostics_owner/worker/web` | `003` | +| `SELECT`+`DELETE` worker sur `diagnostic_event` | `004` | +| colonnes `client_code`/`server_instance`/`environment` | `005` | +| colonnes appareil/licence | `006` | +| colonnes `screen_code`/`feature_code` | `007` | +| table `diagnostics_clients` | `008` | +| rôle `omika_diagnostics_api` + grants clients | `009` | +| table `diagnostics_users` | `010` | +| table `diagnostics_reference` | `011` | + +### 5.2 Appliquer UNIQUEMENT les migrations manquantes, dans l'ordre + +Migrations `001 → 011`, toutes **idempotentes** (`CREATE/ADD IF NOT EXISTS`, +`ON CONFLICT DO NOTHING`, `GRANT`). Les appliquer avec `ON_ERROR_STOP=1`, en +compte **superuser** (`postgres`), car `003/009/010/011` font du `CREATE ROLE` / +`ALTER TABLE OWNER` / `GRANT`. + +```powershell +$env:PGPASSWORD = '<SECRET_POSTGRES_ADMIN>' +$psql = 'C:\Program Files\PostgreSQL\18\bin\psql.exe' +$db = 'C:\Omika\Deploy\DiagnosticsDatabase' # dossier contenant les .sql livrés + +$migrations = @( + '001_diagnostics_schema.sql', + '002_actor_key.sql', + '003_diagnostics_roles.sql', + '004_diagnostics_retention.sql', + '005_diagnostics_client_context.sql', + '006_diagnostics_device_license.sql', + '007_diagnostics_usage.sql', + '008_diagnostics_clients.sql', + '009_diagnostics_clients_grants.sql', + '010_diagnostics_web_users.sql', + '011_diagnostics_reference.sql' +) + +foreach ($m in $migrations) { + $f = Join-Path $db $m + if (-not (Test-Path $f)) { Write-Host "ABSENT : $m" ; continue } + Write-Host "Application : $m ..." + & $psql -h 127.0.0.1 -p 5432 -U postgres -d omika_diagnostics -v ON_ERROR_STOP=1 -f $f + if ($LASTEXITCODE -ne 0) { throw "ÉCHEC sur $m (exit $LASTEXITCODE). STOP." } +} +Remove-Item Env:PGPASSWORD +``` + +> **Règle d'ordre migration ↔ binaires** : les migrations doivent être appliquées +> **AVANT** la copie des nouveaux binaires (§6). Les colonnes/tables ajoutées sont +> additives ; les anciens binaires restent compatibles, mais les nouveaux binaires +> échoueraient sur un schéma trop ancien. + +### 5.3 Ce qui est nouveau dans cette mise à jour + +- **`011_diagnostics_reference.sql`** (dernière livraison) : table + `diagnostics_reference` (référentiel administrable `ScreenCode`/`FeatureCode`), + ownership `omika_diagnostics_owner`, grants `omika_diagnostics_web` + (`SELECT`/`INSERT`/`UPDATE` colonnes ciblées + `USAGE` séquence), et **seed + idempotent** des 29 `ScreenCode` + 3 `FeatureCode`. Aucun droit accordé aux rôles + `omika_diagnostics_api` / `omika_diagnostics_worker`. +- `003_diagnostics_roles_preprod.sql` ne concerne **que** la préproduction : ne + **jamais** l'appliquer en Production. + +### 5.4 Après `003` / `009` (rôles LOGIN) — mots de passe manuels + +Les rôles LOGIN créés sans mot de passe doivent être positionnés manuellement, +jamais dans un script/log : + +``` +\password omika_diagnostics_worker +\password omika_diagnostics_web +\password omika_diagnostics_api # seulement si l'API centrale est activée +``` + +--- + +## 6. Mettre à jour chaque composant + +Pour chaque composant, la copie **préserve** la configuration serveur existante +(secrets) : on exclut `appsettings.json` et `appsettings.Production.json`. + +> ⚠️ Ne **jamais** supprimer : +> - `C:\Omika\Data\Api\Diagnostics\Jsonl\**` (JSONL en attente d'import) +> - `C:\Omika\Data\DiagnosticsWorker\Checkpoint\import-checkpoint.json` +> - `C:\Omika\Config\**`, les certificats TLS, les variables d'environnement MACHINE. + +### 6.1 Omika.Api (service `OmikaApi`) + +```powershell +# Backup : déjà fait §3.2. Puis copie : +robocopy 'C:\Omika\Deploy\OmikaApi-next' 'C:\Omika\Apps\OmikaApi' ` + /E /XF appsettings.json appsettings.Production.json +``` + +Fichiers attendus après copie : `Omika.Api.exe`, `Omika.Api.dll`, `Omika.Core.dll`, +`Omika.Data.dll`, `Omika.Observability.External.dll`. + +Configuration Production à conserver (injectée sur le serveur) : +`MobileAuth__SigningKey` (obligatoire, fail-fast), `DiagnosticsIdentity__HmacKey`, +`ConnectionStrings__*` HFSQL / licence / sync, `Observability__Remote__Directory` +(doit être **identique** au dossier JSONL lu par le Worker), et si le forwarding +central est actif : `DiagnosticsForwarding__Enabled/Endpoint/ApiKey`. +(Voir la table complète §6.6.) + +Redémarrage et contrôle (port Kestrel = celui défini dans +`appsettings.Production.json`, ex. `5080`) : + +```powershell +Start-Service OmikaApi +Get-Service OmikaApi # Running +Invoke-WebRequest 'http://127.0.0.1:5080/health' -UseBasicParsing +Invoke-WebRequest 'https://omika.applilogik.fr/health' -UseBasicParsing +# Attendu : 200 + "Healthy" +``` + +### 6.2 Omika.Worker (service `OmikaWorker`) + +```powershell +robocopy 'C:\Omika\Deploy\OmikaWorker-next' 'C:\Omika\Apps\OmikaWorker' ` + /E /XF appsettings.json appsettings.Production.json +``` + +Fichiers attendus : `Omika.Worker.exe`, `Omika.Worker.dll`, `Omika.Core.dll`, +`Omika.Data.dll`, `Omika.Observability.External.dll`. + +Pas de port HTTP (background service) : contrôle = service `Running` + absence de +boucle d'erreur dans les logs (`C:\Omika\Logs\Worker`). + +```powershell +Start-Service OmikaWorker +Get-Service OmikaWorker # Running +Get-EventLog -LogName Application -Newest 50 | Where-Object { $_.Source -match 'Omika' } +``` + +### 6.3 Omika.Diagnostics.Worker (service `OmikaDiagnosticsWorker`) + +```powershell +robocopy 'C:\Omika\Deploy\DiagnosticsWorker-next' 'C:\Omika\Apps\DiagnosticsWorker' ` + /E /XF appsettings.json appsettings.Production.json +``` + +Fichiers attendus : `Omika.Diagnostics.Worker.exe`, `Omika.Diagnostics.Worker.dll`, +`Omika.Diagnostics.Core.dll`, `Omika.Diagnostics.Data.dll`, `Npgsql.dll`. + +Configuration Production à conserver : +`ConnectionStrings__DiagnosticsDatabase` +(`Host=127.0.0.1;Port=5432;Database=omika_diagnostics;Username=omika_diagnostics_worker;Password=…`), +`Observability__Remote__Directory` (**identique** au dossier JSONL d'Omika.Api), +`Diagnostics__Import__CheckpointDirectory/CheckpointFileName`, `Diagnostics__RetentionDays`. +(Voir la table complète §6.6.) + +```powershell +Start-Service OmikaDiagnosticsWorker +Get-Service OmikaDiagnosticsWorker # Running +Get-Content 'C:\Omika\Data\DiagnosticsWorker\Checkpoint\import-checkpoint.json' +# Attendu : checkpoint stable ou progressant ; aucun JSONL supprimé. +``` + +### 6.4 Omika.Diagnostics.Web (service `OmikaDiagnosticsWeb`) + +```powershell +robocopy 'C:\Omika\Deploy\DiagnosticsWeb-next' 'C:\Omika\Apps\DiagnosticsWeb' ` + /E /XF appsettings.json appsettings.Production.json +``` + +Fichiers attendus : `Omika.Diagnostics.Web.exe`, `Omika.Diagnostics.Web.dll`, +`wwwroot\`, `Omika.Diagnostics.Core.dll`, `Omika.Diagnostics.Data.dll`, `Npgsql.dll`. + +Configuration Production à conserver : +`ConnectionStrings__DiagnosticsDatabase` +(`…Username=omika_diagnostics_web;Password=…`), `DiagnosticsAuth__Operators` +(bootstrap temporaire uniquement), `ASPNETCORE_ENVIRONMENT=Production`. +(Voir la table complète §6.6.) + +Contrôle (port Kestrel = celui de `appsettings.Production.json`) : + +```powershell +Start-Service OmikaDiagnosticsWeb +Get-Service OmikaDiagnosticsWeb # Running +Invoke-WebRequest 'http://127.0.0.1:<PORT_WEB_DIAG>/Login' -UseBasicParsing # 200 +``` + +> Le Web n'expose pas de `/health` : la page `/Login` (200) est le smoke test. +> Le reste est derrière authentification (redirect `/Login`). + +### 6.5 Omika.Diagnostics.Api (service `OmikaDiagnosticsApi`) — **optionnel** + +À déployer **uniquement** si vous activez la réception de lots provenant de +**serveurs clients distants**. Sur un SRV-OMIKA mono-serveur (Omika.Api écrit le +JSONL localement), ce composant n'est **pas** nécessaire. + +```powershell +robocopy 'C:\Omika\Deploy\DiagnosticsApi-next' 'C:\Omika\Apps\DiagnosticsApi' ` + /E /XF appsettings.json appsettings.Production.json +``` + +Fichiers attendus : `Omika.Diagnostics.Api.exe`, `Omika.Diagnostics.Api.dll`, +`Omika.Core.dll`, `Omika.Diagnostics.Core.dll`, `Omika.Diagnostics.Data.dll`. + +Configuration Production à conserver : +`ConnectionStrings__DiagnosticsDatabase` (`Username=omika_diagnostics_api`), +`Diagnostics__Central__Directory` (= spool central, ex. +`C:\ProgramData\Omika\Diagnostics\Central`). + +```powershell +Start-Service OmikaDiagnosticsApi +Get-Service OmikaDiagnosticsApi # Running +Invoke-WebRequest 'http://127.0.0.1:<PORT_API_DIAG>/' -UseBasicParsing +# Attendu : 200 + JSON { name: "Omika.Diagnostics.Api", status: "ok" } +``` + +### 6.6 Référence — variables d'environnement / clés de configuration par service + +**Règle de nommage** : en variable d'environnement, `:` devient `__` +(`Diagnostics:Import:CheckpointDirectory` ⇔ `Diagnostics__Import__CheckpointDirectory`). +**Précédence** : `ConnectionStrings:DiagnosticsDatabase` (env +`ConnectionStrings__DiagnosticsDatabase`) **prime** sur `Diagnostics:ConnectionString`. +Toute modification de variable d'environnement d'un service Windows nécessite un +**redémarrage du service** pour être prise en compte. + +#### Omika.Api (service `OmikaApi`) + +| Variable d'environnement | Clé de configuration | Rôle | +|---|---|---| +| `ASPNETCORE_ENVIRONMENT` | — | `Production` obligatoire | +| `MobileAuth__SigningKey` | `MobileAuth:SigningKey` | clé de signature tokens mobile (**fail-fast** en Prod) | +| `DiagnosticsIdentity__HmacKey` | `DiagnosticsIdentity:HmacKey` | clé HMAC ActorKey/DeviceKey (≥ 256 bits Base64) | +| `DiagnosticDeployment__ClientCode` | `DiagnosticDeployment:ClientCode` | override CodeClient (sinon fallback HFSQL) | +| `DiagnosticDeployment__ServerInstanceId` | `DiagnosticDeployment:ServerInstanceId` | id d'instance (sinon `MachineName`) | +| `Observability__Remote__Directory` | `Observability:Remote:Directory` | dossier JSONL (**identique** au Worker) | +| `DiagnosticsForwarding__Enabled` | `DiagnosticsForwarding:Enabled` | kill switch du forwarder central (`true`/`false`) | +| `DiagnosticsForwarding__Endpoint` | `DiagnosticsForwarding:Endpoint` | URL centrale **HTTPS** (si forwarding actif) | +| `DiagnosticsForwarding__ApiKey` | `DiagnosticsForwarding:ApiKey` | clé d'accès centrale (**secret**) | +| `LicenseConnection__*` / `SyncConnection__*` / HFSQL | — | secrets HFSQL existants (non touchés) | + +#### Omika.Worker (service `OmikaWorker`) + +| Variable d'environnement | Clé de configuration | Rôle | +|---|---|---| +| `ASPNETCORE_ENVIRONMENT` | — | `Production` obligatoire | +| `DiagnosticDeployment__ClientCode` | `DiagnosticDeployment:ClientCode` | idem Omika.Api | +| `DiagnosticDeployment__ServerInstanceId` | `DiagnosticDeployment:ServerInstanceId` | idem Omika.Api | +| `SyncConnection__*` / HFSQL | — | secrets HFSQL existants (non touchés) | + +#### Omika.Diagnostics.Worker (service `OmikaDiagnosticsWorker`) + +| Variable d'environnement | Clé de configuration | Défaut | Rôle | +|---|---|---|---| +| `ConnectionStrings__DiagnosticsDatabase` | `ConnectionStrings:DiagnosticsDatabase` | — | Npgsql `Username=omika_diagnostics_worker` (prime sur ci-dessous) | +| `Diagnostics__ConnectionString` | `Diagnostics:ConnectionString` | `""` | fallback si `ConnectionStrings` absent | +| `Observability__Remote__Directory` | `Observability:Remote:Directory` | `""` | dossier JSONL (**identique** à Omika.Api) | +| `Diagnostics__Import__CheckpointDirectory` | `Diagnostics:Import:CheckpointDirectory` | `""` | dossier checkpoint (sinon = dossier source) | +| `Diagnostics__Import__CheckpointFileName` | `Diagnostics:Import:CheckpointFileName` | `import-checkpoint.json` | nom du checkpoint | +| `Diagnostics__Import__BatchSize` | `Diagnostics:Import:BatchSize` | `100` | taille de lot d'insertion (borné 1..200) | +| `Diagnostics__RetentionDays` | `Diagnostics:RetentionDays` | `60` | rétention en jours (`<=0` = purge désactivée) | +| `Diagnostics__RetentionIntervalHours` | `Diagnostics:RetentionIntervalHours` | `24` | fréquence de purge | +| `Diagnostics__RetentionBatchSize` | `Diagnostics:RetentionBatchSize` | `1000` | lot de suppression (borné) | +| `Diagnostics__CommandTimeoutSeconds` | `Diagnostics:CommandTimeoutSeconds` | `10` | timeout court des commandes | + +#### Omika.Diagnostics.Web (service `OmikaDiagnosticsWeb`) + +| Variable d'environnement | Clé de configuration | Rôle | +|---|---|---| +| `ASPNETCORE_ENVIRONMENT` | — | `Production` obligatoire (default-deny) | +| `ConnectionStrings__DiagnosticsDatabase` | `ConnectionStrings:DiagnosticsDatabase` | Npgsql `Username=omika_diagnostics_web` | +| `DiagnosticsAuth__Operators__0__Username` | `DiagnosticsAuth:Operators:0:Username` | opérateur bootstrap (temporaire) | +| `DiagnosticsAuth__Operators__0__PasswordHash` | `DiagnosticsAuth:Operators:0:PasswordHash` | **hash** bootstrap (jamais en clair) | +| `DiagnosticsAuth__Operators__0__Roles__0` | `DiagnosticsAuth:Operators:0:Roles:0` | `Admin` / `Support` | +| `Diagnostics__RetentionDays` | `Diagnostics:RetentionDays` | `60` (affiché dans l'UI) | + +#### Omika.Diagnostics.Api (service `OmikaDiagnosticsApi`) — optionnel + +| Variable d'environnement | Clé de configuration | Défaut | Rôle | +|---|---|---|---| +| `ConnectionStrings__DiagnosticsDatabase` | `ConnectionStrings:DiagnosticsDatabase` | — | Npgsql `Username=omika_diagnostics_api` | +| `Diagnostics__Central__Directory` | `Diagnostics:Central:Directory` | `logs/diagnostics-central` | **spool central** (chemin explicite en Prod) | +| `Diagnostics__Central__MaxRequestBodyBytes` | `Diagnostics:Central:MaxRequestBodyBytes` | `524288` | corps de requête borné | +| `Diagnostics__Central__MaxEventsPerBatch` | `Diagnostics:Central:MaxEventsPerBatch` | `100` | événements max par lot | +| `Diagnostics__Central__SchemaVersion` | `Diagnostics:Central:SchemaVersion` | `1` | version du schéma de transport | + +**Ports Kestrel** : définis par `appsettings.Production.json` de chaque composant +(`Kestrel:Endpoints:Http:Url` ou `ASPNETCORE_URLS`), en HTTP loopback derrière le +reverse proxy Apache (`https://omika.applilogik.fr`). Aucun port n'est codé en dur +dans le binaire. + +--- + +## 7. Redémarrer (ordre) + +Démarrer les **consommateurs avant les producteurs** : + +```powershell +Start-Service OmikaDiagnosticsWorker # 1. importeur (consommateur JSONL) +Start-Service OmikaDiagnosticsWeb # 2. UI (lecture) +Start-Service OmikaWorker # 3. sync métier (producteur #2) +Start-Service OmikaApi # 4. API (producteur #1, dernier) + +Get-Service OmikaApi,OmikaWorker,OmikaDiagnosticsWorker,OmikaDiagnosticsWeb | Select-Object Name,Status +# Attendu : les 4 = Running +``` + +> Si un service passe immédiatement en `Stopped`/`Failed`, ne pas démarrer les +> suivants : diagnostiquer puis rollback si non résolu (§9). + +--- + +## 8. Smoke tests (non destructifs) + +```powershell +# Services +Get-Service OmikaApi,OmikaWorker,OmikaDiagnosticsWorker,OmikaDiagnosticsWeb | Select-Object Name,Status + +# API métier +Invoke-WebRequest 'http://127.0.0.1:5080/health' -UseBasicParsing # 200 "Healthy" + +# Web Diagnostics (Login) +Invoke-WebRequest 'http://127.0.0.1:<PORT_WEB_DIAG>/Login' -UseBasicParsing # 200 +``` + +Contrôles PostgreSQL après redémarrage : + +```sql +SELECT count(*) FROM diagnostic_event; +SELECT max(ingested_at_utc) AS dernier_ingere FROM diagnostic_event; + +-- Référentiel (011) : +SELECT reference_type, count(*) FROM diagnostics_reference GROUP BY reference_type; +-- Attendu : SCREEN_CODE = 29, FEATURE_CODE = 3 +``` + +Dans **Diagnostics.Web** : vérifier Dashboard, Diagnostics, Erreurs, Traces, +Synchronisation, Telemetry, Versions, et **Référentiel** (nouvelle fonctionnalité +`011`) ainsi que `/Clients` et `/Users` (Admin). + +--- + +## 9. Rollback + +### Binaires + +```powershell +Stop-Service OmikaApi,OmikaWorker,OmikaDiagnosticsWorker,OmikaDiagnosticsWeb -Force +$stamp = '<horodatage_du_backup>' # ex. 20261002-160000 + +Remove-Item 'C:\Omika\Apps\OmikaApi' -Recurse -Force +Copy-Item "C:\Omika\Backups\OmikaApi_${stamp}" 'C:\Omika\Apps\OmikaApi' -Recurse -Force +Copy-Item "C:\Omika\Backups\OmikaWorker_${stamp}" 'C:\Omika\Apps\OmikaWorker' -Recurse -Force +Copy-Item "C:\Omika\Backups\DiagnosticsWorker_${stamp}" 'C:\Omika\Apps\DiagnosticsWorker' -Recurse -Force +Copy-Item "C:\Omika\Backups\DiagnosticsWeb_${stamp}" 'C:\Omika\Apps\DiagnosticsWeb' -Recurse -Force + +Start-Service OmikaDiagnosticsWorker +Start-Service OmikaDiagnosticsWeb +Start-Service OmikaWorker +Start-Service OmikaApi +``` + +### Base de données + +**Pas de rollback SQL automatique** : les migrations `001 → 011` sont **additives** +et idempotentes ; les anciens binaires restent compatibles. Ne jamais `DROP` / +`TRUNCATE` / `DELETE`. Restaurer via `pg_restore` (backup §3.1) uniquement sur +décision humaine explicite et en dernier recours : + +```powershell +& 'C:\Program Files\PostgreSQL\18\bin\pg_restore.exe' ` + -h 127.0.0.1 -p 5432 -U postgres -d omika_diagnostics -c ` + 'C:\Omika\Backups\omika_diagnostics_<stamp>_before_upgrade.backup' +``` + +--- + +## 10. Checklist finale + +```text +[ ] Publications DEV : 4 composants générés, EXE/DLL présents, pas de secret Dev +[ ] Transfert vers SRV-OMIKA C:\Omika\Deploy\*-next +[ ] pg_dump terminé + taille > 0 +[ ] Backup binaires (4 dossiers) présent + complet +[ ] Services arrêtés (4 = Stopped) +[ ] Migrations manquantes identifiées puis appliquées dans l'ordre (ON_ERROR_STOP=1) +[ ] 011 (diagnostics_reference) appliquée ; seed 29 + 3 vérifié +[ ] Mots de passe rôles LOGIN posés manuellement (\password) +[ ] appsettings.json / appsettings.Production.json préservés sur les 4 composants +[ ] JSONL + checkpoint intacts (jamais supprimés) +[ ] Redémarrage dans l'ordre (Worker → Web → OmikaWorker → OmikaApi) +[ ] 4 services Running +[ ] /health Omika.Api = 200 "Healthy" ; /Login DiagnosticsWeb = 200 +[ ] Dashboard / Référentiel / Clients / Users fonctionnels +[ ] Rollback prêt (backups binaires + décision DB additive) +``` + +--- + +## Références internes + +- `docs/DEPLOIEMENT_PRODUCTION_DIAGNOSTICS.md` — architecture, ports, comptes, secrets. +- `docs/T15-RUNBOOK-DEPLOIEMENT-PRODUCTION.md` — runbook complet (phases détaillées). +- `scripts/publish-diagnostics.ps1` — publication automatisée des composants (poste DEV). +- `infra/deploy/Install-OmikaServerFiles.ps1` — copie statique + sauvegarde + SHA256. +- `infra/deploy/Omika.Deploy.Common.psm1` — module commun (comptes, ACL contrôlées, services, ports). +- `infra/deploy/Install-Omika<Service>.ps1` — **un script par déploiement** + (`OmikaApi`, `OmikaWorker`, `OmikaDiagnosticsApi`, `OmikaDiagnosticsWorker`, + `OmikaDiagnosticsWeb`, `OmikaLanguesApi`) : idempotents, `-WhatIf`, `-Desinstaller`. +- `infra/deploy/Install-OmikaServices.ps1` — orchestrateur : enchaîne les scripts ci-dessus dans l'ordre. +- `infra/deploy/Test-PortDisponible.ps1` — disponibilité d'un port loopback avant configuration. +- `infra/deploy/Install-DatabaseSchema.ps1` — applique `001`+`002` (schéma). +- `infra/deploy/Harden-DatabaseRoles.ps1` — applique `003` (rôles). +- `infra/postgresql/001…011_diagnostics_*.sql` — migrations PostgreSQL. diff --git a/docs/MISE_EN_PRODUCTION_DIAGNOSTICS_V2.md b/docs/MISE_EN_PRODUCTION_DIAGNOSTICS_V2.md new file mode 100644 index 0000000..21fb9e6 --- /dev/null +++ b/docs/MISE_EN_PRODUCTION_DIAGNOSTICS_V2.md @@ -0,0 +1,515 @@ +# Marche à suivre — Mise en production Omika Diagnostics (V2) + +> **Objet** : procédure **complète et à jour** de mise en production de la chaîne +> Diagnostics, tenant compte du **premier déploiement d'il y a deux semaines** +> (DiagnosticsWorker + DiagnosticsWeb + schéma `001→004/005`) et de tous les +> changements intervenus depuis : **API centrale `Omika.Diagnostics.Api` (T19)**, +> tables `diagnostics_clients`/`diagnostics_users`/`diagnostics_reference`/ +> `diagnostics_tasks`, rétention télémétrie + erreurs non traitées, suppression de +> groupes d'erreurs, etc. +> +> **Cible** : Windows Server 2025 `SRV-OMIKA`, PowerShell **administrateur**, +> PostgreSQL 18, runtime .NET 10 (hébergement). +> +> Ce document **remplace** `MISE_A_JOUR_DIAGNOSTICS_SRV-OMIKA.md` (qui s'arrêtait à +> `011`) et complète `T15-RUNBOOK-DEPLOIEMENT-PRODUCTION.md` (qui s'arrêtait à `005`). + +--- + +## 0. Vue d'ensemble des projets Diagnostics + +| Projet | Rôle | Référence | +|---|---|---| +| `Omika.Diagnostics.Core` | Modèles, abstractions de repository, import JSONL, validation. | — | +| `Omika.Diagnostics.Data` | Persistance Npgsql (pas d'ORM) + DI. | — | +| `Omika.Diagnostics.Worker` | **Service** d'import JSONL → PostgreSQL + rétention (`OmikaDiagnosticsWorker`). | Windows Service | +| `Omika.Diagnostics.Web` | **Service** interface de consultation/admin (`OmikaDiagnosticsWeb`). | Kestrel + service Windows | +| `Omika.Diagnostics.Api` | **Service** API centrale (T19), reçoit les lots des serveurs clients (`OmikaDiagnosticsApi`). | Kestrel + service Windows | +| `Omika.Api` | API métier/mobile **chez le client** : `POST /api/diagnostics` + `ServerDiagnosticMiddleware` + forwarder central. | Windows Service `OmikaApi` | +| `Omika.Worker` | Worker métier (sync) ; émet des diagnostics serveur et forwarde son **propre** spool si hébergé sur un autre serveur que l'API. | Windows Service `OmikaWorker` | +| `Omika.Observability.External` | Pont **optionnel** OpenTelemetry → Collector → SigNoz (hors chaîne Diagnostics). | — | +| `Omika.App*` | App mobile/desktop : outbox SQLite + uploader `POST /api/diagnostics`. | — | + +> ⚠️ `Omika.slnx` **ne référence pas** les projets Diagnostics : on publie chaque +> `.csproj` directement (voir §2). La chaîne Diagnostics est **indépendante** du +> pont OpenTelemetry/SigNoz (`Observability:External`) — ne pas les confondre. + +--- + +## 1. Ce qui a changé depuis le premier déploiement + +1. **Nouveau service** : `OmikaDiagnosticsApi` (`src/Omika.Diagnostics.Api`) — API + centrale multi-serveur. **Non présent** dans le premier déploiement. +2. **Base de données fortement évoluée** : migrations `005 → 016` ajoutées + (contexte client, appareil/licence, usage, registre clients, utilisateurs Web, + référentiel, tâches de traitement, rétention télémétrie/erreurs, DELETE groupe). +3. **Nouvelles tables** : `diagnostics_clients`, `diagnostics_users`, + `diagnostics_reference`, `diagnostics_tasks`. +4. **Nouveaux privilèges** : rôle `omika_diagnostics_api` (009) ; DELETE Web sur + `diagnostics_tasks` (013) et `diagnostic_event` (016) ; SELECT/DELETE worker sur + `telemetry_metric_hourly` (014) ; SELECT colonne-ciblé worker sur + `diagnostics_tasks` (015). +5. **Nouvelles fonctionnalités Web** : `/Clients`, `/Users`, `/Referentiel`, + `/Taches`, boutons « Supprimer » (tâche + groupe d'erreurs). + +--- + +## 2. Prérequis + +### Poste DEV (publication) +```powershell +cd D:\Avalonia\Omika +dotnet --version # SDK 10 (global.json épingle 10.0.302) +git pull # branche à jour +``` + +### SRV-OMIKA (PowerShell administrateur) +```powershell +net session # OK sinon STOP +dotnet --list-runtimes # Microsoft.AspNetCore.App 10.x +Get-Service postgresql* # Running +Test-Path 'C:\Program Files\PostgreSQL\18\bin\psql.exe' +Test-Path 'C:\Program Files\PostgreSQL\18\bin\pg_dump.exe' +``` + +--- + +## 3. Publication (poste DEV) + +> Script prêt : `scripts\publish-diagnostics.ps1` (ajouter `-IncludeCentralApi`). +> Équivalent manuel ci-dessous. + +```powershell +cd D:\Avalonia\Omika + +# 1. Omika.Api (métier + forwarder) +dotnet publish src\Omika.Api\Omika.Api.csproj ` + -c Release -r win-x64 --self-contained false -o C:\Omika\Deploy\OmikaApi-next + +# 2. Omika.Worker (sync métier) +dotnet publish src\Omika.Worker\Omika.Worker.csproj ` + -c Release -r win-x64 --self-contained false -o C:\Omika\Deploy\OmikaWorker-next + +# 3. Omika.Diagnostics.Worker (EnableWindowsService=true = défaut) +dotnet publish src\Omika.Diagnostics.Worker\Omika.Diagnostics.Worker.csproj ` + -c Release -r win-x64 --self-contained false -o C:\Omika\Deploy\DiagnosticsWorker-next + +# 4. Omika.Diagnostics.Web +dotnet publish src\Omika.Diagnostics.Web\Omika.Diagnostics.Web.csproj ` + -c Release -r win-x64 --self-contained false -o C:\Omika\Deploy\DiagnosticsWeb-next + +# 5. Omika.Diagnostics.Api (NOUVEAU — API centrale) +dotnet publish src\Omika.Diagnostics.Api\Omika.Diagnostics.Api.csproj ` + -c Release -r win-x64 --self-contained false -o C:\Omika\Deploy\DiagnosticsApi-next +``` + +**Contrôles** : chaque dossier contient son `.exe` ; `appsettings.Development.json` +absent (ou jamais activé) ; aucun secret Dev dans les publications. + +Transférer ensuite les 5 dossiers `*-next` vers `C:\Omika\Deploy\` sur SRV-OMIKA. + +--- + +## 4. Base de données — inventaire des migrations (`001 → 016`) + +Ordre d'application **strict** sur SRV-OMIKA, en **superuser** (`postgres`), avec +`ON_ERROR_STOP=1`. Toutes sont **idempotentes** et **non destructives**. + +| # | Fichier | Objet | Rôle(s) impacté(s) | +|---|---|---|---| +| 001 | `001_diagnostics_schema.sql` | `diagnostic_event` + `telemetry_metric_hourly` + dédup `event_id` | — | +| 002 | `002_actor_key.sql` | colonnes `actor_key`/`actor_key_version` | — | +| 003 | `003_diagnostics_roles.sql` | rôles `owner`(NOLOGIN)/`worker`/`web` + ownership + grants | worker: INSERT ; web: SELECT | +| 004 | `004_diagnostics_retention.sql` | rétention bornée | worker: +SELECT+DELETE `diagnostic_event` | +| 005 | `005_diagnostics_client_context.sql` | colonnes `client_code`/`server_instance`/`environment` | — | +| 006 | `006_diagnostics_device_license.sql` | colonnes appareil/licence | — | +| 007 | `007_diagnostics_usage.sql` | colonnes `screen_code`/`feature_code` | — | +| 008 | `008_diagnostics_clients.sql` | table `diagnostics_clients` | — | +| 009 | `009_diagnostics_clients_grants.sql` | rôle `omika_diagnostics_api` + grants clients | api: SELECT + UPDATE(last_seen) ; web: SELECT/INSERT/UPDATE | +| 010 | `010_diagnostics_web_users.sql` | table `diagnostics_users` | web: SELECT/INSERT/UPDATE | +| 011 | `011_diagnostics_reference.sql` | table `diagnostics_reference` + seed 29+3 | web: SELECT/INSERT/UPDATE | +| 012 | `012_diagnostics_tasks.sql` | table `diagnostics_tasks` | web: SELECT/INSERT/UPDATE | +| 013 | `013_diagnostics_tasks_delete.sql` | DELETE tâche | web: +DELETE `diagnostics_tasks` | +| 014 | `014_diagnostics_telemetry_retention.sql` | rétention télémétrie (180 j) | worker: +SELECT+DELETE `telemetry_metric_hourly` | +| 015 | `015_diagnostics_retention_untreated.sql` | ne pas purger les erreurs non traitées | worker: +SELECT(2 col.) `diagnostics_tasks` | +| 016 | `016_diagnostics_event_delete.sql` | suppression d'un groupe d'erreurs | web: +DELETE `diagnostic_event` | + +> ⚠️ `003_diagnostics_roles_preprod.sql` concerne **uniquement** la préproduction : +> **ne jamais** l'appliquer en Production. + +### Récapitulatif des privilèges par rôle (après 016) + +| Rôle (LOGIN) | Service | Privilèges | +|---|---|---| +| `omika_diagnostics_worker` | Diagnostics.Worker | `diagnostic_event` INSERT/SELECT/DELETE ; `telemetry_metric_hourly` SELECT/DELETE ; `diagnostics_tasks` SELECT(`group_url_identifier`,`status`) | +| `omika_diagnostics_web` | Diagnostics.Web | `diagnostic_event` SELECT/DELETE ; `diagnostics_clients` SELECT/INSERT/UPDATE(cols) ; `diagnostics_users` SELECT/INSERT/UPDATE(cols) ; `diagnostics_reference` SELECT/INSERT/UPDATE(cols) ; `diagnostics_tasks` SELECT/INSERT/UPDATE(cols)/DELETE | +| `omika_diagnostics_api` | Diagnostics.Api | `diagnostics_clients` SELECT + UPDATE(`last_seen_at_utc`) uniquement | + +--- + +## 5. Marche à suivre détaillée (fenêtre de maintenance) + +### 5.1 Audit (lecture seule) — déterminer les migrations déjà appliquées + +```powershell +$env:PGPASSWORD = '<SECRET_POSTGRES_ADMIN>' +$psql = 'C:\Program Files\PostgreSQL\18\bin\psql.exe' +& $psql -h 127.0.0.1 -p 5432 -U postgres -d omika_diagnostics -c ` + "SELECT table_name FROM information_schema.tables WHERE table_schema='public' AND table_name LIKE 'diagnostic%' ORDER BY 1;" +& $psql -h 127.0.0.1 -p 5432 -U postgres -d omika_diagnostics -c ` + "SELECT column_name FROM information_schema.columns WHERE table_name='diagnostic_event' ORDER BY ordinal_position;" +& $psql -h 127.0.0.1 -p 5432 -U postgres -d omika_diagnostics -c ` + "SELECT rolname FROM pg_roles ORDER BY rolname;" +Remove-Item Env:PGPASSWORD +``` + +Repères : `diagnostic_event`=001 ; `actor_key`=002 ; rôles owner/worker/web=003 ; +`client_code`=005 ; `diagnostics_clients`=008 ; rôle `omika_diagnostics_api`=009 ; +`diagnostics_users`=010 ; `diagnostics_reference`=011 ; `diagnostics_tasks`=012. + +### 5.2 Backup PostgreSQL (AVANT toute migration) + +```powershell +$env:PGPASSWORD = '<SECRET_POSTGRES_ADMIN>' +$stamp = Get-Date -Format 'yyyyMMdd_HHmm' +$out = "C:\Omika\Backups\omika_diagnostics_${stamp}_before_upgrade.backup" +& 'C:\Program Files\PostgreSQL\18\bin\pg_dump.exe' ` + -h 127.0.0.1 -p 5432 -U postgres -d omika_diagnostics -F c -v -f $out +Remove-Item Env:PGPASSWORD +Get-Item $out | Select-Object Name,Length # taille > 0 sinon NO-GO +``` + +### 5.3 Backup des binaires (AVANT remplacement) + +```powershell +$stamp = Get-Date -Format 'yyyyMMdd-HHmmss' +$root = 'C:\Omika\Backups' +Copy-Item 'C:\Omika\Apps\OmikaApi' -Destination "$root\OmikaApi_${stamp}" -Recurse -Force +Copy-Item 'C:\Omika\Apps\OmikaWorker' -Destination "$root\OmikaWorker_${stamp}" -Recurse -Force +Copy-Item 'C:\Omika\Apps\DiagnosticsWorker' -Destination "$root\DiagnosticsWorker_${stamp}" -Recurse -Force +Copy-Item 'C:\Omika\Apps\DiagnosticsWeb' -Destination "$root\DiagnosticsWeb_${stamp}" -Recurse -Force +# DiagnosticsApi : nouveau — backup seulement s'il existe déjà +if (Test-Path 'C:\Omika\Apps\DiagnosticsApi') { Copy-Item 'C:\Omika\Apps\DiagnosticsApi' -Destination "$root\DiagnosticsApi_${stamp}" -Recurse -Force } +``` + +### 5.4 Arrêt des services (ordre : figer la lecture, puis les écrivains) + +```powershell +Stop-Service OmikaDiagnosticsWeb -Force +Stop-Service OmikaApi -Force +Stop-Service OmikaWorker -Force +Stop-Service OmikaDiagnosticsWorker -Force +# OmikaDiagnosticsApi : à arrêter aussi s'il existait déjà +Stop-Service OmikaDiagnosticsApi -Force -ErrorAction SilentlyContinue +Get-Service OmikaApi,OmikaWorker,OmikaDiagnosticsWorker,OmikaDiagnosticsWeb,OmikaDiagnosticsApi | + Select-Object Name,Status +``` + +### 5.5 Migrations (UNIQUEMENT les manquantes, dans l'ordre, TOUJOURS avant les binaires) + +```powershell +$env:PGPASSWORD = '<SECRET_POSTGRES_ADMIN>' +$psql = 'C:\Program Files\PostgreSQL\18\bin\psql.exe' +$db = 'C:\Omika\Deploy\DiagnosticsDatabase' # dossier contenant les .sql livrés + +$migrations = @( + '001_diagnostics_schema.sql','002_actor_key.sql','003_diagnostics_roles.sql', + '004_diagnostics_retention.sql','005_diagnostics_client_context.sql', + '006_diagnostics_device_license.sql','007_diagnostics_usage.sql', + '008_diagnostics_clients.sql','009_diagnostics_clients_grants.sql', + '010_diagnostics_web_users.sql','011_diagnostics_reference.sql', + '012_diagnostics_tasks.sql','013_diagnostics_tasks_delete.sql', + '014_diagnostics_telemetry_retention.sql','015_diagnostics_retention_untreated.sql', + '016_diagnostics_event_delete.sql' +) + +foreach ($m in $migrations) { + $f = Join-Path $db $m + if (-not (Test-Path $f)) { Write-Host "ABSENT : $m" ; continue } + Write-Host "Application : $m ..." + & $psql -h 127.0.0.1 -p 5432 -U postgres -d omika_diagnostics -v ON_ERROR_STOP=1 -f $f + if ($LASTEXITCODE -ne 0) { throw "ÉCHEC sur $m (exit $LASTEXITCODE). STOP." } +} +Remove-Item Env:PGPASSWORD +``` + +> **Règle d'ordre** : migration **avant** binaires (colonnes/tables additives ; +> anciens binaires restent compatibles, l'inverse échouerait). +> Idempotence ⇒ réappliquer une migration déjà en place est un no-op (sauf 003 : +> ne pas rejouer l'ownership inutilement si les rôles existent déjà). + +### 5.6 Mots de passe des rôles LOGIN (manuel, jamais en script/log) + +Après `003`/`009` : +``` +\password omika_diagnostics_worker +\password omika_diagnostics_web +\password omika_diagnostics_api # nouveau rôle (009) — pour DiagnosticsApi +``` + +### 5.7 Copie des binaires (préserve la config serveur existante) + +```powershell +robocopy 'C:\Omika\Deploy\OmikaApi-next' 'C:\Omika\Apps\OmikaApi' /E /XF appsettings.json appsettings.Production.json web.config +robocopy 'C:\Omika\Deploy\OmikaWorker-next' 'C:\Omika\Apps\OmikaWorker' /E /XF appsettings.json appsettings.Production.json web.config +robocopy 'C:\Omika\Deploy\DiagnosticsWorker-next' 'C:\Omika\Apps\DiagnosticsWorker' /E /XF appsettings.json appsettings.Production.json web.config +robocopy 'C:\Omika\Deploy\DiagnosticsWeb-next' 'C:\Omika\Apps\DiagnosticsWeb' /E /XF appsettings.json appsettings.Production.json web.config +robocopy 'C:\Omika\Deploy\DiagnosticsApi-next' 'C:\Omika\Apps\DiagnosticsApi' /E /XF appsettings.json appsettings.Production.json web.config +robocopy 'C:\Omika\Deploy\LanguesApi-next' 'C:\Omika\Apps\LanguesApi' /E /XF appsettings.json appsettings.Production.json web.config +``` + +> Ne **jamais** supprimer : `C:\Omika\Data\Api\Diagnostics\Jsonl\**`, +> `C:\Omika\Data\DiagnosticsWorker\Checkpoint\import-checkpoint.json`, +> `C:\Omika\Config\**`, certificats TLS, variables d'environnement MACHINE. + +### 5.8 Création du service `OmikaDiagnosticsApi` (NOUVEAU) + +Le service n'existe pas encore : le créer (compte dédié, jamais LocalSystem) : + +```powershell +$cred = Get-Credential -UserName '.\svc_omika_diagapi' -Message 'Compte service OmikaDiagnosticsApi' +New-Service -Name 'OmikaDiagnosticsApi' -DisplayName 'Omika Diagnostics Api' ` + -BinaryPathName '"C:\Omika\Apps\DiagnosticsApi\Omika.Diagnostics.Api.exe"' ` + -Credential $cred -StartupType Manual + +# ACL dossier spool central + logs +icacls 'C:\ProgramData\Omika\Diagnostics\Central' /grant:r 'svc_omika_diagapi:(OI)(CI)M' +icacls 'C:\Omika\Logs\DiagnosticsApi' /grant:r 'svc_omika_diagapi:(OI)(CI)M' +``` + +> Le compte dédié doit avoir le droit « Ouvrir une session en tant que service ». +> Ce service se crée par le script dédié +> `infra\deploy\Install-OmikaDiagnosticsApi.ps1` (compte, ACL du spool central, +> droit de connexion, `-WhatIf`, `-Desinstaller`). L'orchestrateur +> `Install-OmikaServices.ps1` l'inclut par défaut — utilisez `-SansDiagnosticsApi` +> pour l'exclure sur un serveur **mono-serveur**, où il est inutile. + +--- + +## 6. Configuration serveur par service (secrets injectés SUR LE SERVEUR) + +Règle : en variable d'environnement, `:` devient `__` +(`Diagnostics:Central:Directory` ⇔ `Diagnostics__Central__Directory`). +`ConnectionStrings:DiagnosticsDatabase` **prime** sur `Diagnostics:ConnectionString`. +Toute modif de variable d'un service exige un **redémarrage** du service. + +### Omika.Api (`OmikaApi`) — émission + ingestion + forwarding + +| Variable | Rôle | +|---|---| +| `ASPNETCORE_ENVIRONMENT` | `Production` (obligatoire) | +| `MobileAuth__SigningKey` | fail-fast en Prod (signature tokens mobile) | +| `DiagnosticsIdentity__HmacKey` | clé HMAC ActorKey/DeviceKey (≥256 bits Base64) | +| `DiagnosticDeployment__ClientCode` | CodeClient (sinon fallback HFSQL) | +| `DiagnosticDeployment__ServerInstanceId` | id d'instance (sinon MachineName) | +| `Observability__Remote__Directory` | **dossier JSONL partagé** (identique au Worker) | +| `Observability__ServerDiagnostics__Enabled` | **`true` pour activer l'émission serveur 4xx/5xx/exceptions** (voir §7) | +| `DiagnosticsForwarding__Enabled` | kill switch forwarder central (`true`/`false`) | +| `DiagnosticsForwarding__Endpoint` | URL centrale **HTTPS** (si forwarding) | +| `DiagnosticsForwarding__ApiKey` | clé d'accès centrale (**secret**) | +| `LicenseConnection__*` / `SyncConnection__*` | secrets HFSQL existants (non touchés) | + +### Omika.Worker (`OmikaWorker`) + +| Variable | Rôle | +|---|---| +| `ASPNETCORE_ENVIRONMENT` | `Production` (obligatoire) | +| `DiagnosticDeployment__ClientCode` | CodeClient (sinon fallback HFSQL) | +| `DiagnosticDeployment__ServerInstanceId` | id d'instance (sinon MachineName) | +| `Observability__Remote__Directory` | **dossier JSONL** (voir note topologie ci-dessous) | +| `DiagnosticsForwarding__Enabled` | forwarder du Worker (`true` si serveur séparé de l'API) | +| `DiagnosticsForwarding__Endpoint` | URL centrale **HTTPS** (si forwarding Worker) | +| `DiagnosticsForwarding__ApiKey` | clé d'accès centrale (**secret**) | +| secrets HFSQL existants | non touchés | + +> **Topologie serveur client :** +> - **Même serveur que l'API** : `Observability__Remote__Directory` = dossier **partagé** +> avec l'API, lu par `OmikaDiagnosticsWorker`. Laisser `DiagnosticsForwarding__Enabled=false` +> côté Worker (l'API forwarde déjà ce dossier) → un **seul** forwarder sur le dossier partagé. +> - **Serveur séparé de l'API** : `Observability__Remote__Directory` = dossier **local au +> Worker** (jamais un partage réseau) ; activer `DiagnosticsForwarding__Enabled=true` + +> `Endpoint` + `ApiKey`. Le Worker forwarde alors son **propre** spool vers le central +> (checkpoint `forwarder-checkpoint-worker.json`, distinct de celui de l'API). + +### Omika.Diagnostics.Worker (`OmikaDiagnosticsWorker`) + +| Variable | Défaut | Rôle | +|---|---|---| +| `ConnectionStrings__DiagnosticsDatabase` | — | Npgsql `Username=omika_diagnostics_worker` | +| `Observability__Remote__Directory` | `""` | dossier JSONL (**identique** à Omika.Api) | +| `Diagnostics__Import__CheckpointDirectory` | `""` | dossier checkpoint | +| `Diagnostics__Import__CheckpointFileName` | `import-checkpoint.json` | nom checkpoint | +| `Diagnostics__RetentionDays` | `60` | rétention événements | +| `Diagnostics__TelemetryRetentionDays` | `180` | rétention télémétrie | +| `Diagnostics__RetentionIntervalHours` | `24` | fréquence purge | +| `Diagnostics__RetentionBatchSize` | `1000` | lot de purge | + +### Omika.Diagnostics.Web (`OmikaDiagnosticsWeb`) + +| Variable | Rôle | +|---|---| +| `ASPNETCORE_ENVIRONMENT` | `Production` (default-deny) | +| `ConnectionStrings__DiagnosticsDatabase` | Npgsql `Username=omika_diagnostics_web` | +| `DiagnosticsAuth__Operators__*` | bootstrap temporaire (hash uniquement) puis retrait | + +### Omika.Diagnostics.Api (`OmikaDiagnosticsApi`) — NOUVEAU + +| Variable | Défaut | Rôle | +|---|---|---| +| `ASPNETCORE_ENVIRONMENT` | — | `Production` | +| `ConnectionStrings__DiagnosticsDatabase` | — | Npgsql `Username=omika_diagnostics_api` | +| `Diagnostics__Central__Directory` | `logs/diagnostics-central` | **spool central** (chemin explicite, ex. `C:\ProgramData\Omika\Diagnostics\Central`) | +| `Diagnostics__Central__MaxRequestBodyBytes` | `524288` | corps borné | +| `Diagnostics__Central__MaxEventsPerBatch` | `100` | événements max/lot | + +--- + +## 7. Activer l'envoi des diagnostics (API Omika + application) + +Trois flux distincts, tous **opt-in** : + +### 7.1 Application (mobile/desktop) → Omika.Api + +L'application écrit dans une outbox SQLite locale (`omika-diagnostics.db`, toujours +active). L'**upload** vers `POST /api/diagnostics` est **désactivé avant inscription** +(`DiagnosticUploadOptions.Enabled=false`) puis **activé automatiquement dès que +l'utilisateur s'inscrit** (QR ou code manuel), sur toutes les plateformes +(Android, iOS, Desktop). + +- Activation automatique : à l'inscription réussie, l'application écrit elle-même + le fichier `diagnostics-upload.json` dans le dossier de données de l'app + (`%LocalAppData%\Omika\`) : + ```json + { "Enabled": true } + ``` + et active l'upload en mémoire pour la session courante (reprise sous ~60 s). + Champs optionnels : `Interval`, `Timeout`, `BatchSize`, `MaxBatchBytes`, `EndpointPath`. +- Appareils déjà inscrits (avant cette version) : le fichier est migré au démarrage + si la session est inscrite et que le fichier n'existe pas encore. +- Kill-switch support : poser manuellement `{ "Enabled": false }` dans ce fichier + désactive l'upload ; un fichier existant n'est jamais écrasé par la restauration + de session. +- L'app envoie vers l'`OmikaApi` **déjà configuré** (BaseUrl + token de session) : + aucun endpoint/secret supplémentaire. +- Token absent → aucun envoi, données conservées (reprise au prochain contexte). + +> ⚠️ **Point d'attention** : l'upload ne s'exécute que lorsque l'app est active +> (aucun job OS en arrière-plan) et exige un token de session valide. + +### 7.2 Omika.Api → chaîne Diagnostics (diagnostics serveur) + +Le `ServerDiagnosticMiddleware` capture 4xx/5xx/exceptions et les écrit dans le +JSONL remote (relu par `OmikaDiagnosticsWorker`). **Désactivé par défaut.** + +Activation : +```text +Observability__ServerDiagnostics__Enabled = true +Observability__Remote__Directory = <chemin JSONL partagé avec le Worker> +DiagnosticsIdentity__HmacKey = <clé HMAC> +DiagnosticDeployment__ClientCode = <CodeClient> (sinon HFSQL) +DiagnosticDeployment__ServerInstanceId = <id instance> +``` + +### 7.3 Serveur client → API centrale (multi-serveur uniquement) + +Uniquement si vous recevez des diagnostics de **serveurs clients distants** : + +1. Dans `OmikaDiagnosticsWeb` → **Clients Diagnostics** → **Nouveau client** + (CodeClient exact), **créer** puis **copier immédiatement** la clé. +2. Sur le serveur client, dans `OmikaApi` : + ```text + DiagnosticsForwarding__Enabled = true + DiagnosticsForwarding__Endpoint = https://<central>/api/v1/diagnostics/batches + DiagnosticsForwarding__ApiKey = <clé copiée> + ``` +3. **Si `OmikaWorker` est sur un AUTRE serveur que `OmikaApi`**, activer AUSSI le + forwarding sur le Worker (même clé ou clé du client Worker, checkpoints distincts) : + ```text + # sur le serveur du Worker + DiagnosticsForwarding__Enabled = true + DiagnosticsForwarding__Endpoint = https://<central>/api/v1/diagnostics/batches + DiagnosticsForwarding__ApiKey = <clé copiée> + Observability__Remote__Directory= <dossier LOCAL au Worker> + ``` + Chaque service forwarde alors son **propre** dossier JSONL local. Sur un même serveur + (dossier partagé), n'activer qu'**un seul** forwarder (l'API) pour éviter le double envoi. +4. Redémarrer `OmikaApi` (et `OmikaWorker` le cas échéant), puis vérifier + `last_seen_at_utc` dans Clients Diagnostics. + +> Sur un SRV-OMIKA **mono-serveur** (Omika.Api écrit le JSONL localement), l'API +> centrale `OmikaDiagnosticsApi` et le forwarding ne sont **pas nécessaires**. + +--- + +## 8. Redémarrage + smoke tests + +### 8.1 Ordre de redémarrage (consommateurs avant producteurs) + +```powershell +Start-Service OmikaDiagnosticsWorker # 1. importeur (consommateur JSONL) +Start-Service OmikaDiagnosticsWeb # 2. UI +Start-Service OmikaDiagnosticsApi # 3. API centrale (si multi-serveur) +Start-Service OmikaWorker # 4. sync métier +Start-Service OmikaApi # 5. API (producteur, dernier) +Get-Service OmikaApi,OmikaWorker,OmikaDiagnosticsWorker,OmikaDiagnosticsWeb,OmikaDiagnosticsApi | + Select-Object Name,Status +``` + +### 8.2 Smoke tests + +```powershell +Invoke-WebRequest 'http://127.0.0.1:<PORT_API>/health' -UseBasicParsing # 200 Healthy +Invoke-WebRequest 'http://127.0.0.1:<PORT_WEB>/Login' -UseBasicParsing # 200 +Invoke-WebRequest 'http://127.0.0.1:<PORT_DIAG_API>/' -UseBasicParsing # 200 {status:ok} +``` + +SQL post-redémarrage : +```sql +SELECT count(*) FROM diagnostic_event; +SELECT max(ingested_at_utc) FROM diagnostic_event; +SELECT reference_type, count(*) FROM diagnostics_reference GROUP BY reference_type; +-- attendu : SCREEN_CODE = 29, FEATURE_CODE = 3 +SELECT count(*) FROM diagnostics_tasks; +``` + +Dans `OmikaDiagnosticsWeb`, vérifier : Dashboard, Diagnostics, Erreurs (bouton +« Supprimer le groupe »), Traces, Synchronisation, Telemetry, Versions, +Référentiel, **Taches** (bouton « Supprimer »), et `/Clients` + `/Users` (Admin). + +--- + +## 9. Écarts constatés (scripts/documents à mettre à jour) + +1. **`infra\deploy\Install-OmikaServerFiles.ps1`** : ne copie **que 4** publications + (OmikaApi, OmikaWorker, DiagnosticsWorker, DiagnosticsWeb) → **ne déploie pas + `DiagnosticsApi`**. +2. ~~**`infra\deploy\Install-OmikaServices.ps1`** : ne crée **que 4** services → ne + crée **pas** `OmikaDiagnosticsApi` ni ses ACL (spool central/logs).~~ + **RÉSOLU** : un script par déploiement dans `infra\deploy` + (`Install-OmikaDiagnosticsApi.ps1` incluse), et l'orchestrateur les enchaîne + dans le bon ordre (le propriétaire d'un dossier est installé **avant** ses + lecteurs, pour que les ACL inter-services puissent être posées). +3. **`infra\deploy\Install-DatabaseSchema.ps1`** : n'applique **que `001`+`002`**. + **`Harden-DatabaseRoles.ps1`** : n'applique **que `003`**. Les migrations + `004 → 016` restent manuelles (cette marche à suivre les couvre). +4. **`Omika.slnx`** ne référence pas les projets Diagnostics (build par `.csproj`). +5. **App** : l'activation de l'upload est désormais automatique dès l'inscription + (fichier `diagnostics-upload.json` écrit par l'app elle-même ; kill-switch + support via `{ "Enabled": false }`). Corrigé au passage : le fichier était nommé + `development-upload.json` et documenté à tort comme « compilé hors Release ». +6. **Docs obsolètes** : `MISE_A_JOUR_DIAGNOSTICS_SRV-OMIKA.md` (→011) et + `T15-RUNBOOK-DEPLOIEMENT-PRODUCTION.md` (→005). + +Recommandation : mettre à jour les scripts 1–3 pour couvrir le 5ᵉ service et la +liste complète `001→016` (et générer le `SHA256SUMS.txt` incluant `DiagnosticsApi`). + +--- + +## 10. Rollback + +- **Binaires** : restaurer les dossiers `C:\Omika\Backups\*_<stamp>` (arrêt → + copie → démarrage dans l'ordre §8.1). +- **Base** : **pas de rollback SQL automatique** (migrations additives/idempotentes). + `pg_restore` (backup §5.2) uniquement sur décision humaine explicite. +- **Kill switch** : `DiagnosticsForwarding__Enabled=false` (+ redémarrage OmikaApi) + coupe tout envoi central sans toucher au métier ni au spool. diff --git a/docs/MOBILE_FUNCTIONAL_STATUS.md b/docs/MOBILE_FUNCTIONAL_STATUS.md new file mode 100644 index 0000000..8838f8a --- /dev/null +++ b/docs/MOBILE_FUNCTIONAL_STATUS.md @@ -0,0 +1,701 @@ +# MOBILE FUNCTIONAL STATUS — État fonctionnel actuel de l'application mobile + +> **Bilan fonctionnel global** de l'application mobile Omika, tel qu'il est +> réellement implémenté et validé aujourd'hui. Ce document décrit **ce que +> l'utilisateur peut réellement faire**, ce qui est en lecture seule, ce qui sait +> écrire offline, ce qui manque, ce qui est bloqué backend et ce qui reste à +> développer. +> +> Ce document est **orienté fonctionnel** : il ne remplace pas +> `docs/LOT_MOBILE_0.md` (architecture technique, décisions, principes +> offline-first, SQLite, Sync, identités, Design System). Il ne duplique pas son +> contenu. +> +> Aucun code de production n'est modifié par ce document. + +--- + +## 1. Vue d'ensemble — ce que l'utilisateur peut faire aujourd'hui + +L'application mobile Omika est aujourd'hui une application **de consultation +offline** du dernier snapshot métier synchronisé. L'utilisateur peut : + +- **Naviguer** entre les écrans (Agenda, Interventions, Dossiers, Équipe, + Clients, Sites, Paramètres) via une barre latérale (desktop/tablette) ou une + barre basse + menu « Plus » (smartphone). +- **Consulter** l'agenda du jour et le détail d'un rendez-vous. +- **Consulter** la liste des interventions, les rechercher localement, filtrer + les archivées, et ouvrir la fiche d'une intervention. +- **Consulter** les dossiers, clients, sites et collaborateurs (liste + détail). +- **Consulter** les contacts liés à une intervention et le détail d'un contact. +- **Consulter** les documents / photos d'une intervention, les **télécharger à + la demande**, les **ouvrir offline** s'ils sont en cache, et **en ajouter** + (photo ou document) **offline-first**. +- **Créer, modifier et archiver une intervention** **offline-first** (formulaire + partagé Create/Edit, bouton Nouvelle Intervention, action Modifier, action + Archiver avec confirmation, aucun DELETE). +- **Synchroniser** manuellement via « Synchroniser maintenant ». +- **Personnaliser** le thème (clair / sombre / système) et la couleur principale. + +L'utilisateur **ne peut pas** aujourd'hui : créer/modifier un rendez-vous, un +dossier, un client, un site ou un collaborateur ; saisir des temps ; rédiger des +notes ; créer un compte rendu ou un rapport ; envoyer un email ; utiliser le +GPS ; réinitialiser l'application ; purger le cache depuis l'UI. + +> **Note importante (vérification Sync)** : le **backend + Sync supportent déjà +> réellement** la création, la modification et l'archivage d'une **Intervention** +> (handler `InterventionSyncOperationHandler`, contrat `InterventionSyncPayload`, +> pipeline SUCCESS/REJECTED). L'**UI + mutation locale** Intervention est +> **réalisée** (formulaire Create/Edit, bouton Nouvelle Intervention, action +> Modifier, action Archiver avec confirmation, aucun DELETE, protection double +> Save, navigation contextuelle, états Pending/Rejected affichés). Les autres +> entités (RendezVous, Dossier, Client, Site, Collaborateur) ne disposent +> **d'aucun** handler Sync ni payload : elles restent bloquées backend. + + +--- + +## 2. Matrice fonctionnelle synthétique + +Légende des états : + +| État | Signification | +|------|---------------| +| **REAL** | Fonctionnalité réellement implémentée et utilisable | +| **PARTIAL** | Partiellement implémentée (une partie seulement du périmètre maquette) | +| **READ-ONLY** | Consultation seule, aucune écriture | +| **BLOCKED** | Bloqué par un prérequis backend / snapshot / sync manquant | +| **NOT IMPLEMENTED** | Non implémenté (aucun parcours utilisateur) | +| **PLACEHOLDER** | Écran d'attente « Fonctionnalité à venir » | + +| Domaine | Fonctionnalité | État | Offline | Écriture | Réseau requis | Backend requis | Commentaire | +|---------|----------------|------|---------|----------|---------------|----------------|-------------| +| Shell / navigation | Navigation entre écrans | **REAL** | Oui | Non | Non | Non | Barre latérale + barre basse + menu « Plus » | +| Shell / navigation | Thème clair / sombre / système | **REAL** | Oui | Non | Non | Non | Persisté localement | +| Shell / navigation | Couleur principale | **REAL** | Oui | Non | Non | Non | Presets + personnalisée, persistée | +| Agenda | Liste des rendez-vous du jour | **REAL** | Oui | Non | Non | Non | Lecture SQLite | +| Agenda | Navigation jour précédent / suivant | **REAL** | Oui | Non | Non | Non | — | +| RendezVous | Détail d'un rendez-vous | **REAL** | Oui | Non | Non | Non | Lecture seule | +| RendezVous | Saisie des temps (accès) | **REAL** (UI CREATE) | Oui | **Oui** | Non (offline-first) | Oui | Accès contextuel RendezVous → liste filtrée → Nouvelle saisie (RendezVousId prérempli) — voir section 7 | +| RendezVous | Annulation / modification | **NOT IMPLEMENTED** | — | — | — | Oui | Aucun handler Sync RendezVous | + +| Interventions | Liste des interventions | **REAL** | Oui | Non | Non | Non | Lecture SQLite | +| Interventions | Recherche locale | **REAL** | Oui | Non | Non | Non | Reference, Titre, ClientNom, SiteNom, DossierReference | +| Interventions | Filtre Actif / Archivé | **REAL** | Oui | Non | Non | Non | Basé sur `EstArchive` | +| Interventions | Fiche intervention | **REAL** | Oui | Non | Non | Non | Client/Site/Dossier/RendezVous/Documents | +| Interventions | Rendez-vous liés | **REAL** | Oui | Non | Non | Non | Liste + tri chronologique | +| Interventions | Création / modification Intervention | **REAL** (UI + mutation locale) | Oui | **Oui** | Non (offline-first) | Oui | **Backend + Sync SUPPORTED** ; UI Create/Edit + mutation locale + Outbox implémentées (CREATE/UPDATE/ARCHIVE), aucun DELETE | +| Interventions | Archiver une intervention | **REAL** (UI + mutation locale) | Oui | **Oui** | Non (offline-first) | Oui | Action Archiver + confirmation, `ArchiveAsync` via `IInterventionLocalService`, aucun DELETE | +| Interventions | État Sync (Pending / Rejected) | **REAL** | Oui | Non | Non | Non | Affiché sur la fiche à partir des vraies données Outbox (`IsPendingSync`, `HasSyncError`, `SyncErrorMessage`) | + + +| Documents / Photos | Liste des documents d'une intervention | **REAL** | Oui | Non | Non | Non | Métadonnées SQLite | +| Documents / Photos | Téléchargement à la demande | **REAL** | Non | Non | **Oui** | Oui | HTTP `GET /api/documents/{guid}` | +| Documents / Photos | Ouverture offline | **REAL** | Oui | Non | Non | Non | Si présent en cache | +| Documents / Photos | Ajout photo / document | **REAL** | Oui | **Oui** | Non (offline-first) | Oui | Outbox + SyncEngine | +| Contacts | Contacts liés à une intervention | **REAL** | Oui | Non | Non | Non | Relation `ContactIds` explicite | +| Contacts | Détail d'un contact | **REAL** | Oui | Non | Non | Non | Téléphone / email plateforme | +| Dossiers | Liste des dossiers | **REAL** | Oui | Non | Non | Non | Lecture SQLite | +| Dossiers | Détail d'un dossier | **REAL** | Oui | Non | Non | Non | Interventions liées | +| Dossiers | Création / modification Dossier | **NOT IMPLEMENTED** | — | — | — | Oui | Aucun handler Sync Dossier | +| Clients | Liste des clients | **REAL** | Oui | Non | Non | Non | Lecture SQLite | +| Clients | Détail d'un client | **REAL** | Oui | Non | Non | Non | Sites, contacts, dossiers, interventions | +| Clients | Création / modification Client | **NOT IMPLEMENTED** | — | — | — | Oui | Aucun handler Sync Client | +| Sites / Lieux | Liste des sites | **REAL** | Oui | Non | Non | Non | Lecture SQLite | +| Sites / Lieux | Détail d'un site | **REAL** | Oui | Non | Non | Non | Client, contacts, interventions | +| Sites / Lieux | GPS / itinéraire | **NOT IMPLEMENTED** | — | — | — | Non | — | +| Équipe / Collaborateurs | Liste des collaborateurs | **REAL** | Oui | Non | Non | Non | Lecture SQLite | +| Équipe / Collaborateurs | Détail d'un collaborateur | **REAL** | Oui | Non | Non | Non | Rendez-vous + interventions liés | +| Paramètres | Thème / couleur / version | **REAL** | Oui | Non | Non | Non | — | +| Paramètres | Synchroniser maintenant | **REAL** | Non | Non | **Oui** | Oui | Via SyncEngine | +| Paramètres | Purge cache | **NOT IMPLEMENTED** (UI) | — | — | — | — | `PurgeAsync` existe ; problème technique mobile uniquement | +| Paramètres | Reset application | **NOT IMPLEMENTED** (UI) | — | — | — | — | Primitives locales existent ; dépendance protection Outbox | +| Paramètres | Licence / activation | **REAL** | Oui | Non | Non | Oui | Activation par code client + n° licence ; session + token sécurisé ; identité affichée | + +| Synchronisation | Synchronisation manuelle | **REAL** | Non | Non | **Oui** | Oui | SyncEngine + Outbox | +| Synchronisation | État de synchronisation | **REAL** | Oui | Non | Non | Non | Idle / Syncing / Synced / Offline / Error | +| Notes Intervention | Lecture / écriture notes | **NOT IMPLEMENTED** | — | — | — | Oui | CAS E — voir section 6 | +| SuiviTemps | Consultation des temps | **REAL** (UI LIST) | Oui | Non | Non | Non | Liste offline via `ISuiviTempsLocalService` (PHASE 3) — voir section 7 | +| SuiviTemps | Saisie des temps | **REAL** (UI CREATE) | Oui | **Oui** | Non (offline-first) | Oui | **UI CREATE READY** — formulaire offline-first via `ISuiviTempsLocalService.CreateAsync` ; TypeTemps depuis `IParametreMetierLocalService.GetTypeTempsAsync()` (Key = PA_CLE) ; aucun UPDATE/ARCHIVE/DELETE — voir section 7 | + + +| Rapports / CompteRendu | Création / consultation | **NOT IMPLEMENTED** | — | — | — | Oui | Backend only — voir section 8 | + +--- + +## 3. Écritures offline réellement opérationnelles + +La seule écriture offline réellement opérationnelle aujourd'hui est +**l'ajout de documents / photos** à une intervention. + +### 3.1 Ajout d'une photo ou d'un document (offline-first) + +Ce que fait l'utilisateur : + +1. Depuis la fiche intervention, il ouvre l'écran **Documents / Photos**. +2. Il choisit **Ajouter une photo** ou **Ajouter un document** (sélecteur de + fichier plateforme). +3. Le fichier est immédiatement visible dans la liste, marqué comme en attente + de synchronisation. + +Ce qui se passe techniquement (chaîne complète vérifiée) : + +| Étape | Détail | +|-------|--------| +| **Mutation SQLite** | Copie du fichier dans l'espace contrôlé de l'application + création de la métadonnée locale `LocalDocumentMetadata` (payload `DocumentSummaryDto`) | +| **Outbox** | Création d'une opération `OutboxOperation` (`EntityType = Document`, `OperationType = Create`, état `Pending`) | +| **OperationId** | `Guid.NewGuid()` — distinct du GUID métier | +| **GUID métier** | `DocumentGuid` (identité publique du document) | +| **SyncEngine** | À la synchronisation, l'opération Document est envoyée via `POST /api/documents` (multipart) | +| **SUCCESS** | L'opération passe à l'état `Succeeded` ; le document est marqué synchronisé | +| **REJECTED** | L'opération passe à l'état `Rejected` ; l'erreur est affichée dans l'UI | + +Le `DocumentGuid` est **distinct** de l'`OperationId` : le GUID métier identifie +le document, l'OperationId identifie la transaction de synchronisation. + +> **Important** : la capacité générique de l'Outbox n'est pas une fonctionnalité +> utilisateur en soi. Seule l'écriture **Documents / Photos** est réellement +> branchée de bout en bout (UI → SQLite → Outbox → SyncEngine → backend). + +--- + +## 4. Domaines actuellement en lecture seule + +Les domaines suivants sont **strictement en lecture seule** : aucune écriture, +aucune Outbox, aucun CREATE / UPDATE / DELETE / ARCHIVE depuis le mobile. + +| Domaine | État réel | Détail | +|---------|-----------|--------| +| **RendezVous** | READ-ONLY | Consultation du détail uniquement | +| **Intervention** | WRITE (mutation locale) | Liste, recherche, filtre, fiche, relations. **Backend + Sync SUPPORTED** pour CREATE/UPDATE/ARCHIVE ; mutation locale + Outbox implémentées (service `InterventionLocalService`) | + +| **Dossier** | READ-ONLY | Liste + détail | +| **Client** | READ-ONLY | Liste + détail | +| **Site / Lieu** | READ-ONLY | Liste + détail | +| **Collaborateur** | READ-ONLY | Liste + détail | +| **Contact** | READ-ONLY | Liste + détail (téléphone / email plateforme) | + +Aucune de ces entités ne dispose d'une écriture mobile **branchée à l'UI**. Les +données proviennent exclusivement du snapshot synchronisé. + +> **Capacité Sync réelle** : seul **Intervention** dispose d'un handler Sync +> (`InterventionSyncOperationHandler`) et d'un contrat public +> (`InterventionSyncPayload`). Les autres entités (RendezVous, Dossier, Client, +> Site, Collaborateur) n'ont **aucun** handler ni payload : toute opération Sync +> sur ces types est rejetée (`NO_HANDLER` → REJECTED). + +--- + +## 5. Synchronisation, Offline, SQLite, Outbox, cache Documents + +### 5.1 Synchronisation + +- **Déclenchement** : manuel via « Synchroniser maintenant » (Paramètres ou + Shell). Aucune synchronisation automatique périodique. +- **Moteur** : `SyncEngine` (unique système de mise à jour). +- **États UI** : `Idle`, `Syncing`, `Synced`, `Offline`, `Error`. +- **Hors ligne** : aucun appel réseau, état non intrusif (« Hors ligne »). +- **Erreurs** : nombre d'opérations rejetées / anomalies affiché. + +### 5.2 Offline / SQLite + +- Toutes les lectures (liste, fiche, contacts, documents) se font depuis SQLite + (dernier snapshot). +- Aucun appel HTTP obligatoire à l'ouverture d'un écran. +- Le snapshot est reconstruit atomiquement depuis le backend. + +### 5.3 Outbox + +- L'Outbox est opérationnelle pour **Documents / Photos** uniquement. +- Les opérations sont envoyées à la synchronisation, avec états + `Pending` / `Sending` / `Accepted` / `WaitingResult` / `Succeeded` / `Rejected`. +- Le mécanisme d'identité `RequestedEntityGuid` / `CanonicalEntityGuid` est + opérationnel : après un CREATE réussi, le backend retourne le GUID canonique + (GUID physique Omika ou GUID synthétique réversible Batik), réconcilié côté + mobile pour les opérations suivantes (UPDATE/ARCHIVE). + +### 5.4 Cache Documents + +- Les documents téléchargés sont stockés dans un cache fichier local + (`DocumentCacheService`). +- L'ouverture offline est possible si le fichier est présent en cache. +- **Purge du cache** : la capacité technique `PurgeAsync` existe dans + `DocumentCacheService`, mais **n'est pas branchée à une interface utilisateur**. + Aucun bouton « Purger le cache » n'est accessible à l'utilisateur. + +--- + +## 6. Notes Intervention — état démontré (CAS E) + +État **déjà démontré**, aucune décision n'est réouverte : + +- **Aucune Note Intervention exploitable** dans le snapshot / local. +- **Aucune table SQLite Note**. +- **Aucune UI** Notes. +- `CompteRendu` existe côté backend mais **n'est pas peuplé** dans le snapshot. +- `MessageInterne` / `IN_NoteInterne` restent **backend** (non exposés au mobile). +- `DocumentNote` est un **concept différent** (document, pas note d'intervention). + +**État fonctionnel** : `NOT IMPLEMENTED` (bloqué backend — données absentes du +snapshot). + +**Classification** : **C — BACKEND + MOBILE** (snapshot / SQLite / Sync manquant) ++ **D** uniquement pour la décision de représentation métier exacte (Note vs +DocumentNote). `DocumentNote` reste distinct. + +--- + +## 7. Suivi des temps — état démontré (CAS C) + +État **déjà démontré**, aucune décision n'est réouverte : + +- L'entité métier `SuiviTemps` est **réelle** côté backend. +- Les relations Intervention / RendezVous / Collaborateur existent. +- **Présent dans le snapshot** mobile (PHASE 1B) : le `MobileSnapshotResponse` + expose désormais `SuivisTemps` (liste de `SuiviTempsDto`, lecture seule, + réutilisant le DTO métier public — aucune colonne HFSQL exposée). Le GUID + exposé est le **GUID physique existant** (Batik et Omika), aucun GUID + synthétique n'est créé. +- **Sync CREATE** (PHASE 1C) : le pipeline Sync serveur moderne supporte la + création d'une saisie de temps via `SuiviTempsSyncOperationHandler` → + `ISuiviTempsService` → repository adaptatif. EntityType `SuiviTemps`, + payload `SuiviTempsSyncPayload` (CollaborateurId, InterventionId, + RendezVousId, Date, DureeMinutes, TypeTempsKey, Description). Le champ + `Valide` n'est pas positionnable depuis le mobile (état de validation métier + géré côté backend). UPDATE / ARCHIVE / DELETE → `PERMANENT_FAILURE`. +- **SQLite local** (PHASE 2) : la table `SuiviTemps` est présente dans le + schéma SQLite local, importée atomiquement par le `SnapshotApplier` (avec les + références typées Collaborateur / Intervention / RendezVous pour la + réconciliation d'identité A → B). Le service local `SuiviTempsLocalService` + permet la lecture (liste, par GUID, par intervention) et la création + offline-first (écriture locale + Outbox CREATE, `Valide` toujours false côté + mobile). +- **UI LIST** (PHASE 3) : la vue `SuiviTempsView` + `SuiviTempsViewModel` + permettent la **consultation offline** des saisies de temps via + `ISuiviTempsLocalService.GetAllAsync` (et `GetByInterventionAsync` / + `GetByRendezVousAsync` pour les filtres par intervention / rendez-vous). La + liste affiche les données métier utiles (date, durée, type de temps, + description, collaborateur, intervention, rendez-vous, validation, état Sync + Pending/Rejected/ErrorMessage). Aucun UPDATE / ARCHIVE / DELETE. Accès global + via la navigation + accès contextuel depuis une Intervention (liste filtrée) + et depuis un RendezVous (liste filtrée). + +- **Référentiel TypeTemps local** (micro-lot) : **READY** — le référentiel + `ParametreMetier` est désormais disponible **offline** au mobile. Le pipeline + est : HFSQL `ParametreMetier` → repository adaptatif (`AdaptiveParametreMetierRepository`) + → `MobileBootstrapService` (chargé au bootstrap) → SQLite local → service + local `IParametreMetierLocalService.GetTypeTempsAsync()`. Ce service retourne + une liste ordonnée d'options `ReferenceValueDto` (Key = clé métier `PA_CLE`, + Label = libellé métier) **sans réseau, sans API, sans HFSQL**, uniquement à + partir des données snapshot déjà présentes localement. Le filtrage suit la + convention générique du projet (Actif / Invisible) et l'ordre métier + (`PA_Ordre`). Aucune valeur métier n'est codée en dur ; les options proviennent + des vraies données `ParametreMetier`. L'ancienne règle Batik (exclusion + `PA_Valeur` 0/1/99, cas particulier 2) n'est **pas** reprise faute de règle + moderne explicite. +- **UI CREATE** (PHASE 3) : **READY** — le formulaire `SuiviTempsCreateView` + + `SuiviTempsCreateViewModel` permettent la **saisie offline-first** d'un temps + via `ISuiviTempsLocalService.CreateAsync` (écriture locale + Outbox CREATE, + `Valide` toujours false côté mobile). Le formulaire contient uniquement + CollaborateurId, InterventionId, RendezVousId, Date, DureeMinutes, + TypeTempsKey, Description. Le champ `Valide` est **absent**. Le TypeTemps est + chargé depuis `IParametreMetierLocalService.GetTypeTempsAsync()` (affichage + `ReferenceValueDto.Label`, valeur envoyée `ReferenceValueDto.Key` == PA_CLE, + aucune valeur hardcodée). `DureeMinutes` est saisie manuellement (aucun calcul + automatique depuis RendezVous/Intervention). Aucune écriture directe SQLite / + Outbox / API / SyncEngine depuis le ViewModel (le service local reste + responsable). Protection double clic : `SaveCommand.CanExecute == false` + pendant l'exécution (binding Avalonia) + garde interne `IsBusy`. Accès global + (liste SuiviTemps → Nouvelle saisie) et contextuel depuis une Intervention + (liste filtrée → Nouvelle saisie → InterventionId prérempli) et depuis un + RendezVous (liste filtrée → Nouvelle saisie → RendezVousId prérempli, sans + déduction automatique d'Intervention / durée / date). + + **État fonctionnel** : `REAL` — **UI LIST READY**, **TYPE TEMPS LOCAL + REFERENCE READY**, **UI CREATE READY**, **RENDEZVOUS ENTRY POINT READY**. + Backend métier, snapshot, Sync CREATE, SQLite local, référentiel TypeTemps + local, consultation et saisie offline-first sont opérationnels. UPDATE / + ARCHIVE / DELETE : NOT SUPPORTED. + + + **Classification** : **C — BACKEND + MOBILE** (inchangée, CAS C non rouvert). + Les PHASE 1B (snapshot), 1C (Sync CREATE), 2 (SQLite local), 3 (UI LIST), le + micro-lot référentiel TypeTemps local et l'UI CREATE sont réalisés. + + + **Statut détaillé SuiviTemps** (après correctif snapshot — persistance des + colonnes de référence) : + + | Capacité | Statut | + |----------|--------| + | BACKEND METIER | **READY** | + | SNAPSHOT | **READY** | + | SYNC CREATE | **READY** | + | LOCAL SQLITE | **READY** | + | SNAPSHOT LOCAL | **READY** | + | LOCAL CREATE | **READY** | + | OUTBOX CREATE | **READY** | + | RECONCILIATION | **READY** | + | UI LIST | **READY** | + | TYPE TEMPS LOCAL REFERENCE | **READY** | + | UI CREATE | **READY** | + | UPDATE | **NOT SUPPORTED** | + + | ARCHIVE | **NOT SUPPORTED** | + | DELETE | **NOT SUPPORTED** | + | RENDEZVOUS ENTRY POINT | **READY** | + + + Le correctif snapshot garantit que le refresh persiste les colonnes structurées + (`CollaborateurId`, `InterventionId`, `RendezVousId`) de manière **générique** + (mécanisme partagé avec `LocalRepository`), sans fix spécifique SuiviTemps, et + préserve l'atomicité de la transaction snapshot ainsi que les données techniques + (Outbox, Sync state, profil, droits, licence, configuration, cache documents). + + +--- + +## 8. Rapports / CompteRendu — état réel + +Il ne faut pas confondre les concepts suivants : + +| Concept | Nature | État mobile | +|---------|--------|-------------| +| **CompteRendu** | Entité backend (`CompteRenduRow`, `CompteRenduDto`) | **BACKEND ONLY** — non peuplé dans le snapshot, aucune UI | +| **Rapport** | Modèles de rapports (`ModeleRapport`, `ModeleRapportMob`) | **BACKEND ONLY** — aucune UI mobile | +| **Note** | Note d'intervention | **NOT IMPLEMENTED** (CAS E) | +| **Document** | Fichier / métadonnée | **REAL** (liste, téléchargement, ajout offline) | + +**État fonctionnel** : +- CompteRendu : `BACKEND ONLY` (aucune UI, non peuplé dans le snapshot). +- Rapports : `BACKEND ONLY` (aucune UI mobile). +- Aucune création / consultation de compte rendu ou rapport depuis le mobile. + +--- + +## 9. Paramètres — ce qui est réellement accessible + +La page Paramètres expose réellement à l'utilisateur : + +| Réglage | État | Détail | +|---------|------|--------| +| **Thème** (Light / Dark / System) | **REAL** | ComboBox + bouton « Appliquer le thème » | +| **Couleur principale** | **REAL** | Presets + couleur personnalisée | +| **Synchroniser maintenant** | **REAL** | Bouton + état + erreur | +| **État de synchronisation** | **REAL** | Texte d'état | +| **Version** | **REAL** | Affichage « À propos » | + +**Non accessibles à l'utilisateur** (capacité technique ≠ fonction UI) : + +| Réglage | État | Détail | +|---------|------|--------| +| **Purge cache** | **NOT IMPLEMENTED** (UI) | `PurgeAsync` existe mais non branché à l'UI | +| **Reset application** | **NOT IMPLEMENTED** (UI) | Aucun parcours utilisateur | + + +--- + +## 10. Reset application + +**État** : `NOT IMPLEMENTED` (UI). + +Il n'existe **aucun parcours utilisateur** de réinitialisation de l'application. +Même si certaines primitives techniques de suppression existent (ex. purge du +cache), il n'y a pas de bouton ni d'écran « Reset » accessible à l'utilisateur. + +**Classification** : **A — MOBILE UNIQUEMENT**. Le comportement fonctionnel est +déjà défini (réinitialisation des données locales / cache / outbox / licence) et +**aucune évolution backend n'est nécessaire**. La seule dépendance est +**technique** : la protection des fichiers référencés par des opérations Outbox +en attente (Pending / Rejected) avant suppression. Aucune décision métier non +résolue ne bloque ce lot. + +--- + +## 11. Purge cache + +**État** : `NOT IMPLEMENTED` (UI). + +Le bouton de purge du cache Documents **n'a pas été branché** : la protection +des fichiers nécessaires aux opérations Outbox en attente n'était pas +suffisamment fiable. La capacité technique `DocumentCacheService.PurgeAsync` +existe mais n'est exposée à aucune interface utilisateur. + +**Classification** : **A — MOBILE UNIQUEMENT**. Le problème est **uniquement +technique côté mobile** (fiabiliser la protection des fichiers référencés par +l'Outbox Pending / Rejected avant suppression). Aucune décision métier réelle ne +manque. Dépendance : protection fichiers Outbox. + +--- + +## 12. Licence / Bootstrap — état fonctionnel utilisateur + +- Le **backend** licence / bootstrap est réel : `POST /api/license/activate`, + `POST /api/license/validate`, `GET /api/mobile/bootstrap`, token signé, + identité/profil/droits. +- **Émission du token de session** : `activate` et `validate` retournent une + réponse de session `MobileLicenseSessionResponse` contenant le **Bearer token** + (`AccessToken`) et son **expiration exacte** (`AccessTokenExpiresAtUtc`, + 24 h par défaut via `MobileAuth:TokenLifetimeHours`). Le token n'est émis + **que** si la licence est valide ; en cas d'échec, la réponse contient le code + d'erreur métier et **aucun token**. Le token est stateless (HMAC-SHA256), + jamais loggé, jamais stocké en HFSQL. +- **Côté application** : l'UI d'activation est **réellement branchée**. Au + premier démarrage sans session valide, l'utilisateur voit l'écran + **Activation** (code client + numéro de licence). Après activation réussie, le + token est stocké en **secure storage** (jamais en SQLite en clair), le + bootstrap (profil, droits, licence, configuration) est persisté en SQLite, et + l'application bascule vers le **Shell**. +- **Redémarrage** : si une session valide existe (licence valide ou période + offline autorisée), l'application démarre directement sur le **Shell** sans + repasser par l'activation. +- **Offline** : session déjà validée + période offline autorisée → accès aux + données SQLite sans connexion obligatoire. Premier démarrage sans session + valide + offline → activation impossible (message réseau). +- **Identité** : le nom de l'utilisateur (et ses initiales) est affiché dans le + **Shell** à partir du bootstrap local. Une licence expirée/révoquée ne + supprime **jamais** automatiquement les données locales (SQLite métier, cache, + Documents, Outbox). + +**État fonctionnel** : `REAL` — activation, validation, bootstrap, token sécurisé +et identité utilisateur sont opérationnels côté mobile. + +**Classification** : **A — MOBILE UNIQUEMENT** — réalisé. Le backend activation, +validation et bootstrap **existaient déjà** ; l'UI mobile d'activation / identité +a été ajoutée. **Risque sécurité : moyen/élevé** (parcours d'activation, token, +identité utilisateur) — traité par le secure storage et l'absence de token en +clair. + + + +--- + +## 13. Comparaison avec la maquette `maquetteOmika.html` + +La maquette reste une **référence UX uniquement**. Comparaison des grandes +fonctions : + +| Fonction maquette | Application actuelle | État | Écart restant | +|-------------------|----------------------|------|---------------| +| Agenda (Mes rendez-vous) | Agenda du jour réel | **PARTIAL** | Pas de vue semaine/équipe, pas de saisie temps | +| RendezVous (détail) | Détail réel | **PARTIAL** | Pas de saisie temps, pas d'annulation | +| Interventions (recherche) | Liste + recherche locale | **PARTIAL** | Filtres avancés (relation RDV, date, collaborateur) absents | +| Interventions (fiche) | Fiche réelle | **PARTIAL** | Pas de GPS, création, planification RDV, compte rendu, rapports, emails | +| Dossiers | Liste + détail réels | **PARTIAL** | Pas de création / ajout d'intervention | +| Clients | Liste + détail réels | **PARTIAL** | Pas de création / modification | +| Sites / Lieux | Liste + détail réels | **PARTIAL** | Pas de GPS / itinéraire | +| Équipe | Liste + détail réels | **PARTIAL** | Pas d'agenda d'équipe | +| Documents | Liste + téléchargement + ajout offline | **REAL** | — | +| Photos | Ajout photo offline | **REAL** | — | +| Contacts | Liste + détail réels | **REAL** | — | +| Notes | — | **NOT IMPLEMENTED** | CAS E | +| Temps | — | **NOT IMPLEMENTED** | CAS C | +| Rapports | — | **NOT IMPLEMENTED** | Backend only | +| CompteRendu | — | **NOT IMPLEMENTED** | Backend only | +| Paramètres | Thème / couleur / sync / version / licence | **PARTIAL** | Pas de purge cache, reset | + +| Synchronisation | Manuelle via SyncEngine | **REAL** | Pas d'automatique | +| Reset | — | **NOT IMPLEMENTED** | — | + +--- + +## 14. Backlog — classification des restes + +### A — MOBILE UNIQUEMENT +Données / backend déjà disponibles ; manque UI / service mobile. + +| Élément | Détail | +|---------|--------| +| Filtres de recherche avancés Interventions | Données disponibles (RDV, collaborateur) ; manque l'UI de filtrage | +| GPS / itinéraire | Données adresse disponibles ; manque l'UI + lanceur carte | +| Email / appel depuis la fiche intervention | Launcher plateforme existe (contact) ; manque l'UI fiche | +| **Reset application** | Primitives locales existent ; comportement fonctionnel défini ; aucune évolution backend nécessaire. Dépendance technique : protection fichiers Outbox | +| **Purge cache** | `DocumentCacheService.PurgeAsync` existe ; problème uniquement technique mobile (protection fichiers Outbox Pending/Rejected). Dépendance : protection fichiers Outbox | + + +### B — MOBILE WRITE +Backend / sync réellement capables de l'écriture ; UI + mutation locale réalisées. + +| Élément | Détail | +|---------|--------| +| **Modification Intervention mobile** ✅ RÉALISÉ | **Backend + Sync SUPPORTED** : handler `InterventionSyncOperationHandler`, contrat `InterventionSyncPayload`, CREATE/UPDATE/ARCHIVE réels, pipeline SUCCESS/REJECTED. **UI + mutation locale réalisées** : formulaire Create/Edit, bouton Nouvelle Intervention, action Modifier, action Archiver avec confirmation, aucun DELETE, protection double Save, navigation contextuelle, états Pending/Rejected affichés. | + +> **Vérification** : CREATE, UPDATE et ARCHIVE Intervention sont réellement +> supportés de bout en bout par le backend + Sync (contrat public exploitable, +> EntityType reconnu, handler réel, traitement métier réel via +> `IInterventionService`, résultat SUCCESS/REJECTED possible). DELETE n'est pas +> supporté (archivage logique uniquement → PERMANENT_FAILURE). Le lot +> **Intervention Write UI** est **COMPLET** : CREATE UI COMPLETE, UPDATE UI +> COMPLETE, ARCHIVE UI COMPLETE, OFFLINE-FIRST, OUTBOX, IDENTITY +> RECONCILIATION. DELETE : NOT SUPPORTED. + + +### C — BACKEND + MOBILE +Contrat / snapshot / sync manquant avant l'UI. + +| Élément | Détail | +|---------|--------| +| Notes Intervention | Absentes du snapshot / SQLite / Sync (CAS E) | +| Suivi des temps | **Snapshot (PHASE 1B) + Sync CREATE (PHASE 1C) + SQLite local (PHASE 2) faits** ; **UI LIST (PHASE 3) faite** ; **TYPE TEMPS LOCAL REFERENCE READY** ; **UI CREATE (PHASE 3) faite** (offline-first, TypeTemps Key=PA_CLE, aucun UPDATE/ARCHIVE/DELETE) ; **RENDEZVOUS ENTRY POINT RÉALISÉ** (accès contextuel RendezVous → liste filtrée → Nouvelle saisie, RendezVousId prérempli) | + + + +| CompteRendu | Non peuplé dans le snapshot | +| Rapports | Modèles backend, aucune exposition mobile | +| **RendezVous (création / modification / annulation)** | **Aucun handler Sync RendezVous, aucun payload** ; toute opération Sync est rejetée (`NO_HANDLER`) | +| **Dossier (création / modification)** | **Aucun handler Sync Dossier, aucun payload** | +| **Client (création / modification)** | **Aucun handler Sync Client, aucun payload** | +| **Site (création / modification)** | **Aucun handler Sync Site, aucun payload** | +| **Collaborateur (création / modification)** | **Aucun handler Sync Collaborateur, aucun payload** | + +### D — DÉCISION MÉTIER +Sémantique à décider avant développement. + +| Élément | Détail | +|---------|--------| +| Sémantique Note vs DocumentNote | Distinction à confirmer avant développement Notes (décision de représentation métier exacte) | + +> **Note** : Purge cache et Reset ne sont **plus** en D : ce sont des problèmes +> **techniques mobiles** (protection fichiers Outbox), sans décision métier non +> résolue. Ils sont classés en **A — MOBILE UNIQUEMENT** avec dépendance +> technique sur la protection Outbox. + +--- + +## 15. Prochains lots recommandés + +À partir de la cartographie réelle, **5 prochains lots** recommandés (aucun code +n'est écrit ici). Priorité forte donnée à l'activation/licence/identité, aux +écritures métier terrain réellement supportées par le Sync, au SuiviTemps et aux +Notes/CompteRendu, avant les améliorations purement cosmétiques ou les filtres +avancés. + +### Lot 1 — Licence / activation + identité utilisateur ✅ RÉALISÉ +- **Objectif** : brancher l'UI d'activation / validation licence et afficher + l'identité utilisateur (nom, profil, droits). +- **Catégorie** : A (MOBILE UNIQUEMENT) — backend activation/validation/bootstrap + **déjà existants**. +- **Backend nécessaire** : Non (déjà existant). +- **Dépendances** : Bootstrap / token / profil. +- **Risque** : **Moyen/élevé** (sécurité, parcours d'activation, identité). +- **Raison de la priorité** : **Prérequis de mise en production réelle** — sans + activation/licence/identité, l'application n'est pas exploitable en production. +- **Statut** : **RÉALISÉ** — écran d'activation, session + token sécurisé + (secure storage), bootstrap local, identité Shell, offline grace. Voir + section 12. + +### Lot 2 — Modification Intervention mobile (B — MOBILE WRITE) ✅ RÉALISÉ + +- **Objectif** : brancher l'UI + mutation locale (Outbox) pour créer, modifier et + archiver une intervention, en s'appuyant sur le handler Sync **déjà + opérationnel**. +- **Catégorie** : B (MOBILE WRITE) — backend + Sync **déjà supportés**. +- **Backend nécessaire** : Non (handler `InterventionSyncOperationHandler` et + contrat `InterventionSyncPayload` existants). +- **Dépendances** : UI fiche + mutation locale + Outbox + réconciliation + RequestedEntityGuid → CanonicalEntityGuid. +- **Risque** : Moyen (mutation locale, identité, ordre CREATE → UPDATE). +- **Raison de la priorité** : **Écriture métier terrain réellement déjà + supportée par le Sync** — valeur terrain immédiate, sans évolution backend. +- **Statut** : **RÉALISÉ** — formulaire Create/Edit partagé, bouton Nouvelle + Intervention, action Modifier, action Archiver avec confirmation, aucun + DELETE, protection double Save, navigation contextuelle, états + Pending/Rejected affichés. Voir section 14 B. + + +### Lot 3 — Suivi des temps (CAS C) +- **Objectif** : exposer le SuiviTemps dans le snapshot / SQLite / Sync, puis + UI de saisie. +- **Catégorie** : C (BACKEND + MOBILE). +- **Backend nécessaire** : Oui (sync + handler ; snapshot **fait**). +- **Dépendances** : SQLite, Sync, UI. +- **Risque** : Moyen (contrat + sync). +- **Raison de la priorité** : **Fonction terrain très attendue** (saisie des + temps), nécessite le backend. +- **Statut** : **PHASE 1B (snapshot) RÉALISÉE** — `SuivisTemps` exposé dans le + `MobileSnapshotResponse` (lecture seule, GUID physique, aucun GUID + synthétique). **PHASE 1C (Sync CREATE) RÉALISÉE** — handler + `SuiviTempsSyncOperationHandler` + payload `SuiviTempsSyncPayload`, CREATE + supporté, UPDATE/ARCHIVE/DELETE non supportés. **PHASE 2 (SQLite local) + RÉALISÉE** — table `SuiviTemps` dans le schéma SQLite, import snapshot + (`SnapshotApplier`), service local `SuiviTempsLocalService` (lecture + + création offline-first via Outbox CREATE, `Valide` toujours false côté + mobile), réconciliation d'identité A → B. **PHASE 3 (UI LIST) RÉALISÉE** — + `SuiviTempsView` + `SuiviTempsViewModel` (consultation offline, états + Pending/Rejected/ErrorMessage, accès global + depuis Intervention). + **RÉFÉRENTIEL TYPE TEMPS LOCAL RÉALISÉ** — `IParametreMetierLocalService` + + `GetTypeTempsAsync()` (options `ReferenceValueDto` Key/Label depuis les + vraies données `ParametreMetier`, offline). **UI CREATE RÉALISÉE** — + `SuiviTempsCreateView` + `SuiviTempsCreateViewModel` (saisie offline-first, + TypeTemps Key=PA_CLE, aucun UPDATE/ARCHIVE/DELETE, protection double clic + CanExecute). **RENDEZVOUS ENTRY POINT RÉALISÉ** — accès contextuel + RendezVous → liste filtrée → Nouvelle saisie (RendezVousId prérempli, sans + déduction automatique d'Intervention / durée / date). + + + + +### Lot 4 — Notes / CompteRendu (CAS E) +- **Objectif** : définir la représentation Note, l'exposer dans le snapshot / + SQLite / Sync, puis UI. +- **Catégorie** : C (BACKEND + MOBILE) + D (décision métier Note vs DocumentNote). +- **Backend nécessaire** : Oui (snapshot + sync + handler). +- **Dépendances** : Décision métier, snapshot, SQLite, Sync, UI. +- **Risque** : Moyen (sémantique + contrat). +- **Raison de la priorité** : **Fonction terrain attendue** (notes / compte + rendu), nécessite une décision métier préalable. + +### Lot 5 — Reset + Purge cache (A — MOBILE UNIQUEMENT) +- **Objectif** : brancher l'UI Reset application et Purge cache, avec protection + des fichiers référencés par l'Outbox en attente. +- **Catégorie** : A (MOBILE UNIQUEMENT) — primitives locales existantes, aucune + évolution backend. +- **Backend nécessaire** : Non. +- **Dépendances** : Protection fichiers Outbox (Pending / Rejected) avant purge / + reset. +- **Risque** : Faible à moyen (intégrité des opérations en attente). +- **Raison de la priorité** : **Hygiène de production** (réinitialisation / + libération d'espace), sans backend. + +--- + +## 16. Baseline de validation + +| Vérification | Résultat | Commande | +|--------------|----------|----------| +| Tests Mobile | **587/587** | `dotnet test tests/Omika.Tests/Omika.Tests.csproj -c Debug --filter "FullyQualifiedName~Omika.Tests.Mobile"` | +| Tests ViewModel SuiviTemps (List) | **11/11** | `dotnet test tests/Omika.Tests/Omika.Tests.csproj -c Debug --filter "FullyQualifiedName~SuiviTempsViewModelTests"` | +| Tests ViewModel SuiviTemps (Create) | **18/18** | `dotnet test tests/Omika.Tests/Omika.Tests.csproj -c Debug --filter "FullyQualifiedName~SuiviTempsCreateViewModelTests"` | +| Tests ViewModel RendezVous (Detail) | **1/1** | `dotnet test tests/Omika.Tests/Omika.Tests.csproj -c Debug --filter "FullyQualifiedName~RendezVousDetailViewModelTests"` | +| Tests ViewModel Intervention (Edit/List/Detail) | **30/30** | `dotnet test tests/Omika.Tests/Omika.Tests.csproj -c Debug --filter "FullyQualifiedName~InterventionEditViewModelTests\|FullyQualifiedName~InterventionsViewModelTests\|FullyQualifiedName~InterventionDetailViewModelTests"` | +| Tests Référentiel TypeTemps local | **6/6** | `dotnet test tests/Omika.Tests/Omika.Tests.csproj -c Debug --filter "FullyQualifiedName~ParametreMetierLocalServiceTests"` | +| Suite unitaire (hors intégration HFSQL) | **1853/1853** | `dotnet test tests/Omika.Tests/Omika.Tests.csproj -c Debug --filter "FullyQualifiedName!~Omika.Tests.Connection.HfSqlOleDb"` | + + +| Build `Omika.slnx` | **VERT** (projets .NET) | `dotnet build Omika.slnx -c Debug` | +| Build `Omika.App.Local` | **VERT** | `dotnet build src/Omika.App.Local/Omika.App.Local.csproj -c Debug` | +| Build `Omika.App` | **VERT** | `dotnet build src/Omika.App/Omika.App.csproj -c Debug` | +| Build Android | **VERT** | `dotnet build src/Omika.App.Android/Omika.App.Android.csproj -c Debug` | + + + +> **Note — Lot serveur Licence (connexion physique base HFSQL)** : le lot est en +> état de **STOP** (voir `docs/LOT_SERVEUR_LICENCE.md`). Les probes de lecture +> OLEDB ont révélé que la base Licence réelle (`BASE_LICENCES`) ne contient pas +> les tables `ClientBase`, `Licence`, `LicenceHisto` attendues par le repository +> (seulement 2 tables de backup système). Aucune écriture n'a été effectuée. +> La suite complète de tests affiche **1779 réussis / 10 échecs** : les 10 échecs +> sont des tests d'intégration HFSQL environnementaux (`HfSqlOleDb*IntegrationTests`) +> qui échouent faute de base d'intégration configurée (connexion `<:0>`), hors +> périmètre de la baseline unitaire. Les 34 tests de configuration Licence + +> (`HfSqlTestConfigurationLoaderTests`, `E2EOptionsTests`, +> `LicenseConnectionOptionsValidatorTests`, `LicenseOleDbConnectionTests`) +> passent **34/34**. + + + + +--- + +*Document de bilan fonctionnel global — ne modifie aucun code de production.* diff --git a/docs/OMIKA.md b/docs/OMIKA.md new file mode 100644 index 0000000..d12e594 --- /dev/null +++ b/docs/OMIKA.md @@ -0,0 +1,278375 @@ +DOCUMENTATION +TECHNIQUE +DU PROJET +Batik +06/08/2026 + +Partie 1 › Projet +Partie 1 +Projet +| 06/08/2026 | Batik | 2 | +| ---------- | ----- | --- | + +Partie 1 › Projet +Projet +Informations générales +Batik +Répertoire D:\Projets Windev\Batik\Nouvelle Version\Batik +Première fenêtre FEN_Login +Schéma des données associé D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda +Thème Batik_Theme +Projet +Liste des éléments du projet +Nom Libellé +FEN_Agenda +FEN_Calendrier +FEN_Choix_Colbs +FEN_Choix_Couleur +FEN_Choix_Liste +FEN_Choix_Modif_Dates_RDV +FEN_CompteRendus +FEN_Creation_Doc_Rub +FEN_DocAide +FEN_DocFenetre +FEN_Email_Inter +FEN_Email_Nouveau_Inter +FEN_Emails_Contact_Inter +FEN_Etats +FEN_Exporter_Temps +FEN_ExportExcel +FEN_Fiche +FEN_Fiche_Action +FEN_Fiche_Adresse +FEN_Fiche_Client +06/08/2026 Batik 3 + +Partie 1 › Projet › Liste des éléments du projet +Nom Libellé +FEN_Fiche_Colb +FEN_Fiche_Contact +FEN_Fiche_Document +FEN_Fiche_Dossier +FEN_Fiche_Dossier_Creation +FEN_Fiche_Equipe +FEN_Fiche_Modele_Mail +FEN_Fiche_Modele_Rapport +FEN_Fiche_Parametre +FEN_Fiche_Parametre_Type_RDV +FEN_Fiche_Parametre_Type_Temps +FEN_Fiche_RDV +FEN_Fiche_Rendez_Vous +FEN_Fiche_Role +FEN_Fiche_Site +FEN_Fiche_Societe +FEN_Fiche_Suivi_Temps +FEN_Fiche_Suivi_Temps_RDV +FEN_Filtre_Dossier_Widget +FEN_Liste_Colb_Suivi_Temps +FEN_Liste_Documents_Inter +FEN_Liste_Modele_Mails +FEN_Liste_Modele_Rapports +FEN_Liste_Parametres_Metier +FEN_Liste_Roles +FEN_Login +FEN_MaJ_Donnees_Demo +FEN_MaJParemApp +FEN_Menu +FEN_Menu_Items +FEN_Mot_Cle +FEN_Nouveau_Parametre_Metier +FEN_Param_Fiche_Dossier +FEN_Parametre_Liste_Colb_AGD +FEN_Parametre_Structure_Chemin_Doc +06/08/2026 Batik 4 + +Partie 1 › Projet › Liste des éléments du projet +Nom Libellé +FEN_Parametres_Base_Ext +FEN_Parametres_Visualisation_RDV +FEN_Rapport_Document_Inter +FEN_RDV_Attente +FEN_Recherche +FEN_Suivi_Temps +FEN_Tableau_Bord_Client +FEN_Tableau_Bord_Contact +FEN_Tableau_Bord_Intervention +FEN_Tableau_Bord_Menu +FEN_Tableau_Bord_Site +FEN_Texte +FEN_Theme_Colb +ETAT_FicheDeplacement +ETAT_FicheIntervention +ETAT_GAP_FicheDeplacement +ETAT_SLAMM_FicheDeplacement_1 +ETAT_SLAMM_FicheDeplacement_2 +ETAT_SLAMM_FicheDeplacement_3 +ETAT_SLAMM_FicheDeplacement_4 +ETAT_SLAMM_FicheIntervention_1 +ETAT_SLAMM_FicheIntervention_2 +ETAT_SLAMM_FicheIntervention_3 +ETAT_SLAMM_FicheIntervention_4 +Base +ConnexionHFSQL +cPressePapier +Droit +ErreurApp +InfoBlocage +MAcces +MAction_Inter +MAdresse +MAdresseClient +MCategorieAcces +06/08/2026 Batik 5 + +Partie 1 › Projet › Liste des éléments du projet +Nom Libellé +MClient +MCollaborateur +MCompteRendu +MConnexionBaseExt +MContact_Inter +MContact_Site +MDocAide +MDocNote +MDocument +MDossier +MElementModifie +MEquipe +MEtat_Deplacement +MEtat_Intervention +MEtatIntervention +MEtats +MIntervention +MLieu +MMessage_Externe +MMessageInterne +MModeleMail +MModeleRapport +MParametreAppli +MParametreMetier +MParametreUtilisateur +MPersonne_Ct +MRDV +MRDV_Colb +MRDV_Contact +MRDV_Planning +MRole +MRubriqueDoc +MSociete +MSuiviTemps +MUtilisateur +06/08/2026 Batik 6 + +Partie 1 › Projet › Liste des éléments du projet +Nom Libellé +LIB_Aide +Lib_AppMobile +LIB_Batigest +Lib_Champs +Lib_Commun +LIB_ConstantesGlobal +LIB_Documents +Lib_DroitsAcces +LIB_ElementsModifies +Lib_Email +LIB_HFSQL +Lib_InitProjet +Lib_JSON_INFO +Lib_Parametres +Lib_Planning +LIB_RubMailRapport +Lib_Structures +LIB_Surveille +LIB_TypeChamp +Lib_UI +Lib_Version +LIB_VisitesGuidées +FI_Agenda +FI_Configuration_BaseExt +FI_Ele_Client +FI_Ele_Inter +FI_Ele_Inter_Filtres +FI_Ele_Personne +FI_Ele_RDV +FI_Ele_RDV_Attente +FI_Ele_Site +FI_Liste_Client +FI_Liste_Collaborateurs +FI_Liste_Contact +FI_Liste_Contact_Site +06/08/2026 Batik 7 + +Partie 1 › Projet › Liste des éléments du projet +Nom Libellé +FI_Liste_Dossier +FI_Liste_Equipe +FI_Liste_Site +FI_Liste_Societes +FI_Planning +FI_RDV +FI_TableauBordModel +FI_TableauBordModelClient +FI_TableauBordModelContact +FI_TableauBordModelInter +FI_TableauBordModelMenu +FI_TableauBordModelSansParam +FI_TableauBordModelSite +FI_TdB_Actions +FI_TdB_Compte_Rendus +FI_TdB_Contact_Client +FI_TdB_ContactSite +FI_TdB_Documents +FI_TdB_Donneurs_Ordre +FI_TdB_Fiche_Client +FI_TdB_Fiche_Contact +FI_TdB_Fiche_Site +FI_TdB_Historique_Etat +FI_TdB_Information_Inter +FI_TdB_Liste_Client_Site +FI_TdB_Liste_Dossier_Client +FI_TdB_Liste_Dossier_Contact +FI_TdB_Liste_Dossier_Site +FI_TdB_Liste_Site_Client +FI_TdB_Liste_Site_Contact +FI_TdB_Message_Externe +FI_TdB_Note_Interne +FI_TdB_Notes_Admin +FI_TdB_Rapports +FI_TdB_RDV +06/08/2026 Batik 8 + +Partie 1 › Projet › Liste des éléments du projet +Nom Libellé +FI_TdB_Site +FI_TdB_Suivi_Temps +FI_Temps +FENMOD_Fiche +MDLC_Boolean +MDLC_BoutonIcone +MDLC_BoutonIconeRouge +MDLC_BoutonIconeWidgetTitre +MDLC_BTN_Annuler +MDLC_BTN_Valider +MDLC_ChampDate +MDLC_ChoixBoolean +MDLC_ChoixCombo +MDLC_ChoixJetonsCombo +MDLC_ChoixTexte +MDLC_Combo +MDLC_ComboSansModif +MDLC_Date +MDLC_Div +MDLC_DivBTN +MDLC_Horaire +MDLC_HTML +MDLC_Jetons +MDLC_LibNormal +MDLC_LibTitreWidget +MDLC_LigneSepWidget +MDLC_Memo_RFT +MDLC_OngletDynamique +MDLC_OngletFiches +MDLC_Saisie +MDLC_SaisieMultiligne +MDLC_SaisieSansModif +MDLC_SaisieSansModifBlock +MDLC_Segmente +MDLC_Sel2Choix +06/08/2026 Batik 9 + +Partie 1 › Projet › Liste des éléments du projet +Nom Libellé +MDLC_Table +MDLC_Tableau_Bord +MDLC_TdB_Config +MDLC_TitreFen +WS_LICENCE +D:\Projets Windev\Batik\Nouvelle +Version\Batik\LogoIco.ico.wdpic +Statistiques +| Nombre de fenêtres : | | 119 | +| ------------------------------------- | --- | --- | +| Nombre de modèles : | | 1 | +| Nombre de modèles de champs : | | 35 | +| Nombre d'états : | | 11 | +| Nombre de classes : | | 46 | +| Nombre de collections de procédures : | | 22 | +Projet +Liste des Perso-Dossiers +Perso-Dossier Nom +| 01-Planning | FEN_Agenda | | +| ----------- | ---------- | --- | +FEN_RDV_Attente +FI_Agenda +FI_Planning +| 02-Suivi de temps | FEN_Exporter_Temps | | +| ----------------- | ------------------ | --- | +FEN_Fiche_Suivi_Temps +FEN_Fiche_Suivi_Temps_RDV +FEN_Liste_Colb_Suivi_Temps +FEN_Suivi_Temps +FI_Temps +| 03-Dossiers | FEN_Creation_Doc_Rub | | +| ----------- | -------------------- | --- | +FEN_Emails_Contact_Inter +FEN_Fiche_Dossier +FI_Liste_Dossier +| 04-Site | FEN_Fiche_Site | | +| ---------- | -------------- | --- | +| 06/08/2026 | Batik | 10 | + +Partie 1 › Projet › Liste des Perso-Dossiers +Perso-Dossier Nom +FI_Liste_Site +| 06-Clients | FEN_Fiche_Adresse | | +| ---------- | ----------------- | --- | +FEN_Fiche_Client +FI_Liste_Client +| 07-Contacts | FEN_Fiche_Contact | | +| ----------- | ----------------- | --- | +FI_Liste_Contact +| 08-Collaborateurs | FEN_Fiche_Colb | | +| ----------------- | -------------- | --- | +FI_Liste_Collaborateurs +| 09-Equipe | FEN_Fiche_Equipe | | +| --------- | ---------------- | --- | +FI_Liste_Equipe +| 10-Sociétés | FEN_Fiche_Societe | | +| ----------- | ----------------- | --- | +FI_Liste_Societes +| 12-Parametres | FEN_Etats | | +| ------------- | --------- | --- | +FEN_Parametres_Base_Ext +FI_Configuration_BaseExt +| 19-Parametres utilisateurs | FEN_Filtre_Dossier_Widget | | +| -------------------------- | ------------------------- | --- | +FEN_Param_Fiche_Dossier +FEN_Parametre_Liste_Colb_AGD +FEN_Parametres_Visualisation_RDV +| 20-Autres | FEN_Calendrier | | +| --------- | -------------- | --- | +FEN_Choix_Colbs +FEN_Choix_Couleur +FEN_Choix_Liste +FEN_Choix_Modif_Dates_RDV +FEN_Fiche +FEN_Texte +| 20-Mise a jour parametres | FEN_MaJ_Donnees_Demo | | +| ------------------------- | -------------------- | --- | +FEN_MaJParemApp +FEN_Parametre_Structure_Chemin_Doc +| 21-Rapports | FEN_Fiche_Modele_Rapport | | +| ----------- | ------------------------ | --- | +FEN_Liste_Modele_Rapports +FEN_Mot_Cle +| 22-Mails | FEN_Fiche_Modele_Mail | | +| -------- | --------------------- | --- | +FEN_Liste_Modele_Mails +| 23-Menu | FEN_Menu | | +| ---------- | -------- | --- | +| 06/08/2026 | Batik | 11 | + +Partie 1 › Projet › Liste des Perso-Dossiers +Perso-Dossier Nom +FEN_Menu_Items +24-Aide FEN_DocAide +FEN_DocFenetre +25-ExportExcel FEN_ExportExcel +50-Inutilise FEN_Fiche_Rendez_Vous +APPLILOGIK ETAT_FicheDeplacement +ETAT_FicheIntervention +Analyse MAcces +MAction_Inter +MAdresse +MAdresseClient +MCategorieAcces +MClient +MCollaborateur +MCompteRendu +MConnexionBaseExt +MContact_Inter +MContact_Site +MDocAide +MDocNote +MDocument +MDossier +MElementModifie +MEquipe +MEtatIntervention +MEtats +MIntervention +MLieu +MMessage_Externe +MMessageInterne +MModeleMail +MModeleRapport +MParametreAppli +MParametreMetier +MParametreUtilisateur +06/08/2026 Batik 12 + +Partie 1 › Projet › Liste des Perso-Dossiers +Perso-Dossier Nom +MPersonne_Ct +MRDV +MRDV_Colb +MRDV_Contact +MRDV_Planning +MRole +MRubriqueDoc +MSociete +MSuiviTemps +MUtilisateur +Autre Droit +Autres Champs MDLC_Div +MDLC_DivBTN +MDLC_LigneSepWidget +MDLC_OngletDynamique +MDLC_OngletFiches +MDLC_Table +MDLC_Tableau_Bord +MDLC_TdB_Config +MDLC_TitreFen +Boutons MDLC_BoutonIcone +MDLC_BoutonIconeRouge +MDLC_BoutonIconeWidgetTitre +MDLC_BTN_Annuler +MDLC_BTN_Valider +Champs saisies MDLC_Boolean +MDLC_Combo +MDLC_ComboSansModif +MDLC_Date +MDLC_Horaire +MDLC_HTML +MDLC_Jetons +MDLC_Memo_RFT +MDLC_Saisie +MDLC_SaisieMultiligne +06/08/2026 Batik 13 + +Partie 1 › Projet › Liste des Perso-Dossiers +Perso-Dossier Nom +MDLC_SaisieSansModif +MDLC_SaisieSansModifBlock +MDLC_Segmente +MDLC_Sel2Choix +| Etat | MEtat_Deplacement | | +| ---- | ----------------- | --- | +MEtat_Intervention +| Fiches | FEN_Fiche_Parametre | | +| ------ | ------------------- | --- | +FEN_Fiche_Parametre_Type_RDV +FEN_Fiche_Parametre_Type_Temps +FEN_Nouveau_Parametre_Metier +| Filtre champs | MDLC_ChampDate | | +| ------------- | -------------- | --- | +MDLC_ChoixBoolean +MDLC_ChoixCombo +MDLC_ChoixJetonsCombo +MDLC_ChoixTexte +| GAP | ETAT_GAP_FicheDeplacement | | +| ------------ | ------------------------- | --- | +| Intervention | FEN_CompteRendus | | +FEN_Email_Inter +FEN_Email_Nouveau_Inter +FEN_Fiche_Document +FEN_Liste_Documents_Inter +FEN_Rapport_Document_Inter +| Libelles | MDLC_LibNormal | | +| -------- | -------------- | --- | +MDLC_LibTitreWidget +| Parametres Metier | FEN_Liste_Parametres_Metier | | +| ----------------- | --------------------------- | --- | +| Profils | FEN_Fiche_Role | | +FEN_Liste_Roles +| RDV | FEN_Fiche_RDV | | +| --- | ------------- | --- | +FI_RDV +| SLAMM | ETAT_SLAMM_FicheDeplacement_1 | | +| ----- | ----------------------------- | --- | +ETAT_SLAMM_FicheDeplacement_2 +ETAT_SLAMM_FicheDeplacement_3 +ETAT_SLAMM_FicheDeplacement_4 +ETAT_SLAMM_FicheIntervention_1 +ETAT_SLAMM_FicheIntervention_2 +| 06/08/2026 | Batik | 14 | +| ---------- | ----- | --- | + +Partie 1 › Projet › Liste des Perso-Dossiers +Perso-Dossier Nom +ETAT_SLAMM_FicheIntervention_3 +ETAT_SLAMM_FicheIntervention_4 +Tableau bord FEN_Tableau_Bord_Client +FEN_Tableau_Bord_Contact +FEN_Tableau_Bord_Intervention +FEN_Tableau_Bord_Menu +FEN_Tableau_Bord_Site +FI_TableauBordModel +FI_TableauBordModelClient +FI_TableauBordModelContact +FI_TableauBordModelInter +FI_TableauBordModelMenu +FI_TableauBordModelSansParam +FI_TableauBordModelSite +Widgets FI_Ele_Client +FI_Ele_Inter +FI_Ele_Inter_Filtres +FI_Ele_Personne +FI_Ele_RDV +FI_Ele_RDV_Attente +FI_Ele_Site +Widgets Client FI_TdB_Fiche_Client +FI_TdB_Liste_Client_Site +Widgets Dossier FEN_Fiche_Dossier_Creation +FI_TdB_Liste_Dossier_Client +FI_TdB_Liste_Dossier_Contact +FI_TdB_Liste_Dossier_Site +Widgets Intervention FEN_Fiche_Action +FI_TdB_Actions +FI_TdB_Compte_Rendus +FI_TdB_ContactSite +FI_TdB_Documents +FI_TdB_Donneurs_Ordre +FI_TdB_Historique_Etat +FI_TdB_Information_Inter +06/08/2026 Batik 15 + +Partie 1 › Projet › Liste des Perso-Dossiers +Perso-Dossier Nom +FI_TdB_Message_Externe +FI_TdB_Note_Interne +FI_TdB_Notes_Admin +FI_TdB_Rapports +FI_TdB_RDV +FI_TdB_Site +FI_TdB_Suivi_Temps +| Widgets Site | | FI_TdB_Fiche_Site | | +| ------------ | --- | ----------------- | --- | +FI_TdB_Liste_Site_Client +FI_TdB_Liste_Site_Contact +| Widgets contact | | FI_Liste_Contact_Site | | +| --------------- | --- | --------------------- | --- | +FI_TdB_Contact_Client +FI_TdB_Fiche_Contact +Projet +Code +Initialisation de Batik +| CouleurBase | est un Couleur | = RVB(82, 42, 155) | | +| --------------------------------- | -------------- | ------------------ | --- | +| Palette_du_projet est une Palette | | | | +GenereTheme(CouleurBase,Faux) +| Palette_Original_projet | est une Palette | | | +| ----------------------- | --------------- | --- | --- | +constante +| cNomApp | = "Omika" | | | +| ---------------- | ---------------- | --- | --- | +| cRepertoireIni | = cNomApp | | | +| cNomFichierIni | = cNomApp+".ini" | | | +| cOUI | = 1 | | | +| cNON | = 2 | | | +| ErrBlocageHFSQL | = 70100 | | | +NBPixelesXMilimetres = 3.7795275591 +fin +| gsaLogoOmika | est une chaîne ANSI | | | +| ------------- | ------------------- | --- | --- | +gsuFicIni est une chaîne Unicode = ComplèteRep(fRepGlobalCommun)+cRepertoireIni+["\" +]+cNomFichierIni +| UneErreur | est un ErreurApp | | | +| --------------- | ---------------------- | --- | --- | +| ConnexionBase | est une ConnexionHFSQL | | | +| gsaLibConnexion | est une chaîne ANSI | | | +| gsaCodeClient | est une chaîne ANSI | | | +gsaCleUser est un chaîne = ConnexionHFSQL::cMdp1+ConnexionHFSQL::cMdp2+ +ConnexionHFSQL::cMdp3 +| 06/08/2026 | | Batik | 16 | +| ---------- | --- | ----- | --- | + +Partie 1 › Projet › Code +gsaCleMdp est une chaîne = ConnexionHFSQL::cMdp1+ConnexionHFSQL::cMdp3+ +ConnexionHFSQL::cMdp2 +| gbBATIGESTActif | est un booléen | | | +| ---------------------------------------------------- | ------------------- | --- | --- | +| gTbConfigsBDExt est un tableau de MConnexionBaseExt | | | | +| //gsaURLWSLicenceTest | est une chaîne ANSI | = " | | +https://omika.applilogik.fr/WS_LICENCE_V2_WEB/awws/WS_LICENCE_V2.awws" +| gsaURLWSLicenceTest | est une chaîne ANSI | = " | | +| ------------------- | ------------------- | --- | --- | +http://crm.artisanspartenaires.com/WS_LICENCE_V2_WEB/awws/WS_LICENCE_V2.awws" +si pas ConnexionBase:Init() alors +FinProgramme() +fin +| CollaborateurEnCours | est un MCollaborateur | | | +| -------------------- | ------------------------------------- | --- | --- | +| gtabListeSocietes | est un tableau associatif de MSociete | | | +gtabParametresMetierCode est un tableau associatif (*, *, wlChaîneAnsi) de tableau associatif (*, *, +wlChaîneAnsi) de MParametreMetier +gtbaParametresAppli est un tableau associatif de MParametreAppli +gtabListeCollaborateurs est un tableau associatif de MCollaborateur +gtbaListeUtilisateurs est un tableau associatif de MUtilisateur +| gtbaAliasFenSouers | est un tableau associatif de chaînes | | | +| ------------------ | ------------------------------------ | --- | --- | +| gtbaAliasFenOnglet | est un tableau associatif de chaînes | | | +gtbEnteteParametresMetier est un tableau associatif de chaînes ANSI +| gtbaListeRoles | est un tableau associatif de MRole | | | +| --------------- | ---------------------------------------- | --- | --- | +| gtbListeRubDoc | est un tableau de STJSON_MembreRubChamps | | | +gtbaElementsASurveiller est un tableau associatif <section critique> de STSurveilleEnrg +| gtbaModelesMail | est un tableau associatif de MModeleMail | | | +| ---------------- | ---------------------------------------- | --- | --- | +gtbaModelesRapport est un tableau associatif de MModeleRapport +gtbaElementsModifiesInter est un tableau associatif <section critique> de MElementModifie +gtbaElementsModifiesSite est un tableau associatif <section critique> de MElementModifie +gtbaElementsModifiesClient est un tableau associatif <section critique> de MElementModifie +gtbaElementsModifiesCtc est un tableau associatif <section critique> de MElementModifie +gtbaElementsModifiesRDV est un tableau associatif <section critique> de MElementModifie +gtbaProceduresMaJWidget est un tableau associatif <section critique> de Procedures +gtbaListeEtat est un tableau associatif (*, *, wlChaîneAnsi) de tableau associatif (*, +*, wlEntier_8) de MEtats +gtbaDocAide est un tableau associatif (*, *, wlChaîneAnsi) de tableau associatif (*, +*, wlChaîneAnsi) de MDocAide +//*******************************// +// A Supprimer plus tard // +//*******************************// +gtabParametresMetierId est un tableau associatif de MParametreMetier +| gEmentsAttenteMaJ | est une File de STElementsHSurveille | | | +| ------------------ | ------------------------------------ | --- | --- | +gtbaEnrgDansLaFile est un tableau associatif <section critique> de chaînes ANSI +// pour éviter les doublons dans la file +| gbMaJUiParThread est un booléen <section critique> = False | | | | +| ----------------------------------------------------------- | --- | --- | --- | +// vrai si le thread surveille tourne +gsServeurBatik est une chaîne ANSI = INILit("SysLog","Serveur","",gsuFicIni) +gsPortServeurBatik est une chaîne ANSI = INILit("SysLog","Port","",gsuFicIni) +//Configuration du composant Syslog utilisé pour tracer l'application dans la base SYSLOG +LogConnecteBase(gsServeurBatik+":"+gsPortServeurBatik,"AdminSyslog","AdminSyslog","SYSLOG",Faux,"") +LogInitialise(ExeInfo(exeNom),NetNomMachine(),RéseauUtilisateur()) +LogEcrit("Démarrage",eInfo) +//// Intégrer les fichiers "KeyConst.WL" et "WinConst.WL" +externe "KeyConst.WL" +externe "WinConst.WL" +gsaNomChampEnCours est une chaîne ANSI +| 06/08/2026 | | Batik | 17 | +| ---------- | --- | ----- | --- | + +Partie 1 › Projet › Erreurs, warnings et informations +Projet +Erreurs, warnings et informations +ennoloC +| | Détail de l'erreur | | Localisation | engiL | +| --- | ------------------ | --- | ------------ | ----- | +L'élément 'Collaborateur.CO_IDCivilite' est un élément zombie, il ne devrait plus être utilisé. FEN_Fiche_Colb.PROCEDURE.Control +| | | | eLogin | 6 1 | +| --- | --- | --- | ------ | --- | +Procédure locale +L'élément 'Collaborateur.CO_IDStatut' est un élément zombie, il ne devrait plus être utilisé. FEN_Fiche_Colb.PROCEDURE.Control +| | | | eLogin | 6 1 | +| --- | --- | --- | ------ | --- | +Procédure locale +'Décrypte' est conservé pour compatibilité dans cette version. FEN_Fiche_Societe.PROCEDURE.Filtre +Adresse +11 36 +Procédure locale +L'élément 'Personne.PE_IDCivilite' est un élément zombie, il ne devrait plus être utilisé. FEN_Fiche_RDV.PROCEDURE.FiltrerC +| | | | ontacts | 15 1 | +| --- | --- | --- | ------- | ---- | +Procédure locale +L'élément 'Personne.PE_IDRole' est un élément zombie, il ne devrait plus être utilisé. FEN_Fiche_RDV.PROCEDURE.FiltrerC +| | | | ontacts | 15 1 | +| --- | --- | --- | ------- | ---- | +Procédure locale +L'élément 'EI_IDEtat' est un élément zombie, il ne devrait plus être utilisé. FEN_Fiche_Dossier_Creation.PROCE +| | | | DURE.Enregistrer | 20 21 | +| --- | --- | --- | ---------------- | ----- | +Procédure locale +L'élément 'Document.DC_Categorie' est un élément zombie, il ne devrait plus être utilisé. FEN_Creation_Doc_Rub.PROCEDURE. +ChargePhotoInter +29 1 +Procédure locale +L'élément 'Document.DC_IDEtatDocument' est un élément zombie, il ne devrait plus être FEN_Creation_Doc_Rub.PROCEDURE. +| utilisé. | | | ChargePhotoInter | 29 1 | +| -------- | --- | --- | ---------------- | ---- | +Procédure locale +Cette syntaxe de ThreadExécute déclenche un thread non sécurisé. FEN_Creation_Doc_Rub.PROCEDURE. +Pour un thread sécurisé, utilisez la syntaxe qui renvoie un objet Thread sécurisé (ou bien ChargePhotoInter +72 7 +ajoutez la constante threadSécurisé) et gérez la terminaison du thread par la fonction Procédure locale +ThreadArrêtDemandé. +L'élément 'Personne.PE_IDCivilite' est un élément zombie, il ne devrait plus être utilisé. FEN_Creation_Doc_Rub.PROCEDURE. +| | | | ChargeDonneursOrdre | 14 1 | +| --- | --- | --- | ------------------- | ---- | +Procédure locale +L'élément 'Personne.PE_IDRole' est un élément zombie, il ne devrait plus être utilisé. FEN_Creation_Doc_Rub.PROCEDURE. +ChargeDonneursOrdre +14 1 +Procédure locale +L'élément 'Intervention_Personne.IP_IDRole' est un élément zombie, il ne devrait plus être FEN_Creation_Doc_Rub.PROCEDURE. +| utilisé. | | | ChargeDonneursOrdre | 14 1 | +| -------- | --- | --- | ------------------- | ---- | +Procédure locale +L'élément 'Document.DC_Categorie' est un élément zombie, il ne devrait plus être utilisé. FEN_Email_Nouveau_Inter.PROCEDU +| | | | RE.ChargeDocs | 14 1 | +| --- | --- | --- | ------------- | ---- | +Procédure locale +L'élément 'Document.DC_IDEtatDocument' est un élément zombie, il ne devrait plus être FEN_Email_Nouveau_Inter.PROCEDU +| utilisé. | | | RE.ChargeDocs | 14 1 | +| -------- | --- | --- | ------------- | ---- | +Procédure locale +Cette syntaxe de ThreadExécute déclenche un thread non sécurisé. FEN_Email_Nouveau_Inter.PROCEDU +Pour un thread sécurisé, utilisez la syntaxe qui renvoie un objet Thread sécurisé (ou bien RE.ChargeDocs +ajoutez la constante threadSécurisé) et gérez la terminaison du thread par la fonction Procédure locale 52 5 +ThreadArrêtDemandé. +L'élément 'Personne.PE_IDCivilite' est un élément zombie, il ne devrait plus être utilisé. FEN_Creation_Doc_Rub.PROCEDURE. +| | | | ChargeCtcSite | 14 1 | +| --- | --- | --- | ------------- | ---- | +Procédure locale +L'élément 'Personne.PE_IDRole' est un élément zombie, il ne devrait plus être utilisé. FEN_Creation_Doc_Rub.PROCEDURE. +| | | | ChargeCtcSite | 14 1 | +| --- | --- | --- | ------------- | ---- | +Procédure locale +L'élément 'Intervention_Personne.IP_IDRole' est un élément zombie, il ne devrait plus être FEN_Creation_Doc_Rub.PROCEDURE. +| utilisé. | | | ChargeCtcSite | 14 1 | +| -------- | --- | --- | ------------- | ---- | +Procédure locale +| 06/08/2026 | | Batik | | 18 | +| ---------- | --- | ----- | --- | --- | + +Partie 1 › Projet › Erreurs, warnings et informations +ennoloC +engiL +Détail de l'erreur Localisation +L'élément 'Collaborateur.CO_IDCivilite' est un élément zombie, il ne devrait plus être utilisé. FEN_Parametre_Liste_Colb_AGD.PRO +CEDURE.SelEqComplet +7 88 +Procédure locale +L'élément 'Collaborateur.CO_IDCivilite' est un élément zombie, il ne devrait plus être utilisé. FEN_Parametre_Liste_Colb_AGD.PRO +| | | CEDURE.FiltrerColbs | 40 73 | +| --- | --- | ------------------- | ----- | +Procédure locale +L'élément 'Collaborateur.CO_IDCivilite' est un élément zombie, il ne devrait plus être utilisé. FEN_Parametre_Liste_Colb_AGD.PRO +| | | CEDURE.FiltrerColbs | 72 50 | +| --- | --- | ------------------- | ----- | +Procédure locale +L'élément 'SuiviDesTemps.SDT_Libelle' est un élément zombie, il ne devrait plus être utilisé. FEN_Fiche_Suivi_Temps_RDV.PROCE +| | | DURE.Filtrer | 9 1 | +| --- | --- | ------------ | --- | +Procédure locale +L'élément 'SuiviDesTemps.SDT_IDTypeTemps' est un élément zombie, il ne devrait plus être FEN_Fiche_Suivi_Temps_RDV.PROCE +| utilisé. | | DURE.Filtrer | | +| -------- | --- | ------------ | --- | +9 1 +Procédure locale +L'élément 'SuiviDesTemps.SDT_IDTypeRdv' est un élément zombie, il ne devrait plus être FEN_Fiche_Suivi_Temps_RDV.PROCE +| utilisé. | | DURE.Filtrer | 9 1 | +| -------- | --- | ------------ | --- | +Procédure locale +L'élément 'Collaborateur.CO_IDCivilite' est un élément zombie, il ne devrait plus être utilisé. FEN_Fiche_Equipe.PROCEDURE.Filtre +| | | TableColb | 10 1 | +| --- | --- | --------- | ---- | +Procédure locale +L'élément 'Collaborateur.CO_IDStatut' est un élément zombie, il ne devrait plus être utilisé. FEN_Fiche_Equipe.PROCEDURE.Filtre +| | | TableColb | 10 1 | +| --- | --- | --------- | ---- | +Procédure locale +L'élément 'Intervention.IN_IDTypeIntervention' est un élément zombie, il ne devrait plus être FEN_RDV_Attente.PROCEDURE.Ouvri +| utilisé. | | rRDV | | +| -------- | --- | ---- | --- | +14 1 +Procédure locale +L'élément 'Intervention.IN_IDEtatIntervention' est un élément zombie, il ne devrait plus être FEN_RDV_Attente.PROCEDURE.Ouvri +| utilisé. | | rRDV | 14 1 | +| -------- | --- | ---- | ---- | +Procédure locale +L'élément 'Client.CL_IDType' est un élément zombie, il ne devrait plus être utilisé. FEN_RDV_Attente.PROCEDURE.Ouvri +| | | rRDV | 14 1 | +| --- | --- | ---- | ---- | +Procédure locale +L'élément 'Client.CL_IDStatut' est un élément zombie, il ne devrait plus être utilisé. FEN_RDV_Attente.PROCEDURE.Ouvri +| | | rRDV | 14 1 | +| --- | --- | ---- | ---- | +Procédure locale +L'élément 'Client.CL_IDApporteur' est un élément zombie, il ne devrait plus être utilisé. FEN_RDV_Attente.PROCEDURE.Ouvri +rRDV +14 1 +Procédure locale +L'élément 'Client.CL_IDApportOrigine' est un élément zombie, il ne devrait plus être utilisé. FEN_RDV_Attente.PROCEDURE.Ouvri +| | | rRDV | 14 1 | +| --- | --- | ---- | ---- | +Procédure locale +L'élément 'Client.CL_IDModeReglement' est un élément zombie, il ne devrait plus être utilisé. FEN_RDV_Attente.PROCEDURE.Ouvri +| | | rRDV | 14 1 | +| --- | --- | ---- | ---- | +Procédure locale +L'élément 'Lieu.LI_IDType' est un élément zombie, il ne devrait plus être utilisé. FEN_RDV_Attente.PROCEDURE.Ouvri +| | | rRDV | 14 1 | +| --- | --- | ---- | ---- | +Procédure locale +L'élément 'Adresse.AD_Ligne_1' est un élément zombie, il ne devrait plus être utilisé. FEN_RDV_Attente.PROCEDURE.Ouvri +rRDV +14 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_2' est un élément zombie, il ne devrait plus être utilisé. FEN_RDV_Attente.PROCEDURE.Ouvri +| | | rRDV | 14 1 | +| --- | --- | ---- | ---- | +Procédure locale +L'élément 'Adresse.AD_Ligne_3' est un élément zombie, il ne devrait plus être utilisé. FEN_RDV_Attente.PROCEDURE.Ouvri +| | | rRDV | 14 1 | +| --- | --- | ---- | ---- | +Procédure locale +L'élément 'Adresse.AD_Ligne_4' est un élément zombie, il ne devrait plus être utilisé. FEN_RDV_Attente.PROCEDURE.Ouvri +| | | rRDV | 14 1 | +| --- | --- | ---- | ---- | +Procédure locale +L'élément 'Adresse.AD_Ligne_5' est un élément zombie, il ne devrait plus être utilisé. FEN_RDV_Attente.PROCEDURE.Ouvri +rRDV +14 1 +Procédure locale +| 06/08/2026 | Batik | | 19 | +| ---------- | ----- | --- | --- | + +Partie 1 › Projet › Erreurs, warnings et informations +ennoloC +engiL +Détail de l'erreur Localisation +L'élément 'Client_Adresse.CA_IDTypeAdresse' est un élément zombie, il ne devrait plus être FEN_Fiche_Adresse.PROCEDURE.Filtr +| utilisé. | | er | | +| -------- | --- | --- | --- | +9 1 +Procédure locale +L'élément 'adresse.AD_Ligne_1' est un élément zombie, il ne devrait plus être utilisé. FEN_Fiche_Adresse.PROCEDURE.Filtr +| | | er | 9 1 | +| --- | --- | --- | --- | +Procédure locale +L'élément 'adresse.AD_Ligne_2' est un élément zombie, il ne devrait plus être utilisé. FEN_Fiche_Adresse.PROCEDURE.Filtr +| | | er | 9 1 | +| --- | --- | --- | --- | +Procédure locale +L'élément 'adresse.AD_Ligne_3' est un élément zombie, il ne devrait plus être utilisé. FEN_Fiche_Adresse.PROCEDURE.Filtr +| | | er | 9 1 | +| --- | --- | --- | --- | +Procédure locale +L'élément 'adresse.AD_Ligne_4' est un élément zombie, il ne devrait plus être utilisé. FEN_Fiche_Adresse.PROCEDURE.Filtr +er +9 1 +Procédure locale +L'élément 'adresse.AD_Ligne_5' est un élément zombie, il ne devrait plus être utilisé. FEN_Fiche_Adresse.PROCEDURE.Filtr +| | | er | 9 1 | +| --- | --- | --- | --- | +Procédure locale +L'élément 'Document.DC_Categorie' est un élément zombie, il ne devrait plus être utilisé. FEN_Rapport_Document_Inter.PROC +| | | EDURE.ChargeDocs | 19 1 | +| --- | --- | ---------------- | ---- | +Procédure locale +L'élément 'Document.DC_IDEtatDocument' est un élément zombie, il ne devrait plus être FEN_Rapport_Document_Inter.PROC +| utilisé. | | EDURE.ChargeDocs | 19 1 | +| -------- | --- | ---------------- | ---- | +Procédure locale +Cette syntaxe de ThreadExécute déclenche un thread non sécurisé. FEN_Rapport_Document_Inter.PROC +Pour un thread sécurisé, utilisez la syntaxe qui renvoie un objet Thread sécurisé (ou bien EDURE.ChargeDocs +ajoutez la constante threadSécurisé) et gérez la terminaison du thread par la fonction Procédure locale 46 5 +ThreadArrêtDemandé. +L'élément 'SuiviDesTemps.SDT_Libelle' est un élément zombie, il ne devrait plus être utilisé. FEN_Liste_Colb_Suivi_Temps.PROCE +| | | DURE.Filtrer | 42 1 | +| --- | --- | ------------ | ---- | +Procédure locale +L'élément 'SuiviDesTemps.SDT_IDTypeTemps' est un élément zombie, il ne devrait plus être FEN_Liste_Colb_Suivi_Temps.PROCE +| utilisé. | | DURE.Filtrer | 42 1 | +| -------- | --- | ------------ | ---- | +Procédure locale +L'élément 'SuiviDesTemps.SDT_IDTypeRdv' est un élément zombie, il ne devrait plus être FEN_Liste_Colb_Suivi_Temps.PROCE +| utilisé. | | DURE.Filtrer | 42 1 | +| -------- | --- | ------------ | ---- | +Procédure locale +L'élément 'Client_Adresse.CA_IDTypeAdresse' est un élément zombie, il ne devrait plus être FI_TdB_Fiche_Client.PROCEDURE.Filtr +| utilisé. | | erCoord | | +| -------- | --- | ------- | --- | +12 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_1' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Fiche_Client.PROCEDURE.Filtr +| | | erCoord | 12 1 | +| --- | --- | ------- | ---- | +Procédure locale +L'élément 'Adresse.AD_Ligne_2' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Fiche_Client.PROCEDURE.Filtr +| | | erCoord | 12 1 | +| --- | --- | ------- | ---- | +Procédure locale +L'élément 'Adresse.AD_Ligne_3' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Fiche_Client.PROCEDURE.Filtr +| | | erCoord | 12 1 | +| --- | --- | ------- | ---- | +Procédure locale +L'élément 'Adresse.AD_Ligne_4' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Fiche_Client.PROCEDURE.Filtr +erCoord +12 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_5' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Fiche_Client.PROCEDURE.Filtr +| | | erCoord | 12 1 | +| --- | --- | ------- | ---- | +Procédure locale +L'élément 'Intervention_Personne.IP_IDRole' est un élément zombie, il ne devrait plus être FI_TdB_Fiche_Contact.PROCEDURE.Fi +| utilisé. | | ltrerSelonFen | 27 1 | +| -------- | --- | ------------- | ---- | +Procédure locale +L'élément 'Personne.PE_IDCivilite' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Fiche_Contact.PROCEDURE.Fi +| | | ltrerSelonFen | 27 1 | +| --- | --- | ------------- | ---- | +Procédure locale +L'élément 'Personne.PE_IDRole' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Fiche_Contact.PROCEDURE.Fi +ltrerSelonFen +27 1 +Procédure locale +| 06/08/2026 | Batik | | 20 | +| ---------- | ----- | --- | --- | + +Partie 1 › Projet › Erreurs, warnings et informations +Détail de l'erreur Localisation +06/08/2026 Batik 21 +engiL +ennoloC +L'élément 'Lieu_Personne.LIP_IDRole' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Fiche_Contact.PROCEDURE.Fi +ltrerSelonFen 38 1 +Procédure locale +L'élément 'Lieu_Personne.LIP_IDTypeLieuPersonne' est un élément zombie, il ne devrait plus FI_TdB_Fiche_Contact.PROCEDURE.Fi +être utilisé. ltrerSelonFen 38 1 +Procédure locale +L'élément 'Personne.PE_IDCivilite' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Fiche_Contact.PROCEDURE.Fi +ltrerSelonFen 38 1 +Procédure locale +L'élément 'Personne.PE_IDRole' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Fiche_Contact.PROCEDURE.Fi +ltrerSelonFen 38 1 +Procédure locale +L'élément 'personne.PE_IDCivilite' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Fiche_Contact.PROCEDURE.Fi +ltrerSelonFen 47 1 +Procédure locale +L'élément 'personne.PE_IDRole' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Fiche_Contact.PROCEDURE.Fi +ltrerSelonFen 47 1 +Procédure locale +L'élément 'Lieu.LI_IDType' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Site.PROCEDURE.Filtrer +11 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_1' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Site.PROCEDURE.Filtrer +11 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_2' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Site.PROCEDURE.Filtrer +11 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_3' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Site.PROCEDURE.Filtrer +11 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_4' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Site.PROCEDURE.Filtrer +11 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_5' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Site.PROCEDURE.Filtrer +11 1 +Procédure locale +L'élément 'SuiviDesTemps.SDT_Libelle' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Suivi_Temps.PROCEDURE.Filt +rerSuiviTemp 5 1 +Procédure locale +L'élément 'SuiviDesTemps.SDT_IDTypeTemps' est un élément zombie, il ne devrait plus être FI_TdB_Suivi_Temps.PROCEDURE.Filt +utilisé. rerSuiviTemp 5 1 +Procédure locale +L'élément 'SuiviDesTemps.SDT_IDTypeRdv' est un élément zombie, il ne devrait plus être FI_TdB_Suivi_Temps.PROCEDURE.Filt +utilisé. rerSuiviTemp 5 1 +Procédure locale +Cette syntaxe de ThreadExécute déclenche un thread non sécurisé. FEN_Menu +Pour un thread sécurisé, utilisez la syntaxe qui renvoie un objet Thread sécurisé (ou bien Fin d'initialisation de FEN_Menu +8 2 +ajoutez la constante threadSécurisé) et gérez la terminaison du thread par la fonction +ThreadArrêtDemandé. +L'élément 'CompteRendu.CR_DateHeureDebut' est un élément zombie, il ne devrait plus être FEN_CompteRendus.PROCEDURE.Filt +utilisé. rer 7 1 +Procédure locale +L'élément 'CompteRendu.CR_DateHeureFin' est un élément zombie, il ne devrait plus être FEN_CompteRendus.PROCEDURE.Filt +utilisé. rer 7 1 +Procédure locale +L'élément 'CompteRendu.CR_IDTypeSignataire' est un élément zombie, il ne devrait plus être FEN_CompteRendus.PROCEDURE.Filt +utilisé. rer 7 1 +Procédure locale +Cette variable est utilisée par une fonction ou une propriété qui attend une chaîne secrète. Batik +26 1 +Elle devrait être de type 'ChaîneSecrète' et son contenu stocké dans un coffre-fort. Initialisation de Batik +Cette chaîne est utilisée par une fonction ou une propriété qui attend une chaîne secrète. Batik +26 33 +Elle devrait être stockée dans un coffre-fort. Initialisation de Batik +L'élément 'Intervention.IN_IDTypeIntervention' est un élément zombie, il ne devrait plus être MEtat_Intervention.filtrer +9 1 +utilisé. Procédure locale +L'élément 'Intervention.IN_IDEtatIntervention' est un élément zombie, il ne devrait plus être MEtat_Intervention.filtrer +9 1 +utilisé. Procédure locale +L'élément 'Intervention_Personne.IP_IDRole' est un élément zombie, il ne devrait plus être MEtat_Intervention.filtrer +9 1 +utilisé. Procédure locale +L'élément 'personne.PE_IDCivilite' est un élément zombie, il ne devrait plus être utilisé. MEtat_Intervention.filtrer +9 1 +Procédure locale + +Partie 1 › Projet › Erreurs, warnings et informations +Détail de l'erreur Localisation +06/08/2026 Batik 22 +engiL +ennoloC +L'élément 'personne.PE_IDRole' est un élément zombie, il ne devrait plus être utilisé. MEtat_Intervention.filtrer +9 1 +Procédure locale +L'élément 'Client.CL_IDType' est un élément zombie, il ne devrait plus être utilisé. MEtat_Intervention.filtrer +9 1 +Procédure locale +L'élément 'Client.CL_IDStatut' est un élément zombie, il ne devrait plus être utilisé. MEtat_Intervention.filtrer +9 1 +Procédure locale +L'élément 'Client.CL_IDApporteur' est un élément zombie, il ne devrait plus être utilisé. MEtat_Intervention.filtrer +9 1 +Procédure locale +L'élément 'Client.CL_IDApportOrigine' est un élément zombie, il ne devrait plus être utilisé. MEtat_Intervention.filtrer +9 1 +Procédure locale +L'élément 'Client.CL_IDModeReglement' est un élément zombie, il ne devrait plus être utilisé. MEtat_Intervention.filtrer +9 1 +Procédure locale +L'élément 'Lieu.LI_IDType' est un élément zombie, il ne devrait plus être utilisé. MEtat_Intervention.filtrer +9 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_1' est un élément zombie, il ne devrait plus être utilisé. MEtat_Intervention.filtrer +9 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_2' est un élément zombie, il ne devrait plus être utilisé. MEtat_Intervention.filtrer +9 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_3' est un élément zombie, il ne devrait plus être utilisé. MEtat_Intervention.filtrer +9 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_4' est un élément zombie, il ne devrait plus être utilisé. MEtat_Intervention.filtrer +9 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_5' est un élément zombie, il ne devrait plus être utilisé. MEtat_Intervention.filtrer +9 1 +Procédure locale +L'élément 'Personne.PE_IDCivilite' est un élément zombie, il ne devrait plus être utilisé. MEtat_Deplacement.Filtrer +9 1 +Procédure locale +L'élément 'Personne.PE_IDRole' est un élément zombie, il ne devrait plus être utilisé. MEtat_Deplacement.Filtrer +9 1 +Procédure locale +L'élément 'Intervention.IN_IDTypeIntervention' est un élément zombie, il ne devrait plus être MEtat_Deplacement.Filtrer +9 1 +utilisé. Procédure locale +L'élément 'Intervention.IN_IDEtatIntervention' est un élément zombie, il ne devrait plus être MEtat_Deplacement.Filtrer +9 1 +utilisé. Procédure locale +L'élément 'Intervention_Personne.IP_IDRole' est un élément zombie, il ne devrait plus être MEtat_Deplacement.Filtrer +9 1 +utilisé. Procédure locale +L'élément 'Client.CL_IDType' est un élément zombie, il ne devrait plus être utilisé. MEtat_Deplacement.Filtrer +9 1 +Procédure locale +L'élément 'Client.CL_IDStatut' est un élément zombie, il ne devrait plus être utilisé. MEtat_Deplacement.Filtrer +9 1 +Procédure locale +L'élément 'Client.CL_IDApporteur' est un élément zombie, il ne devrait plus être utilisé. MEtat_Deplacement.Filtrer +9 1 +Procédure locale +L'élément 'Client.CL_IDApportOrigine' est un élément zombie, il ne devrait plus être utilisé. MEtat_Deplacement.Filtrer +9 1 +Procédure locale +L'élément 'Client.CL_IDModeReglement' est un élément zombie, il ne devrait plus être utilisé. MEtat_Deplacement.Filtrer +9 1 +Procédure locale +L'élément 'Lieu.LI_IDType' est un élément zombie, il ne devrait plus être utilisé. MEtat_Deplacement.Filtrer +9 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_1' est un élément zombie, il ne devrait plus être utilisé. MEtat_Deplacement.Filtrer +9 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_2' est un élément zombie, il ne devrait plus être utilisé. MEtat_Deplacement.Filtrer +9 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_3' est un élément zombie, il ne devrait plus être utilisé. MEtat_Deplacement.Filtrer +9 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_4' est un élément zombie, il ne devrait plus être utilisé. MEtat_Deplacement.Filtrer +9 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_5' est un élément zombie, il ne devrait plus être utilisé. MEtat_Deplacement.Filtrer +9 1 +Procédure locale +L'élément 'Intervention_Personne.IP_IDRole' est un élément zombie, il ne devrait plus être MEtat_Deplacement.Filtrer +96 1 +utilisé. Procédure locale +L'élément 'Personne.PE_IDCivilite' est un élément zombie, il ne devrait plus être utilisé. MEtat_Deplacement.Filtrer +96 1 +Procédure locale +L'élément 'Personne.PE_IDRole' est un élément zombie, il ne devrait plus être utilisé. MEtat_Deplacement.Filtrer +96 1 +Procédure locale + +Partie 1 › Projet › Erreurs, warnings et informations +Détail de l'erreur Localisation +06/08/2026 Batik 23 +engiL +ennoloC +'Crypte' est conservé pour compatibilité dans cette version. MSociete.Enregistrer +4 26 +Procédure locale +Ce paramètre attend une chaîne secrète. ConnexionHFSQL.OuvreConnexionB +Utilisez un coffre-fort pour stocker la chaîne secrète. ase 18 24 +Procédure locale +Ce paramètre attend une chaîne secrète. ConnexionHFSQL.OuvreConnexionB +Utilisez un coffre-fort pour stocker la chaîne secrète. ase 19 23 +Procédure locale +L'élément 'Intervention.IN_IDTypeIntervention' est un élément zombie, il ne devrait plus être FI_Ele_RDV.PROCEDURE.Filtrer +36 1 +utilisé. Procédure locale +L'élément 'Intervention.IN_IDEtatIntervention' est un élément zombie, il ne devrait plus être FI_Ele_RDV.PROCEDURE.Filtrer +36 1 +utilisé. Procédure locale +L'élément 'Client.CL_IDType' est un élément zombie, il ne devrait plus être utilisé. FI_Ele_RDV.PROCEDURE.Filtrer +36 1 +Procédure locale +L'élément 'Client.CL_IDStatut' est un élément zombie, il ne devrait plus être utilisé. FI_Ele_RDV.PROCEDURE.Filtrer +36 1 +Procédure locale +L'élément 'Client.CL_IDApporteur' est un élément zombie, il ne devrait plus être utilisé. FI_Ele_RDV.PROCEDURE.Filtrer +36 1 +Procédure locale +L'élément 'Client.CL_IDApportOrigine' est un élément zombie, il ne devrait plus être utilisé. FI_Ele_RDV.PROCEDURE.Filtrer +36 1 +Procédure locale +L'élément 'Client.CL_IDModeReglement' est un élément zombie, il ne devrait plus être utilisé. FI_Ele_RDV.PROCEDURE.Filtrer +36 1 +Procédure locale +L'élément 'Lieu.LI_IDType' est un élément zombie, il ne devrait plus être utilisé. FI_Ele_RDV.PROCEDURE.Filtrer +36 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_1' est un élément zombie, il ne devrait plus être utilisé. FI_Ele_RDV.PROCEDURE.Filtrer +36 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_2' est un élément zombie, il ne devrait plus être utilisé. FI_Ele_RDV.PROCEDURE.Filtrer +36 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_3' est un élément zombie, il ne devrait plus être utilisé. FI_Ele_RDV.PROCEDURE.Filtrer +36 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_4' est un élément zombie, il ne devrait plus être utilisé. FI_Ele_RDV.PROCEDURE.Filtrer +36 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_5' est un élément zombie, il ne devrait plus être utilisé. FI_Ele_RDV.PROCEDURE.Filtrer +36 1 +Procédure locale +L'élément 'Document.DC_Categorie' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Rapports.PROCEDURE.Filtrer +13 1 +Procédure locale +L'élément 'Document.DC_IDEtatDocument' est un élément zombie, il ne devrait plus être FI_TdB_Rapports.PROCEDURE.Filtrer +13 1 +utilisé. Procédure locale +Cette syntaxe de ThreadExécute déclenche un thread non sécurisé. FI_TdB_Rapports.PROCEDURE.Filtrer +Pour un thread sécurisé, utilisez la syntaxe qui renvoie un objet Thread sécurisé (ou bien Procédure locale +50 4 +ajoutez la constante threadSécurisé) et gérez la terminaison du thread par la fonction +ThreadArrêtDemandé. +L'élément 'SuiviDesTemps.SDT_Libelle' est un élément zombie, il ne devrait plus être utilisé. FEN_Suivi_Temps.PROCEDURE.Filtrer +SuiviTemp 9 1 +Procédure locale +L'élément 'SuiviDesTemps.SDT_IDTypeTemps' est un élément zombie, il ne devrait plus être FEN_Suivi_Temps.PROCEDURE.Filtrer +utilisé. SuiviTemp 9 1 +Procédure locale +L'élément 'SuiviDesTemps.SDT_IDTypeRdv' est un élément zombie, il ne devrait plus être FEN_Suivi_Temps.PROCEDURE.Filtrer +utilisé. SuiviTemp 9 1 +Procédure locale +L'élément 'Document.DC_Categorie' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Documents.PROCEDURE.Filtr +er 20 1 +Procédure locale +L'élément 'Document.DC_IDEtatDocument' est un élément zombie, il ne devrait plus être FI_TdB_Documents.PROCEDURE.Filtr +utilisé. er 20 1 +Procédure locale +L'élément 'Lieu.LI_IDType' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Liste_Site_Contact.PROCEDU +RE.Filtrer 16 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_1' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Liste_Site_Contact.PROCEDU +RE.Filtrer 16 1 +Procédure locale + +Partie 1 › Projet › Erreurs, warnings et informations +ennoloC +engiL +Détail de l'erreur Localisation +L'élément 'Adresse.AD_Ligne_2' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Liste_Site_Contact.PROCEDU +RE.Filtrer +16 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_3' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Liste_Site_Contact.PROCEDU +| | | RE.Filtrer | 16 1 | +| --- | --- | ---------- | ---- | +Procédure locale +L'élément 'Adresse.AD_Ligne_4' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Liste_Site_Contact.PROCEDU +| | | RE.Filtrer | 16 1 | +| --- | --- | ---------- | ---- | +Procédure locale +L'élément 'Adresse.AD_Ligne_5' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Liste_Site_Contact.PROCEDU +| | | RE.Filtrer | 16 1 | +| --- | --- | ---------- | ---- | +Procédure locale +L'élément 'LIP_IDRole' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Liste_Site_Contact.FI_TdB_List +e_Site_Contact.CMOD_Table.TABLE_I +nfo.COL_Role +| | | Sélection d'une ligne de | 15 18 | +| --- | --- | ------------------------- | ----- | +FI_TdB_Liste_Site_Contact.FI_TdB_List +e_Site_Contact.CMOD_Table.TABLE_I +nfo.COL_Role +L'élément 'LIP_IDRole' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Liste_Site_Contact.FI_TdB_List +e_Site_Contact.CMOD_Table.TABLE_I +nfo.COL_Role +| | | Sélection d'une ligne de | 17 18 | +| --- | --- | ------------------------- | ----- | +FI_TdB_Liste_Site_Contact.FI_TdB_List +e_Site_Contact.CMOD_Table.TABLE_I +nfo.COL_Role +L'élément 'LIP_IDRole' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_ContactSite.PROCEDURE.Atta +| | | cher | 23 18 | +| --- | --- | ---- | ----- | +Procédure locale +L'élément 'Personne.PE_IDCivilite' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_ContactSite.PROCEDURE.Filtr +er +12 1 +Procédure locale +L'élément 'Personne.PE_IDRole' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_ContactSite.PROCEDURE.Filtr +| | | er | 12 1 | +| --- | --- | --- | ---- | +Procédure locale +L'élément 'Intervention_Personne.IP_IDRole' est un élément zombie, il ne devrait plus être FI_TdB_ContactSite.PROCEDURE.Filtr +| utilisé. | | er | 12 1 | +| -------- | --- | --- | ---- | +Procédure locale +L'élément 'LIP_IDRole' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Donneurs_Ordre.PROCEDUR +| | | E.Attacher | 19 18 | +| --- | --- | ---------- | ----- | +Procédure locale +L'élément 'Intervention.IN_IDTypeIntervention' est un élément zombie, il ne devrait plus être FI_Ele_RDV_Attente.PROCEDURE.Filtr +| utilisé. | | er | | +| -------- | --- | --- | --- | +10 1 +Procédure locale +L'élément 'Intervention.IN_IDEtatIntervention' est un élément zombie, il ne devrait plus être FI_Ele_RDV_Attente.PROCEDURE.Filtr +| utilisé. | | er | 10 1 | +| -------- | --- | --- | ---- | +Procédure locale +L'élément 'Client.CL_IDType' est un élément zombie, il ne devrait plus être utilisé. FI_Ele_RDV_Attente.PROCEDURE.Filtr +| | | er | 10 1 | +| --- | --- | --- | ---- | +Procédure locale +L'élément 'Client.CL_IDStatut' est un élément zombie, il ne devrait plus être utilisé. FI_Ele_RDV_Attente.PROCEDURE.Filtr +| | | er | 10 1 | +| --- | --- | --- | ---- | +Procédure locale +L'élément 'Client.CL_IDApporteur' est un élément zombie, il ne devrait plus être utilisé. FI_Ele_RDV_Attente.PROCEDURE.Filtr +er +10 1 +Procédure locale +L'élément 'Client.CL_IDApportOrigine' est un élément zombie, il ne devrait plus être utilisé. FI_Ele_RDV_Attente.PROCEDURE.Filtr +| | | er | 10 1 | +| --- | --- | --- | ---- | +Procédure locale +L'élément 'Client.CL_IDModeReglement' est un élément zombie, il ne devrait plus être utilisé. FI_Ele_RDV_Attente.PROCEDURE.Filtr +| | | er | 10 1 | +| --- | --- | --- | ---- | +Procédure locale +L'élément 'Lieu.LI_IDType' est un élément zombie, il ne devrait plus être utilisé. FI_Ele_RDV_Attente.PROCEDURE.Filtr +| | | er | 10 1 | +| --- | --- | --- | ---- | +Procédure locale +| 06/08/2026 | Batik | | 24 | +| ---------- | ----- | --- | --- | + +Partie 1 › Projet › Erreurs, warnings et informations +ennoloC +engiL +Détail de l'erreur Localisation +L'élément 'Adresse.AD_Ligne_1' est un élément zombie, il ne devrait plus être utilisé. FI_Ele_RDV_Attente.PROCEDURE.Filtr +er +10 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_2' est un élément zombie, il ne devrait plus être utilisé. FI_Ele_RDV_Attente.PROCEDURE.Filtr +| | | er | 10 1 | +| --- | --- | --- | ---- | +Procédure locale +L'élément 'Adresse.AD_Ligne_3' est un élément zombie, il ne devrait plus être utilisé. FI_Ele_RDV_Attente.PROCEDURE.Filtr +| | | er | 10 1 | +| --- | --- | --- | ---- | +Procédure locale +L'élément 'Adresse.AD_Ligne_4' est un élément zombie, il ne devrait plus être utilisé. FI_Ele_RDV_Attente.PROCEDURE.Filtr +| | | er | 10 1 | +| --- | --- | --- | ---- | +Procédure locale +L'élément 'Adresse.AD_Ligne_5' est un élément zombie, il ne devrait plus être utilisé. FI_Ele_RDV_Attente.PROCEDURE.Filtr +er +10 1 +Procédure locale +L'élément 'Personne.PE_IDCivilite' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Donneurs_Ordre.PROCEDUR +| | | E.Filtrer | 13 1 | +| --- | --- | --------- | ---- | +Procédure locale +L'élément 'Personne.PE_IDRole' est un élément zombie, il ne devrait plus être utilisé. FI_TdB_Donneurs_Ordre.PROCEDUR +| | | E.Filtrer | 13 1 | +| --- | --- | --------- | ---- | +Procédure locale +L'élément 'Intervention_Personne.IP_IDRole' est un élément zombie, il ne devrait plus être FI_TdB_Donneurs_Ordre.PROCEDUR +| utilisé. | | E.Filtrer | 13 1 | +| -------- | --- | --------- | ---- | +Procédure locale +L'élément 'Planning_RDV.PL_IDTypeActivite' est un élément zombie, il ne devrait plus être FEN_MaJParemApp.PROCEDURE.RqR +| utilisé. | | DVGroupeDate | | +| -------- | --- | ------------ | --- | +11 1 +Procédure locale +L'élément 'Planning_RDV.PL_IDStatut' est un élément zombie, il ne devrait plus être utilisé. FEN_MaJParemApp.PROCEDURE.RqR +| | | DVGroupeDate | 11 1 | +| --- | --- | ------------ | ---- | +Procédure locale +L'élément 'Planning_RDV.PL_IDOrigineAnnul' est un élément zombie, il ne devrait plus être FEN_MaJParemApp.PROCEDURE.RqR +| utilisé. | | DVGroupeDate | 11 1 | +| -------- | --- | ------------ | ---- | +Procédure locale +L'élément 'Planning_RDV.PL_IDMotifAnnul' est un élément zombie, il ne devrait plus être FEN_MaJParemApp.PROCEDURE.RqR +| utilisé. | | DVGroupeDate | 11 1 | +| -------- | --- | ------------ | ---- | +Procédure locale +L'élément 'Planning_RDV.PL_IDTypeActivite' est un élément zombie, il ne devrait plus être FEN_MaJParemApp.PROCEDURE.RqR +| utilisé. | | DVGroupe | | +| -------- | --- | -------- | --- | +11 1 +Procédure locale +L'élément 'Planning_RDV.PL_IDStatut' est un élément zombie, il ne devrait plus être utilisé. FEN_MaJParemApp.PROCEDURE.RqR +| | | DVGroupe | 11 1 | +| --- | --- | -------- | ---- | +Procédure locale +L'élément 'Planning_RDV.PL_IDOrigineAnnul' est un élément zombie, il ne devrait plus être FEN_MaJParemApp.PROCEDURE.RqR +| utilisé. | | DVGroupe | 11 1 | +| -------- | --- | -------- | ---- | +Procédure locale +L'élément 'Planning_RDV.PL_IDMotifAnnul' est un élément zombie, il ne devrait plus être FEN_MaJParemApp.PROCEDURE.RqR +| utilisé. | | DVGroupe | 11 1 | +| -------- | --- | -------- | ---- | +Procédure locale +L'élément 'Planning_RDV.PL_IDTypeActivite' est un élément zombie, il ne devrait plus être FEN_MaJParemApp.PROCEDURE.RqR +| utilisé. | | DVPlusieursJours | | +| -------- | --- | ---------------- | --- | +10 1 +Procédure locale +L'élément 'Planning_RDV.PL_IDStatut' est un élément zombie, il ne devrait plus être utilisé. FEN_MaJParemApp.PROCEDURE.RqR +| | | DVPlusieursJours | 10 1 | +| --- | --- | ---------------- | ---- | +Procédure locale +L'élément 'Planning_RDV.PL_IDOrigineAnnul' est un élément zombie, il ne devrait plus être FEN_MaJParemApp.PROCEDURE.RqR +| utilisé. | | DVPlusieursJours | 10 1 | +| -------- | --- | ---------------- | ---- | +Procédure locale +L'élément 'Planning_RDV.PL_IDMotifAnnul' est un élément zombie, il ne devrait plus être FEN_MaJParemApp.PROCEDURE.RqR +| utilisé. | | DVPlusieursJours | 10 1 | +| -------- | --- | ---------------- | ---- | +Procédure locale +L'élément 'Planning_RDV.PL_IDTypeActivite' est un élément zombie, il ne devrait plus être FEN_MaJParemApp.PROCEDURE.RqR +| utilisé. | | DVIndividuelle | | +| -------- | --- | -------------- | --- | +11 1 +Procédure locale +| 06/08/2026 | Batik | | 25 | +| ---------- | ----- | --- | --- | + +Partie 1 › Projet › Erreurs, warnings et informations +ennoloC +engiL +Détail de l'erreur Localisation +L'élément 'Planning_RDV.PL_IDStatut' est un élément zombie, il ne devrait plus être utilisé. FEN_MaJParemApp.PROCEDURE.RqR +DVIndividuelle +11 1 +Procédure locale +L'élément 'Planning_RDV.PL_IDOrigineAnnul' est un élément zombie, il ne devrait plus être FEN_MaJParemApp.PROCEDURE.RqR +| utilisé. | | DVIndividuelle | 11 1 | +| -------- | --- | -------------- | ---- | +Procédure locale +L'élément 'Planning_RDV.PL_IDMotifAnnul' est un élément zombie, il ne devrait plus être FEN_MaJParemApp.PROCEDURE.RqR +| utilisé. | | DVIndividuelle | 11 1 | +| -------- | --- | -------------- | ---- | +Procédure locale +L'élément 'Intervention.IN_IDTypeIntervention' est un élément zombie, il ne devrait plus être FEN_RDV_Attente.PROCEDURE.Filtrer +17 1 +| utilisé. | | Procédure locale | | +| -------- | --- | ---------------- | --- | +L'élément 'Intervention.IN_IDEtatIntervention' est un élément zombie, il ne devrait plus être FEN_RDV_Attente.PROCEDURE.Filtrer +| utilisé. | | Procédure locale | 17 1 | +| -------- | --- | ---------------- | ---- | +L'élément 'Client.CL_IDType' est un élément zombie, il ne devrait plus être utilisé. FEN_RDV_Attente.PROCEDURE.Filtrer +17 1 +Procédure locale +L'élément 'Client.CL_IDStatut' est un élément zombie, il ne devrait plus être utilisé. FEN_RDV_Attente.PROCEDURE.Filtrer +| | | Procédure locale | 17 1 | +| --- | --- | ---------------- | ---- | +L'élément 'Client.CL_IDApporteur' est un élément zombie, il ne devrait plus être utilisé. FEN_RDV_Attente.PROCEDURE.Filtrer +17 1 +Procédure locale +L'élément 'Client.CL_IDApportOrigine' est un élément zombie, il ne devrait plus être utilisé. FEN_RDV_Attente.PROCEDURE.Filtrer +17 1 +Procédure locale +L'élément 'Client.CL_IDModeReglement' est un élément zombie, il ne devrait plus être utilisé. FEN_RDV_Attente.PROCEDURE.Filtrer +| | | Procédure locale | 17 1 | +| --- | --- | ---------------- | ---- | +L'élément 'Lieu.LI_IDType' est un élément zombie, il ne devrait plus être utilisé. FEN_RDV_Attente.PROCEDURE.Filtrer +17 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_1' est un élément zombie, il ne devrait plus être utilisé. FEN_RDV_Attente.PROCEDURE.Filtrer +17 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_2' est un élément zombie, il ne devrait plus être utilisé. FEN_RDV_Attente.PROCEDURE.Filtrer +| | | Procédure locale | 17 1 | +| --- | --- | ---------------- | ---- | +L'élément 'Adresse.AD_Ligne_3' est un élément zombie, il ne devrait plus être utilisé. FEN_RDV_Attente.PROCEDURE.Filtrer +17 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_4' est un élément zombie, il ne devrait plus être utilisé. FEN_RDV_Attente.PROCEDURE.Filtrer +17 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_5' est un élément zombie, il ne devrait plus être utilisé. FEN_RDV_Attente.PROCEDURE.Filtrer +| | | Procédure locale | 17 1 | +| --- | --- | ---------------- | ---- | +L'élément 'AD_Ligne_1' est un élément zombie, il ne devrait plus être utilisé. FEN_MaJ_Donnees_Demo.PROCEDU +| | | RE.AnonymiserAdresses | 28 10 | +| --- | --- | --------------------- | ----- | +Procédure locale +L'élément 'AD_Ligne_2' est un élément zombie, il ne devrait plus être utilisé. FEN_MaJ_Donnees_Demo.PROCEDU +| | | RE.AnonymiserAdresses | 29 10 | +| --- | --- | --------------------- | ----- | +Procédure locale +L'élément 'AD_Ligne_3' est un élément zombie, il ne devrait plus être utilisé. FEN_MaJ_Donnees_Demo.PROCEDU +RE.AnonymiserAdresses +30 10 +Procédure locale +L'élément 'AD_Ligne_4' est un élément zombie, il ne devrait plus être utilisé. FEN_MaJ_Donnees_Demo.PROCEDU +| | | RE.AnonymiserAdresses | 31 10 | +| --- | --- | --------------------- | ----- | +Procédure locale +L'élément 'AD_Ligne_5' est un élément zombie, il ne devrait plus être utilisé. FEN_MaJ_Donnees_Demo.PROCEDU +| | | RE.AnonymiserAdresses | 32 10 | +| --- | --- | --------------------- | ----- | +Procédure locale +L'élément 'AD_Ligne_1' est un élément zombie, il ne devrait plus être utilisé. FEN_MaJ_Donnees_Demo.PROCEDU +| | | RE.AnonymiserAdresses | 35 11 | +| --- | --- | --------------------- | ----- | +Procédure locale +L'élément 'AD_Ligne_1' est un élément zombie, il ne devrait plus être utilisé. FEN_MaJ_Donnees_Demo.PROCEDU +RE.AnonymiserAdresses +37 11 +Procédure locale +L'élément 'AD_Ligne_2' est un élément zombie, il ne devrait plus être utilisé. FEN_MaJ_Donnees_Demo.PROCEDU +| | | RE.AnonymiserAdresses | 39 12 | +| --- | --- | --------------------- | ----- | +Procédure locale +L'élément 'AD_Ligne_2' est un élément zombie, il ne devrait plus être utilisé. FEN_MaJ_Donnees_Demo.PROCEDU +| | | RE.AnonymiserAdresses | 41 12 | +| --- | --- | --------------------- | ----- | +Procédure locale +| 06/08/2026 | Batik | | 26 | +| ---------- | ----- | --- | --- | + +Partie 1 › Projet › Erreurs, warnings et informations +ennoloC +engiL +Détail de l'erreur Localisation +L'élément 'AD_Ligne_3' est un élément zombie, il ne devrait plus être utilisé. FEN_MaJ_Donnees_Demo.PROCEDU +RE.AnonymiserAdresses +43 13 +Procédure locale +L'élément 'AD_Ligne_3' est un élément zombie, il ne devrait plus être utilisé. FEN_MaJ_Donnees_Demo.PROCEDU +| | | RE.AnonymiserAdresses | 45 13 | +| --- | --- | --------------------- | ----- | +Procédure locale +L'élément 'AD_Ligne_4' est un élément zombie, il ne devrait plus être utilisé. FEN_MaJ_Donnees_Demo.PROCEDU +| | | RE.AnonymiserAdresses | 48 14 | +| --- | --- | --------------------- | ----- | +Procédure locale +L'élément 'AD_Ligne_4' est un élément zombie, il ne devrait plus être utilisé. FEN_MaJ_Donnees_Demo.PROCEDU +| | | RE.AnonymiserAdresses | 50 14 | +| --- | --- | --------------------- | ----- | +Procédure locale +L'élément 'AD_Ligne_5' est un élément zombie, il ne devrait plus être utilisé. FEN_MaJ_Donnees_Demo.PROCEDU +RE.AnonymiserAdresses +53 15 +Procédure locale +L'élément 'Personne.PE_IDCivilite' est un élément zombie, il ne devrait plus être utilisé. Lib_Commun.DonneUnCtcSiteInter +8 1 +Procédure locale +L'élément 'Personne.PE_IDRole' est un élément zombie, il ne devrait plus être utilisé. Lib_Commun.DonneUnCtcSiteInter +8 1 +Procédure locale +L'élément 'Intervention_Personne.IP_IDRole' est un élément zombie, il ne devrait plus être Lib_Commun.DonneUnCtcSiteInter +| utilisé. | | Procédure locale | 8 1 | +| -------- | --- | ---------------- | --- | +L'élément 'Personne.PE_IDCivilite' est un élément zombie, il ne devrait plus être utilisé. Lib_Commun.DonneUnDonneurOrd +| | | reInter | 8 1 | +| --- | --- | ------- | --- | +Procédure locale +L'élément 'Personne.PE_IDRole' est un élément zombie, il ne devrait plus être utilisé. Lib_Commun.DonneUnDonneurOrd +| | | reInter | 8 1 | +| --- | --- | ------- | --- | +Procédure locale +L'élément 'Intervention_Personne.IP_IDRole' est un élément zombie, il ne devrait plus être Lib_Commun.DonneUnDonneurOrd +| utilisé. | | reInter | 8 1 | +| -------- | --- | ------- | --- | +Procédure locale +L'élément 'AccesEtDroit.AED_IDProfil' est un élément zombie, il ne devrait plus être utilisé. Lib_InitProjet.ChargeTousRoles +| | | Procédure locale | 11 1 | +| --- | --- | ---------------- | ---- | +L'élément 'AccesEtDroit.AED_IDModule' est un élément zombie, il ne devrait plus être utilisé. Lib_InitProjet.ChargeTousRoles +11 1 +Procédure locale +L'élément 'Collaborateur.CO_IDCivilite' est un élément zombie, il ne devrait plus être utilisé. Lib_InitProjet.ChargeTousLesCollabo +| | | rateurs | 10 1 | +| --- | --- | ------- | ---- | +Procédure locale +L'élément 'Collaborateur.CO_IDStatut' est un élément zombie, il ne devrait plus être utilisé. Lib_InitProjet.ChargeTousLesCollabo +rateurs +10 1 +Procédure locale +L'élément 'Utilisateur.UT_Nom' est un élément zombie, il ne devrait plus être utilisé. Lib_InitProjet.ChargeTousLesCollabo +| Doublons avec Collaborateurs | | rateurs | 10 1 | +| ---------------------------- | --- | ------- | ---- | +Procédure locale +L'élément 'Utilisateur.UT_Prenom' est un élément zombie, il ne devrait plus être utilisé. Lib_InitProjet.ChargeTousLesCollabo +| Doublons avec Collaborateurs | | rateurs | 10 1 | +| ---------------------------- | --- | ------- | ---- | +Procédure locale +L'élément 'Utilisateur.UT_Email' est un élément zombie, il ne devrait plus être utilisé. Lib_InitProjet.ChargeTousLesCollabo +| Doublons avec Collaborateurs | | rateurs | 10 1 | +| ---------------------------- | --- | ------- | ---- | +Procédure locale +L'élément 'Utilisateur.UT_TelMobile' est un élément zombie, il ne devrait plus être utilisé. Lib_InitProjet.ChargeTousLesCollabo +| Doublons avec Collaborateurs | | rateurs | | +| ---------------------------- | --- | ------- | --- | +10 1 +Procédure locale +L'élément 'Utilisateur.UT_IDTypeProfil' est un élément zombie, il ne devrait plus être utilisé. Lib_InitProjet.ChargeTousLesCollabo +| | | rateurs | 10 1 | +| --- | --- | ------- | ---- | +Procédure locale +Cette syntaxe de ThreadExécute déclenche un thread non sécurisé. LIB_Surveille.AjouterEnrgPourMaJ +Pour un thread sécurisé, utilisez la syntaxe qui renvoie un objet Thread sécurisé (ou bien Procédure locale +33 4 +ajoutez la constante threadSécurisé) et gérez la terminaison du thread par la fonction +ThreadArrêtDemandé. +L'élément 'Adresse.AD_Ligne_1' est un élément zombie, il ne devrait plus être utilisé. Lib_InitProjet.ChargeSocietes +6 1 +Procédure locale +L'élément 'Adresse.AD_Ligne_2' est un élément zombie, il ne devrait plus être utilisé. Lib_InitProjet.ChargeSocietes +| | | Procédure locale | 6 1 | +| --- | --- | ---------------- | --- | +L'élément 'Adresse.AD_Ligne_3' est un élément zombie, il ne devrait plus être utilisé. Lib_InitProjet.ChargeSocietes +6 1 +Procédure locale +| 06/08/2026 | Batik | | 27 | +| ---------- | ----- | --- | --- | + +Partie 1 › Projet › Erreurs, warnings et informations +ennoloC +engiL +Détail de l'erreur Localisation +L'élément 'Adresse.AD_Ligne_4' est un élément zombie, il ne devrait plus être utilisé. Lib_InitProjet.ChargeSocietes +| | Procédure locale | 6 | 1 | +| --- | ---------------- | --- | --- | +L'élément 'Adresse.AD_Ligne_5' est un élément zombie, il ne devrait plus être utilisé. Lib_InitProjet.ChargeSocietes +| | | 6 | 1 | +| --- | --- | --- | --- | +Procédure locale +'Décrypte' est conservé pour compatibilité dans cette version. Lib_InitProjet.ChargeSocietes +| | | 24 | 36 | +| --- | --- | --- | --- | +Procédure locale +Projet +Statistiques sur le code +| | | ¹ .mmoc % | ¹ .tiart/.giL | +| --- | --- | --------- | ------------- | +¹ sengiL +| LIB_Aide | | 88 14 | 12 | +| ------------------------- | ----- | ------- | ----- | +| LIB_Batigest | | 355 89 | 39 | +| LIB_ConstantesGlobal | | 55 | 0 55 | +| LIB_Documents | | 443 15 | 36 | +| LIB_ElementsModifies | | 236 36 | 59 | +| LIB_HFSQL | | 207 | 0 51 | +| LIB_RubMailRapport | | 452 | 3 64 | +| LIB_Surveille | | 134 10 | 26 | +| LIB_TypeChamp | | 435 35 | 217 | +| LIB_VisitesGuidées | | 449 | 2 49 | +| Lib_AppMobile | | 87 16 | 87 | +| Lib_Champs | | 253 | 7 84 | +| Lib_Commun | | 604 | 6 33 | +| Lib_DroitsAcces | | 61 | 0 30 | +| Lib_Email | | 255 | 4 42 | +| Lib_InitProjet | | 322 | 3 23 | +| Lib_JSON_INFO | | 51 | 0 25 | +| Lib_Parametres | | 316 | 1 52 | +| Lib_Planning | | 1885 17 | 62 | +| Lib_Structures | | 310 | 1 310 | +| Lib_UI | | 130 | 3 26 | +| Lib_Version | | 451 13 | 41 | +| FEN_Agenda | | 1136 23 | 5 | +| FEN_Calendrier | | 120 | 0 30 | +| FEN_Choix_Colbs | | 320 10 | 9 | +| FEN_Choix_Couleur | | 211 24 | 5 | +| FEN_Choix_Liste | | 191 | 5 11 | +| FEN_Choix_Modif_Dates_RDV | | 239 22 | 3 | +| FEN_CompteRendus | | 425 24 | 3 | +| FEN_Creation_Doc_Rub | | 1953 11 | 10 | +| FEN_DocAide | | 457 27 | 3 | +| 06/08/2026 | Batik | | 28 | + +Partie 1 › Projet › Statistiques sur le code +| | | ¹ .mmoc % | ¹ .tiart/.giL | +| --- | --- | --------- | ------------- | +¹ sengiL +| FEN_DocFenetre | | 201 16 | 6 | +| ---------------------------------- | ----- | ------- | --- | +| FEN_Email_Inter | | 432 28 | 3 | +| FEN_Email_Nouveau_Inter | | 946 22 | 4 | +| FEN_Emails_Contact_Inter | | 322 16 | 5 | +| FEN_Etats | | 334 21 | 4 | +| FEN_ExportExcel | | 853 32 | 2 | +| FEN_Exporter_Temps | | 818 14 | 8 | +| FEN_Fiche | | 233 14 | 6 | +| FEN_Fiche_Action | | 352 24 | 3 | +| FEN_Fiche_Adresse | | 635 28 | 3 | +| FEN_Fiche_Client | | 243 18 | 5 | +| FEN_Fiche_Colb | | 2193 28 | 3 | +| FEN_Fiche_Contact | | 244 18 | 5 | +| FEN_Fiche_Document | | 653 26 | 3 | +| FEN_Fiche_Dossier | | 1149 23 | 3 | +| FEN_Fiche_Dossier_Creation | | 1426 22 | 3 | +| FEN_Fiche_Equipe | | 641 21 | 4 | +| FEN_Fiche_Modele_Mail | | 481 23 | 4 | +| FEN_Fiche_Modele_Rapport | | 452 22 | 4 | +| FEN_Fiche_Parametre | | 387 25 | 3 | +| FEN_Fiche_Parametre_Type_RDV | | 716 34 | 2 | +| FEN_Fiche_Parametre_Type_Temps | | 868 35 | 2 | +| FEN_Fiche_RDV | | 1590 29 | 3 | +| FEN_Fiche_Rendez_Vous | | 1344 35 | 2 | +| FEN_Fiche_Role | | 597 22 | 3 | +| FEN_Fiche_Site | | 261 16 | 5 | +| FEN_Fiche_Societe | | 1347 37 | 2 | +| FEN_Fiche_Suivi_Temps | | 583 26 | 3 | +| FEN_Fiche_Suivi_Temps_RDV | | 1042 25 | 3 | +| FEN_Filtre_Dossier_Widget | | 1581 36 | 2 | +| FEN_Liste_Colb_Suivi_Temps | | 383 15 | 6 | +| FEN_Liste_Documents_Inter | | 280 11 | 7 | +| FEN_Liste_Modele_Mails | | 323 18 | 4 | +| FEN_Liste_Modele_Rapports | | 322 18 | 4 | +| FEN_Liste_Parametres_Metier | | 497 22 | 4 | +| FEN_Liste_Roles | | 314 18 | 4 | +| FEN_Login | | 262 10 | 26 | +| FEN_MaJParemApp | | 2233 7 | 22 | +| FEN_MaJ_Donnees_Demo | | 425 9 | 17 | +| FEN_Menu | | 380 21 | 3 | +| FEN_Menu_Items | | 581 32 | 2 | +| FEN_Mot_Cle | | 343 20 | 4 | +| FEN_Nouveau_Parametre_Metier | | 476 21 | 4 | +| FEN_Param_Fiche_Dossier | | 374 22 | 3 | +| FEN_Parametre_Liste_Colb_AGD | | 1308 22 | 5 | +| FEN_Parametre_Structure_Chemin_Doc | | 460 23 | 4 | +| FEN_Parametres_Base_Ext | | 373 20 | 4 | +| FEN_Parametres_Visualisation_RDV | | 966 33 | 2 | +| 06/08/2026 | Batik | | 29 | + +Partie 1 › Projet › Statistiques sur le code +| | | ¹ .mmoc % | ¹ .tiart/.giL | +| --- | --- | --------- | ------------- | +¹ sengiL +| FEN_RDV_Attente | | 434 12 | 8 | +| ----------------------------- | ----- | ------- | --- | +| FEN_Rapport_Document_Inter | | 494 13 | 6 | +| FEN_Recherche | | 305 10 | 8 | +| FEN_Suivi_Temps | | 1299 21 | 4 | +| FEN_Tableau_Bord_Client | | 393 12 | 6 | +| FEN_Tableau_Bord_Contact | | 393 12 | 6 | +| FEN_Tableau_Bord_Intervention | | 398 13 | 6 | +| FEN_Tableau_Bord_Menu | | 463 13 | 7 | +| FEN_Tableau_Bord_Site | | 392 12 | 7 | +| FEN_Texte | | 277 14 | 6 | +| FEN_Theme_Colb | | 339 14 | 6 | +| FI_Agenda | | 270 3 | 19 | +| FI_Configuration_BaseExt | | 473 24 | 3 | +| FI_Ele_Client | | 359 14 | 6 | +| FI_Ele_Inter | | 354 14 | 6 | +| FI_Ele_Inter_Filtres | | 458 13 | 7 | +| FI_Ele_Personne | | 348 14 | 6 | +| FI_Ele_RDV | | 414 13 | 7 | +| FI_Ele_RDV_Attente | | 436 14 | 7 | +| FI_Ele_Site | | 355 14 | 6 | +| FI_Liste_Client | | 1371 33 | 2 | +| FI_Liste_Collaborateurs | | 838 24 | 2 | +| FI_Liste_Contact | | 1192 31 | 2 | +| FI_Liste_Contact_Site | | 451 11 | 6 | +| FI_Liste_Dossier | | 1318 34 | 2 | +| FI_Liste_Equipe | | 588 23 | 3 | +| FI_Liste_Site | | 1252 32 | 2 | +| FI_Liste_Societes | | 381 15 | 5 | +| FI_Planning | | 517 16 | 24 | +| FI_RDV | | 236 6 | 78 | +| FI_TableauBordModel | | 265 6 | 15 | +| FI_TableauBordModelClient | | 240 5 | 16 | +| FI_TableauBordModelContact | | 240 5 | 16 | +| FI_TableauBordModelInter | | 240 5 | 16 | +| FI_TableauBordModelMenu | | 246 5 | 16 | +| FI_TableauBordModelSansParam | | 258 5 | 17 | +| FI_TableauBordModelSite | | 241 5 | 16 | +| FI_TdB_Actions | | 420 11 | 6 | +| FI_TdB_Compte_Rendus | | 340 14 | 6 | +| FI_TdB_ContactSite | | 605 11 | 8 | +| FI_TdB_Contact_Client | | 456 12 | 7 | +| FI_TdB_Documents | | 758 14 | 7 | +| FI_TdB_Donneurs_Ordre | | 522 11 | 7 | +| FI_TdB_Fiche_Client | | 1468 25 | 3 | +| FI_TdB_Fiche_Contact | | 914 21 | 4 | +| FI_TdB_Fiche_Site | | 869 29 | 3 | +| FI_TdB_Historique_Etat | | 359 13 | 6 | +| FI_TdB_Information_Inter | | 821 25 | 3 | +| 06/08/2026 | Batik | | 30 | + +Partie 1 › Projet › Statistiques sur le code +| | | ¹ .mmoc % | ¹ .tiart/.giL | +| --- | --- | --------- | ------------- | +¹ sengiL +| FI_TdB_Liste_Client_Site | | 409 12 | 6 | +| ---------------------------- | ----- | ------ | ----- | +| FI_TdB_Liste_Dossier_Client | | 379 13 | 6 | +| FI_TdB_Liste_Dossier_Contact | | 379 13 | 6 | +| FI_TdB_Liste_Dossier_Site | | 378 13 | 6 | +| FI_TdB_Liste_Site_Client | | 451 11 | 7 | +| FI_TdB_Liste_Site_Contact | | 558 | 9 8 | +| FI_TdB_Message_Externe | | 494 12 | 8 | +| FI_TdB_Note_Interne | | 423 13 | 6 | +| FI_TdB_Notes_Admin | | 422 13 | 6 | +| FI_TdB_RDV | | 570 13 | 6 | +| FI_TdB_Rapports | | 519 13 | 8 | +| FI_TdB_Site | | 624 19 | 4 | +| FI_TdB_Suivi_Temps | | 644 18 | 5 | +| FI_Temps | | 247 | 3 82 | +| FENMOD_Fiche | | 244 | 4 16 | +| MDLC_BTN_Annuler | | 230 | 1 76 | +| MDLC_BTN_Valider | | 230 | 1 76 | +| MDLC_Boolean | | 230 | 1 76 | +| MDLC_BoutonIcone | | 225 | 0 112 | +| MDLC_BoutonIconeRouge | | 225 | 0 112 | +| MDLC_BoutonIconeWidgetTitre | | 225 | 0 112 | +| MDLC_ChampDate | | 231 | 1 38 | +| MDLC_ChoixBoolean | | 225 | 0 45 | +| MDLC_ChoixCombo | | 226 | 0 45 | +| MDLC_ChoixJetonsCombo | | 245 | 3 20 | +| MDLC_ChoixTexte | | 227 | 0 45 | +| MDLC_Combo | | 231 | 1 77 | +| MDLC_ComboSansModif | | 230 | 1 76 | +| MDLC_Date | | 231 | 1 77 | +| MDLC_Div | | 225 | 0 112 | +| MDLC_DivBTN | | 261 | 5 13 | +| MDLC_HTML | | 231 | 1 57 | +| MDLC_Horaire | | 304 | 8 30 | +| MDLC_Jetons | | 240 | 2 30 | +| MDLC_LibNormal | | 221 | 0 73 | +| MDLC_LibTitreWidget | | 221 | 0 73 | +| MDLC_LigneSepWidget | | 218 | 0 0 | +| MDLC_Memo_RFT | | 230 | 1 76 | +| MDLC_OngletDynamique | | 225 | 0 112 | +| MDLC_OngletFiches | | 225 | 0 112 | +| MDLC_Saisie | | 230 | 1 76 | +| MDLC_SaisieMultiligne | | 227 | 0 75 | +| MDLC_SaisieSansModif | | 227 | 0 75 | +| MDLC_SaisieSansModifBlock | | 227 | 0 75 | +| MDLC_Segmente | | 226 | 0 75 | +| MDLC_Sel2Choix | | 228 | 1 114 | +| MDLC_Table | | 227 | 0 56 | +| MDLC_Tableau_Bord | | 228 | 0 45 | +| 06/08/2026 | Batik | | 31 | + +Partie 1 › Projet › Statistiques sur le code +| | | ¹ .mmoc % | ¹ .tiart/.giL | +| --- | --- | --------- | ------------- | +¹ sengiL +| MDLC_TdB_Config | | 228 | 0 45 | +| --------------------- | ----- | --- | ----- | +| MDLC_TitreFen | | 234 | 1 46 | +| Batik | | 285 | 3 285 | +| Base | | 453 | 4 34 | +| ConnexionHFSQL | | 405 | 7 50 | +| Droit | | 246 | 0 61 | +| ErreurApp | | 294 | 3 73 | +| InfoBlocage | | 273 | 3 68 | +| MAcces | | 268 | 0 44 | +| MAction_Inter | | 281 | 0 40 | +| MAdresse | | 303 | 1 43 | +| MAdresseClient | | 279 | 1 39 | +| MCategorieAcces | | 267 | 0 44 | +| MClient | | 414 | 1 46 | +| MCollaborateur | | 412 | 1 22 | +| MCompteRendu | | 295 | 1 49 | +| MConnexionBaseExt | | 267 | 0 66 | +| MContact_Inter | | 291 | 1 41 | +| MContact_Site | | 289 | 0 41 | +| MDocAide | | 267 | 0 66 | +| MDocNote | | 270 | 1 38 | +| MDocument | | 325 | 1 46 | +| MDossier | | 433 | 4 43 | +| MElementModifie | | 268 | 0 38 | +| MEquipe | | 282 | 0 40 | +| MEtatIntervention | | 280 | 1 40 | +| MEtat_Deplacement | | 427 | 1 106 | +| MEtat_Intervention | | 366 | 1 183 | +| MEtats | | 264 | 0 66 | +| MIntervention | | 369 | 1 52 | +| MLieu | | 379 | 2 54 | +| MMessageInterne | | 278 | 1 39 | +| MMessage_Externe | | 285 | 0 40 | +| MModeleMail | | 269 | 0 44 | +| MModeleRapport | | 268 | 0 44 | +| MParametreAppli | | 268 | 0 44 | +| MParametreMetier | | 280 | 1 46 | +| MParametreUtilisateur | | 294 | 2 58 | +| MPersonne_Ct | | 336 | 1 37 | +| MRDV | | 412 | 0 45 | +| MRDV_Colb | | 276 | 0 69 | +| MRDV_Contact | | 269 | 0 67 | +| MRDV_Planning | | 294 | 0 73 | +| MRole | | 357 | 1 51 | +| MRubriqueDoc | | 277 | 0 46 | +| MSociete | | 357 | 1 51 | +| MSuiviTemps | | 296 | 0 49 | +| MUtilisateur | | 456 | 2 22 | +| 06/08/2026 | Batik | | 32 | + +Partie 1 › Projet › Statistiques sur le code +| | | ¹ .mmoc % | ¹ .tiart/.giL | +| --- | --- | --------- | ------------- | +¹ sengiL +| cPressePapier | | 523 | 5 40 | +| ------------------------------ | --- | ------- | ----- | +| ETAT_FicheDeplacement | | 261 | 0 130 | +| ETAT_FicheIntervention | | 257 | 0 257 | +| ETAT_GAP_FicheDeplacement | | 258 | 0 129 | +| ETAT_SLAMM_FicheDeplacement_1 | | 261 | 0 87 | +| ETAT_SLAMM_FicheDeplacement_2 | | 261 | 0 87 | +| ETAT_SLAMM_FicheDeplacement_3 | | 262 | 0 65 | +| ETAT_SLAMM_FicheDeplacement_4 | | 261 | 0 87 | +| ETAT_SLAMM_FicheIntervention_1 | | 260 | 0 130 | +| ETAT_SLAMM_FicheIntervention_2 | | 260 | 0 130 | +| ETAT_SLAMM_FicheIntervention_3 | | 260 | 0 130 | +| ETAT_SLAMM_FicheIntervention_4 | | 260 | 0 130 | +| | | 6157 26 | 3 | +¹ 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 inclus dans le projet +COMP_SysLog +COMP_SysLog D:\Projets Windev\Batik\Nouvelle Version\Batik\COMP_SysLog.wdi +Emplacement d'origine D:\Projets Windev\Batik\Nouvelle Version\Batik\COMP_SysLog.wdi +Propriétaire APPLILOGIK +Version 1.00Aq +Copyright APPLILOGIK 2021 +Email support@applilogik.fr +Initialisation + +//Configuration du composant Syslog utilisé pour tracer l'application dans la base SYSLOG +LogConnecteBase("192.168.1.94:4901","AdminSyslog","AdminSyslog","SYSLOG",Faux,"") +LogInitialise("Mon Application",NetNomMachine(),RéseauUtilisateur()) +LogEcrit("Démarrage",eInfo) + +| 06/08/2026 | Batik | | 33 | +| ---------- | ----- | --- | --- | + +Partie 1 › Projet › Composants inclus dans le projet +Les entrées/sorties du composant : +Liste des procédures +Le composant COMP_SysLog propose les collections de procédures suivantes : +Collection de procédures 'LIB_SysLog' +LogInitialise <indiquez ici ce que fait la procédure> +LogConnecteBase <indiquez ici ce que fait la procédure> +LogEcrit <indiquez ici ce que fait la procédure> +LogFerme <indiquez ici ce que fait la procédure> +LogDebuteSession <indiquez ici ce que fait la procédure> +LogNiveau +ActivitéDemarre +ActivitéArrete +ActivitéOK +ActiviteSupprimeTout +LogModeFichier +LogInitFichier +EcritException +LogDesactive +LogActive +Liste des variables globales +Le composant COMP_SysLog propose les variables globales suivantes : +Collection de procédures 'LIB_SysLog' +gcnxBase +gnIdApplication +gsaNomApplication +gnIdPoste +gsaNomPoste +gnIdUtilisateur +gsaNomUtilisateur +gsaMsgErreur +gbConnecté +gbModeFichier +gsaFichierLog +geNiveauMini +gbLogArret +1 - Collections de procédures accessibles +1.1 - Collection de procédures 'LIB_SysLog' +1.1.1 - Procédure 'LogInitialise' +Résumé : <indiquez ici ce que fait la procédure> +Syntaxe : +[ <Résultat> = ] LogInitialise ( [<saApplication> est chaîne [, <saPoste> est chaîne [, <saUtilisateur> est +chaîne]]]) +Paramètres : +saApplication (chaîne ANSI) : <indiquez ici le rôle de saApplication> +saPoste (chaîne ANSI) : <indiquez ici le rôle de saPoste> +saUtilisateur (chaîne ANSI) : <indiquez ici le rôle de saUtilisateur> +06/08/2026 Batik 34 + +Partie 1 › Projet › Composants inclus dans le projet +Valeur de retour : +booléen : <indiquez ici les valeurs possibles ainsi que leur interprétation> +Exemple : +Indiquez ici un exemple d'utilisation. +1.1.2 - Procédure 'LogConnecteBase' +Résumé : <indiquez ici ce que fait la procédure> +Syntaxe : +[ <Résultat> = ] LogConnecteBase (<saServeurPort> est chaîne, <saUtilisateur> est chaîne, <saPass> est +chaîne, <saBase> est chaîne [, <bCrypte> est booléen [, <saCleCryptage> est chaîne]]) +Paramètres : +saServeurPort (chaîne ANSI) : <indiquez ici le rôle de saServeurPort> +saUtilisateur (chaîne ANSI) : <indiquez ici le rôle de saUtilisateur> +saPass (chaîne ANSI) : <indiquez ici le rôle de saPass> +saBase (chaîne ANSI) : <indiquez ici le rôle de saBase> +bCrypte (booléen - valeur par défaut=0) : <indiquez ici le rôle de bCrypte> +saCleCryptage (chaîne ANSI) : <indiquez ici le rôle de saCleCryptage> +Valeur de retour : +booléen : <indiquez ici les valeurs possibles ainsi que leur interprétation> +Exemple : +Indiquez ici un exemple d'utilisation. +1.1.3 - Procédure 'LogEcrit' +Résumé : <indiquez ici ce que fait la procédure> +Syntaxe : +LogEcrit (<saMessage> est chaîne [, <eNiveau> est LIB_SysLog.E_Niveau [, <saThread> est chaîne]]) +Paramètres : +saMessage (chaîne ANSI) : <indiquez ici le rôle de saMessage> +eNiveau (LIB_SysLog.E_Niveau) : <indiquez ici le rôle de eNiveau> +saThread (chaîne ANSI) : <indiquez ici le rôle de saThread> +Valeur de retour : +Aucune +Exemple : +Indiquez ici un exemple d'utilisation. +1.1.4 - Procédure 'LogFerme' +Résumé : <indiquez ici ce que fait la procédure> +Syntaxe : +LogFerme () +Paramètres : +Aucun +Valeur de retour : +Aucune +Exemple : +Indiquez ici un exemple d'utilisation. +1.1.5 - Procédure 'LogDebuteSession' +Résumé : <indiquez ici ce que fait la procédure> +Syntaxe : +LogDebuteSession () +Paramètres : +Aucun +Valeur de retour : +Aucune +Exemple : +Indiquez ici un exemple d'utilisation. +1.1.6 - Procédure 'LogNiveau' +1.1.7 - Procédure 'ActivitéDemarre' +1.1.8 - Procédure 'ActivitéArrete' +06/08/2026 Batik 35 + +Partie 1 › Projet › Composants inclus dans le projet +1.1.9 - Procédure 'ActivitéOK' +1.1.10 - Procédure 'ActiviteSupprimeTout' +1.1.11 - Procédure 'LogModeFichier' +1.1.12 - Procédure 'LogInitFichier' +1.1.13 - Procédure 'EcritException' +1.1.14 - Procédure 'LogDesactive' +1.1.15 - Procédure 'LogActive' +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> +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_SysLog +06/08/2026 Batik 36 + +Partie 1 › Projet › Composants inclus dans le projet +COMP_EnvoiEmailLocal +COMP_EnvoiEmailLocal D:\Projets Windev\Batik\Nouvelle Version\Batik\COMP_EnvoiEmailLocal.wdi +Emplacement d'origine D:\Projets Windev\Applilogik\COMP_EnvoiEmailLocal\Exe\COMP_EnvoiEmailLocal.wdi +Version 1.00Ae +Les entrées/sorties du composant : +1 - Collections de procédures accessibles +<Pas de procédure disponible dans ce composant> +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> +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]) +06/08/2026 Batik 37 + +Partie 1 › Projet › Composants inclus dans le projet +Nom +LIB_Email +LIB_Structures +06/08/2026 Batik 38 + +Partie 2 › Schéma des données +Partie 2 +Schéma des +données +| 06/08/2026 | Batik | 39 | +| ---------- | ----- | --- | + +Partie 2 › Schéma des données +Schéma des données +Graphe +| 06/08/2026 | Batik | 40 | +| ---------- | ----- | --- | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Informations générales +Schéma des données +Informations générales +Batik.wda +Répertoire D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\ +| Répertoire des tables | | Répertoire de l'application | | | | | +| --------------------- | --- | --------------------------- | --- | --- | --- | --- | +N°génération Nb. tables Nb. rubriques Nb. liaisons Nb. connexions Nb. groupes +| 367 | 58 | 872 | 38 | 1 | 2 | | +| --- | --- | --- | --- | --- | --- | --- | +Schéma des données +Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | | Utilisée par... | | +| --- | -------- | ---- | --- | --- | --------------- | --- | +elliaT +| AC_ | | Entier sur 8 octets | | Action | | | +| -------------------- | --- | --------------------------- | ----- | ------------ | --- | --- | +| AC_CleTypeAction | | Chaîne | 16 | Action | | | +| AC_Clos | | Booléen | | Action | | | +| AC_DATEACTION | | Date (aaaammjj) | | Action | | | +| AC_Description | | Chaîne | 250 | Action | | | +| AC_HEUREACTION | | Heure (hhmm) | | Action | | | +| AC_IDImport | | Chaîne | 50 | Action | | | +| AC_IDIntervention | | Entier sur 8 octets | | Action | | | +| AC_IDQui | | Entier sur 8 octets | | Action | | | +| AC_IDTypeAction | | Entier sur 8 octets | | Action | | | +| AC_IDTypeQui | | | | <Inutilisée> | | | +| AC_PKID | | Identifiant automatique (8 | | Action | | | +| Ad_Adresse | | Mémo texte | | Adresse | | | +| AD_AdresseLigne_1 | | | | <Inutilisée> | | | +| AD_AdresseLigne_2 | | | | <Inutilisée> | | | +| AD_AdresseLigne_3 | | | | <Inutilisée> | | | +| AD_AdresseLigne_4 | | | | <Inutilisée> | | | +| AD_AdresseLigne_5 | | | | <Inutilisée> | | | +| AD_CodePostal | | Chaîne | 15 | Adresse | | | +| AD_CodePostalAdresse | | | | <Inutilisée> | | | +| AD_CreationDate | | | | <Inutilisée> | | | +| AD_CreationUser | | | | <Inutilisée> | | | +| AD_Etiquette | | Chaîne | 25 | Adresse | | | +| AD_IDAdresse | | | | <Inutilisée> | | | +| AD_Index_Adresse | | | | <Inutilisée> | | | +| 06/08/2026 | | | Batik | | | 41 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| AD_Ligne_1 | | Chaîne | 38 | Adresse | | +| ------------------------ | --- | --------------------------- | ----- | --------------------- | --- | +| AD_Ligne_2 | | Chaîne | 38 | Adresse | | +| AD_Ligne_3 | | Chaîne | 38 | Adresse | | +| AD_Ligne_4 | | Chaîne | 100 | Adresse | | +| AD_Ligne_5 | | Chaîne | 38 | Adresse | | +| AD_LigneAdresse_1 | | | | <Inutilisée> | | +| AD_LigneAdresse_2 | | | | <Inutilisée> | | +| AD_LigneAdresse_3 | | | | <Inutilisée> | | +| AD_LigneAdresse_4 | | | | <Inutilisée> | | +| AD_LigneAdresse_5 | | | | <Inutilisée> | | +| AD_ModifDate | | | | <Inutilisée> | | +| AD_ModifUser | | | | <Inutilisée> | | +| AD_Nom | | | | <Inutilisée> | | +| AD_PKID | | Identifiant automatique (8 | | Adresse | | +| AD_Presentation | | Chaîne | 255 | Adresse | | +| AD_PresentationAdresse | | | | <Inutilisée> | | +| AD_Ville | | Chaîne | 45 | Adresse | | +| AD_VilleAdresse | | | | <Inutilisée> | | +| AED_Acces | | Booléen | | AccesEtDroit | | +| AED_CleAcces | | Chaîne | 20 | AccesEtDroit | | +| AED_IdAcces | | Chaîne | 20 | AccesEtDroit | | +| AED_IDModule | | Entier sur 8 octets | | AccesEtDroit | | +| AED_IDProfil | | Entier sur 8 octets | | AccesEtDroit | | +| AED_IdRole | | Entier non signé sur 8 | | AccesEtDroit | | +| AED_PKID | | Identifiant automatique (8 | | AccesEtDroit | | +| Archive | | Booléen | | Personne | | +| | | Booléen | | Client | | +| | | Booléen | | Lieu | | +| | | Booléen | | Dossier | | +| | | Booléen | | Intervention | | +| | | Booléen | | Lieu_Personne | | +| | | Booléen | | Planning_RDV | | +| | | Booléen | | Planning_RDV_Personne | | +| | | Booléen | | RDV_Planning | | +| | | Booléen | | RDV_Collaborateur | | +| Belogik_Adresse_ligne | | | | <Inutilisée> | | +| Belogik_Créé_par | | | | <Inutilisée> | | +| Belogik_ModificationUser | | | | <Inutilisée> | | +| BSX_IDSociete | | Entier sur 8 octets | | BddExterne | | +| BSX_Nom | | Chaîne | 50 | BddExterne | | +| BSX_Param | | Mémo texte | | BddExterne | | +| BSX_PKID | | Identifiant automatique (8 | | BddExterne | | +| CA_CleType | | Chaîne | 16 | Client_Adresse | | +| CA_Facturation | | Booléen | | Client_Adresse | | +| CA_IDAdresse | | Entier sur 8 octets | | Client_Adresse | | +| CA_IDCli_IDAd | | Clé composée | 16 | Client_Adresse | | +| CA_IDClient | | Entier sur 8 octets | | Client_Adresse | | +| CA_IDClient_AD_IDAdresse | | | | <Inutilisée> | | +| 06/08/2026 | | | Batik | | 42 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| CA_IDTypeAdresse | | Entier sur 8 octets | | Client_Adresse | | +| ---------------------------------- | --- | --------------------------- | ----- | ---------------- | --- | +| CA_Livraison | | Booléen | | Client_Adresse | | +| CA_PKID | | Identifiant automatique (8 | | Client_Adresse | | +| CA_Principale | | Booléen | | Client_Adresse | | +| CAC_AncienCode | | Chaîne | 50 | CategorieAcces | | +| CAC_Cle | | Chaîne | 20 | CategorieAcces | | +| CAC_Description | | Mémo texte | | CategorieAcces | | +| CAC_Libelle | | Mémo texte | | CategorieAcces | | +| CAC_Mobile | | Booléen | | CategorieAcces | | +| CAC_Ordre | | Entier non signé sur 2 | | CategorieAcces | | +| CAC_PKID | | Identifiant automatique (8 | | CategorieAcces | | +| CHC_Fait | | Booléen | | CheckList_Collab | | +| CHC_IDCheckList | | Entier sur 8 octets | | CheckList_Collab | | +| CHC_IDCollaborateur | | Entier sur 8 octets | | CheckList_Collab | | +| CHC_IDCollaborateur_CHC_IDCheckLis | | | | <Inutilisée> | | +| CHC_PKID | | Identifiant automatique (8 | | CheckList_Collab | | +| CHK_Element | | Chaîne | 50 | CheckList | | +| CHK_Fait | | Booléen | | CheckList | | +| CHK_IDIntervention | | Entier sur 8 octets | | CheckList | | +| CHK_IDModele | | Entier sur 8 octets | | CheckList | | +| CHK_Nom | | Chaîne | 50 | CheckList | | +| CHK_Ordre | | Entier sur 4 octets | | CheckList | | +| CHK_OrdreDuGroupe | | Entier sur 4 octets | | CheckList | | +| CHK_PKID | | Identifiant automatique (8 | | CheckList | | +| CL_AdresseClient | | | | <Inutilisée> | | +| CL_AdresseClient_1 | | | | <Inutilisée> | | +| CL_AdresseClient_2 | | | | <Inutilisée> | | +| CL_AdresseClient_3 | | | | <Inutilisée> | | +| CL_AdresseClient_4 | | | | <Inutilisée> | | +| CL_AdresseClient_5 | | | | <Inutilisée> | | +| CL_Apporteur | | | | <Inutilisée> | | +| CL_Blocage | | Booléen | | Client | | +| CL_CleApporteur | | Chaîne | 16 | Client | | +| CL_CleApporteurOrigine | | Chaîne | 16 | Client | | +| CL_CleModeReglement | | Chaîne | 16 | Client | | +| CL_CleStatut | | Chaîne | 16 | Client | | +| CL_CleType | | Chaîne | 16 | Client | | +| CL_CodeClient | | Chaîne | 10 | Client | | +| CL_CodeComptable | | Chaîne | 25 | Client | | +| CL_CodePostalClient | | | | <Inutilisée> | | +| CL_CodeTVA | | Chaîne | 13 | Client | | +| CL_CompteComptable | | | | <Inutilisée> | | +| CL_CreationDate | | | | <Inutilisée> | | +| CL_CreationUser | | | | <Inutilisée> | | +| CL_Email | | Mémo texte | | Client | | +| CL_Fax | | Chaîne | 15 | Client | | +| CL_FormeJuridique | | Chaîne | 25 | Client | | +| CL_IDAdressePrincipale | | Entier sur 8 octets | | Client | | +| 06/08/2026 | | | Batik | | 43 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| CL_IDApporteur | | Entier sur 8 octets | | Client | | +| ---------------------------- | --- | --------------------------- | --- | ------------ | --- | +| CL_IDApportOrigine | | Entier sur 8 octets | | Client | | +| CL_IDClient | | | | <Inutilisée> | | +| CL_IDClient_AD_IDAdresse | | | | <Inutilisée> | | +| CL_IDContactDefaut | | Entier sur 8 octets | | Client | | +| CL_IDContactPrincipal | | Entier sur 8 octets | | Client | | +| CL_IDImport | | Chaîne | 50 | Client | | +| CL_IDLieuPrincipal | | Entier sur 8 octets | | Client | | +| CL_IDModeReglement | | Entier sur 8 octets | | Client | | +| CL_IDSitePrincipal | | | | <Inutilisée> | | +| CL_IDStatut | | Entier sur 8 octets | | Client | | +| CL_IDStatutClient | | | | <Inutilisée> | | +| CL_IDType | | Entier sur 8 octets | | Client | | +| CL_IDTypeAdresse | | | | <Inutilisée> | | +| CL_IDTypeClient | | | | <Inutilisée> | | +| CL_InfoSup | | Mémo texte | | Client | | +| CL_ModifDate | | | | <Inutilisée> | | +| CL_ModifUser | | | | <Inutilisée> | | +| CL_Nom | | Chaîne | 100 | Client | | +| CL_NomClient | | | | <Inutilisée> | | +| CL_Origine | | | | <Inutilisée> | | +| CL_Pays | | Chaîne | 3 | Client | | +| CL_PKID | | Identifiant automatique (8 | | Client | | +| CL_PresentationAdresse | | | | <Inutilisée> | | +| CL_PresentationAdresseClient | | | | <Inutilisée> | | +| Cl_RaisonBlocage | | Mémo texte | | Client | | +| CL_RepertoireDocs | | Chaîne | 255 | Client | | +| CL_SIREN | | Chaîne | 9 | Client | | +| CL_SIRET | | Chaîne | 14 | Client | | +| CL_Tel | | Chaîne | 15 | Client | | +| CL_VilleClient | | | | <Inutilisée> | | +| CleComp | | | | <Inutilisée> | | +| CLI_IDClient | | Entier sur 8 octets | | Client_Lieu | | +| CLI_IDLieu | | Entier sur 8 octets | | Client_Lieu | | +Identifiant automatique (8 +| CLI_PKID | | | | Client_Lieu | | +| ---------------- | --- | ------------------- | --- | ----------------- | --- | +| CLX_DateSynchro | | Date et Heure | | Client_BddExterne | | +| CLX_IDBaseExt | | | | <Inutilisée> | | +| CLX_IDBddExterne | | Entier sur 8 octets | | Client_BddExterne | | +CLX_IDBddExterneCLX_IDCLient Clé composée 16 Client_BddExterne +| CLX_IDCLient | | Entier sur 8 octets | | Client_BddExterne | | +| ------------- | --- | --------------------------- | ----- | ----------------- | --- | +| CLX_IDExterne | | Chaîne | 30 | Client_BddExterne | | +| CLX_PKID | | Identifiant automatique (8 | | Client_BddExterne | | +| CMI_CMD | | | | <Inutilisée> | | +| CMI_DATE | | | | <Inutilisée> | | +| CMI_FROM | | | | <Inutilisée> | | +| CMI_JSON | | | | <Inutilisée> | | +| CMI_PKID | | | | <Inutilisée> | | +| CMO_CMD | | | | <Inutilisée> | | +| 06/08/2026 | | | Batik | | 44 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| CMO_DATE | | | | <Inutilisée> | | +| -------------------- | --- | --------------------------- | --- | ------------- | --- | +| CMO_JSON | | | | <Inutilisée> | | +| CMO_PKID | | | | <Inutilisée> | | +| CMO_TO | | | | <Inutilisée> | | +| CO_AccesBO | | Booléen | | Collaborateur | | +| CO_AccesMobile | | Booléen | | Collaborateur | | +| CO_Actif | | Booléen | | Collaborateur | | +| CO_AuPlanning | | Booléen | | Collaborateur | | +| CO_Civilite | | Entier sur 8 octets | | Collaborateur | | +| CO_CleCivilite | | Chaîne | 16 | Collaborateur | | +| CO_CleStatut | | Chaîne | 16 | Collaborateur | | +| CO_Email | | Chaîne | 50 | Collaborateur | | +| CO_Fonction | | Chaîne | 50 | Collaborateur | | +| CO_IDCivilite | | Entier sur 8 octets | | Collaborateur | | +| CO_IDImport | | Chaîne | 50 | Collaborateur | | +| CO_IDStatut | | Entier sur 8 octets | | Collaborateur | | +| CO_IDUtilisateur | | | | <Inutilisée> | | +| CO_Nom | | Chaîne | 50 | Collaborateur | | +| CO_PKID | | Identifiant automatique (8 | | Collaborateur | | +| CO_Ponderation | | Réel sur 4 octets | | Collaborateur | | +| CO_Prenom | | Chaîne | 50 | Collaborateur | | +| CO_TelFixe | | Chaîne | 15 | Collaborateur | | +| CO_TelMobile | | Chaîne | 15 | Collaborateur | | +| CO_Trigramme | | Chaîne | 3 | Collaborateur | | +| CO_UtiliseBO | | | | <Inutilisée> | | +| CO_UtiliseMobile | | | | <Inutilisée> | | +| CPT_Actif | | Booléen | | Compteur | | +| CPT_Annee | | Entier sur 2 octets | | Compteur | | +| CPT_AvecPrefixe | | | | <Inutilisée> | | +| CPT_Code | | Chaîne | 50 | Compteur | | +| CPT_Longueur | | | | <Inutilisée> | | +| CPT_Mois | | Entier sur 1 octet | | Compteur | | +| CPT_ParAn | | | | <Inutilisée> | | +| CPT_ParAnnee | | Booléen | | Compteur | | +| CPT_ParMois | | Booléen | | Compteur | | +| CPT_PKID | | Identifiant automatique (8 | | Compteur | | +| CPT_Valeur | | Entier sur 8 octets | | Compteur | | +| CR_AvecReserve | | Booléen | | CompteRendu | | +| CR_CleTypeSignataire | | Chaîne | 16 | CompteRendu | | +Date et Heure +| CR_DateHeureDebut | | | | CompteRendu | | +| --------------------- | --- | ------------------- | ----- | ----------------- | --- | +| | | Date et Heure | | Client_BddExterne | | +| CR_DateHeureFin | | Date et Heure | | CompteRendu | | +| CR_DateHeureSignature | | Date et Heure | | CompteRendu | | +| CR_DateSignature | | | | <Inutilisée> | | +| CR_DevisConforme | | Booléen | | CompteRendu | | +| CR_GUID | | | | <Inutilisée> | | +| CR_GUID_Rdv | | Chaîne | 32 | CompteRendu | | +| CR_IDCollaborateur | | Entier sur 8 octets | | CompteRendu | | +| 06/08/2026 | | | Batik | | 45 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| CR_IDIntervention | | Entier sur 8 octets | | CompteRendu | | +| -------------------- | --- | ------------------- | --- | ----------- | --- | +| CR_IDRdv | | Entier sur 8 octets | | CompteRendu | | +| CR_IDTypeSignataire | | Entier sur 8 octets | | CompteRendu | | +| CR_NomSignataire | | Chaîne | 50 | CompteRendu | | +| CR_NomSignataireTech | | Chaîne | 50 | CompteRendu | | +| CR_NoteCollaborateur | | Mémo texte | | CompteRendu | | +| CR_NoteSignataire | | Chaîne | 50 | CompteRendu | | +Identifiant automatique (8 +| CR_PKID | | | | CompteRendu | | +| --------------------- | --- | -------------------- | --- | ----------- | --- | +| CR_ReserveCommentaire | | Chaîne | 100 | CompteRendu | | +| CR_Signature | | Image (mémo binaire) | | CompteRendu | | +| CR_SignatureTech | | Image (mémo binaire) | | CompteRendu | | +| CreationDate | | Date et Heure | | Personne | | +Date et Heure +Societe +| | | Date et Heure | | Client | | +| --- | --- | -------------- | --- | ------- | --- | +| | | Date et Heure | | Lieu | | +| | | Date et Heure | | Adresse | | +Date et Heure +Collaborateur +Date et Heure +Societe_Collaborateur +| | | Date et Heure | | Equipe | | +| --- | --- | -------------- | --- | -------------------- | --- | +| | | Date et Heure | | Equipe_Collaborateur | | +| | | Date et Heure | | Utilisateur | | +Date et Heure +Dossier +| | | Date et Heure | | Intervention | | +| --- | --- | -------------- | --- | ------------- | --- | +| | | Date et Heure | | Lieu_Personne | | +| | | Date et Heure | | Client_Lieu | | +Date et Heure +Planning_RDV +| | | Date et Heure | | SuiviDesTemps | | +| --- | --- | -------------- | --- | -------------- | --- | +| | | Date et Heure | | Document | | +| | | Date et Heure | | MessageInterne | | +| | | Date et Heure | | DocumentNote | | +Date et Heure +MessageExterne +| | | Date et Heure | | CheckList | | +| --- | --- | -------------- | --- | --------------------- | --- | +| | | Date et Heure | | CheckList_Collab | | +| | | Date et Heure | | Intervention_Personne | | +Date et Heure +CompteRendu +| | | Date et Heure | | Planning_RDV_Personne | | +| --- | --- | -------------- | --- | ----------------------- | --- | +| | | Date et Heure | | Intervention_ChampLibre | | +| | | Date et Heure | | MailModele | | +| | | Date et Heure | | BddExterne | | +Date et Heure +Client_BddExterne +| | | Date et Heure | | Intervention_BddExterne | | +| --- | --- | -------------- | --- | ----------------------- | --- | +| | | Date et Heure | | AccesEtDroit | | +| | | Date et Heure | | CategorieAcces | | +Date et Heure +Role +| | | Date et Heure | | ModeleRapport | | +| ------------ | --- | ------------------- | ----- | ------------- | --- | +| | | Date et Heure | | RDV_Planning | | +| CreationUser | | Entier sur 8 octets | | Personne | | +| | | Entier sur 8 octets | | Societe | | +| 06/08/2026 | | | Batik | | 46 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| | | Entier sur 8 octets | | Client | | +| ---------------- | --- | --------------------------- | --- | ----------------------- | --- | +| | | Entier sur 8 octets | | Lieu | | +| | | Entier sur 8 octets | | Adresse | | +| | | Entier sur 8 octets | | Collaborateur | | +| | | Entier sur 8 octets | | Societe_Collaborateur | | +| | | Entier sur 8 octets | | Equipe | | +| | | Entier sur 8 octets | | Equipe_Collaborateur | | +| | | Entier sur 8 octets | | Utilisateur | | +| | | Entier sur 8 octets | | Dossier | | +| | | Entier sur 8 octets | | Intervention | | +| | | Entier sur 8 octets | | Lieu_Personne | | +| | | Entier sur 8 octets | | Client_Lieu | | +| | | Entier sur 8 octets | | Planning_RDV | | +| | | Entier sur 8 octets | | SuiviDesTemps | | +| | | Entier sur 8 octets | | Document | | +| | | Entier sur 8 octets | | MessageInterne | | +| | | Entier sur 8 octets | | DocumentNote | | +| | | Entier sur 8 octets | | MessageExterne | | +| | | Entier sur 8 octets | | CheckList | | +| | | Entier sur 8 octets | | CheckList_Collab | | +| | | Entier sur 8 octets | | Intervention_Personne | | +| | | Entier sur 8 octets | | CompteRendu | | +| | | Entier sur 8 octets | | Planning_RDV_Personne | | +| | | Entier sur 8 octets | | Intervention_ChampLibre | | +| | | Entier sur 8 octets | | MailModele | | +| | | Entier sur 8 octets | | BddExterne | | +| | | Entier sur 8 octets | | Client_BddExterne | | +| | | Entier sur 8 octets | | Intervention_BddExterne | | +| | | Entier sur 8 octets | | AccesEtDroit | | +| | | Entier sur 8 octets | | CategorieAcces | | +| | | Entier sur 8 octets | | Role | | +| | | Entier sur 8 octets | | ModeleRapport | | +| | | Entier sur 8 octets | | RDV_Planning | | +| DA_Champs | | Mémo texte | | Doc_Aide | | +| DA_Contenu | | Mémo texte | | Doc_Aide | | +| DA_Fenetre | | Chaîne | 70 | Doc_Aide | | +| DA_PKID | | Identifiant automatique (8 | | Doc_Aide | | +| DA_Tags | | Mémo texte | | Doc_Aide | | +| DA_TexteOriginal | | Mémo texte | | Doc_Aide | | +| DA_Titre | | Mémo texte | | Doc_Aide | | +| DateArchivage | | Date et Heure | | Personne | | +| | | Date et Heure | | Client | | +| | | Date et Heure | | Lieu | | +Date et Heure +Dossier +| | | Date et Heure | | Intervention | | +| --- | --- | -------------- | --- | ------------- | --- | +| | | Date et Heure | | Lieu_Personne | | +| | | Date et Heure | | Planning_RDV | | +Date et Heure +Planning_RDV_Personne +| 06/08/2026 | | | Batik | | 47 | +| ---------- | --- | --- | ----- | --- | --- | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| DC_Categorie | | Entier sur 8 octets | | Document | | +| ---------------------- | --- | --------------------------- | ----- | ------------ | --- | +| DC_Chemin | | Mémo texte | | Document | | +| DC_CleCategorie | | Chaîne | 16 | Document | | +| DC_CleEtatDoc | | Chaîne | 16 | Document | | +| DC_Commentaire | | Mémo texte | | Document | | +| DC_DateFichier | | Date (aaaammjj) | | Document | | +| DC_DroitAcces | | | | <Inutilisée> | | +| DC_GUID | | | | <Inutilisée> | | +| DC_HeriteDroit | | Chaîne | 8 | Document | | +| DC_IDEtatDocument | | Entier sur 8 octets | | Document | | +| DC_IDIntervention | | Entier sur 8 octets | | Document | | +| DC_IDMessageExterne | | Entier sur 8 octets | | Document | | +| DC_Nom | | Chaîne | 255 | Document | | +| DC_PKID | | Identifiant automatique (8 | | Document | | +| DE_Description | | | | <Inutilisée> | | +| DE_IDAdressePrincipale | | | | <Inutilisée> | | +| DE_IDDemandeur | | | | <Inutilisée> | | +| DE_IDDestination | | | | <Inutilisée> | | +| DE_IDPriorite | | | | <Inutilisée> | | +| DE_IDStatut | | | | <Inutilisée> | | +| DE_IDSuiveur | | | | <Inutilisée> | | +| DE_IDTypeDemandeur | | | | <Inutilisée> | | +| DE_PKID | | | | <Inutilisée> | | +| DE_RefExterne | | | | <Inutilisée> | | +| DE_RefInterne | | | | <Inutilisée> | | +| DL_IDDossier | | | | <Inutilisée> | | +| DL_IDLieu | | | | <Inutilisée> | | +| DL_PKID | | | | <Inutilisée> | | +| DN_GUID | | | | <Inutilisée> | | +| DN_IDDocument | | Entier sur 8 octets | | DocumentNote | | +| DN_Note | | Mémo texte | | DocumentNote | | +| DN_PKID | | Identifiant automatique (8 | | DocumentNote | | +| DO_CleStatut | | Chaîne | 16 | Dossier | | +| DO_CleType | | Chaîne | 16 | Dossier | | +| DO_DateDebut | | Date (aaaammjj) | | Dossier | | +| DO_Description | | Chaîne | 50 | Dossier | | +| DO_IDClient | | Entier sur 8 octets | | Dossier | | +| DO_IDDemandeur | | | | <Inutilisée> | | +| DO_IDImport | | Chaîne | 50 | Dossier | | +| DO_IDSociete | | Entier sur 8 octets | | Dossier | | +| DO_IDStatut | | Entier sur 8 octets | | Dossier | | +| DO_IDSuiveur | | | | <Inutilisée> | | +| DO_IDTypeDossier | | Entier sur 8 octets | | Dossier | | +| DO_NumDossier | | Chaîne | 6 | Dossier | | +| DO_PKID | | Identifiant automatique (8 | | Dossier | | +| DO_RefExterne | | Chaîne | 50 | Dossier | | +| DO_RefInterne | | Chaîne | 50 | Dossier | | +| DO_Titre | | Chaîne | 50 | Dossier | | +| 06/08/2026 | | | Batik | | 48 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| DP_IDDossier | | | | <Inutilisée> | | +| ------------------ | --- | ------------------- | --- | -------------------- | --- | +| DP_IDPersonne | | | | <Inutilisée> | | +| DP_PKID | | | | <Inutilisée> | | +| EC_IDCollaborateur | | Entier sur 8 octets | | Equipe_Collaborateur | | +| EC_IDEquipe | | Entier sur 8 octets | | Equipe_Collaborateur | | +EC_IDEquipe_EC_IDCollaborateur Clé composée 16 Equipe_Collaborateur +| EC_PKID | | Identifiant automatique (8 | | Equipe_Collaborateur | | +| ---------- | --- | --------------------------- | --- | -------------------- | --- | +| EI_CleEtat | | Chaîne | 16 | EtatIntervention | | +Date et Heure +| EI_DateDebut | | | | EtatIntervention | | +| ----------------- | --- | --------------------------- | --- | ---------------- | --- | +| EI_DateFin | | Date et Heure | | EtatIntervention | | +| EI_Description | | Mémo texte | | EtatIntervention | | +| EI_IDEtat | | Entier sur 8 octets | | EtatIntervention | | +| EI_IDIntervention | | Entier sur 8 octets | | EtatIntervention | | +| EI_PKID | | Identifiant automatique (8 | | EtatIntervention | | +| EM_Date | | Date et Heure | | ElementModifie | | +| EM_Fichier | | Chaîne | 50 | ElementModifie | | +Entier non signé sur 8 +| EM_IdEnrg | | | | ElementModifie | | +| --------- | --- | --- | --- | -------------- | --- | +Entier non signé sur 8 +| EM_IdUser | | | | ElementModifie | | +| ------------- | --- | --------------------------- | --- | --------------- | --- | +| EM_PKID | | Identifiant automatique (8 | | ElementModifie | | +| EmailPersonne | | | | <Inutilisée> | | +| EQ_IDSociete | | Entier sur 8 octets | | Equipe | | +| EQ_Nom | | Chaîne | 50 | Equipe | | +| EQ_PKID | | Identifiant automatique (8 | | Equipe | | +| ES_DateHeure | | Date et Heure | | ElementSupprime | | +| ES_Fichier | | Chaîne | 40 | ElementSupprime | | +Entier non signé sur 8 +| ES_IdEnrg | | | | ElementSupprime | | +| ------------ | --- | --------------------------- | ----- | --------------- | --- | +| ES_IdUser | | Entier non signé sur 8 | | ElementSupprime | | +| ES_NumEnr_Id | | Chaîne | 50 | ElementSupprime | | +| ES_NumEnrg | | Entier non signé sur 8 | | ElementSupprime | | +| ES_PKID | | Identifiant automatique (8 | | ElementSupprime | | +| ETA_Groupe | | Chaîne | 20 | Etats | | +| ETA_Libelle | | Chaîne | 50 | Etats | | +| ETA_Ordre | | Entier non signé sur 2 | | Etats | | +| ETA_PKID | | Identifiant automatique (8 | | Etats | | +| ETA_Valeur | | Mémo texte | | Etats | | +| GUID | | Chaîne | 32 | Personne | | +| | | Chaîne | 32 | Societe | | +| | | Chaîne | 32 | Client | | +| | | Chaîne | 32 | Lieu | | +| | | Chaîne | 32 | Adresse | | +| | | Chaîne | 32 | Collaborateur | | +| | | Chaîne | 32 | Dossier | | +| | | Chaîne | 32 | Intervention | | +| | | Chaîne | 32 | Planning_RDV | | +| | | Chaîne | 32 | SuiviDesTemps | | +| | | Chaîne | 32 | Document | | +| | | Chaîne | 32 | MessageInterne | | +| | | Chaîne | 32 | DocumentNote | | +| 06/08/2026 | | | Batik | | 49 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| | | Chaîne | 32 | MessageExterne | | +| --------- | --- | ------ | --- | ----------------- | --- | +| | | Chaîne | 32 | CompteRendu | | +| | | Chaîne | 32 | RDV_Planning | | +| | | Chaîne | 32 | RDV_Collaborateur | | +| | | Chaîne | 32 | RDV_Contact | | +| GUID_Pers | | | | <Inutilisée> | | +| GUID_RDV | | | | <Inutilisée> | | +Date et Heure +| HEI_ | | | | EtatIntervention | | +| ------------------------------------ | --- | --- | --- | ---------------- | --- | +| HEI_DateDebut | | | | <Inutilisée> | | +| HEI_DateFin | | | | <Inutilisée> | | +| HEI_Description | | | | <Inutilisée> | | +| HEI_IDEtat | | | | <Inutilisée> | | +| HEI_IDIntervention | | | | <Inutilisée> | | +| HEI_PKID | | | | <Inutilisée> | | +| IC_IDCollaborateur | | | | <Inutilisée> | | +| IC_IDIntervention | | | | <Inutilisée> | | +| IC_IDIntervention_IC_IDCollaborateur | | | | <Inutilisée> | | +| IC_PKID | | | | <Inutilisée> | | +ICL_IDIntervention Entier sur 8 octets Intervention_ChampLibre +ICL_IDIntervention_ICL_IDParametreM Clé composée 16 Intervention_ChampLibre +| ICL_IDInterventionICL_IDParametreM | | | | <Inutilisée> | | +| ---------------------------------- | --- | --- | --- | ------------ | --- | +ICL_IDParametreMetier Entier sur 8 octets Intervention_ChampLibre +| ICL_PKID | | Identifiant automatique (8 | | Intervention_ChampLibre | | +| ---------------------------- | --- | --------------------------- | ----- | ----------------------- | --- | +| ICL_ValeurDuChamp | | Chaîne | 50 | Intervention_ChampLibre | | +| ICP_IDClient | | | | <Inutilisée> | | +| ICP_IDImport | | | | <Inutilisée> | | +| ICP_IDIntervention | | | | <Inutilisée> | | +| ICP_IDPersonne | | | | <Inutilisée> | | +| ICP_PKID | | | | <Inutilisée> | | +| IDAction | | | | <Inutilisée> | | +| IDADRESSE | | | | <Inutilisée> | | +| IDCategorieAcces | | | | <Inutilisée> | | +| IDCheckList | | | | <Inutilisée> | | +| IDCheckList_Collab | | | | <Inutilisée> | | +| IDClient | | | | <Inutilisée> | | +| IDClient_Lieu | | | | <Inutilisée> | | +| IDCollaboteur | | | | <Inutilisée> | | +| IDCompteRendu | | Identifiant automatique (8 | | CompteRendu | | +| IDCompteur | | | | <Inutilisée> | | +| IDDoc_Aide | | | | <Inutilisée> | | +| IDDocument | | | | <Inutilisée> | | +| IDDocumentNote | | | | <Inutilisée> | | +| IDElementModifie | | | | <Inutilisée> | | +| IDElementSupprime | | | | <Inutilisée> | | +| IDEquipe | | | | <Inutilisée> | | +| IDEquipe_Collaborateur | | | | <Inutilisée> | | +| IDEtats | | | | <Inutilisée> | | +| IDHistoriqueEtatIntervention | | | | <Inutilisée> | | +| 06/08/2026 | | | Batik | | 50 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| IDIntervention | | | | <Inutilisée> | | +| -------------- | --- | --- | --- | ------------ | --- | +IDIntervention_ChampLibre Identifiant automatique (8 Intervention_ChampLibre +| IDIntervention_Client_Personne | | | | <Inutilisée> | | +| ------------------------------ | --- | --- | --- | ------------ | --- | +| IDIntervention_Collaborateur | | | | <Inutilisée> | | +| IDIntervention_Lieu_Personne | | | | <Inutilisée> | | +| IDIntervention_Lot | | | | <Inutilisée> | | +| IDIntervention_Personne | | | | <Inutilisée> | | +| IDLieu | | | | <Inutilisée> | | +| IDLieu_Personne | | | | <Inutilisée> | | +| IDLots | | | | <Inutilisée> | | +| IDMessageExterne | | | | <Inutilisée> | | +| IDMessageInterne | | | | <Inutilisée> | | +| IDMobile | | | | <Inutilisée> | | +| IDMobLog | | | | <Inutilisée> | | +| IDMobReception | | | | <Inutilisée> | | +| IDModeleRapport | | | | <Inutilisée> | | +| IDModeleRapportMob | | | | <Inutilisée> | | +| IDParametreApplication | | | | <Inutilisée> | | +| IDPARAMETREMETIER | | | | <Inutilisée> | | +| IDParametreMetierEntete | | | | <Inutilisée> | | +IDParametreSysteme Identifiant automatique (8 ParametreSysteme +| IDParametreUtilisateur | | | | <Inutilisée> | | +| ------------------------------------ | --- | ------- | ----- | ------------ | --- | +| IDPersonne | | | | <Inutilisée> | | +| IDPlanning_RDV | | | | <Inutilisée> | | +| IDRDV_Collaborateur | | | | <Inutilisée> | | +| IDRDV_Contact | | | | <Inutilisée> | | +| IDRendezVousPlanning | | | | <Inutilisée> | | +| IDRole | | | | <Inutilisée> | | +| IDRubriquesDocument | | | | <Inutilisée> | | +| IDSociete | | | | <Inutilisée> | | +| IDSociete_Collaborateur | | | | <Inutilisée> | | +| IDTelephone | | | | <Inutilisée> | | +| IDTemps | | | | <Inutilisée> | | +| IDUtilisateur | | | | <Inutilisée> | | +| IL_IDIntervention | | | | <Inutilisée> | | +| IL_IDIntervention_IL_IDLot | | | | <Inutilisée> | | +| IL_IDLot | | | | <Inutilisée> | | +| IL_PKID | | | | <Inutilisée> | | +| ILP_Etage | | | | <Inutilisée> | | +| ILP_IDIntervention | | | | <Inutilisée> | | +| ILP_IDIntervention_ILP_IDLieuPersonn | | | | <Inutilisée> | | +| ILP_IDLieu | | | | <Inutilisée> | | +| ILP_IDLieuPersonne | | | | <Inutilisée> | | +| ILP_IDPersonne | | | | <Inutilisée> | | +| ILP_Lot | | | | <Inutilisée> | | +| ILP_PKID | | | | <Inutilisée> | | +| IN_AttestationTVAPresente | | Booléen | | Intervention | | +| IN_ChpPersonnalise1 | | | | <Inutilisée> | | +| 06/08/2026 | | | Batik | | 51 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| IN_ChpPersonnalise2 | | | | <Inutilisée> | | +| --------------------- | --- | --------------------------- | --- | ------------ | --- | +| IN_CleEtat | | Chaîne | 16 | Intervention | | +| IN_CleType | | Chaîne | 16 | Intervention | | +| IN_CodeBddExterne | | | | <Inutilisée> | | +| IN_CodeExterne | | | | <Inutilisée> | | +| IN_DateDevis | | Date (aaaammjj) | | Intervention | | +| IN_DateFacture | | Date (aaaammjj) | | Intervention | | +| IN_DateIntervention | | Date (aaaammjj) | | Intervention | | +| IN_Description | | Mémo texte | | Intervention | | +| IN_DureePrevue | | Réel sur 4 octets | | Intervention | | +| IN_IDClient | | Entier sur 8 octets | | Intervention | | +| IN_IDDemandeur | | Entier sur 8 octets | | Intervention | | +| IN_IDDossier | | Entier sur 8 octets | | Intervention | | +| IN_IDEtatIntervention | | Entier sur 8 octets | | Intervention | | +| IN_IDImport | | Chaîne | 50 | Intervention | | +| IN_IDLieu | | Entier sur 8 octets | | Intervention | | +| IN_IDSociete | | Entier sur 8 octets | | Intervention | | +| IN_IDSuiveur | | | | <Inutilisée> | | +| IN_IDSuiviPar | | Entier sur 8 octets | | Intervention | | +| IN_IDTypeIntervention | | Entier sur 8 octets | | Intervention | | +| IN_NoteInterne | | Mémo texte | | Intervention | | +| IN_NumDevis | | Chaîne | 20 | Intervention | | +| IN_NumFacture | | Chaîne | 20 | Intervention | | +| IN_NumIntervention | | Chaîne | 6 | Intervention | | +| IN_PKID | | Identifiant automatique (8 | | Intervention | | +| IN_RefExterne | | Chaîne | 50 | Intervention | | +| IN_RefInterne | | Chaîne | 50 | Intervention | | +| IN_Titre | | Chaîne | 51 | Intervention | | +| INX_IDBaseExt | | | | <Inutilisée> | | +INX_IDBaseExtINX_IDIntervention Clé composée 16 Intervention_BddExterne +| INX_IDBddExterne | | Entier sur 8 octets | | Intervention_BddExterne | | +| ---------------- | --- | ------------------- | --- | ----------------------- | --- | +| INX_IDExterne | | Chaîne | 30 | Intervention_BddExterne | | +INX_IDIntervention Entier sur 8 octets Intervention_BddExterne +| INX_PKID | | Identifiant automatique (8 | | Intervention_BddExterne | | +| ----------------- | --- | --------------------------- | ----- | ----------------------- | --- | +| IP_CleRole | | Chaîne | 16 | Intervention_Personne | | +| IP_EstDemandeur | | Booléen | | Intervention_Personne | | +| IP_Etage | | Chaîne | 10 | Intervention_Personne | | +| IP_IDClient | | Entier sur 8 octets | | Intervention_Personne | | +| IP_IDImport | | Entier sur 8 octets | | Intervention_Personne | | +| IP_IDIntervention | | Entier sur 8 octets | | Intervention_Personne | | +| IP_IDLieu | | Entier sur 8 octets | | Intervention_Personne | | +| IP_IDPersonne | | Entier sur 8 octets | | Intervention_Personne | | +| IP_IDRole | | Entier sur 8 octets | | Intervention_Personne | | +| IP_Lot | | Chaîne | 25 | Intervention_Personne | | +| IP_PKID | | Identifiant automatique (8 | | Intervention_Personne | | +| LI_Archive | | | | <Inutilisée> | | +| LI_Badge | | Booléen | | Lieu | | +| LI_Blocage | | Booléen | | Lieu | | +| 06/08/2026 | | | Batik | | 52 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| LI_CleType | | Chaîne | 16 | Lieu | | +| ---------------------- | --- | --------------------------- | ----- | -------------- | --- | +| LI_CodeAcces | | Mémo texte | | Lieu | | +| LI_CodeLieu | | Chaîne | 50 | Lieu | | +| LI_CreationDate | | | | <Inutilisée> | | +| LI_CreationUser | | | | <Inutilisée> | | +| LI_DateArchivage | | | | <Inutilisée> | | +| LI_IDAdresse | | Entier sur 8 octets | | Lieu | | +| LI_IDClientPrincipal | | Entier sur 8 octets | | Lieu | | +| LI_IDImport | | Chaîne | 50 | Lieu | | +| LI_IDType | | Entier sur 8 octets | | Lieu | | +| LI_Interphone | | Booléen | | Lieu | | +| LI_ModifDate | | | | <Inutilisée> | | +| LI_ModifUser | | | | <Inutilisée> | | +| LI_Note | | Chaîne | 250 | Lieu | | +| LI_PKID | | Identifiant automatique (8 | | Lieu | | +| LI_RaisonBlocage | | Mémo texte | | Lieu | | +| LI_RepertoireDocs | | Chaîne | 255 | Lieu | | +| LIP_Actif | | Booléen | | Lieu_Personne | | +| LIP_CleRole | | Chaîne | 16 | Lieu_Personne | | +| LIP_CleType | | Chaîne | 16 | Lieu_Personne | | +| LIP_Etage | | Chaîne | 10 | Lieu_Personne | | +| LIP_EtiquetteAdresse | | Chaîne | 50 | Lieu_Personne | | +| LIP_IDLieu | | Entier sur 8 octets | | Lieu_Personne | | +| LIP_IDPersonne | | Entier sur 8 octets | | Lieu_Personne | | +| LIP_IDRole | | Entier sur 8 octets | | Lieu_Personne | | +| LIP_IDTypeLieuPersonne | | Entier sur 8 octets | | Lieu_Personne | | +| LIP_Lot | | Chaîne | 25 | Lieu_Personne | | +| LIP_PKID | | Identifiant automatique (8 | | Lieu_Personne | | +| LO_IDLieu | | | | <Inutilisée> | | +| LO_Localisation | | | | <Inutilisée> | | +| LO_Nom | | | | <Inutilisée> | | +| LO_PKID | | | | <Inutilisée> | | +| Login | | | | <Inutilisée> | | +| LP_IDLot | | | | <Inutilisée> | | +| LP_IDPersonne | | | | <Inutilisée> | | +| LP_PKID | | | | <Inutilisée> | | +| MC_Code | | | | <Inutilisée> | | +| MC_Nom | | | | <Inutilisée> | | +| MC_Note | | | | <Inutilisée> | | +| MC_Ordre | | | | <Inutilisée> | | +| MC_PKID | | | | <Inutilisée> | | +| MC_System | | | | <Inutilisée> | | +| ME_AdrCC | | Chaîne | 200 | MessageExterne | | +| ME_AdrCCI | | Chaîne | 200 | MessageExterne | | +| ME_AdrDestinataires | | Mémo texte | | MessageExterne | | +| ME_AdrExp | | Chaîne | 250 | MessageExterne | | +| ME_Brouillon | | Booléen | | MessageExterne | | +| ME_Envoyer | | Booléen | | MessageExterne | | +| 06/08/2026 | | | Batik | | 53 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| ME_EnvoyerMob | | Booléen | | MessageExterne | | +| ----------------- | --- | ------------------- | --- | -------------- | --- | +| ME_IDDocPJ | | Chaîne | 100 | MessageExterne | | +| ME_IDImport | | Chaîne | 50 | MessageExterne | | +| ME_IDIntervention | | Entier sur 8 octets | | MessageExterne | | +| ME_Message | | Mémo texte | | MessageExterne | | +| ME_Objet | | Chaîne | 200 | MessageExterne | | +| ME_PieceJointes | | Mémo texte | | MessageExterne | | +| ME_PJ | | Booléen | | MessageExterne | | +Identifiant automatique (8 +| ME_PKID | | | | MessageExterne | | +| ----------------- | --- | ------------------- | --- | -------------- | --- | +| MI_IDIntervention | | Entier sur 8 octets | | MessageInterne | | +| MI_IDTypeMessage | | Entier sur 8 octets | | MessageInterne | | +| MI_Message | | Mémo texte | | MessageInterne | | +Identifiant automatique (8 +| MI_PKID | | | | MessageInterne | | +| ------------ | --- | ------------------ | --- | -------------- | --- | +| ML_DateCreat | | Date et Heure | | MobLog | | +| ML_Message | | Mémo texte | | MobLog | | +| ML_Niveau | | Entier sur 1 octet | | MobLog | | +Identifiant automatique (8 +| ML_PKID | | | | MobLog | | +| ----------------------- | --- | --------------------------- | --- | ------------ | --- | +| MM_Code | | Chaîne | 5 | MailModele | | +| MM_Corps | | | | <Inutilisée> | | +| MM_EnvoiMob | | Booléen | | MailModele | | +| MM_Extra | | Mémo texte | | MailModele | | +| MM_Langue | | Chaîne | 50 | MailModele | | +| MM_MsgDoc | | Image (mémo binaire) | | MailModele | | +| MM_Nom | | Chaîne | 50 | MailModele | | +| MM_PKID | | Identifiant automatique (8 | | MailModele | | +| MM_Sujet | | Mémo texte | | MailModele | | +| MM_System | | Booléen | | MailModele | | +| MMC_CodeCat | | Chaîne | 5 | MailCat | | +| MMC_CodeModMail | | Chaîne | 5 | MailCat | | +| MMC_CodeModMail_CodeCat | | Clé composée | 10 | MailCat | | +Identifiant automatique (8 +| MMC_PKID | | | | MailCat | | +| ------------------ | --- | --------------------------- | --- | -------- | --- | +| MOB_NomPersonne | | Chaîne | 100 | Mobile | | +| MOB_NumSerie | | Chaîne | 100 | Mobile | | +| MOB_PKID | | Identifiant automatique (8 | | Mobile | | +| MOC_Code | | Chaîne | 20 | MotClef | | +| MOC_CodeMOC_Langue | | Clé composée | 23 | MotClef | | +| MOC_Groupe | | Chaîne | 25 | MotClef | | +| MOC_Langue | | Chaîne | 3 | MotClef | | +| MOC_Lib | | Chaîne | 50 | MotClef | | +| MOC_Mot | | Chaîne | 50 | MotClef | | +| MOC_MotMOC_Langue | | Clé composée | 53 | MotClef | | +| MOC_PKID | | Identifiant automatique (8 | | MotClef | | +| ModifDate | | Date et Heure | | Personne | | +Date et Heure +Societe +| | | Date et Heure | | Client | | +| --- | --- | -------------- | --- | ------- | --- | +| | | Date et Heure | | Lieu | | +| | | Date et Heure | | Adresse | | +Date et Heure +Collaborateur +| 06/08/2026 | | | Batik | | 54 | +| ---------- | --- | --- | ----- | --- | --- | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| | | Date et Heure | | Societe_Collaborateur | | +| --- | --- | -------------- | --- | --------------------- | --- | +| | | Date et Heure | | Equipe | | +| | | Date et Heure | | Equipe_Collaborateur | | +Date et Heure +Utilisateur +| | | Date et Heure | | Dossier | | +| --- | --- | -------------- | --- | ------------- | --- | +| | | Date et Heure | | Intervention | | +| | | Date et Heure | | Lieu_Personne | | +Date et Heure +Client_Lieu +Date et Heure +Planning_RDV +| | | Date et Heure | | SuiviDesTemps | | +| --- | --- | -------------- | --- | ------------- | --- | +| | | Date et Heure | | Document | | +| | | Date et Heure | | CheckList | | +Date et Heure +CheckList_Collab +| | | Date et Heure | | Intervention_Personne | | +| --- | --- | -------------- | --- | --------------------- | --- | +| | | Date et Heure | | CompteRendu | | +| | | Date et Heure | | Planning_RDV_Personne | | +Date et Heure +Intervention_ChampLibre +Date et Heure +MailModele +| | | Date et Heure | | BddExterne | | +| --- | --- | -------------- | --- | ----------------------- | --- | +| | | Date et Heure | | Client_BddExterne | | +| | | Date et Heure | | Intervention_BddExterne | | +Date et Heure +AccesEtDroit +| | | Date et Heure | | CategorieAcces | | +| --- | --- | -------------- | --- | -------------- | --- | +| | | Date et Heure | | Role | | +| | | Date et Heure | | ModeleRapport | | +Date et Heure +RDV_Planning +| | | Date et Heure | | Doc_Aide | | +| ---------- | --- | ------------------- | ----- | --------------------- | --- | +| ModifUser | | Entier sur 8 octets | | Personne | | +| | | Entier sur 8 octets | | Societe | | +| | | Entier sur 8 octets | | Client | | +| | | Entier sur 8 octets | | Lieu | | +| | | Entier sur 8 octets | | Adresse | | +| | | Entier sur 8 octets | | Collaborateur | | +| | | Entier sur 8 octets | | Societe_Collaborateur | | +| | | Entier sur 8 octets | | Equipe | | +| | | Entier sur 8 octets | | Equipe_Collaborateur | | +| | | Entier sur 8 octets | | Utilisateur | | +| | | Entier sur 8 octets | | Dossier | | +| | | Entier sur 8 octets | | Intervention | | +| | | Entier sur 8 octets | | Lieu_Personne | | +| | | Entier sur 8 octets | | Client_Lieu | | +| | | Entier sur 8 octets | | Planning_RDV | | +| | | Entier sur 8 octets | | SuiviDesTemps | | +| | | Entier sur 8 octets | | Document | | +| | | Entier sur 8 octets | | CheckList | | +| | | Entier sur 8 octets | | CheckList_Collab | | +| | | Entier sur 8 octets | | Intervention_Personne | | +| | | Entier sur 8 octets | | CompteRendu | | +| 06/08/2026 | | | Batik | | 55 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| | | Entier sur 8 octets | | Planning_RDV_Personne | | +| ------------------ | --- | --------------------------- | --- | ----------------------- | --- | +| | | Entier sur 8 octets | | Intervention_ChampLibre | | +| | | Entier sur 8 octets | | MailModele | | +| | | Entier sur 8 octets | | BddExterne | | +| | | Entier sur 8 octets | | Client_BddExterne | | +| | | Entier sur 8 octets | | Intervention_BddExterne | | +| | | Entier sur 8 octets | | AccesEtDroit | | +| | | Entier sur 8 octets | | CategorieAcces | | +| | | Entier sur 8 octets | | Role | | +| | | Entier sur 8 octets | | ModeleRapport | | +| | | Entier sur 8 octets | | RDV_Planning | | +| | | Entier sur 8 octets | | Doc_Aide | | +| MotDePasseAChanger | | | | <Inutilisée> | | +| MR_Buffer | | Image (mémo binaire) | | MobReception | | +| MR_CMD | | Chaîne | 50 | MobReception | | +| MR_DateHeureRecep | | Date et Heure | | MobReception | | +| MR_Fait | | Booléen | | MobReception | | +| MR_IDToSRV | | Entier sur 8 octets | | MobReception | | +| MR_JSON | | Mémo texte | | MobReception | | +| MR_NumSerie | | Chaîne | 50 | MobReception | | +| MR_PKID | | Identifiant automatique (8 | | MobReception | | +| MRM_Actif | | | | <Inutilisée> | | +| MRM_Modele | | Image (mémo binaire) | | ModeleRapportMob | | +| MRM_Nom | | Chaîne | 30 | ModeleRapportMob | | +| MRM_PKID | | Identifiant automatique (8 | | ModeleRapportMob | | +| MRM_RubMob | | Mémo texte | | ModeleRapportMob | | +| MRP_EnvoiMob | | Booléen | | ModeleRapport | | +| MRP_Extra | | Mémo texte | | ModeleRapport | | +| MRP_Modele | | Autre mémo binaire | | ModeleRapport | | +| MRP_Nom | | Mémo texte | | ModeleRapport | | +Identifiant automatique (8 +| MRP_PKID | | | | ModeleRapport | | +| ------------------------------- | --- | ------------ | ----- | --------------- | --- | +| NbJrsDepuisDerniereModif | | | | <Inutilisée> | | +| NomPersonne | | | | <Inutilisée> | | +| NomSociete | | | | <Inutilisée> | | +| PA_Actif | | Booléen | | ParametreMetier | | +| PA_AjoutParametreMetier | | | | <Inutilisée> | | +| PA_Categorie | | Chaîne | 25 | ParametreMetier | | +| PA_CLE | | Chaîne | 16 | ParametreMetier | | +| PA_CleLiaison | | Chaîne | 23 | ParametreMetier | | +| PA_Code | | Chaîne | 3 | ParametreMetier | | +| PA_CodePA_Valeur | | Clé composée | 23 | ParametreMetier | | +| PA_CodeParametreMetier | | | | <Inutilisée> | | +| PA_Custom | | | | <Inutilisée> | | +| PA_CustomCodeParametreMetier | | | | <Inutilisée> | | +| PA_CustomParametreMetier | | | | <Inutilisée> | | +| PA_Est | | | | <Inutilisée> | | +| PA_EstModifiableParametreMetier | | | | <Inutilisée> | | +| PA_IDImport | | Chaîne | 50 | ParametreMetier | | +| 06/08/2026 | | | Batik | | 56 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| PA_Invisible | | Booléen | | ParametreMetier | | +| ------------------------- | --- | ------------------- | --- | --------------- | --- | +| PA_Libelle | | Chaîne | 250 | ParametreMetier | | +| PA_LibelleCourt | | Chaîne | 20 | ParametreMetier | | +| PA_LibelleParametreMetier | | | | <Inutilisée> | | +| PA_NumeroParametreMetier | | | | <Inutilisée> | | +| PA_Ordre | | Entier sur 4 octets | | ParametreMetier | | +| PA_OrdreParametreMetier | | | | <Inutilisée> | | +| PA_Parametre | | Mémo texte | | ParametreMetier | | +Identifiant automatique (8 +| PA_PKID | | | | ParametreMetier | | +| ------------------------ | --- | ---------- | --- | -------------------- | --- | +| PA_Systeme | | Booléen | | ParametreMetier | | +| PA_Valeur | | Chaîne | 20 | ParametreMetier | | +| PA_ValeurParametreMetier | | | | <Inutilisée> | | +| PA_Visible | | | | <Inutilisée> | | +| PAP_Categorie | | | | <Inutilisée> | | +| PAP_Code | | Chaîne | 50 | ParametreApplication | | +| PAP_Description | | Mémo texte | | ParametreApplication | | +| PAP_ListeParametre | | Chaîne | 50 | ParametreApplication | | +Identifiant automatique (8 +| PAP_PKID | | | | ParametreApplication | | +| --------------- | --- | ---------- | --- | -------------------- | --- | +| PAP_Valeur | | Mémo texte | | ParametreApplication | | +| PAS_Code | | Chaîne | 50 | ParametreSysteme | | +| PAS_Description | | Chaîne | 250 | ParametreSysteme | | +Identifiant automatique (8 +| PAS_PKID | | | | ParametreSysteme | | +| ---------------------- | --- | ------------------- | ----- | ---------------- | --- | +| PAS_Valeur | | Mémo texte | | ParametreSysteme | | +| PE_Actif | | Booléen | | Personne | | +| PE_AdressePersonne_1 | | | | <Inutilisée> | | +| PE_AdressePersonne_2 | | | | <Inutilisée> | | +| PE_AdressePersonne_3 | | | | <Inutilisée> | | +| PE_AdressePersonne_4 | | | | <Inutilisée> | | +| PE_AdressePersonne_5 | | | | <Inutilisée> | | +| PE_AdresseSociete_4 | | | | <Inutilisée> | | +| PE_CleCivilite | | Chaîne | 16 | Personne | | +| PE_CleRole | | Chaîne | 16 | Personne | | +| PE_CodePostalPersonne | | | | <Inutilisée> | | +| PE_CreationDate | | | | <Inutilisée> | | +| PE_CreationUser | | | | <Inutilisée> | | +| PE_Email | | Mémo texte | | Personne | | +| PE_EmailPersonne | | | | <Inutilisée> | | +| PE_Etage | | | | <Inutilisée> | | +| PE_Fax | | Chaîne | 15 | Personne | | +| PE_IDAdressePrincipale | | Entier sur 8 octets | | Personne | | +| PE_IDCivilite | | Entier sur 8 octets | | Personne | | +| PE_IDClient | | Entier sur 8 octets | | Personne | | +| PE_IDImport | | Chaîne | 50 | Personne | | +| PE_IDRole | | Entier sur 8 octets | | Personne | | +| PE_IDRolePersonne | | | | <Inutilisée> | | +| PE_InfoSupp | | Mémo texte | | Personne | | +| PE_ModifDate | | | | <Inutilisée> | | +| PE_ModifUser | | | | <Inutilisée> | | +| 06/08/2026 | | | Batik | | 57 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| PE_Nom | | Chaîne | 50 | Personne | | +| -------------- | --- | ------ | --- | ------------ | --- | +| PE_NomPersonne | | | | <Inutilisée> | | +| PE_Note | | Chaîne | 250 | Personne | | +Identifiant automatique (8 +| PE_PKID | | | | Personne | | +| ------------------------------ | --- | ------- | --- | ------------ | --- | +| PE_Prenom | | Chaîne | 50 | Personne | | +| PE_PrenomPersonne | | | | <Inutilisée> | | +| PE_PresentationAdressePersonne | | | | <Inutilisée> | | +| PE_Role | | | | <Inutilisée> | | +| PE_TelFixe | | Chaîne | 15 | Personne | | +| PE_TelFixePersonne | | | | <Inutilisée> | | +| PE_TelMobile | | Chaîne | 15 | Personne | | +| PE_TelMobilePersonne | | | | <Inutilisée> | | +| PE_TelPortablePersonne | | | | <Inutilisée> | | +| PE_UsageInterne | | Booléen | | Personne | | +| PE_VillePersonne | | | | <Inutilisée> | | +| PEFax | | | | <Inutilisée> | | +| PL_CleMotifAnnu | | Chaîne | 16 | Planning_RDV | | +| PL_CleOrigineAnnu | | Chaîne | 16 | Planning_RDV | | +| PL_CleStatut | | Chaîne | 16 | Planning_RDV | | +| PL_CleType | | Chaîne | 16 | Planning_RDV | | +| PL_CR | | Booléen | | Planning_RDV | | +Date et Heure +| PL_DateDebut | | | | Planning_RDV | | +| ------------------ | --- | ----------------------- | --- | ------------ | --- | +| PL_DateExport | | Date et Heure | | Planning_RDV | | +| PL_DateFin | | Date et Heure | | Planning_RDV | | +| PL_Descriptif | | | | <Inutilisée> | | +| PL_Description | | Mémo texte | | Planning_RDV | | +| PL_Duree | | | | <Inutilisée> | | +| PL_EstSuperposable | | | | <Inutilisée> | | +| PL_Grouper | | Booléen | | Planning_RDV | | +| PL_GUID | | | | <Inutilisée> | | +| PL_IDCollaborateur | | Entier sur 8 octets | | Planning_RDV | | +| PL_IDDossier | | Entier sur 8 octets | | Planning_RDV | | +| PL_IDEquipe | | Entier sur 8 octets | | Planning_RDV | | +| PL_IDGroupe | | Entier sur 8 octets | | Planning_RDV | | +| PL_IdGroupeDate | | Entier sur 8 octets | | Planning_RDV | | +| PL_IDImport | | Chaîne | 50 | Planning_RDV | | +| PL_IDIntervention | | Entier sur 8 octets | | Planning_RDV | | +| PL_IDLieu | | Entier sur 8 octets | | Planning_RDV | | +| PL_IDMotifAnnul | | Entier non signé sur 8 | | Planning_RDV | | +Entier non signé sur 8 +| PL_IDOrigineAnnul | | | | Planning_RDV | | +| ----------------- | --- | --------------------------- | ----- | ------------ | --- | +| PL_IDPersonne | | Entier sur 8 octets | | Planning_RDV | | +| PL_IDSociete | | Entier sur 8 octets | | Planning_RDV | | +| PL_IDStatut | | Entier sur 8 octets | | Planning_RDV | | +| PL_IDTypeActivite | | Entier sur 8 octets | | Planning_RDV | | +| PL_NoteCollab | | Mémo texte | | Planning_RDV | | +| PL_Objet | | Chaîne | 25 | Planning_RDV | | +| PL_PKID | | Identifiant automatique (8 | | Planning_RDV | | +| PL_PKID_PE_PKID | | | | <Inutilisée> | | +| 06/08/2026 | | | Batik | | 58 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| PL_Pri | | Booléen | | Planning_RDV | | +| ------------------ | --- | ------- | --- | --------------------- | --- | +| PL_Prive | | Booléen | | Planning_RDV | | +| PL_RappelSMS | | Booléen | | Planning_RDV | | +| PL_SAV | | Booléen | | Planning_RDV | | +| PL_Superposable | | Booléen | | Planning_RDV | | +| PL_TempsValide | | Booléen | | Planning_RDV | | +| PM_AucunPossible | | Booléen | | ParametreMetierEntete | | +| PM_Categorie | | Chaîne | 20 | ParametreMetierEntete | | +| PM_Code | | Chaîne | 3 | ParametreMetierEntete | | +| PM_Contexte | | | | <Inutilisée> | | +| PM_Description | | Chaîne | 250 | ParametreMetierEntete | | +| PM_FormatValeur | | | | <Inutilisée> | | +| PM_Groupe | | Chaîne | 25 | ParametreMetierEntete | | +| PM_JSONSpec | | | | <Inutilisée> | | +| PM_Libelle | | Chaîne | 50 | ParametreMetierEntete | | +| PM_Personnalisable | | | | <Inutilisée> | | +Identifiant automatique (8 +| PM_PKID | | | | ParametreMetierEntete | | +| ----------------------- | --- | --------------------------- | --- | --------------------- | --- | +| PM_Specifique | | Mémo texte | | ParametreMetierEntete | | +| PM_Systeme | | Booléen | | ParametreMetierEntete | | +| PM_Type | | Entier non signé sur 2 | | ParametreMetierEntete | | +| PrenomPersonne | | | | <Inutilisée> | | +| PRP_IDGroupeRDV | | Entier sur 8 octets | | Planning_RDV_Personne | | +| PRP_IDPersonne | | Entier sur 8 octets | | Planning_RDV_Personne | | +| PRP_IDRdv | | Entier sur 8 octets | | Planning_RDV_Personne | | +| PRP_PKID | | Identifiant automatique (8 | | Planning_RDV_Personne | | +| PRP_PKID_PE_PKID | | Clé composée | 16 | Planning_RDV_Personne | | +| PT_Description | | | | <Inutilisée> | | +| PT_Libelle | | | | <Inutilisée> | | +| PT_Personnalisable | | | | <Inutilisée> | | +| PT_PKID | | | | <Inutilisée> | | +| PU_CODE | | Chaîne | 50 | ParametreUtilisateur | | +| PU_CodePU_IDUtilisateur | | Clé composée | 58 | ParametreUtilisateur | | +| PU_IDUtilisateur | | Entier sur 8 octets | | ParametreUtilisateur | | +| PU_PKID | | Identifiant automatique (8 | | ParametreUtilisateur | | +| PU_Valeur | | Mémo texte | | ParametreUtilisateur | | +| R_AncienCode | | Chaîne | 50 | Role | | +| R_Libelle | | Chaîne | 30 | Role | | +| R_PKID | | Identifiant automatique (8 | | Role | | +| RD_BD | | Booléen | | RubriquesDocument | | +| RD_Description | | Mémo texte | | RubriquesDocument | | +| RD_EnvoiMob | | Booléen | | RubriquesDocument | | +| RD_Groupe | | Chaîne | 20 | RubriquesDocument | | +| RD_IdRubParent | | Entier non signé sur 8 | | RubriquesDocument | | +| RD_MasqueSaisie | | Chaîne | 20 | RubriquesDocument | | +| RD_MembreMob | | Chaîne | 50 | RubriquesDocument | | +| RD_Modifiable | | Booléen | | RubriquesDocument | | +| RD_Nom | | Chaîne | 50 | RubriquesDocument | | +Entier non signé sur 4 +| RD_Ordre | | | | RubriquesDocument | | +| ---------- | --- | --- | ----- | ----------------- | --- | +| 06/08/2026 | | | Batik | | 59 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| RD_PKID | | Identifiant automatique (8 | | RubriquesDocument | | +| ----------------- | --- | --------------------------- | --- | ----------------- | --- | +| RD_Rubrique | | Chaîne | 35 | RubriquesDocument | | +| RD_Type | | | | <Inutilisée> | | +| RD_TypeMembre | | Chaîne | 20 | RubriquesDocument | | +| RolePersonne | | Entier sur 8 octets | | Personne | | +| RV_CleMotifAnnu | | Chaîne | 16 | RDV_Planning | | +| RV_CleOrigineAnnu | | Chaîne | 16 | RDV_Planning | | +| RV_CleStatut | | Chaîne | 16 | RDV_Planning | | +| RV_CleType | | Chaîne | 16 | RDV_Planning | | +| RV_CR | | | | <Inutilisée> | | +| RV_Date | | Date (aaaammjj) | | RDV_Planning | | +| RV_Description | | Mémo texte | | RDV_Planning | | +| RV_Groupe | | Booléen | | RDV_Planning | | +| RV_IdDossier | | Entier sur 8 octets | | RDV_Planning | | +| RV_IdInter | | Entier sur 8 octets | | RDV_Planning | | +| RV_IdLieu | | Entier non signé sur 8 | | RDV_Planning | | +| RV_IdSociete | | Entier sur 8 octets | | RDV_Planning | | +| RV_Objet | | Mémo texte | | RDV_Planning | | +| RV_PKID | | Identifiant automatique (8 | | RDV_Planning | | +| RV_PlusieursJours | | Booléen | | RDV_Planning | | +| RV_RappelSMS | | Booléen | | RDV_Planning | | +| RV_SAV | | Booléen | | RDV_Planning | | +| RV_Superposable | | | | <Inutilisée> | | +| RVC_CleStatut | | Chaîne | 16 | RDV_Collaborateur | | +| RVC_CR | | Booléen | | RDV_Collaborateur | | +Date et Heure +| RVC_DateDeb | | | | RDV_Collaborateur | | +| ----------------------------- | --- | --------------------------- | --- | --------------------- | --- | +| RVC_DateExport | | Date et Heure | | RDV_Collaborateur | | +| RVC_DateFin | | Date et Heure | | RDV_Collaborateur | | +| RVC_GUID_Colb | | Chaîne | 32 | RDV_Collaborateur | | +| RVC_GUID_RDV | | Chaîne | 32 | RDV_Collaborateur | | +| RVC_IdColb | | Chaîne | 32 | RDV_Collaborateur | | +| RVC_IdRDV | | | | <Inutilisée> | | +| RVC_PKID | | Identifiant automatique (8 | | RDV_Collaborateur | | +| RVC_Responsable | | Booléen | | RDV_Collaborateur | | +| RVC_Superposable | | Booléen | | RDV_Collaborateur | | +| RVC_TempsValide | | Booléen | | RDV_Collaborateur | | +| RVCT_GUID_Pers | | Chaîne | 32 | RDV_Contact | | +| RVCT_GUID_RDV | | Chaîne | 32 | RDV_Contact | | +| RVCT_IdPersonne | | | | <Inutilisée> | | +| RVCT_IdRdv | | | | <Inutilisée> | | +| RVCT_PKID | | Identifiant automatique (8 | | RDV_Contact | | +| SC_IDCollaborateur | | Entier sur 8 octets | | Societe_Collaborateur | | +| SC_IDCSoc_IDCol | | Clé composée | 16 | Societe_Collaborateur | | +| SC_IDCSociete | | Entier sur 8 octets | | Societe_Collaborateur | | +| SC_IDCSociete_IDCollaborateur | | | | <Inutilisée> | | +SC_IDCSociete_SC_IDCollaborateur Clé composée 16 Societe_Collaborateur +| SC_IDCSocieteSC_IDCollaborateur | | | | <Inutilisée> | | +| ------------------------------- | --- | --- | ----- | ------------ | --- | +| SC_IDCSocite | | | | <Inutilisée> | | +| 06/08/2026 | | | Batik | | 60 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| SC_PKID | | Identifiant automatique (8 | | Societe_Collaborateur | | +| ----------------- | --- | --------------------------- | --- | --------------------- | --- | +| SDT_CleType | | Chaîne | 16 | SuiviDesTemps | | +| SDT_CleTypeRDV | | Chaîne | 16 | SuiviDesTemps | | +| SDT_Collaborateur | | | | <Inutilisée> | | +| SDT_Controle | | Booléen | | SuiviDesTemps | | +| SDT_DateDebut | | Date et Heure | | SuiviDesTemps | | +| SDT_DateFin | | | | <Inutilisée> | | +Date et Heure +| SDT_DateHeureFin | | | | SuiviDesTemps | | +| ------------------- | --- | ------------------- | --- | ------------- | --- | +| SDT_GUID_Rdv_Colb | | Chaîne | 32 | SuiviDesTemps | | +| SDT_HeureDebut | | | | <Inutilisée> | | +| SDT_HeureFin | | | | <Inutilisée> | | +| SDT_IDCollaborateur | | Entier sur 8 octets | | SuiviDesTemps | | +| SDT_IDGroupe | | Entier sur 8 octets | | SuiviDesTemps | | +| SDT_IDImport | | Chaîne | 50 | SuiviDesTemps | | +| SDT_IDIntervention | | Entier sur 8 octets | | SuiviDesTemps | | +| SDT_IDPartenaire | | Entier sur 8 octets | | SuiviDesTemps | | +| SDT_IDRdv | | Entier sur 8 octets | | SuiviDesTemps | | +| SDT_IDTypeRdv | | Entier sur 8 octets | | SuiviDesTemps | | +| SDT_IDTypeTemps | | Entier sur 8 octets | | SuiviDesTemps | | +| SDT_Intervention | | | | <Inutilisée> | | +| SDT_Libelle | | Chaîne | 50 | SuiviDesTemps | | +| SDT_NbMinutes | | Entier sur 4 octets | | SuiviDesTemps | | +| SDT_NoteAdmin | | Mémo texte | | SuiviDesTemps | | +| SDT_NoteColb | | Mémo texte | | SuiviDesTemps | | +| SDT_Partenaire | | | | <Inutilisée> | | +Identifiant automatique (8 +| SDT_PKID | | | | SuiviDesTemps | | +| ------------------------ | --- | -------------------- | ----- | ------------- | --- | +| SDT_Ponderation | | Réel sur 4 octets | | SuiviDesTemps | | +| SIRETSociete | | | | <Inutilisée> | | +| SO_AdresseSociete_1 | | | | <Inutilisée> | | +| SO_AdresseSociete_2 | | | | <Inutilisée> | | +| SO_AdresseSociete_3 | | | | <Inutilisée> | | +| SO_AdresseSociete_4 | | | | <Inutilisée> | | +| SO_AdresseSociete_5 | | | | <Inutilisée> | | +| SO_Archive | | Booléen | | Societe | | +| SO_CodePostalSociete | | | | <Inutilisée> | | +| SO_CreationDate | | | | <Inutilisée> | | +| SO_CreationUser | | | | <Inutilisée> | | +| SO_Email | | Chaîne | 50 | Societe | | +| SO_FAX | | Chaîne | 25 | Societe | | +| SO_IDAdressePrincipale | | Entier sur 8 octets | | Societe | | +| SO_IDImport | | Chaîne | 50 | Societe | | +| SO_LigneAdresse_1 | | | | <Inutilisée> | | +| SO_LigneAdresse_2 | | | | <Inutilisée> | | +| SO_LigneAdresse_3 | | | | <Inutilisée> | | +| SO_LigneAdresseSociete_1 | | | | <Inutilisée> | | +| SO_LigneAdresseSociete_2 | | | | <Inutilisée> | | +| SO_Logo | | Image (mémo binaire) | | Societe | | +| SO_ModifDate | | | | <Inutilisée> | | +| 06/08/2026 | | | Batik | | 61 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | Utilisée par... | | +| --- | -------- | ---- | --- | --------------- | --- | +elliaT +| SO_ModifUser | | | | <Inutilisée> | | +| ------------------------------ | --- | --------------------------- | --- | ------------- | --- | +| SO_Nom | | Chaîne | 80 | Societe | | +| SO_NomSociete | | | | <Inutilisée> | | +| SO_Parametres | | Mémo texte | | Societe | | +| SO_PKID | | Identifiant automatique (8 | | Societe | | +| SO_PKID_CO_PKID | | | | <Inutilisée> | | +| SO_PresentationAdressePersonne | | | | <Inutilisée> | | +| SO_PresentationAdresseSociete | | | | <Inutilisée> | | +| SO_SIREN | | Chaîne | 20 | Societe | | +| SO_SIRET | | Chaîne | 20 | Societe | | +| SO_SIRETSociete | | | | <Inutilisée> | | +| SO_SiteWeb | | Chaîne | 100 | Societe | | +| SO_Tel | | Chaîne | 25 | Societe | | +| SO_VilleSociete | | | | <Inutilisée> | | +| Te | | | | <Inutilisée> | | +| TE_Collaborateur | | | | <Inutilisée> | | +| TE_Date | | | | <Inutilisée> | | +| TE_DateDebut | | | | <Inutilisée> | | +| TE_Duree | | Entier sur 4 octets | | SuiviDesTemps | | +| TE_IDPersonne | | Entier sur 8 octets | | Telephone | | +| TE_IDQualif | | Entier sur 8 octets | | Telephone | | +| TE_IDTypeTemps | | | | <Inutilisée> | | +| TE_Intervention | | | | <Inutilisée> | | +| TE_Libelle | | | | <Inutilisée> | | +| TE_NbHeure | | | | <Inutilisée> | | +| TE_NbMinutes | | | | <Inutilisée> | | +| TE_Numero | | Entier sur 4 octets | | Telephone | | +| TE_Partenaire | | | | <Inutilisée> | | +| TE_PKID | | Identifiant automatique (8 | | Telephone | | +| TelFixePersonne | | | | <Inutilisée> | | +| TelPersonne | | | | <Inutilisée> | | +| TelPortablePersonne | | | | <Inutilisée> | | +| UT_AccesBO | | Booléen | | Utilisateur | | +| UT_AccesMobile | | Booléen | | Utilisateur | | +| UT_Administrateur | | Booléen | | Utilisateur | | +| UT_CleLicence | | | | <Inutilisée> | | +| UT_CleLicenceMobile | | Chaîne | 50 | Utilisateur | | +| UT_Email | | Chaîne | 100 | Utilisateur | | +| UT_IDCollaborateur | | Entier sur 8 octets | | Utilisateur | | +| UT_IDProfil | | | | <Inutilisée> | | +| UT_IdRole | | Entier non signé sur 8 | | Utilisateur | | +| UT_IDSocietePrincipale | | Entier sur 8 octets | | Utilisateur | | +| UT_IDTypeProfil | | Entier sur 8 octets | | Utilisateur | | +| UT_Login | | Chaîne | 100 | Utilisateur | | +| UT_MotDePasse | | Chaîne | 50 | Utilisateur | | +| UT_MotDePasseAChanger | | Booléen | | Utilisateur | | +| UT_Nom | | Chaîne | 50 | Utilisateur | | +Identifiant automatique (8 +| UT_PKID | | | | Utilisateur | | +| ---------- | --- | --- | ----- | ----------- | --- | +| 06/08/2026 | | | Batik | | 62 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Dictionnaire des rubriques +nolbuoD élC +euqinU élC +| | Rubrique | Type | | | Utilisée par... | | +| --- | -------- | ---- | --- | --- | --------------- | --- | +elliaT +| UT_Prenom | | Chaîne | 50 | Utilisateur | | | +| -------------- | --- | ------ | --- | ------------ | --- | --- | +| UT_SansLicence | | | | <Inutilisée> | | | +| UT_TelMobile | | Chaîne | 25 | Utilisateur | | | +| UT_UtiliseBO | | | | <Inutilisée> | | | +| ValeurDuChamp | | | | <Inutilisée> | | | +Schéma des données +Groupes de fichiers +| | Groupe | | Table | | Libellé | | +| -------------- | ------ | ----------------------- | ----- | ------------------------------ | ------- | --- | +| ProtectionPlus | | ParametreSysteme | | ParametreSysteme | | | +| | | ParametreMetierEntete | | ParametreMetierEntete | | | +| | | Etats | | Etats | | | +| ProtectionStd | | MobReception | | MobReception | | | +| | | MobLog | | MobLog | | | +| | | SuiviDesTemps | | SuiviDesTemps | | | +| | | Mobile | | Mobile | | | +| | | Intervention | | Intervention | | | +| | | EtatIntervention | | EtatIntervention | | | +| | | Action | | Action | | | +| | | CompteRendu | | CompteRendu | | | +| | | Lieu | | Lieu | | | +| | | CheckList | | CheckList | | | +| | | ParametreUtilisateur | | ParametreUtilisateur | | | +| | | Intervention_Personne | | Intervention_Personne | | | +| | | Intervention_ChampLibre | | Intervention_ChampLibre | | | +| | | Client_Lieu | | Client_Lieu | | | +| | | Lieu_Personne | | Lieu_Personne | | | +| | | MessageInterne | | MessageInterne | | | +| | | Personne | | Personne | | | +| | | Client | | Client | | | +| | | Adresse | | Adresse | | | +| | | Document | | Document | | | +| | | ParametreApplication | | ParametreApplication | | | +| | | DocumentNote | | DocumentNote | | | +| | | CheckList_Collab | | CheckList_Collab | | | +| | | Dossier | | Dossier | | | +| | | Societe | | Societe | | | +| | | ParametreMetier | | ParametreMetier | | | +| | | Collaborateur | | Collaborateur | | | +| | | Societe_Collaborateur | | Societe_Collaborateur | | | +| | | Planning_RDV_Personne | | Relation Planning_RDV/Personne | | | +| 06/08/2026 | | | Batik | | | 63 | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Groupes de fichiers +Groupe Table Libellé +Utilisateur Utilisateur +Equipe Equipe +Equipe_Collaborateur Equipe_Collaborateur +Compteur Compteur +Telephone Telephone +MessageExterne Message Externe +Client_Adresse Relation Client/Adresse +MailCat MailCat +MailModele MailModele +MotClef MotClef +BddExterne BddExterne +Client_BddExterne Client_BddExterne +Intervention_BddExterne Intervention_BddExterne +AccesEtDroit AccesEtDroit +ModeleRapportMob ModeleRapportMob +Planning_RDV Planning_RDV +CategorieAcces CategorieAcces +Role Role +RubriquesDocument RubriquesDocument +ModeleRapport ModeleRapport +ElementSupprime ElementSupprime +ElementModifie ElementModifie +RDV_Planning RDV_Planning +RDV_Collaborateur RDV_Collaborateur +RDV_Contact RDV_Contact +Doc_Aide Doc_Aide +Schéma des données +Liaisons +Contrainte_Action_Intervention +Source Relié +Table Intervention Action +Rubrique IN_PKID () AC_IDIntervention (<Mémo binaire inconnu>) +Cardinalités 0,n 1,1 +Modification Modification en cascade des enregistrements reliés +Suppression Suppression en cascade des enregistrements reliés. +Contrainte_Adresse_Client +06/08/2026 Batik 64 + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Liaisons +Source Relié +| Table | Adresse | | Client_Adresse | | +| ------------ | ----------------------------------------------------- | --- | ------------------------------------- | --- | +| Rubrique | AD_PKID () | | CA_IDAdresse (<Mémo binaire inconnu>) | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +Contrainte_BddExterne_Interventio +n_BddExt +Source Relié +| Table | BddExterne | | Intervention_BddExterne | | +| ----- | ---------- | --- | ----------------------- | --- | +Rubrique BSX_PKID () INX_IDBddExterne (<Mémo binaire inconnu>) +| Cardinalités | 0,n | | 1,1 | | +| ------------ | -------------------------------------------------- | --- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_CheckList_Collaborateur +Source Relié +| Table | CheckList | | CheckList_Collab | | +| ----- | --------- | --- | ---------------- | --- | +Rubrique CHK_PKID () CHC_IDCheckList (<Mémo binaire inconnu>) +| Cardinalités | 0,n | | 0,1 | | +| ------------ | -------------------------------------------------- | --- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_CheckList_Intervention +Source Relié +| Table | Intervention | | CheckList | | +| ----- | ------------ | --- | --------- | --- | +Rubrique IN_PKID () CHK_IDIntervention (<Mémo binaire inconnu>) +| Cardinalités | 0,n | | 0,1 | | +| ------------ | -------------------------------------------------- | --- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Client_Adresse +| 06/08/2026 | | Batik | | 65 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Liaisons +Source Relié +| Table | Client | | Client_Adresse | | +| ------------ | -------------------------------------------------- | --- | ------------------------------------ | --- | +| Rubrique | CL_PKID () | | CA_IDClient (<Mémo binaire inconnu>) | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Client_BddExterne_BddE +xterne +Source Relié +| Table | BddExterne | | Client_BddExterne | | +| ----- | ---------- | --- | ----------------- | --- | +Rubrique BSX_PKID () CLX_IDBddExterne (<Mémo binaire inconnu>) +| Cardinalités | 0,n | | 1,1 | | +| ------------ | -------------------------------------------------- | --- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Client_Client_BddExtern +e +Source Relié +| Table | Client | | Client_BddExterne | | +| ------------ | -------------------------------------------------- | --- | ------------------------------------- | --- | +| Rubrique | CL_PKID () | | CLX_IDCLient (<Mémo binaire inconnu>) | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Client_Client_Lieu +Source Relié +| Table | Client | | Client_Lieu | | +| ------------ | ----------------------------------------------------- | --- | ------------------------------------- | --- | +| Rubrique | CL_PKID () | | CLI_IDClient (<Mémo binaire inconnu>) | | +| Cardinalités | 0,n | | 1,1 | | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Client_Dossier +| 06/08/2026 | | Batik | | 66 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Liaisons +Source Relié +| Table | Client | | Dossier | | +| ------------ | ----------------------------------------------------- | --- | ------------------------------------ | --- | +| Rubrique | CL_PKID () | | DO_IDClient (<Mémo binaire inconnu>) | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +Contrainte_Client_Personne +Source Relié +| Table | Client | | Personne | | +| ------------ | -------------------------------------------------- | --- | ------------------------------------ | --- | +| Rubrique | CL_PKID () | | PE_IDClient (<Mémo binaire inconnu>) | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Pas de suppression des enregistrements reliés | | | | +Contrainte_Collaborateur_CheckList +Source Relié +| Table | Collaborateur | | CheckList_Collab | | +| ----- | ------------- | --- | ---------------- | --- | +Rubrique CO_PKID () CHC_IDCollaborateur (<Mémo binaire inconnu>) +| Cardinalités | 0,n | | 0,1 | | +| ------------ | ----------------------------------------------------- | --- | --- | --- | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Collaborateur_Equipe +Source Relié +| Table | Collaborateur | | Equipe_Collaborateur | | +| ----- | ------------- | --- | -------------------- | --- | +Rubrique CO_PKID () EC_IDCollaborateur (<Mémo binaire inconnu>) +| Cardinalités | 0,n | | 0,1 | | +| ------------ | -------------------------------------------------- | --- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Collaborateur_Societe +Source Relié +| 06/08/2026 | | Batik | | 67 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Liaisons +Source Relié +| Table | Collaborateur | | Societe_Collaborateur | | +| ----- | ------------- | --- | --------------------- | --- | +Rubrique CO_PKID () SC_IDCollaborateur (<Mémo binaire inconnu>) +| Cardinalités | 0,n | | 0,1 | | +| ------------ | -------------------------------------------------- | --- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_DocumentNote_Docume +nt +Source Relié +| Table | Document | | DocumentNote | | +| ------------ | -------------------------------------------------- | --- | -------------------------------------- | --- | +| Rubrique | DC_PKID () | | DN_IDDocument (<Mémo binaire inconnu>) | | +| Cardinalités | 0,n | | 1,1 | | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Dossier_Intervention +Source Relié +| Table | Dossier | | Intervention | | +| ------------ | -------------------------------------------------- | --- | ------------------------------------- | --- | +| Rubrique | DO_PKID () | | IN_IDDossier (<Mémo binaire inconnu>) | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Equipe_Collaborateur +Source Relié +| Table | Equipe | | Equipe_Collaborateur | | +| ------------ | ----------------------------------------------------- | --- | ------------------------------------ | --- | +| Rubrique | EQ_PKID () | | EC_IDEquipe (<Mémo binaire inconnu>) | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +Contrainte_Intervention_Historique +EtatIntervention +| 06/08/2026 | | Batik | | 68 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Liaisons +Source Relié +| Table | Intervention | | EtatIntervention | | +| ----- | ------------ | --- | ---------------- | --- | +Rubrique IN_PKID () EI_IDIntervention (<Mémo binaire inconnu>) +| Cardinalités | 0,n | | 1,1 | | +| ------------ | -------------------------------------------------- | --- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Intervention_Interventio +n_BddExt +Source Relié +| Table | Intervention | | Intervention_BddExterne | | +| ----- | ------------ | --- | ----------------------- | --- | +Rubrique IN_PKID () INX_IDIntervention (<Mémo binaire inconnu>) +| Cardinalités | 0,n | | 1,1 | | +| ------------ | -------------------------------------------------- | --- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Intervention_MessageEx +terne +Source Relié +| Table | Intervention | | MessageExterne | | +| ----- | ------------ | --- | -------------- | --- | +Rubrique IN_PKID () ME_IDIntervention (<Mémo binaire inconnu>) +| Cardinalités | 0,n | | 1,1 | | +| ------------ | -------------------------------------------------- | --- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Intervention_Parametre +Metier +Source Relié +| Table | Intervention | | Intervention_ChampLibre | | +| ----- | ------------ | --- | ----------------------- | --- | +Rubrique IN_PKID () ICL_IDIntervention (<Mémo binaire inconnu>) +| Cardinalités | 0,n | | 0,1 | | +| ------------ | -------------------------------------------------- | --- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Lieu_Adresse +| 06/08/2026 | | Batik | | 69 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Liaisons +Source Relié +| Table | Adresse | | Lieu | | +| ------------ | ----------------------------------------------------- | --- | ------------------------------------- | --- | +| Rubrique | AD_PKID () | | LI_IDAdresse (<Mémo binaire inconnu>) | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +Contrainte_Lieu_Client_Lieu +Source Relié +| Table | Lieu | | Client_Lieu | | +| ------------ | ----------------------------------------------------- | --- | ----------------------------------- | --- | +| Rubrique | LI_PKID () | | CLI_IDLieu (<Mémo binaire inconnu>) | | +| Cardinalités | 0,n | | 1,1 | | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Lieu_Lieu_Personne +Source Relié +| Table | Lieu | | Lieu_Personne | | +| ------------ | ----------------------------------------------------- | --- | ----------------------------------- | --- | +| Rubrique | LI_PKID () | | LIP_IDLieu (<Mémo binaire inconnu>) | | +| Cardinalités | 0,n | | 1,1 | | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_MessageInterne_Interve +ntion +Source Relié +| Table | Intervention | | MessageInterne | | +| ----- | ------------ | --- | -------------- | --- | +Rubrique IN_PKID () MI_IDIntervention (<Mémo binaire inconnu>) +| Cardinalités | 0,n | | 1,1 | | +| ------------ | -------------------------------------------------- | --- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_ParametreMetier_Interv +ention +| 06/08/2026 | | Batik | | 70 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Liaisons +Source Relié +| Table | ParametreMetier | | Intervention_ChampLibre | | +| ----- | --------------- | --- | ----------------------- | --- | +Rubrique PA_PKID () ICL_IDParametreMetier (<Mémo binaire inconnu>) +| Cardinalités | 0,n | | 0,1 | | +| ------------ | ----------------------------------------------------- | --- | --- | --- | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +Contrainte_ParametreMetier_Param +etreMetierEntete +Source Relié +| Table | ParametreMetierEntete | | ParametreMetier | | +| ------------ | -------------------------------------------------- | --- | -------------------------------- | --- | +| Rubrique | PM_Code () | | PA_Code (<Mémo binaire inconnu>) | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Personne_Adresse +Source Relié +| Table | Adresse | | Personne | | +| ----- | ------- | --- | -------- | --- | +Rubrique AD_PKID () PE_IDAdressePrincipale (<Mémo binaire inconnu>) +| Cardinalités | 0,n | | 0,1 | | +| ------------ | ----------------------------------------------------- | --- | --- | --- | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +Contrainte_Personne_Lieu_Personne +Source Relié +| Table | Personne | | Lieu_Personne | | +| ------------ | -------------------------------------------------- | --- | --------------------------------------- | --- | +| Rubrique | PE_PKID () | | LIP_IDPersonne (<Mémo binaire inconnu>) | | +| Cardinalités | 0,n | | 1,1 | | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Personne_Planning_RDV +| 06/08/2026 | | Batik | | 71 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Liaisons +Source Relié +| Table | Personne | | Planning_RDV_Personne | | +| ------------ | ----------------------------------------------------- | --- | --------------------------------------- | --- | +| Rubrique | PE_PKID () | | PRP_IDPersonne (<Mémo binaire inconnu>) | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_RDV_Collaborateur_RDV_ +Planning +Source Relié +| Table | RDV_Planning | | RDV_Collaborateur | | +| ------------ | ----------------------------------------------------- | --- | ------------------------------------- | --- | +| Rubrique | GUID () | | RVC_GUID_RDV (<Mémo binaire inconnu>) | | +| Cardinalités | 0,n | | 1,1 | | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +Contrainte_RDV_Contact_Personne +Source Relié +| Table | Personne | | RDV_Contact | | +| ------------ | -------------------------------------------------- | --- | --------------------------------------- | --- | +| Rubrique | GUID () | | RVCT_GUID_Pers (<Mémo binaire inconnu>) | | +| Cardinalités | 0,n | | 1,1 | | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_RDV_Planning_RDV_Cont +act +Source Relié +| Table | RDV_Planning | | RDV_Contact | | +| ------------ | -------------------------------------------------- | --- | -------------------------------------- | --- | +| Rubrique | GUID () | | RVCT_GUID_RDV (<Mémo binaire inconnu>) | | +| Cardinalités | 0,n | | 1,1 | | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Societe_Adresse +| 06/08/2026 | | Batik | | 72 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Liaisons +Source Relié +| Table | Adresse | | Societe | | +| ----- | ------- | --- | ------- | --- | +Rubrique AD_PKID () SO_IDAdressePrincipale (<Mémo binaire inconnu>) +| Cardinalités | 0,n | | 0,1 | | +| ------------ | ----------------------------------------------------- | --- | --- | --- | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +Contrainte_Societe_Collaborateur +Source Relié +| Table | Societe | | Societe_Collaborateur | | +| ------------ | -------------------------------------------------- | --- | -------------------------------------- | --- | +| Rubrique | SO_PKID () | | SC_IDCSociete (<Mémo binaire inconnu>) | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Suppression en cascade des enregistrements reliés. | | | | +Contrainte_Societe_Equipe +Source Relié +| Table | Societe | | Equipe | | +| ------------ | ----------------------------------------------------- | --- | ------------------------------------- | --- | +| Rubrique | SO_PKID () | | EQ_IDSociete (<Mémo binaire inconnu>) | | +| Cardinalités | 0,n | | 0,1 | | +| Modification | Modification uniquement si pas d'enregistrement relié | | | | +| Suppression | Suppression uniquement si pas d'enregistrement relié | | | | +Contrainte_SuiviDesTemps_Interven +tion +Source Relié +| Table | Intervention | | SuiviDesTemps | | +| ----- | ------------ | --- | ------------- | --- | +Rubrique IN_PKID () SDT_IDIntervention (<Mémo binaire inconnu>) +| Cardinalités | 0,n | | 0,1 | | +| ------------ | -------------------------------------------------- | --- | --- | --- | +| Modification | Modification en cascade des enregistrements reliés | | | | +| Suppression | Pas de suppression des enregistrements reliés | | | | +Contrainte_Telephone_Personne +| 06/08/2026 | | Batik | | 73 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › Schéma des données › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Liaisons +| | | | Source | | | Relié | | +| ------------ | --- | -------------------------------------------------- | ------ | --- | -------------------------------------- | ----- | --- | +| Table | | Personne | | | Telephone | | | +| Rubrique | | PE_PKID () | | | TE_IDPersonne (<Mémo binaire inconnu>) | | | +| Cardinalités | | 0,n | | | 0,1 | | | +| Modification | | Modification en cascade des enregistrements reliés | | | | | | +| Suppression | | Suppression en cascade des enregistrements reliés. | | | | | | +Schéma des données +Connexions +¹ *nnoC .mT +| | | | | | ruetasilitU | | ¹ *cexE .mT | +| --------------- | --------- | --- | ----------------- | --- | ----------- | -------- | ----------- | +| | Connexion | | Source de données | | | Provider | | +| ConnexionLocale | | | | | | | 0 0 | +<MAIN_HF_DIR> +Connexion HFSQL Classic +| Utilisée par... | | Personne | | Societe | | Client | | +| --------------- | --- | -------- | --- | --------------- | --- | ------- | --- | +| | | Lieu | | ParametreMetier | | Adresse | | +Client_Adresse +¹ Tm. Conn* : Timeout de connexion Tm. Exec* : Timeout d'exécution +Schéma des données +Tables et rubriques +somém .sserpmoC +| | | | | | ¹ * rcE/tceL .lnJ | seénnod .tpyrC | | +| --- | --- | --- | --- | --- | ----------------- | -------------- | --- | +noitarénég°N +.gerne elliaT omém .tpyrC +| | | noitaivérbA | | noitacilpéR | ¹ * étirucéS | xedni .tpyrC | | +| --- | --- | ----------- | --- | ----------- | ------------ | ------------ | --- | +¹ * secapsE +¹ * rcE .lnJ +| | | | .otua .dI oG2 ed + | | | | | +| --- | --- | --- | ------------------ | --- | --- | --- | --- | +epyT +| AccesEtDroit | | | 7 96 | | | | HFSQL | +| ------------ | --- | --- | ----- | --- | --- | --- | ------ | +Classic +| Action | | | 5 376 | | | | HFSQL | +| ------ | --- | --- | ------ | --- | --- | --- | ------ | +Classic +| Adresse | | | 15 693 | | | | HFSQL | +| ------- | --- | --- | ------- | --- | --- | --- | ------ | +Classic +| BddExterne | | | 8 117 | | | | HFSQL | +| ---------- | --- | --- | ------ | --- | --- | --- | ------ | +Classic +| 06/08/2026 | | | | Batik | | | 74 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Schéma des données +somém .sserpmoC +¹ * rcE/tceL .lnJ seénnod .tpyrC +noitarénég°N +.gerne elliaT xedni .tpyrC omém .tpyrC +| | noitaivérbA | noitacilpéR | ¹ * étirucéS | | +| --- | ----------- | ----------- | ------------ | --- | +¹ * secapsE +¹ * rcE .lnJ +| | .otua .dI oG2 ed + | | | | +| --- | ------------------ | --- | --- | --- | +epyT +| CategorieAcces | 3 141 | | | HFSQL | +| -------------- | ------ | --- | --- | ------ | +Classic +| CheckList | 6 177 | | | HFSQL | +| --------- | ------ | --- | --- | ------ | +Classic +| CheckList_Collab | 5 67 | | | HFSQL | +| ---------------- | ----- | --- | --- | ------ | +Classic +| Client | 38 815 | | | HFSQL | +| ------ | ------- | --- | --- | ------ | +Classic +| Client_Adresse | 11 62 | | | HFSQL | +| -------------- | ------ | --- | --- | ------ | +Classic +| Client_BddExterne | 8 105 | | | HFSQL | +| ----------------- | ------ | --- | --- | ------ | +Classic +| Client_Lieu | 4 65 | | | HFSQL | +| ----------- | ----- | --- | --- | ------ | +Classic +| Collaborateur | 24 433 | | | HFSQL | +| ------------- | ------- | --- | --- | ------ | +Classic +471 +| CompteRendu | 8 | | | HFSQL | +| ----------- | --- | --- | --- | ------ | +Classic +83 +| Compteur | 4 | | | HFSQL | +| -------- | --- | --- | --- | ------ | +Classic +145 +| Doc_Aide | 3 | | | HFSQL | +| -------- | --- | --- | --- | ------ | +Classic +440 +| Document | 14 | | | HFSQL | +| -------- | --- | --- | --- | ------ | +Classic +82 +| DocumentNote | 3 | | | HFSQL | +| ------------ | --- | --- | --- | ------ | +Classic +379 +| Dossier | 30 | | | HFSQL | +| ------- | --- | --- | --- | ------ | +Classic +92 +| ElementModifie | 1 | | | HFSQL | +| -------------- | --- | --- | --- | ------ | +Classic +141 +| ElementSupprime | 1 | | | HFSQL | +| --------------- | --- | --- | --- | ------ | +Classic +108 +| Equipe | 3 | | | HFSQL | +| ------ | --- | --- | --- | ------ | +Classic +66 +| Equipe_Collaborateur | 4 | | | HFSQL | +| -------------------- | --- | --- | --- | ------ | +Classic +74 +| EtatIntervention | 8 | | | HFSQL | +| ---------------- | --- | --- | --- | ------ | +Classic +99 +| Etats | 4 | | | HFSQL | +| ----- | --- | --- | --- | ------ | +Classic +495 +| Intervention | 54 | | | HFSQL | +| ------------ | --- | --- | --- | ------ | +Classic +Intervention_BddExter 97 +4 HFSQL +Classic +Intervention_ChampLib 117 +3 HFSQL +Classic +153 +| Intervention_Personne | 5 | | | HFSQL | +| --------------------- | --- | --- | --- | ------ | +Classic +762 +| Lieu | 27 | | | HFSQL | +| ---- | --- | --- | --- | ------ | +Classic +| 06/08/2026 | | Batik | | 75 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Schéma des données +somém .sserpmoC +¹ * rcE/tceL .lnJ seénnod .tpyrC +noitarénég°N +.gerne elliaT xedni .tpyrC omém .tpyrC +| | noitaivérbA | noitacilpéR | ¹ * étirucéS | | +| --- | ----------- | ----------- | ------------ | --- | +¹ * secapsE +¹ * rcE .lnJ +| | .otua .dI oG2 ed + | | | | +| --- | ------------------ | --- | --- | --- | +epyT +| Lieu_Personne | 13 215 | | | HFSQL | +| ------------- | ------- | --- | --- | ------ | +Classic +| MailCat | 2 29 | | | HFSQL | +| ------- | ----- | --- | --- | ------ | +Classic +| MailModele | 9 184 | | | HFSQL | +| ---------- | ------ | --- | --- | ------ | +Classic +| MessageExterne | 8 1110 | | | HFSQL | +| -------------- | ------- | --- | --- | ------ | +Classic +| MessageInterne | 2 90 | | | HFSQL | +| -------------- | ----- | --- | --- | ------ | +Classic +| Mobile | 3 219 | | | HFSQL | +| ------ | ------ | --- | --- | ------ | +Classic +| MobLog | 1 34 | | | HFSQL | +| ------ | ----- | --- | --- | ------ | +Classic +| MobReception | 1 153 | | | HFSQL | +| ------------ | ------ | --- | --- | ------ | +Classic +75 +| ModeleRapport | 5 | | | HFSQL | +| ------------- | --- | --- | --- | ------ | +Classic +64 +| ModeleRapportMob | 3 | | | HFSQL | +| ---------------- | --- | --- | --- | ------ | +Classic +171 +| MotClef | 5 | | | HFSQL | +| ------- | --- | --- | --- | ------ | +Classic +84 +| ParametreApplication | 3 | | | HFSQL | +| -------------------- | --- | --- | --- | ------ | +Classic +448 +| ParametreMetier | 23 | | | HFSQL | +| --------------- | --- | --- | --- | ------ | +Classic +ParametreMetierEntet 383 +12 HFSQL +Classic +327 +| ParametreSysteme | 1 | | | HFSQL | +| ---------------- | --- | --- | --- | ------ | +Classic +84 +| ParametreUtilisateur | 3 | | | HFSQL | +| -------------------- | --- | --- | --- | ------ | +Classic +630 +| Personne | 33 | | | HFSQL | +| -------- | --- | --- | --- | ------ | +Classic +391 +| Planning_RDV | 27 | | | HFSQL | +| ------------ | --- | --- | --- | ------ | +Classic +Planning_RDV_Personn 83 +8 HFSQL +Classic +163 +| RDV_Collaborateur | 7 | | | HFSQL | +| ----------------- | --- | --- | --- | ------ | +Classic +116 +| RDV_Contact | 3 | | | HFSQL | +| ----------- | --- | --- | --- | ------ | +Classic +214 +| RDV_Planning | 9 | | | HFSQL | +| ------------ | --- | --- | --- | ------ | +Classic +131 +| Role | 3 | | | HFSQL | +| ---- | --- | --- | --- | ------ | +Classic +242 +| RubriquesDocument | 8 | | | HFSQL | +| ----------------- | --- | --- | --- | ------ | +Classic +487 +| Societe | 18 | | | HFSQL | +| ------- | --- | --- | --- | ------ | +Classic +| 06/08/2026 | | Batik | | 76 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Schéma des données +somém .sserpmoC +¹ * rcE/tceL .lnJ seénnod .tpyrC +noitarénég°N +.gerne elliaT xedni .tpyrC omém .tpyrC +| | noitaivérbA | | noitacilpéR | ¹ * étirucéS | | +| --- | ----------- | --- | ----------- | ------------ | --- | +¹ * secapsE +¹ * rcE .lnJ +| | | .otua .dI oG2 ed + | | | | +| --- | --- | ------------------ | --- | --- | --- | +epyT +| Societe_Collaborateur | | 4 66 | | | HFSQL | +| --------------------- | --- | ----- | --- | --- | ------ | +Classic +| SuiviDesTemps | | 22 351 | | | HFSQL | +| ------------- | --- | ------- | --- | --- | ------ | +Classic +| Telephone | | 2 37 | | | HFSQL | +| --------- | --- | ----- | --- | --- | ------ | +Classic +| Utilisateur | | 16 519 | | | HFSQL | +| ----------- | --- | ------- | --- | --- | ------ | +Classic +¹ Espaces * : Complétion des chaînes par des espaces Jnl. Ecr * : Journalisation des écritures +Jnl. Lect/Ecr * : Journalisation des lectures et écritures Sécurité * : Mode sécurité renforcée +AccesEtDroit +Tables et rubriques +Informations générales +| AccesEtDroit | | AccesEtDroit | | | | +| -------------- | --- | ---------------- | --- | --- | --- | +| Nom sur disque | | AccesEtDroit.fic | | | | +| Groupe(s) | | ProtectionStd | | | | +Rubriques de la table AccesEtDroit +nolbuoD élC +euqinU élC tuaféd .laV +Libellé Type +| | | | | elliaT | sneS | +| --- | --- | --- | --- | ------ | ---- | +AED_PKID Identifiant de AccesEtDroit Identifiant automatique +(8 octets) +| AED_IdRole | Identifiant du role | | Entier non signé sur 8 | | 0 | +| ---------- | -------------------- | --- | ----------------------- | --- | --- | +octets +| AED_CleAcces | Clé d’accès | | Chaîne | 20 | 0 | +| ------------ | ----------------------- | --- | -------------- | --- | --- | +| AED_Acces | L'accès est il autorisé | | Booléen | | 0 | +| CreationDate | Créé le | | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | | Entier sur 8 octets | | 0 | +| ------------ | ---------- | --- | ------------------- | --- | --- | +| ModifDate | Modifié le | | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Modifié par | | Entier sur 8 octets | | 0 | +| ---------- | ----------- | --- | ------------------- | --- | --- | +| 06/08/2026 | | | Batik | | 77 | + +Partie 2 › ... › Tables et rubriques › AccesEtDroit › Tables et rubriques +Libellé Type +06/08/2026 Batik 78 +elliaT +euqinU +élC +nolbuoD +élC +sneS +tuaféd +.laV +AED_IDProfil Identifiant de Profil (zombie) Entier sur 8 octets 0 +AED_IDModule Identifiant de Module (zombie) Entier sur 8 octets 0 + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Action › Tables et rubriques +Action +Tables et rubriques +Informations générales +Action Action +Nom sur disque Action.fic +Groupe(s) ProtectionStd +Rubriques de la table Action +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| AC_PKID | Identifiant de Action | Identifiant automatique | | | +| ------- | --------------------- | ------------------------ | --- | --- | +(8 octets) +| AC_DateAction | Date de l'action | Date (aaaammjj) | | | +| -------------- | ----------------- | --------------- | --- | --- | +| AC_HeureAction | Heure de l'action | Heure (hhmm) | | | +AC_IDTypeAction Identifiant du type d'action (zombie) Entier sur 8 octets 0 +AC_IDIntervention Identifiant de l'Intervention Entier sur 8 octets 0 +| AC_Description | Description de l'action | Chaîne | 250 | | +| -------------- | -------------------------- | ------- | --- | --- | +| AC_Clos | L'action est Clos | Booléen | | 0 | +| AC_IDQui | Identifiant de la personne | | | 0 | +Entier sur 8 octets +| AC_IDImport | Identifiant de l'import | Chaîne | 50 | | +| ---------------- | ----------------------- | ------ | --- | --- | +| AC_CleTypeAction | Cle de type action | Chaîne | 16 | | +| 06/08/2026 | | Batik | | 79 | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Adresse › Tables et rubriques +Adresse +Tables et rubriques +Informations générales +Adresse Adresse +Nom sur disque Adresse.fic +Connexion Connexion HFSQL Classic +Groupe(s) ProtectionStd +Index full-text AD_Index_FullText (Rubriques : AD_Etiquette, AD_Presentation) +Rubriques de la table Adresse +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| AD_PKID | Identifiant de ADRESSE | Identifiant automatique | | | +| ------- | ---------------------- | ------------------------ | --- | --- | +(8 octets) +FR: Identifiant unique du fichier Adresse +| AD_Etiquette | Etiquette de l'adresse | Chaîne | 25 | | +| ------------ | ---------------------- | ------ | --- | --- | +FR: Etiquette libre d'une Adresse +| AD_Ligne_1 | 1ère ligne d'adresse (zombie) | Chaîne | 38 | | +| ---------- | ----------------------------- | ------ | --- | --- | +FR: Première ligne d'adresse +BtoC : Civilité - Titre ou Qualité - Prénom - Nom +BtoB : Raison sociale ou dénomination +| AD_Ligne_2 | 2ème ligne d'adresse (zombie) | Chaîne | 38 | | +| ---------- | ----------------------------- | ------ | --- | --- | +FR: Deuxième ligne d'adresse +BtoC : N°APP ou BAL - Etage - Couloir - Esc +BtoB : Identité du destinataire et/ou service +| AD_Ligne_3 | 3ème ligne d'adresse (zombie) | Chaîne | 38 | | +| ---------- | ----------------------------- | ------ | --- | --- | +FR: Troisième ligne d'adresse +BtoC : Entrée - Bâtiment - Immeuble - Résidence +BtoB : Entrée - Bâtiment - Immeuble - Résidence - ZI +| AD_Ligne_4 | 4ème ligne d'adresse (zombie) | Chaîne | 100 | | +| ---------- | ----------------------------- | ------ | --- | --- | +FR: Quatrième ligne d'adresse +BtoC : Numéro - Libellé de la voie +BtoB : Numéro - Libellé de la voie +| AD_Ligne_5 | 5ème ligne d'adresse (zombie) | Chaîne | 38 | | +| ---------- | ----------------------------- | ------ | --- | --- | +FR: Cinquième ligne d'adresse +BtoC : Lieu dit ou Service particulier de distribution +BtoB : Mention spéciale et commune géographique +| AD_CodePostal | Code Postal | Chaîne | 15 | | +| ------------- | ----------- | ------ | --- | --- | +FR: Code postale de l'adresse +| AD_Ville | Ville | Chaîne | 45 | | +| -------- | ----- | ------ | --- | --- | +FR: Ville de l'adresse +| AD_Presentation | Présentation Adresse | Chaîne | 255 | | +| --------------- | -------------------- | ------ | --- | --- | +FR: Présentation de l'adresse composée librement pour figurer sur les documents à destination du courrier +| 06/08/2026 | | Batik | | 80 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Adresse › Tables et rubriques +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| ------------ | ---------------- | -------------- | ------ | ---- | +| CreationDate | Date de création | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Utilisateur de création | Entier sur 8 octets | | 0 | +| ------------ | ----------------------- | ------------------- | --- | --- | +| ModifDate | Date de Modification | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ---------- | --------------------------- | ------------------- | --- | --- | +| AD_Adresse | Adresse | Mémo texte | | | +| GUID | GUID | Chaîne | 32 | | +| 06/08/2026 | | Batik | | 81 | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › BddExterne › Tables et rubriques +BddExterne +Tables et rubriques +Informations générales +BddExterne BddExterne +Nom sur disque BddExterne.fic +Groupe(s) ProtectionStd +Rubriques de la table BddExterne +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| BSX_PKID | Identifiant de Base_Ext | Identifiant automatique | | | +| -------- | ----------------------- | ------------------------ | --- | --- | +(8 octets) +| BSX_Nom | Nom | Chaîne | 50 | | +| ------------ | --------------- | -------------- | --- | --- | +| BSX_Param | Paramètres JSON | Mémo texte | | | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifDate | Modifié le | Date et Heure | | | +| --------- | ---------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ------------- | --------------------------- | ------------------- | --- | --- | +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| BSX_IDSociete | Identifiant de la Société | Entier sur 8 octets | | | +| 06/08/2026 | | Batik | | 82 | + +Partie 2 › ... › Tables et rubriques › CategorieAcces › Tables et rubriques +CategorieAcces +Tables et rubriques +Informations générales +CategorieAcces CategorieAcces +Nom sur disque CategorieAcces.fic +Groupe(s) ProtectionStd +Rubriques de la table CategorieAcces +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +CAC_PKID Identifiant de CategorieAcces Identifiant automatique +(8 octets) +| CAC_Cle | Clé unique | Chaîne | 20 | | +| ----------- | ------------ | ----------------------- | --- | --- | +| CAC_Libelle | Libelle | Mémo texte | | | +| CAC_Ordre | Numero Ordre | Entier non signé sur 2 | | 0 | +octets +| CAC_Mobile | Accès mobile ? | Booléen | | 0 | +| -------------- | ------------------------------- | -------------- | --- | --- | +| CAC_AncienCode | Ancien Code paramètre metier à | Chaîne | 50 | | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | ---------- | ------------------- | --- | --- | +| ModifDate | Modifié le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| --------------- | --------------------------- | ------------------- | --- | --- | +| CAC_Description | Description | Mémo texte | | | +| 06/08/2026 | | Batik | | 83 | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › CheckList › Tables et rubriques +CheckList +Tables et rubriques +Informations générales +CheckList CheckList +Nom sur disque CheckList.fic +Groupe(s) ProtectionStd +Rubriques de la table CheckList +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| CHK_PKID | Identifiant de CheckList | Identifiant automatique | | | +| -------- | ------------------------ | ------------------------ | --- | --- | +(8 octets) +| CHK_Nom | Nom regoupant les éléments | Chaîne | 50 | | +| ----------- | ----------------------------- | ------- | --- | --- | +| CHK_Element | Element de la checklist | Chaîne | 50 | | +| CHK_Fait | Indique si l'élément est fait | Booléen | | 0 | +CHK_Ordre Ordre d'apparation de l'élément Entier sur 4 octets 0 +| CHK_IDModele | Identifiant du modèle | Entier sur 8 octets | | 0 | +| ------------ | --------------------- | ------------------- | --- | --- | +CHK_IDIntervention Identifiant de Intervention Entier sur 8 octets 0 +| CreationDate | Créé le | Date et Heure | | | +| ------------ | ------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | ---------- | ------------------- | --- | --- | +| ModifDate | Modifié le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| --------- | --------------------------- | ------------------- | --- | --- | +CHK_OrdreDuGroupe Ordre d'apparition du Groupe Entier sur 4 octets 0 +| 06/08/2026 | | Batik | | 84 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › ... › Tables et rubriques › CheckList_Collab › Tables et rubriques +CheckList_Collab +Tables et rubriques +Informations générales +CheckList_Collab CheckList_Collab +Nom sur disque CheckList_Collab.fic +Groupe(s) ProtectionStd +Rubriques de la table CheckList_Collab +nolbuoD élC +euqinU élC tuaféd .laV +Libellé Type +elliaT +sneS +CHC_PKID Identifiant de CheckList_Collab Identifiant automatique +(8 octets) +CHC_IDCollaborateur Identifiant de Collaborateur Entier sur 8 octets 0 +CHC_IDCheckList Identifiant de CheckList Entier sur 8 octets 0 +| CHC_Fait | Indique l'élément de la checklist | Booléen | 0 | +| ------------ | ---------------------------------- | -------------- | --- | +| CreationDate | Créé le | Date et Heure | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | 0 | +| ------------ | ---------- | ------------------- | --- | +| ModifDate | Modifié le | Date et Heure | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | 0 | +| ---------- | --------------------------- | ------------------- | --- | +| 06/08/2026 | | Batik | 85 | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Client › Tables et rubriques +Client +Tables et rubriques +Informations générales +Client Client +Nom sur disque Client.fic +Connexion Connexion HFSQL Classic +Répertoire de la table <MAIN_HF_DIR> +Groupe(s) ProtectionStd +Index full-text CL_Index_FullText (Rubriques : CL_Nom, CL_Tel, CL_Fax, CL_CodeClient) +Rubriques de la table Client +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| CL_PKID | Identifiant de Client | Identifiant automatique | | | +| ------- | --------------------- | ------------------------ | --- | --- | +(8 octets) +FR: Identifiant unique du fichier Client +| CL_Nom | Nom | Chaîne | 100 | | +| ------ | --- | ------ | --- | --- | +FR: Nom du client +| CL_IDType | Type (zombie) | Entier sur 8 octets | | 0 | +| --------- | ------------- | ------------------- | --- | --- | +FR: Type de client +Régie, Collectivité, Entreprise, Particulier +| CL_CleType | Clé Type de client | Chaîne | 16 | | +| ----------- | ------------------ | ------------------- | --- | --- | +| CL_IDStatut | Statut (zombie) | Entier sur 8 octets | | 0 | +FR: Statut du client +Client, Actif +| CL_CleStatut | Clé Statut | Chaîne | 16 | | +| ------------ | ---------- | ------ | --- | --- | +CL_IDAdressePrincipale Adresse principale Entier sur 8 octets 0 +FR: Identifiant unique dans le fichier Adresse permettant de référencer l'adresse principale du client +| ModifDate | Date de Modification | Date et Heure | | | +| --------- | -------------------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ------------ | --------------------------- | ------------------- | --- | --- | +| CreationDate | Date de création | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Utilisateur de création | Entier sur 8 octets | | 0 | +| ------------- | ----------------------- | ------------------- | --- | --- | +| CL_Tel | Téléphone Client | Chaîne | 15 | | +| CL_Fax | Fax Client | Chaîne | 15 | | +| CL_IDImport | Identifiant Import | Chaîne | 50 | | +| Archive | Enregistrement Archivée | Booléen | | 0 | +| DateArchivage | Date d'archivage | Date et Heure | | | +(aaaammjjhhmmssccc) +| 06/08/2026 | | Batik | | 86 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Client › Tables et rubriques +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| ----------------- | ----------------------------- | ---------- | ------ | ---- | +| CL_CodeComptable | Code comptable | Chaîne | 25 | | +| CL_Email | Email | Mémo texte | | | +| CL_RepertoireDocs | Répertoire des docs du client | Chaîne | 255 | | +CL_IDContactPrincipal Identifiant du contact principal Entier sur 8 octets 0 +CL_IDLieuPrincipal Identifiant du site principal Entier sur 8 octets 0 +| CL_IDApporteur | Apporté par (zombie) | Entier sur 8 octets | | 0 | +| --------------- | -------------------- | ------------------- | --- | --- | +| CL_CleApporteur | Clé Apporteur | Chaîne | 16 | | +CL_IDApportOrigine Apporté comment (zombie) Entier sur 8 octets 0 +| CL_CleApporteurOrigin | Clé Apporteur Origine | Chaîne | 16 | | +| --------------------- | ----------------------------- | ---------- | --- | --- | +| CL_CodeClient | Code client | Chaîne | 10 | | +| CL_Blocage | Blocage commerciale du client | Booléen | | 0 | +| Cl_RaisonBlocage | Raison du blocage Blocage | Mémo texte | | | +| CL_FormeJuridique | Forme juridique | Chaîne | 25 | 0 | +CL_IDModeReglement Mode de règlement (zombie) Entier sur 8 octets 0 +| CL_CleModeReglement | Clé Mode de Règlement | Chaîne | 16 | | +| ------------------- | -------------------------- | ---------- | --- | --- | +| CL_InfoSup | Information supplémentaire | Mémo texte | | | +| GUID | GUID | Chaîne | 32 | | +| CL_Pays | Code Pays | Chaîne | 3 | | +| CL_CodeTVA | Code de TVA | Chaîne | 13 | | +| CL_SIREN | Numéro de SIREN | Chaîne | 9 | | +| CL_SIRET | Numéro de SIRET | Chaîne | 14 | | +| 06/08/2026 | | Batik | | 87 | + +Partie 2 › ... › Tables et rubriques › Client_Adresse › Tables et rubriques +Client_Adresse +Tables et rubriques +Informations générales +Client_Adresse Relation Client/Adresse +Nom sur disque Client_Adresse.fic +Connexion Connexion HFSQL Classic +Répertoire de la table <MAIN_HF_DIR> +Groupe(s) ProtectionStd +Rubriques de la table Client_Adresse +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| CA_PKID | CA_PKID | Identifiant automatique | | | +| ------- | ------- | ------------------------ | --- | --- | +(8 octets) +| CA_IDAdresse | Adresse | Entier sur 8 octets | | 0 | +| ------------ | ------- | ------------------- | --- | --- | +FR: Identifiant unique du fichier Adresse +| CA_IDClient | Client | Entier sur 8 octets | | 0 | +| ----------- | ------ | ------------------- | --- | --- | +FR: Identifiant unique du fichier Client +| CA_IDCli_IDAd | Clé composée Client_Adresse | Clé composée : | 16 | | +| ------------- | --------------------------- | --------------- | --- | --- | +CA_IDClient+CA_IDAdres +se +FR: Clé composé du fichier Client et Adresse +CA_IDTypeAdresse Type d'adresse (zombie) Entier sur 8 octets 0 +FR: Identifiant unique du fichier ParamètreMetier permettant d'affecter un type d'adresse au fichier de relation +Livraison, Facturation +| CA_CleType | Cle Type de adresse | Chaîne | 16 | | +| -------------- | ------------------- | ------- | --- | --- | +| CA_Principale | CA_Principale | Booléen | | 0 | +| CA_Facturation | CA_Facturation | Booléen | | 0 | +| CA_Livraison | CA_Livraison | Booléen | | 0 | +| 06/08/2026 | | Batik | | 88 | + +Partie 2 › ... › Tables et rubriques › Client_BddExterne › Tables et rubriques +Client_BddExterne +Tables et rubriques +Informations générales +Client_BddExterne Client_BddExterne +Nom sur disque Client_BddExterne.fic +Groupe(s) ProtectionStd +Rubriques de la table Client_BddExterne +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| CLX_PKID | Identifiant de Client_Ext | Identifiant automatique | | | +| -------- | ------------------------- | ------------------------ | --- | --- | +(8 octets) +| CLX_IDCLient | ID CLient | Entier sur 8 octets | | 0 | +| --------------- | --------------------------- | ------------------- | --- | --- | +| CLX_IDExterne | ID Externe | Chaîne | 30 | | +| CLX_DateSynchro | Date Heure dernière synchro | Date et Heure | | | +(aaaammjjhhmmssccc) +| CLX_IDBddExterne | ID Bdd externe | Entier sur 8 octets | | 0 | +| ---------------- | -------------- | ------------------- | --- | --- | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | ---------- | ------------------- | --- | --- | +| ModifDate | Modifié le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| --------- | --------------------------- | ------------------- | --- | --- | +CLX_IDBddExterneCLX_I +| | CLX_IDBddExterne + CLX_IDCLient | Clé composée : | 16 | | +| --- | ------------------------------- | --------------- | --- | --- | +CLX_IDBddExterne+CLX_I +DCLient +| 06/08/2026 | | Batik | | 89 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Client_Lieu › Tables et rubriques +Client_Lieu +Tables et rubriques +Informations générales +Client_Lieu Client_Lieu +Nom sur disque Client_Lieu.fic +Groupe(s) ProtectionStd +Rubriques de la table Client_Lieu +nolbuoD élC +euqinU élC tuaféd .laV +Libellé Type +elliaT +sneS +| CLI_PKID | Identifiant de Client_Lieu | Identifiant automatique | | +| -------- | -------------------------- | ------------------------ | --- | +(8 octets) +| CLI_IDClient | CLI_IDClient | Entier sur 8 octets | 0 | +| ------------ | ---------------- | ------------------- | --- | +| CLI_IDLieu | CLI_IDLieu | Entier sur 8 octets | 0 | +| CreationDate | Date de création | Date et Heure | | +(aaaammjjhhmmssccc) +| ModifDate | Date de Modification | Date et Heure | | +| --------- | -------------------- | -------------- | --- | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | 0 | +| ------------ | --------------------------- | ------------------- | --- | +| CreationUser | Utilisateur de création | Entier sur 8 octets | 0 | +| 06/08/2026 | | Batik | 90 | + +Partie 2 › ... › Tables et rubriques › Collaborateur › Tables et rubriques +Collaborateur +Tables et rubriques +Informations générales +Collaborateur Collaborateur +Nom sur disque Collaborateur.fic +Groupe(s) ProtectionStd +CO_Index_FullText (Rubriques : CO_Nom, CO_Prenom, CO_TelFixe, CO_TelMobile, CO_Email, +Index full-text +CO_Trigramme) +Rubriques de la table Collaborateur +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| CO_PKID | Identifiant de Collaboteur | Identifiant automatique | | | +| ------- | -------------------------- | ------------------------ | --- | --- | +(8 octets) +CO_IDCivilite civilité du collaborateur (zombie) Entier sur 8 octets 0 +| CO_CleCivilite | Cle Civilite | Chaîne | 16 | | +| -------------- | ------------------------- | -------------- | --- | --- | +| CO_Nom | CO_Nom | Chaîne | 50 | | +| CO_Prenom | CO_Prenom | Chaîne | 50 | | +| CO_TelFixe | CO_TelFixe | Chaîne | 15 | | +| CO_TelMobile | CO_TelMobile | Chaîne | 15 | | +| CO_Email | CO_Email | Chaîne | 50 | | +| CO_Fonction | Fonction du collaborateur | Chaîne | 50 | | +| CreationDate | Date de création | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Utilisateur de création | Entier sur 8 octets | | 0 | +| ------------ | ----------------------- | ------------------- | --- | --- | +| ModifDate | Date de Modification | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| --------- | --------------------------- | ------------------- | --- | --- | +Indique qu'on gère le planning pour ce +| CO_AuPlanning | | Booléen | | 0 | +| ------------- | -------------------- | ------- | --- | --- | +| CO_Actif | Collaborateur Actif | Booléen | | 1 | +| CO_IDImport | Identifiant d'Import | Chaîne | 50 | | +CO_Ponderation Pondération sur le collaborateur Réel sur 4 octets 0 +| CO_Trigramme | Trigramme | Chaîne | 3 | | +| ------------ | --------- | ------ | --- | --- | +CO_IDStatut Statut du collaborateur (zombie) Entier sur 8 octets 0 +| CO_CleStatut | Cle Statut | Chaîne | 16 | | +| -------------- | ---------------------- | ------- | --- | --- | +| CO_AccesBO | Utilise le Back-Office | Booléen | | 0 | +| CO_AccesMobile | Utilise le Mobile | Booléen | | 0 | +| GUID | GUID | Chaîne | 32 | | +| 06/08/2026 | | Batik | | 91 | + +Partie 2 › ... › Tables et rubriques › CompteRendu › Tables et rubriques +CompteRendu +Tables et rubriques +Informations générales +CompteRendu CompteRendu +Nom sur disque CompteRendu.fic +Groupe(s) ProtectionStd +Rubriques de la table CompteRendu +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| CR_PKID | Identifiant de CompteRendu | Identifiant automatique | | | +| ------- | -------------------------- | ------------------------ | --- | --- | +(8 octets) +| CR_IDRdv | Identifiant de Planning_RDV | Entier sur 8 octets | | 0 | +| -------- | --------------------------- | ------------------- | --- | --- | +CR_IDIntervention Identifiant de Intervention Entier sur 8 octets 0 +| GUID | GUID | Chaîne | 32 | | +| ----------------- | ---------------------- | -------------- | --- | --- | +| CR_DateHeureDebut | Date et Heure de Debut | Date et Heure | | | +(aaaammjjhhmmssccc) +| CR_DateHeureFin | Date et Heure de Fin | Date et Heure | | | +| --------------- | -------------------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| CR_NoteCollaborateur | Note du collaborateur | Mémo texte | | | +| -------------------- | -------------------------- | -------------- | --- | --- | +| CR_NomSignataire | Nom du Signataire | Chaîne | 50 | | +| CR_NoteSignataire | Note Signataire | Chaîne | 50 | | +| CR_DateHeureSignatur | Date et Heure de Signature | Date et Heure | | | +(aaaammjjhhmmssccc) +| CR_Signature | Signature | Image (mémo binaire) | | | +| ------------ | --------- | -------------------- | --- | --- | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | ---------- | ------------------- | --- | --- | +| ModifDate | Modifié le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| --------- | --------------------------- | ------------------- | --- | --- | +CR_IDCollaborateur Identifiant de Collaborateur Entier sur 8 octets 0 +CR_SignatureTech Signature du technicien Image (mémo binaire) +| CR_NomSignataireTech | Nom du technicien Signataire | Chaîne | 50 | | +| -------------------- | ---------------------------- | ------- | --- | --- | +| CR_DevisConforme | Devis Conforme | Booléen | | 0 | +| CR_AvecReserve | Avec Réserve | Booléen | | 0 | +| CR_ReserveCommentai | Commentaire de Réserve | Chaîne | 100 | | +CR_IDTypeSignataire Identifiant du TypeSignataire (zombie) Entier sur 8 octets 0 +| CR_CleTypeSignataire | CleType du Signataire | Chaîne | 16 | | +| -------------------- | --------------------- | ------ | --- | --- | +| CR_GUID_Rdv | GUID du Rdv | Chaîne | 32 | | +| 06/08/2026 | | Batik | | 92 | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Compteur › Tables et rubriques +Compteur +Tables et rubriques +Informations générales +Compteur Compteur +Nom sur disque Compteur.fic +Groupe(s) ProtectionStd +Rubriques de la table Compteur +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| CPT_PKID | Identifiant de Compteur | Identifiant automatique | | | +| -------- | ----------------------- | ------------------------ | --- | --- | +(8 octets) +| CPT_Code | Code Compteur | Chaîne | 50 | | +| ------------ | -------------- | ------------------- | --- | --- | +| CPT_Annee | Année Compteur | Entier sur 2 octets | | 0 | +| CPT_Valeur | Valeur | Entier sur 8 octets | | 0 | +| CPT_ParAnnee | Par Année | Booléen | | 0 | +| CPT_ParMois | Par Mois | Booléen | | 0 | +| CPT_Mois | Mois Compteur | Entier sur 1 octet | | 0 | +| CPT_Actif | Actif | | | 0 | +Booléen +| 06/08/2026 | | Batik | | 93 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Doc_Aide › Tables et rubriques +Doc_Aide +Tables et rubriques +Informations générales +Doc_Aide Doc_Aide +Nom sur disque doc_aide.fic +Groupe(s) ProtectionStd +Rubriques de la table Doc_Aide +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| DA_PKID | Identifiant de Doc_Aide | Identifiant automatique | | | +| ------- | ----------------------- | ------------------------ | --- | --- | +(8 octets) +| DA_Fenetre | Fenêtre | Chaîne | 70 | | +| ---------------- | --------------------------- | ---------- | --- | --- | +| DA_Champs | Champs concerné | Mémo texte | | | +| DA_Titre | Titre | Mémo texte | | | +| DA_Contenu | Contenu | Mémo texte | | | +| DA_Tags | Tags | Mémo texte | | | +| DA_TexteOriginal | DA_TexteOriginal | Mémo texte | | | +| ModifUser | Utilisateur de modification | | | 0 | +Entier sur 8 octets +| ModifDate | Modifié le | Date et Heure | | | +| --------- | ---------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| 06/08/2026 | | Batik | | 94 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Document › Tables et rubriques +Document +Tables et rubriques +Informations générales +Document Document +Nom sur disque Document.fic +Groupe(s) ProtectionStd +Rubriques de la table Document +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| DC_PKID | Identifiant de Document | Identifiant automatique | | | +| ------- | ----------------------- | ------------------------ | --- | --- | +(8 octets) +DC_IDIntervention Identifiant de Intervention Entier sur 8 octets 0 +| DC_Nom | Nom du document | Chaîne | 255 | | +| -------------- | ------------------------------- | ---------- | --- | --- | +| DC_Commentaire | Commentaire attaché au document | Mémo texte | | | +DC_Categorie Catégorie de classement (zombie) Entier sur 8 octets 0 +| DC_CleCategorie | Cle Categorie | Chaîne | 16 | | +| --------------- | ------------- | -------------- | --- | --- | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | ---------- | ------------------- | --- | --- | +| ModifDate | Modifié le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| -------------- | --------------------------- | ------------------- | --- | --- | +| DC_DateFichier | DC_DateFichier | Date (aaaammjj) | | | +DC_IDMessageExterne Identifiant du Message externe Entier sur 8 octets 0 +| GUID | GUID | Chaîne | 32 | | +| ---- | ---- | ------ | --- | --- | +DC_IDEtatDocument Identifiant de l'état du document Entier sur 8 octets 0 +| DC_CleEtatDoc | Cle Etat du Document | Chaîne | 16 | | +| -------------- | -------------------- | ---------- | --- | --- | +| DC_HeriteDroit | Hérite du droit | Chaîne | 8 | | +| DC_Chemin | Chemin | Mémo texte | | | +| 06/08/2026 | | Batik | | 95 | + +Partie 2 › ... › Tables et rubriques › DocumentNote › Tables et rubriques +DocumentNote +Tables et rubriques +Informations générales +DocumentNote DocumentNote +Nom sur disque DocumentNote.fic +Groupe(s) ProtectionStd +Rubriques de la table DocumentNote +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| DN_PKID | Identifiant de DocumentNote | Identifiant automatique | | | +| ------- | --------------------------- | ------------------------ | --- | --- | +(8 octets) +| DN_IDDocument | DN_IDDocument | Entier sur 8 octets | | 0 | +| ------------- | ------------- | ------------------- | --- | --- | +| DN_Note | Note | Mémo texte | | | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | -------- | ------------------- | --- | --- | +| GUID | GUID | Chaîne | 32 | | +| 06/08/2026 | | Batik | | 96 | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Dossier › Tables et rubriques +Dossier +Tables et rubriques +Informations générales +Dossier Dossier +Nom sur disque Dossier.fic +Groupe(s) ProtectionStd +Index full-text DO_Index_FullText (Rubriques : DO_Titre, DO_RefInterne, DO_RefExterne, DO_NumDossier) +Rubriques de la table Dossier +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| ------- | ---------------------- | ------------------------ | ------ | ---- | +| DO_PKID | Identifiant de DOSSIER | Identifiant automatique | | | +(8 octets) +| DO_IDClient | Identifiant de CLIENT | Entier sur 8 octets | | 0 | +| ----------- | --------------------- | ------------------- | --- | --- | +DO_IDTypeDossier Type de Dossier (zombie) Entier sur 8 octets 0 +| DO_CleType | Cle Type de dossier | Chaîne | 16 | | +| ---------- | ------------------- | ------ | --- | --- | +| DO_Titre | Titre du Dossier | Chaîne | 50 | | +Identifiant du Statut du dossier +| DO_IDStatut | | Entier sur 8 octets | | 0 | +| ------------- | ---------------------------- | ------------------- | --- | --- | +| DO_CleStatut | Cle Statut | Chaîne | 16 | | +| DO_RefInterne | Référence interne du dossier | Chaîne | 50 | | +| DO_RefExterne | Référence externe du dossier | Chaîne | 50 | | +| CreationDate | Date de création | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Utilisateur de création | Entier sur 8 octets | | 0 | +| ------------ | ----------------------- | ------------------- | --- | --- | +| ModifDate | Date de Modification | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ------------- | --------------------------- | ------------------- | --- | --- | +| DO_IDImport | Identifiant Import | Chaîne | 50 | | +| DO_IDSociete | Identifiant de SOCIETE | Entier sur 8 octets | | 0 | +| DO_DateDebut | Date de début du dossier | Date (aaaammjj) | | | +| Archive | Enregistrement Archivée | Booléen | | 0 | +| DateArchivage | Date d'archivage | Date et Heure | | | +(aaaammjjhhmmssccc) +| DO_NumDossier | NumDossier | Chaîne | 6 | | +| ------------- | ---------- | ------ | --- | --- | +| GUID | GUID | Chaîne | 32 | | +| 06/08/2026 | | Batik | | 97 | + +Partie 2 › ... › Tables et rubriques › ElementModifie › Tables et rubriques +ElementModifie +Tables et rubriques +Informations générales +ElementModifie ElementModifie +Nom sur disque elementmodifie.fic +Groupe(s) ProtectionStd +Rubriques de la table ElementModifie +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +EM_PKID Identifiant de ElementModifie Identifiant automatique +(8 octets) +| EM_Fichier | Fichier | Chaîne | 50 | | +| ---------- | -------------------- | -------------- | --- | --- | +| EM_Date | Date de modification | Date et Heure | | | +(aaaammjjhhmmssccc) +| EM_IdUser | Id User | Entier non signé sur 8 | | 0 | +| --------- | ------- | ----------------------- | --- | --- | +octets +| EM_IdEnrg | Id de l'enregistrement | Entier non signé sur 8 | | 0 | +| --------- | ---------------------- | ----------------------- | --- | --- | +octets +| 06/08/2026 | | Batik | | 98 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › ... › Tables et rubriques › ElementSupprime › Tables et rubriques +ElementSupprime +Tables et rubriques +Informations générales +ElementSupprime ElementSupprime +Nom sur disque elementsupprime.fic +Groupe(s) ProtectionStd +Rubriques de la table ElementSupprime +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +ES_PKID Identifiant de ElementSupprime Identifiant automatique +(8 octets) +| ES_NumEnrg | Numéro d'enregistrement | Entier non signé sur 8 | | 0 | +| ---------- | ----------------------- | ----------------------- | --- | --- | +octets +| ES_IdEnrg | Id enregistrement | Entier non signé sur 8 | | 0 | +| --------- | ----------------- | ----------------------- | --- | --- | +octets +| ES_Fichier | Nom du fichier | Chaîne | 40 | | +| ---------- | -------------- | ----------------------- | --- | --- | +| ES_IdUser | Id User | Entier non signé sur 8 | | 0 | +octets +| ES_DateHeure | Date Heure suppression | Date et Heure | | | +| ------------ | ---------------------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| ES_NumEnr_Id | Numéro d'enregistrement plus ID | Chaîne | 50 | | +| ------------ | ------------------------------- | ------ | --- | --- | +| 06/08/2026 | | Batik | | 99 | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Equipe › Tables et rubriques +Equipe +Tables et rubriques +Informations générales +Equipe Equipe +Nom sur disque Equipe.fic +Groupe(s) ProtectionStd +Rubriques de la table Equipe +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| EQ_PKID | Identifiant de Equipe | Identifiant automatique | | | +| ------- | --------------------- | ------------------------ | --- | --- | +(8 octets) +| EQ_Nom | Nom de l'équipe | Chaîne | 50 | | +| ------------ | ---------------- | ------------------- | --- | --- | +| EQ_IDSociete | SO_PKID | Entier sur 8 octets | | 0 | +| CreationDate | Date de création | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Utilisateur de création | Entier sur 8 octets | | 0 | +| ------------ | ----------------------- | ------------------- | --- | --- | +| ModifDate | Date de Modification | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ---------- | --------------------------- | ------------------- | --- | --- | +| 06/08/2026 | | Batik | | 100 | + +Partie 2 › ... › Tables et rubriques › Equipe_Collaborateur › Tables et rubriques +Equipe_Collaborateur +Tables et rubriques +Informations générales +Equipe_Collaborateur Equipe_Collaborateur +Nom sur disque Equipe_Collaborateur.fic +Groupe(s) ProtectionStd +Rubriques de la table Equipe_Collaborateur +nolbuoD élC +euqinU élC tuaféd .laV +Libellé Type +elliaT +sneS +EC_PKID Identifiant de Equipe_Collaborateur Identifiant automatique +(8 octets) +EC_IDCollaborateur Identifiant de Collaborateur Entier sur 8 octets 0 +| EC_IDEquipe | Identifiant de Equipe | Entier sur 8 octets | 0 | +| ----------- | --------------------- | ------------------- | --- | +EC_IDEquipe_EC_IDColla Identifiant de Equipe_Collaborateur Clé composée : 16 +EC_IDEquipe+EC_IDColla +borateur +| CreationDate | Date de création | Date et Heure | | +| ------------ | ---------------- | -------------- | --- | +(aaaammjjhhmmssccc) +| CreationUser | Utilisateur de création | Entier sur 8 octets | 0 | +| ------------ | ----------------------- | ------------------- | --- | +| ModifDate | Date de Modification | Date et Heure | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | 0 | +| ---------- | --------------------------- | ------------------- | --- | +| 06/08/2026 | | Batik | 101 | + +Partie 2 › ... › Tables et rubriques › EtatIntervention › Tables et rubriques +EtatIntervention +Tables et rubriques +Informations générales +EtatIntervention EtatIntervention +Nom sur disque EtatIntervention.fic +Groupe(s) ProtectionStd +Rubriques de la table EtatIntervention +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| EI_PKID | Identifiant de | Identifiant automatique | | | +| ------- | --------------- | ------------------------ | --- | --- | +(8 octets) +EI_IDEtat Identifiant de Etat d'intervention Entier sur 8 octets 0 +| EI_CleEtat | Cle Etat d'intervention | Chaîne | 16 | | +| ------------ | ----------------------- | -------------- | --- | --- | +| EI_DateDebut | Date début | Date et Heure | | | +(aaaammjjhhmmssccc) +| EI_DateFin | Date fin | Date et Heure | | | +| ---------- | -------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| EI_Description | Description de l'intervention pour | Mémo texte | | | +| -------------- | ----------------------------------- | ---------- | --- | --- | +EI_IDIntervention Identifiant de Intervention Entier sur 8 octets 0 +| 06/08/2026 | | Batik | | 102 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Etats › Tables et rubriques +Etats +Tables et rubriques +Informations générales +Etats Etats +Nom sur disque Etats.fic +Groupe(s) ProtectionPlus +Rubriques de la table Etats +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| ETA_PKID | Identifiant de Etats | Identifiant automatique | | | +| -------- | -------------------- | ------------------------ | --- | --- | +(8 octets) +| ETA_Groupe | Groupe (Intervention/rdv) | Chaîne | 20 | | +| ----------- | ------------------------- | ----------------------- | --- | --- | +| ETA_Libelle | Libelle | Chaîne | 50 | | +| ETA_Ordre | Ordre | Entier non signé sur 2 | | 0 | +octets +| ETA_Valeur | Valeur , nom de l’état | Mémo texte | | | +| ---------- | ---------------------- | ---------- | --- | --- | +| 06/08/2026 | | Batik | | 103 | + +Partie 2 › ... › Tables et rubriques › Intervention › Tables et rubriques +Intervention +Tables et rubriques +Informations générales +Intervention Intervention +Nom sur disque Intervention.fic +Groupe(s) ProtectionStd +IN_Index_FullText (Rubriques : IN_Description, IN_NoteInterne, IN_Titre, IN_RefInterne, +Index full-text +IN_RefExterne, IN_NumIntervention, IN_NumDevis, IN_NumFacture) +Rubriques de la table Intervention +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| IN_PKID | Identifiant de Intervention | Identifiant automatique | | | +| ------- | --------------------------- | ------------------------ | --- | --- | +(8 octets) +IN_IDTypeIntervention Type d'Intervention (zombie) Entier sur 8 octets 0 +| IN_CleType | Clé Type d'intervention | Chaîne | 16 | | +| ---------- | ----------------------- | ------ | --- | --- | +IN_IDEtatIntervention l'état de l'Intervention (zombie) Entier sur 8 octets 0 +| IN_CleEtat | Clé état d'intervention | Chaîne | 16 | | +| ---------- | ----------------------- | ------ | --- | --- | +IN_IDSuiviPar Identifiant du Collaborateur Entier sur 8 octets 0 +| IN_IDDossier | Identifiant de Dossier | Entier sur 8 octets | | 0 | +| ------------ | ---------------------- | ------------------- | --- | --- | +IN_IDDemandeur Identifiant du DEMANDEUR Entier sur 8 octets 0 +| IN_IDClient | Identifiant de Client | Entier sur 8 octets | | 0 | +| --------------------- | ----------------------------- | ------------------- | --- | --- | +| IN_IDLieu | Identifiant de Lieu | Entier sur 8 octets | | 0 | +| IN_Description | Description de l'intervention | Mémo texte | | | +| IN_AttestationTVAPres | Attestation TVA présentée | Booléen | | 0 | +| IN_NoteInterne | Note Interne | Mémo texte | | | +| CreationDate | Date de création | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Utilisateur de création | Entier sur 8 octets | | 0 | +| ------------ | ----------------------- | ------------------- | --- | --- | +| ModifDate | Date de Modification | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ------------- | ----------------------------------- | ------------------- | --- | --- | +| IN_Titre | Titre de l'intervention | Chaîne | 51 | | +| IN_RefInterne | Référence interne de l'intervention | Chaîne | 50 | | +| IN_RefExterne | Référence externe de l'interne | Chaîne | 50 | | +| IN_IDImport | Identifiant Import | Chaîne | 50 | | +| IN_IDSociete | Identifiant de Societe | Entier sur 8 octets | | 0 | +| Archive | Enregistrement Archivée | Booléen | | 0 | +| DateArchivage | Date d'archivage | Date et Heure | | | +(aaaammjjhhmmssccc) +| 06/08/2026 | | Batik | | 104 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › ... › Tables et rubriques › Intervention › Tables et rubriques +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT sneS +| IN_DateIntervention | Date d'Intervention | Date (aaaammjj) | | | +| ------------------- | ------------------- | --------------- | --- | --- | +IN_DureePrevue Durée prévue d'intervention Réel sur 4 octets 0 +| IN_NumDevis | Numéro du devis | Chaîne | 20 | | +| ------------------ | -------------------- | --------------- | --- | --- | +| IN_DateDevis | Date du devis | Date (aaaammjj) | | | +| IN_NumFacture | Numéro de la facture | Chaîne | 20 | | +| IN_DateFacture | Date de la facture | Date (aaaammjj) | | | +| IN_NumIntervention | IN_NumIntervention | Chaîne | 6 | | +| GUID | GUID | Chaîne | 32 | | +| 06/08/2026 | | Batik | | 105 | + +Partie 2 › ... › Tables et rubriques › Intervention_BddExterne › Tables et rubriques +Intervention_BddExterne +Tables et rubriques +Informations générales +Intervention_BddExterne Intervention_BddExterne +Nom sur disque Intervention_BddExterne.fic +Groupe(s) ProtectionStd +Rubriques de la table Intervention_BddExterne +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +INX_PKID Identifiant de Intervention_Ext Identifiant automatique +(8 octets) +| INX_IDIntervention | INX_IDIntervention | Entier sur 8 octets | | 0 | +| ------------------ | ------------------ | ------------------- | --- | --- | +| INX_IDExterne | INX_IDExterne | Chaîne | 30 | | +| INX_IDBddExterne | Id bdd externe | Entier sur 8 octets | | 0 | +| ModifDate | Modifié le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ------------ | --------------------------- | ------------------- | --- | --- | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | -------- | ------------------- | --- | --- | +INX_IDBaseExtINX_IDIn +| | INX_IDBaseExt + INX_IDIntervention | Clé composée : | 16 | | +| --- | ---------------------------------- | --------------- | --- | --- | +INX_IDBddExterne+INX_I +DIntervention +| 06/08/2026 | | Batik | | 106 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › ... › Tables et rubriques › Intervention_ChampLibre › Tables et rubriques +Intervention_ChampLibre +Tables et rubriques +Informations générales +Intervention_ChampLibre Intervention_ChampLibre +Nom sur disque Intervention_ChampLibre.fic +Groupe(s) ProtectionStd +Rubriques de la table Intervention_ChampLibre +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| ICL_PKID | Identifiant de | Identifiant automatique | | | +| -------- | --------------- | ------------------------ | --- | --- | +(8 octets) +| ICL_IDIntervention_ICL_ | Identifiant de | Clé composée : | 16 | | +| ----------------------- | --------------- | --------------- | --- | --- | +ICL_IDIntervention+ICL_I +DParametreMetier +ICL_IDIntervention Identifiant de Intervention Entier sur 8 octets 0 +| ICL_IDParametreMetier | Identifiant de ParametreMetier | | | 0 | +| --------------------- | ------------------------------ | --- | --- | --- | +Entier sur 8 octets +| ICL_ValeurDuChamp | Valeur Du Champ | Chaîne | 50 | | +| ----------------- | --------------- | -------------- | --- | --- | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | ---------- | ------------------- | --- | --- | +| ModifDate | Modifié le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ---------- | --------------------------- | ------------------- | --- | --- | +| 06/08/2026 | | Batik | | 107 | + +Partie 2 › ... › Tables et rubriques › Intervention_Personne › Tables et rubriques +Intervention_Personne +Tables et rubriques +Informations générales +Intervention_Personne Intervention_Personne +Nom sur disque Intervention_Personne.fic +Groupe(s) ProtectionStd +Rubriques de la table Intervention_Personne +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +IP_PKID Identifiant de Intervention_Personne Identifiant automatique +(8 octets) +IP_IDIntervention Identifiant de Intervention Entier sur 8 octets 0 +| IP_IDPersonne | Identifiant de Personne | Entier sur 8 octets | | 0 | +| ------------- | ----------------------- | ------------------- | --- | --- | +| IP_IDClient | Identifiant de Client | Entier sur 8 octets | | 0 | +| IP_IDLieu | Identifiant de Lieu | Entier sur 8 octets | | 0 | +IP_IDRole Role de la personne dans l'intervention Entier sur 8 octets 0 +Clé du Role de la personne dans +| IP_CleRole | | Chaîne | 16 | | +| ----------- | ------------------ | ------ | --- | --- | +| IP_IDImport | Identifiant Import | | | 0 | +Entier sur 8 octets +| IP_EstDemandeur | La personne est le demandeur sur | Booléen | | 0 | +| --------------- | --------------------------------- | -------------- | --- | --- | +| IP_Etage | Etage où se situe l'occupant | Chaîne | 10 | 0 | +| IP_Lot | Lot concerné | Chaîne | 25 | | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | ---------- | ------------------- | --- | --- | +| ModifDate | Modifié le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ---------- | --------------------------- | ------------------- | --- | --- | +| 06/08/2026 | | Batik | | 108 | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Lieu › Tables et rubriques +Lieu +Tables et rubriques +Informations générales +Lieu Lieu +Nom sur disque Lieu.fic +Connexion Connexion HFSQL Classic +Répertoire de la table <MAIN_HF_DIR> +Groupe(s) ProtectionStd +Index full-text LI_Index_FullText (Rubriques : LI_CodeLieu, LI_Note) +Rubriques de la table Lieu +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| LI_PKID | Identifiant de Lieu | Identifiant automatique | | | +| ------- | ------------------- | ------------------------ | --- | --- | +(8 octets) +FR: Identifiant unique du fichier Lieu +| LI_CodeLieu | Code du lieu | Chaîne | 50 | | +| ----------- | ------------ | ------ | --- | --- | +FR: Code interne pour situer le lieu +| LI_IDAdresse | Adresse du lieu | Entier sur 8 octets | | 0 | +| ------------ | --------------- | ------------------- | --- | --- | +FR: Identifiant unique du fichier Adresse permettant de localiser le lieu +| CreationDate | Date de création | Date et Heure | | | +| ------------ | ---------------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| CreationUser | Utilisateur de création | Entier sur 8 octets | | 0 | +| ------------ | ----------------------- | ------------------- | --- | --- | +| ModifDate | Date de Modification | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| --------- | --------------------------- | ------------------- | --- | --- | +| LI_IDType | Type (zombie) | Entier sur 8 octets | | 0 | +FR: Type de Lieu +Immeuble, Maison Indiv. +| LI_CleType | Cle Type de lieu | Chaîne | 16 | | +| ------------- | ----------------------- | -------------- | --- | --- | +| LI_CodeAcces | Code d'acces du lieu | Mémo texte | | | +| LI_Badge | Badge sur lieu | Booléen | | 0 | +| LI_Interphone | Interphone sur lieu | Booléen | | 0 | +| LI_Note | Note sur le lieu | Chaîne | 250 | | +| Archive | Enregistrement Archivée | Booléen | | 0 | +| DateArchivage | Date d'archivage | Date et Heure | | | +(aaaammjjhhmmssccc) +| LI_IDImport | Identifiant Import | Chaîne | 50 | | +| ----------------- | --------------------------- | ------ | --- | --- | +| LI_RepertoireDocs | Répertoire des docs du lieu | Chaîne | 255 | | +LI_IDClientPrincipal Identifiant du client principal Entier sur 8 octets 0 +| 06/08/2026 | | Batik | | 109 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Lieu › Tables et rubriques +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| ---------------- | ----------------- | ---------- | ------ | ---- | +| LI_Blocage | LI_Blocage | Booléen | | 0 | +| LI_RaisonBlocage | Raison de blocage | Mémo texte | | | +| GUID | GUID | Chaîne | 32 | | +| 06/08/2026 | | Batik | | 110 | + +Partie 2 › ... › Tables et rubriques › Lieu_Personne › Tables et rubriques +Lieu_Personne +Tables et rubriques +Informations générales +Lieu_Personne Lieu_Personne +Nom sur disque Lieu_Personne.fic +Groupe(s) ProtectionStd +Rubriques de la table Lieu_Personne +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +LIP_PKID Identifiant de LOT_PERSONNE Identifiant automatique +(8 octets) +LIP_IDPersonne Identifiant de la Personne Entier sur 8 octets 0 +| LIP_IDLieu | Identifiant du lieu | Entier sur 8 octets | | 0 | +| ---------- | ------------------- | ------------------- | --- | --- | +LIP_IDRole Rôle de la Personne du lieu (zombie) Entier sur 8 octets 0 +| LIP_CleRole | Cle Role de la personne | Chaîne | 16 | | +| ----------- | ----------------------- | ------ | --- | --- | +LIP_IDTypeLieuPersonn Type du Lieu Personne (zombie) Entier sur 8 octets 0 +| LIP_CleType | Cle Type | Chaîne | 16 | | +| ----------- | -------- | ------ | --- | --- | +| LIP_Etage | Etage | | 10 | | +Chaîne +| LIP_Lot | Lot | Chaîne | 25 | | +| ------------ | ---------------- | -------------- | --- | --- | +| CreationDate | Date de création | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifDate | Date de Modification | Date et Heure | | | +| --------- | -------------------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| CreationUser | Utilisateur de création | Entier sur 8 octets | | 0 | +| ------------- | --------------------------- | ------------------- | --- | --- | +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| Archive | Enregistrement Archivée | Booléen | | 0 | +| DateArchivage | Date d'archivage | Date et Heure | | | +(aaaammjjhhmmssccc) +| LIP_EtiquetteAdresse | Etiquette de l'adresse | Chaîne | 50 | | +| -------------------- | ---------------------- | ------- | --- | --- | +| LIP_Actif | Adresse contact Active | Booléen | | 0 | +| 06/08/2026 | | Batik | | 111 | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › MailCat › Tables et rubriques +MailCat +Tables et rubriques +Informations générales +MailCat MailCat +Nom sur disque MailCat.fic +Groupe(s) ProtectionStd +Rubriques de la table MailCat +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| MMC_PKID | Identifiant de MailCat | Identifiant automatique | | | +| -------- | ---------------------- | ------------------------ | --- | --- | +(8 octets) +| MMC_CodeModMail | MMC_CodeModMail | Chaîne | 5 | | +| --------------- | --------------- | ------ | --- | --- | +| MMC_CodeCat | MMC_CodeCat | Chaîne | 5 | | +MMC_CodeModMail_Co MMC_CodeModMail + MMC_CodeCat Clé composée : 10 +MMC_CodeModMail+MM +C_CodeCat +| 06/08/2026 | | Batik | | 112 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › MailModele › Tables et rubriques +MailModele +Tables et rubriques +Informations générales +MailModele MailModele +Nom sur disque MailModele.fic +Groupe(s) ProtectionStd +Rubriques de la table MailModele +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| MM_PKID | Identifiant de ModMail | Identifiant automatique | | | +| ------- | ---------------------- | ------------------------ | --- | --- | +(8 octets) +| MM_Nom | Désignation du modèle | Chaîne | 50 | | +| ------------ | --------------------- | -------------------- | --- | --- | +| MM_Sujet | Sujet du mail | Mémo texte | | | +| MM_MsgDoc | Corps du message | Image (mémo binaire) | | | +| MM_Extra | Information extra | Mémo texte | | | +| MM_EnvoiMob | Envoi vers le mobile | Booléen | | 0 | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | ---------- | ------------------- | --- | --- | +| ModifDate | Modifié le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ---------- | ---------------------------- | ------------------- | --- | --- | +| MM_System | Donnée system non modifiable | Booléen | | 0 | +| MM_Langue | Langue | Chaîne | 50 | FR | +| MM_Code | MM_Code | Chaîne | 5 | | +| 06/08/2026 | | Batik | | 113 | + +Partie 2 › ... › Tables et rubriques › MessageExterne › Tables et rubriques +MessageExterne +Tables et rubriques +Informations générales +MessageExterne Message Externe +Nom sur disque MessageExterne.fic +Groupe(s) ProtectionStd +Rubriques de la table MessageExterne +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +ME_PKID Identifiant de MessageExterne Identifiant automatique +(8 octets) +| ME_IDIntervention | IDIntervention | Entier sur 8 octets | | 0 | +| ------------------- | -------------------------- | ------------------- | --- | --- | +| ME_AdrExp | Adresse Expediteur | Chaîne | 250 | | +| ME_AdrDestinataires | Adresses des destinataires | Mémo texte | | | +| ME_Objet | ME_Objet | Chaîne | 200 | | +| ME_Message | Message | Mémo texte | | | +| ME_IDDocPJ | ID du document en PJ | Chaîne | 100 | 0 | +| ME_Envoyer | Message envoyé | | | 0 | +Booléen +| ME_Brouillon | Mode Brouillon | Booléen | | 0 | +| ------------ | -------------- | -------------- | --- | --- | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| --------------- | ---------------------------- | ------------------- | --- | --- | +| ME_PJ | Avec PJ | Booléen | | 0 | +| ME_AdrCC | Adresse expéditeur CC | Chaîne | 200 | | +| ME_AdrCCI | Adresse expéditeur CCI | Chaîne | 200 | | +| GUID | GUID | Chaîne | 32 | | +| ME_IDImport | Identifiant de l'import | Chaîne | 50 | | +| ME_EnvoyerMob | Message envoyé par le mobile | Booléen | | 0 | +| ME_PieceJointes | Chemin des documents joints | Mémo texte | | | +| 06/08/2026 | | Batik | | 114 | + +Partie 2 › ... › Tables et rubriques › MessageInterne › Tables et rubriques +MessageInterne +Tables et rubriques +Informations générales +MessageInterne MessageInterne +Nom sur disque MessageInterne.fic +Groupe(s) ProtectionStd +Rubriques de la table MessageInterne +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +MI_PKID Identifiant de MessageInterne Identifiant automatique +(8 octets) +MI_IDTypeMessage Identifiant du Type de Message Entier sur 8 octets 0 +| MI_Message | Message | Mémo texte | | | +| ---------- | ------- | ---------- | --- | --- | +MI_IDIntervention Identifiant de l'intervention Entier sur 8 octets 0 +| CreationDate | Créé le | Date et Heure | | | +| ------------ | ------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | -------- | ------------------- | --- | --- | +| GUID | GUID | Chaîne | 32 | | +| 06/08/2026 | | Batik | | 115 | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Mobile › Tables et rubriques +Mobile +Tables et rubriques +Informations générales +Mobile Mobile +Nom sur disque Mobile.fic +Groupe(s) ProtectionStd +Rubriques de la table Mobile +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| MOB_PKID | Identifiant de Mobile | Identifiant automatique | | | +| -------- | --------------------- | ------------------------ | --- | --- | +(8 octets) +| MOB_NumSerie | MOB_NumSerie | Chaîne | 100 | | +| --------------- | --------------- | ------ | --- | --- | +| MOB_NomPersonne | MOB_NomPersonne | Chaîne | 100 | | +| 06/08/2026 | | Batik | | 116 | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › MobLog › Tables et rubriques +MobLog +Tables et rubriques +Informations générales +MobLog MobLog +Nom sur disque MobLog.fic +Groupe(s) ProtectionStd +Rubriques de la table MobLog +nolbuoD élC +euqinU élC tuaféd .laV +Libellé Type +elliaT +sneS +| ML_PKID | Identifiant de MobLog | Identifiant automatique | | +| ------- | --------------------- | ------------------------ | --- | +(8 octets) +| ML_DateCreat | DateHeure | Date et Heure | | +| ------------ | --------- | -------------- | --- | +(aaaammjjhhmmssccc) +| ML_Message | Message | Mémo texte | | +| ---------- | --------- | ------------------ | --- | +| ML_Niveau | ML_Niveau | Entier sur 1 octet | 0 | +| 06/08/2026 | | Batik | 117 | + +Partie 2 › ... › Tables et rubriques › MobReception › Tables et rubriques +MobReception +Tables et rubriques +Informations générales +MobReception MobReception +Nom sur disque MobReception.fic +Groupe(s) ProtectionStd +Rubriques de la table MobReception +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| MR_PKID | Identifiant de MobReception | Identifiant automatique | | | +| ------- | --------------------------- | ------------------------ | --- | --- | +(8 octets) +| MR_IDToSRV | MR_IDToSRV | Entier sur 8 octets | | 0 | +| ----------------- | ---------------------- | -------------------- | --- | --- | +| MR_JSON | JSON | Mémo texte | | | +| MR_CMD | Commande | Chaîne | 50 | | +| MR_Buffer | Buffer | Image (mémo binaire) | | | +| MR_NumSerie | Numéro de Série | Chaîne | 50 | | +| MR_Fait | Fait | Booléen | | 0 | +| MR_DateHeureRecep | DateHeure de Réception | Date et Heure | | | +(aaaammjjhhmmssccc) +| 06/08/2026 | | Batik | | 118 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › ... › Tables et rubriques › ModeleRapport › Tables et rubriques +ModeleRapport +Tables et rubriques +Informations générales +ModeleRapport ModeleRapport +Nom sur disque ModeleRapport.fic +Groupe(s) ProtectionStd +Rubriques de la table ModeleRapport +nolbuoD élC +euqinU élC tuaféd .laV +Libellé Type +elliaT +sneS +MRP_PKID Identifiant de ModeleRapport Identifiant automatique +(8 octets) +| MRP_Nom | MRP_Nom | Mémo texte | | +| ------------ | ------------------------------ | ------------------ | --- | +| MRP_Modele | MRP_Modele | Autre mémo binaire | | +| MRP_EnvoiMob | Envoi vers Mobile | Booléen | 0 | +| MRP_Extra | Rub extra ajouter manuellement | Mémo texte | | +| CreationDate | CreationDate | Date et Heure | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | 0 | +| ------------ | ---------- | ------------------- | --- | +| ModifDate | Modifié le | Date et Heure | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | 0 | +| ---------- | --------------------------- | ------------------- | --- | +| 06/08/2026 | | Batik | 119 | + +Partie 2 › ... › Tables et rubriques › ModeleRapportMob › Tables et rubriques +ModeleRapportMob +Tables et rubriques +Informations générales +ModeleRapportMob ModeleRapportMob +Nom sur disque ModeleRapportMob.fic +Groupe(s) ProtectionStd +Rubriques de la table ModeleRapportMob +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +MRM_PKID Identifiant de ModeleRapportMob Identifiant automatique +(8 octets) +| MRM_Nom | Nom | Chaîne | 30 | | +| ---------- | ----------------- | -------------------- | --- | --- | +| MRM_Modele | Buffer Modele | Image (mémo binaire) | | | +| MRM_RubMob | Rubriques mobiles | Mémo texte | | | +| 06/08/2026 | | Batik | | 120 | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › MotClef › Tables et rubriques +MotClef +Tables et rubriques +Informations générales +MotClef MotClef +Nom sur disque MotClef.fic +Groupe(s) ProtectionStd +Rubriques de la table MotClef +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| MOC_PKID | Identifiant de MotClef | Identifiant automatique | | | +| -------- | ---------------------- | ------------------------ | --- | --- | +(8 octets) +| MOC_Code | Code Valeur | Chaîne | 20 | | +| ------------------ | --------------------- | --------------- | --- | --- | +| MOC_Mot | Mot | Chaîne | 50 | | +| MOC_Lib | Libellé | Chaîne | 50 | | +| MOC_Langue | Langue | Chaîne | 3 | | +| MOC_CodeMOC_Langue | MOC_Code + MOC_Langue | Clé composée : | 23 | | +MOC_Code+MOC_Langu +e +| MOC_MotMOC_Langue | MOC_Mot + MOC_Langue | Clé composée : | 53 | | +| ----------------- | -------------------- | --------------- | --- | --- | +MOC_Mot+MOC_Langue +| MOC_Groupe | Groupe de mots clés | Chaîne | 25 | | +| ---------- | ------------------- | ------ | --- | --- | +| 06/08/2026 | | Batik | | 121 | + +Partie 2 › ... › Tables et rubriques › ParametreApplication › Tables et rubriques +ParametreApplication +Tables et rubriques +Informations générales +ParametreApplication ParametreApplication +Nom sur disque ParametreApplication.fic +Groupe(s) ProtectionStd +Rubriques de la table ParametreApplication +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +PAP_PKID Identifiant de ParametreApplication Identifiant automatique +(8 octets) +| PAP_Code | Code du paramètre | Chaîne | 50 | 0 | +| --------------- | ------------------------ | ---------- | --- | --- | +| PAP_Description | Description du paramètre | Mémo texte | | | +| PAP_Valeur | Valeur du paramètre | Mémo texte | | | +| 06/08/2026 | | Batik | | 122 | + +Partie 2 › ... › Tables et rubriques › ParametreMetier › Tables et rubriques +ParametreMetier +Tables et rubriques +Informations générales +ParametreMetier ParametreMetier +Nom sur disque ParametreMetier.fic +Connexion Connexion HFSQL Classic +Groupe(s) ProtectionStd +Rubriques de la table ParametreMetier +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| --- | --- | --- | ------ | ---- | +PA_PKID Identifiant de PARAMETREMETIER Identifiant automatique +(8 octets) +| PA_CLE | Identifiant sur les autres tables | Chaîne | 16 | | +| ------------ | --------------------------------- | ------ | --- | --- | +| PA_Categorie | Catégorie du paramètre métier | Chaîne | 25 | | +| PA_Code | Code (zombie) | Chaîne | 3 | | +FR: Code du paramètre métier +| PA_Libelle | Libellé | Chaîne | 250 | | +| ---------- | ------- | ------ | --- | --- | +FR: Libellé du paramètre métier +| PA_Valeur | Valeur (Zombie) | Chaîne | 20 | | +| --------- | --------------- | ------ | --- | --- | +FR: Valeur du paramètre métier +| PA_Ordre | Ordre | Entier sur 4 octets | | 0 | +| -------- | ----- | ------------------- | --- | --- | +FR: Ordre d'affichage du paramètre métier +| PA_Systeme | Valeur Systeme | Booléen | | 0 | +| ------------ | ------------------------------------- | ------- | --- | --- | +| PA_Invisible | Invisible pour l'utilisateur (zombie) | Booléen | | 0 | +| PA_IDImport | ID Import (zombie) | Chaîne | 50 | | +| PA_Actif | Actif | Booléen | | 1 | +PA_CodePA_Valeur PA_Code + PA_Valeur (zombie) Clé composée : 23 +PA_Code+PA_Valeur +| PA_CleLiaison | Clé de liaison (zombie) | Chaîne | 23 | | +| --------------- | ----------------------- | ---------- | --- | --- | +| PA_Parametre | PA_Parametre | Mémo texte | | | +| PA_LibelleCourt | Libellé court | Chaîne | 20 | | +| 06/08/2026 | | Batik | | 123 | + +Partie 2 › ... › Tables et rubriques › ParametreMetierEntete › Tables et rubriques +ParametreMetierEntete +Tables et rubriques +Informations générales +ParametreMetierEntete ParametreMetierEntete +Nom sur disque ParametreMetierEntete.fic +Groupe(s) ProtectionPlus +Rubriques de la table ParametreMetierEntete +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +PM_PKID Identifiant de ParametreMetierEntete Identifiant automatique +(8 octets) +| PM_Libelle | Libellé du paramètre métier | Chaîne | 50 | | +| -------------- | ------------------------------------ | ------- | --- | --- | +| PM_Description | Description pour les utilisateurs | Chaîne | 250 | | +| PM_Systeme | Le paramètre est-il personnalisable | Booléen | | 0 | +| PM_Groupe | Nom du groupe de rattachement | Chaîne | 25 | | +| PM_Code | Code interne du paramètre (zombie) | Chaîne | 3 | | +PM_AucunPossible Gestion de la valeur aucune (zombie) Booléen 0 +| PM_Specifique | Code Specifique (zombie) | | | | +| ------------- | ------------------------ | --- | --- | --- | +Mémo texte +| PM_Categorie | Catégorie | Chaîne | 20 | | +| ------------ | ----------------- | ----------------------- | --- | --- | +| PM_Type | Type de paramètre | Entier non signé sur 2 | | 0 | +octets +| 06/08/2026 | | Batik | | 124 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › ... › Tables et rubriques › ParametreSysteme › Tables et rubriques +ParametreSysteme +Tables et rubriques +Informations générales +ParametreSysteme ParametreSysteme +Nom sur disque ParametreSysteme.fic +Groupe(s) ProtectionPlus +Rubriques de la table ParametreSysteme +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +PAS_PKID Identifiant de ParametreSysteme Identifiant automatique +(8 octets) +| PAS_Code | Code du paramètre | Chaîne | 50 | | +| --------------- | ------------------------ | ---------- | --- | --- | +| PAS_Description | Description du paramètre | Chaîne | 250 | | +| PAS_Valeur | Valeur du paramètre | Mémo texte | | | +| 06/08/2026 | | Batik | | 125 | + +Partie 2 › ... › Tables et rubriques › ParametreUtilisateur › Tables et rubriques +ParametreUtilisateur +Tables et rubriques +Informations générales +ParametreUtilisateur ParametreUtilisateur +Nom sur disque ParametreUtilisateur.fic +Groupe(s) ProtectionStd +Rubriques de la table ParametreUtilisateur +Libellé Type +06/08/2026 Batik 126 +elliaT +euqinU +élC +nolbuoD +élC +sneS +tuaféd +.laV +PU_PKID Identifiant de ParametreUtilisateur Identifiant automatique +(8 octets) +PU_Code Code du paramètre Chaîne 50 +PU_IDUtilisateur Identifiant de Utilisateur Entier sur 8 octets 0 +PU_Valeur Valeur du paramètre Mémo texte +PU_CodePU_IDUtilisate PU_Code + PU_IDUtilisateur Clé composée : 58 +PU_Code+PU_IDUtilisate +ur + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Personne › Tables et rubriques +Personne +Tables et rubriques +Informations générales +Personne Personne +Nom sur disque Personne.fic +Connexion Connexion HFSQL Classic +Groupe(s) ProtectionStd +PE_Index_FullText (Rubriques : PE_Nom, PE_Prenom, PE_TelFixe, PE_TelMobile, PE_Email, +Index full-text +PE_Note, PE_Fax) +Rubriques de la table Personne +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| ------- | ----------------------- | ------------------------ | ------ | ---- | +| PE_PKID | Identifiant de Personne | Identifiant automatique | | | +(8 octets) +FR: Identifiants unique du fichier Personne +PE_IDCivilite Civilite du contact (zombie) Entier sur 8 octets 0 +| PE_CleCivilite | Clé Civilité | Chaîne | 16 | | +| -------------- | ------------ | ------ | --- | --- | +| PE_Nom | Nom | Chaîne | 50 | | +FR: Nom de la personne +| PE_Prenom | Prénom | Chaîne | 50 | | +| --------- | ------ | ------ | --- | --- | +FR: Prénom de la personne +| PE_TelFixe | Téléphone fixe | Chaîne | 15 | | +| ---------- | -------------- | ------ | --- | --- | +FR: Téléphone fixe de la personne +| PE_TelMobile | Téléphone mobile | Chaîne | 15 | | +| ------------ | ---------------- | ------ | --- | --- | +FR: Téléphone mobile de la personne +| PE_Email | Email | Mémo texte | | | +| -------- | ----- | ---------- | --- | --- | +FR: Email de la personne +| PE_IDRole | Rôle (zombie) | Entier sur 8 octets | | 0 | +| --------- | ------------- | ------------------- | --- | --- | +FR: Rôle de la personne +| PE_CleRole | Role | Chaîne | 16 | | +| ---------- | ---- | ------ | --- | --- | +PE_IDAdressePrincipale Adresse principale Entier sur 8 octets 0 +FR: Identifiant unique dans le fichier Adresse permettant de référencer l'adresse principale de la personne +| PE_IDClient | Appartient au client | Entier sur 8 octets | | 0 | +| ----------- | -------------------- | ------------------- | --- | --- | +FR: Identifiant unique du fichier Client +| CreationDate | Créé le | Date et Heure | | | +| ------------ | ------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | -------- | ------------------- | --- | --- | +| 06/08/2026 | | Batik | | 127 | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Personne › Tables et rubriques +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| --------- | ---------- | -------------- | ------ | ---- | +| ModifDate | Modifié le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ------------- | --------------------------- | ------------------- | --- | --- | +| Archive | Enregistrement Archivée | Booléen | | 0 | +| DateArchivage | Date d'archivage | Date et Heure | | | +(aaaammjjhhmmssccc) +| PE_Note | Note sur le contact | Chaîne | 250 | | +| ----------- | ---------------------- | ------ | --- | --- | +| PE_Fax | Fax du contact | Chaîne | 15 | | +| PE_IDImport | Identifiant du contact | Chaîne | 50 | | +| PE_Actif | PE_Actif | | | 1 | +Booléen +| PE_UsageInterne | Usage Interne | Booléen | | 0 | +| --------------- | -------------------------- | ---------- | --- | --- | +| PE_InfoSupp | Information supplémentaire | Mémo texte | | | +| GUID | GUID | Chaîne | 32 | | +| 06/08/2026 | | Batik | | 128 | + +Partie 2 › ... › Tables et rubriques › Planning_RDV › Tables et rubriques +Planning_RDV +Tables et rubriques +Informations générales +Planning_RDV Planning_RDV +Nom sur disque Planning_RDV.fic +Groupe(s) ProtectionStd +Rubriques de la table Planning_RDV +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| PL_PKID | Identifiant de Planning_RDV | Identifiant automatique | | | +| ------- | --------------------------- | ------------------------ | --- | --- | +(8 octets) +| PL_IDGroupe | Groupe de Rendez-vous | Entier sur 8 octets | | 0 | +| ------------ | ------------------------- | ------------------- | --- | --- | +| PL_Grouper | Rendez-vous groupé | Booléen | | 0 | +| PL_IDSociete | Identifiant de la Société | Entier sur 8 octets | | 0 | +| PL_IDEquipe | Identifiant de l'équipe | Entier sur 8 octets | | 0 | +PL_IDCollaborateur Identifiant du collaborateur Entier sur 8 octets 0 +| PL_IDDossier | Identifiant du dossier | Entier sur 8 octets | | 0 | +| ----------------- | ----------------------------- | ------------------- | --- | --- | +| PL_IDIntervention | Identifiant de l'intervention | | | 0 | +Entier sur 8 octets +PL_IDTypeActivite Type activité du RDV (zombie) Entier sur 8 octets 0 +| PL_CleType | Cle Type | Chaîne | 16 | | +| ------------ | ---------------------- | ------------------- | --- | --- | +| PL_IDStatut | Statut du RDV (zombie) | Entier sur 8 octets | | 0 | +| PL_CleStatut | Cle Statut | Chaîne | 16 | | +| PL_Objet | Objet du Rendez-vous | Chaîne | 25 | | +| GUID | GUID | | 32 | | +Chaîne +| PL_Description | Description du Rendez-vous | Mémo texte | | | +| -------------- | ----------------------------- | -------------- | --- | --- | +| PL_DateDebut | Date et heure du début du RDV | Date et Heure | | | +(aaaammjjhhmmssccc) +| PL_DateFin | Date et heure de la fin du RDV | Date et Heure | | | +| ---------- | ------------------------------ | -------------- | --- | --- | +(aaaammjjhhmmssccc) +PL_Superposable Condition de superposition d'un RDV Booléen 0 +| PL_Prive | RDV Prive | Booléen | | 0 | +| ------------- | ----------------------- | -------------- | --- | --- | +| Archive | Enregistrement Archivée | Booléen | | 0 | +| DateArchivage | Date d'archivage | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationDate | Date de création | Date et Heure | | | +| ------------ | ---------------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| CreationUser | Utilisateur de création | Entier sur 8 octets | | 0 | +| ------------ | ----------------------- | ------------------- | --- | --- | +| ModifDate | Date de Modification | Date et Heure | | | +(aaaammjjhhmmssccc) +| 06/08/2026 | | Batik | | 129 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › ... › Tables et rubriques › Planning_RDV › Tables et rubriques +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| ----------- | --------------------------- | ------------------- | ------ | ---- | +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| PL_IDImport | Identifiant Import | Chaîne | 50 | | +PL_IDPersonne Identifiant de la personne Entier sur 8 octets 0 +| PL_IDLieu | Identifiant du site | Entier sur 8 octets | | 0 | +| -------------- | ------------------------------- | ------------------- | --- | --- | +| PL_TempsValide | Validation des Temps sur le RDV | Booléen | | 0 | +| PL_DateExport | Date d'export du rdv | Date et Heure | | | +(aaaammjjhhmmssccc) +| PL_SAV | Rdv SAV? | | | 0 | +| ------ | -------- | --- | --- | --- | +Booléen +PL_IdGroupeDate Id de Groupe de RDV par date Entier sur 8 octets 0 +| PL_CR | Rdv avec CR | Booléen | | 0 | +| ------------- | -------------------------------- | ---------- | --- | --- | +| PL_NoteCollab | Note Collaborateur depuis mobile | Mémo texte | | | +PL_IDOrigineAnnul ID Origine Annulation (zombie) Entier non signé sur 8 0 +octets +| PL_CleOrigineAnnu | Cle Origine de Annulation | Chaîne | 16 | | +| ----------------- | ------------------------- | ------ | --- | --- | +PL_IDMotifAnnul ID Motif Annulation (zombie) Entier non signé sur 8 0 +octets +| PL_CleMotifAnnu | Cle Motif de Annulation | Chaîne | 16 | | +| --------------- | ----------------------- | ------- | --- | --- | +| PL_RappelSMS | Rappel SMS | Booléen | | 0 | +| 06/08/2026 | | Batik | | 130 | + +Partie 2 › ... › Tables et rubriques › Planning_RDV_Personne › Tables et rubriques +Planning_RDV_Personne +Tables et rubriques +Informations générales +Planning_RDV_Personne Relation Planning_RDV/Personne +Nom sur disque Planning_RDV_Personne.fic +Groupe(s) ProtectionStd +Rubriques de la table Planning_RDV_Personne +nolbuoD élC +euqinU élC tuaféd .laV +Libellé Type +elliaT +sneS +PRP_PKID Identifiant du RDV_Personne Identifiant automatique +(8 octets) +PRP_IDPersonne Identifiant de la personne Entier sur 8 octets 0 +| PRP_IDRdv | Identifiant du RDV | Entier sur 8 octets | 0 | +| --------- | ------------------ | ------------------- | --- | +PRP_PKID_PE_PKID Identifiant de Planning_RDV_Personne Clé composée : 16 +PRP_IDRdv+PRP_IDPerso +nne +PRP_IDGroupeRDV Identifiant Groupe du RDV Entier sur 8 octets 0 +| CreationDate | Date de création | Date et Heure | | +| ------------ | ---------------- | -------------- | --- | +(aaaammjjhhmmssccc) +| ModifDate | Modifié le | Date et Heure | | +| --------- | ---------- | -------------- | --- | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | 0 | +| ------------- | --------------------------- | ------------------- | --- | +| ModifUser | Utilisateur de modification | Entier sur 8 octets | 0 | +| Archive | Enregistrement Archivée | Booléen | 0 | +| DateArchivage | Date d'archivage | Date et Heure | | +(aaaammjjhhmmssccc) +| 06/08/2026 | | Batik | 131 | +| ---------- | --- | ----- | --- | + +Partie 2 › ... › Tables et rubriques › RDV_Collaborateur › Tables et rubriques +RDV_Collaborateur +Tables et rubriques +Informations générales +RDV_Collaborateur RDV_Collaborateur +Nom sur disque RDV_Collaborateur.fic +Groupe(s) ProtectionStd +Rubriques de la table RDV_Collaborateur +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +RVC_PKID Identifiant de RDV_Collaborateur Identifiant automatique +(8 octets) +| RVC_GUID_RDV | GUID du RDV | Chaîne | 32 | | +| ------------- | --------------------- | -------------- | --- | --- | +| RVC_GUID_Colb | GUID du Collaborateur | Chaîne | 32 | | +| RVC_DateDeb | Date debut | Date et Heure | | | +(aaaammjjhhmmssccc) +| RVC_DateFin | Date fin | Date et Heure | | | +| ----------- | -------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +| RVC_CleStatut | Statut du rendez-vous | Chaîne | 16 | | +| ------------- | --------------------- | ------ | --- | --- | +RVC_Responsable Est responsable dans le rendez-vous ? Booléen 0 +| RVC_TempsValide | Le temps est validé ? | Booléen | | 0 | +| --------------- | --------------------- | -------------- | --- | --- | +| RVC_DateExport | Date de export | Date et Heure | | | +(aaaammjjhhmmssccc) +| GUID | GUID | Chaîne | 32 | | +| ---------------- | ----------------------- | ------- | --- | --- | +| Archive | Enregistrement Archivée | Booléen | | 0 | +| RVC_CR | Avec Compte Rendu | Booléen | | 0 | +| RVC_Superposable | Superposable ? | Booléen | | 0 | +| 06/08/2026 | | Batik | | 132 | + +Partie 2 › ... › Tables et rubriques › RDV_Contact › Tables et rubriques +RDV_Contact +Tables et rubriques +Informations générales +RDV_Contact RDV_Contact +Nom sur disque RDV_Contact.fic +Groupe(s) ProtectionStd +Rubriques de la table RDV_Contact +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +RVCT_PKID Identifiant de RDV_Contact Identifiant automatique +(8 octets) +| GUID | GUID | Chaîne | 32 | | +| -------------- | ---------------- | ------ | --- | --- | +| RVCT_GUID_Pers | GUID Personne | Chaîne | 32 | | +| RVCT_GUID_RDV | GUID Rendez-vous | Chaîne | 32 | | +| 06/08/2026 | | Batik | | 133 | + +Partie 2 › ... › Tables et rubriques › RDV_Planning › Tables et rubriques +RDV_Planning +Tables et rubriques +Informations générales +RDV_Planning RDV_Planning +Nom sur disque RDV_Planning.fic +Groupe(s) ProtectionStd +Rubriques de la table RDV_Planning +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +RV_PKID Identifiant de RendezVousPlanning Identifiant automatique +(8 octets) +| RV_IdSociete | Id societe | Entier sur 8 octets | | 0 | +| -------------- | --------------------- | ------------------- | --- | --- | +| RV_IdDossier | Id Dossier | Entier sur 8 octets | | 0 | +| RV_IdInter | Id Intervention | Entier sur 8 octets | | 0 | +| RV_CleType | Type de rendez-vous | Chaîne | 16 | | +| RV_CleStatut | Statut de rendez-vous | Chaîne | 16 | | +| RV_Objet | Objet | Mémo texte | | | +| RV_Description | Description | | | | +Mémo texte +| RV_IdLieu | Id Lieu | Entier non signé sur 8 | | 0 | +| --------- | ------- | ----------------------- | --- | --- | +octets +| RV_SAV | SAV ? | Booléen | | 0 | +| ----------------- | ----------------------- | -------------- | --- | --- | +| RV_CleOrigineAnnu | Origine de l'annulation | Chaîne | 16 | 0 | +| RV_CleMotifAnnu | Motif de l'annulation | Chaîne | 16 | | +| RV_RappelSMS | Avec Rappel SMS ? | Booléen | | 0 | +| Archive | Enregistrement Archivée | Booléen | | 0 | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | ---------- | ------------------- | --- | --- | +| ModifDate | Modifié le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ----------------- | --------------------------- | ------------------- | --- | --- | +| GUID | GUID | Chaîne | 32 | | +| RV_Groupe | Groupe ? | Booléen | | 0 | +| RV_PlusieursJours | Sur plusieurs jours ? | Booléen | | 0 | +Date du rendez-vous , utilisé si le +| RV_Date | | Date (aaaammjj) | | | +| ---------- | --- | --------------- | --- | --- | +| 06/08/2026 | | Batik | | 134 | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Role › Tables et rubriques +Role +Tables et rubriques +Informations générales +Role Role +Nom sur disque Role.fic +Groupe(s) ProtectionStd +Rubriques de la table Role +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| R_PKID | Identifiant de Role | Identifiant automatique | | | +| ------ | ------------------- | ------------------------ | --- | --- | +(8 octets) +| R_Libelle | Libelle | Chaîne | 30 | | +| ------------ | ----------------------- | -------------- | --- | --- | +| R_AncienCode | Ancien Code à supprimer | Chaîne | 50 | | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | ---------- | ------------------- | --- | --- | +| ModifDate | Modifié le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ---------- | --------------------------- | ------------------- | --- | --- | +| 06/08/2026 | | Batik | | 135 | + +Partie 2 › ... › Tables et rubriques › RubriquesDocument › Tables et rubriques +RubriquesDocument +Tables et rubriques +Informations générales +RubriquesDocument RubriquesDocument +Nom sur disque RubriquesDocument.fic +Groupe(s) ProtectionStd +Rubriques de la table RubriquesDocument +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +RD_PKID Identifiant de RubriquesDocument Identifiant automatique +(8 octets) +| RD_Nom | Nom | Chaîne | 50 | | +| --------------- | ------------------------------------- | ---------- | --- | --- | +| RD_Description | Description (Info pour l'utilisateur) | Mémo texte | | | +| RD_Rubrique | Rubrique (variable dans document) | Chaîne | 35 | | +| RD_TypeMembre | Type membre | Chaîne | 20 | | +| RD_MasqueSaisie | Masque de saisie | Chaîne | 20 | | +| RD_EnvoiMob | Envoi Mobile ? | Booléen | | 0 | +| RD_BD | Donnée disponible dans les rq | | | 0 | +Booléen +| RD_Modifiable | Modifiable ? | Booléen | | 0 | +| ------------- | ------------ | ------- | --- | --- | +| RD_Groupe | Groupe | Chaîne | 20 | | +RD_IdRubParent Id rubrique parent (Ex Tableau) Entier non signé sur 8 0 +octets +| RD_MembreMob | Nom de la variable qui stocke | Chaîne | 50 | | +| ------------ | ------------------------------ | ----------------------- | --- | --- | +| RD_Ordre | Ordre de présentation | Entier non signé sur 4 | | 0 | +octets +| 06/08/2026 | | Batik | | 136 | +| ---------- | --- | ----- | --- | --- | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Societe › Tables et rubriques +Societe +Tables et rubriques +Informations générales +Societe Societe +Nom sur disque Societe.fic +Connexion Connexion HFSQL Classic +Groupe(s) ProtectionStd +Rubriques de la table Societe +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| ------- | ---------------------- | ------------------------ | ------ | ---- | +| SO_PKID | Identifiant de Societe | Identifiant automatique | | | +(8 octets) +FR: Identifiant unique du fichier Societe +| SO_Nom | Nom | Chaîne | 80 | | +| ------ | --- | ------ | --- | --- | +FR: Nom de la société (Raison sociale) +| SO_SIRET | SIRET | Chaîne | 20 | | +| -------- | ----- | ------ | --- | --- | +FR: SIRET de la société +| SO_Tel | Téléphone | Chaîne | 25 | | +| ------ | --------- | ------ | --- | --- | +FR: Téléphone de la société +| SO_Fax | Fax | Chaîne | 25 | | +| ------ | --- | ------ | --- | --- | +FR: Fax de la société +| SO_Email | Email | Chaîne | 50 | | +| -------- | ----- | ------ | --- | --- | +FR: Email de la société +| SO_SiteWeb | Site Web | Chaîne | 100 | | +| ---------- | -------- | ------ | --- | --- | +FR: Site Web de la société +SO_IDAdressePrincipale Adresse principale Entier sur 8 octets 0 +FR: Identifiant unique dans le fichier Adresse permettant de référencer l'adresse principale de la société +| CreationDate | Date de création | Date et Heure | | | +| ------------ | ---------------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +FR: Date de création de l'enregistrement +| CreationUser | Utilisateur de création | Entier sur 8 octets | | 0 | +| ------------ | ----------------------- | ------------------- | --- | --- | +FR: Utilisateur qui a créé l'enregistrement +| ModifDate | Date de Modification | Date et Heure | | | +| --------- | -------------------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +FR: Date de Modification de l'enregistrement +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| --------- | --------------------------- | ------------------- | --- | --- | +FR: Utilisateur qui a modifié l'enregistrement +| SO_IDImport | Identifiant d'import | Chaîne | 50 | | +| ----------- | -------------------- | ------ | --- | --- | +| 06/08/2026 | | Batik | | 137 | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Societe › Tables et rubriques +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +| | | | elliaT | sneS | +| ------------- | ------------------ | -------------------- | ------ | ---- | +| SO_Logo | Logo de la société | Image (mémo binaire) | | | +| SO_Parametres | Paramètres société | Mémo texte | | | +| SO_Archive | SO_Archive | Booléen | | 0 | +| GUID | GUID | Chaîne | 32 | | +| SO_SIREN | SIREN | Chaîne | 20 | | +| 06/08/2026 | | Batik | | 138 | + +Partie 2 › ... › Tables et rubriques › Societe_Collaborateur › Tables et rubriques +Societe_Collaborateur +Tables et rubriques +Informations générales +Societe_Collaborateur Societe_Collaborateur +Nom sur disque Societe_Collaborateur.fic +Groupe(s) ProtectionStd +Rubriques de la table Societe_Collaborateur +Libellé Type +06/08/2026 Batik 139 +elliaT +euqinU +élC +nolbuoD +élC +sneS +tuaféd +.laV +SC_PKID Identifiant de Societe_Collaborateur Identifiant automatique +(8 octets) +SC_IDCollaborateur Identifiant de Collaborateur Entier sur 8 octets 0 +SC_IDCSociete Identifiant de Societe Entier sur 8 octets 0 +SC_IDCSoc_IDCol SC_IDCSociete + SC_IDCollaborateur Clé composée : 16 +SC_IDCSociete+SC_IDColl +aborateur +SC_IDCSociete_SC_IDCol Identifiant de Societe_Collaborateur Clé composée : 16 +SC_IDCSociete+SC_IDColl +aborateur +CreationDate Date de création Date et Heure +(aaaammjjhhmmssccc) +CreationUser Utilisateur de création Entier sur 8 octets 0 +ModifDate Date de Modification Date et Heure +(aaaammjjhhmmssccc) +ModifUser Utilisateur de modification Entier sur 8 octets 0 + +Partie 2 › ... › Tables et rubriques › SuiviDesTemps › Tables et rubriques +SuiviDesTemps +Tables et rubriques +Informations générales +SuiviDesTemps SuiviDesTemps +Nom sur disque SuiviDesTemps.fic +Groupe(s) ProtectionStd +Rubriques de la table SuiviDesTemps +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| SDT_PKID | Identifiant de Temps | Identifiant automatique | | | +| -------- | -------------------- | ------------------------ | --- | --- | +(8 octets) +| SDT_DateDebut | Date à laquelle à débuter l'événement | Date et Heure | | | +| ------------- | ------------------------------------- | -------------- | --- | --- | +(aaaammjjhhmmssccc) +SDT_IDIntervention Identifiant de Intervention Entier sur 8 octets 0 +SDT_IDCollaborateur Collaborateur concerné par le temps Entier sur 8 octets 0 +SDT_IDPartenaire Partenaire présent avec le Entier sur 8 octets 0 +| SDT_NbMinutes | Temps passé en minute | Entier sur 4 octets | | 0 | +| ------------- | --------------------- | ------------------- | --- | --- | +| SDT_Libelle | TE_Libelle | Chaîne | 50 | | +SDT_IDTypeTemps Identifiant du type de temps (zombie) Entier sur 8 octets 0 +| SDT_CleType | Cle Type | Chaîne | 16 | | +| ---------------- | ----------------------------------- | ------------------- | --- | --- | +| SDT_IDRdv | Identifiant du Rendez-vous | Entier sur 8 octets | | 0 | +| SDT_Ponderation | Ponderation | Réel sur 4 octets | | 0 | +| SDT_IDImport | Import | Chaîne | 50 | | +| SDT_DateHeureFin | Date à laquelle à finir l'événement | Date et Heure | | | +(aaaammjjhhmmssccc) +| GUID | GUID | Chaîne | 32 | | +| ---- | ---- | ------ | --- | --- | +SDT_IDTypeRdv Identifiant du type de RDV (zombie) Entier sur 8 octets 0 +| SDT_CleTypeRDV | Cle Type de RDV | Chaîne | 16 | | +| -------------- | ------------------------- | ------------------- | --- | --- | +| SDT_Controle | Suivie des temps contrôlé | Booléen | | 0 | +| SDT_IDGroupe | Identifiant Groupe | Entier sur 8 octets | | 0 | +| CreationDate | Créé le | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Créé par | Entier sur 8 octets | | 0 | +| ------------ | ---------- | ------------------- | --- | --- | +| ModifDate | Modifié le | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| ----------------- | --------------------------- | ------------------- | --- | --- | +| SDT_NoteColb | Note collaborateur | Mémo texte | | | +| SDT_NoteAdmin | Note administration | Mémo texte | | | +| SDT_GUID_Rdv_Colb | GUID du rdv collaborateur | Chaîne | 32 | | +| 06/08/2026 | | Batik | | 140 | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Telephone › Tables et rubriques +Telephone +Tables et rubriques +Informations générales +Telephone Telephone +Nom sur disque Telephone.fic +Groupe(s) ProtectionStd +Rubriques de la table Telephone +nolbuoD élC +euqinU élC tuaféd .laV +Libellé Type +elliaT +sneS +| TE_PKID | Identifiant de Telephone | Identifiant automatique | | +| ------- | ------------------------ | ------------------------ | --- | +(8 octets) +TE_IDQualif Identifiant de ParametreMetier Entier sur 8 octets 0 +| TE_Numero | TE_Numero | Entier sur 4 octets | 0 | +| ------------- | ----------------------- | ------------------- | --- | +| TE_IDPersonne | Identifiant de Personne | Entier sur 8 octets | 0 | +| 06/08/2026 | | Batik | 141 | + +Partie 2 › ... › D:\Projets Windev\Batik\Nouvelle Version\Batik\Batik.ana\Batik.wda › Tables et rubriques › Utilisateur › Tables et rubriques +Utilisateur +Tables et rubriques +Informations générales +Utilisateur Utilisateur +Nom sur disque Utilisateur.fic +Groupe(s) ProtectionStd +Rubriques de la table Utilisateur +nolbuoD élC +| | | | euqinU élC | tuaféd .laV | +| --- | --- | --- | ---------- | ----------- | +Libellé Type +elliaT +sneS +| UT_PKID | Identifiant de Utilisateur | Identifiant automatique | | | +| ------- | -------------------------- | ------------------------ | --- | --- | +(8 octets) +| UT_Login | Login | Chaîne | 100 | | +| ------------------- | ----------------------- | ------- | --- | --- | +| UT_Nom | Nom de l'utilisateur | Chaîne | 50 | | +| UT_Prenom | Prénom de l'utilisateur | Chaîne | 50 | | +| UT_MotDePasse | Mot De Passe | Chaîne | 50 | | +| UT_MotDePasseAChang | Mot de passe à changer | Booléen | | 0 | +| UT_Email | Email | Chaîne | 100 | | +| UT_TelMobile | Téléphone Mobile | | 25 | | +Chaîne +| UT_Administrateur | Est un utilisateur admin | Booléen | | 0 | +| ----------------- | ------------------------ | -------------- | --- | --- | +| CreationDate | Date de création | Date et Heure | | | +(aaaammjjhhmmssccc) +| CreationUser | Utilisateur de création | Entier sur 8 octets | | 0 | +| ------------ | ----------------------- | ------------------- | --- | --- | +| ModifDate | Date de Modification | Date et Heure | | | +(aaaammjjhhmmssccc) +| ModifUser | Utilisateur de modification | Entier sur 8 octets | | 0 | +| --------- | --------------------------- | ------------------- | --- | --- | +UT_IDCollaborateur Identifiant du Collaborateur Entier sur 8 octets 0 +Identifiant de la société principale +| UT_IDSocietePrincipale | | Entier sur 8 octets | | 0 | +| ---------------------- | --- | ------------------- | --- | --- | +UT_IDTypeProfil Identifiant du type de profil (zombie) Entier sur 8 octets 0 +UT_IdRole Identifiant Role (Profil) Entier non signé sur 8 0 +octets +| UT_CleLicenceMobile | Clé de Licence Mobile | Chaîne | 50 | | +| ------------------- | --------------------- | ------- | --- | --- | +| UT_AccesBO | Acces au Back-Office | Booléen | | 0 | +| UT_AccesMobile | Acces sur le Mobile | Booléen | | 0 | +| 06/08/2026 | | Batik | | 142 | + +Partie 3 › Fenêtre WINDEV +Partie 3 +Fenêtre WINDEV +| 06/08/2026 | Batik | 143 | +| ---------- | ----- | --- | + +Partie 3 › Fenêtre WINDEV +FEN_Login +Image +FEN_Login +Informations générales +FEN_Login +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Login.wdw +Créé par SMR +Date de création 27/05/2025 11:36:04 +Dernière modification par susana@applilogik.fr +Date dernière modification 03/04/2026 09:48:41 +Titre FR: Login +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à l'écran +06/08/2026 Batik 144 + +Partie 3 › Fenêtre WINDEV › FEN_Login › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 505 Hauteur | 545 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | --- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| Transparence Vista | | Non | | | | +| Transparence gérée par Vista | | Non | | | | +| Appliquer le thème du projet | | <Défaut> | | | | +| Grisé : Utiliser couleur perso. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 145 | + +Partie 3 › Fenêtre WINDEV › FEN_Login › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | | 2 | Libellé | | | 3 | +| --- | --------------- | --- | --- | --- | ------- | --- | --- | --- | +| | Image | | | 3 | Combo | | | 1 | +Nombre d'éléments dans la fenêtre : 9 +FEN_Login +Informations sur les champs +Fenêtre : FEN_Login +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_Login | 55 266 | 395 71 | 0 Actif | Texte | Non | | | | +| -------------- | ------ | ------ | ------- | ----- | --- | --- | --- | --- | +| SAI_MotDePasse | 55 344 | 395 69 | 0 Actif | Texte | Non | | | | +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | --- | +| | | | | | laitini tatE | | FTR tamroF | | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Info | | 55 420 | 395 | 20 0 | Actif | Centre | Centre | | +| ---------------- | --- | ------- | --- | ----- | ----- | ------ | ------ | --- | +| LIB_Se_connecter | | 261 518 | 83 | 20 0 | Actif | Centre | Centre | | +| LIB_Sortir | | 174 518 | 57 | 20 0 | Actif | Centre | Centre | | +| 06/08/2026 | | | | Batik | | | | 146 | + +Partie 3 › Fenêtre WINDEV › FEN_Login › 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_Connection | | 262 450 | 80 60 | 0 | Actif | | +| ------------------ | --- | ------- | ------- | --- | ----- | --- | +| IMG_Logo_principal | | 32 44 | 441 152 | 0 | Actif | | +| IMG_Sortir | | 162 450 | 80 60 | 0 | Actif | | +Combo +reihcif eétsissa eisiaS +eriotagilbo eisiaS .zroH tnemeliféD +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | +| --- | --- | --- | --- | ---------- | ----------- | --- | +X noitisoP Y noitisoP laitini tatE +| | | ruegraL ruetuaH | | sruocraP | | | +| --- | --- | --------------- | --- | -------- | --- | --- | +elbisiV +| | | | | elbaT | eéirT | | +| --- | --- | --- | --- | ----- | ----- | --- | +nalP +| CMB_Bd | 55 194 | 395 65 | 0 Actif | Mémoire | Non | | +| ------ | ------ | ------ | ------- | ------- | --- | --- | +Fenêtre : FEN_Login +Combo : CMB_Bd +| Libellé | | FR: Serveur et base de données | | | | | +| ---------------------------------- | --- | ----------------------------------- | ----- | --- | --- | --- | +| 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 | | 395 | | | | | +| Larg. déroulée perso. | | Non | | | | | +| Hauteur ligne | | 38 | | | | | +| Retrait gauche | | 10 | | | | | +| Position X interne | | 55 | | | | | +| Largeur interne | | 395 | | | | | +| Cadrage fonctions gXXX | | Cadrage ignoré (pour compatibilité) | | | | | +| Numéro aide | | 0 | | | | | +| Opacité | | 100 | | | | | +| Autorise ChangeGabarit | | Oui | | | | | +| 06/08/2026 | | | Batik | | | 147 | + +Partie 3 › Fenêtre WINDEV › FEN_Login › Informations sur les champs +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 Oui +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 : IMG_Connection +Libellé FR: Se connecter +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\login.svg +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 +06/08/2026 Batik 148 + +Partie 3 › Fenêtre WINDEV › FEN_Login › Informations sur les champs +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 Oui +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 600 Taux anc. bas 0 Taux anc. largeur 100 Taux anc. hauteur 1000 +Image : IMG_Logo_principal +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_principal.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +06/08/2026 Batik 149 + +Partie 3 › Fenêtre WINDEV › FEN_Login › Informations sur les champs +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 : IMG_Sortir +Libellé FR: Sortir +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\exit.svg +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 Oui +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 300 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +06/08/2026 Batik 150 + +Partie 3 › Fenêtre WINDEV › FEN_Login › Informations sur les champs +Libellé : LIB_Info +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 6 +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_Se_connecter +Libellé FR: Se connecter +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 +06/08/2026 Batik 151 + +Partie 3 › Fenêtre WINDEV › FEN_Login › 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 0 Taux anc. hauteur 1000 +Libellé : LIB_Sortir +Libellé FR: Sortir +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 +06/08/2026 Batik 152 + +Partie 3 › Fenêtre WINDEV › FEN_Login › Informations sur les champs +Champ de saisie : SAI_Login +Libellé FR: Login +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 55 +Largeur interne 395 +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: 2 +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 +06/08/2026 Batik 153 + +Partie 3 › Fenêtre WINDEV › FEN_Login › Informations sur les champs +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Oui +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +Bouton droit : Nombre d'états 1 +Bouton gauche : Largeur 0 +Bouton droit : Largeur 0 +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome Couleur monochrome du style +Ancrage <Aucun> +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_MotDePasse +Libellé FR: Mot de passe +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 55 +Largeur interne 395 +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 +06/08/2026 Batik 154 + +Partie 3 › Fenêtre WINDEV › FEN_Login › 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 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 155 + +Partie 3 › Fenêtre WINDEV › FEN_Login › Code +FEN_Login +Code +Déclarations globales de FEN_Login +procédure FEN_Login() +si ConnexionBase:tbConfigBase..Occurrence <= 0 alors +FinProgramme() +fin +si EnModeTest() alors +si ConnexionBase:tbConfigBase..Occurrence > 1 alors +pour tout config, i de ConnexionBase:tbConfigBase +CMB_Bd.Ajoute(config.sNomLogique+gLien(i)) +fin +CMB_Bd..Visible = Vrai +fin +fin +FEN_Login +Code des champs +Initialisation de CMB_Bd +// Version 1 +// Description +// Combo liste simple +Clic sur IMG_Connection +SeConnecter() +Clic sur IMG_Sortir +FinProgramme() +Initialisation de LIB_Info +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_Se_connecter +06/08/2026 Batik 156 + +Partie 3 › Fenêtre WINDEV › FEN_Login › Code des champs +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_Sortir +// Version 1 +// Description +// Libellé simple +Initialisation de SAI_Login +// Version 1 +// Description +// Champ de saisie pour un texte simple sur une ligne +Initialisation de SAI_MotDePasse +// Version 1 +// Description +// Saisie de mot de passe +FEN_Login +Procédures +Procédure locale SeConnecter +procédure SeConnecter() +bAcces est un booléen +bModeTest est un booléen = EnModeTest() +si CMB_Bd..Visible _et_ CMB_Bd > 0 alors +ConnexionBase:nNumBase = CMB_Bd +sinon +ConnexionBase:nNumBase = 1 +fin +quand exception dans +si SAI_Login = "" alors RepriseSaisie(SAI_Login) +LIB_Info = "Contrôle de l'utilisateur" +si pas ConnexionBase:OuvreConnexionBase() alors +retour +fin +salogin est une chaîne ANSI = Majuscule(SAI_Login) +sHashMotDePasse est une chaîne ANSI = Gauche(BufferVersHexa(HashChaîne(HA_MD5_128,SAI_ +MotDePasse+ConnexionHFSQL::cMdp3),SansRegroupement),50) +//Le hash du mot de passe vide est "07C0B97A4DB5897DF3C72D32819C3843" +// Vérifier l’accès du collaborateur et utilisateur +rqColb est une Requête SQL = +[ +06/08/2026 Batik 157 + +Partie 3 › Fenêtre WINDEV › FEN_Login › Procédures +SELECT CO_AccesBO, CO_PKID , UT_AccesBO, UT_PKID, UT_Prenom, UT_Nom FROM Utilisateur +LEFT JOIN Collaborateur ON UT_IDCollaborateur = CO_PKID +WHERE UPPER(Utilisateur.UT_Login)={pLogin} +AND Utilisateur.UT_MotDePasse={pMdp} +] +rqColb.pLogin = Majuscule(salogin) +si pas bModeTest alors +rqColb.pMdp = sHashMotDePasse +fin +si pas HExécuteRequêteSQL(rqColb) alors +si pas bModeTest alors +sErrMsg est une chaîne ANSI = "Erreur dans la vérification de l'utilisateur"+RC+ +HErreurInfo(errComplet) +Erreur(sErrMsg) +LogEcrit(sErrMsg+RC+rqColb..CodeSQLExécuté,eErreur) +bAcces = Faux +fin +sinon +pour tout rqColb +si (rqColb.CO_PKID > 0 et rqColb.CO_AccesBO) ou (rqColb.CO_PKID <= 0 et rqColb.UT_AccesBO) +alors +bAcces = Vrai +CollaborateurEnCours:nIdUser = rqColb.UT_PKID +fin +fin +fin +si pas bModeTest alors +si pas HLitPremier(rqColb) alors +Erreur( "Compte ou mot de passe incorrect !") +LIB_Info = "" +retour +fin +si pas bAcces alors +Erreur( "Cet utilisateur n'a pas le droit d'accéder à l'application bureau" ) +LIB_Info = "" +retour +fin +CollaborateurEnCours:Charge(rqColb.CO_PKID) +sinon +HLitPremier(rqColb) +CollaborateurEnCours:Charge(rqColb.CO_PKID) +fin +si ConnexionBase:OuvreConnexionUtilisateur(salogin,rqColb.UT_Prenom +" " + rqColb.UT_Nom) alors +LIB_Info = "" +CollaborateurEnCours:clUtilisateur:ChargeTout() +gsaCodeClient = ParametreSystemeLit(cParam_CodeClient) +//Test pour les bases installées avant cet ajout. +si gsaCodeClient="" alors +gsaCodeClient=Gauche(ConnexionBase:Cnx..BaseDeDonnées,Taille(ConnexionBase:Cnx.. +BaseDeDonnées)-4) +ParametreSystemeEcrit(cParam_CodeClient,gsaCodeClient) +fin +ActiveSurveillance() +GenererPaletteSelonParamColb() +Utilise(FEN_Menu) +fin +faire +UneErreur:Init(ErreurApp.ExeptionProgramme,"","SeConnecter") +06/08/2026 Batik 158 + +Partie 3 › Fenêtre WINDEV › FEN_Login › Procédures +fin +| 06/08/2026 | Batik | 159 | +| ---------- | ----- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Image +FEN_Menu +Image +| 06/08/2026 | Batik | 160 | +| ---------- | ----- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Image +FEN_Menu +Informations générales +| 06/08/2026 | Batik | 161 | +| ---------- | ----- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations générales +FEN_Menu +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Menu.wdw +| Créé par | | SMR | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Date de création | | 27/05/2025 14:25:41 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 15/04/2026 15:47:49 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Menu principal +| Position X | 0 Position Y | | 0 Largeur | 1199 Hauteur | 959 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | --- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| 06/08/2026 | | | Batik | | 162 | + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations générales +| Pos. Y Menu | | 2 | | | | | +| ---------------------- | --- | ------- | --- | --- | --- | --- | +| 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 | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Champ de saisie | | 1 | Libellé | | 1 | +| --- | ---------------------- | --- | --- | --------------------- | --- | --- | +| | Bouton | | 9 | Image | | 22 | +| | Onglet | | 2 | Superchamp | | 1 | +| | Champ Modèle de champs | | 6 | Option de menu | | 9 | +| | Volet (Onglet) | | 2 | Case barre de message | | 1 | +Nombre d'éléments dans la fenêtre : 54 +FEN_Menu +Informations sur les champs +Fenêtre : FEN_Menu +Bouton +notuob epyT +| | | | | | laitini tatE BAT ehcuoT | | +| --- | --- | --- | --- | --- | ----------------------- | --- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Etat | | 550 144 | 136 49 | 0 | Actif | Normal | +| -------------- | --- | ------- | ------ | --- | ----- | ------ | +| BTN_MaJDemo | | 550 201 | 136 49 | 0 | Actif | Normal | +| BTN_MaJParam10 | | 397 144 | 136 49 | 0 | Actif | Normal | +| BTN_MaJParam5 | | 397 426 | 136 49 | 0 | Actif | Normal | +| BTN_MaJParam6 | | 397 369 | 136 49 | 0 | Actif | Normal | +| BTN_MaJParam7 | | 397 313 | 136 49 | 0 | Actif | Normal | +| BTN_MaJParam8 | | 397 257 | 136 49 | 0 | Actif | Normal | +| BTN_MaJParam9 | | 397 201 | 136 49 | 0 | Actif | Normal | +| BTN_Test1 | | 420 505 | 106 32 | 0 | Actif | Normal | +| 06/08/2026 | | | Batik | | | 163 | + +Partie 3 › 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_Client | 1123 | 322 | 40 | 40 | 0 | Actif | | | +| ----------------- | ---- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_Collaborateur | 1123 | 419 | 40 | 40 | 0 | Actif | | | +| IMG_Contact | 1123 | 370 | 40 | 40 | 0 | Actif | | | +| IMG_Donnees | 1123 | 565 | 40 | 40 | 0 | Actif | | | +| IMG_Dossier | 1123 | 179 | 40 | 40 | 0 | Actif | | | +| IMG_Equipe | 1123 | 469 | 40 | 40 | 0 | Actif | | | +| IMG_Lien | 25 | 97 | 133 | 133 | 0 | Actif | | | +| IMG_MenuBTN | 3 | 1 | 56 | 45 | 0 | Actif | | | +| IMG_Parametres | 1123 | 614 | 40 | 40 | 0 | Actif | | | +| IMG_Planning | 1123 | 135 | 40 | 40 | 0 | Actif | | | +| IMG_SansNom1 | 158 | 285 | 133 | 133 | 0 | Actif | | | +| IMG_Site | 1123 | 225 | 40 | 40 | 0 | Actif | | | +| IMG_Societe | 1123 | 517 | 40 | 40 | 0 | Actif | | | +| IMG_Suivi | 1123 | 273 | 40 | 40 | 0 | Actif | | | +| IMG_Temps_passe | 1123 | 91 | 40 | 40 | 0 | Actif | | | +Onglet +slennoitroporp steloV +engil/stelov .bN +| | | | | | laitini tatE | BAT ehcuoT stelov .soP | | | +| --- | --- | --- | --- | --- | ------------ | ---------------------- | --- | --- | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| ONG_Menu | 2 | 48 1191 | 863 | 0 | Actif | haut | | 0 | +| -------- | --- | ------- | --- | --- | ----- | ---- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +laitini tatE +| | | X noitisoP | Y noitisoP | | | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_BordFen | | 0 | -29 | 1063 | 29 | 0 | Actif | | +| ----------------- | --- | ---- | ----- | ---- | --- | --- | ----- | --- | +| CMOD_BtnRecherche | | 847 | 4 | 30 | 30 | 0 | Actif | | +| CMOD_ConfigEcran | | 1127 | 7 | 30 | 24 | 0 | Actif | | +| CMOD_Onglet | | 2 | 85 | 1191 | 835 | 0 | Actif | | +| CMOD_Recherche | | 354 | 0 | 489 | 38 | 0 | Actif | | +| CMOD_VisiteGuide | | 1163 | 7 | 30 | 24 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | | 164 | + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | | 0 | -29 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | -------- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | --- | +| | | | | laitini tatE | | FTR tamroF | | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libellé | 91 | -27 940 | 25 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | ---- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | | laitini tatE | | | +| --- | ---------- | ---------- | --------------- | --- | ------------ | --------- | --- | +| | | | ruegraL ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 1031 | -26 | 28 23 | 0 | Actif | | | +| -------------------------- | ---- | --- | ----- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_BtnRecherche +Image +| | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | --- | --- | ------------ | --------------------------------------- | ---------- | +| | X noitisoP | Y noitisoP | | | laitini tatE | | sucof cevA | +cilc cevA +| | | | ruegraL ruetuaH | | | | | +| --- | --- | --- | --------------- | --- | --- | --- | --- | +elbisiV +nalP +| IMG_Icone | 847 | 4 | 30 30 | 0 | Actif | | | +| ---------- | --- | --- | ----- | --- | ----- | --- | --- | +| 06/08/2026 | | | Batik | | | | 165 | + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Champ Modèle de champs : CMOD_ConfigEcran +Image +| | | | | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | --- | ---------- | ---------- | --- | ------- | --- | --- | ------------ | --------------------------------------- | ---------- | +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| | | | | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | | | 1127 | 7 | 30 | 24 | 0 | | Actif | | | +| --------- | --- | --- | ---- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : ONG_Menu.CMOD_Onglet +Onglet +slennoitroporp steloV +engil/stelov .bN +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | stelov .soP | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | ----------- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ONG_Onglet | | 2 | 85 | 1191 | 835 | 0 | | Actif | | haut | 0 | +| ---------- | --- | --- | --- | ---- | --- | --- | --- | ----- | --- | ---- | --- | +Champ Modèle de champs : CMOD_Recherche +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_Texte | 354 | 0 489 | 38 | 0 | Actif | Texte | | Non | | | | +| ---------- | --- | ----- | --- | --- | ----- | ----- | --- | --- | --- | --- | --- | +| 06/08/2026 | | | | | Batik | | | | | | 166 | + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Champ Modèle de champs : CMOD_VisiteGuide +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | laitini tatE | sucof cevA | +| --- | ---------- | ---------- | --- | ------------ | ---------- | +ruetuaH cilc cevA +ruegraL +elbisiV +nalP +| IMG_Icone | 1163 | 7 30 | 24 0 | Actif | | +| --------- | ---- | ---- | ---- | ----- | --- | +Fenêtre : FEN_Menu +Bouton : ONG_Menu.BTN_Etat +| Libellé | FR: Etats | | | | | +| -------------------------------- | ---------------------------------- | ----- | --- | --- | --- | +| 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 | Tenir compte du cadrage | | | | | +| 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> | | | | | +| Nb. états image | 1 | | | | | +| Nb. états fond | 1 | | | | | +| Etirement de l'image de fond | Largeur et hauteur | | | | | +| Nb. étapes animation | 1 | | | | | +| Largeur Halo | 0 | | | | | +| Hauteur Halo | 0 | | | | | +| 06/08/2026 | | Batik | | | 167 | + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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 +Bouton : ONG_Menu.BTN_MaJDemo +Libellé FR: Mise à jour Base Démo +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 Tenir compte du cadrage +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 168 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Bouton : ONG_Menu.BTN_MaJParam10 +Libellé FR: Configuration fiche menu +Ordre navigation 1 +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 Tenir compte du cadrage +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 169 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Bouton : ONG_Menu.BTN_MaJParam5 +Libellé FR: Configuration fiche site +Ordre navigation 8 +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 Tenir compte du cadrage +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 170 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Bouton : ONG_Menu.BTN_MaJParam6 +Libellé FR: Configuration fiche contact +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 Tenir compte du cadrage +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 171 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Bouton : ONG_Menu.BTN_MaJParam7 +Libellé FR: Configuration fiche client +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 Tenir compte du cadrage +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 172 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Bouton : ONG_Menu.BTN_MaJParam8 +Libellé FR: Configuration fiche intervention +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 Tenir compte du cadrage +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 173 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Bouton : ONG_Menu.BTN_MaJParam9 +Libellé FR: Mise à jour de paramètres +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 Tenir compte du cadrage +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 174 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Bouton : ONG_Menu.BTN_Test1 +Libellé FR: Test +Ordre navigation 9 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 175 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BtnRecherche +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 176 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Champ Modèle de champs : CMOD_ConfigEcran +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ONG_Menu.CMOD_Onglet +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 177 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Champ Modèle de champs : CMOD_Recherche +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_VisiteGuide +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 178 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Image : ONG_Menu.IMG_Client +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Client_rose.svg +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : ONG_Menu.IMG_Collaborateur +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Collaborateur_jaune.svg +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 +06/08/2026 Batik 179 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : ONG_Menu.IMG_Contact +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Contact_rose.svg +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 Droite +06/08/2026 Batik 180 + +Partie 3 › 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 +Image : ONG_Menu.IMG_Donnees +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\excel.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage 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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : ONG_Menu.IMG_Dossier +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Dossier_violet.svg +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 +06/08/2026 Batik 181 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : ONG_Menu.IMG_Equipe +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Equipe_jaune.svg +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 +06/08/2026 Batik 182 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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 +Image : ONG_Menu.IMG_Lien +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\lien.svg +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 Oui +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 +06/08/2026 Batik 183 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Image : IMG_MenuBTN +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\menuBTN.svg +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 Oui +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.IMG_Parametres +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Paramètre.svg +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 +06/08/2026 Batik 184 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : ONG_Menu.IMG_Planning +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Planning_marron.svg +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 Droite +06/08/2026 Batik 185 + +Partie 3 › 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 +Image : ONG_Menu.IMG_SansNom1 +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\LogoIco.ico +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 +Image : ONG_Menu.IMG_Site +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Site_violet.svg +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 +06/08/2026 Batik 186 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : ONG_Menu.IMG_Societe +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Société_jaune.svg +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 +06/08/2026 Batik 187 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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 +Image : ONG_Menu.IMG_Suivi +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Suivi_violet.svg +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 188 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Image : ONG_Menu.IMG_Temps_passe +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Temps_passé_marron.svg +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 Droite +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 6 +Curseur survol 0 +Onglet dynamique Oui +Libellé volet FR: Nouvel onglet +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Retrait gauche 0 +Retrait des onglets 0 +06/08/2026 Batik 189 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Numéro aide 0 +Autorise ChangeGabarit Oui +Bouton Fermer Oui +Bouton Nouveau Non +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 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 190 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 191 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 192 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 193 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BtnRecherche +Image : CMOD_BtnRecherche.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Loupe_noire.svg +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 +06/08/2026 Batik 194 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_ConfigEcran +Image : CMOD_ConfigEcran.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\ConfigEcran.svg +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 +Bulle d'aide FR: Modifier l'affichage de l'écran +Numéro aide 0 +Opacité 100 +Ascenseur et zoom auto. Non +Autorise ChangeGabarit Oui +06/08/2026 Batik 195 + +Partie 3 › 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 +Texte Markdown Non +Mode menu ctx. <Aucun> +Mire visible Oui +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : ONG_Menu.CMOD_Onglet +Onglet : ONG_Menu.CMOD_Onglet.ONG_Onglet +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Onglet +Valeur initiale 1 +Ordre navigation 1 +Curseur survol 0 +Onglet dynamique Oui +Libellé volet FR: Nouvel onglet +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Retrait gauche 0 +Retrait des onglets 0 +Numéro aide 0 +Autorise ChangeGabarit Oui +Bouton Fermer Non +Bouton Nouveau Non +Volets détachables Non +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 +06/08/2026 Batik 196 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Swipe Non +Mode affichage volets < Standard > +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Nb. états image 1 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Recherche +Champ de saisie : CMOD_Recherche.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 489 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Texte d'indication si vide FR: Rechercher des dossiers, des clients,des contacts et des sites +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 +06/08/2026 Batik 197 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 198 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les champs +Champ Modèle de champs : CMOD_VisiteGuide +Image : CMOD_VisiteGuide.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\VisiteGuide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +FEN_Menu +Informations sur les menus +06/08/2026 Batik 199 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Informations sur les menus +Menu contextuel : 'MNU_Parametres' +Nom des options +OPT_ParamMetier (2) +OPT_Profils_Droits (3) +OPT_ParamDefaut (4) +OPT_Batigest (5) +OPT_ModeleMail (6) +OPT_ModeleRapport (7) +Libellé des options : Français +Paramètres métiers +Profils et droits +Réglages par défaut +Batigest +Éditeur de modèles de mails +Editeur de modeles de rapports +Menu contextuel : 'MNU_DocAide' +Nom des options +OPT_ModifDocAide (9) +Libellé des options : Français +Modifier Documentation +FEN_Menu +Code +Déclarations globales de FEN_Menu +procédure FEN_Menu() +MoiMême..Titre = cNomApp +//Palette_du_projet = FEN_Menu.PaletteRécupère() +ChargeTousLesElementsEssentiels() +tbaTableauAlias est un tableau associatif de chaînes ANSI +constante +cDisp_Param = 12 +fin +si EnModeTest() alors +06/08/2026 Batik 200 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Code +//ONG_Menu.ParamDev..Visible = vrai +fin +Maximise() +Fin d'initialisation de FEN_Menu +bDroitParam est un booléen = bDroit(cGestion_Param) +//DISP_Menu[cDisp_Param]..Visible = bDroitParam +FiltreTdB() +Filtrer() +si ThreadEtat("RecupererHistoModif")=threadInexistant alors +ThreadExécute("RecupererHistoModif",threadCopieLégèreContexteHFSQL,TH_RecupererHistoModif) +fin +Fermeture de FEN_Menu +FinProgramme() +FEN_Menu +Code des champs +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +06/08/2026 Batik 201 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_BtnRecherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BtnRecherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BtnRecherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BtnRecherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BtnRecherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BtnRecherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BtnRecherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_BtnRecherche ) +06/08/2026 Batik 202 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_BtnRecherche ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +RechercheGlobal(CMOD_Recherche.SAI_Texte) +A chaque modification de IMG_Icone ( CMOD_BtnRecherche ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_BtnRecherche ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_BtnRecherche ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_BtnRecherche ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ConfigEcran +06/08/2026 Batik 203 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ouvre(FEN_Tableau_Bord_Menu) +A chaque modification de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Recherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Recherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Recherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Recherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Recherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Recherche +06/08/2026 Batik 204 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Recherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Recherche ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Recherche ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Recherche ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Recherche ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Recherche ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 205 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Code des champs +ExécuteAncêtre +A chaque modification de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +FEN_Menu.ONG_Menu = TB +InitVisiteMenuPrincipal() +A chaque modification de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_MenuBTN +OuvrePopup(FEN_Menu_Items) +Sélection du menu de MNU_DocAide.OPT_ModifDocAide +OuvreModifDocAide() +Sélection du menu de MNU_Parametres.OPT_ModeleMail +Ouvre(FEN_Liste_Modele_Mails) +Sélection du menu de MNU_Parametres.OPT_ModeleRapport +Ouvre(FEN_Liste_Modele_Rapports) +Sélection du menu de MNU_Parametres.OPT_ParamMetier +06/08/2026 Batik 206 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Code des champs +Ouvre(FEN_Liste_Parametres_Metier) +Sélection du menu de MNU_Parametres.OPT_Profils_Droits +Ouvre(FEN_Liste_Roles) +Clic sur BTN_Etat +Ouvre(FEN_Etats) +Clic sur BTN_MaJDemo +Ouvre(FEN_MaJ_Donnees_Demo) +Clic sur BTN_MaJParam10 +Ouvre(FEN_Tableau_Bord_Menu) +Clic sur BTN_MaJParam5 +Ouvre(FEN_Tableau_Bord_Site) +Clic sur BTN_MaJParam6 +Ouvre(FEN_Tableau_Bord_Contact) +Clic sur BTN_MaJParam7 +Ouvre(FEN_Tableau_Bord_Client) +Clic sur BTN_MaJParam8 +Ouvre(FEN_Tableau_Bord_Intervention) +Clic sur BTN_MaJParam9 +Ouvre(FEN_MaJParemApp) +Initialisation de BTN_Test1 +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Test1 +OuvreFenOnglet("FI_TdB_Suivi_Temps","Suivi",IMG_Suivi..NomComplet) +Fin d'initialisation de CMOD_Onglet +06/08/2026 Batik 207 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Création d'un volet dans ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fermeture d'un volet de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modification du volet affiché de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Dossier +OuvreFenOnglet("FI_Liste_Dossier","Liste des dossier",FEN_Menu.IMG_Dossier..NomComplet) +Clic sur IMG_Temps_passe +06/08/2026 Batik 208 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Code des champs +//GenereMenuContextuelleDocAide() +FEN_Menu +Procédures +Procédure locale Filtrer +procédure Filtrer() +SectionCritiqueDébut("SC_TbElementsModifies") +pour tout saLib, saAliasO de tbaTableauAlias +ExécuteTraitement(saAliasO+".Filtrer",trtProcédure) +fin +SectionCritiqueFin("SC_TbElementsModifies") +Procédure locale FiltreTdB +procédure FiltreTdB() +ONG_Onglet..AffichageActif = Faux +tbaConfig est un tableau associatif (AvecDoublon) de chaînes ANSI = +CollaborateurEnCours:clUtilisateur:TdB_Fen_Menu() +saAliasO est une chaîne ANSI +TableauSupprimeTout(tbaTableauAlias) +pour tout saConfig, saCle de tbaConfig +saAliasO = OngletOuvre(ONG_Onglet,saCle,FI_TableauBordModelSansParam,saConfig,saCle) +si saAliasO <> "" alors +tbaTableauAlias[saAliasO] = saCle +fin +fin +ONG_Onglet..AffichageActif = Vrai +Procédure locale OuvreOptionMenu +procédure OuvreOptionMenu(saOption est une chaîne ANSI) +si FenEtat(FEN_Menu_Items) = Active alors +Ferme(FEN_Menu_Items) +fin +selon saOption +cas cFEN_Dossier +OuvreFenOnglet("FI_Liste_Dossier","Liste des dossier",FEN_Menu.IMG_Dossier..NomComplet) +cas cFEN_Client +OuvreFenOnglet("FI_Liste_Client","Liste des client",FEN_Menu.IMG_Client..NomComplet) +cas cFEN_Site +OuvreFenOnglet("FI_Liste_Site","Liste des sites",FEN_Menu.IMG_Site..NomComplet) +cas cFEN_Contact +OuvreFenOnglet("FI_Liste_Contact","Liste des contacts",FEN_Menu.IMG_Contact..NomComplet) +cas cFEN_Colb +OuvreFenOnglet("FI_Liste_Collaborateurs","Liste des collaborateurs",FEN_Menu.IMG_Collaborateur. +.NomComplet) +cas cFEN_Equipe +06/08/2026 Batik 209 + +Partie 3 › Fenêtre WINDEV › FEN_Menu › Procédures +OuvreFenOnglet("FI_Liste_Equipe","Liste des équipes",FEN_Menu.IMG_Equipe..NomComplet) +cas cFEN_Societe +OuvreFenOnglet("FI_Liste_Societes","Liste des sociétés",FEN_Menu.IMG_Societe..NomComplet) +autre cas +fin +06/08/2026 Batik 210 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Image +FEN_Agenda +Image +FEN_Agenda +Informations générales +FEN_Agenda +06/08/2026 Batik 211 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations générales +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Agenda.wdw +| Créé par | | SMR | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Date de création | | 04/06/2025 13:38:16 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 24/03/2026 16:54:13 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Agenda / Planning +| | 0 | | 0 | 1203 | 738 | +| --------------------- | ---------- | -------------------- | ------- | --------------- | --- | +| Position X | Position Y | | Largeur | Hauteur | | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | --- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| 06/08/2026 | | | Batik | | 212 | + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations générales +| 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 | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 3 | Bouton | | | 4 | +| --- | ---------------------- | --- | --- | ------------------------- | --- | --- | --- | +| | Image | | 12 | Combo | | | 1 | +| | Fenêtre interne | | 1 | Superchamp | | | 1 | +| | Champ Modèle de champs | | 17 | Case barre de message | | | 1 | +| | Bouton segmenté | | 1 | Option de bouton segmenté | | | 2 | +Nombre d'éléments dans la fenêtre : 43 +FEN_Agenda +Informations sur les champs +Fenêtre : FEN_Agenda +Fenêtre interne +BAT ehcuoT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| CFI_PLG | | -1 | 92 1202 | 591 | 0 | Actif | | +| ---------- | --- | --- | ------- | --- | --- | ----- | --- | +| 06/08/2026 | | | Batik | | | | 213 | + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Alerte | 7 | 50 39 | 38 | 0 | Actif | | +| ------------------ | ---- | -------- | --- | --- | ----- | --- | +| CMOD_Apres | 92 | 13 30 | 30 | 0 | Actif | | +| CMOD_Aujourdhui | 1091 | 8 106 | 35 | 0 | Actif | | +| CMOD_Avant | 54 | 13 30 | 30 | 0 | Actif | | +| CMOD_BordFen | 0 | -29 1066 | 29 | 0 | Actif | | +| CMOD_FiltreColb | 346 | 3 81 | 51 | 0 | Actif | | +| CMOD_Jour | 794 | 8 92 | 35 | 0 | Actif | | +| CMOD_Listes | 435 | 3 305 | 53 | 0 | Actif | | +| CMOD_ModifierDate | 7 | 5 39 | 38 | 0 | Actif | | +| CMOD_ModifierListe | 740 | 25 30 | 30 | 0 | Actif | | +| CMOD_Mois | 994 | 8 92 | 35 | 0 | Actif | | +| CMOD_MoisLib | 130 | 1 208 | 30 | 0 | Actif | | +| CMOD_ParamUser | 940 | 54 30 | 30 | 0 | Actif | | +| CMOD_Semaine | 894 | 8 92 | 35 | 0 | Actif | | +| CMOD_SemaineLib | 130 | 31 208 | 26 | 0 | Actif | | +| CMOD_TypePlanning | 983 | 50 214 | 39 | 0 | Actif | | +| CMOD_VisiteGuide | 902 | 54 30 | 30 | 0 | Actif | | +Champ Modèle de champs : CMOD_Alerte +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | laitini tatE | | sucof cevA | +| --- | --- | --- | --- | ------------ | --- | ---------- | +X noitisoP Y noitisoP +| | | ruegraL ruetuaH | | | cilc cevA | | +| --- | --- | --------------- | --- | --- | --------- | --- | +elbisiV +nalP +| IMG_Icone | 7 50 | 39 38 | 0 | Actif | | | +| --------- | ---- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Apres +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | ------- | ------- | ------------ | --------- | ---------- | +| | | ruetuaH | | | cilc cevA | | +| | | ruegraL | elbisiV | | | | +nalP +| IMG_Icone | 92 13 | 30 30 | 0 | Actif | | | +| ---------- | ----- | ----- | --- | ----- | --- | --- | +| 06/08/2026 | | Batik | | | | 214 | + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Champ Modèle de champs : CMOD_Aujourdhui +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Valider | 1091 | 8 | 106 | 35 | 0 | Actif | | Normal | +| ----------- | ---- | --- | --- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : CMOD_Avant +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | 54 | 13 | 30 | 30 | 0 | Actif | | | +| --------- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_BordFen +Superchamp +| | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --------------------- | --- | ------- | ------- | --- | ------------ | ---------- | +| | | X noitisoP Y noitisoP | | | | | | | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 1066 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | --- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_Libellé | 91 | -27 943 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | ----- | --- | ----- | ------ | ------ | --- | +| 06/08/2026 | | | Batik | | | | | 215 | + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › 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_AideFenetre | 1034 -26 | 28 23 | 0 | Actif | | +| -------------------------- | -------- | ----- | --- | ----- | --- | +| IMG_InformationAide | 61 -26 | 28 23 | 0 | Actif | | +| IMG_Logo_secondaire_violet | 2 -27 | 34 26 | 0 | Actif | | +| IMG_SombreClair | 38 -26 | 21 23 | 0 | Actif | | +Champ Modèle de champs : CMOD_FiltreColb +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | sucof cevA | +| --- | --------------------- | --- | --- | ------------ | ---------- | +ruetuaH cilc cevA +ruegraL +elbisiV +nalP +| IMG_Icone | 346 3 | 81 51 | 0 | Actif | | +| --------- | ----- | ----- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Jour +Bouton +BAT ehcuoT notuob epyT +laitini tatE +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Valider | 794 8 | 92 35 | 0 | Actif | Normal | +| ----------- | ----- | ----- | --- | ----- | ------ | +Champ Modèle de champs : CMOD_Listes +| 06/08/2026 | | Batik | | | 216 | +| ---------- | --- | ----- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › 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_Combo | 435 3 | 305 53 | 0 Actif | Mémoire | Non | | +| --------- | ----- | ------ | ------- | ------- | --- | --- | +Champ Modèle de champs : CMOD_ModifierDate +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | laitini tatE | sucof cevA | +| --- | --- | --------------------- | --- | --- | ------------ | ---------- | +ruetuaH cilc cevA +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| IMG_Icone | | 7 5 | 39 38 | 0 | Actif | | +| --------- | --- | --- | ----- | --- | ----- | --- | +Champ Modèle de champs : CMOD_ModifierListe +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | laitini tatE | sucof cevA | +| --- | --- | --------------------- | --- | --- | ------------ | ---------- | +ruetuaH cilc cevA +ruegraL +elbisiV +nalP +| IMG_Icone | | 740 25 | 30 30 | 0 | Actif | | +| --------- | --- | ------ | ----- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Mois +| 06/08/2026 | | | Batik | | | 217 | +| ---------- | --- | --- | ----- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Bouton +notuob epyT +| | | | | | | laitini tatE | BAT ehcuoT | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | --- | +| | X noitisoP | Y noitisoP | | | | | | | +| | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Valider | 994 | 8 | 92 | 35 | 0 | Actif | | Normal | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : CMOD_MoisLib +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | ---------- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | X noitisoP | | | | laitini tatE | | | FTR tamroF | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 130 1 | 208 | 30 | 0 | Actif | Gauche | Centre | | +| ------- | ----- | --- | --- | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_ParamUser +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | | +| | | ruegraL | | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | 940 | 54 | 30 | 30 | 0 | Actif | | | +| --------- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Semaine +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Valider | 894 | 8 | 92 | 35 | 0 | Actif | | Normal | +| ----------- | --- | --- | ----- | --- | --- | ----- | --- | ------ | +| 06/08/2026 | | | Batik | | | | | 218 | + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Champ Modèle de champs : CMOD_SemaineLib +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --------------------- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 130 31 | 208 26 | 0 Actif | Gauche | Centre | | +| ------- | ------ | ------ | ------- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_TypePlanning +Bouton segmenté +| | | | | | laitini tatE | BAT ehcuoT | +| --- | ---------- | ---------- | --- | --- | ------------ | ---------- | +| | X noitisoP | Y noitisoP | | | | | +ruegraL ruetuaH +elbisiV +nalP +| BS_Choix | 983 | 50 | 214 39 | 0 | Actif | | +| -------- | --- | --- | ------ | --- | ----- | --- | +Champ Modèle de champs : CMOD_VisiteGuide +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | laitini tatE | | | +| --- | ---------- | ---------- | ------- | ------------ | --------- | --- | +| | | ruegraL | ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | 902 | 54 30 | 30 0 | Actif | | | +| --------- | --- | ----- | ---- | ----- | --- | --- | +Fenêtre : FEN_Agenda +| 06/08/2026 | | Batik | | | | 219 | +| ---------- | --- | ----- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Fenêtre interne : CFI_PLG +Ordre navigation 18 +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> +Numéro aide 0 +Ascenseur auto. Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Swipe Non +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 21 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Alerte +Ordre navigation 14 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 220 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Champ Modèle de champs : CMOD_Apres +Groupe GR_BtnPeriode +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Aujourdhui +Groupe GR_Jours +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 221 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Champ Modèle de champs : CMOD_Avant +Groupe GR_BtnPeriode +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +06/08/2026 Batik 222 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Champ Modèle de champs : CMOD_FiltreColb +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Jour +Groupe GR_Jours +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 223 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Champ Modèle de champs : CMOD_Listes +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_ModifierDate +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 224 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Champ Modèle de champs : CMOD_ModifierListe +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Mois +Groupe GR_Jours +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 225 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Champ Modèle de champs : CMOD_MoisLib +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_ParamUser +Ordre navigation 17 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 226 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Champ Modèle de champs : CMOD_Semaine +Groupe GR_Jours +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SemaineLib +Ordre navigation 13 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 227 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Champ Modèle de champs : CMOD_TypePlanning +Ordre navigation 15 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_VisiteGuide +Ordre navigation 16 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 228 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Champ Modèle de champs : CMOD_Alerte +Image : CMOD_Alerte.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\rendezVousAlerte.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 229 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Champ Modèle de champs : CMOD_Apres +Image : CMOD_Apres.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\gauche_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 230 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Champ Modèle de champs : CMOD_Aujourdhui +Bouton : CMOD_Aujourdhui.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 231 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Champ Modèle de champs : CMOD_Avant +Image : CMOD_Avant.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\droite_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 232 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1066 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 233 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 234 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 +06/08/2026 Batik 235 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 +06/08/2026 Batik 236 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Ancrage Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_FiltreColb +Image : CMOD_FiltreColb.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\list-workers.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 237 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Champ Modèle de champs : CMOD_Jour +Bouton : CMOD_Jour.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 238 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Champ Modèle de champs : CMOD_Listes +Combo : CMOD_Listes.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 305 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 435 +Largeur interne 305 +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 +06/08/2026 Batik 239 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +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 Oui +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_ModifierDate +Image : CMOD_ModifierDate.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Planning_noire.svg +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> +06/08/2026 Batik 240 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Mire visible Oui +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_ModifierListe +Image : CMOD_ModifierListe.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\crayon_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 241 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Mois +Bouton : CMOD_Mois.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +06/08/2026 Batik 242 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_MoisLib +Libellé : CMOD_MoisLib.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 243 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Champ Modèle de champs : CMOD_ParamUser +Image : CMOD_ParamUser.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\configurationUser.svg +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 +Bulle d'aide FR: Configuration utilisateur +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 244 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Champ Modèle de champs : CMOD_Semaine +Bouton : CMOD_Semaine.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 245 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Champ Modèle de champs : CMOD_SemaineLib +Libellé : CMOD_SemaineLib.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 246 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Champ Modèle de champs : CMOD_TypePlanning +Bouton segmenté : CMOD_TypePlanning.BS_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Ordre navigation 1 +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é) +Espace entre options 4 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit 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 +Valeur persistante Non +Mode bouton segmenté Sélecteur +Texte Markdown Non +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 +Champ Modèle de champs : CMOD_VisiteGuide +06/08/2026 Batik 247 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Informations sur les champs +Image : CMOD_VisiteGuide.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\VisiteGuide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +FEN_Agenda +Messages multilingues +06/08/2026 Batik 248 +¹ +.ssem +°N +Message +2000 FR: Semaine %1 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Messages multilingues +¹ .ssem °N +Message +2001 FR: Semaine %1 +¹ N° mess. : numéro de message. +FEN_Agenda +Code +Déclarations globales de FEN_Agenda +procédure FEN_Agenda(tbaParametres est un tableau associatif de chaînes ANSI) +MoiMême..Alias = tbaParametres[cParam_Alias] +| gstPrefUserAGD | est un ST_ChoixAGD | | | +| --------------- | ------------------------------------- | --- | --- | +| gstChoixColbAgd | est un STPrefAgdPl | | | +| gtabIdColb | est un tableau d'entiers sur 8 octets | | | +gdhDateD est une DateHeure= PremierJourDeLaSemaine(DateSys()) +| gdhDateF est une DateHeure= gdhDateD | | | | +| ------------------------------------ | --- | --- | --- | +gdhDateF..Jour += 6 +| gnIdRvdSel | est un entier sur 8 octets | | | +| ----------------------------------- | -------------------------- | --- | --- | +| gbDeplacementEnCours est un booléen | | | | +gtaEnroulementRuptureest un tableau associatif (*, *, wlChaîne) de booléens +// Définit pour chaque ressource "rupture" l'état d'enroulement (Vrai/1 = déroulé : Faux/0 = enroulé) +| gtaRessourceFille est un tableau associatif de chaînes | | | | +| ------------------------------------------------------ | -------------- | --- | --- | +| gsRessourceAffichée | est une chaîne | | | +// Mémorise la ressource actuellement affichée pour repositionner le planning lors du rafraichissement +// /!\ Attention : ces variables doivent être modifiées en fonction des paramètres du champ Planning +| gnLargeurRessource | est un entier | = 120 | | +| ------------------ | ------------- | ----- | --- | +// Largeur de la zone de ressource +| gnHauteurJour | est un entier | = 60 | | +| ------------- | ------------- | ---- | --- | +CreaJourFerie() +| gtbaRendezVousAttente | est un tableau associatif de ST_InfoRDV | | | +| ---------------------- | --------------------------------------- | --- | --- | +constante +cJour = 1 +| cSemaine | = 2 | | | +| -------- | --- | --- | --- | +cMois = 3 +cChoixAgd = 1 +| cChoixPl | = 2 | | | +| -------- | --- | --- | --- | +fin +EEtatRessource est une Enumération +| ressErreur // Ressource inexistante ou non "rupture" | | | | +| ---------------------------------------------------- | --- | --- | --- | +ressEnroulée // Ressource déroulée +ressDéroulée // Ressource enroulée +fin +si HSurveille(RDV_Collaborateur,MAJHSurveille,hNumEnrTous,hsAjout+hsModification)= Faux alors +Erreur("Impossible d'activer la surveillance : ", HErreurInfo()) +fin +si CollaborateurEnCours:clUtilisateur:PreferencePlanning() = MParametreUtilisateur::cPlanning alors +CMOD_TypePlanning.BS_Choix = cChoixPl +| 06/08/2026 | | Batik | 249 | +| ---------- | --- | ----- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Code +sinon +CMOD_TypePlanning.BS_Choix = cChoixAgd +fin +si CMOD_TypePlanning.BS_Choix = cChoixPl alors +ChangeFenêtreSource(CFI_PLG,FI_Planning) +sinon +ChangeFenêtreSource(CFI_PLG,FI_Agenda) +fin +Maximise() +Fin d'initialisation de FEN_Agenda +FiltreListe() +PlanningPositionDateHeure(CFI_PLG.PLN_AGD,gdhDateD) +si tbaParametres[cParam_IdFen]..Existe = Vrai _et_ tbaParametres[cParam_IdFen] > 0 _et_ +HLitRecherchePremier(RDV_Planning,RV_PKID,Val(tbaParametres[cParam_IdFen])) alors +tbIDS est un tableau d'entiers sur 8 octets +dhDateDeb est une DateHeure +dhDateDeb..Année = 1000 +pour tout RDV_Collaborateur avec RVC_GUID_RDV=RDV_Planning.GUID +si RDV_Collaborateur.Archive = Faux _et_ RDV_Collaborateur.RVC_GUID_Colb <> "" _et_ +gtabListeCollaborateurs[RDV_Collaborateur.RVC_GUID_Colb]..Existe = Vrai alors +TableauAjoute(tbIDS,gtabListeCollaborateurs[RDV_Collaborateur.RVC_GUID_Colb].nPKID) +si RDV_Collaborateur.RVC_DateDeb <> Null _et_ DateValide(RDV_Collaborateur.RVC_DateDeb) +alors +dhDateDeb = RDV_Collaborateur.RVC_DateDeb +fin +fin +fin +si dhDateDeb..Année > 1000 alors +PlanningPositionDateHeure(CFI_PLG.PLN_AGD, dhDateDeb..PartieDate) +fin +InitChoixColb(tbIDS) +gnIdRvdSel = RDV_Planning.RV_PKID +Ouvre(FEN_Fiche_RDV,gnIdRvdSel) +sinon +InitChoixColb() +fin +Fermeture de FEN_Agenda +HSurveilleStop(RDV_Collaborateur,MAJHSurveille,hNumEnrTous) +FEN_Agenda +Code des champs +Fin d'initialisation de CMOD_Alerte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Alerte +06/08/2026 Batik 250 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Alerte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Alerte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Alerte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Alerte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Alerte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Alerte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Alerte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si gtbaRendezVousAttente..Occurrence > 0 alors +Ouvre(FEN_RDV_Attente,gtbaRendezVousAttente) +fin +A chaque modification de IMG_Icone ( CMOD_Alerte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Alerte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Alerte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Alerte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Apres +06/08/2026 Batik 251 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Apres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Apres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +PlanningAffichePériodeSuivante(CFI_PLG.PLN_AGD) +Filtre() +A chaque modification de IMG_Icone ( CMOD_Apres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Apres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Apres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Apres ) +06/08/2026 Batik 252 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Aujourdhui +salib = "Aujourd’hui" +Fin d'initialisation de CMOD_Aujourdhui +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Aujourdhui +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Aujourdhui +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Aujourdhui +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Aujourdhui +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Aujourdhui +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Aujourdhui +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Aujourdhui ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Aujourdhui ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +PlanningPositionDateHeure(CFI_PLG.PLN_AGD, DateDuJour()) +Filtre() +Fin d'initialisation de CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Avant +06/08/2026 Batik 253 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Avant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Avant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +PlanningAffichePériodePrécédente(CFI_PLG.PLN_AGD) +Filtre() +A chaque modification de IMG_Icone ( CMOD_Avant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Avant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Avant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Avant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +06/08/2026 Batik 254 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_FiltreColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_FiltreColb +06/08/2026 Batik 255 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_FiltreColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_FiltreColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_FiltreColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_FiltreColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_FiltreColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_FiltreColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_FiltreColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +RechercheColb() +A chaque modification de IMG_Icone ( CMOD_FiltreColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_FiltreColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_FiltreColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_FiltreColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Jour +06/08/2026 Batik 256 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Code des champs +salib = "Jour" +Fin d'initialisation de CMOD_Jour +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Jour +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Jour +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Jour +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Jour +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Jour +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Jour +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Jour ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +procédure interne MAJBtn_Jour() +CMOD_Jour.BTN_Valider..Enfoncé=PlanningMode(CFI_PLG.PLN_AGD)=plnModeJournée +fin +CFI_PLG.PLN_AGD..Traitement[trtChangementPériodePlanning]+=MAJBtn_Jour +Clic sur BTN_Valider ( CMOD_Jour ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +PlanningChangeMode(CFI_PLG.PLN_AGD,plnModeJournée) +Déclarations globales de CMOD_Listes +salib = "Listes" +Fin d'initialisation de CMOD_Listes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Listes +06/08/2026 Batik 257 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Listes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Listes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Listes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Listes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Listes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Listes ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Combo ( CMOD_Listes ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Listes ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Listes ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChoixColb() +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Listes ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_ModifierDate +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ModifierDate +06/08/2026 Batik 258 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ModifierDate +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ModifierDate +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ModifierDate +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ModifierDate +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ModifierDate +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_ModifierDate ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_ModifierDate ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ChoixDate() +A chaque modification de IMG_Icone ( CMOD_ModifierDate ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_ModifierDate ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_ModifierDate ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_ModifierDate ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_ModifierListe +06/08/2026 Batik 259 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ModifierListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ModifierListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ModifierListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ModifierListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ModifierListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ModifierListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_ModifierListe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_ModifierListe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Ouvre(FEN_Parametre_Liste_Colb_AGD) alors +nIdListe est un entier = CMOD_Listes.CMB_Combo +FiltreListe() +si nIdListe > 0 alors +CMOD_Listes.CMB_Combo = nIdListe +fin +InitChoixColb() +fin +A chaque modification de IMG_Icone ( CMOD_ModifierListe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_ModifierListe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_ModifierListe ) +06/08/2026 Batik 260 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_ModifierListe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Mois +salib = "Mois" +Fin d'initialisation de CMOD_Mois +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Mois +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Mois +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Mois +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Mois +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Mois +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Mois +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Mois ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +procédure interne MAJBtnMois() +CMOD_Mois.BTN_Valider..Enfoncé=PlanningMode(CFI_PLG.PLN_AGD)=plnModeMois +fin +CFI_PLG.PLN_AGD..Traitement[trtChangementPériodePlanning]+=MAJBtnMois +Clic sur BTN_Valider ( CMOD_Mois ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +PlanningChangeMode(CFI_PLG.PLN_AGD,plnModeMois) +Filtre() +Fin d'initialisation de CMOD_MoisLib +06/08/2026 Batik 261 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_MoisLib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_MoisLib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_MoisLib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_MoisLib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_MoisLib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_MoisLib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_MoisLib ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_MoisLib ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_ParamUser +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ParamUser +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ParamUser +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ParamUser +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 262 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ParamUser +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ParamUser +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ParamUser +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_ParamUser ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_ParamUser ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Ouvre(FEN_Parametres_Visualisation_RDV) alors +si BS_Choix = cChoixPl alors +ChangeFenêtreSource(CFI_PLG,FI_Planning) +sinon +ChangeFenêtreSource(CFI_PLG,FI_Agenda) +fin +FiltreListe() +InitChoixColb() +fin +A chaque modification de IMG_Icone ( CMOD_ParamUser ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_ParamUser ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_ParamUser ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_ParamUser ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Semaine +salib = "Semaine" +Fin d'initialisation de CMOD_Semaine +06/08/2026 Batik 263 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Semaine +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Semaine +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Semaine +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Semaine +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Semaine +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Semaine +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Semaine ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +procédure interne MAJBtnSemaine() +CMOD_Semaine.BTN_Valider..Enfoncé=PlanningMode(CFI_PLG.PLN_AGD)=plnModeSemaine +fin +CFI_PLG.PLN_AGD..Traitement[trtChangementPériodePlanning]+=MAJBtnSemaine +Clic sur BTN_Valider ( CMOD_Semaine ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +PlanningChangeMode(CFI_PLG.PLN_AGD,plnModeSemaine,7) +Filtre() +Fin d'initialisation de CMOD_SemaineLib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SemaineLib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SemaineLib +06/08/2026 Batik 264 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SemaineLib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SemaineLib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SemaineLib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SemaineLib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_SemaineLib ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_SemaineLib ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_TypePlanning +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TypePlanning +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TypePlanning +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TypePlanning +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TypePlanning +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TypePlanning +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 265 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Code des champs +ExécuteAncêtre +A chaque modification de CMOD_TypePlanning +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BS_Choix ( CMOD_TypePlanning ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de BS_Choix ( CMOD_TypePlanning ) +procédure OptionModifiée(IndiceOptionModifiée) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(IndiceOptionModifiée) +si IndiceOptionModifiée = cChoixPl alors +ChangeFenêtreSource(CFI_PLG,FI_Planning) +sinon +ChangeFenêtreSource(CFI_PLG,FI_Agenda) +fin +InitChoixColb() +Bouton gauche enfoncé (WM_LBUTTONDOWN) de BS_Choix ( CMOD_TypePlanning ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_VisiteGuide +06/08/2026 Batik 266 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitVisitePlanning() +A chaque modification de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +FEN_Agenda +Procédures +Procédure locale ChoixDate +procédure ChoixDate() +dDateDeb est une Date = Ouvre(FEN_Calendrier,gdhDateD) +si DateValide(dDateDeb) alors +selon PlanningMode(CFI_PLG.PLN_AGD) +cas plnModeJournée +PlanningPositionDateHeure(CFI_PLG.PLN_AGD, dDateDeb) +cas plnModeMois +PlanningPositionDateHeure(CFI_PLG.PLN_AGD, PremierJourDuMois(dDateDeb)) +cas plnModeSemaine +PlanningPositionDateHeure(CFI_PLG.PLN_AGD, PremierJourDeLaSemaine(dDateDeb)) +autre cas +fin +Filtre() +06/08/2026 Batik 267 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Procédures +fin +Procédure locale ColorieIndispoJour +procédure ColorieIndispoJour(nIdColb est un entier sur 8 octets, dhDateJour est une DateHeure, +saIdentifiant est une chaîne) +nJour est un entier = DateVersJour(dhDateJour..PartieDate) // 1 = lundi ... 7 = dimanche +// Début et fin de JOUR (0h ? 23:59:59.999) +| dhDebutJour est une DateHeure= dhDateJour | | | | | +| ----------------------------------------- | --- | --- | --- | --- | +dhDebutJour..PartieHeure = "000000000" +dhFinJour est une DateHeure = dhDateJour +dhFinJour..PartieHeure = "235959999" +// Sécurité +si nJour <= 0 ou nJour > gtabListeCollaborateurs[nIdColb].tbHoraires..Occurrence alors +retour +fin +si gtabListeCollaborateurs[nIdColb].tbHoraires[nJour].hHeureD = gtabListeCollaborateurs[nIdColb]. +tbHoraires[nJour].hHeureF et pas gtabListeCollaborateurs[nIdColb].tbHoraires[nJour].bConge alors +retour +fin +// Jour précédent +nJourAvant est un entier = nJour +si nJour = CLundi alors +nJourAvant = CDimanche +sinon +nJourAvant -= 1 +fin +// Raccourcis sur les structures horaires +stJour est ST_Horaire = gtabListeCollaborateurs[nIdColb].tbHoraires[nJour] +stJourAvant est ST_Horaire = gtabListeCollaborateurs[nIdColb].tbHoraires[nJourAvant] +si pas stJour.bConge alors +stJour.hHeureD..Heure -= 1 +fin +// LISTE DES PLAGES DE TRAVAIL POUR CE JOUR +// On n'aura au maximum que 2 plages (nuit de la veille + jour courant) +// ---- 1) Fin de nuit venant de la veille (22h?05h par ex) ---- +| bPlage1 | est un booléen | = Faux | | | +| ------------- | ----------------- | ------ | --- | --- | +| dhTrav1_Debut | est une DateHeure | | | | +| dhTrav1_Fin | est une DateHeure | | | | +si (stJourAvant.bConge = Faux) et (stJourAvant.hHeureD <> stJourAvant.hHeureF) et (stJourAvant.hHeureF +< stJourAvant.hHeureD) alors +// Nuit de la veille qui finit ce jour : [00:00 ; hHeureF de la veille] +| dhTrav1_Debut | | = dhDebutJour | | | +| ------------------------ | --------------------- | ------------- | --- | --- | +| dhTrav1_Fin | | = dhDateJour | | | +| dhTrav1_Fin..PartieHeure | = stJourAvant.hHeureF | | | | +| bPlage1 | | = Vrai | | | +fin +// ---- 2) Plage de travail du jour courant ---- +| bPlage2 | est un booléen | = Faux | | | +| ------------- | ----------------- | ------ | ----- | --- | +| dhTrav2_Debut | est une DateHeure | | | | +| dhTrav2_Fin | est une DateHeure | | | | +| 06/08/2026 | | | Batik | 268 | + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Procédures +si (stJour.bConge = Faux) et (stJour.hHeureD <> stJour.hHeureF) alors +// Horaire normal (ex : 08h?16h) +si stJour.hHeureF > stJour.hHeureD alors +dhTrav2_Debut = dhDateJour +dhTrav2_Debut..PartieHeure = stJour.hHeureD +dhTrav2_Fin = dhDateJour +dhTrav2_Fin..PartieHeure = stJour.hHeureF +bPlage2 = Vrai +sinon +// Horaire de nuit qui commence ce jour (ex : 22h?05h le lendemain) +// Sur ce jour, on ne prend que [hHeureD ; fin de jour] +dhTrav2_Debut = dhDateJour +dhTrav2_Debut..PartieHeure = stJour.hHeureD +dhTrav2_Fin = dhFinJour +bPlage2 = Vrai +fin +fin +// Maintenant, on a 0, 1 ou 2 plages de travail dans [dhDebutJour ; dhFinJour] +// On va construire des plages NON DISPONIBLES = complément de ces plages +// CAS 0 : aucune plage de travail ? toute la journée non disponible +si (bPlage1 = Faux) et (bPlage2 = Faux) alors +PeintGris(dhDebutJour, dhFinJour,saIdentifiant) +retour +fin +// Préparation liste des plages de travail (max 2) +tabDebutest un tableau de DateHeure +tabFin est un tableau de DateHeure +si bPlage1 alors +tabDebut.Ajoute(dhTrav1_Debut) +tabFin.Ajoute(dhTrav1_Fin) +fin +si bPlage2 alors +tabDebut.Ajoute(dhTrav2_Debut) +tabFin.Ajoute(dhTrav2_Fin) +fin +// Tri des plages par heure de début (si 2) +si tabDebut..Occurrence = 2 alors +si tabDebut[2] < tabDebut[1] alors +tempDebut est une DateHeure= tabDebut[1] +tempFin est une DateHeure= tabFin[1] +tabDebut[1] = tabDebut[2] +tabFin[1] = tabFin[2] +tabDebut[2] = tempDebut +tabFin[2] = tempFin +fin +fin +// Fusion si chevauchement +nOcc est un entier = tabDebut..Occurrence +si nOcc = 2 et tabDebut[2] <= tabFin[1] alors +// On fusionne en une seule plage +siFinMax est une DateHeure = tabFin[1] +06/08/2026 Batik 269 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Procédures +si tabFin[2] > siFinMax alors siFinMax = tabFin[2] +tabDebut[1] = tabDebut[1] +tabFin[1] = siFinMax +nOcc = 1 +fin +// Maintenant, nOcc = 1 ou 2, sans chevauchement +// 1) Non dispo AVANT la première plage +PeintGris(dhDebutJour, tabDebut[1],saIdentifiant) +// 2) Entre les plages si 2 plages +si nOcc = 2 alors +PeintGris(tabFin[1], tabDebut[2],saIdentifiant) +fin +// 3) Non dispo APRES la dernière plage +PeintGris(tabFin[nOcc], dhFinJour,saIdentifiant) +Procédure locale ColorieIndisponibilitesPlanning +procédure ColorieIndisponibilitesPlanning() +saIdentifiant est une chaîne ANSI +dhDateEnCours est une DateHeure +couleurP est une Couleur = RVB(82, 42, 155) +pour tout nIdColb de gtabIdColb +// Identifiant ressource du planning +saIdentifiant = "" +si CMOD_TypePlanning.BS_Choix = cChoixPl alors +saIdentifiant = "P" + ESC +fin +saIdentifiant += nIdColb +// Vérifier que le collaborateur existe et a bien 7 horaires +si gtabListeCollaborateurs[nIdColb]..Existe = Vrai _et_ +gtabListeCollaborateurs[nIdColb].tbHoraires..Occurrence >= 7 alors +// On s'assure que les horaires sont triés par nJour +TableauTrie(gtabListeCollaborateurs[nIdColb].tbHoraires, ttMembre, "nJour") +// Boucle sur les jours de la période +dhDateEnCours = gdhDateD +tantque dhDateEnCours..PartieDate <= gdhDateF..PartieDate +// Traite 1 jour pour ce collaborateur +ColorieIndispoJour(nIdColb, dhDateEnCours, saIdentifiant) +// Jour suivant +dhDateEnCours..Jour += 1 +fin +fin +dhDateEnCours = gdhDateD +tantque dhDateEnCours..PartieDate <= gdhDateF..PartieDate +si EstJourFerie(dhDateEnCours..PartieDate, nIdColb) alors +CFI_PLG.PLN_AGD.CouleurFond( +dhDateEnCours..PartieDate+"000000000", +dhDateEnCours..PartieDate+"235959999", +saIdentifiant, +RendreCouleurPlusClaire(Palette_du_projet["primary"],Vrai) +06/08/2026 Batik 270 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Procédures +) +//PeintGris(dhDateEnCours..PartieDate+"000000000", +dhDateEnCours..PartieDate+"235959999",saIdentifiant) +fin +// Jour suivant +dhDateEnCours..Jour += 1 +fin +fin +Procédure locale EstJourFerie +procédure EstJourFerie(local dUneDate est une Date, local nIdColb est un entier sur 8 octets) +si nIdColb <= 0 alors +renvoyer Faux +fin +si DateValide(dUneDate) _et_ gtabListeCollaborateurs[nIdColb]..Existe = Vrai _et_ +gtabListeCollaborateurs[nIdColb].IdSocPrincipal > 0 alors +nIdSoc est un entier sur 8 octets = gtabListeCollaborateurs[nIdColb].IdSocPrincipal +si gtabListeSocietes[nIdSoc]..Existe = Vrai _et_ gtabListeSocietes[nIdSoc].saParametres <> "" _et_ +... +gtabListeSocietes[nIdSoc].stParamSoc.tbDates..Occurrence > 0 alors +si TableauCherche(gtabListeSocietes[nIdSoc].stParamSoc.tbDates,tcLinéairePremier,dUneDate) > 0 +alors +renvoyer Vrai +fin +fin +sinon +renvoyer Faux +fin +renvoyer Faux +Procédure locale Filtre +procédure Filtre() +MaJDatesPLN() +CFI_PLG.FiltreRessources() +ColorieIndisponibilitesPlanning() +RDVEnAttente() +Procédure locale FiltreListe +procédure FiltreListe() +ListeSupprimeTout(CMOD_Listes.CMB_Combo) +nIdDefaut est un entier sur 8 octets +gstPrefUserAGD = CollaborateurEnCours:clUtilisateur:stParametresAGD +pour tout stPref de gstPrefUserAGD.tabListe +si stPref.nId > 0 alors +ListeAjoute(CMOD_Listes.CMB_Combo,stPref.sNom+gValeurMémorisée(stPref.nId)) +si stPref.bParDefaut alors +nIdDefaut = stPref.nId +fin +fin +fin +06/08/2026 Batik 271 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Procédures +si nIdDefaut > 0 alors +CMOD_Listes.CMB_Combo = nIdDefaut +fin +Procédure locale InitChoixColb +procédure InitChoixColb(tabIDS est un tableau d'entiers sur 8 octets = Null) +gstChoixColbAgd.nId = 0 +gstChoixColbAgd.sNom = "" +gstChoixColbAgd.bAffichageParEq = Faux +TableauSupprimeTout(gstChoixColbAgd.tabColb) +TableauSupprimeTout(gstChoixColbAgd.tabEquipe) +gbDeplacementEnCours = Faux +TableauSupprimeTout(gtaEnroulementRupture) +TableauSupprimeTout(gtaRessourceFille) +gsRessourceAffichée = "" +stColb est un STItemChoix +si tabIDS <> Null _et_ tabIDS..Occurrence > 0 alors +pour tout nId de tabIDS +stColb.nId = nId +TableauAjoute(gstChoixColbAgd:tabColb,stColb) +fin +sinon +si CMOD_Listes.CMB_Combo > 0 alors +npos est un entier = TableauCherche(gstPrefUserAGD:tabListe,tcLinéaire,"nID", CMOD_Listes. +CMB_Combo) +si npos > 0 alors +gstChoixColbAgd = gstPrefUserAGD:tabListe[npos] +fin +fin +fin +Filtre() +Procédure locale JourConges +procédure JourConges() +saIdentifiant est une chaîne ANSI +dhDateEnCours est une DateHeure +dhDateAvant est une DateHeure +dhDateApres est une DateHeure +nJour est un entier +nJourAvant est un entier +nJourApres est un entier +pour tout nIdColb de gtabIdColb +si gtabListeCollaborateurs[nIdColb]..Existe = Vrai _et_ gtabListeCollaborateurs[nIdColb].tbHoraires +..Occurrence > 0 alors +TableauTrie(gtabListeCollaborateurs[nIdColb].tbHoraires,ttMembre,"nJour") +dhDateEnCours = gdhDateD +saIdentifiant = "" +si CMOD_TypePlanning.BS_Choix = cChoixPl alors +saIdentifiant = "P"+ESC +fin +saIdentifiant+= nIdColb +boucle +nJour = DateVersJour(dhDateEnCours..PartieDate) +nJourAvant = nJour +nJourApres = nJour +dhDateAvant = dhDateEnCours +06/08/2026 Batik 272 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Procédures +dhDateApres = dhDateEnCours +si nJour > 0 _et_ nJour <= gtabListeCollaborateurs[nIdColb].tbHoraires..Occurrence alors +si nJour = CLundi alors +nJourAvant = CDimanche +sinon +nJourAvant -= 1 +fin +si nJour = CDimanche alors +nJourApres = CLundi +sinon +nJourApres += 1 +fin +si pas gtabListeCollaborateurs[nIdColb].tbHoraires[nJour].bConge alors +si gtabListeCollaborateurs[nIdColb].tbHoraires[nJourAvant].bConge alors +dhDateAvant..PartieHeure = "000001000" +sinon +si gtabListeCollaborateurs[nIdColb].tbHoraires[nJourAvant].hHeureF > +gtabListeCollaborateurs[nIdColb].tbHoraires[nJourAvant].hHeureD alors +dhDateAvant..PartieHeure = gtabListeCollaborateurs[nIdColb].tbHoraires[ +nJourAvant].hHeureF +sinon si gtabListeCollaborateurs[nIdColb].tbHoraires[nJourAvant].hHeureF <> +gtabListeCollaborateurs[nIdColb].tbHoraires[nJourAvant].hHeureD alors +// horaire de nuit +dhDateAvant..Jour -= 1 +dhDateAvant..PartieHeure = gtabListeCollaborateurs[nIdColb].tbHoraires[ +nJourAvant].hHeureF +sinon +dhDateAvant..PartieHeure = "000001000" +fin +fin +si gtabListeCollaborateurs[nIdColb].tbHoraires[nJourApres].bConge alors +dhDateApres..PartieHeure = "235959000" +sinon +si gtabListeCollaborateurs[nIdColb].tbHoraires[nJourApres].hHeureF > +gtabListeCollaborateurs[nIdColb].tbHoraires[nJourApres].hHeureD alors +dhDateApres..PartieHeure = gtabListeCollaborateurs[nIdColb].tbHoraires[ +nJourApres].hHeureD +sinon si gtabListeCollaborateurs[nIdColb].tbHoraires[nJourApres].hHeureF <> +gtabListeCollaborateurs[nIdColb].tbHoraires[nJourApres].hHeureD alors +// horaire de nuit +dhDateApres..Jour += 1 +dhDateApres..PartieHeure = gtabListeCollaborateurs[nIdColb].tbHoraires[ +nJourApres].hHeureD +sinon +dhDateApres..PartieHeure = "235959000" +fin +fin +sinon +si gtabListeCollaborateurs[nIdColb].tbHoraires[nJour].hHeureD <> +gtabListeCollaborateurs[nIdColb].tbHoraires[nJour].hHeureF alors +si gtabListeCollaborateurs[nIdColb].tbHoraires[nJourAvant].bConge alors +dhDateAvant..PartieHeure = "000001000" +sinon +si gtabListeCollaborateurs[nIdColb].tbHoraires[nJourAvant].hHeureF > +gtabListeCollaborateurs[nIdColb].tbHoraires[nJourAvant].hHeureD alors +dhDateAvant..PartieHeure = gtabListeCollaborateurs[nIdColb]. +tbHoraires[nJourAvant].hHeureF +sinon si gtabListeCollaborateurs[nIdColb].tbHoraires[nJourAvant].hHeureF +06/08/2026 Batik 273 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Procédures +<> gtabListeCollaborateurs[nIdColb].tbHoraires[nJourAvant].hHeureD alors // horaire de nuit +dhDateAvant..Jour -= 1 +dhDateAvant..PartieHeure = gtabListeCollaborateurs[nIdColb]. +tbHoraires[nJourAvant].hHeureF +sinon +dhDateAvant..PartieHeure = "000001000" +fin +fin +si gtabListeCollaborateurs[nIdColb].tbHoraires[nJourApres].bConge alors +dhDateApres..PartieHeure = "235959000" +sinon +si gtabListeCollaborateurs[nIdColb].tbHoraires[nJourApres].hHeureF > +gtabListeCollaborateurs[nIdColb].tbHoraires[nJourApres].hHeureD alors +dhDateApres..PartieHeure = gtabListeCollaborateurs[nIdColb]. +tbHoraires[nJourApres].hHeureD +sinon si gtabListeCollaborateurs[nIdColb].tbHoraires[nJourApres].hHeureF +<> gtabListeCollaborateurs[nIdColb].tbHoraires[nJourApres].hHeureD alors +// horaire de nuit +dhDateApres..Jour += 1 +dhDateApres..PartieHeure = gtabListeCollaborateurs[nIdColb]. +tbHoraires[nJourApres].hHeureD +sinon +dhDateApres..PartieHeure = "235959000" +fin +fin +fin +fin +si gtabListeCollaborateurs[nIdColb].tbHoraires[nJour].bConge alors +CFI_PLG.PLN_AGD.CouleurFond( +dhDateAvant, // début = jour +dhDateEnCours..PartieDate+"000001000", // fin = même jour ? toute la journée +saIdentifiant, // ressource (collaborateur) +iGrisClair // fond gris clair +) +CFI_PLG.PLN_AGD.CouleurFond( +dhDateEnCours..PartieDate+"235959000", // début = jour +dhDateApres, // fin = même jour ? toute la journée +saIdentifiant, // ressource (collaborateur) +iGrisClair // fond gris clair +) +sinon si gtabListeCollaborateurs[nIdColb].tbHoraires[nJour].hHeureD <> +gtabListeCollaborateurs[nIdColb].tbHoraires[nJour].hHeureF alors +si gtabListeCollaborateurs[nIdColb].tbHoraires[nJour].hHeureF > +gtabListeCollaborateurs[nIdColb].tbHoraires[nJour].hHeureD alors +CFI_PLG.PLN_AGD.CouleurFond( +dhDateAvant, // début = jour +dhDateEnCours..PartieDate+gtabListeCollaborateurs[nIdColb].tbHoraires[nJour]. +hHeureD, // fin = même jour ? toute la journée +saIdentifiant, // ressource (collaborateur) +iGrisClair // fond gris clair +) +CFI_PLG.PLN_AGD.CouleurFond( +dhDateEnCours..PartieDate+gtabListeCollaborateurs[nIdColb].tbHoraires[nJour]. +hHeureF, // début = jour +dhDateApres, // fin = même jour ? toute la journée +saIdentifiant, // ressource (collaborateur) +iGrisClair // fond gris clair +) +sinon +06/08/2026 Batik 274 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Procédures +CFI_PLG.PLN_AGD.CouleurFond( +dhDateAvant, // début = jour +dhDateEnCours..PartieDate+gtabListeCollaborateurs[nIdColb].tbHoraires[nJour]. +hHeureD, // fin = même jour ? toute la journée +saIdentifiant, // ressource (collaborateur) +iGrisClair // fond gris clair +) +dhDateNuit est une DateHeure = dhDateEnCours +dhDateNuit..Jour += 1 +dhDateNuit..PartieHeure = gtabListeCollaborateurs[nIdColb].tbHoraires[nJour]. +hHeureF +CFI_PLG.PLN_AGD.CouleurFond( +dhDateNuit, // début = jour +dhDateApres, // fin = même jour ? toute la journée +saIdentifiant, // ressource (collaborateur) +iGrisClair // fond gris clair +) +fin +fin +fin +si dhDateEnCours = gdhDateF alors +sortir +fin +dhDateEnCours..Jour += 1 +fin +fin +fin +Procédure locale MaJDatesPLN +procédure MaJDatesPLN() +gdhDateD..PartieDate = PlanningPositionDateHeure(CFI_PLG.PLN_AGD,agDateDébut) +gdhDateF..PartieDate = PlanningPositionDateHeure(CFI_PLG.PLN_AGD,agDateFin) +gdhDateF..Jour += 1 +gdhDateD..PartieHeure = "000000000" +gdhDateF..PartieHeure = "000000000" +CMOD_MoisLib.LIB_lib = DateVersChaîne(gdhDateD, "Mmmm AAAA") +CMOD_SemaineLib.LIB_lib ="Semaine "+ NuméroDeSemaine(gdhDateD, iso8601) +Procédure locale MAJHSurveille +procédure MAJHSurveille(sdFichierDeDonnées est une Source de Données, nNuméroEnregistrement est un +entier, nAction est un entier <utile>) +si HLit(sdFichierDeDonnées, nNuméroEnregistrement) = Faux alors +Erreur("Impossible de lire l'enregistrement notifié comme ajouté :", HErreurInfo()) +retour +fin +MaJDatesPLN() +RDV est un Enregistrement de RDV_Collaborateur = sdFichierDeDonnées +nIdRdv est un entier sur 8 octets = RDV.RVC_PKID +nIdColb est un entier sur 8 octets +si gtabListeCollaborateurs[RDV.RVC_GUID_Colb]..Existe = Vrai _et_ gtabListeCollaborateurs[RDV. +06/08/2026 Batik 275 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Procédures +RVC_GUID_Colb].nPKID > 0 alors +nIdColb = gtabListeCollaborateurs[RDV.RVC_GUID_Colb].nPKID +fin +//On vérifie si on est concerné par le rendez-vous +tbRdv est un tableau de RendezVous +tbRdv=PlanningListeRendezVous(CFI_PLG.PLN_AGD) +indice est un entier=TableauCherche(tbRdv,tcLinéaire,"Lieu",nIdRdv,1) +saIDentifiant est une chaîne ANSI +si CMOD_TypePlanning.BS_Choix = cChoixPl alors +saIDentifiant = "P"+ESC +fin +si indice > 0 _ou_ (nIdColb > 0 _et_ TableauCherche(gtabIdColb,tcLinéairePremier,nIdColb) > 0 _et_ RDV. +RVC_DateDeb >= gdhDateD _et_ RDV.RVC_DateFin <= gdhDateF) alors +selon nAction +cas 1 +// Traite l'enregistrement +tabIdsColb est un tableau d'entiers sur 8 octets +TableauAjoute(tabIdsColb,nIdColb) +// # A mettre identifiant +PlanningChargeRDVS(CFI_PLG.PLN_AGD..NomComplet,gstPrefUserAGD,tabIdsColb,gdhDateD,gdhDateF +,saIDentifiant,nIdRdv) +cas 2 +si RDV.Archive=1 _et_ indice > 0 alors +PlanningSupprimeRendezVous(CFI_PLG.PLN_AGD,indice) +sinon +si indice > 0 alors +//Modification de la date d'un rendez-vous , il ne dois plus être visible +si pas ( RDV.RVC_DateDeb >= gdhDateD _et_ RDV.RVC_DateFin <= gdhDateF) alors +PlanningSupprimeRendezVous(CFI_PLG.PLN_AGD,indice) +sinon +tabIdsColb est un tableau d'entiers sur 8 octets +TableauAjoute(tabIdsColb,nIdColb) +sRqSql est une chaîne ANSI = PlanningRqSQL(gstPrefUserAGD,gtabIdColb,gdh +DateD,gdhDateF, nIdRdv) +sdRDVs est une Source de Données +si sRqSql <> "" _et_ pas HExécuteRequêteSQL(sdRDVs,hRequêteDéfaut,sRqSql) +alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","MAJHSurveille_Planning") +sinon +pour tout sdRDVs +nIdRdvCours est un entier sur 8 octets +si nIdRdvCours <> sdRDVs.RVC_PKID alors +nIdRdvCours = sdRDVs.RVC_PKID +PlanningRempliObjRDV(tbRdv[indice], sdRDVs,gstPrefUserAGD) +fin +fin +fin +fin +sinon +//Modification de la date d'un rendez-vous +tabIdsColb est un tableau d'entiers sur 8 octets +TableauAjoute(tabIdsColb,nIdColb) +PlanningChargeRDVS(FEN_Agenda.CFI_PLG.PLN_AGD..NomComplet,gstPrefUserAGD, +tabIdsColb,gdhDateD,gdhDateF,saIDentifiant,nIdRdv) +fin +fin +06/08/2026 Batik 276 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Procédures +autre cas +fin +fin +RDVEnAttente() +Procédure locale OuvreFicheRDV +procédure OuvreFicheRDV(rdvCréé est un RendezVous = Null) +si CFI_PLG.PLN_AGD=0 ou rdvCréé <> Null alors +nIdColb est un entier sur 8 octets = Val(Remplace(CFI_PLG.PLN_AGD..RessourceSélectionnée,[ +ESC,"P","K"],"")) +dhDateDeb est une DateHeure +dhDateFin est une DateHeure +si nIdColb < 0 _et_ gtabListeCollaborateurs[nIdColb]..Existe = Faux alors +renvoyer Faux +fin +si rdvCréé <> Null alors +dhDateDeb = rdvCréé..DateDébut +dhDateFin = rdvCréé..DateFin +sinon +dhDateDeb = CFI_PLG.PLN_AGD..DateDébut +dhDateFin = CFI_PLG.PLN_AGD..DateFin +fin +oRdv est un MRDV_Colb +oRdv.dhDateDeb = dhDateDeb +oRdv.dhDateFin = dhDateFin +oRdv.saGUID_Colb = gtabListeCollaborateurs[nIdColb].saGUID +si tbaParametres[Intervention.IN_PKID..Nom]..Existe = Vrai _et_ Val(tbaParametres[Intervention. +IN_PKID..Nom]) > 0 alors +si Ouvre(FEN_Fiche_RDV,0,oRdv,Val(tbaParametres[Intervention.IN_PKID..Nom])) alors +TableauSupprime(tbaParametres,Intervention.IN_PKID..Nom) +fin +sinon +Ouvre(FEN_Fiche_RDV,0,oRdv) +fin +sinon +si gnIdRvdSel > 0 alors +Ouvre(FEN_Fiche_RDV,gnIdRvdSel) +fin +fin +renvoyer Faux +Procédure locale PeintGris +procédure PeintGris(dhDebut est une DateHeure, dhFin est une DateHeure, saIdentifiant est une chaîne +ANSI) +// On découpe aussi par la plage globale gdhDateD / gdhDateF +si dhFin <= dhDebut alors retour +si dhFin <= gdhDateD alors retour +si dhDebut >= gdhDateF alors retour +si dhDebut < gdhDateD alors dhDebut = gdhDateD +06/08/2026 Batik 277 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Procédures +si dhFin > gdhDateF alors dhFin = gdhDateF +si dhFin <= dhDebut alors retour +CFI_PLG.PLN_AGD.CouleurFond( +dhDebut, +dhFin, +saIdentifiant, +iGrisClair +) +Procédure locale RDVEnAttente +procédure RDVEnAttente() +Sablier(Vrai) +odST_RDV est un ST_InfoRDV dynamique +odUnColb est un MRDV_Colb dynamique +tbIdSoc est un tableau d'entiers sur 8 octets = CollaborateurEnCours.tbSocietes +si CollaborateurEnCours.IdSocPrincipal > 0 alors +TableauAjoute(CollaborateurEnCours.tbSocietes,CollaborateurEnCours.IdSocPrincipal) +fin +tbGuids est un tableau de chaînes ANSI +pour tout nIdC de gtabIdColb +si nIdC > 0 _et_ gtabListeCollaborateurs[nIdC]..Existe _et_ gtabListeCollaborateurs[nIdC].saGUID <> +"" alors +TableauAjoute(tbGuids,gtabListeCollaborateurs[nIdC].saGUID) +fin +fin +TableauSupprimeTout(gtbaRendezVousAttente) +reqSansColb est une Requête SQL = +[ +SELECT RDV_Planning.*, RDV_Planning.GUID AS rv_guid, RDV_Collaborateur.* +FROM RDV_Planning +LEFT JOIN RDV_Collaborateur ON (RVC_GUID_RDV = RDV_Planning.GUID AND RDV_Collaborateur.Archive = 0) +WHERE +(RDV_Planning.RV_IdSociete IN ({p_IdSoc}) OR RDV_Planning.RV_IdSociete = 0) +AND RDV_Planning.Archive = 0 +AND ( +RVC_PKID IS NULL +OR RVC_PKID <= 0 +OR RVC_DateDeb IS NULL +OR RVC_DateFin IS NULL +OR RVC_DateDeb = '' +OR RVC_DateFin = '' +OR RVC_DateDeb = RVC_DateFin +) +ORDER BY RVC_DateDeb ASC +] +reqSansColb.p_IdSoc = TableauVersChaîne(tbIdSoc,";") +si tbIdSoc..Occurrence > 0 alors +si pas HExécuteRequêteSQL(reqSansColb) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue lors de la recherche des rendez-vous en attente", +"FEN_Agenda.RDVEnAttente") +sinon +06/08/2026 Batik 278 + +Partie 3 › Fenêtre WINDEV › FEN_Agenda › Procédures +pour tout reqSansColb +si (DateValide(reqSansColb.RVC_DateDeb..PartieDate) _et_... +reqSansColb.RVC_DateDeb..PartieDate >= gdhDateD..PartieDate _et_... +reqSansColb.RVC_DateDeb..PartieDate <= gdhDateF..PartieDate)... +ou (DateValide(reqSansColb.RV_Date) _et_... +reqSansColb.RV_Date >= gdhDateD..PartieDate _et_... +reqSansColb.RV_Date <= gdhDateF..PartieDate)... +ou (pas DateValide(reqSansColb.RVC_DateDeb..PartieDate) _et_ pas DateValide( +reqSansColb.RV_Date)) alors +si gtbaRendezVousAttente[reqSansColb.rv_guid]..Existe = Faux alors +odST_RDV = allouer un ST_InfoRDV +FichierVersMémoire(odST_RDV.oRdv,reqSansColb) +odST_RDV.oRdv.saGUID = reqSansColb.rv_guid +si DateValide(reqSansColb.RVC_DateDeb..PartieDate) alors +odST_RDV.oRdv.dDateRdv = reqSansColb.RVC_DateDeb..PartieDate +fin +gtbaRendezVousAttente[odST_RDV.oRdv.saGUID]= odST_RDV +fin +si gtbaRendezVousAttente[reqSansColb.rv_guid]..Existe = Vrai _et_ reqSansColb.RVC_PKID +> 0 alors +odUnColb = allouer un MRDV_Colb +FichierVersMémoire(odUnColb,reqSansColb) +TableauAjoute(gtbaRendezVousAttente[odST_RDV.oRdv.saGUID].tbColbs,odUnColb) +fin +fin +fin +fin +fin +si gtbaRendezVousAttente..Occurrence > 0 alors +CMOD_Alerte..Visible = Vrai +sinon +CMOD_Alerte..Visible = Faux +fin +Sablier(fauxToutSablier) +Procédure locale RechercheColb +procédure RechercheColb() +tbIdColbs est un tableau d'entiers sur 8 octets +tbIdColbs = Ouvre(FEN_Choix_Colbs,tbIdColbs,Vrai) +si tbIdColbs..Occurrence > 0 alors +InitChoixColb(tbIdColbs) +fin +06/08/2026 Batik 279 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Image +FEN_MaJParemApp +Image +FEN_MaJParemApp +Informations générales +FEN_MaJParemApp +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_MaJParemApp.wdw +Créé par SMR +Date de création 10/06/2025 08:15:39 +Dernière modification par susana@applilogik.fr +Date dernière modification 31/03/2026 16:11:11 +Titre FR: Mise à jour les paramètres de l'application +Type fenêtre Fenêtre libre +06/08/2026 Batik 280 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations générales +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| ------------------------ | ------------ | ----------------------------- | --------- | --------------- | --- | +| Position X | 0 Position Y | | 0 Largeur | 1059 Hauteur | 594 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | --- | --- | --- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| 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 +| 06/08/2026 | | | Batik | | 281 | +| ---------- | --- | --- | ----- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations générales +| Compact. barres outils | | Non | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 3 | Bouton | | 35 | +| --- | ---------------------- | --- | --- | --------------------- | --- | --- | +| | Image | | 4 | Superchamp | | 3 | +| | Champ Modèle de champs | | 1 | Case barre de message | | 1 | +Nombre d'éléments dans la fenêtre : 47 +FEN_MaJParemApp +Informations sur les champs +Fenêtre : FEN_MaJParemApp +Bouton +BAT ehcuoT notuob epyT +laitini tatE +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Adresse | | 494 60 | 157 50 | 0 | Actif | Normal | +| --------------- | --- | ------- | ------- | --- | ----- | ------ | +| BTN_Etats | | 494 118 | 157 50 | 0 | Actif | Normal | +| BTN_GUID_CR | | 821 113 | 196 59 | 0 | Actif | Normal | +| BTN_ListeRubDoc | | 14 60 | 258 50 | 0 | Actif | Normal | +| BTN_ParamMetier | | 14 118 | 258 50 | 0 | Actif | Normal | +| BTN_Profils | | 280 118 | 206 50 | 0 | Actif | Normal | +| BTN_RDV | | 821 4 | 196 108 | 0 | Actif | Normal | +| BTN_RepDoc | | 280 60 | 206 50 | 0 | Actif | Normal | +| BTN_Utilisateur | | 659 60 | 154 108 | 0 | Actif | Normal | +| BTN_VisuRDV | | 14 10 | 258 42 | 0 | Actif | Normal | +| 06/08/2026 | | | Batik | | | 282 | + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_GUIDs | | 520 | 176 | 427 | 359 | 0 | Actif | | +| -------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +| SC_ParamMetier | | 14 | 176 | 498 | 359 | 0 | Actif | | +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | --- | ------- | --- | ------------ | --- | +| | | | ruegraL | | ruetuaH | | | | +elbisiV +nalP +| CMOD_BordFen | | 0 | -29 | 913 | 29 | 0 | Actif | | +| ------------ | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : SC_GUIDs +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Tables | 536 | 185 396 | 78 | 0 | Actif | Centre | Centre | | +| ---------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | ---------- | --- | --- | --- | --- | ------------ | ---------- | ----------- | +| | X noitisoP | | | | | laitini tatE | | | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_GUIDAdresse | 530 | 271 | 152 | 42 | 0 | Actif | | Normal | +| ---------------- | --- | --- | ----- | --- | --- | ----- | --- | ------ | +| BTN_GUIDClient | 530 | 321 | 152 | 42 | 0 | Actif | | Normal | +| BTN_GUIDColb | 530 | 371 | 152 | 42 | 0 | Actif | | Normal | +| BTN_GUIDDossier | 530 | 421 | 152 | 42 | 0 | Actif | | Normal | +| BTN_GUIDInter | 693 | 371 | 152 | 42 | 0 | Actif | | Normal | +| BTN_GUIDLieu | 693 | 421 | 152 | 42 | 0 | Actif | | Normal | +| BTN_GUIDPersonne | 693 | 271 | 152 | 42 | 0 | Actif | | Normal | +| BTN_GUIDRDV | 530 | 474 | 152 | 42 | 0 | Actif | | Normal | +| BTN_GUIDSDT | 693 | 474 | 152 | 51 | 0 | Actif | | Normal | +| BTN_GUIDSociete | 693 | 321 | 152 | 42 | 0 | Actif | | Normal | +| 06/08/2026 | | | Batik | | | | | 283 | + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Superchamp : SC_ParamMetier +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | --- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_Tables | 65 | 185 396 | 78 | 0 | Actif | Centre | Centre | | +| ---------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Action | 27 | 275 | 152 | 42 | 0 | Actif | | Normal | +| --------------- | --- | --- | --- | --- | --- | ----- | --- | ------ | +| BTN_CR | 27 | 475 | 152 | 42 | 0 | Actif | | Normal | +| BTN_Client | 27 | 325 | 152 | 42 | 0 | Actif | | Normal | +| BTN_ClientAd | 27 | 375 | 152 | 42 | 0 | Actif | | Normal | +| BTN_Colb | 27 | 425 | 152 | 42 | 0 | Actif | | Normal | +| BTN_Doc | 187 | 475 | 152 | 42 | 0 | Actif | | Normal | +| BTN_Dossier | 187 | 275 | 152 | 42 | 0 | Actif | | Normal | +| BTN_EtatInter | 187 | 325 | 152 | 42 | 0 | Actif | | Normal | +| BTN_Inter | 187 | 375 | 152 | 42 | 0 | Actif | | Normal | +| BTN_InterPerso | 187 | 425 | 152 | 42 | 0 | Actif | | Normal | +| BTN_Lieu | 347 | 425 | 152 | 42 | 0 | Actif | | Normal | +| BTN_LieuPerso | 347 | 475 | 152 | 42 | 0 | Actif | | Normal | +| BTN_Personne | 347 | 275 | 152 | 42 | 0 | Actif | | Normal | +| BTN_PlanningRDV | 347 | 325 | 152 | 42 | 0 | Actif | | Normal | +| BTN_SuiviTemps | 347 | 375 | 152 | 42 | 0 | Actif | | Normal | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +laitini tatE +| | | X noitisoP Y noitisoP | | | | | | | +| --- | --- | --------------------- | ------- | --- | ------- | --- | --- | --- | +| | | | ruegraL | | ruetuaH | | | | +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 913 | 30 | 0 | Actif | | +| ----------- | --- | --- | ----- | --- | --- | --- | ----- | --- | +| 06/08/2026 | | | Batik | | | | | 284 | + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --------------------- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_Libellé | 91 -27 | 790 25 | 0 Actif | Gauche | Centre | | +| ----------- | ------ | ------ | ------- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------------ | --------- | ---------- | +| | | ruegraL | ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 881 | -26 28 | 23 0 | Actif | | | +| -------------------------- | --- | ------ | ---- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 28 | 23 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 34 | 26 0 | Actif | | | +| IMG_SombreClair | 38 | -26 21 | 23 0 | Actif | | | +Fenêtre : FEN_MaJParemApp +Bouton : BTN_Adresse +| Libellé | FR: Mise à jour des adresses | | | | | | +| -------------------------- | ----------------------------------- | ----- | --- | --- | --- | --- | +| 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 | | | | | | +| 06/08/2026 | | Batik | | | | 285 | + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › 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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : BTN_Etats +Libellé FR: Mise à jour des états +Ordre navigation 11 +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> +Nb. états image 1 +Nb. états fond 1 +06/08/2026 Batik 286 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : BTN_GUID_CR +Libellé FR: MaJ du GUID Rdv dans la table CompteRendus +Ordre navigation 8 +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é) +Bulle d'aide FR: CR_GUID_RDV +La mise à jour de la nouvelle table des rendez-vous doit être effectuée avant +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 287 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : BTN_ListeRubDoc +Libellé FR: Création ou recréation de rubriques +utilisée dans les documents +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 288 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : BTN_ParamMetier +Libellé FR: Mise à jour des paramètres métier +(Création de clé paramètre / catégories) +Ordre navigation 9 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 289 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : BTN_Profils +Libellé FR: Mise à jour des profil +(Création de profil, et accès) +Ordre navigation 10 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 290 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : BTN_RDV +Libellé FR: Copier les RDV dans le nouveau fichier +(Le GUID Suivi de temps / personne / RDV doivent avoir été préalablement mis à jour) +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é) +Bulle d'aide FR: Copier les RDV dans le nouveau fichier +Planning_RDV => Rdv_Planning +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 291 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : BTN_RepDoc +Libellé FR: Mise à jour de la structure du chemin de documents intervention +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 292 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : BTN_Utilisateur +Libellé FR: Utilisateur => Id Rôle +(Les Rôles et accès doivent avoir été +préalablement mis à jour) +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é) +Bulle d'aide FR: UT_IdRole => Id nouvelle table Rôle (Profil) +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 293 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : BTN_VisuRDV +Libellé FR: Param Visualisation RDV +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é) +Bulle d'aide FR: Changement dans le rubriques +PL_Objet => RV_Objet +PL_Description => RV_Description +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 294 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Superchamp : SC_GUIDs +Ordre navigation 13 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Largeur externe 425 +Hauteur externe 357 +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 +06/08/2026 Batik 295 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Superchamp : SC_ParamMetier +Ordre navigation 12 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Largeur externe 496 +Hauteur externe 357 +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 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 913 +Hauteur externe 30 +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 +06/08/2026 Batik 296 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Source de remplissage Table chargée en mémoire +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 297 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 +06/08/2026 Batik 298 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 299 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Taux anc. droite 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_GUIDs +06/08/2026 Batik 300 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : SC_GUIDs.BTN_GUIDAdresse +Libellé FR: Adresse +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 301 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : SC_GUIDs.BTN_GUIDClient +Libellé FR: Client +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 302 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : SC_GUIDs.BTN_GUIDColb +Libellé FR: Collaborateur +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é) +Bulle d'aide FR: +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 303 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : SC_GUIDs.BTN_GUIDDossier +Libellé FR: Dossier +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 +Mode ellipse <Aucun> +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Type flèche <Aucun> +Texte Markdown Non +Mode menu ctx. <Aucun> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 304 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : SC_GUIDs.BTN_GUIDInter +Libellé FR: Intervention +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 305 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : SC_GUIDs.BTN_GUIDLieu +Libellé FR: Lieu +Ordre navigation 8 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 306 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : SC_GUIDs.BTN_GUIDPersonne +Libellé FR: Personne +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 307 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : SC_GUIDs.BTN_GUIDRDV +Libellé FR: RDV +Ordre navigation 9 +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é) +Bulle d'aide FR: GUID RDV +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 308 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : SC_GUIDs.BTN_GUIDSDT +Libellé FR: Suivi des temps +(RDV en premier) +Ordre navigation 10 +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é) +Bulle d'aide FR: GUID RDV +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 309 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : SC_GUIDs.BTN_GUIDSociete +Libellé FR: Société +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 310 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Libellé : SC_GUIDs.LIB_Tables +Libellé FR: Mise à jour des tables +(GUID) +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 Tenir compte du cadrage +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_ParamMetier +Bouton : SC_ParamMetier.BTN_Action +Libellé FR: Action +Ordre navigation 1 +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 +06/08/2026 Batik 311 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +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é) +Bulle d'aide FR: AC_CleTypeAction +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : SC_ParamMetier.BTN_CR +Libellé FR: Compte rendu +Ordre navigation 13 +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é) +Bulle d'aide FR: CR_CleTypeSignataire +Numéro aide 0 +06/08/2026 Batik 312 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : SC_ParamMetier.BTN_Client +Libellé FR: Client +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é) +Bulle d'aide FR: CL_CleType +CL_CleStatut +CL_CleApporteur +CL_CleApporteurOrigine +CL_CleModeReglement +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Animer si trop long Non +Animée par défaut Oui +Mode ellipse <Aucun> +06/08/2026 Batik 313 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › 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 +Type flèche <Aucun> +Texte Markdown Non +Mode menu ctx. <Aucun> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : SC_ParamMetier.BTN_ClientAd +Libellé FR: Client adresse +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é) +Bulle d'aide FR: CA_CleType +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> +Nb. états image 1 +Nb. états fond 1 +06/08/2026 Batik 314 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : SC_ParamMetier.BTN_Colb +Libellé FR: Collaborateur +Ordre navigation 10 +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é) +Bulle d'aide FR: CO_CleCivilite +CO_IDStatut +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 315 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : SC_ParamMetier.BTN_Doc +Libellé FR: Document +Ordre navigation 14 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Non +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Retrait gauche 0 +Réduction Ruban Ne pas réduire le bouton +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Bulle d'aide FR: DC_CleCategorie +DC_CleEtatDoc +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 316 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : SC_ParamMetier.BTN_Dossier +Libellé FR: Dossier +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é) +Bulle d'aide FR: DO_CleType +DO_CleStatut +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 317 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : SC_ParamMetier.BTN_EtatInter +Libellé FR: État intervention +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é) +Bulle d'aide FR: EI_CleEtat +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 318 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : SC_ParamMetier.BTN_Inter +Libellé FR: Intervention +Ordre navigation 8 +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é) +Bulle d'aide FR: IN_CleType +IN_CleEtat +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 319 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : SC_ParamMetier.BTN_InterPerso +Libellé FR: Intervention personne +Ordre navigation 11 +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é) +Bulle d'aide FR: IP_CleRole +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 320 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : SC_ParamMetier.BTN_Lieu +Libellé FR: Lieu +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é) +Bulle d'aide FR: LI_CleType +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 321 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : SC_ParamMetier.BTN_LieuPerso +Libellé FR: Lieu personne +Ordre navigation 15 +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é) +Bulle d'aide FR: LIP_CleRole +LIP_CleType +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 322 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : SC_ParamMetier.BTN_Personne +Libellé FR: Personne +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é) +Bulle d'aide FR: PE_CleCivilite +PE_Role +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 323 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : SC_ParamMetier.BTN_PlanningRDV +Libellé FR: Planning rdv +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é) +Bulle d'aide FR: PL_CleType +PL_CleStatut +PL_CleOrigineAnnu +PL_CleMotifAnnu +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 324 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Bouton : SC_ParamMetier.BTN_SuiviTemps +Libellé FR: Suivi des temps +Ordre navigation 9 +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é) +Bulle d'aide FR: SDT_CleType +SDT_CleTypeRDV +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 325 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Informations sur les champs +Libellé : SC_ParamMetier.LIB_Tables +Libellé FR: Mise à jour des tables +(Les paramètres doivent avoir été préalablement mis à jour) +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 Tenir compte du cadrage +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_MaJParemApp +Code +Déclarations globales de FEN_MaJParemApp +procédure FEN_MaJParemApp() +FEN_MaJParemApp +Code des champs +Initialisation de BTN_Adresse +06/08/2026 Batik 326 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Code des champs +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Adresse +MaJAdresse() +Initialisation de BTN_Etats +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Etats +bOk est un booléen = Vrai +MaJEtats(bOk) +si bOk alors +BTN_Etats..Grisé = Vrai +Info("Traitement terminée") +fin +Initialisation de BTN_GUID_CR +// Version 1 +// Description +// Bouton simple +Clic sur BTN_GUID_CR +si CompteRenduRdv() alors +BTN_GUID_CR..Grisé = Vrai +fin +Initialisation de BTN_ListeRubDoc +// Version 1 +// Description +// Bouton simple +Clic sur BTN_ListeRubDoc +si CreationRubDoc() alors +BTN_ListeRubDoc..Grisé = Vrai +Info("Traitement fini") +fin +Initialisation de BTN_ParamMetier +06/08/2026 Batik 327 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Code des champs +// Version 1 +// Description +// Bouton simple +Clic sur BTN_ParamMetier +MaJTousParamMetier() +Initialisation de BTN_Profils +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Profils +MaJProfils() +Initialisation de BTN_RDV +// Version 1 +// Description +// Bouton simple +Clic sur BTN_RDV +saQuestion est une chaîne ANSI = [ +Attention : cette opération ne doit être effectuée qu’une seule fois lors de la mise en place de la +nouvelle version. +Dans le cas contraire, veuillez supprimer toutes les données des tables : RDV_Planning, +RDV_Collaborateur et RDV_Contact. +Souhaitez-vous continuer ? +] +si OuiNon(saQuestion) = Oui alors +CopierRDVNouveauFichier() +fin +Initialisation de BTN_RepDoc +// Version 1 +// Description +// Bouton simple +Clic sur BTN_RepDoc +Ouvre(FEN_Parametre_Structure_Chemin_Doc) +Initialisation de BTN_Utilisateur +06/08/2026 Batik 328 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Code des champs +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Utilisateur +MaJRoleUser() +Initialisation de BTN_VisuRDV +// Version 1 +// Description +// Bouton simple +Clic sur BTN_VisuRDV +si ParmVisuRDV() alors +BTN_VisuRDV..Grisé = Vrai +fin +Fin d'initialisation de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +06/08/2026 Batik 329 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Code des champs +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Initialisation de BTN_GUIDAdresse ( SC_GUIDs ) +// Version 1 +// Description +// Bouton simple +Clic sur BTN_GUIDAdresse ( SC_GUIDs ) +MaJGUID(MoiMême..Nom) +Initialisation de BTN_GUIDClient ( SC_GUIDs ) +// Version 1 +// Description +// Bouton simple +Clic sur BTN_GUIDClient ( SC_GUIDs ) +MaJGUID(MoiMême..Nom) +Initialisation de BTN_GUIDColb ( SC_GUIDs ) +// Version 1 +// Description +// Bouton simple +Clic sur BTN_GUIDColb ( SC_GUIDs ) +MaJGUID(MoiMême..Nom) +Initialisation de BTN_GUIDDossier ( SC_GUIDs ) +06/08/2026 Batik 330 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Code des champs +// Version 1 +// Description +// Bouton simple +Clic sur BTN_GUIDDossier ( SC_GUIDs ) +MaJGUID(MoiMême..Nom) +Initialisation de BTN_GUIDInter ( SC_GUIDs ) +// Version 1 +// Description +// Bouton simple +Clic sur BTN_GUIDInter ( SC_GUIDs ) +MaJGUID(MoiMême..Nom) +Initialisation de BTN_GUIDLieu ( SC_GUIDs ) +// Version 1 +// Description +// Bouton simple +Clic sur BTN_GUIDLieu ( SC_GUIDs ) +MaJGUID(MoiMême..Nom) +Initialisation de BTN_GUIDPersonne ( SC_GUIDs ) +// Version 1 +// Description +// Bouton simple +Clic sur BTN_GUIDPersonne ( SC_GUIDs ) +MaJGUID(MoiMême..Nom) +Initialisation de BTN_GUIDRDV ( SC_GUIDs ) +// Version 1 +// Description +// Bouton simple +Clic sur BTN_GUIDRDV ( SC_GUIDs ) +06/08/2026 Batik 331 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Code des champs +MaJGUID(MoiMême..Nom) +Initialisation de BTN_GUIDSDT ( SC_GUIDs ) +// Version 1 +// Description +// Bouton simple +Clic sur BTN_GUIDSDT ( SC_GUIDs ) +MaJGUID_RDV_Colb() +Initialisation de BTN_GUIDSociete ( SC_GUIDs ) +// Version 1 +// Description +// Bouton simple +Clic sur BTN_GUIDSociete ( SC_GUIDs ) +MaJGUID(MoiMême..Nom) +Initialisation de BTN_Action ( SC_ParamMetier ) +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Action ( SC_ParamMetier ) +MaJTables(MoiMême..Nom) +Initialisation de BTN_Client ( SC_ParamMetier ) +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Client ( SC_ParamMetier ) +MaJTables(MoiMême..Nom) +Initialisation de BTN_ClientAd ( SC_ParamMetier ) +06/08/2026 Batik 332 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Code des champs +// Version 1 +// Description +// Bouton simple +Clic sur BTN_ClientAd ( SC_ParamMetier ) +MaJTables(MoiMême..Nom) +Initialisation de BTN_Colb ( SC_ParamMetier ) +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Colb ( SC_ParamMetier ) +MaJTables(MoiMême..Nom) +Initialisation de BTN_CR ( SC_ParamMetier ) +// Version 1 +// Description +// Bouton simple +Clic sur BTN_CR ( SC_ParamMetier ) +MaJTables(MoiMême..Nom) +Initialisation de BTN_Doc ( SC_ParamMetier ) +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Doc ( SC_ParamMetier ) +MaJTables(MoiMême..Nom) +Initialisation de BTN_Dossier ( SC_ParamMetier ) +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Dossier ( SC_ParamMetier ) +06/08/2026 Batik 333 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Code des champs +MaJTables(MoiMême..Nom) +Initialisation de BTN_EtatInter ( SC_ParamMetier ) +// Version 1 +// Description +// Bouton simple +Clic sur BTN_EtatInter ( SC_ParamMetier ) +MaJTables(MoiMême..Nom) +Initialisation de BTN_Inter ( SC_ParamMetier ) +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Inter ( SC_ParamMetier ) +MaJTables(MoiMême..Nom) +Initialisation de BTN_InterPerso ( SC_ParamMetier ) +// Version 1 +// Description +// Bouton simple +Clic sur BTN_InterPerso ( SC_ParamMetier ) +MaJTables(MoiMême..Nom) +Initialisation de BTN_Lieu ( SC_ParamMetier ) +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Lieu ( SC_ParamMetier ) +MaJTables(MoiMême..Nom) +Initialisation de BTN_LieuPerso ( SC_ParamMetier ) +06/08/2026 Batik 334 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Code des champs +// Version 1 +// Description +// Bouton simple +Clic sur BTN_LieuPerso ( SC_ParamMetier ) +MaJTables(MoiMême..Nom) +Initialisation de BTN_Personne ( SC_ParamMetier ) +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Personne ( SC_ParamMetier ) +MaJTables(MoiMême..Nom) +Initialisation de BTN_PlanningRDV ( SC_ParamMetier ) +// Version 1 +// Description +// Bouton simple +Clic sur BTN_PlanningRDV ( SC_ParamMetier ) +MaJTables(MoiMême..Nom) +Initialisation de BTN_SuiviTemps ( SC_ParamMetier ) +// Version 1 +// Description +// Bouton simple +Clic sur BTN_SuiviTemps ( SC_ParamMetier ) +MaJTables(MoiMême..Nom) +FEN_MaJParemApp +Procédures +Procédure locale CompteRenduRdv +06/08/2026 Batik 335 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +procédure CompteRenduRdv() +reqModif est une Requête SQL = +[ +UPDATE CompteRendu, Planning_RDV, RDV_Collaborateur +SET CompteRendu.CR_GUID_Rdv = RDV_Collaborateur.RVC_GUID_RDV +WHERE Planning_RDV.PL_PKID = CompteRendu.CR_IDRdv +AND RDV_Collaborateur.GUID = Planning_RDV.GUID +] +si pas HExécuteRequêteSQL(reqModif) alors +Erreur("Erreur dans la mise à jour GUID_RDV de la table Compte rendus",HErreurInfo(hErrComplet)) +renvoyer Faux +sinon +renvoyer Vrai +fin +Procédure locale CopierRDVNouveauFichier +procédure CopierRDVNouveauFichier() +tbaRDVs est un tableau associatif de MRDV_Planning +si pas RqRDVIndividuelle(tbaRDVs) alors +si OuiNon("Voulez-vous continuer ?") = Non alors +renvoyer Faux +fin +fin +si pas RqRDVGroupe(tbaRDVs) alors +si OuiNon("Voulez-vous continuer ?") = Non alors +renvoyer Faux +fin +fin +si pas RqRDVPlusieursJours(tbaRDVs) alors +si OuiNon("Voulez-vous continuer ?") = Non alors +renvoyer Faux +fin +fin +si pas RqRDVGroupeDate(tbaRDVs) alors +si OuiNon("Voulez-vous continuer ?") = Non alors +renvoyer Faux +fin +fin +si tbaRDVs..Occurrence > 0 alors +si OuiNon(tbaRDVs..Occurrence+" rendez-vous vont être crées , voulez-vous continuer ?") = Non alors +renvoyer Faux +fin +Sablier(Vrai) +si CreationRdv(tbaRDVs) alors +Sablier(fauxToutSablier) +BTN_RDV..Grisé = Vrai +Info("Traitement terminée") +fin +Sablier(fauxToutSablier) +fin +Procédure locale CreationRdv +06/08/2026 Batik 336 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +procédure CreationRdv(tbaRDVs est un tableau associatif de MRDV_Planning) +sdReq est une Source de Données +///************ RDV ***********************************// +saReqInsert est une chaîne ANSI = +[ +insert into RDV_Planning +(RV_IdSociete, RV_IdDossier, RV_IdInter, RV_CleType, RV_CleStatut, RV_Objet, RV_Description, +RV_IdLieu, rv_sav, RV_CleOrigineAnnu, RV_CleMotifAnnu, RV_RappelSMS, CreationDate, CreationUser, +ModifDate, ModifUser, GUID, RV_PlusieursJours,RV_Groupe,RV_Date) +values +] +saValeurs est une chaîne ANSI +dUneDDeb est une Date +pour tout oUnRdv de tbaRDVs +TableauTrie(oUnRdv.tbaColbs, ttMembre, "dhDateDeb") +pour tout clOUnColbRdv de oUnRdv.tbaColbs +dUneDDeb = clOUnColbRdv.dhDateDeb..PartieDate +sortir +fin +si saValeurs <> "" alors +saValeurs +="," +fin +saValeurs += "("+oUnRdv.nIDSociete+","+oUnRdv.nIDDossier+","+oUnRdv.nIDIntervention+",'"+oUnRdv. +saCleType+"','"+oUnRdv.saCleStatut+"','"+StrSQL(oUnRdv.saObjet)+"','" +saValeurs += StrSQL(oUnRdv.saDescription)+"',"+oUnRdv.nIDLieu+","+oUnRdv.bSAV+",'"+oUnRdv. +saCleOrigineAnnu+"','"+oUnRdv.saCleMotifAnnu+"'," +saValeurs += oUnRdv.bRappelSMS+",'"+oUnRdv.dhCreation+"',"+oUnRdv.nCreationUser+",'"+oUnRdv. +dhModification+"',"+oUnRdv.nModifUser+",'" +saValeurs += oUnRdv.saGUID+"',"+oUnRdv.bPlusieursJours+","+oUnRdv.bGroupe+",'"+dUneDDeb+"')" +fin +saReqInsert += " "+saValeurs +si pas HExécuteRequêteSQL(sdReq,hVérifieDoublon+hVérifieIntégrité,saReqInsert) alors +Erreur("Une erreur s'est produite, les rendez-vous n'ont pas pu être créer" + RC + HErreurInfo()) +si OuiNon("Voulez-vous continuer ?") = Non alors +renvoyer Faux +fin +fin +///*********************** Collaborateurs ****************************// +saReqInsertColb est une chaîne ANSI = +[ +INSERT INTO RDV_Collaborateur (RVC_GUID_RDV, RVC_GUID_Colb, RVC_DateDeb, RVC_DateFin, +RVC_CleStatut, RVC_TempsValide,RVC_DateExport,GUID,RVC_CR,RVC_Superposable) VALUES +] +saValeursColb est une chaîne ANSI +pour tout oUnRdv de tbaRDVs +pour tout oColb de oUnRdv.tbaColbs +si saValeursColb <> "" alors +saValeursColb +="," +fin +saValeursColb += "('"+oUnRdv.saGUID+"','"+oColb.saGUID_Colb+"','"+oColb.dhDateDeb+"','"+oColb. +dhDateFin+"','"+oColb.saCleStatut+"'," +saValeursColb += oColb.bTempsValide+",'"+oColb:dhDateExport+"','"+oColb.saGUID+"',"+oColb:bCR+ +","+oColb.bSuperposable+")" +fin +fin +saReqInsertColb += " "+saValeursColb +06/08/2026 Batik 337 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +si pas HExécuteRequêteSQL(sdReq,hVérifieDoublon+hVérifieIntégrité,saReqInsertColb) alors +Erreur("Une erreur s'est produite, les rendez-vous-collaborateurs n'ont pas pu être créer" + RC + +HErreurInfo()) +si OuiNon("Voulez-vous continuer ?") = Non alors +renvoyer Faux +fin +fin +///******************************* Contact ******************************// +saReqInsertCnt est une chaîne ANSI = +[ +INSERT INTO RDV_Contact (GUID,RVCT_GUID_Pers,RVCT_GUID_RDV) VALUES +] +saValeursCnt est une chaîne ANSI +pour tout oUnRdv de tbaRDVs +pour tout oCtc de oUnRdv.tbaContacts +si saValeursCnt <> "" alors +saValeursCnt +="," +fin +saValeursCnt += "('"+oCtc.saGUID+"','"+oCtc.saGUID_Pers+"','"+oUnRdv:saGUID+"')" +fin +fin +saReqInsertCnt += " "+saValeursCnt +si pas HExécuteRequêteSQL(sdReq,hVérifieDoublon+hVérifieIntégrité,saReqInsertCnt) alors +Erreur("Une erreur s'est produite, les rendez-vous-Contact n'ont pas pu être créer" + RC + +HErreurInfo()) +si OuiNon("Voulez-vous continuer ?") = Non alors +renvoyer Faux +fin +fin +renvoyer Vrai +Procédure locale CreationRubDoc +procédure CreationRubDoc() +si HSupprimeTout(RubriquesDocument) alors +saJson est une chaîne ANSI = DonneJsonAvecRubBase() +si saJson = "" alors +renvoyer Faux +fin +bufJson est un Buffer = saJson +tbRubs est un tableau de STJSON_MembreRubChamps +Désérialise(tbRubs,bufJson,psdJSON) +pour tout Rub de tbRubs +HRAZ(RubriquesDocument) +RubriquesDocument.RD_Nom = Rub.Nom +RubriquesDocument.RD_Rubrique = Rub.Rubrique +RubriquesDocument.RD_TypeMembre = Rub.TypeMembre +RubriquesDocument.RD_MasqueSaisie = Rub.MasqueSaisie +RubriquesDocument.RD_EnvoiMob = Rub.EnvoiMob +RubriquesDocument.RD_BD = Rub.bd +RubriquesDocument.RD_Modifiable = Rub.Modifiable +RubriquesDocument.RD_Groupe = Rub.GroupeApp +06/08/2026 Batik 338 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +RubriquesDocument.RD_Ordre = Rub.Ordre +RubriquesDocument.RD_MembreMob = Rub.MembreMob +si HEnregistre(RubriquesDocument) alors +si Rub.ListeMembre..Occurrence > 0 alors +nIdParent est un entier sur 8 octets = RubriquesDocument.RD_PKID +pour tout stMembre de Rub.ListeMembre +HRAZ(RubriquesDocument) +RubriquesDocument.RD_Nom = stMembre.Nom +RubriquesDocument.RD_Rubrique = stMembre.Rubrique +RubriquesDocument.RD_TypeMembre = stMembre.TypeMembre +RubriquesDocument.RD_MasqueSaisie = stMembre.MasqueSaisie +RubriquesDocument.RD_EnvoiMob = stMembre.EnvoiMob +RubriquesDocument.RD_BD = stMembre.BD +RubriquesDocument.RD_Modifiable = stMembre.Modifiable +RubriquesDocument.RD_Groupe = stMembre.GroupeApp +RubriquesDocument.RD_Ordre = stMembre.Ordre +RubriquesDocument.RD_MembreMob = stMembre.MembreMob +RubriquesDocument.RD_IdRubParent = nIdParent +si pas HEnregistre(RubriquesDocument) alors +Erreur("Erreur dans la mise à jour des rubriques document",HErreurInfo( +hErrComplet)) +renvoyer Faux +fin +fin +fin +sinon +Erreur("Erreur dans la mise à jour des rubriques document",HErreurInfo(hErrComplet)) +renvoyer Faux +fin +fin +sinon +Erreur("Erreur dans la mise à jour des rubriques document",HErreurInfo(hErrComplet)) +renvoyer Faux +fin +renvoyer Vrai +Procédure locale DonneJsonAvecRubBase +procédure DonneJsonAvecRubBase() +saJson est une chaîne ANSI = [ +[{ "Nom": "Réf. interne", +"Rubrique": "$REFINTERNE$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 1, +"MembreMob": "IN_RefInterne", +"EnvoiMob":0, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "INTER" +},{ +"Nom": "Titre de l'intervention", +"Rubrique": "$TITREINTERV$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 2, +"MembreMob": "IN_Titre", +"EnvoiMob":0, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "INTER" +06/08/2026 Batik 339 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +},{ +"Nom": "Date de la demande", +"Rubrique": "$DATEDEMANDE$", +"TypeMembre": "ChpSimpleDate", +"Ordre": 3, +"MembreMob": "IN_CreationDate", +"EnvoiMob":0, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "JJ/MM/AAAA", +"GroupeApp": "INTER" +},{ +"Nom": "Société", +"Rubrique": "$SOCIETE$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 4, +"MembreMob": "SO_Nom", +"EnvoiMob":0, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "INTER" +},{ +"Nom": "N° devis", +"Rubrique": "$NUMDEVIS$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 5, +"MembreMob": "IN_NumDevis", +"EnvoiMob":0, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "INTER" +},{ +"Nom": "Date devis", +"Rubrique": "$DATEDEVIS$", +"TypeMembre": "ChpSimpleDate", +"Ordre": 6, +"MembreMob": "IN_DateDevis", +"EnvoiMob":0, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "JJ/MM/AAAA", +"GroupeApp": "INTER" +},{ +"Nom": "N° facture", +"Rubrique": "$NUMFACT$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 7, +"MembreMob": "IN_NumFacture", +"EnvoiMob":0, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "INTER" +},{ +"Nom": "Date facture", +"Rubrique": "$DATEFACT$", +"TypeMembre": "ChpSimpleDate", +"Ordre": 8, +"MembreMob": "IN_DateFacture", +"EnvoiMob":0, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "JJ/MM/AAAA", +"GroupeApp": "INTER" +06/08/2026 Batik 340 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +},{ +"Nom": "Suivi par", +"Rubrique": "$SUIVIPAR$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 9, +"MembreMob": "IN_CO_Nom", +"EnvoiMob":0, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "INTER" +},{ +"Nom": "Type d'intervention", +"Rubrique": "$TYPEINTERV$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 10, +"MembreMob": "IN_PA_Type", +"EnvoiMob":0, +"BD":0, +"Modifiable":0, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "INTER" +},{ +"Nom": "Réf. externe", +"Rubrique": "$REFEXTERNE$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 11, +"MembreMob": "IN_RefExterne", +"EnvoiMob":0, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "INTER" +},{ +"Nom": "Nom", +"Rubrique": "$DESCRIPTION$", +"TypeMembre": "ChpSimpleRTF", +"Ordre": 12, +"MembreMob": "IN_Description", +"EnvoiMob":0, +"BD":1, +"Modifiable":0, +"GroupeApp": "INTER" +},{ +"Nom": "Site", +"Rubrique": "$CODESITE$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 13, +"MembreMob": "LI_CodeLieu", +"EnvoiMob":0, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "INTER" +},{ +"Nom": "Adresse Site", +"Rubrique": "$ADRESSESITE$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 14, +"MembreMob": "LI_Adresse", +"EnvoiMob":0, +"BD":0, +"Modifiable":0, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "INTER" +},{ +06/08/2026 Batik 341 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +"Nom": "Code d'accès", +"Rubrique": "$CODEACCESSITE$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 15, +"MembreMob": "LI_CodeAcces", +"EnvoiMob":0, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "INTER" +},{ +"Nom": "Durée prévue", +"Rubrique": "$DUREEPREVUE$", +"TypeMembre": "ChpSimpleReel", +"Ordre": 16, +"MembreMob": "IN_DureePrevue", +"EnvoiMob":0, +"BD":1, +"Modifiable":0, +"GroupeApp": "INTER" +},{ +"Nom": "Nom du client", +"Rubrique": "$NOMCLIENT$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 21, +"MembreMob": "CL_Nom", +"EnvoiMob":0, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "INTER" +},{ +"Nom": "Adresse du client", +"Rubrique": "$ADRESSECLIENT$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 22, +"MembreMob": "AD_Presentation", +"EnvoiMob":0, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "INTER" +},{ +"Nom": "Rdv débuté le", +"Rubrique": "$UNRDV.DATEDEBUT$", +"TypeMembre": "ChpSimpleDateHeure", +"Ordre": 24, +"MembreMob": "saDateDebut", +"EnvoiMob":1, +"BD":0, +"Modifiable":0, +"MasqueSaisie" : "JJ/MM/AAAA HH:mm", +"GroupeApp": "RDV_INTER" +},{ +"Nom": "Rdv fini le", +"Rubrique": "$UNRDV.DATEFIN$", +"TypeMembre": "ChpSimpleDateHeure", +"Ordre": 25, +"MembreMob": "saDateFin", +"EnvoiMob":1, +"BD":0, +"Modifiable":0, +"MasqueSaisie" : "JJ/MM/AAAA HH:mm", +"GroupeApp": "RDV_INTER" +},{ +"Nom": "Rdv débuté le (Date)", +06/08/2026 Batik 342 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +"Rubrique": "$UNRDV.DATEDEBUT_D$", +"TypeMembre": "ChpSimpleDate", +"Ordre": 24, +"MembreMob": "saDateDebut", +"EnvoiMob":1, +"BD":0, +"Modifiable":0, +"MasqueSaisie" : "JJ/MM/AAAA", +"GroupeApp": "RDV_INTER" +},{ +"Nom": "Rdv fini le (Date)", +"Rubrique": "$UNRDV.DATEFIN_D$", +"TypeMembre": "ChpSimpleDate", +"Ordre": 25, +"MembreMob": "saDateFin", +"EnvoiMob":1, +"BD":0, +"Modifiable":0, +"MasqueSaisie" : "JJ/MM/AAAA", +"GroupeApp": "RDV_INTER" +},{ +"Nom": "Objet du rendez-vous", +"Rubrique": "$UNRDV.OBJET$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 26, +"MembreMob": "saObjet", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "RDV_INTER" +},{ +"Nom": "Note rendez-vous", +"Rubrique": "$UNRDV.NOTE$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 27, +"MembreMob": "saNote", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "RDV_INTER" +},{ +"Nom": "Collaborateurs rendez-vous", +"Rubrique": "$UNRDV.COLLABORATEUR$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 28, +"MembreMob": "saCollaborateurs", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "RDV_INTER" +},{ +"Nom": "CR Débuté le", +"Rubrique": "$UNCR.DATEDEBUT$", +"TypeMembre": "ChpSimpleDate", +"Ordre": 30, +"MembreMob": "saDebut", +"EnvoiMob":1, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "JJ/MM/AAAA", +"GroupeApp": "CR_INTER" +},{ +"Nom": "CR Fini le", +06/08/2026 Batik 343 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +"Rubrique": "$UNCR.DATEFIN$", +"TypeMembre": "ChpSimpleDate", +"Ordre": 31, +"MembreMob": "saFin", +"EnvoiMob":1, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "JJ/MM/AAAA", +"GroupeApp": "CR_INTER" +},{ +"Nom": "Note collaborateur", +"Rubrique": "$UNCR.NOTECOLLAB$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 32, +"MembreMob": "CR_NoteCollaborateur", +"EnvoiMob":1, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "CR_INTER" +},{ +"Nom": "Nom signataire", +"Rubrique": "$UNCR.SIGNATAIRE$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 33, +"MembreMob": "CR_NomSignataire", +"EnvoiMob":1, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "CR_INTER" +},{ +"Nom": "Note signataire", +"Rubrique": "$UNCR.NOTESIGNATAIRE$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 34, +"MembreMob": "CR_NoteSignataire", +"EnvoiMob":1, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "CR_INTER" +},{ +"Nom": "Type signataire", +"Rubrique": "$UNCR.TYPESIGNATAIRE$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 35, +"MembreMob": "CR_PA_Type", +"EnvoiMob":1, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "CR_INTER" +},{ +"Nom": "Signature", +"Rubrique": "$UNCR.IMAGESIGNATURE$", +"TypeMembre": "ChpImage", +"Ordre": 36, +"MembreMob": "CR_Signature", +"EnvoiMob":1, +"BD":1, +"Modifiable":0, +"GroupeApp": "CR_INTER" +},{ +"Nom": "Signature Tech", +"Rubrique": "$UNCR.IMAGESIGNATURETECH$", +06/08/2026 Batik 344 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +"TypeMembre": "ChpImage", +"Ordre": 37, +"MembreMob": "CR_SignatureTech", +"EnvoiMob":1, +"BD":1, +"Modifiable":0, +"GroupeApp": "CR_INTER" +},{ +"Nom": "Nom Signature Tech", +"Rubrique": "$UNCR.NOMSIGNATURETECH$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 38, +"MembreMob": "CR_NomSignataireTech", +"EnvoiMob":1, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "CR_INTER" +},{ +"Nom": "Devis conforme", +"Rubrique": "$UNCR.DEVISCONFORME$", +"TypeMembre": "ChpSimpleBooleen", +"Ordre": 39, +"MembreMob": "CR_DevisConforme", +"EnvoiMob":1, +"BD":1, +"Modifiable":0, +"GroupeApp": "CR_INTER" +},{ +"Nom": "Avec Réserve", +"Rubrique": "$UNCR.AVECRESERVE$", +"TypeMembre": "ChpSimpleBooleen", +"Ordre": 40, +"MembreMob": "CR_AvecReserve", +"EnvoiMob":1, +"BD":1, +"Modifiable":0, +"GroupeApp": "CR_INTER" +},{ +"Nom": "Commentaire Réserve", +"Rubrique": "$UNCR.RESERVECOMMENTAIRE$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 41, +"MembreMob": "CR_ReserveCommentaire", +"EnvoiMob":1, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "CR_INTER" +},{ +"Nom": "Photo", +"Rubrique": "$UNPHOTO.IMAGE$", +"TypeMembre": "ChpImage", +"Ordre": 42, +"MembreMob": "saNom", +"EnvoiMob":1, +"BD":0, +"Modifiable":0, +"GroupeApp": "PHOTO_INTER" +},{ +"Nom": "Date Photo", +"Rubrique": "$UNPHOTO.DATEIMAGE$", +"TypeMembre": "ChpSimpleDate", +"Ordre": 43, +"MembreMob": "saDate", +"EnvoiMob":1, +06/08/2026 Batik 345 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +"BD":0, +"Modifiable":0, +"MasqueSaisie" : "JJ/MM/AAAA", +"GroupeApp": "PHOTO_INTER" +},{ +"Nom": "Note Photo", +"Rubrique": "$UNPHOTO.NOTEIMAGE$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 44, +"MembreMob": "saNotes", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "PHOTO_INTER" +},{ +"Nom": "Nom - Prenom", +"Rubrique": "$UNCTSITE.NOMPRENOM$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 45, +"MembreMob": "saNom", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "CONTACT_SITE" +},{ +"Nom": "Tel. 1", +"Rubrique": "$UNCTSITE.TELFIXE$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 46, +"MembreMob": "saTFix", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"GroupeApp": "CONTACT_SITE" +},{ +"Nom": "Tel. 2", +"Rubrique": "$UNCTSITE.TELFAXE$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 47, +"MembreMob": "saTMob", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "CONTACT_SITE" +},{ +"Nom": "Rôle", +"Rubrique": "$UNCTSITE.ROLE$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 48, +"MembreMob": "saRole", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "CONTACT_SITE" +},{ +"Nom": "Etage", +"Rubrique": "$UNCTSITE.ETAGE$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 49, +"MembreMob": "saEtage", +"EnvoiMob":1, +"BD":0, +06/08/2026 Batik 346 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "CONTACT_SITE" +},{ +"Nom": "Nom - Prenom", +"Rubrique": "$UNCTCLI.NOMPRENOM$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 50, +"MembreMob": "saNom", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "DONNEURS_ORDRE" +},{ +"Nom": "Tel. 1", +"Rubrique": "$UNCTCLI.TELFIXE$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 51, +"MembreMob": "saTFix", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "DONNEURS_ORDRE" +},{ +"Nom": "Tel. 2", +"Rubrique": "$UNCTCLI.TELFAXE$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 52, +"MembreMob": "saTMob", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "DONNEURS_ORDRE" +},{ +"Nom": "Rôle", +"Rubrique": "$UNCTCLI.ROLE$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 53, +"MembreMob": "saRole", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "DONNEURS_ORDRE" +},{ +"Nom": "Tableau contacts site", +"Rubrique": "$TABCONTACTSITE$", +"TypeMembre": "Tableau", +"Ordre": 18, +"MembreMob": "CONTACT_SITE", +"EnvoiMob":1, +"BD":0, +"Modifiable":0, +"GroupeApp": "CONTACT_SITE", +"ListeMembre": [{ +"Nom": "Nom - Prenom", +"Rubrique": "$TABCTSITE.NOMPRENOM$", +"TypeMembre": "ChpSimpleChaine", +"MembreMob": "saNom", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +06/08/2026 Batik 347 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +"GroupeApp": "CONTACT_SITE", +"Ordre":1 +},{ +"Nom": "Tel. 1", +"Rubrique": "$TABCTSITE.TELFIXE$", +"TypeMembre": "ChpSimpleChaine", +"MembreMob": "saTFix", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "CONTACT_SITE", +"Ordre":2 +},{ +"Nom": "Tel. 2", +"Rubrique": "$TABCTSITE.TELFAXE$", +"TypeMembre": "ChpSimpleChaine", +"MembreMob": "saTMob", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "CONTACT_SITE", +"Ordre":3 +},{ +"Nom": "Rôle", +"Rubrique": "$TABCTSITE.ROLE$", +"TypeMembre": "ChpSimpleChaine", +"MembreMob": "saRole", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "CONTACT_SITE", +"Ordre":4 +},{ +"Nom": "Etage", +"Rubrique": "$TABCTSITE.ETAGE$", +"TypeMembre": "ChpSimpleChaine", +"MembreMob": "saEtage", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "CONTACT_SITE", +"Ordre":5 +},{ +"Nom": "Information supplémentaire", +"Rubrique": "$TABCTSITE.EXTRA$", +"TypeMembre": "ChpSimpleChaine", +"MembreMob": "saExtra", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "CONTACT_SITE", +"Ordre":6 +}] +},{ +"Nom": "Tableau comptes-rendus", +"Rubrique": "$TABCOMPTERENDU$", +"TypeMembre": "Tableau", +"Ordre": 20, +"MembreMob": "CR", +"EnvoiMob":1, +"BD":0, +06/08/2026 Batik 348 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +"Modifiable":0, +"GroupeApp": "CR_INTER", +"ListeMembre": [{ +"Nom": "Débuté le", +"Rubrique": "$TABCR.DATEDEBUT$", +"TypeMembre": "ChpSimpleDateHeure", +"MembreMob": "CR_DateHeureDebut", +"EnvoiMob":1, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "JJ/MM/AAAA HH:mm", +"GroupeApp": "CR_INTER", +"Ordre":1 +},{ +"Nom": "Fini le", +"Rubrique": "$TABCR.DATEFIN$", +"TypeMembre": "ChpSimpleDateHeure", +"MembreMob": "CR_DateHeureFin", +"EnvoiMob":1, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "JJ/MM/AAAA HH:mm", +"GroupeApp": "CR_INTER", +"Ordre":2 +},{ +"Nom": "Note collaborateur", +"Rubrique": "$TABCR.NOTECOLLAB$", +"TypeMembre": "ChpSimpleChaine", +"MembreMob": "CR_NoteCollaborateur", +"EnvoiMob":1, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "CR_INTER", +"Ordre":3 +},{ +"Nom": "Nom signataire", +"Rubrique": "$TABCR.SIGNATAIRE$", +"TypeMembre": "ChpSimpleChaine", +"MembreMob": "CR_NomSignataire", +"EnvoiMob":1, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "CR_INTER", +"Ordre":4 +},{ +"Nom": "Note signataire", +"Rubrique": "$TABCR.NOTESIGNATAIRE$", +"TypeMembre": "ChpSimpleChaine", +"MembreMob": "CR_NoteSignataire", +"EnvoiMob":1, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "CR_INTER", +"Ordre":5 +},{ +"Nom": "Type signataire", +"Rubrique": "$TABCR.TYPESIGNATAIRE$", +"TypeMembre": "ChpSimpleChaine", +"Ordre": 6, +"MembreMob": "CR_PA_Type", +"EnvoiMob":1, +"BD":1, +"Modifiable":0, +06/08/2026 Batik 349 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "CR_INTER" +},{ +"Nom": "Signature", +"Rubrique": "$TABCR.IMAGESIGNATURE$", +"TypeMembre": "ChpImage", +"MembreMob": "CR_Signature", +"EnvoiMob":1, +"BD":1, +"Modifiable":0, +"GroupeApp": "CR_INTER", +"Ordre":7 +},{ +"Nom": "Signature Tech", +"Rubrique": "$TABCR.IMAGESIGNATURETECH$", +"TypeMembre": "ChpImage", +"MembreMob": "CR_SignatureTech", +"EnvoiMob":1, +"BD":1, +"Modifiable":0, +"GroupeApp": "CR_INTER", +"Ordre":8 +},{ +"Nom": "Nom Signature Tech", +"Rubrique": "$TABCR.NOMSIGNATURETECH$", +"TypeMembre": "ChpSimpleChaine", +"MembreMob": "CR_NomSignataireTech", +"EnvoiMob":1, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "CR_INTER", +"Ordre":9 +},{ +"Nom": "Devis conforme", +"Rubrique": "$TABCR.DEVISCONFORME$", +"TypeMembre": "ChpSimpleBooleen", +"MembreMob": "CR_DevisConforme", +"EnvoiMob":1, +"BD":1, +"Modifiable":0, +"GroupeApp": "CR_INTER", +"Ordre":10 +},{ +"Nom": "Avec Réserve", +"Rubrique": "$TABCR.AVECRESERVE$", +"TypeMembre": "ChpSimpleBooleen", +"MembreMob": "CR_AvecReserve", +"EnvoiMob":1, +"BD":1, +"Modifiable":0, +"GroupeApp": "CR_INTER", +"Ordre":11 +},{ +"Nom": "Commentaire Réserve", +"Rubrique": "$TABCR.RESERVECOMMENTAIRE$", +"TypeMembre": "ChpSimpleChaine", +"MembreMob": "CR_ReserveCommentaire", +"EnvoiMob":1, +"BD":1, +"Modifiable":0, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "CR_INTER", +"Ordre":12 +},{ +"Nom": "Information supplémentaire", +06/08/2026 Batik 350 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +"Rubrique": "$TABCR.EXTRA$", +"TypeMembre": "ChpSimpleChaine", +"MembreMob": "saExtra", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "CR_INTER", +"Ordre":13 +}] +},{ +"Nom": "Tableau donneurs d'ordres", +"Rubrique": "$TABCONTACTCLIENT$", +"TypeMembre": "Tableau", +"Ordre": 17, +"MembreMob": "CONTACT_CLIENT_DONNEURS", +"EnvoiMob":1, +"BD":0, +"Modifiable":0, +"GroupeApp": "DONNEURS_ORDRE", +"ListeMembre": [{ +"Nom": "Nom - Prenom", +"Rubrique": "$TABCTCLIENT.NOMPRENOM$", +"TypeMembre": "ChpSimpleChaine", +"MembreMob": "saNom", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "DONNEURS_ORDRE", +"Ordre":1 +},{ +"Nom": "Tel. 1", +"Rubrique": "$TABCTCLIENT.TELFIXE$", +"TypeMembre": "ChpSimpleChaine", +"MembreMob": "saTFix", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "DONNEURS_ORDRE", +"Ordre":2 +},{ +"Nom": "Tel. 2", +"Rubrique": "$TABCTCLIENT.TELFAXE$", +"TypeMembre": "ChpSimpleChaine", +"MembreMob": "saTMob", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "DONNEURS_ORDRE", +"Ordre":3 +},{ +"Nom": "Rôle", +"Rubrique": "$TABCTCLIENT.ROLE$", +"TypeMembre": "ChpSimpleChaine", +"MembreMob": "saRole", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "DONNEURS_ORDRE", +"Ordre":4 +},{ +"Nom": "Information supplémentaire", +06/08/2026 Batik 351 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +"Rubrique": "$TABCTCLIENT.EXTRA$", +"TypeMembre": "ChpSimpleChaine", +"MembreMob": "saExtra", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "DONNEURS_ORDRE", +"Ordre":5 +}] +},{ +"Nom": "Tableau photos d'intervention", +"Rubrique": "$TABPHOTO$", +"TypeMembre": "Tableau", +"Ordre": 19, +"MembreMob": "PHOTOS", +"EnvoiMob":1, +"BD":0, +"Modifiable":0, +"GroupeApp": "PHOTO_INTER", +"ListeMembre": [{ +"Nom": "Photo", +"Rubrique": "$TABPHOTO.IMAGE$", +"TypeMembre": "ChpImage", +"MembreMob": "saNom", +"EnvoiMob":1, +"BD":0, +"Modifiable":0, +"GroupeApp": "PHOTO_INTER", +"Ordre":1 +},{ +"Nom": "Date Photo", +"Rubrique": "$TABPHOTO.DATEIMAGE$", +"TypeMembre": "ChpSimpleDate", +"MembreMob": "saDate", +"EnvoiMob":1, +"BD":0, +"Modifiable":0, +"MasqueSaisie" : "JJ/MM/AAAA", +"GroupeApp": "PHOTO_INTER", +"Ordre":2 +},{ +"Nom": "Note Photo", +"Rubrique": "$TABPHOTO.NOTEIMAGE$", +"TypeMembre": "ChpSimpleChaine", +"MembreMob": "saNotes", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "PHOTO_INTER", +"Ordre":3 +},{ +"Nom": "Information supplémentaire", +"Rubrique": "$TABPHOTO.EXTRA$", +"TypeMembre": "ChpSimpleChaine", +"MembreMob": "saExtra", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "PHOTO_INTER", +"Ordre":4 +}] +},{ +"Nom": "Tableau rendez-vous", +06/08/2026 Batik 352 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +"Rubrique": "$TABRENDEZVOUS$", +"TypeMembre": "Tableau", +"Ordre": 23, +"MembreMob": "RDV", +"EnvoiMob":1, +"BD":0, +"Modifiable":0, +"GroupeApp": "RDV_INTER", +"ListeMembre": [{ +"Nom": "Débuté le", +"Rubrique": "$TABRDV.DATEDEBUT$", +"TypeMembre": "ChpSimpleDateHeure", +"MembreMob": "saDateDebut", +"EnvoiMob":1, +"BD":0, +"Modifiable":0, +"MasqueSaisie" : "JJ/MM/AAAA HH:mm", +"GroupeApp": "RDV_INTER", +"Ordre":1 +},{ +"Nom": "Fini le", +"Rubrique": "$TABRDV.DATEFIN$", +"TypeMembre": "ChpSimpleDateHeure", +"MembreMob": "saDateFin", +"EnvoiMob":1, +"BD":0, +"Modifiable":0, +"MasqueSaisie" : "JJ/MM/AAAA HH:mm", +"GroupeApp": "RDV_INTER", +"Ordre":2 +},{ +"Nom": "Débuté le (Date)", +"Rubrique": "$TABRDV.DATEDEBUT_D$", +"TypeMembre": "ChpSimpleDate", +"MembreMob": "saDateDebut", +"EnvoiMob":1, +"BD":0, +"Modifiable":0, +"MasqueSaisie" : "JJ/MM/AAAA", +"GroupeApp": "RDV_INTER", +"Ordre":1 +},{ +"Nom": "Fini le (Date)", +"Rubrique": "$TABRDV.DATEFIN_D$", +"TypeMembre": "ChpSimpleDate", +"MembreMob": "saDateFin", +"EnvoiMob":1, +"BD":0, +"Modifiable":0, +"MasqueSaisie" : "JJ/MM/AAAA", +"GroupeApp": "RDV_INTER", +"Ordre":2 +},{ +"Nom": "Objet du rendez-vous", +"Rubrique": "$TABRDV.OBJET$", +"TypeMembre": "ChpSimpleChaine", +"MembreMob": "saObjet", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "RDV_INTER", +"Ordre":3 +},{ +"Nom": "Note rendez-vous", +"Rubrique": "$TABRDV.NOTE$", +06/08/2026 Batik 353 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +"TypeMembre": "ChpSimpleChaine", +"MembreMob": "saNote", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "RDV_INTER", +"Ordre":4 +},{ +"Nom": "Collaborateurs", +"Rubrique": "$TABRDV.COLLABORATEUR$", +"TypeMembre": "ChpSimpleChaine", +"MembreMob": "saCollaborateurs", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "RDV_INTER", +"Ordre":5 +},{ +"Nom": "Information supplémentaire", +"Rubrique": "$TABRDV.EXTRA$", +"TypeMembre": "ChpSimpleChaine", +"LargeurCol": 50, +"MembreMob": "saExtra", +"EnvoiMob":1, +"BD":0, +"Modifiable":1, +"MasqueSaisie" : "maskAlphaNum", +"GroupeApp": "RDV_INTER", +"Ordre":6 +}]}] +] +renvoyer saJson +Procédure locale MaJAdresse +procédure MaJAdresse() +reqModif est une Requête SQL = +[ +UPDATE Adresse +SET Adresse.AD_Adresse = CONCAT(AD_Ligne_4, ' ', AD_Ligne_5, ' ', AD_Ligne_2, ' ', AD_Ligne_3, ' ', +AD_Ligne_1, ' ' ) +] +bOk est un booléen = HExécuteRequêteSQL(reqModif) +si pas bOk alors +Erreur("Erreur dans la mise à jour de la table Adresse",HErreurInfo(hErrComplet)) +sinon +BTN_Adresse..Grisé = Vrai +Info("Traitement terminée") +fin +Procédure locale MaJGUID +procédure MaJGUID(saBtn est une chaîne ANSI) +bOk est un booléen = Faux +saReqSql est une chaîne ANSI = +[ +UPDATE %1 +SET GUID = UUID() +06/08/2026 Batik 354 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +WHERE GUID IS NULL OR GUID = ''; +] +REQ est une Source de Données +selon saBtn +cas BTN_GUIDAdresse..Nom +saReqSql = ChaîneConstruit(saReqSql,"Adresse") +bOk = HExécuteRequêteSQL(REQ, hRequêteDéfaut, saReqSql) +si pas bOk alors +Erreur("Erreur dans la mise à jour GUID de la table Adresse",HErreurInfo(hErrComplet)) +fin +cas BTN_GUIDClient..Nom +saReqSql = ChaîneConstruit(saReqSql,"Client") +bOk = HExécuteRequêteSQL(REQ, hRequêteDéfaut, saReqSql) +si pas bOk alors +Erreur("Erreur dans la mise à jour GUID de la table Adresse",HErreurInfo(hErrComplet)) +fin +cas BTN_GUIDColb..Nom +saReqSql = ChaîneConstruit(saReqSql,"Collaborateur") +bOk = HExécuteRequêteSQL(REQ, hRequêteDéfaut, saReqSql) +si pas bOk alors +Erreur("Erreur dans la mise à jour GUID de la table Collaborateur",HErreurInfo(hErrComplet +)) +fin +cas BTN_GUIDDossier..Nom +saReqSql = ChaîneConstruit(saReqSql,"Dossier") +bOk = HExécuteRequêteSQL(REQ, hRequêteDéfaut, saReqSql) +si pas bOk alors +Erreur("Erreur dans la mise à jour GUID de la table Dossier",HErreurInfo(hErrComplet)) +fin +cas BTN_GUIDInter..Nom +saReqSql = ChaîneConstruit(saReqSql,"Intervention") +bOk = HExécuteRequêteSQL(REQ, hRequêteDéfaut, saReqSql) +si pas bOk alors +Erreur("Erreur dans la mise à jour GUID de la table Intervention",HErreurInfo(hErrComplet) +) +fin +cas BTN_GUIDLieu..Nom +saReqSql = ChaîneConstruit(saReqSql,"Lieu") +bOk = HExécuteRequêteSQL(REQ, hRequêteDéfaut, saReqSql) +si pas bOk alors +Erreur("Erreur dans la mise à jour GUID de la table Lieu",HErreurInfo(hErrComplet)) +fin +cas BTN_GUIDPersonne..Nom +saReqSql = ChaîneConstruit(saReqSql,"Personne") +bOk = HExécuteRequêteSQL(REQ, hRequêteDéfaut, saReqSql) +si pas bOk alors +Erreur("Erreur dans la mise à jour GUID de la table Personne",HErreurInfo(hErrComplet)) +fin +cas BTN_GUIDSociete..Nom +saReqSql = ChaîneConstruit(saReqSql,"Societe") +bOk = HExécuteRequêteSQL(REQ, hRequêteDéfaut, saReqSql) +si pas bOk alors +Erreur("Erreur dans la mise à jour GUID de la table Societe",HErreurInfo(hErrComplet)) +fin +cas BTN_GUIDRDV..Nom +saReqSql = ChaîneConstruit(saReqSql,"Planning_RDV") +bOk = HExécuteRequêteSQL(REQ, hRequêteDéfaut, saReqSql) +06/08/2026 Batik 355 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +si pas bOk alors +Erreur("Erreur dans la mise à jour GUID de la table Planning_RDV",HErreurInfo(hErrComplet) +) +fin +autre cas +fin +si bOk alors +{saBtn}..Grisé = Vrai +Info("Traitement terminée") +fin +Procédure locale MaJGUID_RDV_Colb +procédure MaJGUID_RDV_Colb() +reqModif est une Requête SQL = +[ +UPDATE SuiviDesTemps +INNER JOIN Planning_RDV ON PL_PKID = SuiviDesTemps.SDT_IDRdv +SET SuiviDesTemps.SDT_GUID_Rdv_Colb = Planning_RDV.GUID +WHERE SuiviDesTemps.SDT_IDRdv > 0 +] +bOk est un booléen = HExécuteRequêteSQL(reqModif) +si pas bOk alors +Erreur("Erreur dans la mise à jour GUID de la table Suivi des temps",HErreurInfo(hErrComplet)) +sinon +BTN_GUIDSDT..Grisé = Vrai +Info("Traitement terminée") +fin +Procédure locale MaJProfils +procédure MaJProfils() +//*******************************************************************// +// Mise à jour et création des accès (Profil) // +//*******************************************************************// +bOk est un booléen = Vrai +MaJCategorieAccesProfil(bOk) +si pas bOk alors +renvoyer Faux +fin +i est un entier +saClePar est une chaîne = HFiltre(ParametreMetier,"PA_Code='19'") +//*******************************************************************// +// Mise à jour et création des rôles (Profil) // +//*******************************************************************// +HLitPremier(ParametreMetier, saClePar) +tantque HEnDehors() = Faux +HLitRecherchePremier(Role,R_AncienCode,ParametreMetier.PA_Valeur) +si pas HTrouve(Role) alors +HRAZ(Role) +Role.R_AncienCode = ParametreMetier.PA_Valeur +Role.CreationDate = DateHeureSys() +Role.CreationUser = CollaborateurEnCours.nIdUser +06/08/2026 Batik 356 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +fin +Role.R_Libelle = ParametreMetier.PA_Libelle +Role.ModifDate = DateHeureSys() +Role.ModifUser = CollaborateurEnCours.nIdUser +si pas HEnregistre(Role) alors +Erreur("Erreur pendant l'enregistrement des roles ",HErreurInfo(hErrComplet)) +sinon +i += 1 +fin +HLitSuivant(ParametreMetier,saClePar) +fin +HDésactiveFiltre(ParametreMetier) +ToastAffiche(i+ " Enregistrement(s) (Rôles) mis à jour",toastLong,cvMilieu) +//*******************************************************************// +// Mise à jour des liens entre les rôles et l'accès (Profil) // +//*******************************************************************// +reqSql est une Requête SQL = +[ +UPDATE AccesEtDroit SET +AED_IdRole = (SELECT R_PKID FROM Role INNER JOIN ParametreMetier ON PA_PKID = AED_IDProfil WHERE +R_AncienCode = PA_Valeur ), +AED_CleAcces = (SELECT CAC_Cle FROM CategorieAcces INNER JOIN ParametreMetier ON PA_PKID = +AED_IDModule WHERE CAC_AncienCode = PA_Valeur ) +] +bOk = HExécuteRequêteSQL(reqSql) +si pas bOk alors +Erreur("Erreur dans la mise à jour de la table Action",HErreurInfo(hErrComplet)) +sinon +BTN_Profils..Grisé = Vrai +Info("Traitement terminée") +fin +Procédure locale MaJRoleUser +procédure MaJRoleUser() +tbaProfils est un tableau associatif de chaînes ANSI +HLitPremier(Role) +tantque HEnDehors() = Faux +tbaProfils[Role.R_AncienCode] = Role.R_PKID +HLitSuivant(Role) +fin +bOk est un booléen = Vrai +HLitPremier(Utilisateur,UT_PKID) +tantque HEnDehors() = Faux +si Utilisateur.UT_IdRole <= 0 _et_ Utilisateur.UT_IDTypeProfil > 0 alors +si gtabParametresMetierId[Utilisateur.UT_IDTypeProfil]..Existe _et_ gtabParametresMetierId[ +06/08/2026 Batik 357 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +Utilisateur.UT_IDTypeProfil].saValeur <> "" _et_ tbaProfils[gtabParametresMetierId[Utilisateur. +UT_IDTypeProfil].saValeur]..Existe alors +Utilisateur.UT_IdRole = tbaProfils[gtabParametresMetierId[Utilisateur.UT_IDTypeProfil]. +saValeur] +si pas HModifie(Utilisateur) alors +Erreur("Erreur pendant la modification de la fiche utilisateur ",HErreurInfo( +hErrComplet)) +bOk = Faux +sortir +fin +fin +fin +HLitSuivant(Utilisateur,UT_PKID) +fin +si bOk alors +BTN_Utilisateur..Grisé = Vrai +Info("Traitement terminée") +fin +Procédure locale MaJTables +procédure MaJTables(saBtn est une chaîne ANSI) +bOk est un booléen = Faux +selon saBtn +cas BTN_Action..Nom +reqSql est une Requête SQL = +[ +UPDATE Action SET AC_CleTypeAction = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = +AC_IDTypeAction ) WHERE AC_IDTypeAction > 0 +] +bOk = HExécuteRequêteSQL(reqSql) +si pas bOk alors +Erreur("Erreur dans la mise à jour de la table Action",HErreurInfo(hErrComplet)) +fin +cas BTN_Client..Nom +reqSql est une Requête SQL = +[ +UPDATE Client SET +CL_CleType = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = CL_IDType), +CL_CleStatut = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = CL_IDStatut), +CL_CleApporteur = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = CL_IDApporteur), +CL_CleApporteurOrigine = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = +CL_IDApportOrigine), +CL_CleModeReglement = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = +CL_IDModeReglement) +] +bOk = HExécuteRequêteSQL(reqSql) +si pas bOk alors +Erreur("Erreur dans la mise à jour de la table Client",HErreurInfo(hErrComplet)) +fin +cas BTN_ClientAd..Nom +reqSql est une Requête SQL = +[ +UPDATE Client_Adresse SET +CA_CleType = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = CA_IDTypeAdresse) +WHERE CA_IDTypeAdresse > 0 +] +bOk = HExécuteRequêteSQL(reqSql) +si pas bOk alors +06/08/2026 Batik 358 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +Erreur("Erreur dans la mise à jour de la table Client_Adresse",HErreurInfo(hErrComplet)) +fin +cas BTN_Colb..Nom +reqSql est une Requête SQL = +[ +UPDATE Collaborateur SET +CO_CleCivilite = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = CO_IDCivilite), +CO_CleStatut = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = CO_IDStatut) +] +bOk = HExécuteRequêteSQL(reqSql) +si pas bOk alors +Erreur("Erreur dans la mise à jour de la table Collaborateur",HErreurInfo(hErrComplet)) +fin +cas BTN_Dossier..Nom +reqSql est une Requête SQL = +[ +UPDATE Dossier SET +DO_CleType = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = DO_IDTypeDossier), +DO_CleStatut = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = DO_IDStatut) +] +bOk = HExécuteRequêteSQL(reqSql) +si pas bOk alors +Erreur("Erreur dans la mise à jour de la table Dossier",HErreurInfo(hErrComplet)) +fin +cas BTN_EtatInter..Nom +reqSql est une Requête SQL = +[ +UPDATE EtatIntervention SET +EI_CleEtat = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = EI_IDEtat) +WHERE EI_IDEtat > 0 +] +bOk = HExécuteRequêteSQL(reqSql) +si pas bOk alors +Erreur("Erreur dans la mise à jour de la table EtatIntervention",HErreurInfo(hErrComplet)) +fin +cas BTN_Inter..Nom +reqSql est une Requête SQL = +[ +UPDATE Intervention SET +IN_CleType = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = IN_IDTypeIntervention), +IN_CleEtat = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = IN_IDEtatIntervention) +] +bOk = HExécuteRequêteSQL(reqSql) +si pas bOk alors +Erreur("Erreur dans la mise à jour de la table Intervention",HErreurInfo(hErrComplet)) +fin +cas BTN_InterPerso..Nom +reqSql est une Requête SQL = +[ +UPDATE Intervention_Personne SET +IP_CleRole = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = IP_IDRole) +WHERE IP_IDRole > 0 +] +bOk = HExécuteRequêteSQL(reqSql) +si pas bOk alors +Erreur("Erreur dans la mise à jour de la table Intervention_Personne",HErreurInfo( +hErrComplet)) +fin +cas BTN_Personne..Nom +reqSql est une Requête SQL = +06/08/2026 Batik 359 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +[ +UPDATE Personne SET +PE_CleCivilite = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = PE_IDCivilite), +PE_CleRole = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = PE_IDRole) +] +bOk = HExécuteRequêteSQL(reqSql) +si pas bOk alors +Erreur("Erreur dans la mise à jour de la table Personne",HErreurInfo(hErrComplet)) +fin +cas BTN_PlanningRDV..Nom +reqSql est une Requête SQL = +[ +UPDATE Planning_RDV SET +PL_CleType = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = PL_IDTypeActivite), +PL_CleStatut = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = PL_IDStatut), +PL_CleOrigineAnnu = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = PL_IDOrigineAnnul) +, +PL_CleMotifAnnu = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = PL_IDMotifAnnul) +] +bOk = HExécuteRequêteSQL(reqSql) +si pas bOk alors +Erreur("Erreur dans la mise à jour de la table Planning_RDV",HErreurInfo(hErrComplet)) +fin +cas BTN_SuiviTemps..Nom +reqSql est une Requête SQL = +[ +UPDATE SuiviDesTemps SET +SDT_CleType = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = SDT_IDTypeTemps), +SDT_CleTypeRDV = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = SDT_IDTypeRdv) +] +bOk = HExécuteRequêteSQL(reqSql) +si pas bOk alors +Erreur("Erreur dans la mise à jour de la table SuiviDesTemps",HErreurInfo(hErrComplet)) +fin +cas BTN_CR..Nom +reqSql est une Requête SQL = +[ +UPDATE CompteRendu SET +CR_CleTypeSignataire = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = +CR_IDTypeSignataire) +WHERE CR_IDTypeSignataire > 0 +] +bOk = HExécuteRequêteSQL(reqSql) +si pas bOk alors +Erreur("Erreur dans la mise à jour de la table CompteRendu",HErreurInfo(hErrComplet)) +fin +cas BTN_Doc..Nom +reqSql est une Requête SQL = +[ +UPDATE Document SET +DC_CleCategorie = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = DC_Categorie), +DC_CleEtatDoc = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = DC_IDEtatDocument) +] +bOk = HExécuteRequêteSQL(reqSql) +si pas bOk alors +Erreur("Erreur dans la mise à jour de la table Document",HErreurInfo(hErrComplet)) +fin +cas BTN_LieuPerso..Nom +reqSql est une Requête SQL = +[ +UPDATE Lieu_Personne SET +06/08/2026 Batik 360 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +LIP_CleRole = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = LIP_IDRole), +LIP_CleType = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = LIP_IDTypeLieuPersonne) +] +bOk = HExécuteRequêteSQL(reqSql) +si pas bOk alors +Erreur("Erreur dans la mise à jour de la table Lieu_Personne",HErreurInfo(hErrComplet)) +fin +cas BTN_Lieu..Nom +reqSql est une Requête SQL = +[ +UPDATE Lieu SET +LI_CleType = (SELECT PA_CLE FROM ParametreMetier WHERE PA_PKID = LI_IDType) +WHERE LI_IDType > 0 +] +bOk = HExécuteRequêteSQL(reqSql) +si pas bOk alors +Erreur("Erreur dans la mise à jour de la table Lieu",HErreurInfo(hErrComplet)) +fin +autre cas +fin +si bOk alors +{saBtn}..Grisé = Vrai +Info("Traitement terminée") +fin +Procédure locale MaJTousParamMetier +procédure MaJTousParamMetier() +bOk est un booléen = Vrai +MaJParamMetier(bOk) +si pas bOk alors +renvoyer Faux +fin +MaJEnteteParamMetier(bOk) +si pas bOk alors +renvoyer Faux +fin +tbEnteteParamMetier est un tableau de [40,5] chaînes +ListeEnteteParametres(tbEnteteParamMetier) +i est un entier +pour nLigne = 1 _à_ TableauInfo(tbEnteteParamMetier,tiNombreLignes) +si SansEspace(tbEnteteParamMetier[nLigne][2]) <> "" _et_ SansEspace(tbEnteteParamMetier[nLigne][5]) +alors +saClePar est une chaîne = HFiltre(ParametreMetier,"PA_Code='" + tbEnteteParamMetier[nLigne][5] ++ "'") +HLitPremier(ParametreMetier, saClePar) +tantque HEnDehors() = Faux +si SansEspace(ParametreMetier.PA_CLE) = "" alors +saCode est une chaîne ANSI +si ParametreMetier.PA_Libelle..Taille > 6 alors +saCode = SansEspace(tbEnteteParamMetier[nLigne][2]+"."+Majuscule(SansEspace( +SuppressionVoyelle(ParametreMetier.PA_Libelle))),sscTout) +sinon +saCode = SansEspace(tbEnteteParamMetier[nLigne][2]+"."+Majuscule(ParametreMetier. +PA_Libelle),sscTout) +fin +06/08/2026 Batik 361 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +ParametreMetier.PA_CLE = saCode +fin +ParametreMetier.PA_Categorie = tbEnteteParamMetier[nLigne][2] +si ParametreMetier.PA_Categorie = cparam_TypeTemps alors +si ParametreMetier.PA_Parametre <> "" alors +stParamTemps est un ST_Param_TypeTempsrdv +Désérialise(stParamTemps,ParametreMetier.PA_Parametre,psdJSON) +tbTypeRdv est un tableau de chaînes ANSI +si stParamTemps.type_act <> "" alors +ChaîneVersTableau(stParamTemps.type_act,tbTypeRdv,";") +fin +stParamTemps.type_rdv = "" +pour tout saTypeRdv de tbTypeRdv +si saTypeRdv <> "" alors +pour tout oParam de gtabParametresMetierCode[cParam_TypeRDV] +si SansEspace(oParam:saValeur) = SansEspace(saTypeRdv) alors +si stParamTemps.type_rdv <> "" alors +stParamTemps.type_rdv += " ; " +fin +stParamTemps.type_rdv += oParam:saCLE +fin +fin +fin +fin +bufParam est un Buffer +Sérialise(stParamTemps,bufParam,psdJSON) +ParametreMetier.PA_Parametre = bufParam +fin +fin +si pas HModifie(ParametreMetier) alors +Erreur("Erreur pendant la modification de paramètres métier ",HErreurInfo(hErrComplet) +) +sinon +i+= 1 +fin +HLitSuivant(ParametreMetier, saClePar) +fin +HDésactiveFiltre(ParametreMetier) +fin +fin +Info(i+ " Enregistrement(s) mis à jour") +BTN_ParamMetier..Grisé = Vrai +Procédure locale ParmVisuRDV +procédure ParmVisuRDV() +stPrefUserAGD est un ST_ChoixAGD +bOk est un booléen +pour tout ParametreUtilisateur avec PU_Code=MParametreUtilisateur::cCHOIX_ListeAGD +si ParametreUtilisateur.PU_Valeur <> "" alors +Désérialise(stPrefUserAGD,ParametreUtilisateur.PU_Valeur,psdJSON) +bOk = Faux +pour tout stChoix de stPrefUserAGD.tabTitreRDV +si stChoix.saOption = "PL_Objet" alors +stChoix.saOption = cAGD_Obj +06/08/2026 Batik 362 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +bOk = Vrai +sinon si stChoix.saOption = "PL_Description" alors +stChoix.saOption = cAGD_Note +bOk = Vrai +fin +fin +pour tout stChoix de stPrefUserAGD.tabBulleRDV +si stChoix.saOption = "PL_Objet" alors +| | stChoix.saOption | = cAGD_Obj | | | +| --- | ---------------- | ---------- | --- | --- | +| | bOk | = Vrai | | | +sinon si stChoix.saOption = "PL_Description" alors +| | stChoix.saOption | = cAGD_Note | | | +| --- | ---------------- | ----------- | --- | --- | +| | bOk | = Vrai | | | +fin +fin +pour tout stChoix de stPrefUserAGD.tabDescrRDV +si stChoix.saOption = "PL_Objet" alors +| | stChoix.saOption | = cAGD_Obj | | | +| --- | ---------------- | ---------- | --- | --- | +| | bOk | = Vrai | | | +sinon si stChoix.saOption = "PL_Description" alors +| | stChoix.saOption | = cAGD_Note | | | +| --- | ---------------- | ----------- | --- | --- | +| | bOk | = Vrai | | | +fin +fin +si bOk alors +bufResulBuf est un Buffer +Sérialise(stPrefUserAGD,bufResulBuf,psdJSON) +| | ParametreUtilisateur.PU_Valeur | | = bufResulBuf | | +| --- | ------------------------------ | --- | ------------- | --- | +si pas HEnregistre(ParametreUtilisateur) alors +Erreur("Erreur pendant la mise à jour du paramétrage utilisateur",HErreurInfo( +hErrComplet)) +si OuiNon("Voulez-vous continuer ?") = Non alors +renvoyer Faux +fin +fin +fin +fin +fin +Info("Traitement terminée") +renvoyer Vrai +Procédure locale RqRDVGroupe +procédure RqRDVGroupe(tbaRDVs est un tableau associatif de MRDV_Planning) +| odUnRdv | est un MRDV_Planning dynamique | | | | +| --------- | ------------------------------ | --- | --- | --- | +| odColb | est un MRDV_Colb dynamique | | | | +| odContact | est un MRDV_Contact dynamique | | | | +| nIdGroupe | est un entier sur 8 octets | | | | +| RDVInd | est une Requête SQL | = | | | +[ +SELECT Planning_RDV.*, Planning_RDV_Personne.PRP_PKID, Personne.GUID AS GUID_Pers FROM Planning_RDV + +LEFT OUTER JOIN Planning_RDV_Personne ON Planning_RDV_Personne.PRP_IDRdv = Planning_RDV.PL_PKID +LEFT OUTER JOIN Personne ON Personne.PE_PKID = Planning_RDV_Personne.PRP_IDPersonne +WHERE Planning_RDV.PL_IDGroupe > 0 AND Planning_RDV.PL_IdGroupeDate = 0 AND Planning_RDV.Archive = +0 ORDER BY PL_IDGroupe +] +si HExécuteRequêteSQL(RDVInd) alors +| 06/08/2026 | | | Batik | 363 | +| ---------- | --- | --- | ----- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +pour tout RDVInd +si nIdGroupe <> RDVInd.PL_IDGroupe alors +odUnRdv = allouer un MRDV_Planning +odUnRdv:nIDSociete = RDVInd.PL_IDSociete +odUnRdv:nIDDossier = RDVInd.PL_IDDossier +odUnRdv:nIDIntervention = RDVInd.PL_IDIntervention +odUnRdv:saCleType = RDVInd.PL_CleType +odUnRdv:saCleStatut = RDVInd.PL_CleStatut +odUnRdv:saObjet = RDVInd.PL_Objet +odUnRdv:saDescription = RDVInd.PL_Description +odUnRdv:nIDLieu = RDVInd.PL_IDLieu +odUnRdv:bSAV = RDVInd.PL_SAV +odUnRdv:bRappelSMS = RDVInd.PL_RappelSMS +odUnRdv:saCleMotifAnnu = RDVInd.PL_CleMotifAnnu +odUnRdv:saCleOrigineAnnu = RDVInd.PL_CleOrigineAnnu +odUnRdv:dhCreation = RDVInd.CreationDate +odUnRdv:nCreationUser = RDVInd.CreationUser +odUnRdv:dhModification = RDVInd.ModifDate +odUnRdv:nModifUser = RDVInd.ModifUser +odUnRdv:saGUID = DonneGUID(guidBrut) +odUnRdv:bGroupe = Vrai +odUnRdv:bPlusieursJours = Faux +fin +odColb = allouer un MRDV_Colb +si RDVInd.PL_IDCollaborateur > 0 _et_ gtabListeCollaborateurs[RDVInd.PL_IDCollaborateur].. +Existe = Vrai _et_ gtabListeCollaborateurs[RDVInd.PL_IDCollaborateur].saGUID <> "" alors +odColb:saGUID_Colb = gtabListeCollaborateurs[RDVInd. +PL_IDCollaborateur].saGUID +odColb:saGUID = RDVInd.GUID +odColb:saGUID_RDV = odUnRdv:saGUID +odColb:saCleStatut = RDVInd.PL_CleStatut +odColb:dhDateDeb = RDVInd.PL_DateDebut +odColb:dhDateFin = RDVInd.PL_DateFin +odColb:dhDateExport = RDVInd.PL_DateExport +odColb:bTempsValide = RDVInd.PL_TempsValide +odColb:bResponsable = Vrai +odColb:bCR = RDVInd.PL_CR +odColb:bSuperposable = RDVInd.PL_Superposable +odUnRdv:tbaColbs[odColb:saGUID_Colb] = odColb +fin +si RDVInd.PRP_PKID > 0 alors +odContact = allouer un MRDV_Contact +odContact:saGUID = DonneGUID(guidBrut) +odContact:saGUID_RDV = odUnRdv.saGUID +odContact:saGUID_Pers = RDVInd.GUID_Pers +odUnRdv:tbaContacts[odContact:saGUID_Pers] = odContact +fin +si odUnRdv:tbaColbs..Occurrence > 0 alors +tbaRDVs[odUnRdv.saGUID] = odUnRdv +fin +nIdGroupe = RDVInd.PL_IDGroupe +fin +sinon +Erreur("Erreur dans la requête rendez-vous individuelles",HErreurInfo(hErrComplet)) +renvoyer Faux +fin +renvoyer Vrai +Procédure locale RqRDVGroupeDate +06/08/2026 Batik 364 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +procédure RqRDVGroupeDate(tbaRDVs est un tableau associatif de MRDV_Planning) +| odUnRdv | est un MRDV_Planning dynamique | | | | +| --------- | ------------------------------ | --- | --- | --- | +| odColb | est un MRDV_Colb dynamique | | | | +| odContact | est un MRDV_Contact dynamique | | | | +| nIdGroupe | est un entier sur 8 octets | | | | +| RDVInd | est une Requête SQL | = | | | +[ +SELECT Planning_RDV.*, Planning_RDV_Personne.PRP_PKID, Personne.GUID AS GUID_Pers FROM Planning_RDV + +LEFT OUTER JOIN Planning_RDV_Personne ON Planning_RDV_Personne.PRP_IDRdv = Planning_RDV.PL_PKID +LEFT OUTER JOIN Personne ON Personne.PE_PKID = Planning_RDV_Personne.PRP_IDPersonne +WHERE Planning_RDV.PL_IDGroupe = 0 AND Planning_RDV.PL_IdGroupeDate > 0 AND Planning_RDV.Archive = +0 ORDER BY PL_IdGroupeDate +] +si HExécuteRequêteSQL(RDVInd) alors +pour tout RDVInd +si nIdGroupe <> RDVInd.PL_IdGroupeDate alors +| | odUnRdv | = allouer un MRDV_Planning | | | +| --- | ------------------------ | -------------------------- | --- | --- | +| | odUnRdv:nIDSociete | = RDVInd.PL_IDSociete | | | +| | odUnRdv:nIDDossier | = RDVInd.PL_IDDossier | | | +| | odUnRdv:nIDIntervention | = RDVInd.PL_IDIntervention | | | +| | odUnRdv:saCleType | = RDVInd.PL_CleType | | | +| | odUnRdv:saCleStatut | = RDVInd.PL_CleStatut | | | +| | odUnRdv:saObjet | = RDVInd.PL_Objet | | | +| | odUnRdv:saDescription | = RDVInd.PL_Description | | | +| | odUnRdv:nIDLieu | = RDVInd.PL_IDLieu | | | +| | odUnRdv:bSAV | = RDVInd.PL_SAV | | | +| | odUnRdv:bRappelSMS | = RDVInd.PL_RappelSMS | | | +| | odUnRdv:saCleMotifAnnu | = RDVInd.PL_CleMotifAnnu | | | +| | odUnRdv:saCleOrigineAnnu | = RDVInd.PL_CleOrigineAnnu | | | +| | odUnRdv:dhCreation | = RDVInd.CreationDate | | | +| | odUnRdv:nCreationUser | = RDVInd.CreationUser | | | +| | odUnRdv:dhModification | = RDVInd.ModifDate | | | +| | odUnRdv:nModifUser | = RDVInd.ModifUser | | | +| | odUnRdv:saGUID | = DonneGUID(guidBrut) | | | +| | odUnRdv:bGroupe | = Faux | | | +| | odUnRdv:bPlusieursJours | = Vrai | | | +fin +| odColb | | = allouer un MRDV_Colb | | | +| ------ | --- | ---------------------- | --- | --- | +si RDVInd.PL_IDCollaborateur > 0 _et_ gtabListeCollaborateurs[RDVInd.PL_IDCollaborateur].. +Existe = Vrai _et_ gtabListeCollaborateurs[RDVInd.PL_IDCollaborateur].saGUID <> "" alors +| | odColb:saGUID_Colb | | = gtabListeCollaborateurs[RDVInd. | | +| --- | ------------------ | --- | --------------------------------- | --- | +PL_IDCollaborateur].saGUID +| | odColb:saGUID | | = RDVInd.GUID | | +| --- | ------------------------------- | --- | ------------------------ | --- | +| | odColb:saGUID_RDV | | = odUnRdv:saGUID | | +| | odColb:saCleStatut | | = RDVInd.PL_CleStatut | | +| | odColb:dhDateDeb | | = RDVInd.PL_DateDebut | | +| | odColb:dhDateFin | | = RDVInd.PL_DateFin | | +| | odColb:dhDateExport | | = RDVInd.PL_DateExport | | +| | odColb:bTempsValide | | = RDVInd.PL_TempsValide | | +| | odColb:bCR | | = RDVInd.PL_CR | | +| | odColb:bSuperposable | | = RDVInd.PL_Superposable | | +| | odColb:bResponsable | | = Vrai | | +| | odUnRdv:tbaColbs[odColb:saGUID] | | = odColb | | +fin +si RDVInd.PRP_PKID > 0 alors +odContact = allouer un MRDV_Contact +| | odContact:saGUID | | = DonneGUID(guidBrut) | | +| ---------- | ---------------- | --- | --------------------- | --- | +| 06/08/2026 | | | Batik | 365 | + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +odContact:saGUID_RDV = odUnRdv.saGUID +odContact:saGUID_Pers = RDVInd.GUID_Pers +odUnRdv:tbaContacts[odContact:saGUID_Pers] = odContact +fin +si odUnRdv:tbaColbs..Occurrence > 0 alors +tbaRDVs[odUnRdv.saGUID] = odUnRdv +fin +nIdGroupe = RDVInd.PL_IdGroupeDate +fin +sinon +Erreur("Erreur dans la requête rendez-vous individuelles groupe date",HErreurInfo(hErrComplet)) +renvoyer Faux +fin +Info("Traitement terminée") +renvoyer Vrai +Procédure locale RqRDVIndividuelle +procédure RqRDVIndividuelle(tbaRDVs est un tableau associatif de MRDV_Planning) +odUnRdv est un MRDV_Planning dynamique +odColb est un MRDV_Colb dynamique +odContact est un MRDV_Contact dynamique +nIdRdv est un entier sur 8 octets +RDVInd est une Requête SQL = +[ +SELECT Planning_RDV.*, Planning_RDV_Personne.PRP_PKID, Personne.GUID AS GUID_Pers FROM Planning_RDV +LEFT OUTER JOIN Planning_RDV_Personne ON Planning_RDV_Personne.PRP_IDRdv = Planning_RDV.PL_PKID +LEFT OUTER JOIN Personne ON Personne.PE_PKID = Planning_RDV_Personne.PRP_IDPersonne +WHERE Planning_RDV.PL_IDGroupe = 0 AND Planning_RDV.PL_IdGroupeDate = 0 AND Planning_RDV.Archive = +0 ORDER BY PL_PKID +] +si HExécuteRequêteSQL(RDVInd) alors +pour tout RDVInd +si nIdRdv <> RDVInd.PL_PKID alors +odUnRdv = allouer un MRDV_Planning +odUnRdv:nIDSociete = RDVInd.PL_IDSociete +odUnRdv:nIDDossier = RDVInd.PL_IDDossier +odUnRdv:nIDIntervention = RDVInd.PL_IDIntervention +odUnRdv:saCleType = RDVInd.PL_CleType +odUnRdv:saCleStatut = RDVInd.PL_CleStatut +odUnRdv:saObjet = RDVInd.PL_Objet +odUnRdv:saDescription = RDVInd.PL_Description +odUnRdv:nIDLieu = RDVInd.PL_IDLieu +odUnRdv:bSAV = RDVInd.PL_SAV +odUnRdv:bRappelSMS = RDVInd.PL_RappelSMS +odUnRdv:saCleMotifAnnu = RDVInd.PL_CleMotifAnnu +odUnRdv:saCleOrigineAnnu = RDVInd.PL_CleOrigineAnnu +odUnRdv:dhCreation = RDVInd.CreationDate +odUnRdv:nCreationUser = RDVInd.CreationUser +odUnRdv:dhModification = RDVInd.ModifDate +odUnRdv:nModifUser = RDVInd.ModifUser +odUnRdv:saGUID = DonneGUID(guidBrut) +odUnRdv:bGroupe = Faux +odUnRdv:bPlusieursJours = Faux +06/08/2026 Batik 366 + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +| | odColb | = allouer un MRDV_Colb | | | +| --- | ------ | ---------------------- | --- | --- | +si RDVInd.PL_IDCollaborateur > 0 _et_ gtabListeCollaborateurs[RDVInd.PL_IDCollaborateur].. +Existe = Vrai _et_ gtabListeCollaborateurs[RDVInd.PL_IDCollaborateur].saGUID <> "" alors +odColb:saGUID_Colb = gtabListeCollaborateurs[RDVInd.PL_IDCollaborateur].saGUID +| | odColb:saGUID | = RDVInd.GUID | | | +| --- | -------------------- | ------------------------ | --- | --- | +| | odColb:saGUID_RDV | = odUnRdv:saGUID | | | +| | odColb:saCleStatut | = RDVInd.PL_CleStatut | | | +| | odColb:dhDateDeb | = RDVInd.PL_DateDebut | | | +| | odColb:dhDateFin | = RDVInd.PL_DateFin | | | +| | odColb:dhDateExport | = RDVInd.PL_DateExport | | | +| | odColb:bTempsValide | = RDVInd.PL_TempsValide | | | +| | odColb:bResponsable | = Vrai | | | +| | odColb:bCR | = RDVInd.PL_CR | | | +| | odColb:bSuperposable | = RDVInd.PL_Superposable | | | +odUnRdv:tbaColbs[odColb:saGUID_Colb] = odColb +fin +fin +si RDVInd.PRP_PKID > 0 alors +| | odContact | | = allouer un MRDV_Contact | | +| --- | ------------------------------------------ | --- | ------------------------- | --- | +| | odContact:saGUID | | = DonneGUID(guidBrut) | | +| | odContact:saGUID_RDV | | = odUnRdv.saGUID | | +| | odContact:saGUID_Pers | | = RDVInd.GUID_Pers | | +| | odUnRdv:tbaContacts[odContact:saGUID_Pers] | | = odContact | | +fin +si odUnRdv:tbaColbs..Occurrence > 0 alors +tbaRDVs[odUnRdv.saGUID] = odUnRdv +fin +nIdRdv = RDVInd.PL_PKID +fin +sinon +Erreur("Erreur dans la requête rendez-vous individuelles",HErreurInfo(hErrComplet)) +renvoyer Faux +fin +renvoyer Vrai +Procédure locale RqRDVPlusieursJours +procédure RqRDVPlusieursJours(tbaRDVs est un tableau associatif de MRDV_Planning) +| odUnRdv | est un MRDV_Planning dynamique | | | | +| ------------ | ------------------------------ | --- | --- | --- | +| odColb | est un MRDV_Colb dynamique | | | | +| odContact | est un MRDV_Contact dynamique | | | | +| nIdGrupeDate | est un entier sur 8 octets | | | | +| RDVInd | est une Requête SQL | = | | | +[ +SELECT Planning_RDV.*, Planning_RDV_Personne.PRP_PKID, Personne.GUID AS GUID_Pers FROM Planning_RDV + +LEFT OUTER JOIN Planning_RDV_Personne ON Planning_RDV_Personne.PRP_IDRdv = Planning_RDV.PL_PKID +LEFT OUTER JOIN Personne ON Personne.PE_PKID = Planning_RDV_Personne.PRP_IDPersonne +WHERE Planning_RDV.PL_IDGroupe > 0 AND Planning_RDV.PL_IdGroupeDate > 0 AND Planning_RDV.Archive = +0 ORDER BY PL_IdGroupeDate +] +si HExécuteRequêteSQL(RDVInd) alors +pour tout RDVInd +si nIdGrupeDate <> RDVInd.PL_IdGroupeDate alors +| | odUnRdv | = allouer un MRDV_Planning | | | +| ---------- | ------------------ | -------------------------- | ----- | --- | +| | odUnRdv:nIDSociete | = RDVInd.PL_IDSociete | | | +| 06/08/2026 | | | Batik | 367 | + +Partie 3 › Fenêtre WINDEV › FEN_MaJParemApp › Procédures +odUnRdv:nIDDossier = RDVInd.PL_IDDossier +odUnRdv:nIDIntervention = RDVInd.PL_IDIntervention +odUnRdv:saCleType = RDVInd.PL_CleType +odUnRdv:saCleStatut = RDVInd.PL_CleStatut +odUnRdv:saObjet = RDVInd.PL_Objet +odUnRdv:saDescription = RDVInd.PL_Description +odUnRdv:nIDLieu = RDVInd.PL_IDLieu +odUnRdv:bSAV = RDVInd.PL_SAV +odUnRdv:bRappelSMS = RDVInd.PL_RappelSMS +odUnRdv:saCleMotifAnnu = RDVInd.PL_CleMotifAnnu +odUnRdv:saCleOrigineAnnu = RDVInd.PL_CleOrigineAnnu +odUnRdv:dhCreation = RDVInd.CreationDate +odUnRdv:nCreationUser = RDVInd.CreationUser +odUnRdv:dhModification = RDVInd.ModifDate +odUnRdv:nModifUser = RDVInd.ModifUser +odUnRdv:saGUID = DonneGUID(guidBrut) +odUnRdv:bGroupe = Vrai +odUnRdv:bPlusieursJours = Vrai +fin +si RDVInd.PL_IDCollaborateur > 0 _et_ gtabListeCollaborateurs[RDVInd.PL_IDCollaborateur].. +Existe = Vrai _et_ gtabListeCollaborateurs[RDVInd.PL_IDCollaborateur].saGUID <> "" alors +odColb = allouer un MRDV_Colb +odColb:saGUID_Colb = gtabListeCollaborateurs[RDVInd. +PL_IDCollaborateur].saGUID +odColb:saGUID = RDVInd.GUID +odColb:saGUID_RDV = odUnRdv:saGUID +odColb:saCleStatut = RDVInd.PL_CleStatut +odColb:dhDateDeb = RDVInd.PL_DateDebut +odColb:dhDateFin = RDVInd.PL_DateFin +odColb:dhDateExport = RDVInd.PL_DateExport +odColb:bTempsValide = RDVInd.PL_TempsValide +odColb:bCR = RDVInd.PL_CR +odColb:bSuperposable = RDVInd.PL_Superposable +odColb:bResponsable = Vrai +odUnRdv:tbaColbs[RDVInd.GUID] = odColb +fin +si RDVInd.PRP_PKID > 0 alors +odContact = allouer un MRDV_Contact +odContact:saGUID = DonneGUID(guidBrut) +odContact:saGUID_RDV = odUnRdv.saGUID +odContact:saGUID_Pers = RDVInd.GUID_Pers +odUnRdv:tbaContacts[odContact:saGUID_Pers] = odContact +fin +si odUnRdv:tbaColbs..Occurrence > 0 alors +tbaRDVs[odUnRdv.saGUID] = odUnRdv +fin +nIdGrupeDate = RDVInd.PL_IdGroupeDate +fin +sinon +Erreur("Erreur dans la requête rendez-vous individuelles",HErreurInfo(hErrComplet)) +renvoyer Faux +fin +renvoyer Vrai +06/08/2026 Batik 368 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Image +FEN_Fiche_Colb +Image +FEN_Fiche_Colb +Informations générales +FEN_Fiche_Colb +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Fiche_Colb.wdw +Créé par SMR +Date de création 12/06/2025 13:53:58 +Dernière modification par susana@applilogik.fr +Date dernière modification 21/04/2026 18:37:04 +Titre FR: Fiche_Colb +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +Note pour la documentation technique +06/08/2026 Batik 369 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations générales +Note pour la documentation technique +FR: Fiche collaborateur +| Position X | 0 Position Y | | 0 Largeur | 1026 Hauteur | 520 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | --- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 370 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations générales +| Déplace souris sur bouton par | Non | | | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | --- | +| Compact. barres outils | Non | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Champ de saisie | | 21 | Libellé | | | 13 | +| --- | ------------------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Bouton | | 6 | Interrupteur | | | 1 | +| | Image | | 12 | Table | | | 1 | +| | Combo | | 6 | Onglet | | | 1 | +| | Code-barres | | 1 | Zone répétée | | | 2 | +| | Superchamp | | 3 | Attribut zone répétée | | | 5 | +| | Champ Modèle de champs | | 51 | Option d'interrupteur | | | 1 | +| | Colonne de table | | 5 | Volet (Onglet) | | | 4 | +| | Case barre de message | | 1 | Disposition | | | 1 | +| | Cellule de disposition | | 3 | Interrupteur à bascule | | | 1 | +| | Option d'interrupteur | | 2 | Bouton segmenté | | | 3 | +| | Option de bouton segmenté | | 6 | | | | | +Nombre d'éléments dans la fenêtre : 150 +FEN_Fiche_Colb +Informations sur les champs +Fenêtre : FEN_Fiche_Colb +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Bloque | | 693 | 2 30 | 24 | 0 | Actif | | +| ------------- | --- | --- | ------- | --- | --- | ----- | --- | +| CMOD_BordFen | | 0 | -29 934 | 29 | 0 | Actif | | +| CMOD_Onglet | | 4 | 38 1017 | 421 | 0 | Actif | | +| CMOD_Ouvert | | 693 | 2 30 | 24 | 0 | Actif | | +| CMOD_SansNom1 | | 880 | 2 141 | 35 | 0 | Actif | | +| CMOD_SansNom2 | | 731 | 2 141 | 35 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 371 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Bloque +Image +| | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------------------------------------- | ---------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | 693 | 2 | 30 | 24 | 0 | Actif | | | +| --------- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 934 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | --- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_Libellé | 91 | -27 811 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | ------- | ------------ | --------- | ---------- | +| | | | | ruetuaH | | | cilc cevA | | +| | | | ruegraL | | elbisiV | | | | +nalP +| IMG_AideFenetre | 902 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | --- | --- | ----- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +| 06/08/2026 | | | Batik | | | | | 372 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet +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_Sign | 3 | 79 759 | 143 | 0 | Actif | | Texte | | Non | | | | | +| -------- | --- | ------ | --- | --- | ----- | --- | ----- | --- | --- | --- | --- | --- | --- | +Onglet +slennoitroporp steloV +engil/stelov .bN +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | stelov .soP | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | ----------- | --- | --- | +ruetuaH +| | | | | ruegraL | | | | elbisiV | | | | | | +| --- | --- | --- | --- | ------- | --- | --- | --- | ------- | --- | --- | --- | --- | --- | +nalP +| ONG_Onglet | | | 4 | 38 1017 | | 421 | 0 | | Actif | | haut | | 0 | +| ---------- | --- | --- | --- | ------- | --- | --- | --- | --- | ----- | --- | ---- | --- | --- | +Zone répétée +| | | | | | | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | --- | ---------- | ---------- | ------- | --- | ------- | --- | --- | --- | ------------ | ---------- | +| | | | | X noitisoP | Y noitisoP | | | | | | | | | +| | | | | | | ruegraL | | ruetuaH | | | | | | +elbisiV +nalP +| ZR_ConfigEmail | | | | 12 | 116 | | 218 | 335 | | 0 | | Actif | | +| -------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| ZR_Societes | | | | 359 | 103 | | 658 | 311 | | 0 | | Actif | | +Champ Modèle de champs +BAT ehcuoT +| | | | | X noitisoP | Y noitisoP | | | | | | | laitini tatE | | +| --- | --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | | ruegraL | | | | | elbisiV | | | +| --- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | ------- | --- | --- | +nalP +| CMOD_Actif | | | | 11 | 170 | | 344 | 39 | | 0 | | Actif | | +| ----------------------- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_Admin | | | | 11 | 210 | | 344 | 39 | | 0 | | Actif | | +| CMOD_AdresseMailCompte | | | | 267 | | 3 | 349 | 53 | | 0 | | Actif | | +| CMOD_AdresseServeurSMTP | | | | 440 | | 3 | 134 | 53 | | 0 | | Actif | | +| CMOD_AffichagePL | | | | 11 | 306 | | 344 | 53 | | 0 | | Actif | | +| CMOD_CC_Email | | | | 267 | | 3 | 493 | 68 | | 0 | | Actif | | +| CMOD_Civilite | | | | 12 | 71 | | 362 | 53 | | 0 | | Actif | | +| CMOD_DivBO | | | | 12 | 76 | | 500 | 375 | | 0 | | Actif | | +| CMOD_DivMOB | | | | 512 | 76 | | 501 | 375 | | 0 | | Actif | | +| CMOD_Fixe | | | | 194 | 234 | | 180 | 53 | | 0 | | Actif | | +| CMOD_Fonction | | | | 12 | 179 | | 362 | 53 | | 0 | | Actif | | +| CMOD_Intervient | | | | 359 | 76 | | 658 | 26 | | 0 | | Actif | | +| CMOD_JourConge | | | | 383 | 124 | | 634 | 328 | | 0 | | Actif | | +| CMOD_Mail | | | | 12 | 399 | | 362 | 53 | | 0 | | Actif | | +| CMOD_Messagerie | | | | 11 | 361 | | 344 | 53 | | 0 | | Actif | | +| 06/08/2026 | | | | | | Batik | | | | | | | 373 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| CMOD_MobTel | 12 | 234 | 180 | 53 | 0 | Actif | | +| ----------------------- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_MotdePasseSMTP | 267 | 3 | 170 | 53 | 0 | Actif | | +| CMOD_Nom | 12 | 125 | 362 | 53 | 0 | Actif | | +| CMOD_NomCompte | | 6 3 | 258 | 53 | 0 | Actif | | +| CMOD_NomUtilisateurSMTP | | 6 3 | 258 | 53 | 0 | Actif | | +| CMOD_Planning | 11 | 130 | 344 | 39 | 0 | Actif | | +| CMOD_PlusConfigEmail | 43 | 73 | 141 | 35 | 0 | Actif | | +| CMOD_Pond | 135 | 251 | 220 | 53 | 0 | Actif | | +| CMOD_PortSMTP | 576 | 3 | 62 | 53 | 0 | Actif | | +| CMOD_Prenom | 12 | 289 | 362 | 53 | 0 | Actif | | +| CMOD_Profil | 11 | 76 | 344 | 53 | 0 | Actif | | +| CMOD_SansNom26 | | 6 2 | 250 | 69 | 0 | Actif | | +| CMOD_SecuriteSMTP | 640 | 3 | 117 | 53 | 0 | Actif | | +| CMOD_Soc | 12 | 344 | 362 | 53 | 0 | Actif | | +| CMOD_TConge | 383 | 90 | 634 | 26 | 0 | Actif | | +| CMOD_Tester | 624 | 3 | 105 | 35 | 0 | Actif | | +| CMOD_Trigramme | 11 | 251 | 116 | 53 | 0 | Actif | | +| CMOD_ValiderConfig | 732 | 3 | 30 | 30 | 0 | Actif | | +Disposition +BAT ehcuoT +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| DISP_Email | 248 | 76 | 765 | 383 | 0 | Actif | | +| ---------- | --- | --- | --- | --- | --- | ----- | --- | +Zone répétée : CMOD_Onglet.ONG_Onglet.ZR_ConfigEmail +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Code | 8 8 | 57 20 | 0 | Grisé | Gauche | Haut | | +| ----------- | --- | ------ | --- | ----- | ------ | ------ | --- | +| LIB_Couleur | 2 0 | 194 58 | 0 | Actif | Gauche | Centre | | +| LIB_IdSoc | 8 0 | 57 20 | 0 | Actif | Droite | Haut | | +| LIB_Soc | 2 2 | 162 54 | 0 | Actif | Centre | Centre | | +| 06/08/2026 | | Batik | | | | | 374 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Attribut zone répétée +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +ATT_Code +ATT_IdSoc +Champ Modèle de champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | ------- | --- | ------- | --- | ------------ | --- | +| | | | | | ruegraL | | ruetuaH | | | | +elbisiV +nalP +| CMOD_AdresseMailCompte | | | 2 | 112 | 194 | | 53 | 0 | Actif | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_Modifier | | | 164 | 1 | 30 | | 25 | 0 | Actif | | +| CMOD_NomCompte | | | 2 | 58 | 194 | | 53 | 0 | Actif | | +| CMOD_Supprimer | | | 164 | 31 | 30 | | 25 | 0 | Actif | | +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.ZR_ConfigEmail.CMOD_AdresseMailCompte +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_Texte | 0 0 | 194 | 53 0 | affichag | Texte | | Non | | | | +| --------- | --- | --- | ---- | -------- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.ZR_ConfigEmail.CMOD_Modifier +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| --- | --- | ---------- | ---------- | --- | ------- | --- | --- | ------------ | --------- | ---------- | +| | | | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 0 | | 0 30 | 25 | | 0 | Actif | | | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | ----- | --- | --- | +| 06/08/2026 | | | | Batik | | | | | | 375 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.ZR_ConfigEmail.CMOD_NomCompte +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_Texte | 0 | 0 194 | 53 | 0 affichag | | Texte | | Non | | | | +| --------- | --- | ----- | --- | ---------- | --- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.ZR_ConfigEmail.CMOD_Supprimer +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | | X noitisoP | | | | | | laitini tatE | | sucof cevA | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --------- | ---------- | +| | | | | Y noitisoP | | | | | | cilc cevA | | +| | | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| IMG_Icone | | | 0 | 0 | 30 | 25 | 0 | | Actif | | | +| --------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Zone répétée : CMOD_Onglet.ONG_Onglet.ZR_Societes +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Id | | 473 | 18 | 57 | 21 | | 0 | Actif | Droite | Haut | | +| ---------- | --- | --- | --- | --- | ----- | --- | --- | ----- | ------ | ---- | --- | +| LIB_Soc | | 8 | 11 | 462 | 21 | | 0 | Actif | Gauche | Haut | | +| 06/08/2026 | | | | | Batik | | | | | | 376 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +ATT_Actif +ATT_IdSoc +ATT_LibSoc +Interrupteur à bascule +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| INT_Soc | 517 | 0 114 | 43 | 0 | Actif | | +| ------- | --- | ----- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Actif +Bouton segmenté +| | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| BS_Choix | 11 | 170 344 | 39 | 0 | Actif | | +| -------- | --- | ------- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Admin +Bouton segmenté +BAT ehcuoT +laitini tatE +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| BS_Choix | 11 | 210 344 | 39 | 0 | Actif | | +| ---------- | --- | ------- | --- | --- | ----- | --- | +| 06/08/2026 | | Batik | | | | 377 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_AdresseMailCompte +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_Texte | 0 0 349 | 53 0 | Actif Texte | Non | | | +| --------- | ------- | ---- | ----------- | --- | --- | --- | +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_AdresseServeurSMTP +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_Texte | 0 0 134 | 53 0 | Actif Texte | Non | | | +| --------- | ------- | ---- | ----------- | --- | --- | --- | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_AffichagePL +Combo +reihcif eétsissa eisiaS +| | | | | | eriotagilbo eisiaS | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | ------------------ | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | +| --- | --------------------- | --------------- | ------------ | ---------- | ----------- | --- | +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| | | ruegraL ruetuaH | | sruocraP | | | +elbisiV +| | | | | elbaT | eéirT | | +| --- | --- | --- | --- | ----- | ----- | --- | +nalP +| CMB_Combo | 11 306 | 344 53 | 0 Actif | Mémoire | Non | | +| ---------- | ------ | ------ | ------- | ------- | --- | --- | +| 06/08/2026 | | | Batik | | | 378 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_CC_Email +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_Jeton | 0 0 493 | 68 0 | Actif | Texte | | Non | | | +| --------- | ------- | ---- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Civilite +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_Combo | 12 71 | 362 53 | 0 | Actif | Mémoire | | Non | | +| --------- | ----- | ------ | --- | ----- | ------- | --- | --- | --- | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_DivBO +Superchamp +BAT ehcuoT +laitini tatE +| | | X noitisoP | Y noitisoP | | | | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| SC_Div | | 16 | 81 | 491 | 364 | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_Onglet.ONG_Onglet.CMOD_DivBO.SC_Div +| 06/08/2026 | | | Batik | | | | | 379 | +| ---------- | --- | --- | ----- | --- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › 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_LicenceBO | 22 | 110 187 | 26 | 0 | Actif | Gauche | Haut | | +| ------------- | --- | ------- | --- | --- | ----- | ------ | ---- | --- | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------- | ---------- | +| | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Computer_svgrepo_com | 386 | 86 | 120 | 90 | 0 | Actif | | | +| ------------------------ | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_BO | | 24 | 144 | 141 | 35 | 0 | Actif | | +| ----------------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_Compte | | 24 | 182 | 247 | 53 | 0 | Actif | | +| CMOD_ModifierMp | | 272 | 261 | 30 | 30 | 0 | Actif | | +| CMOD_Mot_de_passe_Modif | | 24 | 294 | 247 | 53 | 0 | Actif | | +| CMOD_Mp | | 24 | 238 | 247 | 53 | 0 | Actif | | +| CMOD_SansNom9 | | 22 | 84 | 350 | 26 | 0 | Actif | | +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_DivBO.SC_Div.CMOD_BO +Bouton +notuob epyT +| | | | | | | laitini tatE | BAT ehcuoT | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | --- | +| | X noitisoP | Y noitisoP | | | | | | | +| | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Valider | | 24 144 | 141 | 35 | 0 | Actif | | Normal | +| ----------- | --- | ------ | ----- | --- | --- | ----- | --- | ------ | +| 06/08/2026 | | | Batik | | | | | 380 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_DivBO.SC_Div.CMOD_Compte +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_Texte | 24 182 | 247 53 0 | Actif Texte | | Non | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_DivBO.SC_Div.CMOD_ModifierMp +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP | | | laitini tatE | sucof cevA | +| --- | --- | ---------- | --- | --- | ------------ | ---------- | +Y noitisoP cilc cevA +| | | | ruegraL ruetuaH | | | | +| --- | --- | --- | --------------- | --- | --- | --- | +elbisiV +nalP +| IMG_Icone | | 272 261 | 30 30 | 0 | Actif | | +| --------- | --- | ------- | ----- | --- | ----- | --- | +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_DivBO.SC_Div.CMOD_Mot_de_passe_Modif +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_Texte | 24 294 | 247 53 0 | Actif Texte | | Non | | +| ---------- | ------ | -------- | ----------- | --- | --- | --- | +| 06/08/2026 | | | Batik | | | 381 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_DivBO.SC_Div.CMOD_Mp +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_Texte | 24 238 | 247 | 53 0 | Actif | | Texte | | Non | | | | +| --------- | ------ | --- | ---- | ----- | --- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_DivBO.SC_Div.CMOD_SansNom9 +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | --- | ------- | --- | --- | ------------ | --- | --- | --- | +| | | | ruegraL | | ruetuaH | | | | | | | +elbisiV +nalP +| LIB_lib | | 22 | 84 | 350 | 26 | 0 | | Actif | Gauche | Centre | | +| ------- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_DivMOB +Superchamp +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | ------- | --- | ------- | --- | --- | ------------ | --- | +| | | | | | ruegraL | | ruetuaH | | | | | +elbisiV +nalP +| SC_Div | | | 516 | 81 | | 492 | 364 | | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_Onglet.ONG_Onglet.CMOD_DivMOB.SC_Div +| 06/08/2026 | | | | | Batik | | | | | | 382 | +| ---------- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › 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_LicenceMOB | 520 | 111 | 191 | 28 | 0 | | Actif | Gauche | | Haut | | | +| -------------- | --- | --- | --- | --- | --- | --- | ----- | ------ | --- | ---- | --- | --- | +Image +| | | | | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | | +| --- | ---------- | --- | ---------- | --- | ------- | --- | --- | ------------ | --- | --------------------- | ----------------- | ---------- | +| | X noitisoP | | Y noitisoP | | | | | laitini tatE | | | | sucof cevA | +| | | | | | ruetuaH | | | | | cilc cevA | | | +ruegraL +elbisiV +nalP +| IMG_Mobile_browser_svgrepo_com | | 884 | 89 | 120 | 90 | 0 | | Actif | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | +Code-barres +serrab-edoc epyT +laitini tatE +| | | X noitisoP | Y noitisoP | | | | | | | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | --- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | | | | +elbisiV +nalP +| CBA_QrCode | | 662 | 255 | 201 | 179 | | 0 | | Actif | | Code | | +| ---------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | ---- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | | | | | | | | laitini tatE | | | +| --- | --- | ---------- | --- | --- | --- | --- | --- | --- | --- | ------------ | --- | --- | +Y noitisoP +| | | | | | ruegraL | ruetuaH | | | | | | | +| --- | --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| CMOD_Mob | | 520 | | 147 | 141 | 35 | | 0 | | Actif | | | +| -------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +| CMOD_SansNom10 | | 520 | | 87 | 356 | 26 | | 0 | | Actif | | | +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_DivMOB.SC_Div.CMOD_Mob +Bouton +| | | | | | | | | | | BAT ehcuoT | | notuob epyT | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | ------------ | ---------- | --- | ----------- | +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | | +| | | | | ruegraL | ruetuaH | | | | | | | | +elbisiV +nalP +| BTN_Valider | | 520 | 147 | 141 | 35 | | 0 | Actif | | | Normal | | +| ----------- | --- | --- | --- | ----- | --- | --- | --- | ----- | --- | --- | ------ | --- | +| 06/08/2026 | | | | Batik | | | | | | | | 383 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_DivMOB.SC_Div.CMOD_SansNom10 +Libellé +tuaféd rap eéminA +.zroh egardaC .trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 520 87 | 356 | 26 | 0 | Actif | Gauche Centre | | +| ------- | --- | ------ | --- | --- | --- | ----- | ------------- | --- | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Fixe +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_Texte | 194 234 | 180 53 | 0 | Actif | Texte | Non | | | +| --------- | ------- | ------ | --- | ----- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Fonction +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 | eisias epyT FTR tamroF | | ediv is LLUN | lacitrev .csA | +| --- | --------------------- | --- | --- | ------------ | ---------------------- | --- | ------------ | ------------- | +| | X noitisoP Y noitisoP | | | laitini tatE | engilitluM | | | | +ruetuaH +| | | ruegraL | elbisiV | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +nalP +| SAI_Texte | 12 179 | 362 53 | 0 | Actif | Texte | Non | | | +| ---------- | ------ | ------ | --- | ----- | ----- | --- | --- | --- | +| 06/08/2026 | | | | Batik | | | | 384 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Intervient +Libellé +tuaféd rap eéminA +| | | | | | | | | .zroh egardaC .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | --------------------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_lib | | 359 | 76 | 658 26 | 0 | Actif | Gauche | Centre | | +| ------- | --- | --- | --- | ------ | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_JourConge +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | | | lennoitroporp .csA .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | --- | ------------------ | -------------- | ------------------------------------- | ----------------------------- | +| | | | | | | )(ertliFH resilitU | | ruesnecsa elluB EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +| | | | | | | .gerne egacolB | noitcelésitluM | edacsac eisiaS | | +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | | +| --- | --------------------- | --------------- | --- | ------------ | --- | -------- | --- | --- | --- | +| | | ruegraL ruetuaH | | | | sruocraP | | | | +elbisiV +elbaT +nalP +| TABLE_Info | 385 126 | 628 322 | 0 | Actif | Mémoir | | | | 1 | +| ---------- | ------- | ------- | --- | ----- | ------ | --- | --- | --- | --- | +Table : CMOD_Onglet.ONG_Onglet.CMOD_JourConge.TABLE_Info +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_PKID | | 880 | Grisé | | | Droite Centre | Numériq | | | +| COL_Jour | | 286 | affichag | | | Gauche Centre | | Texte | | +| COL_HeureD | | 100 | Actif | | | Droite Centre | | Heure | | +| COL_HeureF | | 100 | Actif | | | Droite Centre | | Heure | | +| COL_Conge | | 128 | Actif | | | Centre Centre | | | | +| 06/08/2026 | | | | Batik | | | | | 385 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Mail +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_Texte | 12 399 362 | 53 0 | Actif Texte | | Non | | | +| --------- | ---------- | ---- | ----------- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Messagerie +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_Combo | 11 361 | 344 53 | 0 Actif | Mémoire | | Non | | +| --------- | ------ | ------ | ------- | ------- | --- | --- | --- | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_MobTel +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_Texte | 12 234 180 | 53 0 | Actif Texte | | Non | | | +| ---------- | ---------- | ---- | ----------- | --- | --- | --- | --- | +| 06/08/2026 | | | Batik | | | | 386 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_MotdePasseSMTP +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_Texte | 0 0 170 | 53 0 | Actif Texte | Non | | | +| --------- | ------- | ---- | ----------- | --- | --- | --- | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Nom +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_Texte | 12 125 362 | 53 0 | Actif Texte | Non | | | +| --------- | ---------- | ---- | ----------- | --- | --- | --- | +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_NomCompte +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_Texte | 0 0 258 | 53 0 | Actif Texte | Non | | | +| ---------- | ------- | ---- | ----------- | --- | --- | --- | +| 06/08/2026 | | | Batik | | | 387 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_NomUtilisateurSMTP +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_Texte | 0 0 258 | 53 0 | Actif | Texte | | Non | | | | +| --------- | ------- | ---- | ----- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Planning +Bouton segmenté +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| BS_Choix | | 11 | 130 | 344 | | 39 | 0 | Actif | | +| -------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_PlusConfigEmail +Bouton +BAT ehcuoT notuob epyT +laitini tatE +X noitisoP Y noitisoP +| | | | | ruegraL ruetuaH | | | | | | +| --- | --- | --- | --- | --------------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| BTN_Valider | | 43 | 73 | 141 | 35 | 0 | Actif | Normal | | +| ----------- | --- | --- | --- | --- | --- | --- | ----- | ------ | --- | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Pond +| 06/08/2026 | | | | Batik | | | | | 388 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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_Texte | 135 251 220 | 53 0 | Actif Numéri | Non | | | +| --------- | ----------- | ---- | ------------ | --- | --- | --- | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_PortSMTP +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_Texte | 0 0 62 | 53 0 | Actif Texte | Non | | | +| --------- | ------ | ---- | ----------- | --- | --- | --- | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Prenom +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_Texte | 12 289 362 | 53 0 | Actif Texte | Non | | | +| ---------- | ---------- | ---- | ----------- | --- | --- | --- | +| 06/08/2026 | | | Batik | | | 389 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Profil +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_Combo | 11 | 76 344 | 53 | 0 Actif | Mémoire | | Non | | +| --------- | --- | ------ | --- | ------- | ------- | --- | --- | --- | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_SansNom26 +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | staté siorT | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | ----------- | +ruetuaH +ruegraL +elbisiV +nalP +| INT_Int | | 0 | 0 250 | 70 | 0 | Actif | | 1 | +| ------- | --- | --- | ----- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_SecuriteSMTP +Combo +reihcif eétsissa eisiaS +eriotagilbo eisiaS .zroH tnemeliféD +ruesnecsa elluB +ediv is LLUN +| | | | | | BAT ehcuoT | eisias cevA | | | +| --- | --------------------- | ------- | ------- | ------------ | ---------- | ----------- | --- | --- | +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | +| | | ruegraL | ruetuaH | | | sruocraP | | | +elbisiV +| | | | | | elbaT | eéirT | | | +| --- | --- | --- | --- | --- | ----- | ----- | --- | --- | +nalP +| CMB_Combo | 0 | 0 117 | 53 | 0 Actif | Mémoire | | Non | | +| ---------- | --- | ----- | --- | ------- | ------- | --- | --- | --- | +| 06/08/2026 | | | | Batik | | | | 390 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Soc +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_Combo | 12 344 | 362 | 53 0 Actif | | Mémoire | | Non | | +| --------- | ------ | --- | ---------- | --- | ------- | --- | --- | --- | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_TConge +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | 383 | 90 | 634 26 | 0 | Actif | Gauche | Centre | | +| ------- | --- | --- | ------ | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_Tester +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | --- | +| | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Valider | | 0 | 0 105 | 35 | 0 | Actif | Normal | | +| ----------- | --- | --- | ----- | --- | --- | ----- | ------ | --- | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Trigramme +| 06/08/2026 | | | Batik | | | | | 391 | +| ---------- | --- | --- | ----- | --- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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_Texte | 11 251 | 116 53 0 | Actif Texte | | Non | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_ValiderConfig +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | sucof cevA | +| --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | ruegraL ruetuaH | | cilc cevA | | +| --- | --- | --- | --------------- | --- | --------- | --- | +elbisiV +nalP +| IMG_Icone | | 0 0 | 30 30 | 0 | Actif | | +| --------- | --- | --- | ----- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Ouvert +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --- | --------------------- | --------------- | --- | ------------ | --- | +| | | | ruegraL ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | | 693 2 | 30 24 | 0 | Actif | | +| --------- | --- | ----- | ----- | --- | ----- | --- | +Champ Modèle de champs : CMOD_SansNom1 +| 06/08/2026 | | | Batik | | | 392 | +| ---------- | --- | --- | ----- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Bouton +notuob epyT +| | | | | laitini tatE BAT ehcuoT | | +| --- | --- | --- | --- | ----------------------- | --- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Valider | 880 2 | 141 35 | 0 | Actif | Normal | +| ----------- | ----- | ------ | --- | ----- | ------ | +Champ Modèle de champs : CMOD_SansNom2 +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --------------------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Annuler | 731 2 | 141 35 | 0 | Actif | Normal | +| ----------- | ----- | ------ | --- | ----- | ------ | +Fenêtre : FEN_Fiche_Colb +Champ Modèle de champs : CMOD_Bloque +| Ordre navigation | 2 | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | +| Curseur survol | 0 | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | 0 | | | | | +| Taux Paral. Y | 0 | | | | | +| Épinglé | Non | | | | | +| Masquer lors du scrolling | Non | | | | | +| Ancrage au contenu | <Aucun> | | | | | +| Numéro aide | 0 | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | +| Facteur de rétrécissement | 0 | | | | | +Facteur d'agrandissement +0 +| Ancrage | Droite | | | | | +| ------- | ------ | --- | --- | --- | --- | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Batik | | | 393 | +| ---------- | --- | ----- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 394 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Ouvert +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom1 +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Batik 395 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom2 +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Bloque +Image : CMOD_Bloque.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\cadena_fermé_noire.svg +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> +06/08/2026 Batik 396 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Mire visible Oui +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 934 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 397 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 398 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 399 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 400 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Actif +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Batik 401 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Admin +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 402 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 550 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_AffichagePL +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 403 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_CC_Email +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Civilite +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 404 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_DivBO +Ordre navigation 15 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_DivMOB +Ordre navigation 16 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite, largeur et hauteur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Batik 405 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Fixe +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Fonction +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 406 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Intervient +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_JourConge +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 407 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Mail +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Messagerie +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 408 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_MobTel +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 300 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +06/08/2026 Batik 409 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Nom +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 410 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Planning +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 411 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_PlusConfigEmail +Ordre navigation 19 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Pond +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 412 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_PortSMTP +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 750 Taux anc. bas 1000 Taux anc. largeur 50 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Prenom +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 413 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Profil +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 414 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 800 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Soc +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 415 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_TConge +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_Tester +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 416 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Trigramme +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 417 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Disposition : CMOD_Onglet.ONG_Onglet.DISP_Email +Libellé FR: Disposition +Ordre navigation 18 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cellule ancrée 3 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 6 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Onglet : CMOD_Onglet.ONG_Onglet +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Onglet +Valeur initiale 1 +Ordre navigation 1 +Curseur survol 0 +Onglet dynamique Non +Libellé volet FR: Nouvel onglet +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Retrait gauche 0 +Retrait des onglets 0 +Numéro aide 0 +Autorise ChangeGabarit Oui +Bouton Fermer Oui +06/08/2026 Batik 418 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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 +Champ de saisie : CMOD_Onglet.ONG_Onglet.DISP_Email.SAI_Sign +Libellé FR: Texte HTML +Groupe GR_Saisie +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 256 +Largeur interne 753 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 1 +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> +06/08/2026 Batik 419 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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 Automatique +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> +Liaison des données :stConfigEmailEnCours.SMTP.bufSignature +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 420 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Zone répétée : CMOD_Onglet.ONG_Onglet.ZR_ConfigEmail +Libellé FR: &Zone répétée +Ordre navigation 17 +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 +Hauteur ligne max. 0 +Hauteur ligne 172 +Largeur colonne 214 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +06/08/2026 Batik 421 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : CMOD_Onglet.ONG_Onglet.ZR_Societes +Libellé FR: &Zone répétée +Groupe GR_Saisie +Ordre navigation 3 +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 +Hauteur ligne max. 0 +Hauteur ligne 42 +Largeur colonne 656 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +06/08/2026 Batik 422 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Oui +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 Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Actif +Bouton segmenté : CMOD_Onglet.ONG_Onglet.CMOD_Actif.BS_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Groupe GR_Saisie +Ordre navigation 1 +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é) +Espace entre options 4 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Mode ellipse <Aucun> +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Batik 423 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Facteur d'agrandissement 0 +Valeur persistante Non +Mode bouton segmenté Sélecteur +Texte Markdown Non +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 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Admin +Bouton segmenté : CMOD_Onglet.ONG_Onglet.CMOD_Admin.BS_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Groupe GR_Saisie +Ordre navigation 1 +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é) +Espace entre options 4 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit 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 +Valeur persistante Non +Mode bouton segmenté Sélecteur +Texte Markdown Non +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 +06/08/2026 Batik 424 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_AdresseMailCompte +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Saisie +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 515 +Largeur interne 349 +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 +06/08/2026 Batik 425 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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> +Liaison des données :stConfigEmailEnCours.Compte.sEmail +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_AdresseServeurSMTP +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 426 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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 688 +Largeur interne 134 +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 +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 +06/08/2026 Batik 427 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :stConfigEmailEnCours.SMTP.sAdresseServeur +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_AffichagePL +Combo : CMOD_Onglet.ONG_Onglet.CMOD_AffichagePL.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +Groupe GR_Saisie +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 344 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 11 +Largeur interne 344 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Batik 428 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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 Oui +Liaison des données :UnColb.PreferencePlanning +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 429 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_CC_Email +Champ de saisie : CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_CC_Email.SAI_Jeton +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Jeton : +Groupe GR_Saisie +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 515 +Largeur interne 493 +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 Automatique +Complétion système de fichier Non +Saisie invalide Oui, bloquant +06/08/2026 Batik 430 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Civilite +Combo : CMOD_Onglet.ONG_Onglet.CMOD_Civilite.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +Groupe GR_Saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Oui +06/08/2026 Batik 431 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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 362 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 12 +Largeur interne 362 +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 Oui +Liaison des données :UnColb.saCleCivilite +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +06/08/2026 Batik 432 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_DivBO +Superchamp : CMOD_Onglet.ONG_Onglet.CMOD_DivBO.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 489 +Hauteur externe 362 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 433 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Superchamp : CMOD_Onglet.ONG_Onglet.CMOD_DivBO.SC_Div +Champ Modèle de champs : +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +Groupe GR_CompteBO +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 434 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : +Groupe GR_CompteBO +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +Groupe GR_CompteBO +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 435 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : +Groupe GR_CompteBO +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 436 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Image : CMOD_Onglet.ONG_Onglet.CMOD_DivBO.SC_Div.IMG_Computer_svgrepo_com +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\computer-svgrepo-com.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Onglet.ONG_Onglet.CMOD_DivBO.SC_Div.LIB_LicenceBO +Libellé FR: Licence non attribuée +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 +06/08/2026 Batik 437 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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 +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_DivBO.SC_Div.CMOD_BO +Bouton : CMOD_Onglet.ONG_Onglet.CMOD_DivBO.SC_Div.CMOD_BO.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Groupe GR_Saisie +Ordre navigation 1 +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) +06/08/2026 Batik 438 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Type flèche <Aucun> +Texte Markdown Non +Mode menu ctx. <Aucun> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_DivBO.SC_Div.CMOD_Compte +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Saisie +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 24 +Largeur interne 247 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +06/08/2026 Batik 439 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :UnColb.clUtilisateur.saLogin +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 440 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_DivBO.SC_Div.CMOD_ModifierMp +Image : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\crayon_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 441 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_DivBO.SC_Div.CMOD_Mot_de_passe_Modif +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Saisie +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 24 +Largeur interne 247 +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 +06/08/2026 Batik 442 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_DivBO.SC_Div.CMOD_Mp +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +06/08/2026 Batik 443 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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 24 +Largeur interne 247 +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 +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 +06/08/2026 Batik 444 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Mode menu ctx. <Aucun> +Liaison des données :UnColb.clUtilisateur.saMotDePasse +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_DivBO.SC_Div.CMOD_SansNom9 +Libellé : CMOD_Onglet.ONG_Onglet.CMOD_DivBO.SC_Div.CMOD_SansNom9.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 +06/08/2026 Batik 445 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Mise à blanc Oui +Texte Markdown Non +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 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_DivMOB +Superchamp : CMOD_Onglet.ONG_Onglet.CMOD_DivMOB.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 490 +Hauteur externe 362 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 446 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Superchamp : CMOD_Onglet.ONG_Onglet.CMOD_DivMOB.SC_Div +Code-barres : CMOD_Onglet.ONG_Onglet.CMOD_DivMOB.SC_Div.CBA_QrCode +Libellé FR: QrCode +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Touche TAB Non +Type contenu Texte/URL (défaut) +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Centre +Cadrage vert. Centre +Orientation Normale +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 +Ancrage Largeur et hauteur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 447 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\mobile-browser-svgrepo-com.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 448 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Onglet.ONG_Onglet.CMOD_DivMOB.SC_Div.LIB_LicenceMOB +Libellé FR: Licence non attribuée +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 +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_DivMOB.SC_Div.CMOD_Mob +06/08/2026 Batik 449 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Bouton : CMOD_Onglet.ONG_Onglet.CMOD_DivMOB.SC_Div.CMOD_Mob.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Groupe GR_Saisie +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 450 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_DivMOB.SC_Div.CMOD_SansNom10 +Libellé : CMOD_Onglet.ONG_Onglet.CMOD_DivMOB.SC_Div.CMOD_SansNom10.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 451 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Fixe +Champ de saisie : CMOD_Onglet.ONG_Onglet.CMOD_Fixe.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Saisie +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 194 +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 +06/08/2026 Batik 452 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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> +Liaison des données :UnColb.saTelFixe +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Fonction +Champ de saisie : CMOD_Onglet.ONG_Onglet.CMOD_Fonction.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 453 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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 12 +Largeur interne 362 +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 +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 +06/08/2026 Batik 454 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :UnColb.saFonction +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Intervient +Libellé : CMOD_Onglet.ONG_Onglet.CMOD_Intervient.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 +06/08/2026 Batik 455 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Facteur d'agrandissement 0 +Mise à blanc Oui +Texte Markdown Non +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 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_JourConge +Table : CMOD_Onglet.ONG_Onglet.CMOD_JourConge.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 456 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : CMOD_Onglet.ONG_Onglet.CMOD_JourConge.TABLE_Info +Colonne de table : CMOD_Onglet.ONG_Onglet.CMOD_JourConge.TABLE_Info.COL_PKID +Titre FR: PKID +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 +06/08/2026 Batik 457 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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 : CMOD_Onglet.ONG_Onglet.CMOD_JourConge.TABLE_Info.COL_Jour +Titre FR: Jour +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 400 Taux anc. hauteur 1000 +06/08/2026 Batik 458 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Colonne de table : +Titre FR: Heure 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: HH:MM +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Heure 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: HH:MM +06/08/2026 Batik 459 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › 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 200 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Journée de repos +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 200 Taux anc. hauteur 1000 +06/08/2026 Batik 460 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Mail +Champ de saisie : CMOD_Onglet.ONG_Onglet.CMOD_Mail.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Saisie +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 12 +Largeur interne 362 +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 +06/08/2026 Batik 461 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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> +Liaison des données :UnColb.saEmail +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Messagerie +Combo : CMOD_Onglet.ONG_Onglet.CMOD_Messagerie.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +Groupe GR_Saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 462 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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 344 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 11 +Largeur interne 344 +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 Oui +Liaison des données :UnColb.PreferenceMessagerie +Nb. Enreg. Max 0 +1ère ligne perso. Non +06/08/2026 Batik 463 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_MobTel +Champ de saisie : CMOD_Onglet.ONG_Onglet.CMOD_MobTel.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Saisie +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 12 +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 +06/08/2026 Batik 464 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › 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 +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> +Liaison des données :UnColb.saTelMobile +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 465 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_MotdePasseSMTP +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Saisie +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 515 +Largeur interne 170 +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 +06/08/2026 Batik 466 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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> +Liaison des données :stConfigEmailEnCours.SMTP.sMdp +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Nom +Champ de saisie : CMOD_Onglet.ONG_Onglet.CMOD_Nom.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 467 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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 12 +Largeur interne 362 +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 +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 +06/08/2026 Batik 468 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :UnColb.saNom +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_NomCompte +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Saisie +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 254 +Largeur interne 258 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Batik 469 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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 +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> +Liaison des données :stConfigEmailEnCours.Compte.sCompte +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 et hauteur +06/08/2026 Batik 470 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_NomUtilisateurSMTP +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Saisie +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 254 +Largeur interne 258 +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 +06/08/2026 Batik 471 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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> +Liaison des données :stConfigEmailEnCours.SMTP.sLogin +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Planning +06/08/2026 Batik 472 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Bouton segmenté : CMOD_Onglet.ONG_Onglet.CMOD_Planning.BS_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Groupe GR_Saisie +Ordre navigation 1 +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é) +Espace entre options 4 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit 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 +Valeur persistante Non +Mode bouton segmenté Sélecteur +Texte Markdown Non +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 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_PlusConfigEmail +Bouton : CMOD_Onglet.ONG_Onglet.CMOD_PlusConfigEmail.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Groupe GR_Saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 473 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Pond +Champ de saisie : CMOD_Onglet.ONG_Onglet.CMOD_Pond.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 474 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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 135 +Largeur interne 220 +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: 999,99 +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 +06/08/2026 Batik 475 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :UnColb.rPonderation +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_PortSMTP +Champ de saisie : CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_PortSMTP.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Saisie +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 824 +Largeur interne 62 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Batik 476 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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 +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> +Liaison des données :stConfigEmailEnCours.SMTP.sPortServeur +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 et hauteur +06/08/2026 Batik 477 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Prenom +Champ de saisie : CMOD_Onglet.ONG_Onglet.CMOD_Prenom.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Saisie +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 12 +Largeur interne 362 +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 +06/08/2026 Batik 478 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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> +Liaison des données :UnColb.saPrenom +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Profil +06/08/2026 Batik 479 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Combo : CMOD_Onglet.ONG_Onglet.CMOD_Profil.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +Groupe GR_Saisie +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 344 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 11 +Largeur interne 344 +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 +06/08/2026 Batik 480 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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 Oui +Liaison des données :UnColb.clUtilisateur.nIdRole +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_SansNom26 +Interrupteur : CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_SansNom26.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Groupe GR_Saisie +Ordre navigation 1 +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) +06/08/2026 Batik 481 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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> +Liaison des données :stConfigEmailEnCours.SMTP.bEnCopieCachee +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +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 +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_SecuriteSMTP +Combo : CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_SecuriteSMTP.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +Groupe GR_Saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 117 +Larg. déroulée perso. Non +Hauteur ligne 38 +06/08/2026 Batik 482 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Retrait gauche 10 +Position X interne 888 +Largeur interne 117 +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 Oui +Liaison des données :stConfigEmailEnCours.SMTP.nCryptage +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 483 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Soc +Combo : CMOD_Onglet.ONG_Onglet.CMOD_Soc.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +Groupe GR_Saisie +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 362 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 12 +Largeur interne 362 +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 +06/08/2026 Batik 484 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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 Oui +Liaison des données :UnColb.clUtilisateur.nIDSocietePrincipale +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_TConge +Libellé : CMOD_Onglet.ONG_Onglet.CMOD_TConge.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse <Aucun> +06/08/2026 Batik 485 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_Tester +Bouton : CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_Tester.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +06/08/2026 Batik 486 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Trigramme +Champ de saisie : CMOD_Onglet.ONG_Onglet.CMOD_Trigramme.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 11 +Largeur interne 116 +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 +06/08/2026 Batik 487 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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> +Liaison des données :UnColb.saTrigramme +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 488 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_ValiderConfig +Image : CMOD_Onglet.ONG_Onglet.DISP_Email.CMOD_ValiderConfig.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Validé_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 489 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Zone répétée : CMOD_Onglet.ONG_Onglet.ZR_ConfigEmail +Attribut zone répétée : CMOD_Onglet.ONG_Onglet.ZR_ConfigEmail.ATT_Code (2) +Champ associé LIB_Code +Propriété associée 1 +Attribut zone répétée : CMOD_Onglet.ONG_Onglet.ZR_ConfigEmail.ATT_IdSoc (1) +Champ associé LIB_IdSoc +Propriété associée 1 +Champ Modèle de champs : +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +06/08/2026 Batik 490 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 491 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Libellé : CMOD_Onglet.ONG_Onglet.ZR_ConfigEmail.LIB_Code +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é : CMOD_Onglet.ONG_Onglet.ZR_ConfigEmail.LIB_Couleur +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +06/08/2026 Batik 492 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Onglet.ONG_Onglet.ZR_ConfigEmail.LIB_IdSoc +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 Numérique +Masque saisie FR: 99 999 999 999 999 999 999 +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 +06/08/2026 Batik 493 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Libellé : CMOD_Onglet.ONG_Onglet.ZR_ConfigEmail.LIB_Soc +Libellé FR: Société +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.ZR_ConfigEmail.CMOD_AdresseMailCompte +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +06/08/2026 Batik 494 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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 16 +Largeur interne 194 +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 +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> +06/08/2026 Batik 495 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.ZR_ConfigEmail.CMOD_Modifier +Image : CMOD_Onglet.ONG_Onglet.ZR_ConfigEmail.CMOD_Modifier.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\crayon_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +06/08/2026 Batik 496 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.ZR_ConfigEmail.CMOD_NomCompte +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 16 +Largeur interne 194 +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 +06/08/2026 Batik 497 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › 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 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 498 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.ZR_ConfigEmail.CMOD_Supprimer +Image : CMOD_Onglet.ONG_Onglet.ZR_ConfigEmail.CMOD_Supprimer.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\poubelle_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 499 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Zone répétée : CMOD_Onglet.ONG_Onglet.ZR_Societes +Attribut zone répétée : CMOD_Onglet.ONG_Onglet.ZR_Societes.ATT_Actif (3) +Champ associé INT_Soc +Propriété associée 1 +Attribut zone répétée : CMOD_Onglet.ONG_Onglet.ZR_Societes.ATT_IdSoc (1) +Champ associé LIB_Id +Propriété associée 1 +Attribut zone répétée : CMOD_Onglet.ONG_Onglet.ZR_Societes.ATT_LibSoc (2) +Champ associé LIB_Soc +Propriété associée 1 +Interrupteur à bascule : CMOD_Onglet.ONG_Onglet.ZR_Societes.INT_Soc +Valeur initiale 0 +Groupe GR_Saisie +Ordre navigation 1 +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 +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 d'affichage Externe - 1 libellé à gauche +Cadrage libellés externes Collés au bord du champ +Cadrage des options (internes) Centrés +Largeur curseur 50% Non +Personnaliser le picto AMI Non +06/08/2026 Batik 500 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Onglet.ONG_Onglet.ZR_Societes.LIB_Id +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 Numérique +Masque saisie FR: 99 999 999 999 999 999 999 +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é : CMOD_Onglet.ONG_Onglet.ZR_Societes.LIB_Soc +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é) +06/08/2026 Batik 501 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Ouvert +Image : CMOD_Ouvert.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\cadena_ouvert_noire.svg +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 +06/08/2026 Batik 502 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Mode menu ctx. <Aucun> +Mire visible Oui +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_SansNom1 +Bouton : CMOD_SansNom1.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +06/08/2026 Batik 503 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom2 +Bouton : CMOD_SansNom2.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +Nb. états image 1 +06/08/2026 Batik 504 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Informations sur les champs +| Nb. états fond | 5 | | | +| ---------------------------- | -------------------------- | --- | --- | +| Etirement de l'image de fond | Mode 9 images personnalisé | | | +| Nb. étapes animation | 1 | | | +| Largeur Halo | 0 | | | +| Hauteur Halo | 0 | | | +| Personnaliser le picto AMI | Non | | | +| Indice du picto AMI | 1 | | | +| Ancrage | Largeur | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Fiche_Colb +Code +Déclarations globales de FEN_Fiche_Colb +procédure FEN_Fiche_Colb(tbaParametres est un tableau associatif de chaînes ANSI) +MoiMême..Alias = tbaParametres[cParam_Alias] +nId est un entier sur 8 octets = tbaParametres[cParam_IdFen] +UnColb est un MCollaborateur +| bLicenceBO | est un booléen | | | +| ------------------ | ---------------------------------------- | ----------------------- | --- | +| bLicenceMOB | est un booléen | | | +| saCleLicenceMOB | est une chaîne ANSI | | | +| bNouveauMP | est un booléen | | | +| bDroitModif | est un booléen | = bDroit(cGestion_Colb) | | +| bModifMail | est un booléen | | | +| tabParamEmailPerso | est un tableau de STParamEnvoiEmailPerso | | | +taParamEmailConfig est un tableau associatif de STParamEnvoiEmailPerso +| stConfigEmailEnCours est un STParamEnvoiEmailPerso | | | | +| -------------------------------------------------- | --- | --- | --- | +| bBloque est un booléen | | | | +Fin d'initialisation de FEN_Fiche_Colb +ChargeColb() +si nId > 0 _et_ UnColb:nPKID <= 0 alors +Ferme() +fin +GR_Saisie..EnSaisie = bDroitModif +Charge() +MaJBtnBlocage() +FiltreHoraire() +| 06/08/2026 | | Batik | 505 | +| ---------- | --- | ----- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +FEN_Fiche_Colb +Code des champs +Fin d'initialisation de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +BlocageEnrg() +A chaque modification de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Bloque ) +06/08/2026 Batik 506 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +06/08/2026 Batik 507 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Création d'un volet dans ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fermeture d'un volet de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modification du volet affiché de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ValiderUneConfigEmail() +Bouton gauche enfoncé (WM_LBUTTONDOWN) de ONG_Onglet ( CMOD_Onglet ) +06/08/2026 Batik 508 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BS_Choix ( CMOD_Actif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de BS_Choix ( CMOD_Actif ) +procédure OptionModifiée(IndiceOptionModifiée) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(IndiceOptionModifiée) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de BS_Choix ( CMOD_Actif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Admin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Admin +06/08/2026 Batik 509 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Admin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Admin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Admin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Admin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Admin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BS_Choix ( CMOD_Admin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de BS_Choix ( CMOD_Admin ) +procédure OptionModifiée(IndiceOptionModifiée) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(IndiceOptionModifiée) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de BS_Choix ( CMOD_Admin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_AffichagePL +salib = "Affichage par défaut" +Fin d'initialisation de CMOD_AffichagePL +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_AffichagePL +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_AffichagePL +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 510 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +ExécuteAncêtre +Sortie de CMOD_AffichagePL +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_AffichagePL +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_AffichagePL +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_AffichagePL +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_AffichagePL ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ListeAjoute(MonChamp,"Planning"+gLien(MParametreUtilisateur::cPlanning)) +ListeAjoute(MonChamp,"Agenda"+gLien(MParametreUtilisateur::cAgenda)) +ListeSelectPlus(MonChamp,1) +Entrée dans CMB_Combo ( CMOD_AffichagePL ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_AffichagePL ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_AffichagePL ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_AffichagePL ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Civilite +salib = "Civilité" +Fin d'initialisation de CMOD_Civilite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Civilite +06/08/2026 Batik 511 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Civilite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Civilite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Civilite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Civilite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Civilite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Civilite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême.NomComplet,cParam_Civilite,Vrai,UnColb:saCleCivilite) +Entrée dans CMB_Combo ( CMOD_Civilite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Civilite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Civilite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Civilite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_DivBO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DivBO +06/08/2026 Batik 512 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DivBO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DivBO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DivBO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DivBO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DivBO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 513 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_BO +salib ="Attribuer" +Fin d'initialisation de CMOD_BO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_BO ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_BO ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +bLicenceBO = pas bLicenceBO +AffichageLicence() +si bLicenceBO alors +si CMOD_Compte.SAI_Texte = "" alors +06/08/2026 Batik 514 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +si CMOD_Trigramme.SAI_Texte = "" alors +CMOD_Trigramme.SAI_Texte = CalculTrigramme() +fin +CMOD_Compte.SAI_Texte = CMOD_Trigramme.SAI_Texte +fin +bNouveauMP = Vrai +fin +Déclarations globales de CMOD_Compte +salib = "Compte" +Fin d'initialisation de CMOD_Compte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Compte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Compte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Compte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Compte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Compte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Compte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Compte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Compte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Compte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Compte ) +06/08/2026 Batik 515 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Compte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_ModifierMp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ModifierMp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ModifierMp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ModifierMp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ModifierMp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ModifierMp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ModifierMp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_ModifierMp ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_ModifierMp ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CMOD_Mot_de_passe_Modif..Visible = Vrai +bNouveauMP = Vrai +A chaque modification de IMG_Icone ( CMOD_ModifierMp ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_ModifierMp ) +06/08/2026 Batik 516 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_ModifierMp ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_ModifierMp ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Mot_de_passe_Modif +salib = "Nouveau mot de passe" +Fin d'initialisation de CMOD_Mot_de_passe_Modif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Mot_de_passe_Modif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Mot_de_passe_Modif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Mot_de_passe_Modif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Mot_de_passe_Modif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Mot_de_passe_Modif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Mot_de_passe_Modif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Mot_de_passe_Modif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Mot_de_passe_Modif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Mot_de_passe_Modif ) +06/08/2026 Batik 517 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Mot_de_passe_Modif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Mot_de_passe_Modif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Mp +salib = "Mot de passe" +Fin d'initialisation de CMOD_Mp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Mp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Mp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Mp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Mp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Mp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Mp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Mp ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Mp ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Mp ) +06/08/2026 Batik 518 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Mp ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Mp ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SansNom9 +salib = "Application de bureau" +Fin d'initialisation de CMOD_SansNom9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_SansNom9 ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_SansNom9 ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de LIB_LicenceBO ( SC_Div ) +06/08/2026 Batik 519 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +// Version 1 +// Description +// Libellé simple +Fin d'initialisation de CMOD_DivMOB +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DivMOB +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DivMOB +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DivMOB +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DivMOB +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DivMOB +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DivMOB +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +06/08/2026 Batik 520 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Mob +salib = "Attribuer" +Fin d'initialisation de CMOD_Mob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Mob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Mob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Mob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Mob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Mob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Mob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Mob ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Mob ) +06/08/2026 Batik 521 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +bLicenceMOB = pas bLicenceMOB +GR_Saisie.Modifié= Vrai +si bLicenceMOB alors +AttribuerLicenceMobile() +sinon +si pas OuiNon("Retirer la Licence1 mobile de cet utilisateur ?","La Licence1 +ainsi libérée sera disponible pour un autre utilisateur") alors +bLicenceMOB = Vrai +sinon +RetirerLicenceMobile() +fin +fin +AffichageLicence() +Déclarations globales de CMOD_SansNom10 +salib = "Application mobile" +Fin d'initialisation de CMOD_SansNom10 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom10 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom10 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom10 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom10 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom10 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom10 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_SansNom10 ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_SansNom10 ) (modèle MDLC_LibTitreWidget) +06/08/2026 Batik 522 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de LIB_LicenceMOB ( SC_Div ) +// Version 1 +// Description +// Libellé simple +Déclarations globales de CMOD_Fixe +salib = "Tél fixe" +Fin d'initialisation de CMOD_Fixe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Fixe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Fixe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Fixe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Fixe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Fixe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Fixe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Fixe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Fixe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Fixe ) +06/08/2026 Batik 523 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Fixe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Fixe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Fonction +salib = "Fonction" +Fin d'initialisation de CMOD_Fonction +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Fonction +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Fonction +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Fonction +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Fonction +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Fonction +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Fonction +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Fonction ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Fonction ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Fonction ) +06/08/2026 Batik 524 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Fonction ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Fonction ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Intervient +salib = "Intervient pour les sociétés suivantes " +Fin d'initialisation de CMOD_Intervient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Intervient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Intervient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Intervient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Intervient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Intervient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Intervient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Intervient ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Intervient ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_JourConge +06/08/2026 Batik 525 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_JourConge +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_JourConge +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_JourConge +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_JourConge +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_JourConge +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_JourConge +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 526 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_Conge ( TABLE_Info ) +si COL_Conge[TABLE_Info] alors +COL_HeureD[TABLE_Info] = "000000000" +COL_HeureF[TABLE_Info] = "000000000" +fin +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Mail +salib = "Mail" +Fin d'initialisation de CMOD_Mail +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Mail +06/08/2026 Batik 527 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Mail +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Mail +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Mail +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Mail +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Mail +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Mail ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Mail ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Mail ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Mail ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Mail ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Messagerie +salib = "Messagerie par défaut" +Fin d'initialisation de CMOD_Messagerie +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Messagerie +06/08/2026 Batik 528 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Messagerie +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Messagerie +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Messagerie +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Messagerie +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Messagerie +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Messagerie ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ListeAjoute(MonChamp,"Externe"+gLien(MParametreUtilisateur::cExterne)) +ListeAjoute(MonChamp,"Back-Office"+gLien(MParametreUtilisateur::cBack_Office)) +ListeSelectPlus(MonChamp,1) +Entrée dans CMB_Combo ( CMOD_Messagerie ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Messagerie ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Messagerie ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ParamEmailVisible() +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Messagerie ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_MobTel +salib = "Tél mobile" +Fin d'initialisation de CMOD_MobTel +06/08/2026 Batik 529 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_MobTel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_MobTel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_MobTel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_MobTel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_MobTel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_MobTel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_MobTel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_MobTel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_MobTel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_MobTel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_MobTel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Nom +salib = "Nom" +Fin d'initialisation de CMOD_Nom +06/08/2026 Batik 530 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CMOD_Trigramme.SAI_Texte = CalculTrigramme() +A chaque modification de SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +LIB_Libellé=CMOD_Nom.SAI_Texte +" " + CMOD_Prenom.SAI_Texte +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Planning +06/08/2026 Batik 531 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Planning +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Planning +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Planning +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Planning +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Planning +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Planning +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BS_Choix ( CMOD_Planning ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de BS_Choix ( CMOD_Planning ) +procédure OptionModifiée(IndiceOptionModifiée) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(IndiceOptionModifiée) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de BS_Choix ( CMOD_Planning ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_PlusConfigEmail +salib = "Configuration email + " +Fin d'initialisation de CMOD_PlusConfigEmail +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_PlusConfigEmail +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 532 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +ExécuteAncêtre +Entrée dans CMOD_PlusConfigEmail +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_PlusConfigEmail +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_PlusConfigEmail +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_PlusConfigEmail +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_PlusConfigEmail +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_PlusConfigEmail ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_PlusConfigEmail ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +AjouterConfigMail() +Déclarations globales de CMOD_Pond +salib = "Pondération des temps passés" +Fin d'initialisation de CMOD_Pond +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Pond +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Pond +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Pond +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Pond +06/08/2026 Batik 533 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Pond +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Pond +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Pond ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Pond ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Pond ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Pond ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Pond ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Prenom +salib = "Prénom" +Fin d'initialisation de CMOD_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Prenom +06/08/2026 Batik 534 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Prenom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Prenom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Prenom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CMOD_Trigramme.SAI_Texte = CalculTrigramme() +A chaque modification de SAI_Texte ( CMOD_Prenom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +LIB_Libellé=CMOD_Nom.SAI_Texte +" " + CMOD_Prenom.SAI_Texte +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Prenom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Profil +salib = "Profil" +Fin d'initialisation de CMOD_Profil +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Profil +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Profil +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Profil +06/08/2026 Batik 535 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Profil +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Profil +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Profil +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Profil ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême.NomComplet,cRoleUtilisateur,Vrai,UnColb:clUtilisateur:nIdRole) +Entrée dans CMB_Combo ( CMOD_Profil ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Profil ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Profil ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Profil ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Soc +salib = "Société principal" +Fin d'initialisation de CMOD_Soc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Soc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Soc +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 536 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +ExécuteAncêtre +Sortie de CMOD_Soc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Soc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Soc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Soc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Soc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême.NomComplet,cSocietes,Vrai,UnColb:clUtilisateur:nIDSocietePrincipale) +Entrée dans CMB_Combo ( CMOD_Soc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Soc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Soc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +n est un entier +si CMOD_Soc.CMB_Combo <> UnColb:clUtilisateur:nIDSocietePrincipale _et_ UnColb:clUtilisateur: +nIDSocietePrincipale > 0 alors +n = ZoneRépétéeCherche(ZR_Societes.ATT_IdSoc,UnColb:clUtilisateur:nIDSocietePrincipale, +rechercheIdentique) +si n > 0 _et_ ZR_Societes[n].INT_Soc alors +si OuiNon("Voulez-vous supprimer la société "+ZR_Societes[n].LIB_Soc+" des sociétés rattaches " +) = Oui alors +ZR_Societes[n].INT_Soc = Faux +RevoirConfigMailSoc(Faux,CMOD_Soc.CMB_Combo) +fin +ZR_Societes[n].INT_Soc..Grisé = Faux +fin +fin +UnColb:clUtilisateur:nIDSocietePrincipale = CMOD_Soc.CMB_Combo +n = ZoneRépétéeCherche(ZR_Societes.ATT_IdSoc,UnColb: +clUtilisateur:nIDSocietePrincipale,rechercheIdentique) +si n > 0 alors +ZR_Societes[n].INT_Soc = Vrai +ZR_Societes[n].INT_Soc..Grisé = Vrai +06/08/2026 Batik 537 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +fin +RevoirConfigMailSoc(Vrai,CMOD_Soc.CMB_Combo) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Soc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_TConge +salib = "Heures de travail" +Fin d'initialisation de CMOD_TConge +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TConge +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TConge +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TConge +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TConge +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TConge +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TConge +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_TConge ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_TConge ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Trigramme +salib = "Trigramme" +Fin d'initialisation de CMOD_Trigramme +06/08/2026 Batik 538 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Trigramme +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Trigramme +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Trigramme +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Trigramme +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Trigramme +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Trigramme +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Trigramme ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Trigramme ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Trigramme ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Trigramme ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Trigramme ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_AdresseMailCompte +salib = "Adresse Mail" +Fin d'initialisation de CMOD_AdresseMailCompte +06/08/2026 Batik 539 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_AdresseMailCompte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_AdresseMailCompte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_AdresseMailCompte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_AdresseMailCompte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_AdresseMailCompte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_AdresseMailCompte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_AdresseMailCompte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_AdresseMailCompte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_AdresseMailCompte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_AdresseMailCompte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_AdresseMailCompte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_AdresseServeurSMTP +salib = "Adresse du serveur SMTP" +Fin d'initialisation de CMOD_AdresseServeurSMTP +06/08/2026 Batik 540 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_AdresseServeurSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_AdresseServeurSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_AdresseServeurSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_AdresseServeurSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_AdresseServeurSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_AdresseServeurSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_AdresseServeurSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_AdresseServeurSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_AdresseServeurSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_AdresseServeurSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_AdresseServeurSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CC_Email +salib = "En copie émail :" +Fin d'initialisation de CMOD_CC_Email +06/08/2026 Batik 541 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CC_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CC_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CC_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CC_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CC_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CC_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Jeton ( CMOD_CC_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Jeton ( CMOD_CC_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Jeton ( CMOD_CC_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ajout d'un jeton dans SAI_Jeton ( CMOD_CC_Email ) +procédure AjoutJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Suppression d'un jeton dans SAI_Jeton ( CMOD_CC_Email ) +procédure SuppressionJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Clic sur un jeton de SAI_Jeton ( CMOD_CC_Email ) +06/08/2026 Batik 542 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +procédure ClicJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(MonJeton) +Entrée en saisie d'un jeton de SAI_Jeton ( CMOD_CC_Email ) +procédure EntreSaisieJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Modification d'un jeton de SAI_Jeton ( CMOD_CC_Email ) +procédure ModificationJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +A chaque modification de SAI_Jeton ( CMOD_CC_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Jeton ( CMOD_CC_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_MotdePasseSMTP +salib = "Mot de passe" +Fin d'initialisation de CMOD_MotdePasseSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_MotdePasseSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_MotdePasseSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_MotdePasseSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_MotdePasseSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_MotdePasseSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_MotdePasseSMTP +06/08/2026 Batik 543 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_MotdePasseSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_MotdePasseSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_MotdePasseSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_MotdePasseSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_MotdePasseSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NomCompte +salib = "Nom du compte" +Fin d'initialisation de CMOD_NomCompte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NomCompte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NomCompte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NomCompte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NomCompte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NomCompte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NomCompte +06/08/2026 Batik 544 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NomCompte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_NomCompte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_NomCompte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_NomCompte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NomCompte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NomUtilisateurSMTP +salib = "Nom d'utilisateur/Login" +Fin d'initialisation de CMOD_NomUtilisateurSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NomUtilisateurSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NomUtilisateurSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NomUtilisateurSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NomUtilisateurSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NomUtilisateurSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NomUtilisateurSMTP +06/08/2026 Batik 545 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NomUtilisateurSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_NomUtilisateurSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_NomUtilisateurSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_NomUtilisateurSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NomUtilisateurSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_PortSMTP +salib = "Port" +Fin d'initialisation de CMOD_PortSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_PortSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_PortSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_PortSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_PortSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_PortSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_PortSMTP +06/08/2026 Batik 546 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_PortSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_PortSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_PortSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_PortSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_PortSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SansNom26 +salib = "Me mettre en copie cachée des mails envoyés" +Fin d'initialisation de CMOD_SansNom26 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom26 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom26 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom26 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom26 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom26 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom26 +06/08/2026 Batik 547 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_SansNom26 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Int ( CMOD_SansNom26 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Int ( CMOD_SansNom26 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Int ( CMOD_SansNom26 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_SansNom26 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SecuriteSMTP +salib = "Cryptage" +Fin d'initialisation de CMOD_SecuriteSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SecuriteSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SecuriteSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SecuriteSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SecuriteSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SecuriteSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SecuriteSMTP +06/08/2026 Batik 548 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_SecuriteSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ListeSupprimeTout(MoiMême) +ListeAjoute(MoiMême,"Aucun"+gValeurMémorisée(c_Sec_Aucun)) +ListeAjoute(MoiMême,"TLS"+gValeurMémorisée(c_Sec_TLS)) +ListeAjoute(MoiMême,"SSL"+gValeurMémorisée(c_Sec_SSL)) +Entrée dans CMB_Combo ( CMOD_SecuriteSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_SecuriteSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_SecuriteSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_SecuriteSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Tester +salib = "Tester" +Fin d'initialisation de CMOD_Tester +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Tester +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Tester +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Tester +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Tester +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Tester +06/08/2026 Batik 549 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Tester +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Tester ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Tester ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +TesterParamEmail("") +Fin d'initialisation de CMOD_ValiderConfig +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ValiderConfig +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ValiderConfig +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ValiderConfig +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ValiderConfig +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ValiderConfig +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ValiderConfig +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_ValiderConfig ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_ValiderConfig ) +06/08/2026 Batik 550 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ValiderUneConfigEmail() +A chaque modification de IMG_Icone ( CMOD_ValiderConfig ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_ValiderConfig ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_ValiderConfig ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_ValiderConfig ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans ZR_ConfigEmail +gsaNomChampEnCours = MoiMême..NomComplet +Sélection d'une ligne de ZR_ConfigEmail +AfficheUneConfigEmail() +Déclarations globales de CMOD_AdresseMailCompte +salib = "Adresse Mail" +Fin d'initialisation de CMOD_AdresseMailCompte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_AdresseMailCompte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_AdresseMailCompte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_AdresseMailCompte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_AdresseMailCompte +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 551 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_AdresseMailCompte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_AdresseMailCompte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_AdresseMailCompte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_AdresseMailCompte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_AdresseMailCompte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_AdresseMailCompte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_AdresseMailCompte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Modifier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Modifier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Modifier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Modifier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Modifier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Modifier +06/08/2026 Batik 552 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Modifier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Modifier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Modifier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +AfficheUneConfigEmail() +A chaque modification de IMG_Icone ( CMOD_Modifier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Modifier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Modifier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Modifier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NomCompte +salib = "Nom du compte" +Fin d'initialisation de CMOD_NomCompte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NomCompte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NomCompte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NomCompte +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 553 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NomCompte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NomCompte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NomCompte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NomCompte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_NomCompte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_NomCompte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_NomCompte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NomCompte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Supprimer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Supprimer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Supprimer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Supprimer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Supprimer +06/08/2026 Batik 554 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Supprimer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Supprimer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Supprimer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Supprimer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si OuiNon("Confirmez vous la suppression de la configuration email ? ") =Non alors +retour +sinon +SupprimeConfigMail() +fin +A chaque modification de IMG_Icone ( CMOD_Supprimer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Supprimer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Supprimer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Supprimer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_Code ( ZR_ConfigEmail ) +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_IdSoc ( ZR_ConfigEmail ) +// Version 1 +// Description +// Libellé simple +Initialisation de ZR_Societes +06/08/2026 Batik 555 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +i est un entier +pour tout oSoc de gtabListeSocietes +si pas oSoc:bArchive alors +i = ZoneRépétéeAjouteLigne(ZR_Societes) +ZR_Societes[i].LIB_Soc = oSoc.saNom +ZR_Societes[i].LIB_Id = oSoc.nPKID +ZR_Societes[i].INT_Soc = Faux +fin +fin +ZR_Societes.SelectMoins() +Entrée dans ZR_Societes +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de INT_Soc ( ZR_Societes ) +// Version 1 +// Description +// Interrupteur à bascule 1 libellé externe à gauche +A chaque modification de INT_Soc ( ZR_Societes ) +nPos est un entier = ZR_Societes +si nPos > 0 alors +RevoirConfigMailSoc(ZR_Societes[nPos].INT_Soc,ZR_Societes[nPos].ATT_IdSoc) +fin +Initialisation de LIB_Id ( ZR_Societes ) +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_Soc ( ZR_Societes ) +// Version 1 +// Description +// Libellé simple +Fin d'initialisation de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ouvert +06/08/2026 Batik 556 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +BlocageEnrg() +A chaque modification de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +06/08/2026 Batik 557 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si bDroitModif alors +ValiderUneConfigEmail() +si pas ControleOK() alors RepriseSaisie() +si pas SauveDonnées() alors RepriseSaisie() +fin +Ferme() +Fin d'initialisation de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 558 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +FEN_Fiche_Colb +Procédures +Procédure locale AffichageLicence +procédure AffichageLicence() +si bLicenceMOB alors +CMOD_Mob.BTN_Valider.Libellé = "Retirer" +CMOD_Mob.BTN_Valider.Couleur = Palette_du_projet["primary"] +| LIB_LicenceMOB.Libellé = "Licence attribué" | | | +| ------------------------------------------------------ | --- | --- | +| LIB_LicenceMOB.Couleur = Palette_du_projet["primary"] | | | +sinon +CMOD_Mob.BTN_Valider.Libellé = "Attribuer" +CMOD_Mob.BTN_Valider.Couleur = Palette_du_projet["primary_red_background"] +| LIB_LicenceMOB.Libellé = "Licence NON attribuée" | | | +| ------------------------------------------------- | --- | --- | +LIB_LicenceMOB.Couleur = Palette_du_projet["primary_red_background"] +fin +si bLicenceBO alors +| LIB_LicenceBO = "Licence attribuée" | | | +| ---------------------------------------------------------- | --- | --- | +| LIB_LicenceBO..Couleur = Palette_du_projet["primary"] | | | +| CMOD_BO.BTN_Valider.Couleur = Palette_du_projet["primary"] | | | +| CMOD_BO.BTN_Valider.Libellé = "Retirer" | | | +| GR_CompteBO.Visible = Vrai | | | +si CMOD_Compte.SAI_Texte <> "" et CMOD_Mp.SAI_Texte <> "" alors +CMOD_ModifierMp..Visible = bDroitModif +| 06/08/2026 | Batik | 559 | +| ---------- | ----- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Procédures +CMOD_Mp.SAI_Texte..Grisé = Vrai +sinon +CMOD_Mp.SAI_Texte..Grisé = Faux +fin +sinon +LIB_LicenceBO = "Licence NON attribuée" +LIB_LicenceBO..Couleur = Palette_du_projet["primary_red_background"] +CMOD_BO.BTN_Valider.Couleur = Palette_du_projet["primary_red_background"] +CMOD_BO.BTN_Valider..Libellé = "Attribuer" +GR_CompteBO.Visible = Faux +CMOD_Mp.SAI_Texte = "" +fin +CMOD_Mot_de_passe_Modif..Visible = Faux +QrCode() +Procédure locale AfficheUneConfigEmail +procédure AfficheUneConfigEmail() +nPos est un entier = ZR_ConfigEmail +si nPos > 0 _et_ ZR_ConfigEmail[nPos].ATT_IdSoc > 0 alors +DISP_Email[2]..Visible = Faux +sinon si nPos > 0 alors +DISP_Email[2]..Visible = Vrai +sinon +retour +fin +si taParamEmailConfig[ZR_ConfigEmail[nPos].ATT_Code]..Existe alors +stConfigEmailEnCours = taParamEmailConfig[ZR_ConfigEmail[nPos].ATT_Code] +SourceVersEcran(FEN_Fiche_Colb, "stConfigEmailEnCours") +CMOD_CC_Email.SAI_Jeton = TableauVersChaîne(stConfigEmailEnCours:SMTP:tabCC_CopieEmail,RC) +bModifMail = Vrai +fin +DISP_Email..Visible = taParamEmailConfig[ZR_ConfigEmail[nPos].ATT_Code]..Existe +Procédure locale AjouteLigneZREmail +procédure AjouteLigneZREmail(sCode est une chaîne ANSI, stParam est une STParamEnvoiEmailPerso) +sCodeTableau est une chaîne ANSI +nIdSoc est un entier sur 8 octets +n est un entier = ZoneRépétéeAjouteLigne(ZR_ConfigEmail) +ZR_ConfigEmail[n].CMOD_AdresseMailCompte.SAI_Texte = stParam.Compte.sEmail +ZR_ConfigEmail[n].CMOD_NomCompte.SAI_Texte = stParam.Compte.sCompte +ZR_ConfigEmail[n].ATT_Code = sCode +sCodeTableau = ExtraitChaîne(sCode,3,"_",DepuisDébut) +si Contient(sCodeTableau,"Perso") alors +nIdSoc = 0 +sinon +nIdSoc = Val(sCodeTableau) +fin +ZR_ConfigEmail[n].ATT_IdSoc = nIdSoc +si nIdSoc > 0 alors +si gtabListeSocietes <> Null _et_ gtabListeSocietes[nIdSoc]..Existe alors +ZR_ConfigEmail[n].LIB_Soc = gtabListeSocietes[nIdSoc].saNom +fin +sinon +ZR_ConfigEmail[n].LIB_Soc = "Personnel" +06/08/2026 Batik 560 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Procédures +fin +ZR_ConfigEmail[n].CMOD_Supprimer.IMG_Icone..Visible = ZR_ConfigEmail[n].ATT_IdSoc <= 0 ? Vrai sinon +Faux +Procédure locale AjouterConfigMail +procédure AjouterConfigMail() +bModifMail = Vrai +n est un entier = ZoneRépétéeAjouteLigne(ZR_ConfigEmail) +sCode est une chaîne ANSI = "EMAIL_ENVOI_Perso_"+n +si n > 0 _et_ pas taParamEmailConfig[sCode]..Existe alors +stParm est un STParamEnvoiEmailPerso +taParamEmailConfig[sCode] = stParm +ZR_ConfigEmail[n].ATT_IdSoc = 0 +ZR_ConfigEmail[n].LIB_Soc = "Personnel" +ZR_ConfigEmail[n].ATT_Code = sCode +ZR_ConfigEmail[n].CMOD_Supprimer.IMG_Icone..Visible = ZR_ConfigEmail[n].ATT_IdSoc <= 0 ? Vrai sinon +Faux +ZR_ConfigEmail = n +AfficheUneConfigEmail() +fin +Procédure locale AttribuerLicenceMobile +procédure AttribuerLicenceMobile() +//Le login est vide et l'utilisateur sera uniquement mobile +si pas bLicenceBO _et_ CMOD_Compte.SAI_Texte = "" alors +//Utilise le trigramme comme login par défaut (ce dernier étant normalement unique par +collaborateur) +si CMOD_Trigramme.SAI_Texte = "" alors +CMOD_Trigramme.SAI_Texte = CalculTrigramme() +fin +CMOD_Compte.SAI_Texte = CMOD_Trigramme.SAI_Texte +si CMOD_Profil.CMB_Combo <= 0 alors +Erreur("Veuillez attribuer un profil au collaborateur ") +RepriseSaisie(CMOD_Profil.CMB_Combo) +fin +fin +bLicenceMOB = Faux +si pas ControleOK() alors RepriseSaisie() +si pas SauveDonnées() alors RepriseSaisie() +stRep est un ST_REP_CLIENT +bOk est un booléen +(bOk, stRep) = ConnexionServeurLicence(Vrai) +//Affectation de la licence à l'utilisateur et enregistrement +si bOk alors +//Analyse de la réponse +stLIC est un ST_CLI_REP_DMD_LM +sJson est une chaîne ANSI = stRep.saRepJSON +Désérialise(stLIC,sJson,psdJSON) +si ErreurDétectée() alors +Erreur("La réponse du serveur n'est pas dans le format attendu.", +"Si cela se reproduit, contactez le support technique") +retour +sinon +saCleLicenceMOB = stLIC.saNumLicence +06/08/2026 Batik 561 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Procédures +bLicenceMOB = Vrai +SauveDonnées() +fin +sinon +saCleLicenceMOB = "" +bLicenceMOB = Faux +SauveDonnées() +fin +Procédure locale BlocageEnrg +procédure BlocageEnrg() +si pas bDroitModif alors +bBloque = Faux +renvoyer Faux +fin +si UnColb:nPKID <= 0 _et_ bDroitModif alors +bBloque = Vrai +renvoyer Vrai +fin +si pas bBloque _et_ UnColb:nVerrou <> Base.VerrouParMoi alors +UnColb:bAvecBlocage = Vrai +si UnColb:Charge(nId) alors +bBloque = Vrai +sinon +UnColb:bAvecBlocage = Faux +bBloque = Faux +fin +sinon +si bBloque _et_ UnColb:nVerrou = Base.VerrouParMoi alors +UnColb:bDebloqueEnreg = Vrai +UnColb:DebloqueFichier() +bBloque = Faux +sinon +bBloque = Faux +fin +fin +si bBloque alors +SourceVersEcran() +Charge() +fin +MaJBtnBlocage() +Procédure locale CalculTrigramme +procédure CalculTrigramme() +sTrigramme est une chaîne +si CMOD_Prenom.SAI_Texte <>"" et CMOD_Nom.SAI_Texte <>"" et CMOD_Trigramme.SAI_Texte = "" alors +sTrigramme=Majuscule(Gauche(CMOD_Prenom.SAI_Texte,1)+Gauche(CMOD_Nom.SAI_Texte,2)) +HLitRecherchePremier(Collaborateur,"CO_Trigramme",sTrigramme) +si HTrouve(Collaborateur) alors +sTrigramme=Majuscule(Gauche(CMOD_Prenom.SAI_Texte,2)+Gauche(CMOD_Nom.SAI_Texte,1)) +HLitRecherchePremier(Collaborateur,CO_Trigramme,sTrigramme) +si HTrouve(Collaborateur) alors +sTrigramme=Majuscule(Gauche(CMOD_Prenom.SAI_Texte,3)) +HLitRecherchePremier(Collaborateur,CO_Trigramme,sTrigramme) +06/08/2026 Batik 562 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Procédures +si HTrouve(Collaborateur) alors +sTrigramme=Majuscule(Gauche(CMOD_Nom.SAI_Texte,3)) +HLitRecherchePremier(Collaborateur,CO_Trigramme,sTrigramme) +si HTrouve(Collaborateur) alors +sTrigramme = "" +fin +fin +fin +fin +sinon +sTrigramme=CMOD_Trigramme.SAI_Texte +fin +renvoyer sTrigramme +Procédure locale Charge +procédure Charge() +SourceVersEcran(FEN_Fiche_Colb,"UnColb") +pour toute ligne b de ZR_Societes +si ZR_Societes[b].LIB_Id = UnColb:clUtilisateur:nIDSocietePrincipale alors +ZR_Societes[b].INT_Soc = Vrai +ZR_Societes[b].INT_Soc..Grisé = Vrai +fin +fin +n est un entier +pour tout IdSoc de UnColb:tbSocietes +n=ZoneRépétéeCherche(ZR_Societes.ATT_IdSoc,IdSoc,rechercheIdentique) +si n>0 alors +ZR_Societes[n].INT_Soc = Vrai +fin +fin +si UnColb:clUtilisateur:bAccesBO alors +bLicenceBO = Vrai +fin +si UnColb:clUtilisateur:saCleLicenceMobile <> "" _et_ UnColb:clUtilisateur:bAccesMobile alors +bLicenceMOB = Vrai +saCleLicenceMOB = UnColb:clUtilisateur:saCleLicenceMobile +fin +si UnColb:PreferenceMessagerie = MParametreUtilisateur::cBack_Office alors +ONG_Onglet.Param..Visible = Vrai +ChargeConfigMail() +fin +CMOD_Planning.BS_Choix = DonneOuiNonSelonBoolean(UnColb.bAuPlanning) +CMOD_Actif.BS_Choix = DonneOuiNonSelonBoolean(UnColb.bActif) +CMOD_Admin.BS_Choix = DonneOuiNonSelonBoolean(UnColb.clUtilisateur.bAdministrateur) +AffichageLicence() +ParamEmailVisible() +Procédure locale ChargeColb +procédure ChargeColb() +si nId <= 0 alors +MaFenêtre..Titre = "Nouveau collaborateur" +bBloque = Vrai +06/08/2026 Batik 563 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Procédures +UnColb:bAvecBlocage = Vrai +sinon +si bDroitModif alors +UnColb:bAvecBlocage = Vrai +si UnColb:Charge(nId) alors +bBloque = Vrai +sinon +UnColb:bAvecBlocage = Faux +bBloque = Faux +fin +sinon +UnColb:Charge(nId) +bBloque = Faux +fin +si UnColb:nIdUser > 0 alors +UnColb:clUtilisateur:ChargeTout() +fin +MaFenêtre..Titre = UnColb:NomPrenom() +LIB_Libellé =UnColb:NomPrenom() +fin +Procédure locale ChargeConfigMail +procédure ChargeConfigMail() +ZoneRépétéeSupprimeTout(ZR_ConfigEmail) +TableauSupprimeTout(taParamEmailConfig) +si UnColb:nIdUser <= 0 alors retour +taParamEmailConfig = DonneListeConfigMail(UnColb:nPKID, UnColb:nIdUser) +sCodeTableau est une chaîne ANSI +nIdSoc est un entier sur 8 octets +bContinuer est un booléen +pour tout stParam, sCode de taParamEmailConfig +sCodeTableau=ExtraitChaîne(sCode,3,"_",DepuisDébut) +si Contient(sCodeTableau,"Perso") alors +nIdSoc = 0 +bContinuer = Vrai +sinon +nIdSoc = Val(sCodeTableau) +bContinuer = Faux +fin +si nIdSoc > 0 _et_ ZoneRépétéeCherche(ZR_Societes.ATT_IdSoc,nIdSoc,rechercheIdentique) > 0 alors +bContinuer = Vrai +si bContinuer alors +AjouteLigneZREmail(sCode, stParam) +fin +fin +ZoneRépétéeSelectMoins(ZR_ConfigEmail) +Procédure locale ConnexionServeurLicence +procédure ConnexionServeurLicence(bAttribuer est un booléen) +stRep est un ST_REP_CLIENT +06/08/2026 Batik 564 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Procédures +stCMD est un ST_CMD_CLIENT +sJson est une chaîne ANSI +si EnModeTest() alors +WS_LICENCE..Adresse=gsaURLWSLicenceTest +sinon +WS_LICENCE..Adresse=ParametreSystemeLit(cParam_LicenceMob,"") +fin +si WS_LICENCE.Tesla()<>"OUI" alors +Erreur("Le serveur de licence n'est pas joignable.") +renvoyer (Faux,stRep) +fin +si bAttribuer alors +stINS est un ST_CLI_DMD_LM +stINS.saCodeClient = gsaCodeClient +stINS.nIdClb = UnColb.nPKID +stINS.nIdUser = UnColb.nIdUser +stINS.saNom = CMOD_Nom.SAI_Texte +stINS.saPrenom = CMOD_Prenom.SAI_Texte +Sérialise(stINS,sJson,psdJSON) +stCMD.saCMD = cCLI_LIC_ATTRIBUTION +stCMD.saJSON = sJson +sinon +si saCleLicenceMOB <> "" alors +stINS est un ST_CLI_ACTION_LM +stINS.saCodeClient = gsaCodeClient // Nom de la base sans "_BLD" +stINS.saNumLicence = saCleLicenceMOB +Sérialise(stINS,sJson,psdJSON) +stCMD.saCMD = cCLI_LIC_LIBERE +stCMD.saJSON = sJson +sinon +Erreur("La licence n'a pas été reconnue", +"Vous pouvez cependant ré-attribuer une licence à cet utilisateur.") +renvoyer (Faux,stRep) +fin +fin +stRep = WS_LICENCE.BOCLI_CMD(stCMD) +si ErreurDétectée() alors +Erreur("Problème de communication avec le serveur de Licence.") +renvoyer (Faux,stRep) +fin +selon stRep.saEtatReponse..Valeur +cas cREP_OK +renvoyer (Vrai,stRep) +cas cERR_CLI_INCONNU +Erreur("Le code client :" + gsaCodeClient +" n'a pas été reconnu dans la base.", +"Contactez le support technique.") +renvoyer (Faux,stRep) +cas cERR_LIC_INCONNUE,cERR_CLI_LIC +//La licence est inconnue ou incohérente +si bAttribuer alors +06/08/2026 Batik 565 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Procédures +Erreur("Il n'y a pas de licence mobile disponible","Liberez +une licence inutilisée ou augmentez votre nombre de licences mobile.") +renvoyer (Faux,stRep) +sinon +Erreur("La licence n'a pas été reconnue", +"Vous pouvez cependant ré-attribuer une licence à cet utilisateur.") +renvoyer (Vrai,stRep) +fin +cas cERR_EXCEPTION,cERR_HF_BLOCAGE,cERR_CMD_INCONNUE,cERR_FORMAT_JSON +Erreur("Le serveur de Licence ne peut satisfaire votre requête", +"Contactez le support technique.","Erreur : " + stRep.saEtatReponse..Valeur) +renvoyer (Faux,stRep) +autre cas +Erreur("Erreur système : " + stRep.saEtatReponse..Valeur ) +renvoyer (Faux,stRep) +fin +Procédure locale ControleLogin +procédure ControleLogin() +si CMOD_Trigramme.SAI_Texte <> "" alors +rqTrigramme est une Requête SQL = +[ +SELECT * FROM Collaborateur +WHERE UPPER(Collaborateur.CO_Trigramme)={pTrigramme} +AND Collaborateur.CO_PKID<>{pId} +] +rqTrigramme.pTrigramme = Majuscule(CMOD_Trigramme.SAI_Texte) +rqTrigramme.pId = UnColb:nPKID +rqTrigramme.ExécuteRequête() +si HNbEnr(rqTrigramme) > 0 alors +Info("Veuillez modifier le trigramme, car un autre utilisateur en possède déjà un identique") +renvoyer Faux +fin +fin +si pas bLicenceBO alors +CMOD_Compte.SAI_Texte = CMOD_Trigramme.SAI_Texte +renvoyer Vrai +fin +sTrigramme est une chaîne ANSI +bExiste est un booléen = Faux +sMessage est une chaîne ANSI +si CMOD_Compte.SAI_Texte = "" et CMOD_Trigramme.SAI_Texte <> "" alors +CMOD_Compte.SAI_Texte = CMOD_Trigramme.SAI_Texte +fin +si CMOD_Compte.SAI_Texte <> "" alors +sTrigramme = CMOD_Compte.SAI_Texte +sMessage = +"Veuillez modifier le nom de compte, car un autre utilisateur en possède déjà un identique" +fin +si sTrigramme <> "" alors +rq est une Requête SQL = +[ +06/08/2026 Batik 566 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Procédures +SELECT * FROM Utilisateur +WHERE UPPER(Utilisateur.UT_Login)={pLogin} +AND Utilisateur.UT_PKID<>{pId} +] +rq.pLogin = Majuscule(sTrigramme) +rq.pId = UnColb:nIdUser +rq.ExécuteRequête() +si HNbEnr(rq) > 0 alors +bExiste = Vrai +fin +sinon +Erreur("Saisie incomplète","Trigramme") +renvoyer Faux +fin +si bExiste alors +Info(sMessage) +renvoyer Faux +fin +renvoyer Vrai +Procédure locale ControleOK +procédure ControleOK() +saMsg est une chaîne ANSI +si CMOD_Nom.SAI_Texte="" alors +saMsg="- Nom" +fin +si bLicenceBO alors +si CMOD_Compte.SAI_Texte="" alors +saMsg="- Compte" +fin +si CMOD_Mp.SAI_Texte="" alors +saMsg="- Mot de passe" +fin +fin +si CMOD_Trigramme.SAI_Texte="" alors +saMsg="- Trigramme" +fin +si saMsg<>"" alors +Erreur("Saisie incomplète",saMsg) +renvoyer Faux +fin +//si bModifMail alors +// compte est une chaîne ANSI +// pour tout stConfig, sCle de taParamEmailConfig +// si pas TesterParamEmail(sCle, faux) alors +// compte = "" +// SI stConfig.Compte.sEmail <> "" ALORS +// compte += [","]+ stConfig.Compte.sEmail +// FIN +// +SI OuiNon("Problème de connexion au serveur SMTP, merci de vérifier les données que vous avez +saisies"+RC + "Compte :" +compte+RC+"Voulez-vous continuer ?") = non ALORS +06/08/2026 Batik 567 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Procédures +// RENVOYER faux +// FIN +// FIN +// FIN +//FIN +si pas ControleLogin() alors +renvoyer Faux +fin +renvoyer Vrai +Procédure locale EnregistrerConfigMail +procédure EnregistrerConfigMail() +si pas bModifMail alors retour +n est un entier +bufValRech est un Buffer +sCode est une chaîne ANSI +si CMOD_Messagerie.CMB_Combo=MParametreUtilisateur::cBack_Office alors +TableauSupprimeTout(tabParamEmailPerso) +pour toute ligne b de ZR_ConfigEmail +n += 1 +si ONG_Onglet.ZR_ConfigEmail.ATT_IdSoc[b] > 0 et ATT_Code[n] <> "" alors +bufValRech = HConstruitValClé(ParametreUtilisateur, PU_CodePU_IDUtilisateur, ATT_Code[n], +UnColb:nIdUser) +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,bufValRech) +si pas HTrouve(ParametreUtilisateur) alors +HRAZ(ParametreUtilisateur) +ParametreUtilisateur.PU_Code = ATT_Code[n] +ParametreUtilisateur.PU_IDUtilisateur = UnColb:nIdUser +sinon +si ZR_ConfigEmail[b]..Grisé alors +HSupprime(ParametreUtilisateur) +fin +fin +si taParamEmailConfig[ATT_Code[n]]..Existe alors +taParamEmailConfig[ATT_Code[n]].SMTP.sMdp = Crypte(taParamEmailConfig[ATT_Code[n]]. +SMTP.sMdp, gsaCleMdp) +bufParam est un Buffer +Sérialise(taParamEmailConfig[ATT_Code[n]],bufParam,psdJSON) +ParametreUtilisateur.PU_Valeur = bufParam +HEnregistre(ParametreUtilisateur) +fin +sinon +si pas ZR_ConfigEmail[b]..Grisé alors +si taParamEmailConfig[ATT_Code[n]]..Existe alors +taParamEmailConfig[ATT_Code[n]].SMTP.sMdp = Crypte(taParamEmailConfig[ATT_Code[n]] +.SMTP.sMdp, gsaCleMdp) +TableauAjoute(tabParamEmailPerso,taParamEmailConfig[ATT_Code[n]]) +fin +fin +fin +fin +bufValRech = HConstruitValClé(ParametreUtilisateur, PU_CodePU_IDUtilisateur, MParametreUtilisateur +::cEMAIL_ENVOI,UnColb:nIdUser) +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,bufValRech) +si tabParamEmailPerso..Occurrence > 0 alors +si pas HTrouve(ParametreUtilisateur) alors +06/08/2026 Batik 568 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Procédures +HRAZ(ParametreUtilisateur) +ParametreUtilisateur.PU_Code = MParametreUtilisateur::cEMAIL_ENVOI +ParametreUtilisateur.PU_IDUtilisateur = UnColb:nIdUser +fin +bufParam est un Buffer +Sérialise(tabParamEmailPerso,bufParam,psdJSON) +ParametreUtilisateur.PU_Valeur = bufParam +HEnregistre(ParametreUtilisateur) +sinon +si HTrouve(ParametreUtilisateur) alors +HSupprime(ParametreUtilisateur) +fin +fin +sinon si CMOD_Messagerie.CMB_Combo=MParametreUtilisateur::cExterne +pour toute ligne b de ZR_Societes +sCode = MParametreUtilisateur::cEMAIL_ENVOI+"_"+CMOD_Onglet.ONG_Onglet.ZR_Societes.ATT_IdSoc[b +] +si ZR_Societes.ATT_IdSoc[b] > 0 alors +bufValRech = HConstruitValClé(ParametreUtilisateur, PU_CodePU_IDUtilisateur,sCode, UnColb: +nIdUser) +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,bufValRech) +si HTrouve(ParametreUtilisateur) alors +HSupprime(ParametreUtilisateur) +fin +fin +fin +sCode = MParametreUtilisateur::cEMAIL_ENVOI +bufValRech = HConstruitValClé(ParametreUtilisateur, PU_CodePU_IDUtilisateur,sCode, UnColb:nIdUser) +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,bufValRech) +si HTrouve(ParametreUtilisateur) alors +HSupprime(ParametreUtilisateur) +fin +fin +Procédure locale FiltreHoraire +procédure FiltreHoraire() +TableSupprimeTout(TABLE_Info) +i est un entier +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = CLundi +COL_Jour[i] = "Lundi" +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = CMardi +COL_Jour[i] = "Mardi" +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = CMercredi +COL_Jour[i] = "Mercredi" +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = CJeudi +COL_Jour[i] = "Jeudi" +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = CVendredi +06/08/2026 Batik 569 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Procédures +COL_Jour[i] = "Vendredi" +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = CSamedi +COL_Jour[i] = "Samedi" +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = CDimanche +COL_Jour[i] = "Dimanche" +si UnColb:clUtilisateur <> Null _et_ UnColb:clUtilisateur:tbaParametres[MParametreUtilisateur::cHoraire +]..Existe _et_... +UnColb:clUtilisateur:tbaParametres[MParametreUtilisateur::cHoraire].saValeur <> "" alors +Désérialise(UnColb:tbHoraires,UnColb:clUtilisateur:tbaParametres[MParametreUtilisateur::cHoraire]. +saValeur,psdJSON) +fin +si UnColb:tbHoraires..Occurrence > 0 alors +pour tout stConge de UnColb:tbHoraires +COL_HeureD[stConge.nJour] = stConge.hHeureD +COL_HeureF[stConge.nJour] = stConge.hHeureF +COL_Conge[stConge.nJour] = stConge.bConge +fin +sinon +pour h = CLundi à CDimanche +COL_HeureD[h] = "0000000" +COL_HeureF[h] = "0000000" +fin +fin +Procédure locale MaJBtnBlocage +procédure MaJBtnBlocage() +GR_Saisie..EnSaisie = bBloque +si pas bBloque alors +CMOD_Ouvert..Visible = Faux +CMOD_Bloque..Visible = Vrai +sinon +CMOD_Ouvert..Visible = Vrai +CMOD_Bloque..Visible = Faux +fin +Procédure locale ParamEmailVisible +procédure ParamEmailVisible() +si CMOD_Messagerie.CMB_Combo <> MParametreUtilisateur::cBack_Office alors +ONG_Onglet.Param..Visible = Faux +sinon +si pas bDroitModif alors +ONG_Onglet.Param..Visible = Faux +sinon +ONG_Onglet.Param..Visible = Vrai +fin +fin +Procédure locale QrCode +procédure QrCode() +06/08/2026 Batik 570 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Procédures +si bLicenceMOB et saCleLicenceMOB <> "" alors +sQR est une chaîne ANSI +gbufChaine est un Buffer +gbufCleHexa est un Buffer +saCleEnClair est une chaîne ANSI = "QR" + ConnexionHFSQL::cMdp3+ConnexionHFSQL::cMdp1 + +NumériqueVersChaîne( 1/7*1000,"2.5f") +//Construction du message transmis dans le QRCODE +stQR est un ST_MOB_QRCODE +stQR.saCodeClient= gsaCodeClient +stQR.saNumLicence= saCleLicenceMOB +si EnModeTest() alors +stQR.saURLLicence=gsaURLWSLicenceTest +sinon +stQR.saURLLicence=ParametreSystemeLit("SRV_LICENCE","") +fin +Sérialise(stQR,gbufChaine,psdJSON) +gbufCleHexa = BufferVersHexa(HashChaîne(HA_HMAC_SHA_256, saCleEnClair,"0"),SansRegroupement, +SansLigne)[[à 32]] +sQR = Remplace(Encode(CrypteStandard(ChaîneVersUTF8(gbufChaine),gbufCleHexa,crypteAES256, +crypteCBC,cryptePaddingPKCS)),RC,"") +si sQR <> "" alors +CBA_QrCode = sQR +CBA_QrCode..Visible = Vrai +sinon +CBA_QrCode..Visible = Faux +fin +sinon +CBA_QrCode..Visible = Faux +fin +Procédure locale RetirerLicenceMobile +procédure RetirerLicenceMobile() +si ConnexionServeurLicence(Faux) alors +bLicenceMOB = Faux +saCleLicenceMOB = "" +SauveDonnées() +fin +Procédure locale RevoirConfigMailSoc +procédure RevoirConfigMailSoc(local bSoc est un booléen, local nIdSoc est un entier sur 8 octets) +sCode est une chaîne ANSI = MParametreUtilisateur::cEMAIL_ENVOI+"_"+nIdSoc +bufValRech est un Buffer +stParametreEmail est une STParamEnvoiEmailPerso +n est un entier +bModifMail = Vrai +si UnColb:nPKID > 0 _et_ UnColb:nIdUser > 0 et nIdSoc > 0 alors +n = ZoneRépétéeCherche(ATT_Code,sCode,rechercheIdentique) +si bSoc alors +06/08/2026 Batik 571 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Procédures +bAncienVersion est un booléen = Faux +bufValRech = HConstruitValClé(ParametreUtilisateur, PU_CodePU_IDUtilisateur, sCode, UnColb +:nIdUser) +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,bufValRech) +si HTrouve(ParametreUtilisateur) alors +Désérialise(stParametreEmail,ParametreUtilisateur.PU_Valeur,psdJSON) +sinon +si gtabListeSocietes <> Null _et_ gtabListeSocietes[nIdSoc]..Existe _et_ +gtabListeSocietes[nIdSoc].saParametres <> "" alors +Désérialise(stParametreEmail,gtabListeSocietes[nIdSoc].saParametres,psdJSON) +fin +fin +si stParametreEmail:SMTP:sLogin <> "" alors +si pas taParamEmailConfig[sCode]..Existe alors +stParametreEmail.SMTP.sMdp = Décrypte(stParametreEmail.SMTP.sMdp,gsaCleMdp) +taParamEmailConfig[sCode] = stParametreEmail +fin +si n > 0 alors +ZR_ConfigEmail[n]..Grisé = Faux +ZR_ConfigEmail[n]..Visible = Vrai +sinon +AjouteLigneZREmail(sCode, stParametreEmail) +fin +fin +sinon +si taParamEmailConfig[sCode]..Existe alors +TableauSupprime(taParamEmailConfig,sCode) +si n > 0 alors +ZR_ConfigEmail[n]..Grisé = Vrai +ZR_ConfigEmail[n]..Visible = Faux +fin +fin +fin +fin +Procédure locale SauveDonnées +procédure SauveDonnées() +EcranVersSource(FEN_Fiche_Colb,"UnColb") +si pas bBloque ou pas bDroitModif alors +renvoyer Faux +fin +UnColb.bAuPlanning = DonneBooleanSelonOuiNon(CMOD_Planning.BS_Choix) +UnColb.bActif = DonneBooleanSelonOuiNon(CMOD_Actif.BS_Choix) +UnColb.clUtilisateur.bAdministrateur = DonneBooleanSelonOuiNon(CMOD_Admin.BS_Choix) +quand exception dans +UnColb:bAccesBO = bLicenceBO +UnColb:bAccesMobile = bLicenceMOB +si UnColb:Enregistrer() alors +UnColb:clUtilisateur:nIDCollaborateur = UnColb:nPKID +UnColb:clUtilisateur:saCleLicenceMobile = saCleLicenceMOB +UnColb:clUtilisateur:bAccesBO = bLicenceBO +UnColb:clUtilisateur:bAccesMobile = bLicenceMOB +UnColb:clUtilisateur:saNom = UnColb:saNom +UnColb:clUtilisateur:saPrenom = UnColb:saPrenom +06/08/2026 Batik 572 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Procédures +UnColb:clUtilisateur:saLogin = UnColb:saTrigramme +si bNouveauMP _et_ CMOD_Mot_de_passe_Modif.SAI_Texte <> "" alors +UnColb:clUtilisateur:saMotDePasse = Gauche(BufferVersHexa(HashChaîne(HA_MD5_128,CMOD_ +Mot_de_passe_Modif.SAI_Texte+ConnexionHFSQL::cMdp3),SansRegroupement),50) +fin +UnColb:clUtilisateur:Enregistrer() +UnColb:nIdUser = UnColb:clUtilisateur:nPKID +fin +si pas HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,[MParametreUtilisateur:: +cCHOIX_MESSAGERIE,UnColb:nIdUser]) alors +ParametreUtilisateur.RAZ() +fin +ParametreUtilisateur.PU_Code = MParametreUtilisateur::cCHOIX_MESSAGERIE +ParametreUtilisateur.PU_IDUtilisateur = Utilisateur.UT_PKID +ParametreUtilisateur.PU_Valeur = CMOD_Messagerie.CMB_Combo +ParametreUtilisateur.Enregistre() +si pas HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,[MParametreUtilisateur:: +cCHOIX_PLANNING,UnColb:nIdUser]) alors +ParametreUtilisateur.RAZ() +fin +ParametreUtilisateur.PU_Code = MParametreUtilisateur::cCHOIX_PLANNING +ParametreUtilisateur.PU_IDUtilisateur = Utilisateur.UT_PKID +ParametreUtilisateur.PU_Valeur = CMOD_AffichagePL.CMB_Combo +ParametreUtilisateur.Enregistre() +//Mise à jour de la table Societe_Collaborateur +HExécuteRequêteSQL("DEL",hRequêteDéfaut+hVérifieIntégrité, +"DELETE FROM Societe_Collaborateur WHERE Societe_Collaborateur.SC_IDCollaborateur="+ UnColb:nPKID) +pour toute ligne b de ZR_Societes +si ZR_Societes[b].INT_Soc alors +Societe_Collaborateur.RAZ() +Societe_Collaborateur.SC_IDCollaborateur = UnColb:nPKID +Societe_Collaborateur.SC_IDCSociete = ZR_Societes[b].ATT_IdSoc +Societe_Collaborateur.Ajoute() +fin +fin +EnregistrerConfigMail() +TableauSupprimeTout(UnColb:tbHoraires) +pstJour est un ST_Horaire dynamique +pour toute ligne j de TABLE_Info +pstJour = allouer un ST_Horaire +pstJour.nJour = COL_PKID[j] +pstJour.hHeureD = COL_HeureD[j] +pstJour.hHeuref = COL_HeureF[j] +pstJour.bConge = COL_Conge[j] +TableauAjoute(UnColb:tbHoraires,pstJour) +fin +si pas HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,[MParametreUtilisateur:: +cHoraire,UnColb:nIdUser]) alors +ParametreUtilisateur.RAZ() +fin +ParametreUtilisateur.PU_Code = MParametreUtilisateur::cHoraire +ParametreUtilisateur.PU_IDUtilisateur = Utilisateur.UT_PKID +bufParam est un Buffer +Sérialise(UnColb:tbHoraires,bufParam,psdJSON) +ParametreUtilisateur.PU_Valeur = bufParam +ParametreUtilisateur.Enregistre() +06/08/2026 Batik 573 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Procédures +renvoyer Vrai +faire +Erreur("Erreur lors de l'enregistrement des données",ExceptionInfo(errMessage)) +renvoyer Faux +fin +Procédure locale SupprimeConfigMail +procédure SupprimeConfigMail() +si ZR_ConfigEmail > 0 alors +si taParamEmailConfig[ATT_Code[ZR_ConfigEmail]]..Existe _et_ ZR_ConfigEmail[ZR_ConfigEmail].ATT_ +IdSoc <= 0 alors +TableauSupprime(taParamEmailConfig,ATT_Code[ZR_ConfigEmail]) +ZR_ConfigEmail[ZR_ConfigEmail]..Grisé = Vrai +DISP_Email..Visible = Faux +bModifMail = Vrai +sinon +Erreur("Cette configuration ne peut pas être supprimé") +retour +fin +fin +Procédure locale TesterParamEmail +procédure TesterParamEmail(local cle est une chaîne, local bMsg est un booléen = Vrai) +bSMTPCnxOk est un booléen +MessageInfoCnx est une chaîne = +"Rapport sur les tests de configuration de votre compte de messagerie:"+RC+RC +sMsg est une chaîne +Sablier(Vrai) +si cle <> "" _et_ pas taParamEmailConfig[cle]..Existe alors +renvoyer Faux +sinon +(bSMTPCnxOk,sMsg)=VerifieEmailOuvreSession(3,CMOD_NomUtilisateurSMTP.SAI_Texte,CMOD_MotdePasseSMTP. +SAI_Texte, CMOD_AdresseServeurSMTP.SAI_Texte, Val(CMOD_PortSMTP.SAI_Texte),CMOD_SecuriteSMTP. +CMB_Combo) +fin +//***************************************************************************************************** +***************************************** +//*********************************VERIFICATION +SMTP******************************************************************************************** +//***************************************************************************************************** +***************************************** +si cle <> "" alors +(bSMTPCnxOk,sMsg)=VerifieEmailOuvreSession(3,taParamEmailConfig[cle].SMTP.sLogin, +taParamEmailConfig[cle].SMTP.sMdp, taParamEmailConfig[cle].SMTP.sAdresseServeur,... +Val(taParamEmailConfig[cle].SMTP.sPortServeur), taParamEmailConfig[cle].SMTP.nCryptage) +fin +si bSMTPCnxOk=Vrai alors +EmailFermeSession(taParamEmailConfig[cle].SMTP.sLogin) +MessageInfoCnx+="- Vos paramètres de connexion SMTP sont corrects"+RC +sinon +MessageInfoCnx+= +"- Problème de connexion au serveur SMTP, merci de vérifier les données que vous avez saisies"+RC + +06/08/2026 Batik 574 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Colb › Procédures +"Erreur reçue :" + sMsg +fin +Sablier(Faux) +si bMsg alors +Info(MessageInfoCnx) +fin +renvoyer bSMTPCnxOk +Procédure locale ValiderUneConfigEmail +procédure ValiderUneConfigEmail() +si pas bModifMail alors retour +si CMOD_Messagerie.CMB_Combo <> MParametreUtilisateur::cBack_Office alors +retour +fin +nPos est un entier = ZR_ConfigEmail +si nPos > 0 _et_ taParamEmailConfig[ZR_ConfigEmail[nPos].ATT_Code]..Existe alors +EcranVersSource(FEN_Fiche_Colb, "stConfigEmailEnCours") +i est un entier = 1 +nb est un entier = PositionOccurrence(Majuscule(stConfigEmailEnCours.SMTP.bufSignature), +"<IMG",i,DepuisDébut) +tantque nb>0 +sTexte est une chaîne = Milieu(stConfigEmailEnCours.SMTP.bufSignature,nb,(Position( +stConfigEmailEnCours.SMTP.bufSignature,">",nb+1)+1)-nb) +CodeSrcHtmlEnBase64IMG(sTexte,stConfigEmailEnCours.SMTP) +i+=1 +nb = PositionOccurrence(Majuscule(stConfigEmailEnCours.SMTP.bufSignature),"<IMG",i,DepuisDébut) +fin +ChaîneVersTableau(CMOD_CC_Email.SAI_Jeton,stConfigEmailEnCours:SMTP:tabCC_CopieEmail,RC) +taParamEmailConfig[ZR_ConfigEmail[nPos].ATT_Code] = stConfigEmailEnCours +ZR_ConfigEmail[nPos].CMOD_NomCompte.SAI_Texte = stConfigEmailEnCours.Compte.sCompte +ZR_ConfigEmail[nPos].CMOD_AdresseMailCompte.SAI_Texte = stConfigEmailEnCours.Compte.sEmail +fin +bModifMail = Vrai +DISP_Email..Visible = Faux +ZoneRépétéeSelectMoins(ZR_ConfigEmail) +06/08/2026 Batik 575 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Image +FEN_Fiche_Dossier +Image +FEN_Fiche_Dossier +Informations générales +FEN_Fiche_Dossier +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Fiche_Dossier.wdw +Créé par SMR +06/08/2026 Batik 576 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations générales +| Date de création | | 17/06/2025 09:27:48 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 24/03/2026 16:56:02 | | | | +| Titre | | FR: Fiche Dossier | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Fiche Dossier +| Position X | 0 Position Y | | 0 Largeur | 1199 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | --- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 577 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations générales +| 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 | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Champ de saisie | | 4 | Libellé | | | 4 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Bouton | | 2 | Image | | | 14 | +| | Combo | | 2 | Onglet | | | 1 | +| | Forme | | 1 | Séparateur | | | 1 | +| | Zone répétée | | 1 | Superchamp | | | 2 | +| | Attribut zone répétée | | 1 | Champ Modèle de champs | | | 22 | +| | Option de menu | | 4 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 60 +FEN_Fiche_Dossier +Informations sur les champs +Fenêtre : FEN_Fiche_Dossier +Séparateur +BAT ehcuoT +| | | X noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | | | ruegraL ruetuaH | | | | +| --- | --- | --- | --- | --------------- | --- | --- | --- | +elbisiV +nalP +| SPLIT_Dossier | | 148 | 78 | 7 592 | 0 | Actif | | +| ------------- | --- | --- | ----- | ----- | --- | ----- | --- | +| 06/08/2026 | | | Batik | | | | 578 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_Inter | 4 | 104 | 143 | 560 | 0 | Actif | | +| -------- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_Div | 4 | 1 | 1186 | 65 | 0 | Actif | | +| ------ | --- | --- | ---- | --- | --- | ----- | --- | +Champ Modèle de champs +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | +| | X noitisoP | Y noitisoP | | | | | | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_AjouterInter | 117 | 78 | 30 | 26 | 0 | Actif | | +| ------------------- | --- | --- | ---- | --- | --- | ----- | --- | +| CMOD_BordFen | 0 | -29 | 1063 | 29 | 0 | Actif | | +| CMOD_Onglet | 155 | 78 | 1035 | 568 | 0 | Actif | | +| CMOD_SupprimerInter | 85 | 78 | 30 | 26 | 0 | Actif | | +Zone répétée : ZR_Inter +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_Id | 8 27 | 21 26 | 0 | Grisé | Droite | Haut | | +| ------ | ---- | ----- | --- | ----- | ------ | ---- | --- | +Forme +BAT ehcuoT +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | +| --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_Soc | 1 | 1 | 8 | 52 | 0 | Actif | | +| ---------- | --- | ----- | --- | --- | --- | ----- | --- | +| 06/08/2026 | | Batik | | | | | 579 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +ATT_Id +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| CMOD_Bloque | 96 | 3 | 30 | 24 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_Lib1 | 9 | 2 | 87 | 26 | 0 | Actif | | +| CMOD_Lib2 | 8 | 28 | 117 | 26 | 0 | Actif | | +| CMOD_Ouvert | 96 | 3 | 30 | 24 | 0 | Actif | | +Champ Modèle de champs : ZR_Inter.CMOD_Bloque +Image +| | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --------------------- | ------- | ------- | --- | ------------ | --------------------------------------- | ---------- | +| | | | | | laitini tatE | | sucof cevA | +| | X noitisoP Y noitisoP | | | | | | | +| | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | 0 | 0 30 | 24 | 0 | Actif | | | +| --------- | --- | ---- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : ZR_Inter.CMOD_Lib1 +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | 0 0 | 87 26 | 0 | Actif | Gauche | Centre | | +| ---------- | --- | ----- | --- | ----- | ------ | ------ | --- | +| 06/08/2026 | | Batik | | | | | 580 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : ZR_Inter.CMOD_Lib2 +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 0 0 | 117 26 | 0 | Actif | Droite | Centre | | +| ------- | --- | ------ | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : ZR_Inter.CMOD_Ouvert +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | ------------ | --------- | ---------- | +| | | | ruetuaH | | | cilc cevA | | +| | | ruegraL | | elbisiV | | | | +nalP +| IMG_Icone | 0 | 0 30 | 24 | 0 | Actif | | | +| --------- | --- | ---- | --- | --- | ----- | --- | --- | +Superchamp : SC_Div +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| CMOD_Annuler | 987 | 28 | 95 | 35 | 0 | Actif | | +| ------------------ | ---- | ----- | --- | --- | --- | ----- | --- | +| CMOD_BloqueDossier | 1153 | 3 | 30 | 24 | 0 | Actif | | +| CMOD_Client | 340 | 10 | 215 | 53 | 0 | Actif | | +| CMOD_ConfigEcran | 1117 | 3 | 30 | 24 | 0 | Actif | | +| CMOD_DateDossier | | 9 10 | 108 | 53 | 0 | Actif | | +| CMOD_OptionsClient | 555 | 38 | 22 | 22 | 0 | Actif | | +| CMOD_OuvertDossier | 1153 | 3 | 30 | 24 | 0 | Actif | | +| CMOD_RefExtDossier | 875 | 10 | 106 | 53 | 0 | Actif | | +| CMOD_StatusDossier | 581 | 10 | 145 | 53 | 0 | Actif | | +| CMOD_Titre | 121 | 10 | 216 | 53 | 0 | Actif | | +| CMOD_TrieInter | 1081 | 3 | 30 | 24 | 0 | Actif | | +| CMOD_TypeDossier | 728 | 10 | 145 | 53 | 0 | Actif | | +| CMOD_Valider | 1090 | 28 | 95 | 35 | 0 | Actif | | +| CMOD_VisiteGuide | 1046 | 3 | 29 | 24 | 0 | Actif | | +| 06/08/2026 | | Batik | | | | | 581 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : SC_Div.CMOD_Annuler +Bouton +BAT ehcuoT notuob epyT +laitini tatE +| | | X noitisoP | Y noitisoP | | | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| BTN_Annuler | | 987 | 28 | 95 | 35 | 0 | Actif | Normal | +| ----------- | --- | --- | --- | --- | --- | --- | ----- | ------ | +Champ Modèle de champs : SC_Div.CMOD_BloqueDossier +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | | laitini tatE | sucof cevA | +| --- | --- | --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | cilc cevA | | +| --- | --- | --- | --- | ------- | ------- | --- | --------- | --- | +elbisiV +nalP +| IMG_Icone | | 1153 | 3 | 30 | 24 | 0 | Actif | | +| --------- | --- | ---- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : SC_Div.CMOD_Client +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_Texte | 340 10 | 215 53 | 0 | Actif | Texte | Non | | | +| --------- | ------ | ------ | --- | ----- | ----- | --- | --- | --- | +Champ Modèle de champs : SC_Div.CMOD_ConfigEcran +| 06/08/2026 | | | | Batik | | | | 582 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › 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_Icone | | 1117 | 3 | 30 24 | 0 | Actif | | +| --------- | --- | ---- | --- | ----- | --- | ----- | --- | +Champ Modèle de champs : SC_Div.CMOD_DateDossier +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 | FTR tamroF | | | +| | X noitisoP Y noitisoP | | | engilitluM | | | | +ruegraL ruetuaH +elbisiV +nalP +| SAI_Date | 9 10 | 108 53 | 0 | Actif Date | Non | | | +| -------- | ---- | ------ | --- | ---------- | --- | --- | --- | +Champ Modèle de champs : SC_Div.CMOD_OptionsClient +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --------------- | --- | ------------ | --- | +| | | | | ruegraL ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | | 555 | 38 | 22 22 | 0 | Actif | | +| --------- | --- | --- | --- | ----- | --- | ----- | --- | +Champ Modèle de champs : SC_Div.CMOD_OuvertDossier +| 06/08/2026 | | | | Batik | | | 583 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › 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_Icone | | 1153 | 3 | 30 24 | 0 | Actif | | | +| --------- | --- | ---- | --- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : SC_Div.CMOD_RefExtDossier +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 | FTR tamroF | | | | +| | X noitisoP Y noitisoP | | | | engilitluM | | | | +ruegraL ruetuaH +elbisiV +nalP +| SAI_Texte | 875 10 | 106 53 | 0 | Actif Texte | Non | | | | +| --------- | ------ | ------ | --- | ----------- | --- | --- | --- | --- | +Champ Modèle de champs : SC_Div.CMOD_StatusDossier +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_Combo | 581 | 10 145 | 53 | 0 Actif | Mémoire | | Non | | +Champ Modèle de champs : SC_Div.CMOD_Titre +| 06/08/2026 | | | | Batik | | | | 584 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +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_Texte | 121 10 | 216 53 | 0 | Actif | Texte | | Non | | | | +| --------- | ------ | ------ | --- | ----- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : SC_Div.CMOD_TrieInter +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | | | laitini tatE | | sucof cevA | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------ | --- | ---------- | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | cilc cevA | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --------- | --- | +elbisiV +nalP +| IMG_Icone | | 1081 | 3 | 30 | 24 | 0 | | Actif | | | +| --------- | --- | ---- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : SC_Div.CMOD_TypeDossier +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_Combo | 728 | 10 145 | 53 | 0 | Actif | Mémoire | | | Non | | +Champ Modèle de champs : SC_Div.CMOD_Valider +| 06/08/2026 | | | | Batik | | | | | | 585 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Bouton +notuob epyT +| | | | | | | laitini tatE | BAT ehcuoT | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | ---------- | --- | +| | X noitisoP | Y noitisoP | | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Valider | 1090 | 28 | 95 | 35 | 0 | Actif | Normal | | +| ----------- | ---- | --- | --- | --- | --- | ----- | ------ | --- | +Champ Modèle de champs : SC_Div.CMOD_VisiteGuide +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | ------- | ------------ | --------- | ---------- | +| | | | | ruetuaH | | | cilc cevA | | +| | | | ruegraL | | elbisiV | | | | +nalP +| IMG_Icone | 1046 | 3 | 29 | 24 | 0 | Actif | | | +| --------- | ---- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_AjouterInter +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------- | ---------- | +| | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | 117 | 78 | 30 | 26 | 0 | Actif | | | +| --------- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | ----- | ---- | --- | --- | ----- | --- | +| 06/08/2026 | | | Batik | | | | | 586 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_Libellé | 91 -27 | 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | ------ | --- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | ---------- | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 1031 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | ---- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_Onglet +Onglet +slennoitroporp steloV +engil/stelov .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | stelov .soP | | | +| --- | --------------------- | --- | --- | --- | ------------ | ----------- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ONG_Onglet | 155 78 | 1035 | 568 | 0 | Actif | haut | | 0 | +| ---------- | ------ | ---- | --- | --- | ----- | ---- | --- | --- | +Champ Modèle de champs : CMOD_SupprimerInter +| 06/08/2026 | | | Batik | | | | | 587 | +| ---------- | --- | --- | ----- | --- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › 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_Icone | 85 78 | 30 26 | 0 | Actif | | +| --------- | ----- | ----- | --- | ----- | --- | +Fenêtre : FEN_Fiche_Dossier +Champ Modèle de champs : CMOD_AjouterInter +| Ordre navigation | 4 | | | | | +| ------------------------- | ----------------------------------- | --- | --- | --- | --- | +| Curseur survol | 0 | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | 0 | | | | | +| Taux Paral. Y | 0 | | | | | +| Épinglé | Non | | | | | +| Masquer lors du scrolling | Non | | | | | +| Ancrage au contenu | <Aucun> | | | | | +| Numéro aide | 0 | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | 0 | | | | | +| -------------------------- | ------ | --- | --- | --- | --- | +| Facteur d'agrandissement | 0 | | | | | +| Ancrage | Droite | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { + "Libelle":"Barre de titre (Fen\u00eatre)" +} +| Ordre navigation | 1 | | | | | +| ------------------------- | ----------------------------------- | ----- | --- | --- | --- | +| Curseur survol | 0 | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | 0 | | | | | +| Taux Paral. Y | 0 | | | | | +| Épinglé | Non | | | | | +| Masquer lors du scrolling | Non | | | | | +| Ancrage au contenu | <Aucun> | | | | | +| 06/08/2026 | | Batik | | | 588 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SupprimerInter +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 589 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Superchamp : SC_Div +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 1184 +Hauteur externe 63 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Séparateur : SPLIT_Dossier +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 +Sens Vertical +Numéro aide 0 +Opacité 100 +Borne max. -1 +Borne min. -1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Sauve position Oui +Image D:\Projets Windev\Batik\Nouvelle +Ancrage Hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 590 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Zone répétée : ZR_Inter +Note pour la documentation technique +FR: { +"Libelle":"Liste des interventions" +} +Libellé FR: &Zone répétée +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 +Hauteur ligne max. 0 +Hauteur ligne 56 +Largeur colonne 143 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +06/08/2026 Batik 591 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Champ Modèle de champs : CMOD_AjouterInter +Image : CMOD_AjouterInter.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Ajout d'une nouvelle intervention" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Plus_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 592 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +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 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +06/08/2026 Batik 593 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 594 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 595 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 +06/08/2026 Batik 596 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Opacité 100 +Taille police min 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet +Onglet : CMOD_Onglet.ONG_Onglet +Note pour la documentation technique +FR: { +"Libelle":"Onglet d'intervention" +} +Libellé FR: &Onglet +Valeur initiale 1 +Ordre navigation 1 +Curseur survol 0 +Onglet dynamique Oui +Libellé volet FR: Nouvel onglet +UI par l'utilisateur Selon fenêtre +Menu contextuel <NO CONTEXT MENU> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Retrait gauche 0 +Retrait des onglets 0 +Numéro aide 0 +Autorise ChangeGabarit Oui +Bouton Fermer Non +Bouton Nouveau Non +Volets détachables Non +06/08/2026 Batik 597 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +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 +Champ Modèle de champs : CMOD_SupprimerInter +Image : CMOD_SupprimerInter.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Suppression de la fiche d’intervention en cours" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\poubelle_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +06/08/2026 Batik 598 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +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 +Superchamp : SC_Div +Champ Modèle de champs : SC_Div.CMOD_Annuler +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : SC_Div.CMOD_BloqueDossier +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 599 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : SC_Div.CMOD_Client +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 290 Taux anc. bas 1000 Taux anc. largeur 210 Taux anc. hauteur 1000 +Champ Modèle de champs : SC_Div.CMOD_ConfigEcran +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 600 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : SC_Div.CMOD_DateDossier +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 100 Taux anc. bas 1000 Taux anc. largeur 80 Taux anc. hauteur 1000 +Champ Modèle de champs : SC_Div.CMOD_OptionsClient +Ordre navigation 14 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 601 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : SC_Div.CMOD_OuvertDossier +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : SC_Div.CMOD_RefExtDossier +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 760 Taux anc. bas 1000 Taux anc. largeur 120 Taux anc. hauteur 1000 +06/08/2026 Batik 602 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : SC_Div.CMOD_StatusDossier +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 520 Taux anc. bas 1000 Taux anc. largeur 120 Taux anc. hauteur 1000 +Champ Modèle de champs : SC_Div.CMOD_Titre +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 80 Taux anc. bas 1000 Taux anc. largeur 210 Taux anc. hauteur 1000 +06/08/2026 Batik 603 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : SC_Div.CMOD_TrieInter +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : SC_Div.CMOD_TypeDossier +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 640 Taux anc. bas 1000 Taux anc. largeur 120 Taux anc. hauteur 1000 +06/08/2026 Batik 604 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : SC_Div.CMOD_Valider +Ordre navigation 13 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : SC_Div.CMOD_VisiteGuide +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 605 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : SC_Div.CMOD_Annuler +Bouton : SC_Div.CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 606 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : SC_Div.CMOD_BloqueDossier +Image : SC_Div.CMOD_BloqueDossier.IMG_Icone +Note pour la documentation technique +FR: { +'Libelle':'Blocage / déblocage de la fiche dossier' +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\cadena_fermé_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 607 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : SC_Div.CMOD_Client +Champ de saisie : SC_Div.CMOD_Client.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Nom du client associ\u00e9 au dossier" +} +Libellé FR: Texte +Groupe GR_Saisie +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 340 +Largeur interne 215 +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 +06/08/2026 Batik 608 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +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> +Liaison des données :oDossier.oClient.NomEtCode +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : SC_Div.CMOD_ConfigEcran +Image : SC_Div.CMOD_ConfigEcran.IMG_Icone +Note pour la documentation technique +FR: { +'Libelle':'Configuration de l/’écran du dossier' +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\ConfigEcran.svg +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +06/08/2026 Batik 609 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Tenir compte du cadrage +Bulle d'aide FR: Modifier l'affichage de l'écran +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : SC_Div.CMOD_DateDossier +Champ de saisie : SC_Div.CMOD_DateDossier.SAI_Date +Note pour la documentation technique +FR: { +"Libelle":"Date du dossier" +} +Libellé FR: Date +Groupe GR_Saisie +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 +06/08/2026 Batik 610 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Droite +Position X interne 9 +Largeur interne 103 +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 +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> +Liaison des données :oDossier.dDateDebut +Gestion Euro Non +Personnaliser le picto AMI Non +06/08/2026 Batik 611 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › 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 <Aucun> +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : SC_Div.CMOD_OptionsClient +Image : SC_Div.CMOD_OptionsClient.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Options du client associ\u00e9 au dossier" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\crayon_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +06/08/2026 Batik 612 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +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 +Champ Modèle de champs : SC_Div.CMOD_OuvertDossier +Image : SC_Div.CMOD_OuvertDossier.IMG_Icone +Note pour la documentation technique +FR: { +'Libelle':'Blocage / déblocage de la fiche dossier' +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\cadena_ouvert_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 613 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : SC_Div.CMOD_RefExtDossier +Champ de saisie : SC_Div.CMOD_RefExtDossier.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"R\u00e9f\u00e9rence externe du dossier" +} +Libellé FR: Texte +Groupe GR_Saisie +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 875 +Largeur interne 106 +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 +06/08/2026 Batik 614 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +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> +Liaison des données :oDossier.saRefExterne +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : SC_Div.CMOD_StatusDossier +Combo : SC_Div.CMOD_StatusDossier.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Statut du dossier" +} +Libellé FR: &Combo : +Groupe GR_Saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 615 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +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 145 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 581 +Largeur interne 145 +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 Oui +Liaison des données :oDossier.saCleStatut +Nb. Enreg. Max 0 +1ère ligne perso. Non +06/08/2026 Batik 616 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : SC_Div.CMOD_Titre +Champ de saisie : SC_Div.CMOD_Titre.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Titre du dossier" +} +Libellé FR: Texte +Groupe GR_Saisie +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 121 +Largeur interne 216 +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 +06/08/2026 Batik 617 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › 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 +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> +Liaison des données :oDossier.saTitre +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 618 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : SC_Div.CMOD_TrieInter +Image : SC_Div.CMOD_TrieInter.IMG_Icone +Note pour la documentation technique +FR: { +'Libelle':'Configuration du tri des interventions du dossier' +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\configurationUser.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 619 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : SC_Div.CMOD_TypeDossier +Combo : SC_Div.CMOD_TypeDossier.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Type de dossier" +} +Libellé FR: &Combo : +Groupe GR_Saisie +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 145 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 728 +Largeur interne 145 +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 +06/08/2026 Batik 620 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +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 Oui +Liaison des données :oDossier.saCleType +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : SC_Div.CMOD_Valider +Bouton : SC_Div.CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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 +06/08/2026 Batik 621 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : SC_Div.CMOD_VisiteGuide +Image : SC_Div.CMOD_VisiteGuide.IMG_Icone +Note pour la documentation technique +FR: { +'Libelle':'Visite guidée de la fenêtre' +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\VisiteGuide.svg +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 +06/08/2026 Batik 622 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Mode menu ctx. <Aucun> +Mire visible Oui +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Zone répétée : ZR_Inter +Attribut zone répétée : ZR_Inter.ATT_Id (1) +Champ associé LIB_Id +Propriété associée 1 +Champ Modèle de champs : ZR_Inter.CMOD_Bloque +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 623 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : ZR_Inter.CMOD_Lib1 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_Inter.CMOD_Lib2 +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 624 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : ZR_Inter.CMOD_Ouvert +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Forme : ZR_Inter.FRM_Soc +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 625 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Libellé : ZR_Inter.LIB_Id +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Numérique +Masque saisie FR: 99 999 999 999 999 999 999 +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 Modèle de champs : ZR_Inter.CMOD_Bloque +Image : ZR_Inter.CMOD_Bloque.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Blocage / d\u00e9blocage de la fiche d’intervention en cours" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\cadena_fermé_noire.svg +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +06/08/2026 Batik 626 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +É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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : ZR_Inter.CMOD_Lib1 +Libellé : ZR_Inter.CMOD_Lib1.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libell\u00e9 1 liste des interventions" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +06/08/2026 Batik 627 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_Inter.CMOD_Lib2 +Libellé : ZR_Inter.CMOD_Lib2.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libell\u00e9 2 liste des interventions" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 +06/08/2026 Batik 628 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les champs +Texte Markdown Non +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 +Champ Modèle de champs : ZR_Inter.CMOD_Ouvert +Image : ZR_Inter.CMOD_Ouvert.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Blocage / d\u00e9blocage de la fiche d’intervention en cours" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\cadena_ouvert_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 629 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Informations sur les menus +FEN_Fiche_Dossier +Informations sur les menus +Menu contextuel : 'MNU_OptionsClient' +Nom des options +OPT_CreerClient (2) +OPT_ModifierClient (3) +OPT_ChargerClient (4) +Libellé des options : Français +Créer un nouveau client +Modifier le client +Charger le client +FEN_Fiche_Dossier +Code +Déclarations globales de FEN_Fiche_Dossier +procédure FEN_Fiche_Dossier(tbaParametres est un tableau associatif de chaînes ANSI) +saNomUtilisateurFen = "Fiche dossier" +MoiMême..Alias = tbaParametres[cParam_Alias] +nId est un entier sur 8 octets = tbaParametres[cParam_IdFen] +oDossier est un MDossier +si nId <= 0 alors +nCodeDossier est un entier = CreaCompteur(ParametreApplicationLit( +cParam_PF_Code_Dossier,"D",Faux,"Indique si la création du dossier contient un préfixe")) +nTailleCompteur est un entier = Val(ParametreApplicationLit(cParam_T_Compteur_Dossier,6,Faux, +"Contient la taille du compteur dossier complété par des zéros")) +oDossier:saRefInterne = ParametreApplicationLit(cParam_PF_Code_Dossier,"D",Faux, +"Indique si la création du dossier contient un préfixe")... ++Répète("0",nTailleCompteur-Taille(nCodeDossier))+nCodeDossier +MaFenêtre..Titre = "Nouveau dossier n° "+oDossier:saRefInterne +sinon +oDossier:DateCharge(nId) +MaFenêtre..Titre = "Dossier n° "+oDossier:saRefInterne +fin +tbaTableauAlias est un tableau associatif de chaînes ANSI +bBloque est un booléen = Faux +bDroitModif est un booléen +stInfoFen est un STSurveilleEnrg +06/08/2026 Batik 630 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Code +stInfoFen.saFenetre = MoiMême..NomComplet +stInfoFen.pProcedureMaJ = MaJSurveillance +Maximise() +Fin d'initialisation de FEN_Fiche_Dossier +bDroitModif = bDroit(cGestion_Dossier) +MaJBtnBlocage() +FiltreTdB() +Filtrer() +FiltrerParametres() +si ZR_Inter..Occurrence > 0 alors +CMOD_Onglet..Visible = Vrai +fin +SourceVersEcran() +Fermeture de FEN_Fiche_Dossier +ArretSurveilleUneFen(stInfoFen.saFenetre) +oDossier:DebloqueFichier() +DebloqueInters() +FEN_Fiche_Dossier +Code des champs +Fin d'initialisation de CMOD_AjouterInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_AjouterInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_AjouterInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_AjouterInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_AjouterInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_AjouterInter +06/08/2026 Batik 631 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_AjouterInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_AjouterInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_AjouterInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +AjouterInter() +A chaque modification de IMG_Icone ( CMOD_AjouterInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_AjouterInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_AjouterInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_AjouterInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +06/08/2026 Batik 632 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Onglet +06/08/2026 Batik 633 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Création d'un volet dans ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fermeture d'un volet de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modification du volet affiché de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SupprimerInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SupprimerInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SupprimerInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SupprimerInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SupprimerInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SupprimerInter +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 634 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Code des champs +ExécuteAncêtre +A chaque modification de CMOD_SupprimerInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_SupprimerInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_SupprimerInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SupprimerInter() +A chaque modification de IMG_Icone ( CMOD_SupprimerInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_SupprimerInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_SupprimerInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_SupprimerInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection du menu de MNU_OptionsClient.OPT_ChargerClient +ChangerClient() +Sélection du menu de MNU_OptionsClient.OPT_CreerClient +CreerClient() +Sélection du menu de MNU_OptionsClient.OPT_ModifierClient +ModifierClient() +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 635 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Code des champs +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BloqueDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BloqueDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BloqueDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BloqueDossier +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 636 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BloqueDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BloqueDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BloqueDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_BloqueDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_BloqueDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +BlocageEnrg() +A chaque modification de IMG_Icone ( CMOD_BloqueDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_BloqueDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_BloqueDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_BloqueDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Client +salib = "Client" +Fin d'initialisation de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Client +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 637 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Code des champs +ExécuteAncêtre +Entrée dans CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ConfigEcran +06/08/2026 Batik 638 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ouvre(FEN_Tableau_Bord_Intervention) +A chaque modification de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_DateDossier +salib = "Date du dossier" +Fin d'initialisation de CMOD_DateDossier +06/08/2026 Batik 639 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DateDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DateDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DateDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DateDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DateDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DateDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Date ( CMOD_DateDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si gtbaDocAide[DonneNomFenetreChamp(MoiMême..NomComplet)]..Existe _et_... +gtbaDocAide[DonneNomFenetreChamp(MoiMême..NomComplet)][DonneNomCompletChampGenerique(MoiMême.. +NomComplet)]..Existe alors +MoiMême..Bulle = gtbaDocAide[DonneNomFenetreChamp(MoiMême..NomComplet)][ +DonneNomCompletChampGenerique(MoiMême..NomComplet)].saContenu +fin +Entrée dans SAI_Date ( CMOD_DateDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Date ( CMOD_DateDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Enregistrer(CMOD_DateDossier.SAI_Date..NomComplet) +A chaque modification de SAI_Date ( CMOD_DateDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Date ( CMOD_DateDossier ) +06/08/2026 Batik 640 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_OptionsClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_OptionsClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_OptionsClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_OptionsClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_OptionsClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_OptionsClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_OptionsClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_OptionsClient ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_OptionsClient ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_OptionsClient) +A chaque modification de IMG_Icone ( CMOD_OptionsClient ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_OptionsClient ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_OptionsClient ) +06/08/2026 Batik 641 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_OptionsClient ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_OuvertDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_OuvertDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_OuvertDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_OuvertDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_OuvertDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_OuvertDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_OuvertDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_OuvertDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_OuvertDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +BlocageEnrg() +A chaque modification de IMG_Icone ( CMOD_OuvertDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_OuvertDossier ) +06/08/2026 Batik 642 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_OuvertDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_OuvertDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_RefExtDossier +salib = "Réf. externe" +Fin d'initialisation de CMOD_RefExtDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_RefExtDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_RefExtDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_RefExtDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_RefExtDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_RefExtDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_RefExtDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_RefExtDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_RefExtDossier ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 643 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Code des champs +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_RefExtDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Enregistrer(CMOD_RefExtDossier.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_RefExtDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_RefExtDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_StatusDossier +salib = "Statut du dossier" +Fin d'initialisation de CMOD_StatusDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_StatusDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_StatusDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_StatusDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_StatusDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_StatusDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_StatusDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_StatusDossier ) +06/08/2026 Batik 644 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême..NomComplet,cParam_StatutDossier,Faux,oDossier:saCleStatut) +Entrée dans CMB_Combo ( CMOD_StatusDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_StatusDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_StatusDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Enregistrer(CMOD_StatusDossier.CMB_Combo..NomComplet) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_StatusDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Titre" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +06/08/2026 Batik 645 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Titre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Titre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Titre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Enregistrer(CMOD_Titre.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_Titre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Titre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_TrieInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TrieInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TrieInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TrieInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TrieInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TrieInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TrieInter +06/08/2026 Batik 646 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_TrieInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_TrieInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ModifTrieInter() +A chaque modification de IMG_Icone ( CMOD_TrieInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_TrieInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_TrieInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_TrieInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_TypeDossier +saLib = "Type de dossier" +Fin d'initialisation de CMOD_TypeDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TypeDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TypeDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TypeDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TypeDossier +06/08/2026 Batik 647 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TypeDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TypeDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_TypeDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême..NomComplet,cParam_TypeDossier,Faux,oDossier:saCleType) +Entrée dans CMB_Combo ( CMOD_TypeDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_TypeDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_TypeDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Enregistrer(CMOD_TypeDossier.CMB_Combo..NomComplet) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_TypeDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +06/08/2026 Batik 648 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Fin d'initialisation de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_VisiteGuide ) +06/08/2026 Batik 649 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitVisiteDossier() +A chaque modification de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de ZR_Inter +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Entrée dans ZR_Inter +gsaNomChampEnCours = MoiMême..NomComplet +Sélection d'une ligne de ZR_Inter +si ZR_Inter > 0 _et_ ATT_Id[ZR_Inter] > 0 alors +DebloqueInters() +FiltreIntervention(ATT_Id[ZR_Inter]) +fin +Fin d'initialisation de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Bloque +06/08/2026 Batik 650 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +BloqueInter() +A chaque modification de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Lib1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Lib1 +06/08/2026 Batik 651 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Lib1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Lib1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Lib1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Lib1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Lib1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Lib1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_Lib1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Lib2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Lib2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Lib2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Lib2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Lib2 +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 652 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Lib2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Lib2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Lib2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_Lib2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Ouvert ) +06/08/2026 Batik 653 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +BloqueInter() +A chaque modification de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de FRM_Soc ( ZR_Inter ) +MoiMême..Couleur = Transparent +FEN_Fiche_Dossier +Procédures +Procédure locale AjouterEleSurveillance +procédure AjouterEleSurveillance() +// On surveille l’élément +TableauSupprimeTout(stInfoFen.tbInfoASurveiller) +pstInfoItem est un STInfoSurveille dynamique +pstInfoItem = allouer un STInfoSurveille +pstInfoItem.n8Id = oDossier:nPKID +pstInfoItem.saTable = Dossier..Nom +pstInfoItem.saLibRubId = Dossier.DO_PKID..Nom +pstInfoItem.nNumErg = oDossier:nNumEnrg +TableauAjoute(stInfoFen.tbInfoASurveiller,pstInfoItem) +pstInfoItem = allouer un STInfoSurveille +pstInfoItem.n8Id = oDossier:nPKID +pstInfoItem.saTable = Intervention..Nom +pstInfoItem.saLibRubId = Intervention.IN_IDDossier.Nom +pstInfoItem.nNumErg = -1 +TableauAjoute(stInfoFen.tbInfoASurveiller,pstInfoItem) +pour tout oInter de oDossier:tbaInter +06/08/2026 Batik 654 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Procédures +pstInfoItem = allouer un STInfoSurveille +pstInfoItem.n8Id = Intervention.IN_PKID +pstInfoItem.saTable = Intervention..Nom +pstInfoItem.saLibRubId = Intervention.IN_PKID.Nom +pstInfoItem.nNumErg = oInter:nNumEnrg +TableauAjoute(stInfoFen.tbInfoASurveiller,pstInfoItem) +fin +utiliser SectionCritique(gtbaElementsASurveiller) dans +gtbaElementsASurveiller[stInfoFen:saFenetre] = stInfoFen +fin +Procédure locale AjouterInter +procédure AjouterInter() +tbaInterOrden est un tableau associatif de MIntervention = oDossier.tbaInter +oUnInter est un MIntervention +nNbInters est un entier = oDossier.tbaInter..Occurrence + 1 +si tbaInterOrden..Occurrence > 0 alors +TableauTrie(tbaInterOrden,ttMembre+tccRespecteNumérique,"-saRefInterne") +pour tout oUnInt de tbaInterOrden +nPos est un entier = Position(oUnInt.saRefInterne,"-") +si nPos > 0 alors +nPos = Taille(oUnInt.saRefInterne)-nPos +nNbInters = Droite(oUnInt.saRefInterne,nPos) +fin +nNbInters += 1 +sortir +fin +fin +oUnInter:nIDDossier = oDossier:nPKID +oUnInter:nIDClient = oDossier:nIDClient +oUnInter:saRefInterne = oDossier:saRefInterne+"-"+nNbInters +si oUnInter:Enregistrer() alors +Filtrer() +b est un entier = ZoneRépétéeCherche(ATT_Id,oUnInter:nPKID,rechercheIdentique) +si b > 0 alors +ZoneRépétéeSelectPlus(ZR_Inter,b) +FiltreIntervention(oUnInter:nPKID) +BloqueInter() +fin +MaJOnglet() +fin +Procédure locale BlocageEnrg +procédure BlocageEnrg() +si pas bDroitModif alors +bBloque = Faux +renvoyer Faux +fin +si pas bBloque _et_ oDossier:nVerrou <> Base.VerrouParMoi alors +oDossier:bAvecBlocage = Vrai +si oDossier:DateCharge(oDossier:nPKID) alors +SourceVersEcran() +06/08/2026 Batik 655 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Procédures +sinon +oDossier:bAvecBlocage = Faux +fin +si oDossier:nVerrou = Base.VerrouParMoi alors +bBloque = Vrai +sinon +bBloque = Faux +fin +sinon +si bBloque _et_ oDossier:nVerrou = Base.VerrouParMoi alors +oDossier:bDebloqueEnreg = Vrai +oDossier:DebloqueFichier() +bBloque = Faux +sinon +bBloque = Faux +fin +fin +MaJBtnBlocage() +Procédure locale BloqueInter +procédure BloqueInter() +si pas bDroitModif alors renvoyer Faux +i est un entier = ZR_Inter +bBloqueInter est un booléen = Faux +si i > 0 _et_ ATT_Id[i] > 0 _et_ oDossier:tbaInter[ATT_Id[i]]..Existe = Vrai alors +si oDossier:tbaInter[ATT_Id[i]].bAvecBlocage _et_ oDossier:tbaInter[ATT_Id[i]].nVerrou = Base. +VerrouParMoi alors // Bloque pour moi +oDossier:tbaInter[ATT_Id[i]].bDebloqueEnreg = Vrai +oDossier:tbaInter[ATT_Id[i]].DebloqueFichier() +sinon +oDossier:tbaInter[ATT_Id[i]].bAvecBlocage = Vrai +si oDossier:tbaInter[ATT_Id[i]].DateCharge(ATT_Id[i]) alors +bBloqueInter = Vrai +sinon +oDossier:tbaInter[ATT_Id[i]].bAvecBlocage = Faux +fin +fin +fin +si bBloqueInter alors +ZR_Inter[i].CMOD_Ouvert..Visible = Vrai +ZR_Inter[i].CMOD_Bloque..Visible = Faux +FiltreIntervention(ATT_Id[i]) +sinon +ZR_Inter[i].CMOD_Ouvert..Visible = Faux +ZR_Inter[i].CMOD_Bloque..Visible = Vrai +fin +pour tout saLib, saAliasO de tbaTableauAlias +ExécuteTraitement(saAliasO+".Blocage",trtProcédure,bBloqueInter) +fin +Procédure locale ChangerClient +procédure ChangerClient() +si oDossier:nPKID > 0 _et_ ClientModifiable() alors +tbaCriteres est un tableau associatif de chaînes ANSI +06/08/2026 Batik 656 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Procédures +tbaCriteres[cParam_Fenetre] = cFI_Liste_Client +bOk est un booléen +nIdClient est un entier sur 8 octets +(bOk,nIdClient) = Ouvre(FEN_Choix_Liste,cFEN_Inter,tbaCriteres) +si bOk _et_ nIdClient > 0 alors +si HLitRecherchePremier(Dossier,DO_PKID,oDossier:nPKID) alors +Dossier.DO_IDClient = nIdClient +Dossier.ModifDate = DateHeureSys() +Dossier.ModifUser = CollaborateurEnCours:nIdUser +si pas HModifie(Dossier) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FEN_Fiche_Dossier.CreerClient") +sinon +oDossier:nIDClient = nIdClient +oDossier:ChargeClient() +SourceVersEcran() +ModifierClientInter() +fin +fin +fin +fin +Procédure locale ClientModifiable +procédure ClientModifiable() +reqDocument est une Requête SQL = +[ +SELECT COUNT(*) AS nombre_Doc +FROM Document +INNER JOIN Intervention ON IN_PKID = DC_IDIntervention +WHERE IN_IDDossier = {p_IdDossier} +] +reqDocument.p_IdDossier = oDossier:nPKID +si HExécuteRequêteSQL(reqDocument) alors +pour tout reqDocument +si reqDocument.nombre_Doc > 0 alors +renvoyer Faux +fin +fin +fin +reqRdv est une Requête SQL = +[ +SELECT COUNT(*) AS nombre_RDV +FROM Planning_RDV +INNER JOIN Intervention ON IN_PKID = PL_IDIntervention +WHERE IN_IDDossier = {p_IdDossier} AND Planning_RDV.Archive = 0 +] +reqRdv.p_IdDossier = oDossier:nPKID +si HExécuteRequêteSQL(reqRdv) alors +pour tout reqRdv +si reqRdv.nombre_RDV > 0 alors +renvoyer Faux +fin +fin +fin +reqMsg est une Requête SQL = +[ +SELECT COUNT(*) AS nombre_Msg +FROM MessageExterne +INNER JOIN Intervention ON IN_PKID = MessageExterne.ME_IDIntervention +06/08/2026 Batik 657 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Procédures +WHERE IN_IDDossier = {p_IdDossier} +] +reqMsg.p_IdDossier = oDossier:nPKID +si HExécuteRequêteSQL(reqMsg) alors +pour tout reqMsg +si reqMsg.nombre_msg > 0 alors +renvoyer Faux +fin +fin +fin +renvoyer Vrai +Procédure locale CreerClient +procédure CreerClient() +si oDossier:nPKID > 0 _et_ ClientModifiable() alors +tbaTbParam est un tableau associatif de chaînes ANSI +tbaTbParam[cParam_Fenetre] = cFEN_Client +tbaTbParam[Client.CL_PKID..Nom] = 0 +bOk est un booléen +nIdClient est un entier sur 8 octets +(bOk,nIdClient) = Ouvre(FEN_Fiche,tbaTbParam,cFEN_Inter) +si bOk _et_ nIdClient > 0 alors +si HLitRecherchePremier(Dossier,DO_PKID,oDossier:nPKID) alors +Dossier.DO_IDClient = nIdClient +Dossier.ModifDate = DateHeureSys() +Dossier.ModifUser = CollaborateurEnCours:nIdUser +si pas HModifie(Dossier) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FEN_Fiche_Dossier.CreerClient") +sinon +oDossier:nIDClient = nIdClient +oDossier:ChargeClient() +SourceVersEcran() +ModifierClientInter() +fin +fin +fin +fin +Procédure locale DebloqueInters +procédure DebloqueInters() +pour toute ligne b de ZR_Inter +si oDossier:tbaInter[ATT_Id[b]].bAvecBlocage _et_ oDossier:tbaInter[ATT_Id[b]].nVerrou = Base. +VerrouParMoi alors // Bloque pour moi +oDossier:tbaInter[ATT_Id[b]].bDebloqueEnreg = Vrai +oDossier:tbaInter[ATT_Id[b]].DebloqueFichier() +fin +ZR_Inter[b].CMOD_Ouvert..Visible = Faux +ZR_Inter[b].CMOD_Bloque..Visible = Vrai +fin +Procédure locale Enregistrer +procédure Enregistrer(saNomChamp est une chaîne ANSI) +si {saNomChamp}..LiaisonFichier <> "" _et_ saNomChamp <> "" _et_ {saNomChamp} <> {{saNomChamp}.. +LiaisonFichier} alors // On vérifié que vraiment il y a eu un modification +EcranVersSource() +06/08/2026 Batik 658 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Procédures +oDossier:Enregistrer() +fin +Procédure locale FiltreIntervention +procédure FiltreIntervention(nIdInter est un entier sur 8 octets) +pour tout saLib, saAliasO de tbaTableauAlias +ExécuteTraitement(saAliasO+".Filtrer",trtProcédure,nIdInter) +fin +Procédure locale Filtrer +procédure Filtrer() +ZoneRépétéeSupprimeTout(ZR_Inter) +b est un entier +si oDossier:nPKID > 0 alors +oDossier:ChargeClient() +oDossier:ChargeInterventions() +oDossier:TrieInterventions() +pour tout oInter de oDossier:tbaInter +b = ZoneRépétéeAjouteLigne(ZR_Inter) +ZR_Inter[b].CMOD_Lib1.LIB_lib = DonneLibInter(oInter) +ZR_Inter[b].CMOD_Lib2.LIB_lib = DonneSousLibInter(oInter) +ZR_Inter[b].LIB_Id = oInter.nPKID +si gtabListeSocietes[oInter.nIDSociete]..Existe _et_ gtabListeSocietes[oInter.nIDSociete]. +saParametres <> "" alors +ZR_Inter[b].FRM_Soc..CouleurFond = gtabListeSocietes[oInter.nIDSociete].stParamSoc.s +Couleur +fin +fin +si oDossier:nIDClient > 0 alors +si ClientModifiable() alors +MenuSelectPlus(OPT_CreerClient) +MenuSelectPlus(OPT_ChargerClient) +sinon +MenuSelectMoins(OPT_CreerClient) +MenuSelectMoins(OPT_ChargerClient) +fin +fin +MaJBtnBlocage() +AjouterEleSurveillance() +fin +MaJOnglet() +Procédure locale FiltrerParametres +procédure FiltrerParametres() +si tbaParametres = Null _ou_ tbaParametres..Occurrence <= 0 alors +06/08/2026 Batik 659 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Procédures +renvoyer Vrai +fin +nIdInter est un entier sur 8 octets +si tbaParametres[Intervention.IN_PKID..Nom]..Existe _et_ Val(tbaParametres[Intervention.IN_PKID..Nom]) +> 0 _et_ ZR_Inter..Occurrence > 0 alors +nIdInter = Val(tbaParametres[Intervention.IN_PKID..Nom]) +pour toute ligne b de ZR_Inter +si ZR_Inter[b].ATT_Id = nIdInter alors +ZoneRépétéeSelectPlus(ZR_Inter,b) +ExécuteTraitement(ZR_Inter,trtSélection) +fin +fin +sinon si ZR_Inter..Occurrence > 0 alors +ZoneRépétéeSelectPlus(ZR_Inter) +ExécuteTraitement(ZR_Inter,trtSélection) +fin +Procédure locale FiltreTdB +procédure FiltreTdB() +ONG_Onglet..AffichageActif = Faux +tbaConfig est un tableau associatif (AvecDoublon) de chaînes ANSI = CollaborateurEnCours: +clUtilisateur:TdB_Fen_Inter() +saAliasO est une chaîne ANSI +TableauSupprimeTout(tbaTableauAlias) +pour tout saConfig, saCle de tbaConfig +saAliasO = OngletOuvre(ONG_Onglet,saCle,FI_TableauBordModel,saConfig) +si saAliasO <> "" alors +tbaTableauAlias[saAliasO] = saCle +fin +fin +ONG_Onglet..AffichageActif = Vrai +Procédure locale MaJBtnBlocage +procédure MaJBtnBlocage() +si pas bBloque alors +SC_Div.CMOD_OuvertDossier..Visible= Faux +SC_Div.CMOD_BloqueDossier..Visible= Vrai +GR_Saisie.Etat = AffichageSeulement +sinon +SC_Div.CMOD_OuvertDossier..Visible= Vrai +SC_Div.CMOD_BloqueDossier..Visible= Faux +GR_Saisie.Etat = Actif +fin +si pas bDroitModif alors +pour tout saLib, saAliasO de tbaTableauAlias +{saAliasO}..Grisé = Vrai +fin +CMOD_AjouterInter..Visible = Faux +CMOD_SupprimerInter..Visible = Faux +fin +Procédure locale MaJOnglet +06/08/2026 Batik 660 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Procédures +procédure MaJOnglet() +si ZR_Inter..Occurrence > 0 alors +CMOD_Onglet..Visible = Vrai +sinon +CMOD_Onglet..Visible = Faux +fin +Procédure locale MaJSurveillance +procédure MaJSurveillance(local nIdUser est un entier sur 8 octets, local NomFicher est une chaîne ANSI +) +SectionCritiqueDébut("SC_MaJ") +si nIdUser = CollaborateurEnCours:nIdUser alors +renvoyer Faux // Aucune mis a jour c'est la mème personne qui modifie +fin +bModifNbInter est un booléen = Faux +// si un modification de nb de intervention a eu lieu on doit modifier la surveillance +si NomFicher = Dossier..Nom _et_ oDossier:nPKID > 0 alors +oDossier:DateCharge(oDossier:nPKID) +oDossier:ChargeClient() +SourceVersEcran() +fin +si NomFicher = Intervention..Nom _et_ oDossier:nPKID > 0 alors +oDossier:ChargeInterventions() +oDossier:TrieInterventions() +b est un entier +pour tout oInter de oDossier:tbaInter +b = ZoneRépétéeCherche(ATT_Id,oInter:npkid,rechercheIdentique) +si b > 0 alors +ZR_Inter[b].CMOD_Lib1.LIB_lib = DonneLibInter(oInter) +ZR_Inter[b].CMOD_Lib2.LIB_lib = DonneSousLibInter(oInter) +ZR_Inter[b].LIB_Id = oInter.nPKID +si gtabListeSocietes[oInter.nIDSociete]..Existe _et_ gtabListeSocietes[oInter.nIDSociete]. +saParametres <> "" alors +ZR_Inter[b].FRM_Soc..CouleurFond = gtabListeSocietes[oInter.nIDSociete].stParamSoc.s +Couleur +fin +sinon // Inter crée par autre utilisateur +bModifNbInter = Vrai +b = ZoneRépétéeAjouteLigne(ZR_Inter) +ZR_Inter[b].CMOD_Lib1.LIB_lib = DonneLibInter(oInter) +ZR_Inter[b].CMOD_Lib2.LIB_lib = DonneSousLibInter(oInter) +ZR_Inter[b].LIB_Id = oInter.nPKID +si gtabListeSocietes[oInter.nIDSociete]..Existe _et_ gtabListeSocietes[oInter.nIDSociete]. +saParametres <> "" alors +ZR_Inter[b].FRM_Soc..CouleurFond = gtabListeSocietes[oInter.nIDSociete].stParamSoc.s +Couleur +fin +fin +fin +si ZR_Inter..Occurrence <> oDossier:tbaInter..Occurrence alors // un inter qui a été supprimé +k est un entier = ZR_Inter..Occurrence +p est un entier = 0 +boucle +p +=1 +06/08/2026 Batik 661 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Procédures +si p <= k _et_ p <= ZR_Inter..Occurrence alors +si ZR_Inter[p].ATT_Id > 0 _et_ oDossier:tbaInter[ZR_Inter[p].ATT_Id]..Existe = Vrai +_et_ oDossier:tbaInter[ZR_Inter[p].ATT_Id].nPKID = ZR_Inter[p].ATT_Id alors +// rien c'est déjà mis à jour +sinon +// l'intervention a été supprimé +ZoneRépétéeSupprime(ZR_Inter,p,zrAnimationSuppression) +bModifNbInter = Vrai +p -= 1 +k -= 0 +fin +sinon +sortir +fin +fin +fin +MaJOnglet() +si bModifNbInter alors +AjouterEleSurveillance() +fin +fin +SectionCritiqueFin("SC_MaJ") +Procédure locale MaJWidgetApresModif +procédure MaJWidgetApresModif(saWidget est une chaîne ANSI) +i est un entier = ZR_Inter +si i > 0 _et_ ATT_Id[i] > 0 alors +pour tout saLib, saAliasO de tbaTableauAlias +ExécuteTraitement(saAliasO+".MaJSelonWidget",trtProcédure,saWidget,ATT_Id[i]) +fin +fin +Procédure locale ModifierClient +procédure ModifierClient() +si oDossier:nPKID > 0 alors +tbaTbParam est un tableau associatif de chaînes ANSI +tbaTbParam[cParam_Fenetre] = cFEN_Client +tbaTbParam[Client.CL_PKID..Nom] = oDossier:nIDClient +bOk est un booléen +bOk = Ouvre(FEN_Fiche,tbaTbParam, cFEN_Inter) +si bOk alors +oDossier:ChargeClient() +SourceVersEcran() +fin +fin +Procédure locale ModifierClientInter +procédure ModifierClientInter() +ReqClient est une Requête SQL = +[ +UPDATE Intervention SET IN_IDClient = {p_IdClient}, ModifDate = {p_Date}, ModifUser = {p_IdUser} +WHERE IN_IDDossier = {p_IdDossier} +] +ReqClient.p_IdClient = oDossier:nIDClient +06/08/2026 Batik 662 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Procédures +ReqClient.p_IdDossier = oDossier:nPKID +ReqClient.p_date = DateHeureSys() +ReqClient.p_IdUser = CollaborateurEnCours:nIdUser +si pas HExécuteRequêteSQL(ReqClient,hVérifieDoublon+hVérifieIntégrité) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FEN_Fiche_Dossier.ModifierClientInter") +sinon +pour tout oInter de oDossier:tbaInter +oInter:nIDClient = oDossier:nIDClient +fin +fin +Procédure locale ModifTrieInter +procédure ModifTrieInter() +b est un entier +nIdInterSel est un entier sur 8 octets +si Ouvre(FEN_Param_Fiche_Dossier) _et_ oDossier:tbaInter..Occurrence > 1 alors +oDossier:TrieInterventions() +i est un entier = ZR_Inter +si i > 0 et ATT_Id[i] > 0 alors +nIdInterSel = ATT_Id[i] +fin +ZoneRépétéeSupprimeTout(ZR_Inter) +pour tout oInter de oDossier:tbaInter +b = ZoneRépétéeAjouteLigne(ZR_Inter) +ZR_Inter[b].CMOD_Lib1.LIB_lib = DonneLibInter(oInter) +ZR_Inter[b].CMOD_Lib2.LIB_lib = DonneSousLibInter(oInter) +ZR_Inter[b].LIB_Id = oInter.nPKID +si gtabListeSocietes[oInter.nIDSociete]..Existe _et_ gtabListeSocietes[oInter.nIDSociete]. +saParametres <> "" alors +ZR_Inter[b].FRM_Soc..CouleurFond = gtabListeSocietes[oInter.nIDSociete].stParamSoc.s +Couleur +fin +fin +si nIdInterSel > 0 alors +b = ZoneRépétéeCherche(ATT_Id,nIdInterSel,rechercheIdentique) +si b > 0 alors +ZoneRépétéeSelectPlus(ZR_Inter,b) +fin +fin +DebloqueInters() +FiltreIntervention(ATT_Id[ZR_Inter]) +fin +Procédure locale SupprimerInter +procédure SupprimerInter() +b est un entier = ZR_Inter +si b > 0 _et_ ATT_Id[b] > 0 _et_ oDossier:tbaInter[ATT_Id[b]]..Existe = Vrai _et_ oDossier:tbaInter[ +ATT_Id[b]].nPKID > 0 alors +si oDossier:tbaInter[ATT_Id[b]].Supprimer() alors +TableauSupprime(oDossier:tbaInter,ATT_Id[b]) +ZoneRépétéeSupprime(ZR_Inter,b) +si ZR_Inter..Occurrence > 0 alors +ZoneRépétéeSelect(ZR_Inter,1) +FiltreIntervention(ATT_Id[1]) +06/08/2026 Batik 663 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier › Procédures +fin +MaJOnglet() +fin +fin +06/08/2026 Batik 664 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Intervention › Image +FEN_Tableau_Bord_Intervention +Image +FEN_Tableau_Bord_Intervention +Informations générales +FEN_Tableau_Bord_Intervention +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Tableau_Bord_Intervention.wdw +Créé par SMR +06/08/2026 Batik 665 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Intervention › Informations générales +| Date de création | | 17/06/2025 14:10:05 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 01/04/2026 08:35:09 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Tableau de bord interventions +| Position X | 0 Position Y | | 0 Largeur | 1199 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | --- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| 06/08/2026 | | | Batik | | 666 | + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Intervention › Informations générales +| 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 | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 1 | Bouton | | | 3 | +| --- | -------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Image | | 4 | Onglet | | | 1 | +| | Superchamp | | 1 | Champ Modèle de champs | | | 5 | +| | Option de menu | | 2 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 18 +FEN_Tableau_Bord_Intervention +Informations sur les champs +Fenêtre : FEN_Tableau_Bord_Intervention +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Annuler | | 901 | 9 141 | 35 | 0 | Actif | | +| ------------- | --- | ---- | -------- | --- | --- | ----- | --- | +| CMOD_BordFen | | 0 | -29 1063 | 29 | 0 | Actif | | +| CMOD_Ong | | 3 | 53 1188 | 591 | 0 | Actif | | +| CMOD_Retablir | | 598 | 10 295 | 35 | 0 | Actif | | +| CMOD_Valider | | 1050 | 9 141 | 35 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 667 | + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Intervention › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Annuler | 901 | 9 | 141 | 35 | 0 | Actif | | Normal | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Libellé | 91 | -27 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +| | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------------------- | ----------------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_AideFenetre | 1031 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | ---- | --- | ----- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +| 06/08/2026 | | | Batik | | | | | 668 | + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Intervention › Informations sur les champs +Champ Modèle de champs : CMOD_Ong +Onglet +slennoitroporp steloV +engil/stelov .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | stelov .soP | | +| --- | --------------------- | --- | --- | ------------ | ----------- | --- | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| ONG_Onglet | 3 53 | 1188 591 | 0 | Actif | haut | 0 | +| ---------- | ---- | -------- | --- | ----- | ---- | --- | +Champ Modèle de champs : CMOD_Retablir +Bouton +BAT ehcuoT notuob epyT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| BTN_Valider | 598 | 10 295 | 35 | 0 | Actif | Normal | +| ----------- | --- | ------ | --- | --- | ----- | ------ | +Champ Modèle de champs : CMOD_Valider +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| BTN_Valider | 1050 | 9 141 | 35 | 0 | Actif | Normal | +| ----------- | ---- | ----- | --- | --- | ----- | ------ | +Fenêtre : FEN_Tableau_Bord_Intervention +| 06/08/2026 | | Batik | | | | 669 | +| ---------- | --- | ----- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Intervention › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +06/08/2026 Batik 670 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Intervention › Informations sur les champs +Champ Modèle de champs : CMOD_Ong +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Retablir +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 671 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Intervention › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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 +06/08/2026 Batik 672 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Intervention › 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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 673 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Intervention › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 674 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Intervention › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 675 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Intervention › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 676 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Intervention › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Ong +Onglet : CMOD_Ong.ONG_Onglet +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Onglet +Valeur initiale 1 +Ordre navigation 1 +Curseur survol 0 +Onglet dynamique Oui +Libellé volet FR: Nouvel onglet +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 677 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Intervention › Informations sur les champs +Menu contextuel MNU_Modifier +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Retrait gauche 0 +Retrait des onglets 0 +Numéro aide 0 +Autorise ChangeGabarit Oui +Bouton Fermer Oui +Bouton Nouveau Oui +Volets détachables Non +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. Au début +Nb. états image 1 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Retablir +Bouton : CMOD_Retablir.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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 +06/08/2026 Batik 678 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Intervention › Informations sur les champs +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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é) +06/08/2026 Batik 679 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Intervention › Informations sur les champs +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Tableau_Bord_Intervention +Informations sur les menus +Menu contextuel : 'MNU_Modifier' +Nom des options +OPT_ModifNom (2) +Libellé des options : Français +Modifier le nom de l'onglet +FEN_Tableau_Bord_Intervention +Code +Déclarations globales de FEN_Tableau_Bord_Intervention +06/08/2026 Batik 680 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Intervention › Code +procédure FEN_Tableau_Bord_Intervention() +MoiMême..Alias = "FEN_Tableau_Bord_Intervention" +MoiMême..Titre = "Paramétrage de la fenêtre intervention" +/********** A modifier si la largeur et la hauteur de cellules dans le tableau est modifié ********/ +/********** Il faut qui soit le memes mesures par tout dans le projet ***************************/ +nLargeurCellule est un entier = 10 +nHauteurCellule est un entier = 10 +tbaTableauAlias est un tableau associatif de chaînes ANSI +Maximise() +Fin d'initialisation de FEN_Tableau_Bord_Intervention +Filtrer() +FEN_Tableau_Bord_Intervention +Code des champs +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +06/08/2026 Batik 681 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Intervention › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +06/08/2026 Batik 682 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Intervention › Code des champs +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Ong +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ong +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ong +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ong +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ong +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ong +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ong +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de ONG_Onglet ( CMOD_Ong ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Création d'un volet dans ONG_Onglet ( CMOD_Ong ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +saAlias est une chaîne ANSI = ONG_Onglet[ONG_Onglet].Alias +saNomVolet est une chaîne ANSI +RetourValeur est un entier +RetourValeur = Saisie("Veuillez saisir le nom du nouvel onglet", saNomVolet) +si RetourValeur = 0 alors +saNomVolet = "" +fin +06/08/2026 Batik 683 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Intervention › Code des champs +si saNomVolet = "" alors +renvoyer Faux +fin +saAlias = OngletOuvre(ONG_Onglet,saNomVolet,FI_TableauBordModelInter,"") +si saAlias <> "" alors +tbaTableauAlias[saAlias] = saNomVolet +fin +renvoyer Faux +Fermeture d'un volet de ONG_Onglet ( CMOD_Ong ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +saAlias est une chaîne ANSI = ONG_Onglet[ONG_Onglet].Alias +si tbaTableauAlias[saAlias]..Existe alors +TableauSupprime(tbaTableauAlias,saAlias) +fin +renvoyer Vrai +Modification du volet affiché de ONG_Onglet ( CMOD_Ong ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de ONG_Onglet ( CMOD_Ong ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Retablir +salib = "Rétablir la configuration par défaut" +Fin d'initialisation de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Retablir +06/08/2026 Batik 684 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Intervention › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Retablir ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Retablir ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +RetablirConfiguration() +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +06/08/2026 Batik 685 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Intervention › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +Ferme() +fin +Sélection du menu de MNU_Modifier.OPT_ModifNom +ModifierNomOnglet() +FEN_Tableau_Bord_Intervention +Procédures +Procédure locale Enregistrer +procédure Enregistrer() +nbOnglet est un entier = ONG_Onglet..Occurrence +tbaConfig est un tableau associatif (AvecDoublon) de chaînes ANSI +saConfig est une chaîne ANSI +pour tout saLib, saAlias de tbaTableauAlias +saConfig = "" +ExécuteTraitement(saAlias+".DonneConfig",trtProcédure,saConfig) +si saConfig <> "" alors +tbaConfig[saLib] = saConfig +fin +fin +bufJson est un Buffer +si tbaConfig..Occurrence > 0 alors +Sérialise(tbaConfig,bufJson,psdJSON) +fin +si CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Inter]..Existe alors +CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Inter].saValeur = +bufJson +si pas CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Inter]. +DateEnregistre() alors +renvoyer Faux +fin +sinon +oUnParam est un MParametreUtilisateur +oUnParam.sacode = MParametreUtilisateur::cTdB_Inter +oUnParam.saValeur = bufJson +oUnParam.nIDUtilisateur = CollaborateurEnCours.nIdUser +si pas oUnParam:DateEnregistre() alors +renvoyer Faux +fin +CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Inter] = oUnParam +fin +renvoyer Vrai +Procédure locale Filtrer +06/08/2026 Batik 686 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Intervention › Procédures +procédure Filtrer() +ONG_Onglet..AffichageActif = Faux +tbaConfig est un tableau associatif (AvecDoublon) de chaînes ANSI = CollaborateurEnCours:clUtilisateur: +TdB_Fen_Inter() +saAlias est une chaîne ANSI +TableauSupprimeTout(tbaTableauAlias) +pour tout saConfig, saCle de tbaConfig +saAlias = OngletOuvre(ONG_Onglet,saCle,FI_TableauBordModelInter,saConfig) +si saAlias <> "" alors +tbaTableauAlias[saAlias] = saCle +fin +fin +ONG_Onglet..AffichageActif = Vrai +Procédure locale ModifierNomOnglet +procédure ModifierNomOnglet() +saAlias est une chaîne ANSI = ONG_Onglet[ONG_Onglet].Alias +saNomVolet est une chaîne ANSI +si saAlias <> "" alors +saNomVolet = tbaTableauAlias[saAlias] +fin +Saisie("Veuillez saisir le nouveau nom de l'onglet", saNomVolet) +si saNomVolet = "" alors +renvoyer Faux +fin +si saAlias <> "" alors +tbaTableauAlias[saAlias] = saNomVolet +ONG_Onglet[ONG_Onglet].Libellé= saNomVolet +fin +renvoyer Faux +Procédure locale RetablirConfiguration +procédure RetablirConfiguration() +ONG_Onglet..AffichageActif = Faux +OngletFermeTout(ONG_Onglet) +tbaNouvelleConfigest un tableau associatif (AvecDoublon) de chaînes ANSI +tbaNouvelleConfig[MParametreUtilisateur::cTdB_InterBase]= cParamTdB_InterBase +tbaNouvelleConfig[MParametreUtilisateur::cTdB_InterSupp1] = cParamTdB_InterSupp1 +tbaNouvelleConfig[MParametreUtilisateur::cTdB_InterSupp2] = cParamTdb_InterSupp2 +saAlias est une chaîne ANSI +TableauSupprimeTout(tbaTableauAlias) +pour tout saConfig, saCle de tbaNouvelleConfig +saAlias = OngletOuvre(ONG_Onglet,saCle,FI_TableauBordModelInter,saConfig) +si saAlias <> "" alors +tbaTableauAlias[saAlias] = saCle +fin +fin +ONG_Onglet..AffichageActif = Vrai +06/08/2026 Batik 687 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Image +FEN_Fiche_Rendez_Vous +Image +FEN_Fiche_Rendez_Vous +Informations générales +FEN_Fiche_Rendez_Vous +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Fiche_Rendez_Vous.wdw +Créé par SMR +06/08/2026 Batik 688 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations générales +| Date de création | | 06/08/2025 09:04:57 | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 30/10/2025 13:56:36 | | | | +| Titre | | FR: Rendez-vous | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1199 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 | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| Anim. Fermeture | | 0 | | | | +| 06/08/2026 | | | Batik | | 689 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations générales +| 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 | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Champ de saisie | | 14 | Libellé | | | 7 | +| --- | ---------------------- | --- | --- | --------------------- | --- | --- | --- | +| | Bouton | | 2 | Interrupteur | | | 4 | +| | Image | | 11 | Table | | | 1 | +| | Combo | | 3 | Superchamp | | | 5 | +| | Champ Modèle de champs | | 42 | Option d'interrupteur | | | 4 | +| | Colonne de table | | 3 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 97 +FEN_Fiche_Rendez_Vous +Informations sur les champs +Fenêtre : FEN_Fiche_Rendez_Vous +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_BordFen | | 0 | -29 1063 | 29 | 0 | Actif | | +| -------------------- | --- | ---- | -------- | --- | --- | ----- | --- | +| CMOD_Caracteristique | | 9 | 155 1177 | 258 | 0 | Actif | | +| CMOD_Collaborateurs | | 261 | 42 925 | 113 | 0 | Actif | | +| CMOD_DatesGroupe | | 261 | 1 627 | 42 | 0 | Actif | | +| CMOD_Horaire | | 9 | 0 252 | 155 | 0 | Actif | | +| CMOD_Inter | | 9 | 413 1177 | 232 | 0 | Actif | | +| CMOD_SansNom2 | | 1045 | 5 141 | 35 | 0 | Actif | | +| CMOD_SansNom3 | | 896 | 5 141 | 35 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 690 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | --- | +| | | | | | laitini tatE | | FTR tamroF | | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libellé | 91 | -27 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | --- | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 1031 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | ---- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_Caracteristique +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| SC_Div | | 13 | 160 | 1168 | 247 | 0 | Actif | | +| ---------- | --- | --- | ----- | ---- | --- | --- | ----- | --- | +| 06/08/2026 | | | Batik | | | | | 691 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Superchamp : CMOD_Caracteristique.SC_Div +Champ Modèle de champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| CMOD_CR | | | 927 | | 223 | 210 | | 29 | 0 | Actif | | +| ----------------- | --- | --- | --- | --- | --- | ---- | --- | --- | --- | ----- | --- | +| CMOD_CreePar | | | 614 | | 199 | 190 | | 53 | 0 | Actif | | +| CMOD_Note | | | 20 | | 304 | 586 | | 101 | 0 | Actif | | +| CMOD_NoteColb | | | 614 | | 251 | 559 | | 154 | 0 | Actif | | +| CMOD_Objet | | | 20 | | 252 | 586 | | 52 | 0 | Actif | | +| CMOD_SAV | | | 812 | | 194 | 107 | | 29 | 0 | Actif | | +| CMOD_SMS | | | 812 | | 223 | 107 | | 29 | 0 | Actif | | +| CMOD_Societe | | | 416 | | 199 | 190 | | 53 | 0 | Actif | | +| CMOD_Status | | | 218 | | 199 | 190 | | 53 | 0 | Actif | | +| CMOD_Superposable | | | 927 | | 194 | 210 | | 29 | 0 | Actif | | +| CMOD_Titre | | | 48 | | 166 | 1125 | | 26 | 0 | Actif | | +| CMOD_TitreImg | | | 20 | | 167 | 29 | | 24 | 0 | Actif | | +| CMOD_TypeRDV | | | 20 | | 199 | 190 | | 53 | 0 | Actif | | +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_CR +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | staté siorT | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | ----------- | +ruetuaH +ruegraL +elbisiV +nalP +| INT_Int | | 927 | 223 | 210 | | 29 | 0 | | Actif | 1 | | +| ------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_CreePar +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_Texte | 614 199 | 190 | 53 0 | affichag | | Texte | | | Non | | | +| ---------- | ------- | --- | ---- | -------- | ----- | ----- | --- | --- | --- | --- | --- | +| 06/08/2026 | | | | | Batik | | | | | | 692 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Note +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_Texte | 20 304 586 | 101 0 | Actif | Texte | Non | | +| --------- | ---------- | ----- | ----- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_NoteColb +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_Texte | 614 251 559 | 154 0 | affichag | Texte | Non | | +| --------- | ----------- | ----- | -------- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Objet +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_Texte | 20 252 586 | 52 0 | Actif | Texte | Non | | +| ---------- | ---------- | ---- | ----- | ----- | --- | --- | +| 06/08/2026 | | | Batik | | | 693 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_SAV +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | laitini tatE | BAT ehcuoT | staté siorT | +| --- | ---------- | ---------- | --- | --- | ------------ | ---------- | ----------- | +| | X noitisoP | Y noitisoP | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| INT_Int | | 812 194 | 107 29 | 0 | Actif | 1 | | +| ------- | --- | ------- | ------ | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_SMS +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP | | | | laitini tatE | | staté siorT | +| --- | ---------- | --- | --- | --- | ------------ | --- | ----------- | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Int | | 812 223 | 107 29 | 0 | Actif | 1 | | +| ------- | --- | ------- | ------ | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Societe +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | ------------------ | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | | +| --- | --------------------- | ------- | ------------ | ---------- | ----------- | --- | --- | +| | X noitisoP Y noitisoP | | laitini tatE | | | | | +| | | ruetuaH | | | sruocraP | | | +| | | ruegraL | elbisiV | | | | | +| | | | | elbaT | eéirT | | | +nalP +| CMB_Combo | 416 199 | 190 53 | 0 Actif | Mémoire | | Non | | +| ---------- | ------- | ------ | ------- | ------- | --- | --- | --- | +| 06/08/2026 | | | Batik | | | | 694 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Status +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_Combo | 218 | 199 190 | 53 | 0 Actif | Mémoire | | Non | | | +| --------- | --- | ------- | --- | ------- | ------- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Superposable +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +ruegraL +elbisiV +nalP +| INT_Int | | 927 194 | 210 | 29 | 0 | Actif | | 1 | | +| ------- | --- | ------- | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Titre +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | laitini tatE | | | | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | --- | --- | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| LIB_lib | | 48 166 | 1125 | 26 | 0 Actif | Gauche | Centre | | | +| ---------- | --- | ------ | ---- | ----- | ------- | ------ | ------ | --- | --- | +| 06/08/2026 | | | | Batik | | | | | 695 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_TitreImg +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --- | --------------------- | --- | --- | ------------ | --- | ---------- | +ruetuaH cilc cevA +ruegraL +elbisiV +nalP +| IMG_Icone | | 20 167 | 29 24 | 0 | Actif | | | +| --------- | --- | ------ | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_TypeRDV +Combo +reihcif eétsissa eisiaS +| | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | | +| --- | --- | --- | --- | ---------- | ----------- | --- | --- | +X noitisoP Y noitisoP laitini tatE +| | | ruegraL ruetuaH | | sruocraP | | | | +| --- | --- | --------------- | --- | -------- | --- | --- | --- | +elbisiV +| | | | | elbaT | eéirT | | | +| --- | --- | --- | --- | ----- | ----- | --- | --- | +nalP +| CMB_Combo | 20 199 | 190 53 | 0 Actif | Mémoire | Non | | | +| --------- | ------ | ------ | ------- | ------- | --- | --- | --- | +Champ Modèle de champs : CMOD_Collaborateurs +Superchamp +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | +| | | X noitisoP | Y noitisoP | | | | | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_Div | | 265 | 47 916 | 102 | 0 | Actif | | +| ------ | --- | --- | ------ | --- | --- | ----- | --- | +Superchamp : CMOD_Collaborateurs.SC_Div +| 06/08/2026 | | | Batik | | | | 696 | +| ---------- | --- | --- | ----- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_ChercheColb | | 1149 | 54 | 24 | 24 | 0 | Actif | | +| ---------------- | --- | ---- | --- | --- | --- | --- | ----- | --- | +| CMOD_Colbs | | 271 | 79 | 902 | 68 | 0 | Actif | | +| CMOD_Titre | | 303 | 53 | 501 | 26 | 0 | Actif | | +| CMOD_TitreIMG | | 271 | 54 | 29 | 24 | 0 | Actif | | +Champ Modèle de champs : CMOD_Collaborateurs.SC_Div.CMOD_ChercheColb +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | laitini tatE | | sucof cevA | +| --- | --- | --- | --- | --- | --- | ------------ | --- | ---------- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | cilc cevA | | +| --- | --- | --- | ------- | ------- | --- | --- | --------- | --- | +elbisiV +nalP +| IMG_Icone | | 1149 54 | 24 | 24 | 0 | Actif | | | +| --------- | --- | ------- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Collaborateurs.SC_Div.CMOD_Colbs +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_Jeton | 271 79 | 902 68 0 | affichag | Texte | Non | | | | +| --------- | ------ | -------- | -------- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Collaborateurs.SC_Div.CMOD_Titre +| 06/08/2026 | | | Batik | | | | | 697 | +| ---------- | --- | --- | ----- | --- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › 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_lib | 303 | 53 501 | 26 | 0 Actif | Gauche | Centre | | +| ------- | --- | ------ | --- | ------- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Collaborateurs.SC_Div.CMOD_TitreIMG +Image +| | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | --- | ------- | ------------ | --------------------------------------- | ---------- | +| | X noitisoP | Y noitisoP | | | laitini tatE | | sucof cevA | +| | | | | ruetuaH | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | 271 | 54 | 29 | 24 0 | Actif | | | +| --------- | --- | --- | --- | ---- | ----- | --- | --- | +Champ Modèle de champs : CMOD_DatesGroupe +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| LIB_lib | 261 | 1 627 | 42 | 0 Actif | Gauche | Centre | | +| ------- | --- | ----- | --- | ------- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Horaire +Superchamp +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | +| | | X noitisoP | Y noitisoP | | | | | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_Div | | 13 | 5 | 243 144 | 0 | Actif | | +| ---------- | --- | --- | ----- | ------- | --- | ----- | --- | +| 06/08/2026 | | | Batik | | | | 698 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Superchamp : CMOD_Horaire.SC_Div +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_DateDeb | | 17 | 37 | 112 | 53 | 0 | Actif | | +| ------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_DateFin | | 138 | 37 | 112 | 53 | 0 | Actif | | +| CMOD_HeureDeb | | 17 | 90 | 112 | 53 | 0 | Actif | | +| CMOD_HeureFin | | 138 | 90 | 112 | 53 | 0 | Actif | | +| CMOD_Titre | | 52 | 10 | 198 | 26 | 0 | Actif | | +| CMOD_TitreIMG | | 20 | 11 | 29 | 24 | 0 | Actif | | +Champ Modèle de champs : CMOD_Horaire.SC_Div.CMOD_DateDeb +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_Date | 17 37 112 | 53 0 | Actif | Date | Non | | | | +| -------- | --------- | ---- | ----- | ---- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Horaire.SC_Div.CMOD_DateFin +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_Date | 138 37 112 | 53 0 | Actif | Date | Non | | | | +| ---------- | ---------- | ---- | ----- | ---- | --- | --- | --- | --- | +| 06/08/2026 | | | Batik | | | | | 699 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Horaire.SC_Div.CMOD_HeureDeb +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_Texte | 17 90 | 112 53 | 0 Actif | Heure | | Non | | | +| --------- | ----- | ------ | ------- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Horaire.SC_Div.CMOD_HeureFin +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_Texte | 138 90 | 112 53 | 0 Actif | Heure | | Non | | | +| --------- | ------ | ------ | ------- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Horaire.SC_Div.CMOD_Titre +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| LIB_lib | | 52 10 | 198 | 26 | 0 | Actif Gauche | Centre | | +| ---------- | --- | ----- | --- | ----- | --- | ------------ | ------ | --- | +| 06/08/2026 | | | | Batik | | | | 700 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Horaire.SC_Div.CMOD_TitreIMG +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | ------- | --- | ------------ | --------- | ---------- | +| | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | 20 11 | 29 24 | 0 | Actif | | | +| --------- | ----- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Inter +Superchamp +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_Div | 13 | 418 1168 | 221 | 0 | Actif | | +| ------ | --- | -------- | --- | --- | ----- | --- | +Superchamp : CMOD_Inter.SC_Div +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_Contacts | 888 | 448 285 | 185 | 0 | Actif | | +| ------------------- | --- | ------- | --- | --- | ----- | --- | +| CMOD_DescrInter | 18 | 503 580 | 130 | 0 | Actif | | +| CMOD_Devis | 287 | 449 150 | 53 | 0 | Actif | | +| CMOD_ImgSite | 606 | 423 29 | 24 | 0 | Actif | | +| CMOD_NumInter | 18 | 449 239 | 53 | 0 | Actif | | +| CMOD_RechercheInter | 258 | 478 23 | 23 | 0 | Actif | | +| CMOD_RefExt | 441 | 449 157 | 53 | 0 | Actif | | +| CMOD_SansNom5 | 638 | 422 535 | 26 | 0 | Actif | | +| CMOD_Site | 606 | 448 282 | 185 | 0 | Actif | | +| CMOD_Titre | 50 | 423 548 | 26 | 0 | Actif | | +| CMOD_TitreImg | 18 | 424 29 | 24 | 0 | Actif | | +| 06/08/2026 | | Batik | | | | 701 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Contacts +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 | | | | | +| --- | --------------------- | ------- | --- | ------------ | -------- | --- | --- | --- | +| | | ruetuaH | | | sruocraP | | | | +ruegraL +| | | | | elbisiV elbaT | | | | | +| --- | --- | --- | --- | ------------- | --- | --- | --- | --- | +nalP +Mémoir +| TABLE_Info | 890 450 | 279 179 | 0 | Actif | | | | 3 | +| ---------- | ------- | ------- | --- | ----- | --- | --- | --- | --- | +Table : CMOD_Inter.SC_Div.CMOD_Contacts.TABLE_Info +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_PKID | | 880 | Grisé | | Droite | Centre | Numériq | | +| COL_Present | | 32 | Actif | | Centre | Centre | | | +| COL_Nom | | 227 | affichag | | Gauche | Centre | Texte | | +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_DescrInter +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_Texte | 18 503 | 580 130 | 0 | Actif Texte | | Non | | | +| ---------- | ------ | ------- | --- | ----------- | --- | --- | --- | --- | +| 06/08/2026 | | | | Batik | | | | 702 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Devis +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_Texte | 287 449 | 150 53 0 | affichag | Texte | | Non | | | +| --------- | ------- | -------- | -------- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_ImgSite +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP | | | | | laitini tatE | sucof cevA | +| --- | --- | ---------- | --- | --- | --- | --- | ------------ | ---------- | +Y noitisoP cilc cevA +| | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| IMG_Icone | | 606 423 | | 29 24 | 0 | | Actif | | +| --------- | --- | ------- | --- | ----- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_NumInter +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_Texte | 18 449 | 239 53 0 | affichag | Texte | | Non | | | +| ---------- | ------ | -------- | -------- | ----- | --- | --- | --- | --- | +| 06/08/2026 | | | | Batik | | | | 703 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_RechercheInter +Image +| | | | | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | --- | ---------- | ---------- | --- | ------- | --- | --- | ------------ | --------------------------------------- | ---------- | +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| | | | | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | | | 258 | 478 | 23 | 23 | 0 | | Actif | | | +| --------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_RefExt +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 | | | | laitini tatE | eisias epyT | engilitluM | | | | | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| SAI_Texte | 441 449 | 157 | 53 | 0 affichag | | Texte | | Non | | | | +| --------- | ------- | --- | --- | ---------- | --- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_SansNom5 +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | | 638 | 422 | 535 | 26 | | 0 | Actif | Gauche | Centre | | +| ---------- | --- | --- | --- | --- | ----- | --- | --- | ----- | ------ | ------ | --- | +| 06/08/2026 | | | | | Batik | | | | | | 704 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Site +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_Texte | 606 448 | 282 185 | 0 affichag | | Texte | | Non | | | | +| --------- | ------- | ------- | ---------- | --- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Titre +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 50 423 | 548 | 26 | | 0 | Actif | Gauche | Centre | | +| ------- | --- | ------ | --- | --- | --- | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_TitreImg +Image +| | | | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | ---------- | ---------- | --- | ------- | --- | --- | ------------ | --------------------------------------- | ---------- | +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| | | | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 18 | 424 | 29 | 24 | 0 | | Actif | | | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | ----- | --- | --- | +| 06/08/2026 | | | | Batik | | | | | | 705 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom2 +Bouton +BAT ehcuoT notuob epyT +laitini tatE +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | +| --- | --- | ------- | ------- | --- | --- | +elbisiV +nalP +| BTN_Valider | 1045 | 5 141 | 35 0 | Actif | Normal | +| ----------- | ---- | ----- | ---- | ----- | ------ | +Champ Modèle de champs : CMOD_SansNom3 +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | laitini tatE | | +| --- | ---------- | ---------- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | elbisiV | | | +| --- | --- | ------- | ------- | --- | --- | +nalP +| BTN_Annuler | 896 | 5 141 | 35 0 | Actif | Normal | +| ----------- | --- | ----- | ---- | ----- | ------ | +Fenêtre : FEN_Fiche_Rendez_Vous +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { + "Libelle":"Barre de titre (Fen\u00eatre)" +} +| Ordre navigation | 2 | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | +| Curseur survol | 0 | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | 0 | | | | | +| Taux Paral. Y | 0 | | | | | +| Épinglé | Non | | | | | +| Masquer lors du scrolling | Non | | | | | +| Ancrage au contenu | <Aucun> | | | | | +| Numéro aide | 0 | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | +| Facteur de rétrécissement | 0 | | | | | +| Facteur d'agrandissement | 0 | | | | | +| Ancrage | Largeur | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +| 06/08/2026 | | Batik | | | 706 | +| ---------- | --- | ----- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Collaborateurs +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 707 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_DatesGroupe +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Horaire +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 708 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Inter +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom2 +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 709 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom3 +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 710 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 711 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 712 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 713 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique +Superchamp : CMOD_Caracteristique.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 1166 +06/08/2026 Batik 714 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Hauteur externe 245 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Caracteristique.SC_Div +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_CR +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 700 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +06/08/2026 Batik 715 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_CreePar +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 450 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Note +Ordre navigation 13 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 450 Taux anc. hauteur 1000 +06/08/2026 Batik 716 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_NoteColb +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 450 Taux anc. bas 1000 Taux anc. largeur 550 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Objet +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 450 Taux anc. hauteur 1000 +06/08/2026 Batik 717 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_SAV +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 600 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_SMS +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 600 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +06/08/2026 Batik 718 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Societe +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 300 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Status +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 150 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +06/08/2026 Batik 719 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Superposable +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 700 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 720 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_TitreImg +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_TypeRDV +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +06/08/2026 Batik 721 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_CR +Interrupteur : CMOD_Caracteristique.SC_Div.CMOD_CR.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Ordre navigation 1 +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> +Liaison des données :oRdv.bCR +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 722 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_CreePar +Champ de saisie : CMOD_Caracteristique.SC_Div.CMOD_CreePar.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 614 +Largeur interne 190 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Batik 723 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Note +Champ de saisie : CMOD_Caracteristique.SC_Div.CMOD_Note.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +06/08/2026 Batik 724 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +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 21 +Largeur interne 585 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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> +Liaison des données :oRdv.saDescription +06/08/2026 Batik 725 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_NoteColb +Champ de saisie : CMOD_Caracteristique.SC_Div.CMOD_NoteColb.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 614 +Largeur interne 559 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +06/08/2026 Batik 726 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +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, non 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> +Liaison des données :oRdv.saNoteTousColbs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 727 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Objet +Champ de saisie : CMOD_Caracteristique.SC_Div.CMOD_Objet.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 21 +Largeur interne 585 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Batik 728 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › 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> +Liaison des données :oRdv.saObjet +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_SAV +Interrupteur : CMOD_Caracteristique.SC_Div.CMOD_SAV.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +06/08/2026 Batik 729 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +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> +Liaison des données :oRdv.bSAV +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_SMS +06/08/2026 Batik 730 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Interrupteur : CMOD_Caracteristique.SC_Div.CMOD_SMS.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Ordre navigation 1 +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> +Liaison des données :oRdv.bRappelSMS +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 731 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Societe +Combo : CMOD_Caracteristique.SC_Div.CMOD_Societe.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 190 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 416 +Largeur interne 190 +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 +06/08/2026 Batik 732 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +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 Oui +Liaison des données :oRdv.nIDSociete +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Status +Combo : CMOD_Caracteristique.SC_Div.CMOD_Status.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 190 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 218 +06/08/2026 Batik 733 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Largeur interne 190 +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 Oui +Liaison des données :oRdv.saCleStatut +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 734 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Superposable +Interrupteur : CMOD_Caracteristique.SC_Div.CMOD_Superposable.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Ordre navigation 1 +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> +Liaison des données :oRdv.bSuperposable +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 735 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Titre +Libellé : CMOD_Caracteristique.SC_Div.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 736 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_TitreImg +Image : CMOD_Caracteristique.SC_Div.CMOD_TitreImg.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\information-info-svgrepo-com.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 737 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_TypeRDV +Combo : CMOD_Caracteristique.SC_Div.CMOD_TypeRDV.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 190 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 20 +Largeur interne 190 +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 +06/08/2026 Batik 738 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +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 Oui +Liaison des données :oRdv.saCleType +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Collaborateurs +Superchamp : CMOD_Collaborateurs.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 914 +Hauteur externe 100 +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 +06/08/2026 Batik 739 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +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 +Superchamp : CMOD_Collaborateurs.SC_Div +Champ Modèle de champs : CMOD_Collaborateurs.SC_Div.CMOD_ChercheColb +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Collaborateurs.SC_Div.CMOD_Colbs +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 740 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Collaborateurs.SC_Div.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Collaborateurs.SC_Div.CMOD_TitreIMG +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 741 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Collaborateurs.SC_Div.CMOD_ChercheColb +Image : CMOD_Collaborateurs.SC_Div.CMOD_ChercheColb.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Loupe_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 742 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Collaborateurs.SC_Div.CMOD_Colbs +Champ de saisie : CMOD_Collaborateurs.SC_Div.CMOD_Colbs.SAI_Jeton +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Jeton : +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 271 +Largeur interne 902 +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 +06/08/2026 Batik 743 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › 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) 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Collaborateurs.SC_Div.CMOD_Titre +Libellé : CMOD_Collaborateurs.SC_Div.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 +06/08/2026 Batik 744 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Ancrage au contenu <Aucun> +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Collaborateurs.SC_Div.CMOD_TitreIMG +Image : CMOD_Collaborateurs.SC_Div.CMOD_TitreIMG.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Collaborateurs_noire.svg +Groupe GR_Saisie +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) +06/08/2026 Batik 745 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_DatesGroupe +Libellé : CMOD_DatesGroupe.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 +06/08/2026 Batik 746 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Texte Markdown Non +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 +Champ Modèle de champs : CMOD_Horaire +Superchamp : CMOD_Horaire.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 241 +Hauteur externe 142 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 747 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Superchamp : CMOD_Horaire.SC_Div +Champ Modèle de champs : CMOD_Horaire.SC_Div.CMOD_DateDeb +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Horaire.SC_Div.CMOD_DateFin +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Batik 748 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Horaire.SC_Div.CMOD_HeureDeb +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Horaire.SC_Div.CMOD_HeureFin +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Batik 749 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Horaire.SC_Div.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Horaire.SC_Div.CMOD_TitreIMG +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 750 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Horaire.SC_Div.CMOD_DateDeb +Champ de saisie : CMOD_Horaire.SC_Div.CMOD_DateDeb.SAI_Date +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Date +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 17 +Largeur interne 107 +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 +06/08/2026 Batik 751 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +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> +Liaison des données :oRdv.dhDateDebut +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Horaire.SC_Div.CMOD_DateFin +Champ de saisie : CMOD_Horaire.SC_Div.CMOD_DateFin.SAI_Date +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Date +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +06/08/2026 Batik 752 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +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 138 +Largeur interne 107 +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 +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 +06/08/2026 Batik 753 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :oRdv.dhDateFin +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Horaire.SC_Div.CMOD_HeureDeb +Champ de saisie : CMOD_Horaire.SC_Div.CMOD_HeureDeb.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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. Droite +Position X interne 17 +Largeur interne 112 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +06/08/2026 Batik 754 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: HH:MM +Masque affichage FR: HH:MM +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 Largeur et hauteur +06/08/2026 Batik 755 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Horaire.SC_Div.CMOD_HeureFin +Champ de saisie : CMOD_Horaire.SC_Div.CMOD_HeureFin.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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. Droite +Position X interne 138 +Largeur interne 112 +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 +Masque affichage FR: HH:MM +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 +06/08/2026 Batik 756 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Horaire.SC_Div.CMOD_Titre +06/08/2026 Batik 757 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Libellé : CMOD_Horaire.SC_Div.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Horaire.SC_Div.CMOD_TitreIMG +06/08/2026 Batik 758 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Image : CMOD_Horaire.SC_Div.CMOD_TitreIMG.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Planning_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 759 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Inter +Superchamp : CMOD_Inter.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 1166 +Hauteur externe 219 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Inter.SC_Div +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Contacts +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +06/08/2026 Batik 760 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite, largeur et hauteur +Taux anc. droite 750 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_DescrInter +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Devis +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 250 Taux anc. bas 1000 Taux anc. largeur 125 Taux anc. hauteur 1000 +06/08/2026 Batik 761 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_ImgSite +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_NumInter +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 240 Taux anc. hauteur 1000 +06/08/2026 Batik 762 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_RechercheInter +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 240 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_RefExt +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 375 Taux anc. bas 1000 Taux anc. largeur 125 Taux anc. hauteur 1000 +06/08/2026 Batik 763 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_SansNom5 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 520 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Site +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite, largeur et hauteur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +06/08/2026 Batik 764 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Titre +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_TitreImg +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 765 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Contacts +Table : CMOD_Inter.SC_Div.CMOD_Contacts.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 766 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +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 : CMOD_Inter.SC_Div.CMOD_Contacts.TABLE_Info +Colonne de table : CMOD_Inter.SC_Div.CMOD_Contacts.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 +06/08/2026 Batik 767 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › 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 : CMOD_Inter.SC_Div.CMOD_Contacts.TABLE_Info.COL_Present (2) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +06/08/2026 Batik 768 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Colonne de table : CMOD_Inter.SC_Div.CMOD_Contacts.TABLE_Info.COL_Nom (3) +Titre FR: Contacts +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 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_DescrInter +Champ de saisie : CMOD_Inter.SC_Div.CMOD_DescrInter.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 +06/08/2026 Batik 769 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › 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 19 +Largeur interne 579 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 770 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Devis +Champ de saisie : CMOD_Inter.SC_Div.CMOD_Devis.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 287 +Largeur interne 150 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 771 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +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, non 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 772 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_ImgSite +Image : CMOD_Inter.SC_Div.CMOD_ImgSite.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Site_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 773 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_NumInter +Champ de saisie : CMOD_Inter.SC_Div.CMOD_NumInter.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 18 +Largeur interne 239 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Batik 774 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_RechercheInter +Image : CMOD_Inter.SC_Div.CMOD_RechercheInter.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Loupe_noire.svg +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 +06/08/2026 Batik 775 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_RefExt +Champ de saisie : CMOD_Inter.SC_Div.CMOD_RefExt.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 441 +06/08/2026 Batik 776 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Largeur interne 157 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 777 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome Couleur monochrome du style +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_SansNom5 +Libellé : CMOD_Inter.SC_Div.CMOD_SansNom5.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 778 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Site +Champ de saisie : CMOD_Inter.SC_Div.CMOD_Site.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 606 +Largeur interne 282 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Batik 779 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Titre +Libellé : CMOD_Inter.SC_Div.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 +06/08/2026 Batik 780 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Ancrage au contenu <Aucun> +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_TitreImg +Image : CMOD_Inter.SC_Div.CMOD_TitreImg.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Dossier_noire.svg +Groupe GR_Saisie +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) +06/08/2026 Batik 781 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_SansNom2 +Bouton : CMOD_SansNom2.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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 +06/08/2026 Batik 782 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Type flèche <Aucun> +Texte Markdown Non +Mode menu ctx. <Aucun> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom3 +Bouton : CMOD_SansNom3.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +06/08/2026 Batik 783 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Informations sur les champs +Texte Markdown Non +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Fiche_Rendez_Vous +Code +Déclarations globales de FEN_Fiche_Rendez_Vous +procédure FEN_Fiche_Rendez_Vous(nId est un entier sur 8 octets, oRdvCreation est un MRDV = Null) +// Si le rendez-vous doit être créé avec des informations pré-remplies, on doit utiliser le +ordvCreation +oRdv est un MRDV +saDescrInter est une chaîne ANSI +tbaContacts est un tableau associatif de MPersonne_Ct +oRdvOriginal est un MRDV // Utilise pour savoir si le rendez-vous a été modifié +Fin d'initialisation de FEN_Fiche_Rendez_Vous +Filtrer() +si oRdv:nPKID > 0 alors +MessageAjouteCase("Id",100) +{"Id"} = oRdv:nPKID +fin +MaJChamps() +DateGroupeRdv() +FEN_Fiche_Rendez_Vous +Code des champs +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 784 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Caracteristique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Caracteristique +06/08/2026 Batik 785 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Caracteristique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Caracteristique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Caracteristique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Caracteristique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Caracteristique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 786 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CR +salib = "Compte rendu obligatoire" +Fin d'initialisation de CMOD_CR +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CR +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CR +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CR +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CR +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CR +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CR +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_CR ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Int ( CMOD_CR ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Int ( CMOD_CR ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Int ( CMOD_CR ) +06/08/2026 Batik 787 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_CR ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CreePar +salib = "Crée par " +Fin d'initialisation de CMOD_CreePar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CreePar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CreePar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CreePar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CreePar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CreePar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CreePar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_CreePar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_CreePar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_CreePar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_CreePar ) +06/08/2026 Batik 788 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_CreePar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Note +salib = "Note sur le RDV" +Fin d'initialisation de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Note ) +06/08/2026 Batik 789 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NoteColb +salib = "Notes des collaborateurs" +Fin d'initialisation de CMOD_NoteColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NoteColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NoteColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NoteColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NoteColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NoteColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NoteColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NoteColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_NoteColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_NoteColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_NoteColb ) +06/08/2026 Batik 790 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NoteColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Objet +salib = "Objet" +Fin d'initialisation de CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Objet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Objet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Objet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Objet ) +06/08/2026 Batik 791 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Objet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SAV +salib = "SAV" +Fin d'initialisation de CMOD_SAV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SAV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SAV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SAV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SAV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SAV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SAV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_SAV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Int ( CMOD_SAV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Int ( CMOD_SAV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Int ( CMOD_SAV ) +06/08/2026 Batik 792 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_SAV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SMS +salib = "Rappel SMS" +Fin d'initialisation de CMOD_SMS +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SMS +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SMS +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SMS +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SMS +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SMS +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SMS +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_SMS ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Int ( CMOD_SMS ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Int ( CMOD_SMS ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Int ( CMOD_SMS ) +06/08/2026 Batik 793 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_SMS ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Societe +salib = "Société" +Fin d'initialisation de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême..NomComplet,cSocietes,Vrai,oRdv:nIDSociete) +Entrée dans CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 794 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Status +salib = "Statut" +Fin d'initialisation de CMOD_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême..NomComplet,cParam_StatusRDV,Vrai,oRdv:saCleStatut) +Entrée dans CMB_Combo ( CMOD_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Status ) +06/08/2026 Batik 795 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Superposable +salib = "Superposable" +Fin d'initialisation de CMOD_Superposable +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Superposable +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Superposable +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Superposable +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Superposable +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Superposable +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Superposable +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_Superposable ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Int ( CMOD_Superposable ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Int ( CMOD_Superposable ) +06/08/2026 Batik 796 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Int ( CMOD_Superposable ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_Superposable ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Caractéristiques" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_TitreImg +06/08/2026 Batik 797 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TitreImg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TitreImg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TitreImg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TitreImg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TitreImg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TitreImg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_TitreImg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_TitreImg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_Icone ( CMOD_TitreImg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_TitreImg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_TitreImg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_TitreImg ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 798 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +ExécuteAncêtre +Déclarations globales de CMOD_TypeRDV +salib = "Type de rendez-vous" +Fin d'initialisation de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_TypeRDV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême..NomComplet,cParam_TypeRDV,Vrai,oRdv:saCleType) +Entrée dans CMB_Combo ( CMOD_TypeRDV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_TypeRDV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_TypeRDV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_TypeRDV ) +06/08/2026 Batik 799 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Collaborateurs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Collaborateurs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Collaborateurs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Collaborateurs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Collaborateurs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Collaborateurs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Collaborateurs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 800 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_ChercheColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ChercheColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ChercheColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ChercheColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ChercheColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ChercheColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ChercheColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_ChercheColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_ChercheColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +06/08/2026 Batik 801 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +RechercheColb() +A chaque modification de IMG_Icone ( CMOD_ChercheColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_ChercheColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_ChercheColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_ChercheColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Colbs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Colbs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Colbs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Colbs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Colbs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Colbs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Colbs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Jeton ( CMOD_Colbs ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Jeton ( CMOD_Colbs ) +06/08/2026 Batik 802 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Jeton ( CMOD_Colbs ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ajout d'un jeton dans SAI_Jeton ( CMOD_Colbs ) +procédure AjoutJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Suppression d'un jeton dans SAI_Jeton ( CMOD_Colbs ) +procédure SuppressionJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Clic sur un jeton de SAI_Jeton ( CMOD_Colbs ) +procédure ClicJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(MonJeton) +Entrée en saisie d'un jeton de SAI_Jeton ( CMOD_Colbs ) +procédure EntreSaisieJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Modification d'un jeton de SAI_Jeton ( CMOD_Colbs ) +procédure ModificationJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +A chaque modification de SAI_Jeton ( CMOD_Colbs ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Jeton ( CMOD_Colbs ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Collaborateur(s)" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +06/08/2026 Batik 803 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_TitreIMG +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TitreIMG +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TitreIMG +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TitreIMG +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TitreIMG +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TitreIMG +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 804 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +ExécuteAncêtre +A chaque modification de CMOD_TitreIMG +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_TitreIMG ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_TitreIMG ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_Icone ( CMOD_TitreIMG ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_TitreIMG ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_TitreIMG ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_TitreIMG ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_DatesGroupe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DatesGroupe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DatesGroupe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DatesGroupe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DatesGroupe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DatesGroupe +06/08/2026 Batik 805 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DatesGroupe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_DatesGroupe ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_DatesGroupe ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Horaire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Horaire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Horaire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Horaire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Horaire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Horaire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Horaire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 806 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_DateDeb +salib = "Date de début" +Fin d'initialisation de CMOD_DateDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DateDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DateDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DateDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DateDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DateDeb +06/08/2026 Batik 807 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DateDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Date ( CMOD_DateDeb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Date ( CMOD_DateDeb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Date ( CMOD_DateDeb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Date ( CMOD_DateDeb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Date ( CMOD_DateDeb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_DateFin +salib = "Date de fin" +Fin d'initialisation de CMOD_DateFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DateFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DateFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DateFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DateFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DateFin +06/08/2026 Batik 808 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DateFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Date ( CMOD_DateFin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Date ( CMOD_DateFin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Date ( CMOD_DateFin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Date ( CMOD_DateFin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Date ( CMOD_DateFin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_HeureDeb +salib = "De" +Fin d'initialisation de CMOD_HeureDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_HeureDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_HeureDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_HeureDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_HeureDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_HeureDeb +06/08/2026 Batik 809 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_HeureDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_HeureDeb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_HeureDeb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_HeureDeb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_HeureDeb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_HeureDeb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_HeureFin +salib = "à" +Fin d'initialisation de CMOD_HeureFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_HeureFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_HeureFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_HeureFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_HeureFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_HeureFin +06/08/2026 Batik 810 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_HeureFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_HeureFin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_HeureFin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_HeureFin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_HeureFin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_HeureFin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Horaire" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +06/08/2026 Batik 811 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_TitreIMG +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TitreIMG +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TitreIMG +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TitreIMG +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TitreIMG +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TitreIMG +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TitreIMG +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_TitreIMG ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_TitreIMG ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 812 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +ExécuteAncêtre +A chaque modification de IMG_Icone ( CMOD_TitreIMG ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_TitreIMG ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_TitreIMG ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_TitreIMG ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +06/08/2026 Batik 813 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Contacts +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Contacts +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Contacts +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Contacts +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Contacts +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Contacts +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 814 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +ExécuteAncêtre +A chaque modification de CMOD_Contacts +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +06/08/2026 Batik 815 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_DescrInter +salib = "Description de l'intervention" +Fin d'initialisation de CMOD_DescrInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DescrInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DescrInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DescrInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DescrInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DescrInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DescrInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_DescrInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_DescrInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_DescrInter ) +06/08/2026 Batik 816 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_DescrInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_DescrInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Devis +salib = "N° Devis" +Fin d'initialisation de CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Devis ) (modèle MDLC_SaisieSansModif) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Devis ) (modèle MDLC_SaisieSansModif) +06/08/2026 Batik 817 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_ImgSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ImgSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ImgSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ImgSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ImgSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ImgSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ImgSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_ImgSite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_ImgSite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_Icone ( CMOD_ImgSite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_ImgSite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_ImgSite ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 818 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_ImgSite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NumInter +salib = "Référence interne" +Fin d'initialisation de CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NumInter ) (modèle MDLC_SaisieSansModif) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NumInter ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_RechercheInter +06/08/2026 Batik 819 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_RechercheInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_RechercheInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_RechercheInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_RechercheInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_RechercheInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_RechercheInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_RechercheInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_RechercheInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +RechercheSite() +A chaque modification de IMG_Icone ( CMOD_RechercheInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_RechercheInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_RechercheInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_RechercheInter ) +06/08/2026 Batik 820 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_RefExt +salib = "Réf. externe" +Fin d'initialisation de CMOD_RefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_RefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_RefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_RefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_RefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_RefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_RefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_RefExt ) (modèle MDLC_SaisieSansModif) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_RefExt ) (modèle MDLC_SaisieSansModif) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_SansNom5 +salib = "Site et Contact(s) lié(s) au Rendez-vous" +Fin d'initialisation de CMOD_SansNom5 +06/08/2026 Batik 821 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_SansNom5 ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_SansNom5 ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Site +salib = "Site" +Fin d'initialisation de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Site +06/08/2026 Batik 822 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Site ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Site ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Site ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Site ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Site ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Intervention" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +06/08/2026 Batik 823 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_TitreImg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TitreImg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TitreImg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TitreImg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TitreImg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TitreImg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TitreImg +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 824 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_TitreImg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_TitreImg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_Icone ( CMOD_TitreImg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_TitreImg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_TitreImg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_TitreImg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom2 +06/08/2026 Batik 825 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +Ferme() +fin +Fin d'initialisation de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_SansNom3 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_SansNom3 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_SansNom3 ) +06/08/2026 Batik 826 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +FEN_Fiche_Rendez_Vous +Procédures +Procédure locale DateGroupeRdv +procédure DateGroupeRdv() +si oRdv.nIdGroupeDate > 0 alors +reqDates est une Requête SQL = +[ +SELECT * FROM Planning_RDV WHERE PL_IdGroupeDate = {p_IdGroupeDate} AND Archive = 0 ORDER BY +PL_DateDebut, PL_DateFin +] +reqDates.p_IdGroupeDate = oRdv.nIdGroupeDate +si HExécuteRequêteSQL(reqDates) alors +si reqDates.NbEnr() > 1 alors +// La date de comparaison a été modifiée car les variables de date sont initialisées avec +la date du jour par défaut. +dhDateDb est une DateHeure +dhDateDb..Année = 1900 +dhDateFin est une DateHeure +dhDateFin..Année = 1900 +MessageAjouteCase("Dates",650) +pour tout reqDates +si reqDates.PL_DateDebut <> dhDateDb _et_ reqDates.PL_DateFin <> dhDateFin alors +{"Dates"} += DateVersChaîne(reqDates.PL_DateDebut,"JJ/MM/AA") +" " +CMOD_DatesGroupe.LIB_lib += DateVersChaîne(reqDates.PL_DateDebut,"JJ/MM/AA") +" " +dhDateDb= reqDates.PL_DateDebut +dhDateFin = reqDates.PL_DateFin +fin +fin +fin +fin +fin +Procédure locale Enregistrer +procédure Enregistrer() +EcranVersSource() +ChaîneVersTableau(CMOD_Colbs.SAI_Jeton,oRdv:tbListeColb,RC) +n est un entier +pour toute ligne b de TABLE_Info +n = TableauCherche(oRdv.tbListeContacts,tcLinéaire,"nPKID",COL_PKID[b]) +si n > 0 alors +oRdv.tbListeContacts[n].bContactUtilise = COL_Present[b] +06/08/2026 Batik 827 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Procédures +fin +fin +oRdv.dhDateDebut..PartieHeure = CMOD_HeureDeb.SAI_Texte +oRdv.dhDateFin..PartieHeure = CMOD_HeureFin.SAI_Texte +saDescrp2 est une chaîne ANSI = CMOD_DescrInter.SAI_Texte +si saDescrInter <> saDescrp2 _et_ oRdv:nIDIntervention > 0 _et_ HLitRecherchePremier(Intervention, +IN_PKID, oRdv:nIDIntervention) alors +Intervention.IN_Description = CMOD_DescrInter.SAI_Texte +Intervention.ModifDate = DateHeureSys() +Intervention.ModifUser = CollaborateurEnCours.nIdUser +si pas HModifie(Intervention) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur s'est produite lors de la modification de la description de l'intervention.", +"FEN_Fiche_rdv.Enregistrer") +fin +fin +/***** On vérifie si il y a eu des modifications afin d’éviter de déclencher la modification pour rien +*******/ +si oRdv:nPKID > 0 _et_ oRdv:EstIdentique(oRdvOriginal) alors +renvoyer Vrai +sinon +renvoyer EnregistrerRendezVous(oRdv) +fin +Procédure locale FiltreCollaborateurs +procédure FiltreCollaborateurs(tbIdColbs est un tableau d'entiers sur 8 octets) +i est un entier +pour tout nIdColb de tbIdColbs +si gtabListeCollaborateurs[nIdColb]..Existe alors +i += 1 +unJeton est un Jeton +unJeton.Valeur = NumériqueVersChaîne(nIdColb) +unJeton.ValeurMémorisée = NumériqueVersChaîne(nIdColb) +unJeton.Libellé = gtabListeCollaborateurs[nIdColb].NomPrenom() +si nIdColb = oRdv:nIDCollaborateur alors +unJeton.CouleurFond = Palette_du_projet["red_text"] +fin +SaisieInsèreJeton(CMOD_Colbs.SAI_Jeton,i,unJeton) +fin +fin +Procédure locale Filtrer +procédure Filtrer() +si nId > 0 alors +reqRdv est une Requête SQL = +[ +SELECT Planning_RDV.*,UT_IDCollaborateur, IN_Description, IN_NumDevis, IN_RefExterne, +IN_RefInterne, AD_Adresse, AD_CodePostal, AD_Ville, LI_CodeLieu FROM Planning_RDV +LEFT JOIN Intervention ON Intervention.IN_PKID = Planning_RDV.PL_IDIntervention +LEFT JOIN Lieu ON Lieu.LI_PKID = Planning_RDV.PL_IDLieu +LEFT JOIN Adresse ON Adresse.AD_PKID = Lieu.LI_IDAdresse +LEFT JOIN Utilisateur ON Utilisateur.UT_PKID = Planning_RDV.CreationUser +WHERE PL_PKID = {p_Id} +] +/***********RDV*************/ +06/08/2026 Batik 828 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Procédures +reqRdv.p_Id = nId +si pas HExécuteRequêteSQL(reqRdv) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue lors de la récupération des informations de votre rendez-vous", +"FEN_Fiche_RDV.Filtrer") +sinon +pour tout reqRdv +FichierVersMémoire(oRdv,reqRdv) +saDescrInter = reqRdv.IN_Description +CMOD_DescrInter.SAI_Texte = reqRdv.IN_Description +CMOD_Site.SAI_Texte = reqRdv.LI_CodeLieu + [RC] + reqRdv.AD_Adresse+[RC]+reqRdv. +AD_CodePostal+[RC]+reqRdv.AD_Ville +CMOD_NumInter.SAI_Texte = reqRdv.IN_RefInterne +CMOD_Devis.SAI_Texte = reqRdv.IN_NumDevis +CMOD_RefExt.SAI_Texte = reqRdv.IN_RefExterne +CMOD_CreePar.SAI_Texte = reqRdv.UT_IDCollaborateur > 0 _et_ gtabListeCollaborateurs +[reqRdv.UT_IDCollaborateur]..Existe ? gtabListeCollaborateurs[reqRdv.UT_IDCollaborateur]. +NomPrenom() sinon "" +fin +fin +/***********Collaborateurs***************/ +oRdv:FiltreColb() +FiltreCollaborateurs(oRdv:tbListeColb) +/*********Contacts*************/ +FiltrerContacts() +oRdvOriginal = oRdv +sinon +si oRdvCreation <> Null alors +oRdv = oRdvCreation +pour tout nIdColb de oRdv:tbListeColb +si gtabListeCollaborateurs[nIdColb]..Existe alors +SaisieAjouteJeton(CMOD_Colbs.SAI_Jeton,NumériqueVersChaîne(nIdColb), +gtabListeCollaborateurs[nIdColb].NomPrenom()) +fin +fin +oRdv:nPKID = 0 +fin +CMOD_CreePar.SAI_Texte = CollaborateurEnCours:NomPrenom() +oRdv:nIDSociete = CollaborateurEnCours:IdSocPrincipal > 0 ? CollaborateurEnCours:IdSocPrincipal +sinon CollaborateurEnCours:tbSocietes..Occurrence > 0 ? CollaborateurEnCours:tbSocietes[1] sinon 0 +fin +CMOD_HeureDeb.SAI_Texte = oRdv.dhDateDebut..PartieHeure +CMOD_HeureFin.SAI_Texte = oRdv.dhDateFin..PartieHeure +SourceVersEcran() +Procédure locale FiltrerContacts +procédure FiltrerContacts(bChangementSite est un booléen = Faux) +TableSupprimeTout(TABLE_Info) +oRdv:FiltrerContacts() +i est un entier +pour tout oCtc de oRdv:tbListeContacts +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = oCtc.nPKID +COL_Nom[i] = oCtc.NomPrenom() +si pas bChangementSite alors +COL_Present[i] = oCtc.bContactUtilise +sinon +COL_Present[i] = Vrai +06/08/2026 Batik 829 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Procédures +fin +fin +si i > 0 alors +TableTrie(TABLE_Info,"COL_Present") +fin +Procédure locale MaJChamps +procédure MaJChamps() +si oRdv.nPKID > 0 _et_ oRdv:nIDIntervention > 0 alors +CMOD_RechercheInter..Visible = Faux +sinon +CMOD_RechercheInter..Visible = Vrai +fin +si oRdv:saCleStatut = cCle_RDVAPlanifier alors +CMOD_Status.CMB_Combo..Grisé = Vrai +CMOD_RechercheInter..Visible = Faux +CMOD_Horaire..Visible = Faux +fin +si oRdv:nIdGroupeDate > 0 alors +CMOD_DateDeb.SAI_Date..Grisé = Vrai +CMOD_DateFin.SAI_Date..Grisé = Vrai +fin +Procédure locale RechercheColb +procédure RechercheColb() +tbIdColbs est un tableau d'entiers sur 8 octets +ChaîneVersTableau(CMOD_Colbs.SAI_Jeton,tbIdColbs,RC) +tbIdColbs = Ouvre(FEN_Choix_Colbs,tbIdColbs,Vrai) +si tbIdColbs..Occurrence > 0 alors +SaisieSupprimeToutJeton(CMOD_Colbs.SAI_Jeton) +FiltreCollaborateurs(tbIdColbs) +fin +Procédure locale RechercheSite +procédure RechercheSite() +nIdInter est un entier sur 8 octets = Ouvre(FEN_Choix_Liste,cFEN_RDV) +si nIdInter > 0 alors +TableauSupprimeTout(tbaContacts) +/*********Contacts*************/ +reqInterest une Requête SQL = +[ +SELECT IN_IDDossier, IN_Description, IN_NumDevis, IN_RefExterne, IN_RefInterne, AD_Adresse, +AD_CodePostal, AD_Ville, LI_CodeLieu, LI_PKID +FROM Intervention +LEFT JOIN Lieu ON LI_PKID = IN_IDLieu +LEFT JOIN Adresse ON Adresse.AD_PKID = Lieu.LI_IDAdresse +LEFT JOIN Intervention_Personne ON IP_IDIntervention = IN_PKID +06/08/2026 Batik 830 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Rendez_Vous › Procédures +WHERE IN_PKID = {p_idInter} +] +reqInter.p_Idinter = nIdInter +si pas HExécuteRequêteSQL(reqInter) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue lors de la récupération des informations de l'intervention", +"FEN_Fiche_RDV.RechercheSite") +sinon +pour tout reqInter +saDescrInter = reqInter.IN_Description +CMOD_DescrInter.SAI_Texte = reqInter.IN_Description +CMOD_Site.SAI_Texte = reqInter.LI_CodeLieu + [RC] + reqInter.AD_Adresse+[RC]+ +reqInter.AD_CodePostal+[RC]+reqInter.AD_Ville +CMOD_NumInter.SAI_Texte = reqInter.IN_RefInterne +CMOD_Devis.SAI_Texte = reqInter.IN_NumDevis +CMOD_RefExt.SAI_Texte = reqInter.IN_RefExterne +oRdv:nIDIntervention = nIdInter +oRdv.nIDLieu = reqInter.li_pkid +oRdv.nIDDossier = reqInter.in_idDossier +fin +fin +FiltrerContacts(Vrai) +fin +06/08/2026 Batik 831 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Client › Image +FEN_Tableau_Bord_Client +Image +| 06/08/2026 | Batik | 832 | +| ---------- | ----- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Client › Informations générales +FEN_Tableau_Bord_Client +Informations générales +FEN_Tableau_Bord_Client +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Tableau_Bord_Client.wdw +| Créé par | | SMR | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Date de création | | 18/07/2025 10:34:18 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 01/04/2026 08:39:45 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Tableau de bord clients +| Position X | 0 Position Y | | 0 Largeur | 1177 Hauteur | 871 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | --- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| Mode bulle d'aide | | Non | | | | +| Mode Bulle : Point chaud | | Haut gauche | | | | +| 06/08/2026 | | | Batik | | 833 | + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Client › Informations générales +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 32 +Pos. Y Menu 2 +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 +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +Libellé 1 Bouton 3 +Image 4 Onglet 1 +Superchamp 1 Champ Modèle de champs 5 +Option de menu 2 Case barre de message 1 +Nombre d'éléments dans la fenêtre : 18 +FEN_Tableau_Bord_Client +Informations sur les champs +Fenêtre : FEN_Tableau_Bord_Client +06/08/2026 Batik 834 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Client › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Annuler | | 878 | 1 | 141 | 35 | 0 | Actif | | +| ------------- | --- | ---- | --- | ---- | --- | --- | ----- | --- | +| CMOD_BordFen | | 0 | -29 | 1047 | 29 | 0 | Actif | | +| CMOD_Ong | | 5 | 36 | 1163 | 773 | 0 | Actif | | +| CMOD_Retablir | | 571 | 1 | 295 | 35 | 0 | Actif | | +| CMOD_Valider | | 1027 | 1 | 141 | 35 | 0 | Actif | | +Champ Modèle de champs : CMOD_Annuler +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | ---------- | --- | --- | --- | --- | ------------ | ---------- | ----------- | +| | X noitisoP | | | | | laitini tatE | | | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Annuler | | 878 1 | 141 | 35 | 0 | Actif | | Normal | +| ----------- | --- | ----- | --- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 1047 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | | | +| --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| LIB_Libellé | 91 | -27 924 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | ----- | --- | ----- | ------ | ------ | --- | +| 06/08/2026 | | | Batik | | | | | 835 | + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Client › 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_AideFenetre | 1015 | -26 | 28 | 23 | 0 | Actif | | +| -------------------------- | ---- | --- | --- | --- | --- | ----- | --- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | +Champ Modèle de champs : CMOD_Ong +Onglet +slennoitroporp steloV +engil/stelov .bN +| | | | | | laitini tatE | BAT ehcuoT stelov .soP | | +| --- | --- | --- | --- | --- | ------------ | ---------------------- | --- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| ONG_Onglet | 5 36 | 1163 | 773 | 0 | Actif | haut | 0 | +| ---------- | ---- | ---- | --- | --- | ----- | ---- | --- | +Champ Modèle de champs : CMOD_Retablir +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Valider | 571 | 1 | 295 | 35 | 0 | Actif | Normal | +| ----------- | --- | --- | --- | --- | --- | ----- | ------ | +Champ Modèle de champs : CMOD_Valider +| 06/08/2026 | | | Batik | | | | 836 | +| ---------- | --- | --- | ----- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Client › Informations sur les champs +Bouton +notuob epyT +| | | | | laitini tatE BAT ehcuoT | | +| --- | --- | --- | --- | ----------------------- | --- | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | +| --- | --- | ------- | ------- | --- | --- | +elbisiV +nalP +| BTN_Valider | 1027 | 1 141 | 35 0 | Actif | Normal | +| ----------- | ---- | ----- | ---- | ----- | ------ | +Fenêtre : FEN_Tableau_Bord_Client +Champ Modèle de champs : CMOD_Annuler +| Ordre navigation | 3 | | | | | +| ------------------------- | ----------------------------------- | --- | --- | --- | --- | +| Curseur survol | 0 | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | 0 | | | | | +| Taux Paral. Y | 0 | | | | | +| Épinglé | Non | | | | | +| Masquer lors du scrolling | Non | | | | | +| Ancrage au contenu | <Aucun> | | | | | +| Numéro aide | 0 | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | +| ------------------------- | ------ | --- | --- | --- | --- | +| Ancrage | Droite | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { + "Libelle":"Barre de titre (Fen\u00eatre)" +} +| Ordre navigation | 1 | | | | | +| -------------------------------- | ----------------------------------- | ----- | --- | --- | --- | +| Curseur survol | 0 | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | 0 | | | | | +| Taux Paral. Y | 0 | | | | | +| Épinglé | Non | | | | | +| Masquer lors du scrolling | Non | | | | | +| Ancrage au contenu | <Aucun> | | | | | +| Numéro aide | 0 | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | +| 06/08/2026 | | Batik | | | 837 | + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Client › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Ong +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Retablir +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 838 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Client › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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 +06/08/2026 Batik 839 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Client › 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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1047 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 840 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Client › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 841 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Client › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 842 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Client › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 843 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Client › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Ong +Onglet : CMOD_Ong.ONG_Onglet +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Onglet +Valeur initiale 1 +Ordre navigation 1 +Curseur survol 0 +Onglet dynamique Oui +Libellé volet FR: Nouvel onglet +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 844 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Client › Informations sur les champs +Menu contextuel MENU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Retrait gauche 0 +Retrait des onglets 0 +Numéro aide 0 +Autorise ChangeGabarit Oui +Bouton Fermer Oui +Bouton Nouveau Oui +Volets détachables Non +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. Au début +Nb. états image 1 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Retablir +Bouton : CMOD_Retablir.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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 +06/08/2026 Batik 845 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Client › Informations sur les champs +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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é) +06/08/2026 Batik 846 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Client › Informations sur les champs +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Tableau_Bord_Client +Informations sur les menus +Menu contextuel : 'MENU_Options' +Nom des options +OPT_ModifierNom (2) +Libellé des options : Français +Modifier le nom de l'onglet +FEN_Tableau_Bord_Client +Code +Déclarations globales de FEN_Tableau_Bord_Client +06/08/2026 Batik 847 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Client › Code +procédure FEN_Tableau_Bord_Client() +MoiMême..Alias = "FEN_Tableau_Bord_Client" +MoiMême..Titre = "Paramétrage de la fenêtre client" +tbaTableauAlias est un tableau associatif de chaînes ANSI +Maximise() +Fin d'initialisation de FEN_Tableau_Bord_Client +Filtrer() +FEN_Tableau_Bord_Client +Code des champs +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +06/08/2026 Batik 848 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +06/08/2026 Batik 849 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Client › Code des champs +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Ong +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ong +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ong +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ong +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ong +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ong +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ong +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de ONG_Onglet ( CMOD_Ong ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Création d'un volet dans ONG_Onglet ( CMOD_Ong ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +saAlias est une chaîne ANSI = ONG_Onglet[ONG_Onglet].Alias +saNomVolet est une chaîne ANSI +RetourValeur est un entier +RetourValeur = Saisie("Veuillez saisir le nom du nouvel onglet", saNomVolet) +si RetourValeur = 0 alors +saNomVolet = "" +fin +si saNomVolet = "" alors +renvoyer Faux +fin +saAlias = OngletOuvre(ONG_Onglet,saNomVolet,FI_TableauBordModelClient,"") +06/08/2026 Batik 850 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Client › Code des champs +si saAlias <> "" alors +tbaTableauAlias[saAlias] = saNomVolet +fin +renvoyer Faux +Fermeture d'un volet de ONG_Onglet ( CMOD_Ong ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +saAlias est une chaîne ANSI = ONG_Onglet[ONG_Onglet].Alias +si tbaTableauAlias[saAlias]..Existe alors +TableauSupprime(tbaTableauAlias,saAlias) +fin +renvoyer Vrai +Modification du volet affiché de ONG_Onglet ( CMOD_Ong ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de ONG_Onglet ( CMOD_Ong ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Retablir +salib = "Rétablir la configuration par défaut" +Fin d'initialisation de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Retablir +06/08/2026 Batik 851 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Retablir ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Retablir ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +RetablirConfiguration() +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +//sConfiguration est chaîne = TDBSauveConfiguration(TDB_Client) +si Enregistrer() alors +Ferme() +06/08/2026 Batik 852 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Client › Code des champs +fin +Sélection du menu de MENU_Options.OPT_ModifierNom +ModifierNomOnglet() +FEN_Tableau_Bord_Client +Procédures +Procédure locale Enregistrer +procédure Enregistrer() +nbOngletest un entier = ONG_Onglet..Occurrence +tbaConfig est un tableau associatif (AvecDoublon) de chaînes ANSI +saConfigest une chaîne ANSI +pour tout saLib, saUnAlias de tbaTableauAlias +saConfig = "" +ExécuteTraitement(saUnAlias+".DonneConfig",trtProcédure,saConfig) +si saConfig <> "" alors +tbaConfig[saLib] = saConfig +fin +fin +bufJson est un Buffer +si tbaConfig..Occurrence > 0 alors +Sérialise(tbaConfig,bufJson,psdJSON) +fin +si CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Client]..Existe alors +CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Client].saValeur = +bufJson +si pas CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Client]. +DateEnregistre() alors +renvoyer Faux +fin +sinon +oUnParam est un MParametreUtilisateur +oUnParam.saCode = MParametreUtilisateur::cTdB_Client +oUnParam.saValeur = bufJson +oUnParam.nIDUtilisateur = CollaborateurEnCours.nIdUser +si pas oUnParam:DateEnregistre() alors +renvoyer Faux +fin +CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Client] = oUnParam +fin +renvoyer Vrai +Procédure locale Filtrer +procédure Filtrer() +06/08/2026 Batik 853 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Client › Procédures +ONG_Onglet..AffichageActif = Faux +tbaConfig est un tableau associatif (AvecDoublon) de chaînes ANSI = CollaborateurEnCours: +clUtilisateur:TdB_Fen_Client() +saAlias est une chaîne ANSI +TableauSupprimeTout(tbaTableauAlias) +pour tout saConfig, saCle de tbaConfig +saAlias = OngletOuvre(ONG_Onglet,saCle,FI_TableauBordModelClient,saConfig) +si saAlias <> "" alors +tbaTableauAlias[saAlias] = saCle +fin +fin +ONG_Onglet..AffichageActif = Vrai +Procédure locale ModifierNomOnglet +procédure ModifierNomOnglet() +saAlias est une chaîne ANSI = ONG_Onglet[ONG_Onglet].Alias +saNomVolet est une chaîne ANSI +si saAlias <> "" alors +saNomVolet = tbaTableauAlias[saAlias] +fin +Saisie("Veuillez saisir le nouveau nom de l'onglet", saNomVolet) +si saNomVolet = "" alors +renvoyer Faux +fin +si saAlias <> "" alors +tbaTableauAlias[saAlias] = saNomVolet +ONG_Onglet[ONG_Onglet].Libellé= saNomVolet +fin +renvoyer Faux +Procédure locale RetablirConfiguration +procédure RetablirConfiguration() +ONG_Onglet..AffichageActif = Faux +OngletFermeTout(ONG_Onglet) +tbaNouvelleConfigest un tableau associatif (AvecDoublon) de chaînes ANSI +tbaNouvelleConfig[MParametreUtilisateur::cTdB_Client] = cParamTdB_Client +saAlias est une chaîne ANSI +TableauSupprimeTout(tbaTableauAlias) +pour tout saConfig, saCle de tbaNouvelleConfig +saAlias = OngletOuvre(ONG_Onglet,saCle,FI_TableauBordModelClient,saConfig) +si saAlias <> "" alors +tbaTableauAlias[saAlias] = saCle +fin +fin +ONG_Onglet..AffichageActif = Vrai +06/08/2026 Batik 854 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Contact › Image +FEN_Tableau_Bord_Contact +Image +FEN_Tableau_Bord_Contact +Informations générales +FEN_Tableau_Bord_Contact +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Tableau_Bord_Contact.wdw +06/08/2026 Batik 855 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Contact › Informations générales +| Créé par | | SMR | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Date de création | | 18/07/2025 10:36:29 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 01/04/2026 08:39:45 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Tableau de bord contacts +| Position X | 0 Position Y | | 0 Largeur | 1166 Hauteur | 719 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | --- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 856 | + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Contact › Informations générales +| 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 | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 1 | Bouton | | | 3 | +| --- | -------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Image | | 4 | Onglet | | | 1 | +| | Superchamp | | 1 | Champ Modèle de champs | | | 5 | +| | Option de menu | | 2 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 18 +FEN_Tableau_Bord_Contact +Informations sur les champs +Fenêtre : FEN_Tableau_Bord_Contact +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Annuler | | 872 | 1 141 | 35 | 0 | Actif | | +| ------------- | --- | ---- | -------- | --- | --- | ----- | --- | +| CMOD_BordFen | | 0 | -29 1039 | 29 | 0 | Actif | | +| CMOD_Retablir | | 569 | 1 295 | 35 | 0 | Actif | | +| CMOD_SansNom1 | | 5 | 36 1155 | 625 | 0 | Actif | | +| CMOD_Valider | | 1019 | 1 141 | 35 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 857 | + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Contact › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Annuler | 872 | 1 | 141 | 35 | 0 | Actif | | Normal | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 1039 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Libellé | 91 | -27 916 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +| | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------------------- | ----------------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_AideFenetre | 1007 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | ---- | --- | ----- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +| 06/08/2026 | | | Batik | | | | | 858 | + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Contact › Informations sur les champs +Champ Modèle de champs : CMOD_Retablir +Bouton +BAT ehcuoT notuob epyT +laitini tatE +| | X noitisoP | Y noitisoP | | | | | +| --- | ---------- | ---------- | ------- | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| BTN_Valider | 569 | 1 295 | 35 | 0 | Actif | Normal | +| ----------- | --- | ----- | --- | --- | ----- | ------ | +Champ Modèle de champs : CMOD_SansNom1 +Onglet +slennoitroporp steloV +engil/stelov .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | stelov .soP | | +| --- | --------------------- | --- | --- | ------------ | ----------- | --- | +ruegraL ruetuaH +elbisiV +nalP +| ONG_Onglet | 5 36 | 1155 625 | 0 | Actif | haut | 0 | +| ---------- | ---- | -------- | --- | ----- | ---- | --- | +Champ Modèle de champs : CMOD_Valider +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| BTN_Valider | 1019 | 1 141 | 35 | 0 | Actif | Normal | +| ----------- | ---- | ----- | --- | --- | ----- | ------ | +Fenêtre : FEN_Tableau_Bord_Contact +| 06/08/2026 | | Batik | | | | 859 | +| ---------- | --- | ----- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Contact › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +06/08/2026 Batik 860 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Contact › Informations sur les champs +Champ Modèle de champs : CMOD_Retablir +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom1 +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 861 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Contact › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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 +06/08/2026 Batik 862 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Contact › 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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1039 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 863 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Contact › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 864 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Contact › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 865 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Contact › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 866 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Contact › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Retablir +Bouton : CMOD_Retablir.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Non +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +06/08/2026 Batik 867 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Contact › Informations sur les champs +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom1 +Onglet : CMOD_SansNom1.ONG_Onglet +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Onglet +Valeur initiale 1 +Ordre navigation 1 +Curseur survol 0 +Onglet dynamique Oui +Libellé volet FR: Nouvel onglet +UI par l'utilisateur Selon fenêtre +Menu contextuel MENU_Options +06/08/2026 Batik 868 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Contact › Informations sur les champs +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Retrait gauche 0 +Retrait des onglets 0 +Numéro aide 0 +Autorise ChangeGabarit Oui +Bouton Fermer Oui +Bouton Nouveau Oui +Volets détachables Non +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. Au début +Nb. états image 1 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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é) +06/08/2026 Batik 869 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Contact › Informations sur les champs +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Tableau_Bord_Contact +Informations sur les menus +Menu contextuel : 'MENU_Options' +Nom des options +OPT_ModifierNom (2) +Libellé des options : Français +Modifier le nom de l'onglet +FEN_Tableau_Bord_Contact +Code +Déclarations globales de FEN_Tableau_Bord_Contact +06/08/2026 Batik 870 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Contact › Code +procédure FEN_Tableau_Bord_Contact() +MoiMême..Alias = "FEN_Tableau_Bord_Contact" +MoiMême..Titre = "Paramétrage de la fenêtre contact" +tbaTableauAlias est un tableau associatif de chaînes ANSI +Maximise() +Fin d'initialisation de FEN_Tableau_Bord_Contact +Filtrer() +FEN_Tableau_Bord_Contact +Code des champs +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +06/08/2026 Batik 871 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +06/08/2026 Batik 872 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Contact › Code des champs +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Déclarations globales de CMOD_Retablir +salib = "Rétablir la configuration par défaut" +Fin d'initialisation de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Retablir ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Retablir ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +RetablirConfiguration() +Fin d'initialisation de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +06/08/2026 Batik 873 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de ONG_Onglet ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Création d'un volet dans ONG_Onglet ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +saAlias est une chaîne ANSI = ONG_Onglet[ONG_Onglet].Alias +saNomVolet est une chaîne ANSI +RetourValeur est un entier +RetourValeur = Saisie("Veuillez saisir le nom du nouvel onglet", saNomVolet) +si RetourValeur = 0 alors +saNomVolet = "" +fin +si saNomVolet = "" alors +renvoyer Faux +fin +saAlias = OngletOuvre(ONG_Onglet,saNomVolet,FI_TableauBordModelContact,"") +si saAlias <> "" alors +tbaTableauAlias[saAlias] = saNomVolet +fin +renvoyer Faux +Fermeture d'un volet de ONG_Onglet ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +saAlias est une chaîne ANSI = ONG_Onglet[ONG_Onglet].Alias +si tbaTableauAlias[saAlias]..Existe alors +06/08/2026 Batik 874 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Contact › Code des champs +TableauSupprime(tbaTableauAlias,saAlias) +fin +renvoyer Vrai +Modification du volet affiché de ONG_Onglet ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de ONG_Onglet ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +Ferme() +fin +Sélection du menu de MENU_Options.OPT_ModifierNom +06/08/2026 Batik 875 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Contact › Code des champs +ModifierNomOnglet() +FEN_Tableau_Bord_Contact +Procédures +Procédure locale Enregistrer +procédure Enregistrer() +nbOngletest un entier = ONG_Onglet..Occurrence +tbaConfig est un tableau associatif (AvecDoublon) de chaînes ANSI +saConfigest une chaîne ANSI +pour tout saLib, saUnAlias de tbaTableauAlias +saConfig = "" +ExécuteTraitement(saUnAlias+".DonneConfig",trtProcédure,saConfig) +si saConfig <> "" alors +tbaConfig[saLib] = saConfig +fin +fin +bufJson est un Buffer +si tbaConfig..Occurrence > 0 alors +Sérialise(tbaConfig,bufJson,psdJSON) +fin +si CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Contact]..Existe alors +CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Contact].saValeur = +bufJson +si pas CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Contact]. +DateEnregistre() alors +renvoyer Faux +fin +sinon +oUnParam est un MParametreUtilisateur +oUnParam.saCode = MParametreUtilisateur::cTdB_Contact +oUnParam.saValeur = bufJson +oUnParam.nIDUtilisateur = CollaborateurEnCours.nIdUser +si pas oUnParam:DateEnregistre() alors +renvoyer Faux +fin +CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Contact] = oUnParam +fin +renvoyer Vrai +Procédure locale Filtrer +procédure Filtrer() +ONG_Onglet..AffichageActif = Faux +tbaConfig est un tableau associatif (AvecDoublon) de chaînes ANSI = CollaborateurEnCours: +clUtilisateur:TdB_Fen_Contact() +06/08/2026 Batik 876 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Contact › Procédures +saAliasO est une chaîne ANSI +TableauSupprimeTout(tbaTableauAlias) +pour tout saConfig, saCle de tbaConfig +saAliasO = OngletOuvre(ONG_Onglet,saCle,FI_TableauBordModelContact,saConfig) +si saAliasO <> "" alors +tbaTableauAlias[saAliasO] = saCle +fin +fin +ONG_Onglet..AffichageActif = Vrai +Procédure locale ModifierNomOnglet +procédure ModifierNomOnglet() +saAlias est une chaîne ANSI = ONG_Onglet[ONG_Onglet].Alias +saNomVolet est une chaîne ANSI +si saAlias <> "" alors +saNomVolet = tbaTableauAlias[saAlias] +fin +Saisie("Veuillez saisir le nouveau nom de l'onglet", saNomVolet) +si saNomVolet = "" alors +renvoyer Faux +fin +si saAlias <> "" alors +tbaTableauAlias[saAlias] = saNomVolet +ONG_Onglet[ONG_Onglet].Libellé= saNomVolet +fin +renvoyer Faux +Procédure locale RetablirConfiguration +procédure RetablirConfiguration() +ONG_Onglet..AffichageActif = Faux +OngletFermeTout(ONG_Onglet) +tbaNouvelleConfigest un tableau associatif (AvecDoublon) de chaînes ANSI +tbaNouvelleConfig[MParametreUtilisateur::cTdB_Contact] = cParamTdB_Contact +saAliaso est une chaîne ANSI +TableauSupprimeTout(tbaTableauAlias) +pour tout saConfig, saCle de tbaNouvelleConfig +saAliaso = OngletOuvre(ONG_Onglet,saCle,FI_TableauBordModelContact,saConfig) +si saAliaso <> "" alors +tbaTableauAlias[saAliaso] = saCle +fin +fin +ONG_Onglet..AffichageActif = Vrai +06/08/2026 Batik 877 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Client › Image +FEN_Fiche_Client +Image +FEN_Fiche_Client +Informations générales +FEN_Fiche_Client +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Fiche_Client.wdw +Créé par SMR +06/08/2026 Batik 878 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Client › Informations générales +| Date de création | | 22/07/2025 16:49:38 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 24/03/2026 16:57:17 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Fiche Client +| Position X | 0 Position Y | | 0 Largeur | 1200 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | --- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| 06/08/2026 | | | Batik | | 879 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Client › Informations générales +| 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 | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 1 | Bouton | | | 1 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Image | | 5 | Onglet | | | 1 | +| | Superchamp | | 1 | Champ Modèle de champs | | | 4 | +| | Case barre de message | | 1 | | | | | +Nombre d'éléments dans la fenêtre : 14 +FEN_Fiche_Client +Informations sur les champs +Fenêtre : FEN_Fiche_Client +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_BordFen | | 0 | -29 1063 | 29 | 0 | Actif | | +| ---------------- | --- | ---- | -------- | --- | --- | ----- | --- | +| CMOD_ConfigEcran | | 1012 | 2 30 | 24 | 0 | Actif | | +| CMOD_Onglet | | 4 | 37 1191 | 609 | 0 | Actif | | +| CMOD_Valider | | 1050 | 2 141 | 35 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 880 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Client › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | --- | +| | | | | | laitini tatE | | FTR tamroF | | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libellé | 91 | -27 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | --- | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 1031 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | ---- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_ConfigEcran +Image +| | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --------------------------------------- | ---------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +cilc cevA +| | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| IMG_Icone | 1012 | 2 | 30 | 24 | 0 | Actif | | | +| ---------- | ---- | --- | ----- | --- | --- | ----- | --- | --- | +| 06/08/2026 | | | Batik | | | | | 881 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Client › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet +Onglet +slennoitroporp steloV +engil/stelov .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | stelov .soP | | +| --- | --------------------- | --- | --- | ------------ | ----------- | --- | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| ONG_Onglet | 4 37 | 1191 609 | 0 | Actif | haut | 0 | +| ---------- | ---- | -------- | --- | ----- | ---- | --- | +Champ Modèle de champs : CMOD_Valider +Bouton +BAT ehcuoT notuob epyT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| BTN_Valider | 1050 | 2 141 | 35 | 0 | Actif | Normal | +| ----------- | ---- | ----- | --- | --- | ----- | ------ | +Fenêtre : FEN_Fiche_Client +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { + "Libelle":"Barre de titre (Fen\u00eatre)" +} +| Ordre navigation | 1 | | | | | | +| ------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Curseur survol | 0 | | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | | +| ------------------------- | ------- | ----- | --- | --- | --- | --- | +| Ancrage | Largeur | | | | | | +| 06/08/2026 | | Batik | | | | 882 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Client › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_ConfigEcran +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 883 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Client › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 884 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Client › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 885 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Client › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 886 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Client › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 887 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Client › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_ConfigEcran +Image : CMOD_ConfigEcran.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\ConfigEcran.svg +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 +06/08/2026 Batik 888 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Client › Informations sur les champs +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Tenir compte du cadrage +Bulle d'aide FR: Modifier l'affichage de l'écran +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_Onglet +Onglet : CMOD_Onglet.ONG_Onglet +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Onglet +Valeur initiale 1 +Ordre navigation 1 +Curseur survol 0 +Onglet dynamique Oui +Libellé volet FR: Nouvel onglet +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Retrait gauche 0 +Retrait des onglets 0 +Numéro aide 0 +06/08/2026 Batik 889 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Client › Informations sur les champs +Autorise ChangeGabarit Oui +Bouton Fermer Non +Bouton Nouveau Non +Volets détachables Non +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 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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) +06/08/2026 Batik 890 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Client › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Type flèche <Aucun> +Texte Markdown Non +Mode menu ctx. <Aucun> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Fiche_Client +Code +Déclarations globales de FEN_Fiche_Client +procédure FEN_Fiche_Client(tbaParametres est un tableau associatif de chaînes ANSI) +MoiMême..Alias = tbaParametres[cParam_Alias] +nId est un entier sur 8 octets = tbaParametres[cParam_IdFen] +si nId > 0 _et_ HLitRecherchePremier(Client,CL_PKID,nId) alors +MaFenêtre..Titre = Client.CL_Nom +sinon +MaFenêtre..Titre = "Nouveau client" +fin +tbaTableauAlias est un tableau associatif de chaînes ANSI +Maximise() +Fin d'initialisation de FEN_Fiche_Client +FiltreTdB() +Filtrer() +FEN_Fiche_Client +Code des champs +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 891 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Client › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ConfigEcran +06/08/2026 Batik 892 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ouvre(FEN_Tableau_Bord_Client) +A chaque modification de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Onglet +06/08/2026 Batik 893 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Création d'un volet dans ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fermeture d'un volet de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modification du volet affiché de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 894 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Client › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +FEN_Fiche_Client +Procédures +Procédure locale Filtrer +procédure Filtrer() +si nId > 0 alors +pour tout saLib, saAliasO de tbaTableauAlias +ExécuteTraitement(saAliasO+".Filtrer",trtProcédure,nId) +fin +fin +Procédure locale FiltreTdB +06/08/2026 Batik 895 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Client › Procédures +procédure FiltreTdB() +ONG_Onglet..AffichageActif = Faux +tbaConfig est un tableau associatif (AvecDoublon) de chaînes ANSI = CollaborateurEnCours: +clUtilisateur:TdB_Fen_Client() +saAliasO est une chaîne ANSI +TableauSupprimeTout(tbaTableauAlias) +pour tout saConfig, saCle de tbaConfig +saAliasO = OngletOuvre(ONG_Onglet,saCle,FI_TableauBordModel,saConfig) +si saAliasO <> "" alors +tbaTableauAlias[saAliasO] = saCle +fin +fin +ONG_Onglet..AffichageActif = Vrai +06/08/2026 Batik 896 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Contact › Image +FEN_Fiche_Contact +Image +FEN_Fiche_Contact +Informations générales +FEN_Fiche_Contact +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Fiche_Contact.wdw +Créé par SMR +06/08/2026 Batik 897 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Contact › Informations générales +| Date de création | | 22/07/2025 17:16:49 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 24/03/2026 16:57:38 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Fiche contact +| Position X | 0 Position Y | | 0 Largeur | 1199 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | --- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| 06/08/2026 | | | Batik | | 898 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Contact › Informations générales +| 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 | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 1 | Bouton | | | 1 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Image | | 5 | Onglet | | | 1 | +| | Superchamp | | 1 | Champ Modèle de champs | | | 4 | +| | Case barre de message | | 1 | | | | | +Nombre d'éléments dans la fenêtre : 14 +FEN_Fiche_Contact +Informations sur les champs +Fenêtre : FEN_Fiche_Contact +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_BordFen | | 0 | -29 1063 | 29 | 0 | Actif | | +| ---------------- | --- | ---- | -------- | --- | --- | ----- | --- | +| CMOD_ConfigEcran | | 1010 | 1 30 | 24 | 0 | Actif | | +| CMOD_Onglet | | 6 | 36 1185 | 609 | 0 | Actif | | +| CMOD_Valider | | 1048 | 1 141 | 35 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 899 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Contact › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | --- | +| | | | | | laitini tatE | | FTR tamroF | | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libellé | 91 | -27 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | --- | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 1031 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | ---- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_ConfigEcran +Image +| | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --------------------------------------- | ---------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +cilc cevA +| | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| IMG_Icone | 1010 | 1 | 30 | 24 | 0 | Actif | | | +| ---------- | ---- | --- | ----- | --- | --- | ----- | --- | --- | +| 06/08/2026 | | | Batik | | | | | 900 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Contact › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet +Onglet +slennoitroporp steloV +engil/stelov .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | stelov .soP | | +| --- | --------------------- | --- | --- | ------------ | ----------- | --- | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| ONG_Onglet | 6 36 | 1185 609 | 0 | Actif | haut | 0 | +| ---------- | ---- | -------- | --- | ----- | ---- | --- | +Champ Modèle de champs : CMOD_Valider +Bouton +BAT ehcuoT notuob epyT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| BTN_Valider | 1048 | 1 141 | 35 | 0 | Actif | Normal | +| ----------- | ---- | ----- | --- | --- | ----- | ------ | +Fenêtre : FEN_Fiche_Contact +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { + "Libelle":"Barre de titre (Fen\u00eatre)" +} +| Ordre navigation | 1 | | | | | | +| ------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Curseur survol | 0 | | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | | +| ------------------------- | ------- | ----- | --- | --- | --- | --- | +| Ancrage | Largeur | | | | | | +| 06/08/2026 | | Batik | | | | 901 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Contact › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_ConfigEcran +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 902 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Contact › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 903 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Contact › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 904 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Contact › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 905 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Contact › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 906 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Contact › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_ConfigEcran +Image : CMOD_ConfigEcran.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\ConfigEcran.svg +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 +06/08/2026 Batik 907 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Contact › Informations sur les champs +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Tenir compte du cadrage +Bulle d'aide FR: Modifier l'affichage de l'écran +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_Onglet +Onglet : CMOD_Onglet.ONG_Onglet +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Onglet +Valeur initiale 1 +Ordre navigation 1 +Curseur survol 0 +Onglet dynamique Oui +Libellé volet FR: Nouvel onglet +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Retrait gauche 0 +Retrait des onglets 0 +Numéro aide 0 +06/08/2026 Batik 908 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Contact › Informations sur les champs +Autorise ChangeGabarit Oui +Bouton Fermer Non +Bouton Nouveau Non +Volets détachables Non +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 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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) +06/08/2026 Batik 909 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Contact › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Type flèche <Aucun> +Texte Markdown Non +Mode menu ctx. <Aucun> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Fiche_Contact +Code +Déclarations globales de FEN_Fiche_Contact +procédure FEN_Fiche_Contact(tbaParametres est un tableau associatif de chaînes ANSI) +MoiMême..Alias = tbaParametres[cParam_Alias] +nId est un entier sur 8 octets = tbaParametres[cParam_IdFen] +si nId > 0 _et_ HLitRecherchePremier(Personne,PE_PKID,nId) alors +MaFenêtre..Titre = Personne.PE_Nom +[" "]+Personne.PE_Prenom +sinon +MaFenêtre.Titre = "Nouveau contact" +fin +tbaTableauAlias est un tableau associatif de chaînes ANSI +Maximise() +Fin d'initialisation de FEN_Fiche_Contact +FiltreTdB() +Filtrer() +FEN_Fiche_Contact +Code des champs +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +06/08/2026 Batik 910 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ConfigEcran +06/08/2026 Batik 911 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ouvre(FEN_Tableau_Bord_Contact) +A chaque modification de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Onglet +06/08/2026 Batik 912 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Création d'un volet dans ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fermeture d'un volet de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modification du volet affiché de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 913 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Contact › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +FEN_Fiche_Contact +Procédures +Procédure locale Filtrer +procédure Filtrer() +si nId > 0 alors +pour tout saLib, saAliasO de tbaTableauAlias +ExécuteTraitement(saAliasO+".Filtrer",trtProcédure,nId) +fin +fin +Procédure locale FiltreTdB +06/08/2026 Batik 914 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Contact › Procédures +procédure FiltreTdB() +ONG_Onglet..AffichageActif = Faux +tbaConfig est un tableau associatif (AvecDoublon) de chaînes ANSI = CollaborateurEnCours: +clUtilisateur:TdB_Fen_Contact() +saAliasO est une chaîne ANSI +TableauSupprimeTout(tbaTableauAlias) +pour tout saConfig, saCle de tbaConfig +saAliasO = OngletOuvre(ONG_Onglet,saCle,FI_TableauBordModel,saConfig) +si saAliasO <> "" alors +tbaTableauAlias[saAliasO] = saCle +fin +fin +ONG_Onglet..AffichageActif = Vrai +06/08/2026 Batik 915 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Site › Image +FEN_Tableau_Bord_Site +Image +FEN_Tableau_Bord_Site +Informations générales +FEN_Tableau_Bord_Site +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Tableau_Bord_Site.wdw +Créé par SMR +06/08/2026 Batik 916 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Site › Informations générales +| Date de création | | 24/07/2025 14:06:41 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 01/04/2026 08:39:45 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Tableau de bord sites +| Position X | 0 Position Y | | 0 Largeur | 1200 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | --- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| 06/08/2026 | | | Batik | | 917 | + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Site › Informations générales +| 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 | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 1 | Bouton | | | 3 | +| --- | -------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Image | | 4 | Onglet | | | 1 | +| | Superchamp | | 1 | Champ Modèle de champs | | | 5 | +| | Option de menu | | 2 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 18 +FEN_Tableau_Bord_Site +Informations sur les champs +Fenêtre : FEN_Tableau_Bord_Site +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Annuler | | 902 | 0 141 | 35 | 0 | Actif | | +| ------------- | --- | ---- | -------- | --- | --- | ----- | --- | +| CMOD_BordFen | | 0 | -29 1063 | 29 | 0 | Actif | | +| CMOD_Retablir | | 599 | 1 295 | 35 | 0 | Actif | | +| CMOD_SansNom1 | | 5 | 35 1187 | 610 | 0 | Actif | | +| CMOD_Valider | | 1051 | 0 141 | 35 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 918 | + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Site › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Annuler | 902 | 0 | 141 | 35 | 0 | Actif | | Normal | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Libellé | 91 | -27 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +| | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------------------- | ----------------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_AideFenetre | 1031 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | ---- | --- | ----- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +| 06/08/2026 | | | Batik | | | | | 919 | + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Site › Informations sur les champs +Champ Modèle de champs : CMOD_Retablir +Bouton +BAT ehcuoT notuob epyT +laitini tatE +| | X noitisoP | Y noitisoP | | | | | +| --- | ---------- | ---------- | ------- | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| BTN_Valider | 599 | 1 295 | 35 | 0 | Actif | Normal | +| ----------- | --- | ----- | --- | --- | ----- | ------ | +Champ Modèle de champs : CMOD_SansNom1 +Onglet +slennoitroporp steloV +engil/stelov .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | stelov .soP | | +| --- | --------------------- | --- | --- | ------------ | ----------- | --- | +ruegraL ruetuaH +elbisiV +nalP +| ONG_Onglet | 5 35 | 1187 610 | 0 | Actif | haut | 0 | +| ---------- | ---- | -------- | --- | ----- | ---- | --- | +Champ Modèle de champs : CMOD_Valider +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| BTN_Valider | 1051 | 0 141 | 35 | 0 | Actif | Normal | +| ----------- | ---- | ----- | --- | --- | ----- | ------ | +Fenêtre : FEN_Tableau_Bord_Site +| 06/08/2026 | | Batik | | | | 920 | +| ---------- | --- | ----- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Site › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +06/08/2026 Batik 921 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Site › Informations sur les champs +Champ Modèle de champs : CMOD_Retablir +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom1 +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 922 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Site › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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 +06/08/2026 Batik 923 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Site › 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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 924 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Site › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 925 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Site › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 926 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Site › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 927 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Site › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Retablir +Bouton : CMOD_Retablir.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Non +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +06/08/2026 Batik 928 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Site › Informations sur les champs +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom1 +Onglet : CMOD_SansNom1.ONG_Onglet +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Onglet +Valeur initiale 1 +Ordre navigation 1 +Curseur survol 0 +Onglet dynamique Oui +Libellé volet FR: Nouvel onglet +UI par l'utilisateur Selon fenêtre +Menu contextuel MENU_Options +06/08/2026 Batik 929 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Site › Informations sur les champs +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Retrait gauche 0 +Retrait des onglets 0 +Numéro aide 0 +Autorise ChangeGabarit Oui +Bouton Fermer Oui +Bouton Nouveau Oui +Volets détachables Non +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. Au début +Nb. états image 1 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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é) +06/08/2026 Batik 930 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Site › Informations sur les champs +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Tableau_Bord_Site +Informations sur les menus +Menu contextuel : 'MENU_Options' +Nom des options +OPT_ModifierNom (2) +Libellé des options : Français +Modifier le nom de l'onglet +FEN_Tableau_Bord_Site +Code +Déclarations globales de FEN_Tableau_Bord_Site +06/08/2026 Batik 931 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Site › Code +procédure FEN_Tableau_Bord_Site() +MoiMême..Alias = FEN_Tableau_Bord_Site +MoiMême..Titre = "Paramétrage de la fenêtre site" +tbaTableauAlias est un tableau associatif de chaînes ANSI +Maximise() +Fin d'initialisation de FEN_Tableau_Bord_Site +Filtrer() +FEN_Tableau_Bord_Site +Code des champs +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +06/08/2026 Batik 932 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +06/08/2026 Batik 933 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Site › Code des champs +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Déclarations globales de CMOD_Retablir +salib = "Rétablir la configuration par défaut" +Fin d'initialisation de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Retablir ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Retablir ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +RetablirConfiguration() +Fin d'initialisation de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +06/08/2026 Batik 934 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de ONG_Onglet ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Création d'un volet dans ONG_Onglet ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +saAlias est une chaîne ANSI = ONG_Onglet[ONG_Onglet].Alias +saNomVolet est une chaîne ANSI +RetourValeur est un entier +RetourValeur = Saisie("Veuillez saisir le nom du nouvel onglet", saNomVolet) +si RetourValeur = 0 alors +saNomVolet = "" +fin +si saNomVolet = "" alors +renvoyer Faux +fin +saAlias = OngletOuvre(ONG_Onglet,saNomVolet,FI_TableauBordModelSite,"") +si saAlias <> "" alors +tbaTableauAlias[saAlias] = saNomVolet +fin +renvoyer Faux +Fermeture d'un volet de ONG_Onglet ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +saAlias est une chaîne ANSI = ONG_Onglet[ONG_Onglet].Alias +si tbaTableauAlias[saAlias]..Existe alors +06/08/2026 Batik 935 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Site › Code des champs +TableauSupprime(tbaTableauAlias,saAlias) +fin +renvoyer Vrai +Modification du volet affiché de ONG_Onglet ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de ONG_Onglet ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +Ferme() +fin +06/08/2026 Batik 936 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Site › Procédures +FEN_Tableau_Bord_Site +Procédures +Procédure locale Enregistrer +procédure Enregistrer() +nbOngletest un entier = ONG_Onglet..Occurrence +tbaConfig est un tableau associatif (AvecDoublon) de chaînes ANSI +saConfigest une chaîne ANSI +pour tout saLib, saUnAlias de tbaTableauAlias +saConfig = "" +ExécuteTraitement(saUnAlias+".DonneConfig",trtProcédure,saConfig) +si saConfig <> "" alors +tbaConfig[saLib] = saConfig +fin +fin +bufJson est un Buffer +si tbaConfig..Occurrence > 0 alors +Sérialise(tbaConfig,bufJson,psdJSON) +fin +si CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Site]..Existe alors +CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Site].saValeur = +bufJson +si pas CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Site]. +DateEnregistre() alors +renvoyer Faux +fin +sinon +oUnParam est un MParametreUtilisateur +oUnParam.saCode = MParametreUtilisateur::cTdB_Site +oUnParam.saValeur = bufJson +oUnParam.nIDUtilisateur = CollaborateurEnCours.nIdUser +si pas oUnParam:DateEnregistre() alors +renvoyer Faux +fin +CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Site] = oUnParam +fin +renvoyer Vrai +Procédure locale Filtrer +procédure Filtrer() +ONG_Onglet..AffichageActif = Faux +tbaConfig est un tableau associatif (AvecDoublon) de chaînes ANSI = CollaborateurEnCours: +clUtilisateur:TdB_Fen_Site() +saAliasO est une chaîne ANSI +TableauSupprimeTout(tbaTableauAlias) +pour tout saConfig, saCle de tbaConfig +saAliasO = OngletOuvre(ONG_Onglet,saCle,FI_TableauBordModelSite,saConfig) +si saAliasO <> "" alors +tbaTableauAlias[saAliasO] = saCle +06/08/2026 Batik 937 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Site › Procédures +fin +fin +ONG_Onglet..AffichageActif = Vrai +Procédure locale ModifierNomOnglet +procédure ModifierNomOnglet() +saAlias est une chaîne ANSI = ONG_Onglet[ONG_Onglet].Alias +saNomVolet est une chaîne ANSI +si saAlias <> "" alors +saNomVolet = tbaTableauAlias[saAlias] +fin +Saisie("Veuillez saisir le nouveau nom de l'onglet", saNomVolet) +si saNomVolet = "" alors +renvoyer Faux +fin +si saAlias <> "" alors +tbaTableauAlias[saAlias] = saNomVolet +ONG_Onglet[ONG_Onglet].Libellé= saNomVolet +fin +renvoyer Faux +Procédure locale RetablirConfiguration +procédure RetablirConfiguration() +ONG_Onglet..AffichageActif = Faux +OngletFermeTout(ONG_Onglet) +tbaNouvelleConfigest un tableau associatif (AvecDoublon) de chaînes ANSI +tbaNouvelleConfig[MParametreUtilisateur::cTdB_Site] = cParamTdB_Site +saAliasO est une chaîne ANSI +TableauSupprimeTout(tbaTableauAlias) +pour tout saConfig, saCle de tbaNouvelleConfig +saAliasO = OngletOuvre(ONG_Onglet,saCle,FI_TableauBordModelSite,saConfig) +si saAliasO <> "" alors +tbaTableauAlias[saAliasO] = saCle +fin +fin +ONG_Onglet..AffichageActif = Vrai +06/08/2026 Batik 938 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Site › Image +FEN_Fiche_Site +Image +FEN_Fiche_Site +Informations générales +FEN_Fiche_Site +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Fiche_Site.wdw +Créé par SMR +06/08/2026 Batik 939 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Site › Informations générales +| Date de création | | 25/07/2025 14:41:40 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 24/03/2026 16:57:02 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Fiche site +| Position X | 0 Position Y | | 0 Largeur | 1200 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | --- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| 06/08/2026 | | | Batik | | 940 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Site › Informations générales +| 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 | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 1 | Bouton | | | 1 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Image | | 5 | Onglet | | | 1 | +| | Superchamp | | 1 | Champ Modèle de champs | | | 4 | +| | Case barre de message | | 1 | | | | | +Nombre d'éléments dans la fenêtre : 14 +FEN_Fiche_Site +Informations sur les champs +Fenêtre : FEN_Fiche_Site +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_BordFen | | 0 | -29 1063 | 29 | 0 | Actif | | +| ---------------- | --- | ---- | -------- | --- | --- | ----- | --- | +| CMOD_ConfigEcran | | 1010 | 1 30 | 24 | 0 | Actif | | +| CMOD_SansNom1 | | 5 | 36 1189 | 609 | 0 | Actif | | +| CMOD_Valider | | 1048 | 1 141 | 35 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 941 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Site › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | --- | +| | | | | | laitini tatE | | FTR tamroF | | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libellé | 91 | -27 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | --- | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 1031 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | ---- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_ConfigEcran +Image +| | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --------------------------------------- | ---------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +cilc cevA +| | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| IMG_Icone | 1010 | 1 | 30 | 24 | 0 | Actif | | | +| ---------- | ---- | --- | ----- | --- | --- | ----- | --- | --- | +| 06/08/2026 | | | Batik | | | | | 942 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Site › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom1 +Onglet +slennoitroporp steloV +engil/stelov .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | stelov .soP | | +| --- | --------------------- | --- | --- | ------------ | ----------- | --- | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| ONG_Onglet | 5 36 | 1189 609 | 0 | Actif | haut | 0 | +| ---------- | ---- | -------- | --- | ----- | ---- | --- | +Champ Modèle de champs : CMOD_Valider +Bouton +BAT ehcuoT notuob epyT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| BTN_Valider | 1048 | 1 141 | 35 | 0 | Actif | Normal | +| ----------- | ---- | ----- | --- | --- | ----- | ------ | +Fenêtre : FEN_Fiche_Site +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { + "Libelle":"Barre de titre (Fen\u00eatre)" +} +| Ordre navigation | 1 | | | | | | +| ------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Curseur survol | 0 | | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | | +| ------------------------- | ------- | ----- | --- | --- | --- | --- | +| Ancrage | Largeur | | | | | | +| 06/08/2026 | | Batik | | | | 943 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Site › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_ConfigEcran +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom1 +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 944 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Site › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 945 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Site › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 946 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Site › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 947 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Site › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 948 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Site › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_ConfigEcran +Image : CMOD_ConfigEcran.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\ConfigEcran.svg +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 +06/08/2026 Batik 949 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Site › Informations sur les champs +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Tenir compte du cadrage +Bulle d'aide FR: Modifier l'affichage de l'écran +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_SansNom1 +Onglet : CMOD_SansNom1.ONG_Onglet +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Onglet +Valeur initiale 1 +Ordre navigation 1 +Curseur survol 0 +Onglet dynamique Oui +Libellé volet FR: Nouvel onglet +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Retrait gauche 0 +Retrait des onglets 0 +Numéro aide 0 +06/08/2026 Batik 950 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Site › Informations sur les champs +Autorise ChangeGabarit Oui +Bouton Fermer Non +Bouton Nouveau Non +Volets détachables Non +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 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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) +06/08/2026 Batik 951 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Site › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Type flèche <Aucun> +Texte Markdown Non +Mode menu ctx. <Aucun> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Fiche_Site +Code +Déclarations globales de FEN_Fiche_Site +procédure FEN_Fiche_Site(tbaParametres est un tableau associatif de chaînes ANSI) +MoiMême..Alias = tbaParametres[cParam_Alias] +nId est un entier sur 8 octets = tbaParametres[cParam_IdFen] +si nId > 0 _et_ HLitRecherchePremier(Lieu,LI_PKID,nId) alors +MaFenêtre..Titre = Lieu.LI_CodeLieu +sinon +MaFenêtre..Titre = "Nouveau site" +fin +tbaTableauAlias est un tableau associatif de chaînes ANSI +Maximise() +Fin d'initialisation de FEN_Fiche_Site +FiltreTdB() +Filtrer() +FEN_Fiche_Site +Code des champs +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +06/08/2026 Batik 952 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ConfigEcran +06/08/2026 Batik 953 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ConfigEcran +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ouvre(FEN_Tableau_Bord_Site) +A chaque modification de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_ConfigEcran ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom1 +06/08/2026 Batik 954 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de ONG_Onglet ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Création d'un volet dans ONG_Onglet ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fermeture d'un volet de ONG_Onglet ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modification du volet affiché de ONG_Onglet ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de ONG_Onglet ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 955 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Site › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +FEN_Fiche_Site +Procédures +Procédure locale Filtrer +procédure Filtrer() +si nId > 0 alors +pour tout saLib, saAliasO de tbaTableauAlias +ExécuteTraitement(saAliasO+".Filtrer",trtProcédure,nId) +fin +fin +Procédure locale FiltreTdB +06/08/2026 Batik 956 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Site › Procédures +procédure FiltreTdB() +ONG_Onglet..AffichageActif = Faux +tbaConfig est un tableau associatif (AvecDoublon) de chaînes ANSI = CollaborateurEnCours: +clUtilisateur:TdB_Fen_Site() +saAliasO est une chaîne ANSI +TableauSupprimeTout(tbaTableauAlias) +pour tout saConfig, saCle de tbaConfig +saAliasO = OngletOuvre(ONG_Onglet,saCle,FI_TableauBordModel,saConfig) +si saAliasO <> "" alors +tbaTableauAlias[saAliasO] = saCle +fin +fin +ONG_Onglet..AffichageActif = Vrai +06/08/2026 Batik 957 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Image +FEN_Fiche_Societe +Image +FEN_Fiche_Societe +Informations générales +FEN_Fiche_Societe +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Fiche_Societe.wdw +Créé par SMR +06/08/2026 Batik 958 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations générales +| Date de création | | 30/07/2025 08:50:04 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 18/03/2026 17:55:50 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Fiche Société +| Position X | 0 Position Y | | 0 Largeur | 1200 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | --- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| 06/08/2026 | | | Batik | | 959 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations générales +| 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 | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Champ de saisie | | 17 | Libellé | | | 6 | +| --- | ---------------------- | --- | --- | --------------------- | --- | --- | --- | +| | Bouton | | 3 | Interrupteur | | | 2 | +| | Image | | 13 | Table | | | 1 | +| | Combo | | 1 | Onglet | | | 1 | +| | Forme | | 3 | Superchamp | | | 4 | +| | Champ Modèle de champs | | 44 | Option d'interrupteur | | | 2 | +| | Option de menu | | 3 | Colonne de table | | | 3 | +| | Volet (Onglet) | | 2 | Case barre de message | | | 1 | +| | Éditeur HTML | | 1 | | | | | +Nombre d'éléments dans la fenêtre : 107 +FEN_Fiche_Societe +Informations sur les champs +Fenêtre : FEN_Fiche_Societe +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Annuler | | 902 | 3 141 | 35 | 0 | Actif | | +| ------------ | --- | ---- | -------- | --- | --- | ----- | --- | +| CMOD_Bloque | | 864 | 3 30 | 24 | 0 | Actif | | +| CMOD_BordFen | | 0 | -29 1063 | 29 | 0 | Actif | | +| CMOD_Coord | | 745 | 41 447 | 244 | 0 | Actif | | +| CMOD_Onglet | | 6 | 6 739 | 309 | 0 | Actif | | +| CMOD_Ouvert | | 864 | 3 30 | 24 | 0 | Actif | | +| CMOD_SMTP | | 6 | 315 1191 | 349 | 0 | Actif | | +| CMOD_Valider | | 1051 | 3 141 | 35 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 960 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Annuler | 902 | 3 | 141 | 35 | 0 | Actif | | Normal | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : CMOD_Bloque +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | 864 | 3 | 30 | 24 | 0 | Actif | | | +| --------- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_BordFen +Superchamp +| | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --------------------- | --- | ------- | ------- | --- | ------------ | ---------- | +| | | X noitisoP Y noitisoP | | | | | | | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | --- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_Libellé | 91 | -27 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | ----- | --- | ----- | ------ | ------ | --- | +| 06/08/2026 | | | Batik | | | | | 961 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › 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_AideFenetre | 1031 -26 | 28 23 | 0 | Actif | | | +| -------------------------- | -------- | ----- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 -26 | 28 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 -27 | 34 26 | 0 | Actif | | | +| IMG_SombreClair | 38 -26 | 21 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_Coord +Superchamp +| | | | | | laitini tatE | BAT ehcuoT | +| --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | +| | X noitisoP | Y noitisoP | | | | | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_Div | 749 | 46 438 | 233 | 0 | Actif | | +| ------ | --- | ------ | --- | --- | ----- | --- | +Superchamp : CMOD_Coord.SC_Div +Champ Modèle de champs +BAT ehcuoT +laitini tatE +| | X noitisoP | Y noitisoP | | | | | +| --- | ---------- | ---------- | ------- | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Adr_Etq | 754 | 85 429 | 53 | 0 | Actif | | +| ------------- | --- | ------- | --- | --- | ----- | --- | +| CMOD_CP | 976 | 141 207 | 53 | 0 | Actif | | +| CMOD_Img | 755 | 53 29 | 24 | 0 | Actif | | +| CMOD_SansNom1 | 754 | 141 214 | 131 | 0 | Actif | | +| CMOD_Sep | 749 | 79 438 | 8 | 0 | Actif | | +| CMOD_Titre | 792 | 52 392 | 26 | 0 | Actif | | +| CMOD_Ville | 976 | 202 205 | 70 | 0 | Actif | | +| 06/08/2026 | | Batik | | | | 962 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_Coord.SC_Div.CMOD_Adr_Etq +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_Texte | 754 85 | 429 53 0 | Actif Texte | | Non | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | +Champ Modèle de champs : CMOD_Coord.SC_Div.CMOD_CP +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_Texte | 976 141 | 207 53 0 | Actif Texte | | Non | | +| --------- | ------- | -------- | ----------- | --- | --- | --- | +Champ Modèle de champs : CMOD_Coord.SC_Div.CMOD_Img +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | sucof cevA | +| --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | ruegraL ruetuaH | | cilc cevA | | +| --- | --- | --- | --------------- | --- | --------- | --- | +elbisiV +nalP +| IMG_Icone | | 755 53 | 29 24 | 0 | Actif | | +| ---------- | --- | ------ | ----- | --- | ----- | --- | +| 06/08/2026 | | | Batik | | | 963 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_Coord.SC_Div.CMOD_SansNom1 +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_Texte | 754 141 | 214 131 | 0 | Actif | | Texte | | Non | | | | +| --------- | ------- | ------- | --- | ----- | --- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Coord.SC_Div.CMOD_Sep +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | --- | ------- | --- | --- | +nalP +| FRM_Sep | | | 749 | 80 | | 438 | 2 | | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Coord.SC_Div.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | --- | ------- | --- | --- | ------------ | --- | --- | --- | +| | | | ruegraL | | ruetuaH | | | | | | | +elbisiV +nalP +| LIB_lib | | 792 | 52 | 392 | 26 | 0 | | Actif | Gauche | Centre | | +| ------- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Coord.SC_Div.CMOD_Ville +| 06/08/2026 | | | | | Batik | | | | | | 964 | +| ---------- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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_Texte | 976 | 202 205 | 70 | 0 | Actif | | Texte | | Non | | | | | +| --------- | --- | ------- | --- | --- | ----- | --- | ----- | --- | --- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Onglet +Onglet +slennoitroporp steloV +engil/stelov .bN +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | stelov .soP | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | ----------- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ONG_Onglet | | 6 | | 6 | 739 | 309 | 0 | | Actif | | haut | | 0 | +| ---------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | ---- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | | | X noitisoP | Y noitisoP | | | | | | | laitini tatE | | +| --- | --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | | ruegraL | | | | | elbisiV | | | +| --- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | ------- | --- | --- | +nalP +| CMOD_Identite | | | | 6 | 36 | | 735 | 276 | | 0 | | Actif | | +| ------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_JourMois | | | | 669 | 35 | | 30 | 30 | | 0 | | Actif | | +| CMOD_JourPlus | | | | 707 | 35 | | 30 | 30 | | 0 | | Actif | | +| CMOD_SansNom1 | | | | 14 | 65 | | 723 | 242 | | 0 | | Actif | | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Identite +Superchamp +BAT ehcuoT +| | | | | X noitisoP | Y noitisoP | | | | | | | laitini tatE | | +| --- | --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_Div | | | | 10 | 41 | | 726 | 265 | | 0 | | Actif | | +| ---------- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | --- | ----- | --- | +| 06/08/2026 | | | | | | Batik | | | | | | | 965 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Superchamp : CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div +Bouton +BAT ehcuoT notuob epyT +laitini tatE +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| BTN_Fichier | 701 266 | 28 | 28 | 0 | Actif | Normal | | +| ----------- | ------- | --- | --- | --- | ----- | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | | sucof cevA | +| --- | --- | --- | --- | --- | ------------ | --- | ---------- | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | cilc cevA | | +| --- | --- | ------- | ------- | --- | --- | --------- | --- | +elbisiV +nalP +| IMG_Couleur | 697 92 | 39 | 34 | 0 | Actif | | | +| ----------- | ------- | --- | --- | --- | ----- | --- | --- | +| IMG_Logo | 563 217 | 136 | 79 | 0 | Actif | | | +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Archive | 468 | 265 | 85 | 29 | 0 | Actif | | +| -------------- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_Couleur | 564 | 84 | 129 | 53 | 0 | Actif | | +| CMOD_Email | 14 | 241 | 446 | 53 | 0 | Actif | | +| CMOD_Fax | 564 | 137 | 171 | 53 | 0 | Actif | | +| CMOD_Img | 14 | 49 | 29 | 24 | 0 | Actif | | +| CMOD_Logo | 564 | 191 | 169 | 26 | 0 | Actif | | +| CMOD_RaisonSoc | 14 | 84 | 539 | 53 | 0 | Actif | | +| CMOD_Sep | 11 | 76 | 725 | 8 | 0 | Actif | | +| CMOD_Siren | 172 | 137 | 201 | 53 | 0 | Actif | | +| CMOD_Siret | 14 | 137 | 150 | 53 | 0 | Actif | | +| CMOD_SiteWeb | 14 | 188 | 539 | 53 | 0 | Actif | | +| CMOD_Tel | 382 | 137 | 171 | 53 | 0 | Actif | | +| CMOD_Titre | 51 | 48 | 682 | 26 | 0 | Actif | | +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Archive +| 06/08/2026 | | Batik | | | | | 966 | +| ---------- | --- | ----- | --- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | ----------- | +ruetuaH +| | | | ruegraL | | | elbisiV | | | | +| --- | --- | --- | ------- | --- | --- | ------- | --- | --- | --- | +nalP +| INT_Int | | 468 265 | 85 | 29 | 0 | Actif | | 1 | | +| ------- | --- | ------- | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Couleur +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | --- | +| | | | | | | laitini tatE | | FTR tamroF | | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 564 84 | 129 | 53 | 0 | Actif | Gauche | Centre | | +| ------- | --- | ------ | --- | --- | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Email +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_Texte | 14 241 | 446 53 | 0 | Actif | Texte | Non | | | | +| --------- | ------ | ------ | --- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Fax +| 06/08/2026 | | | | Batik | | | | | 967 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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_Texte | 564 137 | 171 53 | 0 | Actif | Texte | Non | | | | +| --------- | ------- | ------ | --- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Img +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | | laitini tatE | | sucof cevA | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | ---------- | +| | | X noitisoP | Y noitisoP | | | | | | | +| | | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | | 14 | 49 | 29 | 24 | 0 | Actif | | | +| --------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Logo +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 564 191 | 169 | 26 | 0 | Actif | Gauche | Centre | | +| ------- | --- | ------- | --- | --- | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_RaisonSoc +| 06/08/2026 | | | | Batik | | | | | 968 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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_Texte | 14 84 539 | 53 0 | Actif | Texte | Non | | | | +| --------- | --------- | ---- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Sep +Forme +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_Sep | | 11 | 77 | 725 | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Siren +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_Texte | 172 137 201 | 53 0 | Actif | Texte | Non | | | | +| --------- | ----------- | ---- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Siret +| 06/08/2026 | | | Batik | | | | | 969 | +| ---------- | --- | --- | ----- | --- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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_Texte | 14 137 150 | 53 0 | Actif Texte | Non | | | +| --------- | ---------- | ---- | ----------- | --- | --- | --- | +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_SiteWeb +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_Texte | 14 188 539 | 53 0 | Actif Texte | Non | | | +| --------- | ---------- | ---- | ----------- | --- | --- | --- | +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Tel +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_Texte | 382 137 171 | 53 0 | Actif Texte | Non | | | +| ---------- | ----------- | ---- | ----------- | --- | --- | --- | +| 06/08/2026 | | | Batik | | | 970 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --------------------- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 51 48 | 682 26 | 0 Actif | Gauche | Centre | | +| ------- | ----- | ------ | ------- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_JourMois +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------------ | --------- | ---------- | +| | | | ruetuaH | | cilc cevA | | +| | | ruegraL | elbisiV | | | | +nalP +| IMG_Icone | 669 | 35 30 | 30 0 | Actif | | | +| --------- | --- | ----- | ---- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_JourPlus +Image +| | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | ------- | ------------ | --------------------------------------- | ---------- | +| | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +| | | | ruetuaH | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | 707 | 35 30 | 30 0 | Actif | | | +| --------- | --- | ----- | ---- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_SansNom1 +| 06/08/2026 | | Batik | | | | 971 | +| ---------- | --- | ----- | --- | --- | --- | --- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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 | | | | | +| --- | --------------------- | ------- | ------------ | -------- | --- | --- | --- | +| | | ruetuaH | | sruocraP | | | | +ruegraL +elbisiV +| | | nalP | elbaT | | | | | +| ---------- | ----- | --------- | ------------ | --- | --- | --- | --- | +| TABLE_Info | 16 67 | 717 236 0 | Actif Mémoir | | | | 1 | +Table : CMOD_Onglet.ONG_Onglet.CMOD_SansNom1.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +| | | | ehcuag à eéxiF | .zroh egardaC | .trev egardaC | | | +| --- | --- | ------------ | -------------- | ------------- | ------------- | ---------------------- | ----------- | +| | | | elbaçalpéD | | | eisias epyT FTR tamroF | eisias cevA | +| | | laitini tatE | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +| COL_PKID | | 880 Grisé | | Droite Centre | Numériq | | | +| ----------- | --- | ------------ | --- | ------------- | ------- | ---- | --- | +| COL_DateLib | | 525 affichag | | Droite Centre | | Date | | +| COL_Date | | 165 Actif | | Droite Centre | | Date | | +Champ Modèle de champs : CMOD_Ouvert +Image +| | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | --- | --------------------- | --- | --- | ------------ | --------------------- | ----------------- | +| | | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +ruetuaH cilc cevA +| | | | ruegraL | elbisiV | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +nalP +| IMG_Icone | | 864 3 | 30 24 | 0 | Actif | | | +| ---------- | --- | ----- | ----- | --- | ----- | --- | --- | +| 06/08/2026 | | | Batik | | | | 972 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_SMTP +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_Div | | 10 | 320 | 1182 | 338 | 0 | Actif | | +| ------ | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_SMTP.SC_Div +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_AdresseMail | | 406 | 365 | 384 | 53 | 0 | Actif | | +| ---------------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +| CMOD_AdresseSMTP | | 798 | 365 | 384 | 53 | 0 | Actif | | +| CMOD_Cryptage | | 977 | 418 | 205 | 53 | 0 | Actif | | +| CMOD_EnCopie | | 14 | 471 | 1168 | 29 | 0 | Actif | | +| CMOD_Img | | 14 | 330 | 29 | 24 | 0 | Actif | | +| CMOD_Mp | | 406 | 416 | 384 | 53 | 0 | Actif | | +| CMOD_Nom | | 14 | 365 | 384 | 53 | 0 | Actif | | +| CMOD_NomUser | | 14 | 418 | 384 | 53 | 0 | Actif | | +| CMOD_Port | | 798 | 418 | 170 | 53 | 0 | Actif | | +| CMOD_Sep | | 11 | 357 | 1181 | 8 | 0 | Actif | | +| CMOD_Signature | | 14 | 500 | 1167 | 151 | 0 | Actif | | +| CMOD_Titre | | 51 | 329 | 1133 | 26 | 0 | Actif | | +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_AdresseMail +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 | | | | +ruetuaH +| | ruegraL | | elbisiV | | | | | | +| --- | ------- | --- | ------- | --- | --- | --- | --- | --- | +nalP +| SAI_Texte | 406 365 384 | 53 0 | Actif | Texte | Non | | | | +| ---------- | ----------- | ---- | ----- | ----- | --- | --- | --- | --- | +| 06/08/2026 | | | Batik | | | | | 973 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_AdresseSMTP +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_Texte | 798 365 | 384 53 0 | Actif | Texte | | Non | | | | +| --------- | ------- | -------- | ----- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_Cryptage +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_Combo | 977 | 418 205 53 | 0 | Actif | Mémoire | | Non | | | +| --------- | --- | ---------- | --- | ----- | ------- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_EnCopie +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruegraL ruetuaH +elbisiV +nalP +| INT_Int | | 14 471 | 1168 | 29 | 0 | Actif | | 1 | | +| ---------- | --- | ------ | ---- | ----- | --- | ----- | --- | --- | --- | +| 06/08/2026 | | | | Batik | | | | | 974 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_Img +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | laitini tatE | sucof cevA | +| --- | --- | --------------------- | --- | --- | ------------ | ---------- | +ruetuaH cilc cevA +ruegraL +elbisiV +nalP +| IMG_Icone | | 14 330 | 29 24 | 0 | Actif | | +| --------- | --- | ------ | ----- | --- | ----- | --- | +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_Mp +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 | | laitini tatE eisias epyT | engilitluM | | | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| SAI_Texte | 406 416 | 384 53 0 | Actif Texte | | Non | | +| --------- | ------- | -------- | ----------- | --- | --- | --- | +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_Nom +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_Texte | 14 365 | 384 53 0 | Actif Texte | | Non | | +| ---------- | ------ | -------- | ----------- | --- | --- | --- | +| 06/08/2026 | | | Batik | | | 975 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_NomUser +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_Texte | 14 418 384 | 53 0 | Actif | Texte | Non | | | | +| --------- | ---------- | ---- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_Port +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_Texte | 798 418 170 | 53 0 | Actif | Texte | Non | | | | +| --------- | ----------- | ---- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_Sep +Forme +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_Sep | | 11 | 358 | 1181 | 2 | 0 | Actif | | +| ---------- | --- | --- | ----- | ---- | --- | --- | ----- | --- | +| 06/08/2026 | | | Batik | | | | | 976 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_Signature +Éditeur HTML +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| EDHTML_Html | | 14 | 500 | 1167 | 151 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_lib | 51 | 329 1133 | 26 | 0 | Actif | Gauche | Centre | | +| ------- | --- | -------- | --- | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Valider +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Valider | 1051 | 3 | 141 | 35 | 0 | Actif | | Normal | +| ----------- | ---- | --- | --- | --- | --- | ----- | --- | ------ | +Fenêtre : FEN_Fiche_Societe +Champ Modèle de champs : CMOD_Annuler +| Ordre navigation | 4 | | | | | | | | +| ------------------------- | ----------------------------------- | --- | ----- | --- | --- | --- | --- | --- | +| Curseur survol | 0 | | | | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | | +| Taux Paral. Y | 0 | | | | | | | | +| Épinglé | Non | | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | | +| 06/08/2026 | | | Batik | | | | | 977 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Bloque +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Batik 978 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Coord +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 600 Taux anc. bas 1000 Taux anc. largeur 400 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 600 Taux anc. hauteur 1000 +06/08/2026 Batik 979 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_Ouvert +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SMTP +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 980 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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 +06/08/2026 Batik 981 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › 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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Bloque +Image : CMOD_Bloque.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\cadena_fermé_noire.svg +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 +06/08/2026 Batik 982 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 983 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 984 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 985 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 986 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Coord +Superchamp : CMOD_Coord.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 436 +06/08/2026 Batik 987 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Hauteur externe 231 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Coord.SC_Div +Champ Modèle de champs : CMOD_Coord.SC_Div.CMOD_Adr_Etq +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 988 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_Coord.SC_Div.CMOD_CP +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 490 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Coord.SC_Div.CMOD_Img +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 989 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_Coord.SC_Div.CMOD_SansNom1 +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 490 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Coord.SC_Div.CMOD_Sep +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 990 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_Coord.SC_Div.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Coord.SC_Div.CMOD_Ville +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 490 Taux anc. hauteur 1000 +06/08/2026 Batik 991 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_Coord.SC_Div.CMOD_Adr_Etq +Champ de saisie : CMOD_Coord.SC_Div.CMOD_Adr_Etq.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 754 +Largeur interne 429 +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 +06/08/2026 Batik 992 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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> +Liaison des données :oAdresse.saEtiquette +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Coord.SC_Div.CMOD_CP +Champ de saisie : CMOD_Coord.SC_Div.CMOD_CP.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 993 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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 976 +Largeur interne 207 +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 +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 +06/08/2026 Batik 994 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :oAdresse.saCodePostal +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Coord.SC_Div.CMOD_Img +Image : CMOD_Coord.SC_Div.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\coordonnees.svg +Groupe GR_Saisie +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 +06/08/2026 Batik 995 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_Coord.SC_Div.CMOD_SansNom1 +Champ de saisie : CMOD_Coord.SC_Div.CMOD_SansNom1.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Groupe GR_Modif +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 755 +Largeur interne 213 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 996 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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, non 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> +Liaison des données :oAdresse.saAdresse +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 997 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_Coord.SC_Div.CMOD_Sep +Forme : CMOD_Coord.SC_Div.CMOD_Sep.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Coord.SC_Div.CMOD_Titre +Libellé : CMOD_Coord.SC_Div.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse <Aucun> +06/08/2026 Batik 998 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Coord.SC_Div.CMOD_Ville +Champ de saisie : CMOD_Coord.SC_Div.CMOD_Ville.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Groupe GR_Modif +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 977 +Largeur interne 204 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 999 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Automatique +Complétion système de fichier Non +Saisie invalide Oui, non 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> +Liaison des données :oAdresse.saVille +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1000 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Identite +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 600 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_JourMois +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1001 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_JourPlus +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_SansNom1 +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1002 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Onglet : CMOD_Onglet.ONG_Onglet +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Onglet +Valeur initiale 1 +Ordre navigation 1 +Curseur survol 0 +Onglet dynamique Non +Libellé volet FR: Nouvel onglet +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Retrait gauche 0 +Retrait des onglets 0 +Numéro aide 0 +Autorise ChangeGabarit Oui +Bouton Fermer Oui +Bouton Nouveau Oui +Volets détachables Non +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 +06/08/2026 Batik 1003 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_Identite +Superchamp : CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 724 +Hauteur externe 263 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div +Bouton : CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.BTN_Fichier +Libellé FR: &Bouton +Groupe GR_Modif +Ordre navigation 14 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Non +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +06/08/2026 Batik 1004 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +É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\Batik\Themes\WD\Batik_Theme\Batik_Theme_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 +Taux anc. droite 950 Taux anc. bas 1000 Taux anc. largeur 40 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 13 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +06/08/2026 Batik 1005 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Taux anc. droite 700 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 750 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 690 Taux anc. hauteur 1000 +06/08/2026 Batik 1006 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 750 Taux anc. bas 1000 Taux anc. largeur 240 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1007 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 740 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 740 Taux anc. hauteur 1000 +06/08/2026 Batik 1008 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 250 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +06/08/2026 Batik 1009 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 740 Taux anc. hauteur 1000 +06/08/2026 Batik 1010 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 240 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1011 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Image : CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.IMG_Couleur +Groupe GR_Modif +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 +Taux anc. droite 950 Taux anc. bas 1000 Taux anc. largeur 50 Taux anc. hauteur 1000 +Image : CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.IMG_Logo +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 +06/08/2026 Batik 1012 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › 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 +Texte Markdown Non +Mode menu ctx. <Aucun> +Mire visible Oui +Zoom par double taps Oui +Liaison des données :oSociete.bufLogo +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 +Taux anc. droite 740 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Archive +Interrupteur : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Groupe GR_Modif +Ordre navigation 1 +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) +06/08/2026 Batik 1013 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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> +Liaison des données :oSociete.bArchive +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Couleur +Libellé : CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Couleur.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse <Aucun> +06/08/2026 Batik 1014 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Email +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 14 +Largeur interne 446 +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 +06/08/2026 Batik 1015 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies 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> +Liaison des données :oSociete.saEmail +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1016 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Fax +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 564 +Largeur interne 171 +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 +06/08/2026 Batik 1017 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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> +Liaison des données :oSociete.saFax +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Img +Image : CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Société_noire.svg +Groupe GR_Saisie +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +06/08/2026 Batik 1018 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Logo +Libellé : CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Logo.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +06/08/2026 Batik 1019 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_RaisonSoc +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 14 +Largeur interne 539 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Batik 1020 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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 +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> +Liaison des données :oSociete.saNom +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 et hauteur +06/08/2026 Batik 1021 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Sep +Forme : CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Sep.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Siren +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 +06/08/2026 Batik 1022 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 172 +Largeur interne 201 +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 +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> +Liaison des données :oSociete.saSIREN +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +06/08/2026 Batik 1023 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Siret +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 14 +Largeur interne 150 +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 +06/08/2026 Batik 1024 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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> +Liaison des données :oSociete.saSIRET +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1025 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_SiteWeb +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 14 +Largeur interne 539 +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 +06/08/2026 Batik 1026 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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> +Liaison des données :oSociete.saSiteWeb +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Tel +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 1027 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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 171 +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 +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 +06/08/2026 Batik 1028 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :oSociete.saTel +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Titre +Libellé : CMOD_Onglet.ONG_Onglet.CMOD_Identite.SC_Div.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 +06/08/2026 Batik 1029 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Facteur d'agrandissement 0 +Mise à blanc Oui +Texte Markdown Non +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 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_JourMois +Image : CMOD_Onglet.ONG_Onglet.CMOD_JourMois.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\poubelle_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur et hauteur +06/08/2026 Batik 1030 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_JourPlus +Image : CMOD_Onglet.ONG_Onglet.CMOD_JourPlus.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Plus_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 1031 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet.ONG_Onglet.CMOD_SansNom1 +Table : CMOD_Onglet.ONG_Onglet.CMOD_SansNom1.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 1032 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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 : CMOD_Onglet.ONG_Onglet.CMOD_SansNom1.TABLE_Info +Colonne de table : CMOD_Onglet.ONG_Onglet.CMOD_SansNom1.TABLE_Info.COL_PKID +Titre FR: PKID +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 +06/08/2026 Batik 1033 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › 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 : +Titre FR: Date +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: Jjjj JJ Mmmm AAAA +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 +06/08/2026 Batik 1034 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Colonne de table : CMOD_Onglet.ONG_Onglet.CMOD_SansNom1.TABLE_Info.COL_Date +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 +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 +Champ Modèle de champs : CMOD_Ouvert +Image : CMOD_Ouvert.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\cadena_ouvert_noire.svg +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 +06/08/2026 Batik 1035 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_SMTP +Superchamp : CMOD_SMTP.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 1180 +Hauteur externe 336 +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 +06/08/2026 Batik 1036 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Source de remplissage Table chargée en mémoire +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_SMTP.SC_Div +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_AdresseMail +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 330 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_AdresseSMTP +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +06/08/2026 Batik 1037 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Taux anc. droite 660 Taux anc. bas 1000 Taux anc. largeur 340 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_Cryptage +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 800 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_EnCopie +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1038 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_Img +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_Mp +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 330 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +06/08/2026 Batik 1039 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_Nom +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_NomUser +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +06/08/2026 Batik 1040 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_Port +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 660 Taux anc. bas 1000 Taux anc. largeur 140 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_Sep +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1041 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_Signature +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1042 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_AdresseMail +Champ de saisie : CMOD_SMTP.SC_Div.CMOD_AdresseMail.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 406 +Largeur interne 384 +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 +06/08/2026 Batik 1043 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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> +Liaison des données :oSociete.stParamSoc.Compte.sEmail +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_AdresseSMTP +Champ de saisie : CMOD_SMTP.SC_Div.CMOD_AdresseSMTP.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 1044 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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 798 +Largeur interne 384 +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 +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 +06/08/2026 Batik 1045 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :oSociete.stParamSoc.SMTP.sAdresseServeur +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_Cryptage +Combo : CMOD_SMTP.SC_Div.CMOD_Cryptage.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +Contenu initial FR: Aucun +TLS +SSL +Groupe GR_Modif +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +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 205 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +06/08/2026 Batik 1046 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Position X interne 977 +Largeur interne 205 +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 Oui +Liaison des données :oSociete.stParamSoc.SMTP.nCryptage +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1047 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_EnCopie +Interrupteur : CMOD_SMTP.SC_Div.CMOD_EnCopie.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Groupe GR_Modif +Ordre navigation 1 +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> +Liaison des données :oSociete.stParamSoc.SMTP.bEnCopieCachee +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +06/08/2026 Batik 1048 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_Img +Image : CMOD_SMTP.SC_Div.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\email.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 1049 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_Mp +Champ de saisie : CMOD_SMTP.SC_Div.CMOD_Mp.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 406 +Largeur interne 384 +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 +06/08/2026 Batik 1050 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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> +Liaison des données :oSociete.stParamSoc.SMTP.sMdp +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_Nom +Champ de saisie : CMOD_SMTP.SC_Div.CMOD_Nom.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 1051 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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 384 +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 +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 +06/08/2026 Batik 1052 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :oSociete.stParamSoc.Compte.sCompte +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_NomUser +Champ de saisie : CMOD_SMTP.SC_Div.CMOD_NomUser.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 14 +Largeur interne 384 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Batik 1053 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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 +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> +Liaison des données :oSociete.stParamSoc.SMTP.sLogin +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 et hauteur +06/08/2026 Batik 1054 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_Port +Champ de saisie : CMOD_SMTP.SC_Div.CMOD_Port.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 798 +Largeur interne 170 +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 +06/08/2026 Batik 1055 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +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> +Liaison des données :oSociete.stParamSoc.SMTP.sPortServeur +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_Sep +06/08/2026 Batik 1056 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Forme : CMOD_SMTP.SC_Div.CMOD_Sep.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_Signature +Éditeur HTML : CMOD_SMTP.SC_Div.CMOD_Signature.EDHTML_Html +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Éditeur HTML +Groupe GR_Modif +Ordre navigation 1 +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) +06/08/2026 Batik 1057 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Mode Minibarre Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Thème sur ruban Non +Change Document Non +Édition EMail Non +Code source Oui +Exécute JS dans document Oui +Liaison des données :oSociete.stParamSoc.SMTP.bufSignature +Liaison sur <body> Non +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 +Champ Modèle de champs : CMOD_SMTP.SC_Div.CMOD_Titre +Libellé : CMOD_SMTP.SC_Div.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 +06/08/2026 Batik 1058 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Facteur d'agrandissement 0 +Mise à blanc Oui +Texte Markdown Non +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 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +06/08/2026 Batik 1059 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Informations sur les champs +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Fiche_Societe +Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_TestSMTP (2) +OPT_Envoyer_un_email_de_test (3) +Libellé des options : Français +Tester la connexion SMTP +Envoyer un email de test +FEN_Fiche_Societe +Code +Déclarations globales de FEN_Fiche_Societe +procédure FEN_Fiche_Societe(tbaParametres est un tableau associatif de chaînes ANSI) +MoiMême..Alias = tbaParametres[cParam_Alias] +nId est un entier sur 8 octets = tbaParametres[cParam_IdFen] +bDroitModif est un booléen +oSociete est un MSociete +oAdresse est un MAdresse +bBloque est un booléen = Faux +Fin d'initialisation de FEN_Fiche_Societe +bDroitModif = bDroit(cGestion_Param) +06/08/2026 Batik 1060 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code +Filtrer() +MaJBtnBlocage() +FEN_Fiche_Societe +Code des champs +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +06/08/2026 Batik 1061 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +BlocageEnrg() +A chaque modification de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Bloque ) +06/08/2026 Batik 1062 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1063 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +ExécuteAncêtre +Fin d'initialisation de CMOD_Coord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Coord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Coord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Coord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Coord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Coord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Coord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +06/08/2026 Batik 1064 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Adr_Etq +salib = "Étiquette" +Fin d'initialisation de CMOD_Adr_Etq +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Adr_Etq +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Adr_Etq +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Adr_Etq +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Adr_Etq +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Adr_Etq +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Adr_Etq +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Adr_Etq ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Adr_Etq ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Adr_Etq ) +06/08/2026 Batik 1065 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Adr_Etq ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Adr_Etq ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CP +salib = "Code postal" +Fin d'initialisation de CMOD_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_CP ) +06/08/2026 Batik 1066 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1067 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SansNom1 +salib = "Adresse" +Fin d'initialisation de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_SansNom1 ) +06/08/2026 Batik 1068 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Coordonnées" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +06/08/2026 Batik 1069 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Ville +salib = "Ville" +Fin d'initialisation de CMOD_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ville +06/08/2026 Batik 1070 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Onglet +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1071 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Création d'un volet dans ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fermeture d'un volet de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modification du volet affiché de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Identite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Identite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Identite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Identite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Identite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Identite +06/08/2026 Batik 1072 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Identite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Fichier ( SC_Div ) +sFichier est une chaîne +procédure interne SurSelectionFichier() +sFichierSélectionné est une chaîne +// Récupère le fichier actuellement sélectionné +sFichierSélectionné = ChaîneRécupère(_EVE.lParam, crAdresseUnicode) +// Implémentez ici l'action à entreprendre lorsque l'utilisateur sélectionne un fichier AVANT de +valider/annuler le sélecteur +06/08/2026 Batik 1073 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +// Par exemple avertir l'utilisateur que le fichier qui va être sélectionné est en lecture seule +si fAttributLectureSeule(sFichierSélectionné) alors +ToastSupprimeTout() +ToastAffiche(ChaîneConstruit("Attention le fichier %1 est en lecture seule." , fExtraitChemin( +sFichierSélectionné,fFichier),toastCourt)) +fin +fin +// Début des notifications +nEvénement est un entier = Evénement(SurSelectionFichier, "*.*", 0x0658) // WM_USER + 0x0258 +// Ouvre le sélecteur de fichiers +sFichier = fSélecteur(SysRep(srMesImages), "", "Sélectionnez une image...", fFiltreImage(), +ExtraitChaîne(ExtraitChaîne(fFiltreImage(), 2, TAB), 1, RC), fselOuvre + fselExiste + fselChange) +// Fin des notifications +FinEvénement(nEvénement) +si sFichier<>"" alors +IMG_Logo = sFichier +fin +Déclarations globales de CMOD_Archive +salib = "Archivé" +Fin d'initialisation de CMOD_Archive +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Archive +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Archive +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Archive +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Archive +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Archive +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Archive +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_Archive ) +06/08/2026 Batik 1074 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Int ( CMOD_Archive ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Int ( CMOD_Archive ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Int ( CMOD_Archive ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_Archive ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Couleur +salib = "Couleur associé à la société" +Fin d'initialisation de CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Couleur ) (modèle MDLC_LibNormal) +06/08/2026 Batik 1075 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Couleur ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Email +salib = "Émail" +Fin d'initialisation de CMOD_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Email ) +06/08/2026 Batik 1076 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Fax +salib = "Fax" +Fin d'initialisation de CMOD_Fax +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Fax +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Fax +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Fax +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Fax +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Fax +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Fax +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Fax ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Fax ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Fax ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Fax ) +06/08/2026 Batik 1077 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Fax ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1078 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Logo +salib = "Logo" +Fin d'initialisation de CMOD_Logo +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Logo +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Logo +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Logo +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Logo +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Logo +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Logo +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Logo ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Logo ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_RaisonSoc +06/08/2026 Batik 1079 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +salib = "Raison sociale" +Fin d'initialisation de CMOD_RaisonSoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_RaisonSoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_RaisonSoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_RaisonSoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_RaisonSoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_RaisonSoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_RaisonSoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_RaisonSoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_RaisonSoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_RaisonSoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_RaisonSoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_RaisonSoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Sep +06/08/2026 Batik 1080 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Siren +salib = "SIREN" +Fin d'initialisation de CMOD_Siren +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Siren +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Siren +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Siren +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Siren +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Siren +06/08/2026 Batik 1081 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Siren +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Siren ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Siren ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Siren ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Siren ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Siren ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Siret +saLib = "SIRET" +Fin d'initialisation de CMOD_Siret +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Siret +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Siret +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Siret +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Siret +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Siret +06/08/2026 Batik 1082 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Siret +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Siret ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Siret ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Siret ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Siret ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Siret ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SiteWeb +salib = "Site WEB" +Fin d'initialisation de CMOD_SiteWeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SiteWeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SiteWeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SiteWeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SiteWeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SiteWeb +06/08/2026 Batik 1083 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SiteWeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_SiteWeb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_SiteWeb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_SiteWeb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_SiteWeb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_SiteWeb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Tel +salib = "Téléphone" +Fin d'initialisation de CMOD_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Tel +06/08/2026 Batik 1084 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Identité" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +06/08/2026 Batik 1085 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Clic sur IMG_Couleur ( SC_Div ) +saCouleur est une chaîne ANSI = Ouvre(FEN_Choix_Couleur,IMG_Couleur..CouleurFond) +si saCouleur <> "" alors +IMG_Couleur..CouleurFond = saCouleur +fin +Fin d'initialisation de CMOD_JourMois +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_JourMois +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_JourMois +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_JourMois +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_JourMois +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_JourMois +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_JourMois +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_JourMois ) +06/08/2026 Batik 1086 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_JourMois ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SupprimerJour() +A chaque modification de IMG_Icone ( CMOD_JourMois ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_JourMois ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_JourMois ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_JourMois ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_JourPlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_JourPlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_JourPlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_JourPlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_JourPlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_JourPlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_JourPlus +06/08/2026 Batik 1087 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_JourPlus ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_JourPlus ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +AjoutJour() +A chaque modification de IMG_Icone ( CMOD_JourPlus ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_JourPlus ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_JourPlus ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_JourPlus ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +06/08/2026 Batik 1088 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_Date ( TABLE_Info ) +COL_DateLib[TABLE_Info] = COL_Date[TABLE_Info] +Initialisation de COL_PKID ( TABLE_Info ) +06/08/2026 Batik 1089 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1090 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +ExécuteAncêtre +BlocageEnrg() +A chaque modification de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1091 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_AdresseMail +salib = "Adresse émail" +Fin d'initialisation de CMOD_AdresseMail +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_AdresseMail +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_AdresseMail +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_AdresseMail +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_AdresseMail +06/08/2026 Batik 1092 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_AdresseMail +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_AdresseMail +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_AdresseMail ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_AdresseMail ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_AdresseMail ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_AdresseMail ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_AdresseMail ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_AdresseSMTP +salib = "Adresse du serveur SMTP" +Fin d'initialisation de CMOD_AdresseSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_AdresseSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_AdresseSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_AdresseSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_AdresseSMTP +06/08/2026 Batik 1093 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_AdresseSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_AdresseSMTP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_AdresseSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_AdresseSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_AdresseSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_AdresseSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_AdresseSMTP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Cryptage +salib = "Cryptage" +Fin d'initialisation de CMOD_Cryptage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Cryptage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Cryptage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Cryptage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Cryptage +06/08/2026 Batik 1094 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Cryptage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Cryptage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Cryptage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Combo ( CMOD_Cryptage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Cryptage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Cryptage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Cryptage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_EnCopie +salib = "Me mettre en copie cachée des émails envoyés" +Fin d'initialisation de CMOD_EnCopie +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_EnCopie +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_EnCopie +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_EnCopie +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_EnCopie +06/08/2026 Batik 1095 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_EnCopie +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_EnCopie +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_EnCopie ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Int ( CMOD_EnCopie ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Int ( CMOD_EnCopie ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Int ( CMOD_EnCopie ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_EnCopie ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1096 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Mp +salib = "Mot de passe" +Fin d'initialisation de CMOD_Mp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Mp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Mp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Mp +06/08/2026 Batik 1097 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Mp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Mp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Mp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Mp ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Mp ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Mp ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Mp ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Mp ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Nom +salib = "Nom du compte" +Fin d'initialisation de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Nom +06/08/2026 Batik 1098 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NomUser +salib = "Nom d'utilisateur/Login" +Fin d'initialisation de CMOD_NomUser +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NomUser +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NomUser +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NomUser +06/08/2026 Batik 1099 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NomUser +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NomUser +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NomUser +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NomUser ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_NomUser ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_NomUser ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_NomUser ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NomUser ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Port +salib = "Port" +Fin d'initialisation de CMOD_Port +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Port +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Port +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Port +06/08/2026 Batik 1100 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Port +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Port +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Port +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Port ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Port ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Port ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Port ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Port ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Sep +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1101 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Signature +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Signature +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Signature +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Signature +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Signature +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Signature +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Signature +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de EDHTML_Html ( CMOD_Signature ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans EDHTML_Html ( CMOD_Signature ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de EDHTML_Html ( CMOD_Signature ) +06/08/2026 Batik 1102 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modification de la sélection de EDHTML_Html ( CMOD_Signature ) +procédure ModificationSélection(selectionHTML est un edtHTMLSélection) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(selectionHTML) +Chargement de ressources par EDHTML_Html ( CMOD_Signature ) +procédure ChargementRessources(sUrl est chaîne, nType est entier) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(sUrl,nType) +A chaque modification de EDHTML_Html ( CMOD_Signature ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de EDHTML_Html ( CMOD_Signature ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Paramétrage SMTP" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +06/08/2026 Batik 1103 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +Ferme() +fin +Sélection du menu de MNU_Options.OPT_Envoyer_un_email_de_test +06/08/2026 Batik 1104 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Code des champs +Sablier(Vrai) +EnvoyerEmailTest() +Sablier(fauxToutSablier) +Sélection du menu de MNU_Options.OPT_TestSMTP +Sablier(Vrai) +TesterConnexionSMTP() +Sablier(fauxToutSablier) +FEN_Fiche_Societe +Procédures +Procédure locale AjoutJour +procédure AjoutJour() +i est un entier = TableAjouteLigne(TABLE_Info,0,DateDuJour(),DateDuJour()) +TableSelectPlus(TABLE_Info,i) +Procédure locale BlocageEnrg +procédure BlocageEnrg() +si pas bDroitModif alors +bBloque = Faux +renvoyer Faux +fin +si oSociete:nPKID <= 0 _et_ bDroitModif alors +bBloque = Vrai +renvoyer Vrai +fin +si pas bBloque _et_ oSociete:nVerrou <> Base.VerrouParMoi alors +oSociete:bAvecBlocage = Vrai +si oSociete:DateCharge(nId) alors +bBloque = Vrai +sinon +oSociete:bAvecBlocage= Faux +bBloque = Faux +fin +sinon +si bBloque _et_ oSociete:nVerrou = Base.VerrouParMoi alors +oSociete:bDebloqueEnreg = Vrai +oSociete:DebloqueFichier() +bBloque = Faux +sinon +bBloque = Faux +fin +fin +si bBloque alors +SourceVersEcran() +FiltreAdresse() +fin +MaJBtnBlocage() +Procédure locale Enregistrer +06/08/2026 Batik 1105 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Procédures +procédure Enregistrer() +si (IMG_Logo = Null _ou_ IMG_Logo = "") et oSociete:bufLogo = "" alors +Info("Veuillez sélectionner un logo pour la société") +renvoyer Faux +fin +ÉcranVersFichier() +oSociete:stParamSoc:sCouleur = IMG_Couleur..CouleurFond +TableauSupprimeTout(oSociete:stParamSoc:tbDates) +pour toute ligne b de TABLE_Info +si DateValide(COL_Date[b]) alors +TableauAjoute(oSociete:stParamSoc:tbDates,COL_Date[b]) +fin +fin +si pas oSociete:Enregistrer() alors +renvoyer Faux +sinon +si pas oAdresse:Enregistrer() alors +renvoyer Faux +sinon +si oAdresse:nPKID > 0 _et_ oAdresse:nPKID <> oSociete:nIDAdressePrincipale alors +oSociete:nIDAdressePrincipale = oAdresse:nPKID +si pas oSociete:Enregistrer() alors +renvoyer Faux +fin +fin +fin +fin +renvoyer Vrai +Procédure locale EnvoyerEmailTest +procédure EnvoyerEmailTest() +ÉcranVersFichier() +stParamEmailPerso est un STParamEnvoiEmailPerso +stParamEmailPerso.Compte = oSociete:stParamSoc:Compte +stParamEmailPerso.SMTP = oSociete:stParamSoc:SMTP +saMsgErreur est une chaîne ANSI +EmailDest est une chaîne ANSI +nRetourValeur est un entier +nRetourValeur = Saisie("veuillez saisir l'adresse de destination", EmailDest,DDEIconise) +//1 : OK +//2 : Annuler +si nRetourValeur > 0 _et_ EmailDest <> "" alors +saMsgErreur = EnvoiEmailDirecteAvecComp(EmailDest,"","", +"Test d’envoi d’e-mail avec la configuration SMTP de la société",CMOD_Signature.EDHTML_Html,"", +stParamEmailPerso) +si saMsgErreur <> "" alors +Erreur("Une erreur s’est produite lors de l’envoi de l’e-mail",saMsgErreur) +sinon +Info("Émail envoyé") +fin +sinon +Info("Opération annulée") +fin +Procédure locale FiltreAdresse +06/08/2026 Batik 1106 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Procédures +procédure FiltreAdresse() +si nId > 0 alors +si oSociete:nIDAdressePrincipale > 0 _et_ HLitRecherchePremier(Adresse,AD_PKID,oSociete: +nIDAdressePrincipale) alors +FichierVersMémoire(oAdresse,Adresse) +fin +si oSociete:saParametres <> "" alors +Désérialise(oSociete:stParamSoc,oSociete:saParametres,psdJSON) +si oSociete:stParamSoc:SMTP.sMdp <> "" alors +oSociete:stParamSoc:SMTP.sMdp = Décrypte(oSociete:stParamSoc:SMTP.sMdp,gsaCleMdp) +fin +fin +si oSociete:stParamSoc:sCouleur <> "" alors +IMG_Couleur..CouleurFond = oSociete:stParamSoc:sCouleur +fin +FichierVersEcran() +fin +Procédure locale Filtrer +procédure Filtrer() +si nId > 0 _et_ HLitRecherchePremier(Societe,SO_PKID,nId) alors +si bDroitModif alors +oSociete:bAvecBlocage= Vrai +si oSociete:DateCharge(nId) alors +bBloque = Vrai +sinon +oSociete:bAvecBlocage= Faux +bBloque = Faux +fin +sinon +oSociete:DateCharge(nId) +bBloque = Faux +fin +MaFenêtre..Titre = oSociete:saNom +LIB_Libellé = oSociete:saNom +sinon +MaFenêtre..Titre = "Nouvelle société" +LIB_Libellé = "Nouvelle société" +bBloque = Vrai +oSociete:bAvecBlocage= Vrai +fin +FiltreAdresse() +TableauTrie(oSociete:stParamSoc:tbDates,ttDécroissant) +TableSupprimeTout(TABLE_Info) +i est un entier +pour toute dDt de oSociete:stParamSoc:tbDates +TableAjouteLigne(TABLE_Info,0,dDt,dDt) +fin +Procédure locale MaJBtnBlocage +procédure MaJBtnBlocage() +GR_Modif..EnSaisie = bBloque +si pas bBloque alors +CMOD_Ouvert..Visible = Faux +CMOD_Bloque..Visible = Vrai +06/08/2026 Batik 1107 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Societe › Procédures +sinon +CMOD_Ouvert..Visible = Vrai +CMOD_Bloque..Visible = Faux +fin +Procédure locale SupprimerJour +procédure SupprimerJour() +i est un entier = TABLE_Info +si i > 0 alors +TableSupprime(TABLE_Info,i) +fin +Procédure locale TesterConnexionSMTP +procédure TesterConnexionSMTP() +bResultat est un booléen +sMsg est une chaîne +(bResultat,sMsg) = VerifieEmailOuvreSession(cSMTP, CMOD_NomUser.SAI_Texte,CMOD_Mp.SAI_Texte, CMOD_ +AdresseSMTP.SAI_Texte,CMOD_Port.SAI_Texte, CMOD_Cryptage.CMB_Combo) +si pas bResultat alors +Erreur(sMsg) +sinon +Info("Connexion réussi") +fin +renvoyer bResultat +06/08/2026 Batik 1108 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Image +FEN_Choix_Couleur +Image +FEN_Choix_Couleur +Informations générales +FEN_Choix_Couleur +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Choix_Couleur.wdw +| Créé par | | SMR | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Date de création | | 30/07/2025 11:19:45 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 05/03/2026 19:26:38 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Choix d'un couleur +| Position X | 0 Position Y | | 0 Largeur | 555 Hauteur | 302 | +| ---------------- | ------------ | -------------------- | --------- | --------------- | ---- | +| 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. | | +| 06/08/2026 | | | Batik | | 1109 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Informations générales +Gestion grande police Thème XP +Ctx. HFSQL indép. +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Oui +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Non +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. Oui +Grisé : Algo pour images <Défaut> +Style du menu Windows 11 +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 32 +Pos. Y Menu 2 +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 +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +06/08/2026 Batik 1110 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Informations générales +Statistiques de la fenêtre +| | Libellé | | 2 | Bouton | | | 2 | +| --- | ---------------------- | --- | --- | --------------------- | --- | --- | --- | +| | Image | | 5 | Superchamp | | | 2 | +| | Champ Modèle de champs | | 3 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 15 +FEN_Choix_Couleur +Informations sur les champs +Fenêtre : FEN_Choix_Couleur +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_Couleur | | 100 | 48 350 | 217 | 0 | Actif | | +| ---------- | --- | --- | ------ | --- | --- | ----- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Annuler | | 256 | 9 141 | 35 | 0 | Actif | | +| ------------ | --- | --- | ------- | --- | --- | ----- | --- | +| CMOD_BordFen | | 0 | -29 580 | 29 | 0 | Actif | | +| CMOD_Valider | | 405 | 9 141 | 35 | 0 | Actif | | +Superchamp : SC_Couleur +| 06/08/2026 | | | Batik | | | | 1111 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › 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_Couleur | 100 | 51 345 | 27 | 0 | Actif | Gauche | Haut | | +| ----------- | --- | ------ | --- | --- | ----- | ------ | ---- | --- | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------- | ---------- | +| | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Palette | 110 | 85 | 332 | 178 | 0 | Actif | | | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Annuler +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | | +| --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Annuler | 256 | 9 | 141 | 35 | 0 | Actif | | Normal | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | --- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 580 | 30 | 0 | Actif | | +| ----------- | --- | --- | ----- | --- | --- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | | | 1112 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_Libellé | 91 -27 | 457 25 | 0 | Actif | Gauche | Centre | | +| ----------- | ------ | ------ | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | --- | ------------ | --------- | ---------- | +| | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 548 | -26 28 | 23 | 0 | Actif | | | +| -------------------------- | --- | ------ | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 21 | 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_Valider +Bouton +notuob epyT +| | | | | | laitini tatE | BAT ehcuoT | | +| --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | --- | +| | X noitisoP | Y noitisoP | | | | | | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Valider | 405 | 9 141 | 35 | 0 | Actif | Normal | | +| ----------- | --- | ----- | --- | --- | ----- | ------ | --- | +Fenêtre : FEN_Choix_Couleur +Champ Modèle de champs : CMOD_Annuler +| Ordre navigation | 1 | | | | | | | +| ------------------------- | ----------------------------------- | ----- | --- | --- | --- | --- | ---- | +| Curseur survol | 0 | | | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| 06/08/2026 | | Batik | | | | | 1113 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Informations sur les champs +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Batik 1114 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Informations sur les champs +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_Couleur +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 350 +Hauteur externe 217 +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 Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Non +Recopie Option menu flèche Non +06/08/2026 Batik 1115 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Informations sur les champs +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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 580 +Hauteur externe 30 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +06/08/2026 Batik 1116 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › 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 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1117 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Informations sur les champs +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 +06/08/2026 Batik 1118 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 1119 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Informations sur les champs +Taux anc. droite 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +06/08/2026 Batik 1120 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Informations sur les champs +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1121 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Informations sur les champs +Superchamp : SC_Couleur +Image : SC_Couleur.IMG_Palette +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\CM_palette-couleurs.svg +Curseur survol 32649 +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 Cadrage ignoré (pour compatibilité) +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 Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : SC_Couleur.LIB_Couleur +Curseur survol 32649 +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é) +Bulle d'aide FR: Cliquez pour plus de choix +06/08/2026 Batik 1122 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Choix_Couleur +Code +Déclarations globales de FEN_Choix_Couleur +procédure FEN_Choix_Couleur(local saCouleur est une chaîne ANSI) +si saCouleur <> "" alors +LIB_Couleur..CouleurFond = saCouleur +fin +Fermeture de FEN_Choix_Couleur +renvoyer saCouleur +FEN_Choix_Couleur +Code des champs +Fin d'initialisation de CMOD_Annuler +06/08/2026 Batik 1123 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +06/08/2026 Batik 1124 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +06/08/2026 Batik 1125 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +saCouleur = SC_Couleur +Ferme() +Déclarations globales de SC_Couleur +// Version 1 +// Description +// Sélecteur de couleur avancé +// Fonctionnement : +// Permet d'afficher une couleur, en indiquant la couleur hexa Web et la couleur RVB correspondantes +// Permet également de choisir une couleur : +// * via un clic dans la palette de couleurs +// * en saisissant un valeur hexa Web +// * en saisissant la valeur RVB de la couleur. +// Utilisation : +// Quelques exemples : +// Affecter la couleur sélectionnée +// <Nom de la variable couleur> = SC_Couleur +// <Nom du champ>..Couleur = SC_Couleur +// Initialiser le sélecteur avec une couleur +// SC_Couleur = MaCouleur +Affectation de la propriété Valeur de SC_Couleur +// Permet la syntaxe SC_Couleur = <une couleur> +MajCouleur(MoiMême..Valeur) +Récupération de la propriété Valeur de SC_Couleur +// Permet la syntaxe <une couleur> = SC_Couleur +CouleurActuelle est une Couleur = LIB_Couleur..CouleurFond +06/08/2026 Batik 1126 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Couleur › Code des champs +renvoyer CouleurActuelle +Clic sur IMG_Palette ( SC_Couleur ) +// Lecture de la couleur sous le curseur +dCouleur est une Couleur = dPixelCouleur(IMG_Palette,SourisPosX(spChamp),SourisPosY(spChamp)) +// Met à jour l'UI avec la nouvelle couleur +MajCouleur(dCouleur) +Survol souris (WM_MOUSEMOVE) sur IMG_Palette ( SC_Couleur ) +// Met à jour la couleur sélectionnée au survol de la souris si le clic gauche est maintenu +si ToucheEnfoncée(teBoutonG) alors +ExécuteTraitement(MoiMême,trtClic) +fin +FEN_Choix_Couleur +Procédures +Procédure locale MajCouleur ( SC_Couleur ) +procédure MajCouleur(local dCouleur est une Couleur = Blanc) +// Met à jour l'aperçu de la couleur +LIB_Couleur..CouleurFond = dCouleur +06/08/2026 Batik 1127 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Image +FEN_Fiche_Equipe +Image +FEN_Fiche_Equipe +Informations générales +FEN_Fiche_Equipe +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Fiche_equipe.wdw +Créé par SMR +06/08/2026 Batik 1128 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations générales +| Date de création | | 30/07/2025 16:52:27 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 05/03/2026 19:26:32 | | | | +| Titre | | FR: Fiche équipe | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Fiche équipe +| Position X | 0 Position Y | | 0 Largeur | 1200 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 1129 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations générales +| 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 | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Champ de saisie | | 1 | Libellé | | 1 | +| --- | ---------------------- | --- | --- | ---------------- | --- | --- | +| | Bouton | | 2 | Image | | 14 | +| | Table | | 1 | Combo | | 1 | +| | Arbre | | 1 | Superchamp | | 2 | +| | Champ Modèle de champs | | 11 | Colonne de table | | 2 | +| | Case barre de message | | 1 | | | | +Nombre d'éléments dans la fenêtre : 37 +FEN_Fiche_Equipe +Informations sur les champs +Fenêtre : FEN_Fiche_Equipe +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | laitini tatE | sucof cevA | +| --- | --- | --------------------- | --- | --- | ------------ | ---------- | +ruetuaH cilc cevA +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| IMG_Advertencia | | -165 80 | 37 31 | 0 | Actif | | +| --------------- | --- | -------- | ----- | --- | ----- | ---- | +| IMG_Equipe | | -124 -19 | 38 43 | 0 | Actif | | +| IMG_Femme | | -157 40 | 35 29 | 0 | Actif | | +| IMG_Homme | | -116 31 | 32 42 | 0 | Actif | | +| IMG_Societe | | -125 -53 | 27 25 | 0 | Actif | | +| IMG_Tous | | -125 79 | 46 38 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | 1130 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Annuler | | 899 | 2 141 | 35 | 0 | Actif | | +| ------------ | --- | ---- | -------- | --- | --- | ----- | --- | +| CMOD_Bloque | | 861 | 2 30 | 24 | 0 | Actif | | +| CMOD_BordFen | | 0 | -29 1063 | 29 | 0 | Actif | | +| CMOD_Fiche | | 7 | 52 1185 | 610 | 0 | Actif | | +| CMOD_Ouvert | | 861 | 2 30 | 24 | 0 | Actif | | +| CMOD_Valider | | 1048 | 2 141 | 35 | 0 | Actif | | +Champ Modèle de champs : CMOD_Annuler +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Annuler | 899 | 2 | 141 35 | 0 | Actif | Normal | | +| ----------- | --- | --- | ------ | --- | ----- | ------ | --- | +Champ Modèle de champs : CMOD_Bloque +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | --- | ------------ | --------- | ---------- | +| | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | 861 | 2 | 30 24 | 0 | Actif | | | +| --------- | --- | --- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_BordFen +| 06/08/2026 | | | Batik | | | | 1131 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | --- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_Libellé | 91 | -27 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | ------- | ------------ | --------- | ---------- | +| | | | | ruetuaH | | | cilc cevA | | +| | | | ruegraL | | elbisiV | | | | +nalP +| IMG_AideFenetre | 1031 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | ---- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_Fiche +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_Div | | 11 | 57 | 1176 | 599 | 0 | Actif | | +| ---------- | --- | --- | ----- | ---- | --- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | | | 1132 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Superchamp : CMOD_Fiche.SC_Div +Arbre +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| ARBRE_Colbs | | | 646 | 66 | | 534 | 581 | | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs +| | | | | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | ------------ | ---------- | +| | | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| CMOD_Ajouter | | | 600 | 364 | | 38 | 35 | | 0 | Actif | | +| -------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_Nom | | | 17 | 66 | | 575 | 53 | | 0 | Actif | | +| CMOD_Societe | | | 17 | 119 | | 575 | 53 | | 0 | Actif | | +| CMOD_Supprimer | | | 600 | 322 | | 38 | 34 | | 0 | Actif | | +| CMOD_Table | | | 17 | 172 | | 575 | 473 | | 0 | Actif | | +Champ Modèle de champs : CMOD_Fiche.SC_Div.CMOD_Ajouter +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | +| --- | --- | ---------- | ---------- | ------- | --- | ------- | --- | --- | ------------ | --------- | --- | +| | | | | ruegraL | | ruetuaH | | | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | | 600 | 364 | | 38 | 35 | 0 | | Actif | | | +| --------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Fiche.SC_Div.CMOD_Nom +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_Texte | 17 66 | 575 | 53 0 | Actif | | Texte | | Non | | | | +| ---------- | ----- | --- | ---- | ----- | ----- | ----- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | | Batik | | | | | | 1133 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Champ Modèle de champs : CMOD_Fiche.SC_Div.CMOD_Societe +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_Combo | 17 119 | 575 53 | 0 | Actif | Mémoire | Non | | +| --------- | ------ | ------ | --- | ----- | ------- | --- | --- | +Champ Modèle de champs : CMOD_Fiche.SC_Div.CMOD_Supprimer +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | | 600 322 | 38 | 34 | 0 | Actif | | +| --------- | --- | ------- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Fiche.SC_Div.CMOD_Table +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | lennoitroporp .csA .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | ------------------ | ------------------------------------- | ----------------------------- | +| | | | | | )(ertliFH resilitU | ruesnecsa elluB EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +| | | | | | .gerne egacolB | noitcelésitluM edacsac eisiaS | | +BAT ehcuoT +| | X noitisoP Y noitisoP | | laitini tatE | | | | | +| --- | --------------------- | --------------- | ------------ | --- | -------- | --- | --- | +| | | ruegraL ruetuaH | | | sruocraP | | | +elbisiV +elbaT +nalP +| TABLE_Info | 19 174 | 569 467 0 | affichag | Mémoir | | | 2 | +| ---------- | ------ | --------- | -------- | ------ | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | 1134 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Table : CMOD_Fiche.SC_Div.CMOD_Table.TABLE_Info +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_PKID | 880 | Grisé | | | Droite Centre | Numériq | | +| COL_Nom | 548 | Actif | | | Gauche Centre | Texte | | +Champ Modèle de champs : CMOD_Ouvert +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | | laitini tatE | sucof cevA | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | ---------- | +ruetuaH cilc cevA +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| IMG_Icone | 861 | 2 | 30 | 24 | 0 | Actif | | +| --------- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Valider +Bouton +BAT ehcuoT notuob epyT +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Valider | 1048 | 2 | 141 | 35 | 0 | Actif | Normal | +| ----------- | ---- | --- | --- | --- | --- | ----- | ------ | +Fenêtre : FEN_Fiche_Equipe +| 06/08/2026 | | | Batik | | | | 1135 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Bloque +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1136 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Fiche +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1137 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Champ Modèle de champs : CMOD_Ouvert +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1138 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Image : IMG_Advertencia +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\actions.svg +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 Oui +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 : IMG_Equipe +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Equipe_noire.svg +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 +06/08/2026 Batik 1139 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +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 Oui +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 : IMG_Femme +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\femme.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage 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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 1140 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Homme +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\homme.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage 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 Oui +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 : IMG_Societe +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Société_noire.svg +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 +06/08/2026 Batik 1141 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +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 Oui +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 : IMG_Tous +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\tous.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage 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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +06/08/2026 Batik 1142 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +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 Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +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 +06/08/2026 Batik 1143 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Bloque +Image : CMOD_Bloque.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\cadena_fermé_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 1144 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 1145 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 1146 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 +06/08/2026 Batik 1147 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 +06/08/2026 Batik 1148 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Ancrage Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Fiche +Superchamp : CMOD_Fiche.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 1174 +Hauteur externe 597 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1149 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Superchamp : CMOD_Fiche.SC_Div +Arbre : CMOD_Fiche.SC_Div.ARBRE_Colbs +Libellé FR: &Arbre +Groupe GR_Modif +Ordre navigation 2 +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 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 1 +Marge à droite 4 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Multiligne Non +Trois états Oui +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 +Transparence Magenta transparent +Multisélection Non +Bulle ascenseur Oui +Avec saisie Non +Avec coche Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Remplissage différé Oui +Largeur image dossier -1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1150 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Champ Modèle de champs : CMOD_Fiche.SC_Div.CMOD_Ajouter +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Fiche.SC_Div.CMOD_Nom +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Batik 1151 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Champ Modèle de champs : CMOD_Fiche.SC_Div.CMOD_Societe +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Fiche.SC_Div.CMOD_Supprimer +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1152 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Champ Modèle de champs : CMOD_Fiche.SC_Div.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Fiche.SC_Div.CMOD_Ajouter +Image : CMOD_Fiche.SC_Div.CMOD_Ajouter.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\droite_noire.svg +Groupe GR_Modif +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 +06/08/2026 Batik 1153 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Mode menu ctx. <Aucun> +Mire visible Oui +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_Fiche.SC_Div.CMOD_Nom +Champ de saisie : CMOD_Fiche.SC_Div.CMOD_Nom.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 17 +Largeur interne 575 +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 +06/08/2026 Batik 1154 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies 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> +Liaison des données :oEquipe.saNom +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1155 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Champ Modèle de champs : CMOD_Fiche.SC_Div.CMOD_Societe +Combo : CMOD_Fiche.SC_Div.CMOD_Societe.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +Groupe GR_Modif +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 575 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 17 +Largeur interne 575 +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 +06/08/2026 Batik 1156 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +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 Oui +Liaison des données :oEquipe.nIDSociete +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Fiche.SC_Div.CMOD_Supprimer +Image : CMOD_Fiche.SC_Div.CMOD_Supprimer.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\poubelle_noire.svg +Groupe GR_Modif +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 +06/08/2026 Batik 1157 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Facteur d'agrandissement 0 +Texte Markdown Non +Mode menu ctx. <Aucun> +Mire visible Oui +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_Fiche.SC_Div.CMOD_Table +Table : CMOD_Fiche.SC_Div.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Groupe GR_Modif +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 1158 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1159 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Table : CMOD_Fiche.SC_Div.CMOD_Table.TABLE_Info +Colonne de table : CMOD_Fiche.SC_Div.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : CMOD_Fiche.SC_Div.CMOD_Table.TABLE_Info.COL_Nom (2) +Titre FR: Collaborateurs +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 +06/08/2026 Batik 1160 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › 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 +Champ Modèle de champs : CMOD_Ouvert +Image : CMOD_Ouvert.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\cadena_ouvert_noire.svg +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 Oui +Mode 9 images Non +06/08/2026 Batik 1161 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +06/08/2026 Batik 1162 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Informations sur les champs +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Fiche_Equipe +Code +Déclarations globales de FEN_Fiche_Equipe +procédure FEN_Fiche_Equipe(tbaParametres est un tableau associatif de chaînes ANSI) +MoiMême..Alias = tbaParametres[cParam_Alias] +nId est un entier sur 8 octets = tbaParametres[cParam_IdFen] +bBloque est un booléen +oEquipe est un MEquipe +tabNomColb est un tableau associatif de chaînes ANSI +bDroitModif est un booléen +Fin d'initialisation de FEN_Fiche_Equipe +bDroitModif = bDroit(cGestion_Equipe) +Filtrer() +FiltreColbs() +MaJBtnBlocage() +SourceVersEcran() +FEN_Fiche_Equipe +Code des champs +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +06/08/2026 Batik 1163 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Bloque +06/08/2026 Batik 1164 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +BlocageEnrg() +A chaque modification de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +06/08/2026 Batik 1165 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Fiche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Fiche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Fiche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Fiche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Fiche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Fiche +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1166 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Code des champs +ExécuteAncêtre +A chaque modification de CMOD_Fiche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ajouter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ajouter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ajouter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ajouter +06/08/2026 Batik 1167 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ajouter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ajouter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ajouter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Ajouter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Ajouter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SelColb() +A chaque modification de IMG_Icone ( CMOD_Ajouter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Ajouter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Ajouter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Ajouter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Nom +salib = "Nom de l'équipe" +Fin d'initialisation de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Nom +06/08/2026 Batik 1168 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Societe +salib = "Société" +Fin d'initialisation de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Societe +06/08/2026 Batik 1169 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême.NomComplet,cSocietes,Vrai,oEquipe:nIDSociete) +Entrée dans CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si MoiMême > 0 _et_ gtabListeSocietes[MoiMême]..Existe _et_ gtabListeSocietes[MoiMême].saNom <> "" +alors +ArbreEnrouleTout(ARBRE_Colbs) +ArbreDéroule(ARBRE_Colbs,gtabListeSocietes[MoiMême].saNom) +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Supprimer +06/08/2026 Batik 1170 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Supprimer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Supprimer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Supprimer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Supprimer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Supprimer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Supprimer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Supprimer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Supprimer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +n est un entier = TABLE_Info +si n > 0 _et_ COL_PKID[n] > 0 alors +TableSupprime(TABLE_Info,n) +fin +A chaque modification de IMG_Icone ( CMOD_Supprimer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Supprimer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Supprimer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Supprimer ) +06/08/2026 Batik 1171 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1172 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Code des champs +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ouvert +06/08/2026 Batik 1173 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +BlocageEnrg() +A chaque modification de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +06/08/2026 Batik 1174 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +Ferme() +fin +FEN_Fiche_Equipe +Procédures +Procédure locale BlocageEnrg +procédure BlocageEnrg() +si pas bDroitModif alors +bBloque = Faux +renvoyer Faux +fin +si oEquipe:nPKID <= 0 _et_ bDroitModif alors +bBloque = Vrai +renvoyer Vrai +fin +si pas bBloque _et_ oEquipe:nVerrou <> Base.VerrouParMoi alors +oEquipe:bAvecBlocage = Vrai +si oEquipe:DateCharge(nId) alors +bBloque = Vrai +06/08/2026 Batik 1175 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Procédures +sinon +oEquipe:bAvecBlocage = Faux +bBloque = Faux +fin +sinon +si bBloque _et_ oEquipe:nVerrou = Base.VerrouParMoi alors +oEquipe:bDebloqueEnreg = Vrai +oEquipe:DebloqueFichier() +bBloque = Faux +sinon +bBloque = Faux +fin +fin +si bBloque alors +SourceVersEcran() +FiltreTableColb() +fin +MaJBtnBlocage() +Procédure locale Enregistrer +procédure Enregistrer() +EcranVersSource() +si oEquipe:saNom = "" alors +Erreur("Veuillez entrer un nom pour l'équipe.") +renvoyer Faux +fin +si oEquipe:nIDSociete <= 0 alors +Erreur("Veuillez choisir une société pour l'équipe") +renvoyer Faux +fin +si TABLE_Info..Occurrence <= 0 alors +Erreur("Veuillez choisir les collaborateurs de l'équipe") +renvoyer Faux +fin +si pas oEquipe:Enregistrer() alors +renvoyer Faux +fin +reqSupLien est une Requête SQL = +[ +DELETE FROM Equipe_Collaborateur WHERE Equipe_Collaborateur.EC_IDEquipe = {p_IdEquipe} +] +reqSupLien.p_IdEquipe = oEquipe:nPKID +si pas HExécuteRequêteSQL(reqSupLien) alors +UneErreur:Init(ErreurApp.ErreurHFSQL,"Impossible de mettre à jour les collaborateurs de l'équipe") +renvoyer Faux +fin +pour i = 1 _à_ TABLE_Info.Occurrence +HRAZ(Equipe_Collaborateur) +Equipe_Collaborateur.EC_IDCollaborateur = TABLE_Info[i].COL_PKID +Equipe_Collaborateur.EC_IDEquipe = oEquipe.nPKID +Equipe_Collaborateur.CreationUser = CollaborateurEnCours:nIdUser +Equipe_Collaborateur.CreationDate = DateHeureSys() +06/08/2026 Batik 1176 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Procédures +Equipe_Collaborateur.ModifUser = CollaborateurEnCours:nIdUser +Equipe_Collaborateur.ModifDate = DateHeureSys() +si pas HAjoute(Equipe_Collaborateur) alors +UneErreur.Init(ErreurApp.ErreurHFSQL) +renvoyer Faux +fin +fin +renvoyer Vrai +Procédure locale FiltreColbs +procédure FiltreColbs() +ArbreSupprimeTout(ARBRE_Colbs) +sIdSoc est une chaîne ANSI +sImageColb est une chaîne ANSI +pour tout Societe +si pas Societe.SO_Archive alors +si ArbreAjoute(ARBRE_Colbs,Societe.SO_Nom,IMG_Societe,IMG_Societe,"SO_PKID"+Societe.SO_PKID, +aTriAlpha,Societe.SO_Nom) alors // on peut avoir le mème Id pour societe et colb ou eq +sIdSoc += [";"]+Societe.SO_PKID +fin +fin +fin +nUnIdSocActifs est un entier sur 8 octets +nUnIdSocInactifs est un entier sur 8 octets +si SansEspace(sIdSoc) <> "" alors +reqColb2 est une Requête SQL = +[ +SELECT CO_PKID, CO_Nom, CO_Prenom,CO_Trigramme,CO_CleCivilite,CO_Actif, SO_PKID, SO_Nom FROM +Collaborateur +INNER JOIN Societe_Collaborateur ON SC_IDCollaborateur = CO_PKID +INNER JOIN Societe ON SO_PKID = SC_IDCSociete +WHERE SC_IDCSociete IN {p_IdSoc} AND CO_AuPlanning = 1 ORDER BY SC_IDCSociete +] +reqColb2.p_IdSoc = sIdSoc +si HExécuteRequête(reqColb2) alors +pour tout reqColb2 +si reqColb2.CO_CleCivilite = cCle_CiviliteMadame alors +sImageColb = IMG_Femme +sinon +sImageColb = IMG_Homme +fin +si reqColb2.co_actif alors +si nUnIdSocActifs <> reqColb2.SO_PKID alors +nUnIdSocActifs = reqColb2.SO_PKID +ArbreAjoute(ARBRE_Colbs,reqColb2.SO_Nom+TAB+"Tous les collaborateurs",IMG_Tous, +IMG_Tous,"EQ_PKID_SO_PKID0_"+reqColb2.SO_PKID,aDernier+aAccepteDoublon +aTriAlpha, +"Tous les collaborateurs") +fin +ArbreAjoute(ARBRE_Colbs,reqColb2.SO_Nom+TAB+"Tous les collaborateurs"+TAB+reqColb2. +CO_Nom+" "+reqColb2.CO_Prenom,... +sImageColb,sImageColb,"CO_PKID_SO_PKID"+reqColb2.CO_PKID+"_"+reqColb2.SO_PKID, +aAccepteDoublon + aTriAlpha,reqColb2.CO_Nom+" ("+reqColb2.CO_Trigramme+")") +tabNomColb[reqColb2.CO_PKID] = reqColb2.CO_Nom+" "+reqColb2.CO_Prenom + " ("+reqColb2. +CO_Trigramme+")" +06/08/2026 Batik 1177 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Procédures +sinon +si nUnIdSocInactifs <> reqColb2.SO_PKID alors +nUnIdSocInactifs = reqColb2.SO_PKID +ArbreAjoute(ARBRE_Colbs,reqColb2.SO_Nom+TAB+"Collaborateurs inactifs",IMG_ +Advertencia,IMG_Advertencia,"EQ_PKID_SO_PKID0_"+reqColb2.SO_PKID,aDernier+ +aAccepteDoublon +aTriAlpha,"Collaborateurs inactifs") +fin +ArbreAjoute(ARBRE_Colbs,reqColb2.SO_Nom+TAB+"Collaborateurs inactifs"+TAB+reqColb2. +CO_Nom+" "+reqColb2.CO_Prenom,... +sImageColb,sImageColb,"CO_PKID_SO_PKID"+reqColb2.CO_PKID+"_"+reqColb2.SO_PKID, +aAccepteDoublon + aTriAlpha,reqColb2.CO_Nom+" ("+reqColb2.CO_Trigramme+")") +tabNomColb[reqColb2.CO_PKID] = reqColb2.CO_Nom+" "+reqColb2.CO_Prenom + " ("+reqColb2. +CO_Trigramme+")" +fin +fin +fin +fin +si oEquipe:nIDSociete > 0 _et_ gtabListeSocietes[oEquipe:nIDSociete]..Existe _et_ pas gtabListeSocietes +[oEquipe:nIDSociete].bArchive alors +ArbreDéroule(ARBRE_Colbs, gtabListeSocietes[oEquipe:nIDSociete].saNom) +fin +Procédure locale Filtrer +procédure Filtrer() +si nId <= 0 alors +MaFenêtre..Titre = "Nouvelle équipe" +LIB_Libellé = "Nouvelle équipe" +bBloque = Vrai +oEquipe:bAvecBlocage= Vrai +sinon +si bDroitModif alors +oEquipe:bAvecBlocage= Vrai +si oEquipe:DateCharge(nId) alors +bBloque = Vrai +sinon +oEquipe:bAvecBlocage = Faux +bBloque = Faux +fin +sinon +oEquipe:DateCharge(nId) +bBloque = Faux +fin +MaFenêtre..Titre = oEquipe:saNom +LIB_Libellé = oEquipe:saNom +fin +FiltreTableColb() +Procédure locale FiltreTableColb +procédure FiltreTableColb() +TableSupprimeTout(TABLE_Info) +TableauSupprimeTout(oEquipe:tbaCollaborateurs) +si nId > 0 alors +06/08/2026 Batik 1178 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Procédures +odUnColbest un MCollaborateur dynamique +reqColb est une Requête SQL = +[ +SELECT * +FROM Collaborateur +INNER JOIN Equipe_Collaborateur ON Equipe_Collaborateur.EC_IDCollaborateur = Collaborateur. +CO_PKID +WHERE Equipe_Collaborateur.EC_IDEquipe = {p_IdEquipe} +] +reqColb.p_IdEquipe = nId +i est un entier +si pas HExécuteRequêteSQL(reqColb) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FEN_Fiche_Equipe.Filtrer") +sinon +pour tout reqColb +odUnColb = allouer un MCollaborateur +FichierVersMémoire(odUnColb,reqColb) +oEquipe:tbaCollaborateurs[reqColb.CO_PKID] = odUnColb +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = odUnColb:nPKID +COL_Nom[i] = odUnColb:NomPrenom() +fin +fin +fin +Procédure locale MaJBtnBlocage +procédure MaJBtnBlocage() +GR_Modif..EnSaisie = bBloque +si pas bBloque alors +CMOD_Ouvert..Visible = Faux +CMOD_Bloque..Visible = Vrai +sinon +CMOD_Ouvert..Visible = Vrai +CMOD_Bloque..Visible = Faux +fin +Procédure locale SelColb +procédure SelColb() +saIdest une chaîne ANSI = ArbreRécupèreIdentifiant(ARBRE_Colbs, ArbreSelect(ARBRE_Colbs, Vrai)) +nIdColb est un entier sur 8 octets +si SansEspace(saId) <> "" alors +si Contient(saId,"CO_PKID_SO_PKID",SansCasse) alors +saIdColb est une chaîne ANSI = Remplace(saId,"CO_PKID_SO_PKID","",SansCasse) +i est un entier = Position(saIdColb,"_",0,DepuisDébut) +si i > 0 alors +nIdColb = Val(saIdColb[1 à i]) +fin +si nIdColb > 0 _et_ gtabListeCollaborateurs[nIdColb]..Existe alors +si TableCherche(TABLE_Info.COL_PKID, nIdColb) <= 0 alors +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = gtabListeCollaborateurs[nIdColb].nPKID +COL_Nom[i] = gtabListeCollaborateurs[nIdColb].NomPrenom() +fin +06/08/2026 Batik 1179 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Equipe › Procédures +fin +fin +fin +| 06/08/2026 | Batik | 1180 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Image +FEN_Liste_Parametres_Metier +Image +FEN_Liste_Parametres_Metier +Informations générales +FEN_Liste_Parametres_Metier +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Liste_Parametres_Metier.wdw +Créé par SMR +06/08/2026 Batik 1181 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Informations générales +| Date de création | | 31/07/2025 10:51:33 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 02/04/2026 16:41:21 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à l'écran | | | | +Note pour la documentation technique +FR: Liste des paramètres métier +| Position X | 0 Position Y | | 0 Largeur | 1046 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| 06/08/2026 | | | Batik | | 1182 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Informations générales +| 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 | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 1 | Image | | | 9 | +| --- | ---------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Table | | 1 | Combo | | | 1 | +| | Superchamp | | 1 | Champ Modèle de champs | | | 8 | +| | Colonne de table | | 6 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 28 +FEN_Liste_Parametres_Metier +Informations sur les champs +Fenêtre : FEN_Liste_Parametres_Metier +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Bas | | 999 | 117 30 | 30 | 0 | Actif | | +| ---------------- | --- | ---- | ------- | --- | --- | ----- | ---- | +| CMOD_BordFen | | 0 | -29 949 | 29 | 0 | Actif | | +| CMOD_Catg | | 6 | 16 401 | 53 | 0 | Actif | | +| CMOD_Haut | | 999 | 79 30 | 30 | 0 | Actif | | +| CMOD_Modifier | | 460 | 38 37 | 31 | 0 | Actif | | +| CMOD_Nouveau | | 415 | 38 37 | 31 | 0 | Actif | | +| CMOD_Table | | 6 | 77 985 | 583 | 0 | Actif | | +| CMOD_VisiteGuide | | 1009 | 6 30 | 24 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 1183 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Informations sur les champs +Champ Modèle de champs : CMOD_Bas +Image +| | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------------------------------------- | ---------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | 999 | 117 | 30 | 30 | 0 | Actif | | | +| --------- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 949 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | --- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_Libellé | 91 | -27 826 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | ------- | ------------ | --------- | ---------- | +| | | | | ruetuaH | | | cilc cevA | | +| | | | ruegraL | | elbisiV | | | | +nalP +| IMG_AideFenetre | 917 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | --- | --- | ----- | --- | --- | ----- | --- | ---- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +| 06/08/2026 | | | Batik | | | | | 1184 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Informations sur les champs +Champ Modèle de champs : CMOD_Catg +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_Combo | 6 16 401 | 53 | 0 Actif | Mémoire | Non | | +| --------- | -------- | --- | ------- | ------- | --- | --- | +Champ Modèle de champs : CMOD_Haut +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --------------- | --- | ------------ | --- | +| | | | ruegraL ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | 999 | 79 | 30 30 | 0 | Actif | | +| --------- | --- | --- | ----- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Modifier +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | laitini tatE | sucof cevA | +| --- | ---------- | ---------- | --- | --- | ------------ | ---------- | +ruetuaH cilc cevA +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| IMG_Icone | 460 | 38 | 37 31 | 0 | Actif | | +| ---------- | --- | --- | ----- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | 1185 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Informations sur les champs +Champ Modèle de champs : CMOD_Nouveau +Image +| | | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | --- | --------------------- | --- | ------- | --- | --- | ------------ | --------------------- | ----------------- | +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | sucof cevA | +| | | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 415 38 | | 37 31 | | 0 | Actif | | | +| --------- | --- | ------ | --- | ----- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Table +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 | | | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | --- | --- | +sruocraP +ruegraL ruetuaH +elbisiV +| | | nalP | | elbaT | | | | | | +| ---------- | ---- | --------- | -------- | ------ | --- | --- | --- | --- | --- | +| TABLE_Info | 8 79 | 975 577 0 | affichag | Mémoir | | | | | 1 | +Table : CMOD_Table.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | elbairt ennoloC | ehcrehcer cevA | | | | | +| --- | --- | --- | -------------- | --------------- | -------------- | ------------- | --- | --- | --- | +| | | | ehcuag à eéxiF | | | .zroh egardaC | | | | +.trev egardaC +| | | | | elbaçalpéD | | | | eisias epyT FTR tamroF | eisias cevA | +| --- | --- | ------------ | --- | ---------- | --- | --- | --- | ---------------------- | ----------- | +| | | laitini tatE | | | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +| COL_PKID | | 880 Grisé | | | Droite | Centre | Numériq | | | +| ----------- | --- | --------- | --- | --- | ------ | ------ | ------- | ----- | --- | +| COL_Libelle | | 449 Actif | | | Gauche | Centre | | Texte | | +| COL_Code | | 221 Actif | | | Gauche | Centre | | Texte | | +| COL_Actif | | 106 Actif | | | Centre | Centre | | | | +| COL_CtgCode | | 100 Grisé | | | Gauche | Centre | | Texte | | +Numériq +| COL_Ordre | | 175 Actif | | | Droite | Centre | | | | +| ---------- | --- | --------- | --- | ----- | ------ | ------ | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | 1186 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Informations sur les champs +Champ Modèle de champs : CMOD_VisiteGuide +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | laitini tatE | sucof cevA | +| --- | ---------- | ---------- | --- | ------------ | ---------- | +ruetuaH cilc cevA +ruegraL +elbisiV +nalP +| IMG_Icone | 1009 | 6 30 | 24 0 | Actif | | +| --------- | ---- | ---- | ---- | ----- | --- | +Fenêtre : FEN_Liste_Parametres_Metier +Champ Modèle de champs : CMOD_Bas +| Ordre navigation | 8 | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | +| Curseur survol | 0 | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | 0 | | | | | +| Taux Paral. Y | 0 | | | | | +| Épinglé | Non | | | | | +| Masquer lors du scrolling | Non | | | | | +| Ancrage au contenu | <Aucun> | | | | | +| Numéro aide | 0 | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | +| Facteur de rétrécissement | 0 | | | | | +| Facteur d'agrandissement | 0 | | | | | +| Ancrage | <Aucun> | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { + "Libelle":"Barre de titre (Fen\u00eatre)" +} +| Ordre navigation | 1 | | | | | +| -------------------- | ----------------------------------- | ----- | --- | --- | ---- | +| Curseur survol | 0 | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | 0 | | | | | +| Taux Paral. Y | 0 | | | | | +| 06/08/2026 | | Batik | | | 1187 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Catg +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Haut +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +06/08/2026 Batik 1188 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Modifier +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Nouveau +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1189 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Informations sur les champs +Champ Modèle de champs : CMOD_Table +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_VisiteGuide +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1190 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Informations sur les champs +Champ Modèle de champs : CMOD_Bas +Image : CMOD_Bas.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\bas_noire.svg +Groupe GR_Ordre +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 1191 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 949 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 1192 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 1193 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 +06/08/2026 Batik 1194 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Informations sur les champs +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 +06/08/2026 Batik 1195 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Informations sur les champs +Ancrage Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Catg +Combo : CMOD_Catg.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 401 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 6 +Largeur interne 401 +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 +06/08/2026 Batik 1196 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Informations sur les champs +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 Oui +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Haut +Image : CMOD_Haut.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\haut_noire.svg +Groupe GR_Ordre +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 +06/08/2026 Batik 1197 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_Modifier +Image : CMOD_Modifier.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\crayon_noire.svg +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 +06/08/2026 Batik 1198 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Informations sur les champs +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_Nouveau +Image : CMOD_Nouveau.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Plus_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur et hauteur +06/08/2026 Batik 1199 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Table +Table : CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 1200 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › 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 : CMOD_Table.TABLE_Info +Colonne de table : CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 +06/08/2026 Batik 1201 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Informations sur les champs +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 : CMOD_Table.TABLE_Info.COL_Libelle (2) +Titre FR: Libelle +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 350 Taux anc. hauteur 1000 +06/08/2026 Batik 1202 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Informations sur les champs +Colonne de table : CMOD_Table.TABLE_Info.COL_Code (3) +Titre FR: Code +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 200 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table.TABLE_Info.COL_Actif (4) +Titre FR: Actif +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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> +06/08/2026 Batik 1203 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Informations sur les champs +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 150 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table.TABLE_Info.COL_CtgCode (5) +Titre FR: CtgCode +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 +06/08/2026 Batik 1204 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Informations sur les champs +Colonne de table : CMOD_Table.TABLE_Info.COL_Ordre (6) +Titre FR: Ordre +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: 9 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 300 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_VisiteGuide +Image : CMOD_VisiteGuide.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\VisiteGuide.svg +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 +06/08/2026 Batik 1205 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +FEN_Liste_Parametres_Metier +Code +Déclarations globales de FEN_Liste_Parametres_Metier +procédure FEN_Liste_Parametres_Metier() +FEN_Liste_Parametres_Metier +Code des champs +Fin d'initialisation de CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Bas +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1206 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Code des champs +ExécuteAncêtre +Entrée dans CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Bas ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Bas ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ModifierOrdre(Faux) +A chaque modification de IMG_Icone ( CMOD_Bas ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Bas ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Bas ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Bas ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1207 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Déclarations globales de CMOD_Catg +saLib = "Catégorie" +Fin d'initialisation de CMOD_Catg +06/08/2026 Batik 1208 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Catg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Catg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Catg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Catg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Catg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Catg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Catg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême..NomComplet,cCategorieParam,Faux) +Entrée dans CMB_Combo ( CMOD_Catg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Catg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Catg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Filtrer() +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Catg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Haut +06/08/2026 Batik 1209 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Haut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Haut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ModifierOrdre(Vrai) +A chaque modification de IMG_Icone ( CMOD_Haut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Haut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Haut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Haut ) +06/08/2026 Batik 1210 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Modifier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Modifier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Modifier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Modifier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Modifier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Modifier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Modifier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Modifier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Modifier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ModifierParametre() +A chaque modification de IMG_Icone ( CMOD_Modifier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Modifier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Modifier ) +06/08/2026 Batik 1211 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Modifier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Nouveau +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Nouveau +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Nouveau +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Nouveau +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Nouveau +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Nouveau +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Nouveau +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Nouveau ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Nouveau ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +AjouterParametre() +A chaque modification de IMG_Icone ( CMOD_Nouveau ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Nouveau ) +06/08/2026 Batik 1212 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Nouveau ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Nouveau ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1213 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Code des champs +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ModifierParametre() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1214 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitVisiteParametresMetier() +A chaque modification de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1215 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Code des champs +ExécuteAncêtre +FEN_Liste_Parametres_Metier +Procédures +Procédure locale AjouterParametre +procédure AjouterParametre() +si CMOD_Catg.CMB_Combo = Null alors +Erreur("Veuillez sélectionner une catégorie de paramètres.") +retour +fin +nIdParam est un entier sur 8 octets = Ouvre(FEN_Nouveau_Parametre_Metier,CMOD_Catg.CMB_Combo) +si nIdParam > 0 alors +si HLitRecherchePremier(ParametreMetier,PA_PKID,nIdParam) alors +selon ParametreMetier.PA_Categorie +cas cParam_TypeRDV +Ouvre(FEN_Fiche_Parametre_Type_RDV,nIdParam) +cas cParam_StatusRDV +Ouvre(FEN_Fiche_Parametre,nIdParam) +cas cparam_TypeTemps +Ouvre(FEN_Fiche_Parametre_Type_Temps,nIdParam) +autre cas +fin +fin +Filtrer() +fin +Procédure locale Filtrer +procédure Filtrer() +TableSupprimeTout(TABLE_Info) +si gtbEnteteParametresMetier..Occurrence <= 0 alors +retour +fin +si CMOD_Catg.CMB_Combo = Null alors +Erreur("Veuillez sélectionner une catégorie de paramètres.") +retour +fin +i est un entier +ReqSQL est une chaîne +sCR est une chaîne +sdListeParam est une Source de Données +//******************************************************************// +// A supprimer => PA_Invisible compatibilité avec l’ancien version // +//******************************************************************// +ReqSQL+=[ +SELECT +PA_Actif +06/08/2026 Batik 1216 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Procédures +,PA_PKID +,PA_Libelle +,PA_CLE +,PA_Categorie +,PA_Ordre +FROM ParametreMetier +INNER JOIN ParametreMetierEntete ON ParametreMetierEntete.PM_Categorie = +ParametreMetier.PA_Categorie +WHERE PA_Invisible = 0 AND PM_Categorie <> '' +] +i = 0 +sCR += CritereHF(Vrai,CMOD_Catg.CMB_Combo,ParametreMetierEntete.PM_Categorie..Nom,df_TexteComplet) +ReqSQL+=sCR +ReqSQL+=[ +ORDER BY ParametreMetier.PA_Ordre ASC +] +si sCR <> "" _et_ HExécuteRequêteSQL(sdListeParam,ConnexionBase:Cnx,hRequêteDéfaut+ +hRequêteSansCorrection,ReqSQL) alors +pour tout sdListeParam +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = sdListeParam.PA_PKID +COL_Libelle[i] = sdListeParam.PA_Libelle +COL_Code[i] = sdListeParam.PA_CLE +COL_Actif[i] = sdListeParam.PA_Actif +COL_CtgCode[i] = sdListeParam.PA_Categorie +COL_Ordre[i] = sdListeParam.PA_Ordre +fin +si i > 1 alors +ToastAffiche(i+" Enregistrements trouvés",toastCourt,cvMilieu) +sinon si i = 1 alors +ToastAffiche("1 Enregistrement trouvé",toastCourt,cvMilieu) +sinon +ToastAffiche("Aucun enregistrement trouvé",toastCourt,cvMilieu) +fin +fin +HLibèreRequête(sdListeParam) +Procédure locale ModifierOrdre +procédure ModifierOrdre(bHaut est un booléen) +i est un entier = TABLE_Info +nMax est un entier = TABLE_Info..Occurrence +nLigneParam_1 est un entier = i +nLigneParam_2 est un entier = i +si bHaut alors +si i > 1 alors +nLigneParam_1 = TableDéplaceLigne(TABLE_Info, ligneSélectionnée, tdPrécédent, tdEchange) +COL_Ordre[nLigneParam_2] += 1 +COL_Ordre[nLigneParam_1] -= 1 +fin +sinon +si i <= nMax alors +nLigneParam_2 = TableDéplaceLigne(TABLE_Info, ligneSélectionnée, tdSuivant, tdEchange) +06/08/2026 Batik 1217 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Parametres_Metier › Procédures +COL_Ordre[nLigneParam_2] += 1 +COL_Ordre[nLigneParam_1] -= 1 +fin +fin +si nLigneParam_1 > 0 _et_ nLigneParam_2 > 0 alors +si HLitRecherchePremier(ParametreMetier,PA_PKID,COL_PKID[nLigneParam_1]) alors +ParametreMetier.PA_Ordre = COL_Ordre[nLigneParam_1] +si pas HModifie(ParametreMetier) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Erreur pendant la mise a jour de l'ordre du paramètre", +"FEN_Liste_Parametres_Metier.ModifierOrdre") +fin +fin +si HLitRecherchePremier(ParametreMetier,PA_PKID,COL_PKID[nLigneParam_2]) alors +ParametreMetier.PA_Ordre = COL_Ordre[nLigneParam_2] +si pas HModifie(ParametreMetier) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Erreur pendant la mise a jour de l'ordre du paramètre", +"FEN_Liste_Parametres_Metier.ModifierOrdre") +fin +fin +fin +Procédure locale ModifierParametre +procédure ModifierParametre() +nI est un entier = TABLE_Info +si nI > 0 _et_ COL_PKID[nI] > 0 _et_ COL_CtgCode[nI] <> "" alors +selon COL_CtgCode[nI] +cas cParam_TypeRDV +Ouvre(FEN_Fiche_Parametre_Type_RDV,COL_PKID[nI]) +cas cparam_TypeTemps +Ouvre(FEN_Fiche_Parametre_Type_Temps,COL_PKID[nI]) +autre cas +Ouvre(FEN_Fiche_Parametre,COL_PKID[nI]) +fin +Filtrer() +fin +06/08/2026 Batik 1218 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Image +FEN_Nouveau_Parametre_Metier +Image +FEN_Nouveau_Parametre_Metier +Informations générales +FEN_Nouveau_Parametre_Metier +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Nouveau_Parametre_Metier.wdw +| Créé par | | SMR | | | | +| -------------------------- | --- | ------------------------------------------ | --- | --- | --- | +| Date de création | | 31/07/2025 15:55:34 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 05/03/2026 19:26:34 | | | | +| Titre | | FR: Création d'un nouveau paramètre métier | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Création d'un paramètre métier +| Position X | 0 Position Y | | 0 Largeur | 982 Hauteur | 226 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| 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. +| 06/08/2026 | | | Batik | | 1219 | +| ---------- | --- | --- | ----- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations générales +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Oui +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Non +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. Oui +Grisé : Algo pour images <Défaut> +Style du menu Windows 11 +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 32 +Pos. Y Menu 2 +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 +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +06/08/2026 Batik 1220 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | 5 | Libellé | | | 2 | +| --- | ---------------------- | --- | --- | --------------------- | --- | --- | --- | +| | Bouton | | 2 | Image | | | 4 | +| | Combo | | 1 | Superchamp | | | 1 | +| | Champ Modèle de champs | | 10 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 26 +FEN_Nouveau_Parametre_Metier +Informations sur les champs +Fenêtre : FEN_Nouveau_Parametre_Metier +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_BordFen | | 0 | -29 901 | 29 | 0 | Actif | | +| ------------- | --- | --- | ------- | --- | --- | ----- | --- | +| CMOD_Code | | 737 | 113 144 | 53 | 0 | Actif | | +| CMOD_CodeBase | | 639 | 113 90 | 53 | 0 | Actif | | +| CMOD_Ctg | | 2 | 113 359 | 53 | 0 | Actif | | +| CMOD_LibCourt | | 369 | 113 262 | 53 | 0 | Actif | | +| CMOD_Libelle | | 2 | 52 962 | 53 | 0 | Actif | | +| CMOD_Ordre | | 889 | 113 75 | 53 | 0 | Actif | | +| CMOD_SansNom5 | | 823 | 9 141 | 35 | 0 | Actif | | +| CMOD_SansNom6 | | 668 | 9 141 | 35 | 0 | Actif | | +| CMOD_Titre | | 2 | 13 658 | 26 | 0 | Actif | | +Champ Modèle de champs : CMOD_BordFen +| 06/08/2026 | | | Batik | | | | 1221 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +Superchamp +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_SansNom1 | | | | 0 | -29 | 901 | 30 | | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| LIB_Libellé | | 91 | -27 | 778 | 25 | 0 | | Actif | Gauche | Centre | | +| ----------- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | ------- | ------------ | --------- | ---------- | +| | | | | | | ruetuaH | | | | cilc cevA | | +| | | | | | ruegraL | | | elbisiV | | | | +nalP +| IMG_AideFenetre | | | 869 | -26 | 28 | 23 | 0 | | Actif | | | +| -------------------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | | | 61 | -26 | 28 | 23 | 0 | | Actif | | | +| IMG_Logo_secondaire_violet | | | 2 | -27 | 34 | 26 | 0 | | Actif | | | +| IMG_SombreClair | | | 38 | -26 | 21 | 23 | 0 | | Actif | | | +Champ Modèle de champs : CMOD_Code +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_Texte | 737 113 | 144 | 53 | 0 | Actif | Texte | | Non | | | | +| ---------- | ------- | --- | --- | --- | ----- | ----- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | | Batik | | | | | | 1222 | + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +Champ Modèle de champs : CMOD_CodeBase +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_Texte | 639 113 | 90 53 | 0 | affichag | Texte | | Non | | | | +| --------- | ------- | ----- | --- | -------- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Ctg +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_Combo | 2 | 113 359 | 53 | 0 | affichag | | Mémoire | | Non | | +| --------- | --- | ------- | --- | --- | -------- | --- | ------- | --- | --- | --- | +Champ Modèle de champs : CMOD_LibCourt +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_Texte | 369 113 | 262 53 | 0 | Actif | Texte | | Non | | | | +| ---------- | ------- | ------ | --- | ----- | ----- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | | Batik | | | | | 1223 | + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +Champ Modèle de champs : CMOD_Libelle +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_Texte | 2 52 | 962 53 | 0 | Actif | Texte | | Non | | | | +| --------- | ---- | ------ | --- | ----- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Ordre +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_Texte | 889 113 | 75 53 | 0 | Actif | Numéri | | Non | | | | +| --------- | ------- | ----- | --- | ----- | ------ | --- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_SansNom5 +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | +| --- | --- | ---------- | ---------- | --- | --------------- | --- | --- | ------------ | --- | --- | +| | | | | | ruegraL ruetuaH | | | | | | +elbisiV +nalP +| BTN_Valider | | 823 | | 9 | 141 | 35 | 0 | Actif | Normal | | +| ----------- | --- | --- | --- | --- | ----- | --- | --- | ----- | ------ | ---- | +| 06/08/2026 | | | | | Batik | | | | | 1224 | + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom6 +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| BTN_Annuler | | 668 | 9 141 | 35 | 0 | Actif | Normal | | +| ----------- | --- | --- | ----- | --- | --- | ----- | ------ | --- | +Champ Modèle de champs : CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | | 2 13 | 658 26 | 0 | Actif | Gauche | Centre | | +| ------- | --- | ---- | ------ | --- | ----- | ------ | ------ | --- | +Fenêtre : FEN_Nouveau_Parametre_Metier +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { + "Libelle":"Barre de titre (Fen\u00eatre)" +} +| Ordre navigation | | 1 | | | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| Curseur survol | | 0 | | | | | | | +| UI par l'utilisateur | | Selon fenêtre | | | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | | +| Taux Paral. Y | | 0 | | | | | | | +| Épinglé | | Non | | | | | | | +| Masquer lors du scrolling | | Non | | | | | | | +| Ancrage au contenu | | <Aucun> | | | | | | | +| Numéro aide | | 0 | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | | 0 | | | | | | | +| -------------------------- | ---- | ------- | ---- | --- | --- | --- | --- | ---- | +| Facteur d'agrandissement | | 0 | | | | | | | +| Ancrage | | Largeur | | | | | | | +| | 1000 | | 1000 | | | 750 | | 1000 | +Taux anc. droite Taux anc. bas Taux anc. largeur Taux anc. hauteur +| 06/08/2026 | | | Batik | | | | | 1225 | +| ---------- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +Champ Modèle de champs : CMOD_Code +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 800 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_CodeBase +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 700 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +06/08/2026 Batik 1226 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +Champ Modèle de champs : CMOD_Ctg +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 400 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_LibCourt +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 400 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +06/08/2026 Batik 1227 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +Champ Modèle de champs : CMOD_Libelle +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Ordre +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 950 Taux anc. bas 1000 Taux anc. largeur 50 Taux anc. hauteur 1000 +06/08/2026 Batik 1228 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom5 +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom6 +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1229 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +Champ Modèle de champs : CMOD_Titre +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 901 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1230 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 1231 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 1232 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 1233 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Code +Champ de saisie : CMOD_Code.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +06/08/2026 Batik 1234 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +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 737 +Largeur interne 144 +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 16 +Masque saisie FR: 2 +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 +06/08/2026 Batik 1235 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_CodeBase +Champ de saisie : CMOD_CodeBase.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 639 +Largeur interne 90 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 1236 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Automatique +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1237 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +Champ Modèle de champs : CMOD_Ctg +Combo : CMOD_Ctg.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 359 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 2 +Largeur interne 359 +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 +06/08/2026 Batik 1238 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +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 Oui +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_LibCourt +Champ de saisie : CMOD_LibCourt.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 369 +Largeur interne 262 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +06/08/2026 Batik 1239 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 20 +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 Largeur et hauteur +06/08/2026 Batik 1240 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Libelle +Champ de saisie : CMOD_Libelle.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 2 +Largeur interne 962 +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 +06/08/2026 Batik 1241 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Ordre +06/08/2026 Batik 1242 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +Champ de saisie : CMOD_Ordre.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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. Droite +Position X interne 889 +Largeur interne 75 +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: 9 999 +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 +06/08/2026 Batik 1243 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom5 +Bouton : CMOD_SansNom5.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +06/08/2026 Batik 1244 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › 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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom6 +Bouton : CMOD_SansNom6.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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 +06/08/2026 Batik 1245 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Titre +Libellé : CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +06/08/2026 Batik 1246 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Nouveau_Parametre_Metier +Code +Déclarations globales de FEN_Nouveau_Parametre_Metier +procédure FEN_Nouveau_Parametre_Metier(saTypeParam est une chaîne ANSI) +saCodeCtg est une chaîne ANSI = saTypeParam +nIdParametre est un entier sur 8 octets +Fin d'initialisation de FEN_Nouveau_Parametre_Metier +InitCategorie() +Fermeture de FEN_Nouveau_Parametre_Metier +renvoyer nIdParametre +FEN_Nouveau_Parametre_Metier +Code des champs +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1247 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Déclarations globales de CMOD_Code +salib = "Code" +Fin d'initialisation de CMOD_Code +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1248 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_CodeBase +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CodeBase +06/08/2026 Batik 1249 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CodeBase +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CodeBase +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CodeBase +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CodeBase +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CodeBase +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_CodeBase ) (modèle MDLC_SaisieSansModif) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_CodeBase ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Ctg +salib = "Catégorie" +Fin d'initialisation de CMOD_Ctg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ctg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ctg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ctg +06/08/2026 Batik 1250 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ctg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ctg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ctg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Ctg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême..NomComplet,cCategorieParam,Faux) +Entrée dans CMB_Combo ( CMOD_Ctg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Ctg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Ctg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Ctg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_LibCourt +salib = "Libelle court" +Fin d'initialisation de CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibCourt +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1251 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Code des champs +ExécuteAncêtre +Sortie de CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_LibCourt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_LibCourt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_LibCourt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_LibCourt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_LibCourt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Libelle +salib = "Libelle du paramètre" +Fin d'initialisation de CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Libelle +06/08/2026 Batik 1252 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Libelle ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Libelle ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Libelle ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CalculerCode() +A chaque modification de SAI_Texte ( CMOD_Libelle ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Libelle ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Ordre +salib = "Ordre" +Fin d'initialisation de CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ordre +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1253 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Code des champs +ExécuteAncêtre +Entrée dans CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Ordre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Ordre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Ordre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Ordre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Ordre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom5 +06/08/2026 Batik 1254 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_SansNom5 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_SansNom5 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +Ferme() +fin +Fin d'initialisation de CMOD_SansNom6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom6 +06/08/2026 Batik 1255 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_SansNom6 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_SansNom6 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_SansNom6 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Création d'un nouveau paramètre métier" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1256 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Code des champs +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +FEN_Nouveau_Parametre_Metier +Procédures +Procédure locale CalculerCode +procédure CalculerCode() +nTaille est un entier = 15 +saCode est une chaîne ANSI +si CMOD_Ctg.CMB_Combo <> "" alors +si CMOD_Libelle.SAI_Texte <> "" alors +saCode = SansEspace(Majuscule(SansEspace(SuppressionVoyelle(CMOD_Libelle.SAI_Texte))),sscTout) +fin +fin +CMOD_CodeBase.SAI_Texte = saCodeCtg+"." +nTaille -= saCodeCtg..Taille +si saCode <> "" alors +CMOD_Code.SAI_Texte = saCode +fin +Procédure locale Enregistrer +procédure Enregistrer() +CMOD_Code.SAI_Texte = SansEspace(CMOD_Code.SAI_Texte ,sscTout) +si CMOD_Code.SAI_Texte = "" alors +Erreur("Un code est obligatoire pour le paramètre") +renvoyer Faux +fin +si CMOD_Libelle.SAI_Texte = "" alors +Erreur("Un libelle est obligatoire pour le paramètre") +renvoyer Faux +fin +saCodeUnique est une chaîne ANSI = SansEspace(CMOD_CodeBase.SAI_Texte+CMOD_Code.SAI_Texte) +reqVerif est une Requête SQL = +[ +SELECT * FROM ParametreMetier WHERE PA_CLE = {p_cle} +] +reqVerif.p_cle = saCodeUnique +si HExécuteRequêteSQL(reqVerif) alors +06/08/2026 Batik 1257 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Procédures +pour tout reqVerif +si reqVerif.PA_PKID > 0 alors +Erreur( +"Le code du paramètre doit être unique dans la base de données. Veuillez le modifier") +renvoyer Faux +fin +fin +fin +//******************************************************************// +// A supprimer => compatibilité avec l’ancien version // +//******************************************************************// +saCode est une chaîne ANSI +saValeur est une chaîne ANSI +reqAncienParam est une Requête SQL = +[ +SELECT PA_PKID +FROM ParametreMetier p +JOIN ( +SELECT MAX(PA_Valeur) AS max_valeur +FROM ParametreMetier +WHERE PA_Categorie = {p_catg} +) AS max_p +ON p.PA_Valeur = max_valeur AND p.PA_Categorie = {p_catg} +] +reqAncienParam.p_catg = saCodeCtg +si HExécuteRequêteSQL(reqAncienParam) alors +pour tout reqAncienParam +si reqAncienParam.PA_PKID > 0 _et_ gtabParametresMetierId[reqAncienParam.PA_PKID]..Existe alors +saCode = gtabParametresMetierId[reqAncienParam.PA_PKID].saCode +saValeur = gtabParametresMetierId[reqAncienParam.PA_PKID].saValeur +n est un entier = Val(saValeur[saValeur..Taille]) +si n<= 0 alors +saValeur += 1 +sinon +n+= 1 +saValeur = saValeur[1 à (saValeur..Taille-1)] + n +fin +fin +fin +fin +//******************************************************************// +HRAZ(ParametreMetier) +ParametreMetier.PA_Code = saCode +ParametreMetier.PA_Valeur = saValeur +ParametreMetier.PA_Libelle = CMOD_Libelle.SAI_Texte +ParametreMetier.PA_LibelleCourt = CMOD_LibCourt.SAI_Texte +ParametreMetier.PA_Ordre = CMOD_Ordre.SAI_Texte +ParametreMetier.PA_Actif = Vrai +ParametreMetier.PA_Parametre = "" +ParametreMetier.PA_Categorie = saCodeCtg +ParametreMetier.PA_CLE = saCodeUnique +ParametreMetier.PA_Systeme = Faux +si pas HAjoute(ParametreMetier) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue lors de la création du nouveau paramètre métier") +renvoyer Faux +sinon +nIdParametre = ParametreMetier.PA_PKID +fin +06/08/2026 Batik 1258 + +Partie 3 › Fenêtre WINDEV › FEN_Nouveau_Parametre_Metier › Procédures +renvoyer Vrai +Procédure locale InitCategorie +procédure InitCategorie() +nOrdre est un entier +si gtabParametresMetierCode[saCodeCtg]..Existe alors +nOrdre = gtabParametresMetierCode[saCodeCtg]..Occurrence +fin +nOrdre += 1 +CMOD_Ordre.SAI_Texte = nOrdre +si gtbEnteteParametresMetier[saCodeCtg]..Existe _et_ gtbEnteteParametresMetier[saCodeCtg] <> "" alors +CMOD_Titre.LIB_lib = gtbEnteteParametresMetier[saCodeCtg] +fin +CMOD_Ctg.CMB_Combo = saCodeCtg +CalculerCode() +06/08/2026 Batik 1259 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Image +FEN_Fiche_Parametre +Image +FEN_Fiche_Parametre +Informations générales +FEN_Fiche_Parametre +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Fiche_Parametre.wdw +| Créé par | | SMR | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Date de création | | 31/07/2025 17:34:04 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 05/03/2026 19:26:33 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Fiche paramètre +| Position X | 0 Position Y | | 0 Largeur | 977 Hauteur | 255 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| 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. +| 06/08/2026 | | | Batik | | 1260 | +| ---------- | --- | --- | ----- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations générales +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Oui +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Non +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. Oui +Grisé : Algo pour images <Défaut> +Style du menu Windows 11 +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 32 +Pos. Y Menu 2 +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 +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +06/08/2026 Batik 1261 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | 4 | Libellé | | | 3 | +| --- | ---------------------- | --- | --- | --------------------- | --- | --- | --- | +| | Bouton | | 2 | Interrupteur | | | 1 | +| | Image | | 5 | Superchamp | | | 2 | +| | Champ Modèle de champs | | 10 | Option d'interrupteur | | | 1 | +| | Case barre de message | | 1 | | | | | +Nombre d'éléments dans la fenêtre : 29 +FEN_Fiche_Parametre +Informations sur les champs +Fenêtre : FEN_Fiche_Parametre +Superchamp +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| SC_Couleur | | 8 | 162 960 | 39 | 0 | Actif | | +| ---------- | --- | --- | ------- | --- | --- | ----- | --- | +Champ Modèle de champs +BAT ehcuoT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| CMOD_Actif | | 833 | 133 135 | 29 | 0 | Actif | | +| ------------- | --- | --- | ------- | --- | --- | ----- | ---- | +| CMOD_Annuler | | 680 | 5 141 | 35 | 0 | Actif | | +| CMOD_BordFen | | 0 | -29 897 | 29 | 0 | Actif | | +| CMOD_Code | | 456 | 109 294 | 53 | 0 | Actif | | +| CMOD_LibCourt | | 8 | 109 440 | 53 | 0 | Actif | | +| CMOD_Libelle | | 8 | 48 960 | 53 | 0 | Actif | | +| CMOD_Ordre | | 759 | 109 66 | 53 | 0 | Actif | | +| CMOD_Titre | | 8 | 9 664 | 26 | 0 | Actif | | +| CMOD_Valider | | 829 | 5 141 | 35 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 1262 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +Superchamp : SC_Couleur +Image +| | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------------------------------------- | ---------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Couleur | 12 | 166 | 40 | 33 | 0 | Actif | | | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_Couleur | | 60 | 169 | 899 | 28 | 0 | Actif | | +| ------------ | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : SC_Couleur.CMOD_Couleur +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --------------- | --- | ------------ | --- | --- | --- | +| | | | ruegraL ruetuaH | | | | | | +elbisiV +nalP +| LIB_lib | 60 | 169 | 899 28 | 0 | Actif | Gauche | Centre | | +| ------- | --- | --- | ------ | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Actif +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP | | | | | laitini tatE | | staté siorT | +| --- | ---------- | --- | --- | --- | --- | ------------ | --- | ----------- | +Y noitisoP +| | | | ruegraL ruetuaH | | | | | | +| --- | --- | --- | --------------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| INT_Int | 833 | 133 | 135 | 29 | 0 | Actif | 1 | | +| ---------- | --- | --- | ----- | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 1263 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Annuler | 680 | 5 | 141 | 35 | 0 | Actif | | Normal | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 897 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Libellé | 91 | -27 774 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +| | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------------------- | ----------------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_AideFenetre | 865 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | --- | --- | ----- | --- | --- | ----- | --- | ---- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +| 06/08/2026 | | | Batik | | | | | 1264 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +Champ Modèle de champs : CMOD_Code +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_Texte | 456 109 294 | 53 0 | affichag | Texte | | Non | | +| --------- | ----------- | ---- | -------- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_LibCourt +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_Texte | 8 109 440 | 53 0 | Actif | Texte | | Non | | +| --------- | --------- | ---- | ----- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_Libelle +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_Texte | 8 48 960 | 53 0 | Actif | Texte | | Non | | +| ---------- | -------- | ---- | ----- | ----- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | 1265 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +Champ Modèle de champs : CMOD_Ordre +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_Texte | 759 109 | 66 53 | 0 | Actif | Numéri | | Non | | | | | +| --------- | ------- | ----- | --- | ----- | ------ | --- | --- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Titre +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | | | | +| --- | --- | --------------------- | ------- | ------- | --- | --- | ------------ | --- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | | | | | +elbisiV +nalP +| LIB_lib | | 8 | 9 664 | 26 | | 0 | Actif | Gauche | Centre | | | +| ------- | --- | --- | ----- | --- | --- | --- | ----- | ------ | ------ | --- | --- | +Champ Modèle de champs : CMOD_Valider +Bouton +| | | | | | | | | | BAT ehcuoT | notuob epyT | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | ---------- | ----------- | --- | +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | +| | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_Valider | | 829 | 5 | 141 | | 35 | 0 | Actif | | Normal | | +| ----------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | ------ | --- | +Fenêtre : FEN_Fiche_Parametre +| 06/08/2026 | | | | Batik | | | | | | | 1266 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +Champ Modèle de champs : CMOD_Actif +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 800 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1267 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Code +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +06/08/2026 Batik 1268 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +Champ Modèle de champs : CMOD_LibCourt +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Libelle +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1269 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +Champ Modèle de champs : CMOD_Ordre +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 700 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Titre +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1270 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_Couleur +Ordre navigation 10 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Largeur externe 960 +Hauteur externe 39 +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 Largeur +Taux anc. droite 120 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1271 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +Champ Modèle de champs : CMOD_Actif +Interrupteur : CMOD_Actif.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Ordre navigation 1 +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> +Liaison des données :oParametre.bActif +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1272 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1273 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 897 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 1274 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 1275 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 +06/08/2026 Batik 1276 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 +06/08/2026 Batik 1277 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +Ancrage Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Code +Champ de saisie : CMOD_Code.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 456 +Largeur interne 294 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 1278 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +Asc. horizontal Jamais +Asc. vertical Automatique +Complétion système de fichier Non +Saisie invalide Oui, non 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> +Liaison des données :oParametre.saCLE +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_LibCourt +06/08/2026 Batik 1279 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +Champ de saisie : CMOD_LibCourt.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 8 +Largeur interne 440 +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 20 +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 +06/08/2026 Batik 1280 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :oParametre.saibelleCourt +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Libelle +Champ de saisie : CMOD_Libelle.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 +06/08/2026 Batik 1281 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 8 +Largeur interne 960 +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 +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> +Liaison des données :oParametre.saLibelle +Gestion Euro Non +Personnaliser le picto AMI Non +06/08/2026 Batik 1282 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Ordre +Champ de saisie : CMOD_Ordre.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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. Droite +Position X interne 759 +Largeur interne 66 +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: 9 999 +06/08/2026 Batik 1283 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +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> +Liaison des données :oParametre.nOrdre +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1284 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +Champ Modèle de champs : CMOD_Titre +Libellé : CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1285 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1286 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +Superchamp : SC_Couleur +Champ Modèle de champs : SC_Couleur.CMOD_Couleur +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : SC_Couleur.IMG_Couleur +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 +06/08/2026 Batik 1287 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Informations sur les champs +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 50 Taux anc. hauteur 1000 +Champ Modèle de champs : SC_Couleur.CMOD_Couleur +Libellé : SC_Couleur.CMOD_Couleur.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1288 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Code +FEN_Fiche_Parametre +Code +Déclarations globales de FEN_Fiche_Parametre +procédure FEN_Fiche_Parametre(nIdParametre est un entier sur 8 octets) +oParametre est un MParametreMetier +si nIdParametre <= 0 alors +Ferme() +sinon +si HLitRecherchePremier(ParametreMetier,PA_PKID,nIdParametre) alors +FichierVersMémoire(oParametre,ParametreMetier) +sinon +Erreur("Paramètre introuvable") +Ferme() +fin +fin +Fin d'initialisation de FEN_Fiche_Parametre +Filtrer() +FEN_Fiche_Parametre +Code des champs +Déclarations globales de CMOD_Actif +salib = "Actif" +Fin d'initialisation de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Actif +06/08/2026 Batik 1289 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_Actif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Int ( CMOD_Actif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Int ( CMOD_Actif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Int ( CMOD_Actif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_Actif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1290 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +06/08/2026 Batik 1291 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Déclarations globales de CMOD_Code +salib = "Code" +Fin d'initialisation de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Code +06/08/2026 Batik 1292 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_LibCourt +salib = "Libelle court" +Fin d'initialisation de CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibCourt +06/08/2026 Batik 1293 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_LibCourt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_LibCourt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_LibCourt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_LibCourt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_LibCourt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Libelle +salib = "Libelle" +Fin d'initialisation de CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Libelle +06/08/2026 Batik 1294 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Libelle ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Libelle ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Libelle ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Libelle ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Libelle ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Ordre +salib = "Ordre" +Fin d'initialisation de CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ordre +06/08/2026 Batik 1295 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Ordre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Ordre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Ordre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Ordre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Ordre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1296 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Code des champs +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +Ferme() +fin +Déclarations globales de CMOD_Couleur +06/08/2026 Batik 1297 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Code des champs +salib = "Couleur associé au status du rendez-vous dans le Planning/Agenda" +Fin d'initialisation de CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Couleur ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Couleur ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Clic sur IMG_Couleur ( SC_Couleur ) +saCouleur est une chaîne ANSI = Ouvre(FEN_Choix_Couleur,IMG_Couleur..CouleurFond) +si saCouleur <> "" alors +IMG_Couleur..CouleurFond = saCouleur +fin +FEN_Fiche_Parametre +Procédures +Procédure locale Enregistrer +06/08/2026 Batik 1298 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre › Procédures +procédure Enregistrer() +EcranVersSource() +si oParametre:saCategorie = cParam_StatusRDV alors +stParamStatus est un ST_Param_Status_RDV +stParamStatus.sCouleur = IMG_Couleur..CouleurFond +Sérialise(stParamStatus,oParametre:saParametre,psdJSON) +fin +renvoyer oParametre:Enregistrer() +Procédure locale Filtrer +procédure Filtrer() +si gtbEnteteParametresMetier[oParametre:saCategorie]..Existe _et_ gtbEnteteParametresMetier[oParametre: +saCategorie] <> "" alors +CMOD_Titre.LIB_lib = gtbEnteteParametresMetier[oParametre:saCategorie] +fin +si oParametre:saCategorie = cParam_StatusRDV alors +SC_Couleur..Visible = Vrai +si oParametre:saParametre <> "" alors +stParamStatus est un ST_Param_Status_RDV +Désérialise(stParamStatus,oParametre:saParametre,psdJSON) +si stParamStatus.sCouleur <> "" alors +IMG_Couleur..CouleurFond = stParamStatus.sCouleur +fin +fin +sinon +SC_Couleur..Visible = Faux +fin +SourceVersEcran() +06/08/2026 Batik 1299 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Image +FEN_Fiche_Parametre_Type_Temps +Image +FEN_Fiche_Parametre_Type_Temps +Informations générales +FEN_Fiche_Parametre_Type_Temps +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Fiche_Parametre_Type_Temps.wdw +Créé par SMR +06/08/2026 Batik 1300 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations générales +| Date de création | | 31/07/2025 17:34:04 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 05/03/2026 19:26:34 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Paramétrage des types de temps +| Position X | 0 Position Y | | 0 Largeur | 1010 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| 06/08/2026 | | | Batik | | 1301 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations générales +| 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 | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Champ de saisie | | 9 | Libellé | | | 9 | +| --- | ------------------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Bouton | | 2 | Interrupteur | | | 1 | +| | Image | | 5 | Table | | | 1 | +| | Superchamp | | 7 | Champ Modèle de champs | | | 29 | +| | Option d'interrupteur | | 1 | Colonne de table | | | 4 | +| | Case barre de message | | 1 | Bouton segmenté | | | 2 | +| | Option de bouton segmenté | | 4 | | | | | +Nombre d'éléments dans la fenêtre : 75 +FEN_Fiche_Parametre_Type_Temps +Informations sur les champs +Fenêtre : FEN_Fiche_Parametre_Type_Temps +Superchamp +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| SC_Couleur | | 8 | 164 999 | 40 | 0 | Actif | | +| ---------- | --- | --- | ------- | --- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | | 1302 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Actif | 864 | 133 137 | 29 | 0 | Actif | | +| --------------- | --- | ------- | --- | --- | ----- | --- | +| CMOD_Annuler | 713 | 5 141 | 35 | 0 | Actif | | +| CMOD_BordFen | 0 | -29 922 | 29 | 0 | Actif | | +| CMOD_Code | 512 | 110 269 | 53 | 0 | Actif | | +| CMOD_Div1 | 8 | 209 237 | 168 | 0 | Actif | | +| CMOD_Div2 | 254 | 209 238 | 168 | 0 | Actif | | +| CMOD_Div3 | 507 | 209 238 | 168 | 0 | Actif | | +| CMOD_Div4 | 759 | 209 238 | 167 | 0 | Actif | | +| CMOD_Div5 | 7 | 375 238 | 167 | 0 | Actif | | +| CMOD_LibCourt | 8 | 109 496 | 53 | 0 | Actif | | +| CMOD_LibTypeRDV | 253 | 378 744 | 26 | 0 | Actif | | +| CMOD_Libelle | 8 | 48 993 | 53 | 0 | Actif | | +| CMOD_Ordre | 789 | 109 67 | 53 | 0 | Actif | | +| CMOD_SansNom7 | 253 | 412 744 | 233 | 0 | Actif | | +| CMOD_Titre | 8 | 9 697 | 26 | 0 | Actif | | +| CMOD_Valider | 862 | 5 141 | 35 | 0 | Actif | | +Superchamp : SC_Couleur +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | ------- | --- | ------------ | --------- | ---------- | +| | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Couleur | 12 168 | 40 33 | 0 | Actif | | | +| ----------- | ------ | ----- | --- | ----- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_Couleur | 60 | 171 938 | 28 | 0 | Actif | | +| ------------ | --- | ------- | --- | --- | ----- | ---- | +| 06/08/2026 | | Batik | | | | 1303 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Champ Modèle de champs : SC_Couleur.CMOD_Couleur +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 60 171 | 938 | 28 | 0 | Actif | Gauche | Centre | | +| ------- | ------ | --- | --- | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Actif +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP | | | | | laitini tatE | | staté siorT | +| --- | ---------- | --- | --- | --- | --- | ------------ | --- | ----------- | +Y noitisoP +| | | ruegraL | ruetuaH | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| INT_Int | 864 133 | 137 | 29 | 0 | Actif | | | 1 | +| ------- | ------- | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_Annuler +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| BTN_Annuler | 713 | 5 | 141 | 35 | 0 | Actif | | Normal | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : CMOD_BordFen +| 06/08/2026 | | | Batik | | | | | 1304 | +| ---------- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Superchamp +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_SansNom1 | | | | 0 | -29 | 922 | 30 | | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| LIB_Libellé | | 91 | -27 | 799 | 25 | 0 | | Actif | Gauche | Centre | | +| ----------- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | ------- | ------------ | --------- | ---------- | +| | | | | | | ruetuaH | | | | cilc cevA | | +| | | | | | ruegraL | | | elbisiV | | | | +nalP +| IMG_AideFenetre | | | 890 | -26 | 28 | 23 | 0 | | Actif | | | +| -------------------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | | | 61 | -26 | 28 | 23 | 0 | | Actif | | | +| IMG_Logo_secondaire_violet | | | 2 | -27 | 34 | 26 | 0 | | Actif | | | +| IMG_SombreClair | | | 38 | -26 | 21 | 23 | 0 | | Actif | | | +Champ Modèle de champs : CMOD_Code +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_Texte | 512 110 | 269 | 53 | 0 affichag | | Texte | | Non | | | | +| ---------- | ------- | --- | --- | ---------- | ----- | ----- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | | Batik | | | | | | 1305 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Div1 +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_Div | 12 | 214 | 228 | 157 | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_Div1.SC_Div +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| CMOD_LibObligatoire | 17 | 220 | 220 | 88 | 0 | Actif | | +| ------------------- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_NbMin | 17 | 308 | 220 | 53 | 0 | Actif | | +Champ Modèle de champs : CMOD_Div1.SC_Div.CMOD_LibObligatoire +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | ruegraL | elbisiV | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +nalP +| LIB_lib | 17 220 | 220 88 | 0 | Actif | Gauche | Centre | | +| ------- | ------ | ------ | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Div1.SC_Div.CMOD_NbMin +| 06/08/2026 | | Batik | | | | | 1306 | +| ---------- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +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_Texte | 17 308 220 | 53 0 | Actif | Numéri | Non | | | | +| --------- | ---------- | ---- | ----- | ------ | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Div2 +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_Div | | 258 | 214 | 229 | 157 | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_Div2.SC_Div +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_HeureDeb | | 263 | 309 | 105 | 53 | 0 | Actif | | +| -------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_HeureFin | | 371 | 309 | 109 | 53 | 0 | Actif | | +| CMOD_LibHeures | | 263 | 221 | 218 | 88 | 0 | Actif | | +Champ Modèle de champs : CMOD_Div2.SC_Div.CMOD_HeureDeb +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_Texte | 263 309 105 | 53 0 | Actif | Heure | Non | | | | +| ---------- | ----------- | ---- | ----- | ----- | --- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 1307 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Div2.SC_Div.CMOD_HeureFin +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_Texte | 371 309 | 109 | 53 0 | Actif | Heure | | Non | | | +| --------- | ------- | --- | ---- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Div2.SC_Div.CMOD_LibHeures +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | --- | ---------- | ---------- | ------- | --- | --- | ------------ | --- | --- | +| | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_lib | | 263 | 221 | 218 88 | 0 | | Actif Gauche | Centre | | +| ------- | --- | --- | --- | ------ | --- | --- | ------------ | ------ | --- | +Champ Modèle de champs : CMOD_Div3 +Superchamp +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| SC_Div | | | 511 | 214 | 229 | 157 | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_Div3.SC_Div +| 06/08/2026 | | | | Batik | | | | | 1308 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_LibDure | | | 518 | 220 | 218 | 88 | 0 | Actif | | +| ------------ | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_Max | | | 629 | 308 | 106 | 53 | 0 | Actif | | +| CMOD_Min | | | 518 | 308 | 111 | 53 | 0 | Actif | | +Champ Modèle de champs : CMOD_Div3.SC_Div.CMOD_LibDure +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_lib | | 518 | 220 | 218 88 | 0 | Actif | Gauche | Centre | | +| ------- | --- | --- | --- | ------ | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Div3.SC_Div.CMOD_Max +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 +Numéri +| SAI_Texte | 629 308 | 106 | 53 0 | Actif | | Non | | | | +| --------- | ------- | --- | ---- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Div3.SC_Div.CMOD_Min +| 06/08/2026 | | | | Batik | | | | | 1309 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +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_Texte | 518 308 111 | 53 0 | Actif | Numéri | Non | | | | +| --------- | ----------- | ---- | ----- | ------ | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Div4 +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_Div | | 763 | 214 | 229 | 156 | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_Div4.SC_Div +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Devis | | 766 | 308 | 223 | 53 | 0 | Actif | | +| ------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_LibDevis | | 766 | 220 | 223 | 88 | 0 | Actif | | +Champ Modèle de champs : CMOD_Div4.SC_Div.CMOD_Devis +Bouton segmenté +BAT ehcuoT +| | | X noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | --- | --- | --- | --- | ------------ | --- | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BS_Choix | | 766 | 308 | 223 | 53 | 0 | Actif | | +| ---------- | --- | --- | ----- | --- | --- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | | | 1310 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Div4.SC_Div.CMOD_LibDevis +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| LIB_lib | 766 | 220 223 | 88 0 | Actif | Gauche | Centre | | +| ------- | --- | ------- | ---- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Div5 +Superchamp +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | ---------- | +| | | X noitisoP Y noitisoP | | | | | | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_Div | | 11 | 380 229 | 156 | 0 | Actif | | +| ------ | --- | --- | ------- | --- | --- | ----- | --- | +Superchamp : CMOD_Div5.SC_Div +Champ Modèle de champs +BAT ehcuoT +laitini tatE +| | | X noitisoP Y noitisoP | | | | | | +| --- | --- | --------------------- | ------- | ------- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Compta | | 14 | 474 223 | 53 | 0 | Actif | | +| -------------- | --- | --- | ------- | --- | --- | ----- | --- | +| CMOD_LibCompta | | 14 | 386 223 | 88 | 0 | Actif | | +Champ Modèle de champs : CMOD_Div5.SC_Div.CMOD_Compta +| 06/08/2026 | | | Batik | | | | 1311 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Bouton segmenté +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BS_Choix | | | 14 | | 474 | 223 | | 53 | 0 | Actif | | +| -------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Div5.SC_Div.CMOD_LibCompta +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| LIB_lib | | 14 | 386 | 223 | 88 | | 0 | Actif | Gauche | Centre | | +| ------- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_LibCourt +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 | | | | | +ruetuaH +| | | ruegraL | | elbisiV | | | | | | | | +| --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_Texte | 8 109 | 496 | 53 | 0 | Actif | Texte | | Non | | | | +| --------- | ----- | --- | --- | --- | ----- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_LibTypeRDV +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_lib | | 253 | 378 | 744 | 26 | | 0 | Actif | Gauche | Centre | | +| ---------- | --- | --- | --- | --- | ----- | --- | --- | ----- | ------ | ------ | ---- | +| 06/08/2026 | | | | | Batik | | | | | | 1312 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Libelle +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_Texte | 8 48 | 993 53 | 0 | Actif | Texte | | Non | | +| --------- | ---- | ------ | --- | ----- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_Ordre +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_Texte | 789 109 | 67 53 | 0 | Actif | Numéri | | Non | | +| --------- | ------- | ----- | --- | ----- | ------ | --- | --- | --- | +Champ Modèle de champs : CMOD_SansNom7 +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +lennoitroporp .csA +.loc .gifnoc .oméM +)(ertliFH resilitU ruesnecsa elluB EERTNE noitseG +| | | | | | | | .gerne egacolB noitcelésitluM | eércna ennoloC 5.5 elbitapmoC | +| --- | --- | --- | --- | --- | --- | --- | ----------------------------- | ----------------------------- | +edacsac eisiaS +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | --- | +sruocraP +ruegraL ruetuaH +elbisiV +| | | | nalP | | elbaT | | | | +| ---------- | ------- | ------- | ---- | ----- | ------ | --- | --- | ---- | +| TABLE_Info | 255 414 | 738 227 | 0 | Actif | Mémoir | | | 4 | +| 06/08/2026 | | | | Batik | | | | 1313 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Table : CMOD_SansNom7.TABLE_Info +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_PKID | 880 | Grisé | | Droite | Centre | Numériq | | | +| COL_Code | 100 | Grisé | | Gauche | Centre | Texte | | | +| COL_Choix | 175 | Actif | | Centre | Centre | | | | +| COL_Libelle | 544 | affichag | | Gauche | Centre | Texte | | | +Champ Modèle de champs : CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | 8 | 9 697 | 26 | 0 | Actif | Gauche | Centre | | +| ------- | --- | ----- | --- | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Valider +Bouton +notuob epyT +| | | | | | | laitini tatE | BAT ehcuoT | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | ---------- | --- | +| | X noitisoP | Y noitisoP | | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Valider | 862 | 5 | 141 | 35 | 0 | Actif | | Normal | +| ----------- | --- | --- | ----- | --- | --- | ----- | --- | ------ | +| 06/08/2026 | | | Batik | | | | | 1314 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Fenêtre : FEN_Fiche_Parametre_Type_Temps +Champ Modèle de champs : CMOD_Actif +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 800 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1315 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Code +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +06/08/2026 Batik 1316 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Div1 +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div2 +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 250 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +06/08/2026 Batik 1317 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Div3 +Ordre navigation 13 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div4 +Ordre navigation 14 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 750 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +06/08/2026 Batik 1318 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Div5 +Ordre navigation 15 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 0 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_LibCourt +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Batik 1319 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_LibTypeRDV +Ordre navigation 16 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 250 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Libelle +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1320 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Ordre +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 700 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom7 +Ordre navigation 17 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite, largeur et hauteur +Taux anc. droite 250 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +06/08/2026 Batik 1321 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Titre +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1322 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Superchamp : SC_Couleur +Ordre navigation 10 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Largeur externe 999 +Hauteur externe 40 +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 Largeur +Taux anc. droite 120 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Actif +Interrupteur : CMOD_Actif.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Ordre navigation 1 +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 +06/08/2026 Batik 1323 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +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> +Liaison des données :oParametre.bActif +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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 +06/08/2026 Batik 1324 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 922 +Hauteur externe 30 +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 +06/08/2026 Batik 1325 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Texte Markdown Non +Source de remplissage Table chargée en mémoire +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1326 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 +06/08/2026 Batik 1327 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 1328 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Taux anc. droite 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Code +06/08/2026 Batik 1329 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Champ de saisie : CMOD_Code.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 512 +Largeur interne 269 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 1330 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :oParametre.saCLE +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div1 +Superchamp : CMOD_Div1.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 226 +Hauteur externe 155 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +06/08/2026 Batik 1331 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Div1.SC_Div +Champ Modèle de champs : CMOD_Div1.SC_Div.CMOD_LibObligatoire +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div1.SC_Div.CMOD_NbMin +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Batik 1332 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 700 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div1.SC_Div.CMOD_LibObligatoire +Libellé : CMOD_Div1.SC_Div.CMOD_LibObligatoire.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1333 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Div1.SC_Div.CMOD_NbMin +Champ de saisie : CMOD_Div1.SC_Div.CMOD_NbMin.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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. Droite +Position X interne 17 +Largeur interne 220 +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: 99 999 +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 +06/08/2026 Batik 1334 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › 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> +Liaison des données :stParamTemps.obligatoire +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div2 +Superchamp : CMOD_Div2.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 +06/08/2026 Batik 1335 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Largeur externe 227 +Hauteur externe 155 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Div2.SC_Div +Champ Modèle de champs : CMOD_Div2.SC_Div.CMOD_HeureDeb +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 250 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Batik 1336 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Div2.SC_Div.CMOD_HeureFin +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div2.SC_Div.CMOD_LibHeures +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 250 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1337 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Div2.SC_Div.CMOD_HeureDeb +Champ de saisie : CMOD_Div2.SC_Div.CMOD_HeureDeb.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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. Droite +Position X interne 263 +Largeur interne 105 +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 +Masque affichage FR: HH:MM +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 +06/08/2026 Batik 1338 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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> +Liaison des données :stParamTemps.heure_debut +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div2.SC_Div.CMOD_HeureFin +Champ de saisie : CMOD_Div2.SC_Div.CMOD_HeureFin.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 1339 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +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 371 +Largeur interne 109 +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 +Masque affichage FR: HH:MM +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 +06/08/2026 Batik 1340 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :stParamTemps.heure_fin +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div2.SC_Div.CMOD_LibHeures +Libellé : CMOD_Div2.SC_Div.CMOD_LibHeures.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse <Aucun> +Unicode Non +Transforme le & Non +06/08/2026 Batik 1341 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › 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 +Mise à blanc Oui +Texte Markdown Non +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 +Champ Modèle de champs : CMOD_Div3 +Superchamp : CMOD_Div3.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 227 +Hauteur externe 155 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1342 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Superchamp : CMOD_Div3.SC_Div +Champ Modèle de champs : CMOD_Div3.SC_Div.CMOD_LibDure +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div3.SC_Div.CMOD_Max +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Batik 1343 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Div3.SC_Div.CMOD_Min +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div3.SC_Div.CMOD_LibDure +Libellé : CMOD_Div3.SC_Div.CMOD_LibDure.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse <Aucun> +Unicode Non +Transforme le & Non +06/08/2026 Batik 1344 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › 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 +Mise à blanc Oui +Texte Markdown Non +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 +Champ Modèle de champs : CMOD_Div3.SC_Div.CMOD_Max +Champ de saisie : CMOD_Div3.SC_Div.CMOD_Max.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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. Droite +Position X interne 629 +Largeur interne 106 +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: 9 999 999 999 +Borne dans bulle Non +Borne dans texte d'indication Oui +06/08/2026 Batik 1345 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +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> +Liaison des données :stParamTemps.temps_max +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1346 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Div3.SC_Div.CMOD_Min +Champ de saisie : CMOD_Div3.SC_Div.CMOD_Min.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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. Droite +Position X interne 518 +Largeur interne 111 +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: 9 999 999 999 +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 +06/08/2026 Batik 1347 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › 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> +Liaison des données :stParamTemps.temps_min +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div4 +Superchamp : CMOD_Div4.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 +06/08/2026 Batik 1348 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Largeur externe 227 +Hauteur externe 154 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Div4.SC_Div +Champ Modèle de champs : CMOD_Div4.SC_Div.CMOD_Devis +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 750 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1349 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Div4.SC_Div.CMOD_LibDevis +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 750 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div4.SC_Div.CMOD_Devis +Bouton segmenté : CMOD_Div4.SC_Div.CMOD_Devis.BS_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Ordre navigation 1 +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é) +Espace entre options 4 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit 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 +Valeur persistante Non +Mode bouton segmenté Sélecteur +06/08/2026 Batik 1350 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Texte Markdown Non +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 +Champ Modèle de champs : CMOD_Div4.SC_Div.CMOD_LibDevis +Libellé : CMOD_Div4.SC_Div.CMOD_LibDevis.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1351 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Div5 +Superchamp : CMOD_Div5.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 227 +Hauteur externe 154 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Div5.SC_Div +Champ Modèle de champs : CMOD_Div5.SC_Div.CMOD_Compta +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +06/08/2026 Batik 1352 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 750 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div5.SC_Div.CMOD_LibCompta +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 750 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div5.SC_Div.CMOD_Compta +Bouton segmenté : CMOD_Div5.SC_Div.CMOD_Compta.BS_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Ordre navigation 1 +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é) +06/08/2026 Batik 1353 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Espace entre options 4 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit 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 +Valeur persistante Non +Mode bouton segmenté Sélecteur +Texte Markdown Non +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 +Champ Modèle de champs : CMOD_Div5.SC_Div.CMOD_LibCompta +Libellé : CMOD_Div5.SC_Div.CMOD_LibCompta.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 +06/08/2026 Batik 1354 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Mise à blanc Oui +Texte Markdown Non +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 +Champ Modèle de champs : CMOD_LibCourt +Champ de saisie : CMOD_LibCourt.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 8 +Largeur interne 496 +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 20 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +06/08/2026 Batik 1355 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › 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 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> +Liaison des données :oParametre.saibelleCourt +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1356 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_LibTypeRDV +Libellé : CMOD_LibTypeRDV.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1357 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Libelle +Champ de saisie : CMOD_Libelle.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 8 +Largeur interne 993 +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 +06/08/2026 Batik 1358 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › 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> +Liaison des données :oParametre.saLibelle +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Ordre +Champ de saisie : CMOD_Ordre.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +06/08/2026 Batik 1359 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +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 789 +Largeur interne 67 +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: 9 999 +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> +06/08/2026 Batik 1360 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Liaison des données :oParametre.nOrdre +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom7 +Table : CMOD_SansNom7.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 1361 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1362 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Table : CMOD_SansNom7.TABLE_Info +Colonne de table : CMOD_SansNom7.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : CMOD_SansNom7.TABLE_Info.COL_Code (2) +Titre FR: Code +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 +06/08/2026 Batik 1363 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › 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 : CMOD_SansNom7.TABLE_Info.COL_Choix (3) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +06/08/2026 Batik 1364 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Colonne de table : CMOD_SansNom7.TABLE_Info.COL_Libelle (4) +Titre FR: Type de rendez-vous +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 +Champ Modèle de champs : CMOD_Titre +Libellé : CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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> +06/08/2026 Batik 1365 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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 +06/08/2026 Batik 1366 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : SC_Couleur +Champ Modèle de champs : SC_Couleur.CMOD_Couleur +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1367 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Image : SC_Couleur.IMG_Couleur +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 50 Taux anc. hauteur 1000 +Champ Modèle de champs : SC_Couleur.CMOD_Couleur +Libellé : SC_Couleur.CMOD_Couleur.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Batik 1368 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Fiche_Parametre_Type_Temps +Code +Déclarations globales de FEN_Fiche_Parametre_Type_Temps +procédure FEN_Fiche_Parametre_Type_Temps(nIdParametre est un entier sur 8 octets) +oParametre est un MParametreMetier +stParamTemps est un ST_Param_TypeTempsrdv +si nIdParametre <= 0 alors +Ferme() +sinon +si HLitRecherchePremier(ParametreMetier,PA_PKID,nIdParametre) alors +FichierVersMémoire(oParametre,ParametreMetier) +sinon +Erreur("Paramètre introuvable") +si pas EnModeTest() alors +Ferme() +fin +fin +fin +Fin d'initialisation de FEN_Fiche_Parametre_Type_Temps +06/08/2026 Batik 1369 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code +Filtrer() +FEN_Fiche_Parametre_Type_Temps +Code des champs +Déclarations globales de CMOD_Actif +salib = "Actif" +Fin d'initialisation de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_Actif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Int ( CMOD_Actif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Int ( CMOD_Actif ) +06/08/2026 Batik 1370 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Int ( CMOD_Actif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_Actif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +06/08/2026 Batik 1371 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Déclarations globales de CMOD_Code +06/08/2026 Batik 1372 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +salib = "Code" +Fin d'initialisation de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Div1 +06/08/2026 Batik 1373 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Div1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Div1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Div1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Div1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Div1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Div1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1374 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_LibObligatoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibObligatoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibObligatoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibObligatoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibObligatoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibObligatoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibObligatoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_LibObligatoire ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_LibObligatoire ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_NbMin +salib = "Minutes" +Fin d'initialisation de CMOD_NbMin +06/08/2026 Batik 1375 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NbMin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NbMin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NbMin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NbMin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NbMin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NbMin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NbMin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_NbMin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_NbMin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_NbMin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NbMin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Div2 +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1376 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Div2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Div2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Div2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Div2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Div2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Div2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +06/08/2026 Batik 1377 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_HeureDeb +salib = "De :" +Fin d'initialisation de CMOD_HeureDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_HeureDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_HeureDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_HeureDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_HeureDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_HeureDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_HeureDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_HeureDeb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_HeureDeb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_HeureDeb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_HeureDeb ) +06/08/2026 Batik 1378 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_HeureDeb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_HeureFin +salib = "à :" +Fin d'initialisation de CMOD_HeureFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_HeureFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_HeureFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_HeureFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_HeureFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_HeureFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_HeureFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_HeureFin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_HeureFin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_HeureFin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_HeureFin ) +06/08/2026 Batik 1379 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_HeureFin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_LibHeures +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibHeures +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibHeures +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibHeures +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibHeures +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibHeures +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibHeures +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_LibHeures ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_LibHeures ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Div3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Div3 +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1380 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +ExécuteAncêtre +Entrée dans CMOD_Div3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Div3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Div3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Div3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Div3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +06/08/2026 Batik 1381 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_LibDure +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibDure +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibDure +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibDure +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibDure +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibDure +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibDure +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_LibDure ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_LibDure ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Max +salib = "Maximum" +Fin d'initialisation de CMOD_Max +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Max +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Max +06/08/2026 Batik 1382 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Max +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Max +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Max +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Max +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Max ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Max ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Max ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Max ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Max ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Min +salib = "Minimum" +Fin d'initialisation de CMOD_Min +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Min +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Min +06/08/2026 Batik 1383 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Min +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Min +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Min +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Min +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Min ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Min ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Min ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Min ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Min ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Div4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Div4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Div4 +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1384 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +ExécuteAncêtre +Sortie de CMOD_Div4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Div4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Div4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Div4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Devis +06/08/2026 Batik 1385 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BS_Choix ( CMOD_Devis ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de BS_Choix ( CMOD_Devis ) +procédure OptionModifiée(IndiceOptionModifiée) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(IndiceOptionModifiée) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de BS_Choix ( CMOD_Devis ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_LibDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibDevis +06/08/2026 Batik 1386 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_LibDevis ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_LibDevis ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Div5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Div5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Div5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Div5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Div5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Div5 +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1387 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +ExécuteAncêtre +A chaque modification de CMOD_Div5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Compta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Compta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Compta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Compta +06/08/2026 Batik 1388 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Compta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Compta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Compta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BS_Choix ( CMOD_Compta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de BS_Choix ( CMOD_Compta ) +procédure OptionModifiée(IndiceOptionModifiée) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(IndiceOptionModifiée) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de BS_Choix ( CMOD_Compta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_LibCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibCompta +06/08/2026 Batik 1389 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_LibCompta ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_LibCompta ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_LibCourt +salib = "Libelle court" +Fin d'initialisation de CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_LibCourt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_LibCourt ) +06/08/2026 Batik 1390 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_LibCourt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_LibCourt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_LibCourt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Libelle +salib = "Libelle" +Fin d'initialisation de CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Libelle ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Libelle ) +06/08/2026 Batik 1391 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Libelle ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Libelle ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Libelle ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_LibTypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibTypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibTypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibTypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibTypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibTypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibTypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_LibTypeRDV ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_LibTypeRDV ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Ordre +06/08/2026 Batik 1392 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +salib = "Ordre" +Fin d'initialisation de CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Ordre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Ordre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Ordre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Ordre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Ordre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom7 +06/08/2026 Batik 1393 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1394 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +06/08/2026 Batik 1395 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1396 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +Ferme() +fin +Déclarations globales de CMOD_Couleur +salib = "Couleur associé au type de temps dans le Planning/Agenda" +Fin d'initialisation de CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Couleur ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Couleur ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Clic sur IMG_Couleur ( SC_Couleur ) +06/08/2026 Batik 1397 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Code des champs +saCouleur est une chaîne ANSI = Ouvre(FEN_Choix_Couleur,IMG_Couleur..CouleurFond) +si saCouleur <> "" alors +IMG_Couleur..CouleurFond = saCouleur +fin +FEN_Fiche_Parametre_Type_Temps +Procédures +Procédure locale Enregistrer +procédure Enregistrer() +EcranVersSource() +si oParametre:saCategorie = cparam_TypeTemps alors +stParamTemps.sCouleur = IMG_Couleur..CouleurFond +stParamTemps.type_rdv = "" +stParamTemps.type_act = "" +pour toute ligne b de TABLE_Info +si COL_Code[b] <> "" _et_ COL_Choix[b] alors +si stParamTemps.type_rdv <> "" alors +stParamTemps.type_rdv += " ; " +fin +stParamTemps.type_rdv += COL_Code[b] +fin +/*********** A supprimer ancien version ****************/ +si COL_Code[b] <> "" _et_ COL_Choix[b] _et_ gtabParametresMetierCode[cParam_TypeRDV][COL_Code[ +b]]..Existe _et_ gtabParametresMetierCode[cParam_TypeRDV][COL_Code[b]].saValeur <> "" alors +si stParamTemps.type_act <> "" alors +stParamTemps.type_act += " ; " +fin +stParamTemps.type_act += gtabParametresMetierCode[cParam_TypeRDV][COL_Code[b]].saValeur +fin +fin +stParamTemps.devis = DonneBooleanSelonOuiNon(CMOD_Devis.BS_Choix) +stParamTemps.ComptSuiviTemp = DonneBooleanSelonOuiNon(CMOD_Compta.BS_Choix) +Sérialise(stParamTemps,oParametre:saParametre,psdJSON) +fin +renvoyer oParametre:Enregistrer() +Procédure locale Filtrer +procédure Filtrer() +si gtbEnteteParametresMetier[oParametre:saCategorie]..Existe _et_ gtbEnteteParametresMetier[oParametre: +saCategorie] <> "" alors +CMOD_Titre.LIB_lib = gtbEnteteParametresMetier[oParametre:saCategorie] +fin +06/08/2026 Batik 1398 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_Temps › Procédures +CMOD_Div1.CMOD_LibObligatoire.LIB_lib = "La saisie du temps ("+oParametre:saLibelle+ +") dans l'application mobile est obligatoire dès que la durée du rendez-vous dépasse : " +CMOD_Div2.CMOD_LibHeures.LIB_lib = "Les heures autorisées de saisie pour le type de temps ("+ +oParametre:saLibelle+") dans l'application mobile sont : " +CMOD_Div3.CMOD_LibDure.LIB_lib = "Durée limite du temps ("+oParametre:saLibelle+ +") par rendez-vous" +CMOD_Div4.CMOD_LibDevis.LIB_lib = "Le type de temps ("+oParametre:saLibelle+ +") est pris en compte dans le devis " +CMOD_Div5.CMOD_LibCompta.LIB_lib = "Le type de temps ("+oParametre:saLibelle+ +") est comptabilisé dans le suivi du temps (Cumul pointage) " +CMOD_LibTypeRDV.LIB_lib = "Les collaborateurs pourront saisir le type de temps ("+ +oParametre:saLibelle+") dans les types de rendez-vous suivants :" +si oParametre:saCategorie = cparam_TypeTemps alors +si oParametre:saParametre <> "" alors +Désérialise(stParamTemps,oParametre:saParametre,psdJSON) +fin +fin +si stParamTemps:sCouleur <> "" alors +IMG_Couleur..CouleurFond = stParamTemps:sCouleur +fin +CMOD_Devis.BS_Choix = DonneOuiNonSelonBoolean(stParamTemps.devis) +CMOD_Compta.BS_Choix = DonneOuiNonSelonBoolean(stParamTemps.ComptSuiviTemp) +i est un entier +TableSupprimeTout(TABLE_Info) +pour tout oParam de gtabParametresMetierCode[cParam_TypeRDV] +si oParam.saParametre <> "" _et_ oParam:ParamJson <> "" _et_ oParam:ParamJson.Envoi_mobile alors +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = oParam.nPKID +COL_Code[i] = oParam.saCLE +COL_Libelle[i] = oParam.saLibelle +fin +fin +tbTableauTypeRDV est un tableau de chaînes ANSI +si stParamTemps.type_rdv <> "" alors +ChaîneVersTableau(stParamTemps.type_rdv,tbTableauTypeRDV," ; ") +fin +saTypeRdv est une chaîne ANSI +pour tout saType de tbTableauTypeRDV +saTypeRdv = SansEspace(saType) +si saTypeRdv <> "" _et_ gtabParametresMetierCode[cParam_TypeRDV][saTypeRdv]..Existe alors +i = TableCherche(COL_PKID,gtabParametresMetierCode[cParam_TypeRDV][saTypeRdv].nPKID) +si i > 0 alors +COL_Choix[i] = Vrai +fin +fin +fin +SourceVersEcran() +06/08/2026 Batik 1399 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Image +FEN_Fiche_Parametre_Type_RDV +Image +FEN_Fiche_Parametre_Type_RDV +Informations générales +FEN_Fiche_Parametre_Type_RDV +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Fiche_Parametre_Type_RDV.wdw +Créé par SMR +Date de création 31/07/2025 17:34:04 +Dernière modification par susana@applilogik.fr +Date dernière modification 05/03/2026 19:26:34 +Type fenêtre Fenêtre libre +06/08/2026 Batik 1400 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations générales +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| ------------------------ | --- | ----------------------------- | --- | --- | --- | +Note pour la documentation technique +FR: Paramétrage des types de rendez-vous +| Position X | 0 Position Y | | 0 Largeur | 1010 Hauteur | 612 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 1401 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations générales +| Adapte Taille contenu | Non | | | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | --- | +| Assombri quand inactif | Oui | | | | | | | +| Déplace souris sur bouton par | Non | | | | | | | +| Compact. barres outils | Non | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Champ de saisie | | 4 | Libellé | | | 8 | +| --- | ------------------------- | --- | --- | --------------------- | --- | --- | --- | +| | Bouton | | 2 | Interrupteur | | | 1 | +| | Image | | 5 | Superchamp | | | 7 | +| | Champ Modèle de champs | | 25 | Option d'interrupteur | | | 1 | +| | Case barre de message | | 1 | Bouton segmenté | | | 5 | +| | Option de bouton segmenté | | 10 | | | | | +Nombre d'éléments dans la fenêtre : 69 +FEN_Fiche_Parametre_Type_RDV +Informations sur les champs +Fenêtre : FEN_Fiche_Parametre_Type_RDV +Superchamp +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| SC_Couleur | | 8 | 164 999 | 40 | 0 | Actif | | +| ---------- | --- | --- | ------- | --- | --- | ----- | --- | +Champ Modèle de champs +BAT ehcuoT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| CMOD_Actif | | 864 | 133 137 | 29 | 0 | Actif | | +| ------------ | --- | --- | ------- | --- | --- | ----- | ---- | +| CMOD_Annuler | | 713 | 5 141 | 35 | 0 | Actif | | +| CMOD_BordFen | | 0 | -29 922 | 29 | 0 | Actif | | +| CMOD_Code | | 512 | 109 263 | 53 | 0 | Actif | | +| CMOD_Div1 | | 136 | 209 237 | 168 | 0 | Actif | | +| CMOD_Div2 | | 382 | 209 238 | 168 | 0 | Actif | | +| CMOD_Div3 | | 635 | 209 238 | 168 | 0 | Actif | | +| CMOD_Div4 | | 263 | 385 238 | 167 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 1402 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Div5 | | 507 | 385 | 238 | 167 | 0 | Actif | | +| ------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_LibCourt | | 8 | 109 | 496 | 53 | 0 | Actif | | +| CMOD_Libelle | | 8 | 48 | 993 | 53 | 0 | Actif | | +| CMOD_Ordre | | 783 | 109 | 69 | 53 | 0 | Actif | | +| CMOD_Titre | | 8 | 12 | 697 | 26 | 0 | Actif | | +| CMOD_Valider | | 862 | 5 | 141 | 35 | 0 | Actif | | +Superchamp : SC_Couleur +Image +| | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --------------------------------------- | ---------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +cilc cevA +ruegraL ruetuaH +elbisiV +nalP +| IMG_Couleur | 12 | 168 | 40 | 33 | 0 | Actif | | | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Couleur | | 60 | 171 | 938 | 28 | 0 | Actif | | +| ------------ | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : SC_Couleur.CMOD_Couleur +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_lib | 60 | 171 938 | 28 | 0 | Actif | Gauche | Centre | | +| ---------- | --- | ------- | ----- | --- | ----- | ------ | ------ | ---- | +| 06/08/2026 | | | Batik | | | | | 1403 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Actif +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | | laitini tatE BAT ehcuoT | | | staté siorT | +| --- | --- | --- | --- | --- | --- | --- | ----------------------- | --- | --- | ----------- | +X noitisoP Y noitisoP +| | | | ruegraL ruetuaH | | | | | | | | +| --- | --- | --- | --------------- | --- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| INT_Int | 864 | 133 | 137 | 29 | 0 | Actif | | | 1 | | +| ------- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Annuler +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Annuler | 713 | | 5 141 | | 35 | 0 | Actif | | Normal | | +| ----------- | --- | --- | ----- | --- | --- | --- | ----- | --- | ------ | --- | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 922 | | 30 | 0 | | Actif | | +| ----------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------- | --- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | | laitini tatE | | | | | +| --- | --------------------- | --- | --------------- | --- | --- | ------------ | --- | --- | --- | --- | +| | | | ruegraL ruetuaH | | | | | | | | +elbisiV +nalP +| LIB_Libellé | 91 | -27 | 799 25 | | 0 | Actif | Gauche | Centre | | | +| ----------- | --- | --- | ------ | --- | --- | ----- | ------ | ------ | --- | ---- | +| 06/08/2026 | | | Batik | | | | | | | 1404 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › 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_AideFenetre | | 890 -26 | | 28 23 | 0 | Actif | | | +| -------------------------- | --- | ------- | --- | ----- | --- | ----- | --- | --- | +| IMG_InformationAide | | 61 -26 | | 28 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | | 2 -27 | | 34 26 | 0 | Actif | | | +| IMG_SombreClair | | 38 -26 | | 21 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_Code +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 | | | | +ruetuaH +| | | ruegraL | elbisiV | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +nalP +| SAI_Texte | 512 109 | 263 53 0 | affichag | Texte | | Non | | | +| --------- | ------- | -------- | -------- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Div1 +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_Div | | 140 | 214 | 228 | 157 | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_Div1.SC_Div +| 06/08/2026 | | | | Batik | | | | 1405 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_AppliMob | 145 | 307 | 220 | 54 | 0 | Actif | | +| ---------------- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_LibEnvoiMob | 145 | 220 | 220 | 88 | 0 | Actif | | +Champ Modèle de champs : CMOD_Div1.SC_Div.CMOD_AppliMob +Bouton segmenté +BAT ehcuoT +| | X noitisoP | | | | | laitini tatE | | +| --- | ---------- | --- | --- | --- | --- | ------------ | --- | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BS_Choix | 145 | 307 | 220 | 54 | 0 | Actif | | +| -------- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Div1.SC_Div.CMOD_LibEnvoiMob +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | 145 220 | 220 88 | 0 | Actif | Gauche | Centre | | +| ------- | ------- | ------ | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Div2 +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_Div | 386 | 214 | 229 | 157 | 0 | Actif | | +| ---------- | --- | ----- | --- | --- | --- | ----- | ---- | +| 06/08/2026 | | Batik | | | | | 1406 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Superchamp : CMOD_Div2.SC_Div +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_LibTempsObligatoire | 391 | 221 | 218 | 88 | 0 | Actif | | +| ------------------------ | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_TempsOblig | 391 | 309 | 218 | 52 | 0 | Actif | | +Champ Modèle de champs : CMOD_Div2.SC_Div.CMOD_LibTempsObligatoire +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | 391 221 | 218 88 | 0 | Actif | Gauche | Centre | | +| ------- | ------- | ------ | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Div2.SC_Div.CMOD_TempsOblig +Bouton segmenté +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| BS_Choix | 391 | 309 | 218 | 52 | 0 | Actif | | +| -------- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Div3 +| 06/08/2026 | | Batik | | | | | 1407 | +| ---------- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_Div | 639 | 214 | 229 | 157 | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_Div3.SC_Div +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_Devis | 646 | 307 | 218 | 54 | 0 | Actif | | +| ------------- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_LibDevis | 646 | 220 | 218 | 88 | 0 | Actif | | +Champ Modèle de champs : CMOD_Div3.SC_Div.CMOD_Devis +Bouton segmenté +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| BS_Choix | 646 | 307 | 218 | 54 | 0 | Actif | | +| -------- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Div3.SC_Div.CMOD_LibDevis +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | ruegraL | elbisiV | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +nalP +| LIB_lib | 646 220 | 218 88 | 0 | Actif | Gauche | Centre | | +| ---------- | ------- | ------ | --- | ----- | ------ | ------ | ---- | +| 06/08/2026 | | Batik | | | | | 1408 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Div4 +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_Div | 267 | 390 | 229 | 156 | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_Div4.SC_Div +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| CMOD_LibValidation | 270 | 396 | 223 | 88 | 0 | Actif | | +| -------------------- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_ValidationOblig | 270 | 484 | 223 | 53 | 0 | Actif | | +Champ Modèle de champs : CMOD_Div4.SC_Div.CMOD_LibValidation +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | ruegraL | elbisiV | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +nalP +| LIB_lib | 270 396 | 223 88 | 0 | Actif | Gauche | Centre | | +| ------- | ------- | ------ | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Div4.SC_Div.CMOD_ValidationOblig +| 06/08/2026 | | Batik | | | | | 1409 | +| ---------- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Bouton segmenté +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BS_Choix | 270 | 484 223 | 53 | 0 | Actif | | +| -------- | --- | ------- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Div5 +Superchamp +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_Div | 511 | 390 229 | 156 | 0 | Actif | | +| ------ | --- | ------- | --- | --- | ----- | --- | +Superchamp : CMOD_Div5.SC_Div +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Compabilise | 514 | 484 223 | 53 | 0 | Actif | | +| ---------------- | --- | ------- | --- | --- | ----- | --- | +| CMOD_LibComp | 514 | 396 223 | 88 | 0 | Actif | | +Champ Modèle de champs : CMOD_Div5.SC_Div.CMOD_Compabilise +Bouton segmenté +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BS_Choix | 514 | 484 223 | 53 | 0 | Actif | | +| ---------- | --- | ------- | --- | --- | ----- | ---- | +| 06/08/2026 | | Batik | | | | 1410 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Div5.SC_Div.CMOD_LibComp +Libellé +tuaféd rap eéminA +.zroh egardaC .trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 514 396 | 223 | 88 | 0 | Actif | Gauche Centre | | +| ------- | --- | ------- | --- | --- | --- | ----- | ------------- | --- | +Champ Modèle de champs : CMOD_LibCourt +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_Texte | 8 109 | 496 53 | 0 | Actif | Texte | Non | | | +| --------- | ----- | ------ | --- | ----- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_Libelle +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 | eisias epyT FTR tamroF | | ediv is LLUN | lacitrev .csA | +| --- | --------------------- | --- | --- | ------------ | ---------------------- | --- | ------------ | ------------- | +| | X noitisoP Y noitisoP | | | laitini tatE | engilitluM | | | | +ruetuaH +| | | ruegraL | elbisiV | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +nalP +| SAI_Texte | 8 | 48 993 53 | 0 | Actif | Texte | Non | | | +| ---------- | --- | --------- | --- | ----- | ----- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | 1411 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Ordre +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_Texte | 783 109 | 69 53 | 0 | Actif | Numéri | | Non | | | | | +| --------- | ------- | ----- | --- | ----- | ------ | --- | --- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Titre +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | | | | +| --- | --- | --------------------- | ------- | ------- | --- | --- | ------------ | --- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | | | | | +elbisiV +nalP +| LIB_lib | | 8 | 12 697 | 26 | | 0 | Actif | Gauche | Centre | | | +| ------- | --- | --- | ------ | --- | --- | --- | ----- | ------ | ------ | --- | --- | +Champ Modèle de champs : CMOD_Valider +Bouton +| | | | | | | | | | BAT ehcuoT | notuob epyT | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | ---------- | ----------- | --- | +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | +| | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_Valider | | 862 | 5 | 141 | | 35 | 0 | Actif | | Normal | | +| ----------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | ------ | --- | +Fenêtre : FEN_Fiche_Parametre_Type_RDV +| 06/08/2026 | | | | Batik | | | | | | | 1412 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Actif +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 800 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1413 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Code +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +06/08/2026 Batik 1414 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Div1 +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div2 +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +06/08/2026 Batik 1415 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Div3 +Ordre navigation 13 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div4 +Ordre navigation 14 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +06/08/2026 Batik 1416 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Div5 +Ordre navigation 15 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_LibCourt +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Batik 1417 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Libelle +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Ordre +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 700 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +06/08/2026 Batik 1418 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Titre +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1419 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Superchamp : SC_Couleur +Ordre navigation 10 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Largeur externe 999 +Hauteur externe 40 +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 Largeur +Taux anc. droite 120 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Actif +Interrupteur : CMOD_Actif.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Ordre navigation 1 +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 +06/08/2026 Batik 1420 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +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> +Liaison des données :oParametre.bActif +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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 +06/08/2026 Batik 1421 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 922 +Hauteur externe 30 +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 +06/08/2026 Batik 1422 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Texte Markdown Non +Source de remplissage Table chargée en mémoire +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1423 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 +06/08/2026 Batik 1424 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 1425 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Taux anc. droite 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Code +06/08/2026 Batik 1426 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Champ de saisie : CMOD_Code.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 512 +Largeur interne 263 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 1427 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :oParametre.saCLE +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div1 +Superchamp : CMOD_Div1.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 226 +Hauteur externe 155 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +06/08/2026 Batik 1428 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Div1.SC_Div +Champ Modèle de champs : CMOD_Div1.SC_Div.CMOD_AppliMob +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div1.SC_Div.CMOD_LibEnvoiMob +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Batik 1429 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div1.SC_Div.CMOD_AppliMob +Bouton segmenté : CMOD_Div1.SC_Div.CMOD_AppliMob.BS_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Ordre navigation 1 +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é) +Espace entre options 4 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit 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 +Valeur persistante Non +Mode bouton segmenté Sélecteur +Texte Markdown Non +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 +06/08/2026 Batik 1430 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Div1.SC_Div.CMOD_LibEnvoiMob +Libellé : CMOD_Div1.SC_Div.CMOD_LibEnvoiMob.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1431 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Div2 +Superchamp : CMOD_Div2.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 227 +Hauteur externe 155 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Div2.SC_Div +Champ Modèle de champs : CMOD_Div2.SC_Div.CMOD_LibTempsObligatoire +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +06/08/2026 Batik 1432 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 250 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div2.SC_Div.CMOD_TempsOblig +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div2.SC_Div.CMOD_LibTempsObligatoire +Libellé : CMOD_Div2.SC_Div.CMOD_LibTempsObligatoire.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +06/08/2026 Batik 1433 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div2.SC_Div.CMOD_TempsOblig +Bouton segmenté : CMOD_Div2.SC_Div.CMOD_TempsOblig.BS_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Ordre navigation 1 +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é) +Espace entre options 4 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit 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 +Valeur persistante Non +06/08/2026 Batik 1434 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Mode bouton segmenté Sélecteur +Texte Markdown Non +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 +Champ Modèle de champs : CMOD_Div3 +Superchamp : CMOD_Div3.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 227 +Hauteur externe 155 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1435 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Superchamp : CMOD_Div3.SC_Div +Champ Modèle de champs : CMOD_Div3.SC_Div.CMOD_Devis +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div3.SC_Div.CMOD_LibDevis +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1436 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Div3.SC_Div.CMOD_Devis +Bouton segmenté : CMOD_Div3.SC_Div.CMOD_Devis.BS_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Ordre navigation 1 +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é) +Espace entre options 4 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit 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 +Valeur persistante Non +Mode bouton segmenté Sélecteur +Texte Markdown Non +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 +Champ Modèle de champs : CMOD_Div3.SC_Div.CMOD_LibDevis +06/08/2026 Batik 1437 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Libellé : CMOD_Div3.SC_Div.CMOD_LibDevis.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div4 +06/08/2026 Batik 1438 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Superchamp : CMOD_Div4.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 227 +Hauteur externe 154 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Div4.SC_Div +Champ Modèle de champs : CMOD_Div4.SC_Div.CMOD_LibValidation +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Batik 1439 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 750 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div4.SC_Div.CMOD_ValidationOblig +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 750 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div4.SC_Div.CMOD_LibValidation +Libellé : CMOD_Div4.SC_Div.CMOD_LibValidation.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +06/08/2026 Batik 1440 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div4.SC_Div.CMOD_ValidationOblig +Bouton segmenté : CMOD_Div4.SC_Div.CMOD_ValidationOblig.BS_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Ordre navigation 1 +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é) +Espace entre options 4 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit 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 +Valeur persistante Non +Mode bouton segmenté Sélecteur +Texte Markdown Non +Personnaliser le picto AMI Non +06/08/2026 Batik 1441 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +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 +Champ Modèle de champs : CMOD_Div5 +Superchamp : CMOD_Div5.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 227 +Hauteur externe 154 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1442 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Superchamp : CMOD_Div5.SC_Div +Champ Modèle de champs : CMOD_Div5.SC_Div.CMOD_Compabilise +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 750 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Div5.SC_Div.CMOD_LibComp +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 750 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1443 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Div5.SC_Div.CMOD_Compabilise +Bouton segmenté : CMOD_Div5.SC_Div.CMOD_Compabilise.BS_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Ordre navigation 1 +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é) +Espace entre options 4 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit 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 +Valeur persistante Non +Mode bouton segmenté Sélecteur +Texte Markdown Non +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 +Champ Modèle de champs : CMOD_Div5.SC_Div.CMOD_LibComp +06/08/2026 Batik 1444 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Libellé : CMOD_Div5.SC_Div.CMOD_LibComp.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_LibCourt +06/08/2026 Batik 1445 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Champ de saisie : CMOD_LibCourt.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 8 +Largeur interne 496 +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 20 +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 +06/08/2026 Batik 1446 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :oParametre.saibelleCourt +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Libelle +Champ de saisie : CMOD_Libelle.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 +06/08/2026 Batik 1447 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 8 +Largeur interne 993 +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 +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> +Liaison des données :oParametre.saLibelle +Gestion Euro Non +Personnaliser le picto AMI Non +06/08/2026 Batik 1448 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Ordre +Champ de saisie : CMOD_Ordre.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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. Droite +Position X interne 783 +Largeur interne 69 +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: 9 999 +06/08/2026 Batik 1449 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +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> +Liaison des données :oParametre.nOrdre +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1450 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Titre +Libellé : CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1451 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1452 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +Superchamp : SC_Couleur +Champ Modèle de champs : SC_Couleur.CMOD_Couleur +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : SC_Couleur.IMG_Couleur +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 +06/08/2026 Batik 1453 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Informations sur les champs +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 50 Taux anc. hauteur 1000 +Champ Modèle de champs : SC_Couleur.CMOD_Couleur +Libellé : SC_Couleur.CMOD_Couleur.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1454 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Code +FEN_Fiche_Parametre_Type_RDV +Code +Déclarations globales de FEN_Fiche_Parametre_Type_RDV +procédure FEN_Fiche_Parametre_Type_RDV(nIdParametre est un entier sur 8 octets) +oParametre est un MParametreMetier +stParamRdv est un ST_Param_TypeActiviteRDV +si nIdParametre <= 0 alors +Ferme() +sinon +si HLitRecherchePremier(ParametreMetier,PA_PKID,nIdParametre) alors +FichierVersMémoire(oParametre,ParametreMetier) +sinon +Erreur("Paramètre introuvable") +si pas EnModeTest() alors +Ferme() +fin +fin +fin +Fin d'initialisation de FEN_Fiche_Parametre_Type_RDV +Filtrer() +FEN_Fiche_Parametre_Type_RDV +Code des champs +Déclarations globales de CMOD_Actif +salib = "Actif" +Fin d'initialisation de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Actif +06/08/2026 Batik 1455 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_Actif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Int ( CMOD_Actif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Int ( CMOD_Actif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Int ( CMOD_Actif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_Actif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1456 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +06/08/2026 Batik 1457 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Déclarations globales de CMOD_Code +salib = "Code" +Fin d'initialisation de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Code +06/08/2026 Batik 1458 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Div1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Div1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Div1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Div1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Div1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Div1 +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1459 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Code des champs +ExécuteAncêtre +A chaque modification de CMOD_Div1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_AppliMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_AppliMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_AppliMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_AppliMob +06/08/2026 Batik 1460 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_AppliMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_AppliMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_AppliMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BS_Choix ( CMOD_AppliMob ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de BS_Choix ( CMOD_AppliMob ) +procédure OptionModifiée(IndiceOptionModifiée) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(IndiceOptionModifiée) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de BS_Choix ( CMOD_AppliMob ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_LibEnvoiMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibEnvoiMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibEnvoiMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibEnvoiMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibEnvoiMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibEnvoiMob +06/08/2026 Batik 1461 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibEnvoiMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_LibEnvoiMob ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_LibEnvoiMob ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Div2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Div2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Div2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Div2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Div2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Div2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Div2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1462 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Code des champs +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_LibTempsObligatoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibTempsObligatoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibTempsObligatoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibTempsObligatoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibTempsObligatoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibTempsObligatoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibTempsObligatoire +06/08/2026 Batik 1463 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_LibTempsObligatoire ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_LibTempsObligatoire ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_TempsOblig +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TempsOblig +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TempsOblig +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TempsOblig +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TempsOblig +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TempsOblig +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TempsOblig +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BS_Choix ( CMOD_TempsOblig ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de BS_Choix ( CMOD_TempsOblig ) +procédure OptionModifiée(IndiceOptionModifiée) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(IndiceOptionModifiée) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de BS_Choix ( CMOD_TempsOblig ) +06/08/2026 Batik 1464 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Div3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Div3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Div3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Div3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Div3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Div3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Div3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1465 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BS_Choix ( CMOD_Devis ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de BS_Choix ( CMOD_Devis ) +procédure OptionModifiée(IndiceOptionModifiée) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1466 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Code des champs +ExécuteAncêtre(IndiceOptionModifiée) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de BS_Choix ( CMOD_Devis ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_LibDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_LibDevis ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_LibDevis ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Div4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Div4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Div4 +06/08/2026 Batik 1467 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Div4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Div4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Div4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Div4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1468 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Code des champs +ExécuteAncêtre +Fin d'initialisation de CMOD_LibValidation +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibValidation +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibValidation +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibValidation +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibValidation +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibValidation +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibValidation +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_LibValidation ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_LibValidation ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_ValidationOblig +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ValidationOblig +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ValidationOblig +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ValidationOblig +06/08/2026 Batik 1469 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ValidationOblig +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ValidationOblig +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ValidationOblig +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BS_Choix ( CMOD_ValidationOblig ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de BS_Choix ( CMOD_ValidationOblig ) +procédure OptionModifiée(IndiceOptionModifiée) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(IndiceOptionModifiée) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de BS_Choix ( CMOD_ValidationOblig ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Div5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Div5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Div5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Div5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Div5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Div5 +06/08/2026 Batik 1470 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Div5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Compabilise +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Compabilise +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Compabilise +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1471 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Code des champs +ExécuteAncêtre +Sortie de CMOD_Compabilise +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Compabilise +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Compabilise +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Compabilise +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BS_Choix ( CMOD_Compabilise ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de BS_Choix ( CMOD_Compabilise ) +procédure OptionModifiée(IndiceOptionModifiée) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(IndiceOptionModifiée) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de BS_Choix ( CMOD_Compabilise ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_LibComp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibComp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibComp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibComp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibComp +06/08/2026 Batik 1472 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibComp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibComp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_LibComp ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_LibComp ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_LibCourt +salib = "Libelle court" +Fin d'initialisation de CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibCourt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_LibCourt ) +06/08/2026 Batik 1473 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_LibCourt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_LibCourt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_LibCourt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_LibCourt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Libelle +salib = "Libelle" +Fin d'initialisation de CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Libelle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Libelle ) +06/08/2026 Batik 1474 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Libelle ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Libelle ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Libelle ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Libelle ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Ordre +salib = "Ordre" +Fin d'initialisation de CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ordre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Ordre ) +06/08/2026 Batik 1475 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Ordre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Ordre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Ordre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Ordre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +06/08/2026 Batik 1476 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Code des champs +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +Ferme() +fin +Déclarations globales de CMOD_Couleur +salib = "Couleur associé au status du rendez-vous dans le Planning/Agenda" +Fin d'initialisation de CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Couleur +06/08/2026 Batik 1477 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Couleur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Couleur ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Couleur ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Clic sur IMG_Couleur ( SC_Couleur ) +saCouleur est une chaîne ANSI = Ouvre(FEN_Choix_Couleur,IMG_Couleur..CouleurFond) +si saCouleur <> "" alors +IMG_Couleur..CouleurFond = saCouleur +fin +FEN_Fiche_Parametre_Type_RDV +Procédures +Procédure locale Enregistrer +procédure Enregistrer() +EcranVersSource() +06/08/2026 Batik 1478 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Parametre_Type_RDV › Procédures +si oParametre:saCategorie = cParam_TypeRDV alors +stParamRdv.sCouleur = IMG_Couleur..CouleurFond +stParamRdv:Envoi_mobile = DonneBooleanSelonOuiNon(CMOD_AppliMob.BS_Choix ) +stParamRdv:Saisir_temps_obligatoire = DonneBooleanSelonOuiNon(CMOD_TempsOblig.BS_Choix) +stParamRdv:Present_devis = DonneBooleanSelonOuiNon(CMOD_Devis.BS_Choix) +stParamRdv.Valider_rdv = DonneBooleanSelonOuiNon(CMOD_ValidationOblig.BS_Choix) +stParamRdv.ComptSuiviTemp = DonneBooleanSelonOuiNon(CMOD_Compabilise.BS_Choix) +Sérialise(stParamRdv,oParametre:saParametre,psdJSON) +fin +renvoyer oParametre:Enregistrer() +Procédure locale Filtrer +procédure Filtrer() +si gtbEnteteParametresMetier[oParametre:saCategorie]..Existe _et_ gtbEnteteParametresMetier[oParametre: +saCategorie] <> "" alors +CMOD_Titre.LIB_lib = gtbEnteteParametresMetier[oParametre:saCategorie] +fin +CMOD_Div1.SC_Div.CMOD_LibEnvoiMob.LIB_lib = "Envoyer le type de rendez-vous ("+oParametre: +saLibelle+") vers l'application mobile " +CMOD_Div2.SC_Div.CMOD_LibTempsObligatoire.LIB_lib = +"Le temps doit obligatoirement être saisi dans le type de rendez-vous ("+oParametre:saLibelle+")" +CMOD_Div3.SC_Div.CMOD_LibDevis.LIB_lib = "Le type de rendez-vous ("+oParametre: +saLibelle+") est pris en compte dans le devis" +CMOD_Div4.SC_Div.CMOD_LibValidation.LIB_lib = "La validation du rendez-vous est obligatoire " +CMOD_Div5.SC_Div.CMOD_LibComp.LIB_lib = "Le type de rendez-vous ("+oParametre:saLibelle+ +") est comptabilisé dans le suivi du temps (Cumul rendez-vous) " +si oParametre:saCategorie = cParam_TypeRDV alors +si oParametre:saParametre <> "" alors +Désérialise(stParamRdv,oParametre:saParametre,psdJSON) +fin +fin +si stParamRdv:sCouleur <> "" alors +IMG_Couleur..CouleurFond = stParamRdv:sCouleur +fin +CMOD_AppliMob.BS_Choix = DonneOuiNonSelonBoolean(stParamRdv:Envoi_mobile) +CMOD_TempsOblig.BS_Choix = DonneOuiNonSelonBoolean(stParamRdv:Saisir_temps_obligatoire) +CMOD_Devis.BS_Choix = DonneOuiNonSelonBoolean(stParamRdv:Present_devis) +CMOD_ValidationOblig.BS_Choix = DonneOuiNonSelonBoolean(stParamRdv:Valider_rdv) +CMOD_Compabilise.BS_Choix = DonneOuiNonSelonBoolean(stParamRdv:ComptSuiviTemp) +SourceVersEcran() +06/08/2026 Batik 1479 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Roles › Image +FEN_Liste_Roles +Image +FEN_Liste_Roles +Informations générales +FEN_Liste_Roles +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Liste_Roles.wdw +Créé par SMR +Date de création 01/08/2025 11:50:15 +Dernière modification par susana@applilogik.fr +Date dernière modification 02/04/2026 16:41:21 +Titre FR: Liste de rôles +Type fenêtre Fenêtre libre +06/08/2026 Batik 1480 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Roles › Informations générales +| Mode ouverture (Desktop) | | Centrée par rapport à l'écran | | | | +| ------------------------ | --- | ----------------------------- | --- | --- | --- | +Note pour la documentation technique +FR: Liste des droits et accès +| Position X | 0 Position Y | | 0 Largeur | 938 Hauteur | 600 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 1481 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Roles › Informations générales +| Adapte Taille contenu | Non | | | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | --- | +| Assombri quand inactif | Oui | | | | | | | +| Déplace souris sur bouton par | Non | | | | | | | +| Compact. barres outils | Non | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 1 | Image | | | 6 | +| --- | ---------------------- | --- | --- | --------------------- | --- | --- | --- | +| | Table | | 1 | Superchamp | | | 1 | +| | Champ Modèle de champs | | 4 | Option de menu | | | 4 | +| | Colonne de table | | 2 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 20 +FEN_Liste_Roles +Informations sur les champs +Fenêtre : FEN_Liste_Roles +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_BordFen | | 0 | -29 868 | 29 | 0 | Actif | | +| ------------- | --- | --- | ------- | --- | --- | ----- | --- | +| CMOD_Modifier | | 901 | 4 30 | 30 | 0 | Actif | | +| CMOD_Options | | 863 | 4 30 | 30 | 0 | Actif | | +| CMOD_Table | | 5 | 42 926 | 517 | 0 | Actif | | +Champ Modèle de champs : CMOD_BordFen +| 06/08/2026 | | | Batik | | | | 1482 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Roles › Informations sur les champs +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 868 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | --- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_Libellé | 91 | -27 745 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | ------- | ------------ | --------- | ---------- | +| | | | | ruetuaH | | | cilc cevA | | +| | | | ruegraL | | elbisiV | | | | +nalP +| IMG_AideFenetre | 836 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | --- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_Modifier +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | 901 | 4 | 30 | 30 | 0 | Actif | | | +| ---------- | --- | --- | ----- | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 1483 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Roles › Informations sur les champs +Champ Modèle de champs : CMOD_Options +Image +| | | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | --- | --------------------- | --- | ------- | --- | --- | ------------ | --------------------- | ----------------- | +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | sucof cevA | +| | | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 863 | 4 | 30 30 | | 0 | Actif | | | +| --------- | --- | --- | --- | ----- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Table +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 | | | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | --- | --- | +sruocraP +ruegraL ruetuaH +elbisiV +| | | nalP | | elbaT | | | | | | +| ---------- | ---- | --------- | -------- | ------ | --- | --- | --- | --- | --- | +| TABLE_Info | 7 44 | 920 511 0 | affichag | Mémoir | | | | | 2 | +Table : CMOD_Table.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | elbairt ennoloC | ehcrehcer cevA | | | | | +| --- | --- | --- | -------------- | --------------- | -------------- | ------------- | --- | --- | --- | +| | | | ehcuag à eéxiF | | | .zroh egardaC | | | | +.trev egardaC +| | | | | elbaçalpéD | | | | eisias epyT FTR tamroF | eisias cevA | +| --- | --- | ------------ | --- | ---------- | --- | --- | --- | ---------------------- | ----------- | +| | | laitini tatE | | | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +| COL_PKID | | 880 Grisé | | | Droite | Centre | Numériq | | | +| ---------- | --- | --------- | --- | ----- | ------ | ------ | ------- | ----- | ---- | +| COL_Role | | 900 Actif | | | Gauche | Centre | | Texte | | +| 06/08/2026 | | | | Batik | | | | | 1484 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Roles › Informations sur les champs +Fenêtre : FEN_Liste_Roles +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Modifier +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1485 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Roles › Informations sur les champs +Champ Modèle de champs : CMOD_Options +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1486 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Roles › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 868 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 1487 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Roles › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 1488 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Roles › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 +06/08/2026 Batik 1489 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Roles › Informations sur les champs +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 +06/08/2026 Batik 1490 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Roles › Informations sur les champs +Ancrage Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Modifier +Image : CMOD_Modifier.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Double_flèches.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 1491 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Roles › Informations sur les champs +Champ Modèle de champs : CMOD_Options +Image : CMOD_Options.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\options.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 1492 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Roles › Informations sur les champs +Champ Modèle de champs : CMOD_Table +Table : CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 1493 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Roles › Informations sur les champs +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. A la fin +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 : CMOD_Table.TABLE_Info +Colonne de table : CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 +06/08/2026 Batik 1494 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Roles › Informations sur les champs +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table.TABLE_Info.COL_Role (2) +Titre FR: Rôles +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 +FEN_Liste_Roles +Informations sur les menus +06/08/2026 Batik 1495 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Roles › Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Creer (2) +OPT_Modifier (3) +OPT_Supprimer (4) +Libellé des options : Français +Créer un nouveau rôle +Modifier le rôle sélectionné +Supprimer le rôle sélectionné +FEN_Liste_Roles +Code +Déclarations globales de FEN_Liste_Roles +procédure FEN_Liste_Roles() +Fin d'initialisation de FEN_Liste_Roles +Filtrer() +FEN_Liste_Roles +Code des champs +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1496 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Roles › Code des champs +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Modifier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Modifier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Modifier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Modifier +06/08/2026 Batik 1497 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Roles › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Modifier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Modifier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Modifier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Modifier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Modifier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Filtrer() +A chaque modification de IMG_Icone ( CMOD_Modifier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Modifier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Modifier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Modifier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Options +06/08/2026 Batik 1498 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Roles › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +06/08/2026 Batik 1499 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Roles › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1500 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Roles › Code des champs +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ModifierRole() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection du menu de MNU_Options.OPT_Creer +AjouterRole() +Sélection du menu de MNU_Options.OPT_Modifier +ModifierRole() +Sélection du menu de MNU_Options.OPT_Supprimer +SupprimerRole() +FEN_Liste_Roles +Procédures +Procédure locale AjouterRole +06/08/2026 Batik 1501 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Roles › Procédures +procédure AjouterRole() +nId est un entier sur 8 octets = Ouvre(FEN_Fiche_Role,0) +si nId > 0 alors +si HLitRecherchePremier(Role,R_PKID,nId) alors +i est un entier = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = Role.R_PKID +COL_Role[i] = Role.R_Libelle +fin +fin +Procédure locale Filtrer +procédure Filtrer() +TableSupprimeTout(TABLE_Info) +i est un entier +HLitPremier(Role,R_PKID) +tantque HEnDehors(Role) = Faux +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = Role.R_PKID +COL_Role[i] = Role.R_Libelle +HLitSuivant(Role) +fin +Procédure locale ModifierRole +procédure ModifierRole() +nI est un entier = TABLE_Info +si nI > 0 _et_ COL_PKID[nI] > 0 alors +Ouvre(FEN_Fiche_Role,COL_PKID[nI]) +si HLitRecherchePremier(Role,R_PKID,COL_PKID[nI]) alors +COL_PKID[nI] = Role.R_PKID +COL_Role[nI] = Role.R_Libelle +fin +fin +Procédure locale SupprimerRole +procédure SupprimerRole() +nI est un entier = TABLE_Info +si nI > 0 _et_ COL_PKID[nI] > 0 _et_ HLitRecherchePremier(Role,R_PKID,COL_PKID[nI]) alors +oUnRole est un MRole +FichierVersMémoire(oUnRole,Role) +si oUnRole:Supprimer() alors +TableSupprime(TABLE_Info,nI) +fin +fin +06/08/2026 Batik 1502 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Image +FEN_Fiche_Role +Image +FEN_Fiche_Role +Informations générales +FEN_Fiche_Role +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Fiche_Role.wdw +Créé par SMR +06/08/2026 Batik 1503 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations générales +| Date de création | | 01/08/2025 12:22:33 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 05/03/2026 19:06:39 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Fiche des droits et accès +| Position X | 0 Position Y | | 0 Largeur | 1209 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| 06/08/2026 | | | Batik | | 1504 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations générales +| 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 | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Champ de saisie | | 2 | Libellé | | | 4 | +| --- | ---------------------- | --- | --- | ---------------- | --- | --- | --- | +| | Bouton | | 2 | Image | | | 4 | +| | Table | | 3 | Superchamp | | | 1 | +| | Champ Modèle de champs | | 11 | Colonne de table | | | 11 | +| | Case barre de message | | 1 | | | | | +Nombre d'éléments dans la fenêtre : 39 +FEN_Fiche_Role +Informations sur les champs +Fenêtre : FEN_Fiche_Role +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_Annuler | | 906 | 9 141 | 35 | 0 | Actif | | +| ---------------- | --- | ---- | -------- | --- | --- | ----- | ---- | +| CMOD_BO | | 9 | 91 594 | 336 | 0 | Actif | | +| CMOD_BordFen | | 0 | -29 1070 | 29 | 0 | Actif | | +| CMOD_Description | | 611 | 93 582 | 170 | 0 | Actif | | +| CMOD_LibColb | | 611 | 269 582 | 26 | 0 | Actif | | +| CMOD_Mob | | 9 | 464 594 | 179 | 0 | Actif | | +| CMOD_Role | | 11 | 9 592 | 53 | 0 | Actif | | +| CMOD_TColbs | | 611 | 301 582 | 342 | 0 | Actif | | +| CMOD_Titre1 | | 11 | 65 592 | 26 | 0 | Actif | | +| CMOD_Titre2 | | 9 | 439 594 | 26 | 0 | Actif | | +| CMOD_Valider | | 1052 | 9 141 | 35 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 1505 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Bouton +BAT ehcuoT notuob epyT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL ruetuaH | | | | +| --- | --- | --- | --------------- | --- | --- | --- | +elbisiV +nalP +| BTN_Annuler | | 906 | 9 141 | 35 0 | Actif | Normal | +| ----------- | --- | --- | ----- | ---- | ----- | ------ | +Champ Modèle de champs : CMOD_BO +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | +| --- | --- | --- | --- | --- | ------------------ | ------------------ | +)(ertliFH resilitU +| | | | | .gerne egacolB | ruesnecsa elluB EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +| --- | --- | --- | --- | -------------- | ------------------------------ | ----------------------------- | +noitcelésitluM edacsac eisiaS +BAT ehcuoT +laitini tatE +| | X noitisoP Y noitisoP | | | sruocraP | | | +| --- | --------------------- | --- | --- | -------- | --- | --- | +ruegraL ruetuaH +elbisiV +elbaT +nalP +| TABLE_Info | 11 93 588 | 330 0 | Actif Mémoir | | | 1 | +| ---------- | --------- | ----- | ------------ | --- | --- | --- | +Table : CMOD_BO.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +ehcuag à eéxiF +| | | | | .zroh egardaC .trev egardaC | | | +| --- | --- | ------------ | ---------- | --------------------------- | ---------------------- | ----------- | +| | | | elbaçalpéD | | FTR tamroF | | +| | | laitini tatE | | | eisias epyT engilitluM | eisias cevA | +ruegraL +elbisiV +| | epyT | | | | | eéirT | +| --- | ---- | --- | --- | --- | --- | ----- | +Numériq +| COL_PKID | 880 | Grisé | | Droite Centre | | | +| ---------- | --- | -------- | ----- | ------------- | ----- | ---- | +| COL_Acces | 100 | Actif | | Centre Centre | | | +| COL_Droit | 461 | affichag | | Gauche Centre | Texte | | +| COL_CLE | 100 | Grisé | | Gauche Centre | Texte | | +| 06/08/2026 | | | Batik | | | 1506 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | | | 0 | | -29 | 1070 | | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | ---- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libellé | | 91 | -27 | 947 | 25 | | 0 | Actif | Gauche | Centre | | +| ----------- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | +| --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | ------------ | --------- | --- | +| | | | | | ruegraL | ruetuaH | | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | | 1038 | -26 | | 28 | 23 | | 0 | Actif | | | +| -------------------------- | --- | ---- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | | 61 | -26 | | 28 | 23 | | 0 | Actif | | | +| IMG_Logo_secondaire_violet | | 2 | -27 | | 34 | 26 | | 0 | Actif | | | +| IMG_SombreClair | | 38 | -26 | | 21 | 23 | | 0 | Actif | | | +Champ Modèle de champs : CMOD_Description +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_Texte | 611 93 | 582 170 | 0 | affichag | | Texte | | Non | | | | +| ---------- | ------ | ------- | --- | -------- | ----- | ----- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | | Batik | | | | | | 1507 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +Champ Modèle de champs : CMOD_LibColb +Libellé +tuaféd rap eéminA +| | | | | | | | | .zroh egardaC .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | --------------------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_lib | | 611 | 269 | 582 26 | 0 | Actif | Gauche | Centre | | +| ------- | --- | --- | --- | ------ | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Mob +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | | | lennoitroporp .csA .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | --- | ------------------ | -------------- | ------------------------------------- | ----------------------------- | +| | | | | | | )(ertliFH resilitU | | ruesnecsa elluB EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +| | | | | | | .gerne egacolB | noitcelésitluM | edacsac eisiaS | | +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | | +| --- | --------------------- | --------------- | --- | ------------ | --- | -------- | --- | --- | --- | +| | | ruegraL ruetuaH | | | | sruocraP | | | | +elbisiV +elbaT +nalP +| TABLE_Info | 11 466 | 588 173 | 0 | Actif | Mémoir | | | | 2 | +| ---------- | ------ | ------- | --- | ----- | ------ | --- | --- | --- | --- | +Table : CMOD_Mob.TABLE_Info +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_PKID | | 880 | Grisé | | | Droite Centre | Numériq | | | +| COL_Acces | | 129 | Actif | | | Centre Centre | | | | +| COL_Droit | | 425 | affichag | | | Gauche Centre | | Texte | | +| COL_CLE | | 100 | Grisé | | | Gauche Centre | | Texte | | +| 06/08/2026 | | | | Batik | | | | | 1508 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +Champ Modèle de champs : CMOD_Role +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_Texte | 11 | 9 592 | 53 0 | Actif | Texte | | Non | | | | +| --------- | --- | ----- | ---- | ----- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_TColbs +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 | | | | | | | +| --- | --------------------- | --- | ------- | ------------ | --- | -------- | --- | --- | --- | --- | +| | | | ruetuaH | | | sruocraP | | | | | +ruegraL +| | | | | elbisiV | elbaT | | | | | | +| --- | --- | --- | --- | ------- | ----- | --- | --- | --- | --- | --- | +nalP +| TABLE_Info | 613 303 | 576 | 336 0 | Actif | Mémoir | | | | | 1 | +| ---------- | ------- | --- | ----- | ----- | ------ | --- | --- | --- | --- | --- | +Table : CMOD_TColbs.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +| | | | | ehcuag à eéxiF | | | .zroh egardaC .trev egardaC | | | | +| --- | --- | --- | ------------ | -------------- | --- | --- | --------------------------- | ----------- | ---------- | ----------- | +| | | | laitini tatE | elbaçalpéD | | | | eisias epyT | FTR tamroF | eisias cevA | +engilitluM +ruegraL +elbisiV +| | epyT | | | | | | | | | eéirT | +| ---------- | ---- | --- | -------- | --- | ----- | ------ | ------ | ------- | --- | ----- | +| COL_PKID | | 880 | Grisé | | | Droite | Centre | Numériq | | | +| COL_Nom | | 296 | affichag | | | Gauche | Centre | Texte | | | +| COL_Role | | 268 | Actif | | | Gauche | Centre | Texte | | | +| 06/08/2026 | | | | | Batik | | | | | 1509 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +Champ Modèle de champs : CMOD_Titre1 +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +X noitisoP Y noitisoP laitini tatE +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 11 65 | 592 26 | 0 Actif | Gauche | Centre | | +| ------- | ----- | ------ | ------- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Titre2 +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +laitini tatE FTR tamroF +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 9 439 | 594 26 | 0 Actif | Gauche | Centre | | +| ------- | ----- | ------ | ------- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Valider +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | laitini tatE | | | +| --- | ---------- | ---------- | --- | ------------ | --- | --- | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| BTN_Valider | 1052 | 9 141 | 35 0 | Actif | Normal | | +| ----------- | ---- | ----- | ---- | ----- | ------ | --- | +Fenêtre : FEN_Fiche_Role +| 06/08/2026 | | Batik | | | | 1510 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BO +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 700 +06/08/2026 Batik 1511 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Description +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite, largeur et hauteur +Taux anc. droite 500 Taux anc. bas 0 Taux anc. largeur 500 Taux anc. hauteur 350 +06/08/2026 Batik 1512 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +Champ Modèle de champs : CMOD_LibColb +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite et bas, largeur +Taux anc. droite 500 Taux anc. bas 350 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Mob +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Bas, largeur et hauteur +Taux anc. droite 500 Taux anc. bas 750 Taux anc. largeur 500 Taux anc. hauteur 250 +06/08/2026 Batik 1513 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +Champ Modèle de champs : CMOD_Role +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_TColbs +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite et bas, largeur et hauteur +Taux anc. droite 500 Taux anc. bas 370 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Batik 1514 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +Champ Modèle de champs : CMOD_Titre1 +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Titre2 +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite et bas, largeur +Taux anc. droite 0 Taux anc. bas 700 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Batik 1515 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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 +06/08/2026 Batik 1516 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › 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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BO +Table : CMOD_BO.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +06/08/2026 Batik 1517 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1518 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +Table : CMOD_BO.TABLE_Info +Colonne de table : CMOD_BO.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : CMOD_BO.TABLE_Info.COL_Acces (2) +Titre FR: Accès +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +06/08/2026 Batik 1519 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +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 100 Taux anc. hauteur 1000 +Colonne de table : CMOD_BO.TABLE_Info.COL_Droit (3) +Titre FR: Droit +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 900 Taux anc. hauteur 1000 +06/08/2026 Batik 1520 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +Colonne de table : CMOD_BO.TABLE_Info.COL_CLE (4) +Titre FR: CLE +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 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1070 +Hauteur externe 30 +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) +06/08/2026 Batik 1521 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1522 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 +06/08/2026 Batik 1523 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 1524 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +Taux anc. droite 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Description +06/08/2026 Batik 1525 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +Champ de saisie : CMOD_Description.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 611 +Largeur interne 582 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 1526 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_LibColb +Libellé : CMOD_LibColb.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +06/08/2026 Batik 1527 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Mob +Table : CMOD_Mob.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +06/08/2026 Batik 1528 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1529 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +Table : CMOD_Mob.TABLE_Info +Colonne de table : CMOD_Mob.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : CMOD_Mob.TABLE_Info.COL_Acces (2) +Titre FR: Accès +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +06/08/2026 Batik 1530 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +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 100 Taux anc. hauteur 1000 +Colonne de table : CMOD_Mob.TABLE_Info.COL_Droit (3) +Titre FR: Droit +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 900 Taux anc. hauteur 1000 +06/08/2026 Batik 1531 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +Colonne de table : CMOD_Mob.TABLE_Info.COL_CLE (4) +Titre FR: CLE +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 +Champ Modèle de champs : CMOD_Role +Champ de saisie : CMOD_Role.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 +06/08/2026 Batik 1532 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › 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 11 +Largeur interne 592 +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 +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> +Liaison des données :oRole.saLibelle +Gestion Euro Non +06/08/2026 Batik 1533 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_TColbs +Table : CMOD_TColbs.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 1534 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › 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 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1535 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +Table : CMOD_TColbs.TABLE_Info +Colonne de table : CMOD_TColbs.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : CMOD_TColbs.TABLE_Info.COL_Nom (2) +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +06/08/2026 Batik 1536 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › 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 500 Taux anc. hauteur 1000 +Colonne de table : CMOD_TColbs.TABLE_Info.COL_Role (3) +Titre FR: Rôle +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 268 +Larg. déroulée perso. Non +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 +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 500 Taux anc. hauteur 1000 +06/08/2026 Batik 1537 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +Champ Modèle de champs : CMOD_Titre1 +Libellé : CMOD_Titre1.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1538 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +Champ Modèle de champs : CMOD_Titre2 +Libellé : CMOD_Titre2.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1539 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1540 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Code +FEN_Fiche_Role +Code +Déclarations globales de FEN_Fiche_Role +procédure FEN_Fiche_Role(nIdRole est un entier sur 8 octets) +oRole est un MRole +tbaCategorieAcces est un tableau associatif de MCategorieAcces +tbaListeUser est un tableau associatif de MUtilisateur +Fin d'initialisation de FEN_Fiche_Role +Filtrer() +Fermeture de FEN_Fiche_Role +renvoyer oRole:nPKID +FEN_Fiche_Role +Code des champs +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +06/08/2026 Batik 1541 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +06/08/2026 Batik 1542 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SelCtgAcces(Faux) +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +06/08/2026 Batik 1543 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +06/08/2026 Batik 1544 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Code des champs +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Déclarations globales de CMOD_Description +salib = "Description" +Fin d'initialisation de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Description ) (modèle MDLC_SaisieSansModif) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Description ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_LibColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibColb +06/08/2026 Batik 1545 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_LibColb ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_LibColb ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Mob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Mob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Mob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Mob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Mob +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1546 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Mob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Mob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SelCtgAcces(Vrai) +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1547 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Code des champs +ExécuteAncêtre +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Role +salib = "Profil" +Fin d'initialisation de CMOD_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Role ) +06/08/2026 Batik 1548 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_TColbs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TColbs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TColbs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TColbs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TColbs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TColbs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TColbs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1549 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Code des champs +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +06/08/2026 Batik 1550 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_Role ( TABLE_Info ) +InitChamp(MoiMême.NomComplet,cRoleUtilisateur,Faux) +Sélection d'une ligne de COL_Role ( TABLE_Info ) +ChangeRoleColb() +Déclarations globales de CMOD_Titre1 +salib = "Application bureau et mobile" +Fin d'initialisation de CMOD_Titre1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre1 ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre1 ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Titre2 +06/08/2026 Batik 1551 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Code des champs +salib = "Spécificités mobile" +Fin d'initialisation de CMOD_Titre2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre2 ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre2 ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +06/08/2026 Batik 1552 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +Ferme() +fin +FEN_Fiche_Role +Procédures +Procédure locale ChangeRoleColb +procédure ChangeRoleColb() +i est un entier = CMOD_TColbs.TABLE_Info +si i > 0 _et_ CMOD_TColbs.TABLE_Info[i].COL_PKID > 0 alors +nIdUser est un entier sur 8 octets = CMOD_TColbs.TABLE_Info[i].COL_PKID +si tbaListeUser[nIdUser]..Existe alors +tbaListeUser[nIdUser].nIdRole = CMOD_TColbs.TABLE_Info[i].COL_Role +tbaListeUser[nIdUser].Enregistrer() +fin +fin +Procédure locale Enregistrer +procédure Enregistrer() +EcranVersSource() +06/08/2026 Batik 1553 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Procédures +si oRole:saLibelle = "" alors +Erreur("Le libellé du rôle est obligatoire") +RepriseSaisie(CMOD_Role.SAI_Texte) +fin +si oRole:Enregistrer() _et_ oRole:nPKID > 0 alors +reqSup est une Requête SQL = +[ +DELETE FROM AccesEtDroit WHERE AED_IdRole = {p_idRole} +] +reqSup.p_idRole = oRole:nPKID +si pas HExécuteRequêteSQL(reqSup) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue lors de la mise à jour des droits et accès du profil") +renvoyer Faux +fin +tbIdAcces est un tableau d'entiers sur 8 octets +pour toute ligne b de CMOD_BO.TABLE_Info +si CMOD_BO.TABLE_Info[b].COL_Acces _et_ tbaCategorieAcces[CMOD_BO.TABLE_Info[b].COL_PKID].. +Existe alors +TableauAjoute(tbIdAcces,CMOD_BO.TABLE_Info[b].COL_PKID) +fin +fin +pour toute ligne b de CMOD_Mob.TABLE_Info +si CMOD_Mob.TABLE_Info[b].COL_Acces _et_ tbaCategorieAcces[CMOD_Mob.TABLE_Info[b].COL_PKID].. +Existe alors +TableauAjoute(tbIdAcces,CMOD_Mob.TABLE_Info[b].COL_PKID) +fin +fin +pour tout nId de tbIdAcces +HRAZ(AccesEtDroit) +AccesEtDroit.AED_IdRole = oRole:nPKID +AccesEtDroit.AED_CleAcces = tbaCategorieAcces[nId].saCle +AccesEtDroit.AED_Acces = Vrai +/*************** a supprimer ***************/ +si HLitRecherchePremier(ParametreMetier,PA_CodePA_Valeur,["19", oRole:saAncienCode]) alors +AccesEtDroit.AED_IDProfil = ParametreMetier.PA_PKID +fin +si HLitRecherchePremier(ParametreMetier,PA_CodePA_Valeur,["29",tbaCategorieAcces[nId]. +saAncienCode]) alors +AccesEtDroit.AED_IDModule = ParametreMetier.PA_PKID +fin +/************** a supprimer ******************/ +AccesEtDroit.CreationUser = CollaborateurEnCours:nIdUser +AccesEtDroit.CreationDate = DateHeureSys() +AccesEtDroit.ModifUser = CollaborateurEnCours:nIdUser +AccesEtDroit.ModifDate = DateHeureSys() +si pas HEnregistre(AccesEtDroit) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue lors de la mise à jour des droits et accès du profil") +renvoyer Faux +fin +fin +fin +renvoyer Vrai +Procédure locale Filtrer +06/08/2026 Batik 1554 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Procédures +procédure Filtrer() +TableSupprimeTout(CMOD_BO.TABLE_Info) +TableSupprimeTout(CMOD_Mob.TABLE_Info) +TableSupprimeTout(CMOD_TColbs.TABLE_Info) +TableauSupprimeTout(tbaCategorieAcces) +TableauSupprimeTout(tbaListeUser) +odCtgAcces est un MCategorieAcces dynamique +i est un entier +ReqAcces est une Requête SQL = +[ +SELECT * FROM CategorieAcces ORDER BY CAC_Ordre +] +si HExécuteRequête(ReqAcces) alors +pour tout ReqAcces +odCtgAcces = allouer un MCategorieAcces +FichierVersMémoire(odCtgAcces,ReqAcces) +tbaCategorieAcces[ReqAcces.CAC_PKID] = odCtgAcces +si ReqAcces.CAC_Mobile alors +i = TableAjouteLigne(CMOD_Mob.TABLE_Info) +CMOD_Mob.TABLE_Info[i].COL_PKID = ReqAcces.CAC_PKID +CMOD_Mob.TABLE_Info[i].COL_Droit = ReqAcces.CAC_Libelle +CMOD_Mob.TABLE_Info[i].COL_CLE = ReqAcces.CAC_Cle +sinon +i = TableAjouteLigne(CMOD_BO.TABLE_Info) +CMOD_BO.TABLE_Info[i].COL_PKID = ReqAcces.CAC_PKID +CMOD_BO.TABLE_Info[i].COL_Droit = ReqAcces.CAC_Libelle +CMOD_BO.TABLE_Info[i].COL_CLE = ReqAcces.CAC_Cle +fin +fin +SelCtgAcces(Faux) +fin +si nIdRole <= 0 alors +retour +fin +si pas HLitRecherchePremier(Role,R_PKID,nIdRole) alors +retour +sinon +FichierVersMémoire(oRole,Role) +fin +CMOD_LibColb.LIB_lib = "Collaborateurs disposant du rôle ("+oRole.saLibelle+")" +SourceVersEcran() +reqRole est une Requête SQL = +[ +SELECT * +FROM AccesEtDroit +INNER JOIN CategorieAcces ON CAC_Cle = AED_CleAcces +WHERE AED_IdRole = {p_IdRole} +] +reqRole.p_IdRole = oRole.nPKID +si HExécuteRequêteSQL(reqRole) alors +pour tout reqRole +i = TableCherche(CMOD_BO.TABLE_Info.COL_CLE,reqRole.AED_CleAcces,rechercheIdentique) +si i > 0 alors +CMOD_BO.TABLE_Info[i].COL_Acces = reqRole.AED_Acces +fin +06/08/2026 Batik 1555 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Role › Procédures +i = TableCherche(CMOD_Mob.TABLE_Info.COL_CLE,reqRole.AED_CleAcces,rechercheIdentique) +si i > 0 alors +CMOD_Mob.TABLE_Info[i].COL_Acces = reqRole.AED_Acces +fin +fin +fin +odUnUser est un MUtilisateur dynamique +si nIdRole > 0 alors +reqColb est une Requête SQL = +[ +SELECT CO_Nom, CO_Prenom, Utilisateur.* +FROM Utilisateur +INNER JOIN Collaborateur ON CO_PKID = UT_IDCollaborateur +WHERE UT_IdRole= {p_IdRole} +] +reqColb.p_IdRole = nIdRole +si HExécuteRequêteSQL(reqColb) alors +pour tout reqColb +odUnUser = allouer un MUtilisateur +FichierVersMémoire(odUnUser, reqColb) +odUnUser:saNom = reqColb.CO_Nom +odUnUser:saPrenom = reqColb.CO_Prenom +tbaListeUser[odUnUser:nPKID] = odUnUser +i = TableAjouteLigne(CMOD_TColbs.TABLE_Info) +CMOD_TColbs.TABLE_Info[i].COL_PKID = odUnUser.nPKID +CMOD_TColbs.TABLE_Info[i].COL_Nom = reqColb.CO_Nom +[" "]+reqColb.CO_Prenom +CMOD_TColbs.TABLE_Info[i].COL_Role = odUnUser:nIdRole +fin +fin +fin +Procédure locale SelCtgAcces +procédure SelCtgAcces(bMob est un booléen) +nIdCtg est un entier sur 8 octets +i est un entier +si bMob alors +i = CMOD_Mob.TABLE_Info +si i > 0 _et_ CMOD_Mob.TABLE_Info.COL_PKID[i] > 0 alors +nIdCtg = CMOD_Mob.TABLE_Info.COL_PKID[i] +fin +sinon +i = CMOD_BO.TABLE_Info +si i > 0 _et_ CMOD_BO.TABLE_Info.COL_PKID[i] > 0 alors +nIdCtg = CMOD_BO.TABLE_Info.COL_PKID[i] +fin +fin +si nIdCtg > 0 _et_ tbaCategorieAcces[nIdCtg]..Existe alors +CMOD_Description.SAI_Texte = tbaCategorieAcces[nIdCtg].saDescription +fin +06/08/2026 Batik 1556 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Image +FEN_Fiche_RDV +Image +FEN_Fiche_RDV +Informations générales +FEN_Fiche_RDV +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Fiche_RDV.wdw +Créé par SMR +06/08/2026 Batik 1557 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations générales +| Date de création | | 06/08/2025 09:04:57 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 02/04/2026 09:10:51 | | | | +| Titre | | FR: Rendez-vous | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Fiche Rendez-vous +| Position X | 0 Position Y | | 0 Largeur | 1199 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 1558 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations générales +| 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 | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Champ de saisie | | 10 | Libellé | | | 6 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Bouton | | 5 | Interrupteur | | | 3 | +| | Image | | 13 | Table | | | 2 | +| | Combo | | 3 | Zone répétée | | | 1 | +| | Superchamp | | 3 | Champ Modèle de champs | | | 37 | +| | Option d'interrupteur | | 3 | Option de menu | | | 4 | +| | Colonne de table | | 12 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 103 +FEN_Fiche_RDV +Informations sur les champs +Fenêtre : FEN_Fiche_RDV +Zone répétée +BAT ehcuoT +| | | X noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| ZR_Colb | | 2 | 54 587 | 373 | 0 | Actif | | +| ---------- | --- | --- | ------ | --- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | | 1559 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Bloque | | | 875 | 5 | 30 | 24 | 0 | Actif | | +| -------------------- | --- | --- | ---- | --- | ---- | --- | --- | ----- | --- | +| CMOD_BordFen | | | 0 | -29 | 1063 | 29 | 0 | Actif | | +| CMOD_CR | | | 282 | 2 | 141 | 49 | 0 | Actif | | +| CMOD_Caracteristique | | | 589 | 54 | 604 | 373 | 0 | Actif | | +| CMOD_ColbPlus | | | 142 | 2 | 132 | 49 | 0 | Actif | | +| CMOD_Dossier | | | 837 | 5 | 30 | 24 | 0 | Actif | | +| CMOD_Inter | | | 2 | 427 | 1191 | 219 | 0 | Actif | | +| CMOD_JourPlus | | | 6 | 2 | 128 | 49 | 0 | Actif | | +| CMOD_Ouvert | | | 875 | 5 | 30 | 24 | 0 | Actif | | +| CMOD_SansNom2 | | | 1052 | 5 | 141 | 35 | 0 | Actif | | +| CMOD_SansNom3 | | | 910 | 5 | 141 | 35 | 0 | Actif | | +| CMOD_VisiteGuide | | | 800 | 5 | 29 | 24 | 0 | Actif | | +Zone répétée : ZR_Colb +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP | Y noitisoP | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| LIB_Code | | 8 | 8 | 57 20 | 0 | Grisé | Gauche | Haut | | +| --------- | --- | --- | --- | ----- | --- | ----- | ------ | ---- | --- | +| LIB_IdSoc | | 8 | 0 | 57 20 | 0 | Actif | Droite | Haut | | +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +lennoitroporp .csA +.loc .gifnoc .oméM +| | | | | | | )(ertliFH resilitU | | ruesnecsa elluB EERTNE noitseG | | +| --- | --- | --- | --- | --- | --- | ------------------ | -------------- | ------------------------------ | ----------------------------- | +| | | | | | | .gerne egacolB | noitcelésitluM | edacsac eisiaS | eércna ennoloC 5.5 elbitapmoC | +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | --- | --- | +sruocraP +ruegraL ruetuaH +elbisiV +| | | | nalP | | elbaT | | | | | +| ---------- | ---- | --- | ----- | ----- | ------ | --- | --- | --- | ---- | +| TABLE_Colb | 2 56 | 562 | 119 0 | Actif | Mémoir | | | | 1 | +| 06/08/2026 | | | | Batik | | | | | 1560 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_CR | | 171 | 23 | 288 | 29 | | 0 | Actif | | +| ------------ | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_Date | | 2 | 1 | 161 | 53 | | 0 | Actif | | +| CMOD_Options | | 528 | 3 | 30 | 30 | | 0 | Actif | | +Table : ZR_Colb.TABLE_Colb +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | ehcuag à eéxiF | elbairt ennoloC ehcrehcer cevA | | | | | | +| --- | --- | ------------ | -------------- | ------------------------------ | ------------- | ------------- | ----------- | --------------------- | ----------- | +| | | | | | .zroh egardaC | .trev egardaC | | | | +| | | laitini tatE | elbaçalpéD | | | | eisias epyT | engilitluM FTR tamroF | eisias cevA | +ruegraL +elbisiV +| epyT | | | | | | | | | eéirT | +| ------------ | --- | -------- | --- | --- | ------ | ------ | ------- | --- | ----- | +| COL_PKID | 880 | Grisé | | | Droite | Centre | Numériq | | | +| COL_Colb | 184 | affichag | | | Gauche | Centre | Texte | | | +| COL_HDeb | 60 | Actif | | | Droite | Centre | Heure | | | +| COL_HFin | 53 | Actif | | | Droite | Centre | Heure | | | +| COL_Status | 136 | Actif | | | Gauche | Centre | Texte | | | +| COL_Resp | 56 | Actif | | | Centre | Centre | | | | +| COL_Sup | 54 | Actif | | | Centre | Centre | | | | +| COL_GuidColb | 100 | Grisé | | | Gauche | Centre | Texte | | | +Champ Modèle de champs : ZR_Colb.CMOD_CR +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP | | | | | laitini tatE | | | staté siorT | +| --- | ---------- | --- | --- | --- | --- | ------------ | --- | --- | ----------- | +Y noitisoP +| | | | ruegraL ruetuaH | | | | | | | +| --- | --- | --- | --------------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| INT_Int | 0 | 0 | 288 | 29 | 0 | Actif | | 1 | | +| ---------- | --- | --- | ----- | --- | --- | ----- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | | 1561 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : ZR_Colb.CMOD_Date +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_Date | 0 0 | 161 53 0 | Actif | Date | | Non | | | +| -------- | --- | -------- | ----- | ---- | --- | --- | --- | --- | +Champ Modèle de champs : ZR_Colb.CMOD_Options +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP | | | | | laitini tatE | sucof cevA | +| --- | --- | ---------- | --- | --- | --- | --- | ------------ | ---------- | +Y noitisoP cilc cevA +| | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| IMG_Icone | | 0 0 | | 30 30 | 0 | | Actif | | +| --------- | --- | --- | --- | ----- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Bloque +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | | laitini tatE | sucof cevA | +| --- | --- | --------------------- | ------- | ------- | --- | --- | ------------ | ---------- | +| | | X noitisoP Y noitisoP | | | | | | | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | | 875 5 | | 30 24 | 0 | | Actif | | +| ---------- | --- | ----- | --- | ----- | --- | --- | ----- | ---- | +| 06/08/2026 | | | | Batik | | | | 1562 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libellé | 91 | -27 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | --- | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 1031 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | ---- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_CR +Bouton +notuob epyT +| | | | | | | laitini tatE | BAT ehcuoT | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | ---------- | --- | +| | X noitisoP | Y noitisoP | | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Valider | 282 | 2 | 141 | 47 | 0 | Actif | | Normal | +| ----------- | --- | --- | ----- | --- | --- | ----- | --- | ------ | +| 06/08/2026 | | | Batik | | | | | 1563 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_Div | | 593 | 59 | 595 | 362 | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_Caracteristique.SC_Div +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_CreePar | | 600 | 359 | 192 | 53 | 0 | Actif | | +| --------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_ModifiePar | | 794 | 359 | 192 | 53 | 0 | Actif | | +| CMOD_Note | | 600 | 203 | 585 | 154 | 0 | Actif | | +| CMOD_Objet | | 600 | 151 | 585 | 52 | 0 | Actif | | +| CMOD_SAV | | 988 | 359 | 196 | 29 | 0 | Actif | | +| CMOD_SMS | | 988 | 388 | 196 | 29 | 0 | Actif | | +| CMOD_Societe | | 988 | 96 | 191 | 53 | 0 | Actif | | +| CMOD_Status | | 794 | 96 | 192 | 53 | 0 | Actif | | +| CMOD_Titre | | 628 | 65 | 552 | 26 | 0 | Actif | | +| CMOD_TitreImg | | 600 | 66 | 29 | 24 | 0 | Actif | | +| CMOD_TypeRDV | | 600 | 96 | 192 | 53 | 0 | Actif | | +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_CreePar +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 | FTR tamroF | | | | +| | X noitisoP Y noitisoP | | | engilitluM | | | | | +ruegraL ruetuaH +elbisiV +nalP +| SAI_Texte | 600 359 192 | 53 0 | affichag | Texte | Non | | | | +| ---------- | ----------- | ---- | -------- | ----- | --- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 1564 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_ModifiePar +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_Texte | 794 359 192 | 53 0 | affichag | Texte | | Non | | +| --------- | ----------- | ---- | -------- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Note +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_Texte | 600 203 585 | 154 0 | Actif | Texte | | Non | | +| --------- | ----------- | ----- | ----- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Objet +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_Texte | 600 151 585 | 52 0 | Actif | Texte | | Non | | +| ---------- | ----------- | ---- | ----- | ----- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | 1565 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_SAV +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | laitini tatE | BAT ehcuoT | staté siorT | +| --- | ---------- | ---------- | --- | --- | ------------ | ---------- | ----------- | +| | X noitisoP | Y noitisoP | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| INT_Int | | 988 359 | 196 29 | 0 | Actif | 1 | | +| ------- | --- | ------- | ------ | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_SMS +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP | | | | laitini tatE | | staté siorT | +| --- | ---------- | --- | --- | --- | ------------ | --- | ----------- | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Int | | 988 388 | 196 29 | 0 | Actif | 1 | | +| ------- | --- | ------- | ------ | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Societe +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | ------------------ | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | | +| --- | --------------------- | ------- | ------------ | ---------- | ----------- | --- | --- | +| | X noitisoP Y noitisoP | | laitini tatE | | | | | +| | | ruetuaH | | | sruocraP | | | +| | | ruegraL | elbisiV | | | | | +| | | | | elbaT | eéirT | | | +nalP +| CMB_Combo | 988 96 | 191 53 | 0 Actif | Mémoire | | Non | | +| ---------- | ------ | ------ | ------- | ------- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | 1566 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Status +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_Combo | 794 | 96 192 | 53 0 Actif | Mémoire | | Non | | +| --------- | --- | ------ | ---------- | ------- | --- | --- | --- | +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP | Y noitisoP | | laitini tatE | | | | +| --- | ---------- | ---------- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | | 628 65 | 552 26 | 0 Actif | Gauche | Centre | | +| ------- | --- | ------ | ------ | ------- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_TitreImg +Image +| | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | --- | --- | --- | ------------ | --------------------------------------- | ---------- | +| | | | | | laitini tatE | | sucof cevA | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | cilc cevA | | +| --- | --- | --- | ------- | ------- | --- | --------- | --- | +elbisiV +nalP +| IMG_Icone | | 600 | 66 29 | 24 0 | Actif | | | +| ---------- | --- | --- | ----- | ---- | ----- | --- | ---- | +| 06/08/2026 | | | Batik | | | | 1567 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_TypeRDV +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_Combo | 600 | 96 192 53 | 0 Actif | Mémoire | Non | | +| --------- | --- | --------- | ------- | ------- | --- | --- | +Champ Modèle de champs : CMOD_ColbPlus +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| BTN_Valider | | 142 | 2 132 47 | 0 | Actif | Normal | +| ----------- | --- | --- | -------- | --- | ----- | ------ | +Champ Modèle de champs : CMOD_Dossier +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | laitini tatE | sucof cevA | +| --- | --- | --------------------- | --- | --- | ------------ | ---------- | +ruetuaH cilc cevA +ruegraL +elbisiV +nalP +| IMG_Icone | | 837 5 | 30 24 | 0 | Actif | | +| --------- | --- | ----- | ----- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Inter +| 06/08/2026 | | | Batik | | | 1568 | +| ---------- | --- | --- | ----- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_Div | | 6 | 432 | 1182 | 208 | 0 | Actif | | +| ------ | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_Inter.SC_Div +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_Contacts | | 889 | 462 | 287 | 172 | 0 | Actif | | +| ------------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_DescrInter | | 11 | 517 | 586 | 117 | 0 | Actif | | +| CMOD_Devis | | 282 | 463 | 150 | 53 | 0 | Actif | | +| CMOD_ImgSite | | 605 | 437 | 29 | 24 | 0 | Actif | | +| CMOD_NumInter | | 11 | 463 | 240 | 53 | 0 | Actif | | +| CMOD_RechercheInter | | 252 | 492 | 23 | 23 | 0 | Actif | | +| CMOD_RefExt | | 436 | 463 | 157 | 53 | 0 | Actif | | +| CMOD_SansNom5 | | 637 | 436 | 535 | 26 | 0 | Actif | | +| CMOD_Site | | 605 | 462 | 284 | 172 | 0 | Actif | | +| CMOD_Titre | | 43 | 437 | 554 | 26 | 0 | Actif | | +| CMOD_TitreImg | | 11 | 438 | 29 | 24 | 0 | Actif | | +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Contacts +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | --- | ------------------ | ------------------ | --- | +)(ertliFH resilitU +| | | | | | .gerne egacolB | ruesnecsa elluB | EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +| --- | --- | --- | --- | --- | -------------- | --------------- | -------------- | ----------------------------- | +| | | | | | | noitcelésitluM | edacsac eisiaS | | +laitini tatE BAT ehcuoT +| | X noitisoP Y noitisoP | | | sruocraP | | | | | +| --- | --------------------- | --- | --- | -------- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +elbaT +nalP +| TABLE_Info | 891 464 281 | 166 0 | Actif | Mémoir | | | | 3 | +| ---------- | ----------- | ----- | ----- | ------ | --- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 1569 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Table : CMOD_Inter.SC_Div.CMOD_Contacts.TABLE_Info +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_PKID | | 880 | Grisé | | | Droite | Centre | Numériq | | +| COL_Present | | 32 | Actif | | | Centre | Centre | | | +| COL_Nom | | 227 | affichag | | | Gauche | Centre | Texte | | +| COL_GUIDPers | | 100 | Grisé | | | Gauche | Centre | Texte | | +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_DescrInter +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 | FTR tamroF | | | | +| | X noitisoP Y noitisoP | | | | | engilitluM | | | | +ruegraL ruetuaH +elbisiV +nalP +| SAI_Texte | 11 517 | 586 117 | 0 | Actif | Texte | | Non | | | +| --------- | ------ | ------- | --- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Devis +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_Texte | 282 463 | 150 53 | 0 | affichag | Texte | | Non | | | +| ---------- | ------- | ------ | --- | -------- | ----- | --- | --- | --- | ---- | +| 06/08/2026 | | | | | Batik | | | | 1570 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_ImgSite +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | | | laitini tatE | sucof cevA | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | ---------- | +ruetuaH cilc cevA +ruegraL +elbisiV +nalP +| IMG_Icone | | 605 437 | | 29 24 | 0 | | Actif | | +| --------- | --- | ------- | --- | ----- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_NumInter +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 | | laitini tatE | eisias epyT | engilitluM | | | | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| SAI_Texte | 11 463 | 240 53 0 | affichag | Texte | | Non | | | +| --------- | ------ | -------- | -------- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_RechercheInter +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | | laitini tatE | sucof cevA | +| --- | --- | --------------------- | ------- | ------- | --- | --- | ------------ | ---------- | +| | | X noitisoP Y noitisoP | | | | | | | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | | 252 492 | | 23 23 | 0 | | Actif | | +| ---------- | --- | ------- | --- | ----- | --- | --- | ----- | ---- | +| 06/08/2026 | | | | Batik | | | | 1571 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_RefExt +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_Texte | 436 463 | 157 53 | 0 affichag | | Texte | Non | | | +| --------- | ------- | ------ | ---------- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_SansNom5 +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 637 436 | 535 | 26 | 0 | Actif | Gauche Centre | | +| ------- | --- | ------- | --- | --- | --- | ----- | ------------- | --- | +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Site +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 | eisias epyT FTR tamroF | | ediv is LLUN | lacitrev .csA | +| --- | --------------------- | --- | --- | ------------ | ---------------------- | --- | ------------ | ------------- | +| | X noitisoP Y noitisoP | | | laitini tatE | engilitluM | | | | +ruetuaH +| | | ruegraL | elbisiV | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +nalP +| SAI_Texte | 605 462 | 284 172 | 0 affichag | | Texte | Non | | | +| ---------- | ------- | ------- | ---------- | ----- | ----- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | 1572 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 43 437 | 554 26 | 0 | Actif | Gauche | Centre | | +| ------- | ------ | ------ | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_TitreImg +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | ------------ | --------- | ---------- | +| | | | ruetuaH | | | cilc cevA | | +| | | ruegraL | | elbisiV | | | | +nalP +| IMG_Icone | 11 | 438 29 | 24 | 0 | Actif | | | +| --------- | --- | ------ | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_JourPlus +Bouton +| | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | +| --- | ---------- | ---------- | ------- | --- | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Valider | 6 | 2 128 | 47 | 0 | Actif | Normal | | +| ----------- | --- | ----- | --- | --- | ----- | ------ | --- | +Champ Modèle de champs : CMOD_Ouvert +| 06/08/2026 | | Batik | | | | | 1573 | +| ---------- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › 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_Icone | 875 | 5 30 | 24 0 | Actif | | +| --------- | --- | ---- | ---- | ----- | --- | +Champ Modèle de champs : CMOD_SansNom2 +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | laitini tatE | | +| --- | ---------- | ---------- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | elbisiV | | | +| --- | --- | ------- | ------- | --- | --- | +nalP +| BTN_Valider | 1052 | 5 141 | 35 0 | Actif | Normal | +| ----------- | ---- | ----- | ---- | ----- | ------ | +Champ Modèle de champs : CMOD_SansNom3 +Bouton +BAT ehcuoT notuob epyT +| | X noitisoP | Y noitisoP | | laitini tatE | | +| --- | ---------- | ---------- | ------- | ------------ | --- | +| | | ruegraL | ruetuaH | | | +elbisiV +nalP +| BTN_Annuler | 910 | 5 141 | 35 0 | Actif | Normal | +| ----------- | --- | ----- | ---- | ----- | ------ | +Champ Modèle de champs : CMOD_VisiteGuide +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | laitini tatE | sucof cevA | +| --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | ruegraL ruetuaH | | cilc cevA | | +| --- | --- | --------------- | --- | --------- | --- | +elbisiV +nalP +| IMG_Icone | 800 | 5 29 | 24 0 | Actif | | +| ---------- | --- | ----- | ---- | ----- | ---- | +| 06/08/2026 | | Batik | | | 1574 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Fenêtre : FEN_Fiche_RDV +Champ Modèle de champs : CMOD_Bloque +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +06/08/2026 Batik 1575 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_CR +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 450 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite, largeur et hauteur +Taux anc. droite 400 Taux anc. bas 1000 Taux anc. largeur 600 Taux anc. hauteur 500 +06/08/2026 Batik 1576 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_ColbPlus +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 450 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Dossier +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1577 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Inter +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Bas, largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 600 Taux anc. largeur 1000 Taux anc. hauteur 400 +Champ Modèle de champs : CMOD_JourPlus +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 400 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1578 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Ouvert +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom2 +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1579 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom3 +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_VisiteGuide +Ordre navigation 13 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1580 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Zone répétée : ZR_Colb +Libellé FR: &Zone répétée +Groupe GR_Modif +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 +Hauteur ligne max. 0 +Hauteur ligne 181 +Largeur colonne 583 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +06/08/2026 Batik 1581 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Oui +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 400 Taux anc. hauteur 600 +Champ Modèle de champs : CMOD_Bloque +Image : CMOD_Bloque.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\cadena_fermé_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 1582 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 1583 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +06/08/2026 Batik 1584 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 +06/08/2026 Batik 1585 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +06/08/2026 Batik 1586 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › 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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_CR +Bouton : CMOD_CR.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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 +06/08/2026 Batik 1587 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Type flèche <Aucun> +Texte Markdown Non +Mode menu ctx. <Aucun> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique +Superchamp : CMOD_Caracteristique.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 593 +Hauteur externe 360 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1588 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Superchamp : CMOD_Caracteristique.SC_Div +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_CreePar +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite et bas, largeur +Taux anc. droite 0 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_ModifiePar +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite et bas, largeur +Taux anc. droite 330 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +06/08/2026 Batik 1589 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Note +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Objet +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1590 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_SAV +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite et bas, largeur +Taux anc. droite 660 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_SMS +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite et bas, largeur +Taux anc. droite 660 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +06/08/2026 Batik 1591 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Societe +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 660 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Status +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 330 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +06/08/2026 Batik 1592 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_TitreImg +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1593 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_TypeRDV +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_CreePar +Champ de saisie : CMOD_Caracteristique.SC_Div.CMOD_CreePar.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Groupe GR_Modif +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 600 +Largeur interne 192 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +06/08/2026 Batik 1594 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › 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: 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, non 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 +06/08/2026 Batik 1595 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_ModifiePar +Champ de saisie : CMOD_Caracteristique.SC_Div.CMOD_ModifiePar.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Groupe GR_Modif +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 794 +Largeur interne 192 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 1596 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Automatique +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Note +06/08/2026 Batik 1597 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ de saisie : CMOD_Caracteristique.SC_Div.CMOD_Note.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Groupe GR_Modif +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 601 +Largeur interne 584 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Batik 1598 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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> +Liaison des données :oRdv.saDescription +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Objet +Champ de saisie : CMOD_Caracteristique.SC_Div.CMOD_Objet.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Groupe GR_Modif +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 +06/08/2026 Batik 1599 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › 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 601 +Largeur interne 584 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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> +Liaison des données :oRdv.saObjet +Gestion Euro Non +06/08/2026 Batik 1600 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_SAV +Interrupteur : CMOD_Caracteristique.SC_Div.CMOD_SAV.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Groupe GR_Modif +Ordre navigation 1 +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 +06/08/2026 Batik 1601 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +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> +Liaison des données :oRdv.bSAV +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_SMS +Interrupteur : CMOD_Caracteristique.SC_Div.CMOD_SMS.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Groupe GR_Modif +Ordre navigation 1 +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) +06/08/2026 Batik 1602 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +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> +Liaison des données :oRdv.bRappelSMS +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Societe +Combo : CMOD_Caracteristique.SC_Div.CMOD_Societe.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +Groupe GR_Modif +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 191 +Larg. déroulée perso. Non +Hauteur ligne 38 +06/08/2026 Batik 1603 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Retrait gauche 10 +Position X interne 988 +Largeur interne 191 +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 Oui +Liaison des données :oRdv.nIDSociete +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1604 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Status +Combo : CMOD_Caracteristique.SC_Div.CMOD_Status.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +Groupe GR_Modif +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 192 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 794 +Largeur interne 192 +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 +06/08/2026 Batik 1605 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +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 Oui +Liaison des données :oRdv.saCleStatut +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_Titre +Libellé : CMOD_Caracteristique.SC_Div.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse <Aucun> +06/08/2026 Batik 1606 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_TitreImg +Image : CMOD_Caracteristique.SC_Div.CMOD_TitreImg.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\information-info-svgrepo-com.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +06/08/2026 Batik 1607 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +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 +Champ Modèle de champs : CMOD_Caracteristique.SC_Div.CMOD_TypeRDV +Combo : CMOD_Caracteristique.SC_Div.CMOD_TypeRDV.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +Groupe GR_Modif +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 192 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 600 +Largeur interne 192 +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 +06/08/2026 Batik 1608 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › 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 +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 Oui +Liaison des données :oRdv.saCleType +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_ColbPlus +Bouton : CMOD_ColbPlus.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Groupe GR_Btn +Ordre navigation 1 +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 +06/08/2026 Batik 1609 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +É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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Dossier +Image : CMOD_Dossier.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Dossier_noire.svg +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 +06/08/2026 Batik 1610 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_Inter +Superchamp : CMOD_Inter.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 1180 +Hauteur externe 206 +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 +06/08/2026 Batik 1611 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Source de remplissage Table chargée en mémoire +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Inter.SC_Div +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Contacts +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite, largeur et hauteur +Taux anc. droite 750 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_DescrInter +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +06/08/2026 Batik 1612 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Devis +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 250 Taux anc. bas 1000 Taux anc. largeur 125 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_ImgSite +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 1613 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_NumInter +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 240 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_RechercheInter +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 240 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1614 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_RefExt +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 375 Taux anc. bas 1000 Taux anc. largeur 125 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_SansNom5 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 520 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1615 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Site +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite, largeur et hauteur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Titre +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Batik 1616 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_TitreImg +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Contacts +Table : CMOD_Inter.SC_Div.CMOD_Contacts.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Groupe GR_Modif +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +06/08/2026 Batik 1617 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +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 +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 +06/08/2026 Batik 1618 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Table : CMOD_Inter.SC_Div.CMOD_Contacts.TABLE_Info +Colonne de table : CMOD_Inter.SC_Div.CMOD_Contacts.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : CMOD_Inter.SC_Div.CMOD_Contacts.TABLE_Info.COL_Present (2) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +06/08/2026 Batik 1619 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : CMOD_Inter.SC_Div.CMOD_Contacts.TABLE_Info.COL_Nom (3) +Titre FR: Contacts +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 +06/08/2026 Batik 1620 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Colonne de table : CMOD_Inter.SC_Div.CMOD_Contacts.TABLE_Info.COL_GUIDPers (4) +Titre FR: GUIDPers +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 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_DescrInter +Champ de saisie : CMOD_Inter.SC_Div.CMOD_DescrInter.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Groupe GR_Modif +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +06/08/2026 Batik 1621 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +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 12 +Largeur interne 585 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 1622 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Devis +Champ de saisie : CMOD_Inter.SC_Div.CMOD_Devis.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 282 +Largeur interne 150 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 1623 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Automatique +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1624 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_ImgSite +Image : CMOD_Inter.SC_Div.CMOD_ImgSite.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Site_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 1625 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_NumInter +Champ de saisie : CMOD_Inter.SC_Div.CMOD_NumInter.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 11 +Largeur interne 240 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Batik 1626 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_RechercheInter +Image : CMOD_Inter.SC_Div.CMOD_RechercheInter.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Loupe_noire.svg +Groupe GR_Btn +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +06/08/2026 Batik 1627 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +É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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_RefExt +Champ de saisie : CMOD_Inter.SC_Div.CMOD_RefExt.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 +06/08/2026 Batik 1628 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Position X interne 436 +Largeur interne 157 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 1629 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome Couleur monochrome du style +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_SansNom5 +Libellé : CMOD_Inter.SC_Div.CMOD_SansNom5.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1630 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Site +Champ de saisie : CMOD_Inter.SC_Div.CMOD_Site.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 605 +Largeur interne 284 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Batik 1631 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Titre +Libellé : CMOD_Inter.SC_Div.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 +06/08/2026 Batik 1632 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Ancrage au contenu <Aucun> +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_TitreImg +Image : CMOD_Inter.SC_Div.CMOD_TitreImg.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Dossier_noire.svg +Groupe GR_Saisie +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) +06/08/2026 Batik 1633 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_JourPlus +Bouton : CMOD_JourPlus.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Groupe GR_Btn +Ordre navigation 1 +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 +06/08/2026 Batik 1634 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Facteur d'agrandissement 0 +Type flèche <Aucun> +Texte Markdown Non +Mode menu ctx. <Aucun> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Ouvert +Image : CMOD_Ouvert.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\cadena_ouvert_noire.svg +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 Oui +Mode 9 images Non +06/08/2026 Batik 1635 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_SansNom2 +Bouton : CMOD_SansNom2.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +06/08/2026 Batik 1636 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom3 +Bouton : CMOD_SansNom3.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +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 +06/08/2026 Batik 1637 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_VisiteGuide +Image : CMOD_VisiteGuide.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\VisiteGuide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 1638 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Zone répétée : ZR_Colb +Champ Modèle de champs : ZR_Colb.CMOD_CR +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 700 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_Colb.CMOD_Date +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1639 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : ZR_Colb.CMOD_Options +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_Colb.LIB_Code +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> +06/08/2026 Batik 1640 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_Colb.LIB_IdSoc +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 Numérique +Masque saisie FR: 99 999 999 999 999 999 999 +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 +Table : ZR_Colb.TABLE_Colb +Libellé FR: Table +Groupe GR_Modif +Ordre navigation 11 +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. 3 +06/08/2026 Batik 1641 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +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 +06/08/2026 Batik 1642 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_Colb.CMOD_CR +Interrupteur : ZR_Colb.CMOD_CR.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Groupe GR_Modif +Ordre navigation 1 +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 +Nb. états image 1 +Largeur image 85 +06/08/2026 Batik 1643 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_Colb.CMOD_Date +Champ de saisie : ZR_Colb.CMOD_Date.SAI_Date +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Date +Groupe GR_Modif +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 6 +Largeur interne 156 +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> +06/08/2026 Batik 1644 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1645 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Champ Modèle de champs : ZR_Colb.CMOD_Options +Image : ZR_Colb.CMOD_Options.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\options.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 1646 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Table : ZR_Colb.TABLE_Colb +Colonne de table : ZR_Colb.TABLE_Colb.COL_PKID (1) +Titre FR: PKID +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 : ZR_Colb.TABLE_Colb.COL_Colb (2) +Titre FR: Collab. +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 +Bulle d'aide FR: Collaborateur +Numéro aide 0 +06/08/2026 Batik 1647 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +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 300 Taux anc. hauteur 1000 +Colonne de table : ZR_Colb.TABLE_Colb.COL_HDeb (3) +Titre FR: Début +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: HH:MM +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 120 Taux anc. hauteur 1000 +06/08/2026 Batik 1648 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Colonne de table : ZR_Colb.TABLE_Colb.COL_HFin (4) +Titre FR: Fin +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: HH:MM +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 120 Taux anc. hauteur 1000 +Colonne de table : ZR_Colb.TABLE_Colb.COL_Status (5) +Titre FR: Status +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 136 +Larg. déroulée perso. Non +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 +06/08/2026 Batik 1649 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Mot de passe Non +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 250 Taux anc. hauteur 1000 +Colonne de table : ZR_Colb.TABLE_Colb.COL_Resp (6) +Titre FR: Resp. +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Bulle d'aide FR: Responsable +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 100 Taux anc. hauteur 1000 +06/08/2026 Batik 1650 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Informations sur les champs +Colonne de table : ZR_Colb.TABLE_Colb.COL_Sup (7) +Titre FR: Sup. +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Bulle d'aide FR: Superposable +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 100 Taux anc. hauteur 1000 +Colonne de table : ZR_Colb.TABLE_Colb.COL_GuidColb (8) +Titre FR: GuidColb +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 +06/08/2026 Batik 1651 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › 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 +FEN_Fiche_RDV +Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_AjouterColb (2) +OPT_SupprimerColb (3) +OPT_Supprimer_Jour (4) +Libellé des options : Français +Ajouter un collaborateur +Supprimer le collaborateur sélectionné +Supprimer la journée sélectionnée +FEN_Fiche_RDV +Code +Déclarations globales de FEN_Fiche_RDV +procédure FEN_Fiche_RDV(nId est un entier sur 8 octets, oColbCreation est un MRDV_Colb = Null, +nIdInterV est un entier sur 8 octets = 0) +// Si le rendez-vous doit être créé avec des informations pré-remplies, on doit utiliser le +ordvCreation +oRdv est un MRDV_Planning +06/08/2026 Batik 1652 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code +saDescrInter est une chaîne ANSI +oRdvOriginal est un MRDV_Planning // Utilise pour savoir si le rendez-vous a été modifié +tbContacts est un tableau de MPersonne_Ct +bBloque est un booléen +bOk est un booléen = Faux +Fin d'initialisation de FEN_Fiche_RDV +Filtrer() +si oRdv:nPKID > 0 alors +MessageAjouteCase("Id",100) +{"Id"} = oRdv:nPKID +sinon +CMOD_CR..Visible = Faux +fin +si nIdInterV > 0 alors +RechercheSite() +fin +MaJChamps() +Bloquer() +MaJBtnBlocage() +si gtbaListeEtat[cGroupe_EtatRDV]..Existe = Vrai alors +MenuAjouteMenu(MNU_Options,"Opt_Imp_R","Imprimer") +pour tout oEtat de gtbaListeEtat[cGroupe_EtatRDV] +MenuAjouteOption("Opt_Imp_R","Imprimer_"+oEtat.nPKID,oEtat.saLibelle,Imprimer,oEtat.nPKID) +fin +fin +Fermeture de FEN_Fiche_RDV +renvoyer bOk +FEN_Fiche_RDV +Code des champs +Fin d'initialisation de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Bloque +06/08/2026 Batik 1653 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +BlocageEnrg() +A chaque modification de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +06/08/2026 Batik 1654 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Caracteristique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Caracteristique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Caracteristique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Caracteristique +06/08/2026 Batik 1655 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Caracteristique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Caracteristique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Caracteristique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CreePar +salib = "Créé par " +Fin d'initialisation de CMOD_CreePar +06/08/2026 Batik 1656 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CreePar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CreePar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CreePar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CreePar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CreePar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CreePar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_CreePar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_CreePar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_CreePar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_CreePar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_CreePar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_ModifiePar +salib = "Modifié par " +Fin d'initialisation de CMOD_ModifiePar +06/08/2026 Batik 1657 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ModifiePar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ModifiePar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ModifiePar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ModifiePar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ModifiePar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ModifiePar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_ModifiePar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_ModifiePar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_ModifiePar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_ModifiePar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_ModifiePar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Note +salib = "Note sur le RDV" +Fin d'initialisation de CMOD_Note +06/08/2026 Batik 1658 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Objet +salib = "Objet" +Fin d'initialisation de CMOD_Objet +06/08/2026 Batik 1659 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Objet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Objet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Objet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Objet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Objet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SAV +salib = "SAV" +Fin d'initialisation de CMOD_SAV +06/08/2026 Batik 1660 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SAV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SAV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SAV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SAV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SAV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SAV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_SAV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Int ( CMOD_SAV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Int ( CMOD_SAV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Int ( CMOD_SAV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_SAV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SMS +salib = "Rappel SMS" +Fin d'initialisation de CMOD_SMS +06/08/2026 Batik 1661 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SMS +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SMS +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SMS +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SMS +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SMS +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SMS +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_SMS ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Int ( CMOD_SMS ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Int ( CMOD_SMS ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Int ( CMOD_SMS ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_SMS ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Societe +salib = "Société" +Fin d'initialisation de CMOD_Societe +06/08/2026 Batik 1662 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême..NomComplet,cSocietes,Vrai,oRdv:nIDSociete) +Entrée dans CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Status +06/08/2026 Batik 1663 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +salib = "Statut" +Fin d'initialisation de CMOD_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême..NomComplet,cParam_StatusRDV,Vrai,oRdv:saCleStatut) +Entrée dans CMB_Combo ( CMOD_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +pour toute ligne b de ZR_Colb +pour toute ligne i de ZR_Colb[b].TABLE_Colb +ZR_Colb[b].TABLE_Colb[i].COL_Status = CMOD_Status.CMB_Combo +fin +06/08/2026 Batik 1664 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Caractéristiques" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_TitreImg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TitreImg +06/08/2026 Batik 1665 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TitreImg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TitreImg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TitreImg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TitreImg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TitreImg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_TitreImg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_TitreImg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_Icone ( CMOD_TitreImg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_TitreImg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_TitreImg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_TitreImg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_TypeRDV +salib = "Type de rendez-vous" +Fin d'initialisation de CMOD_TypeRDV +06/08/2026 Batik 1666 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_TypeRDV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême..NomComplet,cParam_TypeRDV,Vrai,oRdv:saCleType) +Entrée dans CMB_Combo ( CMOD_TypeRDV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_TypeRDV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_TypeRDV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_TypeRDV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_ColbPlus +06/08/2026 Batik 1667 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +salib ="Ajouter un collaborateur" +Fin d'initialisation de CMOD_ColbPlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ColbPlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ColbPlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ColbPlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ColbPlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ColbPlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ColbPlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_ColbPlus ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_ColbPlus ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +RechercheColb(Faux) +Déclarations globales de CMOD_CR +salib = "Afficher les comptes rendus" +Fin d'initialisation de CMOD_CR +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CR +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CR +06/08/2026 Batik 1668 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CR +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CR +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CR +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CR +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_CR ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_CR ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +AfficherCompteRendu() +Fin d'initialisation de CMOD_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Dossier +06/08/2026 Batik 1669 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Dossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Dossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvrirDossier() +A chaque modification de IMG_Icone ( CMOD_Dossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Dossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Dossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Dossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Inter +06/08/2026 Batik 1670 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Contacts +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Contacts +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1671 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +ExécuteAncêtre +Entrée dans CMOD_Contacts +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Contacts +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Contacts +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Contacts +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Contacts +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +06/08/2026 Batik 1672 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_DescrInter +salib = "Description de l'intervention" +Fin d'initialisation de CMOD_DescrInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DescrInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DescrInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DescrInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DescrInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DescrInter +06/08/2026 Batik 1673 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DescrInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_DescrInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_DescrInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_DescrInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_DescrInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_DescrInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Devis +salib = "N° Devis" +Fin d'initialisation de CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Devis +06/08/2026 Batik 1674 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Devis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Devis ) (modèle MDLC_SaisieSansModif) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Devis ) (modèle MDLC_SaisieSansModif) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_ImgSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ImgSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ImgSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ImgSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ImgSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ImgSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ImgSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_ImgSite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_ImgSite ) +06/08/2026 Batik 1675 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_Icone ( CMOD_ImgSite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_ImgSite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_ImgSite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_ImgSite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NumInter +salib = "Référence interne" +Fin d'initialisation de CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NumInter ) (modèle MDLC_SaisieSansModif) +06/08/2026 Batik 1676 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NumInter ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_RechercheInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_RechercheInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_RechercheInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_RechercheInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_RechercheInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_RechercheInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_RechercheInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_RechercheInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_RechercheInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +RechercheSite() +A chaque modification de IMG_Icone ( CMOD_RechercheInter ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1677 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_RechercheInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_RechercheInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_RechercheInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_RefExt +salib = "Réf. externe" +Fin d'initialisation de CMOD_RefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_RefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_RefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_RefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_RefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_RefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_RefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_RefExt ) (modèle MDLC_SaisieSansModif) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +06/08/2026 Batik 1678 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_RefExt ) (modèle MDLC_SaisieSansModif) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_SansNom5 +salib = "Site et Contact(s) lié(s) au Rendez-vous" +Fin d'initialisation de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_SansNom5 ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_SansNom5 ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Site +06/08/2026 Batik 1679 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +salib = "Site" +Fin d'initialisation de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Site ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Site ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Site ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Site ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Site ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +06/08/2026 Batik 1680 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +salib = "Intervention" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_TitreImg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TitreImg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TitreImg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TitreImg +06/08/2026 Batik 1681 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TitreImg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TitreImg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TitreImg +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_TitreImg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_TitreImg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_Icone ( CMOD_TitreImg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_TitreImg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_TitreImg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_TitreImg ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_JourPlus +salib ="Ajouter une journée" +Fin d'initialisation de CMOD_JourPlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_JourPlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_JourPlus +06/08/2026 Batik 1682 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_JourPlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_JourPlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_JourPlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_JourPlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_JourPlus ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_JourPlus ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +AjouterJourne() +Fin d'initialisation de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ouvert +06/08/2026 Batik 1683 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +BlocageEnrg() +A chaque modification de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom2 +06/08/2026 Batik 1684 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +bOk = Vrai +Ferme() +fin +Fin d'initialisation de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_SansNom3 ) +06/08/2026 Batik 1685 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_SansNom3 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +bOk = Faux +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_SansNom3 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitVisiteFicheRDV() +A chaque modification de IMG_Icone ( CMOD_VisiteGuide ) +06/08/2026 Batik 1686 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection du menu de MNU_Options.OPT_AjouterColb +RechercheColb(Vrai) +Sélection du menu de MNU_Options.OPT_Supprimer_Jour +SupprimerJour() +Sélection du menu de MNU_Options.OPT_SupprimerColb +SupprimerColb() +Entrée dans ZR_Colb +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_CR +salib = "Compte rendu obligatoire" +Fin d'initialisation de CMOD_CR +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CR +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CR +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CR +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CR +06/08/2026 Batik 1687 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CR +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CR +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_CR ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Int ( CMOD_CR ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Int ( CMOD_CR ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Int ( CMOD_CR ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_CR ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Date +salib = "Date du rendez-vous" +Fin d'initialisation de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Date +06/08/2026 Batik 1688 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Date ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Date ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Date ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Date ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Date ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1689 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_Code ( ZR_Colb ) +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_IdSoc ( ZR_Colb ) +// Version 1 +// Description +// Libellé simple +Initialisation de TABLE_Colb +//Exécute le traitement défini dans le modèle +Entrée dans TABLE_Colb +06/08/2026 Batik 1690 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +Sortie de TABLE_Colb +//Exécute le traitement défini dans le modèle +Entrée en saisie d'une ligne de TABLE_Colb +//Exécute le traitement défini dans le modèle +Sortie d'une ligne de TABLE_Colb +//Exécute le traitement défini dans le modèle +Affichage d'une ligne de TABLE_Colb +//Exécute le traitement défini dans le modèle +Sélection d'une ligne de TABLE_Colb +//Exécute le traitement défini dans le modèle +Clic de validation de la saisie de TABLE_Colb +//Exécute le traitement défini dans le modèle +Clic d'annulation de la saisie de TABLE_Colb +//Exécute le traitement défini dans le modèle +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Colb +//Exécute le traitement défini dans le modèle +Initialisation de COL_PKID ( TABLE_Colb ) +//Exécute le traitement défini dans le modèle +Entrée dans COL_PKID ( TABLE_Colb ) +//Exécute le traitement défini dans le modèle +Sortie de COL_PKID ( TABLE_Colb ) +06/08/2026 Batik 1691 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Code des champs +//Exécute le traitement défini dans le modèle +A chaque modification de COL_PKID ( TABLE_Colb ) +//Exécute le traitement défini dans le modèle +Initialisation de COL_Status ( TABLE_Colb ) +InitChamp(MoiMême..NomComplet,cParam_StatusRDV,Vrai) +FEN_Fiche_RDV +Procédures +Procédure locale AfficherCompteRendu +procédure AfficherCompteRendu() +si oRdv.saGUID <> "" alors +Ouvre(FEN_CompteRendus,oRdv.saGUID) +fin +Procédure locale AjouterJourne +procédure AjouterJourne() +b est un entier = ZR_Colb..Occurrence +p est un entier +i est un entier +si b > 0 alors +dDate est une Date = DateDuJour() +si DateValide(ZR_Colb[b].CMOD_Date.SAI_Date) alors +dDate = ZR_Colb[b].CMOD_Date.SAI_Date +dDate..Jour += 1 +fin +i = ZoneRépétéeAjouteLigne(ZR_Colb) +ZR_Colb[i].CMOD_Date.SAI_Date = dDate +pour toute ligne h de ZR_Colb[b].TABLE_Colb +p = TableAjouteLigne(ZR_Colb[i].TABLE_Colb) +ZR_Colb[i].TABLE_Colb[p].COL_HDeb = ZR_Colb[b].TABLE_Colb[h].COL_HDeb +ZR_Colb[i].TABLE_Colb[p].COL_HFin = ZR_Colb[b].TABLE_Colb[h].COL_HFin +si ZR_Colb[b].TABLE_Colb[h].COL_GuidColb <> "" _et_ gtabListeCollaborateurs[ZR_Colb[b].TABLE_ +Colb[h].COL_GuidColb]..Existe = Vrai _et_ gtabListeCollaborateurs[ZR_Colb[b].TABLE_Colb[h].COL_ +GuidColb].nPKID > 0 alors +ZR_Colb[i].TABLE_Colb[p].COL_Colb = gtabListeCollaborateurs[ZR_Colb[b].TABLE_Colb[h].COL_ +GuidColb].NomPrenom() +fin +06/08/2026 Batik 1692 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Procédures +ZR_Colb[i].TABLE_Colb[p].COL_Status = ZR_Colb[b].TABLE_Colb[h].COL_Status +ZR_Colb[i].TABLE_Colb[p].COL_GuidColb = ZR_Colb[b].TABLE_Colb[h].COL_GuidColb +fin +sinon +i = ZoneRépétéeAjouteLigne(ZR_Colb) +si DateValide(oRdv:dDateRdv) alors +ZR_Colb[i].CMOD_Date.SAI_Date = oRdv:dDateRdv +sinon +ZR_Colb[i].CMOD_Date.SAI_Date = Null +fin +fin +Procédure locale BlocageEnrg +procédure BlocageEnrg() +si oRdv:nPKID <= 0 alors +bBloque = Vrai +renvoyer Vrai +fin +si pas bBloque _et_ oRdv:nVerrou <> Base.VerrouParMoi alors +oRdv:bAvecBlocage = Vrai +si oRdv:DateCharge(nId) alors +bBloque = Vrai +sinon +oRdv:bAvecBlocage= Faux +bBloque = Faux +fin +sinon +si bBloque _et_ oRdv:nVerrou = Base.VerrouParMoi alors +oRdv:bDebloqueEnreg = Vrai +oRdv:DebloqueFichier() +bBloque = Faux +sinon +bBloque = Faux +fin +fin +si bBloque alors +Filtrer() +fin +MaJBtnBlocage() +Procédure locale Bloquer +procédure Bloquer() +si nId <= 0 alors +bBloque = Vrai +renvoyer Vrai +fin +oRdv:bAvecBlocage = Vrai +si oRdv:DateCharge(nId) alors +si oRdvOriginal.nIDIntervention = oRdv.nIDIntervention alors +oRdv.nIDLieu = oRdvOriginal.nIDLieu +// parfois le site est saisie âpres la création du rendez-vous, doncque on force la mise à jour +fin +bBloque = Vrai +sinon +oRdv:bAvecBlocage= Faux +bBloque = Faux +fin +Procédure locale Enregistrer +06/08/2026 Batik 1693 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Procédures +procédure Enregistrer() +si pas bBloque et oRdv.nPKID > 0 alors +renvoyer Vrai +fin +EcranVersSource() +TableauSupprimeTout(oRdv:tbaColbs) +TableauSupprimeTout(oRdv:tbaContacts) +tbRdvSup est un tableau de MRDV_Colb +tbCtcSup est un tableau de MRDV_Contact +tbRdv est un tableau de MRDV_Colb // pour pouvoir rechercher dans le tableau +tbCtc est un tableau de MRDV_Contact +oRdv:bGroupe = Faux +oRdv:dDateRdv = "00000000" +//************Collaborateur et dates ******************// +odColb est un MRDV_Colb dynamique +pour toute ligne b de ZR_Colb +si DateValide(ZR_Colb[b].CMOD_Date.SAI_Date) alors +oRdv:dDateRdv = ZR_Colb[b].CMOD_Date.SAI_Date +fin +pour toute ligne h de ZR_Colb[b].TABLE_Colb +odColb = allouer un MRDV_Colb +odColb:nPKID = ZR_Colb[b].TABLE_Colb[h].COL_PKID +odColb:saGUID_Colb = ZR_Colb[b].TABLE_Colb[h].COL_GuidColb +odColb:dhDateDeb..PartieDate = ZR_Colb[b].CMOD_Date.SAI_Date +odColb:dhDateFin..PartieDate = ZR_Colb[b].CMOD_Date.SAI_Date +odColb:dhDateDeb..PartieHeure = ZR_Colb[b].TABLE_Colb[h].COL_HDeb +odColb:dhDateFin..PartieHeure = ZR_Colb[b].TABLE_Colb[h].COL_HFin +odColb:saCleStatut = ZR_Colb[b].TABLE_Colb[h].COL_Status +odColb:bResponsable = ZR_Colb[b].TABLE_Colb[h].COL_Resp +odColb:bSuperposable = ZR_Colb[b].TABLE_Colb[h].COL_Sup +odColb:bcr = ZR_Colb[b].CMOD_CR.INT_Int +oRdv:tbaColbs[odColb:saGUID_Colb+odColb:dhDateDeb..PartieDate] = odColb +// tableau associatif afin de éviter de avoir deux rendez-vous pour le meme collaborateur le +meme jour +TableauAjoute(tbRdv,odColb) +si h > 1 alors +oRdv:bGroupe = Vrai +fin +fin +fin +si pas DateValide(oRdv:dDateRdv) alors +fin +pour tout oRC, saCle de oRdvOriginal:tbaColbs +si oRC:nPKID > 0 _et_ TableauCherche(tbRdv,tcLinéaire,"nPKID",oRC:nPKID) <= 0 alors +TableauAjoute(tbRdvSup,oRC) +fin +fin +//*****************Contacts *********************************// +odCtc est un MRDV_Contact dynamique +pour toute ligne t de TABLE_Info +si TABLE_Info[t].COL_Present alors +odCtc = allouer un MRDV_Contact +odCtc:nPKID = TABLE_Info[t].COL_PKID +odCtc:saGUID_Pers = TABLE_Info[t].COL_GUIDPers +oRdv:tbaContacts[odCtc:saGUID_Pers] = odCtc +TableauAjoute(tbCtc,odCtc) +fin +fin +06/08/2026 Batik 1694 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Procédures +pour tout oRCt, saCle de oRdvOriginal:tbaContacts +si oRCt:nPKID > 0 _et_ TableauCherche(tbCtc,tcLinéaire,"nPKID",oRCt:nPKID) <= 0 alors +TableauAjoute(tbCtcSup,oRCt) +fin +fin +si ZR_Colb..Occurrence > 1 alors +oRdv:bPlusieursJours = Vrai +sinon +oRdv:bPlusieursJours = Faux +fin +saMsg est une chaîne ANSI +si oRdv.Enregistrer() alors +pour tout oColb de oRdv:tbaColbs +si DateHeureValide(oColb:dhDateDeb) _et_ DateValide(oColb:dhDateFin) _et_ oColb:saGUID_Colb <> +Null _et_ oColb:saGUID_Colb <> "" _et_ pas oColb:bSuperposable alors +saMsg += GestionConflitRDVReq([oColb:saGUID_Colb],oColb:dhDateDeb,oColb:dhDateFin,oRdv: +saGUID,Faux) +fin +fin +si saMsg <> "" alors +Erreur(saMsg) +renvoyer Faux +fin +pour tout oColb de oRdv:tbaColbs +oColb:saGUID_RDV = oRdv:saGUID +oColb:Enregistrer() +fin +pour tout oCtc de oRdv:tbaContacts +oCtc:saGUID_RDV = oRdv:saGUID +oCtc:Enregistrer() +fin +pour tout oCS de tbRdvSup +si HLitRecherchePremier(RDV_Collaborateur,RVC_PKID,oCS:nPKID) alors +RDV_Collaborateur.Archive = Vrai +HEnregistre(RDV_Collaborateur) +fin +fin +pour tout oPers de tbCtcSup +si HLitRecherchePremier(RDV_Contact,RVCT_PKID,oPers:nPKID) alors +HSupprime(RDV_Contact) +fin +fin +renvoyer Vrai +sinon +renvoyer Faux +fin +Procédure locale FiltreColbs +procédure FiltreColbs() +i est un entier +ZoneRépétéeSupprimeTout(ZR_Colb) +si oRdv:tbaColbs..Occurrence <= 0 alors +i = ZoneRépétéeAjouteLigne(ZR_Colb) +06/08/2026 Batik 1695 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Procédures +ZR_Colb[i].CMOD_Date.SAI_Date = Null +si DateValide(oRdv:dDateRdv) alors +ZR_Colb[i].CMOD_Date.SAI_Date = oRdv:dDateRdv +fin +renvoyer Faux +fin +TableauTrie(oRdv:tbaColbs,ttMembre+tccRespecteNumérique,"+dhDateDeb") +dDateRdv est une Date +dDateRdv..Année = 1000 // Pour ne pas être dans la date du jour +b est un entier +pour tout oColb de oRdv:tbaColbs +b = 0 +si dDateRdv <> oColb.dhDateDeb..PartieDate alors +i = ZoneRépétéeAjouteLigne(ZR_Colb) +dDateRdv = oColb.dhDateDeb..PartieDate +fin +si i > 0 alors +si DateHeureValide(oColb.dhDateDeb) alors +ZR_Colb[i].CMOD_Date.SAI_Date = oColb.dhDateDeb..PartieDate +b = TableAjouteLigne(ZR_Colb[i].TABLE_Colb) +ZR_Colb[i].TABLE_Colb[b].COL_HDeb = oColb.dhDateDeb..PartieHeure +ZR_Colb[i].TABLE_Colb[b].COL_HFin = oColb.dhDateFin..PartieHeure +fin +si oColb:saGUID_Colb <> "" _et_ gtabListeCollaborateurs[oColb:saGUID_Colb]..Existe = Vrai _et_ +gtabListeCollaborateurs[oColb:saGUID_Colb].nPKID > 0 alors +si b <= 0 alors +b = TableAjouteLigne(ZR_Colb[i].TABLE_Colb) +fin +ZR_Colb[i].TABLE_Colb[b].COL_Colb = gtabListeCollaborateurs[oColb:saGUID_Colb].NomPrenom() +fin +si b > 0 alors +ZR_Colb[i].TABLE_Colb[b].COL_PKID = oColb.nPKID +ZR_Colb[i].TABLE_Colb[b].COL_Status = oColb.saCleStatut +ZR_Colb[i].TABLE_Colb[b].COL_Resp = oColb.bResponsable +ZR_Colb[i].TABLE_Colb[b].COL_Sup = oColb.bSuperposable +ZR_Colb[i].TABLE_Colb[b].COL_GuidColb = oColb.saGUID_Colb +fin +fin +fin +Procédure locale Filtrer +procédure Filtrer() +odColb est un MRDV_Colb dynamique +si nId > 0 alors +TableauSupprimeTout(oRdv:tbaColbs) +reqRdv est une Requête SQL = +[ +SELECT RDV_Planning.*, RDV_Planning.GUID AS RV_GUID, +RDV_Planning.CreationUser AS RV_IdUserC, RDV_Planning.ModifUser AS RV_IdUserM, +RDV_Planning.CreationDate AS RV_DateC, RDV_Planning.ModifDate AS RV_DateM, +RDV_Collaborateur.*,IN_Description, IN_NumDevis, IN_RefExterne, IN_RefInterne, AD_Adresse, +AD_CodePostal, AD_Ville, LI_CodeLieu,LI_PKID, +(SELECT COUNT(CR_PKID) FROM CompteRendu WHERE CR_GUID_Rdv = RDV_Planning.GUID) AS nb_cr +FROM RDV_Planning +LEFT JOIN RDV_Collaborateur ON (RDV_Collaborateur.RVC_GUID_RDV = RDV_Planning.GUID AND +RDV_Collaborateur.Archive = 0) +06/08/2026 Batik 1696 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Procédures +LEFT JOIN Intervention ON Intervention.IN_PKID = RDV_Planning.RV_IdInter +LEFT JOIN Lieu ON Lieu.LI_PKID = COALESCE(Intervention.IN_IDLieu, RDV_Planning.RV_IdLieu) +LEFT JOIN Adresse ON Adresse.AD_PKID = Lieu.LI_IDAdresse +WHERE RV_PKID = {p_Id} +] +//COALESCE renvoie la première valeur différente de NULL. +//Le rendez-vous peut avoir été créé sans que l’intervention ait un site défini, +// ou un rendez-vous peut exister sans intervention mais avec un site (ce cas n’est pas encore +possible). +/***********RDV*************/ +reqRdv.p_Id = nId +si pas HExécuteRequêteSQL(reqRdv) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue lors de la récupération des informations de votre rendez-vous", +"FEN_Fiche_RDV.Filtrer") +sinon +bRdv est un booléen = Faux +pour tout reqRdv +si pas bRdv alors +FichierVersMémoire(oRdv,reqRdv) +oRdv.saGUID = reqRdv.RV_GUID +oRdv.nIDLieu = reqRdv.li_pkid +saDescrInter = reqRdv.IN_Description +CMOD_DescrInter.SAI_Texte = reqRdv.IN_Description +CMOD_Site.SAI_Texte = reqRdv.LI_CodeLieu + [RC] + reqRdv.AD_Adresse+[RC]+ +reqRdv.AD_CodePostal+[RC]+reqRdv.AD_Ville +CMOD_NumInter.SAI_Texte = reqRdv.IN_RefInterne +CMOD_Devis.SAI_Texte = reqRdv.IN_NumDevis +CMOD_RefExt.SAI_Texte = reqRdv.IN_RefExterne +si reqRdv.RV_IdUserC > 0 _et_ gtbaListeUtilisateurs[reqRdv.RV_IdUserC]..Existe = Vrai +_et_... +gtbaListeUtilisateurs[reqRdv.RV_IdUserC].nIDCollaborateur > 0 _et_ +gtabListeCollaborateurs[gtbaListeUtilisateurs[reqRdv.RV_IdUserC].nIDCollaborateur] +..Existe= Vrai alors +CMOD_CreePar.SAI_Texte = gtabListeCollaborateurs[gtbaListeUtilisateurs[reqRdv. +RV_IdUserC].nIDCollaborateur].NomPrenom() +sinon +CMOD_CreePar.SAI_Texte ="" +fin +si reqRdv.RV_IdUserM > 0 _et_ gtbaListeUtilisateurs[reqRdv.RV_IdUserm]..Existe = Vrai +_et_... +gtbaListeUtilisateurs[reqRdv.RV_IdUserm].nIDCollaborateur > 0 _et_ +gtabListeCollaborateurs[gtbaListeUtilisateurs[reqRdv.RV_IdUserm].nIDCollaborateur] +..Existe= Vrai alors +CMOD_ModifiePar.SAI_Texte = gtabListeCollaborateurs[gtbaListeUtilisateurs[reqRdv. +RV_IdUserm].nIDCollaborateur].NomPrenom() +sinon +CMOD_ModifiePar.SAI_Texte ="" +fin +fin +/***********Collaborateurs***************/ +si reqRdv.RVC_PKID > 0 alors +odColb = allouer un MRDV_Colb +FichierVersMémoire(odColb,reqRdv) +oRdv:tbaColbs[reqRdv.RVC_GUID_Colb+reqRdv.rvc_DateDeb..PartieDate] = odColb +fin +si reqRdv.RV_GUID <> "" _et_ reqRdv.nb_cr > 0 alors +CMOD_CR..Visible = Vrai +sinon +CMOD_CR..Visible = Faux +06/08/2026 Batik 1697 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Procédures +fin +fin +fin +/*********Contacts*************/ +FiltrerContacts() +oRdvOriginal = oRdv +sinon +si oColbCreation <> Null alors +si oColbCreation.saGUID_Colb <> "" ou oColbCreation.saGUID_Colb <> Null alors +si DateHeureValide(oColbCreation.dhDateDeb) alors +oColbCreation.dhDateFin..PartieDate = oColbCreation.dhDateDeb..PartieDate +fin +oRdv:tbaColbs[oColbCreation.saGUID_Colb+oColbCreation.dhDateDeb..PartieDate] = +oColbCreation +fin +oRdv:nPKID = 0 +fin +CMOD_CreePar.SAI_Texte = CollaborateurEnCours:NomPrenom() +oRdv:nIDSociete = CollaborateurEnCours:IdSocPrincipal > 0 ? CollaborateurEnCours:IdSocPrincipal +sinon CollaborateurEnCours:tbSocietes..Occurrence > 0 ? CollaborateurEnCours:tbSocietes[1] sinon 0 +fin +FiltreColbs() +SourceVersEcran() +Procédure locale FiltrerContacts +procédure FiltrerContacts(bChangementSite est un booléen = Faux) +TableSupprimeTout(CMOD_Contacts.TABLE_Info) +TableauSupprimeTout(tbContacts) +TableauSupprimeTout(oRdv:tbaContacts) +si oRdv.nIDIntervention <= 0 ou oRdv.nIDLieu <= 0 alors +renvoyer Faux +fin +odPers est un MPersonne_Ct dynamique +odCtc est un MRDV_Contact dynamique +reqCtc est une Requête SQL = +[ +SELECT Personne.*, RVCT_PKID, RVCT_GUID_Pers, RVCT_GUID_RDV +FROM Personne +LEFT JOIN Intervention_Personne ON (Intervention_Personne.IP_IDPersonne=Personne.PE_PKID) +LEFT JOIN RDV_Contact ON (RVCT_GUID_Pers = Personne.GUID AND RVCT_GUID_RDV = {p_GuidRdv}) +WHERE Intervention_Personne.IP_IDIntervention={p_IdIntervention} +AND Intervention_Personne.IP_IDLieu={p_IdLieu} +] +reqCtc.p_GuidRdv = oRdv:saGUID +reqCtc.p_IdIntervention = oRdv.nIDIntervention +reqCtc.p_IdLieu = oRdv.nIDLieu +si pas HExécuteRequêteSQL(reqCtc) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue lors de la récupération des informations de votre rendez-vous", +"FEN_Fiche_RDV.FiltrerContacts") +sinon +pour tout reqCtc +odPers = allouer un MPersonne_Ct +06/08/2026 Batik 1698 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Procédures +si reqCtc.RVCT_PKID > 0 alors +odPers.bContactUtilise = Vrai +odCtc = allouer un MRDV_Contact +FichierVersMémoire(odCtc,reqCtc) +oRdv:tbaContacts[odCtc:saGUID_Pers] = odCtc +fin +FichierVersMémoire(odPers,reqCtc) +TableauAjoute(tbContacts,odPers) +fin +fin +i est un entier +pour tout oCtc de tbContacts +i = TableAjouteLigne(CMOD_Contacts.TABLE_Info) +si oRdv:tbaContacts[oCtc:saGUID]..Existe _et_ oRdv:tbaContacts[oCtc:saGUID].nPKID > 0 alors +CMOD_Contacts.COL_PKID[i] = oRdv:tbaContacts[oCtc:saGUID].nPKID +fin +COL_Nom[i] = oCtc.NomPrenom() +si pas bChangementSite alors +COL_Present[i] = oCtc.bContactUtilise +sinon +COL_Present[i] = Vrai +fin +COL_GUIDPers[i] = oCtc.saGUID +fin +si i > 0 alors +TableTrie(CMOD_Contacts.TABLE_Info,"COL_Present") +fin +Procédure locale Imprimer +procédure Imprimer(nIdEtat est un entier sur 8 octets) +i est un entier = ZR_Colb +si nIdEtat > 0 _et_ i > 0 _et_ ZR_Colb[i].TABLE_Colb > 0 alors +si oRdv:nPKID <= 0 alors +si OuiNon( +"Le rendez-vous n’a pas encore été enregistré. Souhaitez-vous l’enregistrer et continuer ?") = +Non alors +renvoyer Faux +fin +fin +si pas Enregistrer() alors +renvoyer Faux +fin +oEtat est un MEtat_Deplacement +oEtat.Filtrer(oRdv:nPKID,ZR_Colb[i].CMOD_Date.SAI_Date) +iDestination(iVisualisateur) +iImprimeEtat(gtbaListeEtat[cGroupe_EtatRDV][nIdEtat].savaleur, oEtat) +fin +Procédure locale MaJBtnBlocage +procédure MaJBtnBlocage() +GR_Modif..EnSaisie = bBloque +GR_Btn..Grisé = bBloque ? Faux sinon Vrai +si pas bBloque alors +CMOD_Ouvert..Visible = Faux +CMOD_Bloque..Visible = Vrai +06/08/2026 Batik 1699 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Procédures +sinon +CMOD_Ouvert..Visible = Vrai +CMOD_Bloque..Visible = Faux +fin +Procédure locale MaJChamps +procédure MaJChamps() +si oRdv.nPKID > 0 _et_ oRdv:nIDIntervention > 0 alors +CMOD_RechercheInter..Visible = Faux +sinon +si nIdInterV > 0 alors +CMOD_RechercheInter..Visible = Faux +sinon +CMOD_RechercheInter..Visible = Vrai +fin +fin +si oRdv:saCleStatut = cCle_RDVAPlanifier alors +CMOD_Status.CMB_Combo..Grisé = Vrai +CMOD_RechercheInter..Visible = Faux +ZR_Colb..Visible = Faux +fin +si oRdv.nIDIntervention > 0 _et_ oRdv.nIDDossier > 0 alors +CMOD_Dossier..Visible = Vrai +sinon +CMOD_Dossier.Visible = Faux +fin +Procédure locale OuvrirDossier +procédure OuvrirDossier() +si oRdv.nIDIntervention > 0 _et_ oRdv.nIDDossier > 0 alors +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[cParam_Fenetre] = cFI_Liste_DossierClient +tbaParam[Intervention.IN_PKID..Nom] = oRdv.nIDIntervention +tbaParam[Dossier.DO_PKID..Nom] = oRdv.nIDDossier +tbaParam[cParam_IdFen] = oRdv.nIDDossier +OuvreFenSouers("FEN_Fiche_Dossier",tbaParam) +fin +Procédure locale RechercheColb +procédure RechercheColb(bZoneR est un booléen) +tbIdColbs est un tableau d'entiers sur 8 octets +i est un entier = ZR_Colb +b est un entier +z est un entier +si bZoneR alors +si i > 0 alors +b = ZR_Colb[i].TABLE_Colb..Occurrence +pour toute ligne h de ZR_Colb[i].TABLE_Colb +si ZR_Colb[i].TABLE_Colb[h].COL_GuidColb <> "" _et_ gtabListeCollaborateurs[ZR_Colb[i]. +TABLE_Colb[h].COL_GuidColb].Existe = Vrai alors +TableauAjoute(tbIdColbs,gtabListeCollaborateurs[ZR_Colb[i].TABLE_Colb[h].COL_GuidColb] +06/08/2026 Batik 1700 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Procédures +.nPKID) +fin +fin +fin +fin +tbIdColbs = Ouvre(FEN_Choix_Colbs,tbIdColbs,Vrai) +si tbIdColbs..Occurrence > 0 alors +si bZoneR alors +pour tout nIdColb de tbIdColbs +si nIdColb > 0 _et_ TableCherche(ZR_Colb[i].TABLE_Colb.COL_GuidColb, +gtabListeCollaborateurs[nIdColb].saGUID,rechercheIdentique) <= 0 alors +z = TableAjouteLigne(ZR_Colb[i].TABLE_Colb) +ZR_Colb[i].TABLE_Colb[z].COL_Colb = gtabListeCollaborateurs[nIdColb].NomPrenom() +ZR_Colb[i].TABLE_Colb[z].COL_Status = oRdv:saCleStatut +ZR_Colb[i].TABLE_Colb[z].COL_GuidColb = gtabListeCollaborateurs[nIdColb].saGUID +si b > 0 alors +si HeureValide(ZR_Colb[i].TABLE_Colb[1].COL_HDeb) alors +ZR_Colb[i].TABLE_Colb[z].COL_HDeb = ZR_Colb[i].TABLE_Colb[1].COL_HDeb +ZR_Colb[i].TABLE_Colb[z].COL_HFin = ZR_Colb[i].TABLE_Colb[1].COL_HFin +fin +fin +fin +fin +sinon +pour toute ligne p de ZR_Colb +b = ZR_Colb[p].TABLE_Colb..Occurrence +pour tout nIdColb de tbIdColbs +si nIdColb > 0 _et_ TableCherche(ZR_Colb[p].TABLE_Colb.COL_GuidColb, +gtabListeCollaborateurs[nIdColb].saGUID,rechercheIdentique) <= 0 alors +z = TableAjouteLigne(ZR_Colb[p].TABLE_ +Colb) +ZR_Colb[p].TABLE_Colb[z].COL_Colb = gtabListeCollaborateurs[nIdColb]. +NomPrenom() +ZR_Colb[p].TABLE_Colb[z].COL_Status = oRdv:saCleStatut +ZR_Colb[p].TABLE_Colb[z].COL_GuidColb = gtabListeCollaborateurs[nIdColb].saGUID +si b > 0 alors +si HeureValide(ZR_Colb[p].TABLE_Colb[1].COL_HDeb) alors +ZR_Colb[p].TABLE_Colb[z].COL_HDeb = ZR_Colb[p].TABLE_Colb[1].COL_HDeb +ZR_Colb[p].TABLE_Colb[z].COL_HFin = ZR_Colb[p].TABLE_Colb[1].COL_HFin +fin +fin +fin +fin +fin +fin +fin +Procédure locale RechercheSite +procédure RechercheSite() +nIdInter est un entier sur 8 octets +si nIdInterV <= 0 alors +nIdInter = Ouvre(FEN_Choix_Liste,cFEN_RDV) +sinon +nIdInter = nIdInterV +fin +06/08/2026 Batik 1701 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_RDV › Procédures +si nIdInter > 0 alors +TableauSupprimeTout(tbContacts) +/*********Contacts*************/ +reqInterest une Requête SQL = +[ +SELECT IN_IDDossier, IN_Description, IN_NumDevis, IN_RefExterne, IN_RefInterne, AD_Adresse, +AD_CodePostal, AD_Ville, LI_CodeLieu, LI_PKID +FROM Intervention +LEFT JOIN Lieu ON LI_PKID = IN_IDLieu +LEFT JOIN Adresse ON Adresse.AD_PKID = Lieu.LI_IDAdresse +LEFT JOIN Intervention_Personne ON IP_IDIntervention = IN_PKID +WHERE IN_PKID = {p_idInter} +] +reqInter.p_Idinter = nIdInter +si pas HExécuteRequêteSQL(reqInter) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue lors de la récupération des informations de l'intervention", +"FEN_Fiche_RDV.RechercheSite") +sinon +pour tout reqInter +saDescrInter = reqInter.IN_Description +CMOD_DescrInter.SAI_Texte = reqInter.IN_Description +CMOD_Site.SAI_Texte = reqInter.LI_CodeLieu + [RC] + reqInter.AD_Adresse+[RC]+ +reqInter.AD_CodePostal+[RC]+reqInter.AD_Ville +CMOD_NumInter.SAI_Texte = reqInter.IN_RefInterne +CMOD_Devis.SAI_Texte = reqInter.IN_NumDevis +CMOD_RefExt.SAI_Texte = reqInter.IN_RefExterne +oRdv:nIDIntervention = nIdInter +oRdv.nIDLieu = reqInter.li_pkid +oRdv.nIDDossier = reqInter.in_idDossier +fin +fin +FiltrerContacts(Vrai) +fin +Procédure locale SupprimerColb +procédure SupprimerColb() +i est un entier = ZR_Colb +si i > 0 _et_ ZR_Colb[i].TABLE_Colb > 0 alors +si OuiNon("Êtes-vous sûr de vouloir supprimer le collaborateur sélectionné ?") = Oui alors +TableSupprime(ZR_Colb[i].TABLE_Colb,ZR_Colb[i].TABLE_Colb) +fin +fin +Procédure locale SupprimerJour +procédure SupprimerJour() +i est un entier = ZR_Colb +si i > 0 alors +si OuiNon("Êtes-vous sûr de vouloir supprimer la journée sélectionnée ?") = Oui alors +ZoneRépétéeSupprime(ZR_Colb,i) +fin +fin +06/08/2026 Batik 1702 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Liste › Image +FEN_Choix_Liste +Image +FEN_Choix_Liste +Informations générales +FEN_Choix_Liste +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Choix_Liste.wdw +Créé par SMR +06/08/2026 Batik 1703 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Liste › Informations générales +| Date de création | | 06/08/2025 11:25:55 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 05/03/2026 19:26:38 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Filtres +| Position X | 0 Position Y | | 0 Largeur | 1200 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| 06/08/2026 | | | Batik | | 1704 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Liste › Informations générales +| 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 | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 1 | Image | | | 4 | +| --- | ---------------------- | --- | --- | --------------------- | --- | --- | --- | +| | Fenêtre interne | | 1 | Superchamp | | | 1 | +| | Champ Modèle de champs | | 1 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 9 +FEN_Choix_Liste +Informations sur les champs +Fenêtre : FEN_Choix_Liste +Fenêtre interne +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CFI_Fen_Int | | 0 | 1 1197 | 646 | 0 | Actif | | +| ----------- | --- | --- | ------ | --- | --- | ----- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_BordFen | | 0 | -29 1063 | 29 | 0 | Actif | | +| ------------ | --- | --- | -------- | --- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | | 1705 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Liste › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libellé | 91 | -27 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | --- | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 1031 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | ---- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +Fenêtre : FEN_Choix_Liste +Fenêtre interne : CFI_Fen_Int +| 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 | | | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | | | +| Numéro aide | 0 | | | | | | | | +| 06/08/2026 | | | Batik | | | | | 1706 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Liste › Informations sur les champs +Ascenseur auto. Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Swipe Non +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 21 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +06/08/2026 Batik 1707 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Liste › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 1708 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Liste › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 1709 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Liste › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 +06/08/2026 Batik 1710 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Liste › Informations sur les champs +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 +06/08/2026 Batik 1711 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Liste › Informations sur les champs +Ancrage Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Choix_Liste +Code +Déclarations globales de FEN_Choix_Liste +procédure FEN_Choix_Liste(saFen est une chaîne ANSI,tbaCriteres est un tableau associatif de chaînes +ANSI = Null) +tbaCriteres2 est un tableau associatif de chaînes ANSI +si tbaCriteres = Null alors +tbaCriteres = tbaCriteres2 +fin +nIdChoix est un entier sur 8 octets +Fin d'initialisation de FEN_Choix_Liste +Filtrer() +Fermeture de FEN_Choix_Liste +renvoyer nIdChoix +FEN_Choix_Liste +Code des champs +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +06/08/2026 Batik 1712 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Liste › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +FEN_Choix_Liste +Procédures +Procédure locale Filtrer +procédure Filtrer() +saSousFen est une chaîne ANSI +si tbaCriteres <> Null _et_ tbaCriteres..Occurrence > 0 _et_ tbaCriteres[cParam_Fenetre]..Existe alors +saSousFen = tbaCriteres[cParam_Fenetre] +fin +tbaCriteres[cParam_Fenetre] = cFEN_Choix_Liste +selon saFen +cas cFEN_RDV +06/08/2026 Batik 1713 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Liste › Procédures +ChangeFenêtreSource(CFI_Fen_Int,FI_Liste_Dossier,FEN_Choix_Liste..Nom) +cas cFI_ContactSite,cFI_DonneursOrdre,cFI_Liste_ContactSite,cFI_Liste_ContactClient +ChangeFenêtreSource(CFI_Fen_Int,FI_Liste_Contact,FEN_Choix_Liste..Nom) +si tbaCriteres <> Null _et_ tbaCriteres..Occurrence > 0 alors +ExécuteTraitement(CFI_Fen_Int..Nom+".FiltrerCriteres",trtProcédure,tbaCriteres) +fin +cas cFI_Liste_ClientSite +ChangeFenêtreSource(CFI_Fen_Int,FI_Liste_Site,FEN_Choix_Liste..Nom) +si tbaCriteres <> Null _et_ tbaCriteres..Occurrence > 0 alors +ExécuteTraitement(CFI_Fen_Int..Nom+".FiltrerCriteres",trtProcédure,tbaCriteres) +fin +cas cFI_Liste_SiteClient +ChangeFenêtreSource(CFI_Fen_Int,FI_Liste_Client,FEN_Choix_Liste..Nom) +si tbaCriteres <> Null _et_ tbaCriteres..Occurrence > 0 alors +ExécuteTraitement(CFI_Fen_Int..Nom+".FiltrerCriteres",trtProcédure,tbaCriteres) +fin +cas cFEN_Dossier_C, cFEN_Inter +selon saSousFen +cas cFI_Liste_ContactSite, cFI_Liste_ContactClient +ChangeFenêtreSource(CFI_Fen_Int,FI_Liste_Contact,FEN_Choix_Liste..Nom) +si tbaCriteres <> Null _et_ tbaCriteres..Occurrence > 1 alors +ExécuteTraitement(CFI_Fen_Int..Nom+".FiltrerCriteres",trtProcédure,tbaCriteres) +fin +cas cFI_Liste_Client +ChangeFenêtreSource(CFI_Fen_Int,FI_Liste_Client,FEN_Choix_Liste..Nom) +si tbaCriteres <> Null _et_ tbaCriteres..Occurrence > 1 alors +ExécuteTraitement(CFI_Fen_Int..Nom+".FiltrerCriteres",trtProcédure,tbaCriteres) +fin +cas cFI_Liste_Site +ChangeFenêtreSource(CFI_Fen_Int,FI_Liste_Site,FEN_Choix_Liste..Nom) +si tbaCriteres <> Null _et_ tbaCriteres..Occurrence > 1 alors +ExécuteTraitement(CFI_Fen_Int..Nom+".FiltrerCriteres",trtProcédure,tbaCriteres) +fin +autre cas +fin +autre cas +fin +Procédure locale SelectionLigneFenInt +procédure SelectionLigneFenInt(nId est un entier sur 8 octets) +nIdChoix = nId +Ferme() +06/08/2026 Batik 1714 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colbs › Image +FEN_Choix_Colbs +Image +FEN_Choix_Colbs +Informations générales +FEN_Choix_Colbs +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Choix_Colbs.wdw +Créé par SMR +Date de création 06/08/2025 15:41:20 +Dernière modification par susana@applilogik.fr +Date dernière modification 05/03/2026 19:26:38 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +06/08/2026 Batik 1715 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colbs › Informations générales +Note pour la documentation technique +FR: Sélection des collaborateurs +| Position X | 0 Position Y | | 0 Largeur | 794 Hauteur | 600 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 1716 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colbs › Informations générales +| Déplace souris sur bouton par | | Non | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | +| Compact. barres outils | | Non | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 1 | Bouton | | 2 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | +| | Image | | 10 | Arbre | | 1 | +| | Superchamp | | 1 | Champ Modèle de champs | | 3 | +| | Case barre de message | | 1 | | | | +Nombre d'éléments dans la fenêtre : 19 +FEN_Choix_Colbs +Informations sur les champs +Fenêtre : FEN_Choix_Colbs +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | +ruegraL ruetuaH cilc cevA +elbisiV +nalP +| IMG_Advertencia | | -177 123 | 37 31 | 0 | Actif | | +| --------------- | --- | -------- | ----- | --- | ----- | ---- | +| IMG_Equipe | | -136 24 | 38 43 | 0 | Actif | | +| IMG_Femme | | -169 83 | 35 29 | 0 | Actif | | +| IMG_Homme | | -128 74 | 32 42 | 0 | Actif | | +| IMG_Societe | | -137 -10 | 27 25 | 0 | Actif | | +| IMG_Tous | | -137 122 | 46 38 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | 1717 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colbs › Informations sur les champs +Arbre +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ARBRE_Colb | 7 | 43 778 | 503 | 0 | Actif | | +| ---------- | --- | ------ | --- | --- | ----- | --- | +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Annuler | 495 | 4 141 | 35 | 0 | Actif | | +| ------------ | --- | ------- | --- | --- | ----- | --- | +| CMOD_BordFen | 0 | -29 760 | 29 | 0 | Actif | | +| CMOD_Valider | 644 | 4 141 | 35 | 0 | Actif | | +Champ Modèle de champs : CMOD_Annuler +Bouton +BAT ehcuoT notuob epyT +| | X noitisoP Y noitisoP | | | laitini tatE | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Annuler | 495 4 | 141 35 | 0 | Actif | Normal | | +| ----------- | ----- | ------ | --- | ----- | ------ | --- | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_SansNom1 | 0 | -29 760 | 30 | 0 | Actif | | +| ----------- | --- | ------- | --- | --- | ----- | ---- | +| 06/08/2026 | | Batik | | | | 1718 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colbs › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_Libellé | 91 -27 | 637 25 | 0 | Actif | Gauche | Centre | | +| ----------- | ------ | ------ | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | --- | ------------ | --------- | ---------- | +| | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 728 | -26 28 | 23 | 0 | Actif | | | +| -------------------------- | --- | ------ | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 21 | 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_Valider +Bouton +notuob epyT +| | | | | | laitini tatE | BAT ehcuoT | | +| --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | --- | +| | X noitisoP | Y noitisoP | | | | | | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Valider | 644 | 4 141 | 35 | 0 | Actif | Normal | | +| ----------- | --- | ----- | --- | --- | ----- | ------ | --- | +Fenêtre : FEN_Choix_Colbs +Arbre : ARBRE_Colb +| Libellé | FR: &Arbre | | | | | | | +| ------------------------- | ------------- | ----- | --- | --- | --- | --- | ---- | +| 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 | | | | | | | +| 06/08/2026 | | Batik | | | | | 1719 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colbs › Informations sur les champs +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 1 +Marge à droite 4 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Multiligne Non +Trois états 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 +Transparence Magenta transparent +Multisélection Non +Bulle ascenseur Oui +Avec saisie Non +Avec coche Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Remplissage différé Oui +Largeur image dossier -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 Modèle de champs : CMOD_Annuler +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +06/08/2026 Batik 1720 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colbs › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1721 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colbs › Informations sur les champs +Image : IMG_Advertencia +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\actions.svg +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 Oui +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 : IMG_Equipe +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Equipe_noire.svg +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 +06/08/2026 Batik 1722 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colbs › Informations sur les champs +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 Oui +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 : IMG_Femme +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\femme.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage 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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 1723 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colbs › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Homme +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\homme.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage 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 Oui +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 : IMG_Societe +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Société_noire.svg +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 +06/08/2026 Batik 1724 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colbs › Informations sur les champs +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 Oui +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 : IMG_Tous +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\tous.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage 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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +06/08/2026 Batik 1725 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colbs › Informations sur les champs +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 Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +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 +06/08/2026 Batik 1726 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colbs › Informations sur les champs +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 760 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +06/08/2026 Batik 1727 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colbs › Informations sur les champs +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 1728 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colbs › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 1729 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colbs › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 +06/08/2026 Batik 1730 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colbs › Informations sur les champs +Opacité 100 +Taille police min 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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 +06/08/2026 Batik 1731 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colbs › 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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Choix_Colbs +Code +Déclarations globales de FEN_Choix_Colbs +procédure FEN_Choix_Colbs(tbIdColbs est un tableau d'entiers sur 8 octets, bPlusieurs est un booléen) +Fin d'initialisation de FEN_Choix_Colbs +Filtrer() +Fermeture de FEN_Choix_Colbs +renvoyer tbIdColbs +FEN_Choix_Colbs +Code des champs +Sélection d'une ligne de ARBRE_Colb +si pas bPlusieurs alors +06/08/2026 Batik 1732 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colbs › Code des champs +sIdentifiantArbre est une chaîne ANSI = ArbreRécupèreIdentifiant(ARBRE_Colb,ARBRE_Colb[ARBRE_ +Colb]) +si Contient(sIdentifiantArbre,"CO_PKID_EQ_PKID",SansCasse) ou Contient(sIdentifiantArbre, +"CO_PKID_SO_PKID",SansCasse) alors // Collaborateurs uniquement +nIdColb est un entier sur 8 octets = 0 +sID_1 est une chaîne ANSI = Remplace(sIdentifiantArbre,"CO_PKID_SO_PKID","",SansCasse) +sID_1 = Remplace(sID_1,"CO_PKID_EQ_PKID","",SansCasse) +b est un entier = Position(sID_1,"_",0,DepuisDébut) +si b > 0 alors +nIdColb = Val(sID_1[1 à b]) +si nIdColb > 0 alors +TableauSupprimeTout(tbIdColbs) +TableauAjoute(tbIdColbs, nIdColb) +Ferme() +fin +fin +fin +fin +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +06/08/2026 Batik 1733 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colbs › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +06/08/2026 Batik 1734 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colbs › Code des champs +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +RecupIdColbs() +FEN_Choix_Colbs +Procédures +Procédure locale Filtrer +06/08/2026 Batik 1735 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colbs › Procédures +procédure Filtrer() +ArbreSupprimeTout(ARBRE_Colb) +sIdSoc est une chaîne ANSI +sIdEq est une chaîne ANSI +sImageColb est une chaîne ANSI +pour tout Societe +si pas Societe.SO_Archive alors +si ArbreAjoute(ARBRE_Colb,Societe.SO_Nom,IMG_Societe,IMG_Societe,"SO_PKID"+Societe.SO_PKID, +aTriAlpha,Societe.SO_Nom) alors // on peut avoir le mème Id pour societe et colb ou eq +ARBRE_Colb[Societe.SO_Nom]..CocheVisible = Faux +sIdSoc += [";"]+Societe.SO_PKID +fin +fin +fin +si SansEspace(sIdSoc) <> "" alors +reqEqp est une Requête SQL = +[ +SELECT EQ_PKID, EQ_Nom , SO_PKID , SO_Nom FROM Equipe +INNER JOIN Societe ON SO_PKID = EQ_IDSociete +WHERE EQ_IDSociete IN {p_idSoc} ORDER BY EQ_IDSociete +] +reqEqp.p_idSoc = sIdSoc +si HExécuteRequêteSQL(reqEqp) alors +pour tout reqEqp +si ArbreAjoute(ARBRE_Colb,reqEqp.SO_Nom+TAB+reqEqp.EQ_Nom,IMG_Equipe,IMG_Equipe,"EQ_PKID"+ +reqEqp.EQ_PKID,aAccepteDoublon +aTriAlpha,reqEqp.SO_Nom) alors +ARBRE_Colb[reqEqp.SO_Nom+TAB+reqEqp.EQ_Nom]..CocheVisible = Faux +sIdEq += [";"]+reqEqp.EQ_PKID +fin +fin +fin +fin +si SansEspace(sIdEq) <> "" alors +reqColb est une Requête SQL = +[ +SELECT EQ_IDSociete, EQ_Nom, CO_PKID, CO_Nom, CO_Prenom, CO_Trigramme,CO_CleCivilite,EQ_PKID, +SO_PKID, SO_Nom +FROM Equipe_Collaborateur +INNER JOIN Equipe ON EQ_PKID = EC_IDEquipe +INNER JOIN Collaborateur ON CO_PKID = EC_IDCollaborateur +INNER JOIN Societe ON SO_PKID = EQ_IDSociete +WHERE EC_IDEquipe IN {p_IdEq} AND CO_Actif = 1 AND CO_AuPlanning = 1 ORDER BY EQ_IDSociete +] +reqColb.p_IdEq = sIdEq +si HExécuteRequêteSQL(reqColb) alors +pour tout reqColb +sImageColb = IMG_Homme +si reqColb.CO_CleCivilite = cCle_CiviliteMadame alors +sImageColb = IMG_Femme +sinon +sImageColb = IMG_Homme +fin +ArbreAjoute(ARBRE_Colb,reqColb.SO_Nom+TAB+reqColb.EQ_Nom+TAB+reqColb.CO_Nom+" "+reqColb. +CO_Prenom,sImageColb,sImageColb,... +"CO_PKID_EQ_PKID"+reqColb.CO_PKID+"_"+reqColb.EQ_PKID,aAccepteDoublon + aTriAlpha,reqColb. +CO_Nom+" ("+reqColb.CO_Trigramme+")") +si TableauCherche(tbIdColbs,tcLinéairePremier,reqColb.CO_PKID) > 0 alors +ARBRE_Colb[reqColb.SO_Nom+TAB+reqColb.EQ_Nom+TAB+reqColb.CO_Nom+" "+reqColb.CO_Prenom] +..Cochée = Vrai +06/08/2026 Batik 1736 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colbs › Procédures +fin +fin +fin +fin +nUnIdSocActifs est un entier sur 8 octets +nUnIdSocInactifs est un entier sur 8 octets +si SansEspace(sIdSoc) <> "" alors +reqColb2 est une Requête SQL = +[ +SELECT CO_PKID, CO_Nom, CO_Prenom,CO_Trigramme,CO_CleCivilite,CO_Actif, SO_PKID, SO_Nom FROM +Collaborateur +INNER JOIN Societe_Collaborateur ON SC_IDCollaborateur = CO_PKID +INNER JOIN Societe ON SO_PKID = SC_IDCSociete +WHERE SC_IDCSociete IN {p_IdSoc} AND CO_AuPlanning = 1 ORDER BY SC_IDCSociete +] +reqColb2.p_IdSoc = sIdSoc +si HExécuteRequête(reqColb2) alors +pour tout reqColb2 +si reqColb2.CO_CleCivilite = cCle_CiviliteMadame alors +sImageColb = IMG_Femme +sinon +sImageColb = IMG_Homme +fin +si reqColb2.CO_Actif alors +si nUnIdSocActifs <> reqColb2.SO_PKID alors +nUnIdSocActifs = reqColb2.SO_PKID +ArbreAjoute(ARBRE_Colb,reqColb2.SO_Nom+TAB+"Tous les collaborateurs",IMG_Tous,IMG_ +Tous,"EQ_PKID_SO_PKID0_"+reqColb2.SO_PKID,aDernier+aAccepteDoublon +aTriAlpha, +"Tous les collaborateurs") +ARBRE_Colb[reqColb2.SO_Nom+TAB+"Tous les collaborateurs"]..CocheVisible = Faux +fin +ArbreAjoute(ARBRE_Colb,reqColb2.SO_Nom+TAB+"Tous les collaborateurs"+TAB+reqColb2. +CO_Nom+" "+reqColb2.CO_Prenom,... +sImageColb,sImageColb,"CO_PKID_SO_PKID"+reqColb2.CO_PKID+"_"+reqColb2.SO_PKID, +aAccepteDoublon + aTriAlpha,reqColb2.CO_Nom+" ("+reqColb2.CO_Trigramme+")") +si TableauCherche(tbIdColbs,tcLinéairePremier,reqColb2.CO_PKID) > 0 alors +ARBRE_Colb[reqColb2.SO_Nom+TAB+"Tous les collaborateurs"+TAB+reqColb2.CO_Nom+" "+ +reqColb2.CO_Prenom]..Cochée = Vrai +fin +sinon +si nUnIdSocInactifs <> reqColb2.SO_PKID alors +nUnIdSocInactifs = reqColb2.SO_PKID +ArbreAjoute(ARBRE_Colb,reqColb2.SO_Nom+TAB+"Collaborateurs inactifs",IMG_ +Advertencia,IMG_Advertencia,"EQ_PKID_SO_PKID0_"+reqColb2.SO_PKID,aDernier+ +aAccepteDoublon +aTriAlpha,"Collaborateurs inactifs") +ARBRE_Colb[reqColb2.SO_Nom+TAB+"Collaborateurs inactifs"]..CocheVisible = Faux +fin +ArbreAjoute(ARBRE_Colb,reqColb2.SO_Nom+TAB+"Collaborateurs inactifs"+TAB+reqColb2. +CO_Nom+" "+reqColb2.CO_Prenom,... +sImageColb,sImageColb,"CO_PKID_SO_PKID"+reqColb2.CO_PKID+"_"+reqColb2.SO_PKID, +aAccepteDoublon + aTriAlpha,reqColb2.CO_Nom+" ("+reqColb2.CO_Trigramme+")") +ARBRE_Colb[reqColb2.SO_Nom+TAB+"Collaborateurs inactifs"+TAB+reqColb2.CO_Nom+" "+ +reqColb2.CO_Prenom]..CocheVisible = Faux +fin +fin +fin +06/08/2026 Batik 1737 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Colbs › Procédures +fin +Procédure locale RecupIdColbs +procédure RecupIdColbs() +nOccurenceTotale est un entier +sIdentifiantArbre est une chaîne +nIdColb est un entier sur 8 octets +sID_1 est une chaîne ANSI +nOccurenceTotale = ArbreOccurrence(ARBRE_Colb) +b est un entier +tbIdColbSel est un tableau d'entiers sur 8 octets +pour i = 1 à nOccurenceTotale +sIdentifiantArbre = ArbreRécupèreIdentifiant(ARBRE_Colb,ARBRE_Colb[i]) +si Contient(sIdentifiantArbre,"CO_PKID_EQ_PKID",SansCasse) ou Contient(sIdentifiantArbre, +"CO_PKID_SO_PKID",SansCasse) alors // Collaborateurs uniquement +si ARBRE_Colb[i]..CocheVisible _et_ ARBRE_Colb[i]..Cochée alors +nIdColb = 0 +sID_1 = Remplace(sIdentifiantArbre,"CO_PKID_SO_PKID","",SansCasse) +sID_1 = Remplace(sID_1,"CO_PKID_EQ_PKID","",SansCasse) +b = Position(sID_1,"_",0,DepuisDébut) +si b > 0 alors +nIdColb = Val(sID_1[1 à b]) +TableauAjoute(tbIdColbSel, nIdColb) +fin +fin +fin +fin +si tbIdColbSel..Occurrence > 0 alors +tbIdColbs = tbIdColbSel +fin +si tbIdColbSel..Occurrence > 1 _et_ pas bPlusieurs alors +Erreur("Vous devez sélectionner un collaborateur, plusieurs sont sélectionnés") +renvoyer Faux +fin +Ferme() +06/08/2026 Batik 1738 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Modif_Dates_RDV › Image +FEN_Choix_Modif_Dates_RDV +Image +FEN_Choix_Modif_Dates_RDV +Informations générales +FEN_Choix_Modif_Dates_RDV +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Choix_Modif_Dates_RDV.wdw +| Créé par | | SMR | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Date de création | | 08/08/2025 13:53:55 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 05/03/2026 19:26:38 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Options de modification des rendez-vous +| Position X | 0 Position Y | | 0 Largeur | 693 Hauteur | 316 | +| ---------------- | ------------ | -------------------- | --------- | --------------- | ---- | +| 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. | | +| 06/08/2026 | | | Batik | | 1739 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Modif_Dates_RDV › Informations générales +Gestion grande police Thème XP +Ctx. HFSQL indép. +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Oui +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Non +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. Oui +Grisé : Algo pour images <Défaut> +Style du menu Windows 11 +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 32 +Pos. Y Menu 2 +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 +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +06/08/2026 Batik 1740 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Modif_Dates_RDV › Informations générales +Statistiques de la fenêtre +| | Libellé | | 2 | Bouton | | | 4 | +| --- | ---------------------- | --- | --- | --------------------- | --- | --- | --- | +| | Image | | 4 | Superchamp | | | 1 | +| | Champ Modèle de champs | | 6 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 18 +FEN_Choix_Modif_Dates_RDV +Informations sur les champs +Fenêtre : FEN_Choix_Modif_Dates_RDV +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_BordFen | | 0 | -29 684 | 29 | 0 | Actif | | +| -------------------- | --- | --- | ------- | --- | --- | ----- | --- | +| CMOD_Question | | 10 | 12 667 | 63 | 0 | Actif | | +| CMOD_TousLesRdvs | | 10 | 86 667 | 35 | 0 | Actif | | +| CMOD_TousRdvUniColb | | 10 | 215 667 | 35 | 0 | Actif | | +| CMOD_UniOccUniColb | | 10 | 172 667 | 35 | 0 | Actif | | +| CMOD_UniOccuTousColb | | 10 | 129 667 | 35 | 0 | Actif | | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 684 | 30 | 0 | Actif | | +| ----------- | --- | --- | ------- | --- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | | 1741 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Modif_Dates_RDV › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --------------------- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_Libellé | 91 -27 | 561 25 | 0 Actif | Gauche | Centre | | +| ----------- | ------ | ------ | ------- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------------ | --------- | ---------- | +| | | ruegraL | ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 652 | -26 28 | 23 0 | Actif | | | +| -------------------------- | --- | ------ | ---- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 28 | 23 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 34 | 26 0 | Actif | | | +| IMG_SombreClair | 38 | -26 21 | 23 0 | Actif | | | +Champ Modèle de champs : CMOD_Question +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --------------------- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| LIB_lib | 10 12 | 667 63 | 0 Actif | Gauche | Centre | | +| ------- | ----- | ------ | ------- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_TousLesRdvs +| 06/08/2026 | | Batik | | | | 1742 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Modif_Dates_RDV › Informations sur les champs +Bouton +notuob epyT +| | | | | laitini tatE BAT ehcuoT | | +| --- | --- | --- | --- | ----------------------- | --- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Valider | 10 86 | 667 35 | 0 | Actif | Normal | +| ----------- | ----- | ------ | --- | ----- | ------ | +Champ Modèle de champs : CMOD_TousRdvUniColb +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --------------------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Valider | 10 215 | 667 35 | 0 | Actif | Normal | +| ----------- | ------ | ------ | --- | ----- | ------ | +Champ Modèle de champs : CMOD_UniOccUniColb +Bouton +notuob epyT +| | | | | laitini tatE BAT ehcuoT | | +| --- | --- | --- | --- | ----------------------- | --- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Valider | 10 172 | 667 35 | 0 | Actif | Normal | +| ----------- | ------ | ------ | --- | ----- | ------ | +Champ Modèle de champs : CMOD_UniOccuTousColb +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --------------------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Valider | 10 129 | 667 35 | 0 | Actif | Normal | +| ----------- | ------ | ------ | --- | ----- | ------ | +| 06/08/2026 | | Batik | | | 1743 | + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Modif_Dates_RDV › Informations sur les champs +Fenêtre : FEN_Choix_Modif_Dates_RDV +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Question +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1744 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Modif_Dates_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_TousLesRdvs +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_TousRdvUniColb +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1745 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Modif_Dates_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_UniOccUniColb +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_UniOccuTousColb +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1746 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Modif_Dates_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 684 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 1747 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Modif_Dates_RDV › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 1748 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Modif_Dates_RDV › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 +06/08/2026 Batik 1749 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Modif_Dates_RDV › Informations sur les champs +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 +06/08/2026 Batik 1750 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Modif_Dates_RDV › Informations sur les champs +Ancrage Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Question +Libellé : CMOD_Question.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1751 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Modif_Dates_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_TousLesRdvs +Bouton : CMOD_TousLesRdvs.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1752 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Modif_Dates_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_TousRdvUniColb +Bouton : CMOD_TousRdvUniColb.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1753 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Modif_Dates_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_UniOccUniColb +Bouton : CMOD_UniOccUniColb.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1754 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Modif_Dates_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_UniOccuTousColb +Bouton : CMOD_UniOccuTousColb.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1755 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Modif_Dates_RDV › Code +FEN_Choix_Modif_Dates_RDV +Code +Déclarations globales de FEN_Choix_Modif_Dates_RDV +procédure FEN_Choix_Modif_Dates_RDV(saQuestion est une chaîne ANSI) +nValeur est un entier = 0 +Fin d'initialisation de FEN_Choix_Modif_Dates_RDV +CMOD_Question.LIB_lib = saQuestion +Fermeture de FEN_Choix_Modif_Dates_RDV +renvoyer nValeur +FEN_Choix_Modif_Dates_RDV +Code des champs +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +06/08/2026 Batik 1756 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Modif_Dates_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Question +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Question +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Question +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Question +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Question +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Question +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Question +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Question ) (modèle MDLC_LibTitreWidget) +06/08/2026 Batik 1757 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Modif_Dates_RDV › Code des champs +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Question ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_TousLesRdvs +salib = "Tous rendez-vous et pour tous les collaborateurs" +Fin d'initialisation de CMOD_TousLesRdvs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TousLesRdvs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TousLesRdvs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TousLesRdvs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TousLesRdvs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TousLesRdvs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TousLesRdvs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_TousLesRdvs ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_TousLesRdvs ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +nValeur = 1 +Ferme() +Déclarations globales de CMOD_TousRdvUniColb +06/08/2026 Batik 1758 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Modif_Dates_RDV › Code des champs +salib = "Tous rendez-vous et uniquement pour ce collaborateur" +Fin d'initialisation de CMOD_TousRdvUniColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TousRdvUniColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TousRdvUniColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TousRdvUniColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TousRdvUniColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TousRdvUniColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TousRdvUniColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_TousRdvUniColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_TousRdvUniColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +nValeur = 4 +Ferme() +Déclarations globales de CMOD_UniOccUniColb +salib = "Uniquement cette occurrence et ce collaborateur" +Fin d'initialisation de CMOD_UniOccUniColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_UniOccUniColb +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1759 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Modif_Dates_RDV › Code des champs +ExécuteAncêtre +Entrée dans CMOD_UniOccUniColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_UniOccUniColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_UniOccUniColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_UniOccUniColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_UniOccUniColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_UniOccUniColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_UniOccUniColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +nValeur = 3 +Ferme() +Déclarations globales de CMOD_UniOccuTousColb +salib = "Uniquement cette occurrence et pour tous les collaborateurs" +Fin d'initialisation de CMOD_UniOccuTousColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_UniOccuTousColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_UniOccuTousColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_UniOccuTousColb +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1760 + +Partie 3 › Fenêtre WINDEV › FEN_Choix_Modif_Dates_RDV › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_UniOccuTousColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_UniOccuTousColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_UniOccuTousColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_UniOccuTousColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_UniOccuTousColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +nValeur = 2 +Ferme() +06/08/2026 Batik 1761 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Image +FEN_Suivi_Temps +Image +FEN_Suivi_Temps +Informations générales +FEN_Suivi_Temps +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Suivi_Temps.wdw +Créé par SMR +06/08/2026 Batik 1762 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations générales +| Date de création | | 12/08/2025 16:08:52 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 25/03/2026 17:48:30 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Fiche de suivi du temps par collaborateur +| Position X | 0 Position Y | | 0 Largeur | 1199 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| 06/08/2026 | | | Batik | | 1763 | + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations générales +| 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 | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 6 | Bouton | | 4 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | +| | Image | | 16 | Table | | 4 | +| | Superchamp | | 1 | Champ Modèle de champs | | 20 | +| | Option de menu | | 3 | Colonne de table | | 26 | +| | Case barre de message | | 1 | Agenda | | 1 | +Nombre d'éléments dans la fenêtre : 82 +FEN_Suivi_Temps +Informations sur les champs +Fenêtre : FEN_Suivi_Temps +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | laitini tatE | sucof cevA | +| --- | --- | --------------------- | --- | --- | ------------ | ---------- | +cilc cevA +ruegraL ruetuaH +elbisiV +nalP +| IMG_Controle | | -175 183 | 80 56 | 0 | Actif | | +| ----------------- | --- | -------- | ----- | --- | ----- | ---- | +| IMG_RDV | | -130 275 | 73 52 | 0 | Actif | | +| IMG_Rdv_SVG | | -138 73 | 52 42 | 0 | Actif | | +| IMG_Temp_SVG | | -134 128 | 40 37 | 0 | Actif | | +| IMG_Temps | | -186 335 | 73 52 | 0 | Actif | | +| IMG_ValideCouleur | | -186 248 | 39 35 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | 1764 | + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Apres | 88 | 14 30 | 30 | 0 | Actif | | +| ----------------- | ---- | -------- | --- | --- | ----- | --- | +| CMOD_Aujourdhui | 1087 | 9 106 | 35 | 0 | Actif | | +| CMOD_Avant | 50 | 14 30 | 30 | 0 | Actif | | +| CMOD_BordFen | 0 | -29 1063 | 29 | 0 | Actif | | +| CMOD_ExportTemps | 1125 | 48 30 | 24 | 0 | Actif | | +| CMOD_FiltreColb | 350 | 4 81 | 51 | 0 | Actif | | +| CMOD_Jour | 790 | 9 92 | 35 | 0 | Actif | | +| CMOD_Lib1 | 412 | 474 260 | 26 | 0 | Actif | | +| CMOD_Lib2 | 675 | 474 259 | 26 | 0 | Actif | | +| CMOD_Lib3 | 936 | 474 257 | 26 | 0 | Actif | | +| CMOD_ModifierDate | 3 | 6 39 | 38 | 0 | Actif | | +| CMOD_Mois | 990 | 9 92 | 35 | 0 | Actif | | +| CMOD_MoisLib | 126 | 2 208 | 53 | 0 | Actif | | +| CMOD_NomColb | 439 | 6 343 | 49 | 0 | Actif | | +| CMOD_Semaine | 890 | 9 92 | 35 | 0 | Actif | | +| CMOD_Table | 410 | 76 783 | 398 | 0 | Actif | | +| CMOD_TempPrevu | 412 | 501 260 | 144 | 0 | Actif | | +| CMOD_TypeRDV | 936 | 501 257 | 144 | 0 | Actif | | +| CMOD_TypeTemps | 675 | 501 259 | 144 | 0 | Actif | | +| CMOD_VisiteGuide | 1163 | 48 30 | 24 | 0 | Actif | | +Agenda +| | | | | | laitini tatE | BAT ehcuoT | +| --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | +| | X noitisoP | Y noitisoP | | | | | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| AGD_PL | 3 | 66 407 | 580 | 0 | Actif | | +| ------ | --- | ------ | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Apres +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | --------------- | --- | ------------ | --------- | ---------- | +| | | ruegraL ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | 88 14 | 30 30 | 0 | Actif | | | +| ---------- | ----- | ----- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | 1765 | + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Aujourdhui +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Valider | 1087 | 9 | 106 | 35 | 0 | Actif | | Normal | +| ----------- | ---- | --- | --- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : CMOD_Avant +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | 50 | 14 | 30 | 30 | 0 | Actif | | | +| --------- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_BordFen +Superchamp +| | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --------------------- | --- | ------- | ------- | --- | ------------ | ---------- | +| | | X noitisoP Y noitisoP | | | | | | | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | --- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_Libellé | 91 | -27 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | ----- | --- | ----- | ------ | ------ | ---- | +| 06/08/2026 | | | Batik | | | | | 1766 | + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › 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_AideFenetre | 1031 -26 | 28 23 | 0 | Actif | | +| -------------------------- | -------- | ----- | --- | ----- | --- | +| IMG_InformationAide | 61 -26 | 28 23 | 0 | Actif | | +| IMG_Logo_secondaire_violet | 2 -27 | 34 26 | 0 | Actif | | +| IMG_SombreClair | 38 -26 | 21 23 | 0 | Actif | | +Champ Modèle de champs : CMOD_ExportTemps +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | sucof cevA | +| --- | --------------------- | --- | --- | ------------ | ---------- | +ruetuaH cilc cevA +ruegraL +elbisiV +nalP +| IMG_Icone | 1125 48 | 30 24 | 0 | Actif | | +| --------- | ------- | ----- | --- | ----- | --- | +Champ Modèle de champs : CMOD_FiltreColb +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | sucof cevA | +| --- | --------------------- | --- | --- | ------------ | ---------- | +ruetuaH cilc cevA +ruegraL +elbisiV +nalP +| IMG_Icone | 350 4 | 81 51 | 0 | Actif | | +| --------- | ----- | ----- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Jour +| 06/08/2026 | | Batik | | | 1767 | +| ---------- | --- | ----- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Bouton +notuob epyT +| | | | | | laitini tatE | BAT ehcuoT | | +| --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | --- | +| | X noitisoP | Y noitisoP | | | | | | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Valider | 790 | 9 92 | 35 | 0 | Actif | | Normal | +| ----------- | --- | ---- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : CMOD_Lib1 +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | ---------- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | X noitisoP | | | laitini tatE | | | FTR tamroF | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 412 474 | 260 26 | 0 | Actif | Gauche | Centre | | +| ------- | ------- | ------ | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Lib2 +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | 675 474 | 259 26 | 0 | Actif | Gauche | Centre | | +| ------- | ------- | ------ | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Lib3 +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 936 474 | 257 26 | 0 | Actif | Gauche | Centre | | +| ---------- | ------- | ------ | --- | ----- | ------ | ------ | ---- | +| 06/08/2026 | | Batik | | | | | 1768 | + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_ModifierDate +Image +| | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --------------------------------------- | ---------- | +| | X noitisoP | Y noitisoP | | | laitini tatE | | sucof cevA | +| | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | 3 | 6 | 39 38 | 0 | Actif | | | +| --------- | --- | --- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Mois +Bouton +notuob epyT +| | | | | | laitini tatE | BAT ehcuoT | | +| --- | ---------- | ---------- | --------------- | --- | ------------ | ---------- | --- | +| | X noitisoP | Y noitisoP | | | | | | +| | | | ruegraL ruetuaH | | | | | +elbisiV +nalP +| BTN_Valider | 990 | 9 | 92 35 | 0 | Actif | Normal | | +| ----------- | --- | --- | ----- | --- | ----- | ------ | --- | +Champ Modèle de champs : CMOD_MoisLib +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 126 2 | 208 | 53 0 | Actif | Gauche | Centre | | +| ------- | ----- | --- | ---- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_NomColb +| 06/08/2026 | | | Batik | | | | 1769 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › 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_lib | | 439 | 6 | 343 | 49 | 0 | | Actif | Gauche | Centre | | +| ------- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Semaine +Bouton +| | | | | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | ---------- | --- | --- | --- | --- | --- | --- | ------------ | ----------- | +| | | | X noitisoP | | | | | | | laitini tatE | | +Y noitisoP +| | | | | | ruegraL | ruetuaH | | | | | | +| --- | --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| BTN_Valider | | | 890 | 9 | 92 | | 35 | 0 | | Actif | Normal | +| ----------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | +Champ Modèle de champs : CMOD_Table +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------------ | ------------------ | +)(ertliFH resilitU +| | | | | | | | | .gerne egacolB | noitcelésitluM | ruesnecsa elluB EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +| --- | --- | --- | --- | --- | --- | --- | --- | -------------- | -------------- | ------------------------------ | ----------------------------- | +edacsac eisiaS +BAT ehcuoT +laitini tatE +| | X noitisoP Y noitisoP | | | | | | sruocraP | | | | | +| --- | --------------------- | --- | --- | --- | --- | --- | -------- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +| | | | nalP | | | elbaT | | | | | | +| ---------- | --- | ------ | ---- | --- | -------- | ------ | --- | --- | --- | --- | --- | +| TABLE_Info | 412 | 78 777 | 392 | 0 | affichag | Mémoir | | | | | 1 | +Table : CMOD_Table.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | | | elbairt ennoloC ehcrehcer cevA | | | | | | +| --- | --- | --- | --- | --- | -------------- | ------------------------------ | --- | ------------- | --- | --- | --- | +| | | | | | ehcuag à eéxiF | | | .zroh egardaC | | | | +.trev egardaC +| | | | | | elbaçalpéD | | | | | eisias epyT FTR tamroF | eisias cevA | +| --- | --- | --- | --- | ------------ | ---------- | --- | --- | --- | --- | ---------------------- | ----------- | +| | | | | laitini tatE | | | | | | engilitluM | | +ruegraL elbisiV +eéirT +epyT +Numériq +| COL_PKID | | 880 | Grisé | | | | Droite | Centre | | | | +| -------------- | --- | --- | -------- | --- | ----- | --- | ------ | ------ | --- | ---- | ---- | +| COL_ImgControl | | 31 | affichag | | | | Centre | Centre | | | | +| COL_Img | | 33 | affichag | | | | Centre | Centre | | | | +| COL_Date | | 55 | affichag | | | | Droite | Centre | | Date | | +| 06/08/2026 | | | | | Batik | | | | | | 1770 | + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +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_TypeTemps | | 111 | affichag | | Gauche Centre | Texte | | | +| COL_SDT_HD | | 62 | Actif | | Droite Centre | Heure | | | +| COL_SDT_HF | | 56 | Actif | | Droite Centre | Heure | | | +Numériq +| COL_Min | | 61 | Actif | | Droite Centre | | | | +| ------------- | --- | --- | -------- | --- | ------------- | ------- | --- | --- | +| COL_NumInter | | 108 | Actif | | Gauche Centre | Texte | | | +| COL_TypeRDV | | 118 | affichag | | Gauche Centre | Texte | | | +| COL_IdRdv | | 100 | Grisé | | Droite Centre | Numériq | | | +| COL_GUID | | 100 | Grisé | | Gauche Centre | Texte | | | +| COL_IndiceRdv | | 100 | Grisé | | Droite Centre | Numériq | | | +| COL_RDV_D | | 60 | Actif | | Droite Centre | Heure | | | +| COL_RDV_F | | 50 | Actif | | Droite Centre | Heure | | | +| COL_StatusRDV | | 100 | Actif | | Gauche Centre | Texte | | | +| COL_GUIDRDV | | 100 | Grisé | | Gauche Centre | Texte | | | +Champ Modèle de champs : CMOD_TempPrevu +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 | | | | | +| --- | --------------------- | ------- | --- | ------------ | -------- | --- | --- | --- | +| | | ruetuaH | | | sruocraP | | | | +| | | ruegraL | | elbisiV | | | | | +elbaT +nalP +Mémoir +| TABLE_Info | 414 503 | 254 138 | 0 | affichag | | | | 2 | +| ---------- | ------- | ------- | --- | -------- | --- | --- | --- | --- | +Table : CMOD_TempPrevu.TABLE_Info +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_PKID | | 880 | Grisé | | Droite Centre | Numériq | | | +| COL_TypeCalcul | | 174 | affichag | | Gauche Centre | Texte | | | +Numériq +| COL_Calcul | | 56 | affichag | | Droite Centre | | | | +| ---------- | --- | --- | -------- | ----- | ------------- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | 1771 | + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_TypeRDV +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 | | | | | +| --- | --------------------- | ------- | --- | ------------ | -------- | --- | --- | --- | +| | | ruetuaH | | | sruocraP | | | | +ruegraL +| | | | elbisiV | elbaT | | | | | +| --- | --- | --- | ------- | ----- | --- | --- | --- | --- | +nalP +Mémoir +| TABLE_Info | 938 503 | 251 138 | 0 affichag | | | | | 2 | +| ---------- | ------- | ------- | ---------- | --- | --- | --- | --- | --- | +Table : CMOD_TypeRDV.TABLE_Info +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_PKID | | 880 | Grisé | | Droite Centre | Numériq | | | +| COL_TypeRDV | | 183 | Actif | | Gauche Centre | Texte | | | +| COL_Calcul | | 55 | Actif | | Droite Centre | Numériq | | | +Champ Modèle de champs : CMOD_TypeTemps +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | ----------------------------- | ------------------ | ------------------------------ | ----------------------------- | +| | | | | | )(ertliFH resilitU | | ruesnecsa elluB EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +| | | | | | .gerne egacolB noitcelésitluM | | edacsac eisiaS | | +laitini tatE BAT ehcuoT +X noitisoP Y noitisoP +| | | ruegraL ruetuaH | | | sruocraP | | | | +| --- | --- | --------------- | --- | --- | -------- | --- | --- | --- | +elbisiV +elbaT +nalP +| TABLE_Info | 677 503 | 253 138 | 0 affichag | Mémoir | | | | 1 | +| ---------- | ------- | ------- | ---------- | ------ | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | 1772 | + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Table : CMOD_TypeTemps.TABLE_Info +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_PKID | 880 | Grisé | | Droite Centre | Numériq | | +| COL_TypeTemps | 177 | Actif | | Gauche Centre | Texte | | +| COL_Calcul | 58 | Actif | | Droite Centre | Numériq | | +Champ Modèle de champs : CMOD_VisiteGuide +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruegraL ruetuaH cilc cevA +elbisiV +nalP +| IMG_Icone | 1163 | 48 | 30 24 | 0 | Actif | | +| --------- | ---- | --- | ----- | --- | ----- | --- | +Fenêtre : FEN_Suivi_Temps +Agenda : AGD_PL +| Libellé | FR: | Agenda | | | | | +| ------------------------- | ----------------------------------- | ------ | ----- | --- | --- | ---- | +| Ordre navigation | 14 | | | | | | +| Curseur survol | 32512 | | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | | +| Menu contextuel | MNU_Temps | | | | | | +| Fenêtre Interne | FI_Temps | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Hauteur ligne | 64 | | | | | | +| Hauteur journée entière | 47 | | | | | | +| Cadrage fonctions gXXX | Cadrage ignoré (pour compatibilité) | | | | | | +| Numéro aide | 0 | | | | | | +| Opacité | 100 | | | | | | +| 06/08/2026 | | | Batik | | | 1773 | + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +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 +Mémoriser le mode Non +Édition Rdv par simple clic Non +Journée entière Non +Boutons période Jamais +Numéro semaine Oui +Semaine ISO8601 Oui +Affiche mois Non +Autorise chevauchement Oui +Texte Markdown Non +Mode menu ctx. A la fin +Mode Aff. Agenda Semaine +Nb. Jours 7 +FI en mode Mois Oui +Granularité de déplacement 10 +Granularité de durée 10 +Masque date FR: JJJ JJ +Premier jour semaine Lundi +Chevauche rendez-vous Décalage +Rendez-vous redim. Oui +Rendez-vous déplaçable Non +Heure visible début 0001 +Heure visible fin 2359 +Heure ouvrable début 0001 +Heure ouvrable fin 2359 +Sélection de périodes Oui +Hauteur heure fixe Oui +Réglette modifiable Oui +Réglette visible Non +Source de remplissage Mémoire +Nb. Enreg. Max -1 +Suppr. dans source Oui +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 400 Taux anc. hauteur 1000 +06/08/2026 Batik 1774 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Apres +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Aujourdhui +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1775 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Avant +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +06/08/2026 Batik 1776 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_ExportTemps +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_FiltreColb +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1777 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Jour +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Lib1 +Ordre navigation 16 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite et bas, largeur +Taux anc. droite 400 Taux anc. bas 700 Taux anc. largeur 200 Taux anc. hauteur 1000 +06/08/2026 Batik 1778 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Lib2 +Ordre navigation 17 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite et bas, largeur +Taux anc. droite 600 Taux anc. bas 700 Taux anc. largeur 200 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Lib3 +Ordre navigation 18 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite et bas, largeur +Taux anc. droite 800 Taux anc. bas 700 Taux anc. largeur 200 Taux anc. hauteur 1000 +06/08/2026 Batik 1779 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_ModifierDate +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Mois +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1780 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_MoisLib +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_NomColb +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1781 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Semaine +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Table +Ordre navigation 15 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite, largeur et hauteur +Taux anc. droite 400 Taux anc. bas 1000 Taux anc. largeur 600 Taux anc. hauteur 700 +06/08/2026 Batik 1782 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_TempPrevu +Ordre navigation 19 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite et bas, largeur et hauteur +Taux anc. droite 400 Taux anc. bas 700 Taux anc. largeur 200 Taux anc. hauteur 300 +Champ Modèle de champs : CMOD_TypeRDV +Ordre navigation 21 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite et bas, largeur et hauteur +Taux anc. droite 800 Taux anc. bas 700 Taux anc. largeur 200 Taux anc. hauteur 300 +06/08/2026 Batik 1783 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_TypeTemps +Ordre navigation 20 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite et bas, largeur et hauteur +Taux anc. droite 600 Taux anc. bas 700 Taux anc. largeur 200 Taux anc. hauteur 300 +Champ Modèle de champs : CMOD_VisiteGuide +Ordre navigation 13 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1784 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Image : IMG_Controle +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Valide.svg +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 +Image : IMG_RDV +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Planning_marron.svg +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 +06/08/2026 Batik 1785 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +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 : IMG_Rdv_SVG +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Planning_noire.svg +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> +06/08/2026 Batik 1786 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Temp_SVG +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Temps_passé_noire.svg +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 +Image : IMG_Temps +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Temps_passé_marron.svg +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 +06/08/2026 Batik 1787 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +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 +Image : IMG_ValideCouleur +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\ValideCouleur.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage 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 +06/08/2026 Batik 1788 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 600 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Apres +Image : CMOD_Apres.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\gauche_noire.svg +Groupe GR_AvancerReculer +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 1789 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Aujourdhui +Bouton : CMOD_Aujourdhui.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Groupe GR_Periode +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1790 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Avant +Image : CMOD_Avant.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\droite_noire.svg +Groupe GR_AvancerReculer +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 1791 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 1792 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 1793 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 +06/08/2026 Batik 1794 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 +06/08/2026 Batik 1795 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Ancrage Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_ExportTemps +Image : CMOD_ExportTemps.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\csv-file.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 1796 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_FiltreColb +Image : CMOD_FiltreColb.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\list-workers.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 1797 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Jour +Bouton : CMOD_Jour.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Groupe GR_Periode +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1798 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Lib1 +Libellé : CMOD_Lib1.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1799 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Lib2 +Libellé : CMOD_Lib2.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1800 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Lib3 +Libellé : CMOD_Lib3.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1801 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_ModifierDate +Image : CMOD_ModifierDate.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Planning_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 1802 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Mois +Bouton : CMOD_Mois.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Groupe GR_Periode +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1803 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_MoisLib +Libellé : CMOD_MoisLib.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1804 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_NomColb +Libellé : CMOD_NomColb.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1805 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Semaine +Bouton : CMOD_Semaine.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Groupe GR_Periode +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1806 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Table +Table : CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Temps +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 27 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 1807 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +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. A la fin +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 : CMOD_Table.TABLE_Info +Colonne de table : CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 +06/08/2026 Batik 1808 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table.TABLE_Info.COL_ImgControl (2) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 4 +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 40 Taux anc. hauteur 1000 +06/08/2026 Batik 1809 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Colonne de table : CMOD_Table.TABLE_Info.COL_Img (3) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 4 +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 40 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table.TABLE_Info.COL_Date (4) +Titre FR: Date +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 +Mode ellipse <Aucun> +Verifier l'orthographe Non +06/08/2026 Batik 1810 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table.TABLE_Info.COL_TypeTemps (5) +Titre FR: Type temps +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 180 Taux anc. hauteur 1000 +06/08/2026 Batik 1811 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Colonne de table : CMOD_Table.TABLE_Info.COL_SDT_HD (6) +Titre FR: Heure 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: HH:MM +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 60 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table.TABLE_Info.COL_SDT_HF (7) +Titre FR: Heure 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: HH:MM +06/08/2026 Batik 1812 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › 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 60 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table.TABLE_Info.COL_Min (8) +Titre FR: Temps heures +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,99 +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 80 Taux anc. hauteur 1000 +06/08/2026 Batik 1813 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Colonne de table : CMOD_Table.TABLE_Info.COL_NumInter (9) +Titre FR: Numéro d'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: 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 80 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table.TABLE_Info.COL_TypeRDV (10) +Titre FR: Type 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 +06/08/2026 Batik 1814 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › 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 180 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table.TABLE_Info.COL_IdRdv (11) +Titre FR: IdRdv +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 +06/08/2026 Batik 1815 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Colonne de table : CMOD_Table.TABLE_Info.COL_GUID (12) +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 +Colonne de table : CMOD_Table.TABLE_Info.COL_IndiceRdv (13) +Titre FR: IndiceRdv +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 +06/08/2026 Batik 1816 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › 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 : CMOD_Table.TABLE_Info.COL_RDV_D (14) +Titre FR: Début 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: HH:MM +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 +06/08/2026 Batik 1817 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Colonne de table : CMOD_Table.TABLE_Info.COL_RDV_F (15) +Titre FR: Fin 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: HH:MM +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 : CMOD_Table.TABLE_Info.COL_StatusRDV (16) +Titre FR: Status 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 +06/08/2026 Batik 1818 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › 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 180 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table.TABLE_Info.COL_GUIDRDV (17) +Titre FR: GUIDRDV +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 +06/08/2026 Batik 1819 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_TempPrevu +Table : CMOD_TempPrevu.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Groupe GR_TableRecap +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 1820 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +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 : CMOD_TempPrevu.TABLE_Info +Colonne de table : CMOD_TempPrevu.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 +06/08/2026 Batik 1821 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : CMOD_TempPrevu.TABLE_Info.COL_TypeCalcul (2) +Titre FR: TypeCalcul +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +06/08/2026 Batik 1822 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Colonne de table : CMOD_TempPrevu.TABLE_Info.COL_Calcul (3) +Titre FR: Calcul +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,99 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Oui +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 +Champ Modèle de champs : CMOD_TypeRDV +Table : CMOD_TypeRDV.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Groupe GR_TableRecap +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 +06/08/2026 Batik 1823 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +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 +06/08/2026 Batik 1824 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +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 : CMOD_TypeRDV.TABLE_Info +Colonne de table : CMOD_TypeRDV.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 +06/08/2026 Batik 1825 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Colonne de table : CMOD_TypeRDV.TABLE_Info.COL_TypeRDV (2) +Titre FR: TypeRDV +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 : CMOD_TypeRDV.TABLE_Info.COL_Calcul (3) +Titre FR: Calcul +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: MoneySystemMask +06/08/2026 Batik 1826 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › 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 +Champ Modèle de champs : CMOD_TypeTemps +Table : CMOD_TypeTemps.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Groupe GR_TableRecap +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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) +06/08/2026 Batik 1827 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1828 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Table : CMOD_TypeTemps.TABLE_Info +Colonne de table : CMOD_TypeTemps.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : CMOD_TypeTemps.TABLE_Info.COL_TypeTemps (2) +Titre FR: TypeTemps +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 +06/08/2026 Batik 1829 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › 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 700 Taux anc. hauteur 1000 +Colonne de table : CMOD_TypeTemps.TABLE_Info.COL_Calcul (3) +Titre FR: Calcul +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,99 +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 300 Taux anc. hauteur 1000 +06/08/2026 Batik 1830 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_VisiteGuide +Image : CMOD_VisiteGuide.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\VisiteGuide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +FEN_Suivi_Temps +Informations sur les menus +06/08/2026 Batik 1831 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Informations sur les menus +Menu contextuel : 'MNU_Temps' +Nom des options +OPT_Modifier (4) +OPT_Supprimer (3) +Libellé des options : Français +Modifier +Supprimer +FEN_Suivi_Temps +Code +Déclarations globales de FEN_Suivi_Temps +procédure FEN_Suivi_Temps() +saAlias est une chaîne ANSI +nIdColb est un entier sur 8 octets +saGUIDColb est une chaîne ANSI +MoiMême..Alias = saAlias +gdhDateD est une DateHeure= PremierJourDeLaSemaine(DateSys()) +gdhDateF est une DateHeure= gdhDateD +gdhDateF..Jour += 6 +ghHDO,ghHFO sont des Heures +ghHDV,ghHFV sont des Heures +(ghHDO,ghHFO) = CollaborateurEnCours:clUtilisateur:HeuresOuvrablesRDV() +(ghHDV,ghHFV) = CollaborateurEnCours:clUtilisateur:HeuresVisiblesRDV() +ST_Temps est une Structure +nIdRdv est un entier sur 8 octets +tbaSuivi est un tableau associatif de MSuiviTemps +fin +tbRdvTemps est un tableau de RendezVous +tbaTotalTypeTemps est un tableau associatif de réels +tbaTotalTypeRdvPrevu est un tableau associatif de réels +tbaTotalTypeRdvFait est un tableau associatif de réels +tbRdv est un tableau de RendezVous // Pour la sélection de l'agenda +rTempsCumulRDV est un réel +rTempsCumulPointage est un réel +rTempsCumulNonCompta est un réel +rTempsCumulNonPointe est un réel +bToutOk est un booléen +bDroitModif est un booléen = bDroit(cGestion_Temps) +constante +cTempEstime = "TempEstime" +fin +06/08/2026 Batik 1832 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Code +si HSurveille(SuiviDesTemps,MAJHSurveille,hNumEnrTous,hsAjout+hsModification+hsSuppression)= Faux alors +Erreur("Impossible d'activer la surveillance : ", HErreurInfo()) +fin +Maximise() +Fin d'initialisation de FEN_Suivi_Temps +si pas bDroitModif alors +AGD_PL..Grisé = Vrai +fin +ConfigurationMenu() +Fermeture de FEN_Suivi_Temps +HSurveilleStop(SuiviDesTemps,MAJHSurveille,hNumEnrTous) +FEN_Suivi_Temps +Code des champs +Avant création du rendez-vous dans AGD_PL +procédure AvantCréation(rdvCréé est un RendezVous) +Entrée en saisie d'un rendez-vous de AGD_PL +procédure EntréeEnSaisie(rdvEdité est un RendezVous) +Sortie de saisie du rendez-vous de AGD_PL +procédure SortieDeSaisie(rdvModifié est un RendezVous) +Sélection d'un rendez-vous de AGD_PL +procédure Sélection(rdvSélectionné est un RendezVous) +SelRdv(AGD_PL..NomComplet) +renvoyer Vrai +Déplacement d'un rendez-vous dans AGD_PL +procédure Déplacement(rdvDéplacé est un RendezVous) +Redimensionnement d'un rendez-vous de AGD_PL +procédure Redimensionnement(rdvRedimensionné est un RendezVous) +ModifHeure(rdvRedimensionné) +renvoyer Faux +Suppression d'un rendez-vous de AGD_PL +06/08/2026 Batik 1833 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Code des champs +procédure Suppression(rdvSupprimé est un RendezVous) +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur AGD_PL +OuvreFicheTemps(AGD_PL..NomComplet) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de AGD_PL +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Apres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Apres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +AgendaAffichePériodeSuivante(AGD_PL) +Filtrer() +A chaque modification de IMG_Icone ( CMOD_Apres ) +06/08/2026 Batik 1834 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Apres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Apres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Apres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Aujourdhui +salib = "Aujourd’hui" +Fin d'initialisation de CMOD_Aujourdhui +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Aujourdhui +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Aujourdhui +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Aujourdhui +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Aujourdhui +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Aujourdhui +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Aujourdhui +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Aujourdhui ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Aujourdhui ) +06/08/2026 Batik 1835 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +AgendaPosition(AGD_PL, DateDuJour()) +Filtrer() +Fin d'initialisation de CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Avant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Avant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +AgendaAffichePériodePrécédente(AGD_PL) +Filtrer() +A chaque modification de IMG_Icone ( CMOD_Avant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Avant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Avant ) +06/08/2026 Batik 1836 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Avant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +06/08/2026 Batik 1837 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Code des champs +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_ExportTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ExportTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ExportTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ExportTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ExportTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ExportTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ExportTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_ExportTemps ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_ExportTemps ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ouvre(FEN_Exporter_Temps) +A chaque modification de IMG_Icone ( CMOD_ExportTemps ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_ExportTemps ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_ExportTemps ) +06/08/2026 Batik 1838 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_ExportTemps ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_FiltreColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_FiltreColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_FiltreColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_FiltreColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_FiltreColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_FiltreColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_FiltreColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_FiltreColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_FiltreColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +RechercheColb() +A chaque modification de IMG_Icone ( CMOD_FiltreColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_FiltreColb ) +06/08/2026 Batik 1839 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_FiltreColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_FiltreColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Jour +salib = "Jour" +Fin d'initialisation de CMOD_Jour +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Jour +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Jour +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Jour +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Jour +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Jour +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Jour +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Jour ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +procédure interne MAJBtn_Jour() +CMOD_Jour.BTN_Valider..Enfoncé=AgendaMode(AGD_PL)=agzJour +fin +AGD_PL..Traitement[trtChangementPériodeAgenda]+=MAJBtn_Jour +Clic sur BTN_Valider ( CMOD_Jour ) +06/08/2026 Batik 1840 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +AgendaChangeMode(AGD_PL,agzJour) +Déclarations globales de CMOD_Lib1 +salib = "Cumul pointage" +Fin d'initialisation de CMOD_Lib1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Lib1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Lib1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Lib1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Lib1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Lib1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Lib1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Lib1 ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Lib1 ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Lib2 +salib = "Cumul par type de temps" +Fin d'initialisation de CMOD_Lib2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Lib2 +06/08/2026 Batik 1841 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Lib2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Lib2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Lib2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Lib2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Lib2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Lib2 ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Lib2 ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Lib3 +salib = "Cumul par type de rendez-vous" +Fin d'initialisation de CMOD_Lib3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Lib3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Lib3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Lib3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Lib3 +06/08/2026 Batik 1842 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Lib3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Lib3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Lib3 ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Lib3 ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_ModifierDate +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ModifierDate +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ModifierDate +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ModifierDate +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ModifierDate +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ModifierDate +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ModifierDate +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_ModifierDate ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1843 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Code des champs +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_ModifierDate ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ChoixDate() +A chaque modification de IMG_Icone ( CMOD_ModifierDate ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_ModifierDate ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_ModifierDate ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_ModifierDate ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Mois +salib = "Mois" +Fin d'initialisation de CMOD_Mois +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Mois +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Mois +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Mois +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Mois +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Mois +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Mois +06/08/2026 Batik 1844 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Mois ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +procédure interne MAJBtnMois() +CMOD_Mois.BTN_Valider..Enfoncé=AgendaMode(AGD_PL)=agzMois +fin +AGD_PL..Traitement[trtChangementPériodeAgenda]+=MAJBtnMois +Clic sur BTN_Valider ( CMOD_Mois ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +AgendaChangeMode(AGD_PL,agzMois) +Filtrer() +Fin d'initialisation de CMOD_MoisLib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_MoisLib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_MoisLib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_MoisLib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_MoisLib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_MoisLib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_MoisLib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_MoisLib ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_MoisLib ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1845 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Code des champs +ExécuteAncêtre +Fin d'initialisation de CMOD_NomColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NomColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NomColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NomColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NomColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NomColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NomColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_NomColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_NomColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Semaine +salib = "Semaine" +Fin d'initialisation de CMOD_Semaine +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Semaine +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Semaine +06/08/2026 Batik 1846 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Semaine +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Semaine +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Semaine +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Semaine +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Semaine ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +procédure interne MAJBtnSemaine() +CMOD_Semaine.BTN_Valider..Enfoncé=AgendaMode(AGD_PL)=agzSemaine +fin +AGD_PL..Traitement[trtChangementPériodeAgenda]+=MAJBtnSemaine +Clic sur BTN_Valider ( CMOD_Semaine ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +AgendaChangeMode(AGD_PL,agzSemaine,7) +Filtrer() +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +06/08/2026 Batik 1847 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SelRdv(CMOD_Table.TABLE_Info..NomComplet) +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +06/08/2026 Batik 1848 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreFicheTemps(CMOD_Table.TABLE_Info..NomComplet) +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_TempPrevu +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TempPrevu +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TempPrevu +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TempPrevu +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TempPrevu +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TempPrevu +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TempPrevu +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +06/08/2026 Batik 1849 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1850 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Code des champs +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +06/08/2026 Batik 1851 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_TypeTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TypeTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TypeTemps +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1852 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Code des champs +ExécuteAncêtre +Sortie de CMOD_TypeTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TypeTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TypeTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TypeTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +06/08/2026 Batik 1853 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1854 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Code des champs +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitVisiteSuiviTemps() +A chaque modification de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection du menu de MNU_Temps.OPT_Modifier +OuvreFicheTemps(AGD_PL..NomComplet) +Sélection du menu de MNU_Temps.OPT_Supprimer +SupprimerTemps(AGD_PL..NomComplet) +FEN_Suivi_Temps +Procédures +Procédure locale ChoixDate +procédure ChoixDate() +dDateDeb est une Date = Ouvre(FEN_Calendrier,gdhDateD) +si DateValide(dDateDeb) alors +selon AgendaMode(AGD_PL) +cas agzJour +AgendaPosition(AGD_PL,dDateDeb) +06/08/2026 Batik 1855 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Procédures +cas agzMois +AgendaPosition(AGD_PL,PremierJourDuMois(dDateDeb)) +cas agzSemaine +AgendaPosition(AGD_PL,PremierJourDeLaSemaine(dDateDeb)) +autre cas +fin +Filtrer() +fin +Procédure locale ConfigurationMenu +procédure ConfigurationMenu() +si pas bDroitModif alors +MenuSelectMoins(OPT_Modifier) +MenuSelectMoins(OPT_Supprimer) +renvoyer Faux +fin +pour tout oType de gtabParametresMetierCode[cparam_TypeTemps] +si oType.saCLE pas dans(cCle_TypeTempsGlobal, cCle_TypeTempsNonAffecte, cCle_TypeTempsNull) _et_ +oType.bActif alors +MenuAjouteOption(MNU_Temps..Nom,oType.saCLE,"Nouveau ("+oType.saLibelle+")",NouveauTemps,oType. +saCLE) +fin +fin +Procédure locale Filtrer +procédure Filtrer() +AGD_PL..AffichageActif = Faux +CMOD_Table.TABLE_Info..AffichageActif = Faux +// Vide le planning complètement +AgendaSupprimeTout(AGD_PL) +TableSupprimeTout(CMOD_Table.TABLE_Info) +MaJDatesPL() +si nIdColb > 0 _et_ gtabListeCollaborateurs[nIdColb]..Existe alors +sNomColb est une chaîne ANSI = gtabListeCollaborateurs[nIdColb].NomPrenom() +" ("+ +gtabListeCollaborateurs[nIdColb].saTrigramme+")"+gLien(nIdColb) +sRessource est une chaîne ANSI = PlanningRessourceNom(gtabListeCollaborateurs[nIdColb].saGUID, +sNomColb) +fin +TableauSupprimeTout(tbaTotalTypeRdvFait) +TableauSupprimeTout(tbaTotalTypeRdvPrevu) +TableauSupprimeTout(tbaTotalTypeTemps) +TableauSupprimeTout(tbRdv) +TableauSupprimeTout(tbRdvTemps) +rTempsCumulNonCompta = 0 +rTempsCumulPointage = 0 +rTempsCumulRDV = 0 +rTempsCumulNonPointe = 0 +bToutOk = Vrai +FiltrerSuiviTemp() +FiltreTempsSansRDV() +ControlTemps(tbRdvTemps) +FiltrerAgendaTable() +06/08/2026 Batik 1856 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Procédures +FiltreResume() +tbRdv=AgendaListeRendezVous(AGD_PL) +// Réactive l'affichage du champ +AGD_PL..AffichageActif = Vrai +CMOD_Table.TABLE_Info..AffichageActif = Vrai +Procédure locale FiltrerAgendaTable +procédure FiltrerAgendaTable() +duUnDure est une Durée +i est un entier +bCompta est un booléen +pour tout unRdv de tbRdvTemps +bCompta = Faux +unRdv.Titre = DateVersChaîne(unRdv.DateDébut,"HH:mm")+" - "+DateVersChaîne(unRdv.DateFin, +"HH:mm") // Possiblement modifié +i = TableAjouteLigne(CMOD_Table.TABLE_Info) +CMOD_Table.TABLE_Info[i].COL_IndiceRdv = Val(unRdv.id) +CMOD_Table.TABLE_Info[i].COL_PKID = unRdv.Extra[cExtra_IdTemps] +CMOD_Table.TABLE_Info[i].COL_IdRdv = unRdv.Extra[cExtra_IdRdv] +CMOD_Table.TABLE_Info[i].COL_GUID = unRdv.id +CMOD_Table.TABLE_Info[i].COL_Date = unRdv.DateDébut..PartieDate +CMOD_Table.TABLE_Info[i].COL_RDV_D = Milieu(unRdv.Extra[cExtra_DateD_PL],9) +CMOD_Table.TABLE_Info[i].COL_RDV_F = Milieu(unRdv.Extra[cExtra_DateF_PL],9) +CMOD_Table.TABLE_Info[i].COL_TypeRDV = unRdv.Extra[cExtra_TypeRdv] <> "" _et_ +gtabParametresMetierCode[cParam_TypeRDV][unRdv.Extra[cExtra_TypeRdv]]..Existe ? +gtabParametresMetierCode[cParam_TypeRDV][unRdv.Extra[cExtra_TypeRdv]].saLibelle sinon "" +CMOD_Table.TABLE_Info[i].COL_TypeTemps = unRdv.Extra[cExtra_TypeTemps] <> "" _et_ +gtabParametresMetierCode[cparam_TypeTemps][unRdv.Extra[cExtra_TypeTemps]]..Existe ? +gtabParametresMetierCode[cparam_TypeTemps][unRdv.Extra[cExtra_TypeTemps] ].saLibelle sinon "" +duUnDure = (unRdv.DateFin-unRdv.DateDébut) +CMOD_Table.TABLE_Info[i].COL_SDT_HD = unRdv.DateDébut..PartieHeure +CMOD_Table.TABLE_Info[i].COL_SDT_HF = unRdv.DateFin..PartieHeure +CMOD_Table.TABLE_Info[i].COL_Min = (duUnDure..EnMinutes/60) +CMOD_Table.TABLE_Info[i].COL_NumInter = unRdv.Extra[cExtra_NumInter] +CMOD_Table.TABLE_Info[i].COL_StatusRDV = unRdv.Extra[cExtra_StatusRDV] <> "" _et_ +gtabParametresMetierCode[cParam_StatusRDV][unRdv.Extra[cExtra_StatusRDV]]..Existe ? +gtabParametresMetierCode[cParam_StatusRDV][unRdv.Extra[cExtra_StatusRDV] ].saLibelle sinon "" +CMOD_Table.TABLE_Info[i].COL_GUIDRDV = unRdv.Extra[cExtra_GUIDRdvColb] +si Val(unRdv.Extra[cExtra_Control]) alors +CMOD_Table.TABLE_Info[i].COL_ImgControl = IMG_ValideCouleur +fin +si unRdv.Extra[cExtra_TypeTemps] <> "" alors tbaTotalTypeTemps[unRdv.Extra[cExtra_TypeTemps]] ++= (duUnDure..EnMinutes/60) +si Val(unRdv.Extra[cExtra_IdTemps]) <= 0 _et_ Val(unRdv.Extra[cExtra_IdRdv]) > 0 alors +rTempsCumulNonPointe += duUnDure..EnMinutes +CMOD_Table.TABLE_Info[i].COL_Img = IMG_RDV +sinon +CMOD_Table.TABLE_Info[i].COL_Img = IMG_Temps +fin +si unRdv.Extra[cExtra_TypeRdv] <> "" _et_ gtabParametresMetierCode[cParam_TypeRDV][unRdv.Extra[ +cExtra_TypeRdv]]..Existe _et_ +06/08/2026 Batik 1857 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Procédures +gtabParametresMetierCode[cParam_TypeRDV][unRdv.Extra[cExtra_TypeRdv]].saParametre <> "" _et_ +gtabParametresMetierCode[cParam_TypeRDV][unRdv.Extra[cExtra_TypeRdv]].ParamJson.ComptSuiviTemp +alors +bCompta = Vrai +fin +si Val(unRdv.Extra[cExtra_IdRdv]) <= 0 alors +bCompta = Vrai +fin +si unRdv.Extra[cExtra_TypeTemps] <> "" _et_ gtabParametresMetierCode[cparam_TypeTemps][unRdv.Extra[ +cExtra_TypeTemps]]..Existe _et_... +gtabParametresMetierCode[cparam_TypeTemps][unRdv.Extra[cExtra_TypeTemps]].saParametre <> "" +alors +si bCompta _et_ gtabParametresMetierCode[cparam_TypeTemps][unRdv.Extra[cExtra_TypeTemps]]. +ParamJson.ComptSuiviTemp alors +rTempsCumulPointage += duUnDure..EnMinutes +sinon +rTempsCumulNonCompta += duUnDure..EnMinutes +fin +fin +si unRdv.Extra[cExtra_TypeRdv] <> "" alors tbaTotalTypeRdvFait[unRdv.Extra[cExtra_TypeRdv]] += ( +duUnDure..EnMinutes/60) +//Verification tout ok +si i > 1 alors +si CMOD_Table.TABLE_Info[i].COL_Date = CMOD_Table.TABLE_Info[(i-1)].COL_Date alors +si CMOD_Table.TABLE_Info[(i-1)].COL_SDT_HF > CMOD_Table.TABLE_Info[(i)].COL_SDT_HD alors +bToutOk = Faux +CMOD_Table.TABLE_Info[i]..CouleurFond = RougePastel +CMOD_Table.TABLE_Info[(i-1)]..CouleurFond = RougePastel +fin +fin +fin +AgendaAjouteRendezVous(AGD_PL,unRdv) +fin +Procédure locale FiltreResume +procédure FiltreResume() +TableSupprimeTout(CMOD_TypeRDV.TABLE_Info) +TableSupprimeTout(CMOD_TypeTemps.TABLE_Info) +TableSupprimeTout(CMOD_TempPrevu.TABLE_Info) +i est un entier +pour tout rTotal, saCle de tbaTotalTypeRdvPrevu +si gtabParametresMetierCode[cParam_TypeRDV][saCle]..Existe alors +i = TableAjouteLigne(CMOD_TypeRDV.TABLE_Info) +CMOD_TypeRDV.TABLE_Info[i].COL_TypeRDV = gtabParametresMetierCode[cParam_TypeRDV][saCle]. +saLibelle+[" "]+"(Prévu)" +CMOD_TypeRDV.TABLE_Info[i].COL_Calcul = rTotal +fin +fin +pour tout rTotal, saCle de tbaTotalTypeRdvFait +si gtabParametresMetierCode[cParam_TypeRDV][saCle]..Existe alors +i = TableAjouteLigne(CMOD_TypeRDV.TABLE_Info) +CMOD_TypeRDV.TABLE_Info[i].COL_TypeRDV = gtabParametresMetierCode[cParam_TypeRDV][saCle]. +saLibelle+[" "]+"(Fait)" +CMOD_TypeRDV.TABLE_Info[i].COL_Calcul = rTotal +06/08/2026 Batik 1858 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Procédures +fin +fin +TableTrie(CMOD_TypeRDV.TABLE_Info,"-COL_TypeRDV") +pour tout rTotal, saCle de tbaTotalTypeTemps +si gtabParametresMetierCode[cparam_TypeTemps][saCle]..Existe alors +i = TableAjouteLigne(CMOD_TypeTemps.TABLE_Info) +CMOD_TypeTemps.TABLE_Info[i].COL_TypeTemps = gtabParametresMetierCode[cparam_TypeTemps][saCle] +.saLibelle +CMOD_TypeTemps.TABLE_Info[i].COL_Calcul = rTotal +fin +fin +si bToutOk alors +i = TableAjouteLigne(CMOD_TempPrevu.TABLE_Info) +CMOD_TempPrevu.TABLE_Info[i].COL_TypeCalcul = "Temps du rendez-vous à pointer (prévu)" +CMOD_TempPrevu.TABLE_Info[i].COL_Calcul = (rTempsCumulRDV/60) +i = TableAjouteLigne(CMOD_TempPrevu.TABLE_Info) +CMOD_TempPrevu.TABLE_Info[i].COL_TypeCalcul= "Temps pointé" +CMOD_TempPrevu.TABLE_Info[i].COL_Calcul = (rTempsCumulPointage/60) +i = TableAjouteLigne(CMOD_TempPrevu.TABLE_Info) +CMOD_TempPrevu.TABLE_Info[i].COL_TypeCalcul= "Temps du rendez-vous non pointé" +CMOD_TempPrevu.TABLE_Info[i].COL_Calcul = (rTempsCumulNonPointe)/60 +i = TableAjouteLigne(CMOD_TempPrevu.TABLE_Info) +CMOD_TempPrevu.TABLE_Info[i].COL_TypeCalcul= "Temps pointé (non pris en compte)" +CMOD_TempPrevu.TABLE_Info[i].COL_Calcul = (rTempsCumulNonCompta/60) +sinon +i = TableAjouteLigne(CMOD_TempPrevu.TABLE_Info) +CMOD_TempPrevu.TABLE_Info[i].COL_TypeCalcul= +"Il est impossible de calculer le temps de pointage, car certains horaires se chevauchent" +CMOD_TempPrevu.TABLE_Info[i]..CouleurFond = RougePastel +fin +TableSelectMoins(CMOD_TypeRDV.TABLE_Info) +TableSelectMoins(CMOD_TypeTemps.TABLE_Info) +TableSelectMoins(CMOD_TempPrevu.TABLE_Info) +Procédure locale FiltrerSuiviTemp +procédure FiltrerSuiviTemp() +si nIdColb > 0 _et_ gtabListeCollaborateurs[nIdColb]..Existe = Vrai _et_ gtabListeCollaborateurs[ +nIdColb].saGUID <> "" alors +saGUIDColb = gtabListeCollaborateurs[nIdColb].saGUID +fin +bOk est un booléen +saReqRDVest une Requête SQL = [ +SELECT RDV_Collaborateur.GUID AS RDV_GUID, RDV_Collaborateur.*,RV_CleStatut,RV_Objet,RV_CleType, +RV_PKID, +IN_NumDevis, IN_RefInterne, AD_Adresse,AD_CodePostal,AD_Ville, SuiviDesTemps.GUID AS SDT_GUID, +SuiviDesTemps.* +FROM RDV_Collaborateur +INNER JOIN RDV_Planning ON RDV_Planning.GUID = RDV_Collaborateur.RVC_GUID_RDV +LEFT OUTER JOIN SuiviDesTemps ON (SuiviDesTemps.SDT_GUID_Rdv_Colb = RDV_Collaborateur.GUID +AND (SDT_NbMinutes > 0 AND SDT_DateDebut > '00000000' AND SDT_DateHeureFin > '00000000' AND +SDT_CleType <> '' AND SDT_CleType NOT IN ({p_TypeTemps}))) +LEFT OUTER JOIN Intervention ON (Intervention.IN_PKID=RDV_Planning.RV_IdInter) +LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=RDV_Planning.RV_IdLieu) +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +WHERE RDV_Planning.Archive=0 AND RDV_Collaborateur.Archive = 0 AND RDV_Collaborateur.RVC_DateDeb >= +{P_DateInf} AND +06/08/2026 Batik 1859 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Procédures +RDV_Collaborateur.RVC_DateDeb <= {P_DateSup} AND RDV_Collaborateur.RVC_GUID_Colb IN ({p_GUIDColb}) +AND RDV_Planning.RV_CleStatut <> {p_planifier} AND RVC_DateDeb IS NOT NULL AND RVC_DateFin IS NOT +NULL ORDER BY RDV_Planning.RV_PKID +] +saReqRDV.P_DateInf = gdhDateD +saReqRDV.P_DateSup = gdhDateF +saReqRDV.p_GUIDColb = saGUIDColb +saReqRDV.p_planifier = cCle_RDVAPlanifier +saReqRDV.p_TypeTemps = cCle_TypeTempsGlobal+";"+cCle_TypeTempsNonAffecte+";"+cCle_TypeTempsNull +saTypeRDV est une chaîne ANSI +saTypeTemps est une chaîne ANSI +saGUIDRdv est une chaîne ANSI +duUneDure est une Durée +si pas HExécuteRequête(saReqRDV) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur s'est produite lors de la recherche du temps saisi par les collaborateurs", +"FEN_Suivi_Temps.Filtrer") +renvoyer Faux +sinon +pour tout saReqRDV +UnRdv est un RendezVous +bOk = Vrai +si DateHeureValide(saReqRDV.RVC_DateDeb) and DateValide(saReqRDV.RVC_DateFin) alors +si saReqRDV.SDT_PKID > 0 alors +UnRdv.Image = IMG_Temp_SVG +UnRdv.DateDébut = saReqRDV.SDT_DateDebut +UnRdv.DateFin = saReqRDV.SDT_DateHeureFin +UnRdv.Extra[cExtra_GUID] = saReqRDV.SDT_GUID +UnRdv.Ressource = saReqRDV.SDT_IDCollaborateur +saTypeTemps = DonneCouleurTypeTemps(saReqRDV.SDT_CleType) +saTypeRDV = DonneCouleurTypeTemps(saReqRDV.SDT_CleTypeRDV) +sinon +si saReqRDV.RDV_GUID <> "" alors +si saReqRDV.RV_CleStatut <> cCle_RDVAnnule alors +UnRdv.Image = IMG_Rdv_SVG +UnRdv.DateDébut = saReqRDV.RVC_DateDeb +UnRdv.DateFin = saReqRDV.rvc_DateFin +UnRdv.Extra[cExtra_GUID] = saReqRDV.rdv_GUID +UnRdv.Ressource = saReqRDV.RVC_GUID_Colb +UnRdv.Bulle = saReqRDV.RV_Objet +si saReqRDV.AD_Adresse <> "" alors +UnRdv.Bulle += [RC] + saReqRDV.AD_Adresse +UnRdv.Bulle += [RC] + saReqRDV.AD_CodePostal +UnRdv.Bulle += [RC] + saReqRDV.AD_Ville +fin +saTypeRDV = DonneCouleurRDV(saReqRDV.RV_CleType) +saTypeTemps = saTypeRDV +sinon +bOk = Faux // RDV Annulé sans temps ne sont pas pris en compte +fin +fin +fin +si bOk alors +si saReqRDV.rv_CleType <> "" _et_ gtabParametresMetierCode[cParam_TypeRDV][saReqRDV. +rv_CleType]..Existe alors +UnRdv..Contenu = gtabParametresMetierCode[cParam_TypeRDV][saReqRDV.rv_CleType]. +saLibelle+RC +06/08/2026 Batik 1860 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Procédures +fin +si saReqRDV.SDT_IDIntervention > 0 alors +si saReqRDV.IN_NumDevis <> "" alors +UnRdv..Contenu += saReqRDV.IN_NumDevis +sinon +UnRdv..Contenu += saReqRDV.IN_RefInterne +fin +fin +| UnRdv.Extra[cExtra_IdRdv] | | = saReqRDV.rv_pkid | | | +| -------------------------- | --- | ------------------ | --- | --- | +UnRdv.Extra[cExtra_GUIDRdvColb] = saReqRDV.RDV_GUID +| UnRdv.Extra[cExtra_IdTemps] | | = saReqRDV.SDT_PKID | | | +| ----------------------------- | --- | ----------------------------- | --- | --- | +| UnRdv.Extra[cExtra_TypeRdv] | | = saReqRDV.RV_CleType | | | +| UnRdv.Extra[cExtra_IdInter] | | = saReqRDV.SDT_IDIntervention | | | +| UnRdv.Extra[cExtra_NumInter] | | = saReqRDV.IN_RefInterne | | | +UnRdv.Extra[cExtra_TypeTemps] = saReqRDV.SDT_CleType +UnRdv.Extra[cExtra_StatusRDV] = saReqRDV.rv_CleStatut +| UnRdv.Extra[cExtra_DateD_PL] | | = saReqRDV.RVC_DateDeb | | | +| ----------------------------- | --- | --------------------------- | --- | --- | +| UnRdv.Extra[cExtra_DateF_PL] | | = saReqRDV.RVC_DateFin | | | +| UnRdv.Extra[cExtra_DateD_SDT] | | = saReqRDV.SDT_DateDebut | | | +| UnRdv.Extra[cExtra_DateF_SDT] | | = saReqRDV.SDT_DateHeureFin | | | +| UnRdv.Extra[cExtra_Control] | | = saReqRDV.SDT_Controle | | | +| UnRdv.Extra[cExtra_Pond] | | = saReqRDV.SDT_Ponderation | | | +UnRdv.Titre = DateVersChaîne(UnRdv.DateDébut,"HH:mm")+" - "+DateVersChaîne( +UnRdv.DateFin,"HH:mm") +UnRdv.Catégorie = saTypeRDV +UnRdv.CouleurFond= saTypeTemps +TableauAjoute(tbRdvTemps,UnRdv) +si saReqRDV.RDV_GUID <> "" _et_ saGUIDRdv <> saReqRDV.RDV_GUID alors +saGUIDRdv = saReqRDV.RDV_GUID +duUneDure = saReqRDV.rvc_DateFin-saReqRDV.RVC_DateDeb +si UnRdv.Extra[cExtra_TypeRdv] <> "" _et_ gtabParametresMetierCode[cParam_TypeRDV] +[UnRdv.Extra[cExtra_TypeRdv]]..Existe _et_ +gtabParametresMetierCode[cParam_TypeRDV][UnRdv.Extra[cExtra_TypeRdv]]. +saParametre <> "" _et_ gtabParametresMetierCode[cParam_TypeRDV][UnRdv.Extra[ +cExtra_TypeRdv]].ParamJson.ComptSuiviTemp alors +rTempsCumulRDV += duUneDure..EnMinutes +fin +si UnRdv.Extra[cExtra_TypeRdv] <> "" alors tbaTotalTypeRdvPrevu[UnRdv.Extra[ +cExtra_TypeRdv]] += (duUneDure..EnMinutes/60) +fin +fin +fin +fin +fin +Procédure locale FiltreTempsSansRDV +procédure FiltreTempsSansRDV() +si nIdColb = 0 alors +renvoyer Faux +fin +| saRqSDT | est une Requête SQL | | = [ | | +| ------- | ------------------- | --- | --- | --- | +SELECT SuiviDesTemps.*, IN_NumDevis, IN_RefInterne,AD_Adresse,AD_CodePostal,AD_Ville +FROM SuiviDesTemps +LEFT OUTER JOIN Intervention ON Intervention.IN_PKID = SuiviDesTemps.SDT_IDIntervention +| 06/08/2026 | | Batik | | 1861 | +| ---------- | --- | ----- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Procédures +LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Intervention.IN_IDLieu) +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +WHERE SDT_NbMinutes > 0 +AND SDT_DateDebut > '00000000' AND SDT_DateHeureFin > '00000000' +AND SDT_CleType <> '' AND SDT_CleType NOT IN ({p_TypeTemps}) +AND (SuiviDesTemps.SDT_DateHeureFin BETWEEN {P_DateInf} AND {P_DateSup} ) +AND SuiviDesTemps.SDT_IDCollaborateur IN ({p_IdCollaborateurs}) +AND SuiviDesTemps.SDT_IDRdv <= 0 AND SuiviDesTemps.SDT_GUID_Rdv_Colb = '' +] +saRqSDT.P_DateInf = gdhDateD +saRqSDT.P_DateSup = gdhDateF +saRqSDT.p_IdCollaborateurs = nIdColb +saRqSDT.p_TypeTemps = cCle_TypeTempsGlobal+";"+cCle_TypeTempsNonAffecte+";"+ +cCle_TypeTempsNull +saTypeRDV est une chaîne ANSI +saTypeTemps est une chaîne ANSI +si pas HExécuteRequête(saRqSDT) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur s'est produite lors de la recherche du temps saisi par les collaborateurs", +"FEN_Suivi_Temps.FiltreTempsSansRDV") +renvoyer Faux +sinon +pour tout saRqSDT +si saRqSDT.SDT_DateDebut <> "" et saRqSDT.SDT_DateHeureFin <> "" et saRqSDT.SDT_NbMinutes > 0 +alors +UnRdv est un RendezVous +UnRdv.Image = IMG_Temp_SVG +UnRdv.DateDébut = saRqSDT.SDT_DateDebut +UnRdv.DateFin = saRqSDT.SDT_DateHeureFin +UnRdv.Ressource = saRqSDT.SDT_IDCollaborateur +saTypeTemps = DonneCouleurTypeTemps(saRqSDT.SDT_CleType) +saTypeRDV = saTypeTemps +si saRqSDT.SDT_IDIntervention > 0 alors +si saRqSDT.IN_NumDevis <> "" alors +UnRdv..Contenu += saRqSDT.IN_NumDevis +sinon +UnRdv..Contenu += saRqSDT.IN_RefInterne +fin +fin +UnRdv.Extra[cExtra_GUID] = saRqSDT.GUID +UnRdv.Extra[cExtra_IdRdv] = 0 +UnRdv.Extra[cExtra_IdTemps] = saRqSDT.SDT_PKID +UnRdv.Extra[cExtra_TypeRdv] = "" +UnRdv.Extra[cExtra_TypeTemps] = saRqSDT.SDT_CleType +UnRdv.Extra[cExtra_NumInter] = saRqSDT.IN_RefInterne +UnRdv.Extra[cExtra_DateD_PL] = "" +UnRdv.Extra[cExtra_DateF_PL] = "" +UnRdv.Extra[cExtra_DateD_SDT] = saRqSDT.SDT_DateDebut +UnRdv.Extra[cExtra_DateF_SDT] = saRqSDT.SDT_DateHeureFin +UnRdv.Extra[cExtra_Control] = saRqSDT.SDT_Controle +UnRdv.Extra[cExtra_Pond] = saRqSDT.SDT_Ponderation +UnRdv.Titre = DateVersChaîne(UnRdv.DateDébut,"HH:mm")+" - "+ +DateVersChaîne(UnRdv.DateFin,"HH:mm") +UnRdv.Catégorie = saTypeRDV +UnRdv.CouleurFond = saTypeTemps +TableauAjoute(tbRdvTemps,UnRdv) +06/08/2026 Batik 1862 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Procédures +fin +fin +fin +Procédure locale MaJDatesPL +procédure MaJDatesPL() +si AgendaMode(AGD_PL) = agzMois alors +gdhDateD..PartieDate = AgendaPosition(AGD_PL,agDateDébut) +gdhDateD..Jour += 10 // pour être sur d’être dans le bon mois +gdhDateD = PremierJourDuMois(gdhDateD) +gdhDateF..PartieDate = DernierJourDuMois(gdhDateD) +CMOD_MoisLib.LIB_lib = PremièreLettreEnMajuscule(DateVersChaîne(gdhDateD, "MMMM")) +sinon +gdhDateD..PartieDate = AgendaPosition(AGD_PL,agDateDébut) +gdhDateF..PartieDate = AgendaPosition(AGD_PL,agDateFin) +CMOD_MoisLib.LIB_lib = DateVersChaîne(gdhDateD, "JJ/MM/AAAA") +" - "+DateVersChaîne(gdhDateF, +"JJ/MM/AAAA") +fin +gdhDateD..PartieHeure = "000000000" +gdhDateF..PartieHeure = "235959000" +// La suivi de temps s'effectue uniquement sur de rendez-vous passés +si gdhDateF..PartieDate >= DateSys() alors +gdhDateF = DateHeureSys() +fin +si gdhDateD..PartieDate >= DateSys() alors +gdhDateD = DateHeureSys() +fin +Procédure locale MAJHSurveille +procédure MAJHSurveille(sdFichierDeDonnées est une Source de Données, nNuméroEnregistrement est un +entier, nAction est un entier <utile>) +si HLit(sdFichierDeDonnées, nNuméroEnregistrement) = Faux alors +Erreur("Impossible de lire l'enregistrement notifié comme ajouté :", HErreurInfo()) +retour +fin +RDV est un Enregistrement de SuiviDesTemps = sdFichierDeDonnées +//On vérifie si on est concerné par le rendez-vous +si RDV.SDT_DateDebut >= gdhDateD _et_ RDV.SDT_DateHeureFin<= gdhDateF _et_ nIdColb = RDV. +SDT_IDCollaborateur alors +Filtrer() +fin +Procédure locale ModifHeure +procédure ModifHeure(unRdv est un RendezVous) +i est un entier = TableauCherche(tbRdvTemps,tcLinéairePremier,"ID", unRdv.id) +si i > 0 alors +RdvOri est un RendezVous = tbRdvTemps[i] +06/08/2026 Batik 1863 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Procédures +si Val(unRdv.Extra[cExtra_IdTemps]) > 0 alors +si HLitRecherchePremier(SuiviDesTemps,SDT_PKID,Val(unRdv.Extra[cExtra_IdTemps])) alors +si unRdv.DateDébut <> RdvOri.DateDébut alors +SuiviDesTemps.SDT_DateDebut = unRdv.DateDébut +sinon +si unRdv.DateFin <> RdvOri.DateFin alors +SuiviDesTemps.SDT_DateHeureFin = unRdv.DateFin +fin +fin +duDure est une Durée = (unRdv.DateFin-unRdv.DateDébut) +SuiviDesTemps.SDT_NbMinutes = duDure..EnMinutes +SuiviDesTemps.SDT_Controle = Vrai +SuiviDesTemps.ModifUser = CollaborateurEnCours.nIdUser +SuiviDesTemps.ModifDate = DateHeureSys() +si pas HModifie(SuiviDesTemps) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur s'est produite lors de la modification du pointage", +"FEN_Suivi_Temps.ModifHeure") +renvoyer Faux +sinon +tbRdvTemps[i] = unRdv +fin +fin +sinon +si unRdv.Extra[cExtra_IdRdv] <> "" alors +oUnSuivi est un MSuiviTemps +oUnSuivi.dhDateDebut..PartieDate = unRdv.DateDébut.PartieDate +oUnSuivi.dhDateDebut..PartieHeure = unRdv.DateDébut.PartieHeure +oUnSuivi.dhDateFin..PartieDate = unRdv.Datefin.PartieDate +oUnSuivi.dhDateFin..PartieHeure = unRdv.Datefin.PartieHeure +duDure est une Durée = (oUnSuivi.dhDateFin-oUnSuivi.dhDateDebut) +oUnSuivi.nNbMinutes = duDure..EnMinutes +oUnSuivi.saCleType = cCle_TypeTempsInter +oUnSuivi.nIDCollaborateur = nIdColb +oUnSuivi.nIDIntervention = unRdv.Extra[cExtra_IdInter] +oUnSuivi.nIDRdv = Val(unRdv.Extra[cExtra_IdRdv]) +oUnSuivi.rPonderation = gtabListeCollaborateurs[nIdColb]..Existe ? +gtabListeCollaborateurs[nIdColb].rPonderation sinon 1 +oUnSuivi.saCleTypeRDV = unRdv.Extra[cExtra_TypeRdv] +oUnSuivi.bControle = Vrai +oUnSuivi.saNoteAdmin = "" +oUnSuivi.saGUID_RDV = unRdv.Extra[cExtra_GUIDRdvColb] +si pas oUnSuivi:Enregistrer() alors +renvoyer Faux +fin +fin +fin +fin +renvoyer Faux +Procédure locale NouveauTemps +procédure NouveauTemps(saOption est une chaîne ANSI) +si nIdColb <= 0 alors +Erreur("Veuillez choisir un collaborateur") +renvoyer Faux +fin +UnRdv est un RendezVous +si saOption <> "" _et_ gtabParametresMetierCode[cparam_TypeTemps][saOption]..Existe alors +06/08/2026 Batik 1864 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Procédures +UnRdv.Extra[cExtra_TypeTemps] = saOption +fin +UnRdv.DateDébut = AGD_PL.PlageSélectionnée(agDateDébut) +UnRdv.Datefin = AGD_PL.PlageSélectionnée(agDateFin) +si UnRdv.DateDébut > DateHeureSys() ou UnRdv.DateFin > DateHeureSys() alors +Erreur("Vous ne pouvez pas saisir de temps avec une date future") +renvoyer Faux +fin +si pas DateValide(UnRdv.DateDébut) _et_ pas DateValide(UnRdv.DateFin) _et_ AGD_PL > 0 alors +// Je suis dans un rdv +i est un entier = AGD_PL +si Val(tbRdv[i].Extra[cExtra_IdRdv]) > 0 alors +UnRdv = tbRdv[i] +UnRdv.Extra[cExtra_TypeTemps] = saOption +Ouvre(FEN_Fiche_Suivi_Temps_RDV,Val(tbRdv[i].Extra[cExtra_IdRdv]),UnRdv) +renvoyer Vrai +fin +fin +Ouvre(FEN_Fiche_Suivi_Temps,UnRdv,nIdColb) +Procédure locale OuvreFicheTemps +procédure OuvreFicheTemps(NomChamp est une chaîne ANSI) +si pas bDroitModif alors +renvoyer Faux +fin +selon NomChamp +cas CMOD_Table.TABLE_Info..NomComplet +i est un entier = CMOD_Table.TABLE_Info +si i > 0 alors +si CMOD_Table.TABLE_Info[i].COL_IdRdv > 0 alors +Ouvre(FEN_Fiche_Suivi_Temps_RDV,CMOD_Table.TABLE_Info[i].COL_GUIDRDV,nIdColb) +sinon si CMOD_Table.TABLE_Info[i].COL_PKID > 0 alors +i =TableauCherche(tbRdv,tcLinéaire,"ID",CMOD_Table.TABLE_Info[i].COL_IndiceRdv,1) +si i > 0 alors +Ouvre(FEN_Fiche_Suivi_Temps,tbRdv[i],nIdColb) +fin +fin +fin +cas AGD_PL..NomComplet +indice est un entier = AGD_PL +si indice > 0 _et_ indice <= tbRdv..Occurrence alors +si Val(tbRdv[indice].Extra[cExtra_IdRdv]) > 0 alors +Ouvre(FEN_Fiche_Suivi_Temps_RDV,tbRdv[indice].Extra[cExtra_GUIDRdvColb],nIdColb) +sinon si Val(tbRdv[indice].Extra[cExtra_IdTemps]) > 0 alors +Ouvre(FEN_Fiche_Suivi_Temps,tbRdv[indice],nIdColb) +fin +fin +autre cas +fin +Procédure locale RechercheColb +procédure RechercheColb() +CMOD_NomColb.LIB_lib = "" +tbIdColbs est un tableau d'entiers sur 8 octets +06/08/2026 Batik 1865 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Procédures +tbIdColbs = Ouvre(FEN_Choix_Colbs,tbIdColbs,Faux) +si tbIdColbs..Occurrence > 0 alors +nIdColb = tbIdColbs[1] +si gtabListeCollaborateurs[nIdColb]..Existe = Vrai alors +CMOD_NomColb.LIB_lib = gtabListeCollaborateurs[nIdColb].NomPrenom() +fin +Filtrer() +fin +Procédure locale SelRdv +procédure SelRdv(NomChamp est une chaîne ANSI) +indice est un entier = 0 +i est un entier +selon NomChamp +cas CMOD_Table.TABLE_Info..NomComplet +i = CMOD_Table.TABLE_Info +si i > 0 alors +indice =TableauCherche(tbRdv,tcLinéaire,"ID",CMOD_Table.TABLE_Info[i].COL_IndiceRdv,1) +fin +si indice > 0 alors +AgendaSelectPlus(AGD_PL,indice) +fin +cas AGD_PL..NomComplet +indice = AGD_PL +si indice > 0 _et_ indice <= tbRdv..Occurrence alors +si tbRdv[indice].ID <> "" alors +i = TableCherche(CMOD_Table.TABLE_Info.COL_IndiceRdv,tbRdv[indice].ID) +fin +si i > 0 alors +TableSelectPlus(CMOD_Table.TABLE_Info,i) +fin +fin +autre cas +fin +Procédure locale SupprimerTemps +procédure SupprimerTemps(saNomChamp est une chaîne ANSI) +i est un entier +indice est un entier +saQuestion est une chaîne ANSI +selon saNomChamp +cas CMOD_Table.TABLE_Info..NomComplet +i = CMOD_Table.TABLE_Info +si i > 0 alors +indice =TableauCherche(tbRdv,tcLinéaire,"ID",CMOD_Table.TABLE_Info[i].COL_IndiceRdv,1) +fin +cas AGD_PL..NomComplet +indice = AGD_PL +autre cas +06/08/2026 Batik 1866 + +Partie 3 › Fenêtre WINDEV › FEN_Suivi_Temps › Procédures +fin +si indice > 0 _et_ indice <= tbRdv..Occurrence _et_ Val(tbRdv[indice].ID) > 0 alors +i = indice +sinon +i = 0 +fin +si i > 0 alors +si Val(tbRdv[i].Extra[cExtra_IdTemps]) > 0 alors +saQuestion = "Voulez-vous supprimer le temps " +si tbRdv[i].Extra[cExtra_TypeTemps] <> "" _et_ gtabParametresMetierCode[cparam_TypeTemps][tbRdv +[i].Extra[cExtra_TypeTemps]]..Existe alors +saQuestion = "Voulez-vous supprimer le temps ("+gtabParametresMetierCode[cparam_TypeTemps] +[tbRdv[i].Extra[cExtra_TypeTemps]].saLibelle+") " +fin +sinon si Val(tbRdv[i].Extra[cExtra_IdRdv]) > 0 alors +saQuestion = +"Aucun pointage n’a été saisi pour ce rendez-vous. Les rendez-vous passés ne peuvent pas être +supprimés : vous devez annuler le rendez-vous et indiquer la cause " +Erreur(saQuestion) +renvoyer Faux +fin +si saQuestion <> "" alors +saQuestion += "du "+DateVersChaîne(tbRdv[i].DateDébut,"JJ/MM/AAAA")+" : "+DateVersChaîne(tbRdv[ +i].DateDébut,"HHhmm")+" - "+DateVersChaîne(tbRdv[i].DateFin,"HHhmm")+" ?" +fin +fin +si saQuestion <> "" alors +si OuiNon(saQuestion) = Oui alors +si Val(tbRdv[i].Extra[cExtra_IdTemps]) > 0 alors +si HLitRecherchePremier(SuiviDesTemps,SDT_PKID,Val(tbRdv[i].Extra[cExtra_IdTemps])) alors +si pas HSupprime(SuiviDesTemps) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur s'est produite lors de la suppression du temps", +"FEN_Suivi_Temps.SupprimerTemps") +renvoyer Faux +fin +fin +fin +fin +fin +06/08/2026 Batik 1867 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Image +FEN_Fiche_Suivi_Temps_RDV +Image +FEN_Fiche_Suivi_Temps_RDV +Informations générales +FEN_Fiche_Suivi_Temps_RDV +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Fiche_Suivi_Temps_RDV.wdw +Créé par SMR +Date de création 13/08/2025 16:46:13 +Dernière modification par susana@applilogik.fr +Date dernière modification 05/03/2026 19:26:27 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +06/08/2026 Batik 1868 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations générales +Note pour la documentation technique +FR: Fiche de suivi du temps d’intervention +| Position X | 0 Position Y | | 0 Largeur | 1200 Hauteur | 598 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 1869 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations générales +| Déplace souris sur bouton par | | Non | | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | --- | +| Compact. barres outils | | Non | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Champ de saisie | | 11 | Libellé | | | 7 | +| --- | ---------------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Bouton | | 3 | Image | | | 7 | +| | Combo | | 4 | Zone répétée | | | 1 | +| | Superchamp | | 1 | Attribut zone répétée | | | 8 | +| | Champ Modèle de champs | | 26 | Case barre de message | | | 1 | +| | Disposition | | 1 | Cellule de disposition | | | 6 | +Nombre d'éléments dans la fenêtre : 76 +FEN_Fiche_Suivi_Temps_RDV +Informations sur les champs +Fenêtre : FEN_Fiche_Suivi_Temps_RDV +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +X noitisoP Y noitisoP laitini tatE +ruetuaH +| | | | ruegraL | elbisiV | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +nalP +| LIB_Trigramme | | 0 1 | 88 55 | 0 Actif | Centre | Centre | | +| ------------- | --- | --- | ----- | ------- | ------ | ------ | --- | +Zone répétée +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| ZR_Temps | | 565 | 107 | 624 437 | 0 | Actif | | +| ---------- | --- | --- | ----- | ------- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | | 1870 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_AutresColb | | 14 | 1 543 | 74 | 0 | Actif | | +| ----------------- | --- | ---- | -------- | --- | --- | ----- | --- | +| CMOD_BordFen | | 0 | -29 1063 | 29 | 0 | Actif | | +| CMOD_DateRDV | | 14 | 90 543 | 26 | 0 | Actif | | +| CMOD_Description | | 14 | 1 543 | 78 | 0 | Actif | | +| CMOD_MotifAnnu | | 211 | 1 346 | 53 | 0 | Actif | | +| CMOD_NomColb | | 96 | 15 744 | 26 | 0 | Actif | | +| CMOD_NoteColb | | 14 | 1 543 | 69 | 0 | Actif | | +| CMOD_NumInter | | 14 | 2 189 | 53 | 0 | Actif | | +| CMOD_Obj | | 14 | 1 543 | 56 | 0 | Actif | | +| CMOD_OrigineAnnu | | 14 | 1 189 | 53 | 0 | Actif | | +| CMOD_PlusTemps | | 1159 | 69 30 | 30 | 0 | Actif | | +| CMOD_RapportTemps | | 565 | 64 476 | 35 | 0 | Actif | | +| CMOD_SansNom8 | | 1049 | 9 141 | 35 | 0 | Actif | | +| CMOD_SansNom9 | | 900 | 9 141 | 35 | 0 | Actif | | +| CMOD_StatusRDV | | 211 | 2 346 | 53 | 0 | Actif | | +| CMOD_SupTemps | | 1121 | 69 30 | 30 | 0 | Actif | | +| CMOD_TypeRDV | | 14 | 64 543 | 26 | 0 | Actif | | +| CMOD_VisiteGuide | | 862 | 9 30 | 24 | 0 | Actif | | +Disposition +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | +| | | X noitisoP | Y noitisoP | | | | | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| DISP_Rdv | | 0 | 119 565 | 425 | 0 | Actif | | +| -------- | --- | --- | ------- | --- | --- | ----- | --- | +Zone répétée : ZR_Temps +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_IdTemps | 540 | 8 57 | 21 0 | affichag | Droite | Haut | | +| ----------- | --- | ---- | ----- | -------- | ------ | ---- | ---- | +| 06/08/2026 | | | Batik | | | | 1871 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +ATT_Date +ATT_HeureD +ATT_HeureF +ATT_IdTemp +ATT_NbHeure +ATT_NoteAdmin +ATT_NoteColb +ATT_Type +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Creation | 10 | 174 | 587 | 26 | 0 | Actif | | +| ------------------ | --- | ----- | --- | --- | --- | ----- | --- | +| CMOD_Date | | 8 8 | 112 | 53 | 0 | Actif | | +| CMOD_HeureD | | 9 61 | 111 | 53 | 0 | Actif | | +| CMOD_HeureF | 128 | 61 | 111 | 53 | 0 | Actif | | +| CMOD_NbHeures | 247 | 61 | 121 | 53 | 0 | Actif | | +| CMOD_NoteAdmin | | 9 114 | 588 | 60 | 0 | Actif | | +| CMOD_NoteColbTemps | 376 | 7 | 221 | 107 | 0 | Actif | | +| CMOD_TypeTemps | 128 | 7 | 240 | 53 | 0 | Actif | | +Champ Modèle de champs : ZR_Temps.CMOD_Creation +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | 0 0 | 587 26 | 0 | Actif | Gauche | Centre | | +| ---------- | --- | ------ | --- | ----- | ------ | ------ | ---- | +| 06/08/2026 | | Batik | | | | | 1872 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : ZR_Temps.CMOD_Date +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_Date | 0 0 112 | 53 0 | Actif Date | | Oui, blo | | +| -------- | ------- | ---- | ---------- | --- | -------- | --- | +Champ Modèle de champs : ZR_Temps.CMOD_HeureD +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_Texte | 0 0 111 | 53 0 | Actif Heure | | Non | | +| --------- | ------- | ---- | ----------- | --- | --- | --- | +Champ Modèle de champs : ZR_Temps.CMOD_HeureF +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_Texte | 0 0 111 | 53 0 | Actif Heure | | Non | | +| ---------- | ------- | ---- | ----------- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | 1873 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : ZR_Temps.CMOD_NbHeures +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_Texte | 0 0 121 | 53 0 | affichag | Numéri | | Non | | +| --------- | ------- | ---- | -------- | ------ | --- | --- | --- | +Champ Modèle de champs : ZR_Temps.CMOD_NoteAdmin +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_Texte | 0 0 588 | 60 0 | Actif | Texte | | Non | | +| --------- | ------- | ---- | ----- | ----- | --- | --- | --- | +Champ Modèle de champs : ZR_Temps.CMOD_NoteColbTemps +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_Texte | 0 0 221 | 107 0 | affichag | Texte | | Non | | +| ---------- | ------- | ----- | -------- | ----- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | 1874 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : ZR_Temps.CMOD_TypeTemps +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_Combo | 0 0 | 240 | 53 | 0 | Actif | Mémoire | | Non | | | +| --------- | --- | --- | --- | --- | ----- | ------- | --- | --- | --- | --- | +Champ Modèle de champs : DISP_Rdv.CMOD_AutresColb +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_Texte | 0 0 543 | 74 | 0 affichag | | Texte | | Non | | | | +| --------- | ------- | --- | ---------- | --- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +laitini tatE +| | | X noitisoP | Y noitisoP | | | | | | | | +| --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | --- | --- | +| | | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| SC_SansNom1 | | | 0 | -29 | 1063 | 30 | | 0 | Actif | | +| ----------- | --- | --- | --- | --- | ---- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +| 06/08/2026 | | | | Batik | | | | | | 1875 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › 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é | | 91 -27 | 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------ | --- | --- | --- | ----- | ------ | ------ | --- | +Image +| | | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------------------------------------- | ---------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| | | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_AideFenetre | | 1031 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | --- | ---- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | | 38 | -26 | 21 | 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_DateRDV +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | | 14 90 | 543 | 26 | 0 | Actif | Gauche | Centre | | +| ------- | --- | ----- | --- | --- | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : DISP_Rdv.CMOD_Description +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_Texte | 0 | 0 543 78 | 0 | Actif | Texte | Non | | | | +| ---------- | --- | -------- | --- | ----- | ----- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | 1876 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : DISP_Rdv.CMOD_MotifAnnu +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_Combo | 0 | 0 346 | 53 | 0 | Actif | Mémoire | | | Non | | +| --------- | --- | ----- | --- | --- | ----- | ------- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_NomColb +Libellé +tuaféd rap eéminA +| | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | | 96 | 15 744 | | 26 | 0 | Actif | Gauche | Centre | | +| ------- | --- | --- | ------ | --- | --- | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : DISP_Rdv.CMOD_NoteColb +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 | +| --- | ---------- | --- | --- | ------------ | ----------- | --------------------- | --- | ------------ | ------------ | ------------- | +| | X noitisoP | | | laitini tatE | eisias epyT | engilitluM FTR tamroF | | | | | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| SAI_Texte | 0 | 0 543 69 | 0 | affichag | Texte | | Non | | | | +| ---------- | --- | -------- | --- | -------- | ----- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | | Batik | | | | | 1877 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : DISP_Rdv.CMOD_NumInter +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_Texte | 0 0 189 | 53 0 | affichag | Texte | | Non | | | +| --------- | ------- | ---- | -------- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : DISP_Rdv.CMOD_Obj +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_Texte | 0 0 543 | 56 0 | affichag | Texte | | Non | | | +| --------- | ------- | ---- | -------- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : DISP_Rdv.CMOD_OrigineAnnu +Combo +reihcif eétsissa eisiaS +| | | | | | | | eriotagilbo eisiaS | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | ------------------ | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | | BAT ehcuoT | eisias cevA | | | +| --- | --------------------- | --------------- | --- | ------------ | ---------- | ----------- | --- | --- | +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | +| | | ruegraL ruetuaH | | | | sruocraP | | | +elbisiV +| | | | | | elbaT | eéirT | | | +| --- | --- | --- | --- | --- | ----- | ----- | --- | --- | +nalP +| CMB_Combo | 0 0 | 189 53 | 0 | Actif | Mémoire | | Non | | +| ---------- | --- | ------ | --- | ----- | ------- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | 1878 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_PlusTemps +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | | laitini tatE | sucof cevA | +| --- | --------------------- | --- | --- | --- | ------------ | ---------- | +ruetuaH cilc cevA +ruegraL +elbisiV +nalP +| IMG_Icone | 1159 | 69 30 | 30 | 0 | Actif | | +| --------- | ---- | ----- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_RapportTemps +Bouton +notuob epyT +| | | | | | laitini tatE BAT ehcuoT | | +| --- | ---------- | ---------- | ------- | --- | ----------------------- | --- | +| | X noitisoP | Y noitisoP | | | | | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| BTN_Valider | 565 | 64 476 | 35 | 0 | Actif | Normal | +| ----------- | --- | ------ | --- | --- | ----- | ------ | +Champ Modèle de champs : CMOD_SansNom8 +Bouton +BAT ehcuoT notuob epyT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Valider | 1049 | 9 141 | 35 | 0 | Actif | Normal | +| ----------- | ---- | ----- | --- | --- | ----- | ------ | +Champ Modèle de champs : CMOD_SansNom9 +Bouton +notuob epyT +| | | | | | laitini tatE BAT ehcuoT | | +| --- | ---------- | ---------- | ------- | --- | ----------------------- | --- | +| | X noitisoP | Y noitisoP | | | | | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| BTN_Annuler | 900 | 9 141 | 35 | 0 | Actif | Normal | +| ----------- | --- | ----- | --- | --- | ----- | ------ | +| 06/08/2026 | | Batik | | | | 1879 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : DISP_Rdv.CMOD_StatusRDV +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_Combo | 0 | 0 346 | 53 | 0 Actif | | Mémoire | | Non | | +| --------- | --- | ----- | --- | ------- | --- | ------- | --- | --- | --- | +Champ Modèle de champs : CMOD_SupTemps +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | --- | +| | | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | | 1121 | 69 | 30 | 30 | 0 | Actif | | | +| --------- | --- | ---- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_TypeRDV +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | laitini tatE | | | FTR tamroF | +| | X noitisoP | Y noitisoP | | | | | | | | +| | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_lib | | 14 | 64 543 | 26 | 0 | Actif | Gauche | Centre | | +| ---------- | --- | --- | ------ | ----- | --- | ----- | ------ | ------ | ---- | +| 06/08/2026 | | | | Batik | | | | | 1880 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_VisiteGuide +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | sucof cevA | +| --- | --------------------- | --- | --- | ------------ | ---------- | +ruetuaH cilc cevA +ruegraL +elbisiV +nalP +| IMG_Icone | 862 9 | 30 24 | 0 | Actif | | +| --------- | ----- | ----- | --- | ----- | --- | +Fenêtre : FEN_Fiche_Suivi_Temps_RDV +Champ Modèle de champs : DISP_Rdv.CMOD_AutresColb +| Ordre navigation | 1 | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | +| Curseur survol | 0 | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | 0 | | | | | +| Taux Paral. Y | 0 | | | | | +| Épinglé | Non | | | | | +| Masquer lors du scrolling | Non | | | | | +| Ancrage au contenu | <Aucun> | | | | | +| Numéro aide | 0 | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | +| Facteur de rétrécissement | 0 | | | | | +| Facteur d'agrandissement | 0 | | | | | +| Ancrage | Largeur | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { + "Libelle":"Barre de titre (Fen\u00eatre)" +} +| Ordre navigation | 1 | | | | | +| -------------------- | ----------------------------------- | ----- | --- | --- | ---- | +| Curseur survol | 0 | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | 0 | | | | | +| Taux Paral. Y | 0 | | | | | +| 06/08/2026 | | Batik | | | 1881 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_DateRDV +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ Modèle de champs : DISP_Rdv.CMOD_Description +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +06/08/2026 Batik 1882 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : DISP_Rdv.CMOD_MotifAnnu +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 400 Taux anc. bas 1000 Taux anc. largeur 600 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_NomColb +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1883 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : DISP_Rdv.CMOD_NoteColb +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : DISP_Rdv.CMOD_NumInter +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 400 Taux anc. hauteur 1000 +06/08/2026 Batik 1884 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : DISP_Rdv.CMOD_Obj +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : DISP_Rdv.CMOD_OrigineAnnu +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 400 Taux anc. hauteur 1000 +06/08/2026 Batik 1885 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_PlusTemps +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_RapportTemps +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1886 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom8 +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom9 +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1887 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : DISP_Rdv.CMOD_StatusRDV +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 400 Taux anc. bas 1000 Taux anc. largeur 600 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SupTemps +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1888 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_TypeRDV +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_VisiteGuide +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1889 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Disposition : DISP_Rdv +Libellé FR: Disposition +Ordre navigation 12 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cellule ancrée 6 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 6 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Libellé : LIB_Trigramme +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 Tenir compte du cadrage +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 +06/08/2026 Batik 1890 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +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 +Zone répétée : ZR_Temps +Libellé FR: &Zone répétée +Ordre navigation 11 +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 +Hauteur ligne max. 0 +Hauteur ligne 199 +Largeur colonne 622 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +06/08/2026 Batik 1891 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite, largeur et hauteur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ Modèle de champs : DISP_Rdv.CMOD_AutresColb +Champ de saisie : DISP_Rdv.CMOD_AutresColb.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 14 +Largeur interne 543 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Batik 1892 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +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, non 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1893 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 1894 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 1895 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 +06/08/2026 Batik 1896 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 +06/08/2026 Batik 1897 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Ancrage Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_DateRDV +Libellé : CMOD_DateRDV.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1898 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : DISP_Rdv.CMOD_Description +Champ de saisie : DISP_Rdv.CMOD_Description.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 542 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Batik 1899 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : DISP_Rdv.CMOD_MotifAnnu +Combo : DISP_Rdv.CMOD_MotifAnnu.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 +06/08/2026 Batik 1900 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 346 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 211 +Largeur interne 346 +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 Oui +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +06/08/2026 Batik 1901 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_NomColb +Libellé : CMOD_NomColb.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1902 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : DISP_Rdv.CMOD_NoteColb +Champ de saisie : DISP_Rdv.CMOD_NoteColb.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 14 +Largeur interne 543 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Batik 1903 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : DISP_Rdv.CMOD_NumInter +Champ de saisie : DISP_Rdv.CMOD_NumInter.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +06/08/2026 Batik 1904 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +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 189 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 1905 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : DISP_Rdv.CMOD_Obj +Champ de saisie : DISP_Rdv.CMOD_Obj.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 14 +Largeur interne 543 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 1906 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Automatique +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1907 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : DISP_Rdv.CMOD_OrigineAnnu +Combo : DISP_Rdv.CMOD_OrigineAnnu.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 189 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 14 +Largeur interne 189 +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 +06/08/2026 Batik 1908 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +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 Oui +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_PlusTemps +Image : CMOD_PlusTemps.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Plus_noire.svg +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> +06/08/2026 Batik 1909 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Mire visible Oui +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_RapportTemps +Bouton : CMOD_RapportTemps.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +06/08/2026 Batik 1910 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom8 +Bouton : CMOD_SansNom8.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +06/08/2026 Batik 1911 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom9 +Bouton : CMOD_SansNom9.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +06/08/2026 Batik 1912 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : DISP_Rdv.CMOD_StatusRDV +Combo : DISP_Rdv.CMOD_StatusRDV.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 346 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 211 +Largeur interne 346 +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 +06/08/2026 Batik 1913 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Oui +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SupTemps +Image : CMOD_SupTemps.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\poubelle_noire.svg +Groupe GR_Saisie +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 +06/08/2026 Batik 1914 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_TypeRDV +Libellé : CMOD_TypeRDV.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +06/08/2026 Batik 1915 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_VisiteGuide +Image : CMOD_VisiteGuide.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\VisiteGuide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +06/08/2026 Batik 1916 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Orientation EXIF Oui +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 +Zone répétée : ZR_Temps +Attribut zone répétée : ZR_Temps.ATT_Date (3) +Champ associé CMOD_Date +Propriété associée 1 +Attribut zone répétée : ZR_Temps.ATT_HeureD (4) +Champ associé CMOD_HeureD +Propriété associée 1 +Attribut zone répétée : ZR_Temps.ATT_HeureF (5) +Champ associé CMOD_HeureF +Propriété associée 1 +Attribut zone répétée : ZR_Temps.ATT_IdTemp (1) +Champ associé LIB_IdTemps +Propriété associée 1 +06/08/2026 Batik 1917 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Attribut zone répétée : ZR_Temps.ATT_NbHeure (6) +Champ associé CMOD_NbHeures +Propriété associée 1 +Attribut zone répétée : ZR_Temps.ATT_NoteAdmin (7) +Champ associé CMOD_NoteAdmin +Propriété associée 1 +Attribut zone répétée : ZR_Temps.ATT_NoteColb (2) +Champ associé CMOD_NoteColbTemps +Propriété associée 1 +Attribut zone répétée : ZR_Temps.ATT_Type (8) +Champ associé CMOD_TypeTemps +Propriété associée 1 +Champ Modèle de champs : ZR_Temps.CMOD_Creation +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1918 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : ZR_Temps.CMOD_Date +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_Temps.CMOD_HeureD +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1919 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : ZR_Temps.CMOD_HeureF +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_Temps.CMOD_NbHeures +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1920 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : ZR_Temps.CMOD_NoteAdmin +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_Temps.CMOD_NoteColbTemps +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1921 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : ZR_Temps.CMOD_TypeTemps +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_Temps.LIB_IdTemps +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 Numérique +Masque saisie FR: 99 999 999 999 999 999 999 +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> +06/08/2026 Batik 1922 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_Temps.CMOD_Creation +Libellé : ZR_Temps.CMOD_Creation.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1923 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : ZR_Temps.CMOD_Date +Champ de saisie : ZR_Temps.CMOD_Date.SAI_Date +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Date +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 574 +Largeur interne 107 +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 +06/08/2026 Batik 1924 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_Temps.CMOD_HeureD +Champ de saisie : ZR_Temps.CMOD_HeureD.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +06/08/2026 Batik 1925 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +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 575 +Largeur interne 111 +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 +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 +06/08/2026 Batik 1926 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_Temps.CMOD_HeureF +Champ de saisie : ZR_Temps.CMOD_HeureF.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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. Droite +Position X interne 694 +Largeur interne 111 +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 +06/08/2026 Batik 1927 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: HH:MM +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1928 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : ZR_Temps.CMOD_NbHeures +Champ de saisie : ZR_Temps.CMOD_NbHeures.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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. Droite +Position X interne 813 +Largeur interne 121 +Cadrage fonctions gXXX Tenir compte du cadrage +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: 99 999 999 999 999 999 999,99 +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Batik 1929 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_Temps.CMOD_NoteAdmin +Champ de saisie : ZR_Temps.CMOD_NoteAdmin.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +06/08/2026 Batik 1930 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +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 576 +Largeur interne 587 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 1931 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_Temps.CMOD_NoteColbTemps +Champ de saisie : ZR_Temps.CMOD_NoteColbTemps.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 942 +Largeur interne 221 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 1932 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Automatique +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1933 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +Champ Modèle de champs : ZR_Temps.CMOD_TypeTemps +Combo : ZR_Temps.CMOD_TypeTemps.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 240 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 694 +Largeur interne 240 +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 +06/08/2026 Batik 1934 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Informations sur les champs +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 Oui +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Fiche_Suivi_Temps_RDV +Code +Déclarations globales de FEN_Fiche_Suivi_Temps_RDV +procédure FEN_Fiche_Suivi_Temps_RDV(local saGUIDRdv est une chaîne ANSI,local nIdColb est un entier sur +8 octets, local unRdv est un RendezVous = Null) +tbaSuivi est un tableau associatif de MSuiviTemps +oRdv est un MRDV_Planning +oRdvColb est un MRDV_Colb +constante +cRdvAnnule = 2 +cAutreColb = 4 +fin +Fin d'initialisation de FEN_Fiche_Suivi_Temps_RDV +Filtrer() +FEN_Fiche_Suivi_Temps_RDV +Code des champs +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +06/08/2026 Batik 1935 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_DateRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DateRDV +06/08/2026 Batik 1936 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DateRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DateRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DateRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DateRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DateRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_DateRDV ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_DateRDV ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_NomColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NomColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NomColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NomColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NomColb +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1937 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NomColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NomColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_NomColb ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_NomColb ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_PlusTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_PlusTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_PlusTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_PlusTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_PlusTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_PlusTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_PlusTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_PlusTemps ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_PlusTemps ) +06/08/2026 Batik 1938 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +AjouterTemps() +A chaque modification de IMG_Icone ( CMOD_PlusTemps ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_PlusTemps ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_PlusTemps ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_PlusTemps ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_RapportTemps +salib = "Valider et copier la saisie de temps vers les autres collaborateurs" +Fin d'initialisation de CMOD_RapportTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_RapportTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_RapportTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_RapportTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_RapportTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_RapportTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_RapportTemps +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1939 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Code des champs +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_RapportTemps ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_RapportTemps ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CopierTempsAutresColbs() +Fin d'initialisation de CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_SansNom8 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_SansNom8 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +Ferme() +fin +Fin d'initialisation de CMOD_SansNom9 +06/08/2026 Batik 1940 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_SansNom9 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_SansNom9 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_SansNom9 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SupTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SupTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SupTemps +06/08/2026 Batik 1941 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SupTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SupTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SupTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SupTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_SupTemps ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_SupTemps ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SupprimerTemps() +A chaque modification de IMG_Icone ( CMOD_SupTemps ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_SupTemps ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_SupTemps ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_SupTemps ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TypeRDV +06/08/2026 Batik 1942 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_TypeRDV ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_TypeRDV ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1943 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitVisiteFicheSuiviTemps() +A chaque modification de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_AutresColb +salib = "Autres collaborateurs sur le même rendez-vous" +Fin d'initialisation de CMOD_AutresColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_AutresColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_AutresColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_AutresColb +06/08/2026 Batik 1944 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_AutresColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_AutresColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_AutresColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_AutresColb ) (modèle MDLC_SaisieSansModif) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_AutresColb ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Description +salib = "Note sur le RDV" +Fin d'initialisation de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Description +06/08/2026 Batik 1945 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Description ) (modèle MDLC_SaisieMultiligne) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Description ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_MotifAnnu +salib = "Motif d'annulation" +Fin d'initialisation de CMOD_MotifAnnu +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_MotifAnnu +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_MotifAnnu +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_MotifAnnu +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_MotifAnnu +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_MotifAnnu +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_MotifAnnu +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_MotifAnnu ) +06/08/2026 Batik 1946 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême..NomComplet,cParam_MotifAnnuRDV,Faux) +Entrée dans CMB_Combo ( CMOD_MotifAnnu ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_MotifAnnu ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_MotifAnnu ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_MotifAnnu ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NoteColb +salib = "Note du collaborateur" +Fin d'initialisation de CMOD_NoteColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NoteColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NoteColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NoteColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NoteColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NoteColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NoteColb +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1947 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Code des champs +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NoteColb ) (modèle MDLC_SaisieSansModif) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NoteColb ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_NumInter +salib = "N° Intervention" +Fin d'initialisation de CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NumInter ) (modèle MDLC_SaisieSansModif) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +06/08/2026 Batik 1948 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Code des champs +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NumInter ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Obj +salib = "Objet du rendez-vous" +Fin d'initialisation de CMOD_Obj +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Obj +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Obj +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Obj +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Obj +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Obj +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Obj +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Obj ) (modèle MDLC_SaisieSansModif) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Obj ) (modèle MDLC_SaisieSansModif) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_OrigineAnnu +06/08/2026 Batik 1949 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Code des champs +salib = "Origine d'annulation" +Fin d'initialisation de CMOD_OrigineAnnu +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_OrigineAnnu +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_OrigineAnnu +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_OrigineAnnu +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_OrigineAnnu +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_OrigineAnnu +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_OrigineAnnu +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_OrigineAnnu ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême..NomComplet,cParam_OrigAnnuRDV,Faux) +Entrée dans CMB_Combo ( CMOD_OrigineAnnu ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_OrigineAnnu ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_OrigineAnnu ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_OrigineAnnu ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1950 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Code des champs +ExécuteAncêtre +Déclarations globales de CMOD_StatusRDV +salib = "Status du rendez-vous" +Fin d'initialisation de CMOD_StatusRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_StatusRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_StatusRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_StatusRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_StatusRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_StatusRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_StatusRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_StatusRDV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême..NomComplet,cParam_StatusRDV,Faux) +Entrée dans CMB_Combo ( CMOD_StatusRDV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_StatusRDV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_StatusRDV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +06/08/2026 Batik 1951 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Code des champs +RdvAnnule() +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_StatusRDV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans ZR_Temps +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Creation +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Creation +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Creation +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Creation +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Creation +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Creation +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Creation +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Creation ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_Creation ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Date +salib = "Date" +Fin d'initialisation de CMOD_Date +06/08/2026 Batik 1952 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Date ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +MoiMême = DateSys() +Entrée dans SAI_Date ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Date ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CalculNbHeure(ZR_Temps) +A chaque modification de SAI_Date ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Date ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_HeureD +06/08/2026 Batik 1953 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Code des champs +salib = "Heure de début" +Fin d'initialisation de CMOD_HeureD +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_HeureD +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_HeureD +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_HeureD +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_HeureD +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_HeureD +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_HeureD +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_HeureD ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_HeureD ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_HeureD ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CalculNbHeure(ZR_Temps) +A chaque modification de SAI_Texte ( CMOD_HeureD ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_HeureD ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1954 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Code des champs +ExécuteAncêtre +Déclarations globales de CMOD_HeureF +salib = "Heure de fin" +Fin d'initialisation de CMOD_HeureF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_HeureF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_HeureF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_HeureF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_HeureF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_HeureF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_HeureF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_HeureF ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_HeureF ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_HeureF ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CalculNbHeure(ZR_Temps) +A chaque modification de SAI_Texte ( CMOD_HeureF ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_HeureF ) +06/08/2026 Batik 1955 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NbHeures +salib = "Temps en heures" +Fin d'initialisation de CMOD_NbHeures +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NbHeures +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NbHeures +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NbHeures +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NbHeures +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NbHeures +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NbHeures +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NbHeures ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_NbHeures ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_NbHeures ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_NbHeures ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NbHeures ) +06/08/2026 Batik 1956 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NoteAdmin +salib = "Note administration" +Fin d'initialisation de CMOD_NoteAdmin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NoteAdmin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NoteAdmin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NoteAdmin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NoteAdmin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NoteAdmin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NoteAdmin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NoteAdmin ) (modèle MDLC_SaisieMultiligne) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NoteAdmin ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_NoteColbTemps +salib = "Note Collaborateur" +Fin d'initialisation de CMOD_NoteColbTemps +06/08/2026 Batik 1957 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NoteColbTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NoteColbTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NoteColbTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NoteColbTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NoteColbTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NoteColbTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NoteColbTemps ) (modèle MDLC_SaisieSansModif) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NoteColbTemps ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_TypeTemps +salib = "Type de temps" +Fin d'initialisation de CMOD_TypeTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TypeTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TypeTemps +06/08/2026 Batik 1958 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TypeTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TypeTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TypeTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TypeTemps +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_TypeTemps ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême..NomComplet,cparam_TypeTemps,Faux) +Entrée dans CMB_Combo ( CMOD_TypeTemps ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_TypeTemps ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_TypeTemps ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_TypeTemps ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_IdTemps ( ZR_Temps ) +// Version 1 +// Description +// Libellé simple +FEN_Fiche_Suivi_Temps_RDV +Procédures +Procédure locale AjouterTemps +06/08/2026 Batik 1959 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Procédures +procédure AjouterTemps() +i est un entier = ZoneRépétéeAjouteLigne(ZR_Temps) +ZR_Temps[i].LIB_IdTemps = 0 +ZR_Temps[i].CMOD_Date.SAI_Date = oRdv:tbaColbs[1].dhDateDeb..PartieDate +ZR_Temps[i].CMOD_HeureD.SAI_Texte = oRdv:tbaColbs[1].dhDateDeb..PartieHeure +ZR_Temps[i].CMOD_HeureF.SAI_Texte = oRdv:tbaColbs[1].dhDateFin..PartieHeure +ZR_Temps[i].CMOD_TypeTemps.CMB_Combo = cCle_TypeTempsInter +CalculNbHeure(i) +ZoneRépétéeSelectPlus(ZR_Temps,i) +Procédure locale CalculNbHeure +procédure CalculNbHeure(local i est un entier) +si i > 0 _et_ DateValide(ZR_Temps[i].CMOD_Date.SAI_Date) alors +dhDateD est une DateHeure +dhDateD..PartieDate = ZR_Temps[i].CMOD_Date.SAI_Date +dhDateD..PartieHeure = ZR_Temps[i].CMOD_HeureD.SAI_Texte +dhDateF est une DateHeure +dhDateF..PartieDate = ZR_Temps[i].CMOD_Date.SAI_Date +dhDateF..PartieHeure = ZR_Temps[i].CMOD_HeureF.SAI_Texte +si ZR_Temps[i].CMOD_HeureD.SAI_Texte > ZR_Temps[i].CMOD_HeureF.SAI_Texte alors +dhDateF..Jour+= 1 // Rdv nuit +fin +duDure est une Durée = (dhDateF-dhDateD) +ZR_Temps[i].CMOD_NbHeures.SAI_Texte = (duDure..EnMinutes/60) +fin +Procédure locale CopierTempsAutresColbs +procédure CopierTempsAutresColbs() +tbaSuiviCopie est un tableau associatif de MSuiviTemps = tbaSuivi +duDure est une Durée +pour toute ligne i de ZR_Temps +si ZR_Temps[i].LIB_IdTemps > 0 _et_ tbaSuiviCopie[ZR_Temps[i].LIB_IdTemps]..Existe alors +nIdT est un entier sur 8 octets = ZR_Temps[i].LIB_IdTemps +si ZR_Temps[i]..Visible = Faux alors // a supprimer +TableauSupprime(tbaSuiviCopie,nIdT) +sinon +tbaSuiviCopie[nIdT].dhDateDebut..PartieDate = ZR_Temps[i].CMOD_Date.SAI_Date +tbaSuiviCopie[nIdT].dhDateDebut..PartieHeure = ZR_Temps[i].CMOD_HeureD.SAI_Texte +tbaSuiviCopie[nIdT].dhDateFin..PartieDate = ZR_Temps[i].CMOD_Date.SAI_Date +tbaSuiviCopie[nIdT].dhDateFin..PartieHeure = ZR_Temps[i].CMOD_HeureF.SAI_Texte +si ZR_Temps[i].CMOD_HeureD.SAI_Texte > ZR_Temps[i].CMOD_HeureF.SAI_Texte alors +tbaSuiviCopie[nIdT].dhDateFin..Jour += 1 // Rdv nuit +fin +duDure = (tbaSuivi[nIdT].dhDateFin-tbaSuivi[nIdT]. +dhDateDebut) +tbaSuiviCopie[nIdT].nNbMinutes = duDure..EnMinutes +tbaSuiviCopie[nIdT].saCleType = ZR_Temps[i].CMOD_TypeTemps.CMB_Combo +tbaSuiviCopie[nIdT].bControle = Vrai +tbaSuiviCopie[nIdT].saNoteAdmin = ZR_Temps[i].CMOD_NoteAdmin.SAI_Texte +fin +sinon si ZR_Temps[i]..Visible = Vrai alors +oUnSuivi est un MSuiviTemps +06/08/2026 Batik 1960 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Procédures +oUnSuivi.dhDateDebut..PartieDate = ZR_Temps[i].CMOD_Date.SAI_Date +oUnSuivi.dhDateDebut..PartieHeure = ZR_Temps[i].CMOD_HeureD.SAI_Texte +oUnSuivi.dhDateFin..PartieDate = ZR_Temps[i].CMOD_Date.SAI_Date +oUnSuivi.dhDateFin..PartieHeure = ZR_Temps[i].CMOD_HeureF.SAI_Texte +si ZR_Temps[i].CMOD_HeureD.SAI_Texte > ZR_Temps[i].CMOD_HeureF.SAI_Texte alors +oUnSuivi.dhDateFin..Jour += 1 // Rdv nuit +fin +duDure = (oUnSuivi.dhDateFin-oUnSuivi.dhDateDebut) +oUnSuivi.nNbMinutes = duDure..EnMinutes +oUnSuivi.saCleType = ZR_Temps[i].CMOD_TypeTemps.CMB_Combo +oUnSuivi.nIDIntervention = oRdv:nIDIntervention +oUnSuivi.saCleTypeRDV = oRdv:saCleType +oUnSuivi.bControle = Vrai +oUnSuivi.saNoteAdmin = ZR_Temps[i].CMOD_NoteAdmin.SAI_Texte +tbaSuiviCopie[i] = oUnSuivi +fin +fin +si tbaSuiviCopie..Occurrence <= 0 alors +Erreur("Aucun enregistrement de temps à copier") +renvoyer Faux +fin +si Ouvre(FEN_Liste_Colb_Suivi_Temps,oRdv,tbaSuiviCopie) alors +si Enregistrer() alors +Ferme() +fin +fin +Procédure locale Enregistrer +procédure Enregistrer() +duDure est une Durée +pour toute ligne i de ZR_Temps +dhDateD est une DateHeure +dhDateF est une DateHeure +dhDateD..PartieDate = ZR_Temps[i].CMOD_Date.SAI_Date +dhDateD..PartieHeure= ZR_Temps[i].CMOD_HeureD.SAI_Texte +dhDateF..PartieDate = ZR_Temps[i].CMOD_Date.SAI_Date +dhDateF..PartieHeure= ZR_Temps[i].CMOD_HeureF.SAI_Texte +si pas DateValide(dhDateF) ou pas DateValide(dhDateD) ou dhDateD = dhDateF alors +Erreur("La date et l'heure dans la saisie de temps sont obligatoires") +renvoyer Faux +fin +si ZR_Temps[i].CMOD_TypeTemps.CMB_Combo = "" alors +Erreur("Le type de temps est obligatoire") +renvoyer Faux +fin +si dhDateD > DateHeureSys() ou dhDateF > DateHeureSys() alors +Erreur("Vous ne pouvez pas saisir de temps avec une date future") +renvoyer Faux +fin +fin +oRdv:tbaColbs[1]:saCleStatut = CMOD_StatusRDV.CMB_Combo +06/08/2026 Batik 1961 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Procédures +si pas oRdv.bPlusieursJours _et_ pas oRdv.bGroupe alors +oRdv:saCleStatut = CMOD_StatusRDV.CMB_Combo +si CMOD_StatusRDV.CMB_Combo <> Null _et_ CMOD_StatusRDV.CMB_Combo <> cCle_RDVAnnule alors +oRdv:saCleMotifAnnu = "" +oRdv:saCleOrigineAnnu = "" +sinon +oRdv:saCleMotifAnnu = CMOD_MotifAnnu.CMB_Combo +oRdv:saCleOrigineAnnu = CMOD_OrigineAnnu.CMB_Combo +fin +fin +pour toute ligne i de ZR_Temps +si ZR_Temps[i].LIB_IdTemps > 0 _et_ tbaSuivi[ZR_Temps[i].LIB_IdTemps]..Existe alors +nIdT est un entier sur 8 octets = ZR_Temps[i].LIB_IdTemps +si ZR_Temps[i]..Visible = Faux alors // a supprimer +si pas tbaSuivi[nIdT].DateSupprime() alors +renvoyer Faux +sinon +TableauSupprime(tbaSuivi,nIdT) +fin +sinon +tbaSuivi[nIdT].dhDateDebut..PartieDate = ZR_Temps[i].CMOD_Date.SAI_Date +tbaSuivi[nIdT].dhDateDebut..PartieHeure = ZR_Temps[i].CMOD_HeureD.SAI_Texte +tbaSuivi[nIdT].dhDateFin..PartieDate = ZR_Temps[i].CMOD_Date.SAI_Date +tbaSuivi[nIdT].dhDateFin..PartieHeure = ZR_Temps[i].CMOD_HeureF.SAI_Texte +si ZR_Temps[i].CMOD_HeureD.SAI_Texte > ZR_Temps[i].CMOD_HeureF.SAI_Texte alors +tbaSuivi[nIdT].dhDateFin..Jour += 1 // Rdv nuit +fin +duDure = (tbaSuivi[nIdT].dhDateFin-tbaSuivi[nIdT].dhDateDebut) +tbaSuivi[nIdT].nNbMinutes = duDure..EnMinutes +tbaSuivi[nIdT].saCleType = ZR_Temps[i].CMOD_TypeTemps.CMB_Combo +tbaSuivi[nIdT].bControle = Vrai +tbaSuivi[nIdT].saNoteAdmin = ZR_Temps[i].CMOD_NoteAdmin.SAI_Texte +tbaSuivi[nIdT].saGUID_RDV = saGUIDRdv +si pas tbaSuivi[nIdT].Enregistrer() alors +renvoyer Faux +fin +fin +sinon si ZR_Temps[i]..Visible = Vrai alors +oUnSuivi est un MSuiviTemps +oUnSuivi.dhDateDebut..PartieDate = ZR_Temps[i].CMOD_Date.SAI_Date +oUnSuivi.dhDateDebut..PartieHeure = ZR_Temps[i].CMOD_HeureD.SAI_Texte +oUnSuivi.dhDatefin..PartieDate = ZR_Temps[i].CMOD_Date.SAI_Date +oUnSuivi.dhDateFin..PartieHeure = ZR_Temps[i].CMOD_HeureF.SAI_Texte +si ZR_Temps[i].CMOD_HeureD.SAI_Texte > ZR_Temps[i].CMOD_HeureF.SAI_Texte alors +oUnSuivi.dhDateFin..Jour += 1 // Rdv nuit +fin +duDure = (oUnSuivi.dhDateFin-oUnSuivi.dhDateDebut) +oUnSuivi.nNbMinutes = duDure..EnMinutes +oUnSuivi.saCleType = ZR_Temps[i].CMOD_TypeTemps.CMB_Combo +oUnSuivi.nIDCollaborateur = nIdColb +oUnSuivi.nIDIntervention = oRdv:nIDIntervention +oUnSuivi.rPonderation = gtabListeCollaborateurs[nIdColb]..Existe ? +gtabListeCollaborateurs[nIdColb].rPonderation sinon 1 +oUnSuivi.saCleTypeRDV = oRdv:saCleType +oUnSuivi.bControle = Vrai +oUnSuivi.saNoteAdmin = ZR_Temps[i].CMOD_NoteAdmin.SAI_Texte +oUnSuivi.saGUID_RDV = saGUIDRdv +si oUnSuivi:Enregistrer() alors +tbaSuivi[oUnSuivi:nPKID] = oUnSuivi +sinon +renvoyer Faux +fin +fin +06/08/2026 Batik 1962 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Procédures +fin +si tbaSuivi..Occurrence > 0 alors +oRdv:tbaColbs[1].bTempsValide = Vrai +fin +si pas oRdv:Enregistrer() alors +renvoyer Faux +sinon +si pas oRdv:tbaColbs[1].Enregistrer() alors +renvoyer Faux +fin +fin +renvoyer Vrai +Procédure locale Filtrer +procédure Filtrer() +si nIdColb <= 0 ou saGUIDRdv = "" alors +renvoyer Faux +fin +TableauSupprimeTout(tbaSuivi) +reqTemps est une Requête SQL = +[ +SELECT RDV_Collaborateur.*,RDV_Planning.*,IN_RefInterne,IN_PKID, SuiviDesTemps.*,RDV_Collaborateur. +GUID AS RVC_GUID, RDV_Planning.GUID AS RV_GUID, +SuiviDesTemps.CreationDate AS CreationDateSDT, SuiviDesTemps.CreationUser AS CreationUserSDT, +SuiviDesTemps.ModifDate AS ModifDateSDT , SuiviDesTemps.ModifUser AS ModifUserSDT +FROM RDV_Collaborateur +INNER JOIN RDV_Planning ON RDV_Planning.GUID = RDV_Collaborateur.RVC_GUID_RDV +LEFT JOIN Intervention ON IN_PKID = RV_IdInter +LEFT JOIN SuiviDesTemps ON (SDT_GUID_Rdv_Colb = RDV_Collaborateur.GUID AND SDT_NbMinutes > 0 AND +SDT_CleType <> '' AND SDT_CleType NOT IN ({p_TypeTemps})) +WHERE RDV_Collaborateur.GUID = {p_GUID} AND RVC_DateDeb IS NOT NULL AND RVC_DateFin IS NOT NULL +ORDER BY SuiviDesTemps.SDT_DateDebut +] +reqTemps.p_GUID = saGUIDRdv +reqTemps.p_TypeTemps = cCle_TypeTempsGlobal+";"+cCle_TypeTempsNonAffecte+";"+cCle_TypeTempsNull +si pas HExécuteRequêteSQL(reqTemps) alors +UneErreur.Init(ErreurApp.ErreurHFSQL, +"Une erreur s'est produite, les informations de rendez-vous n'ont pas pu être récupérées.", +"FEN_Fiche_Suivi_Temps_RDV.filtrer") +renvoyer Faux +fin +bOk est un booléen = Faux +i est un entier +odUnSDT est un MSuiviTemps dynamique +pour tout reqTemps +si DateHeureValide(reqTemps.RVC_DateDeb) _et_ DateHeureValide(reqTemps.RVC_Datefin) alors +si pas bOk alors +FichierVersMémoire(oRdv,reqTemps) +FichierVersMémoire(oRdvColb,reqTemps) +oRdv.saGUID = reqTemps.RV_GUID +oRdvColb.saGUID = reqTemps.RVc_GUID +CMOD_NumInter.SAI_Texte = reqTemps.IN_RefInterne <> "" ? reqTemps.IN_RefInterne +06/08/2026 Batik 1963 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Procédures +sinon "" +CMOD_Obj.SAI_Texte = reqTemps.RV_Objet +CMOD_Description.SAI_Texte = reqTemps.RV_Description +si reqTemps.rv_CleType <> "" _et_ gtabParametresMetierCode[cParam_TypeRDV][reqTemps. +rv_CleType]..Existe alors +CMOD_TypeRDV.LIB_lib = gtabParametresMetierCode[cParam_TypeRDV][reqTemps.rv_CleType]. +saLibelle +fin +si DateValide(reqTemps.RVC_DateDeb) _et_ DateValide(reqTemps.RVC_DateFin) alors +CMOD_DateRDV.LIB_lib = "Le "+DateVersChaîne(reqTemps.RVC_DateDeb, "JJ/MM/AAAA") + +" de "+ DateVersChaîne(reqTemps.RVC_DateDeb, "HHhmm") +" à "+DateVersChaîne(reqTemps. +RVC_DateFin, "HHhmm") +fin +CMOD_StatusRDV.CMB_Combo = reqTemps.rv_CleStatut +CMOD_OrigineAnnu.CMB_Combo = reqTemps.rv_CleOrigineAnnu +CMOD_MotifAnnu.CMB_Combo = reqTemps.rv_CleMotifAnnu +si gtabListeCollaborateurs[reqTemps.RVC_GUID_Colb]..Existe alors +CMOD_NomColb.LIB_lib = gtabListeCollaborateurs[reqTemps.RVC_GUID_Colb].NomPrenom() +LIB_Trigramme = gtabListeCollaborateurs[reqTemps.RVC_GUID_Colb]. +saTrigramme +fin +oRdv:tbaColbs[1] = oRdvColb +bOk = Vrai +fin +si reqTemps.SDT_PKID > 0 alors +odUnSDT = allouer un MSuiviTemps +FichierVersMémoire(odUnSDT,reqTemps) +tbaSuivi[odUnSDT:nPKID] = odUnSDT +i = ZoneRépétéeAjouteLigne(ZR_Temps) +ZR_Temps[i].CMOD_Date.SAI_Date = reqTemps.SDT_DateDebut..PartieDate +ZR_Temps[i].CMOD_HeureD.SAI_Texte = reqTemps.SDT_DateDebut..PartieHeure +ZR_Temps[i].CMOD_HeureF.SAI_Texte = reqTemps.SDT_DateHeureFin..PartieHeure +ZR_Temps[i].CMOD_TypeTemps.CMB_Combo = reqTemps.SDT_CleType +ZR_Temps[i].CMOD_NoteColbTemps.SAI_Texte = reqTemps.SDT_NoteColb +ZR_Temps[i].CMOD_NoteAdmin.SAI_Texte = reqTemps.SDT_NoteAdmin +ZR_Temps[i].CMOD_NbHeures.SAI_Texte = (reqTemps.SDT_NbMinutes/60) +ZR_Temps[i].LIB_IdTemps = reqTemps.SDT_pkid +si DateValide(reqTemps.CreationDateSDT) alors +ZR_Temps[i].CMOD_Creation.LIB_lib = "Crée le "+DateVersChaîne(reqTemps.CreationDateSDT +,"JJ/MM/AAAA") +" " +fin +si reqTemps.CreationUsersdt > 0 _et_ gtbaListeUtilisateurs[reqTemps.CreationUsersdt].. +Existe _et_ gtabListeCollaborateurs[gtbaListeUtilisateurs[reqTemps.CreationUsersdt]. +nIDCollaborateur]..Existe alors +ZR_Temps[i].CMOD_Creation.LIB_lib += "par "+gtabListeCollaborateurs[ +gtbaListeUtilisateurs[reqTemps.CreationUsersdt].nIDCollaborateur].NomPrenom()+" " +fin +si DateValide(reqTemps.ModifDatesdt) alors +ZR_Temps[i].CMOD_Creation.LIB_lib += "modifié le "+DateVersChaîne(reqTemps. +ModifDatesdt,"JJ/MM/AAAA") +" " +fin +si reqTemps.ModifUsersdt > 0 _et_ gtbaListeUtilisateurs[reqTemps.ModifUsersdt]..Existe +_et_ gtabListeCollaborateurs[gtbaListeUtilisateurs[reqTemps.ModifUsersdt].nIDCollaborateur +]..Existe alors +ZR_Temps[i].CMOD_Creation.LIB_lib += "par "+gtabListeCollaborateurs[ +gtbaListeUtilisateurs[reqTemps.ModifUsersdt].nIDCollaborateur].NomPrenom()+" " +fin +06/08/2026 Batik 1964 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Procédures +fin +fin +fin +si unRdv <> Null alors +i = ZoneRépétéeAjouteLigne(ZR_Temps) +ZR_Temps[i].LIB_IdTemps = 0 +ZR_Temps[i].CMOD_Date.SAI_Date = unRdv.DateDébut..PartieDate +ZR_Temps[i].CMOD_TypeTemps.CMB_Combo = unRdv.Extra[cExtra_TypeTemps] +CalculNbHeure(i) +ZoneRépétéeSelectPlus(ZR_Temps,i) +fin +RdvAnnule() +RdvAutreColb() +Procédure locale RdvAnnule +procédure RdvAnnule() +si CMOD_StatusRDV.CMB_Combo <> Null _et_ CMOD_StatusRDV.CMB_Combo = cCle_RDVAnnule alors +DISP_Rdv[cRdvAnnule]..Visible = Vrai +sinon +DISP_Rdv[cRdvAnnule]..Visible = Faux +fin +DISP_Rdv.Ancrage = ancreLargeur+ancreHauteur +Procédure locale RdvAutreColb +procédure RdvAutreColb() +tbaListeColb est un tableau associatif d'entiers sur 8 octets +si oRdv:bGroupe alors +reqColb est une Requête SQL = +[ +SELECT CO_PKID FROM Collaborateur +INNER JOIN RDV_Collaborateur ON RDV_Collaborateur.RVC_GUID_Colb = Collaborateur.GUID +WHERE RDV_Collaborateur.RVC_GUID_RDV = {p_GUIDRdv} AND RDV_Collaborateur.Archive = 0 +] +reqColb.p_GUIDRdv= oRdv.saGUID +si pas HExécuteRequêteSQL(reqColb) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue lors de la récupération des informations de votre rendez-vous", +"FEN_Fiche_Suivi_Temps_RDV.RdvAutreColb") +sinon +pour tout reqColb +tbaListeColb[reqColb.CO_PKID] = reqColb.CO_PKID +fin +fin +fin +si tbaListeColb..Occurrence > 1 alors +CMOD_RapportTemps..Visible = Vrai +DISP_Rdv[cAutreColb]..Visible = Vrai +pour tout nIdCb de tbaListeColb +si gtabListeCollaborateurs[nIdCb]..Existe et nIdColb <> nIdCb alors +CMOD_AutresColb.SAI_Texte += "-" +gtabListeCollaborateurs[nIdCb].NomPrenom()+" " +fin +fin +06/08/2026 Batik 1965 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps_RDV › Procédures +sinon +CMOD_RapportTemps..Visible = Faux +DISP_Rdv[cAutreColb]..Visible = Faux +fin +Procédure locale SupprimerTemps +procédure SupprimerTemps() +i est un entier = ZR_Temps +si i <= 0 alors +Info("Veuillez sélectionner un temps à supprimer") +renvoyer Faux +sinon +ZR_Temps[i]..Visible = Faux +fin +ZoneRépétéeSelectMoins(ZR_Temps) +06/08/2026 Batik 1966 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › Image +FEN_Liste_Colb_Suivi_Temps +Image +FEN_Liste_Colb_Suivi_Temps +Informations générales +FEN_Liste_Colb_Suivi_Temps +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Liste_Colb_Suivi_Temps.wdw +Créé par SMR +Date de création 14/08/2025 11:19:13 +Dernière modification par susana@applilogik.fr +Date dernière modification 05/03/2026 18:50:46 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +Note pour la documentation technique +FR: Liste des collaborateurs présents au rendez-vous +06/08/2026 Batik 1967 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 1199 Hauteur | 489 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | --- | --- | --- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| 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 | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +| 06/08/2026 | | | Batik | | 1968 | +| ---------- | --- | --- | ----- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › Informations générales +Statistiques de la fenêtre +| | Libellé | | 1 | Bouton | | | 2 | +| --- | ---------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Image | | 4 | Table | | | 1 | +| | Superchamp | | 1 | Champ Modèle de champs | | | 4 | +| | Colonne de table | | 6 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 20 +FEN_Liste_Colb_Suivi_Temps +Informations sur les champs +Fenêtre : FEN_Liste_Colb_Suivi_Temps +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Annuler | | 897 | 4 141 | 35 | 0 | Actif | | +| ------------ | --- | ---- | -------- | --- | --- | ----- | --- | +| CMOD_BordFen | | 0 | -29 1063 | 29 | 0 | Actif | | +| CMOD_Table | | 10 | 45 1177 | 384 | 0 | Actif | | +| CMOD_Valider | | 1046 | 4 141 | 35 | 0 | Actif | | +Champ Modèle de champs : CMOD_Annuler +Bouton +notuob epyT +| | | | | | laitini tatE | BAT ehcuoT | | +| --- | --- | --- | --- | --- | ------------ | ---------- | --- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Annuler | | 897 4 | 141 35 | 0 | Actif | Normal | | +| ----------- | --- | ----- | ------ | --- | ----- | ------ | ---- | +| 06/08/2026 | | | Batik | | | | 1969 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | | | 0 | -29 | 1063 | 30 | 0 | | Actif | | +| ----------- | --- | --- | --- | --- | ---- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | ------------- | ------------- | ---------- | +| | | | | | | laitini tatE | | | | FTR tamroF | +| | | X noitisoP Y noitisoP | | | | | | | | | +| | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| LIB_Libellé | | 91 | -27 | 940 25 | 0 | Actif | Gauche | | Centre | | +| ----------- | --- | --- | --- | ------ | --- | ----- | ------ | --- | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | --------- | --- | +| | | | | ruegraL | ruetuaH | | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | | 1031 | -26 | 28 | 23 | 0 | Actif | | | | +| -------------------------- | --- | ---- | --- | --- | --- | --- | ----- | --- | --- | --- | +| IMG_InformationAide | | 61 | -26 | 28 | 23 | 0 | Actif | | | | +| IMG_Logo_secondaire_violet | | 2 | -27 | 34 | 26 | 0 | Actif | | | | +| IMG_SombreClair | | 38 | -26 | 21 | 23 | 0 | Actif | | | | +Champ Modèle de champs : CMOD_Table +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 | | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | | +ruegraL +| | | | | elbisiV | elbaT | | | | | | +| --- | --- | --- | --- | ------- | ----- | --- | --- | --- | --- | --- | +nalP +| TABLE_Info | 12 47 | 1171 378 | 0 | Actif | Mémoir | | | | | 1 | +| ---------- | ----- | -------- | --- | ----- | ------ | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | | 1970 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › Informations sur les champs +Table : CMOD_Table.TABLE_Info +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_PKID | 880 | Grisé | | Droite Centre | Numériq | | +| COL_Sel | 62 | Actif | | Centre Centre | | | +| COL_NomColb | 296 | affichag | | Gauche Centre | Texte | | +| COL_Temps | 796 | affichag | | Gauche Centre | Texte | | +| COL_GUIDRdv | 100 | Grisé | | Gauche Centre | Texte | | +| COL_GUIDColb | 100 | Grisé | | Gauche Centre | Texte | | +Champ Modèle de champs : CMOD_Valider +Bouton +BAT ehcuoT notuob epyT +laitini tatE +| | X noitisoP | Y noitisoP | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Valider | 1046 | 4 | 141 | 35 0 | Actif | Normal | +| ----------- | ---- | --- | --- | ---- | ----- | ------ | +Fenêtre : FEN_Liste_Colb_Suivi_Temps +Champ Modèle de champs : CMOD_Annuler +| Ordre navigation | 2 | | | | | | +| ------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Curseur survol | 0 | | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | 0 | | | | | | +| -------------------------- | --- | --- | ----- | --- | --- | ---- | +| Facteur d'agrandissement | 0 | | | | | | +| 06/08/2026 | | | Batik | | | 1971 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › Informations sur les champs +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1972 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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 +06/08/2026 Batik 1973 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › 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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 1974 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 1975 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 1976 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 1977 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Table +Table : CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 +06/08/2026 Batik 1978 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 10 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +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 +06/08/2026 Batik 1979 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › Informations sur les champs +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 : CMOD_Table.TABLE_Info +Colonne de table : CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 +06/08/2026 Batik 1980 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › Informations sur les champs +Colonne de table : CMOD_Table.TABLE_Info.COL_Sel (2) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 100 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table.TABLE_Info.COL_NomColb (3) +Titre FR: Collaborateurs +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 +06/08/2026 Batik 1981 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › Informations sur les champs +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table.TABLE_Info.COL_Temps (4) +Titre FR: Temps saisis +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 600 Taux anc. hauteur 1000 +06/08/2026 Batik 1982 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › Informations sur les champs +Colonne de table : CMOD_Table.TABLE_Info.COL_GUIDRdv (5) +Titre FR: GUIDRdv +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 : CMOD_Table.TABLE_Info.COL_GUIDColb (6) +Titre FR: GUIDColb +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 +06/08/2026 Batik 1983 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › 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 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +06/08/2026 Batik 1984 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › Informations sur les champs +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Liste_Colb_Suivi_Temps +Code +Déclarations globales de FEN_Liste_Colb_Suivi_Temps +procédure FEN_Liste_Colb_Suivi_Temps(oRdvOri est un MRDV_Planning, tbaSuivisOri est un tableau +associatif de MSuiviTemps) +oRdv est un MRDV_Planning = oRdvOri +tbaSuivis est un tableau associatif de MSuiviTemps = tbaSuivisOri +bOk est un booléen = Faux +Fin d'initialisation de FEN_Liste_Colb_Suivi_Temps +Filtrer() +Fermeture de FEN_Liste_Colb_Suivi_Temps +renvoyer bOk +FEN_Liste_Colb_Suivi_Temps +Code des champs +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +06/08/2026 Batik 1985 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +06/08/2026 Batik 1986 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +06/08/2026 Batik 1987 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 1988 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › Code des champs +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +06/08/2026 Batik 1989 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › Code des champs +si Enregistrer() alors +bOk = Vrai +Ferme() +fin +FEN_Liste_Colb_Suivi_Temps +Procédures +Procédure locale Enregistrer +procédure Enregistrer() +si oRdv:nPKID > 0 _et_ tbaSuivis..Occurrence > 0 alors +tbIdColbs est un tableau d'entiers sur 8 octets +tbRdvs est un tableau de chaînes ANSI +pour toute ligne b de TABLE_Info +si COL_Sel[b] _et_ COL_GUIDColb[b] <> "" _et_ COL_PKID[b] > 0 alors +TableauAjoute(tbRdvs,COL_GUIDRdv[b]) +si gtabListeCollaborateurs[COL_GUIDColb[b]]..Existe = Vrai _et_ gtabListeCollaborateurs[ +COL_GUIDColb[b]].nPKID > 0 alors +TableauAjoute(tbIdColbs,gtabListeCollaborateurs[COL_GUIDColb[b]].nPKID) +fin +fin +fin +si tbIdColbs..Occurrence > 0 alors // On supprime tous le temps est on le recrée +reqSup est une Requête SQL = +[ +DELETE FROM SuiviDesTemps WHERE SDT_GUID_Rdv_Colb IN ({p_Rdvs}) AND SDT_IDCollaborateur IN +({p_IdColbs}) +] +reqSup.p_Rdvs = TableauVersChaîne(tbRdvs,";") +reqSup.p_IdColbs = TableauVersChaîne(tbIdColbs,";") +si pas HExécuteRequêteSQL(reqSup,hVérifieIntégrité) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue lors de la mise à jour du temps saisi", +"FEN_Liste_Colb_Suivi_Temps.Enregistrer") +renvoyer Faux +sinon +pour toute ligne b de TABLE_Info +si COL_Sel[b] _et_ COL_PKID[b] > 0 alors +pour tout oSdt de tbaSuivis +oSdt:nPKID = 0 +oSdt:nIDCollaborateur= gtabListeCollaborateurs[COL_GUIDColb[b]].nPKID +oSdt:saGUID_RDV = COL_GUIDRdv[b] +oSdt:saNoteColb = "" +oSdt:rPonderation = gtabListeCollaborateurs[oSdt:nIDCollaborateur].. +Existe ? gtabListeCollaborateurs[oSdt:nIDCollaborateur].rPonderation sinon 1 +si pas oSdt:Enregistrer() alors +renvoyer Faux +fin +fin +fin +06/08/2026 Batik 1990 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › Procédures +fin +fin +si tbRdvs..Occurrence > 0 alors +// On modifie le status du rdv peut etre il a été mis a jour +// A modifier les Id de parametres +reqModif est une Requête SQL = +[ +UPDATE RDV_Collaborateur +SET RVC_CleStatut = {p_CleStatut}, RVC_TempsValide = 1 +WHERE RVC_PKID IN ({p_IdRdvs}) AND Archive = 0 +] +reqModif.p_CleStatut = oRdv:tbaColbs[1].saCleStatut +reqModif.p_IdRdvs = TableauVersChaîne(tbRdvs,";") +si pas HExécuteRequêteSQL(reqModif,hVérifieIntégrité+hVérifieDoublon) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue pendant la modification du rendez-vous.", +"FEN_Liste_Colb_Suivi_Temps.Enregistrer") +renvoyer Faux +sinon +renvoyer Vrai +fin +fin +fin +fin +renvoyer Vrai +Procédure locale Filtrer +procédure Filtrer() +TableSupprimeTout(TABLE_Info) +dhDateD est une DateHeure = oRdv:tbaColbs[1].dhDateDeb +dhDateF est une DateHeure = oRdv:tbaColbs[1].dhDateFin +dhDateD..Jour -= 1 +dhDateD..PartieHeure = "235959000" +dhDateF..PartieHeure = "235959000" +si oRdv:bGroupe > 0 alors +reqColb est une Requête SQL = +[ +SELECT RDV_Collaborateur.RVC_GUID_Colb, GUID, RVC_PKID FROM RDV_Collaborateur +WHERE RDV_Collaborateur.RVC_GUID_Colb <> {p_GUIDColb} AND RDV_Collaborateur.Archive = 0 +AND RVC_DateDeb > {p_DateD} AND RVC_DateFin < {p_DateF} AND RVC_GUID_RDV = {p_GuidRdv} +] +reqColb.p_GUIDColb = oRdv:tbaColbs[1].saGUID_Colb +reqColb.p_DateD = dhDateD +reqColb.p_Datef = dhDateF +reqColb.p_GuidRdv = oRdv.saGUID +si pas HExécuteRequêteSQL(reqColb) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue lors de la récupération des informations de votre rendez-vous", +"FEN_Liste_Colb_Suivi_Temps.Filtrer") +sinon +h est un entier +pour tout reqColb +si gtabListeCollaborateurs[reqColb.RVC_GUID_Colb]..Existe alors +h = TableAjouteLigne(TABLE_Info) +COL_GUIDColb[h] = reqColb.RVC_GUID_Colb +COL_NomColb[h] = gtabListeCollaborateurs[reqColb.RVC_GUID_Colb].NomPrenom() +06/08/2026 Batik 1991 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Colb_Suivi_Temps › Procédures +COL_GUIDRdv[h] = reqColb.guid +COL_PKID[h] = reqColb.RVC_PKID +fin +fin +fin +reqSuivis est une Requête SQL = +[ +SELECT SuiviDesTemps.* FROM SuiviDesTemps +INNER JOIN RDV_Collaborateur ON RDV_Collaborateur.GUID = SDT_GUID_Rdv_Colb +WHERE RDV_Collaborateur.RVC_GUID_Colb <> {p_GUIDColb} AND RDV_Collaborateur.Archive = 0 +AND SDT_NbMinutes > 0 AND SDT_DateDebut > {p_DateD} AND SDT_DateHeureFin < {p_DateF} AND +SDT_CleType <> '' AND SDT_CleType NOT IN ({p_TypeTemps}) +ORDER BY SDT_IDCollaborateur +] +reqSuivis.p_DateD = dhDateD +reqSuivis.p_DateF = dhDateF +reqSuivis.p_GUIDColb = oRdv:tbaColbs[1].saGUID_Colb +reqSuivis.p_TypeTemps= cCle_TypeTempsGlobal+";"+cCle_TypeTempsNonAffecte+";"+cCle_TypeTempsNull +si pas HExécuteRequêteSQL(reqSuivis) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue lors de la récupération des informations des rendez-vous", +"FEN_Liste_Colb_Suivi_Temps.filtrer") +sinon +nIdCol est un entier sur 8 octets +i est un entier +pour tout reqSuivis +si nIdCol <> reqSuivis.SDT_IDCollaborateur alors +i = TableCherche(COL_PKID,reqSuivis.SDT_IDCollaborateur,rechercheIdentique) +fin +nIdCol = reqSuivis.SDT_IDCollaborateur +si i > 0 _et_ gtabParametresMetierCode[cparam_TypeTemps][reqSuivis.SDT_CleType]..Existe +_et_ DateValide(reqSuivis.SDT_DateDebut) _et_ DateValide(reqSuivis.SDT_DateHeureFin) alors +si COL_Temps[i] <> "" alors +COL_Temps[i] += RC +fin +COL_Temps[i]+= gtabParametresMetierCode[cparam_TypeTemps][reqSuivis.SDT_CleType]. +saLibelle+" "+DateVersChaîne(reqSuivis.SDT_DateDebut,"JJ/MM/AAAA")+" de "+ +DateVersChaîne(reqSuivis.SDT_DateDebut,"HHh:mm")+" à "+DateVersChaîne(reqSuivis. +SDT_DateHeureFin,"HHh:mm") +fin +fin +fin +fin +06/08/2026 Batik 1992 + +Partie 3 › Fenêtre WINDEV › FEN_Calendrier › Image +FEN_Calendrier +Image +FEN_Calendrier +Informations générales +FEN_Calendrier +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Calendrier.wdw +| Créé par | | SMR | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Date de création | | 14/08/2025 17:37:50 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 05/03/2026 19:26:37 | | | | +| Titre | | FR: Calendrier | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Calendrier +| Position X | 0 Position Y | | 0 Largeur | 278 Hauteur | 351 | +| --------------- | ------------ | -------------------- | --------- | --------------- | ---- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| 06/08/2026 | | | Batik | | 1993 | + +Partie 3 › Fenêtre WINDEV › FEN_Calendrier › Informations générales +| Barre de message | Détourer le fond | | Mode 9 images | | +| --------------------- | ---------------- | --- | --------------- | --- | +| Redimensionnable | Avec grip | | Grip dans image | | +| Déplace/fond | Sauve position | | Ascenseur auto. | | +| Gestion grande police | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | Actif | | | | +| ------------------------------- | ----------------------------------- | --- | --- | --- | +| Curseur survol | 0 | | | | +| Copie d'écran | Oui | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | <Aucun> | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Oui | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Non | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Non | | | | +| 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. | Oui | | | | +| Grisé : Algo pour images | <Défaut> | | | | +| Style du menu | Windows 11 | | | | +| 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 | 32 | | | | +| Pos. Y Menu | 2 | | | | +| 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 | | | | +| ---------------------- | --- | --- | --- | --- | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +| 06/08/2026 | | Batik | | 1994 | +| ---------- | --- | ----- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Calendrier › Informations générales +Statistiques de la fenêtre +| | Calendrier | | 1 | Case barre de message | | | 1 | +| --- | ---------- | --- | --- | --------------------- | --- | --- | --- | +Nombre d'éléments dans la fenêtre : 2 +FEN_Calendrier +Informations sur les champs +Fenêtre : FEN_Calendrier +Calendrier +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CAL_Date | | 13 | 7 250 | 313 | 0 | Actif | | +| -------- | --- | --- | ----- | --- | --- | ----- | --- | +Fenêtre : FEN_Calendrier +Calendrier : CAL_Date +| Libellé | FR: | Calendrier | | | | | | +| -------------------------------- | ----------------------------------- | ---------- | --- | --- | --- | --- | --- | +| Ordre navigation | 1 | | | | | | | +| 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 | | | | | | | +| Cadrage fonctions gXXX | Cadrage ignoré (pour compatibilité) | | | | | | | +| Numéro aide | 0 | | | | | | | +| Opacité | 100 | | | | | | | +| Autorise ChangeGabarit | Oui | | | | | | | +| Format retour | AAAAMMJJ | | | | | | | +| Sélection multiple | Non | | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | | +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | | | +| ------------------------- | --- | --- | ----- | --- | --- | --- | ---- | +| Numéro semaine | Non | | | | | | | +| 06/08/2026 | | | Batik | | | | 1995 | + +Partie 3 › Fenêtre WINDEV › FEN_Calendrier › Informations sur les champs +Semaine ISO8601 Non +Texte Markdown Non +Sélection hors mois Oui +Style hors mois Oui +Jours hors mois Oui +Premier jour semaine Lundi +Bouton aujourd'hui Oui +Format mois FR: Mmmm AAAA +Sélection de périodes Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Calendrier +Code +Déclarations globales de FEN_Calendrier +procédure FEN_Calendrier(local dUnDate est une Date) +si DateValide(dUnDate) alors +CalendrierSelectPlus(CAL_Date,dUnDate) +fin +Fin d'initialisation de FEN_Calendrier +MessageAjouteCase("Connexion",450) +{"Connexion"} = gsaLibConnexion +Fermeture de FEN_Calendrier +renvoyer dUnDate +FEN_Calendrier +Code des champs +Sélection d'un jour dans CAL_Date +06/08/2026 Batik 1996 + +Partie 3 › Fenêtre WINDEV › FEN_Calendrier › Code des champs +dUnDate = CalendrierSelect(CAL_Date) +Ferme() +| 06/08/2026 | Batik | 1997 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Image +FEN_Fiche_Suivi_Temps +Image +FEN_Fiche_Suivi_Temps +Informations générales +FEN_Fiche_Suivi_Temps +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Fiche_Suivi_Temps.wdw +| Créé par | | SMR | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Date de création | | 19/08/2025 09:34:08 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 05/03/2026 19:26:27 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Fiche de suivi du temps +| Position X | 0 Position Y | | 0 Largeur | 1200 Hauteur | 288 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | ---- | +| 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 | | | | +| 06/08/2026 | | | Batik | | 1998 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations générales +Ctx. HFSQL indép. +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Oui +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Non +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. Oui +Grisé : Algo pour images <Défaut> +Style du menu Windows 11 +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 32 +Pos. Y Menu 2 +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 +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +06/08/2026 Batik 1999 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | 9 | | Libellé | | | 3 | +| --- | ---------------------- | --- | --- | --- | --------------------- | --- | --- | --- | +| | Bouton | | 2 | | Image | | | 5 | +| | Combo | | 1 | | Superchamp | | | 1 | +| | Champ Modèle de champs | | 15 | | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 37 +FEN_Fiche_Suivi_Temps +Informations sur les champs +Fenêtre : FEN_Fiche_Suivi_Temps +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Trigramme | | 0 1 | 88 55 | 0 | Actif | Centre | Centre | | +| ------------- | --- | --- | ----- | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs +BAT ehcuoT +laitini tatE +| | | X noitisoP | Y noitisoP | | | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Annuler | | 902 | 11 | 141 | 35 | 0 | Actif | | +| ------------------- | --- | ---- | ----- | ---- | --- | --- | ----- | ---- | +| CMOD_BordFen | | 0 | -29 | 1063 | 29 | 0 | Actif | | +| CMOD_Date | | 7 | 64 | 112 | 53 | 0 | Actif | | +| CMOD_HDebut | | 127 | 64 | 100 | 53 | 0 | Actif | | +| CMOD_HFin | | 235 | 64 | 100 | 53 | 0 | Actif | | +| CMOD_NomColb | | 88 | 15 | 760 | 26 | 0 | Actif | | +| CMOD_NoteAdmin | | 7 | 172 | 1185 | 60 | 0 | Actif | | +| CMOD_NoteColb | | 343 | 119 | 849 | 53 | 0 | Actif | | +| CMOD_NumDevis | | 705 | 64 | 239 | 53 | 0 | Actif | | +| CMOD_NumInter | | 460 | 64 | 203 | 53 | 0 | Actif | | +| CMOD_RechercheInter | | 666 | 94 | 23 | 23 | 0 | Actif | | +| CMOD_RefExterne | | 952 | 64 | 240 | 53 | 0 | Actif | | +| CMOD_TempsHeures | | 343 | 64 | 109 | 53 | 0 | Actif | | +| CMOD_Type | | 7 | 117 | 328 | 53 | 0 | Actif | | +| CMOD_Valider | | 1051 | 11 | 141 | 35 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | | 2000 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Annuler | 902 | 11 | 141 | 35 | 0 | Actif | | Normal | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Libellé | 91 | -27 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +| | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------------------- | ----------------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_AideFenetre | 1031 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | ---- | --- | ----- | --- | --- | ----- | --- | ---- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +| 06/08/2026 | | | Batik | | | | | 2001 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Date +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_Date | 7 64 112 | 53 0 | Actif Date | Non | | | +| -------- | -------- | ---- | ---------- | --- | --- | --- | +Champ Modèle de champs : CMOD_HDebut +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_Texte | 127 64 100 | 53 0 | Actif Heure | Non | | | +| --------- | ---------- | ---- | ----------- | --- | --- | --- | +Champ Modèle de champs : CMOD_HFin +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_Texte | 235 64 100 | 53 0 | Actif Heure | Non | | | +| ---------- | ---------- | ---- | ----------- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | 2002 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_NomColb +Libellé +tuaféd rap eéminA +.zroh egardaC .trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 88 15 | 760 | 26 | 0 | Actif | Gauche Centre | | +| ------- | --- | ----- | --- | --- | --- | ----- | ------------- | --- | +Champ Modèle de champs : CMOD_NoteAdmin +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_Texte | 7 172 | 1185 60 | 0 | Actif | Texte | Non | | | +| --------- | ----- | ------- | --- | ----- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_NoteColb +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 | eisias epyT FTR tamroF | | ediv is LLUN | lacitrev .csA | +| --- | --------------------- | --- | --- | ------------ | ---------------------- | --- | ------------ | ------------- | +| | X noitisoP Y noitisoP | | | laitini tatE | engilitluM | | | | +ruetuaH +| | | ruegraL | elbisiV | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +nalP +| SAI_Texte | 343 119 | 849 53 | 0 affichag | | Texte | Non | | | +| ---------- | ------- | ------ | ---------- | ----- | ----- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | 2003 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_NumDevis +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_Texte | 705 64 | 239 53 0 | affichag | Texte | | Non | | | +| --------- | ------ | -------- | -------- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_NumInter +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_Texte | 460 64 | 203 53 0 | affichag | Texte | | Non | | | +| --------- | ------ | -------- | -------- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_RechercheInter +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | | laitini tatE | sucof cevA | +| --- | --- | --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | cilc cevA | | +| --- | --- | --- | ------- | ------- | --- | --- | --------- | --- | +elbisiV +nalP +| IMG_Icone | | 666 94 | | 23 23 | 0 | | Actif | | +| ---------- | --- | ------ | --- | ----- | --- | --- | ----- | ---- | +| 06/08/2026 | | | | Batik | | | | 2004 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_RefExterne +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_Texte | 952 64 240 | 53 0 | affichag | Texte | | Non | | | +| --------- | ---------- | ---- | -------- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_TempsHeures +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_Texte | 343 64 109 | 53 0 | affichag | Numéri | | Non | | | +| --------- | ---------- | ---- | -------- | ------ | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Type +Combo +reihcif eétsissa eisiaS +| | | | | | | | eriotagilbo eisiaS | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | ------------------ | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | | BAT ehcuoT | | eisias cevA | | +| --- | --------------------- | --------------- | --- | ------------ | ---------- | -------- | ----------- | --- | +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | +| | | ruegraL ruetuaH | | | | sruocraP | | | +elbisiV +| | | | | | elbaT | eéirT | | | +| --- | --- | --- | --- | --- | ----- | ----- | --- | --- | +nalP +| CMB_Combo | 7 117 | 328 53 | 0 | Actif | Mémoire | | Oui, blo | | +| ---------- | ----- | ------ | --- | ----- | ------- | --- | -------- | ---- | +| 06/08/2026 | | | | Batik | | | | 2005 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Bouton +BAT ehcuoT notuob epyT +laitini tatE +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Valider | | 1051 11 | 141 35 | 0 | Actif | Normal | +| ----------- | --- | ------- | ------ | --- | ----- | ------ | +Fenêtre : FEN_Fiche_Suivi_Temps +Champ Modèle de champs : CMOD_Annuler +| Ordre navigation | | 2 | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | +| Curseur survol | | 0 | | | | | +| UI par l'utilisateur | | Selon fenêtre | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | | 0 | | | | | +| Taux Paral. Y | | 0 | | | | | +| Épinglé | | Non | | | | | +| Masquer lors du scrolling | | Non | | | | | +| Ancrage au contenu | | <Aucun> | | | | | +| Numéro aide | | 0 | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | | 0 | | | | | +| -------------------------- | ---- | ------ | ---- | ---- | --- | ---- | +| Facteur d'agrandissement | | 0 | | | | | +| Ancrage | | Droite | | | | | +| | 1000 | | 1000 | 1000 | | 1000 | +Taux anc. droite Taux anc. bas Taux anc. largeur Taux anc. hauteur +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { + "Libelle":"Barre de titre (Fen\u00eatre)" +} +| Ordre navigation | | 1 | | | | | +| ------------------------- | --- | ----------------------------------- | ----- | --- | --- | ---- | +| Curseur survol | | 0 | | | | | +| UI par l'utilisateur | | Selon fenêtre | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | | 0 | | | | | +| Taux Paral. Y | | 0 | | | | | +| Épinglé | | Non | | | | | +| Masquer lors du scrolling | | Non | | | | | +| 06/08/2026 | | | Batik | | | 2006 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Date +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_HDebut +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2007 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_HFin +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_NomColb +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2008 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_NoteAdmin +Ordre navigation 15 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_NoteColb +Ordre navigation 14 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2009 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_NumDevis +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_NumInter +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2010 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_RechercheInter +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_RefExterne +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2011 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_TempsHeures +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Type +Ordre navigation 13 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2012 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Trigramme +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 Tenir compte du cadrage +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> +06/08/2026 Batik 2013 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2014 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 2015 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 2016 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 +06/08/2026 Batik 2017 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 +06/08/2026 Batik 2018 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Ancrage Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Date +Champ de saisie : CMOD_Date.SAI_Date +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Date +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 7 +Largeur interne 107 +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 +06/08/2026 Batik 2019 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_HDebut +06/08/2026 Batik 2020 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Champ de saisie : CMOD_HDebut.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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. Droite +Position X interne 127 +Largeur interne 100 +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 +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 +06/08/2026 Batik 2021 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_HFin +Champ de saisie : CMOD_HFin.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 +06/08/2026 Batik 2022 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Droite +Position X interne 235 +Largeur interne 100 +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 +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 +06/08/2026 Batik 2023 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_NomColb +Libellé : CMOD_NomColb.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 +06/08/2026 Batik 2024 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_NoteAdmin +Champ de saisie : CMOD_NoteAdmin.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 8 +Largeur interne 1184 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 2025 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Asc. horizontal Jamais +Asc. vertical Automatique +Complétion système de fichier Non +Saisie invalide Oui, non 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> +Liaison des données :oUnSuivi.saNoteAdmin +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_NoteColb +06/08/2026 Batik 2026 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Champ de saisie : CMOD_NoteColb.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 343 +Largeur interne 849 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 2027 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :oUnSuivi.saNoteColb +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_NumDevis +Champ de saisie : CMOD_NumDevis.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 +06/08/2026 Batik 2028 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 705 +Largeur interne 239 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 2029 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_NumInter +Champ de saisie : CMOD_NumInter.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 460 +Largeur interne 203 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 2030 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +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, non 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2031 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_RechercheInter +Image : CMOD_RechercheInter.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Loupe_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 2032 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_RefExterne +Champ de saisie : CMOD_RefExterne.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 952 +Largeur interne 240 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Batik 2033 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_TempsHeures +Champ de saisie : CMOD_TempsHeures.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +06/08/2026 Batik 2034 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +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 343 +Largeur interne 109 +Cadrage fonctions gXXX Tenir compte du cadrage +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: 99 999 999 999 999 999 999,99 +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, non 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 +06/08/2026 Batik 2035 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Type +Combo : CMOD_Type.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 328 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 7 +Largeur interne 328 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +06/08/2026 Batik 2036 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +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 Oui +Liaison des données :oUnSuivi.saCleType +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +06/08/2026 Batik 2037 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Informations sur les champs +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2038 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Code +FEN_Fiche_Suivi_Temps +Code +Déclarations globales de FEN_Fiche_Suivi_Temps +procédure FEN_Fiche_Suivi_Temps(oRDV est un RendezVous, nIdColb est un entier sur 8 octets) +nIdSDT est un entier sur 8 octets = oRDV.Extra[cExtra_IdTemps] +oUnSuivi est un MSuiviTemps +Fin d'initialisation de FEN_Fiche_Suivi_Temps +Filtrer() +FEN_Fiche_Suivi_Temps +Code des champs +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2039 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Code des champs +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +06/08/2026 Batik 2040 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Code des champs +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Déclarations globales de CMOD_Date +salib = "Date" +Fin d'initialisation de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Date ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Date ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Date ( CMOD_Date ) +06/08/2026 Batik 2041 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CalculNbHeure() +A chaque modification de SAI_Date ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Date ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_HDebut +salib = "Heure de début" +Fin d'initialisation de CMOD_HDebut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_HDebut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_HDebut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_HDebut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_HDebut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_HDebut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_HDebut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_HDebut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_HDebut ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2042 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Code des champs +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_HDebut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CalculNbHeure() +A chaque modification de SAI_Texte ( CMOD_HDebut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_HDebut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_HFin +salib = "Heure de fin" +Fin d'initialisation de CMOD_HFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_HFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_HFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_HFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_HFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_HFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_HFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_HFin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_HFin ) +06/08/2026 Batik 2043 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_HFin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CalculNbHeure() +A chaque modification de SAI_Texte ( CMOD_HFin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_HFin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_NomColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NomColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NomColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NomColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NomColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NomColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NomColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_NomColb ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_NomColb ) (modèle MDLC_LibTitreWidget) +06/08/2026 Batik 2044 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Code des champs +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_NoteAdmin +salib = "Note Administration" +Fin d'initialisation de CMOD_NoteAdmin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NoteAdmin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NoteAdmin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NoteAdmin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NoteAdmin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NoteAdmin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NoteAdmin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NoteAdmin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_NoteAdmin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_NoteAdmin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_NoteAdmin ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NoteAdmin ) +06/08/2026 Batik 2045 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NoteColb +salib = "Note Collaborateur" +Fin d'initialisation de CMOD_NoteColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NoteColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NoteColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NoteColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NoteColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NoteColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NoteColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NoteColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_NoteColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_NoteColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_NoteColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NoteColb ) +06/08/2026 Batik 2046 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NumDevis +salib = "N° Devis" +Fin d'initialisation de CMOD_NumDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NumDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NumDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NumDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NumDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NumDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NumDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NumDevis ) (modèle MDLC_SaisieSansModif) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NumDevis ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_NumInter +salib = "Intervention / réf. interne" +Fin d'initialisation de CMOD_NumInter +06/08/2026 Batik 2047 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NumInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NumInter ) (modèle MDLC_SaisieSansModif) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NumInter ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_RechercheInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_RechercheInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_RechercheInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_RechercheInter +06/08/2026 Batik 2048 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_RechercheInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_RechercheInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_RechercheInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_RechercheInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_RechercheInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +RechercheInter(0) +A chaque modification de IMG_Icone ( CMOD_RechercheInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_RechercheInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_RechercheInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_RechercheInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_RefExterne +salib = "Réf. externe" +Fin d'initialisation de CMOD_RefExterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_RefExterne +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2049 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Code des champs +ExécuteAncêtre +Entrée dans CMOD_RefExterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_RefExterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_RefExterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_RefExterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_RefExterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_RefExterne ) (modèle MDLC_SaisieSansModif) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_RefExterne ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_TempsHeures +salib = "Temps en heures" +Fin d'initialisation de CMOD_TempsHeures +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TempsHeures +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TempsHeures +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TempsHeures +06/08/2026 Batik 2050 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TempsHeures +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TempsHeures +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TempsHeures +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_TempsHeures ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_TempsHeures ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_TempsHeures ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_TempsHeures ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_TempsHeures ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Type +salib = "Type de temps" +Fin d'initialisation de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Type +06/08/2026 Batik 2051 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême..NomComplet,cparam_TypeTemps,Faux,oUnSuivi:saCleType) +Entrée dans CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +06/08/2026 Batik 2052 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +Ferme() +fin +FEN_Fiche_Suivi_Temps +Procédures +Procédure locale CalculNbHeure +procédure CalculNbHeure() +si DateValide(CMOD_Date.SAI_Date) alors +dhDateD est une DateHeure +dhDateD..PartieDate = CMOD_Date.SAI_Date +dhDateD..PartieHeure = CMOD_HDebut.SAI_Texte +dhDateF est une DateHeure +dhDateF..PartieDate = CMOD_Date.SAI_Date +dhDateF..PartieHeure = CMOD_HFin.SAI_Texte +si CMOD_HDebut.SAI_Texte > CMOD_HFin.SAI_Texte alors +dhDateF..Jour+= 1 // Rdv nuit +fin +duDure est une Durée = (dhDateF-dhDateD) +CMOD_TempsHeures.SAI_Texte = (duDure..EnMinutes/60) +fin +Procédure locale Enregistrer +06/08/2026 Batik 2053 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Procédures +procédure Enregistrer() +EcranVersSource() +si nIdSDT <= 0 alors +oUnSuivi:nIDCollaborateur = nIdColb +oUnSuivi.rPonderation = gtabListeCollaborateurs[nIdColb]..Existe ? gtabListeCollaborateurs[ +nIdColb].rPonderation sinon 1 +fin +oUnSuivi.dhDateDebut..PartieDate = CMOD_Date.SAI_Date +oUnSuivi.dhDateDebut..PartieHeure = CMOD_HDebut.SAI_Texte +oUnSuivi.dhDateFin..PartieDate = CMOD_Date.SAI_Date +oUnSuivi.dhDateFin..PartieHeure = CMOD_HFin.SAI_Texte +si CMOD_HDebut.SAI_Texte > CMOD_HFin.SAI_Texte alors +oUnSuivi.dhDateFin..Jour += 1 // Rdv nuit +fin +si pas DateValide(oUnSuivi.dhDateFin) ou pas DateValide(oUnSuivi.dhDateDebut) ou oUnSuivi.dhDateFin = +oUnSuivi.dhDateDebut alors +Erreur("La date et l'heure dans la saisie de temps sont obligatoires") +renvoyer Faux +fin +si oUnSuivi.saCleType = "" alors +Erreur("Le type de temps est obligatoire") +renvoyer Faux +fin +si oUnSuivi.dhDateDebut > DateHeureSys() ou oUnSuivi.dhDateFin > DateHeureSys() alors +Erreur("Vous ne pouvez pas saisir de temps avec une date future") +renvoyer Faux +fin +duDure est une Durée = (oUnSuivi.dhDateFin-oUnSuivi.dhDateDebut) +oUnSuivi.nNbMinutes = duDure..EnMinutes +oUnSuivi.bControle = Vrai +si pas oUnSuivi:Enregistrer() alors +renvoyer Faux +fin +renvoyer Vrai +Procédure locale Filtrer +procédure Filtrer() +si nIdSDT > 0 _et_ HLitRecherchePremier(SuiviDesTemps,SDT_PKID,nIdSDT) alors +FichierVersMémoire(oUnSuivi,SuiviDesTemps) +SourceVersEcran() +CMOD_Date.SAI_Date = oUnSuivi.dhDateDebut..PartieDate +CMOD_HDebut.SAI_Texte= oUnSuivi.dhDateDebut..PartieHeure +CMOD_HFin.SAI_Texte = oUnSuivi.dhDateFin..PartieHeure +CalculNbHeure() +si oUnSuivi:nIDIntervention > 0 alors +RechercheInter(oUnSuivi:nIDIntervention) +fin +sinon +CMOD_Date.SAI_Date = oRDV.DateDébut..PartieDate +CMOD_HDebut.SAI_Texte= oRDV.DateDébut..PartieHeure +CMOD_HFin.SAI_Texte = oRDV.DateFin..PartieHeure +si oRDV.Extra[cExtra_TypeTemps] <> "" alors +CMOD_Type.CMB_Combo = oRDV.Extra[cExtra_TypeTemps] +fin +CalculNbHeure() +06/08/2026 Batik 2054 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Suivi_Temps › Procédures +fin +si nIdColb > 0 _et_ gtabListeCollaborateurs[nIdColb]..Existe alors +CMOD_NomColb.LIB_lib = gtabListeCollaborateurs[nIdColb].NomPrenom() +LIB_Trigramme = gtabListeCollaborateurs[nIdColb].saTrigramme +sinon +si pas EnModeTest() alors +Ferme() +fin +fin +Procédure locale RechercheInter +procédure RechercheInter(nIdInter est un entier sur 8 octets) +si nIdInter <= 0 alors +nIdInter = Ouvre(FEN_Choix_Liste,cFEN_RDV) +fin +si nIdInter > 0 alors +/*********Contacts*************/ +reqInterest une Requête SQL = +[ +SELECT IN_PKID, IN_NumDevis, IN_RefExterne, IN_RefInterne +FROM Intervention +WHERE IN_PKID = {p_idInter} +] +reqInter.p_idInter = nIdInter +si pas HExécuteRequêteSQL(reqInter) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue lors de la récupération des informations de l'intervention", +"FEN_Fiche_Suivi_Temps.rechercheInter") +sinon +pour tout reqInter +CMOD_NumInter.SAI_Texte = reqInter.IN_RefInterne +CMOD_NumDevis.SAI_Texte = reqInter.IN_NumDevis +CMOD_RefExterne.SAI_Texte = reqInter.IN_RefExterne +oUnSuivi:nIDIntervention = reqInter.IN_PKID +fin +fin +fin +06/08/2026 Batik 2055 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche › Image +FEN_Fiche +Image +FEN_Fiche +Informations générales +FEN_Fiche +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Fiche.wdw +Créé par SMR +06/08/2026 Batik 2056 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche › Informations générales +| Date de création | | 22/08/2025 11:31:26 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 05/03/2026 19:26:39 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Fiches +| Position X | 0 Position Y | | 0 Largeur | 800 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 | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| 06/08/2026 | | | Batik | | 2057 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche › Informations générales +| 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 | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 1 | Bouton | | | 2 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Image | | 4 | Fenêtre interne | | | 1 | +| | Superchamp | | 1 | Champ Modèle de champs | | | 3 | +| | Case barre de message | | 1 | | | | | +Nombre d'éléments dans la fenêtre : 13 +FEN_Fiche +Informations sur les champs +Fenêtre : FEN_Fiche +Fenêtre interne +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CFI_Fiche | | 7 | 37 783 | 608 | 0 | Actif | | +| ---------- | --- | --- | ------ | --- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | | 2058 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Annuler | | 500 | 2 | 141 | 35 | 0 | Actif | | +| ------------ | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_BordFen | | 0 | -29 | 636 | 29 | 0 | Actif | | +| CMOD_Valider | | 649 | 2 | 141 | 35 | 0 | Actif | | +Champ Modèle de champs : CMOD_Annuler +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Annuler | 500 | 2 | 141 | 35 | 0 | Actif | | Normal | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 636 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Libellé | 91 | -27 513 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | ----- | --- | ----- | ------ | ------ | ---- | +| 06/08/2026 | | | Batik | | | | | 2059 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche › 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_AideFenetre | 604 -26 | 28 23 | 0 | Actif | | +| -------------------------- | ------- | ----- | --- | ----- | --- | +| IMG_InformationAide | 61 -26 | 28 23 | 0 | Actif | | +| IMG_Logo_secondaire_violet | 2 -27 | 34 26 | 0 | Actif | | +| IMG_SombreClair | 38 -26 | 21 23 | 0 | Actif | | +Champ Modèle de champs : CMOD_Valider +Bouton +BAT ehcuoT notuob epyT +| | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --------------------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Valider | 649 2 | 141 35 | 0 | Actif | Normal | +| ----------- | ----- | ------ | --- | ----- | ------ | +Fenêtre : FEN_Fiche +Fenêtre interne : CFI_Fiche +| 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 | | | | | +| Ancrage au contenu | <Aucun> | | | | | +| Numéro aide | 0 | | | | | +| Ascenseur auto. | Oui | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | +| ------------------------------ | ---------- | ----- | --- | --- | ---- | +| Swipe | Non | | | | | +| Sens balayage | Horizontal | | | | | +| Balayage en boucle | Non | | | | | +| Cache pour swipe | 21 | | | | | +| Même contenu/ligne | Oui | | | | | +| Valeur persistante | Non | | | | | +| Charger l'aperçu à l'ouverture | Non | | | | | +| Source de remplissage | Mémoire | | | | | +| 06/08/2026 | | Batik | | | 2060 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche › Informations sur les champs +Pos. Enreg. courant Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +06/08/2026 Batik 2061 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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 +06/08/2026 Batik 2062 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche › 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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 636 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2063 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 2064 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 2065 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 2066 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Non +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +06/08/2026 Batik 2067 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche › Informations sur les champs +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Fiche +Code +Déclarations globales de FEN_Fiche +procédure FEN_Fiche(tbaTbParam est un tableau associatif de chaînes ANSI,saFenetre est une chaîne ANSI += "") +bModif est un booléen +saFen est une chaîne ANSI +nId est un entier sur 8 octets +Fin d'initialisation de FEN_Fiche +si saFenetre = "" alors +06/08/2026 Batik 2068 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche › Code +si tbaTbParam[cParam_Fenetre]..Existe alors saFen = tbaTbParam[cParam_Fenetre] +sinon +saFen = saFenetre +fin +si saFen <> "" alors +Filtrer() +sinon +Ferme() +fin +Fermeture de FEN_Fiche +renvoyer (bModif,nId) +FEN_Fiche +Code des champs +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +06/08/2026 Batik 2069 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +bModif = Faux +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +06/08/2026 Batik 2070 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche › Code des champs +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Enregistrer() +06/08/2026 Batik 2071 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche › Procédures +FEN_Fiche +Procédures +Procédure locale Enregistrer +procédure Enregistrer() +bok est un booléen +ExécuteTraitement(CFI_Fiche..Nom+".Enregistrer",trtProcédure,bok,nId) +si bok alors +bModif = Vrai +Ferme() +fin +Procédure locale Filtrer +procédure Filtrer() +selon saFen +cas cFI_DonneursOrdre, cFI_ContactSite,cFI_Liste_ContactSite,cFI_Liste_ContactClient, +cFI_Liste_Contact +ChangeFenêtreSource(CFI_Fiche,FI_TdB_Fiche_Contact) +ExécuteTraitement(CFI_Fiche..Nom+".FiltrerSelonFen",trtProcédure,tbaTbParam) +cas cFI_Liste_Client, cFI_Liste_SiteClient +ChangeFenêtreSource(CFI_Fiche,FI_TdB_Fiche_Client) +ExécuteTraitement(CFI_Fiche..Nom+".FiltrerSelonFen",trtProcédure,tbaTbParam) +cas cFI_Liste_ClientSite, cFI_Liste_Site +ChangeFenêtreSource(CFI_Fiche,FI_TdB_Fiche_Site) +ExécuteTraitement(CFI_Fiche..Nom+".FiltrerSelonFen",trtProcédure,tbaTbParam) +cas cFEN_Dossier_C,cFEN_Inter +saSousFen est une chaîne ANSI = tbaTbParam[cParam_Fenetre] +tbaTbParam[cParam_Fenetre] = cFEN_Dossier_C +selon saSousFen +cas cFI_DonneursOrdre,cFI_ContactSite +ChangeFenêtreSource(CFI_Fiche,FI_TdB_Fiche_Contact) +ExécuteTraitement(CFI_Fiche..Nom+".FiltrerSelonFen",trtProcédure,tbaTbParam) +cas cFEN_Client +ChangeFenêtreSource(CFI_Fiche,FI_TdB_Fiche_Client) +ExécuteTraitement(CFI_Fiche..Nom+".FiltrerSelonFen",trtProcédure,tbaTbParam) +cas cFEN_Site +ChangeFenêtreSource(CFI_Fiche,FI_TdB_Fiche_Site) +ExécuteTraitement(CFI_Fiche..Nom+".FiltrerSelonFen",trtProcédure,tbaTbParam) +autre cas +fin +autre cas +fin +06/08/2026 Batik 2072 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Image +FEN_Fiche_Adresse +Image +FEN_Fiche_Adresse +Informations générales +FEN_Fiche_Adresse +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Fiche_Adresse.wdw +| Créé par | | SMR | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Date de création | | 27/08/2025 15:59:16 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 05/03/2026 19:26:31 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Fiche Adresse +| Position X | 0 Position Y | | 0 Largeur | 655 Hauteur | 397 | +| ---------- | ------------ | -------------- | --------- | ------------ | ---- | +| Visible | | Barre de titre | | Menu système | | +| 06/08/2026 | | | Batik | | 2073 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations générales +| Icône réduction | Icône agrandissement | | Icône aide ctx. | | +| --------------------- | -------------------- | --- | --------------- | --- | +| Barre de message | Détourer le fond | | Mode 9 images | | +| Redimensionnable | Avec grip | | Grip dans image | | +| Déplace/fond | Sauve position | | Ascenseur auto. | | +| Gestion grande police | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | Actif | | | | +| ------------------------------- | ----------------------------------- | --- | --- | --- | +| Curseur survol | 0 | | | | +| Copie d'écran | Oui | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | <Aucun> | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Oui | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Non | | | | +| 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. | Oui | | | | +| Grisé : Algo pour images | <Défaut> | | | | +| Style du menu | Windows 11 | | | | +| 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 | 32 | | | | +| Pos. Y Menu | 2 | | | | +| 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 | | | | +| ---------------------- | --- | --- | --- | --- | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +| 06/08/2026 | | Batik | | 2074 | +| ---------- | --- | ----- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | 9 | Libellé | | | 3 | +| --- | ---------------------- | --- | --- | --------------------- | --- | --- | --- | +| | Bouton | | 2 | Interrupteur | | | 3 | +| | Image | | 4 | Superchamp | | | 1 | +| | Champ Modèle de champs | | 17 | Option d'interrupteur | | | 3 | +| | Case barre de message | | 1 | Disposition | | | 1 | +| | Cellule de disposition | | 2 | | | | | +Nombre d'éléments dans la fenêtre : 46 +FEN_Fiche_Adresse +Informations sur les champs +Fenêtre : FEN_Fiche_Adresse +Champ Modèle de champs +BAT ehcuoT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| CMOD_AdBatigest1 | | 6 | 121 243 | 46 | 0 | Actif | | +| ------------------ | --- | --- | ------- | --- | --- | ----- | ---- | +| CMOD_AdBatigest2 | | 5 | 169 244 | 46 | 0 | Actif | | +| CMOD_Adresse | | 4 | 103 381 | 110 | 0 | Actif | | +| CMOD_Annuler | | 359 | 9 141 | 35 | 0 | Actif | | +| CMOD_BordFen | | 0 | -29 480 | 29 | 0 | Actif | | +| CMOD_CP | | 4 | 221 117 | 53 | 0 | Actif | | +| CMOD_CPBatigest | | 6 | 221 99 | 53 | 0 | Actif | | +| CMOD_EtiqBatigest | | 6 | 42 243 | 53 | 0 | Actif | | +| CMOD_Etiquette | | 5 | 42 380 | 53 | 0 | Actif | | +| CMOD_Fact | | 133 | 5 122 | 29 | 0 | Actif | | +| CMOD_LibAdr | | 5 | 95 244 | 26 | 0 | Actif | | +| CMOD_Livraison | | 262 | 5 123 | 29 | 0 | Actif | | +| CMOD_Principal | | 5 | 5 123 | 29 | 0 | Actif | | +| CMOD_SansNom5 | | 6 | 6 243 | 26 | 0 | Actif | | +| CMOD_Valider | | 508 | 9 141 | 35 | 0 | Actif | | +| CMOD_Ville | | 129 | 221 257 | 53 | 0 | Actif | | +| CMOD_VilleBatigest | | 113 | 221 136 | 53 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 2075 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Disposition +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| DISP_Fiche | | -1 | 54 | 654 | 294 | 0 | Actif | | +| ---------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : DISP_Fiche.CMOD_AdBatigest1 +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_Texte | 0 0 243 | 46 0 | affichag | Texte | | Non | | | +| --------- | ------- | ---- | -------- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : DISP_Fiche.CMOD_AdBatigest2 +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_Texte | 0 0 244 | 46 0 | affichag | Texte | | Non | | | +| --------- | ------- | ---- | -------- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : DISP_Fiche.CMOD_Adresse +| 06/08/2026 | | | | Batik | | | | 2076 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +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_Texte | 0 | 0 381 110 | 0 | Actif | | Texte | | Non | | | | | +| --------- | --- | --------- | --- | ----- | --- | ----- | --- | --- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Annuler +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | ------------ | --- | --- | --- | +| | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_Annuler | | 359 | | 9 | 141 | 35 | | 0 | Actif | | Normal | | +| ----------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | ------ | --- | +Champ Modèle de champs : CMOD_BordFen +Superchamp +| | | | | | | | | | | laitini tatE | | BAT ehcuoT | +| --- | --- | --- | ---------- | ---------- | ------- | --- | ------- | --- | --- | ------------ | --- | ---------- | +| | | | X noitisoP | Y noitisoP | | | | | | | | | +| | | | | | ruegraL | | ruetuaH | | | | | | +elbisiV +nalP +| SC_SansNom1 | | | 0 | -29 | | 480 | 30 | | 0 | Actif | | | +| ----------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | --- | +FTR tamroF +| | | X noitisoP | | | | | | laitini tatE | | | | | +| --- | --- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | --- | --- | --- | +Y noitisoP +| | | | ruegraL | | ruetuaH | | | | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libellé | | 91 | -27 | 357 | 25 | 0 | | Actif | Gauche | Centre | | | +| ----------- | --- | --- | --- | --- | ----- | --- | --- | ----- | ------ | ------ | --- | ---- | +| 06/08/2026 | | | | | Batik | | | | | | | 2077 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › 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_AideFenetre | | 448 -26 | | 28 23 | 0 | | Actif | | +| -------------------------- | --- | ------- | --- | ----- | --- | --- | ----- | --- | +| IMG_InformationAide | | 61 -26 | | 28 23 | 0 | | Actif | | +| IMG_Logo_secondaire_violet | | 2 -27 | | 34 26 | 0 | | Actif | | +| IMG_SombreClair | | 38 -26 | | 21 23 | 0 | | Actif | | +Champ Modèle de champs : DISP_Fiche.CMOD_CP +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 | | | | +ruetuaH +| | | ruegraL | elbisiV | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +nalP +| SAI_Texte | 0 0 | 117 53 0 | Actif | Texte | | Non | | | +| --------- | --- | -------- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : DISP_Fiche.CMOD_CPBatigest +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_Texte | 0 0 | 99 53 0 | affichag | Texte | | Non | | | +| ---------- | --- | ------- | -------- | ----- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | 2078 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Champ Modèle de champs : DISP_Fiche.CMOD_EtiqBatigest +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_Texte | 0 | 0 243 53 0 | affichag | Texte | | Non | | | +| --------- | --- | ---------- | -------- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : DISP_Fiche.CMOD_Etiquette +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_Texte | 0 | 0 380 53 0 | Actif | Texte | | Non | | | +| --------- | --- | ---------- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : DISP_Fiche.CMOD_Fact +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | ----------- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| INT_Int | | 0 0 | 122 | 29 | 0 | Actif | 1 | | +| ---------- | --- | --- | --- | ----- | --- | ----- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | 2079 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Champ Modèle de champs : DISP_Fiche.CMOD_LibAdr +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --------------------- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 0 0 | 244 26 | 0 Actif | Gauche | Centre | | +| ------- | --- | ------ | ------- | ------ | ------ | --- | +Champ Modèle de champs : DISP_Fiche.CMOD_Livraison +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP | | | laitini tatE | | staté siorT | +| --- | ---------- | --- | --- | ------------ | --- | ----------- | +Y noitisoP +| | | ruegraL ruetuaH | | | | | +| --- | --- | --------------- | --- | --- | --- | --- | +elbisiV +nalP +| INT_Int | 0 | 0 123 29 | 0 | Actif | 1 | | +| ------- | --- | -------- | --- | ----- | --- | --- | +Champ Modèle de champs : DISP_Fiche.CMOD_Principal +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | staté siorT | +| --- | --------------------- | --- | --- | ------------ | --- | ----------- | +ruetuaH +ruegraL +elbisiV +nalP +| INT_Int | 0 | 0 123 29 | 0 | Actif | 1 | | +| ---------- | --- | -------- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | 2080 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Champ Modèle de champs : DISP_Fiche.CMOD_SansNom5 +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 0 0 | 243 | 26 | 0 | Actif | Gauche | Centre | | +| ------- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Valider +Bouton +| | | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | ---------- | ----------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Valider | | 508 | 9 | 141 | 35 | 0 | Actif | | Normal | +| ----------- | --- | --- | --- | --- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : DISP_Fiche.CMOD_Ville +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_Texte | 0 0 | 257 53 | 0 | Actif | Texte | Non | | | | +| --------- | --- | ------ | --- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : DISP_Fiche.CMOD_VilleBatigest +| 06/08/2026 | | | | Batik | | | | | 2081 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +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_Texte | 0 0 136 | 53 0 | affichag | Texte | | Non | | +| --------- | ------- | ---- | -------- | ----- | --- | --- | --- | +Fenêtre : FEN_Fiche_Adresse +Champ Modèle de champs : DISP_Fiche.CMOD_AdBatigest1 +| Ordre navigation | | 4 | | | | | | +| -------------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | --- | +| Curseur survol | | 0 | | | | | | +| UI par l'utilisateur | | Selon fenêtre | | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | +| Taux Paral. Y | | 0 | | | | | | +| Épinglé | | Non | | | | | | +| Masquer lors du scrolling | | Non | | | | | | +| Ancrage au contenu | | <Aucun> | | | | | | +| Numéro aide | | 0 | | | | | | +| Alignement sur l'axe secondaire | | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | | 0 | | | | | | +| Facteur d'agrandissement | | 0 | | | | | | +| Ancrage | | <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : DISP_Fiche.CMOD_AdBatigest2 +| Ordre navigation | | 5 | | | | | | +| -------------------------------- | --- | ----------------------------------- | --- | ----- | --- | --- | ---- | +| Curseur survol | | 0 | | | | | | +| UI par l'utilisateur | | Selon fenêtre | | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | +| Taux Paral. Y | | 0 | | | | | | +| Épinglé | | Non | | | | | | +| Masquer lors du scrolling | | Non | | | | | | +| Ancrage au contenu | | <Aucun> | | | | | | +| Numéro aide | | 0 | | | | | | +| Alignement sur l'axe secondaire | | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | | 0 | | | | | | +| 06/08/2026 | | | | Batik | | | 2082 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : DISP_Fiche.CMOD_Adresse +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2083 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : DISP_Fiche.CMOD_CP +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +06/08/2026 Batik 2084 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Champ Modèle de champs : DISP_Fiche.CMOD_CPBatigest +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : DISP_Fiche.CMOD_EtiqBatigest +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2085 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Champ Modèle de champs : DISP_Fiche.CMOD_Etiquette +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : DISP_Fiche.CMOD_Fact +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 330 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +06/08/2026 Batik 2086 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Champ Modèle de champs : DISP_Fiche.CMOD_LibAdr +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : DISP_Fiche.CMOD_Livraison +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 660 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +06/08/2026 Batik 2087 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Champ Modèle de champs : DISP_Fiche.CMOD_Principal +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +Champ Modèle de champs : DISP_Fiche.CMOD_SansNom5 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2088 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : DISP_Fiche.CMOD_Ville +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 300 Taux anc. bas 1000 Taux anc. largeur 700 Taux anc. hauteur 1000 +06/08/2026 Batik 2089 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Champ Modèle de champs : DISP_Fiche.CMOD_VilleBatigest +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : DISP_Fiche +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 6 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2090 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Champ Modèle de champs : DISP_Fiche.CMOD_AdBatigest1 +Champ de saisie : DISP_Fiche.CMOD_AdBatigest1.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 401 +Largeur interne 243 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Batik 2091 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › 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> +Liaison des données :stAdr.sAdd_1 +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : DISP_Fiche.CMOD_AdBatigest2 +Champ de saisie : DISP_Fiche.CMOD_AdBatigest2.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +06/08/2026 Batik 2092 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +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 400 +Largeur interne 244 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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> +06/08/2026 Batik 2093 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Liaison des données :stAdr.sAdd_2 +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : DISP_Fiche.CMOD_Adresse +Champ de saisie : DISP_Fiche.CMOD_Adresse.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 4 +Largeur interne 380 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +Visualisation markdown Non +06/08/2026 Batik 2094 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › 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, non 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> +Liaison des données :oUneAdresse.oAdresse.saAdresse +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2095 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2096 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 480 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 2097 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 2098 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 +06/08/2026 Batik 2099 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 +06/08/2026 Batik 2100 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Ancrage Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : DISP_Fiche.CMOD_CP +Champ de saisie : DISP_Fiche.CMOD_CP.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 3 +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 +06/08/2026 Batik 2101 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +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> +Liaison des données :oUneAdresse.oAdresse.saCodePostal +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : DISP_Fiche.CMOD_CPBatigest +06/08/2026 Batik 2102 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Champ de saisie : DISP_Fiche.CMOD_CPBatigest.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 401 +Largeur interne 99 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 2103 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :stAdr.sAdd_CP +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : DISP_Fiche.CMOD_EtiqBatigest +Champ de saisie : DISP_Fiche.CMOD_EtiqBatigest.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 +06/08/2026 Batik 2104 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 401 +Largeur interne 243 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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> +Liaison des données :stAdr.sAdd_Etiquette +Gestion Euro Non +Personnaliser le picto AMI Non +06/08/2026 Batik 2105 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : DISP_Fiche.CMOD_Etiquette +Champ de saisie : DISP_Fiche.CMOD_Etiquette.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 4 +Largeur interne 380 +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 +06/08/2026 Batik 2106 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +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> +Liaison des données :oUneAdresse.oAdresse.saEtiquette +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2107 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Champ Modèle de champs : DISP_Fiche.CMOD_Fact +Interrupteur : DISP_Fiche.CMOD_Fact.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Ordre navigation 1 +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> +Liaison des données :oUneAdresse.bFact +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2108 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Champ Modèle de champs : DISP_Fiche.CMOD_LibAdr +Libellé : DISP_Fiche.CMOD_LibAdr.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2109 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Champ Modèle de champs : DISP_Fiche.CMOD_Livraison +Interrupteur : DISP_Fiche.CMOD_Livraison.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Ordre navigation 1 +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> +Liaison des données :oUneAdresse.bLivraison +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2110 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Champ Modèle de champs : DISP_Fiche.CMOD_Principal +Interrupteur : DISP_Fiche.CMOD_Principal.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Ordre navigation 1 +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> +Liaison des données :oUneAdresse.bPrincipal +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2111 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Champ Modèle de champs : DISP_Fiche.CMOD_SansNom5 +Libellé : DISP_Fiche.CMOD_SansNom5.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2112 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2113 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Champ Modèle de champs : DISP_Fiche.CMOD_Ville +Champ de saisie : DISP_Fiche.CMOD_Ville.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 128 +Largeur interne 257 +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 +06/08/2026 Batik 2114 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › 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> +Liaison des données :oUneAdresse.oAdresse.saVille +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : DISP_Fiche.CMOD_VilleBatigest +Champ de saisie : DISP_Fiche.CMOD_VilleBatigest.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +06/08/2026 Batik 2115 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +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 508 +Largeur interne 136 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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> +06/08/2026 Batik 2116 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Informations sur les champs +Liaison des données :stAdr.sAdd_Ville +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Fiche_Adresse +Code +Déclarations globales de FEN_Fiche_Adresse +procédure FEN_Fiche_Adresse(nIdAd est un entier sur 8 octets, nIdClient est un entier sur 8 octets) +oUneAdresse est un MAdresseClient +bModif est un booléen = Faux +stAdr est un ST_BG_Adresse +tbaClientAdresse est un tableau associatif de MAdresseClient +constante +cDisp_Batigest = 2 +fin +Fin d'initialisation de FEN_Fiche_Adresse +Filtrer() +DISP_Fiche[cDisp_Batigest]..Visible = gbBATIGESTActif +Fermeture de FEN_Fiche_Adresse +renvoyer bModif +FEN_Fiche_Adresse +Code des champs +Fin d'initialisation de CMOD_Annuler +06/08/2026 Batik 2117 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +bModif = Faux +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen +06/08/2026 Batik 2118 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +06/08/2026 Batik 2119 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +bModif = Vrai +Ferme() +fin +Fin d'initialisation de CMOD_AdBatigest1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_AdBatigest1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_AdBatigest1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_AdBatigest1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_AdBatigest1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_AdBatigest1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_AdBatigest1 +06/08/2026 Batik 2120 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_AdBatigest1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_AdBatigest1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_AdBatigest1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_AdBatigest1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_AdBatigest1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_AdBatigest2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_AdBatigest2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_AdBatigest2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_AdBatigest2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_AdBatigest2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_AdBatigest2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_AdBatigest2 +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2121 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Code des champs +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_AdBatigest2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_AdBatigest2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_AdBatigest2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_AdBatigest2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_AdBatigest2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Adresse +salib = "Adresse" +Fin d'initialisation de CMOD_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Adresse +06/08/2026 Batik 2122 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier() +A chaque modification de SAI_Texte ( CMOD_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CP +salib = "Code postal" +Fin d'initialisation de CMOD_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CP +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2123 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Code des champs +ExécuteAncêtre +A chaque modification de CMOD_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier() +A chaque modification de SAI_Texte ( CMOD_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CPBatigest +salib = "Code postal" +Fin d'initialisation de CMOD_CPBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CPBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CPBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CPBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CPBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CPBatigest +06/08/2026 Batik 2124 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CPBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_CPBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_CPBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_CPBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_CPBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_CPBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_EtiqBatigest +salib = "Étiquette" +Fin d'initialisation de CMOD_EtiqBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_EtiqBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_EtiqBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_EtiqBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_EtiqBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_EtiqBatigest +06/08/2026 Batik 2125 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_EtiqBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_EtiqBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_EtiqBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_EtiqBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_EtiqBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_EtiqBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Etiquette +salib = "Étiquette" +Fin d'initialisation de CMOD_Etiquette +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Etiquette +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Etiquette +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Etiquette +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Etiquette +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Etiquette +06/08/2026 Batik 2126 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Etiquette +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Etiquette ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Etiquette ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Etiquette ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier() +A chaque modification de SAI_Texte ( CMOD_Etiquette ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Etiquette ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Fact +salib = "Facturation" +Fin d'initialisation de CMOD_Fact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Fact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Fact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Fact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Fact +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2127 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Fact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Fact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_Fact ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Int ( CMOD_Fact ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Int ( CMOD_Fact ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Int ( CMOD_Fact ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ControlerAdresseClient() +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_Fact ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_LibAdr +salib = "Adresse" +Fin d'initialisation de CMOD_LibAdr +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibAdr +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibAdr +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibAdr +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibAdr +06/08/2026 Batik 2128 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibAdr +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibAdr +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_LibAdr ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_LibAdr ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Livraison +salib = "Livraison" +Fin d'initialisation de CMOD_Livraison +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Livraison +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Livraison +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Livraison +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Livraison +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Livraison +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Livraison +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_Livraison ) +06/08/2026 Batik 2129 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Int ( CMOD_Livraison ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Int ( CMOD_Livraison ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Int ( CMOD_Livraison ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_Livraison ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Principal +salib = "Principal" +Fin d'initialisation de CMOD_Principal +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Principal +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Principal +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Principal +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Principal +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Principal +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Principal +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2130 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Code des champs +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_Principal ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Int ( CMOD_Principal ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Int ( CMOD_Principal ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Int ( CMOD_Principal ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ControlerAdresseClient() +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_Principal ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SansNom5 +salib = "Aperçu de l’export vers Batigest" +Fin d'initialisation de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom5 +06/08/2026 Batik 2131 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_SansNom5 ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_SansNom5 ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Ville +salib = "Ville" +Fin d'initialisation de CMOD_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Ville ) +06/08/2026 Batik 2132 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier() +A chaque modification de SAI_Texte ( CMOD_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_VilleBatigest +salib = "Ville" +Fin d'initialisation de CMOD_VilleBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_VilleBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_VilleBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_VilleBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_VilleBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_VilleBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_VilleBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_VilleBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_VilleBatigest ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2133 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Code des champs +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_VilleBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_VilleBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_VilleBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +FEN_Fiche_Adresse +Procédures +Procédure locale ControlerAdresseClient +procédure ControlerAdresseClient() +pour tout oAd de tbaClientAdresse +si CMOD_Principal.INT_Int _et_ oAd:bPrincipal alors +si OuiNon(Oui, +"Une autre adresse apparaît comme adresse principale. Voulez-vous modifier les adresses et +définir uniquement celle-ci comme principale ?" +) = Oui alors +pour tout oAd2 de tbaClientAdresse +oAd2:bprincipal = Faux +oAd2:Enregistrer() +fin +sinon +CMOD_Principal.INT_Int = Faux +fin +fin +si CMOD_Fact.INT_Int _et_ oAd:bFact alors +si OuiNon(Oui, +"Une autre adresse apparaît comme adresse de facturation. Voulez-vous modifier les adresses et +définir uniquement celle-ci comme adresse de facturation ?" +) = Oui alors +pour tout oAd2 de tbaClientAdresse +oAd2:bFact = Faux +oAd2:Enregistrer() +fin +sinon +CMOD_Fact.INT_Int = Faux +fin +fin +fin +Procédure locale Enregistrer +procédure Enregistrer() +06/08/2026 Batik 2134 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Procédures +EcranVersSource() +si oUneAdresse:oAdresse:Enregistrer() alors +oUneAdresse:nIdAdresse = oUneAdresse.oAdresse.nPKID +oUneAdresse:nIdClient = nIdClient +si oUneAdresse:Enregistrer() alors +si nIdAd <= 0 alors +nIdAd = oUneAdresse:nPKID +si OuiNon(Oui,"Souhaitez-vous ajouter les coordonnées du client en tant que site ?") = Oui +alors +si HLitRecherchePremier(Client,CL_PKID,nIdClient) alors +oUnSite est un MLieu +saNomLieu est une chaîne ANSI = Client.CL_Nom +" - " +si Client.CL_CodeClient <> "" alors +saNomLieu += Client.CL_CodeClient +sinon +saNomLieu += oUneAdresse.oAdresse.saVille+" - "+oUneAdresse.oAdresse. +saCodePostal +fin +oUnSite:saCodeLieu = saNomLieu +oUnSite:nIDClientPrincipal = oUneAdresse:bPrincipal +oUnSite:oAdresse = oUneAdresse.oAdresse +oUnSite:oAdresse:nPKID = 0 +// On recrée une nouvelle adresse afin de dissocier l'adresse du client du site +si oUnSite:oAdresse.Enregistrer() alors +oUnSite:nIDAdresse = oUnSite:oAdresse:nPKID +si oUnSite:Enregistrer() alors +HRAZ(Client_Lieu) +Client_Lieu.CLI_IDClient = nIdClient +Client_Lieu.CLI_IDLieu = oUnSite:nPKID +Client_Lieu.CreationUser = CollaborateurEnCours.nIdUser +Client_Lieu.ModifUser = CollaborateurEnCours.nIdUser +Client_Lieu.CreationDate = DateHeureSys() +Client_Lieu.ModifDate = DateHeureSys() +si pas HAjoute(Client_Lieu) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur s'est produite, le site n'a pas pu être lié au client.") +renvoyer Faux +sinon +si oUneAdresse:bPrincipal alors +Client.CL_IDLieuPrincipal = oUnSite:nPKID +HEnregistre(Client) +fin +fin +sinon +renvoyer Faux +fin +sinon +renvoyer Faux +fin +fin +fin +fin +renvoyer Vrai +sinon +renvoyer Faux +fin +sinon +renvoyer Faux +fin +renvoyer Vrai +Procédure locale Filtrer +06/08/2026 Batik 2135 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Adresse › Procédures +procédure Filtrer() +TableauSupprimeTout(tbaClientAdresse) +odUneAd est un MAdresseClient dynamique +reqAdresses est une Requête SQL = +[ +SELECT * FROM Client_Adresse INNER JOIN Adresse ON AD_PKID = CA_IDAdresse WHERE CA_IDClient = +{p_IdClient} +] +si nIdClient > 0 alors +reqAdresses.p_IdClient = nIdClient +si HExécuteRequêteSQL(reqAdresses) alors +pour tout reqAdresses +si reqAdresses.CA_PKID = nIdAd alors +FichierVersMémoire(oUneAdresse,reqAdresses) +FichierVersMémoire(oUneAdresse.oAdresse,reqAdresses) +sinon +odUneAd = allouer un MAdresseClient +FichierVersMémoire(odUneAd,reqAdresses) +FichierVersMémoire(odUneAd.oAdresse,reqAdresses) +tbaClientAdresse[odUneAd:nPKID] = odUneAd +fin +fin +sinon +UneErreur:Init(ErreurApp.ErreurHFSQL,"Adresse introuvable") +Ferme() +fin +oUneAdresse.nIdClient = nIdClient +sinon +si pas EnModeTest() alors Ferme() +fin +si nIdAd <= 0 alors +si HLitRecherchePremier(Client,CL_PKID,nIdClient) alors +oUneAdresse:oAdresse:saEtiquette = Client.CL_Nom+" "+Client.CL_CodeClient +fin +fin +si gbBATIGESTActif alors +stAdr = AdresseBatigest(oUneAdresse:oAdresse) +fin +SourceVersEcran() +Procédure locale Modifier +procédure Modifier() +EcranVersSource() +si gbBATIGESTActif alors +stAdr = AdresseBatigest(oUneAdresse:oAdresse) +fin +SourceVersEcran() +06/08/2026 Batik 2136 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Image +FEN_Fiche_Dossier_Creation +Image +FEN_Fiche_Dossier_Creation +Informations générales +FEN_Fiche_Dossier_Creation +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Fiche_Dossier_Creation.wdw +Créé par SMR +Date de création 28/08/2025 15:11:22 +Dernière modification par susana@applilogik.fr +Date dernière modification 24/03/2026 15:47:14 +06/08/2026 Batik 2137 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations générales +| Titre | | FR: Fiche Dossier Creation | | | | +| ------------------------ | --- | ----------------------------- | --- | --- | --- | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Fiche de création d’un dossier +| Position X | 0 Position Y | | 0 Largeur | 1200 Hauteur | 644 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| Anim. Fermeture | | 0 | | | | +| 06/08/2026 | | | Batik | | 2138 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations générales +| 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 | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Champ de saisie | | 8 | Libellé | | 4 | +| --- | ---------------------- | --- | --- | --------------------- | --- | --- | +| | Bouton | | 2 | Image | | 12 | +| | Table | | 2 | Combo | | 6 | +| | Forme | | 2 | Superchamp | | 1 | +| | Champ Modèle de champs | | 28 | Option de menu | | 24 | +| | Colonne de table | | 18 | Case barre de message | | 1 | +Nombre d'éléments dans la fenêtre : 108 +FEN_Fiche_Dossier_Creation +Informations sur les champs +Fenêtre : FEN_Fiche_Dossier_Creation +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | sucof cevA | +| --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +ruegraL ruetuaH cilc cevA +elbisiV +nalP +| IMG_Dissocie | | -412 152 | 40 64 | 0 | Actif | | +| ------------------- | --- | -------- | ----- | --- | ----- | ---- | +| IMG_LienClientSite | | 1167 48 | 27 23 | 0 | Actif | | +| IMG_LienClientSite1 | | 259 196 | 27 23 | 0 | Actif | | +| IMG_SiteOk | | -356 88 | 45 63 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | 2139 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_BordFen | 0 | -29 1047 | 29 | 0 | Actif | | +| ---------------------- | ---- | -------- | --- | --- | ----- | --- | +| CMOD_Client | 659 | 48 506 | 53 | 0 | Actif | | +| CMOD_ClientOpt | 1166 | 71 30 | 30 | 0 | Actif | | +| CMOD_DateDossier | 8 | 48 139 | 53 | 0 | Actif | | +| CMOD_Description | 651 | 196 541 | 213 | 0 | Actif | | +| CMOD_EtatInter | 294 | 196 349 | 53 | 0 | Actif | | +| CMOD_OptionsCtcDonneur | 4 | 416 29 | 24 | 0 | Actif | | +| CMOD_OptionsCtcSite | 604 | 414 29 | 24 | 0 | Actif | | +| CMOD_RefExt | 294 | 356 349 | 53 | 0 | Actif | | +| CMOD_RefExterne | 368 | 48 283 | 53 | 0 | Actif | | +| CMOD_RefInterne | 155 | 48 205 | 53 | 0 | Actif | | +| CMOD_SansNom1 | -1 | 188 1198 | 8 | 0 | Actif | | +| CMOD_SansNom2 | 0 | 154 1197 | 8 | 0 | Actif | | +| CMOD_SansNom8 | 1047 | 5 141 | 35 | 0 | Actif | | +| CMOD_SansNom9 | 898 | 5 141 | 35 | 0 | Actif | | +| CMOD_Site | 8 | 197 249 | 212 | 0 | Actif | | +| CMOD_SiteOpt | 257 | 220 30 | 30 | 0 | Actif | | +| CMOD_Societe | 912 | 101 280 | 53 | 0 | Actif | | +| CMOD_Statut | 659 | 101 245 | 53 | 0 | Actif | | +| CMOD_SuiviPar | 294 | 304 349 | 53 | 0 | Actif | | +| CMOD_TContact | 602 | 442 594 | 144 | 0 | Actif | | +| CMOD_TDonneur | 2 | 441 586 | 145 | 0 | Actif | | +| CMOD_Titre | 8 | 101 352 | 53 | 0 | Actif | | +| CMOD_Titre1 | 33 | 415 551 | 26 | 0 | Actif | | +| CMOD_Titre2 | 633 | 413 559 | 26 | 0 | Actif | | +| CMOD_TitreInter | 8 | 162 1189 | 26 | 0 | Actif | | +| CMOD_Type | 294 | 250 349 | 53 | 0 | Actif | | +| CMOD_TypeDossier | 368 | 101 283 | 53 | 0 | Actif | | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +laitini tatE +| | X noitisoP | Y noitisoP | | | | | +| --- | ---------- | ---------- | ------- | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_SansNom1 | 0 | -29 1047 | 30 | 0 | Actif | | +| ----------- | --- | -------- | --- | --- | ----- | ---- | +| 06/08/2026 | | Batik | | | | 2140 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_Libellé | | 91 -27 | 924 | 25 | | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------ | --- | --- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --------- | ---------- | +| | | | | ruegraL | ruetuaH | | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | | 1015 | -26 | 28 | 23 | 0 | | Actif | | | +| -------------------------- | --- | ---- | --- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | | 61 | -26 | 28 | 23 | 0 | | Actif | | | +| IMG_Logo_secondaire_violet | | 2 | -27 | 34 | 26 | 0 | | Actif | | | +| IMG_SombreClair | | 38 | -26 | 21 | 23 | 0 | | Actif | | | +Champ Modèle de champs : CMOD_Client +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 | | | laitini tatE | eisias epyT | engilitluM | | | | | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| SAI_Texte | 659 48 | 506 53 | 0 affichag | | Texte | | Non | | | | +| --------- | ------ | ------ | ---------- | --- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_ClientOpt +| 06/08/2026 | | | | Batik | | | | | | 2141 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › 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_Icone | | 1166 71 | 30 30 | 0 | Actif | | +| --------- | --- | ------- | ----- | --- | ----- | --- | +Champ Modèle de champs : CMOD_DateDossier +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 | FTR tamroF | | | +| | X noitisoP Y noitisoP | | engilitluM | | | | +ruegraL ruetuaH +elbisiV +nalP +| SAI_Date | 8 48 | 139 53 0 | Actif Date | Non | | | +| -------- | ---- | -------- | ---------- | --- | --- | --- | +Champ Modèle de champs : CMOD_Description +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_Texte | 651 196 | 541 213 0 | Actif Texte | Non | | | +| --------- | ------- | --------- | ----------- | --- | --- | --- | +Champ Modèle de champs : CMOD_EtatInter +| 06/08/2026 | | | Batik | | | 2142 | +| ---------- | --- | --- | ----- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › 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_Combo | 294 196 | 349 53 | 0 Actif | Mémoire | Non | | +| --------- | ------- | ------ | ------- | ------- | --- | --- | +Champ Modèle de champs : CMOD_OptionsCtcDonneur +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | laitini tatE | sucof cevA | +| --- | --- | --------------------- | --- | --- | ------------ | ---------- | +ruetuaH cilc cevA +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| IMG_Icone | | 4 416 | 29 24 | 0 | Actif | | +| --------- | --- | ----- | ----- | --- | ----- | --- | +Champ Modèle de champs : CMOD_OptionsCtcSite +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | laitini tatE | sucof cevA | +| --- | --- | --------------------- | --- | --- | ------------ | ---------- | +ruetuaH cilc cevA +ruegraL +elbisiV +nalP +| IMG_Icone | | 604 414 | 29 24 | 0 | Actif | | +| --------- | --- | ------- | ----- | --- | ----- | --- | +Champ Modèle de champs : CMOD_RefExt +| 06/08/2026 | | | Batik | | | 2143 | +| ---------- | --- | --- | ----- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +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_Texte | 294 356 349 | 53 0 | Actif | Texte | | Non | | +| --------- | ----------- | ---- | ----- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_RefExterne +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_Texte | 368 48 283 | 53 0 | Actif | Texte | | Non | | +| --------- | ---------- | ---- | ----- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_RefInterne +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_Texte | 155 48 205 | 53 0 | affichag | Texte | | Non | | +| ---------- | ---------- | ---- | -------- | ----- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | 2144 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom1 +Forme +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| FRM_Sep | -1 | 189 | 1198 | 2 | 0 | Actif | | +| ------- | --- | --- | ---- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_SansNom2 +Forme +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_Sep | | 0 155 | 1197 | 2 | 0 | Actif | | +| ------- | --- | ----- | ---- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_SansNom8 +Bouton +BAT ehcuoT notuob epyT +| | X noitisoP | Y noitisoP | | | laitini tatE | | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Valider | 1047 | 5 141 | 35 | 0 | Actif | Normal | | +| ----------- | ---- | ----- | --- | --- | ----- | ------ | --- | +Champ Modèle de champs : CMOD_SansNom9 +Bouton +notuob epyT +| | | | | | laitini tatE | BAT ehcuoT | | +| --- | --- | --- | --- | --- | ------------ | ---------- | --- | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| BTN_Annuler | 898 | 5 141 | 35 | 0 | Actif | Normal | | +| ----------- | --- | ----- | --- | --- | ----- | ------ | ---- | +| 06/08/2026 | | Batik | | | | | 2145 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_Site +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_Texte | 8 197 | 249 212 0 | affichag | Texte | | Non | | | +| --------- | ----- | --------- | -------- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_SiteOpt +Image +| | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | ---------- | ------- | ------- | --- | ------------ | --------------------------------------- | ---------- | +| | | X noitisoP | | | | laitini tatE | | sucof cevA | +| | | Y noitisoP | | | | | cilc cevA | | +| | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| IMG_Icone | | 257 220 | | 30 30 | 0 | Actif | | | +| --------- | --- | ------- | --- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Societe +Combo +reihcif eétsissa eisiaS +| | | | | | | | eriotagilbo eisiaS | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | ------------------ | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | | BAT ehcuoT | eisias cevA | | | +| --- | ---------- | ---------- | --- | ------------ | ---------- | ----------- | --- | --- | +| | X noitisoP | Y noitisoP | | laitini tatE | | | | | +| | | ruetuaH | | | | sruocraP | | | +| | | ruegraL | | elbisiV | | | | | +| | | | | | elbaT | eéirT | | | +nalP +| CMB_Combo | 912 | 101 280 53 | 0 | Actif | Mémoire | | Non | | +| ---------- | --- | ---------- | --- | ----- | ------- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | 2146 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_Statut +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_Combo | 659 101 | 245 53 | 0 Actif | Mémoire | Non | | +| --------- | ------- | ------ | ------- | ------- | --- | --- | +Champ Modèle de champs : CMOD_SuiviPar +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_Combo | 294 304 | 349 53 | 0 Actif | Mémoire | Non | | +Champ Modèle de champs : CMOD_TContact +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 | | | | +| --- | --------------------- | ------- | ------------ | -------- | --- | --- | +| | | ruetuaH | | sruocraP | | | +ruegraL +| | | | elbisiV elbaT | | | | +| --- | --- | --- | ------------- | --- | --- | --- | +nalP +| TABLE_Info | 604 441 588 | 138 0 | Actif Mémoir | | | 1 | +| ---------- | ----------- | ----- | ------------ | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | 2147 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Table : CMOD_TContact.TABLE_Info +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_PKID | | 880 | Grisé | | Droite Centre | Numériq | | +| COL_Control | | 25 | Actif | | Centre Centre | | | +| COL_Demandeur | | 39 | Actif | | Centre Centre | | | +| COL_Nom | | 87 | affichag | | Gauche Centre | Texte | | +| COL_Role | | 114 | Actif | | Gauche Centre | Texte | | +| COL_Tel1 | | 78 | affichag | | Gauche Centre | Texte | | +| COL_Tel2 | | 76 | affichag | | Gauche Centre | Texte | | +| COL_Etage | | 62 | Actif | | Gauche Centre | Texte | | +| COL_Lot | | 68 | Actif | | Gauche Centre | Texte | | +Numériq +| COL_IdLienSite | | 100 | Grisé | | Droite Centre | | | +| -------------- | --- | --- | ----- | --- | ------------- | --- | --- | +Champ Modèle de champs : CMOD_TDonneur +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | lennoitroporp .csA .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | --- | ------------------------------------- | --- | +)(ertliFH resilitU +| | | | | | .gerne egacolB | ruesnecsa elluB EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +| --- | --- | --- | --- | --- | -------------- | ------------------------------ | ----------------------------- | +noitcelésitluM edacsac eisiaS +BAT ehcuoT +laitini tatE +| | X noitisoP Y noitisoP | | | | sruocraP | | | +| --- | --------------------- | --- | --- | --- | -------- | --- | --- | +ruegraL ruetuaH +elbisiV +| | | | nalP | elbaT | | | | +| ---------- | ----- | ------- | ---- | ------------ | --- | --- | --- | +| TABLE_Info | 4 443 | 580 139 | 0 | Actif Mémoir | | | 4 | +Table : CMOD_TDonneur.TABLE_Info +| 06/08/2026 | | | | Batik | | | 2148 | +| ---------- | --- | --- | --- | ----- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | | | elbairt ennoloC ehcrehcer cevA | | | | | | +| --- | --- | --- | --- | -------------- | ---------- | ------------------------------ | ------------- | ------------- | ----------- | ---------- | ----------- | +| | | | | ehcuag à eéxiF | | | .zroh egardaC | .trev egardaC | | | | +| | | | | laitini tatE | elbaçalpéD | | | | eisias epyT | FTR tamroF | eisias cevA | +engilitluM +ruegraL +elbisiV +| | epyT | | | | | | | | | | eéirT | +| ------------- | ---- | --- | -------- | --- | --- | --- | ------ | ------ | ------- | --- | ----- | +| COL_PKID | | 880 | Grisé | | | | Droite | Centre | Numériq | | | +| COL_Control | | 28 | Actif | | | | Centre | Centre | | | | +| COL_Demandeur | | 32 | Actif | | | | Centre | Centre | | | | +| COL_Nom | | 188 | affichag | | | | Gauche | Centre | Texte | | | +| COL_Role | | 160 | Actif | | | | Gauche | Centre | Texte | | | +Numériq +| COL_IdCtcLieu | | 100 | Grisé | | | | Droite | Centre | | | | +| ------------- | --- | --- | ----- | --- | --- | --- | ------ | ------ | ----- | --- | --- | +| COL_Etage | | 67 | Actif | | | | Gauche | Centre | Texte | | | +| COL_Lot | | 74 | Actif | | | | Gauche | Centre | Texte | | | +Champ Modèle de champs : CMOD_Titre +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_Texte | 8 101 | 352 | 53 | 0 | Actif | Texte | | Non | | | | +| --------- | ----- | --- | --- | --- | ----- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Titre1 +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| LIB_lib | | 33 | 415 | 551 | 26 | 0 | | Actif | Gauche | Centre | | +| ---------- | --- | --- | --- | --- | ----- | --- | --- | ----- | ------ | ------ | ---- | +| 06/08/2026 | | | | | Batik | | | | | | 2149 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_Titre2 +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP | Y noitisoP | | laitini tatE | | | | +| --- | ---------- | ---------- | --------------- | ------------ | --- | --- | --- | +| | | | ruegraL ruetuaH | | | | | +elbisiV +nalP +| LIB_lib | 633 | 413 | 559 26 | 0 Actif | Gauche | Centre | | +| ------- | --- | --- | ------ | ------- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_TitreInter +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +laitini tatE FTR tamroF +| | X noitisoP | Y noitisoP | | | | | | +| --- | ---------- | ---------- | --------------- | --- | --- | --- | --- | +| | | | ruegraL ruetuaH | | | | | +elbisiV +nalP +| LIB_lib | | 8 162 | 1189 26 | 0 Actif | Gauche | Centre | | +| ------- | --- | ----- | ------- | ------- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Type +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | ------------------ | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | | +| --- | --------------------- | ------- | ------- | ------------ | ----------- | --- | --- | +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| | | | ruetuaH | sruocraP | | | | +| | | ruegraL | elbisiV | | | | | +elbaT +| | | | nalP | | eéirT | | | +| ---------- | ------- | --- | ---------- | ------- | ----- | --- | ---- | +| CMB_Combo | 294 250 | 349 | 53 0 Actif | Mémoire | | Non | | +| 06/08/2026 | | | Batik | | | | 2150 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_TypeDossier +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_Combo | 368 101 | 283 53 | 0 Actif | Mémoire | Non | | +| --------- | ------- | ------ | ------- | ------- | --- | --- | +Fenêtre : FEN_Fiche_Dossier_Creation +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { + "Libelle":"Barre de titre (Fen\u00eatre)" +} +| Ordre navigation | | 1 | | | | | +| -------------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | +| Curseur survol | | 0 | | | | | +| UI par l'utilisateur | | Selon fenêtre | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | | 0 | | | | | +| Taux Paral. Y | | 0 | | | | | +| Épinglé | | Non | | | | | +| Masquer lors du scrolling | | Non | | | | | +| Ancrage au contenu | | <Aucun> | | | | | +| Numéro aide | | 0 | | | | | +| Alignement sur l'axe secondaire | | défini par le champ flexbox (auto) | | | | | +Facteur de rétrécissement +0 +Facteur d'agrandissement +0 +| Ancrage | | Largeur | | | | | +| ------- | --- | ------- | --- | --- | --- | --- | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +| 06/08/2026 | | | Batik | | | 2151 | +| ---------- | --- | --- | ----- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_Client +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 550 Taux anc. bas 1000 Taux anc. largeur 400 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_ClientOpt +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2152 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_DateDossier +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 120 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Description +Ordre navigation 17 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 550 Taux anc. bas 1000 Taux anc. largeur 450 Taux anc. hauteur 1000 +06/08/2026 Batik 2153 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_EtatInter +Ordre navigation 16 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 230 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_OptionsCtcDonneur +Ordre navigation 26 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2154 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_OptionsCtcSite +Ordre navigation 24 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_RefExt +Ordre navigation 22 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 230 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +06/08/2026 Batik 2155 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_RefExterne +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 350 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_RefInterne +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 120 Taux anc. bas 1000 Taux anc. largeur 230 Taux anc. hauteur 1000 +06/08/2026 Batik 2156 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom1 +Ordre navigation 15 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom2 +Ordre navigation 13 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2157 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom8 +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom9 +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2158 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_Site +Ordre navigation 18 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SiteOpt +Ordre navigation 19 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 200 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2159 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_Societe +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 820 Taux anc. bas 1000 Taux anc. largeur 170 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Statut +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 550 Taux anc. bas 1000 Taux anc. largeur 270 Taux anc. hauteur 1000 +06/08/2026 Batik 2160 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_SuiviPar +Ordre navigation 21 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 230 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_TContact +Ordre navigation 28 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite, largeur et hauteur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Batik 2161 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_TDonneur +Ordre navigation 27 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Titre +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 350 Taux anc. hauteur 1000 +06/08/2026 Batik 2162 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_Titre1 +Ordre navigation 25 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Titre2 +Ordre navigation 23 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 510 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2163 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_TitreInter +Ordre navigation 14 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Type +Ordre navigation 20 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 230 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +06/08/2026 Batik 2164 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_TypeDossier +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 350 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Image : IMG_Dissocie +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\breakRouge.svg +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 +06/08/2026 Batik 2165 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_LienClientSite +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_LienClientSite1 +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 +06/08/2026 Batik 2166 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +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 Droite +Taux anc. droite 200 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_SiteOk +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Site_Vert.svg +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 +06/08/2026 Batik 2167 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1047 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +06/08/2026 Batik 2168 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 2169 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 2170 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 +06/08/2026 Batik 2171 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Opacité 100 +Taille police min 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client +Champ de saisie : CMOD_Client.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 659 +Largeur interne 506 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +06/08/2026 Batik 2172 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +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, non 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> +Liaison des données :oDossier.oClient.NomEtCode +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 +06/08/2026 Batik 2173 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_ClientOpt +Image : CMOD_ClientOpt.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\options.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 2174 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_DateDossier +Champ de saisie : CMOD_DateDossier.SAI_Date +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Date +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 8 +Largeur interne 134 +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 +06/08/2026 Batik 2175 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +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> +Liaison des données :oDossier.dDateDebut +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Description +Champ de saisie : CMOD_Description.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +06/08/2026 Batik 2176 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +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 652 +Largeur interne 540 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 2177 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Mode menu ctx. <Aucun> +Liaison des données :oInter.saDescription +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_EtatInter +Combo : CMOD_EtatInter.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 349 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 294 +Largeur interne 349 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +06/08/2026 Batik 2178 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +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 Oui +Liaison des données :oInter.saCleEtat +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2179 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_OptionsCtcDonneur +Image : CMOD_OptionsCtcDonneur.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\ordre.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 2180 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_OptionsCtcSite +Image : CMOD_OptionsCtcSite.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\contact-list-svgrepo-com.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 2181 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_RefExt +Champ de saisie : CMOD_RefExt.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 294 +Largeur interne 349 +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 +06/08/2026 Batik 2182 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › 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> +Liaison des données :oInter.saRefExterne +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_RefExterne +Champ de saisie : CMOD_RefExterne.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +06/08/2026 Batik 2183 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +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 368 +Largeur interne 283 +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 +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> +06/08/2026 Batik 2184 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Liaison des données :oDossier.saRefExterne +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_RefInterne +Champ de saisie : CMOD_RefInterne.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 155 +Largeur interne 205 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +Visualisation markdown Non +06/08/2026 Batik 2185 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › 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, non 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> +Liaison des données :oDossier.saRefInterne +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2186 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom1 +Forme : CMOD_SansNom1.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom2 +Forme : CMOD_SansNom2.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2187 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom8 +Bouton : CMOD_SansNom8.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2188 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom9 +Bouton : CMOD_SansNom9.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2189 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_Site +Champ de saisie : CMOD_Site.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 8 +Largeur interne 249 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Batik 2190 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SiteOpt +Image : CMOD_SiteOpt.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\options.svg +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 +06/08/2026 Batik 2191 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_Societe +Combo : CMOD_Societe.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 280 +Larg. déroulée perso. Non +06/08/2026 Batik 2192 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 912 +Largeur interne 280 +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 Oui +Liaison des données :oInter.nIDSociete +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2193 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_Statut +Combo : CMOD_Statut.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 245 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 659 +Largeur interne 245 +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 +06/08/2026 Batik 2194 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +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 Oui +Liaison des données :oDossier.saCleStatut +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SuiviPar +Combo : CMOD_SuiviPar.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 349 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 294 +06/08/2026 Batik 2195 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Largeur interne 349 +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 Oui +Liaison des données :oInter.nIDSuiviPar +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2196 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_TContact +Table : CMOD_TContact.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 2197 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +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 : CMOD_TContact.TABLE_Info +Colonne de table : CMOD_TContact.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 +06/08/2026 Batik 2198 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › 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 : CMOD_TContact.TABLE_Info.COL_Control (2) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Menu contextuel MNU_AssocierCtcSite +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 1 +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 50 Taux anc. hauteur 1000 +06/08/2026 Batik 2199 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Colonne de table : CMOD_TContact.TABLE_Info.COL_Demandeur (3) +Titre FR: D +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Menu contextuel MNU_OptionsCtcSite +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 100 Taux anc. hauteur 1000 +Colonne de table : CMOD_TContact.TABLE_Info.COL_Nom (4) +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Menu contextuel MNU_OptionsCtcSite +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 +06/08/2026 Batik 2200 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Masque saisie FR: 0 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 260 Taux anc. hauteur 1000 +Colonne de table : CMOD_TContact.TABLE_Info.COL_Role (5) +Titre FR: Rôle dans l'intervention +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Menu contextuel MNU_OptionsCtcSite +Hauteur liste 0 +Largeur liste 114 +Larg. déroulée perso. Non +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 +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 170 Taux anc. hauteur 1000 +06/08/2026 Batik 2201 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Colonne de table : CMOD_TContact.TABLE_Info.COL_Tel1 (6) +Titre FR: Tél. 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Menu contextuel MNU_OptionsCtcSite +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Colonne de table : CMOD_TContact.TABLE_Info.COL_Tel2 (7) +Titre FR: Tél. 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Menu contextuel MNU_OptionsCtcSite +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 +06/08/2026 Batik 2202 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Colonne de table : CMOD_TContact.TABLE_Info.COL_Etage (8) +Titre FR: Étage +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Menu contextuel MNU_OptionsCtcSite +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 60 Taux anc. hauteur 1000 +06/08/2026 Batik 2203 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Colonne de table : CMOD_TContact.TABLE_Info.COL_Lot (9) +Titre FR: Lot +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Menu contextuel MNU_OptionsCtcSite +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 60 Taux anc. hauteur 1000 +Colonne de table : CMOD_TContact.TABLE_Info.COL_IdLienSite (10) +Titre FR: IdLienSite +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 +06/08/2026 Batik 2204 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +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 +Champ Modèle de champs : CMOD_TDonneur +Table : CMOD_TDonneur.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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) +06/08/2026 Batik 2205 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2206 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Table : CMOD_TDonneur.TABLE_Info +Colonne de table : CMOD_TDonneur.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : CMOD_TDonneur.TABLE_Info.COL_Control (2) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Menu contextuel MNU_AssocierDonneursSite +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 4 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +06/08/2026 Batik 2207 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +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 60 Taux anc. hauteur 1000 +Colonne de table : CMOD_TDonneur.TABLE_Info.COL_Demandeur (3) +Titre FR: D +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Menu contextuel MNU_OptionsCtcDonneurs +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 100 Taux anc. hauteur 1000 +06/08/2026 Batik 2208 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Colonne de table : CMOD_TDonneur.TABLE_Info.COL_Nom (4) +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Menu contextuel MNU_OptionsCtcDonneurs +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +Colonne de table : CMOD_TDonneur.TABLE_Info.COL_Role (5) +Titre FR: Rôle +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Menu contextuel MNU_OptionsCtcDonneurs +Hauteur liste 0 +Largeur liste 160 +Larg. déroulée perso. Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +06/08/2026 Batik 2209 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +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 300 Taux anc. hauteur 1000 +Colonne de table : CMOD_TDonneur.TABLE_Info.COL_IdCtcLieu (6) +Titre FR: IdCtcLieu +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 +06/08/2026 Batik 2210 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Colonne de table : CMOD_TDonneur.TABLE_Info.COL_Etage (7) +Titre FR: Etage +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Menu contextuel MNU_OptionsCtcDonneurs +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 120 Taux anc. hauteur 1000 +Colonne de table : CMOD_TDonneur.TABLE_Info.COL_Lot (8) +Titre FR: Lot +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Menu contextuel MNU_OptionsCtcDonneurs +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 +06/08/2026 Batik 2211 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 120 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Titre +Champ de saisie : CMOD_Titre.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 8 +Largeur interne 352 +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 +06/08/2026 Batik 2212 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies 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> +Liaison des données :oDossier.saTitre +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2213 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_Titre1 +Libellé : CMOD_Titre1.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2214 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_Titre2 +Libellé : CMOD_Titre2.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2215 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_TitreInter +Libellé : CMOD_TitreInter.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2216 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Champ Modèle de champs : CMOD_Type +Combo : CMOD_Type.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 349 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 294 +Largeur interne 349 +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 +06/08/2026 Batik 2217 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +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 Oui +Liaison des données :oInter.saCleType +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_TypeDossier +Combo : CMOD_TypeDossier.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 283 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 368 +06/08/2026 Batik 2218 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les champs +Largeur interne 283 +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 Oui +Liaison des données :oDossier.saCleType +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Fiche_Dossier_Creation +Informations sur les menus +06/08/2026 Batik 2219 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les menus +Menu contextuel : 'MNU_AssocierCtcSite' +Nom des options +OPT_Rattache (5) +Libellé des options : Français +Rattacher le contact au site +Menu contextuel : 'MNU_OptionsCtcSite' +Nom des options +OPT_Creer (7) +OPT_Ajouter_un_nouveau_contact (8) +OPT_Modifier_le_contact (9) +OPT_Supprimer_le_contact_de_la_liste (10) +Libellé des options : Français +Créer un nouveau contact +Rattacher un nouveau contact +Modifier le contact +Supprimer le contact de la liste +Menu contextuel : 'MNU_AssocierDonneursSite' +Nom des options +OPT_Attacher (12) +Libellé des options : Français +Rattacher le contact au site +06/08/2026 Batik 2220 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les menus +Menu contextuel : 'MNU_OptionsCtcDonneurs' +Nom des options +OPT_Creer (2) +OPT_Ajouter_un_nouveau_contact (3) +OPT_Modifier_le_contact (13) +OPT_Supprimer_le_contact_de_la_liste (14) +Libellé des options : Français +Créer un nouveau contact +Rattacher un nouveau contact +Modifier le contact +Supprimer le contact de la liste +Menu contextuel : 'MNU_OptionsClient' +Nom des options +OPT_Creer (16) +OPT_Ajouter (17) +OPT_Modifier (18) +OPT_Rattacher_le_client_au_site (23) +Libellé des options : Français +Créer un nouveau client +Rattacher un nouveau client +Modifier le client +Rattacher le client au site +Menu contextuel : 'MNU_OptionsSite' +Nom des options +OPT_Creer (20) +OPT_Ajouter (21) +OPT_Modifier (22) +OPT_Rattacher_le_site_au_client (24) +06/08/2026 Batik 2221 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Informations sur les menus +Libellé des options : Français +Créer un nouveau site +Rattacher un nouveau site +Modifier le site +Rattacher le site au client +FEN_Fiche_Dossier_Creation +Code +Déclarations globales de FEN_Fiche_Dossier_Creation +procédure FEN_Fiche_Dossier_Creation(tbaParametres est un tableau associatif de chaînes ANSI = Null) +oDossier est un MDossier +oInter est un MIntervention +oLieu est un MLieu +tbDonneurOrdre est un tableau de MContact_Inter +tbContactSite est un tableau de MContact_Inter +saFen est une chaîne ANSI +MaFenêtre..Titre = "Nouveau dossier " +nIdInter est un entier sur 8 octets +nIdDossier est un entier sur 8 octets +Fin d'initialisation de FEN_Fiche_Dossier_Creation +EcranVersSource() // afin de récupérer les éléments des combo par defaut +Filtrer() +Fermeture de FEN_Fiche_Dossier_Creation +renvoyer (nIdInter,nIdDossier) +FEN_Fiche_Dossier_Creation +Code des champs +Fin d'initialisation de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen +06/08/2026 Batik 2222 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Déclarations globales de CMOD_Client +salib = "Client" +Fin d'initialisation de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Client +06/08/2026 Batik 2223 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_ClientOpt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ClientOpt +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2224 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +ExécuteAncêtre +Entrée dans CMOD_ClientOpt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ClientOpt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ClientOpt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ClientOpt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ClientOpt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_ClientOpt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_ClientOpt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_OptionsClient) +A chaque modification de IMG_Icone ( CMOD_ClientOpt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_ClientOpt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_ClientOpt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_ClientOpt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_DateDossier +salib = "Date du dossier" +Fin d'initialisation de CMOD_DateDossier +06/08/2026 Batik 2225 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DateDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DateDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DateDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DateDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DateDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DateDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Date ( CMOD_DateDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CMOD_DateDossier.SAI_Date = DateSys() +Entrée dans SAI_Date ( CMOD_DateDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Date ( CMOD_DateDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Date ( CMOD_DateDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Date ( CMOD_DateDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Description +06/08/2026 Batik 2226 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +salib = "Description" +Fin d'initialisation de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Description ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Description ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Description ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Description ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Description ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_EtatInter +06/08/2026 Batik 2227 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +salib = "État d'intervention" +Fin d'initialisation de CMOD_EtatInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_EtatInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_EtatInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_EtatInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_EtatInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_EtatInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_EtatInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_EtatInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême.NomComplet,cParam_EtatInter,Vrai,oInter:saCleEtat) +ListeSelectPlus(CMB_Combo,1) +Entrée dans CMB_Combo ( CMOD_EtatInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_EtatInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_EtatInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_EtatInter ) +06/08/2026 Batik 2228 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_OptionsCtcDonneur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_OptionsCtcDonneur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_OptionsCtcDonneur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_OptionsCtcDonneur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_OptionsCtcDonneur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_OptionsCtcDonneur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_OptionsCtcDonneur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_OptionsCtcDonneur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_OptionsCtcDonneur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_OptionsCtcDonneurs) +A chaque modification de IMG_Icone ( CMOD_OptionsCtcDonneur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_OptionsCtcDonneur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_OptionsCtcDonneur ) +06/08/2026 Batik 2229 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_OptionsCtcDonneur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_OptionsCtcSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_OptionsCtcSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_OptionsCtcSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_OptionsCtcSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_OptionsCtcSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_OptionsCtcSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_OptionsCtcSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_OptionsCtcSite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_OptionsCtcSite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_OptionsCtcSite) +A chaque modification de IMG_Icone ( CMOD_OptionsCtcSite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_OptionsCtcSite ) +06/08/2026 Batik 2230 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_OptionsCtcSite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_OptionsCtcSite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_RefExt +salib = "Réf. externe" +Fin d'initialisation de CMOD_RefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_RefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_RefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_RefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_RefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_RefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_RefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_RefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_RefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_RefExt ) +06/08/2026 Batik 2231 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_RefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_RefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_RefExterne +salib = "Réf. externe" +Fin d'initialisation de CMOD_RefExterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_RefExterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_RefExterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_RefExterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_RefExterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_RefExterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_RefExterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_RefExterne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_RefExterne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_RefExterne ) +06/08/2026 Batik 2232 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_RefExterne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_RefExterne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_RefInterne +salib = "N° de dossier" +Fin d'initialisation de CMOD_RefInterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_RefInterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_RefInterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_RefInterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_RefInterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_RefInterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_RefInterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_RefInterne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_RefInterne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_RefInterne ) +06/08/2026 Batik 2233 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_RefInterne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_RefInterne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2234 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +ExécuteAncêtre +Sortie de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_SansNom8 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_SansNom8 ) +06/08/2026 Batik 2235 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +Ferme() +fin +Fin d'initialisation de CMOD_SansNom9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_SansNom9 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_SansNom9 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +nIdDossier = 0 +nIdInter = 0 +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_SansNom9 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Site +06/08/2026 Batik 2236 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +salib = "Site de l'intervention" +Fin d'initialisation de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Site ) (modèle MDLC_SaisieSansModif) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Site ) (modèle MDLC_SaisieSansModif) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_SiteOpt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SiteOpt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SiteOpt +06/08/2026 Batik 2237 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SiteOpt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SiteOpt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SiteOpt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SiteOpt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_SiteOpt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_SiteOpt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_OptionsSite) +A chaque modification de IMG_Icone ( CMOD_SiteOpt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_SiteOpt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_SiteOpt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_SiteOpt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Societe +salib = "Société" +Fin d'initialisation de CMOD_Societe +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2238 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +nIdSoc est un entier sur 8 octets = CollaborateurEnCours.IdSocPrincipal +si nIdSoc <= 0 _et_ CollaborateurEnCours:tbSocietes..Occurrence > 0 alors +nIdSoc = CollaborateurEnCours:tbSocietes[1] +fin +InitChamp(MoiMême.NomComplet,cSocietesUtilisateur,Vrai,nIdSoc) +si nIdSoc > 0 alors +CMOD_Societe.CMB_Combo = nIdSoc +fin +Entrée dans CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2239 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Statut +salib = "Statut du dossier" +Fin d'initialisation de CMOD_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême..NomComplet,cParam_StatutDossier,Faux,oDossier:saCleStatut) +CMOD_Statut.CMB_Combo = cCle_DossierOuvert +Entrée dans CMB_Combo ( CMOD_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Statut ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2240 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SuiviPar +salib = "Intervention suivi par " +Fin d'initialisation de CMOD_SuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_SuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +nIdColb est un entier sur 8 octets +si CollaborateurEnCours:nIdUser > 0 _et_ CollaborateurEnCours:clUtilisateur:tbaDroits[ +cGestion_SuiviInter]..Existe _et_ CollaborateurEnCours:clUtilisateur:tbaDroits[cGestion_SuiviInter]. +bAcces alors +nIdColb = CollaborateurEnCours:nPKID +fin +06/08/2026 Batik 2241 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +InitChamp(MoiMême.NomComplet,cSuiviPar,Vrai,nIdColb) +si nIdColb > 0 alors +CMOD_SuiviPar.CMB_Combo = nIdColb +fin +Entrée dans CMB_Combo ( CMOD_SuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_SuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_SuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_SuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_TContact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TContact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TContact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TContact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TContact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TContact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TContact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +06/08/2026 Batik 2242 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_Demandeur ( TABLE_Info ) +b est un entier = CMOD_TContact.TABLE_Info +si b > 0 _et_ CMOD_TContact.TABLE_Info[b].COL_PKID > 0 alors +n est un entier = TableauCherche(tbContactSite,tcLinéaire,"nIDPersonne",CMOD_TContact.TABLE_Info[b] +.COL_PKID) +si n > 0 alors +tbContactSite[n].bEstDemandeur = CMOD_TContact.TABLE_Info[b].COL_Demandeur +fin +fin +Sortie de COL_Etage ( TABLE_Info ) +06/08/2026 Batik 2243 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +b est un entier = CMOD_TContact.TABLE_Info +si b > 0 _et_ CMOD_TContact.TABLE_Info[b].COL_PKID > 0 alors +n est un entier = TableauCherche(tbContactSite,tcLinéaire,"nIDPersonne",CMOD_TContact.TABLE_Info[b] +.COL_PKID) +si n > 0 alors +tbContactSite[n].saEtage = CMOD_TContact.TABLE_Info[b].COL_Etage +fin +fin +Sortie de COL_Lot ( TABLE_Info ) +b est un entier = CMOD_TContact.TABLE_Info +si b > 0 _et_ CMOD_TContact.TABLE_Info[b].COL_PKID > 0 alors +n est un entier = TableauCherche(tbContactSite,tcLinéaire,"nIDPersonne",CMOD_TContact.TABLE_Info[b] +.COL_PKID) +si n > 0 alors +tbContactSite[n].saLot = CMOD_TContact.TABLE_Info[b].COL_Lot +fin +fin +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_Role ( TABLE_Info ) +InitChamp(MoiMême..Nom,cParam_RoleContact) +Sélection d'une ligne de COL_Role ( TABLE_Info ) +b est un entier = CMOD_TContact.TABLE_Info +si b > 0 _et_ CMOD_TContact.TABLE_Info[b].COL_PKID > 0 alors +n est un entier = TableauCherche(tbContactSite,tcLinéaire,"nIDPersonne",CMOD_TContact.TABLE_Info[b] +.COL_PKID) +si n > 0 alors +tbContactSite[n].saCleRole = CMOD_TContact.TABLE_Info[b].COL_Role +fin +fin +Fin d'initialisation de CMOD_TDonneur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TDonneur +06/08/2026 Batik 2244 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TDonneur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TDonneur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TDonneur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TDonneur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TDonneur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2245 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_Demandeur ( TABLE_Info ) +b est un entier = CMOD_TDonneur.TABLE_Info +si b > 0 _et_ CMOD_TDonneur.TABLE_Info[b].COL_PKID > 0 alors +n est un entier = TableauCherche(tbDonneurOrdre,tcLinéaire,"nIDPersonne",CMOD_TDonneur.TABLE_Info[b +].COL_PKID) +si n > 0 alors +tbDonneurOrdre[n].bEstDemandeur = CMOD_TDonneur.TABLE_Info[b].COL_Demandeur +fin +fin +Sortie de COL_Etage ( TABLE_Info ) +b est un entier = CMOD_TDonneur.TABLE_Info +si b > 0 _et_ CMOD_TDonneur.TABLE_Info[b].COL_PKID > 0 alors +n est un entier = TableauCherche(tbDonneurOrdre,tcLinéaire,"nIDPersonne",CMOD_TDonneur.TABLE_Info[b +].COL_PKID) +si n > 0 alors +tbDonneurOrdre[n].saEtage = CMOD_TDonneur.TABLE_Info[b].COL_Etage +fin +fin +Sortie de COL_Lot ( TABLE_Info ) +b est un entier = CMOD_TDonneur.TABLE_Info +si b > 0 _et_ CMOD_TDonneur.TABLE_Info[b].COL_PKID > 0 alors +n est un entier = TableauCherche(tbDonneurOrdre,tcLinéaire,"nIDPersonne",CMOD_TDonneur.TABLE_Info[b +].COL_PKID) +si n > 0 alors +tbDonneurOrdre[n].saLot = CMOD_TDonneur.TABLE_Info[b].COL_Lot +fin +fin +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2246 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_Role ( TABLE_Info ) +InitChamp(MoiMême..Nom,cParam_RoleContact) +Sélection d'une ligne de COL_Role ( TABLE_Info ) +b est un entier = CMOD_TDonneur.TABLE_Info +si b > 0 _et_ CMOD_TDonneur.TABLE_Info[b].COL_PKID > 0 alors +n est un entier = TableauCherche(tbDonneurOrdre,tcLinéaire,"nIDPersonne",CMOD_TDonneur.TABLE_Info[b +].COL_PKID) +si n > 0 alors +tbDonneurOrdre[n].saCleRole = CMOD_TDonneur.TABLE_Info[b].COL_Role +fin +fin +Déclarations globales de CMOD_Titre +salib = "Nom du dossier" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2247 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Titre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Titre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Titre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Titre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Titre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre1 +salib = "Donneurs d'ordre" +Fin d'initialisation de CMOD_Titre1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre1 +06/08/2026 Batik 2248 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre1 ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre1 ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Titre2 +salib = "Contact rattaché" +Fin d'initialisation de CMOD_Titre2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre2 ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre2 ) (modèle MDLC_LibTitreWidget) +06/08/2026 Batik 2249 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_TitreInter +salib = "Intervention" +Fin d'initialisation de CMOD_TitreInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TitreInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TitreInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TitreInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TitreInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TitreInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TitreInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_TitreInter ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_TitreInter ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Type +salib = "Type d'intervention" +Fin d'initialisation de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Type +06/08/2026 Batik 2250 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême..NomComplet,cParam_TypeInter,Vrai,oInter:saCleType) +ListeSelectPlus(CMB_Combo,1) +Entrée dans CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_TypeDossier +saLib = "Type de dossier" +Fin d'initialisation de CMOD_TypeDossier +06/08/2026 Batik 2251 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TypeDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TypeDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TypeDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TypeDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TypeDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TypeDossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_TypeDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême..NomComplet,cParam_TypeDossier) +Entrée dans CMB_Combo ( CMOD_TypeDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_TypeDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_TypeDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_TypeDossier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_LienClientSite +06/08/2026 Batik 2252 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +OuvreMenuContextuel(MNU_OptionsClient) +Clic sur IMG_LienClientSite1 +OuvreMenuContextuel(MNU_OptionsSite) +Sélection du menu de MNU_AssocierCtcSite.OPT_Rattache +AttacherCtcSite() +Sélection du menu de MNU_AssocierDonneursSite.OPT_Attacher +AttacherDonneurSite() +Sélection du menu de MNU_OptionsClient.OPT_Ajouter +AjouterClient() +Sélection du menu de MNU_OptionsClient.OPT_Creer +CreerClient() +Sélection du menu de MNU_OptionsClient.OPT_Modifier +ModifierClient() +Sélection du menu de MNU_OptionsClient.OPT_Rattacher_le_client_au_site +AttacherSiteClient() +Sélection du menu de MNU_OptionsCtcDonneurs.OPT_Ajouter_un_nouveau_contact +AjouterDonneurOrdre() +Sélection du menu de MNU_OptionsCtcDonneurs.OPT_Creer +CreerDonneurOrdre() +Sélection du menu de MNU_OptionsCtcDonneurs.OPT_Modifier_le_contact +ModifierDonneurOrdre() +Sélection du menu de MNU_OptionsCtcDonneurs.OPT_Supprimer_le_contact_de_la_liste +SupprimerDonneurOrdre() +Sélection du menu de MNU_OptionsCtcSite.OPT_Ajouter_un_nouveau_contact +AjouterContact() +Sélection du menu de MNU_OptionsCtcSite.OPT_Creer +06/08/2026 Batik 2253 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Code des champs +CreerContact() +Sélection du menu de MNU_OptionsCtcSite.OPT_Modifier_le_contact +ModifierContact() +Sélection du menu de MNU_OptionsCtcSite.OPT_Supprimer_le_contact_de_la_liste +SupprimerContact() +Sélection du menu de MNU_OptionsSite.OPT_Ajouter +AjouterSite() +Sélection du menu de MNU_OptionsSite.OPT_Creer +CreerSite() +Sélection du menu de MNU_OptionsSite.OPT_Modifier +ModifierSite() +Sélection du menu de MNU_OptionsSite.OPT_Rattacher_le_site_au_client +AttacherSiteClient() +FEN_Fiche_Dossier_Creation +Procédures +Procédure locale AjouterClient +procédure AjouterClient() +nIdClient est un entier sur 8 octets +tbaCriteres est un tableau associatif de chaînes ANSI +si oLieu <> Null _et_ oLieu:nPKID > 0 alors +tbaCriteres[Lieu.LI_CodeLieu..Nom] = oLieu.saCodeLieu +tbaCriteres[Adresse.AD_CodePostal..Nom] = oLieu.oAdresse.saCodePostal +tbaCriteres[Adresse.AD_Ville..Nom] = oLieu.oAdresse.saVille +tbaCriteres[Adresse.AD_Presentation..Nom] = oLieu.oAdresse.saPresentation +fin +tbaCriteres[cParam_Fenetre] = cFI_Liste_Client +nIdClient = Ouvre(FEN_Choix_Liste,cFEN_Dossier_C,tbaCriteres) +si nIdClient > 0 alors +si HLitRecherchePremier(Client,CL_PKID,nIdClient) alors +06/08/2026 Batik 2254 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Procédures +FichierVersMémoire(oDossier:oClient,Client) +oDossier:nIDClient = Client.CL_PKID +CMOD_Client.SAI_Texte = oDossier:oClient:NomEtCode +fin +fin +ClientAttacheSite() +Procédure locale AjouterContact +procédure AjouterContact() +tbaCriteres est un tableau associatif de chaînes ANSI +nIdPersone est un entier sur 8 octets +tbaCriteres[cParam_Fenetre] = cFI_Liste_ContactSite +si oLieu <> Null _et_ oLieu:nPKID > 0 alors +tbaCriteres[Lieu.LI_CodeLieu..Nom] = oLieu.saCodeLieu +tbaCriteres[Adresse.AD_CodePostal..Nom] = oLieu.oAdresse.saCodePostal +tbaCriteres[Adresse.AD_Ville..Nom] = oLieu.oAdresse.saVille +tbaCriteres[Adresse.AD_Presentation..Nom] = oLieu.oAdresse.saPresentation +fin +nIdPersone = Ouvre(FEN_Choix_Liste,cFEN_Dossier_C,tbaCriteres) +si nIdPersone > 0 alors +n est un entier = TableauCherche(tbContactSite,tcLinéaire,"nIDPersonne",nIdPersone) +si n > 0 alors +renvoyer Faux +fin +si HLitRecherchePremier(Personne,PE_PKID,nIdPersone) alors +oCtcest un MContact_Inter +oCtc.nIDPersonne = nIdPersone +FichierVersMémoire(oCtc.oPersonne,Personne) +TableauAjoute(tbContactSite,oCtc) +FiltrerContactSite() +fin +fin +Procédure locale AjouterDonneurOrdre +procédure AjouterDonneurOrdre() +tbaCriteres est un tableau associatif de chaînes ANSI +nIdPersone est un entier sur 8 octets +tbaCriteres[cParam_Fenetre] = cFI_Liste_ContactClient +si oDossier:oClient <> Null _et_ oDossier:oClient.nPKID > 0 alors +tbaCriteres[Client.CL_CodeClient..Nom] = oDossier:oClient:saCodeClient +tbaCriteres[Client.CL_CodeComptable..Nom] = oDossier:oClient:saCodeComptable +tbaCriteres[Client.CL_Nom..Nom] = oDossier:oClient:saNom +tbaCriteres[Client.CL_CleType..Nom] = oDossier:oClient:saCleType +tbaCriteres[Client.CL_PKID..Nom] = oDossier:oClient:nPKID +fin +nIdPersone = Ouvre(FEN_Choix_Liste,cFEN_Dossier_C ,tbaCriteres) +si nIdPersone > 0 alors +n est un entier = TableauCherche(tbDonneurOrdre,tcLinéaire,"nIDPersonne",nIdPersone) +si n > 0 alors +renvoyer Faux // Il existe déjà +fin +06/08/2026 Batik 2255 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Procédures +si HLitRecherchePremier(Personne,PE_PKID,nIdPersone) alors +oCtcest un MContact_Inter +oCtc.nIDPersonne = nIdPersone +FichierVersMémoire(oCtc.oPersonne,Personne) +TableauAjoute(tbDonneurOrdre,oCtc) +FiltreDonneurs() +fin +fin +Procédure locale AjouterSite +procédure AjouterSite() +tbaCriteres est un tableau associatif de chaînes ANSI +nIdSite est un entier sur 8 octets +tbaCriteres[cParam_Fenetre] = cFI_Liste_Site +si oDossier:oClient <> Null _et_ oDossier:oClient.nPKID > 0 alors +tbaCriteres[Client.CL_CodeClient..Nom] = oDossier:oClient:saCodeClient +tbaCriteres[Client.CL_Nom..Nom] = oDossier:oClient:saNom +tbaCriteres[Client.CL_CleType..Nom] = oDossier:oClient:saCleType +tbaCriteres[Client.CL_PKID..Nom] = oDossier:oClient:nPKID +fin +nIdSite = Ouvre(FEN_Choix_Liste,cFEN_Dossier_C ,tbaCriteres) +FiltrerSite(nIdSite) +ClientAttacheSite() +FiltrerContactSite() +FiltreDonneurs() +Procédure locale AttacherCtcSite +procédure AttacherCtcSite() +i est un entier = CMOD_TContact.TABLE_Info +si oLieu:nPKID > 0 _et_ i > 0 _et_ CMOD_TContact.TABLE_Info[i].COL_PKID > 0 alors +n est un entier = TableauCherche(tbContactSite,tcLinéaire,"nIDPersonne",CMOD_TContact.TABLE_Info[i] +.COL_PKID) +si n > 0 alors +si tbContactSite[n].nIdLienSite > 0 alors +renvoyer Faux +fin +sinon +renvoyer Faux +fin +saCle est une chaîne ANSI = HFiltre(Lieu_Personne, "LIP_IDLieu="+oLieu:nPKID+ +" ET LIP_IDPersonne=" +CMOD_TContact.TABLE_Info[i].COL_PKID) +bExiste est un booléen = Faux +HLitPremier(Lieu_Personne, saCle) +tantque HEnDehors(Lieu_Personne) = Faux +si Lieu_Personne.LIP_PKID > 0 alors +bExiste = Vrai +sortir +fin +HLitSuivant(Lieu_Personne,saCle) +fin +si pas bExiste alors +HRAZ(Lieu_Personne) +Lieu_Personne.LIP_IDLieu = oLieu:nPKID +Lieu_Personne.LIP_IDPersonne = CMOD_TContact.TABLE_Info[i].COL_PKID +Lieu_Personne.LIP_CleRole = CMOD_TContact.TABLE_Info[i].COL_Role +Lieu_Personne.LIP_Etage = CMOD_TContact.TABLE_Info[i].COL_Etage +Lieu_Personne.LIP_Lot = CMOD_TContact.TABLE_Info[i].COL_Lot +06/08/2026 Batik 2256 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Procédures +Lieu_Personne.CreationDate = DateHeureSys() +Lieu_Personne.ModifDate = DateHeureSys() +Lieu_Personne.ModifUser = CollaborateurEnCours.nIdUser +Lieu_Personne.CreationUser = CollaborateurEnCours.nIdUser +si pas HAjoute(Lieu_Personne) alors +UneErreur:Init(ErreurApp.ErreurHFSQL,"Erreur lors de l'enregistrement contact - site") +sinon +CMOD_TContact.TABLE_Info[i].COL_Control = IMG_SiteOk +tbContactSite[i].nIdLienSite = Lieu_Personne.LIP_PKID +fin +sinon +CMOD_TContact.TABLE_Info[i].COL_Control = IMG_SiteOk +tbContactSite[i].nIdLienSite = Lieu_Personne.LIP_PKID +fin +fin +Procédure locale AttacherDonneurSite +procédure AttacherDonneurSite() +i est un entier = CMOD_TDonneur.TABLE_Info +si oLieu:nPKID > 0 _et_ i > 0 _et_ CMOD_TDonneur.TABLE_Info[i].COL_PKID > 0 alors +n est un entier = TableauCherche(tbDonneurOrdre,tcLinéaire,"nIDPersonne",CMOD_TDonneur.TABLE_Info[i +].COL_PKID) +si n > 0 alors +si tbDonneurOrdre[n].nIdLienSite > 0 alors +renvoyer Faux +fin +sinon +renvoyer Faux +fin +saCle est une chaîne ANSI = HFiltre(Lieu_Personne, "LIP_IDLieu="+oLieu:nPKID+ +" ET LIP_IDPersonne=" +CMOD_TDonneur.TABLE_Info[i].COL_PKID) +bExiste est un booléen = Faux +HLitPremier(Lieu_Personne, saCle) +tantque HEnDehors(Lieu_Personne) = Faux +si Lieu_Personne.LIP_PKID > 0 alors +bExiste = Vrai +sortir +fin +HLitSuivant(Lieu_Personne,saCle) +fin +si pas bExiste alors +HRAZ(Lieu_Personne) +Lieu_Personne.LIP_IDLieu = oLieu:nPKID +Lieu_Personne.LIP_IDPersonne = CMOD_TDonneur.TABLE_Info[i].COL_PKID +Lieu_Personne.LIP_CleRole = CMOD_TDonneur.TABLE_Info[i].COL_Role +Lieu_Personne.LIP_Etage = CMOD_TDonneur.TABLE_Info[i].COL_Etage +Lieu_Personne.LIP_Lot = CMOD_TDonneur.TABLE_Info[i].COL_Lot +Lieu_Personne.CreationDate = DateHeureSys() +Lieu_Personne.ModifDate = DateHeureSys() +Lieu_Personne.ModifUser = CollaborateurEnCours.nIdUser +Lieu_Personne.CreationUser = CollaborateurEnCours.nIdUser +si pas HAjoute(Lieu_Personne) alors +UneErreur:Init(ErreurApp.ErreurHFSQL,"Erreur lors de l'enregistrement contact - site") +sinon +CMOD_TDonneur.TABLE_Info[i].COL_Control = IMG_SiteOk +tbDonneurOrdre[n].nIdLienSite = Lieu_Personne.LIP_PKID +fin +sinon +CMOD_TDonneur.TABLE_Info[i].COL_Control = IMG_SiteOk +06/08/2026 Batik 2257 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Procédures +tbDonneurOrdre[n].nIdLienSite = Lieu_Personne.LIP_PKID +fin +fin +Procédure locale AttacherSiteClient +procédure AttacherSiteClient() +si oLieu:nPKID > 0 _et_ oDossier:oClient:nPKID > 0 alors +bExiste est un booléen = ClientAttacheSite() +si pas bExiste alors +HRAZ(Client_Lieu) +Client_Lieu.CLI_IDClient = oDossier:oClient:nPKID +Client_Lieu.CLI_IDLieu = oLieu:nPKID +Client_Lieu.CreationUser = CollaborateurEnCours:nIdUser +Client_Lieu.ModifUser = CollaborateurEnCours:nIdUser +Client_Lieu.CreationDate = DateHeureSys() +Client_Lieu.ModifDate = DateHeureSys() +si pas HAjoute(Client_Lieu) alors +UneErreur:Init(ErreurApp.ErreurHFSQL,"Erreur lors de l'enregistrement client - site") +sinon +IMG_LienClientSite = IMG_SiteOk +IMG_LienClientSite1 = IMG_SiteOk +fin +fin +fin +Procédure locale ClientAttacheSite +procédure ClientAttacheSite() +bExiste est un booléen = Faux +si oLieu:nPKID > 0 _et_ oDossier:oClient:nPKID alors +saCle est une chaîne ANSI = HFiltre(Client_Lieu, "CLI_IDLieu="+oLieu:nPKID+" ET CLI_IDClient=" ++oDossier:oClient:nPKID) +HLitPremier(Client_Lieu, saCle) +tantque HEnDehors(Client_Lieu) = Faux +si Client_Lieu.CLI_PKID > 0 alors +bExiste = Vrai +sortir +fin +HLitSuivant(Client_Lieu,saCle) +fin +fin +si bExiste alors +IMG_LienClientSite = IMG_SiteOk +IMG_LienClientSite1 = IMG_SiteOk +sinon +IMG_LienClientSite = IMG_Dissocie +IMG_LienClientSite1 = IMG_Dissocie +fin +renvoyer bExiste +Procédure locale CreerClient +procédure CreerClient() +tbaTbParam est un tableau associatif de chaînes ANSI +tbaTbParam[cParam_Fenetre] = cFEN_Client +06/08/2026 Batik 2258 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Procédures +tbaTbParam[Client.CL_PKID..Nom] = 0 +bOk est un booléen +nIdClient est un entier sur 8 octets +(bOk,nIdClient) = Ouvre(FEN_Fiche,tbaTbParam,cFEN_Dossier_C) +si bOk _et_ nIdClient > 0 alors +si HLitRecherchePremier(Client,CL_PKID,nIdClient) alors +FichierVersMémoire(oDossier:oClient,Client) +oDossier:nIDClient = Client.CL_PKID +CMOD_Client.SAI_Texte= oDossier:oClient:NomEtCode +fin +fin +ClientAttacheSite() +Procédure locale CreerContact +procédure CreerContact() +tbaTbParam est un tableau associatif de chaînes ANSI +tbaTbParam[cParam_Fenetre] = cFI_ContactSite +tbaTbParam[Personne.PE_PKID..Nom] = 0 +bOk est un booléen +nIdPers est un entier sur 8 octets +(bOk,nIdPers) = Ouvre(FEN_Fiche,tbaTbParam,cFEN_Dossier_C) +si bOk _et_ nIdPers > 0 alors +si HLitRecherchePremier(Personne,PE_PKID,nIdPers) alors +oCtcest un MContact_Inter +oCtc.nIDPersonne = nIdPers +FichierVersMémoire(oCtc.oPersonne,Personne) +TableauAjoute(tbContactSite,oCtc) +FiltrerContactSite() +fin +fin +Procédure locale CreerDonneurOrdre +procédure CreerDonneurOrdre() +tbaTbParam est un tableau associatif de chaînes ANSI +tbaTbParam[cParam_Fenetre] = cFI_DonneursOrdre +tbaTbParam[Personne.PE_PKID..Nom] = 0 +bOk est un booléen +nIdPers est un entier sur 8 octets +(bOk,nIdPers) = Ouvre(FEN_Fiche,tbaTbParam, cFEN_Dossier_C) +si bOk _et_ nIdPers > 0 alors +si HLitRecherchePremier(Personne,PE_PKID,nIdPers) alors +oCtcest un MContact_Inter +oCtc.nIDPersonne = nIdPers +FichierVersMémoire(oCtc.oPersonne,Personne) +TableauAjoute(tbDonneurOrdre,oCtc) +FiltreDonneurs() +fin +fin +Procédure locale CreerSite +procédure CreerSite() +tbaTbParam est un tableau associatif de chaînes ANSI +tbaTbParam[cParam_Fenetre] = cFEN_Site +tbaTbParam[Lieu.LI_PKID..Nom] = 0 +06/08/2026 Batik 2259 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Procédures +bOk est un booléen +nIdLieu est un entier sur 8 octets +(bOk,nIdLieu) = Ouvre(FEN_Fiche,tbaTbParam,cFEN_Dossier_C) +si bOk _et_ nIdLieu > 0 alors +FiltrerSite(nIdLieu) +fin +ClientAttacheSite() +Procédure locale Enregistrer +procédure Enregistrer() +EcranVersSource() +oDossier:nPKID = 0 // Dans cette fenêtre on crée uniquement des dossier +oDossier:nIDClient = oDossier:oClient:nPKID +si oDossier:Enregistrer() alors +oInter:nIDDossier = oDossier:nPKID +oInter:saRefInterne = oDossier:saRefInterne+"-"+1 +oInter:nIDLieu = oLieu:nPKID +oInter:nIDClient = oDossier:oClient:nPKID +si oInter:Enregistrer() alors +si oInter:saCleEtat <> "" _et_ gtabParametresMetierCode[cParam_EtatInter][oInter:saCleEtat].. +Existe alors +HRAZ(EtatIntervention) +EtatIntervention.EI_DateDebut = DateHeureSys() +EtatIntervention.EI_DateFin = DateHeureSys() +EtatIntervention.EI_CleEtat = oInter:saCleEtat +EtatIntervention.EI_IDIntervention = oInter:nPKID +EtatIntervention.EI_IDEtat = gtabParametresMetierCode[cParam_EtatInter][ +oInter:saCleEtat].npkid +si pas HEnregistre(EtatIntervention) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Erreur lors de l'enregistrement État d'intervention") +fin +fin +pour tout oCtc de tbContactSite +oCtc:nIDIntervention = oInter:nPKID +oCtc:nIDClient = 0 +oCtc:nIDLieu = oLieu:nPKID +si pas oCtc:Enregistrer() alors +renvoyer Faux +fin +fin +pour tout oCtc de tbDonneurOrdre +oCtc:nIDIntervention = oInter:nPKID +oCtc:nIDClient = oInter:nIDClient +oCtc:nIDLieu = 0 +si pas oCtc:Enregistrer() alors +renvoyer Faux +fin +fin +sinon +renvoyer Faux +fin +nIdInter = oInter:nPKID +nIdDossier = oDossier:nPKID +sinon +renvoyer Faux +fin +06/08/2026 Batik 2260 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Procédures +renvoyer Vrai +Procédure locale FiltreDonneurs +procédure FiltreDonneurs() +TableSupprimeTout(CMOD_TDonneur.TABLE_Info) +i est un entier +pour tout oCtc de tbDonneurOrdre +i = TableAjouteLigne(CMOD_TDonneur.TABLE_Info) +CMOD_TDonneur.TABLE_Info[i].COL_Control = IMG_Dissocie +si oLieu:nPKID > 0 alors +si oCtc:nIdLienSite <= 0 alors +saCle est une chaîne ANSI = HFiltre(Lieu_Personne, "LIP_IDLieu="+oLieu:nPKID+ +" ET LIP_IDPersonne=" +oCtc.nIDPersonne) +HLitPremier(Lieu_Personne, saCle) +tantque HEnDehors(Lieu_Personne) = Faux +si Lieu_Personne.LIP_PKID > 0 alors +CMOD_TDonneur.TABLE_Info[i].COL_Control = IMG_SiteOk +CMOD_TDonneur.TABLE_Info[i].COL_IdCtcLieu = Lieu_Personne.LIP_PKID +si oCtc.saLot = "" alors oCtc.saLot = Lieu_Personne.LIP_Lot +si oCtc.saEtage = "" alors oCtc.saEtage = Lieu_Personne.LIP_Etage +si oCtc.saCleRole = "" alors oCtc.saCleRole = Lieu_Personne.LIP_CleRole +oCtc:nIdLienSite = Lieu_Personne.LIP_PKID +sortir +fin +HLitSuivant(Lieu_Personne,saCle) +fin +sinon +CMOD_TDonneur.TABLE_Info[i].COL_Control = IMG_SiteOk +fin +fin +CMOD_TDonneur.TABLE_Info[i].COL_PKID = oCtc.oPersonne.nPKID +CMOD_TDonneur.TABLE_Info[i].COL_Demandeur = oCtc.bEstDemandeur +CMOD_TDonneur.TABLE_Info[i].COL_Nom = oCtc.oPersonne.NomPrenom() +CMOD_TDonneur.TABLE_Info[i].COL_Etage = oCtc.saetage +CMOD_TDonneur.TABLE_Info[i].COL_Lot = oCtc.salot +CMOD_TDonneur.TABLE_Info[i].COL_Role = oCtc.saCleRole +fin +Procédure locale Filtrer +procédure Filtrer() +nCodeDossier est un entier = CreaCompteur(ParametreApplicationLit(cParam_PF_Code_Dossier,"D", +Faux,"Indique si la création du dossier contient un préfixe")) +nTailleCompteur est un entier = Val(ParametreApplicationLit(cParam_T_Compteur_Dossier,6,Faux, +"Contient la taille du compteur dossier complété par des zéros")) +oDossier:saRefInterne = ParametreApplicationLit(cParam_PF_Code_Dossier,"D",Faux, +"Indique si la création du dossier contient un préfixe")... ++Répète("0",nTailleCompteur-Taille(nCodeDossier))+nCodeDossier +si tbaParametres <> Null alors +si tbaParametres[cParam_Fenetre]..Existe alors +saFen = tbaParametres[cParam_Fenetre] +fin +06/08/2026 Batik 2261 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Procédures +si tbaParametres[Client.CL_PKID..Nom]..Existe _et_ Val(tbaParametres[Client.CL_PKID..Nom]) > 0 +alors +oDossier:nIDClient = Val(tbaParametres[Client.CL_PKID..Nom]) +oDossier:ChargeClient() +fin +si tbaParametres[Lieu.LI_PKID..Nom]..Existe _et_ Val(tbaParametres[Lieu.LI_PKID..Nom]) > 0 alors +FiltrerSite(Val(tbaParametres[Lieu.LI_PKID..Nom])) +fin +si tbaParametres[Personne.PE_PKID..Nom]..Existe _et_ Val(tbaParametres[Personne.PE_PKID..Nom]) > 0 +alors +si HLitRecherchePremier(Personne,PE_PKID,Val(tbaParametres[Personne.PE_PKID..Nom])) alors +oCtcest un MContact_Inter +oCtc.nIDPersonne = Personne.PE_PKID +FichierVersMémoire(oCtc.oPersonne,Personne) +TableauAjoute(tbDonneurOrdre,oCtc) +si Personne.PE_IDClient > 0 alors +oDossier:nIDClient = Val(tbaParametres[Client.CL_PKID..Nom]) +oDossier:ChargeClient() +fin +FiltreDonneurs() +fin +fin +fin +ClientAttacheSite() +SourceVersEcran() +Procédure locale FiltrerContactSite +procédure FiltrerContactSite() +TableSupprimeTout(CMOD_TContact.TABLE_Info) +i est un entier +pour tout oCtc de tbContactSite +i = TableAjouteLigne(CMOD_TContact.TABLE_Info) +CMOD_TContact.TABLE_Info[i].COL_Control = IMG_Dissocie +si oLieu:nPKID > 0 alors +si oCtc:nIdLienSite <= 0 alors +saCle est une chaîne ANSI = HFiltre(Lieu_Personne, "LIP_IDLieu="+oLieu:nPKID+ +" ET LIP_IDPersonne=" +oCtc.nIDPersonne) +HLitPremier(Lieu_Personne, saCle) +tantque HEnDehors(Lieu_Personne) = Faux +si Lieu_Personne.LIP_PKID > 0 alors +CMOD_TContact.TABLE_Info[i].COL_Control = IMG_SiteOk +si oCtc.saLot = "" alors oCtc.saLot = Lieu_Personne.LIP_Lot +si oCtc.saEtage = "" alors oCtc.saEtage = Lieu_Personne.LIP_Etage +si oCtc.saCleRole = "" alors oCtc.saCleRole = Lieu_Personne.LIP_CleRole +oCtc:nIdLienSite = Lieu_Personne.LIP_PKID +sortir +fin +HLitSuivant(Lieu_Personne,saCle) +fin +sinon +CMOD_TContact.TABLE_Info[i].COL_Control = IMG_SiteOk +fin +fin +06/08/2026 Batik 2262 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Procédures +CMOD_TContact.TABLE_Info[i].COL_PKID = oCtc.oPersonne.nPKID +CMOD_TContact.TABLE_Info[i].COL_Demandeur = oCtc.bEstDemandeur +CMOD_TContact.TABLE_Info[i].COL_Nom = oCtc.oPersonne.NomPrenom() +CMOD_TContact.TABLE_Info[i].COL_Etage = oCtc.saEtage +CMOD_TContact.TABLE_Info[i].COL_Lot = oCtc.saLot +CMOD_TContact.TABLE_Info[i].COL_Role = oCtc.saCleRole +fin +Procédure locale FiltrerSite +procédure FiltrerSite(nIdSite est un entier sur 8 octets = 0) +si nIdSite > 0 alors +FiltrerSite() +si HLitRecherchePremier(Lieu,LI_PKID,nIdSite) alors +FichierVersMémoire(oLieu,Lieu) +si oLieu.nIDAdresse > 0 _et_ HLitRecherchePremier(Adresse,AD_PKID,oLieu.nIDAdresse) alors +FichierVersMémoire(oLieu.oAdresse,Adresse) +fin +fin +CMOD_Site.SAI_Texte = oLieu:saCodeLieu+RC+oLieu:oAdresse:saPresentation +fin +ClientAttacheSite() +FiltrerContactSite() +FiltreDonneurs() +Procédure locale ModifierClient +procédure ModifierClient() +si oDossier:nIDClient > 0 alors +tbaTbParam est un tableau associatif de chaînes ANSI +tbaTbParam[cParam_Fenetre] = cFEN_Client +tbaTbParam[Client.CL_PKID..Nom] = oDossier:nIDClient +bOk est un booléen +nIdPers est un entier sur 8 octets +bOk = Ouvre(FEN_Fiche,tbaTbParam,cFEN_Dossier_C) +si bOk _et_ nIdPers > 0 alors +si HLitRecherchePremier(Client,CL_PKID,oDossier:nIDClient) alors +FichierVersMémoire(oDossier:oClient,Client) +oDossier:nIDClient = Client.CL_PKID +CMOD_Client.SAI_Texte= oDossier:oClient:NomEtCode +fin +fin +fin +Procédure locale ModifierContact +procédure ModifierContact() +i est un entier = CMOD_TContact.TABLE_Info +si i > 0 _et_ CMOD_TContact.TABLE_Info[i].COL_PKID > 0 alors +n est un entier = TableauCherche(tbContactSite,tcLinéaire,"nIDPersonne",CMOD_TContact.TABLE_Info[i] +.COL_PKID) +si n > 0 alors +tbaTbParam est un tableau associatif de chaînes ANSI +tbaTbParam[cParam_Fenetre] = cFI_ContactSite +tbaTbParam[Personne.PE_PKID..Nom] = CMOD_TContact.TABLE_Info[i].COL_PKID +bOk est un booléen +nIdPers est un entier sur 8 octets +06/08/2026 Batik 2263 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Procédures +(bOk,nIdPers) = Ouvre(FEN_Fiche,tbaTbParam,cFEN_Dossier_C) +si bOk _et_ nIdPers > 0 alors +si HLitRecherchePremier(Personne,PE_PKID,nIdPers) alors +FichierVersMémoire(tbContactSite[n].oPersonne,Personne) +FiltrerContactSite() +fin +fin +fin +fin +Procédure locale ModifierDonneurOrdre +procédure ModifierDonneurOrdre() +i est un entier = CMOD_TDonneur.TABLE_Info +si i > 0 _et_ CMOD_TDonneur.TABLE_Info[i].COL_PKID > 0 alors +n est un entier = TableauCherche(tbDonneurOrdre,tcLinéaire,"nIDPersonne",CMOD_TDonneur.TABLE_Info[i +].COL_PKID) +si n > 0 alors +tbaTbParam est un tableau associatif de chaînes ANSI +tbaTbParam[cParam_Fenetre] = cFI_DonneursOrdre +tbaTbParam[Personne.PE_PKID..Nom] = CMOD_TDonneur.TABLE_Info[i].COL_PKID +bOk est un booléen +nIdPers est un entier sur 8 octets +(bOk,nIdPers) = Ouvre(FEN_Fiche,tbaTbParam, cFEN_Dossier_C) +si bOk _et_ nIdPers > 0 alors +si HLitRecherchePremier(Personne,PE_PKID,nIdPers) alors +FichierVersMémoire(tbDonneurOrdre[n].oPersonne,Personne) +FiltreDonneurs() +fin +fin +fin +fin +Procédure locale ModifierSite +procédure ModifierSite() +si oLieu:nPKID > 0 alors +tbaTbParam est un tableau associatif de chaînes ANSI +tbaTbParam[cParam_Fenetre] = cFEN_Site +tbaTbParam[Lieu.LI_PKID..Nom] = oLieu:nPKID +bOk est un booléen +nIdLieu est un entier sur 8 octets +bOk = Ouvre(FEN_Fiche,tbaTbParam, cFEN_Dossier_C) +si bOk _et_ nIdLieu > 0 alors +FiltrerSite(nIdLieu) +ClientAttacheSite() +FiltrerContactSite() +FiltreDonneurs() +fin +fin +Procédure locale SupprimerContact +procédure SupprimerContact() +i est un entier = CMOD_TContact.TABLE_Info +06/08/2026 Batik 2264 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Dossier_Creation › Procédures +si i > 0 _et_ CMOD_TContact.TABLE_Info[i].COL_PKID > 0 alors +si OuiNon(Non,"Êtes-vous sûr de vouloir supprimer le contact sélectionnée ?") = Oui alors +n est un entier = TableauCherche(tbContactSite,tcLinéaire,"nIDPersonne",CMOD_TContact.TABLE_ +Info[i].COL_PKID) +si n > 0 alors +si TableauSupprime(tbContactSite,n) alors +TableSupprime(CMOD_TContact.TABLE_Info,i) +fin +fin +fin +fin +Procédure locale SupprimerDonneurOrdre +procédure SupprimerDonneurOrdre() +i est un entier = CMOD_TDonneur.TABLE_Info +si i > 0 _et_ CMOD_TDonneur.TABLE_Info[i].COL_PKID > 0 alors +si OuiNon(Non,"Êtes-vous sûr de vouloir supprimer le donneur d'ordre sélectionnée ?") = Oui alors +n est un entier = TableauCherche(tbDonneurOrdre,tcLinéaire,"nIDPersonne",CMOD_TDonneur.TABLE_ +Info[i].COL_PKID) +si n > 0 alors +si TableauSupprime(tbDonneurOrdre,n) alors +TableSupprime(CMOD_TDonneur.TABLE_Info,i) +fin +fin +fin +fin +06/08/2026 Batik 2265 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Image +FEN_Parametres_Visualisation_RDV +Image +FEN_Parametres_Visualisation_RDV +Informations générales +FEN_Parametres_Visualisation_RDV +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Parametres_Visualisation_RDV.wdw +| Créé par | | SMR | | | | +| -------------------------- | --- | -------------------------------------- | --- | --- | --- | +| Date de création | | 10/09/2025 08:52:59 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 05/03/2026 19:13:48 | | | | +| Titre | | FR: Options d’affichage du rendez-vous | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Paramétrage de l’affichage des rendez-vous +| Position X | 0 Position Y | | 0 Largeur | 1199 Hauteur | 333 | +| ---------------- | ------------ | -------------------- | --------- | --------------- | ---- | +| 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 | | +| 06/08/2026 | | | Batik | | 2266 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations générales +| Redimensionnable | Avec grip | | Grip dans image | | +| --------------------- | -------------- | --- | --------------- | --- | +| Déplace/fond | Sauve position | | Ascenseur auto. | | +| Gestion grande police | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | Actif | | | | +| ------------------------------- | ----------------------------------- | --- | --- | --- | +| Curseur survol | 0 | | | | +| Copie d'écran | Oui | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | <Aucun> | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Oui | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Non | | | | +| 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. | Oui | | | | +| Grisé : Algo pour images | <Défaut> | | | | +| Style du menu | Windows 11 | | | | +| 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 | 32 | | | | +| Pos. Y Menu | 2 | | | | +| 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 | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +| 06/08/2026 | | Batik | | 2267 | +| ---------- | --- | ----- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | 5 | Libellé | | | 4 | +| --- | ---------------------- | --- | --- | ---------------- | --- | --- | --- | +| | Bouton | | 2 | Image | | | 12 | +| | Table | | 3 | Superchamp | | | 5 | +| | Champ Modèle de champs | | 25 | Colonne de table | | | 12 | +| | Case barre de message | | 1 | | | | | +Nombre d'éléments dans la fenêtre : 69 +FEN_Parametres_Visualisation_RDV +Informations sur les champs +Fenêtre : FEN_Parametres_Visualisation_RDV +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --- | --------------------- | ------- | ------- | ------------ | --------- | ---------- | +| | | | ruetuaH | | | cilc cevA | | +| | | | ruegraL | elbisiV | | | | +nalP +| IMG_RdvDescrp | | 979 90 | 214 172 | 0 | Actif | | | +| ------------- | --- | ------ | ------- | --- | ----- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_BordFen | | 0 | -29 1063 | 29 | 0 | Actif | | +| ------------------- | --- | ---- | -------- | --- | --- | ----- | ---- | +| CMOD_Bulle | | 735 | 3 240 | 265 | 0 | Actif | | +| CMOD_Descrp | | 484 | 3 240 | 265 | 0 | Actif | | +| CMOD_GranulariteRDV | | 0 | 4 229 | 265 | 0 | Actif | | +| CMOD_SansNom4 | | 1093 | 3 100 | 35 | 0 | Actif | | +| CMOD_SansNom5 | | 985 | 4 100 | 35 | 0 | Actif | | +| CMOD_TitreRDV | | 237 | 3 240 | 265 | 0 | Actif | | +| CMOD_VisiteGuide | | 1163 | 42 30 | 30 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 2268 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libellé | 91 | -27 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | --- | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 1031 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | ---- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_Bulle +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| SC_Div | | 739 | 8 | 231 | 254 | 0 | Actif | | +| ---------- | --- | --- | ----- | --- | --- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | | | 2269 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Superchamp : CMOD_Bulle.SC_Div +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_Bas | 936 | 131 30 | 30 | 0 | Actif | | +| ----------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_Haut | 936 | 96 30 | 30 | 0 | Actif | | +| CMOD_TBulle | 739 | 9 195 | 249 | 0 | Actif | | +Champ Modèle de champs : CMOD_Bulle.SC_Div.CMOD_Bas +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | ------- | --- | ------------ | --------- | ---------- | +| | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | 936 131 | 30 30 | 0 | Actif | | | +| --------- | ------- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Bulle.SC_Div.CMOD_Haut +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | --- | --- | ------------ | --- | ---------- | +cilc cevA +ruegraL ruetuaH +elbisiV +nalP +| IMG_Icone | 936 96 | 30 30 | 0 | Actif | | | +| --------- | ------ | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Bulle.SC_Div.CMOD_TBulle +| 06/08/2026 | | Batik | | | | 2270 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +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 | | | | | | | +| --- | --------------------- | ------- | --- | ------------ | -------- | --- | --- | --- | --- | --- | +| | | ruetuaH | | | sruocraP | | | | | | +ruegraL +elbisiV +| | | | nalP | elbaT | | | | | | | +| ---------- | ------ | ------- | ---- | ------------ | --- | --- | --- | --- | --- | --- | +| TABLE_Info | 741 11 | 189 243 | 0 | Actif Mémoir | | | | | | 3 | +Table : CMOD_Bulle.SC_Div.CMOD_TBulle.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +| | | | | ehcuag à eéxiF | | .zroh egardaC .trev egardaC | | | | | +| --- | --- | --- | ------------ | -------------- | --- | --------------------------- | --- | ----------- | ---------- | ----------- | +| | | | | elbaçalpéD | | | | eisias epyT | FTR tamroF | eisias cevA | +| | | | laitini tatE | | | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +| COL_Option | | 100 | Grisé | | Gauche | Centre | | Texte | | | +| ---------- | --- | --- | -------- | --- | ------ | ------ | ------- | ----- | --- | --- | +| COL_Sel | | 25 | Actif | | Centre | Centre | | | | | +| COL_Item | | 151 | affichag | | Gauche | Centre | | Texte | | | +| COL_PKID | | 880 | Grisé | | Droite | Centre | Numériq | | | | +Champ Modèle de champs : CMOD_Descrp +Superchamp +BAT ehcuoT +laitini tatE +| | | | X noitisoP | Y noitisoP | | | | | | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| SC_Div | | | 488 | 8 231 | | 254 | 0 | | Actif | | +| ------ | --- | --- | --- | ----- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_Descrp.SC_Div +| 06/08/2026 | | | | Batik | | | | | | 2271 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Bas | | 685 | 131 | 30 | 30 | 0 | Actif | | +| ---------- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_Haut | | 685 | 96 | 30 | 30 | 0 | Actif | | +| CMOD_TDesc | | 492 | 10 | 195 | 249 | 0 | Actif | | +Champ Modèle de champs : CMOD_Descrp.SC_Div.CMOD_Bas +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | | laitini tatE | | sucof cevA | +| --- | --- | --------------------- | --- | ------- | --- | ------------ | --------- | ---------- | +| | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 685 131 | 30 | 30 | 0 | Actif | | | +| --------- | --- | ------- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Descrp.SC_Div.CMOD_Haut +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | | | | | laitini tatE | | sucof cevA | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --------- | ---------- | +| | | X noitisoP Y noitisoP | | | | | | | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | | 685 96 | 30 | 30 | 0 | Actif | | | +| --------- | --- | ------ | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Descrp.SC_Div.CMOD_TDesc +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | --- | ------------------ | ------------------ | --- | +)(ertliFH resilitU +| | | | | | .gerne egacolB | ruesnecsa elluB | EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +| --- | --- | --- | --- | --- | -------------- | --------------- | -------------- | ----------------------------- | +| | | | | | | noitcelésitluM | edacsac eisiaS | | +BAT ehcuoT +laitini tatE +| | X noitisoP Y noitisoP | | | sruocraP | | | | | +| --- | --------------------- | --- | --- | -------- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +| | | nalP | | elbaT | | | | | +| ---------- | ------ | --------- | ----- | ------ | --- | --- | --- | ---- | +| TABLE_Info | 494 12 | 189 243 0 | Actif | Mémoir | | | | 3 | +| 06/08/2026 | | | Batik | | | | | 2272 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Table : CMOD_Descrp.SC_Div.CMOD_TDesc.TABLE_Info +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_Option | 100 | Grisé | | Gauche Centre | Texte | | | +| COL_Sel | 25 | Actif | | Centre Centre | | | | +| COL_Item | 151 | affichag | | Gauche Centre | Texte | | | +Numériq +| COL_PKID | 880 | Grisé | | Droite Centre | | | | +| -------- | --- | ----- | --- | ------------- | --- | --- | --- | +Champ Modèle de champs : CMOD_GranulariteRDV +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_Div | | 4 | 9 220 | 254 | 0 | Actif | | +| ------ | --- | --- | ----- | --- | --- | ----- | --- | +Superchamp : CMOD_GranulariteRDV.SC_Div +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_DebutO | | 5 | 192 105 | 53 | 0 | Actif | | +| ------------- | --- | --- | ------- | --- | --- | ----- | ---- | +| CMOD_DebutV | | 5 | 114 105 | 53 | 0 | Actif | | +| CMOD_FinO | | 118 | 192 105 | 53 | 0 | Actif | | +| CMOD_FinV | | 118 | 114 105 | 53 | 0 | Actif | | +| CMOD_HeuresO | | 4 | 166 219 | 26 | 0 | Actif | | +| CMOD_HeuresV | | 4 | 88 218 | 26 | 0 | Actif | | +| CMOD_Minutes | | 5 | 35 111 | 53 | 0 | Actif | | +| CMOD_SansNom2 | | 4 | 10 218 | 26 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 2273 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_GranulariteRDV.SC_Div.CMOD_DebutO +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_Texte | 5 192 105 | 53 0 | Actif Heure | Non | | | +| --------- | --------- | ---- | ----------- | --- | --- | --- | +Champ Modèle de champs : CMOD_GranulariteRDV.SC_Div.CMOD_DebutV +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_Texte | 5 114 105 | 53 0 | Actif Heure | Non | | | +| --------- | --------- | ---- | ----------- | --- | --- | --- | +Champ Modèle de champs : CMOD_GranulariteRDV.SC_Div.CMOD_FinO +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_Texte | 118 192 105 | 53 0 | Actif Heure | Non | | | +| ---------- | ----------- | ---- | ----------- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | 2274 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_GranulariteRDV.SC_Div.CMOD_FinV +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_Texte | 118 114 | 105 53 | 0 Actif | Heure | | Non | | | +| --------- | ------- | ------ | ------- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_GranulariteRDV.SC_Div.CMOD_HeuresO +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 4 166 | 219 | 26 | 0 | Actif Gauche | Centre | | +| ------- | --- | ----- | --- | --- | --- | ------------ | ------ | --- | +Champ Modèle de champs : CMOD_GranulariteRDV.SC_Div.CMOD_HeuresV +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | ---------- | +| | | | | | | laitini tatE | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 4 88 | 218 | 26 | 0 | Actif Gauche | Centre | | +| ---------- | --- | ---- | --- | ----- | --- | ------------ | ------ | ---- | +| 06/08/2026 | | | | Batik | | | | 2275 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_GranulariteRDV.SC_Div.CMOD_Minutes +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_Texte | 5 35 | 111 53 | 0 | Actif | Numéri | Non | | | | +| --------- | ---- | ------ | --- | ----- | ------ | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_GranulariteRDV.SC_Div.CMOD_SansNom2 +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 4 10 | 218 | 26 | 0 | Actif | Gauche | Centre | | +| ------- | --- | ---- | --- | --- | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_SansNom4 +Bouton +| | | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | ----------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Valider | | 1093 | 3 | 100 | 35 | 0 | Actif | | Normal | +| ----------- | --- | ---- | --- | --- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : CMOD_SansNom5 +| 06/08/2026 | | | | Batik | | | | | 2276 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Bouton +notuob epyT +| | | | | | laitini tatE | BAT ehcuoT | | +| --- | --- | --- | --- | --- | ------------ | ---------- | --- | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| BTN_Annuler | 985 4 | 100 | 35 | 0 | Actif | Normal | | +| ----------- | ----- | --- | --- | --- | ----- | ------ | --- | +Champ Modèle de champs : CMOD_TitreRDV +Superchamp +BAT ehcuoT +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | +| --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_Div | 241 | 8 | 231 | 254 | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_TitreRDV.SC_Div +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | | | | | laitini tatE | | +| --- | ---------- | --- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| CMOD_Bas | 438 | 131 | 30 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_Haut | 438 | 96 | 30 | 30 | 0 | Actif | | +| CMOD_TTitre | 243 | 11 | 195 | 249 | 0 | Actif | | +Champ Modèle de champs : CMOD_TitreRDV.SC_Div.CMOD_Bas +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | | sucof cevA | +| --- | --- | --- | --- | --- | ------------ | --- | ---------- | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | cilc cevA | | +| --- | --- | ------- | ------- | --- | --- | --------- | --- | +elbisiV +nalP +| IMG_Icone | 438 131 | 30 | 30 | 0 | Actif | | | +| ---------- | ------- | ----- | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | | 2277 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_TitreRDV.SC_Div.CMOD_Haut +Image +| | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | --- | --------------------- | ------- | --- | --- | ------------ | --------------------- | ----------------- | +| | | X noitisoP Y noitisoP | | | | laitini tatE | | sucof cevA | +| | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 438 96 | 30 30 | | 0 | Actif | | | +| --------- | --- | ------ | ----- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_TitreRDV.SC_Div.CMOD_TTitre +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 | | | | | | +| --- | --------------------- | --- | ------------ | --- | --- | --- | --- | --- | +sruocraP +ruegraL ruetuaH +elbisiV +| | | nalP | elbaT | | | | | | +| ---------- | ------ | --------- | ------------ | --- | --- | --- | --- | --- | +| TABLE_Info | 245 13 | 189 243 0 | Actif Mémoir | | | | | 3 | +Table : CMOD_TitreRDV.SC_Div.CMOD_TTitre.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +| | | | ehcuag à eéxiF | | .zroh egardaC | | | | +| --- | --- | --- | -------------- | --- | ------------- | --- | --- | --- | +.trev egardaC +| | | | elbaçalpéD | | | | eisias epyT FTR tamroF | eisias cevA | +| --- | --- | ------------ | ---------- | --- | --- | --- | ---------------------- | ----------- | +| | | laitini tatE | | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +| COL_Option | | 100 Grisé | | Gauche | Centre | | Texte | | +| ---------- | --- | ------------ | ----- | ------ | ------ | ------- | ----- | ---- | +| COL_Sel | | 25 Actif | | Centre | Centre | | | | +| COL_Item | | 151 affichag | | Gauche | Centre | | Texte | | +| COL_PKID | | 880 Grisé | | Droite | Centre | Numériq | | | +| 06/08/2026 | | | Batik | | | | | 2278 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_VisiteGuide +Image +06/08/2026 Batik 2279 +X +noitisoP +Y +noitisoP ruegraL ruetuaH +nalP +elbisiV +laitini +tatE +cilc +cevA +cilc +ruop +eriatiroirP +tuaféd +rap +eéminA +sucof +cevA +IMG_Icone 1163 42 30 30 0 Actif +Fenêtre : FEN_Parametres_Visualisation_RDV +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Bulle +Groupe GR_Modif +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite, largeur et hauteur +Taux anc. droite 600 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Descrp +Groupe GR_Modif +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite, largeur et hauteur +Taux anc. droite 400 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +06/08/2026 Batik 2280 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_GranulariteRDV +Groupe GR_Modif +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom4 +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2281 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom5 +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_TitreRDV +Groupe GR_Modif +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite, largeur et hauteur +Taux anc. droite 200 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +06/08/2026 Batik 2282 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_VisiteGuide +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_RdvDescrp +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\RdvDescrp.PNG +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage 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 +06/08/2026 Batik 2283 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Ancrage Droite, largeur et hauteur +Taux anc. droite 800 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 2284 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +06/08/2026 Batik 2285 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 +06/08/2026 Batik 2286 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +06/08/2026 Batik 2287 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › 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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Bulle +Superchamp : CMOD_Bulle.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 229 +Hauteur externe 252 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2288 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Superchamp : CMOD_Bulle.SC_Div +Champ Modèle de champs : CMOD_Bulle.SC_Div.CMOD_Bas +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite et bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Bulle.SC_Div.CMOD_Haut +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite et bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2289 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Bulle.SC_Div.CMOD_TBulle +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Bulle.SC_Div.CMOD_Bas +Image : CMOD_Bulle.SC_Div.CMOD_Bas.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\bas_noire.svg +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> +06/08/2026 Batik 2290 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Mire visible Oui +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_Bulle.SC_Div.CMOD_Haut +Image : CMOD_Bulle.SC_Div.CMOD_Haut.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\haut_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 2291 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Bulle.SC_Div.CMOD_TBulle +Table : CMOD_Bulle.SC_Div.CMOD_TBulle.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 2292 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : CMOD_Bulle.SC_Div.CMOD_TBulle.TABLE_Info +Colonne de table : CMOD_Bulle.SC_Div.CMOD_TBulle.TABLE_Info.COL_Option (1) +Titre FR: Option +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 +06/08/2026 Batik 2293 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : CMOD_Bulle.SC_Div.CMOD_TBulle.TABLE_Info.COL_Sel (2) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +06/08/2026 Batik 2294 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Colonne de table : CMOD_Bulle.SC_Div.CMOD_TBulle.TABLE_Info.COL_Item (3) +Titre FR: Bulle 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 : CMOD_Bulle.SC_Div.CMOD_TBulle.TABLE_Info.COL_PKID (4) +Titre FR: PKID +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 +06/08/2026 Batik 2295 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › 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 +Champ Modèle de champs : CMOD_Descrp +Superchamp : CMOD_Descrp.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 229 +Hauteur externe 252 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2296 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Superchamp : CMOD_Descrp.SC_Div +Champ Modèle de champs : CMOD_Descrp.SC_Div.CMOD_Bas +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite et bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Descrp.SC_Div.CMOD_Haut +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite et bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2297 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_Descrp.SC_Div.CMOD_TDesc +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Descrp.SC_Div.CMOD_Bas +Image : CMOD_Descrp.SC_Div.CMOD_Bas.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\bas_noire.svg +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> +06/08/2026 Batik 2298 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Mire visible Oui +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_Descrp.SC_Div.CMOD_Haut +Image : CMOD_Descrp.SC_Div.CMOD_Haut.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\haut_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 2299 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Descrp.SC_Div.CMOD_TDesc +Table : CMOD_Descrp.SC_Div.CMOD_TDesc.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 2300 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : CMOD_Descrp.SC_Div.CMOD_TDesc.TABLE_Info +Colonne de table : CMOD_Descrp.SC_Div.CMOD_TDesc.TABLE_Info.COL_Option (1) +Titre FR: Option +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 +06/08/2026 Batik 2301 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : CMOD_Descrp.SC_Div.CMOD_TDesc.TABLE_Info.COL_Sel (2) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +06/08/2026 Batik 2302 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Colonne de table : CMOD_Descrp.SC_Div.CMOD_TDesc.TABLE_Info.COL_Item (3) +Titre FR: Description 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 : CMOD_Descrp.SC_Div.CMOD_TDesc.TABLE_Info.COL_PKID (4) +Titre FR: PKID +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 +06/08/2026 Batik 2303 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › 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 +Champ Modèle de champs : CMOD_GranulariteRDV +Superchamp : CMOD_GranulariteRDV.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 218 +Hauteur externe 252 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2304 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Superchamp : CMOD_GranulariteRDV.SC_Div +Champ Modèle de champs : CMOD_GranulariteRDV.SC_Div.CMOD_DebutO +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_GranulariteRDV.SC_Div.CMOD_DebutV +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Batik 2305 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_GranulariteRDV.SC_Div.CMOD_FinO +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_GranulariteRDV.SC_Div.CMOD_FinV +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Batik 2306 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_GranulariteRDV.SC_Div.CMOD_HeuresO +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_GranulariteRDV.SC_Div.CMOD_HeuresV +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2307 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_GranulariteRDV.SC_Div.CMOD_Minutes +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_GranulariteRDV.SC_Div.CMOD_SansNom2 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2308 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_GranulariteRDV.SC_Div.CMOD_DebutO +Champ de saisie : CMOD_GranulariteRDV.SC_Div.CMOD_DebutO.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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. Droite +Position X interne 5 +Largeur interne 105 +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 +Format retour HHMM +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 +06/08/2026 Batik 2309 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_GranulariteRDV.SC_Div.CMOD_DebutV +Champ de saisie : CMOD_GranulariteRDV.SC_Div.CMOD_DebutV.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +06/08/2026 Batik 2310 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +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 5 +Largeur interne 105 +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 +Format retour HHMM +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 +06/08/2026 Batik 2311 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_GranulariteRDV.SC_Div.CMOD_FinO +Champ de saisie : CMOD_GranulariteRDV.SC_Div.CMOD_FinO.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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. Droite +Position X interne 118 +Largeur interne 105 +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 +06/08/2026 Batik 2312 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: HH:MM +Format retour HHMM +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2313 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_GranulariteRDV.SC_Div.CMOD_FinV +Champ de saisie : CMOD_GranulariteRDV.SC_Div.CMOD_FinV.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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. Droite +Position X interne 118 +Largeur interne 105 +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 +Format retour HHMM +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 +06/08/2026 Batik 2314 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_GranulariteRDV.SC_Div.CMOD_HeuresO +Libellé : CMOD_GranulariteRDV.SC_Div.CMOD_HeuresO.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Batik 2315 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_GranulariteRDV.SC_Div.CMOD_HeuresV +Libellé : CMOD_GranulariteRDV.SC_Div.CMOD_HeuresV.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +06/08/2026 Batik 2316 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_GranulariteRDV.SC_Div.CMOD_Minutes +Champ de saisie : CMOD_GranulariteRDV.SC_Div.CMOD_Minutes.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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. Droite +Position X interne 5 +Largeur interne 111 +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 +06/08/2026 Batik 2317 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Taille de saisie 0 +Masque saisie FR: 9 999 999 999 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2318 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_GranulariteRDV.SC_Div.CMOD_SansNom2 +Libellé : CMOD_GranulariteRDV.SC_Div.CMOD_SansNom2.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2319 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom4 +Bouton : CMOD_SansNom4.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2320 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom5 +Bouton : CMOD_SansNom5.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2321 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_TitreRDV +Superchamp : CMOD_TitreRDV.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 229 +Hauteur externe 252 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_TitreRDV.SC_Div +Champ Modèle de champs : CMOD_TitreRDV.SC_Div.CMOD_Bas +Groupe GR_BtnOrdre +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Batik 2322 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite et bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_TitreRDV.SC_Div.CMOD_Haut +Groupe GR_BtnOrdre +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite et bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_TitreRDV.SC_Div.CMOD_TTitre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +06/08/2026 Batik 2323 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_TitreRDV.SC_Div.CMOD_Bas +Image : CMOD_TitreRDV.SC_Div.CMOD_Bas.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\bas_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 2324 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_TitreRDV.SC_Div.CMOD_Haut +Image : CMOD_TitreRDV.SC_Div.CMOD_Haut.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\haut_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 2325 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Champ Modèle de champs : CMOD_TitreRDV.SC_Div.CMOD_TTitre +Table : CMOD_TitreRDV.SC_Div.CMOD_TTitre.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 2326 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +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 : CMOD_TitreRDV.SC_Div.CMOD_TTitre.TABLE_Info +Colonne de table : CMOD_TitreRDV.SC_Div.CMOD_TTitre.TABLE_Info.COL_Option (1) +Titre FR: Option +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 +06/08/2026 Batik 2327 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › 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 : CMOD_TitreRDV.SC_Div.CMOD_TTitre.TABLE_Info.COL_Sel (2) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +06/08/2026 Batik 2328 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Colonne de table : CMOD_TitreRDV.SC_Div.CMOD_TTitre.TABLE_Info.COL_Item (3) +Titre FR: Titre 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 : CMOD_TitreRDV.SC_Div.CMOD_TTitre.TABLE_Info.COL_PKID (4) +Titre FR: PKID +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 +06/08/2026 Batik 2329 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › 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 +Champ Modèle de champs : CMOD_VisiteGuide +Image : CMOD_VisiteGuide.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\VisiteGuide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 2330 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Parametres_Visualisation_RDV +Code +Déclarations globales de FEN_Parametres_Visualisation_RDV +procédure FEN_Parametres_Visualisation_RDV() +stPrefUserAGD est un ST_ChoixAGD +nGranulariteRDV est un entier = CollaborateurEnCours:clUtilisateur:GranulariteRDV() +hHDO,hHFO sont des Heures +hHDV,hHFV sont des Heures +(hHDO,hHFO) = CollaborateurEnCours:clUtilisateur:HeuresOuvrablesRDV() +(hHDV,hHFV) = CollaborateurEnCours:clUtilisateur:HeuresVisiblesRDV() +bModif est un booléen = Faux +Fin d'initialisation de FEN_Parametres_Visualisation_RDV +Filtrer() +Fermeture de FEN_Parametres_Visualisation_RDV +renvoyer bModif +FEN_Parametres_Visualisation_RDV +Code des champs +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2331 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Bulle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Bulle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Bulle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Bulle +06/08/2026 Batik 2332 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Bulle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Bulle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Bulle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Bas +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2333 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Bas ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Bas ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +DescendreTB(CMOD_TBulle.TABLE_Info..NomComplet) +A chaque modification de IMG_Icone ( CMOD_Bas ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Bas ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Bas ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Bas ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2334 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +ExécuteAncêtre +Fin d'initialisation de CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Haut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Haut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +MonterTB(CMOD_TBulle.TABLE_Info..NomComplet) +A chaque modification de IMG_Icone ( CMOD_Haut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Haut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Haut ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2335 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Haut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_TBulle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TBulle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TBulle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TBulle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TBulle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TBulle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TBulle +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +06/08/2026 Batik 2336 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Descrp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Descrp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Descrp +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2337 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +ExécuteAncêtre +Sortie de CMOD_Descrp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Descrp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Descrp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Descrp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Bas +06/08/2026 Batik 2338 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Bas ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Bas ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +DescendreTB(CMOD_TDesc.TABLE_Info..NomComplet) +A chaque modification de IMG_Icone ( CMOD_Bas ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Bas ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Bas ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Bas ) +06/08/2026 Batik 2339 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Haut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Haut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +MonterTB(CMOD_TDesc.TABLE_Info..NomComplet) +A chaque modification de IMG_Icone ( CMOD_Haut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Haut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Haut ) +06/08/2026 Batik 2340 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Haut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_TDesc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TDesc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TDesc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TDesc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TDesc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TDesc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TDesc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2341 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_GranulariteRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_GranulariteRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_GranulariteRDV +06/08/2026 Batik 2342 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_GranulariteRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_GranulariteRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_GranulariteRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_GranulariteRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2343 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +ExécuteAncêtre +Déclarations globales de CMOD_DebutO +salib = "Début" +Fin d'initialisation de CMOD_DebutO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DebutO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DebutO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DebutO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DebutO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DebutO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DebutO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_DebutO ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_DebutO ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_DebutO ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_DebutO ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_DebutO ) +06/08/2026 Batik 2344 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_DebutV +salib = "Début" +Fin d'initialisation de CMOD_DebutV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DebutV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DebutV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DebutV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DebutV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DebutV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DebutV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_DebutV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_DebutV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_DebutV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_DebutV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_DebutV ) +06/08/2026 Batik 2345 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_FinO +salib = "Fin" +Fin d'initialisation de CMOD_FinO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_FinO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_FinO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_FinO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_FinO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_FinO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_FinO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_FinO ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_FinO ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_FinO ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_FinO ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_FinO ) +06/08/2026 Batik 2346 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_FinV +salib = "Fin" +Fin d'initialisation de CMOD_FinV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_FinV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_FinV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_FinV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_FinV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_FinV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_FinV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_FinV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_FinV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_FinV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_FinV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_FinV ) +06/08/2026 Batik 2347 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_HeuresO +salib = "Heures ouvrables" +Fin d'initialisation de CMOD_HeuresO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_HeuresO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_HeuresO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_HeuresO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_HeuresO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_HeuresO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_HeuresO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_HeuresO ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_HeuresO ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_HeuresV +salib = "Heures visibles" +Fin d'initialisation de CMOD_HeuresV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_HeuresV +06/08/2026 Batik 2348 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_HeuresV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_HeuresV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_HeuresV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_HeuresV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_HeuresV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_HeuresV ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_HeuresV ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Minutes +salib = "En minute(s)" +Fin d'initialisation de CMOD_Minutes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Minutes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Minutes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Minutes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Minutes +06/08/2026 Batik 2349 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Minutes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Minutes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Minutes ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Minutes ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Minutes ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Minutes ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Minutes ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SansNom2 +salib = "Granularité Rendez-vous" +Fin d'initialisation de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom2 +06/08/2026 Batik 2350 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_SansNom2 ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_SansNom2 ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_SansNom4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_SansNom4 ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2351 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_SansNom4 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +bModif = Vrai +Ferme() +fin +Fin d'initialisation de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_SansNom5 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_SansNom5 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +bModif = Faux +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_SansNom5 ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2352 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +ExécuteAncêtre +Fin d'initialisation de CMOD_TitreRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TitreRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TitreRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TitreRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TitreRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TitreRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TitreRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +06/08/2026 Batik 2353 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Bas +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Bas ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Bas ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +DescendreTB(CMOD_TTitre.TABLE_Info..NomComplet) +A chaque modification de IMG_Icone ( CMOD_Bas ) +06/08/2026 Batik 2354 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Bas ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Bas ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Bas ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Haut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Haut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Haut ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2355 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +ExécuteAncêtre +MonterTB(CMOD_TTitre.TABLE_Info..NomComplet) +A chaque modification de IMG_Icone ( CMOD_Haut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Haut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Haut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Haut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_TTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2356 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +06/08/2026 Batik 2357 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_VisiteGuide +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitVisiteParamAGD() +A chaque modification de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_VisiteGuide ) +06/08/2026 Batik 2358 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_VisiteGuide ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +FEN_Parametres_Visualisation_RDV +Procédures +Procédure locale DescendreTB +procédure DescendreTB(sNomTable est une chaîne ANSI) +k est un entier = {sNomTable} +si k > 0 alors +TableDéplaceLigne(sNomTable, k, tdSuivant, tdEchange) +fin +Procédure locale Enregistrer +procédure Enregistrer() +si CMOD_GranulariteRDV.SC_Div.CMOD_Minutes.SAI_Texte <> nGranulariteRDV _et_ CMOD_GranulariteRDV.SC_Div +.CMOD_Minutes.SAI_Texte > 0 alors +stPrefUserAGD.nGranulariteRDV = CMOD_GranulariteRDV.SC_Div.CMOD_Minutes.SAI_Texte +fin +si hHDO <> CMOD_DebutO.SAI_Texte _et_ CMOD_DebutO.SAI_Texte <> "" alors +stPrefUserAGD.saHeureOuvrableDb = CMOD_DebutO.SAI_Texte +fin +si hHFO <> CMOD_FinO.SAI_Texte _et_ CMOD_FinO.SAI_Texte <> "" alors +stPrefUserAGD.saHeureOuvrableFin= CMOD_FinO.SAI_Texte +fin +si hHDV <> CMOD_DebutV.SAI_Texte _et_ CMOD_DebutV.SAI_Texte <> "" alors +stPrefUserAGD.saHeureVisibleDb= CMOD_DebutV.SAI_Texte +fin +si hHFV <> CMOD_FinV.SAI_Texte _et_ CMOD_FinV.SAI_Texte <> "" alors +stPrefUserAGD.saHeureVisibleFin = CMOD_FinV.SAI_Texte +fin +bufResulBuf est un Buffer +EnregistrerChoixTB(CMOD_TitreRDV.SC_Div.CMOD_TTitre.TABLE_Info..NomComplet, stPrefUserAGD.tabTitreRDV) +EnregistrerChoixTB(CMOD_Descrp.SC_Div.CMOD_TDesc.TABLE_Info..NomComplet, stPrefUserAGD.tabDescrRDV) +EnregistrerChoixTB(CMOD_Bulle.SC_Div.CMOD_TBulle.TABLE_Info..NomComplet, stPrefUserAGD.tabBulleRDV) +// Remettre les Id dans l'ordre afin d’éviter d'avoir de doubler qui peuvent causer problèmes +pour tout stListe, saCle de stPrefUserAGD.tabListe +stListe.nId = Val(saCle) +fin +Sérialise(stPrefUserAGD,bufResulBuf,psdJSON) +06/08/2026 Batik 2359 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Procédures +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,[MParametreUtilisateur:: +cCHOIX_ListeAGD,CollaborateurEnCours:nIdUser]) +si HTrouve(ParametreUtilisateur) alors +ParametreUtilisateur.PU_Valeur = bufResulBuf +sinon +HRAZ(ParametreUtilisateur) +ParametreUtilisateur.PU_IDUtilisateur = CollaborateurEnCours:nIdUser +ParametreUtilisateur.PU_Code = MParametreUtilisateur::cCHOIX_ListeAGD +ParametreUtilisateur.PU_Valeur = bufResulBuf +fin +si HEnregistre(ParametreUtilisateur) alors +oParam est un MParametreUtilisateur +FichierVersMémoire(oParam,ParametreUtilisateur) +CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_ListeAGD] = oParam +CollaborateurEnCours:clUtilisateur:stParametresAGD = stPrefUserAGD +renvoyer Vrai +sinon +UneErreur.Init(ErreurApp.ErreurHFSQL,"Erreur pendant l’enregistrement de la préférence agenda", +"FEN_Parametres_Visualisation_RDV.Enregistrer") +renvoyer Faux +fin +Procédure locale EnregistrerChoixTB +procédure EnregistrerChoixTB(sNomTable est une chaîne ANSI, tabChoix est un tableau de STItemChoixRDV) +TableauSupprimeTout(tabChoix) +pstChoixest un STItemChoixRDV dynamique +i est un entier +pour toute ligne b de {sNomTable} +si {sNomTable+"["+b+"].COL_Sel"} = Vrai alors +i+= 1 +pstChoix = allouer un STItemChoixRDV +pstChoix.nOrdre = i +pstChoix.saOption= {sNomTable+"["+b+"].COL_Option"} +TableauAjoute(tabChoix,pstChoix) +fin +fin +Procédure locale Filtrer +procédure Filtrer() +stPrefUserAGD = CollaborateurEnCours:clUtilisateur:stParametresAGD +FiltrerTB(CMOD_TitreRDV.SC_Div.CMOD_TTitre.TABLE_Info..NomComplet,stPrefUserAGD.tabTitreRDV) +FiltrerTB(CMOD_Descrp.SC_Div.CMOD_TDesc.TABLE_Info..NomComplet,stPrefUserAGD.tabDescrRDV) +FiltrerTB(CMOD_Bulle.SC_Div.CMOD_TBulle.TABLE_Info..NomComplet,stPrefUserAGD.tabBulleRDV) +TableSelectMoins(CMOD_TitreRDV.SC_Div.CMOD_TTitre.TABLE_Info) +TableSelectMoins(CMOD_Descrp.SC_Div.CMOD_TDesc.TABLE_Info) +TableSelectMoins(CMOD_Bulle.SC_Div.CMOD_TBulle.TABLE_Info) +CMOD_Minutes.SAI_Texte = stPrefUserAGD.nGranulariteRDV +CMOD_DebutO.SAI_Texte = stPrefUserAGD.saHeureOuvrableDb +CMOD_DebutV.SAI_Texte = stPrefUserAGD.saHeureVisibleDb +CMOD_FinO.SAI_Texte = stPrefUserAGD.saHeureOuvrableFin +CMOD_FinV.SAI_Texte = stPrefUserAGD.saHeureVisibleFin +Procédure locale FiltrerTB +06/08/2026 Batik 2360 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Visualisation_RDV › Procédures +procédure FiltrerTB(saChamp est une chaîne ANSI,tabChoix est un tableau de STItemChoixRDV) +TableSupprimeTout(saChamp) +i est un entier +i+= 1 +TableAjouteLigne(saChamp,cAGD_HRDV,Faux,"Heure",i) +i+= 1 +TableAjouteLigne(saChamp,cAGD_NDevis,Faux,"Numéro de devis",i) +i+= 1 +TableAjouteLigne(saChamp,cAGD_NInter,Faux,"Numéro d'intervention",i) +i+= 1 +TableAjouteLigne(saChamp,cAGD_RefExtInter,Faux,"Référence externe",i) +i+= 1 +TableAjouteLigne(saChamp,cAGD_TypeRDV,Faux,"Type de rendez-vous",i) +i+= 1 +TableAjouteLigne(saChamp,cAGD_SiteNom,Faux,"Nom du site",i) +i+= 1 +TableAjouteLigne(saChamp,cAGD_Site,Faux,"Adresse",i) +i+= 1 +TableAjouteLigne(saChamp,cAGD_Contact,Faux,"Contact du rendez-vous",i) +i+= 1 +TableAjouteLigne(saChamp,cAGD_Obj,Faux,"Objet du rendez-vous",i) +i+= 1 +TableAjouteLigne(saChamp,cAGD_Note,Faux,"Note du rendez-vous",i) +// Mettre à jour la table avec le choix de l'utilisateur +TableauTrie(tabChoix,ttMembre+tccRespecteNumérique,"+nOrdre") +pour tout stChoix de tabChoix +npos est un entier = TableCherche(saChamp+".COL_Option", stChoix.saOption, rechercheIdentique) +si npos > 0 alors +{saChamp+"["+npos+"].COL_Sel"} = Vrai +{saChamp+"["+npos+"].COL_PKID"} = stChoix.nOrdre +si npos <> stChoix.nOrdre alors +TableDéplaceLigne(saChamp,npos,stChoix.nOrdre,tdEchange) +fin +fin +fin +Procédure locale MonterTB +procédure MonterTB(sNomTable est une chaîne ANSI) +k est un entier = {sNomTable} +si k > 0 alors +TableDéplaceLigne(sNomTable, k, tdPrécédent, tdEchange) +fin +06/08/2026 Batik 2361 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Image +FEN_Parametre_Liste_Colb_AGD +Image +FEN_Parametre_Liste_Colb_AGD +Informations générales +FEN_Parametre_Liste_Colb_AGD +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Parametre_Liste_Colb_AGD.wdw +Créé par SMR +06/08/2026 Batik 2362 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations générales +| Date de création | | 10/09/2025 11:49:37 | | | | +| -------------------------- | --- | -------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 20/03/2026 17:37:42 | | | | +Titre FR: Modification des listes de collaborateurs dans le planning +| Type fenêtre | | Fenêtre libre | | | | +| ------------------------ | --- | ----------------------------- | --- | --- | --- | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Paramétrage de la liste des collaborateurs dans l’agenda / planning +| Position X | 0 Position Y | | 0 Largeur | 1199 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 2363 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations générales +| 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 | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 6 | Bouton | | 2 | +| --- | ------------------------- | --- | --- | ---------------- | --- | --- | +| | Image | | 19 | Table | | 2 | +| | Arbre | | 1 | Superchamp | | 3 | +| | Champ Modèle de champs | | 20 | Colonne de table | | 11 | +| | Case barre de message | | 1 | Bouton segmenté | | 1 | +| | Option de bouton segmenté | | 2 | | | | +Nombre d'éléments dans la fenêtre : 68 +FEN_Parametre_Liste_Colb_AGD +Informations sur les champs +Fenêtre : FEN_Parametre_Liste_Colb_AGD +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | laitini tatE | sucof cevA | +| --- | --- | --------------------- | --- | --- | ------------ | ---------- | +ruetuaH cilc cevA +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| IMG_Advertencia | | -179 22 | 37 31 | 0 | Actif | | +| ------------------ | --- | --------- | ----- | --- | ----- | ---- | +| IMG_Cercle_couleur | | -189 18 | 28 27 | 0 | Actif | | +| IMG_Equipe | | -138 -77 | 38 43 | 0 | Actif | | +| IMG_Femme | | -171 -18 | 35 29 | 0 | Actif | | +| IMG_Homme | | -130 -27 | 32 42 | 0 | Actif | | +| IMG_Societe | | -139 -111 | 27 25 | 0 | Actif | | +| IMG_Tous | | -139 21 | 46 38 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | 2364 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | --- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Annuler | | 898 | | 6 | 141 | 35 | 0 | Actif | | +| ------------- | --- | ---- | --- | --- | ---- | --- | --- | ----- | --- | +| CMOD_BordFen | | | 0 | -29 | 1063 | 29 | 0 | Actif | | +| CMOD_Listes | | | 0 | 1 | 241 | 645 | 0 | Actif | | +| CMOD_SansNom5 | | 856 | | 8 | 30 | 30 | 0 | Actif | | +| CMOD_SelColb | | 249 | | 44 | 948 | 602 | 0 | Actif | | +| CMOD_Valider | | 1051 | | 6 | 141 | 35 | 0 | Actif | | +Champ Modèle de champs : CMOD_Annuler +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | | Y noitisoP | | | | laitini tatE | | | +| --- | ---------- | --- | ---------- | ------- | ------- | --- | ------------ | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Annuler | | 898 | 6 | 141 | 35 | 0 | Actif | | Normal | +| ----------- | --- | --- | --- | --- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : CMOD_BordFen +Superchamp +| | | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | ---------- | --- | ---------- | ------- | ------- | --- | ------------ | ---------- | +| | | X noitisoP | | Y noitisoP | | | | | | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_SansNom1 | | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libellé | 91 | -27 | 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | --- | --- | ----- | --- | ----- | ------ | ------ | ---- | +| 06/08/2026 | | | | Batik | | | | | 2365 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › 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_AideFenetre | 1031 -26 | 28 23 | 0 | Actif | | | +| -------------------------- | -------- | ----- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 -26 | 28 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 -27 | 34 26 | 0 | Actif | | | +| IMG_SombreClair | 38 -26 | 21 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_Listes +Superchamp +| | | | | | laitini tatE | BAT ehcuoT | +| --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | +| | X noitisoP | Y noitisoP | | | | | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_Div | 4 | 6 232 | 634 | 0 | Actif | | +| ------ | --- | ----- | --- | --- | ----- | --- | +Superchamp : CMOD_Listes.SC_Div +Champ Modèle de champs +BAT ehcuoT +laitini tatE +| | X noitisoP | Y noitisoP | | | | | +| --- | ---------- | ---------- | ------- | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_AjouterListe | 203 | 11 30 | 30 | 0 | Actif | | +| ------------------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_LibListe1 | 7 | 11 158 | 26 | 0 | Actif | | +| CMOD_SupprimerListe | 165 | 11 30 | 30 | 0 | Actif | | +| CMOD_TListes | 5 | 42 228 | 596 | 0 | Actif | | +Champ Modèle de champs : CMOD_Listes.SC_Div.CMOD_AjouterListe +| 06/08/2026 | | Batik | | | | 2366 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › 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_Icone | | 203 | 11 30 | 30 0 | Actif | | | +| --------- | --- | --- | ----- | ---- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Listes.SC_Div.CMOD_LibListe1 +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --- | --------------------- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | | 7 11 | 158 26 | 0 Actif | Gauche | Centre | | +| ------- | --- | ---- | ------ | ------- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Listes.SC_Div.CMOD_SupprimerListe +Image +| | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | --- | ---------- | ---------- | --- | ------------ | --------------------- | ----------------- | +| | | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +cilc cevA +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| IMG_Icone | | 165 | 11 30 | 30 0 | Actif | | | +| --------- | --- | --- | ----- | ---- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Listes.SC_Div.CMOD_TListes +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | | +| --- | --- | --- | --- | ------------------ | ------------------ | ------------------ | ----------------------------- | +| | | | | )(ertliFH resilitU | ruesnecsa elluB | | | +| | | | | .gerne egacolB | noitcelésitluM | EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +edacsac eisiaS +BAT ehcuoT +| | X noitisoP | | laitini tatE | | | | | +| --- | ---------- | --- | ------------ | -------- | --- | --- | --- | +| | Y noitisoP | | | sruocraP | | | | +ruegraL ruetuaH +elbisiV +| | | nalP | | elbaT | | | | +| ---------- | ---- | ------- | ------- | ------ | --- | --- | ---- | +| TABLE_Info | 7 44 | 222 590 | 0 Actif | Mémoir | | | 4 | +| 06/08/2026 | | | Batik | | | | 2367 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Table : CMOD_Listes.SC_Div.CMOD_TListes.TABLE_Info +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_PKID | 880 | Grisé | | Droite Centre | Numériq | | | +| COL_NumListe | 100 | Grisé | | Droite Centre | Numériq | | | +| COL_Defaut | 69 | Actif | | Centre Centre | | | | +| COL_Pref | 148 | Actif | | Gauche Centre | Texte | | | +Champ Modèle de champs : CMOD_SansNom5 +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | --------------- | --- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | +| | | | ruegraL ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | 856 | 8 | 30 30 | 0 | Actif | | | +| --------- | --- | --- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_SelColb +Superchamp +BAT ehcuoT +laitini tatE +| | | X noitisoP | Y noitisoP | | | | | +| --- | --- | ---------- | ---------- | ------- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_Div | | 253 | 49 939 | 591 | 0 | Actif | | +| ---------- | --- | --- | ------ | --- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | | 2368 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Superchamp : CMOD_SelColb.SC_Div +Arbre +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| ARBRE_Colb | 751 | 153 433 | 447 | 0 | Actif | | +| ---------- | --- | ------- | --- | --- | ----- | --- | +Champ Modèle de champs +| | | | | | laitini tatE | BAT ehcuoT | +| --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | +| | X noitisoP | Y noitisoP | | | | | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_ColbMoins | 697 | 309 30 | 30 | 0 | Actif | | +| --------------- | --- | ------- | --- | --- | ----- | --- | +| CMOD_ColbPLus | 697 | 271 30 | 30 | 0 | Actif | | +| CMOD_Equipe | 260 | 106 333 | 39 | 0 | Actif | | +| CMOD_LibColb | 751 | 123 433 | 26 | 0 | Actif | | +| CMOD_LibListe | 260 | 81 467 | 26 | 0 | Actif | | +| CMOD_LibListe1 | 260 | 55 467 | 26 | 0 | Actif | | +| CMOD_LigneMoins | 697 | 383 30 | 30 | 0 | Actif | | +| CMOD_LignePlus | 697 | 345 30 | 30 | 0 | Actif | | +| CMOD_SansNom1 | 260 | 608 929 | 26 | 0 | Actif | | +| CMOD_Sel | 260 | 147 433 | 453 | 0 | Actif | | +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_ColbMoins +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | ------- | --- | ------------ | --------- | ---------- | +| | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | 697 309 | 30 30 | 0 | Actif | | | +| ---------- | ------- | ----- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | 2369 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_ColbPLus +Image +| | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------------------------------------- | ---------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | 697 | 271 | 30 | 30 | 0 | Actif | | | +| --------- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_Equipe +Bouton segmenté +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BS_Choix | | 260 | 106 | 333 | 39 | 0 | Actif | | +| -------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_LibColb +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_lib | 751 | 123 433 | 26 | 0 | Actif | Gauche | Centre | | +| ------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_LibListe +| 06/08/2026 | | | Batik | | | | | 2370 | +| ---------- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › 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_lib | 260 81 | 467 26 | 0 Actif | Gauche | Centre | | +| ------- | ------ | ------ | ------- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_LibListe1 +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 260 55 | 467 26 | 0 Actif | Gauche | Centre | | +| ------- | ------ | ------ | ------- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_LigneMoins +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------------ | --------- | ---------- | +| | | ruegraL | ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | 697 | 383 30 | 30 0 | Actif | | | +| --------- | --- | ------ | ---- | ----- | --- | --- | +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_LignePlus +Image +| | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | ------- | ------------ | --------------------------------------- | ---------- | +| | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +| | | | ruetuaH | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | 697 | 345 30 | 30 0 | Actif | | | +| ---------- | --- | ------ | ---- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | 2371 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --- | --------------------- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 260 608 | 929 26 | 0 Actif | Centre | Centre | | +| ------- | --- | ------- | ------ | ------- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_Sel +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | | +| --- | --- | --- | --- | ------------------ | ------------------ | ------------------ | ----------------------------- | +| | | | | )(ertliFH resilitU | ruesnecsa elluB | EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +| | | | | .gerne egacolB | noitcelésitluM | edacsac eisiaS | | +BAT ehcuoT +| | X noitisoP Y noitisoP | | laitini tatE | | | | | +| --- | --------------------- | --------------- | ------------ | -------- | --- | --- | --- | +| | | ruegraL ruetuaH | | sruocraP | | | | +elbisiV +elbaT +nalP +| TABLE_Info | 262 149 | 427 447 | 0 Actif | Mémoir | | | 5 | +| ---------- | ------- | ------- | ------- | ------ | --- | --- | --- | +Table : CMOD_SelColb.SC_Div.CMOD_Sel.TABLE_Info +Image +| | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | --- | ---------- | ---------- | ------- | ------------ | --------------------- | ----------------- | +| | | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +| | | | | ruetuaH | | cilc cevA | | +| | | | ruegraL | elbisiV | | | | +nalP +| IMG_Couleur | | 589 | 192 47 | 29 0 | Actif | | | +| ----------- | --- | --- | ------ | ---- | ----- | --- | ---- | +| 06/08/2026 | | | Batik | | | | 2372 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | | elbairt ennoloC ehcrehcer cevA | | | | +| --- | --- | ------------ | -------------- | ---------- | ------------------------------ | ------------- | ---------------------- | ----------- | +| | | | ehcuag à eéxiF | | .zroh egardaC | .trev egardaC | | | +| | | laitini tatE | | elbaçalpéD | | | eisias epyT FTR tamroF | eisias cevA | +engilitluM +ruegraL +elbisiV +| | epyT | | | | | | | eéirT | +| --------------- | ---- | ------------ | --- | --- | ------ | ------ | ------- | ----- | +| COL_PKID | | 880 Grisé | | | Droite | Centre | Numériq | | +| COL_IdColb | | 100 affichag | | | Droite | Centre | Numériq | | +| COL_IdEq | | 100 affichag | | | Droite | Centre | Numériq | | +| COL_Ordre | | 100 affichag | | | Droite | Centre | Numériq | | +| COL_Nom | | 306 Actif | | | Gauche | Centre | Texte | | +| COL_Couleur | | 100 Actif | | | Gauche | Centre | | | +| COL_CouleurHTML | | 100 Grisé | | | Gauche | Centre | Texte | | +Champ Modèle de champs : CMOD_Valider +Bouton +notuob epyT +| | | | | | | | laitini tatE BAT ehcuoT | | +| --- | --- | --- | --- | --- | --- | --- | ----------------------- | --- | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| BTN_Valider | | 1051 | 6 | 141 | 35 0 | | Actif | Normal | +| ----------- | --- | ---- | --- | --- | ---- | --- | ----- | ------ | +Fenêtre : FEN_Parametre_Liste_Colb_AGD +Champ Modèle de champs : CMOD_Annuler +| Ordre navigation | | 3 | | | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| Curseur survol | | 0 | | | | | | | +| UI par l'utilisateur | | Selon fenêtre | | | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | | +| Taux Paral. Y | | 0 | | | | | | | +| Épinglé | | Non | | | | | | | +| Masquer lors du scrolling | | Non | | | | | | | +| Ancrage au contenu | | <Aucun> | | | | | | | +| Numéro aide | | 0 | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | | 0 | | | | | | | +| -------------------------- | ---- | ------ | --- | ---- | --- | ---- | --- | ---- | +| Facteur d'agrandissement | | 0 | | | | | | | +| Ancrage | | Droite | | | | | | | +| | 1000 | | | 1000 | | 1000 | | 1000 | +Taux anc. droite Taux anc. bas Taux anc. largeur Taux anc. hauteur +| 06/08/2026 | | | | Batik | | | | 2373 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Listes +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +06/08/2026 Batik 2374 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom5 +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SelColb +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite, largeur et hauteur +Taux anc. droite 200 Taux anc. bas 1000 Taux anc. largeur 800 Taux anc. hauteur 1000 +06/08/2026 Batik 2375 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Advertencia +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\actions.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 2376 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Cercle_couleur +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\circulo-de-color.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage 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 +Image : IMG_Equipe +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Equipe_noire.svg +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 +06/08/2026 Batik 2377 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +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 Oui +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 : IMG_Femme +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\femme.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage 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 Oui +Mode 9 images Non +Chargement en fond Non +06/08/2026 Batik 2378 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +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 : IMG_Homme +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\homme.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage 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 Oui +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 +06/08/2026 Batik 2379 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Image : IMG_Societe +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Société_noire.svg +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 Oui +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 : IMG_Tous +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\tous.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Ascenseur et zoom auto. Non +06/08/2026 Batik 2380 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +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 Oui +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 +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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) +06/08/2026 Batik 2381 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Type flèche <Aucun> +Texte Markdown Non +Mode menu ctx. <Aucun> +Nb. états image 1 +Nb. états fond 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2382 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 2383 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 2384 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 2385 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Listes +Superchamp : CMOD_Listes.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 230 +06/08/2026 Batik 2386 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Hauteur externe 632 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Listes.SC_Div +Champ Modèle de champs : CMOD_Listes.SC_Div.CMOD_AjouterListe +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2387 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Champ Modèle de champs : CMOD_Listes.SC_Div.CMOD_LibListe1 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Listes.SC_Div.CMOD_SupprimerListe +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2388 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Champ Modèle de champs : CMOD_Listes.SC_Div.CMOD_TListes +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Listes.SC_Div.CMOD_AjouterListe +Image : CMOD_Listes.SC_Div.CMOD_AjouterListe.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Plus_noire.svg +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> +06/08/2026 Batik 2389 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Mire visible Oui +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_Listes.SC_Div.CMOD_LibListe1 +Libellé : CMOD_Listes.SC_Div.CMOD_LibListe1.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 +06/08/2026 Batik 2390 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Listes.SC_Div.CMOD_SupprimerListe +Image : CMOD_Listes.SC_Div.CMOD_SupprimerListe.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\poubelle_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 2391 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Champ Modèle de champs : CMOD_Listes.SC_Div.CMOD_TListes +Table : CMOD_Listes.SC_Div.CMOD_TListes.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 2392 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +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 : CMOD_Listes.SC_Div.CMOD_TListes.TABLE_Info +Colonne de table : CMOD_Listes.SC_Div.CMOD_TListes.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 +06/08/2026 Batik 2393 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › 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 : CMOD_Listes.SC_Div.CMOD_TListes.TABLE_Info.COL_NumListe (2) +Titre FR: NumListe +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 +06/08/2026 Batik 2394 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Colonne de table : CMOD_Listes.SC_Div.CMOD_TListes.TABLE_Info.COL_Defaut (3) +Titre FR: Défaut +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 : CMOD_Listes.SC_Div.CMOD_TListes.TABLE_Info.COL_Pref (4) +Titre FR: Préférence +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> +06/08/2026 Batik 2395 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +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 +Champ Modèle de champs : CMOD_SansNom5 +Image : CMOD_SansNom5.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\VisiteGuide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 2396 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SelColb +Superchamp : CMOD_SelColb.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 937 +Hauteur externe 589 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2397 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Superchamp : CMOD_SelColb.SC_Div +Arbre : CMOD_SelColb.SC_Div.ARBRE_Colb +Libellé FR: &Arbre +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 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 1 +Marge à droite 4 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Multiligne Non +Trois états Oui +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 +Transparence Magenta transparent +Multisélection Non +Bulle ascenseur Oui +Avec saisie Non +Avec coche Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Remplissage différé Oui +Largeur image dossier -1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite, largeur et hauteur +Taux anc. droite 550 Taux anc. bas 1000 Taux anc. largeur 400 Taux anc. hauteur 1000 +06/08/2026 Batik 2398 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_ColbMoins +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_ColbPLus +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2399 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_Equipe +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 550 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_LibColb +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 550 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2400 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_LibListe +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_LibListe1 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2401 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_LigneMoins +Groupe GR_BtnOrdre +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_LignePlus +Groupe GR_BtnOrdre +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite et bas +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2402 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_SansNom1 +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_Sel +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite, largeur et hauteur +Taux anc. droite 0 Taux anc. bas 1000 Taux anc. largeur 400 Taux anc. hauteur 1000 +06/08/2026 Batik 2403 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_ColbMoins +Image : CMOD_SelColb.SC_Div.CMOD_ColbMoins.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\poubelle_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 2404 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_ColbPLus +Image : CMOD_SelColb.SC_Div.CMOD_ColbPLus.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\droite_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 2405 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_Equipe +Bouton segmenté : CMOD_SelColb.SC_Div.CMOD_Equipe.BS_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Ordre navigation 1 +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é) +Espace entre options 4 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit 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 +Valeur persistante Non +Mode bouton segmenté Sélecteur +Texte Markdown Non +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 +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_LibColb +06/08/2026 Batik 2406 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Libellé : CMOD_SelColb.SC_Div.CMOD_LibColb.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_LibListe +06/08/2026 Batik 2407 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Libellé : CMOD_SelColb.SC_Div.CMOD_LibListe.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_LibListe1 +06/08/2026 Batik 2408 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Libellé : CMOD_SelColb.SC_Div.CMOD_LibListe1.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_LigneMoins +06/08/2026 Batik 2409 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Image : CMOD_SelColb.SC_Div.CMOD_LigneMoins.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\bas_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_LignePlus +06/08/2026 Batik 2410 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Image : CMOD_SelColb.SC_Div.CMOD_LignePlus.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\haut_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_SansNom1 +06/08/2026 Batik 2411 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Libellé : CMOD_SelColb.SC_Div.CMOD_SansNom1.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SelColb.SC_Div.CMOD_Sel +06/08/2026 Batik 2412 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Table : CMOD_SelColb.SC_Div.CMOD_Sel.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 2413 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +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 : CMOD_SelColb.SC_Div.CMOD_Sel.TABLE_Info +Colonne de table : CMOD_SelColb.SC_Div.CMOD_Sel.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 +06/08/2026 Batik 2414 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +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 : CMOD_SelColb.SC_Div.CMOD_Sel.TABLE_Info.COL_IdColb (2) +Titre FR: IdColb +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 : CMOD_SelColb.SC_Div.CMOD_Sel.TABLE_Info.COL_IdEq (3) +Titre FR: IdEq +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 +06/08/2026 Batik 2415 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +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 : CMOD_SelColb.SC_Div.CMOD_Sel.TABLE_Info.COL_Ordre (4) +Titre FR: Ordre +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 +06/08/2026 Batik 2416 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Colonne de table : CMOD_SelColb.SC_Div.CMOD_Sel.TABLE_Info.COL_Nom (5) +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 : CMOD_SelColb.SC_Div.CMOD_Sel.TABLE_Info.COL_Couleur (6) +Titre FR: Couleur +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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> +06/08/2026 Batik 2417 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +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 +Image : CMOD_SelColb.SC_Div.CMOD_Sel.TABLE_Info.COL_Couleur.IMG_Couleur +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 +06/08/2026 Batik 2418 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +Colonne de table : CMOD_SelColb.SC_Div.CMOD_Sel.TABLE_Info.COL_CouleurHTML (7) +Titre FR: CouleurHTML +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 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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 +06/08/2026 Batik 2419 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Informations sur les champs +É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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Parametre_Liste_Colb_AGD +Code +Déclarations globales de FEN_Parametre_Liste_Colb_AGD +procédure FEN_Parametre_Liste_Colb_AGD() +gstPrefUserAGD est un ST_ChoixAGD +gnIdMad est un entier sur 8 octets = cCle_CiviliteMadame +gtaNomColb est un tableau associatif de chaînes ANSI +gtaCheminInfo est un tableau associatif de chaînes ANSI +gCouleurEq est une Couleur = RVB(255, 153, 102) +gUnCouleur est un Couleur +//CMOD_SelColb..Visible = Faux +gnLigneSel est un entier +gbModif est un booléen +constante +06/08/2026 Batik 2420 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Code +nType_Eq= 1 +nType_Colb = 2 +fin +Fin d'initialisation de FEN_Parametre_Liste_Colb_AGD +Filtrer() +FiltrerColbs() +Fermeture de FEN_Parametre_Liste_Colb_AGD +renvoyer gbModif +FEN_Parametre_Liste_Colb_AGD +Code des champs +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +06/08/2026 Batik 2421 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +gbModif = Faux +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +06/08/2026 Batik 2422 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Code des champs +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Listes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Listes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Listes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Listes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Listes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Listes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Listes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +06/08/2026 Batik 2423 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_AjouterListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_AjouterListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_AjouterListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_AjouterListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_AjouterListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_AjouterListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_AjouterListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_AjouterListe ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2424 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Code des champs +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_AjouterListe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +NouvelleListe() +A chaque modification de IMG_Icone ( CMOD_AjouterListe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_AjouterListe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_AjouterListe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_AjouterListe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_LibListe1 +salib = "Mes listes" +Fin d'initialisation de CMOD_LibListe1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibListe1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibListe1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibListe1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibListe1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibListe1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibListe1 +06/08/2026 Batik 2425 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_LibListe1 ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_LibListe1 ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_SupprimerListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SupprimerListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SupprimerListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SupprimerListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SupprimerListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SupprimerListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SupprimerListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_SupprimerListe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_SupprimerListe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SupprimerPref() +A chaque modification de IMG_Icone ( CMOD_SupprimerListe ) +06/08/2026 Batik 2426 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_SupprimerListe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_SupprimerListe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_SupprimerListe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_TListes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TListes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TListes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TListes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TListes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TListes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TListes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2427 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Code des champs +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +nPos est un entier = TableauCherche(gstPrefUserAGD.tabListe,tcLinéaire,"nID",COL_NumListe[CMOD_TListes. +TABLE_Info]) +si nPos > 0 alors +gstPrefUserAGD.tabListe[nPos].sNom = COL_Pref[CMOD_TListes.TABLE_Info] +SelListe(gstPrefUserAGD.tabListe[nPos].nId) +sinon +stPref est un STPrefAgdPl +stPref.nId = COL_NumListe[CMOD_TListes.TABLE_Info] +stPref.sNom = COL_Pref[CMOD_TListes.TABLE_Info] +TableauAjoute(gstPrefUserAGD.tabListe,stPref) +SelListe(stPref.nId) +fin +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si COL_NumListe[CMOD_TListes.TABLE_Info] > 0 alors +SelListe(COL_NumListe[CMOD_TListes.TABLE_Info]) +fin +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_Defaut ( TABLE_Info ) +n est un entier = CMOD_TListes.TABLE_Info +nPosListe est un entier +06/08/2026 Batik 2428 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Code des champs +si n > 0 _et_ COL_Defaut[n] alors +pour toute ligne b de CMOD_TListes.TABLE_Info +nPosListe = TableauCherche(gstPrefUserAGD.tabListe,tcLinéaire,"nID",COL_NumListe[b]) +si b <> n alors +COL_Defaut[b] = Faux +si nPosListe > 0 alors +gstPrefUserAGD.tabListe[nPosListe].bParDefaut = Faux +fin +sinon +si nPosListe > 0 alors +gstPrefUserAGD.tabListe[nPosListe].bParDefaut = Vrai +fin +fin +fin +fin +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2429 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_SansNom5 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_SansNom5 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitVisiteListeColbAGD() +A chaque modification de IMG_Icone ( CMOD_SansNom5 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_SansNom5 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_SansNom5 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_SansNom5 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SelColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SelColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SelColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SelColb +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2430 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SelColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SelColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SelColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_ColbMoins +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ColbMoins +06/08/2026 Batik 2431 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ColbMoins +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ColbMoins +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ColbMoins +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ColbMoins +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ColbMoins +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_ColbMoins ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_ColbMoins ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SupprimerOption() +A chaque modification de IMG_Icone ( CMOD_ColbMoins ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_ColbMoins ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_ColbMoins ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_ColbMoins ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_ColbPLus +06/08/2026 Batik 2432 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ColbPLus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ColbPLus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ColbPLus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ColbPLus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ColbPLus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ColbPLus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_ColbPLus ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_ColbPLus ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SelEleArbre() +A chaque modification de IMG_Icone ( CMOD_ColbPLus ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_ColbPLus ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_ColbPLus ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_ColbPLus ) +06/08/2026 Batik 2433 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Equipe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Equipe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Equipe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Equipe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Equipe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Equipe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Equipe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BS_Choix ( CMOD_Equipe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de BS_Choix ( CMOD_Equipe ) +procédure OptionModifiée(IndiceOptionModifiée) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(IndiceOptionModifiée) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de BS_Choix ( CMOD_Equipe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_LibColb +salib ="Collaborateurs disponibles" +Fin d'initialisation de CMOD_LibColb +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2434 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_LibColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_LibColb ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_LibListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibListe +06/08/2026 Batik 2435 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibListe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_LibListe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_LibListe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_LibListe1 +salib = "Liste sélectionnée" +Fin d'initialisation de CMOD_LibListe1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibListe1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibListe1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibListe1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibListe1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibListe1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibListe1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_LibListe1 ) +06/08/2026 Batik 2436 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_LibListe1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_LigneMoins +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LigneMoins +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LigneMoins +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LigneMoins +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LigneMoins +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LigneMoins +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LigneMoins +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_LigneMoins ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_LigneMoins ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Descendre() +A chaque modification de IMG_Icone ( CMOD_LigneMoins ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_LigneMoins ) +06/08/2026 Batik 2437 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_LigneMoins ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_LigneMoins ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_LignePlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LignePlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LignePlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LignePlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LignePlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LignePlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LignePlus +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_LignePlus ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_LignePlus ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Monter() +A chaque modification de IMG_Icone ( CMOD_LignePlus ) +06/08/2026 Batik 2438 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_LignePlus ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_LignePlus ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_LignePlus ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SansNom1 +saLib = "Ajoutez des collaborateurs pour les afficher dans le planning" +Fin d'initialisation de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_SansNom1 ) +06/08/2026 Batik 2439 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Sel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Sel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Sel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Sel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Sel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Sel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Sel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2440 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Code des champs +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Couleur ( COL_Couleur ) +ChoisirCouleur() +Sortie de COL_Nom ( TABLE_Info ) +si SansEspace(MoiMême) = "" alors +Info("Saisie obligatoire") +DonneFocus(MoiMême) +fin +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Valider +06/08/2026 Batik 2441 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +gbModif = Vrai +Ferme() +fin +FEN_Parametre_Liste_Colb_AGD +Procédures +Procédure locale ChoisirCouleur +procédure ChoisirCouleur() +06/08/2026 Batik 2442 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Procédures +n est un entier = CMOD_Sel.TABLE_Info +nIdEq est un entier sur 8 octets +si n > 0 _et_ COL_IdEq[n] > 0 alors +nIdEq = COL_IdEq[n] +sUnCouleur est une chaîne ANSI = Ouvre(FEN_Choix_Couleur, COL_CouleurHTML[n]) +gUnCouleur = sUnCouleur +MaPalette est une Palette = PaletteGénère(gUnCouleur) +si sUnCouleur <> "" alors +COL_CouleurHTML[n] = sUnCouleur +CMOD_Sel.TABLE_Info[n].CouleurFond= sUnCouleur +CMOD_Sel.TABLE_Info[n].Couleur = MaPalette.Couleur["primary_text"] +fin +pour toute ligne b de CMOD_Sel.TABLE_Info +si COL_IdEq[b] = nIdEq _et_ SansEspace(COL_Nom[b]) <> "" alors +CMOD_Sel.TABLE_Info[b].CouleurFond= sUnCouleur +CMOD_Sel.TABLE_Info[b].Couleur = MaPalette.Couleur["primary_text"] +fin +fin +fin +Procédure locale Descendre +procédure Descendre() +i est un entier = CMOD_Sel.TABLE_Info +b est un entier = i+1 +si i <= 0 ou i >= CMOD_Sel.TABLE_Info..Occurrence alors +retour +fin +si COL_IdColb[i] > 0 _et_ COL_IdEq[i] <= 0 alors // colb seul +si COL_IdEq[b] <= 0 alors // colb seul +TableDéplaceLigne(CMOD_Sel.TABLE_Info, i, tdSuivant, tdEchange) +sinon // dans un equipe +TableSelectPlus(CMOD_Sel.TABLE_Info,b) +Monter(Vrai) // on monte le collaborateur pour faire descendre l'équipe +fin +sinon si COL_IdColb[i] > 0 _et_ COL_IdEq[i] > 0 alors // collaborateur dans un équipe +si COL_IdEq[i] = COL_IdEq[b] et COL_IdColb[b] > 0 et COL_Nom[b] <> "" alors +// test pour les lignes vide +TableSelectPlus(CMOD_Sel.TABLE_Info,b) +Monter(Vrai) // on monte le collaborateur pour faire descendre l'équipe +fin +sinon si COL_IdColb[i] <= 0 _et_ COL_IdEq[i] > 0 alors // on monte toute l’équipe +nNbLigne est un entier +pour h = i à CMOD_Sel.TABLE_Info..Occurrence +si COL_IdEq[h] = COL_IdEq[i] alors // on cherche une ligne disponible hors une équipe +nNbLigne += 1 +sinon +sortir +fin +fin +b = i + nNbLigne +si b > CMOD_Sel.TABLE_Info..Occurrence alors +retour +fin +si COL_IdEq[b] <= 0 _et_ COL_IdColb[b] > 0 alors // colb seul +TableSelectPlus(CMOD_Sel.TABLE_Info,b) +Monter(Vrai) // on monte le collaborateur pour faire descendre l'équipe +sinon // dans un equipe +06/08/2026 Batik 2443 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Procédures +f est un entier = i +nid est un entier sur 8 octets = COL_IdEq[b] +pour h = b à CMOD_Sel.TABLE_Info..Occurrence +si COL_IdEq[h] = nid alors +TableDéplaceLigne(CMOD_Sel.TABLE_Info,h,f, tdDéplace) +f+=1 +sinon +sortir +fin +fin +fin +fin +Procédure locale Enregistrer +procédure Enregistrer() +si gnLigneSel > 0 _et_ CMOD_TListes.TABLE_Info..Occurrence >= gnLigneSel alors +MaJPref() // Enregistrer le modifs dans la variable temp +fin +bufResulBuf est un Buffer +bParDefaut est un booléen +si gstPrefUserAGD <> Null alors +// Remettre les Id dans l'ordre afin d'eviter d'avoir de doubler qui peuvent causer problemes +pour tout stListe, saCle de gstPrefUserAGD.tabListe +stListe.nId = Val(saCle) +si stListe.bParDefaut alors +bParDefaut = Vrai +fin +fin +si pas bParDefaut alors +si OuiNon("Aucune liste n'a été choisie pour être la liste par défaut. Voulez-vous continuer ?" +) = Non alors +renvoyer Faux +fin +fin +Sérialise(gstPrefUserAGD,bufResulBuf,psdJSON) +fin +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,[MParametreUtilisateur:: +cCHOIX_ListeAGD,CollaborateurEnCours:nIdUser]) +si HTrouve(ParametreUtilisateur) alors +ParametreUtilisateur.PU_Valeur = bufResulBuf +sinon +HRAZ(ParametreUtilisateur) +ParametreUtilisateur.PU_IDUtilisateur =CollaborateurEnCours:nIdUser +ParametreUtilisateur.PU_Code = MParametreUtilisateur::cCHOIX_ListeAGD +ParametreUtilisateur.PU_Valeur = bufResulBuf +fin +si HEnregistre(ParametreUtilisateur) alors +oParam est un MParametreUtilisateur +FichierVersMémoire(oParam,ParametreUtilisateur) +CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_ListeAGD] = oParam +CollaborateurEnCours:clUtilisateur:stParametresAGD = +gstPrefUserAGD +renvoyer Vrai +sinon +UneErreur.Init(ErreurApp.ErreurHFSQL,"Erreur pendant l’enregistrement de la préférence agenda", +"FEN_Parametre_Liste_Colb_AGD.Enregistrer") +renvoyer Faux +06/08/2026 Batik 2444 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Procédures +fin +Procédure locale FiltreChoix +procédure FiltreChoix(nID est un entier) +// je du faire une nouvelle table car le filtre dans la table cause des problèmes +infoLigne est une Structure +nIdColb est un entier sur 8 octets +nIDEq est un entier sur 8 octets +sNom est une chaîne +nOrdre est un entier sur 8 octets +couleurLigne est un Couleur +couleurHTML est une chaîne ANSI +bGrise est un booléen +bGriseNom est un booléen +fin +tabTblInfo est un tableau de infoLigne +pstUneLigne est un infoLigne dynamique +i est un entier +nPos est un entier = TableauCherche(gstPrefUserAGD.tabListe,tcLinéaire,"nID", nID) +pour tout Eq de gstPrefUserAGD.tabListe[nPos].tabEquipe +pstUneLigne = allouer un infoLigne +pstUneLigne.nIdColb = 0 +pstUneLigne.nIdEq = Eq.nOrdre +pstUneLigne.sNom = Eq.sNom +pstUneLigne.nOrdre = Eq.nOrdre +pstUneLigne.couleurLigne = Eq.sCouleur <> "" ? Eq.sCouleur sinon gCouleurEq +pstUneLigne.couleurHTML = Eq.sCouleur +TableauAjoute(tabTblInfo,pstUneLigne) +pour tout stColb de Eq.tabColb +HLitRecherchePremier(Collaborateur,CO_PKID,stColb.nId) +si HTrouve(Collaborateur) alors +si Collaborateur.CO_Actif _et_ Collaborateur.CO_AuPlanning alors +pstUneLigne = allouer un infoLigne +pstUneLigne.nIdColb = stColb.nId +pstUneLigne.nIdEq = Eq.nOrdre +pstUneLigne.sNom = Collaborateur.CO_Nom+" "+Collaborateur.CO_Prenom+" ("+ +Collaborateur.CO_Trigramme+")" +pstUneLigne.nOrdre = stColb.nOrdre +pstUneLigne.couleurLigne = CouleurDéfaut +pstUneLigne.bGriseNom = Vrai +pstUneLigne.couleurHTML = Eq.sCouleur +TableauAjoute(tabTblInfo,pstUneLigne) +fin +fin +fin +pstUneLigne = allouer un infoLigne +pstUneLigne.nIdColb = 0 +pstUneLigne.nIdEq = Eq.nOrdre +pstUneLigne.sNom = "" +pstUneLigne.nOrdre = Eq.nOrdre+Eq.tabColb..Occurrence+1 +pstUneLigne.couleurLigne = palette +pstUneLigne.bGrise = Vrai +TableauAjoute(tabTblInfo,pstUneLigne) +06/08/2026 Batik 2445 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Procédures +fin +pour tout stColb de gstPrefUserAGD.tabListe[nPos].tabColb +HLitRecherchePremier(Collaborateur,CO_PKID,stColb.nId) +si HTrouve(Collaborateur) alors +si Collaborateur.CO_AuPlanning alors +pstUneLigne = allouer un infoLigne +pstUneLigne.nIdColb = stColb.nId +pstUneLigne.nIdEq = 0 +pstUneLigne.sNom = Collaborateur.CO_Nom+" "+Collaborateur.CO_Prenom+" ("+ +Collaborateur.CO_Trigramme+")" +pstUneLigne.nOrdre = stColb.nOrdre +pstUneLigne.couleurLigne = CouleurDéfaut +pstUneLigne.bGriseNom = Vrai +TableauAjoute(tabTblInfo,pstUneLigne) +fin +fin +fin +couleurEqu est un Couleur +MaPalette est une Palette +MaPaletteEqu est une Palette +nIDEq est un entier sur 8 octets +TableauTrie(tabTblInfo,ttMembre+tccRespecteNumérique,"+nOrdre") +pour toute lg de tabTblInfo +i = TableAjouteLigne(CMOD_Sel.TABLE_Info) +COL_IdColb[i] = lg.nIdColb +COL_IdEq[i] = lg.nIdEq +COL_Ordre[i] = lg.nOrdre +COL_Nom[i] = lg.sNom +CMOD_Sel.TABLE_Info[i]..CouleurFond = lg.couleurLigne +gUnCouleur = lg.couleurLigne +MaPalette = PaletteGénère(gUnCouleur) +CMOD_Sel.TABLE_Info[i].Couleur = MaPalette.Couleur["primary_text"] +CMOD_Sel.TABLE_Info[i]..Grisé = lg.bGrise +COL_Nom[i]..Grisé = lg.bGriseNom +COL_CouleurHTML[i] = lg.couleurHTML +COL_Couleur[i]..Grisé = Vrai +si COL_IdEq[i] = nIDEq _et_ nIDEq > 0 alors +CMOD_Sel.TABLE_Info[i]..CouleurFond = couleurEqu +CMOD_Sel.TABLE_Info[i].Couleur = MaPaletteEqu.Couleur["primary_text"] +fin +si SansEspace(COL_Nom[i]) = "" _et_ COL_IdColb[i] <= 0 alors +CMOD_Sel.TABLE_Info[i]..CouleurFond = Blanc +CMOD_Sel.TABLE_Info[i]..Grisé = Vrai +CMOD_Sel.TABLE_Info[i]..Hauteur = 10 +sinon si COL_IdEq[i] > 0 _et_ COL_IdColb[i] <= 0 _et_ SansEspace(COL_Nom[i]) <> "" alors +COL_Couleur[i].IMG_Couleur = IMG_Cercle_couleur +COL_Couleur[i]..Grisé = Faux +couleurEqu = gUnCouleur +MaPaletteEqu = MaPalette +nIDEq = COL_IdEq[i] +fin +fin +Procédure locale Filtrer +06/08/2026 Batik 2446 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Procédures +procédure Filtrer() +TableSupprimeTout(CMOD_TListes.TABLE_Info) +gstPrefUserAGD = CollaborateurEnCours:clUtilisateur:stParametresAGD +i est un entier +pour tout stPref de gstPrefUserAGD.tabListe +si stPref.nId > 0 alors +i = TableAjouteLigne(CMOD_TListes.TABLE_Info) +COL_NumListe[i] = stPref.nId +COL_Defaut[i] = stPref.bParDefaut +COL_Pref[i] = stPref.snom +fin +fin +si CMOD_TListes.TABLE_Info..Occurrence > 0 alors +TableSelect(CMOD_TListes.TABLE_Info,1) +SelListe(COL_NumListe[1]) +fin +Procédure locale FiltrerColbs +procédure FiltrerColbs() +ArbreSupprimeTout(ARBRE_Colb) +sIdSoc est une chaîne ANSI +sIdEq est une chaîne ANSI +sImageColb est une chaîne ANSI +pour tout Societe +si pas Societe.SO_Archive alors +si ArbreAjoute(ARBRE_Colb,Societe.SO_Nom,IMG_Societe,IMG_Societe,"SO_PKID"+Societe.SO_PKID, +aTriAlpha,Societe.SO_Nom) alors // on peut avoir le mème Id pour societe et colb ou eq +sIdSoc += [";"]+Societe.SO_PKID +fin +fin +fin +si SansEspace(sIdSoc) <> "" alors +reqEqp est une Requête SQL = +[ +SELECT EQ_PKID, EQ_Nom , SO_PKID , SO_Nom FROM Equipe +INNER JOIN Societe ON SO_PKID = EQ_IDSociete +WHERE EQ_IDSociete IN {p_idSoc} ORDER BY EQ_IDSociete +] +reqEqp.p_idSoc = sIdSoc +si HExécuteRequêteSQL(reqEqp) alors +pour tout reqEqp +si ArbreAjoute(ARBRE_Colb,reqEqp.SO_Nom+TAB+reqEqp.EQ_Nom,IMG_Equipe,IMG_Equipe,"EQ_PKID"+ +reqEqp.EQ_PKID,aAccepteDoublon +aTriAlpha,reqEqp.SO_Nom) alors +sIdEq += [";"]+reqEqp.EQ_PKID +gtaCheminInfo["EQ_PKID"+reqEqp.EQ_PKID] = reqEqp.SO_Nom+TAB+reqEqp.EQ_Nom +fin +fin +fin +fin +si SansEspace(sIdEq) <> "" alors +reqColb est une Requête SQL = +[ +SELECT EQ_IDSociete, EQ_Nom, CO_PKID, CO_Nom, CO_Prenom, CO_Trigramme,CO_IDCivilite,EQ_PKID, +06/08/2026 Batik 2447 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Procédures +SO_PKID, SO_Nom +FROM Equipe_Collaborateur +INNER JOIN Equipe ON EQ_PKID = EC_IDEquipe +INNER JOIN Collaborateur ON CO_PKID = EC_IDCollaborateur +INNER JOIN Societe ON SO_PKID = EQ_IDSociete +WHERE EC_IDEquipe IN {p_IdEq} AND CO_Actif = 1 AND CO_AuPlanning = 1 ORDER BY EQ_IDSociete +] +reqColb.p_IdEq = sIdEq +si HExécuteRequêteSQL(reqColb) alors +pour tout reqColb +sImageColb = IMG_Homme +si reqColb.CO_IDCivilite = gnIdMad alors +sImageColb = IMG_Femme +sinon +sImageColb = IMG_Homme +fin +ArbreAjoute(ARBRE_Colb,reqColb.SO_Nom+TAB+reqColb.EQ_Nom+TAB+reqColb.CO_Nom+" "+reqColb. +CO_Prenom,sImageColb,sImageColb,... +"CO_PKID_EQ_PKID"+reqColb.CO_PKID+"_"+reqColb.EQ_PKID,aAccepteDoublon + aTriAlpha,reqColb. +CO_Nom+" ("+reqColb.CO_Trigramme+")") +gtaNomColb[reqColb.CO_PKID] = reqColb.CO_Nom+" "+reqColb.CO_Prenom + " ("+reqColb. +CO_Trigramme+")" +fin +fin +fin +nUnIdSocActifs est un entier sur 8 octets +nUnIdSocInactifs est un entier sur 8 octets +si SansEspace(sIdSoc) <> "" alors +reqColb2 est une Requête SQL = +[ +SELECT CO_PKID, CO_Nom, CO_Prenom,CO_Trigramme,CO_IDCivilite,CO_Actif, SO_PKID, SO_Nom FROM +Collaborateur +INNER JOIN Societe_Collaborateur ON SC_IDCollaborateur = CO_PKID +INNER JOIN Societe ON SO_PKID = SC_IDCSociete +WHERE SC_IDCSociete IN {p_IdSoc} AND CO_AuPlanning = 1 ORDER BY SC_IDCSociete +] +reqColb2.p_IdSoc = sIdSoc +si HExécuteRequête(reqColb2) alors +pour tout reqColb2 +si reqColb2.CO_IDCivilite = gnIdMad alors +sImageColb = IMG_Femme +sinon +sImageColb = IMG_Homme +fin +si reqColb2.co_actif alors +si nUnIdSocActifs <> reqColb2.SO_PKID alors +nUnIdSocActifs = reqColb2.SO_PKID +ArbreAjoute(ARBRE_Colb,reqColb2.SO_Nom+TAB+"Tous les collaborateurs",IMG_Tous,IMG_ +Tous,"EQ_PKID_SO_PKID0_"+reqColb2.SO_PKID,aDernier+aAccepteDoublon +aTriAlpha, +"Tous les collaborateurs") +fin +ArbreAjoute(ARBRE_Colb,reqColb2.SO_Nom+TAB+"Tous les collaborateurs"+TAB+reqColb2. +CO_Nom+" "+reqColb2.CO_Prenom,... +sImageColb,sImageColb,"CO_PKID_SO_PKID"+reqColb2.CO_PKID+"_"+reqColb2.SO_PKID, +aAccepteDoublon + aTriAlpha,reqColb2.CO_Nom+" ("+reqColb2.CO_Trigramme+")") +gtaNomColb[reqColb2.CO_PKID] = reqColb2.CO_Nom+" "+reqColb2.CO_Prenom + " ("+reqColb2. +CO_Trigramme+")" +sinon +06/08/2026 Batik 2448 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Procédures +si nUnIdSocInactifs <> reqColb2.SO_PKID alors +nUnIdSocInactifs = reqColb2.SO_PKID +ArbreAjoute(ARBRE_Colb,reqColb2.SO_Nom+TAB+"Collaborateurs inactifs",IMG_ +Advertencia,IMG_Advertencia,"EQ_PKID_SO_PKID0_"+reqColb2.SO_PKID,aDernier+ +aAccepteDoublon +aTriAlpha,"Collaborateurs inactifs") +fin +ArbreAjoute(ARBRE_Colb,reqColb2.SO_Nom+TAB+"Collaborateurs inactifs"+TAB+reqColb2. +CO_Nom+" "+reqColb2.CO_Prenom,... +sImageColb,sImageColb,"CO_PKID_SO_PKID"+reqColb2.CO_PKID+"_"+reqColb2.SO_PKID, +aAccepteDoublon + aTriAlpha,reqColb2.CO_Nom+" ("+reqColb2.CO_Trigramme+")") +gtaNomColb[reqColb2.CO_PKID] = reqColb2.CO_Nom+" "+reqColb2.CO_Prenom + " ("+reqColb2. +CO_Trigramme+")" +fin +fin +fin +fin +Procédure locale MaJPref +procédure MaJPref() +pref est un STPrefAgdPl +pref.sNom = COL_Pref[gnLigneSel] +pref.nId = COL_NumListe[gnLigneSel] +pref.bAffichageParEq = DonneBooleanSelonOuiNon(BS_Choix) +stEqPrefest un STItemChoixEq +stColb est un STItemChoix +nPosEq est un entier sur 8 octets +h est un entier +nPosListe est un entier = TableauCherche(gstPrefUserAGD.tabListe,tcLinéaire,"nID",COL_NumListe[gn +LigneSel]) +pour toute ligne b de CMOD_Sel.TABLE_Info +h += 1 +si COL_IdEq[b] > 0 _et_ COL_Nom[b] <> "" _et_ COL_IdColb[b] <= 0 alors // Nom de l’équipe +nPosEq = h +stEqPref.nOrdre = h +stEqPref.sNom = COL_Nom[b] +stEqPref.sCouleur= COL_CouleurHTML[b] +TableauSupprimeTout(stEqPref.tabColb) +TableauAjoute(pref.tabEquipe,stEqPref) +sinon si COL_IdEq[b] > 0 _et_ COL_IdColb[b] > 0 _et_ nPosEq > 0 alors +nPos est un entier = TableauCherche(pref.tabEquipe,tcLinéaire,"nOrdre",nPosEq) +si nPos > 0 alors +nPos2 est un entier +si pref.tabEquipe..Occurrence >= nPosEq _et_ pref.tabEquipe[nPosEq].tabColb..Occurrence > +0 alors +nPos2 = TableauCherche(pref.tabEquipe[nPosEq].tabColb,tcLinéaire,"nId",COL_IdColb[b]) +fin +si nPos2 <= 0 alors +stColb.nId = COL_IdColb[b] +stColb.nOrdre = h +TableauAjoute(pref.tabEquipe[nPos].tabColb,stColb) +fin +fin +sinon si COL_IdEq[b] <= 0 _et_ COL_IdColb[b] > 0 alors +nPos2 est un entier = TableauCherche(pref.tabColb,tcLinéaire,"nId",COL_IdColb[b]) +06/08/2026 Batik 2449 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Procédures +si nPos2 <= 0 alors +stColb.nId = COL_IdColb[b] +stColb.nOrdre = h +TableauAjoute(pref.tabColb,stColb) +fin +nPosEq = 0 +sinon si COL_IdEq[b] > 0 _et_ COL_IdColb[b] <= 0 _et_ nPosEq > 0 _et_ COL_Nom[b] = "" alors +nPosEq = 0 +fin +fin +pref.bParDefaut = COL_Defaut[gnLigneSel] +si nPosListe > 0 alors +gstPrefUserAGD.tabListe[nPosListe] = pref +sinon +TableauAjoute(gstPrefUserAGD.tabListe,pref) +fin +Procédure locale Monter +procédure Monter(bDesc est un booléen = Faux) +i est un entier = CMOD_Sel.TABLE_Info +b est un entier = i-1 +k est un entier +si i <= 0 ou i < 2 alors +retour +fin +si COL_IdColb[i] > 0 _et_ COL_IdEq[i] <= 0 alors // colb seul +si COL_IdEq[b] <= 0 alors // colb seul +k = b +TableDéplaceLigne(CMOD_Sel.TABLE_Info, k, tdSuivant, tdEchange) +TableSelectPlus(CMOD_Sel.TABLE_Info,k) +sinon // dans un equipe +pour h = 1 à i +si COL_IdEq[h] = COL_IdEq[b] _et_ COL_IdColb[h] <= 0 alors +// on cherche une ligne disponible hors une équipe +k = h +sortir +fin +fin +si k <= 0 alors +k = 1 +fin +TableDéplaceLigne(CMOD_Sel.TABLE_Info,i, k, tdDéplace) +TableSelectPlus(CMOD_Sel.TABLE_Info,k) +fin +sinon si COL_IdColb[i] > 0 _et_ COL_IdEq[i] > 0 alors // collaborateur dans un équipe +pour h = 1 à i +si COL_IdEq[h] = COL_IdEq[i] _et_ COL_IdColb[h] > 0 alors +// on cherche une ligne disponible hors une équipe +si COL_IdColb[h] = COL_IdColb[i] alors +sortir +fin +k = h +fin +fin +si k < i _et_ k > 0 alors // on monte // test +TableDéplaceLigne(CMOD_Sel.TABLE_Info,i, k, tdDéplace) +si bDesc alors +06/08/2026 Batik 2450 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Procédures +TableSelectPlus(CMOD_Sel.TABLE_Info,i) +fin +fin +sinon si COL_IdColb[i] <= 0 _et_ COL_IdEq[i] > 0 alors // on monte toute l’équipe +nNbLigne est un entier +pour h = i à CMOD_Sel.TABLE_Info..Occurrence +si COL_IdEq[h] = COL_IdEq[i] alors // on cherche une ligne disponible hors une équipe +nNbLigne += 1 +sinon +sortir +fin +fin +si COL_IdEq[b] <= 0 _et_ COL_IdColb[b] > 0 alors // colb seul +si nNbLigne > 0 alors // toutes les lignes a monter +k = b + (nNbLigne) +TableDéplaceLigne(CMOD_Sel.TABLE_Info,b,k, tdDéplace) +si bDesc alors +TableSelectPlus(CMOD_Sel.TABLE_Info,k) +fin +fin +sinon // dans un equipe +j est un entier = (i+nNbLigne)-1 // dernière ligne de l’équipe +pour h = 1 à i +si COL_IdEq[h] = COL_IdEq[b] et COL_IdColb[h] <= 0 et COL_Nom[h] <> "" alors +// on cherche une ligne disponible hors une équipe +k = h +sortir +fin +fin +// k est la ligne ou il faut tout deplacer +pour t=i à j +TableDéplaceLigne(CMOD_Sel.TABLE_Info,j,k, tdDéplace) +fin +TableSelectPlus(CMOD_Sel.TABLE_Info,k) +fin +fin +Procédure locale NouvelleListe +procédure NouvelleListe() +sNomListe est une chaîne +si Saisie("Quel nom souhaitez-vous donner à la nouvelle liste ?", sNomListe) = 1 alors +si sNomListe <> "" alors +nId est un entier = 1 +TableauTrie(gstPrefUserAGD.tabListe,ttMembre+tccRespecteNumérique,"+nId") +si gstPrefUserAGD.tabListe..Occurrence > 0 alors +nId = (gstPrefUserAGD.tabListe[gstPrefUserAGD.tabListe..Occurrence].nId + 1) +fin +si gnLigneSel > 0 _et_ CMOD_TListes.TABLE_Info..Occurrence >= gnLigneSel alors +MaJPref() // Enregistrer le modifs dans la variable temp +fin +i est un entier = TableAjouteLigne(CMOD_TListes.TABLE_Info) +06/08/2026 Batik 2451 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Procédures +COL_NumListe[i] = nId +COL_Defaut[i] = Faux +COL_Pref[i] = sNomListe +TableSelectPlus(CMOD_TListes.TABLE_Info,i) +pref est un STPrefAgdPl +pref.sNom = sNomListe +pref.nId = nId +pref.bAffichageParEq = Vrai +TableauAjoute(gstPrefUserAGD.tabListe,pref) +SelListe(nId) +fin +fin +Procédure locale SelColbIUnique +procédure SelColbIUnique(nId est un entier sur 8 octets, local nIdEq est un entier sur 8 octets = 0, +local nOrdre est un entier = 0) +si nId > 0 alors +HLitRecherchePremier(Collaborateur,CO_PKID,nId) +si HTrouve(Collaborateur) alors +si Collaborateur.CO_AuPlanning alors +si nOrdre <= 0 alors +nOrdre = CMOD_Sel.TABLE_Info..Occurrence+1 +fin +nI est un entier= TableAjouteLigne(CMOD_Sel.TABLE_Info) +COL_IdColb[nI] = Collaborateur.CO_PKID +COL_IdEq[nI] = nIdEq +COL_Nom[nI] = Collaborateur.CO_Nom+" "+Collaborateur.CO_Prenom+" ("+Collaborateur. +CO_Trigramme+")" +COL_Ordre[nI] = nOrdre +COL_Nom[nI]..Grisé = Vrai +fin +fin +fin +Procédure locale SelEleArbre +procédure SelEleArbre() +sAIdest une chaîne ANSI = ArbreRécupèreIdentifiant(ARBRE_Colb, ArbreSelect(ARBRE_Colb, Vrai)) +sID_1 est une chaîne ANSI +i est un entier +nID est un entier sur 8 octets +bEq est un booléen = Faux +si SansEspace(sAId) <> "" alors +si pas Contient(sAId,"CO_PKID_SO_PKID",SansCasse) _et_ Contient(sAId,"SO_PKID",SansCasse) ou +Contient(sAId,"EQ_PKID_SO_PKID",SansCasse) alors +retour +// Equipe +sinon si pas Contient(sAId,"CO_PKID_EQ_PKID",SansCasse) _et_ Contient(sAId,"EQ_PKID",SansCasse) +alors +sID_1 = Remplace(sAId,"EQ_PKID","",SansCasse) +nID = Val(sID_1) +SelEqComplet(nID) +06/08/2026 Batik 2452 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Procédures +// collaborateur dans une équipe +sinon si Contient(sAId,"CO_PKID_EQ_PKID",SansCasse) alors +sID_1 = Remplace(sAId,"CO_PKID_EQ_PKID","",SansCasse) +i = Position(sID_1,"_",0,DepuisDébut) +si i > 0 alors +nID = Val(sID_1[1 à i]) +fin +SelColbIUnique(nID) +// Collaborateur seul +sinon si Contient(sAId,"CO_PKID_SO_PKID",SansCasse) alors +sID_1 = Remplace(sAId,"CO_PKID_SO_PKID","",SansCasse) +i = Position(sID_1,"_",0,DepuisDébut) +si i > 0 alors +nID = Val(sID_1[1 à i]) +fin +SelColbIUnique(nID) +sinon +nID = 0 +fin +fin +Procédure locale SelEqComplet +procédure SelEqComplet(nId est un entier sur 8 octets) +bEq est un booléen = Faux +si nId > 0 alors +reqEqp est une Requête SQL = +[ +SELECT EQ_PKID, EQ_Nom, EC_IDCollaborateur, CO_Nom, CO_Prenom, CO_Trigramme, CO_PKID, +CO_IDCivilite FROM Equipe +INNER JOIN Equipe_Collaborateur ON Equipe_Collaborateur.EC_IDEquipe = EQ_PKID +INNER JOIN Collaborateur ON CO_PKID = EC_IDCollaborateur +WHERE EQ_PKID = {p_idEq} AND CO_Actif = 1 AND CO_AuPlanning = 1 ORDER BY EQ_IDSociete +] +reqEqp.p_idEq = nId +si HExécuteRequêteSQL(reqEqp) alors +nI est un entier +pour tout reqEqp +si pas bEq alors +nI = TableAjouteLigne(CMOD_Sel.TABLE_Info) +COL_IdColb[nI] = 0 +COL_IdEq[nI] = reqEqp.EQ_PKID +COL_Nom[nI] = reqEqp.EQ_Nom +COL_Ordre[nI] = CMOD_Sel.TABLE_Info..Occurrence+1 +si nI > 0 alors +bEq = Vrai +CMOD_Sel.TABLE_Info[nI]..CouleurFond = gCouleurEq +COL_Couleur[nI].IMG_Couleur = IMG_Cercle_couleur +fin +fin +si bEq alors +nI = TableAjouteLigne(CMOD_Sel.TABLE_Info) +COL_IdColb[nI] = reqEqp.CO_PKID +COL_IdEq[nI] = reqEqp.EQ_PKID +COL_Nom[nI] = reqEqp.CO_Nom+" "+reqEqp.CO_Prenom+" ("+reqEqp.CO_Trigramme+ +")" +06/08/2026 Batik 2453 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Procédures +COL_Ordre[nI] = CMOD_Sel.TABLE_Info..Occurrence+1 +COL_Nom[nI]..Grisé = Vrai +CMOD_Sel.TABLE_Info[nI]..CouleurFond = gCouleurEq +fin +fin +si nI > 0 alors +nI = TableAjouteLigne(CMOD_Sel.TABLE_Info) +CMOD_Sel.TABLE_Info[nI]..Grisé = Vrai +CMOD_Sel.TABLE_Info[nI]..CouleurFond = Blanc +CMOD_Sel.TABLE_Info[nI]..Hauteur = 10 +CMOD_Sel.TABLE_Info[nI]..Grisé = Vrai +COL_IdEq[nI] = nId +CMOD_Sel.TABLE_Info[nI].COL_Ordre = CMOD_Sel.TABLE_Info..Occurrence+1 +fin +fin +fin +Procédure locale SelListe +procédure SelListe(local nID est un entier) +si gnLigneSel > 0 _et_ CMOD_TListes.TABLE_Info..Occurrence >= gnLigneSel alors +MaJPref() // Enregistrer le modifs dans la variable temp +fin +TableSupprimeTout(CMOD_Sel.TABLE_Info) +nPos est un entier +CMOD_LibListe.LIB_lib = "" +si nID > 0 alors +nPos = TableauCherche(gstPrefUserAGD.tabListe,tcLinéaire,"nID", nID) +fin +si nPos <= 0 alors +retour +fin +CMOD_LibListe.LIB_lib = gstPrefUserAGD.tabListe[nPos].sNom +BS_Choix = DonneOuiNonSelonBoolean(gstPrefUserAGD.tabListe[nPos].bAffichageParEq) +FiltreChoix(nID) +CMOD_SelColb..Visible= Vrai +gnLigneSel = CMOD_TListes.TABLE_Info +Procédure locale SupprimerOption +procédure SupprimerOption() +i est un entier = CMOD_Sel.TABLE_Info +nIdEqp est un entier sur 8 octets +si i > 0 alors +si COL_IdColb[i] > 0 _et_ COL_IdEq[i] <= 0 alors +TableSupprime(CMOD_Sel.TABLE_Info,i) +sinon si COL_IdColb[i] > 0 _et_ COL_IdEq[i] > 0 alors +TableSupprime(CMOD_Sel.TABLE_Info,i) +sinon si COL_IdColb[i] <= 0 _et_ COL_IdEq[i] > 0 alors +06/08/2026 Batik 2454 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Liste_Colb_AGD › Procédures +nIdEqp = COL_IdEq[i] +h est un entier = CMOD_Sel.TABLE_Info..Occurrence +pour b = i à h +si i <= CMOD_Sel.TABLE_Info..Occurrence _et_ COL_IdEq[i] = nIdEqp alors +TableSupprime(CMOD_Sel.TABLE_Info,i) +fin +fin +fin +fin +Procédure locale SupprimerPref +procédure SupprimerPref() +n est un entier = CMOD_TListes.TABLE_Info +si n <= 0 alors +Info("Veuillez sélectionner une liste") +retour +fin +si COL_NumListe[n] > 0 alors +nPos est un entier = TableauCherche(gstPrefUserAGD.tabListe,tcLinéaire,"nID",COL_NumListe[n]) +si nPos > 0 alors +TableauSupprime(gstPrefUserAGD.tabListe,nPos) +TableSupprime(CMOD_TListes.TABLE_Info,n) +sinon +TableSupprime(CMOD_TListes.TABLE_Info,n) +fin +CMOD_TListes.TABLE_Info = -1 +CMOD_SelColb..Visible= Faux +fin +06/08/2026 Batik 2455 + +Partie 3 › Fenêtre WINDEV › FEN_Texte › Image +FEN_Texte +Image +FEN_Texte +Informations générales +FEN_Texte +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Texte.wdw +| Créé par | | SMR | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Date de création | | 10/09/2025 15:59:14 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 05/03/2026 19:26:39 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Zone de texte +| Position X | 0 Position Y | | 0 Largeur | 693 Hauteur | 327 | +| ---------------- | ------------ | -------------------- | --------- | --------------- | ---- | +| 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 | | +| 06/08/2026 | | | Batik | | 2456 | + +Partie 3 › Fenêtre WINDEV › FEN_Texte › Informations générales +| Déplace/fond | Sauve position | | Ascenseur auto. | | +| --------------------- | -------------- | --- | --------------- | --- | +| Gestion grande police | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | Actif | | | | +| ------------------------------- | ----------------------------------- | --- | --- | --- | +| Curseur survol | 0 | | | | +| Copie d'écran | Oui | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | <Aucun> | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Oui | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Non | | | | +| 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. | Oui | | | | +| Grisé : Algo pour images | <Défaut> | | | | +| Style du menu | Windows 11 | | | | +| 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 | 32 | | | | +| Pos. Y Menu | 2 | | | | +| 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 | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +| 06/08/2026 | | Batik | | 2457 | +| ---------- | --- | ----- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Texte › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | 1 | Libellé | | | 1 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Bouton | | 2 | Image | | | 4 | +| | Superchamp | | 1 | Champ Modèle de champs | | | 4 | +| | Case barre de message | | 1 | | | | | +Nombre d'éléments dans la fenêtre : 14 +FEN_Texte +Informations sur les champs +Fenêtre : FEN_Texte +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Annuler | | 392 | 1 141 | 35 | 0 | Actif | | +| ------------ | --- | --- | ------- | --- | --- | ----- | --- | +| CMOD_BordFen | | 0 | -29 541 | 29 | 0 | Actif | | +| CMOD_Note | | 5 | 39 677 | 231 | 0 | Actif | | +| CMOD_Valider | | 541 | 1 141 | 35 | 0 | Actif | | +Champ Modèle de champs : CMOD_Annuler +Bouton +notuob epyT +| | | | | | laitini tatE | BAT ehcuoT | | +| --- | --- | --- | --- | --- | ------------ | ---------- | --- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Annuler | | 392 1 | 141 35 | 0 | Actif | Normal | | +| ----------- | --- | ----- | ------ | --- | ----- | ------ | ---- | +| 06/08/2026 | | | Batik | | | | 2458 | + +Partie 3 › Fenêtre WINDEV › FEN_Texte › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | | | 0 | -29 | | 541 | 30 | | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | | ruegraL | | ruetuaH | | | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libellé | | 91 | -27 | 418 | 25 | 0 | | Actif | Gauche | Centre | | +| ----------- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | +| --- | --- | ---------- | ---------- | ------- | --- | ------- | --- | --- | ------------ | --------- | --- | +| | | | | ruegraL | | ruetuaH | | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | | 509 | -26 | | 28 | 23 | 0 | | Actif | | | +| -------------------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | | 61 | -26 | | 28 | 23 | 0 | | Actif | | | +| IMG_Logo_secondaire_violet | | 2 | -27 | | 34 | 26 | 0 | | Actif | | | +| IMG_SombreClair | | 38 | -26 | | 21 | 23 | 0 | | Actif | | | +Champ Modèle de champs : CMOD_Note +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_Texte | 5 39 | 677 231 | 0 | Actif | | Texte | | Non | | | | +| ---------- | ---- | ------- | --- | ----- | ----- | ----- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | | Batik | | | | | | 2459 | + +Partie 3 › Fenêtre WINDEV › FEN_Texte › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Bouton +BAT ehcuoT notuob epyT +laitini tatE +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Valider | | 541 1 | 141 35 | 0 | Actif | Normal | +| ----------- | --- | ----- | ------ | --- | ----- | ------ | +Fenêtre : FEN_Texte +Champ Modèle de champs : CMOD_Annuler +| Ordre navigation | | 2 | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | +| Curseur survol | | 0 | | | | | +| UI par l'utilisateur | | Selon fenêtre | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | | 0 | | | | | +| Taux Paral. Y | | 0 | | | | | +| Épinglé | | Non | | | | | +| Masquer lors du scrolling | | Non | | | | | +| Ancrage au contenu | | <Aucun> | | | | | +| Numéro aide | | 0 | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | | 0 | | | | | +| -------------------------- | ---- | ------ | ---- | ---- | --- | ---- | +| Facteur d'agrandissement | | 0 | | | | | +| Ancrage | | Droite | | | | | +| | 1000 | | 1000 | 1000 | | 1000 | +Taux anc. droite Taux anc. bas Taux anc. largeur Taux anc. hauteur +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { + "Libelle":"Barre de titre (Fen\u00eatre)" +} +| Ordre navigation | | 1 | | | | | +| ------------------------- | --- | ----------------------------------- | ----- | --- | --- | ---- | +| Curseur survol | | 0 | | | | | +| UI par l'utilisateur | | Selon fenêtre | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | | 0 | | | | | +| Taux Paral. Y | | 0 | | | | | +| Épinglé | | Non | | | | | +| Masquer lors du scrolling | | Non | | | | | +| 06/08/2026 | | | Batik | | | 2460 | + +Partie 3 › Fenêtre WINDEV › FEN_Texte › Informations sur les champs +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Note +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2461 + +Partie 3 › Fenêtre WINDEV › FEN_Texte › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2462 + +Partie 3 › Fenêtre WINDEV › FEN_Texte › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 541 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 2463 + +Partie 3 › Fenêtre WINDEV › FEN_Texte › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 2464 + +Partie 3 › Fenêtre WINDEV › FEN_Texte › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 +06/08/2026 Batik 2465 + +Partie 3 › Fenêtre WINDEV › FEN_Texte › Informations sur les champs +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 +06/08/2026 Batik 2466 + +Partie 3 › Fenêtre WINDEV › FEN_Texte › Informations sur les champs +Ancrage Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Note +Champ de saisie : CMOD_Note.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 6 +Largeur interne 676 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 2467 + +Partie 3 › Fenêtre WINDEV › FEN_Texte › Informations sur les champs +Asc. horizontal Jamais +Asc. vertical Automatique +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +06/08/2026 Batik 2468 + +Partie 3 › Fenêtre WINDEV › FEN_Texte › Informations sur les champs +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2469 + +Partie 3 › Fenêtre WINDEV › FEN_Texte › Code +FEN_Texte +Code +Déclarations globales de FEN_Texte +procédure FEN_Texte(saTexte est une chaîne ANSI) +saContenu est une chaîne ANSI = saTexte +Fin d'initialisation de FEN_Texte +CMOD_Note.SAI_Texte = saContenu +Fermeture de FEN_Texte +renvoyer saContenu +FEN_Texte +Code des champs +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +06/08/2026 Batik 2470 + +Partie 3 › Fenêtre WINDEV › FEN_Texte › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +saContenu = saTexte +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +06/08/2026 Batik 2471 + +Partie 3 › Fenêtre WINDEV › FEN_Texte › Code des champs +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Note ) +06/08/2026 Batik 2472 + +Partie 3 › Fenêtre WINDEV › FEN_Texte › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2473 + +Partie 3 › Fenêtre WINDEV › FEN_Texte › Code des champs +ExécuteAncêtre +saContenu = CMOD_Note.SAI_Texte +Ferme() +| 06/08/2026 | Batik | 2474 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Image +FEN_Fiche_Modele_Rapport +Image +FEN_Fiche_Modele_Rapport +Informations générales +FEN_Fiche_Modele_Rapport +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Fiche_Modele_Rapport.wdw +Créé par SMR +06/08/2026 Batik 2475 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations générales +| Date de création | | 19/09/2025 08:15:14 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 05/03/2026 19:26:39 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Configuration des modèles de rapport +| Position X | 0 Position Y | | 0 Largeur | 1199 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| 06/08/2026 | | | Batik | | 2476 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations générales +| 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 | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Champ de saisie | | 1 | Libellé | | 7 | +| --- | ----------------------- | --- | --- | ---------------------- | --- | --- | +| | Bouton | | 3 | Sélecteur | | 1 | +| | Image | | 6 | Séparateur | | 1 | +| | Zone répétée | | 1 | Superchamp | | 1 | +| | Attribut zone répétée | | 2 | Champ Modèle de champs | | 9 | +| | Option de sélecteur | | 2 | Case barre de message | | 1 | +| | Rupture de zone répétée | | 2 | Traitement de texte | | 1 | +Nombre d'éléments dans la fenêtre : 38 +FEN_Fiche_Modele_Rapport +Informations sur les champs +Fenêtre : FEN_Fiche_Modele_Rapport +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | laitini tatE | sucof cevA | +| --- | --- | --------------------- | --- | --- | ------------ | ---------- | +ruetuaH cilc cevA +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| IMG_Modele | | -154 -16 | 55 41 | 0 | Actif | | +| ---------- | --- | -------- | ----- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | 2477 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +Séparateur +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SPLIT_Sep | | 236 | 58 6 | 588 | 0 | Actif | | +| --------- | --- | --- | ---- | --- | --- | ----- | --- | +Zone répétée +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| ZR_Liste | | 0 | 209 234 | 433 | 0 | Actif | | +| -------- | --- | --- | ------- | --- | --- | ----- | --- | +Champ Modèle de champs +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | ---------- | +| | | X noitisoP Y noitisoP | | | | | | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Annuler | | 906 | 1 141 | 35 | 0 | Actif | | +| -------------- | --- | ---- | -------- | --- | --- | ----- | --- | +| CMOD_BordFen | | 0 | -29 1063 | 29 | 0 | Actif | | +| CMOD_EnvoiMob | | 4 | 57 230 | 87 | 0 | Actif | | +| CMOD_NomModele | | 4 | 1 894 | 56 | 0 | Actif | | +| CMOD_RubExtra | | 2 | 152 230 | 35 | 0 | Actif | | +| CMOD_Valider | | 1053 | 1 141 | 35 | 0 | Actif | | +Traitement de texte +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| TT_Modele | | 244 | 65 955 | 577 | 0 | Actif | | +| --------- | --- | --- | ------ | --- | --- | ----- | --- | +Zone répétée : ZR_Liste +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Groupe | 3 | -1 30 | 13 0 | Grisé | Gauche | Haut | | +| ---------- | --- | ----- | ----- | ----- | ------ | ---- | ---- | +| LIB_Id | 9 | 53 23 | 13 0 | Grisé | Droite | Haut | | +| LIB_Ordre | 3 | 54 16 | 17 0 | Grisé | Droite | Haut | | +| LIB_Rup | 27 | 0 186 | 21 0 | Actif | Gauche | Haut | | +| 06/08/2026 | | | Batik | | | | 2478 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +ATT_Groupe +ATT_Ordre +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Copier | 1 | 20 38 | 33 | 0 | Actif | | +| ------------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_Nom | 41 | 0 172 | 40 | 0 | Actif | | +| CMOD_Rubrique | 41 | 40 172 | 26 | 0 | Actif | | +Rupture de zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +RUPT_BasRupture1 +RUPT_HautRupture1 +Champ Modèle de champs : ZR_Liste.CMOD_Copier +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | laitini tatE | | sucof cevA | +| --- | --- | --- | --- | ------------ | --- | ---------- | +X noitisoP Y noitisoP +| | | ruegraL ruetuaH | | | cilc cevA | | +| --- | --- | --------------- | --- | --- | --------- | --- | +elbisiV +nalP +| IMG_Icone | 0 0 | 38 33 | 0 | Actif | | | +| ---------- | --- | ----- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | 2479 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +Champ Modèle de champs : ZR_Liste.CMOD_Nom +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC .trev egardaC | | +| --- | --- | --- | --- | --- | --------------------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 0 0 | 172 40 | 0 | Actif | Gauche Centre | | +| ------- | --- | ------ | --- | ----- | ------------- | --- | +Champ Modèle de champs : ZR_Liste.CMOD_Rubrique +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC .trev egardaC | | +| --- | --- | --- | --- | ------------ | --------------------------- | ---------- | +| | | | | laitini tatE | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 0 0 | 172 26 | 0 | Actif | Gauche Centre | | +| ------- | --- | ------ | --- | ----- | ------------- | --- | +Champ Modèle de champs : CMOD_Annuler +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| BTN_Annuler | 906 | 1 141 | 35 | 0 | Actif | Normal | +| ----------- | --- | ----- | --- | --- | ----- | ------ | +Champ Modèle de champs : CMOD_BordFen +| 06/08/2026 | | Batik | | | | 2480 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --------------- | --- | ------------ | --- | --- | --- | +| | | | ruegraL ruetuaH | | | | | | +elbisiV +nalP +| LIB_Libellé | 91 | -27 | 940 25 | | 0 Actif | Gauche | Centre | | +| ----------- | --- | --- | ------ | --- | ------- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | ---------- | +| | | | | ruetuaH | | | cilc cevA | | +| | | | ruegraL | | | elbisiV | | | +nalP +| IMG_AideFenetre | 1031 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | ---- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_EnvoiMob +Sélecteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | staté siorT | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | ----------- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| SEL_Sel | 4 | 57 | 230 | 87 | 0 | Actif | 1 | | +| ---------- | --- | --- | ----- | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 2481 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +Champ Modèle de champs : CMOD_NomModele +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_Texte | 4 1 | 894 56 | 0 | Actif | Texte | Non | | | | +| --------- | --- | ------ | --- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_RubExtra +Bouton +notuob epyT +| | | | | | | | laitini tatE BAT ehcuoT | | | +| --- | --- | --- | --- | --- | --- | --- | ----------------------- | --- | --- | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| BTN_Valider | | 2 | 152 | 230 | 35 | 0 | Actif | Normal | | +| ----------- | --- | --- | --- | --- | --- | --- | ----- | ------ | --- | +Champ Modèle de champs : CMOD_Valider +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Valider | | 1053 | 1 | 141 | 35 | 0 | Actif | Normal | | +| ----------- | --- | ---- | --- | --- | --- | --- | ----- | ------ | --- | +Fenêtre : FEN_Fiche_Modele_Rapport +| 06/08/2026 | | | | Batik | | | | | 2482 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +06/08/2026 Batik 2483 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +Champ Modèle de champs : CMOD_EnvoiMob +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_NomModele +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2484 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +Champ Modèle de champs : CMOD_RubExtra +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2485 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +Image : IMG_Modele +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 +Séparateur : SPLIT_Sep +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 +Sens Vertical +Numéro aide 0 +Opacité 100 +Borne max. -1 +Borne min. -1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Batik 2486 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +Facteur d'agrandissement 0 +Sauve position Oui +Image D:\Projets Windev\Batik\Nouvelle +Ancrage Hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Traitement de texte : TT_Modele +Ordre navigation 6 +Épinglé Non +Masquer lors du scrolling Non +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Autorise ChangeGabarit Oui +Lien automatique Oui +Verifier l'orthographe Oui +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 +Édition HTML Non +Thème sur ruban Non +Change Document Oui +Mode d'affichage Plusieurs listes +Liaison des données :oRapport.bufModele +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 +Zone répétée : ZR_Liste +Libellé FR: &Zone répétée +Ordre navigation 8 +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 +Hauteur ligne max. 0 +Hauteur ligne 65 +Largeur colonne 232 +06/08/2026 Batik 2487 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Oui +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 +06/08/2026 Batik 2488 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2489 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 2490 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 2491 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 +06/08/2026 Batik 2492 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 +06/08/2026 Batik 2493 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +Ancrage Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_EnvoiMob +Sélecteur : CMOD_EnvoiMob.SEL_Sel +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Sélecteur +Valeur initiale 1 +Ordre navigation 1 +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 Oui +Option format RTF Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :oRapport.bMobile +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +06/08/2026 Batik 2494 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +Largeur image 85 +Nb. étapes animation 1 +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 +Champ Modèle de champs : CMOD_NomModele +Champ de saisie : CMOD_NomModele.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 5 +Largeur interne 893 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 2495 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › 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 Automatique +Complétion système de fichier Non +Saisie invalide Oui, non 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> +Liaison des données :oRapport.saNom +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2496 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +Champ Modèle de champs : CMOD_RubExtra +Bouton : CMOD_RubExtra.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2497 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2498 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +Zone répétée : ZR_Liste +Attribut zone répétée : ZR_Liste.ATT_Groupe (1) +Champ associé LIB_Groupe +Propriété associée 1 +Attribut zone répétée : ZR_Liste.ATT_Ordre (2) +Champ associé LIB_Ordre +Propriété associée 1 +Champ Modèle de champs : ZR_Liste.CMOD_Copier +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_Liste.CMOD_Nom +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +06/08/2026 Batik 2499 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_Liste.CMOD_Rubrique +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_Liste.LIB_Groupe +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 Tenir compte du cadrage +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 +06/08/2026 Batik 2500 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +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é : ZR_Liste.LIB_Id +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Numérique +Masque saisie FR: 99 999 999 999 999 999 999 +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 +06/08/2026 Batik 2501 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +Libellé : ZR_Liste.LIB_Ordre +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Numérique +Masque saisie FR: 99 999 999 +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é : ZR_Liste.RUPT_HautRupture1.LIB_Rup +Libellé FR: Libellé +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 +06/08/2026 Batik 2502 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › 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 +Rupture de zone répétée : ZR_Liste.RUPT_BasRupture1 (4) +Toujours visible Non +Attribut de rupture 0 +Rupture de zone répétée : ZR_Liste.RUPT_HautRupture1 (3) +Toujours visible Non +Attribut de rupture 0 +Champ Modèle de champs : ZR_Liste.CMOD_Copier +Image : ZR_Liste.CMOD_Copier.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\copy-paste.svg +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 +06/08/2026 Batik 2503 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : ZR_Liste.CMOD_Nom +Libellé : ZR_Liste.CMOD_Nom.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +06/08/2026 Batik 2504 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_Liste.CMOD_Rubrique +Libellé : ZR_Liste.CMOD_Rubrique.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 +06/08/2026 Batik 2505 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Informations sur les champs +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 +FEN_Fiche_Modele_Rapport +Code +Déclarations globales de FEN_Fiche_Modele_Rapport +procédure FEN_Fiche_Modele_Rapport(tbaParametres est un tableau associatif de chaînes ANSI) +MoiMême..Alias = tbaParametres[cParam_Alias] +nId est un entier sur 8 octets = tbaParametres[cParam_IdFen] +oRapport est un MModeleRapport +tbExtra est un tableau de STJSON_MembreRubChamps +bModif est un booléen +Fin d'initialisation de FEN_Fiche_Modele_Rapport +Filtrer() +FiltrerRub() +Fermeture de FEN_Fiche_Modele_Rapport +renvoyer bModif +FEN_Fiche_Modele_Rapport +Code des champs +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +06/08/2026 Batik 2506 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +bModif = Faux +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +06/08/2026 Batik 2507 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_EnvoiMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_EnvoiMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_EnvoiMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_EnvoiMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_EnvoiMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_EnvoiMob +06/08/2026 Batik 2508 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_EnvoiMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SEL_Sel ( CMOD_EnvoiMob ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SEL_Sel ( CMOD_EnvoiMob ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SEL_Sel ( CMOD_EnvoiMob ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SEL_Sel ( CMOD_EnvoiMob ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SEL_Sel ( CMOD_EnvoiMob ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NomModele +salib = "Nom du modèle" +Fin d'initialisation de CMOD_NomModele +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NomModele +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NomModele +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NomModele +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NomModele +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NomModele +06/08/2026 Batik 2509 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NomModele +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NomModele ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_NomModele ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_NomModele ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_NomModele ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NomModele ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_RubExtra +salib = "Créer un mot-clé" +Fin d'initialisation de CMOD_RubExtra +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_RubExtra +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_RubExtra +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_RubExtra +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_RubExtra +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_RubExtra +06/08/2026 Batik 2510 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_RubExtra +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_RubExtra ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_RubExtra ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CreerUnMotCle() +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +06/08/2026 Batik 2511 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +bModif = Vrai +Ferme() +fin +Entrée dans ZR_Liste +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Copier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Copier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Copier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Copier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Copier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Copier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Copier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Copier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Copier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +AjouterRubDoc() +A chaque modification de IMG_Icone ( CMOD_Copier ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2512 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Code des champs +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Copier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Copier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Copier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Rubrique +06/08/2026 Batik 2513 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Rubrique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Rubrique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Rubrique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Rubrique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Rubrique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Rubrique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Rubrique ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_Rubrique ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_Rup ( ZR_Liste ) +// Version 1 +// Description +// Libellé simple +FEN_Fiche_Modele_Rapport +Procédures +Procédure locale AjouterRubDoc +06/08/2026 Batik 2514 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Procédures +procédure AjouterRubDoc() +nPos est un entier = ZR_Liste +si nPos > 0 _et_ ZR_Liste[nPos].CMOD_Rubrique.LIB_lib <> "" _et_ ZR_Liste[nPos].LIB_Id > 0 alors +h est un entier = TableauCherche(gtbListeRubDoc,tcLinéairePremier,"nIdRub",ZR_Liste[nPos].LIB_Id) +si h > 0 alors +si gtbListeRubDoc[h].TypeMembre = cTypeTableu alors +InsererTableauTexte(gtbListeRubDoc[h].ListeMembre) +sinon +elt est un docElément +elt..Type = typeDocElémentTexte +elt..Texte = gtbListeRubDoc[h].Rubrique +DocInsère(TT_Modele,TT_Modele..Curseur,elt) +fin +fin +fin +Procédure locale CreerUnMotCle +procédure CreerUnMotCle() +UnDoc est un Document = TT_Modele +si UnDoc <> Null alors +stUnRub est un STJSON_MembreRubChamps = Ouvre(FEN_Mot_Cle,UnDoc) +si TableauCherche(tbExtra,tcLinéairePremier,"Rubrique",stUnRub:Rubrique) <= 0 alors +si stUnRub:Rubrique <> "" alors +elt est un docElément +elt..Type = typeDocElémentTexte +elt..Texte = stUnRub:Rubrique +DocInsère(TT_Modele,TT_Modele..Curseur,elt) +fin +TableauAjoute(tbExtra,stUnRub) +fin +fin +Procédure locale Enregistrer +procédure Enregistrer() +EcranVersSource() +si SansEspace(oRapport:saNom) = "" alors +Erreur("Le nom du modèle est obligatoire") +renvoyer Faux +fin +tbFrag est un tableau de docFragments +tbExtraEnregistre est un tableau de STJSON_MembreRubChamps +pour tout stEle de tbExtra +tbFrag = DocRecherche(TT_Modele,stEle.Rubrique,MotComplet+SansCasse) +si tbFrag..Occurrence > 0 alors +TableauAjoute(tbExtraEnregistre,stEle) +fin +fin +si tbExtraEnregistre..Occurrence > 0 alors +Sérialise(tbExtraEnregistre,oRapport:saExtraJson,psdJSON) +sinon +oRapport:saExtraJson = "" +06/08/2026 Batik 2515 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Procédures +fin +si pas oRapport:Enregistrer() alors +renvoyer Faux +sinon +renvoyer Vrai +fin +Procédure locale Filtrer +procédure Filtrer() +si nId > 0 alors +si HLitRecherchePremier(ModeleRapport,MRP_PKID,nId) alors +FichierVersMémoire(oRapport,ModeleRapport) +SourceVersEcran() +si oRapport:saExtraJson <> "" alors +Désérialise(tbExtra,oRapport:saExtraJson,psdJSON) +fin +sinon +UneErreur:Init(ErreurApp.ErreurHFSQL,"Modèle introuvable","FEN_Fiche_Modele_Rapport.Filtrer") +fin +sinon +//****** A fin d'éviter de bugs liée a TT_Modele = null ******// +monDoc est un Document +elt est un docElément +elt..Type = typeDocElémentTexte +elt..Texte = " " +DocInsère(monDoc,1,elt) +TT_Modele = monDoc +fin +Procédure locale FiltrerRub +procédure FiltrerRub() +ZoneRépétéeSupprimeTout(ZR_Liste) +TableauTrie(gtbListeRubDoc,ttMembre+tccRespecteNumérique,"+Ordre;GroupeApp") +n est un entier +pour tout stEle de gtbListeRubDoc +n = ZoneRépétéeAjouteLigne(ZR_Liste) +ZR_Liste[n].LIB_Groupe = stEle.GroupeApp +ZR_Liste[n].CMOD_Nom.LIB_lib = stEle.Nom +ZR_Liste[n].CMOD_Rubrique.LIB_lib = stEle.Rubrique +ZR_Liste[n].LIB_Id = stEle.nIdRub +ZR_Liste[n].LIB_Ordre = stEle.Ordre +RUPT_HautRupture1[n].LIB_Rup = DonneNomGroupeRubrique(stEle.GroupeApp) +fin +ZoneRépétéeTrie("ATT_Groupe"+TAB+"ATT_Ordre") +Procédure locale InsererTableauTexte +procédure InsererTableauTexte(tbFormat est un tableau de STJSON_MembreRubChamps) +//tabFragments est tableau de docFragments +nCptCol est un entier = 2 +nCptLig est un entier = 2 +06/08/2026 Batik 2516 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Rapport › Procédures +nPosest un entier = TT_Modele..Curseur +nCptCol=tbFormat..Occurrence +// Insère un tableau dans le document avec 2 colonnes et le nombre de lignes nécessaires +DocInsèreTableau(TT_Modele,nPos,nCptCol,nCptLig) +// Définition d'un fragment correspondant au tableau +f est un docFragment(TT_Modele..Valeur, nPos+1, TT_Modele..Curseur) +soit para <- f..Paragraphe[1] +si para..Tableau<>Null alors +// Est ce bien ce tableau trouvé où l'on écrit les données +si para..PositionDébut=nPos+1 alors +//Boucle sur l'ensemble des colonnes +pour nColonne = 1 _à_ nCptCol +para..Tableau..Cellules[1,nColonne]..Contenu..Texte = tbFormat[nColonne]:Nom +// Remplissage de toutes les lignes de cette colonne +pour nLigne = 2 _à_ nCptLig +si tbFormat[nColonne]:TypeMembre dans (cTypeChaineSimple,cTypeChaineRTF, +cTypeDateSimple,cTypeDateHeure,cTypeReelSimple,cTypeBoolean,cTypeImage) alors +para..Tableau..Cellules[nLigne,nColonne]..Contenu..Texte=tbFormat[nColonne]: +Rubrique +fin +si tbFormat[nColonne]:TypeMembre = cTypeImage alors +para..Tableau..Cellules[1,nColonne]..MiseEnPage..Alignement = chCentre +fin +fin +fin +fin +fin +06/08/2026 Batik 2517 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › Image +FEN_Liste_Modele_Rapports +Image +FEN_Liste_Modele_Rapports +Informations générales +FEN_Liste_Modele_Rapports +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Liste_Modele_Rapports.wdw +Créé par SMR +06/08/2026 Batik 2518 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › Informations générales +| Date de création | | 19/09/2025 14:12:28 | | | | +| -------------------------- | --- | -------------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 02/04/2026 16:41:21 | | | | +| Titre | | FR: liste des modèles de rapport | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à l'écran | | | | +Note pour la documentation technique +FR: Liste des modèles de rapport +| Position X | 0 Position Y | | 0 Largeur | 1199 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 2519 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › Informations générales +| 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 | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 1 | Image | | | 6 | +| --- | ---------------------- | --- | --- | --------------------- | --- | --- | --- | +| | Table | | 1 | Superchamp | | | 1 | +| | Champ Modèle de champs | | 4 | Option de menu | | | 4 | +| | Colonne de table | | 3 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 21 +FEN_Liste_Modele_Rapports +Informations sur les champs +Fenêtre : FEN_Liste_Modele_Rapports +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_BordFen | | 0 | -29 1063 | 29 | 0 | Actif | | +| ------------ | --- | ---- | -------- | --- | --- | ----- | ---- | +| CMOD_Filtrer | | 1157 | 9 30 | 30 | 0 | Actif | | +| CMOD_Options | | 1118 | 9 30 | 30 | 0 | Actif | | +| CMOD_Table | | 8 | 47 1183 | 595 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 2520 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libellé | 91 | -27 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | --- | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 1031 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | ---- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_Filtrer +Image +| | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --------------------------------------- | ---------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +cilc cevA +| | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| IMG_Icone | 1157 | 9 | 30 | 30 | 0 | Actif | | | +| ---------- | ---- | --- | ----- | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 2521 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › Informations sur les champs +Champ Modèle de champs : CMOD_Options +Image +| | | | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | --- | ---------- | ---------- | --- | ------- | --- | --- | ------------ | --------------------- | ----------------- | +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| | | | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 1118 | 9 | 30 | 30 | | 0 | Actif | | | +| --------- | --- | ---- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Table +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 | | | | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | --- | --- | --- | +sruocraP +ruegraL ruetuaH +elbisiV +| | | | nalP | | elbaT | | | | | | +| ---------- | ----- | -------- | ---- | -------- | ------ | --- | --- | --- | --- | --- | +| TABLE_Info | 10 49 | 1177 589 | 0 | affichag | Mémoir | | | | | 2 | +Table : CMOD_Table.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | | elbairt ennoloC | ehcrehcer cevA | | | | | +| --- | --- | --- | --- | -------------- | --------------- | -------------- | ------------- | --- | --- | --- | +| | | | | ehcuag à eéxiF | | | .zroh egardaC | | | | +.trev egardaC +| | | | | elbaçalpéD | | | | | eisias epyT FTR tamroF | eisias cevA | +| --- | --- | --- | ------------ | ---------- | --- | --- | --- | --- | ---------------------- | ----------- | +| | | | laitini tatE | | | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +| COL_PKID | | 880 Grisé | | | | Droite | Centre | Numériq | | | +| ---------- | --- | --------- | --- | ----- | --- | ------ | ------ | ------- | ----- | ---- | +| COL_Nom | | 854 Actif | | | | Gauche | Centre | | Texte | | +| COL_Mobile | | 301 Actif | | | | Centre | Centre | | | | +| 06/08/2026 | | | | Batik | | | | | | 2522 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › Informations sur les champs +Fenêtre : FEN_Liste_Modele_Rapports +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Filtrer +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2523 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › Informations sur les champs +Champ Modèle de champs : CMOD_Options +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2524 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 2525 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 2526 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 +06/08/2026 Batik 2527 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › Informations sur les champs +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 +06/08/2026 Batik 2528 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › Informations sur les champs +Ancrage Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Filtrer +Image : CMOD_Filtrer.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Double_flèches.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 2529 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › Informations sur les champs +Champ Modèle de champs : CMOD_Options +Image : CMOD_Options.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\options.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 2530 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › Informations sur les champs +Champ Modèle de champs : CMOD_Table +Table : CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 2531 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › Informations sur les champs +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 : CMOD_Table.TABLE_Info +Colonne de table : CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 +06/08/2026 Batik 2532 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › 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 : CMOD_Table.TABLE_Info.COL_Nom (2) +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 800 Taux anc. hauteur 1000 +06/08/2026 Batik 2533 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › Informations sur les champs +Colonne de table : CMOD_Table.TABLE_Info.COL_Mobile (3) +Titre FR: Disponible (Mobile) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 200 Taux anc. hauteur 1000 +FEN_Liste_Modele_Rapports +Informations sur les menus +Menu contextuel : 'MNU_Options' +06/08/2026 Batik 2534 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › Informations sur les menus +Nom des options +OPT_Creer (2) +OPT_Modifier_le_modèle (3) +OPT_Supprimer_le_modèle (4) +Libellé des options : Français +Créer un nouveau modèle +Modifier le modèle +Supprimer le modèle +FEN_Liste_Modele_Rapports +Code +Déclarations globales de FEN_Liste_Modele_Rapports +procédure FEN_Liste_Modele_Rapports() +Fin d'initialisation de FEN_Liste_Modele_Rapports +Filtrer() +FEN_Liste_Modele_Rapports +Code des champs +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +06/08/2026 Batik 2535 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Filtrer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Filtrer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Filtrer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Filtrer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Filtrer +06/08/2026 Batik 2536 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Filtrer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Filtrer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Filtrer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Filtrer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Filtrer() +A chaque modification de IMG_Icone ( CMOD_Filtrer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Filtrer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Filtrer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Filtrer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Options +06/08/2026 Batik 2537 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +06/08/2026 Batik 2538 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2539 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › Code des champs +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection du menu de MNU_Options.OPT_Creer +Creer() +Sélection du menu de MNU_Options.OPT_Modifier_le_modèle +Modifier() +Sélection du menu de MNU_Options.OPT_Supprimer_le_modèle +Supprimer() +FEN_Liste_Modele_Rapports +Procédures +Procédure locale Creer +procédure Creer() +06/08/2026 Batik 2540 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › Procédures +tbaParametres est un tableau associatif de chaînes ANSI +tbaParametres[cParam_Alias] = "FEN_Fiche_Modele_Rapport" +tbaParametres[cParam_IdFen] = 0 +si Ouvre(FEN_Fiche_Modele_Rapport,tbaParametres) alors +Filtrer() +fin +Procédure locale Filtrer +procédure Filtrer() +h est un entier = TABLE_Info +TableSupprimeTout(TABLE_Info) +i est un entier +pour tout ModeleRapport sur MRP_PKID +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = ModeleRapport.MRP_PKID +COL_Nom[i] = ModeleRapport.MRP_Nom +COL_Mobile[i] = ModeleRapport.MRP_EnvoiMob +fin +si h > 0 _et_ h <= TABLE_Info..Occurrence alors +TableSelectPlus(TABLE_Info,h) +fin +Procédure locale Modifier +procédure Modifier() +tbaParametres est un tableau associatif de chaînes ANSI +tbaParametres[cParam_Alias] = "FEN_Fiche_Modele_Rapport" +nPos est un entier = TABLE_Info +si nPos > 0 _et_ COL_PKID[nPos] > 0 alors +tbaParametres[cParam_IdFen] = COL_PKID[nPos] +si Ouvre(FEN_Fiche_Modele_Rapport,tbaParametres) alors +Filtrer() +fin +fin +Procédure locale Supprimer +procédure Supprimer() +nPos est un entier = TABLE_Info +si nPos > 0 _et_ COL_PKID[nPos] > 0 alors +si OuiNon("Êtes-vous sûr de vouloir supprimer le rapport sélectionné : "+COL_Nom[nPos]) = Oui alors +si HLitRecherchePremier(ModeleRapport,MRP_PKID,COL_PKID[nPos]) alors +si pas HSupprime(ModeleRapport) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Erreur lors de la suppression du modèle de rapport","FEN_Liste_Rapports.Supprimer") +sinon +TableSupprime(TABLE_Info,nPos) +fin +sinon +UneErreur:Init(ErreurApp.ErreurHFSQL,"Rapport introuvable","FEN_Liste_Rapports.Supprimer") +fin +fin +06/08/2026 Batik 2541 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Rapports › Procédures +fin +| 06/08/2026 | Batik | 2542 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Image +FEN_Mot_Cle +Image +FEN_Mot_Cle +Informations générales +FEN_Mot_Cle +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Mot_Cle.wdw +Créé par SMR +Date de création 19/09/2025 16:59:15 +Dernière modification par susana@applilogik.fr +Date dernière modification 05/03/2026 19:22:33 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +Note pour la documentation technique +FR: Mots-clés +06/08/2026 Batik 2543 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 410 Hauteur | 457 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | --- | --- | --- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| 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 | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +| 06/08/2026 | | | Batik | | 2544 | +| ---------- | --- | --- | ----- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | 2 | Libellé | | | 2 | +| --- | ---------------------- | --- | --- | --------------------- | --- | --- | --- | +| | Bouton | | 2 | Image | | | 4 | +| | Combo | | 1 | Superchamp | | | 1 | +| | Champ Modèle de champs | | 7 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 20 +FEN_Mot_Cle +Informations sur les champs +Fenêtre : FEN_Mot_Cle +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Annuler | | 111 | 11 141 | 35 | 0 | Actif | | +| ---------------- | --- | --- | ------- | --- | --- | ----- | --- | +| CMOD_BordFen | | 0 | -29 269 | 29 | 0 | Actif | | +| CMOD_Code | | 6 | 53 395 | 26 | 0 | Actif | | +| CMOD_Description | | 6 | 206 395 | 191 | 0 | Actif | | +| CMOD_Lib | | 6 | 146 395 | 53 | 0 | Actif | | +| CMOD_Type | | 6 | 86 395 | 53 | 0 | Actif | | +| CMOD_Valider | | 260 | 11 141 | 35 | 0 | Actif | | +Champ Modèle de champs : CMOD_Annuler +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Annuler | | 111 11 | 141 35 | 0 | Actif | Normal | | +| ----------- | --- | ------ | ------ | --- | ----- | ------ | ---- | +| 06/08/2026 | | | Batik | | | | 2545 | + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | | 0 | -29 269 | 30 | 0 | Actif | | +| ----------- | --- | --- | ------- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libellé | 91 | -27 146 | 25 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | ---- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | | laitini tatE | | | +| --- | ---------- | ---------- | --------------- | --- | ------------ | --------- | --- | +| | | | ruegraL ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 237 | -26 | 28 23 | 0 | Actif | | | +| -------------------------- | --- | --- | ----- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_Code +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| LIB_lib | 6 | 53 395 | 26 0 | Actif | Gauche | Centre | | +| ---------- | --- | ------ | ----- | ----- | ------ | ------ | ---- | +| 06/08/2026 | | | Batik | | | | 2546 | + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Informations sur les champs +Champ Modèle de champs : CMOD_Description +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_Texte | 6 206 395 | 191 | 0 | Actif | Texte | | Non | | | +| --------- | --------- | --- | --- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Lib +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_Texte | 6 146 395 | 53 | 0 | Actif | Texte | | Non | | | +| --------- | --------- | --- | --- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Type +Combo +reihcif eétsissa eisiaS +| | | | | | | | | eriotagilbo eisiaS | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------------ | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | | | BAT ehcuoT | eisias cevA | | | +| --- | --------------------- | ------- | ------- | --- | ------------ | ---------- | ----------- | --- | --- | +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | | +| | | ruegraL | ruetuaH | | | | sruocraP | | | +elbisiV +| | | | | | | elbaT | eéirT | | | +| --- | --- | --- | --- | --- | --- | ----- | ----- | --- | --- | +nalP +| CMB_Combo | 6 86 | 395 | 53 | 0 | Actif | Mémoire | | Non | | +| ---------- | ---- | --- | --- | --- | ----- | ------- | --- | --- | ---- | +| 06/08/2026 | | | | | Batik | | | | 2547 | + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Bouton +BAT ehcuoT notuob epyT +laitini tatE +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Valider | | 260 11 | 141 35 | 0 | Actif | Normal | +| ----------- | --- | ------ | ------ | --- | ----- | ------ | +Fenêtre : FEN_Mot_Cle +Champ Modèle de champs : CMOD_Annuler +| Ordre navigation | | 2 | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | +| Curseur survol | | 0 | | | | | +| UI par l'utilisateur | | Selon fenêtre | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | | 0 | | | | | +| Taux Paral. Y | | 0 | | | | | +| Épinglé | | Non | | | | | +| Masquer lors du scrolling | | Non | | | | | +| Ancrage au contenu | | <Aucun> | | | | | +| Numéro aide | | 0 | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | | 0 | | | | | +| -------------------------- | ---- | ------ | ---- | ---- | --- | ---- | +| Facteur d'agrandissement | | 0 | | | | | +| Ancrage | | Droite | | | | | +| | 1000 | | 1000 | 1000 | | 1000 | +Taux anc. droite Taux anc. bas Taux anc. largeur Taux anc. hauteur +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { + "Libelle":"Barre de titre (Fen\u00eatre)" +} +| Ordre navigation | | 1 | | | | | +| ------------------------- | --- | ----------------------------------- | ----- | --- | --- | ---- | +| Curseur survol | | 0 | | | | | +| UI par l'utilisateur | | Selon fenêtre | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | | 0 | | | | | +| Taux Paral. Y | | 0 | | | | | +| Épinglé | | Non | | | | | +| Masquer lors du scrolling | | Non | | | | | +| 06/08/2026 | | | Batik | | | 2548 | + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Informations sur les champs +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Code +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Description +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2549 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Informations sur les champs +Champ Modèle de champs : CMOD_Lib +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Type +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2550 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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 +06/08/2026 Batik 2551 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › 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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 269 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2552 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 2553 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 2554 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 2555 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Code +Libellé : CMOD_Code.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 +06/08/2026 Batik 2556 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Informations sur les champs +Ancrage au contenu <Aucun> +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Description +Champ de saisie : CMOD_Description.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 7 +Largeur interne 394 +06/08/2026 Batik 2557 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Informations sur les champs +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 2558 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Informations sur les champs +Bouton droit : Monochrome Couleur monochrome du style +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Lib +Champ de saisie : CMOD_Lib.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 6 +Largeur interne 395 +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) +06/08/2026 Batik 2559 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › 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) 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2560 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Informations sur les champs +Champ Modèle de champs : CMOD_Type +Combo : CMOD_Type.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 395 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 6 +Largeur interne 395 +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 +06/08/2026 Batik 2561 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Informations sur les champs +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 Oui +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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 +06/08/2026 Batik 2562 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › 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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Mot_Cle +Code +Déclarations globales de FEN_Mot_Cle +procédure FEN_Mot_Cle(Corps est un Document) +saCode est une chaîne ANSI +stRub est un STJSON_MembreRubChamps +Fermeture de FEN_Mot_Cle +renvoyer stRub +FEN_Mot_Cle +Code des champs +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +06/08/2026 Batik 2563 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +stRub:Rubrique = "" +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen +06/08/2026 Batik 2564 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Code +06/08/2026 Batik 2565 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Description +salib = "Description" +Fin d'initialisation de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Description ) +06/08/2026 Batik 2566 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Description ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Description ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Description ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Description ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Lib +salib = "Libellé" +Fin d'initialisation de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Lib ) +06/08/2026 Batik 2567 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Lib ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Lib ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CalculCle() +A chaque modification de SAI_Texte ( CMOD_Lib ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Lib ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Type +salib = "Type" +Fin d'initialisation de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Type +06/08/2026 Batik 2568 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême..NomComplet,cTypeChamps) +Entrée dans CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +06/08/2026 Batik 2569 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Enregistrer() +FEN_Mot_Cle +Procédures +Procédure locale CalculCle +procédure CalculCle() +n est un entier +b est un entier +sCodeB est une chaîne ANSI = CMOD_Lib.SAI_Texte +sCodeR est une chaîne ANSI +si Corps <> Null _et_ sCodeB <> "" alors +sCodeB = DonneChaineNomVariable(sCodeB) +sCodeB = "$"+sCodeB +sCodeB += ["_"] +tantque b <= 0 +n+= 1 +sCodeR = sCodeB+n+"$" +tabFragments est tableau de docFragment = DocRecherche(Corps,sCodeR,MotComplet+SansCasse) +si tabFragments.Occurrence <= 0 alors +b = n +fin +fin +fin +si b > 0 alors +CMOD_Code.LIB_lib= sCodeR +fin +Procédure locale Enregistrer +procédure Enregistrer() +si CMOD_Type.CMB_Combo <= 0 alors +Info("Le type de mot clé est obligatoire") +retour +fin +si SansEspace(CMOD_Lib.SAI_Texte) = "" alors +Info("Le libellé est obligatoire") +retour +fin +06/08/2026 Batik 2570 + +Partie 3 › Fenêtre WINDEV › FEN_Mot_Cle › Procédures +CalculCle() +stRub:Nom = CMOD_Lib.SAI_Texte +stRub:Rubrique = CMOD_Code.LIB_lib +stRub:Description= CMOD_Description.SAI_Texte +stRub:TypeMembre = CMOD_Type.CMB_Combo +stRub:EnvoiMob = Vrai +stRub:GroupeApp = cRub_Extra +Ferme() +06/08/2026 Batik 2571 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Image +FEN_Fiche_Modele_Mail +Image +FEN_Fiche_Modele_Mail +Informations générales +FEN_Fiche_Modele_Mail +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Fiche_Modele_Mail.wdw +Créé par SMR +06/08/2026 Batik 2572 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations générales +| Date de création | | 19/09/2025 08:15:14 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 24/03/2026 16:59:29 | | | | +| Titre | | FR: Modèle de Mail | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Configuration des modèles de mails +| Position X | 0 Position Y | | 0 Largeur | 1199 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 2573 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations générales +| 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 | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Champ de saisie | | 2 | Libellé | | 7 | +| --- | ----------------------- | --- | --- | ---------------------- | --- | --- | +| | Bouton | | 3 | Sélecteur | | 1 | +| | Image | | 6 | Séparateur | | 1 | +| | Zone répétée | | 1 | Superchamp | | 1 | +| | Attribut zone répétée | | 2 | Champ Modèle de champs | | 10 | +| | Option de sélecteur | | 2 | Case barre de message | | 1 | +| | Rupture de zone répétée | | 2 | Traitement de texte | | 1 | +Nombre d'éléments dans la fenêtre : 40 +FEN_Fiche_Modele_Mail +Informations sur les champs +Fenêtre : FEN_Fiche_Modele_Mail +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | +ruegraL ruetuaH cilc cevA +elbisiV +nalP +| IMG_Modele | | -154 -16 | 55 41 | 0 | Actif | | +| ---------- | --- | -------- | ----- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | 2574 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Séparateur +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SPLIT_Sep | | 236 | 58 6 | 588 | 0 | Actif | | +| --------- | --- | --- | ---- | --- | --- | ----- | --- | +Zone répétée +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| ZR_Liste | | 0 | 209 234 | 433 | 0 | Actif | | +| -------- | --- | --- | ------- | --- | --- | ----- | --- | +Champ Modèle de champs +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | ---------- | +| | | X noitisoP Y noitisoP | | | | | | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Annuler | | 906 | 1 141 | 35 | 0 | Actif | | +| -------------- | --- | ---- | -------- | --- | --- | ----- | --- | +| CMOD_BordFen | | 0 | -29 1063 | 29 | 0 | Actif | | +| CMOD_EnvoiMob | | 4 | 1 301 | 51 | 0 | Actif | | +| CMOD_NomModele | | 4 | 54 1190 | 56 | 0 | Actif | | +| CMOD_RubExtra | | 2 | 170 230 | 35 | 0 | Actif | | +| CMOD_SansNom1 | | 4 | 108 1190 | 53 | 0 | Actif | | +| CMOD_Valider | | 1053 | 1 141 | 35 | 0 | Actif | | +Traitement de texte +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| TT_Modele | | 244 | 163 950 | 502 | 0 | Actif | | +| --------- | --- | --- | ------- | --- | --- | ----- | --- | +Zone répétée : ZR_Liste +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | ruegraL | elbisiV | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +nalP +| LIB_Groupe | 3 | -1 30 | 13 0 | Grisé | Gauche | Haut | | +| ---------- | --- | ----- | ----- | ----- | ------ | ---- | ---- | +| LIB_Id | 9 | 53 23 | 13 0 | Grisé | Droite | Haut | | +| LIB_Ordre | 3 | 54 16 | 17 0 | Grisé | Droite | Haut | | +| LIB_Rup | 27 | 0 186 | 21 0 | Actif | Gauche | Haut | | +| 06/08/2026 | | | Batik | | | | 2575 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +ATT_Groupe +ATT_Ordre +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Copier | 1 | 20 38 | 33 | 0 | Actif | | +| ------------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_Nom | 41 | 0 172 | 40 | 0 | Actif | | +| CMOD_Rubrique | 41 | 40 172 | 26 | 0 | Actif | | +Rupture de zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +RUPT_BasRupture1 +RUPT_HautRupture1 +Champ Modèle de champs : ZR_Liste.CMOD_Copier +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | laitini tatE | | sucof cevA | +| --- | --- | --- | --- | ------------ | --- | ---------- | +X noitisoP Y noitisoP +| | | ruegraL ruetuaH | | | cilc cevA | | +| --- | --- | --------------- | --- | --- | --------- | --- | +elbisiV +nalP +| IMG_Icone | 0 0 | 38 33 | 0 | Actif | | | +| ---------- | --- | ----- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | 2576 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Champ Modèle de champs : ZR_Liste.CMOD_Nom +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC .trev egardaC | | +| --- | --- | --- | --- | --- | --------------------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 0 0 | 172 40 | 0 | Actif | Gauche Centre | | +| ------- | --- | ------ | --- | ----- | ------------- | --- | +Champ Modèle de champs : ZR_Liste.CMOD_Rubrique +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC .trev egardaC | | +| --- | --- | --- | --- | ------------ | --------------------------- | ---------- | +| | | | | laitini tatE | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 0 0 | 172 26 | 0 | Actif | Gauche Centre | | +| ------- | --- | ------ | --- | ----- | ------------- | --- | +Champ Modèle de champs : CMOD_Annuler +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| BTN_Annuler | 906 | 1 141 | 35 | 0 | Actif | Normal | +| ----------- | --- | ----- | --- | --- | ----- | ------ | +Champ Modèle de champs : CMOD_BordFen +| 06/08/2026 | | Batik | | | | 2577 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --------------- | --- | ------------ | --- | --- | --- | +| | | | ruegraL ruetuaH | | | | | | +elbisiV +nalP +| LIB_Libellé | 91 | -27 | 940 25 | | 0 Actif | Gauche | Centre | | +| ----------- | --- | --- | ------ | --- | ------- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | ---------- | +| | | | | ruetuaH | | | cilc cevA | | +| | | | ruegraL | | | elbisiV | | | +nalP +| IMG_AideFenetre | 1031 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | ---- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_EnvoiMob +Sélecteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | staté siorT | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | ----------- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| SEL_Sel | 4 | 1 | 301 | 50 | 0 | Actif | 1 | | +| ---------- | --- | --- | ----- | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 2578 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Champ Modèle de champs : CMOD_NomModele +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_Texte | 4 54 1190 | 56 0 | Actif | Texte | | Non | | | | +| --------- | --------- | ---- | ----- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_RubExtra +Bouton +notuob epyT +| | | | | | | | laitini tatE BAT ehcuoT | | | +| --- | --- | --- | --- | --- | --- | --- | ----------------------- | --- | --- | +X noitisoP Y noitisoP +| | | | | ruegraL ruetuaH | | | | | | +| --- | --- | --- | --- | --------------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| BTN_Valider | | 2 170 | | 230 | 35 | 0 | Actif | Normal | | +| ----------- | --- | ----- | --- | --- | --- | --- | ----- | ------ | --- | +Champ Modèle de champs : CMOD_SansNom1 +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_Texte | 4 108 1190 | 53 0 | Actif | Texte | | Non | | | | +| ---------- | ---------- | ---- | ----- | ----- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | 2579 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Bouton +BAT ehcuoT notuob epyT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | +| --- | --- | --- | ------- | ------- | --- | --- | +elbisiV +nalP +| BTN_Valider | | 1053 | 1 141 | 35 0 | Actif | Normal | +| ----------- | --- | ---- | ----- | ---- | ----- | ------ | +Fenêtre : FEN_Fiche_Modele_Mail +Champ Modèle de champs : CMOD_Annuler +| Ordre navigation | | 3 | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | +| Curseur survol | | 0 | | | | | +| UI par l'utilisateur | | Selon fenêtre | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | | 0 | | | | | +| Taux Paral. Y | | 0 | | | | | +| Épinglé | | Non | | | | | +| Masquer lors du scrolling | | Non | | | | | +| Ancrage au contenu | | <Aucun> | | | | | +| Numéro aide | | 0 | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | | 0 | | | | | +| -------------------------- | ---- | ------ | ---- | --- | ---- | ---- | +| Facteur d'agrandissement | | 0 | | | | | +| Ancrage | | Droite | | | | | +| | 1000 | | 1000 | | 1000 | 1000 | +Taux anc. droite Taux anc. bas Taux anc. largeur Taux anc. hauteur +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { + "Libelle":"Barre de titre (Fen\u00eatre)" +} +| Ordre navigation | | 1 | | | | | +| ------------------------- | --- | ----------------------------------- | ----- | --- | --- | ---- | +| Curseur survol | | 0 | | | | | +| UI par l'utilisateur | | Selon fenêtre | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | | 0 | | | | | +| Taux Paral. Y | | 0 | | | | | +| Épinglé | | Non | | | | | +| Masquer lors du scrolling | | Non | | | | | +| 06/08/2026 | | | Batik | | | 2580 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_EnvoiMob +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_NomModele +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2581 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Champ Modèle de champs : CMOD_RubExtra +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom1 +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2582 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Modele +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 +06/08/2026 Batik 2583 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Séparateur : SPLIT_Sep +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 +Sens Vertical +Numéro aide 0 +Opacité 100 +Borne max. -1 +Borne min. -1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Sauve position Oui +Image D:\Projets Windev\Batik\Nouvelle +Ancrage Hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Traitement de texte : TT_Modele +Ordre navigation 7 +Épinglé Non +Masquer lors du scrolling Non +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Autorise ChangeGabarit Oui +Lien automatique Oui +Verifier l'orthographe Oui +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 +Édition HTML Oui +Thème sur ruban Non +Change Document Oui +Mode d'affichage Plusieurs listes +Liaison des données :oMail.bufModele +06/08/2026 Batik 2584 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +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 +Zone répétée : ZR_Liste +Libellé FR: &Zone répétée +Ordre navigation 9 +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 +Hauteur ligne max. 0 +Hauteur ligne 65 +Largeur colonne 232 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +06/08/2026 Batik 2585 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Mode menu ctx. <Aucun> +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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 +06/08/2026 Batik 2586 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Facteur d'agrandissement 0 +Type flèche <Aucun> +Texte Markdown Non +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2587 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 2588 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 2589 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 2590 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_EnvoiMob +Sélecteur : CMOD_EnvoiMob.SEL_Sel +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Sélecteur +Valeur initiale 1 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Avec ValeurRenvoyée Oui +Taux Paral. hauteur 0 +06/08/2026 Batik 2591 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +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 Oui +Option format RTF Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :oMail.bMobile +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +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 +Champ Modèle de champs : CMOD_NomModele +06/08/2026 Batik 2592 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Champ de saisie : CMOD_NomModele.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 5 +Largeur interne 1189 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 2593 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :oMail.saNom +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_RubExtra +Bouton : CMOD_RubExtra.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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 +06/08/2026 Batik 2594 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom1 +Champ de saisie : CMOD_SansNom1.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 +06/08/2026 Batik 2595 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 4 +Largeur interne 1190 +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 +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> +Liaison des données :oMail.saSujet +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 2596 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +06/08/2026 Batik 2597 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : ZR_Liste +Attribut zone répétée : ZR_Liste.ATT_Groupe (1) +Champ associé LIB_Groupe +Propriété associée 1 +Attribut zone répétée : ZR_Liste.ATT_Ordre (2) +Champ associé LIB_Ordre +Propriété associée 1 +Champ Modèle de champs : ZR_Liste.CMOD_Copier +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2598 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Champ Modèle de champs : ZR_Liste.CMOD_Nom +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_Liste.CMOD_Rubrique +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2599 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Libellé : ZR_Liste.LIB_Groupe +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 Tenir compte du cadrage +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é : ZR_Liste.LIB_Id +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Numérique +06/08/2026 Batik 2600 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Masque saisie FR: 99 999 999 999 999 999 999 +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é : ZR_Liste.LIB_Ordre +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Numérique +Masque saisie FR: 99 999 999 +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 +06/08/2026 Batik 2601 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Libellé : ZR_Liste.RUPT_HautRupture1.LIB_Rup +Libellé FR: Libellé +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 +Rupture de zone répétée : ZR_Liste.RUPT_BasRupture1 (4) +Toujours visible Non +Attribut de rupture 0 +06/08/2026 Batik 2602 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Rupture de zone répétée : ZR_Liste.RUPT_HautRupture1 (3) +Toujours visible Non +Attribut de rupture 0 +Champ Modèle de champs : ZR_Liste.CMOD_Copier +Image : ZR_Liste.CMOD_Copier.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\copy-paste.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 2603 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Champ Modèle de champs : ZR_Liste.CMOD_Nom +Libellé : ZR_Liste.CMOD_Nom.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2604 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Informations sur les champs +Champ Modèle de champs : ZR_Liste.CMOD_Rubrique +Libellé : ZR_Liste.CMOD_Rubrique.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Fiche_Modele_Mail +Code +Déclarations globales de FEN_Fiche_Modele_Mail +06/08/2026 Batik 2605 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Code +procédure FEN_Fiche_Modele_Mail(tbaParametres est un tableau associatif de chaînes ANSI) +MoiMême..Alias = tbaParametres[cParam_Alias] +nId est un entier sur 8 octets = tbaParametres[cParam_IdFen] +oMail est un MModeleMail +tbExtra est un tableau de STJSON_MembreRubChamps +bModif est un booléen +Maximise() +Fin d'initialisation de FEN_Fiche_Modele_Mail +Filtrer() +FiltrerRub() +Fermeture de FEN_Fiche_Modele_Mail +renvoyer bModif +FEN_Fiche_Modele_Mail +Code des champs +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +06/08/2026 Batik 2606 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +bModif = Faux +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +06/08/2026 Batik 2607 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Code des champs +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_EnvoiMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_EnvoiMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_EnvoiMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_EnvoiMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_EnvoiMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_EnvoiMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_EnvoiMob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SEL_Sel ( CMOD_EnvoiMob ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SEL_Sel ( CMOD_EnvoiMob ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SEL_Sel ( CMOD_EnvoiMob ) +06/08/2026 Batik 2608 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SEL_Sel ( CMOD_EnvoiMob ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SEL_Sel ( CMOD_EnvoiMob ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NomModele +salib = "Nom du modèle" +Fin d'initialisation de CMOD_NomModele +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NomModele +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NomModele +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NomModele +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NomModele +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NomModele +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NomModele +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NomModele ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_NomModele ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_NomModele ) +06/08/2026 Batik 2609 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_NomModele ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NomModele ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_RubExtra +salib = "Créer un mot-clé" +Fin d'initialisation de CMOD_RubExtra +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_RubExtra +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_RubExtra +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_RubExtra +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_RubExtra +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_RubExtra +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_RubExtra +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_RubExtra ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_RubExtra ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +06/08/2026 Batik 2610 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Code des champs +CreerUnMotCle() +Déclarations globales de CMOD_SansNom1 +salib = "Sujet" +Fin d'initialisation de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_SansNom1 ) +06/08/2026 Batik 2611 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +bModif = Vrai +Ferme() +fin +Entrée dans ZR_Liste +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Copier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Copier +06/08/2026 Batik 2612 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Copier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Copier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Copier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Copier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Copier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Copier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Copier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +AjouterRubDoc() +A chaque modification de IMG_Icone ( CMOD_Copier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Copier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Copier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Copier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Nom +06/08/2026 Batik 2613 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Rubrique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Rubrique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Rubrique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Rubrique +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2614 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Rubrique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Rubrique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Rubrique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Rubrique ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_Rubrique ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_Rup ( ZR_Liste ) +// Version 1 +// Description +// Libellé simple +FEN_Fiche_Modele_Mail +Procédures +Procédure locale AjouterRubDoc +procédure AjouterRubDoc() +nPos est un entier = ZR_Liste +si nPos > 0 _et_ ZR_Liste[nPos].CMOD_Rubrique.LIB_lib <> "" _et_ ZR_Liste[nPos].LIB_Id > 0 alors +h est un entier = TableauCherche(gtbListeRubDoc,tcLinéairePremier,"nIdRub",ZR_Liste[nPos].LIB_Id) +si h > 0 alors +si gtbListeRubDoc[h].TypeMembre = cTypeTableu alors +InsererTableauTexte(gtbListeRubDoc[h].ListeMembre) +sinon +elt est un docElément +elt..Type = typeDocElémentTexte +elt..Texte = gtbListeRubDoc[h].Rubrique +DocInsère(TT_Modele,TT_Modele..Curseur,elt) +fin +fin +06/08/2026 Batik 2615 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Procédures +fin +Procédure locale CreerUnMotCle +procédure CreerUnMotCle() +UnDoc est un Document = TT_Modele +si UnDoc <> Null alors +stUnRub est un STJSON_MembreRubChamps = Ouvre(FEN_Mot_Cle,UnDoc) +si TableauCherche(tbExtra,tcLinéairePremier,"Rubrique",stUnRub:Rubrique) <= 0 alors +si stUnRub:Rubrique <> "" alors +elt est un docElément +elt..Type = typeDocElémentTexte +elt..Texte = stUnRub:Rubrique +DocInsère(TT_Modele,TT_Modele..Curseur,elt) +fin +TableauAjoute(tbExtra,stUnRub) +fin +fin +Procédure locale Enregistrer +procédure Enregistrer() +EcranVersSource() +si SansEspace(oMail:saNom) = "" alors +Erreur("Le nom du modèle est obligatoire") +renvoyer Faux +fin +tbFrag est un tableau de docFragments +tbExtraEnregistre est un tableau de STJSON_MembreRubChamps +pour tout stEle de tbExtra +tbFrag = DocRecherche(TT_Modele,stEle.Rubrique,MotComplet+SansCasse) +si tbFrag..Occurrence > 0 alors +TableauAjoute(tbExtraEnregistre,stEle) +fin +fin +si tbExtraEnregistre..Occurrence > 0 alors +Sérialise(tbExtraEnregistre,oMail:saExtraJson,psdJSON) +sinon +oMail:saExtraJson = "" +fin +si pas oMail:Enregistrer() alors +renvoyer Faux +sinon +renvoyer Vrai +fin +Procédure locale Filtrer +procédure Filtrer() +si nId > 0 alors +si HLitRecherchePremier(MailModele,MM_PKID,nId) alors +FichierVersMémoire(oMail,MailModele) +SourceVersEcran() +06/08/2026 Batik 2616 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Procédures +si oMail:saExtraJson <> "" alors +Désérialise(tbExtra,oMail:saExtraJson,psdJSON) +fin +sinon +UneErreur:Init(ErreurApp.ErreurHFSQL,"Modèle introuvable","FEN_Fiche_Modele_Mail.Filtrer") +fin +sinon +//****** A fin d'éviter de bugs liée a TT_Modele = null ******// +monDoc est un Document +elt est un docElément +elt..Type = typeDocElémentTexte +elt..Texte = " " +DocInsère(monDoc,1,elt) +TT_Modele = monDoc +fin +Procédure locale FiltrerRub +procédure FiltrerRub() +ZoneRépétéeSupprimeTout(ZR_Liste) +TableauTrie(gtbListeRubDoc,ttMembre+tccRespecteNumérique,"+Ordre;GroupeApp") +n est un entier +pour tout stEle de gtbListeRubDoc +n = ZoneRépétéeAjouteLigne(ZR_Liste) +ZR_Liste[n].LIB_Groupe = stEle.GroupeApp +ZR_Liste[n].CMOD_Nom.LIB_lib = stEle.Nom +ZR_Liste[n].CMOD_Rubrique.LIB_lib = stEle.Rubrique +ZR_Liste[n].LIB_Id = stEle.nIdRub +ZR_Liste[n].LIB_Ordre = stEle.Ordre +RUPT_HautRupture1[n].LIB_Rup = DonneNomGroupeRubrique(stEle.GroupeApp) +fin +ZoneRépétéeTrie("ATT_Groupe"+TAB+"ATT_Ordre") +Procédure locale InsererTableauTexte +procédure InsererTableauTexte(tbFormat est un tableau de STJSON_MembreRubChamps) +//tabFragments est tableau de docFragments +nCptCol est un entier = 2 +nCptLig est un entier = 2 +nPosest un entier = TT_Modele..Curseur +nCptCol=tbFormat..Occurrence +// Insère un tableau dans le document avec 2 colonnes et le nombre de lignes nécessaires +DocInsèreTableau(TT_Modele,nPos,nCptCol,nCptLig) +// Définition d'un fragment correspondant au tableau +f est un docFragment(TT_Modele..Valeur, nPos+1, TT_Modele..Curseur) +soit para <- f..Paragraphe[1] +si para..Tableau<>Null alors +// Est ce bien ce tableau trouvé où l'on écrit les données +si para..PositionDébut=nPos+1 alors +//Boucle sur l'ensemble des colonnes +06/08/2026 Batik 2617 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Modele_Mail › Procédures +pour nColonne = 1 _à_ nCptCol +para..Tableau..Cellules[1,nColonne]..Contenu..Texte = tbFormat[nColonne]:Nom +// Remplissage de toutes les lignes de cette colonne +pour nLigne = 2 _à_ nCptLig +si tbFormat[nColonne]:TypeMembre dans (cTypeChaineSimple,cTypeChaineRTF, +cTypeDateSimple,cTypeDateHeure,cTypeReelSimple,cTypeBoolean,cTypeImage) alors +para..Tableau..Cellules[nLigne,nColonne]..Contenu..Texte=tbFormat[nColonne]: +Rubrique +fin +si tbFormat[nColonne]:TypeMembre = cTypeImage alors +para..Tableau..Cellules[1,nColonne]..MiseEnPage..Alignement = chCentre +fin +fin +fin +fin +fin +06/08/2026 Batik 2618 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › Image +FEN_Liste_Modele_Mails +Image +FEN_Liste_Modele_Mails +Informations générales +FEN_Liste_Modele_Mails +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Liste_Modele_Mails.wdw +Créé par SMR +06/08/2026 Batik 2619 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › Informations générales +| Date de création | | 19/09/2025 14:12:28 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 02/04/2026 16:41:21 | | | | +| Titre | | FR: liste des modèles de mail | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à l'écran | | | | +Note pour la documentation technique +FR: Liste des modèles de mail +| Position X | 0 Position Y | | 0 Largeur | 1199 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 2620 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › Informations générales +| 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 | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 1 | Image | | | 6 | +| --- | ---------------------- | --- | --- | --------------------- | --- | --- | --- | +| | Table | | 1 | Superchamp | | | 1 | +| | Champ Modèle de champs | | 4 | Option de menu | | | 4 | +| | Colonne de table | | 3 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 21 +FEN_Liste_Modele_Mails +Informations sur les champs +Fenêtre : FEN_Liste_Modele_Mails +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_BordFen | | 0 | -29 1063 | 29 | 0 | Actif | | +| ------------ | --- | ---- | -------- | --- | --- | ----- | ---- | +| CMOD_Filtrer | | 1157 | 9 30 | 30 | 0 | Actif | | +| CMOD_Options | | 1118 | 9 30 | 30 | 0 | Actif | | +| CMOD_Table | | 8 | 47 1183 | 595 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 2621 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libellé | 91 | -27 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | --- | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 1031 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | ---- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_Filtrer +Image +| | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --------------------------------------- | ---------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +cilc cevA +| | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| IMG_Icone | 1157 | 9 | 30 | 30 | 0 | Actif | | | +| ---------- | ---- | --- | ----- | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 2622 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › Informations sur les champs +Champ Modèle de champs : CMOD_Options +Image +| | | | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | --- | ---------- | ---------- | --- | ------- | --- | --- | ------------ | --------------------- | ----------------- | +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| | | | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 1118 | 9 | 30 | 30 | | 0 | Actif | | | +| --------- | --- | ---- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Table +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 | | | | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | --- | --- | --- | +sruocraP +ruegraL ruetuaH +elbisiV +| | | | nalP | | elbaT | | | | | | +| ---------- | ----- | -------- | ---- | -------- | ------ | --- | --- | --- | --- | --- | +| TABLE_Info | 10 49 | 1177 589 | 0 | affichag | Mémoir | | | | | 2 | +Table : CMOD_Table.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | | elbairt ennoloC | ehcrehcer cevA | | | | | +| --- | --- | --- | --- | -------------- | --------------- | -------------- | ------------- | --- | --- | --- | +| | | | | ehcuag à eéxiF | | | .zroh egardaC | | | | +.trev egardaC +| | | | | elbaçalpéD | | | | | eisias epyT FTR tamroF | eisias cevA | +| --- | --- | --- | ------------ | ---------- | --- | --- | --- | --- | ---------------------- | ----------- | +| | | | laitini tatE | | | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +| COL_PKID | | 880 Grisé | | | | Droite | Centre | Numériq | | | +| ---------- | --- | --------- | --- | ----- | --- | ------ | ------ | ------- | ----- | ---- | +| COL_Nom | | 854 Actif | | | | Gauche | Centre | | Texte | | +| COL_Mobile | | 301 Actif | | | | Centre | Centre | | | | +| 06/08/2026 | | | | Batik | | | | | | 2623 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › Informations sur les champs +Fenêtre : FEN_Liste_Modele_Mails +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Filtrer +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2624 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › Informations sur les champs +Champ Modèle de champs : CMOD_Options +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2625 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 2626 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 2627 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 +06/08/2026 Batik 2628 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › Informations sur les champs +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 +06/08/2026 Batik 2629 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › Informations sur les champs +Ancrage Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Filtrer +Image : CMOD_Filtrer.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Double_flèches.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 2630 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › Informations sur les champs +Champ Modèle de champs : CMOD_Options +Image : CMOD_Options.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\options.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 2631 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › Informations sur les champs +Champ Modèle de champs : CMOD_Table +Table : CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 2632 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › Informations sur les champs +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 : CMOD_Table.TABLE_Info +Colonne de table : CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 +06/08/2026 Batik 2633 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › 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 : CMOD_Table.TABLE_Info.COL_Nom (2) +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 800 Taux anc. hauteur 1000 +06/08/2026 Batik 2634 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › Informations sur les champs +Colonne de table : CMOD_Table.TABLE_Info.COL_Mobile (3) +Titre FR: Disponible (Version mobile) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 200 Taux anc. hauteur 1000 +FEN_Liste_Modele_Mails +Informations sur les menus +Menu contextuel : 'MNU_Options' +06/08/2026 Batik 2635 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › Informations sur les menus +Nom des options +OPT_Creer (2) +OPT_Modifier_le_modèle (3) +OPT_Supprimer_le_modèle (4) +Libellé des options : Français +Créer un nouveau modèle +Modifier le modèle +Supprimer le modèle +FEN_Liste_Modele_Mails +Code +Déclarations globales de FEN_Liste_Modele_Mails +procédure FEN_Liste_Modele_Mails() +Maximise() +Fin d'initialisation de FEN_Liste_Modele_Mails +Filtrer() +FEN_Liste_Modele_Mails +Code des champs +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +06/08/2026 Batik 2636 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Filtrer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Filtrer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Filtrer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Filtrer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Filtrer +06/08/2026 Batik 2637 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Filtrer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Filtrer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Filtrer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Filtrer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Filtrer() +A chaque modification de IMG_Icone ( CMOD_Filtrer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Filtrer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Filtrer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Filtrer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Options +06/08/2026 Batik 2638 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +06/08/2026 Batik 2639 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2640 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › Code des champs +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection du menu de MNU_Options.OPT_Creer +Creer() +Sélection du menu de MNU_Options.OPT_Modifier_le_modèle +Modifier() +Sélection du menu de MNU_Options.OPT_Supprimer_le_modèle +Supprimer() +FEN_Liste_Modele_Mails +Procédures +Procédure locale Creer +procédure Creer() +06/08/2026 Batik 2641 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › Procédures +tbaParametres est un tableau associatif de chaînes ANSI +tbaParametres[cParam_Alias] = "FEN_Fiche_Modele_Mail" +tbaParametres[cParam_IdFen] = 0 +si Ouvre(FEN_Fiche_Modele_Mail,tbaParametres) alors +Filtrer() +fin +Procédure locale Filtrer +procédure Filtrer() +h est un entier = TABLE_Info +TableSupprimeTout(TABLE_Info) +i est un entier +pour tout MailModele sur MM_PKID +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = MailModele.MM_PKID +COL_Nom[i] = MailModele.MM_Nom +COL_Mobile[i] = MailModele.MM_EnvoiMob +fin +si h > 0 _et_ h <= TABLE_Info..Occurrence alors +TableSelectPlus(TABLE_Info,h) +fin +Procédure locale Modifier +procédure Modifier() +tbaParametres est un tableau associatif de chaînes ANSI +tbaParametres[cParam_Alias] = "FEN_Fiche_Modele_Mail" +nPos est un entier = TABLE_Info +si nPos > 0 _et_ COL_PKID[nPos] > 0 alors +tbaParametres[cParam_IdFen] = COL_PKID[nPos] +si Ouvre(FEN_Fiche_Modele_Mail,tbaParametres) alors +Filtrer() +fin +fin +Procédure locale Supprimer +procédure Supprimer() +nPos est un entier = TABLE_Info +si nPos > 0 _et_ COL_PKID[nPos] > 0 alors +si OuiNon("Êtes-vous sûr de vouloir supprimer le modèle de mail sélectionné : "+COL_Nom[nPos]) = +Oui alors +si HLitRecherchePremier(MailModele,MM_PKID,COL_PKID[nPos]) alors +si pas HSupprime(MailModele) alors +UneErreur:Init(ErreurApp.ErreurHFSQL,"Erreur lors de la suppression du modèle de mail" +,"FEN_Liste_Modele_Mails.Supprimer") +sinon +TableSupprime(TABLE_Info,nPos) +fin +sinon +06/08/2026 Batik 2642 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Modele_Mails › Procédures +UneErreur:Init(ErreurApp.ErreurHFSQL,"Rapport introuvable", +"FEN_Liste_Modele_Mails.Supprimer") +fin +fin +fin +06/08/2026 Batik 2643 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Image +FEN_Rapport_Document_Inter +Image +FEN_Rapport_Document_Inter +Informations générales +FEN_Rapport_Document_Inter +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Rapport_Document_Inter.wdw +Créé par SMR +06/08/2026 Batik 2644 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Informations générales +| Date de création | | 23/09/2025 11:18:19 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 26/03/2026 15:49:11 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Fiche de rapport d’intervention +| Position X | 0 Position Y | | 0 Largeur | 1199 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| 06/08/2026 | | | Batik | | 2645 | + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Informations générales +| 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 | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Champ de saisie | | 1 | Libellé | | 4 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | +| | Bouton | | 2 | Image | | 9 | +| | Zone répétée | | 1 | Superchamp | | 1 | +| | Attribut zone répétée | | 3 | Champ Modèle de champs | | 6 | +| | Case barre de message | | 1 | Traitement de texte | | 1 | +Nombre d'éléments dans la fenêtre : 29 +FEN_Rapport_Document_Inter +Informations sur les champs +Fenêtre : FEN_Rapport_Document_Inter +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | laitini tatE | sucof cevA | +| --- | --- | --------------------- | --- | --- | ------------ | ---------- | +cilc cevA +ruegraL ruetuaH +elbisiV +nalP +| IMG_Absent | | -156 96 | 25 21 | 0 | Grisé | | +| --------------- | --- | ------- | ----- | --- | ----- | ---- | +| IMG_Present | | -156 69 | 27 26 | 0 | Grisé | | +| IMG_Syncroniser | | -155 36 | 28 23 | 0 | Grisé | | +| 06/08/2026 | | | Batik | | | 2646 | + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Informations sur les champs +Zone répétée +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_Galerie | | 881 | 82 317 | 540 | 0 | Actif | | +| ---------- | --- | --- | ------ | --- | --- | ----- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Annuler | | 902 | 1 141 | 35 | 0 | Actif | | +| ------------ | --- | ---- | -------- | --- | --- | ----- | --- | +| CMOD_BordFen | | 0 | -29 1063 | 29 | 0 | Actif | | +| CMOD_Lib | | 881 | 44 311 | 26 | 0 | Actif | | +| CMOD_Nom | | 4 | 1 872 | 53 | 0 | Actif | | +| CMOD_Valider | | 1051 | 1 141 | 35 | 0 | Actif | | +Traitement de texte +BAT ehcuoT +laitini tatE +| | | X noitisoP Y noitisoP | | | | | | +| --- | --- | --------------------- | ------- | ------- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| TT_Doc | | 0 | 61 876 | 586 | 0 | Actif | | +| ------ | --- | --- | ------ | --- | --- | ----- | --- | +Zone répétée : ZR_Galerie +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_ID | 38 | 2 16 | 13 0 | Grisé | Droite | Haut | | +| ------------ | --- | ------- | ----- | ----- | ------ | ------ | ---- | +| LIB_NomImage | 8 | 142 133 | 27 0 | Actif | Centre | Centre | | +| 06/08/2026 | | | Batik | | | | 2647 | + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › 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_Vignette | 8 23 | 133 118 | 0 | Actif | | | +| ------------ | ---- | ------- | --- | ----- | --- | --- | +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +ATT_Id +ATT_Image +ATT_NomImage +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_Copier | 109 | 2 30 | 31 | 0 | Actif | | +| ----------- | --- | ---- | --- | --- | ----- | --- | +Champ Modèle de champs : ZR_Galerie.CMOD_Copier +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | ------- | --- | ------------ | --------- | ---------- | +| | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | 0 0 | 30 31 | 0 | Actif | | | +| ---------- | --- | ----- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | 2648 | + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Annuler | 902 | 1 | 141 | 35 | 0 | Actif | | Normal | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Libellé | 91 | -27 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +| | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------------------- | ----------------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_AideFenetre | 1031 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | ---- | --- | ----- | --- | --- | ----- | --- | ---- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +| 06/08/2026 | | | Batik | | | | | 2649 | + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_Lib +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 881 44 | 311 | 26 | 0 | Actif | Gauche | Centre | | +| ------- | --- | ------ | --- | --- | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Nom +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_Texte | 4 | 1 872 53 | 0 | Actif | Texte | Non | | | | +| --------- | --- | -------- | --- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Valider +Bouton +| | | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | ----------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Valider | | 1051 | 1 | 141 | 35 | 0 | Actif | | Normal | +| ----------- | --- | ---- | --- | --- | --- | --- | ----- | --- | ------ | +Fenêtre : FEN_Rapport_Document_Inter +| 06/08/2026 | | | | Batik | | | | | 2650 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +06/08/2026 Batik 2651 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_Lib +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 700 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Nom +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 700 Taux anc. hauteur 1000 +06/08/2026 Batik 2652 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Absent +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\errorDoc.svg +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 +06/08/2026 Batik 2653 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Informations sur les champs +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Present +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\DocOk.svg +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 +Image : IMG_Syncroniser +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SyncroDoc.svg +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 +06/08/2026 Batik 2654 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Informations sur les champs +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 +Traitement de texte : TT_Doc +Ordre navigation 6 +Épinglé Non +Masquer lors du scrolling Non +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Autorise ChangeGabarit Oui +Lien automatique Oui +Verifier l'orthographe Oui +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 +Édition HTML Non +Thème sur ruban Non +Change Document Oui +Mode d'affichage Plusieurs listes +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 700 Taux anc. hauteur 1000 +06/08/2026 Batik 2655 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Informations sur les champs +Zone répétée : ZR_Galerie +Libellé FR: &Zone répétée +Ordre navigation 7 +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 +Hauteur ligne max. 0 +Hauteur ligne 176 +Largeur colonne 149 +Sens Vertical +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Mode d'affichage Galerie en colonne +Ancrage des colonnes Largeur et nombre de colonnes variables +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +06/08/2026 Batik 2656 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Informations sur les champs +Parcours Automatique +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite, largeur et hauteur +Taux anc. droite 700 Taux anc. bas 0 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 5 +Etirement de l'image de fond Mode 9 images personnalisé +06/08/2026 Batik 2657 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Informations sur les champs +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2658 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 2659 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 2660 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 2661 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Lib +Libellé : CMOD_Lib.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 +06/08/2026 Batik 2662 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Informations sur les champs +Ancrage au contenu <Aucun> +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Nom +Champ de saisie : CMOD_Nom.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 4 +Largeur interne 872 +06/08/2026 Batik 2663 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Informations sur les champs +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 +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 +06/08/2026 Batik 2664 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Informations sur les champs +Bouton droit : Monochrome Couleur monochrome du style +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 2665 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Informations sur les champs +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : ZR_Galerie +Attribut zone répétée : ZR_Galerie.ATT_Id (3) +Champ associé LIB_ID +Propriété associée 1 +Attribut zone répétée : ZR_Galerie.ATT_Image (1) +Champ associé IMG_Vignette +Propriété associée 1 +Attribut zone répétée : ZR_Galerie.ATT_NomImage (2) +Champ associé LIB_NomImage +Propriété associée 1 +Champ Modèle de champs : ZR_Galerie.CMOD_Copier +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2666 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Informations sur les champs +Image : ZR_Galerie.IMG_Vignette +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 Non +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 +Libellé : ZR_Galerie.LIB_ID +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +06/08/2026 Batik 2667 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Informations sur les champs +Type saisie Numérique +Masque saisie FR: 99 999 999 999 999 999 999 +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é : ZR_Galerie.LIB_NomImage +Libellé FR: Libellé +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 Tenir compte du cadrage +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 A la fin +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 Largeur et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2668 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Informations sur les champs +Champ Modèle de champs : ZR_Galerie.CMOD_Copier +Image : ZR_Galerie.CMOD_Copier.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\copy-paste.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +FEN_Rapport_Document_Inter +Code +Déclarations globales de FEN_Rapport_Document_Inter +06/08/2026 Batik 2669 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Code +procédure FEN_Rapport_Document_Inter(tbaParametres est un tableau associatif de chaînes ANSI) +MoiMême..Alias = tbaParametres[cParam_Alias] +| nId | est un entier sur 8 octets | = tbaParametres[cParam_IdFen] | | +| ------------- | -------------------------------------- | ----------------------------- | --- | +| oDoc | est un MDocument | | | +| nIdInter | est un entier sur 8 octets | | | +| saCheminBase | est une chaîne ANSI | | | +| tbaDocsFen | est un tableau associatif de MDocument | | | +bModif est un booléen +Maximise() +Fin d'initialisation de FEN_Rapport_Document_Inter +Filtrer() +Fermeture de FEN_Rapport_Document_Inter +//****** A fin d'éviter que le document soit considéré comment ouvert par omika ******// +monDoc est un Document +elt est un docElément +| elt..Type = typeDocElémentTexte | | | | +| ------------------------------- | --- | --- | --- | +| elt..Texte = " " | | | | +DocInsère(monDoc,1,elt) +TT_Doc = monDoc +renvoyer (nId,bModif) +FEN_Rapport_Document_Inter +Code des champs +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +| 06/08/2026 | | Batik | 2670 | +| ---------- | --- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +bModif = Faux +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +06/08/2026 Batik 2671 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Déclarations globales de CMOD_Lib +salib = "Images de l'intervention" +Fin d'initialisation de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Lib +06/08/2026 Batik 2672 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Lib ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Lib ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Nom +salib = "Nom du document" +Fin d'initialisation de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Nom ) (modèle MDLC_Saisie) +MoiMême..Libellé = saLib +// Version 1 +// Description +// Champ de saisie pour un texte simple sur une ligne +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +06/08/2026 Batik 2673 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Code des champs +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Nom ) (modèle MDLC_Saisie) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +nId = oDoc:nPKID +Ferme() +fin +Entrée dans ZR_Galerie +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Copier +06/08/2026 Batik 2674 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Copier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Copier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Copier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Copier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Copier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Copier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Copier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Copier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CopierImg() +A chaque modification de IMG_Icone ( CMOD_Copier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Copier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Copier ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Copier ) +06/08/2026 Batik 2675 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +FEN_Rapport_Document_Inter +Procédures +Procédure locale ChargeDocs +procédure ChargeDocs() +stInfoSyncro est un STListeDocASyncro +i est un entier +ZoneRépétéeSupprimeTout(ZR_Galerie) +si tbaDocsFen = Null ou tbaDocsFen..Occurrence <= 0 alors +si nIdInter <= 0 alors +renvoyer Faux +fin +si SansEspace(saCheminBase) = "" alors +saCheminBase = DecodeCheminDocSelonInter(gtbaParametresAppli[cParam_StructureCheminDoc]. +saValeur,gtbaParametresAppli[cParam_ReqCheminDoc].saValeur,nIdInter) +fin +saReqDoc est une Requête SQL = +[ +SELECT * +FROM Document +WHERE DC_IDIntervention = {p_idInter} AND DC_CleCategorie IN {p_CtgDocs} +ORDER BY Document.DC_PKID, DC_DateFichier +] +saReqDoc.p_idInter = nIdInter +saReqDoc.p_CtgDocs = CollaborateurEnCours:clUtilisateur:tbCatgDocDroit..Occurrence > 0 ? +TableauVersChaîne(CollaborateurEnCours:clUtilisateur:tbCatgDocDroit,";") sinon "" +si pas HExécuteRequêteSQL(saReqDoc) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FEN_Rapport_Document_Inter.ChargeDocs") +sinon +odDoc est un MDocument dynamique +pour tout saReqDoc +si saReqDoc.DC_Nom <> "" _et_ TableauCherche(LIB_Documents.gtbExtImg,tcLinéairePremier, +Majuscule(fExtraitChemin(saReqDoc.DC_Nom,fExtension))) > 0 alors +odDoc = allouer un MDocument +FichierVersMémoire(odDoc,saReqDoc) +odDoc:saCleEtatDoc = cCle_EtatDocSyncro +tbaDocsFen[odDoc:nPKID] = odDoc +fin +fin +si tbaDocsFen..Occurrence > 0 alors +stInfoSyncro.saCheminBase = saCheminBase +stInfoSyncro.pMaJ = MaJEtatDocs +stInfoSyncro.tbaDocuments = tbaDocsFen +si ThreadEtat("SyncroniserDocumentsRapport")=threadInexistant alors +ThreadExécute("SyncroniserDocumentsRapport",threadCopieLégèreContexteHFSQL, +TH_SyncroniserDocuments,stInfoSyncro) +06/08/2026 Batik 2676 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Procédures +fin +fin +fin +fin +pour tout oUndoc de tbaDocsFen +i = ZoneRépétéeAjouteLigne(ZR_Galerie) +ATT_Id[i] = oUndoc.nPKID +ATT_NomImage[i] = oUndoc.saNom +selon oUndoc.saCleEtatDoc +cas cCle_EtatDocPresent +ZR_Galerie[i].IMG_Vignette = oUndoc.saCheminComplet +cas cCle_EtatDocSyncro +ZR_Galerie[i].IMG_Vignette = IMG_Syncroniser +autre cas +ZR_Galerie[i].IMG_Vignette = IMG_Absent +fin +fin +Procédure locale CopierImg +procédure CopierImg() +i est un entier = ZR_Galerie +si i > 0 _et_ ATT_Id[i] > 0 _et_ tbaDocsFen[ATT_Id[i]].nPKID > 0 _et_ tbaDocsFen[ATT_Id[i]]. +saCheminComplet <> "" _et_ fFichierExiste(tbaDocsFen[ATT_Id[i]].saCheminComplet) alors +UnImg est une Image = dChargeImage(tbaDocsFen[ATT_Id[i]].saCheminComplet) +VersPressePapier(UnImg) +ToastAffiche("Image copiée dans le presse-papiers") +fin +Procédure locale Enregistrer +procédure Enregistrer() +si CMOD_Nom.SAI_Texte = "" alors +Info("Veuillez saisir un nom pour le rapport") +DonneFocus(CMOD_Nom.SAI_Texte) +renvoyer Faux +fin +oDoc:saCleCategorie = cCle_TypeDocRapport +oDoc:nIDIntervention = nIdInter +saNomDoc est une chaîne ANSI = CMOD_Nom.SAI_Texte+".docx" +si oDoc:nPKID <= 0 alors +oDoc:saNom = saNomDoc +oDoc:dDateFichier= DateSys() +saCheminRub est une chaîne ANSI = saCheminBase +oDoc:saCheminComplet = DonneCheminFichier(oDoc,saCheminRub) +oDoc:saChemin = ComplèteRep(saCheminRub) +sinon +si oDoc:saNom <> saNomDoc alors +saNouveauChemin est une chaîne ANSI = ComplèteRep(fExtraitChemin(oDoc:saCheminComplet,fDisque+ +fRépertoire))+saNomDoc +si fRenomme(oDoc:saCheminComplet,saNouveauChemin) alors +oDoc:saNom = saNomDoc +bModif = Vrai +sinon +UneErreur:Init(ErreurApp.ErreurProgramme, +"Erreur, impossible de modifier le nom du document"+RC+ErreurInfo(errMessage), +06/08/2026 Batik 2677 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Procédures +"FEN_Rapport_Document_Inter.Enregistrer") +fin +fin +fin +si oDoc:saCheminComplet <> "" alors +si fRepCrée(fExtraitChemin(oDoc:saCheminComplet,fDisque+fRépertoire)) alors +si DocSauve(TT_Doc,oDoc.saCheminComplet) alors +renvoyer oDoc:Enregistrer() +sinon +UneErreur:Init(ErreurApp.ErreurProgramme,"Le rapport n'a pas pu être enregistré"+RC+ +ErreurInfo(),"FEN_Rapport_Document.Enregistrer") +fin +sinon +UneErreur:Init(ErreurApp.ErreurProgramme,"Le rapport n'a pas pu être enregistré"+RC+ErreurInfo( +),"FEN_Rapport_Document.Enregistrer") +fin +sinon +Erreur("Le rapport n'a pas pu être enregistré dans le répertoire indiqué "+fExtraitChemin(oDoc: +saCheminComplet,fDisque+fRépertoire)) +renvoyer Faux +fin +Procédure locale Filtrer +procédure Filtrer() +si SansEspace(saCheminBase) = "" alors +DecodeCheminDocSelonInter(gtbaParametresAppli[cParam_StructureCheminDoc].saValeur, +gtbaParametresAppli[cParam_ReqCheminDoc].saValeur,nIdInter) +fin +si nId > 0 _et_ HLitRecherchePremier(Document,DC_PKID,nId) alors +FichierVersMémoire(oDoc,Document) +si oDoc:nIDIntervention > 0 alors +nIdInter = oDoc:nIDIntervention +fin +RechercheCheminUnDoc(oDoc,saCheminBase,gtbaParametresAppli[cParam_CheminRepDocInter].saValeur) +si oDoc:saCheminComplet <> "" _et_ fFichierExiste(oDoc:saCheminComplet) alors +TT_Doc = oDoc:saCheminComplet +sinon +Erreur("Rapport introuvable") +Ferme() +fin +CMOD_Nom.SAI_Texte = fExtraitChemin(oDoc:saNom,fFichier) +sinon +CMOD_Nom.SAI_Texte = "Rapport_"+DateHeureSys() +//****** A fin d'éviter d'avoir un page vide ******// +monDoc est un Document +elt est un docElément +elt..Type = typeDocElémentTexte +elt..Texte = " " +DocInsère(monDoc,1,elt) +TT_Doc = monDoc +fin +si nIdInter <= 0 _et_ tbaParametres[Intervention.IN_PKID..Nom]..Existe = Vrai alors +nIdInter = tbaParametres[Intervention.IN_PKID..Nom] +fin +MaFenêtre..Titre = oDoc:saNom +si nIdInter <= 0 alors +06/08/2026 Batik 2678 + +Partie 3 › Fenêtre WINDEV › FEN_Rapport_Document_Inter › Procédures +Ferme() +sinon +ChargeDocs() +fin +Procédure locale MaJEtatDocs +procédure MaJEtatDocs(stInfoSyncro est un STListeDocASyncro) +SectionCritiqueDébut("MaJEtatDocRapport") +si stInfoSyncro.tbaDocuments..Occurrence > 0 alors +TableauSupprimeTout(tbaDocsFen) +tbaDocsFen = stInfoSyncro.tbaDocuments +pour toute ligne b de ZR_Galerie +si ZR_Galerie[b].ATT_Id > 0 _et_ tbaDocsFen[ATT_Id[b]]..Existe = Vrai _et_ tbaDocsFen[ATT_Id[b] +].nPKID = ATT_Id[b] alors +selon tbaDocsFen[ATT_Id[b]].saCleEtatDoc +cas cCle_EtatDocPresent +ZR_Galerie[b].IMG_Vignette = tbaDocsFen[ATT_Id[b]].saCheminComplet +cas cCle_EtatDocSyncro +ZR_Galerie[b].IMG_Vignette = IMG_Syncroniser +autre cas +ZR_Galerie[b].IMG_Vignette = IMG_Absent +fin +fin +fin +fin +SectionCritiqueFin("MaJEtatDocRapport") +06/08/2026 Batik 2679 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Image +FEN_Email_Nouveau_Inter +Image +FEN_Email_Nouveau_Inter +Informations générales +FEN_Email_Nouveau_Inter +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Email_Nouveau_Inter.wdw +Créé par SMR +06/08/2026 Batik 2680 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations générales +| Date de création | | 23/09/2025 14:24:06 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 17/04/2026 14:01:03 | | | | +| Titre | | FR: Message externe | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Fiche de création d’un e-mail +| Position X | 0 Position Y | | 0 Largeur | 1199 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 2681 | + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations générales +| 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 | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Champ de saisie | | 5 | Libellé | | | 1 | +| --- | ---------------------- | --- | --- | --------------------- | --- | --- | --- | +| | Bouton | | 3 | Image | | | 9 | +| | Combo | | 1 | Superchamp | | | 1 | +| | Champ Modèle de champs | | 15 | Case barre de message | | | 1 | +| | Éditeur HTML | | 2 | | | | | +Nombre d'éléments dans la fenêtre : 38 +FEN_Email_Nouveau_Inter +Informations sur les champs +Fenêtre : FEN_Email_Nouveau_Inter +Champ Modèle de champs +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | ---------- | ---------- | --------------- | --- | ------------ | ---------- | +| | | X noitisoP | Y noitisoP | | | | | +| | | | | ruegraL ruetuaH | | | | +elbisiV +nalP +| CMOD_A | | 7 | 53 | 561 85 | 0 | Actif | | +| ---------------- | --- | ---- | ----- | ------- | --- | ----- | ---- | +| CMOD_Annuler | | 754 | 10 | 141 35 | 0 | Actif | | +| CMOD_BordFen | | 0 | -29 | 1063 29 | 0 | Actif | | +| CMOD_CC | | 606 | 53 | 260 85 | 0 | Actif | | +| CMOD_CCI | | 903 | 53 | 260 85 | 0 | Actif | | +| CMOD_Compte | | 7 | 0 | 561 53 | 0 | Actif | | +| CMOD_Envoyer | | 1052 | 10 | 141 35 | 0 | Actif | | +| CMOD_Objet | | 7 | 138 | 591 84 | 0 | Actif | | +| CMOD_PJ | | 606 | 138 | 557 84 | 0 | Actif | | +| CMOD_PJ_DocInter | | 1163 | 154 | 30 30 | 0 | Actif | | +| CMOD_PJ_DocPC | | 1163 | 192 | 30 30 | 0 | Actif | | +| CMOD_Plus_A | | 568 | 108 | 30 30 | 0 | Actif | | +| CMOD_Plus_CC | | 865 | 108 | 30 30 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 2682 | + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Plus_CCI | | | 1163 | 108 | 30 | 30 | 0 | Actif | | +| ------------- | --- | --- | ---- | --- | --- | --- | --- | ----- | --- | +| CMOD_Valider | | | 903 | 10 | 141 | 35 | 0 | Actif | | +Éditeur HTML +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| EDHTML_Corps | | | 7 | 222 | 1179 | 290 | 0 | Actif | | +| ------------ | --- | --- | --- | --- | ---- | --- | --- | ----- | --- | +| EDHTML_Sign | | | 7 | 512 | 1179 | 135 | 0 | Actif | | +Champ Modèle de champs : CMOD_A +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_Jeton | 7 53 561 | 85 | 0 | Actif | Texte | Non | | | | +| --------- | -------- | --- | --- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Annuler +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Annuler | | 754 | | 10 141 | 35 | 0 | Actif | Normal | | +| ----------- | --- | --- | --- | ------ | --- | --- | ----- | ------ | ---- | +| 06/08/2026 | | | | Batik | | | | | 2683 | + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | | ruegraL | | | | elbisiV | | | +| --- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | | | | 0 | -29 | | 1063 | 30 | | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | --- | ---- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | | | ruegraL | | ruetuaH | | | | | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libellé | | 91 | | -27 | 940 | 25 | 0 | | Actif | Gauche | Centre | | +| ----------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | +| --- | --- | --- | ---------- | ---------- | ------- | --- | ------- | --- | --- | ------------ | --------- | --- | +| | | | | | ruegraL | | ruetuaH | | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | | | 1031 | -26 | | 28 | 23 | 0 | | Actif | | | +| -------------------------- | --- | --- | ---- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | | | 61 | -26 | | 28 | 23 | 0 | | Actif | | | +| IMG_Logo_secondaire_violet | | | 2 | -27 | | 34 | 26 | 0 | | Actif | | | +| IMG_SombreClair | | | 38 | -26 | | 21 | 23 | 0 | | Actif | | | +Champ Modèle de champs : CMOD_CC +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_Jeton | 606 53 | 260 | 85 | 0 | Actif | | Texte | | Non | | | | +| ---------- | ------ | --- | --- | --- | ----- | ----- | ----- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | | | Batik | | | | | | 2684 | + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_CCI +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_Jeton | 903 53 | 260 85 | 0 | Actif | Texte | | Non | | | | | +| --------- | ------ | ------ | --- | ----- | ----- | --- | --- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Compte +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_Combo | 7 | 0 561 | 53 | 0 | Actif | | Mémoire | | Non | | | +| --------- | --- | ----- | --- | --- | ----- | --- | ------- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Envoyer +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Valider | | 1052 | | 10 141 | | 35 | 0 | Actif | | Normal | | +| ----------- | --- | ---- | --- | ------ | ----- | --- | --- | ----- | --- | ------ | ---- | +| 06/08/2026 | | | | | Batik | | | | | | 2685 | + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_Objet +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_Texte | 7 138 | 591 84 0 | Actif | Texte | | Non | | | +| --------- | ----- | -------- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_PJ +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_Jeton | 606 138 | 557 84 0 | Actif | Texte | | Non | | | +| --------- | ------- | -------- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_PJ_DocInter +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | | laitini tatE | sucof cevA | +| --- | --- | --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | cilc cevA | | +| --- | --- | --- | ------- | ------- | --- | --- | --------- | --- | +elbisiV +nalP +| IMG_Icone | | 1163 154 | | 30 30 | 0 | | Actif | | +| ---------- | --- | -------- | --- | ----- | --- | --- | ----- | ---- | +| 06/08/2026 | | | | Batik | | | | 2686 | + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_PJ_DocPC +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | sucof cevA | +| --- | --------------------- | --- | --- | ------------ | ---------- | +ruetuaH cilc cevA +ruegraL +elbisiV +nalP +| IMG_Icone | 1163 192 | 30 30 | 0 | Actif | | +| --------- | -------- | ----- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Plus_A +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | | | laitini tatE | sucof cevA | +| --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +ruegraL ruetuaH cilc cevA +elbisiV +nalP +| IMG_Icone | 568 108 | 30 30 | 0 | Actif | | +| --------- | ------- | ----- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Plus_CC +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | laitini tatE | sucof cevA | +| --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +ruegraL ruetuaH cilc cevA +elbisiV +nalP +| IMG_Icone | 865 108 | 30 30 | 0 | Actif | | +| --------- | ------- | ----- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Plus_CCI +| 06/08/2026 | | Batik | | | 2687 | +| ---------- | --- | ----- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › 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_Icone | 1163 108 | 30 30 | 0 | Actif | | +| --------- | -------- | ----- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Valider +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --------------------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | elbisiV | | | +| --- | --- | ------- | ------- | --- | --- | +nalP +| BTN_Valider | 903 10 | 141 35 | 0 | Actif | Normal | +| ----------- | ------ | ------ | --- | ----- | ------ | +Fenêtre : FEN_Email_Nouveau_Inter +Champ Modèle de champs : CMOD_A +| Ordre navigation | 6 | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | +| Curseur survol | 0 | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | 0 | | | | | +| Taux Paral. Y | 0 | | | | | +| Épinglé | Non | | | | | +| Masquer lors du scrolling | Non | | | | | +| Ancrage au contenu | <Aucun> | | | | | +| Numéro aide | 0 | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | +Facteur de rétrécissement +0 +Facteur d'agrandissement +0 +| Ancrage | Largeur | | | | | +| ------- | ------- | --- | --- | --- | --- | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 450 Taux anc. hauteur 1000 +| 06/08/2026 | | Batik | | | 2688 | +| ---------- | --- | ----- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +06/08/2026 Batik 2689 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_CC +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_CCI +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 750 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +06/08/2026 Batik 2690 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_Compte +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 450 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Envoyer +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2691 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_Objet +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_PJ +Ordre navigation 13 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Batik 2692 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_PJ_DocInter +Ordre navigation 14 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_PJ_DocPC +Ordre navigation 15 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2693 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_Plus_A +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 450 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Plus_CC +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 700 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2694 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_Plus_CCI +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 950 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2695 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Éditeur HTML : EDHTML_Corps +Libellé FR: Éditeur HTML +Ordre navigation 16 +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 Oui +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 700 +Éditeur HTML : EDHTML_Sign +Libellé FR: Éditeur HTML +Ordre navigation 17 +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 +06/08/2026 Batik 2696 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +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 Oui +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 Bas, largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 700 Taux anc. largeur 1000 Taux anc. hauteur 300 +Champ Modèle de champs : CMOD_A +Champ de saisie : CMOD_A.SAI_Jeton +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Jeton : +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 +06/08/2026 Batik 2697 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 7 +Largeur interne 561 +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 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) Oui +Autoriser les doublons Non +Séparateurs de jetons ; +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :oMsg.saAdrDestinataires +Gestion Euro Non +Personnaliser le picto AMI Non +06/08/2026 Batik 2698 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +06/08/2026 Batik 2699 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2700 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 2701 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 2702 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 2703 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_CC +Champ de saisie : CMOD_CC.SAI_Jeton +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Jeton : +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +06/08/2026 Batik 2704 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +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 606 +Largeur interne 260 +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 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) Oui +Autoriser les doublons Non +Séparateurs de jetons ; +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +06/08/2026 Batik 2705 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Liaison des données :oMsg.saAdrCC +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_CCI +Champ de saisie : CMOD_CCI.SAI_Jeton +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Jeton : +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 903 +Largeur interne 260 +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 +06/08/2026 Batik 2706 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +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 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) Oui +Autoriser les doublons Non +Séparateurs de jetons ; +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :oMsg.saAdrCCI +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2707 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_Compte +Combo : CMOD_Compte.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 561 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 7 +Largeur interne 561 +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 +06/08/2026 Batik 2708 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +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 Oui +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Envoyer +Bouton : CMOD_Envoyer.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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 +06/08/2026 Batik 2709 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › 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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Objet +Champ de saisie : CMOD_Objet.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 8 +Largeur interne 590 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Batik 2710 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +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, non 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> +Liaison des données :oMsg.saObjet +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 et hauteur +06/08/2026 Batik 2711 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_PJ +Champ de saisie : CMOD_PJ.SAI_Jeton +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Jeton : +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 606 +Largeur interne 557 +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 +06/08/2026 Batik 2712 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › 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) 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_PJ_DocInter +06/08/2026 Batik 2713 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Image : CMOD_PJ_DocInter.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\PieceJointeInter.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_PJ_DocPC +06/08/2026 Batik 2714 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Image : CMOD_PJ_DocPC.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\PieceJointePC.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_Plus_A +06/08/2026 Batik 2715 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Image : CMOD_Plus_A.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Plus_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_Plus_CC +06/08/2026 Batik 2716 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Image : CMOD_Plus_CC.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Plus_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_Plus_CCI +06/08/2026 Batik 2717 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Image : CMOD_Plus_CCI.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Plus_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_Valider +06/08/2026 Batik 2718 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Informations sur les champs +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2719 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Code +FEN_Email_Nouveau_Inter +Code +Déclarations globales de FEN_Email_Nouveau_Inter +procédure FEN_Email_Nouveau_Inter(tbaParametres est un tableau associatif de chaînes ANSI) +| MoiMême..Alias | | = tbaParametres[cParam_Alias] | | +| -------------------------------- | --------------------------- | ----------------------------- | --- | +| nId | est un entier sur 8 octets | = tbaParametres[cParam_IdFen] | | +| nIdInter | est un entier sur 8 octets | | | +| oMsg | est un MMessage_Externe | | | +| saCheminBase est une chaîne ANSI | | | | +| tbDocsFen | est un tableau de MDocument | | | +Maximise() +Fin d'initialisation de FEN_Email_Nouveau_Inter +Filtrer() +Fermeture de FEN_Email_Nouveau_Inter +renvoyer nId +FEN_Email_Nouveau_Inter +Code des champs +Déclarations globales de CMOD_A +salib = "À" +Fin d'initialisation de CMOD_A +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_A +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_A +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_A +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_A +| 06/08/2026 | | Batik | 2720 | +| ---------- | --- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_A +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_A +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Jeton ( CMOD_A ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Jeton ( CMOD_A ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Jeton ( CMOD_A ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ajout d'un jeton dans SAI_Jeton ( CMOD_A ) +procédure AjoutJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Suppression d'un jeton dans SAI_Jeton ( CMOD_A ) +procédure SuppressionJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Clic sur un jeton de SAI_Jeton ( CMOD_A ) +procédure ClicJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(MonJeton) +Entrée en saisie d'un jeton de SAI_Jeton ( CMOD_A ) +procédure EntreSaisieJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Modification d'un jeton de SAI_Jeton ( CMOD_A ) +procédure ModificationJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +A chaque modification de SAI_Jeton ( CMOD_A ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Jeton ( CMOD_A ) +06/08/2026 Batik 2721 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +nId = 0 +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +06/08/2026 Batik 2722 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Déclarations globales de CMOD_CC +salib = "CC (en copie)" +Fin d'initialisation de CMOD_CC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CC +06/08/2026 Batik 2723 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Jeton ( CMOD_CC ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Jeton ( CMOD_CC ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Jeton ( CMOD_CC ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ajout d'un jeton dans SAI_Jeton ( CMOD_CC ) +procédure AjoutJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Suppression d'un jeton dans SAI_Jeton ( CMOD_CC ) +procédure SuppressionJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Clic sur un jeton de SAI_Jeton ( CMOD_CC ) +procédure ClicJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(MonJeton) +Entrée en saisie d'un jeton de SAI_Jeton ( CMOD_CC ) +06/08/2026 Batik 2724 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Code des champs +procédure EntreSaisieJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Modification d'un jeton de SAI_Jeton ( CMOD_CC ) +procédure ModificationJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +A chaque modification de SAI_Jeton ( CMOD_CC ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Jeton ( CMOD_CC ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CCI +salib = "CCI (en copie caché)" +Fin d'initialisation de CMOD_CCI +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CCI +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CCI +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CCI +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CCI +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CCI +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CCI +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Jeton ( CMOD_CCI ) +06/08/2026 Batik 2725 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Jeton ( CMOD_CCI ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Jeton ( CMOD_CCI ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ajout d'un jeton dans SAI_Jeton ( CMOD_CCI ) +procédure AjoutJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Suppression d'un jeton dans SAI_Jeton ( CMOD_CCI ) +procédure SuppressionJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Clic sur un jeton de SAI_Jeton ( CMOD_CCI ) +procédure ClicJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(MonJeton) +Entrée en saisie d'un jeton de SAI_Jeton ( CMOD_CCI ) +procédure EntreSaisieJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Modification d'un jeton de SAI_Jeton ( CMOD_CCI ) +procédure ModificationJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +A chaque modification de SAI_Jeton ( CMOD_CCI ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Jeton ( CMOD_CCI ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Compte +salib = "Compte" +Fin d'initialisation de CMOD_Compte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Compte +06/08/2026 Batik 2726 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Compte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Compte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Compte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Compte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Compte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Compte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême..NomComplet,cConfigEmailUser) +Entrée dans CMB_Combo ( CMOD_Compte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Compte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Compte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +MaJSelonCompte() +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Compte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Envoyer +salib = "Envoyer / enregistrer" +Fin d'initialisation de CMOD_Envoyer +06/08/2026 Batik 2727 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Envoyer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Envoyer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Envoyer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Envoyer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Envoyer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Envoyer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Envoyer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Envoyer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si EnvoyerEmail() alors +nId = oMsg:nPKID +Ferme() +fin +Déclarations globales de CMOD_Objet +salib = "Objet" +Fin d'initialisation de CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Objet +06/08/2026 Batik 2728 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Objet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Objet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Objet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Objet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Objet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_PJ +salib = "Pièces jointes" +Fin d'initialisation de CMOD_PJ +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_PJ +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_PJ +06/08/2026 Batik 2729 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_PJ +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_PJ +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_PJ +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_PJ +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Jeton ( CMOD_PJ ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Jeton ( CMOD_PJ ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Jeton ( CMOD_PJ ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ajout d'un jeton dans SAI_Jeton ( CMOD_PJ ) +procédure AjoutJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer Faux +renvoyer ExécuteAncêtre(MonJeton) +Suppression d'un jeton dans SAI_Jeton ( CMOD_PJ ) +procédure SuppressionJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +si Contient(oMsg:saListePJ,MonJeton.Valeur+";",MotComplet) alors +oMsg:saListePJ = Remplace(oMsg:saListePJ,MonJeton.Valeur+";","") +sinon si Contient(oMsg:saListePJ,MonJeton.Valeur,MotComplet) alors +oMsg:saListePJ = Remplace(oMsg:saListePJ,MonJeton.Valeur,"") +fin +pour tout oDoc de tbDocsFen +si oDoc:saCheminComplet = MonJeton..Valeur alors +si Contient(oMsg:saListePJIds,oDoc:nPKID+";",MotComplet) alors +oMsg:saListePJIds = Remplace(oMsg:saListePJIds,oDoc:nPKID+";","") +sinon si Contient(oMsg:saListePJIds,NumériqueVersChaîne(oDoc:nPKID),MotComplet) alors +oMsg:saListePJIds = Remplace(oMsg:saListePJIds,NumériqueVersChaîne(oDoc:nPKID),"") +06/08/2026 Batik 2730 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Code des champs +fin +fin +fin +renvoyer ExécuteAncêtre(MonJeton) +Clic sur un jeton de SAI_Jeton ( CMOD_PJ ) +procédure ClicJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(MonJeton) +Entrée en saisie d'un jeton de SAI_Jeton ( CMOD_PJ ) +procédure EntreSaisieJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Modification d'un jeton de SAI_Jeton ( CMOD_PJ ) +procédure ModificationJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +A chaque modification de SAI_Jeton ( CMOD_PJ ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Jeton ( CMOD_PJ ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_PJ_DocInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_PJ_DocInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_PJ_DocInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_PJ_DocInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_PJ_DocInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_PJ_DocInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_PJ_DocInter +06/08/2026 Batik 2731 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_PJ_DocInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_PJ_DocInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +PieceJointeInter() +A chaque modification de IMG_Icone ( CMOD_PJ_DocInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_PJ_DocInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_PJ_DocInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_PJ_DocInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_PJ_DocPC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_PJ_DocPC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_PJ_DocPC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_PJ_DocPC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_PJ_DocPC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_PJ_DocPC +06/08/2026 Batik 2732 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_PJ_DocPC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_PJ_DocPC ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_PJ_DocPC ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +PieceJoint() +A chaque modification de IMG_Icone ( CMOD_PJ_DocPC ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_PJ_DocPC ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_PJ_DocPC ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_PJ_DocPC ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Plus_A +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Plus_A +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Plus_A +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Plus_A +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Plus_A +06/08/2026 Batik 2733 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Plus_A +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Plus_A +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Plus_A ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Plus_A ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ChercheContact(CMOD_A.SAI_Jeton..NomComplet) +A chaque modification de IMG_Icone ( CMOD_Plus_A ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Plus_A ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Plus_A ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Plus_A ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Plus_CC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Plus_CC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Plus_CC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Plus_CC +06/08/2026 Batik 2734 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Plus_CC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Plus_CC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Plus_CC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Plus_CC ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Plus_CC ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ChercheContact(CMOD_CC.SAI_Jeton..NomComplet) +A chaque modification de IMG_Icone ( CMOD_Plus_CC ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Plus_CC ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Plus_CC ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Plus_CC ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Plus_CCI +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Plus_CCI +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Plus_CCI +06/08/2026 Batik 2735 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Plus_CCI +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Plus_CCI +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Plus_CCI +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Plus_CCI +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Plus_CCI ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Plus_CCI ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ChercheContact(CMOD_CCI.SAI_Jeton..NomComplet) +A chaque modification de IMG_Icone ( CMOD_Plus_CCI ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Plus_CCI ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Plus_CCI ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Plus_CCI ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Valider +salib = "Enregistrer" +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2736 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +nId = oMsg:nPKID +Ferme() +fin +Modification de la sélection de EDHTML_Corps +procédure ModificationSélection(selectionHTML est un edtHTMLSélection) +Chargement de ressources par EDHTML_Corps +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 +Modification de la sélection de EDHTML_Sign +06/08/2026 Batik 2737 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Code des champs +procédure ModificationSélection(selectionHTML est un edtHTMLSélection) +Chargement de ressources par EDHTML_Sign +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 +FEN_Email_Nouveau_Inter +Procédures +Procédure locale ChargeDocs +procédure ChargeDocs() +stInfoSyncro est un STListeDocASyncro +si tbDocsFen = Null ou tbDocsFen..Occurrence <= 0 alors +si nIdInter <= 0 alors +renvoyer Faux +fin +saCheminBase = DecodeCheminDocSelonInter(gtbaParametresAppli[cParam_StructureCheminDoc].saValeur, +gtbaParametresAppli[cParam_ReqCheminDoc].saValeur,nIdInter) +saReqDoc est une Requête SQL = +[ +SELECT * +FROM Document +WHERE DC_IDIntervention = {p_idInter} AND DC_CleCategorie IN {p_CtgDocs} +ORDER BY Document.DC_PKID, DC_DateFichier +] +saReqDoc.p_idInter = nIdInter +saReqDoc.p_CtgDocs = CollaborateurEnCours:clUtilisateur:tbCatgDocDroit..Occurrence > 0 ? +TableauVersChaîne(CollaborateurEnCours:clUtilisateur:tbCatgDocDroit,";") sinon "" +si pas HExécuteRequêteSQL(saReqDoc) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FEN_Email_Nouveau_Inter.ChargeDocs") +sinon +odDoc est un MDocument dynamique +tbIds est un tableau d'entiers sur 8 octets +si tbaParametres[cParam_ListeId] <> "" alors +ChaîneVersTableau(tbaParametres[cParam_ListeId],tbIds,";") +fin +pour tout saReqDoc +odDoc = allouer un MDocument +FichierVersMémoire(odDoc,saReqDoc) +odDoc:saCleEtatDoc = cCle_EtatDocSyncro +TableauAjoute(tbDocsFen,odDoc) +stInfoSyncro.tbaDocuments[odDoc:nPKID] = odDoc +06/08/2026 Batik 2738 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Procédures +si TableauCherche(tbIds,tcLinéairePremier,odDoc:nPKID) > 0 alors +si fFichierExiste(gtbaParametresAppli[cParam_StructureCheminDoc].saValeur+ComplèteRep( +odDoc.saChemin)+odDoc:saNom) alors +oMsg:saListePJIds = odDoc:nPKID +oMsg:saListePJ = gtbaParametresAppli[cParam_StructureCheminDoc].saValeur+ +ComplèteRep(odDoc.saChemin)+odDoc:saNom +fin +fin +fin +si tbDocsFen..Occurrence > 0 alors +stInfoSyncro.saCheminBase = saCheminBase +stInfoSyncro.pMaJ = MaJEtatDocs +si ThreadEtat("SyncroniserDocumentsEmail")=threadInexistant alors +ThreadExécute("SyncroniserDocumentsEmail",threadCopieLégèreContexteHFSQL, +TH_SyncroniserDocuments,stInfoSyncro) +fin +fin +fin +fin +Procédure locale ChercheContact +procédure ChercheContact(saChamp est une chaîne ANSI) +tbEmails est un tableau de chaînes ANSI = Ouvre(FEN_Emails_Contact_Inter,nIdInter) +si tbEmails..Occurrence > 0 alors +si saChamp <> "" alors +pour tout saEmail de tbEmails +si SansEspace(saEmail) <> "" alors +SaisieAjouteJeton(saChamp,saEmail) +fin +fin +fin +fin +Procédure locale Enregistrer +procédure Enregistrer() +EcranVersSource() +si CMOD_Compte.CMB_Combo <> Null _et_ CMOD_Compte.CMB_Combo <> "" alors +oMsg:saAdrExp = CMOD_Compte.CMB_Combo..ValeurAffichée +sinon +oMsg:saAdrExp = "" +fin +oMsg:saAdrDestinataires ="" +oMsg:saAdrCC ="" +oMsg:saAdrCCI ="" +oMsg:bEnvoyer = Faux +oMsg:bBrouillon = Vrai +si CMOD_A.SAI_Jeton <> "" alors +oMsg:saAdrDestinataires = CMOD_A.SAI_Jeton +oMsg:saAdrDestinataires = Remplace(oMsg:saAdrDestinataires,RC,";") +fin +si CMOD_CC.SAI_Jeton <> "" alors +oMsg:saAdrCC = CMOD_CC.SAI_Jeton +oMsg:saAdrCC = Remplace(oMsg:saAdrCC,RC,";") +06/08/2026 Batik 2739 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Procédures +fin +si CMOD_CCI.SAI_Jeton <> "" alors +oMsg:saAdrCCI = CMOD_CCI.SAI_Jeton +oMsg:saAdrCCI = Remplace(oMsg:saAdrCCI,RC,";") +fin +si oMsg:nPKID <= 0 _et_ nIdInter > 0 alors +oMsg:nIDIntervention = nIdInter +fin +si UTF8Valide(EDHTML_Corps) alors +oMsg:saMessage = UTF8VersAnsi(EDHTML_Corps) +sinon +oMsg:saMessage = EDHTML_Corps +fin +si oMsg:Enregistrer() alors +nId = oMsg.nPKID +renvoyer Vrai +sinon +renvoyer Faux +fin +Procédure locale EnvoyerEmail +procédure EnvoyerEmail() +si pas Enregistrer() alors +renvoyer Faux +fin +si CollaborateurEnCours.PreferenceMessagerie = MParametreUtilisateur::cBack_Office alors +si CollaborateurEnCours:tbaConfigEmail..Occurrence <= 0 alors +Info("Vous n'avez pas encore paramétré votre compte de messagerie sur votre application.") +renvoyer Faux +sinon +si CMOD_Compte.CMB_Combo = Null ou CMOD_Compte.CMB_Combo = "" ou CollaborateurEnCours: +tbaConfigEmail[CMOD_Compte.CMB_Combo]..Existe = Faux alors +Info("Veuillez sélectionner un compte mail.") +renvoyer Faux +fin +si oMsg:saAdrExp = "" alors +Info("Veuillez sélectionner un compte mail.") +renvoyer Faux +fin +fin +fin +saDestA, saDestCC, saDestCCI sont des chaînes ANSI +pour tout chaîne saUnEmail de oMsg:saAdrDestinataires séparée par ";" +si Taille(saUnEmail) > 3 alors +si EmailVérifieAdresse(saUnEmail,emailValideSyntaxeStrict) <> emailAdresseValide alors +Erreur("Veuillez vérifier l'adresse email fournie : "+saUnEmail) +renvoyer Faux +sinon +saDestA += saUnEmail+" ;" +fin +fin +fin +pour tout chaîne saUnEmail de oMsg:saAdrCC séparée par ";" +si Taille(saUnEmail) > 3 alors +06/08/2026 Batik 2740 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Procédures +si EmailVérifieAdresse(saUnEmail,emailValideSyntaxeStrict) <> emailAdresseValide alors +Erreur("Veuillez vérifier l'adresse email fournie : "+saUnEmail) +renvoyer Faux +sinon +saDestCC += saUnEmail+" ;" +fin +fin +fin +pour tout chaîne saUnEmail de oMsg:saAdrCCI séparée par ";" +si Taille(saUnEmail) > 3 alors +si EmailVérifieAdresse(saUnEmail,emailValideSyntaxeStrict) <> emailAdresseValide alors +Erreur("Veuillez vérifier l'adresse email fournie : "+saUnEmail) +renvoyer Faux +sinon +saDestCCI += saUnEmail+" ;" +fin +fin +fin +si SansEspace(saDestA) ="" alors +Info("Vous devez saisir au moins 1 destinataire pour votre mail") +DonneFocus(CMOD_A.SAI_Jeton) +renvoyer Faux +fin +si oMsg:saListePJ <> "" alors +pour toute chaîne saChemin de oMsg:saListePJ séparée par ";" +si Taille(saChemin) > 3 _et_ pas fFichierExiste(SansEspace(saChemin,sscExtérieur)) alors +Info("Le document "+fExtraitChemin(saChemin,fFichier+fExtension)+"n'as pas été trouvé") +renvoyer Faux +fin +fin +fin +ToastAffiche("Envoi de votre message en cours, veuillez patienter",toastLong,cvMilieu,chCentre) +bEmailEnvoye est un booléen = Faux +si CollaborateurEnCours.PreferenceMessagerie = MParametreUtilisateur::cBack_Office alors +MessageEmail est une chaîne ANSI = EDHTML_Corps+EDHTML_Sign +saMessErr est une chaîne ANSI = EnvoiEmailDirecteAvecComp(saDestA,saDestCC,saDestCCI,oMsg:saObjet, +MessageEmail,oMsg:saListePJ,CollaborateurEnCours:tbaConfigEmail[CMOD_Compte.CMB_Combo]) +si saMessErr <> "" alors +Erreur(ChaîneConstruit( +"Attention, ce message n'a pas pu être envoyé pour la raison suivante :%1",RC+saMessErr)) +sinon +oMsg:saMessage = MessageEmail +bEmailEnvoye = Vrai +fin +sinon +oMsg.saAdrExp = "" +si EnvoyerEmailLocalAvecComp(oMsg, Vrai,elModeClientDefaut) alors +bEmailEnvoye = Vrai +fin +fin +si bEmailEnvoye alors +oMsg:bEnvoyer = Vrai +oMsg:bBrouillon = Faux +oMsg:Enregistrer() +oUneAction est un MAction_Inter +oUneAction:nIDIntervention = nIdInter +oUneAction:dDateAction = DateSys() +oUneAction:hHeureAction = HeureSys() +oUneAction:nIDQui = CollaborateurEnCours:nPKID +06/08/2026 Batik 2741 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Procédures +oUneAction:saCleTypeAction = cCle_TypeActEmail +oUneAction:saDescription = "Envoi d'un mail à : "+oMsg:saAdrDestinataires+[";"]+oMsg:saAdrCC+[";"] ++oMsg:saAdrCCI +oUneAction:Enregistrer() +fin +renvoyer bEmailEnvoye +Procédure locale Filtrer +procédure Filtrer() +si nId > 0 _et_ HLitRecherchePremier(MessageExterne,ME_PKID,nId) alors +FichierVersMémoire(oMsg,MessageExterne) +nIdInter = oMsg:nIDIntervention +SourceVersEcran() +si pas UTF8Valide(oMsg:saMessage) alors +EDHTML_Corps = ChaîneVersUTF8(oMsg:saMessage) +sinon +EDHTML_Corps = oMsg:saMessage +fin +fin +si CMOD_Compte.CMB_Combo..Occurrence > 0 alors ListeSelectPlus(CMOD_Compte.CMB_Combo,1) +si CMOD_Compte.CMB_Combo..Occurrence > 1 alors +nPos est un entier +si oMsg:saAdrExp <> "" alors +nNbEmail est un entier = CMOD_Compte.CMB_Combo..Occurrence +pour i = 1 à nNbEmail +si Contient(CMOD_Compte.CMB_Combo[i]..ValeurAffichée, oMsg:saAdrExp) alors +nPos = i +ListeSelectPlus(CMOD_Compte.CMB_Combo,nPos) +sortir +fin +fin +sinon +si oMsg:nIDIntervention > 0 _et_ HLitRecherchePremier(Intervention,IN_PKID,oMsg:nIDIntervention +) _et_ Intervention.IN_IDSociete > 0 alors +saCodeSoc est une chaîne ANSI = MParametreUtilisateur::cEMAIL_ENVOI+"_"+Intervention. +IN_IDSociete +nPos= ListeCherche(CMOD_Compte.CMB_Combo,saCodeSoc,Vrai) +si nPos > 0 alors +ListeSelectPlus(CMOD_Compte.CMB_Combo,nPos) +fin +fin +fin +fin +si nIdInter <= 0 _et_ tbaParametres[Intervention.IN_PKID..Nom]..Existe = Vrai alors +nIdInter = Val(tbaParametres[Intervention.IN_PKID..Nom]) +fin +ChargeDocs() +pour toute chaîne saUnFichier de oMsg:saListePJ séparée par ";" +si Taille(saUnFichier) > 4 alors +SaisieAjouteJeton(CMOD_PJ.SAI_Jeton,saUnFichier,fExtraitChemin(saUnFichier,fFichier+fExtension) +) +fin +06/08/2026 Batik 2742 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Procédures +fin +MaJSelonCompte() +Procédure locale MaJEtatDocs +procédure MaJEtatDocs(stInfoSyncro est un STListeDocASyncro) +SectionCritiqueDébut("MaJEtatDocNouveau") +si stInfoSyncro.tbaDocuments..Occurrence > 0 alors +TableauSupprimeTout(tbDocsFen) +pour tout oDoc de stInfoSyncro.tbaDocuments +TableauAjoute(tbDocsFen,oDoc) +fin +fin +SectionCritiqueFin("MaJEtatDocNouveau") +Procédure locale MaJSelonCompte +procédure MaJSelonCompte() +saCode est une chaîne ANSI +si CollaborateurEnCours.PreferenceMessagerie = MParametreUtilisateur::cExterne alors +EDHTML_Sign..Visible = Faux +CMOD_Compte..Visible = Faux +retour +fin +EDHTML_Sign = "" +si CMOD_Compte.CMB_Combo <> Null _et_ CMOD_Compte.CMB_Combo <> "" alors +si CollaborateurEnCours:tbaConfigEmail[CMOD_Compte.CMB_Combo]..Existe = Vrai alors +EDHTML_Sign = CollaborateurEnCours:tbaConfigEmail[CMOD_Compte.CMB_Combo].SMTP.bufSignature +saCode = CMOD_Compte.CMB_Combo +fin +fin +tabAdresseConserver est un tableau de chaînes ANSI +bTrouve est un booléen +SaisieSupprimeToutJeton(CMOD_CC.SAI_Jeton) +SaisieSupprimeToutJeton(CMOD_CCI.SAI_Jeton) +si saCode <> "" alors +pour toute chaîne UnMail de CMOD_CC.SAI_Jeton séparée par ";" +bTrouve = Faux +si TableauCherche(CollaborateurEnCours:tbaConfigEmail[saCode].SMTP.tabCC_CopieEmail, +tcLinéairePremier+tccSansCasse, UnMail) > 0 alors +bTrouve = Vrai +fin +si pas bTrouve alors +TableauAjoute(tabAdresseConserver,UnMail) +fin +fin +si CollaborateurEnCours:tbaConfigEmail[saCode].SMTP.bEnCopieCachee alors +si CollaborateurEnCours:tbaConfigEmail[saCode].SMTP.sLogin <> "" alors +SaisieAjouteJeton(CMOD_CCI.SAI_Jeton,CollaborateurEnCours:tbaConfigEmail[saCode].SMTP.s +Login) +fin +fin +fin +CMOD_CC.SAI_Jeton= TableauVersChaîne(tabAdresseConserver,";") +Procédure locale PieceJoint +06/08/2026 Batik 2743 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Procédures +procédure PieceJoint() +// Ouvre le sélecteur de fichiers +saListeFichiersChoisie est une chaîne = fSélecteur("", "", "Sélectionnez un fichier...", +"Tous fichiers (*.*)"+TAB+"*.*", "*", fselOuvre+fselExiste+fselMulti) +si saListeFichiersChoisie<>"" alors +si OuiNon(Non,"Souhaitez-vous aussi ajouter le(s) fichier(s) à l'intervention ?") = Oui alors +si SansEspace(saCheminBase) = "" alors +saCheminBase = DecodeCheminDocSelonInter(gtbaParametresAppli[cParam_StructureCheminDoc]. +saValeur,gtbaParametresAppli[cParam_ReqCheminDoc].saValeur,nIdInter) +fin +saCheminRub est une chaîne ANSI +odDoc est un MDocument dynamique +saRubCtg est une chaîne ANSI +saRubCtgId est une chaîne ANSI +saNomDoc est une chaîne ANSI +saCheminComp est une chaîne ANSI +pour toute chaîne saUnFichier de saListeFichiersChoisie séparée par RC +saCheminRub = saCheminBase +odDoc = allouer un MDocument +odDoc:dDateFichier = DateSys() +odDoc:nIDIntervention= nIdInter +saRubCtg = "" +saRubCtgId = "" +saNomDoc = fExtraitChemin(saUnFichier,fFichier)+"_"+HeureSys()+fExtraitChemin( +saUnFichier,fExtension) +odDoc:saNom = saNomDoc +saExt est une chaîne ANSI = Majuscule(fExtraitChemin(saUnFichier,fExtension)) +si TableauCherche(LIB_Documents.gtbExtImg , tcLinéairePremier, saExt) > 0 alors +odDoc:saCleCategorie = cCle_TypeDocImg +sinon +odDoc:saCleCategorie = cCle_TypeDocAutre +fin +saCheminComp = DonneCheminFichier(odDoc,saCheminRub) +saCheminRub = ComplèteRep(saCheminRub) +si SansEspace(saUnFichier) <> "" alors +si fRepCrée(fExtraitChemin(saCheminComp,fDisque+fRépertoire)) alors +si fCopieFichier(saUnFichier,saCheminComp) alors +odDoc:saCleEtatDoc = cCle_EtatDocPresent +odDoc:saChemin = saCheminRub +odDoc:saCheminComplet= saCheminComp +odDoc:dDateFichier = DateSys() +si odDoc:Enregistrer() alors +TableauAjoute(tbDocsFen,odDoc) +si SansEspace(oMsg:saListePJ) = "" alors +oMsg:saListePJ += saUnFichier +sinon +oMsg:saListePJ += [";"] + saUnFichier +fin +si SansEspace(oMsg:saListePJIds) = "" alors +oMsg:saListePJIds += odDoc:nPKID +sinon +oMsg:saListePJIds += [";"] + odDoc:nPKID +fin +SaisieAjouteJeton(CMOD_PJ.SAI_Jeton,saUnFichier,fExtraitChemin( +saUnFichier,fFichier+fExtension)) +ToastAffiche("Document ajouté") +fin +fin +06/08/2026 Batik 2744 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Nouveau_Inter › Procédures +sinon +UneErreur:Init(ErreurApp.Fonctionnelle,"Le répertoire n'a pas pu être créé : "+ +ErreurInfo(errMessage),"FI_TdB_Documents.Ajouter") +fin +fin +fin +sinon +pour toute chaîne saUnFichier de saListeFichiersChoisie séparée par RC +si SansEspace(oMsg:saListePJ) = "" alors +oMsg:saListePJ += saUnFichier +sinon +oMsg:saListePJ += [";"] + saUnFichier +fin +SaisieAjouteJeton(CMOD_PJ.SAI_Jeton,saUnFichier,fExtraitChemin(saUnFichier,fFichier+ +fExtension)) +fin +fin +fin +Procédure locale PieceJointeInter +procédure PieceJointeInter() +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[cParam_ListeChaine] = oMsg:saListePJ +tbaParam[cParam_ListeId] = oMsg:saListePJIds +tbaParam[cParam_Alias] = "FEN_Liste_Documents_Inter" +si Ouvre(FEN_Liste_Documents_Inter,tbaParam,tbDocsFen) alors +oMsg:saListePJ = tbaParam[cParam_ListeChaine] +oMsg:saListePJIds = tbaParam[cParam_ListeId] +SaisieSupprimeToutJeton(CMOD_PJ.SAI_Jeton) +tbCheminsDoc est un tableau de chaînes ANSI +si SansEspace(tbaParam[cParam_ListeChaine]) <> "" alors +ChaîneVersTableau(tbaParam[cParam_ListeChaine],tbCheminsDoc,";") +fin +si tbCheminsDoc..Occurrence > 0 alors +pour tout saChemin de tbCheminsDoc +si Taille(saChemin) > 4 alors +SaisieAjouteJeton(CMOD_PJ.SAI_Jeton,saChemin,fExtraitChemin(saChemin,fFichier+ +fExtension)) +fin +fin +fin +fin +06/08/2026 Batik 2745 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Image +FEN_Creation_Doc_Rub +Image +| 06/08/2026 | Batik | 2746 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Image +| 06/08/2026 | Batik | 2747 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Image +| 06/08/2026 | Batik | 2748 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Image +| 06/08/2026 | Batik | 2749 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Image +| 06/08/2026 | Batik | 2750 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Image +| 06/08/2026 | Batik | 2751 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Image +| 06/08/2026 | Batik | 2752 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Image +| 06/08/2026 | Batik | 2753 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Image +| 06/08/2026 | Batik | 2754 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Image +FEN_Creation_Doc_Rub +Informations générales +FEN_Creation_Doc_Rub +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Creation_Doc_Rub.wdw +Créé par SMR +Date de création 17/09/2025 08:31:14 +Dernière modification par susana@applilogik.fr +Date dernière modification 17/04/2026 10:51:32 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +Note pour la documentation technique +FR: Création d’un rapport +06/08/2026 Batik 2755 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 433 Hauteur | 666 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | --- | --- | --- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| 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 | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +| 06/08/2026 | | | Batik | | 2756 | +| ---------- | --- | --- | ----- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | | 25 | Libellé | | | 13 | +| --- | ------------------------- | --- | --- | --- | ---------------------- | --- | --- | --- | +| | Bouton | | | 2 | Interrupteur | | | 4 | +| | Image | | | 14 | Forme | | | 1 | +| | Zone répétée | | | 5 | Superchamp | | | 1 | +| | Attribut zone répétée | | | 1 | Champ Modèle de champs | | | 13 | +| | Calendrier | | | 1 | Option d'interrupteur | | | 4 | +| | Case barre de message | | | 1 | Bouton segmenté | | | 1 | +| | Option de bouton segmenté | | | 2 | | | | | +Nombre d'éléments dans la fenêtre : 88 +FEN_Creation_Doc_Rub +Informations sur les champs +Fenêtre : FEN_Creation_Doc_Rub +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 | +| --- | ---------- | --- | ------------ | ----------- | --------------------- | ------------------------- | --- | ------------- | +| | X noitisoP | | laitini tatE | eisias epyT | engilitluM FTR tamroF | | | | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| SAI_Date | 7 121 | 112 53 | 7 Actif | Date | | Non | | | +| ------------- | ------ | ------- | ------- | ----- | --- | --- | --- | --- | +| SAI_Heure | 8 187 | 111 53 | 7 Actif | Heure | | Non | | | +| SAI_Texte | 6 13 | 205 100 | 7 Actif | Texte | | Non | | | +| SAI_Texte_RTF | 219 20 | 204 87 | 7 Actif | Texte | | Non | | | +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | ---------- | +| | | | | | | laitini tatE | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Pos | | 4 91 | 423 | 518 | 2 | Actif Gauche | Haut | | +| ------------ | --- | ---- | --- | ----- | --- | ------------ | ---- | ---- | +| LIB_SansNom1 | | 14 9 | 133 | 26 | 9 | Actif Gauche | Haut | | +| 06/08/2026 | | | | Batik | | | | 2757 | + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › 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_Absent | 21 317 | 25 21 | 7 | Grisé | | | +| --------------- | ------ | ----- | --- | ----- | --- | --- | +| IMG_DocImg | 8 345 | 49 52 | 7 | Grisé | | | +| IMG_Present | 21 290 | 27 26 | 7 | Grisé | | | +| IMG_Syncroniser | 22 257 | 28 23 | 7 | Grisé | | | +Zone répétée +| | | | | | laitini tatE | BAT ehcuoT | +| --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | +| | X noitisoP | Y noitisoP | | | | | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| ZR_CR | 3 | 47 424 | 564 | 8 | Actif | | +| ---------- | --- | ------ | --- | --- | ----- | --- | +| ZR_Contact | 3 | 45 424 | 564 | 4 | Actif | | +| ZR_Img | 2 | 47 424 | 564 | 3 | Actif | | +| ZR_Liste | 3 | 97 424 | 513 | 1 | Actif | | +| ZR_Rdv | 3 | 47 424 | 564 | 5 | Actif | | +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Annuler | 139 | 2 141 | 35 | 1 | Actif | | +| ------------- | --- | ------- | --- | --- | ----- | --- | +| CMOD_Apres | 397 | 44 30 | 30 | 2 | Actif | | +| CMOD_Avant | 4 | 43 30 | 30 | 2 | Actif | | +| CMOD_BordFen | 0 | -29 302 | 29 | 0 | Actif | | +| CMOD_ChampNom | 38 | 44 325 | 47 | 2 | Actif | | +| CMOD_Info | 365 | 44 30 | 30 | 2 | Actif | | +| CMOD_NomDoc | 3 | 39 425 | 56 | 1 | Actif | | +| CMOD_SansNom1 | 0 | 35 432 | 8 | 2 | Actif | | +| CMOD_SansNom2 | 4 | 1 34 | 34 | 2 | Actif | | +| CMOD_Titre | 44 | 0 383 | 35 | 2 | Actif | | +| CMOD_Valider | 288 | 2 141 | 35 | 1 | Actif | | +Calendrier +| | | | | | laitini tatE | BAT ehcuoT | +| --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | +| | X noitisoP | Y noitisoP | | | | | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CAL_Date | 30 | 118 370 | 387 | 6 | Actif | | +| ---------- | --- | ------- | --- | --- | ----- | ---- | +| 06/08/2026 | | Batik | | | | 2758 | + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Bouton segmenté +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BS_Choix | | | 189 | | 139 | 214 | | 39 | 7 | Actif | | +| -------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Zone répétée : ZR_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 | | | | | +ruetuaH +ruegraL +elbisiV +nalP +| SAI_Client | 4 | 80 398 | 53 | 8 | Actif | Texte | | | Non | | | +| ----------- | ----- | ------ | --- | --- | ----- | ----- | --- | --- | --- | --- | --- | +| SAI_Debut | 5 | 27 193 | 53 | 8 | Actif | Date | | | Non | | | +| SAI_Fin | 206 | 27 197 | 53 | 8 | Actif | Date | | | Non | | | +| SAI_InfoSup | 4 186 | 399 | 80 | 8 | Actif | Texte | | | Non | | | +| SAI_Tech | 4 133 | 398 | 53 | 8 | Actif | Texte | | | Non | | | +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Id | | 271 | 1 | 133 | 26 | | 0 | Actif | Droite | Haut | | +| ------ | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | staté siorT | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | ------------ | --- | ----------- | +| | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| INT_Int | | | 5 | 1 119 | | 29 | 8 | | Actif | 1 | | +| ---------- | --- | --- | --- | ----- | ----- | --- | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | | | | Batik | | | | | | 2759 | + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Zone répétée : ZR_Contact +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_Etage | 209 134 | 192 53 | 4 | Actif | Texte | Non | | | +| ----------- | ------- | --------- | --- | ----- | ----- | --- | --- | --- | +| SAI_InfoSup | 3 188 | 399 80 | 4 | Actif | Texte | Non | | | +| SAI_Nom | 4 | 29 397 53 | 4 | Actif | Texte | Non | | | +| SAI_Role | 4 135 | 198 53 | 4 | Actif | Texte | Non | | | +| SAI_Tel1 | 4 | 82 198 53 | 4 | Actif | Texte | Non | | | +| SAI_Tel2 | 209 | 82 192 53 | 4 | Actif | Texte | Non | | | +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Id | | 271 1 | 133 | 26 | 0 | Actif Droite | Haut | | +| ------ | --- | ----- | --- | --- | --- | ------------ | ---- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | laitini tatE BAT ehcuoT | | staté siorT | +| --- | --- | --------------------- | ------- | ------- | --- | ----------------------- | --- | ----------- | +| | | X noitisoP Y noitisoP | | | | | | | +| | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| INT_Int | | 3 | 1 119 | 29 | 4 | Actif | 1 | | +| ------- | --- | --- | ----- | --- | --- | ----- | --- | --- | +Zone répétée : ZR_Img +| 06/08/2026 | | | | Batik | | | | 2760 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +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_Date | 292 | 0 112 | 53 | 3 | Actif | Date | | Non | | | | +| ------------ | ----- | ------ | --- | --- | ----- | ----- | --- | --- | --- | --- | --- | +| SAI_InfoSup | 3 172 | 399 | 93 | 3 | Actif | Texte | | Non | | | | +| SAI_NoteColb | 145 | 63 259 | 101 | 3 | Actif | Texte | | Non | | | | +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | | | ruegraL | | | elbisiV | | | | | +| --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | --- | --- | +nalP +| LIB_Chemin | | 211 | 2 | 43 | 26 | 3 | Grisé | | Gauche | Haut | | +| ---------- | --- | --- | --- | --- | --- | --- | ----- | ----- | ------ | ---- | --- | +| LIB_Id | | 271 | 1 | 133 | 26 | 0 | | Actif | Droite | Haut | | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | staté siorT | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | | ruegraL | | | elbisiV | | | | | +| --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | --- | --- | +nalP +| INT_Int | | | 3 | 1 119 | 29 | | 3 | Actif | | 1 | | +| ------- | --- | --- | --- | ----- | --- | --- | --- | ----- | --- | --- | --- | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| --- | --- | --- | ---------- | ---------- | --- | ------- | --- | --- | ------------ | --------- | ---------- | +| | | | | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Photo | | | 4 | 37 | 133 | 133 | 0 | | Actif | | | +| ---------- | --- | --- | --- | --- | ----- | --- | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | | | | Batik | | | | | | 2761 | + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Zone répétée : ZR_Liste +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_Desc | -1 | 50 373 | 43 | 0 | Actif | Gauche | Centre | | +| -------- | --- | ------ | --- | --- | ----- | ------ | ------ | --- | +| LIB_Id | 271 | 1 133 | 26 | 0 | Actif | Droite | Haut | | +Attribut zone répétée +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +ATT_Id +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Go | | 372 | 35 | 30 | 30 | 0 | Actif | | +| -------- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_Lib | | 0 | 1 | 372 | 49 | 0 | Actif | | +Champ Modèle de champs : ZR_Liste.CMOD_Go +Image +| | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------------------------------------- | ---------- | +| | | | | | | laitini tatE | | sucof cevA | +| | X noitisoP | Y noitisoP | | | | | | | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | 0 | 0 | 30 | 30 | 0 | Actif | | | +| ---------- | --- | --- | ----- | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 2762 | + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Champ Modèle de champs : ZR_Liste.CMOD_Lib +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 0 0 | 372 | 49 | 0 | Actif Gauche | Centre | | +| ------- | --- | --- | --- | --- | --- | ------------ | ------ | --- | +Zone répétée : ZR_Rdv +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_Colbs | 4 186 | 397 53 | 5 | Actif | Texte | Non | | | +| ----------- | ----- | --------- | --- | ----- | ----- | --- | --- | --- | +| SAI_Debut | 4 | 29 193 53 | 5 | Actif | Date | Non | | | +| SAI_Fin | 204 | 29 197 53 | 0 | Actif | Date | Non | | | +| SAI_InfoSup | 4 239 | 397 80 | 5 | Actif | Texte | Non | | | +| SAI_Note | 5 133 | 396 53 | 5 | Actif | Texte | Non | | | +| SAI_Objet | 4 | 80 397 53 | 5 | Actif | Texte | Non | | | +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_Id | | 271 1 | 133 | 26 | 0 | Actif Droite | Haut | | +| ---------- | --- | ----- | --- | ----- | --- | ------------ | ---- | ---- | +| 06/08/2026 | | | | Batik | | | | 2763 | + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | staté siorT | +| --- | --------------------- | --- | --- | --- | ------------ | --- | ----------- | +ruetuaH +| | | ruegraL | | elbisiV | | | | +| --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| INT_Int | 4 -2 | 119 29 | 5 | Actif | | 1 | | +| ------- | ---- | ------ | --- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_Annuler +Bouton +BAT ehcuoT notuob epyT +| | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --------------------- | --------------- | --- | --- | ------------ | --- | --- | +| | | ruegraL ruetuaH | | | | | | +elbisiV +nalP +| BTN_Annuler | 139 | 2 141 | 35 | 0 | Actif | Normal | | +| ----------- | --- | ----- | --- | --- | ----- | ------ | --- | +Champ Modèle de champs : CMOD_Apres +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | | sucof cevA | +| --- | --------------------- | --------------- | --- | --- | ------------ | --- | ---------- | +| | X noitisoP Y noitisoP | | | | | | | +| | | ruegraL ruetuaH | | | cilc cevA | | | +elbisiV +nalP +| IMG_Icone | 397 44 | 30 30 | | 0 | Actif | | | +| --------- | ------ | ----- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Avant +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --------------------- | --------------- | --- | --- | ------------ | --- | --- | +| | | ruegraL ruetuaH | | | cilc cevA | | | +elbisiV +nalP +| IMG_Icone | 4 43 | 30 30 | | 0 | Actif | | | +| ---------- | ---- | ----- | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | | 2764 | + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | | 0 | -29 302 | 30 | 0 | Actif | | +| ----------- | --- | --- | ------- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libellé | 91 | -27 179 | 25 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | ---- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | | laitini tatE | | | +| --- | ---------- | ---------- | --------------- | --- | ------------ | --------- | --- | +| | | | ruegraL ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 270 | -26 | 28 23 | 0 | Actif | | | +| -------------------------- | --- | --- | ----- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_ChampNom +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| LIB_lib | 38 | 44 325 | 47 0 | Actif | Gauche | Haut | | +| ---------- | --- | ------ | ----- | ----- | ------ | ---- | ---- | +| 06/08/2026 | | | Batik | | | | 2765 | + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Champ Modèle de champs : CMOD_Info +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| --- | --- | ---------- | ---------- | --- | ------- | --- | --- | ------------ | --------- | ---------- | +| | | | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 365 | 44 | | 30 30 | | 0 | Actif | | | +| --------- | --- | --- | --- | --- | ----- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_NomDoc +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 | | | laitini tatE | eisias epyT | engilitluM | | | | | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| SAI_Texte | 3 39 | 425 56 | 0 | Actif | Texte | | Non | | | | +| --------- | ---- | ------ | --- | ----- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_SansNom1 +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_Sep | | | 0 | 36 | 432 | | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_SansNom2 +| 06/08/2026 | | | | | Batik | | | | | 2766 | +| ---------- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › 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_Icone | 4 | 1 34 | 34 | 0 | Actif | | | +| --------- | --- | ---- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | 44 0 | 383 35 | 0 | Actif | Gauche | Centre | | +| ------- | ---- | ------ | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Valider +Bouton +notuob epyT +| | | | | | laitini tatE | BAT ehcuoT | | +| --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | --- | +| | X noitisoP | Y noitisoP | | | | | | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Valider | 288 | 2 141 | 35 | 0 | Actif | Normal | | +| ----------- | --- | ----- | --- | --- | ----- | ------ | --- | +Fenêtre : FEN_Creation_Doc_Rub +Bouton segmenté : BS_Choix +| Ordre navigation | 20 | | | | | | | +| ------------------------- | ----------------------------------- | ----- | --- | --- | --- | --- | ---- | +| 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é) | | | | | | | +| Espace entre options | 4 | | | | | | | +| 06/08/2026 | | Batik | | | | | 2767 | + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit 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 +Valeur persistante Non +Mode bouton segmenté Sélecteur +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 +Calendrier : CAL_Date +Libellé FR: Calendrier +Ordre navigation 16 +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 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format retour AAAAMMJJ +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Numéro semaine Non +Semaine ISO8601 Non +Texte Markdown Non +Sélection hors mois Oui +Style hors mois Oui +Jours hors mois Oui +Premier jour semaine Lundi +Bouton aujourd'hui Oui +Format mois FR: Mmmm AAAA +Sélection de périodes Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite et bas +06/08/2026 Batik 2768 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Taux anc. droite 500 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Apres +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2769 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Champ Modèle de champs : CMOD_Avant +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +06/08/2026 Batik 2770 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Champ Modèle de champs : CMOD_ChampNom +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Info +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2771 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Champ Modèle de champs : CMOD_NomDoc +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom1 +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2772 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom2 +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Titre +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2773 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Absent +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\errorDoc.svg +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 +06/08/2026 Batik 2774 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_DocImg +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\document-img.svg +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 +Image : IMG_Present +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\DocOk.svg +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 +06/08/2026 Batik 2775 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +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 +Image : IMG_Syncroniser +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SyncroDoc.svg +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 +06/08/2026 Batik 2776 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : LIB_Pos +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2777 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Libellé : LIB_SansNom1 +Libellé FR: Libellé +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 Tenir compte du cadrage +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 +Champ de saisie : SAI_Date +Ordre navigation 19 +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 7 +06/08/2026 Batik 2778 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Largeur interne 107 +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 +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 +06/08/2026 Batik 2779 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +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 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_Heure +Ordre navigation 21 +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 8 +Largeur interne 111 +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 +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 +06/08/2026 Batik 2780 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +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 +Champ de saisie : SAI_Texte +Ordre navigation 17 +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 7 +06/08/2026 Batik 2781 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Largeur interne 204 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 2782 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome Couleur monochrome du style +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : SAI_Texte_RTF +Ordre navigation 18 +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 219 +Largeur interne 204 +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 +06/08/2026 Batik 2783 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › 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 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : ZR_CR +Libellé FR: &Zone répétée +Ordre navigation 22 +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 +Hauteur ligne max. 0 +Hauteur ligne 268 +Largeur colonne 422 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +06/08/2026 Batik 2784 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Oui +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 +06/08/2026 Batik 2785 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Zone répétée : ZR_Contact +Libellé FR: &Zone répétée +Ordre navigation 14 +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 +Hauteur ligne max. 0 +Hauteur ligne 271 +Largeur colonne 422 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +06/08/2026 Batik 2786 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : ZR_Img +Libellé FR: &Zone répétée +Ordre navigation 13 +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 +Hauteur ligne max. 0 +Hauteur ligne 271 +Largeur colonne 422 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +06/08/2026 Batik 2787 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : ZR_Liste +Libellé FR: &Zone répétée +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 +Hauteur ligne max. 0 +Hauteur ligne 95 +Largeur colonne 422 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +06/08/2026 Batik 2788 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Zone répétée : ZR_Rdv +Libellé FR: &Zone répétée +Ordre navigation 15 +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 +Hauteur ligne max. 0 +Hauteur ligne 320 +Largeur colonne 422 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +06/08/2026 Batik 2789 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Oui +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 +06/08/2026 Batik 2790 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2791 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Champ Modèle de champs : CMOD_Apres +Image : CMOD_Apres.IMG_Icone +Note pour la documentation technique +FR: { +'Libelle':'Item suivant' +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\gauche_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 2792 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Champ Modèle de champs : CMOD_Avant +Image : CMOD_Avant.IMG_Icone +Note pour la documentation technique +FR: { +'Libelle':'Item précédent' +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\droite_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 2793 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 302 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 2794 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 2795 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 +06/08/2026 Batik 2796 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 +06/08/2026 Batik 2797 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Ancrage Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_ChampNom +Libellé : CMOD_ChampNom.LIB_lib +Note pour la documentation technique +FR: { +'Libelle':'Nom de l/'item sélectionne' +} +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2798 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Champ Modèle de champs : CMOD_Info +Image : CMOD_Info.IMG_Icone +Note pour la documentation technique +FR: { +'Libelle':'Information' +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\information.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 2799 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Champ Modèle de champs : CMOD_NomDoc +Champ de saisie : CMOD_NomDoc.SAI_Texte +Note pour la documentation technique +FR: { +'Libelle':'Nom du rapport/email' +} +Libellé FR: Texte +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 3 +Largeur interne 425 +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 +06/08/2026 Batik 2800 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom1 +Forme : CMOD_SansNom1.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Batik 2801 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom2 +Image : CMOD_SansNom2.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\FlecheSortir.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 2802 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Champ Modèle de champs : CMOD_Titre +Libellé : CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2803 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2804 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Zone répétée : ZR_CR +Interrupteur : ZR_CR.INT_Int +Libellé FR: &Interrupteur +Valeur initiale 0 +Ordre navigation 1 +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 +Nb. états image 1 +Largeur image 85 +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 +06/08/2026 Batik 2805 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Libellé : ZR_CR.LIB_Id +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Numérique +Masque saisie FR: 99 999 999 999 999 999 999 +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 : ZR_CR.SAI_Client +Libellé FR: Client +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 8 +06/08/2026 Batik 2806 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Largeur interne 398 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 2807 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +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 +Champ de saisie : ZR_CR.SAI_Debut +Libellé FR: De : +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression <Aucun> +Touche TAB Accessible par TAB +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Droite +Position X interne 9 +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 0 +Masque saisie FR: JJ/MM/AAAA HH:mm:SS +Format retour AAAAMMJJHHmmSS +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 +06/08/2026 Batik 2808 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ de saisie : ZR_CR.SAI_Fin +Libellé FR: à : +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 +06/08/2026 Batik 2809 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Position X interne 210 +Largeur interne 192 +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: JJ/MM/AAAA HH:mm:SS +Format retour AAAAMMJJHHmmSS +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 +06/08/2026 Batik 2810 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome Couleur monochrome du style +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ de saisie : ZR_CR.SAI_InfoSup +Libellé FR: Information supplémentaire +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 9 +Largeur interne 398 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 2811 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Saisie invalide Oui, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : ZR_CR.SAI_Tech +Libellé FR: Technicien +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> +06/08/2026 Batik 2812 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Cadrage horz. Gauche +Position X interne 9 +Largeur interne 397 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 2813 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +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 +Zone répétée : ZR_Contact +Interrupteur : ZR_Contact.INT_Int +Libellé FR: &Interrupteur +Valeur initiale 0 +Ordre navigation 1 +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +06/08/2026 Batik 2814 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +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é : ZR_Contact.LIB_Id +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Numérique +Masque saisie FR: 99 999 999 999 999 999 999 +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 +06/08/2026 Batik 2815 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Champ de saisie : ZR_Contact.SAI_Etage +Libellé FR: Étage +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 213 +Largeur interne 192 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 2816 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › 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 +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ de saisie : ZR_Contact.SAI_InfoSup +Libellé FR: Information supplémentaire +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 8 +Largeur interne 398 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +Visualisation markdown Non +06/08/2026 Batik 2817 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › 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, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2818 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Champ de saisie : ZR_Contact.SAI_Nom +Libellé FR: Nom prénom +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 8 +Largeur interne 397 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 2819 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : ZR_Contact.SAI_Role +Libellé FR: Rôle +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 8 +Largeur interne 198 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +Visualisation markdown Non +06/08/2026 Batik 2820 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › 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, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Batik 2821 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Champ de saisie : ZR_Contact.SAI_Tel1 +Libellé FR: Téléphone 1 +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 8 +Largeur interne 198 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 2822 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ de saisie : ZR_Contact.SAI_Tel2 +Libellé FR: Téléphone 2 +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 213 +Largeur interne 192 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +Visualisation markdown Non +06/08/2026 Batik 2823 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › 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, non 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 +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Batik 2824 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Zone répétée : ZR_Img +Image : ZR_Img.IMG_Photo +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 +Interrupteur : ZR_Img.INT_Int +Libellé FR: &Interrupteur +Valeur initiale 0 +Ordre navigation 2 +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 +06/08/2026 Batik 2825 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +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 +Libellé : ZR_Img.LIB_Chemin +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 Tenir compte du cadrage +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 +06/08/2026 Batik 2826 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +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é : ZR_Img.LIB_Id +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Numérique +Masque saisie FR: 99 999 999 999 999 999 999 +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 +06/08/2026 Batik 2827 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Champ de saisie : ZR_Img.SAI_Date +Libellé FR: Date +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 295 +Largeur interne 107 +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 +06/08/2026 Batik 2828 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › 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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : ZR_Img.SAI_InfoSup +Libellé FR: Information supplémentaire +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 7 +Largeur interne 398 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Batik 2829 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › 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, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2830 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Champ de saisie : ZR_Img.SAI_NoteColb +Libellé FR: Notes des collaborateurs +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 149 +Largeur interne 258 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 2831 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : ZR_Liste +Attribut zone répétée : ZR_Liste.ATT_Id (1) +Champ associé LIB_Id +Propriété associée 1 +Champ Modèle de champs : ZR_Liste.CMOD_Go +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Batik 2832 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Facteur d'agrandissement 0 +Ancrage Droite et bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_Liste.CMOD_Lib +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_Liste.LIB_Desc +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 +06/08/2026 Batik 2833 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Facteur d'agrandissement 0 +Mise à blanc Oui +Texte Markdown Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_Liste.LIB_Id +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Numérique +Masque saisie FR: 99 999 999 999 999 999 999 +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 +06/08/2026 Batik 2834 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Champ Modèle de champs : ZR_Liste.CMOD_Go +Image : ZR_Liste.CMOD_Go.IMG_Icone +Note pour la documentation technique +FR: { +'Libelle':'Sélection de l'item' +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\gauche_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 2835 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Champ Modèle de champs : ZR_Liste.CMOD_Lib +Libellé : ZR_Liste.CMOD_Lib.LIB_lib +Note pour la documentation technique +FR: { +'Libelle':'Items' +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2836 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Zone répétée : ZR_Rdv +Interrupteur : ZR_Rdv.INT_Int +Libellé FR: &Interrupteur +Valeur initiale 0 +Ordre navigation 2 +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 +Nb. états image 1 +Largeur image 85 +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 +06/08/2026 Batik 2837 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Libellé : ZR_Rdv.LIB_Id +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Numérique +Masque saisie FR: 99 999 999 999 999 999 999 +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 : ZR_Rdv.SAI_Colbs +Libellé FR: Collaborateur(s) +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 8 +06/08/2026 Batik 2838 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Largeur interne 397 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 2839 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +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 +Champ de saisie : ZR_Rdv.SAI_Debut +Libellé FR: De : +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 8 +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 0 +Masque saisie FR: JJ/MM/AAAA HH:mm:SS +Format retour AAAAMMJJHHmmSS +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 +06/08/2026 Batik 2840 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ de saisie : ZR_Rdv.SAI_Fin +Libellé FR: à : +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 +06/08/2026 Batik 2841 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Position X interne 208 +Largeur interne 192 +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: JJ/MM/AAAA HH:mm:SS +Format retour AAAAMMJJHHmmSS +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 +06/08/2026 Batik 2842 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome Couleur monochrome du style +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ de saisie : ZR_Rdv.SAI_InfoSup +Libellé FR: Information supplémentaire +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 9 +Largeur interne 396 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 2843 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Saisie invalide Oui, non 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 +Champ de saisie : ZR_Rdv.SAI_Note +Libellé FR: Note +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> +06/08/2026 Batik 2844 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Cadrage horz. Gauche +Position X interne 9 +Largeur interne 396 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 2845 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +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 +Champ de saisie : ZR_Rdv.SAI_Objet +Libellé FR: Objet +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 8 +Largeur interne 397 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 2846 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Informations sur les champs +Saisie invalide Oui, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Creation_Doc_Rub +Code +Déclarations globales de FEN_Creation_Doc_Rub +procédure FEN_Creation_Doc_Rub(tbaParametres est un tableau associatif de chaînes ANSI) +MoiMême..Alias = tbaParametres[cParam_Alias] +saNomUtilisateurFen = "Création des rapports et des emails" +saTypeDonnees est une chaîne ANSI = tbaParametres[cParam_TypeEnr] +nId est un entier sur 8 octets = tbaParametres[cParam_IdFen] +nIdInter est un entier sur 8 octets = tbaParametres[Intervention.IN_PKID..Nom] +tbChampsBD est un tableau de STJSON_MembreRubChamps +tbChampsCreation est un tableau de STJSON_MembreRubChamps +06/08/2026 Batik 2847 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Code +| saChamps | est une chaîne ANSI = "" | | | | +| ------------------------------------- | -------------------------------------- | --- | --- | --- | +| saNomModele est une chaîne ANSI = "" | | | | | +| bufCorpsModele | est un Buffer | | | | +| SujetEmail | est un Document | | | | +| nIndice | est un entier | = 0 | | | +| nTotalChamp | est un entier | = 0 | | | +| ChampSel | est un Champ | | | | +| saNomChamp | est une chaîne ANSI | | | | +| nIdDocCree | est un entier sur 8 octets | | | | +| tbaDocsFen | est un tableau associatif de MDocument | | | | +| saCheminBase | est une chaîne ANSI | | | | +| tbChampsImg est un tableau de Champs | | | | | +Fin d'initialisation de FEN_Creation_Doc_Rub +Filtrer() +CreationChamps() +FiltreListeSaisi() +FEN_Creation_Doc_Rub..Plan = Items +Fermeture de FEN_Creation_Doc_Rub +renvoyer nIdDocCree +FEN_Creation_Doc_Rub +Code des champs +A chaque modification de BS_Choix +procédure OptionModifiée(IndiceOptionModifiée) +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +| 06/08/2026 | | | Batik | 2848 | +| ---------- | --- | --- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +nIdDocCree = 0 +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Apres +06/08/2026 Batik 2849 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Apres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Apres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +nIndice += 1 +MaJAffichage() +A chaque modification de IMG_Icone ( CMOD_Apres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Apres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Apres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Apres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Avant +06/08/2026 Batik 2850 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Avant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Avant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +nIndice -= 1 +MaJAffichage() +A chaque modification de IMG_Icone ( CMOD_Avant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Avant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Avant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Avant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen +06/08/2026 Batik 2851 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_ChampNom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ChampNom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ChampNom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ChampNom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ChampNom +06/08/2026 Batik 2852 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ChampNom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ChampNom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_ChampNom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_ChampNom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Info ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2853 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Code des champs +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_Icone ( CMOD_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NomDoc +salib = "Nom du rapport" +Fin d'initialisation de CMOD_NomDoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NomDoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NomDoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NomDoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NomDoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NomDoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NomDoc +06/08/2026 Batik 2854 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NomDoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_NomDoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_NomDoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_NomDoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NomDoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2855 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Code des champs +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ClicBtnRetour() +A chaque modification de IMG_Icone ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2856 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Code des champs +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_Titre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +06/08/2026 Batik 2857 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CreationModeleFinal() +Initialisation de LIB_Pos +// Version 1 +// Description +// Libellé simple +Initialisation de SAI_Date +// Version 1 +// Description +// Saisie d'une date avec calendrier +MoiMême = "00000000" +Initialisation de SAI_Heure +// Version 1 +// Description +// Champ de saisie pour un texte simple sur une ligne +Initialisation de SAI_Texte_RTF +// Version 1 +// Description +// Saisie de texte RTF +Entrée dans ZR_Contact +06/08/2026 Batik 2858 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Code des champs +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de INT_Int ( ZR_Contact ) +// Version 1 +// Description +// Interrupteur simple 2 états +Entrée dans ZR_CR +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de INT_Int ( ZR_CR ) +// Version 1 +// Description +// Interrupteur simple 2 états +Initialisation de SAI_Debut ( ZR_CR ) +// Version 1 +// Description +// Saisie d'une date avec calendrier +MoiMême = "00000000" +Initialisation de SAI_Fin ( ZR_CR ) +// Version 1 +// Description +// Saisie d'une date avec calendrier +MoiMême = "00000000" +Entrée dans ZR_Img +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de INT_Int ( ZR_Img ) +// Version 1 +// Description +// Interrupteur simple 2 états +Initialisation de SAI_Date ( ZR_Img ) +// Version 1 +// Description +// Saisie d'une date avec calendrier +MoiMême = "00000000" +Entrée dans ZR_Liste +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Go +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Go +06/08/2026 Batik 2859 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Go +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Go +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Go +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Go +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Go +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Go ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Go ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +n est un entier = Val(ZR_Liste.ATT_Id) +si n > 0 _et_ n <= nTotalChamp alors +nIndice = n +FEN_Creation_Doc_Rub..Plan = Saisie +MaJAffichage() +fin +A chaque modification de IMG_Icone ( CMOD_Go ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Go ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Go ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Go ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 2860 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Code des champs +ExécuteAncêtre +Fin d'initialisation de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Lib ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_Lib ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_Desc ( ZR_Liste ) +// Version 1 +// Description +// Libellé simple +Entrée dans ZR_Rdv +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de INT_Int ( ZR_Rdv ) +06/08/2026 Batik 2861 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Code des champs +// Version 1 +// Description +// Interrupteur simple 2 états +Initialisation de SAI_Debut ( ZR_Rdv ) +// Version 1 +// Description +// Saisie d'une date avec calendrier +MoiMême = "00000000" +Initialisation de SAI_Fin ( ZR_Rdv ) +// Version 1 +// Description +// Saisie d'une date avec calendrier +MoiMême = "00000000" +FEN_Creation_Doc_Rub +Procédures +Procédure locale CelluleAvecPlusiersRub +procédure CelluleAvecPlusiersRub(stUnTerme est un STJSON_MembreRubChamps, TexteInitial est une chaîne +ANSI, tabListeRubCol est un tableau de entiers) +nNbTermeCellule est un entier +pour tout stTerme de stUnTerme.ListeMembre +si Contient(TexteInitial,stTerme:Rubrique,MotComplet+SansCasse) alors +nNbTermeCellule += 1 +TableauAjoute(tabListeRubCol,stTerme:Ordre) +fin +fin +si nNbTermeCellule > 1 alors +renvoyer Vrai +sinon +renvoyer Faux +fin +Procédure locale ChargeCR +procédure ChargeCR(Cle est un entier, xChamp est un Champ) +tbCR est un tableau de ST_CR_Rp +tbCRSel est un tableau de ST_CR_Rp +UnNomChamp est une chaîne ANSI +n, i , b sont des entiers +si tbChampsBD..Occurrence >= Cle alors +si tbChampsBD[Cle]:GroupeApp = cRub_CR alors +si tbChampsBD[Cle]:ListeDonnesBD <> "" alors +UnNomChamp = NumériqueVersChaîne(tbChampsBD[Cle]:Ordre) +06/08/2026 Batik 2862 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +Désérialise(tbCR,tbChampsBD[Cle]:ListeDonnesBD,psdJSON) +fin +si tbChampsBD[Cle]:ListeDonnesMob <> "" alors +Désérialise(tbCRSel,tbChampsBD[Cle]:ListeDonnesMob,psdJSON) +fin +fin +sinon +renvoyer 0 +fin +si UnNomChamp <> "" _et_ tbCR..Occurrence > 0 alors +xChamp <- ChampClone(ZR_CR, UnNomChamp) +b = 1 +pour tout UnCR de tbCR +xChamp.AjouteLigne() +n+= 1 +xChamp[n].LIB_Id = UnCR.nId +xChamp[n].SAI_Debut = UnCR.saDebut +xChamp[n].SAI_Fin = UnCR.saFin +xChamp[n].SAI_Client = UnCR.saNomCollaborateur +xChamp[n].SAI_Tech = UnCR.saSignataire +UnCR.nPosTable = n +i = TableauCherche(tbCRSel,tcLinéaire,"nId",UnCR.nId) +si i <= 0 alors +TableauAjoute(tbCRSel,UnCR) +fin +si i > 0 alors +si tbCRSel[i].nId = UnCR.nId alors +xChamp[n].SAI_InfoSup = tbCRSel[i].saExtra +xChamp[n].INT_Int = tbCRSel[i].bSelection +tbCRSel[i].nPosTable = n +fin +fin +i = TableauCherche(tbChampsBD[Cle]:ListeMembre,tcLinéaire,"Rubrique","$TABCR.EXTRA$") +si i <= 0 alors +xChamp[n].SAI_InfoSup..Visible= Faux +sinon +xChamp[n].SAI_InfoSup..Visible = Vrai +fin +fin +fin +si tbCRSel..Occurrence > 0 alors +sJson est une chaîne ANSI +Sérialise(tbCRSel,sJson,psdJSON) +tbChampsBD[Cle]:ListeDonnesMob = sJson +fin +si b > 0 alors +xChamp..Largeur = LIB_Pos..Largeur +xChamp..Hauteur = LIB_Pos..Hauteur +xChamp..Y = LIB_Pos..Y +xChamp..X = (LIB_Pos..X) +xChamp..Visible = Faux +06/08/2026 Batik 2863 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +xChamp..Libellé = tbChampsBD[Cle].Description +fin +renvoyer b +Procédure locale ChargeCtcSite +procédure ChargeCtcSite(Cle est un entier,xChamp est un Champ) +UnNomChamp est une chaîne ANSI +n, i , b sont des entiers +tblPerLieu est un tableau de ST_CONTACT_Rp +tblPerLieuSel est un tableau de ST_CONTACT_Rp +pstUnCtcRp est un ST_CONTACT_Rp dynamique +si tbChampsBD..Occurrence >= Cle alors +si tbChampsBD[Cle]:GroupeApp = cRub_CtSite alors +UnNomChamp = NumériqueVersChaîne(tbChampsBD[Cle]:Ordre) +rqSql est une Requête SQL = +[ +SELECT Personne.*,Intervention_Personne.*, Lieu_Personne.LIP_PKID, IN_IDLieu +FROM Intervention_Personne +INNER JOIN Intervention ON IN_PKID = IP_IDIntervention +INNER JOIN Personne ON (PE_PKID=IP_IDPersonne) +LEFT JOIN Lieu_Personne ON (LIP_IDLieu = IN_IDLieu AND LIP_IDPersonne = PE_PKID) +WHERE IP_IDIntervention={p_IdInter} AND IP_IDLieu = IN_IDLieu ORDER BY IP_PKID +] +rqSql.p_IdInter = nIdInter +si pas HExécuteRequêteSQL(rqSql) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","ChargeCtcSite") +sinon +nIdP est un entier sur 8 octets +pour tout rqSql +si rqSql.IP_PKID <> nIdP alors +pstUnCtcRp = allouer un ST_CONTACT_Rp +pstUnCtcRp:nID = rqSql.IP_IDPersonne +pstUnCtcRp:saNom = rqSql.pe_nom +[" "]+rqSql.PE_Prenom +pstUnCtcRp:saRole= gtabParametresMetierCode[cParam_RoleContact][rqSql.IP_CleRole] +..Existe = Vrai ? gtabParametresMetierCode[cParam_RoleContact][rqSql.IP_CleRole]. +saLibelle sinon "" +pstUnCtcRp:saTFix= rqSql.PE_TelFixe +pstUnCtcRp:saTMob= rqSql.pE_TelMobile +pstUnCtcRp:saEtage = rqSql.IP_Etage +TableauAjoute(tblPerLieu,pstUnCtcRp) +nIdP = rqSql.IP_PKID +fin +fin +fin +si tbChampsBD[Cle]:ListeDonnesMob <> "" alors +Désérialise(tblPerLieuSel,tbChampsBD[Cle]:ListeDonnesMob,psdJSON) +fin +fin +sinon +renvoyer 0 +fin +si UnNomChamp <> "" _et_ tblPerLieu..Occurrence > 0 alors +xChamp <- ChampClone(ZR_Contact, UnNomChamp) +b = 1 +06/08/2026 Batik 2864 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +pour tout stCs de tblPerLieu +ZoneRépétéeAjouteLigne(xChamp) +n+= 1 +xChamp[n].LIB_Id = stCs.nID +xChamp[n].SAI_Nom = stCs.saNom +xChamp[n].SAI_Role = stCs.saRole +xChamp[n].SAI_Etage = stCs.saEtage +xChamp[n].SAI_Tel1 = stCs:saTMob="" ? stCs:saTFix sinon stCs:saTMob +xChamp[n].SAI_Tel2 = stCs:saTMob="" ? "" sinon stCs:saTFix +xChamp[n].SAI_InfoSup= stCs:saExtra +stCs:nPosTable = n +i = TableauCherche(tblPerLieuSel,tcLinéaire,"nID",stCs.nID) +si i <= 0 alors +TableauAjoute(tblPerLieuSel,stCs) +fin +si i > 0 alors +si tblPerLieuSel[i].nID = stCs.nID alors +xChamp[n].SAI_Nom = tblPerLieuSel[i].saNom +xChamp[n].SAI_Role = tblPerLieuSel[i].saRole +xChamp[n].SAI_Etage = tblPerLieuSel[i].saEtage +xChamp[n].SAI_Tel1 = tblPerLieuSel[i]:saTMob="" ? tblPerLieuSel[i]:saTFix +sinon tblPerLieuSel[i]:saTMob +xChamp[n].SAI_Tel2 = tblPerLieuSel[i]:saTMob="" ? "" sinon tblPerLieuSel[i] +:saTFix +xChamp[n].SAI_InfoSup = tblPerLieuSel[i]:saExtra +xChamp[n].INT_Int = tblPerLieuSel[i]:bSelection +tblPerLieuSel[i]:nPosTable = n +fin +fin +i = TableauCherche(tbChampsBD[Cle]:ListeMembre,tcLinéaire,"Rubrique","$TABCTSITE.EXTRA$") +si i <= 0 alors +xChamp[n].SAI_InfoSup..Visible= Faux +xChamp[n]..Hauteur = (xChamp[n]..Hauteur - xChamp[n].SAI_InfoSup..Hauteur) +sinon +xChamp[n].SAI_InfoSup..Visible =Vrai +fin +fin +pour tout stMb de tbChampsBD[Cle]:ListeMembre +selon stMb:Rubrique +cas "$TABCTSITE.NOMPRENOM$", "$UNCTSITE.NOMPRENOM$" +xChamp.SAI_Nom..Grisé =Faux +cas "$TABCTSITE.TELFIXE$", "$UNCTSITE.TELFIXE$" +xChamp.SAI_Tel1..Grisé =Faux +cas "$TABCTSITE.TELFAXE$", "$UNCTSITE.TELFAXE$" +xChamp.SAI_Tel2..Grisé =Faux +cas "$TABCTSITE.ROLE$", "$UNCTSITE.ROLE$" +xChamp.SAI_Role..Grisé =Faux +cas "$TABCTSITE.ETAGE$", "$UNCTSITE.ETAGE$" +xChamp.SAI_Etage..Grisé =Faux +autre cas +fin +fin +fin +si tblPerLieuSel..Occurrence > 0 alors +sJson est une chaîne ANSI +Sérialise(tblPerLieuSel,sJson,psdJSON) +tbChampsBD[Cle]:ListeDonnesMob = sJson +06/08/2026 Batik 2865 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +xChamp..Largeur = LIB_Pos..Largeur +xChamp..Hauteur = LIB_Pos..Hauteur +xChamp..Y = LIB_Pos..Y +xChamp..X = (LIB_Pos..X) +xChamp..Visible = Faux +xChamp..Libellé = tbChampsBD[Cle].Description +fin +renvoyer b +Procédure locale ChargeDonneursOrdre +procédure ChargeDonneursOrdre(Cle est un entier,xChamp est un Champ) +UnNomChamp est une chaîne ANSI +n, i , b sont des entiers +tblPerLieu est un tableau de ST_CONTACT_Rp +tblPerLieuSel est un tableau de ST_CONTACT_Rp +pstUnCtcRp est un ST_CONTACT_Rp dynamique +si tbChampsBD..Occurrence >= Cle alors +si tbChampsBD[Cle]:GroupeApp = cRub_CtDonneurs alors +UnNomChamp = NumériqueVersChaîne(tbChampsBD[Cle]:Ordre) +rqSql est une Requête SQL = +[ +SELECT Personne.*,Intervention_Personne.*, Lieu_Personne.LIP_PKID, IN_IDLieu +FROM Intervention_Personne +INNER JOIN Intervention ON IN_PKID = {p_IdInter} +INNER JOIN Personne ON (Personne.PE_PKID=Intervention_Personne.IP_IDPersonne) +LEFT JOIN Lieu_Personne ON (LIP_IDLieu = IN_IDLieu AND LIP_IDPersonne = PE_PKID) +WHERE Intervention_Personne.IP_IDIntervention= IN_PKID +AND Intervention_Personne.IP_IDClient=IN_IDClient ORDER BY IP_PKID +] +rqSql.p_IdInter = nIdInter +// si il y a un Id lieu il est un contact site +// si il y a un Id Client c'est un donneur d'ordre +si pas HExécuteRequêteSQL(rqSql) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","ChargeDonneursOrdre") +sinon +nIdPersLieu est un entier sur 8 octets +pour tout rqSql +si nIdPersLieu <> rqSql.IP_PKID alors +pstUnCtcRp = allouer un ST_CONTACT_Rp +pstUnCtcRp = allouer un ST_CONTACT_Rp +pstUnCtcRp:nID = rqSql.IP_IDPersonne +pstUnCtcRp:saNom = rqSql.PE_Nom +[" "]+rqSql.PE_Prenom +pstUnCtcRp:saRole= gtabParametresMetierCode[cParam_RoleContact][rqSql.IP_CleRole] +..Existe = Vrai ? gtabParametresMetierCode[cParam_RoleContact][rqSql.IP_CleRole]. +saLibelle sinon "" +pstUnCtcRp:saTFix= rqSql.PE_TelFixe +pstUnCtcRp:saTMob= rqSql.PE_TelMobile +pstUnCtcRp:saEtage = rqSql.IP_Etage +TableauAjoute(tblPerLieu,pstUnCtcRp) +fin +nIdPersLieu = rqSql.IP_PKID +fin +fin +06/08/2026 Batik 2866 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +si tbChampsBD[Cle]:ListeDonnesMob <> "" alors +Désérialise(tblPerLieuSel,tbChampsBD[Cle]:ListeDonnesMob,psdJSON) +fin +fin +sinon +renvoyer 0 +fin +si UnNomChamp <> "" _et_ tblPerLieu..Occurrence > 0 alors +xChamp <- ChampClone(ZR_Contact, UnNomChamp) +b = 1 +pour tout stCs de tblPerLieu +ZoneRépétéeAjouteLigne(xChamp) +n+= 1 +xChamp[n].LIB_Id = stCs.nID +xChamp[n].SAI_Nom = stCs.saNom +xChamp[n].SAI_Role = stCs.saRole +xChamp[n].SAI_Tel1 = stCs:saTMob="" ? stCs:saTFix sinon stCs:saTMob +xChamp[n].SAI_Tel2 = stCs:saTMob="" ? "" sinon stCs:saTFix +xChamp[n].SAI_InfoSup= stCs:saExtra +stCs:nPosTable = n +i = TableauCherche(tblPerLieuSel,tcLinéaire,"nID",stCs.nID) +si i <= 0 alors +TableauAjoute(tblPerLieuSel,stCs) +fin +si i > 0 alors +si tblPerLieuSel[i].nID = stCs.nID alors +xChamp[n].SAI_Nom = tblPerLieuSel[i].saNom +xChamp[n].SAI_Role = tblPerLieuSel[i].saRole +xChamp[n].SAI_Tel1 = tblPerLieuSel[i]:saTMob="" ? tblPerLieuSel[i]:saTFix +sinon tblPerLieuSel[i]:saTMob +xChamp[n].SAI_Tel2 = tblPerLieuSel[i]:saTMob="" ? "" sinon tblPerLieuSel[i] +:saTFix +xChamp[n].SAI_InfoSup = tblPerLieuSel[i]:saExtra +xChamp[n].INT_Int = tblPerLieuSel[i]:bSelection +tblPerLieuSel[i]:nPosTable = n +fin +fin +i = TableauCherche(tbChampsBD[Cle]:ListeMembre,tcLinéaire,"Rubrique","$TABCTSITE.EXTRA$") +si i <= 0 alors +xChamp[n].SAI_InfoSup..Visible= Faux +xChamp[n]..Hauteur = (xChamp[n]..Hauteur - xChamp[n].SAI_InfoSup..Hauteur) +sinon +xChamp[n].SAI_InfoSup..Visible =Vrai +fin +xChamp[n].SAI_Etage..Visible = Faux +fin +pour tout stMb de tbChampsBD[Cle]:ListeMembre +selon stMb:Rubrique +cas "$TABCTSITE.NOMPRENOM$", "$UNCTSITE.NOMPRENOM$" +xChamp.SAI_Nom..Grisé =Faux +cas "$TABCTSITE.TELFIXE$", "$UNCTSITE.TELFIXE$" +xChamp.SAI_Tel1..Grisé =Faux +cas "$TABCTSITE.TELFAXE$", "$UNCTSITE.TELFAXE$" +xChamp.SAI_Tel2..Grisé =Faux +cas "$TABCTSITE.ROLE$", "$UNCTSITE.ROLE$" +xChamp.SAI_Role..Grisé =Faux +autre cas +06/08/2026 Batik 2867 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +fin +fin +fin +si tblPerLieuSel..Occurrence > 0 alors +sJson est une chaîne ANSI +Sérialise(tblPerLieuSel,sJson,psdJSON) +tbChampsBD[Cle]:ListeDonnesMob = sJson +xChamp..Largeur = LIB_Pos..Largeur +xChamp..Hauteur = LIB_Pos..Hauteur +xChamp..Y = LIB_Pos..Y +xChamp..X = (LIB_Pos..X) +xChamp..Visible = Faux +xChamp..Libellé = tbChampsBD[Cle].Description +fin +renvoyer b +Procédure locale ChargeExtra +procédure ChargeExtra(local Cle est un entier) +xChamp est un Champ +Donnes est une chaîne ANSI +UnNomChamp est une chaîne ANSI +i est un entier +si tbChampsBD..Occurrence >= Cle alors +si tbChampsBD[Cle]:GroupeApp = cRub_Extra alors +UnNomChamp = NumériqueVersChaîne(tbChampsBD[Cle]:Ordre) +si tbChampsBD[Cle]:ListeDonnesMob <> "" alors +Donnes = tbChampsBD[Cle]:ListeDonnesMob +sinon +si tbChampsBD[Cle]:ListeDonnesBD <> "" alors +Donnes = tbChampsBD[Cle]:ListeDonnesBD +fin +fin +fin +sinon +renvoyer 0 +fin +si UnNomChamp <> "" alors +selon tbChampsBD[Cle]:TypeMembre +cas typDate +xChamp <- ChampClone(CAL_Date, UnNomChamp) +xChamp..Hauteur = CAL_Date..Hauteur +i = 1 +cas typHeure +xChamp <- ChampClone(SAI_Heure, UnNomChamp) +i = 1 +cas typTexte +xChamp <- ChampClone(SAI_Texte,UnNomChamp) +i = 1 +06/08/2026 Batik 2868 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +xChamp..Hauteur = LIB_Pos..Hauteur +cas typSélect +xChamp <- ChampClone(BS_Choix, UnNomChamp) +i = 1 +xChamp.BS_Choix = Donnes +autre cas +xChamp <- ChampClone(SAI_Texte,UnNomChamp) +i = 1 +xChamp..Hauteur = LIB_Pos..Hauteur +fin +si i > 0 alors +xChamp = Donnes +xChamp..Largeur = LIB_Pos..Largeur +xChamp..Y = LIB_Pos.Y +xChamp..X = (LIB_Pos..X) +xChamp..Visible = Faux +si tbChampsBD[Cle]:TypeMembre = typSélect alors +xChamp..Y += xChamp..Y +fin +fin +fin +renvoyer i +Procédure locale ChargeInter +procédure ChargeInter(local Cle est un entier) +xChamp est un Champ +Donnes est une chaîne ANSI +UnNomChamp est une chaîne ANSI +i est un entier +si tbChampsBD..Occurrence >= Cle alors +si tbChampsBD[Cle]:GroupeApp = cRub_Inter alors +UnNomChamp = NumériqueVersChaîne(tbChampsBD[Cle]:Ordre) +si tbChampsBD[Cle]:ListeDonnesMob <> "" alors +Donnes = tbChampsBD[Cle]:ListeDonnesMob +sinon +si tbChampsBD[Cle]:ListeDonnesBD <> "" alors +Donnes = tbChampsBD[Cle]:ListeDonnesBD +fin +fin +fin +sinon +renvoyer 0 +fin +si UnNomChamp <> "" alors +selon tbChampsBD[Cle]:TypeMembre +cas cTypeChaineSimple, cTypeReelSimple, cTypeChaineRTF +xChamp <- ChampClone(SAI_Texte, UnNomChamp) +xChamp..Hauteur = LIB_Pos..Hauteur +i = 1 +cas cTypeDateSimple +xChamp <- ChampClone(CAL_Date, UnNomChamp) +06/08/2026 Batik 2869 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +i = 1 +cas cTypeBoolean +xChamp <- ChampClone(BS_Choix, UnNomChamp) +i = 1 +autre cas +fin +si i > 0 alors +xChamp = Donnes +xChamp..Largeur = LIB_Pos..Largeur +xChamp..Y = LIB_Pos..Y +xChamp..X = (LIB_Pos..X) +xChamp..Visible = Faux +fin +fin +renvoyer i +Procédure locale ChargePhotoInter +procédure ChargePhotoInter(Cle est un entier, xChamp est un Champ) +UnNomChamp est une chaîne ANSI +n, i , b sont des entiers +tblPhoto est un tableau de ST_Img_Rp +tblPhotoSel est un tableau de ST_Img_Rp +pstUnPhoto est un ST_Img_Rp dynamique +odNote est un MDocNote dynamique +si tbChampsBD..Occurrence >= Cle alors +si tbChampsBD[Cle]:GroupeApp = cRub_Photo alors +UnNomChamp = NumériqueVersChaîne(tbChampsBD[Cle]:Ordre) +stInfoSyncro est un STListeDocASyncro +si tbaDocsFen = Null ou tbaDocsFen..Occurrence <= 0 alors +si nIdInter <= 0 alors +renvoyer Faux +fin +si SansEspace(saCheminBase) = "" alors +saCheminBase = DecodeCheminDocSelonInter(gtbaParametresAppli[cParam_StructureCheminDoc +].saValeur,gtbaParametresAppli[cParam_ReqCheminDoc].saValeur,nIdInter) +fin +saReqDoc est une Requête SQL = +[ +SELECT Document.*, DN_PKID, DN_IDDocument, DN_Note, DocumentNote.CreationDate AS +CreationNote, DocumentNote.CreationUser AS UserNote +FROM Document +LEFT JOIN DocumentNote ON DocumentNote.DN_IDDocument = DC_PKID +WHERE DC_IDIntervention = {p_idInter} AND DC_CleCategorie IN {p_CtgDocs} +ORDER BY Document.DC_PKID, DC_DateFichier +] +saReqDoc.p_idInter = nIdInter +saReqDoc.p_CtgDocs = CollaborateurEnCours:clUtilisateur:tbCatgDocDroit..Occurrence +> 0 ? TableauVersChaîne(CollaborateurEnCours:clUtilisateur:tbCatgDocDroit,";") sinon "" +si pas HExécuteRequêteSQL(saReqDoc) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FEN_Creation_Doc_Rub.ChargePhotoInter") +06/08/2026 Batik 2870 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +sinon +odDoc est un MDocument dynamique +nIdDoc est un entier sur 8 octets +pour tout saReqDoc +si saReqDoc.DC_Nom <> "" _et_ TableauCherche(LIB_Documents.gtbExtImg, +tcLinéairePremier,Majuscule(fExtraitChemin(saReqDoc.DC_Nom,fExtension))) > 0 alors +si nIdDoc <> saReqDoc.DC_PKID alors +odDoc = allouer un MDocument +FichierVersMémoire(odDoc,saReqDoc) +odDoc:saCleEtatDoc = cCle_EtatDocSyncro +tbaDocsFen[odDoc:nPKID] = odDoc +fin +si saReqDoc.DN_PKID > 0 _et_ SansEspace(saReqDoc.DN_Note) <> "" _et_ +tbaDocsFen[odDoc:nPKID]..Existe = Vrai alors +odNote = allouer un MDocNote +FichierVersMémoire(odNote,saReqDoc) +odNote:dhCreeLe = saReqDoc.CreationNote +odNote:nCreePar = saReqDoc.UserNote +tbaDocsFen[odDoc:nPKID].tbaNotes[odNote:nPKID] = odNote +fin +fin +nIdDoc = saReqDoc.DC_PKID +fin +si tbaDocsFen..Occurrence > 0 alors +stInfoSyncro.tbaDocuments = tbaDocsFen +stInfoSyncro.saCheminBase = saCheminBase +stInfoSyncro.pMaJ = MaJEtatDocs +si ThreadEtat("SyncroniserDocumentsRub")=threadInexistant alors +ThreadExécute("SyncroniserDocumentsRub",threadCopieLégèreContexteHFSQL, +TH_SyncroniserDocuments,stInfoSyncro) +fin +fin +fin +fin +si tbaDocsFen..Occurrence > 0 alors +pour tout odDoc de tbaDocsFen +pstUnPhoto = allouer un ST_Img_Rp +pstUnPhoto.nDC_PKID = odDoc:nPKID +pstUnPhoto.saDate = odDoc:dDateFichier +pstUnPhoto.saGUID = odDoc:saGUID +pstUnPhoto.saNom = odDoc:saNom +pstUnPhoto.saCheminComp = odDoc:saCheminComplet +pour tout oNote de odDoc:tbaNotes +pstUnPhoto.saNotes += oNote.saNote+RC +fin +TableauAjoute(tblPhoto,pstUnPhoto) +fin +fin +si tbChampsBD[Cle]:ListeDonnesMob <> "" alors +Désérialise(tblPhotoSel,tbChampsBD[Cle]:ListeDonnesMob,psdJSON) +fin +fin +sinon +renvoyer 0 +fin +06/08/2026 Batik 2871 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +si UnNomChamp <> "" _et_ tblPhoto..Occurrence > 0 alors +xChamp <- ChampClone(ZR_Img, UnNomChamp) +TableauAjoute(tbChampsImg,xChamp) +b = 1 +pour tout stPh de tblPhoto +ZoneRépétéeAjouteLigne(xChamp) +n+= 1 +stPh:nPosTable = n +si stPh.nDC_PKID > 0 _et_ tbaDocsFen[stPh.nDC_PKID]..Existe alors +si tbaDocsFen[stPh.nDC_PKID].saCleEtatDoc = cCle_EtatDocPresent _et_ fFichierExiste(stPh: +saCheminComp) alors +xChamp[n].IMG_Photo = stPh:saCheminComp +xChamp[n].INT_Int..Grisé = Faux +sinon si tbaDocsFen[stPh.nDC_PKID].saCleEtatDoc = cCle_EtatDocSyncro alors +xChamp[n].IMG_Photo = IMG_Syncroniser +xChamp[n].INT_Int = Faux +xChamp[n].INT_Int..Grisé = Vrai +sinon +xChamp[n].IMG_Photo = IMG_Absent +xChamp[n].INT_Int = Faux +xChamp[n].INT_Int..Grisé = Vrai +fin +fin +xChamp[n].LIB_Id = SansEspace(stPh.nDC_PKID) +xChamp[n].SAI_Date = Gauche(stPh.saDate,8) +xChamp[n].SAI_NoteColb = stPh.saNotes +xChamp[n].LIB_Chemin = stPh.saCheminComp +i = TableauCherche(tblPhotoSel,tcLinéaire,"nDC_PKID",stPh.nDC_PKID +) +si i <= 0 alors +TableauAjoute(tblPhotoSel,stPh) +fin +si i > 0 alors +si tblPhotoSel[i].nDC_PKID = stPh.nDC_PKID alors +xChamp[n].SAI_NoteColb = tblPhotoSel[i].saNotes +xChamp[n].SAI_InfoSup = tblPhotoSel[i].saExtra +xChamp[n].INT_Int = tblPhotoSel[i].bSelection +xChamp[n].SAI_Date = Gauche(tblPhotoSel[i].saDate,8) +tblPhotoSel[i].nPosTable = n +fin +fin +i = TableauCherche(tbChampsBD[Cle]:ListeMembre,tcLinéaire +,"Rubrique","$TABPHOTO.EXTRA$") +si i <= 0 alors +xChamp[n].SAI_InfoSup..Visible= Faux +xChamp[n]..Hauteur = (xChamp[n]..Hauteur - xChamp[n]. +SAI_InfoSup..Hauteur) +sinon +xChamp[n].SAI_InfoSup..Visible = Vrai +fin +pour tout stMb de tbChampsBD[Cle]:ListeMembre +selon stMb:Rubrique +cas "$TABPHOTO.NOTEIMAGE$", "$UNPHOTO.NOTEIMAGE$" +06/08/2026 Batik 2872 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +xChamp[n].SAI_NoteColb..Grisé = Faux +cas "$TABPHOTO.DATEIMAGE$", "$UNPHOTO.DATEIMAGE$" +xChamp[n].SAI_Date..Grisé =Faux +autre cas +fin +fin +fin +fin +si tblPhotoSel..Occurrence > 0 alors +sJson est une chaîne ANSI +Sérialise(tblPhotoSel,sJson,psdJSON) +tbChampsBD[Cle]:ListeDonnesMob = sJson +xChamp..Largeur = LIB_Pos..Largeur +xChamp..Hauteur = LIB_Pos..Hauteur +xChamp..Y = LIB_Pos..Y +xChamp..X = (LIB_Pos..X) +xChamp..Visible = Faux +xChamp..Libellé = tbChampsBD[Cle].Description +fin +renvoyer b +Procédure locale ChargeRDV +procédure ChargeRDV(Cle est un entier,xChamp est un Champ) +tbRDV est un tableau de ST_RDV_Rp +tbRDVSelest un tableau de ST_RDV_Rp +UnNomChamp est une chaîne ANSI +n, i , b sont des entiers +si tbChampsBD..Occurrence >= Cle alors +si tbChampsBD[Cle]:GroupeApp = cRub_RDV alors +si tbChampsBD[Cle]:ListeDonnesBD <> "" alors +UnNomChamp = NumériqueVersChaîne(tbChampsBD[Cle]:Ordre) +Désérialise(tbRDV,tbChampsBD[Cle]:ListeDonnesBD,psdJSON) +fin +si tbChampsBD[Cle]:ListeDonnesMob <> "" alors +Désérialise(tbRDVSel,tbChampsBD[Cle]:ListeDonnesMob,psdJSON) +fin +fin +sinon +renvoyer 0 +fin +si UnNomChamp <> "" _et_ tbRDV..Occurrence > 0 alors +xChamp <- ChampClone(ZR_Rdv, UnNomChamp) +b = 1 +pour tout UnRDV de tbRDV +ZoneRépétéeAjouteLigne(xChamp) +n+= 1 +xChamp[n].LIB_Id = UnRDV.nId +06/08/2026 Batik 2873 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +xChamp[n].SAI_Debut = UnRDV.saDateDebut +xChamp[n].SAI_Fin = UnRDV.saDateFin +xChamp[n].SAI_Objet = UnRDV.saObjet +xChamp[n].SAI_Note = UnRDV.saNote +xChamp[n].SAI_Colbs = UnRDV.saCollaborateurs +UnRDV.nPosTable = n +si UnRDV.nId > 0 alors +i = TableauCherche(tbRDVSel,tcLinéaire,"nId",UnRDV.nId) +si i <= 0 alors +TableauAjoute(tbRDVSel,UnRDV) +fin +fin +si i > 0 alors +si tbRDVSel[i].nId = UnRDV.nId alors +xChamp[n].INT_Int = tbRDVSel[i].bSelection +xChamp[n].SAI_Objet = tbRDVSel[i].saObjet +xChamp[n].SAI_Note = tbRDVSel[i].saNote +xChamp[n].SAI_Colbs = tbRDVSel[i].saCollaborateurs +xChamp[n].SAI_InfoSup= tbRDVSel[i].saExtra +tbRDVSel[i].nPosTable= n +fin +fin +i = TableauCherche(tbChampsBD[Cle]:ListeMembre,tcLinéaire,"Rubrique","$TABRDV.EXTRA$") +si i <= 0 alors +xChamp[n].SAI_InfoSup..Visible= Faux +xChamp[n]..Hauteur = (xChamp[n]..Hauteur - xChamp[n]. +SAI_InfoSup..Hauteur) +sinon +xChamp[n].SAI_InfoSup..Visible =Vrai +fin +pour tout stMb de tbChampsBD[Cle]:ListeMembre +selon stMb:Rubrique +cas "$TABRDV.OBJET$", "$UNRDV.OBJET$" +xChamp[n].SAI_Objet..Grisé =Faux +cas "$TABRDV.NOTE$", "$UNRDV.NOTE$" +xChamp[n].SAI_Note..Grisé =Faux +cas "$TABRDV.COLLABORATEUR$", "$UNRDV.COLLABORATEUR$" +xChamp[n].SAI_Colbs..Grisé =Faux +autre cas +fin +fin +fin +fin +si tbRDVSel..Occurrence > 0 alors +sJson est une chaîne ANSI +Sérialise(tbRDVSel,sJson,psdJSON) +tbChampsBD[Cle]:ListeDonnesMob = sJson +xChamp..Largeur = LIB_Pos..Largeur +xChamp..Hauteur = LIB_Pos..Hauteur +xChamp..Y = LIB_Pos..Y +xChamp..X = (LIB_Pos..X) +xChamp..Visible = Faux +xChamp..Libellé = tbChampsBD[Cle].Description +fin +06/08/2026 Batik 2874 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +renvoyer b +Procédure locale ClicBtnRetour +procédure ClicBtnRetour() +si FEN_Creation_Doc_Rub..Plan = Saisie alors +RecupererDonneesChamps() +FiltreListeSaisi() +FEN_Creation_Doc_Rub..Plan = Items +fin +Procédure locale CreationChamps +procédure CreationChamps() +tbChampsBD.Trie(ttMembre,"Ordre") +i est un entier +b est un entier +bOk est un booléen +pour tout item, Cle de tbChampsBD +i = 0 +bOk = Faux +xChamp est un Champ +si item:TypeMembre = "Tableau" alors +selon item:GroupeApp +cas cRub_CtSite +i = ChargeCtcSite(Cle, xChamp) +cas cRub_CR +i = ChargeCR(Cle, xChamp) +cas cRub_CtDonneurs +i = ChargeDonneursOrdre(Cle, xChamp) +cas cRub_Photo +i = ChargePhotoInter(Cle, xChamp) +cas cRub_RDV +i = ChargeRDV(Cle, xChamp) +autre cas +fin +sinon +selon item:GroupeApp +cas cRub_Inter +i = ChargeInter(Cle) +cas cRub_Extra +i = ChargeExtra(Cle) +autre cas +fin +fin +si i > 0 alors +b += i +si item:GroupeApp <> cRub_Inter et item:GroupeApp <> cRub_Extra alors +xChamp..Largeur = LIB_Pos..Largeur +xChamp..Hauteur = LIB_Pos..Hauteur +xChamp..Y = LIB_Pos..Y +xChamp..X = (LIB_Pos..X) +xChamp..Visible = Faux +fin +TableauAjoute(tbChampsCreation,tbChampsBD[Cle]) +06/08/2026 Batik 2875 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +fin +fin +nTotalChamp = b +nIndice = 1 +Procédure locale CreationModeleFinal +procédure CreationModeleFinal() +si SansEspace(CMOD_NomDoc.SAI_Texte) = "" _et_ saTypeDonnees = cTypeRapport alors +Erreur("Nom obligatoire") +RepriseSaisie(CMOD_NomDoc.SAI_Texte) +renvoyer Faux +fin +MonDoc est un Document = bufCorpsModele +RecupererDonneesChamps() +TraiteTexteAvecDonnees(tbChampsBD,tbChampsCreation,MonDoc) +selon saTypeDonnees +cas cTypeEmail +TraiteTexteAvecDonnees(tbChampsBD,tbChampsCreation,SujetEmail) +SupprimerToutesRubDoc(tbChampsBD,MonDoc) +SupprimerToutesRubDoc(tbChampsBD,SujetEmail) +oMsg est un MMessage_Externe +oMsg:bBrouillon = Vrai +oMsg:bEnvoyer = Faux +oMsg:saMessage = DocVersHTML(MonDoc) +oMsg:saObjet = DocVersTexte(SujetEmail) +oMsg:nIDIntervention = nIdInter +si oMsg:Enregistrer() alors +nIdDocCree = oMsg:nPKID +Ferme() +sinon +renvoyer Faux +fin +cas cTypeRapport +SupprimerToutesRubDoc(tbChampsBD,MonDoc) +//Création du document +oDoc est un MDocument +oDoc.saNom = DonneChaineNomVariable(CMOD_NomDoc.SAI_Texte)+["_"]+DateHeureSys()+ +".docx" +oDoc:nIDIntervention = nIdInter +oDoc.saCleCategorie = cCle_TypeDocRapport +si SansEspace(saCheminBase) = "" alors +saCheminBase = DecodeCheminDocSelonInter(gtbaParametresAppli[cParam_StructureCheminDoc]. +saValeur,gtbaParametresAppli[cParam_ReqCheminDoc].saValeur,nIdInter) +fin +saCheminRub est une chaîne ANSI = saCheminBase +sacheminComplet est une chaîne ANSI = DonneCheminFichier(oDoc,saCheminRub) +saCheminRub = ComplèteRep(saCheminRub) +oDoc.saChemin = saCheminRub +oDoc:saCheminComplet = sacheminComplet +si SansEspace(sacheminComplet) <> "" alors +si fRepCrée(fExtraitChemin(sacheminComplet,fDisque+fRépertoire)) alors +si DocSauve(MonDoc,sacheminComplet) alors +06/08/2026 Batik 2876 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +si oDoc:Enregistrer() alors +nIdDocCree = oDoc:nPKID +Ferme() +fin +sinon +UneErreur:Init(ErreurApp.ErreurProgramme,"Le rapport n'a pas pu être enregistré"+ +RC+ErreurInfo(),"FEN_Creation_Doc_Rub.CreationModeleFinal") +renvoyer Faux +fin +ToastAffiche("Document ajouté") +sinon +UneErreur:Init(ErreurApp.Fonctionnelle,"Le répertoire n'a pas pu être créé : "+ +ErreurInfo(errMessage),"FEN_Creation_Doc_Rub.CreationModeleFinal") +fin +sinon +UneErreur:Init(ErreurApp.Fonctionnelle,"Le répertoire n'a pas pu être créé : "+ +ErreurInfo(errMessage),"FEN_Creation_Doc_Rub.CreationModeleFinal") +fin +autre cas +renvoyer Faux +fin +Procédure locale CreationTablauIntDansRub +procédure CreationTablauIntDansRub(stUnTerme est un STJSON_MembreRubChamps,MonDoc est un Document, +nIMin est un entier, vInfoVariante est un Variant,sdRReq est une Source de Données) +nNumLignes est un entier +saInfoV est une chaîne ANSI +imgBuf est un Buffer +pour tout stTerme de stUnTerme.ListeMembre +tabFragments est un tableau de docFragments = DocRecherche(MonDoc,stTerme.Rubrique,MotComplet+ +SansCasse) +si tabFragments..Occurrence > 0 alors +nNumLignes += 1 +fin +fin +bCree est un booléen = Faux +si nNumLignes > 1 alors +pour tout stTerme de stUnTerme.ListeMembre +tabFragments est un tableau de docFragments = DocRecherche(MonDoc,stTerme.Rubrique,MotComplet+ +SansCasse) +si tabFragments..Occurrence > 0 alors +nColonne est un entier = tabFragments[1].Elément[1].Cellule..IndiceColonne +nLigne est un entier = tabFragments[1].Elément[1].Cellule..IndiceLigne +nIMax est un entier = nIMin +soit para <- tabFragments[1]..Paragraphe[1] +si para.Tableau = Null alors +renvoyer Faux +fin +pour tout UnEle de vInfoVariante +//sIdentifiant = {NomRubId} +si UnEle.bselection alors +06/08/2026 Batik 2877 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +bufRep est un Buffer +Sérialise(UnEle,bufRep,psdJSON) +cellDoc est un docCellule<- para..Tableau..Cellules[nIMax,nColonne] +cellColDoc est un docColonne<- para..Tableau..Colonnes[nColonne] +cellColDoc..LargeurMillimètres = (cellColDoc..LargeurMillimètres+10) +// Insère un tableau à la position du curseur (PositionDébut) de taille 1 colonnes +et x lignes +TabDoc est un docFragment = DocInsèreTableau(MonDoc,cellDoc..Contenu +..PositionDébut,1, nNumLignes) +soit para2 <- TabDoc..Paragraphe[2] +nLigneEnCours est un entier +pour tout stTerme2 de stUnTerme.ListeMembre +tabFragments = DocRecherche(MonDoc,stTerme2.Rubrique,MotComplet+SansCasse) +si tabFragments..Occurrence > 0 alors +nLigneEnCours += 1 +imgBuf = "" +saInfoV = "" +RechercheInfoDansVariant(stUnTerme, stTerme2, UnEle,imgBuf,saInfoV,sdRReq +) +cell est un docCellule <- para2..Tableau..Cellules[nLigneEnCours,1 +] +cell.MiseEnPage.Cadre.Couleur = Transparent +// rendre transparent les lignes du nouveaux tableau +si stTerme2:TypeMembre = cTypeImage alors +si imgBuf..Taille > 0 alors +nLargPixCol est un entier = para2..Tableau.. +Colonnes[1]..LargeurMillimètres*NBPixelesXMilimetres +elt est un docElément <- DonneImgTableau(imgBuf, +nLargPixCol) +cell2 est un docLigne <- para2..Tableau..Lignes +[nLigneEnCours] +cell2.Hauteur = (elt..Image..Hauteur) +cell3 est un docColonne <- para2..Tableau..Colonnes[1] +cell3..LargeurMillimètres = (elt.Image..Largeur) +DocInsère(MonDoc,cell..Contenu..PositionDébut, elt) +sinon +//para2..Tableau..Cellules[nLigneEnCours,1]..Contenu..Texte = " +" +fin +para2..Tableau..Cellules[nLigneEnCours,nColonne]..MiseEnPage.. +Alignement = chCentre +sinon +para2..Tableau..Cellules[nLigneEnCours,1].Contenu..Texte = +DonneValeurSelonType(stTerme2,saInfoV) +fin +fin +fin +bCree = Vrai +nIMax += 1 +si Contient(stTerme:Rubrique,"$UN") alors +sortir +fin +fin +06/08/2026 Batik 2878 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +fin +fin +si bCree alors +sortir +fin +fin +fin +Procédure locale DonneImgTableau +procédure DonneImgTableau(imgBuf est un Buffer,largPixCol est un entier) +elt est un docElément +quand exception dans +| img | est une Image | = imgBuf | | | +| --- | ------------- | -------- | --- | --- | +HauteurImg est un réel = (img..Hauteur*largPixCol)/img..Largeur +dRedimensionne(img,largPixCol,HauteurImg,drHomothétiqueCentré) +| elt..Type | = typeDocElémentImage | | | | +| ----------------------- | --------------------- | --- | --- | --- | +| elt..Image..BufferImage | = img | | | | +elt..Image..Habillage= docHabillageAlignéSurLeTexte +// La taille de l'image est en pixels dans la variable de type Image. +// Cette taille est convertie en mm dans l'élément (unité utilisée dans un document) +| elt..Image..Largeur | = img..Largeur * 25.4 / 96.0 | | | | +| ------------------- | ---------------------------- | --- | --- | --- | +| elt..Image..Hauteur | = img..Hauteur * 25.4 / 96.0 | | | | +// Position de l'image +| elt.Image.X | = 0 | | | | +| ----------- | --- | --- | --- | --- | +| elt.Image.Y | = 0 | | | | +renvoyer elt +faire +UneErreur:Init(ErreurApp.ExeptionProgramme,"Erreur dans la création du rapport IMG"+ExceptionInfo() +,"DonneImgTableau") +renvoyer elt +fin +Procédure locale DonneValeurSelonType +procédure DonneValeurSelonType(stMembre, saDonnes est une chaîne ANSI) +| sTexte | est une chaîne | = "" | | | +| ------------- | ------------------- | --------------------- | --- | --- | +| dhUnDateHeure | est une DateHeure | | | | +| bUnBoolean | est un booléen | | | | +| sType | est une chaîne ANSI | = stMembre:TypeMembre | | | +quand exception dans +si stMembre:GroupeApp = cRub_Extra alors +selon stMembre:TypeMembre +cas typDate +| | dhUnDateHeure | = saDonnes | | | +| --- | ------------- | ---------- | --- | --- | +si stMembre.MasqueSaisie <> "" alors +| | sTexte = DateVersChaîne(dhUnDateHeure,stMembre.MasqueSaisie) | | | | +| --- | ------------------------------------------------------------ | --- | --- | --- | +sinon +| | sTexte = DateVersChaîne(dhUnDateHeure,"JJ/MM/AAAA") | | | | +| --- | --------------------------------------------------- | --- | --- | --- | +fin +| 06/08/2026 | | | Batik | 2879 | +| ---------- | --- | --- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +cas typHeure +si stMembre.MasqueSaisie <> "" alors +sTexte = HeureVersChaîne(saDonnes,stMembre.MasqueSaisie) +sinon +sTexte = HeureVersChaîne(saDonnes,"HH:mm") +fin +cas typTexte +sTexte=saDonnes +cas typSélect +bUnBoolean = saDonnes +sTexte = bUnBoolean=Vrai ? "Oui" sinon "Non" +autre cas +sTexte = saDonnes +fin +sinon +selon sType +cas cTypeDateSimple : dhUnDateHeure = saDonnes +cas cTypeDateHeure : dhUnDateHeure = saDonnes +cas cTypeBoolean : bUnBoolean = saDonnes +fin +selon sType +cas cTypeChaineSimple : sTexte=saDonnes +cas cTypeChaineRTF : sTexte=saDonnes +cas cTypeDateSimple +si stMembre.MasqueSaisie <> "" alors +sTexte = DateVersChaîne(dhUnDateHeure,stMembre.MasqueSaisie) +sinon +sTexte = DateVersChaîne(dhUnDateHeure,"JJ/MM/AAAA") +fin +cas cTypeDateHeure +si stMembre.MasqueSaisie <> "" alors +sTexte = DateVersChaîne(dhUnDateHeure,stMembre.MasqueSaisie) +sinon +sTexte = DateVersChaîne(dhUnDateHeure,"JJ/MM/AAAA HH:mm") +fin +cas cTypeReelSimple : sTexte=saDonnes +cas cTypeBoolean : sTexte=bUnBoolean=Vrai ? "Oui" sinon "Non" +autre cas +sTexte = saDonnes +fin +fin +si sTexte = "" alors +sTexte = saDonnes +fin +renvoyer sTexte +faire +renvoyer sTexte +fin +Procédure locale FiltreListeSaisi +procédure FiltreListeSaisi() +tbChampsBD.Trie(ttMembre,"Ordre") +ZoneRépétéeSupprimeTout(ZR_Liste) +n est un entier +pstEle est un STJSON_MembreRubChamps dynamique +pour tout stEleBd, cle de tbChampsBD +ZR_Liste.AjouteLigne() +n += 1 +pstEle = allouer un STJSON_MembreRubChamps +nPos est un entier = TableauCherche(tbChampsCreation,tcLinéaire,"Ordre",stEleBd.Ordre) +06/08/2026 Batik 2880 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +si nPos <= 0 alors +ZR_Liste[n].LIB_Id = 0 +ZR_Liste[n].CMOD_Go..Visible = Faux +pstEle = tbChampsBD[cle] +sinon +ZR_Liste[n].LIB_Id = nPos +ZR_Liste[n].CMOD_Go..Visible = Vrai +pstEle = tbChampsCreation[nPos] +fin +si pstEle:Nom <> "" alors +ZR_Liste[n].CMOD_Lib.LIB_lib = pstEle:Nom +sinon +ZR_Liste[n].CMOD_Lib.LIB_lib = pstEle:Description +fin +InfoSup est une chaîne ANSI +nbChoisiest un entier +si pstEle:TypeMembre = "Tableau" alors +selon pstEle:GroupeApp +cas cRub_CR,cRub_CtDonneurs, cRub_CtSite,cRub_Photo,cRub_RDV +DonnesInfo est un Variant +si pstEle:ListeDonnesMob <> "" alors +DonnesInfo = JSONVersVariant(pstEle:ListeDonnesMob) +pour tout Ele de DonnesInfo +si Ele.bSelection alors +nbChoisi += 1 +fin +fin +sinon +nbChoisi = 0 +fin +autre cas +nbChoisi = 0 +fin +sinon +InfoSup = DonneValeurSelonType(pstEle,pstEle:ListeDonnesMob) +si pstEle:GroupeApp = cRub_Extra alors +si pstEle:TypeMembre = typSélect alors +si pstEle:ListeDonnesMob = "" alors +InfoSup = "" +fin +fin +fin +fin +si pstEle:TypeMembre = "Tableau" alors +si pstEle:ListeMembre..Occurrence > 0 _et_ Contient(pstEle:ListeMembre[1]:Rubrique, "$UN") _et_ +nbChoisi > 1 alors +ZR_Liste[n].LIB_Desc = "Un seule élément est demandé et "+nbChoisi+ +" ont été choisis" +ZR_Liste[n].LIB_Desc..Couleur = Palette_du_projet["gray_text"] +sinon si nbChoisi > 0 alors +ZR_Liste[n].LIB_Desc = nbChoisi+" Élément(s) choisi(s)" +ZR_Liste[n].LIB_Desc..Couleur = Palette_du_projet["primary"] +sinon +si pstEle:ListeDonnesMob <> "" alors +06/08/2026 Batik 2881 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +ZR_Liste[n].LIB_Desc = "Informations manquantes" +sinon +ZR_Liste[n].LIB_Desc = "Aucune information disponible" +fin +ZR_Liste[n].LIB_Desc..Couleur = Palette_du_projet["red_text"] +fin +sinon +ZR_Liste[n].LIB_Desc = InfoSup +si InfoSup <> "" alors +ZR_Liste[n].LIB_Desc..Couleur = Palette_du_projet["primary"] +sinon +ZR_Liste[n].LIB_Desc = "Informations manquantes" +ZR_Liste[n].LIB_Desc..Couleur = Palette_du_projet["red_text"] +fin +fin +fin +Procédure locale Filtrer +procédure Filtrer() +TableauSupprimeTout(tbChampsCreation) +TableauSupprimeTout(tbChampsBD) +si nId > 0 alors +selon saTypeDonnees +cas cTypeRapport +si HLitRecherchePremier(ModeleRapport,MRP_PKID,nId) alors +saNomModele = ModeleRapport.MRP_Nom +bufCorpsModele = ModeleRapport.MRP_Modele +sinon +Info("Rapport introuvable") +Ferme() +fin +cas cTypeEmail +si HLitRecherchePremier(MailModele,MM_PKID,nId) alors +saNomModele = MailModele.MM_Nom +bufCorpsModele = MailModele.MM_MsgDoc +SujetEmail = MailModele.MM_Sujet +sinon +Info("Email introuvable") +Ferme() +fin +autre cas +Ferme() +fin +fin +selon saTypeDonnees +cas cTypeRapport +CMOD_NomDoc.SAI_Texte.Libellé = "Modèle de rapport choisi" +cas cTypeEmail +CMOD_NomDoc.SAI_Texte.Libellé = "Modèle de mail choisi" +fin +CMOD_NomDoc.SAI_Texte = saNomModele +CMOD_Titre.LIB_lib = saNomModele +tbChampsDansModele est un tableau de STJSON_MembreRubChamps = CreerTableauRubSelonDoc(nId,saTypeDonnees +,nIdInter) +06/08/2026 Batik 2882 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +si tbChampsDansModele..Occurrence > 0 alors +tbChampsBD = tbChampsDansModele +fin +Procédure locale MaJAffichage +procédure MaJAffichage() +bContinuer est un booléen = Vrai +ChampSel <- Null +saNomChamp = "" +si nIndice < 1 alors +bContinuer = Faux +ClicBtnRetour() +fin +si nIndice > nTotalChamp _et_ nTotalChamp > 0 alors +bContinuer = Faux +ClicBtnRetour() +fin +CMOD_Info..Visible = Faux +CMOD_ChampNom.LIB_lib = "" +si bContinuer alors +pour tout item, cle de tbChampsCreation +si cle = nIndice alors +ChampSel <- {NumériqueVersChaîne(item.Ordre)} +ChampSel..Plan = Saisie +ChampSel..Visible = Vrai +//ChampSel..Altitude = 1 +si SansEspace(item.Description) <> "" _et_ SansEspace(item.Nom) <> "" alors +CMOD_Info..Visible = Vrai +CMOD_Info.IMG_Icone.Bulle = item.Description +fin +saNomChamp = item.Ordre +si SansEspace(item.Nom) = "" alors +CMOD_ChampNom.LIB_lib = item.Description +sinon +CMOD_ChampNom.LIB_lib = item.Nom +fin +si item:TypeMembre = "Tableau" alors +si item:ListeMembre..Occurrence > 0 _et_ Contient(item:ListeMembre[1]:Rubrique, "$UN") +alors +CMOD_ChampNom.LIB_lib += RC+"(Veuillez sélectionner un élément)" +sinon +CMOD_ChampNom.LIB_lib += RC+"(Veuillez sélectionner un ou plusieurs éléments)" +fin +fin +sinon +{NumériqueVersChaîne(item.Ordre)}..Visible = Faux +{NumériqueVersChaîne(item.Ordre)}..Plan = Invisible +//{NumériqueVersChaîne(item.Ordre)}..Altitude = 0 +fin +fin +06/08/2026 Batik 2883 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +fin +Procédure locale MaJEtatDocs +procédure MaJEtatDocs(stInfoSyncro est un STListeDocASyncro) +SectionCritiqueDébut("MaJEtatDocRub") +si stInfoSyncro.tbaDocuments..Occurrence > 0 alors +TableauSupprimeTout(tbaDocsFen) +tbaDocsFen = stInfoSyncro.tbaDocuments +pour tout chChamp de tbChampsImg +nOcc est un entier = chChamp..Occurrence +pour i = 1 à nOcc +si chChamp[i].LIB_Id > 0 _et_ tbaDocsFen[chChamp[i].LIB_Id]..Existe = Vrai alors +si tbaDocsFen[chChamp[i].LIB_Id].saCleEtatDoc = cCle_EtatDocPresent alors +chChamp[i].IMG_Photo = tbaDocsFen[chChamp[i].LIB_Id].saCheminComplet +chChamp[i].LIB_Chemin = tbaDocsFen[chChamp[i].LIB_Id].saCheminComplet +chChamp[i].INT_Int..Grisé = Faux +sinon si tbaDocsFen[chChamp[i].LIB_Id].saCleEtatDoc = cCle_EtatDocSyncro alors +chChamp[i].IMG_Photo = IMG_Syncroniser +chChamp[i].LIB_Chemin ="" +chChamp[i].INT_Int = Faux +chChamp[i].INT_Int..Grisé = Vrai +sinon +chChamp[i].IMG_Photo = IMG_Absent +chChamp[i].LIB_Chemin ="" +chChamp[i].INT_Int = Faux +chChamp[i].INT_Int..Grisé = Vrai +fin +fin +fin +fin +fin +SectionCritiqueFin("MaJEtatDocRub") +Procédure locale RechercheDonneesSimple +procédure RechercheDonneesSimple(tbListeMob est un tableau de STJSON_MembreRubChamps, stUnTerme est un +STJSON_MembreRubChamps) +b est un entier +sAInfoRemp est une chaîne ANSI +b = TableauCherche(tbListeMob,tcLinéaire,"Rubrique;Utilisee",stUnTerme:Rubrique, Faux) +si b > 0 alors +tbListeMob[b].Utilisee = Vrai +si tbListeMob[b].ListeDonnesMob <> "" alors +sAInfoRemp = DonneValeurSelonType(stUnTerme,tbListeMob[b].ListeDonnesMob) +sinon +sAInfoRemp = DonneValeurSelonType(stUnTerme,stUnTerme:ListeDonnesBD) +fin +sinon +sAInfoRemp = DonneValeurSelonType(stUnTerme,stUnTerme:ListeDonnesBD) +fin +renvoyer sAInfoRemp +Procédure locale RechercheInfoDansVariant +06/08/2026 Batik 2884 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +procédure RechercheInfoDansVariant(stUnTerme est un STJSON_MembreRubChamps, stTerme est un +STJSON_MembreRubChamps, UnEle est un Variant,ImgBuf est un Buffer,... +saInfoV est une chaîne ANSI, sdRReq est une source de données) +satxt est une chaîne ANSI +saIdentifiant est une chaîne ANSI +saValeurId est une chaîne ANSI +quand exception dans +selon stUnTerme.GroupeApp +cas cRub_CR +saIdentifiant = "sdRReq.CR_PKID" +saValeurId = Remplace(UnEle.nId,RC,"") +cas cRub_Photo +saIdentifiant = "UnEle.nDC_PKID" +saValeurId = Remplace(UnEle.nDC_PKID,RC,"") +fin +si pas stTerme:BD alors +satxt = "UnEle."+stTerme:MembreMob +saInfoV = {satxt} +si stTerme:TypeMembre = cTypeImage alors +si {"UnEle.saCheminComp"} <> "" _et_ fFichierExiste({"UnEle.saCheminComp"}) alors +ImgBuf = fChargeBuffer({"UnEle.saCheminComp"}) +fin +fin +sinon +pour tout sdRReq +si {saIdentifiant} = saValeurId alors +satxt = "sdRReq." +satxt += stTerme:MembreMob +saInfoV = {satxt} +si stTerme:TypeMembre = cTypeImage alors +ImgBuf = {satxt} +fin +fin +fin +fin +faire +saInfoV = "" +ImgBuf = "" +UneErreur:Init(ErreurApp.ExeptionProgramme,"Erreur dans la création du rapport IMG"+ExceptionInfo() +,"RechercheInfoDansVariant") +fin +Procédure locale RecupererDonneesChamps +procédure RecupererDonneesChamps() +ChampSel <- Null +// Pour garantir que nous récupérons les modifications apportées par l'utilisateur +pour tout item, nCle de tbChampsCreation +ChampSel <- {NumériqueVersChaîne(item.Ordre)} +06/08/2026 Batik 2885 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +NomDuChamp est une chaîne ANSI = NumériqueVersChaîne(item.Ordre) +NomDuChampCompletest une chaîne ANSI +si ChampSel.Type <> typDate alors +si item:TypeMembre = "Tableau" alors +selon item:GroupeApp +cas cRub_CR +tbCrSel est un tableau de ST_CR_Rp +si item:ListeDonnesMob <> "" alors +Désérialise(tbCrSel,item:ListeDonnesMob,psdJSON) +fin +pour tout stCR de tbCrSel +NomDuChampComplet = NomDuChamp+"["+stCR.nPosTable+"]." +stCR.saExtra = {NomDuChampComplet+"SAI_InfoSup"} +stCR.bSelection = {NomDuChampComplet+"INT_Int"} +fin +sJson est une chaîne ANSI +si tbCrSel..Occurrence > 0 alors +Sérialise(tbCrSel,sJson,psdJSON) +fin +item:ListeDonnesMob = sJson +cas cRub_CtDonneurs, cRub_CtSite +tbCtSel est un tableau de ST_CONTACT_Rp +si item:ListeDonnesMob <> "" alors +Désérialise(tbCtSel,item:ListeDonnesMob,psdJSON) +fin +pour tout stCt de tbCtSel +NomDuChampComplet = NomDuChamp+"["+stCt.nPosTable+"]." +stCt.saNom = {NomDuChampComplet+"SAI_Nom"} +stCt.saExtra = {NomDuChampComplet+"SAI_InfoSup"} +stCt.saTFix = {NomDuChampComplet+"SAI_Tel1"} +stCt.saTMob = {NomDuChampComplet+"SAI_Tel2"} +stCt.saRole = {NomDuChampComplet+"SAI_Role"} +stCt.saEtage = {NomDuChampComplet+"SAI_Etage"} +stCt.bSelection = {NomDuChampComplet+"INT_Int"} +fin +sJson est une chaîne ANSI +si tbCtSel..Occurrence > 0 alors +Sérialise(tbCtSel,sJson,psdJSON) +fin +item:ListeDonnesMob = sJson +cas cRub_Photo +tbPhotoSel est un tableau de ST_Img_Rp +si item:ListeDonnesMob <> "" alors +Désérialise(tbPhotoSel,item:ListeDonnesMob,psdJSON) +fin +pour tout stPh de tbPhotoSel +NomDuChampComplet = NomDuChamp+"["+stPh.nPosTable+"]." +stPh.bSelection = {NomDuChampComplet+"INT_Int"} +stPh.saNotes = {NomDuChampComplet+"SAI_NoteColb"} +stPh.saExtra = {NomDuChampComplet+"SAI_InfoSup"} +stPh.saCheminComp = {NomDuChampComplet+"LIB_Chemin"} +fin +sJson est une chaîne ANSI +si tbPhotoSel..Occurrence > 0 alors +Sérialise(tbPhotoSel,sJson,psdJSON) +06/08/2026 Batik 2886 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +fin +item:ListeDonnesMob = sJson +cas cRub_RDV +tbRDVSelest un tableau de ST_RDV_Rp +si item:ListeDonnesMob <> "" alors +Désérialise(tbRDVSel,item:ListeDonnesMob,psdJSON) +fin +pour tout stRdv de tbRDVSel +NomDuChampComplet = NomDuChamp+"["+stRdv.nPosTable+"]." +stRdv.bSelection = {NomDuChampComplet+"INT_Int"} +stRdv.saObjet = {NomDuChampComplet+"SAI_Objet"} +stRdv.saNote = {NomDuChampComplet+"SAI_Note"} +stRdv.saCollaborateurs = {NomDuChampComplet+"SAI_Colbs"} +stRdv.saExtra = {NomDuChampComplet+"SAI_InfoSup"} +fin +sJson est une chaîne ANSI +si tbRDVSel..Occurrence > 0 alors +Sérialise(tbRDVSel,sJson,psdJSON) +fin +item:ListeDonnesMob = sJson +autre cas +fin +sinon +item:ListeDonnesMob = ChampSel +fin +fin +fin +Procédure locale RemplirLigneSansTb +procédure RemplirLigneSansTb(stUnTerme est un STJSON_MembreRubChamps, MonDoc est un Document, +vInfoVariante est un Variant) +saInfoV est une chaîne ANSI +sdRReq est une Source de Données +nSel est un entier +si stUnTerme.GroupeApp = cRub_CR alors +// Requête dans la base de données , le compte rendu ne peuvent pas être modifiées par l'utilisateur +// donc le données ne sont pas récupérer à partir de données envoyés par le mobile +RqCompteRenduRemplirDoc(vInfoVariante,sdRReq) +fin +pour tout stTerme de stUnTerme.ListeMembre +tabFragments est un tableau de docFragments = DocRecherche(MonDoc,stTerme.Rubrique,MotComplet+ +SansCasse) +si tabFragments..Occurrence > 0 alors +pour c = 1 _à_ tabFragments.Occurrence +pour tout UnEle de vInfoVariante +si stTerme:EnvoiMob alors +si UnEle.bSelection alors +imgBuf est un Buffer +imgBuf = "" +saInfoV = "" +06/08/2026 Batik 2887 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +RechercheInfoDansVariant(stUnTerme, stTerme, UnEle,imgBuf,saInfoV,sdRReq) +nSel += 1 +si stTerme:TypeMembre = cTypeImage alors +si imgBuf..Taille > 0 alors +nLargPixCol est un entier = 100*NBPixelesXMilimetres +// transformer le milimetres dans pixels (nombre de pixeles par +milimetres) +elt est un docElément <- DonneImgTableau(imgBuf, +nLargPixCol) +DocInsère(MonDoc,tabFragments[c]..PositionDébut, elt) +sinon +//tabFragments[c].Texte = " " +fin +sinon +tabFragments[c].Texte = DonneValeurSelonType(stTerme,saInfoV) +fin +si Contient(stTerme:Rubrique,"$UN") alors +sortir +fin +fin +fin +fin +fin +fin +fin +si nSel > 0 alors +renvoyer Vrai +fin +renvoyer Faux +Procédure locale RemplirLigneTableau +procédure RemplirLigneTableau(stUnTerme est un STJSON_MembreRubChamps, nIMin est un entier, MonDoc est +un Document,vInfoVariante est un Variant) +saInfoV est une chaîne ANSI +sdRReq est une Source de Données +nIndDebutPara est un entier +tabListeRubCol_1 est un tableau de entiers +tabListeRubCol_2 est un tableau de entiers +si stUnTerme.GroupeApp = cRub_CR alors +// Requête dans la base de données , le compte rendu ne peuvent pas être modifiées par l'utilisateur +// donc le données ne sont pas récupérer à partir de données envoyés par le mobile +RqCompteRenduRemplirDoc(vInfoVariante,sdRReq) +fin +pour tout stTerme de stUnTerme.ListeMembre +tabFragments est un tableau de docFragments = DocRecherche(MonDoc,stTerme.Rubrique,MotComplet+ +SansCasse) +si tabFragments..Occurrence > 0 alors +nColonne est un entier = tabFragments[1].Elément[1].Cellule..IndiceColonne +nLigne est un entier = tabFragments[1].Elément[1].Cellule..IndiceLigne +nIMax est un entier = nIMin +soit para <- tabFragments[1]..Paragraphe[1] +06/08/2026 Batik 2888 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +si nIndDebutPara = 0 alors // Pour pouvoir savoir si un est toujours dans le même tableau +nIndDebutPara = para.Parent.Parent.Paragraphe.PositionDébut +fin +si para.Tableau = Null alors +retour +fin +si nIndDebutPara = para.Parent.Parent.Paragraphe.PositionDébut alors +// moulinette faite pour savoir si on a est toujours dans la même colonne +si CelluleAvecPlusiersRub(stUnTerme,para..Tableau..Cellules[nIMax,nColonne]..Contenu.. +Texte,tabListeRubCol_2) alors +si tabListeRubCol_1..Occurrence <= 0 alors +tabListeRubCol_1 = tabListeRubCol_2 +CreationTablauIntDansRub(stUnTerme,MonDoc, nIMin, vInfoVariante,sdRReq) +sinon +si pas TableauCherche(tabListeRubCol_1,tcLinéaire,stTerme:Ordre) alors +CreationTablauIntDansRub(stUnTerme,MonDoc, nIMin, vInfoVariante,sdRReq) +tabListeRubCol_1 = tabListeRubCol_2 +fin +fin +sinon +pour tout UnEle de vInfoVariante +si stTerme:EnvoiMob alors +si UnEle.bSelection alors +imgBuf est un Buffer +imgBuf = "" +saInfoV = "" +RechercheInfoDansVariant(stUnTerme, stTerme, UnEle,imgBuf,saInfoV,sdRReq) +si stTerme:TypeMembre = cTypeImage alors +para..Tableau..Cellules[nIMax,nColonne].Contenu..Texte = " " +si imgBuf..Taille > 0 alors +nLargPixCol est un entier = para..Tableau..Colonnes +[nColonne]..LargeurMillimètres*NBPixelesXMilimetres +// transformer le milimetres dans pixels (nombre de pixeles par +milimetres) +elt est un docElément <- DonneImgTableau(imgBuf, +nLargPixCol) +cell est un docCellule <- para..Tableau..Cellules[nIMax, +nColonne] +si elt..Image..Hauteur > 0 _et_ elt.Image..Largeur > 0 alors +cell2 est un docLigne <- para..Tableau.. +Lignes[nIMax] +cell2.Hauteur = elt..Image..Hauteur +cell3 est un docColonne <- para..Tableau..Colonnes[nColonne] +cell3..LargeurMillimètres = elt.Image..Largeur +fin +para..Tableau..Cellules[nIMax,nColonne]..MiseEnPage..Alignement += chCentre +DocInsère(MonDoc,cell..Contenu..PositionDébut, elt) +sinon +//para..Tableau..Cellules[nIMax,nColonne]..Contenu..Texte = " " +fin +sinon +para..Tableau..Cellules[nIMax,nColonne]..Contenu..Texte = +DonneValeurSelonType(stTerme,saInfoV) +fin +nIMax += 1 +06/08/2026 Batik 2889 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +si Contient(stTerme:Rubrique,"$UN") ou Contient(stTerme:Rubrique,"UNIQUE" +) alors +sortir +fin +fin +fin +fin +fin +fin +fin +fin +Procédure locale SupprimerToutesRubDoc +procédure SupprimerToutesRubDoc(tbToutesRub est un tableau de STJSON_MembreRubChamps,MonDoc est un +Document) +tabFragments est tableau de docFragment +pour i = 1 _à_ tbToutesRub..Occurrence +stUnTerme est un STJSON_MembreRubChamps = tbToutesRub[i] +tabFragments = DocRecherche(MonDoc,stUnTerme.Rubrique,MotComplet+SansCasse) +pour c = 1 _à_ tabFragments.Occurrence +tabFragments[c].Texte= "" +fin +pour tout stTermes de stUnTerme.ListeMembre +tabFragments = DocRecherche(MonDoc,stTermes.Rubrique,MotComplet+SansCasse) +pour h = 1 _à_ tabFragments.Occurrence +tabFragments[h].Texte= "" +fin +fin +fin +Procédure locale TraiteLigneTableau +procédure TraiteLigneTableau(tbListeMob est un tableau de STJSON_MembreRubChamps, stUnTerme est un +STJSON_MembreRubChamps, MonDoc est un Document) +saDonnes est une chaîne ANSI +b est un entier +nColonne, nLigne, nIMax, nIMin,nSel sont des entiers +bUnAjout est un booléen +tabFragments est tableau de docFragment +TableauTrie(stUnTerme.ListeMembre,ttMembre+tccRespecteNumérique,"+Ordre") +si stUnTerme:EnvoiMob alors +b = TableauCherche(tbListeMob,tcLinéaire,"Rubrique;Utilisee",stUnTerme:Rubrique,Faux) +fin +si b > 0 alors +saDonnes = tbListeMob[b].ListeDonnesMob +fin +si saDonnes <> "" _et_ stUnTerme:TypeMembre = "Tableau" alors +vInfoVariante est un Variant = JSONVersVariant(saDonnes) +tbListeMob[b].Utilisee = Vrai +// on commence pour ajouter le nombre de ligne dans le tableau +si stUnTerme.ListeMembre..Occurrence > 0 alors +06/08/2026 Batik 2890 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +tabFragments = DocRecherche(MonDoc,stUnTerme.ListeMembre[1].Rubrique,MotComplet+SansCasse) +si tabFragments..Occurrence <= 0 _et_ stUnTerme.ListeMembre..Occurrence > 1 alors +tabFragments = DocRecherche(MonDoc,stUnTerme.ListeMembre[2].Rubrique,MotComplet+SansCasse) +fin +si tabFragments..Occurrence > 0 alors +soit para <- tabFragments[1]..Paragraphe[1] +si para.Tableau = Null alors +bUnAjout = Faux +sinon +bUnAjout = Vrai +fin +si bUnAjout alors +nColonne = tabFragments[1].Elément[1].Cellule..IndiceColonne +nLigne = tabFragments[1].Elément[1].Cellule..IndiceLigne +nIMax = nLigne +nIMin = nLigne +pour tout Ele de vInfoVariante +si Ele.bselection alors +nSel += 1 +si nIMax > nLigne alors +Ajoute(para.Tableau.Lignes) +fin +nIMax += 1 +si Contient(stUnTerme.ListeMembre[1].Rubrique,"$UN") alors +sortir +fin +fin +fin +fin +fin +fin +//Âpres l'ajout des toutes les lignes un ajoute l'information +si bUnAjout alors +RemplirLigneTableau(stUnTerme,nIMin,MonDoc,vInfoVariante) +si nSel > 0 alors +renvoyer Vrai +sinon +renvoyer Faux +fin +sinon +renvoyer RemplirLigneSansTb(stUnTerme, MonDoc,vInfoVariante) +fin +fin +renvoyer Faux +Procédure locale TraiteTexteAvecDonnees +procédure TraiteTexteAvecDonnees(tbToutesRub est un tableau de STJSON_MembreRubChamps, tbRubSaisie est +un tableau de STJSON_MembreRubChamps,MonDoc est un Document) +c est un entier +saInfoRemp est une chaîne ANSI +06/08/2026 Batik 2891 + +Partie 3 › Fenêtre WINDEV › FEN_Creation_Doc_Rub › Procédures +TableauTrie(tbToutesRub,ttMembre+tccRespecteNumérique,"+Rubrique;+Ordre") +sNomRub est une chaîne ANSI +nOrdre est un entier +tabFragments est tableau de docFragment +pour i = 1 _à_ tbToutesRub..Occurrence +si i > tbToutesRub..Occurrence alors +sortir +fin +stUnTerme est un STJSON_MembreRubChamps = tbToutesRub[i] +saInfoRemp = "" +si sNomRub <> stUnTerme.Rubrique ou nOrdre <> stUnTerme.Ordre alors +// moyen de savoir si la rubrique a été déjà traite, une rubrique peuvent être pressent +plusieurs fois dans un modèle , +// toutes les rubriques seront traites dans la variable tabfragments +si stUnTerme:TypeMembre = "Tableau" alors +quand exception dans +pour c = 1 _à_ tbToutesRub..Occurrence +si stUnTerme.Rubrique = tbToutesRub[c].Rubrique _et_ tbToutesRub[c].ListeMembre.. +Occurrence > 0 alors +tabFragments = DocRecherche(MonDoc,tbToutesRub[c].ListeMembre[1].Rubrique, +MotComplet+SansCasse) +si tabFragments.Occurrence > 0 alors +TraiteLigneTableau(tbRubSaisie,tbToutesRub[c], MonDoc) +fin +fin +fin +faire +UneErreur:Init(ErreurApp.Fonctionnelle,"Erreur dans la création du rapport "+c+ +"fragments "+tabFragments.Occurrence+ " Condition unTerme:Type = Tableau"+RC+ +ExceptionInfo(),"TraiteTexteAvecDonnees") +fin +sinon +quand exception dans +tabFragments = DocRecherche(MonDoc,stUnTerme.Rubrique,MotComplet+SansCasse) +si tabFragments..Occurrence > 0 alors +si tabFragments.Occurrence > 1 alors +pour c = 1 _à_ tabFragments.Occurrence +saInfoRemp = RechercheDonneesSimple(tbRubSaisie,stUnTerme) +tabFragments[c].Texte= saInfoRemp +fin +sinon +saInfoRemp = RechercheDonneesSimple(tbRubSaisie,stUnTerme) +tabFragments[1].Texte= saInfoRemp +fin +fin +faire +UneErreur:Init(ErreurApp.Fonctionnelle,"Erreur dans la création du rapport "+c+ +"fragments "+tabFragments.Occurrence+ " sans Condition"+RC+ExceptionInfo(), +"TraiteTexteAvecDonnees") +fin +fin +fin +sNomRub= stUnTerme.Rubrique +nOrdre= stUnTerme.Ordre +fin +06/08/2026 Batik 2892 + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Image +FEN_Emails_Contact_Inter +Image +FEN_Emails_Contact_Inter +Informations générales +FEN_Emails_Contact_Inter +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Emails_Contact_Inter.wdw +Créé par SMR +Date de création 24/09/2025 09:01:34 +Dernière modification par susana@applilogik.fr +Date dernière modification 19/03/2026 17:30:56 +Titre FR: Contacts de l'intervention +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +06/08/2026 Batik 2893 + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Informations générales +Note pour la documentation technique +FR: Liste des contacts de l’intervention +| Position X | 0 Position Y | | 0 Largeur | 719 Hauteur | 549 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 2894 | + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Informations générales +| Déplace souris sur bouton par | Non | | | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | --- | +| Compact. barres outils | Non | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 2 | Bouton | | | 2 | +| --- | ----------------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Image | | 4 | Table | | | 1 | +| | Superchamp | | 1 | Champ Modèle de champs | | | 4 | +| | Colonne de table | | 5 | Case barre de message | | | 1 | +| | Rupture de zone répétée | | 2 | | | | | +Nombre d'éléments dans la fenêtre : 22 +FEN_Emails_Contact_Inter +Informations sur les champs +Fenêtre : FEN_Emails_Contact_Inter +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Annuler | | 424 | 2 141 | 35 | 0 | Actif | | +| ------------ | --- | --- | ------- | --- | --- | ----- | --- | +| CMOD_BordFen | | 0 | -29 573 | 29 | 0 | Actif | | +| CMOD_Table1 | | 4 | 41 710 | 454 | 0 | Actif | | +| CMOD_Valider | | 573 | 2 141 | 35 | 0 | Actif | | +Champ Modèle de champs : CMOD_Annuler +| 06/08/2026 | | | Batik | | | | 2895 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Informations sur les champs +Bouton +notuob epyT +| | | | | | | laitini tatE | BAT ehcuoT | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | ---------- | --- | +| | X noitisoP | Y noitisoP | | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Annuler | 424 | 2 | 141 | 35 | 0 | Actif | | Normal | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +laitini tatE +| | | X noitisoP Y noitisoP | | | | | | | +| --- | --- | --------------------- | --- | ------- | ------- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 573 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Libellé | 91 | -27 450 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +| | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------------------- | ----------------- | +| | X noitisoP | | | | | laitini tatE | | sucof cevA | +| | | Y noitisoP | | | | | cilc cevA | | +| | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| IMG_AideFenetre | 541 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | --- | --- | ----- | --- | --- | ----- | --- | ---- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +| 06/08/2026 | | | Batik | | | | | 2896 | + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_Table1 +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 | | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | | +ruegraL +| | | | | elbisiV | elbaT | | | | | | +| --- | --- | --- | --- | ------- | ----- | --- | --- | --- | --- | --- | +nalP +Mémoir +| TABLE_Info | 6 43 | 704 448 | 0 | Actif | | | | | | 1 | +| ---------- | ---- | ------- | --- | ----- | --- | --- | --- | --- | --- | --- | +Table : CMOD_Table1.TABLE_Info +Libellé +tuaféd rap eéminA +| | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| LIB_LibRup | | 26 | 96 | 651 21 | 0 | Actif | Gauche | | Haut | | +| ---------- | --- | --- | --- | ------ | --- | ----- | ------ | --- | ---- | --- | +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_PKID | | 880 | Grisé | | | Droite Centre | Numériq | | | | +| COL_Sel | | 89 | Actif | | | Centre Centre | | | | | +| COL_Email | | 324 | affichag | | | Gauche Centre | | Texte | | | +| COL_Nom | | 262 | affichag | | | Gauche Centre | | Texte | | | +| COL_Type | | 100 | Grisé | | | Gauche Centre | | Texte | | | +| 06/08/2026 | | | | Batik | | | | | | 2897 | + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Informations sur les champs +Rupture de zone répétée +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --------------------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +RUPT_BasRupture1 +RUPT_HautRupture1 +Champ Modèle de champs : CMOD_Valider +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --------------------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | elbisiV | | | +| --- | --- | ------- | ------- | --- | --- | +nalP +| BTN_Valider | 573 2 | 141 35 | 0 | Actif | Normal | +| ----------- | ----- | ------ | --- | ----- | ------ | +Fenêtre : FEN_Emails_Contact_Inter +Champ Modèle de champs : CMOD_Annuler +| Ordre navigation | 2 | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | +| Curseur survol | 0 | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | 0 | | | | | +| Taux Paral. Y | 0 | | | | | +| Épinglé | Non | | | | | +| Masquer lors du scrolling | Non | | | | | +| Ancrage au contenu | <Aucun> | | | | | +| Numéro aide | 0 | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | +| Facteur de rétrécissement | 0 | | | | | +Facteur d'agrandissement +0 +| Ancrage | Droite | | | | | +| ------- | ------ | --- | --- | --- | --- | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Batik | | | 2898 | +| ---------- | --- | ----- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Table1 +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 400 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2899 + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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 +06/08/2026 Batik 2900 + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › 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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 573 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2901 + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 2902 + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 2903 + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 2904 + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Table1 +Table : CMOD_Table1.TABLE_Info +Note pour la documentation technique +FR: { +'Libelle':'Table des contacts' +} +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 +06/08/2026 Batik 2905 + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 26 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +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 +06/08/2026 Batik 2906 + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Informations sur les champs +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 : CMOD_Table1.TABLE_Info +Rupture de zone répétée : CMOD_Table1.TABLE_Info.RUPT_HautRupture1 (1) +Toujours visible Non +Attribut de rupture 4 +Libellé : CMOD_Table1.TABLE_Info.RUPT_HautRupture1.LIB_LibRup +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2907 + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Informations sur les champs +Rupture de zone répétée : CMOD_Table1.TABLE_Info.RUPT_BasRupture1 (2) +Toujours visible Non +Attribut de rupture 4 +Colonne de table : CMOD_Table1.TABLE_Info.COL_PKID (3) +Titre FR: PKID +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 : CMOD_Table1.TABLE_Info.COL_Sel (4) +Titre FR: Sélection +Curseur survol 0 +UI par l'utilisateur <Aucun> +Bouton Calculatrice Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +06/08/2026 Batik 2908 + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Informations sur les champs +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 100 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table1.TABLE_Info.COL_Email (5) +Titre FR: Email +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 500 Taux anc. hauteur 1000 +06/08/2026 Batik 2909 + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Informations sur les champs +Colonne de table : CMOD_Table1.TABLE_Info.COL_Nom (6) +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 400 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table1.TABLE_Info.COL_Type (7) +Titre FR: Type +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +06/08/2026 Batik 2910 + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › 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 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +06/08/2026 Batik 2911 + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Informations sur les champs +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Emails_Contact_Inter +Code +Déclarations globales de FEN_Emails_Contact_Inter +procédure FEN_Emails_Contact_Inter(nIdInter est un entier sur 8 octets) +saNomUtilisateurFen = "Sélection de contacts" +tbEmails est un tableau de chaînes ANSI +tbEmailsTable est un tableau de chaînes ANSI +constante +cTClient = "Client" +cTDonneurs = "Donneurs" +cTContact = "Contact" +fin +Fin d'initialisation de FEN_Emails_Contact_Inter +Filtrer() +Fermeture de FEN_Emails_Contact_Inter +renvoyer tbEmails +FEN_Emails_Contact_Inter +Code des champs +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +06/08/2026 Batik 2912 + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +TableauSupprimeTout(tbEmails) +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen +06/08/2026 Batik 2913 + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Table1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table1 +06/08/2026 Batik 2914 + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +06/08/2026 Batik 2915 + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_LibRup ( TABLE_Info ) +// Version 1 +// Description +// Libellé simple +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +06/08/2026 Batik 2916 + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Valider() +FEN_Emails_Contact_Inter +Procédures +Procédure locale Filtrer +procédure Filtrer() +si nIdInter <= 0 alors +renvoyer Faux +fin +TableSupprimeTout(TABLE_Info) +TableauSupprimeTout(tbEmailsTable) +i est un entier +reqClient est une Requête SQL = +[ +SELECT CL_Nom,CL_Email, PE_PKID,PE_Email, PE_Nom, PE_Prenom FROM Client +INNER JOIN Intervention ON CL_PKID = IN_IDClient +LEFT JOIN Personne ON PE_PKID = CL_IDContactPrincipal +WHERE Intervention.IN_PKID = {p_IdInter} +] +reqClient.p_idinter = nIdInter +si HExécuteRequêteSQL(reqClient) alors +pour tout reqClient +si reqClient.pe_pkid > 0 _et_ reqClient.PE_Email <> "" _et_... +EmailVérifieAdresse(reqClient.PE_Email, emailValideSyntaxe) = emailAdresseValide _et_ +TableauCherche(tbEmailsTable,tcLinéairePremier,reqClient.PE_Email) <= 0 alors +i = TableAjouteLigne(TABLE_Info) +COL_Email[i] = reqClient.PE_Email +COL_Nom[i] = reqClient.PE_Nom + [" "]+reqClient.PE_Prenom +COL_Type[i] = cTClient +TABLE_Info[i].RUPT_HautRupture1.LIB_LibRup = "Client" +TableauAjoute(tbEmailsTable,reqClient.PE_Email) +si reqClient.CL_Email <> "" _et_ reqClient.PE_Email <> reqClient.CL_Email _et_ +TableauCherche(tbEmailsTable,tcLinéairePremier,reqClient.cl_Email) <= 0 _et_... +EmailVérifieAdresse(reqClient.cl_Email, emailValideSyntaxe) = emailAdresseValide +alors +i = TableAjouteLigne(TABLE_Info) +COL_Email[i] = reqClient.cl_Email +COL_Nom[i] = reqClient.CL_Nom +COL_Type[i] = cTClient +TABLE_Info[i].RUPT_HautRupture1.LIB_LibRup = "Client" +06/08/2026 Batik 2917 + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Procédures +TableauAjoute(tbEmailsTable,reqClient.cl_Email) +fin +sinon si reqClient.CL_Email <> "" _et_ EmailVérifieAdresse(reqClient.cl_Email, +emailValideSyntaxe) = emailAdresseValide _et_... +TableauCherche(tbEmailsTable,tcLinéairePremier,reqClient.CL_Email) <= 0 alors +i = TableAjouteLigne(TABLE_Info) +COL_Email[i] = reqClient.CL_Email +COL_Nom[i] = reqClient.CL_Nom +COL_Type[i] = cTClient +TABLE_Info[i].RUPT_HautRupture1.LIB_LibRup = "Client" +TableauAjoute(tbEmailsTable,reqClient.CL_Email) +fin +fin +sinon +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FEN_Emails_Contact_Inter.Filtrer") +fin +reqContact est une Requête SQL = +[ +SELECT PE_PKID,PE_Email, PE_Nom, PE_Prenom,IP_IDClient,IP_IDLieu +FROM Intervention_Personne +INNER JOIN Personne ON (Personne.PE_PKID=Intervention_Personne.IP_IDPersonne) +WHERE Intervention_Personne.IP_IDIntervention={p_IdInter} AND PE_Email <> '' ORDER BY IP_IDClient +] +reqContact.p_IdInter = nIdInter +si HExécuteRequêteSQL(reqContact) alors +pour tout reqContact +si reqContact.IP_IDClient > 0 _et_ reqContact.PE_PKID > 0 _et_ TableauCherche(tbEmailsTable, +tcLinéairePremier,reqContact.pe_Email) <= 0 _et_... +EmailVérifieAdresse(reqContact.PE_Email, emailValideSyntaxe) = emailAdresseValide alors +i = TableAjouteLigne(TABLE_Info) +COL_Email[i] = reqContact.PE_Email +COL_Nom[i] = reqContact.PE_Nom + [" "]+reqContact.PE_Prenom +COL_Type[i] = cTDonneurs +TABLE_Info[i].RUPT_HautRupture1.LIB_LibRup = "Donneurs d'ordre" +TableauAjoute(tbEmailsTable,reqContact.PE_Email) +sinon si reqContact.IP_IDLieu > 0 _et_ reqContact.PE_PKID > 0 _et_ TableauCherche(tbEmailsTable +,tcLinéairePremier,reqContact.pe_Email) <= 0 _et_... +EmailVérifieAdresse(reqContact.PE_Email, emailValideSyntaxe) = emailAdresseValide alors +i = TableAjouteLigne(TABLE_Info) +COL_Email[i] = reqContact.PE_Email +COL_Nom[i] = reqContact.PE_Nom + [" "]+reqContact.PE_Prenom +COL_Type[i] = cTContact +TABLE_Info[i].RUPT_HautRupture1.LIB_LibRup = "Contacts" +TableauAjoute(tbEmailsTable,reqContact.PE_Email) +fin +fin +sinon +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FEN_Emails_Contact_Inter.Filtrer") +fin +Procédure locale Valider +procédure Valider() +TableauSupprimeTout(tbEmails) +pour toute ligne b de TABLE_Info +si COL_Sel[b] alors +TableauAjoute(tbEmails,COL_Email[b]) +fin +fin +06/08/2026 Batik 2918 + +Partie 3 › Fenêtre WINDEV › FEN_Emails_Contact_Inter › Procédures +Ferme() +| 06/08/2026 | Batik | 2919 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Image +FEN_Parametre_Structure_Chemin_Doc +Image +FEN_Parametre_Structure_Chemin_Doc +Informations générales +FEN_Parametre_Structure_Chemin_ +Doc +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Parametre_Structure_Chemin_Doc.wdw +06/08/2026 Batik 2920 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations générales +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 24/09/2025 15:34:20 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 09/10/2025 08:58:51 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1015 Hauteur | 700 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| Anim. Fermeture | | 0 | | | | +| 06/08/2026 | | | Batik | | 2921 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations générales +| 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 | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Champ de saisie | | 4 | Libellé | | | 3 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Bouton | | 3 | Image | | | 5 | +| | Superchamp | | 1 | Champ Modèle de champs | | | 9 | +| | Case barre de message | | 1 | | | | | +Nombre d'éléments dans la fenêtre : 26 +FEN_Parametre_Structure_Chemin_Doc +Informations sur les champs +Fenêtre : FEN_Parametre_Structure_Chemin_Doc +Libellé +tuaféd rap eéminA +.zroh egardaC .trev egardaC +| | | X noitisoP | | | laitini tatE | | FTR tamroF | +| --- | --- | ---------- | --- | --- | ------------ | --- | ---------- | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Where | | 5 461 | 850 42 | 0 | Actif Gauche | Haut | | +| ---------- | --- | ----- | ------ | --- | ------------ | ---- | ---- | +| LIB_Where1 | | 6 64 | 996 92 | 0 | Actif Gauche | Haut | | +| 06/08/2026 | | | Batik | | | | 2922 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Annuler | 720 | 1 141 | 35 | 0 | Actif | | +| ----------------- | --- | -------- | --- | --- | ----- | --- | +| CMOD_BordFen | 0 | -29 843 | 29 | 0 | Actif | | +| CMOD_RechercheRep | 682 | 26 30 | 30 | 0 | Actif | | +| CMOD_Repertoire | 6 | 3 676 | 53 | 0 | Actif | | +| CMOD_Requete | 5 | 220 1005 | 234 | 0 | Actif | | +| CMOD_Structure | 5 | 167 1005 | 53 | 0 | Actif | | +| CMOD_Test | 5 | 505 1005 | 101 | 0 | Actif | | +| CMOD_Tester | 869 | 465 141 | 35 | 0 | Actif | | +| CMOD_Valider | 869 | 1 141 | 35 | 0 | Actif | | +Champ Modèle de champs : CMOD_Annuler +Bouton +BAT ehcuoT notuob epyT +| | X noitisoP Y noitisoP | | | laitini tatE | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Annuler | 720 1 | 141 35 | 0 | Actif | Normal | | +| ----------- | ----- | ------ | --- | ----- | ------ | --- | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_SansNom1 | 0 | -29 843 | 30 | 0 | Actif | | +| ----------- | --- | ------- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +| 06/08/2026 | | Batik | | | | 2923 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › 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é | | 91 -27 | 720 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------ | --- | --- | --- | ----- | ------ | ------ | --- | +Image +| | | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------------------------------------- | ---------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| | | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_AideFenetre | | 811 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | | 38 | -26 | 21 | 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_RechercheRep +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | | laitini tatE | | sucof cevA | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | ---------- | +| | | X noitisoP | Y noitisoP | | | | | | | +| | | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | | 682 | 26 | 30 | 30 | 0 | Actif | | | +| --------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Repertoire +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_Texte | 6 | 3 676 53 | 0 | Actif | Texte | Non | | | | +| ---------- | --- | -------- | --- | ----- | ----- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | 2924 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations sur les champs +Champ Modèle de champs : CMOD_Requete +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_Texte | 5 220 1005 | 234 0 | Actif | Texte | | Non | | +| --------- | ---------- | ----- | ----- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_Structure +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_Texte | 5 167 1005 | 53 0 | Actif | Texte | | Non | | +| --------- | ---------- | ---- | ----- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_Test +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_Texte | 5 505 1005 | 101 0 | affichag | Texte | | Non | | +| ---------- | ---------- | ----- | -------- | ----- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | 2925 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations sur les champs +Champ Modèle de champs : CMOD_Tester +Bouton +BAT ehcuoT notuob epyT +laitini tatE +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Valider | 869 465 | 141 35 | 0 | Actif | Normal | +| ----------- | ------- | ------ | --- | ----- | ------ | +Champ Modèle de champs : CMOD_Valider +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --------------------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | elbisiV | | | +| --- | --- | ------- | ------- | --- | --- | +nalP +| BTN_Valider | 869 1 | 141 35 | 0 | Actif | Normal | +| ----------- | ----- | ------ | --- | ----- | ------ | +Fenêtre : FEN_Parametre_Structure_Chemin_Doc +Champ Modèle de champs : CMOD_Annuler +| Ordre navigation | 2 | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | +| Curseur survol | 0 | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | 0 | | | | | +| Taux Paral. Y | 0 | | | | | +| Épinglé | Non | | | | | +| Masquer lors du scrolling | Non | | | | | +| Ancrage au contenu | <Aucun> | | | | | +| Numéro aide | 0 | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | +| Facteur de rétrécissement | 0 | | | | | +Facteur d'agrandissement +0 +| Ancrage | Droite | | | | | +| ------- | ------ | --- | --- | --- | --- | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Batik | | | 2926 | +| ---------- | --- | ----- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_RechercheRep +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2927 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations sur les champs +Champ Modèle de champs : CMOD_Repertoire +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Requete +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2928 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations sur les champs +Champ Modèle de champs : CMOD_Structure +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Test +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2929 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations sur les champs +Champ Modèle de champs : CMOD_Tester +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2930 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations sur les champs +Libellé : LIB_Where +Libellé FR: La requête doit comporter un WHERE ne contenant que la condition suivante : WHERE +IN_PKID = {p_IdInter}. +Elle ne doit comporter aucun lien / aucune jointure avec le fichier Document (table +Document). +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 Tenir compte du cadrage +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_Where1 +Libellé FR: Si la structure contient la catégorie du document (ex. : « Photos »), il faut utiliser la +variable $DC_Categorie$. +S’il y a également un l'Id (ex. : « Photos #47 »), il faut utiliser $DC_Categorie_Id$ +Pour toute donnée devant être remplacée par une donnée de la requête, utilise le nom +de la donnée dans la requête, entouré de crochets []. Pour les identifiants (IDs), ajoute +un # devant les crochets. Par exemple : (Réf. interne de l’intervention => [IN_RefInt] => +Ids : #[IN_PKID]) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Batik 2931 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage fonctions gXXX Tenir compte du cadrage +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 +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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 +06/08/2026 Batik 2932 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations sur les champs +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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 843 +Hauteur externe 30 +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 +06/08/2026 Batik 2933 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations sur les champs +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2934 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations sur les champs +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 +06/08/2026 Batik 2935 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 2936 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations sur les champs +Taux anc. droite 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_RechercheRep +06/08/2026 Batik 2937 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations sur les champs +Image : CMOD_RechercheRep.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\search-file-folder.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_Repertoire +06/08/2026 Batik 2938 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations sur les champs +Champ de saisie : CMOD_Repertoire.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 6 +Largeur interne 676 +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 +06/08/2026 Batik 2939 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations sur les champs +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Requete +Champ de saisie : CMOD_Requete.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 +06/08/2026 Batik 2940 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 6 +Largeur interne 1004 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 2941 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Structure +Champ de saisie : CMOD_Structure.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 5 +Largeur interne 1005 +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 +06/08/2026 Batik 2942 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2943 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations sur les champs +Champ Modèle de champs : CMOD_Test +Champ de saisie : CMOD_Test.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 5 +Largeur interne 1005 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Batik 2944 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Tester +Bouton : CMOD_Tester.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Non +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +06/08/2026 Batik 2945 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations sur les champs +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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 +06/08/2026 Batik 2946 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Informations sur les champs +É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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Parametre_Structure_Chemin_Doc +Code +Déclarations globales de FEN_Parametre_Structure_Chemin_Doc +procédure FEN_Parametre_Structure_Chemin_Doc() +Fin d'initialisation de FEN_Parametre_Structure_Chemin_Doc +CMOD_Structure.SAI_Texte = gtbaParametresAppli[cParam_StructureCheminDoc].saValeur +CMOD_Requete.SAI_Texte = gtbaParametresAppli[cParam_ReqCheminDoc].saValeur +CMOD_Repertoire.SAI_Texte = gtbaParametresAppli[cParam_CheminRepDocInter].saValeur +//*******Slamm*****// +//[LI_CodeLieu] - [AD_Adresse] - [AD_Ville] ##INTERV\$DC_Categorie$\[IN_Anne] [IN_Mois] +[PA_LibTypeDossier] [IN_RefInterne] +06/08/2026 Batik 2947 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Code +//SELECT LI_CodeLieu AS LI_CodeLieu ,LEFT(AD_Adresse, 100) as AD_Adresse ,AD_Ville AS AD_Ville, year +(IN_DateIntervention) as IN_Anne, MONTH(IN_DateIntervention) as IN_Mois, +//PA_Libelle as PA_LibTypeDossier, IN_RefInterne AS IN_RefInterne +//FROM Intervention +//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 = Intervention.IN_IDDossier) +//left OUTER join ParametreMetier on (ParametreMetier.PA_CLE = Dossier.DO_CleType) +//WHERE IN_PKID = {p_IdInter} +FEN_Parametre_Structure_Chemin_Doc +Code des champs +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +06/08/2026 Batik 2948 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +06/08/2026 Batik 2949 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Code des champs +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_RechercheRep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_RechercheRep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_RechercheRep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_RechercheRep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_RechercheRep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_RechercheRep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_RechercheRep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_RechercheRep ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_RechercheRep ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +suRepertoire est une chaîne Unicode +// Ouvre le sélecteur de fichiers +soit sTitre="Sélectionner un répertoire..." +// ouvre le sélecteur +suRepertoire = fRepSélecteur(CMOD_Repertoire.SAI_Texte, sTitre, "") +si suRepertoire<>"" alors +CMOD_Repertoire.SAI_Texte = suRepertoire +fin +A chaque modification de IMG_Icone ( CMOD_RechercheRep ) +06/08/2026 Batik 2950 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_RechercheRep ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_RechercheRep ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_RechercheRep ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Repertoire +salib = "Chemin et nom du répertoire contenant les documents d'intervention" +Fin d'initialisation de CMOD_Repertoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Repertoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Repertoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Repertoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Repertoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Repertoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Repertoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Repertoire ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Repertoire ) +06/08/2026 Batik 2951 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Repertoire ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Repertoire ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Repertoire ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Requete +salib = "Requête pour récupérer les informations à remplacer dans la structure du chemin" +Fin d'initialisation de CMOD_Requete +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Requete +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Requete +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Requete +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Requete +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Requete +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Requete +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Requete ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Requete ) +06/08/2026 Batik 2952 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Requete ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Requete ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Requete ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Structure +salib = "Structure du chemin (Documents intervention)" +Fin d'initialisation de CMOD_Structure +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Structure +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Structure +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Structure +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Structure +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Structure +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Structure +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Structure ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Structure ) +06/08/2026 Batik 2953 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Structure ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Structure ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Structure ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Test +salib = "Résultat du test" +Fin d'initialisation de CMOD_Test +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Test +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Test +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Test +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Test +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Test +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Test +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Test ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Test ) +06/08/2026 Batik 2954 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Test ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Test ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Test ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Tester +salib = "Tester" +Fin d'initialisation de CMOD_Tester +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Tester +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Tester +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Tester +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Tester +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Tester +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Tester +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Tester ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Tester ) +06/08/2026 Batik 2955 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Tester() +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Enregistrer() +FEN_Parametre_Structure_Chemin_Doc +Procédures +Procédure locale Enregistrer +06/08/2026 Batik 2956 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Procédures +procédure Enregistrer() +si SansEspace(CMOD_Structure.SAI_Texte) <> "" alors +si pas HLitRecherchePremier(ParametreApplication,PAP_Code,cParam_StructureCheminDoc) alors +HRAZ(ParametreApplication) +ParametreApplication.PAP_Code = cParam_StructureCheminDoc +ParametreApplication.PAP_Description = +"Format des répertoires contenant les documents d'intervention" +fin +ParametreApplication.PAP_Valeur = CMOD_Structure.SAI_Texte +si pas HEnregistre(ParametreApplication) alors +Erreur("Erreur dans la mise à jour de la structure du chemin des documents",HErreurInfo( +hErrComplet)) +renvoyer Faux +sinon +oParam est un MParametreAppli +FichierVersMémoire(oParam,ParametreApplication) +gtbaParametresAppli[cParam_StructureCheminDoc] = oParam +fin +fin +si SansEspace(CMOD_Requete.SAI_Texte) <> "" alors +si pas HLitRecherchePremier(ParametreApplication,PAP_Code,cParam_ReqCheminDoc) alors +HRAZ(ParametreApplication) +ParametreApplication.PAP_Code = cParam_ReqCheminDoc +ParametreApplication.PAP_Description = +"Requête pour récupérer les informations à remplacer dans le format des répertoires contenant +les documents d'intervention" +fin +ParametreApplication.PAP_Valeur = CMOD_Requete.SAI_Texte +si pas HEnregistre(ParametreApplication) alors +Erreur("Erreur dans la mise à jour de la requête pour la structure du chemin des documents", +HErreurInfo(hErrComplet)) +renvoyer Faux +sinon +oParam est un MParametreAppli +FichierVersMémoire(oParam,ParametreApplication) +gtbaParametresAppli[cParam_ReqCheminDoc] = oParam +fin +fin +si SansEspace(CMOD_Repertoire.SAI_Texte) <> "" alors +si pas HLitRecherchePremier(ParametreApplication,PAP_Code,cParam_CheminRepDocInter) alors +HRAZ(ParametreApplication) +ParametreApplication.PAP_Code = cParam_CheminRepDocInter +ParametreApplication.PAP_Description = +"Chemin et nom du répertoire contenant les documents d'intervention" +fin +ParametreApplication.PAP_Valeur = CMOD_Repertoire.SAI_Texte +si pas HEnregistre(ParametreApplication) alors +Erreur( +"Erreur dans la mise à jour du chemin et nom du répertoire contenant les documents +d'interventions" +,HErreurInfo(hErrComplet)) +renvoyer Faux +sinon +oParam est un MParametreAppli +FichierVersMémoire(oParam,ParametreApplication) +gtbaParametresAppli[cParam_CheminRepDocInter] = oParam +fin +fin +Ferme() +Procédure locale Tester +06/08/2026 Batik 2957 + +Partie 3 › Fenêtre WINDEV › FEN_Parametre_Structure_Chemin_Doc › Procédures +procédure Tester() +saChemin est une chaîne ANSI +si HLitPremier(Intervention,IN_PKID) alors +saChemin = DecodeCheminDocSelonInter(CMOD_Structure.SAI_Texte,CMOD_Requete.SAI_Texte,Intervention. +IN_PKID) +fin +CMOD_Test.SAI_Texte = ComplèteRep(CMOD_Repertoire.SAI_Texte)+saChemin +06/08/2026 Batik 2958 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Image +FEN_Fiche_Document +Image +FEN_Fiche_Document +Informations générales +FEN_Fiche_Document +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Fiche_Document.wdw +Créé par SMR +Date de création 26/09/2025 14:14:31 +Dernière modification par susana@applilogik.fr +Date dernière modification 05/03/2026 19:26:29 +Titre FR: Documents de l'intervention +Type fenêtre Fenêtre libre +06/08/2026 Batik 2959 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations générales +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| ------------------------ | --- | ----------------------------- | --- | --- | --- | +Note pour la documentation technique +FR: Fiche document +| Position X | 0 Position Y | | 0 Largeur | 1077 Hauteur | 593 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 2960 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations générales +| Adapte Taille contenu | | Non | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | +| Assombri quand inactif | | Oui | | | | | +| Déplace souris sur bouton par | | Non | | | | | +| Compact. barres outils | | Non | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Champ de saisie | | 6 | Libellé | | 4 | +| --- | ---------------------- | --- | --- | --------------------- | --- | --- | +| | Bouton | | 2 | Image | | 12 | +| | Combo | | 1 | Zone répétée | | 1 | +| | Superchamp | | 1 | Attribut zone répétée | | 1 | +| | Champ Modèle de champs | | 15 | Case barre de message | | 1 | +| | Éditeur d'images | | 1 | | | | +Nombre d'éléments dans la fenêtre : 45 +FEN_Fiche_Document +Informations sur les champs +Fenêtre : FEN_Fiche_Document +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | laitini tatE | sucof cevA | +| --- | --- | --------------------- | --- | --- | ------------ | ---------- | +ruetuaH cilc cevA +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| IMG_Absent | | -199 41 | 25 21 | 0 | Grisé | | +| --------------- | --- | -------- | ----- | --- | ----- | ---- | +| IMG_DocImg | | -212 69 | 49 52 | 0 | Grisé | | +| IMG_Present | | -199 14 | 27 26 | 0 | Grisé | | +| IMG_Syncroniser | | -198 -19 | 28 23 | 0 | Grisé | | +| 06/08/2026 | | | Batik | | | 2961 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_Liste | 616 | 129 | 454 | 408 | 0 | Actif | | +| -------- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| CMOD_AjouterNote | 1040 | 96 | 30 | 30 | 0 | Actif | | +| ------------------ | ---- | --- | --- | --- | --- | ----- | --- | +| CMOD_Annuler | 783 | 2 | 141 | 35 | 0 | Actif | | +| CMOD_Apres | 43 | 2 | 30 | 30 | 0 | Actif | | +| CMOD_Avant | 5 | 2 | 30 | 30 | 0 | Actif | | +| CMOD_BordFen | 0 | -29 | 913 | 29 | 0 | Actif | | +| CMOD_Categorie | 386 | 43 | 298 | 53 | 0 | Actif | | +| CMOD_Date | 688 | 43 | 108 | 53 | 0 | Actif | | +| CMOD_Lib | 81 | 0 | 694 | 43 | 0 | Actif | | +| CMOD_NomDoc | 5 | 43 | 377 | 53 | 0 | Actif | | +| CMOD_SupprimerNote | 1002 | 96 | 30 | 30 | 0 | Actif | | +| CMOD_User | 800 | 43 | 270 | 53 | 0 | Actif | | +| CMOD_Valider | 930 | 2 | 141 | 35 | 0 | Actif | | +Éditeur d'images +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| EI_Photo | 5 | 96 | 603 | 429 | 0 | Actif | | +| -------- | --- | --- | --- | --- | --- | ----- | --- | +Zone répétée : ZR_Liste +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Id | 9 53 | 23 13 | 0 | Grisé | Droite | Haut | | +| ---------- | ---- | ----- | --- | ----- | ------ | ---- | ---- | +| 06/08/2026 | | Batik | | | | | 2962 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Attribut zone répétée +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +ATT_Id +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| CMOD_Date | | 3 | | 1 117 | 53 | | 0 | Actif | | +| --------- | --- | --- | --- | ----- | --- | --- | --- | ----- | --- | +| CMOD_Note | | 4 | 54 | 430 | 74 | | 0 | Actif | | +| CMOD_User | | 125 | | 1 309 | 53 | | 0 | Actif | | +Champ Modèle de champs : ZR_Liste.CMOD_Date +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 | | | | | +ruetuaH +| | ruegraL | | elbisiV | | | | | | | +| --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_Texte | 0 0 117 | 53 0 | affichag | Date | | Non | | | | +| --------- | ------- | ---- | -------- | ---- | --- | --- | --- | --- | --- | +Champ Modèle de champs : ZR_Liste.CMOD_Note +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_Texte | 0 0 430 | 74 0 | affichag | Texte | | Non | | | | +| ---------- | ------- | ---- | -------- | ----- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | 2963 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Champ Modèle de champs : ZR_Liste.CMOD_User +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_Texte | 0 | 0 309 | 53 | 0 affichag | | Texte | | Non | | | | +| --------- | --- | ----- | --- | ---------- | --- | ----- | --- | --- | --- | --- | --- | +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| LIB_Id | | 275 | 0 | 30 | 26 | 0 | Grisé | | Droite | Haut | | +| ------ | --- | --- | --- | --- | --- | --- | ----- | --- | ------ | ---- | --- | +Champ Modèle de champs : CMOD_AjouterNote +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | | X noitisoP Y noitisoP | | | | | | laitini tatE | | sucof cevA | +| --- | --- | --- | --------------------- | --- | ------- | ------- | --- | ------- | ------------ | --------- | ---------- | +| | | | | | | ruetuaH | | | | cilc cevA | | +| | | | | | ruegraL | | | elbisiV | | | | +nalP +| IMG_Icone | | | 1040 | 96 | 30 | 30 | 0 | | Actif | | | +| --------- | --- | --- | ---- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Annuler +| 06/08/2026 | | | | | Batik | | | | | | 2964 | +| ---------- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Bouton +notuob epyT +| | | | | laitini tatE | BAT ehcuoT | | +| --- | --- | --- | --- | ------------ | ---------- | --- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Annuler | 783 2 | 141 35 | 0 | Actif | Normal | | +| ----------- | ----- | ------ | --- | ----- | ------ | --- | +Champ Modèle de champs : CMOD_Apres +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | ------- | ------- | ------------ | --------- | ---------- | +| | | ruetuaH | | | cilc cevA | | +| | | ruegraL | elbisiV | | | | +nalP +| IMG_Icone | 43 2 | 30 30 | 0 | Actif | | | +| --------- | ---- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Avant +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | ------- | --- | ------------ | --------- | ---------- | +| | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | 5 2 | 30 30 | 0 | Actif | | | +| --------- | --- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | 0 | -29 913 | 30 | 0 | Actif | | +| ----------- | --- | ------- | --- | --- | ----- | ---- | +| 06/08/2026 | | Batik | | | | 2965 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP | Y noitisoP | | laitini tatE | | | | +| --- | ---------- | ---------- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_Libellé | | 91 -27 | 790 25 | 0 Actif | Gauche | Centre | | +| ----------- | --- | ------ | ------ | ------- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +| --- | --- | ---------- | ---------- | ------- | ------------ | --------- | ---------- | +| | | | ruegraL | ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | | 881 | -26 28 | 23 0 | Actif | | | +| -------------------------- | --- | --- | ------ | ---- | ----- | --- | --- | +| IMG_InformationAide | | 61 | -26 28 | 23 0 | Actif | | | +| IMG_Logo_secondaire_violet | | 2 | -27 34 | 26 0 | Actif | | | +| IMG_SombreClair | | 38 | -26 21 | 23 0 | Actif | | | +Champ Modèle de champs : CMOD_Categorie +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | ------------------ | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | | +| --- | --------------------- | ------- | ------- | ------------ | ----------- | --- | --- | +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| | | ruegraL | ruetuaH | sruocraP | | | | +elbisiV +| | | | | elbaT | eéirT | | | +| --- | --- | --- | --- | ----- | ----- | --- | --- | +nalP +| CMB_Combo | 386 | 43 298 | 53 0 Actif | Mémoire | | Non | | +| --------- | --- | ------ | ---------- | ------- | --- | --- | --- | +Champ Modèle de champs : CMOD_Date +| 06/08/2026 | | | Batik | | | | 2966 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +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_Texte | 688 43 | 108 53 | 0 affichag | | Date | Non | | | +| --------- | ------ | ------ | ---------- | --- | ---- | --- | --- | --- | +Champ Modèle de champs : CMOD_Lib +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | | 81 0 | 694 | 43 | 0 | Actif Gauche | Centre | | +| ------- | --- | ---- | --- | --- | --- | ------------ | ------ | --- | +Champ Modèle de champs : CMOD_NomDoc +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_Texte | 5 43 | 377 53 | 0 | Actif | Texte | Non | | | +| --------- | ---- | ------ | --- | ----- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_SupprimerNote +| 06/08/2026 | | | | Batik | | | | 2967 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › 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_Icone | | 1002 96 | 30 | 30 | 0 | Actif | | +| --------- | --- | ------- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_User +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 | FTR tamroF | | | +| | X noitisoP Y noitisoP | | | engilitluM | | | | +ruegraL ruetuaH +elbisiV +nalP +| SAI_Texte | 800 43 | 270 53 0 | affichag | Texte | Non | | | +| --------- | ------ | -------- | -------- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_Valider +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| BTN_Valider | | 930 | 2 141 | 35 | 0 | Actif | Normal | +| ----------- | --- | --- | ----- | --- | --- | ----- | ------ | +Fenêtre : FEN_Fiche_Document +Champ Modèle de champs : CMOD_AjouterNote +| Ordre navigation | | 12 | | | | | | +| ------------------------- | --- | ----------------------------------- | ----- | --- | --- | --- | ---- | +| Curseur survol | | 0 | | | | | | +| UI par l'utilisateur | | Selon fenêtre | | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | +| Taux Paral. Y | | 0 | | | | | | +| Épinglé | | Non | | | | | | +| Masquer lors du scrolling | | Non | | | | | | +| 06/08/2026 | | | Batik | | | | 2968 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Apres +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2969 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Champ Modèle de champs : CMOD_Avant +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +06/08/2026 Batik 2970 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Champ Modèle de champs : CMOD_Categorie +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 400 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Date +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 700 Taux anc. bas 1000 Taux anc. largeur 80 Taux anc. hauteur 1000 +06/08/2026 Batik 2971 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Champ Modèle de champs : CMOD_Lib +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_NomDoc +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 400 Taux anc. hauteur 1000 +06/08/2026 Batik 2972 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Champ Modèle de champs : CMOD_SupprimerNote +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_User +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 780 Taux anc. bas 1000 Taux anc. largeur 220 Taux anc. hauteur 1000 +06/08/2026 Batik 2973 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Éditeur d'images : EI_Photo +Épinglé Non +Masquer lors du scrolling Non +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +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 +Texte Markdown Non +Thème sur ruban Non +Change Document Non +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 550 Taux anc. hauteur 1000 +06/08/2026 Batik 2974 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Image : IMG_Absent +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\errorDoc.svg +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 +Image : IMG_DocImg +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\document-img.svg +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 +06/08/2026 Batik 2975 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +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 : IMG_Present +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\DocOk.svg +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> +06/08/2026 Batik 2976 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Syncroniser +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SyncroDoc.svg +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 +Zone répétée : ZR_Liste +Libellé FR: &Zone répétée +Ordre navigation 13 +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 +Hauteur ligne max. 0 +06/08/2026 Batik 2977 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Hauteur ligne 130 +Largeur colonne 452 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite, largeur et hauteur +Taux anc. droite 550 Taux anc. bas 1000 Taux anc. largeur 450 Taux anc. hauteur 1000 +06/08/2026 Batik 2978 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Champ Modèle de champs : CMOD_AjouterNote +Image : CMOD_AjouterNote.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Plus_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 2979 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2980 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Champ Modèle de champs : CMOD_Apres +Image : CMOD_Apres.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\gauche_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 2981 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Champ Modèle de champs : CMOD_Avant +Image : CMOD_Avant.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\droite_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 2982 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 913 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 2983 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 2984 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 +06/08/2026 Batik 2985 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 +06/08/2026 Batik 2986 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Ancrage Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Categorie +Combo : CMOD_Categorie.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 298 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 386 +Largeur interne 298 +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 +06/08/2026 Batik 2987 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +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 Oui +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Date +Champ de saisie : CMOD_Date.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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. Droite +06/08/2026 Batik 2988 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Position X interne 688 +Largeur interne 108 +Cadrage fonctions gXXX Tenir compte du cadrage +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: JJ/MM/AA +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, non 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 +06/08/2026 Batik 2989 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome Couleur monochrome du style +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Lib +Libellé : CMOD_Lib.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2990 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Champ Modèle de champs : CMOD_NomDoc +Champ de saisie : CMOD_NomDoc.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 5 +Largeur interne 377 +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 +06/08/2026 Batik 2991 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SupprimerNote +Image : CMOD_SupprimerNote.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\poubelle_noire.svg +Groupe GR_Saisie +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +06/08/2026 Batik 2992 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +É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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_User +Champ de saisie : CMOD_User.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 +06/08/2026 Batik 2993 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Position X interne 800 +Largeur interne 270 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 2994 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome Couleur monochrome du style +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +06/08/2026 Batik 2995 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : ZR_Liste +Attribut zone répétée : ZR_Liste.ATT_Id (1) +Champ associé LIB_Id +Propriété associée 1 +Champ Modèle de champs : ZR_Liste.CMOD_Date +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_Liste.CMOD_Note +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Batik 2996 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_Liste.CMOD_User +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_Liste.LIB_Id +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Numérique +Masque saisie FR: 99 999 999 999 999 999 999 +Mode ellipse <Aucun> +06/08/2026 Batik 2997 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +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 Modèle de champs : ZR_Liste.CMOD_Date +Champ de saisie : ZR_Liste.CMOD_Date.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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. Droite +Position X interne 620 +Largeur interne 117 +Cadrage fonctions gXXX Tenir compte du cadrage +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: JJ/MM/AA +06/08/2026 Batik 2998 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +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, non 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 2999 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Champ Modèle de champs : ZR_Liste.CMOD_Note +Champ de saisie : ZR_Liste.CMOD_Note.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 621 +Largeur interne 430 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Batik 3000 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_Liste.CMOD_User +Libellé : ZR_Liste.CMOD_User.LIB_Id +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 0 +06/08/2026 Batik 3001 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Numérique +Masque saisie FR: 99 999 999 999 999 999 999 +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 : ZR_Liste.CMOD_User.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 742 +Largeur interne 309 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 3002 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Informations sur les champs +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Automatique +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3003 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Code +FEN_Fiche_Document +Code +Déclarations globales de FEN_Fiche_Document +procédure FEN_Fiche_Document(tbaParametres est un tableau associatif de chaînes ANSI, tbaDocsFen est un +tableau associatif de MDocument) +MoiMême..Alias = tbaParametres[cParam_Alias] +nId est un entier sur 8 octets = tbaParametres[cParam_IdFen] +saCheminBase est une chaîne ANSI = tbaParametres[cParam_CheminFic] +tbDoc est un tableau de MDocument +nPos est un entier +bModifNote est un booléen +pour tout oDoc de tbaDocsFen +TableauAjoute(tbDoc,oDoc) +si oDoc:nPKID = nId alors +nPos = tbDoc..Occurrence +fin +fin +si tbDoc..Occurrence <= 0 alors +Ferme() +fin +bModif est un booléen +Fin d'initialisation de FEN_Fiche_Document +ChargeDoc() +Fermeture de FEN_Fiche_Document +renvoyer bModif +FEN_Fiche_Document +Code des champs +Fin d'initialisation de CMOD_AjouterNote +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_AjouterNote +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3004 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Code des champs +ExécuteAncêtre +Entrée dans CMOD_AjouterNote +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_AjouterNote +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_AjouterNote +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_AjouterNote +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_AjouterNote +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_AjouterNote ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_AjouterNote ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +AjouterNote() +A chaque modification de IMG_Icone ( CMOD_AjouterNote ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_AjouterNote ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_AjouterNote ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_AjouterNote ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3005 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Apres +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3006 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Code des champs +ExécuteAncêtre +Sortie de CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Apres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Apres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Apres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ChangementVersObjet() +nPos += 1 +ChargeDoc() +A chaque modification de IMG_Icone ( CMOD_Apres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Apres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Apres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Apres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Avant +06/08/2026 Batik 3007 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Avant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Avant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Avant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ChangementVersObjet() +nPos -= 1 +ChargeDoc() +A chaque modification de IMG_Icone ( CMOD_Avant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Avant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Avant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Avant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen +06/08/2026 Batik 3008 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Déclarations globales de CMOD_Categorie +salib = "Catégorie du document" +Fin d'initialisation de CMOD_Categorie +06/08/2026 Batik 3009 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Categorie +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Categorie +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Categorie +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Categorie +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Categorie +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Categorie +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Categorie ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême..NomComplet,cParam_TypeDoc) +Entrée dans CMB_Combo ( CMOD_Categorie ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Categorie ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Categorie ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Categorie ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Date +06/08/2026 Batik 3010 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Code des champs +salib = "Crée le " +Fin d'initialisation de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Lib +06/08/2026 Batik 3011 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Code des champs +salib = +"Si vous souhaitez enregistrer les modifications apportées à l’image, veuillez cliquer sur Enregistrer +afin de mettre à jour l’image dans le système" +Fin d'initialisation de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Lib ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_Lib ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NomDoc +salib = "Nom du document" +Fin d'initialisation de CMOD_NomDoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NomDoc +06/08/2026 Batik 3012 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NomDoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NomDoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NomDoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NomDoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NomDoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NomDoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_NomDoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_NomDoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_NomDoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NomDoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SupprimerNote +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SupprimerNote +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3013 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Code des champs +ExécuteAncêtre +Entrée dans CMOD_SupprimerNote +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SupprimerNote +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SupprimerNote +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SupprimerNote +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SupprimerNote +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_SupprimerNote ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_SupprimerNote ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SupprimerNote() +A chaque modification de IMG_Icone ( CMOD_SupprimerNote ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_SupprimerNote ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_SupprimerNote ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_SupprimerNote ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_User +salib = "Par " +Fin d'initialisation de CMOD_User +06/08/2026 Batik 3014 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_User +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_User +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_User +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_User +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_User +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_User +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_User ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_User ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_User ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_User ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_User ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3015 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Enregistrer() +Après analyse OCR de la sélection de EI_Photo +procédure AprèsAnalyseOCR(sTexte est une chaîne) +Entrée dans ZR_Liste +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Date +salib = "Crée le" +Fin d'initialisation de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Date +06/08/2026 Batik 3016 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Note +salib = "Note" +Fin d'initialisation de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Note +06/08/2026 Batik 3017 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_User +salib = "Par" +Fin d'initialisation de CMOD_User +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_User +06/08/2026 Batik 3018 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_User +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_User +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_User +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_User +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_User +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_User ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_User ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_User ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_User ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_User ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +FEN_Fiche_Document +Procédures +Procédure locale AjouterNote +06/08/2026 Batik 3019 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Procédures +procédure AjouterNote() +si nPos >= 0 _et_ tbDoc..Occurrence >= nPos alors +saNote est une chaîne ANSI = Ouvre(FEN_Texte,"") +si saNote <> "" alors +oNote est un MDocNote +oNote:nIDDoc = tbDoc[nPos].nPKID +oNote:saNote = saNote +oNote:nCreePar = CollaborateurEnCours.nIdUser +oNote:dhCreeLe = DateHeureSys() +si oNote:Enregistrer() alors +tbDoc[nPos].tbaNotes[oNote:nPKID] = oNote +Filtrer() +bModifNote = Vrai +fin +fin +fin +Procédure locale ChangementVersObjet +procédure ChangementVersObjet() +si nPos >= 0 _et_ tbDoc..Occurrence >= nPos alors +saExt est une chaîne ANSI = fExtraitChemin(tbDoc[nPos].saNom,fExtension) +tbDoc[nPos].saNom = CMOD_NomDoc.SAI_Texte+saExt +tbDoc[nPos].saCleCategorie = CMOD_Categorie.CMB_Combo +fin +Procédure locale ChargeDoc +procédure ChargeDoc() +si nPos <= 0 alors +nPos += 1 +fin +si nPos > tbDoc..Occurrence alors +nPos = tbDoc..Occurrence +fin +si tbDoc..Occurrence >= nPos _et_ tbDoc[nPos].nPKID > 0 alors +si nPos = 1 alors +CMOD_Avant.IMG_Icone..Grisé = Vrai +sinon +CMOD_Avant.IMG_Icone..Grisé = Faux +fin +si nPos = tbDoc..Occurrence alors +CMOD_Apres.IMG_Icone..Grisé = Vrai +sinon +CMOD_Apres.IMG_Icone..Grisé = Faux +fin +Filtrer() +sinon +CMOD_Apres.IMG_Icone..Grisé = Vrai +CMOD_Avant.IMG_Icone..Grisé = Vrai +renvoyer Faux +fin +Procédure locale Enregistrer +06/08/2026 Batik 3020 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Procédures +procédure Enregistrer() +bEnr est un booléen +ChangementVersObjet() +pour tout oDoc de tbDoc +bEnr = Faux +si tbaDocsFen[oDoc:nPKID]..Existe = Vrai _et_ tbaDocsFen[oDoc:nPKID].nPKID > 0 alors +si tbaDocsFen[oDoc:nPKID].saCleEtatDoc = cCle_EtatDocPresent alors +//******** Nom fichier *********************// +si tbaDocsFen[oDoc:nPKID].saNom <> oDoc:sanom alors +saChemin est une chaîne ANSI = oDoc.saCheminComplet +saChemin = Remplace(saChemin,tbaDocsFen[oDoc:nPKID].saNom,oDoc:saNom) +si fRenomme(oDoc.saCheminComplet,saChemin) alors +tbaDocsFen[oDoc:nPKID].saNom = oDoc:saNom +tbaDocsFen[oDoc:nPKID].saCheminComplet = saChemin +bEnr = Vrai +sinon +oDoc:saNom = tbaDocsFen[oDoc:nPKID].saNom +fin +fin +//********* Catégorie Fichier *******// +si tbaDocsFen[oDoc:nPKID].saCleCategorie <> oDoc:saCleCategorie alors +saCheminRub est une chaîne ANSI = saCheminBase +saCheminComplet est une chaîne ANSI = DonneCheminFichier(oDoc,saCheminRub) +saCheminRub = ComplèteRep(saCheminRub) +si saCheminComplet = tbaDocsFen[oDoc:nPKID].saCheminComplet alors +tbaDocsFen[oDoc:nPKID].saCleCategorie = oDoc:saCleCategorie +bEnr = Vrai +sinon +si fRepCrée(fExtraitChemin(saCheminComplet,fDisque+fRépertoire)) alors +si fDéplaceFichier(tbaDocsFen[oDoc:nPKID].saCheminComplet,saCheminComplet) +alors +tbaDocsFen[oDoc:nPKID].saCleCategorie = oDoc:saCleCategorie +tbaDocsFen[oDoc:nPKID].saCheminComplet = saCheminComplet +tbaDocsFen[oDoc:nPKID].saChemin = saCheminRub +bEnr = Vrai +sinon +oDoc:saCleCategorie = tbaDocsFen[oDoc:nPKID].saCleCategorie +fin +sinon +oDoc:saCleCategorie = tbaDocsFen[oDoc:nPKID].saCleCategorie +fin +fin +fin +si bEnr alors +tbaDocsFen[oDoc:nPKID].Enregistrer() +bModif = Vrai +fin +fin +tbaDocsFen[oDoc:nPKID].tbaNotes = oDoc.tbaNotes +fin +fin +si bModifNote alors +bModif = Vrai +fin +Ferme() +Procédure locale Filtrer +06/08/2026 Batik 3021 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Procédures +procédure Filtrer() +ZoneRépétéeSupprimeTout(ZR_Liste) +i est un entier +CMOD_NomDoc.SAI_Texte..Grisé = Vrai +CMOD_Categorie.CMB_Combo..Grisé = Vrai +CMOD_AjouterNote.IMG_Icone..Grisé = Vrai +CMOD_SupprimerNote.IMG_Icone..Grisé = Vrai +si nPos > 0 _et_ tbDoc..Occurrence >= nPos _et_ tbDoc[nPos].nPKID > 0 alors +EI_Photo = IMG_Syncroniser +EI_Photo..Grisé = Vrai +si tbDoc[nPos].saCheminComplet <> "" _et_ tbDoc[nPos].saCleEtatDoc = cCle_EtatDocPresent alors +saExt est une chaîne ANSI = Majuscule(fExtraitChemin(tbDoc[nPos].saNom,fExtension)) +si TableauCherche(LIB_Documents.gtbExtImg , tcLinéairePremier, saExt) > 0 alors +EI_Photo = tbDoc[nPos].saCheminComplet +EI_Photo..Grisé = Faux +sinon +EI_Photo = IMG_DocImg +fin +CMOD_NomDoc.SAI_Texte..Grisé = Faux +CMOD_Categorie.CMB_Combo..Grisé = Faux +sinon si tbDoc[nPos].saCleEtatDoc = cCle_EtatDocAbsent alors +EI_Photo = IMG_Absent +fin +CMOD_NomDoc.SAI_Texte = fExtraitChemin(tbDoc[nPos].saNom,fFichier) +CMOD_Categorie.CMB_Combo = tbDoc[nPos].saCleCategorie +CMOD_Date.SAI_Texte = tbDoc[nPos].dDateFichier +CMOD_AjouterNote.IMG_Icone..Grisé = Faux +CMOD_SupprimerNote.IMG_Icone..Grisé = Faux +si tbDoc[nPos].nCreePar > 0 _et_ gtbaListeUtilisateurs[tbDoc[nPos].nCreePar]..Existe = Vrai alors +CMOD_User.SAI_Texte = gtbaListeUtilisateurs[tbDoc[nPos].nCreePar].NomPrenomColb() +sinon +CMOD_User.SAI_Texte = "" +fin +pour tout oNote de tbDoc[nPos].tbaNotes +i = ZoneRépétéeAjouteLigne(ZR_Liste) +ZR_Liste[i].CMOD_Date.SAI_Texte = oNote:dhCreeLe +ZR_Liste[i].CMOD_Note.SAI_Texte = oNote:saNote +ZR_Liste[i].LIB_Id = oNote:nPKID +si oNote.nCreePar > 0 _et_ gtbaListeUtilisateurs[oNote.nCreePar]..Existe = Vrai alors +ZR_Liste[i].CMOD_User.SAI_Texte = gtbaListeUtilisateurs[oNote.nCreePar].NomPrenomColb() +sinon +ZR_Liste[i].CMOD_User.SAI_Texte = "" +fin +fin +fin +Procédure locale SupprimerNote +procédure SupprimerNote() +i est un entier = ZR_Liste +si nPos >= 0 _et_ tbDoc..Occurrence >= nPos _et_ i > 0 _et_ ATT_Id[i] > 0 _et_ tbDoc[nPos].tbaNotes[ +ATT_Id[i]]..Existe = Vrai alors +si OuiNon("Voulez-vous supprimer définitivement la note ("+ Gauche(ZR_Liste[i].CMOD_Note.SAI_Texte, +10)+"...)?") = Non alors +renvoyer Vrai +06/08/2026 Batik 3022 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Document › Procédures +fin +si tbDoc[nPos].tbaNotes[ATT_Id[i]].Supprimer() alors +TableauSupprime(tbDoc[nPos].tbaNotes,DocumentNote.DN_PKID) +ZoneRépétéeSupprime(ZR_Liste,i,zrAnimationSuppression) +bModifNote = Vrai +fin +fin +06/08/2026 Batik 3023 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Image +FEN_Liste_Documents_Inter +Image +FEN_Liste_Documents_Inter +Informations générales +FEN_Liste_Documents_Inter +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Liste_Documents_Inter.wdw +Créé par SMR +06/08/2026 Batik 3024 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Informations générales +| Date de création | | 30/09/2025 14:36:23 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 05/03/2026 19:26:29 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Liste de documents par intervention +| Position X | 0 Position Y | | 0 Largeur | 769 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| 06/08/2026 | | | Batik | | 3025 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Informations générales +| 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 | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 3 | Bouton | | 2 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | +| | Interrupteur | | 1 | Image | | 9 | +| | Zone répétée | | 1 | Superchamp | | 1 | +| | Attribut zone répétée | | 4 | Champ Modèle de champs | | 3 | +| | Option d'interrupteur | | 1 | Case barre de message | | 1 | +Nombre d'éléments dans la fenêtre : 26 +FEN_Liste_Documents_Inter +Informations sur les champs +Fenêtre : FEN_Liste_Documents_Inter +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | laitini tatE | sucof cevA | +| --- | --- | --------------------- | --- | --- | ------------ | ---------- | +cilc cevA +ruegraL ruetuaH +elbisiV +nalP +| IMG_Absent | | -153 161 | 25 21 | 0 | Grisé | | +| --------------- | --- | -------- | ----- | --- | ----- | ---- | +| IMG_DocImg | | -166 189 | 49 52 | 0 | Grisé | | +| IMG_Present | | -153 134 | 27 26 | 0 | Grisé | | +| IMG_Syncroniser | | -152 101 | 28 23 | 0 | Grisé | | +| 06/08/2026 | | | Batik | | | 3026 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Informations sur les champs +Zone répétée +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_Galerie | | 24 | 44 | 719 | 578 | 0 | Actif | | +| ---------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| CMOD_Annuler | | 474 | 1 | 141 | 35 | 0 | Actif | | +| ------------ | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_BordFen | | 0 | -29 | 623 | 29 | 0 | Actif | | +| CMOD_Valider | | 623 | 1 | 141 | 35 | 0 | Actif | | +Zone répétée : ZR_Galerie +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_ID | 38 | 2 | 16 13 | 0 | Grisé | Droite | Haut | | +| ------------ | --- | --- | ------ | --- | ----- | ------ | ------ | --- | +| LIB_NomImage | 8 | 142 | 133 27 | 0 | Actif | Centre | Centre | | +Interrupteur +ellennoitroporp .loC +| | | | | | | BAT ehcuoT | sennoloc .bN | | +| --- | --- | --- | --- | --- | ------------ | ---------- | ------------ | ----------- | +| | | | | | laitini tatE | | | staté siorT | +X noitisoP Y noitisoP +| | | | ruegraL ruetuaH | | | | | | +| --- | --- | --- | --------------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| INT_Int | 3 | 2 | 21 | 21 0 | Actif | | 1 | | +| ---------- | --- | --- | ----- | ---- | ----- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 3027 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › 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_Vignette | 8 23 | 133 118 | 0 | Actif | | | +| ------------ | ---- | ------- | --- | ----- | --- | --- | +Attribut zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +ATT_Id +ATT_Image +ATT_Int +ATT_NomImage +Champ Modèle de champs : CMOD_Annuler +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Annuler | 474 1 | 141 35 | 0 | Actif | Normal | | +| ----------- | ----- | ------ | --- | ----- | ------ | --- | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | 0 | -29 623 | 30 | 0 | Actif | | +| ----------- | --- | ------- | --- | --- | ----- | ---- | +| 06/08/2026 | | Batik | | | | 3028 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_Libellé | 91 -27 | 500 25 | 0 | Actif | Gauche | Centre | | +| ----------- | ------ | ------ | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | --- | ------------ | --------- | ---------- | +| | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 591 | -26 28 | 23 | 0 | Actif | | | +| -------------------------- | --- | ------ | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 21 | 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_Valider +Bouton +notuob epyT +| | | | | | laitini tatE | BAT ehcuoT | | +| --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | --- | +| | X noitisoP | Y noitisoP | | | | | | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Valider | 623 | 1 141 | 35 | 0 | Actif | Normal | | +| ----------- | --- | ----- | --- | --- | ----- | ------ | --- | +Fenêtre : FEN_Liste_Documents_Inter +Champ Modèle de champs : CMOD_Annuler +| Ordre navigation | 2 | | | | | | | +| ------------------------- | ----------------------------------- | ----- | --- | --- | --- | --- | ---- | +| Curseur survol | 0 | | | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| 06/08/2026 | | Batik | | | | | 3029 | + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Informations sur les champs +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Batik 3030 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Informations sur les champs +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Absent +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\errorDoc.svg +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 +06/08/2026 Batik 3031 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Informations sur les champs +Image : IMG_DocImg +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\document-img.svg +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 +Image : IMG_Present +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\DocOk.svg +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 +06/08/2026 Batik 3032 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Informations sur les champs +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 : IMG_Syncroniser +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SyncroDoc.svg +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> +06/08/2026 Batik 3033 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : ZR_Galerie +Libellé FR: &Zone répétée +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 +Hauteur ligne max. 0 +Hauteur ligne 176 +Largeur colonne 149 +Sens Vertical +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Mode d'affichage Galerie en colonne +Ancrage des colonnes Largeur et nombre de colonnes variables +Galerie : Popup automatique Oui +06/08/2026 Batik 3034 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Informations sur les champs +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Non +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +06/08/2026 Batik 3035 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Informations sur les champs +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 623 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3036 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 3037 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 3038 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 3039 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +On/Off Non +Recopie Option menu flèche Non +Taux Paral. hauteur 0 +06/08/2026 Batik 3040 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Informations sur les champs +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : ZR_Galerie +Attribut zone répétée : ZR_Galerie.ATT_Id (4) +Champ associé LIB_ID +Propriété associée 1 +06/08/2026 Batik 3041 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Informations sur les champs +Attribut zone répétée : ZR_Galerie.ATT_Image (1) +Champ associé IMG_Vignette +Propriété associée 1 +Attribut zone répétée : ZR_Galerie.ATT_Int (3) +Champ associé INT_Int +Propriété associée 1 +Attribut zone répétée : ZR_Galerie.ATT_NomImage (2) +Champ associé LIB_NomImage +Propriété associée 1 +Image : ZR_Galerie.IMG_Vignette +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 Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 3042 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : ZR_Galerie.INT_Int +Valeur initiale 0 +Ordre navigation 1 +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 +Nb. états image 1 +Largeur image 85 +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 +06/08/2026 Batik 3043 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Informations sur les champs +Libellé : ZR_Galerie.LIB_ID +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Numérique +Masque saisie FR: 99 999 999 999 999 999 999 +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é : ZR_Galerie.LIB_NomImage +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +06/08/2026 Batik 3044 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Informations sur les champs +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse A la fin +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 Largeur et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Liste_Documents_Inter +Code +Déclarations globales de FEN_Liste_Documents_Inter +procédure FEN_Liste_Documents_Inter(tbaParametres est un tableau associatif de chaînes ANSI,tbDocsFen +est un tableau de MDocument) +MoiMême..Alias = tbaParametres[cParam_Alias] +bOk est un booléen +Fin d'initialisation de FEN_Liste_Documents_Inter +Filtrer() +Fermeture de FEN_Liste_Documents_Inter +renvoyer bOk +FEN_Liste_Documents_Inter +Code des champs +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +06/08/2026 Batik 3045 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +bOk = Faux +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen +06/08/2026 Batik 3046 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +06/08/2026 Batik 3047 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Valider() +Entrée dans ZR_Galerie +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de INT_Int ( ZR_Galerie ) +// Version 1 +// Description +// Interrupteur simple 2 états +FEN_Liste_Documents_Inter +Procédures +Procédure locale Filtrer +procédure Filtrer() +ZoneRépétéeSupprimeTout(ZR_Galerie) +i est un entier +tbTableauIds est un tableau d'entiers sur 8 octets +si SansEspace(tbaParametres[cParam_ListeId]) <> "" alors +ChaîneVersTableau(tbaParametres[cParam_ListeId],tbTableauIds,";") +fin +pour tout oDoc de tbDocsFen +i = ZoneRépétéeAjouteLigne(ZR_Galerie) +ZR_Galerie[i].ATT_NomImage = oDoc:saNom +ZR_Galerie[i].ATT_Id = oDoc:nPKID +06/08/2026 Batik 3048 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Procédures +si oDoc:saCheminComplet <> "" _et_ TableauCherche(tbTableauIds,tcLinéairePremier,oDoc:nPKID) > 0 +alors +ZR_Galerie[i].ATT_Int = Vrai +fin +si oDoc.saCleEtatDoc = cCle_EtatDocPresent _et_ fFichierExiste(oDoc.saCheminComplet) alors +saExt est une chaîne ANSI = Majuscule(fExtraitChemin(oDoc.saNom,fExtension)) +si saExt = "PDF" ou TableauCherche(LIB_Documents.gtbExtImg,tcLinéairePremier, saExt) > 0 alors +ZR_Galerie[i].ATT_Image =oDoc.saCheminComplet +sinon +ZR_Galerie[i].ATT_Image =IMG_DocImg +fin +ZR_Galerie[i].INT_Int..Grisé = Faux +sinon +si oDoc.saCleEtatDoc = cCle_EtatDocSyncro alors +ZR_Galerie[i].ATT_Image =IMG_Syncroniser +sinon +ZR_Galerie[i].ATT_Image =IMG_Absent +fin +ZR_Galerie[i].INT_Int..Grisé = Vrai +fin +fin +Procédure locale Valider +procédure Valider() +tbIds est un tableau d'entiers sur 8 octets +tbCheminsPjParam est un tableau de chaînes ANSI +tbCheminsPj est un tableau de chaînes ANSI +si SansEspace(tbaParametres[cParam_ListeChaine]) <> "" alors +ChaîneVersTableau(tbaParametres[cParam_ListeChaine],tbCheminsPjParam,";") +fin +pour toute ligne b de ZR_Galerie +si ATT_Int[b] alors +h est un entier = TableauCherche(tbDocsFen,tcLinéaire,"nPKID",ATT_Id[b]) +si h > 0 alors +TableauAjoute(tbIds,ATT_Id[b]) +TableauAjoute(tbCheminsPj,tbDocsFen[h].saCheminComplet) +fin +fin +fin +pour tout saChemin de tbCheminsPjParam +si TableauCherche(tbCheminsPj,tcLinéairePremier,saChemin) <= 0 alors +si TableauCherche(tbDocsFen,tcLinéaire,"saNom",fExtraitChemin(saChemin,fFichier+fExtension)) <= +0 alors +TableauAjoute(tbCheminsPj,saChemin) +// Un document qui ne fait pas partie de l'intervention +fin +fin +fin +tbaParametres[cParam_ListeChaine] = TableauVersChaîne(tbCheminsPj,";") +tbaParametres[cParam_ListeId] = TableauVersChaîne(tbIds,";") +bOk = Vrai +06/08/2026 Batik 3049 + +Partie 3 › Fenêtre WINDEV › FEN_Liste_Documents_Inter › Procédures +Ferme() +| 06/08/2026 | Batik | 3050 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Image +FEN_Email_Inter +Image +FEN_Email_Inter +Informations générales +FEN_Email_Inter +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Email_Inter.wdw +Créé par SMR +06/08/2026 Batik 3051 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations générales +| Date de création | | 23/09/2025 14:24:06 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 17/04/2026 11:04:09 | | | | +| Titre | | FR: Message externe | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Détail de l’e-mail +| Position X | 0 Position Y | | 0 Largeur | 1199 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 3052 | + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations générales +| 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 | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Champ de saisie | | 6 | Libellé | | | 1 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Bouton | | 2 | Image | | | 4 | +| | Superchamp | | 1 | Champ Modèle de champs | | | 9 | +| | Case barre de message | | 1 | Éditeur HTML | | | 1 | +Nombre d'éléments dans la fenêtre : 25 +FEN_Email_Inter +Informations sur les champs +Fenêtre : FEN_Email_Inter +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_A | | 7 | 53 561 | 85 | 0 | Actif | | +| ------------- | --- | ---- | -------- | --- | --- | ----- | ---- | +| CMOD_BordFen | | 0 | -29 1063 | 29 | 0 | Actif | | +| CMOD_CC | | 576 | 53 311 | 85 | 0 | Actif | | +| CMOD_CCI | | 895 | 53 298 | 85 | 0 | Actif | | +| CMOD_Envoyer | | 1052 | 10 141 | 35 | 0 | Actif | | +| CMOD_Objet | | 7 | 138 1186 | 67 | 0 | Actif | | +| CMOD_PJ | | 7 | 539 1186 | 106 | 0 | Actif | | +| CMOD_SansNom1 | | 7 | 0 561 | 53 | 0 | Actif | | +| CMOD_Valider | | 903 | 10 141 | 35 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 3053 | + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations sur les champs +Éditeur HTML +BAT ehcuoT +| | | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| EDHTML_Corps | | | | 7 | 205 | | 1186 | 334 | | 0 | affichag | | +| ------------ | --- | --- | --- | --- | --- | --- | ---- | --- | --- | --- | -------- | --- | +Champ Modèle de champs : CMOD_A +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_Jeton | 7 53 | 561 | 85 | 0 | affichag | | Texte | | Non | | | | +| --------- | ---- | --- | --- | --- | -------- | --- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_SansNom1 | | | | 0 | -29 | | 1063 | 30 | | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | --- | ---- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | ------------ | --- | --- | --- | +| | | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| LIB_Libellé | | 91 | | -27 | 940 | 25 | 0 | | Actif | Gauche | Centre | | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | --- | ----- | ------ | ------ | ---- | +| 06/08/2026 | | | | | | Batik | | | | | | 3054 | + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › 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_AideFenetre | | 1031 -26 | | 28 23 | 0 | | Actif | | +| -------------------------- | --- | -------- | --- | ----- | --- | --- | ----- | --- | +| IMG_InformationAide | | 61 -26 | | 28 23 | 0 | | Actif | | +| IMG_Logo_secondaire_violet | | 2 -27 | | 34 26 | 0 | | Actif | | +| IMG_SombreClair | | 38 -26 | | 21 23 | 0 | | Actif | | +Champ Modèle de champs : CMOD_CC +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 | | | | +ruetuaH +| | | ruegraL | elbisiV | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +nalP +| SAI_Jeton | 576 53 | 311 85 0 | affichag | Texte | | Non | | | +| --------- | ------ | -------- | -------- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_CCI +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_Jeton | 895 53 | 298 85 0 | affichag | Texte | | Non | | | +| ---------- | ------ | -------- | -------- | ----- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | 3055 | + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_Envoyer +Bouton +BAT ehcuoT notuob epyT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| BTN_Valider | | 1052 | 10 141 | 35 | 0 | Actif | Normal | +| ----------- | --- | ---- | ------ | --- | --- | ----- | ------ | +Champ Modèle de champs : CMOD_Objet +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_Texte | 7 138 1186 | 67 0 | affichag | Texte | Non | | | +| --------- | ---------- | ---- | -------- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_PJ +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_Jeton | 7 539 1186 | 106 0 | affichag | Texte | Non | | | +| ---------- | ---------- | ----- | -------- | ----- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | 3056 | + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom1 +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_Texte | 7 0 561 | 53 0 | affichag | Texte | | Non | | | | +| --------- | ------- | ---- | -------- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Valider +Bouton +notuob epyT +| | | | | | | | laitini tatE BAT ehcuoT | | | +| --- | --- | --- | --- | --- | --- | --- | ----------------------- | --- | --- | +X noitisoP Y noitisoP +| | | | | ruegraL ruetuaH | | | | | | +| --- | --- | --- | --- | --------------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| BTN_Valider | | 903 | 10 | 141 | 35 | 0 | Actif | Normal | | +| ----------- | --- | --- | --- | --- | --- | --- | ----- | ------ | --- | +Fenêtre : FEN_Email_Inter +Champ Modèle de champs : CMOD_A +| Ordre navigation | | 5 | | | | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | --- | --- | --- | +| Curseur survol | | 0 | | | | | | | | +| UI par l'utilisateur | | Selon fenêtre | | | | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | | | +| Taux Paral. Y | | 0 | | | | | | | | +| Épinglé | | Non | | | | | | | | +| Masquer lors du scrolling | | Non | | | | | | | | +| Ancrage au contenu | | <Aucun> | | | | | | | | +| Numéro aide | | 0 | | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | | 0 | | | | | | | | +| -------------------------- | --- | ------- | --- | --- | --- | --- | --- | --- | --- | +| Facteur d'agrandissement | | 0 | | | | | | | | +| Ancrage | | Largeur | | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 450 Taux anc. hauteur 1000 +| 06/08/2026 | | | | Batik | | | | | 3057 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_CC +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +06/08/2026 Batik 3058 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_CCI +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 750 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Envoyer +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3059 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_Objet +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 450 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_PJ +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Bas, largeur et hauteur +Taux anc. droite 500 Taux anc. bas 800 Taux anc. largeur 1000 Taux anc. hauteur 200 +06/08/2026 Batik 3060 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom1 +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 450 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3061 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations sur les champs +Éditeur HTML : EDHTML_Corps +Libellé FR: Éditeur HTML +Ordre navigation 9 +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 Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Mode Minibarre Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Thème sur ruban Non +Change Document Non +Édition EMail Non +Code source Non +Exécute JS dans document Non +Liaison sur <body> Non +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 800 +06/08/2026 Batik 3062 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_A +Champ de saisie : CMOD_A.SAI_Jeton +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Jeton : +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 7 +Largeur interne 561 +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 Automatique +Complétion système de fichier Non +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Batik 3063 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › 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) Oui +Autoriser les doublons Non +Séparateurs de jetons ; +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +06/08/2026 Batik 3064 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations sur les champs +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3065 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations sur les champs +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 +06/08/2026 Batik 3066 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 3067 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations sur les champs +Taux anc. droite 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_CC +06/08/2026 Batik 3068 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations sur les champs +Champ de saisie : CMOD_CC.SAI_Jeton +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Jeton : +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 576 +Largeur interne 311 +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 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 +06/08/2026 Batik 3069 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations sur les champs +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Oui +Autoriser les doublons Non +Séparateurs de jetons ; +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_CCI +Champ de saisie : CMOD_CCI.SAI_Jeton +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Jeton : +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 +06/08/2026 Batik 3070 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 895 +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 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 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) Oui +Autoriser les doublons Non +Séparateurs de jetons ; +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 +06/08/2026 Batik 3071 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Envoyer +Bouton : CMOD_Envoyer.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +06/08/2026 Batik 3072 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations sur les champs +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Objet +Champ de saisie : CMOD_Objet.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 7 +Largeur interne 1186 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 3073 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations sur les champs +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, non 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> +Liaison des données :oMsg.saObjet +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3074 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations sur les champs +Champ Modèle de champs : CMOD_PJ +Champ de saisie : CMOD_PJ.SAI_Jeton +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Jeton : +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 7 +Largeur interne 1186 +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 +06/08/2026 Batik 3075 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › 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) 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom1 +Champ de saisie : CMOD_SansNom1.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +06/08/2026 Batik 3076 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations sur les champs +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 7 +Largeur interne 561 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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> +Liaison des données :oMsg.saAdrExp +06/08/2026 Batik 3077 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +06/08/2026 Batik 3078 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Informations sur les champs +Texte Markdown Non +Mode menu ctx. <Aucun> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +| | 1000 | 1000 | 1000 | 1000 | +| --- | ---- | ---- | ---- | ---- | +Taux anc. droite Taux anc. bas Taux anc. largeur Taux anc. hauteur +FEN_Email_Inter +Code +Déclarations globales de FEN_Email_Inter +procédure FEN_Email_Inter(tbaParametres est un tableau associatif de chaînes ANSI) +| MoiMême..Alias | | = tbaParametres[cParam_Alias] | | | +| --------------- | -------------------------- | ----------------------------- | --- | --- | +| nId | est un entier sur 8 octets | = tbaParametres[cParam_IdFen] | | | +| nIdInter | est un entier sur 8 octets | | | | +| oMsg | est un MMessage_Externe | | | | +| bTransfert | est un booléen | | | | +Maximise() +Fin d'initialisation de FEN_Email_Inter +Filtrer() +Fermeture de FEN_Email_Inter +renvoyer bTransfert +FEN_Email_Inter +Code des champs +Déclarations globales de CMOD_A +salib = "À" +Fin d'initialisation de CMOD_A +| 06/08/2026 | | Batik | | 3079 | +| ---------- | --- | ----- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_A +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_A +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_A +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_A +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_A +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_A +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Jeton ( CMOD_A ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Jeton ( CMOD_A ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Jeton ( CMOD_A ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ajout d'un jeton dans SAI_Jeton ( CMOD_A ) +procédure AjoutJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer Faux +Suppression d'un jeton dans SAI_Jeton ( CMOD_A ) +procédure SuppressionJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer Faux +Clic sur un jeton de SAI_Jeton ( CMOD_A ) +06/08/2026 Batik 3080 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Code des champs +procédure ClicJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(MonJeton) +Entrée en saisie d'un jeton de SAI_Jeton ( CMOD_A ) +procédure EntreSaisieJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Modification d'un jeton de SAI_Jeton ( CMOD_A ) +procédure ModificationJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer Faux +A chaque modification de SAI_Jeton ( CMOD_A ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Jeton ( CMOD_A ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +06/08/2026 Batik 3081 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Code des champs +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Déclarations globales de CMOD_CC +salib = "CC (en copie)" +Fin d'initialisation de CMOD_CC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CC +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Jeton ( CMOD_CC ) +06/08/2026 Batik 3082 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Jeton ( CMOD_CC ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Jeton ( CMOD_CC ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ajout d'un jeton dans SAI_Jeton ( CMOD_CC ) +procédure AjoutJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer Faux +Suppression d'un jeton dans SAI_Jeton ( CMOD_CC ) +procédure SuppressionJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer Faux +Clic sur un jeton de SAI_Jeton ( CMOD_CC ) +procédure ClicJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(MonJeton) +Entrée en saisie d'un jeton de SAI_Jeton ( CMOD_CC ) +procédure EntreSaisieJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Modification d'un jeton de SAI_Jeton ( CMOD_CC ) +procédure ModificationJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer Faux +A chaque modification de SAI_Jeton ( CMOD_CC ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Jeton ( CMOD_CC ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CCI +salib = "CCI (en copie caché)" +Fin d'initialisation de CMOD_CCI +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CCI +06/08/2026 Batik 3083 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CCI +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CCI +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CCI +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CCI +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CCI +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Jeton ( CMOD_CCI ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Jeton ( CMOD_CCI ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Jeton ( CMOD_CCI ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ajout d'un jeton dans SAI_Jeton ( CMOD_CCI ) +procédure AjoutJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer Faux +Suppression d'un jeton dans SAI_Jeton ( CMOD_CCI ) +procédure SuppressionJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer Faux +Clic sur un jeton de SAI_Jeton ( CMOD_CCI ) +procédure ClicJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(MonJeton) +Entrée en saisie d'un jeton de SAI_Jeton ( CMOD_CCI ) +06/08/2026 Batik 3084 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Code des champs +procédure EntreSaisieJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Modification d'un jeton de SAI_Jeton ( CMOD_CCI ) +procédure ModificationJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer Faux +A chaque modification de SAI_Jeton ( CMOD_CCI ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Jeton ( CMOD_CCI ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Envoyer +salib = "Fermer" +Fin d'initialisation de CMOD_Envoyer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Envoyer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Envoyer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Envoyer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Envoyer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Envoyer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Envoyer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Envoyer ) +06/08/2026 Batik 3085 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Envoyer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +bTransfert = Faux +Ferme() +Déclarations globales de CMOD_Objet +salib = "Objet" +Fin d'initialisation de CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Objet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Objet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Objet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Objet ) +06/08/2026 Batik 3086 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Objet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Objet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_PJ +salib = "Pièces jointes" +Fin d'initialisation de CMOD_PJ +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_PJ +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_PJ +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_PJ +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_PJ +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_PJ +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_PJ +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Jeton ( CMOD_PJ ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Jeton ( CMOD_PJ ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Jeton ( CMOD_PJ ) +06/08/2026 Batik 3087 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ajout d'un jeton dans SAI_Jeton ( CMOD_PJ ) +procédure AjoutJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer Faux +Suppression d'un jeton dans SAI_Jeton ( CMOD_PJ ) +procédure SuppressionJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer Faux +Clic sur un jeton de SAI_Jeton ( CMOD_PJ ) +procédure ClicJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(MonJeton) +Entrée en saisie d'un jeton de SAI_Jeton ( CMOD_PJ ) +procédure EntreSaisieJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Modification d'un jeton de SAI_Jeton ( CMOD_PJ ) +procédure ModificationJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer Faux +A chaque modification de SAI_Jeton ( CMOD_PJ ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Jeton ( CMOD_PJ ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SansNom1 +salib = "Compte" +Fin d'initialisation de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +06/08/2026 Batik 3088 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Valider +salib = "Transférer" +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +06/08/2026 Batik 3089 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +bTransfert = Vrai +Ferme() +Modification de la sélection de EDHTML_Corps +procédure ModificationSélection(selectionHTML est un edtHTMLSélection) +Chargement de ressources par EDHTML_Corps +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 +FEN_Email_Inter +Procédures +Procédure locale Filtrer +procédure Filtrer() +si nId > 0 _et_ HLitRecherchePremier(MessageExterne,ME_PKID,nId) alors +06/08/2026 Batik 3090 + +Partie 3 › Fenêtre WINDEV › FEN_Email_Inter › Procédures +FichierVersMémoire(oMsg,MessageExterne) +nIdInter = oMsg:nIDIntervention +SourceVersEcran() +si pas UTF8Valide(oMsg:saMessage) alors +EDHTML_Corps = ChaîneVersUTF8(oMsg:saMessage) +sinon +EDHTML_Corps = oMsg:saMessage +fin +sinon +Ferme() +fin +si nIdInter <= 0 _et_ tbaParametres[Intervention.IN_PKID..Nom]..Existe = Vrai alors +nIdInter = Val(tbaParametres[Intervention.IN_PKID..Nom]) +fin +pour toute chaîne saUnEmail de oMsg:saAdrDestinataires séparée par ";" +si Taille(saUnEmail) > 4 alors +SaisieAjouteJeton(CMOD_A.SAI_Jeton,saUnEmail) +fin +fin +pour toute chaîne saUnEmail de oMsg:saAdrCC séparée par ";" +si Taille(saUnEmail) > 4 alors +SaisieAjouteJeton(CMOD_CC.SAI_Jeton,saUnEmail) +fin +fin +pour toute chaîne saUnEmail de oMsg:saAdrCCI séparée par ";" +si Taille(saUnEmail) > 4 alors +SaisieAjouteJeton(CMOD_CCI.SAI_Jeton,saUnEmail) +fin +fin +pour toute chaîne saUnFichier de oMsg:saListePJ séparée par ";" +si Taille(saUnFichier) > 4 alors +SaisieAjouteJeton(CMOD_PJ.SAI_Jeton,saUnFichier,fExtraitChemin(saUnFichier,fFichier+fExtension) +) +fin +fin +06/08/2026 Batik 3091 + +Partie 3 › Fenêtre WINDEV › FEN_Recherche › Image +FEN_Recherche +Image +FEN_Recherche +Informations générales +FEN_Recherche +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Recherche.wdw +Créé par SMR +06/08/2026 Batik 3092 + +Partie 3 › Fenêtre WINDEV › FEN_Recherche › Informations générales +| Date de création | | 07/10/2025 08:37:00 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 24/03/2026 17:00:10 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Résultat de la recherche +| Position X | 0 Position Y | | 0 Largeur | 1199 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| 06/08/2026 | | | Batik | | 3093 | + +Partie 3 › Fenêtre WINDEV › FEN_Recherche › Informations générales +| 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 | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 2 | Image | | | 4 | +| --- | ---------------------- | --- | --- | ----------------------- | --- | --- | --- | +| | Table | | 1 | Superchamp | | | 1 | +| | Champ Modèle de champs | | 2 | Colonne de table | | | 9 | +| | Case barre de message | | 1 | Rupture de zone répétée | | | 2 | +Nombre d'éléments dans la fenêtre : 22 +FEN_Recherche +Informations sur les champs +Fenêtre : FEN_Recherche +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_BordFen | | 0 | -29 1063 | 29 | 0 | Actif | | +| ------------ | --- | --- | -------- | --- | --- | ----- | ---- | +| CMOD_Table | | 6 | 9 1184 | 632 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 3094 | + +Partie 3 › Fenêtre WINDEV › FEN_Recherche › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | | | 0 | -29 | 1063 | 30 | 0 | | Actif | | +| ----------- | --- | --- | --- | --- | ---- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --------------------- | --- | --------------- | --- | ------------ | --- | ------------- | ------------- | ---------- | +| | | | | | | laitini tatE | | | | FTR tamroF | +| | | X noitisoP Y noitisoP | | | | | | | | | +| | | | | ruegraL ruetuaH | | | | | | | +elbisiV +nalP +| LIB_Libellé | | 91 | -27 | 940 25 | 0 | Actif | Gauche | | Centre | | +| ----------- | --- | --- | --- | ------ | --- | ----- | ------ | --- | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | --------- | --- | +| | | | | ruegraL | ruetuaH | | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | | 1031 | -26 | 28 | 23 | 0 | Actif | | | | +| -------------------------- | --- | ---- | --- | --- | --- | --- | ----- | --- | --- | --- | +| IMG_InformationAide | | 61 | -26 | 28 | 23 | 0 | Actif | | | | +| IMG_Logo_secondaire_violet | | 2 | -27 | 34 | 26 | 0 | Actif | | | | +| IMG_SombreClair | | 38 | -26 | 21 | 23 | 0 | Actif | | | | +Champ Modèle de champs : CMOD_Table +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 | | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | | +ruegraL +| | | | | elbisiV | elbaT | | | | | | +| --- | --- | --- | --- | ------- | ----- | --- | --- | --- | --- | --- | +nalP +| TABLE_Info | 8 11 | 1178 626 | 0 | affichag | Mémoir | | | | | 3 | +| ---------- | ---- | -------- | --- | -------- | ------ | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | | 3095 | + +Partie 3 › Fenêtre WINDEV › FEN_Recherche › Informations sur les champs +Table : CMOD_Table.TABLE_Info +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| LIB_Rub | 40 | 16 1119 | 26 | 0 Actif | Gauche | Centre | | +| ------- | --- | ------- | --- | ------- | ------ | ------ | --- | +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC +| | | ehcuag à eéxiF | | ehcrehcer cevA | | | | +| --- | --- | -------------- | --- | --------------------------- | --- | --- | --- | +| | | | | .zroh egardaC .trev egardaC | | | | +FTR tamroF +| | | laitini tatE | elbaçalpéD | | eisias epyT | engilitluM | eisias cevA | +| --- | --- | ------------ | ---------- | --- | ----------- | ---------- | ----------- | +ruegraL +elbisiV +| epyT | | | | | | | eéirT | +| -------- | --- | -------- | --- | ------------- | ------- | --- | ----- | +| COL_PKID | 880 | Grisé | | Droite Centre | Numériq | | | +| COL_Type | 100 | Grisé | | Gauche Centre | Texte | | | +| COL_Col1 | 150 | affichag | | Gauche Centre | Texte | | | +| COL_Col2 | 160 | Actif | | Gauche Centre | Texte | | | +| COL_Col3 | 179 | affichag | | Gauche Centre | Texte | | | +| COL_Col4 | 181 | affichag | | Gauche Centre | Texte | | | +| COL_Col5 | 177 | affichag | | Gauche Centre | Texte | | | +| COL_Col6 | 305 | affichag | | Gauche Centre | Texte | | | +Numériq +| COL_Id_2 | 100 | Grisé | | Droite Centre | | | | +| -------- | --- | ----- | --- | ------------- | --- | --- | --- | +Rupture de zone répétée +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +RUPT_BasRupture1 +RUPT_HautRupture1 +Fenêtre : FEN_Recherche +| 06/08/2026 | | | Batik | | | | 3096 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Recherche › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Table +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3097 + +Partie 3 › Fenêtre WINDEV › FEN_Recherche › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 3098 + +Partie 3 › Fenêtre WINDEV › FEN_Recherche › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 3099 + +Partie 3 › Fenêtre WINDEV › FEN_Recherche › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 +06/08/2026 Batik 3100 + +Partie 3 › Fenêtre WINDEV › FEN_Recherche › Informations sur les champs +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 +06/08/2026 Batik 3101 + +Partie 3 › Fenêtre WINDEV › FEN_Recherche › Informations sur les champs +Ancrage Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Table +Table : CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 3102 + +Partie 3 › Fenêtre WINDEV › FEN_Recherche › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : CMOD_Table.TABLE_Info +Rupture de zone répétée : CMOD_Table.TABLE_Info.RUPT_HautRupture1 (1) +Toujours visible Non +Attribut de rupture 1 +06/08/2026 Batik 3103 + +Partie 3 › Fenêtre WINDEV › FEN_Recherche › Informations sur les champs +Libellé : CMOD_Table.TABLE_Info.RUPT_HautRupture1.LIB_Rub +Libellé FR: Libellé +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 Tenir compte du cadrage +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : CMOD_Table.TABLE_Info.RUPT_BasRupture1 (2) +Toujours visible Non +Attribut de rupture 1 +06/08/2026 Batik 3104 + +Partie 3 › Fenêtre WINDEV › FEN_Recherche › Informations sur les champs +Colonne de table : CMOD_Table.TABLE_Info.COL_PKID (3) +Titre FR: PKID +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 : CMOD_Table.TABLE_Info.COL_Type (4) +Titre FR: Type +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +06/08/2026 Batik 3105 + +Partie 3 › Fenêtre WINDEV › FEN_Recherche › 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 : CMOD_Table.TABLE_Info.COL_Col1 (5) +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 160 Taux anc. hauteur 1000 +06/08/2026 Batik 3106 + +Partie 3 › Fenêtre WINDEV › FEN_Recherche › Informations sur les champs +Colonne de table : CMOD_Table.TABLE_Info.COL_Col2 (6) +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 160 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table.TABLE_Info.COL_Col3 (7) +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 +06/08/2026 Batik 3107 + +Partie 3 › Fenêtre WINDEV › FEN_Recherche › Informations sur les champs +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 160 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table.TABLE_Info.COL_Col4 (8) +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 200 Taux anc. hauteur 1000 +06/08/2026 Batik 3108 + +Partie 3 › Fenêtre WINDEV › FEN_Recherche › Informations sur les champs +Colonne de table : CMOD_Table.TABLE_Info.COL_Col5 (9) +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 160 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table.TABLE_Info.COL_Col6 (10) +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 +06/08/2026 Batik 3109 + +Partie 3 › Fenêtre WINDEV › FEN_Recherche › Informations sur les champs +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 160 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table.TABLE_Info.COL_Id_2 (11) +Titre FR: Id_2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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_Recherche +Code +Déclarations globales de FEN_Recherche +06/08/2026 Batik 3110 + +Partie 3 › Fenêtre WINDEV › FEN_Recherche › Code +procédure FEN_Recherche(saAliasFen est une chaîne ANSI,tbResultat est un tableau de ST_RechercheGlobal, +saRecherche est une chaîne ANSI) +MoiMême..Alias = saAliasFen +Fin d'initialisation de FEN_Recherche +Filtrer() +FEN_Recherche +Code des champs +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +06/08/2026 Batik 3111 + +Partie 3 › Fenêtre WINDEV › FEN_Recherche › Code des champs +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3112 + +Partie 3 › Fenêtre WINDEV › FEN_Recherche › Code des champs +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SelLigne() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +06/08/2026 Batik 3113 + +Partie 3 › Fenêtre WINDEV › FEN_Recherche › Procédures +FEN_Recherche +Procédures +Procédure locale Filtrer +procédure Filtrer() +TableSupprimeTout(TABLE_Info) +i est un entier +LIB_Libellé = "Résultat de la recherche pour : "+SansEspace(saRecherche,sscExtérieur)+" ("+tbResultat.. +Occurrence+")" +pour tout stRels de tbResultat +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = stRels.nPKID +COL_Id_2[i] = stRels.nID_2 +COL_Type[i] = stRels.satype +COL_Col1[i] = stRels.saInfo_1 +COL_Col2[i] = stRels.saInfo_2 +COL_Col3[i] = stRels.saInfo_3 +COL_Col4[i] = stRels.saInfo_4 +COL_Col5[i] = stRels.saInfo_5 +COL_Col6[i] = stRels.saInfo_6 +selon stRels.saType +cas Intervention.Nom +TABLE_Info[i].LIB_Rub = "Liste des interventions" +cas Lieu.Nom +TABLE_Info[i].LIB_Rub = "Liste des sites" +cas Client.Nom +TABLE_Info[i].LIB_Rub = "Liste des clients" +cas Personne.Nom +TABLE_Info[i].LIB_Rub = "Liste des contacts" +autre cas +fin +fin +TableEnrouleTout(TABLE_Info) +Procédure locale SelLigne +procédure SelLigne() +i est un entier = TABLE_Info +si i > 0 et COL_PKID[i] > 0 alors +saType est une chaîne ANSI = COL_Type[i] +tbaParamest un tableau associatif de chaînes ANSI +selon saType +cas Intervention.Nom +tbaParam[Dossier.DO_PKID..Nom] = COL_Id_2[i] +tbaParam[Intervention.IN_PKID..Nom] = COL_PKID[i] +tbaParam[cParam_IdFen] = COL_Id_2[i] +OuvreFenSouers("FEN_Fiche_Dossier",tbaParam) +06/08/2026 Batik 3114 + +Partie 3 › Fenêtre WINDEV › FEN_Recherche › Procédures +cas Lieu.Nom +tbaParam[Lieu.LI_PKID..Nom] = COL_PKID[i] +tbaParam[cParam_IdFen] = COL_PKID[i] +OuvreFenSouers("FEN_Fiche_Site",tbaParam) +cas Client.Nom +tbaParam[Client.CL_PKID..Nom] = COL_PKID[i] +tbaParam[cParam_IdFen] = COL_PKID[i] +OuvreFenSouers("FEN_Fiche_Client",tbaParam) +cas Personne.Nom +tbaParam[Personne.PE_PKID..Nom] = COL_PKID[i] +tbaParam[cParam_IdFen] = COL_PKID[i] +OuvreFenSouers("FEN_Fiche_Contact",tbaParam) +autre cas +renvoyer Faux +fin +fin +06/08/2026 Batik 3115 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Image +FEN_Fiche_Action +Image +FEN_Fiche_Action +Informations générales +FEN_Fiche_Action +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Fiche_Action.wdw +| Créé par | | SMR | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Date de création | | 07/10/2025 14:43:20 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 05/03/2026 19:26:27 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Fiche d’action d’intervention +| Position X | 0 Position Y | | 0 Largeur | 590 Hauteur | 324 | +| ---------------- | ------------ | -------------------- | --------- | --------------- | ---- | +| 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 | | +| 06/08/2026 | | | Batik | | 3116 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Informations générales +| Déplace/fond | Sauve position | | Ascenseur auto. | | +| --------------------- | -------------- | --- | --------------- | --- | +| Gestion grande police | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | Actif | | | | +| ------------------------------- | ----------------------------------- | --- | --- | --- | +| Curseur survol | 0 | | | | +| Copie d'écran | Oui | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | <Aucun> | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Oui | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Non | | | | +| 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. | Oui | | | | +| Grisé : Algo pour images | <Défaut> | | | | +| Style du menu | Windows 11 | | | | +| 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 | 32 | | | | +| Pos. Y Menu | 2 | | | | +| 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 | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +| 06/08/2026 | | Batik | | 3117 | +| ---------- | --- | ----- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | 4 | Libellé | | | 1 | +| --- | ---------------------- | --- | --- | --------------------- | --- | --- | --- | +| | Bouton | | 2 | Image | | | 4 | +| | Combo | | 1 | Superchamp | | | 1 | +| | Champ Modèle de champs | | 8 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 22 +FEN_Fiche_Action +Informations sur les champs +Fenêtre : FEN_Fiche_Action +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Annuler | | 295 | 1 141 | 35 | 0 | Actif | | +| ---------------- | --- | --- | ------- | --- | --- | ----- | --- | +| CMOD_BordFen | | 0 | -29 458 | 29 | 0 | Actif | | +| CMOD_Date | | 7 | 44 119 | 53 | 0 | Actif | | +| CMOD_Description | | 7 | 166 578 | 100 | 0 | Actif | | +| CMOD_Heure | | 134 | 44 68 | 53 | 0 | Actif | | +| CMOD_Qui | | 210 | 44 375 | 53 | 0 | Actif | | +| CMOD_Type | | 7 | 105 578 | 53 | 0 | Actif | | +| CMOD_Valider | | 444 | 1 141 | 35 | 0 | Actif | | +Champ Modèle de champs : CMOD_Annuler +Bouton +BAT ehcuoT notuob epyT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL ruetuaH | | | | | +| --- | --- | --- | --------------- | --- | --- | --- | --- | +elbisiV +nalP +| BTN_Annuler | | 295 1 | 141 35 | 0 | Actif | Normal | | +| ----------- | --- | ----- | ------ | --- | ----- | ------ | ---- | +| 06/08/2026 | | | Batik | | | | 3118 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | | ruegraL | | | | elbisiV | | | +| --- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | | | | 0 | -29 | | 458 | 30 | | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | | | ruegraL | | ruetuaH | | | | | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libellé | | 91 | | -27 | 335 | 25 | 0 | | Actif | Gauche | Centre | | +| ----------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | +| --- | --- | --- | ---------- | ---------- | ------- | --- | ------- | --- | --- | ------------ | --------- | --- | +| | | | | | ruegraL | | ruetuaH | | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | | | 426 | -26 | | 28 | 23 | 0 | | Actif | | | +| -------------------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | | | 61 | -26 | | 28 | 23 | 0 | | Actif | | | +| IMG_Logo_secondaire_violet | | | 2 | -27 | | 34 | 26 | 0 | | Actif | | | +| IMG_SombreClair | | | 38 | -26 | | 21 | 23 | 0 | | Actif | | | +Champ Modèle de champs : CMOD_Date +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_Texte | 7 44 | 119 | 53 | 0 | Actif | | Date | | Non | | | | +| ---------- | ---- | --- | --- | --- | ----- | ----- | ---- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | | | Batik | | | | | | 3119 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Informations sur les champs +Champ Modèle de champs : CMOD_Description +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_Texte | 7 166 | 578 100 | 0 | Actif | Texte | | Non | | | +| --------- | ----- | ------- | --- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Heure +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_Texte | 134 44 | 68 53 | 0 | Actif | Heure | | Non | | | +| --------- | ------ | ----- | --- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Qui +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_Texte | 210 44 | 375 53 | 0 | affichag | Texte | | Non | | | +| ---------- | ------ | ------ | --- | -------- | ----- | --- | --- | --- | ---- | +| 06/08/2026 | | | | | Batik | | | | 3120 | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Informations sur les champs +Champ Modèle de champs : CMOD_Type +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_Combo | 7 105 578 | 53 | 0 Actif | Mémoire | Non | | +| --------- | --------- | --- | ------- | ------- | --- | --- | +Champ Modèle de champs : CMOD_Valider +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| BTN_Valider | 444 | 1 | 141 35 | 0 | Actif | Normal | +| ----------- | --- | --- | ------ | --- | ----- | ------ | +Fenêtre : FEN_Fiche_Action +Champ Modèle de champs : CMOD_Annuler +| Ordre navigation | 2 | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Curseur survol | 0 | | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +Facteur d'agrandissement +0 +| Ancrage | <Aucun> | | | | | | +| ------- | ------- | --- | --- | --- | --- | --- | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Batik | | | 3121 | +| ---------- | --- | --- | ----- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Date +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3122 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Informations sur les champs +Champ Modèle de champs : CMOD_Description +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Heure +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3123 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Informations sur les champs +Champ Modèle de champs : CMOD_Qui +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Type +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3124 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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 +06/08/2026 Batik 3125 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › 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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 458 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3126 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 3127 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 3128 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 3129 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Date +Champ de saisie : CMOD_Date.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +06/08/2026 Batik 3130 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Informations sur les champs +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 7 +Largeur interne 119 +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: JJ/MM/AAAA +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> +06/08/2026 Batik 3131 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Informations sur les champs +Liaison des données :oUneAction.dDateAction +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Description +Champ de saisie : CMOD_Description.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 8 +Largeur interne 577 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +Visualisation markdown Non +06/08/2026 Batik 3132 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › 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, non 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> +Liaison des données :oUneAction.saDescription +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3133 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Informations sur les champs +Champ Modèle de champs : CMOD_Heure +Champ de saisie : CMOD_Heure.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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. Droite +Position X interne 134 +Largeur interne 68 +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 +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 +06/08/2026 Batik 3134 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Informations sur les champs +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> +Liaison des données :oUneAction.hHeureAction +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Qui +Champ de saisie : CMOD_Qui.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +06/08/2026 Batik 3135 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Informations sur les champs +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 210 +Largeur interne 375 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 3136 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Type +Combo : CMOD_Type.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 578 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 7 +Largeur interne 578 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Batik 3137 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Informations sur les champs +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 Oui +Liaison des données :oUneAction.saCleTypeAction +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3138 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3139 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Code +FEN_Fiche_Action +Code +Déclarations globales de FEN_Fiche_Action +procédure FEN_Fiche_Action(tbaParametres est un tableau associatif de chaînes ANSI) +MoiMême..Alias = tbaParametres[cParam_Alias] +nId est un entier sur 8 octets = tbaParametres[cParam_IdFen] +oUneAction est un MAction_Inter +bModif est un booléen +Fin d'initialisation de FEN_Fiche_Action +Filtrer() +Fermeture de FEN_Fiche_Action +renvoyer (bModif,nId) +FEN_Fiche_Action +Code des champs +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +06/08/2026 Batik 3140 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +bModif = Faux +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_SansNom1 +06/08/2026 Batik 3141 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Déclarations globales de CMOD_Date +salib = "Date" +Fin d'initialisation de CMOD_Date +06/08/2026 Batik 3142 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Date ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Description +salib = "Description" +Fin d'initialisation de CMOD_Description +06/08/2026 Batik 3143 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Description +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Description ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Description ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Description ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Description ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Description ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Heure +saLib = "Heure" +Fin d'initialisation de CMOD_Heure +06/08/2026 Batik 3144 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Heure +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Heure +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Heure +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Heure +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Heure +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Heure +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Heure ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Heure ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Heure ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Heure ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Heure ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Qui +salib = "Collaborateur" +Fin d'initialisation de CMOD_Qui +06/08/2026 Batik 3145 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Qui +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Qui +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Qui +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Qui +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Qui +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Qui +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Qui ) (modèle MDLC_SaisieSansModif) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Qui ) (modèle MDLC_SaisieSansModif) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Type +salib = "Type" +Fin d'initialisation de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Type +06/08/2026 Batik 3146 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême..NomComplet,cParam_TypeAction) +Entrée dans CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +06/08/2026 Batik 3147 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Enregistrer() +FEN_Fiche_Action +Procédures +Procédure locale Enregistrer +procédure Enregistrer() +EcranVersSource() +si SansEspace(oUneAction:saCleTypeAction) = "" alors +Info("Le type d'action est obligatoire") +RepriseSaisie(CMB_Combo) +renvoyer Faux +fin +si tbaParametres[Intervention.IN_PKID..Nom]..Existe = Vrai _et_ tbaParametres[Intervention.IN_PKID..Nom +] > 0 alors +oUneAction:nIDIntervention = Val(tbaParametres[Intervention.IN_PKID..Nom]) +fin +si oUneAction:Enregistrer() alors +nId = oUneAction:nPKID +bModif = Vrai +06/08/2026 Batik 3148 + +Partie 3 › Fenêtre WINDEV › FEN_Fiche_Action › Procédures +Ferme() +fin +Procédure locale Filtrer +procédure Filtrer() +si nId <= 0 alors +oUneAction:dDateAction = DateSys() +oUneAction:hHeureAction = HeureSys() +oUneAction:nIDQui = CollaborateurEnCours:nPKID +sinon +si HLitRecherchePremier(Action,AC_PKID,nId) alors +FichierVersMémoire(oUneAction,Action) +sinon +Info("Action introuvable") +Ferme() +fin +fin +si oUneAction:nIDQui > 0 _et_ gtabListeCollaborateurs[oUneAction:nIDQui]..Existe alors +CMOD_Qui.SAI_Texte = gtabListeCollaborateurs[oUneAction:nIDQui].NomPrenom() +fin +SourceVersEcran() +06/08/2026 Batik 3149 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Menu › Image +FEN_Tableau_Bord_Menu +Image +FEN_Tableau_Bord_Menu +Informations générales +FEN_Tableau_Bord_Menu +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Tableau_Bord_Menu.wdw +Créé par SMR +06/08/2026 Batik 3150 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Menu › Informations générales +| Date de création | | 08/10/2025 15:22:52 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 03/04/2026 11:22:19 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Tableau de bord (Menu principal) +| Position X | 0 Position Y | | 0 Largeur | 1199 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| 06/08/2026 | | | Batik | | 3151 | + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Menu › Informations générales +| 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 | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 1 | Bouton | | | 3 | +| --- | -------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Image | | 4 | Onglet | | | 1 | +| | Superchamp | | 1 | Champ Modèle de champs | | | 5 | +| | Option de menu | | 2 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 18 +FEN_Tableau_Bord_Menu +Informations sur les champs +Fenêtre : FEN_Tableau_Bord_Menu +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Annuler | | 901 | 3 141 | 35 | 0 | Actif | | +| ------------- | --- | ---- | -------- | --- | --- | ----- | ---- | +| CMOD_BordFen | | 0 | -29 1063 | 29 | 0 | Actif | | +| CMOD_Onglet | | 5 | 40 1186 | 602 | 0 | Actif | | +| CMOD_Retablir | | 598 | 3 295 | 35 | 0 | Actif | | +| CMOD_Valider | | 1050 | 3 141 | 35 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 3152 | + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Menu › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Annuler | 901 | 3 | 141 | 35 | 0 | Actif | | Normal | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Libellé | 91 | -27 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +| | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------------------- | ----------------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_AideFenetre | 1031 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | ---- | --- | ----- | --- | --- | ----- | --- | ---- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +| 06/08/2026 | | | Batik | | | | | 3153 | + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Menu › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet +Onglet +slennoitroporp steloV +engil/stelov .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | stelov .soP | | +| --- | --------------------- | --- | --- | ------------ | ----------- | --- | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| ONG_Onglet | 5 40 | 1186 602 | 0 | Actif | haut | 0 | +| ---------- | ---- | -------- | --- | ----- | ---- | --- | +Champ Modèle de champs : CMOD_Retablir +Bouton +BAT ehcuoT notuob epyT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| BTN_Valider | 598 | 3 295 | 35 | 0 | Actif | Normal | +| ----------- | --- | ----- | --- | --- | ----- | ------ | +Champ Modèle de champs : CMOD_Valider +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| BTN_Valider | 1050 | 3 141 | 35 | 0 | Actif | Normal | +| ----------- | ---- | ----- | --- | --- | ----- | ------ | +Fenêtre : FEN_Tableau_Bord_Menu +| 06/08/2026 | | Batik | | | | 3154 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Menu › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +06/08/2026 Batik 3155 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Menu › Informations sur les champs +Champ Modèle de champs : CMOD_Onglet +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Retablir +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3156 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Menu › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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 +06/08/2026 Batik 3157 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3158 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Menu › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 3159 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Menu › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 3160 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Menu › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 3161 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Menu › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Onglet +Onglet : CMOD_Onglet.ONG_Onglet +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Onglet +Valeur initiale 1 +Ordre navigation 1 +Curseur survol 0 +Onglet dynamique Oui +Libellé volet FR: Nouvel onglet +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 3162 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Menu › Informations sur les champs +Menu contextuel MENU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Retrait gauche 0 +Retrait des onglets 0 +Numéro aide 0 +Autorise ChangeGabarit Oui +Bouton Fermer Oui +Bouton Nouveau Oui +Volets détachables Non +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. Au début +Nb. états image 1 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Retablir +Bouton : CMOD_Retablir.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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 +06/08/2026 Batik 3163 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Menu › Informations sur les champs +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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é) +06/08/2026 Batik 3164 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Menu › Informations sur les champs +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Tableau_Bord_Menu +Informations sur les menus +Menu contextuel : 'MENU_Options' +Nom des options +OPT_ModifierNom (2) +Libellé des options : Français +Modifier le nom de l'onglet +FEN_Tableau_Bord_Menu +Code +Déclarations globales de FEN_Tableau_Bord_Menu +06/08/2026 Batik 3165 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Menu › Code +procédure FEN_Tableau_Bord_Menu() +MoiMême..Alias = FEN_Tableau_Bord_Menu +MoiMême..Titre = "Paramétrage de la fenêtre menu" +tbaTableauAlias est un tableau associatif de chaînes ANSI +tbWidgets est un tableau de ST_WidgetParam +Maximise() +Fin d'initialisation de FEN_Tableau_Bord_Menu +Filtrer() +FEN_Tableau_Bord_Menu +Code des champs +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +06/08/2026 Batik 3166 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Menu › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +06/08/2026 Batik 3167 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Menu › Code des champs +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Onglet +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Création d'un volet dans ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +saAlias est une chaîne ANSI = ONG_Onglet[ONG_Onglet].Alias +saNomVolet est une chaîne ANSI +RetourValeur est un entier +RetourValeur = Saisie("Veuillez saisir le nom du nouvel onglet", saNomVolet) +si RetourValeur = 0 alors +saNomVolet = "" +fin +si saNomVolet = "" alors +renvoyer Faux +fin +saAlias = OngletOuvre(ONG_Onglet,saNomVolet,FI_TableauBordModelMenu,"") +06/08/2026 Batik 3168 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Menu › Code des champs +si saAlias <> "" alors +tbaTableauAlias[saAlias] = saNomVolet +fin +renvoyer Faux +Fermeture d'un volet de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +saAlias est une chaîne ANSI = ONG_Onglet[ONG_Onglet].Alias +si tbaTableauAlias[saAlias]..Existe alors +TableauSupprime(tbaTableauAlias,saAlias) +fin +renvoyer Vrai +Modification du volet affiché de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de ONG_Onglet ( CMOD_Onglet ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Retablir +salib = "Rétablir la configuration par défaut" +Fin d'initialisation de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Retablir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Retablir +06/08/2026 Batik 3169 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Menu › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Retablir ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Retablir ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +RetablirConfiguration() +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +Ferme() +fin +Sélection du menu de MENU_Options.OPT_ModifierNom +06/08/2026 Batik 3170 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Menu › Code des champs +ModifierNomOnglet() +FEN_Tableau_Bord_Menu +Procédures +Procédure locale AjoutWidgetInterFiltre +procédure AjoutWidgetInterFiltre(sNomWidget est une chaîne ANSI) +UnWidget est un ST_WidgetParam +nPos est un entier +saLib est une chaîne ANSI = ONG_Onglet[ONG_Onglet].Libellé +selon sNomWidget +cas "FI_Ele_Inter_Filtres" +UnWidget = Ouvre(FEN_Filtre_Dossier_Widget) +nPos = TableauCherche(tbWidgets,tcLinéaire,"sFenetre;sOnglet","FI_Ele_Inter_Filtres",saLib) +si nPos <= 0 alors +stUnWg est un ST_WidgetParam +nPos = TableauAjoute(tbWidgets,stUnWg) +fin +si nPos > 0 alors +tbWidgets[nPos].sOnglet = saLib +tbWidgets[nPos].sFenetre = sNomWidget +tbWidgets[nPos].tbFiltres = UnWidget.tbFiltres +tbWidgets[nPos].sTitreWidget = UnWidget.sTitreWidget +fin +autre cas +fin +Procédure locale Enregistrer +procédure Enregistrer() +tbaConfig est un tableau associatif (AvecDoublon) de chaînes ANSI +saConfigest une chaîne ANSI +pour tout saLib, saUnAlias de tbaTableauAlias +saConfig = "" +ExécuteTraitement(saUnAlias+".DonneConfig",trtProcédure,saConfig) +si saConfig <> "" alors +tbaConfig[saLib] = saConfig +fin +fin +bufJson est un Buffer +si tbaConfig..Occurrence > 0 alors +Sérialise(tbaConfig,bufJson,psdJSON) +fin +si CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Menu]..Existe alors +CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Menu].saValeur = +06/08/2026 Batik 3171 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Menu › Procédures +bufJson +si pas CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Menu]. +DateEnregistre() alors +renvoyer Faux +fin +sinon +oUnParam est un MParametreUtilisateur +oUnParam.saCode = MParametreUtilisateur::cTdB_Menu +oUnParam.saValeur = bufJson +oUnParam.nIDUtilisateur = CollaborateurEnCours.nIdUser +si pas oUnParam:DateEnregistre() alors +renvoyer Faux +fin +CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Menu] = oUnParam +fin +bufJson = "" +si tbWidgets..Occurrence > 0 alors +Sérialise(tbWidgets,bufJson,psdJSON) +fin +si CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Menu_Widgets]..Existe +alors +CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Menu_Widgets].saValeur += bufJson +si tbWidgets..Occurrence > 0 alors +si pas CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur:: +cTdB_Menu_Widgets].DateEnregistre() alors +renvoyer Faux +fin +sinon +si pas CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur:: +cTdB_Menu_Widgets].DateSupprime() alors +renvoyer Faux +fin +fin +sinon +si tbWidgets..Occurrence <= 0 alors +renvoyer Vrai +fin +oUnParam est un MParametreUtilisateur +oUnParam.saCode = MParametreUtilisateur::cTdB_Menu_Widgets +oUnParam.saValeur = bufJson +oUnParam.nIDUtilisateur = CollaborateurEnCours.nIdUser +si pas oUnParam:DateEnregistre() alors +renvoyer Faux +fin +CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Menu_Widgets] = +oUnParam +fin +renvoyer Vrai +Procédure locale Filtrer +procédure Filtrer() +TableauSupprimeTout(tbaTableauAlias) +TableauSupprimeTout(tbWidgets) +06/08/2026 Batik 3172 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Menu › Procédures +ONG_Onglet..AffichageActif = Faux +tbaConfig est un tableau associatif (AvecDoublon) de chaînes ANSI = CollaborateurEnCours: +clUtilisateur:TdB_Fen_Menu() +tbWidgets = CollaborateurEnCours:clUtilisateur:TDB_Menu_Filtres() +saAlias est une chaîne ANSI +pour tout saConfig, saCle de tbaConfig +saAlias = OngletOuvre(ONG_Onglet,saCle,FI_TableauBordModelMenu,saConfig,saCle) +si saAlias <> "" alors +tbaTableauAlias[saAlias] = saCle +fin +fin +ONG_Onglet..AffichageActif = Vrai +Procédure locale ModifierNomOnglet +procédure ModifierNomOnglet() +saAlias est une chaîne ANSI = ONG_Onglet[ONG_Onglet].Alias +saNomVolet est une chaîne ANSI +si saAlias <> "" alors +saNomVolet = tbaTableauAlias[saAlias] +fin +sNomVoletAvant est une chaîne ANSI = saNomVolet +Saisie("Veuillez saisir le nouveau nom de l'onglet", saNomVolet) +si saNomVolet = "" alors +renvoyer Faux +fin +si saAlias <> "" alors +tbaTableauAlias[saAlias] = saNomVolet +ONG_Onglet[ONG_Onglet].Libellé= saNomVolet +si sNomVoletAvant <> saNomVolet alors +pour tout stUnWidget de tbWidgets +si stUnWidget.sOnglet = sNomVoletAvant alors +stUnWidget.sOnglet = saNomVolet +fin +fin +fin +fin +renvoyer Faux +Procédure locale RetablirConfiguration +procédure RetablirConfiguration() +ONG_Onglet..AffichageActif = Faux +OngletFermeTout(ONG_Onglet) +tbaNouvelleConfigest un tableau associatif (AvecDoublon) de chaînes ANSI +tbaNouvelleConfig[MParametreUtilisateur::cTdB_Menu] = cParamTdB_Menu +tbaNouvelleConfig[MParametreUtilisateur::cTdB_MenuRDV] = cParamTdB_MenuRDV +saAliaso est une chaîne ANSI +TableauSupprimeTout(tbaTableauAlias) +TableauSupprimeTout(tbWidgets) +pour tout saConfig, saCle de tbaNouvelleConfig +saAliaso = OngletOuvre(ONG_Onglet,saCle,FI_TableauBordModelMenu,saConfig) +06/08/2026 Batik 3173 + +Partie 3 › Fenêtre WINDEV › FEN_Tableau_Bord_Menu › Procédures +si saAliaso <> "" alors +tbaTableauAlias[saAliaso] = saCle +fin +fin +ONG_Onglet..AffichageActif = Vrai +Procédure locale SupprimerWidget +procédure SupprimerWidget(sNomWidget est une chaîne ANSI) +nPos est un entier +saLib est une chaîne ANSI = ONG_Onglet[ONG_Onglet].Libellé +selon sNomWidget +cas "FI_Ele_Inter_Filtres" +nPos = TableauCherche(tbWidgets,tcLinéaire,"sFenetre;sOnglet","FI_Ele_Inter_Filtres",saLib) +si nPos > 0 alors +TableauSupprime(tbWidgets,nPos) +fin +autre cas +fin +06/08/2026 Batik 3174 + +Partie 3 › Fenêtre WINDEV › FEN_Theme_Colb › Image +FEN_Theme_Colb +Image +FEN_Theme_Colb +Informations générales +FEN_Theme_Colb +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Theme_Colb.wdw +Créé par SMR +Date de création 16/10/2025 15:46:08 +Dernière modification par susana@applilogik.fr +Date dernière modification 05/03/2026 19:26:14 +Titre FR: Thème +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +Note pour la documentation technique +FR: Personnalisation du thème +Position X 0 Position Y 0 Largeur 525 Hauteur 413 +06/08/2026 Batik 3175 + +Partie 3 › Fenêtre WINDEV › FEN_Theme_Colb › Informations générales +| Visible | Barre de titre | | Menu système | | +| --------------------- | -------------------- | --- | --------------- | --- | +| Icône réduction | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | Détourer le fond | | Mode 9 images | | +| Redimensionnable | Avec grip | | Grip dans image | | +| Déplace/fond | Sauve position | | Ascenseur auto. | | +| Gestion grande police | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | Actif | | | | +| ------------------------------- | ----------------------------------- | --- | --- | --- | +| Curseur survol | 0 | | | | +| Copie d'écran | Oui | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | <Aucun> | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Oui | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Non | | | | +| 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. | Oui | | | | +| Grisé : Algo pour images | <Défaut> | | | | +| Style du menu | Windows 11 | | | | +| 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 | 32 | | | | +| Pos. Y Menu | 2 | | | | +| 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 | | | | +| ---------------------- | --- | --- | --- | --- | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +| 06/08/2026 | | Batik | | 3176 | +| ---------- | --- | ----- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Theme_Colb › Informations générales +Statistiques de la fenêtre +| | Libellé | | 1 | Bouton | | | 2 | +| --- | ---------------------- | --- | --- | ------------------------- | --- | --- | --- | +| | Image | | 5 | Superchamp | | | 1 | +| | Champ Modèle de champs | | 4 | Case barre de message | | | 1 | +| | Bouton segmenté | | 1 | Option de bouton segmenté | | | 2 | +Nombre d'éléments dans la fenêtre : 17 +FEN_Theme_Colb +Informations sur les champs +Fenêtre : FEN_Theme_Colb +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --- | --------------------- | ------- | --- | ------------ | --------- | ---------- | +| | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Couleur | | 159 135 | 205 209 | 0 | Actif | | | +| ----------- | --- | ------- | ------- | --- | ----- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_Annuler | | 228 | 8 141 | 35 | 0 | Actif | | +| ------------ | --- | --- | ------- | --- | --- | ----- | ---- | +| CMOD_BordFen | | 0 | -29 387 | 29 | 0 | Actif | | +| CMOD_Theme | | 154 | 69 214 | 39 | 0 | Actif | | +| CMOD_Valider | | 377 | 8 141 | 35 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 3177 | + +Partie 3 › Fenêtre WINDEV › FEN_Theme_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Annuler +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +| | X noitisoP | Y noitisoP | | | | | | | +| --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Annuler | 228 | 8 | 141 | 35 | 0 | Actif | | Normal | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 387 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Libellé | 91 | -27 264 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +| | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------------------- | ----------------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_AideFenetre | 355 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | --- | --- | ----- | --- | --- | ----- | --- | ---- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +| 06/08/2026 | | | Batik | | | | | 3178 | + +Partie 3 › Fenêtre WINDEV › FEN_Theme_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Theme +Bouton segmenté +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| BS_Choix | 154 | 69 214 | 39 | 0 | Actif | | +| -------- | --- | ------ | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Valider +Bouton +BAT ehcuoT notuob epyT +| | X noitisoP Y noitisoP | | | laitini tatE | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Valider | 377 8 | 141 35 | 0 | Actif | Normal | | +| ----------- | ----- | ------ | --- | ----- | ------ | --- | +Fenêtre : FEN_Theme_Colb +Champ Modèle de champs : CMOD_Annuler +| Ordre navigation | 2 | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Curseur survol | 0 | | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +| Facteur d'agrandissement | 0 | | | | | | +| Ancrage | Droite | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Batik | | | | 3179 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Theme_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Theme +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3180 + +Partie 3 › Fenêtre WINDEV › FEN_Theme_Colb › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : IMG_Couleur +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 +06/08/2026 Batik 3181 + +Partie 3 › Fenêtre WINDEV › FEN_Theme_Colb › Informations sur les champs +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +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 Largeur +06/08/2026 Batik 3182 + +Partie 3 › Fenêtre WINDEV › FEN_Theme_Colb › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 387 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 3183 + +Partie 3 › Fenêtre WINDEV › FEN_Theme_Colb › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +06/08/2026 Batik 3184 + +Partie 3 › Fenêtre WINDEV › FEN_Theme_Colb › Informations sur les champs +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 +06/08/2026 Batik 3185 + +Partie 3 › Fenêtre WINDEV › FEN_Theme_Colb › Informations sur les champs +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +06/08/2026 Batik 3186 + +Partie 3 › Fenêtre WINDEV › FEN_Theme_Colb › 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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Theme +Bouton segmenté : CMOD_Theme.BS_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Ordre navigation 1 +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é) +Espace entre options 4 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit 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 +Valeur persistante Non +Mode bouton segmenté Sélecteur +Texte Markdown Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 3187 + +Partie 3 › Fenêtre WINDEV › FEN_Theme_Colb › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +06/08/2026 Batik 3188 + +Partie 3 › Fenêtre WINDEV › FEN_Theme_Colb › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Theme_Colb +Code +Déclarations globales de FEN_Theme_Colb +procédure FEN_Theme_Colb() +IMG_SombreClair..Visible = Faux +stTheme est un ST_Theme = CollaborateurEnCours:ThemeColb() +Fin d'initialisation de FEN_Theme_Colb +BS_Choix = DonneOuiNonSelonBoolean(stTheme.nSombre) +FEN_Theme_Colb +Code des champs +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +06/08/2026 Batik 3189 + +Partie 3 › Fenêtre WINDEV › FEN_Theme_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +06/08/2026 Batik 3190 + +Partie 3 › Fenêtre WINDEV › FEN_Theme_Colb › Code des champs +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Initialisation de IMG_SombreClair ( SC_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_SombreClair ( SC_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_SombreClair ( SC_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_SombreClair ( SC_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_SombreClair ( SC_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_SombreClair ( SC_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Theme +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Theme +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Theme +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Theme +06/08/2026 Batik 3191 + +Partie 3 › Fenêtre WINDEV › FEN_Theme_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Theme +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Theme +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Theme +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BS_Choix ( CMOD_Theme ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de BS_Choix ( CMOD_Theme ) +procédure OptionModifiée(IndiceOptionModifiée) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(IndiceOptionModifiée) +MaJPaletteFen() +Bouton gauche enfoncé (WM_LBUTTONDOWN) de BS_Choix ( CMOD_Theme ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +06/08/2026 Batik 3192 + +Partie 3 › Fenêtre WINDEV › FEN_Theme_Colb › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +// Il faut au moins une couleur principale +si Enregistrer() alors +Ferme() +fin +Initialisation de IMG_Couleur +MoiMême..CouleurFond = Palette_du_projet["primary"] +Clic sur IMG_Couleur +cCouleur est Couleur = MoiMême..CouleurFond +// Si la fenêtre de sélection est validée, modifie la couleur principale de la palette +si SelectCouleur(cCouleur) alors +MoiMême..CouleurFond = cCouleur +MaJPaletteFen() +fin +FEN_Theme_Colb +Procédures +Procédure locale Enregistrer +procédure Enregistrer() +si IMG_Couleur..CouleurFond = -1 alors +renvoyer Vrai +sinon +CouleuChamp est un Couleur = IMG_Couleur.CouleurFond +stTheme.saCouleur = CouleuChamp.Couleur +stTheme.nSombre = DonneBooleanSelonOuiNon(BS_Choix) +bufValeur est un Buffer +Sérialise(stTheme,bufValeur,psdJSON) +06/08/2026 Batik 3193 + +Partie 3 › Fenêtre WINDEV › FEN_Theme_Colb › Procédures +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,[MParametreUtilisateur:: +cCHOIX_Theme,CollaborateurEnCours:nIdUser]) +si HTrouve(ParametreUtilisateur) alors +ParametreUtilisateur.PU_Valeur = bufValeur +sinon +HRAZ(ParametreUtilisateur) +ParametreUtilisateur.PU_IDUtilisateur = CollaborateurEnCours:nIdUser +ParametreUtilisateur.PU_Code = MParametreUtilisateur::cCHOIX_Theme +ParametreUtilisateur.PU_Valeur = bufValeur +fin +si HEnregistre(ParametreUtilisateur) alors +oParam est un MParametreUtilisateur +FichierVersMémoire(oParam,ParametreUtilisateur) +CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_Theme] = oParam +GenererPaletteSelonParamColb() +renvoyer Vrai +sinon +UneErreur.Init(ErreurApp.ErreurHFSQL,"Erreur pendant l’enregistrement du thème", +"FEN_Theme_Colb.Enregistrer") +renvoyer Faux +fin +fin +renvoyer Faux +Procédure locale MaJPaletteFen +procédure MaJPaletteFen() +si IMG_Couleur..CouleurFond = -1 alors +retour +sinon +cCouleurPrincipale est Couleur +// Récupération de la couleur principale choisie +cCouleurPrincipale = IMG_Couleur.CouleurFond +PaletteFen est une Palette +si DonneBooleanSelonOuiNon(BS_Choix) alors +PaletteFen = GenerePaletteSombre(cCouleurPrincipale) +sinon +PaletteFen = PaletteGénère(cCouleurPrincipale) +fin +PaletteChange(FEN_Theme_Colb,PaletteFen) +fin +06/08/2026 Batik 3194 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Image +FEN_Param_Fiche_Dossier +Image +FEN_Param_Fiche_Dossier +Informations générales +FEN_Param_Fiche_Dossier +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Param_Fiche_Dossier.wdw +Créé par SMR +Date de création 17/10/2025 09:10:46 +Dernière modification par susana@applilogik.fr +Date dernière modification 05/03/2026 19:26:37 +Titre FR: Paramètres d’affichage de la liste d’interventions +06/08/2026 Batik 3195 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Informations générales +| Type fenêtre | | Fenêtre libre | | | | +| ------------------------ | --- | ----------------------------- | --- | --- | --- | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Paramétrage de l’affichage des interventions du dossier +| Position X | 0 Position Y | | 0 Largeur | 783 Hauteur | 612 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| Anim. Fermeture | | 0 | | | | +| Durée Anim. Ouverture | | 100 | | | | +| 06/08/2026 | | | Batik | | 3196 | + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Informations générales +| Durée Anim. Fermeture | | 50 | | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | --- | +| Adapte Taille contenu | | Non | | | | | | +| Assombri quand inactif | | Oui | | | | | | +| Déplace souris sur bouton par | | Non | | | | | | +| Compact. barres outils | | Non | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 4 | Bouton | | | 2 | +| --- | ------------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Sélecteur | | 3 | Image | | | 5 | +| | Superchamp | | 1 | Champ Modèle de champs | | | 9 | +| | Option de sélecteur | | 20 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 45 +FEN_Param_Fiche_Dossier +Informations sur les champs +Fenêtre : FEN_Param_Fiche_Dossier +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --- | --------------------- | ------- | --- | ------------ | --------- | ---------- | +| | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_ConfigDossier | | 400 139 | 377 309 | 0 | Actif | | | +| ----------------- | --- | ------- | ------- | --- | ----- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_BordFen | | 0 | -29 568 | 29 | 0 | Actif | | +| ------------- | --- | --- | ------- | --- | --- | ----- | ---- | +| CMOD_SansNom1 | | 4 | 71 396 | 209 | 0 | Actif | | +| CMOD_SansNom2 | | 4 | 45 396 | 26 | 0 | Actif | | +| CMOD_SansNom3 | | 635 | 2 141 | 35 | 0 | Actif | | +| CMOD_SansNom4 | | 486 | 2 141 | 35 | 0 | Actif | | +| CMOD_SansNom5 | | 4 | 306 396 | 110 | 0 | Actif | | +| CMOD_SansNom6 | | 4 | 280 396 | 26 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 3197 | + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Informations sur les champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_SansNom7 | | 4 | 416 | 396 | 26 | 0 | Actif | | +| ------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_SansNom8 | | 4 | 442 | 396 | 109 | 0 | Actif | | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 568 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | --- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_Libellé | 91 | -27 445 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +| | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | ------- | ------- | ------- | ------------ | --------------------------------------- | ---------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| | | | | ruetuaH | | | cilc cevA | | +| | | | ruegraL | | elbisiV | | | | +nalP +| IMG_AideFenetre | 536 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | --- | --- | ----- | --- | --- | ----- | --- | ---- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +| 06/08/2026 | | | Batik | | | | | 3198 | + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom1 +Sélecteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | laitini tatE BAT ehcuoT | | staté siorT | +| --- | --------------------- | ------- | ------- | --- | --- | ----------------------- | --- | ----------- | +| | X noitisoP Y noitisoP | | | | | | | | +| | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| SEL_Sel | 4 71 | 396 | 210 | 0 | Actif | | | 1 | +| ------- | ---- | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_SansNom2 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | ---------- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | X noitisoP | | | | laitini tatE | | | FTR tamroF | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 4 45 | 396 | 26 | 0 | Actif | Gauche | Centre | | +| ------- | ---- | --- | --- | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_SansNom3 +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| BTN_Valider | 635 | 2 | 141 | 35 | 0 | Actif | | Normal | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : CMOD_SansNom4 +| 06/08/2026 | | | Batik | | | | | 3199 | +| ---------- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Informations sur les champs +Bouton +notuob epyT +| | | | | | | laitini tatE | BAT ehcuoT | | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | --- | --- | +| | X noitisoP | Y noitisoP | | | | | | | | +| | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| BTN_Annuler | 486 | 2 | 141 | 35 | 0 | Actif | | Normal | | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | ------ | --- | +Champ Modèle de champs : CMOD_SansNom5 +Sélecteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | | laitini tatE | | | staté siorT | +| --- | --------------------- | ------- | ------- | --- | --- | ------------ | --- | --- | ----------- | +| | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| SEL_Sel | 4 306 | 396 | 104 | 0 | Actif | | | 1 | | +| ------- | ----- | --- | --- | --- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_SansNom6 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | 4 280 | 396 | 26 | 0 | Actif | Gauche | Centre | | | +| ------- | ----- | --- | --- | --- | ----- | ------ | ------ | --- | --- | +Champ Modèle de champs : CMOD_SansNom7 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 4 416 | 396 | 26 | 0 | Actif | Gauche | Centre | | | +| ---------- | ----- | --- | ----- | --- | ----- | ------ | ------ | --- | ---- | +| 06/08/2026 | | | Batik | | | | | | 3200 | + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom8 +Sélecteur +ellennoitroporp .loC +sennoloc .bN +laitini tatE BAT ehcuoT staté siorT +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| SEL_Sel | 4 442 | 396 104 | 0 Actif | 1 | +| ------- | ----- | ------- | ------- | --- | +Fenêtre : FEN_Param_Fiche_Dossier +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { + "Libelle":"Barre de titre (Fen\u00eatre)" +} +| Ordre navigation | 1 | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | +| Curseur survol | 0 | | | | +| UI par l'utilisateur | Selon fenêtre | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | +| Taux Paral. hauteur | 0 | | | | +| Taux Paral. Y | 0 | | | | +| Épinglé | Non | | | | +| Masquer lors du scrolling | Non | | | | +| Ancrage au contenu | <Aucun> | | | | +| Numéro aide | 0 | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | +| Facteur de rétrécissement | 0 | | | | +Facteur d'agrandissement +0 +| Ancrage | Largeur | | | | +| ------- | ------- | --- | --- | --- | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +| 06/08/2026 | | Batik | | 3201 | +| ---------- | --- | ----- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom1 +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom2 +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3202 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom3 +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom4 +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3203 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom5 +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom6 +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3204 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom7 +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom8 +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3205 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Informations sur les champs +Image : IMG_ConfigDossier +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\ConfigDossier.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage 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 Droite et bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 568 +Hauteur externe 30 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Batik 3206 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Informations sur les champs +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +06/08/2026 Batik 3207 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 +06/08/2026 Batik 3208 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +06/08/2026 Batik 3209 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3210 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom1 +Sélecteur : CMOD_SansNom1.SEL_Sel +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Sélecteur +Valeur initiale 1 +Ordre navigation 1 +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 Oui +Option format RTF Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :gnTrie +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur et hauteur +06/08/2026 Batik 3211 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom2 +Libellé : CMOD_SansNom2.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3212 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom3 +Bouton : CMOD_SansNom3.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3213 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom4 +Bouton : CMOD_SansNom4.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3214 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom5 +Sélecteur : CMOD_SansNom5.SEL_Sel +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Sélecteur +Valeur initiale 1 +Ordre navigation 1 +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 Oui +Option format RTF Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :gnTitre +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur et hauteur +06/08/2026 Batik 3215 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom6 +Libellé : CMOD_SansNom6.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3216 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom7 +Libellé : CMOD_SansNom7.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3217 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom8 +Sélecteur : CMOD_SansNom8.SEL_Sel +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Sélecteur +Valeur initiale 1 +Ordre navigation 1 +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 Oui +Option format RTF Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :gnSousTitre +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur et hauteur +06/08/2026 Batik 3218 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Param_Fiche_Dossier +Code +Déclarations globales de FEN_Param_Fiche_Dossier +procédure FEN_Param_Fiche_Dossier() +bModif est un booléen = Faux +gsValeurDefaut est une chaîne ANSI = "4_2_4" +gnTrie, gnTitre, gnSousTitre sont des entiers +Fin d'initialisation de FEN_Param_Fiche_Dossier +Filtrer() +Fermeture de FEN_Param_Fiche_Dossier +renvoyer bModif +FEN_Param_Fiche_Dossier +Code des champs +Fin d'initialisation de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen +06/08/2026 Batik 3219 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +06/08/2026 Batik 3220 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SEL_Sel ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SEL_Sel ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SEL_Sel ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SEL_Sel ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SEL_Sel ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SansNom2 +salib = "Trier les interventions par : " +Fin d'initialisation de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom2 +06/08/2026 Batik 3221 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_SansNom2 ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_SansNom2 ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_SansNom3 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_SansNom3 ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3222 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Code des champs +ExécuteAncêtre +si Enregistrer() alors +bModif = Vrai +Ferme() +fin +Fin d'initialisation de CMOD_SansNom4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_SansNom4 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_SansNom4 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +bModif = Faux +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_SansNom4 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3223 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SEL_Sel ( CMOD_SansNom5 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SEL_Sel ( CMOD_SansNom5 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SEL_Sel ( CMOD_SansNom5 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SEL_Sel ( CMOD_SansNom5 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SEL_Sel ( CMOD_SansNom5 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SansNom6 +salib = "Titre des onglets des interventions : " +Fin d'initialisation de CMOD_SansNom6 +06/08/2026 Batik 3224 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_SansNom6 ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_SansNom6 ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_SansNom7 +salib = "Sous-titre des onglets des interventions : " +Fin d'initialisation de CMOD_SansNom7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom7 +06/08/2026 Batik 3225 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_SansNom7 ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_SansNom7 ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3226 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Code des champs +ExécuteAncêtre +Initialisation de SEL_Sel ( CMOD_SansNom8 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SEL_Sel ( CMOD_SansNom8 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SEL_Sel ( CMOD_SansNom8 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SEL_Sel ( CMOD_SansNom8 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SEL_Sel ( CMOD_SansNom8 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +FEN_Param_Fiche_Dossier +Procédures +Procédure locale Enregistrer +procédure Enregistrer() +EcranVersSource() +sValeur est une chaîne ANSI = gnTrie+"_"+gnTitre+"_"+gnSousTitre +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,[MParametreUtilisateur:: +cCHOIX_TrieInter,CollaborateurEnCours:nIdUser]) +si HTrouve(ParametreUtilisateur) alors +ParametreUtilisateur.PU_Valeur = sValeur +sinon +HRAZ(ParametreUtilisateur) +ParametreUtilisateur.PU_IDUtilisateur = CollaborateurEnCours:nIdUser +ParametreUtilisateur.PU_Code = MParametreUtilisateur::cCHOIX_TrieInter +ParametreUtilisateur.PU_Valeur = sValeur +fin +si HEnregistre(ParametreUtilisateur) alors +oParam est un MParametreUtilisateur +FichierVersMémoire(oParam,ParametreUtilisateur) +CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_TrieInter] = oParam +renvoyer Vrai +sinon +UneErreur.Init(ErreurApp.ErreurHFSQL, +"Erreur lors de l’enregistrement des paramètres de tri du dossier", +"FEN_Param_Fiche_Dossier.Enregistrer") +renvoyer Faux +06/08/2026 Batik 3227 + +Partie 3 › Fenêtre WINDEV › FEN_Param_Fiche_Dossier › Procédures +fin +Procédure locale Filtrer +procédure Filtrer() +sValeur est une chaîne ANSI +si CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_TrieInter]..Existe = +Vrai _et_ CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_TrieInter]. +saValeur <> "" alors +sValeur = CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_TrieInter] +.saValeur +sinon +sValeur = gsValeurDefaut +fin +si sValeur <> "" alors +gnTrie = Val(ExtraitChaîne(sValeur,1,"_",DepuisDébut)) +gnTitre = Val(ExtraitChaîne(sValeur,2,"_",DepuisDébut)) +gnSousTitre = Val(ExtraitChaîne(sValeur,3,"_",DepuisDébut)) +fin +SourceVersEcran() +06/08/2026 Batik 3228 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Image +FEN_CompteRendus +Image +FEN_CompteRendus +Informations générales +FEN_CompteRendus +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_CompteRendus.wdw +Créé par SMR +Date de création 14/11/2025 09:20:09 +Dernière modification par susana@applilogik.fr +Date dernière modification 26/03/2026 15:14:59 +Titre FR: Compte rendus +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +Note pour la documentation technique +FR: Fiche de compte rendu d’intervention +Position X 0 Position Y 0 Largeur 897 Hauteur 385 +06/08/2026 Batik 3229 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations générales +| Visible | Barre de titre | | Menu système | | +| --------------------- | -------------------- | --- | --------------- | --- | +| Icône réduction | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | Détourer le fond | | Mode 9 images | | +| Redimensionnable | Avec grip | | Grip dans image | | +| Déplace/fond | Sauve position | | Ascenseur auto. | | +| Gestion grande police | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | Actif | | | | +| ------------------------------- | ----------------------------------- | --- | --- | --- | +| Curseur survol | 0 | | | | +| Copie d'écran | Oui | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | <Aucun> | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Oui | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Non | | | | +| 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. | Oui | | | | +| Grisé : Algo pour images | <Défaut> | | | | +| Style du menu | Windows 11 | | | | +| 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 | 32 | | | | +| Pos. Y Menu | 2 | | | | +| 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 | | | | +| ---------------------- | --- | --- | --- | --- | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +| 06/08/2026 | | Batik | | 3230 | +| ---------- | --- | ----- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | 6 | Libellé | | | 3 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Interrupteur | | 2 | Image | | | 6 | +| | Combo | | 1 | Zone répétée | | | 1 | +| | Superchamp | | 1 | Champ Modèle de champs | | | 12 | +| | Option d'interrupteur | | 2 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 35 +FEN_CompteRendus +Informations sur les champs +Fenêtre : FEN_CompteRendus +Zone répétée +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| ZR_CR | | 5 | 9 883 | 318 | 0 | Actif | | +| ----- | --- | --- | ----- | --- | --- | ----- | --- | +Champ Modèle de champs +BAT ehcuoT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| CMOD_BordFen | | 0 | -29 700 | 29 | 0 | Actif | | +| ------------ | --- | --- | ------- | --- | --- | ----- | --- | +Zone répétée : ZR_CR +| 06/08/2026 | | | Batik | | | | 3231 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › 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_SigClient | 726 | 164 | 102 | 102 | 0 | Actif | | | +| ------------- | --- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_SigTech | 726 | 30 | 102 | 102 | 0 | Actif | | | +Champ Modèle de champs +| | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | ---------- | +| | | X noitisoP | Y noitisoP | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| CMOD_AvecReserve | | 514 | 32 | 185 | 29 | 0 | Actif | | +| ---------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_Conforme | | 514 | 3 | 185 | 29 | 0 | Actif | | +| CMOD_Date | | 8 | 3 | 250 | 53 | 0 | Actif | | +| CMOD_LibSig1 | | 699 | 4 | 155 | 26 | 0 | Actif | | +| CMOD_LibSig2 | | 699 | 138 | 155 | 26 | 0 | Actif | | +| CMOD_NomClient | | 266 | 56 | 240 | 53 | 0 | Actif | | +| CMOD_NomTech | | 8 | 56 | 250 | 53 | 0 | Actif | | +| CMOD_NoteClient | | 266 | 109 | 240 | 167 | 0 | Actif | | +| CMOD_NoteTech | | 8 | 109 | 250 | 167 | 0 | Actif | | +| CMOD_Reserve | | 514 | 61 | 185 | 215 | 0 | Actif | | +| CMOD_Type | | 266 | 3 | 240 | 53 | 0 | Actif | | +Champ Modèle de champs : ZR_CR.CMOD_AvecReserve +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | staté siorT | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | ----------- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| INT_Int | 0 | 0 | 185 | 29 | 0 | Actif | 1 | | +| ---------- | --- | --- | ----- | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 3232 | + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Champ Modèle de champs : ZR_CR.CMOD_Conforme +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | laitini tatE | BAT ehcuoT | | staté siorT | +| --- | --- | --- | --- | --- | --- | ------------ | ---------- | --- | ----------- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| INT_Int | | 0 | 0 185 | 29 | 0 | Actif | | 1 | | +| ------- | --- | --- | ----- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : ZR_CR.CMOD_Date +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_Texte | 0 0 | 250 53 | 0 affichag | | Texte | Non | | | | +| --------- | --- | ------ | ---------- | --- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : ZR_CR.CMOD_LibSig1 +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 0 0 | 155 | 26 | 0 | Actif | Centre | Centre | | +| ---------- | --- | --- | --- | ----- | --- | ----- | ------ | ------ | ---- | +| 06/08/2026 | | | | Batik | | | | | 3233 | + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Champ Modèle de champs : ZR_CR.CMOD_LibSig2 +Libellé +tuaféd rap eéminA +.zroh egardaC .trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 0 0 | 155 | 26 | 0 | Actif | Centre Centre | | +| ------- | --- | --- | --- | --- | --- | ----- | ------------- | --- | +Champ Modèle de champs : ZR_CR.CMOD_NomClient +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_Texte | 0 0 | 240 53 | 0 affichag | | Texte | Non | | | +| --------- | --- | ------ | ---------- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : ZR_CR.CMOD_NomTech +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 | eisias epyT FTR tamroF | | ediv is LLUN | lacitrev .csA | +| --- | --------------------- | --- | --- | ------------ | ---------------------- | --- | ------------ | ------------- | +| | X noitisoP Y noitisoP | | | laitini tatE | engilitluM | | | | +ruetuaH +| | | ruegraL | elbisiV | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +nalP +| SAI_Texte | 0 0 | 250 53 | 0 affichag | | Texte | Non | | | +| ---------- | --- | ------ | ---------- | ----- | ----- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | 3234 | + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Champ Modèle de champs : ZR_CR.CMOD_NoteClient +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_Texte | 0 0 240 | 167 0 | affichag | Texte | | Non | | +| --------- | ------- | ----- | -------- | ----- | --- | --- | --- | +Champ Modèle de champs : ZR_CR.CMOD_NoteTech +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_Texte | 0 0 250 | 167 0 | affichag | Texte | | Non | | +| --------- | ------- | ----- | -------- | ----- | --- | --- | --- | +Champ Modèle de champs : ZR_CR.CMOD_Reserve +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_Texte | 0 0 185 | 215 0 | affichag | Texte | | Non | | +| ---------- | ------- | ----- | -------- | ----- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | 3235 | + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Champ Modèle de champs : ZR_CR.CMOD_Type +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_Combo | 0 | 0 240 | 53 | 0 | affichag | Mémoire | | Non | | +| --------- | --- | ----- | --- | --- | -------- | ------- | --- | --- | --- | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | | X noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | --- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| SC_SansNom1 | | | 0 | -29 | 700 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Libellé | | 91 | -27 577 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +| | | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------------------------------------- | ---------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| | | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_AideFenetre | | 668 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | --- | --- | --- | ----- | --- | --- | ----- | --- | ---- | +| IMG_InformationAide | | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | | 38 | -26 | 21 | 23 | 0 | Actif | | | +| 06/08/2026 | | | | Batik | | | | | 3236 | + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Fenêtre : FEN_CompteRendus +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Zone répétée : ZR_CR +Libellé FR: &Zone répétée +Ordre navigation 2 +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 +Hauteur ligne max. 0 +Hauteur ligne 279 +Largeur colonne 879 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Batik 3237 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Oui +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 +06/08/2026 Batik 3238 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 700 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 3239 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 3240 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 +06/08/2026 Batik 3241 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 +06/08/2026 Batik 3242 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Ancrage Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Zone répétée : ZR_CR +Champ Modèle de champs : ZR_CR.CMOD_AvecReserve +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 600 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_CR.CMOD_Conforme +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 600 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +06/08/2026 Batik 3243 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Champ Modèle de champs : ZR_CR.CMOD_Date +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_CR.CMOD_LibSig1 +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 800 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +06/08/2026 Batik 3244 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Champ Modèle de champs : ZR_CR.CMOD_LibSig2 +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 800 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_CR.CMOD_NomClient +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 300 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +06/08/2026 Batik 3245 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Champ Modèle de champs : ZR_CR.CMOD_NomTech +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_CR.CMOD_NoteClient +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 300 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +06/08/2026 Batik 3246 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Champ Modèle de champs : ZR_CR.CMOD_NoteTech +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_CR.CMOD_Reserve +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 600 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +06/08/2026 Batik 3247 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Champ Modèle de champs : ZR_CR.CMOD_Type +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 300 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +Image : ZR_CR.IMG_SigClient +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 +06/08/2026 Batik 3248 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Ancrage +Taux anc. droite 800 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Image : ZR_CR.IMG_SigTech +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 +Taux anc. droite 800 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_CR.CMOD_AvecReserve +06/08/2026 Batik 3249 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Interrupteur : ZR_CR.CMOD_AvecReserve.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Ordre navigation 1 +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3250 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Champ Modèle de champs : ZR_CR.CMOD_Conforme +Interrupteur : ZR_CR.CMOD_Conforme.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Ordre navigation 1 +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3251 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Champ Modèle de champs : ZR_CR.CMOD_Date +Champ de saisie : ZR_CR.CMOD_Date.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 250 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Batik 3252 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_CR.CMOD_LibSig1 +Libellé : ZR_CR.CMOD_LibSig1.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 +06/08/2026 Batik 3253 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Ancrage au contenu <Aucun> +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_CR.CMOD_LibSig2 +Libellé : ZR_CR.CMOD_LibSig2.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +06/08/2026 Batik 3254 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_CR.CMOD_NomClient +Champ de saisie : ZR_CR.CMOD_NomClient.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 273 +Largeur interne 240 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 3255 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Automatique +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3256 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Champ Modèle de champs : ZR_CR.CMOD_NomTech +Champ de saisie : ZR_CR.CMOD_NomTech.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 250 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Batik 3257 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_CR.CMOD_NoteClient +Champ de saisie : ZR_CR.CMOD_NoteClient.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +06/08/2026 Batik 3258 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +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 273 +Largeur interne 240 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 3259 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_CR.CMOD_NoteTech +Champ de saisie : ZR_CR.CMOD_NoteTech.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 250 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 3260 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Automatique +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3261 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Champ Modèle de champs : ZR_CR.CMOD_Reserve +Champ de saisie : ZR_CR.CMOD_Reserve.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 521 +Largeur interne 185 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Batik 3262 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_CR.CMOD_Type +Combo : ZR_CR.CMOD_Type.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 +06/08/2026 Batik 3263 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 240 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 273 +Largeur interne 240 +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 Oui +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +06/08/2026 Batik 3264 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_CompteRendus +Code +Déclarations globales de FEN_CompteRendus +procédure FEN_CompteRendus(saGuidRDV est une chaîne ANSI) +si saGuidRDV = "" alors +Ferme() +fin +Fin d'initialisation de FEN_CompteRendus +Filtrer() +FEN_CompteRendus +Code des champs +Fin d'initialisation de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen +06/08/2026 Batik 3265 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Entrée dans ZR_CR +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_AvecReserve +salib = "Avec réserve" +Fin d'initialisation de CMOD_AvecReserve +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_AvecReserve +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_AvecReserve +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_AvecReserve +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_AvecReserve +06/08/2026 Batik 3266 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_AvecReserve +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_AvecReserve +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_AvecReserve ) (modèle MDLC_Boolean) +// Version 1 +// Description +// Interrupteur simple 2 états +MoiMême[1].Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_AvecReserve ) (modèle MDLC_Boolean) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Conforme +salib = "Travaux conformes" +Fin d'initialisation de CMOD_Conforme +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Conforme +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Conforme +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Conforme +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Conforme +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Conforme +06/08/2026 Batik 3267 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Conforme +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_Conforme ) (modèle MDLC_Boolean) +// Version 1 +// Description +// Interrupteur simple 2 états +MoiMême[1].Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_Conforme ) (modèle MDLC_Boolean) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Date +salib = "Fait le" +Fin d'initialisation de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Date +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Date +06/08/2026 Batik 3268 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Date ) (modèle MDLC_SaisieSansModif) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Date ) (modèle MDLC_SaisieSansModif) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_LibSig1 +salib = "Signature technicien" +Fin d'initialisation de CMOD_LibSig1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibSig1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibSig1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibSig1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibSig1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibSig1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibSig1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_LibSig1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_LibSig1 ) +06/08/2026 Batik 3269 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_LibSig2 +salib = "Signature (Client)" +Fin d'initialisation de CMOD_LibSig2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibSig2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibSig2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibSig2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibSig2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibSig2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibSig2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_LibSig2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_LibSig2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NomClient +salib = "Signataire" +Fin d'initialisation de CMOD_NomClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NomClient +06/08/2026 Batik 3270 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NomClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NomClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NomClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NomClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NomClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NomClient ) (modèle MDLC_SaisieSansModif) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NomClient ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_NomTech +salib = "Technicien" +Fin d'initialisation de CMOD_NomTech +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NomTech +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NomTech +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NomTech +06/08/2026 Batik 3271 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NomTech +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NomTech +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NomTech +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NomTech ) (modèle MDLC_SaisieSansModif) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NomTech ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_NoteClient +salib = "Note signataire" +Fin d'initialisation de CMOD_NoteClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NoteClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NoteClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NoteClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NoteClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NoteClient +06/08/2026 Batik 3272 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NoteClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NoteClient ) (modèle MDLC_SaisieSansModif) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NoteClient ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_NoteTech +salib = "Note Technicien" +Fin d'initialisation de CMOD_NoteTech +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NoteTech +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NoteTech +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NoteTech +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NoteTech +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NoteTech +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NoteTech +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NoteTech ) (modèle MDLC_SaisieSansModif) +06/08/2026 Batik 3273 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Code des champs +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NoteTech ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Reserve +salib = "Réserve du client" +Fin d'initialisation de CMOD_Reserve +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Reserve +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Reserve +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Reserve +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Reserve +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Reserve +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Reserve +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Reserve ) (modèle MDLC_SaisieSansModif) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Reserve ) (modèle MDLC_SaisieSansModif) +06/08/2026 Batik 3274 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Code des champs +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Type +salib = "Type de signataire" +Fin d'initialisation de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême..NomComplet,cParam_TypeSignCR,Faux) +Entrée dans CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3275 + +Partie 3 › Fenêtre WINDEV › FEN_CompteRendus › Code des champs +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +FEN_CompteRendus +Procédures +Procédure locale Filtrer +procédure Filtrer() +ZoneRépétéeSupprimeTout(ZR_CR) +i est un entier +reqCr est une Requête SQL = +[ +SELECT * FROM CompteRendu +INNER JOIN RDV_Collaborateur ON (RDV_Collaborateur.RVC_GUID_RDV = {p_GuidRDV} AND RDV_Collaborateur +.GUID = CompteRendu.CR_GUID_Rdv) +] +reqCr.p_GuidRDV = saGuidRDV +si pas HExécuteRequêteSQL(reqCr) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FEN_CompteRendus.Filtrer") +sinon +pour tout reqCr +i = ZoneRépétéeAjouteLigne(ZR_CR) +ZR_CR[i].CMOD_AvecReserve.INT_Int = reqCr.CR_AvecReserve +ZR_CR[i].CMOD_Conforme.INT_Int = reqCr.CR_DevisConforme +ZR_CR[i].CMOD_Date.SAI_Texte = DateHeureValide(reqCr.CR_DateHeureSignature) ? +DateVersChaîne(reqCr.CR_DateHeureSignature, "JJ/MM/AAAA à HH:mm") sinon "" +ZR_CR[i].CMOD_NomClient.SAI_Texte = reqCr.CR_NomSignataire +ZR_CR[i].CMOD_NomTech.SAI_Texte = reqCr.CR_NomSignataireTech +ZR_CR[i].CMOD_NoteClient.SAI_Texte = reqCr.CR_NoteSignataire +ZR_CR[i].CMOD_NoteTech.SAI_Texte = reqCr.CR_NoteCollaborateur +ZR_CR[i].CMOD_Reserve.SAI_Texte = reqCr.CR_ReserveCommentaire +ZR_CR[i].CMOD_Type.CMB_Combo = reqCr.CR_CleTypeSignataire +si reqCr.CR_Signature <> "" alors +ZR_CR[i].IMG_SigClient = reqCr.CR_Signature +fin +si reqCr.CR_SignatureTech <> "" alors +ZR_CR[i].IMG_SigTech = reqCr.CR_SignatureTech +fin +ZR_CR[i].CMOD_Reserve..Visible = reqCr.CR_AvecReserve +fin +fin +si ZR_CR..Occurrence <= 0 alors +Erreur("Aucun compte rendu trouvé") +Ferme() +fin +06/08/2026 Batik 3276 + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Image +FEN_Etats +Image +FEN_Etats +Informations générales +FEN_Etats +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Etats.wdw +Créé par SMR +06/08/2026 Batik 3277 + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Informations générales +| Date de création | | 18/11/2025 17:59:18 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 05/03/2026 19:26:35 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Liste des états +| Position X | 0 Position Y | | 0 Largeur | 1199 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| 06/08/2026 | | | Batik | | 3278 | + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Informations générales +| 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 | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 1 | Image | | | 6 | +| --- | ---------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Table | | 1 | Combo | | | 1 | +| | Superchamp | | 1 | Champ Modèle de champs | | | 5 | +| | Colonne de table | | 4 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 20 +FEN_Etats +Informations sur les champs +Fenêtre : FEN_Etats +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_BordFen | | 0 | -29 1063 | 29 | 0 | Actif | | +| -------------- | --- | ---- | -------- | --- | --- | ----- | ---- | +| CMOD_Groupe | | 9 | 2 262 | 53 | 0 | Actif | | +| CMOD_Nouveau | | 1160 | 19 30 | 30 | 0 | Actif | | +| CMOD_SansNom1 | | 7 | 63 1187 | 577 | 0 | Actif | | +| CMOD_Supprimer | | 1122 | 19 30 | 30 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 3279 | + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | +nalP +| SC_SansNom1 | | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | laitini tatE | | | FTR tamroF | +| | X noitisoP | Y noitisoP | | | | | | | | +| | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_Libellé | | 91 | -27 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | --- | +| | | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | | 1031 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | --- | ---- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | | 38 | -26 | 21 | 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_Groupe +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_Combo | 9 | 2 262 | 53 | 0 | Actif | Mémoire | | Non | | +| ---------- | --- | ----- | --- | ----- | ----- | ------- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | 3280 | + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Informations sur les champs +Champ Modèle de champs : CMOD_Nouveau +Image +| | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | --- | --------------------- | ------- | --- | --- | ------------ | --------------------- | ----------------- | +| | | X noitisoP Y noitisoP | | | | laitini tatE | | sucof cevA | +| | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 1160 19 | 30 30 | | 0 | Actif | | | +| --------- | --- | ------- | ----- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_SansNom1 +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 | | | | | | +| --- | --------------------- | --- | ------------ | --- | --- | --- | --- | --- | +sruocraP +ruegraL ruetuaH +elbisiV +| | | nalP | elbaT | | | | | | +| ---------- | ---- | ---------- | ------------ | --- | --- | --- | --- | --- | +| TABLE_Info | 9 65 | 1181 571 0 | Actif Mémoir | | | | | 1 | +Table : CMOD_SansNom1.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +| | | | ehcuag à eéxiF | | .zroh egardaC | | | | +| --- | --- | --- | -------------- | --- | ------------- | --- | --- | --- | +.trev egardaC +| | | | elbaçalpéD | | | | eisias epyT FTR tamroF | eisias cevA | +| --- | --- | ------------ | ---------- | --- | --- | --- | ---------------------- | ----------- | +| | | laitini tatE | | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +| COL_PKID | | 880 Grisé | | Droite | Centre | Numériq | | | +| ----------- | --- | --------- | ----- | ------ | ------ | ------- | ----- | ---- | +| COL_Libelle | | 730 Actif | | Gauche | Centre | | Texte | | +| COL_Valeur | | 319 Actif | | Gauche | Centre | | Texte | | +| COL_Ordre | | 107 Actif | | Droite | Centre | Numériq | | | +| 06/08/2026 | | | Batik | | | | | 3281 | + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Informations sur les champs +Champ Modèle de champs : CMOD_Supprimer +Image +06/08/2026 Batik 3282 +X +noitisoP +Y +noitisoP ruegraL ruetuaH +nalP +elbisiV +laitini +tatE +cilc +cevA +cilc +ruop +eriatiroirP +tuaféd +rap +eéminA +sucof +cevA +IMG_Icone 1122 19 30 30 0 Actif +Fenêtre : FEN_Etats +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Informations sur les champs +Champ Modèle de champs : CMOD_Groupe +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Nouveau +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3283 + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom1 +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Supprimer +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3284 + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 3285 + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 3286 + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 +06/08/2026 Batik 3287 + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Informations sur les champs +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 +06/08/2026 Batik 3288 + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Informations sur les champs +Ancrage Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Groupe +Combo : CMOD_Groupe.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 262 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 9 +Largeur interne 262 +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 +06/08/2026 Batik 3289 + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Informations sur les champs +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 Oui +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Nouveau +Image : CMOD_Nouveau.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Plus_noire.svg +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 +06/08/2026 Batik 3290 + +Partie 3 › Fenêtre WINDEV › FEN_Etats › 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 +Texte Markdown Non +Mode menu ctx. <Aucun> +Mire visible Oui +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_SansNom1 +Table : CMOD_SansNom1.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Batik 3291 + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3292 + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Informations sur les champs +Table : CMOD_SansNom1.TABLE_Info +Colonne de table : CMOD_SansNom1.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : CMOD_SansNom1.TABLE_Info.COL_Libelle (2) +Titre FR: Libelle +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +06/08/2026 Batik 3293 + +Partie 3 › Fenêtre WINDEV › FEN_Etats › 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 700 Taux anc. hauteur 1000 +Colonne de table : CMOD_SansNom1.TABLE_Info.COL_Valeur (3) +Titre FR: Valeur +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 200 Taux anc. hauteur 1000 +06/08/2026 Batik 3294 + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Informations sur les champs +Colonne de table : CMOD_SansNom1.TABLE_Info.COL_Ordre (4) +Titre FR: Ordre +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 +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 100 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Supprimer +Image : CMOD_Supprimer.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\poubelle_noire.svg +Groupe GR_Saisie +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 +06/08/2026 Batik 3295 + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +FEN_Etats +Code +Déclarations globales de FEN_Etats +procédure FEN_Etats() +tbaListeEtat est un tableau associatif de MEtats +Fin d'initialisation de FEN_Etats +CMB_Combo = cGroupe_EtatRDV +Filtrer() +FEN_Etats +Code des champs +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +06/08/2026 Batik 3296 + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Groupe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Groupe +06/08/2026 Batik 3297 + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Groupe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Groupe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Groupe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Groupe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Groupe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Groupe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ListeAjoute(CMB_Combo,"Rendez-vous"+gValeurMémorisée(cGroupe_EtatRDV)) +ListeAjoute(CMB_Combo,"Intervention"+gValeurMémorisée(cGroupe_EtatInter)) +Entrée dans CMB_Combo ( CMOD_Groupe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Groupe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Groupe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Filtrer() +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Groupe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Nouveau +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Nouveau +06/08/2026 Batik 3298 + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Nouveau +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Nouveau +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Nouveau +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Nouveau +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Nouveau +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Nouveau ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Nouveau ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ajouter() +A chaque modification de IMG_Icone ( CMOD_Nouveau ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Nouveau ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Nouveau ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Nouveau ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom1 +06/08/2026 Batik 3299 + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +i est un entier = TABLE_Info +Modifier(i) +Affichage d'une ligne de TABLE_Info +06/08/2026 Batik 3300 + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Supprimer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Supprimer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Supprimer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Supprimer +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3301 + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Supprimer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Supprimer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Supprimer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Supprimer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Supprimer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Supprimer() +A chaque modification de IMG_Icone ( CMOD_Supprimer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Supprimer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Supprimer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Supprimer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +FEN_Etats +Procédures +Procédure locale Ajouter +procédure Ajouter() +oEtat est un MEtats +06/08/2026 Batik 3302 + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Procédures +oEtat.nOrdre = (tbaListeEtat..Occurrence+1) +oEtat.saLibelle = "Nouveau etat" +oEtat.saGroupe = CMB_Combo +si oEtat:Enregistrer() alors +i est un entier = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = oEtat:nPKID +COL_Libelle[i] = oEtat:saLibelle +COL_Ordre[i] = oEtat:nOrdre +COL_Valeur[i] = oEtat:saValeur +tbaListeEtat[oEtat:nPKID] = oEtat +TableSelectPlus(TABLE_Info,i) +fin +Procédure locale Filtrer +procédure Filtrer() +TableSupprimeTout(TABLE_Info) +TableauSupprimeTout(tbaListeEtat) +i est un entier +odEtat est un MEtats dynamique +si CMB_Combo..ValeurMémorisée = Null _ou_ CMB_Combo..ValeurMémorisée = "" alors +renvoyer Faux +fin +reqEtat est une Requête SQL = +[ +SELECT * FROM Etats WHERE Etats.ETA_Groupe = {p_Groupe} ORDER BY Etats.ETA_Ordre +] +reqEtat.p_Groupe = CMB_Combo +si pas HExécuteRequêteSQL(reqEtat) alors +UneErreur:Init(ErreurApp.ErreurHFSQL,"Erreur lors de la recherche des états","FEN_Etats.Filtrer") +sinon +pour tout reqEtat +odEtat = allouer un MEtats +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = reqEtat.ETA_PKID +COL_Libelle[i] = reqEtat.ETA_Libelle +COL_Ordre[i] = reqEtat.ETA_Ordre +COL_Valeur[i] = reqEtat.ETA_Valeur +FichierVersMémoire(odEtat,reqEtat) +tbaListeEtat[reqEtat.ETA_PKID] = odEtat +fin +fin +si i > 1 alors +ToastAffiche(i+" Enregistrements trouvés",toastCourt,cvMilieu) +sinon si i = 1 alors +ToastAffiche("1 Enregistrement trouvé",toastCourt,cvMilieu) +sinon +ToastAffiche("Aucun enregistrement trouvé",toastCourt,cvMilieu) +fin +Procédure locale Modifier +procédure Modifier(i est un entier) +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaListeEtat[COL_PKID[i]]..Existe = Vrai alors +tbaListeEtat[COL_PKID[i]].saLibelle = COL_Libelle[i] +tbaListeEtat[COL_PKID[i]].saValeur = COL_Valeur[i] +tbaListeEtat[COL_PKID[i]].nOrdre = COL_Ordre[i] +06/08/2026 Batik 3303 + +Partie 3 › Fenêtre WINDEV › FEN_Etats › Procédures +tbaListeEtat[COL_PKID[i]].Enregistrer() +fin +Procédure locale Supprimer +procédure Supprimer() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaListeEtat[COL_PKID[i]]..Existe = Vrai alors +si OuiNon("Êtes-vous sûr de vouloir supprimer l’état "+COL_Libelle[i]) = Non alors +renvoyer Faux +fin +si tbaListeEtat[COL_PKID[i]].DateSupprime() alors +TableauSupprime(tbaListeEtat,COL_PKID[i]) +TableSupprime(TABLE_Info,i) +fin +fin +06/08/2026 Batik 3304 + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › Image +FEN_RDV_Attente +Image +FEN_RDV_Attente +Informations générales +FEN_RDV_Attente +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_RDV_Attente.wdw +Créé par SMR +Date de création 21/11/2025 11:35:08 +Dernière modification par susana@applilogik.fr +Date dernière modification 31/03/2026 16:19:43 +Titre FR: Rendez-vous en attente +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +06/08/2026 Batik 3305 + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › Informations générales +Note pour la documentation technique +FR: Fiche des rendez-vous en attente +| Position X | 0 Position Y | | 0 Largeur | 1200 Hauteur | 559 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 3306 | + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › Informations générales +| Déplace souris sur bouton par | Non | | | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | --- | +| Compact. barres outils | Non | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 1 | Image | | | 5 | +| --- | ---------------------- | --- | --- | --------------------- | --- | --- | --- | +| | Table | | 1 | Superchamp | | | 1 | +| | Champ Modèle de champs | | 3 | Option de menu | | | 3 | +| | Colonne de table | | 11 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 26 +FEN_RDV_Attente +Informations sur les champs +Fenêtre : FEN_RDV_Attente +Champ Modèle de champs +BAT ehcuoT +laitini tatE +| | | X noitisoP | Y noitisoP | | | | | +| --- | --- | ---------- | ---------- | ------- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_BordFen | | 0 | -29 965 | 29 | 0 | Actif | | +| ------------ | --- | ---- | ------- | --- | --- | ----- | --- | +| CMOD_Options | | 1163 | 4 30 | 30 | 0 | Actif | | +| CMOD_Table | | 5 | 40 1188 | 462 | 0 | Actif | | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 965 | 30 | 0 | Actif | | +| ----------- | --- | --- | ------- | --- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | | 3307 | + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --------------------- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_Libellé | 91 -27 | 842 25 | 0 Actif | Gauche | Centre | | +| ----------- | ------ | ------ | ------- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------------ | --------- | ---------- | +| | | ruegraL | ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 933 | -26 28 | 23 0 | Actif | | | +| -------------------------- | --- | ------ | ---- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 28 | 23 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 34 | 26 0 | Actif | | | +| IMG_SombreClair | 38 | -26 21 | 23 0 | Actif | | | +Champ Modèle de champs : CMOD_Options +Image +| | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | ------- | ------------ | --------------------------------------- | ---------- | +| | | | | laitini tatE | | sucof cevA | +| | X noitisoP | Y noitisoP | | | | | +| | | ruegraL | ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | 1163 | 4 30 | 30 0 | Actif | | | +| --------- | ---- | ---- | ---- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Table +| 06/08/2026 | | Batik | | | | 3308 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › Informations sur les champs +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 | | | | | +| --- | --------------------- | ------- | ------------ | --- | -------- | --- | --- | +| | | ruetuaH | | | sruocraP | | | +ruegraL +elbisiV +| | | nalP | | elbaT | | | | +| ---------- | ---- | ---------- | -------- | ------ | --- | --- | --- | +| TABLE_Info | 7 42 | 1182 456 0 | affichag | Mémoir | | | 1 | +Table : CMOD_Table.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +| | | | ehcuag à eéxiF | | .zroh egardaC .trev egardaC | | | +| --- | --- | --- | -------------- | --- | --------------------------- | ---------------------- | ----------- | +| | | | elbaçalpéD | | | eisias epyT FTR tamroF | eisias cevA | +laitini tatE engilitluM +ruegraL +elbisiV +eéirT +epyT +| COL_PKID | | 880 Grisé | | | Droite Centre | Numériq | | +| ----------- | --- | --------- | --- | --- | ------------- | ------- | --- | +| COL_CreeLe | | 78 Actif | | | Droite Centre | Date | | +| COL_CreePar | | 172 Actif | | | Gauche Centre | Texte | | +| COL_Objet | | 167 Actif | | | Gauche Centre | Texte | | +| COL_Date | | 85 Actif | | | Droite Centre | Date | | +| COL_Colb | | 156 Actif | | | Gauche Centre | Texte | | +| COL_Inter | | 113 Actif | | | Gauche Centre | Texte | | +| COL_NDevis | | 100 Actif | | | Gauche Centre | Texte | | +| COL_Client | | 137 Actif | | | Gauche Centre | Texte | | +| COL_Lieu | | 151 Actif | | | Gauche Centre | Texte | | +| COL_GUID | | 100 Grisé | | | Gauche Centre | Texte | | +Fenêtre : FEN_RDV_Attente +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { + "Libelle":"Barre de titre (Fen\u00eatre)" +} +| Ordre navigation | | 1 | | | | | | +| -------------------- | --- | ----------------------------------- | ----- | --- | --- | --- | ---- | +| Curseur survol | | 0 | | | | | | +| UI par l'utilisateur | | Selon fenêtre | | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | +| 06/08/2026 | | | Batik | | | | 3309 | + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › Informations sur les champs +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Options +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Table +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Batik 3310 + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 965 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 3311 + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +06/08/2026 Batik 3312 + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › Informations sur les champs +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 +06/08/2026 Batik 3313 + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › Informations sur les champs +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +06/08/2026 Batik 3314 + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › 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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Options +Image : CMOD_Options.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\options.svg +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 Oui +Mode 9 images Non +06/08/2026 Batik 3315 + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › Informations sur les champs +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_Table +Table : CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 3316 + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › Informations sur les champs +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. A la fin +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 : CMOD_Table.TABLE_Info +Colonne de table : CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 +06/08/2026 Batik 3317 + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › Informations sur les champs +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 : CMOD_Table.TABLE_Info.COL_CreeLe (2) +Titre FR: Crée le +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/AA +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 50 Taux anc. hauteur 1000 +06/08/2026 Batik 3318 + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › Informations sur les champs +Colonne de table : CMOD_Table.TABLE_Info.COL_CreePar (3) +Titre FR: Crée par +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table.TABLE_Info.COL_Objet (4) +Titre FR: Objet +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 +06/08/2026 Batik 3319 + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › 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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table.TABLE_Info.COL_Date (5) +Titre FR: Date +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/AA +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 50 Taux anc. hauteur 1000 +06/08/2026 Batik 3320 + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › Informations sur les champs +Colonne de table : CMOD_Table.TABLE_Info.COL_Colb (6) +Titre FR: Collaborateurs +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table.TABLE_Info.COL_Inter (7) +Titre FR: N° 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: 0 +06/08/2026 Batik 3321 + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › 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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 80 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table.TABLE_Info.COL_NDevis (8) +Titre FR: N° Devis +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 80 Taux anc. hauteur 1000 +06/08/2026 Batik 3322 + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › Informations sur les champs +Colonne de table : CMOD_Table.TABLE_Info.COL_Client (9) +Titre FR: Client +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 140 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table.TABLE_Info.COL_Lieu (10) +Titre FR: Lieu +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +06/08/2026 Batik 3323 + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › 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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Colonne de table : CMOD_Table.TABLE_Info.COL_GUID (11) +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 +FEN_RDV_Attente +Informations sur les menus +06/08/2026 Batik 3324 + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Ouvrir (2) +OPT_Supprimer (3) +Libellé des options : Français +Ouvrir la fiche rendez-vous +Supprimer le rendez-vous sélectionné +FEN_RDV_Attente +Code +Déclarations globales de FEN_RDV_Attente +procédure FEN_RDV_Attente(gtbaRendezVousAttente est un tableau associatif de ST_InfoRDV) +si gtbaRendezVousAttente..Occurrence <= 0 alors +Ferme() +fin +Fin d'initialisation de FEN_RDV_Attente +Filtrer() +FEN_RDV_Attente +Code des champs +Fin d'initialisation de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen +06/08/2026 Batik 3325 + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Options +06/08/2026 Batik 3326 + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +06/08/2026 Batik 3327 + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3328 + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › Code des champs +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvrirRDV() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection du menu de MNU_Options.OPT_Ouvrir +OuvrirRDV() +Sélection du menu de MNU_Options.OPT_Supprimer +Supprimer() +FEN_RDV_Attente +Procédures +Procédure locale Filtrer +procédure Filtrer() +tbIdRdv est un tableau d'entiers sur 8 octets +pour tout stRDV de gtbaRendezVousAttente +si stRDV.oRdv.nPKID > 0 alors +TableauAjoute(tbIdRdv,stRDV.oRdv.nPKID) +06/08/2026 Batik 3329 + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › Procédures +fin +fin +si tbIdRdv..Occurrence <= 0 alors +Ferme() +fin +reqInfoSup est une Requête SQL = +[ +SELECT Intervention.* , Client.* , Lieu.* , Adresse.* , RDV_Planning.GUID AS rv_guid, +RDV_Planning.CreationDate AS rv_creeLe, RDV_Planning.CreationUser AS rv_creePar +FROM RDV_Planning +LEFT OUTER JOIN Intervention ON Intervention.IN_PKID = RDV_Planning.RV_IdInter +LEFT OUTER JOIN Client ON Client.CL_PKID = Intervention.IN_IDClient +LEFT OUTER JOIN Lieu ON Lieu.LI_PKID = COALESCE(Intervention.IN_IDLieu ,RDV_Planning.RV_IdLieu) +LEFT OUTER JOIN Adresse ON Adresse.AD_PKID = Lieu.LI_IDAdresse +WHERE RV_PKID IN ({p_IdRdv}) +] +reqInfoSup.p_IdRdv = TableauVersChaîne(tbIdRdv) +si pas HExécuteRequêteSQL(reqInfoSup) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue lors de la recherche des rendez-vous en attente","FEN_RDV_Attente.filtrer" +) +sinon +pour tout reqInfoSup +si gtbaRendezVousAttente[reqInfoSup.rv_guid]..Existe = Vrai alors +gtbaRendezVousAttente[reqInfoSup.rv_guid].oRdv.dhCreation = reqInfoSup.rv_creeLe +gtbaRendezVousAttente[reqInfoSup.rv_guid].oRdv.nCreationUser = reqInfoSup.rv_creePar +si reqInfoSup.IN_PKID > 0 alors +FichierVersMémoire(gtbaRendezVousAttente[reqInfoSup.rv_guid].oInter,reqInfoSup) +fin +si reqInfoSup.CL_PKID > 0 alors +FichierVersMémoire(gtbaRendezVousAttente[reqInfoSup.rv_guid].oClient,reqInfoSup) +fin +si reqInfoSup.li_PKID > 0 alors +FichierVersMémoire(gtbaRendezVousAttente[reqInfoSup.rv_guid].oLieu,reqInfoSup) +FichierVersMémoire(gtbaRendezVousAttente[reqInfoSup.rv_guid].oLieu.oAdresse,reqInfoSup +) +fin +fin +fin +fin +TableSupprimeTout(TABLE_Info) +i est un entier +pour tout stRDV de gtbaRendezVousAttente +i = TableAjouteLigne(TABLE_Info) +si stRDV.oRdv.nCreationUser > 0 _et_ gtbaListeUtilisateurs[stRDV.oRdv.nCreationUser]..Existe = Vrai +alors +COL_CreePar[i] = gtbaListeUtilisateurs[stRDV.oRdv.nCreationUser].NomPrenomColb() +fin +COL_GUID[i] = stRDV.oRdv.saGUID +COL_CreeLe[i] = stRDV.oRdv.dhCreation +COL_Date[i] = stRDV.oRdv.dDateRdv +COL_Objet[i] = stRDV.oRdv.saObjet +COL_PKID[i] = stRDV.oRdv.nPKID +COL_Inter[i] = stRDV.oInter.saRefInterne +COL_NDevis[i] = stRDV.ointer.saNumDevis +COL_Client[i] = stRDV.oClient.saNom +COL_Lieu[i] = stRDV.oLieu.oAdresse.saPresentation +06/08/2026 Batik 3330 + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › Procédures +pour tout oColb de stRDV.tbColbs +si oColb.saGUID_Colb <> "" _et_ gtabListeCollaborateurs[oColb.saGUID_Colb]..Existe = Vrai alors +COL_Colb[i] += gtabListeCollaborateurs[oColb.saGUID_Colb].NomPrenom()+RC +fin +fin +fin +Procédure locale OuvrirRDV +procédure OuvrirRDV() +i est un entier = TABLE_Info +bSup est un booléen = Faux +nbSup est un entier +odColb est un MRDV_Colb dynamique +si i > 0 _et_ COL_PKID[i] > 0 alors +si Ouvre(FEN_Fiche_RDV,COL_PKID[i]) alors +TableauSupprimeTout(gtbaRendezVousAttente[COL_GUID[i]].tbColbs) +reqInfoSup est une Requête SQL = +[ +SELECT Intervention.* , Client.* , Lieu.* , Adresse.* , RDV_Planning.GUID AS rv_guid, +RDV_Collaborateur.*,RDV_Planning.* +FROM RDV_Planning +LEFT OUTER JOIN RDV_Collaborateur ON (RVC_GUID_RDV = RDV_Planning.GUID AND +RDV_Collaborateur.Archive = 0) +LEFT OUTER JOIN Intervention ON Intervention.IN_PKID = RDV_Planning.RV_IdInter +LEFT OUTER JOIN Client ON Client.CL_PKID = Intervention.IN_IDClient +LEFT OUTER JOIN Lieu ON Lieu.LI_PKID = COALESCE(Intervention.IN_IDLieu ,RDV_Planning. +RV_IdLieu) +LEFT OUTER JOIN Adresse ON Adresse.AD_PKID = Lieu.LI_IDAdresse +WHERE RV_PKID = {p_IdRdv} AND RDV_Planning.Archive = 0 +] +reqInfoSup.p_IdRdv = COL_PKID[i] +si pas HExécuteRequêteSQL(reqInfoSup) alors +UneErreur.Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue lors de la recherche de l'intervention", +"FEN_RDV_Attente.OuvrirRDV") +sinon +pour tout reqInfoSup +si reqInfoSup.RVC_GUID_Colb <> "" _et_ DateHeureValide(reqInfoSup.RVC_DateDeb) _et_ +reqInfoSup.RVC_DateDeb <> reqInfoSup.RVC_DateFin alors +nbSup+=1 +fin +fin +pour tout reqInfoSup +FichierVersMémoire(gtbaRendezVousAttente[COL_GUID[i]].oRdv,reqInfoSup) +gtbaRendezVousAttente[COL_GUID[i]].oRdv.saGUID = reqInfoSup.rv_guid +si reqInfoSup.RVC_GUID_Colb <> "" _et_ reqInfoSup.RVC_DateDeb = reqInfoSup.RVC_DateFin +alors +odColb = allouer un MRDV_Colb +FichierVersMémoire(odColb,reqInfoSup) +TableauAjoute(gtbaRendezVousAttente[COL_GUID[i]].tbColbs, odColb) +fin +si reqInfoSup.IN_PKID > 0 alors +FichierVersMémoire(gtbaRendezVousAttente[reqInfoSup.rv_guid].oInter,reqInfoSup) +fin +si reqInfoSup.CL_PKID > 0 alors +FichierVersMémoire(gtbaRendezVousAttente[reqInfoSup.rv_guid].oClient,reqInfoSup) +06/08/2026 Batik 3331 + +Partie 3 › Fenêtre WINDEV › FEN_RDV_Attente › Procédures +fin +si reqInfoSup.LI_PKID > 0 alors +FichierVersMémoire(gtbaRendezVousAttente[reqInfoSup.rv_guid].oLieu,reqInfoSup) +FichierVersMémoire(gtbaRendezVousAttente[reqInfoSup.rv_guid].oLieu.oAdresse, +reqInfoSup) +fin +fin +si nbSup > 0 _et_ gtbaRendezVousAttente[COL_GUID[i]].tbColbs..Occurrence <= 0 alors +TableauSupprime(gtbaRendezVousAttente,COL_GUID[i]) +TableSupprime(TABLE_Info,i) +sinon +COL_Date[i] = gtbaRendezVousAttente[COL_GUID[i]].oRdv.dDateRdv +COL_Objet[i] = gtbaRendezVousAttente[COL_GUID[i]].oRdv.saObjet +COL_Inter[i] = gtbaRendezVousAttente[COL_GUID[i]].oInter.saRefInterne +COL_NDevis[i] = gtbaRendezVousAttente[COL_GUID[i]].oInter.saNumDevis +COL_Client[i] = gtbaRendezVousAttente[COL_GUID[i]].oClient.saNom +COL_Lieu[i] = gtbaRendezVousAttente[COL_GUID[i]].oLieu.oAdresse.saPresentation +COL_Colb[i] = "" +pour tout oColb de gtbaRendezVousAttente[COL_GUID[i]].tbColbs +si oColb.saGUID_Colb <> "" _et_ gtabListeCollaborateurs[oColb.saGUID_Colb]..Existe += Vrai alors +COL_Colb[i] += gtabListeCollaborateurs[oColb.saGUID_Colb].NomPrenom()+RC +fin +fin +fin +fin +fin +fin +Procédure locale Supprimer +procédure Supprimer() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 alors +si OuiNon("Êtes-vous sûr de vouloir supprimer le rendez-vous sélectionné ?") = Oui alors +si gtbaRendezVousAttente[COL_GUID[i]]..Existe = Vrai alors +si gtbaRendezVousAttente[COL_GUID[i]].oRdv.nPKID > 0 alors +gtbaRendezVousAttente[COL_GUID[i]].oRdv.bArchive = Vrai +si gtbaRendezVousAttente[COL_GUID[i]].oRdv.Enregistrer() alors +pour tout oColb de gtbaRendezVousAttente[COL_GUID[i]].tbColbs +si oColb.nPKID > 0 alors +oColb.bArchive = Vrai +oColb.Enregistrer() +fin +fin +fin +fin +TableauSupprime(gtbaRendezVousAttente,COL_GUID[i]) +fin +TableSupprime(TABLE_Info,i) +fin +fin +06/08/2026 Batik 3332 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Image +FEN_Menu_Items +Image +FEN_Menu_Items +Informations générales +FEN_Menu_Items +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Menu_Items.wdw +| Créé par | | susana@applilogik.fr | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Date de création | | 28/01/2026 16:37:32 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 17/04/2026 17:16:42 | | | | +| Titre | | FR: Menu Items | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Options du menu +| Position X | 0 Position Y | | 0 Largeur | 655 Hauteur | 315 | +| ---------------- | ------------ | -------------------- | --------- | --------------- | ---- | +| 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 | | +| 06/08/2026 | | | Batik | | 3333 | + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations générales +| Déplace/fond | Sauve position | | Ascenseur auto. | | +| --------------------- | -------------- | --- | --------------- | --- | +| Gestion grande police | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | Actif | | | | +| ------------------------------- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | 0 | | | | +| Copie d'écran | Oui | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | <Aucun> | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| 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. | Oui | | | | +| Grisé : Algo pour images | <Défaut> | | | | +| Style du menu | Windows 11 | | | | +| 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 | | | | +| 06/08/2026 | | Batik | | 3334 | + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations générales +Statistiques de la fenêtre +| | Libellé | | 13 | Image | | | 13 | +| --- | -------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Superchamp | | 13 | Champ Modèle de champs | | | 26 | +| | Option de menu | | 6 | | | | | +Nombre d'éléments dans la fenêtre : 71 +FEN_Menu_Items +Informations sur les champs +Fenêtre : FEN_Menu_Items +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_Menu_1 | | 4 | 3 122 | 102 | 0 | Actif | | +| ------------ | --- | --- | ------- | --- | --- | ----- | --- | +| CMOD_Menu_10 | | 394 | 105 122 | 102 | 0 | Actif | | +| CMOD_Menu_11 | | 394 | 207 122 | 102 | 0 | Actif | | +| CMOD_Menu_12 | | 524 | 3 122 | 102 | 0 | Actif | | +| CMOD_Menu_3 | | 4 | 105 122 | 102 | 0 | Actif | | +| CMOD_Menu_4 | | 134 | 3 122 | 102 | 0 | Actif | | +| CMOD_Menu_5 | | 134 | 105 122 | 102 | 0 | Actif | | +| CMOD_Menu_6 | | 134 | 207 122 | 102 | 0 | Actif | | +| CMOD_Menu_7 | | 264 | 3 122 | 102 | 0 | Actif | | +| CMOD_Menu_8 | | 264 | 103 122 | 102 | 0 | Actif | | +| CMOD_Menu_9 | | 394 | 3 122 | 102 | 0 | Actif | | +| CMOD_Param | | 524 | 105 122 | 102 | 0 | Actif | | +| CMOD_Sortir | | 524 | 207 122 | 102 | 0 | Actif | | +Champ Modèle de champs : CMOD_Menu_1 +| 06/08/2026 | | | Batik | | | | 3335 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Menu_1 | 10 | 7 | 112 | 94 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Menu_1.CMOD_Menu_1 +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_Div | 14 | 12 | 103 | 83 | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_Menu_1.CMOD_Menu_1.SC_Div +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Titre | 15 68 | 101 22 | 0 | Actif | Centre | Centre | | +| --------- | ----- | ------ | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | | laitini tatE | | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --------- | --- | +| | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Btn | 42 | 18 48 | 48 | 0 | Actif | | | +| ---------- | --- | ----- | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | | 3336 | + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Champ Modèle de champs : CMOD_Menu_10 +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_Menu_1 | 400 | 109 | 112 | 94 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Menu_10.CMOD_Menu_1 +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| SC_Div | 404 | 114 | 103 | 83 | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_Menu_10.CMOD_Menu_1.SC_Div +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Titre | 405 170 | 101 22 | 0 | Actif | Centre | Centre | | +| --------- | ------- | ------ | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | --- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | +| | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Btn | 432 | 120 48 | 48 | 0 | Actif | | | +| ---------- | --- | ------ | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | | 3337 | + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Champ Modèle de champs : CMOD_Menu_11 +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_Menu_1 | 400 | 211 | 112 | 94 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Menu_11.CMOD_Menu_1 +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| SC_Div | 404 | 216 | 103 | 83 | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_Menu_11.CMOD_Menu_1.SC_Div +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Titre | 405 272 | 101 22 | 0 | Actif | Centre | Centre | | +| --------- | ------- | ------ | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | --- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | +| | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Btn | 432 | 222 48 | 48 | 0 | Actif | | | +| ---------- | --- | ------ | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | | 3338 | + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Champ Modèle de champs : CMOD_Menu_12 +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_Menu_1 | 530 | 7 | 112 94 | 0 | Actif | | +| ----------- | --- | --- | ------ | --- | ----- | --- | +Champ Modèle de champs : CMOD_Menu_12.CMOD_Menu_1 +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| SC_Div | 534 | 12 | 103 83 | 0 | Actif | | +| ------ | --- | --- | ------ | --- | ----- | --- | +Superchamp : CMOD_Menu_12.CMOD_Menu_1.SC_Div +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Titre | 535 68 | 101 22 | 0 Actif | Centre | Centre | | +| --------- | ------ | ------ | ------- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | +| | | ruegraL | ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_Btn | 562 | 18 48 | 48 0 | Actif | | | +| ---------- | --- | ----- | ---- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | 3339 | + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Champ Modèle de champs : CMOD_Menu_3 +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_Menu_1 | 10 | 109 | 112 | 94 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Menu_3.CMOD_Menu_1 +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| SC_Div | 14 | 114 | 103 | 83 | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_Menu_3.CMOD_Menu_1.SC_Div +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Titre | 15 170 | 101 22 | 0 | Actif | Centre | Centre | | +| --------- | ------ | ------ | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | --- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | +| | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Btn | 42 | 120 48 | 48 | 0 | Actif | | | +| ---------- | --- | ------ | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | | 3340 | + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Champ Modèle de champs : CMOD_Menu_4 +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_Menu_1 | 140 | 7 | 112 94 | 0 | Actif | | +| ----------- | --- | --- | ------ | --- | ----- | --- | +Champ Modèle de champs : CMOD_Menu_4.CMOD_Menu_1 +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| SC_Div | 144 | 12 | 103 83 | 0 | Actif | | +| ------ | --- | --- | ------ | --- | ----- | --- | +Superchamp : CMOD_Menu_4.CMOD_Menu_1.SC_Div +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Titre | 145 68 | 101 22 | 0 Actif | Centre | Centre | | +| --------- | ------ | ------ | ------- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | +| | | ruegraL | ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_Btn | 172 | 18 48 | 48 0 | Actif | | | +| ---------- | --- | ----- | ---- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | 3341 | + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Champ Modèle de champs : CMOD_Menu_5 +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_Menu_1 | 140 | 109 | 112 | 94 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Menu_5.CMOD_Menu_1 +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| SC_Div | 144 | 114 | 103 | 83 | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_Menu_5.CMOD_Menu_1.SC_Div +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Titre | 145 170 | 101 22 | 0 | Actif | Centre | Centre | | +| --------- | ------- | ------ | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | --- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | +| | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Btn | 172 | 120 48 | 48 | 0 | Actif | | | +| ---------- | --- | ------ | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | | 3342 | + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Champ Modèle de champs : CMOD_Menu_6 +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_Menu_1 | 140 | 211 | 112 | 94 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Menu_6.CMOD_Menu_1 +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| SC_Div | 144 | 216 | 103 | 83 | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_Menu_6.CMOD_Menu_1.SC_Div +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Titre | 145 272 | 101 22 | 0 | Actif | Centre | Centre | | +| --------- | ------- | ------ | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | --- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | +| | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Btn | 172 | 222 48 | 48 | 0 | Actif | | | +| ---------- | --- | ------ | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | | 3343 | + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Champ Modèle de champs : CMOD_Menu_7 +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_Menu_1 | 270 | 7 | 112 94 | 0 | Actif | | +| ----------- | --- | --- | ------ | --- | ----- | --- | +Champ Modèle de champs : CMOD_Menu_7.CMOD_Menu_1 +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| SC_Div | 274 | 12 | 103 83 | 0 | Actif | | +| ------ | --- | --- | ------ | --- | ----- | --- | +Superchamp : CMOD_Menu_7.CMOD_Menu_1.SC_Div +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Titre | 275 68 | 101 22 | 0 Actif | Centre | Centre | | +| --------- | ------ | ------ | ------- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | +| | | ruegraL | ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_Btn | 302 | 18 48 | 48 0 | Actif | | | +| ---------- | --- | ----- | ---- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | 3344 | + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Champ Modèle de champs : CMOD_Menu_8 +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_Menu_1 | 270 | 107 | 112 | 94 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Menu_8.CMOD_Menu_1 +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| SC_Div | 274 | 112 | 103 | 83 | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_Menu_8.CMOD_Menu_1.SC_Div +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Titre | 275 168 | 101 22 | 0 | Actif | Centre | Centre | | +| --------- | ------- | ------ | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | --- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | +| | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Btn | 302 | 118 48 | 48 | 0 | Actif | | | +| ---------- | --- | ------ | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | | 3345 | + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Champ Modèle de champs : CMOD_Menu_9 +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_Menu_1 | 400 | 7 | 112 94 | 0 | Actif | | +| ----------- | --- | --- | ------ | --- | ----- | --- | +Champ Modèle de champs : CMOD_Menu_9.CMOD_Menu_1 +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| SC_Div | 404 | 12 | 103 83 | 0 | Actif | | +| ------ | --- | --- | ------ | --- | ----- | --- | +Superchamp : CMOD_Menu_9.CMOD_Menu_1.SC_Div +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Titre | 405 68 | 101 22 | 0 Actif | Centre | Centre | | +| --------- | ------ | ------ | ------- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | +| | | ruegraL | ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_Btn | 432 | 18 48 | 48 0 | Actif | | | +| ---------- | --- | ----- | ---- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | 3346 | + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Champ Modèle de champs : CMOD_Param +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_Menu_1 | 530 | 109 | 112 | 94 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Param.CMOD_Menu_1 +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| SC_Div | 534 | 114 | 103 | 83 | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_Param.CMOD_Menu_1.SC_Div +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Titre | 535 170 | 101 22 | 0 | Actif | Centre | Centre | | +| --------- | ------- | ------ | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | --- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | +| | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Btn | 562 | 120 48 | 48 | 0 | Actif | | | +| ---------- | --- | ------ | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | | 3347 | + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Champ Modèle de champs : CMOD_Sortir +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_Menu_1 | 530 | 211 | 112 | 94 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Sortir.CMOD_Menu_1 +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| SC_Div | 534 | 216 | 103 | 83 | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_Sortir.CMOD_Menu_1.SC_Div +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Titre | 535 272 | 101 22 | 0 | Actif | Centre | Centre | | +| --------- | ------- | ------ | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | --- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | +| | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Btn | 562 | 222 48 | 48 | 0 | Actif | | | +| ---------- | --- | ------ | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | | 3348 | + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Fenêtre : FEN_Menu_Items +Champ Modèle de champs : CMOD_Menu_1 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_10 +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3349 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Champ Modèle de champs : CMOD_Menu_11 +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_12 +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3350 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Champ Modèle de champs : CMOD_Menu_3 +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_4 +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3351 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Champ Modèle de champs : CMOD_Menu_5 +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_6 +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3352 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Champ Modèle de champs : CMOD_Menu_7 +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_8 +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3353 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Champ Modèle de champs : CMOD_Menu_9 +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Param +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3354 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Champ Modèle de champs : CMOD_Sortir +Ordre navigation 13 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_1 +Champ Modèle de champs : CMOD_Menu_1.CMOD_Menu_1 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3355 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Champ Modèle de champs : CMOD_Menu_1.CMOD_Menu_1 +Superchamp : CMOD_Menu_1.CMOD_Menu_1.SC_Div +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +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 101 +Hauteur externe 81 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Menu_1.CMOD_Menu_1.SC_Div +Image : CMOD_Menu_1.CMOD_Menu_1.SC_Div.IMG_Btn +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Planning_marron.svg +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +06/08/2026 Batik 3356 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Menu_1.CMOD_Menu_1.SC_Div.LIB_Titre +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Planning +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse <Aucun> +06/08/2026 Batik 3357 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_10 +Champ Modèle de champs : CMOD_Menu_10.CMOD_Menu_1 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_10.CMOD_Menu_1 +06/08/2026 Batik 3358 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Superchamp : CMOD_Menu_10.CMOD_Menu_1.SC_Div +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +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 101 +Hauteur externe 81 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Menu_10.CMOD_Menu_1.SC_Div +Image : CMOD_Menu_10.CMOD_Menu_1.SC_Div.IMG_Btn +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Equipe_jaune.svg +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 +06/08/2026 Batik 3359 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Menu_10.CMOD_Menu_1.SC_Div.LIB_Titre +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Équipe +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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) +06/08/2026 Batik 3360 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_11 +Champ Modèle de champs : CMOD_Menu_11.CMOD_Menu_1 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_11.CMOD_Menu_1 +06/08/2026 Batik 3361 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Superchamp : CMOD_Menu_11.CMOD_Menu_1.SC_Div +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +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 101 +Hauteur externe 81 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Menu_11.CMOD_Menu_1.SC_Div +Image : CMOD_Menu_11.CMOD_Menu_1.SC_Div.IMG_Btn +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Société_jaune.svg +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 +06/08/2026 Batik 3362 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Menu_11.CMOD_Menu_1.SC_Div.LIB_Titre +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Société +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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) +06/08/2026 Batik 3363 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_12 +Champ Modèle de champs : CMOD_Menu_12.CMOD_Menu_1 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_12.CMOD_Menu_1 +06/08/2026 Batik 3364 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Superchamp : CMOD_Menu_12.CMOD_Menu_1.SC_Div +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +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 101 +Hauteur externe 81 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Menu_12.CMOD_Menu_1.SC_Div +Image : CMOD_Menu_12.CMOD_Menu_1.SC_Div.IMG_Btn +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\excel.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Batik 3365 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Menu_12.CMOD_Menu_1.SC_Div.LIB_Titre +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Données +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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) +06/08/2026 Batik 3366 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_3 +Champ Modèle de champs : CMOD_Menu_3.CMOD_Menu_1 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_3.CMOD_Menu_1 +06/08/2026 Batik 3367 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Superchamp : CMOD_Menu_3.CMOD_Menu_1.SC_Div +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +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 101 +Hauteur externe 81 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Menu_3.CMOD_Menu_1.SC_Div +Image : CMOD_Menu_3.CMOD_Menu_1.SC_Div.IMG_Btn +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Temps_passé_marron.svg +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 +06/08/2026 Batik 3368 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Menu_3.CMOD_Menu_1.SC_Div.LIB_Titre +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Temps passé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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) +06/08/2026 Batik 3369 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_4 +Champ Modèle de champs : CMOD_Menu_4.CMOD_Menu_1 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_4.CMOD_Menu_1 +06/08/2026 Batik 3370 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Superchamp : CMOD_Menu_4.CMOD_Menu_1.SC_Div +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +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 101 +Hauteur externe 81 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Menu_4.CMOD_Menu_1.SC_Div +Image : CMOD_Menu_4.CMOD_Menu_1.SC_Div.IMG_Btn +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Dossier_violet.svg +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 +06/08/2026 Batik 3371 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Menu_4.CMOD_Menu_1.SC_Div.LIB_Titre +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Dossier +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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) +06/08/2026 Batik 3372 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_5 +Champ Modèle de champs : CMOD_Menu_5.CMOD_Menu_1 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_5.CMOD_Menu_1 +06/08/2026 Batik 3373 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Superchamp : CMOD_Menu_5.CMOD_Menu_1.SC_Div +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +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 101 +Hauteur externe 81 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Menu_5.CMOD_Menu_1.SC_Div +Image : CMOD_Menu_5.CMOD_Menu_1.SC_Div.IMG_Btn +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Site_violet.svg +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 +06/08/2026 Batik 3374 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Menu_5.CMOD_Menu_1.SC_Div.LIB_Titre +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Site +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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) +06/08/2026 Batik 3375 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_6 +Champ Modèle de champs : CMOD_Menu_6.CMOD_Menu_1 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_6.CMOD_Menu_1 +06/08/2026 Batik 3376 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Superchamp : CMOD_Menu_6.CMOD_Menu_1.SC_Div +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +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 101 +Hauteur externe 81 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Menu_6.CMOD_Menu_1.SC_Div +Image : CMOD_Menu_6.CMOD_Menu_1.SC_Div.IMG_Btn +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Suivi_violet.svg +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 +06/08/2026 Batik 3377 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Menu_6.CMOD_Menu_1.SC_Div.LIB_Titre +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Suivi +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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) +06/08/2026 Batik 3378 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_7 +Champ Modèle de champs : CMOD_Menu_7.CMOD_Menu_1 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_7.CMOD_Menu_1 +06/08/2026 Batik 3379 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Superchamp : CMOD_Menu_7.CMOD_Menu_1.SC_Div +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +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 101 +Hauteur externe 81 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Menu_7.CMOD_Menu_1.SC_Div +Image : CMOD_Menu_7.CMOD_Menu_1.SC_Div.IMG_Btn +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Client_rose.svg +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 +06/08/2026 Batik 3380 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Menu_7.CMOD_Menu_1.SC_Div.LIB_Titre +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Client +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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) +06/08/2026 Batik 3381 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_8 +Champ Modèle de champs : CMOD_Menu_8.CMOD_Menu_1 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_8.CMOD_Menu_1 +06/08/2026 Batik 3382 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Superchamp : CMOD_Menu_8.CMOD_Menu_1.SC_Div +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +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 101 +Hauteur externe 81 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Menu_8.CMOD_Menu_1.SC_Div +Image : CMOD_Menu_8.CMOD_Menu_1.SC_Div.IMG_Btn +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Contact_rose.svg +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 +06/08/2026 Batik 3383 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Menu_8.CMOD_Menu_1.SC_Div.LIB_Titre +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Contact +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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) +06/08/2026 Batik 3384 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_9 +Champ Modèle de champs : CMOD_Menu_9.CMOD_Menu_1 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Menu_9.CMOD_Menu_1 +06/08/2026 Batik 3385 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Superchamp : CMOD_Menu_9.CMOD_Menu_1.SC_Div +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +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 101 +Hauteur externe 81 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Menu_9.CMOD_Menu_1.SC_Div +Image : CMOD_Menu_9.CMOD_Menu_1.SC_Div.IMG_Btn +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Collaborateur_jaune.svg +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 +06/08/2026 Batik 3386 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Menu_9.CMOD_Menu_1.SC_Div.LIB_Titre +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Collaborateur +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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) +06/08/2026 Batik 3387 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Param +Champ Modèle de champs : CMOD_Param.CMOD_Menu_1 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Param.CMOD_Menu_1 +06/08/2026 Batik 3388 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Superchamp : CMOD_Param.CMOD_Menu_1.SC_Div +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +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 101 +Hauteur externe 81 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Param.CMOD_Menu_1.SC_Div +Image : CMOD_Param.CMOD_Menu_1.SC_Div.IMG_Btn +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Paramètre.svg +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 +06/08/2026 Batik 3389 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Param.CMOD_Menu_1.SC_Div.LIB_Titre +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Paramétrage +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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) +06/08/2026 Batik 3390 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Sortir +Champ Modèle de champs : CMOD_Sortir.CMOD_Menu_1 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Sortir.CMOD_Menu_1 +06/08/2026 Batik 3391 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +Superchamp : CMOD_Sortir.CMOD_Menu_1.SC_Div +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +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 101 +Hauteur externe 81 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Sortir.CMOD_Menu_1.SC_Div +Image : CMOD_Sortir.CMOD_Menu_1.SC_Div.IMG_Btn +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\exit.svg +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 +06/08/2026 Batik 3392 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Sortir.CMOD_Menu_1.SC_Div.LIB_Titre +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Quitter +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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) +06/08/2026 Batik 3393 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Informations sur les champs +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Menu_Items +Informations sur les menus +Menu contextuel : 'MNU_Parametres' +Nom des options +OPT_ParamMetier (2) +OPT_Profils_Droits (3) +OPT_ParamDefaut (4) +OPT_ModeleMail (6) +OPT_ModeleRapport (7) +Libellé des options : Français +Paramètres métiers +Profils et droits +Réglages par défaut +Éditeur de modèles de mails +Éditeur de modèles de rapports +FEN_Menu_Items +Code +Déclarations globales de FEN_Menu_Items +//--- Fenêtre Popup --- +// Pour accéder au champ ou à la combo popup qui a ouvert cette fenêtre +// vous pouvez utiliser : MonChampPopup +procédure FEN_Menu_Items() +06/08/2026 Batik 3394 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code +nFoisParam est un entier = 0 +Fin d'initialisation de FEN_Menu_Items +bDroitParam est un booléen = bDroit(cGestion_Param) +CMOD_Param..Visible = bDroitParam +si EnModeTest() alors +CMOD_Param..Visible = Vrai +fin +si gbBATIGESTActif alors +MenuAjouteOption("OPT_ParamDefaut","Batigest","Batigest",OuvrirBatigest) +fin +FEN_Menu_Items +Code des champs +Fin d'initialisation de CMOD_Menu_1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Menu_1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Menu_1 (modèle MDLC_DivBTN) +06/08/2026 Batik 3395 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3396 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +ExécuteAncêtre +A chaque modification de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div (modèle MDLC_DivBTN) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[cParam_Alias] = "FEN_Agenda" +OuvreSoeur(FEN_Agenda,tbaParam) +A chaque modification de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_Titre ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_Titre ( SC_Div ) +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[cParam_Alias] = "FEN_Agenda" +OuvreSoeur(FEN_Agenda,tbaParam) +Fin d'initialisation de CMOD_Menu_10 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_10 +06/08/2026 Batik 3397 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_10 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Menu_10 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_10 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_10 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_10 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3398 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +ExécuteAncêtre +Fin d'initialisation de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div (modèle MDLC_DivBTN) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ExécuteTraitement(FEN_Menu.OuvreOptionMenu,trtProcédure,cFEN_Equipe) +A chaque modification de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Btn ( SC_Div ) +06/08/2026 Batik 3399 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_Titre ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_Titre ( SC_Div ) +OuvreFenOnglet("FI_Liste_Equipe","Liste des équipes",IMG_Btn..NomComplet) +Fin d'initialisation de CMOD_Menu_11 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_11 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_11 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Menu_11 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_11 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_11 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_11 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3400 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div (modèle MDLC_DivBTN) +06/08/2026 Batik 3401 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div (modèle MDLC_DivBTN) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ExécuteTraitement(FEN_Menu.OuvreOptionMenu,trtProcédure,cFEN_Societe) +A chaque modification de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_Titre ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_Titre ( SC_Div ) +OuvreFenOnglet("FI_Liste_Societes","Liste des sociétés",IMG_Btn..NomComplet) +Fin d'initialisation de CMOD_Menu_12 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_12 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_12 +06/08/2026 Batik 3402 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Menu_12 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_12 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_12 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_12 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3403 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div (modèle MDLC_DivBTN) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ouvre(FEN_ExportExcel) +A chaque modification de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Btn ( SC_Div ) +06/08/2026 Batik 3404 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_Titre ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_Titre ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ouvre(FEN_ExportExcel) +Fin d'initialisation de CMOD_Menu_3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Menu_3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_1 (modèle MDLC_DivBTN) +06/08/2026 Batik 3405 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3406 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div (modèle MDLC_DivBTN) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreSoeur(FEN_Suivi_Temps) +A chaque modification de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_Titre ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_Titre ( SC_Div ) +OuvreSoeur(FEN_Suivi_Temps) +Fin d'initialisation de CMOD_Menu_4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_4 +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3407 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +ExécuteAncêtre +Sortie de CMOD_Menu_4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div (modèle MDLC_DivBTN) +06/08/2026 Batik 3408 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div (modèle MDLC_DivBTN) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ExécuteTraitement(FEN_Menu.OuvreOptionMenu,trtProcédure,cFEN_Dossier) +A chaque modification de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Btn ( SC_Div ) +06/08/2026 Batik 3409 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_Titre ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_Titre ( SC_Div ) +OuvreFenOnglet("FI_Liste_Dossier","Liste des dossier",IMG_Btn..NomComplet) +Fin d'initialisation de CMOD_Menu_5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Menu_5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3410 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +ExécuteAncêtre +Sortie de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div (modèle MDLC_DivBTN) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de IMG_Btn ( SC_Div ) +06/08/2026 Batik 3411 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ExécuteTraitement(FEN_Menu.OuvreOptionMenu,trtProcédure,cFEN_Site) +A chaque modification de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_Titre ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_Titre ( SC_Div ) +OuvreFenOnglet("FI_Liste_Site","Liste des sites",IMG_Btn..NomComplet) +Fin d'initialisation de CMOD_Menu_6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Menu_6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_6 +06/08/2026 Batik 3412 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3413 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +ExécuteAncêtre +Sortie de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div (modèle MDLC_DivBTN) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_Titre ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_Titre ( SC_Div ) +06/08/2026 Batik 3414 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Menu_7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Menu_7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3415 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div (modèle MDLC_DivBTN) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +06/08/2026 Batik 3416 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +ExécuteTraitement(FEN_Menu.OuvreOptionMenu,trtProcédure,cFEN_Client) +A chaque modification de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_Titre ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_Titre ( SC_Div ) +OuvreFenOnglet("FI_Liste_Client","Liste des client",IMG_Btn..NomComplet) +Fin d'initialisation de CMOD_Menu_8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Menu_8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_8 +06/08/2026 Batik 3417 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3418 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div (modèle MDLC_DivBTN) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ExécuteTraitement(FEN_Menu.OuvreOptionMenu,trtProcédure,cFEN_Contact) +A chaque modification de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_Titre ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_Titre ( SC_Div ) +OuvreFenOnglet("FI_Liste_Contact","Liste des contacts",IMG_Btn..NomComplet) +Fin d'initialisation de CMOD_Menu_9 +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3419 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Menu_9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_9 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_1 (modèle MDLC_DivBTN) +06/08/2026 Batik 3420 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div (modèle MDLC_DivBTN) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ExécuteTraitement(FEN_Menu.OuvreOptionMenu,trtProcédure,cFEN_Colb) +A chaque modification de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Btn ( SC_Div ) +06/08/2026 Batik 3421 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_Titre ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_Titre ( SC_Div ) +OuvreFenOnglet("FI_Liste_Collaborateurs","Liste des collaborateurs",IMG_Btn..NomComplet) +Fin d'initialisation de CMOD_Param +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Param +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Param +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Param +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Param +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Param +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Param +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3422 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div (modèle MDLC_DivBTN) +06/08/2026 Batik 3423 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div (modèle MDLC_DivBTN) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Parametres) +nFoisParam += 1 +si nFoisParam > 9 alors +FEN_Menu.ONG_Menu.ParamDev..Visible = Vrai +ToastAffiche("Paramétrage dev débloque") +fin +A chaque modification de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_Titre ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_Titre ( SC_Div ) +OuvreMenuContextuel(MNU_Parametres) +Fin d'initialisation de CMOD_Sortir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Sortir +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3424 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +ExécuteAncêtre +Entrée dans CMOD_Sortir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Sortir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Sortir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Sortir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Sortir +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_1 (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div (modèle MDLC_DivBTN) +06/08/2026 Batik 3425 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div (modèle MDLC_DivBTN) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div (modèle MDLC_DivBTN) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +FinProgramme() +A chaque modification de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Btn ( SC_Div ) +06/08/2026 Batik 3426 + +Partie 3 › Fenêtre WINDEV › FEN_Menu_Items › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Btn ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_Titre ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_Titre ( SC_Div ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +FinProgramme() +Sélection du menu de MNU_Parametres.OPT_ModeleMail +Ouvre(FEN_Liste_Modele_Mails) +Ferme() +Sélection du menu de MNU_Parametres.OPT_ModeleRapport +Ouvre(FEN_Liste_Modele_Rapports) +Ferme() +Sélection du menu de MNU_Parametres.OPT_ParamMetier +Ouvre(FEN_Liste_Parametres_Metier) +Ferme() +Sélection du menu de MNU_Parametres.OPT_Profils_Droits +Ouvre(FEN_Liste_Roles) +Ferme() +FEN_Menu_Items +Procédures +Procédure locale OuvrirBatigest +procédure OuvrirBatigest() +Ouvre(FEN_Parametres_Base_Ext) +Ferme() +06/08/2026 Batik 3427 + +Partie 3 › Fenêtre WINDEV › FEN_MaJ_Donnees_Demo › Image +FEN_MaJ_Donnees_Demo +Image +FEN_MaJ_Donnees_Demo +Informations générales +FEN_MaJ_Donnees_Demo +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_MaJ_Donnees_Demo.wdw +| Créé par | | susana@applilogik.fr | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 29/01/2026 10:01:24 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 24/03/2026 14:51:28 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1199 Hauteur | 271 | +| 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 | | | | +| ------------ | --- | ----- | ----- | --- | ---- | +| 06/08/2026 | | | Batik | | 3428 | + +Partie 3 › Fenêtre WINDEV › FEN_MaJ_Donnees_Demo › Informations générales +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Oui +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Non +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. Oui +Grisé : Algo pour images <Défaut> +Style du menu Windows 11 +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 32 +Pos. Y Menu 2 +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 +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +Libellé 1 Bouton 4 +Image 4 Superchamp 1 +Champ Modèle de champs 1 Case barre de message 1 +06/08/2026 Batik 3429 + +Partie 3 › Fenêtre WINDEV › FEN_MaJ_Donnees_Demo › Informations générales +Nombre d'éléments dans la fenêtre : 12 +FEN_MaJ_Donnees_Demo +Informations sur les champs +Fenêtre : FEN_MaJ_Donnees_Demo +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| BTN_Adresses | 9 9 | 258 42 | 0 | Actif | Normal | | +| ------------ | ------ | ------ | --- | ----- | ------ | --- | +| BTN_Client | 9 55 | 258 42 | 0 | Actif | Normal | | +| BTN_Colb | 9 105 | 258 42 | 0 | Actif | Normal | | +| BTN_RDV1 | 275 84 | 258 63 | 0 | Actif | Normal | | +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_BordFen | 0 | -29 1063 | 29 | 0 | Actif | | +| ------------ | --- | -------- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_SansNom1 | 0 | -29 1063 | 30 | 0 | Actif | | +| ----------- | --- | -------- | --- | --- | ----- | ---- | +| 06/08/2026 | | Batik | | | | 3430 | + +Partie 3 › Fenêtre WINDEV › FEN_MaJ_Donnees_Demo › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --------------------- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_Libellé | 91 -27 | 940 25 | 0 Actif | Gauche | Centre | | +| ----------- | ------ | ------ | ------- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------------ | --------- | ---------- | +| | | ruegraL | ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 1031 | -26 28 | 23 0 | Actif | | | +| -------------------------- | ---- | ------ | ---- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 28 | 23 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 34 | 26 0 | Actif | | | +| IMG_SombreClair | 38 | -26 21 | 23 0 | Actif | | | +Fenêtre : FEN_MaJ_Donnees_Demo +Bouton : BTN_Adresses +| Libellé | FR: Anonymiser les adresses | | | | | | +| -------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| 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é) | | | | | | +| Bulle d'aide | FR: Changement dans le rubriques | | | | | | +PL_Objet => RV_Objet +PL_Description => RV_Description +| Numéro aide | 0 | | | | | | +| ---------------------- | --- | ----- | --- | --- | --- | ---- | +| Opacité | 100 | | | | | | +| Autorise ChangeGabarit | Oui | | | | | | +| 06/08/2026 | | Batik | | | | 3431 | + +Partie 3 › Fenêtre WINDEV › FEN_MaJ_Donnees_Demo › Informations sur les champs +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : BTN_Client +Libellé FR: Anonymiser les contacts / clients +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é) +Bulle d'aide FR: Changement dans le rubriques +PL_Objet => RV_Objet +PL_Description => RV_Description +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 +06/08/2026 Batik 3432 + +Partie 3 › Fenêtre WINDEV › FEN_MaJ_Donnees_Demo › Informations sur les champs +Type flèche <Aucun> +Texte Markdown Non +Mode menu ctx. <Aucun> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Bouton : BTN_Colb +Libellé FR: Collaborateurs +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é) +Bulle d'aide FR: Changement dans le rubriques +PL_Objet => RV_Objet +PL_Description => RV_Description +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +06/08/2026 Batik 3433 + +Partie 3 › Fenêtre WINDEV › FEN_MaJ_Donnees_Demo › Informations sur les champs +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 +Bouton : BTN_RDV1 +Libellé FR: Mettre les rdvs à la date du jour +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é) +Bulle d'aide FR: Changement dans le rubriques +PL_Objet => RV_Objet +PL_Description => RV_Description +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 3434 + +Partie 3 › Fenêtre WINDEV › FEN_MaJ_Donnees_Demo › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 +06/08/2026 Batik 3435 + +Partie 3 › Fenêtre WINDEV › FEN_MaJ_Donnees_Demo › Informations sur les champs +Texte Markdown Non +Source de remplissage Table chargée en mémoire +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3436 + +Partie 3 › Fenêtre WINDEV › FEN_MaJ_Donnees_Demo › Informations sur les champs +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 +06/08/2026 Batik 3437 + +Partie 3 › Fenêtre WINDEV › FEN_MaJ_Donnees_Demo › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 3438 + +Partie 3 › Fenêtre WINDEV › FEN_MaJ_Donnees_Demo › Informations sur les champs +Taux anc. droite 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_MaJ_Donnees_Demo +Code +Déclarations globales de FEN_MaJ_Donnees_Demo +procédure FEN_MaJ_Donnees_Demo() +06/08/2026 Batik 3439 + +Partie 3 › Fenêtre WINDEV › FEN_MaJ_Donnees_Demo › Code des champs +FEN_MaJ_Donnees_Demo +Code des champs +Initialisation de BTN_Adresses +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Adresses +si AnonymiserAdresses() alors +Info("Traitement terminé") +fin +Initialisation de BTN_Client +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Client +si AnonymiserPersonne() alors +Info("Traitement terminé") +fin +Initialisation de BTN_Colb +// Version 1 +// Description +// Bouton simple +Clic sur BTN_Colb +si CompleterColb() alors +Info("Traitement terminé") +fin +Initialisation de BTN_RDV1 +// Version 1 +// Description +// Bouton simple +Clic sur BTN_RDV1 +06/08/2026 Batik 3440 + +Partie 3 › Fenêtre WINDEV › FEN_MaJ_Donnees_Demo › Code des champs +si MaJRdv() alors +Info("Traitement terminé") +fin +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +06/08/2026 Batik 3441 + +Partie 3 › Fenêtre WINDEV › FEN_MaJ_Donnees_Demo › Procédures +FEN_MaJ_Donnees_Demo +Procédures +Procédure locale AnonymiserAdresses +procédure AnonymiserAdresses() +tbTypeVoie est un tableau de chaînes = ["rue", "avenue", "boulevard", "impasse", "allée", "route"] +tbNomVoie est un tableau de chaînes = ["des Acacias","des Amandiers","des Bleuets","des Capucines", +"des Coquelicots","des Églantines","des Glycines",... +"des Iris","des Lilas","des Magnolias","des Mimosas","des Myosotis","des Orchidées", +"des Pâquerettes",... +"des Roses","des Tulipes","du Bois Clair","du Chêne Vert","du Clos Fleuri","du Moulin Neuf", +"du Parc",... +"du Pont Vieux","du Pré Long","du Val Doré","du Verger","du Vieux Puits","de la Bergerie", +"de la Briqueterie",... +"de la Cascade","de la Clairière","de la Fontaine","de la Gare","de la Lande","de la Mare", +"de la Prairie","de la Sablière",... +"de l’Avenir","de l’Étoile","de l’Horizon","de l’Espérance","de la Liberté","de la Concorde",... +"de la Paix","de la Fraternité","du Progrès","des Artisans","des Écoles","des Jardins","des Sports" +,... +"des Tisserands","des Vignerons","des Pêcheurs","des Navigateurs","Jean Jaurès","Victor Hugo", +"Émile Zola",... +"Louis Pasteur","Marie Curie","Jules Verne","Georges Sand","Paul Éluard","des Hauts Prés", +"des Longues Haies",... +"des Petits Champs","des Trois Chênes","des Quatre Vents","des Sept Arpents" +] +nRue est un entier +saAd est une chaîne ANSI +HTransactionDébut() +i est un entier +pour tout Adresse +i = Hasard(1,tbNomVoie..Occurrence) +nRue = Hasard(1,999) +saAd = nRue + " "+tbTypeVoie[Hasard(1,6)]+" "+tbNomVoie[i] +Adresse.AD_Adresse = saAd +Adresse.AD_Etiquette = Adresse.AD_CodePostal+":"+nRue+" "+tbNomVoie[i] +Adresse.AD_Ligne_1 = "" +Adresse.AD_Ligne_2 = "" +Adresse.AD_Ligne_3 = "" +Adresse.AD_Ligne_4 = "" +Adresse.AD_Ligne_5 = "" +si Adresse.AD_Adresse..Taille > 38 alors +Adresse.AD_Ligne_1 = saAd +sinon +Adresse.AD_Ligne_1 = saAd[1 à 38] +si Adresse.AD_Adresse..Taille < 76 alors +Adresse.AD_Ligne_2 = saAd[39 à ] +sinon +Adresse.AD_Ligne_2 = saAd[39 à 76] +si Adresse.AD_Adresse..Taille < 114 alors +Adresse.AD_Ligne_3 = saAd[77 à ] +sinon +Adresse.AD_Ligne_3 = saAd[77 à 114] +si Adresse.AD_Adresse..Taille < 152 alors +Adresse.AD_Ligne_4 = saAd[115 à ] +sinon +06/08/2026 Batik 3442 + +Partie 3 › Fenêtre WINDEV › FEN_MaJ_Donnees_Demo › Procédures +Adresse.AD_Ligne_4 = saAd[115 à 152] +si Adresse.AD_Adresse..Taille >= 153 alors +Adresse.AD_Ligne_5 = saAd[153 à ] +fin +fin +fin +fin +fin +Adresse.AD_Presentation = saAd +si Adresse.AD_CodePostal <> "" alors Adresse.AD_Presentation+=[RC]+Adresse.AD_CodePostal +si Adresse.AD_Ville <> "" alors Adresse.AD_Presentation+=[RC]+Adresse.AD_Ville +si HModifie(Adresse) alors +si HLitRecherchePremier(Lieu,LI_IDAdresse,Adresse.AD_PKID) alors +Lieu.LI_CodeLieu = Adresse.AD_Etiquette +Lieu.LI_CodeLieu = Remplace(Lieu.LI_CodeLieu,"des","") +Lieu.LI_CodeLieu = Remplace(Lieu.LI_CodeLieu,"de l’","") +Lieu.LI_CodeLieu = Remplace(Lieu.LI_CodeLieu,"de la","") +Lieu.LI_CodeLieu = Remplace(Lieu.LI_CodeLieu,"du","") +Lieu.LI_CodeLieu = Majuscule(Lieu.LI_CodeLieu) +si pas HModifie(Lieu) alors +Erreur("Erreur dans la mise à jour de la table Lieu",HErreurInfo(hErrComplet)) +renvoyer Faux +fin +fin +sinon +Erreur("Erreur dans la mise à jour de la table Adresse",HErreurInfo(hErrComplet)) +renvoyer Faux +fin +fin +HTransactionFin() +renvoyer Vrai +Procédure locale AnonymiserPersonne +procédure AnonymiserPersonne() +tbPrenoms est un tableau de chaînes = ["Camille","Alexandre","Thomas","Lucas","Léo","Hugo","Arthur", +"Louis","Nathan","Enzo",... +"Gabriel","Mathis","Adam","Paul","Noah","Ethan","Raphaël","Maxime","Antoine","Julien",... +"Benjamin","Victor","Samuel","Romain","Clément","Bastien","Théo","Nicolas","Florian","Jérôme",... +"Emma","Chloé","Léa","Manon","Inès","Sarah","Camille","Julie","Laura","Clara",... +"Jade","Zoé","Louise","Alice","Charlotte","Élise","Pauline","Margaux","Anaïs","Mathilde",... +"Céline","Audrey","Marion","Amandine","Justine","Lucie","Caroline","Valérie","Isabelle","Nathalie", +... +"Alexis","Morgan","Sacha","Noa","Maël","Robin","Evan","Loan","Yanis","Imran",... +"Rania","Sofia","Mila","Nina","Lina","Aya","Selma","Amir","Kamel","Nassim" +] +tbNoms est un tableau de chaînes = ["Durand","Martin","Bernard","Dubois","Thomas","Robert","Richard", +"Petit","Moreau","Laurent",... +"Simon","Michel","Lefebvre","Legrand","Roux","Fournier","Girard","Bonnet","Dupont","Lambert",... +"Fontaine","Rousseau","Vincent","Muller","Leroy","Faure","Mercier","Blanc","Guerin","Boyer",... +"Garnier","Chevalier","Francois","Leclerc","Gauthier","Garcia","Perrin","Robin","Clement","Morin", +... +"Nicolas","Henry","Renaud","Mathieu","Poulain","Masson","Marchand","Aubert","Philippe","Renard",... +"Schmitt","Colin","Vidal","Lopez","Gomez","Da Silva","Pereira","Ribeiro","Alves","Costa",... +"Benali","Bensalem","Haddad","Amar","Bouchez","Lemoine","Pelletier","Caron","Prevost","Bailly" +] +06/08/2026 Batik 3443 + +Partie 3 › Fenêtre WINDEV › FEN_MaJ_Donnees_Demo › Procédures +tbSocietes est un tableau de chaînes = ["Nova Solutions","Altair Conseil","Orbis Technologies","Vertex +Group","Lumen Services",... +"Horizon Consulting","Aquila Systems","Kappa Industrie","Helios Data","Atlas Ingénierie",... +"Sigma Partners","Nexus Services","Polaris Consulting","Zenith Solutions","Artemis Groupe",... +"BluePeak Consulting","IronOak Industrie","ClearWave Systems","BrightPath Services","Corevia",... +"Innovexa","Optima Solutions","Synergia","NextEdge","DataFlow",... +"Techvalley","Infologic","Softrium","Proxima IT","Axion Conseil",... +"Nordic Solutions","Alpine Systems","EuroData","HexaTech","Logisphère",... +"Industria Plus","Strateo","DigiNova","NeoConcept","Infrasys",... +"OpenWay","Softlink","BizFlow","Smartis","Cloudia",... +"Infinium","OptiCore","Valoria","Terranova","Unitis" +] +tbPrenomsFeminin est un tableau de chaînes = ["Emma","Chloé","Léa","Manon","Inès","Sarah","Camille", +"Julie","Laura","Clara",... +"Jade","Zoé","Louise","Alice","Charlotte","Élise","Pauline","Margaux","Anaïs","Mathilde",... +"Céline","Audrey","Marion","Amandine","Justine","Lucie","Caroline","Valérie","Isabelle","Nathalie", +... +"Sophie","Sandrine","Véronique","Florence","Patricia","Corinne","Sylvie","Brigitte","Christine", +"Françoise",... +"Delphine","Laetitia","Béatrice","Dominique","Monique","Hélène","Muriel","Pascale","Catherine", +"Martine",... +"Mila","Lina","Nina","Louna","Eva","Romane","Noémie","Maëlys","Océane","Iris",... +"Alix","Victoire","Capucine","Apollonia","Aliénor","Éléonore","Clémence","Garance","Blandine", +"Coline" +] +tbPrenomsMasculin est un tableau de chaînes = ["Lucas","Léo","Hugo","Arthur","Louis","Nathan","Enzo", +"Gabriel","Mathis","Adam",... +"Paul","Noah","Ethan","Raphaël","Maxime","Antoine","Julien","Benjamin","Victor","Samuel",... +"Romain","Clément","Bastien","Théo","Nicolas","Florian","Jérôme","Quentin","Alexandre","Guillaume", +... +"Thomas","François","Laurent","Pascal","Philippe","Olivier","Didier","Patrick","Stéphane", +"Christophe",... +"Bruno","Alain","Michel","Daniel","Jean","Bernard","Pierre","Yves","Gérard","Claude",... +"Sacha","Maël","Evan","Loan","Yanis","Imran","Amir","Nassim","Kamel","Rayan",... +"Robin","Axel","Tom","Liam","Oscar","Jules","Martin","Émile","Augustin","Baptiste" +] +tbDomainesEmail est un tableau de chaînes = ["demo.local","exemple.test","societe-demo.fr"] +saPrenom,saNom,saEmail,saTel, saFixe sont des chaînes ANSI +pour tout Personne +si Personne.PE_CleCivilite = cCle_CiviliteMadame alors +saPrenom = tbPrenomsFeminin[Hasard(1,tbPrenomsFeminin..Occurrence)] +sinon si Personne.PE_CleCivilite = cCle_CiviliteMonsieur alors +saPrenom = tbPrenomsMasculin[Hasard(1,tbPrenomsMasculin..Occurrence)] +sinon +saPrenom = tbPrenoms[Hasard(1,tbPrenoms..Occurrence)] +fin +saNom = tbNoms[Hasard(1,tbNoms..Occurrence)] +saEmail = SansAccent(Minuscule(SansEspace(saPrenom) + "." + SansEspace(saNom)) + "@" + +tbDomainesEmail[Hasard(1,3)]) +saTel = "06 "+Hasard(0,99)+" "+Hasard(0,99)+" "+Hasard(0,99)+" "+Hasard(0,99) +saFixe = "04 "+Hasard(0,99)+" "+Hasard(0,99)+" "+Hasard(0,99)+" "+Hasard(0,99) +Personne.PE_Nom = saNom +Personne.PE_Prenom = saPrenom +Personne.PE_Email = saEmail +Personne.PE_TelMobile= saTel +Personne.PE_TelFixe = saFixe +si pas HModifie(Personne) alors +Erreur("Erreur dans la mise à jour de la table personne",HErreurInfo(hErrComplet)) +renvoyer Faux +fin +fin +pour tout Client +06/08/2026 Batik 3444 + +Partie 3 › Fenêtre WINDEV › FEN_MaJ_Donnees_Demo › Procédures +Client.CL_SIREN = "" +Client.CL_SIRET = "" +si Client.CL_IDContactPrincipal > 0 _et_ HLitRecherchePremier(Personne,PE_PKID,Client. +CL_IDContactPrincipal) alors +Client.CL_Nom = SansEspace(Personne.PE_Nom,sscExtérieur) +" "+SansEspace(Personne. +PE_Prenom,sscExtérieur) +Client.CL_Tel = Personne.PE_TelMobile +Client.CL_Fax = Personne.PE_TelFixe +Client.CL_Email = Personne.PE_Email +sinon +Client.CL_Nom = tbSocietes[Hasard(1,tbSocietes..Occurrence)] +Client.CL_Tel = "06 "+Hasard(0,99)+" "+Hasard(0,99)+" "+Hasard(0,99)+" "+Hasard(0,99) +Client.CL_Fax = "04 "+Hasard(0,99)+" "+Hasard(0,99)+" "+Hasard(0,99)+" "+Hasard(0,99) +Client.CL_Email = SansAccent(Minuscule(Client.CL_Nom) + "@" + tbDomainesEmail[Hasard(1,3) +]) +fin +si pas HModifie(Client) alors +Erreur("Erreur dans la mise à jour de la table client",HErreurInfo(hErrComplet)) +renvoyer Faux +fin +fin +renvoyer Vrai +Procédure locale CompleterColb +procédure CompleterColb() +tbFonctionsCollaborateurs est un tableau de chaînes = ["Chef d’équipe interventions", +"Coordinateur interventions","Technicien itinérant","Technicien SAV","Technicien maintenance", +"Technicien dépannage"] +pour tout Collaborateur +Collaborateur.CO_TelMobile = "06 "+Hasard(0,99)+" "+Hasard(0,99)+" "+Hasard(0,99)+" "+ +Hasard(0,99) +Collaborateur.CO_TelFixe = "04 "+Hasard(0,99)+" "+Hasard(0,99)+" "+Hasard(0,99)+" "+Hasard(0, +99) +Collaborateur.CO_Email = SansAccent(Minuscule(Collaborateur.CO_Nom) +"."+Minuscule( +Collaborateur.CO_Prenom)+ "@omika.fr" ) +Collaborateur.CO_Fonction = tbFonctionsCollaborateurs[Hasard(1,tbFonctionsCollaborateurs.. +Occurrence)] +HModifie(Collaborateur) +fin +renvoyer Vrai +Procédure locale MaJRdv +procédure MaJRdv() +dAujourdhui est une Date = DateSys() +dAujourdhui..Année += 2 +dMax est une Date = "19000101" +duOffsetest une Durée +// Trouver le mois et année ou il y a le plus de rendez-vous : +saReq est une Requête SQL = +[ +SELECT RVC_DateDeb +FROM RDV_Collaborateur +WHERE RVC_DateDeb <> '' +ORDER BY RVC_DateDeb DESC LIMIT 1 +] +si pas HExécuteRequêteSQL(saReq) alors +06/08/2026 Batik 3445 + +Partie 3 › Fenêtre WINDEV › FEN_MaJ_Donnees_Demo › Procédures +Erreur("Aucune date trouvée.",HErreurInfo(hErrComplet)) +renvoyer Faux +fin +pour tout saReq +dMax = saReq.RVC_DateDeb +sortir +fin +si dMax = "19000101" alors +Erreur("Aucune date trouvée.") +renvoyer Faux +fin +// Calculer le décalage global (en jours) +duOffset = dAujourdhui - dMax +pour tout RDV_Collaborateur +si DateValide(RDV_Collaborateur.RVC_DateDeb..PartieDate) alors +RDV_Collaborateur.RVC_DateDeb += duOffset +si DateVersJour(RDV_Collaborateur.RVC_DateDeb..PartieDate) = CSamedi alors +RDV_Collaborateur.RVC_DateDeb..Jour += 5 +fin +si DateVersJour(RDV_Collaborateur.RVC_DateDeb..PartieDate) = CDimanche alors +RDV_Collaborateur.RVC_DateDeb..Jour += 5 +fin +fin +si DateValide(RDV_Collaborateur.RVC_DateFin..PartieDate) alors +RDV_Collaborateur.RVC_DateFin += duOffset +si DateVersJour(RDV_Collaborateur.RVC_DateFin..PartieDate) = CSamedi alors +RDV_Collaborateur.RVC_DateFin..Jour += 5 +fin +si DateVersJour(RDV_Collaborateur.RVC_DateFin..PartieDate) = CDimanche alors +RDV_Collaborateur.RVC_DateFin..Jour += 5 +fin +fin +si pas HModifie(RDV_Collaborateur) alors +Erreur("Erreur mise à jour RDV_Collaborateur : " + HErreurInfo(hErrComplet)) +renvoyer Faux +fin +fin +renvoyer Vrai +06/08/2026 Batik 3446 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Image +FEN_DocAide +Image +FEN_DocAide +Informations générales +FEN_DocAide +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_DocAide.wdw +Créé par susana@applilogik.fr +06/08/2026 Batik 3447 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations générales +| Date de création | | 05/03/2026 16:45:20 | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 20/03/2026 15:36:24 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1200 Hauteur | 700 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| Anim. Fermeture | | 0 | | | | +| Durée Anim. Ouverture | | 100 | | | | +| 06/08/2026 | | | Batik | | 3448 | + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations générales +| Durée Anim. Fermeture | | 50 | | | | +| ------------------------------ | --- | --- | --- | --- | --- | +| Adapte Taille contenu | | Non | | | | +| Assombri quand inactif | | Oui | | | | +| Déplace souris sur bouton par | | Non | | | | +| Compact. barres outils | | Non | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Champ de saisie | | 5 | Libellé | 4 | +| --- | --------------------- | --- | --- | ------------------------- | --- | +| | Bouton | | 3 | Image | 7 | +| | Superchamp | | 2 | Champ Modèle de champs | 13 | +| | Case barre de message | | 1 | Éditeur HTML | 1 | +| | Bouton segmenté | | 1 | Option de bouton segmenté | 2 | +Nombre d'éléments dans la fenêtre : 39 +FEN_DocAide +Informations sur les champs +Fenêtre : FEN_DocAide +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_Contenu | 12 248 721 | 393 0 | Actif Texte | Non | | +| ----------- | ---------- | ----- | ----------- | --- | ---- | +| 06/08/2026 | | | Batik | | 3449 | + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Annuler | 903 | 8 141 | 35 | 0 | Actif | | +| ------------------ | ---- | -------- | --- | --- | ----- | --- | +| CMOD_BordFen | 0 | -29 1063 | 29 | 0 | Actif | | +| CMOD_ChoixChamp | 12 | 37 233 | 39 | 0 | Actif | | +| CMOD_Desc | 253 | 2 484 | 108 | 0 | Actif | | +| CMOD_Info | 12 | 110 725 | 26 | 0 | Actif | | +| CMOD_Info1 | 12 | 222 725 | 26 | 0 | Actif | | +| CMOD_Info4 | 741 | 59 452 | 26 | 0 | Actif | | +| CMOD_Reinitialiser | 741 | 9 154 | 35 | 0 | Actif | | +| CMOD_Tags | 12 | 144 725 | 68 | 0 | Actif | | +| CMOD_Valider | 1052 | 8 141 | 35 | 0 | Actif | | +Éditeur HTML +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| EDHTML_DocFenetre | 741 | 86 452 | 555 | 0 | affichag | | +| ----------------- | --- | ------ | --- | --- | -------- | --- | +Champ Modèle de champs : CMOD_Annuler +Bouton +| | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Annuler | 903 8 | 141 35 | 0 | Actif | Normal | | +| ----------- | ----- | ------ | --- | ----- | ------ | --- | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_SansNom1 | 0 | -29 1063 | 30 | 0 | Actif | | +| ----------- | --- | -------- | --- | --- | ----- | ---- | +| 06/08/2026 | | Batik | | | | 3450 | + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_Libellé | 91 | -27 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | ---------- | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 1031 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | ---- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_ChoixChamp +Bouton segmenté +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BS_Choix | | 12 | 37 | 233 | 39 | 0 | Actif | | +| -------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Desc +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_Div | | 257 | 7 | 475 | 97 | 0 | Actif | | +| ---------- | --- | --- | ----- | --- | --- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | | | 3451 | + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +Superchamp : CMOD_Desc.SC_Div +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| --- | --- | ---------- | ---------- | --- | ------- | --- | --- | ------------ | --------- | ---------- | +| | | | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Category | | 258 | | 9 | 30 30 | 0 | Actif | | | | +| ------------ | --- | --- | --- | --- | ----- | --- | ----- | --- | --- | --- | +| IMG_Input | | 258 | 73 | | 30 27 | 0 | Actif | | | | +| IMG_Place | | 258 | 39 | | 30 30 | 0 | Actif | | | | +Champ Modèle de champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| CMOD_Cible | | | 296 | 39 | 431 | 31 | | 0 | Actif | | +| ----------- | --- | --- | --- | --- | ----- | --- | --- | --- | ----- | --- | +| CMOD_Module | | | 296 | 70 | 431 | 31 | | 0 | Actif | | +| CMOD_Type | | | 296 | | 8 431 | 31 | | 0 | Actif | | +Champ Modèle de champs : CMOD_Desc.SC_Div.CMOD_Cible +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 eisias epyT | FTR tamroF | | ediv is LLUN | | lacitrev .csA | +| | X noitisoP Y noitisoP | | | laitini tatE | | engilitluM | | | | | +ruetuaH +| | | ruegraL | | elbisiV | | | | | | | +| --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_Texte | 296 39 | 431 | 31 0 | affichag | Texte | | Non | | | | +| --------- | ------ | --- | ---- | -------- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Desc.SC_Div.CMOD_Module +| 06/08/2026 | | | | | Batik | | | | | 3452 | +| ---------- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +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_Texte | 296 70 | 431 31 | 0 affichag | | Texte | Non | | | +| --------- | ------ | ------ | ---------- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_Desc.SC_Div.CMOD_Type +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_Texte | 296 | 8 431 31 | 0 affichag | | Texte | Non | | | +| --------- | --- | -------- | ---------- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_Info +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | | 12 110 | 725 | 26 | 0 | Actif Gauche | Centre | | +| ------- | --- | ------ | --- | --- | --- | ------------ | ------ | --- | +Champ Modèle de champs : CMOD_Info1 +| 06/08/2026 | | | | Batik | | | | 3453 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › 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_lib | | 12 222 | 725 | 26 | 0 | Actif | Gauche | Centre | | +| ------- | --- | ------ | --- | --- | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Info4 +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 741 59 | 452 | 26 | 0 | Actif | Gauche | Centre | | +| ------- | --- | ------ | --- | --- | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : CMOD_Reinitialiser +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| BTN_Valider | | 741 | 9 | 154 | 35 | 0 | Actif | | Normal | +| ----------- | --- | --- | --- | --- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : CMOD_Tags +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_Jeton | 12 144 | 725 68 | 0 | Actif | Texte | Non | | | | +| ---------- | ------ | ------ | --- | ----- | ----- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | 3454 | + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Bouton +BAT ehcuoT notuob epyT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | +| --- | --- | --- | ------- | ------- | --- | --- | +elbisiV +nalP +| BTN_Valider | | 1052 | 8 141 | 35 0 | Actif | Normal | +| ----------- | --- | ---- | ----- | ---- | ----- | ------ | +Fenêtre : FEN_DocAide +Champ Modèle de champs : CMOD_Annuler +| Ordre navigation | | 3 | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | +| Curseur survol | | 0 | | | | | +| UI par l'utilisateur | | Selon fenêtre | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | | 0 | | | | | +| Taux Paral. Y | | 0 | | | | | +| Épinglé | | Non | | | | | +| Masquer lors du scrolling | | Non | | | | | +| Ancrage au contenu | | <Aucun> | | | | | +| Numéro aide | | 0 | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | | 0 | | | | | +| -------------------------- | ---- | ------ | ---- | --- | ---- | ---- | +| Facteur d'agrandissement | | 0 | | | | | +| Ancrage | | Droite | | | | | +| | 1000 | | 1000 | | 1000 | 1000 | +Taux anc. droite Taux anc. bas Taux anc. largeur Taux anc. hauteur +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { + "Libelle":"Barre de titre (Fen\u00eatre)" +} +| Ordre navigation | | 1 | | | | | +| ------------------------- | --- | ----------------------------------- | ----- | --- | --- | ---- | +| Curseur survol | | 0 | | | | | +| UI par l'utilisateur | | Selon fenêtre | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | | 0 | | | | | +| Taux Paral. Y | | 0 | | | | | +| Épinglé | | Non | | | | | +| Masquer lors du scrolling | | Non | | | | | +| 06/08/2026 | | | Batik | | | 3455 | + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_ChoixChamp +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Desc +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3456 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +Champ Modèle de champs : CMOD_Info +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Info1 +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3457 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +Champ Modèle de champs : CMOD_Info4 +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Reinitialiser +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3458 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +Champ Modèle de champs : CMOD_Tags +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3459 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +Éditeur HTML : EDHTML_DocFenetre +Libellé FR: Éditeur HTML +Ordre navigation 8 +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 Non +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 Non +Édition EMail Non +Code source Non +Exécute JS dans document Non +Liaison sur <body> Non +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 +Champ de saisie : SAI_Contenu +Libellé FR: Description de l'aide (Texte explicatif qui s'affiche comme aide) +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 +06/08/2026 Batik 3460 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › 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 13 +Largeur interne 720 +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 +06/08/2026 Batik 3461 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › 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 Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +06/08/2026 Batik 3462 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3463 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 3464 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 3465 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 3466 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_ChoixChamp +Bouton segmenté : CMOD_ChoixChamp.BS_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Ordre navigation 1 +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 +06/08/2026 Batik 3467 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +Ancrage au contenu <Aucun> +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Espace entre options 4 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit 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 +Valeur persistante Non +Mode bouton segmenté Sélecteur +Texte Markdown Non +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 +Champ Modèle de champs : CMOD_Desc +Superchamp : CMOD_Desc.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 473 +Hauteur externe 95 +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 +06/08/2026 Batik 3468 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Desc.SC_Div +Champ Modèle de champs : CMOD_Desc.SC_Div.CMOD_Cible +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Desc.SC_Div.CMOD_Module +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3469 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +Champ Modèle de champs : CMOD_Desc.SC_Div.CMOD_Type +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_Desc.SC_Div.IMG_Category +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\category.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 3470 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_Desc.SC_Div.IMG_Input +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\input.svg +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 Oui +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 : CMOD_Desc.SC_Div.IMG_Place +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\place.svg +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 +06/08/2026 Batik 3471 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +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 Oui +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 +Champ Modèle de champs : CMOD_Desc.SC_Div.CMOD_Cible +Champ de saisie : CMOD_Desc.SC_Div.CMOD_Cible.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 404 +Largeur interne 323 +06/08/2026 Batik 3472 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 3473 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +Bouton droit : Monochrome Couleur monochrome du style +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Desc.SC_Div.CMOD_Module +Champ de saisie : CMOD_Desc.SC_Div.CMOD_Module.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 404 +Largeur interne 323 +Cadrage fonctions gXXX Tenir compte du cadrage +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) +06/08/2026 Batik 3474 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +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, non 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3475 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +Champ Modèle de champs : CMOD_Desc.SC_Div.CMOD_Type +Champ de saisie : CMOD_Desc.SC_Div.CMOD_Type.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 404 +Largeur interne 323 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Batik 3476 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Info +Libellé : CMOD_Info.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 +06/08/2026 Batik 3477 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +Ancrage au contenu <Aucun> +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Info1 +Libellé : CMOD_Info1.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +06/08/2026 Batik 3478 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Info4 +Libellé : CMOD_Info4.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 +06/08/2026 Batik 3479 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +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 +Champ Modèle de champs : CMOD_Reinitialiser +Bouton : CMOD_Reinitialiser.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 3480 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Tags +Champ de saisie : CMOD_Tags.SAI_Jeton +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Jeton : +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 12 +Largeur interne 725 +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 +06/08/2026 Batik 3481 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +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) 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +06/08/2026 Batik 3482 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Informations sur les champs +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3483 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Code +FEN_DocAide +Code +Déclarations globales de FEN_DocAide +procédure FEN_DocAide(saChamp est une chaîne ANSI) +saNomUtilisateurFen = "Documentation de l'application" +stUnChamp est un ST_TypeChamp +oUnDocAide est un MDocAide +Fin d'initialisation de FEN_DocAide +stUnChamp = DonneInformationChampEnCours(saChamp) +Filtrer() +FEN_DocAide +Code des champs +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +06/08/2026 Batik 3484 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +06/08/2026 Batik 3485 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Code des champs +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_ChoixChamp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ChoixChamp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ChoixChamp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ChoixChamp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ChoixChamp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ChoixChamp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ChoixChamp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BS_Choix ( CMOD_ChoixChamp ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de BS_Choix ( CMOD_ChoixChamp ) +procédure OptionModifiée(IndiceOptionModifiée) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(IndiceOptionModifiée) +si OuiNon( +"Êtes-vous sûr de vouloir modifier le type d’aide ? Les modifications apportées au contenu seront +perdues" +06/08/2026 Batik 3486 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Code des champs +) = Oui alors +Filtrer() +sinon +si DonneBooleanSelonOuiNon(CMOD_ChoixChamp.BS_Choix) alors +CMOD_ChoixChamp.BS_Choix = cNON +sinon +CMOD_ChoixChamp.BS_Choix = cOUI +fin +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de BS_Choix ( CMOD_ChoixChamp ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Desc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Desc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Desc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Desc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Desc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Desc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Desc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +06/08/2026 Batik 3487 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Cible +salib = "Cible" +Fin d'initialisation de CMOD_Cible +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Cible +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Cible +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Cible +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Cible +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Cible +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Cible +06/08/2026 Batik 3488 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Cible ) (modèle MDLC_SaisieSansModifBlock) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Cible ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Module +salib = "Module" +Fin d'initialisation de CMOD_Module +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Module +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Module +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Module +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Module +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Module +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Module +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Module ) (modèle MDLC_SaisieSansModifBlock) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +06/08/2026 Batik 3489 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Code des champs +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Module ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Type +salib = "Type d'aide" +Fin d'initialisation de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Type ) (modèle MDLC_SaisieSansModifBlock) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Type ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Info +06/08/2026 Batik 3490 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Code des champs +salib = "Informations générales" +Fin d'initialisation de CMOD_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Info ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Info ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Info1 +salib = "Contenu de l'aide" +Fin d'initialisation de CMOD_Info1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Info1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Info1 +06/08/2026 Batik 3491 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Info1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Info1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Info1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Info1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Info1 ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Info1 ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Info4 +salib = "Aperçu" +Fin d'initialisation de CMOD_Info4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Info4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Info4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Info4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Info4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Info4 +06/08/2026 Batik 3492 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Info4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Info4 ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Info4 ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Reinitialiser +salib ="Réinitialiser par défaut" +Fin d'initialisation de CMOD_Reinitialiser +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Reinitialiser +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Reinitialiser +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Reinitialiser +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Reinitialiser +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Reinitialiser +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Reinitialiser +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Reinitialiser ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Reinitialiser ) +06/08/2026 Batik 3493 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Reinitialiser() +Déclarations globales de CMOD_Tags +salib = "Tags" +Fin d'initialisation de CMOD_Tags +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Tags +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Tags +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Tags +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Tags +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Tags +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Tags +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Jeton ( CMOD_Tags ) (modèle MDLC_Jetons) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Ajout d'un jeton dans SAI_Jeton ( CMOD_Tags ) (modèle MDLC_Jetons) +procédure AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +renvoyer Vrai +Suppression d'un jeton dans SAI_Jeton ( CMOD_Tags ) (modèle MDLC_Jetons) +06/08/2026 Batik 3494 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Code des champs +procédure SuppressionJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +renvoyer Vrai +Clic sur un jeton de SAI_Jeton ( CMOD_Tags ) (modèle MDLC_Jetons) +procédure ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de SAI_Jeton ( CMOD_Tags ) (modèle MDLC_Jetons) +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_Jeton ( CMOD_Tags ) (modèle MDLC_Jetons) +procédure ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +renvoyer Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Jeton ( CMOD_Tags ) (modèle MDLC_Jetons) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Valider +06/08/2026 Batik 3495 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +Ferme() +fin +Modification de la sélection de EDHTML_DocFenetre +procédure ModificationSélection(selectionHTML est un edtHTMLSélection) +Chargement de ressources par EDHTML_DocFenetre +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_Contenu +// Version 1 +// Description +// Champ de saisie pour un texte multiligne simple, sans mise en forme +FEN_DocAide +Procédures +Procédure locale Enregistrer +procédure Enregistrer() +si SAI_Contenu <> oUnDocAide.saTexteOri alors +oUnDocAide.saContenu = SAI_Contenu +sinon +oUnDocAide.saContenu = oUnDocAide.saTexteOri +fin +si EnModeTest() alors +oUnDocAide.saTexteOri = SAI_Contenu +fin +si DonneBooleanSelonOuiNon(CMOD_ChoixChamp.BS_Choix) alors +06/08/2026 Batik 3496 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Procédures +oUnDocAide.saTitre = stUnChamp.saLibelleChamp + " Champ - "+stUnChamp.saTypeChamp +oUnDocAide.saChamp = stUnChamp.saNomGenerique +sinon +oUnDocAide.saTitre = "Fenêtre - " + stUnChamp.saModule +oUnDocAide.saChamp = stUnChamp.saFenetre +fin +oUnDocAide.saFenetre = stUnChamp.saFenetre +oUnDocAide.saTags = CMOD_Tags.SAI_Jeton +si SansEspace(stUnChamp.saNomGenerique) = "" alors +oUnDocAide.saChamp = stUnChamp.saFenetre +fin +Insère(gtbaDocAide,oUnDocAide.saFenetre) +Insère(gtbaDocAide[oUnDocAide.saFenetre ],oUnDocAide.saChamp) +gtbaDocAide[oUnDocAide.saFenetre ][oUnDocAide.saChamp] = oUnDocAide +si oUnDocAide.Enregistrer() alors +renvoyer Vrai +sinon +renvoyer Faux +fin +Procédure locale Filtrer +procédure Filtrer() +ReqDoc est une Requête SQL = +[ +SELECT * FROM Doc_Aide WHERE DA_Champs = {saChamp} AND DA_Fenetre = {saFenetre} +] +si DonneBooleanSelonOuiNon(CMOD_ChoixChamp.BS_Choix) _et_ stUnChamp.saNomGenerique <> "" alors +ReqDoc.saChamp = stUnChamp.saNomGenerique +sinon +ReqDoc.saChamp = stUnChamp.saFenetre +fin +ReqDoc.saFenetre = stUnChamp.saFenetre +si HExécuteRequêteSQL(ReqDoc) alors +pour tout ReqDoc +FichierVersMémoire(oUnDocAide,ReqDoc) +fin +sinon +LogEcrit("Erreur requête SQL " + HErreurInfo(hErrComplet),eErreur) +fin +si oUnDocAide.saContenu <> "" alors +SAI_Contenu = oUnDocAide.saContenu +sinon +SAI_Contenu = oUnDocAide.saTexteOri +fin +//SI oUnDocAide.saChamp = oUnDocAide.saFenetre ALORS +// CMOD_ChoixChamp.BS_Choix = cNON +//SINON +// CMOD_ChoixChamp.BS_Choix = cOUI +//FIN +CMOD_Module.SAI_Texte = stUnChamp.saModule +MaJTypeChamp() +06/08/2026 Batik 3497 + +Partie 3 › Fenêtre WINDEV › FEN_DocAide › Procédures +saTest est une chaîne ANSI = RTFVersHTML(oUnDocAide.saContenu,rvhOptionCompatible) +SAI_Contenu = oUnDocAide.saContenu +EDHTML_DocFenetre = saTest +CMOD_Tags.SAI_Jeton = oUnDocAide.saTags +Procédure locale MaJTypeChamp +procédure MaJTypeChamp() +si DonneBooleanSelonOuiNon(CMOD_ChoixChamp.BS_Choix) alors +CMOD_Type.SAI_Texte = "Champs - "+stUnChamp.saTypeChamp +CMOD_Cible.SAI_Texte = stUnChamp.saLibelleChamp +sinon +CMOD_Type.SAI_Texte = "Fenêtre" +CMOD_Cible.SAI_Texte = "Fenêtre - " + stUnChamp.saModule +fin +Procédure locale Reinitialiser +procédure Reinitialiser() +SAI_Contenu = oUnDocAide.saTexteOri +CMOD_Tags.SAI_Jeton = oUnDocAide.saTags +06/08/2026 Batik 3498 + +Partie 3 › Fenêtre WINDEV › FEN_DocFenetre › Image +FEN_DocFenetre +Image +FEN_DocFenetre +Informations générales +FEN_DocFenetre +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_DocFenetre.wdw +Créé par susana@applilogik.fr +06/08/2026 Batik 3499 + +Partie 3 › Fenêtre WINDEV › FEN_DocFenetre › Informations générales +| Date de création | | 20/03/2026 15:19:24 | | | | +| -------------------------- | --- | ----------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 20/03/2026 16:11:53 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Documentation de la fenêtre +| Position X | 0 Position Y | | 0 Largeur | 1199 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| 06/08/2026 | | | Batik | | 3500 | + +Partie 3 › Fenêtre WINDEV › FEN_DocFenetre › Informations générales +| 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 | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 2 | Bouton | | | 1 | +| --- | ---------------------- | --- | --- | --------------------- | --- | --- | --- | +| | Image | | 4 | Superchamp | | | 1 | +| | Champ Modèle de champs | | 3 | Case barre de message | | | 1 | +| | Éditeur HTML | | 1 | | | | | +Nombre d'éléments dans la fenêtre : 13 +FEN_DocFenetre +Informations sur les champs +Fenêtre : FEN_DocFenetre +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_BordFen | | 0 | -29 1063 | 29 | 0 | Actif | | +| ------------ | --- | ---- | -------- | --- | --- | ----- | ---- | +| CMOD_Fermer | | 1097 | 2 98 | 35 | 0 | Actif | | +| CMOD_Modulo | | 5 | 6 1080 | 31 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 3501 | + +Partie 3 › Fenêtre WINDEV › FEN_DocFenetre › Informations sur les champs +Éditeur HTML +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| EDHTML_DocFenetre | | 5 | 40 | 1190 | 605 | 0 | affichag | | +| ----------------- | --- | --- | --- | ---- | --- | --- | -------- | --- | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libellé | 91 | -27 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | --- | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 1031 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | ---- | --- | ----- | --- | --- | ----- | --- | ---- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +| 06/08/2026 | | | Batik | | | | | 3502 | + +Partie 3 › Fenêtre WINDEV › FEN_DocFenetre › Informations sur les champs +Champ Modèle de champs : CMOD_Fermer +Bouton +| | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | --- | --- | --- | --- | --- | ---------- | ----------- | +laitini tatE +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| BTN_Annuler | | 1097 | 2 | 98 | 35 0 | Actif | Normal | | +| ----------- | --- | ---- | --- | --- | ---- | ----- | ------ | --- | +Champ Modèle de champs : CMOD_Modulo +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | | 5 6 | 1080 | 31 | 0 Actif | Gauche | Centre | | +| ------- | --- | --- | ---- | --- | ------- | ------ | ------ | --- | +Fenêtre : FEN_DocFenetre +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { + "Libelle":"Barre de titre (Fen\u00eatre)" +} +| Ordre navigation | | 1 | | | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| Curseur survol | | 0 | | | | | | | +| UI par l'utilisateur | | Selon fenêtre | | | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | | +| Taux Paral. Y | | 0 | | | | | | | +| Épinglé | | Non | | | | | | | +| Masquer lors du scrolling | | Non | | | | | | | +| Ancrage au contenu | | <Aucun> | | | | | | | +| Numéro aide | | 0 | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | | 0 | | | | | | | +| -------------------------- | ---- | ------- | --- | ---- | --- | --- | --- | ---- | +| Facteur d'agrandissement | | 0 | | | | | | | +| Ancrage | | Largeur | | | | | | | +| | 1000 | | | 1000 | | 750 | | 1000 | +Taux anc. droite Taux anc. bas Taux anc. largeur Taux anc. hauteur +| 06/08/2026 | | | | Batik | | | | 3503 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_DocFenetre › Informations sur les champs +Champ Modèle de champs : CMOD_Fermer +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Modulo +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3504 + +Partie 3 › Fenêtre WINDEV › FEN_DocFenetre › Informations sur les champs +Éditeur HTML : EDHTML_DocFenetre +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 Non +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 Non +Édition EMail Non +Code source Non +Exécute JS dans document Non +Liaison sur <body> Non +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 +06/08/2026 Batik 3505 + +Partie 3 › Fenêtre WINDEV › FEN_DocFenetre › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 3506 + +Partie 3 › Fenêtre WINDEV › FEN_DocFenetre › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 3507 + +Partie 3 › Fenêtre WINDEV › FEN_DocFenetre › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 +06/08/2026 Batik 3508 + +Partie 3 › Fenêtre WINDEV › FEN_DocFenetre › Informations sur les champs +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 +06/08/2026 Batik 3509 + +Partie 3 › Fenêtre WINDEV › FEN_DocFenetre › Informations sur les champs +Ancrage Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Fermer +Bouton : CMOD_Fermer.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +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 Largeur +06/08/2026 Batik 3510 + +Partie 3 › Fenêtre WINDEV › FEN_DocFenetre › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Modulo +Libellé : CMOD_Modulo.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3511 + +Partie 3 › Fenêtre WINDEV › FEN_DocFenetre › Code +FEN_DocFenetre +Code +Déclarations globales de FEN_DocFenetre +procédure FEN_DocFenetre(saChamp est une chaîne ANSI) +MoiMême..Alias = "Documentation de la fenêtre" +saNomUtilisateurFen = "Documentation de la fenêtre" +stUnChamp est un ST_TypeChamp +Fin d'initialisation de FEN_DocFenetre +stUnChamp = DonneInformationChampEnCours(saChamp) +CMOD_Modulo.LIB_lib = stUnChamp.saModule +saTest est une chaîne ANSI +si gtbaDocAide[stUnChamp.saFenetre]..Existe alors +si gtbaDocAide[stUnChamp.saFenetre][stUnChamp.saFenetre]..Existe alors +si gtbaDocAide[stUnChamp.saFenetre][stUnChamp.saFenetre].satitre <> "" alors +saTest = gtbaDocAide[stUnChamp.saFenetre][stUnChamp.saFenetre].saTitre +fin +si gtbaDocAide[stUnChamp.saFenetre][stUnChamp.saFenetre].saContenu <> "" alors +saTest += "<br> <br>"+RTFVersHTML(gtbaDocAide[stUnChamp.saFenetre][stUnChamp.saFenetre]. +saContenu,rvhOptionCompatible) +fin +fin +fin +EDHTML_DocFenetre = saTest +FEN_DocFenetre +Code des champs +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3512 + +Partie 3 › Fenêtre WINDEV › FEN_DocFenetre › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Déclarations globales de CMOD_Fermer +salib = "Fermer" +Fin d'initialisation de CMOD_Fermer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Fermer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Fermer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Fermer +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3513 + +Partie 3 › Fenêtre WINDEV › FEN_DocFenetre › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Fermer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Fermer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Fermer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Fermer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Fermer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Fermer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Modulo +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Modulo +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Modulo +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Modulo +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Modulo +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Modulo +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3514 + +Partie 3 › Fenêtre WINDEV › FEN_DocFenetre › Code des champs +ExécuteAncêtre +A chaque modification de CMOD_Modulo +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Modulo ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Modulo ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Modification de la sélection de EDHTML_DocFenetre +procédure ModificationSélection(selectionHTML est un edtHTMLSélection) +Chargement de ressources par EDHTML_DocFenetre +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 +06/08/2026 Batik 3515 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Image +FEN_Exporter_Temps +Image +FEN_Exporter_Temps +Informations générales +FEN_Exporter_Temps +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Exporter_Temps.wdw +| Créé par | | susana@applilogik.fr | | | | +| -------------------------- | --- | ----------------------------------------------------- | --- | --- | --- | +| Date de création | | 25/03/2026 17:38:03 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 26/03/2026 11:32:43 | | | | +| Titre | | FR: Export des temps des collaborateurs au format CSV | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +Note pour la documentation technique +FR: Export des temps des collaborateurs au format CSV +| | 0 | | 0 | 642 | 262 | +| --------------------- | ---------- | -------------------- | ------- | --------------- | ---- | +| Position X | Position Y | | Largeur | Hauteur | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 3516 | + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Informations générales +Ctx. HFSQL indép. +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Oui +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Non +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. Oui +Grisé : Algo pour images <Défaut> +Style du menu Windows 11 +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 32 +Pos. Y Menu 2 +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 +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +06/08/2026 Batik 3517 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | 3 | Libellé | | | 1 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Bouton | | 2 | Interrupteur | | | 1 | +| | Image | | 5 | Combo | | | 1 | +| | Superchamp | | 1 | Champ Modèle de champs | | | 9 | +| | Option d'interrupteur | | 1 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 25 +FEN_Exporter_Temps +Informations sur les champs +Fenêtre : FEN_Exporter_Temps +Champ Modèle de champs +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| CMOD_Annuler | | 341 | 5 141 | 35 | 0 | Actif | | +| --------------- | --- | --- | ------- | --- | --- | ----- | --- | +| CMOD_BordFen | | 0 | -29 512 | 29 | 0 | Actif | | +| CMOD_DateDeb | | 9 | 48 146 | 53 | 0 | Actif | | +| CMOD_DateFin | | 163 | 48 146 | 53 | 0 | Actif | | +| CMOD_RdvExporte | | 9 | 109 622 | 29 | 0 | Actif | | +| CMOD_Rep | | 601 | 169 30 | 30 | 0 | Actif | | +| CMOD_Repertoire | | 9 | 146 584 | 53 | 0 | Actif | | +| CMOD_Societe | | 316 | 48 315 | 53 | 0 | Actif | | +| CMOD_Valider | | 490 | 5 141 | 35 | 0 | Actif | | +Champ Modèle de champs : CMOD_Annuler +| 06/08/2026 | | | Batik | | | | 3518 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Informations sur les champs +Bouton +notuob epyT +| | | | | | | laitini tatE | BAT ehcuoT | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | ---------- | --- | +| | X noitisoP | Y noitisoP | | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Annuler | 341 | 5 | 141 | 35 | 0 | Actif | | Normal | +| ----------- | --- | --- | --- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +laitini tatE +| | | X noitisoP Y noitisoP | | | | | | | +| --- | --- | --------------------- | --- | ------- | ------- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 512 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Libellé | 91 | -27 389 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +| | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------------------- | ----------------- | +| | X noitisoP | | | | | laitini tatE | | sucof cevA | +| | | Y noitisoP | | | | | cilc cevA | | +| | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| IMG_AideFenetre | 480 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | --- | --- | ----- | --- | --- | ----- | --- | ---- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +| 06/08/2026 | | | Batik | | | | | 3519 | + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_DateDeb +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_Date | 9 48 | 146 53 0 | Actif Date | | Non | | | +| -------- | ---- | -------- | ---------- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_DateFin +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_Date | 163 48 | 146 53 0 | Actif Date | | Non | | | +| -------- | ------ | -------- | ---------- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_RdvExporte +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | --- | ----------- | +ruetuaH +| | | | ruegraL | elbisiV | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +nalP +| INT_Int | | 9 109 | 622 29 | 0 | Actif | 1 | | +| ---------- | --- | ----- | ------ | --- | ----- | --- | ---- | +| 06/08/2026 | | | Batik | | | | 3520 | + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Rep +Image +| | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | --------------------- | ------- | --- | ------------ | --------------------------------------- | ---------- | +| | | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 601 169 | 30 30 | 0 | Actif | | | +| --------- | --- | ------- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Repertoire +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 | | laitini tatE eisias epyT | engilitluM | | | | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| SAI_Texte | 9 146 | 584 53 0 | Actif Texte | | Non | | | +| --------- | ----- | -------- | ----------- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_Societe +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | ------------------ | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | | +| --- | ---------- | ---------- | ------------ | ---------- | ----------- | --- | --- | +| | X noitisoP | Y noitisoP | laitini tatE | | | | | +| | | ruetuaH | | | sruocraP | | | +| | | ruegraL | elbisiV | | | | | +| | | | | elbaT | eéirT | | | +nalP +| CMB_Combo | 316 | 48 315 53 | 0 Actif | Mémoire | | Non | | +| ---------- | --- | --------- | ------- | ------- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | 3521 | + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Bouton +BAT ehcuoT notuob epyT +laitini tatE +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Valider | | 490 5 | 141 35 | 0 | Actif | Normal | +| ----------- | --- | ----- | ------ | --- | ----- | ------ | +Fenêtre : FEN_Exporter_Temps +Champ Modèle de champs : CMOD_Annuler +| Ordre navigation | | 2 | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | +| Curseur survol | | 0 | | | | | +| UI par l'utilisateur | | Selon fenêtre | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | | 0 | | | | | +| Taux Paral. Y | | 0 | | | | | +| Épinglé | | Non | | | | | +| Masquer lors du scrolling | | Non | | | | | +| Ancrage au contenu | | <Aucun> | | | | | +| Numéro aide | | 0 | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | | 0 | | | | | +| -------------------------- | ---- | ------ | ---- | ---- | --- | ---- | +| Facteur d'agrandissement | | 0 | | | | | +| Ancrage | | Droite | | | | | +| | 1000 | | 1000 | 1000 | | 1000 | +Taux anc. droite Taux anc. bas Taux anc. largeur Taux anc. hauteur +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { + "Libelle":"Barre de titre (Fen\u00eatre)" +} +| Ordre navigation | | 1 | | | | | +| ------------------------- | --- | ----------------------------------- | ----- | --- | --- | ---- | +| Curseur survol | | 0 | | | | | +| UI par l'utilisateur | | Selon fenêtre | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | | 0 | | | | | +| Taux Paral. Y | | 0 | | | | | +| Épinglé | | Non | | | | | +| Masquer lors du scrolling | | Non | | | | | +| 06/08/2026 | | | Batik | | | 3522 | + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Informations sur les champs +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_DateDeb +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_DateFin +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3523 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_RdvExporte +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Rep +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3524 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Repertoire +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Societe +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3525 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Valider +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Annuler +Bouton : CMOD_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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 +06/08/2026 Batik 3526 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › 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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 512 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3527 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 3528 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 3529 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 3530 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_DateDeb +Champ de saisie : CMOD_DateDeb.SAI_Date +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Date +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Oui +Bouton Calculatrice Oui +Bouton Suppression <Aucun> +06/08/2026 Batik 3531 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Informations sur les champs +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 9 +Largeur interne 141 +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 +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> +06/08/2026 Batik 3532 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Informations sur les champs +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_DateFin +Champ de saisie : CMOD_DateFin.SAI_Date +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Date +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 163 +Largeur interne 141 +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 +06/08/2026 Batik 3533 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Informations sur les champs +Taille de saisie 0 +Masque saisie FR: UseSystemMask +Format retour AAAAMMJJ +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +Bouton droit : Nombre d'états 1 +Bouton gauche : Largeur 0 +Bouton droit : Largeur 0 +Bouton gauche : Hauteur 0 +Bouton droit : Hauteur 0 +Bouton gauche : Monochrome Couleur monochrome du style +Bouton droit : Monochrome <Aucun> +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3534 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_RdvExporte +Interrupteur : CMOD_RdvExporte.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Ordre navigation 1 +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3535 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Rep +Image : CMOD_Rep.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Dossier_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 3536 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Informations sur les champs +Champ Modèle de champs : CMOD_Repertoire +Champ de saisie : CMOD_Repertoire.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 9 +Largeur interne 584 +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 +06/08/2026 Batik 3537 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Societe +Combo : CMOD_Societe.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 +06/08/2026 Batik 3538 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 315 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 316 +Largeur interne 315 +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 Oui +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +06/08/2026 Batik 3539 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Valider +Bouton : CMOD_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3540 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Messages multilingues +FEN_Exporter_Temps +Messages multilingues +06/08/2026 Batik 3541 +¹ +.ssem +°N +Message +2000 FR: Sélectionner un répertoire... +¹ N° mess. : numéro de message. +FEN_Exporter_Temps +Code +Déclarations globales de FEN_Exporter_Temps +procédure FEN_Exporter_Temps() +MoiMême..Alias = "Export des temps des collaborateurs au format CSV" +saCheminInit est une chaîne Unicode = ComplèteRep(fRepGlobalCommun)+cRepertoireIni+["\"]+ +cNomFichierIni +gsACheminDossier est une chaîne ANSI = INILit("Export_Temps", "Dossier","",saCheminInit ) +gtaTempParSociete est un tableau associatif de ST_InfoRdvSoc +gtaSuivi est un tableau associatif de ST_InfoSuivis +gsErreur est une chaîne ANSI +saGUIDColbs est une chaîne ANSI +Fin d'initialisation de FEN_Exporter_Temps +CMOD_Repertoire.SAI_Texte = gsACheminDossier +FEN_Exporter_Temps +Code des champs +Fin d'initialisation de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Annuler + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Annuler +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_Annuler ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen +06/08/2026 Batik 3542 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Déclarations globales de CMOD_DateDeb +salib = "Date de début" +Fin d'initialisation de CMOD_DateDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DateDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DateDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DateDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DateDeb +06/08/2026 Batik 3543 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DateDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DateDeb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Date ( CMOD_DateDeb ) (modèle MDLC_Date) +// Version 1 +// Description +// Saisie d'une date avec calendrier +MoiMême..Libellé = saLib +MoiMême = "00000000" +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Date ( CMOD_DateDeb ) (modèle MDLC_Date) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_DateFin +salib = "Date de fin" +Fin d'initialisation de CMOD_DateFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DateFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DateFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DateFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DateFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DateFin +06/08/2026 Batik 3544 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DateFin +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Date ( CMOD_DateFin ) (modèle MDLC_Date) +// Version 1 +// Description +// Saisie d'une date avec calendrier +MoiMême..Libellé = saLib +MoiMême = "00000000" +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Date ( CMOD_DateFin ) (modèle MDLC_Date) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_RdvExporte +salib = "Inclure les RDV qui ont été déjà exporté " +Fin d'initialisation de CMOD_RdvExporte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_RdvExporte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_RdvExporte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_RdvExporte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_RdvExporte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_RdvExporte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_RdvExporte +06/08/2026 Batik 3545 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_RdvExporte ) (modèle MDLC_Boolean) +// Version 1 +// Description +// Interrupteur simple 2 états +MoiMême[1].Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_RdvExporte ) (modèle MDLC_Boolean) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Rep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Rep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Rep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Rep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Rep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Rep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Rep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Rep ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Rep ) +06/08/2026 Batik 3546 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +sRepertoire est une chaîne +// Ouvre le sélecteur de fichiers +soit sTitre="Sélectionner un répertoire..." +// ouvre le sélecteur +sRepertoire = fRepSélecteur(CMOD_Repertoire.SAI_Texte, sTitre, "") +si sRepertoire<>"" alors +CMOD_Repertoire.SAI_Texte = sRepertoire +ExécuteTraitement(CMOD_Repertoire.SAI_Texte,trtModification) +fin +A chaque modification de IMG_Icone ( CMOD_Rep ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Rep ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Rep ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Rep ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Repertoire +salib = "Enregistrer sous" +Fin d'initialisation de CMOD_Repertoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Repertoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Repertoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Repertoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Repertoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Repertoire +06/08/2026 Batik 3547 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Repertoire +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Repertoire ) (modèle MDLC_Saisie) +MoiMême..Libellé = saLib +// Version 1 +// Description +// Champ de saisie pour un texte simple sur une ligne +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Repertoire ) (modèle MDLC_Saisie) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Societe +salib = "Société" +Fin d'initialisation de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Societe +06/08/2026 Batik 3548 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si CollaborateurEnCours:IdSocPrincipal <= 0 alors +InitChamp(MoiMême.NomComplet,cSocietesUtilisateur,Vrai) +sinon +InitChamp(MoiMême.NomComplet,cSocietesUtilisateur,Vrai,CollaborateurEnCours:IdSocPrincipal) +fin +Entrée dans CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Valider +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3549 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Code des champs +ExécuteAncêtre +A chaque modification de CMOD_Valider +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Valider ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Valider() +FEN_Exporter_Temps +Procédures +Procédure locale AjouterDateExportRDV +procédure AjouterDateExportRDV(sId est une chaîne ANSI) +saComplReq est une chaîne ANSI = "" +sReq est une chaîne ANSI = [ +UPDATE RDV_Collaborateur +SET RDV_Collaborateur.RVC_DateExport = +] +saComplReq = "'" + DateHeureSys() + "' " +saComplReq +="WHERE RDV_Collaborateur.RVC_PKID IN ("+ Gauche(sId,Taille(sId)-1)+")" +sReq += saComplReq +sdRReq est une Source de Données +si pas HExécuteRequêteSQL(sdRReq,hRequêteDéfaut,sReq) alors +gsErreur = "Une erreur s'est produite, la date d'exportation n'a pas pu être attribuée" +renvoyer Faux +fin +renvoyer Vrai +Procédure locale CreationFichierCSV +procédure CreationFichierCSV() +// Conversion d'un fichier de données en CSV (export) +sLigneAEcrire est une chaîne +sContenuLignes est une chaîne +sContenuFichier est une chaîne +06/08/2026 Batik 3550 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Procédures +sCheminFichier est une chaîne +sNomSoc est une chaîne ANSI +nQteFichier est un entier +sNomFichier est une chaîne ANSI +sFichierCrees est une chaîne ANSI +sFichierNonCrees est une chaîne ANSI +sIdRdvs est une chaîne ANSI +bOk est un booléen +si gtaTempParSociete..Occurrence > 0 alors +pour tout stSoc de gtaTempParSociete +bOk = Faux +sIdRdvs = "" +sContenuLignes = "" +pour tout stInfo de stSoc:tabRDV +sLigneAEcrire = TraitementChaine(stInfo.saDateDebut)+";"... ++TraitementChaine(stInfo.saDateFin)+";"... ++TraitementChaine(stInfo.saHeureDebut)+";"... ++TraitementChaine(stInfo.saHeureFin)+";"... ++TraitementChaine(stInfo.saHeureDebutPlanning)+";"... ++TraitementChaine(stInfo.saHeureFinPlanning)+";"... ++TraitementChaine(stInfo.saDossier)+";"... ++TraitementChaine(stInfo.saIntervention)+";"... ++stInfo.nSav+";"... ++TraitementChaine(stInfo.saDevis)+";"... ++TraitementChaine(stInfo.saNomClient)+";"... ++TraitementChaine(stInfo.saCodeClient)+";"... ++TraitementChaine(stInfo.saTechnicien)+";"... ++TraitementChaine(stInfo.sAQteHeures)+";"... ++TraitementChaine(stInfo.saTypeTemps)+";"... ++TraitementChaine(stInfo.sCreationCR)+";"... ++TraitementChaine(stInfo.saTypeRDV)+";"... ++TraitementChaine(stInfo.saNomSociete)+";"... ++TraitementChaine(stInfo.saBGSociete)+";"... ++TraitementChaine(stInfo.saAdresse)+";" +si stInfo.bTempsSaisie alors +sLigneAEcrire += "OUI" +sinon +sLigneAEcrire += "NON" +fin +sContenuLignes += sLigneAEcrire + RC +si stInfo.saBGSociete <> "" alors +sNomSoc = stInfo.saBGSociete +sinon +sNomSoc = stInfo.saNomSociete +fin +sIdRdvs += stInfo.nIdRdv+"," +bOk = Vrai +fin +si bOk alors +sNomFichier = SansEspace(sNomSoc, sscIntérieur+sscExtérieur)+".csv" +sCheminFichier = CMOD_Repertoire.SAI_Texte+"\"+sNomFichier +si fFichierExiste(sCheminFichier) = Vrai alors +sContenuFichier = fChargeTexte(sCheminFichier) +sinon +sContenuFichier = +"DateDebut;DateFin;HeureDebut;HeureFin;HeureDebutPlanning;HeureFinPlanning;Dossier;Int +ervention; +Sav;Devis;NomClient;CodeClient;Technicien;"... ++ +06/08/2026 Batik 3551 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Procédures +"QteHeures;TypeTemps;DateCompteRendu;TypeRDV;NomSociete;BGSociete;Adresse;Temps validé"+RC +fin +sContenuFichier += sContenuLignes +si fSauveTexte (sCheminFichier, sContenuFichier) alors +nQteFichier += 1 +sFichierCrees += sNomFichier + RC +//Appelle méthode pour mettre la date de export +si pas AjouterDateExportRDV(sIdRdvs) alors +Info(gsErreur) +MessageProcd() +retour +fin +sinon +sFichierNonCrees += sNomFichier + RC +fin +fin +fin +MessageProcd() +sinon +Info("Aucun RDV trouvé pour cette période") +fin +procédure interne MessageProcd() +si nQteFichier > 0 ou sFichierNonCrees <> "" alors +si nQteFichier > 0 alors +si nQteFichier > 1 alors +Info("Extraction réussi"+RC+nQteFichier+" fichiers ont été créés."+RC+ +sFichierCrees) +sinon +Info("Extraction réussi"+RC+nQteFichier+" fichier a été créé."+RC+sFichierCrees) +fin +fin +si sFichierNonCrees <> "" alors +Info("Un erreur est survenu"+RC+"Certains fichiers non pas pu être crées"+RC+ +sFichierNonCrees) +fin +sinon +Info("Aucune donnée récupérée") +fin +fin +Procédure locale DonneGUIDSColbSoc +procédure DonneGUIDSColbSoc() +si CMOD_Societe.CMB_Combo > 0 alors +saGUIDColbs ="" +pour tout cloUnColb de gtabListeCollaborateurs +si cloUnColb.IdSocPrincipal = CMOD_Societe.CMB_Combo _et_ cloUnColb.saGUID <> "" alors +si saGUIDColbs <> "" alors +saGUIDColbs += " , " +fin +saGUIDColbs += "'"+cloUnColb.saGUID+"'" +fin +fin +fin +Procédure locale FiltreInfo +06/08/2026 Batik 3552 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Procédures +procédure FiltreInfo(sdReq_1 est une Source de Données) +pstUnRdv est une ST_InfoRDVTemps dynamique +saAdrs est une chaîne ANSI +bOk est un booléen +duMaDurée est une Durée +sDD, sDF, sDC_CR est une chaîne ANSI +HD, HF est une Heure +duDureeRdv est une Durée +nTempHInterMoins est un entier +dhHeurDebutInter , dhHeureFinInterest une DateHeure +sTypeTempsInter est une chaîne ANSI +si gtabParametresMetierCode[cparam_TypeTemps]..Existe _et_ gtabParametresMetierCode[cparam_TypeTemps][ +cCle_TypeTempsInter]..Existe = Vrai alors +sTypeTempsInter = gtabParametresMetierCode[cparam_TypeTemps][cCle_TypeTempsInter].salibelle +fin +pour tout sdReq_1 +bOk = Faux +sDD = "" +sDF = "" +HD = "" +HF = "" +sDC_CR = "" +nTempHInterMoins = 0 +si gtaSuivi[sdReq_1.RVC_PKID]..Existe alors +pour tout stSuivi de gtaSuivi[sdReq_1.RVC_PKID].tabSuivis +bOk = DonneTemp(stSuivi.dhDateHeureDebut,stSuivi.dhDateHeureFin) +si bOk et stSuivi.nNbMin > 0 et stSuivi.sCleTypeTemps = cCle_TypeTempsInter alors +dhHeurDebutInter = stSuivi.dhDateHeureDebut +dhHeureFinInter = stSuivi.dhDateHeureFin +fin +fin +pour tout stSuivi de gtaSuivi[sdReq_1.RVC_PKID].tabSuivis +bOk = DonneTemp(stSuivi.dhDateHeureDebut,stSuivi.dhDateHeureFin) +si bOk et stSuivi.nNbMin > 0 et stSuivi.sCleTypeTemps <> cCle_TypeTempsInter alors +RemplirRDV(sdReq_1,0,stSuivi.sTypeTemps,Vrai) +si stSuivi.dhDateHeureDebut >= dhHeurDebutInter et stSuivi.dhDateHeureFin <= +dhHeureFinInter alors +duMaDurée = (stSuivi.dhDateHeureFin - stSuivi.dhDateHeureDebut) +nTempHInterMoins += duMaDurée..EnMinutes +fin +fin +fin +pour tout stSuivi de gtaSuivi[sdReq_1.RVC_PKID].tabSuivis +bOk = DonneTemp(stSuivi.dhDateHeureDebut,stSuivi.dhDateHeureFin) +si bOk et stSuivi.nNbMin > 0 et stSuivi.sCleTypeTemps = cCle_TypeTempsInter alors +RemplirRDV(sdReq_1,nTempHInterMoins,stSuivi.sTypeTemps,Vrai) +fin +fin +sinon +bOk = Faux +bOk = DonneTemp(sdReq_1.RVC_DateDeb,sdReq_1.RVC_DateFin) +si bOk alors +RemplirRDV(sdReq_1,0,sTypeTempsInter,Faux) +fin +fin +06/08/2026 Batik 3553 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Procédures +fin +procédure interne RemplirRDV(local sdReq est un Source de Données, nDureeAutreTemps est un entier, +sATypeTemps est une chaîne ANSI, bTempos est un booléen) +pstUnRdv = allouer un ST_InfoRDVTemps +pstUnRdv.nIdRdv = sdReq.RVC_PKID +pstUnRdv.saDateDebut = sDD +pstUnRdv.saDateFin = sDD +si HF < HD alors +dateFinDif est une Date = sDD +dateFinDif..Jour += 1 +pstUnRdv.saDateFin = dateFinDif // rdv de nuit +sDF = dateFinDif +fin +pstUnRdv.saHeureDebut = Gauche(HD,2)+"h"+Droite(Gauche(HD,4),2) +pstUnRdv.saHeureFin = Gauche(HF,2)+"h"+Droite(Gauche(HF,4),2) +pstUnRdv.saHeureDebutPlanning = Gauche(Droite(sdReq.RVC_DateDeb,9),2)+"h"+Droite(Gauche(Droite +(sdReq.RVC_DateDeb,9),4),2) +pstUnRdv.saHeureFinPlanning = Gauche(Droite(sdReq.RVC_DateFin,9),2)+"h"+Droite(Gauche( +Droite(sdReq.RVC_DateFin,9),4),2) +pstUnRdv.saDossier = sdReq.DO_RefInterne +pstUnRdv.saIntervention = sdReq.IN_RefInterne +pstUnRdv.saDevis = sdReq.IN_NumDevis +pstUnRdv.saNomClient = sdReq.CL_Nom +pstUnRdv.saCodeClient = sdReq.CL_CodeClient +si gtabListeCollaborateurs[sdReq.RVC_GUID_Colb]..Existe alors +pstUnRdv.saTechnicien = gtabListeCollaborateurs[sdReq.RVC_GUID_Colb].saTrigramme +fin +dhDateD est une DateHeure +dhDatef est une DateHeure +dhDateD..PartieDate = sDD +dhDateD..PartieHeure = HD +dhDatef..PartieDate = sDF +dhDatef..PartieHeure = HF +duDureeRdv = dhDatef - dhDateD +pstUnRdv.sAQteHeures = Abs(Arrondi(((duDureeRdv..EnMinutes-nDureeAutreTemps)/60),2)) +pstUnRdv.saTypeTemps = sATypeTemps +si sdReq.RV_CleType <> "" _et_ gtabParametresMetierCode[cParam_TypeRDV][sdReq.RV_CleType].. +Existe = Vrai alors +pstUnRdv.saTypeRDV = gtabParametresMetierCode[cParam_TypeRDV][sdReq.RV_CleType] +.salibelle +fin +pstUnRdv.nSav = sdReq.RV_SAV ? 1 sinon 0 +pstUnRdv.sCreationCR = sDC_CR +pstUnRdv.bTempsSaisie = bTempos +//récupération variable global +si sdReq.RV_IdSociete > 0 _et_ gtabListeSocietes[sdReq.RV_IdSociete]..Existe = Vrai alors +pstUnRdv.saNomSociete= gtabListeSocietes[sdReq.RV_IdSociete].saNom +fin +// # Batigest pstUnRdv.saBGSociete +saAdrs = "" +ConcatenationChaine(saAdrs,sdReq.AD_Adresse) +ConcatenationChaine(saAdrs,sdReq.AD_CodePostal) +ConcatenationChaine(saAdrs,sdReq.AD_Ville) +pstUnRdv.saAdresse = saAdrs +06/08/2026 Batik 3554 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Procédures +si gtaTempParSociete[CMOD_Societe.CMB_Combo]..Existe alors +TableauAjoute(gtaTempParSociete[CMOD_Societe.CMB_Combo].tabRDV, pstUnRdv) +sinon +stTableRdvs est un ST_InfoRdvSoc +gtaTempParSociete[CMOD_Societe.CMB_Combo] = stTableRdvs +TableauAjoute(gtaTempParSociete[CMOD_Societe.CMB_Combo].tabRDV, pstUnRdv) +fin +si duDureeRdv..EnJours > 1 alors +dNouvelleDate est une Date = sDD +numeroJour est un entier +boucle +dNouvelleDate.Jour++ +si numeroJour >= Abs(duDureeRdv..EnJours) alors +pstUnRdv.saDateDebut = dNouvelleDate +si HF < HD alors // rdv de nuit +dNouvelleDate..Jour += 1 +fin +pstUnRdv.saDateFin = dNouvelleDate +TableauAjoute(gtaTempParSociete[CMOD_Societe.CMB_Combo].tabRDV, pstUnRdv) +si HF < HD alors // rdv de nuit +dNouvelleDate..Jour -= 1 +fin +numeroJour += 1 +sinon +sortir +fin +fin +fin +fin +procédure interne DonneTemp(DateHD est une DateHeure, DateHF est une DateHeure) +sDD = Gauche(DateHD,8) +sDF = Gauche(DateHF,8) +HD = Droite(DateHD,9) +HF = Droite(DateHF,9) +si sDD = "" ou sDF = "" ou HD = "" ou HF = "" alors +renvoyer Faux +sinon +renvoyer Vrai +fin +fin +Procédure locale ModifierDossierInit +procédure ModifierDossierInit() +si pas INIEcrit("Export_Temps", "Dossier",CMOD_Repertoire.SAI_Texte,saCheminInit) alors +renvoyer Faux +fin +renvoyer Vrai +Procédure locale RechercheSuiviTemps +procédure RechercheSuiviTemps() +TableauSupprimeTout(gtaSuivi) +saComplReq est une chaîne ANSI = "" +06/08/2026 Batik 3555 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Procédures +saRqSDT est une chaîne ANSI = [ +SELECT +SuiviDesTemps.*, +RVC_DateDeb, +RVC_DateFin, +RVC_PKID +FROM SuiviDesTemps +INNER JOIN RDV_Collaborateur +ON RDV_Collaborateur.GUID = SuiviDesTemps.SDT_GUID_Rdv_Colb +WHERE +Archive = 0 +AND SDT_NbMinutes > 0 +AND SDT_CleType <> '' +] +saComplReq += " AND RVC_DateDeb >= '" + StrSQL(CMOD_DateDeb.SAI_Date) + "' " +saComplReq += " AND RVC_GUID_Colb IN(" + saGUIDColbs+")" +nDateFinest un entier = 0 +sRDF est une chaîne +si CMOD_DateFin.SAI_Date <> "" alors +nDateFin = CMOD_DateFin.SAI_Date +sinon +nDateFin = DateSys() +fin +nDateFin += 1 +sRDF = nDateFin +saComplReq += " AND RVC_DateFin < '" + StrSQL(sRDF) + "' " +saComplReq += " ORDER BY SuiviDesTemps.SDT_GUID_Rdv_Colb" +saRqSDT += saComplReq +sdSDSDT est une Source de Données +si pas HExécuteRequêteSQL(sdSDSDT, hRequêteDéfaut, saRqSDT) alors +renvoyer Faux +sinon +pour tout sdSDSDT +stSDT est une ST_SuivisRqListe +stSDT.dhDateHeureDebut = sdSDSDT.SDT_DateDebut +stSDT.dhDateHeureFin = sdSDSDT.SDT_DateHeureFin +stSDT.nIN_PKID = sdSDSDT. +SDT_IDIntervention +stSDT.nRDV_PKID = sdSDSDT.SDT_IDRdv +stSDT.dhDateCreation = sdSDSDT.CreationDate +stSDT.sGUID = sdSDSDT.GUID +stSDT.nNbMin = sdSDSDT.SDT_NbMinutes +si sdSDSDT.SDT_CleType <> "" _et_ gtabParametresMetierCode[cparam_TypeTemps][sdSDSDT. +SDT_CleType]..Existe = Vrai alors +stSDT.sTypeTemps = gtabParametresMetierCode[ +cparam_TypeTemps][sdSDSDT.SDT_CleType].salibelle +stSDT.sCleTypeTemps = sdSDSDT.SDT_CleType +fin +stSDT.dhDateHDRDV = sdSDSDT.RVC_DateDeb +stSDT.dhDateHFRDV = sdSDSDT.RVC_DateFin +stSDT.nRDV_PKID = sdSDSDT.RVC_PKID +06/08/2026 Batik 3556 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Procédures +gtaSuivi[sdSDSDT.RVC_PKID].nRDV_PKID = sdSDSDT.RVC_PKID +gtaSuivi[sdSDSDT.RVC_PKID].tabSuivis[sdSDSDT.SDT_CleType] = stSDT +fin +fin +pour tout suivis de gtaSuivi +si suivis.tabSuivis[cCle_TypeTempsInter]..Existe <> Faux alors +pour tout stTemps de suivis.tabSuivis +si stTemps.sCleTypeTemps <> cCle_TypeTempsInter alors +si stTemps.dhDateHDRDV <= stTemps.dhDateHeureDebut et stTemps.dhDateHFRDV >= stTemps. +dhDateHeureFin alors +suivis.tabSuivis[cCle_TypeTempsInter].nNbMin -= stTemps.nNbMin +fin +fin +fin +fin +fin +renvoyer Vrai +Procédure locale ReqTemps +procédure ReqTemps() +saComplReq est une chaîne ANSI = "" +saReqRDVest une chaîne ANSI = SQL_Base_RDV() +saComplReq += " AND RVC.RVC_DateDeb >= '" + StrSQL(CMOD_DateDeb.SAI_Date) + "'" +saComplReq += " AND RVC.RVC_GUID_Colb IN(" + saGUIDColbs+")" +nDateFinest un entier = 0 +sRDF est une chaîne +si CMOD_DateFin.SAI_Date <> "" alors +nDateFin = CMOD_DateFin.SAI_Date +sinon +nDateFin = DateSys() +fin +nDateFin += 1 +sRDF = nDateFin +saComplReq += " AND RVC.RVC_DateFin < '" + StrSQL(sRDF) + "'" +si pas CMOD_RdvExporte.INT_Int alors +saComplReq += " AND (RVC.RVC_DateExport = '' OR RVC.RVC_DateExport IS NULL)" +fin +saComplReq += " ORDER BY RVC.RVC_DateDeb" +saReqRDV += saComplReq +sdSDRDV est une Source de Données +si pas HExécuteRequêteSQL(sdSDRDV, hRequêteDéfaut, saReqRDV) alors +gsErreur = "Une erreur s'est produite, les rendez-vous n'ont pas été récupérés" +renvoyer Faux +sinon +si RechercheSuiviTemps() alors +FiltreInfo(sdSDRDV) +renvoyer Vrai +sinon +gsErreur = "Une erreur s'est produite, les suivis de temps n'ont pas été récupérés" +renvoyer Faux +06/08/2026 Batik 3557 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Procédures +fin +fin +Procédure locale SQL_Base_RDV +procédure SQL_Base_RDV() +renvoyer [ +SELECT +RVC.RVC_PKID, +RV.RV_PKID, +RV.RV_IdSociete, +RV.RV_IdDossier, +RV.RV_IdInter, +RV.RV_CleType, +RVC.RVC_CleStatut, +RV.RV_Objet, +RV.GUID AS GUID_RDV, +RVC.GUID AS GUID, +RV.RV_Description, +RVC.RVC_DateDeb, +RVC.RVC_DateFin, +RVC.RVC_Superposable, +RVC.RVC_TempsValide, +RVC.RVC_DateExport, +RV.RV_IdLieu, +RV.RV_SAV, +RV.RV_Groupe, +RV.RV_CleOrigineAnnu, +RV.RV_CleMotifAnnu, +RV.RV_RappelSMS, +RV.Archive, +RVC.RVC_GUID_Colb, +RVC.RVC_Responsable, +RVC.RVC_GUID_Colb, +CL_CodeClient, +CL_Nom, +IN_NumDevis, +IN_RefInterne, +DO_RefInterne, +AD_Adresse, +AD_CodePostal, +AD_Ville +FROM RDV_Planning RV +INNER JOIN RDV_Collaborateur RVC +ON RVC.RVC_GUID_RDV = RV.GUID +LEFT OUTER JOIN Intervention +ON Intervention.IN_PKID = RV.RV_IdInter +LEFT OUTER JOIN Dossier +ON Dossier.DO_PKID = RV.RV_IdDossier +LEFT OUTER JOIN Client +ON Client.CL_PKID = Intervention.IN_IDClient +LEFT OUTER JOIN Lieu +ON Lieu.LI_PKID = RV.RV_IdLieu +LEFT OUTER JOIN Adresse +ON Adresse.AD_PKID = Lieu.LI_IDAdresse +06/08/2026 Batik 3558 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Procédures +WHERE +RV.Archive = 0 +AND RVC.Archive = 0 +] +Procédure locale TraitementChaine +procédure TraitementChaine(sMaChaine est une chaîne) +sMaChaine = Remplace(sMaChaine,";","") +sMaChaine = Remplace(sMaChaine,",",".") +sMaChaine = Remplace(sMaChaine,TAB," ") +renvoyer SupprimerRC(sMaChaine) +Procédure locale Valider +procédure Valider() +gsErreur = "" +VerificationDates() +si CMOD_Repertoire.SAI_Texte <> "" alors +si CMOD_Societe.CMB_Combo > 0 alors +DonneGUIDSColbSoc() +// generer le fichier +si pas ReqTemps() alors +Erreur(gsErreur) +retour +sinon +CreationFichierCSV() +fin +si gsACheminDossier <> CMOD_Repertoire.SAI_Texte alors +si pas ModifierDossierInit() alors +Info( +"Le nouveau répertoire pour enregistrer les fichiers CSV n'a pas pu être enregistré +dans le fichier INI" +) +Ferme() +fin +sinon +Ferme() +fin +sinon +Info("Vous devez choisir une société") +retour +fin +sinon +Info("Vous devez choisir le répertoire pour enregistrer les fichiers CSV") +retour +fin +Procédure locale VerificationDates +procédure VerificationDates() +si CMOD_DateDeb.SAI_Date <> "" alors +si CMOD_DateDeb.SAI_Date > DateDuJour() alors +Info("La date de début doit être inférieure ou égale à la date d'aujourd'hui") +RepriseSaisie(CMOD_DateDeb.SAI_Date) +06/08/2026 Batik 3559 + +Partie 3 › Fenêtre WINDEV › FEN_Exporter_Temps › Procédures +fin +si CMOD_DateFin.SAI_Date <> "" alors +si CMOD_DateDeb.SAI_Date > CMOD_DateFin.SAI_Date alors +Info("La date de début doit être inférieure ou égale à la date de fin") +RepriseSaisie(CMOD_DateDeb.SAI_Date) +fin +fin +sinon +Info("Vous devez saisir la date de début") +RepriseSaisie(CMOD_DateDeb.SAI_Date) +fin +06/08/2026 Batik 3560 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Image +FEN_Filtre_Dossier_Widget +Image +FEN_Filtre_Dossier_Widget +Informations générales +FEN_Filtre_Dossier_Widget +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Filtre_Dossier_Widget.wdw +Créé par susana@applilogik.fr +Date de création 01/04/2026 08:51:44 +Dernière modification par susana@applilogik.fr +Date dernière modification 02/04/2026 09:51:43 +Titre FR: Filtre Dossier +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +06/08/2026 Batik 3561 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations générales +Note pour la documentation technique +FR: Filtre Dossier +| Position X | 0 Position Y | | 0 Largeur | 1013 Hauteur | 533 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 3562 | + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations générales +| Déplace souris sur bouton par | Non | | | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | --- | +| Compact. barres outils | Non | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Champ de saisie | | 14 | Libellé | | | 7 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Bouton | | 2 | Interrupteur | | | 27 | +| | Image | | 9 | Combo | | | 14 | +| | Superchamp | | 6 | Champ Modèle de champs | | | 42 | +| | Option d'interrupteur | | 27 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 149 +FEN_Filtre_Dossier_Widget +Informations sur les champs +Fenêtre : FEN_Filtre_Dossier_Widget +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_BordFen | | 0 | -29 837 | 29 | 0 | Actif | | +| ---------------- | --- | --- | ------- | --- | --- | ----- | ---- | +| CMOD_Client | | 752 | 100 250 | 235 | 0 | Actif | | +| CMOD_DateModif | | 7 | 53 269 | 30 | 0 | Actif | | +| CMOD_Dossier | | 2 | 100 250 | 208 | 0 | Actif | | +| CMOD_Instruccion | | 7 | 2 611 | 26 | 0 | Actif | | +| CMOD_Inter | | 252 | 100 250 | 265 | 0 | Actif | | +| CMOD_RDV | | 501 | 283 251 | 181 | 0 | Actif | | +| CMOD_SansNom1 | | 712 | 2 141 | 35 | 0 | Actif | | +| CMOD_SansNom2 | | 861 | 2 141 | 35 | 0 | Actif | | +| CMOD_Site | | 502 | 100 250 | 182 | 0 | Actif | | +| CMOD_TitreWidget | | 284 | 30 334 | 53 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 3563 | + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | | 0 | -29 | 837 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libellé | 91 | -27 714 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | --- | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 805 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | --- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_Client +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_Div | | 756 | 105 | 241 | 224 | 0 | Actif | | +| ---------- | --- | --- | ----- | --- | --- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | | | 3564 | + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Superchamp : CMOD_Client.SC_Div +Image +| | | | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------- | --------------------------------------- | ---------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | sucof cevA | +| | | | | | ruetuaH | | | cilc cevA | | | +ruegraL +elbisiV +nalP +| IMG_Site_noire | | 762 | 114 | 18 | 20 | 0 | Actif | | | | +| -------------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| CMOD_Client_Bloque | | | 760 | 289 | 157 | 30 | 0 | | Actif | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_Client_Code | | | 760 | 231 | 234 | 30 | 0 | | Actif | | +| CMOD_Client_CodeCompta | | | 760 | 201 | 234 | 30 | 0 | | Actif | | +| CMOD_Client_Nom | | | 760 | 145 | 235 | 30 | 0 | | Actif | | +| CMOD_Client_Statut | | | 760 | 259 | 234 | 30 | 0 | | Actif | | +| CMOD_Client_Type | | | 760 | 173 | 234 | 30 | 0 | | Actif | | +| CMOD_Titre | | | 788 | 111 | 201 | 26 | 0 | | Actif | | +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_Client_Bloque +Interrupteur +ellennoitroporp .loC +| | | | | | | | | BAT ehcuoT sennoloc .bN | | | +| --- | --- | ---------- | ---------- | --------------- | --- | --- | ------------ | ----------------------- | --- | ----------- | +| | | | | | | | laitini tatE | | | staté siorT | +| | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | ruegraL ruetuaH | | | | | | | +elbisiV +nalP +| INT_Opt | | 760 | 294 | 20 | 20 | 0 Actif | | | 1 | | +| ------- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | | | BAT ehcuoT | eisias cevA | | | | +| --- | ---------- | ---------- | ------- | ------- | ------------ | ---------- | ----------- | --- | --- | --- | +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | | | +| | | | ruetuaH | | | sruocraP | | | | | +| | | ruegraL | | elbisiV | | | | | | | +| | | | | | | elbaT | eéirT | | | | +nalP +| CMB_Choix | 785 | 290 131 | 29 | 0 | Actif | Mémoire | | Non | | | +| ---------- | --- | ------- | --- | ----- | ----- | ------- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | | 3565 | + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_Client_Code +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_Choix | 788 231 | 206 30 0 | Actif Texte | | Non | | +| --------- | ------- | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT staté siorT +| | | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 761 235 | 20 20 | 0 | Actif | 1 | +| ------- | --- | ------- | ----- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_Client_CodeCompta +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 | | | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| SAI_Choix | 788 201 | 206 30 0 | Actif Texte | | Non | | +| --------- | ------- | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +BAT ehcuoT sennoloc .bN +| | | | | | laitini tatE | staté siorT | +| --- | --- | --- | --- | --- | ------------ | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 760 206 | 20 20 | 0 | Actif | 1 | +| ---------- | --- | ------- | ----- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | 3566 | + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_Client_Nom +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_Choix | 788 145 | 207 30 0 | Actif Texte | | Non | | | | +| --------- | ------- | -------- | ----------- | --- | --- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | BAT ehcuoT | | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | ---------- | --- | ----------- | +| | | X noitisoP Y noitisoP | | | laitini tatE | | | | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 760 150 | 20 20 | 0 | Actif | | 1 | | +| ------- | --- | ------- | ----- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_Client_Statut +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | | | | laitini tatE | | | staté siorT | +| --- | --- | --- | --- | --- | ------------ | --- | --- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 762 264 | 20 20 | 0 | Actif | | 1 | | +| ------- | --- | ------- | ----- | --- | ----- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | | | +| --- | ---------- | --------------- | ------------ | ---------- | ----------- | --- | --- | --- | +| | X noitisoP | Y noitisoP | laitini tatE | | | | | | +| | | ruegraL ruetuaH | | | sruocraP | | | | +elbisiV +| | | | | elbaT | eéirT | | | | +| --- | --- | --- | --- | ----- | ----- | --- | --- | --- | +nalP +| CMB_Choix | 788 | 259 206 31 | 0 Actif | Mémoire | | Non | | | +| ---------- | --- | ---------- | ------- | ------- | --- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 3567 | + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_Client_Type +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | | | laitini tatE | BAT ehcuoT | | staté siorT | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | ---------- | --- | ----------- | +| | | X noitisoP | Y noitisoP | | | | | | | | | +| | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| INT_Opt | | | 760 178 | 20 | 20 | | 0 Actif | | | 1 | | +| ------- | --- | --- | ------- | --- | --- | --- | ------- | --- | --- | --- | --- | +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_Choix | 788 | 173 | 206 | 31 | 0 Actif | | Mémoire | | Non | | | +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_Titre +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| LIB_lib | | 788 | 111 | 201 | 26 | 0 | Actif | Gauche | Centre | | | +| ------- | --- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | --- | +Champ Modèle de champs : CMOD_DateModif +Interrupteur +ellennoitroporp .loC +| | | | | | | | | | BAT ehcuoT sennoloc .bN | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | ----------------------- | --- | ----------- | +| | | | | | | | | laitini tatE | | | staté siorT | +| | | X noitisoP | Y noitisoP | | | | | | | | | +| | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| INT_Opt | | | 7 58 | 20 | 20 | | 0 Actif | | | 1 | | +| ---------- | --- | --- | ---- | --- | ----- | --- | ------- | --- | --- | --- | ---- | +| 06/08/2026 | | | | | Batik | | | | | | 3568 | + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › 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_Choix | 35 53 | 241 31 | 0 | Actif | Mémoire | Non | | | +| --------- | ----- | ------ | --- | ----- | ------- | --- | --- | --- | +Champ Modèle de champs : CMOD_Dossier +Superchamp +| | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | +| | | X noitisoP | Y noitisoP | | | | | | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_Div | | 6 | 105 | 241 | 197 | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : CMOD_Dossier.SC_Div +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --------- | --- | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_Dossier_noire | | 12 110 | 20 | 20 | 0 | Actif | | | +| ----------------- | --- | ------ | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs +| | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | +| | | X noitisoP | Y noitisoP | | | | | | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_DossierNum | | 12 | 137 | 232 | 30 | 0 | Actif | | +| ------------------ | --- | --- | ----- | --- | --- | --- | ----- | ---- | +| CMOD_DossierRefExt | | 12 | 197 | 232 | 30 | 0 | Actif | | +| CMOD_DossierStatut | | 12 | 258 | 232 | 30 | 0 | Actif | | +| CMOD_DossierTitre | | 12 | 167 | 232 | 30 | 0 | Actif | | +| CMOD_DossierType | | 12 | 228 | 232 | 30 | 0 | Actif | | +| CMOD_Lib | | 40 | 108 | 179 | 26 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | | 3569 | + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Dossier.SC_Div.CMOD_DossierNum +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_Choix | 40 137 | 204 30 0 | Actif Texte | | Non | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT staté siorT +| | | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 12 142 | 20 20 | 0 | Actif | 1 | +| ------- | --- | ------ | ----- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Dossier.SC_Div.CMOD_DossierRefExt +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 | | | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| SAI_Choix | 40 197 | 204 30 0 | Actif Texte | | Non | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +BAT ehcuoT sennoloc .bN +| | | | | | laitini tatE | staté siorT | +| --- | --- | --- | --- | --- | ------------ | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 12 202 | 20 20 | 0 | Actif | 1 | +| ---------- | --- | ------ | ----- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | 3570 | + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Dossier.SC_Div.CMOD_DossierStatut +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | laitini tatE | BAT ehcuoT | | staté siorT | +| --- | --- | --- | --- | --- | --- | ------------ | ---------- | --- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 12 263 | 20 | 20 | 0 | Actif | | 1 | | +| ------- | --- | ------ | --- | --- | --- | ----- | --- | --- | --- | +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_Choix | 40 | 258 204 31 | 0 | Actif | Mémoire | | Non | | | +Champ Modèle de champs : CMOD_Dossier.SC_Div.CMOD_DossierTitre +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_Choix | 40 167 | 204 30 0 | Actif | Texte | | Non | | | | +| --------- | ------ | -------- | ----- | ----- | --- | --- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 12 172 | 20 | 20 | 0 | Actif | | 1 | | +| ---------- | --- | ------ | ----- | --- | --- | ----- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | | 3571 | + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Dossier.SC_Div.CMOD_DossierType +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | | laitini tatE | BAT ehcuoT | | staté siorT | +| --- | --- | --------------------- | ------- | ------- | --- | --- | ------------ | ---------- | --- | ----------- | +| | | X noitisoP Y noitisoP | | | | | | | | | +| | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| INT_Opt | | 12 233 | 20 | 20 | | 0 Actif | | | 1 | | +| ------- | --- | ------ | --- | --- | --- | ------- | --- | --- | --- | --- | +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_Choix | 40 | 228 204 | 31 | 0 Actif | | Mémoire | | Non | | | +Champ Modèle de champs : CMOD_Dossier.SC_Div.CMOD_Lib +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 40 108 | 179 | 26 | 0 | Actif | Gauche | Centre | | | +| ------- | --- | ------ | --- | --- | --- | ----- | ------ | ------ | --- | --- | +Champ Modèle de champs : CMOD_Instruccion +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | | .trev egardaC | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | ------------- | --- | ------------- | ---------- | +| | | | | | | laitini tatE | | | | FTR tamroF | +| | | X noitisoP Y noitisoP | | | | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 7 2 | 611 | 26 | 0 | Actif | Gauche | Centre | | | +| ---------- | --- | --- | --- | ----- | --- | ----- | ------ | ------ | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | | 3572 | + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Inter +Superchamp +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_Div | 256 | 105 241 | 254 | 0 | Actif | | +| ------ | --- | ------- | --- | --- | ----- | --- | +Superchamp : CMOD_Inter.SC_Div +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | ------- | --- | ------------ | --------- | ---------- | +| | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Inter | 259 111 | 20 20 | 0 | Actif | | | +| --------- | ------- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_InterDevisN | 259 | 257 233 | 30 | 0 | Actif | | +| ------------------ | --- | ------- | --- | --- | ----- | --- | +| CMOD_InterEtat | 259 | 316 233 | 30 | 0 | Actif | | +| CMOD_InterNum | 259 | 137 233 | 30 | 0 | Actif | | +| CMOD_InterRefExt | 259 | 227 233 | 30 | 0 | Actif | | +| CMOD_InterSoc | 259 | 286 233 | 30 | 0 | Actif | | +| CMOD_InterSuiviPar | 259 | 167 233 | 30 | 0 | Actif | | +| CMOD_InterType | 259 | 197 233 | 30 | 0 | Actif | | +| CMOD_Lib | 287 | 108 157 | 26 | 0 | Actif | | +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_InterDevisN +| 06/08/2026 | | Batik | | | | 3573 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +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_Choix | 287 257 | 205 30 0 | Actif Texte | | Non | | | | +| --------- | ------- | -------- | ----------- | --- | --- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | ruegraL | elbisiV | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +nalP +| INT_Opt | | 259 262 | 20 20 | 0 | Actif | | 1 | | +| ------- | --- | ------- | ----- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_InterEtat +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | laitini tatE | BAT ehcuoT | | staté siorT | +| --- | --- | --- | --- | --- | ------------ | ---------- | --- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 259 321 | 20 20 | 0 | Actif | | 1 | | +| ------- | --- | ------- | ----- | --- | ----- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +| | | | | BAT ehcuoT | | eisias cevA | ediv is LLUN | | +| --- | ---------- | ---------- | ------------ | ---------- | -------- | ----------- | ------------ | --- | +| | X noitisoP | Y noitisoP | laitini tatE | | | | | | +| | | ruetuaH | | | sruocraP | | | | +| | | ruegraL | elbisiV | | | | | | +elbaT +| | | | nalP | | | eéirT | | | +| ---------- | --- | ---------- | ------- | ------- | --- | ----- | --- | ---- | +| CMB_Choix | 287 | 316 205 31 | 0 Actif | Mémoire | | Non | | | +| 06/08/2026 | | | Batik | | | | | 3574 | + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_InterNum +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_Choix | 287 137 | 205 30 0 | Actif Texte | | Non | | +| --------- | ------- | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT staté siorT +| | | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 259 142 | 20 20 | 0 | Actif | 1 | +| ------- | --- | ------- | ----- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_InterRefExt +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 | | | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| SAI_Choix | 287 227 | 205 30 0 | Actif Texte | | Non | | +| --------- | ------- | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +BAT ehcuoT sennoloc .bN +| | | | | | laitini tatE | staté siorT | +| --- | --- | --- | --- | --- | ------------ | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 259 232 | 20 20 | 0 | Actif | 1 | +| ---------- | --- | ------- | ----- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | 3575 | + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_InterSoc +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | laitini tatE | BAT ehcuoT | staté siorT | +| --- | ---------- | ---------- | --- | --- | ------------ | ---------- | ----------- | +| | X noitisoP | Y noitisoP | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 259 291 | 20 | 20 | 0 Actif | | 1 | +| ------- | --- | ------- | --- | --- | ------- | --- | --- | +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_Choix | 287 286 | 205 31 | 0 | Actif | Mémoire | Non | | +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_InterSuiviPar +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | BAT ehcuoT | staté siorT | +| --- | ---------- | ---------- | --- | --- | ------------ | ---------- | ----------- | +| | X noitisoP | Y noitisoP | | | laitini tatE | | | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 259 172 | 20 | 20 | 0 Actif | | 1 | +| ------- | --- | ------- | --- | --- | ------- | --- | --- | +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 +| | | | nalP | | elbaT | eéirT | | +| ---------- | ------- | ------ | ----- | ----- | ------- | ----- | ---- | +| CMB_Choix | 287 167 | 205 31 | 0 | Actif | Mémoire | Non | | +| 06/08/2026 | | | Batik | | | | 3576 | + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_InterType +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | | | laitini tatE | BAT ehcuoT | | staté siorT | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | ---------- | --- | ----------- | +| | | X noitisoP | Y noitisoP | | | | | | | | | +| | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| INT_Opt | | | 259 202 | 20 | | 20 | 0 Actif | | | 1 | | +| ------- | --- | --- | ------- | --- | --- | --- | ------- | --- | --- | --- | --- | +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_Choix | 287 | 197 | 205 | 31 | 0 | Actif | Mémoire | | Non | | | +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Lib +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| LIB_lib | | 287 | 108 | 157 | 26 | | 0 Actif | Gauche | | Centre | | +| ------- | --- | --- | --- | --- | --- | --- | ------- | ------ | --- | ------ | --- | +Champ Modèle de champs : CMOD_RDV +Superchamp +| | | | | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | ---------- | ---------- | --- | ------- | ------- | --- | --- | ------------ | ---------- | +| | | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| SC_Div | | | 505 | | 288 | 242 | 170 | 0 | | Actif | | +| ---------- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | ----- | ---- | +| 06/08/2026 | | | | | Batik | | | | | | 3577 | + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Superchamp : CMOD_RDV.SC_Div +Image +| | | | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------- | --------------------------------------- | ---------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | sucof cevA | +| | | | | | ruetuaH | | | cilc cevA | | | +ruegraL +elbisiV +nalP +| IMG_RDV | | 508 | 296 | 20 | 20 | 0 | Actif | | | | +| ------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| CMOD_JoursApres | | | 507 | 413 | 237 | 30 | 0 | | Actif | | +| --------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_JoursAvant | | | 508 | 384 | 236 | 30 | 0 | | Actif | | +| CMOD_Lib | | | 535 | 292 | 205 | 26 | 0 | | Actif | | +| CMOD_StatutRDV | | | 508 | 325 | 236 | 30 | 0 | | Actif | | +| CMOD_TypeRDV | | | 508 | 355 | 236 | 30 | 0 | | Actif | | +Champ Modèle de champs : CMOD_RDV.SC_Div.CMOD_JoursApres +Interrupteur +ellennoitroporp .loC +| | | | | | | | | BAT ehcuoT sennoloc .bN | | | +| --- | --- | ---------- | ---------- | --------------- | --- | --- | ------------ | ----------------------- | --- | ----------- | +| | | | | | | | laitini tatE | | | staté siorT | +| | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | ruegraL ruetuaH | | | | | | | +elbisiV +nalP +| INT_Opt | | 507 | 418 | 20 | 20 | 0 Actif | | | 1 | | +| ------- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | | | BAT ehcuoT | eisias cevA | | | | +| --- | ---------- | ---------- | ------- | ------- | ------------ | ---------- | ----------- | --- | --- | --- | +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | | | +| | | | ruetuaH | | | sruocraP | | | | | +| | | ruegraL | | elbisiV | | | | | | | +elbaT +| | | | | nalP | | | eéirT | | | | +| ---------- | --- | ------- | --- | ----- | ----- | ------- | ----- | --- | --- | ---- | +| CMB_Choix | 535 | 413 209 | 31 | 0 | Actif | Mémoire | | Non | | | +| 06/08/2026 | | | | Batik | | | | | | 3578 | + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_RDV.SC_Div.CMOD_JoursAvant +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | | | laitini tatE | BAT ehcuoT | | staté siorT | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | ---------- | --- | ----------- | +| | | X noitisoP | Y noitisoP | | | | | | | | | +| | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| INT_Opt | | | 508 389 | 20 | 20 | | 0 Actif | | | 1 | | +| ------- | --- | --- | ------- | --- | --- | --- | ------- | --- | --- | --- | --- | +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_Choix | 536 | 384 | 208 | 31 | 0 Actif | | Mémoire | | Non | | | +Champ Modèle de champs : CMOD_RDV.SC_Div.CMOD_Lib +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| LIB_lib | | 535 | 292 | 205 | 26 | 0 | Actif | Gauche | Centre | | | +| ------- | --- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | --- | +Champ Modèle de champs : CMOD_RDV.SC_Div.CMOD_StatutRDV +Interrupteur +ellennoitroporp .loC +| | | | | | | | | | BAT ehcuoT sennoloc .bN | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | ----------------------- | --- | ----------- | +| | | | | | | | | laitini tatE | | | staté siorT | +| | | X noitisoP | Y noitisoP | | | | | | | | | +| | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| INT_Opt | | | 508 330 | 20 | 20 | | 0 Actif | | | 1 | | +| ---------- | --- | --- | ------- | --- | ----- | --- | ------- | --- | --- | --- | ---- | +| 06/08/2026 | | | | | Batik | | | | | | 3579 | + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › 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_Choix | 536 | 325 208 31 | 0 Actif | Mémoire | | Non | | | +| --------- | --- | ---------- | ------- | ------- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_RDV.SC_Div.CMOD_TypeRDV +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | | | laitini tatE | | | staté siorT | +| --- | --- | ---------- | --- | --- | ------------ | --- | --- | ----------- | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 508 360 | 20 20 | 0 | Actif | | 1 | | +| ------- | --- | ------- | ----- | --- | ----- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | | | +| --- | ---------- | --------------- | ------------ | ---------- | ----------- | --- | --- | --- | +| | X noitisoP | Y noitisoP | laitini tatE | | | | | | +| | | ruegraL ruetuaH | | | sruocraP | | | | +elbisiV +| | | | | elbaT | eéirT | | | | +| --- | --- | --- | --- | ----- | ----- | --- | --- | --- | +nalP +| CMB_Choix | 536 | 355 208 31 | 0 Actif | Mémoire | | Non | | | +| --------- | --- | ---------- | ------- | ------- | --- | --- | --- | --- | +Champ Modèle de champs : CMOD_SansNom1 +Bouton +| | | | | | | BAT ehcuoT | | notuob epyT | +| --- | --- | --------------------- | --------------- | --- | --- | ------------ | --- | ----------- | +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| | | | ruegraL ruetuaH | | | | | | +elbisiV +nalP +| BTN_Annuler | | 712 | 2 141 | 35 0 | Actif | | Normal | | +| ----------- | --- | --- | ----- | ---- | ----- | --- | ------ | ---- | +| 06/08/2026 | | | Batik | | | | | 3580 | + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom2 +Bouton +BAT ehcuoT notuob epyT +laitini tatE +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Valider | 861 2 | 141 35 | 0 | Actif | Normal | | +| ----------- | ----- | ------ | --- | ----- | ------ | --- | +Champ Modèle de champs : CMOD_Site +Superchamp +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_Div | 506 | 105 241 | 171 | 0 | Actif | | +| ------ | --- | ------- | --- | --- | ----- | --- | +Superchamp : CMOD_Site.SC_Div +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | laitini tatE | | sucof cevA | +| --- | --- | --- | --- | ------------ | --- | ---------- | +X noitisoP Y noitisoP +| | | ruegraL ruetuaH | | | cilc cevA | | +| --- | --- | --------------- | --- | --- | --------- | --- | +elbisiV +nalP +| IMG_Site_noire | 509 110 | 20 20 | 0 | Actif | | | +| -------------- | ------- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Lib | 537 | 108 157 | 26 | 0 | Actif | | +| -------------- | --- | ------- | --- | --- | ----- | ---- | +| CMOD_SiteAdr | 509 | 167 235 | 30 | 0 | Actif | | +| CMOD_SiteCP | 509 | 196 235 | 30 | 0 | Actif | | +| CMOD_SiteNom | 509 | 138 235 | 30 | 0 | Actif | | +| CMOD_SiteVille | 509 | 225 235 | 30 | 0 | Actif | | +| 06/08/2026 | | Batik | | | | 3581 | + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Site.SC_Div.CMOD_Lib +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 537 108 | 157 | 26 | 0 | Actif Gauche | Centre | | +| ------- | --- | ------- | --- | --- | --- | ------------ | ------ | --- | +Champ Modèle de champs : CMOD_Site.SC_Div.CMOD_SiteAdr +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_Choix | 537 167 | 207 30 | 0 | Actif | Texte | Non | | | +| --------- | ------- | ------ | --- | ----- | ----- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +BAT ehcuoT sennoloc .bN +| | | | | | | laitini tatE | | staté siorT | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | ----------- | +| | | X noitisoP Y noitisoP | | | | | | | +| | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| INT_Opt | | 509 172 | 20 | 20 | 0 | Actif | 1 | | +| ------- | --- | ------- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Site.SC_Div.CMOD_SiteCP +| 06/08/2026 | | | | Batik | | | | 3582 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +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_Choix | 537 196 | 207 30 0 | Actif Texte | | Non | | +| --------- | ------- | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | ----------- | +ruetuaH +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| INT_Opt | | 509 201 | 20 20 | 0 | Actif | 1 | +| ------- | --- | ------- | ----- | --- | ----- | --- | +Champ Modèle de champs : CMOD_Site.SC_Div.CMOD_SiteNom +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_Choix | 537 138 | 207 30 0 | Actif Texte | | Non | | +| --------- | ------- | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | laitini tatE BAT ehcuoT | staté siorT | +| --- | --- | --- | --- | --- | ----------------------- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 509 143 | 20 20 | 0 | Actif | 1 | +| ---------- | --- | ------- | ----- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | 3583 | + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Site.SC_Div.CMOD_SiteVille +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_Choix | 537 225 | 207 30 0 | Actif Texte | | Non | | +| --------- | ------- | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT staté siorT +| | | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 509 230 | 20 20 | 0 | Actif | 1 | +| ------- | --- | ------- | ----- | --- | ----- | --- | +Champ Modèle de champs : CMOD_TitreWidget +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 | | | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| SAI_Texte | 284 30 | 334 53 0 | Actif Texte | | Non | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | +Fenêtre : FEN_Filtre_Dossier_Widget +| 06/08/2026 | | | Batik | | | 3584 | +| ---------- | --- | --- | ----- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3585 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_DateModif +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Dossier +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3586 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Instruccion +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3587 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_RDV +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom1 +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3588 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom2 +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Site +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3589 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_TitreWidget +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 837 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3590 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 3591 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 3592 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 3593 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client +Superchamp : CMOD_Client.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 239 +06/08/2026 Batik 3594 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Hauteur externe 222 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Client.SC_Div +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_Client_Bloque +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3595 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_Client_Code +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_Client_CodeCompta +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3596 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_Client_Nom +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_Client_Statut +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3597 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_Client_Type +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3598 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Image : CMOD_Client.SC_Div.IMG_Site_noire +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Client_noire.svg +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 Oui +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 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_Client_Bloque +Combo : CMOD_Client.SC_Div.CMOD_Client_Bloque.CMB_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Combo +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 3599 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +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 130 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 786 +Largeur interne 130 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 3600 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : CMOD_Client.SC_Div.CMOD_Client_Bloque.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 3601 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_Client_Code +Interrupteur : CMOD_Client.SC_Div.CMOD_Client_Code.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +06/08/2026 Batik 3602 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : CMOD_Client.SC_Div.CMOD_Client_Code.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 788 +Largeur interne 206 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 3603 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_Client_CodeCompta +06/08/2026 Batik 3604 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Interrupteur : CMOD_Client.SC_Div.CMOD_Client_CodeCompta.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3605 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ de saisie : CMOD_Client.SC_Div.CMOD_Client_CodeCompta.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 788 +Largeur interne 206 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Batik 3606 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_Client_Nom +Interrupteur : CMOD_Client.SC_Div.CMOD_Client_Nom.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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> +06/08/2026 Batik 3607 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : CMOD_Client.SC_Div.CMOD_Client_Nom.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 +06/08/2026 Batik 3608 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 788 +Largeur interne 207 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 3609 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +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 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_Client_Statut +Combo : CMOD_Client.SC_Div.CMOD_Client_Statut.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 206 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 788 +Largeur interne 206 +Cadrage fonctions gXXX Tenir compte du cadrage +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) +06/08/2026 Batik 3610 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Saisie invalide Oui, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : CMOD_Client.SC_Div.CMOD_Client_Statut.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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> +06/08/2026 Batik 3611 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_Client_Type +Combo : CMOD_Client.SC_Div.CMOD_Client_Type.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 +06/08/2026 Batik 3612 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 206 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 788 +Largeur interne 206 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +06/08/2026 Batik 3613 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : CMOD_Client.SC_Div.CMOD_Client_Type.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3614 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_Titre +Libellé : CMOD_Client.SC_Div.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3615 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_DateModif +Combo : CMOD_DateModif.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 241 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 35 +Largeur interne 241 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 3616 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : CMOD_DateModif.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Batik 3617 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Dossier +Superchamp : CMOD_Dossier.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 239 +Hauteur externe 195 +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 +06/08/2026 Batik 3618 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Dossier.SC_Div +Champ Modèle de champs : CMOD_Dossier.SC_Div.CMOD_DossierNum +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Dossier.SC_Div.CMOD_DossierRefExt +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3619 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Dossier.SC_Div.CMOD_DossierStatut +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Dossier.SC_Div.CMOD_DossierTitre +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3620 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Dossier.SC_Div.CMOD_DossierType +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Dossier.SC_Div.CMOD_Lib +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3621 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Image : CMOD_Dossier.SC_Div.IMG_Dossier_noire +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Dossier_noire.svg +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 Oui +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 +Champ Modèle de champs : CMOD_Dossier.SC_Div.CMOD_DossierNum +Interrupteur : CMOD_Dossier.SC_Div.CMOD_DossierNum.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 3622 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : CMOD_Dossier.SC_Div.CMOD_DossierNum.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +06/08/2026 Batik 3623 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +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 40 +Largeur interne 204 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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> +06/08/2026 Batik 3624 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +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 +Champ Modèle de champs : CMOD_Dossier.SC_Div.CMOD_DossierRefExt +Interrupteur : CMOD_Dossier.SC_Div.CMOD_DossierRefExt.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +06/08/2026 Batik 3625 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : CMOD_Dossier.SC_Div.CMOD_DossierRefExt.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 40 +Largeur interne 204 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 3626 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3627 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Dossier.SC_Div.CMOD_DossierStatut +Combo : CMOD_Dossier.SC_Div.CMOD_DossierStatut.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 204 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 40 +Largeur interne 204 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 3628 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : CMOD_Dossier.SC_Div.CMOD_DossierStatut.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Batik 3629 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Dossier.SC_Div.CMOD_DossierTitre +Interrupteur : CMOD_Dossier.SC_Div.CMOD_DossierTitre.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Batik 3630 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : CMOD_Dossier.SC_Div.CMOD_DossierTitre.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 40 +Largeur interne 204 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +06/08/2026 Batik 3631 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +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, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3632 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Dossier.SC_Div.CMOD_DossierType +Combo : CMOD_Dossier.SC_Div.CMOD_DossierType.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 204 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 40 +Largeur interne 204 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 3633 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : CMOD_Dossier.SC_Div.CMOD_DossierType.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Batik 3634 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Dossier.SC_Div.CMOD_Lib +Libellé : CMOD_Dossier.SC_Div.CMOD_Lib.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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) +06/08/2026 Batik 3635 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Instruccion +Libellé : CMOD_Instruccion.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3636 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Inter +Superchamp : CMOD_Inter.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 239 +Hauteur externe 252 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_Inter.SC_Div +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_InterDevisN +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +06/08/2026 Batik 3637 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_InterEtat +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_InterNum +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3638 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_InterRefExt +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_InterSoc +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3639 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_InterSuiviPar +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_InterType +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3640 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Lib +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_Inter.SC_Div.IMG_Inter +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Inter.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 3641 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_InterDevisN +Interrupteur : CMOD_Inter.SC_Div.CMOD_InterDevisN.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +06/08/2026 Batik 3642 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : CMOD_Inter.SC_Div.CMOD_InterDevisN.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 287 +Largeur interne 205 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 3643 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_InterEtat +06/08/2026 Batik 3644 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Combo : CMOD_Inter.SC_Div.CMOD_InterEtat.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 205 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 287 +Largeur interne 205 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 3645 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : CMOD_Inter.SC_Div.CMOD_InterEtat.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +06/08/2026 Batik 3646 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Valeur persistante Non +Option multilignes Non +Option format RTF Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_InterNum +Interrupteur : CMOD_Inter.SC_Div.CMOD_InterNum.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +06/08/2026 Batik 3647 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : CMOD_Inter.SC_Div.CMOD_InterNum.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 287 +Largeur interne 205 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 3648 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3649 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_InterRefExt +Interrupteur : CMOD_Inter.SC_Div.CMOD_InterRefExt.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3650 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ de saisie : CMOD_Inter.SC_Div.CMOD_InterRefExt.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 287 +Largeur interne 205 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Batik 3651 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_InterSoc +Combo : CMOD_Inter.SC_Div.CMOD_InterSoc.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 +06/08/2026 Batik 3652 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 205 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 287 +Largeur interne 205 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3653 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Interrupteur : CMOD_Inter.SC_Div.CMOD_InterSoc.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3654 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_InterSuiviPar +Combo : CMOD_Inter.SC_Div.CMOD_InterSuiviPar.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 205 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 287 +Largeur interne 205 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 3655 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : CMOD_Inter.SC_Div.CMOD_InterSuiviPar.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Batik 3656 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_InterType +Combo : CMOD_Inter.SC_Div.CMOD_InterType.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 205 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 287 +Largeur interne 205 +06/08/2026 Batik 3657 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3658 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Interrupteur : CMOD_Inter.SC_Div.CMOD_InterType.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3659 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Inter.SC_Div.CMOD_Lib +Libellé : CMOD_Inter.SC_Div.CMOD_Lib.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3660 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_RDV +Superchamp : CMOD_RDV.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 240 +Hauteur externe 168 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_RDV.SC_Div +Champ Modèle de champs : CMOD_RDV.SC_Div.CMOD_JoursApres +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +06/08/2026 Batik 3661 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_RDV.SC_Div.CMOD_JoursAvant +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_RDV.SC_Div.CMOD_Lib +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3662 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_RDV.SC_Div.CMOD_StatutRDV +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_RDV.SC_Div.CMOD_TypeRDV +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3663 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Image : CMOD_RDV.SC_Div.IMG_RDV +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Planning_noire.svg +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 Oui +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 +Champ Modèle de champs : CMOD_RDV.SC_Div.CMOD_JoursApres +Combo : CMOD_RDV.SC_Div.CMOD_JoursApres.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Rendez-vous dans les X prochains jours' +} +Libellé FR: Libelle +Groupe GR_Combo +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 3664 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +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 209 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 535 +Largeur interne 209 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 3665 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : CMOD_RDV.SC_Div.CMOD_JoursApres.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 3666 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_RDV.SC_Div.CMOD_JoursAvant +Combo : CMOD_RDV.SC_Div.CMOD_JoursAvant.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Rendez-vous datant de plus de X jours' +} +Libellé FR: Libelle +Groupe GR_Combo +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 208 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 536 +Largeur interne 208 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Batik 3667 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : CMOD_RDV.SC_Div.CMOD_JoursAvant.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Batik 3668 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_RDV.SC_Div.CMOD_Lib +Libellé : CMOD_RDV.SC_Div.CMOD_Lib.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +06/08/2026 Batik 3669 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_RDV.SC_Div.CMOD_StatutRDV +Combo : CMOD_RDV.SC_Div.CMOD_StatutRDV.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 208 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 536 +Largeur interne 208 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Batik 3670 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : CMOD_RDV.SC_Div.CMOD_StatutRDV.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 3671 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_RDV.SC_Div.CMOD_TypeRDV +06/08/2026 Batik 3672 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Combo : CMOD_RDV.SC_Div.CMOD_TypeRDV.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 208 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 536 +Largeur interne 208 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 3673 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : CMOD_RDV.SC_Div.CMOD_TypeRDV.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +06/08/2026 Batik 3674 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Valeur persistante Non +Option multilignes Non +Option format RTF Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom1 +Bouton : CMOD_SansNom1.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +06/08/2026 Batik 3675 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Texte Markdown Non +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_SansNom2 +Bouton : CMOD_SansNom2.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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 +06/08/2026 Batik 3676 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Mode menu ctx. <Aucun> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Site +Superchamp : CMOD_Site.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 239 +Hauteur externe 169 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3677 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Superchamp : CMOD_Site.SC_Div +Champ Modèle de champs : CMOD_Site.SC_Div.CMOD_Lib +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Site.SC_Div.CMOD_SiteAdr +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3678 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Site.SC_Div.CMOD_SiteCP +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Site.SC_Div.CMOD_SiteNom +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3679 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Site.SC_Div.CMOD_SiteVille +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_Site.SC_Div.IMG_Site_noire +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Site_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 3680 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Site.SC_Div.CMOD_Lib +Libellé : CMOD_Site.SC_Div.CMOD_Lib.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3681 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Site.SC_Div.CMOD_SiteAdr +Interrupteur : CMOD_Site.SC_Div.CMOD_SiteAdr.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3682 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ de saisie : CMOD_Site.SC_Div.CMOD_SiteAdr.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 537 +Largeur interne 207 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Batik 3683 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Site.SC_Div.CMOD_SiteCP +Interrupteur : CMOD_Site.SC_Div.CMOD_SiteCP.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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> +06/08/2026 Batik 3684 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : CMOD_Site.SC_Div.CMOD_SiteCP.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 +06/08/2026 Batik 3685 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 537 +Largeur interne 207 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 3686 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +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 +Champ Modèle de champs : CMOD_Site.SC_Div.CMOD_SiteNom +Interrupteur : CMOD_Site.SC_Div.CMOD_SiteNom.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +06/08/2026 Batik 3687 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Texte Markdown Non +Mode menu ctx. <Aucun> +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : CMOD_Site.SC_Div.CMOD_SiteNom.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 537 +Largeur interne 207 +Cadrage fonctions gXXX Tenir compte du cadrage +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> +06/08/2026 Batik 3688 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +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, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3689 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ Modèle de champs : CMOD_Site.SC_Div.CMOD_SiteVille +Interrupteur : CMOD_Site.SC_Div.CMOD_SiteVille.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3690 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Champ de saisie : CMOD_Site.SC_Div.CMOD_SiteVille.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 537 +Largeur interne 207 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Batik 3691 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_TitreWidget +Champ de saisie : CMOD_TitreWidget.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 +06/08/2026 Batik 3692 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 284 +Largeur interne 334 +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 +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 +06/08/2026 Batik 3693 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Filtre_Dossier_Widget +Code +Déclarations globales de FEN_Filtre_Dossier_Widget +procédure FEN_Filtre_Dossier_Widget(gstInfoFiltres est un ST_WidgetParam = Null) +sWhere est une chaîne ANSI +Fin d'initialisation de FEN_Filtre_Dossier_Widget +si gstInfoFiltres <> Null alors +CMOD_TitreWidget.SAI_Texte = gstInfoFiltres.sTitreWidget +AppliqueFiltresVersEcran() +fin +Fermeture de FEN_Filtre_Dossier_Widget +renvoyer gstInfoFiltres +FEN_Filtre_Dossier_Widget +Code des champs +Fin d'initialisation de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen +06/08/2026 Batik 3694 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Client +06/08/2026 Batik 3695 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Client_Bloque +saLib = "Bloqué" +Fin d'initialisation de CMOD_Client_Bloque +06/08/2026 Batik 3696 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Client_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Client_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Client_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Client_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Client_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Client_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_Client_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_Client_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_Client_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_Client_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_Client_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_Client_Bloque ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3697 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_Client_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_Client_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_Client_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Client_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Client_Code +salib = "Code client" +Fin d'initialisation de CMOD_Client_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Client_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Client_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Client_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Client_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Client_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Client_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_Client_Code ) +06/08/2026 Batik 3698 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_Client_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_Client_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_Client_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Client_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_Client_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_Client_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_Client_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_Client_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_Client_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Client_CodeCompta +salib = "Code comptable" +Fin d'initialisation de CMOD_Client_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Client_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Client_CodeCompta +06/08/2026 Batik 3699 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Client_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Client_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Client_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Client_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_Client_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_Client_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_Client_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_Client_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Client_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_Client_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_Client_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_Client_CodeCompta ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3700 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_Client_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_Client_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Client_Nom +salib = "Nom du client" +Fin d'initialisation de CMOD_Client_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Client_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Client_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Client_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Client_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Client_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Client_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_Client_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_Client_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_Client_Nom ) +06/08/2026 Batik 3701 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_Client_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Client_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_Client_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_Client_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_Client_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_Client_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_Client_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Client_Statut +saLib = "Statut client" +saCode = cParam_StatutClient +Fin d'initialisation de CMOD_Client_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Client_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Client_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Client_Statut +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3702 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Client_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Client_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Client_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_Client_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_Client_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_Client_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_Client_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_Client_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_Client_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_Client_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_Client_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_Client_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Client_Statut ) +06/08/2026 Batik 3703 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Client_Type +saLib = "Type de client" +saCode = cParam_TypeClient +Fin d'initialisation de CMOD_Client_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Client_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Client_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Client_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Client_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Client_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Client_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_Client_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_Client_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_Client_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_Client_Type ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3704 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_Client_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_Client_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_Client_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_Client_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_Client_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Client_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Client" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +06/08/2026 Batik 3705 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_DateModif +saLib = "Depuis" +saCode = cParam_PeriodeRqSql +Fin d'initialisation de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CMOD_DateModif.CMB_Choix = cCle_PeriodeSqlReq1Mois +Demande de mise à jour de l'affichage de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_DateModif ) (modèle MDLC_ChoixCombo) +06/08/2026 Batik 3706 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +InitChamp(MoiMême..Nom,saCode,Vrai) +MoiMême..Indication = saLib +CMB_Choix..RechercheFAA = Faux +Sélection d'une ligne de CMB_Choix ( CMOD_DateModif ) (modèle MDLC_ChoixCombo) +INT_Opt=Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_DateModif ) (modèle MDLC_ChoixCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_DateModif ) (modèle MDLC_ChoixCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +06/08/2026 Batik 3707 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_DossierNum +saLib = "Dossier N°" +Fin d'initialisation de CMOD_DossierNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DossierNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DossierNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DossierNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DossierNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DossierNum +06/08/2026 Batik 3708 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DossierNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_DossierNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_DossierNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_DossierNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_DossierNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_DossierNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_DossierNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_DossierNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_DossierNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_DossierNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_DossierNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_DossierRefExt +saLib = "Réf. externe" +Fin d'initialisation de CMOD_DossierRefExt +06/08/2026 Batik 3709 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DossierRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DossierRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DossierRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DossierRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DossierRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DossierRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_DossierRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_DossierRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_DossierRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_DossierRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_DossierRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_DossierRefExt ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3710 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_DossierRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_DossierRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_DossierRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_DossierRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_DossierStatut +saLib = "Statut dossier" +saCode = cParam_StatutDossier +Fin d'initialisation de CMOD_DossierStatut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DossierStatut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DossierStatut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DossierStatut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DossierStatut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DossierStatut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DossierStatut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_DossierStatut ) +06/08/2026 Batik 3711 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_DossierStatut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_DossierStatut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_DossierStatut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_DossierStatut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_DossierStatut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_DossierStatut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_DossierStatut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_DossierStatut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_DossierStatut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_DossierTitre +saLib = "Titre" +Fin d'initialisation de CMOD_DossierTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DossierTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DossierTitre +06/08/2026 Batik 3712 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DossierTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DossierTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DossierTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DossierTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_DossierTitre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_DossierTitre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_DossierTitre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_DossierTitre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_DossierTitre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_DossierTitre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_DossierTitre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_DossierTitre ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3713 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_DossierTitre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_DossierTitre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_DossierType +saLib = "Type Dossier" +saCode = cParam_TypeDossier +Fin d'initialisation de CMOD_DossierType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DossierType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DossierType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DossierType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DossierType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DossierType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DossierType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_DossierType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_DossierType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_DossierType ) +06/08/2026 Batik 3714 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_DossierType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_DossierType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_DossierType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_DossierType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_DossierType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_DossierType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_DossierType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Lib +salib = "Dossier" +Fin d'initialisation de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Lib +06/08/2026 Batik 3715 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Lib ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Lib ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Instruccion +salib = "Veuillez choisir les filtres du widget" +Fin d'initialisation de CMOD_Instruccion +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Instruccion +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Instruccion +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Instruccion +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Instruccion +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Instruccion +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Instruccion +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Instruccion ) (modèle MDLC_LibTitreWidget) +06/08/2026 Batik 3716 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Instruccion ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3717 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_InterDevisN +salib = "Devis n°" +Fin d'initialisation de CMOD_InterDevisN +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_InterDevisN +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_InterDevisN +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_InterDevisN +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_InterDevisN +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_InterDevisN +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_InterDevisN +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_InterDevisN ) +06/08/2026 Batik 3718 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_InterDevisN ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_InterDevisN ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_InterDevisN ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_InterDevisN ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_InterDevisN ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_InterDevisN ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_InterDevisN ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_InterDevisN ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_InterDevisN ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_InterEtat +saLib = "État d'intervention" +saCode = cParam_EtatInter +Fin d'initialisation de CMOD_InterEtat +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_InterEtat +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3719 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +ExécuteAncêtre +Entrée dans CMOD_InterEtat +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_InterEtat +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_InterEtat +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_InterEtat +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_InterEtat +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_InterEtat ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_InterEtat ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_InterEtat ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_InterEtat ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_InterEtat ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_InterEtat ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_InterEtat ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_InterEtat ) +06/08/2026 Batik 3720 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_InterEtat ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_InterEtat ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_InterNum +salib = "Intervention N°" +Fin d'initialisation de CMOD_InterNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_InterNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_InterNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_InterNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_InterNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_InterNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_InterNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_InterNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_InterNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_InterNum ) +06/08/2026 Batik 3721 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_InterNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_InterNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_InterNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_InterNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_InterNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_InterNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_InterNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_InterRefExt +salib = "Réf. externe" +Fin d'initialisation de CMOD_InterRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_InterRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_InterRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_InterRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_InterRefExt +06/08/2026 Batik 3722 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_InterRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_InterRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_InterRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_InterRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_InterRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_InterRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_InterRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_InterRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_InterRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_InterRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_InterRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_InterRefExt ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3723 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +ExécuteAncêtre +Déclarations globales de CMOD_InterSoc +saLib = "Société" +saCode = cSocietesUtilisateur +Fin d'initialisation de CMOD_InterSoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_InterSoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_InterSoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_InterSoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_InterSoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_InterSoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_InterSoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_InterSoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_InterSoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_InterSoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_InterSoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_InterSoc ) +06/08/2026 Batik 3724 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_InterSoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_InterSoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_InterSoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_InterSoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_InterSoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_InterSuiviPar +saLib = "Suivi par" +saCode = cSuiviPar +Fin d'initialisation de CMOD_InterSuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_InterSuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_InterSuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_InterSuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_InterSuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_InterSuiviPar +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3725 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +ExécuteAncêtre +A chaque modification de CMOD_InterSuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_InterSuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_InterSuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_InterSuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_InterSuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_InterSuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_InterSuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_InterSuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_InterSuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_InterSuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_InterSuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_InterType +saLib = "Type d'intervention" +saCode = cParam_TypeInter +Fin d'initialisation de CMOD_InterType +06/08/2026 Batik 3726 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_InterType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_InterType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_InterType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_InterType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_InterType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_InterType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_InterType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_InterType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_InterType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_InterType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_InterType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_InterType ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3727 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_InterType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_InterType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_InterType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_InterType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Lib +salib = "Intervention" +Fin d'initialisation de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Lib ) (modèle MDLC_LibTitreWidget) +06/08/2026 Batik 3728 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Lib ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_RDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_RDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_RDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_RDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_RDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_RDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_RDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3729 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_JoursApres +saLib = "Avec RDV à venir (X jours)" +saCode = cNbJoursApresDate +Fin d'initialisation de CMOD_JoursApres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_JoursApres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_JoursApres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_JoursApres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_JoursApres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_JoursApres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_JoursApres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_JoursApres ) +06/08/2026 Batik 3730 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_JoursApres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_JoursApres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_JoursApres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_JoursApres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_JoursApres ) (modèle MDLC_ChoixCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_JoursAvant +saLib = "Avec RDV passé (X jours)" +saCode = cNbJoursAvantDate +Fin d'initialisation de CMOD_JoursAvant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_JoursAvant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_JoursAvant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_JoursAvant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_JoursAvant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_JoursAvant +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3731 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +ExécuteAncêtre +A chaque modification de CMOD_JoursAvant +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_JoursAvant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_JoursAvant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_JoursAvant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_JoursAvant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_JoursAvant ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_JoursAvant ) (modèle MDLC_ChoixCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Lib +salib = "Rendez-vous" +Fin d'initialisation de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Lib +06/08/2026 Batik 3732 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Lib ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Lib ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_StatutRDV +saLib ="Statut du rdv" +saCode = cParam_StatusRDV +Fin d'initialisation de CMOD_StatutRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_StatutRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_StatutRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_StatutRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_StatutRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_StatutRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_StatutRDV +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3733 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_StatutRDV ) (modèle MDLC_ChoixCombo) +InitChamp(MoiMême..Nom,saCode,Vrai) +MoiMême..Indication = saLib +CMB_Choix..RechercheFAA = Faux +Sélection d'une ligne de CMB_Choix ( CMOD_StatutRDV ) (modèle MDLC_ChoixCombo) +INT_Opt=Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_StatutRDV ) (modèle MDLC_ChoixCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_StatutRDV ) (modèle MDLC_ChoixCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_TypeRDV +saLib = "Type de rendez-vous" +saCode = cParam_TypeRDV +Fin d'initialisation de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3734 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_TypeRDV ) (modèle MDLC_ChoixCombo) +InitChamp(MoiMême..Nom,saCode,Vrai) +MoiMême..Indication = saLib +CMB_Choix..RechercheFAA = Faux +Sélection d'une ligne de CMB_Choix ( CMOD_TypeRDV ) (modèle MDLC_ChoixCombo) +INT_Opt=Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_TypeRDV ) (modèle MDLC_ChoixCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_TypeRDV ) (modèle MDLC_ChoixCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3735 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si pas RecupFiltres() alors +Erreur("Veuillez choisir au moins un filtre") +retour +sinon +06/08/2026 Batik 3736 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +si SansEspace(CMOD_TitreWidget.SAI_Texte) = "" alors +Erreur("Veuillez donner un titre à votre widget") +retour +sinon +gstInfoFiltres.sTitreWidget = CMOD_TitreWidget.SAI_Texte +fin +Ferme() +fin +Fin d'initialisation de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3737 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Lib +salib = "Site" +Fin d'initialisation de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Lib ) (modèle MDLC_LibTitreWidget) +06/08/2026 Batik 3738 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Lib ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_SiteAdr +salib = "Adresse du site" +Fin d'initialisation de CMOD_SiteAdr +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SiteAdr +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SiteAdr +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SiteAdr +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SiteAdr +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SiteAdr +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SiteAdr +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_SiteAdr ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_SiteAdr ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_SiteAdr ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_SiteAdr ) +06/08/2026 Batik 3739 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_SiteAdr ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_SiteAdr ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_SiteAdr ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_SiteAdr ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_SiteAdr ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_SiteAdr ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SiteCP +salib = "Code Postal" +Fin d'initialisation de CMOD_SiteCP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SiteCP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SiteCP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SiteCP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SiteCP +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3740 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SiteCP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SiteCP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_SiteCP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_SiteCP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_SiteCP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_SiteCP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_SiteCP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_SiteCP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_SiteCP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_SiteCP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_SiteCP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_SiteCP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SiteNom +06/08/2026 Batik 3741 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +salib = "Nom du site" +Fin d'initialisation de CMOD_SiteNom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SiteNom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SiteNom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SiteNom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SiteNom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SiteNom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SiteNom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_SiteNom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_SiteNom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_SiteNom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_SiteNom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_SiteNom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_SiteNom ) +06/08/2026 Batik 3742 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_SiteNom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_SiteNom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_SiteNom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_SiteNom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SiteVille +salib = "Ville" +Fin d'initialisation de CMOD_SiteVille +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SiteVille +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SiteVille +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SiteVille +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SiteVille +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SiteVille +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SiteVille +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_SiteVille ) +06/08/2026 Batik 3743 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_SiteVille ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_SiteVille ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_SiteVille ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_SiteVille ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_SiteVille ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_SiteVille ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_SiteVille ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_SiteVille ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_SiteVille ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_TitreWidget +salib ="Titre du widget" +Fin d'initialisation de CMOD_TitreWidget +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TitreWidget +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TitreWidget +06/08/2026 Batik 3744 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TitreWidget +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TitreWidget +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TitreWidget +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TitreWidget +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_TitreWidget ) (modèle MDLC_Saisie) +MoiMême..Libellé = saLib +// Version 1 +// Description +// Champ de saisie pour un texte simple sur une ligne +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_TitreWidget ) (modèle MDLC_Saisie) +gsaNomChampEnCours = MoiMême..NomComplet +FEN_Filtre_Dossier_Widget +Procédures +Procédure locale AppliqueFiltresVersEcran +procédure AppliqueFiltresVersEcran() +pour tout stFiltre de gstInfoFiltres.tbFiltres +selon stFiltre.sRubrique +cas Dossier.DO_RefInterne..Nom +CMOD_DossierNum.INT_Opt = Vrai +CMOD_DossierNum.SAI_Choix = stFiltre.sChoix +06/08/2026 Batik 3745 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Procédures +cas Dossier.DO_Titre..Nom +CMOD_DossierTitre.INT_Opt = Vrai +CMOD_DossierTitre.SAI_Choix = stFiltre.sChoix +cas Dossier.DO_RefExterne..Nom +CMOD_DossierRefExt.INT_Opt = Vrai +CMOD_DossierRefExt.SAI_Choix = stFiltre.sChoix +cas Dossier.DO_CleType..Nom +CMOD_DossierType.INT_Opt = Vrai +CMOD_DossierType.CMB_Choix = stFiltre.sChoix +cas Dossier.DO_CleStatut..Nom +CMOD_DossierStatut.INT_Opt = Vrai +CMOD_DossierStatut.CMB_Choix = stFiltre.sChoix +cas Intervention.IN_RefInterne..Nom +CMOD_InterNum.INT_Opt= Vrai +CMOD_InterNum.SAI_Choix = stFiltre.sChoix +cas Intervention.IN_IDSuiviPar..Nom +CMOD_InterSuiviPar.INT_Opt = Vrai +CMOD_InterSuiviPar.CMB_Choix = stFiltre.sChoix +cas Intervention.IN_CleType..Nom +CMOD_InterType.INT_Opt = Vrai +CMOD_InterType.CMB_Choix = stFiltre.sChoix +cas Intervention.IN_RefExterne..Nom +CMOD_InterRefExt.INT_Opt = Vrai +CMOD_InterRefExt.SAI_Choix = stFiltre.sChoix +cas Intervention.IN_NumDevis..Nom +CMOD_InterDevisN.INT_Opt = Vrai +CMOD_InterDevisN.SAI_Choix = stFiltre.sChoix +cas Intervention.IN_IDSociete..Nom +CMOD_InterSoc.INT_Opt= Vrai +CMOD_InterSoc.CMB_Choix = stFiltre.sChoix +cas Intervention.IN_CleEtat..Nom +CMOD_InterEtat.INT_Opt = Vrai +CMOD_InterEtat.CMB_Choix = stFiltre.sChoix +cas Lieu.LI_CodeLieu..Nom +CMOD_SiteNom.INT_Opt = Vrai +CMOD_SiteNom.SAI_Choix = stFiltre.sChoix +cas Adresse.AD_Adresse..Nom +CMOD_SiteAdr.INT_Opt = Vrai +CMOD_SiteAdr.SAI_Choix = stFiltre.sChoix +cas Adresse.AD_CodePostal..Nom +CMOD_SiteCP.INT_Opt = Vrai +CMOD_SiteCP.SAI_Choix= stFiltre.sChoix +cas Adresse.AD_Ville..Nom +CMOD_SiteVille.INT_Opt = Vrai +CMOD_SiteVille.SAI_Choix = stFiltre.sChoix +cas Client.CL_Nom..Nom +CMOD_Client_Nom.INT_Opt = Vrai +CMOD_Client_Nom.SAI_Choix = stFiltre.sChoix +cas Client.CL_CleType..Nom +CMOD_Client_Type.INT_Opt = Vrai +06/08/2026 Batik 3746 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Procédures +CMOD_Client_Type.CMB_Choix = stFiltre.sChoix +cas Client.CL_CodeComptable..Nom +CMOD_Client_CodeCompta.INT_Opt = Vrai +CMOD_Client_CodeCompta.SAI_Choix = stFiltre.sChoix +cas Client.CL_CodeClient..Nom +CMOD_Client_Code.INT_Opt = Vrai +CMOD_Client_Code.SAI_Choix = stFiltre.sChoix +cas Client.CL_CleStatut..Nom +CMOD_Client_Statut.INT_Opt = Vrai +CMOD_Client_Statut.CMB_Choix = stFiltre.sChoix +cas Client.CL_Blocage..Nom +CMOD_Client_Bloque.INT_Opt = Vrai +CMOD_Client_Bloque.CMB_Choix = stFiltre.sChoix +cas "IN_DateModif" +CMOD_DateModif.INT_Opt = Vrai +nbJours est un entier = RecupNbJoursRubSQL(stFiltre.sChoix) +pour tout clOParam de gtabParametresMetierCode[cParam_PeriodeRqSql] +si Val(clOParam.saParametre) = nbJours alors +CMOD_DateModif.CMB_Choix = clOParam.saCLE +fin +fin +cas RDV_Planning.RV_CleType..Nom +CMOD_TypeRDV.INT_Opt = Vrai +CMOD_TypeRDV.CMB_Choix = stFiltre.sChoix +cas RDV_Collaborateur.RVC_CleStatut..Nom +CMOD_StatutRDV.INT_Opt = Vrai +CMOD_StatutRDV.CMB_Choix = stFiltre.sChoix +cas RDV_Collaborateur.RVC_DateDeb..Nom +nbJours est un entier = RecupNbJoursRubSQL(stFiltre.sChoix) +si nbJours > 0 alors +si Contient(stFiltre.sChoix, "{DateAvant_") alors +CMOD_JoursAvant.INT_Opt = Vrai +CMOD_JoursAvant.CMB_Choix = nbJours +fin +si Contient(stFiltre.sChoix, "{DateApres_") alors +CMOD_JoursApres.INT_Opt = Vrai +CMOD_JoursApres.CMB_Choix = nbJours +fin +fin +cas RDV_Collaborateur.RVC_DateFin..Nom +nbJours est un entier = RecupNbJoursRubSQL(stFiltre.sChoix) +si nbJours > 0 alors +si Contient(stFiltre.sChoix, "{DateAvant_") alors +CMOD_JoursAvant.INT_Opt = Vrai +CMOD_JoursAvant.CMB_Choix = nbJours +fin +si Contient(stFiltre.sChoix, "{DateApres_") alors +CMOD_JoursApres.INT_Opt = Vrai +CMOD_JoursApres.CMB_Choix = nbJours +fin +fin +fin +06/08/2026 Batik 3747 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Procédures +fin +Procédure locale CreeRub +procédure CreeRub(tbWidgets est un tableau de ST_FiltresWidget, sRub est une chaîne ANSI, sType est +une chaîne ANSI, sChoix est une chaîne ANSI) +pstFiltre est un ST_FiltresWidget dynamique +pstFiltre = allouer un ST_FiltresWidget +pstFiltre.sRubrique = sRub +pstFiltre.sTypeHFSQL = sType +pstFiltre.sChoix = sChoix +TableauAjoute(tbWidgets,pstFiltre) +Procédure locale RecupFiltres +procédure RecupFiltres() +tbWidgets est un tableau de ST_FiltresWidget +si CMOD_DossierNum.INT_Opt alors +CreeRub(tbWidgets, Dossier.DO_RefInterne..Nom, df_Milieutexte, CMOD_DossierNum.SAI_Choix) +fin +si CMOD_DossierTitre.INT_Opt alors +CreeRub(tbWidgets, Dossier.DO_Titre..Nom, df_Milieutexte, CMOD_DossierTitre.SAI_Choix) +fin +si CMOD_DossierRefExt.INT_Opt alors +CreeRub(tbWidgets,Dossier.DO_RefExterne..Nom, df_DebutTexte, CMOD_DossierRefExt.SAI_Choix) +fin +si CMOD_DossierType.INT_Opt alors +CreeRub(tbWidgets,Dossier.DO_CleType..Nom, df_TexteComplet, CMOD_DossierType.CMB_Choix) +fin +si CMOD_DossierStatut.INT_Opt alors +CreeRub(tbWidgets,Dossier.DO_CleStatut..Nom, df_TexteComplet, CMOD_DossierStatut.CMB_Choix) +fin +si CMOD_InterNum.INT_Opt alors +CreeRub(tbWidgets,Intervention.IN_RefInterne..Nom, df_Milieutexte,CMOD_InterNum.SAI_Choix) +fin +si CMOD_InterSuiviPar.INT_Opt alors +CreeRub(tbWidgets,Intervention.IN_IDSuiviPar..Nom, df_Id,CMOD_InterSuiviPar.CMB_Choix) +fin +si CMOD_InterType.INT_Opt alors +CreeRub(tbWidgets,Intervention.IN_CleType..Nom, df_TexteComplet,CMOD_InterType.CMB_Choix) +fin +si CMOD_InterRefExt.INT_Opt alors +CreeRub(tbWidgets,Intervention.IN_RefExterne..Nom, df_DebutTexte,CMOD_InterRefExt.SAI_Choix) +fin +si CMOD_InterDevisN.INT_Opt alors +CreeRub(tbWidgets,Intervention.IN_NumDevis..Nom, df_DebutTexte,CMOD_InterDevisN.SAI_Choix) +fin +si CMOD_InterSoc.INT_Opt alors +CreeRub(tbWidgets,Intervention.IN_IDSociete..Nom, df_Id,CMOD_InterSoc.CMB_Choix) +fin +si CMOD_InterEtat.INT_Opt alors +CreeRub(tbWidgets,Intervention.IN_CleEtat..Nom, df_TexteComplet,CMOD_InterEtat.CMB_Choix) +fin +si CMOD_SiteNom.INT_Opt alors +CreeRub(tbWidgets, Lieu.LI_CodeLieu..Nom, df_Milieutexte, CMOD_SiteNom.SAI_Choix) +fin +si CMOD_SiteAdr.INT_Opt alors +CreeRub(tbWidgets, Adresse.AD_Adresse..Nom, df_Milieutexte, CMOD_SiteAdr.SAI_Choix) +fin +si CMOD_SiteCP.INT_Opt alors +06/08/2026 Batik 3748 + +Partie 3 › Fenêtre WINDEV › FEN_Filtre_Dossier_Widget › Procédures +CreeRub(tbWidgets, Adresse.AD_CodePostal..Nom, df_DebutTexte, CMOD_SiteCP.SAI_Choix) +fin +si CMOD_SiteVille.INT_Opt alors +CreeRub(tbWidgets, Adresse.AD_Ville..Nom, df_Milieutexte, CMOD_SiteVille.SAI_Choix) +fin +si CMOD_Client_Nom.INT_Opt alors +CreeRub(tbWidgets, Client.CL_Nom..Nom, df_Milieutexte, CMOD_Client_Nom.SAI_Choix) +fin +si CMOD_Client_Type.INT_Opt alors +CreeRub(tbWidgets, Client.CL_CleType..Nom, df_TexteComplet, CMOD_Client_Type.CMB_Choix) +fin +si CMOD_Client_CodeCompta.INT_Opt alors +CreeRub(tbWidgets, Client.CL_CodeComptable..Nom, df_Milieutexte, CMOD_Client_CodeCompta.SAI_Choix) +fin +si CMOD_Client_Code.INT_Opt alors +CreeRub(tbWidgets, Client.CL_CodeClient..Nom, df_Milieutexte, CMOD_Client_Code.SAI_Choix) +fin +si CMOD_Client_Statut.INT_Opt alors +CreeRub(tbWidgets, Client.CL_CleStatut..Nom, df_TexteComplet, CMOD_Client_Statut.CMB_Choix) +fin +si CMOD_Client_Bloque.INT_Opt alors +CreeRub(tbWidgets, Client.CL_Blocage..Nom, df_Booleen, CMOD_Client_Bloque.CMB_Choix) +fin +si CMOD_TypeRDV.INT_Opt alors +CreeRub(tbWidgets, RDV_Planning.RV_CleType..Nom, df_TexteComplet, CMOD_TypeRDV.CMB_Choix) +fin +si CMOD_StatutRDV.INT_Opt alors +CreeRub(tbWidgets, RDV_Collaborateur.RVC_CleStatut..Nom, df_TexteComplet, CMOD_StatutRDV.CMB_Choix) +fin +si CMOD_JoursAvant.INT_Opt _et_ CMOD_JoursApres.INT_Opt alors +CreeRub(tbWidgets, RDV_Collaborateur.RVC_DateDeb..Nom, df_DateSupEgal,"{DateAvant_"+Val(CMOD_ +JoursAvant.CMB_Choix)+"}") +CreeRub(tbWidgets, RDV_Collaborateur.RVC_DateFin..Nom, df_DateInfEgal,"{DateApres_"+Val(CMOD_ +JoursApres.CMB_Choix)+"}") +sinon +si CMOD_JoursApres.INT_Opt alors +CreeRub(tbWidgets, RDV_Collaborateur.RVC_DateDeb..Nom, df_DateSupEgal,"{DateApres_0}") +CreeRub(tbWidgets, RDV_Collaborateur.RVC_DateFin..Nom, df_DateInfEgal,"{DateApres_"+Val(CMOD_ +JoursApres.CMB_Choix)+"}") +fin +si CMOD_JoursAvant.INT_Opt alors +CreeRub(tbWidgets, RDV_Collaborateur.RVC_DateDeb..Nom, df_DateSupEgal,"{DateAvant_"+Val(CMOD_ +JoursAvant.CMB_Choix)+"}") +CreeRub(tbWidgets, RDV_Collaborateur.RVC_DateFin..Nom, df_DateInfEgal,"{DateApres_0") +fin +fin +si CMOD_DateModif.INT_Opt _et_ CMOD_DateModif.CMB_Choix <> Null _et_ CMOD_DateModif.CMB_Choix <> ""... +_et_ Val(gtabParametresMetierCode[cParam_PeriodeRqSql][CMOD_DateModif.CMB_Choix].saParametre) > 0 +alors +CreeRub(tbWidgets, "IN_DateModif", df_DateSupEgal, "{DateAvant_"+Val(gtabParametresMetierCode[ +cParam_PeriodeRqSql][CMOD_DateModif.CMB_Choix].saParametre)+"}") +fin +si tbWidgets..Occurrence <= 0 alors +renvoyer Faux +fin +gstInfoFiltres.tbFiltres = tbWidgets +renvoyer Vrai +06/08/2026 Batik 3749 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Image +FEN_Parametres_Base_Ext +Image +FEN_Parametres_Base_Ext +Informations générales +FEN_Parametres_Base_Ext +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_Parametres_Base_Ext.wdw +Créé par susana@applilogik.fr +06/08/2026 Batik 3750 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Informations générales +| Date de création | | 02/04/2026 14:08:41 | | | | +| -------------------------- | --- | -------------------------------------------- | --- | --- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 02/04/2026 17:40:27 | | | | +| Titre | | FR: Connexions aux bases de données externes | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à l'écran | | | | +Note pour la documentation technique +FR: Connexions aux bases de données externes +| Position X | 0 Position Y | | 0 Largeur | 809 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 3751 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Informations générales +| 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 | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Champ de saisie | | 2 | Libellé | | | 7 | +| --- | ---------------------- | --- | --- | --------------------- | --- | --- | --- | +| | Bouton | | 3 | Image | | | 4 | +| | Zone répétée | | 1 | Fenêtre interne | | | 1 | +| | Superchamp | | 1 | Attribut zone répétée | | | 2 | +| | Champ Modèle de champs | | 7 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 29 +FEN_Parametres_Base_Ext +Informations sur les champs +Fenêtre : FEN_Parametres_Base_Ext +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +laitini tatE FTR tamroF +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Code | | 15 96 | 57 20 | 0 Grisé | Gauche | Haut | | +| ----------- | --- | ----- | ------ | ------- | ------ | ------ | ---- | +| LIB_Couleur | | 9 88 | 267 58 | 0 Actif | Gauche | Centre | | +| 06/08/2026 | | | Batik | | | | 3752 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Informations sur les champs +Zone répétée +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ZR_Config | | 5 | 86 | 291 | 510 | 0 | Actif | | +| --------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Fenêtre interne +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CFI_ConfigBD | | 304 | 55 | 499 | 586 | 0 | Actif | | +| ------------ | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs +| | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | +| | | X noitisoP | Y noitisoP | | | | | | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_BordFen | | 0 | -29 | 772 | 29 | 0 | Actif | | +| ---------------- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_LibFen | | 5 | 55 | 291 | 26 | 0 | Actif | | +| CMOD_NouvelleCnx | | 5 | 16 | 291 | 35 | 0 | Actif | | +| CMOD_SansNom1 | | 662 | 8 | 141 | 35 | 0 | Actif | | +| CMOD_Supprimer | | 155 | 601 | 141 | 35 | 0 | Actif | | +Zone répétée : ZR_Config +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Id | 212 | 3 57 | 21 | 0 | Actif | Droite | Haut | | +| ---------- | --- | ----- | ----- | --- | ----- | ------ | ------ | ---- | +| LIB_IdSoc | 8 | 0 57 | 20 | 0 | Actif | Droite | Haut | | +| LIB_Soc | 2 | 2 267 | 54 | 0 | Actif | Centre | Centre | | +| 06/08/2026 | | | Batik | | | | | 3753 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Informations sur les champs +Attribut zone répétée +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +ATT_ID +ATT_IdSoc +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| CMOD_Base | | 2 | 112 | 267 | 53 | | 0 | Actif | | +| ------------ | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_Serveur | | 2 | 58 | 267 | 53 | | 0 | Actif | | +Champ Modèle de champs : ZR_Config.CMOD_Base +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 | | | | | +ruetuaH +| | ruegraL | | elbisiV | | | | | | | +| --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_Texte | 0 0 267 | 53 0 | affichag | Texte | | Non | | | | +| --------- | ------- | ---- | -------- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : ZR_Config.CMOD_Serveur +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_Texte | 0 0 267 | 53 0 | affichag | Texte | | Non | | | | +| ---------- | ------- | ---- | -------- | ----- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | 3754 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | | 0 | -29 772 | 30 | 0 | Actif | | +| ----------- | --- | --- | ------- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libellé | 91 | -27 649 | 25 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | ---- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | | laitini tatE | | | +| --- | ---------- | ---------- | --------------- | --- | ------------ | --------- | --- | +| | | | ruegraL ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 740 | -26 | 28 23 | 0 | Actif | | | +| -------------------------- | --- | --- | ----- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_LibFen +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| LIB_lib | 5 | 55 291 | 26 0 | Actif | Gauche | Centre | | +| ---------- | --- | ------ | ----- | ----- | ------ | ------ | ---- | +| 06/08/2026 | | | Batik | | | | 3755 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Informations sur les champs +Champ Modèle de champs : CMOD_NouvelleCnx +Bouton +BAT ehcuoT notuob epyT +laitini tatE +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Valider | 5 16 | 291 35 | 0 | Actif | Normal | +| ----------- | ---- | ------ | --- | ----- | ------ | +Champ Modèle de champs : CMOD_SansNom1 +Bouton +notuob epyT +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --------------------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | elbisiV | | | +| --- | --- | ------- | ------- | --- | --- | +nalP +| BTN_Annuler | 662 8 | 141 35 | 0 | Actif | Normal | +| ----------- | ----- | ------ | --- | ----- | ------ | +Champ Modèle de champs : CMOD_Supprimer +Bouton +BAT ehcuoT notuob epyT +laitini tatE +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| BTN_Annuler | 155 601 | 141 35 | 0 | Actif | Normal | +| ----------- | ------- | ------ | --- | ----- | ------ | +Fenêtre : FEN_Parametres_Base_Ext +Fenêtre interne : CFI_ConfigBD +| 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 | | | | | +| Ancrage au contenu | <Aucun> | | | | | +| Numéro aide | 0 | | | | | +| Ascenseur auto. | Non | | | | | +| 06/08/2026 | | Batik | | | 3756 | + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › 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 +Swipe Non +Sens balayage Horizontal +Balayage en boucle Non +Cache pour swipe 21 +Même contenu/ligne Oui +Valeur persistante Non +Charger l'aperçu à l'ouverture Non +Source de remplissage Mémoire +Pos. Enreg. courant Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +06/08/2026 Batik 3757 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Informations sur les champs +Champ Modèle de champs : CMOD_LibFen +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_NouvelleCnx +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3758 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom1 +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Supprimer +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3759 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Informations sur les champs +Libellé : LIB_Code +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_Couleur +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +06/08/2026 Batik 3760 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Informations sur les champs +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 +Zone répétée : ZR_Config +Libellé FR: &Zone répétée +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 +Hauteur ligne max. 0 +Hauteur ligne 172 +Largeur colonne 287 +Sens Vertical +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Largeur des colonnes Non +Sélection multiple Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Multi-Sélection sans Ctrl Non +Bulle ascenseur Oui +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Automatique +Mode de sélection Sélection simple +Ajout éléments supplémentaires Non +Ajout éléments suppl. par le haut Non +Nb. max d'éléments 10000 +1 FI par ligne Non +06/08/2026 Batik 3761 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Informations sur les champs +Déchargement FI par ligne Lorsque la ligne n'est plus visible +Etat chargement Non +Même contenu/ligne Non +Réutiliser champs Selon plateforme +Saisie cascade Non +Nb. colonnes 1 +Affichage/ascenseur Non +Ruptures Enroulables Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Mode d'affichage Standard (grille) +Ancrage des colonnes Largeur de colonnes variable +Galerie : Popup automatique Oui +Recherche En utilisant le menu des F.A.A. +Source de remplissage Mémoire +Nb. Enreg. Max 0 +Parcours Automatique +Ajout/Suppr. dans variable Oui +Blocage enreg. Non +Enregistrement en sortie Oui +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 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 772 +Hauteur externe 30 +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 +06/08/2026 Batik 3762 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3763 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Informations sur les champs +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 +06/08/2026 Batik 3764 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 3765 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Informations sur les champs +Taux anc. droite 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_LibFen +06/08/2026 Batik 3766 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Informations sur les champs +Libellé : CMOD_LibFen.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_NouvelleCnx +06/08/2026 Batik 3767 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Informations sur les champs +Bouton : CMOD_NouvelleCnx.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3768 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom1 +Bouton : CMOD_SansNom1.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3769 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Informations sur les champs +Champ Modèle de champs : CMOD_Supprimer +Bouton : CMOD_Supprimer.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3770 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Informations sur les champs +Zone répétée : ZR_Config +Attribut zone répétée : ZR_Config.ATT_ID (2) +Champ associé LIB_Id +Propriété associée 1 +Attribut zone répétée : ZR_Config.ATT_IdSoc (1) +Champ associé LIB_IdSoc +Propriété associée 1 +Champ Modèle de champs : ZR_Config.CMOD_Base +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_Config.CMOD_Serveur +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +06/08/2026 Batik 3771 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Informations sur les champs +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : ZR_Config.LIB_Id +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 Numérique +Masque saisie FR: 99 999 999 999 999 999 999 +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 +06/08/2026 Batik 3772 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Informations sur les champs +Libellé : ZR_Config.LIB_IdSoc +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 Numérique +Masque saisie FR: 99 999 999 999 999 999 999 +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é : ZR_Config.LIB_Soc +Libellé FR: Société +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +06/08/2026 Batik 3773 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : ZR_Config.CMOD_Base +Champ de saisie : ZR_Config.CMOD_Base.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 9 +Largeur interne 267 +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 +06/08/2026 Batik 3774 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3775 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Informations sur les champs +Champ Modèle de champs : ZR_Config.CMOD_Serveur +Champ de saisie : ZR_Config.CMOD_Serveur.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 9 +Largeur interne 267 +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 +06/08/2026 Batik 3776 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FEN_Parametres_Base_Ext +Code +Déclarations globales de FEN_Parametres_Base_Ext +procédure FEN_Parametres_Base_Ext() +gTbConfigs est un tableau associatif de MConnexionBaseExt +Fin d'initialisation de FEN_Parametres_Base_Ext +Filtrer() +06/08/2026 Batik 3777 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Code des champs +FEN_Parametres_Base_Ext +Code des champs +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +06/08/2026 Batik 3778 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Code des champs +MoiMême = MaFenêtre..Titre +Déclarations globales de CMOD_LibFen +salib = "Connexions Batigest" +Fin d'initialisation de CMOD_LibFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_LibFen ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_LibFen ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_NouvelleCnx +salib ="Ajouter une connexion" +Fin d'initialisation de CMOD_NouvelleCnx +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NouvelleCnx +06/08/2026 Batik 3779 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NouvelleCnx +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NouvelleCnx +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NouvelleCnx +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NouvelleCnx +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NouvelleCnx +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_NouvelleCnx ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_NouvelleCnx ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ChangeFenêtreSource(CFI_ConfigBD,FI_Configuration_BaseExt) +CFI_ConfigBD..Visible = Vrai +Déclarations globales de CMOD_SansNom1 +salib = "Fermer" +Fin d'initialisation de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +06/08/2026 Batik 3780 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Supprimer +salib ="Supprimer" +Fin d'initialisation de CMOD_Supprimer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Supprimer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Supprimer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Supprimer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Supprimer +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3781 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Supprimer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Supprimer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_Supprimer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_Supprimer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Supprimer() +Entrée en survol de BTN_Annuler ( CMOD_Supprimer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_Code +// Version 1 +// Description +// Libellé simple +Entrée dans ZR_Config +gsaNomChampEnCours = MoiMême..NomComplet +Sélection d'une ligne de ZR_Config +SelLigne() +Déclarations globales de CMOD_Base +salib = "Base" +Fin d'initialisation de CMOD_Base +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Base +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Base +06/08/2026 Batik 3782 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Base +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Base +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Base +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Base +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Base ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Base ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Base ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Base ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Base ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Serveur +salib = "Serveur" +Fin d'initialisation de CMOD_Serveur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Serveur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Serveur +06/08/2026 Batik 3783 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Serveur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Serveur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Serveur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Serveur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Serveur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Serveur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Serveur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Serveur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Serveur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_Id ( ZR_Config ) +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_IdSoc ( ZR_Config ) +// Version 1 +// Description +// Libellé simple +06/08/2026 Batik 3784 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Procédures +FEN_Parametres_Base_Ext +Procédures +Procédure locale Filtrer +procédure Filtrer() +CFI_ConfigBD..Visible = Faux +TableauSupprimeTout(gTbConfigs) +ChangeFenêtreSource(CFI_ConfigBD,FI_Configuration_BaseExt) +pclUneConfig est un MConnexionBaseExt dynamique +pour tout BddExterne sur BSX_PKID +pclUneConfig = allouer un MConnexionBaseExt +FichierVersMémoire(pclUneConfig,BddExterne) +si pclUneConfig.sParam <> "" alors +Désérialise(pclUneConfig.stParamCnx,pclUneConfig.sParam,psdJSON) +fin +gTbConfigs[pclUneConfig.nPKID] = pclUneConfig +fin +ZoneRépétéeSupprimeTout(ZR_Config) +i est un entier +pour tout clUneConfig de gTbConfigs +i = ZoneRépétéeAjouteLigne(ZR_Config) +si clUneConfig.nIDSociete > 0 _et_ gtabListeSocietes[clUneConfig.nIDSociete]..Existe = Vrai alors +ZR_Config[i].LIB_Soc = gtabListeSocietes[clUneConfig.nIDSociete].saNom +fin +ZR_Config[i].LIB_Id = clUneConfig.nPKID +ZR_Config[i].LIB_IdSoc = clUneConfig.nIDSociete +ZR_Config[i].CMOD_Base.SAI_Texte = clUneConfig.sNomCnx +ZR_Config[i].CMOD_Serveur.SAI_Texte = clUneConfig.stParamCnx.sConnect_Serveur +fin +SelLigne() +Procédure locale SelLigne +procédure SelLigne() +i est un entier = ZR_Config +si i > 0 _et_ ATT_ID[i] > 0 _et_ gTbConfigs[ATT_ID[i]]..Existe = Vrai alors +ChangeFenêtreSource(CFI_ConfigBD,FI_Configuration_BaseExt,gTbConfigs[ATT_ID[i]]) +CFI_ConfigBD..Visible = Vrai +fin +Procédure locale Supprimer +procédure Supprimer() +i est un entier = ZR_Config +si i > 0 _et_ ATT_ID[i] > 0 _et_ gTbConfigs[ATT_ID[i]]..Existe = Vrai alors +si OuiNon("Confirmez vous la suppression de la configuration?") = Oui alors +CFI_ConfigBD..Visible = Faux +ChangeFenêtreSource(CFI_ConfigBD,FI_Configuration_BaseExt) +06/08/2026 Batik 3785 + +Partie 3 › Fenêtre WINDEV › FEN_Parametres_Base_Ext › Procédures +si gTbConfigs[ATT_ID[i]].DateSupprime() alors +TableauSupprime(gTbConfigs,ATT_ID[i]) +ZoneRépétéeSupprime(ZR_Config,i,zrAnimationSuppression) +fin +fin +fin +06/08/2026 Batik 3786 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Image +FEN_ExportExcel +Image +| 06/08/2026 | Batik | 3787 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Image +| 06/08/2026 | Batik | 3788 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Image +FEN_ExportExcel +Informations générales +FEN_ExportExcel +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FEN_ExportExcel.wdw +Créé par susana@applilogik.fr +Date de création 17/04/2026 15:15:30 +Dernière modification par susana@applilogik.fr +Date dernière modification 17/04/2026 18:04:21 +Titre FR: Extraction de données +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à l'écran +06/08/2026 Batik 3789 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations générales +Note pour la documentation technique +FR: Extraction de données +| Position X | 0 Position Y | | 0 Largeur | 1199 Hauteur | 700 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 3790 | + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations générales +| Déplace souris sur bouton par | Non | | | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | --- | +| Compact. barres outils | Non | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Champ de saisie | | 11 | Libellé | | | 12 | +| --- | ---------------------- | --- | --- | --------------------- | --- | --- | --- | +| | Bouton | | 2 | Interrupteur | | | 16 | +| | Image | | 8 | Table | | | 1 | +| | Combo | | 9 | Superchamp | | | 3 | +| | Champ Modèle de champs | | 30 | Option d'interrupteur | | | 16 | +| | Colonne de table | | 1 | Case barre de message | | | 1 | +Nombre d'éléments dans la fenêtre : 110 +FEN_ExportExcel +Informations sur les champs +Fenêtre : FEN_ExportExcel +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_BordFen | | 0 | -29 1063 | 29 | 0 | Actif | | +| ------------- | --- | ---- | -------- | --- | --- | ----- | ---- | +| CMOD_Client | | 9 | 70 1181 | 143 | 2 | Actif | | +| CMOD_Exporter | | 1049 | 5 141 | 57 | 0 | Actif | | +| CMOD_RdvColb | | 9 | 70 1181 | 115 | 1 | Actif | | +| CMOD_Requete | | 9 | 9 830 | 53 | 0 | Actif | | +| CMOD_SansNom1 | | 900 | 27 141 | 35 | 0 | Actif | | +| CMOD_Table | | 9 | 216 1181 | 426 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 3791 | + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| SC_SansNom1 | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libellé | 91 | -27 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | --- | +| | | | ruegraL | ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 1031 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | ---- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +Champ Modèle de champs : CMOD_Client +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| SC_Div | | 13 | 75 | 1172 | 132 | 0 | Actif | | +| ---------- | --- | --- | ----- | ---- | --- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | | | 3792 | + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Superchamp : CMOD_Client.SC_Div +Champ Modèle de champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_AvecDevisClient | | | 532 | 109 | 264 | 30 | 0 | Actif | | +| -------------------- | --- | --- | ---- | --- | --- | --- | --- | ----- | --- | +| CMOD_AvecInterClient | | | 532 | 78 | 264 | 30 | 0 | Actif | | +| CMOD_ClientBloque | | | 532 | 140 | 264 | 30 | 0 | Actif | | +| CMOD_ClientDb | | | 185 | 105 | 165 | 49 | 2 | Actif | | +| CMOD_ClientF | | | 185 | 154 | 164 | 49 | 2 | Actif | | +| CMOD_DevisDb | | | 15 | 105 | 164 | 49 | 2 | Actif | | +| CMOD_DevisF | | | 15 | 154 | 164 | 49 | 2 | Actif | | +| CMOD_InterDb | | | 358 | 105 | 165 | 49 | 2 | Actif | | +| CMOD_InterF | | | 358 | 154 | 165 | 49 | 2 | Actif | | +| CMOD_Recherche | | | 1139 | 129 | 30 | 30 | 0 | Actif | | +| CMOD_SansNom1 | | | 14 | 79 | 165 | 26 | 0 | Actif | | +| CMOD_SansNom2 | | | 186 | 79 | 165 | 26 | 0 | Actif | | +| CMOD_SansNom3 | | | 358 | 79 | 165 | 26 | 0 | Actif | | +| CMOD_SocieteClient | | | 532 | 173 | 264 | 30 | 0 | Actif | | +| CMOD_SupFiltres | | | 1139 | 88 | 30 | 30 | 0 | Actif | | +| CMOD_TypeClient | | | 800 | 79 | 331 | 124 | 0 | Actif | | +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_AvecDevisClient +Interrupteur +ellennoitroporp .loC +| | | | | | | | BAT ehcuoT | sennoloc .bN | | +| --- | --- | ---------- | ---------- | --------------- | --- | ------------ | ---------- | ------------ | ----------- | +| | | | | | | laitini tatE | | | staté siorT | +| | | X noitisoP | Y noitisoP | | | | | | | +| | | | | ruegraL ruetuaH | | | | | | +elbisiV +nalP +| INT_Opt | | 532 | 114 | 20 | 20 | 0 Actif | | 1 | | +| ------- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | | | BAT ehcuoT | eisias cevA | | | +| --- | ---------- | ---------- | ------- | ------- | ------------ | ---------- | ----------- | --- | --- | +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | | +| | | | ruetuaH | | | sruocraP | | | | +| | | | ruegraL | elbisiV | | | | | | +| | | | | | | elbaT | eéirT | | | +nalP +| CMB_Choix | 560 | 110 | 236 29 | 0 | Actif | Mémoire | Non | | | +| ---------- | --- | --- | ------ | ----- | ----- | ------- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | 3793 | + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_AvecInterClient +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | laitini tatE | BAT ehcuoT | staté siorT | +| --- | ---------- | ---------- | --- | --- | ------------ | ---------- | ----------- | +| | X noitisoP | Y noitisoP | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 532 83 | 20 | 20 | 0 Actif | | 1 | +| ------- | --- | ------ | --- | --- | ------- | --- | --- | +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_Choix | 560 79 | 236 29 | 0 | Actif | Mémoire | Non | | +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_ClientBloque +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | BAT ehcuoT | staté siorT | +| --- | ---------- | ---------- | --- | --- | ------------ | ---------- | ----------- | +| | X noitisoP | Y noitisoP | | | laitini tatE | | | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 532 145 | 20 | 20 | 0 Actif | | 1 | +| ------- | --- | ------- | --- | --- | ------- | --- | --- | +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 +| | | | nalP | | elbaT | eéirT | | +| ---------- | ------- | ------ | ----- | ----- | ------- | ----- | ---- | +| CMB_Choix | 560 141 | 236 29 | 0 | Actif | Mémoire | Non | | +| 06/08/2026 | | | Batik | | | | 3794 | + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_ClientDb +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_Choix | 213 124 | 137 30 | 0 | Actif | Date | Non | | | +| --------- | ------- | ------ | --- | ----- | ---- | --- | --- | --- | +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_Libellé | | 185 105 | 165 | 21 | 0 | Actif Gauche | Haut | | +| ----------- | --- | ------- | --- | --- | --- | ------------ | ---- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | | | | laitini tatE | | staté siorT | +| --- | --- | ---------- | --- | --- | --- | ------------ | --- | ----------- | +Y noitisoP +| | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| INT_Opt | | 185 129 | 20 | 20 | 0 | Actif | 1 | | +| ------- | --- | ------- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_ClientF +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_Choix | 213 173 | 136 30 | 0 | Actif | Date | Non | | | +| ---------- | ------- | ------ | --- | ----- | ---- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | 3795 | + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › 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é | | 185 154 | 164 | 21 | 0 | Actif | Gauche | Haut | | +| ----------- | --- | ------- | --- | --- | --- | ----- | ------ | ---- | --- | +Interrupteur +ellennoitroporp .loC +| | | | | | | | BAT ehcuoT | sennoloc .bN | | +| --- | --- | --------------------- | ------- | ------- | --- | --- | ------------ | ------------ | ----------- | +| | | | | | | | laitini tatE | | staté siorT | +| | | X noitisoP Y noitisoP | | | | | | | | +| | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| INT_Opt | | 185 178 | 20 | 20 | 0 | Actif | | 1 | | +| ------- | --- | ------- | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_DevisDb +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_Choix | 43 124 | 136 30 | 0 | Actif | Date | Non | | | | +| --------- | ------ | ------ | --- | ----- | ---- | --- | --- | --- | --- | +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Libellé | | 15 105 | 164 | 21 | 0 | Actif | Gauche | Haut | | +| ----------- | --- | ------ | --- | ----- | --- | ----- | ------ | ---- | ---- | +| 06/08/2026 | | | | Batik | | | | | 3796 | + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| INT_Opt | | 15 129 | 20 | 20 | 0 | Actif | | 1 | | +| ------- | --- | ------ | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_DevisF +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 | eisias epyT FTR tamroF | | ediv is LLUN | | lacitrev .csA | +| --- | --------------------- | --- | --- | ------------ | ---------------------- | --- | ------------ | --- | ------------- | +| | X noitisoP Y noitisoP | | | laitini tatE | engilitluM | | | | | +ruetuaH +| | | ruegraL | elbisiV | | | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_Choix | 43 173 | 136 30 | 0 | Actif | Date | Non | | | | +| --------- | ------ | ------ | --- | ----- | ---- | --- | --- | --- | --- | +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Libellé | | 15 154 | 164 | 21 | 0 | Actif | Gauche | Haut | | +| ----------- | --- | ------ | --- | --- | --- | ----- | ------ | ---- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +ruegraL +elbisiV +nalP +| INT_Opt | | 15 178 | 20 | 20 | 0 | Actif | | 1 | | +| ---------- | --- | ------ | --- | ----- | --- | ----- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | 3797 | + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_InterDb +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_Choix | 386 124 | 137 30 | 0 | Actif | Date | Non | | | +| --------- | ------- | ------ | --- | ----- | ---- | --- | --- | --- | +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_Libellé | | 358 105 | 165 | 21 | 0 | Actif Gauche | Haut | | +| ----------- | --- | ------- | --- | --- | --- | ------------ | ---- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | | | | laitini tatE | | staté siorT | +| --- | --- | ---------- | --- | --- | --- | ------------ | --- | ----------- | +Y noitisoP +| | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| INT_Opt | | 358 129 | 20 | 20 | 0 | Actif | 1 | | +| ------- | --- | ------- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_InterF +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_Choix | 386 173 | 137 30 | 0 | Actif | Date | Non | | | +| ---------- | ------- | ------ | --- | ----- | ---- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | 3798 | + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › 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é | 358 154 | 165 21 | 0 Actif | Gauche | Haut | | +| ----------- | ------- | ------ | ------- | ------ | ---- | --- | +Interrupteur +ellennoitroporp .loC +| | | | | BAT ehcuoT | sennoloc .bN | | +| --- | --------------------- | --------------- | --- | ------------ | ------------ | ----------- | +| | | | | laitini tatE | | staté siorT | +| | X noitisoP Y noitisoP | | | | | | +| | | ruegraL ruetuaH | | | | | +elbisiV +nalP +| INT_Opt | 358 178 | 20 20 | 0 Actif | | 1 | | +| ------- | ------- | ----- | ------- | --- | --- | --- | +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_Recherche +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | X noitisoP | Y noitisoP | | laitini tatE | | | +| --- | ---------- | ---------- | ------- | ------------ | --------- | --- | +| | | ruegraL | ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | 1139 | 129 30 | 30 0 | Actif | | | +| --------- | ---- | ------ | ---- | ----- | --- | --- | +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 14 79 | 165 26 | 0 Actif | Gauche | Centre | | +| ---------- | ----- | ------ | ------- | ------ | ------ | ---- | +| 06/08/2026 | | Batik | | | | 3799 | + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_SansNom2 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | --- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | laitini tatE | | | | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 186 79 | 165 | 26 | 0 Actif | Gauche | Centre | | | +| ------- | --- | ------ | --- | --- | ------- | ------ | ------ | --- | --- | +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_SansNom3 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | | .trev egardaC | | +| --- | --- | --------------------- | --- | --- | ------------ | ------------- | --- | ------------- | --- | +| | | | | | laitini tatE | | | FTR tamroF | | +| | | X noitisoP Y noitisoP | | | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 358 79 | 165 | 26 | 0 Actif | Gauche | Centre | | | +| ------- | --- | ------ | --- | --- | ------- | ------ | ------ | --- | --- | +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_SocieteClient +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +ruegraL +elbisiV +nalP +| INT_Opt | | 532 178 | 20 | 20 | 0 | Actif | | 1 | | +| ------- | --- | ------- | --- | --- | --- | ----- | --- | --- | --- | +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_Choix | 560 | 173 236 | 31 | 0 Actif | Mémoire | | Non | | | +| ---------- | --- | ------- | --- | ------- | ------- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | 3800 | + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_SupFiltres +Image +| | | | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | --------------------- | --- | ------- | --- | --- | ------------ | --------- | --------------------------------------- | ---------- | +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | | sucof cevA | +| | | | | ruetuaH | | | | cilc cevA | | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 1139 88 | | 30 30 | 0 | | Actif | | | | +| --------- | --- | ------- | --- | ----- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_TypeClient +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 | | laitini tatE | eisias epyT | engilitluM | | | | | | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| SAI_Opt | 800 113 | 331 90 0 | affichag | Texte | | Non | | | | | +| ------- | ------- | -------- | -------- | ----- | --- | --- | --- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | ----------- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | +nalP +| INT_Opt | | 800 85 | 20 | 20 | 0 | Actif | | | 1 | | +| ------- | --- | ------ | --- | --- | --- | ----- | --- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +eriotagilbo eisiaS +| | | | | | | | | | | ruesnecsa elluB .zroH tnemeliféD | +| --- | ---------- | --------------- | --- | ------------ | ---------- | -------- | ----------- | --- | ------------ | -------------------------------- | +| | | | | | BAT ehcuoT | | | | ediv is LLUN | | +| | X noitisoP | | | laitini tatE | | | eisias cevA | | | | +| | | Y noitisoP | | | | sruocraP | | | | | +| | | ruegraL ruetuaH | | | | | | | | | +elbisiV +| | | | nalP | | elbaT | | eéirT | | | | +| ---------- | --- | --------- | ---- | ----- | ------- | --- | ----- | --- | --- | ---- | +| CMB_Choix | 828 | 81 303 28 | 0 | Actif | Mémoire | | | Non | | | +| 06/08/2026 | | | | Batik | | | | | | 3801 | + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_Exporter +Bouton +BAT ehcuoT notuob epyT +laitini tatE +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| BTN_Valider | 1049 | 5 141 | 56 | 0 | Actif | Normal | | +| ----------- | ---- | ----- | --- | --- | ----- | ------ | --- | +Champ Modèle de champs : CMOD_RdvColb +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_Div | 13 | 75 | 1172 | 104 | 0 | Actif | | +| ------ | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_RdvColb.SC_Div +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_ColbsRDV | 800 | 79 | 331 | 98 | 0 | Actif | | +| --------------- | ---- | --- | --- | --- | --- | ----- | --- | +| CMOD_DateDebRDV | 14 | 77 | 166 | 49 | 0 | Actif | | +| CMOD_DateFinRDV | 14 | 128 | 166 | 49 | 0 | Actif | | +| CMOD_Recherche | 1139 | 129 | 30 | 30 | 0 | Actif | | +| CMOD_SocieteRdv | 538 | 79 | 254 | 30 | 0 | Actif | | +| CMOD_SupFiltres | 1139 | 88 | 30 | 30 | 0 | Actif | | +| CMOD_TypeRDV | 187 | 75 | 344 | 102 | 0 | Actif | | +Champ Modèle de champs : CMOD_RdvColb.SC_Div.CMOD_ColbsRDV +| 06/08/2026 | | Batik | | | | | 3802 | +| ---------- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +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_Opt | 800 113 | 331 64 0 | affichag | Texte | | Non | | | | +| ------- | ------- | -------- | -------- | ----- | --- | --- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| INT_Opt | | 800 85 | 20 | 20 | 0 | Actif | | 1 | | +| ------- | --- | ------ | --- | --- | --- | ----- | --- | --- | --- | +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_Choix | 828 | 81 303 28 | 0 | Actif | Mémoire | | Non | | | +Champ Modèle de champs : CMOD_RdvColb.SC_Div.CMOD_DateDebRDV +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_Choix | 42 96 | 138 30 0 | Actif | Date | | Non | | | | +| ---------- | ----- | -------- | ----- | ----- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | 3803 | + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › 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é | | 14 77 | 166 | 21 | 0 | Actif | Gauche | Haut | | +| ----------- | --- | ----- | --- | --- | --- | ----- | ------ | ---- | --- | +Interrupteur +ellennoitroporp .loC +| | | | | | | | BAT ehcuoT | sennoloc .bN | | +| --- | --- | --- | --- | --- | --- | --- | ------------ | ------------ | ----------- | +| | | | | | | | laitini tatE | | staté siorT | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| INT_Opt | | 14 101 | 20 | 20 | 0 | Actif | | 1 | | +| ------- | --- | ------ | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_RdvColb.SC_Div.CMOD_DateFinRDV +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_Choix | 42 147 | 138 30 | 0 | Actif | Date | Non | | | | +| --------- | ------ | ------ | --- | ----- | ---- | --- | --- | --- | --- | +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_Libellé | | 14 128 | 166 | 21 | 0 | Actif | Gauche | Haut | | +| ----------- | --- | ------ | --- | ----- | --- | ----- | ------ | ---- | ---- | +| 06/08/2026 | | | | Batik | | | | | 3804 | + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| INT_Opt | | 14 152 | 20 | 20 | 0 | Actif | | 1 | | +| ------- | --- | ------ | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_RdvColb.SC_Div.CMOD_Recherche +Image +| | | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | --------------------- | --- | ------- | --- | ------------ | --------- | --------------------------------------- | ---------- | +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | sucof cevA | +| | | | | ruetuaH | | | cilc cevA | | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 1139 129 | 30 | 30 | 0 | Actif | | | | +| --------- | --- | -------- | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_RdvColb.SC_Div.CMOD_SocieteRdv +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | | BAT ehcuoT | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | ---------- | --- | ----------- | +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 538 84 | 20 | 20 | 0 | Actif | | 1 | | +| ------- | --- | ------ | --- | --- | --- | ----- | --- | --- | --- | +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_Choix | 566 | 79 226 31 | 0 | Actif | Mémoire | | Non | | | +| 06/08/2026 | | | Batik | | | | | | 3805 | + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_RdvColb.SC_Div.CMOD_SupFiltres +Image +| | | | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | --------------------- | --- | ------- | --- | --- | ------------ | --------- | --------------------------------------- | ---------- | +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | | sucof cevA | +| | | | | ruetuaH | | | | cilc cevA | | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 1139 88 | | 30 30 | 0 | | Actif | | | | +| --------- | --- | ------- | --- | ----- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : CMOD_RdvColb.SC_Div.CMOD_TypeRDV +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 | | laitini tatE | eisias epyT | engilitluM | | | | | | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| SAI_Opt | 187 109 | 344 68 0 | affichag | Texte | | Non | | | | | +| ------- | ------- | -------- | -------- | ----- | --- | --- | --- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | ----------- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | +nalP +| INT_Opt | | 187 81 | 20 | 20 | 0 | Actif | | | 1 | | +| ------- | --- | ------ | --- | --- | --- | ----- | --- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +eriotagilbo eisiaS +| | | | | | | | | | | ruesnecsa elluB .zroH tnemeliféD | +| --- | ---------- | --------------- | --- | ------------ | ---------- | -------- | ----------- | --- | ------------ | -------------------------------- | +| | | | | | BAT ehcuoT | | | | ediv is LLUN | | +| | X noitisoP | | | laitini tatE | | | eisias cevA | | | | +| | | Y noitisoP | | | | sruocraP | | | | | +| | | ruegraL ruetuaH | | | | | | | | | +elbisiV +| | | | nalP | | elbaT | | eéirT | | | | +| ---------- | --- | --------- | ---- | ----- | ------- | --- | ----- | --- | --- | ---- | +| CMB_Choix | 215 | 77 316 28 | 0 | Actif | Mémoire | | | Non | | | +| 06/08/2026 | | | | Batik | | | | | | 3806 | + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_Requete +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_Combo | 9 | 9 830 | 53 | 0 Actif | Mémoire | Non | | +| --------- | --- | ----- | --- | ------- | ------- | --- | --- | +Champ Modèle de champs : CMOD_SansNom1 +Bouton +notuob epyT +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | elbisiV | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | +nalP +| BTN_Annuler | | 900 | 27 | 141 35 | 0 | Actif | Normal | +| ----------- | --- | --- | --- | ------ | --- | ----- | ------ | +Champ Modèle de champs : CMOD_Table +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 | | | | +| --- | --------------------- | ------- | --- | ------------ | -------- | --- | --- | +| | | ruetuaH | | | sruocraP | | | +ruegraL +| | | | elbisiV | elbaT | | | | +| --- | --- | --- | ------- | ----- | --- | --- | --- | +nalP +Mémoir +| TABLE_Info | 11 218 1175 | 420 | 0 affichag | | | | 1 | +| ---------- | ----------- | --- | ---------- | ----- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | 3807 | + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Table : CMOD_Table.TABLE_Info +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_PKID | 880 | Grisé | | Droite Centre | Numériq | | +Fenêtre : FEN_ExportExcel +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { + "Libelle":"Barre de titre (Fen\u00eatre)" +} +| Ordre navigation | 1 | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Curseur survol | 0 | | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +| Facteur d'agrandissement | 0 | | | | | | +| Ancrage | Largeur | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +| 06/08/2026 | | | Batik | | | 3808 | +| ---------- | --- | --- | ----- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_Client +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Exporter +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3809 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_RdvColb +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Requete +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3810 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom1 +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Table +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3811 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 +06/08/2026 Batik 3812 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 3813 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 +06/08/2026 Batik 3814 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 +06/08/2026 Batik 3815 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Ancrage Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client +Superchamp : CMOD_Client.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 1170 +Hauteur externe 130 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3816 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Superchamp : CMOD_Client.SC_Div +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_AvecDevisClient +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 450 Taux anc. bas 1000 Taux anc. largeur 125 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_AvecInterClient +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 450 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +06/08/2026 Batik 3817 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_ClientBloque +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 575 Taux anc. bas 1000 Taux anc. largeur 125 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_ClientDb +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 150 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +06/08/2026 Batik 3818 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_ClientF +Ordre navigation 15 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 150 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_DevisDb +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +06/08/2026 Batik 3819 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_DevisF +Ordre navigation 14 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_InterDb +Ordre navigation 13 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 300 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +06/08/2026 Batik 3820 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_InterF +Ordre navigation 16 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 300 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_Recherche +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3821 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_SansNom1 +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_SansNom2 +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 150 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +06/08/2026 Batik 3822 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_SansNom3 +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 300 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_SocieteClient +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 450 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +06/08/2026 Batik 3823 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_SupFiltres +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_TypeClient +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 700 Taux anc. bas 1000 Taux anc. largeur 270 Taux anc. hauteur 1000 +06/08/2026 Batik 3824 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_AvecDevisClient +Combo : CMOD_Client.SC_Div.CMOD_AvecDevisClient.CMB_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Combo +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 235 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 561 +Largeur interne 235 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 3825 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : CMOD_Client.SC_Div.CMOD_AvecDevisClient.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Batik 3826 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_AvecInterClient +Combo : CMOD_Client.SC_Div.CMOD_AvecInterClient.CMB_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Combo +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 235 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 561 +Largeur interne 235 +06/08/2026 Batik 3827 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3828 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Interrupteur : CMOD_Client.SC_Div.CMOD_AvecInterClient.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3829 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_ClientBloque +Combo : CMOD_Client.SC_Div.CMOD_ClientBloque.CMB_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Combo +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 235 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 561 +Largeur interne 235 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 3830 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : CMOD_Client.SC_Div.CMOD_ClientBloque.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Batik 3831 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_ClientDb +Interrupteur : CMOD_Client.SC_Div.CMOD_ClientDb.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Batik 3832 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Client.SC_Div.CMOD_ClientDb.LIB_Libellé +Libellé FR: Libellé +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 +06/08/2026 Batik 3833 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : CMOD_Client.SC_Div.CMOD_ClientDb.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 213 +Largeur interne 137 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 3834 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_ClientF +Interrupteur : CMOD_Client.SC_Div.CMOD_ClientF.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +Curseur survol 0 +06/08/2026 Batik 3835 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Client.SC_Div.CMOD_ClientF.LIB_Libellé +Libellé FR: Libellé +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 +06/08/2026 Batik 3836 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : CMOD_Client.SC_Div.CMOD_ClientF.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 213 +Largeur interne 136 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Batik 3837 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › 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, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3838 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_DevisDb +Interrupteur : CMOD_Client.SC_Div.CMOD_DevisDb.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3839 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Libellé : CMOD_Client.SC_Div.CMOD_DevisDb.LIB_Libellé +Libellé FR: Libellé +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : CMOD_Client.SC_Div.CMOD_DevisDb.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 +06/08/2026 Batik 3840 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Droite +Position X interne 43 +Largeur interne 136 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 3841 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_DevisF +Interrupteur : CMOD_Client.SC_Div.CMOD_DevisF.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +06/08/2026 Batik 3842 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Valeur persistante Non +Option multilignes Non +Option format RTF Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Client.SC_Div.CMOD_DevisF.LIB_Libellé +Libellé FR: Libellé +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3843 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ de saisie : CMOD_Client.SC_Div.CMOD_DevisF.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 43 +Largeur interne 136 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +06/08/2026 Batik 3844 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › 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 Couleur monochrome du style +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_InterDb +Interrupteur : CMOD_Client.SC_Div.CMOD_InterDb.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 +06/08/2026 Batik 3845 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Ancrage au contenu <Aucun> +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_Client.SC_Div.CMOD_InterDb.LIB_Libellé +Libellé FR: Libellé +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 +06/08/2026 Batik 3846 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : CMOD_Client.SC_Div.CMOD_InterDb.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 386 +Largeur interne 137 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 3847 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +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, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3848 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_InterF +Interrupteur : CMOD_Client.SC_Div.CMOD_InterF.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3849 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Libellé : CMOD_Client.SC_Div.CMOD_InterF.LIB_Libellé +Libellé FR: Libellé +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : CMOD_Client.SC_Div.CMOD_InterF.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 +06/08/2026 Batik 3850 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Droite +Position X interne 386 +Largeur interne 137 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 3851 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_Recherche +Image : CMOD_Client.SC_Div.CMOD_Recherche.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Loupe_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 3852 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +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 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_SansNom1 +Libellé : CMOD_Client.SC_Div.CMOD_SansNom1.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3853 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_SansNom2 +Libellé : CMOD_Client.SC_Div.CMOD_SansNom2.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3854 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_SansNom3 +Libellé : CMOD_Client.SC_Div.CMOD_SansNom3.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3855 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_SocieteClient +Combo : CMOD_Client.SC_Div.CMOD_SocieteClient.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 236 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 560 +Largeur interne 236 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 3856 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : CMOD_Client.SC_Div.CMOD_SocieteClient.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Batik 3857 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_SupFiltres +Image : CMOD_Client.SC_Div.CMOD_SupFiltres.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\gomme_noire.svg +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 +06/08/2026 Batik 3858 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_Client.SC_Div.CMOD_TypeClient +Combo : CMOD_Client.SC_Div.CMOD_TypeClient.CMB_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Combo +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 301 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 830 +Largeur interne 301 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse <Aucun> +Unicode Non +06/08/2026 Batik 3859 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › 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 +Saisie invalide Oui, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 20 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : CMOD_Client.SC_Div.CMOD_TypeClient.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 +06/08/2026 Batik 3860 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Ancrage au contenu <Aucun> +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : CMOD_Client.SC_Div.CMOD_TypeClient.SAI_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Jeton : +Groupe GR_Saisie +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 +06/08/2026 Batik 3861 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 800 +Largeur interne 331 +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 +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 +06/08/2026 Batik 3862 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +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 et hauteur +Taux anc. droite 330 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Exporter +Bouton : CMOD_Exporter.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +06/08/2026 Batik 3863 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_RdvColb +Superchamp : CMOD_RdvColb.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 1170 +Hauteur externe 102 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3864 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Superchamp : CMOD_RdvColb.SC_Div +Champ Modèle de champs : CMOD_RdvColb.SC_Div.CMOD_ColbsRDV +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 650 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_RdvColb.SC_Div.CMOD_DateDebRDV +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3865 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_RdvColb.SC_Div.CMOD_DateFinRDV +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_RdvColb.SC_Div.CMOD_Recherche +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3866 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_RdvColb.SC_Div.CMOD_SocieteRdv +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 450 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_RdvColb.SC_Div.CMOD_SupFiltres +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3867 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_RdvColb.SC_Div.CMOD_TypeRDV +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 150 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_RdvColb.SC_Div.CMOD_ColbsRDV +Combo : CMOD_RdvColb.SC_Div.CMOD_ColbsRDV.CMB_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Combo +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 301 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 830 +06/08/2026 Batik 3868 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Largeur interne 301 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 20 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3869 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Interrupteur : CMOD_RdvColb.SC_Div.CMOD_ColbsRDV.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3870 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ de saisie : CMOD_RdvColb.SC_Div.CMOD_ColbsRDV.SAI_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Jeton : +Groupe GR_Saisie +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 800 +Largeur interne 331 +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 +06/08/2026 Batik 3871 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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 Largeur et hauteur +Taux anc. droite 330 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_RdvColb.SC_Div.CMOD_DateDebRDV +Interrupteur : CMOD_RdvColb.SC_Div.CMOD_DateDebRDV.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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> +06/08/2026 Batik 3872 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : CMOD_RdvColb.SC_Div.CMOD_DateDebRDV.LIB_Libellé +Libellé FR: Libellé +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 +06/08/2026 Batik 3873 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : CMOD_RdvColb.SC_Div.CMOD_DateDebRDV.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 42 +Largeur interne 138 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 3874 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +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, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3875 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_RdvColb.SC_Div.CMOD_DateFinRDV +Interrupteur : CMOD_RdvColb.SC_Div.CMOD_DateFinRDV.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3876 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Libellé : CMOD_RdvColb.SC_Div.CMOD_DateFinRDV.LIB_Libellé +Libellé FR: Libellé +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : CMOD_RdvColb.SC_Div.CMOD_DateFinRDV.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 +06/08/2026 Batik 3877 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Droite +Position X interne 42 +Largeur interne 138 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 3878 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_RdvColb.SC_Div.CMOD_Recherche +Image : CMOD_RdvColb.SC_Div.CMOD_Recherche.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Loupe_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 3879 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +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 +Champ Modèle de champs : CMOD_RdvColb.SC_Div.CMOD_SocieteRdv +Combo : CMOD_RdvColb.SC_Div.CMOD_SocieteRdv.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 226 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 566 +Largeur interne 226 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +06/08/2026 Batik 3880 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : CMOD_RdvColb.SC_Div.CMOD_SocieteRdv.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +06/08/2026 Batik 3881 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_RdvColb.SC_Div.CMOD_SupFiltres +Image : CMOD_RdvColb.SC_Div.CMOD_SupFiltres.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\gomme_noire.svg +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 +06/08/2026 Batik 3882 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : CMOD_RdvColb.SC_Div.CMOD_TypeRDV +Combo : CMOD_RdvColb.SC_Div.CMOD_TypeRDV.CMB_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Combo +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 314 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 217 +Largeur interne 314 +Cadrage fonctions gXXX Tenir compte du cadrage +06/08/2026 Batik 3883 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 20 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3884 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Interrupteur : CMOD_RdvColb.SC_Div.CMOD_TypeRDV.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3885 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ de saisie : CMOD_RdvColb.SC_Div.CMOD_TypeRDV.SAI_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Jeton : +Groupe GR_Saisie +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 187 +Largeur interne 344 +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 +06/08/2026 Batik 3886 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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 Largeur et hauteur +Taux anc. droite 330 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_Requete +Combo : CMOD_Requete.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 +06/08/2026 Batik 3887 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 830 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 9 +Largeur interne 830 +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 Oui +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3888 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_SansNom1 +Bouton : CMOD_SansNom1.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3889 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +Champ Modèle de champs : CMOD_Table +Table : CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 3890 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Informations sur les champs +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 : CMOD_Table.TABLE_Info +Colonne de table : CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 +06/08/2026 Batik 3891 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › 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 +FEN_ExportExcel +Code +Déclarations globales de FEN_ExportExcel +procédure FEN_ExportExcel() +constante +nCPlanClient = 2 +nCPlanRDV = 1 +fin +Fermeture de FEN_ExportExcel +si FenEtat(FEN_Menu_Items) <> Inexistant alors +Ferme(FEN_Menu_Items) +fin +FEN_ExportExcel +Code des champs +Fin d'initialisation de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen (modèle FENMOD_Fiche) +06/08/2026 Batik 3892 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen (modèle FENMOD_Fiche) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle FENMOD_Fiche) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle FENMOD_Fiche) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle FENMOD_Fiche) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +Fin d'initialisation de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Client +06/08/2026 Batik 3893 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_AvecDevisClient +salib = "Avec un devis" +Fin d'initialisation de CMOD_AvecDevisClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_AvecDevisClient +06/08/2026 Batik 3894 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_AvecDevisClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_AvecDevisClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_AvecDevisClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_AvecDevisClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_AvecDevisClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_AvecDevisClient ) (modèle MDLC_ChoixBoolean) +ListeAjoute(MoiMême..Nom,"OUI"+gLien(1)) +ListeAjoute(MoiMême..Nom,"NON"+gLien(0)) +MoiMême..Indication = saLib +Sélection d'une ligne de CMB_Choix ( CMOD_AvecDevisClient ) (modèle MDLC_ChoixBoolean) +INT_Opt=Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_AvecDevisClient ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_AvecDevisClient ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_AvecInterClient +salib ="Avec une intervention" +Fin d'initialisation de CMOD_AvecInterClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_AvecInterClient +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3895 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +ExécuteAncêtre +Entrée dans CMOD_AvecInterClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_AvecInterClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_AvecInterClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_AvecInterClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_AvecInterClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_AvecInterClient ) (modèle MDLC_ChoixBoolean) +ListeAjoute(MoiMême..Nom,"OUI"+gLien(1)) +ListeAjoute(MoiMême..Nom,"NON"+gLien(0)) +MoiMême..Indication = saLib +Sélection d'une ligne de CMB_Choix ( CMOD_AvecInterClient ) (modèle MDLC_ChoixBoolean) +INT_Opt=Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_AvecInterClient ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_AvecInterClient ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_ClientBloque +salib ="Client bloqué" +Fin d'initialisation de CMOD_ClientBloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ClientBloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ClientBloque +06/08/2026 Batik 3896 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ClientBloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ClientBloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ClientBloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ClientBloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_ClientBloque ) (modèle MDLC_ChoixBoolean) +ListeAjoute(MoiMême..Nom,"OUI"+gLien(1)) +ListeAjoute(MoiMême..Nom,"NON"+gLien(0)) +MoiMême..Indication = saLib +Sélection d'une ligne de CMB_Choix ( CMOD_ClientBloque ) (modèle MDLC_ChoixBoolean) +INT_Opt=Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_ClientBloque ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_ClientBloque ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_ClientDb +salib ="À partir de " +Fin d'initialisation de CMOD_ClientDb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ClientDb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ClientDb +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3897 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +ExécuteAncêtre +Sortie de CMOD_ClientDb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ClientDb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ClientDb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ClientDb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_ClientDb ) (modèle MDLC_ChampDate) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de LIB_Libellé ( CMOD_ClientDb ) (modèle MDLC_ChampDate) +// Version 1 +// Description +// Libellé simple +MoiMême = saLib +Initialisation de SAI_Choix ( CMOD_ClientDb ) (modèle MDLC_ChampDate) +MoiMême..Indication = saLib +A chaque modification de SAI_Choix ( CMOD_ClientDb ) (modèle MDLC_ChampDate) +si MoiMême <> "" alors +INT_Opt = Vrai +sinon +INT_Opt = Faux +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_ClientDb ) (modèle MDLC_ChampDate) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_ClientF +saLib = "Jusqu’à" +Fin d'initialisation de CMOD_ClientF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ClientF +06/08/2026 Batik 3898 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ClientF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ClientF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ClientF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ClientF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ClientF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_ClientF ) (modèle MDLC_ChampDate) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de LIB_Libellé ( CMOD_ClientF ) (modèle MDLC_ChampDate) +// Version 1 +// Description +// Libellé simple +MoiMême = saLib +Initialisation de SAI_Choix ( CMOD_ClientF ) (modèle MDLC_ChampDate) +MoiMême..Indication = saLib +A chaque modification de SAI_Choix ( CMOD_ClientF ) (modèle MDLC_ChampDate) +si MoiMême <> "" alors +INT_Opt = Vrai +sinon +INT_Opt = Faux +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_ClientF ) (modèle MDLC_ChampDate) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_DevisDb +salib ="À partir de " +Fin d'initialisation de CMOD_DevisDb +06/08/2026 Batik 3899 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DevisDb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DevisDb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DevisDb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DevisDb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DevisDb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DevisDb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_DevisDb ) (modèle MDLC_ChampDate) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de LIB_Libellé ( CMOD_DevisDb ) (modèle MDLC_ChampDate) +// Version 1 +// Description +// Libellé simple +MoiMême = saLib +Initialisation de SAI_Choix ( CMOD_DevisDb ) (modèle MDLC_ChampDate) +MoiMême..Indication = saLib +A chaque modification de SAI_Choix ( CMOD_DevisDb ) (modèle MDLC_ChampDate) +si MoiMême <> "" alors +INT_Opt = Vrai +sinon +INT_Opt = Faux +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_DevisDb ) (modèle MDLC_ChampDate) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_DevisF +06/08/2026 Batik 3900 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +saLib = "Jusqu’à" +Fin d'initialisation de CMOD_DevisF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DevisF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DevisF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DevisF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DevisF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DevisF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DevisF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_DevisF ) (modèle MDLC_ChampDate) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de LIB_Libellé ( CMOD_DevisF ) (modèle MDLC_ChampDate) +// Version 1 +// Description +// Libellé simple +MoiMême = saLib +Initialisation de SAI_Choix ( CMOD_DevisF ) (modèle MDLC_ChampDate) +MoiMême..Indication = saLib +A chaque modification de SAI_Choix ( CMOD_DevisF ) (modèle MDLC_ChampDate) +si MoiMême <> "" alors +INT_Opt = Vrai +sinon +INT_Opt = Faux +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_DevisF ) (modèle MDLC_ChampDate) +06/08/2026 Batik 3901 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_InterDb +salib ="À partir de " +Fin d'initialisation de CMOD_InterDb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_InterDb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_InterDb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_InterDb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_InterDb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_InterDb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_InterDb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_InterDb ) (modèle MDLC_ChampDate) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de LIB_Libellé ( CMOD_InterDb ) (modèle MDLC_ChampDate) +// Version 1 +// Description +// Libellé simple +MoiMême = saLib +Initialisation de SAI_Choix ( CMOD_InterDb ) (modèle MDLC_ChampDate) +MoiMême..Indication = saLib +A chaque modification de SAI_Choix ( CMOD_InterDb ) (modèle MDLC_ChampDate) +06/08/2026 Batik 3902 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +si MoiMême <> "" alors +INT_Opt = Vrai +sinon +INT_Opt = Faux +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_InterDb ) (modèle MDLC_ChampDate) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_InterF +saLib = "Jusqu’à" +Fin d'initialisation de CMOD_InterF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_InterF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_InterF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_InterF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_InterF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_InterF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_InterF +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_InterF ) (modèle MDLC_ChampDate) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de LIB_Libellé ( CMOD_InterF ) (modèle MDLC_ChampDate) +// Version 1 +// Description +// Libellé simple +MoiMême = saLib +Initialisation de SAI_Choix ( CMOD_InterF ) (modèle MDLC_ChampDate) +06/08/2026 Batik 3903 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +MoiMême..Indication = saLib +A chaque modification de SAI_Choix ( CMOD_InterF ) (modèle MDLC_ChampDate) +si MoiMême <> "" alors +INT_Opt = Vrai +sinon +INT_Opt = Faux +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_InterF ) (modèle MDLC_ChampDate) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Recherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Recherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Recherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Recherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Recherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Recherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Recherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Recherche ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Recherche ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ReqClient() +A chaque modification de IMG_Icone ( CMOD_Recherche ) +06/08/2026 Batik 3904 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Recherche ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Recherche ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Recherche ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SansNom1 +salib = "Création du devis" +Fin d'initialisation de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_SansNom1 ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_SansNom1 ) (modèle MDLC_LibNormal) +06/08/2026 Batik 3905 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_SansNom2 +saLib = "Création du client" +Fin d'initialisation de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_SansNom2 ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_SansNom2 ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_SansNom3 +salib = "Création de l'intervention" +Fin d'initialisation de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom3 +06/08/2026 Batik 3906 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_SansNom3 ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_SansNom3 ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_SocieteClient +saLib ="Société de l'intervention" +saCode = cSocietesUtilisateur +Fin d'initialisation de CMOD_SocieteClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SocieteClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SocieteClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SocieteClient +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3907 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SocieteClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SocieteClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SocieteClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_SocieteClient ) (modèle MDLC_ChoixCombo) +InitChamp(MoiMême..Nom,saCode,Vrai) +MoiMême..Indication = saLib +CMB_Choix..RechercheFAA = Faux +Sélection d'une ligne de CMB_Choix ( CMOD_SocieteClient ) (modèle MDLC_ChoixCombo) +INT_Opt=Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_SocieteClient ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_SocieteClient ) (modèle MDLC_ChoixCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_SupFiltres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SupFiltres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SupFiltres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SupFiltres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SupFiltres +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3908 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SupFiltres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SupFiltres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_SupFiltres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_SupFiltres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +GR_Boolean = Faux +GR_Combo = -1 +GR_Saisie = "" +A chaque modification de IMG_Icone ( CMOD_SupFiltres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_SupFiltres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_SupFiltres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_SupFiltres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_TypeClient +saLib ="Type de client" +saCode = cParam_TypeClient +Fin d'initialisation de CMOD_TypeClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TypeClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TypeClient +06/08/2026 Batik 3909 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TypeClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TypeClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TypeClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TypeClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_TypeClient ) (modèle MDLC_ChoixJetonsCombo) +InitChamp(MoiMême..Nom,saCode,Vrai) +MoiMême..Indication = saLib +Sélection d'une ligne de CMB_Choix ( CMOD_TypeClient ) (modèle MDLC_ChoixJetonsCombo) +INT_Opt=Vrai +si CMB_Choix > 0 alors +SaisieAjouteJeton(SAI_Opt,NumériqueVersChaîne(CMB_Choix..ValeurMémorisée),CMB_Choix..ValeurAffichée +) +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_TypeClient ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_TypeClient ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de SAI_Opt ( CMOD_TypeClient ) (modèle MDLC_ChoixJetonsCombo) +// Version 1 +// Description +// Saisie avec jetons +Ajout d'un jeton dans SAI_Opt ( CMOD_TypeClient ) (modèle MDLC_ChoixJetonsCombo) +procédure AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +renvoyer Vrai +Suppression d'un jeton dans SAI_Opt ( CMOD_TypeClient ) (modèle MDLC_ChoixJetonsCombo) +06/08/2026 Batik 3910 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +procédure SuppressionJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +renvoyer Vrai +Clic sur un jeton de SAI_Opt ( CMOD_TypeClient ) (modèle MDLC_ChoixJetonsCombo) +procédure ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de SAI_Opt ( CMOD_TypeClient ) (modèle MDLC_ChoixJetonsCombo) +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_Opt ( CMOD_TypeClient ) (modèle MDLC_ChoixJetonsCombo) +procédure ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +renvoyer Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Opt ( CMOD_TypeClient ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Exporter +salib ="Exporter les données vers un fichier Excel" +Fin d'initialisation de CMOD_Exporter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Exporter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Exporter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Exporter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Exporter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Exporter +06/08/2026 Batik 3911 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Exporter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Exporter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Exporter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si TABLE_Info..Occurrence > 0 alors +sNomFichier est une chaîne = "Extration_Isis_"+DateSys()+".xls" +sRepertoire est une chaîne +// Ouvre le sélecteur de fichiers +soit sTitre="Sélectionner un répertoire..." +// ouvre le sélecteur +sRepertoire = fRepSélecteur(sRepertoire, sTitre, "") +sFichierID est une chaîne +si sRepertoire <> "" alors +sFichierID = ComplèteRep(sRepertoire) +sFichierID += sNomFichier +si sFichierID <> "" alors +si TableVersExcel(TABLE_Info, sFichierID) = Faux alors +Info(ErreurInfo()) +sinon +ToastAffiche("Fichier généré") +fin +fin +fin +fin +Fin d'initialisation de CMOD_RdvColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_RdvColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_RdvColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_RdvColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_RdvColb +06/08/2026 Batik 3912 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_RdvColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_RdvColb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_ColbsRDV +saLib = "Collaborateurs" +saCode = cCollaborateursPl +Fin d'initialisation de CMOD_ColbsRDV +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3913 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ColbsRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ColbsRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ColbsRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ColbsRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ColbsRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ColbsRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_ColbsRDV ) (modèle MDLC_ChoixJetonsCombo) +InitChamp(MoiMême..Nom,saCode,Vrai) +MoiMême..Indication = saLib +Sélection d'une ligne de CMB_Choix ( CMOD_ColbsRDV ) (modèle MDLC_ChoixJetonsCombo) +INT_Opt=Vrai +si CMB_Choix > 0 alors +SaisieAjouteJeton(SAI_Opt,NumériqueVersChaîne(CMB_Choix..ValeurMémorisée),CMB_Choix..ValeurAffichée +) +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_ColbsRDV ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_ColbsRDV ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de SAI_Opt ( CMOD_ColbsRDV ) (modèle MDLC_ChoixJetonsCombo) +// Version 1 +// Description +// Saisie avec jetons +Ajout d'un jeton dans SAI_Opt ( CMOD_ColbsRDV ) (modèle MDLC_ChoixJetonsCombo) +06/08/2026 Batik 3914 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +procédure AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +renvoyer Vrai +Suppression d'un jeton dans SAI_Opt ( CMOD_ColbsRDV ) (modèle MDLC_ChoixJetonsCombo) +procédure SuppressionJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +renvoyer Vrai +Clic sur un jeton de SAI_Opt ( CMOD_ColbsRDV ) (modèle MDLC_ChoixJetonsCombo) +procédure ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de SAI_Opt ( CMOD_ColbsRDV ) (modèle MDLC_ChoixJetonsCombo) +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_Opt ( CMOD_ColbsRDV ) (modèle MDLC_ChoixJetonsCombo) +procédure ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +renvoyer Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Opt ( CMOD_ColbsRDV ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_DateDebRDV +salib = "Date début" +Fin d'initialisation de CMOD_DateDebRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DateDebRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DateDebRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DateDebRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DateDebRDV +06/08/2026 Batik 3915 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DateDebRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DateDebRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_DateDebRDV ) (modèle MDLC_ChampDate) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de LIB_Libellé ( CMOD_DateDebRDV ) (modèle MDLC_ChampDate) +// Version 1 +// Description +// Libellé simple +MoiMême = saLib +Initialisation de SAI_Choix ( CMOD_DateDebRDV ) (modèle MDLC_ChampDate) +MoiMême..Indication = saLib +A chaque modification de SAI_Choix ( CMOD_DateDebRDV ) (modèle MDLC_ChampDate) +si MoiMême <> "" alors +INT_Opt = Vrai +sinon +INT_Opt = Faux +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_DateDebRDV ) (modèle MDLC_ChampDate) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_DateFinRDV +salib = "Date fin" +Fin d'initialisation de CMOD_DateFinRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DateFinRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DateFinRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DateFinRDV +06/08/2026 Batik 3916 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DateFinRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DateFinRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DateFinRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_DateFinRDV ) (modèle MDLC_ChampDate) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de LIB_Libellé ( CMOD_DateFinRDV ) (modèle MDLC_ChampDate) +// Version 1 +// Description +// Libellé simple +MoiMême = saLib +Initialisation de SAI_Choix ( CMOD_DateFinRDV ) (modèle MDLC_ChampDate) +MoiMême..Indication = saLib +A chaque modification de SAI_Choix ( CMOD_DateFinRDV ) (modèle MDLC_ChampDate) +si MoiMême <> "" alors +INT_Opt = Vrai +sinon +INT_Opt = Faux +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_DateFinRDV ) (modèle MDLC_ChampDate) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Recherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Recherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Recherche +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3917 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +ExécuteAncêtre +Sortie de CMOD_Recherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Recherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Recherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Recherche +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Recherche ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Recherche ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ReqColb() +A chaque modification de IMG_Icone ( CMOD_Recherche ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Recherche ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Recherche ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Recherche ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SocieteRdv +saLib = "Société" +saCode = cSocietesUtilisateur +Fin d'initialisation de CMOD_SocieteRdv +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3918 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SocieteRdv +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SocieteRdv +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SocieteRdv +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SocieteRdv +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SocieteRdv +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SocieteRdv +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_SocieteRdv ) (modèle MDLC_ChoixCombo) +InitChamp(MoiMême..Nom,saCode,Vrai) +MoiMême..Indication = saLib +CMB_Choix..RechercheFAA = Faux +Sélection d'une ligne de CMB_Choix ( CMOD_SocieteRdv ) (modèle MDLC_ChoixCombo) +INT_Opt=Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_SocieteRdv ) (modèle MDLC_ChoixCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_SocieteRdv ) (modèle MDLC_ChoixCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_SupFiltres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SupFiltres +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3919 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +ExécuteAncêtre +Entrée dans CMOD_SupFiltres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SupFiltres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SupFiltres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SupFiltres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SupFiltres +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_SupFiltres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_SupFiltres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +GR_Boolean = Faux +GR_Combo = -1 +GR_Saisie = "" +A chaque modification de IMG_Icone ( CMOD_SupFiltres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_SupFiltres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_SupFiltres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_SupFiltres ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_TypeRDV +06/08/2026 Batik 3920 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +saLib = "Type de rendez-vous" +saCode = cParam_TypeRDV +Fin d'initialisation de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TypeRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_TypeRDV ) (modèle MDLC_ChoixJetonsCombo) +InitChamp(MoiMême..Nom,saCode,Vrai) +MoiMême..Indication = saLib +Sélection d'une ligne de CMB_Choix ( CMOD_TypeRDV ) (modèle MDLC_ChoixJetonsCombo) +INT_Opt=Vrai +si CMB_Choix > 0 alors +SaisieAjouteJeton(SAI_Opt,NumériqueVersChaîne(CMB_Choix..ValeurMémorisée),CMB_Choix..ValeurAffichée +) +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_TypeRDV ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_TypeRDV ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de SAI_Opt ( CMOD_TypeRDV ) (modèle MDLC_ChoixJetonsCombo) +06/08/2026 Batik 3921 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +// Version 1 +// Description +// Saisie avec jetons +Ajout d'un jeton dans SAI_Opt ( CMOD_TypeRDV ) (modèle MDLC_ChoixJetonsCombo) +procédure AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +renvoyer Vrai +Suppression d'un jeton dans SAI_Opt ( CMOD_TypeRDV ) (modèle MDLC_ChoixJetonsCombo) +procédure SuppressionJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +renvoyer Vrai +Clic sur un jeton de SAI_Opt ( CMOD_TypeRDV ) (modèle MDLC_ChoixJetonsCombo) +procédure ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de SAI_Opt ( CMOD_TypeRDV ) (modèle MDLC_ChoixJetonsCombo) +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_Opt ( CMOD_TypeRDV ) (modèle MDLC_ChoixJetonsCombo) +procédure ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +renvoyer Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Opt ( CMOD_TypeRDV ) (modèle +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Requete +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Requete +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Requete +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Requete +06/08/2026 Batik 3922 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Requete +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Requete +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Requete +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Requete ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si bDroit(cGestion_ExtClient) alors +ListeAjoute(MoiMême..NomComplet,"Liste des clients avec leur contact principal"+gValeurMémorisée( +cGestion_ExtClient)) +fin +si bDroit(cGestion_ExtRdv) alors +ListeAjoute(MoiMême..NomComplet,"Liste des rendez-vous collaborateurs"+gValeurMémorisée( +cGestion_ExtRdv)) +fin +Entrée dans CMB_Combo ( CMOD_Requete ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Requete ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Requete ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Filtrer() +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Requete ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +06/08/2026 Batik 3923 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Annuler ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Annuler ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ferme() +Entrée en survol de BTN_Annuler ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +06/08/2026 Batik 3924 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 3925 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Code des champs +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +FEN_ExportExcel +Procédures +Procédure locale Filtrer +procédure Filtrer() +FEN_ExportExcel..Plan = 0 +si CMOD_Requete.CMB_Combo = cGestion_ExtClient alors +FEN_ExportExcel..Plan = nCPlanClient +sinon si CMOD_Requete.CMB_Combo = cGestion_ExtRdv alors +FEN_ExportExcel..Plan = nCPlanRDV +fin +Procédure locale ReqClient +procédure ReqClient() +sCompl est une chaîne ANSI +sREQ est une chaîne ANSI = [ +SELECT CL_Nom AS Client, PA.PA_Libelle as Type, CL_Tel AS Telephone, cl_fax AS Fax, CL_Email AS +Email, +CONCAT(PE_Nom, ' ', PE_Prenom) AS Contact, PE_TelFixe AS Fixe, PE_TelMobile AS Mobile, PE_Email AS +Email_Contact, PE_InfoSupp AS Information, +CL_Blocage as Bloque, Cl_RaisonBlocage as Raison_blocage +FROM Client +06/08/2026 Batik 3926 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Procédures +LEFT JOIN Personne on Personne.PE_PKID = CL_IDContactPrincipal +LEFT JOIN ParametreMetier as PA ON PA.PA_CLE = CL_CleType +] +sJoin est une chaîne ANSI +si CMOD_AvecDevisClient.INT_Opt ou CMOD_AvecInterClient.INT_Opt ou CMOD_DevisDb.INT_Opt ou CMOD_DevisF. +INT_Opt... +ou CMOD_InterDb.INT_Opt ou CMOD_InterF.INT_Opt alors +sJoin = " INNER JOIN Intervention on IN_IDClient = CL_PKID " +fin +sCompl+=CritereHF(CMOD_ClientDb.INT_Opt,CMOD_ClientDb.SAI_Choix,"Client.CreationDate",df_DateSupEgal) +sCompl+=CritereHF(CMOD_ClientF.INT_Opt,CMOD_ClientF.SAI_Choix,"Client.CreationDate",df_DateInfEgal) +sCompl+=CritereHF(CMOD_DevisDb.INT_Opt,CMOD_DevisDb.SAI_Choix,Intervention.IN_DateDevis..Nom, +df_DateSupEgal) +sCompl+=CritereHF(CMOD_DevisF.INT_Opt,CMOD_DevisF.SAI_Choix,Intervention.IN_DateDevis..Nom, +df_DateInfEgal) +sCompl+=CritereHF(CMOD_InterDb.INT_Opt,CMOD_InterDb.SAI_Choix,"Intervention.CreationDate", +df_DateSupEgal) +sCompl+=CritereHF(CMOD_InterF.INT_Opt,CMOD_InterF.SAI_Choix,"Intervention.CreationDate",df_DateInfEgal) +sCompl+=CritereHF(CMOD_ClientBloque.INT_Opt,CMOD_ClientBloque.CMB_Choix,Client.CL_Blocage..Nom, +df_Booleen) +sCompl+=CritereHF(CMOD_SocieteClient.INT_Opt,CMOD_SocieteClient.CMB_Choix,Intervention.IN_IDSociete.. +Nom,df_Id) +si CMOD_TypeClient.INT_Opt _et_ CMOD_TypeClient.SAI_Opt <> "" alors +saTyp est une chaîne ANSI +pour toute chaîne saID de CMOD_TypeClient.SAI_Opt séparé par RC +si SansEspace(saID) <> "" alors +si saTyp <> "" alors +saTyp += [","] +fin +saTyp += "'"+saID+"'" +fin +fin +si saTyp <> "" alors +sCompl += " AND Client.CL_CleType IN ("+saTyp+")" +fin +fin +si CMOD_AvecDevisClient.INT_Opt alors +si CMOD_AvecDevisClient.CMB_Choix = Vrai alors +sCompl += " AND Intervention.IN_NumDevis <> '' " +sinon +sCompl += " AND Intervention.IN_NumDevis = '' " +fin +fin +si SansEspace(sCompl) = "" alors +Info("Veuillez sélectionner au moins un critère") +retour +sinon +sREQ += sJoin +sREQ += " WHERE Client.Archive = 0" + sCompl +"Order by CL_Nom" +sdDonnees est une Source de Données +si HExécuteRequêteSQL(sdDonnees,hRequêteDéfaut,sREQ) alors +ConstruitTableFichier(TABLE_Info,sdDonnees,taRemplirTable) +ToastAffiche(sdDonnees.NbEnr() + " Enregistrements trouvés", toastCourt, cvMilieu, chCentre) +sinon +Erreur("Un erreur est survenu ",HErreurInfo()) +06/08/2026 Batik 3927 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Procédures +retour +fin +fin +Procédure locale ReqColb +procédure ReqColb() +sCompl est une chaîne ANSI +sAREQ est une chaîne ANSI = [ +SELECT CONCAT(CO_Nom, ' ', CO_Prenom, ' ',CO_Trigramme) as Collaborateur, so_nom as Société, +RVC_DateDeb as Début, RVC_DateFin as Fin, PA.pa_libelle as Type, +in_numdevis as Devis, in_refinterne as Référence, li_codelieu as Lieu,RV_Objet as Objet, +RV_Description as Description +FROM RDV_Planning +INNER JOIN RDV_Collaborateur ON RDV_Collaborateur.RVC_GUID_RDV = RDV_Planning.GUID +INNER JOIN parametreMetier AS PA ON PA.PA_CLE = RV_CleType +INNER JOIN collaborateur ON Collaborateur.GUID = RDV_Collaborateur.RVC_GUID_Colb +LEFT JOIN societe on so_pkid = RV_IdSociete +INNER JOIN intervention on in_pkid = RV_IdInter +LEFT JOIN lieu on li_pkid = RV_IdLieu +WHERE RDV_Planning.Archive = 0 AND RDV_Collaborateur.Archive = 0 +] +sCompl+=CritereHF(CMOD_DateDebRDV.INT_Opt,CMOD_DateDebRDV.SAI_Choix,RDV_Collaborateur.RVC_DateDeb..Nom, +df_DateSupEgal) +sCompl+=CritereHF(CMOD_DateFinRDV.INT_Opt,CMOD_DateFinRDV.SAI_Choix,RDV_Collaborateur.RVC_DateFin..Nom, +df_DateInfEgal) +sCompl+=CritereHF(CMOD_SocieteRdv.INT_Opt,CMOD_SocieteRdv.CMB_Choix,RDV_Planning.RV_IdSociete..Nom, +df_Id) +si CMOD_ColbsRDV.INT_Opt _et_ CMOD_ColbsRDV.SAI_Opt <> "" alors +saguid est une chaîne ANSI +pour toute chaîne saID de CMOD_ColbsRDV.SAI_Opt séparé par RC +si SansEspace(saID) <> "" alors +si saguid <> "" alors +saguid += [","] +fin +saguid += "'"+saID+"'" +fin +fin +si saguid <> "" alors +sCompl += " AND RDV_Collaborateur.RVC_GUID_Colb IN ("+saguid+")" +fin +fin +si CMOD_TypeRDV.INT_Opt _et_ CMOD_TypeRDV.SAI_Opt <> "" alors +saTyp est une chaîne ANSI +pour toute chaîne saID de CMOD_TypeRDV.SAI_Opt séparé par RC +si SansEspace(saID) <> "" alors +si saTyp <> "" alors +saTyp += [","] +fin +saTyp += "'"+saID+"'" +fin +fin +06/08/2026 Batik 3928 + +Partie 3 › Fenêtre WINDEV › FEN_ExportExcel › Procédures +si saTyp <> "" alors +sCompl += " AND RDV_Planning.RV_CleType IN ("+saTyp+")" +fin +fin +si SansEspace(sCompl) = "" alors +Info("Veuillez sélectionner au moins un critère") +retour +sinon +//sAREQ += "WHERE "+sCompl[[4 À ]] +sAREQ += sCompl +sdDonnees est une Source de Données +si HExécuteRequêteSQL(sdDonnees,hRequêteDéfaut,sAREQ) alors +ConstruitTableFichier(TABLE_Info,sdDonnees,taRemplirTable) +ToastAffiche(sdDonnees.NbEnr() + " Enregistrements trouvés", toastCourt, cvMilieu, chCentre) +sinon +Erreur("Un erreur est survenu ",HErreurInfo()) +retour +fin +fin +06/08/2026 Batik 3929 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Image +FI_Planning +Image +FI_Planning +Informations générales +FI_Planning +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_Planning.wdw +Créé par SMR +Date de création 04/06/2025 13:53:15 +Dernière modification par susana@applilogik.fr +06/08/2026 Batik 3930 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations générales +| Date dernière modification | | 06/03/2026 09:41:26 | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | --- | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 1150 | 650 | +| Position X | Position Y | | Largeur | Hauteur | | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 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 | | Windows 11 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 3931 | + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations générales +| Assombri quand inactif | | Oui | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | +Déplace souris sur bouton par +Non +| Compact. barres outils | | Non | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | +Statistiques de la fenêtre +| | Image | | 2 | Fenêtre interne | | 1 | +| --- | -------- | --- | --- | --------------- | --- | --- | +| | Planning | | 1 | | | | +Nombre d'éléments dans la fenêtre : 4 +FI_Planning +Informations sur les champs +Fenêtre : FI_Planning +Fenêtre interne +BAT ehcuoT +laitini tatE +| | | X noitisoP Y noitisoP | | | | | +| --- | --- | --------------------- | ------- | ------- | --- | --- | +| | | | ruegraL | ruetuaH | | | +elbisiV +nalP +| FI_Planning | | 0 | 0 1150 | 650 | 0 | | +| ----------- | --- | --- | ------ | --- | --- | --- | +Fenêtre interne : FI_Planning +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | sucof cevA | +| --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +ruegraL ruetuaH cilc cevA +elbisiV +nalP +| IMG_Déroulé | | -158 86 | 18 18 | 0 | Actif | | +| ----------- | --- | ------- | ----- | --- | ----- | ---- | +| IMG_Enroulé | | -179 86 | 18 18 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | 3932 | + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Planning +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| PLN_AGD | 0 | 0 1150 | 650 | 0 | Actif | | +| ------- | --- | ------ | --- | --- | ----- | --- | +Fenêtre : FI_Planning +Fenêtre interne : FI_Planning +| UI par l'utilisateur Selon fenêtre | | | | | | | +| ----------------------------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur 0 | | | | | | | +| Taux Paral. Y 0 | | | | | | | +| Épinglé Non | | | | | | | +| Masquer lors du scrolling Non | | | | | | | +| Ancrage au contenu <Aucun> | | | | | | | +| Numéro aide 0 | | | | | | | +| Thème destination Oui | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement 0 | | | | | | | +| ---------------------------- | --- | --- | --- | --- | --- | --- | +| Facteur d'agrandissement 0 | | | | | | | +| Ctx. HFSQL indép. Non | | | | | | | +| Ancrage <Aucun> | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Planning +Image : FI_Planning.IMG_Déroulé +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Déroulé.png +| Curseur survol 0 | | | | | | | +| ---------------------------------------------------------- | --- | ----- | --- | --- | --- | ---- | +| UI par l'utilisateur Selon fenêtre | | | | | | | +| Menu manip. image <Aucun menu> | | | | | | | +| Taux Paral. hauteur 0 | | | | | | | +| Taux Paral. Y 0 | | | | | | | +| Épinglé Non | | | | | | | +| Masquer lors du scrolling Non | | | | | | | +| Cadrage vert. Haut | | | | | | | +| Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) | | | | | | | +| Numéro aide 0 | | | | | | | +| 06/08/2026 | | Batik | | | | 3933 | + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +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 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 : FI_Planning.IMG_Enroulé +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Enroulé.png +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage vert. Haut +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +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 Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 3934 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Planning : FI_Planning.PLN_AGD +Libellé FR: Planning +Ordre navigation 1 +Curseur survol 32512 +UI par l'utilisateur Selon fenêtre +Fenêtre Interne FI_RDV +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne 45 +Largeur ressources auto. Non +Largeur entête ressources 120 +Largeur/hauteur minimale d'une 80 +Largeur/hauteur min journée 585 +Nb jours selon taille Agrandir les jours +Hauteur rupture jours 27 +Hauteur journée entière 35 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +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 +Édition Rdv par simple clic Oui +Ancrer ressources Oui +Journée entière Non +Boutons période Non +Numéro semaine Oui +Semaine ISO8601 Oui +Affiche heures Oui +Affiche mois Oui +Autorise chevauchement Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Granularité de déplacement 60 +Granularité de durée 60 +Mode Aff. Planning Ressources en ligne +Mode Nb jours Semaine sur 7 jours +Nb. jours (Mode libre) 3 +Masque date FR: JJj JJ +Masque heure FR: HH +Rendez-vous continu Oui +Premier jour semaine Lundi +06/08/2026 Batik 3935 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Informations sur les champs +Chevauche rendez-vous Décalage +Rendez-vous redim. Oui +Rendez-vous déplaçable Oui +Heure visible début 0700 +Heure visible fin 2000 +Heure ouvrable début 0800 +Heure ouvrable fin 1800 +Sélection de périodes Oui +Autorise le changement de Non +Réglette modifiable Oui +Réglette visible Non +Source de remplissage Mémoire +Nb. Enreg. Max -1 +Suppr. dans source Oui +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 +FI_Planning +Code des champs +Déclarations globales de FI_Planning +procédure FI_Planning() +nIdRdvEnCours est un entier sur 8 octets +hHDO,hHFO sont des Heures +hHDV,hHFV sont des Heures +nGranularite est un entier = CollaborateurEnCours:clUtilisateur:GranulariteRDV() +(hHDO,hHFO) = CollaborateurEnCours:clUtilisateur:HeuresOuvrablesRDV() +(hHDV,hHFV) = CollaborateurEnCours:clUtilisateur:HeuresVisiblesRDV() +Fin d'initialisation de FI_Planning +FEN_Agenda.MaJDatesPLN() +Initialisation de PLN_AGD +PLN_AGD..GranularitéDurée = nGranularite +PLN_AGD..GranularitéDéplacement = nGranularite +PLN_AGD.HeureOuvrableDébut = hHDO +PLN_AGD.HeureOuvrableFin = hHFO +PLN_AGD.HeureAffichée(hHDV,hHFV) +Avant création du rendez-vous dans PLN_AGD +06/08/2026 Batik 3936 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Code des champs +procédure AvantCréation(rdvCréé est un RendezVous) +renvoyer FEN_Agenda.OuvreFicheRDV(rdvCréé) +Entrée en saisie d'un rendez-vous de PLN_AGD +procédure EntréeEnSaisie(rdvEdité est un RendezVous) +renvoyer Faux +Sortie de saisie du rendez-vous de PLN_AGD +procédure SortieDeSaisie(rdvModifié est un RendezVous) +renvoyer Faux +Sélection d'un rendez-vous de PLN_AGD +procédure Sélection(rdvSélectionné est un RendezVous) +FEN_Agenda.gnIdRvdSel = rdvSélectionné.ID +Déplacement d'un rendez-vous dans PLN_AGD +procédure Déplacement(rdvDéplacé est un RendezVous) +//sablier(vrai) +//ModifierRDVPlanningHeures(rdvDéplacé) +//sablier(faux) +renvoyer Faux +Redimensionnement d'un rendez-vous de PLN_AGD +procédure Redimensionnement(rdvRedimensionné est un RendezVous) +Sablier(Vrai) +ModifierRDVHeures(rdvRedimensionné) +//ModifierRDVPlanningHeures(rdvRedimensionné) +Sablier(Faux) +renvoyer Faux +Suppression d'un rendez-vous de PLN_AGD +procédure Suppression(rdvSupprimé est un RendezVous) +SupprimerRDV(rdvSupprimé) +//ArchiverRDV(rdvSupprimé) +renvoyer Faux +Réaffectation d'un rendez-vous dans PLN_AGD +procédure DéplacementRessource(rdvRessourceDéplacé est un RendezVous) +Survol souris (WM_MOUSEMOVE) sur PLN_AGD +// GESTION DU CURSEUR +// Récupère l'identifiant de la ressource survolée +sIdRessource est une chaîne = PlanningInfoXY(MoiMême, plnRessource, SourisPosX(), SourisPosY()) +selon PlanningEtatRessource(MoiMême..NomComplet, sIdRessource) +// Il s'agit d'un groupe ("rupture") +cas FEN_Agenda.ressEnroulée, FEN_Agenda.ressDéroulée +// Empêche la sélection de période +MoiMême..SélectionPériode = Faux +// Si le clic gauche est enfoncé +06/08/2026 Batik 3937 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Code des champs +si FEN_Agenda.gbDeplacementEnCours alors +// Change le curseur en curseur interdit +MoiMême..CurseurSouris = curInterdit +sinon +// Si le survol est sur la zone de ressource (à gauche) +si SourisPosX() <= FEN_Agenda.gnLargeurRessource _et_ SourisPosY() > FEN_Agenda.gn +HauteurJour alors +// Positionne le curseur main (pour indiquer qu'un clic est possible +MoiMême..CurseurSouris = curMainSystème +sinon // Si le survol et sur la zone des rendez-vous +// Positionne le curseur par défaut +MoiMême..CurseurSouris = curFlèche +fin +fin +// Il s'agit d'une personne (ressource "non rupture") +cas FEN_Agenda.ressErreur +// Active la sélection de période +MoiMême..SélectionPériode = Vrai +// Si le survol est sur la zone de ressource (à gauche) +si SourisPosX() <= FEN_Agenda.gnLargeurRessource _et_ SourisPosY() > FEN_Agenda.gnHauteurJour +alors +// Positionne le curseur main (pour indiquer qu'un clic est possible +MoiMême..CurseurSouris = curMainSystème +sinon // Si le survol et sur la zone des rendez-vous +// Positionne le curseur par défaut +MoiMême..CurseurSouris = curFlèche +fin +autres cas +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de PLN_AGD +gsaNomChampEnCours = MoiMême..NomComplet +// Bouton gauche enfoncé = un déplacement est en cours +FEN_Agenda.gbDeplacementEnCours = Vrai +// Récupère l'identifiant (glien) de la ressource cliquée +sIDRessource est une chaîne = PlanningInfoXY(MoiMême, plnRessource, SourisPosX(), SourisPosY()) +// Si le clic est réalisé sur la zone de ressource +si SourisPosX() <= FEN_Agenda.gnLargeurRessource _et_ SourisPosY() > FEN_Agenda.gnHauteurJour alors +// Selon le type de ressource (rupture ou non) et l'état d'enroulement +selon PlanningEtatRessource(MoiMême..NomComplet, sIDRessource) +// Il s'agit d'un groupe ("rupture") +cas FEN_Agenda.ressEnroulée, FEN_Agenda.ressDéroulée +06/08/2026 Batik 3938 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Code des champs +// Inverse l'état d'enroulement +PlanningInverseEtatRessource(PLN_AGD..NomComplet, sIDRessource) +// Mémorise la ressource actuellement affichée (pour repositionner le planning dessus) +FEN_Agenda.gsRessourceAffichée = PlanningPositionRessource(PLN_AGD) +// Remplit à nouveau le planning +FiltreRessources() +// Il s'agit d'une personne (ressource "non rupture") +cas FEN_Agenda.ressErreur +fin +fin +Bouton gauche relâché (WM_LBUTTONUP) de PLN_AGD +// Bouton gauche relâché = fin de déplacement +FEN_Agenda.gbDeplacementEnCours = Faux +// Positionne le curseur par défaut +MoiMême..CurseurSouris = curFlèche +Entrée en survol de PLN_AGD +// Bouton gauche relâché = fin de déplacement +FEN_Agenda.gbDeplacementEnCours = Faux +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur PLN_AGD +FEN_Agenda.OuvreFicheRDV() +FI_Planning +Procédures +Procédure locale FiltreRessources +procédure FiltreRessources() +PLN_AGD..AffichageActif = Faux +PlanningSupprimeTout(PLN_AGD) +tabRessources est un tableau de RessourceColb +FiltreRessourcesPLN(FEN_Agenda.gstChoixColbAgd,tabRessources) +TableauSupprimeTout(FEN_Agenda.gtabIdColb) +sIDEq est une chaîne ANSI +sNomColb est une chaîne ANSI +sIdColb est une chaîne ANSI +si gtabListeCollaborateurs..Occurrence > 0 alors +06/08/2026 Batik 3939 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +si pas FEN_Agenda.gstChoixColbAgd.bAffichageParEq alors +pour tout stRess de tabRessources +si stRess.bEq alors +pour tout stClb de stRess.Colb +si stClb.nId > 0 alors +si gtabListeCollaborateurs[stClb.nId]..Existe alors +sNomColb= gtabListeCollaborateurs[stClb.nId].NomPrenom() +RC+"("+ +gtabListeCollaborateurs[stClb.nId].saTrigramme+")" +// La personne est identifiée par P[ESC]<IDCollaborateur> +sIDEq = "E" +ESC+ 0+stClb.nId +sIdColb = "P" +ESC+stClb.nId +PlanningAjouteRessourceRupture(PLN_AGD..NomComplet, gLien(sIDEq) + "("+ +gtabListeCollaborateurs[stClb.nId].saTrigramme+")", (*)) +si PlanningAjouteRessourceFille(PLN_AGD..NomComplet,sIDEq, sNomColb + +gLien(sIdColb), stRess.saCouleur) > 0 alors +TableauAjoute(FEN_Agenda.gtabIdColb,stClb.nId) +fin +fin +fin +fin +sinon +si stRess.nIdColb > 0 alors +si gtabListeCollaborateurs[stRess.nIdColb]..Existe alors +sNomColb= gtabListeCollaborateurs[stRess.nIdColb].NomPrenom() +RC+"("+ +gtabListeCollaborateurs[stRess.nIdColb].saTrigramme+")" +// La personne est identifiée par P[ESC]<IDCollaborateur> +sIdColb = "P" +ESC+stRess.nIdColb +sIDEq = "E" +ESC+ 0+stRess.nIdColb +PlanningAjouteRessourceRupture(PLN_AGD..NomComplet, gLien(sIDEq) + "("+ +gtabListeCollaborateurs[stRess.nIdColb].saTrigramme+")", ( *)) +si PlanningAjouteRessourceFille(PLN_AGD..NomComplet,sIDEq, sNomColb + gLien( +sIdColb)) > 0 alors +TableauAjoute(FEN_Agenda.gtabIdColb,stRess.nIdColb) +fin +fin +fin +fin +fin +sinon +pour tout stRess de tabRessources +si stRess.bEq alors +sIDEq = "E" +ESC+ stRess.nIdEq +// Ajoute l’équipe +PlanningAjouteRessourceRupture(PLN_AGD..NomComplet, gLien(sIDEq) + stRess.sNomEq, +stRess.saCouleur) +pour tout stClb de stRess.Colb +si stClb.nId > 0 alors +si gtabListeCollaborateurs[stClb.nId]..Existe alors +sNomColb= gtabListeCollaborateurs[stClb.nId].NomPrenom()+RC+"("+ +gtabListeCollaborateurs[stClb.nId].saTrigramme+")" +// La personne est identifiée par P[ESC]<IDCollaborateur> +sIdColb = "P" +ESC+stClb.nId +// Ajoute la personne +si PlanningAjouteRessourceFille(PLN_AGD..NomComplet, sIDEq, sNomColb + +gLien(sIdColb), stRess.saCouleur) > 0 alors +TableauAjoute(FEN_Agenda.gtabIdColb,stClb.nId) +fin +fin +fin +06/08/2026 Batik 3940 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +fin +sinon +si stRess.nIdColb > 0 alors +si gtabListeCollaborateurs[stRess.nIdColb]..Existe alors +sNomColb= gtabListeCollaborateurs[stRess.nIdColb].NomPrenom()+RC+"("+ +gtabListeCollaborateurs[stRess.nIdColb].saTrigramme+")" +// La personne est identifiée par P[ESC]<IDCollaborateur> +sIdColb = "P" +ESC+stRess.nIdColb +sIDEq = "E" +ESC+ 0+stRess.nIdColb +// Ajoute la personne +PlanningAjouteRessourceRupture(PLN_AGD..NomComplet, gLien(sIDEq) + "("+ +gtabListeCollaborateurs[stRess.nIdColb].saTrigramme+")", ( *)) +si PlanningAjouteRessourceFille(PLN_AGD..NomComplet, sIDEq, sNomColb + gLien( +sIdColb)) > 0 alors +TableauAjoute(FEN_Agenda.gtabIdColb,stRess.nIdColb) +fin +fin +fin +fin +fin +fin +PlanningChargeRDVS(FEN_Agenda.CFI_PLG.PLN_AGD..NomComplet,FEN_Agenda.gstPrefUserAGD,FEN_Agenda.gtab +IdColb,FEN_Agenda.gdhDateD,FEN_Agenda.gdhDateF,"P" +ESC) +fin +// Réactive l'affichage du champ +PLN_AGD..AffichageActif = Vrai +Procédure locale PlanningAjouteRessourceFille +procédure PlanningAjouteRessourceFille(local sNomChampPlanning est une chaîne, local sIDParent est une +chaîne, local sRessource est une chaîne, local Couleur est un Couleur = Null) : entier +nIndice est un entier +sLibelléest une chaîne +sID est une chaîne +// Le champ Planning doit exister +si ChampExiste(sNomChampPlanning) = Faux alors +ErreurConstruit("Le champ Planning %1 n'existe pas", sNomChampPlanning) +renvoyer -1 +fin +// Définit le libellé et l'identifiant de la ressource (si la ressource précisée contient un gLien) +si Position(sRessource, ESC+"K") > 0 alors +// Récupère le libellé et l'identifiant (gLien) en fonction de la position du gLien +si ExtraitChaîne(sRessource, 1, ESC+"K") ~= "" alors +// Libellé +sLibellé = ExtraitChaîne(sRessource, 3, ESC+"K") +// Identifiant +sID = ExtraitChaîne(sRessource, 2, ESC+"K") +sinon +// Libellé +sLibellé = ExtraitChaîne(sRessource, 1, ESC+"K") +// Identifiant +sID = ExtraitChaîne(sRessource, 2, ESC+"K") +fin +sinon // pas de gLien +// Le libellé et l'identifiant sont identiques +06/08/2026 Batik 3941 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +sID = sRessource +sLibellé= sRessource +fin +// Mémorise pour le couple parent / fille +FEN_Agenda.gtaRessourceFille[sID] = sIDParent +// Si le parent est enroulé, la ressource n'est pas ajoutée au planning +si FEN_Agenda.gtaEnroulementRupture[sIDParent] = Faux alors renvoyer -1 +nIdColb est un entier sur 8 octets = Val(Remplace(sID,[ESC,"P","K"],"")) +sRessource = PlanningRessourceNom(gtabListeCollaborateurs[nIdColb].saGUID,sRessource) +nIndice = PlanningAjouteRessource(sNomChampPlanning, sRessource) +//PLN_AGD.Ressource[1]. = RougeClair +si Couleur <> Null alors +dhDateDeb est une DateHeure +dhDateFin est une DateHeure +dhDateDeb..PartieDate= PlanningPositionDateHeure(PLN_AGD,agDateDébut) +dhDateFin..PartieDate= PlanningPositionDateHeure(PLN_AGD,agDateFin) +dhDateFin..Jour += 1 +dhDateDeb..PartieHeure = "000000000" +dhDateFin..PartieHeure = "000000000" +//PlanningCouleurFond(PLN_AGD,dhDateDeb,dhDateFin,sID,Couleur) +fin +renvoyer nIndice +Procédure locale PlanningAjouteRessourceRupture +procédure PlanningAjouteRessourceRupture(local sNomChampPlanning est une chaîne, local sRessource est +une chaîne, local nCouleur est un entier = RVB(190, 191, 191)) : entier +nIndice est un entier +sID est une chaîne +sLibelléest une chaîne +// Le champ Planning doit exister +si ChampExiste(sNomChampPlanning) = Faux alors +ErreurConstruit("Le champ Planning %1 n'existe pas", sNomChampPlanning) +renvoyer -1 +fin +// Définit le libellé et l'identifiant de la ressource (si la ressource précisée contient un gLien) +si Position(sRessource, ESC+"K") > 0 alors +// Récupère le libellé et l'identifiant (gLien) en fonction de la position du gLien +si ExtraitChaîne(sRessource, 1, ESC+"K") ~= "" alors +// Libellé +sLibellé = ExtraitChaîne(sRessource, 3, ESC+"K") +// Identifiant +sID = ExtraitChaîne(sRessource, 2, ESC+"K") +sinon +// Libellé +sLibellé = ExtraitChaîne(sRessource, 1, ESC+"K") +// Identifiant +sID = ExtraitChaîne(sRessource, 2, ESC+"K") +fin +sinon // pas de gLien +06/08/2026 Batik 3942 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +// Le libellé et l'identifiant sont identiques +sID = sRessource +sLibellé= sRessource +fin +// Ajoute la ressource +nIndice = PlanningAjouteRessource(sNomChampPlanning, sRessource) +// Modifie l'affichage du groupe pour "simuler" une rupture (hauteur réduite, couleur différente) +{sNomChampPlanning, indChamp}..Ressource[sID]..Hauteur = 20 +{sNomChampPlanning, indChamp}..Ressource[sID]..CouleurFond = nCouleur +MaPalette est une Palette = PaletteGénère(nCouleur) +{sNomChampPlanning, indChamp}..Ressource[sID]..CouleurFondTitre = nCouleur +// S'il s'agit du premier chargement : mémorise la "rupture" comme déroulée par défaut +si FEN_Agenda.gtaEnroulementRupture[sID]..Vide alors FEN_Agenda.gtaEnroulementRupture[sID] = Vrai +// Selon l'enroulement de la "rupture" à appliquer +selon FEN_Agenda.gtaEnroulementRupture[sID] +// Déroulée +cas Vrai +// Ajoute un picto déroulé au titre +{sNomChampPlanning, indChamp}..Ressource[sID]..Titre = gImage(IMG_Déroulé,imgCentré) +" "+ +gStylo(MaPalette.Couleur["primary_text"])+sLibellé +//{sNomChampPlanning, indChamp}..Ressource[sID]..Titre = +gCadrage("CH",gPoliceTaille(15)+gPoliceGras(Vrai)+gStylo(MaPalette.Couleur["primary_text"])+" ^ +"+gPoliceTaille(10)+gPoliceGras(faux)+sLibellé) +// Enroulée +cas Faux +// Ajoute un picto enroulé au titre +{sNomChampPlanning, indChamp}..Ressource[sID]..Titre = gImage(IMG_Enroulé,imgCentré) +" "+ +gStylo(MaPalette.Couleur["primary_text"])+sLibellé +//{sNomChampPlanning, indChamp}..Ressource[sID]..Titre = +gCadrage("CH",gPoliceTaille(11)+gPoliceGras(Vrai)+gStylo(MaPalette.Couleur["primary_text"])+" v +"+gPoliceTaille(10)+gPoliceGras(Faux)+sLibellé) +fin +renvoyer nIndice +Procédure locale PlanningEtatRessource +procédure PlanningEtatRessource(local sNomChampPlanning est une chaîne, local sIDRessource est une +chaîne) : FEN_Agenda.EEtatRessource +// Le champ Planning doit exister +si ChampExiste(sNomChampPlanning) = Faux alors +ErreurConstruit("Le champ Planning %1 n'existe pas", sNomChampPlanning) +renvoyer FEN_Agenda.ressErreur +fin +// Si la ressource n'est pas trouvée dans le tableau +si FEN_Agenda.gtaEnroulementRupture[sIDRessource]..Vide alors +// Ressource non rupture +renvoyer FEN_Agenda.ressErreur +fin +// Renvoie l'état d'enroulement +06/08/2026 Batik 3943 + +Partie 3 › Fenêtre WINDEV › FI_Planning › Procédures +selon FEN_Agenda.gtaEnroulementRupture[sIDRessource] +// Enroulée +cas Faux : renvoyer FEN_Agenda.ressEnroulée +// Déroulée +cas Vrai : renvoyer FEN_Agenda.ressDéroulée +fin +cas erreur: +renvoyer FEN_Agenda.ressErreur +Procédure locale PlanningInverseEtatRessource +procédure PlanningInverseEtatRessource(local sNomChampPlanning est une chaîne, local sIDRessource est +une chaîne) : booléen +// Le champ Planning doit exister +si ChampExiste(sNomChampPlanning) = Faux alors +ErreurConstruit("Le champ Planning %1 n'existe pas", sNomChampPlanning) +renvoyer Faux +fin +// Si la ressource n'est pas trouvée dans le tableau +si FEN_Agenda.gtaEnroulementRupture[sIDRessource]..Vide alors +// Ressource non rupture +renvoyer Faux +fin +// Inverse l'état +FEN_Agenda.gtaEnroulementRupture[sIDRessource] = pas FEN_Agenda.gtaEnroulementRupture[sIDRessource] +// Modification effective +renvoyer Vrai +06/08/2026 Batik 3944 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Image +FI_Agenda +Image +FI_Agenda +Informations générales +FI_Agenda +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_Agenda.wdw +Créé par SMR +Date de création 04/06/2025 15:31:56 +Dernière modification par susana@applilogik.fr +Date dernière modification 06/03/2026 09:40:45 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +06/08/2026 Batik 3945 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Informations générales +| Position X | 0 Position Y | | 0 Largeur | 982 Hauteur | 586 | +| --------------------- | ------------ | -------------------- | --------- | --------------- | --- | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 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 | | Windows 11 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 3946 | + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Informations générales +Statistiques de la fenêtre +| | Fenêtre interne | | 1 | Planning | | | 1 | +| --- | --------------- | --- | --- | -------- | --- | --- | --- | +Nombre d'éléments dans la fenêtre : 2 +FI_Agenda +Informations sur les champs +Fenêtre : FI_Agenda +Fenêtre interne +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FI_Agenda | | 0 | 0 982 | 586 | 0 | | | +| --------- | --- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_Agenda +Planning +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| PLN_AGD | | 0 | 0 982 | 586 | 0 | Actif | | +| ------- | --- | --- | ----- | --- | --- | ----- | --- | +Fenêtre : FI_Agenda +| 06/08/2026 | | | Batik | | | | 3947 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Informations sur les champs +Fenêtre interne : FI_Agenda +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Agenda +Planning : FI_Agenda.PLN_AGD +Libellé FR: Planning +Ordre navigation 1 +Curseur survol 32512 +UI par l'utilisateur Selon fenêtre +Fenêtre Interne FI_RDV +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne 26 +Largeur ressources auto. Non +Largeur entête ressources 23 +Largeur/hauteur minimale d'une 200 +Largeur/hauteur min journée 404 +Nb jours selon taille Agrandir les jours +Hauteur rupture jours 27 +Hauteur journée entière 35 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Batik 3948 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Édition Rdv par simple clic Oui +Ancrer ressources Oui +Journée entière Non +Boutons période Non +Numéro semaine Non +Semaine ISO8601 Non +Affiche heures Oui +Affiche mois Non +Autorise chevauchement Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Granularité de déplacement 60 +Granularité de durée 60 +Mode Aff. Planning Ressources en colonne +Mode Nb jours Semaine sur 7 jours +Nb. jours (Mode libre) 3 +Masque date FR: JJJ JJ +Rendez-vous continu Oui +Premier jour semaine Lundi +Chevauche rendez-vous Décalage +Rendez-vous redim. Oui +Rendez-vous déplaçable Oui +Heure visible début 0700 +Heure visible fin 2000 +Heure ouvrable début 0800 +Heure ouvrable fin 1800 +Sélection de périodes Oui +Autorise le changement de Non +Réglette modifiable Oui +Réglette visible Non +Source de remplissage Mémoire +Nb. Enreg. Max -1 +Suppr. dans source Oui +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 +FI_Agenda +Code des champs +Déclarations globales de FI_Agenda +06/08/2026 Batik 3949 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Code des champs +procédure FI_Agenda() +nIdRdvEnCours est un entier sur 8 octets +hHDO,hHFO sont des Heures +hHDV,hHFV sont des Heures +nGranularite est un entier = CollaborateurEnCours:clUtilisateur:GranulariteRDV() +(hHDO,hHFO) = CollaborateurEnCours:clUtilisateur:HeuresOuvrablesRDV() +(hHDV,hHFV) = CollaborateurEnCours:clUtilisateur:HeuresVisiblesRDV() +Fin d'initialisation de FI_Agenda +FEN_Agenda.MaJDatesPLN() +Initialisation de PLN_AGD +PLN_AGD..GranularitéDurée = nGranularite +PLN_AGD..GranularitéDéplacement = nGranularite +PLN_AGD.HeureOuvrableDébut = hHDO +PLN_AGD.HeureOuvrableFin = hHFO +PLN_AGD.HeureAffichée(hHDV,hHFV) +PLN_AGD.LargeurJour = 10 +Avant création du rendez-vous dans PLN_AGD +procédure AvantCréation(rdvCréé est un RendezVous) +renvoyer FEN_Agenda.OuvreFicheRDV(rdvCréé) +Entrée en saisie d'un rendez-vous de PLN_AGD +procédure EntréeEnSaisie(rdvEdité est un RendezVous) +renvoyer Faux +Sortie de saisie du rendez-vous de PLN_AGD +procédure SortieDeSaisie(rdvModifié est un RendezVous) +renvoyer Faux +Sélection d'un rendez-vous de PLN_AGD +procédure Sélection(rdvSélectionné est un RendezVous) +FEN_Agenda.gnIdRvdSel = rdvSélectionné.ID +Déplacement d'un rendez-vous dans PLN_AGD +procédure Déplacement(rdvDéplacé est un RendezVous) +//Sablier(Vrai) +//ModifierRDVHeures(rdvDéplacé) +////ModifierRDVPlanningHeures(rdvDéplacé) +//Sablier(Faux) +renvoyer Faux +Redimensionnement d'un rendez-vous de PLN_AGD +procédure Redimensionnement(rdvRedimensionné est un RendezVous) +Sablier(Vrai) +ModifierRDVHeures(rdvRedimensionné) +//ModifierRDVPlanningHeures(rdvRedimensionné) +Sablier(Faux) +renvoyer Faux +Suppression d'un rendez-vous de PLN_AGD +06/08/2026 Batik 3950 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Code des champs +procédure Suppression(rdvSupprimé est un RendezVous) +SupprimerRDV(rdvSupprimé) +//ArchiverRDV(rdvSupprimé) +renvoyer Faux +Réaffectation d'un rendez-vous dans PLN_AGD +procédure DéplacementRessource(rdvRessourceDéplacé est un RendezVous) +renvoyer Faux +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur PLN_AGD +FEN_Agenda.OuvreFicheRDV() +Bouton gauche enfoncé (WM_LBUTTONDOWN) de PLN_AGD +gsaNomChampEnCours = MoiMême..NomComplet +FI_Agenda +Procédures +Procédure locale FiltreRessources +procédure FiltreRessources() +PLN_AGD..AffichageActif = Faux +// Vide le planning complètement +PlanningSupprimeTout(PLN_AGD) +tabRessources est un tableau de RessourceColb +FiltreRessourcesPLN(FEN_Agenda.gstChoixColbAgd,tabRessources) +sNomColbest une chaîne ANSI +TableauSupprimeTout(FEN_Agenda.gtabIdColb) +si gtabListeCollaborateurs..Occurrence > 0 alors +pour tout stRess de tabRessources +si stRess.bEq alors +pour tout stColb de stRess.Colb +si stColb.nId > 0 alors +si gtabListeCollaborateurs[stColb.nId]..Existe alors +sNomColb= gtabListeCollaborateurs[stColb.nId].NomPrenom() +" ("+ +gtabListeCollaborateurs[stColb.nId].saTrigramme+")"+gLien(stColb.nId) +sRessource est une chaîne ANSI = PlanningRessourceNom(gtabListeCollaborateurs +[stColb.nId].saGUID,sNomColb) +si PlanningAjouteRessource(PLN_AGD, sRessource) alors +TableauAjoute(FEN_Agenda.gtabIdColb,stColb.nId) +fin +fin +fin +fin +sinon +si stRess.nIdColb > 0 alors +si gtabListeCollaborateurs[stRess.nIdColb]..Existe alors +06/08/2026 Batik 3951 + +Partie 3 › Fenêtre WINDEV › FI_Agenda › Procédures +sNomColb= gtabListeCollaborateurs[stRess.nIdColb].NomPrenom()+" ("+ +gtabListeCollaborateurs[stRess.nIdColb].saTrigramme+")"+gLien(stRess.nIdColb) +sRessource est une chaîne ANSI = PlanningRessourceNom(gtabListeCollaborateurs[ +stRess.nIdColb].saGUID,sNomColb) +si PlanningAjouteRessource(PLN_AGD, sRessource) alors +TableauAjoute(FEN_Agenda.gtabIdColb,stRess.nIdColb) +fin +fin +fin +fin +fin +PlanningChargeRDVS(FEN_Agenda.CFI_PLG.PLN_AGD..NomComplet,FEN_Agenda.gstPrefUserAGD,FEN_Agenda.gtab +IdColb,FEN_Agenda.gdhDateD,FEN_Agenda.gdhDateF) +fin +// Réactive l'affichage du champ +PLN_AGD..AffichageActif = Vrai +06/08/2026 Batik 3952 + +Partie 3 › Fenêtre WINDEV › FI_RDV › Image +FI_RDV +Image +FI_RDV +Informations générales +FI_RDV +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_RDV.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 05/06/2025 10:57:49 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 09/10/2025 08:58:53 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 175 Hauteur | 225 | +| 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 | | | | +| 06/08/2026 | | | Batik | | 3953 | + +Partie 3 › Fenêtre WINDEV › FI_RDV › Informations générales +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 2 Image 1 +Forme 1 Fenêtre interne 1 +Nombre d'éléments dans la fenêtre : 5 +FI_RDV +Informations sur les champs +06/08/2026 Batik 3954 + +Partie 3 › Fenêtre WINDEV › FI_RDV › Informations sur les champs +Fenêtre : FI_RDV +Fenêtre interne +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| FI_RDV | | 0 0 | 175 225 | 0 | | | +| ------ | --- | --- | ------- | --- | --- | --- | +Fenêtre interne : FI_RDV +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_Desc | 8 31 | 167 194 | 0 Actif | Gauche | Haut | | +| --------- | ---- | ------- | ------- | ------ | ---- | --- | +| LIB_Titre | 0 0 | 157 31 | 0 Actif | Gauche | Haut | | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------------ | --------- | ---------- | +| | | | ruetuaH | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Groupe | 157 | 7 16 | 16 0 | Actif | | | +| ---------- | --- | ---- | ---- | ----- | --- | --- | +Forme +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| FRM_Etat | | 0 31 | 8 194 | 0 | Actif | | +| ---------- | --- | ----- | ----- | --- | ----- | ---- | +| 06/08/2026 | | Batik | | | | 3955 | + +Partie 3 › Fenêtre WINDEV › FI_RDV › Informations sur les champs +Fenêtre : FI_RDV +Fenêtre interne : FI_RDV +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Thème destination Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_RDV +Forme : FI_RDV.FRM_Etat +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Opacité 100 +Angles arrondis Non +Epaisseur 1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3956 + +Partie 3 › Fenêtre WINDEV › FI_RDV › Informations sur les champs +Image : FI_RDV.IMG_Groupe +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_RDV.LIB_Desc +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 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +06/08/2026 Batik 3957 + +Partie 3 › Fenêtre WINDEV › FI_RDV › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_RDV.LIB_Titre +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 6 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3958 + +Partie 3 › Fenêtre WINDEV › FI_RDV › Code des champs +FI_RDV +Code des champs +Déclarations globales de FI_RDV +procédure FI_RDV(EvenementOuRDV) +//EvenementOuRDV : Rendez-vous ou Evenement a dessiner +// => SourceVersEcran +MaPalette est une Palette +MaPalette = PaletteGénère(EvenementOuRDV.couleurFond) +PaletteChange(FI_RDV,MaPalette) +MaFenêtreInterne..CouleurFond = MaPalette["primary_dark"] +si EvenementOuRDV.Catégorie <> Null _et_ EvenementOuRDV.Catégorie <> "" alors +FRM_Etat..CouleurFond = EvenementOuRDV.Catégorie +FRM_Etat..Couleur = EvenementOuRDV.Catégorie +fin +LIB_Titre = Remplace(Remplace(EvenementOuRDV.Titre," ", " ")," "," ") +LIB_Desc = Remplace(Remplace(EvenementOuRDV.Contenu," ", " ")," "," ") +LIB_Desc..CouleurFond = MaPalette["primary"] +//FRM_Type..Couleur = EvenementOuRDV.note +// Applique la couleur du rendez-vous directement sur la fenêtre interne +//LIB_Fond..cadre..Couleur = MaPalette.Couleur["container_background"] +//LIB_Titre..Couleur = MaPalette.Couleur["primary_text"] +//LIB_Desc..Couleur = MaPalette.Couleur["primary_text"] +IMG_Groupe..CouleurFond = MaPalette["primary_dark"] +si EvenementOuRDV.Image <> Null _et_ EvenementOuRDV.image <> "" alors +IMG_Groupe..Valeur = EvenementOuRDV.Image +sinon +IMG_Groupe..Visible = Faux +fin +Initialisation de LIB_Desc +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_Titre +// Version 1 +// Description +// Libellé simple +06/08/2026 Batik 3959 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Image +FI_Liste_Collaborateurs +Image +FI_Liste_Collaborateurs +Informations générales +FI_Liste_Collaborateurs +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_Liste_Collaborateurs.wdw +Créé par SMR +06/08/2026 Batik 3960 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations générales +| Date de création | | 12/06/2025 11:11:24 | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 24/03/2026 16:06:48 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1200 Hauteur | 700 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 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 | | Windows 11 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 3961 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations générales +| Durée Anim. Fermeture | 50 | | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | +| Adapte Taille contenu | Non | | | | | | +| Assombri quand inactif | Oui | | | | | | +| Déplace souris sur bouton par | Non | | | | | | +| Compact. barres outils | Non | | | | | | +Statistiques de la fenêtre +| | Champ de saisie | | 5 | Libellé | | 2 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | +| | Interrupteur | | 13 | Image | | 5 | +| | Table | | 1 | Combo | | 9 | +| | Séparateur | | 1 | Fenêtre interne | | 1 | +| | Superchamp | | 2 | Champ Modèle de champs | | 21 | +| | Option d'interrupteur | | 13 | Option de menu | | 4 | +| | Colonne de table | | 12 | | | | +Nombre d'éléments dans la fenêtre : 89 +FI_Liste_Collaborateurs +Informations sur les champs +Fenêtre : FI_Liste_Collaborateurs +Fenêtre interne +BAT ehcuoT +X noitisoP Y noitisoP laitini tatE +ruetuaH +ruegraL +elbisiV +nalP +| FI_Liste_Collaborateurs | | 0 | 0 1200 | 700 | 0 | | +| ----------------------- | --- | --- | ------ | --- | --- | --- | +Fenêtre interne : FI_Liste_Collaborateurs +| 06/08/2026 | | | Batik | | | 3962 | +| ---------- | --- | --- | ----- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Séparateur +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SPLIT_Dossier | 172 | 0 7 | 700 | 0 | Actif | | +| ------------- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Colb | 4 | 3 168 | 322 | 0 | Actif | | +| -------------- | ---- | ------- | --- | --- | ----- | --- | +| CMOD_DateModif | 510 | 3 270 | 30 | 0 | Actif | | +| CMOD_Effacer | 187 | 2 37 | 31 | 0 | Actif | | +| CMOD_Filtre | 1157 | 3 37 | 31 | 0 | Actif | | +| CMOD_NbLigne | 232 | 3 270 | 30 | 0 | Actif | | +| CMOD_Options | 1112 | 3 37 | 31 | 0 | Actif | | +| CMOD_Societe | 4 | 333 168 | 180 | 0 | Actif | | +| CMOD_Table | 187 | 39 1007 | 655 | 0 | Actif | | +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_Div | 8 | 8 159 | 311 | 0 | Actif | | +| ------ | --- | ----- | --- | --- | ----- | --- | +Superchamp : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | ------- | --- | ------------ | --------- | ---------- | +| | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Titre | 14 14 | 18 20 | 0 | Actif | | | +| ---------- | ----- | ----- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | 3963 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Actif | | | 9 | 280 | 153 | 30 | | 0 | Actif | | +| ------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_AuPl | | | 9 | 162 | 153 | 30 | | 0 | Actif | | +| CMOD_BO | | | 9 | 222 | 153 | 30 | | 0 | Actif | | +| CMOD_Fonction | | | 9 | 132 | 153 | 30 | | 0 | Actif | | +| CMOD_Mob | | | 8 | 251 | 154 | 30 | | 0 | Actif | | +| CMOD_Nom | | | 9 | 42 | 153 | 30 | | 0 | Actif | | +| CMOD_Prenom | | | 9 | 72 | 153 | 30 | | 0 | Actif | | +| CMOD_Profil | | | 8 | 192 | 154 | 30 | | 0 | Actif | | +| CMOD_Titre | | | 40 | 11 | 122 | 26 | | 0 | Actif | | +| CMOD_TriG | | | 9 | 102 | 153 | 30 | | 0 | Actif | | +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Actif +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| INT_Opt | | 9 | 285 | 20 | 20 | 0 | Actif | | 1 | | +| ------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | +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_Choix | 37 | 281 125 | 29 | 0 | Actif | Mémoire | | Non | | | +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_AuPl +| 06/08/2026 | | | | Batik | | | | | | 3964 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| INT_Opt | | 9 167 | 20 | 20 | 0 | Actif | | 1 | | +| ------- | --- | ----- | --- | --- | --- | ----- | --- | --- | --- | +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_Choix | 37 | 163 125 29 | 0 | Actif | Mémoire | | Non | | | +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_BO +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| INT_Opt | | 9 227 | 20 | 20 | 0 | Actif | | 1 | | +| ------- | --- | ----- | --- | --- | --- | ----- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | | eriotagilbo eisiaS | | ruesnecsa elluB .zroH tnemeliféD | +| --- | ---------- | --- | --- | ------------ | ---------- | ----------- | ------------------ | ------------ | -------------------------------- | +| | | | | | BAT ehcuoT | | | ediv is LLUN | | +| | X noitisoP | | | laitini tatE | | eisias cevA | | | | +| | Y noitisoP | | | | | sruocraP | | | | +ruegraL ruetuaH +elbisiV +| | | | nalP | | elbaT | eéirT | | | | +| ---------- | --- | ---------- | ----- | ----- | ------- | ----- | --- | --- | ---- | +| CMB_Choix | 37 | 223 125 29 | 0 | Actif | Mémoire | | Non | | | +| 06/08/2026 | | | Batik | | | | | | 3965 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs : +FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Fonction +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_Choix | 37 132 | 125 30 0 | Actif Texte | | Non | | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | BAT ehcuoT | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | ---------- | ----------- | +| | | X noitisoP Y noitisoP | | | laitini tatE | | | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 9 137 | 20 20 | 0 | Actif | 1 | | +| ------- | --- | ----- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Mob +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | | | | laitini tatE | | staté siorT | +| --- | --- | --- | --- | --- | ------------ | --- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 8 256 | 20 20 | 0 | Actif | 1 | | +| ------- | --- | ----- | ----- | --- | ----- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | ------------------ | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | | +| --- | --------------------- | --------------- | ------------ | ---------- | ----------- | --- | --- | +| | X noitisoP Y noitisoP | | laitini tatE | | | | | +| | | ruegraL ruetuaH | | | sruocraP | | | +elbisiV +| | | | | elbaT | eéirT | | | +| --- | --- | --- | --- | ----- | ----- | --- | --- | +nalP +| CMB_Choix | 36 | 252 126 29 | 0 Actif | Mémoire | | Non | | +| ---------- | --- | ---------- | ------- | ------- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | 3966 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Nom +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_Choix | 37 42 | 125 30 0 | Actif Texte | | Non | | +| --------- | ----- | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT staté siorT +| | | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 9 47 | 20 20 | 0 | Actif | 1 | +| ------- | --- | ---- | ----- | --- | ----- | --- | +Champ Modèle de champs : +FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Prenom +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 | | | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| SAI_Choix | 37 72 | 125 30 0 | Actif Texte | | Non | | +| --------- | ----- | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +BAT ehcuoT sennoloc .bN +| | | | | | laitini tatE | staté siorT | +| --- | --- | --- | --- | --- | ------------ | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 9 77 | 20 20 | 0 | Actif | 1 | +| ---------- | --- | ---- | ----- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | 3967 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Profil +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | | | laitini tatE | BAT ehcuoT | | | staté siorT | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ---------- | --- | --- | ----------- | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| INT_Opt | | | 8 197 | 20 | 20 | | 0 | Actif | | | 1 | | +| ------- | --- | --- | ----- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | +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_Choix | 36 | 192 | 126 | 31 | 0 Actif | | Mémoire | | | Non | | | +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Titre +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | | | | +elbisiV +nalP +| LIB_lib | | 40 | 11 | 122 | 26 | 0 | | Actif | Gauche | Centre | | | +| ------- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ------ | --- | --- | +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_TriG +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 | | | | | | +ruetuaH +| | | ruegraL | | elbisiV | | | | | | | | | +| --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_Choix | 37 102 | 125 | 30 | 0 | Actif | Texte | | Non | | | | | +| ---------- | ------ | --- | --- | --- | ----- | ----- | --- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | | Batik | | | | | | | 3968 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | ruegraL | elbisiV | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +nalP +| INT_Opt | | 9 107 | 20 20 | 0 | Actif | | 1 | | +| ------- | --- | ----- | ----- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_DateModif +Interrupteur +ellennoitroporp .loC +| | | | | | | BAT ehcuoT sennoloc .bN | | | +| --- | --- | --------------------- | --- | --- | ------------ | ----------------------- | --- | ----------- | +| | | | | | laitini tatE | | | staté siorT | +| | | X noitisoP Y noitisoP | | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 510 8 | 20 20 | 0 | Actif | | 1 | | +| ------- | --- | ----- | ----- | --- | ----- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | | | +| --- | ---------- | ---------- | ------------ | ---------- | ----------- | --- | --- | --- | +| | X noitisoP | Y noitisoP | laitini tatE | | | | | | +| | | ruetuaH | | | sruocraP | | | | +| | | ruegraL | elbisiV | | | | | | +elbaT +| | | | nalP | | eéirT | | | | +| --------- | --- | -------- | ------- | ------- | ----- | --- | --- | --- | +| CMB_Choix | 538 | 3 242 31 | 0 Actif | Mémoire | | Non | | | +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Effacer +Image +| | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | --------------------- | ------- | --- | ------------ | --------- | --------------------------------------- | ---------- | +| | | X noitisoP Y noitisoP | | | laitini tatE | | | sucof cevA | +| | | | ruetuaH | | | cilc cevA | | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 187 2 | 37 31 | 0 | Actif | | | | +| ---------- | --- | ----- | ----- | --- | ----- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 3969 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Filtre +Image +| | | | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------- | --------------------------------------- | ---------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | sucof cevA | +| | | | | | ruetuaH | | | cilc cevA | | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 1157 | 3 | 37 | 31 | 0 | Actif | | | | +| --------- | --- | ---- | --- | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_NbLigne +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | ruegraL | | | elbisiV | | | | | +| --- | --- | --- | ------- | --- | --- | ------- | --- | --- | --- | --- | +nalP +| INT_Opt | | 232 | 8 20 | | 20 | 0 | Actif | | 1 | | +| ------- | --- | --- | ---- | --- | --- | --- | ----- | --- | --- | --- | +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_Choix | 260 | 3 242 | 31 | 0 | Actif | Mémoire | | Non | | | +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Options +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | | laitini tatE | | | sucof cevA | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | --- | ---------- | +| | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | ruegraL | ruetuaH | | | cilc cevA | | | +elbisiV +nalP +| IMG_Icone | | 1112 | 3 | 37 | 31 | 0 | Actif | | | | +| ---------- | --- | ---- | --- | ----- | --- | --- | ----- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | | 3970 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Societe +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_Div | | 8 | 338 | 159 | 169 | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : FI_Liste_Collaborateurs.CMOD_Societe.SC_Div +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------- | ---------- | +| | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Titre | 13 | 343 | 18 | 20 | 0 | Actif | | | +| --------- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_SocP | | 9 | 371 | 153 | 30 | 0 | Actif | | +| ---------- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_SocS | | 10 | 400 | 153 | 96 | 0 | Actif | | +| CMOD_Titre | | 36 | 340 | 126 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Societe.SC_Div.CMOD_SocP +Interrupteur +ellennoitroporp .loC +| | | | | | | BAT ehcuoT | sennoloc .bN | | +| --- | --- | --- | --- | --- | --- | ------------ | ------------ | ----------- | +| | | | | | | laitini tatE | | staté siorT | +X noitisoP Y noitisoP +| | | | ruegraL ruetuaH | | | | | | +| --- | --- | --- | --------------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| INT_Opt | 9 | 376 | 20 | 20 | 0 Actif | | 1 | | +| ---------- | --- | --- | ----- | --- | ------- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 3971 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › 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_Choix | 37 | 371 125 31 | 0 | Actif | Mémoire | Non | | | +| --------- | --- | ---------- | --- | ----- | ------- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Societe.SC_Div.CMOD_SocS +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_Opt | 10 434 | 153 62 0 | affichag | Texte | Non | | | | +| ------- | ------ | -------- | -------- | ----- | --- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +laitini tatE staté siorT +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 10 406 | 20 | 20 | 0 Actif | | 1 | | +| ------- | --- | ------ | --- | --- | ------- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | | BAT ehcuoT eisias cevA | | | | +| --- | ---------- | --------------- | --- | ------------ | ---------------------- | --- | --- | --- | +| | X noitisoP | Y noitisoP | | laitini tatE | | | | | +| | | ruegraL ruetuaH | | | sruocraP | | | | +elbisiV +elbaT eéirT +nalP +| CMB_Choix | 38 | 402 125 28 | 0 | Actif | Mémoire | Non | | | +| ---------- | --- | ---------- | ----- | ----- | ------- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 3972 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Societe.SC_Div.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | | | | .zroh egardaC .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | --------------------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --------------- | --- | ------------ | --- | --- | --- | +| | | | | ruegraL ruetuaH | | | | | | +elbisiV +nalP +| LIB_lib | | 36 | 340 | 126 26 | | 0 Actif | Gauche | Centre | | +| ------- | --- | --- | --- | ------ | --- | ------- | ------ | ------ | --- | +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Table +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | | | lennoitroporp .csA .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | --- | ------------------ | -------------- | ------------------------------------- | ----------------------------- | +| | | | | | | )(ertliFH resilitU | | ruesnecsa elluB EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +| | | | | | | .gerne egacolB | noitcelésitluM | edacsac eisiaS | | +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | | +| --- | --------------------- | --------------- | --- | ------------ | --- | -------- | --- | --- | --- | +| | | ruegraL ruetuaH | | | | sruocraP | | | | +elbisiV +elbaT +nalP +| TABLE_Info | 189 41 | 1001 649 | 0 | affichag | Mémoir | | | | 1 | +| ---------- | ------ | -------- | --- | -------- | ------ | --- | --- | --- | --- | +Table : FI_Liste_Collaborateurs.CMOD_Table.TABLE_Info +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_PKID | | 880 | Grisé | | | Droite Centre | Numériq | | | +| COL_Nom | | 98 | Actif | | | Gauche Centre | | Texte | | +| COL_Prenom | | 100 | Actif | | | Gauche Centre | | Texte | | +| COL_TriG | | 100 | Actif | | | Gauche Centre | | Texte | | +| COL_bActif | | 55 | Actif | | | Centre Centre | | | | +| COL_bPl | | 67 | Actif | | | Centre Centre | | | | +| COL_bBO | | 80 | Actif | | | Centre Centre | | | | +| COL_bMob | | 83 | Actif | | | Centre Centre | | | | +| COL_Fonction | | 100 | Actif | | | Gauche Centre | | Texte | | +| COL_Profil | | 100 | Actif | | | Gauche Centre | | Texte | | +| COL_SocP | | 100 | Actif | | | Gauche Centre | | Texte | | +| COL_SocS | | 100 | Actif | | | Gauche Centre | | Texte | | +| 06/08/2026 | | | | Batik | | | | | 3973 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Fenêtre : FI_Liste_Collaborateurs +Fenêtre interne : FI_Liste_Collaborateurs +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Liste_Collaborateurs +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3974 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_DateModif +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Effacer +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3975 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Filtre +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_NbLigne +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3976 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Options +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Societe +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3977 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Table +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Séparateur : FI_Liste_Collaborateurs.SPLIT_Dossier +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 +Sens Vertical +Numéro aide 0 +Opacité 100 +Borne max. -1 +Borne min. -1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Sauve position Oui +Image D:\Projets Windev\Batik\Nouvelle +Ancrage Hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3978 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb +Superchamp : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 157 +Hauteur externe 309 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Actif +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +06/08/2026 Batik 3979 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_AuPl +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_BO +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3980 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs : +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Mob +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3981 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Nom +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3982 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Profil +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3983 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_TriG +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.IMG_Titre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Collaborateurs_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 3984 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Actif +Combo : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Actif.CMB_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Combo +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 124 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 38 +Largeur interne 124 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Batik 3985 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Actif.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Batik 3986 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_AuPl +Combo : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_AuPl.CMB_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Combo +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 124 +06/08/2026 Batik 3987 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 38 +Largeur interne 124 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3988 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Interrupteur : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_AuPl.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3989 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_BO +Combo : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_BO.CMB_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Combo +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 124 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 38 +Largeur interne 124 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 3990 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_BO.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Batik 3991 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Fonction +Interrupteur : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Fonction.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Batik 3992 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 37 +Largeur interne 125 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +06/08/2026 Batik 3993 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +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, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3994 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Mob +Combo : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Mob.CMB_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Combo +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 125 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 37 +Largeur interne 125 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 3995 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Mob.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Batik 3996 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Nom +Interrupteur : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Nom.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Batik 3997 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Nom.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 37 +Largeur interne 125 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +06/08/2026 Batik 3998 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +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, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 3999 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs : +FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Prenom +Interrupteur : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Prenom.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4000 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ de saisie : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Prenom.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 37 +Largeur interne 125 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Batik 4001 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Profil +Combo : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Profil.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 +06/08/2026 Batik 4002 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 126 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 36 +Largeur interne 126 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4003 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Interrupteur : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Profil.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4004 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Titre +Libellé : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4005 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_TriG +Interrupteur : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_TriG.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4006 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ de saisie : FI_Liste_Collaborateurs.CMOD_Colb.SC_Div.CMOD_TriG.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 37 +Largeur interne 125 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Batik 4007 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_DateModif +Combo : FI_Liste_Collaborateurs.CMOD_DateModif.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 +06/08/2026 Batik 4008 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 242 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 538 +Largeur interne 242 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4009 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Interrupteur : FI_Liste_Collaborateurs.CMOD_DateModif.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4010 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Effacer +Image : FI_Liste_Collaborateurs.CMOD_Effacer.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\gomme_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 4011 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Filtre +Image : FI_Liste_Collaborateurs.CMOD_Filtre.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Double_flèches.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 4012 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_NbLigne +Combo : FI_Liste_Collaborateurs.CMOD_NbLigne.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 242 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 260 +Largeur interne 242 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 4013 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Collaborateurs.CMOD_NbLigne.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Batik 4014 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Options +Image : FI_Liste_Collaborateurs.CMOD_Options.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\options.svg +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 +06/08/2026 Batik 4015 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Societe +Superchamp : FI_Liste_Collaborateurs.CMOD_Societe.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 157 +Hauteur externe 167 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4016 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Superchamp : FI_Liste_Collaborateurs.CMOD_Societe.SC_Div +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Societe.SC_Div.CMOD_SocP +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Societe.SC_Div.CMOD_SocS +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4017 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Societe.SC_Div.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Liste_Collaborateurs.CMOD_Societe.SC_Div.IMG_Titre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Société_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 4018 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Societe.SC_Div.CMOD_SocP +Combo : FI_Liste_Collaborateurs.CMOD_Societe.SC_Div.CMOD_SocP.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 125 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 37 +Largeur interne 125 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Batik 4019 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Collaborateurs.CMOD_Societe.SC_Div.CMOD_SocP.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Batik 4020 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Societe.SC_Div.CMOD_SocS +Combo : FI_Liste_Collaborateurs.CMOD_Societe.SC_Div.CMOD_SocS.CMB_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Combo +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 123 +06/08/2026 Batik 4021 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 40 +Largeur interne 123 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 20 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4022 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Interrupteur : FI_Liste_Collaborateurs.CMOD_Societe.SC_Div.CMOD_SocS.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4023 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Champ de saisie : FI_Liste_Collaborateurs.CMOD_Societe.SC_Div.CMOD_SocS.SAI_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Jeton : +Groupe GR_Saisie +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 10 +Largeur interne 153 +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 +06/08/2026 Batik 4024 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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 Largeur et hauteur +Taux anc. droite 330 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Societe.SC_Div.CMOD_Titre +Libellé : FI_Liste_Collaborateurs.CMOD_Societe.SC_Div.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +06/08/2026 Batik 4025 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Collaborateurs.CMOD_Table +Table : FI_Liste_Collaborateurs.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +06/08/2026 Batik 4026 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +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 +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. A la fin +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 +06/08/2026 Batik 4027 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Table : FI_Liste_Collaborateurs.CMOD_Table.TABLE_Info +Colonne de table : FI_Liste_Collaborateurs.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : FI_Liste_Collaborateurs.CMOD_Table.TABLE_Info.COL_Nom (2) +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +06/08/2026 Batik 4028 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › 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 140 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Collaborateurs.CMOD_Table.TABLE_Info.COL_Prenom (3) +Titre FR: Prénom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 140 Taux anc. hauteur 1000 +06/08/2026 Batik 4029 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Colonne de table : FI_Liste_Collaborateurs.CMOD_Table.TABLE_Info.COL_TriG (4) +Titre FR: Trigramme +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 60 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Collaborateurs.CMOD_Table.TABLE_Info.COL_bActif (5) +Titre FR: Actif +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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> +06/08/2026 Batik 4030 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +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 40 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Collaborateurs.CMOD_Table.TABLE_Info.COL_bPl (6) +Titre FR: Au Planning +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 40 Taux anc. hauteur 1000 +06/08/2026 Batik 4031 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Colonne de table : FI_Liste_Collaborateurs.CMOD_Table.TABLE_Info.COL_bBO (7) +Titre FR: Utilisateur BO +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 40 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Collaborateurs.CMOD_Table.TABLE_Info.COL_bMob (8) +Titre FR: Utilisateur Mobile +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +06/08/2026 Batik 4032 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 40 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Collaborateurs.CMOD_Table.TABLE_Info.COL_Fonction (9) +Titre FR: Fonction +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 100 Taux anc. hauteur 1000 +06/08/2026 Batik 4033 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les champs +Colonne de table : FI_Liste_Collaborateurs.CMOD_Table.TABLE_Info.COL_Profil (10) +Titre FR: Profil +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 100 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Collaborateurs.CMOD_Table.TABLE_Info.COL_SocP (11) +Titre FR: Société principal +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 +06/08/2026 Batik 4034 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › 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 120 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Collaborateurs.CMOD_Table.TABLE_Info.COL_SocS (12) +Titre FR: Société secondaire +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 180 Taux anc. hauteur 1000 +FI_Liste_Collaborateurs +Informations sur les menus +06/08/2026 Batik 4035 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Creer (2) +OPT_Modifier (3) +OPT_Supprimer (4) +Libellé des options : Français +Créer un nouveau collaborateur +Modifier le collaborateur sélectionné +Supprimer le collaborateur sélectionné +FI_Liste_Collaborateurs +Code des champs +Déclarations globales de FI_Liste_Collaborateurs +procédure FI_Liste_Collaborateurs() +bLeDroitModif est un booléen +Fin d'initialisation de FI_Liste_Collaborateurs +bLeDroitModif = bDroit(cGestion_Colb) +si pas bLeDroitModif alors +MenuSelectMoins(OPT_Creer) +MenuSelectMoins(OPT_Supprimer) +fin +Filtrer() +Fin d'initialisation de CMOD_Colb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Colb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Colb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Colb +06/08/2026 Batik 4036 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Colb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Colb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Colb +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Actif +salib = "Actif" +Fin d'initialisation de CMOD_Actif +06/08/2026 Batik 4037 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Actif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_Actif ) (modèle MDLC_ChoixBoolean) +ListeAjoute(MoiMême..Nom,"OUI"+gLien(1)) +ListeAjoute(MoiMême..Nom,"NON"+gLien(0)) +MoiMême..Indication = saLib +Sélection d'une ligne de CMB_Choix ( CMOD_Actif ) (modèle MDLC_ChoixBoolean) +INT_Opt=Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_Actif ) (modèle MDLC_ChoixBoolean) +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Actif ) (modèle MDLC_ChoixBoolean) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_AuPl +salib = "Au planning" +Fin d'initialisation de CMOD_AuPl +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4038 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_AuPl +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_AuPl +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_AuPl +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_AuPl +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_AuPl +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_AuPl +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_AuPl ) (modèle MDLC_ChoixBoolean) +ListeAjoute(MoiMême..Nom,"OUI"+gLien(1)) +ListeAjoute(MoiMême..Nom,"NON"+gLien(0)) +MoiMême..Indication = saLib +Sélection d'une ligne de CMB_Choix ( CMOD_AuPl ) (modèle MDLC_ChoixBoolean) +INT_Opt=Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_AuPl ) (modèle MDLC_ChoixBoolean) +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_AuPl ) (modèle MDLC_ChoixBoolean) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_BO +salib = "Utilisateur BO" +Fin d'initialisation de CMOD_BO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BO +06/08/2026 Batik 4039 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BO +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_BO ) (modèle MDLC_ChoixBoolean) +ListeAjoute(MoiMême..Nom,"OUI"+gLien(1)) +ListeAjoute(MoiMême..Nom,"NON"+gLien(0)) +MoiMême..Indication = saLib +Sélection d'une ligne de CMB_Choix ( CMOD_BO ) (modèle MDLC_ChoixBoolean) +INT_Opt=Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_BO ) (modèle MDLC_ChoixBoolean) +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_BO ) (modèle MDLC_ChoixBoolean) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Fonction +salib = "Fonction" +Fin d'initialisation de CMOD_Fonction +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Fonction +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4040 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Code des champs +ExécuteAncêtre +Entrée dans CMOD_Fonction +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Fonction +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Fonction +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Fonction +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Fonction +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Fonction ) (modèle MDLC_ChoixTexte) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de SAI_Choix ( CMOD_Fonction ) (modèle MDLC_ChoixTexte) +MoiMême..Indication = saLib +A chaque modification de SAI_Choix ( CMOD_Fonction ) (modèle MDLC_ChoixTexte) +si MoiMême <> "" alors +INT_Opt = Vrai +sinon +INT_Opt = Faux +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_Fonction ) (modèle MDLC_ChoixTexte) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Mob +salib = "Utilisateur mobile" +Fin d'initialisation de CMOD_Mob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Mob +06/08/2026 Batik 4041 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Mob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Mob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Mob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Mob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Mob +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_Mob ) (modèle MDLC_ChoixBoolean) +ListeAjoute(MoiMême..Nom,"OUI"+gLien(1)) +ListeAjoute(MoiMême..Nom,"NON"+gLien(0)) +MoiMême..Indication = saLib +Sélection d'une ligne de CMB_Choix ( CMOD_Mob ) (modèle MDLC_ChoixBoolean) +INT_Opt=Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_Mob ) (modèle MDLC_ChoixBoolean) +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Mob ) (modèle MDLC_ChoixBoolean) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Nom +salib = "Nom" +Fin d'initialisation de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Nom +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4042 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Code des champs +ExécuteAncêtre +Entrée dans CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Nom ) (modèle MDLC_ChoixTexte) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de SAI_Choix ( CMOD_Nom ) (modèle MDLC_ChoixTexte) +MoiMême..Indication = saLib +A chaque modification de SAI_Choix ( CMOD_Nom ) (modèle MDLC_ChoixTexte) +si MoiMême <> "" alors +INT_Opt = Vrai +sinon +INT_Opt = Faux +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_Nom ) (modèle MDLC_ChoixTexte) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Prenom +salib = "Prénom" +Fin d'initialisation de CMOD_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Prenom +06/08/2026 Batik 4043 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Prenom ) (modèle MDLC_ChoixTexte) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de SAI_Choix ( CMOD_Prenom ) (modèle MDLC_ChoixTexte) +MoiMême..Indication = saLib +A chaque modification de SAI_Choix ( CMOD_Prenom ) (modèle MDLC_ChoixTexte) +si MoiMême <> "" alors +INT_Opt = Vrai +sinon +INT_Opt = Faux +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_Prenom ) (modèle MDLC_ChoixTexte) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Profil +saLib = "Profil" +saCode = cRoleUtilisateur +Fin d'initialisation de CMOD_Profil +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Profil +06/08/2026 Batik 4044 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Profil +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Profil +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Profil +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Profil +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Profil +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_Profil ) (modèle MDLC_ChoixCombo) +InitChamp(MoiMême..Nom,saCode,Vrai) +MoiMême..Indication = saLib +CMB_Choix..RechercheFAA = Faux +Sélection d'une ligne de CMB_Choix ( CMOD_Profil ) (modèle MDLC_ChoixCombo) +INT_Opt=Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_Profil ) (modèle MDLC_ChoixCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Profil ) (modèle MDLC_ChoixCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Titre +salib = "Collaborateur" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4045 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Code des champs +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_TriG +salib = "Trigramme" +Fin d'initialisation de CMOD_TriG +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TriG +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TriG +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TriG +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TriG +06/08/2026 Batik 4046 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TriG +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TriG +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_TriG ) (modèle MDLC_ChoixTexte) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de SAI_Choix ( CMOD_TriG ) (modèle MDLC_ChoixTexte) +MoiMême..Indication = saLib +A chaque modification de SAI_Choix ( CMOD_TriG ) (modèle MDLC_ChoixTexte) +si MoiMême <> "" alors +INT_Opt = Vrai +sinon +INT_Opt = Faux +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_TriG ) (modèle MDLC_ChoixTexte) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_DateModif +saLib = "Depuis" +saCode = cParam_PeriodeRqSql +Fin d'initialisation de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CMOD_DateModif.CMB_Choix = cCle_PeriodeSqlReq1Mois +CMOD_DateModif.INT_Opt = Vrai +Demande de mise à jour de l'affichage de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DateModif +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4047 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_DateModif ) (modèle MDLC_ChoixCombo) +InitChamp(MoiMême..Nom,saCode,Vrai) +MoiMême..Indication = saLib +CMB_Choix..RechercheFAA = Faux +Sélection d'une ligne de CMB_Choix ( CMOD_DateModif ) (modèle MDLC_ChoixCombo) +INT_Opt=Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_DateModif ) (modèle MDLC_ChoixCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_DateModif ) (modèle MDLC_ChoixCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Effacer +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4048 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +GR_Combo = -1 +GR_Saisie = "" +GR_Boolean = Faux +A chaque modification de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Filtre +06/08/2026 Batik 4049 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Filtrer() +A chaque modification de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NbLigne +saLib = "Afficher" +saCode = cParam_LigneRqSql +Fin d'initialisation de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CMOD_NbLigne.CMB_Choix = gtabParametresMetierCode[cParam_LigneRqSql][cCle_NumLigneReq200]: +saParametre +CMOD_NbLigne.INT_Opt = Vrai +Demande de mise à jour de l'affichage de CMOD_NbLigne +06/08/2026 Batik 4050 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_NbLigne ) (modèle MDLC_ChoixCombo) +InitChamp(MoiMême..Nom,saCode,Vrai) +MoiMême..Indication = saLib +CMB_Choix..RechercheFAA = Faux +Sélection d'une ligne de CMB_Choix ( CMOD_NbLigne ) (modèle MDLC_ChoixCombo) +INT_Opt=Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_NbLigne ) (modèle MDLC_ChoixCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_NbLigne ) (modèle MDLC_ChoixCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Options +06/08/2026 Batik 4051 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Societe +06/08/2026 Batik 4052 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4053 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Code des champs +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SocP +saLib = "Principal" +saCode = cSocietes +Fin d'initialisation de CMOD_SocP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SocP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SocP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SocP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SocP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SocP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SocP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_SocP ) (modèle MDLC_ChoixCombo) +InitChamp(MoiMême..Nom,saCode,Vrai) +MoiMême..Indication = saLib +CMB_Choix..RechercheFAA = Faux +Sélection d'une ligne de CMB_Choix ( CMOD_SocP ) (modèle MDLC_ChoixCombo) +INT_Opt=Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_SocP ) (modèle MDLC_ChoixCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_SocP ) (modèle MDLC_ChoixCombo) +06/08/2026 Batik 4054 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Code des champs +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_SocS +saLib = "Secondaires" +saCode = cSocietes +Fin d'initialisation de CMOD_SocS +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SocS +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SocS +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SocS +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SocS +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SocS +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SocS +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_SocS ) (modèle MDLC_ChoixJetonsCombo) +InitChamp(MoiMême..Nom,saCode,Vrai) +MoiMême..Indication = saLib +Sélection d'une ligne de CMB_Choix ( CMOD_SocS ) (modèle MDLC_ChoixJetonsCombo) +INT_Opt=Vrai +si CMB_Choix > 0 alors +SaisieAjouteJeton(SAI_Opt,NumériqueVersChaîne(CMB_Choix..ValeurMémorisée),CMB_Choix..ValeurAffichée +) +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_SocS ) (modèle MDLC_ChoixJetonsCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_SocS ) (modèle MDLC_ChoixJetonsCombo) +06/08/2026 Batik 4055 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Code des champs +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de SAI_Opt ( CMOD_SocS ) (modèle MDLC_ChoixJetonsCombo) +// Version 1 +// Description +// Saisie avec jetons +Ajout d'un jeton dans SAI_Opt ( CMOD_SocS ) (modèle MDLC_ChoixJetonsCombo) +procédure AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +renvoyer Vrai +Suppression d'un jeton dans SAI_Opt ( CMOD_SocS ) (modèle MDLC_ChoixJetonsCombo) +procédure SuppressionJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +renvoyer Vrai +Clic sur un jeton de SAI_Opt ( CMOD_SocS ) (modèle MDLC_ChoixJetonsCombo) +procédure ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de SAI_Opt ( CMOD_SocS ) (modèle MDLC_ChoixJetonsCombo) +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_Opt ( CMOD_SocS ) (modèle MDLC_ChoixJetonsCombo) +procédure ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +renvoyer Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Opt ( CMOD_SocS ) (modèle MDLC_ChoixJetonsCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Titre +salib = "Société" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4056 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Code des champs +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +06/08/2026 Batik 4057 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier() +Initialisation de COL_PKID ( TABLE_Info ) +06/08/2026 Batik 4058 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection du menu de MNU_Options.OPT_Creer +Creer() +Sélection du menu de MNU_Options.OPT_Modifier +Modifier() +Sélection du menu de MNU_Options.OPT_Supprimer +Supprimer() +FI_Liste_Collaborateurs +Procédures +Procédure locale Creer +procédure Creer() +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[cParam_IdFen] = 0 +OuvreFenSouers("FEN_Fiche_Colb",tbaParam) +Procédure locale Filtrer +procédure Filtrer() +n est un entier +nTop est un entier = CMOD_NbLigne.CMB_Choix +ReqSQL est une chaîne +si nTop>0 _et_ CMOD_NbLigne.INT_Opt alors +ReqSQL=ChaîneConstruit("SELECT TOP %1 ",nTop) +sinon +06/08/2026 Batik 4059 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Procédures +ReqSQL="SELECT " +fin +TableSupprimeTout(TABLE_Info) +ReqSQL += [ +CO_Nom, +CO_Prenom, +CO_Trigramme, +CO_Actif, +CO_AuPlanning, +CO_TelMobile, +CO_Email, +CO_PKID, +UT_AccesBO, +UT_AccesMobile, +CO_Fonction, +UT_IDTypeProfil, +UT_IDSocietePrincipale ,Societe.SO_Nom, Role.R_Libelle, +(SELECT STRING_AGG(SO_Nom,' - ') FROM Societe_Collaborateur INNER JOIN Societe +ON Societe_Collaborateur.SC_IDCSociete = Societe.SO_PKID WHERE +Societe_Collaborateur.SC_IDCollaborateur = Collaborateur.CO_PKID AND +Societe_Collaborateur.SC_IDCSociete<> +Utilisateur.UT_IDSocietePrincipale) AS AutreSoc +FROM Collaborateur +LEFT OUTER JOIN Utilisateur ON Collaborateur.CO_PKID = Utilisateur.UT_IDCollaborateur +LEFT OUTER JOIN Societe ON Utilisateur.UT_IDSocietePrincipale = Societe.SO_PKID +LEFT OUTER JOIN Role ON R_PKID = Utilisateur.UT_IdRole +] +saCP est une chaîne ANSI +saCP+=CritereHF(CMOD_Nom.INT_Opt,CMOD_Nom.SAI_Choix,"CO_Nom",df_Milieutexte) +saCP+=CritereHF(CMOD_Prenom.INT_Opt,CMOD_Prenom.SAI_Choix,"CO_Prenom",df_Milieutexte) +saCP+=CritereHF(CMOD_TriG.INT_Opt,CMOD_TriG.SAI_Choix,"CO_Trigramme",df_DebutTexte) +saCP+=CritereHF(CMOD_Fonction.INT_Opt,CMOD_Fonction.SAI_Choix,"CO_Fonction",df_Milieutexte) +saCP+=CritereHF(CMOD_AuPl.INT_Opt,CMOD_AuPl.CMB_Choix,"CO_AuPlanning",df_Booleen) +saCP+=CritereHF(CMOD_Profil.INT_Opt,CMOD_Profil.CMB_Choix,"UT_IdRole",df_Id) +saCP+=CritereHF(CMOD_BO.INT_Opt,CMOD_BO.CMB_Choix,"CO_AccesBO",df_Booleen) +saCP+=CritereHF(CMOD_Mob.INT_Opt,CMOD_Mob.CMB_Choix,"CO_AccesMobile",df_Booleen) +saCP+=CritereHF(CMOD_Actif.INT_Opt,CMOD_Actif.CMB_Choix,"CO_Actif",df_Booleen) +saCP+=CritereHF(CMOD_SocP.INT_Opt,CMOD_SocP.CMB_Choix,"UT_IDSocietePrincipale",df_Id) +si CMOD_SocS.INT_Opt _et_ CMOD_SocS.SAI_Opt <> "" alors +saCPRub est une chaîne ANSI +pour toute chaîne saID de CMOD_SocS.SAI_Opt séparé par RC +si Val(saID) > 0 alors +saCPRub += [","]+Val(saID) +fin +fin +si saCPRub <> "" alors +ReqSQL += " INNER JOIN Societe_Collaborateur ON SC_IDCollaborateur = Collaborateur.CO_PKID" +saCP += " AND SC_IDCSociete IN ( "+saCPRub+") AND UT_IDSocietePrincipale NOT IN ("+saCPRub+")" +fin +fin +ReqSQL+=[ +WHERE 1=1 +] +ReqSQL+= saCP +06/08/2026 Batik 4060 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Procédures +si saCP..Taille > 3 alors +CMOD_DateModif.INT_Opt = Faux +fin +si CMOD_DateModif.INT_Opt _et_ CMOD_DateModif.CMB_Choix <> Null _et_ CMOD_DateModif.CMB_Choix <> "" +alors +dhDateCpt est une DateHeure = DateHeureSys() +si gtabParametresMetierCode[cParam_PeriodeRqSql][CMOD_DateModif.CMB_Choix]..Existe alors +dhDateCpt..Jour-= Val(gtabParametresMetierCode[cParam_PeriodeRqSql][CMOD_DateModif.CMB_Choix]. +saParametre) +fin +ReqSQL+=" AND Collaborateur.ModifDate >= '"+dhDateCpt+"' " +fin +sdColbs est une Source de Données +si pas HExécuteRequêteSQL(sdColbs,hRequêteDéfaut,ReqSQL) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","Filtrer collaborateurs") +sinon +pour tout sdColbs +n = TableAjouteLigne(TABLE_Info) +COL_Nom[n] = sdColbs.CO_Nom +COL_Prenom[n] = sdColbs.CO_Prenom +COL_TriG[n] = sdColbs.CO_Trigramme +COL_bActif[n] = sdColbs.CO_Actif +COL_bPl[n] = sdColbs.CO_AuPlanning +COL_bBO[n] = sdColbs.UT_AccesBO +COL_bMob[n] = sdColbs.UT_AccesMobile +COL_Fonction[n] = sdColbs.CO_Fonction +COL_Profil[n] = sdColbs.R_Libelle +COL_SocP[n] = sdColbs.SO_Nom +COL_SocS[n] = sdColbs.AutreSoc +COL_PKID[n] = sdColbs.CO_PKID +fin +fin +Procédure locale Modifier +procédure Modifier() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 alors +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[Collaborateur.CO_PKID..Nom] = COL_PKID[i] +tbaParam[cParam_IdFen] = COL_PKID[i] +OuvreFenSouers("FEN_Fiche_Colb",tbaParam) +fin +Procédure locale Supprimer +procédure Supprimer() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ HLitRecherchePremier(Collaborateur,CO_PKID,COL_PKID[i]) alors +oUnColb est un MCollaborateur +FichierVersMémoire(oUnColb,Collaborateur) +si oUnColb:Supprimer() alors +TableSupprime(TABLE_Info,i) +06/08/2026 Batik 4061 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Collaborateurs › Procédures +fin +fin +| 06/08/2026 | Batik | 4062 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Image +FI_Liste_Societes +Image +FI_Liste_Societes +Informations générales +FI_Liste_Societes +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_Liste_Societes.wdw +Créé par SMR +06/08/2026 Batik 4063 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Informations générales +| Date de création | | 13/06/2025 09:52:00 | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 15/04/2026 17:09:52 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1199 Hauteur | 700 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 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 | | Windows 11 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 4064 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Informations générales +| Durée Anim. Fermeture | 50 | | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | +| Adapte Taille contenu | Non | | | | | | +| Assombri quand inactif | Oui | | | | | | +| Déplace souris sur bouton par | Non | | | | | | +| Compact. barres outils | Non | | | | | | +Statistiques de la fenêtre +| | Interrupteur | | 1 | Image | | 2 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | +| | Table | | 1 | Combo | | 1 | +| | Fenêtre interne | | 1 | Champ Modèle de champs | | 4 | +| | Option d'interrupteur | | 1 | Option de menu | | 4 | +| | Colonne de table | | 8 | | | | +Nombre d'éléments dans la fenêtre : 23 +FI_Liste_Societes +Informations sur les champs +Fenêtre : FI_Liste_Societes +Fenêtre interne +BAT ehcuoT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | +| --- | --- | --- | ------- | ------- | --- | --- | +elbisiV +nalP +| FI_Liste_Societes | | 0 | 0 1199 | 700 | 0 | | +| ----------------- | --- | --- | ------ | --- | --- | --- | +Fenêtre interne : FI_Liste_Societes +| 06/08/2026 | | | Batik | | | 4065 | +| ---------- | --- | --- | ----- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Archive | | | 7 | 3 | 242 | 30 | 0 | | Actif | | +| ------------ | --- | --- | ---- | --- | ---- | --- | --- | --- | ----- | --- | +| CMOD_Filtre | | | 1155 | 3 | 37 | 31 | 0 | | Actif | | +| CMOD_Options | | | 1110 | 3 | 37 | 31 | 0 | | Actif | | +| CMOD_Table | | | 7 | 40 | 1185 | 653 | 0 | | Actif | | +Champ Modèle de champs : FI_Liste_Societes.CMOD_Archive +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +ruegraL +elbisiV +nalP +| INT_Opt | | 7 | 8 | 20 | 20 | 0 | Actif | | 1 | | +| ------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | +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_Choix | 35 | 4 | 214 29 | 0 | Actif | Mémoire | | Non | | | +| --------- | --- | --- | ------ | --- | ----- | ------- | --- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Societes.CMOD_Filtre +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | --- | --- | +| | | | | ruegraL | ruetuaH | | | cilc cevA | | | +elbisiV +nalP +| IMG_Icone | | 1155 | 3 | 37 | 31 | 0 | Actif | | | | +| ---------- | --- | ---- | --- | ----- | --- | --- | ----- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | | 4066 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Informations sur les champs +Champ Modèle de champs : FI_Liste_Societes.CMOD_Options +Image +| | | | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | --- | ---------- | ---------- | --- | ------- | --- | --- | ------------ | --------------------- | ----------------- | +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| | | | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 1110 | 3 | 37 | 31 | | 0 | Actif | | | +| --------- | --- | ---- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_Liste_Societes.CMOD_Table +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 | | | | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | --- | --- | --- | +sruocraP +ruegraL ruetuaH +elbisiV +| | | | nalP | | elbaT | | | | | | +| ---------- | ---- | -------- | ---- | -------- | ------ | --- | --- | --- | --- | --- | +| TABLE_Info | 9 42 | 1179 647 | 0 | affichag | Mémoir | | | | | 1 | +Table : FI_Liste_Societes.CMOD_Table.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | | elbairt ennoloC | ehcrehcer cevA | | | | | +| --- | --- | --- | --- | -------------- | --------------- | -------------- | ------------- | --- | --- | --- | +| | | | | ehcuag à eéxiF | | | .zroh egardaC | | | | +.trev egardaC +| | | | | elbaçalpéD | | | | | eisias epyT FTR tamroF | eisias cevA | +| --- | --- | --- | ------------ | ---------- | --- | --- | --- | --- | ---------------------- | ----------- | +| | | | laitini tatE | | | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +| COL_PKID | | 880 Grisé | | | | Droite | Centre | Numériq | | | +| ----------- | --- | --------- | --- | ----- | --- | ------ | ------ | ------- | ----- | ---- | +| COL_Nom | | 199 Actif | | | | Gauche | Centre | | Texte | | +| COL_Siret | | 166 Actif | | | | Gauche | Centre | | Texte | | +| COL_Tel | | 140 Actif | | | | Gauche | Centre | | Texte | | +| COL_Fax | | 149 Actif | | | | Gauche | Centre | | Texte | | +| COL_Email | | 189 Actif | | | | Gauche | Centre | | Texte | | +| COL_Archive | | 100 Actif | | | | Centre | Centre | | | | +| COL_Adresse | | 215 Actif | | | | Gauche | Centre | | Texte | | +| 06/08/2026 | | | | Batik | | | | | | 4067 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Informations sur les champs +Fenêtre : FI_Liste_Societes +Fenêtre interne : FI_Liste_Societes +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Liste_Societes +Champ Modèle de champs : FI_Liste_Societes.CMOD_Archive +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4068 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Informations sur les champs +Champ Modèle de champs : FI_Liste_Societes.CMOD_Filtre +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Societes.CMOD_Options +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4069 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Informations sur les champs +Champ Modèle de champs : FI_Liste_Societes.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Societes.CMOD_Archive +Combo : FI_Liste_Societes.CMOD_Archive.CMB_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Combo +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 213 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 36 +06/08/2026 Batik 4070 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Informations sur les champs +Largeur interne 213 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4071 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Informations sur les champs +Interrupteur : FI_Liste_Societes.CMOD_Archive.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4072 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Informations sur les champs +Champ Modèle de champs : FI_Liste_Societes.CMOD_Filtre +Image : FI_Liste_Societes.CMOD_Filtre.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Double_flèches.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 4073 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Informations sur les champs +Champ Modèle de champs : FI_Liste_Societes.CMOD_Options +Image : FI_Liste_Societes.CMOD_Options.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\options.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 4074 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Informations sur les champs +Champ Modèle de champs : FI_Liste_Societes.CMOD_Table +Table : FI_Liste_Societes.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 25 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 4075 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Informations sur les champs +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. A la fin +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 : FI_Liste_Societes.CMOD_Table.TABLE_Info +Colonne de table : FI_Liste_Societes.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 +06/08/2026 Batik 4076 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Informations sur les champs +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Societes.CMOD_Table.TABLE_Info.COL_Nom (2) +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 200 Taux anc. hauteur 1000 +06/08/2026 Batik 4077 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Informations sur les champs +Colonne de table : FI_Liste_Societes.CMOD_Table.TABLE_Info.COL_Siret (3) +Titre FR: SIRET +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 150 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Societes.CMOD_Table.TABLE_Info.COL_Tel (4) +Titre FR: Téléphone +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 +06/08/2026 Batik 4078 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › 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 100 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Societes.CMOD_Table.TABLE_Info.COL_Fax (5) +Titre FR: Fax +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 100 Taux anc. hauteur 1000 +06/08/2026 Batik 4079 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Informations sur les champs +Colonne de table : FI_Liste_Societes.CMOD_Table.TABLE_Info.COL_Email (6) +Titre FR: Émail +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 200 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Societes.CMOD_Table.TABLE_Info.COL_Archive (7) +Titre FR: Archivé +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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> +06/08/2026 Batik 4080 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Informations sur les champs +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 50 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Societes.CMOD_Table.TABLE_Info.COL_Adresse (8) +Titre FR: Adresse +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 200 Taux anc. hauteur 1000 +FI_Liste_Societes +Informations sur les menus +06/08/2026 Batik 4081 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Creer (2) +OPT_Modifier (3) +OPT_Supprimer (4) +Libellé des options : Français +Créer une nouvelle société +Modifier la société sélectionnée +Supprimer la société sélectionnée +FI_Liste_Societes +Code des champs +Déclarations globales de FI_Liste_Societes +procédure FI_Liste_Societes() +bLeDroitModif est un booléen +Fin d'initialisation de FI_Liste_Societes +bLeDroitModif = bDroit(cGestion_Param) +si pas bLeDroitModif alors +MenuSelectMoins(OPT_Creer) +MenuSelectMoins(OPT_Modifier) +MenuSelectMoins(OPT_Supprimer) +fin +Filtrer() +Déclarations globales de CMOD_Archive +salib = "Archivé" +Fin d'initialisation de CMOD_Archive +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Archive +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Archive +06/08/2026 Batik 4082 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Archive +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Archive +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Archive +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Archive +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_Archive ) (modèle MDLC_ChoixBoolean) +ListeAjoute(MoiMême..Nom,"OUI"+gLien(1)) +ListeAjoute(MoiMême..Nom,"NON"+gLien(0)) +MoiMême..Indication = saLib +Sélection d'une ligne de CMB_Choix ( CMOD_Archive ) (modèle MDLC_ChoixBoolean) +INT_Opt=Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_Archive ) (modèle MDLC_ChoixBoolean) +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Archive ) (modèle MDLC_ChoixBoolean) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Filtre +06/08/2026 Batik 4083 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Filtrer() +A chaque modification de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Options +06/08/2026 Batik 4084 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +06/08/2026 Batik 4085 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4086 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Code des champs +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection du menu de MNU_Options.OPT_Creer +Creer() +Sélection du menu de MNU_Options.OPT_Modifier +Modifier() +Sélection du menu de MNU_Options.OPT_Supprimer +Supprimer() +FI_Liste_Societes +Procédures +Procédure locale Creer +06/08/2026 Batik 4087 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Procédures +procédure Creer() +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[cParam_IdFen] = 0 +OuvreFenSouers("FEN_Fiche_Societe",tbaParam) +Procédure locale Filtrer +procédure Filtrer() +TableSupprimeTout(TABLE_Info) +rqSQL est une Requête SQL = +[ +SELECT SO_PKID, SO_Nom, SO_SIRET, SO_Tel, SO_Fax, SO_Email, SO_Archive,AD_Presentation +FROM Societe +LEFT JOIN Adresse ON AD_PKID = SO_IDAdressePrincipale +WHERE SO_Archive = {p_archive} +] +si INT_Opt alors +rqSQL.p_archive = CMB_Choix +fin +si pas HExécuteRequêteSQL(rqSQL) alors +sinon +i est un entier +pour tout rqSQL +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = rqSQL.So_PKID +COL_Nom[i] = rqSQL.SO_Nom +COL_Siret[i] = rqSQL.SO_SIRET +COL_Tel[i] = rqSQL.SO_Tel +COL_Fax[i] = rqSQL.SO_Fax +COL_Email[i] = rqSQL.So_email +COL_Adresse[i] = rqSQL.AD_Presentation +COL_Archive[i] = rqSQL.SO_Archive +fin +fin +Procédure locale Modifier +procédure Modifier() +si pas bLeDroitModif alors renvoyer Faux +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 alors +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[Collaborateur.CO_PKID..Nom] = COL_PKID[i] +tbaParam[Societe.SO_PKID..Nom] = COL_PKID[i] +tbaParam[cParam_IdFen] = COL_PKID[i] +OuvreFenSouers("FEN_Fiche_Societe",tbaParam) +fin +Procédure locale Supprimer +procédure Supprimer() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ HLitRecherchePremier(Societe,SO_PKID,COL_PKID[i]) alors +oUnSoc est un MSociete +FichierVersMémoire(oUnSoc,Societe) +si oUnSoc:Supprimer() alors +TableSupprime(TABLE_Info,i) +06/08/2026 Batik 4088 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Societes › Procédures +fin +fin +| 06/08/2026 | Batik | 4089 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Image +FI_Liste_Dossier +Image +FI_Liste_Dossier +Informations générales +FI_Liste_Dossier +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_Liste_Dossier.wdw +06/08/2026 Batik 4090 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations générales +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 13/06/2025 11:53:03 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 01/04/2026 10:45:59 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1032 Hauteur | 725 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 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 | | Windows 11 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 4091 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations générales +| 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 | | | | | | +Statistiques de la fenêtre +| | Champ de saisie | | 11 | Libellé | | 3 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | +| | Interrupteur | | 19 | Image | | 6 | +| | Table | | 1 | Combo | | 8 | +| | Séparateur | | 1 | Fenêtre interne | | 1 | +| | Superchamp | | 3 | Champ Modèle de champs | | 29 | +| | Option d'interrupteur | | 19 | Option de menu | | 4 | +| | Colonne de table | | 13 | | | | +Nombre d'éléments dans la fenêtre : 118 +FI_Liste_Dossier +Informations sur les champs +Fenêtre : FI_Liste_Dossier +Fenêtre interne +BAT ehcuoT +X noitisoP Y noitisoP laitini tatE +ruetuaH +| | | | ruegraL | | elbisiV | | +| --- | --- | --- | ------- | --- | ------- | --- | +nalP +| FI_Liste_Dossier | | 0 | 0 1032 | 725 | 0 | | +| ---------------- | --- | --- | ------ | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | 4092 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Fenêtre interne : FI_Liste_Dossier +Séparateur +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| SPLIT_Dossier | | | 193 | 6 | 7 | 714 | 0 | | Actif | | +| ------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs +| | | | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | ---------- | +| | | | X noitisoP | Y noitisoP | | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| CMOD_DateModif | | | 603 | 6 | 235 | 30 | 0 | | Actif | | +| -------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_Dossier | | | 0 | 6 | 193 | 237 | 0 | | Actif | | +| CMOD_Effacer | | | 211 | 5 | 37 | 31 | 0 | | Actif | | +| CMOD_Filtre | | | 987 | 6 | 37 | 31 | 0 | | Actif | | +| CMOD_Inter | | | 1 | 243 | 192 | 265 | 0 | | Actif | | +| CMOD_NbLigne | | | 330 | 6 | 265 | 30 | 0 | | Actif | | +| CMOD_Options | | | 942 | 6 | 37 | 31 | 0 | | Actif | | +| CMOD_Site | | | 0 | 508 | 193 | 182 | 0 | | Actif | | +| CMOD_Table | | | 211 | 45 | 813 | 674 | 0 | | Actif | | +Champ Modèle de champs : FI_Liste_Dossier.CMOD_DateModif +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +ruegraL +elbisiV +nalP +| INT_Opt | | 603 | 11 | 20 | 20 | 0 | Actif | | 1 | | +| ------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | +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 +| | | | | nalP | | elbaT | eéirT | | | | +| ---------- | --- | ----- | --- | ----- | ----- | ------- | ----- | --- | --- | ---- | +| CMB_Choix | 631 | 6 207 | 31 | 0 | Actif | Mémoire | | Non | | | +| 06/08/2026 | | | | Batik | | | | | | 4093 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Dossier +Superchamp +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_Div | 4 | 11 184 | 226 | 0 | Actif | | +| ------ | --- | ------ | --- | --- | ----- | --- | +Superchamp : FI_Liste_Dossier.CMOD_Dossier.SC_Div +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | ------- | --- | ------------ | --------- | ---------- | +| | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Dossier_noire | 10 16 | 20 20 | 0 | Actif | | | +| ----------------- | ----- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_DossierClient | 10 | 73 175 | 30 | 0 | Actif | | +| ------------------ | --- | ------- | --- | --- | ----- | --- | +| CMOD_DossierNum | 10 | 43 175 | 30 | 0 | Actif | | +| CMOD_DossierRefExt | 10 | 133 175 | 30 | 0 | Actif | | +| CMOD_DossierStatut | 10 | 193 175 | 30 | 0 | Actif | | +| CMOD_DossierTitre | 10 | 103 175 | 30 | 0 | Actif | | +| CMOD_DossierType | 10 | 163 175 | 30 | 0 | Actif | | +| CMOD_Lib | 38 | 14 147 | 26 | 0 | Actif | | +Champ Modèle de champs : +FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_DossierClient +| 06/08/2026 | | Batik | | | | 4094 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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_Choix | 38 73 | 147 30 0 | Actif Texte | | Non | | +| --------- | ----- | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | ----------- | +ruetuaH +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| INT_Opt | | 10 78 | 20 20 | 0 | Actif | 1 | +| ------- | --- | ----- | ----- | --- | ----- | --- | +Champ Modèle de champs : +FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_DossierNum +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_Choix | 38 43 | 147 30 0 | Actif Texte | | Non | | +| --------- | ----- | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | laitini tatE BAT ehcuoT | staté siorT | +| --- | --- | --- | --- | --- | ----------------------- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 10 48 | 20 20 | 0 | Actif | 1 | +| ---------- | --- | ----- | ----- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | 4095 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : +FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_DossierRefExt +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_Choix | 38 133 | 147 30 0 | Actif Texte | | Non | | | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | BAT ehcuoT | | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | ---------- | --- | ----------- | +| | | X noitisoP Y noitisoP | | | laitini tatE | | | | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 10 138 | 20 20 | 0 | Actif | | 1 | | +| ------- | --- | ------ | ----- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : +FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_DossierStatut +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | | | | laitini tatE | | | staté siorT | +| --- | --- | --- | --- | --- | ------------ | --- | --- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 10 198 | 20 20 | 0 | Actif | | 1 | | +| ------- | --- | ------ | ----- | --- | ----- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | | | +| --- | ---------- | --------------- | ------------ | ---------- | ----------- | --- | --- | --- | +| | X noitisoP | Y noitisoP | laitini tatE | | | | | | +| | | ruegraL ruetuaH | | | sruocraP | | | | +elbisiV +| | | | | elbaT | eéirT | | | | +| --- | --- | --- | --- | ----- | ----- | --- | --- | --- | +nalP +| CMB_Choix | 38 | 193 147 31 | 0 Actif | Mémoire | | Non | | | +| ---------- | --- | ---------- | ------- | ------- | --- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 4096 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : +FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_DossierTitre +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_Choix | 38 103 | 147 30 0 | Actif Texte | | Non | | | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | BAT ehcuoT | | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | ---------- | --- | ----------- | +| | | X noitisoP Y noitisoP | | | laitini tatE | | | | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 10 108 | 20 20 | 0 | Actif | | 1 | | +| ------- | --- | ------ | ----- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : +FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_DossierType +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | | | | laitini tatE | | | staté siorT | +| --- | --- | --- | --- | --- | ------------ | --- | --- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 10 168 | 20 20 | 0 | Actif | | 1 | | +| ------- | --- | ------ | ----- | --- | ----- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | | | +| --- | ---------- | --------------- | ------------ | ---------- | ----------- | --- | --- | --- | +| | X noitisoP | Y noitisoP | laitini tatE | | | | | | +| | | ruegraL ruetuaH | | | sruocraP | | | | +elbisiV +| | | | | elbaT | eéirT | | | | +| --- | --- | --- | --- | ----- | ----- | --- | --- | --- | +nalP +| CMB_Choix | 38 | 163 147 31 | 0 Actif | Mémoire | | Non | | | +| ---------- | --- | ---------- | ------- | ------- | --- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 4097 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_Lib +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --------------------- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 38 14 | 147 26 | 0 Actif | Gauche | Centre | | +| ------- | ----- | ------ | ------- | ------ | ------ | --- | +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Effacer +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------------ | --------- | ---------- | +| | | | ruetuaH | | cilc cevA | | +| | | ruegraL | elbisiV | | | | +nalP +| IMG_Icone | 211 | 5 37 | 31 0 | Actif | | | +| --------- | --- | ---- | ---- | ----- | --- | --- | +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Filtre +Image +| | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | ------- | ------------ | --------------------------------------- | ---------- | +| | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +| | | | ruetuaH | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | 987 | 6 37 | 31 0 | Actif | | | +| --------- | --- | ---- | ---- | ----- | --- | --- | +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter +| 06/08/2026 | | Batik | | | | 4098 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Superchamp +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_Div | | 5 | 248 | 183 | 254 | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : FI_Liste_Dossier.CMOD_Inter.SC_Div +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | | laitini tatE | | sucof cevA | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | ---------- | +cilc cevA +| | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| IMG_Inter | | 8 254 | 20 | 20 | 0 | Actif | | | +| --------- | --- | ----- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_InterDevisN | | 8 | 400 | 175 | 30 | 0 | Actif | | +| ------------------ | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_InterEtat | | 8 | 459 | 175 | 30 | 0 | Actif | | +| CMOD_InterNum | | 8 | 280 | 175 | 30 | 0 | Actif | | +| CMOD_InterRefExt | | 8 | 370 | 175 | 30 | 0 | Actif | | +| CMOD_InterSoc | | 8 | 431 | 175 | 30 | 0 | Actif | | +| CMOD_InterSuiviPar | | 8 | 310 | 175 | 30 | 0 | Actif | | +| CMOD_InterType | | 8 | 340 | 175 | 30 | 0 | Actif | | +| CMOD_Lib | | 36 | 251 | 157 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterDevisN +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_Choix | 36 400 | 147 30 0 | Actif | Texte | Non | | | | +| ---------- | ------ | -------- | ----- | ----- | --- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 4099 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | ruegraL | elbisiV | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +nalP +| INT_Opt | | 8 405 | 20 20 | 0 | Actif | | 1 | | +| ------- | --- | ----- | ----- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterEtat +Interrupteur +ellennoitroporp .loC +BAT ehcuoT sennoloc .bN +| | | | | | laitini tatE | | | staté siorT | +| --- | --- | --- | --- | --- | ------------ | --- | --- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 8 464 | 20 20 | 0 | Actif | | 1 | | +| ------- | --- | ----- | ----- | --- | ----- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | | | +| --- | ---------- | ---------- | ------------ | ---------- | ----------- | --- | --- | --- | +| | X noitisoP | Y noitisoP | laitini tatE | | | | | | +| | | ruetuaH | | | sruocraP | | | | +| | | ruegraL | elbisiV | | | | | | +elbaT +| | | | nalP | | eéirT | | | | +| --------- | --- | ---------- | ------- | ------- | ----- | --- | --- | --- | +| CMB_Choix | 36 | 459 147 31 | 0 Actif | Mémoire | | Non | | | +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterNum +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_Choix | 36 280 | 147 30 0 | Actif Texte | | Non | | | | +| ---------- | ------ | -------- | ----------- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 4100 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | ----------- | +ruetuaH +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| INT_Opt | | 8 285 | 20 20 | 0 | Actif | 1 | +| ------- | --- | ----- | ----- | --- | ----- | --- | +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterRefExt +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 eisias epyT | FTR tamroF | ediv is LLUN | lacitrev .csA | +| | X noitisoP Y noitisoP | | laitini tatE | engilitluM | | | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| SAI_Choix | 36 370 | 147 30 0 | Actif Texte | | Non | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | laitini tatE BAT ehcuoT | staté siorT | +| --- | --- | --- | --- | --- | ----------------------- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 8 375 | 20 20 | 0 | Actif | 1 | +| ------- | --- | ----- | ----- | --- | ----- | --- | +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterSoc +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | ----------- | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 8 436 | 20 20 | 0 | Actif | 1 | +| ---------- | --- | ----- | ----- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | 4101 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › 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_Choix | 36 431 | 147 31 | 0 Actif | Mémoire | | Non | | +| --------- | ------ | ------ | ------- | ------- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterSuiviPar +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP | | | | laitini tatE | | staté siorT | +| --- | ---------- | --- | --- | --- | ------------ | --- | ----------- | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 8 315 | 20 20 | 0 | Actif | 1 | | +| ------- | --- | ----- | ----- | --- | ----- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | ------------------ | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | | +| --- | --------------------- | --------------- | ------------ | ---------- | ----------- | --- | --- | +| | X noitisoP Y noitisoP | | laitini tatE | | | | | +| | | ruegraL ruetuaH | | | sruocraP | | | +elbisiV +| | | | | elbaT | eéirT | | | +| --- | --- | --- | --- | ----- | ----- | --- | --- | +nalP +| CMB_Choix | 36 310 | 147 31 | 0 Actif | Mémoire | | Non | | +| --------- | ------ | ------ | ------- | ------- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterType +Interrupteur +ellennoitroporp .loC +| | | | | | | BAT ehcuoT sennoloc .bN | | +| --- | ---------- | ---------- | --- | --- | ------------ | ----------------------- | ----------- | +| | | | | | laitini tatE | | staté siorT | +| | X noitisoP | Y noitisoP | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 8 345 | 20 20 | 0 | Actif | 1 | | +| ---------- | --- | ----- | ----- | --- | ----- | --- | ---- | +| 06/08/2026 | | | Batik | | | | 4102 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › 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_Choix | 36 | 340 147 | 31 | 0 Actif | Mémoire | | Non | | | +| --------- | --- | ------- | --- | ------- | ------- | --- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_Lib +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | | .trev egardaC | | +| --- | --- | --------------------- | --- | --- | ------------ | ------------- | --- | ------------- | --- | +| | | | | | laitini tatE | | | FTR tamroF | | +| | | X noitisoP Y noitisoP | | | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 36 251 | 157 | 26 | 0 Actif | Gauche | Centre | | | +| ------- | --- | ------ | --- | --- | ------- | ------ | ------ | --- | --- | +Champ Modèle de champs : FI_Liste_Dossier.CMOD_NbLigne +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +ruegraL +elbisiV +nalP +| INT_Opt | | 330 11 | 20 | 20 | 0 | Actif | | 1 | | +| ------- | --- | ------ | --- | --- | --- | ----- | --- | --- | --- | +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_Choix | 358 | 6 237 | 31 | 0 Actif | Mémoire | | Non | | | +| ---------- | --- | ----- | --- | ------- | ------- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | 4103 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Options +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | ------- | --- | ------------ | --------- | ---------- | +| | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | 942 6 | 37 31 | 0 | Actif | | | +| --------- | ----- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Site +Superchamp +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_Div | 4 | 513 184 | 171 | 0 | Actif | | +| ------ | --- | ------- | --- | --- | ----- | --- | +Superchamp : FI_Liste_Dossier.CMOD_Site.SC_Div +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | --- | --- | ------------ | --- | ---------- | +cilc cevA +ruegraL ruetuaH +elbisiV +nalP +| IMG_Site_noire | 7 518 | 20 20 | 0 | Actif | | | +| -------------- | ----- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Lib | 35 | 516 152 | 26 | 0 | Actif | | +| -------------- | --- | ------- | --- | --- | ----- | ---- | +| CMOD_SiteAdr | 7 | 575 178 | 30 | 0 | Actif | | +| CMOD_SiteCP | 7 | 604 178 | 30 | 0 | Actif | | +| CMOD_SiteNom | 7 | 546 178 | 30 | 0 | Actif | | +| CMOD_SiteVille | 7 | 633 178 | 30 | 0 | Actif | | +| 06/08/2026 | | Batik | | | | 4104 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Site.SC_Div.CMOD_Lib +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 35 516 | 152 | 26 | 0 | Actif Gauche | Centre | | +| ------- | --- | ------ | --- | --- | --- | ------------ | ------ | --- | +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Site.SC_Div.CMOD_SiteAdr +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_Choix | 35 575 | 150 30 | 0 | Actif | Texte | Non | | | +| --------- | ------ | ------ | --- | ----- | ----- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +BAT ehcuoT sennoloc .bN +| | | | | | | laitini tatE | | staté siorT | +| --- | --- | --- | --- | --- | --- | ------------ | --- | ----------- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| INT_Opt | | 7 580 | 20 | 20 | 0 | Actif | 1 | | +| ------- | --- | ----- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Site.SC_Div.CMOD_SiteCP +| 06/08/2026 | | | | Batik | | | | 4105 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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_Choix | 35 604 | 150 30 0 | Actif Texte | | Non | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | ----------- | +ruetuaH +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| INT_Opt | | 7 609 | 20 20 | 0 | Actif | 1 | +| ------- | --- | ----- | ----- | --- | ----- | --- | +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Site.SC_Div.CMOD_SiteNom +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_Choix | 35 546 | 150 30 0 | Actif Texte | | Non | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | laitini tatE BAT ehcuoT | staté siorT | +| --- | --- | --- | --- | --- | ----------------------- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 7 551 | 20 20 | 0 | Actif | 1 | +| ---------- | --- | ----- | ----- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | 4106 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Site.SC_Div.CMOD_SiteVille +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_Choix | 35 633 | 150 30 0 | Actif | Texte | | Non | | | | +| --------- | ------ | -------- | ----- | ----- | --- | --- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | | BAT ehcuoT | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | ---------- | --- | ----------- | +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 7 638 | 20 | 20 | 0 | Actif | | 1 | | +| ------- | --- | ----- | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Table +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | ------------------ | ----------------------------- | ------------------------------ | ------------------ | ----------------------------- | +| | | | | | )(ertliFH resilitU | | ruesnecsa elluB EERTNE noitseG | | eércna ennoloC 5.5 elbitapmoC | +| | | | | | | .gerne egacolB noitcelésitluM | edacsac eisiaS | | | +BAT ehcuoT +| | X noitisoP Y noitisoP | | laitini tatE | | | | | | | +| --- | --------------------- | --------------- | ------------ | --- | -------- | --- | --- | --- | --- | +| | | ruegraL ruetuaH | | | sruocraP | | | | | +elbisiV +elbaT +nalP +| TABLE_Info | 213 47 | 807 668 0 | affichag | Mémoir | | | | | 3 | +| ---------- | ------ | --------- | -------- | ------ | --- | --- | --- | --- | --- | +Table : FI_Liste_Dossier.CMOD_Table.TABLE_Info +| 06/08/2026 | | | | Batik | | | | | 4107 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | elbairt ennoloC | ehcrehcer cevA | | | +| --- | --- | -------------- | --------------- | --------------------------- | ---------------------- | ----------- | +| | | ehcuag à eéxiF | | .zroh egardaC .trev egardaC | | | +| | | laitini tatE | elbaçalpéD | | eisias epyT FTR tamroF | eisias cevA | +engilitluM +ruegraL +elbisiV +| epyT | | | | | | eéirT | +| --------------- | --- | ----- | --- | ------------- | ------- | ----- | +| COL_PKID | 880 | Grisé | | Droite Centre | Numériq | | +| COL_RefInt | 100 | Actif | | Gauche Centre | Texte | | +| COL_TypeInter | 102 | Actif | | Gauche Centre | Texte | | +| COL_EtatInter | 100 | Actif | | Gauche Centre | Texte | | +| COL_Societe | 75 | Actif | | Gauche Centre | Texte | | +| COL_CodeLieu | 61 | Actif | | Gauche Centre | Texte | | +| COL_Client | 83 | Actif | | Gauche Centre | Texte | | +| COL_Titre | 76 | Actif | | Gauche Centre | Texte | | +| COL_RefExt | 75 | Actif | | Gauche Centre | Texte | | +| COL_DevisN | 62 | Actif | | Gauche Centre | Texte | | +| COL_TypeDossier | 76 | Actif | | Gauche Centre | Texte | | +| COL_EtatDossier | 79 | Actif | | Gauche Centre | Texte | | +| COL_IdInter | 100 | Grisé | | Droite Centre | Numériq | | +Fenêtre : FI_Liste_Dossier +Fenêtre interne : FI_Liste_Dossier +| UI par l'utilisateur | Selon fenêtre | | | | | | +| ------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | | +| ------------------------- | ------- | --- | --- | --- | --- | --- | +| Ctx. HFSQL indép. | Non | | | | | | +| Ancrage | <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Batik | | | 4108 | +| ---------- | --- | --- | ----- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Fenêtre interne : FI_Liste_Dossier +Champ Modèle de champs : FI_Liste_Dossier.CMOD_DateModif +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Dossier +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4109 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Effacer +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Filtre +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4110 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_NbLigne +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4111 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Options +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Site +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4112 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Table +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Séparateur : FI_Liste_Dossier.SPLIT_Dossier +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 +Sens Vertical +Numéro aide 0 +Opacité 100 +Borne max. -1 +Borne min. -1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Sauve position Oui +Image D:\Projets Windev\Batik\Nouvelle +Ancrage Hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4113 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : FI_Liste_Dossier.CMOD_DateModif +Combo : FI_Liste_Dossier.CMOD_DateModif.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 207 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 631 +Largeur interne 207 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 4114 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Dossier.CMOD_DateModif.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Batik 4115 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Dossier +Superchamp : FI_Liste_Dossier.CMOD_Dossier.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 182 +Hauteur externe 224 +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 +06/08/2026 Batik 4116 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Liste_Dossier.CMOD_Dossier.SC_Div +Champ Modèle de champs : +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4117 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4118 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_DossierTitre +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4119 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_Lib +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Liste_Dossier.CMOD_Dossier.SC_Div.IMG_Dossier_noire +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Dossier_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 4120 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_DossierClient +Interrupteur : FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_DossierClient.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +06/08/2026 Batik 4121 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 38 +Largeur interne 147 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 4122 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_DossierNum +06/08/2026 Batik 4123 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Interrupteur : FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_DossierNum.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4124 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 38 +Largeur interne 147 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Batik 4125 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_DossierRefExt +Interrupteur : FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_DossierRefExt.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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> +06/08/2026 Batik 4126 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 +06/08/2026 Batik 4127 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 38 +Largeur interne 147 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 4128 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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 +Champ Modèle de champs : +FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_DossierStatut +Combo : FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_DossierStatut.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 147 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 38 +Largeur interne 147 +Cadrage fonctions gXXX Tenir compte du cadrage +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) +06/08/2026 Batik 4129 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Saisie invalide Oui, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_DossierStatut.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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> +06/08/2026 Batik 4130 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_DossierTitre +Interrupteur : FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_DossierTitre.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Batik 4131 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_DossierTitre.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 +06/08/2026 Batik 4132 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 38 +Largeur interne 147 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 4133 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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 +Champ Modèle de champs : +FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_DossierType +Combo : FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_DossierType.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 147 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 38 +Largeur interne 147 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Texte +Mode ellipse <Aucun> +06/08/2026 Batik 4134 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › 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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_DossierType.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Batik 4135 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_Lib +Libellé : FI_Liste_Dossier.CMOD_Dossier.SC_Div.CMOD_Lib.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +06/08/2026 Batik 4136 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Effacer +Image : FI_Liste_Dossier.CMOD_Effacer.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\gomme_noire.svg +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) +06/08/2026 Batik 4137 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Filtre +Image : FI_Liste_Dossier.CMOD_Filtre.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Double_flèches.svg +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 Oui +Mode 9 images Non +06/08/2026 Batik 4138 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter +Superchamp : FI_Liste_Dossier.CMOD_Inter.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 181 +Hauteur externe 252 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4139 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Superchamp : FI_Liste_Dossier.CMOD_Inter.SC_Div +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterDevisN +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterEtat +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4140 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterNum +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterRefExt +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4141 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterSoc +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterSuiviPar +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4142 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterType +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_Lib +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4143 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Image : FI_Liste_Dossier.CMOD_Inter.SC_Div.IMG_Inter +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Inter.svg +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 Oui +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 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterDevisN +Interrupteur : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterDevisN.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 4144 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterDevisN.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +06/08/2026 Batik 4145 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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 36 +Largeur interne 147 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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> +06/08/2026 Batik 4146 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterEtat +Combo : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterEtat.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 147 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 36 +Largeur interne 147 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Batik 4147 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterEtat.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 4148 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterNum +06/08/2026 Batik 4149 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Interrupteur : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterNum.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4150 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ de saisie : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterNum.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 36 +Largeur interne 147 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Batik 4151 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterRefExt +Interrupteur : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterRefExt.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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> +06/08/2026 Batik 4152 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterRefExt.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 +06/08/2026 Batik 4153 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 36 +Largeur interne 147 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 4154 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterSoc +Combo : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterSoc.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 147 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 36 +Largeur interne 147 +Cadrage fonctions gXXX Tenir compte du cadrage +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) +06/08/2026 Batik 4155 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Saisie invalide Oui, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterSoc.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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> +06/08/2026 Batik 4156 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterSuiviPar +Combo : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterSuiviPar.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 +06/08/2026 Batik 4157 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 147 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 36 +Largeur interne 147 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +06/08/2026 Batik 4158 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterSuiviPar.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4159 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterType +Combo : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterType.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 147 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 36 +Largeur interne 147 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 4160 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_InterType.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Batik 4161 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_Lib +Libellé : FI_Liste_Dossier.CMOD_Inter.SC_Div.CMOD_Lib.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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) +06/08/2026 Batik 4162 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_NbLigne +Combo : FI_Liste_Dossier.CMOD_NbLigne.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +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 237 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 358 +Largeur interne 237 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 4163 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Facteur d'agrandissement 0 +Saisie invalide Oui, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Dossier.CMOD_NbLigne.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Ordre navigation 2 +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 +06/08/2026 Batik 4164 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Compacter option Oui +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Options +Image : FI_Liste_Dossier.CMOD_Options.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\options.svg +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 +06/08/2026 Batik 4165 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Site +Superchamp : FI_Liste_Dossier.CMOD_Site.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 182 +Hauteur externe 169 +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 +06/08/2026 Batik 4166 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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 +Superchamp : FI_Liste_Dossier.CMOD_Site.SC_Div +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Site.SC_Div.CMOD_Lib +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Site.SC_Div.CMOD_SiteAdr +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4167 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Site.SC_Div.CMOD_SiteCP +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Site.SC_Div.CMOD_SiteNom +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4168 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Site.SC_Div.CMOD_SiteVille +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Liste_Dossier.CMOD_Site.SC_Div.IMG_Site_noire +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Site_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 4169 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Site.SC_Div.CMOD_Lib +Libellé : FI_Liste_Dossier.CMOD_Site.SC_Div.CMOD_Lib.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4170 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Site.SC_Div.CMOD_SiteAdr +Interrupteur : FI_Liste_Dossier.CMOD_Site.SC_Div.CMOD_SiteAdr.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4171 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ de saisie : FI_Liste_Dossier.CMOD_Site.SC_Div.CMOD_SiteAdr.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 35 +Largeur interne 150 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Batik 4172 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Site.SC_Div.CMOD_SiteCP +Interrupteur : FI_Liste_Dossier.CMOD_Site.SC_Div.CMOD_SiteCP.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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> +06/08/2026 Batik 4173 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Dossier.CMOD_Site.SC_Div.CMOD_SiteCP.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 +06/08/2026 Batik 4174 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 35 +Largeur interne 150 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 4175 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Site.SC_Div.CMOD_SiteNom +Interrupteur : FI_Liste_Dossier.CMOD_Site.SC_Div.CMOD_SiteNom.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +06/08/2026 Batik 4176 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Texte Markdown Non +Mode menu ctx. <Aucun> +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Dossier.CMOD_Site.SC_Div.CMOD_SiteNom.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 35 +Largeur interne 150 +Cadrage fonctions gXXX Tenir compte du cadrage +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> +06/08/2026 Batik 4177 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +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, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4178 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Site.SC_Div.CMOD_SiteVille +Interrupteur : FI_Liste_Dossier.CMOD_Site.SC_Div.CMOD_SiteVille.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4179 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Champ de saisie : FI_Liste_Dossier.CMOD_Site.SC_Div.CMOD_SiteVille.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 35 +Largeur interne 150 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Batik 4180 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Dossier.CMOD_Table +Table : FI_Liste_Dossier.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +06/08/2026 Batik 4181 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. A la fin +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 +06/08/2026 Batik 4182 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : FI_Liste_Dossier.CMOD_Table.TABLE_Info +Colonne de table : FI_Liste_Dossier.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 +06/08/2026 Batik 4183 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Colonne de table : FI_Liste_Dossier.CMOD_Table.TABLE_Info.COL_RefInt (2) +Titre FR: N° 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: 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 70 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Dossier.CMOD_Table.TABLE_Info.COL_TypeInter (3) +Titre FR: Type 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: 0 +06/08/2026 Batik 4184 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › 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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 70 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Dossier.CMOD_Table.TABLE_Info.COL_EtatInter (4) +Titre FR: État 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: 0 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 70 Taux anc. hauteur 1000 +06/08/2026 Batik 4185 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Colonne de table : FI_Liste_Dossier.CMOD_Table.TABLE_Info.COL_Societe (5) +Titre FR: Société +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Dossier.CMOD_Table.TABLE_Info.COL_CodeLieu (6) +Titre FR: Code lieu +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +06/08/2026 Batik 4186 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › 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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Dossier.CMOD_Table.TABLE_Info.COL_Client (7) +Titre FR: Client +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 130 Taux anc. hauteur 1000 +06/08/2026 Batik 4187 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Colonne de table : FI_Liste_Dossier.CMOD_Table.TABLE_Info.COL_Titre (8) +Titre FR: Titre +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Dossier.CMOD_Table.TABLE_Info.COL_RefExt (9) +Titre FR: Réf. externe +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 +06/08/2026 Batik 4188 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › 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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 70 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Dossier.CMOD_Table.TABLE_Info.COL_DevisN (10) +Titre FR: Devis n° +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 80 Taux anc. hauteur 1000 +06/08/2026 Batik 4189 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les champs +Colonne de table : FI_Liste_Dossier.CMOD_Table.TABLE_Info.COL_TypeDossier (11) +Titre FR: Type dossier +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 80 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Dossier.CMOD_Table.TABLE_Info.COL_EtatDossier (12) +Titre FR: État dossier +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 +06/08/2026 Batik 4190 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › 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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 80 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Dossier.CMOD_Table.TABLE_Info.COL_IdInter (13) +Titre FR: IdInter +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 +FI_Liste_Dossier +Informations sur les menus +06/08/2026 Batik 4191 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Creer (2) +OPT_Modifier (3) +OPT_Supprimer (4) +Libellé des options : Français +Créer un nouveau dossier +Modifier le dossier sélectionné +Supprimer le dossier sélectionné +FI_Liste_Dossier +Code des champs +Déclarations globales de FI_Liste_Dossier +procédure FI_Liste_Dossier(saNomFenetre est une chaîne ANSI = "") +bLeDroitModif est un booléen +si SansEspace(saNomFenetre) <> "" alors +CMOD_Options..Visible = Faux +MenuSelectMoins(OPT_Creer) +MenuSelectMoins(OPT_Modifier) +MenuSelectMoins(OPT_Supprimer) +fin +Fin d'initialisation de FI_Liste_Dossier +bLeDroitModif = bDroit(cGestion_Dossier) +si pas bLeDroitModif alors +MenuSelectMoins(OPT_Creer) +MenuSelectMoins(OPT_Supprimer) +fin +Déclarations globales de CMOD_DateModif +saLib = "Depuis" +saCode = cParam_PeriodeRqSql +Fin d'initialisation de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CMOD_DateModif.CMB_Choix = cCle_PeriodeSqlReq1Mois +CMOD_DateModif.INT_Opt = Vrai +Demande de mise à jour de l'affichage de CMOD_DateModif +06/08/2026 Batik 4192 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_DateModif ) +06/08/2026 Batik 4193 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Dossier +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4194 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_DossierClient +saLib = "Client" +Fin d'initialisation de CMOD_DossierClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DossierClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DossierClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DossierClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DossierClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DossierClient +06/08/2026 Batik 4195 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DossierClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_DossierClient ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_DossierClient ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_DossierClient ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_DossierClient ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_DossierClient ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_DossierClient ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_DossierClient ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_DossierClient ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_DossierClient ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_DossierClient ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_DossierNum +saLib = "Dossier N°" +Fin d'initialisation de CMOD_DossierNum +06/08/2026 Batik 4196 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DossierNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DossierNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DossierNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DossierNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DossierNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DossierNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_DossierNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_DossierNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_DossierNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_DossierNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_DossierNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_DossierNum ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4197 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_DossierNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_DossierNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_DossierNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_DossierNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_DossierRefExt +saLib = "Réf. externe" +Fin d'initialisation de CMOD_DossierRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DossierRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DossierRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DossierRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DossierRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DossierRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DossierRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_DossierRefExt ) +06/08/2026 Batik 4198 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_DossierRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_DossierRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_DossierRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_DossierRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_DossierRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_DossierRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_DossierRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_DossierRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_DossierRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_DossierStatut +saLib = "Statut dossier" +saCode = cParam_StatutDossier +Fin d'initialisation de CMOD_DossierStatut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DossierStatut +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4199 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +ExécuteAncêtre +Entrée dans CMOD_DossierStatut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DossierStatut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DossierStatut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DossierStatut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DossierStatut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_DossierStatut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_DossierStatut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_DossierStatut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_DossierStatut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_DossierStatut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_DossierStatut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_DossierStatut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_DossierStatut ) +06/08/2026 Batik 4200 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_DossierStatut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_DossierStatut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_DossierTitre +saLib = "Titre" +Fin d'initialisation de CMOD_DossierTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DossierTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DossierTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DossierTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DossierTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DossierTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DossierTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_DossierTitre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_DossierTitre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_DossierTitre ) +06/08/2026 Batik 4201 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_DossierTitre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_DossierTitre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_DossierTitre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_DossierTitre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_DossierTitre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_DossierTitre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_DossierTitre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_DossierType +saLib = "Type Dossier" +saCode = cParam_TypeDossier +Fin d'initialisation de CMOD_DossierType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DossierType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DossierType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DossierType +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4202 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DossierType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DossierType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DossierType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_DossierType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_DossierType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_DossierType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_DossierType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_DossierType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_DossierType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_DossierType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_DossierType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_DossierType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_DossierType ) +06/08/2026 Batik 4203 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Lib +salib = "Dossier" +Fin d'initialisation de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Lib ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Lib ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Effacer +06/08/2026 Batik 4204 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +GR_Combo = -1 +GR_Saisie = "" +GR_Boolean = Faux +GR_Int = Faux +A chaque modification de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Filtre +06/08/2026 Batik 4205 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Filtrer() +A chaque modification de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Inter +06/08/2026 Batik 4206 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Inter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4207 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_InterDevisN +salib = "Devis n°" +Fin d'initialisation de CMOD_InterDevisN +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_InterDevisN +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_InterDevisN +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_InterDevisN +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_InterDevisN +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_InterDevisN +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_InterDevisN +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_InterDevisN ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_InterDevisN ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_InterDevisN ) +06/08/2026 Batik 4208 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_InterDevisN ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_InterDevisN ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_InterDevisN ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_InterDevisN ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_InterDevisN ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_InterDevisN ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_InterDevisN ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_InterEtat +saLib = "État d'intervention" +saCode = cParam_EtatInter +Fin d'initialisation de CMOD_InterEtat +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_InterEtat +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_InterEtat +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_InterEtat +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4209 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_InterEtat +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_InterEtat +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_InterEtat +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_InterEtat ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_InterEtat ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_InterEtat ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_InterEtat ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_InterEtat ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_InterEtat ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_InterEtat ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_InterEtat ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_InterEtat ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_InterEtat ) +06/08/2026 Batik 4210 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_InterNum +salib = "Intervention N°" +Fin d'initialisation de CMOD_InterNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_InterNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_InterNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_InterNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_InterNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_InterNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_InterNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_InterNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_InterNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_InterNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_InterNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_InterNum ) +06/08/2026 Batik 4211 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_InterNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_InterNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_InterNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_InterNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_InterNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_InterRefExt +salib = "Réf. externe" +Fin d'initialisation de CMOD_InterRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_InterRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_InterRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_InterRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_InterRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_InterRefExt +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_InterRefExt +06/08/2026 Batik 4212 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_InterRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_InterRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_InterRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_InterRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_InterRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_InterRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_InterRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_InterRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_InterRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_InterRefExt ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_InterSoc +saLib = "Société" +saCode = cSocietesUtilisateur +Fin d'initialisation de CMOD_InterSoc +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4213 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_InterSoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_InterSoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_InterSoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_InterSoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_InterSoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_InterSoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_InterSoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_InterSoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_InterSoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_InterSoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_InterSoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_InterSoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_InterSoc ) +06/08/2026 Batik 4214 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_InterSoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_InterSoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_InterSoc ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_InterSuiviPar +saLib = "Suivi par" +saCode = cSuiviPar +Fin d'initialisation de CMOD_InterSuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_InterSuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_InterSuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_InterSuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_InterSuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_InterSuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_InterSuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_InterSuiviPar ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4215 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_InterSuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_InterSuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_InterSuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_InterSuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_InterSuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_InterSuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_InterSuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_InterSuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_InterSuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_InterType +saLib = "Type d'intervention" +saCode = cParam_TypeInter +Fin d'initialisation de CMOD_InterType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_InterType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_InterType +06/08/2026 Batik 4216 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_InterType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_InterType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_InterType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_InterType +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_InterType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_InterType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_InterType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_InterType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_InterType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_InterType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_InterType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_InterType ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4217 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_InterType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_InterType ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Lib +salib = "Intervention" +Fin d'initialisation de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Lib ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Lib ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_NbLigne +06/08/2026 Batik 4218 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +saLib = "Afficher" +saCode = cParam_LigneRqSql +Fin d'initialisation de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CMOD_NbLigne.CMB_Choix = gtabParametresMetierCode[cParam_LigneRqSql][cCle_NumLigneReq200]: +saParametre +CMOD_NbLigne.INT_Opt = Vrai +Demande de mise à jour de l'affichage de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_NbLigne ) +06/08/2026 Batik 4219 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Options +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4220 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Site +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4221 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +ExécuteAncêtre +A chaque modification de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Lib +salib = "Site" +Fin d'initialisation de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Lib +06/08/2026 Batik 4222 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Lib +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Lib ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Lib ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_SiteAdr +salib = "Adresse du site" +Fin d'initialisation de CMOD_SiteAdr +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SiteAdr +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SiteAdr +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SiteAdr +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SiteAdr +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SiteAdr +06/08/2026 Batik 4223 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SiteAdr +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_SiteAdr ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_SiteAdr ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_SiteAdr ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_SiteAdr ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_SiteAdr ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_SiteAdr ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_SiteAdr ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_SiteAdr ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_SiteAdr ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_SiteAdr ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SiteCP +salib = "Code Postal" +Fin d'initialisation de CMOD_SiteCP +06/08/2026 Batik 4224 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SiteCP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SiteCP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SiteCP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SiteCP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SiteCP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SiteCP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_SiteCP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_SiteCP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_SiteCP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_SiteCP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_SiteCP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_SiteCP ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4225 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_SiteCP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_SiteCP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_SiteCP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_SiteCP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SiteNom +salib = "Nom du site" +Fin d'initialisation de CMOD_SiteNom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SiteNom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SiteNom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SiteNom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SiteNom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SiteNom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SiteNom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_SiteNom ) +06/08/2026 Batik 4226 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_SiteNom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_SiteNom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_SiteNom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_SiteNom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_SiteNom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_SiteNom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_SiteNom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_SiteNom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_SiteNom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SiteVille +salib = "Ville" +Fin d'initialisation de CMOD_SiteVille +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SiteVille +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SiteVille +06/08/2026 Batik 4227 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SiteVille +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SiteVille +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SiteVille +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SiteVille +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_SiteVille ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_SiteVille ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_SiteVille ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_SiteVille ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_SiteVille ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_SiteVille ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_SiteVille ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_SiteVille ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4228 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_SiteVille ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_SiteVille ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +06/08/2026 Batik 4229 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SelLigneTable() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection du menu de MNU_Options.OPT_Creer +Creer() +Sélection du menu de MNU_Options.OPT_Modifier +06/08/2026 Batik 4230 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Code des champs +Modifier() +Sélection du menu de MNU_Options.OPT_Supprimer +Supprimer() +FI_Liste_Dossier +Procédures +Procédure locale Creer +procédure Creer() +tbaParam est un tableau associatif de chaînes ANSI +nIdInterest un entier sur 8 octets +nIdDossier est un entier sur 8 octets +(nIdInter, nIdDossier) = Ouvre(FEN_Fiche_Dossier_Creation,tbaParam) +si nIdInter > 0 _et_ nIdDossier > 0 alors +TableauSupprimeTout(tbaParam) +tbaParam[Intervention.IN_PKID..Nom] = nIdInter +tbaParam[Dossier.DO_PKID..Nom] = nIdDossier +tbaParam[cParam_IdFen] = nIdDossier +OuvreFenSouers("FEN_Fiche_Dossier",tbaParam) +fin +Procédure locale Filtrer +procédure Filtrer() +TableSupprimeTout(TABLE_Info) +ReqSQL est une chaîne +sCR est une chaîne +sdListeDoss est une Source de Données +nTop est un entier = CMOD_NbLigne.CMB_Choix +si nTop>0 _et_ CMOD_NbLigne.INT_Opt alors +ReqSQL=ChaîneConstruit("SELECT TOP %1 ",nTop) +sinon +ReqSQL="SELECT " +fin +ReqSQL+=[ +IN_PKID +,IN_RefInterne +,IN_RefExterne +,IN_CleEtat +,IN_CleType +,IN_Description +,IN_IDSuiviPar +,IN_IDSociete +,IN_IDLieu +06/08/2026 Batik 4231 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Procédures +,IN_NumDevis +,Intervention.ModifDate AS IN_DateModif +,DO_PKID +,DO_CleType +,DO_CleStatut +,DO_Titre +,DO_RefInterne AS RefInterneDoss +,DO_RefExterne AS RefExterneDoss +,CL_Nom +,LI_CodeLieu +] +ReqSQL+=[ +FROM ( +( +( +Dossier +LEFT OUTER JOIN +Intervention +ON Dossier.DO_PKID = Intervention.IN_IDDossier +) +LEFT OUTER JOIN +Client +ON Client.CL_PKID = Dossier.DO_IDClient +) +LEFT OUTER JOIN +Lieu +ON Lieu.LI_PKID = Intervention.IN_IDLieu +) +LEFT OUTER JOIN +Adresse +ON Adresse.AD_PKID = Lieu.LI_IDAdresse +] +ReqSQL+=[ +WHERE 1=1 +] +sCR+=CritereHF(CMOD_DossierNum.INT_Opt,CMOD_DossierNum.SAI_Choix,Dossier.DO_RefInterne..Nom, +df_Milieutexte) +sCR+=CritereHF(CMOD_DossierClient.INT_Opt,CMOD_DossierClient.SAI_Choix,Client.CL_Nom..Nom, +df_Milieutexte) +sCR+=CritereHF(CMOD_DossierTitre.INT_Opt,CMOD_DossierTitre.SAI_Choix,Dossier.DO_Titre..Nom, +df_Milieutexte) +sCR+=CritereHF(CMOD_DossierRefExt.INT_Opt,CMOD_DossierRefExt.SAI_Choix,Dossier.DO_RefExterne..Nom, +df_DebutTexte) +sCR+=CritereHF(CMOD_DossierType.INT_Opt,CMOD_DossierType.CMB_Choix,Dossier.DO_CleType..Nom, +df_TexteComplet) +sCR+=CritereHF(CMOD_DossierStatut.INT_Opt,CMOD_DossierStatut.CMB_Choix,Dossier.DO_CleStatut..Nom, +df_TexteComplet) +sCR+=CritereHF(CMOD_InterNum.INT_Opt,CMOD_InterNum.SAI_Choix,Intervention.IN_RefInterne..Nom, +df_Milieutexte) +sCR+=CritereHF(CMOD_InterSuiviPar.INT_Opt,CMOD_InterSuiviPar.CMB_Choix,Intervention.IN_IDSuiviPar..Nom, +df_Id) +sCR+=CritereHF(CMOD_InterType.INT_Opt,CMOD_InterType.CMB_Choix,Intervention.IN_CleType..Nom, +df_TexteComplet) +sCR+=CritereHF(CMOD_InterRefExt.INT_Opt,CMOD_InterRefExt.SAI_Choix,Intervention.IN_RefExterne..Nom, +df_DebutTexte) +sCR+=CritereHF(CMOD_InterDevisN.INT_Opt,CMOD_InterDevisN.SAI_Choix,Intervention.IN_NumDevis..Nom, +df_DebutTexte) +si CMOD_InterSoc.INT_Opt alors +sCR+=CritereHF(CMOD_InterSoc.INT_Opt,CMOD_InterSoc.CMB_Choix,Intervention.IN_IDSociete..Nom,df_Id) +sinon +tbIdSoc est un tableau d'entiers sur 8 octets = CollaborateurEnCours.tbSocietes +06/08/2026 Batik 4232 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Procédures +si tbIdSoc..Occurrence <= 0 alors +sCR +=" AND Intervention.IN_IDSociete = 0" +sinon +sCR +=" AND Intervention.IN_IDSociete IN ("+TableauVersChaîne(tbIdSoc,",")+",0) " +fin +fin +sCR+=CritereHF(CMOD_InterEtat.INT_Opt,CMOD_InterEtat.CMB_Choix,Intervention.IN_CleEtat..Nom, +df_TexteComplet) +//#Site +sCR+=CritereHF(CMOD_SiteNom.INT_Opt,CMOD_SiteNom.SAI_Choix,Lieu.LI_CodeLieu..Nom,df_Milieutexte) +sCR+=CritereHF(CMOD_SiteAdr.INT_Opt,CMOD_SiteAdr.SAI_Choix,Adresse.AD_Adresse..Nom,df_Milieutexte) +sCR+=CritereHF(CMOD_SiteCP.INT_Opt,CMOD_SiteCP.SAI_Choix,Adresse.AD_CodePostal..Nom,df_DebutTexte) +sCR+=CritereHF(CMOD_SiteVille.INT_Opt,CMOD_SiteVille.SAI_Choix,Adresse.AD_Ville..Nom,df_Milieutexte) +si sCR..Taille > 3 alors +CMOD_DateModif.INT_Opt = Faux +fin +si CMOD_DateModif.INT_Opt _et_ CMOD_DateModif.CMB_Choix <> Null _et_ CMOD_DateModif.CMB_Choix <> "" +alors +dhDateCpt est une DateHeure = DateHeureSys() +si gtabParametresMetierCode[cParam_PeriodeRqSql][CMOD_DateModif.CMB_Choix]..Existe alors +dhDateCpt..Jour-= Val(gtabParametresMetierCode[cParam_PeriodeRqSql][CMOD_DateModif.CMB_Choix]. +saParametre) +fin +ReqSQL+="AND IN_DateModif >= '"+dhDateCpt+"' " +fin +ReqSQL+=sCR +ReqSQL+=[ +ORDER BY IN_DateModif DESC +] +si HExécuteRequêteSQL(sdListeDoss,ConnexionBase:Cnx,hRequêteDéfaut+hRequêteSansCorrection,ReqSQL) alors +i est un entier +pour tout sdListeDoss +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = sdListeDoss.DO_PKID +COL_RefInt[i] = sdListeDoss.IN_RefInterne +COL_TypeInter[i] = (sdListeDoss.IN_CleType <> "" _et_ gtabParametresMetierCode[ +cParam_TypeInter][sdListeDoss.IN_CleType]..Existe ) ? gtabParametresMetierCode[ +cParam_TypeInter][sdListeDoss.IN_CleType].saLibelle sinon "" +COL_EtatDossier[i] = (sdListeDoss.IN_CleEtat <> "" _et_ gtabParametresMetierCode[ +cParam_EtatInter][sdListeDoss.IN_CleEtat]..Existe ) ? gtabParametresMetierCode[ +cParam_EtatInter][sdListeDoss.IN_CleEtat].saLibelle sinon "" +COL_Societe[i] = (sdListeDoss.IN_IDSociete > 0 _et_ gtabListeSocietes[sdListeDoss. +IN_IDSociete]..Existe) ? gtabListeSocietes[sdListeDoss.IN_IDSociete].saNom sinon "" +COL_CodeLieu[i] = sdListeDoss.LI_CodeLieu +COL_Client[i] = sdListeDoss.CL_Nom +COL_Titre[i] = sdListeDoss.DO_Titre +COL_RefExt[i] = sdListeDoss.IN_RefExterne +COL_TypeDossier[i] = (sdListeDoss.DO_CleType <> "" _et_ gtabParametresMetierCode[ +cParam_TypeDossier][sdListeDoss.DO_CleType]..Existe ) ? gtabParametresMetierCode[ +cParam_TypeDossier][sdListeDoss.DO_CleType].saLibelle sinon "" +COL_EtatDossier[i] = (sdListeDoss.DO_CleStatut <> "" _et_ gtabParametresMetierCode[ +cParam_StatutDossier][sdListeDoss.DO_CleStatut]..Existe ) ? gtabParametresMetierCode[ +cParam_StatutDossier][sdListeDoss.DO_CleStatut].saLibelle sinon "" +COL_DevisN[i] = sdListeDoss.IN_NumDevis +COL_IdInter[i] = sdListeDoss.IN_PKID +fin +06/08/2026 Batik 4233 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Dossier › Procédures +si i > 1 alors +ToastAffiche(i+" Enregistrements trouvés",toastCourt,cvMilieu) +sinon si i = 1 alors +ToastAffiche("1 Enregistrement trouvé",toastCourt,cvMilieu) +sinon +ToastAffiche("Aucun enregistrement trouvé",toastCourt,cvMilieu) +fin +fin +HLibèreRequête(sdListeDoss) +Procédure locale Modifier +procédure Modifier() +SelLigneTable() +Procédure locale SelLigneTable +procédure SelLigneTable() +si TABLE_Info > 0 _et_ COL_PKID[TABLE_Info] > 0 alors +si saNomFenetre <> "" alors +si FenEtat(saNomFenetre) <> Inexistant alors +selon saNomFenetre +cas "FEN_Choix_Liste" +ExécuteTraitement(FEN_Choix_Liste.SelectionLigneFenInt,trtProcédure,COL_IdInter[ +TABLE_Info]) +autre cas +fin +fin +sinon +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[Dossier.DO_PKID..Nom] = COL_PKID[TABLE_Info] +tbaParam[Intervention.IN_PKID..Nom] = COL_IdInter[TABLE_Info] +tbaParam[cParam_IdFen] = COL_PKID[TABLE_Info] +OuvreFenSouers("FEN_Fiche_Dossier",tbaParam) +fin +fin +Procédure locale Supprimer +procédure Supprimer() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 alors +si HLitRecherchePremier(Dossier,DO_PKID,COL_PKID[i]) alors +oDossier est un MDossier +FichierVersMémoire(oDossier,Dossier) +si oDossier:Supprimer() alors +TableSupprime(TABLE_Info,i) +fin +fin +fin +06/08/2026 Batik 4234 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Image +FI_TdB_Information_Inter +Image +FI_TdB_Information_Inter +Informations générales +FI_TdB_Information_Inter +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TdB_Information_Inter.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | ------------ | ---- | +| Date de création | | 17/06/2025 13:46:57 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 10/04/2026 15:56:40 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 363 Hauteur | 439 | +| Visible | | Barre de titre | | Menu système | | +| 06/08/2026 | | | Batik | | 4235 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations générales +| Icône réduction | Icône agrandissement | | Icône aide ctx. | | +| --------------------- | -------------------- | --- | --------------- | --- | +| Barre de message | Détourer le fond | | Mode 9 images | | +| Redimensionnable | Avec grip | | Grip dans image | | +| Déplace/fond | Sauve position | | Ascenseur auto. | | +| Gestion grande police | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | Actif | | | | +| ------------------------------- | ----------------------------------- | --- | --- | --- | +| Curseur survol | 0 | | | | +| Copie d'écran | Oui | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | <Aucun> | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Oui | | | | +| Type cadre | <Aucun> | | | | +| 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 | Windows 11 | | | | +| 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 | | | | +| ---------------------- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | 4236 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | 9 | Libellé | | | 2 | +| --- | ---------------------- | --- | --- | --------------- | --- | --- | --- | +| | Image | | 1 | Combo | | | 4 | +| | Forme | | 1 | Fenêtre interne | | | 1 | +| | Champ Modèle de champs | | 17 | Option de menu | | | 2 | +Nombre d'éléments dans la fenêtre : 37 +FI_TdB_Information_Inter +Informations sur les champs +Fenêtre : FI_TdB_Information_Inter +Fenêtre interne +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FI_TdB_Information_Inter | | 0 | 0 363 | 439 | 0 | | | +| ------------------------ | --- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdB_Information_Inter +Champ Modèle de champs +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| CMOD_DateDemande | | 4 | 152 110 | 53 | 0 | Actif | | +| ---------------- | --- | --- | ------- | --- | --- | ----- | ---- | +| CMOD_DateDevis | | 247 | 98 110 | 53 | 0 | Actif | | +| CMOD_DateFacture | | 247 | 206 110 | 53 | 0 | Actif | | +| CMOD_Descrp | | 3 | 260 354 | 152 | 0 | Actif | | +| CMOD_DevisNum | | 247 | 44 110 | 53 | 0 | Actif | | +| CMOD_Etat | | 122 | 44 117 | 53 | 0 | Actif | | +| CMOD_FactureNum | | 247 | 152 110 | 53 | 0 | Actif | | +| CMOD_FenTitre | | 36 | 7 321 | 26 | 0 | Actif | | +| CMOD_Img | | 3 | 7 29 | 24 | 0 | Actif | | +| CMOD_InfoSup | | 3 | 412 353 | 26 | 0 | Actif | | +| CMOD_Ligne | | 0 | 33 363 | 9 | 0 | Actif | | +| CMOD_NInter | | 4 | 44 110 | 53 | 0 | Actif | | +| CMOD_RefExterne | | 122 | 206 117 | 53 | 0 | Actif | | +| CMOD_Societe | | 4 | 206 110 | 53 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 4237 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| CMOD_SuiviPar | | 122 | 98 | 117 | 53 | | 0 | Actif | | +| ------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_Titre | | 4 | 98 | 110 | 53 | | 0 | Actif | | +| CMOD_Type | | 122 | 152 | 117 | 53 | | 0 | Actif | | +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_DateDemande +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 | | | | | +ruetuaH +| | ruegraL | | elbisiV | | | | | | | +| --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_Date | 4 152 110 | 53 0 | Actif | Date | | Non | | | | +| -------- | --------- | ---- | ----- | ---- | --- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_DateDevis +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 eisias epyT | FTR tamroF | | ediv is LLUN | | lacitrev .csA | +| | X noitisoP Y noitisoP | | laitini tatE | | engilitluM | | | | | +ruetuaH +| | ruegraL | | elbisiV | | | | | | | +| --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_Date | 247 98 110 | 53 0 | Actif | Date | | Non | | | | +| -------- | ---------- | ---- | ----- | ---- | --- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_DateFacture +| 06/08/2026 | | | | Batik | | | | | 4238 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +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_Date | 247 206 110 | 53 0 | Actif Date | Non | | | +| -------- | ----------- | ---- | ---------- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_Descrp +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_Texte | 3 260 354 | 152 0 | Actif Texte | Non | | | +| --------- | --------- | ----- | ----------- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_DevisNum +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_Texte | 247 44 110 | 53 0 | Actif Texte | Non | | | +| ---------- | ---------- | ---- | ----------- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | 4239 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_Etat +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_Combo | 122 | 44 | 117 | 53 | 0 Actif | | Mémoire | | | Non | | +| --------- | --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_FactureNum +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_Texte | 247 | 152 110 | 53 | 0 | Actif | Texte | | Non | | | | +| --------- | --- | ------- | --- | --- | ----- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_FenTitre +Libellé +tuaféd rap eéminA +| | | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | ---------- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | X noitisoP | | | | | | laitini tatE | | | FTR tamroF | +Y noitisoP +| | | | | ruegraL | ruetuaH | | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_lib | | 36 | 7 | 321 | 26 | 0 | | Actif | Gauche | Centre | | +| ---------- | --- | --- | --- | --- | ----- | --- | --- | ----- | ------ | ------ | ---- | +| 06/08/2026 | | | | | Batik | | | | | | 4240 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_Img +Image +| | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | --- | ------- | --- | ------------ | --------------------------------------- | ---------- | +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| | | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | 3 | 7 | 29 | 24 | 0 | Actif | | | +| --------- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_InfoSup +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | | | +| --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| LIB_lib | 3 | 412 353 | 26 | 0 | Actif | Gauche | Centre | | +| ------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_Ligne +Forme +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_Sep | | 0 | 34 | 363 | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_NInter +| 06/08/2026 | | | Batik | | | | | 4241 | +| ---------- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +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_Texte | 4 44 110 | 53 0 | affichag | Texte | | Non | | | +| --------- | -------- | ---- | -------- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_RefExterne +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_Texte | 122 206 117 | 53 0 | Actif | Texte | | Non | | | +| --------- | ----------- | ---- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_Societe +Combo +reihcif eétsissa eisiaS +| | | | | | | | eriotagilbo eisiaS | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | ------------------ | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | | BAT ehcuoT | eisias cevA | | | +| --- | --------------------- | ------- | --- | ------------ | ---------- | ----------- | --- | --- | +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | +| | | ruetuaH | | | | sruocraP | | | +| | | ruegraL | | elbisiV | | | | | +elbaT +| | | | nalP | | | eéirT | | | +| ---------- | ----- | ------ | ---- | ----- | ------- | ----- | --- | ---- | +| CMB_Combo | 4 206 | 110 53 | 0 | Actif | Mémoire | | Non | | +| 06/08/2026 | | | | Batik | | | | 4242 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_SuiviPar +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_Combo | 122 98 | 117 53 | 0 Actif | Mémoire | Non | | +| --------- | ------ | ------ | ------- | ------- | --- | --- | +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_Titre +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_Texte | 4 98 110 | 53 0 | Actif Texte | Non | | | +| --------- | -------- | ---- | ----------- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_Type +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_Combo | 122 152 | 117 53 | 0 Actif | Mémoire | Non | | +| 06/08/2026 | | | Batik | | | 4243 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Fenêtre : FI_TdB_Information_Inter +Fenêtre interne : FI_TdB_Information_Inter +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_TdB_Information_Inter +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_DateDemande +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +06/08/2026 Batik 4244 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_DateDevis +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 660 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_DateFacture +Ordre navigation 15 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 660 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +06/08/2026 Batik 4245 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_Descrp +Ordre navigation 16 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_DevisNum +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 660 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +06/08/2026 Batik 4246 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_Etat +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 330 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_FactureNum +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 660 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +06/08/2026 Batik 4247 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_FenTitre +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_Img +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4248 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_InfoSup +Ordre navigation 17 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_Ligne +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4249 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_NInter +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_RefExterne +Ordre navigation 14 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 330 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +06/08/2026 Batik 4250 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_Societe +Ordre navigation 13 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_SuiviPar +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 330 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +06/08/2026 Batik 4251 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_Titre +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_Type +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 330 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +06/08/2026 Batik 4252 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_DateDemande +Champ de saisie : FI_TdB_Information_Inter.CMOD_DateDemande.SAI_Date +Note pour la documentation technique +FR: { +"Libelle":"Date de la demande" +} +Libellé FR: Date +Groupe GR_Modif +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 4 +Largeur interne 105 +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 +06/08/2026 Batik 4253 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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> +Liaison des données :oInter.dhCreationDate +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_DateDevis +Champ de saisie : FI_TdB_Information_Inter.CMOD_DateDevis.SAI_Date +Note pour la documentation technique +FR: { +"Libelle":"Date du devis" +} +Libellé FR: Date +Groupe GR_Modif +Ordre navigation 1 +Curseur survol 0 +06/08/2026 Batik 4254 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +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 247 +Largeur interne 105 +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 +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +06/08/2026 Batik 4255 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :oInter.dDateDevis +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_DateFacture +Champ de saisie : FI_TdB_Information_Inter.CMOD_DateFacture.SAI_Date +Note pour la documentation technique +FR: { +"Libelle":"Date de facturation" +} +Libellé FR: Date +Groupe GR_Modif +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 247 +Largeur interne 105 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +06/08/2026 Batik 4256 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › 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> +Liaison des données :oInter.dDateFacture +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 +06/08/2026 Batik 4257 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Bouton droit : Monochrome <Aucun> +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_Descrp +Champ de saisie : FI_TdB_Information_Inter.CMOD_Descrp.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Description de l’intervention" +} +Libellé FR: &Champ de saisie +Groupe GR_Modif +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 4 +Largeur interne 353 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 4258 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › 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 Automatique +Complétion système de fichier Non +Saisie invalide Oui, non 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> +Liaison des données :oInter.saDescription +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4259 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_DevisNum +Champ de saisie : FI_TdB_Information_Inter.CMOD_DevisNum.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Num\u00e9ro du devis" +} +Libellé FR: Texte +Groupe GR_Modif +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 247 +Largeur interne 110 +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 +06/08/2026 Batik 4260 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +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> +Liaison des données :oInter.saNumDevis +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_Etat +Combo : FI_TdB_Information_Inter.CMOD_Etat.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Statut de l'intervention" +} +Libellé FR: &Combo : +Groupe GR_Modif +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 4261 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +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 117 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 122 +Largeur interne 117 +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 Oui +Liaison des données :oInter.saCleEtat +Nb. Enreg. Max 0 +1ère ligne perso. Non +06/08/2026 Batik 4262 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_FactureNum +Champ de saisie : FI_TdB_Information_Inter.CMOD_FactureNum.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Num\u00e9ro de facture" +} +Libellé FR: Texte +Groupe GR_Modif +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 247 +Largeur interne 110 +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 +06/08/2026 Batik 4263 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › 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 +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> +Liaison des données :oInter.saNumFacture +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4264 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_FenTitre +Libellé : FI_TdB_Information_Inter.CMOD_FenTitre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4265 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_Img +Image : FI_TdB_Information_Inter.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Options de l'intervention associ\u00e9e au dossier" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\information-info-svgrepo-com.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 4266 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_InfoSup +Libellé : FI_TdB_Information_Inter.CMOD_InfoSup.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4267 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_Ligne +Forme : FI_TdB_Information_Inter.CMOD_Ligne.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_NInter +Champ de saisie : FI_TdB_Information_Inter.CMOD_NInter.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Num\u00e9ro d'intervention" +} +Libellé FR: &Champ de saisie +Groupe GR_Modif +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 4 +Largeur interne 110 +Cadrage fonctions gXXX Tenir compte du cadrage +06/08/2026 Batik 4268 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › 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: 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, non 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> +Liaison des données :oInter.saRefInterne +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 +06/08/2026 Batik 4269 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Bouton droit : Monochrome Couleur monochrome du style +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_RefExterne +Champ de saisie : FI_TdB_Information_Inter.CMOD_RefExterne.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"R\u00e9f\u00e9rence externe" +} +Libellé FR: Texte +Groupe GR_Modif +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 122 +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 +06/08/2026 Batik 4270 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › 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 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> +Liaison des données :oInter.saRefExterne +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4271 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_Societe +Combo : FI_TdB_Information_Inter.CMOD_Societe.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Soci\u00e9t\u00e9" +} +Libellé FR: &Combo : +Groupe GR_Modif +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 110 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 4 +Largeur interne 110 +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 +06/08/2026 Batik 4272 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +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 Oui +Liaison des données :oInter.nIDSociete +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_SuiviPar +Combo : FI_TdB_Information_Inter.CMOD_SuiviPar.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Responsable du suivi" +} +Libellé FR: &Combo : +Groupe GR_Modif +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 117 +Larg. déroulée perso. Non +Hauteur ligne 38 +06/08/2026 Batik 4273 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Retrait gauche 10 +Position X interne 122 +Largeur interne 117 +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 Oui +Liaison des données :oInter.nIDSuiviPar +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4274 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_Titre +Champ de saisie : FI_TdB_Information_Inter.CMOD_Titre.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Intitul\u00e9 de l'intervention" +} +Libellé FR: Texte +Groupe GR_Modif +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 4 +Largeur interne 110 +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 +06/08/2026 Batik 4275 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +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> +Liaison des données :oInter.saTitre +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Information_Inter.CMOD_Type +Combo : FI_TdB_Information_Inter.CMOD_Type.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Type d'intervention" +} +Libellé FR: &Combo : +Groupe GR_Modif +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 4276 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +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 117 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 122 +Largeur interne 117 +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 Oui +Liaison des données :oInter.saCleType +Nb. Enreg. Max 0 +1ère ligne perso. Non +06/08/2026 Batik 4277 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TdB_Information_Inter +Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Imprimer (2) +Libellé des options : Français +Imprimer +FI_TdB_Information_Inter +Code des champs +Déclarations globales de FI_TdB_Information_Inter +procédure FI_TdB_Information_Inter() +oInter est un MIntervention +stInfoFen est un STSurveilleEnrg +stInfoFen.saFenetre = MoiMême..NomComplet +stInfoFen.pProcedureMaJ = MaJSurveillance +bBloque est un booléen = Faux +bMenuOption est un booléen +Fin d'initialisation de FI_TdB_Information_Inter +si gtbaListeEtat[cGroupe_EtatInter]..Existe = Vrai alors +pour tout oEtat de gtbaListeEtat[cGroupe_EtatInter] +MenuAjouteOption("OPT_Imprimer","Imprimer_"+oEtat.nPKID,oEtat.saLibelle,Imprimer,oEtat.nPKID) +fin +sinon +06/08/2026 Batik 4278 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Code des champs +MenuSelectMoins(OPT_Imprimer) +fin +Fermeture de FI_TdB_Information_Inter +ArretSurveilleUneFen(stInfoFen.saFenetre) +Déclarations globales de CMOD_DateDemande +salib = "Date de demande" +Fin d'initialisation de CMOD_DateDemande +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DateDemande +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DateDemande +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DateDemande +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DateDemande +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DateDemande +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DateDemande +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Date ( CMOD_DateDemande ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Date ( CMOD_DateDemande ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Date ( CMOD_DateDemande ) +06/08/2026 Batik 4279 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_DateDemande.SAI_Date..NomComplet) +A chaque modification de SAI_Date ( CMOD_DateDemande ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Date ( CMOD_DateDemande ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_DateDevis +salib = "Date devis" +Fin d'initialisation de CMOD_DateDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DateDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DateDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DateDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DateDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DateDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DateDevis +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Date ( CMOD_DateDevis ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Date ( CMOD_DateDevis ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4280 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Code des champs +ExécuteAncêtre +Sortie de SAI_Date ( CMOD_DateDevis ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_DateDevis.SAI_Date..NomComplet) +A chaque modification de SAI_Date ( CMOD_DateDevis ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Date ( CMOD_DateDevis ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_DateFacture +salib = "Date facture" +Fin d'initialisation de CMOD_DateFacture +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DateFacture +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DateFacture +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DateFacture +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DateFacture +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DateFacture +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DateFacture +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Date ( CMOD_DateFacture ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Date ( CMOD_DateFacture ) +06/08/2026 Batik 4281 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Date ( CMOD_DateFacture ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_DateFacture.SAI_Date..NomComplet) +A chaque modification de SAI_Date ( CMOD_DateFacture ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Date ( CMOD_DateFacture ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Descrp +salib = "Description" +Fin d'initialisation de CMOD_Descrp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Descrp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Descrp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Descrp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Descrp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Descrp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Descrp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Descrp ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4282 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Code des champs +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Descrp ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Descrp ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Descrp.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_Descrp ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Descrp ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_DevisNum +salib = "Devis n°" +Fin d'initialisation de CMOD_DevisNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DevisNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DevisNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DevisNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DevisNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DevisNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DevisNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_DevisNum ) +06/08/2026 Batik 4283 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_DevisNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_DevisNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_DevisNum.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_DevisNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_DevisNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Etat +saLib = "État d'intervention" +Fin d'initialisation de CMOD_Etat +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Etat +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Etat +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Etat +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Etat +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Etat +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Etat +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4284 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Code des champs +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Etat ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême.NomComplet,cParam_EtatInter,Vrai,oInter:saCleEtat) +Entrée dans CMB_Combo ( CMOD_Etat ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Etat ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Etat ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Etat.CMB_Combo..NomComplet) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Etat ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_FactureNum +salib = "Facture n°" +Fin d'initialisation de CMOD_FactureNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_FactureNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_FactureNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_FactureNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_FactureNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_FactureNum +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4285 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Code des champs +ExécuteAncêtre +A chaque modification de CMOD_FactureNum +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_FactureNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_FactureNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_FactureNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_FactureNum.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_FactureNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_FactureNum ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_FenTitre +salib= "Informations sur l'intervention" +Fin d'initialisation de CMOD_FenTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_FenTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_FenTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_FenTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_FenTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_FenTitre +06/08/2026 Batik 4286 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_FenTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_FenTitre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_FenTitre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4287 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Code des champs +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_InfoSup +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_InfoSup +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_InfoSup +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_InfoSup +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_InfoSup +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_InfoSup +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_InfoSup +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_InfoSup ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4288 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Code des champs +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_InfoSup ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NInter +salib = "Dossier n°" +Fin d'initialisation de CMOD_NInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NInter +06/08/2026 Batik 4289 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NInter +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_NInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_NInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_NInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NInter ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_RefExterne +salib = "Réf. externe" +Fin d'initialisation de CMOD_RefExterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_RefExterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_RefExterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_RefExterne +06/08/2026 Batik 4290 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_RefExterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_RefExterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_RefExterne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_RefExterne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_RefExterne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_RefExterne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_RefExterne.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_RefExterne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_RefExterne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Societe +saLib = "Société" +Fin d'initialisation de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Societe +06/08/2026 Batik 4291 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême.NomComplet,cSocietesUtilisateur,Vrai,oInter:nIDSociete) +Entrée dans CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Societe.CMB_Combo..NomComplet) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SuiviPar +saLib = "Suivi par " +Fin d'initialisation de CMOD_SuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SuiviPar +06/08/2026 Batik 4292 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SuiviPar +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_SuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême.NomComplet,cSuiviPar,Vrai,oInter:nIDSuiviPar) +Entrée dans CMB_Combo ( CMOD_SuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_SuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_SuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_SuiviPar.CMB_Combo..NomComplet) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_SuiviPar ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +saLib = "Titre" +Fin d'initialisation de CMOD_Titre +06/08/2026 Batik 4293 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Titre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Titre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Titre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Titre.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_Titre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Titre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Type +06/08/2026 Batik 4294 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Code des champs +salib = "Type d'intervention" +Fin d'initialisation de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême.NomComplet,cParam_TypeInter,Vrai,oInter:saCleType) +Entrée dans CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Type.CMB_Combo..NomComplet) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Type ) +06/08/2026 Batik 4295 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +FI_TdB_Information_Inter +Procédures +Procédure locale AjouterEleSurveillance +procédure AjouterEleSurveillance() +// On surveille l’élément +TableauSupprimeTout(stInfoFen.tbInfoASurveiller) +pstInfoItem est un STInfoSurveille dynamique +pstInfoItem = allouer un STInfoSurveille +pstInfoItem.n8Id = oInter:nPKID +pstInfoItem.saTable = Intervention..Nom +pstInfoItem.saLibRubId = Intervention.IN_PKID..Nom +pstInfoItem.nNumErg = oInter:nNumEnrg +TableauAjoute(stInfoFen.tbInfoASurveiller,pstInfoItem) +utiliser SectionCritique(gtbaElementsASurveiller) dans +gtbaElementsASurveiller[stInfoFen:saFenetre] = stInfoFen +fin +Procédure locale Blocage +procédure Blocage(bBlocage est un booléen) +bBloque = bBlocage +GR_Modif..EnSaisie = bBloque +Procédure locale Enregistrer +procédure Enregistrer() +EcranVersSource() +// Il y a des information dans l'intervention que je ne veut pas écraser +// c'est pour ca que je n'enregistre pas l'objet directement +si bBloque = Vrai _et_ HLitRecherchePremier(Intervention,IN_PKID,oInter:nPKID) alors +Intervention.IN_Titre = oInter.saTitre +Intervention.CreationDate = oInter.dhCreationDate +Intervention.IN_IDSociete = oInter.nIDSociete +Intervention.IN_CleEtat = oInter.saCleEtat +Intervention.IN_CleType = oInter.saCleType +Intervention.IN_IDSuiviPar = oInter.nIDSuiviPar +Intervention.IN_RefExterne = oInter.saRefExterne +Intervention.IN_NumDevis = oInter.saNumDevis +Intervention.IN_DateDevis = oInter.dDateDevis +Intervention.IN_NumFacture = oInter.saNumFacture +Intervention.IN_DateFacture = oInter.dDateFacture +Intervention.IN_Description = oInter.saDescription +//*****************************************************// +// A supprimer => compatibilité avec l’ancien version // +//*****************************************************// +si oInter.saCleEtat <> "" _et_ gtabParametresMetierCode[cParam_EtatInter][oInter.saCleEtat]..Existe +alors +06/08/2026 Batik 4296 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Procédures +oInter.nIDEtatIntervention = gtabParametresMetierCode[cParam_EtatInter][oInter.saCleEtat].nPKID +sinon +oInter.nIDEtatIntervention = 0 +fin +si oInter.saCleType <> "" _et_ gtabParametresMetierCode[cParam_TypeInter][oInter.saCleType]..Existe +alors +oInter.nIDTypeIntervention = gtabParametresMetierCode[cParam_TypeInter][oInter.saCleType].nPKID +sinon +oInter.nIDTypeIntervention = 0 +fin +Intervention.ModifDate = DateHeureSys() +Intervention.ModifUser = CollaborateurEnCours:nIdUser +si pas HModifie(Intervention) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Information_Inter.Enregistrer") +sinon +CreationElementModifie(Intervention.IN_PKID, Intervention..Nom) +fin +si FenEtat(FEN_Fiche_Dossier) = Actif alors +b est un entier = FEN_Fiche_Dossier.ZR_Inter +si b > 0 alors +FEN_Fiche_Dossier.ZR_Inter[b].CMOD_Lib1.LIB_lib = DonneLibInter(oInter) +FEN_Fiche_Dossier.ZR_Inter[b].CMOD_Lib2.LIB_lib = DonneSousLibInter(oInter) +fin +fin +fin +Procédure locale ExporterDevis +procédure ExporterDevis() +Sablier(Vrai) +si gbBATIGESTActif _et_ oInter:nPKID > 0 _et_ gTbConfigsBDExt..Occurrence > 0 alors +si HLitRecherchePremier(Intervention_BddExterne,INX_IDIntervention,oInter:nPKID) alors +Erreur("L'intervention a été déjà exporter dans BATIGEST avec le numéro de chantier : "+ +Intervention_BddExterne.INX_IDExterne) +renvoyer Faux +sinon +si oInter:nIDSociete <= 0 alors +Erreur("Vous devez choisir la société pour l'intervention ") +renvoyer Faux +fin +si oInter:nIDClient <= 0 alors +Erreur("Vous devez choisir un client pour l'intervention ") +renvoyer Faux +fin +si pas oInter:DateCharge(oInter:nPKID) alors // Inter supprimé +Erreur("Erreur dans la mise à jour de l'intervention ") +renvoyer Faux +sinon +clClient est un MClient +si oInter:nIDClient > 0 _et_ HLitRecherchePremier(Client,CL_PKID,oInter:nIDClient) alors +FichierVersMémoire(clClient,Client) +si HLitRecherchePremier(Client_BddExterne,CLX_IDCLient,clClient:nPKID) alors +clClient:saIdExportClient = Client_BddExterne.CLX_IDExterne +fin +sinon +Erreur("Vous devez choisir un client pour l'intervention ") +renvoyer Faux +06/08/2026 Batik 4297 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Procédures +fin +si oInter:nIDSociete > 0 _et_ TableauCherche(gTbConfigsBDExt,tcLinéaire,"nIDSociete", +oInter:nIDSociete) <= 0 alors +Erreur("La société de l'intervention, n'a pas de parametrage pour l'export du devis") +renvoyer Faux +fin +si ExportDevisBDExt(oInter,clClient) alors +si HLitRecherchePremier(Intervention_BddExterne,INX_IDIntervention,oInter:nPKID) alors +MenuSupprime("Opt_Exporter.ExporterInt") +CMOD_InfoSup.LIB_lib = +"Intervention exportée dans BATIGEST avec le numéro de chantier : "+ +Intervention_BddExterne.INX_IDExterne +CMOD_InfoSup..Visible= Vrai +fin +fin +Info("Traitement termine") +fin +fin +fin +Sablier(fauxToutSablier) +Procédure locale Filtrer +procédure Filtrer(nIdInter est un entier sur 8 octets) +oInter:DateCharge(nIdInter) +InitCombos() +AjouterEleSurveillance() +GR_Modif..EnSaisie = bBloque +CMOD_InfoSup.LIB_lib = "" +CMOD_InfoSup..Visible = Faux +SourceVersEcran() +bOkBDExt est un booléen = Faux +si gbBATIGESTActif _et_ nIdInter > 0 _et_ gTbConfigsBDExt..Occurrence > 0 alors +si HLitRecherchePremier(Intervention_BddExterne,INX_IDIntervention,nIdInter) alors +si SansEspace(Intervention_BddExterne.INX_IDExterne) = "" alors +si oInter:nIDSociete > 0 _et_ TableauCherche(gTbConfigsBDExt,tcLinéaire,"nIDSociete", +oInter:nIDSociete) > 0 alors +bOkBDExt = Vrai +fin +sinon +CMOD_InfoSup.LIB_lib = "Intervention exportée dans BATIGEST avec le numéro de chantier : " ++Intervention_BddExterne.INX_IDExterne +CMOD_InfoSup..Visible = Vrai +fin +sinon +si oInter:nIDSociete > 0 _et_ TableauCherche(gTbConfigsBDExt,tcLinéaire,"nIDSociete",oInter: +nIDSociete) > 0 alors +bOkBDExt = Vrai +fin +fin +si bOkBDExt _et_ pas bMenuOption alors +MenuAjouteMenu(MNU_Options,"Opt_Exporter","Exporter") +MenuAjouteOption("Opt_Exporter","ExporterInt","Devis (Batigest)",ExporterDevis) +bMenuOption = Vrai +fin +fin +Procédure locale Imprimer +06/08/2026 Batik 4298 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Information_Inter › Procédures +procédure Imprimer(nId est un entier sur 8 octets) +si oInter:nPKID > 0 alors +oEtat est un MEtat_Intervention +oEtat.Filtrer(oInter:nPKID) +iDestination(iVisualisateur) +iImprimeEtat(gtbaListeEtat[cGroupe_EtatInter][nId].savaleur, oEtat) +fin +Procédure locale InitCombos +procédure InitCombos() +InitChamp(CMOD_Etat.CMB_Combo.NomComplet,cParam_EtatInter,Vrai,oInter:saCleEtat) +InitChamp(CMOD_Societe.CMB_Combo.NomComplet,cSocietesUtilisateur,Vrai,oInter:nIDSociete) +InitChamp(CMOD_SuiviPar.CMB_Combo.NomComplet,cSuiviPar,Vrai,oInter:nIDSuiviPar) +InitChamp(CMOD_Type.CMB_Combo.NomComplet,cParam_TypeInter,Vrai,oInter:saCleType) +Procédure locale MaJSurveillance +procédure MaJSurveillance(local nIdUser est un entier sur 8 octets,local NomFicher est une chaîne ANSI) +SectionCritiqueDébut("SC_MiseAjourAffichage") +si nIdUser = CollaborateurEnCours:nIdUser alors +renvoyer Faux // Aucune mis a jour c'est la mème personne qui modifie +fin +si NomFicher = Intervention..Nom _et_ oInter <> Null _et_ oInter:nPKID > 0 alors +si pas oInter:DateCharge(oInter:nPKID) alors // Inter supprimé +si FenEtat(FEN_Fiche_Dossier) = Actif alors +FEN_Fiche_Dossier.MaJSurveillance(nIdUser,Intervention..Nom) +fin +sinon +SourceVersEcran() +fin +fin +SectionCritiqueFin("SC_MiseAjourAffichage") +Procédure locale Modifier +procédure Modifier(saNomChamp est une chaîne ANSI) +si {saNomChamp}..LiaisonFichier <> "" _et_ saNomChamp <> "" _et_ {saNomChamp} <> {{saNomChamp}.. +LiaisonFichier} alors // On vérifié que vraiment il y a eu un modification +Enregistrer() +si saNomChamp = CMOD_Etat.CMB_Combo..NomComplet alors +oUnEtat est un MEtatIntervention +oUnEtat:nIDIntervention = oInter:nPKID +oUnEtat:dhDateDebut = DateHeureSys() +oUnEtat:dhDateFin = DateHeureSys() +oUnEtat:saCleEtat = oInter:saCleEtat +si oUnEtat:Enregistrer() alors +si FenEtat(FEN_Fiche_Dossier) = Actif alors +ExécuteTraitement(FEN_Fiche_Dossier.MaJWidgetApresModif,trtProcédure, +"FI_TdB_Historique_Etat") +fin +fin +fin +fin +06/08/2026 Batik 4299 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Image +FI_TdB_Donneurs_Ordre +Image +FI_TdB_Donneurs_Ordre +Informations générales +FI_TdB_Donneurs_Ordre +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TdB_Donneurs_Ordre.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 17/06/2025 14:13:33 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 20/03/2026 10:33:09 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 333 Hauteur | 146 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------ | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| 06/08/2026 | | | Batik | | 4300 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Informations générales +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 3 +Table 1 Forme 1 +Fenêtre interne 1 Champ Modèle de champs 4 +Option de menu 7 Colonne de table 6 +Nombre d'éléments dans la fenêtre : 24 +FI_TdB_Donneurs_Ordre +Informations sur les champs +06/08/2026 Batik 4301 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Informations sur les champs +Fenêtre : FI_TdB_Donneurs_Ordre +Fenêtre interne +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| FI_TdB_Donneurs_Ordre | 0 | 0 333 | 146 | 0 | | | +| --------------------- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdB_Donneurs_Ordre +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | ------- | --- | ------------ | --------- | ---------- | +| | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Dissocie | -340 101 | 40 64 | 0 | Actif | | | +| ------------ | -------- | ----- | --- | ----- | --- | --- | +| IMG_SiteOk | -284 93 | 45 63 | 0 | Actif | | | +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Ligne | 1 | 33 332 | 8 | 0 | Actif | | +| ------------ | --- | ------ | --- | --- | ----- | --- | +| CMOD_Options | 3 | 7 29 | 24 | 0 | Actif | | +| CMOD_Table | 1 | 41 331 | 104 | 0 | Actif | | +| CMOD_Titre | 40 | 7 288 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_TdB_Donneurs_Ordre.CMOD_Ligne +Forme +| | | | | | laitini tatE | BAT ehcuoT | +| --- | ---------- | ---------- | ------- | --- | ------------ | ---------- | +| | X noitisoP | Y noitisoP | | | | | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_Sep | 1 | 34 332 | 2 | 0 | Actif | | +| ---------- | --- | ------ | --- | --- | ----- | ---- | +| 06/08/2026 | | Batik | | | | 4302 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Informations sur les champs +Champ Modèle de champs : FI_TdB_Donneurs_Ordre.CMOD_Options +Image +| | | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | --- | --- | --------------------- | ------- | --- | --- | ------------ | --------------------- | ----------------- | +| | | | X noitisoP Y noitisoP | | | | laitini tatE | | sucof cevA | +| | | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | | | 3 7 | 29 24 | | 0 | Actif | | | +| --------- | --- | --- | --- | ----- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_TdB_Donneurs_Ordre.CMOD_Table +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 | | | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | --- | --- | +sruocraP +ruegraL ruetuaH +elbisiV +| | | | nalP | elbaT | | | | | | +| ---------- | ---- | --- | ---- | ------------ | --- | --- | --- | --- | --- | +| TABLE_Info | 3 43 | 325 | 98 0 | Actif Mémoir | | | | | 4 | +Table : FI_TdB_Donneurs_Ordre.CMOD_Table.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +| | | | | ehcuag à eéxiF | | .zroh egardaC | | | | +| --- | --- | --- | --- | -------------- | --- | ------------- | --- | --- | --- | +.trev egardaC +| | | | | elbaçalpéD | | | | eisias epyT FTR tamroF | eisias cevA | +| --- | --- | --- | ------------ | ---------- | --- | --- | --- | ---------------------- | ----------- | +| | | | laitini tatE | | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +| COL_PKID | | 880 | Grisé | | Droite | Centre | Numériq | | | +| ------------- | --- | --- | -------- | --- | ------ | ------ | ------- | ----- | --- | +| COL_Control | | 28 | Actif | | Centre | Centre | | | | +| COL_Demandeur | | 46 | Actif | | Centre | Centre | | | | +| COL_Nom | | 125 | affichag | | Gauche | Centre | | Texte | | +| COL_Role | | 90 | Actif | | Gauche | Centre | | Texte | | +Numériq +| COL_IdCtcLieu | | 100 | Grisé | | Droite | Centre | | | | +| ------------- | --- | --- | ----- | ----- | ------ | ------ | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | 4303 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Informations sur les champs +Champ Modèle de champs : FI_TdB_Donneurs_Ordre.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +X noitisoP Y noitisoP laitini tatE +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 40 7 | 288 26 | 0 Actif | Gauche | Centre | | +| ------- | ---- | ------ | ------- | ------ | ------ | --- | +Fenêtre : FI_TdB_Donneurs_Ordre +Fenêtre interne : FI_TdB_Donneurs_Ordre +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +| Facteur d'agrandissement | 0 | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | +| Ancrage | <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_TdB_Donneurs_Ordre +| 06/08/2026 | | Batik | | | | 4304 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Informations sur les champs +Champ Modèle de champs : FI_TdB_Donneurs_Ordre.CMOD_Ligne +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Donneurs_Ordre.CMOD_Options +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4305 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Informations sur les champs +Champ Modèle de champs : FI_TdB_Donneurs_Ordre.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Donneurs_Ordre.CMOD_Titre +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4306 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Informations sur les champs +Image : FI_TdB_Donneurs_Ordre.IMG_Dissocie +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\breakRouge.svg +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 +Image : FI_TdB_Donneurs_Ordre.IMG_SiteOk +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Site_Vert.svg +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 +06/08/2026 Batik 4307 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Informations sur les champs +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 Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Donneurs_Ordre.CMOD_Ligne +Forme : FI_TdB_Donneurs_Ordre.CMOD_Ligne.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4308 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Informations sur les champs +Champ Modèle de champs : FI_TdB_Donneurs_Ordre.CMOD_Options +Image : FI_TdB_Donneurs_Ordre.CMOD_Options.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Options des donneurs d'ordre rattach\u00e9s \u00e0 l'intervention" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\ordre.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 4309 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Informations sur les champs +Champ Modèle de champs : FI_TdB_Donneurs_Ordre.CMOD_Table +Table : FI_TdB_Donneurs_Ordre.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Liste des donneurs d'ordre rattach\u00e9s" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 4310 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Informations sur les champs +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 : FI_TdB_Donneurs_Ordre.CMOD_Table.TABLE_Info +Colonne de table : FI_TdB_Donneurs_Ordre.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 +06/08/2026 Batik 4311 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › 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 : FI_TdB_Donneurs_Ordre.CMOD_Table.TABLE_Info.COL_Control (2) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Menu contextuel MNU_Attacher +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 4 +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 50 Taux anc. hauteur 1000 +06/08/2026 Batik 4312 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Informations sur les champs +Colonne de table : FI_TdB_Donneurs_Ordre.CMOD_Table.TABLE_Info.COL_Demandeur +Titre FR: D +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Menu contextuel MNU_Options +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 200 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Donneurs_Ordre.CMOD_Table.TABLE_Info.COL_Nom (4) +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Menu contextuel MNU_Options +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 +06/08/2026 Batik 4313 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Informations sur les champs +Masque saisie FR: 0 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 450 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Donneurs_Ordre.CMOD_Table.TABLE_Info.COL_Role (5) +Titre FR: Rôle +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Menu contextuel MNU_Options +Hauteur liste 0 +Largeur liste 90 +Larg. déroulée perso. Non +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 +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 300 Taux anc. hauteur 1000 +06/08/2026 Batik 4314 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Informations sur les champs +Colonne de table : FI_TdB_Donneurs_Ordre.CMOD_Table.TABLE_Info.COL_IdCtcLieu (6) +Titre FR: IdCtcLieu +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 +Champ Modèle de champs : FI_TdB_Donneurs_Ordre.CMOD_Titre +Libellé : FI_TdB_Donneurs_Ordre.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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> +06/08/2026 Batik 4315 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Informations sur les champs +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TdB_Donneurs_Ordre +Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Creer (2) +OPT_Ajouter_un_nouveau_donneur_d_ordre (3) +OPT_Modifier_le_donneur_d_ordre (4) +OPT_Supprimer_le_donneur_d_ordre (5) +06/08/2026 Batik 4316 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Informations sur les menus +Libellé des options : Français +Créer un nouveau donneur d'ordre +Ajouter un nouveau donneur d'ordre +Modifier le donneur d'ordre +Supprimer le donneur d'ordre +Menu contextuel : 'MNU_Attacher' +Nom des options +OPT_Attacher (7) +Libellé des options : Français +Rattacher le contact au site +FI_TdB_Donneurs_Ordre +Code des champs +Déclarations globales de FI_TdB_Donneurs_Ordre +procédure FI_TdB_Donneurs_Ordre() +tbaContactClient est un tableau associatif de MContact_Inter +nIdInter est un entier sur 8 octets +nIdLieu est un entier sur 8 octets +bBloque est un booléen +Fin d'initialisation de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ligne +06/08/2026 Batik 4317 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Options ) +06/08/2026 Batik 4318 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4319 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Code des champs +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier() +A chaque modification de COL_Demandeur ( TABLE_Info ) +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContactClient[COL_PKID[i]]..Existe alors +tbaContactClient[COL_PKID[i]].bEstDemandeur = COL_Demandeur[i] +si pas tbaContactClient[COL_PKID[i]].Enregistrer() alors +COL_Demandeur[i] = COL_Demandeur[i] ? Faux sinon Vrai +tbaContactClient[COL_PKID[i]].bEstDemandeur= COL_Demandeur[i] +fin +fin +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +06/08/2026 Batik 4320 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_Role ( TABLE_Info ) +InitChamp(MoiMême..Nom,cParam_RoleContact) +Sélection d'une ligne de COL_Role ( TABLE_Info ) +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContactClient[COL_PKID[i]]..Existe _et_ tbaContactClient[COL_PKID +[i]].saCleRole <> COL_Role[i] alors +saRole est une chaîne ANSI = tbaContactClient[COL_PKID[i]].saCleRole +tbaContactClient[COL_PKID[i]].saCleRole = COL_Role[i] +si pas tbaContactClient[COL_PKID[i]].Enregistrer() alors +COL_Role[i] = saRole +tbaContactClient[COL_PKID[i]].saCleRole = saRole +fin +fin +Déclarations globales de CMOD_Titre +salib = "Donneurs d'ordre" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +06/08/2026 Batik 4321 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Sélection du menu de MNU_Attacher.OPT_Attacher +Attacher() +Sélection du menu de MNU_Options.OPT_Ajouter_un_nouveau_donneur_d_ordre +Ajouter() +Sélection du menu de MNU_Options.OPT_Creer +Creer() +Sélection du menu de MNU_Options.OPT_Modifier_le_donneur_d_ordre +Modifier() +Sélection du menu de MNU_Options.OPT_Supprimer_le_donneur_d_ordre +Supprimer() +FI_TdB_Donneurs_Ordre +Procédures +Procédure locale Ajouter +procédure Ajouter() +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +tbaCriteres est un tableau associatif de chaînes ANSI +06/08/2026 Batik 4322 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Procédures +si nIdInter > 0 alors +nIdClient est un entier sur 8 octets +nIdPersone est un entier sur 8 octets +reqCli est une Requête SQL = +[ +SELECT CL_PKID, CL_CodeClient, CL_Nom, CL_CleType, CL_CodeComptable FROM Client INNER JOIN +Intervention ON IN_IDClient = Client.CL_PKID AND IN_PKID = {p_IdInter} +] +reqCli.p_IdInter = nIdInter +si HExécuteRequêteSQL(reqCli) alors +pour tout reqCli +tbaCriteres[Client.CL_CodeClient..Nom] = reqCli.CL_CodeClient +tbaCriteres[Client.CL_CodeComptable..Nom] = reqCli.CL_CodeComptable +tbaCriteres[Client.CL_Nom..Nom] = reqCli.CL_Nom +tbaCriteres[Client.CL_CleType..Nom] = reqCli.CL_CleType +tbaCriteres[Client.CL_PKID..Nom] = reqCli.cl_pkid +nIdClient = reqCli.cl_pkid +fin +fin +si nIdClient > 0 alors +nIdPersone = Ouvre(FEN_Choix_Liste,cFI_DonneursOrdre,tbaCriteres) +fin +si nIdPersone > 0 _et_ nIdClient > 0 alors +pour tout oCont de tbaContactClient +si oCont.nIDPersonne = nIdPersone alors +renvoyer Faux // Il existe déjà +fin +fin +si HLitRecherchePremier(Personne,PE_PKID,nIdPersone) alors +i est un entier = TableAjouteLigne(TABLE_Info) +oCtc est un MContact_Inter +oCtc.nIDClient = nIdClient +oCtc.nIDIntervention = nIdInter +oCtc.nIDPersonne = nIdPersone +COL_Control[i] = IMG_Dissocie +saCle est une chaîne ANSI = HFiltre(Lieu_Personne, "LIP_IDLieu="+nIdLieu+ +" ET LIP_IDPersonne=" +oCtc.nIDPersonne) +HLitPremier(Lieu_Personne, saCle) +tantque HEnDehors(Lieu_Personne) = Faux +si Lieu_Personne.LIP_PKID > 0 alors +COL_Control[i] = IMG_SiteOk +COL_IdCtcLieu[i] = Lieu_Personne.LIP_PKID +oCtc.saLot = Lieu_Personne.LIP_Lot +oCtc.saEtage = Lieu_Personne.LIP_Etage +oCtc.saCleRole = Lieu_Personne.LIP_CleRole +sortir +fin +HLitSuivant(Lieu_Personne,saCle) +fin +si oCtc:Enregistrer() alors +FichierVersMémoire(oCtc.oPersonne,Personne) +tbaContactClient[oCtc:nPKID] = oCtc +COL_PKID[i] = oCtc.nPKID +COL_Demandeur[i] = oCtc.bEstDemandeur +COL_Nom[i] = oCtc.oPersonne.NomPrenom() +06/08/2026 Batik 4323 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Procédures +COL_Role[i] = oCtc.saCleRole +fin +fin +fin +fin +Procédure locale Attacher +procédure Attacher() +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContactClient[COL_PKID[i]]..Existe _et_ COL_IdCtcLieu[i] <= 0 +_et_ nIdLieu > 0 alors +HRAZ(Lieu_Personne) +Lieu_Personne.LIP_CleRole = COL_Role[i] +Lieu_Personne.LIP_IDPersonne = tbaContactClient[COL_PKID[i]].nIDPersonne +Lieu_Personne.LIP_IDLieu = nIdLieu +Lieu_Personne.CreationUser = CollaborateurEnCours.nIdUser +Lieu_Personne.ModifUser = CollaborateurEnCours.nIdUser +Lieu_Personne.CreationDate = DateHeureSys() +Lieu_Personne.ModifDate = DateHeureSys() +si COL_Role[i] <> "" _et_ gtabParametresMetierCode[cParam_RoleContact][COL_Role[i]]..Existe +alors +Lieu_Personne.LIP_IDRole = gtabParametresMetierCode[cParam_RoleContact][COL_Role[i]].nPKID +fin +si pas HAjoute(Lieu_Personne) alors +UneErreur.Init(ErreurApp.ErreurHFSQL, +"Une erreur s'est produite, le contact n'a pas pu être rattacher au site.") +sinon +COL_Control[i] = IMG_SiteOk +COL_IdCtcLieu[i] = Lieu_Personne.LIP_PKID +fin +fin +Procédure locale Blocage +procédure Blocage(bBlocage est un booléen) +bBloque = bBlocage +TABLE_Info..EnSaisie = bBlocage +Procédure locale Creer +procédure Creer() +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +tbaTbParam est un tableau associatif de chaînes ANSI +tbaTbParam[cParam_Fenetre] = cFI_DonneursOrdre +tbaTbParam[Intervention.IN_PKID..Nom] = nIdInter +si Ouvre(FEN_Fiche,tbaTbParam) alors +Filtrer(nIdInter) +fin +Procédure locale Filtrer +06/08/2026 Batik 4324 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Procédures +procédure Filtrer(nId est un entier sur 8 octets) +nIdInter = nId +nIdLieu = 0 +TableauSupprimeTout(tbaContactClient) +TableSupprimeTout(TABLE_Info) +si nIdInter > 0 alors +i est un entier +odCtc est un MContact_Inter dynamique +rqSql est une Requête SQL = +[ +SELECT Personne.*,Intervention_Personne.*, Lieu_Personne.LIP_PKID, IN_IDLieu +FROM Intervention_Personne +INNER JOIN Intervention ON IN_PKID = {p_IdInter} +INNER JOIN Personne ON (Personne.PE_PKID=Intervention_Personne.IP_IDPersonne) +LEFT JOIN Lieu_Personne ON (LIP_IDLieu = IN_IDLieu AND LIP_IDPersonne = PE_PKID) +WHERE Intervention_Personne.IP_IDIntervention= IN_PKID +AND Intervention_Personne.IP_IDClient=IN_IDClient ORDER BY IP_PKID +] +rqSql.p_IdInter = nIdInter +// si il y a un Id lieu il est un contact site +// si il y a un Id Client c'est un donneur d'ordre +si pas HExécuteRequêteSQL(rqSql) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Donneurs_Ordre.Filtrer") +sinon +nIdPersLieu est un entier sur 8 octets +pour tout rqSql +nIdLieu = rqSql.IN_IDLieu +si nIdPersLieu <> rqSql.IP_pkid alors +odCtc = allouer un MContact_Inter +FichierVersMémoire(odCtc,rqSql) +FichierVersMémoire(odCtc.oPersonne,rqSql) +tbaContactClient[odCtc:nPKID] = odCtc +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = odCtc.nPKID +COL_Demandeur[i] = odCtc.bEstDemandeur +COL_Nom[i] = odCtc.oPersonne.NomPrenom() +COL_Role[i] = odCtc.saCleRole +COL_Control[i] = IMG_Dissocie +si rqSql.LIP_PKID > 0 alors +COL_IdCtcLieu[i] = rqSql.LIP_PKID +COL_Control[i] = IMG_SiteOk +fin +fin +nIdPersLieu = rqSql.IP_PKID +fin +TABLE_Info..EnSaisie = Faux +fin +fin +Procédure locale Modifier +procédure Modifier() +si pas bBloque alors +06/08/2026 Batik 4325 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Donneurs_Ordre › Procédures +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContactClient[COL_PKID[i]]..Existe alors +tbaTbParam est un tableau associatif de chaînes ANSI +tbaTbParam[cParam_Fenetre] = cFI_DonneursOrdre +tbaTbParam[Intervention.IN_PKID..Nom] = nIdInter +tbaTbParam[Personne.PE_PKID..Nom] = tbaContactClient[COL_PKID[i]].nIDPersonne +tbaTbParam[Client.CL_PKID..Nom] = tbaContactClient[COL_PKID[i]].nIDClient +si Ouvre(FEN_Fiche,tbaTbParam) alors +Filtrer(nIdInter) +fin +fin +Procédure locale Supprimer +procédure Supprimer() +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContactClient[COL_PKID[i]]..Existe alors +saQuestion est une chaîne ANSI = "Êtes-vous sûr de vouloir supprimer le contact "+tbaContactClient[ +COL_PKID[i]].oPersonne.NomPrenom()+" de cette intervention ?" +si OuiNon(saQuestion) = Oui alors +si tbaContactClient[COL_PKID[i]].Supprimer() alors +TableauSupprime(tbaContactClient,COL_PKID[i]) +TableSupprime(TABLE_Info,i) +fin +fin +fin +06/08/2026 Batik 4326 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Image +FI_TdB_Site +Image +FI_TdB_Site +Informations générales +FI_TdB_Site +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TdB_Site.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 17/06/2025 15:53:09 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 20/03/2026 10:15:40 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 364 Hauteur | 296 | +| 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. +| 06/08/2026 | | | Batik | | 4327 | +| ---------- | --- | --- | ----- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Informations générales +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Champ de saisie 5 Libellé 2 +Interrupteur 2 Image 1 +Forme 1 Fenêtre interne 1 +Champ Modèle de champs 11 Option d'interrupteur 2 +Option de menu 4 +06/08/2026 Batik 4328 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Informations générales +Nombre d'éléments dans la fenêtre : 29 +FI_TdB_Site +Informations sur les champs +Fenêtre : FI_TdB_Site +Fenêtre interne +BAT ehcuoT +| | X noitisoP | | | | laitini tatE | | +| --- | ---------- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | ruegraL | ruetuaH | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_TdB_Site | 0 | 0 364 | 296 | 0 | | | +| ----------- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdB_Site +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Img | 3 | 7 29 | 24 | 0 | Actif | | +| ------------- | --- | ------- | --- | --- | -------- | ---- | +| CMOD_Ligne | 0 | 33 364 | 8 | 0 | Actif | | +| CMOD_SansNom1 | 7 | 85 152 | 100 | 0 | affichag | | +| CMOD_SansNom2 | 8 | 193 71 | 53 | 0 | affichag | | +| CMOD_SansNom3 | 85 | 193 78 | 53 | 0 | affichag | | +| CMOD_SansNom4 | 164 | 85 196 | 68 | 0 | affichag | | +| CMOD_SansNom5 | 164 | 161 196 | 85 | 0 | affichag | | +| CMOD_SansNom6 | 164 | 254 92 | 29 | 0 | affichag | | +| CMOD_SansNom7 | 264 | 254 100 | 29 | 0 | affichag | | +| CMOD_SansNom8 | 7 | 42 353 | 40 | 0 | Actif | | +| CMOD_Titre | 39 | 7 320 | 26 | 0 | Actif | | +| 06/08/2026 | | Batik | | | | 4329 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Site.CMOD_Img +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| --- | --- | ---------- | ---------- | --- | ------- | --- | --- | ------------ | --------- | ---------- | +| | | | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 3 | 7 | | 29 24 | | 0 | Actif | | | +| --------- | --- | --- | --- | --- | ----- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_TdB_Site.CMOD_Ligne +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_Sep | | | 0 | 34 | 364 | | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Site.CMOD_SansNom1 +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_Texte | 7 85 | 152 100 | 0 | Actif | Texte | | Non | | | | +| --------- | ---- | ------- | --- | ----- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Site.CMOD_SansNom2 +| 06/08/2026 | | | | | Batik | | | | | 4330 | +| ---------- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Informations sur les champs +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_Texte | 8 193 71 | 53 0 | Actif Texte | Non | | | +| --------- | -------- | ---- | ----------- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Site.CMOD_SansNom3 +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_Texte | 85 193 78 | 53 0 | Actif Texte | Non | | | +| --------- | --------- | ---- | ----------- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Site.CMOD_SansNom4 +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_Jeton | 164 85 196 | 68 0 | Actif Texte | Non | | | +| ---------- | ---------- | ---- | ----------- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | 4331 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Site.CMOD_SansNom5 +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_Texte | 164 161 | 196 85 0 | Actif Texte | | Non | | +| --------- | ------- | -------- | ----------- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Site.CMOD_SansNom6 +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | ----------- | +ruegraL ruetuaH +elbisiV +nalP +| INT_Int | | 164 254 | 92 29 | 0 | Actif | 1 | +| ------- | --- | ------- | ----- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Site.CMOD_SansNom7 +Interrupteur +ellennoitroporp .loC +BAT ehcuoT sennoloc .bN +| | | | | | laitini tatE | staté siorT | +| --- | --- | --- | --- | --- | ------------ | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Int | | 264 254 | 100 29 | 0 | Actif | 1 | +| ---------- | --- | ------- | ------ | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | 4332 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Site.CMOD_SansNom8 +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +X noitisoP Y noitisoP laitini tatE +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 7 42 | 353 40 | 0 Actif | Gauche | Centre | | +| ------- | ---- | ------ | ------- | ------ | ------ | --- | +Champ Modèle de champs : FI_TdB_Site.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +laitini tatE FTR tamroF +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 39 7 | 320 26 | 0 Actif | Gauche | Centre | | +| ------- | ---- | ------ | ------- | ------ | ------ | --- | +Fenêtre : FI_TdB_Site +Fenêtre interne : FI_TdB_Site +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +Facteur d'agrandissement +0 +| Ctx. HFSQL indép. | Non | | | | | | +| ----------------- | ------- | --- | --- | --- | --- | --- | +| Ancrage | <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Batik | | | | 4333 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Informations sur les champs +Fenêtre interne : FI_TdB_Site +Champ Modèle de champs : FI_TdB_Site.CMOD_Img +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Site.CMOD_Ligne +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4334 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Site.CMOD_SansNom1 +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 490 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Site.CMOD_SansNom2 +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +06/08/2026 Batik 4335 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Site.CMOD_SansNom3 +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 160 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Site.CMOD_SansNom4 +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 490 Taux anc. hauteur 1000 +06/08/2026 Batik 4336 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Site.CMOD_SansNom5 +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 490 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Site.CMOD_SansNom6 +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 240 Taux anc. hauteur 1000 +06/08/2026 Batik 4337 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Site.CMOD_SansNom7 +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 740 Taux anc. bas 1000 Taux anc. largeur 240 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Site.CMOD_SansNom8 +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4338 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Site.CMOD_Titre +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Site.CMOD_Img +Image : FI_TdB_Site.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Options du site associ\u00e9 \u00e0 l'intervention" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Site_noire.svg +Groupe GR_Saisie +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 +06/08/2026 Batik 4339 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Informations sur les champs +Mode menu ctx. <Aucun> +Mire visible Oui +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : FI_TdB_Site.CMOD_Ligne +Forme : FI_TdB_Site.CMOD_Ligne.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Site.CMOD_SansNom1 +06/08/2026 Batik 4340 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Informations sur les champs +Champ de saisie : FI_TdB_Site.CMOD_SansNom1.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Adresse" +} +Libellé FR: &Champ de saisie +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 8 +Largeur interne 151 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 4341 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Informations sur les champs +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :oSite.oAdresse.saAdresse +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Site.CMOD_SansNom2 +Champ de saisie : FI_TdB_Site.CMOD_SansNom2.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Code postal" +} +Libellé FR: Texte +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 +06/08/2026 Batik 4342 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 8 +Largeur interne 71 +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 +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> +Liaison des données :oSite.oAdresse.saCodePostal +Gestion Euro Non +Personnaliser le picto AMI Non +06/08/2026 Batik 4343 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Site.CMOD_SansNom3 +Champ de saisie : FI_TdB_Site.CMOD_SansNom3.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Ville" +} +Libellé FR: Texte +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 85 +Largeur interne 78 +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 +06/08/2026 Batik 4344 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Informations sur les champs +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> +Liaison des données :oSite.oAdresse.saVille +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4345 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Site.CMOD_SansNom4 +Champ de saisie : FI_TdB_Site.CMOD_SansNom4.SAI_Jeton +Note pour la documentation technique +FR: { +"Libelle":"Code d'acc\u00e8s" +} +Libellé FR: Jeton : +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 164 +Largeur interne 196 +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 +06/08/2026 Batik 4346 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › 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) Oui +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :oSite.saCodeAcces +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Site.CMOD_SansNom5 +Champ de saisie : FI_TdB_Site.CMOD_SansNom5.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Informations compl\u00e9mentaires" +} +Libellé FR: &Champ de saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +06/08/2026 Batik 4347 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Informations sur les champs +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 165 +Largeur interne 195 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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> +06/08/2026 Batik 4348 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Informations sur les champs +Liaison des données :oSite.saNote +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Site.CMOD_SansNom6 +Interrupteur : FI_TdB_Site.CMOD_SansNom6.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Badge" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Ordre navigation 1 +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 +06/08/2026 Batik 4349 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Informations sur les champs +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> +Liaison des données :oSite.bBadge +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Site.CMOD_SansNom7 +Interrupteur : FI_TdB_Site.CMOD_SansNom7.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Interphone" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Ordre navigation 1 +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) +06/08/2026 Batik 4350 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Informations sur les champs +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> +Liaison des données :oSite.bInterphone +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Site.CMOD_SansNom8 +Libellé : FI_TdB_Site.CMOD_SansNom8.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Lieu d'intervention" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse <Aucun> +06/08/2026 Batik 4351 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Informations sur les champs +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 +Liaison des données :oSite.saCodeLieu +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 +Champ Modèle de champs : FI_TdB_Site.CMOD_Titre +Libellé : FI_TdB_Site.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 +06/08/2026 Batik 4352 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Informations sur les champs +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 +FI_TdB_Site +Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Creer (2) +OPT_Modifier (3) +OPT_Changer (4) +Libellé des options : Français +Créer un nouveau site +Modifier le site +Changer le site +FI_TdB_Site +Code des champs +Déclarations globales de FI_TdB_Site +procédure FI_TdB_Site() +nIdInterv est un entier sur 8 octets +nIdClient est un entier sur 8 octets // pour chercher le site +oSite est un MLieu +bBloque est un booléen +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +06/08/2026 Batik 4353 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ligne +06/08/2026 Batik 4354 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SansNom1 +salib = "Adresse" +Fin d'initialisation de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +06/08/2026 Batik 4355 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SansNom2 +salib = "Code postal" +Fin d'initialisation de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom2 +06/08/2026 Batik 4356 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SansNom3 +salib = "Ville" +Fin d'initialisation de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom3 +06/08/2026 Batik 4357 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_SansNom3 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_SansNom3 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_SansNom3 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_SansNom3 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_SansNom3 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SansNom4 +salib = "Code d'accès" +Fin d'initialisation de CMOD_SansNom4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom4 +06/08/2026 Batik 4358 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom4 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Jeton ( CMOD_SansNom4 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Jeton ( CMOD_SansNom4 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Jeton ( CMOD_SansNom4 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ajout d'un jeton dans SAI_Jeton ( CMOD_SansNom4 ) +procédure AjoutJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Suppression d'un jeton dans SAI_Jeton ( CMOD_SansNom4 ) +procédure SuppressionJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Clic sur un jeton de SAI_Jeton ( CMOD_SansNom4 ) +procédure ClicJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(MonJeton) +Entrée en saisie d'un jeton de SAI_Jeton ( CMOD_SansNom4 ) +procédure EntreSaisieJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Modification d'un jeton de SAI_Jeton ( CMOD_SansNom4 ) +procédure ModificationJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +A chaque modification de SAI_Jeton ( CMOD_SansNom4 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Jeton ( CMOD_SansNom4 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SansNom5 +06/08/2026 Batik 4359 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Code des champs +saLib = "Note" +Fin d'initialisation de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_SansNom5 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_SansNom5 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_SansNom5 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_SansNom5 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_SansNom5 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SansNom6 +06/08/2026 Batik 4360 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Code des champs +salib = "Badge" +Fin d'initialisation de CMOD_SansNom6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom6 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_SansNom6 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Int ( CMOD_SansNom6 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Int ( CMOD_SansNom6 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Int ( CMOD_SansNom6 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_SansNom6 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SansNom7 +06/08/2026 Batik 4361 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Code des champs +salib = "Interphone" +Fin d'initialisation de CMOD_SansNom7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom7 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_SansNom7 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Int ( CMOD_SansNom7 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Int ( CMOD_SansNom7 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Int ( CMOD_SansNom7 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_SansNom7 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom8 +06/08/2026 Batik 4362 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom8 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_SansNom8 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_SansNom8 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Site" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +06/08/2026 Batik 4363 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Sélection du menu de MNU_Options.OPT_Changer +Changer() +Sélection du menu de MNU_Options.OPT_Creer +Creer() +Sélection du menu de MNU_Options.OPT_Modifier +Modifier() +FI_TdB_Site +Procédures +Procédure locale Blocage +procédure Blocage(bBlocage est un booléen) +bBloque = bBlocage +Procédure locale Changer +procédure Changer() +06/08/2026 Batik 4364 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Procédures +si nIdInterv > 0 _et_ Modifiable() alors +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +tbaCriteres est un tableau associatif de chaînes ANSI +tbaCriteres[cParam_Fenetre] = cFI_Liste_Site +si HLitRecherchePremier(Client,CL_PKID,nIdClient) alors +tbaCriteres[Client.CL_CodeClient..Nom] = Client.CL_CodeClient +tbaCriteres[Client.CL_Nom..Nom] = Client.CL_Nom +tbaCriteres[Client.CL_CleType..Nom] = Client.CL_CleType +tbaCriteres[Client.CL_PKID..Nom] = Client.CL_PKID +fin +bOk est un booléen +nIdLieu est un entier sur 8 octets +(bOk,nIdLieu) = Ouvre(FEN_Choix_Liste,cFEN_Inter,tbaCriteres) +si bOk _et_ nIdLieu > 0 alors +si HLitRecherchePremier(Intervention,IN_PKID,nIdInterv) alors +Intervention.IN_IDLieu = nIdLieu +Intervention.ModifDate = DateHeureSys() +Intervention.ModifUser = CollaborateurEnCours:nIdUser +si pas HModifie(Intervention) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Site.Changer") +sinon +Filtrer(nIdInterv) +SupprimerContactSiteInter() +fin +fin +fin +fin +Procédure locale Creer +procédure Creer() +si nIdInterv > 0 _et_ Modifiable() alors +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +tbaTbParam est un tableau associatif de chaînes ANSI +tbaTbParam[cParam_Fenetre] = cFEN_Site +tbaTbParam[Lieu.LI_PKID..Nom] = 0 +tbaTbParam[Client.CL_PKID..Nom] = nIdClient +bOk est un booléen +nIdLieu est un entier sur 8 octets +(bOk,nIdLieu) = Ouvre(FEN_Fiche,tbaTbParam,cFEN_Inter) +si bOk _et_ nIdLieu > 0 alors +si HLitRecherchePremier(Intervention,IN_PKID,nIdInterv) alors +Intervention.IN_IDLieu = nIdLieu +Intervention.ModifDate = DateHeureSys() +Intervention.ModifUser = CollaborateurEnCours:nIdUser +si pas HModifie(Intervention) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Site.Creer") +sinon +Filtrer(nIdInterv) +SupprimerContactSiteInter() +fin +fin +fin +fin +Procédure locale Filtrer +06/08/2026 Batik 4365 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Procédures +procédure Filtrer(nIdInter est un entier sur 8 octets) +nIdInterv = nIdInter +nIdClient = 0 +oUnSite est un MLieu +oSite = oUnSite +si nIdInter > 0 alors +rqSql est une Requête SQL = +[ +SELECT Lieu.*,Adresse.*,IN_IDClient +FROM Lieu +INNER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +INNER JOIN Intervention ON (Intervention.IN_IDLieu=Lieu.LI_PKID) +WHERE Intervention.IN_PKID={p_IdInter} +] +rqSql.p_IdInter = nIdInter +si pas HExécuteRequêteSQL(rqSql) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Site.Filtrer") +sinon +pour tout rqSql +FichierVersMémoire(oSite,rqSql) +FichierVersMémoire(oSite.oAdresse,rqSql) +nIdClient = rqSql.IN_IDClient +fin +fin +fin +SourceVersEcran() +si Modifiable() alors +MenuSelectPlus(OPT_Creer) +MenuSelectPlus(OPT_Changer) +sinon +MenuSelectMoins(OPT_Creer) +MenuSelectMoins(OPT_Changer) +fin +Procédure locale Modifiable +procédure Modifiable() +si oSite:nPKID <= 0 alors +renvoyer Vrai +fin +si HLitRecherchePremier(Document,DC_IDIntervention,nIdInterv) alors +si Document.DC_PKID > 0 alors +renvoyer Faux +fin +fin +reqsql est une Requête SQL = +[ +SELECT PL_PKID FROM Planning_RDV WHERE Planning_RDV.PL_IDIntervention = {p_idInter} AND Archive = 0 +AND PL_CleType <> {p_CleType} +] +reqsql.p_idInter = nIdInterv +reqsql.p_CleType = cCle_RDVAPlanifier +si HExécuteRequêteSQL(reqsql) alors +si reqsql.PL_PKID > 0 alors +renvoyer Faux +fin +06/08/2026 Batik 4366 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Site › Procédures +fin +renvoyer Vrai +Procédure locale Modifier +procédure Modifier() +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +si oSite:nPKID > 0 alors +tbaTbParam est un tableau associatif de chaînes ANSI +tbaTbParam[cParam_Fenetre] = cFEN_Site +tbaTbParam[Lieu.LI_PKID..Nom] = oSite:nPKID +bOk est un booléen +bOk = Ouvre(FEN_Fiche,tbaTbParam, cFEN_Inter) +si bOk alors +Filtrer(nIdInterv) +fin +fin +Procédure locale SupprimerContactSiteInter +procédure SupprimerContactSiteInter() +si nIdInterv <= 0 alors renvoyer Faux +rqSupp est une Requête SQL = +[ +DELETE FROM Intervention_Personne +WHERE IP_PKID IN ( +SELECT Intervention_Personne.IP_PKID +FROM Intervention_Personne +INNER JOIN Intervention ON Intervention.IN_PKID = Intervention_Personne.IP_IDIntervention +INNER JOIN Personne ON Personne.PE_PKID = Intervention_Personne.IP_IDPersonne +LEFT JOIN Lieu_Personne ON Lieu_Personne.LIP_IDLieu = Intervention.IN_IDLieu AND Lieu_Personne. +LIP_IDPersonne = Personne.PE_PKID +WHERE Intervention_Personne.IP_IDIntervention = {p_IdInter} AND Intervention_Personne.IP_IDLieu = +Intervention.IN_IDLieu +) +] +rqSupp.p_IdInter = nIdInterv +si HExécuteRequêteSQL(rqSupp,hVérifieIntégrité) alors +renvoyer Vrai +sinon +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Site.SupprimerContactSiteInter") +renvoyer Faux +fin +06/08/2026 Batik 4367 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Image +FI_TdB_RDV +Image +FI_TdB_RDV +Informations générales +FI_TdB_RDV +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TdB_RDV.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 17/06/2025 16:14:42 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 26/03/2026 14:07:11 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 494 Hauteur | 155 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------ | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| 06/08/2026 | | | Batik | | 4368 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Informations générales +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 3 +Table 1 Forme 1 +Fenêtre interne 1 Champ Modèle de champs 5 +Option de menu 6 Colonne de table 10 +Nombre d'éléments dans la fenêtre : 28 +FI_TdB_RDV +Informations sur les champs +06/08/2026 Batik 4369 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Informations sur les champs +Fenêtre : FI_TdB_RDV +Fenêtre interne +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| FI_TdB_RDV | 0 | 0 494 | 155 | 0 | | | +| ---------- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdB_RDV +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | ------- | --- | ------------ | --------- | ---------- | +| | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_CompteRenduVert | -469 -88 | 60 63 | 0 | Actif | | | +| ------------------- | -------- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_Alerte | 459 | 7 31 | 26 | 0 | Actif | | +| ----------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_Img | 3 | 7 29 | 24 | 0 | Actif | | +| CMOD_Ligne | 0 | 33 494 | 8 | 0 | Actif | | +| CMOD_Table | 0 | 41 494 | 114 | 0 | Actif | | +| CMOD_Titre | 35 | 7 420 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_TdB_RDV.CMOD_Alerte +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | ------- | ------- | ------------ | --------- | ---------- | +| | | ruetuaH | | | cilc cevA | | +| | | ruegraL | elbisiV | | | | +nalP +| IMG_Icone | 459 7 | 31 26 | 0 | Actif | | | +| ---------- | ----- | ----- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | 4370 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Informations sur les champs +Champ Modèle de champs : FI_TdB_RDV.CMOD_Img +Image +| | | | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | --- | ---------- | ---------- | --- | ------- | --- | ------------ | --- | --------------------- | ----------------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | sucof cevA | +| | | | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 3 | 7 | 29 | 24 | 0 | Actif | | | | +| --------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_RDV.CMOD_Ligne +Forme +BAT ehcuoT +| | | | X noitisoP Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | --------------------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_Sep | | | 0 | 34 | 494 | 2 | 0 | | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_RDV.CMOD_Table +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 | | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | | +ruegraL +| | | | elbisiV | | elbaT | | | | | | +| --- | --- | --- | ------- | --- | ----- | --- | --- | --- | --- | --- | +nalP +| TABLE_Info | 2 43 | 488 108 | 0 affichag | | Mémoir | | | | | 1 | +| ---------- | ---- | ------- | ---------- | --- | ------ | --- | --- | --- | --- | --- | +Table : FI_TdB_RDV.CMOD_Table.TABLE_Info +| 06/08/2026 | | | | Batik | | | | | | 4371 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Informations sur les champs +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | elbairt ennoloC | ehcrehcer cevA | | | | +| --- | --- | -------------- | --------------- | --------------------------- | ----------- | ---------- | ----------- | +| | | ehcuag à eéxiF | | .zroh egardaC .trev egardaC | | | | +| | | laitini tatE | elbaçalpéD | | eisias epyT | FTR tamroF | eisias cevA | +engilitluM +ruegraL +elbisiV +| epyT | | | | | | | eéirT | +| ------------- | --- | -------- | --- | ------------- | ------- | --- | ----- | +| COL_PKID | 880 | Grisé | | Droite Centre | Numériq | | | +| COL_Date | 60 | affichag | | Droite Centre | Date | | | +| COL_HeureDb | 64 | affichag | | Droite Centre | Heure | | | +| COL_HeureFin | 48 | affichag | | Droite Centre | Heure | | | +| COL_Statut | 70 | Actif | | Gauche Centre | Texte | | | +| COL_Objet | 73 | affichag | | Gauche Centre | Texte | | | +| COL_Colb | 115 | affichag | | Gauche Centre | Texte | | | +| COL_CR | 34 | Actif | | Centre Centre | | | | +| COL_NbCr | 47 | Grisé | | Droite Centre | Numériq | | | +| COL_IdTableau | 100 | Grisé | | Gauche Centre | Texte | | | +Champ Modèle de champs : FI_TdB_RDV.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| LIB_lib | 35 | 7 420 | 26 | 0 Actif | Gauche | Centre | | +| ------- | --- | ----- | --- | ------- | ------ | ------ | --- | +Fenêtre : FI_TdB_RDV +Fenêtre interne : FI_TdB_RDV +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | | +| Numéro aide | 0 | | | | | | | +| Thème destination | Oui | | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | | +Facteur de rétrécissement +0 +| 06/08/2026 | | | Batik | | | | 4372 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Informations sur les champs +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_TdB_RDV +Champ Modèle de champs : FI_TdB_RDV.CMOD_Alerte +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_RDV.CMOD_Img +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +06/08/2026 Batik 4373 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_RDV.CMOD_Ligne +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_RDV.CMOD_Table +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4374 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Informations sur les champs +Champ Modèle de champs : FI_TdB_RDV.CMOD_Titre +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_TdB_RDV.IMG_CompteRenduVert +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\CompteRenduVert.svg +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 +06/08/2026 Batik 4375 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Informations sur les champs +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_RDV.CMOD_Alerte +Image : FI_TdB_RDV.CMOD_Alerte.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Rendez vous en attente d'attribution" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\rendezVousAlerte.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 4376 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Informations sur les champs +Champ Modèle de champs : FI_TdB_RDV.CMOD_Img +Image : FI_TdB_RDV.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Options des rendez vous rattach\u00e9s \u00e0 l'intervention" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Planning_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 4377 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Informations sur les champs +Champ Modèle de champs : FI_TdB_RDV.CMOD_Ligne +Forme : FI_TdB_RDV.CMOD_Ligne.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_RDV.CMOD_Table +Table : FI_TdB_RDV.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Liste des rendez vous" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +06/08/2026 Batik 4378 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Informations sur les champs +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 Après la dernière ligne, dans le champ Table +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. A la fin +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 +06/08/2026 Batik 4379 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Informations sur les champs +Table : FI_TdB_RDV.CMOD_Table.TABLE_Info +Colonne de table : FI_TdB_RDV.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : FI_TdB_RDV.CMOD_Table.TABLE_Info.COL_Date (2) +Titre FR: Date +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 +06/08/2026 Batik 4380 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Informations sur les champs +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: JJ/MM/AA +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 100 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_RDV.CMOD_Table.TABLE_Info.COL_HeureDb (3) +Titre FR: Début +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: HH:MM +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 50 Taux anc. hauteur 1000 +06/08/2026 Batik 4381 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Informations sur les champs +Colonne de table : FI_TdB_RDV.CMOD_Table.TABLE_Info.COL_HeureFin (4) +Titre FR: Fin +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: HH:MM +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 50 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_RDV.CMOD_Table.TABLE_Info.COL_Statut (5) +Titre FR: Statut +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 70 +Larg. déroulée perso. Non +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 +06/08/2026 Batik 4382 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Informations sur les champs +Mot de passe Non +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 150 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_RDV.CMOD_Table.TABLE_Info.COL_Objet (6) +Titre FR: Objet +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 270 Taux anc. hauteur 1000 +06/08/2026 Batik 4383 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Informations sur les champs +Colonne de table : FI_TdB_RDV.CMOD_Table.TABLE_Info.COL_Colb (7) +Titre FR: Collaborateurs +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_RDV.CMOD_Table.TABLE_Info.COL_CR (8) +Titre FR: CR +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 4 +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> +06/08/2026 Batik 4384 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Informations sur les champs +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 50 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_RDV.CMOD_Table.TABLE_Info.COL_NbCr (9) +Titre FR: Nb Cr +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 +Bulle d'aide FR: Nombre de compte rendus +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 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 +06/08/2026 Batik 4385 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Informations sur les champs +Colonne de table : FI_TdB_RDV.CMOD_Table.TABLE_Info.COL_IdTableau (10) +Titre FR: IdTableau +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 +Champ Modèle de champs : FI_TdB_RDV.CMOD_Titre +Libellé : FI_TdB_RDV.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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> +06/08/2026 Batik 4386 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Informations sur les champs +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TdB_RDV +Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Creer (2) +OPT_ModifierFiche (3) +OPT_ModifierPlanning (5) +OPT_Supprimer (4) +OPT_CR (6) +06/08/2026 Batik 4387 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Informations sur les menus +Libellé des options : Français +Créer un rendez-vous +Ouvrir la fiche du rendez-vous sélectionné +Ouvrir dans le planning le rendez-vous sélectionné +Supprimer le rendez-vous sélectionné +Afficher les compte rendus du rendez-vous sélectionné +FI_TdB_RDV +Code des champs +Déclarations globales de FI_TdB_RDV +procédure FI_TdB_RDV() +tbaRdvs est un tableau associatif de MRDV_Planning +gnIdInterv est un entier sur 8 octets +stInfoFen est un STSurveilleEnrg +stInfoFen.saFenetre = MoiMême..NomComplet +stInfoFen.pProcedureMaJ = MaJSurveillance +gtbaRendezVousAttente est un tableau associatif de ST_InfoRDV +Fin d'initialisation de FI_TdB_RDV +si gtbaListeEtat[cGroupe_EtatRDV]..Existe = Vrai alors +MenuAjouteMenu(MNU_Options,"Opt_Imp_R","Imprimer") +pour tout oEtat de gtbaListeEtat[cGroupe_EtatRDV] +MenuAjouteOption("Opt_Imp_R","Imprimer_"+oEtat.nPKID,oEtat.saLibelle,Imprimer,oEtat.nPKID) +fin +fin +Fermeture de FI_TdB_RDV +ArretSurveilleUneFen(stInfoFen.saFenetre) +Fin d'initialisation de CMOD_Alerte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Alerte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Alerte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Alerte +06/08/2026 Batik 4388 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Alerte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Alerte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Alerte +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Alerte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Alerte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si gtbaRendezVousAttente..Occurrence > 0 alors +Ouvre(FEN_RDV_Attente,gtbaRendezVousAttente) +fin +A chaque modification de IMG_Icone ( CMOD_Alerte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Alerte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Alerte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Alerte ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +06/08/2026 Batik 4389 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ligne +06/08/2026 Batik 4390 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4391 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Code des champs +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Double clic sur COL_Colb ( TABLE_Info ) +ModifierFiche() +Double clic sur COL_CR ( TABLE_Info ) +06/08/2026 Batik 4392 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Code des champs +AfficherCR() +Double clic sur COL_Date ( TABLE_Info ) +ModifierFiche() +Double clic sur COL_HeureDb ( TABLE_Info ) +ModifierFiche() +Double clic sur COL_HeureFin ( TABLE_Info ) +ModifierFiche() +Double clic sur COL_Objet ( TABLE_Info ) +ModifierFiche() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_Statut ( TABLE_Info ) +InitChamp(MoiMême..Nom,cParam_StatusRDV) +Double clic sur COL_Statut ( TABLE_Info ) +ModifierFiche() +Déclarations globales de CMOD_Titre +salib = "Rendez-vous" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +06/08/2026 Batik 4393 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Sélection du menu de MNU_Options.OPT_CR +AfficherCR() +Sélection du menu de MNU_Options.OPT_Creer +Creer() +Sélection du menu de MNU_Options.OPT_ModifierFiche +ModifierFiche() +Sélection du menu de MNU_Options.OPT_ModifierPlanning +ModifierPlanning() +Sélection du menu de MNU_Options.OPT_Supprimer +Supprimer() +06/08/2026 Batik 4394 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Procédures +FI_TdB_RDV +Procédures +Procédure locale AfficherCR +procédure AfficherCR() +i est un entier = TABLE_Info +si i > 0 _et_ COL_NbCr[i] <= 0 alors +ToastAffiche("Aucun compte rendu pour le rendez-vous sélectionné") +renvoyer Faux +fin +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaRdvs[COL_IdTableau[i]]..Existe = Vrai alors +Ouvre(FEN_CompteRendus,tbaRdvs[COL_IdTableau[i]].saGUID) +fin +Procédure locale AjouterEleSurveillance +procédure AjouterEleSurveillance() +// On surveille l’élément +TableauSupprimeTout(stInfoFen.tbInfoASurveiller) +pstInfoItem est un STInfoSurveille dynamique +pstInfoItem = allouer un STInfoSurveille +pstInfoItem.n8Id = gnIdInterv +pstInfoItem.saTable = RDV_Planning..Nom +pstInfoItem.saLibRubId = RDV_Planning.RV_IdInter..Nom +TableauAjoute(stInfoFen.tbInfoASurveiller,pstInfoItem) +utiliser SectionCritique(gtbaElementsASurveiller) dans +gtbaElementsASurveiller[stInfoFen:saFenetre] = stInfoFen +fin +Procédure locale Blocage +procédure Blocage(bBloque est un booléen) +Procédure locale Creer +procédure Creer() +si gnIdInterv <= 0 alors renvoyer Faux +tbaParametres est un tableau associatif de chaînes ANSI +tbaParametres[cParam_Alias] = "FEN_Agenda" +tbaParametres[Intervention.IN_PKID..Nom] = gnIdInterv +Ouvre(FEN_Agenda,tbaParametres) +Procédure locale Filtrer +procédure Filtrer(nIdInter est un entier sur 8 octets) +gnIdInterv = nIdInter +TableauSupprimeTout(tbaRdvs) +TableSupprimeTout(TABLE_Info) +si nIdInter > 0 alors +06/08/2026 Batik 4395 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Procédures +i est un entier +odUnRdv est un MRDV_Planning dynamique +odRdvColb est un MRDV_Colb dynamique +saIdRDV est une chaîne ANSI +rqSql est une Requête SQL = +[ +SELECT RDV_Planning.*, RDV_Collaborateur.*, (SELECT COUNT(CR_PKID) FROM CompteRendu WHERE +CR_GUID_Rdv = RDV_Collaborateur.GUID) AS NbCR +FROM RDV_Planning +INNER JOIN RDV_Collaborateur ON (RDV_Collaborateur.RVC_GUID_RDV = RDV_Planning.GUID AND +RDV_Collaborateur.Archive = 0 +AND RVC_DateDeb > 0 AND RVC_DateFin > 0 AND RVC_DateDeb <> RVC_DateFin) +WHERE RDV_Planning.RV_IdInter={p_IdInter} AND RDV_Planning.Archive = 0 ORDER BY RVC_DateDeb +DESC , RVC_GUID_RDV +] +rqSql.p_IdInter = nIdInter +si pas HExécuteRequêteSQL(rqSql) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_RDV.Filtrer") +sinon +pour tout rqSql +saIdRDV = rqSql.RVC_GUID_RDV+"-"+rqSql.RVC_DateDeb..PartieDate +si tbaRdvs[saIdRDV]..Existe = Faux alors +odUnRdv = allouer un MRDV_Planning +odUnRdv.nNbCr = rqSql.NbCR +FichierVersMémoire(odUnRdv,rqSql) +odUnRdv.saGUID = rqSql.RVC_GUID_RDV +tbaRdvs[saIdRDV] = odUnRdv +fin +odRdvColb = allouer un MRDV_Colb +FichierVersMémoire(odRdvColb,rqSql) +tbaRdvs[saIdRDV].tbaColbs[rqSql.RVC_PKID] = odRdvColb +fin +h est un entier +pour tout oRdv, saCle de tbaRdvs +h = 0 +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = oRdv.nPKID +COL_Objet[i] = oRdv.saObjet +COL_IdTableau[i] = saCle +pour tout oColb de oRdv:tbaColbs +h += 1 +si COL_Colb[i] <> "" alors +COL_Colb[i] += [RC] +fin +COL_Colb[i] += gtabListeCollaborateurs[oColb:saGUID_Colb]..Existe ? +gtabListeCollaborateurs[oColb:saGUID_Colb].NomPrenom() sinon "" +si h <= 1 alors +COL_Date[i] = oColb:dhDateDeb..PartieDate +COL_HeureFin[i] = oColb:dhDateFin..PartieHeure +fin +si h = oRdv:tbaColbs..Occurrence alors +COL_HeureDb[i] = oColb:dhDateDeb..PartieHeure +fin +fin +COL_NbCr[i] = oRdv.nNbCr +si oRdv.nNbCr > 0 alors +06/08/2026 Batik 4396 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Procédures +COL_CR[i] = IMG_CompteRenduVert +fin +fin +fin +AjouterEleSurveillance() +RdvAttente() +fin +Procédure locale Imprimer +procédure Imprimer(nId est un entier sur 8 octets) +i est un entier = TABLE_Info +si nId > 0 _et_ i > 0 _et_ COL_PKID[i] > 0 alors +oEtat est un MEtat_Deplacement +oEtat.Filtrer(COL_PKID[i],COL_Date[i]) +iDestination(iVisualisateur) +iImprimeEtat(gtbaListeEtat[cGroupe_EtatRDV][nId].savaleur, oEtat) +fin +Procédure locale MaJSurveillance +procédure MaJSurveillance(local nIdUser est un entier sur 8 octets,local NomFicher est une chaîne ANSI) +SectionCritiqueDébut("SC_MiseAjourAffichage") +si NomFicher = RDV_Planning..Nom alors +Filtrer(gnIdInterv) +fin +SectionCritiqueFin("SC_MiseAjourAffichage") +Procédure locale ModifierFiche +procédure ModifierFiche() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaRdvs[COL_IdTableau[i]]..Existe = Vrai alors +Ouvre(FEN_Fiche_RDV,COL_PKID[i]) +fin +Procédure locale ModifierPlanning +procédure ModifierPlanning() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaRdvs[COL_IdTableau[i]]..Existe = Vrai alors +tbaParametres est un tableau associatif de chaînes ANSI +tbaParametres[cParam_Alias] = "FEN_Agenda" +tbaParametres[cParam_IdFen] = COL_PKID[i] +OuvreSoeur(FEN_Agenda,tbaParametres) +fin +Procédure locale RdvAttente +procédure RdvAttente() +odST_RDV est un ST_InfoRDV dynamique +odUnColb est un MRDV_Colb dynamique +TableauSupprimeTout(gtbaRendezVousAttente) +06/08/2026 Batik 4397 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Procédures +reqRDV est une Requête SQL = +[ +SELECT RDV_Planning.*, RDV_Planning.GUID AS rv_guid, RDV_Collaborateur.* +FROM RDV_Planning +LEFT JOIN RDV_Collaborateur ON (RVC_GUID_RDV = RDV_Planning.GUID AND RDV_Collaborateur.Archive = 0) +WHERE (RVC_PKID IS NULL OR (RVC_DateDeb IS NULL OR RVC_DateFin IS NULL OR (RVC_DateDeb = +RVC_DateFin))) AND RDV_Planning.Archive = 0 AND RV_IdInter = {p_IdInter} +] +reqRDV.p_IdInter = gnIdInterv +si pas HExécuteRequêteSQL(reqRDV) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue lors de la recherche des rendez-vous en attente","FI_TdB_RDV.RdvAttente") +sinon +pour tout reqRDV +si gtbaRendezVousAttente[reqRDV.rv_guid]..Existe = Faux alors +odST_RDV = allouer un ST_InfoRDV +FichierVersMémoire(odST_RDV.oRdv,reqRDV) +odST_RDV.oRdv.saGUID = reqRDV.rv_guid +gtbaRendezVousAttente[odST_RDV.oRdv.saGUID]= odST_RDV +fin +si reqRDV.RVC_PKID > 0 _et_ gtbaRendezVousAttente[reqRDV.rv_guid]..Existe = Vrai alors +odUnColb = allouer un MRDV_Colb +FichierVersMémoire(odUnColb,reqRDV) +TableauAjoute(gtbaRendezVousAttente[odST_RDV.oRdv.saGUID].tbColbs,odUnColb) +fin +fin +fin +si gtbaRendezVousAttente..Occurrence > 0 alors +CMOD_Alerte..Visible = Vrai +sinon +CMOD_Alerte..Visible = Faux +fin +Procédure locale Supprimer +procédure Supprimer() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaRdvs[COL_IdTableau[i]]..Existe = Vrai alors +saMsg est une chaîne ANSI +si tbaRdvs[COL_IdTableau[i]].bPlusieursJours alors +si tbaRdvs[COL_IdTableau[i]].bGroupe alors +saMsg = "Ce rendez-vous a été créé sur plusieurs jours avec plusieurs collaborateurs." +sinon +saMsg = "Ce rendez-vous a été créé sur plusieurs jours" +fin +sinon si tbaRdvs[COL_IdTableau[i]].bGroupe alors +saMsg = "Ce rendez-vous a été créé avec plusieurs collaborateurs" +fin +si OuiNon("Êtes-vous sûr de vouloir supprimer le rendez-vous sélectionné ?"+RC+saMsg) = Non alors +renvoyer Faux +fin +reqModif est une Requête SQL = +[ +UPDATE RDV_Collaborateur +SET Archive = 1 +WHERE RVC_GUID_RDV = {p_GuidRdv} AND Archive = 0 +06/08/2026 Batik 4398 + +Partie 3 › Fenêtre WINDEV › FI_TdB_RDV › Procédures +] +reqModif.p_GuidRdv = tbaRdvs[COL_IdTableau[i]].saGUID +si pas HExécuteRequêteSQL(reqModif,hVérifieIntégrité+hVérifieDoublon) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue pendant la modification du rendez-vous.","FI_TdB_RDV.Supprimer") +renvoyer Faux +fin +si HLitRecherchePremier(RDV_Planning,RV_PKID,COL_PKID[i]) alors +RDV_Planning.ModifDate = DateHeureSys() +RDV_Planning.ModifUser = CollaborateurEnCours.nIdUser +RDV_Planning.Archive = 1 +si pas HEnregistre(RDV_Planning) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue pendant la modification du rendez-vous.","FI_TdB_RDV.Supprimer") +renvoyer Faux +fin +fin +TableauSupprime(tbaRdvs,COL_IdTableau[i]) +TableSupprime(TABLE_Info,i) +renvoyer Vrai +sinon +renvoyer Faux +fin +06/08/2026 Batik 4399 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Historique_Etat › Image +FI_TdB_Historique_Etat +Image +FI_TdB_Historique_Etat +Informations générales +FI_TdB_Historique_Etat +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TdB_Historique_Etat.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 17/06/2025 16:20:03 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 20/03/2026 11:59:31 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 266 Hauteur | 148 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------ | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| 06/08/2026 | | | Batik | | 4400 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Historique_Etat › Informations générales +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 2 Image 1 +Table 1 Forme 1 +Fenêtre interne 1 Champ Modèle de champs 4 +Option de menu 2 Colonne de table 5 +Rupture de zone répétée 2 +Nombre d'éléments dans la fenêtre : 19 +FI_TdB_Historique_Etat +Informations sur les champs +06/08/2026 Batik 4401 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Historique_Etat › Informations sur les champs +Fenêtre : FI_TdB_Historique_Etat +Fenêtre interne +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| FI_TdB_Historique_Etat | 0 | 0 266 | 148 | 0 | | | +| ---------------------- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdB_Historique_Etat +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Img | 3 | 7 29 | 24 | 0 | Actif | | +| ---------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_Ligne | 0 | 33 266 | 8 | 0 | Actif | | +| CMOD_Table | 0 | 41 265 | 106 | 0 | Actif | | +| CMOD_Titre | 37 | 7 224 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_TdB_Historique_Etat.CMOD_Img +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | --- | --- | ------------ | --- | ---------- | +cilc cevA +ruegraL ruetuaH +elbisiV +nalP +| IMG_Icone | 3 7 | 29 24 | 0 | Actif | | | +| --------- | --- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_TdB_Historique_Etat.CMOD_Ligne +| 06/08/2026 | | Batik | | | | 4402 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Historique_Etat › Informations sur les champs +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_Sep | | | 0 | | 34 | 266 | | 2 | 0 | | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Historique_Etat.CMOD_Table +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 | | | | | | | | +| --- | --------------------- | ------- | --- | --- | ------------ | --- | -------- | --- | --- | --- | --- | --- | +| | | ruetuaH | | | | | sruocraP | | | | | | +ruegraL +| | | | | elbisiV | | elbaT | | | | | | | +| --- | --- | --- | --- | ------- | --- | ----- | --- | --- | --- | --- | --- | --- | +nalP +| TABLE_Info | 2 43 | 259 100 | 0 | affichag | | Mémoir | | | | | | 1 | +| ---------- | ---- | ------- | --- | -------- | --- | ------ | --- | --- | --- | --- | --- | --- | +Table : FI_TdB_Historique_Etat.CMOD_Table.TABLE_Info +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | | | laitini tatE | | | | | +| --- | --- | --------------------- | --- | ------- | ------- | --- | --- | ------------ | --- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | | | | +elbisiV +nalP +| LIB_Date | | 20 | 92 | 118 | 18 | | 0 | Actif | Gauche | | Haut | | +| -------- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | --- | ---- | --- | +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_PKID | | 880 | Grisé | | | | Droite | Centre | Numériq | | | | +| COL_Heure | | 66 | Actif | | | | Droite | Centre | | Heure | | | +| COL_Type | | 80 | Actif | | | | Gauche | Centre | | Texte | | | +| COL_Note | | 90 | Actif | | | | Gauche | Centre | | Texte | | | +| COL_Date | | 100 | Grisé | | | | Droite | Centre | | Date | | | +| 06/08/2026 | | | | | Batik | | | | | | | 4403 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Historique_Etat › Informations sur les champs +Rupture de zone répétée +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +RUPT_BasRupture1 +RUPT_HautRupture1 +Champ Modèle de champs : FI_TdB_Historique_Etat.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +X noitisoP Y noitisoP laitini tatE +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | 37 7 | 224 26 | 0 Actif | Gauche | Centre | | +| ------- | ---- | ------ | ------- | ------ | ------ | --- | +Fenêtre : FI_TdB_Historique_Etat +Fenêtre interne : FI_TdB_Historique_Etat +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | | +| ------------------------- | ------- | --- | --- | --- | --- | --- | +| Ctx. HFSQL indép. | Non | | | | | | +| Ancrage | <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Batik | | | | 4404 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Historique_Etat › Informations sur les champs +Fenêtre interne : FI_TdB_Historique_Etat +Champ Modèle de champs : FI_TdB_Historique_Etat.CMOD_Img +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Historique_Etat.CMOD_Ligne +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4405 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Historique_Etat › Informations sur les champs +Champ Modèle de champs : FI_TdB_Historique_Etat.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Historique_Etat.CMOD_Titre +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4406 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Historique_Etat › Informations sur les champs +Champ Modèle de champs : FI_TdB_Historique_Etat.CMOD_Img +Image : FI_TdB_Historique_Etat.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Options de l'historique des \u00e9tats rattach\u00e9s \u00e0 l'intervention" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\history-list-svgrepo-com.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 4407 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Historique_Etat › Informations sur les champs +Champ Modèle de champs : FI_TdB_Historique_Etat.CMOD_Ligne +Forme : FI_TdB_Historique_Etat.CMOD_Ligne.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Historique_Etat.CMOD_Table +Table : FI_TdB_Historique_Etat.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Liste de l'historique des \u00e9tats" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +06/08/2026 Batik 4408 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Historique_Etat › Informations sur les champs +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 +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 +06/08/2026 Batik 4409 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Historique_Etat › Informations sur les champs +Table : FI_TdB_Historique_Etat.CMOD_Table.TABLE_Info +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 4 +Libellé : FI_TdB_Historique_Etat.CMOD_Table.TABLE_Info.RUPT_HautRupture1.LIB_Date +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 0 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Date +Masque saisie FR: JJ/MM/AAAA +Format retour AAAAMMJJ +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4410 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Historique_Etat › Informations sur les champs +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 4 +Colonne de table : FI_TdB_Historique_Etat.CMOD_Table.TABLE_Info.COL_PKID (3) +Titre FR: PKID +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 : FI_TdB_Historique_Etat.CMOD_Table.TABLE_Info.COL_Heure (4) +Titre FR: Heure +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 +06/08/2026 Batik 4411 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Historique_Etat › Informations sur les champs +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: HH:MM +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 150 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Historique_Etat.CMOD_Table.TABLE_Info.COL_Type (5) +Titre FR: Type +Curseur survol 0 +UI par l'utilisateur <Aucun> +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 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 550 Taux anc. hauteur 1000 +06/08/2026 Batik 4412 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Historique_Etat › Informations sur les champs +Colonne de table : FI_TdB_Historique_Etat.CMOD_Table.TABLE_Info.COL_Note (6) +Titre FR: Note +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Historique_Etat.CMOD_Table.TABLE_Info.COL_Date (7) +Titre FR: Date +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: UseSystemMask +06/08/2026 Batik 4413 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Historique_Etat › 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 +Champ Modèle de champs : FI_TdB_Historique_Etat.CMOD_Titre +Libellé : FI_TdB_Historique_Etat.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 +06/08/2026 Batik 4414 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Historique_Etat › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TdB_Historique_Etat +Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Supprimer (2) +Libellé des options : Français +Supprimer +FI_TdB_Historique_Etat +Code des champs +Déclarations globales de FI_TdB_Historique_Etat +procédure FI_TdB_Historique_Etat() +tbaHisto est un tableau associatif de MEtatIntervention +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +06/08/2026 Batik 4415 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Historique_Etat › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ligne +06/08/2026 Batik 4416 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Historique_Etat › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4417 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Historique_Etat › Code des champs +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +06/08/2026 Batik 4418 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Historique_Etat › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Historique des états" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Sélection du menu de MNU_Options.OPT_Supprimer +Supprimer() +06/08/2026 Batik 4419 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Historique_Etat › Procédures +FI_TdB_Historique_Etat +Procédures +Procédure locale Blocage +procédure Blocage(bBloque est un booléen) +Procédure locale Filtrer +procédure Filtrer(nIdInter est un entier sur 8 octets) +TableauSupprimeTout(tbaHisto) +TableSupprimeTout(TABLE_Info) +si nIdInter > 0 alors +i est un entier +odEtat est un MEtatIntervention dynamique +rqSql est une Requête SQL = +[ +SELECT * +FROM EtatIntervention +WHERE EtatIntervention.EI_IDIntervention={p_IDInter} +ORDER BY EtatIntervention.EI_DateDebut +] +rqSql.p_IdInter = nIdInter +si pas HExécuteRequêteSQL(rqSql) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Historique_Etat.Filtrer") +sinon +pour tout rqSql +odEtat = allouer un MEtatIntervention +FichierVersMémoire(odEtat,rqSql) +tbaHisto[odEtat:nPKID] = odEtat +fin +fin +pour tout oHisto de tbaHisto +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = oHisto.nPKID +COL_Date[i] = oHisto.dhDateDebut..PartieDate +COL_Heure[i] = oHisto.dhDateDebut..PartieHeure +si oHisto.saCleEtat <> "" _et_ gtabParametresMetierCode[cParam_EtatInter][oHisto.saCleEtat].. +Existe alors +COL_Type[i] = gtabParametresMetierCode[cParam_EtatInter][oHisto.saCleEtat]. +salibelle +fin +COL_Note[i] = oHisto.saDescription +TABLE_Info[i].LIB_Date = oHisto.dhDateDebut..PartieDate +fin +fin +Procédure locale Supprimer +procédure Supprimer() +i est un entier = TABLE_Info +06/08/2026 Batik 4420 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Historique_Etat › Procédures +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaHisto[COL_PKID[i]]..Existe = Vrai alors +si tbaHisto[COL_PKID[i]].Supprimer() alors +TableSupprime(TABLE_Info,i) +TableauSupprime(tbaHisto,COL_PKID[i]) +fin +fin +06/08/2026 Batik 4421 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Image +FI_TdB_ContactSite +Image +FI_TdB_ContactSite +Informations générales +FI_TdB_ContactSite +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TdB_ContactSite.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 17/06/2025 16:34:37 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 20/03/2026 10:24:39 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 565 Hauteur | 164 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------ | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 4422 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Informations générales +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 3 +Table 1 Forme 1 +Fenêtre interne 1 Champ Modèle de champs 4 +Option de menu 7 Colonne de table 10 +Nombre d'éléments dans la fenêtre : 28 +FI_TdB_ContactSite +Informations sur les champs +06/08/2026 Batik 4423 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Informations sur les champs +Fenêtre : FI_TdB_ContactSite +Fenêtre interne +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| FI_TdB_ContactSite | 0 | 0 565 | 164 | 0 | | | +| ------------------ | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdB_ContactSite +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | ------- | --- | ------------ | --------- | ---------- | +| | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Dissocie | -346 164 | 40 64 | 0 | Actif | | | +| ------------ | -------- | ----- | --- | ----- | --- | --- | +| IMG_SiteOk | -290 156 | 45 63 | 0 | Actif | | | +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Img | 3 | 7 29 | 24 | 0 | Actif | | +| ---------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_Ligne | 0 | 33 565 | 8 | 0 | Actif | | +| CMOD_Table | 0 | 43 565 | 121 | 0 | Actif | | +| CMOD_Titre | 36 | 7 525 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_TdB_ContactSite.CMOD_Img +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | ------- | ------- | ------------ | --------- | ---------- | +| | | ruetuaH | | | cilc cevA | | +| | | ruegraL | elbisiV | | | | +nalP +| IMG_Icone | 3 7 | 29 24 | 0 | Actif | | | +| ---------- | --- | ----- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | 4424 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Informations sur les champs +Champ Modèle de champs : FI_TdB_ContactSite.CMOD_Ligne +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| FRM_Sep | | | 0 | 34 | 565 | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_ContactSite.CMOD_Table +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 | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | +| | | ruegraL | | elbisiV | | | | | | +elbaT +nalP +Mémoir +| TABLE_Info | 2 42 | 559 115 | 0 | Actif | | | | | 1 | +| ---------- | ---- | ------- | --- | ----- | --- | --- | --- | --- | --- | +Table : FI_TdB_ContactSite.CMOD_Table.TABLE_Info +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_PKID | | 880 | Grisé | | | Droite Centre | Numériq | | | +| COL_Control | | 25 | Actif | | | Centre Centre | | | | +| COL_Demandeur | | 39 | Actif | | | Centre Centre | | | | +| COL_Nom | | 66 | affichag | | | Gauche Centre | Texte | | | +| COL_Role | | 114 | Actif | | | Gauche Centre | Texte | | | +| COL_Tel1 | | 78 | affichag | | | Gauche Centre | Texte | | | +| COL_Tel2 | | 76 | affichag | | | Gauche Centre | Texte | | | +| COL_Etage | | 56 | Actif | | | Gauche Centre | Texte | | | +| COL_Lot | | 64 | Actif | | | Gauche Centre | Texte | | | +Numériq +| COL_IdLienSite | | 100 | Grisé | | | Droite Centre | | | | +| -------------- | --- | --- | ----- | ----- | --- | ------------- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | 4425 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Informations sur les champs +Champ Modèle de champs : FI_TdB_ContactSite.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +X noitisoP Y noitisoP laitini tatE +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 36 7 | 525 26 | 0 Actif | Gauche | Centre | | +| ------- | ---- | ------ | ------- | ------ | ------ | --- | +Fenêtre : FI_TdB_ContactSite +Fenêtre interne : FI_TdB_ContactSite +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +| Facteur d'agrandissement | 0 | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | +| Ancrage | <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_TdB_ContactSite +| 06/08/2026 | | Batik | | | | 4426 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Informations sur les champs +Champ Modèle de champs : FI_TdB_ContactSite.CMOD_Img +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_ContactSite.CMOD_Ligne +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4427 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Informations sur les champs +Champ Modèle de champs : FI_TdB_ContactSite.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_ContactSite.CMOD_Titre +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4428 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Informations sur les champs +Image : FI_TdB_ContactSite.IMG_Dissocie +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\breakRouge.svg +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 +Image : FI_TdB_ContactSite.IMG_SiteOk +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Site_Vert.svg +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 +06/08/2026 Batik 4429 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Informations sur les champs +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 Bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_ContactSite.CMOD_Img +Image : FI_TdB_ContactSite.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Options des contacts rattach\u00e9s \u00e0 l'intervention" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\contact-list-svgrepo-com.svg +Groupe GR_Saisie +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 +06/08/2026 Batik 4430 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Informations sur les champs +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : FI_TdB_ContactSite.CMOD_Ligne +Forme : FI_TdB_ContactSite.CMOD_Ligne.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_ContactSite.CMOD_Table +Table : FI_TdB_ContactSite.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Liste des contacts rattach\u00e9s" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +06/08/2026 Batik 4431 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Informations sur les champs +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +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 +06/08/2026 Batik 4432 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Informations sur les champs +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 : FI_TdB_ContactSite.CMOD_Table.TABLE_Info +Colonne de table : FI_TdB_ContactSite.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 +06/08/2026 Batik 4433 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Informations sur les champs +Colonne de table : FI_TdB_ContactSite.CMOD_Table.TABLE_Info.COL_Control (2) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Menu contextuel MNU_Associer +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 1 +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 50 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_ContactSite.CMOD_Table.TABLE_Info.COL_Demandeur (3) +Titre FR: D +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Menu contextuel MNU_Options +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> +06/08/2026 Batik 4434 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Informations sur les champs +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 100 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_ContactSite.CMOD_Table.TABLE_Info.COL_Nom (4) +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Menu contextuel MNU_Options +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 260 Taux anc. hauteur 1000 +06/08/2026 Batik 4435 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Informations sur les champs +Colonne de table : FI_TdB_ContactSite.CMOD_Table.TABLE_Info.COL_Role (5) +Titre FR: Rôle dans l'intervention +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Menu contextuel MNU_Options +Hauteur liste 0 +Largeur liste 114 +Larg. déroulée perso. Non +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 +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 170 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_ContactSite.CMOD_Table.TABLE_Info.COL_Tel1 (6) +Titre FR: Tél. 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Menu contextuel MNU_Options +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 +06/08/2026 Batik 4436 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Informations sur les champs +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_ContactSite.CMOD_Table.TABLE_Info.COL_Tel2 (7) +Titre FR: Tél. 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Menu contextuel MNU_Options +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +06/08/2026 Batik 4437 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Informations sur les champs +Colonne de table : FI_TdB_ContactSite.CMOD_Table.TABLE_Info.COL_Etage (8) +Titre FR: Étage +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Menu contextuel MNU_Options +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 60 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_ContactSite.CMOD_Table.TABLE_Info.COL_Lot (9) +Titre FR: Lot +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Menu contextuel MNU_Options +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 +06/08/2026 Batik 4438 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 60 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_ContactSite.CMOD_Table.TABLE_Info.COL_IdLienSite (10) +Titre FR: IdLienSite +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 +06/08/2026 Batik 4439 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Informations sur les champs +Champ Modèle de champs : FI_TdB_ContactSite.CMOD_Titre +Libellé : FI_TdB_ContactSite.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TdB_ContactSite +Informations sur les menus +06/08/2026 Batik 4440 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Creer (2) +OPT_Ajouter_un_nouveau_contact (3) +OPT_Modifier_le_contact (4) +OPT_Supprimer_le_contact_de_la_liste (5) +Libellé des options : Français +Créer un nouveau contact +Rattacher un nouveau contact +Modifier le contact +Supprimer le contact de la liste +Menu contextuel : 'MNU_Associer' +Nom des options +OPT_Rattache (7) +Libellé des options : Français +Rattacher le contact au site +FI_TdB_ContactSite +Code des champs +Déclarations globales de FI_TdB_ContactSite +procédure FI_TdB_ContactSite() +tbaContactSite est un tableau associatif de MContact_Inter +nIdInter est un entier sur 8 octets +nIdLieu est un entier sur 8 octets +bBloque est un booléen = Faux +stInfoFen est un STSurveilleEnrg +stInfoFen.saFenetre = MoiMême..NomComplet +stInfoFen.pProcedureMaJ = MaJSurveillance +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4441 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4442 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Code des champs +ExécuteAncêtre +Fin d'initialisation de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +06/08/2026 Batik 4443 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier() +A chaque modification de COL_Demandeur ( TABLE_Info ) +06/08/2026 Batik 4444 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Code des champs +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContactSite[COL_PKID[i]]..Existe alors +tbaContactSite[COL_PKID[i]].bEstDemandeur = COL_Demandeur[i] +si pas tbaContactSite[COL_PKID[i]].Enregistrer() alors +COL_Demandeur[i] = COL_Demandeur[i] ? Faux sinon Vrai +tbaContactSite[COL_PKID[i]].bEstDemandeur = COL_Demandeur[i] +fin +fin +Sortie de COL_Etage ( TABLE_Info ) +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContactSite[COL_PKID[i]]..Existe _et_ tbaContactSite[COL_PKID[i]] +.saEtage <> COL_Etage[i] alors +saEtage est une chaîne ANSI = tbaContactSite[COL_PKID[i]].saEtage +tbaContactSite[COL_PKID[i]].saEtage = COL_Etage[i] +si pas tbaContactSite[COL_PKID[i]].Enregistrer() alors +COL_Etage[i] = saEtage +tbaContactSite[COL_PKID[i]].saEtage = saEtage +fin +fin +Sortie de COL_Lot ( TABLE_Info ) +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContactSite[COL_PKID[i]]..Existe _et_ tbaContactSite[COL_PKID[i]] +.saLot <> COL_Lot[i] alors +saLot est une chaîne ANSI = tbaContactSite[COL_PKID[i]].saLot +tbaContactSite[COL_PKID[i]].saLot = COL_Lot[i] +si pas tbaContactSite[COL_PKID[i]].Enregistrer() alors +COL_Lot[i] = saLot +tbaContactSite[COL_PKID[i]].saLot = saLot +fin +fin +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_Role ( TABLE_Info ) +06/08/2026 Batik 4445 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Code des champs +InitChamp(MoiMême..Nom,cParam_RoleContact) +Sélection d'une ligne de COL_Role ( TABLE_Info ) +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContactSite[COL_PKID[i]]..Existe _et_ tbaContactSite[COL_PKID[i]] +.saCleRole <> COL_Role[i] alors +saRole est une chaîne ANSI = tbaContactSite[COL_PKID[i]].saCleRole +tbaContactSite[COL_PKID[i]].saCleRole = COL_Role[i] +si pas tbaContactSite[COL_PKID[i]].Enregistrer() alors +COL_Role[i] = saRole +tbaContactSite[COL_PKID[i]].saCleRole = saRole +fin +fin +Sortie de COL_Tel1 ( TABLE_Info ) +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContactSite[COL_PKID[i]]..Existe _et_ tbaContactSite[COL_PKID[i]] +.oPersonne.saTel1 <> COL_Tel1[i] alors +saTel est une chaîne ANSI = tbaContactSite[COL_PKID[i]].oPersonne.saTel1 +tbaContactSite[COL_PKID[i]].oPersonne.saTel1 = COL_Tel1[i] +si pas tbaContactSite[COL_PKID[i]].oPersonne.Enregistrer() alors +COL_Tel1[i] = saTel +tbaContactSite[COL_PKID[i]].oPersonne.saTel1= saTel +fin +fin +Sortie de COL_Tel2 ( TABLE_Info ) +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContactSite[COL_PKID[i]]..Existe _et_ tbaContactSite[COL_PKID[i]] +.oPersonne.saTel2 <> COL_Tel2[i] alors +saTel est une chaîne ANSI = tbaContactSite[COL_PKID[i]].oPersonne.saTel2 +tbaContactSite[COL_PKID[i]].oPersonne.saTel2 = COL_Tel2[i] +si pas tbaContactSite[COL_PKID[i]].oPersonne.Enregistrer() alors +COL_Tel2[i] = saTel +tbaContactSite[COL_PKID[i]].oPersonne.saTel2 = saTel +fin +fin +Déclarations globales de CMOD_Titre +salib = "Contact rattaché" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4446 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Code des champs +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Sélection du menu de MNU_Associer.OPT_Rattache +Attacher() +Sélection du menu de MNU_Options.OPT_Ajouter_un_nouveau_contact +Ajouter() +Sélection du menu de MNU_Options.OPT_Creer +Creer() +Sélection du menu de MNU_Options.OPT_Modifier_le_contact +Modifier() +Sélection du menu de MNU_Options.OPT_Supprimer_le_contact_de_la_liste +Supprimer() +06/08/2026 Batik 4447 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Procédures +FI_TdB_ContactSite +Procédures +Procédure locale Ajouter +procédure Ajouter() +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +tbaCriteres est un tableau associatif de chaînes ANSI +si nIdInter > 0 alors +nId_Lieu est un entier sur 8 octets +nIdPersone est un entier sur 8 octets +reqSite est une Requête SQL = +[ +SELECT LI_CodeLieu,LI_PKID FROM Lieu INNER JOIN Intervention ON LI_PKID = IN_IDLieu AND +IN_PKID = {p_IdInter} +] +reqSite.p_IdInter = nIdInter +si HExécuteRequêteSQL(reqSite) alors +pour tout reqSite +tbaCriteres[Lieu.LI_CodeLieu..Nom] = reqSite.LI_CodeLieu +tbaCriteres[Lieu.LI_PKID..Nom] = reqSite.LI_PKID +nId_Lieu = reqSite.LI_PKID +fin +fin +si nId_Lieu > 0 alors +nIdPersone = Ouvre(FEN_Choix_Liste,cFI_ContactSite,tbaCriteres) +fin +si nIdPersone > 0 _et_ nId_Lieu > 0 alors +pour tout oCont de tbaContactSite +si oCont.nIDPersonne = nIdPersone alors +renvoyer Faux // Il existe déjà +fin +fin +si HLitRecherchePremier(Personne,PE_PKID,nIdPersone) alors +i est un entier = TableAjouteLigne(TABLE_Info) +COL_Control[i] = IMG_Dissocie +oCtc est un MContact_Inter +oCtc.nIDLieu = nId_Lieu +oCtc.nIDIntervention = nIdInter +oCtc.nIDPersonne = nIdPersone +saCle est une chaîne ANSI = HFiltre(Lieu_Personne, "LIP_IDLieu="+nIdLieu+ +" ET LIP_IDPersonne=" +oCtc.nIDPersonne) +HLitPremier(Lieu_Personne, saCle) +tantque HEnDehors(Lieu_Personne) = Faux +si Lieu_Personne.LIP_PKID > 0 alors +COL_Control[i] = IMG_SiteOk +COL_IdLienSite[i] = Lieu_Personne.LIP_PKID +oCtc.saLot = Lieu_Personne.LIP_Lot +oCtc.saEtage = Lieu_Personne.LIP_Etage +oCtc.saCleRole = Lieu_Personne.LIP_CleRole +sortir +06/08/2026 Batik 4448 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Procédures +fin +HLitSuivant(Lieu_Personne,saCle) +fin +si oCtc:Enregistrer() alors +FichierVersMémoire(oCtc.oPersonne,Personne) +tbaContactSite[oCtc:nPKID] = oCtc +COL_PKID[i] = oCtc.nPKID +COL_Demandeur[i] = oCtc.bEstDemandeur +COL_Nom[i] = oCtc.oPersonne.NomPrenom() +COL_Role[i] = oCtc.saCleRole +COL_Tel1[i] = oCtc.oPersonne.saTel1 +COL_Tel2[i] = oCtc.oPersonne.saTel2 +COL_Etage[i] = oCtc.saEtage +COL_Lot[i] = oCtc.saLot +fin +fin +fin +fin +Procédure locale AjouterEleSurveillance +procédure AjouterEleSurveillance() +// On surveille l’élément +TableauSupprimeTout(stInfoFen.tbInfoASurveiller) +pstInfoItem est un STInfoSurveille dynamique +pstInfoItem = allouer un STInfoSurveille +pstInfoItem.n8Id = nIdInter +pstInfoItem.saTable = Intervention_Personne..Nom +pstInfoItem.saLibRubId = Intervention_Personne.IP_IDIntervention..Nom +TableauAjoute(stInfoFen.tbInfoASurveiller,pstInfoItem) +pour tout oPers de tbaContactSite +si oPers:nPKID > 0 _et_ oPers.oPersonne.nPKID > 0 alors +pstInfoItem = allouer un STInfoSurveille +pstInfoItem.n8Id = oPers.oPersonne.nPKID +pstInfoItem.saTable = Personne..Nom +pstInfoItem.saLibRubId = Personne.PE_PKID..Nom +TableauAjoute(stInfoFen.tbInfoASurveiller,pstInfoItem) +fin +fin +utiliser SectionCritique(gtbaElementsASurveiller) dans +gtbaElementsASurveiller[stInfoFen:saFenetre] = stInfoFen +fin +Procédure locale Attacher +procédure Attacher() +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContactSite[COL_PKID[i]]..Existe _et_ COL_IdLienSite[i] <= 0 _et_ +06/08/2026 Batik 4449 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Procédures +nIdLieu > 0 alors +HRAZ(Lieu_Personne) +Lieu_Personne.LIP_Lot = COL_Lot[i] +Lieu_Personne.LIP_Etage = COL_Etage[i] +Lieu_Personne.LIP_CleRole = COL_Role[i] +Lieu_Personne.LIP_IDPersonne = tbaContactSite[COL_PKID[i]].nIDPersonne +Lieu_Personne.LIP_IDLieu = nIdLieu +Lieu_Personne.CreationUser = CollaborateurEnCours.nIdUser +Lieu_Personne.ModifUser = CollaborateurEnCours.nIdUser +Lieu_Personne.CreationDate = DateHeureSys() +Lieu_Personne.ModifDate = DateHeureSys() +si COL_Role[i] <> "" _et_ gtabParametresMetierCode[cParam_RoleContact][COL_Role[i]]..Existe +alors +Lieu_Personne.LIP_IDRole = gtabParametresMetierCode[cParam_RoleContact][COL_Role[i]].nPKID +fin +si pas HAjoute(Lieu_Personne) alors +UneErreur.Init(ErreurApp.ErreurHFSQL, +"Une erreur s'est produite, le contact n'a pas pu être rattacher au site.") +sinon +COL_Control[i] = IMG_SiteOk +COL_IdLienSite[i] = Lieu_Personne.LIP_PKID +fin +fin +Procédure locale Blocage +procédure Blocage(bBlocage est un booléen) +bBloque = bBlocage +TABLE_Info..EnSaisie = bBlocage +Procédure locale Creer +procédure Creer() +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +tbaTbParam est un tableau associatif de chaînes ANSI +tbaTbParam[cParam_Fenetre] = cFI_ContactSite +tbaTbParam[Intervention.IN_PKID..Nom] = nIdInter +si Ouvre(FEN_Fiche,tbaTbParam) alors +Filtrer(nIdInter) +fin +Procédure locale Filtrer +procédure Filtrer(nId est un entier sur 8 octets) +nIdInter = nId +nIdLieu = 0 +TableauSupprimeTout(tbaContactSite) +TableSupprimeTout(TABLE_Info) +si nIdInter > 0 alors +i est un entier +odCtc est un MContact_Inter dynamique +rqSql est une Requête SQL = +[ +SELECT Personne.*,Intervention_Personne.*, Lieu_Personne.LIP_PKID, IN_IDLieu +FROM Intervention_Personne +06/08/2026 Batik 4450 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Procédures +INNER JOIN Intervention ON IN_PKID = IP_IDIntervention +INNER JOIN Personne ON (PE_PKID=IP_IDPersonne) +LEFT JOIN Lieu_Personne ON (LIP_IDLieu = IN_IDLieu AND LIP_IDPersonne = PE_PKID) +WHERE IP_IDIntervention={p_IdInter} AND IP_IDLieu = IN_IDLieu ORDER BY IP_PKID +] +rqSql.p_IdInter = nIdInter +si pas HExécuteRequêteSQL(rqSql) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_ContactSite.Filtrer") +sinon +nIdP est un entier sur 8 octets +pour tout rqSql +nIdLieu = rqSql.IN_IDLieu +si rqSql.IP_PKID <> nIdP alors +odCtc = allouer un MContact_Inter +FichierVersMémoire(odCtc,rqSql) +FichierVersMémoire(odCtc.oPersonne,rqSql) +tbaContactSite[odCtc:nPKID] = odCtc +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = odCtc.nPKID +COL_Demandeur[i] = odCtc.bEstDemandeur +COL_Nom[i] = odCtc.oPersonne.NomPrenom() +COL_Role[i] = odCtc.saCleRole +COL_Tel2[i] = odCtc.oPersonne.saTel2 +COL_Tel1[i] = odCtc.oPersonne.saTel1 +COL_Etage[i] = odCtc.saEtage +COL_Lot[i] = odCtc.saLot +COL_IdLienSite[i] = rqSql.LIP_PKID +si rqSql.lIP_PKID > 0 alors +COL_Control[i] = IMG_SiteOk +sinon +COL_Control[i] = IMG_Dissocie +fin +fin +nIdP = rqSql.IP_PKID +fin +TABLE_Info..EnSaisie = bBloque +fin +fin +si tbaContactSite..Occurrence > 0 alors +AjouterEleSurveillance() +fin +Procédure locale MaJSurveillance +procédure MaJSurveillance(local nIdUser est un entier sur 8 octets,local NomFicher est une chaîne ANSI) +SectionCritiqueDébut("SC_MiseAjourAffichageCtcSite") +bContinuer est un booléen +si nIdUser <> CollaborateurEnCours:nIdUser alors +bContinuer = Vrai +sinon +si pas Contient(FI_TdB_ContactSite..NomComplet,FenEnCours()) alors +bContinuer = Vrai // je suis dans une autre fenêtre , mon ui doit être mis à jour +fin +fin +si bContinuer alors +06/08/2026 Batik 4451 + +Partie 3 › Fenêtre WINDEV › FI_TdB_ContactSite › Procédures +Filtrer(nIdInter) +fin +SectionCritiqueFin("SC_MiseAjourAffichageCtcSite") +Procédure locale Modifier +procédure Modifier() +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContactSite[COL_PKID[i]]..Existe alors +tbaTbParam est un tableau associatif de chaînes ANSI +tbaTbParam[cParam_Fenetre] = cFI_ContactSite +tbaTbParam[Intervention.IN_PKID..Nom] = nIdInter +tbaTbParam[Personne.PE_PKID..Nom] = tbaContactSite[COL_PKID[i]].nIDPersonne +tbaTbParam[Lieu.LI_PKID..Nom] = tbaContactSite[COL_PKID[i]].nIDLieu +si Ouvre(FEN_Fiche,tbaTbParam) alors +Filtrer(nIdInter) +fin +fin +Procédure locale Supprimer +procédure Supprimer() +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContactSite[COL_PKID[i]]..Existe alors +saQuestion est une chaîne ANSI = "Êtes-vous sûr de vouloir supprimer le contact "+tbaContactSite[ +COL_PKID[i]].oPersonne.NomPrenom()+" de cette intervention ?" +si OuiNon(saQuestion) = Oui alors +si tbaContactSite[COL_PKID[i]].Supprimer() alors +TableauSupprime(tbaContactSite,COL_PKID[i]) +TableSupprime(TABLE_Info,i) +fin +fin +fin +06/08/2026 Batik 4452 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Image +FI_TdB_Suivi_Temps +Image +FI_TdB_Suivi_Temps +Informations générales +FI_TdB_Suivi_Temps +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TdB_Suivi_Temps.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 18/06/2025 08:08:30 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 20/03/2026 10:57:41 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 693 Hauteur | 247 | +| 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 | | | | +| 06/08/2026 | | | Batik | | 4453 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations générales +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Champ de saisie 5 Libellé 3 +Image 3 Table 1 +Forme 1 Fenêtre interne 1 +Champ Modèle de champs 10 Colonne de table 10 +Rupture de zone répétée 2 +06/08/2026 Batik 4454 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations générales +Nombre d'éléments dans la fenêtre : 36 +FI_TdB_Suivi_Temps +Informations sur les champs +Fenêtre : FI_TdB_Suivi_Temps +Fenêtre interne +BAT ehcuoT +| | X noitisoP | | | | | laitini tatE | | +| --- | ---------- | --- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_TdB_Suivi_Temps | 0 | 0 | 693 | 247 | 0 | | | +| ------------------ | --- | --- | --- | --- | --- | --- | --- | +Fenêtre interne : FI_TdB_Suivi_Temps +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | | sucof cevA | +| --- | --- | --- | --- | --- | ------------ | --- | ---------- | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | cilc cevA | | +| --- | --- | ------- | ------- | --- | --- | --------- | --- | +elbisiV +nalP +| IMG_RDV | -347 -63 | 73 | 52 | 0 | Actif | | | +| --------- | -------- | --- | --- | --- | ----- | --- | --- | +| IMG_Temps | -403 -3 | 73 | 52 | 0 | Actif | | | +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Diff | 463 | 39 | 102 | 53 | 0 | Actif | | +| ----------- | --- | ----- | --- | --- | --- | ----- | ---- | +| CMOD_DureeP | 122 | 39 | 111 | 53 | 0 | Actif | | +| CMOD_Heurs | 3 | 52 | 111 | 26 | 0 | Actif | | +| CMOD_Img | 3 | 7 | 29 | 24 | 0 | Actif | | +| CMOD_Ligne | 0 | 33 | 693 | 8 | 0 | Actif | | +| CMOD_TPasse | 352 | 39 | 103 | 53 | 0 | Actif | | +| CMOD_TPond | 573 | 40 | 104 | 53 | 0 | Actif | | +| CMOD_TRDV | 241 | 40 | 103 | 53 | 0 | Actif | | +| CMOD_Table | 2 | 93 | 690 | 154 | 0 | Actif | | +| 06/08/2026 | | Batik | | | | | 4455 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | ------- | --- | ------- | --- | --- | ------------ | --- | +| | | | | | ruegraL | | ruetuaH | | | | | +elbisiV +nalP +| CMOD_Titre | | | 39 | | 7 | 649 | 26 | | 0 | Actif | | +| ---------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_Diff +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 | | | | | +ruetuaH +| | | ruegraL | | elbisiV | | | | | | | | +| --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | --- | +nalP +Numéri +| SAI_Texte | 463 39 | 102 53 | 0 | affichag | | | | Non | | | | +| --------- | ------ | ------ | --- | -------- | --- | --- | --- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_DureeP +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_Texte | 122 39 | 111 53 | 0 | | Actif | Numéri | | Non | | | | +| --------- | ------ | ------ | --- | --- | ----- | ------ | --- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_Heurs +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | ------- | ------- | --- | --- | ------------ | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| LIB_lib | | 3 | 52 | 111 | 26 | 0 | | Actif | Gauche | Centre | | +| ---------- | --- | --- | --- | --- | ----- | --- | --- | ----- | ------ | ------ | ---- | +| 06/08/2026 | | | | | Batik | | | | | | 4456 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_Img +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| --- | --- | ---------- | ---------- | --- | ------- | --- | --- | ------------ | --------- | ---------- | +| | | | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 3 | | 7 | 29 24 | | 0 | Actif | | | +| --------- | --- | --- | --- | --- | ----- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_Ligne +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_Sep | | | 0 | 34 | 693 | | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_TPasse +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_Texte | 352 39 | 103 53 | 0 | affichag | Numéri | | Non | | | | +| --------- | ------ | ------ | --- | -------- | ------ | --- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_TPond +| 06/08/2026 | | | | | Batik | | | | | 4457 | +| ---------- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +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_Texte | 573 40 104 | 53 0 | affichag | Numéri | | Non | | | +| --------- | ---------- | ---- | -------- | ------ | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_TRDV +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_Texte | 241 40 103 | 53 0 | affichag | Numéri | | Non | | | +| --------- | ---------- | ---- | -------- | ------ | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_Table +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | | lennoitroporp .csA .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | --- | --- | ------------------------------------- | --- | +)(ertliFH resilitU +| | | | | | | .gerne egacolB | ruesnecsa elluB EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +| --- | --- | --- | --- | --- | --- | -------------- | ------------------------------ | ----------------------------- | +| | | | | | | | noitcelésitluM edacsac eisiaS | | +BAT ehcuoT +laitini tatE +| | X noitisoP Y noitisoP | | | | sruocraP | | | | +| --- | --------------------- | --- | --- | --- | -------- | --- | --- | --- | +ruegraL ruetuaH +elbisiV +| | | nalP | | elbaT | | | | | +| ---------- | -------- | ----- | -------- | ------ | --- | --- | --- | ---- | +| TABLE_Info | 4 95 684 | 148 0 | affichag | Mémoir | | | | 1 | +| 06/08/2026 | | | | Batik | | | | 4458 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +Table : FI_TdB_Suivi_Temps.CMOD_Table.TABLE_Info +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| LIB_LibRup | 24 | 148 645 | 21 | 0 Actif | Gauche | Haut | | +| ---------- | --- | ------- | --- | ------- | ------ | ---- | --- | +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC +| | | ehcuag à eéxiF | | ehcrehcer cevA | | | | +| --- | --- | -------------- | --- | --------------------------- | --- | --- | --- | +| | | | | .zroh egardaC .trev egardaC | | | | +FTR tamroF +| | | laitini tatE | elbaçalpéD | | eisias epyT | engilitluM | eisias cevA | +| --- | --- | ------------ | ---------- | --- | ----------- | ---------- | ----------- | +ruegraL +elbisiV +| epyT | | | | | | | eéirT | +| ------------- | --- | -------- | --- | ------------- | ------- | --- | ----- | +| COL_PKID | 880 | Grisé | | Droite Centre | Numériq | | | +| COL_Img | 32 | affichag | | Centre Centre | | | | +| COL_Colb | 136 | Actif | | Gauche Centre | Texte | | | +| COL_TypeTemps | 141 | affichag | | Gauche Centre | Texte | | | +| COL_SDT_HD | 59 | Actif | | Droite Centre | Heure | | | +| COL_SDT_HF | 59 | Actif | | Droite Centre | Heure | | | +| COL_Min | 82 | Actif | | Droite Centre | Numériq | | | +| COL_GUIDRdv | 100 | Grisé | | Gauche Centre | Texte | | | +| COL_StatusRDV | 159 | Actif | | Gauche Centre | Texte | | | +| COL_DHRDV | 100 | Grisé | | Gauche Centre | Texte | | | +Rupture de zone répétée +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +RUPT_BasRupture1 +RUPT_HautRupture1 +| 06/08/2026 | | | Batik | | | | 4459 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +X noitisoP Y noitisoP laitini tatE +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 39 7 | 649 26 | 0 Actif | Gauche | Centre | | +| ------- | ---- | ------ | ------- | ------ | ------ | --- | +Fenêtre : FI_TdB_Suivi_Temps +Fenêtre interne : FI_TdB_Suivi_Temps +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +| Facteur d'agrandissement | 0 | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | +| Ancrage | <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_TdB_Suivi_Temps +| 06/08/2026 | | Batik | | | | 4460 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_Diff +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_DureeP +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4461 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_Heurs +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_Img +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4462 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_Ligne +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_TPasse +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4463 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_TPond +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_TRDV +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4464 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_Table +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 400 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_Titre +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4465 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +Image : FI_TdB_Suivi_Temps.IMG_RDV +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Planning_marron.svg +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 +Image : FI_TdB_Suivi_Temps.IMG_Temps +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Temps_passé_marron.svg +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 +06/08/2026 Batik 4466 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +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 +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_Diff +Champ de saisie : FI_TdB_Suivi_Temps.CMOD_Diff.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Ecart" +} +Libellé FR: &Champ de saisie +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. Droite +Position X interne 463 +Largeur interne 102 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +06/08/2026 Batik 4467 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 99 999 999 999 999 999 999,99 +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, non 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4468 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_DureeP +Champ de saisie : FI_TdB_Suivi_Temps.CMOD_DureeP.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Temps pr\u00e9vu" +} +Libellé FR: Texte +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. Droite +Position X interne 122 +Largeur interne 111 +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: +9 999 999 999,99 +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 +06/08/2026 Batik 4469 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_Heurs +Libellé : FI_TdB_Suivi_Temps.CMOD_Heurs.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 +06/08/2026 Batik 4470 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +Ancrage au contenu <Aucun> +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_Img +Image : FI_TdB_Suivi_Temps.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Suivi_noire.svg +Groupe GR_Saisie +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) +06/08/2026 Batik 4471 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_Ligne +Forme : FI_TdB_Suivi_Temps.CMOD_Ligne.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4472 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_TPasse +Champ de saisie : FI_TdB_Suivi_Temps.CMOD_TPasse.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Temps r\u00e9alis\u00e9" +} +Libellé FR: &Champ de saisie +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. Droite +Position X interne 352 +Largeur interne 103 +Cadrage fonctions gXXX Tenir compte du cadrage +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: 99 999 999 999 999 999 999,99 +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Batik 4473 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_TPond +Champ de saisie : FI_TdB_Suivi_Temps.CMOD_TPond.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Temps pond\u00e9r\u00e9" +} +Libellé FR: &Champ de saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +06/08/2026 Batik 4474 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +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 573 +Largeur interne 104 +Cadrage fonctions gXXX Tenir compte du cadrage +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: 99 999 999 999 999 999 999,99 +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, non 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 +06/08/2026 Batik 4475 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_TRDV +Champ de saisie : FI_TdB_Suivi_Temps.CMOD_TRDV.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Temps en rendez vous" +} +Libellé FR: &Champ de saisie +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. Droite +Position X interne 241 +Largeur interne 103 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 4476 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +Masque saisie FR: 99 999 999 999 999 999 999,99 +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, non 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4477 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_Table +Table : FI_TdB_Suivi_Temps.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Liste des suivi des temps" +} +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. 3 +Hauteur ligne (sans marges) 26 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 4478 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +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 : FI_TdB_Suivi_Temps.CMOD_Table.TABLE_Info +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 9 +Libellé : FI_TdB_Suivi_Temps.CMOD_Table.TABLE_Info.RUPT_HautRupture1.LIB_LibRup +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 +06/08/2026 Batik 4479 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Rupture de zone répétée : +Toujours visible Non +Attribut de rupture 9 +Colonne de table : FI_TdB_Suivi_Temps.CMOD_Table.TABLE_Info.COL_PKID (3) +Titre FR: PKID +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 +06/08/2026 Batik 4480 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +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 : FI_TdB_Suivi_Temps.CMOD_Table.TABLE_Info.COL_Img (4) +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 4 +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 40 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Suivi_Temps.CMOD_Table.TABLE_Info.COL_Colb (5) +Titre FR: Collaborateur +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 +06/08/2026 Batik 4481 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +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 250 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Suivi_Temps.CMOD_Table.TABLE_Info.COL_TypeTemps (6) +Titre FR: Type temps +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 250 Taux anc. hauteur 1000 +06/08/2026 Batik 4482 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +Colonne de table : FI_TdB_Suivi_Temps.CMOD_Table.TABLE_Info.COL_SDT_HD (7) +Titre FR: Début +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: HH:MM +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 70 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Suivi_Temps.CMOD_Table.TABLE_Info.COL_SDT_HF (8) +Titre FR: Fin +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: HH:MM +06/08/2026 Batik 4483 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › 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 70 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Suivi_Temps.CMOD_Table.TABLE_Info.COL_Min (9) +Titre FR: Temps (h) +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,99 +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 70 Taux anc. hauteur 1000 +06/08/2026 Batik 4484 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +Colonne de table : FI_TdB_Suivi_Temps.CMOD_Table.TABLE_Info.COL_GUIDRdv (10) +Titre FR: GUIDRdv +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 : FI_TdB_Suivi_Temps.CMOD_Table.TABLE_Info.COL_StatusRDV (11) +Titre FR: Statut 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 +06/08/2026 Batik 4485 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › 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 250 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Suivi_Temps.CMOD_Table.TABLE_Info.COL_DHRDV (12) +Titre FR: DHRDV +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 +06/08/2026 Batik 4486 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Informations sur les champs +Champ Modèle de champs : FI_TdB_Suivi_Temps.CMOD_Titre +Libellé : FI_TdB_Suivi_Temps.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TdB_Suivi_Temps +Code des champs +Déclarations globales de FI_TdB_Suivi_Temps +06/08/2026 Batik 4487 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Code des champs +procédure FI_TdB_Suivi_Temps() +rTempsPasse est un réel +rTempsRDV est un réel +rTempsPond est un réel +nIdIntervention est un entier sur 8 octets +tbRdvTemps est un tableau de RendezVous +Déclarations globales de CMOD_Diff +salib = "Différence" +Fin d'initialisation de CMOD_Diff +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Diff +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Diff +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Diff +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Diff +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Diff +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Diff +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Diff ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Diff ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Diff ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Diff ) +06/08/2026 Batik 4488 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Diff ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_DureeP +salib = "Temps prévu" +Fin d'initialisation de CMOD_DureeP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_DureeP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DureeP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DureeP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DureeP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DureeP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DureeP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_DureeP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_DureeP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_DureeP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_DureeP ) +06/08/2026 Batik 4489 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_DureeP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Heurs +salib = "En Heure(s) : " +Fin d'initialisation de CMOD_Heurs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Heurs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Heurs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Heurs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Heurs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Heurs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Heurs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Heurs ) (modèle MDLC_LibNormal) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Heurs ) (modèle MDLC_LibNormal) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +06/08/2026 Batik 4490 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ligne +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4491 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +06/08/2026 Batik 4492 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +06/08/2026 Batik 4493 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_LibRup ( TABLE_Info ) +// Version 1 +// Description +// Libellé simple +Déclarations globales de CMOD_Titre +salib = "Suivi de temps" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +06/08/2026 Batik 4494 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Code des champs +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_TPasse +salib = "Temps réalisé" +Fin d'initialisation de CMOD_TPasse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TPasse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TPasse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TPasse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TPasse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TPasse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TPasse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_TPasse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_TPasse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_TPasse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_TPasse ) +06/08/2026 Batik 4495 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_TPasse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_TPond +saLib = "Temps pondéré" +Fin d'initialisation de CMOD_TPond +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TPond +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TPond +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TPond +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TPond +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TPond +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TPond +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_TPond ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_TPond ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_TPond ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_TPond ) +06/08/2026 Batik 4496 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_TPond ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_TRDV +salib = "Temps RDV" +Fin d'initialisation de CMOD_TRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_TRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_TRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_TRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_TRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_TRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_TRDV +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_TRDV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_TRDV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_TRDV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_TRDV ) +06/08/2026 Batik 4497 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_TRDV ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +FI_TdB_Suivi_Temps +Procédures +Procédure locale Blocage +procédure Blocage(bBloque est un booléen) +Procédure locale Filtrer +procédure Filtrer(nIdInter est un entier sur 8 octets) +nIdIntervention = nIdInter +si nIdInter <= 0 alors +renvoyer Faux +fin +si pas HLitRecherchePremier(Intervention,IN_PKID,nIdInter) alors +renvoyer Faux +sinon +CMOD_DureeP.SAI_Texte = Intervention.IN_DureePrevue +fin +rTempsPasse = 0 +rTempsRDV = 0 +rTempsPond = 0 +TableauSupprimeTout(tbRdvTemps) +TableSupprimeTout(TABLE_Info) +FiltrerSuiviTemp() +FiltreTempsSansRDV() +ControlTemps(tbRdvTemps) +i est un entier +duUnDure est une Durée +bCompta est un booléen +dhDDeb est une DateHeure +dhDFin est une DateHeure +TableauTrie(tbRdvTemps,ttMembre,"DateDébut;DateFin") +pour tout unRdv de tbRdvTemps +bCompta = Faux +i = TableAjouteLigne(CMOD_Table.TABLE_Info) +CMOD_Table.TABLE_Info[i].COL_PKID = unRdv.Extra[cExtra_IdTemps] +CMOD_Table.TABLE_Info[i].COL_GUIDRdv = unRdv.Extra[cExtra_GUIDRdvColb] +CMOD_Table.TABLE_Info[i].COL_TypeTemps = unRdv.Extra[cExtra_TypeTemps] <> "" _et_ +06/08/2026 Batik 4498 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Procédures +gtabParametresMetierCode[cparam_TypeTemps][unRdv.Extra[cExtra_TypeTemps]]..Existe ? +gtabParametresMetierCode[cparam_TypeTemps][unRdv.Extra[cExtra_TypeTemps] ].saLibelle sinon "" +duUnDure = (unRdv.DateFin-unRdv.DateDébut) +CMOD_Table.TABLE_Info[i].COL_SDT_HD = unRdv.DateDébut..PartieHeure +CMOD_Table.TABLE_Info[i].COL_SDT_HF = unRdv.DateFin..PartieHeure +CMOD_Table.TABLE_Info[i].COL_Min = (duUnDure..EnMinutes/60) +CMOD_Table.TABLE_Info[i].COL_StatusRDV = unRdv.Extra[cExtra_StatusRDV] <> "" _et_ +gtabParametresMetierCode[cParam_StatusRDV][unRdv.Extra[cExtra_StatusRDV]]..Existe ? +gtabParametresMetierCode[cParam_StatusRDV][unRdv.Extra[cExtra_StatusRDV] ].saLibelle sinon "" +si COL_PKID[i] > 0 alors +COL_Img[i] = IMG_Temps +sinon +COL_Img[i] = IMG_RDV +fin +si COL_GUIDRdv[i] <> "" _et_ COL_GUIDRdv[i] <> Null alors +dhDDeb = unRdv.Extra[cExtra_DateD_PL] +dhDFin = unRdv.Extra[cExtra_DateF_PL] +sinon +dhDDeb = unRdv.DateDébut +dhDFin = unRdv.DateFin +fin +COL_DHRDV[i] = dhDDeb+dhDFin +saType est une chaîne ANSI = unRdv.Extra[cExtra_TypeRdv] <> "" _et_ gtabParametresMetierCode[ +cParam_TypeRDV][unRdv.Extra[cExtra_TypeRdv]]..Existe ? (" "+gtabParametresMetierCode[cParam_TypeRDV +][unRdv.Extra[cExtra_TypeRdv]].saLibelle) sinon "" +FI_TdB_Suivi_Temps.CMOD_Table.TABLE_Info[i].RUPT_HautRupture1.LIB_LibRup = DateVersChaîne(dhDDeb, +"JJ/MM/AAAA")+" "+...) +DateVersChaîne(dhDDeb,"HH:mm")+" - "+DateVersChaîne(dhDFin,"HH:mm")+" "+saType +si unRdv.Extra[cExtra_TypeRdv] <> "" _et_ gtabParametresMetierCode[cParam_TypeRDV][unRdv.Extra[ +cExtra_TypeRdv]]..Existe _et_ +gtabParametresMetierCode[cParam_TypeRDV][unRdv.Extra[cExtra_TypeRdv]].saParametre <> "" _et_ +gtabParametresMetierCode[cParam_TypeRDV][unRdv.Extra[cExtra_TypeRdv]].ParamJson.Present_devis +alors +bCompta = Vrai +fin +si COL_GUIDRdv[i] = "" alors +bCompta = Vrai +fin +si bCompta _et_ unRdv.Extra[cExtra_TypeTemps] <> "" _et_ gtabParametresMetierCode[cparam_TypeTemps] +[unRdv.Extra[cExtra_TypeTemps]]..Existe _et_... +gtabParametresMetierCode[cparam_TypeTemps][unRdv.Extra[cExtra_TypeTemps]].saParametre <> "" +_et_ gtabParametresMetierCode[cparam_TypeTemps][unRdv.Extra[cExtra_TypeTemps]].ParamJson.devis +alors +rTempsPasse += duUnDure..EnMinutes +si Val(unRdv.Extra[cExtra_Pond]) <= 0.00 alors +si gtabListeCollaborateurs[Val(unRdv.Ressource)]..Existe _et_ gtabListeCollaborateurs[ +Val(unRdv.Ressource)].rPonderation > 0.00 alors +rTempsPond += (duUnDure..EnMinutes)*gtabListeCollaborateurs[Val(unRdv.Ressource)]. +rPonderation +fin +sinon +rTempsPond += (duUnDure..EnMinutes)*Val(unRdv.Extra[cExtra_Pond]) +fin +fin +si gtabListeCollaborateurs[unRdv.Ressource]..Existe _et_ gtabListeCollaborateurs[unRdv.Ressource]. +nPKID > 0 alors +CMOD_Table.TABLE_Info[i].COL_Colb = gtabListeCollaborateurs[unRdv.Ressource].NomPrenom() +fin +06/08/2026 Batik 4499 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Procédures +fin +CMOD_TRDV.SAI_Texte = (rTempsRDV/60) +CMOD_TPasse.SAI_Texte = (rTempsPasse/60) +CMOD_Diff.SAI_Texte = (rTempsRDV-rTempsPasse)/60 +CMOD_TPond.SAI_Texte = (rTempsPond/60) +TableTrie(TABLE_Info,"COL_DHRDV") +Procédure locale FiltrerSuiviTemp +procédure FiltrerSuiviTemp() +bOk est un booléen +saReqRDVest une Requête SQL = [ +SELECT RDV_Collaborateur.GUID AS RDV_GUID, RDV_Collaborateur.*,RV_CleStatut,RV_Objet,RV_CleType, +RV_PKID, SuiviDesTemps.GUID AS SDT_GUID, SuiviDesTemps.* +FROM RDV_Collaborateur +INNER JOIN RDV_Planning ON (RDV_Planning.GUID = RDV_Collaborateur.RVC_GUID_RDV AND RV_IdInter = +{P_IdInter}) +LEFT OUTER JOIN SuiviDesTemps ON (SuiviDesTemps.SDT_GUID_Rdv_Colb = RDV_Collaborateur.GUID +AND (SDT_NbMinutes > 0 AND SDT_DateDebut > '00000000' AND SDT_DateHeureFin > '00000000' AND +SDT_CleType <> '' AND SDT_CleType NOT IN ({p_TypeTemps}))) +WHERE RDV_Planning.Archive=0 AND RDV_Collaborateur.Archive = 0 +AND RDV_Planning.RV_CleStatut <> {p_planifier} AND RDV_Collaborateur.RVC_DateDeb IS NOT NULL AND +RDV_Collaborateur.RVC_DateFin IS NOT NULL ORDER BY RDV_Planning.RV_PKID +] +saReqRDV.p_planifier = cCle_RDVAPlanifier +saReqRDV.p_TypeTemps = cCle_TypeTempsGlobal+";"+cCle_TypeTempsNonAffecte+";"+cCle_TypeTempsNull +saReqRDV.P_IdInter = nIdIntervention +saGUIDRdv est une chaîne ANSI +duUneDure est une Durée +si pas HExécuteRequête(saReqRDV) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur s'est produite lors de la recherche du temps saisi par les collaborateurs", +"FI_TdB_Suivi_Temps.FiltrerSuiviTemp") +renvoyer Faux +sinon +pour tout saReqRDV +UnRdv est un RendezVous +bOk = Vrai +si DateHeureValide(saReqRDV.RVC_DateDeb) _et_ DateHeureValide(saReqRDV.RVC_DateFin) alors +si saReqRDV.SDT_PKID > 0 alors +UnRdv.DateDébut = saReqRDV.SDT_DateDebut +UnRdv.DateFin = saReqRDV.SDT_DateHeureFin +UnRdv.Extra[cExtra_GUID] = saReqRDV.SDT_GUID +sinon +si saReqRDV.RDV_GUID <> "" alors +si saReqRDV.RV_CleStatut <> cCle_RDVAnnule alors +UnRdv.DateDébut = saReqRDV.RVC_DateDeb +UnRdv.DateFin = saReqRDV.RVC_DateFin +UnRdv.Extra[cExtra_GUID] = saReqRDV.RDV_GUID +sinon +bOk = Faux // RDV Annulé sans temps ne sont pas pris en compte +fin +fin +fin +06/08/2026 Batik 4500 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Procédures +si bOk alors +| UnRdv.Ressource | | = saReqRDV.RVC_GUID_Colb | | | +| ------------------------------- | --- | ----------------------------- | --- | --- | +| UnRdv.Extra[cExtra_IdRdv] | | = saReqRDV.rv_pkid | | | +| UnRdv.Extra[cExtra_GUIDRdvColb] | | = saReqRDV.RDV_GUID | | | +| UnRdv.Extra[cExtra_IdTemps] | | = saReqRDV.SDT_PKID | | | +| UnRdv.Extra[cExtra_TypeRdv] | | = saReqRDV.RV_CleType | | | +| UnRdv.Extra[cExtra_IdInter] | | = saReqRDV.SDT_IDIntervention | | | +| UnRdv.Extra[cExtra_TypeTemps] | | = saReqRDV.SDT_CleType | | | +| UnRdv.Extra[cExtra_StatusRDV] | | = saReqRDV.RV_CleStatut | | | +| UnRdv.Extra[cExtra_DateD_PL] | | = saReqRDV.RVC_DateDeb | | | +| UnRdv.Extra[cExtra_DateF_PL] | | = saReqRDV.RVC_DateFin | | | +| UnRdv.Extra[cExtra_DateD_SDT] | | = saReqRDV.SDT_DateDebut | | | +| UnRdv.Extra[cExtra_DateF_SDT] | | = saReqRDV.SDT_DateHeureFin | | | +| UnRdv.Extra[cExtra_Pond] | | = saReqRDV.SDT_Ponderation | | | +TableauAjoute(tbRdvTemps,UnRdv) +si saReqRDV.RDV_GUID <> "" _et_ saGUIDRdv <> saReqRDV.RDV_GUID alors +saGUIDRdv = saReqRDV.RDV_GUID +duUneDure = saReqRDV.RVC_DateFin-saReqRDV.RVC_DateDeb +si UnRdv.Extra[cExtra_TypeRdv] <> "" _et_ gtabParametresMetierCode[cParam_TypeRDV] +[UnRdv.Extra[cExtra_TypeRdv]]..Existe _et_ +gtabParametresMetierCode[cParam_TypeRDV][UnRdv.Extra[cExtra_TypeRdv]]. +saParametre <> "" _et_ gtabParametresMetierCode[cParam_TypeRDV][UnRdv.Extra[ +cExtra_TypeRdv]].ParamJson.ComptSuiviTemp alors +rTempsRDV += duUneDure..EnMinutes +fin +fin +fin +fin +fin +fin +Procédure locale FiltreTempsSansRDV +procédure FiltreTempsSansRDV() +| saRqSDT | est une Requête SQL | | = [ | | +| ------- | ------------------- | --- | --- | --- | +SELECT * +FROM SuiviDesTemps +WHERE SDT_NbMinutes > 0 +AND SDT_DateDebut > '00000000' AND SDT_DateHeureFin > '00000000' +AND SDT_CleType <> '' AND SDT_CleType NOT IN ({p_TypeTemps}) +AND SDT_IDIntervention = {p_IdInter} +AND SuiviDesTemps.SDT_IDRdv <= 0 AND SuiviDesTemps.SDT_GUID_Rdv_Colb = '' +] +saRqSDT.p_IdInter = nIdIntervention +saRqSDT.p_TypeTemps = cCle_TypeTempsGlobal+";"+cCle_TypeTempsNonAffecte+";"+ +cCle_TypeTempsNull +si pas HExécuteRequête(saRqSDT) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur s'est produite lors de la recherche du temps saisi par les collaborateurs", +"FEN_Suivi_Temps.FiltreTempsSansRDV") +| 06/08/2026 | | Batik | | 4501 | +| ---------- | --- | ----- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Suivi_Temps › Procédures +renvoyer Faux +sinon +pour tout saRqSDT +si saRqSDT.SDT_DateDebut <> "" et saRqSDT.SDT_DateHeureFin <> "" et saRqSDT.SDT_NbMinutes > 0 +alors +UnRdv est un RendezVous +UnRdv.DateDébut = saRqSDT.SDT_DateDebut +UnRdv.DateFin = saRqSDT.SDT_DateHeureFin +UnRdv.Extra[cExtra_IdRdv] = 0 +UnRdv.Extra[cExtra_IdTemps] = saRqSDT.SDT_PKID +UnRdv.Extra[cExtra_TypeRdv] = "" +UnRdv.Extra[cExtra_TypeTemps] = saRqSDT.SDT_CleType +UnRdv.Extra[cExtra_DateD_PL] = "" +UnRdv.Extra[cExtra_DateF_PL] = "" +UnRdv.Extra[cExtra_DateD_SDT] = saRqSDT.SDT_DateDebut +UnRdv.Extra[cExtra_DateF_SDT] = saRqSDT.SDT_DateHeureFin +UnRdv.Extra[cExtra_Pond] = saRqSDT.SDT_Ponderation +si saRqSDT.SDT_IDCollaborateur > 0 _et_ gtabListeCollaborateurs[saRqSDT. +SDT_IDCollaborateur]..Existe = Vrai _et_ gtabListeCollaborateurs[saRqSDT. +SDT_IDCollaborateur].saGUID <> "" alors +UnRdv.Ressource = gtabListeCollaborateurs[saRqSDT.SDT_IDCollaborateur].saGUID +TableauAjoute(tbRdvTemps,UnRdv) +fin +fin +fin +fin +06/08/2026 Batik 4502 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Actions › Image +FI_TdB_Actions +Image +FI_TdB_Actions +Informations générales +FI_TdB_Actions +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TdB_Actions.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 18/06/2025 08:43:44 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 20/03/2026 11:52:18 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 426 Hauteur | 169 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------ | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 4503 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Actions › Informations générales +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 1 +Table 1 Forme 1 +Fenêtre interne 1 Champ Modèle de champs 4 +Option de menu 4 Colonne de table 6 +Nombre d'éléments dans la fenêtre : 19 +FI_TdB_Actions +Informations sur les champs +06/08/2026 Batik 4504 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Actions › Informations sur les champs +Fenêtre : FI_TdB_Actions +Fenêtre interne +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| FI_TdB_Actions | 0 | 0 426 | 169 | 0 | | | +| -------------- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdB_Actions +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Img | 3 | 7 29 | 24 | 0 | Actif | | +| ---------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_Ligne | 0 | 33 426 | 8 | 0 | Actif | | +| CMOD_Table | 1 | 41 421 | 128 | 0 | Actif | | +| CMOD_Titre | 36 | 7 386 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_TdB_Actions.CMOD_Img +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | --- | --- | ------------ | --- | ---------- | +cilc cevA +ruegraL ruetuaH +elbisiV +nalP +| IMG_Icone | 3 7 | 29 24 | 0 | Actif | | | +| --------- | --- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_TdB_Actions.CMOD_Ligne +| 06/08/2026 | | Batik | | | | 4505 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Actions › Informations sur les champs +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_Sep | | | 0 | 34 | 426 | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Actions.CMOD_Table +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 | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | +ruegraL +| | | | | elbisiV | elbaT | | | | | +| --- | --- | --- | --- | ------- | ----- | --- | --- | --- | --- | +nalP +| TABLE_Info | 3 43 | 415 122 | 0 | affichag | Mémoir | | | | 1 | +| ---------- | ---- | ------- | --- | -------- | ------ | --- | --- | --- | --- | +Table : FI_TdB_Actions.CMOD_Table.TABLE_Info +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_PKID | | 880 | Grisé | | | Droite Centre | Numériq | | | +| COL_Date | | 100 | Actif | | | Droite Centre | Date | | | +| COL_Heure | | 59 | Actif | | | Droite Centre | Heure | | | +| COL_Type | | 75 | Actif | | | Gauche Centre | Texte | | | +| COL_Qui | | 58 | Actif | | | Gauche Centre | Texte | | | +| COL_Description | | 100 | Actif | | | Gauche Centre | Texte | | | +| 06/08/2026 | | | | Batik | | | | | 4506 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Actions › Informations sur les champs +Champ Modèle de champs : FI_TdB_Actions.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +X noitisoP Y noitisoP laitini tatE +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 36 7 | 386 26 | 0 Actif | Gauche | Centre | | +| ------- | ---- | ------ | ------- | ------ | ------ | --- | +Fenêtre : FI_TdB_Actions +Fenêtre interne : FI_TdB_Actions +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +| Facteur d'agrandissement | 0 | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | +| Ancrage | <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_TdB_Actions +| 06/08/2026 | | Batik | | | | 4507 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Actions › Informations sur les champs +Champ Modèle de champs : FI_TdB_Actions.CMOD_Img +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Actions.CMOD_Ligne +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4508 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Actions › Informations sur les champs +Champ Modèle de champs : FI_TdB_Actions.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Actions.CMOD_Titre +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4509 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Actions › Informations sur les champs +Champ Modèle de champs : FI_TdB_Actions.CMOD_Img +Image : FI_TdB_Actions.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Options des actions rattach\u00e9es \u00e0 l'intervention" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\actions.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 4510 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Actions › Informations sur les champs +Champ Modèle de champs : FI_TdB_Actions.CMOD_Ligne +Forme : FI_TdB_Actions.CMOD_Ligne.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Actions.CMOD_Table +Table : FI_TdB_Actions.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Liste des actions" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +06/08/2026 Batik 4511 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Actions › Informations sur les champs +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 +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 +06/08/2026 Batik 4512 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Actions › Informations sur les champs +Table : FI_TdB_Actions.CMOD_Table.TABLE_Info +Colonne de table : FI_TdB_Actions.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : FI_TdB_Actions.CMOD_Table.TABLE_Info.COL_Date (2) +Titre FR: Date +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 +06/08/2026 Batik 4513 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Actions › Informations sur les champs +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: UseSystemMask +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 100 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Actions.CMOD_Table.TABLE_Info.COL_Heure (3) +Titre FR: Heure +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: HH:MM +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 70 Taux anc. hauteur 1000 +06/08/2026 Batik 4514 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Actions › Informations sur les champs +Colonne de table : FI_TdB_Actions.CMOD_Table.TABLE_Info.COL_Type (4) +Titre FR: Type +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 75 +Larg. déroulée perso. Non +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 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Actions.CMOD_Table.TABLE_Info.COL_Qui (5) +Titre FR: Qui +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 +06/08/2026 Batik 4515 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Actions › Informations sur les champs +Masque saisie FR: 0 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Actions.CMOD_Table.TABLE_Info.COL_Description (6) +Titre FR: Description +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 430 Taux anc. hauteur 1000 +06/08/2026 Batik 4516 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Actions › Informations sur les champs +Champ Modèle de champs : FI_TdB_Actions.CMOD_Titre +Libellé : FI_TdB_Actions.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TdB_Actions +Informations sur les menus +06/08/2026 Batik 4517 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Actions › Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Ajouter (3) +OPT_Modifier (4) +OPT_Supprimer (2) +Libellé des options : Français +Ajouter +Modifier +Supprimer +FI_TdB_Actions +Code des champs +Déclarations globales de FI_TdB_Actions +procédure FI_TdB_Actions() +tbaAction est un tableau associatif de MAction_Inter +bLeDroit est un booléen +nIdInterv est un entier sur 8 octets +Fin d'initialisation de FI_TdB_Actions +bLeDroit = bDroit(cGestion_ActionInter) +si pas bLeDroit alors +MenuSelectMoins(OPT_Ajouter) +MenuSelectMoins(OPT_Modifier) +MenuSelectMoins(OPT_Supprimer) +fin +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +06/08/2026 Batik 4518 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Actions › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ligne +06/08/2026 Batik 4519 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Actions › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4520 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Actions › Code des champs +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4521 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Actions › Code des champs +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_Type ( TABLE_Info ) +InitChamp(MoiMême..Nom,cParam_TypeAction) +Déclarations globales de CMOD_Titre +salib = "Actions" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Sélection du menu de MNU_Options.OPT_Ajouter +06/08/2026 Batik 4522 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Actions › Code des champs +Ajouter() +Sélection du menu de MNU_Options.OPT_Modifier +Modifier() +Sélection du menu de MNU_Options.OPT_Supprimer +Supprimer() +FI_TdB_Actions +Procédures +Procédure locale Ajouter +procédure Ajouter() +si pas bLeDroit alors +renvoyer Faux +fin +tbaParam est un tableau associatif de chaînes ANSI +nId est un entier sur 8 octets +bModif est un booléen +tbaParam[cParam_Alias] = "FEN_Fiche_Action" +tbaParam[cParam_IdFen] = 0 +tbaParam[Intervention.IN_PKID..Nom] = nIdInterv +(bModif, nId) = Ouvre(FEN_Fiche_Action, tbaParam) +i est un entier +si bModif _et_ nId > 0 _et_ HLitRecherchePremier(Action,AC_PKID,nId) alors +oUneAction est un MAction_Inter +FichierVersMémoire(oUneAction,Action) +tbaAction[oUneAction:nPKID] = oUneAction +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = oUneAction.nPKID +COL_Date[i] = oUneAction.dDateAction +COL_Description[i] = oUneAction.saDescription +COL_Heure[i] = oUneAction.hHeureAction +si oUneAction:nIDQui > 0 _et_ gtabListeCollaborateurs[oUneAction:nIDQui]..Existe alors +COL_Qui[i] = gtabListeCollaborateurs[oUneAction:nIDQui].NomPrenom() +fin +COL_Type[i] = oUneAction.saCleTypeAction +fin +Procédure locale Blocage +procédure Blocage(bBloque est un booléen) +Procédure locale Filtrer +procédure Filtrer(nIdInter est un entier sur 8 octets) +06/08/2026 Batik 4523 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Actions › Procédures +nIdInterv = nIdInter +TableauSupprimeTout(tbaAction) +TableSupprimeTout(TABLE_Info) +si nIdInter > 0 alors +i est un entier +odUneAction est un MAction_Inter dynamique +rqSql est une Requête SQL = +[ +SELECT AC_PKID, AC_DateAction,AC_Description,AC_IDQui,AC_HeureAction,AC_CleTypeAction +FROM Action WHERE AC_IDIntervention = {p_IdInter} +] +rqSql.p_IdInter = nIdInter +si pas HExécuteRequêteSQL(rqSql) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Actions.Filtrer") +sinon +pour tout rqSql +odUneAction = allouer un MAction_Inter +FichierVersMémoire(odUneAction,rqSql) +tbaAction[odUneAction:nPKID] = odUneAction +fin +fin +pour tout oAct de tbaAction +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = oAct.nPKID +COL_Date[i] = oAct.dDateAction +COL_Description[i] = oAct.saDescription +COL_Heure[i] = oAct.hHeureAction +si oAct:nIDQui > 0 _et_ gtabListeCollaborateurs[oAct:nIDQui]..Existe alors +COL_Qui[i] = gtabListeCollaborateurs[oAct:nIDQui].NomPrenom() +fin +COL_Type[i] = oAct.saCleTypeAction +fin +fin +Procédure locale Modifier +procédure Modifier() +si pas bLeDroit alors +renvoyer Faux +fin +i est un entier = TABLE_Info +tbaParamest un tableau associatif de chaînes ANSI +si i > 0 _et_ COL_PKID[i] > 0 alors +tbaParam[cParam_Alias] = "FEN_Fiche_Action" +tbaParam[cParam_IdFen] = COL_PKID[i] +tbaParam[Intervention.IN_PKID..Nom] = nIdInterv +nId est un entier sur 8 octets +bModif est un booléen +(bModif, nId) = Ouvre(FEN_Fiche_Action, tbaParam) +si bModif _et_ nId > 0 _et_ HLitRecherchePremier(Action,AC_PKID,nId) alors +oUneAction est un MAction_Inter +FichierVersMémoire(oUneAction,Action) +tbaAction[oUneAction:nPKID] = oUneAction +COL_PKID[i] = oUneAction.nPKID +COL_Date[i] = oUneAction.dDateAction +06/08/2026 Batik 4524 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Actions › Procédures +COL_Description[i] = oUneAction.saDescription +COL_Heure[i] = oUneAction.hHeureAction +si oUneAction:nIDQui > 0 _et_ gtabListeCollaborateurs[oUneAction:nIDQui]..Existe alors +COL_Qui[i] = gtabListeCollaborateurs[oUneAction:nIDQui].NomPrenom() +fin +COL_Type[i] = oUneAction.saCleTypeAction +fin +fin +Procédure locale Supprimer +procédure Supprimer() +i est un entier = TABLE_Info +si i > 0 _et_ bLeDroit alors +si COL_PKID[i] > 0 _et_ tbaAction[COL_PKID[i]]..Existe = Vrai alors +si tbaAction[COL_PKID[i]].Supprimer() alors +TableauSupprime(tbaAction,COL_PKID[i]) +TableSupprime(TABLE_Info,i) +fin +fin +fin +06/08/2026 Batik 4525 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Image +FI_TdB_Documents +Image +FI_TdB_Documents +Informations générales +FI_TdB_Documents +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TdB_Documents.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 18/06/2025 08:51:53 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 16/04/2026 14:01:11 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 571 Hauteur | 261 | +| 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 | | | | +| ------------ | --- | ----- | ----- | --- | ---- | +| 06/08/2026 | | | Batik | | 4526 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Informations générales +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Champ de saisie 1 Libellé 1 +Image 7 Table 1 +Forme 1 Fenêtre interne 1 +Superchamp 1 Champ Modèle de champs 6 +Option de menu 7 Colonne de table 5 +06/08/2026 Batik 4527 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Informations générales +Nombre d'éléments dans la fenêtre : 31 +FI_TdB_Documents +Informations sur les champs +Fenêtre : FI_TdB_Documents +Fenêtre interne +BAT ehcuoT +| | X noitisoP | | | | laitini tatE | | +| --- | ---------- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | ruegraL | ruetuaH | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_TdB_Documents | 0 | 0 571 | 261 | 0 | | | +| ---------------- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdB_Documents +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | laitini tatE | | sucof cevA | +| --- | --- | --- | --- | ------------ | --- | ---------- | +X noitisoP Y noitisoP +| | | ruegraL ruetuaH | | | cilc cevA | | +| --- | --- | --------------- | --- | --- | --------- | --- | +elbisiV +nalP +| IMG_Absent | -452 -54 | 25 21 | 0 | Grisé | | | +| --------------- | --------- | ----- | --- | ----- | --- | --- | +| IMG_DocImg | -465 -26 | 49 52 | 0 | Grisé | | | +| IMG_Present | -452 -81 | 27 26 | 0 | Grisé | | | +| IMG_Syncroniser | -451 -114 | 28 23 | 0 | Grisé | | | +| IMG_Vide | -462 33 | 60 44 | 0 | Actif | | | +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Img | 3 | 7 29 | 24 | 0 | Actif | | +| ------------ | --- | ------- | --- | --- | ----- | ---- | +| CMOD_Ligne | 0 | 33 571 | 8 | 0 | Actif | | +| CMOD_Notes | 2 | 190 566 | 71 | 0 | Actif | | +| CMOD_Table | 3 | 44 440 | 146 | 0 | Actif | | +| CMOD_Titre | 35 | 7 531 | 26 | 0 | Actif | | +| CMOD_VisuDoc | 451 | 41 121 | 149 | 0 | Actif | | +| 06/08/2026 | | Batik | | | | 4528 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Informations sur les champs +Champ Modèle de champs : FI_TdB_Documents.CMOD_Img +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| --- | --- | ---------- | ---------- | --- | ------- | --- | --- | ------------ | --------- | ---------- | +| | | | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 3 | | 7 | 29 24 | | 0 | Actif | | | +| --------- | --- | --- | --- | --- | ----- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_TdB_Documents.CMOD_Ligne +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_Sep | | | 0 | 34 | 571 | | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Documents.CMOD_Notes +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_Texte | 2 190 | 566 71 | 0 | affichag | Texte | | Non | | | | +| --------- | ----- | ------ | --- | -------- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Documents.CMOD_Table +| 06/08/2026 | | | | | Batik | | | | | 4529 | +| ---------- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Informations sur les champs +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 | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | +ruegraL +elbisiV +| | | nalP | | | elbaT | | | | | +| ---------- | ---- | ------- | --- | ----- | ------ | --- | --- | --- | --- | +| TABLE_Info | 5 46 | 434 140 | 0 | Actif | Mémoir | | | | 2 | +Table : FI_TdB_Documents.CMOD_Table.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | | elbairt ennoloC ehcrehcer cevA | | | | | +| --- | --- | --- | ------------ | -------------- | ------------------------------ | --------------------------- | --- | ---------------------- | ----------- | +| | | | | ehcuag à eéxiF | | .zroh egardaC .trev egardaC | | | | +| | | | | elbaçalpéD | | | | eisias epyT FTR tamroF | eisias cevA | +| | | | laitini tatE | | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +| COL_PKID | | 880 Grisé | | | | Droite Centre | Numériq | | | +| ------------- | --- | ------------ | --- | --- | --- | ------------- | ------- | ----- | --- | +| COL_Etat | | 21 affichag | | | | Centre Centre | | | | +| COL_Categorie | | 91 Actif | | | | Gauche Centre | | Texte | | +| COL_Nom | | 205 affichag | | | | Gauche Centre | | Texte | | +| COL_Cree | | 99 affichag | | | | Droite Centre | | Date | | +Champ Modèle de champs : FI_TdB_Documents.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | | | | .zroh egardaC .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | --------------------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | | 35 7 | 531 | 26 | 0 | Actif | Gauche | Centre | | +| ---------- | --- | ---- | --- | ----- | --- | ----- | ------ | ------ | ---- | +| 06/08/2026 | | | | Batik | | | | | 4530 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Informations sur les champs +Champ Modèle de champs : FI_TdB_Documents.CMOD_VisuDoc +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SC_Div | 455 | 46 112 | 138 | 0 | Actif | | +| ------ | --- | ------ | --- | --- | ----- | --- | +Superchamp : FI_TdB_Documents.CMOD_VisuDoc.SC_Div +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | ------- | --- | ------------ | --------- | ---------- | +| | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Apercu | 456 56 | 108 119 | 0 | Actif | | | +| ---------- | ------ | ------- | --- | ----- | --- | --- | +Fenêtre : FI_TdB_Documents +Fenêtre interne : FI_TdB_Documents +| UI par l'utilisateur | Selon fenêtre | | | | | | +| ------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | | +| ------------------------- | ------- | --- | --- | --- | --- | --- | +| Ctx. HFSQL indép. | Non | | | | | | +| Ancrage | <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Batik | | | | 4531 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Informations sur les champs +Fenêtre interne : FI_TdB_Documents +Champ Modèle de champs : FI_TdB_Documents.CMOD_Img +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Documents.CMOD_Ligne +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4532 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Informations sur les champs +Champ Modèle de champs : FI_TdB_Documents.CMOD_Notes +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Bas, largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 700 Taux anc. largeur 1000 Taux anc. hauteur 300 +Champ Modèle de champs : FI_TdB_Documents.CMOD_Table +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 700 Taux anc. hauteur 700 +06/08/2026 Batik 4533 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Informations sur les champs +Champ Modèle de champs : FI_TdB_Documents.CMOD_Titre +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Documents.CMOD_VisuDoc +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite, largeur et hauteur +Taux anc. droite 700 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 700 +06/08/2026 Batik 4534 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Informations sur les champs +Image : FI_TdB_Documents.IMG_Absent +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\errorDoc.svg +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 +Image : FI_TdB_Documents.IMG_DocImg +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\document-img.svg +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 +06/08/2026 Batik 4535 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Informations sur les champs +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 : FI_TdB_Documents.IMG_Present +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\DocOk.svg +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> +06/08/2026 Batik 4536 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_TdB_Documents.IMG_Syncroniser +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SyncroDoc.svg +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 +Image : FI_TdB_Documents.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 +06/08/2026 Batik 4537 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Informations sur les champs +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 +Champ Modèle de champs : FI_TdB_Documents.CMOD_Img +Image : FI_TdB_Documents.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Options des documents rattach\u00e9s \u00e0 l'intervention" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\documents.svg +Groupe GR_Saisie +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 +06/08/2026 Batik 4538 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Informations sur les champs +Texte Markdown Non +Mode menu ctx. <Aucun> +Mire visible Oui +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : FI_TdB_Documents.CMOD_Ligne +Forme : FI_TdB_Documents.CMOD_Ligne.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Documents.CMOD_Notes +06/08/2026 Batik 4539 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Informations sur les champs +Champ de saisie : FI_TdB_Documents.CMOD_Notes.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Notes du document s\u00e9lectionn\u00e9" +} +Libellé FR: &Champ de saisie +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 2 +Largeur interne 566 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 4540 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Informations sur les champs +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Documents.CMOD_Table +Table : FI_TdB_Documents.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Liste des documents" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +06/08/2026 Batik 4541 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Informations sur les champs +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +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 +06/08/2026 Batik 4542 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Table : FI_TdB_Documents.CMOD_Table.TABLE_Info +Colonne de table : FI_TdB_Documents.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 +06/08/2026 Batik 4543 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Informations sur les champs +Colonne de table : FI_TdB_Documents.CMOD_Table.TABLE_Info.COL_Etat (2) +Curseur survol 0 +UI par l'utilisateur <Aucun> +Bouton Calculatrice Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 4 +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 50 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Documents.CMOD_Table.TABLE_Info.COL_Categorie (3) +Titre FR: Catégorie +Curseur survol 0 +UI par l'utilisateur <Aucun> +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 91 +Larg. déroulée perso. Non +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 +Mode ellipse <Aucun> +06/08/2026 Batik 4544 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Informations sur les champs +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Documents.CMOD_Table.TABLE_Info.COL_Nom (4) +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 300 Taux anc. hauteur 1000 +06/08/2026 Batik 4545 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Informations sur les champs +Colonne de table : FI_TdB_Documents.CMOD_Table.TABLE_Info.COL_Cree (5) +Titre FR: Crée le +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: UseSystemMask +Masque affichage FR: JJ/MM/AA +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 150 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Documents.CMOD_Titre +Libellé : FI_TdB_Documents.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 +06/08/2026 Batik 4546 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Informations sur les champs +Ancrage au contenu <Aucun> +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Documents.CMOD_VisuDoc +Superchamp : FI_TdB_Documents.CMOD_VisuDoc.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 110 +Hauteur externe 136 +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 +06/08/2026 Batik 4547 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Informations sur les champs +Source de remplissage Table chargée en mémoire +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_TdB_Documents.CMOD_VisuDoc.SC_Div +Image : FI_TdB_Documents.CMOD_VisuDoc.SC_Div.IMG_Apercu +Note pour la documentation technique +FR: { +"Libelle":"Document s\u00e9lectionn\u00e9" +} +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4548 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Informations sur les menus +FI_TdB_Documents +Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Ajouter (2) +OPT_Modifier (3) +OPT_Supprimer_Doc (4) +OPT_Ouvrir_Repertoire (6) +OPT_Copier (8) +OPT_Coller (9) +Libellé des options : Français +Ajouter un document +Modifier le document sélectionné +Supprimer le document sélectionné +Ouvrir le document dans le répertoire +Copier +Coller +FI_TdB_Documents +Messages multilingues +06/08/2026 Batik 4549 +¹ +.ssem +°N +Message +2000 FR: Le fichier existant ne peut être supprimé ! +¹ N° mess. : numéro de message. +FI_TdB_Documents +Code des champs +Déclarations globales de FI_TdB_Documents + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Code des champs +procédure FI_TdB_Documents() +nIdInterv est un entier sur 8 octets +tbaDoc est un tableau associatif de MDocument +saCheminBase est une chaîne ANSI +bBloque est un booléen = Faux +bLeDroitModif est un booléen +bLeDroitModif = bDroit(cGestion_Document) +si pas bLeDroitModif alors +MenuSelectMoins(OPT_Ajouter) +MenuSelectMoins(OPT_Coller) +MenuSelectMoins(OPT_Copier) +MenuSelectMoins(OPT_Modifier) +MenuSelectMoins(OPT_Ouvrir_Repertoire) +MenuSelectMoins(OPT_Supprimer_Doc) +sinon +ExplorerAccepte(Vrai,FI_TdB_Documents) +// Déclaration de l'événement +Evénement(DragDrop,FI_TdB_Documents..NomComplet,563) +fin +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +06/08/2026 Batik 4550 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Notes +06/08/2026 Batik 4551 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Code des champs +salib = "Notes du document sélectionné" +Fin d'initialisation de CMOD_Notes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Notes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Notes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Notes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Notes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Notes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Notes +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Notes ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Notes ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Notes ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Notes ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Notes ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +06/08/2026 Batik 4552 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4553 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Code des champs +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +AfficheDoc() +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier() +Drop depuis l'explorateur (WM_DROPFILES) sur TABLE_Info +DragDrop() +Initialisation de COL_Categorie ( TABLE_Info ) +InitChamp(MoiMême..NomComplet,cParam_TypeDoc) +Sélection d'une ligne de COL_Categorie ( TABLE_Info ) +i est un entier = TABLE_Info +ChangementCategorie(i) +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +06/08/2026 Batik 4554 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Code des champs +salib = "Documents" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_VisuDoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_VisuDoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_VisuDoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_VisuDoc +06/08/2026 Batik 4555 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_VisuDoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_VisuDoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_VisuDoc +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Apercu ( SC_Div ) +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +06/08/2026 Batik 4556 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Code des champs +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Clic sur IMG_Apercu ( SC_Div ) +gsaNomChampEnCours = MoiMême..NomComplet +Sélection du menu de MNU_Options.OPT_Ajouter +Ajouter() +Sélection du menu de MNU_Options.OPT_Coller +CollerDoc() +Sélection du menu de MNU_Options.OPT_Copier +CopierDoc() +Sélection du menu de MNU_Options.OPT_Modifier +Modifier() +Sélection du menu de MNU_Options.OPT_Ouvrir_Repertoire +OuvrirRep() +Sélection du menu de MNU_Options.OPT_Supprimer_Doc +Supprimer() +FI_TdB_Documents +Procédures +Procédure locale AfficheDoc +procédure AfficheDoc() +i est un entier = TABLE_Info +CMOD_Notes.SAI_Texte = "" +IMG_Apercu = IMG_Syncroniser +nIdDoc est un entier sur 8 octets = i > 0 ? COL_PKID[i] sinon 0 +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaDoc[nIdDoc]..Existe = Vrai _et_ tbaDoc[nIdDoc].nPKID > 0 alors +06/08/2026 Batik 4557 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Procédures +si tbaDoc[nIdDoc].saCleEtatDoc = cCle_EtatDocPresent _et_ fFichierExiste(tbaDoc[nIdDoc]. +saCheminComplet) alors +saExt est une chaîne ANSI = Majuscule(fExtraitChemin(tbaDoc[nIdDoc].saNom,fExtension)) +si saExt = "PDF" ou TableauCherche(LIB_Documents.gtbExtImg,tcLinéairePremier, saExt) > 0 alors +IMG_Apercu=tbaDoc[nIdDoc].saCheminComplet +sinon +IMG_Apercu=IMG_DocImg +fin +fin +pour tout oNote de tbaDoc[nIdDoc].tbaNotes +CMOD_Notes.SAI_Texte += "("+DateVersChaîne(oNote:dhCreeLe, "JJ/MM/AA") +si oNote:nCreePar > 0 _et_ gtbaListeUtilisateurs[oNote:nCreePar]..Existe = Vrai alors +CMOD_Notes.SAI_Texte += "-"+gtbaListeUtilisateurs[oNote:nCreePar].NomPrenomColb() +fin +CMOD_Notes.SAI_Texte += ") "+oNote:saNote+RC +fin +fin +Procédure locale Ajouter +procédure Ajouter() +si SansEspace(saCheminBase) = "" alors +Erreur("Le format du document n'a pas été configuré") +renvoyer Faux +fin +saListeFichiersChoisie est une chaîne ANSI=fSélecteur("", "", "Sélectionnez un fichier...", +"Tous fichiers (*.*)"+TAB+"*.*", "*", fselOuvre+fselExiste+fselMulti) +si saListeFichiersChoisie<>"" alors +AjouterListeFichier(saListeFichiersChoisie) +sinon +ToastAffiche("Abandon") +fin +Procédure locale AjouterListeFichier +procédure AjouterListeFichier(saListeFichiersChoisie est une chaîne) +saCheminRub est une chaîne ANSI +saCheminComp est une chaîne ANSI +saRubCtg est une chaîne ANSI +saRubCtgId est une chaîne ANSI +odDoc est un MDocument dynamique +saNomDoc est une chaîne ANSI +i est un entier +si saListeFichiersChoisie<>"" alors +pour toute chaîne saUnFichier de saListeFichiersChoisie séparée par RC +saCheminRub = saCheminBase +odDoc = allouer un MDocument +odDoc:dDateFichier = DateSys() +odDoc:nIDIntervention= nIdInterv +saRubCtg = "" +saRubCtgId = "" +06/08/2026 Batik 4558 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Procédures +saNomDoc = fExtraitChemin(saUnFichier,fFichier)+"_"+HeureSys()+fExtraitChemin( +saUnFichier,fExtension) +odDoc:saNom = saNomDoc +saExt est une chaîne ANSI = Majuscule(fExtraitChemin(saUnFichier,fExtension)) +si TableauCherche(LIB_Documents.gtbExtImg , tcLinéairePremier, saExt) > 0 alors +odDoc:saCleCategorie = cCle_TypeDocImg +sinon +odDoc:saCleCategorie = cCle_TypeDocAutre +fin +saCheminComp = DonneCheminFichier(odDoc,saCheminRub) +saCheminRub = ComplèteRep(saCheminRub) +si SansEspace(saUnFichier) <> "" alors +si fRepCrée(fExtraitChemin(saCheminComp,fDisque+fRépertoire)) alors +si fCopieFichier(saUnFichier,saCheminComp) alors +odDoc:saCleEtatDoc = cCle_EtatDocPresent +odDoc:saChemin = saCheminRub +odDoc:saCheminComplet= saCheminComp +odDoc:dDateFichier = DateSys() +odDoc:dhCreeLe = DateHeureSys() +odDoc:nCreePar = CollaborateurEnCours:nIdUser +si odDoc:Enregistrer() alors +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = odDoc:nPKID +COL_Nom[i] = odDoc:saNom +COL_Categorie[i] = odDoc:saCleCategorie +COL_Cree[i] = odDoc:dhCreeLe +COL_Etat[i] = IMG_Present +tbaDoc[odDoc:nPKID] = odDoc +ToastAffiche("Document ajouté") +fin +fin +sinon +UneErreur:Init(ErreurApp.Fonctionnelle,"Le répertoire n'a pas pu être créé : "+ +ErreurInfo(errMessage),"FI_TdB_Documents.Ajouter") +fin +fin +fin +si i > 0 _et_ TABLE_Info..Occurrence >= i alors +TableSelectPlus(TABLE_Info,i) +AfficheDoc() +fin +fin +Procédure locale Blocage +procédure Blocage(bBlocage est un booléen) +bBloque = bBlocage +TABLE_Info..EnSaisie = bBloque +Procédure locale ChangementCategorie +procédure ChangementCategorie(i est un entier) +si pas bBloque alors +06/08/2026 Batik 4559 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Procédures +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaDoc[COL_PKID[i]]..Existe = Vrai _et_ tbaDoc[COL_PKID[i]].nPKID > +0 _et_... +tbaDoc[COL_PKID[i]].saCleCategorie <> COL_Categorie[i] _et_ tbaDoc[COL_PKID[i]].saCheminComplet <> +"" _et_ fFichierExiste(tbaDoc[COL_PKID[i]].saCheminComplet) alors +tbaDoc[COL_PKID[i]].saCleCategorie = COL_Categorie[i] +saCheminRub est une chaîne ANSI = saCheminBase +saCheminComplet est une chaîne ANSI = DonneCheminFichier(tbaDoc[COL_PKID[i]],saCheminRub) +saCheminRub = ComplèteRep(saCheminRub) +si saCheminComplet = tbaDoc[COL_PKID[i]].saCheminComplet alors +tbaDoc[COL_PKID[i]].saCleCategorie = COL_Categorie[i] +tbaDoc[COL_PKID[i]].Enregistrer() +renvoyer Vrai +fin +si fRepCrée(fExtraitChemin(saCheminComplet,fDisque+fRépertoire)) alors +si fDéplaceFichier(tbaDoc[COL_PKID[i]].saCheminComplet,saCheminComplet) alors +tbaDoc[COL_PKID[i]].saCleCategorie = COL_Categorie[i] +tbaDoc[COL_PKID[i]].saCheminComplet = saCheminComplet +tbaDoc[COL_PKID[i]].saChemin = saCheminRub +tbaDoc[COL_PKID[i]].Enregistrer() +sinon +COL_Categorie[i] = tbaDoc[COL_PKID[i]].saCleCategorie +fin +sinon +COL_Categorie[i] = tbaDoc[COL_PKID[i]].saCleCategorie +fin +fin +Procédure locale CollerDoc +procédure CollerDoc() +si PressePapierFormat(ppfTexte) alors +tbNomFicest un tableau de chaînes +i est un entier +ChaîneVersTableau(PressePapier(),tbNomFic,";") +saListeFichier est une chaîne ANSI +pour i=1 _à_ TableauInfo(tbNomFic,tiDimension) +si fFichierExiste(tbNomFic[i]) alors +saListeFichier+=tbNomFic[i]+RC +fin +fin +LogEcrit("Presse papier doc pdf - nom fichiers : "+saListeFichier,eInfo) +si saListeFichier <> "" alors +AjouterListeFichier(saListeFichier) +fin +sinon +NomFichier est une chaîne +PP est un cPressePapier +S est une chaîne +S=PP:ListeFormat() +LogEcrit("Presse papier coller doc - format : "+S,eInfo) +si PositionOccurrence(S,"CF_HDROP",1)<>0 alors +//Récupération de fichiers en provenance de l'explorateur +06/08/2026 Batik 4560 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Procédures +S=PP:Contenu(15) +LogEcrit("Presse papier coller doc - contenu lig 39 : "+S,eInfo) +sListeFichier est une chaîne +pour toute chaîne NomFichier de S séparée par RC +si fFichierExiste(NomFichier) alors +sListeFichier+=NomFichier+RC +fin +fin +LogEcrit("Presse papier coller doc - liste de fichiers lig 39 : "+RC+sListeFichier,eInfo) +AjouterListeFichier(sListeFichier) +sinon si PositionOccurrence(S,"FileContents",1)<>0 alors +//Cela semble venir d'Outlook +//Nom de la pièce jointe +NomFichier=PP:ContenuParNomFormat("FileGroupDescriptor") +LogEcrit("Presse papier coller doc - contenu lig 68 : "+NomFichier,eInfo) +//On vérifie si il n'y à pas plusieurs noms de fichiers car on ne le gère pas. (le séparateur +est le CR) +si ChaîneOccurrence(NomFichier,CR)>0 alors +Info("Vous devez copier les pièces jointes d'Outlook Une par Une !") +retour +fin +Fic est un entier +sRepT est une chaîne ANSI = ComplèteRep(fRepTemp()) +NomFichier = sRepT+NomFichier +Fic = fCrée(NomFichier) +si pas ErreurDétectée alors +fEcrit(Fic,PP:ContenuParNomFormat("FileContents")) +fFerme(Fic) +si NomFichier<>"" alors +si fFichierExiste(NomFichier) alors +AjouterListeFichier(NomFichier) +fSupprime(NomFichier) +fin +fin +sinon +Erreur("Impossible d'ajouter le fichier : " + NomFichier, ErreurInfo()) +LogEcrit("Impossible d'ajouter le fichier : " +RC+ NomFichier+RC+ErreurInfo(),eErreur) +fin +fin +fin +Procédure locale CopierDoc +procédure CopierDoc() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaDoc[COL_PKID[i]].nPKID > 0 _et_ tbaDoc[COL_PKID[i]]. +saCheminComplet <> "" _et_ fFichierExiste(tbaDoc[COL_PKID[i]].saCheminComplet) alors +VersPressePapier(tbaDoc[COL_PKID[i]].saCheminComplet) +06/08/2026 Batik 4561 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Procédures +fin +Procédure locale DragDrop +procédure DragDrop() +nbFic est un entier = ExplorerRécupère(_EVE.wParam) +saNomFicest une chaîne ANSI +i est un entier +// Récupération de tous les fichiers +pour i = 1 à nbFic +saNomFic += ExplorerRécupère(_EVE.wParam, i)+RC +fin +si saNomFic <>"" alors +AjouterListeFichier(saNomFic) +sinon +ToastAffiche("Abandon") +fin +Procédure locale EmailPJ +procédure EmailPJ() +//i est un entier = TABLE_Info +//SI i > 0 _ET_ COL_PKID[i] > 0 _ET_ tbaDoc[COL_PKID[i]].nPKID > 0 _ET_ +tbaDoc[COL_PKID[i]].saCheminComplet <> "" _ET_ fFichierExiste(tbaDoc[COL_PKID[i]].saCheminComplet) +ALORS +// tbaParametres est un tableau associatif de chaînes ANSI +// tbaParametres[cParam_Alias] = "FEN_Email_Nouveau_Inter" +// tbaParametres[cParam_IdFen] = nIdInterv +// tbaParametres[cParam_ListeId] = tbaDoc[COL_PKID[i]].nPKID +// nId est un entier +// bDoc est un booléen +// (nId,bDoc) = ouvre(FEN_Email_Nouveau_Inter,tbaParametres) +// +// si bDoc alors +// +// FIN +//FIN +Procédure locale Filtrer +procédure Filtrer(nIdInter est un entier sur 8 octets) +nIdInterv = nIdInter +TableSupprimeTout(TABLE_Info) +TableauSupprimeTout(tbaDoc) +IMG_Apercu = IMG_Vide +i est un entier +si nIdInterv <= 0 alors +renvoyer Faux +fin +si pas bLeDroitModif alors +renvoyer Faux +fin +saCheminBase = DecodeCheminDocSelonInter(gtbaParametresAppli[cParam_StructureCheminDoc].saValeur, +gtbaParametresAppli[cParam_ReqCheminDoc].saValeur,nIdInterv) +06/08/2026 Batik 4562 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Procédures +saReqDoc est une Requête SQL = +[ +SELECT Document.*, DN_PKID, DN_IDDocument, DN_Note, DocumentNote.CreationDate AS CreationNote, +DocumentNote.CreationUser AS UserNote +FROM Document +LEFT JOIN DocumentNote ON DocumentNote.DN_IDDocument = DC_PKID +WHERE DC_IDIntervention = {p_idInter} AND DC_CleCategorie <> {p_CleRapport} AND DC_CleCategorie IN +{p_CtgDocs} +ORDER BY Document.DC_PKID, DC_DateFichier +] +saReqDoc.p_idInter = nIdInter +saReqDoc.p_CleRapport = cCle_TypeDocRapport +saReqDoc.p_CtgDocs = CollaborateurEnCours:clUtilisateur:tbCatgDocDroit..Occurrence > 0 ? +TableauVersChaîne(CollaborateurEnCours:clUtilisateur:tbCatgDocDroit,";") sinon "" +si pas HExécuteRequêteSQL(saReqDoc) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Documents.Filtrer") +sinon +odDoc est un MDocument dynamique +odNote est un MDocNote dynamique +nIdDoc est un entier sur 8 octets +pour tout saReqDoc +si nIdDoc <> saReqDoc.DC_PKID alors +odDoc = allouer un MDocument +FichierVersMémoire(odDoc,saReqDoc) +odDoc:saCleEtatDoc = cCle_EtatDocSyncro +tbaDoc[odDoc:nPKID] = odDoc +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = odDoc:nPKID +COL_Nom[i] = odDoc:saNom +COL_Categorie[i] = odDoc:saCleCategorie +COL_Cree[i] = odDoc:dDateFichier +COL_Etat[i] = IMG_Syncroniser +fin +si saReqDoc.DN_PKID > 0 _et_ SansEspace(saReqDoc.DN_Note) <> "" _et_ tbaDoc[odDoc:nPKID].. +Existe = Vrai alors +odNote = allouer un MDocNote +FichierVersMémoire(odNote,saReqDoc) +odNote:dhCreeLe = saReqDoc.CreationNote +odNote:nCreePar = saReqDoc.UserNote +tbaDoc[odDoc:nPKID].tbaNotes[odNote:nPKID] = odNote +fin +nIdDoc = saReqDoc.DC_PKID +COL_Categorie[i]..Grisé = Vrai +fin +si tbaDoc..Occurrence > 0 alors +stInfoSyncro est un STListeDocASyncro +stInfoSyncro.saCheminBase = saCheminBase +stInfoSyncro.tbaDocuments = tbaDoc +stInfoSyncro.pMaJ = MaJEtatDoc +si ThreadEtat("SyncroniserDocuments")=threadInexistant alors +ThreadExécute("SyncroniserDocuments",threadCopieLégèreContexteHFSQL+threadSécurisé, +TH_SyncroniserDocuments,stInfoSyncro) +fin +fin +TABLE_Info..EnSaisie = bBloque +fin +Procédure locale MaJEtatDoc +06/08/2026 Batik 4563 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Procédures +procédure MaJEtatDoc(stInfoSyncro est un STListeDocASyncro) +SectionCritiqueDébut("MaJEtatDoc") +si stInfoSyncro.tbaDocuments..Occurrence > 0 alors +TableauSupprimeTout(tbaDoc) +tbaDoc = stInfoSyncro.tbaDocuments +fin +pour toute ligne b de TABLE_Info +si COL_PKID[b] > 0 _et_ tbaDoc[COL_PKID[b]]..Existe = Vrai _et_ tbaDoc[COL_PKID[b]].nPKID > 0 alors +selon tbaDoc[COL_PKID[b]].saCleEtatDoc +cas cCle_EtatDocPresent +COL_Etat[b] = IMG_Present +COL_Categorie[b]..Grisé = Faux +cas cCle_EtatDocSyncro +COL_Etat[b] = IMG_Syncroniser +autre cas +COL_Etat[b] = IMG_Absent +fin +COL_Nom[b].Bulle = tbaDoc[COL_PKID[b]].saCheminComplet +fin +fin +AfficheDoc() +SectionCritiqueFin("MaJEtatDoc") +Procédure locale Modifier +procédure Modifier() +si pas bLeDroitModif alors renvoyer Faux +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaDoc[COL_PKID[i]].nPKID > 0 alors +tbaParametres est un tableau associatif de chaînes ANSI +tbaParametres[cParam_Alias] = "FEN_Fiche_Document" +tbaParametres[cParam_CheminFic] = saCheminBase +tbaParametres[cParam_IdFen] = COL_PKID[i] +si Ouvre(FEN_Fiche_Document,tbaParametres,tbaDoc) alors +TableSupprimeTout(TABLE_Info) +pour tout oDoc de tbaDoc +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = oDoc:nPKID +COL_Nom[i] = oDoc:saNom +COL_Categorie[i] = oDoc:saCleCategorie +COL_Cree[i] = oDoc:dDateFichier +COL_Categorie[i]..Grisé = Vrai +selon oDoc:saCleEtatDoc +cas cCle_EtatDocAbsent +COL_Etat[i] = IMG_Absent +cas cCle_EtatDocSyncro +COL_Etat[i] = IMG_Syncroniser +cas cCle_EtatDocPresent +COL_Etat[i] = IMG_Present +COL_Categorie[i]..Grisé = Faux +autre cas +COL_Etat[i] = IMG_Absent +fin +fin +si i <= TABLE_Info..Occurrence alors +06/08/2026 Batik 4564 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Documents › Procédures +TableSelectPlus(TABLE_Info,i) +fin +AfficheDoc() +fin +fin +Procédure locale OuvrirRep +procédure OuvrirRep() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaDoc[COL_PKID[i]].nPKID > 0 _et_ tbaDoc[COL_PKID[i]]. +saCheminComplet <> "" _et_ fFichierExiste(tbaDoc[COL_PKID[i]].saCheminComplet) alors +LanceAppliAssociée(Remplace(tbaDoc[COL_PKID[i]].saCheminComplet,fExtraitChemin(tbaDoc[COL_PKID[i]]. +saCheminComplet,fFichier+fExtension),"")) +fin +Procédure locale Redimensionner +procédure Redimensionner() +Procédure locale Supprimer +procédure Supprimer() +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaDoc[COL_PKID[i]].nPKID > 0 alors +si tbaDoc[COL_PKID[i]].Supprimer() alors +TableauSupprime(tbaDoc,COL_PKID[i]) +TableSupprime(TABLE_Info,i) +fin +fin +06/08/2026 Batik 4565 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Message_Externe › Image +FI_TdB_Message_Externe +Image +FI_TdB_Message_Externe +Informations générales +FI_TdB_Message_Externe +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TdB_Message_Externe.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 18/06/2025 09:23:01 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 20/03/2026 11:48:45 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 530 Hauteur | 154 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------ | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| 06/08/2026 | | | Batik | | 4566 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Message_Externe › Informations générales +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 1 +Table 1 Forme 1 +Fenêtre interne 1 Champ Modèle de champs 4 +Option de menu 3 Colonne de table 6 +Nombre d'éléments dans la fenêtre : 18 +FI_TdB_Message_Externe +Informations sur les champs +06/08/2026 Batik 4567 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Message_Externe › Informations sur les champs +Fenêtre : FI_TdB_Message_Externe +Fenêtre interne +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| FI_TdB_Message_Externe | 0 | 0 530 | 154 | 0 | | | +| ---------------------- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdB_Message_Externe +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Img | 3 | 7 29 | 24 | 0 | Actif | | +| ---------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_Ligne | 0 | 33 530 | 8 | 0 | Actif | | +| CMOD_Table | 2 | 41 524 | 112 | 0 | Actif | | +| CMOD_Titre | 36 | 7 490 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_TdB_Message_Externe.CMOD_Img +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | --- | --- | ------------ | --- | ---------- | +cilc cevA +ruegraL ruetuaH +elbisiV +nalP +| IMG_Icone | 3 7 | 29 24 | 0 | Actif | | | +| --------- | --- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_TdB_Message_Externe.CMOD_Ligne +| 06/08/2026 | | Batik | | | | 4568 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Message_Externe › Informations sur les champs +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_Sep | | | 0 | 34 | 530 | | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Message_Externe.CMOD_Table +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 | | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | | +ruegraL +| | | | | elbisiV | elbaT | | | | | | +| --- | --- | --- | --- | ------- | ----- | --- | --- | --- | --- | --- | +nalP +| TABLE_Info | 4 43 | 518 106 | 0 | affichag | Mémoir | | | | | 1 | +| ---------- | ---- | ------- | --- | -------- | ------ | --- | --- | --- | --- | --- | +Table : FI_TdB_Message_Externe.CMOD_Table.TABLE_Info +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_PKID | | 880 | Grisé | | | Droite | Centre | Numériq | | | +| COL_Envoye | | 76 | Actif | | | Centre | Centre | | | | +| COL_Date | | 61 | Actif | | | Droite | Centre | Date | | | +| COL_Sujet | | 148 | Actif | | | Gauche | Centre | Texte | | | +| COL_Dest | | 164 | Actif | | | Gauche | Centre | Texte | | | +| COL_PJ | | 54 | Actif | | | Centre | Centre | | | | +| 06/08/2026 | | | | Batik | | | | | | 4569 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Message_Externe › Informations sur les champs +Champ Modèle de champs : FI_TdB_Message_Externe.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +X noitisoP Y noitisoP laitini tatE +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 36 7 | 490 26 | 0 Actif | Gauche | Centre | | +| ------- | ---- | ------ | ------- | ------ | ------ | --- | +Fenêtre : FI_TdB_Message_Externe +Fenêtre interne : FI_TdB_Message_Externe +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +| Facteur d'agrandissement | 0 | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | +| Ancrage | <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_TdB_Message_Externe +| 06/08/2026 | | Batik | | | | 4570 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Message_Externe › Informations sur les champs +Champ Modèle de champs : FI_TdB_Message_Externe.CMOD_Img +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Message_Externe.CMOD_Ligne +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4571 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Message_Externe › Informations sur les champs +Champ Modèle de champs : FI_TdB_Message_Externe.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Message_Externe.CMOD_Titre +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4572 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Message_Externe › Informations sur les champs +Champ Modèle de champs : FI_TdB_Message_Externe.CMOD_Img +Image : FI_TdB_Message_Externe.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Options des messages externes rattach\u00e9s \u00e0 l'intervention" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\email.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 4573 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Message_Externe › Informations sur les champs +Champ Modèle de champs : FI_TdB_Message_Externe.CMOD_Ligne +Forme : FI_TdB_Message_Externe.CMOD_Ligne.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Message_Externe.CMOD_Table +Table : FI_TdB_Message_Externe.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Liste des messages externes" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +06/08/2026 Batik 4574 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Message_Externe › Informations sur les champs +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 +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 +06/08/2026 Batik 4575 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Message_Externe › Informations sur les champs +Table : FI_TdB_Message_Externe.CMOD_Table.TABLE_Info +Colonne de table : FI_TdB_Message_Externe.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : FI_TdB_Message_Externe.CMOD_Table.TABLE_Info.COL_Envoye (2) +Titre FR: Envoyé +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +06/08/2026 Batik 4576 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Message_Externe › Informations sur les champs +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 70 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Message_Externe.CMOD_Table.TABLE_Info.COL_Date (3) +Titre FR: Date +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 110 Taux anc. hauteur 1000 +06/08/2026 Batik 4577 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Message_Externe › Informations sur les champs +Colonne de table : FI_TdB_Message_Externe.CMOD_Table.TABLE_Info.COL_Sujet (4) +Titre FR: Sujet +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 350 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Message_Externe.CMOD_Table.TABLE_Info.COL_Dest (5) +Titre FR: Destinataires +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 +06/08/2026 Batik 4578 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Message_Externe › 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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 400 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Message_Externe.CMOD_Table.TABLE_Info.COL_PJ (6) +Titre FR: PJ +Curseur survol 0 +UI par l'utilisateur <Aucun> +Bouton Calculatrice Non +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 70 Taux anc. hauteur 1000 +06/08/2026 Batik 4579 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Message_Externe › Informations sur les champs +Champ Modèle de champs : FI_TdB_Message_Externe.CMOD_Titre +Libellé : FI_TdB_Message_Externe.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TdB_Message_Externe +Informations sur les menus +06/08/2026 Batik 4580 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Message_Externe › Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Modifier (2) +OPT_Supprimer (3) +Libellé des options : Français +Modifier le message externe sélectionné +Supprimer le message externe sélectionné +FI_TdB_Message_Externe +Code des champs +Déclarations globales de FI_TdB_Message_Externe +procédure FI_TdB_Message_Externe() +tbaMessages est un tableau associatif de MMessage_Externe +nIdInterv est un entier sur 8 octets +bLeDroit est un booléen +bBloque est un booléen +Fin d'initialisation de FI_TdB_Message_Externe +bLeDroit = bDroit(cGestion_MsgExt) +FiltrerMenuContextuel() +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +06/08/2026 Batik 4581 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Message_Externe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ligne +06/08/2026 Batik 4582 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Message_Externe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4583 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Message_Externe › Code des champs +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4584 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Message_Externe › Code des champs +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Messages externes" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Sélection du menu de MNU_Options.OPT_Modifier +Modifier() +Sélection du menu de MNU_Options.OPT_Supprimer +Supprimer() +06/08/2026 Batik 4585 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Message_Externe › Procédures +FI_TdB_Message_Externe +Procédures +Procédure locale Blocage +procédure Blocage(bBlocage est un booléen) +bBloque = bBlocage +TABLE_Info..EnSaisie = bBloque +Procédure locale Creation +procédure Creation(nId est un entier sur 8 octets) +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +tbaParametres est un tableau associatif de chaînes ANSI +i est un entier +oMsg est un MMessage_Externe +si nId > 0 alors +tbaParametres[cParam_Alias] = "FEN_Creation_Doc_Rub" +tbaParametres[cParam_TypeEnr] = cTypeEmail +tbaParametres[cParam_IdFen] = nId +tbaParametres[Intervention.IN_PKID..Nom] = nIdInterv +nIdEmail est un entier sur 8 octets = Ouvre(FEN_Creation_Doc_Rub,tbaParametres) +si nIdEmail > 0 alors +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[cParam_Alias] = "FEN_Email_Nouveau_Inter" +tbaParam[cParam_IdFen] = nIdEmail +tbaParam[Intervention.IN_PKID..Nom] = nIdInterv +Ouvre(FEN_Email_Nouveau_Inter,tbaParam) +si HLitRecherchePremier(MessageExterne,ME_PKID,nIdEmail) alors +FichierVersMémoire(oMsg,MessageExterne) +tbaMessages[oMsg:nPKID] = oMsg +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = oMsg.nPKID +COL_Envoye[i] = oMsg.bEnvoyer +COL_Date[i] = oMsg.dhCreationDate +COL_Sujet[i] = oMsg.saObjet +COL_Dest[i] = oMsg.saAdrDestinataires +COL_PJ[i] = oMsg.bPJ +fin +fin +sinon +tbaParametres[cParam_Alias] = "FEN_Email_Nouveau_Inter" +tbaParametres[cParam_IdFen] = 0 +tbaParametres[Intervention.IN_PKID..Nom] = nIdInterv +nIdEmail est un entier sur 8 octets = Ouvre(FEN_Email_Nouveau_Inter,tbaParametres) +si nIdEmail > 0 _et_ HLitRecherchePremier(MessageExterne,ME_PKID,nIdEmail) alors +FichierVersMémoire(oMsg,MessageExterne) +tbaMessages[oMsg:nPKID] = oMsg +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = oMsg.nPKID +COL_Envoye[i] = oMsg.bEnvoyer +COL_Date[i] = oMsg.dhCreationDate +06/08/2026 Batik 4586 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Message_Externe › Procédures +COL_Sujet[i] = oMsg.saObjet +COL_Dest[i] = oMsg.saAdrDestinataires +COL_PJ[i] = oMsg.bPJ +fin +fin +si i > 0 _et_ COL_Envoye[i] _et_ FenEtat(FEN_Fiche_Dossier) = Actif alors +ExécuteTraitement(FEN_Fiche_Dossier.MaJWidgetApresModif,trtProcédure,"FI_TdB_Actions") +fin +Procédure locale Filtrer +procédure Filtrer(nIdInter est un entier sur 8 octets) +nIdInterv = nIdInter +TableauSupprimeTout(tbaMessages) +TableSupprimeTout(TABLE_Info) +si nIdInter > 0 alors +i est un entier +odMsg est un MMessage_Externe dynamique +rqSql est une Requête SQL = +[ +SELECT * +FROM MessageExterne +WHERE MessageExterne.ME_IDIntervention={P_IDInter} +ORDER BY MessageExterne.CreationDate DESC +] +rqSql.p_IdInter = nIdInter +si pas HExécuteRequêteSQL(rqSql) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Message_Externe.Filtrer") +sinon +pour tout rqSql +odMsg = allouer un MMessage_Externe +FichierVersMémoire(odMsg,rqSql) +tbaMessages[odMsg:nPKID] = odMsg +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = odMsg.nPKID +COL_Envoye[i] = odMsg.bEnvoyer +COL_Date[i] = odMsg.dhCreationDate +COL_Sujet[i] = odMsg.saObjet +COL_Dest[i] = odMsg.saAdrDestinataires +COL_PJ[i] = odMsg.bPJ +fin +fin +TABLE_Info..EnSaisie = bBloque +fin +Procédure locale FiltrerMenuContextuel +procédure FiltrerMenuContextuel() +si bLeDroit alors +MenuAjouteMenu(MNU_Options,"Opt_Creer_E","Créer un email") +MenuAjouteOption("Opt_Creer_E","AjouterEmail_0","Modèle vierge",Creation,0) +pour tout oModele de gtbaModelesMail +MenuAjouteOption("Opt_Creer_E","AjouterEmail_"+oModele.nPKID,oModele.saNom,Creation,oModele: +nPKID) +fin +sinon +MenuSelectMoins(OPT_Modifier) +MenuSelectMoins(OPT_Supprimer) +06/08/2026 Batik 4587 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Message_Externe › Procédures +fin +Procédure locale Modifier +procédure Modifier() +si pas bLeDroit alors +renvoyer Faux +fin +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +tbaParametres est un tableau associatif de chaînes ANSI +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaMessages[COL_PKID[i]]..Existe = Vrai _et_ bLeDroit alors +tbaParametres[cParam_IdFen] = COL_PKID[i] +tbaParametres[Intervention.IN_PKID..Nom] = nIdInterv +si tbaMessages[COL_PKID[i]].bEnvoyer = Faux alors +tbaParametres[cParam_Alias] = "FEN_Email_Nouveau_Inter" +Ouvre(FEN_Email_Nouveau_Inter,tbaParametres) +si HLitRecherchePremier(MessageExterne,ME_PKID,COL_PKID[i]) alors +FichierVersMémoire(tbaMessages[COL_PKID[i]],MessageExterne) +COL_PKID[i] = tbaMessages[COL_PKID[i]].nPKID +COL_Envoye[i] = tbaMessages[COL_PKID[i]].bEnvoyer +COL_Date[i] = tbaMessages[COL_PKID[i]].dhCreationDate +COL_Sujet[i] = tbaMessages[COL_PKID[i]].saObjet +COL_Dest[i] = tbaMessages[COL_PKID[i]].saAdrDestinataires +COL_PJ[i] = tbaMessages[COL_PKID[i]].bPJ +fin +sinon +tbaParametres[cParam_Alias] = "FEN_Email_Inter" +bTransfert est un booléen = Ouvre(FEN_Email_Inter,tbaParametres) +si bTransfert alors +oUnMsg est un MMessage_Externe = tbaMessages[COL_PKID[i]] +oUnMsg:nPKID = 0 +oUnMsg:bEnvoyer = Faux +oUnMsg:bBrouillon = Vrai +oUnMsg:saObjet = "TR: "+oUnMsg:saObjet +si oUnMsg:Enregistrer() alors +tbaParametres[cParam_Alias] = "FEN_Email_Nouveau_Inter" +tbaParametres[cParam_IdFen] = oUnMsg:nPKID +tbaParametres[Intervention.IN_PKID..Nom] = nIdInterv +Ouvre(FEN_Email_Nouveau_Inter,tbaParametres) +si HLitRecherchePremier(MessageExterne,ME_PKID,oUnMsg:nPKID) alors +FichierVersMémoire(oUnMsg,MessageExterne) +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = oUnMsg.nPKID +COL_Envoye[i] = oUnMsg.bEnvoyer +COL_Date[i] = oUnMsg.dhCreationDate +COL_Sujet[i] = oUnMsg.saObjet +COL_Dest[i] = oUnMsg.saAdrDestinataires +COL_PJ[i] = oUnMsg.bPJ +tbaMessages[oUnMsg:nPKID] = oUnMsg +fin +fin +fin +06/08/2026 Batik 4588 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Message_Externe › Procédures +fin +fin +si i > 0 _et_ COL_PKID[i] > 0 _et_ COL_Envoye[i] _et_ FenEtat(FEN_Fiche_Dossier) = Actif alors +ExécuteTraitement(FEN_Fiche_Dossier.MaJWidgetApresModif,trtProcédure,"FI_TdB_Actions") +fin +Procédure locale Supprimer +procédure Supprimer() +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaMessages[COL_PKID[i]]..Existe = Vrai alors +si tbaMessages[COL_PKID[i]].Supprimer() alors +TableauSupprime(tbaMessages,COL_PKID[i]) +TableSupprime(TABLE_Info,i) +fin +fin +06/08/2026 Batik 4589 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Notes_Admin › Image +FI_TdB_Notes_Admin +Image +FI_TdB_Notes_Admin +Informations générales +FI_TdB_Notes_Admin +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TdB_Notes_Admin.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 18/06/2025 09:31:52 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 20/03/2026 10:41:35 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 418 Hauteur | 278 | +| 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. +| 06/08/2026 | | | Batik | | 4590 | +| ---------- | --- | --- | ----- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Notes_Admin › Informations générales +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 1 +Table 1 Forme 1 +Fenêtre interne 1 Champ Modèle de champs 4 +Option de menu 4 Colonne de table 4 +06/08/2026 Batik 4591 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Notes_Admin › Informations générales +Nombre d'éléments dans la fenêtre : 17 +FI_TdB_Notes_Admin +Informations sur les champs +Fenêtre : FI_TdB_Notes_Admin +Fenêtre interne +BAT ehcuoT +| | X noitisoP | | | | laitini tatE | | +| --- | ---------- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | ruegraL | ruetuaH | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_TdB_Notes_Admin | 0 | 0 418 | 278 | 0 | | | +| ------------------ | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdB_Notes_Admin +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Img | 3 | 7 29 | 24 | 0 | Actif | | +| ---------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_Ligne | 0 | 33 418 | 8 | 0 | Actif | | +| CMOD_Table | 0 | 41 418 | 234 | 0 | Actif | | +| CMOD_Titre | 36 | 7 376 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_TdB_Notes_Admin.CMOD_Img +| 06/08/2026 | | Batik | | | | 4592 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Notes_Admin › 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_Icone | | 3 | 7 | 29 | 24 | 0 | Actif | | | +| --------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_TdB_Notes_Admin.CMOD_Ligne +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_Sep | | | 0 | 34 | 418 | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Notes_Admin.CMOD_Table +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +lennoitroporp .csA +.loc .gifnoc .oméM +| | | | | | | )(ertliFH resilitU | ruesnecsa elluB | EERTNE noitseG | | +| --- | --- | --- | --- | --- | --- | ------------------ | --------------- | -------------- | ----------------------------- | +| | | | | | | .gerne egacolB | noitcelésitluM | | eércna ennoloC 5.5 elbitapmoC | +edacsac eisiaS +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | --- | --- | +sruocraP +ruegraL ruetuaH +elbisiV +| | | | nalP | | elbaT | | | | | +| ---------- | ---- | ------- | ---- | -------- | ------ | --- | --- | --- | --- | +| TABLE_Info | 2 43 | 412 228 | 0 | affichag | Mémoir | | | | 1 | +Table : FI_TdB_Notes_Admin.CMOD_Table.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | | elbairt ennoloC | ehcrehcer cevA | | | | +| --- | --- | --- | --- | -------------- | --------------- | -------------- | --- | --- | --- | +| | | | | ehcuag à eéxiF | | .zroh egardaC | | | | +.trev egardaC +| | | | | elbaçalpéD | | | eisias epyT | FTR tamroF | eisias cevA | +| --- | --- | --- | ------------ | ---------- | --- | --- | ----------- | ---------- | ----------- | +| | | | laitini tatE | | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +Numériq +| COL_PKID | | 880 | Grisé | | | Droite Centre | | | | +| ----------- | --- | --- | ----- | ----- | --- | ------------- | ----- | --- | ---- | +| COL_CreePar | | 100 | Actif | | | Gauche Centre | Texte | | | +| COL_Date | | 112 | Actif | | | Droite Centre | Date | | | +| COL_Note | | 171 | Actif | | | Gauche Centre | Texte | | | +| 06/08/2026 | | | | Batik | | | | | 4593 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Notes_Admin › Informations sur les champs +Champ Modèle de champs : FI_TdB_Notes_Admin.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +X noitisoP Y noitisoP laitini tatE +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 36 7 | 376 26 | 0 Actif | Gauche | Centre | | +| ------- | ---- | ------ | ------- | ------ | ------ | --- | +Fenêtre : FI_TdB_Notes_Admin +Fenêtre interne : FI_TdB_Notes_Admin +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +| Facteur d'agrandissement | 0 | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | +| Ancrage | <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_TdB_Notes_Admin +| 06/08/2026 | | Batik | | | | 4594 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Notes_Admin › Informations sur les champs +Champ Modèle de champs : FI_TdB_Notes_Admin.CMOD_Img +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Notes_Admin.CMOD_Ligne +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4595 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Notes_Admin › Informations sur les champs +Champ Modèle de champs : FI_TdB_Notes_Admin.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Notes_Admin.CMOD_Titre +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4596 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Notes_Admin › Informations sur les champs +Champ Modèle de champs : FI_TdB_Notes_Admin.CMOD_Img +Image : FI_TdB_Notes_Admin.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Options des notes administratives rattach\u00e9es \u00e0 l'intervention" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Note_Admin.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 4597 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Notes_Admin › Informations sur les champs +Champ Modèle de champs : FI_TdB_Notes_Admin.CMOD_Ligne +Forme : FI_TdB_Notes_Admin.CMOD_Ligne.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Notes_Admin.CMOD_Table +Table : FI_TdB_Notes_Admin.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Liste des notes administratives" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +06/08/2026 Batik 4598 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Notes_Admin › Informations sur les champs +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 +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 +06/08/2026 Batik 4599 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Notes_Admin › Informations sur les champs +Table : FI_TdB_Notes_Admin.CMOD_Table.TABLE_Info +Colonne de table : FI_TdB_Notes_Admin.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : FI_TdB_Notes_Admin.CMOD_Table.TABLE_Info.COL_CreePar (2) +Titre FR: Crée par +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 +06/08/2026 Batik 4600 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Notes_Admin › 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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Notes_Admin.CMOD_Table.TABLE_Info.COL_Date (3) +Titre FR: Date +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 +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 150 Taux anc. hauteur 1000 +06/08/2026 Batik 4601 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Notes_Admin › Informations sur les champs +Colonne de table : FI_TdB_Notes_Admin.CMOD_Table.TABLE_Info.COL_Note (4) +Titre FR: Note +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 550 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Notes_Admin.CMOD_Titre +Libellé : FI_TdB_Notes_Admin.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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> +06/08/2026 Batik 4602 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Notes_Admin › Informations sur les champs +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TdB_Notes_Admin +Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Creer (2) +OPT_Modifier (3) +OPT_Supprimer (4) +Libellé des options : Français +Créer une note +Modifier la note +Supprimer la note +06/08/2026 Batik 4603 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Notes_Admin › Code des champs +FI_TdB_Notes_Admin +Code des champs +Déclarations globales de FI_TdB_Notes_Admin +procédure FI_TdB_Notes_Admin() +tbaNotes est un tableau associatif de MMessageInterne +gnIdInterv est un entier sur 8 octets +bLeDroit est un booléen = Faux +bBloque est un booléen +Fin d'initialisation de FI_TdB_Notes_Admin +bLeDroit = bDroit(cGestion_NotesInter) +si pas bLeDroit alors +MenuSelectMoins(OPT_Creer) +MenuSelectMoins(OPT_Modifier) +MenuSelectMoins(OPT_Supprimer) +fin +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +06/08/2026 Batik 4604 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Notes_Admin › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ligne +06/08/2026 Batik 4605 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Notes_Admin › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4606 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Notes_Admin › Code des champs +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Notes administratives" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +06/08/2026 Batik 4607 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Notes_Admin › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Sélection du menu de MNU_Options.OPT_Creer +Creer() +Sélection du menu de MNU_Options.OPT_Modifier +Modifier() +Sélection du menu de MNU_Options.OPT_Supprimer +Supprimer() +FI_TdB_Notes_Admin +Procédures +Procédure locale Blocage +procédure Blocage(bBlocage est un booléen) +06/08/2026 Batik 4608 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Notes_Admin › Procédures +bBloque = bBlocage +TABLE_Info..EnSaisie = bBloque +Procédure locale Creer +procédure Creer() +si gnIdInterv <= 0 ou pas bLeDroit alors renvoyer Faux +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +saNote est une chaîne ANSI = Ouvre(FEN_Texte,"") +oNote est une MMessageInterne +oNote:saMessage = saNote +oNote:nIDIntervention = gnIdInterv +si oNote:Enregistrer() alors +i est un entier = TableAjouteLigne(TABLE_Info) +COL_CreePar[i] = CollaborateurEnCours.NomPrenom() +COL_PKID[i] = oNote.nPKID +COL_Date[i] = oNote.dhCreationDate +COL_Note[i] = oNote.saMessage +COL_Note[i].Bulle = saNote +tbaNotes[oNote:nPKID] = oNote +fin +Procédure locale Filtrer +procédure Filtrer(nIdInter est un entier sur 8 octets) +TableauSupprimeTout(tbaNotes) +TableSupprimeTout(TABLE_Info) +gnIdInterv = nIdInter +si nIdInter > 0 alors +i est un entier +odMsg est un MMessageInterne dynamique +rqSql est une Requête SQL = +[ +SELECT MessageInterne.*, UT_IDCollaborateur +FROM MessageInterne +LEFT JOIN Utilisateur ON UT_PKID = MessageInterne.CreationUser +WHERE MessageInterne.MI_IDIntervention={p_IDInter} AND MessageInterne.MI_IDTypeMessage > 10 +ORDER BY MessageInterne.CreationDate DESC +] +rqSql.p_IDInter = nIdInter +si pas HExécuteRequêteSQL(rqSql) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Notes_Admin.Filtrer") +sinon +pour tout rqSql +odMsg = allouer un MMessageInterne +FichierVersMémoire(odMsg,rqSql) +tbaNotes[odMsg:nPKID] = odMsg +fin +fin +pour tout oMsg de tbaNotes +i = TableAjouteLigne(TABLE_Info) +si rqSql.UT_IDCollaborateur > 0 _et_ gtabListeCollaborateurs[rqSql.UT_IDCollaborateur]..Existe +alors +COL_CreePar[i] = gtabListeCollaborateurs[rqSql.UT_IDCollaborateur].NomPrenom() +06/08/2026 Batik 4609 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Notes_Admin › Procédures +fin +COL_PKID[i] = oMsg.nPKID +COL_Date[i] = oMsg.dhCreationDate +COL_Note[i] = oMsg.saMessage +COL_Note[i].Bulle= oMsg.saMessage +fin +TABLE_Info..EnSaisie = bBloque +fin +Procédure locale Modifier +procédure Modifier() +si pas bLeDroit alors renvoyer Faux +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaNotes[COL_PKID[i]]..Existe = Vrai alors +saNote est une chaîne ANSI = Ouvre(FEN_Texte,tbaNotes[COL_PKID[i]].saMessage) +si saNote <> tbaNotes[COL_PKID[i]].saMessage alors +tbaNotes[COL_PKID[i]].saMessage = saNote +si tbaNotes[COL_PKID[i]].Enregistrer() alors +COL_Note[i] = saNote +COL_Note[i].Bulle = saNote +fin +fin +fin +Procédure locale Supprimer +procédure Supprimer() +si pas bLeDroit alors renvoyer Faux +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaNotes[COL_PKID[i]]..Existe = Vrai alors +si OuiNon("Êtes-vous sûr de vouloir supprimer la note sélectionnée ?") = Oui alors +si tbaNotes[COL_PKID[i]].Supprimer() alors +TableauSupprime(tbaNotes,COL_PKID[i]) +TableSupprime(TABLE_Info,i) +fin +fin +fin +06/08/2026 Batik 4610 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › Image +FI_TdB_Rapports +Image +FI_TdB_Rapports +Informations générales +FI_TdB_Rapports +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TdB_Rapports.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 18/06/2025 09:31:52 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 20/03/2026 11:48:51 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 418 Hauteur | 161 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------ | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 4611 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › Informations générales +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 4 +Table 1 Forme 1 +Fenêtre interne 1 Champ Modèle de champs 4 +Option de menu 3 Colonne de table 6 +Nombre d'éléments dans la fenêtre : 21 +FI_TdB_Rapports +Informations sur les champs +06/08/2026 Batik 4612 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › Informations sur les champs +Fenêtre : FI_TdB_Rapports +Fenêtre interne +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| FI_TdB_Rapports | 0 | 0 418 | 161 | 0 | | | +| --------------- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdB_Rapports +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | ------- | --- | ------------ | --------- | ---------- | +| | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Absent | -138 80 | 25 21 | 0 | Grisé | | | +| --------------- | ------- | ----- | --- | ----- | --- | --- | +| IMG_Present | -138 53 | 27 26 | 0 | Grisé | | | +| IMG_Syncroniser | -137 20 | 28 23 | 0 | Grisé | | | +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Img | 3 | 7 29 | 24 | 0 | Actif | | +| ---------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_Ligne | 0 | 33 418 | 8 | 0 | Actif | | +| CMOD_Titre | 36 | 7 376 | 26 | 0 | Actif | | +| CMOD_table | 2 | 41 415 | 120 | 0 | Actif | | +Champ Modèle de champs : FI_TdB_Rapports.CMOD_Img +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | | | laitini tatE | | sucof cevA | +| --- | --- | --- | --- | ------------ | --- | ---------- | +X noitisoP Y noitisoP +| | | ruegraL ruetuaH | | | cilc cevA | | +| --- | --- | --------------- | --- | --- | --------- | --- | +elbisiV +nalP +| IMG_Icone | 3 7 | 29 24 | 0 | Actif | | | +| ---------- | --- | ----- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | 4613 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › Informations sur les champs +Champ Modèle de champs : FI_TdB_Rapports.CMOD_Ligne +Forme +BAT ehcuoT +| | | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| FRM_Sep | | | 0 | 34 | 418 | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Rapports.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | laitini tatE | | | FTR tamroF | +| | | X noitisoP Y noitisoP | | | | | | | | +| | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_lib | | 36 | 7 376 | 26 | 0 | Actif | Gauche | Centre | | +| ------- | --- | --- | ----- | --- | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : FI_TdB_Rapports.CMOD_table +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | | +| --- | --- | --- | --- | ----------------------- | --- | ------------------ | ------------------ | ------------------ | ----------------------------- | +| | | | | | | )(ertliFH resilitU | ruesnecsa elluB | EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +| | | | | | | .gerne egacolB | noitcelésitluM | edacsac eisiaS | | +| | | | | laitini tatE BAT ehcuoT | | | | | | +X noitisoP Y noitisoP +| | | ruegraL ruetuaH | | | | sruocraP | | | | +| --- | --- | --------------- | --- | --- | --- | -------- | --- | --- | --- | +elbisiV +elbaT +nalP +| TABLE_Info | 4 43 | 409 114 | 0 affichag | | Mémoir | | | | 1 | +| ---------- | ---- | ------- | ---------- | --- | ------ | --- | --- | --- | --- | +Table : FI_TdB_Rapports.CMOD_table.TABLE_Info +| 06/08/2026 | | | | Batik | | | | | 4614 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › Informations sur les champs +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | elbairt ennoloC | ehcrehcer cevA | | | +| --- | --- | -------------- | --------------- | --------------------------- | ---------------------- | ----------- | +| | | ehcuag à eéxiF | | .zroh egardaC .trev egardaC | | | +| | | laitini tatE | elbaçalpéD | | eisias epyT FTR tamroF | eisias cevA | +engilitluM +ruegraL +elbisiV +| epyT | | | | | | eéirT | +| ----------- | --- | ----- | --- | ------------- | ------- | ----- | +| COL_PKID | 880 | Grisé | | Droite Centre | Numériq | | +| COL_Etat | 66 | Actif | | Centre Centre | | | +| COL_Nom | 153 | Actif | | Gauche Centre | Texte | | +| COL_CreeLe | 81 | Actif | | Droite Centre | Date | | +| COL_CreePar | 87 | Actif | | Gauche Centre | Texte | | +| COL_Mobile | 76 | Grisé | | Centre Centre | | | +Fenêtre : FI_TdB_Rapports +Fenêtre interne : FI_TdB_Rapports +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | | +| ------------------------- | ------- | --- | --- | --- | --- | --- | +| Ctx. HFSQL indép. | Non | | | | | | +| Ancrage | <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Batik | | | 4615 | +| ---------- | --- | --- | ----- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › Informations sur les champs +Fenêtre interne : FI_TdB_Rapports +Champ Modèle de champs : FI_TdB_Rapports.CMOD_Img +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Rapports.CMOD_Ligne +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4616 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › Informations sur les champs +Champ Modèle de champs : FI_TdB_Rapports.CMOD_Titre +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Rapports.CMOD_table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4617 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › Informations sur les champs +Image : FI_TdB_Rapports.IMG_Absent +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\errorDoc.svg +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 +Image : FI_TdB_Rapports.IMG_Present +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\DocOk.svg +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 +06/08/2026 Batik 4618 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › Informations sur les champs +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 : FI_TdB_Rapports.IMG_Syncroniser +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SyncroDoc.svg +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> +06/08/2026 Batik 4619 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Rapports.CMOD_Img +Image : FI_TdB_Rapports.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Options des rapports rattach\u00e9s \u00e0 l'intervention" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\rapport.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 4620 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › Informations sur les champs +Champ Modèle de champs : FI_TdB_Rapports.CMOD_Ligne +Forme : FI_TdB_Rapports.CMOD_Ligne.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Rapports.CMOD_Titre +Libellé : FI_TdB_Rapports.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse <Aucun> +06/08/2026 Batik 4621 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Rapports.CMOD_table +Table : FI_TdB_Rapports.CMOD_table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Liste des rapports" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 4622 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › 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 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4623 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › Informations sur les champs +Table : FI_TdB_Rapports.CMOD_table.TABLE_Info +Colonne de table : FI_TdB_Rapports.CMOD_table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : FI_TdB_Rapports.CMOD_table.TABLE_Info.COL_Etat (2) +Titre FR: État +Curseur survol 0 +UI par l'utilisateur <Aucun> +Bouton Calculatrice Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 4 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +06/08/2026 Batik 4624 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › Informations sur les champs +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 250 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Rapports.CMOD_table.TABLE_Info.COL_Nom (3) +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 350 Taux anc. hauteur 1000 +06/08/2026 Batik 4625 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › Informations sur les champs +Colonne de table : FI_TdB_Rapports.CMOD_table.TABLE_Info.COL_CreeLe (4) +Titre FR: Crée le +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 150 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Rapports.CMOD_table.TABLE_Info.COL_CreePar (5) +Titre FR: Crée par +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 +06/08/2026 Batik 4626 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › 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 250 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Rapports.CMOD_table.TABLE_Info.COL_Mobile (6) +Titre FR: Mobile +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +FI_TdB_Rapports +Informations sur les menus +06/08/2026 Batik 4627 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Modifier (3) +OPT_Supprimer (4) +Libellé des options : Français +Modifier le rapport +Supprimer le rapport +FI_TdB_Rapports +Code des champs +Déclarations globales de FI_TdB_Rapports +procédure FI_TdB_Rapports() +nIdInterv est un entier sur 8 octets +tbaRapports est un tableau associatif de MDocument +bLeDroit est un booléen +saCheminBase est une chaîne ANSI +bBloque est un booléen +Fin d'initialisation de FI_TdB_Rapports +bLeDroit = bDroit(cGestion_Rapport) +FiltrerMenuContextuel() +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +06/08/2026 Batik 4628 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ligne +06/08/2026 Batik 4629 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4630 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › Code des champs +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4631 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › Code des champs +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Rapports" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Sélection du menu de MNU_Options.OPT_Modifier +Modifier() +Sélection du menu de MNU_Options.OPT_Supprimer +06/08/2026 Batik 4632 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › Code des champs +Supprimer() +FI_TdB_Rapports +Procédures +Procédure locale Blocage +procédure Blocage(bBlocage est un booléen) +bBloque = bBlocage +TABLE_Info..EnSaisie = bBloque +Procédure locale Creation +procédure Creation(nId est un entier sur 8 octets) +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +i est un entier +oDoc est un MDocument +nIdRapport est un entier sur 8 octets +si nId > 0 alors +tbaParametres est un tableau associatif de chaînes ANSI +tbaParametres[cParam_Alias] = "FEN_Creation_Doc_Rub" +tbaParametres[cParam_TypeEnr] = cTypeRapport +tbaParametres[cParam_IdFen] = nId +tbaParametres[Intervention.IN_PKID..Nom] = nIdInterv +nIdRapport = Ouvre(FEN_Creation_Doc_Rub,tbaParametres) +si nIdRapport > 0 alors +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[cParam_Alias] = "FEN_Rapport_Document_Inter" +tbaParam[cParam_IdFen] = nIdRapport +Ouvre(FEN_Rapport_Document_Inter,tbaParam) +fin +sinon +tbaParametres est un tableau associatif de chaînes ANSI +tbaParametres[cParam_Alias] = "FEN_Rapport_Document_Inter" +tbaParametres[cParam_IdFen] = 0 +tbaParametres[Intervention.IN_PKID..Nom] = nIdInterv +nIdRapport = Ouvre(FEN_Rapport_Document_Inter,tbaParametres) +fin +si nIdRapport > 0 alors +si HLitRecherchePremier(Document,DC_PKID,nIdRapport) alors +FichierVersMémoire(oDoc,Document) +tbaRapports[oDoc:nPKID] = oDoc +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = oDoc:nPKID +COL_Nom[i] = oDoc:saNom +si oDoc:nCreePar > 0 _et_ gtbaListeUtilisateurs[oDoc.nCreePar]..Existe = Vrai alors +COL_CreePar[i] = gtbaListeUtilisateurs[oDoc.nCreePar].NomPrenomColb() +fin +COL_CreeLe[i] = oDoc:dhCreeLe +06/08/2026 Batik 4633 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › Procédures +RechercheCheminUnDoc(oDoc,saCheminBase,gtbaParametresAppli[cParam_CheminRepDocInter].saValeur) +selon oDoc.saCleEtatDoc +cas cCle_EtatDocPresent +COL_Etat[i] = IMG_Present +cas cCle_EtatDocSyncro +COL_Etat[i] = IMG_Syncroniser +autre cas +COL_Etat[i] = IMG_Absent +fin +fin +fin +Procédure locale Filtrer +procédure Filtrer(nIdInter est un entier sur 8 octets) +TableauSupprimeTout(tbaRapports) +TableSupprimeTout(TABLE_Info) +nIdInterv = nIdInter +i est un entier +si nIdInter > 0 alors +saCheminBase = DecodeCheminDocSelonInter(gtbaParametresAppli[cParam_StructureCheminDoc]. +saValeur,gtbaParametresAppli[cParam_ReqCheminDoc].saValeur,nIdInterv) +odDoc est un MDocument dynamique +rqSql est une Requête SQL = +[ +SELECT * +FROM Document +WHERE Document.DC_IDIntervention={p_IDInter} AND Document.DC_CleCategorie = {p_ctg} +ORDER BY Document.CreationDate DESC +] +rqSql.p_IDInter = nIdInter +rqSql.p_ctg = cCle_TypeDocRapport +si pas HExécuteRequêteSQL(rqSql) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Rapports.Filtrer") +sinon +pour tout rqSql +odDoc = allouer un MDocument +odDoc:saCleEtatDoc = cCle_EtatDocSyncro +FichierVersMémoire(odDoc,rqSql) +tbaRapports[odDoc:nPKID] = odDoc +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = odDoc:nPKID +COL_Nom[i] = odDoc:saNom +si odDoc:nCreePar > 0 _et_ gtbaListeUtilisateurs[odDoc.nCreePar]..Existe = Vrai alors +COL_CreePar[i] = gtbaListeUtilisateurs[odDoc.nCreePar].NomPrenomColb() +fin +COL_CreeLe[i] = odDoc:dhCreeLe +COL_Etat[i] = IMG_Syncroniser +//COL_Mobile[i] = odDoc:bmo +fin +fin +TABLE_Info..EnSaisie = bBloque +si tbaRapports..Occurrence > 0 alors +stInfoSyncro est un STListeDocASyncro +stInfoSyncro.saCheminBase = saCheminBase +stInfoSyncro.tbaDocuments = tbaRapports +stInfoSyncro.pMaJ = MaJEtatDocs +06/08/2026 Batik 4634 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › Procédures +si ThreadEtat("SyncroniserDocumentsRapports")=threadInexistant alors +ThreadExécute("SyncroniserDocumentsRapports",threadCopieLégèreContexteHFSQL, +TH_SyncroniserDocuments,stInfoSyncro) +fin +fin +// +// POUR TOUT oDoc DE tbaRapports +// i = TableAjouteLigne(TABLE_Info) +// +////[LI_CodeLieu] #[LI_PKID]\[CL_Nom] #[CL_PKID]\[IN_RefInterne] #[IN_PKID]\#[DC_Categorie] +////[LI_CodeLieu] #[LI_PKID]\[IN_RefInterne] #[IN_PKID]\#[DC_Categorie]\ +////[LI_CodeLieu] #[LI_PKID]\[IN_RefInterne] #[IN_PKID]\#[DC_Categorie]\ +////[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] +// +// //\\slamm-ad01\share\Service entretien\Sites\ +// //9 quai Jean Moulin - 9 quai Jean Moulin - LYON ##INTERV\Photos\2022 8 Entretien DI000017-3 +// FIN +fin +Procédure locale FiltrerMenuContextuel +procédure FiltrerMenuContextuel() +si bLeDroit alors +MenuAjouteMenu(MNU_Options,"Opt_Creer_R","Créer un rapport") +MenuAjouteOption("Opt_Creer_R","AjouterRapport_0","Modèle vierge",Creation,0) +pour tout oModele de gtbaModelesRapport +MenuAjouteOption("Opt_Creer_R","AjouterRapport_"+oModele.nPKID,oModele.saNom,Creation,oModele: +nPKID) +fin +sinon +MenuSelectMoins(OPT_Modifier) +MenuSelectMoins(OPT_Supprimer) +fin +Procédure locale MaJEtatDocs +procédure MaJEtatDocs(stInfoSyncro est un STListeDocASyncro) +SectionCritiqueDébut("MaJEtatDocRp") +si stInfoSyncro.tbaDocuments..Occurrence > 0 alors +TableauSupprimeTout(tbaRapports) +tbaRapports = stInfoSyncro.tbaDocuments +fin +pour toute ligne b de TABLE_Info +si COL_PKID[b] > 0 _et_ tbaRapports[COL_PKID[b]]..Existe = Vrai _et_ tbaRapports[COL_PKID[b]].nPKID +> 0 alors +selon tbaRapports[COL_PKID[b]].saCleEtatDoc +cas cCle_EtatDocPresent +COL_Etat[b] = IMG_Present +cas cCle_EtatDocSyncro +COL_Etat[b] = IMG_Syncroniser +autre cas +COL_Etat[b] = IMG_Absent +fin +fin +fin +SectionCritiqueFin("MaJEtatDocRp") +Procédure locale Modifier +06/08/2026 Batik 4635 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Rapports › Procédures +procédure Modifier() +si pas bLeDroit alors renvoyer Faux +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ bLeDroit _et_ tbaRapports[COL_PKID[i]]..Existe = Vrai _et_ +tbaRapports[COL_PKID[i]].saCleEtatDoc = cCle_EtatDocPresent alors +si Contient(tbaRapports[COL_PKID[i]].saNom,".docx") alors +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[cParam_Alias] = "FEN_Rapport_Document_Inter" +tbaParam[cParam_IdFen] = COL_PKID[i] +bModifier est un booléen +nId est un entier sur 8 octets +(nId,bModifier) = Ouvre(FEN_Rapport_Document_Inter,tbaParam) +si bModifier alors +si HLitRecherchePremier(Document,DC_PKID,nId) alors +FichierVersMémoire(tbaRapports[nId],Document) +COL_PKID[i] = tbaRapports[nId]:nPKID +COL_Nom[i] = tbaRapports[nId]:saNom +RechercheCheminUnDoc(tbaRapports[nId],saCheminBase,gtbaParametresAppli[ +cParam_CheminRepDocInter].saValeur) +selon tbaRapports[nId].saCleEtatDoc +cas cCle_EtatDocPresent +COL_Etat[i] = IMG_Present +cas cCle_EtatDocSyncro +COL_Etat[i] = IMG_Syncroniser +autre cas +COL_Etat[i] = IMG_Absent +fin +fin +fin +sinon +LanceAppliAssociée(tbaRapports[COL_PKID[i]].saCheminComplet) +fin +fin +Procédure locale Supprimer +procédure Supprimer() +si pas bLeDroit alors +renvoyer Faux +fin +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaRapports[COL_PKID[i]]..Existe = Vrai alors +si tbaRapports[COL_PKID[i]].Supprimer() alors +TableauSupprime(tbaRapports,COL_PKID[i]) +TableSupprime(TABLE_Info,i) +fin +fin +06/08/2026 Batik 4636 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Note_Interne › Image +FI_TdB_Note_Interne +Image +FI_TdB_Note_Interne +Informations générales +FI_TdB_Note_Interne +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TdB_Note_Interne.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 18/06/2025 09:31:52 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 20/03/2026 10:58:00 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 418 Hauteur | 274 | +| 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. +| 06/08/2026 | | | Batik | | 4637 | +| ---------- | --- | --- | ----- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Note_Interne › Informations générales +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 1 +Table 1 Forme 1 +Fenêtre interne 1 Champ Modèle de champs 4 +Option de menu 4 Colonne de table 4 +06/08/2026 Batik 4638 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Note_Interne › Informations générales +Nombre d'éléments dans la fenêtre : 17 +FI_TdB_Note_Interne +Informations sur les champs +Fenêtre : FI_TdB_Note_Interne +Fenêtre interne +BAT ehcuoT +| | X noitisoP | | | | laitini tatE | | +| --- | ---------- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | ruegraL | ruetuaH | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_TdB_Note_Interne | 0 | 0 418 | 274 | 0 | | | +| ------------------- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdB_Note_Interne +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Img | 3 | 7 29 | 24 | 0 | Actif | | +| ---------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_Ligne | 0 | 33 418 | 8 | 0 | Actif | | +| CMOD_Table | 0 | 41 414 | 229 | 0 | Actif | | +| CMOD_Titre | 36 | 7 376 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_TdB_Note_Interne.CMOD_Img +| 06/08/2026 | | Batik | | | | 4639 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Note_Interne › 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_Icone | | 3 | 7 | 29 | 24 | 0 | Actif | | | +| --------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_TdB_Note_Interne.CMOD_Ligne +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_Sep | | | 0 | 34 | 418 | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Note_Interne.CMOD_Table +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +lennoitroporp .csA +.loc .gifnoc .oméM +| | | | | | | )(ertliFH resilitU | ruesnecsa elluB | EERTNE noitseG | | +| --- | --- | --- | --- | --- | --- | ------------------ | --------------- | -------------- | ----------------------------- | +| | | | | | | .gerne egacolB | noitcelésitluM | | eércna ennoloC 5.5 elbitapmoC | +edacsac eisiaS +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | --- | --- | +sruocraP +ruegraL ruetuaH +elbisiV +| | | | nalP | | elbaT | | | | | +| ---------- | ---- | ------- | ---- | -------- | ------ | --- | --- | --- | --- | +| TABLE_Info | 2 43 | 408 223 | 0 | affichag | Mémoir | | | | 1 | +Table : FI_TdB_Note_Interne.CMOD_Table.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | | elbairt ennoloC | ehcrehcer cevA | | | | +| --- | --- | --- | --- | -------------- | --------------- | -------------- | --- | --- | --- | +| | | | | ehcuag à eéxiF | | .zroh egardaC | | | | +.trev egardaC +| | | | | elbaçalpéD | | | eisias epyT | FTR tamroF | eisias cevA | +| --- | --- | --- | ------------ | ---------- | --- | --- | ----------- | ---------- | ----------- | +| | | | laitini tatE | | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +Numériq +| COL_PKID | | 880 | Grisé | | | Droite Centre | | | | +| ----------- | --- | --- | ----- | ----- | --- | ------------- | ----- | --- | ---- | +| COL_CreePar | | 100 | Actif | | | Gauche Centre | Texte | | | +| COL_Date | | 114 | Actif | | | Droite Centre | Date | | | +| COL_Note | | 171 | Actif | | | Gauche Centre | Texte | | | +| 06/08/2026 | | | | Batik | | | | | 4640 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Note_Interne › Informations sur les champs +Champ Modèle de champs : FI_TdB_Note_Interne.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +X noitisoP Y noitisoP laitini tatE +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 36 7 | 376 26 | 0 Actif | Gauche | Centre | | +| ------- | ---- | ------ | ------- | ------ | ------ | --- | +Fenêtre : FI_TdB_Note_Interne +Fenêtre interne : FI_TdB_Note_Interne +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +| Facteur d'agrandissement | 0 | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | +| Ancrage | <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_TdB_Note_Interne +| 06/08/2026 | | Batik | | | | 4641 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Note_Interne › Informations sur les champs +Champ Modèle de champs : FI_TdB_Note_Interne.CMOD_Img +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Note_Interne.CMOD_Ligne +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4642 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Note_Interne › Informations sur les champs +Champ Modèle de champs : FI_TdB_Note_Interne.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Note_Interne.CMOD_Titre +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4643 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Note_Interne › Informations sur les champs +Champ Modèle de champs : FI_TdB_Note_Interne.CMOD_Img +Image : FI_TdB_Note_Interne.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Options des notes internes rattach\u00e9es \u00e0 l'intervention" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\notes-interne.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 4644 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Note_Interne › Informations sur les champs +Champ Modèle de champs : FI_TdB_Note_Interne.CMOD_Ligne +Forme : FI_TdB_Note_Interne.CMOD_Ligne.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Note_Interne.CMOD_Table +Table : FI_TdB_Note_Interne.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Liste des notes internes" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +06/08/2026 Batik 4645 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Note_Interne › Informations sur les champs +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 +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 +06/08/2026 Batik 4646 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Note_Interne › Informations sur les champs +Table : FI_TdB_Note_Interne.CMOD_Table.TABLE_Info +Colonne de table : FI_TdB_Note_Interne.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : FI_TdB_Note_Interne.CMOD_Table.TABLE_Info.COL_CreePar (2) +Titre FR: Crée par +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 +06/08/2026 Batik 4647 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Note_Interne › 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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 300 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Note_Interne.CMOD_Table.TABLE_Info.COL_Date (3) +Titre FR: Date +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 +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 150 Taux anc. hauteur 1000 +06/08/2026 Batik 4648 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Note_Interne › Informations sur les champs +Colonne de table : FI_TdB_Note_Interne.CMOD_Table.TABLE_Info.COL_Note (4) +Titre FR: Note +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 550 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Note_Interne.CMOD_Titre +Libellé : FI_TdB_Note_Interne.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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> +06/08/2026 Batik 4649 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Note_Interne › Informations sur les champs +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TdB_Note_Interne +Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Creer (2) +OPT_Modifier (3) +OPT_Supprimer (4) +Libellé des options : Français +Créer une note +Modifier la note +Supprimer la note +06/08/2026 Batik 4650 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Note_Interne › Code des champs +FI_TdB_Note_Interne +Code des champs +Déclarations globales de FI_TdB_Note_Interne +procédure FI_TdB_Note_Interne() +tbaNotes est un tableau associatif de MMessageInterne +gnIdInterv est un entier sur 8 octets +bLeDroit est un booléen = Faux +bBloque est un booléen +Fin d'initialisation de FI_TdB_Note_Interne +bLeDroit = bDroit(cGestion_NotesInter) +si pas bLeDroit alors +MenuSelectMoins(OPT_Creer) +MenuSelectMoins(OPT_Modifier) +MenuSelectMoins(OPT_Supprimer) +fin +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +06/08/2026 Batik 4651 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Note_Interne › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ligne +06/08/2026 Batik 4652 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Note_Interne › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4653 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Note_Interne › Code des champs +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Notes internes" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +06/08/2026 Batik 4654 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Note_Interne › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Sélection du menu de MNU_Options.OPT_Creer +Creer() +Sélection du menu de MNU_Options.OPT_Modifier +Modifier() +Sélection du menu de MNU_Options.OPT_Supprimer +Supprimer() +FI_TdB_Note_Interne +Procédures +Procédure locale Blocage +06/08/2026 Batik 4655 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Note_Interne › Procédures +procédure Blocage(bBlocage est un booléen) +bBloque = bBlocage +TABLE_Info..EnSaisie = bBloque +Procédure locale Creer +procédure Creer() +si pas bLeDroit alors renvoyer Faux +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +si gnIdInterv <= 0 renvoyer Faux +saNote est une chaîne ANSI = Ouvre(FEN_Texte,"") +oNote est une MMessageInterne +oNote:saMessage = saNote +oNote:nIDIntervention = gnIdInterv +si oNote:Enregistrer() alors +i est un entier = TableAjouteLigne(TABLE_Info) +COL_CreePar[i] = CollaborateurEnCours.NomPrenom() +COL_PKID[i] = oNote.nPKID +COL_Date[i] = oNote.dhCreationDate +COL_Note[i] = oNote.saMessage +COL_Note[i].Bulle = saNote +tbaNotes[oNote:nPKID] = oNote +fin +Procédure locale Filtrer +procédure Filtrer(nIdInter est un entier sur 8 octets) +TableauSupprimeTout(tbaNotes) +TableSupprimeTout(TABLE_Info) +gnIdInterv = nIdInter +si nIdInter > 0 alors +i est un entier +odMsg est un MMessageInterne dynamique +rqSql est une Requête SQL = +[ +SELECT MessageInterne.*, UT_IDCollaborateur +FROM MessageInterne +LEFT JOIN Utilisateur ON UT_PKID = MessageInterne.CreationUser +WHERE MessageInterne.MI_IDIntervention={p_IDInter} AND MessageInterne.MI_IDTypeMessage = 0 +ORDER BY MessageInterne.CreationDate DESC +] +rqSql.P_IDInter = nIdInter +si pas HExécuteRequêteSQL(rqSql) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Note_Interne.Filtrer") +sinon +pour tout rqSql +odMsg = allouer un MMessageInterne +FichierVersMémoire(odMsg,rqSql) +tbaNotes[odMsg:nPKID] = odMsg +fin +fin +pour tout oMsg de tbaNotes +i = TableAjouteLigne(TABLE_Info) +si rqSql.UT_IDCollaborateur > 0 _et_ gtabListeCollaborateurs[rqSql.UT_IDCollaborateur]..Existe +06/08/2026 Batik 4656 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Note_Interne › Procédures +alors +COL_CreePar[i] = gtabListeCollaborateurs[rqSql.UT_IDCollaborateur].NomPrenom() +fin +COL_PKID[i] = oMsg.nPKID +COL_Date[i] = oMsg.dhCreationDate +COL_Note[i] = oMsg.saMessage +COL_Note[i].Bulle = oMsg.saMessage +fin +TABLE_Info..EnSaisie = bBloque +fin +Procédure locale Modifier +procédure Modifier() +si pas bLeDroit alors renvoyer Faux +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaNotes[COL_PKID[i]]..Existe = Vrai alors +saNote est une chaîne ANSI = Ouvre(FEN_Texte,tbaNotes[COL_PKID[i]].saMessage) +si saNote <> tbaNotes[COL_PKID[i]].saMessage alors +tbaNotes[COL_PKID[i]].saMessage = saNote +si tbaNotes[COL_PKID[i]].Enregistrer() alors +COL_Note[i] = saNote +COL_Note[i].Bulle = saNote +fin +fin +fin +Procédure locale Supprimer +procédure Supprimer() +si pas bLeDroit alors renvoyer Faux +si pas bBloque alors +ToastAffiche("Enregistrement verrouillé, veuillez le déverrouiller",toastCourt,cvMilieu) +renvoyer Faux +fin +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaNotes[COL_PKID[i]]..Existe = Vrai alors +si OuiNon("Êtes-vous sûr de vouloir supprimer la note sélectionnée ?") = Oui alors +si tbaNotes[COL_PKID[i]].Supprimer() alors +TableauSupprime(tbaNotes,COL_PKID[i]) +TableSupprime(TABLE_Info,i) +fin +fin +fin +06/08/2026 Batik 4657 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Compte_Rendus › Image +FI_TdB_Compte_Rendus +Image +FI_TdB_Compte_Rendus +Informations générales +FI_TdB_Compte_Rendus +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TdB_Compte_Rendus.wdw +| Créé par | | SMR | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | --- | +| Date de création | | 18/06/2025 09:31:52 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 09/10/2025 08:58:54 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 559 | 165 | +| Position X | Position Y | | Largeur | Hauteur | | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------ | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 4658 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Compte_Rendus › Informations générales +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 1 +Table 1 Forme 1 +Fenêtre interne 1 Champ Modèle de champs 4 +Colonne de table 6 +Nombre d'éléments dans la fenêtre : 15 +FI_TdB_Compte_Rendus +Informations sur les champs +06/08/2026 Batik 4659 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Compte_Rendus › Informations sur les champs +Fenêtre : FI_TdB_Compte_Rendus +Fenêtre interne +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| FI_TdB_Compte_Rendus | 0 | 0 559 | 165 | 0 | | | +| -------------------- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdB_Compte_Rendus +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Img | 3 | 7 29 | 24 | 0 | Actif | | +| ---------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_Ligne | 0 | 33 559 | 8 | 0 | Actif | | +| CMOD_Table | 3 | 41 553 | 122 | 0 | Actif | | +| CMOD_Titre | 36 | 7 517 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_TdB_Compte_Rendus.CMOD_Img +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | --- | --- | ------------ | --- | ---------- | +cilc cevA +ruegraL ruetuaH +elbisiV +nalP +| IMG_Icone | 3 6 | 29 24 | 0 | Actif | | | +| --------- | --- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_TdB_Compte_Rendus.CMOD_Ligne +| 06/08/2026 | | Batik | | | | 4660 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Compte_Rendus › Informations sur les champs +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_Sep | | | 0 | 34 | 559 | | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Compte_Rendus.CMOD_Table +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 | | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | | +ruegraL +| | | | | elbisiV | elbaT | | | | | | +| --- | --- | --- | --- | ------- | ----- | --- | --- | --- | --- | --- | +nalP +| TABLE_Info | 5 43 | 547 116 | 0 | affichag | Mémoir | | | | | 2 | +| ---------- | ---- | ------- | --- | -------- | ------ | --- | --- | --- | --- | --- | +Table : FI_TdB_Compte_Rendus.CMOD_Table.TABLE_Info +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_PKID | | 880 | Grisé | | | Droite | Centre | Numériq | | | +| COL_Date | | 64 | Actif | | | Droite | Centre | Date | | | +| COL_Colb | | 111 | Actif | | | Gauche | Centre | Texte | | | +| COL_NoteColb | | 142 | Actif | | | Gauche | Centre | Texte | | | +| COL_Client | | 94 | Actif | | | Gauche | Centre | Texte | | | +| COL_NoteCli | | 107 | Actif | | | Gauche | Centre | Texte | | | +| 06/08/2026 | | | | Batik | | | | | | 4661 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Compte_Rendus › Informations sur les champs +Champ Modèle de champs : FI_TdB_Compte_Rendus.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +X noitisoP Y noitisoP laitini tatE +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 36 7 | 517 26 | 0 Actif | Gauche | Centre | | +| ------- | ---- | ------ | ------- | ------ | ------ | --- | +Fenêtre : FI_TdB_Compte_Rendus +Fenêtre interne : FI_TdB_Compte_Rendus +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +| Facteur d'agrandissement | 0 | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | +| Ancrage | <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_TdB_Compte_Rendus +| 06/08/2026 | | Batik | | | | 4662 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Compte_Rendus › Informations sur les champs +Champ Modèle de champs : FI_TdB_Compte_Rendus.CMOD_Img +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Compte_Rendus.CMOD_Ligne +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4663 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Compte_Rendus › Informations sur les champs +Champ Modèle de champs : FI_TdB_Compte_Rendus.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Compte_Rendus.CMOD_Titre +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4664 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Compte_Rendus › Informations sur les champs +Champ Modèle de champs : FI_TdB_Compte_Rendus.CMOD_Img +Image : FI_TdB_Compte_Rendus.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\compterendu.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 4665 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Compte_Rendus › Informations sur les champs +Champ Modèle de champs : FI_TdB_Compte_Rendus.CMOD_Ligne +Forme : FI_TdB_Compte_Rendus.CMOD_Ligne.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Compte_Rendus.CMOD_Table +Table : FI_TdB_Compte_Rendus.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +06/08/2026 Batik 4666 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Compte_Rendus › Informations sur les champs +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 +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 +06/08/2026 Batik 4667 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Compte_Rendus › Informations sur les champs +Table : FI_TdB_Compte_Rendus.CMOD_Table.TABLE_Info +Colonne de table : FI_TdB_Compte_Rendus.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : FI_TdB_Compte_Rendus.CMOD_Table.TABLE_Info.COL_Date (2) +Titre FR: Date +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 +06/08/2026 Batik 4668 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Compte_Rendus › Informations sur les champs +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 150 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Compte_Rendus.CMOD_Table.TABLE_Info.COL_Colb (3) +Titre FR: Collaborateur +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +06/08/2026 Batik 4669 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Compte_Rendus › Informations sur les champs +Colonne de table : FI_TdB_Compte_Rendus.CMOD_Table.TABLE_Info.COL_NoteColb (4) +Titre FR: Note collaborateur +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 270 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Compte_Rendus.CMOD_Table.TABLE_Info.COL_Client (5) +Titre FR: Client +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 +06/08/2026 Batik 4670 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Compte_Rendus › 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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Compte_Rendus.CMOD_Table.TABLE_Info.COL_NoteCli (6) +Titre FR: Note client +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 270 Taux anc. hauteur 1000 +06/08/2026 Batik 4671 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Compte_Rendus › Informations sur les champs +Champ Modèle de champs : FI_TdB_Compte_Rendus.CMOD_Titre +Libellé : FI_TdB_Compte_Rendus.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TdB_Compte_Rendus +Code des champs +Déclarations globales de FI_TdB_Compte_Rendus +06/08/2026 Batik 4672 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Compte_Rendus › Code des champs +procédure FI_TdB_Compte_Rendus() +tbaCompteRendus est un tableau associatif de MCompteRendu +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +06/08/2026 Batik 4673 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Compte_Rendus › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4674 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Compte_Rendus › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +06/08/2026 Batik 4675 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Compte_Rendus › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Compte-rendus" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +06/08/2026 Batik 4676 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Compte_Rendus › Code des champs +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +FI_TdB_Compte_Rendus +Procédures +Procédure locale Blocage +procédure Blocage(bBloque est un booléen) +Procédure locale Filtrer +procédure Filtrer(nIdInter est un entier sur 8 octets) +TableauSupprimeTout(tbaCompteRendus) +TableSupprimeTout(TABLE_Info) +si nIdInter > 0 alors +i est un entier +odUnCr est un MCompteRendu dynamique +rqSql est une Requête SQL = +[ +SELECT * +FROM CompteRendu WHERE CR_IDIntervention = {p_IdInter} +] +rqSql.p_IdInter = nIdInter +si pas HExécuteRequêteSQL(rqSql) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Compte_Rendus.Filtrer") +sinon +pour tout rqSql +odUnCr = allouer un MCompteRendu +FichierVersMémoire(odUnCr,rqSql) +tbaCompteRendus[odUnCr:nPKID] = odUnCr +fin +fin +pour tout oCR de tbaCompteRendus +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = oCR.nPKID +COL_Date[i] = oCR.dhDateHeureDebut +COL_Colb[i] = oCR.saNomSignataireTech +COL_NoteColb[i] = oCR.saNoteCollaborateur +COL_Client[i] = oCR.saNomSignataire +COL_NoteCli[i] = oCR.saNoteSignataire +fin +fin +06/08/2026 Batik 4677 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Image +FI_Liste_Client +Image +FI_Liste_Client +Informations générales +FI_Liste_Client +06/08/2026 Batik 4678 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations générales +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_Liste_Client.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 16/07/2025 15:07:55 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 10/10/2025 14:21:05 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1032 Hauteur | 750 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 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 | | Windows 11 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 4679 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations générales +| 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 | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | +Statistiques de la fenêtre +| | Champ de saisie | | 12 | Libellé | | 3 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | +| | Interrupteur | | 22 | Image | | 6 | +| | Table | | 1 | Combo | | 10 | +| | Séparateur | | 1 | Fenêtre interne | | 1 | +| | Superchamp | | 3 | Champ Modèle de champs | | 32 | +| | Option d'interrupteur | | 22 | Option de menu | | 4 | +| | Colonne de table | | 8 | | | | +Nombre d'éléments dans la fenêtre : 125 +FI_Liste_Client +Informations sur les champs +Fenêtre : FI_Liste_Client +Fenêtre interne +laitini tatE BAT ehcuoT +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | +| --- | --- | --- | ------- | ------- | --- | --- | +elbisiV +nalP +| FI_Liste_Client | | 0 | 0 1032 | 750 | 0 | | +| --------------- | --- | --- | ------ | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | 4680 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Fenêtre interne : FI_Liste_Client +Séparateur +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| SPLIT_Dossier | 176 | 0 7 | 750 | 0 | Actif | | +| ------------- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs +| | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| CMOD_Client | 4 | 0 172 | 409 | 0 | Actif | | +| -------------- | --- | ------- | --- | --- | ----- | --- | +| CMOD_Contact | 4 | 577 172 | 164 | 0 | Actif | | +| CMOD_DateModif | 513 | 4 269 | 30 | 0 | Actif | | +| CMOD_Effacer | 191 | 3 37 | 31 | 0 | Actif | | +| CMOD_Filtre | 988 | 4 37 | 31 | 0 | Actif | | +| CMOD_NbLigne | 236 | 4 269 | 30 | 0 | Actif | | +| CMOD_Options | 943 | 4 37 | 31 | 0 | Actif | | +| CMOD_Site | 4 | 409 172 | 168 | 0 | Actif | | +| CMOD_Table | 191 | 42 834 | 702 | 0 | Actif | | +Champ Modèle de champs : FI_Liste_Client.CMOD_Client +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_Div | 8 | 5 163 | 398 | 0 | Actif | | +| ------ | --- | ----- | --- | --- | ----- | --- | +Superchamp : FI_Liste_Client.CMOD_Client.SC_Div +| 06/08/2026 | | Batik | | | | 4681 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › 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_Site_noire | 15 | 11 | 18 | 20 | 0 | Actif | | | +| -------------- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_CL_Apporteur | | 9 | 280 | 159 | 30 | 0 | Actif | | +| ------------------ | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_CL_Blocage | | 9 | 160 | 162 | 30 | 0 | Actif | | +| CMOD_CL_Code | | 9 | 100 | 162 | 30 | 0 | Actif | | +| CMOD_CL_CodePostal | | 9 | 220 | 162 | 30 | 0 | Actif | | +| CMOD_CL_Coord | | 9 | 190 | 162 | 30 | 0 | Actif | | +| CMOD_CL_Nom | | 9 | 40 | 162 | 30 | 0 | Actif | | +| CMOD_CL_Origine | | 9 | 310 | 162 | 30 | 0 | Actif | | +| CMOD_CL_Reglement | | 9 | 340 | 162 | 30 | 0 | Actif | | +| CMOD_CL_Status | | 9 | 130 | 162 | 30 | 0 | Actif | | +| CMOD_CL_Type | | 9 | 70 | 162 | 30 | 0 | Actif | | +| CMOD_CL_Ville | | 9 | 250 | 161 | 30 | 0 | Actif | | +| CMOD_Cl_Archive | | 9 | 370 | 159 | 30 | 0 | Actif | | +| CMOD_Titre | | 35 | 8 | 132 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Apporteur +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | | | | | laitini tatE | | staté siorT | +| --- | --- | --- | --- | --- | --- | ------------ | --- | ----------- | +X noitisoP Y noitisoP +| | | | ruegraL ruetuaH | | | | | | +| --- | --- | --- | --------------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| INT_Opt | 12 | 285 | 20 | 20 | 0 Actif | | 1 | | +| ---------- | --- | --- | ----- | --- | ------- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 4682 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › 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_Choix | 35 | 280 133 31 | 0 Actif | Mémoire | | Non | | +| --------- | --- | ---------- | ------- | ------- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Blocage +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | | | laitini tatE | | staté siorT | +| --- | --- | ---------- | --- | --- | ------------ | --- | ----------- | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 12 165 | 20 20 | 0 | Actif | 1 | | +| ------- | --- | ------ | ----- | --- | ----- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | ------------------ | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | | +| --- | ---------- | --------------- | ------------ | ---------- | ----------- | --- | --- | +| | X noitisoP | Y noitisoP | laitini tatE | | | | | +| | | ruegraL ruetuaH | | | sruocraP | | | +elbisiV +| | | | | elbaT | eéirT | | | +| --- | --- | --- | --- | ----- | ----- | --- | --- | +nalP +| CMB_Choix | 35 | 161 133 29 | 0 Actif | Mémoire | | Non | | +| --------- | --- | ---------- | ------- | ------- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Code +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 | | | | +ruetuaH +| | | ruegraL | elbisiV | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +nalP +| SAI_Choix | 37 100 | 131 30 0 | Actif Texte | | Non | | | +| ---------- | ------ | -------- | ----------- | --- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | 4683 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | ----------- | +ruetuaH +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| INT_Opt | | 12 105 | 20 20 | 0 | Actif | 1 | +| ------- | --- | ------ | ----- | --- | ----- | --- | +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_CodePostal +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 eisias epyT | FTR tamroF | ediv is LLUN | lacitrev .csA | +| | X noitisoP Y noitisoP | | laitini tatE | engilitluM | | | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| SAI_Choix | 37 220 | 131 30 0 | Actif Texte | | Non | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | laitini tatE BAT ehcuoT | staté siorT | +| --- | --- | --- | --- | --- | ----------------------- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 12 225 | 20 20 | 0 | Actif | 1 | +| ------- | --- | ------ | ----- | --- | ----- | --- | +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Coord +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_Choix | 35 190 | 133 30 0 | Actif Texte | | Non | | +| ---------- | ------ | -------- | ----------- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | 4684 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | ----------- | +ruetuaH +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| INT_Opt | | 12 195 | 20 20 | 0 | Actif | 1 | +| ------- | --- | ------ | ----- | --- | ----- | --- | +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Nom +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 eisias epyT | FTR tamroF | ediv is LLUN | lacitrev .csA | +| | X noitisoP Y noitisoP | | laitini tatE | engilitluM | | | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| SAI_Choix | 37 40 | 131 30 0 | Actif Texte | | Non | | +| --------- | ----- | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | laitini tatE BAT ehcuoT | staté siorT | +| --- | --- | --- | --- | --- | ----------------------- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 12 45 | 20 20 | 0 | Actif | 1 | +| ------- | --- | ----- | ----- | --- | ----- | --- | +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Origine +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | ----------- | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 11 315 | 20 20 | 0 | Actif | 1 | +| ---------- | --- | ------ | ----- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | 4685 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › 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_Choix | 37 310 | 130 31 | 0 Actif | Mémoire | | Non | | +| --------- | ------ | ------ | ------- | ------- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Reglement +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP | | | | laitini tatE | | staté siorT | +| --- | ---------- | --- | --- | --- | ------------ | --- | ----------- | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 12 345 | 20 20 | 0 | Actif | 1 | | +| ------- | --- | ------ | ----- | --- | ----- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | ------------------ | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | | +| --- | --------------------- | --------------- | ------------ | ---------- | ----------- | --- | --- | +| | X noitisoP Y noitisoP | | laitini tatE | | | | | +| | | ruegraL ruetuaH | | | sruocraP | | | +elbisiV +| | | | | elbaT | eéirT | | | +| --- | --- | --- | --- | ----- | ----- | --- | --- | +nalP +| CMB_Choix | 37 340 | 131 31 | 0 Actif | Mémoire | | Non | | +| --------- | ------ | ------ | ------- | ------- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Status +Interrupteur +ellennoitroporp .loC +| | | | | | | BAT ehcuoT sennoloc .bN | | +| --- | ---------- | ---------- | --- | --- | ------------ | ----------------------- | ----------- | +| | | | | | laitini tatE | | staté siorT | +| | X noitisoP | Y noitisoP | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 12 135 | 20 20 | 0 | Actif | 1 | | +| ---------- | --- | ------ | ----- | --- | ----- | --- | ---- | +| 06/08/2026 | | | Batik | | | | 4686 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › 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_Choix | 37 | 130 131 31 | 0 Actif | Mémoire | | Non | | +| --------- | --- | ---------- | ------- | ------- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Type +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | | | laitini tatE | | staté siorT | +| --- | --- | ---------- | --- | --- | ------------ | --- | ----------- | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 12 75 | 20 20 | 0 | Actif | 1 | | +| ------- | --- | ----- | ----- | --- | ----- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | ------------------ | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | | +| --- | ---------- | --------------- | ------------ | ---------- | ----------- | --- | --- | +| | X noitisoP | Y noitisoP | laitini tatE | | | | | +| | | ruegraL ruetuaH | | | sruocraP | | | +elbisiV +| | | | | elbaT | eéirT | | | +| --- | --- | --- | --- | ----- | ----- | --- | --- | +nalP +| CMB_Choix | 37 | 70 130 31 | 0 Actif | Mémoire | | Non | | +| --------- | --- | --------- | ------- | ------- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Ville +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 | | | | +ruetuaH +| | | ruegraL | elbisiV | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +nalP +| SAI_Choix | 35 250 | 132 30 0 | Actif Texte | | Non | | | +| ---------- | ------ | -------- | ----------- | --- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | 4687 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| INT_Opt | | 12 255 | 20 | 20 | 0 | Actif | | 1 | | +| ------- | --- | ------ | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_Cl_Archive +Interrupteur +ellennoitroporp .loC +| | | | | | | | BAT ehcuoT sennoloc .bN | | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | ----------------------- | --- | ----------- | +| | | | | | | laitini tatE | | | staté siorT | +| | | X noitisoP Y noitisoP | | | | | | | | +| | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| INT_Opt | | 12 375 | 20 | 20 | 0 | Actif | | 1 | | +| ------- | --- | ------ | --- | --- | --- | ----- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | | BAT ehcuoT | eisias cevA | | | | +| --- | ---------- | ---------- | ------- | ------- | ------------ | ----------- | --- | --- | --- | +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | | +| | | | ruetuaH | | | sruocraP | | | | +| | | ruegraL | | elbisiV | | | | | | +elbaT +| | | | nalP | | | eéirT | | | | +| --------- | --- | ------- | ---- | ------- | ------- | ----- | --- | --- | --- | +| CMB_Choix | 37 | 371 131 | 29 | 0 Actif | Mémoire | | Non | | | +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | | .trev egardaC | | +| --- | --- | --------------------- | --- | --- | ------------ | ------------- | --- | ------------- | --- | +| | | | | | laitini tatE | | | FTR tamroF | | +| | | X noitisoP Y noitisoP | | | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 35 8 | 132 | 26 | 0 Actif | Gauche | Centre | | | +| ---------- | --- | ---- | --- | ----- | ------- | ------ | ------ | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | 4688 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_Contact +Superchamp +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| SC_Div | | | 8 | 582 | 163 | 153 | | 0 | Actif | | +| ------ | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Superchamp : FI_Liste_Client.CMOD_Contact.SC_Div +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| --- | --- | ---------- | ---------- | --- | ------- | --- | --- | ------------ | --------- | ---------- | +| | | | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Site_noire | | 13 | 589 | | 18 20 | 0 | | Actif | | | +| -------------- | --- | --- | --- | --- | ----- | --- | --- | ----- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| CMOD_CT_Email | | | 9 | 669 | 162 | 30 | | 0 | Actif | | +| ------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_CT_Nom | | | 9 | 611 | 162 | 30 | | 0 | Actif | | +| CMOD_CT_Role | | | 9 | 697 | 162 | 30 | | 0 | Actif | | +| CMOD_CT_Tel | | | 9 | 639 | 162 | 30 | | 0 | Actif | | +| CMOD_Titre | | | 36 | 586 | 131 | 26 | | 0 | Actif | | +Champ Modèle de champs : FI_Liste_Client.CMOD_Contact.SC_Div.CMOD_CT_Email +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_Choix | 37 669 | 131 30 | 0 | Actif | Texte | | Non | | | | +| ---------- | ------ | ------ | --- | ----- | ----- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | | Batik | | | | | 4689 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | ----------- | +ruetuaH +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| INT_Opt | | 12 674 | 20 20 | 0 | Actif | 1 | +| ------- | --- | ------ | ----- | --- | ----- | --- | +Champ Modèle de champs : FI_Liste_Client.CMOD_Contact.SC_Div.CMOD_CT_Nom +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 eisias epyT | FTR tamroF | ediv is LLUN | lacitrev .csA | +| | X noitisoP Y noitisoP | | laitini tatE | engilitluM | | | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| SAI_Choix | 37 611 | 131 30 0 | Actif Texte | | Non | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | laitini tatE BAT ehcuoT | staté siorT | +| --- | --- | --- | --- | --- | ----------------------- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 12 615 | 20 20 | 0 | Actif | 1 | +| ------- | --- | ------ | ----- | --- | ----- | --- | +Champ Modèle de champs : FI_Liste_Client.CMOD_Contact.SC_Div.CMOD_CT_Role +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | ----------- | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 12 702 | 20 20 | 0 | Actif | 1 | +| ---------- | --- | ------ | ----- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | 4690 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › 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_Choix | 37 | 697 130 | 31 | 0 Actif | Mémoire | | Non | | | +| --------- | --- | ------- | --- | ------- | ------- | --- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Client.CMOD_Contact.SC_Div.CMOD_CT_Tel +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_Choix | 36 639 | 131 30 | 0 | Actif | Texte | Non | | | | +| --------- | ------ | ------ | --- | ----- | ----- | --- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | | | | | laitini tatE | | | staté siorT | +| --- | --- | --- | --- | --- | --- | ------------ | --- | --- | ----------- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| INT_Opt | | 12 644 | 20 | 20 | 0 | Actif | | 1 | | +| ------- | --- | ------ | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Client.CMOD_Contact.SC_Div.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | --- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | | 36 586 | 131 | 26 | 0 | Actif Gauche | Centre | | | +| ---------- | --- | ------ | --- | ----- | --- | ------------ | ------ | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | 4691 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_DateModif +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | laitini tatE | BAT ehcuoT | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | ---------- | --- | ----------- | +| | | X noitisoP Y noitisoP | | | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 513 9 | 20 | 20 | 0 Actif | | | 1 | | +| ------- | --- | ----- | --- | --- | ------- | --- | --- | --- | --- | +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_Choix | 541 | 4 241 31 | 0 | Actif | Mémoire | | Non | | | +Champ Modèle de champs : FI_Liste_Client.CMOD_Effacer +Image +| | | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --------------------------------------- | ---------- | +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | sucof cevA | +cilc cevA +| | | | ruegraL | ruetuaH | | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| IMG_Icone | | 191 3 | 37 | 31 | 0 | Actif | | | | +| --------- | --- | ----- | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Client.CMOD_Filtre +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | laitini tatE | | | sucof cevA | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --------- | --- | ---------- | +| | | X noitisoP Y noitisoP | | | | | | | | +| | | | ruegraL | ruetuaH | | | cilc cevA | | | +elbisiV +nalP +| IMG_Icone | | 988 4 | 37 | 31 | 0 | Actif | | | | +| ---------- | --- | ----- | ----- | --- | --- | ----- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | | 4692 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_NbLigne +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | | laitini tatE | BAT ehcuoT | | staté siorT | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | --- | ----------- | +| | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| INT_Opt | | 236 | 9 | 20 | 20 | 0 Actif | | | 1 | | +| ------- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | +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_Choix | 264 | 4 241 | 31 | 0 | Actif | Mémoire | | Non | | | +Champ Modèle de champs : FI_Liste_Client.CMOD_Options +Image +| | | | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --------------------------------------- | ---------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | sucof cevA | +cilc cevA +| | | | | ruegraL | ruetuaH | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| IMG_Icone | | 943 | 4 | 37 | 31 | 0 | Actif | | | | +| --------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Client.CMOD_Site +Superchamp +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_Div | | | 8 | 414 | 163 | 157 | 0 | | Actif | | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | ----- | ---- | +| 06/08/2026 | | | | Batik | | | | | | 4693 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Superchamp : FI_Liste_Client.CMOD_Site.SC_Div +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| --- | --- | ---------- | ---------- | --- | ------- | --- | --- | ------------ | --------- | ---------- | +| | | | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Site_noire | | 14 | 420 | | 18 20 | 0 | | Actif | | | +| -------------- | --- | --- | --- | --- | ----- | --- | --- | ----- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| CMOD_LI_Adresse | | | 9 | 474 | 162 | 30 | | 0 | Actif | | +| --------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_LI_CP | | | 9 | 504 | 162 | 30 | | 0 | Actif | | +| CMOD_LI_Nom | | | 9 | 444 | 162 | 30 | | 0 | Actif | | +| CMOD_LI_Ville | | | 9 | 534 | 159 | 30 | | 0 | Actif | | +| CMOD_Titre | | | 35 | 416 | 133 | 26 | | 0 | Actif | | +Champ Modèle de champs : FI_Liste_Client.CMOD_Site.SC_Div.CMOD_LI_Adresse +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 eisias epyT | FTR tamroF | | ediv is LLUN | | lacitrev .csA | +| | X noitisoP Y noitisoP | | | laitini tatE | | engilitluM | | | | | +ruetuaH +| | | ruegraL | | elbisiV | | | | | | | +| --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_Choix | 35 474 | 133 30 | 0 | Actif | Texte | | Non | | | | +| --------- | ------ | ------ | --- | ----- | ----- | --- | --- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | | laitini tatE | BAT ehcuoT | | staté siorT | +| --- | --- | --- | --- | --- | --- | --- | ------------ | ---------- | --- | ----------- | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| INT_Opt | | 12 | 479 | 20 | 20 | 0 | Actif | | 1 | | +| ---------- | --- | --- | --- | --- | ----- | --- | ----- | --- | --- | ---- | +| 06/08/2026 | | | | | Batik | | | | | 4694 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_Site.SC_Div.CMOD_LI_CP +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_Choix | 35 504 | 132 30 0 | Actif Texte | | Non | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT staté siorT +| | | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 12 509 | 20 20 | 0 | Actif | 1 | +| ------- | --- | ------ | ----- | --- | ----- | --- | +Champ Modèle de champs : FI_Liste_Client.CMOD_Site.SC_Div.CMOD_LI_Nom +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 | | | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| SAI_Choix | 37 444 | 131 30 0 | Actif Texte | | Non | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +BAT ehcuoT sennoloc .bN +| | | | | | laitini tatE | staté siorT | +| --- | --- | --- | --- | --- | ------------ | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 12 449 | 20 20 | 0 | Actif | 1 | +| ---------- | --- | ------ | ----- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | 4695 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_Site.SC_Div.CMOD_LI_Ville +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_Choix | 37 534 | 131 30 | 0 | Actif | Texte | Non | | | +| --------- | ------ | ------ | --- | ----- | ----- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | BAT ehcuoT | | staté siorT | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | ----------- | +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| INT_Opt | | 12 539 | 20 | 20 | 0 | Actif | 1 | | +| ------- | --- | ------ | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_Liste_Client.CMOD_Site.SC_Div.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | ---------- | +| | | | | | | laitini tatE | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 35 416 | 133 | 26 | 0 | Actif Gauche | Centre | | +| ------- | --- | ------ | --- | --- | --- | ------------ | ------ | --- | +Champ Modèle de champs : FI_Liste_Client.CMOD_Table +| 06/08/2026 | | | | Batik | | | | 4696 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +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 | | | | | +| --- | --------------------- | ------- | ------------ | --- | -------- | --- | --- | +| | | ruetuaH | | | sruocraP | | | +ruegraL +elbisiV +| | | nalP | | elbaT | | | | +| ---------- | ------ | --------- | -------- | ------ | --- | --- | --- | +| TABLE_Info | 193 44 | 828 696 0 | affichag | Mémoir | | | 1 | +Table : FI_Liste_Client.CMOD_Table.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +| | | | ehcuag à eéxiF | | .zroh egardaC .trev egardaC | | | +| --- | --- | --- | -------------- | --- | --------------------------- | ---------------------- | ----------- | +| | | | elbaçalpéD | | | eisias epyT FTR tamroF | eisias cevA | +laitini tatE engilitluM +ruegraL +elbisiV +eéirT +epyT +| COL_PKID | | 880 Grisé | | | Droite Centre | Numériq | | +| ----------------- | --- | --------- | --- | --- | ------------- | ------- | --- | +| COL_Nom | | 155 Actif | | | Gauche Centre | Texte | | +| COL_Coord | | 117 Actif | | | Gauche Centre | Texte | | +| COL_Type | | 126 Actif | | | Gauche Centre | Texte | | +| COL_Statut | | 106 Actif | | | Gauche Centre | Texte | | +| COL_Code | | 106 Actif | | | Gauche Centre | Texte | | +| COL_CodeComptable | | 100 Actif | | | Gauche Centre | Texte | | +| COL_Blocage | | 100 Actif | | | Centre Centre | | | +Fenêtre : FI_Liste_Client +Fenêtre interne : FI_Liste_Client +| UI par l'utilisateur | | Selon fenêtre | | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | +| Taux Paral. Y | | 0 | | | | | | +| Épinglé | | Non | | | | | | +| Masquer lors du scrolling | | Non | | | | | | +| Ancrage au contenu | | <Aucun> | | | | | | +| Numéro aide | | 0 | | | | | | +| Thème destination | | Oui | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | | 0 | | | | | | +| -------------------------- | --- | --- | ----- | --- | --- | --- | ---- | +| Facteur d'agrandissement | | 0 | | | | | | +| 06/08/2026 | | | Batik | | | | 4697 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Ctx. HFSQL indép. Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Liste_Client +Champ Modèle de champs : FI_Liste_Client.CMOD_Client +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Contact +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4698 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_DateModif +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Effacer +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4699 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_Filtre +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_NbLigne +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4700 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_Options +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Site +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4701 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_Table +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Séparateur : FI_Liste_Client.SPLIT_Dossier +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 +Sens Vertical +Numéro aide 0 +Opacité 100 +Borne max. -1 +Borne min. -1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Sauve position Oui +Image D:\Projets Windev\Batik\Nouvelle +Ancrage Hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4702 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_Client +Superchamp : FI_Liste_Client.CMOD_Client.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 161 +Hauteur externe 396 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Liste_Client.CMOD_Client.SC_Div +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Apporteur +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +06/08/2026 Batik 4703 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Blocage +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Code +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4704 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_CodePostal +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Coord +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4705 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Nom +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Origine +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4706 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Reglement +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Status +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4707 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Type +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Ville +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4708 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_Cl_Archive +Ordre navigation 13 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4709 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Image : FI_Liste_Client.CMOD_Client.SC_Div.IMG_Site_noire +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Client_noire.svg +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 Oui +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 +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Apporteur +Combo : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Apporteur.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 4710 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +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 131 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 37 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 4711 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Apporteur.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 4712 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Blocage +Combo : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Blocage.CMB_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Combo +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 131 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 37 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Batik 4713 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Blocage.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Batik 4714 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Code +Interrupteur : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Code.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +06/08/2026 Batik 4715 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Code.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 37 +Largeur interne 131 +06/08/2026 Batik 4716 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 4717 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +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 +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_CodePostal +Interrupteur : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_CodePostal.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +06/08/2026 Batik 4718 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_CodePostal.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 37 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 4719 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Coord +06/08/2026 Batik 4720 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Coord.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4721 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ de saisie : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Coord.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 37 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Batik 4722 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Nom +Interrupteur : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Nom.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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> +06/08/2026 Batik 4723 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Nom.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 +06/08/2026 Batik 4724 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 37 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 4725 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +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 +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Origine +Combo : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Origine.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 130 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 37 +Largeur interne 130 +Cadrage fonctions gXXX Tenir compte du cadrage +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) +06/08/2026 Batik 4726 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Saisie invalide Oui, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Origine.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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> +06/08/2026 Batik 4727 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Reglement +Combo : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Reglement.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 +06/08/2026 Batik 4728 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 131 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 37 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +06/08/2026 Batik 4729 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Reglement.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4730 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Status +Combo : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Status.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 131 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 37 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 4731 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Status.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Batik 4732 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Type +Combo : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Type.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 130 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 37 +Largeur interne 130 +06/08/2026 Batik 4733 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4734 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Type.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4735 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Ville +Interrupteur : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Ville.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4736 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ de saisie : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_CL_Ville.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 37 +Largeur interne 130 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Batik 4737 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_Cl_Archive +Combo : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_Cl_Archive.CMB_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Combo +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 +06/08/2026 Batik 4738 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 130 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 38 +Largeur interne 130 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4739 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_Cl_Archive.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean,GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4740 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_Titre +Libellé : FI_Liste_Client.CMOD_Client.SC_Div.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4741 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_Contact +Superchamp : FI_Liste_Client.CMOD_Contact.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 161 +Hauteur externe 151 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Liste_Client.CMOD_Contact.SC_Div +Champ Modèle de champs : FI_Liste_Client.CMOD_Contact.SC_Div.CMOD_CT_Email +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +06/08/2026 Batik 4742 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Contact.SC_Div.CMOD_CT_Nom +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Contact.SC_Div.CMOD_CT_Role +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4743 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_Contact.SC_Div.CMOD_CT_Tel +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Contact.SC_Div.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4744 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Image : FI_Liste_Client.CMOD_Contact.SC_Div.IMG_Site_noire +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Contact_noire.svg +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 Oui +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 +Champ Modèle de champs : FI_Liste_Client.CMOD_Contact.SC_Div.CMOD_CT_Email +Interrupteur : FI_Liste_Client.CMOD_Contact.SC_Div.CMOD_CT_Email.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 4745 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client.CMOD_Contact.SC_Div.CMOD_CT_Email.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +06/08/2026 Batik 4746 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +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 37 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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> +06/08/2026 Batik 4747 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +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 +Champ Modèle de champs : FI_Liste_Client.CMOD_Contact.SC_Div.CMOD_CT_Nom +Interrupteur : FI_Liste_Client.CMOD_Contact.SC_Div.CMOD_CT_Nom.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +06/08/2026 Batik 4748 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client.CMOD_Contact.SC_Div.CMOD_CT_Nom.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 37 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 4749 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4750 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_Contact.SC_Div.CMOD_CT_Role +Combo : FI_Liste_Client.CMOD_Contact.SC_Div.CMOD_CT_Role.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 130 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 37 +Largeur interne 130 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 4751 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client.CMOD_Contact.SC_Div.CMOD_CT_Role.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Batik 4752 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Contact.SC_Div.CMOD_CT_Tel +Interrupteur : FI_Liste_Client.CMOD_Contact.SC_Div.CMOD_CT_Tel.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Batik 4753 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client.CMOD_Contact.SC_Div.CMOD_CT_Tel.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 37 +Largeur interne 130 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +06/08/2026 Batik 4754 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +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, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4755 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_Contact.SC_Div.CMOD_Titre +Libellé : FI_Liste_Client.CMOD_Contact.SC_Div.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4756 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_DateModif +Combo : FI_Liste_Client.CMOD_DateModif.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 241 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 541 +Largeur interne 241 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 4757 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client.CMOD_DateModif.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Batik 4758 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Effacer +Image : FI_Liste_Client.CMOD_Effacer.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\gomme_noire.svg +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 +06/08/2026 Batik 4759 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : FI_Liste_Client.CMOD_Filtre +Image : FI_Liste_Client.CMOD_Filtre.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Double_flèches.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 4760 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_NbLigne +Combo : FI_Liste_Client.CMOD_NbLigne.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +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 241 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 264 +Largeur interne 241 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 4761 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Client.CMOD_NbLigne.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +06/08/2026 Batik 4762 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › 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 +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Options +Image : FI_Liste_Client.CMOD_Options.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\options.svg +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 +06/08/2026 Batik 4763 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Texte Markdown Non +Mode menu ctx. <Aucun> +Mire visible Oui +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : FI_Liste_Client.CMOD_Site +Superchamp : FI_Liste_Client.CMOD_Site.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 161 +Hauteur externe 155 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4764 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Superchamp : FI_Liste_Client.CMOD_Site.SC_Div +Champ Modèle de champs : FI_Liste_Client.CMOD_Site.SC_Div.CMOD_LI_Adresse +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Site.SC_Div.CMOD_LI_CP +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4765 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_Site.SC_Div.CMOD_LI_Nom +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Site.SC_Div.CMOD_LI_Ville +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4766 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_Site.SC_Div.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : FI_Liste_Client.CMOD_Site.SC_Div.IMG_Site_noire +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Site_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 4767 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Site.SC_Div.CMOD_LI_Adresse +Interrupteur : FI_Liste_Client.CMOD_Site.SC_Div.CMOD_LI_Adresse.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +06/08/2026 Batik 4768 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client.CMOD_Site.SC_Div.CMOD_LI_Adresse.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 37 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 4769 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Site.SC_Div.CMOD_LI_CP +06/08/2026 Batik 4770 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Interrupteur : FI_Liste_Client.CMOD_Site.SC_Div.CMOD_LI_CP.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4771 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ de saisie : FI_Liste_Client.CMOD_Site.SC_Div.CMOD_LI_CP.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 37 +Largeur interne 130 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Batik 4772 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Client.CMOD_Site.SC_Div.CMOD_LI_Nom +Interrupteur : FI_Liste_Client.CMOD_Site.SC_Div.CMOD_LI_Nom.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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> +06/08/2026 Batik 4773 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client.CMOD_Site.SC_Div.CMOD_LI_Nom.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 +06/08/2026 Batik 4774 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 37 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 4775 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +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 +Champ Modèle de champs : FI_Liste_Client.CMOD_Site.SC_Div.CMOD_LI_Ville +Interrupteur : FI_Liste_Client.CMOD_Site.SC_Div.CMOD_LI_Ville.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +06/08/2026 Batik 4776 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Texte Markdown Non +Mode menu ctx. <Aucun> +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Client.CMOD_Site.SC_Div.CMOD_LI_Ville.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 37 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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> +06/08/2026 Batik 4777 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +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, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4778 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_Site.SC_Div.CMOD_Titre +Libellé : FI_Liste_Client.CMOD_Site.SC_Div.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4779 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Champ Modèle de champs : FI_Liste_Client.CMOD_Table +Table : FI_Liste_Client.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 4780 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +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. A la fin +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 : FI_Liste_Client.CMOD_Table.TABLE_Info +Colonne de table : FI_Liste_Client.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 +06/08/2026 Batik 4781 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Client.CMOD_Table.TABLE_Info.COL_Nom (2) +Titre FR: Nom du client +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 200 Taux anc. hauteur 1000 +06/08/2026 Batik 4782 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Colonne de table : FI_Liste_Client.CMOD_Table.TABLE_Info.COL_Coord (3) +Titre FR: Coordonnées +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 250 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Client.CMOD_Table.TABLE_Info.COL_Type (4) +Titre FR: Type de client +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 +06/08/2026 Batik 4783 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › 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 150 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Client.CMOD_Table.TABLE_Info.COL_Statut (5) +Titre FR: Statut client +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 150 Taux anc. hauteur 1000 +06/08/2026 Batik 4784 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les champs +Colonne de table : FI_Liste_Client.CMOD_Table.TABLE_Info.COL_Code (6) +Titre FR: Code client +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 100 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Client.CMOD_Table.TABLE_Info.COL_CodeComptable (7) +Titre FR: Code Comptable +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 +06/08/2026 Batik 4785 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › 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 100 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Client.CMOD_Table.TABLE_Info.COL_Blocage (8) +Titre FR: Blocage +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 50 Taux anc. hauteur 1000 +FI_Liste_Client +Informations sur les menus +06/08/2026 Batik 4786 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Creer (2) +OPT_Modifier (3) +OPT_Supprimer (4) +Libellé des options : Français +Créer un nouveau client +Modifier le client sélectionné +Supprimer le client sélectionné +FI_Liste_Client +Code des champs +Déclarations globales de FI_Liste_Client +procédure FI_Liste_Client(saNomFen est une chaîne ANSI = "") +tbaCriteresParam est un tableau associatif de chaînes ANSI +si SansEspace(saNomFen) <> "" alors +CMOD_Options..Visible = Faux +MenuSelectMoins(OPT_Creer) +MenuSelectMoins(OPT_Modifier) +MenuSelectMoins(OPT_Supprimer) +fin +Fin d'initialisation de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Client +06/08/2026 Batik 4787 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CL_Apporteur +saLib = "Apporté par" +saCode = cParam_ApportClient +Fin d'initialisation de CMOD_CL_Apporteur +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4788 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CL_Apporteur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CL_Apporteur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CL_Apporteur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CL_Apporteur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CL_Apporteur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CL_Apporteur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_CL_Apporteur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_CL_Apporteur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_CL_Apporteur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_CL_Apporteur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_CL_Apporteur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CL_Apporteur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CL_Apporteur ) +06/08/2026 Batik 4789 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CL_Apporteur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CL_Apporteur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CL_Apporteur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Cl_Archive +salib = "Archivé" +Fin d'initialisation de CMOD_Cl_Archive +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Cl_Archive +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Cl_Archive +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Cl_Archive +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Cl_Archive +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Cl_Archive +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Cl_Archive +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_Cl_Archive ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +06/08/2026 Batik 4790 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +MoiMême = Faux +Entrée dans CMB_Choix ( CMOD_Cl_Archive ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_Cl_Archive ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_Cl_Archive ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_Cl_Archive ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_Cl_Archive ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +MoiMême = Vrai +Entrée dans INT_Opt ( CMOD_Cl_Archive ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_Cl_Archive ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_Cl_Archive ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Cl_Archive ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CL_Blocage +salib = "Blocage" +Fin d'initialisation de CMOD_CL_Blocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CL_Blocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CL_Blocage +06/08/2026 Batik 4791 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CL_Blocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CL_Blocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CL_Blocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CL_Blocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_CL_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_CL_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_CL_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_CL_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_CL_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CL_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CL_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CL_Blocage ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4792 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CL_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CL_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CL_Code +salib = "Code client" +Fin d'initialisation de CMOD_CL_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CL_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CL_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CL_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CL_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CL_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CL_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CL_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CL_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CL_Code ) +06/08/2026 Batik 4793 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CL_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CL_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_CL_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_CL_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_CL_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_CL_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_CL_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CL_CodePostal +salib = "Code postal" +Fin d'initialisation de CMOD_CL_CodePostal +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CL_CodePostal +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CL_CodePostal +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CL_CodePostal +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CL_CodePostal +06/08/2026 Batik 4794 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CL_CodePostal +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CL_CodePostal +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CL_CodePostal ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CL_CodePostal ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CL_CodePostal ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CL_CodePostal ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CL_CodePostal ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_CL_CodePostal ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_CL_CodePostal ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_CL_CodePostal ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_CL_CodePostal ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_CL_CodePostal ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4795 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +ExécuteAncêtre +Déclarations globales de CMOD_CL_Coord +saLib = "Coordonnées" +Fin d'initialisation de CMOD_CL_Coord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CL_Coord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CL_Coord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CL_Coord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CL_Coord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CL_Coord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CL_Coord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CL_Coord ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CL_Coord ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CL_Coord ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CL_Coord ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CL_Coord ) +06/08/2026 Batik 4796 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_CL_Coord ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_CL_Coord ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_CL_Coord ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_CL_Coord ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_CL_Coord ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CL_Nom +salib = "Nom du client" +Fin d'initialisation de CMOD_CL_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CL_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CL_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CL_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CL_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CL_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CL_Nom +06/08/2026 Batik 4797 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CL_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CL_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CL_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CL_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CL_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_CL_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_CL_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_CL_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_CL_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_CL_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CL_Origine +saLib = "Origine" +saCode = cParam_ApportOrigClient +Fin d'initialisation de CMOD_CL_Origine +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4798 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CL_Origine +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CL_Origine +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CL_Origine +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CL_Origine +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CL_Origine +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CL_Origine +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_CL_Origine ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_CL_Origine ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_CL_Origine ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_CL_Origine ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_CL_Origine ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CL_Origine ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CL_Origine ) +06/08/2026 Batik 4799 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CL_Origine ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CL_Origine ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CL_Origine ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CL_Reglement +saLib = "Règlement" +saCode = cParam_ModeReglClient +Fin d'initialisation de CMOD_CL_Reglement +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CL_Reglement +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CL_Reglement +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CL_Reglement +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CL_Reglement +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CL_Reglement +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CL_Reglement +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_CL_Reglement ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4800 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_CL_Reglement ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_CL_Reglement ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_CL_Reglement ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_CL_Reglement ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CL_Reglement ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CL_Reglement ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CL_Reglement ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CL_Reglement ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CL_Reglement ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CL_Status +sacode = cParam_StatutClient +salib = "Statut client" +Fin d'initialisation de CMOD_CL_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CL_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CL_Status +06/08/2026 Batik 4801 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CL_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CL_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CL_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CL_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_CL_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_CL_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_CL_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_CL_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_CL_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CL_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CL_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CL_Status ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4802 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CL_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CL_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CL_Type +saLib = "Type de client" +saCode = cParam_TypeClient +Fin d'initialisation de CMOD_CL_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CL_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CL_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CL_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CL_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CL_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CL_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_CL_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_CL_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_CL_Type ) +06/08/2026 Batik 4803 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_CL_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_CL_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CL_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CL_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CL_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CL_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CL_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CL_Ville +salib = "Ville" +Fin d'initialisation de CMOD_CL_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CL_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CL_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CL_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CL_Ville +06/08/2026 Batik 4804 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CL_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CL_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CL_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CL_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CL_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CL_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CL_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_CL_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_CL_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_CL_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_CL_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_CL_Ville ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4805 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Client" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Contact +06/08/2026 Batik 4806 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4807 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +ExécuteAncêtre +Déclarations globales de CMOD_CT_Email +salib = "Email" +Fin d'initialisation de CMOD_CT_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CT_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CT_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CT_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CT_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CT_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CT_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CT_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CT_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CT_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CT_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CT_Email ) +06/08/2026 Batik 4808 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_CT_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_CT_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_CT_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_CT_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_CT_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CT_Nom +salib = "Nom" +Fin d'initialisation de CMOD_CT_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CT_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CT_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CT_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CT_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CT_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CT_Nom +06/08/2026 Batik 4809 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CT_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CT_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CT_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CT_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CT_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_CT_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_CT_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_CT_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_CT_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_CT_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CT_Role +saLib = "Rôle" +saCode = cParam_RoleContact +Fin d'initialisation de CMOD_CT_Role +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4810 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CT_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CT_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CT_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CT_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CT_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CT_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_CT_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_CT_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_CT_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_CT_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_CT_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CT_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CT_Role ) +06/08/2026 Batik 4811 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CT_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CT_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CT_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CT_Tel +salib = "Téléphone" +Fin d'initialisation de CMOD_CT_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CT_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CT_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CT_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CT_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CT_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CT_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CT_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CT_Tel ) +06/08/2026 Batik 4812 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CT_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CT_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CT_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_CT_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_CT_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_CT_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_CT_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_CT_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib="Contact" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +06/08/2026 Batik 4813 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_DateModif +saLib = "Depuis" +saCode = cParam_PeriodeRqSql +Fin d'initialisation de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CMOD_DateModif.CMB_Choix = cCle_PeriodeSqlReq1Mois +CMOD_DateModif.INT_Opt = Vrai +Demande de mise à jour de l'affichage de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DateModif +06/08/2026 Batik 4814 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Effacer +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4815 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +GR_Combo = -1 +GR_Saisie = "" +GR_Boolean = Faux +GR_Int = Faux +A chaque modification de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Effacer ) +06/08/2026 Batik 4816 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Filtrer() +A chaque modification de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Filtre ) +06/08/2026 Batik 4817 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NbLigne +saLib = "Afficher" +saCode = cParam_LigneRqSql +Fin d'initialisation de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CMOD_NbLigne.CMB_Choix = gtabParametresMetierCode[cParam_LigneRqSql][cCle_NumLigneReq200]: +saParametre +CMOD_NbLigne.INT_Opt = Vrai +Demande de mise à jour de l'affichage de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_NbLigne ) +06/08/2026 Batik 4818 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4819 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Site +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4820 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_LI_Adresse +salib = "Adresse du site" +Fin d'initialisation de CMOD_LI_Adresse +06/08/2026 Batik 4821 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LI_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LI_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LI_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LI_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LI_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LI_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_LI_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_LI_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_LI_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_LI_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_LI_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_LI_Adresse ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4822 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_LI_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_LI_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_LI_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_LI_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_LI_CP +salib = "Code postal" +Fin d'initialisation de CMOD_LI_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LI_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LI_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LI_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LI_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LI_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LI_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_LI_CP ) +06/08/2026 Batik 4823 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_LI_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_LI_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_LI_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_LI_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_LI_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_LI_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_LI_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_LI_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_LI_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_LI_Nom +salib= "Nom du site" +Fin d'initialisation de CMOD_LI_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LI_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LI_Nom +06/08/2026 Batik 4824 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LI_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LI_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LI_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LI_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_LI_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_LI_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_LI_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_LI_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_LI_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_LI_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_LI_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_LI_Nom ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4825 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_LI_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_LI_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_LI_Ville +salib = "Ville" +Fin d'initialisation de CMOD_LI_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LI_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LI_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LI_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LI_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LI_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LI_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_LI_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_LI_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_LI_Ville ) +06/08/2026 Batik 4826 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_LI_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_LI_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_LI_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_LI_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_LI_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_LI_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_LI_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Site" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +06/08/2026 Batik 4827 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4828 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SelLigneTable() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +06/08/2026 Batik 4829 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection du menu de MNU_Options.OPT_Creer +Creer() +Sélection du menu de MNU_Options.OPT_Modifier +Modifier() +Sélection du menu de MNU_Options.OPT_Supprimer +Supprimer() +FI_Liste_Client +Procédures +Procédure locale Creer +procédure Creer() +tbaTbParam est un tableau associatif de chaînes ANSI +tbaTbParam[cParam_Fenetre] = cFI_Liste_Client +si Ouvre(FEN_Fiche,tbaTbParam) alors +Filtrer() +fin +Procédure locale Filtrer +procédure Filtrer() +TableSupprimeTout(TABLE_Info) +ReqSQL est une chaîne +sCR est une chaîne +sdListeClient est une Source de Données +nTop est un entier = CMOD_NbLigne.CMB_Choix +saJoin est une chaîne ANSI +si nTop>0 _et_ CMOD_NbLigne.INT_Opt alors +ReqSQL=ChaîneConstruit("SELECT TOP %1 ",nTop) +sinon +ReqSQL="SELECT " +fin +06/08/2026 Batik 4830 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Procédures +ReqSQL+=[ +CL_PKID +,CL_Nom AS NomClient +,CL_CleStatut +,CL_CleType +,CL_CodeClient AS CodeClient +,CL_Blocage +,CL_CodeComptable AS CodeComptableClient +,(SELECT STRING_AGG(Adresse.AD_Presentation,CHR(13)+'--------------------' ++CHR(13)) FROM Adresse INNER JOIN Client_Adresse ON (CA_IDAdresse=AD_PKID) WHERE +CA_IDClient=CL_PKID) AS +Coord +,CLIENT.ModifDate AS MinDateModif +] +ReqSQL+=[ +FROM CLIENT +] +sCR+=CritereHF(CMOD_CL_Nom.INT_Opt,CMOD_CL_Nom.SAI_Choix,Client.CL_Nom..Nom,df_Milieutexte) +sCR+=CritereHF(CMOD_CL_Type.INT_Opt,CMOD_CL_Type.CMB_Choix,Client.CL_CleType..Nom,df_TexteComplet) +sCR+=CritereHF(CMOD_CL_Code.INT_Opt,CMOD_CL_Code.SAI_Choix,Client.CL_CodeClient..Nom,df_Milieutexte) +sCR+=CritereHF(CMOD_CL_Status.INT_Opt,CMOD_CL_Status.CMB_Choix,Client.CL_CleStatut..Nom,df_TexteComplet +) +sCR+=CritereHF(CMOD_CL_Blocage.INT_Opt,CMOD_CL_Blocage.CMB_Choix,Client.CL_Blocage..Nom,df_Booleen) +si CMOD_CL_Coord.INT_Opt ou CMOD_CL_CodePostal.INT_Opt ou CMOD_CL_Ville.INT_Opt alors +saJoin += " INNER JOIN Adresse AD_CL ON AD_CL.AD_PKID = Client.CL_IDAdressePrincipale " +sCR+=CritereHF(CMOD_CL_Coord.INT_Opt,CMOD_CL_Coord.SAI_Choix,"AD_CL.AD_Presentation",df_Milieutexte +) +sCR+=CritereHF(CMOD_CL_CodePostal.INT_Opt,CMOD_CL_CodePostal.SAI_Choix,"AD_CL.AD_CodePostal", +df_Milieutexte) +sCR+=CritereHF(CMOD_CL_Ville.INT_Opt,CMOD_CL_Ville.SAI_Choix,"AD_CL.AD_Ville",df_Milieutexte) +fin +sCR+=CritereHF(CMOD_CL_Apporteur.INT_Opt,CMOD_CL_Apporteur.CMB_Choix,Client.CL_CleApporteur..Nom, +df_TexteComplet) +sCR+=CritereHF(CMOD_CL_Origine.INT_Opt,CMOD_CL_Origine.CMB_Choix,Client.CL_CleApporteurOrigine..Nom, +df_TexteComplet) +sCR+=CritereHF(CMOD_CL_Reglement.INT_Opt,CMOD_CL_Reglement.CMB_Choix,Client.CL_CleModeReglement..Nom, +df_TexteComplet) +// Site +si CMOD_LI_Nom.INT_Opt alors +saJoin += " INNER JOIN Client_Lieu ON CLI_IDClient = CL_PKID " +saJoin += " INNER JOIN Lieu Site_LI ON Site_LI.LI_PKID = CLI_IDLieu " +sCR+=CritereHF(CMOD_LI_Nom.INT_Opt,CMOD_LI_Nom.SAI_Choix,"Site_LI.LI_CodeLieu",df_Milieutexte) +fin +si CMOD_LI_Adresse.INT_Opt ou CMOD_LI_CP.INT_Opt ou CMOD_LI_Ville.INT_Opt alors +si pas CMOD_LI_Nom.INT_Opt alors +saJoin += " INNER JOIN Client_Lieu ON CLI_IDClient = CL_PKID " +saJoin += " INNER JOIN Lieu Site_LI ON Site_LI.LI_PKID = CLI_IDLieu " +fin +saJoin += " INNER JOIN Adresse AD_LI ON AD_LI.AD_PKID = Site_LI.LI_IDAdresse " +sCR+=CritereHF(CMOD_LI_CP.INT_Opt,CMOD_LI_CP.SAI_Choix,"AD_LI.AD_CodePostal",df_Milieutexte) +sCR+=CritereHF(CMOD_LI_Ville.INT_Opt,CMOD_LI_Ville.SAI_Choix,"AD_LI.AD_Ville",df_Milieutexte) +sCR+=CritereHF(CMOD_LI_Adresse.INT_Opt,CMOD_LI_Adresse.SAI_Choix,"AD_LI.AD_Presentation", +df_Milieutexte) +fin +06/08/2026 Batik 4831 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Procédures +// Contact +si CMOD_CT_Nom.INT_Opt ou CMOD_CT_Tel.INT_Opt ou CMOD_CT_Email.INT_Opt ou CMOD_CT_Role.INT_Opt alors +saJoin += " INNER JOIN Personne ON Personne.PE_IDClient = Client.CL_PKID " +sCR+=CritereHF(CMOD_CT_Nom.INT_Opt,CMOD_CT_Nom.SAI_Choix,"CONCAT(PE_Nom, ' ', PE_Prenom)", +df_Milieutexte) +si CMOD_CT_Tel.INT_Opt _et_ CMOD_CT_Tel.SAI_Choix <> "" alors +sCR += " AND (Upper(PE_TelFixe) Like Upper('%"+StrSQL(CMOD_CT_Tel.SAI_Choix)+ +"%') OR Upper(PE_TelMobile) Like Upper('%"+StrSQL(CMOD_CT_Tel.SAI_Choix)+"%') ) " +fin +sCR+=CritereHF(CMOD_CT_Email.INT_Opt,CMOD_CT_Email.SAI_Choix,Personne.PE_Email..Nom,df_Milieutexte) +sCR+=CritereHF(CMOD_CT_Role.INT_Opt,CMOD_CT_Role.CMB_Choix,Personne.PE_CleRole..Nom,df_TexteComplet +) +fin +ReqSQL+=saJoin +ReqSQL+=[ +WHERE 1=1 +] +ReqSQL+=sCR +si sCR..Taille > 3 alors +CMOD_DateModif.INT_Opt = Faux +fin +ReqSQL += CritereHF(CMOD_Cl_Archive.INT_Opt,CMOD_Cl_Archive.CMB_Choix,"Client.Archive",df_Booleen) +// mis par defaut +si CMOD_DateModif.INT_Opt _et_ CMOD_DateModif.CMB_Choix <> Null _et_ CMOD_DateModif.CMB_Choix <> "" +alors +dhDateCpt est une DateHeure = DateHeureSys() +si gtabParametresMetierCode[cParam_PeriodeRqSql][CMOD_DateModif.CMB_Choix]..Existe alors +dhDateCpt..Jour-= Val(gtabParametresMetierCode[cParam_PeriodeRqSql][CMOD_DateModif.CMB_Choix]. +saParametre) +fin +ReqSQL+="AND Client.ModifDate >= '"+dhDateCpt+"' " +fin +ReqSQL+=[ +ORDER BY Client.ModifDate DESC +] +nIdClient est un entier sur 8 octets +si HExécuteRequêteSQL(sdListeClient,ConnexionBase:Cnx,hRequêteDéfaut+hRequêteSansCorrection,ReqSQL) +alors +i est un entier +pour tout sdListeClient +si nIdClient <> sdListeClient.CL_PKID alors +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = sdListeClient.CL_PKID +COL_Nom[i] = sdListeClient.NomClient +COL_Coord[i] = sdListeClient.Coord +COL_Type[i] = (sdListeClient.CL_CleType <> "" _et_ +gtabParametresMetierCode[cParam_TypeClient][sdListeClient.CL_CleType]..Existe ) ? +gtabParametresMetierCode[cParam_TypeClient][sdListeClient.CL_CleType].saLibelle sinon "" +COL_Statut[i] = (sdListeClient.CL_CleStatut <> "" _et_ +gtabParametresMetierCode[cParam_StatutClient][sdListeClient.CL_CleStatut ]..Existe ) ? +gtabParametresMetierCode[cParam_StatutClient][sdListeClient.CL_CleStatut].saLibelle sinon +"" +COL_Code[i] = sdListeClient.CodeClient +06/08/2026 Batik 4832 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Procédures +COL_CodeComptable[i] = sdListeClient.CodeComptableClient +COL_Blocage[i] = sdListeClient.CL_Blocage +fin +nIdClient = sdListeClient.CL_PKID +fin +si i > 1 alors +ToastAffiche(i+" Enregistrements trouvés",toastCourt,cvMilieu) +sinon si i = 1 alors +ToastAffiche("1 Enregistrement trouvé",toastCourt,cvMilieu) +sinon +ToastAffiche("Aucun enregistrement trouvé",toastCourt,cvMilieu) +fin +TableauSupprimeTout(tbaCriteresParam) +// Appel de sous fenêtre / si l'utilisateur modifie la liste âpres , les critères de base ne doit +pas être pris en compte +fin +HLibèreRequête(sdListeClient) +Procédure locale FiltrerCriteres +procédure FiltrerCriteres(tbaCriteres est un tableau associatif de chaînes ANSI) +bFiltre est un booléen = Vrai +TableauSupprimeTout(tbaCriteresParam) +si tbaCriteres..Occurrence <= 0 alors +renvoyer Vrai +sinon +tbaCriteresParam = tbaCriteres +fin +// a voir si le filtre par contact est nécessaire +pour tout saParam, saCle de tbaCriteresParam +si saParam <> "" alors +selon saCle +cas Client.CL_Nom..Nom +CMOD_CL_Nom.INT_Opt = Vrai +CMOD_CL_Nom.SAI_Choix = saParam +cas Client.CL_CleType..Nom +CMOD_CL_Type.INT_Opt = Vrai +CMOD_CL_Type.CMB_Choix = saParam +cas Client.CL_CodeClient..Nom +CMOD_CL_Code.INT_Opt = Vrai +CMOD_CL_Code.SAI_Choix = saParam +cas Client.CL_CleStatut..Nom +CMOD_CL_Status.INT_Opt = Vrai +CMOD_CL_Status.CMB_Choix = saParam +cas Client.CL_Blocage..Nom +CMOD_CL_Blocage.INT_Opt = Vrai +CMOD_CL_Blocage.CMB_Choix = saParam +cas Lieu.LI_CodeLieu..Nom +CMOD_LI_Nom.INT_Opt = Vrai +CMOD_LI_Nom.SAI_Choix = saParam +cas Adresse.AD_CodePostal..Nom +CMOD_LI_CP.INT_Opt = Vrai +CMOD_LI_CP.SAI_Choix = saParam +06/08/2026 Batik 4833 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Procédures +cas Adresse.AD_Ville..Nom +CMOD_LI_Ville.INT_Opt = Vrai +CMOD_LI_Ville.SAI_Choix = saParam +cas Adresse.AD_Presentation..Nom +CMOD_LI_Adresse.INT_Opt = Vrai +CMOD_LI_Adresse.SAI_Choix = saParam +cas Personne.PE_Nom..Nom +CMOD_CT_Nom.INT_Opt = Vrai +CMOD_CT_Nom.SAI_Choix = saParam +cas Personne.PE_TelFixe..Nom +CMOD_CT_Tel.INT_Opt = Vrai +CMOD_CT_Tel.SAI_Choix = saParam +cas Personne.PE_Email..Nom +CMOD_CT_Email.INT_Opt = Vrai +CMOD_CT_Email.SAI_Choix = saParam +cas Personne.PE_CleRole..Nom +CMOD_CT_Role.INT_Opt = Vrai +CMOD_CT_Role.CMB_Choix = saParam +autre cas +fin +fin +fin +si bFiltre alors +Filtrer() +fin +Procédure locale Modifier +procédure Modifier() +si TABLE_Info > 0 _et_ COL_PKID[TABLE_Info] > 0 alors +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[Client.CL_PKID..Nom] = COL_PKID[TABLE_Info] +tbaParam[cParam_IdFen] = COL_PKID[TABLE_Info] +OuvreFenSouers("FEN_Fiche_Client",tbaParam) +fin +Procédure locale SelLigneTable +procédure SelLigneTable() +si TABLE_Info > 0 _et_ COL_PKID[TABLE_Info] > 0 alors +si saNomFen <> "" alors +si FenEtat(saNomFen) <> Inexistant alors +selon saNomFen +cas cFEN_Choix_Liste +ExécuteTraitement(FEN_Choix_Liste.SelectionLigneFenInt,trtProcédure,COL_PKID[ +TABLE_Info]) +autre cas +fin +06/08/2026 Batik 4834 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Client › Procédures +fin +sinon +Modifier() +fin +fin +Procédure locale Supprimer +procédure Supprimer() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 alors +si HLitRecherchePremier(Client,CL_PKID,COL_PKID[i]) alors +oUnClient est un MClient +FichierVersMémoire(oUnClient,Client) +si oUnClient:supprimer() alors +TableSupprime(TABLE_Info,i) +fin +fin +fin +06/08/2026 Batik 4835 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Image +FI_Liste_Contact +Image +FI_Liste_Contact +Informations générales +FI_Liste_Contact +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_Liste_Contact.wdw +Créé par SMR +06/08/2026 Batik 4836 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations générales +| Date de création | | 16/07/2025 15:07:55 | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 10/10/2025 15:46:43 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1032 Hauteur | 700 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 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 | | Windows 11 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 4837 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations générales +| Durée Anim. Fermeture | 50 | | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | +| Adapte Taille contenu | Non | | | | | | +| Assombri quand inactif | Oui | | | | | | +| Déplace souris sur bouton par | Non | | | | | | +| Compact. barres outils | Non | | | | | | +Statistiques de la fenêtre +| | Champ de saisie | | 10 | Libellé | | 3 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | +| | Interrupteur | | 16 | Image | | 6 | +| | Table | | 1 | Combo | | 6 | +| | Séparateur | | 1 | Fenêtre interne | | 1 | +| | Superchamp | | 3 | Champ Modèle de champs | | 26 | +| | Option d'interrupteur | | 16 | Option de menu | | 4 | +| | Colonne de table | | 7 | | | | +Nombre d'éléments dans la fenêtre : 100 +FI_Liste_Contact +Informations sur les champs +Fenêtre : FI_Liste_Contact +Fenêtre interne +BAT ehcuoT +X noitisoP Y noitisoP laitini tatE +ruetuaH +ruegraL +elbisiV +nalP +| FI_Liste_Contact | | 0 | 0 1032 | 700 | 0 | | +| ---------------- | --- | --- | ------ | --- | --- | --- | +Fenêtre interne : FI_Liste_Contact +| 06/08/2026 | | | Batik | | | 4838 | +| ---------- | --- | --- | ----- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Séparateur +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SPLIT_Dossier | 176 | 0 7 | 700 | 0 | Actif | | +| ------------- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Client | 2 | 336 172 | 236 | 0 | Actif | | +| -------------- | --- | ------- | --- | --- | ----- | --- | +| CMOD_Contact | 3 | 4 172 | 164 | 0 | Actif | | +| CMOD_DateModif | 515 | 4 269 | 30 | 0 | Actif | | +| CMOD_Effacer | 191 | 4 37 | 31 | 0 | Actif | | +| CMOD_Filtre | 988 | 4 37 | 31 | 0 | Actif | | +| CMOD_NbLigne | 238 | 4 269 | 30 | 0 | Actif | | +| CMOD_Options | 943 | 4 37 | 31 | 0 | Actif | | +| CMOD_SansNom1 | 191 | 42 834 | 652 | 0 | Actif | | +| CMOD_Site | 2 | 168 172 | 168 | 0 | Actif | | +Champ Modèle de champs : FI_Liste_Contact.CMOD_Client +Superchamp +BAT ehcuoT +laitini tatE +| | X noitisoP | Y noitisoP | | | | | +| --- | ---------- | ---------- | ------- | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_Div | 6 | 341 163 | 225 | 0 | Actif | | +| ------ | --- | ------- | --- | --- | ----- | --- | +Superchamp : FI_Liste_Contact.CMOD_Client.SC_Div +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | laitini tatE | | sucof cevA | +| --- | --- | --- | --- | ------------ | --- | ---------- | +X noitisoP Y noitisoP +| | | ruegraL ruetuaH | | | cilc cevA | | +| --- | --- | --------------- | --- | --- | --------- | --- | +elbisiV +nalP +| IMG_Site_noire | 13 347 | 18 20 | 0 | Actif | | | +| -------------- | ------ | ----- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | 4839 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_CL_Blocage | | | 7 | 496 | 159 | 30 | 0 | Actif | | +| ------------------ | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_CL_Code | | | 7 | 436 | 158 | 30 | 0 | Actif | | +| CMOD_CL_CodeCompta | | | 7 | 526 | 158 | 30 | 0 | Actif | | +| CMOD_CL_Nom | | | 7 | 376 | 158 | 30 | 0 | Actif | | +| CMOD_CL_Status | | | 7 | 466 | 158 | 30 | 0 | Actif | | +| CMOD_CL_Type | | | 7 | 406 | 158 | 30 | 0 | Actif | | +| CMOD_Titre | | | 33 | 344 | 132 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Blocage +Interrupteur +ellennoitroporp .loC +| | | | | | | | BAT ehcuoT | sennoloc .bN | | +| --- | --- | ---------- | ---------- | --------------- | --- | ------------ | ---------- | ------------ | ----------- | +| | | | | | | laitini tatE | | | staté siorT | +| | | X noitisoP | Y noitisoP | | | | | | | +| | | | | ruegraL ruetuaH | | | | | | +elbisiV +nalP +| INT_Opt | | 7 | 501 | 20 | 20 | 0 Actif | | 1 | | +| ------- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | | | BAT ehcuoT | eisias cevA | | | +| --- | --------------------- | ------- | ------- | ------- | ------------ | ---------- | ----------- | --- | --- | +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | | +| | | | ruetuaH | | | sruocraP | | | | +| | | ruegraL | | elbisiV | | | | | | +| | | | | | | elbaT | eéirT | | | +nalP +| CMB_Choix | 35 | 497 131 | 29 | 0 | Actif | Mémoire | Non | | | +| --------- | --- | ------- | --- | --- | ----- | ------- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Code +| 06/08/2026 | | | | Batik | | | | | 4840 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +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_Choix | 35 436 | 130 30 0 | Actif Texte | | Non | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | ----------- | +ruetuaH +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| INT_Opt | | 7 441 | 20 20 | 0 | Actif | 1 | +| ------- | --- | ----- | ----- | --- | ----- | --- | +Champ Modèle de champs : +FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_CodeCompta +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_Choix | 36 526 | 129 30 0 | Actif Texte | | Non | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | laitini tatE BAT ehcuoT | staté siorT | +| --- | --- | --- | --- | --- | ----------------------- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 7 531 | 20 20 | 0 | Actif | 1 | +| ---------- | --- | ----- | ----- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | 4841 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ Modèle de champs : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Nom +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_Choix | 35 376 | 130 30 0 | Actif Texte | | Non | | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | BAT ehcuoT | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | ---------- | ----------- | +| | | X noitisoP Y noitisoP | | | laitini tatE | | | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 7 381 | 20 20 | 0 | Actif | 1 | | +| ------- | --- | ----- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Status +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | | | | laitini tatE | | staté siorT | +| --- | --- | --- | --- | --- | ------------ | --- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 7 471 | 20 20 | 0 | Actif | 1 | | +| ------- | --- | ----- | ----- | --- | ----- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | ------------------ | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | | +| --- | --------------------- | --------------- | ------------ | ---------- | ----------- | --- | --- | +| | X noitisoP Y noitisoP | | laitini tatE | | | | | +| | | ruegraL ruetuaH | | | sruocraP | | | +elbisiV +| | | | | elbaT | eéirT | | | +| --- | --- | --- | --- | ----- | ----- | --- | --- | +nalP +| CMB_Choix | 35 | 466 130 31 | 0 Actif | Mémoire | | Non | | +| ---------- | --- | ---------- | ------- | ------- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | 4842 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ Modèle de champs : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Type +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | | laitini tatE | BAT ehcuoT | | staté siorT | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | --- | ----------- | +| | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| INT_Opt | | 7 | 411 | 20 | 20 | 0 Actif | | | 1 | | +| ------- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | +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_Choix | 35 | 406 130 | 31 | 0 | Actif | Mémoire | | Non | | | +Champ Modèle de champs : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_Titre +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| LIB_lib | | 33 | 344 | 132 26 | | 0 Actif | Gauche | | Centre | | +| ------- | --- | --- | --- | ------ | --- | ------- | ------ | --- | ------ | --- | +Champ Modèle de champs : FI_Liste_Contact.CMOD_Contact +Superchamp +| | | | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | ---------- | +| | | | X noitisoP | Y noitisoP | | | | | | | +| | | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| SC_Div | | | 7 | 9 | 163 | 153 | 0 | | Actif | | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | ----- | ---- | +| 06/08/2026 | | | | Batik | | | | | | 4843 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Superchamp : FI_Liste_Contact.CMOD_Contact.SC_Div +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| --- | --- | ---------- | ---------- | --- | ------- | --- | --- | ------------ | --------- | ---------- | +| | | | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Site_noire | | 12 | 16 | | 18 20 | | 0 | Actif | | | +| -------------- | --- | --- | --- | --- | ----- | --- | --- | ----- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| CMOD_CT_Email | | | 8 | 96 | 158 | | 30 | 0 | Actif | | +| ------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_CT_Nom | | | 8 | 38 | 158 | | 30 | 0 | Actif | | +| CMOD_CT_Role | | | 8 | 124 | 158 | | 30 | 0 | Actif | | +| CMOD_CT_Tel | | | 8 | 66 | 158 | | 30 | 0 | Actif | | +| CMOD_Titre | | | 35 | 13 | 131 | | 26 | 0 | Actif | | +Champ Modèle de champs : FI_Liste_Contact.CMOD_Contact.SC_Div.CMOD_CT_Email +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 eisias epyT | | FTR tamroF | ediv is LLUN | | lacitrev .csA | +| | X noitisoP Y noitisoP | | | laitini tatE | | engilitluM | | | | | +ruetuaH +| | | ruegraL | | elbisiV | | | | | | | +| --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_Choix | 36 96 | 130 30 | 0 | Actif | Texte | | Non | | | | +| --------- | ----- | ------ | --- | ----- | ----- | --- | --- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | | | laitini tatE BAT ehcuoT | | staté siorT | +| --- | --- | --- | --- | --- | --- | --- | --- | ----------------------- | --- | ----------- | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| INT_Opt | | 8 | 101 | 20 | 20 | 0 | Actif | | 1 | | +| ---------- | --- | --- | --- | --- | ----- | --- | ----- | --- | --- | ---- | +| 06/08/2026 | | | | | Batik | | | | | 4844 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ Modèle de champs : FI_Liste_Contact.CMOD_Contact.SC_Div.CMOD_CT_Nom +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_Choix | 36 38 | 130 30 0 | Actif Texte | | Non | | | +| --------- | ----- | -------- | ----------- | --- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | BAT ehcuoT | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | ---------- | ----------- | +| | | X noitisoP Y noitisoP | | | laitini tatE | | | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 8 43 | 20 20 | 0 | Actif | 1 | | +| ------- | --- | ---- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_Liste_Contact.CMOD_Contact.SC_Div.CMOD_CT_Role +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | | | | laitini tatE | | staté siorT | +| --- | --- | --- | --- | --- | ------------ | --- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 8 129 | 20 20 | 0 | Actif | 1 | | +| ------- | --- | ----- | ----- | --- | ----- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | ------------------ | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | | +| --- | --------------------- | --------------- | ------------ | ---------- | ----------- | --- | --- | +| | X noitisoP Y noitisoP | | laitini tatE | | | | | +| | | ruegraL ruetuaH | | | sruocraP | | | +elbisiV +| | | | | elbaT | eéirT | | | +| --- | --- | --- | --- | ----- | ----- | --- | --- | +nalP +| CMB_Choix | 36 | 124 130 31 | 0 Actif | Mémoire | | Non | | +| ---------- | --- | ---------- | ------- | ------- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | 4845 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ Modèle de champs : FI_Liste_Contact.CMOD_Contact.SC_Div.CMOD_CT_Tel +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_Choix | 36 66 | 130 30 | 0 | Actif | Texte | Non | | | +| --------- | ----- | ------ | --- | ----- | ----- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | BAT ehcuoT | | staté siorT | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | ----------- | +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| INT_Opt | | 8 71 | 20 | 20 | 0 | Actif | 1 | | +| ------- | --- | ---- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_Liste_Contact.CMOD_Contact.SC_Div.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | ---------- | +| | | | | | | laitini tatE | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 35 13 | 131 | 26 | 0 | Actif Gauche | Centre | | +| ------- | --- | ----- | --- | --- | --- | ------------ | ------ | --- | +Champ Modèle de champs : FI_Liste_Contact.CMOD_DateModif +| 06/08/2026 | | | | Batik | | | | 4846 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| INT_Opt | | 515 9 | 20 | 20 | 0 | Actif | | 1 | | +| ------- | --- | ----- | --- | --- | --- | ----- | --- | --- | --- | +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_Choix | 543 | 4 241 31 | 0 | Actif | Mémoire | | Non | | | +Champ Modèle de champs : FI_Liste_Contact.CMOD_Effacer +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | laitini tatE | | | sucof cevA | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --------- | --- | ---------- | +| | | X noitisoP Y noitisoP | | | | | | | | +| | | | ruegraL | ruetuaH | | | cilc cevA | | | +elbisiV +nalP +| IMG_Icone | | 191 4 | 37 | 31 | 0 | Actif | | | | +| --------- | --- | ----- | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Contact.CMOD_Filtre +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --------- | --- | --- | +| | | | ruegraL | ruetuaH | | | cilc cevA | | | +elbisiV +nalP +| IMG_Icone | | 988 4 | 37 | 31 | 0 | Actif | | | | +| ---------- | --- | ----- | ----- | --- | --- | ----- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | | 4847 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ Modèle de champs : FI_Liste_Contact.CMOD_NbLigne +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | | | laitini tatE | BAT ehcuoT | | staté siorT | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ---------- | --- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 238 9 | 20 | | 20 | 0 | Actif | | | 1 | | +| ------- | --- | ----- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | +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_Choix | 266 | 4 241 31 | | 0 | Actif | | Mémoire | | Non | | | +Champ Modèle de champs : FI_Liste_Contact.CMOD_Options +Image +| | | | | | | | | | | cilc ruop eriatiroirP | tuaféd rap eéminA | +| --- | --- | --------------------- | --- | --- | --- | --- | --- | ------------ | --- | --------------------- | ----------------- | +| | | X noitisoP Y noitisoP | | | | | | laitini tatE | | | sucof cevA | +cilc cevA +| | | | | ruegraL | ruetuaH | | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| IMG_Icone | | 943 | 4 | 37 | 31 | | 0 | Actif | | | | +| --------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Contact.CMOD_SansNom1 +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | | | lennoitroporp .csA | | .loc .gifnoc .oméM | | +| --- | --- | --- | --- | --- | --- | --- | ------------------ | ------------------ | --------------- | ------------------ | ----------------------------- | +| | | | | | | | )(ertliFH resilitU | | ruesnecsa elluB | | | +| | | | | | | | .gerne egacolB | noitcelésitluM | EERTNE noitseG | | eércna ennoloC 5.5 elbitapmoC | +edacsac eisiaS +BAT ehcuoT +| | X noitisoP | | | laitini tatE | | | | | | | | +| --- | ---------- | --- | --- | ------------ | --- | -------- | --- | --- | --- | --- | --- | +| | Y noitisoP | | | | | sruocraP | | | | | | +ruegraL ruetuaH +elbisiV +| | | nalP | | | elbaT | | | | | | | +| ---------- | ------ | --------- | -------- | ----- | ------ | --- | --- | --- | --- | --- | ---- | +| TABLE_Info | 193 44 | 828 646 0 | affichag | | Mémoir | | | | | | 2 | +| 06/08/2026 | | | | Batik | | | | | | | 4848 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Table : FI_Liste_Contact.CMOD_SansNom1.TABLE_Info +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_PKID | 880 | Grisé | | Droite Centre | Numériq | | | +| COL_Nom | 154 | Actif | | Gauche Centre | Texte | | | +| COL_Prenom | 132 | Actif | | Gauche Centre | Texte | | | +| COL_Tel1 | 100 | Actif | | Gauche Centre | Texte | | | +| COL_Tel2 | 100 | Actif | | Gauche Centre | Texte | | | +| COL_Email | 151 | Actif | | Gauche Centre | Texte | | | +| COL_Role | 149 | Actif | | Gauche Centre | Texte | | | +Champ Modèle de champs : FI_Liste_Contact.CMOD_Site +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_Div | | 6 | 173 163 | 157 | 0 | Actif | | +| ------ | --- | --- | ------- | --- | --- | ----- | --- | +Superchamp : FI_Liste_Contact.CMOD_Site.SC_Div +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | ------------ | --------- | ---------- | +| | | | ruetuaH | | | cilc cevA | | +| | | | ruegraL | elbisiV | | | | +nalP +| IMG_Site_noire | 12 | 179 | 18 20 | 0 | Actif | | | +| -------------- | --- | --- | ----- | --- | ----- | --- | ---- | +| 06/08/2026 | | | Batik | | | | 4849 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_LI_Adresse | | | 7 | 233 | 159 | | 30 | 0 | Actif | | +| --------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_LI_CP | | | 7 | 263 | 159 | | 30 | 0 | Actif | | +| CMOD_LI_Nom | | | 7 | 203 | 159 | | 30 | 0 | Actif | | +| CMOD_LI_Ville | | | 7 | 293 | 159 | | 30 | 0 | Actif | | +| CMOD_Titre | | | 33 | 175 | 133 | | 26 | 0 | Actif | | +Champ Modèle de champs : FI_Liste_Contact.CMOD_Site.SC_Div.CMOD_LI_Adresse +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_Choix | 35 233 | 131 30 | 0 | Actif | Texte | | Non | | | | +| --------- | ------ | ------ | --- | ----- | ----- | --- | --- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | | laitini tatE | BAT ehcuoT | | staté siorT | +| --- | --- | --- | --- | --- | --- | --- | ------------ | ---------- | --- | ----------- | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| INT_Opt | | 7 | 238 | 20 | 20 | 0 | Actif | | 1 | | +| ------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Contact.CMOD_Site.SC_Div.CMOD_LI_CP +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_Choix | 35 263 | 131 30 | 0 | Actif | Texte | | Non | | | | +| ---------- | ------ | ------ | --- | ----- | ----- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | | Batik | | | | | 4850 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | ----------- | +ruetuaH +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| INT_Opt | | 7 268 | 20 20 | 0 | Actif | 1 | +| ------- | --- | ----- | ----- | --- | ----- | --- | +Champ Modèle de champs : FI_Liste_Contact.CMOD_Site.SC_Div.CMOD_LI_Nom +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 eisias epyT | FTR tamroF | ediv is LLUN | lacitrev .csA | +| | X noitisoP Y noitisoP | | laitini tatE | engilitluM | | | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| SAI_Choix | 35 203 | 131 30 0 | Actif Texte | | Non | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | laitini tatE BAT ehcuoT | staté siorT | +| --- | --- | --- | --- | --- | ----------------------- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 7 208 | 20 20 | 0 | Actif | 1 | +| ------- | --- | ----- | ----- | --- | ----- | --- | +Champ Modèle de champs : FI_Liste_Contact.CMOD_Site.SC_Div.CMOD_LI_Ville +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_Choix | 35 293 | 131 30 0 | Actif Texte | | Non | | +| ---------- | ------ | -------- | ----------- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | 4851 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | staté siorT | +| --- | --------------------- | --- | --- | ------------ | --- | ----------- | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| INT_Opt | 7 298 | 20 20 | 0 | Actif | 1 | | +| ------- | ----- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_Liste_Contact.CMOD_Site.SC_Div.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 33 175 | 133 26 | 0 Actif | Gauche | Centre | | +| ------- | ------ | ------ | ------- | ------ | ------ | --- | +Fenêtre : FI_Liste_Contact +Fenêtre interne : FI_Liste_Contact +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +| Facteur d'agrandissement | 0 | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | +| Ancrage | <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Batik | | | | 4852 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Fenêtre interne : FI_Liste_Contact +Champ Modèle de champs : FI_Liste_Contact.CMOD_Client +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Contact +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4853 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ Modèle de champs : FI_Liste_Contact.CMOD_DateModif +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Effacer +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4854 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ Modèle de champs : FI_Liste_Contact.CMOD_Filtre +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact.CMOD_NbLigne +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4855 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ Modèle de champs : FI_Liste_Contact.CMOD_Options +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact.CMOD_SansNom1 +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4856 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ Modèle de champs : FI_Liste_Contact.CMOD_Site +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Séparateur : FI_Liste_Contact.SPLIT_Dossier +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 +Sens Vertical +Numéro aide 0 +Opacité 100 +Borne max. -1 +Borne min. -1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Sauve position Oui +Image D:\Projets Windev\Batik\Nouvelle +Ancrage Hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4857 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ Modèle de champs : FI_Liste_Contact.CMOD_Client +Superchamp : FI_Liste_Contact.CMOD_Client.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 161 +Hauteur externe 223 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Liste_Contact.CMOD_Client.SC_Div +Champ Modèle de champs : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Blocage +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +06/08/2026 Batik 4858 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Code +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4859 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ Modèle de champs : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Nom +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Status +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4860 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ Modèle de champs : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Type +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4861 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Image : FI_Liste_Contact.CMOD_Client.SC_Div.IMG_Site_noire +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Client_noire.svg +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 Oui +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 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Blocage +Combo : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Blocage.CMB_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Combo +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 4862 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +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 130 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 36 +Largeur interne 130 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 4863 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Blocage.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 4864 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Code +Interrupteur : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Code.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +06/08/2026 Batik 4865 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Code.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 35 +Largeur interne 130 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 4866 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_CodeCompta +06/08/2026 Batik 4867 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Interrupteur : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_CodeCompta.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4868 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 36 +Largeur interne 129 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Batik 4869 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Nom +Interrupteur : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Nom.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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> +06/08/2026 Batik 4870 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Nom.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 +06/08/2026 Batik 4871 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 35 +Largeur interne 130 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 4872 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +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 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Status +Combo : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Status.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 130 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 35 +Largeur interne 130 +Cadrage fonctions gXXX Tenir compte du cadrage +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) +06/08/2026 Batik 4873 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Saisie invalide Oui, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Status.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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> +06/08/2026 Batik 4874 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Type +Combo : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Type.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 +06/08/2026 Batik 4875 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 130 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 35 +Largeur interne 130 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +06/08/2026 Batik 4876 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_CL_Type.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4877 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ Modèle de champs : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_Titre +Libellé : FI_Liste_Contact.CMOD_Client.SC_Div.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4878 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ Modèle de champs : FI_Liste_Contact.CMOD_Contact +Superchamp : FI_Liste_Contact.CMOD_Contact.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 161 +Hauteur externe 151 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Liste_Contact.CMOD_Contact.SC_Div +Champ Modèle de champs : FI_Liste_Contact.CMOD_Contact.SC_Div.CMOD_CT_Email +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +06/08/2026 Batik 4879 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Contact.SC_Div.CMOD_CT_Nom +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Contact.SC_Div.CMOD_CT_Role +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4880 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ Modèle de champs : FI_Liste_Contact.CMOD_Contact.SC_Div.CMOD_CT_Tel +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Contact.SC_Div.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4881 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Image : FI_Liste_Contact.CMOD_Contact.SC_Div.IMG_Site_noire +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Contact_noire.svg +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 Oui +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 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Contact.SC_Div.CMOD_CT_Email +Interrupteur : FI_Liste_Contact.CMOD_Contact.SC_Div.CMOD_CT_Email.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 4882 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Contact.CMOD_Contact.SC_Div.CMOD_CT_Email.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +06/08/2026 Batik 4883 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +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 36 +Largeur interne 130 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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> +06/08/2026 Batik 4884 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +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 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Contact.SC_Div.CMOD_CT_Nom +Interrupteur : FI_Liste_Contact.CMOD_Contact.SC_Div.CMOD_CT_Nom.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +06/08/2026 Batik 4885 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Contact.CMOD_Contact.SC_Div.CMOD_CT_Nom.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 36 +Largeur interne 130 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 4886 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4887 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ Modèle de champs : FI_Liste_Contact.CMOD_Contact.SC_Div.CMOD_CT_Role +Combo : FI_Liste_Contact.CMOD_Contact.SC_Div.CMOD_CT_Role.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 130 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 36 +Largeur interne 130 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 4888 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Contact.CMOD_Contact.SC_Div.CMOD_CT_Role.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Batik 4889 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Contact.SC_Div.CMOD_CT_Tel +Interrupteur : FI_Liste_Contact.CMOD_Contact.SC_Div.CMOD_CT_Tel.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Batik 4890 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Contact.CMOD_Contact.SC_Div.CMOD_CT_Tel.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 36 +Largeur interne 130 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +06/08/2026 Batik 4891 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +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, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4892 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ Modèle de champs : FI_Liste_Contact.CMOD_Contact.SC_Div.CMOD_Titre +Libellé : FI_Liste_Contact.CMOD_Contact.SC_Div.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4893 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ Modèle de champs : FI_Liste_Contact.CMOD_DateModif +Combo : FI_Liste_Contact.CMOD_DateModif.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 241 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 543 +Largeur interne 241 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 4894 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Contact.CMOD_DateModif.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Batik 4895 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Effacer +Image : FI_Liste_Contact.CMOD_Effacer.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\gomme_noire.svg +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 +06/08/2026 Batik 4896 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Filtre +Image : FI_Liste_Contact.CMOD_Filtre.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Double_flèches.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 4897 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact.CMOD_NbLigne +Combo : FI_Liste_Contact.CMOD_NbLigne.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +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 241 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 266 +Largeur interne 241 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 4898 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Contact.CMOD_NbLigne.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +06/08/2026 Batik 4899 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › 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 +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Options +Image : FI_Liste_Contact.CMOD_Options.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\options.svg +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 +06/08/2026 Batik 4900 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Texte Markdown Non +Mode menu ctx. <Aucun> +Mire visible Oui +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : FI_Liste_Contact.CMOD_SansNom1 +Table : FI_Liste_Contact.CMOD_SansNom1.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 4901 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +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. A la fin +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 +06/08/2026 Batik 4902 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Table : FI_Liste_Contact.CMOD_SansNom1.TABLE_Info +Colonne de table : FI_Liste_Contact.CMOD_SansNom1.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : FI_Liste_Contact.CMOD_SansNom1.TABLE_Info.COL_Nom (2) +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +06/08/2026 Batik 4903 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › 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 200 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Contact.CMOD_SansNom1.TABLE_Info.COL_Prenom (3) +Titre FR: Prénom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 200 Taux anc. hauteur 1000 +06/08/2026 Batik 4904 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Colonne de table : FI_Liste_Contact.CMOD_SansNom1.TABLE_Info.COL_Tel1 (4) +Titre FR: Tél n°1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 100 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Contact.CMOD_SansNom1.TABLE_Info.COL_Tel2 (5) +Titre FR: Tél n°2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +06/08/2026 Batik 4905 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › 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 100 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Contact.CMOD_SansNom1.TABLE_Info.COL_Email (6) +Titre FR: Email +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 200 Taux anc. hauteur 1000 +06/08/2026 Batik 4906 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Colonne de table : FI_Liste_Contact.CMOD_SansNom1.TABLE_Info.COL_Role (7) +Titre FR: Role +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 200 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Site +Superchamp : FI_Liste_Contact.CMOD_Site.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 161 +Hauteur externe 155 +06/08/2026 Batik 4907 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Liste_Contact.CMOD_Site.SC_Div +Champ Modèle de champs : FI_Liste_Contact.CMOD_Site.SC_Div.CMOD_LI_Adresse +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4908 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ Modèle de champs : FI_Liste_Contact.CMOD_Site.SC_Div.CMOD_LI_CP +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Site.SC_Div.CMOD_LI_Nom +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4909 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ Modèle de champs : FI_Liste_Contact.CMOD_Site.SC_Div.CMOD_LI_Ville +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Site.SC_Div.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4910 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Image : FI_Liste_Contact.CMOD_Site.SC_Div.IMG_Site_noire +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Site_noire.svg +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 Oui +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 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Site.SC_Div.CMOD_LI_Adresse +Interrupteur : FI_Liste_Contact.CMOD_Site.SC_Div.CMOD_LI_Adresse.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 4911 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Contact.CMOD_Site.SC_Div.CMOD_LI_Adresse.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +06/08/2026 Batik 4912 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +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 35 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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> +06/08/2026 Batik 4913 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +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 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Site.SC_Div.CMOD_LI_CP +Interrupteur : FI_Liste_Contact.CMOD_Site.SC_Div.CMOD_LI_CP.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +06/08/2026 Batik 4914 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Contact.CMOD_Site.SC_Div.CMOD_LI_CP.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 35 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 4915 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4916 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ Modèle de champs : FI_Liste_Contact.CMOD_Site.SC_Div.CMOD_LI_Nom +Interrupteur : FI_Liste_Contact.CMOD_Site.SC_Div.CMOD_LI_Nom.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4917 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Champ de saisie : FI_Liste_Contact.CMOD_Site.SC_Div.CMOD_LI_Nom.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 35 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Batik 4918 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Site.SC_Div.CMOD_LI_Ville +Interrupteur : FI_Liste_Contact.CMOD_Site.SC_Div.CMOD_LI_Ville.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Int +Ordre navigation 2 +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> +06/08/2026 Batik 4919 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Contact.CMOD_Site.SC_Div.CMOD_LI_Ville.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 +06/08/2026 Batik 4920 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 35 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 4921 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les champs +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 +Champ Modèle de champs : FI_Liste_Contact.CMOD_Site.SC_Div.CMOD_Titre +Libellé : FI_Liste_Contact.CMOD_Site.SC_Div.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4922 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Informations sur les menus +FI_Liste_Contact +Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Creer (2) +OPT_Modifier (3) +OPT_Supprimer (4) +Libellé des options : Français +Créer un nouveau contact +Modifier le contact sélectionné +Supprimer le contact sélectionné +FI_Liste_Contact +Code des champs +Déclarations globales de FI_Liste_Contact +procédure FI_Liste_Contact(saNomFen est une chaîne ANSI = "") +tbaCriteresParam est un tableau associatif de chaînes ANSI +bSansClient est un booléen +si SansEspace(saNomFen) <> "" alors +CMOD_Options..Visible = Faux +MenuSelectMoins(OPT_Creer) +MenuSelectMoins(OPT_Modifier) +MenuSelectMoins(OPT_Supprimer) +fin +Fin d'initialisation de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Client +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4923 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +ExécuteAncêtre +Sortie de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CL_Blocage +06/08/2026 Batik 4924 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +salib = "Blocage" +Fin d'initialisation de CMOD_CL_Blocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CL_Blocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CL_Blocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CL_Blocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CL_Blocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CL_Blocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CL_Blocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_CL_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_CL_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_CL_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_CL_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_CL_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CL_Blocage ) +06/08/2026 Batik 4925 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CL_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CL_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CL_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CL_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CL_Code +salib = "Code client" +Fin d'initialisation de CMOD_CL_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CL_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CL_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CL_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CL_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CL_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CL_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CL_Code ) +06/08/2026 Batik 4926 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CL_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CL_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CL_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CL_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_CL_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_CL_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_CL_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_CL_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_CL_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CL_CodeCompta +salib = "Code comptable" +Fin d'initialisation de CMOD_CL_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CL_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CL_CodeCompta +06/08/2026 Batik 4927 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CL_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CL_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CL_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CL_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CL_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CL_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CL_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CL_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CL_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_CL_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_CL_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_CL_CodeCompta ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4928 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_CL_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_CL_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CL_Nom +salib = "Nom du client" +Fin d'initialisation de CMOD_CL_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CL_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CL_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CL_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CL_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CL_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CL_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CL_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CL_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CL_Nom ) +06/08/2026 Batik 4929 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CL_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CL_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_CL_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_CL_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_CL_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_CL_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_CL_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CL_Status +sacode = cParam_StatutClient +salib = "Statut client" +Fin d'initialisation de CMOD_CL_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CL_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CL_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CL_Status +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4930 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CL_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CL_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CL_Status +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_CL_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_CL_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_CL_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_CL_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_CL_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CL_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CL_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CL_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CL_Status ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CL_Status ) +06/08/2026 Batik 4931 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CL_Type +saLib = "Type de client" +saCode = cParam_TypeClient +Fin d'initialisation de CMOD_CL_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CL_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CL_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CL_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CL_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CL_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CL_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_CL_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_CL_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_CL_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_CL_Type ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4932 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_CL_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CL_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CL_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CL_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CL_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CL_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Client" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +06/08/2026 Batik 4933 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4934 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CT_Email +salib = "Email" +Fin d'initialisation de CMOD_CT_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CT_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CT_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CT_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CT_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CT_Email +06/08/2026 Batik 4935 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CT_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CT_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CT_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CT_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CT_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CT_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_CT_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_CT_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_CT_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_CT_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_CT_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CT_Nom +salib = "Nom" +Fin d'initialisation de CMOD_CT_Nom +06/08/2026 Batik 4936 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CT_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CT_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CT_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CT_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CT_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CT_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CT_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CT_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CT_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CT_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CT_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_CT_Nom ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4937 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_CT_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_CT_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_CT_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_CT_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CT_Role +saLib = "Rôle" +saCode = cParam_RoleContact +Fin d'initialisation de CMOD_CT_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CT_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CT_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CT_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CT_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CT_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CT_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_CT_Role ) +06/08/2026 Batik 4938 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_CT_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_CT_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_CT_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_CT_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CT_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CT_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CT_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CT_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CT_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CT_Tel +salib = "Téléphone" +Fin d'initialisation de CMOD_CT_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CT_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CT_Tel +06/08/2026 Batik 4939 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CT_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CT_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CT_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CT_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_CT_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_CT_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_CT_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_CT_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_CT_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_CT_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_CT_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_CT_Tel ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4940 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_CT_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_CT_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib="Contact" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_DateModif +06/08/2026 Batik 4941 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +saLib = "Depuis" +saCode = cParam_PeriodeRqSql +Fin d'initialisation de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CMOD_DateModif.CMB_Choix = cCle_PeriodeSqlReq1Mois +CMOD_DateModif.INT_Opt = Vrai +Demande de mise à jour de l'affichage de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_DateModif ) +06/08/2026 Batik 4942 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_DateModif ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Effacer +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4943 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +GR_Combo = -1 +GR_Saisie = "" +GR_Boolean = Faux +GR_Int = Faux +A chaque modification de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Filtre +06/08/2026 Batik 4944 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Filtrer() +A chaque modification de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NbLigne +saLib = "Afficher" +saCode = cParam_LigneRqSql +Fin d'initialisation de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CMOD_NbLigne.CMB_Choix = gtabParametresMetierCode[cParam_LigneRqSql][cCle_NumLigneReq200]: +saParametre +CMOD_NbLigne.INT_Opt = Vrai +Demande de mise à jour de l'affichage de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NbLigne +06/08/2026 Batik 4945 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4946 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_NbLigne ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4947 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +06/08/2026 Batik 4948 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SelLigneTable() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Site +06/08/2026 Batik 4949 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4950 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_LI_Adresse +salib = "Adresse du site" +Fin d'initialisation de CMOD_LI_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LI_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LI_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LI_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LI_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LI_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LI_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_LI_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_LI_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_LI_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_LI_Adresse ) +06/08/2026 Batik 4951 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_LI_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_LI_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_LI_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_LI_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_LI_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_LI_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_LI_CP +salib = "Code postal" +Fin d'initialisation de CMOD_LI_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LI_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LI_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LI_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LI_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LI_CP +06/08/2026 Batik 4952 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LI_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_LI_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_LI_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_LI_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_LI_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_LI_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_LI_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_LI_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_LI_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_LI_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_LI_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_LI_Nom +salib= "Nom du site" +Fin d'initialisation de CMOD_LI_Nom +06/08/2026 Batik 4953 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LI_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LI_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LI_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LI_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LI_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LI_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_LI_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_LI_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_LI_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_LI_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_LI_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_LI_Nom ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4954 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_LI_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_LI_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_LI_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_LI_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_LI_Ville +salib = "Ville" +Fin d'initialisation de CMOD_LI_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LI_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LI_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LI_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LI_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LI_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LI_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_LI_Ville ) +06/08/2026 Batik 4955 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_LI_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_LI_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_LI_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_LI_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_LI_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_LI_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_LI_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_LI_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_LI_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Site" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +06/08/2026 Batik 4956 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Sélection du menu de MNU_Options.OPT_Creer +Creer() +Sélection du menu de MNU_Options.OPT_Modifier +Modifier() +Sélection du menu de MNU_Options.OPT_Supprimer +Supprimer() +FI_Liste_Contact +Procédures +Procédure locale Creer +procédure Creer() +06/08/2026 Batik 4957 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Procédures +tbaTbParam est un tableau associatif de chaînes ANSI +tbaTbParam[cParam_Fenetre] = cFI_Liste_ContactClient +si Ouvre(FEN_Fiche,tbaTbParam) alors +Filtrer() +fin +Procédure locale Filtrer +procédure Filtrer() +TableSupprimeTout(TABLE_Info) +ReqSQL est une chaîne +sCR est une chaîne +sdListeContact est une Source de Données +nTop est un entier = CMOD_NbLigne.CMB_Choix +saJoin est une chaîne ANSI +si nTop>0 _et_ CMOD_NbLigne.INT_Opt alors +ReqSQL=ChaîneConstruit("SELECT TOP %1 ",nTop) +sinon +ReqSQL="SELECT " +fin +ReqSQL+=[ +Personne.PE_PKID +,Personne.PE_Nom +,Personne.PE_Prenom +,Personne.PE_TelFixe +,Personne.PE_TelMobile +,Personne.PE_Email +,Personne.PE_CleRole +,PE_Email +] +ReqSQL+=[ +FROM Personne +] +si bSansClient alors +// si on effectue une recherche depuis cette fenêtre , le contact ne doit pas être lié avec une autre +client +sCR+=CritereHF(Vrai,Vrai,Personne.PE_IDClient..Nom,df_Zero) +sinon +si CMOD_CL_Nom.INT_Opt _ou_ CMOD_CL_Type.INT_Opt _ou_ CMOD_CL_Code.INT_Opt _ou_ CMOD_CL_Status.INT_ +Opt _ou_ CMOD_CL_Blocage.INT_Opt _ou_ CMOD_CL_CodeCompta.INT_Opt alors +saJoin += " INNER JOIN Client ON CL_PKID = PE_IDClient " +sCR+=CritereHF(CMOD_CL_Nom.INT_Opt,CMOD_CL_Nom.SAI_Choix,Client.CL_Nom..Nom,df_Milieutexte) +sCR+=CritereHF(CMOD_CL_Type.INT_Opt,CMOD_CL_Type.CMB_Choix,Client.CL_CleType..Nom, +df_TexteComplet) +sCR+=CritereHF(CMOD_CL_Code.INT_Opt,CMOD_CL_Code.SAI_Choix,Client.CL_CodeClient..Nom, +df_Milieutexte) +sCR+=CritereHF(CMOD_CL_Status.INT_Opt,CMOD_CL_Status.CMB_Choix,Client.CL_CleStatut..Nom, +df_TexteComplet) +sCR+=CritereHF(CMOD_CL_Blocage.INT_Opt,CMOD_CL_Blocage.CMB_Choix,Client.CL_Blocage..Nom, +df_Booleen) +sCR+=CritereHF(CMOD_CL_CodeCompta.INT_Opt,CMOD_CL_CodeCompta.SAI_Choix,Client.CL_CodeComptable. +.Nom,df_Milieutexte) +si tbaCriteresParam[Client.CL_PKID..Nom]..Existe alors // Appel de sous fenetre +sCR+=CritereHF(Vrai,tbaCriteresParam[Client.CL_PKID..Nom],Client.CL_PKID..Nom,df_Id) +fin +fin +06/08/2026 Batik 4958 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Procédures +fin +// Site +si CMOD_LI_Nom.INT_Opt alors +saJoin += " INNER JOIN Lieu_Personne ON LIP_IDPersonne = PE_PKID " +saJoin += " INNER JOIN Lieu Site_LI ON Site_LI.LI_PKID = LIP_IDLieu " +sCR+=CritereHF(CMOD_LI_Nom.INT_Opt,CMOD_LI_Nom.SAI_Choix,"Site_LI.LI_CodeLieu",df_Milieutexte) +si tbaCriteresParam[Lieu.LI_PKID..Nom]..Existe alors // Appel de sous fenetre +sCR+=CritereHF(Vrai,tbaCriteresParam[Lieu.LI_PKID..Nom],Lieu.LI_PKID..Nom,df_Id) +TableauSupprime(tbaCriteresParam,Lieu.LI_PKID..Nom) +fin +fin +si CMOD_LI_Adresse.INT_Opt ou CMOD_LI_CP.INT_Opt ou CMOD_LI_Ville.INT_Opt alors +si pas CMOD_LI_Nom.INT_Opt alors +saJoin += " INNER JOIN Lieu_Personne ON LIP_IDPersonne = PE_PKID " +saJoin += " INNER JOIN Lieu Site_LI ON Site_LI.LI_PKID = LIP_IDLieu " +fin +saJoin += " INNER JOIN Adresse AD_LI ON AD_LI.AD_PKID = Site_LI.LI_IDAdresse " +sCR+=CritereHF(CMOD_LI_CP.INT_Opt,CMOD_LI_CP.SAI_Choix,"AD_LI.AD_CodePostal",df_Milieutexte) +sCR+=CritereHF(CMOD_LI_Ville.INT_Opt,CMOD_LI_Ville.SAI_Choix,"AD_LI.AD_Ville",df_Milieutexte) +sCR+=CritereHF(CMOD_LI_Adresse.INT_Opt,CMOD_LI_Adresse.SAI_Choix,"AD_LI.AD_Presentation", +df_Milieutexte) +si tbaCriteresParam[Lieu.LI_PKID..Nom]..Existe alors // Appel de sous fenetre +sCR+=CritereHF(Vrai,tbaCriteresParam[Lieu.LI_PKID..Nom],Lieu.LI_PKID..Nom,df_Id) +fin +fin +// Contact +sCR+=CritereHF(CMOD_CT_Nom.INT_Opt,CMOD_CT_Nom.SAI_Choix,"CONCAT(PE_Nom, ' ', PE_Prenom)", +df_Milieutexte) +si CMOD_CT_Tel.INT_Opt _et_ CMOD_CT_Tel.SAI_Choix <> "" alors +sCR += " AND (Upper(PE_TelFixe) Like Upper('%"+StrSQL(CMOD_CT_Tel.SAI_Choix)+ +"%') OR Upper(PE_TelMobile) Like Upper('%"+StrSQL(CMOD_CT_Tel.SAI_Choix)+"%') ) " +fin +sCR+=CritereHF(CMOD_CT_Email.INT_Opt,CMOD_CT_Email.SAI_Choix,Personne.PE_Email..Nom,df_Milieutexte) +sCR+=CritereHF(CMOD_CT_Role.INT_Opt,CMOD_CT_Role.CMB_Choix,Personne.PE_CleRole..Nom,df_TexteComplet) +ReqSQL+=saJoin +ReqSQL+=[ +WHERE 1=1 +] +ReqSQL+=sCR +si sCR..Taille > 3 alors +CMOD_DateModif.INT_Opt = Faux +fin +si CMOD_DateModif.INT_Opt _et_ CMOD_DateModif.CMB_Choix <> Null _et_ CMOD_DateModif.CMB_Choix <> "" +alors +dhDateCpt est une DateHeure = DateHeureSys() +si gtabParametresMetierCode[cParam_PeriodeRqSql][CMOD_DateModif.CMB_Choix]..Existe alors +dhDateCpt..Jour-= Val(gtabParametresMetierCode[cParam_PeriodeRqSql][CMOD_DateModif.CMB_Choix]. +saParametre) +fin +ReqSQL+="AND Personne.ModifDate >= '"+dhDateCpt+"' " +fin +06/08/2026 Batik 4959 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Procédures +ReqSQL+=[ +ORDER BY Personne.ModifDate, PE_PKID DESC +] +nIdPers est un entier sur 8 octets +si HExécuteRequêteSQL(sdListeContact,ConnexionBase:Cnx,hRequêteDéfaut+hRequêteSansCorrection,ReqSQL) +alors +i est un entier +pour tout sdListeContact +si nIdPers <> sdListeContact.PE_PKID alors +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = sdListeContact.PE_PKID +COL_Nom[i] = sdListeContact.PE_Nom +COL_Prenom[i] = sdListeContact.PE_Prenom +COL_Tel1[i] = sdListeContact.PE_TelMobile +COL_Tel2[i] = sdListeContact.PE_TelFixe +COL_Email[i] = sdListeContact.PE_Email +COL_Role[i] = (sdListeContact.PE_CleRole <> "" _et_ +gtabParametresMetierCode[cParam_RoleContact][sdListeContact.PE_CleRole]..Existe ) ? +gtabParametresMetierCode[cParam_RoleContact][sdListeContact.PE_CleRole].saLibelle sinon "" +fin +nIdPers = sdListeContact.PE_PKID +fin +si i > 1 alors +ToastAffiche(i+" Enregistrements trouvés",toastCourt,cvMilieu) +sinon si i = 1 alors +ToastAffiche("1 Enregistrement trouvé",toastCourt,cvMilieu) +sinon +ToastAffiche("Aucun enregistrement trouvé",toastCourt,cvMilieu) +fin +TableauSupprimeTout(tbaCriteresParam) +// Appel de sous fenêtre / si l'utilisateur modifie la liste âpres , les critères de base ne doit +pas être pris en compte +fin +HLibèreRequête(sdListeContact) +Procédure locale FiltrerCriteres +procédure FiltrerCriteres(tbaCriteres est un tableau associatif de chaînes ANSI) +bFiltre est un booléen = Vrai +TableauSupprimeTout(tbaCriteresParam) +si tbaCriteres..Occurrence <= 0 alors +renvoyer Vrai +sinon +tbaCriteresParam = tbaCriteres +fin +pour tout saParam, saCle de tbaCriteresParam +si saParam <> "" alors +selon saCle +cas Client.CL_PKID..Nom // si l'id +client doit être a zéro aucun recherche avec le client doit être effectué +si Val(saParam) <= 0 alors +CMOD_Client..Visible = Faux +bSansClient = Vrai +si tbaCriteresParam..Occurrence <= 1 alors +bFiltre = Faux +fin +06/08/2026 Batik 4960 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Procédures +fin +cas Client.CL_Nom..Nom +CMOD_CL_Nom.INT_Opt = Vrai +CMOD_CL_Nom.SAI_Choix = saParam +cas Client.CL_CleType..Nom +CMOD_CL_Type.INT_Opt = Vrai +CMOD_CL_Type.CMB_Choix = saParam +cas Client.CL_CodeClient..Nom +CMOD_CL_Code.INT_Opt = Vrai +CMOD_CL_Code.SAI_Choix = saParam +cas Client.CL_CleStatut..Nom +CMOD_CL_Status.INT_Opt = Vrai +CMOD_CL_Status.CMB_Choix = saParam +cas Client.CL_Blocage..Nom +CMOD_CL_Blocage.INT_Opt = Vrai +CMOD_CL_Blocage.CMB_Choix = saParam +cas Client.CL_CodeComptable..Nom +CMOD_CL_CodeCompta.INT_Opt = Vrai +CMOD_CL_CodeCompta.SAI_Choix = saParam +cas Lieu.LI_CodeLieu..Nom +CMOD_LI_Nom.INT_Opt = Vrai +CMOD_LI_Nom.SAI_Choix = saParam +cas Adresse.AD_CodePostal..Nom +CMOD_LI_CP.INT_Opt = Vrai +CMOD_LI_CP.SAI_Choix = saParam +cas Adresse.AD_Ville..Nom +CMOD_LI_Ville.INT_Opt = Vrai +CMOD_LI_Ville.SAI_Choix = saParam +cas Adresse.AD_Presentation..Nom +CMOD_LI_Adresse.INT_Opt = Vrai +CMOD_LI_Adresse.SAI_Choix = saParam +cas Personne.PE_Nom..Nom +CMOD_CT_Nom.INT_Opt = Vrai +CMOD_CT_Nom.SAI_Choix = saParam +cas Personne.PE_TelFixe..Nom +CMOD_CT_Tel.INT_Opt = Vrai +CMOD_CT_Tel.SAI_Choix = saParam +cas Personne.PE_Email..Nom +CMOD_CT_Email.INT_Opt = Vrai +CMOD_CT_Email.SAI_Choix = saParam +cas Personne.PE_CleRole..Nom +CMOD_CT_Role.INT_Opt = Vrai +CMOD_CT_Role.CMB_Choix = saParam +autre cas +fin +fin +fin +si bFiltre alors +Filtrer() +fin +Procédure locale Modifier +06/08/2026 Batik 4961 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact › Procédures +procédure Modifier() +SelLigneTable() +Procédure locale SelLigneTable +procédure SelLigneTable() +si TABLE_Info > 0 _et_ COL_PKID[TABLE_Info] > 0 alors +si saNomFen <> "" alors +si FenEtat(saNomFen) <> Inexistant alors +selon saNomFen +cas cFEN_Choix_Liste +ExécuteTraitement(FEN_Choix_Liste.SelectionLigneFenInt,trtProcédure,COL_PKID[ +TABLE_Info]) +autre cas +fin +fin +sinon +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[Personne.PE_PKID..Nom] = COL_PKID[TABLE_Info] +tbaParam[cParam_IdFen] = COL_PKID[TABLE_Info] +OuvreFenSouers("FEN_Fiche_Contact",tbaParam) +fin +fin +Procédure locale Supprimer +procédure Supprimer() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 alors +si HLitRecherchePremier(Personne,PE_PKID,COL_PKID[i]) alors +oUnCtc est un MPersonne_Ct +FichierVersMémoire(oUnCtc,Personne) +si oUnCtc:Supprimer() alors +TableSupprime(TABLE_Info,i) +fin +fin +fin +06/08/2026 Batik 4962 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › Image +FI_TdB_Liste_Site_Client +Image +FI_TdB_Liste_Site_Client +Informations générales +FI_TdB_Liste_Site_Client +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TdB_Liste_Site_Client.wdw +| Créé par | | SMR | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | --- | +| Date de création | | 17/07/2025 15:19:50 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 09/10/2025 08:58:53 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 704 | 158 | +| Position X | Position Y | | Largeur | Hauteur | | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------ | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| 06/08/2026 | | | Batik | | 4963 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › Informations générales +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 1 +Table 1 Forme 1 +Fenêtre interne 1 Champ Modèle de champs 4 +Option de menu 5 Colonne de table 9 +Nombre d'éléments dans la fenêtre : 23 +FI_TdB_Liste_Site_Client +Informations sur les champs +06/08/2026 Batik 4964 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › Informations sur les champs +Fenêtre : FI_TdB_Liste_Site_Client +Fenêtre interne +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| FI_TdB_Liste_Site_Client | 0 | 0 704 | 158 | 0 | | | +| ------------------------ | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdB_Liste_Site_Client +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Img | 7 | 3 29 | 24 | 0 | Actif | | +| ---------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_Ligne | 0 | 29 704 | 8 | 0 | Actif | | +| CMOD_Table | 0 | 37 704 | 121 | 0 | Actif | | +| CMOD_Titre | 40 | 3 660 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_TdB_Liste_Site_Client.CMOD_Img +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | --- | --- | ------------ | --- | ---------- | +cilc cevA +ruegraL ruetuaH +elbisiV +nalP +| IMG_Icone | 7 3 | 29 24 | 0 | Actif | | | +| --------- | --- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_TdB_Liste_Site_Client.CMOD_Ligne +| 06/08/2026 | | Batik | | | | 4965 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › Informations sur les champs +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_Sep | | | 0 | 30 | 704 | | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Liste_Site_Client.CMOD_Table +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 | | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | | +ruegraL +| | | | | elbisiV | elbaT | | | | | | +| --- | --- | --- | --- | ------- | ----- | --- | --- | --- | --- | --- | +nalP +| TABLE_Info | 2 39 | 698 115 | 0 | affichag | Mémoir | | | | | 1 | +| ---------- | ---- | ------- | --- | -------- | ------ | --- | --- | --- | --- | --- | +Table : FI_TdB_Liste_Site_Client.CMOD_Table.TABLE_Info +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_PKID | | 880 | Grisé | | | Droite | Centre | Numériq | | | +| COL_Principal | | 52 | Actif | | | Centre | Centre | | | | +| COL_Nom | | 86 | Actif | | | Gauche | Centre | Texte | | | +| COL_Type | | 94 | Actif | | | Gauche | Centre | Texte | | | +| COL_Adresse | | 97 | Actif | | | Gauche | Centre | Texte | | | +| COL_Ville | | 90 | Actif | | | Gauche | Centre | Texte | | | +| COL_Cp | | 104 | Actif | | | Gauche | Centre | Texte | | | +| COL_Note | | 80 | Actif | | | Gauche | Centre | Texte | | | +| COL_Bloque | | 76 | Actif | | | Centre | Centre | | | | +| 06/08/2026 | | | | Batik | | | | | | 4966 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Site_Client.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +X noitisoP Y noitisoP laitini tatE +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 40 3 | 660 26 | 0 Actif | Gauche | Centre | | +| ------- | ---- | ------ | ------- | ------ | ------ | --- | +Fenêtre : FI_TdB_Liste_Site_Client +Fenêtre interne : FI_TdB_Liste_Site_Client +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +| Facteur d'agrandissement | 0 | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | +| Ancrage | <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_TdB_Liste_Site_Client +| 06/08/2026 | | Batik | | | | 4967 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Site_Client.CMOD_Img +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Liste_Site_Client.CMOD_Ligne +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4968 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Site_Client.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Liste_Site_Client.CMOD_Titre +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4969 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Site_Client.CMOD_Img +Image : FI_TdB_Liste_Site_Client.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Site_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 4970 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Site_Client.CMOD_Ligne +Forme : FI_TdB_Liste_Site_Client.CMOD_Ligne.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Liste_Site_Client.CMOD_Table +Table : FI_TdB_Liste_Site_Client.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +06/08/2026 Batik 4971 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › Informations sur les champs +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 +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 +06/08/2026 Batik 4972 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › Informations sur les champs +Table : FI_TdB_Liste_Site_Client.CMOD_Table.TABLE_Info +Colonne de table : FI_TdB_Liste_Site_Client.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : FI_TdB_Liste_Site_Client.CMOD_Table.TABLE_Info.COL_Principal (2) +Titre FR: Pcpl +Curseur survol 0 +UI par l'utilisateur <Aucun> +Bouton Calculatrice Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Bulle d'aide FR: Principal +Numéro aide 0 +Bandeau visible Oui +06/08/2026 Batik 4973 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › 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 100 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Liste_Site_Client.CMOD_Table.TABLE_Info.COL_Nom (3) +Titre FR: Site +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 150 Taux anc. hauteur 1000 +06/08/2026 Batik 4974 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › Informations sur les champs +Colonne de table : FI_TdB_Liste_Site_Client.CMOD_Table.TABLE_Info.COL_Type (4) +Titre FR: Type +Curseur survol 0 +UI par l'utilisateur <Aucun> +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 94 +Larg. déroulée perso. Non +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 +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 140 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Liste_Site_Client.CMOD_Table.TABLE_Info.COL_Adresse (5) +Titre FR: Adresse +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 +06/08/2026 Batik 4975 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › Informations sur les champs +Masque saisie FR: 0 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Liste_Site_Client.CMOD_Table.TABLE_Info.COL_Ville (6) +Titre FR: Ville +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 130 Taux anc. hauteur 1000 +06/08/2026 Batik 4976 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › Informations sur les champs +Colonne de table : FI_TdB_Liste_Site_Client.CMOD_Table.TABLE_Info.COL_Cp (7) +Titre FR: Code postal +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 100 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Liste_Site_Client.CMOD_Table.TABLE_Info.COL_Note (8) +Titre FR: Note +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 +06/08/2026 Batik 4977 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › 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 130 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Liste_Site_Client.CMOD_Table.TABLE_Info.COL_Bloque (9) +Titre FR: Bloqué +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 50 Taux anc. hauteur 1000 +06/08/2026 Batik 4978 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Site_Client.CMOD_Titre +Libellé : FI_TdB_Liste_Site_Client.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TdB_Liste_Site_Client +Informations sur les menus +06/08/2026 Batik 4979 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Creer (2) +OPT_Modifier_le_site (3) +OPT_Rattacher_un_site (5) +OPT_Supprimer_le_site_de_la_liste (4) +Libellé des options : Français +Créer un site +Modifier le site +Rattacher un site +Supprimer le site de la liste +FI_TdB_Liste_Site_Client +Code des champs +Déclarations globales de FI_TdB_Liste_Site_Client +procédure FI_TdB_Liste_Site_Client() +nIdClient est un entier sur 8 octets +tbaSites est un tableau associatif de MLieu +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4980 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ligne +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 4981 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +06/08/2026 Batik 4982 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ModifierSite() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_Type ( TABLE_Info ) +06/08/2026 Batik 4983 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › Code des champs +InitChamp(MoiMême.NomComplet,cparam_TypeLieu,Vrai,MoiMême) +Déclarations globales de CMOD_Titre +salib = "Sites" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Sélection du menu de MNU_Options.OPT_Creer +CreerSite() +Sélection du menu de MNU_Options.OPT_Modifier_le_site +ModifierSite() +Sélection du menu de MNU_Options.OPT_Rattacher_un_site +06/08/2026 Batik 4984 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › Code des champs +RattacherSite() +Sélection du menu de MNU_Options.OPT_Supprimer_le_site_de_la_liste +SupprimerSite() +FI_TdB_Liste_Site_Client +Procédures +Procédure locale CreerSite +procédure CreerSite() +si nIdClient > 0 alors +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[cParam_Fenetre] = cFI_Liste_ClientSite +tbaParam[Lieu.LI_PKID..Nom] = 0 +tbaParam[Client.CL_PKID..Nom] = nIdClient +nIdSite est un entier sur 8 octets +bOk est un booléen +(bOk, nIdSite) = Ouvre(FEN_Fiche,tbaParam) +si nIdClient > 0 _et_ bOk _et_ nIdSite > 0 alors +HRAZ(Client_Lieu) +Client_Lieu.CLI_IDClient = nIdClient +Client_Lieu.CLI_IDLieu = nIdSite +Client_Lieu.CreationUser = CollaborateurEnCours.nIdUser +Client_Lieu.ModifUser = CollaborateurEnCours.nIdUser +Client_Lieu.CreationDate = DateHeureSys() +Client_Lieu.ModifDate = DateHeureSys() +si pas HAjoute(Client_Lieu) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur s'est produite, le site n'a pas pu être lié au client.") +renvoyer Faux +sinon +Filtrer(nIdClient) +fin +fin +fin +Procédure locale Filtrer +procédure Filtrer(nId est un entier sur 8 octets) +nIdClient = nId +TableSupprimeTout(TABLE_Info) +TableauSupprimeTout(tbaSites) +si nIdClient <= 0 alors +retour +fin +06/08/2026 Batik 4985 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › Procédures +odUnSiteest un MLieu dynamique +RqSite est une Requête SQL = +[ +SELECT Lieu.*,Adresse.*,Client.CL_IDLieuPrincipal +FROM Client_Lieu +LEFT OUTER JOIN Lieu ON Lieu.LI_PKID=Client_Lieu.CLI_IDLieu +INNER JOIN Adresse ON Adresse.AD_PKID=Lieu.LI_IDAdresse +LEFT OUTER JOIN Client ON (Client.CL_PKID=Client_Lieu.CLI_IDClient) +WHERE Client_Lieu.CLI_IDClient={P_IdClient} AND Lieu.Archive=0 +] +RqSite.P_IdClient = nIdClient +si pas HExécuteRequêteSQL(RqSite) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Liste_Site_Client.Filtrer") +sinon +pour tout RqSite +odUnSite = allouer un MLieu +FichierVersMémoire(odUnSite,RqSite) +FichierVersMémoire(odUnSite.oAdresse,RqSite) +si RqSite.CL_IDLieuPrincipal = RqSite.LI_PKID alors +odUnSite.bLieuPrincipal = Vrai +fin +tbaSites[RqSite.LI_PKID] = odUnSite +fin +fin +i est un entier +pour tout oUnSite de tbaSites +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = oUnSite:nPKID +COL_Principal[i] = oUnSite:bLieuPrincipal +COL_Nom[i] = oUnSite:saCodeLieu +COL_Type[i] = oUnSite:saCleType +COL_Adresse[i] = oUnSite.oAdresse.saAdresse +COL_Ville[i] = oUnSite:oAdresse.saVille +COL_Cp[i] = oUnSite:oAdresse.saCodePostal +COL_Note[i] = oUnSite:saNote +COL_Bloque[i] = oUnSite:bBlocage +fin +Procédure locale ModifierSite +procédure ModifierSite() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 alors +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[cParam_Fenetre] = cFI_Liste_ClientSite +tbaParam[Lieu.LI_PKID..Nom] = COL_PKID[i] +tbaParam[cParam_IdFen] = COL_PKID[i] +OuvreFenSouers("FEN_Fiche_Site",tbaParam) +fin +Procédure locale RattacherSite +procédure RattacherSite() +06/08/2026 Batik 4986 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Client › Procédures +nIdSite est un entier sur 8 octets +nIdSite = Ouvre(FEN_Choix_Liste,cFI_Liste_ClientSite) +si nIdClient > 0 _et_ nIdSite > 0 alors +HRAZ(Client_Lieu) +Client_Lieu.CLI_IDClient = nIdClient +Client_Lieu.CLI_IDLieu = nIdSite +Client_Lieu.CreationUser = CollaborateurEnCours.nIdUser +Client_Lieu.ModifUser = CollaborateurEnCours.nIdUser +Client_Lieu.CreationDate = DateHeureSys() +Client_Lieu.ModifDate = DateHeureSys() +si pas HAjoute(Client_Lieu) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur s'est produite, le site n'a pas pu être lié au client.") +renvoyer Faux +sinon +Filtrer(nIdClient) +fin +fin +Procédure locale SupprimerSite +procédure SupprimerSite() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaSites[COL_PKID[i]]..Existe alors +saQuestion est une chaîne ANSI = "Êtes-vous sûr de vouloir supprimer le site "+tbaSites[COL_PKID[i] +].saCodeLieu+" de cette liste ?" +si OuiNon(saQuestion) = Non alors +renvoyer Faux +fin +//1 : Supprimer la liaison +//2 : Supprimer entièrement +selon Dialogue( +"Souhaitez-vous supprimer uniquement la liaison avec le client ou supprimer totalement le site %1", +tbaSites[COL_PKID[i]].saCodeLieu) +cas 1 +reqSupClient est une Requête SQL = +[ +DELETE FROM Client_Lieu WHERE Client_Lieu.CLI_IDLieu = {p_IdLieu} +] +reqSupClient.p_IdLieu = COL_PKID[i] +si pas HExécuteRequêteSQL(reqSupClient,hVérifieIntégrité) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Erreur lors de la suppression de l'enregistrement site", +"FI_TdB_Liste_Site_Client.SupprimerSite") +renvoyer Faux +sinon +TableauSupprime(tbaSites,COL_PKID[i]) +TableSupprime(TABLE_Info,i) +fin +cas 2 +si tbaSites[COL_PKID[i]].Supprimer() alors +TableauSupprime(tbaSites,COL_PKID[i]) +TableSupprime(TABLE_Info,i) +fin +fin +fin +06/08/2026 Batik 4987 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Image +FI_TdB_Liste_Site_Contact +Image +FI_TdB_Liste_Site_Contact +Informations générales +FI_TdB_Liste_Site_Contact +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TdB_Liste_Site_Contact.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 17/07/2025 15:19:50 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 09/10/2025 08:58:53 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 605 Hauteur | 182 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------ | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 4988 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Informations générales +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 1 +Table 1 Forme 1 +Fenêtre interne 1 Champ Modèle de champs 4 +Option de menu 5 Colonne de table 8 +Nombre d'éléments dans la fenêtre : 22 +FI_TdB_Liste_Site_Contact +Informations sur les champs +06/08/2026 Batik 4989 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Informations sur les champs +Fenêtre : FI_TdB_Liste_Site_Contact +Fenêtre interne +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| FI_TdB_Liste_Site_Contact | 0 | 0 605 | 182 | 0 | | | +| ------------------------- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdB_Liste_Site_Contact +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Img | 7 | 3 29 | 24 | 0 | Actif | | +| ---------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_Ligne | 0 | 29 605 | 8 | 0 | Actif | | +| CMOD_Table | 2 | 33 599 | 145 | 0 | Actif | | +| CMOD_Titre | 40 | 3 561 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_TdB_Liste_Site_Contact.CMOD_Img +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | --- | --- | ------------ | --- | ---------- | +cilc cevA +ruegraL ruetuaH +elbisiV +nalP +| IMG_Icone | 7 3 | 29 24 | 0 | Actif | | | +| --------- | --- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_TdB_Liste_Site_Contact.CMOD_Ligne +| 06/08/2026 | | Batik | | | | 4990 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Informations sur les champs +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_Sep | | | 0 | 30 | 605 | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Liste_Site_Contact.CMOD_Table +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 | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | +ruegraL +| | | | | elbisiV | elbaT | | | | | +| --- | --- | --- | --- | ------- | ----- | --- | --- | --- | --- | +nalP +| TABLE_Info | 4 35 | 593 139 | 0 | Actif | Mémoir | | | | 1 | +| ---------- | ---- | ------- | --- | ----- | ------ | --- | --- | --- | --- | +Table : FI_TdB_Liste_Site_Contact.CMOD_Table.TABLE_Info +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_PKID | | 880 | Grisé | | | Droite Centre | Numériq | | | +| COL_Nom | | 91 | affichag | | | Gauche Centre | Texte | | | +| COL_Role | | 94 | Actif | | | Gauche Centre | Texte | | | +| COL_Adresse | | 93 | affichag | | | Gauche Centre | Texte | | | +| COL_Ville | | 70 | affichag | | | Gauche Centre | Texte | | | +| COL_Cp | | 103 | affichag | | | Gauche Centre | Texte | | | +| COL_Etage | | 61 | Actif | | | Gauche Centre | Texte | | | +| COL_Lot | | 61 | Actif | | | Gauche Centre | Texte | | | +| 06/08/2026 | | | | Batik | | | | | 4991 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Site_Contact.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +X noitisoP Y noitisoP laitini tatE +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 40 3 | 561 26 | 0 Actif | Gauche | Centre | | +| ------- | ---- | ------ | ------- | ------ | ------ | --- | +Fenêtre : FI_TdB_Liste_Site_Contact +Fenêtre interne : FI_TdB_Liste_Site_Contact +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +| Facteur d'agrandissement | 0 | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | +| Ancrage | <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_TdB_Liste_Site_Contact +| 06/08/2026 | | Batik | | | | 4992 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Site_Contact.CMOD_Img +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Liste_Site_Contact.CMOD_Ligne +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4993 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Site_Contact.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Liste_Site_Contact.CMOD_Titre +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 4994 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Site_Contact.CMOD_Img +Image : FI_TdB_Liste_Site_Contact.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Site_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 4995 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Site_Contact.CMOD_Ligne +Forme : FI_TdB_Liste_Site_Contact.CMOD_Ligne.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Liste_Site_Contact.CMOD_Table +Table : FI_TdB_Liste_Site_Contact.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +06/08/2026 Batik 4996 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Informations sur les champs +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 +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 +06/08/2026 Batik 4997 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Informations sur les champs +Table : FI_TdB_Liste_Site_Contact.CMOD_Table.TABLE_Info +Colonne de table : FI_TdB_Liste_Site_Contact.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : FI_TdB_Liste_Site_Contact.CMOD_Table.TABLE_Info.COL_Nom (2) +Titre FR: Site +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Menu contextuel MNU_Options +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +06/08/2026 Batik 4998 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Informations sur les champs +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 200 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Liste_Site_Contact.CMOD_Table.TABLE_Info.COL_Role (3) +Titre FR: Rôle +Curseur survol 0 +UI par l'utilisateur <Aucun> +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 94 +Larg. déroulée perso. Non +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 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +06/08/2026 Batik 4999 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Informations sur les champs +Colonne de table : FI_TdB_Liste_Site_Contact.CMOD_Table.TABLE_Info.COL_Adresse (4) +Titre FR: Adresse +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Menu contextuel MNU_Options +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 200 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Liste_Site_Contact.CMOD_Table.TABLE_Info.COL_Ville (5) +Titre FR: Ville +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Menu contextuel MNU_Options +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 +06/08/2026 Batik 5000 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Informations sur les champs +Mot de passe Non +Masque saisie FR: 0 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 160 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Liste_Site_Contact.CMOD_Table.TABLE_Info.COL_Cp (6) +Titre FR: Code postal +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Menu contextuel MNU_Options +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 100 Taux anc. hauteur 1000 +06/08/2026 Batik 5001 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Informations sur les champs +Colonne de table : FI_TdB_Liste_Site_Contact.CMOD_Table.TABLE_Info.COL_Etage (7) +Titre FR: Etage +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 70 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Liste_Site_Contact.CMOD_Table.TABLE_Info.COL_Lot (8) +Titre FR: Lot +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 +06/08/2026 Batik 5002 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › 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 70 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Liste_Site_Contact.CMOD_Titre +Libellé : FI_TdB_Liste_Site_Contact.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 +06/08/2026 Batik 5003 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TdB_Liste_Site_Contact +Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Creer (2) +OPT_Modifier (3) +OPT_Rattacher (5) +OPT_Supprimer (4) +Libellé des options : Français +Créer un site +Modifier le site +Rattacher un site +Supprimer le lien avec le site +FI_TdB_Liste_Site_Contact +Code des champs +Déclarations globales de FI_TdB_Liste_Site_Contact +procédure FI_TdB_Liste_Site_Contact() +saFenetre est une chaîne ANSI +nIdContact est un entier sur 8 octets +tbaSites est un tableau associatif de MLieu +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +06/08/2026 Batik 5004 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ligne +06/08/2026 Batik 5005 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5006 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Code des champs +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ModifierSite() +Sortie de COL_Etage ( TABLE_Info ) +i est un entier = TABLE_Info +06/08/2026 Batik 5007 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Code des champs +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaSites[COL_PKID[i]]..Existe _et_ tbaSites[COL_PKID[i]].saEtage <> +COL_Etage[i] _et_ tbaSites[COL_PKID[i]].nIdLiesonCtc > 0 alors +saEtage est une chaîne ANSI = tbaSites[COL_PKID[i]].saEtage +tbaSites[COL_PKID[i]].saEtage = COL_Etage[i] +si pas HLitRecherchePremier(Lieu_Personne,LIP_PKID,tbaSites[COL_PKID[i]].nIdLiesonCtc) alors +COL_Etage[i] = saEtage +tbaSites[COL_PKID[i]].saEtage = saEtage +sinon +Lieu_Personne.LIP_Etage = tbaSites[COL_PKID[i]].saEtage +Lieu_Personne.ModifDate = DateHeureSys() +Lieu_Personne.ModifUser = CollaborateurEnCours.nIdUser +si pas HEnregistre(Lieu_Personne) alors +COL_Etage[i] = saEtage +tbaSites[COL_PKID[i]].saEtage = saEtage +fin +fin +fin +Sortie de COL_Lot ( TABLE_Info ) +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaSites[COL_PKID[i]]..Existe _et_ tbaSites[COL_PKID[i]].saLot <> +COL_Lot[i] _et_ tbaSites[COL_PKID[i]].nIdLiesonCtc > 0 alors +saLot est une chaîne ANSI = tbaSites[COL_PKID[i]].saLot +tbaSites[COL_PKID[i]].saLot = COL_Lot[i] +si pas HLitRecherchePremier(Lieu_Personne,LIP_PKID,tbaSites[COL_PKID[i]].nIdLiesonCtc) alors +COL_Lot[i] = saLot +tbaSites[COL_PKID[i]].saLot = saLot +sinon +Lieu_Personne.LIP_Lot= tbaSites[COL_PKID[i]].saLot +Lieu_Personne.ModifDate = DateHeureSys() +Lieu_Personne.ModifUser = CollaborateurEnCours.nIdUser +si pas HEnregistre(Lieu_Personne) alors +COL_Lot[i] = saLot +tbaSites[COL_PKID[i]].saLot = saLot +fin +fin +fin +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_Role ( TABLE_Info ) +06/08/2026 Batik 5008 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Code des champs +InitChamp(MoiMême.NomComplet,cParam_RoleContact,Vrai,MoiMême) +Sélection d'une ligne de COL_Role ( TABLE_Info ) +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaSites[COL_PKID[i]]..Existe _et_ tbaSites[COL_PKID[i]]. +saCleRoleLien <> COL_Role[i] _et_ tbaSites[COL_PKID[i]].nIdLiesonCtc > 0 alors +saRole est une chaîne ANSI = tbaSites[COL_PKID[i]].saCleRoleLien +tbaSites[COL_PKID[i]].saCleRoleLien = COL_Role[i] +si pas HLitRecherchePremier(Lieu_Personne,LIP_PKID,tbaSites[COL_PKID[i]].nIdLiesonCtc) alors +COL_Role[i] = saRole +tbaSites[COL_PKID[i]].saCleRoleLien = saRole +sinon +Lieu_Personne.LIP_CleRole = tbaSites[COL_PKID[i]].saCleRoleLien +si tbaSites[COL_PKID[i]].saCleRoleLien <> "" _et_ gtabParametresMetierCode[cParam_RoleContact][ +tbaSites[COL_PKID[i]].saCleRoleLien]..Existe _et_... +gtabParametresMetierCode[cParam_RoleContact][tbaSites[COL_PKID[i]].saCleRoleLien].nPKID > +0 alors +Lieu_Personne.LIP_IDRole = gtabParametresMetierCode[cParam_RoleContact][tbaSites[COL_PKID[ +i]].saCleRoleLien].nPKID +sinon +Lieu_Personne.LIP_IDRole = 0 +fin +Lieu_Personne.ModifDate = DateHeureSys() +Lieu_Personne.ModifUser = CollaborateurEnCours.nIdUser +si pas HEnregistre(Lieu_Personne) alors +COL_Role[i] = saRole +tbaSites[COL_PKID[i]].saCleRoleLien = saRole +fin +fin +fin +Déclarations globales de CMOD_Titre +salib = "Sites" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +06/08/2026 Batik 5009 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Sélection du menu de MNU_Options.OPT_Creer +CreerSite() +Sélection du menu de MNU_Options.OPT_Modifier +ModifierSite() +Sélection du menu de MNU_Options.OPT_Rattacher +RattacherSite() +Sélection du menu de MNU_Options.OPT_Supprimer +SupprimerSite() +FI_TdB_Liste_Site_Contact +Procédures +Procédure locale CreerSite +procédure CreerSite() +si nIdContact > 0 _et_ HLitRecherchePremier(Personne,PE_PKID,nIdContact) alors +nIdClient est un entier sur 8 octets = Personne.PE_IDClient +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[cParam_Fenetre] = cFI_Liste_ClientSite +tbaParam[Lieu.LI_PKID..Nom] = 0 +06/08/2026 Batik 5010 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Procédures +tbaParam[Client.CL_PKID..Nom] = Personne.PE_IDClient +nIdSite est un entier sur 8 octets +bOk est un booléen +(bOk, nIdSite) = Ouvre(FEN_Fiche,tbaParam) +si bOk _et_ nIdSite > 0 alors +si nIdClient > 0 alors +bExiste est un booléen = Faux +saCle est une chaîne ANSI = HFiltre(Client_Lieu, "CLI_IDLieu="+nIdSite+ +" ET CLI_IDClient=" +nIdClient) +HLitPremier(Client_Lieu, saCle) +tantque HEnDehors(Client_Lieu) = Faux +si Client_Lieu.CLI_PKID > 0 alors +bExiste = Vrai +sortir +fin +HLitSuivant(Client_Lieu,saCle) +fin +si pas bExiste alors +HRAZ(Client_Lieu) +Client_Lieu.CLI_IDClient = nIdClient +Client_Lieu.CLI_IDLieu = nIdSite +Client_Lieu.CreationUser = CollaborateurEnCours.nIdUser +Client_Lieu.ModifUser = CollaborateurEnCours.nIdUser +Client_Lieu.CreationDate = DateHeureSys() +Client_Lieu.ModifDate = DateHeureSys() +si pas HAjoute(Client_Lieu) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur s'est produite, le site n'a pas pu être lié au client.") +renvoyer Faux +fin +fin +fin +HRAZ(Lieu_Personne) +Lieu_Personne.LIP_IDLieu = nIdSite +Lieu_Personne.LIP_IDPersonne = nIdContact +Lieu_Personne.CreationDate = DateHeureSys() +Lieu_Personne.ModifDate = DateHeureSys() +Lieu_Personne.ModifUser = CollaborateurEnCours.nIdUser +Lieu_Personne.CreationUser = CollaborateurEnCours.nIdUser +si pas HAjoute(Lieu_Personne) alors +UneErreur:Init(ErreurApp.ErreurHFSQL,"Erreur lors de l'enregistrement contact - site") +renvoyer Faux +fin +Filtrer(nIdContact) +fin +fin +Procédure locale Filtrer +procédure Filtrer(nId est un entier sur 8 octets) +nIdContact = nId +TableSupprimeTout(TABLE_Info) +TableauSupprimeTout(tbaSites) +06/08/2026 Batik 5011 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Procédures +si nIdContact <= 0 alors +retour +fin +odUnSiteest un MLieu dynamique +RqSite est une Requête SQL = +[ +SELECT Lieu.*,Adresse.*, LIP_Etage, LIP_Lot,LIP_PKID,LIP_CleRole +FROM Lieu_Personne +LEFT OUTER JOIN Lieu ON Lieu.LI_PKID=Lieu_Personne.LIP_IDLieu +LEFT OUTER JOIN Adresse ON Adresse.AD_PKID=Lieu.LI_IDAdresse +WHERE Lieu_Personne.LIP_IDPersonne={P_IdPersonne} AND Lieu.Archive=0 +] +RqSite.P_IdPersonne = nIdContact +si pas HExécuteRequêteSQL(RqSite) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Liste_Site_Contact.Filtrer") +sinon +pour tout RqSite +odUnSite = allouer un MLieu +FichierVersMémoire(odUnSite,RqSite) +odUnSite.saEtage = RqSite.LIP_Etage +odUnSite.saLot = RqSite.lip_lot +odUnSite.nIdLiesonCtc = RqSite.LIP_PKID +odUnSite.saCleRoleLien = RqSite.LIP_CleRole +FichierVersMémoire(odUnSite.oAdresse,RqSite) +tbaSites[RqSite.LI_PKID] = odUnSite +fin +fin +i est un entier +pour tout oUnSite de tbaSites +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = oUnSite:nPKID +COL_Nom[i] = oUnSite:saCodeLieu +COL_Role[i] = oUnSite:saCleRoleLien +COL_Adresse[i] = oUnSite.oAdresse.saAdresse +COL_Ville[i] = oUnSite:oAdresse.saVille +COL_Cp[i] = oUnSite:oAdresse.saCodePostal +COL_Etage[i] = oUnSite:saEtage +COL_Lot[i] = oUnSite:salot +fin +Procédure locale ModifierSite +procédure ModifierSite() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 alors +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[cParam_Fenetre] = cFI_Liste_ContactSite +tbaParam[Lieu.LI_PKID..Nom] = COL_PKID[i] +tbaParam[cParam_IdFen] = COL_PKID[i] +OuvreFenSouers("FEN_Fiche_Site",tbaParam) +fin +Procédure locale RattacherSite +06/08/2026 Batik 5012 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Procédures +procédure RattacherSite() +nIdSite est un entier sur 8 octets +nIdSite = Ouvre(FEN_Choix_Liste,cFI_Liste_ContactSite) +si nIdContact > 0 _et_ nIdSite > 0 _et_ HLitRecherchePremier(Personne,PE_PKID,nIdContact) alors +nIdClient est un entier sur 8 octets = Personne.PE_IDClient +si nIdClient > 0 alors +bExiste est un booléen = Faux +saCle est une chaîne ANSI = HFiltre(Client_Lieu, "CLI_IDLieu="+nIdSite+" ET CLI_IDClient=" ++nIdClient) +HLitPremier(Client_Lieu, saCle) +tantque HEnDehors(Client_Lieu) = Faux +si Client_Lieu.CLI_PKID > 0 alors +bExiste = Vrai +sortir +fin +HLitSuivant(Client_Lieu,saCle) +fin +si pas bExiste alors +HRAZ(Client_Lieu) +Client_Lieu.CLI_IDClient = nIdClient +Client_Lieu.CLI_IDLieu = nIdSite +Client_Lieu.CreationUser = CollaborateurEnCours.nIdUser +Client_Lieu.ModifUser = CollaborateurEnCours.nIdUser +Client_Lieu.CreationDate = DateHeureSys() +Client_Lieu.ModifDate = DateHeureSys() +si pas HAjoute(Client_Lieu) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur s'est produite, le site n'a pas pu être lié au client.") +renvoyer Faux +fin +fin +fin +HRAZ(Lieu_Personne) +Lieu_Personne.LIP_IDLieu = nIdSite +Lieu_Personne.LIP_IDPersonne = nIdContact +Lieu_Personne.CreationDate = DateHeureSys() +Lieu_Personne.ModifDate = DateHeureSys() +Lieu_Personne.ModifUser = CollaborateurEnCours.nIdUser +Lieu_Personne.CreationUser = CollaborateurEnCours.nIdUser +si pas HAjoute(Lieu_Personne) alors +UneErreur:Init(ErreurApp.ErreurHFSQL,"Erreur lors de l'enregistrement contact - site") +renvoyer Faux +fin +Filtrer(nIdContact) +fin +Procédure locale SupprimerSite +procédure SupprimerSite() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaSites[COL_PKID[i]]..Existe alors +saQuestion est une chaîne ANSI = "Êtes-vous sûr de vouloir supprimer le site "+tbaSites[COL_PKID[i] +].saCodeLieu+" de cette liste ?" +si OuiNon(saQuestion) = Non alors +06/08/2026 Batik 5013 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Site_Contact › Procédures +renvoyer Faux +fin +//1 : Supprimer la liaison +//2 : Supprimer entièrement +selon Dialogue( +"Souhaitez-vous supprimer uniquement la liaison avec le contact ou supprimer totalement le site %1" +, tbaSites[COL_PKID[i]].saCodeLieu) +cas 1 +reqSupContact est une Requête SQL = +[ +DELETE FROM Lieu_Personne WHERE Lieu_Personne.LIP_IDLieu = {p_IdLieu} +] +reqSupContact.p_IdLieu = COL_PKID[i] +si pas HExécuteRequêteSQL(reqSupContact,hVérifieIntégrité) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Erreur lors de la suppression de l'enregistrement site", +"FI_TdB_Liste_Site_Contact.SupprimerSite") +renvoyer Faux +sinon +TableauSupprime(tbaSites,COL_PKID[i]) +TableSupprime(TABLE_Info,i) +fin +cas 2 +si tbaSites[COL_PKID[i]].Supprimer() alors +TableauSupprime(tbaSites,COL_PKID[i]) +TableSupprime(TABLE_Info,i) +fin +fin +fin +06/08/2026 Batik 5014 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Contact_Client › Image +FI_TdB_Contact_Client +Image +FI_TdB_Contact_Client +Informations générales +FI_TdB_Contact_Client +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TdB_Contact_Client.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 18/07/2025 09:14:55 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 09/10/2025 08:58:53 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 626 Hauteur | 178 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------ | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 5015 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Contact_Client › Informations générales +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 1 +Table 1 Forme 1 +Fenêtre interne 1 Champ Modèle de champs 4 +Option de menu 5 Colonne de table 6 +Nombre d'éléments dans la fenêtre : 20 +FI_TdB_Contact_Client +Informations sur les champs +06/08/2026 Batik 5016 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Contact_Client › Informations sur les champs +Fenêtre : FI_TdB_Contact_Client +Fenêtre interne +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| FI_TdB_Contact_Client | 0 | 0 626 | 178 | 0 | | | +| --------------------- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdB_Contact_Client +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Img | 7 | 3 29 | 24 | 0 | Actif | | +| ---------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_Ligne | 0 | 29 626 | 8 | 0 | Actif | | +| CMOD_Table | 0 | 37 626 | 141 | 0 | Actif | | +| CMOD_Titre | 42 | 3 584 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_TdB_Contact_Client.CMOD_Img +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | --- | --- | ------------ | --- | ---------- | +cilc cevA +ruegraL ruetuaH +elbisiV +nalP +| IMG_Icone | 7 3 | 29 24 | 0 | Actif | | | +| --------- | --- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_TdB_Contact_Client.CMOD_Ligne +| 06/08/2026 | | Batik | | | | 5017 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Contact_Client › Informations sur les champs +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_Sep | | | 0 | 30 | 626 | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Contact_Client.CMOD_Table +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 | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | +ruegraL +| | | | | elbisiV | elbaT | | | | | +| --- | --- | --- | --- | ------- | ----- | --- | --- | --- | --- | +nalP +| TABLE_Info | 2 39 | 620 135 | 0 | Actif | Mémoir | | | | 2 | +| ---------- | ---- | ------- | --- | ----- | ------ | --- | --- | --- | --- | +Table : FI_TdB_Contact_Client.CMOD_Table.TABLE_Info +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_PKID | | 880 | Grisé | | | Droite Centre | Numériq | | | +| COL_Principal | | 58 | affichag | | | Centre Centre | | | | +| COL_Role | | 121 | Actif | | | Gauche Centre | Texte | | | +| COL_Nom | | 188 | affichag | | | Gauche Centre | Texte | | | +| COL_Tel1 | | 116 | Actif | | | Gauche Centre | Texte | | | +| COL_Tel2 | | 113 | Actif | | | Gauche Centre | Texte | | | +| 06/08/2026 | | | | Batik | | | | | 5018 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Contact_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Contact_Client.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +X noitisoP Y noitisoP laitini tatE +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 42 3 | 584 26 | 0 Actif | Gauche | Centre | | +| ------- | ---- | ------ | ------- | ------ | ------ | --- | +Fenêtre : FI_TdB_Contact_Client +Fenêtre interne : FI_TdB_Contact_Client +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +| Facteur d'agrandissement | 0 | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | +| Ancrage | <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_TdB_Contact_Client +| 06/08/2026 | | Batik | | | | 5019 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Contact_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Contact_Client.CMOD_Img +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Contact_Client.CMOD_Ligne +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5020 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Contact_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Contact_Client.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Contact_Client.CMOD_Titre +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5021 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Contact_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Contact_Client.CMOD_Img +Image : FI_TdB_Contact_Client.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\contact-list-svgrepo-com.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 5022 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Contact_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Contact_Client.CMOD_Ligne +Forme : FI_TdB_Contact_Client.CMOD_Ligne.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Contact_Client.CMOD_Table +Table : FI_TdB_Contact_Client.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +06/08/2026 Batik 5023 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Contact_Client › Informations sur les champs +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 +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 +06/08/2026 Batik 5024 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Contact_Client › Informations sur les champs +Table : FI_TdB_Contact_Client.CMOD_Table.TABLE_Info +Colonne de table : FI_TdB_Contact_Client.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : FI_TdB_Contact_Client.CMOD_Table.TABLE_Info.COL_Principal (2) +Titre FR: Pcpl +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Bulle d'aide FR: Principal +Numéro aide 0 +Bandeau visible Oui +06/08/2026 Batik 5025 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Contact_Client › 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 70 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Contact_Client.CMOD_Table.TABLE_Info.COL_Role (3) +Titre FR: Rôle +Curseur survol 0 +UI par l'utilisateur <Aucun> +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 121 +Larg. déroulée perso. Non +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 +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 230 Taux anc. hauteur 1000 +06/08/2026 Batik 5026 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Contact_Client › Informations sur les champs +Colonne de table : FI_TdB_Contact_Client.CMOD_Table.TABLE_Info.COL_Nom (4) +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 400 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Contact_Client.CMOD_Table.TABLE_Info.COL_Tel1 (5) +Titre FR: Tél. n°1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +06/08/2026 Batik 5027 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Contact_Client › 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 150 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Contact_Client.CMOD_Table.TABLE_Info.COL_Tel2 (6) +Titre FR: Tél. n°2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 150 Taux anc. hauteur 1000 +06/08/2026 Batik 5028 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Contact_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Contact_Client.CMOD_Titre +Libellé : FI_TdB_Contact_Client.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TdB_Contact_Client +Informations sur les menus +06/08/2026 Batik 5029 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Contact_Client › Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Creer (2) +OPT_Rattacher_un_contact_au_client (5) +OPT_Modifier (3) +OPT_Supprimer_contact_de_la_liste (4) +Libellé des options : Français +Créer un nouveau contact +Rattacher un contact au client +Modifier +Supprimer contact de la liste +FI_TdB_Contact_Client +Code des champs +Déclarations globales de FI_TdB_Contact_Client +procédure FI_TdB_Contact_Client() +nIdClient est un entier sur 8 octets +tbaContact est un tableau associatif de MPersonne_Ct +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +06/08/2026 Batik 5030 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Contact_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ligne +06/08/2026 Batik 5031 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Contact_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5032 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Contact_Client › Code des champs +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_Role ( TABLE_Info ) +InitChamp(MoiMême.NomComplet,cParam_RoleContact,Vrai,MoiMême) +Sélection d'une ligne de COL_Role ( TABLE_Info ) +06/08/2026 Batik 5033 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Contact_Client › Code des champs +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContact[COL_PKID[i]]..Existe _et_ tbaContact[COL_PKID[i]]. +saCleRole <> COL_Role[i] alors +saRole est une chaîne ANSI = tbaContact[COL_PKID[i]].saCleRole +tbaContact[COL_PKID[i]].saCleRole = COL_Role[i] +si pas tbaContact[COL_PKID[i]].Enregistrer() alors +COL_Role[i] = saRole +tbaContact[COL_PKID[i]].saCleRole = saRole +fin +fin +Sortie de COL_Tel1 ( TABLE_Info ) +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContact[COL_PKID[i]]..Existe _et_ tbaContact[COL_PKID[i]].saTel1 +<> COL_Tel1[i] alors +saTel est une chaîne ANSI = tbaContact[COL_PKID[i]].saTel1 +tbaContact[COL_PKID[i]].saTel1 = COL_Tel1[i] +si pas tbaContact[COL_PKID[i]].Enregistrer() alors +COL_Tel1[i] = saTel +tbaContact[COL_PKID[i]].saTel1= saTel +fin +fin +Sortie de COL_Tel2 ( TABLE_Info ) +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContact[COL_PKID[i]]..Existe _et_ tbaContact[COL_PKID[i]].saTel2 +<> COL_Tel2[i] alors +saTel est une chaîne ANSI = tbaContact[COL_PKID[i]].saTel2 +tbaContact[COL_PKID[i]].saTel2 = COL_Tel2[i] +si pas tbaContact[COL_PKID[i]].Enregistrer() alors +COL_Tel2[i] = saTel +tbaContact[COL_PKID[i]].saTel2= saTel +fin +fin +Déclarations globales de CMOD_Titre +salib = "Contacts" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +06/08/2026 Batik 5034 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Contact_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Sélection du menu de MNU_Options.OPT_Creer +Creer() +Sélection du menu de MNU_Options.OPT_Modifier +Modifier() +Sélection du menu de MNU_Options.OPT_Rattacher_un_contact_au_client +Ajouter() +Sélection du menu de MNU_Options.OPT_Supprimer_contact_de_la_liste +Supprimer() +FI_TdB_Contact_Client +Procédures +Procédure locale Ajouter +procédure Ajouter() +06/08/2026 Batik 5035 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Contact_Client › Procédures +si nIdClient > 0 alors +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[Client.CL_PKID..Nom] = 0 +nIdPersone est un entier sur 8 octets +nIdPersone = Ouvre(FEN_Choix_Liste,cFI_Liste_ContactClient,tbaParam) +si nIdPersone > 0 alors +pour tout oCont de tbaContact +si oCont.nPKID = nIdPersone alors +renvoyer Faux // Il existe déjà +fin +fin +si HLitRecherchePremier(Personne,PE_PKID,nIdPersone) alors +| | i est un entier | | = TableAjouteLigne(TABLE_Info) | | +| --- | --------------- | --- | ------------------------------ | --- | +oUnCtc est une MPersonne_Ct +FichierVersMémoire(oUnCtc,Personne) +| | oUnCtc.nIDClient | = nIdClient | | | +| --- | ----------------- | ----------- | --- | --- | +si oUnCtc:Enregistrer() alors +| | tbaContact[oUnCtc:nPKID] | = oUnCtc | | | +| --- | ------------------------ | -------------------- | --- | --- | +| | COL_PKID[i] | = oUnCtc.nPKID | | | +| | COL_Nom[i] | = oUnCtc.NomPrenom() | | | +| | COL_Role[i] | = oUnCtc.saCleRole | | | +| | COL_Tel1[i] | = oUnCtc.saTel1 | | | +| | COL_Tel2[i] | = oUnCtc.saTel2 | | | +fin +fin +fin +fin +Procédure locale Creer +procédure Creer() +tbaTbParam est un tableau associatif de chaînes ANSI +tbaTbParam[cParam_Fenetre] = cFI_Liste_ContactClient +tbaTbParam[Client.CL_PKID..Nom] = nIdClient +si Ouvre(FEN_Fiche,tbaTbParam) alors +Filtrer(nIdClient) +fin +Procédure locale Filtrer +procédure Filtrer(nId est un entier sur 8 octets) +nIdClient = nId +TableSupprimeTout(TABLE_Info) +TableauSupprimeTout(tbaContact) +si nIdClient <= 0 alors +retour +fin +| RqCtc | est une Requête SQL | = | | | +| ----- | ------------------- | --- | --- | --- | +[ +SELECT Personne.*,Client.CL_IDContactPrincipal +FROM Personne +| LEFT OUTER JOIN Client | ON Client.CL_PKID=Personne.PE_IDClient | | | | +| ---------------------- | -------------------------------------- | --- | --- | --- | +WHERE Personne.PE_IDClient = {p_nIdClient} AND Personne.Archive = 0 +| 06/08/2026 | | | Batik | 5036 | +| ---------- | --- | --- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Contact_Client › Procédures +ORDER BY Personne.PE_PKID DESC +] +RqCtc.p_nIdClient = nIdClient +odUnCtc est un MPersonne_Ct dynamique +si pas HExécuteRequêteSQL(RqCtc) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Contact_Client.Filtrer") +sinon +pour tout RqCtc +odUnCtc = allouer une MPersonne_Ct +FichierVersMémoire(odUnCtc,RqCtc) +si RqCtc.cl_IDContactPrincipal = RqCtc.PE_PKID alors +odUnCtc.bContactPrincipal = Vrai +fin +tbaContact[RqCtc.PE_PKID] = odUnCtc +fin +fin +i est un entier +pour tout oCtc de tbaContact +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = oCtc.nPKID +COL_Principal[i] = oCtc.bContactPrincipal +COL_Nom[i] = oCtc.NomPrenom() +COL_Role[i] = oCtc.saCleRole +COL_Tel1[i] = oCtc.saTel1 +COL_Tel2[i] = oCtc.saTel2 +fin +Procédure locale Modifier +procédure Modifier() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContact[COL_PKID[i]]..Existe alors +tbaTbParam est un tableau associatif de chaînes ANSI +tbaTbParam[cParam_Fenetre] = cFI_Liste_ContactClient +tbaTbParam[Client.CL_PKID..Nom] = nIdClient +tbaTbParam[Personne.PE_PKID..Nom] = COL_PKID[i] +si Ouvre(FEN_Fiche,tbaTbParam) alors +Filtrer(nIdClient) +fin +fin +Procédure locale Supprimer +procédure Supprimer() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContact[COL_PKID[i]]..Existe alors +saQuestion est une chaîne ANSI = "Êtes-vous sûr de vouloir supprimer le contact "+tbaContact[COL_ +PKID[i]].NomPrenom()+" de cette liste ?" +//1 : Supprimer la liaison +//2 : Supprimer entièrement +si HLitRecherchePremier(Personne,PE_PKID,COL_PKID[i]) alors +06/08/2026 Batik 5037 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Contact_Client › Procédures +selon Dialogue( +"Souhaitez-vous supprimer uniquement la liaison avec le client ou supprimer totalement le +contact %1" +,tbaContact[COL_PKID[i]].NomPrenom()) +// Supprimer la liaison +cas 1 +Personne.PE_IDClient = 0 +si pas HEnregistre(Personne) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue, le contact n’a pas pu être supprimé", +"FI_TdB_Contact_Client.Supprimer") +sinon +TableauSupprime(tbaContact,COL_PKID[i]) +TableSupprime(TABLE_Info,i) +fin +// Supprimer entièrement +cas 2 +si tbaContact[COL_PKID[i]].Supprimer() alors +TableauSupprime(tbaContact,COL_PKID[i]) +TableSupprime(TABLE_Info,i) +fin +fin +fin +fin +06/08/2026 Batik 5038 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Site › Image +FI_TdB_Liste_Dossier_Site +Image +FI_TdB_Liste_Dossier_Site +Informations générales +FI_TdB_Liste_Dossier_Site +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TdB_Liste_Dossier_Site.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 18/07/2025 09:59:02 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 09/10/2025 08:58:53 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 658 Hauteur | 191 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ----------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| 06/08/2026 | | | Batik | | 5039 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Site › Informations générales +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 1 +Table 1 Forme 1 +Fenêtre interne 1 Champ Modèle de champs 4 +Option de menu 3 Colonne de table 8 +06/08/2026 Batik 5040 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Site › Informations générales +Nombre d'éléments dans la fenêtre : 20 +FI_TdB_Liste_Dossier_Site +Informations sur les champs +Fenêtre : FI_TdB_Liste_Dossier_Site +Fenêtre interne +BAT ehcuoT +| | X noitisoP | | | | laitini tatE | | +| --- | ---------- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | ruegraL | ruetuaH | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_TdB_Liste_Dossier_Site | 0 | 0 658 | 191 | 0 | | | +| ------------------------- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdB_Liste_Dossier_Site +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Img | 6 | 8 29 | 24 | 0 | Actif | | +| ---------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_Ligne | 0 | 35 658 | 8 | 0 | Actif | | +| CMOD_Table | 4 | 43 654 | 143 | 0 | Actif | | +| CMOD_Titre | 42 | 7 616 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_TdB_Liste_Dossier_Site.CMOD_Img +| 06/08/2026 | | Batik | | | | 5041 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Site › 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_Icone | | 6 | 8 | 29 | 24 | 0 | Actif | | | +| --------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_TdB_Liste_Dossier_Site.CMOD_Ligne +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_Sep | | | 0 | 36 | 658 | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Liste_Dossier_Site.CMOD_Table +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +lennoitroporp .csA +.loc .gifnoc .oméM +| | | | | | | )(ertliFH resilitU | ruesnecsa elluB | EERTNE noitseG | | +| --- | --- | --- | --- | --- | --- | ------------------ | --------------- | -------------- | ----------------------------- | +| | | | | | | .gerne egacolB | noitcelésitluM | | eércna ennoloC 5.5 elbitapmoC | +edacsac eisiaS +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | --- | --- | +sruocraP +ruegraL ruetuaH +elbisiV +| | | | nalP | | elbaT | | | | | +| ---------- | ---- | ------- | ---- | -------- | ------ | --- | --- | --- | --- | +| TABLE_Info | 6 45 | 648 137 | 0 | affichag | Mémoir | | | | 2 | +Table : FI_TdB_Liste_Dossier_Site.CMOD_Table.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | | elbairt ennoloC | ehcrehcer cevA | | | | +| --- | --- | --- | --- | -------------- | --------------- | -------------- | --- | --- | --- | +| | | | | ehcuag à eéxiF | | .zroh egardaC | | | | +.trev egardaC +| | | | | elbaçalpéD | | | eisias epyT | FTR tamroF | eisias cevA | +| --- | --- | --- | ------------ | ---------- | --- | --- | ----------- | ---------- | ----------- | +| | | | laitini tatE | | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +Numériq +| COL_PKID | | 880 | Grisé | | | Droite Centre | | | | +| ------------ | --- | --- | ----- | ----- | --- | ------------- | ----- | --- | ---- | +| COL_NumInter | | 97 | Actif | | | Gauche Centre | Texte | | | +| COL_Titre | | 128 | Actif | | | Gauche Centre | Texte | | | +| COL_DevisNum | | 104 | Actif | | | Gauche Centre | Texte | | | +| 06/08/2026 | | | | Batik | | | | | 5042 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Site › Informations sur les champs +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_RefExt | 82 | Actif | | Gauche Centre | Texte | | | +| COL_Etat | 106 | Actif | | Gauche Centre | Texte | | | +| COL_DateInter | 100 | Actif | | Droite Centre | Date | | | +Numériq +| COL_IdDossier | 100 | Grisé | | Droite Centre | | | | +| ------------- | --- | ----- | --- | ------------- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Liste_Dossier_Site.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | 42 | 7 616 | 26 | 0 Actif | Gauche | Centre | | +| ------- | --- | ----- | --- | ------- | ------ | ------ | --- | +Fenêtre : FI_TdB_Liste_Dossier_Site +Fenêtre interne : FI_TdB_Liste_Dossier_Site +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| ------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | | +| Numéro aide | 0 | | | | | | | +| Thème destination | Oui | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | 0 | | | | | | | +| -------------------------- | ------- | --- | --- | --- | --- | --- | --- | +| Facteur d'agrandissement | 0 | | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | | +| Ancrage | <Aucun> | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Batik | | | | 5043 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Site › Informations sur les champs +Fenêtre interne : FI_TdB_Liste_Dossier_Site +Champ Modèle de champs : FI_TdB_Liste_Dossier_Site.CMOD_Img +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Liste_Dossier_Site.CMOD_Ligne +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5044 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Dossier_Site.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Liste_Dossier_Site.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5045 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Dossier_Site.CMOD_Img +Image : FI_TdB_Liste_Dossier_Site.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Dossier_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 5046 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Dossier_Site.CMOD_Ligne +Forme : FI_TdB_Liste_Dossier_Site.CMOD_Ligne.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Liste_Dossier_Site.CMOD_Table +Table : FI_TdB_Liste_Dossier_Site.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +06/08/2026 Batik 5047 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Site › Informations sur les champs +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 +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 +06/08/2026 Batik 5048 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Site › Informations sur les champs +Table : FI_TdB_Liste_Dossier_Site.CMOD_Table.TABLE_Info +Colonne de table : FI_TdB_Liste_Dossier_Site.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : FI_TdB_Liste_Dossier_Site.CMOD_Table.TABLE_Info.COL_NumInter +Titre FR: N° 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 +06/08/2026 Batik 5049 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Site › 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 200 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Liste_Dossier_Site.CMOD_Table.TABLE_Info.COL_Titre (3) +Titre FR: Titre 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: 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 250 Taux anc. hauteur 1000 +06/08/2026 Batik 5050 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Site › Informations sur les champs +Colonne de table : FI_TdB_Liste_Dossier_Site.CMOD_Table.TABLE_Info.COL_DevisNum +Titre FR: Numéro Devis +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 150 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Liste_Dossier_Site.CMOD_Table.TABLE_Info.COL_RefExt (5) +Titre FR: Reference externe +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 +06/08/2026 Batik 5051 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Site › 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 150 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Liste_Dossier_Site.CMOD_Table.TABLE_Info.COL_Etat (6) +Titre FR: État de l'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: 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 150 Taux anc. hauteur 1000 +06/08/2026 Batik 5052 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Site › Informations sur les champs +Colonne de table : FI_TdB_Liste_Dossier_Site.CMOD_Table.TABLE_Info.COL_DateInter +Titre FR: Date 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: MM/JJ/AAAA +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Oui +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Liste_Dossier_Site.CMOD_Table.TABLE_Info.COL_IdDossier +Titre FR: IdDossier +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 +06/08/2026 Batik 5053 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Site › 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 +Champ Modèle de champs : FI_TdB_Liste_Dossier_Site.CMOD_Titre +Libellé : FI_TdB_Liste_Dossier_Site.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 +06/08/2026 Batik 5054 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Site › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TdB_Liste_Dossier_Site +Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Creer (2) +OPT_Modifier (3) +Libellé des options : Français +Créer un nouveau dossier +Modifier le dossier +FI_TdB_Liste_Dossier_Site +Code des champs +Déclarations globales de FI_TdB_Liste_Dossier_Site +procédure FI_TdB_Liste_Dossier_Site() +nIdSite est un entier sur 8 octets +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +06/08/2026 Batik 5055 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ligne +06/08/2026 Batik 5056 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5057 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Site › Code des champs +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SelLigne() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5058 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Site › Code des champs +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Dossiers" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Sélection du menu de MNU_Options.OPT_Creer +CreerDossier() +Sélection du menu de MNU_Options.OPT_Modifier +06/08/2026 Batik 5059 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Site › Code des champs +SelLigne() +FI_TdB_Liste_Dossier_Site +Procédures +Procédure locale CreerDossier +procédure CreerDossier() +si nIdSite > 0 alors +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[cParam_Fenetre] = cFI_Liste_DossierSite +tbaParam[Lieu.LI_PKID..Nom] = nIdSite +nIdInter est un entier sur 8 octets +nIdDossier est un entier sur 8 octets +(nIdInter, nIdDossier) = Ouvre(FEN_Fiche_Dossier_Creation,tbaParam) +si nIdInter > 0 _et_ nIdDossier > 0 alors +TableauSupprimeTout(tbaParam) +tbaParam[Intervention.IN_PKID..Nom] = nIdInter +tbaParam[Dossier.DO_PKID..Nom] = nIdDossier +tbaParam[cParam_IdFen] = nIdDossier +OuvreFenSouers("FEN_Fiche_Dossier",tbaParam) +fin +fin +Procédure locale Filtrer +procédure Filtrer(nId est un entier sur 8 octets) +nIdSite = nId +TableSupprimeTout(TABLE_Info) +si nIdSite <= 0 alors +retour +fin +RqDossier est une Requête SQL = +[ +SELECT TOP 1000 IN_RefInterne, IN_Titre, IN_NumDevis, IN_RefExterne, IN_CleEtat, +IN_DateIntervention, IN_PKID, DO_PKID +FROM Dossier +INNER JOIN Intervention ON Intervention.IN_IDDossier = Dossier.DO_PKID +WHERE Dossier.DO_CleStatut <> {p_StatutAnnu} AND Intervention.IN_IDLieu = {p_IdLieu} +ORDER BY Intervention.ModifDate DESC +] +RqDossier.p_StatutAnnu = cCle_DossierAnnule +RqDossier.p_IdLieu = nIdSite +si pas HExécuteRequêteSQL(RqDossier) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Liste_Dossier.Filtrer") +06/08/2026 Batik 5060 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Site › Procédures +sinon +i est un entier +pour tout RqDossier +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = RqDossier.in_pkid +COL_NumInter[i] = RqDossier.IN_RefInterne +COL_Titre[i] = RqDossier.IN_Titre +COL_RefExt[i] = RqDossier.IN_RefExterne +COL_Etat[i] = RqDossier.IN_CleEtat <> "" _et_ gtabParametresMetierCode[cParam_EtatInter][ +RqDossier.IN_CleEtat]..Existe ? gtabParametresMetierCode[cParam_EtatInter][RqDossier.IN_CleEtat +].saLibelle sinon "" +COL_DateInter[i] = RqDossier.IN_DateIntervention +COL_IdDossier[i] = RqDossier.DO_PKID +fin +fin +Procédure locale SelLigne +procédure SelLigne() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ COL_IdDossier[i] > 0 alors +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[cParam_Fenetre] = cFI_Liste_DossierSite +tbaParam[Intervention.IN_PKID..Nom] = COL_PKID[i] +tbaParam[Dossier.DO_PKID..Nom] = COL_IdDossier[i] +tbaParam[cParam_IdFen] = COL_IdDossier[i] +OuvreFenSouers("FEN_Fiche_Dossier",tbaParam) +fin +06/08/2026 Batik 5061 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Image +FI_TdB_Fiche_Contact +Image +FI_TdB_Fiche_Contact +Informations générales +FI_TdB_Fiche_Contact +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TdB_Fiche_Contact.wdw +| Créé par | | SMR | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | ---- | +| Date de création | | 18/07/2025 13:37:23 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 30/01/2026 15:50:54 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 363 | 416 | +| Position X | Position Y | | Largeur | Hauteur | | +| 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 | | +| 06/08/2026 | | | Batik | | 5062 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations générales +| Redimensionnable | Avec grip | | Grip dans image | | +| --------------------- | -------------- | --- | --------------- | --- | +| Déplace/fond | Sauve position | | Ascenseur auto. | | +| Gestion grande police | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | Actif | | | | +| ------------------------------- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | 0 | | | | +| Copie d'écran | Oui | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | <Aucun> | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Oui | | | | +| Type cadre | <Aucun> | | | | +| 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 | Windows 11 | | | | +| 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 | | | | +| 06/08/2026 | | Batik | | 5063 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | 9 | Libellé | | | 1 | +| --- | ---------------------- | --- | --- | --------------- | --- | --- | --- | +| | Image | | 3 | Combo | | | 3 | +| | Forme | | 1 | Fenêtre interne | | | 1 | +| | Champ Modèle de champs | | 16 | Disposition | | | 1 | +| | Cellule de disposition | | 4 | | | | | +Nombre d'éléments dans la fenêtre : 39 +FI_TdB_Fiche_Contact +Informations sur les champs +Fenêtre : FI_TdB_Fiche_Contact +Fenêtre interne +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_TdB_Fiche_Contact | | 0 | 0 363 | 416 | 0 | | | +| -------------------- | --- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdB_Fiche_Contact +Forme +BAT ehcuoT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FRM_Sep | | 4 | 39 353 | 2 | 0 | Actif | | +| ---------- | --- | --- | ------ | --- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | | 5064 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Bloque | 328 | 9 30 | 24 | 0 | Actif | | +| ---------------- | --- | ------- | --- | --- | ----- | --- | +| CMOD_Civilite | 2 | 1 117 | 53 | 0 | Actif | | +| CMOD_Client | 4 | 0 175 | 53 | 0 | Actif | | +| CMOD_Email | 3 | 107 355 | 53 | 0 | Actif | | +| CMOD_Etage | 127 | 0 111 | 53 | 0 | Actif | | +| CMOD_Img | 5 | 9 29 | 24 | 0 | Actif | | +| CMOD_InfoSup | 2 | 2 355 | 66 | 0 | Actif | | +| CMOD_Lot | 246 | 0 112 | 53 | 0 | Actif | | +| CMOD_Nom | 127 | 1 111 | 53 | 0 | Actif | | +| CMOD_Ouvert | 328 | 9 30 | 24 | 0 | Actif | | +| CMOD_Prenom | 246 | 1 111 | 53 | 0 | Actif | | +| CMOD_Role | 4 | 0 115 | 53 | 0 | Actif | | +| CMOD_RolePersCli | 187 | 0 170 | 53 | 0 | Actif | | +| CMOD_Tel1 | 2 | 55 177 | 53 | 0 | Actif | | +| CMOD_Tel2 | 187 | 54 170 | 53 | 0 | Actif | | +| CMOD_Titre | 42 | 8 278 | 26 | 0 | Actif | | +Disposition +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| DISP_Contact | 0 | 42 361 | 369 | 0 | Actif | | +| ------------ | --- | ------ | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Contact.CMOD_Bloque +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | ------- | ------- | ------------ | --------- | ---------- | +| | | ruetuaH | | | cilc cevA | | +| | | ruegraL | elbisiV | | | | +nalP +| IMG_Icone | 328 9 | 30 24 | 0 | Actif | | | +| ---------- | ----- | ----- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | 5065 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Civilite +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_Combo | 0 0 | 117 53 | 0 | Actif | Mémoire | | Non | | +| --------- | --- | ------ | --- | ----- | ------- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Client +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_Texte | 0 0 175 | 53 0 | affichag | Texte | | Non | | | +| --------- | ------- | ---- | -------- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Email +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_Texte | 0 0 355 | 53 0 | Actif | Texte | | Non | | | +| ---------- | ------- | ---- | ----- | ----- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | 5066 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Etage +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_Texte | 0 0 | 111 53 0 | Actif Texte | | Non | | +| --------- | --- | -------- | ----------- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Contact.CMOD_Img +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP | | | laitini tatE | sucof cevA | +| --- | --- | ---------- | --- | --- | ------------ | ---------- | +Y noitisoP cilc cevA +| | | | ruegraL ruetuaH | | | | +| --- | --- | --- | --------------- | --- | --- | --- | +elbisiV +nalP +| IMG_Icone | | 5 9 | 29 24 | 0 | Actif | | +| --------- | --- | --- | ----- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_InfoSup +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_Texte | 0 0 | 355 66 0 | Actif Texte | | Non | | +| ---------- | --- | -------- | ----------- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | 5067 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Lot +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_Texte | 0 0 | 112 53 0 | Actif | Texte | | Non | | | +| --------- | --- | -------- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Nom +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_Texte | 0 0 | 111 53 0 | Actif | Texte | | Non | | | +| --------- | --- | -------- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Contact.CMOD_Ouvert +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | | laitini tatE | sucof cevA | +| --- | --- | --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | cilc cevA | | +| --- | --- | --- | ------- | ------- | --- | --- | --------- | --- | +elbisiV +nalP +| IMG_Icone | | 328 9 | | 30 24 | 0 | | Actif | | +| ---------- | --- | ----- | --- | ----- | --- | --- | ----- | ---- | +| 06/08/2026 | | | | Batik | | | | 5068 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Prenom +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_Texte | 0 0 111 | 53 0 | Actif | Texte | | Non | | | +| --------- | ------- | ---- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Role +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_Combo | 0 0 | 115 53 | 0 | Actif | Mémoire | | Non | | +| --------- | --- | ------ | --- | ----- | ------- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_RolePersCli +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_Combo | 0 0 | 170 53 | 0 | Actif | Mémoire | | Non | | +| 06/08/2026 | | | | Batik | | | | 5069 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Tel1 +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_Texte | 0 | 0 177 53 | 0 | Actif | Texte | Non | | | +| --------- | --- | -------- | --- | ----- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Tel2 +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_Texte | 0 | 0 170 53 | 0 | Actif | Texte | Non | | | +| --------- | --- | -------- | --- | ----- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Contact.CMOD_Titre +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| LIB_lib | | 42 8 | 278 | 26 | 0 | Actif Gauche | Centre | | +| ---------- | --- | ---- | --- | ----- | --- | ------------ | ------ | ---- | +| 06/08/2026 | | | | Batik | | | | 5070 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Fenêtre : FI_TdB_Fiche_Contact +Fenêtre interne : FI_TdB_Fiche_Contact +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_TdB_Fiche_Contact +Champ Modèle de champs : FI_TdB_Fiche_Contact.CMOD_Bloque +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5071 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Civilite +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Client +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Batik 5072 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Email +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Etage +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 330 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +06/08/2026 Batik 5073 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Contact.CMOD_Img +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_InfoSup +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5074 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Lot +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 660 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Nom +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 330 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +06/08/2026 Batik 5075 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Contact.CMOD_Ouvert +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Prenom +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 670 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +06/08/2026 Batik 5076 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Role +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_RolePersCli +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Batik 5077 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Tel1 +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 0 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Tel2 +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +06/08/2026 Batik 5078 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Contact.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_TdB_Fiche_Contact.DISP_Contact +Libellé FR: Disposition +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 +Cellule ancrée 4 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 6 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5079 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Forme : FI_TdB_Fiche_Contact.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Contact.CMOD_Bloque +Image : FI_TdB_Fiche_Contact.CMOD_Bloque.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\cadena_fermé_noire.svg +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 +06/08/2026 Batik 5080 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Civilite +Combo : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Civilite.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +Groupe GR_Modif +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 117 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 2 +Largeur interne 117 +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 +06/08/2026 Batik 5081 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › 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 +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 Oui +Liaison des données :oContact.saCleCivilite +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Client +Champ de saisie : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Client.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 5082 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +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 4 +Largeur interne 175 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 5083 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Email +Champ de saisie : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Email.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 3 +Largeur interne 355 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +06/08/2026 Batik 5084 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Sécurité HTML Oui +Visualisation markdown Non +Saisie manuscrite Non +Taille de saisie 0 +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :oContact.saEmail +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5085 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Etage +Champ de saisie : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Etage.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 127 +Largeur interne 111 +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 +06/08/2026 Batik 5086 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Contact.CMOD_Img +Image : FI_TdB_Fiche_Contact.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\contact-list-svgrepo-com.svg +Groupe GR_Saisie +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +06/08/2026 Batik 5087 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_InfoSup +Champ de saisie : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_InfoSup.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Groupe GR_Modif +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 +06/08/2026 Batik 5088 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 3 +Largeur interne 354 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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> +Liaison des données :oContact.saInfoSupp +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +06/08/2026 Batik 5089 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Lot +Champ de saisie : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Lot.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 246 +Largeur interne 112 +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 +06/08/2026 Batik 5090 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5091 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Nom +Champ de saisie : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Nom.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 127 +Largeur interne 111 +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 +06/08/2026 Batik 5092 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +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> +Liaison des données :oContact.saNom +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Contact.CMOD_Ouvert +Image : FI_TdB_Fiche_Contact.CMOD_Ouvert.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\cadena_ouvert_noire.svg +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu manip. image <Aucun menu> +Taux Paral. hauteur 0 +06/08/2026 Batik 5093 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Prenom +Champ de saisie : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Prenom.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 +06/08/2026 Batik 5094 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 246 +Largeur interne 111 +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 +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> +Liaison des données :oContact.saPrenom +Gestion Euro Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Bouton gauche : Nombre d'états 1 +06/08/2026 Batik 5095 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Role +Combo : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Role.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +Groupe GR_Modif +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 115 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 4 +Largeur interne 115 +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 +06/08/2026 Batik 5096 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › 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 +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 Oui +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_RolePersCli +Combo : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_RolePersCli.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +Groupe GR_Modif +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 5097 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +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 170 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 187 +Largeur interne 170 +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 Oui +Liaison des données :oContact.saCleRole +Nb. Enreg. Max 0 +1ère ligne perso. Non +06/08/2026 Batik 5098 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Tel1 +Champ de saisie : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Tel1.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 2 +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 +06/08/2026 Batik 5099 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › 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 +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> +Liaison des données :oContact.saTel1 +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5100 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Tel2 +Champ de saisie : FI_TdB_Fiche_Contact.DISP_Contact.CMOD_Tel2.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 187 +Largeur interne 170 +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 +06/08/2026 Batik 5101 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +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> +Liaison des données :oContact.saTel2 +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Contact.CMOD_Titre +Libellé : FI_TdB_Fiche_Contact.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +06/08/2026 Batik 5102 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TdB_Fiche_Contact +Code des champs +Déclarations globales de FI_TdB_Fiche_Contact +procédure FI_TdB_Fiche_Contact() +saFenetre est une chaîne ANSI +nIdPersonne est un entier sur 8 octets +oContact est un MPersonne_Ct +oContactInter est un MContact_Inter +oContactSite est un MContact_Site +bModifDirect est un booléen +oClient est un MClient +tbaParametres est un tableau associatif de chaînes ANSI +bBloque est un booléen +constante +cDispoEtageLot = 3 +cDispoClient = 2 +fin +Fin d'initialisation de FI_TdB_Fiche_Contact +DISP_Contact[cDispoEtageLot]..Visible = Faux +06/08/2026 Batik 5103 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Code des champs +DISP_Contact[cDispoClient]..Visible = Faux +Fin d'initialisation de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +BlocageEnrg() +A chaque modification de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Bloque ) +06/08/2026 Batik 5104 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5105 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Code des champs +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +BlocageEnrg() +A chaque modification de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5106 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Code des champs +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Fiche contact" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +06/08/2026 Batik 5107 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Code des champs +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Civilite +salib = "Civilité" +Fin d'initialisation de CMOD_Civilite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Civilite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Civilite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Civilite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Civilite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Civilite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Civilite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Civilite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême.NomComplet,cParam_Civilite,Vrai,oContact:saCleCivilite) +Entrée dans CMB_Combo ( CMOD_Civilite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Civilite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Civilite ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5108 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Code des champs +ExécuteAncêtre +Modifier(CMOD_Civilite.CMB_Combo..NomComplet) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Civilite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Client +salib = "Client" +Fin d'initialisation de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Client ) +06/08/2026 Batik 5109 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Client ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Email +salib = "Émail" +Fin d'initialisation de CMOD_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +06/08/2026 Batik 5110 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Code des champs +Modifier(CMOD_Email.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Etage +saLib = "Étage" +Fin d'initialisation de CMOD_Etage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Etage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Etage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Etage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Etage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Etage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Etage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Etage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Etage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Etage ) +06/08/2026 Batik 5111 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Etage.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_Etage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Etage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_InfoSup +salib = "Informations supplémentaires" +Fin d'initialisation de CMOD_InfoSup +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_InfoSup +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_InfoSup +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_InfoSup +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_InfoSup +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_InfoSup +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_InfoSup +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_InfoSup ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_InfoSup ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5112 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Code des champs +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_InfoSup ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_InfoSup.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_InfoSup ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_InfoSup ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Lot +salib = "Lot" +Fin d'initialisation de CMOD_Lot +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Lot +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Lot +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Lot +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Lot +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Lot +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Lot +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Lot ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Lot ) +06/08/2026 Batik 5113 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Lot ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Lot.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_Lot ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Lot ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Nom +salib = "Nom" +Fin d'initialisation de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5114 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Code des champs +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Nom.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Prenom +salib = "Prénom" +Fin d'initialisation de CMOD_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Prenom ) +06/08/2026 Batik 5115 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Prenom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Prenom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Prenom.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_Prenom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Prenom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Role ) +06/08/2026 Batik 5116 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême.NomComplet,cParam_RoleContact,Vrai) +Entrée dans CMB_Combo ( CMOD_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Role.CMB_Combo..NomComplet) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_RolePersCli +salib = "Rôle dans la fiche client" +Fin d'initialisation de CMOD_RolePersCli +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_RolePersCli +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_RolePersCli +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_RolePersCli +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_RolePersCli +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_RolePersCli +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_RolePersCli +06/08/2026 Batik 5117 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_RolePersCli ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême.NomComplet,cParam_RoleContact,Vrai) +Entrée dans CMB_Combo ( CMOD_RolePersCli ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_RolePersCli ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_RolePersCli ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_RolePersCli.CMB_Combo..NomComplet) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_RolePersCli ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Tel1 +salib = "Tél n°1" +Fin d'initialisation de CMOD_Tel1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Tel1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Tel1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Tel1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Tel1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Tel1 +06/08/2026 Batik 5118 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Tel1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Tel1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Tel1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Tel1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Tel1.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_Tel1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Tel1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Tel2 +salib = "Tél n°2" +Fin d'initialisation de CMOD_Tel2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Tel2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Tel2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Tel2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Tel2 +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5119 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Tel2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Tel2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Tel2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Tel2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Tel2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Tel2.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_Tel2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Tel2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +FI_TdB_Fiche_Contact +Procédures +Procédure locale BlocageEnrg +procédure BlocageEnrg() +si oContact:nPKID <= 0 alors +bBloque = Vrai +renvoyer Vrai +fin +si pas bBloque _et_ oContact:nVerrou <> Base.VerrouParMoi alors +si pas oContact.DateCharge(oContact:nPKID) alors +bBloque = Faux +oContact.bAvecBlocage= Faux +sinon +bBloque = Vrai +06/08/2026 Batik 5120 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Procédures +fin +sinon +si bBloque _et_ oContact:nVerrou = Base.VerrouParMoi alors +oContact:bDebloqueEnreg = Vrai +oContact:DebloqueFichier() +bBloque = Faux +sinon +bBloque = Faux +fin +fin +si bBloque alors +SourceVersEcran() +fin +MaJBtnBlocage() +Procédure locale Enregistrer +procédure Enregistrer(bOk est un booléen = Faux, nIdRetour est un entier sur 8 octets = 0) +EcranVersSource() +//si oContact:nPKID > 0 _et_ (pas oContact.bAvecBlocage ou oContact.nVerrou <> Base.VerrouParMoi) alors +// bOk = Faux +// RENVOYER Faux +//FIN +si pas bBloque alors +bOk = Faux +renvoyer Faux +fin +si pas oContact:Enregistrer() alors +bOk = Faux +renvoyer Faux +sinon +selon saFenetre +cas cFI_DonneursOrdre, cFI_ContactSite +si oContact.nPKID > 0 alors +oContactInter:saEtage = CMOD_Etage.SAI_Texte +oContactInter:saLot = CMOD_Lot.SAI_Texte +oContactInter:saCleRole = CMOD_Role.CMB_Combo +oContactInter:nIDPersonne = oContact.nPKID +si pas oContactInter:Enregistrer() alors +bOk = Faux +renvoyer Faux +fin +fin +cas cFI_Liste_ContactSite +si oContact.nPKID > 0 alors +oContactSite:saEtage = CMOD_Etage.SAI_Texte +oContactSite:saLot = CMOD_Lot.SAI_Texte +oContactSite:saCleRole = CMOD_Role.CMB_Combo +oContactSite:nIDPersonne = oContact.nPKID +si pas oContactSite:Enregistrer() alors +bOk = Faux +renvoyer Faux +fin +fin +autre cas +06/08/2026 Batik 5121 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Procédures +fin +si oClient:nPKID > 0 _et_ oClient:nIDContactPrincipal = oContact:nPKID _et_ oClient:saCleType = +cCle_ClientParticulier alors +si HLitRecherchePremier(Client,CL_PKID,oClient:nPKID) alors +Client.CL_Nom = oContact.NomPrenom() +Client.CL_Tel = oContact.saTel1 +Client.CL_Fax = oContact.saTel2 +Client.CL_Email = oContact.saEmail +si HModifie(Client) alors +CreationElementModifie(Client.CL_PKID, Client..Nom) +fin +fin +fin +bOk = Vrai +nIdRetour = oContact:nPKID +renvoyer Vrai +fin +Procédure locale Filtrer +procédure Filtrer(nId est un entier sur 8 octets) +// Si on utilise la procedure filtre c'est que on est dans la fiche contact +bModifDirect = Vrai +si nId > 0 alors +nIdPersonne = nId +oContact:DateCharge(nIdPersonne) +si oContact:nIDClient > 0 alors +si HLitRecherchePremier(Client,CL_PKID,oContact:nIDClient) alors +CMOD_Client.SAI_Texte = Client.CL_Nom +FichierVersMémoire(oClient,Client) +fin +fin +SourceVersEcran() +fin +si oContact:nIDClient <= 0 alors +DISP_Contact[cDispoClient]..Visible = Faux +sinon +DISP_Contact[cDispoClient]..Visible = Vrai +fin +MaJBtnBlocage() +Procédure locale FiltrerSelonFen +procédure FiltrerSelonFen(tbaParam est un tableau associatif de chaînes ANSI) +// On ouvre la fiche depuis une autre fiche / on auras un comportement différent selon la fenêtre +appelante +tbaParametres = tbaParam +nId est un entier sur 8 octet +si tbaParametres[cParam_Fenetre]..Existe alors saFenetre = tbaParametres[cParam_Fenetre] sinon +saFenetre = "" +si saFenetre = "" alors +renvoyer Vrai +06/08/2026 Batik 5122 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Procédures +sinon +bModifDirect = Faux +fin +si saFenetre = cFI_Liste_Contact alors +bModifDirect = Faux +oContact:nPKID = 0 +bBloque = Vrai +MaJBtnBlocage() +renvoyer Vrai +fin +// si il y a un Id lieu il est un contact site +// si il y a un Id Client c'est un donneur d'ordre +rqSqlInter est une Requête SQL = +[ +SELECT Intervention_Personne.*, Personne.* +FROM Intervention_Personne +INNER JOIN Personne ON PE_PKID = IP_IDPersonne +WHERE Intervention_Personne.IP_IDIntervention= {p_IdInter} +AND Intervention_Personne.IP_IDClient={p_IdClient} +AND Intervention_Personne.IP_IDPersonne = {p_IdPersonne} +AND IP_IDLieu = {p_IdLieu} +] +rqSqlSite est une Requête SQL = +[ +SELECT Lieu_Personne.*, Personne.* +FROM Lieu_Personne +INNER JOIN Personne ON PE_PKID = LIP_IDPersonne +WHERE Lieu_Personne.LIP_IDLieu= {p_IdLieu} +AND Lieu_Personne.LIP_IDPersonne = {p_IdPersonne} +] +rqSqlClient est une Requête SQL = +[ +SELECT Personne.*, Client.CL_Nom +FROM Personne +INNER JOIN Client ON Client.CL_PKID = PE_IDClient +WHERE Personne.PE_PKID = {p_idPersonne} +AND Personne.PE_IDClient = {p_IdClient} +] +selon saFenetre +cas cFI_DonneursOrdre,cFI_ContactSite +si tbaParametres[Intervention.IN_PKID..Nom]..Existe alors nId = Val(tbaParametres[Intervention. +IN_PKID..Nom]) sinon nId = 0 +si tbaParametres[Personne.PE_PKID..Nom]..Existe alors nIdPersonne = Val(tbaParametres[Personne. +PE_PKID..Nom]) sinon nIdPersonne = 0 +cas cFI_Liste_ContactSite +si tbaParametres[Lieu.LI_PKID..Nom]..Existe alors nId = Val(tbaParametres[Lieu.LI_PKID..Nom]) +sinon nId = 0 +si tbaParametres[Personne.PE_PKID..Nom]..Existe alors nIdPersonne = Val(tbaParametres[Personne. +PE_PKID..Nom]) sinon nIdPersonne = 0 +cas cFI_Liste_ContactClient +si tbaParametres[Client.CL_PKID..Nom]..Existe alors nId = Val(tbaParametres[Client.CL_PKID..Nom +]) sinon nId = 0 +si tbaParametres[Personne.PE_PKID..Nom]..Existe alors nIdPersonne = Val(tbaParametres[Personne. +PE_PKID..Nom]) sinon nIdPersonne = 0 +cas cFEN_Dossier_C +si tbaParametres[Personne.PE_PKID..Nom]..Existe alors nId = Val(tbaParametres[Personne.PE_PKID. +.Nom]) sinon nId = 0 +DISP_Contact[cDispoEtageLot]..Visible = Faux +06/08/2026 Batik 5123 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Procédures +DISP_Contact[cDispoClient]..Visible = Vrai +si nId > 0 alors +si HLitRecherchePremier(Personne,PE_PKID,nId) alors +FichierVersMémoire(oContact,Personne) +FichierVersEcran() +fin +fin +autre cas +fin +si nId <= 0 alors +renvoyer Faux +fin +// On initialise o un cherche le lien du contact avec la fenêtre appelante +selon saFenetre +cas cFI_DonneursOrdre +si nId > 0 alors +si HLitRecherchePremier(Intervention,IN_PKID,nId) alors +oContactInter.nIDIntervention = Intervention.IN_PKID +oContactInter.nIDClient = Intervention.IN_IDClient +sinon +Ferme() +fin +si nIdPersonne > 0 alors +rqSqlInter.p_IdInter = oContactInter.nIDIntervention +rqSqlInter.p_IdPersonne = nIdPersonne +rqSqlInter.p_IdClient= oContactInter.nIDClient +si pas HExécuteRequêteSQL(rqSqlInter) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Fiche_Contact.Filtrer") +sinon +pour tout rqSqlInter +FichierVersMémoire(oContactInter,rqSqlInter) +FichierVersMémoire(oContact,rqSqlInter) +fin +fin +fin +fin +cas cFI_ContactSite +si HLitRecherchePremier(Intervention,IN_PKID,nId) alors +oContactInter.nIDIntervention = Intervention.IN_PKID +oContactInter.nIDLieu = Intervention.IN_IDLieu +sinon +Ferme() +fin +si nIdPersonne > 0 alors +rqSqlInter.p_IdInter = oContactInter.nIDIntervention +rqSqlInter.p_IdPersonne = nIdPersonne +rqSqlInter.p_IdLieu = oContactInter.nIDLieu +si pas HExécuteRequêteSQL(rqSqlInter) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Fiche_Contact.Filtrer") +sinon +pour tout rqSqlInter +FichierVersMémoire(oContactInter,rqSqlInter) +FichierVersMémoire(oContact,rqSqlInter) +fin +fin +fin +06/08/2026 Batik 5124 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Procédures +cas cFI_Liste_ContactSite +si nIdPersonne > 0 alors +rqSqlSite.p_IdPersonne = nIdPersonne +rqSqlSite.p_IdLieu = nId +si pas HExécuteRequêteSQL(rqSqlSite) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Fiche_Contact.Filtrer") +sinon +pour tout rqSqlSite +FichierVersMémoire(oContactSite,rqSqlSite) +FichierVersMémoire(oContact,rqSqlSite) +fin +fin +sinon +oContactSite.nIDLieu = nId +fin +cas cFI_Liste_ContactClient +si nIdPersonne > 0 alors +rqSqlClient.p_idPersonne = nIdPersonne +rqSqlClient.p_IdClient = nId +si pas HExécuteRequêteSQL(rqSqlClient) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Fiche_Contact.Filtrer") +sinon +pour tout rqSqlClient +FichierVersMémoire(oContact,rqSqlClient) +CMOD_Client.SAI_Texte = rqSqlClient.CL_Nom +fin +fin +sinon +oContact.nIDClient = nId +si HLitRecherchePremier(Client,CL_PKID,oContact:nIDClient) alors +CMOD_Client.SAI_Texte = Client.CL_Nom +fin +fin +autre cas +fin +selon saFenetre +cas cFI_DonneursOrdre,cFI_ContactSite +DISP_Contact[cDispoEtageLot]..Visible = Vrai +CMOD_Role.CMB_Combo..Libellé = "Rôle dans l'intervention" +si oContactInter:nPKID > 0 alors +CMOD_Etage.SAI_Texte = oContactInter:saEtage +CMOD_Lot.SAI_Texte = oContactInter:saLot +CMOD_Role.CMB_Combo = oContactInter:saCleRole +fin +cas cFI_Liste_ContactSite +DISP_Contact[cDispoEtageLot]..Visible = Vrai +CMOD_Role.CMB_Combo..Libellé = "Rôle dans le site" +si oContactSite:nPKID > 0 alors +CMOD_Etage.SAI_Texte = oContactSite:saEtage +CMOD_Lot.SAI_Texte = oContactSite:saLot +CMOD_Role.CMB_Combo = oContactSite:saCleRole +fin +cas cFI_Liste_ContactClient +DISP_Contact[cDispoEtageLot]..Visible = Faux +DISP_Contact[cDispoClient]..Visible = Vrai +autre cas +fin +06/08/2026 Batik 5125 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Contact › Procédures +si oContact:nPKID > 0 alors +oContact.bAvecBlocage = Vrai +si pas oContact.DateCharge(oContact:nPKID) alors +bBloque = Faux +oContact.bAvecBlocage = Faux +sinon +bBloque = Vrai +fin +fin +SourceVersEcran() +MaJBtnBlocage() +Procédure locale MaJBtnBlocage +procédure MaJBtnBlocage() +GR_Modif..EnSaisie = bBloque +si pas bBloque alors +CMOD_Ouvert..Visible = Faux +CMOD_Bloque..Visible = Vrai +sinon +CMOD_Ouvert..Visible = Vrai +CMOD_Bloque..Visible = Faux +fin +Procédure locale Modifier +procédure Modifier(saNomChamp est une chaîne ANSI) +bModifie est un booléen = Faux +si {saNomChamp}..LiaisonFichier <> "" _et_ saNomChamp <> "" _et_ {saNomChamp} <> {{saNomChamp}.. +LiaisonFichier} alors +bModifie = Vrai +fin +si bModifie alors +si bModifDirect alors +Enregistrer() +fin +fin +06/08/2026 Batik 5126 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Image +FI_TdB_Fiche_Client +Image +FI_TdB_Fiche_Client +Informations générales +FI_TdB_Fiche_Client +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TdB_Fiche_Client.wdw +Créé par SMR +Date de création 17/07/2025 11:47:24 +06/08/2026 Batik 5127 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations générales +| Dernière modification par | | susana@applilogik.fr | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date dernière modification | | 10/04/2026 17:02:15 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 600 Hauteur | 690 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 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 | | Windows 11 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 5128 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations générales +| Adapte Taille contenu | Non | | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | +| Assombri quand inactif | Oui | | | | | | +| Déplace souris sur bouton par | Non | | | | | | +| Compact. barres outils | Non | | | | | | +Statistiques de la fenêtre +| | Champ de saisie | | 15 | Libellé | | 3 | +| --- | ---------------------- | --- | --- | ---------------------- | --- | --- | +| | Interrupteur | | 1 | Image | | 4 | +| | Table | | 1 | Combo | | 6 | +| | Forme | | 1 | Fenêtre interne | | 1 | +| | Champ Modèle de champs | | 31 | Option d'interrupteur | | 1 | +| | Option de menu | | 6 | Colonne de table | | 7 | +| | Disposition | | 1 | Cellule de disposition | | 7 | +Nombre d'éléments dans la fenêtre : 85 +FI_TdB_Fiche_Client +Informations sur les champs +Fenêtre : FI_TdB_Fiche_Client +Fenêtre interne +BAT ehcuoT +X noitisoP laitini tatE +Y noitisoP +| | | | ruegraL | ruetuaH | | | +| --- | --- | --- | ------- | ------- | --- | --- | +elbisiV +nalP +| FI_TdB_Fiche_Client | | 0 | 0 600 | 690 | 0 | | +| ------------------- | --- | --- | ----- | --- | --- | --- | +Fenêtre interne : FI_TdB_Fiche_Client +| 06/08/2026 | | | Batik | | | 5129 | +| ---------- | --- | --- | ----- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Apporteur | 394 | 107 195 | 53 | 0 | Actif | | +| ------------------- | --- | ------- | --- | --- | ----- | --- | +| CMOD_Bloque | 565 | 3 30 | 24 | 0 | Actif | | +| CMOD_BloqueClient | 1 | 121 85 | 29 | 0 | Actif | | +| CMOD_Civilite | 1 | 1 193 | 53 | 0 | Actif | | +| CMOD_CodeCompta | 1 | 54 193 | 53 | 0 | Actif | | +| CMOD_Email | 1 | 1 257 | 53 | 0 | Actif | | +| CMOD_FormeJuridique | 3 | 1 161 | 53 | 0 | Actif | | +| CMOD_Img | 7 | 3 29 | 24 | 0 | Actif | | +| CMOD_InfoBlocage | 4 | 0 582 | 64 | 0 | Actif | | +| CMOD_InfoExp | 4 | 49 585 | 26 | 0 | Actif | | +| CMOD_InfoSup | 3 | -1 583 | 50 | 0 | Actif | | +| CMOD_LibTitre2 | 39 | 2 550 | 26 | 0 | Actif | | +| CMOD_Ligne | 1 | 29 599 | 8 | 0 | Actif | | +| CMOD_ModeRgl | 394 | 54 195 | 53 | 0 | Actif | | +| CMOD_Nom | 198 | 5 193 | 53 | 0 | Actif | | +| CMOD_NomCT | 198 | 1 193 | 53 | 0 | Actif | | +| CMOD_NumTVA | 213 | 2 125 | 53 | 0 | Actif | | +| CMOD_Origine | 198 | 107 193 | 53 | 0 | Actif | | +| CMOD_Ouvert | 565 | 3 30 | 24 | 0 | Actif | | +| CMOD_Pays | 166 | 2 45 | 53 | 0 | Actif | | +| CMOD_PrenomCT | 394 | 1 195 | 53 | 0 | Actif | | +| CMOD_SIRET | 464 | 1 125 | 53 | 0 | Actif | | +| CMOD_SansNom1 | 394 | 5 195 | 53 | 0 | Actif | | +| CMOD_SansNom2 | 5 | 3 29 | 24 | 0 | Actif | | +| CMOD_Siren | 339 | 1 123 | 53 | 0 | Actif | | +| CMOD_Statut | 198 | 54 193 | 53 | 0 | Actif | | +| CMOD_Table | 2 | 28 587 | 109 | 0 | Actif | | +| CMOD_Tel1 | 260 | 1 162 | 53 | 0 | Actif | | +| CMOD_Tel2 | 425 | 1 164 | 53 | 0 | Actif | | +| CMOD_Titre | 41 | 3 517 | 26 | 0 | Actif | | +| CMOD_Type | 1 | 5 193 | 53 | 0 | Actif | | +Disposition +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| DISP_Client | 2 | 33 598 | 650 | 0 | Actif | | +| ----------- | --- | ------ | --- | --- | ----- | ---- | +| 06/08/2026 | | Batik | | | | 5130 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Apporteur +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_Combo | 0 | 0 195 | 53 | 0 Actif | Mémoire | Non | | +| --------- | --- | ----- | --- | ------- | ------- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Client.CMOD_Bloque +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --------------- | --- | ------------ | --- | +| | | | | ruegraL ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | | 565 | 3 | 30 24 | 0 | Actif | | +| --------- | --- | --- | --- | ----- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_BloqueClient +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | | | | | laitini tatE | staté siorT | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | ----------- | +| | | X noitisoP | Y noitisoP | | | | | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| INT_Int | | 0 | 0 | 85 29 | 0 Actif | | 1 | +| ---------- | --- | --- | --- | ----- | ------- | --- | ---- | +| 06/08/2026 | | | | Batik | | | 5131 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Civilite +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_Combo | 0 0 | 193 53 | 0 | Actif | Mémoire | | Non | | +| --------- | --- | ------ | --- | ----- | ------- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_CodeCompta +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_Texte | 0 0 193 | 53 0 | Actif | Texte | | Non | | | +| --------- | ------- | ---- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Email +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_Texte | 0 0 257 | 53 0 | Actif | Texte | | Non | | | +| ---------- | ------- | ---- | ----- | ----- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | 5132 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_FormeJuridique +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_Texte | 0 0 | 161 53 0 | Actif Texte | | Non | | +| --------- | --- | -------- | ----------- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Client.CMOD_Img +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP | | | laitini tatE | sucof cevA | +| --- | --- | ---------- | --- | --- | ------------ | ---------- | +Y noitisoP cilc cevA +| | | | ruegraL ruetuaH | | | | +| --- | --- | --- | --------------- | --- | --- | --- | +elbisiV +nalP +| IMG_Icone | | 7 3 | 29 24 | 0 | Actif | | +| --------- | --- | --- | ----- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_InfoBlocage +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_Texte | 0 0 | 582 64 0 | Actif Texte | | Non | | +| ---------- | --- | -------- | ----------- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | 5133 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_InfoExp +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 0 0 | 585 | 26 | 0 | Actif Gauche | Centre | | +| ------- | --- | --- | --- | --- | --- | ------------ | ------ | --- | +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_InfoSup +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_Texte | 0 0 | 583 50 | 0 | Actif | Texte | Non | | | +| --------- | --- | ------ | --- | ----- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_LibTitre2 +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | ---------- | +| | | | | | | laitini tatE | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 0 0 | 550 | 26 | 0 | Actif Gauche | Centre | | +| ---------- | --- | --- | --- | ----- | --- | ------------ | ------ | ---- | +| 06/08/2026 | | | | Batik | | | | 5134 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.CMOD_Ligne +Forme +BAT ehcuoT +| | | X noitisoP | | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | --- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| FRM_Sep | | | 1 | 30 | 599 | 2 | | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_ModeRgl +Combo +reihcif eétsissa eisiaS +| | | | | | | | | eriotagilbo eisiaS | | ruesnecsa elluB .zroH tnemeliféD | +| --- | ---------- | --- | --- | --- | ------------ | ---------- | -------- | ------------------ | ------------ | -------------------------------- | +| | | | | | | BAT ehcuoT | | | ediv is LLUN | | +| | X noitisoP | | | | laitini tatE | | | eisias cevA | | | +| | Y noitisoP | | | | | | sruocraP | | | | +ruegraL ruetuaH +elbisiV +| | | | | nalP | | elbaT | | eéirT | | | +| --------- | --- | --- | --- | ---- | ----- | ------- | --- | ----- | --- | --- | +| CMB_Combo | 0 0 | 195 | 53 | 0 | Actif | Mémoire | | Non | | | +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Nom +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 | FTR tamroF | | | | | +| | X noitisoP Y noitisoP | | | | | engilitluM | | | | | +ruegraL ruetuaH +elbisiV +nalP +| SAI_Texte | 0 0 193 | 53 | 0 | Actif | Texte | | Non | | | | +| --------- | ------- | --- | --- | ----- | ----- | --- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_NomCT +| 06/08/2026 | | | | | Batik | | | | | 5135 | +| ---------- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +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_Texte | 0 0 193 | 53 0 | Actif | Texte | | Non | | | +| --------- | ------- | ---- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_NumTVA +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_Texte | 0 0 125 | 53 0 | Actif | Texte | | Non | | | +| --------- | ------- | ---- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Origine +Combo +reihcif eétsissa eisiaS +| | | | | | | | eriotagilbo eisiaS | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | ------------------ | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | | BAT ehcuoT | eisias cevA | | | +| --- | --------------------- | ------- | ------- | ------------ | ---------- | ----------- | --- | --- | +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | +| | | ruetuaH | | | | sruocraP | | | +| | | ruegraL | elbisiV | | | | | | +elbaT +| | | | nalP | | | eéirT | | | +| ---------- | --- | ------ | ---- | ----- | ------- | ----- | --- | ---- | +| CMB_Combo | 0 0 | 193 53 | 0 | Actif | Mémoire | | Non | | +| 06/08/2026 | | | | Batik | | | | 5136 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.CMOD_Ouvert +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | | | laitini tatE | sucof cevA | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | ---------- | +ruetuaH cilc cevA +ruegraL +elbisiV +nalP +| IMG_Icone | | 565 3 | | 30 24 | 0 | | Actif | | +| --------- | --- | ----- | --- | ----- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Pays +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 | | laitini tatE | eisias epyT | engilitluM | | | | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| SAI_Texte | 0 0 | 45 53 0 | Actif | Texte | | Non | | | +| --------- | --- | ------- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_PrenomCT +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_Texte | 0 0 | 195 53 0 | Actif | Texte | | Non | | | +| ---------- | --- | -------- | ----- | ----- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | 5137 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_SIRET +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_Texte | 0 0 125 | 53 0 | Actif | Texte | | Non | | | +| --------- | ------- | ---- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_SansNom1 +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_Texte | 0 0 195 | 53 0 | affichag | Texte | | Non | | | +| --------- | ------- | ---- | -------- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_SansNom2 +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | | laitini tatE | sucof cevA | +| --- | --- | --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | cilc cevA | | +| --- | --- | --- | ------- | ------- | --- | --- | --------- | --- | +elbisiV +nalP +| IMG_Icone | | 0 | 0 | 29 24 | 0 | | Actif | | +| ---------- | --- | --- | --- | ----- | --- | --- | ----- | ---- | +| 06/08/2026 | | | | Batik | | | | 5138 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Siren +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_Texte | 0 0 123 | 53 | 0 | Actif | Texte | | Non | | | +| --------- | ------- | --- | --- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Statut +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_Combo | 0 | 0 193 | 53 | 0 | Actif | Mémoire | | Non | | +| --------- | --- | ----- | --- | --- | ----- | ------- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Table +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | | | lennoitroporp .csA .loc .gifnoc .oméM | | +| --- | --- | --- | --- | ------------ | ---------- | ------------------ | ----------------------------- | ------------------------------------- | ----------------------------- | +| | | | | | | )(ertliFH resilitU | | ruesnecsa elluB EERTNE noitseG | eércna ennoloC 5.5 elbitapmoC | +| | | | | | | | .gerne egacolB noitcelésitluM | edacsac eisiaS | | +| | | | | laitini tatE | BAT ehcuoT | | | | | +X noitisoP Y noitisoP +| | ruegraL | ruetuaH | | | | sruocraP | | | | +| --- | ------- | ------- | --- | --- | --- | -------- | --- | --- | --- | +elbisiV +elbaT +nalP +| TABLE_Info | 2 2 581 | 103 | 0 | Actif | Mémoir | | | | 2 | +| ---------- | ------- | --- | --- | ----- | ------ | --- | --- | --- | ---- | +| 06/08/2026 | | | | | Batik | | | | 5139 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Table : FI_TdB_Fiche_Client.DISP_Client.CMOD_Table.TABLE_Info +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_PKID | | 880 | Grisé | | Droite | Centre | Numériq | | +| COL_Principal | | 56 | Actif | | Centre | Centre | | | +| COL_Fact | | 68 | Actif | | Centre | Centre | | | +| COL_Livraison | | 59 | Actif | | Centre | Centre | | | +| COL_Adresse | | 162 | affichag | | Gauche | Centre | Texte | | +| COL_CP | | 100 | affichag | | Gauche | Centre | Texte | | +| COL_Ville | | 104 | affichag | | Gauche | Centre | Texte | | +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Tel1 +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_Texte | 0 | 0 162 53 | 0 | Actif Texte | | Non | | | +| --------- | --- | -------- | --- | ----------- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Tel2 +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_Texte | 0 | 0 164 53 | 0 | Actif Texte | | Non | | | +| ---------- | --- | -------- | --- | ----------- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | 5140 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| LIB_lib | 41 | 3 517 | 26 | 0 Actif | Gauche | Centre | | +| ------- | --- | ----- | --- | ------- | ------ | ------ | --- | +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Type +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 +| | | nalP | | elbaT | eéirT | | | +| --------- | ------- | ---- | ------- | ------- | ----- | --- | --- | +| CMB_Combo | 0 0 193 | 53 | 0 Actif | Mémoire | | Non | | +Fenêtre : FI_TdB_Fiche_Client +Fenêtre interne : FI_TdB_Fiche_Client +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | | +| Numéro aide | 0 | | | | | | | +| Thème destination | Oui | | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | | +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | | | +| ------------------------- | ------- | --- | --- | --- | --- | --- | --- | +| Ctx. HFSQL indép. | Non | | | | | | | +| Ancrage | <Aucun> | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Batik | | | | 5141 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Fenêtre interne : FI_TdB_Fiche_Client +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Apporteur +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 670 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.CMOD_Bloque +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5142 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_BloqueClient +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Civilite +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +06/08/2026 Batik 5143 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_CodeCompta +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Email +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 450 Taux anc. hauteur 1000 +06/08/2026 Batik 5144 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_FormeJuridique +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 340 Taux anc. bas 1000 Taux anc. largeur 270 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.CMOD_Img +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5145 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_InfoBlocage +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_InfoExp +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et bas +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5146 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_InfoSup +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_LibTitre2 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5147 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.CMOD_Ligne +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_ModeRgl +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 670 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +06/08/2026 Batik 5148 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Nom +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 340 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_NomCT +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 340 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +06/08/2026 Batik 5149 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_NumTVA +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 350 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Origine +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 340 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +06/08/2026 Batik 5150 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.CMOD_Ouvert +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Pays +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 270 Taux anc. bas 1000 Taux anc. largeur 80 Taux anc. hauteur 1000 +06/08/2026 Batik 5151 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_PrenomCT +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 670 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_SIRET +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 750 Taux anc. bas 1000 Taux anc. largeur 250 Taux anc. hauteur 1000 +06/08/2026 Batik 5152 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_SansNom1 +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 670 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_SansNom2 +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5153 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Siren +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 550 Taux anc. bas 1000 Taux anc. largeur 200 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Statut +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 340 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +06/08/2026 Batik 5154 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Table +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Tel1 +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 450 Taux anc. bas 1000 Taux anc. largeur 270 Taux anc. hauteur 1000 +06/08/2026 Batik 5155 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Tel2 +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 720 Taux anc. bas 1000 Taux anc. largeur 270 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.CMOD_Titre +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5156 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Type +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 330 Taux anc. hauteur 1000 +Disposition : FI_TdB_Fiche_Client.DISP_Client +Libellé FR: Disposition +Ordre navigation 6 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cellule ancrée 7 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Verticale +Marge entre les cellules 6 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5157 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Apporteur +Combo : FI_TdB_Fiche_Client.DISP_Client.CMOD_Apporteur.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +Groupe GR_Modif +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 195 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 396 +Largeur interne 195 +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 +06/08/2026 Batik 5158 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +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 Oui +Liaison des données :oClient.saCleApporteur +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.CMOD_Bloque +Image : FI_TdB_Fiche_Client.CMOD_Bloque.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\cadena_fermé_noire.svg +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 +06/08/2026 Batik 5159 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Texte Markdown Non +Mode menu ctx. <Aucun> +Mire visible Oui +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_BloqueClient +Interrupteur : FI_TdB_Fiche_Client.DISP_Client.CMOD_BloqueClient.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Groupe GR_Modif +Ordre navigation 1 +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 +06/08/2026 Batik 5160 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +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> +Liaison des données :oClient.bBlocage +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Civilite +Combo : FI_TdB_Fiche_Client.DISP_Client.CMOD_Civilite.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +Groupe GR_Modif +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 193 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 3 +Largeur interne 193 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +06/08/2026 Batik 5161 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +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 Oui +Liaison des données :oClient.oContactPrincipal.saCleCivilite +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5162 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_CodeCompta +Champ de saisie : FI_TdB_Fiche_Client.DISP_Client.CMOD_CodeCompta.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 3 +Largeur interne 193 +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 +06/08/2026 Batik 5163 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +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> +Liaison des données :oClient.saCodeComptable +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Email +Champ de saisie : FI_TdB_Fiche_Client.DISP_Client.CMOD_Email.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 5164 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +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 3 +Largeur interne 257 +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 +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 +06/08/2026 Batik 5165 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :stClientInfo.saEmail +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_FormeJuridique +Champ de saisie : FI_TdB_Fiche_Client.DISP_Client.CMOD_FormeJuridique.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 5 +Largeur interne 161 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Batik 5166 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +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 +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> +Liaison des données :oClient.saFormeJuridique +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 et hauteur +06/08/2026 Batik 5167 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.CMOD_Img +Image : FI_TdB_Fiche_Client.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Client_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 5168 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_InfoBlocage +Champ de saisie : FI_TdB_Fiche_Client.DISP_Client.CMOD_InfoBlocage.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Groupe GR_Modif +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 7 +Largeur interne 581 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +06/08/2026 Batik 5169 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +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> +Liaison des données :oClient.saRaisonBlocage +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_InfoExp +Libellé : FI_TdB_Fiche_Client.DISP_Client.CMOD_InfoExp.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +06/08/2026 Batik 5170 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_InfoSup +Champ de saisie : FI_TdB_Fiche_Client.DISP_Client.CMOD_InfoSup.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Groupe GR_Modif +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> +06/08/2026 Batik 5171 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Cadrage horz. Gauche +Position X interne 6 +Largeur interne 582 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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> +Liaison des données :oClient.saInfoSup +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 +06/08/2026 Batik 5172 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_LibTitre2 +Libellé : FI_TdB_Fiche_Client.DISP_Client.CMOD_LibTitre2.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5173 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.CMOD_Ligne +Forme : FI_TdB_Fiche_Client.CMOD_Ligne.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_ModeRgl +Combo : FI_TdB_Fiche_Client.DISP_Client.CMOD_ModeRgl.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +Groupe GR_Modif +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 195 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +06/08/2026 Batik 5174 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Position X interne 396 +Largeur interne 195 +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 Oui +Liaison des données :oClient.saCleModeReglement +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5175 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Nom +Champ de saisie : FI_TdB_Fiche_Client.DISP_Client.CMOD_Nom.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 200 +Largeur interne 193 +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 +06/08/2026 Batik 5176 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +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> +Liaison des données :stClientInfo.saNomClient +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_NomCT +Champ de saisie : FI_TdB_Fiche_Client.DISP_Client.CMOD_NomCT.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 5177 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +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 200 +Largeur interne 193 +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 +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 +06/08/2026 Batik 5178 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :stClientInfo.saNom +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_NumTVA +Champ de saisie : FI_TdB_Fiche_Client.DISP_Client.CMOD_NumTVA.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 215 +Largeur interne 125 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Batik 5179 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +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 +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> +Liaison des données :oClient.saCodeTVA +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 et hauteur +06/08/2026 Batik 5180 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Origine +Combo : FI_TdB_Fiche_Client.DISP_Client.CMOD_Origine.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +Groupe GR_Modif +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 193 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 200 +Largeur interne 193 +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 +06/08/2026 Batik 5181 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +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 Oui +Liaison des données :oClient.saCleApporteurOrigine +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.CMOD_Ouvert +Image : FI_TdB_Fiche_Client.CMOD_Ouvert.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\cadena_ouvert_noire.svg +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 +06/08/2026 Batik 5182 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Pays +Champ de saisie : FI_TdB_Fiche_Client.DISP_Client.CMOD_Pays.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 168 +Largeur interne 45 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Batik 5183 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +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 +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> +Liaison des données :oClient.saPays +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 et hauteur +06/08/2026 Batik 5184 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_PrenomCT +Champ de saisie : FI_TdB_Fiche_Client.DISP_Client.CMOD_PrenomCT.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 396 +Largeur interne 195 +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 +06/08/2026 Batik 5185 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +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> +Liaison des données :stClientInfo.saPrenom +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_SIRET +06/08/2026 Batik 5186 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ de saisie : FI_TdB_Fiche_Client.DISP_Client.CMOD_SIRET.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 466 +Largeur interne 125 +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 +06/08/2026 Batik 5187 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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> +Liaison des données :oClient.saSIRET +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_SansNom1 +Champ de saisie : FI_TdB_Fiche_Client.DISP_Client.CMOD_SansNom1.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 +06/08/2026 Batik 5188 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 396 +Largeur interne 195 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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> +Liaison des données :oClient.saCodeClient +Gestion Euro Non +06/08/2026 Batik 5189 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_SansNom2 +Image : FI_TdB_Fiche_Client.DISP_Client.CMOD_SansNom2.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\coordonnees.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +06/08/2026 Batik 5190 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Orientation EXIF Oui +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 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Siren +Champ de saisie : FI_TdB_Fiche_Client.DISP_Client.CMOD_Siren.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 341 +Largeur interne 123 +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 +06/08/2026 Batik 5191 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › 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 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> +Liaison des données :oClient.saSIREN +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5192 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Statut +Combo : FI_TdB_Fiche_Client.DISP_Client.CMOD_Statut.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +Groupe GR_Modif +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 193 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 200 +Largeur interne 193 +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 +06/08/2026 Batik 5193 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +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 Oui +Liaison des données :oClient.saCleStatut +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Table +Table : FI_TdB_Fiche_Client.DISP_Client.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Groupe GR_Modif +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +06/08/2026 Batik 5194 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Sens Vertical +Retrait gauche 0 +Angle titre 0 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Hauteur des lignes Non +Sélection multiple Non +Bulle sur tronqués Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Scroll au pixel Oui +Scroll au doigt Non +Asc. horizontal Automatique +Asc. vertical Toujours visible +Mode de sélection Sélection simple +Sélect. colonnes Sans sélection +Sélect. cellules Sans sélection +Ajout éléments supplémentaires Non +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5195 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Table : FI_TdB_Fiche_Client.DISP_Client.CMOD_Table.TABLE_Info +Colonne de table : FI_TdB_Fiche_Client.DISP_Client.CMOD_Table.TABLE_Info.COL_PKID +Titre FR: PKID +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 : +Titre FR: Pcpl. +Curseur survol 0 +UI par l'utilisateur <Aucun> +Bouton Calculatrice Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Bulle d'aide FR: Adresse principal +Numéro aide 0 +Bandeau visible Oui +06/08/2026 Batik 5196 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › 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 80 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Fiche_Client.DISP_Client.CMOD_Table.TABLE_Info.COL_Fact +Titre FR: Fact +Curseur survol 0 +UI par l'utilisateur <Aucun> +Bouton Calculatrice Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Bulle d'aide FR: Adresse de facturation +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 80 Taux anc. hauteur 1000 +06/08/2026 Batik 5197 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Colonne de table : +Titre FR: Livr. +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Bulle d'aide FR: Adresse de livraison +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 80 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: Adresse +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 +06/08/2026 Batik 5198 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › 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 460 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Fiche_Client.DISP_Client.CMOD_Table.TABLE_Info.COL_CP (6) +Titre FR: Code postal +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 100 Taux anc. hauteur 1000 +06/08/2026 Batik 5199 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Colonne de table : FI_TdB_Fiche_Client.DISP_Client.CMOD_Table.TABLE_Info.COL_Ville +Titre FR: Ville +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 200 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Tel1 +Champ de saisie : FI_TdB_Fiche_Client.DISP_Client.CMOD_Tel1.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +Bouton Suppression <Aucun> +06/08/2026 Batik 5200 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +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 262 +Largeur interne 162 +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 +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> +Liaison des données :stClientInfo.saTel1 +06/08/2026 Batik 5201 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Tel2 +Champ de saisie : FI_TdB_Fiche_Client.DISP_Client.CMOD_Tel2.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 427 +Largeur interne 164 +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 +06/08/2026 Batik 5202 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › 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> +Liaison des données :stClientInfo.saTel2 +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5203 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.CMOD_Titre +Libellé : FI_TdB_Fiche_Client.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5204 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Client.DISP_Client.CMOD_Type +Combo : FI_TdB_Fiche_Client.DISP_Client.CMOD_Type.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +Groupe GR_Modif +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 193 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 3 +Largeur interne 193 +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 +06/08/2026 Batik 5205 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les champs +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 Oui +Liaison des données :oClient.saCleType +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TdB_Fiche_Client +Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Creer (2) +OPT_Modifier_l_adresse (3) +OPT_Supprimer_l_adresse (4) +Libellé des options : Français +Créer une nouvelle adresse +Modifier l'adresse +Supprimer l'adresse +06/08/2026 Batik 5206 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Informations sur les menus +Menu contextuel : 'MENU_OptionsClient' +Nom des options +OPT_SansNom1 (6) +Libellé des options : Français +FI_TdB_Fiche_Client +Code des champs +Déclarations globales de FI_TdB_Fiche_Client +procédure FI_TdB_Fiche_Client() +oClient est un MClient +bModifDirect est un booléen = Vrai +tbaParametres est un tableau associatif de chaînes ANSI +saFenetre est une chaîne ANSI +constante +cDispo_InfoCtc = 2 +cDispo_InfoSociete = 4 +cDispo_InfoBlocage = 5 +fin +STInfoClient est une Structure +saNomClient est une chaîne ANSI +saNom est une chaîne ANSI +saPrenom est une chaîne ANSI +saEmail est une chaîne ANSI +saTel1 est une chaîne ANSI +saTel2 est une chaîne ANSI +fin +stClientInfo est un STInfoClient +bBloque est un booléen +bMenuOption est un booléen +Fin d'initialisation de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Bloque +06/08/2026 Batik 5207 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +BlocageEnrg() +A chaque modification de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +06/08/2026 Batik 5208 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MENU_OptionsClient) +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ligne +06/08/2026 Batik 5209 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5210 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +ExécuteAncêtre +A chaque modification de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +BlocageEnrg() +A chaque modification de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Fiche Client" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +06/08/2026 Batik 5211 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Apporteur +salib = "Apporté par" +Fin d'initialisation de CMOD_Apporteur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Apporteur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Apporteur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Apporteur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Apporteur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Apporteur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Apporteur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Apporteur ) +06/08/2026 Batik 5212 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême.NomComplet,cParam_ApportClient,Vrai,oClient:saCleApporteur) +Entrée dans CMB_Combo ( CMOD_Apporteur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Apporteur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Apporteur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Apporteur.CMB_Combo..Nom) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Apporteur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_BloqueClient +salib = "Bloqué" +Fin d'initialisation de CMOD_BloqueClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BloqueClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BloqueClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BloqueClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BloqueClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BloqueClient +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BloqueClient +06/08/2026 Batik 5213 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_BloqueClient ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Int ( CMOD_BloqueClient ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Int ( CMOD_BloqueClient ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Int ( CMOD_BloqueClient ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_BloqueClient.INT_Int..NomComplet) +MaJDispositionClient() +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_BloqueClient ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Civilite +salib = "Civilité" +Fin d'initialisation de CMOD_Civilite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Civilite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Civilite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Civilite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Civilite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Civilite +06/08/2026 Batik 5214 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Civilite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Civilite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême.NomComplet,cParam_Civilite,Vrai,oClient:oContactPrincipal:saCleCivilite) +Entrée dans CMB_Combo ( CMOD_Civilite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Civilite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Civilite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Civilite.CMB_Combo..NomComplet) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Civilite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CodeCompta +salib = "Code comptable" +Fin d'initialisation de CMOD_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CodeCompta +06/08/2026 Batik 5215 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_CodeCompta.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Email +salib = "Émail" +Fin d'initialisation de CMOD_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Email +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5216 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Email.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_FormeJuridique +salib = "Forme juridique" +Fin d'initialisation de CMOD_FormeJuridique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_FormeJuridique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_FormeJuridique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_FormeJuridique +06/08/2026 Batik 5217 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_FormeJuridique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_FormeJuridique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_FormeJuridique +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_FormeJuridique ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_FormeJuridique ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_FormeJuridique ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_FormeJuridique.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_FormeJuridique ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_FormeJuridique ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_InfoBlocage +salib = "Raison du blocage" +Fin d'initialisation de CMOD_InfoBlocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_InfoBlocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_InfoBlocage +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5218 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +ExécuteAncêtre +Sortie de CMOD_InfoBlocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_InfoBlocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_InfoBlocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_InfoBlocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_InfoBlocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_InfoBlocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_InfoBlocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_InfoBlocage.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_InfoBlocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_InfoBlocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_InfoExp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_InfoExp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_InfoExp +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5219 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +ExécuteAncêtre +Sortie de CMOD_InfoExp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_InfoExp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_InfoExp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_InfoExp +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_InfoExp ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_InfoExp ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_InfoSup +salib = "Informations supplémentaires" +Fin d'initialisation de CMOD_InfoSup +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_InfoSup +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_InfoSup +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_InfoSup +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_InfoSup +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_InfoSup +06/08/2026 Batik 5220 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_InfoSup +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_InfoSup ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_InfoSup ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_InfoSup ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_InfoSup.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_InfoSup ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_InfoSup ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_LibTitre2 +salib = "Coordonnées" +Fin d'initialisation de CMOD_LibTitre2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibTitre2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibTitre2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibTitre2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibTitre2 +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5221 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibTitre2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibTitre2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_LibTitre2 ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_LibTitre2 ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_ModeRgl +salib = "Mode de règlement" +Fin d'initialisation de CMOD_ModeRgl +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_ModeRgl +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_ModeRgl +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_ModeRgl +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_ModeRgl +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_ModeRgl +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_ModeRgl +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_ModeRgl ) +06/08/2026 Batik 5222 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême.NomComplet,cParam_ModeReglClient,Vrai,oClient:saCleModeReglement) +Entrée dans CMB_Combo ( CMOD_ModeRgl ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_ModeRgl ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_ModeRgl ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_ModeRgl.CMB_Combo..NomComplet) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_ModeRgl ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Nom +salib = "Nom du client" +Fin d'initialisation de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Nom +06/08/2026 Batik 5223 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Nom.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NomCT +salib = "Nom" +Fin d'initialisation de CMOD_NomCT +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NomCT +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NomCT +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NomCT +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NomCT +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NomCT +06/08/2026 Batik 5224 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NomCT +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NomCT ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_NomCT ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_NomCT ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_NomCT.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_NomCT ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NomCT ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NumTVA +salib = "Numéro de TVA" +Fin d'initialisation de CMOD_NumTVA +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NumTVA +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NumTVA +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NumTVA +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NumTVA +06/08/2026 Batik 5225 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NumTVA +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NumTVA +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NumTVA ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_NumTVA ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_NumTVA ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_NumTVA.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_NumTVA ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NumTVA ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Origine +salib = "Origine" +Fin d'initialisation de CMOD_Origine +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Origine +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Origine +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Origine +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5226 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Origine +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Origine +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Origine +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Origine ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême.NomComplet,cParam_ApportOrigClient,Vrai,oClient:saCleApporteurOrigine) +Entrée dans CMB_Combo ( CMOD_Origine ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Origine ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Origine ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Origine.CMB_Combo..NomComplet) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Origine ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Pays +salib = "Pays" +Fin d'initialisation de CMOD_Pays +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Pays +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Pays +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5227 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +ExécuteAncêtre +Sortie de CMOD_Pays +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Pays +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Pays +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Pays +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Pays ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Pays ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Pays ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Pays.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_Pays ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Pays ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_PrenomCT +salib = "Prénom" +Fin d'initialisation de CMOD_PrenomCT +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_PrenomCT +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_PrenomCT +06/08/2026 Batik 5228 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_PrenomCT +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_PrenomCT +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_PrenomCT +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_PrenomCT +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_PrenomCT ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_PrenomCT ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_PrenomCT ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_PrenomCT.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_PrenomCT ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_PrenomCT ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SansNom1 +salib = "Code client" +Fin d'initialisation de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5229 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom2 +06/08/2026 Batik 5230 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Siren +salib = "SIREN" +Fin d'initialisation de CMOD_Siren +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5231 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Siren +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Siren +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Siren +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Siren +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Siren +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Siren +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Siren ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Siren ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Siren ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Siren.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_Siren ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Siren ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SIRET +salib = "SIRET" +Fin d'initialisation de CMOD_SIRET +06/08/2026 Batik 5232 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SIRET +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SIRET +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SIRET +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SIRET +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SIRET +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SIRET +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_SIRET ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_SIRET ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_SIRET ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_SIRET.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_SIRET ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_SIRET ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Statut +06/08/2026 Batik 5233 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +salib = "Statut du client" +Fin d'initialisation de CMOD_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême.NomComplet,cParam_StatutClient,Vrai,oClient:saCleStatut) +Entrée dans CMB_Combo ( CMOD_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Statut.CMB_Combo..NomComplet) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Statut ) +06/08/2026 Batik 5234 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5235 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +ModifierAdresse() +A chaque modification de COL_Fact ( TABLE_Info ) +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ oClient:tbaCoord[COL_PKID[i]]..Existe > 0 alors +oClient:tbaCoord[COL_PKID[i]].bFact = COL_Fact[i] +si pas oClient:tbaCoord[COL_PKID[i]].Enregistrer() alors +COL_Fact[i] = COL_Fact[i] ? Faux sinon Vrai +fin +si COL_Fact[i] alors +pour toute ligne b de TABLE_Info +si COL_PKID[i] <> COL_PKID[b] _et_ COL_Fact[b] _et_ oClient:tbaCoord[COL_PKID[b]]..Existe +alors +oClient:tbaCoord[COL_PKID[b]].bFact = Faux +si oClient:Enregistrer() alors +COL_Fact[b] = Faux +fin +fin +fin +fin +fin +A chaque modification de COL_Livraison ( TABLE_Info ) +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ oClient:tbaCoord[COL_PKID[i]]..Existe > 0 alors +oClient:tbaCoord[COL_PKID[i]].bLivraison = COL_Livraison[i] +si pas oClient:tbaCoord[COL_PKID[i]].Enregistrer() alors +COL_Livraison[i] = COL_Livraison[i] ? Faux sinon Vrai +fin +fin +Initialisation de COL_PKID ( TABLE_Info ) +06/08/2026 Batik 5236 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_Principal ( TABLE_Info ) +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ oClient:tbaCoord[COL_PKID[i]]..Existe > 0 alors +oClient:tbaCoord[COL_PKID[i]].bPrincipal = COL_Principal[i] +si pas oClient:tbaCoord[COL_PKID[i]].Enregistrer() alors +COL_Principal[i] = COL_Principal[i] ? Faux sinon Vrai +sinon +si COL_Principal[i] alors +pour toute ligne b de TABLE_Info +si COL_PKID[i] <> COL_PKID[b] _et_ COL_Principal[b] _et_ oClient:tbaCoord[COL_PKID[b]] +..Existe alors +oClient:tbaCoord[COL_PKID[b]].bPrincipal = Faux +si oClient:Enregistrer() alors +COL_Principal[b] = Faux +fin +fin +fin +fin +fin +fin +Déclarations globales de CMOD_Tel1 +salib = "Téléphone n° 1" +Fin d'initialisation de CMOD_Tel1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Tel1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Tel1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Tel1 +06/08/2026 Batik 5237 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Tel1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Tel1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Tel1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Tel1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Tel1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Tel1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Tel1.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_Tel1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Tel1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Tel2 +salib = "Téléphone n° 2" +Fin d'initialisation de CMOD_Tel2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Tel2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Tel2 +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5238 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +ExécuteAncêtre +Sortie de CMOD_Tel2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Tel2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Tel2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Tel2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Tel2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Tel2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Tel2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Tel2.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_Tel2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Tel2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Type +salib = "Type du client" +Fin d'initialisation de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Type +06/08/2026 Batik 5239 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême.NomComplet,cParam_TypeClient,Vrai,oClient:saCleType) +Entrée dans CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Type.CMB_Combo..NomComplet) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection du menu de MNU_Options.OPT_Creer +AjouterAdresse() +Sélection du menu de MNU_Options.OPT_Modifier_l_adresse +ModifierAdresse() +Sélection du menu de MNU_Options.OPT_Supprimer_l_adresse +06/08/2026 Batik 5240 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Code des champs +SupprimerAdresse() +FI_TdB_Fiche_Client +Procédures +Procédure locale AjouterAdresse +procédure AjouterAdresse() +si oClient:nPKID <= 0 _et_ pas bModifDirect alors +si OuiNon(Oui,"Le client va être enregistré, voulez-vous continuer ?") = Oui alors +Enregistrer() +fin +fin +si oClient:nPKID <= 0 alors +renvoyer Faux +fin +bAjout est un booléen = Ouvre(FEN_Fiche_Adresse,0,oClient:nPKID) +si bAjout alors +FiltrerCoord() +fin +Procédure locale BlocageEnrg +procédure BlocageEnrg() +si oClient:nPKID <= 0 alors +bBloque = Vrai +renvoyer Vrai +fin +si pas bBloque _et_ oClient:nVerrou <> Base.VerrouParMoi alors +FiltrerClient(oClient:nPKID,Vrai) +sinon +si bBloque _et_ oClient:nVerrou = Base.VerrouParMoi alors +oClient:bDebloqueEnreg = Vrai +oClient:DebloqueFichier() +bBloque = Faux +sinon +bBloque = Faux +fin +fin +si bBloque alors +FiltrerNomClient() +FiltrerCoord() +SourceVersEcran() +MaJDispositionClient() +fin +MaJBtnBlocage() +Procédure locale CreationClientBG +06/08/2026 Batik 5241 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Procédures +procédure CreationClientBG() +Sablier(Vrai) +si gbBATIGESTActif _et_ oClient.nPKID > 0 _et_ gTbConfigsBDExt..Occurrence > 0 alors +si pas HLitRecherchePremier(Client_BddExterne,CLX_IDCLient,oClient:nPKID) alors +//stClientExp est un ST_BG_CLIENT +tbIdSoc est un tableau associatif de chaînes ANSI +bOk est un booléen = Faux +//(bOk,tbIdSoc) = ExporterClientBDExt(oClient,stClientExp) +si bOk alors +si HLitRecherchePremier(Client_BddExterne,CLX_IDCLient,oClient.nPKID) alors +MenuSupprime("Opt_Exporter.CreationExt") +MenuAjouteOption("Opt_Exporter","MaJClientExt","Mise à jour (Batigest)", +MiseAJourClientBG) +fin +Info("Traitement terminé") +fin +sinon +Erreur("Le client existe dans la base externe") +renvoyer Faux +fin +fin +Sablier(fauxToutSablier) +Procédure locale Enregistrer +procédure Enregistrer(bOk est un booléen = Vrai, nIdRetour est un entier sur 8 octets = 0) +EcranVersSource() +si pas bBloque alors +bOk = Faux +renvoyer Faux +fin +oClient:saNom = stClientInfo.saNomClient +oClient:saTel = stClientInfo.saTel1 +oClient:saFax = stClientInfo.saTel2 +oClient:saEmail = stClientInfo.saEmail +oClient:oContactPrincipal:saNom = stClientInfo.saNom +oClient:oContactPrincipal:saPrenom= stClientInfo.saPrenom +oClient:oContactPrincipal:saTel1 = stClientInfo.saTel1 +oClient:oContactPrincipal:saTel2 = stClientInfo.saTel2 +oClient:oContactPrincipal:saEmail = stClientInfo.saEmail +si oClient:nPKID <= 0 alors +si oClient:saCleType = cCle_ClientParticulier alors +si pas oClient.oContactPrincipal:Enregistrer() alors +bOk = Faux +renvoyer Faux +fin +oClient:nIDContactPrincipal = oClient:oContactPrincipal:nPKID +si pas oClient:Enregistrer() alors +bOk = Faux +renvoyer Faux +fin +oClient:oContactPrincipal:nIDClient = oClient:nPKID +si pas oClient.oContactPrincipal:Enregistrer() alors +bOk = Faux +renvoyer Faux +fin +sinon +si pas oClient:Enregistrer() alors +06/08/2026 Batik 5242 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Procédures +bOk = Faux +renvoyer Faux +fin +fin +sinon +si oClient:saCleType = cCle_ClientParticulier alors +si oClient:oContactPrincipal:nPKID <= 0 alors +oClient:oContactPrincipal:nIDClient = oClient:nPKID +si pas oClient.oContactPrincipal:Enregistrer() alors +bOk = Faux +renvoyer Faux +fin +oClient:nIDContactPrincipal = oClient:oContactPrincipal:nPKID +si pas oClient:Enregistrer() alors +bOk = Faux +renvoyer Faux +fin +sinon +oClient:oContactPrincipal:nIDClient = oClient:nPKID +oClient:nIDContactPrincipal = oClient:oContactPrincipal.nPKID +si pas oClient.oContactPrincipal:Enregistrer() alors +bOk = Faux +renvoyer Faux +fin +si pas oClient:Enregistrer() alors +bOk = Faux +renvoyer Faux +fin +fin +sinon +si pas oClient:Enregistrer() alors +bOk = Faux +renvoyer Faux +fin +fin +fin +bOk = Vrai +nIdRetour = oClient:nPKID +renvoyer Vrai +Procédure locale Filtrer +procédure Filtrer(nIdClient est un entier sur 8 octets) +si nIdClient <= 0 alors +nCodeClient est un entier = CreaCompteur(ParametreApplicationLit(cParam_PF_Code_Client, +"CLI",Faux,"Indique si la création du client contient un préfixe")) +nTailleCompteur est un entier = Val(ParametreApplicationLit(cParam_T_Compteur_Client,5,Faux, +"Contient la taille du compteur client complété par des zéros")) +nCodeCompta est un entier = CreaCompteur(ParametreApplicationLit( +cParam_PF_Code_Compta_Client,"411",Faux, +"Indique si la code comptable du client contient un préfixe")) +nTailleCompta est un entier = Val(ParametreApplicationLit(cParam_T_Compteur_Client,10, +Faux,"Contient la taille du compteur client (code comptable) complété par des zéros")) +oClient:saCodeClient = ParametreApplicationLit(cParam_PF_Code_Client,"CLI",Faux, +"Indique si la création du client contient un préfixe")+Répète("0",nTailleCompteur-Taille( +nCodeClient))+nCodeClient +oClient:saCodeComptable = ParametreApplicationLit(cParam_PF_Code_Compta_Client,"411",Faux, +"Indique si la code comptable du client contient un préfixe")+Répète("0",nTailleCompta-Taille( +nCodeClient))+nCodeCompta +SourceVersEcran() +06/08/2026 Batik 5243 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Procédures +bBloque = Vrai +renvoyer Faux +fin +selon saFenetre +cas cFI_Liste_Client,cFEN_Dossier_C,cFI_Liste_SiteClient,cFEN_Inter // Fiche seule +FiltrerClient(nIdClient,Vrai) +autre cas +FiltrerClient(nIdClient,Faux) +fin +FiltrerNomClient() +FiltrerCoord() +SourceVersEcran() +MaJDispositionClient() +MaJBtnBlocage() +bOkBDExt est un booléen = Faux +CMOD_InfoExp..Visible= Faux +si gbBATIGESTActif _et_ nIdClient > 0 _et_ gTbConfigsBDExt..Occurrence > 0 alors +si HLitRecherchePremier(Client_BddExterne,CLX_IDCLient,nIdClient) alors +si SansEspace(Client_BddExterne.CLX_IDExterne) <> "" alors +CMOD_InfoExp.LIB_lib = "Client exportée dans BATIGEST avec le numéro : "+Client_BddExterne +.CLX_IDExterne +CMOD_InfoExp..Visible= Vrai +bOkBDExt = Vrai +fin +sinon +bOkBDExt = Faux +fin +si bOkBDExt _et_ pas bMenuOption alors +MenuAjouteMenu(MENU_OptionsClient,"Opt_Exporter","Exporter") +MenuAjouteOption("Opt_Exporter","MaJClientExt","Mise à jour (Batigest)",MiseAJourClientBG) +bMenuOption = Vrai +fin +si pas bOkBDExt _et_ pas bMenuOption alors +MenuAjouteMenu(MENU_OptionsClient,"Opt_Exporter","Exporter") +MenuAjouteOption("Opt_Exporter","CreationExt","Information Client (Batigest)",CreationClientBG) +bMenuOption = Vrai +fin +fin +Procédure locale FiltrerClient +procédure FiltrerClient(nIdClient est un entier sur 8 octets, bBlocage est un booléen) +si nIdClient <= 0 alors +nCodeClient est un entier = CreaCompteur(ParametreApplicationLit(cParam_PF_Code_Client +,"CLI",Faux,"Indique si la création du client contient un préfixe")) +nTailleCompteur est un entier = Val(ParametreApplicationLit(cParam_T_Compteur_Client,5, +Faux,"Contient la taille du compteur client complété par des zéros")) +nCodeCompta est un entier = CreaCompteur(ParametreApplicationLit( +cParam_PF_Code_Compta_Client,"411",Faux, +"Indique si la code comptable du client contient un préfixe")) +nTailleCompta est un entier = Val(ParametreApplicationLit(cParam_T_Compteur_Client,10, +Faux,"Contient la taille du compteur client (code comptable) complété par des zéros")) +oClient:saCodeClient = ParametreApplicationLit(cParam_PF_Code_Client,"CLI",Faux, +"Indique si la création du client contient un préfixe")+Répète("0",nTailleCompteur-Taille( +nCodeClient))+nCodeClient +06/08/2026 Batik 5244 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Procédures +oClient:saCodeComptable = ParametreApplicationLit(cParam_PF_Code_Compta_Client,"411",Faux, +"Indique si la code comptable du client contient un préfixe")+Répète("0",nTailleCompta-Taille( +nCodeClient))+nCodeCompta +SourceVersEcran() +renvoyer Faux +fin +si bBlocage alors +oClient:bAvecBlocage = Vrai +si oClient:DateCharge(nIdClient) alors +bBloque = Vrai +sinon +oClient:bAvecBlocage = Faux +bBloque = Faux +fin +sinon +oClient:DateCharge(nIdClient) +oClient:bAvecBlocage = Faux +bBloque = Faux +fin +si oClient:nIDContactPrincipal > 0 alors +si bBloque alors +oClient:oContactPrincipal:bAvecBlocage = Vrai +si oClient:oContactPrincipal:DateCharge(oClient:nIDContactPrincipal) alors +bBloque = Vrai +sinon +si oClient:saCleType = cCle_ClientParticulier _et_ oClient:nIDContactPrincipal > 0 alors +bBloque = Faux +oClient:oContactPrincipal:bAvecBlocage = Faux +oClient:bAvecBlocage = Faux +oClient:DebloqueFichier() +fin +fin +sinon +oClient:oContactPrincipal:DateCharge(oClient:nIDContactPrincipal) +fin +fin +Procédure locale FiltrerCoord +procédure FiltrerCoord() +TableSupprimeTout(TABLE_Info) +TableauSupprimeTout(oClient:tbaCoord) +si oClient:nPKID <= 0 alors +renvoyer Faux +fin +RqAdresse est une Requête SQL = +[ +SELECT Client_Adresse.*,Adresse.* +FROM Client_Adresse +INNER JOIN Adresse ON (Adresse.AD_PKID=Client_Adresse.CA_IDAdresse) +WHERE Client_Adresse.CA_IDClient = {p_IdClient} +] +RqAdresse.p_IdClient = oClient:nPKID +odUneAdresse est un MAdresseClient dynamique +06/08/2026 Batik 5245 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Procédures +si pas HExécuteRequêteSQL(RqAdresse) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Fiche_Client.FiltrerCoord") +sinon +pour tout RqAdresse +odUneAdresse = allouer une MAdresseClient +FichierVersMémoire(odUneAdresse,RqAdresse) +FichierVersMémoire(odUneAdresse.oAdresse,RqAdresse) +oClient:tbaCoord[RqAdresse.CA_PKID] = odUneAdresse +fin +fin +i est un entier +pour tout oAdr de oClient:tbaCoord +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = oAdr.nPKID +COL_Principal[i] = oAdr.bPrincipal +COL_Fact[i] = oAdr.bFact +COL_Livraison[i] = oAdr.bLivraison +COL_Adresse[i] = oAdr.oAdresse.saAdresse +COL_Ville[i] = oAdr.oAdresse.saVille +COL_CP[i] = oAdr.oAdresse.saCodePostal +fin +Procédure locale FiltrerNomClient +procédure FiltrerNomClient() +si oClient:nIDContactPrincipal > 0 alors +stClientInfo:saNom = oClient.oContactPrincipal.saNom +stClientInfo:saPrenom = oClient:oContactPrincipal.saPrenom +fin +si oClient:saCleType = cCle_ClientParticulier _et_ oClient:nIDContactPrincipal > 0 alors +stClientInfo.saNomClient = oClient.oContactPrincipal.NomPrenom() +stClientInfo.saTel1 = oClient.oContactPrincipal.saTel1 +stClientInfo.saTel2 = oClient.oContactPrincipal.saTel2 +stClientInfo.saEmail = oClient.oContactPrincipal.saEmail +sinon +stClientInfo:saNomClient = oClient:saNom +stClientInfo:saTel1 = oClient:saTel +stClientInfo:saTel2 = oClient:saFax +stClientInfo:saEmail = oClient:saEmail +fin +Procédure locale FiltrerSelonFen +procédure FiltrerSelonFen(tbaParam est un tableau associatif de chaînes ANSI) +// On ouvre la fiche depuis une autre fiche / on auras un comportement différent selon la fenêtre +appelante +tbaParametres = tbaParam +nId est un entier sur 8 octet +si tbaParametres[cParam_Fenetre]..Existe alors saFenetre = tbaParametres[cParam_Fenetre] sinon +saFenetre = "" +si saFenetre = "" alors +renvoyer Vrai +sinon +bModifDirect = Faux +06/08/2026 Batik 5246 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Procédures +fin +selon saFenetre +cas cFI_Liste_Client,cFEN_Dossier_C,cFI_Liste_SiteClient,cFEN_Inter +si tbaParametres[Client.CL_PKID..Nom]..Existe alors nId = Val(tbaParametres[Client.CL_PKID..Nom +]) sinon nId = 0 +Filtrer(nId) +bModifDirect = Faux +renvoyer Vrai +autre cas +fin +Procédure locale MaJBtnBlocage +procédure MaJBtnBlocage() +GR_Modif..EnSaisie = bBloque +si pas bBloque alors +CMOD_Ouvert..Visible = Faux +CMOD_Bloque..Visible = Vrai +sinon +CMOD_Ouvert..Visible = Vrai +CMOD_Bloque..Visible = Faux +fin +Procédure locale MaJDispositionClient +procédure MaJDispositionClient() +DISP_Client[cDispo_InfoBlocage]..Visible = oClient:bBlocage +si CMOD_Type.CMB_Combo <> Null _et_ CMOD_Type.CMB_Combo = cCle_ClientParticulier alors +DISP_Client[cDispo_InfoSociete]..Visible = Faux +DISP_Client[cDispo_InfoCtc]..Visible = Vrai +CMOD_Nom.SAI_Texte..Grisé = Vrai +sinon +DISP_Client[cDispo_InfoSociete]..Visible = Vrai +DISP_Client[cDispo_InfoCtc]..Visible = Faux +CMOD_Nom.SAI_Texte..Grisé = Faux +fin +Procédure locale MiseAJourClientBG +procédure MiseAJourClientBG() +Sablier(Vrai) +si gbBATIGESTActif _et_ oClient.nPKID > 0 _et_ gTbConfigsBDExt..Occurrence > 0 alors +si HLitRecherchePremier(Client_BddExterne,CLX_IDCLient,oClient:nPKID) alors +si ExporterMiseJourClientBatigest(oClient) alors +Info("Traitement terminé") +fin +sinon +Erreur("Le client n'existe pas dans la base externe") +renvoyer Faux +fin +fin +Sablier(fauxToutSablier) +Procédure locale Modifier +06/08/2026 Batik 5247 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Procédures +procédure Modifier(saNomChamp est une chaîne ANSI) +bModifie est un booléen = Faux +selon saNomChamp +cas CMOD_Type.CMB_Combo..NomComplet +si oClient:saCleType <> CMOD_Type.CMB_Combo alors +CMOD_NomCT.SAI_Texte = Remplace(CMOD_Nom.SAI_Texte,CMOD_PrenomCT.SAI_Texte,"") +CMOD_Nom.SAI_Texte = CMOD_NomCT.SAI_Texte + [" "]+ CMOD_PrenomCT.SAI_Texte +bModifie = Vrai +fin +si CMOD_Type.CMB_Combo = cCle_ClientParticulier alors +si oClient:nIDContactPrincipal > 0 alors +si CMOD_Tel1.SAI_Texte <> oClient.oContactPrincipal.saTel1 _et_ oClient. +oContactPrincipal.saTel1 <> "" alors +CMOD_Tel1.SAI_Texte = oClient.oContactPrincipal.saTel1 +fin +si CMOD_Tel2.SAI_Texte <> oClient.oContactPrincipal.saTel2 _et_ oClient. +oContactPrincipal.saTel2 <> "" alors +CMOD_Tel2.SAI_Texte = oClient.oContactPrincipal.saTel2 +fin +si CMOD_Email.SAI_Texte <> oClient.oContactPrincipal.saEmail _et_ oClient. +oContactPrincipal.saEmail <> "" alors +CMOD_Email.SAI_Texte = oClient.oContactPrincipal.saEmail +fin +fin +fin +cas CMOD_NomCT.SAI_Texte..NomComplet +si stClientInfo:saNom <> CMOD_NomCT.SAI_Texte alors +CMOD_Nom.SAI_Texte = CMOD_NomCT.SAI_Texte + [" "]+ CMOD_PrenomCT.SAI_Texte +bModifie = Vrai +fin +cas CMOD_PrenomCT.SAI_Texte..NomComplet +si stClientInfo:saPrenom <> CMOD_PrenomCT.SAI_Texte alors +CMOD_Nom.SAI_Texte = CMOD_NomCT.SAI_Texte + [" "]+ CMOD_PrenomCT.SAI_Texte +bModifie = Vrai +fin +cas CMOD_Nom.SAI_Texte..NomComplet +si stClientInfo:saNomClient <> CMOD_Nom.SAI_Texte alors +CMOD_NomCT.SAI_Texte = Remplace(CMOD_Nom.SAI_Texte,CMOD_PrenomCT.SAI_Texte,"") +bModifie = Vrai +fin +autre cas +si {saNomChamp}..LiaisonFichier <> "" _et_ saNomChamp <> "" _et_ {saNomChamp} <> {{saNomChamp} +..LiaisonFichier} alors +bModifie = Vrai +fin +fin +si bModifie alors +si bModifDirect alors +Enregistrer() +fin +MaJDispositionClient() +fin +Procédure locale ModifierAdresse +06/08/2026 Batik 5248 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Client › Procédures +procédure ModifierAdresse() +i est un entier = TABLE_Info +si i > 0 _et_ oClient:nPKID <= 0 _et_ pas bModifDirect alors +si OuiNon(Oui,"Le client va être enregistré, voulez-vous continuer ?") = Oui alors +Enregistrer() +fin +fin +si i > 0 _et_ COL_PKID[i] > 0 _et_ oClient:nPKID > 0 alors +bOk est un booléen = Ouvre(FEN_Fiche_Adresse,COL_PKID[i],oClient:nPKID) +si bOk alors +FiltrerCoord() +fin +fin +Procédure locale SupprimerAdresse +procédure SupprimerAdresse() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ oClient:nPKID > 0 _et_ oClient:tbaCoord[COL_PKID[i]]..Existe alors +si OuiNon(Non,"Voulez-vous supprimer l'adresse sélectionnée ?") = Oui alors +si oClient:tbaCoord[COL_PKID[i]].Supprimer() alors +si pas oClient:tbaCoord[COL_PKID[i]].oAdresse.Supprimer() alors +renvoyer Faux +fin +sinon +renvoyer Faux +fin +TableauSupprime(oClient:tbaCoord,COL_PKID[i]) +TableSupprime(TABLE_Info,i) +fin +fin +06/08/2026 Batik 5249 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › Image +FI_Liste_Contact_Site +Image +FI_Liste_Contact_Site +Informations générales +FI_Liste_Contact_Site +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_Liste_Contact_Site.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 24/07/2025 15:41:52 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 09/10/2025 08:58:52 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 640 Hauteur | 232 | +| 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 | | | | +| 06/08/2026 | | | Batik | | 5250 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › Informations générales +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 1 +Table 1 Forme 1 +Fenêtre interne 1 Champ Modèle de champs 4 +Option de menu 5 Colonne de table 7 +06/08/2026 Batik 5251 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › Informations générales +Nombre d'éléments dans la fenêtre : 21 +FI_Liste_Contact_Site +Informations sur les champs +Fenêtre : FI_Liste_Contact_Site +Fenêtre interne +BAT ehcuoT +| | X noitisoP | | | | laitini tatE | | +| --- | ---------- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | ruegraL | ruetuaH | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_Liste_Contact_Site | 0 | 0 640 | 232 | 0 | | | +| --------------------- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_Liste_Contact_Site +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Img | 7 | 7 29 | 24 | 0 | Actif | | +| ---------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_Sep | 0 | 34 640 | 8 | 0 | Actif | | +| CMOD_Table | 5 | 43 629 | 185 | 0 | Actif | | +| CMOD_Titre | 43 | 6 591 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_Liste_Contact_Site.CMOD_Img +| 06/08/2026 | | Batik | | | | 5252 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › 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_Icone | | 7 | 7 | 29 | 24 | 0 | Actif | | | +| --------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_Liste_Contact_Site.CMOD_Sep +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_Sep | | | 0 | 35 | 640 | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_Liste_Contact_Site.CMOD_Table +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +lennoitroporp .csA +.loc .gifnoc .oméM +| | | | | | | )(ertliFH resilitU | ruesnecsa elluB | EERTNE noitseG | | +| --- | --- | --- | --- | --- | --- | ------------------ | --------------- | -------------- | ----------------------------- | +| | | | | | | .gerne egacolB | noitcelésitluM | | eércna ennoloC 5.5 elbitapmoC | +edacsac eisiaS +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | --- | --- | +sruocraP +ruegraL ruetuaH +elbisiV +| | | | nalP | | elbaT | | | | | +| ---------- | ---- | ------- | ---- | ----- | ------ | --- | --- | --- | --- | +| TABLE_Info | 7 45 | 623 179 | 0 | Actif | Mémoir | | | | 1 | +Table : FI_Liste_Contact_Site.CMOD_Table.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | | elbairt ennoloC ehcrehcer cevA | | | | | +| --- | --- | --- | --- | -------------- | ------------------------------ | ------------- | --- | --- | --- | +| | | | | ehcuag à eéxiF | | .zroh egardaC | | | | +.trev egardaC +| | | | | elbaçalpéD | | | eisias epyT | FTR tamroF | eisias cevA | +| --- | --- | --- | ------------ | ---------- | --- | --- | ----------- | ---------- | ----------- | +| | | | laitini tatE | | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +Numériq +| COL_PKID | | 880 | Grisé | | | Droite Centre | | | | +| ---------- | --- | --- | -------- | ----- | --- | ------------- | ----- | --- | ---- | +| COL_Role | | 88 | Actif | | | Gauche Centre | Texte | | | +| COL_Nom | | 236 | affichag | | | Gauche Centre | Texte | | | +| COL_Tel1 | | 81 | Actif | | | Gauche Centre | Texte | | | +| 06/08/2026 | | | | Batik | | | | | 5253 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › Informations sur les champs +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_Tel2 | 96 | Actif | | Gauche Centre | Texte | | | +| COL_Etage | 55 | Actif | | Gauche Centre | Texte | | | +| COL_Lot | 52 | Actif | | Gauche Centre | Texte | | | +Champ Modèle de champs : FI_Liste_Contact_Site.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | 43 | 6 591 | 26 | 0 Actif | Gauche | Centre | | +| ------- | --- | ----- | --- | ------- | ------ | ------ | --- | +Fenêtre : FI_Liste_Contact_Site +Fenêtre interne : FI_Liste_Contact_Site +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | | +| Numéro aide | 0 | | | | | | | +| Thème destination | Oui | | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | | +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | | | +| ------------------------- | ------- | --- | --- | --- | --- | --- | --- | +| Ctx. HFSQL indép. | Non | | | | | | | +| Ancrage | <Aucun> | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Batik | | | | 5254 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › Informations sur les champs +Fenêtre interne : FI_Liste_Contact_Site +Champ Modèle de champs : FI_Liste_Contact_Site.CMOD_Img +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact_Site.CMOD_Sep +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5255 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Contact_Site.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact_Site.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5256 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Contact_Site.CMOD_Img +Image : FI_Liste_Contact_Site.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\contact-list-svgrepo-com.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 5257 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Contact_Site.CMOD_Sep +Forme : FI_Liste_Contact_Site.CMOD_Sep.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact_Site.CMOD_Table +Table : FI_Liste_Contact_Site.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel <NO CONTEXT MENU> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +06/08/2026 Batik 5258 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › Informations sur les champs +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 +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 +06/08/2026 Batik 5259 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › Informations sur les champs +Table : FI_Liste_Contact_Site.CMOD_Table.TABLE_Info +Colonne de table : FI_Liste_Contact_Site.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : FI_Liste_Contact_Site.CMOD_Table.TABLE_Info.COL_Role (2) +Titre FR: Rôle +Curseur survol 0 +UI par l'utilisateur <Aucun> +Bouton Calculatrice Non +Hauteur liste 0 +Largeur liste 88 +Larg. déroulée perso. Non +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +06/08/2026 Batik 5260 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › Informations sur les champs +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +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 150 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Contact_Site.CMOD_Table.TABLE_Info.COL_Nom (3) +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 450 Taux anc. hauteur 1000 +06/08/2026 Batik 5261 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › Informations sur les champs +Colonne de table : FI_Liste_Contact_Site.CMOD_Table.TABLE_Info.COL_Tel1 (4) +Titre FR: Tel n°1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 120 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Contact_Site.CMOD_Table.TABLE_Info.COL_Tel2 (5) +Titre FR: Tel n°2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +06/08/2026 Batik 5262 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › 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 120 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Contact_Site.CMOD_Table.TABLE_Info.COL_Etage (6) +Titre FR: Étage +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 80 Taux anc. hauteur 1000 +06/08/2026 Batik 5263 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › Informations sur les champs +Colonne de table : FI_Liste_Contact_Site.CMOD_Table.TABLE_Info.COL_Lot (7) +Titre FR: Lot +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 80 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Contact_Site.CMOD_Titre +Libellé : FI_Liste_Contact_Site.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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> +06/08/2026 Batik 5264 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › Informations sur les champs +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_Liste_Contact_Site +Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Creer (2) +OPT_Rattacher_un_nouveau_contact_au_site (3) +OPT_Modifier (4) +OPT_Supprimer_de_la_liste (5) +06/08/2026 Batik 5265 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › Informations sur les menus +Libellé des options : Français +Créer un nouveau contact +Rattacher un nouveau contact au site +Modifier +Supprimer contact de la liste +FI_Liste_Contact_Site +Code des champs +Déclarations globales de FI_Liste_Contact_Site +procédure FI_Liste_Contact_Site() +saFenetre est une chaîne ANSI +nIdSite est un entier sur 8 octets +tbaContact est un tableau associatif de MContact_Site +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +06/08/2026 Batik 5266 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Sep +06/08/2026 Batik 5267 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5268 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › Code des champs +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier() +Bouton droit enfoncé (WM_RBUTTONDOWN) de TABLE_Info +OuvreMenuContextuel(MNU_Options) +Sortie de COL_Etage ( TABLE_Info ) +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContact[COL_PKID[i]]..Existe _et_ tbaContact[COL_PKID[i]].saEtage +<> COL_Etage[i] alors +saEtage est une chaîne ANSI = tbaContact[COL_PKID[i]].saEtage +tbaContact[COL_PKID[i]].saEtage = COL_Etage[i] +si pas tbaContact[COL_PKID[i]].Enregistrer() alors +COL_Etage[i] = saEtage +tbaContact[COL_PKID[i]].saEtage = saEtage +fin +fin +Sortie de COL_Lot ( TABLE_Info ) +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContact[COL_PKID[i]]..Existe _et_ tbaContact[COL_PKID[i]].saLot < +> COL_Lot[i] alors +saLot est une chaîne ANSI = tbaContact[COL_PKID[i]].saLot +tbaContact[COL_PKID[i]].saLot = COL_Lot[i] +si pas tbaContact[COL_PKID[i]].Enregistrer() alors +COL_Lot[i] = saLot +tbaContact[COL_PKID[i]].saLot = saLot +fin +fin +Initialisation de COL_PKID ( TABLE_Info ) +06/08/2026 Batik 5269 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de COL_Role ( TABLE_Info ) +InitChamp(MoiMême..Nom,cParam_RoleContact) +Sélection d'une ligne de COL_Role ( TABLE_Info ) +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContact[COL_PKID[i]]..Existe _et_ tbaContact[COL_PKID[i]]. +saCleRole <> COL_Role[i] alors +saRole est une chaîne ANSI = tbaContact[COL_PKID[i]].saCleRole +tbaContact[COL_PKID[i]].saCleRole = COL_Role[i] +si pas tbaContact[COL_PKID[i]].Enregistrer() alors +COL_Role[i] = saRole +tbaContact[COL_PKID[i]].saCleRole = saRole +fin +fin +Sortie de COL_Tel1 ( TABLE_Info ) +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContact[COL_PKID[i]]..Existe _et_ tbaContact[COL_PKID[i]]. +oPersonne.saTel1 <> COL_Tel1[i] alors +saTel est une chaîne ANSI = tbaContact[COL_PKID[i]].oPersonne.saTel1 +tbaContact[COL_PKID[i]].oPersonne.saTel1 = COL_Tel1[i] +si pas tbaContact[COL_PKID[i]].oPersonne.Enregistrer() alors +COL_Tel1[i] = satel +tbaContact[COL_PKID[i]].oPersonne.saTel1 = satel +fin +fin +Sortie de COL_Tel2 ( TABLE_Info ) +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContact[COL_PKID[i]]..Existe _et_ tbaContact[COL_PKID[i]]. +oPersonne.saTel2 <> COL_Tel2[i] alors +saTel est une chaîne ANSI = tbaContact[COL_PKID[i]].oPersonne.saTel2 +tbaContact[COL_PKID[i]].oPersonne.saTel2 = COL_Tel2[i] +si pas tbaContact[COL_PKID[i]].oPersonne.Enregistrer() alors +06/08/2026 Batik 5270 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › Code des champs +COL_Tel2[i] = saTel +tbaContact[COL_PKID[i]].oPersonne.saTel2 = saTel +fin +fin +Déclarations globales de CMOD_Titre +salib = "Contacts" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Sélection du menu de MNU_Options.OPT_Creer +Creer() +Sélection du menu de MNU_Options.OPT_Modifier +06/08/2026 Batik 5271 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › Code des champs +Modifier() +Sélection du menu de MNU_Options.OPT_Rattacher_un_nouveau_contact_au_site +Ajouter() +Sélection du menu de MNU_Options.OPT_Supprimer_de_la_liste +Supprimer() +FI_Liste_Contact_Site +Procédures +Procédure locale Ajouter +procédure Ajouter() +si nIdSite > 0 alors +nIdPersone est un entier sur 8 octets +nIdPersone = Ouvre(FEN_Choix_Liste,cFI_Liste_ContactSite) +si nIdPersone > 0 alors +pour tout oCont de tbaContact +si oCont.nIDPersonne = nIdPersone alors +renvoyer Faux // Il existe déjà +fin +fin +si HLitRecherchePremier(Personne,PE_PKID,nIdPersone) alors +i est un entier = TableAjouteLigne(TABLE_Info) +oCtc est un MContact_Site +oCtc.nIDLieu = nIdSite +oCtc.nIDPersonne = nIdPersone +si oCtc:Enregistrer() alors +FichierVersMémoire(oCtc.oPersonne,Personne) +tbaContact[oCtc:nPKID] = oCtc +COL_PKID[i] = oCtc.nPKID +COL_Nom[i] = oCtc.oPersonne.NomPrenom() +COL_Role[i] = oCtc.saCleRole +COL_Tel1[i] = oCtc.oPersonne.saTel1 +COL_Tel2[i] = oCtc.oPersonne.saTel2 +COL_Etage[i] = oCtc.saEtage +COL_Lot[i] = oCtc.saLot +fin +fin +fin +fin +Procédure locale Creer +06/08/2026 Batik 5272 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › Procédures +procédure Creer() +tbaTbParam est un tableau associatif de chaînes ANSI +tbaTbParam[cParam_Fenetre] = cFI_Liste_ContactSite +tbaTbParam[Lieu.LI_PKID..Nom] = nIdSite +si Ouvre(FEN_Fiche,tbaTbParam) alors +Filtrer(nIdSite) +fin +Procédure locale Filtrer +procédure Filtrer(nId est un entier sur 8 octets) +nIdSite = nId +TableSupprimeTout(TABLE_Info) +TableauSupprimeTout(tbaContact) +si nIdSite <= 0 alors +retour +fin +RqCtc est une Requête SQL = +[ +SELECT Lieu_Personne.*,Personne.* +FROM Lieu_Personne +LEFT OUTER JOIN Personne ON Personne.PE_PKID=Lieu_Personne.LIP_IDPersonne +WHERE Lieu_Personne.LIP_IDLieu={P_Idlieu} +] +RqCtc.P_Idlieu = nIdSite +odUnCtc est un MContact_Site dynamique +si pas HExécuteRequêteSQL(RqCtc) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_Liste_Contact_Site.Filtrer") +sinon +pour tout RqCtc +odUnCtc = allouer une MContact_Site +FichierVersMémoire(odUnCtc,RqCtc) +FichierVersMémoire(odUnCtc.oPersonne,RqCtc) +tbaContact[RqCtc.lip_PKID] = odUnCtc +fin +fin +i est un entier +pour tout oCtc de tbaContact +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = oCtc.nPKID +COL_Nom[i] = oCtc.oPersonne.NomPrenom() +COL_Tel1[i] = oCtc.oPersonne.saTel1 +COL_Tel2[i] = oCtc.oPersonne.saTel2 +COL_Lot[i] = oCtc.saLot +COL_Etage[i] = oCtc.saEtage +COL_Role[i] = oCtc.saCleRole +fin +Procédure locale Modifier +procédure Modifier() +06/08/2026 Batik 5273 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Contact_Site › Procédures +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContact[COL_PKID[i]]..Existe alors +tbaTbParam est un tableau associatif de chaînes ANSI +tbaTbParam[cParam_Fenetre] = cFI_Liste_ContactSite +tbaTbParam[Lieu.LI_PKID..Nom] = nIdSite +tbaTbParam[Personne.PE_PKID..Nom] = tbaContact[COL_PKID[i]].oPersonne.nPKID +si Ouvre(FEN_Fiche,tbaTbParam) alors +Filtrer(nIdSite) +fin +fin +Procédure locale Supprimer +procédure Supprimer() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ tbaContact[COL_PKID[i]]..Existe alors +saQuestion est une chaîne ANSI = "Êtes-vous sûr de vouloir supprimer le contact "+tbaContact[COL_ +PKID[i]].oPersonne.NomPrenom()+" de cette liste ?" +si OuiNon(saQuestion) = Oui alors +si tbaContact[COL_PKID[i]].Supprimer() alors +TableauSupprime(tbaContact,COL_PKID[i]) +TableSupprime(TABLE_Info,i) +fin +fin +fin +06/08/2026 Batik 5274 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Client_Site › Image +FI_TdB_Liste_Client_Site +Image +FI_TdB_Liste_Client_Site +Informations générales +FI_TdB_Liste_Client_Site +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TdB_Liste_Client_Site.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 24/07/2025 16:07:04 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 09/10/2025 08:58:52 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 540 Hauteur | 180 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------ | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 5275 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Client_Site › Informations générales +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 1 +Table 1 Forme 1 +Fenêtre interne 1 Champ Modèle de champs 4 +Option de menu 4 Colonne de table 6 +Nombre d'éléments dans la fenêtre : 19 +FI_TdB_Liste_Client_Site +Informations sur les champs +06/08/2026 Batik 5276 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Client_Site › Informations sur les champs +Fenêtre : FI_TdB_Liste_Client_Site +Fenêtre interne +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| FI_TdB_Liste_Client_Site | 0 | 0 540 | 180 | 0 | | | +| ------------------------ | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdB_Liste_Client_Site +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Img | 7 | 3 29 | 24 | 0 | Actif | | +| ---------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_Sep | 0 | 29 540 | 8 | 0 | Actif | | +| CMOD_Table | 0 | 33 540 | 143 | 0 | Actif | | +| CMOD_Titre | 42 | 3 494 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_TdB_Liste_Client_Site.CMOD_Img +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --------------------- | --- | --- | ------------ | --- | ---------- | +cilc cevA +ruegraL ruetuaH +elbisiV +nalP +| IMG_Icone | 7 3 | 29 24 | 0 | Actif | | | +| --------- | --- | ----- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_TdB_Liste_Client_Site.CMOD_Sep +| 06/08/2026 | | Batik | | | | 5277 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Client_Site › Informations sur les champs +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| FRM_Sep | | | 0 | 30 | 540 | | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Liste_Client_Site.CMOD_Table +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 | | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | | +ruegraL +| | | | | elbisiV | elbaT | | | | | | +| --- | --- | --- | --- | ------- | ----- | --- | --- | --- | --- | --- | +nalP +| TABLE_Info | 2 35 | 534 137 | 0 | affichag | Mémoir | | | | | 1 | +| ---------- | ---- | ------- | --- | -------- | ------ | --- | --- | --- | --- | --- | +Table : FI_TdB_Liste_Client_Site.CMOD_Table.TABLE_Info +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_PKID | | 880 | Grisé | | | Droite | Centre | Numériq | | | +| COL_Principal | | 55 | Actif | | | Centre | Centre | | | | +| COL_Nom | | 153 | Actif | | | Gauche | Centre | Texte | | | +| COL_Type | | 100 | Actif | | | Gauche | Centre | Texte | | | +| COL_Statut | | 100 | Actif | | | Gauche | Centre | Texte | | | +| COL_Code | | 100 | Actif | | | Gauche | Centre | Texte | | | +| 06/08/2026 | | | | Batik | | | | | | 5278 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Client_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Client_Site.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +X noitisoP Y noitisoP laitini tatE +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 42 3 | 494 26 | 0 Actif | Gauche | Centre | | +| ------- | ---- | ------ | ------- | ------ | ------ | --- | +Fenêtre : FI_TdB_Liste_Client_Site +Fenêtre interne : FI_TdB_Liste_Client_Site +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +| Facteur d'agrandissement | 0 | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | +| Ancrage | <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_TdB_Liste_Client_Site +| 06/08/2026 | | Batik | | | | 5279 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Client_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Client_Site.CMOD_Img +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Liste_Client_Site.CMOD_Sep +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5280 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Client_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Client_Site.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Liste_Client_Site.CMOD_Titre +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5281 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Client_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Client_Site.CMOD_Img +Image : FI_TdB_Liste_Client_Site.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Client_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 5282 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Client_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Client_Site.CMOD_Sep +Forme : FI_TdB_Liste_Client_Site.CMOD_Sep.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Liste_Client_Site.CMOD_Table +Table : FI_TdB_Liste_Client_Site.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +06/08/2026 Batik 5283 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Client_Site › Informations sur les champs +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 +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 +06/08/2026 Batik 5284 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Client_Site › Informations sur les champs +Table : FI_TdB_Liste_Client_Site.CMOD_Table.TABLE_Info +Colonne de table : FI_TdB_Liste_Client_Site.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : FI_TdB_Liste_Client_Site.CMOD_Table.TABLE_Info.COL_Principal (2) +Titre FR: Pcpl +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +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 +06/08/2026 Batik 5285 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Client_Site › Informations sur les champs +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 80 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Liste_Client_Site.CMOD_Table.TABLE_Info.COL_Nom (3) +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 320 Taux anc. hauteur 1000 +06/08/2026 Batik 5286 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Client_Site › Informations sur les champs +Colonne de table : FI_TdB_Liste_Client_Site.CMOD_Table.TABLE_Info.COL_Type (4) +Titre FR: Type +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 200 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Liste_Client_Site.CMOD_Table.TABLE_Info.COL_Statut (5) +Titre FR: Statut +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 +06/08/2026 Batik 5287 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Client_Site › 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 200 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Liste_Client_Site.CMOD_Table.TABLE_Info.COL_Code (6) +Titre FR: Code +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 200 Taux anc. hauteur 1000 +06/08/2026 Batik 5288 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Client_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Client_Site.CMOD_Titre +Libellé : FI_TdB_Liste_Client_Site.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TdB_Liste_Client_Site +Informations sur les menus +06/08/2026 Batik 5289 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Client_Site › Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Creer (2) +OPT_Modifier (3) +OPT_Rattacher (4) +Libellé des options : Français +Créer un nouveau client (attaché au site) +Modifier le client +Rattacher un client au site +FI_TdB_Liste_Client_Site +Code des champs +Déclarations globales de FI_TdB_Liste_Client_Site +procédure FI_TdB_Liste_Client_Site() +saFenetre est une chaîne ANSI +nIdSite est un entier sur 8 octets +tbaClient est un tableau associatif de MClient +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +06/08/2026 Batik 5290 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Client_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Sep +06/08/2026 Batik 5291 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Client_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Sep +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5292 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Client_Site › Code des champs +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SelLigne() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Clients" +Fin d'initialisation de CMOD_Titre +06/08/2026 Batik 5293 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Client_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Sélection du menu de MNU_Options.OPT_Creer +CreerClient() +Sélection du menu de MNU_Options.OPT_Modifier +SelLigne() +Sélection du menu de MNU_Options.OPT_Rattacher +Rattacher() +06/08/2026 Batik 5294 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Client_Site › Procédures +FI_TdB_Liste_Client_Site +Procédures +Procédure locale CreerClient +procédure CreerClient() +si nIdSite > 0 alors +tbaParam est un tableau associatif de chaînes ANSI +| tbaParam[cParam_Fenetre] | | = cFI_Liste_SiteClient | | | +| ----------------------------- | -------------------------- | ---------------------- | --- | --- | +| tbaParam[Client.CL_PKID..Nom] | | = 0 | | | +| nIdClient | est un entier sur 8 octets | | | | +| bOk | est un booléen | | | | +(bOk, nIdClient) = Ouvre(FEN_Fiche,tbaParam) +si nIdClient > 0 _et_ bOk alors +HRAZ(Client_Lieu) +| Client_Lieu.CLI_IDClient | | = nIdClient | | | +| ------------------------ | --- | ------------------------------ | --- | --- | +| Client_Lieu.CLI_IDLieu | | = nIdSite | | | +| Client_Lieu.CreationUser | | = CollaborateurEnCours.nIdUser | | | +| Client_Lieu.ModifUser | | = CollaborateurEnCours.nIdUser | | | +| Client_Lieu.CreationDate | | = DateHeureSys() | | | +| Client_Lieu.ModifDate | | = DateHeureSys() | | | +si pas HAjoute(Client_Lieu) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur s'est produite, le site n'a pas pu être lié au client.") +renvoyer Faux +sinon +Filtrer(nIdSite) +fin +fin +fin +Procédure locale Filtrer +procédure Filtrer(nId est un entier sur 8 octets) +| nIdSite | = nId | | | | +| ------- | ----- | --- | --- | --- | +TableSupprimeTout(TABLE_Info) +TableauSupprimeTout(tbaClient) +si nIdSite <= 0 alors +retour +fin +| RqClient | est une Requête SQL | = | | | +| -------- | ------------------- | --- | --- | --- | +[ +SELECT DISTINCT Client.*,Lieu.LI_IDClientPrincipal +FROM Client +LEFT OUTER JOIN Client_Lieu ON (Client_Lieu.CLI_IDClient=Client.CL_PKID) +LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=Client_Lieu.CLI_IDLieu) +WHERE Client_Lieu.CLI_IDLieu={p_IdLieu} +] +RqClient.P_Idlieu = nIdSite +| 06/08/2026 | | | Batik | 5295 | +| ---------- | --- | --- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Client_Site › Procédures +odUnClient est un MClient dynamique +si pas HExécuteRequêteSQL(RqClient) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Liste_Client_Site.Filtrer") +sinon +i est un entier +pour tout RqClient +odUnClient = allouer une MClient +FichierVersMémoire(odUnClient,RqClient) +tbaClient[RqClient.cl_pkid] = odUnClient +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = odUnClient.nPKID +COL_Nom[i] = odUnClient.saNom +COL_Type[i] = odUnClient.saCleType <> "" _et_ gtabParametresMetierCode[ +cParam_TypeClient][odUnClient.saCleType]..Existe ? gtabParametresMetierCode[cParam_TypeClient][ +odUnClient.saCleType].saLibelle sinon "" +COL_Statut[i] = odUnClient.saCleStatut <> "" _et_ gtabParametresMetierCode[ +cParam_StatutClient][odUnClient.saCleStatut]..Existe ? gtabParametresMetierCode[ +cParam_StatutClient][odUnClient.saCleStatut].saLibelle sinon "" +COL_Code[i] = odUnClient.saCodeClient +COL_Principal[i] = RqClient.LI_IDClientPrincipal = RqClient.CL_PKID ? Vrai sinon Faux +fin +fin +Procédure locale Rattacher +procédure Rattacher() +nIdClient est un entier sur 8 octets +nIdClient = Ouvre(FEN_Choix_Liste,cFI_Liste_SiteClient) +si nIdClient > 0 _et_ nIdSite > 0 alors +HRAZ(Client_Lieu) +Client_Lieu.CLI_IDClient = nIdClient +Client_Lieu.CLI_IDLieu = nIdSite +Client_Lieu.CreationUser = CollaborateurEnCours.nIdUser +Client_Lieu.ModifUser = CollaborateurEnCours.nIdUser +Client_Lieu.CreationDate = DateHeureSys() +Client_Lieu.ModifDate = DateHeureSys() +si pas HAjoute(Client_Lieu) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur s'est produite, le site n'a pas pu être lié au client.") +renvoyer Faux +sinon +Filtrer(nIdSite) +fin +fin +Procédure locale SelLigne +procédure SelLigne() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 alors +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[cParam_Fenetre] = cFI_Liste_SiteClient +tbaParam[Client.CL_PKID..Nom] = COL_PKID[i] +tbaParam[cParam_IdFen] = COL_PKID[i] +OuvreFenSouers("FEN_Fiche_Client",tbaParam) +06/08/2026 Batik 5296 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Client_Site › Procédures +fin +| 06/08/2026 | Batik | 5297 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Image +FI_TdB_Fiche_Site +Image +FI_TdB_Fiche_Site +Informations générales +FI_TdB_Fiche_Site +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TdB_Fiche_Site.wdw +Créé par SMR +Date de création 24/07/2025 16:32:05 +Dernière modification par susana@applilogik.fr +06/08/2026 Batik 5298 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations générales +| Date dernière modification | | 15/04/2026 10:47:10 | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | --- | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 500 | 664 | +| Position X | Position Y | | Largeur | Hauteur | | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 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 | | Windows 11 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 5299 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations générales +| Assombri quand inactif | Oui | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | +Déplace souris sur bouton par +Non +| Compact. barres outils | Non | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | +Statistiques de la fenêtre +| | Champ de saisie | | 12 | Libellé | | | 2 | +| --- | ---------------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Interrupteur | | 3 | Image | | | 3 | +| | Combo | | 1 | Forme | | | 1 | +| | Fenêtre interne | | 1 | Champ Modèle de champs | | | 22 | +| | Option d'interrupteur | | 3 | Disposition | | | 1 | +| | Cellule de disposition | | 2 | | | | | +Nombre d'éléments dans la fenêtre : 51 +FI_TdB_Fiche_Site +Informations sur les champs +Fenêtre : FI_TdB_Fiche_Site +Fenêtre interne +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FI_TdB_Fiche_Site | | 0 | 0 500 | 664 | 0 | | | +| ----------------- | --- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdB_Fiche_Site +Champ Modèle de champs +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| CMOD_AdBatigest1 | | 0 | 80 238 | 46 | 0 | Actif | | +| ---------------- | --- | --- | ------- | --- | --- | ----- | ---- | +| CMOD_AdBatigest2 | | 0 | 126 238 | 46 | 0 | Actif | | +| CMOD_Adresse | | 4 | 57 244 | 129 | 0 | Actif | | +| CMOD_Badge | | 258 | 390 236 | 29 | 0 | Actif | | +| CMOD_Bloque | | 466 | 7 30 | 24 | 0 | Actif | | +| CMOD_BloqueSite | | 4 | 615 85 | 29 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 5300 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_CPBatigest | | 3 | 172 | 235 | 53 | 0 | Actif | | +| ------------------ | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_CodeAcces | | 5 | 419 | 491 | 98 | 0 | Actif | | +| CMOD_CodePostal | | 4 | 186 | 244 | 53 | 0 | Actif | | +| CMOD_EtiqBatigest | | 0 | 27 | 238 | 53 | 0 | Actif | | +| CMOD_Img | | 5 | 7 | 29 | 24 | 0 | Actif | | +| CMOD_Interphone | | 5 | 390 | 247 | 29 | 0 | Actif | | +| CMOD_Nom | | 4 | 4 | 244 | 53 | 0 | Actif | | +| CMOD_Note | | 4 | 516 | 492 | 83 | 0 | Actif | | +| CMOD_NoteBlocage | | 97 | 599 | 399 | 61 | 0 | Actif | | +| CMOD_Ouvert | | 466 | 7 | 30 | 24 | 0 | Actif | | +| CMOD_SansNom1 | | 0 | 34 | 500 | 8 | 0 | Actif | | +| CMOD_SansNom5 | | 0 | 1 | 238 | 26 | 0 | Actif | | +| CMOD_Titre | | 42 | 6 | 418 | 26 | 0 | Actif | | +| CMOD_Type | | 5 | 337 | 491 | 53 | 0 | Actif | | +| CMOD_Ville | | 5 | 239 | 243 | 57 | 0 | Actif | | +| CMOD_VilleBatigest | | 3 | 225 | 235 | 71 | 0 | Actif | | +Disposition +BAT ehcuoT +laitini tatE +| | | X noitisoP | Y noitisoP | | | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | +| | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| DISP_Adr | | 0 | 41 | 500 | 296 | 0 | Actif | | +| -------- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_AdBatigest1 +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_Texte | 0 0 238 | 46 0 | affichag | Texte | Non | | | | +| ---------- | ------- | ---- | -------- | ----- | --- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 5301 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_AdBatigest2 +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_Texte | 0 | 0 238 46 0 | affichag | Texte | | Non | | | +| --------- | --- | ---------- | -------- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_Adresse +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_Texte | 0 | 0 244 129 0 | Actif | Texte | | Non | | | +| --------- | --- | ----------- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_Badge +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | ----------- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| INT_Int | | 258 390 | 236 | 29 | 0 | Actif | 1 | | +| ---------- | --- | ------- | --- | ----- | --- | ----- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | 5302 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_Bloque +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | sucof cevA | +| --- | --- | --------------------- | --- | ------- | --- | --- | ------------ | --- | ---------- | +| | | | | ruetuaH | | | cilc cevA | | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 466 | 7 | 30 24 | 0 | | Actif | | | +| --------- | --- | --- | --- | ----- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_BloqueSite +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| INT_Int | | 4 615 | 85 | 29 | 0 | Actif | | 1 | | +| ------- | --- | ----- | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_CPBatigest +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_Texte | 0 | 0 235 53 0 | affichag | Texte | | Non | | | | +| ---------- | --- | ---------- | -------- | ----- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | 5303 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_CodeAcces +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_Jeton | 5 419 491 | 98 0 | Actif | Texte | | Non | | +| --------- | --------- | ---- | ----- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_CodePostal +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_Texte | 0 0 244 | 53 0 | Actif | Texte | | Non | | +| --------- | ------- | ---- | ----- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_EtiqBatigest +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_Texte | 0 0 238 | 53 0 | affichag | Texte | | Non | | +| ---------- | ------- | ---- | -------- | ----- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | 5304 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_Img +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | sucof cevA | +| --- | --- | --------------------- | --- | ------- | --- | --- | ------------ | --- | ---------- | +| | | | | ruetuaH | | | cilc cevA | | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 5 | 7 | 29 24 | 0 | | Actif | | | +| --------- | --- | --- | --- | ----- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_Interphone +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| INT_Int | | 5 390 | 247 | 29 | 0 | Actif | | 1 | | +| ------- | --- | ----- | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_Nom +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_Texte | 0 | 0 244 53 0 | Actif | Texte | | Non | | | | +| ---------- | --- | ---------- | ----- | ----- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | 5305 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_Note +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_Texte | 4 516 | 492 83 0 | Actif Texte | | Non | | +| --------- | ----- | -------- | ----------- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_NoteBlocage +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_Texte | 97 599 | 399 61 0 | Actif Texte | | Non | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_Ouvert +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | sucof cevA | +| --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | ruegraL ruetuaH | | cilc cevA | | +| --- | --- | --- | --------------- | --- | --------- | --- | +elbisiV +nalP +| IMG_Icone | | 466 7 | 30 24 | 0 | Actif | | +| ---------- | --- | ----- | ----- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | 5306 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_SansNom1 +Forme +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| FRM_Sep | | 0 | 35 500 | 2 0 | Actif | | +| ------- | --- | --- | ------ | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_SansNom5 +Libellé +tuaféd rap eéminA +.zroh egardaC .trev egardaC +| | | | | laitini tatE | | FTR tamroF | +| --- | --- | --- | --- | ------------ | --- | ---------- | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| LIB_lib | 0 | 0 238 | 26 0 | Actif Gauche | Centre | | +| ------- | --- | ----- | ---- | ------------ | ------ | --- | +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_Titre +Libellé +tuaféd rap eéminA +.zroh egardaC .trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | +| --- | --------------------- | ------- | ------- | ------------ | --- | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| LIB_lib | 42 | 6 418 | 26 0 | Actif Gauche | Centre | | +| ------- | --- | ----- | ---- | ------------ | ------ | --- | +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_Type +| 06/08/2026 | | | Batik | | | 5307 | +| ---------- | --- | --- | ----- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › 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_Combo | 5 337 | 491 53 | 0 | Actif | Mémoire | | Non | | +| --------- | ----- | ------ | --- | ----- | ------- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_Ville +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_Texte | 0 0 243 | 57 0 | Actif | Texte | | Non | | | +| --------- | ------- | ---- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_VilleBatigest +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 | | | | +ruetuaH +| | ruegraL | | elbisiV | | | | | | +| --- | ------- | --- | ------- | --- | --- | --- | --- | --- | +nalP +| SAI_Texte | 0 0 235 | 71 0 | affichag | Texte | | Non | | | +| ---------- | ------- | ---- | -------- | ----- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | 5308 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Fenêtre : FI_TdB_Fiche_Site +Fenêtre interne : FI_TdB_Fiche_Site +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_TdB_Fiche_Site +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_AdBatigest1 +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5309 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_AdBatigest2 +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_Adresse +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5310 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_Badge +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 490 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_Bloque +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5311 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_BloqueSite +Ordre navigation 12 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_CPBatigest +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5312 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_CodeAcces +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_CodePostal +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 660 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5313 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_EtiqBatigest +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_Img +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5314 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_Interphone +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 490 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_Nom +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5315 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_Note +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_NoteBlocage +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5316 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_Ouvert +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_SansNom1 +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5317 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_SansNom5 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5318 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_Type +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_Ville +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 660 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5319 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_VilleBatigest +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Disposition : FI_TdB_Fiche_Site.DISP_Adr +Libellé FR: Disposition +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 +Cellule ancrée 1 +Numéro aide 0 +Opacité 100 +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 +Alignement Cellules En haut / à gauche +Disposition Horizontale +Marge entre les cellules 6 +Débordement Afficher un ascenseur automatiquement +Débordement - Réduire Non +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5320 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_AdBatigest1 +Champ de saisie : FI_TdB_Fiche_Site.DISP_Adr.CMOD_AdBatigest1.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 256 +Largeur interne 238 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Batik 5321 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › 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> +Liaison des données :stAdr.sAdd_1 +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_AdBatigest2 +Champ de saisie : FI_TdB_Fiche_Site.DISP_Adr.CMOD_AdBatigest2.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +06/08/2026 Batik 5322 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +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 256 +Largeur interne 238 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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> +06/08/2026 Batik 5323 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Liaison des données :stAdr.sAdd_2 +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_Adresse +Champ de saisie : FI_TdB_Fiche_Site.DISP_Adr.CMOD_Adresse.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Groupe GR_Modif +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 5 +Largeur interne 243 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +Sécurité HTML Oui +06/08/2026 Batik 5324 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › 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, non 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> +Liaison des données :oSite.oAdresse.saAdresse +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5325 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_Badge +Interrupteur : FI_TdB_Fiche_Site.CMOD_Badge.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Groupe GR_Modif +Ordre navigation 1 +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> +Liaison des données :oSite.bBadge +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +06/08/2026 Batik 5326 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_Bloque +Image : FI_TdB_Fiche_Site.CMOD_Bloque.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\cadena_fermé_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 5327 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_BloqueSite +Interrupteur : FI_TdB_Fiche_Site.CMOD_BloqueSite.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Groupe GR_Modif +Ordre navigation 1 +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> +Liaison des données :oSite.bBlocage +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +06/08/2026 Batik 5328 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_CPBatigest +Champ de saisie : FI_TdB_Fiche_Site.DISP_Adr.CMOD_CPBatigest.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 259 +Largeur interne 235 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 5329 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Asc. vertical Automatique +Complétion système de fichier Non +Saisie invalide Oui, non 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> +Liaison des données :stAdr.sAdd_CP +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_CodeAcces +06/08/2026 Batik 5330 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ de saisie : FI_TdB_Fiche_Site.CMOD_CodeAcces.SAI_Jeton +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Jeton : +Groupe GR_Modif +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 5 +Largeur interne 491 +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 +06/08/2026 Batik 5331 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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> +Liaison des données :oSite.saCodeAcces +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_CodePostal +Champ de saisie : FI_TdB_Fiche_Site.DISP_Adr.CMOD_CodePostal.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 +06/08/2026 Batik 5332 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › 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 4 +Largeur interne 244 +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 +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> +Liaison des données :oSite.oAdresse.saCodePostal +Gestion Euro Non +06/08/2026 Batik 5333 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_EtiqBatigest +Champ de saisie : FI_TdB_Fiche_Site.DISP_Adr.CMOD_EtiqBatigest.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 256 +Largeur interne 238 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 5334 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Automatique +Complétion système de fichier Non +Saisie invalide Oui, non 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> +Liaison des données :stAdr.sAdd_Etiquette +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5335 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_Img +Image : FI_TdB_Fiche_Site.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Site_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 5336 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_Interphone +Interrupteur : FI_TdB_Fiche_Site.CMOD_Interphone.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Groupe GR_Modif +Ordre navigation 1 +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> +Liaison des données :oSite.bInterphone +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +06/08/2026 Batik 5337 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_Nom +Champ de saisie : FI_TdB_Fiche_Site.DISP_Adr.CMOD_Nom.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 4 +Largeur interne 244 +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 +06/08/2026 Batik 5338 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +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> +Liaison des données :oSite.saCodeLieu +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_Note +06/08/2026 Batik 5339 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ de saisie : FI_TdB_Fiche_Site.CMOD_Note.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Groupe GR_Modif +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 5 +Largeur interne 491 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Batik 5340 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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> +Liaison des données :oSite.saNote +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_NoteBlocage +Champ de saisie : FI_TdB_Fiche_Site.CMOD_NoteBlocage.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +Groupe GR_Modif +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 +06/08/2026 Batik 5341 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › 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 98 +Largeur interne 398 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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> +Liaison des données :oSite.saRaisonBlocage +Gestion Euro Non +06/08/2026 Batik 5342 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_Ouvert +Image : FI_TdB_Fiche_Site.CMOD_Ouvert.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\cadena_ouvert_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +06/08/2026 Batik 5343 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +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 +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_SansNom1 +Forme : FI_TdB_Fiche_Site.CMOD_SansNom1.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_SansNom5 +Libellé : FI_TdB_Fiche_Site.DISP_Adr.CMOD_SansNom5.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +06/08/2026 Batik 5344 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_Titre +Libellé : FI_TdB_Fiche_Site.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse <Aucun> +Unicode Non +06/08/2026 Batik 5345 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.CMOD_Type +Combo : FI_TdB_Fiche_Site.CMOD_Type.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +Groupe GR_Modif +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 491 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 5 +Largeur interne 491 +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> +06/08/2026 Batik 5346 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › 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 Oui +Liaison des données :oSite.saCleType +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_Ville +06/08/2026 Batik 5347 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Champ de saisie : FI_TdB_Fiche_Site.DISP_Adr.CMOD_Ville.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +Groupe GR_Modif +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 5 +Largeur interne 243 +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 +06/08/2026 Batik 5348 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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> +Liaison des données :oSite.oAdresse.saVille +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Fiche_Site.DISP_Adr.CMOD_VilleBatigest +Champ de saisie : FI_TdB_Fiche_Site.DISP_Adr.CMOD_VilleBatigest.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 +06/08/2026 Batik 5349 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 259 +Largeur interne 235 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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> +Liaison des données :stAdr.sAdd_Ville +Gestion Euro Non +06/08/2026 Batik 5350 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Informations sur les champs +| 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 et hauteur | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TdB_Fiche_Site +Code des champs +Déclarations globales de FI_TdB_Fiche_Site +procédure FI_TdB_Site() +| oSite | est un MLieu | | | | +| ------------- | ----------------------------------------- | ------ | --- | --- | +| bModifDirect | est un booléen | = Vrai | | | +| tbaParametres | est un tableau associatif de chaînes ANSI | | | | +| saFenetre | est une chaîne ANSI | | | | +| stAdr | est un ST_BG_Adresse | | | | +constante +cDisp_AdrBatigest = 2 +fin +| bBloque | est un booléen | | | | +| -------- | -------------- | --- | --- | --- | +Déclarations globales de CMOD_Badge +salib = "Badge" +Fin d'initialisation de CMOD_Badge +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Badge +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Badge +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Badge +| 06/08/2026 | | | Batik | 5351 | +| ---------- | --- | --- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Badge +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Badge +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Badge +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_Badge ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Int ( CMOD_Badge ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Int ( CMOD_Badge ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Int ( CMOD_Badge ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Badge.INT_Int..NomComplet) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_Badge ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Bloque +06/08/2026 Batik 5352 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +BlocageEnrg() +A chaque modification de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_BloqueSite +salib = "Bloqué" +Fin d'initialisation de CMOD_BloqueSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BloqueSite +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5353 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Code des champs +ExécuteAncêtre +Entrée dans CMOD_BloqueSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BloqueSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BloqueSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BloqueSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BloqueSite +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_BloqueSite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Int ( CMOD_BloqueSite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Int ( CMOD_BloqueSite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Int ( CMOD_BloqueSite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_BloqueSite.INT_Int..NomComplet) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_BloqueSite ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CodeAcces +salib = "Code d'accès" +Fin d'initialisation de CMOD_CodeAcces +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CodeAcces +06/08/2026 Batik 5354 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CodeAcces +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CodeAcces +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CodeAcces +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CodeAcces +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CodeAcces +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Jeton ( CMOD_CodeAcces ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Jeton ( CMOD_CodeAcces ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Jeton ( CMOD_CodeAcces ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_CodeAcces.SAI_Jeton..NomComplet) +Ajout d'un jeton dans SAI_Jeton ( CMOD_CodeAcces ) +procédure AjoutJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Suppression d'un jeton dans SAI_Jeton ( CMOD_CodeAcces ) +procédure SuppressionJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Clic sur un jeton de SAI_Jeton ( CMOD_CodeAcces ) +procédure ClicJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(MonJeton) +Entrée en saisie d'un jeton de SAI_Jeton ( CMOD_CodeAcces ) +06/08/2026 Batik 5355 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Code des champs +procédure EntreSaisieJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +Modification d'un jeton de SAI_Jeton ( CMOD_CodeAcces ) +procédure ModificationJeton (MonJeton est un Jeton) +//Exécute le traitement défini dans le modèle +renvoyer ExécuteAncêtre(MonJeton) +A chaque modification de SAI_Jeton ( CMOD_CodeAcces ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Jeton ( CMOD_CodeAcces ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +06/08/2026 Batik 5356 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Interphone +salib = "Interphone" +Fin d'initialisation de CMOD_Interphone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Interphone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Interphone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Interphone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Interphone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Interphone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Interphone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Int ( CMOD_Interphone ) +06/08/2026 Batik 5357 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Int ( CMOD_Interphone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Int ( CMOD_Interphone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Int ( CMOD_Interphone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Interphone.INT_Int..NomComplet) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( CMOD_Interphone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Note +salib = "Note" +Fin d'initialisation de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Note +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5358 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Code des champs +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Note.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NoteBlocage +salib = "Raison du blocage" +Fin d'initialisation de CMOD_NoteBlocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NoteBlocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NoteBlocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NoteBlocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NoteBlocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NoteBlocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NoteBlocage +06/08/2026 Batik 5359 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NoteBlocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_NoteBlocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_NoteBlocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_NoteBlocage.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_NoteBlocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NoteBlocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ouvert +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ouvert +06/08/2026 Batik 5360 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +BlocageEnrg() +A chaque modification de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Ouvert ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +06/08/2026 Batik 5361 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Site" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Type +salib = "Type de lieu" +Fin d'initialisation de CMOD_Type +06/08/2026 Batik 5362 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême.NomComplet,cparam_TypeLieu,Vrai,oSite:saCleType) +Entrée dans CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Type.CMB_Combo..NomComplet) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_AdBatigest1 +06/08/2026 Batik 5363 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_AdBatigest1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_AdBatigest1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_AdBatigest1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_AdBatigest1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_AdBatigest1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_AdBatigest1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_AdBatigest1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_AdBatigest1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_AdBatigest1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_AdBatigest1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_AdBatigest1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_AdBatigest2 +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5364 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_AdBatigest2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_AdBatigest2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_AdBatigest2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_AdBatigest2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_AdBatigest2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_AdBatigest2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_AdBatigest2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_AdBatigest2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_AdBatigest2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_AdBatigest2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_AdBatigest2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Adresse +salib = "Adresse" +Fin d'initialisation de CMOD_Adresse +06/08/2026 Batik 5365 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Adresse.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_CodePostal +06/08/2026 Batik 5366 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Code des champs +salib = "Code postal" +Fin d'initialisation de CMOD_CodePostal +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CodePostal +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CodePostal +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CodePostal +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CodePostal +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CodePostal +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CodePostal +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_CodePostal ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_CodePostal ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_CodePostal ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_CodePostal.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_CodePostal ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_CodePostal ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5367 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Code des champs +ExécuteAncêtre +Déclarations globales de CMOD_CPBatigest +salib = "Code postal" +Fin d'initialisation de CMOD_CPBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_CPBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_CPBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_CPBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_CPBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_CPBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_CPBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_CPBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_CPBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_CPBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_CPBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_CPBatigest ) +06/08/2026 Batik 5368 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_EtiqBatigest +salib = "Étiquette" +Fin d'initialisation de CMOD_EtiqBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_EtiqBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_EtiqBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_EtiqBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_EtiqBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_EtiqBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_EtiqBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_EtiqBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_EtiqBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_EtiqBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_EtiqBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_EtiqBatigest ) +06/08/2026 Batik 5369 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Nom +salib = "Code du site" +Fin d'initialisation de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Nom.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5370 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Code des champs +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SansNom5 +salib = "Aperçu de l’export vers Batigest" +Fin d'initialisation de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom5 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_SansNom5 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_SansNom5 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Ville +salib = "Ville" +Fin d'initialisation de CMOD_Ville +06/08/2026 Batik 5371 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier(CMOD_Ville.SAI_Texte..NomComplet) +A chaque modification de SAI_Texte ( CMOD_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_VilleBatigest +06/08/2026 Batik 5372 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Code des champs +salib = "Ville" +Fin d'initialisation de CMOD_VilleBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_VilleBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_VilleBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_VilleBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_VilleBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_VilleBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_VilleBatigest +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_VilleBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_VilleBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_VilleBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_VilleBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_VilleBatigest ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +06/08/2026 Batik 5373 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Procédures +FI_TdB_Fiche_Site +Procédures +Procédure locale BlocageEnrg +procédure BlocageEnrg() +si oSite:nPKID <= 0 alors +bBloque = Vrai +renvoyer Vrai +fin +si pas bBloque _et_ oSite:nVerrou <> Base.VerrouParMoi alors +oSite:bAvecBlocage = Vrai +si oSite:DateCharge(oSite:nPKID) alors +bBloque = Vrai +sinon +oSite:bAvecBlocage = Faux +bBloque = Faux +fin +sinon +si bBloque _et_ oSite:nVerrou = Base.VerrouParMoi alors +oSite:bDebloqueEnreg = Vrai +oSite:DebloqueFichier() +bBloque = Faux +sinon +bBloque = Faux +fin +fin +si bBloque alors +si oSite.nIDAdresse > 0 _et_ HLitRecherchePremier(Adresse,AD_PKID,oSite.nIDAdresse) alors +FichierVersMémoire(oSite.oAdresse,Adresse) +fin +SourceVersEcran() +fin +MaJBtnBlocage() +Procédure locale Enregistrer +procédure Enregistrer(bOk est un booléen = Vrai, nIdRetour est un entier sur 8 octets = 0) +EcranVersSource() +si pas oSite:oAdresse:Enregistrer() alors +bOk = Faux +renvoyer Faux +fin +oSite:nIDAdresse = oSite:oAdresse:nPKID +si pas oSite:Enregistrer() alors +bOk = Faux +renvoyer Faux +fin +bOk = Vrai +nIdRetour = oSite:nPKID +renvoyer Vrai +Procédure locale Filtrer +06/08/2026 Batik 5374 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Procédures +procédure Filtrer(nId est un entier sur 8 octets) +si nId > 0 alors +si saFenetre dans(cFEN_Dossier_C, cFI_Liste_ClientSite,cFEN_Inter) alors +oSite:bAvecBlocage = Vrai +si oSite:DateCharge(nId) alors +bBloque = Vrai +sinon +oSite:bAvecBlocage = Faux +bBloque = Faux +fin +sinon +oSite:bAvecBlocage = Faux +bBloque = Faux +oSite:DateCharge(nId) +fin +sinon +bModifDirect = Faux +oSite:nPKID = 0 +bBloque = Vrai +fin +si oSite.nIDAdresse > 0 _et_ HLitRecherchePremier(Adresse,AD_PKID,oSite.nIDAdresse) alors +FichierVersMémoire(oSite.oAdresse,Adresse) +fin +si gbBATIGESTActif alors +stAdr = AdresseBatigest(oSite:oAdresse) +fin +DISP_Adr[cDisp_AdrBatigest]..Visible = gbBATIGESTActif +//DISP_Adr[cDisp_AdrBatigest]..Visible = faux +CMOD_NoteBlocage..Visible = oSite.bBlocage +SourceVersEcran() +MaJBtnBlocage() +Procédure locale FiltrerSelonFen +procédure FiltrerSelonFen(tbaParam est un tableau associatif de chaînes ANSI) +// On ouvre la fiche depuis une autre fiche / on auras un comportement différent selon la fenêtre +appelante +tbaParametres = tbaParam +nId est un entier sur 8 octet +si tbaParametres[cParam_Fenetre]..Existe alors saFenetre = tbaParametres[cParam_Fenetre] sinon +saFenetre = "" +si saFenetre = "" alors +renvoyer Vrai +sinon +bModifDirect = Faux +fin +si saFenetre = cFI_Liste_Contact alors +Filtrer(0) +renvoyer Vrai +fin +selon saFenetre +cas cFEN_Dossier_C, cFI_Liste_ClientSite,cFEN_Inter +06/08/2026 Batik 5375 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Fiche_Site › Procédures +si tbaParametres[Lieu.LI_PKID..Nom]..Existe alors nId = Val(tbaParametres[Lieu.LI_PKID..Nom]) +sinon nId = 0 +si nId <= 0 _et_ tbaParametres[Client.CL_PKID..Nom]..Existe _et_ Val(tbaParametres[Client. +CL_PKID..Nom]) > 0 alors +si HLitRecherchePremier(Client,CL_PKID,Val(tbaParametres[Client.CL_PKID..Nom])) alors +oSite.saCodeLieu = Client.CL_Nom+" "+Client.CL_CodeClient +fin +fin +Filtrer(nId) +bModifDirect = Faux +renvoyer Vrai +autre cas +fin +Procédure locale MaJBtnBlocage +procédure MaJBtnBlocage() +GR_Modif..EnSaisie = bBloque +si pas bBloque alors +CMOD_Ouvert..Visible = Faux +CMOD_Bloque..Visible = Vrai +sinon +CMOD_Ouvert..Visible = Vrai +CMOD_Bloque..Visible = Faux +fin +Procédure locale Modifier +procédure Modifier(saNomChamp est une chaîne ANSI) +bModifieest un booléen = Faux +si {saNomChamp}..LiaisonFichier <> "" _et_ saNomChamp <> "" _et_ {saNomChamp} <> {{saNomChamp}.. +LiaisonFichier} alors +bModifie = Vrai +fin +EcranVersSource() +si gbBATIGESTActif _et_ bModifie alors +stAdr = AdresseBatigest(oSite:oAdresse) +fin +SourceVersEcran() +si bModifie alors +CMOD_NoteBlocage..Visible = oSite.bBlocage +si bModifDirect alors +Enregistrer() +fin +fin +06/08/2026 Batik 5376 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Image +FI_Liste_Site +Image +FI_Liste_Site +Informations générales +FI_Liste_Site +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_Liste_Site.wdw +Créé par SMR +06/08/2026 Batik 5377 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations générales +| Date de création | | 25/07/2025 14:46:50 | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 24/03/2026 16:06:48 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1200 Hauteur | 700 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 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 | | Windows 11 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 5378 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations générales +| Durée Anim. Fermeture | 50 | | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | +| Adapte Taille contenu | Non | | | | | | +| Assombri quand inactif | Oui | | | | | | +| Déplace souris sur bouton par | Non | | | | | | +| Compact. barres outils | Non | | | | | | +Statistiques de la fenêtre +| | Champ de saisie | | 11 | Libellé | | 3 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | +| | Interrupteur | | 19 | Image | | 6 | +| | Table | | 1 | Combo | | 8 | +| | Séparateur | | 1 | Fenêtre interne | | 1 | +| | Superchamp | | 3 | Champ Modèle de champs | | 29 | +| | Option d'interrupteur | | 19 | Option de menu | | 4 | +| | Colonne de table | | 7 | | | | +Nombre d'éléments dans la fenêtre : 112 +FI_Liste_Site +Informations sur les champs +Fenêtre : FI_Liste_Site +Fenêtre interne +BAT ehcuoT +X noitisoP Y noitisoP laitini tatE +ruetuaH +ruegraL +elbisiV +nalP +| FI_Liste_Site | | 0 | 0 1200 | 700 | 0 | | +| ------------- | --- | --- | ------ | --- | --- | --- | +Fenêtre interne : FI_Liste_Site +| 06/08/2026 | | | Batik | | | 5379 | +| ---------- | --- | --- | ----- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Séparateur +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SPLIT_Dossier | 177 | 0 7 | 700 | 0 | Actif | | +| ------------- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Client | 5 | 270 172 | 235 | 0 | Actif | | +| -------------- | ---- | ------- | --- | --- | ----- | --- | +| CMOD_Contact | 5 | 505 172 | 179 | 0 | Actif | | +| CMOD_DateModif | 513 | 4 269 | 30 | 0 | Actif | | +| CMOD_Effacer | 189 | 4 37 | 31 | 0 | Actif | | +| CMOD_Filtre | 1155 | 4 37 | 31 | 0 | Actif | | +| CMOD_NbLigne | 236 | 4 269 | 30 | 0 | Actif | | +| CMOD_Options | 1110 | 4 37 | 31 | 0 | Actif | | +| CMOD_Site | 5 | 4 172 | 266 | 0 | Actif | | +| CMOD_Table | 189 | 39 1003 | 654 | 0 | Actif | | +Champ Modèle de champs : FI_Liste_Site.CMOD_Client +Superchamp +BAT ehcuoT +laitini tatE +| | X noitisoP | Y noitisoP | | | | | +| --- | ---------- | ---------- | ------- | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_Div | 9 | 275 163 | 224 | 0 | Actif | | +| ------ | --- | ------- | --- | --- | ----- | --- | +Superchamp : FI_Liste_Site.CMOD_Client.SC_Div +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | laitini tatE | | sucof cevA | +| --- | --- | --- | --- | ------------ | --- | ---------- | +X noitisoP Y noitisoP +| | | ruegraL ruetuaH | | | cilc cevA | | +| --- | --- | --------------- | --- | --- | --------- | --- | +elbisiV +nalP +| IMG_Site_noire | 15 284 | 18 20 | 0 | Actif | | | +| -------------- | ------ | ----- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | 5380 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Client_Bloque | | | 11 | 459 | 159 | 30 | 0 | Actif | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_Client_Code | | | 9 | 401 | 160 | 30 | 0 | Actif | | +| CMOD_Client_CodeCompta | | | 10 | 371 | 159 | 30 | 0 | Actif | | +| CMOD_Client_Nom | | | 10 | 315 | 160 | 30 | 0 | Actif | | +| CMOD_Client_Statut | | | 9 | 429 | 160 | 30 | 0 | Actif | | +| CMOD_Client_Type | | | 10 | 343 | 159 | 30 | 0 | Actif | | +| CMOD_Titre | | | 41 | 281 | 123 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Bloque +Interrupteur +ellennoitroporp .loC +| | | | | | | | BAT ehcuoT | sennoloc .bN | | +| --- | --- | ---------- | ---------- | --------------- | --- | ------------ | ---------- | ------------ | ----------- | +| | | | | | | laitini tatE | | | staté siorT | +| | | X noitisoP | Y noitisoP | | | | | | | +| | | | | ruegraL ruetuaH | | | | | | +elbisiV +nalP +| INT_Opt | | 11 | 464 | 20 | 20 | 0 Actif | | 1 | | +| ------- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | | | BAT ehcuoT | eisias cevA | | | +| --- | ---------- | ---------- | ------- | ------- | ------------ | ---------- | ----------- | --- | --- | +| | X noitisoP | Y noitisoP | | | laitini tatE | | | | | +| | | | ruetuaH | | | sruocraP | | | | +| | | ruegraL | | elbisiV | | | | | | +| | | | | | | elbaT | eéirT | | | +nalP +| CMB_Choix | 36 | 460 133 | 29 | 0 | Actif | Mémoire | Non | | | +| --------- | --- | ------- | --- | --- | ----- | ------- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Code +| 06/08/2026 | | | | Batik | | | | | 5381 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +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_Choix | 37 401 | 132 30 0 | Actif Texte | | Non | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | ----------- | +ruetuaH +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| INT_Opt | | 10 405 | 20 20 | 0 | Actif | 1 | +| ------- | --- | ------ | ----- | --- | ----- | --- | +Champ Modèle de champs : +FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_CodeCompta +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_Choix | 38 371 | 131 30 0 | Actif Texte | | Non | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | laitini tatE BAT ehcuoT | staté siorT | +| --- | --- | --- | --- | --- | ----------------------- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 10 376 | 20 20 | 0 | Actif | 1 | +| ---------- | --- | ------ | ----- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | 5382 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Nom +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_Choix | 38 315 | 132 30 0 | Actif Texte | | Non | | | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | BAT ehcuoT | | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | ---------- | --- | ----------- | +| | | X noitisoP Y noitisoP | | | laitini tatE | | | | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 10 320 | 20 20 | 0 | Actif | | 1 | | +| ------- | --- | ------ | ----- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Statut +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | | | | laitini tatE | | | staté siorT | +| --- | --- | --- | --- | --- | ------------ | --- | --- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 11 434 | 20 20 | 0 | Actif | | 1 | | +| ------- | --- | ------ | ----- | --- | ----- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | | | +| --- | ---------- | --------------- | ------------ | ---------- | ----------- | --- | --- | --- | +| | X noitisoP | Y noitisoP | laitini tatE | | | | | | +| | | ruegraL ruetuaH | | | sruocraP | | | | +elbisiV +| | | | | elbaT | eéirT | | | | +| --- | --- | --- | --- | ----- | ----- | --- | --- | --- | +nalP +| CMB_Choix | 37 | 429 132 31 | 0 Actif | Mémoire | | Non | | | +| ---------- | --- | ---------- | ------- | ------- | --- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 5383 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Type +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | | laitini tatE | BAT ehcuoT | | staté siorT | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | --- | ----------- | +| | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| INT_Opt | | 10 | 348 | 20 | 20 | 0 Actif | | | 1 | | +| ------- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | +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_Choix | 38 | 343 131 | 31 | 0 | Actif | Mémoire | | Non | | | +Champ Modèle de champs : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Titre +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | --- | --- | --- | +| | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| LIB_lib | | 41 | 281 | 123 26 | | 0 Actif | Gauche | | Centre | | +| ------- | --- | --- | --- | ------ | --- | ------- | ------ | --- | ------ | --- | +Champ Modèle de champs : FI_Liste_Site.CMOD_Contact +Superchamp +| | | | | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | ------------ | ---------- | +| | | | X noitisoP | Y noitisoP | | | | | | | +| | | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| SC_Div | | | 9 | 510 | 163 | 168 | 0 | | Actif | | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | ----- | ---- | +| 06/08/2026 | | | | Batik | | | | | | 5384 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Superchamp : FI_Liste_Site.CMOD_Contact.SC_Div +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| --- | --- | ---------- | ---------- | --- | ------- | --- | --- | ------------ | --------- | ---------- | +| | | | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Site_noire | | 17 | 519 | | 18 20 | 0 | | Actif | | | +| -------------- | --- | --- | --- | --- | ----- | --- | --- | ----- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| CMOD_Ctc_Email | | | 10 | 609 | 159 | 30 | | 0 | Actif | | +| -------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_Ctc_Nom | | | 10 | 549 | 159 | 30 | | 0 | Actif | | +| CMOD_Ctc_Role | | | 10 | 639 | 159 | 30 | | 0 | Actif | | +| CMOD_Ctc_Tel | | | 10 | 579 | 160 | 30 | | 0 | Actif | | +| CMOD_Titre | | | 40 | 515 | 129 | 26 | | 0 | Actif | | +Champ Modèle de champs : FI_Liste_Site.CMOD_Contact.SC_Div.CMOD_Ctc_Email +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 eisias epyT | FTR tamroF | | ediv is LLUN | | lacitrev .csA | +| | X noitisoP Y noitisoP | | | laitini tatE | | engilitluM | | | | | +ruetuaH +| | | ruegraL | | elbisiV | | | | | | | +| --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_Choix | 38 609 | 131 30 | 0 | Actif | Texte | | Non | | | | +| --------- | ------ | ------ | --- | ----- | ----- | --- | --- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | | laitini tatE | BAT ehcuoT | | staté siorT | +| --- | --- | --- | --- | --- | --- | --- | ------------ | ---------- | --- | ----------- | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| INT_Opt | | 10 | 614 | 20 | 20 | 0 | Actif | | 1 | | +| ---------- | --- | --- | --- | --- | ----- | --- | ----- | --- | --- | ---- | +| 06/08/2026 | | | | | Batik | | | | | 5385 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Site.CMOD_Contact.SC_Div.CMOD_Ctc_Nom +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_Choix | 38 549 | 131 30 0 | Actif Texte | | Non | | | | +| --------- | ------ | -------- | ----------- | --- | --- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | BAT ehcuoT | | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | ---------- | --- | ----------- | +| | | X noitisoP Y noitisoP | | | laitini tatE | | | | +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 10 554 | 20 20 | 0 | Actif | | 1 | | +| ------- | --- | ------ | ----- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Site.CMOD_Contact.SC_Div.CMOD_Ctc_Role +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | | | | laitini tatE | | | staté siorT | +| --- | --- | --- | --- | --- | ------------ | --- | --- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 10 644 | 20 20 | 0 | Actif | | 1 | | +| ------- | --- | ------ | ----- | --- | ----- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | | | +| --- | ---------- | --------------- | ------------ | ---------- | ----------- | --- | --- | --- | +| | X noitisoP | Y noitisoP | laitini tatE | | | | | | +| | | ruegraL ruetuaH | | | sruocraP | | | | +elbisiV +| | | | | elbaT | eéirT | | | | +| --- | --- | --- | --- | ----- | ----- | --- | --- | --- | +nalP +| CMB_Choix | 38 | 639 131 31 | 0 Actif | Mémoire | | Non | | | +| ---------- | --- | ---------- | ------- | ------- | --- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 5386 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Site.CMOD_Contact.SC_Div.CMOD_Ctc_Tel +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_Choix | 38 579 | 132 30 | 0 | Actif | Texte | Non | | | +| --------- | ------ | ------ | --- | ----- | ----- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | BAT ehcuoT | | staté siorT | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | ----------- | +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| INT_Opt | | 10 584 | 20 | 20 | 0 | Actif | 1 | | +| ------- | --- | ------ | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_Liste_Site.CMOD_Contact.SC_Div.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | ---------- | +| | | | | | | laitini tatE | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 40 515 | 129 | 26 | 0 | Actif Gauche | Centre | | +| ------- | --- | ------ | --- | --- | --- | ------------ | ------ | --- | +Champ Modèle de champs : FI_Liste_Site.CMOD_DateModif +| 06/08/2026 | | | | Batik | | | | 5387 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | ruegraL | | | elbisiV | | | | | +| --- | --- | --- | ------- | --- | --- | ------- | --- | --- | --- | --- | +nalP +| INT_Opt | | 513 | 9 | 20 | 20 | 0 | Actif | | 1 | | +| ------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | +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_Choix | 541 | 4 241 | 31 | 0 | Actif | Mémoire | | Non | | | +Champ Modèle de champs : FI_Liste_Site.CMOD_Effacer +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | | | laitini tatE | | | sucof cevA | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | --- | ---------- | +| | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | ruegraL | ruetuaH | | | cilc cevA | | | +elbisiV +nalP +| IMG_Icone | | 189 | 4 | 37 | 31 | 0 | Actif | | | | +| --------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Site.CMOD_Filtre +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +sucof cevA +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --------- | --- | --- | +| | | | | ruegraL | ruetuaH | | | cilc cevA | | | +elbisiV +nalP +| IMG_Icone | | 1155 | 4 | 37 | 31 | 0 | Actif | | | | +| ---------- | --- | ---- | --- | ----- | --- | --- | ----- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | | 5388 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Site.CMOD_NbLigne +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | | laitini tatE | BAT ehcuoT | | staté siorT | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | --- | ----------- | +| | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| INT_Opt | | 236 | 9 | 20 | 20 | 0 Actif | | | 1 | | +| ------- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | +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_Choix | 264 | 4 241 | 31 | 0 | Actif | Mémoire | | Non | | | +Champ Modèle de champs : FI_Liste_Site.CMOD_Options +Image +| | | | | | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | --------------------------------------- | ---------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | sucof cevA | +cilc cevA +| | | | | ruegraL | ruetuaH | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| IMG_Icone | | 1110 | 4 | 37 | 31 | 0 | Actif | | | | +| --------- | --- | ---- | --- | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Site.CMOD_Site +Superchamp +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_Div | | | 9 | 9 | 163 | 255 | 0 | | Actif | | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | ----- | ---- | +| 06/08/2026 | | | | Batik | | | | | | 5389 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Superchamp : FI_Liste_Site.CMOD_Site.SC_Div +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| --- | --- | ---------- | ---------- | --- | ------- | --- | --- | ------------ | --------- | ---------- | +| | | | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Site_noire | | 14 | 18 | | 18 20 | 0 | | Actif | | | +| -------------- | --- | --- | --- | --- | ----- | --- | --- | ----- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| CMOD_Site_Adresse | | | 10 | 169 | 159 | 30 | | 0 | Actif | | +| ----------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_Site_Blocage | | | 10 | 139 | 159 | 30 | | 0 | Actif | | +| CMOD_Site_CP | | | 10 | 197 | 159 | 30 | | 0 | Actif | | +| CMOD_Site_Nom | | | 10 | 49 | 159 | 30 | | 0 | Actif | | +| CMOD_Site_Note | | | 10 | 109 | 159 | 30 | | 0 | Actif | | +| CMOD_Site_Type | | | 10 | 79 | 159 | 30 | | 0 | Actif | | +| CMOD_Site_Ville | | | 10 | 227 | 159 | 30 | | 0 | Actif | | +| CMOD_Titre | | | 36 | 15 | 130 | 26 | | 0 | Actif | | +Champ Modèle de champs : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Adresse +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 | +| --- | ---------- | --- | --- | ------------ | ----------- | --------------------- | --- | ------------------------- | --- | ------------- | +| | X noitisoP | | | laitini tatE | eisias epyT | engilitluM FTR tamroF | | | | | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| SAI_Choix | 38 169 | 131 30 | 0 | Actif | Texte | | Non | | | | +| ---------- | ------ | ------ | --- | ----- | ----- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | | Batik | | | | | 5390 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | ruegraL | elbisiV | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +nalP +| INT_Opt | | 10 174 | 20 20 | 0 | Actif | | 1 | | +| ------- | --- | ------ | ----- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Blocage +Interrupteur +ellennoitroporp .loC +BAT ehcuoT sennoloc .bN +| | | | | | laitini tatE | | | staté siorT | +| --- | --- | --- | --- | --- | ------------ | --- | --- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 10 144 | 20 20 | 0 | Actif | | 1 | | +| ------- | --- | ------ | ----- | --- | ----- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | | | +| --- | ---------- | ---------- | ------------ | ---------- | ----------- | --- | --- | --- | +| | X noitisoP | Y noitisoP | laitini tatE | | | | | | +| | | ruetuaH | | | sruocraP | | | | +| | | ruegraL | elbisiV | | | | | | +elbaT +| | | | nalP | | eéirT | | | | +| --------- | --- | ---------- | ------- | ------- | ----- | --- | --- | --- | +| CMB_Choix | 38 | 140 131 29 | 0 Actif | Mémoire | | Non | | | +Champ Modèle de champs : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_CP +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_Choix | 38 197 | 131 30 0 | Actif Texte | | Non | | | | +| ---------- | ------ | -------- | ----------- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 5391 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | ----------- | +ruetuaH +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| INT_Opt | | 10 202 | 20 20 | 0 | Actif | 1 | +| ------- | --- | ------ | ----- | --- | ----- | --- | +Champ Modèle de champs : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Nom +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 eisias epyT | FTR tamroF | ediv is LLUN | lacitrev .csA | +| | X noitisoP Y noitisoP | | laitini tatE | engilitluM | | | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| SAI_Choix | 38 49 | 131 30 0 | Actif Texte | | Non | | +| --------- | ----- | -------- | ----------- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | laitini tatE BAT ehcuoT | staté siorT | +| --- | --- | --- | --- | --- | ----------------------- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 10 54 | 20 20 | 0 | Actif | 1 | +| ------- | --- | ----- | ----- | --- | ----- | --- | +Champ Modèle de champs : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Note +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_Choix | 38 109 | 131 30 0 | Actif Texte | | Non | | +| ---------- | ------ | -------- | ----------- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | 5392 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | ruegraL | elbisiV | | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | --- | +nalP +| INT_Opt | | 10 114 | 20 20 | 0 | Actif | | 1 | | +| ------- | --- | ------ | ----- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Type +Interrupteur +ellennoitroporp .loC +BAT ehcuoT sennoloc .bN +| | | | | | laitini tatE | | | staté siorT | +| --- | --- | --- | --- | --- | ------------ | --- | --- | ----------- | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Opt | | 10 84 | 20 20 | 0 | Actif | | 1 | | +| ------- | --- | ----- | ----- | --- | ----- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | BAT ehcuoT | eisias cevA | | | | +| --- | ---------- | ---------- | ------------ | ---------- | ----------- | --- | --- | --- | +| | X noitisoP | Y noitisoP | laitini tatE | | | | | | +| | | ruetuaH | | | sruocraP | | | | +| | | ruegraL | elbisiV | | | | | | +elbaT +| | | | nalP | | eéirT | | | | +| --------- | --- | --------- | ------- | ------- | ----- | --- | --- | --- | +| CMB_Choix | 38 | 79 131 31 | 0 Actif | Mémoire | | Non | | | +Champ Modèle de champs : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Ville +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_Choix | 38 227 | 131 30 0 | Actif Texte | | Non | | | | +| ---------- | ------ | -------- | ----------- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | | 5393 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | ruegraL | | | elbisiV | | | | | +| --- | --- | --- | ------- | --- | --- | ------- | --- | --- | --- | --- | +nalP +| INT_Opt | | 10 232 | 20 | 20 | | 0 | Actif | | 1 | | +| ------- | --- | ------ | --- | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------ | --- | ------------- | ------------- | ---------- | +| | | | | | | laitini tatE | | | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 36 15 | 130 | 26 | 0 | Actif | Gauche | Centre | | | +| ------- | --- | ----- | --- | --- | --- | ----- | ------ | ------ | --- | --- | +Champ Modèle de champs : FI_Liste_Site.CMOD_Table +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +| | | | | | | | | lennoitroporp .csA | .loc .gifnoc .oméM | | +| --- | --------------------- | --- | --- | ----------------------- | --- | ------------------ | -------------- | ------------------------------ | ------------------ | ----------------------------- | +| | | | | | | )(ertliFH resilitU | | ruesnecsa elluB EERTNE noitseG | | eércna ennoloC 5.5 elbitapmoC | +| | | | | | | .gerne egacolB | noitcelésitluM | edacsac eisiaS | | | +| | | | | laitini tatE BAT ehcuoT | | | | | | | +| | X noitisoP Y noitisoP | | | | | sruocraP | | | | | +ruegraL ruetuaH +elbisiV +elbaT +nalP +| TABLE_Info | 191 41 | 997 648 | 0 affichag | | Mémoir | | | | | 1 | +| ---------- | ------ | ------- | ---------- | --- | ------ | --- | --- | --- | --- | --- | +Table : FI_Liste_Site.CMOD_Table.TABLE_Info +| 06/08/2026 | | | | Batik | | | | | | 5394 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | elbairt ennoloC | ehcrehcer cevA | | | +| --- | --- | -------------- | --------------- | --------------------------- | ---------------------- | ----------- | +| | | ehcuag à eéxiF | | .zroh egardaC .trev egardaC | | | +| | | laitini tatE | elbaçalpéD | | eisias epyT FTR tamroF | eisias cevA | +engilitluM +ruegraL +elbisiV +| epyT | | | | | | eéirT | +| ----------- | --- | ----- | --- | ------------- | ------- | ----- | +| COL_PKID | 880 | Grisé | | Droite Centre | Numériq | | +| COL_Nom | 240 | Actif | | Gauche Centre | Texte | | +| COL_Type | 178 | Actif | | Gauche Centre | Texte | | +| COL_Adresse | 220 | Actif | | Gauche Centre | Texte | | +| COL_CP | 100 | Actif | | Gauche Centre | Texte | | +| COL_Ville | 140 | Actif | | Gauche Centre | Texte | | +| COL_Bloque | 100 | Actif | | Centre Centre | | | +Fenêtre : FI_Liste_Site +Fenêtre interne : FI_Liste_Site +| UI par l'utilisateur | Selon fenêtre | | | | | | +| ------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | | +| ------------------------- | ------- | --- | --- | --- | --- | --- | +| Ctx. HFSQL indép. | Non | | | | | | +| Ancrage | <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Batik | | | 5395 | +| ---------- | --- | --- | ----- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Fenêtre interne : FI_Liste_Site +Champ Modèle de champs : FI_Liste_Site.CMOD_Client +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Site.CMOD_Contact +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5396 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Site.CMOD_DateModif +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Site.CMOD_Effacer +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5397 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Site.CMOD_Filtre +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Site.CMOD_NbLigne +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5398 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Site.CMOD_Options +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Site.CMOD_Site +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5399 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Site.CMOD_Table +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Séparateur : FI_Liste_Site.SPLIT_Dossier +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 +Sens Vertical +Numéro aide 0 +Opacité 100 +Borne max. -1 +Borne min. -1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Sauve position Oui +Image D:\Projets Windev\Batik\Nouvelle +Ancrage Hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5400 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Site.CMOD_Client +Superchamp : FI_Liste_Site.CMOD_Client.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 161 +Hauteur externe 222 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Liste_Site.CMOD_Client.SC_Div +Champ Modèle de champs : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Bloque +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +06/08/2026 Batik 5401 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Code +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5402 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Nom +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Statut +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5403 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Type +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5404 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Image : FI_Liste_Site.CMOD_Client.SC_Div.IMG_Site_noire +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Client_noire.svg +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 Oui +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 +Champ Modèle de champs : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Bloque +Combo : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Bloque.CMB_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Combo +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 5405 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +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 132 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 37 +Largeur interne 132 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 5406 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Bloque.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 5407 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Code +Interrupteur : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Code.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +06/08/2026 Batik 5408 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Code.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 37 +Largeur interne 132 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 5409 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_CodeCompta +06/08/2026 Batik 5410 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Interrupteur : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_CodeCompta.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5411 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 38 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Batik 5412 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Nom +Interrupteur : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Nom.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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> +06/08/2026 Batik 5413 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Nom.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 +06/08/2026 Batik 5414 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 38 +Largeur interne 132 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 5415 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +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 +Champ Modèle de champs : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Statut +Combo : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Statut.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 132 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 37 +Largeur interne 132 +Cadrage fonctions gXXX Tenir compte du cadrage +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) +06/08/2026 Batik 5416 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Saisie invalide Oui, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Statut.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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> +06/08/2026 Batik 5417 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Type +Combo : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Type.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 +06/08/2026 Batik 5418 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Gauche +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 131 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 38 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +06/08/2026 Batik 5419 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Client_Type.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5420 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Titre +Libellé : FI_Liste_Site.CMOD_Client.SC_Div.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5421 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Site.CMOD_Contact +Superchamp : FI_Liste_Site.CMOD_Contact.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 161 +Hauteur externe 166 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Liste_Site.CMOD_Contact.SC_Div +Champ Modèle de champs : FI_Liste_Site.CMOD_Contact.SC_Div.CMOD_Ctc_Email +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +06/08/2026 Batik 5422 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Site.CMOD_Contact.SC_Div.CMOD_Ctc_Nom +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Site.CMOD_Contact.SC_Div.CMOD_Ctc_Role +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5423 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Site.CMOD_Contact.SC_Div.CMOD_Ctc_Tel +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Site.CMOD_Contact.SC_Div.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5424 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Image : FI_Liste_Site.CMOD_Contact.SC_Div.IMG_Site_noire +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Contact_noire.svg +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 Oui +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 +Champ Modèle de champs : FI_Liste_Site.CMOD_Contact.SC_Div.CMOD_Ctc_Email +Interrupteur : FI_Liste_Site.CMOD_Contact.SC_Div.CMOD_Ctc_Email.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 5425 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Site.CMOD_Contact.SC_Div.CMOD_Ctc_Email.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +06/08/2026 Batik 5426 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +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 38 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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> +06/08/2026 Batik 5427 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +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 +Champ Modèle de champs : FI_Liste_Site.CMOD_Contact.SC_Div.CMOD_Ctc_Nom +Interrupteur : FI_Liste_Site.CMOD_Contact.SC_Div.CMOD_Ctc_Nom.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +06/08/2026 Batik 5428 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Site.CMOD_Contact.SC_Div.CMOD_Ctc_Nom.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 38 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 5429 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5430 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Site.CMOD_Contact.SC_Div.CMOD_Ctc_Role +Combo : FI_Liste_Site.CMOD_Contact.SC_Div.CMOD_Ctc_Role.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 131 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 38 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 5431 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Site.CMOD_Contact.SC_Div.CMOD_Ctc_Role.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Batik 5432 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Site.CMOD_Contact.SC_Div.CMOD_Ctc_Tel +Interrupteur : FI_Liste_Site.CMOD_Contact.SC_Div.CMOD_Ctc_Tel.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Batik 5433 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Site.CMOD_Contact.SC_Div.CMOD_Ctc_Tel.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 38 +Largeur interne 132 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +06/08/2026 Batik 5434 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +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, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5435 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Site.CMOD_Contact.SC_Div.CMOD_Titre +Libellé : FI_Liste_Site.CMOD_Contact.SC_Div.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5436 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Site.CMOD_DateModif +Combo : FI_Liste_Site.CMOD_DateModif.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 241 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 541 +Largeur interne 241 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 5437 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Site.CMOD_DateModif.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Batik 5438 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Site.CMOD_Effacer +Image : FI_Liste_Site.CMOD_Effacer.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\gomme_noire.svg +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 +06/08/2026 Batik 5439 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : FI_Liste_Site.CMOD_Filtre +Image : FI_Liste_Site.CMOD_Filtre.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Double_flèches.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 5440 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Site.CMOD_NbLigne +Combo : FI_Liste_Site.CMOD_NbLigne.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 241 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 264 +Largeur interne 241 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Batik 5441 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Site.CMOD_NbLigne.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Batik 5442 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Site.CMOD_Options +Image : FI_Liste_Site.CMOD_Options.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\options.svg +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) +06/08/2026 Batik 5443 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : FI_Liste_Site.CMOD_Site +Superchamp : FI_Liste_Site.CMOD_Site.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 161 +Hauteur externe 253 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5444 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Superchamp : FI_Liste_Site.CMOD_Site.SC_Div +Champ Modèle de champs : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Adresse +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Blocage +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5445 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_CP +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Nom +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5446 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Note +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Type +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5447 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Ville +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5448 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Image : FI_Liste_Site.CMOD_Site.SC_Div.IMG_Site_noire +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Site_noire.svg +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 Oui +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 +Champ Modèle de champs : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Adresse +Interrupteur : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Adresse.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 5449 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Adresse.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +06/08/2026 Batik 5450 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +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 38 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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> +06/08/2026 Batik 5451 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +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 +Champ Modèle de champs : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Blocage +Combo : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Blocage.CMB_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe ,GR_Combo +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 130 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 39 +Largeur interne 130 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Batik 5452 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Blocage.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 5453 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_CP +06/08/2026 Batik 5454 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Interrupteur : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_CP.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5455 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ de saisie : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_CP.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 38 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +06/08/2026 Batik 5456 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Nom +Interrupteur : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Nom.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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> +06/08/2026 Batik 5457 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Cadrage vert. Haut +Hauteur options auto Oui +Compacter option Oui +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Nom.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 +06/08/2026 Batik 5458 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Cadrage horz. Gauche +Position X interne 38 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 5459 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +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 +Champ Modèle de champs : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Note +Interrupteur : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Note.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +06/08/2026 Batik 5460 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Texte Markdown Non +Mode menu ctx. <Aucun> +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Note.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 38 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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> +06/08/2026 Batik 5461 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +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, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5462 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Type +Combo : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Type.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 131 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 38 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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 +06/08/2026 Batik 5463 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Type.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +06/08/2026 Batik 5464 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Ville +Interrupteur : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Ville.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Batik 5465 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Site_Ville.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 38 +Largeur interne 131 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Format HTML 0 +06/08/2026 Batik 5466 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +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, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5467 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Titre +Libellé : FI_Liste_Site.CMOD_Site.SC_Div.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5468 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Champ Modèle de champs : FI_Liste_Site.CMOD_Table +Table : FI_Liste_Site.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 5469 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +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. A la fin +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 : FI_Liste_Site.CMOD_Table.TABLE_Info +Colonne de table : FI_Liste_Site.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 +06/08/2026 Batik 5470 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Site.CMOD_Table.TABLE_Info.COL_Nom (2) +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 250 Taux anc. hauteur 1000 +06/08/2026 Batik 5471 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Colonne de table : FI_Liste_Site.CMOD_Table.TABLE_Info.COL_Type (3) +Titre FR: Type +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 150 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Site.CMOD_Table.TABLE_Info.COL_Adresse (4) +Titre FR: Adresse +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 +06/08/2026 Batik 5472 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › 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 250 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Site.CMOD_Table.TABLE_Info.COL_CP (5) +Titre FR: CP +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 130 Taux anc. hauteur 1000 +06/08/2026 Batik 5473 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +Colonne de table : FI_Liste_Site.CMOD_Table.TABLE_Info.COL_Ville (6) +Titre FR: Ville +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 170 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Site.CMOD_Table.TABLE_Info.COL_Bloque (7) +Titre FR: Bloque +Curseur survol 0 +UI par l'utilisateur <Aucun> +Bouton Calculatrice Non +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> +06/08/2026 Batik 5474 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Informations sur les champs +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 50 Taux anc. hauteur 1000 +FI_Liste_Site +Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Creer (2) +OPT_Modifier (3) +OPT_Supprimer (4) +Libellé des options : Français +Créer un nouveau site +Modifier le site sélectionné +Supprimer le site sélectionné +FI_Liste_Site +Code des champs +Déclarations globales de FI_Liste_Site +procédure FI_Liste_Site(saNomFen est une chaîne ANSI = "") +tbaCriteresParam est un tableau associatif de chaînes ANSI +si SansEspace(saNomFen) <> "" alors +CMOD_Options..Visible = Faux +MenuSelectMoins(OPT_Creer) +MenuSelectMoins(OPT_Modifier) +06/08/2026 Batik 5475 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +MenuSelectMoins(OPT_Supprimer) +fin +Fin d'initialisation de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Client +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5476 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Client_Bloque +saLib = "Bloqué" +Fin d'initialisation de CMOD_Client_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Client_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Client_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Client_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Client_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Client_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Client_Bloque +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_Client_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_Client_Bloque ) +06/08/2026 Batik 5477 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_Client_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_Client_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_Client_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_Client_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_Client_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_Client_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_Client_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Client_Bloque ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Client_Code +salib = "Code client" +Fin d'initialisation de CMOD_Client_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Client_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Client_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Client_Code +06/08/2026 Batik 5478 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Client_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Client_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Client_Code +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_Client_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_Client_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_Client_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_Client_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Client_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_Client_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_Client_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_Client_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_Client_Code ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5479 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_Client_Code ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Client_CodeCompta +salib = "Code comptable" +Fin d'initialisation de CMOD_Client_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Client_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Client_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Client_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Client_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Client_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Client_CodeCompta +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_Client_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_Client_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_Client_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_Client_CodeCompta ) +06/08/2026 Batik 5480 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Client_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_Client_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_Client_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_Client_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_Client_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_Client_CodeCompta ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Client_Nom +salib = "Nom du client" +Fin d'initialisation de CMOD_Client_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Client_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Client_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Client_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Client_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Client_Nom +06/08/2026 Batik 5481 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Client_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_Client_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_Client_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_Client_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_Client_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Client_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_Client_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_Client_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_Client_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_Client_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_Client_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Client_Statut +saLib = "Statut client" +06/08/2026 Batik 5482 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +saCode = cParam_StatutClient +Fin d'initialisation de CMOD_Client_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Client_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Client_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Client_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Client_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Client_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Client_Statut +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_Client_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_Client_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_Client_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_Client_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_Client_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_Client_Statut ) +06/08/2026 Batik 5483 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_Client_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_Client_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_Client_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Client_Statut ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Client_Type +saLib = "Type de client" +saCode = cParam_TypeClient +Fin d'initialisation de CMOD_Client_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Client_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Client_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Client_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Client_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Client_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Client_Type +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5484 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_Client_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_Client_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_Client_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_Client_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_Client_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_Client_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_Client_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_Client_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_Client_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Client_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Client" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +06/08/2026 Batik 5485 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Contact +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5486 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Contact +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Ctc_Email +salib = "Email" +Fin d'initialisation de CMOD_Ctc_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ctc_Email +06/08/2026 Batik 5487 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ctc_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ctc_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ctc_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ctc_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ctc_Email +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_Ctc_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_Ctc_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_Ctc_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_Ctc_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Ctc_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_Ctc_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_Ctc_Email ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5488 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_Ctc_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_Ctc_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_Ctc_Email ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Ctc_Nom +salib = "Nom du contact" +Fin d'initialisation de CMOD_Ctc_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ctc_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ctc_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ctc_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ctc_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ctc_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ctc_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_Ctc_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_Ctc_Nom ) +06/08/2026 Batik 5489 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_Ctc_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_Ctc_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Ctc_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_Ctc_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_Ctc_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_Ctc_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_Ctc_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_Ctc_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Ctc_Role +sacode = cParam_RoleContact +salib = "Rôle" +Fin d'initialisation de CMOD_Ctc_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ctc_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ctc_Role +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5490 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +ExécuteAncêtre +Sortie de CMOD_Ctc_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ctc_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ctc_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ctc_Role +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_Ctc_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_Ctc_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_Ctc_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_Ctc_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_Ctc_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_Ctc_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_Ctc_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_Ctc_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_Ctc_Role ) +06/08/2026 Batik 5491 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Ctc_Role ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Ctc_Tel +salib = "Téléphones" +Fin d'initialisation de CMOD_Ctc_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ctc_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ctc_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ctc_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ctc_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ctc_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ctc_Tel +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_Ctc_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_Ctc_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_Ctc_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_Ctc_Tel ) +06/08/2026 Batik 5492 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Ctc_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_Ctc_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_Ctc_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_Ctc_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_Ctc_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_Ctc_Tel ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Contact" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +06/08/2026 Batik 5493 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_DateModif +saLib = "Depuis" +saCode = cParam_PeriodeRqSql +Fin d'initialisation de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CMOD_DateModif.CMB_Choix = cCle_PeriodeSqlReq1Mois +CMOD_DateModif.INT_Opt = Vrai +Demande de mise à jour de l'affichage de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_DateModif +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_DateModif ) (modèle MDLC_ChoixCombo) +06/08/2026 Batik 5494 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +InitChamp(MoiMême..Nom,saCode,Vrai) +MoiMême..Indication = saLib +CMB_Choix..RechercheFAA = Faux +Sélection d'une ligne de CMB_Choix ( CMOD_DateModif ) (modèle MDLC_ChoixCombo) +INT_Opt=Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_DateModif ) (modèle MDLC_ChoixCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_DateModif ) (modèle MDLC_ChoixCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Effacer ) +06/08/2026 Batik 5495 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +GR_Combo = -1 +GR_Saisie = "" +GR_Boolean = Faux +A chaque modification de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Filtre ) +06/08/2026 Batik 5496 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Filtrer() +A chaque modification de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NbLigne +saLib = "Afficher" +saCode = cParam_LigneRqSql +Fin d'initialisation de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +CMOD_NbLigne.CMB_Choix = gtabParametresMetierCode[cParam_LigneRqSql][cCle_NumLigneReq200]: +saParametre +CMOD_NbLigne.INT_Opt = Vrai +Demande de mise à jour de l'affichage de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NbLigne +06/08/2026 Batik 5497 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NbLigne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_NbLigne ) (modèle MDLC_ChoixCombo) +InitChamp(MoiMême..Nom,saCode,Vrai) +MoiMême..Indication = saLib +CMB_Choix..RechercheFAA = Faux +Sélection d'une ligne de CMB_Choix ( CMOD_NbLigne ) (modèle MDLC_ChoixCombo) +INT_Opt=Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_NbLigne ) (modèle MDLC_ChoixCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_NbLigne ) (modèle MDLC_ChoixCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Options +06/08/2026 Batik 5498 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Site +06/08/2026 Batik 5499 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Site +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Site_Adresse +salib = "Adresse du site" +Fin d'initialisation de CMOD_Site_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Site_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Site_Adresse +06/08/2026 Batik 5500 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Site_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Site_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Site_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Site_Adresse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_Site_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_Site_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_Site_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_Site_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Site_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_Site_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_Site_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_Site_Adresse ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5501 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_Site_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_Site_Adresse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Site_Blocage +salib = "Bloqué" +Fin d'initialisation de CMOD_Site_Blocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Site_Blocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Site_Blocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Site_Blocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Site_Blocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Site_Blocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Site_Blocage +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_Site_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_Site_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_Site_Blocage ) +06/08/2026 Batik 5502 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_Site_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_Site_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_Site_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_Site_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_Site_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_Site_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Site_Blocage ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Site_CP +salib = "Code postal" +Fin d'initialisation de CMOD_Site_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Site_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Site_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Site_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Site_CP +06/08/2026 Batik 5503 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Site_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Site_CP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_Site_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_Site_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_Site_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_Site_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Site_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_Site_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_Site_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_Site_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_Site_CP ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_Site_CP ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5504 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +ExécuteAncêtre +Déclarations globales de CMOD_Site_Nom +salib = "Nom du site" +Fin d'initialisation de CMOD_Site_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Site_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Site_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Site_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Site_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Site_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Site_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_Site_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_Site_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_Site_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_Site_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Site_Nom ) +06/08/2026 Batik 5505 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_Site_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_Site_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_Site_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_Site_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_Site_Nom ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Site_Note +salib = "Note du site" +Fin d'initialisation de CMOD_Site_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Site_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Site_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Site_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Site_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Site_Note +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Site_Note +06/08/2026 Batik 5506 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_Site_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_Site_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_Site_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_Site_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Site_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_Site_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_Site_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_Site_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_Site_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_Site_Note ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Site_Type +saLib = "Type de site" +saCode = cparam_TypeLieu +Fin d'initialisation de CMOD_Site_Type +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5507 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Site_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Site_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Site_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Site_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Site_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Site_Type +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_Site_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMB_Choix ( CMOD_Site_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Choix ( CMOD_Site_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Choix ( CMOD_Site_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_Site_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_Site_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_Site_Type ) +06/08/2026 Batik 5508 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_Site_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_Site_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Site_Type ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Site_Ville +salib = "Ville" +Fin d'initialisation de CMOD_Site_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Site_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Site_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Site_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Site_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Site_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Site_Ville +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de INT_Opt ( CMOD_Site_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans INT_Opt ( CMOD_Site_Ville ) +06/08/2026 Batik 5509 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de INT_Opt ( CMOD_Site_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de INT_Opt ( CMOD_Site_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Site_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Choix ( CMOD_Site_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Choix ( CMOD_Site_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Choix ( CMOD_Site_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Choix ( CMOD_Site_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_Site_Ville ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Site" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +06/08/2026 Batik 5510 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5511 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SelLigneTable() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5512 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Code des champs +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection du menu de MNU_Options.OPT_Creer +Creer() +Sélection du menu de MNU_Options.OPT_Modifier +Modifier() +Sélection du menu de MNU_Options.OPT_Supprimer +Supprimer() +FI_Liste_Site +Procédures +Procédure locale Creer +procédure Creer() +tbaParam est un tableau associatif de chaînes ANSI +| tbaParam[cParam_Fenetre] | | = cFI_Liste_Site | | | +| ------------------------ | -------------------------- | ---------------- | --- | --- | +| nIdSite | est un entier sur 8 octets | | | | +| bOk | est un booléen | | | | +(bOk, nIdSite) = Ouvre(FEN_Fiche,tbaParam) +si bOk et nIdSite > 0 alors +Filtrer() +fin +Procédure locale Filtrer +procédure Filtrer() +TableSupprimeTout(TABLE_Info) +| ReqSQL | est une chaîne | | | | +| ----------- | ------------------------- | ------------------------ | ----- | ---- | +| sCR | est une chaîne | | | | +| sdListeSite | est une Source de Données | | | | +| nTop | est un entier | = CMOD_NbLigne.CMB_Choix | | | +| saJoin | est une chaîne ANSI | | | | +| 06/08/2026 | | | Batik | 5513 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Procédures +si nTop>0 _et_ CMOD_NbLigne.INT_Opt alors +ReqSQL=ChaîneConstruit("SELECT TOP %1 ",nTop) +sinon +ReqSQL="SELECT " +fin +ReqSQL+=[ +Lieu.LI_PKID +,Lieu.LI_CodeLieu +,Lieu.LI_CleType +,Lieu.LI_Blocage +,Adresse.AD_Adresse +,Adresse.AD_CodePostal +,Adresse.AD_Ville +,Lieu.ModifDate AS MinDateModif +] +ReqSQL+=[ +FROM Lieu +LEFT OUTER JOIN Adresse ON (AD_PKID=LI_IDAdresse) +] +sCR+=CritereHF(CMOD_Site_Nom.INT_Opt,CMOD_Site_Nom.SAI_Choix,Lieu.LI_CodeLieu..Nom,df_Milieutexte) +sCR+=CritereHF(CMOD_Site_Type.INT_Opt,CMOD_Site_Type.CMB_Choix,Lieu.LI_CleType..Nom,df_TexteComplet) +sCR+=CritereHF(CMOD_Site_Note.INT_Opt,CMOD_Site_Note.SAI_Choix,Lieu.LI_Note..Nom,df_Milieutexte) +sCR+=CritereHF(CMOD_Site_Blocage.INT_Opt,CMOD_Site_Blocage.CMB_Choix,Lieu.LI_Blocage..Nom,df_Booleen) +sCR+=CritereHF(CMOD_Site_Adresse.INT_Opt,CMOD_Site_Adresse.SAI_Choix,Adresse.AD_Adresse..Nom, +df_Milieutexte) +sCR+=CritereHF(CMOD_Site_CP.INT_Opt,CMOD_Site_CP.SAI_Choix,Adresse.AD_CodePostal..Nom,df_Milieutexte) +sCR+=CritereHF(CMOD_Site_Ville.INT_Opt,CMOD_Site_Ville.SAI_Choix,Adresse.AD_Ville..Nom,df_Milieutexte) +si CMOD_Client_Nom.INT_Opt ou CMOD_Client_Type.INT_Opt ou CMOD_Client_CodeCompta.INT_Opt ou CMOD_ +Client_Code.INT_Opt ou CMOD_Client_Statut.INT_Opt ou CMOD_Client_Bloque.INT_Opt alors +saJoin += " INNER JOIN Client_Lieu ON CLI_IDLieu = LI_PKID " +saJoin += " INNER JOIN Client ON CL_PKID = CLI_IDClient " +sCR+=CritereHF(CMOD_Client_Nom.INT_Opt,CMOD_Client_Nom.SAI_Choix,Client.CL_Nom..Nom,df_Milieutexte) +sCR+=CritereHF(CMOD_Client_Type.INT_Opt,CMOD_Client_Type.CMB_Choix,Client.CL_CleType..Nom, +df_TexteComplet) +sCR+=CritereHF(CMOD_Client_CodeCompta.INT_Opt,CMOD_Client_CodeCompta.SAI_Choix,Client. +CL_CodeComptable..Nom,df_Milieutexte) +sCR+=CritereHF(CMOD_Client_Code.INT_Opt,CMOD_Client_Code.SAI_Choix,Client.CL_CodeClient..Nom, +df_Milieutexte) +sCR+=CritereHF(CMOD_Client_Statut.INT_Opt,CMOD_Client_Statut.CMB_Choix,Client.CL_CleStatut..Nom, +df_TexteComplet) +sCR+=CritereHF(CMOD_Client_Bloque.INT_Opt,CMOD_Client_Bloque.CMB_Choix,Client.CL_Blocage..Nom, +df_Booleen) +fin +si CMOD_Ctc_Nom.INT_Opt ou CMOD_Ctc_Tel.INT_Opt ou CMOD_Ctc_Role.INT_Opt ou CMOD_Ctc_Email.INT_Opt +alors +saJoin += " INNER JOIN Lieu_Personne ON LIP_IDLieu = LI_PKID " +saJoin += " INNER JOIN Personne ON PE_PKID = LIP_IDPersonne " +sCR+=CritereHF(CMOD_Ctc_Nom.INT_Opt,CMOD_Ctc_Nom.SAI_Choix,"CONCAT(PE_Nom, ' ', PE_Prenom)", +df_Milieutexte) +sCR+=CritereHF(CMOD_Ctc_Email.INT_Opt,CMOD_Ctc_Email.SAI_Choix,Personne.PE_Email..Nom, +df_Milieutexte) +sCR+=CritereHF(CMOD_Ctc_Role.INT_Opt,CMOD_Ctc_Role.CMB_Choix,Personne.PE_CleRole..Nom, +df_Milieutexte) +sCR+=CritereHF(CMOD_Ctc_Tel.INT_Opt,CMOD_Ctc_Tel.SAI_Choix,Personne.PE_TelFixe..Nom,df_Milieutexte) +sCR+=CritereHF(CMOD_Ctc_Nom.INT_Opt,CMOD_Ctc_Nom.SAI_Choix,"CONCAT(PE_Nom, ' ', PE_Prenom)", +df_Milieutexte) +si CMOD_Ctc_Tel.INT_Opt _et_ CMOD_Ctc_Tel.SAI_Choix <> "" alors +06/08/2026 Batik 5514 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Procédures +sCR += " AND (Upper(PE_TelFixe) Like Upper('%"+StrSQL(CMOD_Ctc_Tel.SAI_Choix)+ +"%') OR Upper(PE_TelMobile) Like Upper('%"+StrSQL(CMOD_Ctc_Tel.SAI_Choix)+"%') ) " +fin +fin +ReqSQL+=saJoin +ReqSQL+=[ +WHERE 1=1 +] +ReqSQL+=sCR +si sCR..Taille > 3 alors +CMOD_DateModif.INT_Opt = Faux +fin +si CMOD_DateModif.INT_Opt _et_ CMOD_DateModif.CMB_Choix <> Null _et_ CMOD_DateModif.CMB_Choix <> "" +alors +dhDateCpt est une DateHeure = DateHeureSys() +si gtabParametresMetierCode[cParam_PeriodeRqSql][CMOD_DateModif.CMB_Choix]..Existe alors +dhDateCpt..Jour-= Val(gtabParametresMetierCode[cParam_PeriodeRqSql][CMOD_DateModif.CMB_Choix]. +saParametre) +fin +ReqSQL+="AND Lieu.ModifDate >= '"+dhDateCpt+"' " +fin +ReqSQL+=[ +ORDER BY Lieu.ModifDate, LI_PKID DESC +] +nIdSite est un entier sur 8 octets +si HExécuteRequêteSQL(sdListeSite,ConnexionBase:Cnx,hRequêteDéfaut+hRequêteSansCorrection,ReqSQL) alors +i est un entier +pour tout sdListeSite +si nIdSite <> sdListeSite.LI_PKID alors +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = sdListeSite.LI_PKID +COL_Nom[i] = sdListeSite.LI_CodeLieu +COL_Type[i] = (sdListeSite.LI_CleType <> "" _et_ +gtabParametresMetierCode[cparam_TypeLieu][sdListeSite.LI_CleType]..Existe ) ? +gtabParametresMetierCode[cparam_TypeLieu][sdListeSite.LI_CleType].saLibelle sinon "" +COL_Adresse[i] = sdListeSite.AD_Adresse +COL_CP[i] = sdListeSite.AD_CodePostal +COL_Ville[i] = sdListeSite.AD_Ville +COL_Bloque[i] = sdListeSite.LI_Blocage +fin +nIdSite = sdListeSite.LI_PKID +fin +si i > 1 alors +ToastAffiche(i+" Enregistrements trouvés",toastCourt,cvMilieu) +sinon si i = 1 alors +ToastAffiche("1 Enregistrement trouvé",toastCourt,cvMilieu) +sinon +ToastAffiche("Aucun enregistrement trouvé",toastCourt,cvMilieu) +fin +fin +HLibèreRequête(sdListeSite) +Procédure locale FiltrerCriteres +06/08/2026 Batik 5515 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Procédures +procédure FiltrerCriteres(tbaCriteres est un tableau associatif de chaînes ANSI) +bFiltre est un booléen = Vrai +TableauSupprimeTout(tbaCriteresParam) +si tbaCriteres..Occurrence <= 0 alors +renvoyer Vrai +sinon +tbaCriteresParam = tbaCriteres +fin +pour tout saParam, saCle de tbaCriteresParam +si saParam <> "" alors +selon saCle +cas Client.CL_Nom..Nom +CMOD_Client_Nom.INT_Opt = Vrai +CMOD_Client_Nom.SAI_Choix = saParam +cas Client.CL_CleType..Nom +CMOD_Client_Type.INT_Opt = Vrai +CMOD_Client_Type.CMB_Choix = saParam +cas Client.CL_CodeClient..Nom +CMOD_Client_Code.INT_Opt = Vrai +CMOD_Client_Code.SAI_Choix = saParam +cas Client.CL_CleStatut..Nom +CMOD_Client_Statut.INT_Opt = Vrai +CMOD_Client_Statut.CMB_Choix = saParam +cas Client.CL_CodeComptable..Nom +CMOD_Client_CodeCompta.INT_Opt = Vrai +CMOD_Client_CodeCompta.SAI_Choix = saParam +cas Client.CL_Blocage..Nom +CMOD_Client_Bloque.INT_Opt = Vrai +CMOD_Client_Bloque.CMB_Choix = saParam +cas Lieu.LI_CodeLieu..Nom +CMOD_Site_Nom.INT_Opt = Vrai +CMOD_Site_Nom.SAI_Choix = saParam +cas Adresse.AD_CodePostal..Nom +CMOD_Site_CP.INT_Opt = Vrai +CMOD_Site_CP.SAI_Choix = saParam +cas Adresse.AD_Ville..Nom +CMOD_Site_Ville.INT_Opt = Vrai +CMOD_Site_Ville.SAI_Choix = saParam +cas Adresse.AD_Presentation..Nom +CMOD_Site_Adresse.INT_Opt = Vrai +CMOD_Site_Adresse.SAI_Choix = saParam +cas Personne.PE_Nom..Nom +CMOD_Ctc_Nom.INT_Opt = Vrai +CMOD_Ctc_Nom.SAI_Choix = saParam +cas Personne.PE_TelFixe..Nom +CMOD_Ctc_Tel.INT_Opt = Vrai +CMOD_Ctc_Tel.SAI_Choix = saParam +cas Personne.PE_Email..Nom +CMOD_Ctc_Email.INT_Opt = Vrai +CMOD_Ctc_Email.SAI_Choix = saParam +cas Personne.PE_CleRole..Nom +06/08/2026 Batik 5516 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Site › Procédures +CMOD_Ctc_Role.INT_Opt = Vrai +CMOD_Ctc_Role.CMB_Choix = saParam +autre cas +fin +fin +fin +si bFiltre alors +Filtrer() +fin +Procédure locale Modifier +procédure Modifier() +SelLigneTable() +Procédure locale SelLigneTable +procédure SelLigneTable() +si TABLE_Info > 0 _et_ COL_PKID[TABLE_Info] > 0 alors +si saNomFen <> "" alors +si FenEtat(saNomFen) <> Inexistant alors +selon saNomFen +cas cFEN_Choix_Liste +ExécuteTraitement(FEN_Choix_Liste.SelectionLigneFenInt,trtProcédure,COL_PKID[ +TABLE_Info]) +autre cas +fin +fin +sinon +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[Lieu.LI_PKID..Nom] = COL_PKID[TABLE_Info] +tbaParam[cParam_IdFen] = COL_PKID[TABLE_Info] +OuvreFenSouers("FEN_Fiche_Site",tbaParam) +fin +fin +Procédure locale Supprimer +procédure Supprimer() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 alors +si HLitRecherchePremier(Lieu,LI_PKID,COL_PKID[i]) alors +oUnSite est un MLieu +FichierVersMémoire(oUnSite,Lieu) +si OuiNon("Êtes-vous sûr de vouloir supprimer le site "+oUnSite:saCodeLieu+" ?") = Oui alors +si oUnSite:Supprimer() alors +TableSupprime(TABLE_Info,i) +fin +fin +fin +fin +06/08/2026 Batik 5517 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Image +FI_Liste_Equipe +Image +FI_Liste_Equipe +Informations générales +FI_Liste_Equipe +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_Liste_Equipe.wdw +Créé par SMR +06/08/2026 Batik 5518 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations générales +| Date de création | | 30/07/2025 14:58:56 | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 24/03/2026 16:06:49 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1200 Hauteur | 700 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 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 | | Windows 11 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 5519 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations générales +| Durée Anim. Fermeture | 50 | | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | +| Adapte Taille contenu | Non | | | | | | +| Assombri quand inactif | Oui | | | | | | +| Déplace souris sur bouton par | Non | | | | | | +| Compact. barres outils | Non | | | | | | +Statistiques de la fenêtre +| | Champ de saisie | | 3 | Libellé | | 2 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | +| | Interrupteur | | 4 | Image | | 6 | +| | Table | | 1 | Combo | | 1 | +| | Séparateur | | 1 | Fenêtre interne | | 1 | +| | Superchamp | | 2 | Champ Modèle de champs | | 12 | +| | Option d'interrupteur | | 4 | Option de menu | | 4 | +| | Colonne de table | | 4 | | | | +Nombre d'éléments dans la fenêtre : 45 +FI_Liste_Equipe +Informations sur les champs +Fenêtre : FI_Liste_Equipe +Fenêtre interne +BAT ehcuoT +X noitisoP Y noitisoP laitini tatE +ruetuaH +ruegraL +elbisiV +nalP +| FI_Liste_Equipe | | 0 | 0 1200 | 700 | 0 | | +| --------------- | --- | --- | ------ | --- | --- | --- | +Fenêtre interne : FI_Liste_Equipe +| 06/08/2026 | | | Batik | | | 5520 | +| ---------- | --- | --- | ----- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › 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_Equipe_noire | 1415 296 | 63 30 | 0 | Actif | | | +| ---------------- | -------- | ----- | --- | ----- | --- | --- | +Séparateur +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SPLIT_Dossier | 199 | 0 7 | 700 | 0 | Actif | | +| ------------- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_Effacer | 214 | 4 37 | 31 | 0 | Actif | | +| ------------- | ---- | ------- | --- | --- | ----- | --- | +| CMOD_Equipe | 0 | 4 199 | 120 | 0 | Actif | | +| CMOD_Filtre | 1153 | 4 37 | 31 | 0 | Actif | | +| CMOD_Options | 1108 | 4 37 | 31 | 0 | Actif | | +| CMOD_SansNom1 | 0 | 124 199 | 114 | 0 | Actif | | +| CMOD_Table | 214 | 41 976 | 650 | 0 | Actif | | +Champ Modèle de champs : FI_Liste_Equipe.CMOD_Effacer +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | laitini tatE | | sucof cevA | +| --- | --- | --- | --- | ------------ | --- | ---------- | +X noitisoP Y noitisoP +| | | ruegraL ruetuaH | | | cilc cevA | | +| --- | --- | --------------- | --- | --- | --------- | --- | +elbisiV +nalP +| IMG_Icone | 214 4 | 37 31 | 0 | Actif | | | +| ---------- | ----- | ----- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | | | 5521 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Champ Modèle de champs : FI_Liste_Equipe.CMOD_Equipe +Superchamp +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| SC_Div | | | 4 | | 9 190 | 109 | | 0 | Actif | | +| ------ | --- | --- | --- | --- | ----- | --- | --- | --- | ----- | --- | +Superchamp : FI_Liste_Equipe.CMOD_Equipe.SC_Div +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | sucof cevA | +| --- | --- | ---------- | ---------- | --- | ------- | --- | --- | ------------ | --------- | ---------- | +| | | | | | ruetuaH | | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Equipe | | 10 | 16 | | 18 20 | 0 | | Actif | | | +| ---------- | --- | --- | --- | --- | ----- | --- | --- | ----- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| CMOD_Eq_Nom | | | 5 | 44 | 186 | 30 | | 0 | Actif | | +| ------------ | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_Eq_SocP | | | 5 | 74 | 186 | 30 | | 0 | Actif | | +| CMOD_Titre | | | 36 | 11 | 155 | 26 | | 0 | Actif | | +Champ Modèle de champs : FI_Liste_Equipe.CMOD_Equipe.SC_Div.CMOD_Eq_Nom +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 | | | | | +ruetuaH +| | | ruegraL | | elbisiV | | | | | | | +| --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_Choix | 33 44 | 158 30 | 0 | Actif | Texte | | Non | | | | +| ---------- | ----- | ------ | --- | ----- | ----- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | | Batik | | | | | 5522 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | staté siorT | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | ----------- | +ruetuaH +| | | | ruegraL | | elbisiV | | | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | +nalP +| INT_Opt | | 5 49 | 20 | 20 | 0 | Actif | | 1 | | +| ------- | --- | ---- | --- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_Liste_Equipe.CMOD_Equipe.SC_Div.CMOD_Eq_SocP +Interrupteur +ellennoitroporp .loC +| | | | | | | | BAT ehcuoT sennoloc .bN | | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | ----------------------- | --- | ----------- | +| | | | | | | laitini tatE | | | staté siorT | +| | | X noitisoP Y noitisoP | | | | | | | | +| | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| INT_Opt | | 5 79 | 20 | 20 | 0 | Actif | | 1 | | +| ------- | --- | ---- | --- | --- | --- | ----- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | | BAT ehcuoT | eisias cevA | | | | +| --- | --------------------- | ------- | ------- | ------- | ------------ | ----------- | --- | --- | --- | +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | | +| | | | ruetuaH | | | sruocraP | | | | +| | | ruegraL | | elbisiV | | | | | | +elbaT +| | | | nalP | | | eéirT | | | | +| --------- | --- | ------ | ---- | ------- | ------- | ----- | --- | --- | --- | +| CMB_Choix | 33 | 74 158 | 31 | 0 Actif | Mémoire | | Non | | | +Champ Modèle de champs : FI_Liste_Equipe.CMOD_Equipe.SC_Div.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | | .trev egardaC | | +| --- | ---------- | ---------- | --- | --- | ------------ | ------------- | --- | ------------- | --- | +| | | | | | laitini tatE | | | FTR tamroF | | +| | X noitisoP | Y noitisoP | | | | | | | | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 36 11 | 155 | 26 | 0 Actif | Gauche | Centre | | | +| ---------- | --- | ----- | --- | ----- | ------- | ------ | ------ | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | 5523 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Champ Modèle de champs : FI_Liste_Equipe.CMOD_Filtre +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------------ | --------- | ---------- | +| | | | ruetuaH | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | 1153 | 4 37 | 31 0 | Actif | | | +| --------- | ---- | ---- | ---- | ----- | --- | --- | +Champ Modèle de champs : FI_Liste_Equipe.CMOD_Options +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | +| | | ruegraL | ruetuaH | | cilc cevA | | +elbisiV +nalP +| IMG_Icone | 1108 | 4 37 | 31 0 | Actif | | | +| --------- | ---- | ---- | ---- | ----- | --- | --- | +Champ Modèle de champs : FI_Liste_Equipe.CMOD_SansNom1 +Superchamp +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruegraL ruetuaH +elbisiV +nalP +| SC_Div | | 4 129 | 190 103 | 0 | Actif | | +| ------ | --- | ----- | ------- | --- | ----- | --- | +Superchamp : FI_Liste_Equipe.CMOD_SansNom1.SC_Div +| 06/08/2026 | | Batik | | | | 5524 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › 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_Colb | | | 11 | 137 | | 18 20 | | 0 | Actif | | | +| -------- | --- | --- | --- | --- | --- | ----- | --- | --- | ----- | --- | --- | +Champ Modèle de champs +BAT ehcuoT +| | | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Colb_Nom | | | | 5 | 165 | 186 | | 30 | 0 | Actif | | +| ---------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +| CMOD_Colb_Prenom | | | | 5 | 193 | 186 | | 30 | 0 | Actif | | +| CMOD_Titre | | | | 37 | 131 | 154 | | 26 | 0 | Actif | | +Champ Modèle de champs : +FI_Liste_Equipe.CMOD_SansNom1.SC_Div.CMOD_Colb_Nom +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_Choix | 33 165 | 158 | 30 | 0 | Actif | Texte | | | Non | | | +| --------- | ------ | --- | --- | --- | ----- | ----- | --- | --- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | | Y noitisoP | | | | | laitini tatE | | staté siorT | +| --- | --- | ---------- | --- | ---------- | ------- | ------- | --- | --- | ------------ | --- | ----------- | +| | | | | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| INT_Opt | | | 5 | 170 | 20 | 20 | 0 | | Actif | 1 | | +| ---------- | --- | --- | --- | --- | --- | ----- | --- | --- | ----- | --- | ---- | +| 06/08/2026 | | | | | | Batik | | | | | 5525 | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Champ Modèle de champs : +FI_Liste_Equipe.CMOD_SansNom1.SC_Div.CMOD_Colb_Prenom +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_Choix | 33 193 | 158 30 | 0 | Actif | Texte | Non | | | +| --------- | ------ | ------ | --- | ----- | ----- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | BAT ehcuoT | | staté siorT | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | ----------- | +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | +| | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| INT_Opt | | 5 198 | 20 | 20 | 0 | Actif | 1 | | +| ------- | --- | ----- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_Liste_Equipe.CMOD_SansNom1.SC_Div.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | ------------- | ------------- | ---------- | +| | | | | | | laitini tatE | | FTR tamroF | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 37 131 | 154 | 26 | 0 | Actif Gauche | Centre | | +| ------- | --- | ------ | --- | --- | --- | ------------ | ------ | --- | +Champ Modèle de champs : FI_Liste_Equipe.CMOD_Table +| 06/08/2026 | | | | Batik | | | | 5526 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +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 | | | | | +| --- | --------------------- | ------- | ------------ | --- | -------- | --- | --- | +| | | ruetuaH | | | sruocraP | | | +ruegraL +elbisiV +| | | nalP | | elbaT | | | | +| ---------- | ------ | --------- | -------- | ------ | --- | --- | --- | +| TABLE_Info | 216 43 | 970 644 0 | affichag | Mémoir | | | 1 | +Table : FI_Liste_Equipe.CMOD_Table.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +| | | | ehcuag à eéxiF | | .zroh egardaC .trev egardaC | | | +| --- | --- | --- | -------------- | --- | --------------------------- | ---------------------- | ----------- | +| | | | elbaçalpéD | | | eisias epyT FTR tamroF | eisias cevA | +laitini tatE engilitluM +ruegraL +elbisiV +eéirT +epyT +| COL_PKID | | 880 Grisé | | | Droite Centre | Numériq | | +| ----------- | --- | --------- | --- | --- | ------------- | ------- | --- | +| COL_Nom | | 230 Actif | | | Gauche Centre | Texte | | +| COL_Societe | | 229 Actif | | | Gauche Centre | Texte | | +| COL_Colbs | | 491 Actif | | | Gauche Centre | Texte | | +Fenêtre : FI_Liste_Equipe +Fenêtre interne : FI_Liste_Equipe +| UI par l'utilisateur | | Selon fenêtre | | | | | | +| -------------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | +| Taux Paral. Y | | 0 | | | | | | +| Épinglé | | Non | | | | | | +| Masquer lors du scrolling | | Non | | | | | | +| Ancrage au contenu | | <Aucun> | | | | | | +| Numéro aide | | 0 | | | | | | +| Thème destination | | Oui | | | | | | +| Alignement sur l'axe secondaire | | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | | 0 | | | | | | +| Facteur d'agrandissement | | 0 | | | | | | +| Ctx. HFSQL indép. | | Non | | | | | | +| Ancrage | | <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Batik | | | | 5527 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Fenêtre interne : FI_Liste_Equipe +Champ Modèle de champs : FI_Liste_Equipe.CMOD_Effacer +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Equipe.CMOD_Equipe +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5528 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Champ Modèle de champs : FI_Liste_Equipe.CMOD_Filtre +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Equipe.CMOD_Options +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5529 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Champ Modèle de champs : FI_Liste_Equipe.CMOD_SansNom1 +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Equipe.CMOD_Table +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5530 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Image : FI_Liste_Equipe.IMG_Equipe_noire +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Equipe_noire.svg +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 Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Séparateur : FI_Liste_Equipe.SPLIT_Dossier +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 +Sens Vertical +Numéro aide 0 +Opacité 100 +Borne max. -1 +Borne min. -1 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +06/08/2026 Batik 5531 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Sauve position Oui +Image D:\Projets Windev\Batik\Nouvelle +Ancrage Hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Equipe.CMOD_Effacer +Image : FI_Liste_Equipe.CMOD_Effacer.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\gomme_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 5532 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Champ Modèle de champs : FI_Liste_Equipe.CMOD_Equipe +Superchamp : FI_Liste_Equipe.CMOD_Equipe.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 188 +Hauteur externe 107 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Liste_Equipe.CMOD_Equipe.SC_Div +Champ Modèle de champs : FI_Liste_Equipe.CMOD_Equipe.SC_Div.CMOD_Eq_Nom +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +06/08/2026 Batik 5533 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Equipe.CMOD_Equipe.SC_Div.CMOD_Eq_SocP +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Equipe.CMOD_Equipe.SC_Div.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5534 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Image : FI_Liste_Equipe.CMOD_Equipe.SC_Div.IMG_Equipe +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Equipe_noire.svg +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 Oui +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 +Champ Modèle de champs : FI_Liste_Equipe.CMOD_Equipe.SC_Div.CMOD_Eq_Nom +Interrupteur : FI_Liste_Equipe.CMOD_Equipe.SC_Div.CMOD_Eq_Nom.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 5535 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : FI_Liste_Equipe.CMOD_Equipe.SC_Div.CMOD_Eq_Nom.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +06/08/2026 Batik 5536 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +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 33 +Largeur interne 158 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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> +06/08/2026 Batik 5537 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +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 +Champ Modèle de champs : FI_Liste_Equipe.CMOD_Equipe.SC_Div.CMOD_Eq_SocP +Combo : FI_Liste_Equipe.CMOD_Equipe.SC_Div.CMOD_Eq_SocP.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 158 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 33 +Largeur interne 158 +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +06/08/2026 Batik 5538 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : FI_Liste_Equipe.CMOD_Equipe.SC_Div.CMOD_Eq_SocP.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 5539 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Equipe.CMOD_Equipe.SC_Div.CMOD_Titre +06/08/2026 Batik 5540 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Libellé : FI_Liste_Equipe.CMOD_Equipe.SC_Div.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Equipe.CMOD_Filtre +06/08/2026 Batik 5541 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Image : FI_Liste_Equipe.CMOD_Filtre.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Double_flèches.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : FI_Liste_Equipe.CMOD_Options +06/08/2026 Batik 5542 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Image : FI_Liste_Equipe.CMOD_Options.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\options.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : FI_Liste_Equipe.CMOD_SansNom1 +06/08/2026 Batik 5543 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Superchamp : FI_Liste_Equipe.CMOD_SansNom1.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 188 +Hauteur externe 101 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : FI_Liste_Equipe.CMOD_SansNom1.SC_Div +Champ Modèle de champs : +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Batik 5544 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Liste_Equipe.CMOD_SansNom1.SC_Div.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5545 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Image : FI_Liste_Equipe.CMOD_SansNom1.SC_Div.IMG_Colb +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Collaborateurs_noire.svg +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 Oui +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 +Champ Modèle de champs : +FI_Liste_Equipe.CMOD_SansNom1.SC_Div.CMOD_Colb_Nom +Interrupteur : FI_Liste_Equipe.CMOD_SansNom1.SC_Div.CMOD_Colb_Nom.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +06/08/2026 Batik 5546 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calendrier Non +Bouton Calculatrice Non +06/08/2026 Batik 5547 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +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 33 +Largeur interne 158 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non 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> +06/08/2026 Batik 5548 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +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 +Champ Modèle de champs : +FI_Liste_Equipe.CMOD_SansNom1.SC_Div.CMOD_Colb_Prenom +Interrupteur : FI_Liste_Equipe.CMOD_SansNom1.SC_Div.CMOD_Colb_Prenom.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +06/08/2026 Batik 5549 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 33 +Largeur interne 158 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 5550 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Masque saisie FR: 0 +Borne dans bulle Non +Borne dans texte d'indication Oui +Sélection multiple Non +Mode ellipse <Aucun> +Lien automatique Non +Verifier l'orthographe Non +Unicode Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5551 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Champ Modèle de champs : FI_Liste_Equipe.CMOD_SansNom1.SC_Div.CMOD_Titre +Libellé : FI_Liste_Equipe.CMOD_SansNom1.SC_Div.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5552 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Champ Modèle de champs : FI_Liste_Equipe.CMOD_Table +Table : FI_Liste_Equipe.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 10 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 5553 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +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. A la fin +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 : FI_Liste_Equipe.CMOD_Table.TABLE_Info +Colonne de table : FI_Liste_Equipe.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 +06/08/2026 Batik 5554 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Equipe.CMOD_Table.TABLE_Info.COL_Nom (2) +Titre FR: Nom de l'équipe +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 200 Taux anc. hauteur 1000 +06/08/2026 Batik 5555 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Informations sur les champs +Colonne de table : FI_Liste_Equipe.CMOD_Table.TABLE_Info.COL_Societe (3) +Titre FR: Société +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 200 Taux anc. hauteur 1000 +Colonne de table : FI_Liste_Equipe.CMOD_Table.TABLE_Info.COL_Colbs (4) +Titre FR: Collaborateurs +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 +06/08/2026 Batik 5556 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › 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 600 Taux anc. hauteur 1000 +FI_Liste_Equipe +Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Creer (2) +OPT_Modifier (3) +OPT_Supprimer (4) +Libellé des options : Français +Créer un nouveau équipe +Modifier l'équipe sélectionnée +Supprimer l’équipe sélectionnée +FI_Liste_Equipe +Code des champs +Déclarations globales de FI_Liste_Equipe +procédure FI_Liste_Equipe() +bLeDroitModif est un booléen +Fin d'initialisation de FI_Liste_Equipe +bLeDroitModif = bDroit(cGestion_Equipe) +06/08/2026 Batik 5557 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Code des champs +si pas bLeDroitModif alors +MenuSelectMoins(OPT_Creer) +MenuSelectMoins(OPT_Supprimer) +fin +Filtrer() +Fin d'initialisation de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Effacer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +GR_Combo = -1 +GR_Saisie = "" +GR_Boolean = Faux +A chaque modification de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Effacer ) +06/08/2026 Batik 5558 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Effacer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Equipe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Equipe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Equipe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Equipe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Equipe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Equipe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Equipe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5559 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Code des champs +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Eq_Nom +salib = "Nom de l'équipe" +Fin d'initialisation de CMOD_Eq_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Eq_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Eq_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Eq_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Eq_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Eq_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Eq_Nom +06/08/2026 Batik 5560 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Eq_Nom ) (modèle MDLC_ChoixTexte) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de SAI_Choix ( CMOD_Eq_Nom ) (modèle MDLC_ChoixTexte) +MoiMême..Indication = saLib +A chaque modification de SAI_Choix ( CMOD_Eq_Nom ) (modèle MDLC_ChoixTexte) +si MoiMême <> "" alors +INT_Opt = Vrai +sinon +INT_Opt = Faux +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_Eq_Nom ) (modèle MDLC_ChoixTexte) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Eq_SocP +saLib= "Société" +saCode = cSocietes +Fin d'initialisation de CMOD_Eq_SocP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Eq_SocP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Eq_SocP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Eq_SocP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Eq_SocP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Eq_SocP +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Eq_SocP +06/08/2026 Batik 5561 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Choix ( CMOD_Eq_SocP ) (modèle MDLC_ChoixCombo) +InitChamp(MoiMême..Nom,saCode,Vrai) +MoiMême..Indication = saLib +CMB_Choix..RechercheFAA = Faux +Sélection d'une ligne de CMB_Choix ( CMOD_Eq_SocP ) (modèle MDLC_ChoixCombo) +INT_Opt=Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( CMOD_Eq_SocP ) (modèle MDLC_ChoixCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Eq_SocP ) (modèle MDLC_ChoixCombo) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Titre +salib = "Équipe" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5562 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Code des champs +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Filtre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Filtrer() +A chaque modification de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5563 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Code des champs +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Filtre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +06/08/2026 Batik 5564 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Code des champs +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +06/08/2026 Batik 5565 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Colb_Nom +salib = "Nom" +Fin d'initialisation de CMOD_Colb_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Colb_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Colb_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Colb_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Colb_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Colb_Nom +06/08/2026 Batik 5566 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Colb_Nom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Colb_Nom ) (modèle MDLC_ChoixTexte) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de SAI_Choix ( CMOD_Colb_Nom ) (modèle MDLC_ChoixTexte) +MoiMême..Indication = saLib +A chaque modification de SAI_Choix ( CMOD_Colb_Nom ) (modèle MDLC_ChoixTexte) +si MoiMême <> "" alors +INT_Opt = Vrai +sinon +INT_Opt = Faux +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_Colb_Nom ) (modèle MDLC_ChoixTexte) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Colb_Prenom +salib = "Prénom" +Fin d'initialisation de CMOD_Colb_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Colb_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Colb_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Colb_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Colb_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Colb_Prenom +06/08/2026 Batik 5567 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Colb_Prenom +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( CMOD_Colb_Prenom ) (modèle MDLC_ChoixTexte) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de SAI_Choix ( CMOD_Colb_Prenom ) (modèle MDLC_ChoixTexte) +MoiMême..Indication = saLib +A chaque modification de SAI_Choix ( CMOD_Colb_Prenom ) (modèle MDLC_ChoixTexte) +si MoiMême <> "" alors +INT_Opt = Vrai +sinon +INT_Opt = Faux +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( CMOD_Colb_Prenom ) (modèle MDLC_ChoixTexte) +gsaNomChampEnCours = MoiMême..NomComplet +Déclarations globales de CMOD_Titre +salib = "Collaborateur" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +06/08/2026 Batik 5568 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5569 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Code des champs +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Modifier() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +06/08/2026 Batik 5570 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection du menu de MNU_Options.OPT_Creer +Creer() +Sélection du menu de MNU_Options.OPT_Modifier +Modifier() +Sélection du menu de MNU_Options.OPT_Supprimer +Supprimer() +FI_Liste_Equipe +Procédures +Procédure locale Creer +procédure Creer() +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[cParam_IdFen] = 0 +OuvreFenSouers("FEN_Fiche_Equipe",tbaParam) +Procédure locale Filtrer +procédure Filtrer() +TableSupprimeTout(TABLE_Info) +ReqSQL est une chaîne +sCR est une chaîne +sdListeEq est une Source de Données +ReqSQL+=[ +SELECT +Equipe.EQ_PKID +,Equipe.EQ_Nom +,Equipe.EQ_IDSociete +,Equipe.EQ_IDSociete +,Equipe.ModifDate AS MinDateModif +,(SELECT STRING_AGG(CONCAT(CO_Nom, ' ', CO_Prenom),' - ') FROM Equipe_Collaborateur INNER JOIN +Collaborateur ON Equipe_Collaborateur.EC_IDCollaborateur = Collaborateur.CO_PKID WHERE +Equipe_Collaborateur.EC_IDEquipe = Equipe.EQ_PKID) AS +Colbs +FROM Equipe +INNER JOIN Equipe_Collaborateur ON Equipe_Collaborateur.EC_IDEquipe = Equipe.EQ_PKID +LEFT OUTER JOIN Collaborateur ON Equipe_Collaborateur.EC_IDCollaborateur = Collaborateur.CO_PKID +] +sCR+=CritereHF(CMOD_Eq_Nom.INT_Opt,CMOD_Eq_Nom.SAI_Choix,Equipe.EQ_Nom..Nom,df_Milieutexte) +06/08/2026 Batik 5571 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Procédures +sCR+=CritereHF(CMOD_Eq_SocP.INT_Opt,CMOD_Eq_SocP.CMB_Choix,Equipe.EQ_IDSociete..Nom,df_Id) +sCR+=CritereHF(CMOD_Colb_Nom.INT_Opt,CMOD_Colb_Nom.SAI_Choix,Collaborateur.CO_Nom..Nom,df_Milieutexte) +sCR+=CritereHF(CMOD_Colb_Prenom.INT_Opt,CMOD_Colb_Prenom.SAI_Choix,Collaborateur.CO_Prenom..Nom, +df_Milieutexte) +ReqSQL+=[ +WHERE 1=1 +] +ReqSQL+=sCR+" ORDER BY EQ_PKID , MinDateModif DESC " +nIdEq est un entier sur 8 octets +si HExécuteRequêteSQL(sdListeEq,ConnexionBase:Cnx,hRequêteDéfaut+hRequêteSansCorrection,ReqSQL) alors +i est un entier +pour tout sdListeEq +si nIdEq <> sdListeEq.EQ_PKID alors +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = sdListeEq.EQ_PKID +COL_Nom[i] = sdListeEq.EQ_Nom +COL_Societe[i] = (sdListeEq.EQ_IDSociete > 0 _et_ gtabListeSocietes[ +sdListeEq.EQ_IDSociete]..Existe ) ? gtabListeSocietes[sdListeEq.EQ_IDSociete].saNom sinon +"" +COL_Colbs[i] = sdListeEq.Colbs +fin +nIdEq = sdListeEq.EQ_PKID +fin +si i > 1 alors +ToastAffiche(i+" Enregistrements trouvés",toastCourt,cvMilieu) +sinon si i = 1 alors +ToastAffiche("1 Enregistrement trouvé",toastCourt,cvMilieu) +sinon +ToastAffiche("Aucun enregistrement trouvé",toastCourt,cvMilieu) +fin +fin +HLibèreRequête(sdListeEq) +Procédure locale Modifier +procédure Modifier() +si pas bLeDroitModif alors renvoyer Faux +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 alors +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[cParam_IdFen] = COL_PKID[i] +tbaParam[Equipe.EQ_PKID..Nom] = COL_PKID[i] +OuvreFenSouers("FEN_Fiche_Equipe",tbaParam) +fin +Procédure locale Supprimer +procédure Supprimer() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ HLitRecherchePremier(Equipe,EQ_PKID,COL_PKID[i]) alors +oUnEq est un MEquipe +FichierVersMémoire(oUnEq,Equipe) +si oUnEq:Supprimer() alors +TableSupprime(TABLE_Info,i) +fin +06/08/2026 Batik 5572 + +Partie 3 › Fenêtre WINDEV › FI_Liste_Equipe › Procédures +fin +| 06/08/2026 | Batik | 5573 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Temps › Image +FI_Temps +Image +FI_Temps +Informations générales +FI_Temps +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_Temps.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 13/08/2025 15:29:49 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 09/10/2025 08:58:54 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 175 Hauteur | 225 | +| 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 | | | | +| 06/08/2026 | | | Batik | | 5574 | + +Partie 3 › Fenêtre WINDEV › FI_Temps › Informations générales +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 2 Image 2 +Fenêtre interne 1 +Nombre d'éléments dans la fenêtre : 5 +FI_Temps +Informations sur les champs +06/08/2026 Batik 5575 + +Partie 3 › Fenêtre WINDEV › FI_Temps › Informations sur les champs +Fenêtre : FI_Temps +Fenêtre interne +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| FI_Temps | | 0 | 0 175 | 225 | 0 | | | +| -------- | --- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_Temps +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Desc | 0 | 33 175 | 194 0 | Actif | Gauche | Haut | | +| --------- | --- | ------ | ----- | ----- | ------ | ---- | --- | +| LIB_Titre | 16 | 0 159 | 33 0 | Actif | Gauche | Haut | | +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | --- | ------------ | --------- | ---------- | +| | | | ruetuaH | | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Type | 0 | 0 | 16 16 | 0 | Actif | | | +| ---------- | --- | --- | ----- | --- | ----- | --- | --- | +| IMG_Valide | 0 | 17 | 16 16 | 0 | Actif | | | +Fenêtre : FI_Temps +Fenêtre interne : FI_Temps +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| ------------------------- | ----------------------------------- | --- | ----- | --- | --- | --- | ---- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | | +| Numéro aide | 0 | | | | | | | +| Thème destination | Oui | | | | | | | +| 06/08/2026 | | | Batik | | | | 5576 | + +Partie 3 › Fenêtre WINDEV › FI_Temps › 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 +Ctx. HFSQL indép. Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Temps +Image : FI_Temps.IMG_Type +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 Oui +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 +06/08/2026 Batik 5577 + +Partie 3 › Fenêtre WINDEV › FI_Temps › Informations sur les champs +Image : FI_Temps.IMG_Valide +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 Oui +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 +Libellé : FI_Temps.LIB_Desc +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 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +06/08/2026 Batik 5578 + +Partie 3 › Fenêtre WINDEV › FI_Temps › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : FI_Temps.LIB_Titre +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 6 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5579 + +Partie 3 › Fenêtre WINDEV › FI_Temps › Code des champs +FI_Temps +Code des champs +Déclarations globales de FI_Temps +procédure FI_Temps(EvenementOuRDV) +//EvenementOuRDV : Rendez-vous ou Evenement a dessiner +// => SourceVersEcran +MaPalette est une Palette +MaPalette = PaletteGénère(EvenementOuRDV.couleurFond) +PaletteChange(FI_RDV,MaPalette) +MaFenêtreInterne..CouleurFond = MaPalette["primary_dark"] +LIB_Titre = Remplace(Remplace(EvenementOuRDV.Titre," ", " ")," "," ") +LIB_Desc = Remplace(Remplace(EvenementOuRDV.Contenu," ", " ")," "," ") +LIB_Desc..CouleurFond = MaPalette["primary"] +IMG_Type..CouleurFond = MaPalette["primary_dark"] +IMG_Valide..CouleurFond = MaPalette["primary_dark"] +si EvenementOuRDV.Image <> Null _et_ EvenementOuRDV.image <> "" alors +IMG_Type..Valeur = EvenementOuRDV.Image +sinon +IMG_Type..Visible = Faux +fin +si EvenementOuRDV.Note <> "" alors +IMG_Valide = EvenementOuRDV.Note +IMG_Valide..Visible = Vrai +sinon +IMG_Valide..Visible = Faux +fin +Initialisation de LIB_Desc +// Version 1 +// Description +// Libellé simple +Initialisation de LIB_Titre +// Version 1 +// Description +// Libellé simple +06/08/2026 Batik 5580 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModel › Image +FI_TableauBordModel +Image +FI_TableauBordModel +Informations générales +FI_TableauBordModel +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TableauBordModel.wdw +Créé par SMR +Date de création 21/08/2025 17:20:16 +Dernière modification par SMR +06/08/2026 Batik 5581 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModel › Informations générales +| Date dernière modification | | 09/10/2025 15:08:31 | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | --- | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 1099 | 650 | +| Position X | Position Y | | Largeur | Hauteur | | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 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 | | Windows 11 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 5582 | + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModel › Informations générales +| Assombri quand inactif | Oui | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | +Déplace souris sur bouton par +Non +| Compact. barres outils | Non | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | +Statistiques de la fenêtre +| | Fenêtre interne | | 1 | Champ Modèle de champs | | | 1 | +| --- | --------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Tableau de bord | | 1 | | | | | +Nombre d'éléments dans la fenêtre : 3 +FI_TableauBordModel +Informations sur les champs +Fenêtre : FI_TableauBordModel +Fenêtre interne +BAT ehcuoT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_TableauBordModel | | 0 | 0 1099 | 650 | 0 | | | +| ------------------- | --- | --- | ------ | --- | --- | --- | --- | +Fenêtre interne : FI_TableauBordModel +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Bord | | 0 | 0 1099 | 650 | 0 | Actif | | +| ---------- | --- | --- | ------ | --- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | | 5583 | + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModel › Informations sur les champs +Champ Modèle de champs : FI_TableauBordModel.CMOD_Bord +Tableau de bord +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| TDB_Config | | 0 | 0 1099 | 650 | 0 | Actif | | +| ---------- | --- | --- | ------ | --- | --- | ----- | --- | +Fenêtre : FI_TableauBordModel +Fenêtre interne : FI_TableauBordModel +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| ------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | | +| Numéro aide | 0 | | | | | | | +| Thème destination | Oui | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | 0 | | | | | | | +| -------------------------- | ------- | --- | ---- | --- | ---- | --- | ---- | +| Facteur d'agrandissement | 0 | | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | | +| Ancrage | <Aucun> | | | | | | | +| | 1000 | | 1000 | | 1000 | | 1000 | +Taux anc. droite Taux anc. bas Taux anc. largeur Taux anc. hauteur +Fenêtre interne : FI_TableauBordModel +Champ Modèle de champs : FI_TableauBordModel.CMOD_Bord +| Ordre navigation | 1 | | | | | | | +| -------------------- | ----------------------------------- | --- | ----- | --- | --- | --- | ---- | +| Curseur survol | 0 | | | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| Menu contextuel | <NO CONTEXT MENU> | | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| 06/08/2026 | | | Batik | | | | 5584 | + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModel › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TableauBordModel.CMOD_Bord +Tableau de bord : FI_TableauBordModel.CMOD_Bord.TDB_Config +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Tableau de bord +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu contextuel <NO CONTEXT MENU> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur éléments 10 +Largeur éléments 10 +Marge largeur 0 +Marge hauteur 0 +Compacter option Non +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +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 +Nb. colonnes 109 +Mode affichage TDB Nombre de colonnes variable +Configuration persistante Non +Édition permanent Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Charger l'aperçu à l'ouverture Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 5585 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModel › Informations sur les champs +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 +FI_TableauBordModel +Code des champs +Déclarations globales de FI_TableauBordModel +procédure FI_TableauBordModel(saConfig est une chaîne ANSI) +saConfigTableu est une chaîne ANSI +Fin d'initialisation de FI_TableauBordModel +si saConfig <> "" alors +tbConfigTableau est un tableau de chaînes ANSI +pour toute chaîne saUnWg de saConfig séparée par RC +TableauSupprimeTout(tbConfigTableau) +ChaîneVersTableau(saUnWg,tbConfigTableau,TAB) +si tbConfigTableau[7] > 0 alors // Visible +saConfigTableu += [RC]+saUnWg +fin +fin +fin +si saConfigTableu <> "" alors +TDBChargeConfiguration(TDB_Config, saConfigTableu) +fin +Fin d'initialisation de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Bord +06/08/2026 Batik 5586 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModel › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TDB_Config ( CMOD_Bord ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ajout d'un Widget dans TDB_Config ( CMOD_Bord ) +procédure AjoutWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +Suppression d'un Widget de TDB_Config ( CMOD_Bord ) +procédure SuppressionWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +Déplacement d'un Widget dans TDB_Config ( CMOD_Bord ) +procédure DéplacementWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +Changement de taille d'un Widget de TDB_Config ( CMOD_Bord ) +procédure RedimensionnementWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +FI_TableauBordModel +Procédures +Procédure locale Blocage +procédure Blocage(bBloque est un booléen) +nBWidget est un entier = TDBOccurrence(TDB_Config,toAffichée) +pour i = 1 à nBWidget +ExécuteTraitement(TDB_Config[i].Nom+".Blocage",trtProcédure,bBloque) +fin +Procédure locale Filtrer +06/08/2026 Batik 5587 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModel › Procédures +procédure Filtrer(nId est un entier sur 8 octets) +nBWidget est un entier = TDBOccurrence(TDB_Config,toAffichée) +pour i = 1 à nBWidget +ExécuteTraitement(TDB_Config[i].Nom+".Filtrer",trtProcédure,nId) +fin +Procédure locale MaJSelonWidget +procédure MaJSelonWidget(saNomWidget est une chaîne ANSI, nId est un entier sur 8 octets) +nBWidget est un entier = TDBOccurrence(TDB_Config,toAffichée) +pour i = 1 à nBWidget +si TDB_Config[i].Nom = saNomWidget alors +ExécuteTraitement(TDB_Config[i].Nom+".Filtrer",trtProcédure,nId) +fin +fin +06/08/2026 Batik 5588 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelInter › Image +FI_TableauBordModelInter +Image +FI_TableauBordModelInter +Informations générales +FI_TableauBordModelInter +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TableauBordModelInter.wdw +Créé par SMR +Date de création 21/08/2025 17:20:16 +Dernière modification par SMR +06/08/2026 Batik 5589 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelInter › Informations générales +| Date dernière modification | | 09/10/2025 08:58:55 | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | --- | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 1099 | 650 | +| Position X | Position Y | | Largeur | Hauteur | | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 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 | | Windows 11 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 5590 | + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelInter › Informations générales +| Assombri quand inactif | Oui | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | +Déplace souris sur bouton par +Non +| Compact. barres outils | Non | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | +Statistiques de la fenêtre +| | Fenêtre interne | | 1 | Champ Modèle de champs | | | 1 | +| --- | --------------- | --- | --- | ------------------------- | --- | --- | --- | +| | Tableau de bord | | 1 | Widget de tableau de bord | | | 14 | +Nombre d'éléments dans la fenêtre : 17 +FI_TableauBordModelInter +Informations sur les champs +Fenêtre : FI_TableauBordModelInter +Fenêtre interne +BAT ehcuoT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_TableauBordModelInter | | 0 | 0 1099 | 650 | 0 | | | +| ------------------------ | --- | --- | ------ | --- | --- | --- | --- | +Fenêtre interne : FI_TableauBordModelInter +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Bord | | 0 | 0 1099 | 650 | 0 | Actif | | +| ---------- | --- | --- | ------ | --- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | | 5591 | + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelInter › Informations sur les champs +Champ Modèle de champs : FI_TableauBordModelInter.CMOD_Bord +Tableau de bord +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| TDB_Config | | 0 | 0 1099 | 650 | 0 | Actif | | +| ---------- | --- | --- | ------ | --- | --- | ----- | --- | +Fenêtre : FI_TableauBordModelInter +Fenêtre interne : FI_TableauBordModelInter +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| ------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | | +| Numéro aide | 0 | | | | | | | +| Thème destination | Oui | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | 0 | | | | | | | +| -------------------------- | ------- | --- | ---- | --- | ---- | --- | ---- | +| Facteur d'agrandissement | 0 | | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | | +| Ancrage | <Aucun> | | | | | | | +| | 1000 | | 1000 | | 1000 | | 1000 | +Taux anc. droite Taux anc. bas Taux anc. largeur Taux anc. hauteur +Fenêtre interne : FI_TableauBordModelInter +Champ Modèle de champs : FI_TableauBordModelInter.CMOD_Bord +| Ordre navigation | 1 | | | | | | | +| ------------------------- | ----------------------------------- | --- | ----- | --- | --- | --- | ---- | +| Curseur survol | 0 | | | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| 06/08/2026 | | | Batik | | | | 5592 | + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelInter › Informations sur les champs +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TableauBordModelInter.CMOD_Bord +Tableau de bord : FI_TableauBordModelInter.CMOD_Bord.TDB_Config +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Tableau de bord +Ordre navigation 1 +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 +Hauteur éléments 10 +Largeur éléments 10 +Marge largeur 0 +Marge hauteur 0 +Compacter option Non +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +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 +Nb. colonnes 109 +Mode affichage TDB Nombre de colonnes variable +Configuration persistante Non +Édition permanent Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Charger l'aperçu à l'ouverture Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 5593 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelInter › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TableauBordModelInter +Code des champs +Déclarations globales de FI_TableauBordModelInter +procédure FI_TableauBordModelInter(saConfig est une chaîne ANSI) +Fin d'initialisation de FI_TableauBordModelInter +si saConfig <> "" alors +TDBChargeConfiguration(TDB_Config, saConfig) +fin +Fin d'initialisation de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TDB_Config ( CMOD_Bord ) +06/08/2026 Batik 5594 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelInter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ajout d'un Widget dans TDB_Config ( CMOD_Bord ) +procédure AjoutWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +Suppression d'un Widget de TDB_Config ( CMOD_Bord ) +procédure SuppressionWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +Déplacement d'un Widget dans TDB_Config ( CMOD_Bord ) +procédure DéplacementWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +Changement de taille d'un Widget de TDB_Config ( CMOD_Bord ) +procédure RedimensionnementWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +FI_TableauBordModelInter +Procédures +Procédure locale DonneConfig +procédure DonneConfig(saConfiguration est une chaîne ANSI) +saConfiguration = TDBSauveConfiguration(TDB_Config) +06/08/2026 Batik 5595 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelClient › Image +FI_TableauBordModelClient +Image +FI_TableauBordModelClient +Informations générales +FI_TableauBordModelClient +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TableauBordModelClient.wdw +Créé par SMR +Date de création 21/08/2025 17:20:16 +Dernière modification par SMR +06/08/2026 Batik 5596 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelClient › Informations générales +| Date dernière modification | | 09/10/2025 08:58:55 | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | --- | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 1099 | 650 | +| Position X | Position Y | | Largeur | Hauteur | | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 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 | | Windows 11 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 5597 | + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelClient › Informations générales +| Assombri quand inactif | Oui | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | +Déplace souris sur bouton par +Non +| Compact. barres outils | Non | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | +Statistiques de la fenêtre +| | Fenêtre interne | | 1 | Champ Modèle de champs | | | 1 | +| --- | --------------- | --- | --- | ------------------------- | --- | --- | --- | +| | Tableau de bord | | 1 | Widget de tableau de bord | | | 4 | +Nombre d'éléments dans la fenêtre : 7 +FI_TableauBordModelClient +Informations sur les champs +Fenêtre : FI_TableauBordModelClient +Fenêtre interne +BAT ehcuoT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_TableauBordModelClient | | 0 | 0 1099 | 650 | 0 | | | +| ------------------------- | --- | --- | ------ | --- | --- | --- | --- | +Fenêtre interne : FI_TableauBordModelClient +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Bord | | 0 | 0 1099 | 650 | 0 | Actif | | +| ---------- | --- | --- | ------ | --- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | | 5598 | + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelClient › Informations sur les champs +Champ Modèle de champs : FI_TableauBordModelClient.CMOD_Bord +Tableau de bord +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| TDB_Config | | 0 | 0 1099 | 650 | 0 | Actif | | +| ---------- | --- | --- | ------ | --- | --- | ----- | --- | +Fenêtre : FI_TableauBordModelClient +Fenêtre interne : FI_TableauBordModelClient +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| ------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | | +| Numéro aide | 0 | | | | | | | +| Thème destination | Oui | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | 0 | | | | | | | +| -------------------------- | ------- | --- | ---- | --- | ---- | --- | ---- | +| Facteur d'agrandissement | 0 | | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | | +| Ancrage | <Aucun> | | | | | | | +| | 1000 | | 1000 | | 1000 | | 1000 | +Taux anc. droite Taux anc. bas Taux anc. largeur Taux anc. hauteur +Fenêtre interne : FI_TableauBordModelClient +Champ Modèle de champs : FI_TableauBordModelClient.CMOD_Bord +| Ordre navigation | 1 | | | | | | | +| -------------------- | ----------------------------------- | --- | ----- | --- | --- | --- | ---- | +| Curseur survol | 0 | | | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| Menu contextuel | <NO CONTEXT MENU> | | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| 06/08/2026 | | | Batik | | | | 5599 | + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelClient › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TableauBordModelClient.CMOD_Bord +Tableau de bord : FI_TableauBordModelClient.CMOD_Bord.TDB_Config +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Tableau de bord +Ordre navigation 1 +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 +Hauteur éléments 10 +Largeur éléments 10 +Marge largeur 0 +Marge hauteur 0 +Compacter option Non +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +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 +Nb. colonnes 109 +Mode affichage TDB Nombre de colonnes variable +Configuration persistante Non +Édition permanent Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Charger l'aperçu à l'ouverture Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 5600 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelClient › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TableauBordModelClient +Code des champs +Déclarations globales de FI_TableauBordModelClient +procédure FI_TableauBordModelClient(saConfig est une chaîne ANSI) +Fin d'initialisation de FI_TableauBordModelClient +si saConfig <> "" alors +TDBChargeConfiguration(TDB_Config, saConfig) +fin +Fin d'initialisation de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TDB_Config ( CMOD_Bord ) +06/08/2026 Batik 5601 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelClient › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ajout d'un Widget dans TDB_Config ( CMOD_Bord ) +procédure AjoutWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +Suppression d'un Widget de TDB_Config ( CMOD_Bord ) +procédure SuppressionWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +Déplacement d'un Widget dans TDB_Config ( CMOD_Bord ) +procédure DéplacementWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +Changement de taille d'un Widget de TDB_Config ( CMOD_Bord ) +procédure RedimensionnementWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +FI_TableauBordModelClient +Procédures +Procédure locale DonneConfig +procédure DonneConfig(saConfiguration est une chaîne ANSI) +saConfiguration = TDBSauveConfiguration(TDB_Config) +06/08/2026 Batik 5602 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Client › Image +FI_TdB_Liste_Dossier_Client +Image +FI_TdB_Liste_Dossier_Client +Informations générales +FI_TdB_Liste_Dossier_Client +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TdB_Liste_Dossier_Client.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 18/07/2025 09:59:02 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 09/10/2025 08:58:55 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 658 Hauteur | 191 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ----------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| 06/08/2026 | | | Batik | | 5603 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Client › Informations générales +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 1 +Table 1 Forme 1 +Fenêtre interne 1 Champ Modèle de champs 4 +Option de menu 3 Colonne de table 8 +06/08/2026 Batik 5604 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Client › Informations générales +Nombre d'éléments dans la fenêtre : 20 +FI_TdB_Liste_Dossier_Client +Informations sur les champs +Fenêtre : FI_TdB_Liste_Dossier_Client +Fenêtre interne +BAT ehcuoT +| | X noitisoP | | | | laitini tatE | | +| --- | ---------- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | ruegraL | ruetuaH | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_TdB_Liste_Dossier_Client | 0 | 0 658 | 191 | 0 | | | +| --------------------------- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdB_Liste_Dossier_Client +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Img | 7 | 3 29 | 24 | 0 | Actif | | +| ---------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_Ligne | 0 | 29 658 | 8 | 0 | Actif | | +| CMOD_Table | 0 | 37 658 | 154 | 0 | Actif | | +| CMOD_Titre | 42 | 3 616 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_TdB_Liste_Dossier_Client.CMOD_Img +| 06/08/2026 | | Batik | | | | 5605 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Client › 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_Icone | | 7 | 3 | 29 | 24 | 0 | Actif | | | +| --------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_TdB_Liste_Dossier_Client.CMOD_Ligne +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_Sep | | | 0 | 30 | 658 | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Liste_Dossier_Client.CMOD_Table +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +lennoitroporp .csA +.loc .gifnoc .oméM +| | | | | | | )(ertliFH resilitU | ruesnecsa elluB | EERTNE noitseG | | +| --- | --- | --- | --- | --- | --- | ------------------ | --------------- | -------------- | ----------------------------- | +| | | | | | | .gerne egacolB | noitcelésitluM | | eércna ennoloC 5.5 elbitapmoC | +edacsac eisiaS +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | --- | --- | +sruocraP +ruegraL ruetuaH +elbisiV +| | | | nalP | | elbaT | | | | | +| ---------- | ---- | ------- | ---- | -------- | ------ | --- | --- | --- | --- | +| TABLE_Info | 2 39 | 652 148 | 0 | affichag | Mémoir | | | | 2 | +Table : FI_TdB_Liste_Dossier_Client.CMOD_Table.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | | elbairt ennoloC | ehcrehcer cevA | | | | +| --- | --- | --- | --- | -------------- | --------------- | -------------- | --- | --- | --- | +| | | | | ehcuag à eéxiF | | .zroh egardaC | | | | +.trev egardaC +| | | | | elbaçalpéD | | | eisias epyT | FTR tamroF | eisias cevA | +| --- | --- | --- | ------------ | ---------- | --- | --- | ----------- | ---------- | ----------- | +| | | | laitini tatE | | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +Numériq +| COL_PKID | | 880 | Grisé | | | Droite Centre | | | | +| ------------ | --- | --- | ----- | ----- | --- | ------------- | ----- | --- | ---- | +| COL_NumInter | | 97 | Actif | | | Gauche Centre | Texte | | | +| COL_Titre | | 128 | Actif | | | Gauche Centre | Texte | | | +| COL_DevisNum | | 104 | Actif | | | Gauche Centre | Texte | | | +| 06/08/2026 | | | | Batik | | | | | 5606 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Client › Informations sur les champs +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_RefExt | 82 | Actif | | Gauche Centre | Texte | | | +| COL_Etat | 106 | Actif | | Gauche Centre | Texte | | | +| COL_DateInter | 100 | Actif | | Droite Centre | Date | | | +Numériq +| COL_IdDossier | 100 | Grisé | | Droite Centre | | | | +| ------------- | --- | ----- | --- | ------------- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Liste_Dossier_Client.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | 42 | 3 616 | 26 | 0 Actif | Gauche | Centre | | +| ------- | --- | ----- | --- | ------- | ------ | ------ | --- | +Fenêtre : FI_TdB_Liste_Dossier_Client +Fenêtre interne : FI_TdB_Liste_Dossier_Client +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| ------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | | +| Numéro aide | 0 | | | | | | | +| Thème destination | Oui | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | 0 | | | | | | | +| -------------------------- | ------- | --- | --- | --- | --- | --- | --- | +| Facteur d'agrandissement | 0 | | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | | +| Ancrage | <Aucun> | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Batik | | | | 5607 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Client › Informations sur les champs +Fenêtre interne : FI_TdB_Liste_Dossier_Client +Champ Modèle de champs : FI_TdB_Liste_Dossier_Client.CMOD_Img +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Liste_Dossier_Client.CMOD_Ligne +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5608 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Dossier_Client.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Liste_Dossier_Client.CMOD_Titre +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5609 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Dossier_Client.CMOD_Img +Image : FI_TdB_Liste_Dossier_Client.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Dossier_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 5610 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Client › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Dossier_Client.CMOD_Ligne +Forme : FI_TdB_Liste_Dossier_Client.CMOD_Ligne.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Liste_Dossier_Client.CMOD_Table +Table : FI_TdB_Liste_Dossier_Client.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +06/08/2026 Batik 5611 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Client › Informations sur les champs +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 +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 +06/08/2026 Batik 5612 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Client › Informations sur les champs +Table : FI_TdB_Liste_Dossier_Client.CMOD_Table.TABLE_Info +Colonne de table : FI_TdB_Liste_Dossier_Client.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : FI_TdB_Liste_Dossier_Client.CMOD_Table.TABLE_Info.COL_NumInter +Titre FR: N° 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 +06/08/2026 Batik 5613 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Client › 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 200 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Liste_Dossier_Client.CMOD_Table.TABLE_Info.COL_Titre (3) +Titre FR: Titre 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: 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 250 Taux anc. hauteur 1000 +06/08/2026 Batik 5614 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Client › Informations sur les champs +Colonne de table : FI_TdB_Liste_Dossier_Client.CMOD_Table.TABLE_Info.COL_DevisNum +Titre FR: Numéro Devis +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 150 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Liste_Dossier_Client.CMOD_Table.TABLE_Info.COL_RefExt (5) +Titre FR: Reference externe +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 +06/08/2026 Batik 5615 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Client › 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 150 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Liste_Dossier_Client.CMOD_Table.TABLE_Info.COL_Etat (6) +Titre FR: État de l'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: 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 150 Taux anc. hauteur 1000 +06/08/2026 Batik 5616 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Client › Informations sur les champs +Colonne de table : FI_TdB_Liste_Dossier_Client.CMOD_Table.TABLE_Info.COL_DateInter +Titre FR: Date 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: MM/JJ/AAAA +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Oui +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Liste_Dossier_Client.CMOD_Table.TABLE_Info.COL_IdDossier +Titre FR: IdDossier +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 +06/08/2026 Batik 5617 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Client › 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 +Champ Modèle de champs : FI_TdB_Liste_Dossier_Client.CMOD_Titre +Libellé : FI_TdB_Liste_Dossier_Client.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 +06/08/2026 Batik 5618 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Client › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TdB_Liste_Dossier_Client +Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Creer (2) +OPT_Modifier (3) +Libellé des options : Français +Créer un nouveau dossier +Modifier le dossier +FI_TdB_Liste_Dossier_Client +Code des champs +Déclarations globales de FI_TdB_Liste_Dossier_Client +procédure FI_TdB_Liste_Dossier_Client() +nIdClient est un entier sur 8 octets +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +06/08/2026 Batik 5619 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ligne +06/08/2026 Batik 5620 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5621 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Client › Code des champs +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SelLigne() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5622 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Client › Code des champs +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Dossiers" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Sélection du menu de MNU_Options.OPT_Creer +CreerDossier() +Sélection du menu de MNU_Options.OPT_Modifier +06/08/2026 Batik 5623 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Client › Code des champs +SelLigne() +FI_TdB_Liste_Dossier_Client +Procédures +Procédure locale CreerDossier +procédure CreerDossier() +si nIdClient > 0 alors +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[cParam_Fenetre] = cFI_Liste_DossierClient +tbaParam[Client.CL_PKID..Nom] = nIdClient +nIdInter est un entier sur 8 octets +nIdDossier est un entier sur 8 octets +(nIdInter, nIdDossier) = Ouvre(FEN_Fiche_Dossier_Creation,tbaParam) +si nIdInter > 0 _et_ nIdDossier > 0 alors +TableauSupprimeTout(tbaParam) +tbaParam[Intervention.IN_PKID..Nom] = nIdInter +tbaParam[Dossier.DO_PKID..Nom] = nIdDossier +tbaParam[cParam_IdFen] = nIdDossier +OuvreFenSouers("FEN_Fiche_Dossier",tbaParam) +fin +fin +Procédure locale Filtrer +procédure Filtrer(nId est un entier sur 8 octets) +nIdClient = nId +TableSupprimeTout(TABLE_Info) +si nIdClient <= 0 alors +retour +fin +RqDossier est une Requête SQL = +[ +SELECT TOP 1000 IN_RefInterne, IN_Titre, IN_NumDevis, IN_RefExterne, IN_CleEtat, +IN_DateIntervention, IN_PKID, DO_PKID +FROM Dossier +INNER JOIN Intervention ON Intervention.IN_IDDossier = Dossier.DO_PKID +WHERE Dossier.DO_IDClient = {p_IdClient} AND Dossier.DO_CleStatut <> {p_StatutAnnu} +ORDER BY Intervention.ModifDate DESC +] +RqDossier.p_StatutAnnu = cCle_DossierAnnule +RqDossier.p_IdClient = nIdClient +si pas HExécuteRequêteSQL(RqDossier) alors +06/08/2026 Batik 5624 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Client › Procédures +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Liste_Dossier_Client.Filtrer") +sinon +i est un entier +pour tout RqDossier +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = RqDossier.in_pkid +COL_NumInter[i] = RqDossier.IN_RefInterne +COL_Titre[i] = RqDossier.IN_Titre +COL_RefExt[i] = RqDossier.IN_RefExterne +COL_Etat[i] = RqDossier.IN_CleEtat <> "" _et_ gtabParametresMetierCode[cParam_EtatInter][ +RqDossier.IN_CleEtat]..Existe ? gtabParametresMetierCode[cParam_EtatInter][RqDossier.IN_CleEtat +].saLibelle sinon "" +COL_DateInter[i] = RqDossier.IN_DateIntervention +COL_IdDossier[i] = RqDossier.DO_PKID +fin +fin +Procédure locale SelLigne +procédure SelLigne() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ COL_IdDossier[i] > 0 alors +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[cParam_Fenetre] = cFI_Liste_DossierClient +tbaParam[Intervention.IN_PKID..Nom] = COL_PKID[i] +tbaParam[Dossier.DO_PKID..Nom] = COL_IdDossier[i] +tbaParam[cParam_IdFen] = COL_IdDossier[i] +OuvreFenSouers("FEN_Fiche_Dossier",tbaParam) +fin +06/08/2026 Batik 5625 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Contact › Image +FI_TdB_Liste_Dossier_Contact +Image +FI_TdB_Liste_Dossier_Contact +Informations générales +FI_TdB_Liste_Dossier_Contact +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TdB_Liste_Dossier_Contact.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 18/07/2025 09:59:02 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 09/10/2025 08:58:55 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 658 Hauteur | 191 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ----------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| 06/08/2026 | | | Batik | | 5626 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Contact › Informations générales +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 1 +Table 1 Forme 1 +Fenêtre interne 1 Champ Modèle de champs 4 +Option de menu 3 Colonne de table 8 +06/08/2026 Batik 5627 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Contact › Informations générales +Nombre d'éléments dans la fenêtre : 20 +FI_TdB_Liste_Dossier_Contact +Informations sur les champs +Fenêtre : FI_TdB_Liste_Dossier_Contact +Fenêtre interne +BAT ehcuoT +| | X noitisoP | | | | laitini tatE | | +| --- | ---------- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | ruegraL | ruetuaH | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_TdB_Liste_Dossier_Contact | 0 | 0 658 | 191 | 0 | | | +| ---------------------------- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_TdB_Liste_Dossier_Contact +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Img | 7 | 3 29 | 24 | 0 | Actif | | +| ---------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_Ligne | 0 | 29 658 | 8 | 0 | Actif | | +| CMOD_Table | 0 | 37 658 | 154 | 0 | Actif | | +| CMOD_Titre | 42 | 3 616 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_TdB_Liste_Dossier_Contact.CMOD_Img +| 06/08/2026 | | Batik | | | | 5628 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Contact › 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_Icone | | 7 | 3 | 29 | 24 | 0 | Actif | | | +| --------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_TdB_Liste_Dossier_Contact.CMOD_Ligne +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_Sep | | | 0 | 30 | 658 | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_TdB_Liste_Dossier_Contact.CMOD_Table +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +lennoitroporp .csA +.loc .gifnoc .oméM +| | | | | | | )(ertliFH resilitU | ruesnecsa elluB | EERTNE noitseG | | +| --- | --- | --- | --- | --- | --- | ------------------ | --------------- | -------------- | ----------------------------- | +| | | | | | | .gerne egacolB | noitcelésitluM | | eércna ennoloC 5.5 elbitapmoC | +edacsac eisiaS +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | --- | --- | +sruocraP +ruegraL ruetuaH +elbisiV +| | | | nalP | | elbaT | | | | | +| ---------- | ---- | ------- | ---- | -------- | ------ | --- | --- | --- | --- | +| TABLE_Info | 2 39 | 652 148 | 0 | affichag | Mémoir | | | | 2 | +Table : FI_TdB_Liste_Dossier_Contact.CMOD_Table.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | | elbairt ennoloC | ehcrehcer cevA | | | | +| --- | --- | --- | --- | -------------- | --------------- | -------------- | --- | --- | --- | +| | | | | ehcuag à eéxiF | | .zroh egardaC | | | | +.trev egardaC +| | | | | elbaçalpéD | | | eisias epyT | FTR tamroF | eisias cevA | +| --- | --- | --- | ------------ | ---------- | --- | --- | ----------- | ---------- | ----------- | +| | | | laitini tatE | | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +Numériq +| COL_PKID | | 880 | Grisé | | | Droite Centre | | | | +| ------------ | --- | --- | ----- | ----- | --- | ------------- | ----- | --- | ---- | +| COL_NumInter | | 97 | Actif | | | Gauche Centre | Texte | | | +| COL_Titre | | 128 | Actif | | | Gauche Centre | Texte | | | +| COL_DevisNum | | 104 | Actif | | | Gauche Centre | Texte | | | +| 06/08/2026 | | | | Batik | | | | | 5629 | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Contact › Informations sur les champs +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_RefExt | 82 | Actif | | Gauche Centre | Texte | | | +| COL_Etat | 106 | Actif | | Gauche Centre | Texte | | | +| COL_DateInter | 100 | Actif | | Droite Centre | Date | | | +Numériq +| COL_IdDossier | 100 | Grisé | | Droite Centre | | | | +| ------------- | --- | ----- | --- | ------------- | --- | --- | --- | +Champ Modèle de champs : FI_TdB_Liste_Dossier_Contact.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | 42 | 3 616 | 26 | 0 Actif | Gauche | Centre | | +| ------- | --- | ----- | --- | ------- | ------ | ------ | --- | +Fenêtre : FI_TdB_Liste_Dossier_Contact +Fenêtre interne : FI_TdB_Liste_Dossier_Contact +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| ------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | | +| Numéro aide | 0 | | | | | | | +| Thème destination | Oui | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | 0 | | | | | | | +| -------------------------- | ------- | --- | --- | --- | --- | --- | --- | +| Facteur d'agrandissement | 0 | | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | | +| Ancrage | <Aucun> | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Batik | | | | 5630 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Contact › Informations sur les champs +Fenêtre interne : FI_TdB_Liste_Dossier_Contact +Champ Modèle de champs : FI_TdB_Liste_Dossier_Contact.CMOD_Img +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Liste_Dossier_Contact.CMOD_Ligne +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5631 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Contact › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Dossier_Contact.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Liste_Dossier_Contact.CMOD_Titre +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5632 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Contact › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Dossier_Contact.CMOD_Img +Image : FI_TdB_Liste_Dossier_Contact.CMOD_Img.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Dossier_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 5633 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Contact › Informations sur les champs +Champ Modèle de champs : FI_TdB_Liste_Dossier_Contact.CMOD_Ligne +Forme : FI_TdB_Liste_Dossier_Contact.CMOD_Ligne.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TdB_Liste_Dossier_Contact.CMOD_Table +Table : FI_TdB_Liste_Dossier_Contact.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +06/08/2026 Batik 5634 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Contact › Informations sur les champs +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 +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 +06/08/2026 Batik 5635 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Contact › Informations sur les champs +Table : FI_TdB_Liste_Dossier_Contact.CMOD_Table.TABLE_Info +Colonne de table : FI_TdB_Liste_Dossier_Contact.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : +Titre FR: N° 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 +06/08/2026 Batik 5636 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Contact › 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 200 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Liste_Dossier_Contact.CMOD_Table.TABLE_Info.COL_Titre (3) +Titre FR: Titre 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: 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 250 Taux anc. hauteur 1000 +06/08/2026 Batik 5637 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Contact › Informations sur les champs +Colonne de table : +Titre FR: Numéro Devis +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 150 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Liste_Dossier_Contact.CMOD_Table.TABLE_Info.COL_RefExt +Titre FR: Reference externe +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 +06/08/2026 Batik 5638 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Contact › 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 150 Taux anc. hauteur 1000 +Colonne de table : FI_TdB_Liste_Dossier_Contact.CMOD_Table.TABLE_Info.COL_Etat (6) +Titre FR: État de l'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: 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 150 Taux anc. hauteur 1000 +06/08/2026 Batik 5639 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Contact › Informations sur les champs +Colonne de table : +Titre FR: Date 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: MM/JJ/AAAA +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Oui +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Colonne de table : +Titre FR: IdDossier +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 +06/08/2026 Batik 5640 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Contact › 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 +Champ Modèle de champs : FI_TdB_Liste_Dossier_Contact.CMOD_Titre +Libellé : FI_TdB_Liste_Dossier_Contact.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 +06/08/2026 Batik 5641 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Contact › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TdB_Liste_Dossier_Contact +Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Creer (2) +OPT_Modifier (3) +Libellé des options : Français +Créer un nouveau dossier +Modifier le dossier +FI_TdB_Liste_Dossier_Contact +Code des champs +Déclarations globales de FI_TdB_Liste_Dossier_Contact +procédure FI_TdB_Liste_Dossier_Contact() +nIdPersonne est un entier sur 8 octets +Fin d'initialisation de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Img +06/08/2026 Batik 5642 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Img +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Img ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Ligne +06/08/2026 Batik 5643 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Contact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Ligne +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5644 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Contact › Code des champs +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SelLigne() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5645 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Contact › Code des champs +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Dossiers" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Sélection du menu de MNU_Options.OPT_Creer +CreerDossier() +Sélection du menu de MNU_Options.OPT_Modifier +06/08/2026 Batik 5646 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Contact › Code des champs +SelLigne() +FI_TdB_Liste_Dossier_Contact +Procédures +Procédure locale CreerDossier +procédure CreerDossier() +si nIdPersonne > 0 alors +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[cParam_Fenetre] = cFI_Liste_DossierPers +tbaParam[Personne.PE_PKID..Nom] = nIdPersonne +nIdInter est un entier sur 8 octets +nIdDossier est un entier sur 8 octets +(nIdInter, nIdDossier) = Ouvre(FEN_Fiche_Dossier_Creation,tbaParam) +si nIdInter > 0 _et_ nIdDossier > 0 alors +TableauSupprimeTout(tbaParam) +tbaParam[Intervention.IN_PKID..Nom] = nIdInter +tbaParam[Dossier.DO_PKID..Nom] = nIdDossier +tbaParam[cParam_IdFen] = nIdDossier +OuvreFenSouers("FEN_Fiche_Dossier",tbaParam) +fin +fin +Procédure locale Filtrer +procédure Filtrer(nId est un entier sur 8 octets) +nIdPersonne = nId +TableSupprimeTout(TABLE_Info) +si nIdPersonne <= 0 alors +retour +fin +RqDossier est une Requête SQL = +[ +SELECT TOP 1000 IN_RefInterne, IN_Titre, IN_NumDevis, IN_RefExterne, IN_CleEtat, +IN_DateIntervention, IN_PKID, DO_PKID +FROM Dossier +INNER JOIN Intervention ON Intervention.IN_IDDossier = Dossier.DO_PKID +INNER JOIN Intervention_Personne ON Intervention_Personne.IP_IDIntervention = IN_PKID AND +IP_IDPersonne = {p_IdPersonne} +WHERE Dossier.DO_CleStatut <> {p_StatutAnnu} +ORDER BY Intervention.ModifDate DESC +] +RqDossier.p_StatutAnnu = cCle_DossierAnnule +RqDossier.p_IdPersonne = nIdPersonne +06/08/2026 Batik 5647 + +Partie 3 › Fenêtre WINDEV › FI_TdB_Liste_Dossier_Contact › Procédures +si pas HExécuteRequêteSQL(RqDossier) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","FI_TdB_Liste_Dossier_Contact.Filtrer") +sinon +i est un entier +pour tout RqDossier +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = RqDossier.in_pkid +COL_NumInter[i] = RqDossier.IN_RefInterne +COL_Titre[i] = RqDossier.IN_Titre +COL_RefExt[i] = RqDossier.IN_RefExterne +COL_Etat[i] = RqDossier.IN_CleEtat <> "" _et_ gtabParametresMetierCode[cParam_EtatInter][ +RqDossier.IN_CleEtat]..Existe ? gtabParametresMetierCode[cParam_EtatInter][RqDossier.IN_CleEtat +].saLibelle sinon "" +COL_DateInter[i] = RqDossier.IN_DateIntervention +COL_IdDossier[i] = RqDossier.DO_PKID +fin +fin +Procédure locale SelLigne +procédure SelLigne() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 _et_ COL_IdDossier[i] > 0 alors +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[cParam_Fenetre] = cFI_Liste_DossierPers +tbaParam[Intervention.IN_PKID..Nom] = COL_PKID[i] +tbaParam[Dossier.DO_PKID..Nom] = COL_IdDossier[i] +tbaParam[cParam_IdFen] = COL_IdDossier[i] +OuvreFenSouers("FEN_Fiche_Dossier",tbaParam) +fin +06/08/2026 Batik 5648 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelContact › Image +FI_TableauBordModelContact +Image +FI_TableauBordModelContact +Informations générales +FI_TableauBordModelContact +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TableauBordModelContact.wdw +Créé par SMR +Date de création 21/08/2025 17:20:16 +Dernière modification par SMR +06/08/2026 Batik 5649 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelContact › Informations générales +| Date dernière modification | | 09/10/2025 08:58:55 | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | --- | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 1099 | 650 | +| Position X | Position Y | | Largeur | Hauteur | | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 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 | | Windows 11 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 5650 | + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelContact › Informations générales +| Assombri quand inactif | Oui | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | +Déplace souris sur bouton par +Non +| Compact. barres outils | Non | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | +Statistiques de la fenêtre +| | Fenêtre interne | | 1 | Champ Modèle de champs | | | 1 | +| --- | --------------- | --- | --- | ------------------------- | --- | --- | --- | +| | Tableau de bord | | 1 | Widget de tableau de bord | | | 3 | +Nombre d'éléments dans la fenêtre : 6 +FI_TableauBordModelContact +Informations sur les champs +Fenêtre : FI_TableauBordModelContact +Fenêtre interne +BAT ehcuoT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_TableauBordModelContact | | 0 | 0 1099 | 650 | 0 | | | +| -------------------------- | --- | --- | ------ | --- | --- | --- | --- | +Fenêtre interne : FI_TableauBordModelContact +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Bord | | 0 | 0 1099 | 650 | 0 | Actif | | +| ---------- | --- | --- | ------ | --- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | | 5651 | + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelContact › Informations sur les champs +Champ Modèle de champs : FI_TableauBordModelContact.CMOD_Bord +Tableau de bord +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| TDB_Config | | 0 | 0 1099 | 650 | 0 | Actif | | +| ---------- | --- | --- | ------ | --- | --- | ----- | --- | +Fenêtre : FI_TableauBordModelContact +Fenêtre interne : FI_TableauBordModelContact +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| ------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | | +| Numéro aide | 0 | | | | | | | +| Thème destination | Oui | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | 0 | | | | | | | +| -------------------------- | ------- | --- | ---- | --- | ---- | --- | ---- | +| Facteur d'agrandissement | 0 | | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | | +| Ancrage | <Aucun> | | | | | | | +| | 1000 | | 1000 | | 1000 | | 1000 | +Taux anc. droite Taux anc. bas Taux anc. largeur Taux anc. hauteur +Fenêtre interne : FI_TableauBordModelContact +Champ Modèle de champs : FI_TableauBordModelContact.CMOD_Bord +| Ordre navigation | 1 | | | | | | | +| -------------------- | ----------------------------------- | --- | ----- | --- | --- | --- | ---- | +| Curseur survol | 0 | | | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| Menu contextuel | <NO CONTEXT MENU> | | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| 06/08/2026 | | | Batik | | | | 5652 | + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelContact › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TableauBordModelContact.CMOD_Bord +Tableau de bord : FI_TableauBordModelContact.CMOD_Bord.TDB_Config +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Tableau de bord +Ordre navigation 1 +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 +Hauteur éléments 10 +Largeur éléments 10 +Marge largeur 0 +Marge hauteur 0 +Compacter option Non +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +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 +Nb. colonnes 109 +Mode affichage TDB Nombre de colonnes variable +Configuration persistante Non +Édition permanent Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Charger l'aperçu à l'ouverture Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 5653 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelContact › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TableauBordModelContact +Code des champs +Déclarations globales de FI_TableauBordModelContact +procédure FI_TableauBordModel(saConfig est une chaîne ANSI) +Fin d'initialisation de FI_TableauBordModelContact +si saConfig <> "" alors +TDBChargeConfiguration(TDB_Config, saConfig) +fin +Fin d'initialisation de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TDB_Config ( CMOD_Bord ) +06/08/2026 Batik 5654 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelContact › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ajout d'un Widget dans TDB_Config ( CMOD_Bord ) +procédure AjoutWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +Suppression d'un Widget de TDB_Config ( CMOD_Bord ) +procédure SuppressionWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +Déplacement d'un Widget dans TDB_Config ( CMOD_Bord ) +procédure DéplacementWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +Changement de taille d'un Widget de TDB_Config ( CMOD_Bord ) +procédure RedimensionnementWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +FI_TableauBordModelContact +Procédures +Procédure locale DonneConfig +procédure DonneConfig(saConfiguration est une chaîne ANSI) +saConfiguration = TDBSauveConfiguration(TDB_Config) +06/08/2026 Batik 5655 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelSite › Image +FI_TableauBordModelSite +Image +FI_TableauBordModelSite +Informations générales +FI_TableauBordModelSite +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TableauBordModelSite.wdw +Créé par SMR +Date de création 21/08/2025 17:20:16 +Dernière modification par SMR +06/08/2026 Batik 5656 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelSite › Informations générales +| Date dernière modification | | 09/10/2025 08:58:55 | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | --- | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 1099 | 650 | +| Position X | Position Y | | Largeur | Hauteur | | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 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 | | Windows 11 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 5657 | + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelSite › Informations générales +| Assombri quand inactif | Oui | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | +Déplace souris sur bouton par +Non +| Compact. barres outils | Non | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | +Statistiques de la fenêtre +| | Fenêtre interne | | 1 | Champ Modèle de champs | | | 1 | +| --- | --------------- | --- | --- | ------------------------- | --- | --- | --- | +| | Tableau de bord | | 1 | Widget de tableau de bord | | | 4 | +Nombre d'éléments dans la fenêtre : 7 +FI_TableauBordModelSite +Informations sur les champs +Fenêtre : FI_TableauBordModelSite +Fenêtre interne +BAT ehcuoT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_TableauBordModelSite | | 0 | 0 1099 | 650 | 0 | | | +| ----------------------- | --- | --- | ------ | --- | --- | --- | --- | +Fenêtre interne : FI_TableauBordModelSite +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Bord | | 0 | 0 1099 | 650 | 0 | Actif | | +| ---------- | --- | --- | ------ | --- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | | 5658 | + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelSite › Informations sur les champs +Champ Modèle de champs : FI_TableauBordModelSite.CMOD_Bord +Tableau de bord +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| TDB_Config | | 0 | 0 1099 | 650 | 0 | Actif | | +| ---------- | --- | --- | ------ | --- | --- | ----- | --- | +Fenêtre : FI_TableauBordModelSite +Fenêtre interne : FI_TableauBordModelSite +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| ------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | | +| Numéro aide | 0 | | | | | | | +| Thème destination | Oui | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | 0 | | | | | | | +| -------------------------- | ------- | --- | ---- | --- | ---- | --- | ---- | +| Facteur d'agrandissement | 0 | | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | | +| Ancrage | <Aucun> | | | | | | | +| | 1000 | | 1000 | | 1000 | | 1000 | +Taux anc. droite Taux anc. bas Taux anc. largeur Taux anc. hauteur +Fenêtre interne : FI_TableauBordModelSite +Champ Modèle de champs : FI_TableauBordModelSite.CMOD_Bord +| Ordre navigation | 1 | | | | | | | +| -------------------- | ----------------------------------- | --- | ----- | --- | --- | --- | ---- | +| Curseur survol | 0 | | | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| Menu contextuel | <NO CONTEXT MENU> | | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| 06/08/2026 | | | Batik | | | | 5659 | + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelSite › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TableauBordModelSite.CMOD_Bord +Tableau de bord : FI_TableauBordModelSite.CMOD_Bord.TDB_Config +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Tableau de bord +Ordre navigation 1 +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 +Hauteur éléments 10 +Largeur éléments 10 +Marge largeur 0 +Marge hauteur 0 +Compacter option Non +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +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 +Nb. colonnes 109 +Mode affichage TDB Nombre de colonnes variable +Configuration persistante Non +Édition permanent Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Charger l'aperçu à l'ouverture Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 5660 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelSite › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TableauBordModelSite +Code des champs +Déclarations globales de FI_TableauBordModelSite +procédure FI_TableauBordModel(saConfig est une chaîne ANSI) +Fin d'initialisation de FI_TableauBordModelSite +si saConfig <> "" alors +TDBChargeConfiguration(TDB_Config, saConfig) +fin +Fin d'initialisation de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TDB_Config ( CMOD_Bord ) +06/08/2026 Batik 5661 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelSite › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ajout d'un Widget dans TDB_Config ( CMOD_Bord ) +procédure AjoutWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +Suppression d'un Widget de TDB_Config ( CMOD_Bord ) +procédure SuppressionWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +Déplacement d'un Widget dans TDB_Config ( CMOD_Bord ) +procédure DéplacementWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +Changement de taille d'un Widget de TDB_Config ( CMOD_Bord ) +procédure RedimensionnementWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +FI_TableauBordModelSite +Procédures +Procédure locale DonneConfig +procédure DonneConfig(saConfiguration est une chaîne ANSI) +saConfiguration = TDBSauveConfiguration(TDB_Config) +06/08/2026 Batik 5662 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter › Image +FI_Ele_Inter +Image +FI_Ele_Inter +Informations générales +FI_Ele_Inter +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_Ele_Inter.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 08/10/2025 09:27:37 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 01/04/2026 13:57:32 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 640 Hauteur | 246 | +| 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 | | | | +| 06/08/2026 | | | Batik | | 5663 | + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter › Informations générales +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 1 +Table 1 Forme 1 +Fenêtre interne 1 Champ Modèle de champs 4 +Colonne de table 9 +06/08/2026 Batik 5664 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter › Informations générales +Nombre d'éléments dans la fenêtre : 18 +FI_Ele_Inter +Informations sur les champs +Fenêtre : FI_Ele_Inter +Fenêtre interne +BAT ehcuoT +| | X noitisoP | | | | laitini tatE | | +| --- | ---------- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | ruegraL | ruetuaH | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_Ele_Inter | 0 | 0 640 | 246 | 0 | | | +| ------------ | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_Ele_Inter +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Icone | 3 | 7 29 | 24 | 0 | Actif | | +| ------------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_SansNom3 | 0 | 32 640 | 8 | 0 | Actif | | +| CMOD_Table | 2 | 41 637 | 200 | 0 | Actif | | +| CMOD_Titre | 40 | 6 595 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_Ele_Inter.CMOD_Icone +| 06/08/2026 | | Batik | | | | 5665 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter › 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_Icone | | 3 | 7 | 29 | 24 | 0 | Actif | | | +| --------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_Ele_Inter.CMOD_SansNom3 +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_Sep | | | 0 | 33 | 640 | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_Ele_Inter.CMOD_Table +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +lennoitroporp .csA +.loc .gifnoc .oméM +| | | | | | | )(ertliFH resilitU | ruesnecsa elluB | EERTNE noitseG | | +| --- | --- | --- | --- | --- | --- | ------------------ | --------------- | -------------- | ----------------------------- | +| | | | | | | .gerne egacolB | noitcelésitluM | | eércna ennoloC 5.5 elbitapmoC | +edacsac eisiaS +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | --- | --- | +sruocraP +ruegraL ruetuaH +elbisiV +| | | | nalP | | elbaT | | | | | +| ---------- | ---- | ------- | ---- | -------- | ------ | --- | --- | --- | --- | +| TABLE_Info | 4 43 | 631 194 | 0 | affichag | Mémoir | | | | 2 | +Table : FI_Ele_Inter.CMOD_Table.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | | elbairt ennoloC | ehcrehcer cevA | | | | +| --- | --- | --- | --- | -------------- | --------------- | -------------- | --- | --- | --- | +| | | | | ehcuag à eéxiF | | .zroh egardaC | | | | +.trev egardaC +| | | | | elbaçalpéD | | | eisias epyT | FTR tamroF | eisias cevA | +| --- | --- | --- | ------------ | ---------- | --- | --- | ----------- | ---------- | ----------- | +| | | | laitini tatE | | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +Numériq +| COL_PKID | | 880 | Grisé | | | Droite Centre | | | | +| ---------- | --- | --- | ----- | ----- | --- | ------------- | ----- | --- | ---- | +| COL_RefInt | | 100 | Actif | | | Gauche Centre | Texte | | | +| COL_RefExt | | 88 | Actif | | | Gauche Centre | Texte | | | +| COL_DevisN | | 81 | Actif | | | Gauche Centre | Texte | | | +| 06/08/2026 | | | | Batik | | | | | 5666 | + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter › Informations sur les champs +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_CodeLieu | 136 | Actif | | Gauche | Centre Texte | | | +| COL_Client | 105 | Actif | | Gauche | Centre Texte | | | +| COL_Titre | 101 | Actif | | Gauche | Centre Texte | | | +Numériq +| COL_IdInter | 100 | Grisé | | Droite | Centre | | | +| ------------- | --- | ----- | --- | ------ | ----------- | --- | --- | +| COL_DateHeure | 100 | Grisé | | Droite | Centre Date | | | +Champ Modèle de champs : FI_Ele_Inter.CMOD_Titre +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | | +| --- | --- | ------- | --- | ------- | --- | --- | --- | +nalP +| LIB_lib | 40 | 6 595 | 26 | 0 Actif | Gauche | Centre | | +| ------- | --- | ----- | --- | ------- | ------ | ------ | --- | +Fenêtre : FI_Ele_Inter +Fenêtre interne : FI_Ele_Inter +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| ------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | | +| Numéro aide | 0 | | | | | | | +| Thème destination | Oui | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | 0 | | | | | | | +| -------------------------- | ------- | --- | ---- | --- | ---- | --- | ---- | +| Facteur d'agrandissement | 0 | | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | | +| Ancrage | <Aucun> | | | | | | | +| | 1000 | | 1000 | | 1000 | | 1000 | +Taux anc. droite Taux anc. bas Taux anc. largeur Taux anc. hauteur +| 06/08/2026 | | | Batik | | | | 5667 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter › Informations sur les champs +Fenêtre interne : FI_Ele_Inter +Champ Modèle de champs : FI_Ele_Inter.CMOD_Icone +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Ele_Inter.CMOD_SansNom3 +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5668 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter › Informations sur les champs +Champ Modèle de champs : FI_Ele_Inter.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Ele_Inter.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5669 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter › Informations sur les champs +Champ Modèle de champs : FI_Ele_Inter.CMOD_Icone +Image : FI_Ele_Inter.CMOD_Icone.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Dossier_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 5670 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter › Informations sur les champs +Champ Modèle de champs : FI_Ele_Inter.CMOD_SansNom3 +Forme : FI_Ele_Inter.CMOD_SansNom3.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Ele_Inter.CMOD_Table +Table : FI_Ele_Inter.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +06/08/2026 Batik 5671 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter › Informations sur les champs +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 +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 +06/08/2026 Batik 5672 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter › Informations sur les champs +Table : FI_Ele_Inter.CMOD_Table.TABLE_Info +Colonne de table : FI_Ele_Inter.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : FI_Ele_Inter.CMOD_Table.TABLE_Info.COL_RefInt (2) +Titre FR: N° 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 +06/08/2026 Batik 5673 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter › 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 100 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_Inter.CMOD_Table.TABLE_Info.COL_RefExt (3) +Titre FR: Réf. externe +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +06/08/2026 Batik 5674 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter › Informations sur les champs +Colonne de table : FI_Ele_Inter.CMOD_Table.TABLE_Info.COL_DevisN (4) +Titre FR: Devis n° +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_Inter.CMOD_Table.TABLE_Info.COL_CodeLieu (5) +Titre FR: Code lieu +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +06/08/2026 Batik 5675 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter › 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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 240 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_Inter.CMOD_Table.TABLE_Info.COL_Client (6) +Titre FR: Client +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 240 Taux anc. hauteur 1000 +06/08/2026 Batik 5676 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter › Informations sur les champs +Colonne de table : FI_Ele_Inter.CMOD_Table.TABLE_Info.COL_Titre (7) +Titre FR: Titre +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 220 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_Inter.CMOD_Table.TABLE_Info.COL_IdInter (8) +Titre FR: IdInter +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 +06/08/2026 Batik 5677 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter › 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 : FI_Ele_Inter.CMOD_Table.TABLE_Info.COL_DateHeure (9) +Titre FR: DateHeure +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:CCC +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 +06/08/2026 Batik 5678 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter › Informations sur les champs +Champ Modèle de champs : FI_Ele_Inter.CMOD_Titre +Libellé : FI_Ele_Inter.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_Ele_Inter +Code des champs +Déclarations globales de FI_Ele_Inter +06/08/2026 Batik 5679 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter › Code des champs +procédure FI_Ele_Inter() +gtbaProceduresMaJWidget[Intervention.Nom] = Filtrer +gsOngletParent est une chaîne ANSI +Fin d'initialisation de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Icone ) +06/08/2026 Batik 5680 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5681 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +06/08/2026 Batik 5682 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SelLigneTable() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Interventions" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5683 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter › Code des champs +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +FI_Ele_Inter +Procédures +Procédure locale Filtrer +procédure Filtrer(local sNomOnglet est une chaîne ANSI = "") +si sNomOnglet <> "" alors gsOngletParent = sNomOnglet +TableSupprimeTout(TABLE_Info) +i est un entier +tbaEle est un tableau associatif de MElementModifie +tbIds est un tableau d'entiers sur 8 octets +utiliser SectionCritique(gtbaElementsModifiesInter) dans +tbaEle = gtbaElementsModifiesInter +fin +TableauTrie(tbaEle,ttMembre,"dDate") +h est un entier +pour tout oEle de tbaEle +si oEle:nIDEnrg > 0 alors +TableauAjoute(tbIds,oEle:nIDEnrg) +h+= 1 +fin +si h >=50 alors +sortir +fin +fin +si tbIds..Occurrence <= 0 alors +renvoyer Faux +fin +reqInter est une Requête SQL = +[ +SELECT TOP 50 IN_PKID ,IN_RefInterne ,IN_RefExterne,IN_NumDevis, IN_Titre,DO_PKID, CL_Nom , +LI_CodeLieu +FROM Intervention +LEFT OUTER JOIN Dossier ON Dossier.DO_PKID = Intervention.IN_IDDossier +LEFT OUTER JOIN Client ON Client.CL_PKID = Dossier.DO_IDClient +LEFT OUTER JOIN Lieu ON Lieu.LI_PKID = Intervention.IN_IDLieu +WHERE Intervention.IN_PKID IN ({p_IdsInter}) +] +reqInter.p_IdsInter = TableauVersChaîne(tbIds,";") +06/08/2026 Batik 5684 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter › Procédures +si HExécuteRequêteSQL(reqInter) alors +pour tout reqInter +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = reqInter.DO_PKID +COL_IdInter[i] = reqInter.IN_PKID +COL_RefInt[i] = reqInter.IN_RefInterne +COL_RefExt[i] = reqInter.IN_RefExterne +COL_DevisN[i] = reqInter.IN_NumDevis +COL_CodeLieu[i] = reqInter.LI_CodeLieu +COL_Client[i] = reqInter.CL_Nom +COL_Titre[i] = reqInter.in_titre +si tbaEle[reqInter.IN_PKID]..existe = Vrai alors +COL_DateHeure[i] =tbaEle[reqInter.IN_PKID].dDate +fin +fin +TableTrie(TABLE_Info,"COL_DateHeure","-COL_DateHeure") +sinon +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Erreur lors de la mise à jour du tableau des éléments récemment modifiés","FI_Ele_Inter.Filtrer") +fin +Procédure locale SelLigneTable +procédure SelLigneTable() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 alors +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[Dossier.DO_PKID..Nom] = COL_PKID[i] +tbaParam[Intervention.IN_PKID..Nom] = COL_IdInter[i] +tbaParam[cParam_IdFen] = COL_PKID[i] +OuvreFenSouers("FEN_Fiche_Dossier",tbaParam) +fin +06/08/2026 Batik 5685 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Client › Image +FI_Ele_Client +Image +FI_Ele_Client +Informations générales +FI_Ele_Client +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_Ele_Client.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 08/10/2025 09:27:37 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 09/10/2025 12:11:03 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 640 Hauteur | 246 | +| 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 | | | | +| 06/08/2026 | | | Batik | | 5686 | + +Partie 3 › Fenêtre WINDEV › FI_Ele_Client › Informations générales +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 1 +Table 1 Forme 1 +Fenêtre interne 1 Champ Modèle de champs 4 +Colonne de table 7 +06/08/2026 Batik 5687 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Client › Informations générales +Nombre d'éléments dans la fenêtre : 16 +FI_Ele_Client +Informations sur les champs +Fenêtre : FI_Ele_Client +Fenêtre interne +BAT ehcuoT +| | X noitisoP | | | | laitini tatE | | +| --- | ---------- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | ruegraL | ruetuaH | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_Ele_Client | 0 | 0 640 | 246 | 0 | | | +| ------------- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_Ele_Client +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Icone | 3 | 7 29 | 24 | 0 | Actif | | +| ------------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_SansNom3 | 0 | 32 640 | 8 | 0 | Actif | | +| CMOD_Table | 3 | 40 634 | 202 | 0 | Actif | | +| CMOD_Titre | 40 | 6 597 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_Ele_Client.CMOD_Icone +| 06/08/2026 | | Batik | | | | 5688 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Ele_Client › 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_Icone | | 3 | 7 | 29 | 24 | 0 | Actif | | | +| --------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_Ele_Client.CMOD_SansNom3 +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_Sep | | | 0 | 33 | 640 | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_Ele_Client.CMOD_Table +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +lennoitroporp .csA +.loc .gifnoc .oméM +| | | | | | | )(ertliFH resilitU | ruesnecsa elluB | EERTNE noitseG | | +| --- | --- | --- | --- | --- | --- | ------------------ | --------------- | -------------- | ----------------------------- | +| | | | | | | .gerne egacolB | noitcelésitluM | | eércna ennoloC 5.5 elbitapmoC | +edacsac eisiaS +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | --- | --- | +sruocraP +ruegraL ruetuaH +elbisiV +| | | | nalP | | elbaT | | | | | +| ---------- | ---- | ------- | ---- | -------- | ------ | --- | --- | --- | --- | +| TABLE_Info | 5 42 | 628 200 | 0 | affichag | Mémoir | | | | 1 | +Table : FI_Ele_Client.CMOD_Table.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | | elbairt ennoloC | ehcrehcer cevA | | | | +| --- | --- | --- | --- | -------------- | --------------- | -------------- | --- | --- | --- | +| | | | | ehcuag à eéxiF | | .zroh egardaC | | | | +.trev egardaC +| | | | | elbaçalpéD | | | eisias epyT | FTR tamroF | eisias cevA | +| --- | --- | --- | ------------ | ---------- | --- | --- | ----------- | ---------- | ----------- | +| | | | laitini tatE | | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +Numériq +| COL_PKID | | 880 | Grisé | | | Droite Centre | | | | +| ---------- | --- | --- | ----- | ----- | --- | ------------- | ----- | --- | ---- | +| COL_Nom | | 148 | Actif | | | Gauche Centre | Texte | | | +| COL_Code | | 106 | Actif | | | Gauche Centre | Texte | | | +| COL_Coord | | 117 | Actif | | | Gauche Centre | Texte | | | +| 06/08/2026 | | | | Batik | | | | | 5689 | + +Partie 3 › Fenêtre WINDEV › FI_Ele_Client › Informations sur les champs +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_Tel | 126 | Actif | | Gauche Centre | Texte | | | +| COL_Email | 106 | Actif | | Gauche Centre | Texte | | | +| COL_DateHeure | 100 | Grisé | | Droite Centre | Date | | | +Champ Modèle de champs : FI_Ele_Client.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | 40 | 6 597 | 26 | 0 Actif | Gauche | Centre | | +| ------- | --- | ----- | --- | ------- | ------ | ------ | --- | +Fenêtre : FI_Ele_Client +Fenêtre interne : FI_Ele_Client +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | | +| Numéro aide | 0 | | | | | | | +| Thème destination | Oui | | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | | +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | | | +| ------------------------- | ------- | --- | --- | --- | --- | --- | --- | +| Ctx. HFSQL indép. | Non | | | | | | | +| Ancrage | <Aucun> | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Batik | | | | 5690 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Ele_Client › Informations sur les champs +Fenêtre interne : FI_Ele_Client +Champ Modèle de champs : FI_Ele_Client.CMOD_Icone +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Ele_Client.CMOD_SansNom3 +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5691 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Client › Informations sur les champs +Champ Modèle de champs : FI_Ele_Client.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Ele_Client.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5692 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Client › Informations sur les champs +Champ Modèle de champs : FI_Ele_Client.CMOD_Icone +Image : FI_Ele_Client.CMOD_Icone.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Client_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 5693 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Client › Informations sur les champs +Champ Modèle de champs : FI_Ele_Client.CMOD_SansNom3 +Forme : FI_Ele_Client.CMOD_SansNom3.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Ele_Client.CMOD_Table +Table : FI_Ele_Client.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +06/08/2026 Batik 5694 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Client › Informations sur les champs +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 +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 +06/08/2026 Batik 5695 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Client › Informations sur les champs +Table : FI_Ele_Client.CMOD_Table.TABLE_Info +Colonne de table : FI_Ele_Client.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : FI_Ele_Client.CMOD_Table.TABLE_Info.COL_Nom (2) +Titre FR: Nom du client +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 +06/08/2026 Batik 5696 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Client › 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 250 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_Client.CMOD_Table.TABLE_Info.COL_Code (3) +Titre FR: Code client +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 100 Taux anc. hauteur 1000 +06/08/2026 Batik 5697 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Client › Informations sur les champs +Colonne de table : FI_Ele_Client.CMOD_Table.TABLE_Info.COL_Coord (4) +Titre FR: Coordonnées +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 350 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_Client.CMOD_Table.TABLE_Info.COL_Tel (5) +Titre FR: Téléphones +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 +06/08/2026 Batik 5698 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Client › 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 150 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_Client.CMOD_Table.TABLE_Info.COL_Email (6) +Titre FR: Email +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 150 Taux anc. hauteur 1000 +06/08/2026 Batik 5699 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Client › Informations sur les champs +Colonne de table : FI_Ele_Client.CMOD_Table.TABLE_Info.COL_DateHeure (7) +Titre FR: DateHeure +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:CCC +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 +Champ Modèle de champs : FI_Ele_Client.CMOD_Titre +Libellé : FI_Ele_Client.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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> +06/08/2026 Batik 5700 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Client › Informations sur les champs +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_Ele_Client +Code des champs +Déclarations globales de FI_Ele_Client +procédure FI_Ele_Client() +gtbaProceduresMaJWidget[Client.Nom] = Filtrer +gsOngletParent est une chaîne ANSI +Fin d'initialisation de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Icone +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5701 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Client › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom3 +06/08/2026 Batik 5702 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5703 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Client › Code des champs +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SelLigneTable() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +06/08/2026 Batik 5704 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Client › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Clients" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +FI_Ele_Client +Procédures +Procédure locale Filtrer +06/08/2026 Batik 5705 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Client › Procédures +procédure Filtrer(local sNomOnglet est une chaîne ANSI = "") +si sNomOnglet <> "" alors gsOngletParent = sNomOnglet +TableSupprimeTout(TABLE_Info) +i est un entier +tbaEle est un tableau associatif de MElementModifie +tbIds est un tableau d'entiers sur 8 octets +utiliser SectionCritique(gtbaElementsModifiesClient) dans +tbaEle = gtbaElementsModifiesClient +fin +TableauTrie(tbaEle,ttMembre,"dDate") +h est un entier +pour tout oEle de tbaEle +si oEle:nIDEnrg > 0 alors +TableauAjoute(tbIds,oEle:nIDEnrg) +h+= 1 +fin +si h >=50 alors +sortir +fin +fin +si tbIds..Occurrence <= 0 alors +renvoyer Faux +fin +reqClient est une Requête SQL = +[ +SELECT TOP 50 +CL_PKID,CL_Nom,CL_CodeClient, CL_Tel, CL_Fax, CL_Email, +(SELECT STRING_AGG(Adresse.AD_Presentation,CHR(13)+'--------------------'+CHR(13)) FROM Adresse +INNER JOIN Client_Adresse ON (CA_IDAdresse=AD_PKID) WHERE CA_IDClient=CL_PKID) AS Coord +FROM Client +WHERE Client.CL_PKID IN ({p_IdsClient}) +] +reqClient.p_IdsClient = TableauVersChaîne(tbIds,";") +si HExécuteRequêteSQL(reqClient) alors +pour tout reqClient +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = reqClient.CL_PKID +COL_Nom[i] = reqClient.CL_Nom +COL_Code[i] = reqClient.CL_CodeClient +COL_Coord[i] = reqClient.Coord +si reqClient.CL_Tel <> "" alors +COL_Tel[i] = reqClient.CL_Tel +si reqClient.CL_Fax <> "" alors +COL_Tel[i] += " - "+reqClient.CL_Fax +fin +sinon +si reqClient.CL_Fax <> "" alors +COL_Tel[i] = reqClient.CL_Fax +fin +fin +COL_Email[i] = reqClient.CL_Email +si tbaEle[reqClient.CL_PKID]..existe = Vrai alors +COL_DateHeure[i] = tbaEle[reqClient.CL_PKID].dDate +fin +fin +TableTrie(TABLE_Info,"COL_DateHeure","-COL_DateHeure") +06/08/2026 Batik 5706 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Client › Procédures +sinon +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Erreur lors de la mise à jour du tableau des éléments récemment modifiés","FI_Ele_Client.Filtrer") +fin +Procédure locale SelLigneTable +procédure SelLigneTable() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 alors +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[Client.CL_PKID..Nom] = COL_PKID[i] +tbaParam[cParam_IdFen] = COL_PKID[i] +OuvreFenSouers("FEN_Fiche_Client",tbaParam) +fin +06/08/2026 Batik 5707 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Site › Image +FI_Ele_Site +Image +FI_Ele_Site +Informations générales +FI_Ele_Site +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_Ele_Site.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 08/10/2025 09:27:37 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 01/04/2026 13:57:32 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 640 Hauteur | 246 | +| 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 | | | | +| 06/08/2026 | | | Batik | | 5708 | + +Partie 3 › Fenêtre WINDEV › FI_Ele_Site › Informations générales +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 1 +Table 1 Forme 1 +Fenêtre interne 1 Champ Modèle de champs 4 +Colonne de table 7 +06/08/2026 Batik 5709 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Site › Informations générales +Nombre d'éléments dans la fenêtre : 16 +FI_Ele_Site +Informations sur les champs +Fenêtre : FI_Ele_Site +Fenêtre interne +BAT ehcuoT +| | X noitisoP | | | | laitini tatE | | +| --- | ---------- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | ruegraL | ruetuaH | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_Ele_Site | 0 | 0 640 | 246 | 0 | | | +| ----------- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_Ele_Site +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Icone | 3 | 7 29 | 24 | 0 | Actif | | +| ------------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_SansNom3 | 0 | 32 640 | 8 | 0 | Actif | | +| CMOD_Table | 3 | 40 637 | 202 | 0 | Actif | | +| CMOD_Titre | 40 | 6 596 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_Ele_Site.CMOD_Icone +| 06/08/2026 | | Batik | | | | 5710 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Ele_Site › 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_Icone | | 3 | 7 | 29 | 24 | 0 | Actif | | | +| --------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_Ele_Site.CMOD_SansNom3 +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_Sep | | | 0 | 33 | 640 | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_Ele_Site.CMOD_Table +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +lennoitroporp .csA +.loc .gifnoc .oméM +| | | | | | | )(ertliFH resilitU | ruesnecsa elluB | EERTNE noitseG | | +| --- | --- | --- | --- | --- | --- | ------------------ | --------------- | -------------- | ----------------------------- | +| | | | | | | .gerne egacolB | noitcelésitluM | | eércna ennoloC 5.5 elbitapmoC | +edacsac eisiaS +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | --- | --- | +sruocraP +ruegraL ruetuaH +elbisiV +| | | | nalP | | elbaT | | | | | +| ---------- | ---- | ------- | ---- | -------- | ------ | --- | --- | --- | --- | +| TABLE_Info | 5 42 | 631 197 | 0 | affichag | Mémoir | | | | 1 | +Table : FI_Ele_Site.CMOD_Table.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | | elbairt ennoloC | ehcrehcer cevA | | | | +| --- | --- | --- | --- | -------------- | --------------- | -------------- | --- | --- | --- | +| | | | | ehcuag à eéxiF | | .zroh egardaC | | | | +.trev egardaC +| | | | | elbaçalpéD | | | eisias epyT | FTR tamroF | eisias cevA | +| --- | --- | --- | ------------ | ---------- | --- | --- | ----------- | ---------- | ----------- | +| | | | laitini tatE | | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +Numériq +| COL_PKID | | 880 | Grisé | | | Droite Centre | | | | +| ----------- | --- | --- | ----- | ----- | --- | ------------- | ----- | --- | ---- | +| COL_Nom | | 145 | Actif | | | Gauche Centre | Texte | | | +| COL_Type | | 98 | Actif | | | Gauche Centre | Texte | | | +| COL_Adresse | | 100 | Actif | | | Gauche Centre | Texte | | | +| 06/08/2026 | | | | Batik | | | | | 5711 | + +Partie 3 › Fenêtre WINDEV › FI_Ele_Site › Informations sur les champs +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_CP | 100 | Actif | | Gauche Centre | Texte | | | +| COL_Ville | 140 | Actif | | Gauche Centre | Texte | | | +| COL_DateHeure | 100 | affichag | | Droite Centre | Date | | | +Champ Modèle de champs : FI_Ele_Site.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | 40 | 6 596 | 26 | 0 Actif | Gauche | Centre | | +| ------- | --- | ----- | --- | ------- | ------ | ------ | --- | +Fenêtre : FI_Ele_Site +Fenêtre interne : FI_Ele_Site +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | | +| Numéro aide | 0 | | | | | | | +| Thème destination | Oui | | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | | +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | | | +| ------------------------- | ------- | --- | --- | --- | --- | --- | --- | +| Ctx. HFSQL indép. | Non | | | | | | | +| Ancrage | <Aucun> | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Batik | | | | 5712 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Ele_Site › Informations sur les champs +Fenêtre interne : FI_Ele_Site +Champ Modèle de champs : FI_Ele_Site.CMOD_Icone +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Ele_Site.CMOD_SansNom3 +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5713 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Site › Informations sur les champs +Champ Modèle de champs : FI_Ele_Site.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Ele_Site.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5714 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Site › Informations sur les champs +Champ Modèle de champs : FI_Ele_Site.CMOD_Icone +Image : FI_Ele_Site.CMOD_Icone.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Site_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 5715 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Site › Informations sur les champs +Champ Modèle de champs : FI_Ele_Site.CMOD_SansNom3 +Forme : FI_Ele_Site.CMOD_SansNom3.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Ele_Site.CMOD_Table +Table : FI_Ele_Site.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +06/08/2026 Batik 5716 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Site › Informations sur les champs +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 +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 +06/08/2026 Batik 5717 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Site › Informations sur les champs +Table : FI_Ele_Site.CMOD_Table.TABLE_Info +Colonne de table : FI_Ele_Site.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : FI_Ele_Site.CMOD_Table.TABLE_Info.COL_Nom (2) +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +06/08/2026 Batik 5718 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Site › 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 280 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_Site.CMOD_Table.TABLE_Info.COL_Type (3) +Titre FR: Type +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 170 Taux anc. hauteur 1000 +06/08/2026 Batik 5719 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Site › Informations sur les champs +Colonne de table : FI_Ele_Site.CMOD_Table.TABLE_Info.COL_Adresse (4) +Titre FR: Adresse +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 250 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_Site.CMOD_Table.TABLE_Info.COL_CP (5) +Titre FR: CP +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 +06/08/2026 Batik 5720 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Site › 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 130 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_Site.CMOD_Table.TABLE_Info.COL_Ville (6) +Titre FR: Ville +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 170 Taux anc. hauteur 1000 +06/08/2026 Batik 5721 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Site › Informations sur les champs +Colonne de table : FI_Ele_Site.CMOD_Table.TABLE_Info.COL_DateHeure (7) +Titre FR: DateHeure +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:CCC +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 +Champ Modèle de champs : FI_Ele_Site.CMOD_Titre +Libellé : FI_Ele_Site.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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> +06/08/2026 Batik 5722 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Site › Informations sur les champs +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_Ele_Site +Code des champs +Déclarations globales de FI_Ele_Site +procédure FI_Ele_Site() +gtbaProceduresMaJWidget[Lieu.Nom] = Filtrer +gsOngletParent est une chaîne ANSI +Fin d'initialisation de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Icone +06/08/2026 Batik 5723 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5724 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Site › Code des champs +ExécuteAncêtre +Sortie de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +06/08/2026 Batik 5725 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SelLigneTable() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +06/08/2026 Batik 5726 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Site › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Sites" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +FI_Ele_Site +Procédures +Procédure locale Filtrer +06/08/2026 Batik 5727 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Site › Procédures +procédure Filtrer(local sNomOnglet est une chaîne ANSI = "") +si sNomOnglet <> "" alors gsOngletParent = sNomOnglet +TableSupprimeTout(TABLE_Info) +i est un entier +tbaEle est un tableau associatif de MElementModifie +tbIds est un tableau d'entiers sur 8 octets +utiliser SectionCritique(gtbaElementsModifiesSite) dans +tbaEle = gtbaElementsModifiesSite +fin +TableauTrie(tbaEle,ttMembre,"dDate") +h est un entier +pour tout oEle de tbaEle +si oEle:nIDEnrg > 0 alors +TableauAjoute(tbIds,oEle:nIDEnrg) +h+= 1 +fin +si h >=50 alors +sortir +fin +fin +si tbIds..Occurrence <= 0 alors +renvoyer Faux +fin +reqLieu est une Requête SQL = +[ +SELECT TOP 50 +Lieu.LI_PKID ,Lieu.LI_CodeLieu ,Lieu.LI_CleType,Adresse.AD_Adresse,Adresse.AD_CodePostal,Adresse. +AD_Ville +FROM Lieu +LEFT JOIN Adresse ON AD_PKID = LI_IDAdresse +WHERE Lieu.LI_PKID IN ({p_IdsLieu}) +] +reqLieu.p_IdsLieu = TableauVersChaîne(tbIds,";") +si HExécuteRequêteSQL(reqLieu) alors +pour tout reqLieu +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = reqLieu.LI_PKID +COL_Nom[i] = reqLieu.LI_CodeLieu +COL_Adresse[i] = reqLieu.AD_Adresse +si reqLieu.LI_CleType <> "" _et_ gtabParametresMetierCode[cparam_TypeLieu][reqLieu.LI_CleType]. +.Existe = Vrai _et_ ... +gtabParametresMetierCode[cparam_TypeLieu][reqLieu.LI_CleType].nPKID > 0 alors +COL_Type[i] = gtabParametresMetierCode[cparam_TypeLieu][reqLieu.LI_CleType].salibelle +fin +COL_CP[i] = reqLieu.AD_CodePostal +COL_Ville[i] = reqLieu.AD_Ville +si tbaEle[reqLieu.LI_PKID]..existe = Vrai alors +COL_DateHeure[i] = tbaEle[reqLieu.LI_PKID].dDate +fin +fin +TableTrie(TABLE_Info,"COL_DateHeure","-COL_DateHeure") +sinon +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Erreur lors de la mise à jour du tableau des éléments récemment modifiés","FI_Ele_Site.Filtrer") +fin +Procédure locale SelLigneTable +06/08/2026 Batik 5728 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Site › Procédures +procédure SelLigneTable() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 alors +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[Lieu.LI_PKID..Nom] = COL_PKID[i] +| tbaParam[cParam_IdFen] = COL_PKID[i] | | | +| ------------------------------------ | --- | --- | +OuvreFenSouers("FEN_Fiche_Site",tbaParam) +fin +| 06/08/2026 | Batik | 5729 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Ele_Personne › Image +FI_Ele_Personne +Image +FI_Ele_Personne +Informations générales +FI_Ele_Personne +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_Ele_Personne.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 08/10/2025 09:27:37 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 01/04/2026 13:57:01 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 640 Hauteur | 246 | +| 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 | | | | +| 06/08/2026 | | | Batik | | 5730 | + +Partie 3 › Fenêtre WINDEV › FI_Ele_Personne › Informations générales +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 1 +Table 1 Forme 1 +Fenêtre interne 1 Champ Modèle de champs 4 +Colonne de table 7 +06/08/2026 Batik 5731 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Personne › Informations générales +Nombre d'éléments dans la fenêtre : 16 +FI_Ele_Personne +Informations sur les champs +Fenêtre : FI_Ele_Personne +Fenêtre interne +BAT ehcuoT +| | X noitisoP | | | | laitini tatE | | +| --- | ---------- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | ruegraL | ruetuaH | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_Ele_Personne | 0 | 0 640 | 246 | 0 | | | +| --------------- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_Ele_Personne +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Icone | 3 | 7 29 | 24 | 0 | Actif | | +| ------------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_SansNom3 | 0 | 32 640 | 8 | 0 | Actif | | +| CMOD_Table | 4 | 43 633 | 199 | 0 | Actif | | +| CMOD_Titre | 40 | 6 597 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_Ele_Personne.CMOD_Icone +| 06/08/2026 | | Batik | | | | 5732 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Ele_Personne › 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_Icone | | 3 | 7 | 29 | 24 | 0 | Actif | | | +| --------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_Ele_Personne.CMOD_SansNom3 +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_Sep | | | 0 | 33 | 640 | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_Ele_Personne.CMOD_Table +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +lennoitroporp .csA +.loc .gifnoc .oméM +| | | | | | | )(ertliFH resilitU | ruesnecsa elluB | EERTNE noitseG | | +| --- | --- | --- | --- | --- | --- | ------------------ | --------------- | -------------- | ----------------------------- | +| | | | | | | .gerne egacolB | noitcelésitluM | | eércna ennoloC 5.5 elbitapmoC | +edacsac eisiaS +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | --- | --- | +sruocraP +ruegraL ruetuaH +elbisiV +| | | | nalP | | elbaT | | | | | +| ---------- | ---- | ------- | ---- | -------- | ------ | --- | --- | --- | --- | +| TABLE_Info | 6 45 | 627 193 | 0 | affichag | Mémoir | | | | 2 | +Table : FI_Ele_Personne.CMOD_Table.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | | elbairt ennoloC | ehcrehcer cevA | | | | +| --- | --- | --- | --- | -------------- | --------------- | -------------- | --- | --- | --- | +| | | | | ehcuag à eéxiF | | .zroh egardaC | | | | +.trev egardaC +| | | | | elbaçalpéD | | | eisias epyT | FTR tamroF | eisias cevA | +| --- | --- | --- | ------------ | ---------- | --- | --- | ----------- | ---------- | ----------- | +| | | | laitini tatE | | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +Numériq +| COL_PKID | | 880 | Grisé | | | Droite Centre | | | | +| ---------- | --- | --- | ----- | ----- | --- | ------------- | ----- | --- | ---- | +| COL_Nom | | 131 | Actif | | | Gauche Centre | Texte | | | +| COL_Prenom | | 132 | Actif | | | Gauche Centre | Texte | | | +| COL_Tel1 | | 100 | Actif | | | Gauche Centre | Texte | | | +| 06/08/2026 | | | | Batik | | | | | 5733 | + +Partie 3 › Fenêtre WINDEV › FI_Ele_Personne › Informations sur les champs +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_Tel2 | 100 | Actif | | Gauche Centre | Texte | | | +| COL_Email | 151 | Actif | | Gauche Centre | Texte | | | +| COL_DateHeure | 100 | Grisé | | Droite Centre | Date | | | +Champ Modèle de champs : FI_Ele_Personne.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | 40 | 6 597 | 26 | 0 Actif | Gauche | Centre | | +| ------- | --- | ----- | --- | ------- | ------ | ------ | --- | +Fenêtre : FI_Ele_Personne +Fenêtre interne : FI_Ele_Personne +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | | +| Numéro aide | 0 | | | | | | | +| Thème destination | Oui | | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | | +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | | | +| ------------------------- | ------- | --- | --- | --- | --- | --- | --- | +| Ctx. HFSQL indép. | Non | | | | | | | +| Ancrage | <Aucun> | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Batik | | | | 5734 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Ele_Personne › Informations sur les champs +Fenêtre interne : FI_Ele_Personne +Champ Modèle de champs : FI_Ele_Personne.CMOD_Icone +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Ele_Personne.CMOD_SansNom3 +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5735 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Personne › Informations sur les champs +Champ Modèle de champs : FI_Ele_Personne.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Ele_Personne.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5736 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Personne › Informations sur les champs +Champ Modèle de champs : FI_Ele_Personne.CMOD_Icone +Image : FI_Ele_Personne.CMOD_Icone.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\contact-list-svgrepo-com.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 5737 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Personne › Informations sur les champs +Champ Modèle de champs : FI_Ele_Personne.CMOD_SansNom3 +Forme : FI_Ele_Personne.CMOD_SansNom3.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Ele_Personne.CMOD_Table +Table : FI_Ele_Personne.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +06/08/2026 Batik 5738 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Personne › Informations sur les champs +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 +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 +06/08/2026 Batik 5739 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Personne › Informations sur les champs +Table : FI_Ele_Personne.CMOD_Table.TABLE_Info +Colonne de table : FI_Ele_Personne.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : FI_Ele_Personne.CMOD_Table.TABLE_Info.COL_Nom (2) +Titre FR: Nom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +06/08/2026 Batik 5740 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Personne › 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 250 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_Personne.CMOD_Table.TABLE_Info.COL_Prenom (3) +Titre FR: Prénom +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 250 Taux anc. hauteur 1000 +06/08/2026 Batik 5741 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Personne › Informations sur les champs +Colonne de table : FI_Ele_Personne.CMOD_Table.TABLE_Info.COL_Tel1 (4) +Titre FR: Tél n°1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 130 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_Personne.CMOD_Table.TABLE_Info.COL_Tel2 (5) +Titre FR: Tél n°2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: 0 +06/08/2026 Batik 5742 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Personne › 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 120 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_Personne.CMOD_Table.TABLE_Info.COL_Email (6) +Titre FR: Email +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 250 Taux anc. hauteur 1000 +06/08/2026 Batik 5743 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Personne › Informations sur les champs +Colonne de table : FI_Ele_Personne.CMOD_Table.TABLE_Info.COL_DateHeure (7) +Titre FR: DateHeure +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:CCC +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 +Champ Modèle de champs : FI_Ele_Personne.CMOD_Titre +Libellé : FI_Ele_Personne.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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> +06/08/2026 Batik 5744 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Personne › Informations sur les champs +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_Ele_Personne +Code des champs +Déclarations globales de FI_Ele_Personne +procédure FI_Ele_Personne() +gtbaProceduresMaJWidget[Personne.Nom] = Filtrer +gsOngletParent est une chaîne ANSI +Fin d'initialisation de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Icone +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5745 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Personne › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom3 +06/08/2026 Batik 5746 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Personne › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5747 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Personne › Code des champs +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SelLigneTable() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +06/08/2026 Batik 5748 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Personne › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Contacts" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +FI_Ele_Personne +Procédures +Procédure locale Filtrer +06/08/2026 Batik 5749 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Personne › Procédures +procédure Filtrer(local sNomOnglet est une chaîne ANSI = "") +si sNomOnglet <> "" alors gsOngletParent = sNomOnglet +TableSupprimeTout(TABLE_Info) +i est un entier +tbaEle est un tableau associatif de MElementModifie +tbIds est un tableau d'entiers sur 8 octets +utiliser SectionCritique(gtbaElementsModifiesCtc) dans +tbaEle = gtbaElementsModifiesCtc +fin +TableauTrie(tbaEle,ttMembre,"dDate") +h est un entier +pour tout oEle de tbaEle +si oEle:nIDEnrg > 0 alors +TableauAjoute(tbIds,oEle:nIDEnrg) +h+= 1 +fin +si h >=50 alors +sortir +fin +fin +si tbIds..Occurrence <= 0 alors +renvoyer Faux +fin +reqPers est une Requête SQL = +[ +SELECT TOP 50 Personne.PE_PKID,Personne.PE_Nom,Personne.PE_Prenom,Personne.PE_TelFixe,Personne. +PE_TelMobile,Personne.PE_Email +FROM Personne +WHERE Personne.PE_PKID IN ({p_IdsPers}) +] +reqPers.p_IdsPers= TableauVersChaîne(tbIds,";") +si HExécuteRequêteSQL(reqPers) alors +pour tout reqPers +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = reqPers.PE_PKID +COL_Nom[i] = reqPers.PE_Nom +COL_Prenom[i] = reqPers.PE_Prenom +COL_Tel1[i] = reqPers.PE_TelMobile +COL_Tel2[i] = reqPers.PE_TelFixe +COL_Email[i] = reqPers.PE_Email +si tbaEle[reqPers.PE_PKID]..Existe = Vrai alors +COL_DateHeure[i] = tbaEle[reqPers.PE_PKID].dDate +fin +fin +TableTrie(TABLE_Info,"COL_DateHeure","-COL_DateHeure") +sinon +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Erreur lors de la mise à jour du tableau des éléments récemment modifiés", +"FI_Ele_Personne.Filtrer") +fin +Procédure locale SelLigneTable +procédure SelLigneTable() +06/08/2026 Batik 5750 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Personne › Procédures +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 alors +tbaParam est un tableau associatif de chaînes ANSI +tbaParam[Personne..Nom] = COL_PKID[i] +| tbaParam[cParam_IdFen] = COL_PKID[i] | | | +| ------------------------------------ | --- | --- | +OuvreFenSouers("FEN_Fiche_Contact",tbaParam) +fin +| 06/08/2026 | Batik | 5751 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › Image +FI_Ele_RDV +Image +FI_Ele_RDV +Informations générales +FI_Ele_RDV +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_Ele_RDV.wdw +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 08/10/2025 09:27:37 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 01/04/2026 19:05:13 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 748 Hauteur | 246 | +| 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 | | | | +| 06/08/2026 | | | Batik | | 5752 | + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › Informations générales +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 1 +Table 1 Forme 1 +Fenêtre interne 1 Champ Modèle de champs 4 +Colonne de table 10 +06/08/2026 Batik 5753 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › Informations générales +Nombre d'éléments dans la fenêtre : 19 +FI_Ele_RDV +Informations sur les champs +Fenêtre : FI_Ele_RDV +Fenêtre interne +BAT ehcuoT +| | X noitisoP | | | | laitini tatE | | +| --- | ---------- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | ruegraL | ruetuaH | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_Ele_RDV | 0 | 0 748 | 246 | 0 | | | +| ---------- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_Ele_RDV +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_Icone | 3 | 7 29 | 24 | 0 | Actif | | +| ------------- | --- | ------ | --- | --- | ----- | --- | +| CMOD_SansNom3 | 0 | 32 748 | 8 | 0 | Actif | | +| CMOD_Table | 3 | 40 745 | 202 | 0 | Actif | | +| CMOD_Titre | 40 | 6 704 | 26 | 0 | Actif | | +Champ Modèle de champs : FI_Ele_RDV.CMOD_Icone +| 06/08/2026 | | Batik | | | | 5754 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › 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_Icone | | 3 | 7 | 29 | 24 | 0 | Actif | | | +| --------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | +Champ Modèle de champs : FI_Ele_RDV.CMOD_SansNom3 +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | --- | +| | | | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FRM_Sep | | | 0 | 33 | 748 | 2 | 0 | Actif | | +| ------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_Ele_RDV.CMOD_Table +Table +eitros ne tnemertsigernE +ruesnecsa/egahciffA +lennoitroporp .csA +.loc .gifnoc .oméM +| | | | | | | )(ertliFH resilitU | ruesnecsa elluB | EERTNE noitseG | | +| --- | --- | --- | --- | --- | --- | ------------------ | --------------- | -------------- | ----------------------------- | +| | | | | | | .gerne egacolB | noitcelésitluM | | eércna ennoloC 5.5 elbitapmoC | +edacsac eisiaS +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | | | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | --- | --- | --- | +sruocraP +ruegraL ruetuaH +elbisiV +| | | | nalP | | elbaT | | | | | +| ---------- | ---- | ------- | ---- | -------- | ------ | --- | --- | --- | --- | +| TABLE_Info | 5 42 | 739 197 | 0 | affichag | Mémoir | | | | 1 | +Table : FI_Ele_RDV.CMOD_Table.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +| | | | | | elbairt ennoloC | ehcrehcer cevA | | | | +| --- | --- | --- | --- | -------------- | --------------- | -------------- | --- | --- | --- | +| | | | | ehcuag à eéxiF | | .zroh egardaC | | | | +.trev egardaC +| | | | | elbaçalpéD | | | eisias epyT | FTR tamroF | eisias cevA | +| --- | --- | --- | ------------ | ---------- | --- | --- | ----------- | ---------- | ----------- | +| | | | laitini tatE | | | | | engilitluM | | +ruegraL +elbisiV +eéirT +epyT +Numériq +| COL_PKID | | 880 | Grisé | | | Droite Centre | | | | +| ---------- | --- | --- | ----- | ----- | --- | ------------- | ----- | --- | ---- | +| COL_Colb | | 115 | Actif | | | Gauche Centre | Texte | | | +| COL_Date | | 71 | Actif | | | Gauche Centre | Texte | | | +| COL_HeureD | | 60 | Actif | | | Gauche Centre | Texte | | | +| 06/08/2026 | | | | Batik | | | | | 5755 | + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › Informations sur les champs +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_HeureF | 58 | Actif | | Gauche Centre | Texte | | | +| COL_Type | 92 | Actif | | Gauche Centre | Texte | | | +| COL_Inter | 101 | Actif | | Gauche Centre | Texte | | | +| COL_Client | 81 | Actif | | Gauche Centre | Texte | | | +| COL_Adresse | 140 | Actif | | Gauche Centre | Texte | | | +| COL_DateHeure | 100 | affichag | | Droite Centre | Date | | | +Champ Modèle de champs : FI_Ele_RDV.CMOD_Titre +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| LIB_lib | 40 | 6 704 | 26 | 0 Actif | Gauche | Centre | | +| ------- | --- | ----- | --- | ------- | ------ | ------ | --- | +Fenêtre : FI_Ele_RDV +Fenêtre interne : FI_Ele_RDV +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | | +| Numéro aide | 0 | | | | | | | +| Thème destination | Oui | | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | | +| Facteur de rétrécissement | 0 | | | | | | | +| Facteur d'agrandissement | 0 | | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | | +| Ancrage | <Aucun> | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Batik | | | | 5756 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › Informations sur les champs +Fenêtre interne : FI_Ele_RDV +Champ Modèle de champs : FI_Ele_RDV.CMOD_Icone +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Ele_RDV.CMOD_SansNom3 +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5757 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › Informations sur les champs +Champ Modèle de champs : FI_Ele_RDV.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Ele_RDV.CMOD_Titre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5758 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › Informations sur les champs +Champ Modèle de champs : FI_Ele_RDV.CMOD_Icone +Image : FI_Ele_RDV.CMOD_Icone.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Planning_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 5759 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › Informations sur les champs +Champ Modèle de champs : FI_Ele_RDV.CMOD_SansNom3 +Forme : FI_Ele_RDV.CMOD_SansNom3.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Ele_RDV.CMOD_Table +Table : FI_Ele_RDV.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +06/08/2026 Batik 5760 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › Informations sur les champs +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 +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 +06/08/2026 Batik 5761 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › Informations sur les champs +Table : FI_Ele_RDV.CMOD_Table.TABLE_Info +Colonne de table : FI_Ele_RDV.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : FI_Ele_RDV.CMOD_Table.TABLE_Info.COL_Colb (2) +Titre FR: Collaborateur +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 +06/08/2026 Batik 5762 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › 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 200 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_RDV.CMOD_Table.TABLE_Info.COL_Date (3) +Titre FR: Date +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 80 Taux anc. hauteur 1000 +06/08/2026 Batik 5763 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › Informations sur les champs +Colonne de table : FI_Ele_RDV.CMOD_Table.TABLE_Info.COL_HeureD (4) +Titre FR: Heure 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: 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 40 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_RDV.CMOD_Table.TABLE_Info.COL_HeureF (5) +Titre FR: Heure 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: 0 +06/08/2026 Batik 5764 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › 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 40 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_RDV.CMOD_Table.TABLE_Info.COL_Type (6) +Titre FR: Type +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 140 Taux anc. hauteur 1000 +06/08/2026 Batik 5765 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › Informations sur les champs +Colonne de table : FI_Ele_RDV.CMOD_Table.TABLE_Info.COL_Inter (7) +Titre FR: 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: 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 100 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_RDV.CMOD_Table.TABLE_Info.COL_Client (8) +Titre FR: Client +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 +06/08/2026 Batik 5766 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › 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 200 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_RDV.CMOD_Table.TABLE_Info.COL_Adresse (9) +Titre FR: Adresse +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 200 Taux anc. hauteur 1000 +06/08/2026 Batik 5767 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › Informations sur les champs +Colonne de table : FI_Ele_RDV.CMOD_Table.TABLE_Info.COL_DateHeure (10) +Titre FR: DateHeure +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:CCC +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 +Champ Modèle de champs : FI_Ele_RDV.CMOD_Titre +Libellé : FI_Ele_RDV.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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> +06/08/2026 Batik 5768 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › Informations sur les champs +Cadrage fonctions gXXX Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_Ele_RDV +Code des champs +Déclarations globales de FI_Ele_RDV +procédure FI_Ele_RDV() +gtbaProceduresMaJWidget[RDV_Planning.Nom] = Filtrer +gsOngletParent est une chaîne ANSI +Fin d'initialisation de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Icone +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5769 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › Code des champs +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Icone +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Icone ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom3 +06/08/2026 Batik 5770 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5771 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › Code des champs +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SelLigneTable() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5772 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › Code des champs +ExécuteAncêtre +Déclarations globales de CMOD_Titre +salib = "Rendez-vous" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_Titre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +FI_Ele_RDV +Procédures +Procédure locale Filtrer +06/08/2026 Batik 5773 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › Procédures +procédure Filtrer(local sNomOnglet est une chaîne ANSI = "") +si sNomOnglet <> "" alors gsOngletParent = sNomOnglet +TableSupprimeTout(TABLE_Info) +i est un entier +tbaEle est un tableau associatif de MElementModifie +tbIds est un tableau d'entiers sur 8 octets +utiliser SectionCritique(gtbaElementsModifiesRDV) dans +tbaEle = gtbaElementsModifiesRDV +fin +TableauTrie(tbaEle,ttMembre,"dDate") +h est un entier +pour tout oEle de tbaEle +si oEle:nIDEnrg > 0 alors +TableauAjoute(tbIds,oEle:nIDEnrg) +h+= 1 +fin +si h >=50 alors +sortir +fin +fin +si tbIds..Occurrence <= 0 alors +renvoyer Faux +fin +tbaRdv est un tableau associatif de ST_InfoRDV +odST_RDVest un ST_InfoRDV dynamique +odUnColb est un MRDV_Colb dynamique +reqRdv est une Requête SQL = +[ +SELECT RDV_Planning.*, RDV_Collaborateur.*,Intervention.* , Client.* , Lieu.* , Adresse.* +FROM RDV_Planning +INNER JOIN RDV_Collaborateur ON +(RDV_Collaborateur.RVC_GUID_RDV = RDV_Planning.GUID AND RDV_Collaborateur.Archive = 0 AND +RDV_Collaborateur.RVC_DateDeb <> '' AND RDV_Collaborateur.RVC_GUID_Colb <> '') +LEFT OUTER JOIN Intervention ON Intervention.IN_PKID = RDV_Planning.RV_IdInter +LEFT OUTER JOIN Client ON Client.CL_PKID = Intervention.IN_IDClient +LEFT OUTER JOIN Lieu ON Lieu.LI_PKID = COALESCE(Intervention.IN_IDLieu ,RDV_Planning.RV_IdLieu) +LEFT OUTER JOIN Adresse ON Adresse.AD_PKID = Lieu.LI_IDAdresse +WHERE RDV_Planning.RV_PKID IN ({p_IdsRdvs}) AND RDV_Planning.Archive = 0 ORDER BY RVC_DateDeb DESC +, RVC_DateFin ASC ,RVC_GUID_RDV +] +reqRdv.p_IdsRdvs = TableauVersChaîne(tbIds,";") +si HExécuteRequêteSQL(reqRdv) alors +pour tout reqRdv +si reqRdv.RV_PKID > 0 alors +si tbaRdv[reqRdv.RV_PKID]..Existe = Faux alors +odST_RDV = allouer un ST_InfoRDV +FichierVersMémoire(odST_RDV.oRdv,reqRdv) +si DateHeureValide(reqRdv.RVC_DateDeb) alors +odST_RDV.oRdv.dhDateDeb = reqRdv.RVC_DateDeb +fin +si reqRdv.IN_PKID > 0 alors +FichierVersMémoire(odST_RDV.oInter,reqRdv) +fin +si reqRdv.cl_PKID > 0 alors +FichierVersMémoire(odST_RDV.oClient,reqRdv) +fin +si reqRdv.li_PKID > 0 alors +06/08/2026 Batik 5774 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › Procédures +FichierVersMémoire(odST_RDV.oLieu,reqRdv) +FichierVersMémoire(odST_RDV.oLieu.oAdresse,reqRdv) +fin +tbaRdv[odST_RDV.oRdv.nPKID] = odST_RDV +fin +si tbaRdv[reqRdv.RV_PKID]..existe = Vrai alors +si TableauCherche(tbaRdv[reqRdv.RV_PKID].tbColbs,tcLinéaire,"saGUID_Colb",reqRdv. +RVC_GUID_Colb) <= 0 alors +odUnColb = allouer un MRDV_Colb +FichierVersMémoire(odUnColb,reqRdv) +TableauAjoute(tbaRdv[reqRdv.RV_PKID].tbColbs,odUnColb) +fin +fin +si DateHeureValide(reqRdv.RVC_DateFin) alors +tbaRdv[reqRdv.RV_PKID].oRdv.dhDateFin = reqRdv.RVC_DateFin +fin +fin +fin +sinon +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Erreur lors de la mise à jour du tableau des éléments récemment modifiés","FI_Ele_RDV.Filtrer") +fin +pour tout oInfoRdv de tbaRdv +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = oInfoRdv.oRdv.nPKID +si pas DateValide(oInfoRdv.oRdv.dhDateDeb..PartieDate) _et_ DateValide(oInfoRdv.oRdv.dDateRdv) +alors +COL_Date[i] = DateVersChaîne(oInfoRdv.oRdv.dDateRdv, "JJ/MM/AA") +sinon +si DateValide(oInfoRdv.oRdv.dhDateDeb) alors +si DateValide(oInfoRdv.oRdv.dhDatefin) _et_ oInfoRdv.oRdv.dhDateDeb..PartieDate <> +oInfoRdv.oRdv.dhDatefin..partiedate alors +COL_Date[i] = DateVersChaîne(oInfoRdv.oRdv.dhDateFin..PartieDate, "JJ/MM/AA") +COL_Date[i] += RC+ DateVersChaîne(oInfoRdv.oRdv.dhDateDeb..PartieDate, "JJ/MM/AA") +sinon +COL_Date[i] = DateVersChaîne(oInfoRdv.oRdv.dhDateDeb..PartieDate, "JJ/MM/AA") +fin +fin +fin +si DateHeureValide(oInfoRdv.oRdv.dhDateDeb) _et_ oInfoRdv.oRdv.dhDateDeb <> oInfoRdv.oRdv.dhDateFin +alors +COL_HeureD[i] = HeureVersChaîne(oInfoRdv.oRdv.dhDateDeb..PartieHeure, "HH:mm") +fin +si DateHeureValide(oInfoRdv.oRdv.dhDateFin) _et_ oInfoRdv.oRdv.dhDateDeb <> oInfoRdv.oRdv.dhDateFin +alors +COL_HeureF[i] = HeureVersChaîne(oInfoRdv.oRdv.dhDatefin..PartieHeure, "HH:mm") +fin +si oInfoRdv.tbColbs..Occurrence > 0 alors +pour tout oColb de oInfoRdv.tbColbs +si gtabListeCollaborateurs[oColb.saGUID_Colb]..Existe = Vrai alors +COL_Colb[i] += gtabListeCollaborateurs[oColb.saGUID_Colb].NomPrenom()+RC +fin +fin +fin +si oInfoRdv.oRdv.saCleType <> "" _et_ gtabParametresMetierCode[cParam_TypeRDV][oInfoRdv.oRdv. +saCleType]..Existe = Vrai alors +COL_Type[i] = gtabParametresMetierCode[cParam_TypeRDV][oInfoRdv.oRdv.saCleType].salibelle +fin +06/08/2026 Batik 5775 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV › Procédures +si oInfoRdv.oInter <> Null _et_ oInfoRdv.oInter.nPKID > 0 alors +COL_Inter[i] = oInfoRdv.oInter.saRefInterne +fin +si oInfoRdv.oClient <> Null _et_ oInfoRdv.oClient.nPKID > 0 alors +COL_Client[i] = oInfoRdv.oClient.NomEtCode +fin +si oInfoRdv.oLieu <> Null _et_ oInfoRdv.oLieu.oAdresse <> Null _et_ oInfoRdv.oLieu.nPKID > 0 alors +COL_Adresse[i] = oInfoRdv.oLieu.oAdresse.saPresentation +fin +fin +Procédure locale SelLigneTable +procédure SelLigneTable() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 alors +Ouvre(FEN_Fiche_RDV,COL_PKID[i]) +fin +06/08/2026 Batik 5776 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelMenu › Image +FI_TableauBordModelMenu +Image +FI_TableauBordModelMenu +Informations générales +FI_TableauBordModelMenu +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TableauBordModelMenu.wdw +Créé par SMR +Date de création 08/10/2025 15:33:48 +Dernière modification par susana@applilogik.fr +06/08/2026 Batik 5777 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelMenu › Informations générales +| Date dernière modification | | 01/04/2026 10:52:10 | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | --- | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 1100 | 664 | +| Position X | Position Y | | Largeur | Hauteur | | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 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 | | Windows 11 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 5778 | + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelMenu › Informations générales +| Assombri quand inactif | Oui | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | +Déplace souris sur bouton par +Non +| Compact. barres outils | Non | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | +Statistiques de la fenêtre +| | Fenêtre interne | | 1 | Champ Modèle de champs | | | 1 | +| --- | --------------- | --- | --- | ------------------------- | --- | --- | --- | +| | Tableau de bord | | 1 | Widget de tableau de bord | | | 7 | +Nombre d'éléments dans la fenêtre : 10 +FI_TableauBordModelMenu +Informations sur les champs +Fenêtre : FI_TableauBordModelMenu +Fenêtre interne +BAT ehcuoT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_TableauBordModelMenu | | 0 | 0 1100 | 664 | 0 | | | +| ----------------------- | --- | --- | ------ | --- | --- | --- | --- | +Fenêtre interne : FI_TableauBordModelMenu +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Bord | | 0 | 0 1100 | 664 | 0 | Actif | | +| ---------- | --- | --- | ------ | --- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | | 5779 | + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelMenu › Informations sur les champs +Champ Modèle de champs : FI_TableauBordModelMenu.CMOD_Bord +Tableau de bord +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| TDB_Config | | 0 | 0 1100 | 664 | 0 | Actif | | +| ---------- | --- | --- | ------ | --- | --- | ----- | --- | +Fenêtre : FI_TableauBordModelMenu +Fenêtre interne : FI_TableauBordModelMenu +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| ------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | | +| Numéro aide | 0 | | | | | | | +| Thème destination | Oui | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | 0 | | | | | | | +| -------------------------- | ------- | --- | ---- | --- | ---- | --- | ---- | +| Facteur d'agrandissement | 0 | | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | | +| Ancrage | <Aucun> | | | | | | | +| | 1000 | | 1000 | | 1000 | | 1000 | +Taux anc. droite Taux anc. bas Taux anc. largeur Taux anc. hauteur +Fenêtre interne : FI_TableauBordModelMenu +Champ Modèle de champs : FI_TableauBordModelMenu.CMOD_Bord +| Ordre navigation | 1 | | | | | | | +| ------------------------- | ----------------------------------- | --- | ----- | --- | --- | --- | ---- | +| Curseur survol | 0 | | | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| 06/08/2026 | | | Batik | | | | 5780 | + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelMenu › Informations sur les champs +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TableauBordModelMenu.CMOD_Bord +Tableau de bord : FI_TableauBordModelMenu.CMOD_Bord.TDB_Config +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Tableau de bord +Ordre navigation 1 +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 +Hauteur éléments 10 +Largeur éléments 10 +Marge largeur 0 +Marge hauteur 0 +Compacter option Non +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +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 +Nb. colonnes 110 +Mode affichage TDB Nombre de colonnes variable +Configuration persistante Non +Édition permanent Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Charger l'aperçu à l'ouverture Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 5781 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelMenu › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FI_TableauBordModelMenu +Code des champs +Déclarations globales de FI_TableauBordModelMenu +procédure FI_TableauBordModelMenu(saConfig est une chaîne ANSI, gsParent est une chaîne ANSI = "") +Fin d'initialisation de FI_TableauBordModelMenu +si saConfig <> "" alors +TDBChargeConfiguration(TDB_Config, saConfig) +fin +Fin d'initialisation de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TDB_Config ( CMOD_Bord ) +06/08/2026 Batik 5782 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelMenu › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ajout d'un Widget dans TDB_Config ( CMOD_Bord ) +procédure AjoutWidget(Widget est un Champ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +si FenEtat(FEN_Tableau_Bord_Menu) <> Inexistant alors +FEN_Tableau_Bord_Menu.AjoutWidgetInterFiltre(Widget..Nom) +fin +Suppression d'un Widget de TDB_Config ( CMOD_Bord ) +procédure SuppressionWidget(Widget est un Champ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +si FenEtat(FEN_Tableau_Bord_Menu) <> Inexistant alors +FEN_Tableau_Bord_Menu.SupprimerWidget(Widget..Nom) +fin +Déplacement d'un Widget dans TDB_Config ( CMOD_Bord ) +procédure DéplacementWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +Changement de taille d'un Widget de TDB_Config ( CMOD_Bord ) +procédure RedimensionnementWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +FI_TableauBordModelMenu +Procédures +Procédure locale DonneConfig +procédure DonneConfig(saConfiguration est une chaîne ANSI) +saConfiguration = TDBSauveConfiguration(TDB_Config) +06/08/2026 Batik 5783 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelSansParam › Image +FI_TableauBordModelSansParam +Image +FI_TableauBordModelSansParam +Informations générales +FI_TableauBordModelSansParam +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_TableauBordModelSansParam.wdw +Créé par SMR +Date de création 21/08/2025 17:20:16 +Dernière modification par SMR +06/08/2026 Batik 5784 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelSansParam › Informations générales +| Date dernière modification | | 09/10/2025 08:58:55 | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | --- | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 1099 | 650 | +| Position X | Position Y | | Largeur | Hauteur | | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 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 | | Windows 11 | | | | +| 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 | | | | +| 06/08/2026 | | | Batik | | 5785 | + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelSansParam › Informations générales +| Assombri quand inactif | Oui | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | +Déplace souris sur bouton par +Non +| Compact. barres outils | Non | | | | | | | +| ---------------------- | --- | --- | --- | --- | --- | --- | --- | +Statistiques de la fenêtre +| | Fenêtre interne | | 1 | Champ Modèle de champs | | | 1 | +| --- | --------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Tableau de bord | | 1 | | | | | +Nombre d'éléments dans la fenêtre : 3 +FI_TableauBordModelSansParam +Informations sur les champs +Fenêtre : FI_TableauBordModelSansParam +Fenêtre interne +BAT ehcuoT +laitini tatE +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_TableauBordModelSansParam | | 0 | 0 1099 | 650 | 0 | | | +| ---------------------------- | --- | --- | ------ | --- | --- | --- | --- | +Fenêtre interne : FI_TableauBordModelSansParam +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Bord | | 0 | 0 1099 | 650 | 0 | Actif | | +| ---------- | --- | --- | ------ | --- | --- | ----- | ---- | +| 06/08/2026 | | | Batik | | | | 5786 | + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelSansParam › Informations sur les champs +Champ Modèle de champs : FI_TableauBordModelSansParam.CMOD_Bord +Tableau de bord +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| TDB_Config | | 0 | 0 1099 | 650 | 0 | Actif | | +| ---------- | --- | --- | ------ | --- | --- | ----- | --- | +Fenêtre : FI_TableauBordModelSansParam +Fenêtre interne : FI_TableauBordModelSansParam +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| ------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | | +| Numéro aide | 0 | | | | | | | +| Thème destination | Oui | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | 0 | | | | | | | +| -------------------------- | ------- | --- | ---- | --- | ---- | --- | ---- | +| Facteur d'agrandissement | 0 | | | | | | | +| Ctx. HFSQL indép. | Non | | | | | | | +| Ancrage | <Aucun> | | | | | | | +| | 1000 | | 1000 | | 1000 | | 1000 | +Taux anc. droite Taux anc. bas Taux anc. largeur Taux anc. hauteur +Fenêtre interne : FI_TableauBordModelSansParam +Champ Modèle de champs : FI_TableauBordModelSansParam.CMOD_Bord +| Ordre navigation | 1 | | | | | | | +| -------------------- | ----------------------------------- | --- | ----- | --- | --- | --- | ---- | +| Curseur survol | 0 | | | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| Menu contextuel | <NO CONTEXT MENU> | | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| 06/08/2026 | | | Batik | | | | 5787 | + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelSansParam › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_TableauBordModelSansParam.CMOD_Bord +Tableau de bord : FI_TableauBordModelSansParam.CMOD_Bord.TDB_Config +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Tableau de bord +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Menu contextuel <NO CONTEXT MENU> +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur éléments 10 +Largeur éléments 10 +Marge largeur 0 +Marge hauteur 0 +Compacter option Non +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +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 +Nb. colonnes 109 +Mode affichage TDB Nombre de colonnes variable +Configuration persistante Non +Édition permanent Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Charger l'aperçu à l'ouverture Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 5788 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelSansParam › Informations sur les champs +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 +FI_TableauBordModelSansParam +Code des champs +Déclarations globales de FI_TableauBordModelSansParam +procédure FI_TableauBordModelSansParam(saConfig est une chaîne ANSI, gsParent est une chaîne ANSI) +saConfigTableu est une chaîne ANSI +Fin d'initialisation de FI_TableauBordModelSansParam +si saConfig <> "" alors +tbConfigTableau est un tableau de chaînes ANSI +pour toute chaîne saUnWg de saConfig séparée par RC +TableauSupprimeTout(tbConfigTableau) +ChaîneVersTableau(saUnWg,tbConfigTableau,TAB) +si tbConfigTableau[7] > 0 alors // Visible +saConfigTableu += [RC]+saUnWg +fin +fin +fin +si saConfigTableu <> "" alors +TDBChargeConfiguration(TDB_Config, saConfigTableu) +fin +Fin d'initialisation de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Bord +06/08/2026 Batik 5789 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelSansParam › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Bord +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TDB_Config ( CMOD_Bord ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Ajout d'un Widget dans TDB_Config ( CMOD_Bord ) +procédure AjoutWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +Suppression d'un Widget de TDB_Config ( CMOD_Bord ) +procédure SuppressionWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +Déplacement d'un Widget dans TDB_Config ( CMOD_Bord ) +procédure DéplacementWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +Changement de taille d'un Widget de TDB_Config ( CMOD_Bord ) +procédure RedimensionnementWidget(Widget) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre(Widget) +FI_TableauBordModelSansParam +Procédures +Procédure locale Filtrer +procédure Filtrer() +nBWidget est un entier = TDBOccurrence(TDB_Config,toAffichée) +pour i = 1 à nBWidget +quand exception dans +ExécuteTraitement(TDB_Config[i].Nom+".Filtrer",trtProcédure, gsParent) +faire +ExécuteTraitement(TDB_Config[i].Nom+".Filtrer",trtProcédure) +fin +06/08/2026 Batik 5790 + +Partie 3 › Fenêtre WINDEV › FI_TableauBordModelSansParam › Procédures +fin +| 06/08/2026 | Batik | 5791 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › Image +FI_Ele_RDV_Attente +Image +FI_Ele_RDV_Attente +Informations générales +FI_Ele_RDV_Attente +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_Ele_RDV_Attente.wdw +| Créé par | | susana@applilogik.fr | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 31/03/2026 09:20:13 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 01/04/2026 19:05:01 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1027 Hauteur | 237 | +| 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 | | | | +| 06/08/2026 | | | Batik | | 5792 | + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › Informations générales +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 1 +Table 1 Forme 1 +Fenêtre interne 1 Champ Modèle de champs 4 +Option de menu 3 Colonne de table 11 +06/08/2026 Batik 5793 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › Informations générales +Nombre d'éléments dans la fenêtre : 23 +FI_Ele_RDV_Attente +Informations sur les champs +Fenêtre : FI_Ele_RDV_Attente +Fenêtre interne +BAT ehcuoT +| | X noitisoP | | | | laitini tatE | | +| --- | ---------- | --- | --- | --- | ------------ | --- | +Y noitisoP +| | | ruegraL | ruetuaH | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| FI_Ele_RDV_Attente | 0 | 0 1027 | 237 | 0 | | | +| ------------------ | --- | ------ | --- | --- | --- | --- | +Fenêtre interne : FI_Ele_RDV_Attente +Champ Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| CMOD_SansNom1 | 4 | 4 29 | 24 | 0 | Actif | | +| ------------- | --- | ------- | --- | --- | ----- | --- | +| CMOD_SansNom2 | 41 | 3 981 | 26 | 0 | Actif | | +| CMOD_SansNom3 | 0 | 29 1027 | 8 | 0 | Actif | | +| CMOD_Table | 2 | 37 1023 | 197 | 0 | Actif | | +Champ Modèle de champs : FI_Ele_RDV_Attente.CMOD_SansNom1 +| 06/08/2026 | | Batik | | | | 5794 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › 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_Icone | | 4 | | 4 29 | 24 | 0 | Actif | | | | +| --------- | --- | --- | --- | ---- | --- | --- | ----- | --- | --- | --- | +Champ Modèle de champs : FI_Ele_RDV_Attente.CMOD_SansNom2 +Libellé +tuaféd rap eéminA +| | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| LIB_lib | | 41 | 3 | 981 26 | 0 | Actif | Gauche | | Centre | | +| ------- | --- | --- | --- | ------ | --- | ----- | ------ | --- | ------ | --- | +Champ Modèle de champs : FI_Ele_RDV_Attente.CMOD_SansNom3 +Forme +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| FRM_Sep | | | 0 | 30 | 1027 | 2 | 0 | | Actif | | +| ------- | --- | --- | --- | --- | ---- | --- | --- | --- | ----- | --- | +Champ Modèle de champs : FI_Ele_RDV_Attente.CMOD_Table +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 | | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | | +| | | ruegraL | | elbisiV | | | | | | | +elbaT +nalP +Mémoir +| TABLE_Info | 4 39 | 1017 191 | 0 | affichag | | | | | | 1 | +| ---------- | ---- | -------- | --- | -------- | --- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | | 5795 | + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › Informations sur les champs +Table : FI_Ele_RDV_Attente.CMOD_Table.TABLE_Info +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_PKID | 880 | Grisé | | Droite Centre | Numériq | | +| COL_CreeLe | 65 | Actif | | Droite Centre | Date | | +| COL_CreePar | 103 | Actif | | Gauche Centre | Texte | | +| COL_Objet | 119 | Actif | | Gauche Centre | Texte | | +| COL_Date | 68 | Actif | | Droite Centre | Date | | +| COL_Colb | 156 | Actif | | Gauche Centre | Texte | | +| COL_Inter | 95 | Actif | | Gauche Centre | Texte | | +| COL_NDevis | 100 | Actif | | Gauche Centre | Texte | | +| COL_Client | 138 | Actif | | Gauche Centre | Texte | | +| COL_Lieu | 156 | Actif | | Gauche Centre | Texte | | +| COL_GUID | 100 | Grisé | | Gauche Centre | Texte | | +Fenêtre : FI_Ele_RDV_Attente +Fenêtre interne : FI_Ele_RDV_Attente +| UI par l'utilisateur | Selon fenêtre | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Ancrage au contenu | <Aucun> | | | | | | +| Numéro aide | 0 | | | | | | +| Thème destination | Oui | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | | +| ------------------------- | ------- | --- | --- | --- | --- | --- | +| Ctx. HFSQL indép. | Non | | | | | | +| Ancrage | <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Batik | | | 5796 | +| ---------- | --- | --- | ----- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › Informations sur les champs +Fenêtre interne : FI_Ele_RDV_Attente +Champ Modèle de champs : FI_Ele_RDV_Attente.CMOD_SansNom1 +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Ele_RDV_Attente.CMOD_SansNom2 +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5797 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › Informations sur les champs +Champ Modèle de champs : FI_Ele_RDV_Attente.CMOD_SansNom3 +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Ele_RDV_Attente.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5798 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › Informations sur les champs +Champ Modèle de champs : FI_Ele_RDV_Attente.CMOD_SansNom1 +Image : FI_Ele_RDV_Attente.CMOD_SansNom1.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\crayon_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 5799 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › Informations sur les champs +Champ Modèle de champs : FI_Ele_RDV_Attente.CMOD_SansNom2 +Libellé : FI_Ele_RDV_Attente.CMOD_SansNom2.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5800 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › Informations sur les champs +Champ Modèle de champs : FI_Ele_RDV_Attente.CMOD_SansNom3 +Forme : FI_Ele_RDV_Attente.CMOD_SansNom3.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Ele_RDV_Attente.CMOD_Table +Table : FI_Ele_RDV_Attente.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MNU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +06/08/2026 Batik 5801 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › Informations sur les champs +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 +Ruptures Enroulables Oui +Titre multiligne Oui +Menu ctx. colonne Oui +Texte Markdown Non +Mode menu ctx. A la fin +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 +06/08/2026 Batik 5802 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › Informations sur les champs +Table : FI_Ele_RDV_Attente.CMOD_Table.TABLE_Info +Colonne de table : FI_Ele_RDV_Attente.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 : FI_Ele_RDV_Attente.CMOD_Table.TABLE_Info.COL_CreeLe (2) +Titre FR: Crée le +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 +06/08/2026 Batik 5803 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › Informations sur les champs +Format HTML 0 +Taille de saisie 0 +Mot de passe Non +Masque saisie FR: JJ/MM/AA +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 50 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_RDV_Attente.CMOD_Table.TABLE_Info.COL_CreePar (3) +Titre FR: Crée par +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +06/08/2026 Batik 5804 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › Informations sur les champs +Colonne de table : FI_Ele_RDV_Attente.CMOD_Table.TABLE_Info.COL_Objet (4) +Titre FR: Objet +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_RDV_Attente.CMOD_Table.TABLE_Info.COL_Date (5) +Titre FR: Date +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/AA +06/08/2026 Batik 5805 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › 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 50 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_RDV_Attente.CMOD_Table.TABLE_Info.COL_Colb (6) +Titre FR: Collaborateurs +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +06/08/2026 Batik 5806 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › Informations sur les champs +Colonne de table : FI_Ele_RDV_Attente.CMOD_Table.TABLE_Info.COL_Inter (7) +Titre FR: N° Inter +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 80 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_RDV_Attente.CMOD_Table.TABLE_Info.COL_NDevis (8) +Titre FR: N° Devis +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 +06/08/2026 Batik 5807 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › 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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 80 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_RDV_Attente.CMOD_Table.TABLE_Info.COL_Client (9) +Titre FR: Client +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 140 Taux anc. hauteur 1000 +06/08/2026 Batik 5808 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › Informations sur les champs +Colonne de table : FI_Ele_RDV_Attente.CMOD_Table.TABLE_Info.COL_Lieu (10) +Titre FR: Lieu +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_RDV_Attente.CMOD_Table.TABLE_Info.COL_GUID (11) +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 +06/08/2026 Batik 5809 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › 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 +FI_Ele_RDV_Attente +Informations sur les menus +Menu contextuel : 'MNU_Options' +Nom des options +OPT_Ouvrir (2) +OPT_Supprimer (3) +Libellé des options : Français +Ouvrir la fiche rendez-vous +Supprimer le rendez-vous sélectionné +FI_Ele_RDV_Attente +Code des champs +Déclarations globales de FI_Ele_RDV_Attente +procédure FI_Ele_RDV_Attente() +//gtbaProceduresMaJWidget[cFI_RDV_Attente] = Filtrer +tbaRendezVousAttente est un tableau associatif de ST_InfoRDV +gdhDerniereRefresh est une DateHeure +gsOngletParent est une chaîne ANSI +Fin d'initialisation de FI_Ele_RDV_Attente +06/08/2026 Batik 5810 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › Code des champs +si HSurveille(RDV_Planning,MAJHSurveilleRDV_Planning,hNumEnrTous,hsAjout+hsModification+hsSuppression)= +Faux alors +Erreur("Impossible d'activer la surveillance : ", HErreurInfo()) +fin +si HSurveille(RDV_Collaborateur,MAJHSurveilleRDV_Colb,hNumEnrTous,hsAjout+hsModification+hsSuppression) += Faux alors +Erreur("Impossible d'activer la surveillance : ", HErreurInfo()) +fin +Fin d'initialisation de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MNU_Options) +A chaque modification de IMG_Icone ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_SansNom1 ) +06/08/2026 Batik 5811 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SansNom2 +salib = "Rendez-vous en attente" +Fin d'initialisation de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_SansNom2 ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_SansNom2 ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_SansNom3 +06/08/2026 Batik 5812 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom3 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5813 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › Code des champs +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvrirRDV() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5814 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › Code des champs +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection du menu de MNU_Options.OPT_Ouvrir +OuvrirRDV() +Sélection du menu de MNU_Options.OPT_Supprimer +Supprimer() +FI_Ele_RDV_Attente +Procédures +Procédure locale Filtrer +procédure Filtrer(local sNomOnglet est une chaîne ANSI = "") +si sNomOnglet <> "" alors gsOngletParent = sNomOnglet +tbIdSoc est un tableau d'entiers sur 8 octets = CollaborateurEnCours.tbSocietes +odST_RDV est un ST_InfoRDV dynamique +TableauSupprimeTout(tbaRendezVousAttente) +reqRdv est une Requête SQL = +[ +SELECT Intervention.* , Client.* , Lieu.* , Adresse.* , RDV_Collaborateur.*, RDV_Planning.*, +RDV_Planning.GUID AS rv_guid, RDV_Planning.CreationDate AS rv_creeLe, RDV_Planning.CreationUser AS +rv_creePar +FROM RDV_Planning +LEFT OUTER JOIN Intervention ON Intervention.IN_PKID = RDV_Planning.RV_IdInter +LEFT OUTER JOIN Client ON Client.CL_PKID = Intervention.IN_IDClient +LEFT OUTER JOIN Lieu ON Lieu.LI_PKID = COALESCE(Intervention.IN_IDLieu ,RDV_Planning.RV_IdLieu) +LEFT OUTER JOIN Adresse ON Adresse.AD_PKID = Lieu.LI_IDAdresse +LEFT JOIN RDV_Collaborateur ON (RVC_GUID_RDV = RDV_Planning.GUID AND RDV_Collaborateur.Archive = 0) +WHERE +(RDV_Planning.RV_IdSociete IN ({p_IdSoc}) OR RDV_Planning.RV_IdSociete = 0) +AND RDV_Planning.Archive = 0 +AND ( +RVC_PKID IS NULL +OR RVC_DateDeb = RVC_DateFin +OR RVC_GUID_Colb = '' +06/08/2026 Batik 5815 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › Procédures +OR RVC_PKID <= 0 +) +] +reqRdv.p_IdSoc = TableauVersChaîne(tbIdSoc,";") +si pas HExécuteRequêteSQL(reqRdv) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue lors de la recherche des rendez-vous en attente", +"FI_Ele_RDV_Attente.filtrer") +sinon +gdhDerniereRefresh = DateHeureSys() +pour tout reqRdv +si tbaRendezVousAttente[reqRdv.rv_guid]..Existe = Faux alors +odST_RDV = allouer un ST_InfoRDV +FichierVersMémoire(odST_RDV.oRdv,reqRdv) +odST_RDV.oRdv.saGUID = reqRdv.rv_guid +tbaRendezVousAttente[odST_RDV.oRdv.saGUID] = odST_RDV +fin +si tbaRendezVousAttente[reqRdv.rv_guid]..Existe = Vrai alors +tbaRendezVousAttente[reqRdv.rv_guid].oRdv.dhCreation = reqRdv.rv_creeLe +tbaRendezVousAttente[reqRdv.rv_guid].oRdv.nCreationUser = reqRdv.rv_creePar +si reqRdv.IN_PKID > 0 alors +FichierVersMémoire(tbaRendezVousAttente[reqRdv.rv_guid].oInter,reqRdv) +fin +si reqRdv.CL_PKID > 0 alors +FichierVersMémoire(tbaRendezVousAttente[reqRdv.rv_guid].oClient,reqRdv) +fin +si reqRdv.LI_PKID > 0 alors +FichierVersMémoire(tbaRendezVousAttente[reqRdv.rv_guid].oLieu,reqRdv) +FichierVersMémoire(tbaRendezVousAttente[reqRdv.rv_guid].oLieu.oAdresse,reqRdv) +fin +sinon +fin +fin +fin +TableSupprimeTout(TABLE_Info) +i est un entier +pour tout stRDV de tbaRendezVousAttente +i = TableAjouteLigne(TABLE_Info) +si stRDV.oRdv.nCreationUser > 0 _et_ gtbaListeUtilisateurs[stRDV.oRdv.nCreationUser]..Existe = Vrai +alors +COL_CreePar[i] = gtbaListeUtilisateurs[stRDV.oRdv.nCreationUser].NomPrenomColb() +fin +COL_GUID[i] = stRDV.oRdv.saGUID +COL_CreeLe[i] = stRDV.oRdv.dhCreation +COL_Date[i] = stRDV.oRdv.dDateRdv +COL_Objet[i] = stRDV.oRdv.saObjet +COL_PKID[i] = stRDV.oRdv.nPKID +COL_Inter[i] = stRDV.oInter.saRefInterne +COL_NDevis[i] = stRDV.oInter.saNumDevis +COL_Client[i] = stRDV.oClient.saNom +COL_Lieu[i] = stRDV.oLieu.oAdresse.saPresentation +pour tout oColb de stRDV.tbColbs +si oColb.saGUID_Colb <> "" _et_ gtabListeCollaborateurs[oColb.saGUID_Colb]..Existe = Vrai alors +COL_Colb[i] += gtabListeCollaborateurs[oColb.saGUID_Colb].NomPrenom()+RC +fin +06/08/2026 Batik 5816 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › Procédures +fin +fin +Procédure locale MAJHSurveilleRDV_Colb +procédure MAJHSurveilleRDV_Colb(sdFichierDeDonnées est une Source de Données, nNuméroEnregistrement est +un entier, nAction est un entier <utile>) +si HLit(sdFichierDeDonnées, nNuméroEnregistrement) = Faux alors +Erreur("Impossible de lire l'enregistrement notifié comme ajouté :", HErreurInfo()) +retour +fin +RDVC est un Enregistrement de RDV_Collaborateur = sdFichierDeDonnées +si DateHeureValide(gdhDerniereRefresh) alors +duDureTest est une Durée = DateHeureSys() - gdhDerniereRefresh +si duDureTest..Seconde <= 15 alors +retour // afin d’éviter de lancer des mises à jour innécessaire +fin +fin +si (RDVC.RVC_GUID_RDV <> "" _et_ tbaRendezVousAttente[RDVC.RVC_GUID_RDV]..Existe = Vrai) ou ( +DateHeureValide(RDVC.RVC_DateDeb) = Faux ou RDVC.RVC_GUID_Colb = "") alors +Filtrer() +fin +Procédure locale MAJHSurveilleRDV_Planning +procédure MAJHSurveilleRDV_Planning(sdFichierDeDonnées est une Source de Données, nNuméroEnregistrement +est un entier, nAction est un entier <utile>) +si HLit(sdFichierDeDonnées, nNuméroEnregistrement) = Faux alors +Erreur("Impossible de lire l'enregistrement notifié comme ajouté :", HErreurInfo()) +retour +fin +RDVP est un Enregistrement de RDV_Planning = sdFichierDeDonnées +si DateHeureValide(gdhDerniereRefresh) alors +duDureTest est une Durée = DateHeureSys() - gdhDerniereRefresh +si duDureTest..Seconde <= 15 alors +retour // afin d’éviter de lancer des mises à jour innécessaire +fin +fin +si (RDVP.GUID <> "" _et_ tbaRendezVousAttente[RDVP.GUID]..Existe = Vrai) ou (DateValide(RDVP.RV_Date) = +Faux) alors +Filtrer() +fin +Procédure locale OuvrirRDV +procédure OuvrirRDV() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 alors +si Ouvre(FEN_Fiche_RDV,COL_PKID[i]) alors +Filtrer() +06/08/2026 Batik 5817 + +Partie 3 › Fenêtre WINDEV › FI_Ele_RDV_Attente › Procédures +fin +fin +Procédure locale Supprimer +procédure Supprimer() +i est un entier = TABLE_Info +si i > 0 _et_ COL_PKID[i] > 0 alors +si OuiNon("Êtes-vous sûr de vouloir supprimer le rendez-vous sélectionné ?") = Oui alors +si tbaRendezVousAttente[COL_GUID[i]]..Existe = Vrai alors +si tbaRendezVousAttente[COL_GUID[i]].oRdv.nPKID > 0 alors +tbaRendezVousAttente[COL_GUID[i]].oRdv.bArchive = Vrai +si tbaRendezVousAttente[COL_GUID[i]].oRdv.Enregistrer() alors +pour tout oColb de tbaRendezVousAttente[COL_GUID[i]].tbColbs +si oColb.nPKID > 0 alors +oColb.bArchive = Vrai +oColb.Enregistrer() +fin +fin +fin +fin +TableauSupprime(tbaRendezVousAttente,COL_GUID[i]) +fin +TableSupprime(TABLE_Info,i) +fin +fin +06/08/2026 Batik 5818 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Image +FI_Ele_Inter_Filtres +Image +FI_Ele_Inter_Filtres +Informations générales +FI_Ele_Inter_Filtres +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_Ele_Inter_Filtres.wdw +Créé par susana@applilogik.fr +Date de création 31/03/2026 17:54:40 +Dernière modification par susana@applilogik.fr +Date dernière modification 02/04/2026 12:14:20 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +Position X 0 Position Y 0 Largeur 922 Hauteur 480 +06/08/2026 Batik 5819 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Informations générales +| Visible | Barre de titre | | Menu système | | +| --------------------- | -------------------- | --- | --------------- | --- | +| Icône réduction | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | Détourer le fond | | Mode 9 images | | +| Redimensionnable | Avec grip | | Grip dans image | | +| Déplace/fond | Sauve position | | Ascenseur auto. | | +| Gestion grande police | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | Actif | | | | +| ------------------------------- | ----------------------------------- | --- | --- | --- | +| Curseur survol | 0 | | | | +| Copie d'écran | Oui | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | <Aucun> | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Oui | | | | +| Type cadre | <Aucun> | | | | +| 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 | Windows 11 | | | | +| 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 | | | | +| ---------------------- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | 5820 | + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Informations générales +Statistiques de la fenêtre +| | Libellé | | 1 | Image | | | 2 | +| --- | ---------------------- | --- | --- | --------------- | --- | --- | --- | +| | Table | | 1 | Fenêtre interne | | | 1 | +| | Champ Modèle de champs | | 4 | Option de menu | | | 3 | +| | Colonne de table | | 13 | | | | | +Nombre d'éléments dans la fenêtre : 25 +FI_Ele_Inter_Filtres +Informations sur les champs +Fenêtre : FI_Ele_Inter_Filtres +Fenêtre interne +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| FI_Ele_Inter_Filtres | | 0 | 0 922 | 480 | 0 | | | +| -------------------- | --- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_Ele_Inter_Filtres +Champ Modèle de champs +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --- | --- | --- | --- | ------------ | ---------- | +X noitisoP Y noitisoP +| | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| CMOD_Filtrer | | 882 | 7 30 | 30 | 0 | Actif | | +| ------------- | --- | --- | ------ | --- | --- | ----- | ---- | +| CMOD_LibTitre | | 42 | 7 827 | 26 | 0 | Actif | | +| CMOD_Options | | 5 | 8 29 | 24 | 0 | Actif | | +| CMOD_Table | | 5 | 45 911 | 431 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 5821 | + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Informations sur les champs +Champ Modèle de champs : FI_Ele_Inter_Filtres.CMOD_Filtrer +Image +| | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | ------- | ------------ | --------------------------------------- | ---------- | +| | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +| | | | ruetuaH | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | 882 | 7 30 | 30 0 | Actif | | | +| --------- | --- | ---- | ---- | ----- | --- | --- | +Champ Modèle de champs : FI_Ele_Inter_Filtres.CMOD_LibTitre +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | laitini tatE | | | | +| --- | --------------------- | --- | ------------ | --- | --- | --- | +ruetuaH +| | | ruegraL | elbisiV | | | | +| --- | --- | ------- | ------- | --- | --- | --- | +nalP +| LIB_lib | 42 7 | 827 26 | 0 Actif | Gauche | Centre | | +| ------- | ---- | ------ | ------- | ------ | ------ | --- | +Champ Modèle de champs : FI_Ele_Inter_Filtres.CMOD_Options +Image +| | | | | | cilc ruop eriatiroirP tuaféd rap eéminA | | +| --- | ---------- | ---------- | ------- | ------------ | --------------------------------------- | ---------- | +| | X noitisoP | Y noitisoP | | laitini tatE | | sucof cevA | +| | | | ruetuaH | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | 5 | 8 29 | 24 0 | Actif | | | +| --------- | --- | ---- | ---- | ----- | --- | --- | +Champ Modèle de champs : FI_Ele_Inter_Filtres.CMOD_Table +| 06/08/2026 | | Batik | | | | 5822 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Informations sur les champs +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 | | | | | +| --- | --------------------- | ------- | ------------ | --- | -------- | --- | --- | +| | | ruetuaH | | | sruocraP | | | +ruegraL +elbisiV +| | | nalP | | elbaT | | | | +| ---------- | ---- | --------- | -------- | ------ | --- | --- | --- | +| TABLE_Info | 7 47 | 905 425 0 | affichag | Mémoir | | | 3 | +Table : FI_Ele_Inter_Filtres.CMOD_Table.TABLE_Info +Colonne de table +reihcif eétsissa eisiaS +elbatsuja ruegraL +elbairt ennoloC ehcrehcer cevA +| | | | ehcuag à eéxiF | | .zroh egardaC .trev egardaC | | | +| --- | --- | --- | -------------- | --- | --------------------------- | ---------------------- | ----------- | +| | | | elbaçalpéD | | | eisias epyT FTR tamroF | eisias cevA | +laitini tatE engilitluM +ruegraL +elbisiV +eéirT +epyT +| COL_PKID | | 880 Grisé | | | Droite Centre | Numériq | | +| --------------- | --- | --------- | --- | --- | ------------- | ------- | --- | +| COL_RefInt | | 100 Actif | | | Gauche Centre | Texte | | +| COL_TypeInter | | 102 Actif | | | Gauche Centre | Texte | | +| COL_EtatInter | | 100 Actif | | | Gauche Centre | Texte | | +| COL_Societe | | 75 Actif | | | Gauche Centre | Texte | | +| COL_CodeLieu | | 61 Actif | | | Gauche Centre | Texte | | +| COL_Client | | 83 Actif | | | Gauche Centre | Texte | | +| COL_Titre | | 76 Actif | | | Gauche Centre | Texte | | +| COL_RefExt | | 75 Actif | | | Gauche Centre | Texte | | +| COL_DevisN | | 62 Actif | | | Gauche Centre | Texte | | +| COL_TypeDossier | | 76 Actif | | | Gauche Centre | Texte | | +| COL_EtatDossier | | 79 Actif | | | Gauche Centre | Texte | | +| COL_IdInter | | 100 Grisé | | | Droite Centre | Numériq | | +Fenêtre : FI_Ele_Inter_Filtres +| 06/08/2026 | | | Batik | | | | 5823 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Informations sur les champs +Fenêtre interne : FI_Ele_Inter_Filtres +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Thème destination Oui +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ctx. HFSQL indép. Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Fenêtre interne : FI_Ele_Inter_Filtres +Champ Modèle de champs : FI_Ele_Inter_Filtres.CMOD_Filtrer +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5824 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Informations sur les champs +Champ Modèle de champs : FI_Ele_Inter_Filtres.CMOD_LibTitre +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Ele_Inter_Filtres.CMOD_Options +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5825 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Informations sur les champs +Champ Modèle de champs : FI_Ele_Inter_Filtres.CMOD_Table +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Ele_Inter_Filtres.CMOD_Filtrer +Image : FI_Ele_Inter_Filtres.CMOD_Filtrer.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Double_flèches.svg +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> +06/08/2026 Batik 5826 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Informations sur les champs +Mire visible Oui +Zoom par double taps Oui +Force monochrome Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +Champ Modèle de champs : FI_Ele_Inter_Filtres.CMOD_LibTitre +Libellé : FI_Ele_Inter_Filtres.CMOD_LibTitre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 +06/08/2026 Batik 5827 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Ele_Inter_Filtres.CMOD_Options +Image : FI_Ele_Inter_Filtres.CMOD_Options.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Dossier_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +06/08/2026 Batik 5828 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Informations sur les champs +Champ Modèle de champs : FI_Ele_Inter_Filtres.CMOD_Table +Table : FI_Ele_Inter_Filtres.CMOD_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Table +Ordre navigation 1 +Curseur survol 0 +Mode Loupe Filtre <contient> +UI par l'utilisateur Selon fenêtre +Menu contextuel MENU_Options +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Hauteur ligne max. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +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 +06/08/2026 Batik 5829 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Informations sur les champs +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. A la fin +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 : FI_Ele_Inter_Filtres.CMOD_Table.TABLE_Info +Colonne de table : FI_Ele_Inter_Filtres.CMOD_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 +06/08/2026 Batik 5830 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Informations sur les champs +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Non +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 0 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_Inter_Filtres.CMOD_Table.TABLE_Info.COL_RefInt (2) +Titre FR: N° 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: 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 70 Taux anc. hauteur 1000 +06/08/2026 Batik 5831 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Informations sur les champs +Colonne de table : FI_Ele_Inter_Filtres.CMOD_Table.TABLE_Info.COL_TypeInter (3) +Titre FR: Type 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: 0 +Mode ellipse <Aucun> +Verifier l'orthographe Non +Unicode Non +Saisie obligatoire Non +Export/Impression Si visible (défaut) +Vide si zéro Non +Retour à la ligne Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 70 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_Inter_Filtres.CMOD_Table.TABLE_Info.COL_EtatInter (4) +Titre FR: État 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: 0 +06/08/2026 Batik 5832 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › 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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 70 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_Inter_Filtres.CMOD_Table.TABLE_Info.COL_Societe (5) +Titre FR: Société +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +06/08/2026 Batik 5833 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Informations sur les champs +Colonne de table : FI_Ele_Inter_Filtres.CMOD_Table.TABLE_Info.COL_CodeLieu (6) +Titre FR: Code lieu +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Bouton Calculatrice Non +Touche TAB Accessible par TAB +Marge en haut 0 +Marge en bas 0 +Marge à gauche 0 +Marge à droite 0 +Retrait gauche 0 +Numéro aide 0 +Bandeau visible Oui +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 150 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_Inter_Filtres.CMOD_Table.TABLE_Info.COL_Client (7) +Titre FR: Client +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 +06/08/2026 Batik 5834 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › 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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 130 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_Inter_Filtres.CMOD_Table.TABLE_Info.COL_Titre (8) +Titre FR: Titre +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 100 Taux anc. hauteur 1000 +06/08/2026 Batik 5835 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Informations sur les champs +Colonne de table : FI_Ele_Inter_Filtres.CMOD_Table.TABLE_Info.COL_RefExt (9) +Titre FR: Réf. externe +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 70 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_Inter_Filtres.CMOD_Table.TABLE_Info.COL_DevisN (10) +Titre FR: Devis n° +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 +06/08/2026 Batik 5836 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › 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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 80 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_Inter_Filtres.CMOD_Table.TABLE_Info.COL_TypeDossier (11) +Titre FR: Type dossier +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 80 Taux anc. hauteur 1000 +06/08/2026 Batik 5837 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Informations sur les champs +Colonne de table : FI_Ele_Inter_Filtres.CMOD_Table.TABLE_Info.COL_EtatDossier (12) +Titre FR: État dossier +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 Oui +Coche tous dans entête Non +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 80 Taux anc. hauteur 1000 +Colonne de table : FI_Ele_Inter_Filtres.CMOD_Table.TABLE_Info.COL_IdInter (13) +Titre FR: IdInter +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 +06/08/2026 Batik 5838 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › 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 +FI_Ele_Inter_Filtres +Informations sur les menus +Menu contextuel : 'MENU_Options' +Nom des options +OPT_OuvrirDossier (2) +OPT_Modifier_Filtres (3) +Libellé des options : Français +Ouvrir l'intervention sélectionnée +Modifier les filtres du widget +FI_Ele_Inter_Filtres +Code des champs +Déclarations globales de FI_Ele_Inter_Filtres +procédure FI_Ele_Inter_Filtres() +gsOngletParent est une chaîne ANSI +//gsGUIDFen est une chaîne ANSI = DonneGUID(guidBrut256) +//gtbaProceduresMaJWidget[gsGUIDFen] = Filtrer +Fin d'initialisation de CMOD_Filtrer +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5839 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Code des champs +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Filtrer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Filtrer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Filtrer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Filtrer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Filtrer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Filtrer +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Filtrer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Filtrer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Filtrer() +A chaque modification de IMG_Icone ( CMOD_Filtrer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Filtrer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Filtrer ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Filtrer ) +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5840 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Code des champs +ExécuteAncêtre +Déclarations globales de CMOD_LibTitre +salib = "" +Fin d'initialisation de CMOD_LibTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibTitre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_LibTitre ) (modèle MDLC_LibTitreWidget) +MoiMême = saLib +Clic sur LIB_lib ( CMOD_LibTitre ) (modèle MDLC_LibTitreWidget) +gsaNomChampEnCours = MoiMême..NomComplet +Fin d'initialisation de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Options +06/08/2026 Batik 5841 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Options +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +OuvreMenuContextuel(MENU_Options) +A chaque modification de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Balayage horizontal et vertical de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Scroll au(x) doigt(s) de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Zoom aux doigts de IMG_Icone ( CMOD_Options ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Table +06/08/2026 Batik 5842 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Table +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée en saisie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affichage d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de TABLE_Info +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5843 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Code des champs +ExécuteAncêtre +Clic de validation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic d'annulation de la saisie de TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche double-clic (WM_LBUTTONDBLCLK) sur TABLE_Info +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +SelLigneTable() +Initialisation de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de COL_PKID ( TABLE_Info ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection du menu de MENU_Options.OPT_Modifier_Filtres +ModifierFiltres() +Sélection du menu de MENU_Options.OPT_OuvrirDossier +SelLigneTable() +FI_Ele_Inter_Filtres +Procédures +Procédure locale DonneWhere +procédure DonneWhere(tbFiltres est un tableau de ST_FiltresWidget) +06/08/2026 Batik 5844 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Procédures +sCR est une chaîne ANSI +pour tout stUnFiltre de tbFiltres +si stUnFiltre.sRubrique <> "" _et_ stUnFiltre.sChoix <> "" alors +sCR+=CritereHF(Vrai,stUnFiltre.sChoix,stUnFiltre.sRubrique,stUnFiltre.sTypeHFSQL) +fin +fin +renvoyer sCR +Procédure locale Filtrer +procédure Filtrer(local sNomOnglet est une chaîne ANSI = "") +TableSupprimeTout(TABLE_Info) +//FEN_Tableau_Bord_Menu.CMOD_Onglet.ONG_Onglet.ALIAS_4.CMOD_Bord.TDB_Config.FI_Ele_Inter_Filtres.CMOD_O +ptions.IMG_Icone +si sNomOnglet <> "" alors gsOngletParent = sNomOnglet +tbWidgets est un tableau de ST_WidgetParam = CollaborateurEnCours:clUtilisateur:TDB_Menu_Filtres() +nPos est un entier = TableauCherche(tbWidgets,tcLinéaire,"sFenetre;sOnglet","FI_Ele_Inter_Filtres",gs +OngletParent) +si nPos <= 0 alors +renvoyer Faux +fin +tbFiltres est un tableau de ST_FiltresWidget = tbWidgets[nPos].tbFiltres +CMOD_LibTitre.LIB_lib = PremièreLettreEnMajuscule(tbWidgets[nPos].sTitreWidget) +si tbFiltres..Occurrence <= 0 alors +renvoyer Faux +fin +ReqSQL est une chaîne ANSI =[ +SELECT +IN_PKID +,IN_RefInterne +,IN_RefExterne +,IN_CleEtat +,IN_CleType +,IN_Description +,IN_IDSuiviPar +,IN_IDSociete +,IN_IDLieu +,IN_NumDevis +,Intervention.ModifDate AS IN_DateModif +,DO_PKID +,DO_CleType +,DO_CleStatut +,DO_Titre +,DO_RefInterne AS RefInterneDoss +,DO_RefExterne AS RefExterneDoss +,CL_Nom +,LI_CodeLieu +] +ReqSQL+=[ +FROM +Dossier +LEFT OUTER JOIN +Intervention +ON Dossier.DO_PKID = Intervention.IN_IDDossier +LEFT OUTER JOIN +06/08/2026 Batik 5845 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Procédures +Client +ON Client.CL_PKID = Dossier.DO_IDClient +LEFT OUTER JOIN +Lieu +ON Lieu.LI_PKID = Intervention.IN_IDLieu +LEFT OUTER JOIN +Adresse +ON Adresse.AD_PKID = Lieu.LI_IDAdresse +] +sCR est une chaîne ANSI = DonneWhere(tbFiltres) +si Contient(sCR,RDV_Planning.RV_CleType..Nom) ou Contient(sCR,RDV_Collaborateur.RVC_CleStatut..Nom) ou +Contient(sCR,RDV_Collaborateur.RVC_DateDeb..Nom) alors +ReqSQL += [ +LEFT OUTER JOIN RDV_Planning ON RDV_Planning.RV_IdInter = Intervention.IN_PKID +LEFT OUTER JOIN RDV_Collaborateur ON RDV_Collaborateur.RVC_GUID_RDV = RDV_Planning.GUID +] +fin +RemplaceDateSiPresent_SQL(sCR) +si pas Contient(sCR,Intervention.IN_IDSociete..Nom) alors +tbIdSoc est un tableau d'entiers sur 8 octets = CollaborateurEnCours.tbSocietes +si tbIdSoc..Occurrence <= 0 alors +sCR +=" AND Intervention.IN_IDSociete = 0" +sinon +sCR +=" AND Intervention.IN_IDSociete IN ("+TableauVersChaîne(tbIdSoc,",")+",0) " +fin +fin +ReqSQL+=[ +WHERE 1=1 +] +ReqSQL += sCR +sdListeDoss est une Source de Données +tbIdsInter est un tableau d'entiers sur 8 octets +si HExécuteRequêteSQL(sdListeDoss,ConnexionBase:Cnx,hRequêteDéfaut+hRequêteSansCorrection,ReqSQL) alors +i est un entier +pour tout sdListeDoss +si TableauCherche(tbIdsInter,tcLinéairePremier,sdListeDoss.IN_PKID) <= 0 alors +i = TableAjouteLigne(TABLE_Info) +COL_PKID[i] = sdListeDoss.DO_PKID +COL_RefInt[i] = sdListeDoss.IN_RefInterne +COL_TypeInter[i] = (sdListeDoss.IN_CleType <> "" _et_ gtabParametresMetierCode[ +cParam_TypeInter][sdListeDoss.IN_CleType]..Existe ) ? gtabParametresMetierCode[ +cParam_TypeInter][sdListeDoss.IN_CleType].saLibelle sinon "" +COL_EtatDossier[i] = (sdListeDoss.IN_CleEtat <> "" _et_ gtabParametresMetierCode[ +cParam_EtatInter][sdListeDoss.IN_CleEtat]..Existe ) ? gtabParametresMetierCode[ +cParam_EtatInter][sdListeDoss.IN_CleEtat].saLibelle sinon "" +COL_Societe[i] = (sdListeDoss.IN_IDSociete > 0 _et_ gtabListeSocietes[ +sdListeDoss.IN_IDSociete]..Existe) ? gtabListeSocietes[sdListeDoss.IN_IDSociete].saNom +sinon "" +COL_CodeLieu[i] = sdListeDoss.LI_CodeLieu +COL_Client[i] = sdListeDoss.CL_Nom +COL_Titre[i] = sdListeDoss.DO_Titre +COL_RefExt[i] = sdListeDoss.IN_RefExterne +COL_TypeDossier[i] = (sdListeDoss.DO_CleType <> "" _et_ gtabParametresMetierCode[ +cParam_TypeDossier][sdListeDoss.DO_CleType]..Existe ) ? gtabParametresMetierCode[ +cParam_TypeDossier][sdListeDoss.DO_CleType].saLibelle sinon "" +06/08/2026 Batik 5846 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Procédures +COL_EtatDossier[i] = (sdListeDoss.DO_CleStatut <> "" _et_ gtabParametresMetierCode[ +cParam_StatutDossier][sdListeDoss.DO_CleStatut]..Existe ) ? gtabParametresMetierCode[ +cParam_StatutDossier][sdListeDoss.DO_CleStatut].saLibelle sinon "" +COL_DevisN[i] = sdListeDoss.IN_NumDevis +COL_IdInter[i] = sdListeDoss.IN_PKID +TableauAjoute(tbIdsInter,sdListeDoss.IN_PKID) +fin +fin +fin +HLibèreRequête(sdListeDoss) +Procédure locale ModifierFiltres +procédure ModifierFiltres() +UnWidgetest un ST_WidgetParam +tbWidgets est un tableau de ST_WidgetParam = CollaborateurEnCours:clUtilisateur:TDB_Menu_Filtres() +nPos est un entier = TableauCherche(tbWidgets,tcLinéaire,"sFenetre;sOnglet", +"FI_Ele_Inter_Filtres",gsOngletParent) +si nPos <= 0 alors +renvoyer Faux +sinon +UnWidget= Ouvre(FEN_Filtre_Dossier_Widget,tbWidgets[nPos]) +tbWidgets[nPos].sOnglet = gsOngletParent +tbWidgets[nPos].sFenetre = "FI_Ele_Inter_Filtres" +tbWidgets[nPos].tbFiltres = UnWidget.tbFiltres +tbWidgets[nPos].sTitreWidget = UnWidget.sTitreWidget +bufJson est un Buffer = "" +si tbWidgets..Occurrence > 0 alors +Sérialise(tbWidgets,bufJson,psdJSON) +fin +si CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Menu_Widgets].. +Existe alors +CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cTdB_Menu_Widgets]. +saValeur = bufJson +si tbWidgets..Occurrence > 0 alors +si pas CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur:: +cTdB_Menu_Widgets].DateEnregistre() alors +renvoyer Faux +fin +sinon +si pas CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur:: +cTdB_Menu_Widgets].DateSupprime() alors +renvoyer Faux +fin +fin +Filtrer() +fin +fin +Procédure locale SelLigneTable +procédure SelLigneTable() +si TABLE_Info > 0 _et_ COL_PKID[TABLE_Info] > 0 alors +tbaParam est un tableau associatif de chaînes ANSI +06/08/2026 Batik 5847 + +Partie 3 › Fenêtre WINDEV › FI_Ele_Inter_Filtres › Procédures +tbaParam[Dossier.DO_PKID..Nom] = COL_PKID[TABLE_Info] +| tbaParam[Intervention.IN_PKID..Nom] = COL_IdInter[TABLE_Info] | | | +| ------------------------------------------------------------- | --- | --- | +| tbaParam[cParam_IdFen] = COL_PKID[TABLE_Info] | | | +OuvreFenSouers("FEN_Fiche_Dossier",tbaParam) +fin +| 06/08/2026 | Batik | 5848 | +| ---------- | ----- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Image +FI_Configuration_BaseExt +Image +FI_Configuration_BaseExt +Informations générales +FI_Configuration_BaseExt +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FI_Configuration_BaseExt.wdw +Créé par susana@applilogik.fr +Date de création 02/04/2026 14:49:07 +Dernière modification par susana@applilogik.fr +Date dernière modification 02/04/2026 17:39:16 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +Position X 0 Position Y 0 Largeur 467 Hauteur 480 +06/08/2026 Batik 5849 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Informations générales +| Visible | Barre de titre | | Menu système | | +| --------------------- | -------------------- | --- | --------------- | --- | +| Icône réduction | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | Détourer le fond | | Mode 9 images | | +| Redimensionnable | Avec grip | | Grip dans image | | +| Déplace/fond | Sauve position | | Ascenseur auto. | | +| Gestion grande police | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | Actif | | | | +| ------------------------------- | ----------------------------------- | --- | --- | --- | +| Curseur survol | 0 | | | | +| Copie d'écran | Oui | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | <Aucun> | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Oui | | | | +| Type cadre | <Aucun> | | | | +| 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 | Windows 11 | | | | +| 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 | | | | +| ---------------------- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | 5850 | + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Informations générales +Statistiques de la fenêtre +| | Champ de saisie | | 4 | Libellé | | | 4 | +| --- | --------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Bouton | | 2 | Combo | | | 1 | +| | Fenêtre interne | | 1 | Champ Modèle de champs | | | 11 | +Nombre d'éléments dans la fenêtre : 23 +FI_Configuration_BaseExt +Informations sur les champs +Fenêtre : FI_Configuration_BaseExt +Fenêtre interne +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| FI_Configuration_BaseExt | | 0 | 0 467 | 480 | 0 | | | +| ------------------------ | --- | --- | ----- | --- | --- | --- | --- | +Fenêtre interne : FI_Configuration_BaseExt +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_LibAuth | | 4 | 169 456 | 26 | 0 | Actif | | +| ---------------- | --- | --- | ------- | --- | --- | ----- | ---- | +| CMOD_LibParam | | 4 | 82 456 | 26 | 0 | Actif | | +| CMOD_MotPasse | | 4 | 248 456 | 53 | 0 | Actif | | +| CMOD_NomCnx | | 4 | 335 456 | 53 | 0 | Actif | | +| CMOD_SansNom1 | | 4 | 309 456 | 26 | 0 | Actif | | +| CMOD_SansNom2 | | 319 | 5 141 | 35 | 0 | Actif | | +| CMOD_Serveur | | 4 | 108 456 | 53 | 0 | Actif | | +| CMOD_Societe | | 4 | 388 456 | 53 | 0 | Actif | | +| CMOD_Tester | | 127 | 5 184 | 35 | 0 | Actif | | +| CMOD_Titre | | 4 | 48 456 | 26 | 0 | Actif | | +| CMOD_Utilisateur | | 4 | 195 456 | 53 | 0 | Actif | | +| 06/08/2026 | | | Batik | | | | 5851 | + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Informations sur les champs +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_LibAuth +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP | Y noitisoP | | | laitini tatE | | | +| --- | ---------- | ---------- | ------- | --- | ------------ | --- | --- | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| LIB_lib | 4 | 169 | 456 26 | 0 | Actif Gauche | Centre | | +| ------- | --- | --- | ------ | --- | ------------ | ------ | --- | +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_LibParam +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | ---------- | ---------- | ------- | --- | ------------- | ------------- | ---------- | +| | | | | | laitini tatE | | FTR tamroF | +| | X noitisoP | Y noitisoP | | | | | | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| LIB_lib | 4 | 82 | 456 26 | 0 | Actif Gauche | Centre | | +| ------- | --- | --- | ------ | --- | ------------ | ------ | --- | +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_MotPasse +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_Texte | 4 248 456 | 53 0 | Actif | Texte | Non | | | +| ---------- | --------- | ---- | ----- | ----- | --- | --- | ---- | +| 06/08/2026 | | | Batik | | | | 5852 | + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Informations sur les champs +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_NomCnx +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_Texte | 4 335 | 456 53 | 0 | Actif | Texte | Non | | | | +| --------- | ----- | ------ | --- | ----- | ----- | --- | --- | --- | --- | +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_SansNom1 +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | | 4 309 | 456 | 26 | 0 | Actif | Gauche | Centre | | +| ------- | --- | ----- | --- | --- | --- | ----- | ------ | ------ | --- | +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_SansNom2 +Bouton +| | | | | | | | | BAT ehcuoT | notuob epyT | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | ------------ | ---------- | ----------- | +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | | +| | | | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| BTN_Valider | | 319 | 5 | 141 | 35 | 0 | Actif | | Normal | +| ----------- | --- | --- | --- | --- | --- | --- | ----- | --- | ------ | +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_Serveur +| 06/08/2026 | | | | Batik | | | | | 5853 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Informations sur les champs +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_Texte | 4 108 456 | 53 | 0 | Actif | Texte | | Non | | | | | +| --------- | --------- | --- | --- | ----- | ----- | --- | --- | --- | --- | --- | --- | +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_Societe +Combo +reihcif eétsissa eisiaS +| | | | | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +ediv is LLUN +| | | | | | | BAT ehcuoT | | eisias cevA | | | | +| --- | --------------------- | ------- | ------- | --- | ------------ | ---------- | -------- | ----------- | --- | --- | --- | +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | | | | +| | | ruegraL | ruetuaH | | | | sruocraP | | | | | +elbisiV +| | | | | | | | elbaT | eéirT | | | | +| --- | --- | --- | --- | --- | --- | --- | ----- | ----- | --- | --- | --- | +nalP +| CMB_Combo | 4 388 | 456 | 53 | 0 | Actif | | Mémoire | | Non | | | +| --------- | ----- | --- | --- | --- | ----- | --- | ------- | --- | --- | --- | --- | +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_Tester +Bouton +| | | | | | | | | | BAT ehcuoT | notuob epyT | | +| --- | --- | ---------- | ---------- | ------- | ------- | --- | --- | --- | ------------ | ----------- | --- | +| | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | | +| | | | | ruegraL | ruetuaH | | | | | | | +elbisiV +nalP +| BTN_Valider | | 127 | | 5 184 | | 35 | 0 | Actif | | Normal | | +| ----------- | --- | --- | --- | ----- | --- | --- | --- | ----- | --- | ------ | --- | +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_Titre +| 06/08/2026 | | | | | Batik | | | | | | 5854 | +| ---------- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › 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_lib | | 4 48 | 456 | 26 | 0 | Actif | Gauche Centre | | +| ------- | --- | ---- | --- | --- | --- | ----- | ------------- | --- | +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_Utilisateur +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_Texte | 4 195 | 456 53 | 0 | Actif | Texte | Non | | | +| --------- | ----- | ------ | --- | ----- | ----- | --- | --- | --- | +Fenêtre : FI_Configuration_BaseExt +Fenêtre interne : FI_Configuration_BaseExt +| UI par l'utilisateur | | Selon fenêtre | | | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | | +| Taux Paral. Y | | 0 | | | | | | | +| Épinglé | | Non | | | | | | | +| Masquer lors du scrolling | | Non | | | | | | | +| Ancrage au contenu | | <Aucun> | | | | | | | +| Numéro aide | | 0 | | | | | | | +| Thème destination | | Oui | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | | 0 | | | | | | | +| -------------------------- | --- | ------- | --- | --- | --- | --- | --- | --- | +| Facteur d'agrandissement | | 0 | | | | | | | +| Ctx. HFSQL indép. | | Non | | | | | | | +| Ancrage | | <Aucun> | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | | Batik | | | | 5855 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Informations sur les champs +Fenêtre interne : FI_Configuration_BaseExt +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_LibAuth +Ordre navigation 6 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_LibParam +Ordre navigation 4 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5856 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Informations sur les champs +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_MotPasse +Ordre navigation 8 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_NomCnx +Ordre navigation 10 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5857 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Informations sur les champs +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_SansNom1 +Ordre navigation 9 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_SansNom2 +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5858 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Informations sur les champs +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_Serveur +Ordre navigation 5 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_Societe +Ordre navigation 11 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5859 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Informations sur les champs +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_Tester +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_Titre +Ordre navigation 3 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5860 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Informations sur les champs +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_Utilisateur +Ordre navigation 7 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_LibAuth +Libellé : FI_Configuration_BaseExt.CMOD_LibAuth.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +Type saisie Texte +Masque saisie FR: 0 +Mode ellipse <Aucun> +Unicode Non +Transforme le & Non +06/08/2026 Batik 5861 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › 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 +Mise à blanc Oui +Texte Markdown Non +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 +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_LibParam +Libellé : FI_Configuration_BaseExt.CMOD_LibParam.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +06/08/2026 Batik 5862 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Informations sur les champs +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_MotPasse +Champ de saisie : FI_Configuration_BaseExt.CMOD_MotPasse.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 4 +Largeur interne 456 +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 +06/08/2026 Batik 5863 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Informations sur les champs +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> +Liaison des données :gclUneConfig.stParamCnx.sConnect_MotDePasse +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_NomCnx +06/08/2026 Batik 5864 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Informations sur les champs +Champ de saisie : FI_Configuration_BaseExt.CMOD_NomCnx.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 4 +Largeur interne 456 +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 +06/08/2026 Batik 5865 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Informations sur les champs +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Avec focus Oui +Historique des saisies Non +Valeurs multiples (jetons) Non +Autoriser les doublons Non +Jeton supprimable Oui +Valeur persistante Non +Barre d'outils RTF En saisie +Texte Markdown Non +Mode menu ctx. <Aucun> +Liaison des données :gclUneConfig.sNomCnx +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_SansNom1 +Libellé : FI_Configuration_BaseExt.CMOD_SansNom1.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +06/08/2026 Batik 5866 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Informations sur les champs +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_SansNom2 +Bouton : FI_Configuration_BaseExt.CMOD_SansNom2.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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 +06/08/2026 Batik 5867 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › 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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_Serveur +Champ de saisie : FI_Configuration_BaseExt.CMOD_Serveur.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 4 +Largeur interne 456 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Texte d'indication si vide FR: 127.0.0.1:4900 +Opacité 100 +06/08/2026 Batik 5868 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Informations sur les champs +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 +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> +Liaison des données :gclUneConfig.stParamCnx.sConnect_Serveur +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 +06/08/2026 Batik 5869 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_Societe +Combo : FI_Configuration_BaseExt.CMOD_Societe.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 456 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 4 +Largeur interne 456 +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 +06/08/2026 Batik 5870 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Informations sur les champs +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 Oui +Liaison des données :gclUneConfig.nIDSociete +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_Tester +Bouton : FI_Configuration_BaseExt.CMOD_Tester.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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 +06/08/2026 Batik 5871 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Informations sur les champs +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_Titre +Libellé : FI_Configuration_BaseExt.CMOD_Titre.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +Autorise ChangeGabarit Oui +Animer si trop long Non +06/08/2026 Batik 5872 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : FI_Configuration_BaseExt.CMOD_Utilisateur +Champ de saisie : FI_Configuration_BaseExt.CMOD_Utilisateur.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 4 +Largeur interne 456 +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 +06/08/2026 Batik 5873 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › 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> +Liaison des données :gclUneConfig.stParamCnx.sConnect_Utilisateur +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 et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5874 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Code des champs +FI_Configuration_BaseExt +Code des champs +Déclarations globales de FI_Configuration_BaseExt +procédure FI_Configuration_BaseExt(gclConfig est un MConnexionBaseExt = Null) +gclUneConfig est un MConnexionBaseExt +si gclConfig <> Null alors +gclUneConfig = gclConfig +fin +Fin d'initialisation de FI_Configuration_BaseExt +si gclUneConfig.nPKID > 0 alors +SourceVersEcran() +fin +Déclarations globales de CMOD_LibAuth +salib = "Authentification" +Fin d'initialisation de CMOD_LibAuth +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibAuth +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibAuth +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibAuth +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibAuth +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibAuth +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibAuth +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_LibAuth ) +06/08/2026 Batik 5875 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_LibAuth ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_LibParam +salib ="Paramètres Serveur" +Fin d'initialisation de CMOD_LibParam +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_LibParam +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_LibParam +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_LibParam +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_LibParam +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_LibParam +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_LibParam +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_LibParam ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_LibParam ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_MotPasse +salib ="Mot de passe" +Fin d'initialisation de CMOD_MotPasse +06/08/2026 Batik 5876 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_MotPasse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_MotPasse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_MotPasse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_MotPasse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_MotPasse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_MotPasse +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_MotPasse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_MotPasse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_MotPasse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_MotPasse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_MotPasse ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_NomCnx +salib = "Nom de la base" +Fin d'initialisation de CMOD_NomCnx +06/08/2026 Batik 5877 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_NomCnx +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_NomCnx +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_NomCnx +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_NomCnx +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_NomCnx +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_NomCnx +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_NomCnx ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_NomCnx ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_NomCnx ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_NomCnx ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_NomCnx ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SansNom1 +salib ="Base et société" +Fin d'initialisation de CMOD_SansNom1 +06/08/2026 Batik 5878 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_SansNom1 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_SansNom2 +salib ="Enregistrer" +Fin d'initialisation de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_SansNom2 +06/08/2026 Batik 5879 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_SansNom2 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_SansNom2 ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +si Enregistrer() alors +si FenEtat(FEN_Parametres_Base_Ext) <> Inexistant alors +ExécuteTraitement(FEN_Parametres_Base_Ext.Filtrer,trtProcédure) +fin +fin +Déclarations globales de CMOD_Serveur +salib ="Serveur Batigest" +Fin d'initialisation de CMOD_Serveur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Serveur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Serveur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Serveur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Serveur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Serveur +06/08/2026 Batik 5880 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Serveur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Serveur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Serveur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Serveur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Serveur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Serveur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Societe +salib = "Société liée" +Fin d'initialisation de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Societe +06/08/2026 Batik 5881 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Societe +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +InitChamp(MoiMême.NomComplet,cSocietes) +Entrée dans CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sélection d'une ligne de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( CMOD_Societe ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Tester +saLib ="Tester la connexion" +Fin d'initialisation de CMOD_Tester +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Tester +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Tester +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Tester +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Tester +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 5882 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Code des champs +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Tester +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Tester +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de BTN_Valider ( CMOD_Tester ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur BTN_Valider ( CMOD_Tester ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Tester() +Déclarations globales de CMOD_Titre +salib ="Configurer la connexion" +Fin d'initialisation de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Titre +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de LIB_lib ( CMOD_Titre ) +06/08/2026 Batik 5883 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur LIB_lib ( CMOD_Titre ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Déclarations globales de CMOD_Utilisateur +salib = "Utilisateur" +Fin d'initialisation de CMOD_Utilisateur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Utilisateur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Utilisateur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Utilisateur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Utilisateur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Utilisateur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Utilisateur +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Initialisation de SAI_Texte ( CMOD_Utilisateur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SAI_Texte ( CMOD_Utilisateur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SAI_Texte ( CMOD_Utilisateur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SAI_Texte ( CMOD_Utilisateur ) +06/08/2026 Batik 5884 + +Partie 3 › Fenêtre WINDEV › FI_Configuration_BaseExt › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( CMOD_Utilisateur ) +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +FI_Configuration_BaseExt +Procédures +Procédure locale Enregistrer +procédure Enregistrer() +si CMOD_Societe.CMB_Combo <= 0 alors +Erreur("Veuillez choisir une société") +renvoyer Faux +fin +si CMOD_NomCnx.SAI_Texte <= 0 alors +Erreur("Veuillez saisir le nom de la base de données") +renvoyer Faux +fin +si pas Tester() alors +Erreur("Connexion invalide, les informations ne peuvent pas être enregistrées") +renvoyer Faux +fin +EcranVersSource() +renvoyer gclUneConfig:Enregistrer() +Procédure locale Tester +procédure Tester() +gcnxMYSQL est une Connexion +gcnxMYSQL..Serveur = CMOD_Serveur.SAI_Texte +gcnxMYSQL..BaseDeDonnées = CMOD_NomCnx.SAI_Texte +gcnxMYSQL..Utilisateur = CMOD_Utilisateur.SAI_Texte +gcnxMYSQL..MotDePasse = CMOD_MotPasse.SAI_Texte +si pas HOuvreConnexion(gcnxMYSQL) alors +Erreur("Échec de connexion au serveur MYSQL "+RC+ErreurInfo(errComplet)) +si EnModeTest() alors +renvoyer Vrai +fin +renvoyer Faux +fin +renvoyer Vrai +06/08/2026 Batik 5885 + +Partie 4 › Modèle fenêtre WINDEV +Partie 4 +Modèle fenêtre +WINDEV +| 06/08/2026 | Batik | 5886 | +| ---------- | ----- | ---- | + +Partie 4 › Modèle fenêtre WINDEV +FENMOD_Fiche +Image +FENMOD_Fiche +Informations générales +FENMOD_Fiche +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\FENMOD_Fiche.wdt +Créé par SMR +06/08/2026 Batik 5887 + +Partie 4 › Modèle fenêtre WINDEV › FENMOD_Fiche › Informations générales +| Date de création | | 17/06/2025 09:23:19 | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 20/03/2026 15:18:33 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 1199 Hauteur | 700 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Oui | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Non | | | | +| 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. | | Oui | | | | +| Grisé : Algo pour images | | <Défaut> | | | | +| Style du menu | | Windows 11 | | | | +| 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 | | 32 | | | | +| Pos. Y Menu | | 2 | | | | +| Texte Markdown | | Non | | | | +| Mode menu ctx. | | <Aucun> | | | | +| M.C.U. | | Oui | | | | +| Anim. Ouverture | | 0 | | | | +| Anim. Fermeture | | 0 | | | | +| Durée Anim. Ouverture | | 100 | | | | +| 06/08/2026 | | | Batik | | 5888 | + +Partie 4 › Modèle fenêtre WINDEV › FENMOD_Fiche › Informations générales +| Durée Anim. Fermeture | 50 | | | | | | | +| ------------------------------ | --- | --- | --- | --- | --- | --- | --- | +| Adapte Taille contenu | Non | | | | | | | +| Assombri quand inactif | Oui | | | | | | | +| Déplace souris sur bouton par | Non | | | | | | | +| Compact. barres outils | Non | | | | | | | +Icône D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +Statistiques de la fenêtre +| | Libellé | | 1 | Image | | | 4 | +| --- | --------------------- | --- | --- | ---------------------- | --- | --- | --- | +| | Superchamp | | 1 | Champ Modèle de champs | | | 1 | +| | Case barre de message | | 1 | | | | | +Nombre d'éléments dans la fenêtre : 8 +FENMOD_Fiche +Informations sur les champs +Fenêtre : FENMOD_Fiche +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| CMOD_BordFen | | 0 | -29 1063 | 29 | 0 | Actif | | +| ------------ | --- | --- | -------- | --- | --- | ----- | --- | +Champ Modèle de champs : CMOD_BordFen +| 06/08/2026 | | | Batik | | | | 5889 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › FENMOD_Fiche › Informations sur les champs +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_SansNom1 | | 0 | -29 | 1063 | 30 | 0 | Actif | | +| ----------- | --- | --- | --- | ---- | --- | --- | ----- | --- | +Superchamp : CMOD_BordFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +.zroh egardaC +.trev egardaC +FTR tamroF +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | --- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | | +elbisiV +nalP +| LIB_Libellé | 91 | -27 940 | 25 | 0 | Actif | Gauche | Centre | | +| ----------- | --- | ------- | --- | --- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | X noitisoP | Y noitisoP | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | ------- | ------- | ------- | ------------ | --------- | ---------- | +| | | | | ruetuaH | | | cilc cevA | | +| | | | ruegraL | | elbisiV | | | | +nalP +| IMG_AideFenetre | 1031 | -26 | 28 | 23 | 0 | Actif | | | +| -------------------------- | ---- | --- | --- | --- | --- | ----- | --- | --- | +| IMG_InformationAide | 61 | -26 | 28 | 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | -27 | 34 | 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | -26 | 21 | 23 | 0 | Actif | | | +Fenêtre : FENMOD_Fiche +Champ Modèle de champs : CMOD_BordFen +Note pour la documentation technique +FR: { + "Libelle":"Barre de titre (Fen\u00eatre)" +} +| Ordre navigation | 1 | | | | | | | | +| -------------------- | ----------------------------------- | --- | ----- | --- | --- | --- | --- | ---- | +| Curseur survol | 0 | | | | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | | +| Taux Paral. Y | 0 | | | | | | | | +| Épinglé | Non | | | | | | | | +| 06/08/2026 | | | Batik | | | | | 5890 | + +Partie 4 › Modèle fenêtre WINDEV › FENMOD_Fiche › Informations sur les champs +Masquer lors du scrolling Non +Ancrage au contenu <Aucun> +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 750 Taux anc. hauteur 1000 +Champ Modèle de champs : CMOD_BordFen +Superchamp : CMOD_BordFen.SC_SansNom1 +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 1063 +Hauteur externe 30 +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5891 + +Partie 4 › Modèle fenêtre WINDEV › FENMOD_Fiche › Informations sur les champs +Superchamp : CMOD_BordFen.SC_SansNom1 +Image : CMOD_BordFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 +06/08/2026 Batik 5892 + +Partie 4 › Modèle fenêtre WINDEV › FENMOD_Fiche › Informations sur les champs +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 Oui +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 : CMOD_BordFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +06/08/2026 Batik 5893 + +Partie 4 › Modèle fenêtre WINDEV › FENMOD_Fiche › Informations sur les champs +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Image : CMOD_BordFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +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 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +06/08/2026 Batik 5894 + +Partie 4 › Modèle fenêtre WINDEV › FENMOD_Fiche › Informations sur les champs +Libellé : CMOD_BordFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +FENMOD_Fiche +Code +Déclarations globales de FENMOD_Fiche +saNomUtilisateurFen est une chaîne ANSI +Fin d'initialisation de FENMOD_Fiche +MessageAjouteCase("Connexion",450) +{"Connexion"} = gsaLibConnexion +Fermeture de FENMOD_Fiche +06/08/2026 Batik 5895 + +Partie 4 › Modèle fenêtre WINDEV › FENMOD_Fiche › Code +FermerFenSoeurs(MoiMême..Alias) +Prise de focus (activation) de FENMOD_Fiche +gsaNomChampEnCours = MoiMême..NomComplet +FENMOD_Fiche +Code des champs +Fin d'initialisation de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_BordFen +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Clic sur IMG_AideFenetre ( SC_SansNom1 ) (modèle MDLC_TitreFen) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) (modèle MDLC_TitreFen) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) (modèle MDLC_TitreFen) +06/08/2026 Batik 5896 + +Partie 4 › Modèle fenêtre WINDEV › FENMOD_Fiche › Code des champs +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) (modèle MDLC_TitreFen) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +06/08/2026 Batik 5897 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Saisie › Image +MDLC_Saisie +Image +MDLC_Saisie +Informations générales +MDLC_Saisie +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_Saisie.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 17/06/2025 10:47:47 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 21/04/2026 15:43:53 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 111 Hauteur | 53 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| 06/08/2026 | | | Batik | | 5898 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Saisie › Informations générales +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Champ de saisie 1 Modèle de champs 1 +Nombre d'éléments dans la fenêtre : 2 +MDLC_Saisie +Informations sur les champs +06/08/2026 Batik 5899 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Saisie › Informations sur les champs +Fenêtre : MDLC_Saisie +Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| MDLC_Saisie | | 0 | | 0 111 | 53 | | 0 | Actif | | +| ----------- | --- | --- | --- | ----- | --- | --- | --- | ----- | --- | +Modèle de champs : MDLC_Saisie +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 eisias epyT | FTR tamroF | | ediv is LLUN | | lacitrev .csA | +| | X noitisoP Y noitisoP | | laitini tatE | | engilitluM | | | | | +ruetuaH +| | ruegraL | | elbisiV | | | | | | | +| --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_Texte | 0 0 111 | 53 0 | Actif | Texte | | Non | | | | +| --------- | ------- | ---- | ----- | ----- | --- | --- | --- | --- | --- | +Fenêtre : MDLC_Saisie +Modèle de champs : MDLC_Saisie +| Curseur survol | | 0 | | | | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | --- | --- | --- | +| UI par l'utilisateur | | Selon fenêtre | | | | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | | | +| Taux Paral. Y | | 0 | | | | | | | | +| Épinglé | | Non | | | | | | | | +| Masquer lors du scrolling | | Non | | | | | | | | +| Numéro aide | | 0 | | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | | 0 | | | | | | | | +| -------------------------- | --- | ------- | --- | --- | --- | --- | --- | --- | --- | +| Facteur d'agrandissement | | 0 | | | | | | | | +| Ancrage | | <Aucun> | | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | | Batik | | | | | 5900 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Saisie › Informations sur les champs +Modèle de champs : MDLC_Saisie +Champ de saisie : MDLC_Saisie.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte +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 0 +Largeur interne 111 +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 +06/08/2026 Batik 5901 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Saisie › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +MDLC_Saisie +Code des champs +Déclarations globales de MDLC_Saisie +saLib est une chaîne ANSI +Initialisation de SAI_Texte ( MDLC_Saisie ) +MoiMême..Libellé = saLib +// Version 1 +// Description +// Champ de saisie pour un texte simple sur une ligne +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +06/08/2026 Batik 5902 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Saisie › Code des champs +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( MDLC_Saisie ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 5903 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixCombo › Image +MDLC_ChoixCombo +Image +MDLC_ChoixCombo +Informations générales +MDLC_ChoixCombo +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_ChoixCombo.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 12/06/2025 16:38:21 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 17:20:53 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 165 Hauteur | 30 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 5904 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixCombo › Informations générales +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 Windows 11 +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 +Statistiques de la fenêtre +Interrupteur 1 Combo 1 +Modèle de champs 1 Option d'interrupteur 1 +Nombre d'éléments dans la fenêtre : 4 +MDLC_ChoixCombo +Informations sur les champs +06/08/2026 Batik 5905 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixCombo › Informations sur les champs +Fenêtre : MDLC_ChoixCombo +Modèle de champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| MDLC_ChoixCombo | | | 0 | 0 | 165 | 30 | 0 | | Actif | | +| --------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Modèle de champs : MDLC_ChoixCombo +Interrupteur +ellennoitroporp .loC +| | | | | | | | | BAT ehcuoT sennoloc .bN | | | +| --- | --- | ---------- | ---------- | --------------- | --- | ------------ | --- | ----------------------- | --- | ----------- | +| | | | | | | laitini tatE | | | | staté siorT | +| | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | ruegraL ruetuaH | | | | | | | +elbisiV +nalP +| INT_Opt | | 0 | 5 | 20 | 20 | 0 Actif | | | 1 | | +| ------- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +| | | | | | | BAT ehcuoT | eisias cevA | | ediv is LLUN | | +| --- | --------------------- | ------- | ------- | ------- | ------------ | ---------- | ----------- | --- | ------------ | --- | +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | | | +| | | | ruetuaH | | | sruocraP | | | | | +| | | ruegraL | | elbisiV | | | | | | | +elbaT +| | | | | nalP | | | eéirT | | | | +| --------- | --- | ----- | --- | ---- | ----- | ------- | ----- | --- | --- | --- | +| CMB_Choix | 28 | 0 137 | 31 | 0 | Actif | Mémoire | | Non | | | +Fenêtre : MDLC_ChoixCombo +Modèle de champs : MDLC_ChoixCombo +| Curseur survol | | 0 | | | | | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | --- | --- | --- | --- | +| UI par l'utilisateur | | Selon fenêtre | | | | | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | | | | +| Taux Paral. Y | | 0 | | | | | | | | | +| Épinglé | | Non | | | | | | | | | +| Masquer lors du scrolling | | Non | | | | | | | | | +| Numéro aide | | 0 | | | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | | 0 | | | | | | | | | +| -------------------------- | --- | --- | --- | ----- | --- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | | 5906 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixCombo › Informations sur les champs +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Modèle de champs : MDLC_ChoixCombo +Combo : MDLC_ChoixCombo.CMB_Choix +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Libelle +Groupe GR_Combo +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 137 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 28 +Largeur interne 137 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +06/08/2026 Batik 5907 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixCombo › 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : MDLC_ChoixCombo.INT_Opt +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +06/08/2026 Batik 5908 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixCombo › Informations sur les champs +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +MDLC_ChoixCombo +Code des champs +Déclarations globales de MDLC_ChoixCombo +saCode est une chaîne ANSI +saLib est une chaîne ANSI +Initialisation de CMB_Choix ( MDLC_ChoixCombo ) +InitChamp(MoiMême..Nom,saCode,Vrai) +MoiMême..Indication = saLib +CMB_Choix..RechercheFAA = Faux +Sélection d'une ligne de CMB_Choix ( MDLC_ChoixCombo ) +INT_Opt=Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( MDLC_ChoixCombo ) +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( MDLC_ChoixCombo ) +06/08/2026 Batik 5909 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixCombo › Code des champs +gsaNomChampEnCours = MoiMême..NomComplet +| 06/08/2026 | Batik | 5910 | +| ---------- | ----- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixJetonsCombo › Image +MDLC_ChoixJetonsCombo +Image +MDLC_ChoixJetonsCombo +Informations générales +MDLC_ChoixJetonsCombo +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_ChoixJetonsCombo.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 12/06/2025 16:49:23 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 18:31:41 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 165 Hauteur | 96 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ---------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| 06/08/2026 | | | Batik | | 5911 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixJetonsCombo › Informations générales +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Champ de saisie 1 Interrupteur 1 +Combo 1 Modèle de champs 1 +Option d'interrupteur 1 +Nombre d'éléments dans la fenêtre : 5 +MDLC_ChoixJetonsCombo +Informations sur les champs +06/08/2026 Batik 5912 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixJetonsCombo › Informations sur les champs +Fenêtre : MDLC_ChoixJetonsCombo +Modèle de champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | --- | ------- | --- | --- | +nalP +| MDLC_ChoixJetonsCombo | | | 0 | | 0 165 | 96 | | 0 | | Actif | | +| --------------------- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | ----- | --- | +Modèle de champs : MDLC_ChoixJetonsCombo +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 eisias epyT | FTR tamroF | | | ediv is LLUN | | lacitrev .csA | +| | X noitisoP Y noitisoP | | | laitini tatE | | engilitluM | | | | | | +ruetuaH +| | | ruegraL | | elbisiV | | | | | | | | +| --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_Opt | 0 34 | 165 62 | 0 | affichag | Texte | | Non | | | | | +| ------- | ---- | ------ | --- | -------- | ----- | --- | --- | --- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | | laitini tatE | | BAT ehcuoT | | staté siorT | +| --- | --- | --- | --- | --- | --- | --- | ------------ | --- | ---------- | --- | ----------- | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| INT_Opt | | 0 | 6 | 20 | 20 | 0 | Actif | | | 1 | | +| ------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | --- | +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_Choix | 28 | 2 137 | 28 | 0 | Actif | Mémoire | | | Non | | | +| 06/08/2026 | | | | | Batik | | | | | | 5913 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixJetonsCombo › Informations sur les champs +Fenêtre : MDLC_ChoixJetonsCombo +Modèle de champs : MDLC_ChoixJetonsCombo +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Modèle de champs : MDLC_ChoixJetonsCombo +Combo : MDLC_ChoixJetonsCombo.CMB_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Combo +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 135 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +06/08/2026 Batik 5914 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixJetonsCombo › Informations sur les champs +Position X interne 30 +Largeur interne 135 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +Saisie obligatoire (erreur) : Picto Non +Saisie obligatoire (indication) : Picto Non +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +Effacement automatique Non +Fin saisie automatique Non +Vide si zéro Non +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 20 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5915 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixJetonsCombo › Informations sur les champs +Interrupteur : MDLC_ChoixJetonsCombo.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5916 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixJetonsCombo › Informations sur les champs +Champ de saisie : MDLC_ChoixJetonsCombo.SAI_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Jeton : +Groupe GR_Saisie +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 0 +Largeur interne 165 +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 +06/08/2026 Batik 5917 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixJetonsCombo › Informations sur les champs +Saisie obligatoire (indication) : Texte Non +Saisie obligatoire (indication) : Style Oui +Saisie invalide : Picto Non +Saisie invalide : Texte Non +Saisie invalide : Style Oui +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 Largeur et hauteur +Taux anc. droite 330 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +MDLC_ChoixJetonsCombo +Code des champs +Déclarations globales de MDLC_ChoixJetonsCombo +saCode est une chaîne ANSI +saLib est une chaîne ANSI +Initialisation de CMB_Choix ( MDLC_ChoixJetonsCombo ) +InitChamp(MoiMême..Nom,saCode,Vrai) +MoiMême..Indication = saLib +Sélection d'une ligne de CMB_Choix ( MDLC_ChoixJetonsCombo ) +INT_Opt=Vrai +si CMB_Choix > 0 alors +SaisieAjouteJeton(SAI_Opt,NumériqueVersChaîne(CMB_Choix..ValeurMémorisée),CMB_Choix..ValeurAffichée +) +06/08/2026 Batik 5918 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixJetonsCombo › Code des champs +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( MDLC_ChoixJetonsCombo ) +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( MDLC_ChoixJetonsCombo ) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de SAI_Opt ( MDLC_ChoixJetonsCombo ) +// Version 1 +// Description +// Saisie avec jetons +Ajout d'un jeton dans SAI_Opt ( MDLC_ChoixJetonsCombo ) +procédure AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +renvoyer Vrai +Suppression d'un jeton dans SAI_Opt ( MDLC_ChoixJetonsCombo ) +procédure SuppressionJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +renvoyer Vrai +Clic sur un jeton de SAI_Opt ( MDLC_ChoixJetonsCombo ) +procédure ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de SAI_Opt ( MDLC_ChoixJetonsCombo ) +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_Opt ( MDLC_ChoixJetonsCombo ) +procédure ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +renvoyer Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Opt ( MDLC_ChoixJetonsCombo ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 5919 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixBoolean › Image +MDLC_ChoixBoolean +Image +MDLC_ChoixBoolean +Informations générales +MDLC_ChoixBoolean +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_ChoixBoolean.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 12/06/2025 17:04:05 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 18:31:40 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 165 Hauteur | 30 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 5920 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixBoolean › Informations générales +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 Windows 11 +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 +Statistiques de la fenêtre +Interrupteur 1 Combo 1 +Modèle de champs 1 Option d'interrupteur 1 +Nombre d'éléments dans la fenêtre : 4 +MDLC_ChoixBoolean +Informations sur les champs +06/08/2026 Batik 5921 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixBoolean › Informations sur les champs +Fenêtre : MDLC_ChoixBoolean +Modèle de champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| MDLC_ChoixBoolean | | | 0 | 0 | 165 | 30 | 0 | | Actif | | +| ----------------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Modèle de champs : MDLC_ChoixBoolean +Interrupteur +ellennoitroporp .loC +| | | | | | | | | BAT ehcuoT sennoloc .bN | | | +| --- | --- | ---------- | ---------- | --------------- | --- | ------------ | --- | ----------------------- | --- | ----------- | +| | | | | | | laitini tatE | | | | staté siorT | +| | | X noitisoP | Y noitisoP | | | | | | | | +| | | | | ruegraL ruetuaH | | | | | | | +elbisiV +nalP +| INT_Opt | | 0 | 5 | 20 | 20 | 0 Actif | | | 1 | | +| ------- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | --- | +Combo +reihcif eétsissa eisiaS +| | | | | | | | | eriotagilbo eisiaS | | .zroH tnemeliféD | +| --- | --- | --- | --- | --- | --- | --- | --- | ------------------ | --- | ---------------- | +ruesnecsa elluB +| | | | | | | BAT ehcuoT | eisias cevA | | ediv is LLUN | | +| --- | --------------------- | ------- | ------- | ------- | ------------ | ---------- | ----------- | --- | ------------ | --- | +| | X noitisoP Y noitisoP | | | | laitini tatE | | | | | | +| | | | ruetuaH | | | sruocraP | | | | | +| | | ruegraL | | elbisiV | | | | | | | +elbaT +| | | | | nalP | | | eéirT | | | | +| --------- | --- | ----- | --- | ---- | ----- | ------- | ----- | --- | --- | --- | +| CMB_Choix | 28 | 1 137 | 29 | 0 | Actif | Mémoire | | Non | | | +Fenêtre : MDLC_ChoixBoolean +Modèle de champs : MDLC_ChoixBoolean +| Curseur survol | | 0 | | | | | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | --- | --- | --- | --- | +| UI par l'utilisateur | | Selon fenêtre | | | | | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | | | | +| Taux Paral. Y | | 0 | | | | | | | | | +| Épinglé | | Non | | | | | | | | | +| Masquer lors du scrolling | | Non | | | | | | | | | +| Numéro aide | | 0 | | | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | | 0 | | | | | | | | | +| -------------------------- | --- | --- | --- | ----- | --- | --- | --- | --- | --- | ---- | +| 06/08/2026 | | | | Batik | | | | | | 5922 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixBoolean › Informations sur les champs +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Modèle de champs : MDLC_ChoixBoolean +Combo : MDLC_ChoixBoolean.CMB_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Combo +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 136 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 29 +Largeur interne 136 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +Saisie obligatoire (erreur) : Texte Non +06/08/2026 Batik 5923 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixBoolean › 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Interrupteur : MDLC_ChoixBoolean.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +06/08/2026 Batik 5924 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixBoolean › Informations sur les champs +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +MDLC_ChoixBoolean +Code des champs +Déclarations globales de MDLC_ChoixBoolean +saLib est une chaîne ANSI +Initialisation de CMB_Choix ( MDLC_ChoixBoolean ) +ListeAjoute(MoiMême..Nom,"OUI"+gLien(1)) +ListeAjoute(MoiMême..Nom,"NON"+gLien(0)) +MoiMême..Indication = saLib +Sélection d'une ligne de CMB_Choix ( MDLC_ChoixBoolean ) +INT_Opt=Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Choix ( MDLC_ChoixBoolean ) +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( MDLC_ChoixBoolean ) +06/08/2026 Batik 5925 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixBoolean › Code des champs +gsaNomChampEnCours = MoiMême..NomComplet +| 06/08/2026 | Batik | 5926 | +| ---------- | ----- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixTexte › Image +MDLC_ChoixTexte +Image +MDLC_ChoixTexte +Informations générales +MDLC_ChoixTexte +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_ChoixTexte.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 12/06/2025 17:13:43 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 18:31:39 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 165 Hauteur | 30 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 5927 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixTexte › Informations générales +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 Windows 11 +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 +Statistiques de la fenêtre +Champ de saisie 1 Interrupteur 1 +Modèle de champs 1 Option d'interrupteur 1 +Nombre d'éléments dans la fenêtre : 4 +MDLC_ChoixTexte +Informations sur les champs +06/08/2026 Batik 5928 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixTexte › Informations sur les champs +Fenêtre : MDLC_ChoixTexte +Modèle de champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| MDLC_ChoixTexte | | | 0 | | 0 165 | 30 | | 0 | Actif | | +| --------------- | --- | --- | --- | --- | ----- | --- | --- | --- | ----- | --- | +Modèle de champs : MDLC_ChoixTexte +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 eisias epyT | FTR tamroF | | ediv is LLUN | | lacitrev .csA | +| | X noitisoP Y noitisoP | | | laitini tatE | | engilitluM | | | | | +ruetuaH +| | | ruegraL | | elbisiV | | | | | | | +| --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_Choix | 28 0 | 137 30 | 0 | Actif | Texte | | Non | | | | +| --------- | ---- | ------ | --- | ----- | ----- | --- | --- | --- | --- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +| | | | | | | | laitini tatE | BAT ehcuoT | | staté siorT | +| --- | --- | --- | --- | --- | --- | --- | ------------ | ---------- | --- | ----------- | +X noitisoP Y noitisoP +| | | | | ruegraL | ruetuaH | | | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | --- | --- | +elbisiV +nalP +| INT_Opt | | 0 | 5 | 20 | 20 | 0 | Actif | | 1 | | +| ------- | --- | --- | --- | --- | --- | --- | ----- | --- | --- | --- | +Fenêtre : MDLC_ChoixTexte +Modèle de champs : MDLC_ChoixTexte +| Curseur survol | | 0 | | | | | | | | | +| -------------------------------- | --- | ----------------------------------- | --- | --- | ----- | --- | --- | --- | --- | ---- | +| UI par l'utilisateur | | Selon fenêtre | | | | | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | | | | +| Taux Paral. Y | | 0 | | | | | | | | | +| Épinglé | | Non | | | | | | | | | +| Masquer lors du scrolling | | Non | | | | | | | | | +| Numéro aide | | 0 | | | | | | | | | +| Alignement sur l'axe secondaire | | défini par le champ flexbox (auto) | | | | | | | | | +| 06/08/2026 | | | | | Batik | | | | | 5929 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixTexte › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Modèle de champs : MDLC_ChoixTexte +Interrupteur : MDLC_ChoixTexte.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +06/08/2026 Batik 5930 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixTexte › Informations sur les champs +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : MDLC_ChoixTexte.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 28 +Largeur interne 137 +Cadrage fonctions gXXX Tenir compte du cadrage +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) +06/08/2026 Batik 5931 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixTexte › 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, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +MDLC_ChoixTexte +Code des champs +Déclarations globales de MDLC_ChoixTexte +saLib est une chaîne ANSI +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( MDLC_ChoixTexte ) +06/08/2026 Batik 5932 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChoixTexte › Code des champs +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de SAI_Choix ( MDLC_ChoixTexte ) +MoiMême..Indication = saLib +A chaque modification de SAI_Choix ( MDLC_ChoixTexte ) +si MoiMême <> "" alors +INT_Opt = Vrai +sinon +INT_Opt = Faux +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( MDLC_ChoixTexte ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 5933 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Combo › Image +MDLC_Combo +Image +MDLC_Combo +Informations générales +MDLC_Combo +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_Combo.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 17/06/2025 10:56:45 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 21/04/2026 15:44:05 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 117 Hauteur | 53 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| 06/08/2026 | | | Batik | | 5934 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Combo › Informations générales +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Combo 1 Modèle de champs 1 +Nombre d'éléments dans la fenêtre : 2 +MDLC_Combo +Informations sur les champs +06/08/2026 Batik 5935 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Combo › Informations sur les champs +Fenêtre : MDLC_Combo +Modèle de champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| MDLC_Combo | | 0 | 0 117 | 53 | 0 | Actif | | +| ---------- | --- | --- | ----- | --- | --- | ----- | --- | +Modèle de champs : MDLC_Combo +Combo +reihcif eétsissa eisiaS +| | | | | | eriotagilbo eisiaS | | ruesnecsa elluB .zroH tnemeliféD | +| --- | ---------- | --- | ------------ | ---------- | ------------------ | ------------ | -------------------------------- | +| | | | | BAT ehcuoT | | ediv is LLUN | | +| | X noitisoP | | laitini tatE | | eisias cevA | | | +| | Y noitisoP | | | sruocraP | | | | +ruegraL ruetuaH +elbisiV +| | | nalP | | elbaT | eéirT | | | +| --------- | ------- | ---- | ------- | ------- | ----- | --- | --- | +| CMB_Combo | 0 0 117 | 53 | 0 Actif | Mémoire | Non | | | +Fenêtre : MDLC_Combo +Modèle de champs : MDLC_Combo +| Curseur survol | 0 | | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Numéro aide | 0 | | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | | +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | | | +| ------------------------- | ------- | --- | --- | --- | --- | --- | --- | +| Ancrage | <Aucun> | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Batik | | | | 5936 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Combo › Informations sur les champs +Modèle de champs : MDLC_Combo +Combo : MDLC_Combo.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 117 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 0 +Largeur interne 117 +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 +06/08/2026 Batik 5937 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Combo › Informations sur les champs +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 Oui +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +MDLC_Combo +Code des champs +Déclarations globales de MDLC_Combo +saLib est une chaîne ANSI +Initialisation de CMB_Combo ( MDLC_Combo ) +MoiMême..Libellé = saLib +// Version 1 +// Description +// Combo liste simple +CMB_Combo..RechercheFAA = Faux +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( MDLC_Combo ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 5938 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_SaisieSansModif › Image +MDLC_SaisieSansModif +Image +MDLC_SaisieSansModif +Informations générales +MDLC_SaisieSansModif +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_SaisieSansModif.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 17/06/2025 10:59:00 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 18:29:38 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 121 Hauteur | 53 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| 06/08/2026 | | | Batik | | 5939 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_SaisieSansModif › Informations générales +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Champ de saisie 1 Modèle de champs 1 +Nombre d'éléments dans la fenêtre : 2 +MDLC_SaisieSansModif +Informations sur les champs +06/08/2026 Batik 5940 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_SaisieSansModif › Informations sur les champs +Fenêtre : MDLC_SaisieSansModif +Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| MDLC_SaisieSansModif | | 0 | | 0 121 | 53 | | 0 | Actif | | +| -------------------- | --- | --- | --- | ----- | --- | --- | --- | ----- | --- | +Modèle de champs : MDLC_SaisieSansModif +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 eisias epyT | FTR tamroF | | ediv is LLUN | | lacitrev .csA | +| | X noitisoP Y noitisoP | | laitini tatE | | engilitluM | | | | | +ruetuaH +| | ruegraL | | elbisiV | | | | | | | +| --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_Texte | 0 0 121 | 53 0 | affichag | Texte | | Non | | | | +| --------- | ------- | ---- | -------- | ----- | --- | --- | --- | --- | --- | +Fenêtre : MDLC_SaisieSansModif +Modèle de champs : MDLC_SaisieSansModif +| Curseur survol | | 0 | | | | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | --- | --- | --- | +| UI par l'utilisateur | | Selon fenêtre | | | | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | | | +| Taux Paral. Y | | 0 | | | | | | | | +| Épinglé | | Non | | | | | | | | +| Masquer lors du scrolling | | Non | | | | | | | | +| Numéro aide | | 0 | | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | | 0 | | | | | | | | +| -------------------------- | --- | ------- | --- | --- | --- | --- | --- | --- | --- | +| Facteur d'agrandissement | | 0 | | | | | | | | +| Ancrage | | <Aucun> | | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | | Batik | | | | | 5941 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_SaisieSansModif › Informations sur les champs +Modèle de champs : MDLC_SaisieSansModif +Champ de saisie : MDLC_SaisieSansModif.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 0 +Largeur interne 121 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Batik 5942 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_SaisieSansModif › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +MDLC_SaisieSansModif +Code des champs +Déclarations globales de MDLC_SaisieSansModif +saLib est une chaîne ANSI +Initialisation de SAI_Texte ( MDLC_SaisieSansModif ) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +06/08/2026 Batik 5943 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_SaisieSansModif › Code des champs +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( MDLC_SaisieSansModif ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 5944 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Date › Image +MDLC_Date +Image +MDLC_Date +Informations générales +MDLC_Date +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_Date.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 17/06/2025 11:01:46 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 18:29:37 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 112 Hauteur | 53 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| 06/08/2026 | | | Batik | | 5945 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Date › Informations générales +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Champ de saisie 1 Modèle de champs 1 +Nombre d'éléments dans la fenêtre : 2 +MDLC_Date +Informations sur les champs +06/08/2026 Batik 5946 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Date › Informations sur les champs +Fenêtre : MDLC_Date +Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| MDLC_Date | | 0 | | 0 112 | 53 | | 0 | Actif | | +| --------- | --- | --- | --- | ----- | --- | --- | --- | ----- | --- | +Modèle de champs : MDLC_Date +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 eisias epyT | FTR tamroF | | ediv is LLUN | | lacitrev .csA | +| | X noitisoP Y noitisoP | | laitini tatE | | engilitluM | | | | | +ruetuaH +| | ruegraL | | elbisiV | | | | | | | +| --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_Date | 0 0 112 | 53 0 | Actif | Date | | Non | | | | +| -------- | ------- | ---- | ----- | ---- | --- | --- | --- | --- | --- | +Fenêtre : MDLC_Date +Modèle de champs : MDLC_Date +| Curseur survol | | 0 | | | | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | --- | --- | --- | +| UI par l'utilisateur | | Selon fenêtre | | | | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | | | +| Taux Paral. Y | | 0 | | | | | | | | +| Épinglé | | Non | | | | | | | | +| Masquer lors du scrolling | | Non | | | | | | | | +| Numéro aide | | 0 | | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | | 0 | | | | | | | | +| -------------------------- | --- | ------- | --- | --- | --- | --- | --- | --- | --- | +| Facteur d'agrandissement | | 0 | | | | | | | | +| Ancrage | | <Aucun> | | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | | Batik | | | | | 5947 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Date › Informations sur les champs +Modèle de champs : MDLC_Date +Champ de saisie : MDLC_Date.SAI_Date +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Date +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 0 +Largeur interne 107 +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 +06/08/2026 Batik 5948 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Date › Informations sur les champs +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +MDLC_Date +Code des champs +Déclarations globales de MDLC_Date +saLib est une chaîne ANSI +Initialisation de SAI_Date ( MDLC_Date ) +// Version 1 +// Description +// Saisie d'une date avec calendrier +MoiMême..Libellé = saLib +06/08/2026 Batik 5949 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Date › Code des champs +MoiMême = "00000000" +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Date ( MDLC_Date ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 5950 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Div › Image +MDLC_Div +Image +MDLC_Div +Informations générales +MDLC_Div +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_Div.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 17/06/2025 11:23:06 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 18:14:35 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 214 Hauteur | 265 | +| 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 | | | | +| ------------ | --- | ----- | ----- | --- | ---- | +| 06/08/2026 | | | Batik | | 5951 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Div › Informations générales +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Superchamp 1 Modèle de champs 1 +06/08/2026 Batik 5952 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Div › Informations générales +Nombre d'éléments dans la fenêtre : 2 +MDLC_Div +Informations sur les champs +Fenêtre : MDLC_Div +Modèle de champs +BAT ehcuoT +| | X noitisoP | | | laitini tatE | | +| --- | ---------- | --- | --- | ------------ | --- | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| MDLC_Div | 0 | 0 214 265 | 0 | Actif | | +| -------- | --- | --------- | --- | ----- | --- | +Modèle de champs : MDLC_Div +Superchamp +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --------------------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| SC_Div | 4 | 5 205 254 | 0 | Actif | | +| ------ | --- | --------- | --- | ----- | --- | +Fenêtre : MDLC_Div +Modèle de champs : MDLC_Div +| Curseur survol 0 | | | | | | +| ------------------------------------------------------------------- | --- | ----- | --- | --- | ---- | +| UI par l'utilisateur Selon fenêtre | | | | | | +| Unité des tailles Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur 0 | | | | | | +| Taux Paral. Y 0 | | | | | | +| Épinglé Non | | | | | | +| Masquer lors du scrolling Non | | | | | | +| Numéro aide 0 | | | | | | +| Alignement sur l'axe secondaire défini par le champ flexbox (auto) | | | | | | +| 06/08/2026 | | Batik | | | 5953 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Div › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Modèle de champs : MDLC_Div +Superchamp : MDLC_Div.SC_Div +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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 203 +Hauteur externe 252 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +MDLC_Div +Code des champs +Fin d'initialisation de SC_Div +06/08/2026 Batik 5954 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Div › Code des champs +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChamp est une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 5955 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_TitreFen › Image +MDLC_TitreFen +Image +MDLC_TitreFen +Informations générales +MDLC_TitreFen +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_TitreFen.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 17/06/2025 12:06:52 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 20/03/2026 15:43:38 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 515 Hauteur | 30 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 5956 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_TitreFen › Informations générales +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 4 +Superchamp 1 Modèle de champs 1 +Nombre d'éléments dans la fenêtre : 7 +MDLC_TitreFen +Informations sur les champs +06/08/2026 Batik 5957 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_TitreFen › Informations sur les champs +Fenêtre : MDLC_TitreFen +Modèle de champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| MDLC_TitreFen | | 0 | 0 515 | 30 | 0 | Actif | | +| ------------- | --- | --- | ----- | --- | --- | ----- | --- | +Modèle de champs : MDLC_TitreFen +Superchamp +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_SansNom1 | | 0 | 0 515 | 30 | 0 | Actif | | +| ----------- | --- | --- | ----- | --- | --- | ----- | --- | +Superchamp : MDLC_TitreFen.SC_SansNom1 +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | ruegraL | ruetuaH | | | | | +| --- | --- | ------- | ------- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libellé | 91 | 2 392 | 25 0 | Actif | Gauche | Centre | | +| ----------- | --- | ----- | ---- | ----- | ------ | ------ | --- | +Image +cilc ruop eriatiroirP +tuaféd rap eéminA +| | | | | | laitini tatE | | sucof cevA | +| --- | ---------- | ---------- | --------------- | --- | ------------ | --------- | ---------- | +| | X noitisoP | Y noitisoP | | | | | | +| | | | ruegraL ruetuaH | | | cilc cevA | | +elbisiV +nalP +| IMG_AideFenetre | 483 | 3 | 28 23 | 0 | Actif | | | +| -------------------------- | --- | --- | ----- | --- | ----- | --- | ---- | +| IMG_InformationAide | 61 | 3 | 28 23 | 0 | Actif | | | +| IMG_Logo_secondaire_violet | 2 | 2 | 34 26 | 0 | Actif | | | +| IMG_SombreClair | 38 | 3 | 21 23 | 0 | Actif | | | +| 06/08/2026 | | | Batik | | | | 5958 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_TitreFen › Informations sur les champs +Fenêtre : MDLC_TitreFen +Modèle de champs : MDLC_TitreFen +Note pour la documentation technique +FR: { +"Libelle":"Barre de titre (Fen\u00eatre)" +} +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Modèle de champs : MDLC_TitreFen +Superchamp : MDLC_TitreFen.SC_SansNom1 +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 515 +Hauteur externe 30 +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 +06/08/2026 Batik 5959 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_TitreFen › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Superchamp : MDLC_TitreFen.SC_SansNom1 +Image : MDLC_TitreFen.SC_SansNom1.IMG_AideFenetre +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Aide.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Droite +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5960 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_TitreFen › Informations sur les champs +Image : MDLC_TitreFen.SC_SansNom1.IMG_InformationAide +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\informationAide.svg +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 Oui +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 : MDLC_TitreFen.SC_SansNom1.IMG_Logo_secondaire_violet +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\Logo_secondaire_violet.svg +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 +06/08/2026 Batik 5961 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_TitreFen › Informations sur les champs +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 Oui +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 : MDLC_TitreFen.SC_SansNom1.IMG_SombreClair +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\SombreClair.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage <Aucun> +06/08/2026 Batik 5962 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_TitreFen › Informations sur les champs +Taux anc. droite 20 Taux anc. bas 1000 Taux anc. largeur 20 Taux anc. hauteur 1000 +Libellé : MDLC_TitreFen.SC_SansNom1.LIB_Libellé +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 6 +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 Largeur +Taux anc. droite 40 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +MDLC_TitreFen +Code des champs +Fin d'initialisation de MDLC_TitreFen +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +06/08/2026 Batik 5963 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_TitreFen › Code des champs +fin +si gtbaDocAide[NomFen]..Existe _et_ gtbaDocAide[NomFen][NomFen]..Existe alors +IMG_AideFenetre..Visible = Vrai +fin +Clic sur IMG_AideFenetre ( SC_SansNom1 ) +OuvreDocFenetre() +Clic sur IMG_InformationAide ( SC_SansNom1 ) +OuvreModifDocAide() +Clic sur IMG_SombreClair ( SC_SansNom1 ) +Ouvre(FEN_Theme_Colb) +Initialisation de LIB_Libellé ( SC_SansNom1 ) +// Version 1 +// Description +// Libellé pour écrire un titre +MoiMême = MaFenêtre..Titre +06/08/2026 Batik 5964 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_SaisieMultiligne › Image +MDLC_SaisieMultiligne +Image +MDLC_SaisieMultiligne +Informations générales +MDLC_SaisieMultiligne +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_SaisieMultiligne.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 17/06/2025 15:53:37 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 18:29:38 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 205 Hauteur | 100 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ---------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| 06/08/2026 | | | Batik | | 5965 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_SaisieMultiligne › Informations générales +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Champ de saisie 1 Modèle de champs 1 +Nombre d'éléments dans la fenêtre : 2 +MDLC_SaisieMultiligne +Informations sur les champs +06/08/2026 Batik 5966 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_SaisieMultiligne › Informations sur les champs +Fenêtre : MDLC_SaisieMultiligne +Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| MDLC_SaisieMultiligne | | 0 | 0 | 205 | 100 | | 0 | Actif | | +| --------------------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Modèle de champs : MDLC_SaisieMultiligne +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 | eisias epyT | FTR tamroF | | ediv is LLUN | | lacitrev .csA | +| | X noitisoP Y noitisoP | | laitini tatE | | engilitluM | | | | | +ruetuaH +| | ruegraL | | elbisiV | | | | | | | +| --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_Texte | 0 0 205 | 100 0 | Actif | Texte | | Non | | | | +| --------- | ------- | ----- | ----- | ----- | --- | --- | --- | --- | --- | +Fenêtre : MDLC_SaisieMultiligne +Modèle de champs : MDLC_SaisieMultiligne +| Curseur survol | | 0 | | | | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | --- | --- | --- | +| UI par l'utilisateur | | Selon fenêtre | | | | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | | | +| Taux Paral. Y | | 0 | | | | | | | | +| Épinglé | | Non | | | | | | | | +| Masquer lors du scrolling | | Non | | | | | | | | +| Numéro aide | | 0 | | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | | 0 | | | | | | | | +| -------------------------- | --- | ------- | --- | --- | --- | --- | --- | --- | --- | +| Facteur d'agrandissement | | 0 | | | | | | | | +| Ancrage | | <Aucun> | | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Batik | | | | | | 5967 | +| ---------- | --- | --- | ----- | --- | --- | --- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_SaisieMultiligne › Informations sur les champs +Modèle de champs : MDLC_SaisieMultiligne +Champ de saisie : MDLC_SaisieMultiligne.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 1 +Largeur interne 204 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Batik 5968 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_SaisieMultiligne › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +MDLC_SaisieMultiligne +Code des champs +Déclarations globales de MDLC_SaisieMultiligne +saLib est une chaîne ANSI +Initialisation de SAI_Texte ( MDLC_SaisieMultiligne ) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +06/08/2026 Batik 5969 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_SaisieMultiligne › Code des champs +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( MDLC_SaisieMultiligne ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 5970 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Jetons › Image +MDLC_Jetons +Image +MDLC_Jetons +Informations générales +MDLC_Jetons +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_Jetons.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 17/06/2025 15:56:33 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 18:29:36 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 215 Hauteur | 68 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| 06/08/2026 | | | Batik | | 5971 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Jetons › Informations générales +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Champ de saisie 1 Modèle de champs 1 +Nombre d'éléments dans la fenêtre : 2 +MDLC_Jetons +Informations sur les champs +06/08/2026 Batik 5972 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Jetons › Informations sur les champs +Fenêtre : MDLC_Jetons +Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| MDLC_Jetons | | 0 | | 0 215 | 68 | | 0 | Actif | | +| ----------- | --- | --- | --- | ----- | --- | --- | --- | ----- | --- | +Modèle de champs : MDLC_Jetons +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 eisias epyT | FTR tamroF | | ediv is LLUN | | lacitrev .csA | +| | X noitisoP Y noitisoP | | laitini tatE | | engilitluM | | | | | +ruetuaH +| | ruegraL | | elbisiV | | | | | | | +| --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_Jeton | 0 0 215 | 68 0 | Actif | Texte | | Non | | | | +| --------- | ------- | ---- | ----- | ----- | --- | --- | --- | --- | --- | +Fenêtre : MDLC_Jetons +Modèle de champs : MDLC_Jetons +| Curseur survol | | 0 | | | | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | --- | --- | --- | +| UI par l'utilisateur | | Selon fenêtre | | | | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | | | +| Taux Paral. Y | | 0 | | | | | | | | +| Épinglé | | Non | | | | | | | | +| Masquer lors du scrolling | | Non | | | | | | | | +| Numéro aide | | 0 | | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | | 0 | | | | | | | | +| -------------------------- | --- | ------- | --- | --- | --- | --- | --- | --- | --- | +| Facteur d'agrandissement | | 0 | | | | | | | | +| Ancrage | | <Aucun> | | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | | Batik | | | | | 5973 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Jetons › Informations sur les champs +Modèle de champs : MDLC_Jetons +Champ de saisie : MDLC_Jetons.SAI_Jeton +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Jeton : +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 0 +Largeur interne 215 +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 +06/08/2026 Batik 5974 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Jetons › 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) 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +MDLC_Jetons +Code des champs +Déclarations globales de MDLC_Jetons +saLib est une chaîne ANSI +Initialisation de SAI_Jeton ( MDLC_Jetons ) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +06/08/2026 Batik 5975 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Jetons › Code des champs +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Ajout d'un jeton dans SAI_Jeton ( MDLC_Jetons ) +procédure AjoutJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire l'ajout du jeton +renvoyer Vrai +Suppression d'un jeton dans SAI_Jeton ( MDLC_Jetons ) +procédure SuppressionJeton (MonJeton est un Jeton) +//RENVOYER Faux pour interdire la suppression du jeton +renvoyer Vrai +Clic sur un jeton de SAI_Jeton ( MDLC_Jetons ) +procédure ClicJeton (MonJeton est un Jeton) +Entrée en saisie d'un jeton de SAI_Jeton ( MDLC_Jetons ) +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_Jeton ( MDLC_Jetons ) +procédure ModificationJeton (MonJeton est un Jeton) +// RENVOYER Faux pour interdire la modification du jeton +renvoyer Vrai +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Jeton ( MDLC_Jetons ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 5976 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Boolean › Image +MDLC_Boolean +Image +MDLC_Boolean +Informations générales +MDLC_Boolean +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_Boolean.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 17/06/2025 16:01:30 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 21/04/2026 12:19:00 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 85 Hauteur | 29 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 5977 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Boolean › Informations générales +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 Windows 11 +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 +Statistiques de la fenêtre +Interrupteur 1 Modèle de champs 1 +Option d'interrupteur 1 +Nombre d'éléments dans la fenêtre : 3 +MDLC_Boolean +Informations sur les champs +06/08/2026 Batik 5978 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Boolean › Informations sur les champs +Fenêtre : MDLC_Boolean +Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| MDLC_Boolean | 0 | 0 | 85 29 | 0 | Actif | | +| ------------ | --- | --- | ----- | --- | ----- | --- | +Modèle de champs : MDLC_Boolean +Interrupteur +ellennoitroporp .loC +| | | | | BAT ehcuoT | sennoloc .bN | | +| --- | --- | --- | ------------ | ---------- | ------------ | ----------- | +| | | | laitini tatE | | | staté siorT | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| INT_Int | 0 0 | 85 | 29 0 Actif | | 1 | | +| ------- | --- | --- | ---------- | --- | --- | --- | +Fenêtre : MDLC_Boolean +Modèle de champs : MDLC_Boolean +| Curseur survol | 0 | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| UI par l'utilisateur | Selon fenêtre | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Numéro aide | 0 | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +Facteur d'agrandissement +0 +| Ancrage | <Aucun> | | | | | | +| ------- | ------- | --- | --- | --- | --- | --- | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Batik | | | | 5979 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Boolean › Informations sur les champs +Modèle de champs : MDLC_Boolean +Interrupteur : MDLC_Boolean.INT_Int +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Interrupteur +Valeur initiale 0 +Ordre navigation 1 +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 5980 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Boolean › Code des champs +MDLC_Boolean +Code des champs +Déclarations globales de MDLC_Boolean +saLib est un chaîne ANSI +Initialisation de INT_Int ( MDLC_Boolean ) +// Version 1 +// Description +// Interrupteur simple 2 états +MoiMême[1].Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Int ( MDLC_Boolean ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 5981 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Memo_RFT › Image +MDLC_Memo_RFT +Image +MDLC_Memo_RFT +Informations générales +MDLC_Memo_RFT +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_Memo_RFT.wdt +| Créé par | | SMR | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | --- | +| Date de création | | 17/06/2025 16:28:51 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 18:29:37 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 204 | 87 | +| Position X | Position Y | | Largeur | Hauteur | | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| 06/08/2026 | | | Batik | | 5982 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Memo_RFT › Informations générales +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Champ de saisie 1 Modèle de champs 1 +Nombre d'éléments dans la fenêtre : 2 +MDLC_Memo_RFT +Informations sur les champs +06/08/2026 Batik 5983 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Memo_RFT › Informations sur les champs +Fenêtre : MDLC_Memo_RFT +Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| MDLC_Memo_RFT | | 0 | | 0 204 | 87 | | 0 | Actif | | +| ------------- | --- | --- | --- | ----- | --- | --- | --- | ----- | --- | +Modèle de champs : MDLC_Memo_RFT +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 eisias epyT | FTR tamroF | | ediv is LLUN | | lacitrev .csA | +| | X noitisoP Y noitisoP | | laitini tatE | | engilitluM | | | | | +ruetuaH +| | ruegraL | | elbisiV | | | | | | | +| --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_Texte_RTF | 0 0 204 | 87 0 | Actif | Texte | | Non | | | | +| ------------- | ------- | ---- | ----- | ----- | --- | --- | --- | --- | --- | +Fenêtre : MDLC_Memo_RFT +Modèle de champs : MDLC_Memo_RFT +| Curseur survol | | 0 | | | | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | --- | --- | --- | +| UI par l'utilisateur | | Selon fenêtre | | | | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | | | +| Taux Paral. Y | | 0 | | | | | | | | +| Épinglé | | Non | | | | | | | | +| Masquer lors du scrolling | | Non | | | | | | | | +| Numéro aide | | 0 | | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | | 0 | | | | | | | | +| -------------------------- | --- | ------- | --- | --- | --- | --- | --- | --- | --- | +| Facteur d'agrandissement | | 0 | | | | | | | | +| Ancrage | | <Aucun> | | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | | Batik | | | | | 5984 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Memo_RFT › Informations sur les champs +Modèle de champs : MDLC_Memo_RFT +Champ de saisie : MDLC_Memo_RFT.SAI_Texte_RTF +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Texte RTF +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 0 +Largeur interne 204 +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 +06/08/2026 Batik 5985 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Memo_RFT › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +MDLC_Memo_RFT +Code des champs +Déclarations globales de MDLC_Memo_RFT +saLib est une chaîne ANSI +Initialisation de SAI_Texte_RTF ( MDLC_Memo_RFT ) +// Version 1 +// Description +// Saisie de texte RTF +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +06/08/2026 Batik 5986 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Memo_RFT › Code des champs +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte_RTF ( MDLC_Memo_RFT ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 5987 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_LibTitreWidget › Image +MDLC_LibTitreWidget +Image +MDLC_LibTitreWidget +Informations générales +MDLC_LibTitreWidget +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_LibTitreWidget.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 18/06/2025 08:31:06 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 18:32:27 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 61 Hauteur | 26 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 5988 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_LibTitreWidget › Informations générales +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Modèle de champs 1 +Nombre d'éléments dans la fenêtre : 2 +MDLC_LibTitreWidget +Informations sur les champs +06/08/2026 Batik 5989 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_LibTitreWidget › Informations sur les champs +Fenêtre : MDLC_LibTitreWidget +Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| MDLC_LibTitreWidget | 0 | 0 | 61 26 | 0 | Actif | | +| ------------------- | --- | --- | ----- | --- | ----- | --- | +Modèle de champs : MDLC_LibTitreWidget +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +laitini tatE FTR tamroF +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 0 0 | 61 26 | 0 Actif | Gauche | Centre | | +| ------- | --- | ----- | ------- | ------ | ------ | --- | +Fenêtre : MDLC_LibTitreWidget +Modèle de champs : MDLC_LibTitreWidget +| Curseur survol | 0 | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| UI par l'utilisateur | Selon fenêtre | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Numéro aide | 0 | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +Facteur d'agrandissement +0 +| Ancrage | <Aucun> | | | | | | +| ------- | ------- | --- | --- | --- | --- | --- | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Batik | | | | 5990 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_LibTitreWidget › Informations sur les champs +Modèle de champs : MDLC_LibTitreWidget +Libellé : MDLC_LibTitreWidget.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +MDLC_LibTitreWidget +Code des champs +Déclarations globales de MDLC_LibTitreWidget +06/08/2026 Batik 5991 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_LibTitreWidget › Code des champs +saLib est une chaîne ANSI +Initialisation de LIB_lib ( MDLC_LibTitreWidget ) +MoiMême = saLib +Clic sur LIB_lib ( MDLC_LibTitreWidget ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 5992 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_LibNormal › Image +MDLC_LibNormal +Image +MDLC_LibNormal +Informations générales +MDLC_LibNormal +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_LibNormal.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 18/06/2025 08:34:11 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 18:32:33 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 66 Hauteur | 26 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 5993 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_LibNormal › Informations générales +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Modèle de champs 1 +Nombre d'éléments dans la fenêtre : 2 +MDLC_LibNormal +Informations sur les champs +06/08/2026 Batik 5994 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_LibNormal › Informations sur les champs +Fenêtre : MDLC_LibNormal +Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | elbisiV | | | +| --- | --- | --- | ------- | ------- | --- | --- | +nalP +| MDLC_LibNormal | 0 | 0 | 66 26 | 0 | Actif | | +| -------------- | --- | --- | ----- | --- | ----- | --- | +Modèle de champs : MDLC_LibNormal +Libellé +tuaféd rap eéminA +| | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | ------------- | ------------- | --- | +laitini tatE FTR tamroF +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| LIB_lib | 0 0 | 66 26 | 0 Actif | Gauche | Centre | | +| ------- | --- | ----- | ------- | ------ | ------ | --- | +Fenêtre : MDLC_LibNormal +Modèle de champs : MDLC_LibNormal +| Curseur survol | 0 | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| UI par l'utilisateur | Selon fenêtre | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Numéro aide | 0 | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement | 0 | | | | | | +Facteur d'agrandissement +0 +| Ancrage | <Aucun> | | | | | | +| ------- | ------- | --- | --- | --- | --- | --- | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Batik | | | | 5995 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_LibNormal › Informations sur les champs +Modèle de champs : MDLC_LibNormal +Libellé : MDLC_LibNormal.LIB_lib +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libellé +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +MDLC_LibNormal +Code des champs +Déclarations globales de MDLC_LibNormal +06/08/2026 Batik 5996 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_LibNormal › Code des champs +saLib est une chaîne ANSI +Initialisation de LIB_lib ( MDLC_LibNormal ) +MoiMême = saLib +Clic sur LIB_lib ( MDLC_LibNormal ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 5997 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_OngletFiches › Image +MDLC_OngletFiches +Image +MDLC_OngletFiches +Informations générales +MDLC_OngletFiches +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_OngletFiches.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 19/06/2025 15:45:24 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 18:19:07 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 646 Hauteur | 303 | +| 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. +| 06/08/2026 | | | Batik | | 5998 | +| ---------- | --- | --- | ----- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_OngletFiches › Informations générales +Etat initial Actif +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Onglet 1 Modèle de champs 1 +Volet (Onglet) 2 +06/08/2026 Batik 5999 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_OngletFiches › Informations générales +Nombre d'éléments dans la fenêtre : 4 +MDLC_OngletFiches +Informations sur les champs +Fenêtre : MDLC_OngletFiches +Modèle de champs +06/08/2026 Batik 6000 +X +noitisoP +Y +noitisoP ruegraL ruetuaH +nalP +elbisiV +laitini +tatE +BAT +ehcuoT +MDLC_OngletFiches 0 0 646 303 0 Actif +Modèle de champs : MDLC_OngletFiches +Onglet +X +noitisoP +Y +noitisoP ruegraL ruetuaH +nalP +elbisiV +laitini +tatE +BAT +ehcuoT +stelov +.soP +slennoitroporp +steloV +engil/stelov +.bN +ONG_Onglet 0 0 646 303 0 Actif haut 0 +Fenêtre : MDLC_OngletFiches + +Partie 4 › Modèle fenêtre WINDEV › MDLC_OngletFiches › Informations sur les champs +Modèle de champs : MDLC_OngletFiches +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Modèle de champs : MDLC_OngletFiches +Onglet : MDLC_OngletFiches.ONG_Onglet +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Onglet +Valeur initiale 1 +Ordre navigation 1 +Curseur survol 0 +Onglet dynamique Non +Libellé volet FR: Nouvel onglet +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Retrait gauche 0 +Retrait des onglets 0 +Numéro aide 0 +Autorise ChangeGabarit Oui +Bouton Fermer Oui +Bouton Nouveau Oui +Volets détachables Oui +Mémoriser Configuration Non +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +06/08/2026 Batik 6001 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_OngletFiches › Informations sur les champs +Facteur d'agrandissement 0 +Swipe Non +Mode affichage volets < Standard > +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Nb. états image 1 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +MDLC_OngletFiches +Code des champs +Initialisation de ONG_Onglet ( MDLC_OngletFiches ) +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de ONG_Onglet ( MDLC_OngletFiches ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 6002 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Table › Image +MDLC_Table +Image +MDLC_Table +Informations générales +MDLC_Table +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_Table.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 19/06/2025 16:06:26 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 18:18:24 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 258 Hauteur | 196 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ----------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| 06/08/2026 | | | Batik | | 6003 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Table › Informations générales +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Table 1 Modèle de champs 1 +Colonne de table 1 +Nombre d'éléments dans la fenêtre : 3 +MDLC_Table +Informations sur les champs +06/08/2026 Batik 6004 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Table › Informations sur les champs +Fenêtre : MDLC_Table +Modèle de champs +BAT ehcuoT +| | | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| MDLC_Table | | | 0 | 0 | 258 | 196 | 0 | Actif | | +| ---------- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Modèle de champs : MDLC_Table +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 | | | | | | +| --- | --------------------- | ------- | --- | ------------ | --- | -------- | --- | --- | --- | +| | | ruetuaH | | | | sruocraP | | | | +| | | ruegraL | | elbisiV | | | | | | +elbaT +nalP +Mémoir +| TABLE_Info | 2 | 2 252 190 | 0 | affichag | | | | | 1 | +| ---------- | --- | --------- | --- | -------- | --- | --- | --- | --- | --- | +Table : MDLC_Table.TABLE_Info +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_PKID | | 880 | Grisé | | | Droite Centre | Numériq | | | +| 06/08/2026 | | | | Batik | | | | | 6005 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Table › Informations sur les champs +Fenêtre : MDLC_Table +Modèle de champs : MDLC_Table +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Modèle de champs : MDLC_Table +Table : MDLC_Table.TABLE_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +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. 3 +Hauteur ligne (sans marges) 24 +Marge en haut 3 +Marge en bas 3 +Marge à gauche 7 +Marge à droite 4 +Sens Vertical +Retrait gauche 0 +Angle titre 0 +06/08/2026 Batik 6006 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Table › Informations sur les champs +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 +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 +06/08/2026 Batik 6007 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Table › Informations sur les champs +Table : MDLC_Table.TABLE_Info +Colonne de table : MDLC_Table.TABLE_Info.COL_PKID (1) +Titre FR: PKID +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 +MDLC_Table +Code des champs +Entrée dans MDLC_Table +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de TABLE_Info +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +06/08/2026 Batik 6008 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Table › Code des champs +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Entrée dans TABLE_Info +gsaNomChampEnCours = MoiMême..NomComplet +Bouton gauche enfoncé (WM_LBUTTONDOWN) de TABLE_Info +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 6009 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_LigneSepWidget › Image +MDLC_LigneSepWidget +Image +MDLC_LigneSepWidget +Informations générales +MDLC_LigneSepWidget +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_LigneSepWidget.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 22/07/2025 16:30:13 | | | | +| Dernière modification par | | SMR | | | | +| Date dernière modification | | 09/10/2025 08:58:56 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 640 Hauteur | 8 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| Transparence Vista | | Non | | | | +| 06/08/2026 | | | Batik | | 6010 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_LigneSepWidget › Informations générales +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 Windows 11 +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 +Statistiques de la fenêtre +Forme 1 Modèle de champs 1 +Nombre d'éléments dans la fenêtre : 2 +MDLC_LigneSepWidget +Informations sur les champs +06/08/2026 Batik 6011 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_LigneSepWidget › Informations sur les champs +Fenêtre : MDLC_LigneSepWidget +Modèle de champs +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --------------------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL elbisiV +nalP +| MDLC_LigneSepWidget | 0 | 0 640 | 8 0 | Actif | | +| ------------------- | --- | ----- | --- | ----- | --- | +Modèle de champs : MDLC_LigneSepWidget +Forme +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --------------------- | ------- | ------- | ------------ | --- | +| | | ruegraL | ruetuaH | | | +elbisiV +nalP +| FRM_Sep | 0 | 1 640 | 2 0 | Actif | | +| ------- | --- | ----- | --- | ----- | --- | +Fenêtre : MDLC_LigneSepWidget +Modèle de champs : MDLC_LigneSepWidget +| Curseur survol 0 | | | | | | +| ------------------------------------------------------------------- | --- | --- | --- | --- | --- | +| UI par l'utilisateur Selon fenêtre | | | | | | +| Unité des tailles Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur 0 | | | | | | +| Taux Paral. Y 0 | | | | | | +| Épinglé Non | | | | | | +| Masquer lors du scrolling Non | | | | | | +| Numéro aide 0 | | | | | | +| Alignement sur l'axe secondaire défini par le champ flexbox (auto) | | | | | | +| Facteur de rétrécissement 0 | | | | | | +| Facteur d'agrandissement 0 | | | | | | +| Ancrage <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Batik | | | 6012 | +| ---------- | --- | ----- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_LigneSepWidget › Informations sur les champs +Modèle de champs : MDLC_LigneSepWidget +Forme : MDLC_LigneSepWidget.FRM_Sep +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Sens Horizontal +Numéro aide 0 +Opacité 100 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 6013 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Tableau_Bord › Image +MDLC_Tableau_Bord +Image +MDLC_Tableau_Bord +Informations générales +MDLC_Tableau_Bord +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_Tableau_Bord.wdt +Créé par SMR +Date de création 22/07/2025 16:21:25 +Dernière modification par susana@applilogik.fr +Date dernière modification 19/03/2026 18:19:07 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +Position X 0 Position Y 0 Largeur 640 Hauteur 480 +06/08/2026 Batik 6014 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Tableau_Bord › Informations générales +| Visible | Barre de titre | | Menu système | | +| --------------------- | -------------------- | --- | --------------- | --- | +| Icône réduction | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | Détourer le fond | | Mode 9 images | | +| Redimensionnable | Avec grip | | Grip dans image | | +| Déplace/fond | Sauve position | | Ascenseur auto. | | +| Gestion grande police | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | Actif | | | | +| ------------------------------- | ----------------------------------- | --- | --- | --- | +| Curseur survol | 0 | | | | +| Copie d'écran | Oui | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | <Aucun> | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Oui | | | | +| Type cadre | <Aucun> | | | | +| 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 | Windows 11 | | | | +| 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 | | | | +| ---------------------- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | 6015 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Tableau_Bord › Informations générales +Statistiques de la fenêtre +| | Modèle de champs | | 1 | Tableau de bord | | | 1 | +| --- | ---------------- | --- | --- | --------------- | --- | --- | --- | +Nombre d'éléments dans la fenêtre : 2 +MDLC_Tableau_Bord +Informations sur les champs +Fenêtre : MDLC_Tableau_Bord +Modèle de champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| MDLC_Tableau_Bord | | 0 | 0 640 | 480 | 0 | Actif | | +| ----------------- | --- | --- | ----- | --- | --- | ----- | --- | +Modèle de champs : MDLC_Tableau_Bord +Tableau de bord +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| TDB_Info | | 4 | 3 633 | 475 | 0 | Actif | | +| -------- | --- | --- | ----- | --- | --- | ----- | --- | +Fenêtre : MDLC_Tableau_Bord +| 06/08/2026 | | | Batik | | | | 6016 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Tableau_Bord › Informations sur les champs +Modèle de champs : MDLC_Tableau_Bord +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Modèle de champs : MDLC_Tableau_Bord +Tableau de bord : MDLC_Tableau_Bord.TDB_Info +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Tableau de bord +Ordre navigation 1 +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 +Hauteur éléments 10 +Largeur éléments 10 +Marge largeur 0 +Marge hauteur 0 +Compacter option Non +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +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 +Nb. colonnes 63 +06/08/2026 Batik 6017 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Tableau_Bord › Informations sur les champs +Mode affichage TDB Nombre de colonnes variable +Configuration persistante Non +Édition permanent Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Charger l'aperçu à l'ouverture Oui +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 +MDLC_Tableau_Bord +Code des champs +Initialisation de TDB_Info ( MDLC_Tableau_Bord ) +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Ajout d'un Widget dans TDB_Info ( MDLC_Tableau_Bord ) +procédure AjoutWidget(Widget) +Suppression d'un Widget de TDB_Info ( MDLC_Tableau_Bord ) +procédure SuppressionWidget(Widget) +Déplacement d'un Widget dans TDB_Info ( MDLC_Tableau_Bord ) +procédure DéplacementWidget(Widget) +Changement de taille d'un Widget de TDB_Info ( MDLC_Tableau_Bord ) +procédure RedimensionnementWidget(Widget) +06/08/2026 Batik 6018 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BTN_Valider › Image +MDLC_BTN_Valider +Image +MDLC_BTN_Valider +Informations générales +MDLC_BTN_Valider +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_BTN_Valider.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 18/07/2025 10:42:56 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 18:20:09 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 141 Hauteur | 35 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| 06/08/2026 | | | Batik | | 6019 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BTN_Valider › Informations générales +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Bouton 1 Modèle de champs 1 +Nombre d'éléments dans la fenêtre : 2 +MDLC_BTN_Valider +Informations sur les champs +06/08/2026 Batik 6020 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BTN_Valider › Informations sur les champs +Fenêtre : MDLC_BTN_Valider +Modèle de champs +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| MDLC_BTN_Valider | 0 | 0 141 | 35 | 0 | Actif | | +| ---------------- | --- | ----- | --- | --- | ----- | --- | +Modèle de champs : MDLC_BTN_Valider +Bouton +BAT ehcuoT notuob epyT +| | X noitisoP Y noitisoP | | | laitini tatE | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Valider | 0 0 | 141 35 | 0 | Actif | Normal | | +| ----------- | --- | ------ | --- | ----- | ------ | --- | +Fenêtre : MDLC_BTN_Valider +Modèle de champs : MDLC_BTN_Valider +| Curseur survol | 0 | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| UI par l'utilisateur | Selon fenêtre | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Numéro aide | 0 | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | | +| ------------------------- | ------- | --- | --- | --- | --- | --- | +| Ancrage | <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Batik | | | | 6021 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BTN_Valider › Informations sur les champs +Modèle de champs : MDLC_BTN_Valider +Bouton : MDLC_BTN_Valider.BTN_Valider +Note pour la documentation technique +FR: { +"Libelle":"Bouton de validation" +} +Libellé FR: Valider +Ordre navigation 1 +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> +Nb. états image 1 +Nb. états fond 1 +Etirement de l'image de fond Largeur et hauteur +Nb. étapes animation 1 +Largeur Halo 0 +Hauteur Halo 0 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 6022 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BTN_Valider › Code des champs +MDLC_BTN_Valider +Code des champs +Déclarations globales de MDLC_BTN_Valider +saLib est une chaîne ANSI = "Valider" +Initialisation de BTN_Valider ( MDLC_BTN_Valider ) +// Version 1 +// Description +// Bouton simple +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Clic sur BTN_Valider ( MDLC_BTN_Valider ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 6023 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BTN_Annuler › Image +MDLC_BTN_Annuler +Image +MDLC_BTN_Annuler +Informations générales +MDLC_BTN_Annuler +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_BTN_Annuler.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 18/07/2025 10:44:43 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 21/04/2026 15:44:14 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 141 Hauteur | 35 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| 06/08/2026 | | | Batik | | 6024 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BTN_Annuler › Informations générales +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Bouton 1 Modèle de champs 1 +Nombre d'éléments dans la fenêtre : 2 +MDLC_BTN_Annuler +Informations sur les champs +06/08/2026 Batik 6025 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BTN_Annuler › Informations sur les champs +Fenêtre : MDLC_BTN_Annuler +Modèle de champs +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| MDLC_BTN_Annuler | 0 | 0 141 | 35 | 0 | Actif | | +| ---------------- | --- | ----- | --- | --- | ----- | --- | +Modèle de champs : MDLC_BTN_Annuler +Bouton +BAT ehcuoT notuob epyT +| | X noitisoP Y noitisoP | | | laitini tatE | | | +| --- | --------------------- | --- | --- | ------------ | --- | --- | +ruegraL ruetuaH +elbisiV +nalP +| BTN_Annuler | 0 0 | 141 35 | 0 | Actif | Normal | | +| ----------- | --- | ------ | --- | ----- | ------ | --- | +Fenêtre : MDLC_BTN_Annuler +Modèle de champs : MDLC_BTN_Annuler +| Curseur survol | 0 | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | +| UI par l'utilisateur | Selon fenêtre | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | 0 | | | | | | +| Taux Paral. Y | 0 | | | | | | +| Épinglé | Non | | | | | | +| Masquer lors du scrolling | Non | | | | | | +| Numéro aide | 0 | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | | +| ------------------------- | ------- | --- | --- | --- | --- | --- | +| Ancrage | <Aucun> | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Batik | | | | 6026 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BTN_Annuler › Informations sur les champs +Modèle de champs : MDLC_BTN_Annuler +Bouton : MDLC_BTN_Annuler.BTN_Annuler +Note pour la documentation technique +FR: { +"Libelle":"Bouton d'annulation" +} +Libellé FR: Annuler +Ordre navigation 1 +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> +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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 6027 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BTN_Annuler › Code des champs +MDLC_BTN_Annuler +Code des champs +Déclarations globales de MDLC_BTN_Annuler +saLib est une chaîne ANSI = "Annuler" +Initialisation de BTN_Annuler ( MDLC_BTN_Annuler ) +// Version 1 +// Description +// Bouton simple +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Clic sur BTN_Annuler ( MDLC_BTN_Annuler ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 6028 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_TdB_Config › Image +MDLC_TdB_Config +Image +MDLC_TdB_Config +Informations générales +MDLC_TdB_Config +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_TdB_Config.wdt +Créé par SMR +Date de création 24/07/2025 14:09:37 +Dernière modification par susana@applilogik.fr +Date dernière modification 19/03/2026 18:19:06 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +Position X 0 Position Y 0 Largeur 640 Hauteur 480 +06/08/2026 Batik 6029 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_TdB_Config › Informations générales +| Visible | Barre de titre | | Menu système | | +| --------------------- | -------------------- | --- | --------------- | --- | +| Icône réduction | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | Détourer le fond | | Mode 9 images | | +| Redimensionnable | Avec grip | | Grip dans image | | +| Déplace/fond | Sauve position | | Ascenseur auto. | | +| Gestion grande police | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | Actif | | | | +| ------------------------------- | ----------------------------------- | --- | --- | --- | +| Curseur survol | 0 | | | | +| Copie d'écran | Oui | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | <Aucun> | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Oui | | | | +| Type cadre | <Aucun> | | | | +| 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 | Windows 11 | | | | +| 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 | | | | +| ---------------------- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | 6030 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_TdB_Config › Informations générales +Statistiques de la fenêtre +| | Modèle de champs | | 1 | Tableau de bord | | | 1 | +| --- | ---------------- | --- | --- | --------------- | --- | --- | --- | +Nombre d'éléments dans la fenêtre : 2 +MDLC_TdB_Config +Informations sur les champs +Fenêtre : MDLC_TdB_Config +Modèle de champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| MDLC_TdB_Config | | 0 | 0 640 | 480 | 0 | Actif | | +| --------------- | --- | --- | ----- | --- | --- | ----- | --- | +Modèle de champs : MDLC_TdB_Config +Tableau de bord +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| TDB_Config | | 0 | 0 640 | 480 | 0 | Actif | | +| ---------- | --- | --- | ----- | --- | --- | ----- | --- | +Fenêtre : MDLC_TdB_Config +| 06/08/2026 | | | Batik | | | | 6031 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_TdB_Config › Informations sur les champs +Modèle de champs : MDLC_TdB_Config +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Modèle de champs : MDLC_TdB_Config +Tableau de bord : MDLC_TdB_Config.TDB_Config +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Tableau de bord +Ordre navigation 1 +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 +Hauteur éléments 10 +Largeur éléments 10 +Marge largeur 0 +Marge hauteur 0 +Compacter option Non +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +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 +Nb. colonnes 64 +06/08/2026 Batik 6032 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_TdB_Config › Informations sur les champs +Mode affichage TDB Nombre de colonnes variable +Configuration persistante Non +Édition permanent Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Charger l'aperçu à l'ouverture Oui +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 +MDLC_TdB_Config +Code des champs +Initialisation de TDB_Config ( MDLC_TdB_Config ) +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Ajout d'un Widget dans TDB_Config ( MDLC_TdB_Config ) +procédure AjoutWidget(Widget) +Suppression d'un Widget de TDB_Config ( MDLC_TdB_Config ) +procédure SuppressionWidget(Widget) +Déplacement d'un Widget dans TDB_Config ( MDLC_TdB_Config ) +procédure DéplacementWidget(Widget) +Changement de taille d'un Widget de TDB_Config ( MDLC_TdB_Config ) +procédure RedimensionnementWidget(Widget) +06/08/2026 Batik 6033 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_HTML › Image +MDLC_HTML +Image +MDLC_HTML +Informations générales +MDLC_HTML +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_HTML.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 30/07/2025 10:07:35 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 18:29:36 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 514 Hauteur | 256 | +| 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 | | | | +| ------------ | --- | ----- | ----- | --- | ---- | +| 06/08/2026 | | | Batik | | 6034 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_HTML › Informations générales +Curseur survol 0 +Copie d'écran Oui +Unité des tailles Plateforme unique desktop OU mobile +Ancrage au contenu <Aucun> +Opacité 100 +Titre personnalisé Non +Titre perso. : hauteur 30 +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Modèle de champs 1 Éditeur HTML 1 +06/08/2026 Batik 6035 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_HTML › Informations générales +Nombre d'éléments dans la fenêtre : 2 +MDLC_HTML +Informations sur les champs +Fenêtre : MDLC_HTML +Modèle de champs +BAT ehcuoT +| | X noitisoP | | | laitini tatE | | +| --- | ---------- | --- | --- | ------------ | --- | +Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| MDLC_HTML | 0 | 0 514 256 | 0 | Actif | | +| --------- | --- | --------- | --- | ----- | --- | +Modèle de champs : MDLC_HTML +Éditeur HTML +BAT ehcuoT +| | X noitisoP Y noitisoP | | | laitini tatE | | +| --- | --------------------- | --- | --- | ------------ | --- | +ruetuaH +ruegraL +elbisiV +nalP +| EDHTML_Html | 0 | 0 514 256 | 0 | Actif | | +| ----------- | --- | --------- | --- | ----- | --- | +Fenêtre : MDLC_HTML +Modèle de champs : MDLC_HTML +| Curseur survol 0 | | | | | | +| ------------------------------------------------------------------- | --- | ----- | --- | --- | ---- | +| UI par l'utilisateur Selon fenêtre | | | | | | +| Unité des tailles Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur 0 | | | | | | +| Taux Paral. Y 0 | | | | | | +| Épinglé Non | | | | | | +| Masquer lors du scrolling Non | | | | | | +| Numéro aide 0 | | | | | | +| Alignement sur l'axe secondaire défini par le champ flexbox (auto) | | | | | | +| 06/08/2026 | | Batik | | | 6036 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_HTML › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Modèle de champs : MDLC_HTML +Éditeur HTML : MDLC_HTML.EDHTML_Html +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Éditeur HTML +Ordre navigation 1 +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 Oui +Texte Markdown Non +Mode menu ctx. <Aucun> +Thème sur ruban Non +Change Document Non +Édition EMail Oui +Code source Oui +Exécute JS dans document Non +Liaison sur <body> Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +06/08/2026 Batik 6037 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_HTML › Informations sur les champs +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +MDLC_HTML +Code des champs +Initialisation de EDHTML_Html ( MDLC_HTML ) +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Modification de la sélection de EDHTML_Html ( MDLC_HTML ) +procédure ModificationSélection(selectionHTML est un edtHTMLSélection) +Chargement de ressources par EDHTML_Html ( MDLC_HTML ) +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 +Bouton gauche enfoncé (WM_LBUTTONDOWN) de EDHTML_Html ( MDLC_HTML ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 6038 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BoutonIconeRouge › Image +MDLC_BoutonIconeRouge +Image +MDLC_BoutonIconeRouge +Informations générales +MDLC_BoutonIconeRouge +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_BoutonIconeRouge.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 30/07/2025 18:07:56 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 18:21:10 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 30 Hauteur | 30 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 6039 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BoutonIconeRouge › Informations générales +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 Windows 11 +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 +Statistiques de la fenêtre +Image 1 Modèle de champs 1 +Nombre d'éléments dans la fenêtre : 2 +MDLC_BoutonIconeRouge +Informations sur les champs +06/08/2026 Batik 6040 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BoutonIconeRouge › Informations sur les champs +Fenêtre : MDLC_BoutonIconeRouge +Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | elbisiV | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | +nalP +| MDLC_BoutonIconeRouge | | 0 | 0 | 30 30 | 0 | Actif | | +| --------------------- | --- | --- | --- | ----- | --- | ----- | --- | +Modèle de champs : MDLC_BoutonIconeRouge +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --- | --------------------- | --- | ------- | ------------ | --------- | ---------- | +| | | | | ruetuaH | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 0 0 | 30 | 30 0 | Actif | | | +| --------- | --- | --- | --- | ---- | ----- | --- | --- | +Fenêtre : MDLC_BoutonIconeRouge +Modèle de champs : MDLC_BoutonIconeRouge +| Curseur survol | | 0 | | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | --- | +| UI par l'utilisateur | | Selon fenêtre | | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | +| Taux Paral. Y | | 0 | | | | | | +| Épinglé | | Non | | | | | | +| Masquer lors du scrolling | | Non | | | | | | +| Numéro aide | | 0 | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | | 0 | | | | | | +| -------------------------- | ---- | ------- | ---- | --- | ---- | --- | ---- | +| Facteur d'agrandissement | | 0 | | | | | | +| Ancrage | | <Aucun> | | | | | | +| | 1000 | | 1000 | | 1000 | | 1000 | +Taux anc. droite Taux anc. bas Taux anc. largeur Taux anc. hauteur +| 06/08/2026 | | | Batik | | | | 6041 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BoutonIconeRouge › Informations sur les champs +Modèle de champs : MDLC_BoutonIconeRouge +Image : MDLC_BoutonIconeRouge.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\poubelle_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +MDLC_BoutonIconeRouge +Code des champs +Initialisation de IMG_Icone ( MDLC_BoutonIconeRouge ) +06/08/2026 Batik 6042 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BoutonIconeRouge › Code des champs +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Clic sur IMG_Icone ( MDLC_BoutonIconeRouge ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 6043 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BoutonIcone › Image +MDLC_BoutonIcone +Image +MDLC_BoutonIcone +Informations générales +MDLC_BoutonIcone +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_BoutonIcone.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 30/07/2025 18:09:41 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 18:21:10 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 30 Hauteur | 30 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 6044 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BoutonIcone › Informations générales +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 Windows 11 +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 +Statistiques de la fenêtre +Image 1 Modèle de champs 1 +Nombre d'éléments dans la fenêtre : 2 +MDLC_BoutonIcone +Informations sur les champs +06/08/2026 Batik 6045 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BoutonIcone › Informations sur les champs +Fenêtre : MDLC_BoutonIcone +Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | elbisiV | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | +nalP +| MDLC_BoutonIcone | | 0 | 0 | 30 30 | 0 | Actif | | +| ---------------- | --- | --- | --- | ----- | --- | ----- | --- | +Modèle de champs : MDLC_BoutonIcone +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --- | --------------------- | --- | ------- | ------------ | --------- | ---------- | +| | | | | ruetuaH | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 0 0 | 30 | 30 0 | Actif | | | +| --------- | --- | --- | --- | ---- | ----- | --- | --- | +Fenêtre : MDLC_BoutonIcone +Modèle de champs : MDLC_BoutonIcone +| Curseur survol | | 0 | | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | --- | +| UI par l'utilisateur | | Selon fenêtre | | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | +| Taux Paral. Y | | 0 | | | | | | +| Épinglé | | Non | | | | | | +| Masquer lors du scrolling | | Non | | | | | | +| Numéro aide | | 0 | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | | 0 | | | | | | +| -------------------------- | ---- | ------- | ---- | --- | ---- | --- | ---- | +| Facteur d'agrandissement | | 0 | | | | | | +| Ancrage | | <Aucun> | | | | | | +| | 1000 | | 1000 | | 1000 | | 1000 | +Taux anc. droite Taux anc. bas Taux anc. largeur Taux anc. hauteur +| 06/08/2026 | | | Batik | | | | 6046 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BoutonIcone › Informations sur les champs +Modèle de champs : MDLC_BoutonIcone +Image : MDLC_BoutonIcone.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\crayon_noire.svg +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +MDLC_BoutonIcone +Code des champs +Initialisation de IMG_Icone ( MDLC_BoutonIcone ) +06/08/2026 Batik 6047 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BoutonIcone › Code des champs +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Clic sur IMG_Icone ( MDLC_BoutonIcone ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 6048 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BoutonIconeWidgetTitre › Image +MDLC_BoutonIconeWidgetTitre +Image +MDLC_BoutonIconeWidgetTitre +Informations générales +MDLC_BoutonIconeWidgetTitre +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_BoutonIconeWidgetTitre.wdt +| Créé par | | SMR | | | | +| -------------------------- | ---------- | ----------------------------- | ------- | --------------- | --- | +| Date de création | | 30/07/2025 18:09:41 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 18:21:10 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| | 0 | | 0 | 29 | 24 | +| Position X | Position Y | | Largeur | Hauteur | | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| Type cadre | | <Aucun> | | | | +| 06/08/2026 | | | Batik | | 6049 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BoutonIconeWidgetTitre › Informations générales +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 Windows 11 +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 +Statistiques de la fenêtre +Image 1 Modèle de champs 1 +Nombre d'éléments dans la fenêtre : 2 +MDLC_BoutonIconeWidgetTitre +Informations sur les champs +06/08/2026 Batik 6050 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BoutonIconeWidgetTitre › Informations sur les champs +Fenêtre : MDLC_BoutonIconeWidgetTitre +Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | elbisiV | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | +nalP +| MDLC_BoutonIconeWidgetTitre | | 0 | 0 | 29 24 | 0 | Actif | | +| --------------------------- | --- | --- | --- | ----- | --- | ----- | --- | +Modèle de champs : MDLC_BoutonIconeWidgetTitre +Image +cilc ruop eriatiroirP tuaféd rap eéminA +| | | X noitisoP Y noitisoP | | | laitini tatE | | sucof cevA | +| --- | --- | --------------------- | --- | ------- | ------------ | --------- | ---------- | +| | | | | ruetuaH | | cilc cevA | | +ruegraL +elbisiV +nalP +| IMG_Icone | | 0 0 | 29 | 24 0 | Actif | | | +| --------- | --- | --- | --- | ---- | ----- | --- | --- | +Fenêtre : MDLC_BoutonIconeWidgetTitre +Modèle de champs : MDLC_BoutonIconeWidgetTitre +| Curseur survol | | 0 | | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | --- | +| UI par l'utilisateur | | Selon fenêtre | | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | +| Taux Paral. Y | | 0 | | | | | | +| Épinglé | | Non | | | | | | +| Masquer lors du scrolling | | Non | | | | | | +| Numéro aide | | 0 | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | | 0 | | | | | | +| -------------------------- | ---- | ------- | ---- | --- | ---- | --- | ---- | +| Facteur d'agrandissement | | 0 | | | | | | +| Ancrage | | <Aucun> | | | | | | +| | 1000 | | 1000 | | 1000 | | 1000 | +Taux anc. droite Taux anc. bas Taux anc. largeur Taux anc. hauteur +| 06/08/2026 | | | Batik | | | | 6051 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BoutonIconeWidgetTitre › Informations sur les champs +Modèle de champs : MDLC_BoutonIconeWidgetTitre +Image : MDLC_BoutonIconeWidgetTitre.IMG_Icone +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale FR: D:\Projets Windev\Batik\Nouvelle Version\Batik\crayon_noire.svg +Groupe GR_Saisie +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 Oui +Mode 9 images Non +Chargement en fond Non +Orientation EXIF Oui +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 +MDLC_BoutonIconeWidgetTitre +Code des champs +Initialisation de IMG_Icone ( MDLC_BoutonIconeWidgetTitre ) +06/08/2026 Batik 6052 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_BoutonIconeWidgetTitre › Code des champs +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Clic sur IMG_Icone ( MDLC_BoutonIconeWidgetTitre ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 6053 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ComboSansModif › Image +MDLC_ComboSansModif +Image +MDLC_ComboSansModif +Informations générales +MDLC_ComboSansModif +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_ComboSansModif.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 17/06/2025 10:56:45 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 18:29:37 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 117 Hauteur | 53 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| 06/08/2026 | | | Batik | | 6054 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ComboSansModif › Informations générales +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Combo 1 Modèle de champs 1 +Nombre d'éléments dans la fenêtre : 2 +MDLC_ComboSansModif +Informations sur les champs +06/08/2026 Batik 6055 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ComboSansModif › Informations sur les champs +Fenêtre : MDLC_ComboSansModif +Modèle de champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| MDLC_ComboSansModif | | 0 | 0 117 | 53 | 0 | Actif | | +| ------------------- | --- | --- | ----- | --- | --- | ----- | --- | +Modèle de champs : MDLC_ComboSansModif +Combo +reihcif eétsissa eisiaS +| | | | | | eriotagilbo eisiaS | | ruesnecsa elluB .zroH tnemeliféD | +| --- | ---------- | --- | ------------ | ---------- | ------------------ | ------------ | -------------------------------- | +| | | | | BAT ehcuoT | | ediv is LLUN | | +| | X noitisoP | | laitini tatE | | eisias cevA | | | +| | Y noitisoP | | | sruocraP | | | | +ruegraL ruetuaH +elbisiV +| | | nalP | | elbaT | eéirT | | | +| --------- | ------- | ---- | ---------- | ------- | ----- | --- | --- | +| CMB_Combo | 0 0 117 | 53 | 0 affichag | Mémoire | Non | | | +Fenêtre : MDLC_ComboSansModif +Modèle de champs : MDLC_ComboSansModif +| Curseur survol | 0 | | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Numéro aide | 0 | | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | | +Facteur de rétrécissement +0 +| Facteur d'agrandissement | 0 | | | | | | | +| ------------------------- | ------- | --- | --- | --- | --- | --- | --- | +| Ancrage | <Aucun> | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Batik | | | | 6056 | +| ---------- | --- | --- | ----- | --- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ComboSansModif › Informations sur les champs +Modèle de champs : MDLC_ComboSansModif +Combo : MDLC_ComboSansModif.CMB_Combo +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Combo : +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 117 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 0 +Largeur interne 117 +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 +06/08/2026 Batik 6057 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ComboSansModif › Informations sur les champs +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 Oui +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +MDLC_ComboSansModif +Code des champs +Déclarations globales de MDLC_ComboSansModif +saLib est une chaîne ANSI +Initialisation de CMB_Combo ( MDLC_ComboSansModif ) +MoiMême..Libellé = saLib +// Version 1 +// Description +// Combo liste simple +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de CMB_Combo ( MDLC_ComboSansModif ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 6058 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Segmente › Image +MDLC_Segmente +Image +MDLC_Segmente +Informations générales +MDLC_Segmente +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_Segmente.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 01/08/2025 08:40:15 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 18:29:38 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 214 Hauteur | 39 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| 06/08/2026 | | | Batik | | 6059 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Segmente › Informations générales +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Modèle de champs 1 Bouton segmenté 1 +Option de bouton segmenté 2 +Nombre d'éléments dans la fenêtre : 4 +MDLC_Segmente +Informations sur les champs +06/08/2026 Batik 6060 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Segmente › Informations sur les champs +Fenêtre : MDLC_Segmente +Modèle de champs +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | ruegraL | | elbisiV | | | +| --- | --- | ------- | --- | ------- | --- | --- | +nalP +| MDLC_Segmente | 0 | 0 214 | 39 | 0 | Actif | | +| ------------- | --- | ----- | --- | --- | ----- | --- | +Modèle de champs : MDLC_Segmente +Bouton segmenté +BAT ehcuoT +| | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| BS_Choix | 0 | 0 214 | 39 | 0 | Actif | | +| -------- | --- | ----- | --- | --- | ----- | --- | +Fenêtre : MDLC_Segmente +Modèle de champs : MDLC_Segmente +| Curseur survol 0 | | | | | | | +| ------------------------------------------------------------------- | --- | --- | --- | --- | --- | --- | +| UI par l'utilisateur Selon fenêtre | | | | | | | +| Unité des tailles Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur 0 | | | | | | | +| Taux Paral. Y 0 | | | | | | | +| Épinglé Non | | | | | | | +| Masquer lors du scrolling Non | | | | | | | +| Numéro aide 0 | | | | | | | +| Alignement sur l'axe secondaire défini par le champ flexbox (auto) | | | | | | | +| Facteur de rétrécissement 0 | | | | | | | +| Facteur d'agrandissement 0 | | | | | | | +| Ancrage <Aucun> | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Batik | | | | 6061 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Segmente › Informations sur les champs +Modèle de champs : MDLC_Segmente +Bouton segmenté : MDLC_Segmente.BS_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Ordre navigation 1 +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é) +Espace entre options 4 +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit 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 +Valeur persistante Non +Mode bouton segmenté Sélecteur +Texte Markdown Non +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 +MDLC_Segmente +Code des champs +Initialisation de BS_Choix ( MDLC_Segmente ) +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +06/08/2026 Batik 6062 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Segmente › Code des champs +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +A chaque modification de BS_Choix ( MDLC_Segmente ) +procédure OptionModifiée(IndiceOptionModifiée) +Bouton gauche enfoncé (WM_LBUTTONDOWN) de BS_Choix ( MDLC_Segmente ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 6063 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Horaire › Image +MDLC_Horaire +Image +MDLC_Horaire +Informations générales +MDLC_Horaire +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_Horaire.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 06/08/2025 09:09:44 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 18:29:36 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 163 Hauteur | 53 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| 06/08/2026 | | | Batik | | 6064 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Horaire › Informations générales +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Combo 2 Modèle de champs 1 +Nombre d'éléments dans la fenêtre : 3 +MDLC_Horaire +Informations sur les champs +06/08/2026 Batik 6065 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Horaire › Informations sur les champs +Fenêtre : MDLC_Horaire +Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| MDLC_Horaire | | 0 | 0 | 163 | 53 | 0 | Actif | | +| ------------ | --- | --- | --- | --- | --- | --- | ----- | --- | +Modèle de champs : MDLC_Horaire +Combo +reihcif eétsissa eisiaS +| | | | | | | eriotagilbo eisiaS | | ruesnecsa elluB .zroH tnemeliféD | +| --- | ---------- | --- | --- | ------------ | ---------- | ------------------ | ------------ | -------------------------------- | +| | | | | | BAT ehcuoT | | ediv is LLUN | | +| | X noitisoP | | | laitini tatE | | eisias cevA | | | +| | Y noitisoP | | | | sruocraP | | | | +ruegraL ruetuaH +elbisiV +| | | | nalP | | elbaT | eéirT | | | +| -------------- | ---- | ----- | ---- | ----- | ------- | ----- | --- | --- | +| CMB_HeureDebut | 0 0 | 78 53 | 0 | Actif | Mémoire | Non | | | +| CMB_HeureFin | 86 0 | 77 53 | 0 | Actif | Mémoire | Non | | | +Fenêtre : MDLC_Horaire +Modèle de champs : MDLC_Horaire +Note pour la documentation technique +FR: { + "Libelle":"Libelle" +} +| Curseur survol | | 0 | | | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| UI par l'utilisateur | | Selon fenêtre | | | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | | +| Taux Paral. Y | | 0 | | | | | | | +| Épinglé | | Non | | | | | | | +| Masquer lors du scrolling | | Non | | | | | | | +| Numéro aide | | 0 | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +Facteur de rétrécissement +0 +| Facteur d'agrandissement | | 0 | | | | | | | +| ------------------------- | --- | ------- | --- | --- | --- | --- | --- | --- | +| Ancrage | | <Aucun> | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | Batik | | | | | 6066 | +| ---------- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Horaire › Informations sur les champs +Modèle de champs : MDLC_Horaire +Combo : MDLC_Horaire.CMB_HeureDebut +Libellé FR: De +Ordre navigation 1 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Droite +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 77 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 1 +Largeur interne 77 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Heure +Masque saisie FR: HH:MM +Format retour HHMMSS +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 Oui +Fin saisie automatique Non +Vide si zéro Oui +06/08/2026 Batik 6067 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Horaire › Informations sur les champs +Avec focus Oui +Redimensionnable Oui +Mémorise la taille Oui +Historique des saisies Non +Historique des sélections Non +gLienActive Oui +Valeur persistante Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Avec recherche Non +Nb. Enreg. Max 0 +1ère ligne perso. Non +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +Combo : MDLC_Horaire.CMB_HeureFin +Libellé FR: à +Ordre navigation 2 +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Util. gValeurMémorisée pour valeur Non +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Cadrage horz. Droite +Cadrage vert. Centre +Orientation verticale Non +Hauteur liste 0 +Largeur liste 77 +Larg. déroulée perso. Non +Hauteur ligne 38 +Retrait gauche 10 +Position X interne 86 +Largeur interne 77 +Cadrage fonctions gXXX Cadrage ignoré (pour compatibilité) +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Taille de saisie 0 +Type saisie Heure +Masque saisie FR: HH:MM +Format retour HHMMSS +Mode ellipse <Aucun> +Unicode Non +06/08/2026 Batik 6068 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Horaire › 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 +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 Oui +Fin saisie automatique Non +Vide si zéro Oui +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 Droite, largeur et hauteur +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 500 Taux anc. hauteur 1000 +MDLC_Horaire +Code des champs +Déclarations globales de MDLC_Horaire +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de MDLC_Horaire +06/08/2026 Batik 6069 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Horaire › Code des champs +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de CMB_HeureDebut ( MDLC_Horaire ) +// Version 1 +// Description +// Saisie de plage horaire avec sélecteur +// Fonctionnement : +// Saisir (ou sélectionner) le début de la plage horaire dans la première combo (COMBO_HeureDébut), +// et saisie (ou sélectionner) la fin de la plage horaire dans la seconde combo (CMB_HeureFin). +// La combo CMB_HeureFin propose l'horaire de fin à partir de l'horaire de début sélectionnée et +indique la durée totale de la plage horaire. +// La saisie libre est possible (12h15 à 12h37 par exemple). +// Adaptation : +// Il est possible de supprimer la durée dans la combo CMB_HeureFin en supprimant le commentaire de +l'événement "Sélection d'une ligne". +MoiMême = HeureSys() +//Réglage du pas en minutes +MoiMême..Note = 15 +hDepart est une Heure +hDepart..Heure = 0 +hDepart..Minute = 0 +hDepart..seconde = 0 +hDepart..milliseconde = 0 +hFinal est un Heure = hDepart +hFinal..Heure = 23 +hFinal..Minute = 60 - Val(MoiMême..Note) +hCourante est une Heure =hDepart +ListeSupprimeTout(MoiMême) +tantque hCourante < hFinal +d est une Durée = hCourante - hDepart +ListeAjoute(MoiMême,hCourante) +hCourante..Minute += MoiMême..Note +fin +ListeAjoute(MoiMême,hFinal) +Entrée dans CMB_HeureDebut ( MDLC_Horaire ) +ComboOuvre(MoiMême) +Sélection d'une ligne de CMB_HeureDebut ( MDLC_Horaire ) +ExécuteTraitement(MoiMême,trtModification) +A chaque modification de CMB_HeureDebut ( MDLC_Horaire ) +//alimente la combo suivante +MoiMême..Note = Max(1,Min(MoiMême..Note,59)) +06/08/2026 Batik 6070 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Horaire › Code des champs +hDepart est une Heure = MoiMême +hCourante est une Heure =hDepart +si hCourante..minute < MoiMême..Note alors +hCourante..Minute = MoiMême..Note +sinon +hCourante..Minute = 0 +hCourante..heure++ +fin +ListeSupprimeTout(CMB_HeureFin) +CMB_HeureFin=MoiMême +ListeAjoute(CMB_HeureFin,MoiMême) +hFinal est un Heure = hDepart +hFinal..Heure = 23 +hFinal..minute = (60 - Val(MoiMême..Note)) +d est une Durée = hCourante - hDepart +tantque hCourante < hFinal +d = hCourante - hDepart +ListeAjoute(CMB_HeureFin,hCourante) +hCourante..minute += MoiMême..Note +fin +d = hFinal - hDepart +ListeAjoute(CMB_HeureFin,hFinal) +ExécuteTraitement(CMB_HeureFin,trtModification) +Initialisation de CMB_HeureFin ( MDLC_Horaire ) +// Version 1 +// Description +// Saisie de plage horaire avec sélecteur +// Fonctionnement : +// Saisir (ou sélectionner) le début de la plage horaire dans la première combo (COMBO_HeureDébut), +// et saisie (ou sélectionner) la fin de la plage horaire dans la seconde combo (CMB_HeureFin). +// La combo CMB_HeureFin propose l'horaire de fin à partir de l'horaire de début sélectionnée et +indique la durée totale de la plage horaire dans sa bulle. +// La saisie libre est possible (12h15 à 12h37 par exemple). +// Adaptation : +// Il est possible de supprimer la durée dans la combo CMB_HeureFin en supprimant le commentaire de +l'événement "Sélection d'une ligne". +MoiMême = HeureSys() +// Heure de fin par défaut au prochain pas +si CMB_HeureDebut..Occurrence>1 alors +MoiMême = CMB_HeureDebut[2]..ValeurAffichée +fin +Entrée dans CMB_HeureFin ( MDLC_Horaire ) +ComboOuvre(MoiMême) +Sélection d'une ligne de CMB_HeureFin ( MDLC_Horaire ) +ExécuteTraitement(MoiMême,trtModification) +A chaque modification de CMB_HeureFin ( MDLC_Horaire ) +// Met à jour la durée dans la bulle si l'heure est valide +06/08/2026 Batik 6071 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Horaire › Code des champs +si pas HeureValide(MoiMême) _ou_ pas HeureValide(CMB_HeureDebut) retour +hDebut est une Heure = CMB_HeureDebut +hFin est une Heure = CMB_HeureFin +d est une Durée = hFin - hDebut +MoiMême..Bulle = d=0 ? "" sinon ChaîneConstruit("Durée : %1h%2",d..heure,d..minute=0? "" sinon d.. +Minute) +06/08/2026 Batik 6072 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_OngletDynamique › Image +MDLC_OngletDynamique +Image +MDLC_OngletDynamique +Informations générales +MDLC_OngletDynamique +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_OngletDynamique.wdt +Créé par SMR +Date de création 21/08/2025 17:22:52 +Dernière modification par susana@applilogik.fr +Date dernière modification 19/03/2026 18:15:27 +Type fenêtre Fenêtre libre +Mode ouverture (Desktop) Centrée par rapport à la mère +Position X 0 Position Y 0 Largeur 640 Hauteur 480 +06/08/2026 Batik 6073 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_OngletDynamique › Informations générales +| Visible | Barre de titre | | Menu système | | +| --------------------- | -------------------- | --- | --------------- | --- | +| Icône réduction | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | Détourer le fond | | Mode 9 images | | +| Redimensionnable | Avec grip | | Grip dans image | | +| Déplace/fond | Sauve position | | Ascenseur auto. | | +| Gestion grande police | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | Actif | | | | +| ------------------------------- | ----------------------------------- | --- | --- | --- | +| Curseur survol | 0 | | | | +| Copie d'écran | Oui | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | <Aucun> | | | | +| Opacité | 100 | | | | +| Titre personnalisé | Non | | | | +| Titre perso. : hauteur | 30 | | | | +| Titre perso. : Affiche le titre | Oui | | | | +| Pos. Menu Perso | Non | | | | +| Icône de fermeture | Oui | | | | +| Type cadre | <Aucun> | | | | +| 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 | Windows 11 | | | | +| 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 | | | | +| ---------------------- | --- | ----- | --- | ---- | +| 06/08/2026 | | Batik | | 6074 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_OngletDynamique › Informations générales +Statistiques de la fenêtre +| | Onglet | | | 1 | Modèle de champs | | | 1 | +| --- | ------ | --- | --- | --- | ---------------- | --- | --- | --- | +Nombre d'éléments dans la fenêtre : 2 +MDLC_OngletDynamique +Informations sur les champs +Fenêtre : MDLC_OngletDynamique +Modèle de champs +BAT ehcuoT +X noitisoP Y noitisoP laitini tatE +| | | | | ruegraL | ruetuaH | | | | +| --- | --- | --- | --- | ------- | ------- | --- | --- | --- | +elbisiV +nalP +| MDLC_OngletDynamique | | | 0 | 0 | 640 | 480 0 | Actif | | +| -------------------- | --- | --- | --- | --- | --- | ----- | ----- | --- | +Modèle de champs : MDLC_OngletDynamique +Onglet +slennoitroporp steloV +engil/stelov .bN +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | stelov .soP | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | ----------- | --- | +ruetuaH +ruegraL +elbisiV +nalP +| ONG_Onglet | | 0 | 0 640 | 480 | 0 | Actif | haut | 0 | +| ---------- | --- | --- | ----- | ----- | --- | ----- | ---- | ---- | +| 06/08/2026 | | | | Batik | | | | 6075 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_OngletDynamique › Informations sur les champs +Fenêtre : MDLC_OngletDynamique +Modèle de champs : MDLC_OngletDynamique +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Modèle de champs : MDLC_OngletDynamique +Onglet : MDLC_OngletDynamique.ONG_Onglet +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Onglet +Valeur initiale 1 +Ordre navigation 1 +Curseur survol 0 +Onglet dynamique Oui +Libellé volet FR: Nouvel onglet +UI par l'utilisateur Selon fenêtre +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Retrait gauche 0 +Retrait des onglets 0 +Numéro aide 0 +Autorise ChangeGabarit Oui +Bouton Fermer Oui +Bouton Nouveau Oui +06/08/2026 Batik 6076 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_OngletDynamique › Informations sur les champs +Volets détachables Non +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 +MDLC_OngletDynamique +Code des champs +Initialisation de ONG_Onglet ( MDLC_OngletDynamique ) +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de ONG_Onglet ( MDLC_OngletDynamique ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 6077 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Sel2Choix › Image +MDLC_Sel2Choix +Image +MDLC_Sel2Choix +Informations générales +MDLC_Sel2Choix +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_Sel2Choix.wdt +| Créé par | | SMR | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 19/09/2025 11:05:51 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 18:29:35 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 152 Hauteur | 53 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| 06/08/2026 | | | Batik | | 6078 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Sel2Choix › Informations générales +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Sélecteur 1 Modèle de champs 1 +Option de sélecteur 2 +Nombre d'éléments dans la fenêtre : 4 +MDLC_Sel2Choix +Informations sur les champs +06/08/2026 Batik 6079 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Sel2Choix › Informations sur les champs +Fenêtre : MDLC_Sel2Choix +Modèle de champs +BAT ehcuoT +| | X noitisoP | Y noitisoP | | | | laitini tatE | | +| --- | ---------- | ---------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| MDLC_Sel2Choix | 0 | 0 | 152 | 53 | 0 | Actif | | +| -------------- | --- | --- | --- | --- | --- | ----- | --- | +Modèle de champs : MDLC_Sel2Choix +Sélecteur +ellennoitroporp .loC +| | | | | | BAT ehcuoT | sennoloc .bN | | +| --- | --- | --- | --- | ------------ | ---------- | ------------ | ----------- | +| | | | | laitini tatE | | | staté siorT | +X noitisoP Y noitisoP +ruegraL ruetuaH +elbisiV +nalP +| SEL_Sel | 0 0 | 152 | 53 0 | Actif | | 1 | | +| ------- | --- | --- | ---- | ----- | --- | --- | --- | +Fenêtre : MDLC_Sel2Choix +Modèle de champs : MDLC_Sel2Choix +| Curseur survol | 0 | | | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | --- | --- | +| UI par l'utilisateur | Selon fenêtre | | | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | | | +| Taux Paral. hauteur | 0 | | | | | | | +| Taux Paral. Y | 0 | | | | | | | +| Épinglé | Non | | | | | | | +| Masquer lors du scrolling | Non | | | | | | | +| Numéro aide | 0 | | | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | | | +| Facteur de rétrécissement | 0 | | | | | | | +Facteur d'agrandissement +0 +| Ancrage | <Aucun> | | | | | | | +| ------- | ------- | --- | --- | --- | --- | --- | --- | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | Batik | | | | | 6080 | +| ---------- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Sel2Choix › Informations sur les champs +Modèle de champs : MDLC_Sel2Choix +Sélecteur : MDLC_Sel2Choix.SEL_Sel +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Sélecteur +Valeur initiale 1 +Ordre navigation 1 +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 Oui +Option format RTF Non +Texte Markdown Non +Mode menu ctx. <Aucun> +Image D:\Projets Windev\Batik\Nouvelle +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +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 +06/08/2026 Batik 6081 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_Sel2Choix › Code des champs +MDLC_Sel2Choix +Code des champs +Initialisation de SEL_Sel ( MDLC_Sel2Choix ) +// Version 1 +// Description +// Sélecteur simple +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SEL_Sel ( MDLC_Sel2Choix ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 6082 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_DivBTN › Image +MDLC_DivBTN +Image +MDLC_DivBTN +Informations générales +MDLC_DivBTN +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_DivBTN.wdt +| Créé par | | susana@applilogik.fr | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 28/01/2026 16:42:25 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 18:19:05 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 122 Hauteur | 102 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ---------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| 06/08/2026 | | | Batik | | 6083 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_DivBTN › Informations générales +Titre perso. : Affiche le titre Oui +Pos. Menu Perso Non +Icône de fermeture Oui +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Libellé 1 Image 1 +Superchamp 1 Modèle de champs 1 +Champ Modèle de champs 1 +Nombre d'éléments dans la fenêtre : 5 +MDLC_DivBTN +Informations sur les champs +06/08/2026 Batik 6084 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_DivBTN › Informations sur les champs +Fenêtre : MDLC_DivBTN +Modèle de champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | ruegraL | | elbisiV | | | +| --- | --- | --- | ------- | --- | ------- | --- | --- | +nalP +| MDLC_DivBTN | | 0 | 0 122 | 102 | 0 | Actif | | +| ----------- | --- | --- | ----- | --- | --- | ----- | --- | +Modèle de champs : MDLC_DivBTN +Champ Modèle de champs +BAT ehcuoT +| | | X noitisoP Y noitisoP | | | | laitini tatE | | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | --- | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| CMOD_Menu_1 | | 6 | 4 112 | 94 | 0 | Actif | | +| ----------- | --- | --- | ----- | --- | --- | ----- | --- | +Champ Modèle de champs : MDLC_DivBTN.CMOD_Menu_1 +Superchamp +| | | | | | | laitini tatE | BAT ehcuoT | +| --- | --- | --------------------- | ------- | ------- | --- | ------------ | ---------- | +| | | X noitisoP Y noitisoP | | | | | | +| | | | ruegraL | ruetuaH | | | | +elbisiV +nalP +| SC_Div | | 10 | 9 103 | 83 | 0 | Actif | | +| ------ | --- | --- | ----- | --- | --- | ----- | --- | +Superchamp : MDLC_DivBTN.CMOD_Menu_1.SC_Div +Libellé +tuaféd rap eéminA +| | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | ------------- | ------------- | --- | +FTR tamroF +| | X noitisoP Y noitisoP | | | laitini tatE | | | | +| --- | --------------------- | ------- | ------- | ------------ | --- | --- | --- | +| | | ruegraL | ruetuaH | | | | | +elbisiV +nalP +| LIB_Titre | 11 | 65 101 | 22 0 | Actif | Centre | Centre | | +| ---------- | --- | ------ | ----- | ----- | ------ | ------ | ---- | +| 06/08/2026 | | | Batik | | | | 6085 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_DivBTN › 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_Btn | 38 15 | 48 48 | 0 | Actif | | +| ------- | ----- | ----- | --- | ----- | --- | +Fenêtre : MDLC_DivBTN +Modèle de champs : MDLC_DivBTN +| Curseur survol | 0 | | | | | +| -------------------------------- | ----------------------------------- | --- | --- | --- | --- | +| UI par l'utilisateur | Selon fenêtre | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | 0 | | | | | +| Taux Paral. Y | 0 | | | | | +| Épinglé | Non | | | | | +| Masquer lors du scrolling | Non | | | | | +| Numéro aide | 0 | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | +Facteur de rétrécissement +0 +Facteur d'agrandissement +0 +| Ancrage | <Aucun> | | | | | +| ------- | ------- | --- | --- | --- | --- | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Modèle de champs : MDLC_DivBTN +Champ Modèle de champs : MDLC_DivBTN.CMOD_Menu_1 +| Ordre navigation | 1 | | | | | +| -------------------------------- | ----------------------------------- | ----- | --- | --- | ---- | +| Curseur survol | 0 | | | | | +| UI par l'utilisateur | Selon fenêtre | | | | | +| Unité des tailles | Plateforme unique desktop OU mobile | | | | | +| Taux Paral. hauteur | 0 | | | | | +| Taux Paral. Y | 0 | | | | | +| Épinglé | Non | | | | | +| Masquer lors du scrolling | Non | | | | | +| Ancrage au contenu | <Aucun> | | | | | +| Numéro aide | 0 | | | | | +| Alignement sur l'axe secondaire | défini par le champ flexbox (auto) | | | | | +| 06/08/2026 | | Batik | | | 6086 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_DivBTN › Informations sur les champs +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ Modèle de champs : MDLC_DivBTN.CMOD_Menu_1 +Superchamp : MDLC_DivBTN.CMOD_Menu_1.SC_Div +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +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 101 +Hauteur externe 81 +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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 6087 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_DivBTN › Informations sur les champs +Superchamp : MDLC_DivBTN.CMOD_Menu_1.SC_Div +Image : MDLC_DivBTN.CMOD_Menu_1.SC_Div.IMG_Btn +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +06/08/2026 Batik 6088 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_DivBTN › Informations sur les champs +Libellé : MDLC_DivBTN.CMOD_Menu_1.SC_Div.LIB_Titre +Note pour la documentation technique +FR: { +'Libelle':'Libelle' +} +Libellé FR: Titre +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Taille police min 6 +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 Droite +Taux anc. droite 500 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +MDLC_DivBTN +Code des champs +Fin d'initialisation de CMOD_Menu_1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de CMOD_Menu_1 +06/08/2026 Batik 6089 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_DivBTN › Code des champs +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans CMOD_Menu_1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de CMOD_Menu_1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de CMOD_Menu_1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de CMOD_Menu_1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de CMOD_Menu_1 +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Fin d'initialisation de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Demande de mise à jour de l'affichage de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Entrée dans SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Sortie de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Affectation de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +Récupération de la propriété Valeur de SC_Div +//Exécute le traitement défini dans le modèle +ExécuteAncêtre +A chaque modification de SC_Div +//Exécute le traitement défini dans le modèle +06/08/2026 Batik 6090 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_DivBTN › Code des champs +ExécuteAncêtre +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SC_Div +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de IMG_Btn ( SC_Div ) +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Clic sur IMG_Btn ( SC_Div ) +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de LIB_Titre ( SC_Div ) +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Clic sur LIB_Titre ( SC_Div ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 6091 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_SaisieSansModifBlock › Image +MDLC_SaisieSansModifBlock +Image +MDLC_SaisieSansModifBlock +Informations générales +MDLC_SaisieSansModifBlock +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_SaisieSansModifBlock.wdt +| Créé par | | susana@applilogik.fr | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 19/03/2026 08:33:20 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 19/03/2026 18:29:38 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 245 Hauteur | 37 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| 06/08/2026 | | | Batik | | 6092 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_SaisieSansModifBlock › Informations générales +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Champ de saisie 1 Modèle de champs 1 +Nombre d'éléments dans la fenêtre : 2 +MDLC_SaisieSansModifBlock +Informations sur les champs +06/08/2026 Batik 6093 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_SaisieSansModifBlock › Informations sur les champs +Fenêtre : MDLC_SaisieSansModifBlock +Modèle de champs +BAT ehcuoT +| | | X noitisoP | Y noitisoP | | | | | laitini tatE | | +| --- | --- | ---------- | ---------- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | ruegraL | | | elbisiV | | | +| --- | --- | --- | --- | ------- | --- | --- | ------- | --- | --- | +nalP +| MDLC_SaisieSansModifBlock | | 0 | | 0 245 | 37 | | 0 | Actif | | +| ------------------------- | --- | --- | --- | ----- | --- | --- | --- | ----- | --- | +Modèle de champs : MDLC_SaisieSansModifBlock +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 eisias epyT | FTR tamroF | | ediv is LLUN | | lacitrev .csA | +| | X noitisoP Y noitisoP | | laitini tatE | | engilitluM | | | | | +ruetuaH +| | ruegraL | | elbisiV | | | | | | | +| --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_Texte | 0 0 245 | 37 0 | affichag | Texte | | Non | | | | +| --------- | ------- | ---- | -------- | ----- | --- | --- | --- | --- | --- | +Fenêtre : MDLC_SaisieSansModifBlock +Modèle de champs : MDLC_SaisieSansModifBlock +| Curseur survol | | 0 | | | | | | | | +| ------------------------- | --- | ----------------------------------- | --- | --- | --- | --- | --- | --- | --- | +| UI par l'utilisateur | | Selon fenêtre | | | | | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | | | | | +| Taux Paral. hauteur | | 0 | | | | | | | | +| Taux Paral. Y | | 0 | | | | | | | | +| Épinglé | | Non | | | | | | | | +| Masquer lors du scrolling | | Non | | | | | | | | +| Numéro aide | | 0 | | | | | | | | +Alignement sur l'axe secondaire +défini par le champ flexbox (auto) +| Facteur de rétrécissement | | 0 | | | | | | | | +| -------------------------- | --- | ------- | --- | --- | --- | --- | --- | --- | --- | +| Facteur d'agrandissement | | 0 | | | | | | | | +| Ancrage | | <Aucun> | | | | | | | | +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +| 06/08/2026 | | | | Batik | | | | | 6094 | +| ---------- | --- | --- | --- | ----- | --- | --- | --- | --- | ---- | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_SaisieSansModifBlock › Informations sur les champs +Modèle de champs : MDLC_SaisieSansModifBlock +Champ de saisie : MDLC_SaisieSansModifBlock.SAI_Texte +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: &Champ de saisie +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 108 +Largeur interne 137 +Cadrage fonctions gXXX Tenir compte du cadrage +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, non bloquant +Saisie obligatoire (erreur) : Style Oui +06/08/2026 Batik 6095 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_SaisieSansModifBlock › 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 Largeur et hauteur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +MDLC_SaisieSansModifBlock +Code des champs +Déclarations globales de MDLC_SaisieSansModifBlock +saLib est une chaîne ANSI +Initialisation de SAI_Texte ( MDLC_SaisieSansModifBlock ) +MoiMême..Libellé = saLib +NomFen est une chaîne ANSI = DonneNomFenetreChamp(MoiMême..NomComplet) +NomChampest une chaîne ANSI = DonneNomCompletChampGenerique(MoiMême..NomComplet) +si gtbaDocAide[NomFen]..Existe _et_... +gtbaDocAide[NomFen][NomChamp]..Existe alors +06/08/2026 Batik 6096 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_SaisieSansModifBlock › Code des champs +MoiMême..Bulle = gtbaDocAide[NomFen][NomChamp].saContenu +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Texte ( MDLC_SaisieSansModifBlock ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 6097 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChampDate › Image +MDLC_ChampDate +Image +MDLC_ChampDate +Informations générales +MDLC_ChampDate +Fichier physique D:\Projets Windev\Batik\Nouvelle Version\Batik\MDLC_ChampDate.wdt +| Créé par | | susana@applilogik.fr | | | | +| -------------------------- | ------------ | ----------------------------- | --------- | --------------- | --- | +| Date de création | | 17/04/2026 17:32:14 | | | | +| Dernière modification par | | susana@applilogik.fr | | | | +| Date dernière modification | | 17/04/2026 17:37:21 | | | | +| Type fenêtre | | Fenêtre libre | | | | +| Mode ouverture (Desktop) | | Centrée par rapport à la mère | | | | +| Position X | 0 Position Y | | 0 Largeur | 135 Hauteur | 49 | +| Visible | | Barre de titre | | Menu système | | +| Icône réduction | | Icône agrandissement | | Icône aide ctx. | | +| Barre de message | | Détourer le fond | | Mode 9 images | | +| Redimensionnable | | Avec grip | | Grip dans image | | +| Déplace/fond | | Sauve position | | Ascenseur auto. | | +| Gestion grande police | | Thème XP | | | | +Ctx. HFSQL indép. +| Etat initial | | Actif | | | | +| ------------------------------- | --- | ----------------------------------- | ----- | --- | ---- | +| Curseur survol | | 0 | | | | +| Copie d'écran | | Oui | | | | +| Unité des tailles | | Plateforme unique desktop OU mobile | | | | +| Ancrage au contenu | | <Aucun> | | | | +| Opacité | | 100 | | | | +| Titre personnalisé | | Non | | | | +| Titre perso. : hauteur | | 30 | | | | +| Titre perso. : Affiche le titre | | Oui | | | | +| Pos. Menu Perso | | Non | | | | +| Icône de fermeture | | Oui | | | | +| 06/08/2026 | | | Batik | | 6098 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChampDate › Informations générales +Type cadre <Aucun> +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 Windows 11 +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 +Statistiques de la fenêtre +Champ de saisie 1 Libellé 1 +Interrupteur 1 Modèle de champs 1 +Option d'interrupteur 1 +Nombre d'éléments dans la fenêtre : 5 +MDLC_ChampDate +Informations sur les champs +06/08/2026 Batik 6099 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChampDate › Informations sur les champs +Fenêtre : MDLC_ChampDate +Modèle de champs +BAT ehcuoT +| | | | | X noitisoP | Y noitisoP | | | | | | laitini tatE | | +| --- | --- | --- | --- | ---------- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | +ruetuaH +| | | | | | | ruegraL | | | | elbisiV | | | +| --- | --- | --- | --- | --- | --- | ------- | --- | --- | --- | ------- | --- | --- | +nalP +| MDLC_ChampDate | | | | 0 | | 0 | 135 | 49 | | 0 | Actif | | +| -------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | --- | +Modèle de champs : MDLC_ChampDate +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 | eisias epyT | FTR tamroF | | ediv is LLUN | | lacitrev .csA | +| | X noitisoP Y noitisoP | | | | laitini tatE | | | engilitluM | | | | | +ruetuaH +| | | ruegraL | | | elbisiV | | | | | | | | +| --- | --- | ------- | --- | --- | ------- | --- | --- | --- | --- | --- | --- | --- | +nalP +| SAI_Choix | 28 19 | 107 | 30 | 0 | Actif | | Date | | Non | | | | +| --------- | ----- | --- | --- | --- | ----- | --- | ---- | --- | --- | --- | --- | --- | +Libellé +tuaféd rap eéminA +| | | | | | | | | | | .zroh egardaC | .trev egardaC | | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | ------------ | ------------- | ------------- | ---------- | +| | | | | | | | | | laitini tatE | | | FTR tamroF | +X noitisoP Y noitisoP +| | | | | ruegraL | | ruetuaH | | | | | | | +| --- | --- | --- | --- | ------- | --- | ------- | --- | --- | --- | --- | --- | --- | +elbisiV +nalP +| LIB_Libellé | | 0 | | 0 | 135 | 21 | 0 | | Actif | Gauche | Haut | | +| ----------- | --- | --- | --- | --- | --- | --- | --- | --- | ----- | ------ | ---- | --- | +Interrupteur +ellennoitroporp .loC +sennoloc .bN +BAT ehcuoT +| | | X noitisoP | | Y noitisoP | | | | | | laitini tatE | | staté siorT | +| --- | --- | ---------- | --- | ---------- | --- | --- | --- | --- | --- | ------------ | --- | ----------- | +ruetuaH +ruegraL +elbisiV +nalP +| INT_Opt | | | 0 | 24 | 20 | 20 | | 0 | Actif | | 1 | | +| ---------- | --- | --- | --- | --- | --- | ----- | --- | --- | ----- | --- | --- | ---- | +| 06/08/2026 | | | | | | Batik | | | | | | 6100 | + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChampDate › Informations sur les champs +Fenêtre : MDLC_ChampDate +Modèle de champs : MDLC_ChampDate +Curseur survol 0 +UI par l'utilisateur Selon fenêtre +Unité des tailles Plateforme unique desktop OU mobile +Taux Paral. hauteur 0 +Taux Paral. Y 0 +Épinglé Non +Masquer lors du scrolling Non +Numéro aide 0 +Alignement sur l'axe secondaire défini par le champ flexbox (auto) +Facteur de rétrécissement 0 +Facteur d'agrandissement 0 +Ancrage <Aucun> +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Modèle de champs : MDLC_ChampDate +Interrupteur : MDLC_ChampDate.INT_Opt +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Valeur initiale 0 +Groupe GR_Boolean +Ordre navigation 2 +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 Tenir compte du cadrage +Numéro aide 0 +Opacité 100 +Autorise ChangeGabarit Oui +Look Vista Non +06/08/2026 Batik 6101 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChampDate › Informations sur les champs +Type bandeau Toute la hauteur de l'option +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 +Nb. états image 1 +Largeur image 85 +Nb. étapes animation 1 +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Bas +Taux anc. droite 1000 Taux anc. bas 500 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Libellé : MDLC_ChampDate.LIB_Libellé +Libellé FR: Libellé +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 +06/08/2026 Batik 6102 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChampDate › Informations sur les champs +Personnaliser le picto AMI Non +Indice du picto AMI 1 +Ancrage Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +Champ de saisie : MDLC_ChampDate.SAI_Choix +Note pour la documentation technique +FR: { +"Libelle":"Libelle" +} +Libellé FR: Libelle +Groupe GR_Saisie +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 28 +Largeur interne 107 +Cadrage fonctions gXXX Tenir compte du cadrage +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 +06/08/2026 Batik 6103 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChampDate › Informations sur les champs +Facteur d'agrandissement 0 +Asc. horizontal Jamais +Asc. vertical Jamais +Complétion système de fichier Non +Saisie invalide Oui, non 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 Largeur +Taux anc. droite 1000 Taux anc. bas 1000 Taux anc. largeur 1000 Taux anc. hauteur 1000 +MDLC_ChampDate +Code des champs +Déclarations globales de MDLC_ChampDate +saLib est une chaîne ANSI +Bouton gauche enfoncé (WM_LBUTTONDOWN) de INT_Opt ( MDLC_ChampDate ) +06/08/2026 Batik 6104 + +Partie 4 › Modèle fenêtre WINDEV › MDLC_ChampDate › Code des champs +gsaNomChampEnCours = MoiMême..NomComplet +Initialisation de LIB_Libellé ( MDLC_ChampDate ) +// Version 1 +// Description +// Libellé simple +MoiMême = saLib +Initialisation de SAI_Choix ( MDLC_ChampDate ) +MoiMême..Indication = saLib +A chaque modification de SAI_Choix ( MDLC_ChampDate ) +si MoiMême <> "" alors +INT_Opt = Vrai +sinon +INT_Opt = Faux +fin +Bouton gauche enfoncé (WM_LBUTTONDOWN) de SAI_Choix ( MDLC_ChampDate ) +gsaNomChampEnCours = MoiMême..NomComplet +06/08/2026 Batik 6105 + +Partie 5 › Etat +Partie 5 +Etat +| 06/08/2026 | Batik | 6106 | +| ---------- | ----- | ---- | + +Partie 5 › Etat +ETAT_FicheDeplacement +Image +ETAT_FicheDeplacement +Informations générales +ETAT_FicheDeplacement +| Nom logique de l'état | ETAT_FicheDeplacement | | | | +| --------------------- | --------------------- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\Nouvelle Version\Batik\ETAT_FicheDeplacement.wde +| Type | Tableau | | | | +| ----- | ----------- | --- | --- | --- | +| Thème | Batik_Theme | | | | +Type de source de données +| Nom de la source | :oEtat.tbRdvColb | | | | +| ----------------- | ----------------- | ---------------- | ----- | ---- | +| Format de la page | A4 (210 x 297 mm) | | | | +| Marge haute (mm) | 15.00 | Marge basse (mm) | 15.00 | | +| 06/08/2026 | | Batik | | 6107 | + +Partie 5 › Etat › ETAT_FicheDeplacement › Informations générales +| Marge gauche (mm) | 15.00 | | Marge droite (mm) | 15.00 | | +| ----------------- | ----- | --- | ----------------- | ----- | --- | +ETAT_FicheDeplacement +Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | +| --- | ---- | --- | --- | ---------------- | --- | +elbisiV erdaC +tiarT +| TITREDOC | Libellé | 25.93 0.00 | 20.11 129.20 | | | +| ---------------------- | ------------------------------------ | ----------- | ------------ | ------------ | ---- | +| CHAMP58 | Prédéfini | 155.13 1.59 | 5.82 24.79 | | | +| IMG_Logo | Image | 0.00 0.00 | 20.11 23.02 | | | +| LIB_RendezVous | Libellé | 31.04 68.70 | 6.88 148.96 | | | +| Rubrique | :oEtat.saDateText | | | | | +| LIB_Lib_RendezVous | Libellé | 0.08 68.70 | 6.88 30.96 | | | +| LIB_Lib_RefExterne | Libellé | 0.08 61.82 | 6.88 30.96 | | | +| LIB_RefExterne | Libellé | 31.04 61.82 | 6.88 148.96 | | | +| Rubrique | :oEtat.oInter.saRefExterne | | | | | +| LIB_DonneurOrdre | Libellé | 31.04 55.20 | 6.88 148.96 | | | +| Rubrique | :oEtat.oContactDonneur.NomPrenom | | | | | +| LIB_Lib_DonneurOrdre | Libellé | 0.08 55.20 | 6.88 30.96 | | | +| LIB_Lib_NomClient | Libellé | 0.08 48.59 | 6.88 30.96 | | | +| | | 31.04 48.59 | 6.88 148.96 | | | +| LIB_NomClient | Libellé | | | | | +| Rubrique | :oEtat.oClient.saNom | | | | | +| LIB_Trait2 | Libellé | 0.08 46.74 | 1.85 179.92 | 0.10 Continu | H--- | +| LIB_CodeAcces | Libellé | 31.04 24.08 | 21.40 43.92 | | | +| Rubrique | :oEtat.oLieu.saCodeAcces | | | | | +| | | 0.00 24.08 | 7.14 31.04 | | | +| LIB_Lib_CodeAcces | Libellé | | | | | +| LIB_Lib_FixeOccupant | Libellé | 0.00 16.14 | 6.88 31.04 | | | +| LIB_Lib_NomOccupant | Libellé | 0.00 9.26 | 6.88 31.04 | | | +| LIB_NomOccupant | Libellé | 31.04 9.26 | 6.88 148.88 | | | +| Rubrique | :oEtat.oContactOccupant.NomPrenom | | | | | +| LIB_FixeOccupant | Libellé | 31.04 16.14 | 6.88 43.84 | | | +| Rubrique | :oEtat.oContactOccupant.saTel2 | | | | | +| LIB_Lib_MobileOccupant | Libellé | 74.88 16.10 | 6.88 20.98 | | | +| LIB_MobileOccupant | Libellé | 95.78 16.10 | 6.88 56.28 | | | +| Rubrique | :oEtat.oContactOccupant.saTel1 | | | | | +| LIB_Lib_Adresse | Libellé | 74.96 24.04 | 6.88 20.98 | | | +| LIB_Adresse | Libellé | 95.78 24.08 | 21.40 84.14 | | | +| Rubrique | :oEtat.oLieu.oAdresse.saPresentation | | | | | +| LIB_Lib_NumFiche | Libellé | 0.00 0.00 | 6.99 25.93 | | | +| LIB_NumFiche | Libellé | 25.93 0.00 | 6.88 30.77 | | | +| 06/08/2026 | | Batik | | | 6108 | + +Partie 5 › Etat › ETAT_FicheDeplacement › Informations sur les champs +| Rubrique | :oEtat.oInter.saRefInterne | | | | | +| ------------------- | ------------------------------- | ----------- | ----------- | ------------ | ---- | +| LIB_Lib_DateDemande | Libellé | 56.70 0.00 | 6.99 25.93 | | | +| LIB_DateDemande | Libellé | 82.55 0.00 | 6.99 21.96 | | | +| Rubrique | :oEtat.oInter.dDateIntervention | | | | | +| LIB_Lib_Responsable | Libellé | 104.59 0.00 | 6.88 24.16 | | | +| LIB_Responsable | Libellé | 128.75 0.00 | 6.88 51.25 | | | +| Rubrique | :oEtat.oInter.saSuiviParNomColb | | | | | +| LIB_Trait3 | Libellé | 0.00 7.52 | 1.96 179.92 | 0.10 Continu | H--- | +| LIB_SansNom | Libellé | 0.00 76.35 | 6.20 35.84 | 0.10 Continu | HBG- | +| | | 35.84 76.35 | 6.20 35.84 | 0.10 | | +| LIB_SansNom1 | Libellé | | | Continu | HBG- | +LIB_SansNom2 Libellé 71.68 76.35 6.20 35.84 0.10 Continu HBG- +LIB_SansNom3 Libellé 107.52 76.35 6.20 35.84 0.10 Continu HBG- +LIB_SansNom4 Libellé 143.36 76.35 6.20 36.64 0.10 Continu HBGD +| | | 6.62 31.22 | 7.41 24.42 | | | +| ------------------ | ------- | ---------- | ---------- | --- | --- | +| LIB_Lib_Badge | Libellé | | | | | +| LIB_Lib_Interphone | Libellé | 6.62 38.10 | 7.41 24.42 | | | +INT_Badge Interrupteur 0.00 32.22 5.58 5.11 0.50 Continu HBGD +| Rubrique | :oEtat.oLieu.bBadge | | | | | +| -------- | ------------------- | --- | --- | --- | --- | +INT_Interphone Interrupteur 0.00 38.89 5.58 5.11 0.50 Continu HBGD +| Rubrique | :oEtat.oLieu.bInterphone | | | | | +| ------------ | --------------------------------------- | ---------- | ---------- | ------------ | ---- | +| LIB_SansNom5 | Libellé | 0.00 0.00 | 6.20 35.84 | 0.10 Continu | -BG- | +| Rubrique | :oEtat.tbRdvColb.oColb.NomPrenomComplet | | | | | +| LIB_SansNom6 | Libellé | 35.84 0.00 | 6.20 35.84 | 0.10 Continu | -BG- | +| Rubrique | :oEtat.tbRdvColb.dhDateDeb | | | | | +| LIB_SansNom7 | Libellé | 71.68 0.00 | 6.20 35.84 | 0.10 Continu | -BG- | +| Rubrique | :oEtat.tbRdvColb.dhDateDeb | | | | | +LIB_SansNom8 Libellé 107.52 0.00 6.20 35.84 0.10 Continu -BG- +| Rubrique | :oEtat.tbRdvColb.dhDateFin | | | | | +| -------- | -------------------------- | --- | --- | --- | --- | +LIB_SansNom9 Libellé 143.36 0.00 6.20 36.64 0.10 Continu -BGD +| NUMNBPAGES | Prédéfini | 146.72 0.70 | 5.72 33.28 | | | +| ------------------------------ | --------------------------- | ----------- | -------------------------- | --- | --- | +| IMG_Omika | Image | 0.00 0.00 | 9.79 146.58 | | | +| LIB_Lib_Signature | Libellé | 0.06 24.01 | 6.88 31.04 | | | +| LIB_Lib_Objet | Libellé | 0.00 0.68 | 6.88 31.04 | | | +| LIB_Objet | Libellé | 30.96 0.68 | 6.88 149.04 | | | +| Rubrique | :oEtat.oRdv.saObjet | | | | | +| LIB_Description | Libellé | 0.00 7.58 | 16.18 179.92 | | | +| Rubrique | :oEtat.oInter.saDescription | | | | | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | +Epais. : Epaisseur du cadre (mm) +| 06/08/2026 | | Batik | | | 6109 | +| ---------- | --- | ----- | --- | --- | ---- | + +Partie 5 › Etat › ETAT_FicheDeplacement › Informations sur les champs +Détails des champs <Prédéfini> +Type de champ Prédéfini +CHAMP58 Date +NUMNBPAGES [NUMPAGE] / [NBPAGES] +06/08/2026 Batik 6110 + +Partie 5 › Etat › ETAT_FicheDeplacement › Code +ETAT_FicheDeplacement +Code +Ouverture de ETAT_FicheDeplacement +procédure ETAT_FicheDeplacement(oEtat est un MEtat_Deplacement) +oEtat +ETAT_FicheDeplacement +Code des champs +Avant impression de IMG_Logo +si oEtat:oSociete:bufLogo <> "" alors +IMG_Logo = oEtat:oSociete:bufLogo +fin +06/08/2026 Batik 6111 + +Partie 5 › Etat › ETAT_FicheIntervention › Image +ETAT_FicheIntervention +Image +ETAT_FicheIntervention +Informations générales +ETAT_FicheIntervention +| Nom logique de l'état | ETAT_FicheIntervention | | | | +| --------------------- | ---------------------- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\Nouvelle Version\Batik\ETAT_FicheIntervention.wde +| Type | Tableau | | | | +| ----- | ----------- | --- | --- | --- | +| Thème | Batik_Theme | | | | +Type de source de données +| Nom de la source | :oEtat.tbContacts | | | | +| ----------------- | ----------------- | ----------------- | ----- | ---- | +| Format de la page | A4 (210 x 297 mm) | | | | +| Marge haute (mm) | 15.00 | Marge basse (mm) | 15.00 | | +| Marge gauche (mm) | 15.00 | Marge droite (mm) | 15.00 | | +| 06/08/2026 | | Batik | | 6112 | + +Partie 5 › Etat › ETAT_FicheIntervention › Informations sur les champs +ETAT_FicheIntervention +Informations sur les champs +)mm( ruetuaH +)mm( ruegraL +¹ txE.otuA +¹ uaelbaT +| | Type | X Y | | elbacéS | | noitisoP | +| --- | ---- | --- | --- | ---------------- | --- | -------- | +| | | | | elbisiV ¹ .siapE | | | +erdaC +tiarT +| TITREDOC | Libellé | 25.93 0.00 | 20.11 129.20 | | | | +| -------------------- | ------------------------------------------ | ----------- | ------------ | --- | --- | --- | +| | | 155.13 1.59 | 5.82 24.79 | | | | +| CHAMP58 | Prédéfini | | | | | | +| IMG_Logo | Image | 0.00 0.00 | 20.11 23.02 | | | | +| LIB_Lib_RefExterne | Libellé | 0.00 21.64 | 6.88 31.04 | | | | +| LIB_RefExterne | Libellé | 30.96 21.64 | 6.88 149.04 | | | | +| Rubrique | :oEtat.oInter.saRefExterne | | | | | | +| LIB_DonneurOrdre | Libellé | 30.96 15.12 | 6.88 149.04 | | | | +| Rubrique | :oEtat.oContactDonneur.oPersonne.NomPrenom | | | | | | +| LIB_Lib_DonneurOrdre | Libellé | 0.00 15.12 | 6.88 31.04 | | | | +| LIB_Lib_NomClient | Libellé | 0.00 8.51 | 6.88 31.04 | | | | +| LIB_NomClient | Libellé | 30.96 8.51 | 6.88 148.96 | | | | +| Rubrique | :oEtat.oClient.saNom | | | | | | +LIB_CodeAcces Libellé 30.96 28.62 21.13 43.92 0.10 Continu HBGD +| Rubrique | :oEtat.oLieu.saCodeAcces | | | | | | +| ----------------- | ------------------------ | ----------- | ---------- | --- | --- | --- | +| LIB_Lib_CodeAcces | Libellé | 0.00 28.62 | 7.14 31.04 | | | | +| LIB_Lib_Adresse | Libellé | 74.88 28.64 | 6.88 20.98 | | | | +LIB_Adresse Libellé 95.78 28.62 21.13 84.14 0.10 Continu HBGD +| Rubrique | :oEtat.oLieu.oAdresse.saPresentation | | | | | | +| ------------------- | ------------------------------------ | ----------- | ----------- | ---- | ------- | ---- | +| LIB_Lib_NumFiche | Libellé | 0.00 0.00 | 6.99 25.93 | | | | +| LIB_NumFiche | Libellé | 25.93 0.00 | 6.88 30.77 | | | | +| Rubrique | :oEtat.oInter.saRefInterne | | | | | | +| LIB_Lib_DateDemande | Libellé | 56.70 0.00 | 6.99 25.93 | | | | +| | | 82.55 0.00 | 6.99 21.96 | | | | +| LIB_DateDemande | Libellé | | | | | | +| Rubrique | :oEtat.oInter.dDateIntervention | | | | | | +| LIB_Lib_Responsable | Libellé | 104.59 0.00 | 6.88 24.16 | | | | +| LIB_Responsable | Libellé | 128.75 0.00 | 6.88 51.25 | | | | +| Rubrique | :oEtat.oInter.saSuiviParNomColb | | | | | | +| | | 0.00 7.52 | 1.96 179.92 | 0.10 | | | +| LIB_Trait3 | Libellé | | | | Continu | H--- | +| LIB_SansNom | Libellé | 0.00 59.80 | 6.09 50.35 | 0.10 | Continu | HBG- | +LIB_SansNom1 Libellé 50.35 59.80 6.09 41.62 0.10 Continu HBG- +LIB_SansNom2 Libellé 91.97 59.80 6.09 28.66 0.10 Continu HBG- +LIB_SansNom3 Libellé 120.63 59.80 6.09 31.30 0.10 Continu HBG- +LIB_SansNom4 Libellé 151.93 59.80 6.09 26.54 0.10 Continu HBGD +| LIB_Lib_Badge | Libellé | 6.62 35.50 | 7.41 24.42 | | | | +| ------------------ | ------------------- | ---------- | ---------- | ---- | ------- | ---- | +| LIB_Lib_Interphone | Libellé | 6.62 42.38 | 7.41 24.42 | | | | +| LIB_Lib_Contact | Libellé | 0.00 51.82 | 6.88 31.04 | | | | +| | | 0.00 36.76 | 5.58 5.11 | 0.50 | | | +| INT_Badge | Interrupteur | | | | Continu | HBGD | +| Rubrique | :oEtat.oLieu.bBadge | | | | | | +INT_Interphone Interrupteur 0.00 43.16 5.58 5.11 0.50 Continu HBGD +| 06/08/2026 | | Batik | | | | 6113 | +| ---------- | --- | ----- | --- | --- | --- | ---- | + +Partie 5 › Etat › ETAT_FicheIntervention › Informations sur les champs +| Rubrique | :oEtat.oLieu.bInterphone | | | | | +| ------------ | ------------------------------------- | ----------- | ---------- | ------------ | ---- | +| LIB_SansNom5 | Libellé | 0.00 0.00 | 6.20 50.35 | 0.10 Continu | -BG- | +| Rubrique | :oEtat.tbContacts.oPersonne.NomPrenom | | | | | +| LIB_SansNom6 | Libellé | 50.35 0.00 | 6.20 41.62 | 0.10 Continu | -BG- | +| Rubrique | :oEtat.tbContacts.saCleRole | | | | | +| LIB_SansNom7 | Libellé | 91.97 0.00 | 6.20 28.66 | 0.10 Continu | -BG- | +| Rubrique | :oEtat.tbContacts.oPersonne.saTel1 | | | | | +| | | 120.63 0.00 | 6.20 31.30 | 0.10 | | +| LIB_SansNom8 | Libellé | | | Continu | -BG- | +| Rubrique | :oEtat.tbContacts.oPersonne.saTel2 | | | | | +LIB_SansNom9 Libellé 151.93 0.00 6.20 26.54 0.10 Continu -BGD +| Rubrique | :oEtat.tbContacts.saEtage | | | | | +| ------------- | ------------------------- | ----------- | ----------- | --- | --- | +| NUMNBPAGES | Prédéfini | 146.72 0.70 | 5.72 33.28 | | | +| | | 0.00 0.00 | 9.79 146.58 | | | +| IMG_Omika | Image | | | | | +| LIB_Lib_Objet | Libellé | 0.00 0.00 | 6.88 31.04 | | | +LIB_Description Libellé 0.27 6.83 30.66 179.92 0.10 Continu HBGD +| Rubrique | :oEtat.oInter.saDescription | | | | | +| ------------------------------ | --------------------------- | --- | -------------------------- | --- | --- | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | +Epais. : Epaisseur du cadre (mm) +Détails des champs <Prédéfini> +Type de champ Prédéfini +| CHAMP58 Date | | | | | | +| -------------------------------- | --- | ----- | --- | --- | ---- | +| NUMNBPAGES [NUMPAGE] / [NBPAGES] | | | | | | +| 06/08/2026 | | Batik | | | 6114 | + +Partie 5 › Etat › ETAT_FicheIntervention › Code +ETAT_FicheIntervention +Code +Ouverture de ETAT_FicheIntervention +procédure ETAT_FicheIntervention(oEtat est un MEtat_Intervention) +06/08/2026 Batik 6115 + +Partie 5 › Etat › ETAT_GAP_FicheDeplacement › Image +ETAT_GAP_FicheDeplacement +Image +| 06/08/2026 | Batik | 6116 | +| ---------- | ----- | ---- | + +Partie 5 › Etat › ETAT_GAP_FicheDeplacement › Informations générales +ETAT_GAP_FicheDeplacement +Informations générales +ETAT_GAP_FicheDeplacement +| Nom logique de l'état | ETAT_GAP_FicheDeplacement | | | | | +| --------------------- | ------------------------- | --- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\Nouvelle Version\Batik\ETAT_GAP_FicheDeplacement.wde +| Type | Tableau | | | | | +| ------------------------- | ------------------------ | --- | --- | --- | --- | +| Thème | Batik_Theme | | | | | +| Type de source de données | Pas de source de données | | | | | +Nom de la source +| Format de la page | A4 (210 x 297 mm) | | | | | +| ----------------- | ----------------- | --- | ----------------- | ----- | --- | +| Marge haute (mm) | 15.00 | | Marge basse (mm) | 15.00 | | +| Marge gauche (mm) | 15.00 | | Marge droite (mm) | 15.00 | | +ETAT_GAP_FicheDeplacement +Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +| | Type | X Y | | | noitisoP | +| --- | ---- | --- | --- | --- | -------- | +elbisiV elbacéS ¹ .siapE +erdaC +tiarT +| TITREDOC | Libellé | 0.00 36.78 | 10.06 179.92 | 0.10 Continu | HBGD | +| ------------------ | --------------------------------------- | ------------ | ------------ | ------------ | ---- | +| CHAMP58 | Prédéfini | 155.13 1.59 | 5.82 24.79 | | | +| LIB_Lib_InterNum | Libellé | 0.00 29.63 | 6.88 26.01 | | | +| LIB_InterNum | Libellé | 25.93 29.63 | 6.88 39.24 | | | +| Rubrique | :oEtat.oInter.saRefInterne | | | | | +| LIB_Lib_AdresseSoc | Libellé | 0.00 11.38 | 18.26 90.04 | | | +| Rubrique | :oEtat.oSociete.oAdresse.saPresentation | | | | | +| LIB_Lib_Societe | Libellé | 0.00 0.27 | 10.85 155.13 | | | +| Rubrique | :oEtat.oSociete.saNom | | | | | +| LIB_Lib_ExpSAV | Libellé | 128.41 29.37 | 7.14 51.59 | | | +| LIB_Lib_SAV | Libellé | 128.06 13.72 | 15.12 26.19 | | | +| FRM_SAV | Forme | 155.05 13.76 | 15.57 24.87 | 0.20 Continu | HBGD | +| IMG_SAV | Image | 161.68 14.55 | 13.72 11.99 | | | +| LIB_Note | Libellé | 0.00 140.11 | 9.23 179.92 | 0.10 Continu | HBGD | +| Rubrique | :oEtat.saMsgInt | | | | | +| LIB_Lib_Note | Libellé | 0.00 133.07 | 6.88 30.96 | | | +| LIB_Objet | Libellé | 0.00 120.91 | 10.32 180.00 | 0.10 Continu | HBGD | +| Rubrique | :oEtat.oInter.saDescription | | | | | +| 06/08/2026 | | Batik | | | 6117 | + +Partie 5 › Etat › ETAT_GAP_FicheDeplacement › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | +| --- | ---- | --- | --- | ---------------- | --- | +elbisiV erdaC +tiarT +LIB_Contacts Libellé 0.26 103.11 9.00 179.84 0.00 Continu -BGD +| Rubrique | :oEtat.saContacts | | | | | +| -------- | ----------------- | --- | --- | --- | --- | +LIB_Lib_Contacts Libellé 0.26 95.85 6.88 180.00 0.10 Continu HBGD +LIB_Intervenants Libellé 0.35 84.85 9.00 179.84 0.00 Continu -BGD +| Rubrique | :oEtat.saIntervenants | | | | | +| -------- | --------------------- | --- | --- | --- | --- | +LIB_Lib_Intervenants Libellé 0.26 77.97 6.88 180.00 0.10 Continu HBGD +| LIB_RendezVous | Libellé | 31.22 57.92 | 16.40 50.09 | | | +| ------------------- | ----------------------- | ------------ | ----------- | ------------ | ---- | +| Rubrique | :oEtat.saDateText | | | | | +| LIB_Lib_Objet | Libellé | 0.26 114.10 | 6.88 30.96 | | | +| LIB_Lib_RendezVous1 | Libellé | 0.26 57.66 | 6.88 30.96 | | | +| FRM_FORME4 | Forme | 82.81 0.00 | 60.33 97.37 | 0.20 Continu | HBGD | +| LIB_NoteAdresse | Libellé | 82.81 44.98 | 15.31 97.37 | | | +| Rubrique | :oEtat.oLieu.saNote | | | | | +| | | 0.26 51.02 | 6.88 31.04 | | | +| LIB_Lib_Tel2 | Libellé | | | | | +| LIB_Tel2 | Libellé | 31.30 51.02 | 6.88 43.84 | | | +| Rubrique | :oEtat.oClient.saFax | | | | | +| LIB_Lib_Tel1 | Libellé | 0.26 44.14 | 6.88 31.04 | | | +| LIB_Lib_NomClient | Libellé | 0.26 37.26 | 6.88 31.04 | | | +| LIB_NomClient | Libellé | 31.22 37.31 | 6.88 51.68 | | | +| Rubrique | :oEtat.oClient.saNom | | | | | +| LIB_Tel1 | Libellé | 31.30 44.14 | 6.88 43.84 | | | +| Rubrique | :oEtat.oClient.saTel | | | | | +| LIB_Lib_NoteAdresse | Libellé | 82.90 38.10 | 6.88 20.98 | | | +| LIB_Etiquette | Libellé | 82.90 30.96 | 6.88 58.55 | | | +| Rubrique | :oEtat.oLieu.saCodeLieu | | | | | +| LIB_Lib_Interphone | Libellé | 155.84 35.45 | 7.41 24.42 | | | +INT_Interphone Interrupteur 150.73 36.10 5.58 5.11 0.50 Continu HBGD +| Rubrique | :oEtat.oLieu.bInterphone | | | | | +| ------------- | ------------------------------------ | ------------ | ----------- | --- | --- | +| LIB_CodeAcces | Libellé | 141.29 7.14 | 21.43 38.98 | | | +| Rubrique | :oEtat.oLieu.saCodeAcces | | | | | +| LIB_Adresse | Libellé | 82.81 0.27 | 30.39 58.47 | | | +| Rubrique | :oEtat.oLieu.oAdresse.saPresentation | | | | | +| LIB_Lib_Badge | Libellé | 155.84 28.05 | 7.41 24.42 | | | +INT_Badge Interrupteur 150.73 28.58 5.58 5.11 0.50 Continu HBGD +| Rubrique | :oEtat.oLieu.bBadge | | | | | +| ------------------- | ------------------------------- | ----------- | ----------- | --- | ---- | +| LIB_Lib_CodeClient | Libellé | 0.26 27.48 | 6.88 31.30 | | | +| LIB_CodeClient | Libellé | 31.22 27.48 | 7.11 51.59 | | | +| Rubrique | :oEtat.oClient.saCodeClient | | | | | +| LIB_Lib_NDevis | Libellé | 0.26 20.60 | 6.88 31.30 | | | +| LIB_NDevis | Libellé | 31.49 20.37 | 7.11 51.59 | | | +| Rubrique | :oEtat.oInter.saNumDevis | | | | | +| LIB_NomResponsable | Libellé | 31.30 6.88 | 13.49 51.51 | | | +| Rubrique | :oEtat.oInter.saSuiviParNomColb | | | | | +| LIB_Lib_Responsable | Libellé | 0.00 6.88 | 6.88 31.30 | | | +| 06/08/2026 | | Batik | | | 6118 | + +Partie 5 › Etat › ETAT_GAP_FicheDeplacement › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | +| --- | ---- | --- | --- | ---------------- | --- | +elbisiV erdaC +tiarT +| LIB_Lib_CodeAcces | Libellé | 141.29 0.00 | 7.14 31.04 | | | +| ------------------ | ------------------------------- | ----------- | ---------- | --- | --- | +| LIB_Lib_DateOuvert | Libellé | 0.26 0.00 | 7.14 31.04 | | | +| LIB_DateOuvert | Libellé | 31.30 0.00 | 6.88 26.80 | | | +| Rubrique | :oEtat.oInter.dDateIntervention | | | | | +| LIB_Lib_Rapport | Libellé | 0.00 149.64 | 6.88 30.96 | | | +LIB_Rapport Libellé 0.00 157.43 17.16 179.92 0.10 Continu HBGD +| LIB_Lib_Signature | Libellé | 0.00 175.65 | 6.88 39.24 | | | +| ------------------------------ | --------- | ------------ | -------------------------- | --- | --- | +| LIB_Lib_Signature1 | Libellé | 90.04 175.65 | 6.62 31.04 | | | +| NUMNBPAGES | Prédéfini | 146.72 0.70 | 5.72 33.28 | | | +| IMG_Omika | Image | 0.00 0.00 | 9.79 146.58 | | | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | +Epais. : Epaisseur du cadre (mm) +Détails des champs <Prédéfini> +Type de champ Prédéfini +| NUMNBPAGES [NUMPAGE] / [NBPAGES] | | | | | | +| -------------------------------- | --- | ----- | --- | --- | ---- | +| CHAMP58 Date | | | | | | +| 06/08/2026 | | Batik | | | 6119 | + +Partie 5 › Etat › ETAT_GAP_FicheDeplacement › Code +ETAT_GAP_FicheDeplacement +Code +Ouverture de ETAT_GAP_FicheDeplacement +procédure ETAT_GAP_FicheDeplacement(oEtat est un MEtat_Deplacement) +ETAT_GAP_FicheDeplacement +Code des champs +Avant impression de IMG_SAV +IMG_SAV..Visible = oEtat:oRdv:bSAV +06/08/2026 Batik 6120 + +Partie 5 › Etat › ETAT_SLAMM_FicheDeplacement_2 › Image +ETAT_SLAMM_FicheDeplacement_2 +Image +| 06/08/2026 | Batik | 6121 | +| ---------- | ----- | ---- | + +Partie 5 › Etat › ETAT_SLAMM_FicheDeplacement_2 › Informations générales +ETAT_SLAMM_FicheDeplacement_2 +Informations générales +ETAT_SLAMM_FicheDeplacement_2 +| Nom logique de l'état | ETAT_SLAMM_FicheDeplacement_2 | | | | | +| --------------------- | ----------------------------- | --- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\Nouvelle Version\Batik\ETAT_SLAMM_FicheDeplacement_2.wde +| Type | Tableau | | | | | +| ------------------------- | ------------------------ | --- | --- | --- | --- | +| Thème | Batik_Theme | | | | | +| Type de source de données | Pas de source de données | | | | | +Nom de la source +| Format de la page | A4 (210 x 297 mm) | | | | | +| ----------------- | ----------------- | --- | ----------------- | ----- | --- | +| Marge haute (mm) | 15.00 | | Marge basse (mm) | 15.00 | | +| Marge gauche (mm) | 15.00 | | Marge droite (mm) | 15.00 | | +ETAT_SLAMM_FicheDeplacement_2 +Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +| | Type | X Y | | | noitisoP | +| --- | ---- | --- | --- | --- | -------- | +elbisiV elbacéS ¹ .siapE +erdaC +tiarT +| TITREDOC | Libellé | 25.93 0.00 | 9.26 129.12 | | | +| ------------------- | ------------------------------- | ------------- | ----------- | ------------ | ---- | +| CHAMP58 | Prédéfini | 155.13 1.59 | 5.82 24.79 | | | +| IMG_Logo | Image | 0.00 0.00 | 20.11 23.02 | | | +| LIB_Lib_NumInter | Libellé | 62.44 10.05 | 7.14 28.13 | | | +| LIB_NumInter | Libellé | 90.49 10.05 | 7.11 40.48 | | | +| Rubrique | :oEtat.oInter.saRefInterne | | | | | +| LIB_SansNom10 | Libellé | 143.36 109.12 | 6.20 36.64 | | | +| FRM_FORME7 | Forme | 90.49 106.04 | 9.29 89.43 | 0.20 Continu | HBGD | +| LIB_SuiviPar | Libellé | 121.44 107.10 | 6.88 58.55 | | | +| Rubrique | :oEtat.oInter.saSuiviParNomColb | | | | | +| LIB_SansNom11 | Libellé | 107.52 109.12 | 6.20 35.84 | | | +| LIB_Lib_SuiviPar | Libellé | 90.49 107.10 | 6.88 31.04 | | | +| LIB_SansNom12 | Libellé | 71.68 109.12 | 6.20 35.84 | | | +| FRM_FORME6 | Forme | 90.49 91.76 | 12.99 89.43 | 0.20 Continu | HBGD | +| LIB_Lib_HeureDepart | Libellé | 90.57 97.93 | 6.88 43.21 | | | +| FRM_FORME4 | Forme | 0.00 68.80 | 28.60 88.90 | 0.20 Continu | HBGD | +| LIB_TitreInter | Libellé | 0.00 90.52 | 6.88 88.98 | | | +| Rubrique | :oEtat.oInter.saTitre | | | | | +| 06/08/2026 | | Batik | | | 6122 | + +Partie 5 › Etat › ETAT_SLAMM_FicheDeplacement_2 › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | +| --- | ---- | --- | --- | ---------------- | --- | +elbisiV erdaC +tiarT +| LIB_Lib_HeureArrive | Libellé | 90.49 91.76 | 6.88 43.21 | | | +| ------------------- | ------------------------ | ------------ | ----------- | ------------ | ---- | +| LIB_RealisePar | Libellé | 0.00 106.34 | 11.40 88.90 | | | +| Rubrique | :oEtat.saIntervenants | | | | | +| LIB_NumDevis | Libellé | 0.00 83.11 | 6.88 88.98 | | | +| Rubrique | :oEtat.oInter.saNumDevis | | | | | +| FRM_FORME5 | Forme | 90.49 76.15 | 13.78 64.56 | 0.20 Continu | HBGD | +| LIB_HeureRDV | Libellé | 116.50 82.98 | 6.88 34.74 | | | +| Rubrique | :oEtat.dhDateDebut | | | | | +| LIB_Lib_HeureRDV | Libellé | 90.57 82.98 | 6.99 25.93 | | | +| LIB_SansNom13 | Libellé | 35.84 109.12 | 6.20 35.84 | | | +| LIB_Lib_DateRDV | Libellé | 90.57 76.15 | 6.99 25.93 | | | +| LIB_TypeInter | Libellé | 0.00 75.99 | 6.88 88.98 | | | +| Rubrique | :oEtat.oInter.saCleType | | | | | +| | | 116.42 76.15 | 6.88 34.74 | | | +| LIB_DateRDV | Libellé | | | | | +| Rubrique | :oEtat.dhDateDebut | | | | | +| LIB_EtatInter | Libellé | 0.00 69.11 | 6.88 88.98 | | | +| Rubrique | :oEtat.oInter.saCleEtat | | | | | +| LIB_Lib_RealisePar | Libellé | 0.00 98.96 | 6.88 49.29 | | | +| | | 90.57 68.11 | 6.88 30.96 | | | +| LIB_Lib_RendezVous1 | Libellé | | | | | +LIB_Contacts Libellé 0.00 61.12 6.88 180.00 0.10 Continu HBGD +| Rubrique | :oEtat.saContacts | | | | | +| ---------------- | ------------------- | ----------- | ------------ | --- | --- | +| LIB_SansNom14 | Libellé | 0.00 109.12 | 6.20 35.84 | | | +| LIB_NoteSite | Libellé | 30.96 37.04 | 17.23 148.96 | | | +| Rubrique | :oEtat.oLieu.saNote | | | | | +| LIB_Lib_Contacts | Libellé | 0.00 54.47 | 6.88 30.96 | | | +| LIB_Lib_NoteSite | Libellé | 0.00 36.78 | 7.14 31.04 | | | +LIB_CodeAcces Libellé 31.04 14.81 21.40 43.92 0.10 Continu HBGD +| Rubrique | :oEtat.oLieu.saCodeAcces | | | | | +| -------- | ------------------------ | --- | --- | --- | --- | +LIB_Adresse Libellé 95.94 14.81 21.72 84.14 0.10 Continu HBGD +| Rubrique | :oEtat.oLieu.oAdresse.saPresentation | | | | | +| ------------------ | ------------------------------------ | ----------- | ---------- | --- | --- | +| LIB_Lib_Interphone | Libellé | 6.62 29.06 | 7.41 24.42 | | | +| LIB_Lib_Badge | Libellé | 6.62 21.96 | 7.41 24.42 | | | +| LIB_Lib_CodeAcces1 | Libellé | 0.00 14.81 | 7.14 31.04 | | | +| LIB_Lib_Adresse1 | Libellé | 74.96 14.81 | 6.88 20.98 | | | +| LIB_Lib_AccesInfo | Libellé | 0.00 7.41 | 6.88 79.72 | | | +LIB_NomClient Libellé 14.02 0.26 6.88 165.98 0.10 Continu HBGD +| Rubrique | :oEtat.oClient.saNom | | | | | +| ------------------ | -------------------- | --------- | ---------- | --- | --- | +| LIB_Lib_NomClient1 | Libellé | 0.00 0.00 | 6.88 14.10 | | | +INT_Badge Interrupteur 0.00 22.23 5.58 5.11 0.50 Continu HBGD +| Rubrique | :oEtat.oLieu.bBadge | | | | | +| -------- | ------------------- | --- | --- | --- | --- | +INT_Interphone Interrupteur 0.00 29.06 5.58 5.11 0.50 Continu HBGD +| Rubrique | :oEtat.oLieu.bInterphone | | | | | +| ----------- | ------------------------ | ------------ | ----------- | --- | ---- | +| LIB_Check11 | Libellé | 0.00 203.05 | 6.88 180.00 | | | +| LIB_Check10 | Libellé | 10.00 196.23 | 5.85 170.13 | | | +| 06/08/2026 | | Batik | | | 6123 | + +Partie 5 › Etat › ETAT_SLAMM_FicheDeplacement_2 › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | | +| --- | ---- | --- | --- | ---------------- | --- | --- | +elbisiV erdaC +tiarT +| LIB_Check9 | Libellé | 10.00 188.85 | 5.85 170.39 | | | | +| ------------------ | ------- | ------------- | ----------- | ---- | ------- | ---- | +| LIB_Check7 | Libellé | 10.00 178.70 | 9.82 169.86 | | | | +| LIB_Check13 | Libellé | 83.43 209.80 | 6.88 37.04 | | | | +| | | 10.00 173.63 | 6.38 169.86 | | | | +| LIB_Check6 | Libellé | | | | | | +| LIB_Check5 | Libellé | 10.00 166.63 | 5.85 169.86 | | | | +| LIB_Check3 | Libellé | 10.00 159.63 | 6.11 170.13 | | | | +| LIB_Check2 | Libellé | 10.00 152.49 | 5.85 170.13 | | | | +| LIB_Check12 | Libellé | 0.00 209.80 | 6.88 37.04 | | | | +| FRM_FORME11 | Forme | 60.88 145.34 | 6.00 8.00 | 0.20 | Continu | HBGD | +| FRM_FORME14 | Forme | 133.20 145.34 | 6.00 8.00 | 0.20 | Continu | HBGD | +| LIB_Check1 | Libellé | 10.00 145.34 | 5.85 34.66 | | | | +| LIB_Check4 | Libellé | 70.65 145.34 | 5.85 62.18 | | | | +| | | 143.20 145.34 | 5.85 37.04 | | | | +| LIB_Check8 | Libellé | | | | | | +| LIB_Lib_Acces | Libellé | 0.00 137.17 | 6.88 49.29 | | | | +| LIB_Lib_AccesTitre | Libellé | 0.00 133.23 | 7.96 179.92 | | | | +LIB_DescriptionInter Libellé 0.00 120.36 11.93 179.92 0.10 Continu HBGD +| Rubrique | :oEtat.oInter.saDescription | | | | | | +| ------------------------------ | --------------------------- | ----------- | -------------------------- | ---- | ------- | ---- | +| FRM_FORME8 | Forme | 0.00 145.34 | 6.00 8.00 | 0.20 | Continu | HBGD | +| FRM_FORME9 | Forme | 0.00 152.49 | 6.00 8.00 | 0.20 | Continu | HBGD | +| | | 0.00 159.63 | 6.00 8.00 | 0.20 | | | +| FRM_FORME10 | Forme | | | | Continu | HBGD | +| FRM_FORME12 | Forme | 0.00 166.63 | 6.00 8.00 | 0.20 | Continu | HBGD | +| FRM_FORME13 | Forme | 0.00 173.59 | 6.00 8.00 | 0.20 | Continu | HBGD | +| FRM_FORME15 | Forme | 0.00 188.85 | 6.00 8.00 | 0.20 | Continu | HBGD | +| FRM_FORME16 | Forme | 0.00 196.23 | 6.00 8.00 | 0.20 | Continu | HBGD | +| FRM_FORME17 | Forme | 0.00 180.70 | 6.00 8.00 | 0.20 | Continu | HBGD | +| NUMNBPAGES | Prédéfini | 146.72 0.70 | 5.72 33.28 | | | | +| IMG_Omika | Image | 0.00 0.00 | 9.53 146.58 | | | | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | | +Epais. : Epaisseur du cadre (mm) +Détails des champs <Prédéfini> +Type de champ Prédéfini +| NUMNBPAGES [NUMPAGE] / [NBPAGES] | | | | | | | +| -------------------------------- | --- | ----- | --- | --- | --- | ---- | +| CHAMP58 Date | | | | | | | +| 06/08/2026 | | Batik | | | | 6124 | + +Partie 5 › Etat › ETAT_SLAMM_FicheDeplacement_2 › Code +ETAT_SLAMM_FicheDeplacement_2 +Code +Ouverture de ETAT_SLAMM_FicheDeplacement_2 +procédure ETAT_SLAMM_FicheDeplacement_2(oEtat est un MEtat_Deplacement) +ETAT_SLAMM_FicheDeplacement_2 +Code des champs +Avant impression de LIB_HeureRDV +LIB_HeureRDV = oEtat.dhDateDebut..PartieHeure +Avant impression de IMG_Logo +si oEtat:oSociete:bufLogo <> "" alors +IMG_Logo = oEtat:oSociete:bufLogo +fin +06/08/2026 Batik 6125 + +Partie 5 › Etat › ETAT_SLAMM_FicheDeplacement_1 › Image +ETAT_SLAMM_FicheDeplacement_1 +Image +| 06/08/2026 | Batik | 6126 | +| ---------- | ----- | ---- | + +Partie 5 › Etat › ETAT_SLAMM_FicheDeplacement_1 › Informations générales +ETAT_SLAMM_FicheDeplacement_1 +Informations générales +ETAT_SLAMM_FicheDeplacement_1 +| Nom logique de l'état | ETAT_SLAMM_FicheDeplacement_1 | | | | | +| --------------------- | ----------------------------- | --- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\Nouvelle Version\Batik\ETAT_SLAMM_FicheDeplacement_1.wde +| Type | Tableau | | | | | +| ------------------------- | ------------------------ | --- | --- | --- | --- | +| Thème | Batik_Theme | | | | | +| Type de source de données | Pas de source de données | | | | | +Nom de la source +| Format de la page | A4 (210 x 297 mm) | | | | | +| ----------------- | ----------------- | --- | ----------------- | ----- | --- | +| Marge haute (mm) | 15.00 | | Marge basse (mm) | 15.00 | | +| Marge gauche (mm) | 15.00 | | Marge droite (mm) | 15.00 | | +ETAT_SLAMM_FicheDeplacement_1 +Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +| | Type | X Y | | | noitisoP | +| --- | ---- | --- | --- | --- | -------- | +elbisiV elbacéS ¹ .siapE +erdaC +tiarT +| TITREDOC | Libellé | 25.93 0.00 | 9.26 129.12 | | | +| ------------------- | ------------------------------- | ------------- | ----------- | ------------ | ---- | +| CHAMP58 | Prédéfini | 155.13 1.59 | 5.82 24.79 | | | +| IMG_Logo | Image | 0.00 0.00 | 20.11 23.02 | | | +| LIB_Lib_NumInter | Libellé | 62.44 10.05 | 7.14 28.13 | | | +| LIB_NumInter | Libellé | 90.49 10.05 | 7.11 40.48 | | | +| Rubrique | :oEtat.oInter.saRefInterne | | | | | +| LIB_SansNom10 | Libellé | 143.36 109.12 | 6.20 36.64 | | | +| FRM_FORME7 | Forme | 90.49 106.04 | 9.29 89.43 | 0.20 Continu | HBGD | +| LIB_SuiviPar | Libellé | 121.44 107.10 | 6.88 58.55 | | | +| Rubrique | :oEtat.oInter.saSuiviParNomColb | | | | | +| LIB_SansNom11 | Libellé | 107.52 109.12 | 6.20 35.84 | | | +| FRM_FORME6 | Forme | 90.49 91.76 | 12.99 89.43 | 0.20 Continu | HBGD | +| LIB_Lib_HeureDepart | Libellé | 90.57 97.93 | 6.88 43.21 | | | +| LIB_Lib_SuiviPar | Libellé | 90.49 107.10 | 6.88 31.04 | | | +| LIB_Lib_HeureArrive | Libellé | 90.49 91.76 | 6.88 43.21 | | | +| LIB_SansNom12 | Libellé | 71.68 109.12 | 6.20 35.84 | | | +| FRM_FORME4 | Forme | 0.00 69.80 | 28.60 88.90 | 0.20 Continu | HBGD | +| LIB_TitreInter | Libellé | 0.00 91.52 | 6.88 88.98 | | | +| 06/08/2026 | | Batik | | | 6127 | + +Partie 5 › Etat › ETAT_SLAMM_FicheDeplacement_1 › Informations sur les champs +| Rubrique | :oEtat.oInter.saTitre | | | | | +| ------------------- | ------------------------ | ------------ | ----------- | ------------ | ---- | +| LIB_RealisePar | Libellé | 0.00 107.16 | 10.88 88.90 | | | +| Rubrique | :oEtat.saIntervenants | | | | | +| LIB_NumDevis | Libellé | 0.00 84.11 | 6.88 88.98 | | | +| Rubrique | :oEtat.oInter.saNumDevis | | | | | +| FRM_FORME5 | Forme | 90.49 76.15 | 13.78 64.56 | 0.20 Continu | HBGD | +| LIB_HeureRDV | Libellé | 116.50 82.98 | 6.88 34.74 | | | +| Rubrique | :oEtat.dhDateDebut | | | | | +| LIB_Lib_HeureRDV | Libellé | 90.57 82.98 | 6.99 25.93 | | | +| LIB_TypeInter | Libellé | 0.00 76.99 | 6.88 88.98 | | | +| Rubrique | :oEtat.oInter.saCleType | | | | | +| LIB_Lib_DateRDV | Libellé | 90.57 76.15 | 6.99 25.93 | | | +| LIB_DateRDV | Libellé | 116.42 76.15 | 6.88 34.74 | | | +| Rubrique | :oEtat.dhDateDebut | | | | | +| LIB_EtatInter | Libellé | 0.00 70.11 | 6.88 88.98 | | | +| Rubrique | :oEtat.oInter.saCleEtat | | | | | +| LIB_Lib_RendezVous1 | Libellé | 90.57 68.11 | 6.88 30.96 | | | +LIB_Contacts Libellé 0.00 61.12 6.88 180.00 0.10 Continu HBGD +| Rubrique | :oEtat.saContacts | | | | | +| ------------ | ------------------- | ----------- | ------------ | --- | --- | +| LIB_NoteSite | Libellé | 30.96 37.04 | 17.23 148.96 | | | +| Rubrique | :oEtat.oLieu.saNote | | | | | +LIB_Adresse Libellé 95.94 14.81 21.72 84.14 0.10 Continu HBGD +| Rubrique | :oEtat.oLieu.oAdresse.saPresentation | | | | | +| -------- | ------------------------------------ | --- | --- | --- | --- | +LIB_CodeAcces Libellé 31.04 14.81 21.40 43.92 0.10 Continu HBGD +| Rubrique | :oEtat.oLieu.saCodeAcces | | | | | +| ------------------ | ------------------------ | ----------- | ---------- | --- | --- | +| LIB_Lib_Adresse1 | Libellé | 74.96 14.81 | 6.88 20.98 | | | +| LIB_Lib_RealisePar | Libellé | 0.00 99.96 | 6.88 49.29 | | | +| LIB_Lib_AccesInfo | Libellé | 0.00 7.41 | 6.88 79.72 | | | +| LIB_Lib_Contacts | Libellé | 0.00 54.47 | 6.88 30.96 | | | +| | | 0.00 14.81 | 7.14 31.04 | | | +| LIB_Lib_CodeAcces1 | Libellé | | | | | +| LIB_Lib_Badge | Libellé | 6.62 21.96 | 7.41 24.42 | | | +| LIB_Lib_Interphone | Libellé | 6.62 29.06 | 7.41 24.42 | | | +| LIB_Lib_NoteSite | Libellé | 0.00 36.78 | 7.14 31.04 | | | +| LIB_SansNom14 | Libellé | 0.00 109.12 | 6.20 35.84 | | | +LIB_NomClient Libellé 14.02 0.26 6.88 165.98 0.10 Continu HBGD +| Rubrique | :oEtat.oClient.saNom | | | | | +| ------------------ | -------------------- | --------- | ---------- | --- | --- | +| | | 0.00 0.00 | 6.88 14.10 | | | +| LIB_Lib_NomClient1 | Libellé | | | | | +INT_Badge Interrupteur 0.00 22.23 5.58 5.11 0.50 Continu HBGD +| Rubrique | :oEtat.oLieu.bBadge | | | | | +| -------- | ------------------- | --- | --- | --- | --- | +INT_Interphone Interrupteur 0.00 29.06 5.58 5.11 0.50 Continu HBGD +| Rubrique | :oEtat.oLieu.bInterphone | | | | | +| ----------- | ------------------------ | ------------- | ---------- | ------------ | ---- | +| | | 142.96 176.50 | 6.88 37.04 | | | +| LIB_Check10 | Libellé | | | | | +| FRM_FORME15 | Forme | 133.20 167.13 | 7.94 9.08 | 0.20 Continu | HBGD | +| FRM_FORME16 | Forme | 133.20 176.36 | 7.94 9.08 | 0.20 Continu | HBGD | +| LIB_Check9 | Libellé | 142.96 167.24 | 6.88 37.04 | | | +| LIB_Check7 | Libellé | 108.77 176.63 | 6.88 24.42 | | | +| FRM_FORME17 | Forme | 98.53 176.36 | 7.94 9.08 | 0.20 Continu | HBGD | +| FRM_FORME14 | Forme | 133.20 158.10 | 7.94 9.08 | 0.20 Continu | HBGD | +| LIB_Check4 | Libellé | 70.94 158.37 | 6.88 62.26 | | | +| 06/08/2026 | | Batik | | | 6128 | + +Partie 5 › Etat › ETAT_SLAMM_FicheDeplacement_1 › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | | +| --- | ---- | --- | --- | ---------------- | --- | --- | +elbisiV erdaC +tiarT +| LIB_Check5 | Libellé | 70.99 167.13 | 6.88 34.74 | | | | +| ----------- | ------- | ------------- | ---------- | ---- | ------- | ---- | +| LIB_Check6 | Libellé | 70.94 177.68 | 6.88 27.60 | | | | +| LIB_Check8 | Libellé | 142.96 158.51 | 6.88 37.04 | | | | +| | | 60.88 158.10 | 7.94 9.08 | 0.20 | | | +| FRM_FORME11 | Forme | | | | Continu | HBGD | +| FRM_FORME12 | Forme | 60.88 167.13 | 7.94 9.08 | 0.20 | Continu | HBGD | +| FRM_FORME13 | Forme | 60.88 176.36 | 7.94 9.08 | 0.20 | Continu | HBGD | +| LIB_Check2 | Libellé | 8.62 168.28 | 6.88 52.47 | | | | +LIB_DescriptionInter Libellé 0.00 121.59 28.87 179.92 0.10 Continu HBGD +| Rubrique | :oEtat.oInter.saDescription | | | | | | +| ------------------------------ | --------------------------- | ----------- | -------------------------- | ---- | ------- | ---- | +| LIB_Lib_Acces | Libellé | 0.00 151.07 | 6.88 49.29 | | | | +| | | 9.75 158.25 | 6.88 34.74 | | | | +| LIB_Check1 | Libellé | | | | | | +| LIB_Check3 | Libellé | 9.75 176.36 | 6.88 34.74 | | | | +| FRM_FORME8 | Forme | 0.00 158.10 | 7.94 9.08 | 0.20 | Continu | HBGD | +| FRM_FORME9 | Forme | 0.00 167.13 | 7.94 9.08 | 0.20 | Continu | HBGD | +| FRM_FORME10 | Forme | 0.00 176.36 | 7.94 9.08 | 0.20 | Continu | HBGD | +| NUMNBPAGES | Prédéfini | 146.72 0.70 | 5.72 33.28 | | | | +| IMG_Omika | Image | 0.00 0.00 | 9.79 146.58 | | | | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | | +Epais. : Epaisseur du cadre (mm) +Détails des champs <Prédéfini> +Type de champ Prédéfini +| NUMNBPAGES [NUMPAGE] / [NBPAGES] | | | | | | | +| -------------------------------- | --- | ----- | --- | --- | --- | ---- | +| CHAMP58 Date | | | | | | | +| 06/08/2026 | | Batik | | | | 6129 | + +Partie 5 › Etat › ETAT_SLAMM_FicheDeplacement_1 › Code +ETAT_SLAMM_FicheDeplacement_1 +Code +Ouverture de ETAT_SLAMM_FicheDeplacement_1 +procédure ETAT_SLAMM_FicheDeplacement_1(oEtat est un MEtat_Deplacement) +ETAT_SLAMM_FicheDeplacement_1 +Code des champs +Avant impression de LIB_HeureRDV +LIB_HeureRDV = oEtat.dhDateDebut..PartieHeure +Avant impression de IMG_Logo +si oEtat:oSociete:bufLogo <> "" alors +IMG_Logo = oEtat:oSociete:bufLogo +fin +06/08/2026 Batik 6130 + +Partie 5 › Etat › ETAT_SLAMM_FicheDeplacement_3 › Image +ETAT_SLAMM_FicheDeplacement_3 +Image +| 06/08/2026 | Batik | 6131 | +| ---------- | ----- | ---- | + +Partie 5 › Etat › ETAT_SLAMM_FicheDeplacement_3 › Informations générales +ETAT_SLAMM_FicheDeplacement_3 +Informations générales +ETAT_SLAMM_FicheDeplacement_3 +| Nom logique de l'état | ETAT_SLAMM_FicheDeplacement_3 | | | | | +| --------------------- | ----------------------------- | --- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\Nouvelle Version\Batik\ETAT_SLAMM_FicheDeplacement_3.wde +| Type | Tableau | | | | | +| ------------------------- | ------------------------ | --- | --- | --- | --- | +| Thème | Batik_Theme | | | | | +| Type de source de données | Pas de source de données | | | | | +Nom de la source +| Format de la page | A4 (210 x 297 mm) | | | | | +| ----------------- | ----------------- | --- | ----------------- | ----- | --- | +| Marge haute (mm) | 15.00 | | Marge basse (mm) | 15.00 | | +| Marge gauche (mm) | 15.00 | | Marge droite (mm) | 15.00 | | +ETAT_SLAMM_FicheDeplacement_3 +Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +| | Type | X Y | | | noitisoP | +| --- | ---- | --- | --- | --- | -------- | +elbisiV elbacéS ¹ .siapE +erdaC +tiarT +| TITREDOC | Libellé | 25.93 0.00 | 9.26 129.12 | | | +| ---------------- | --------- | ----------- | ----------- | --- | --- | +| CHAMP58 | Prédéfini | 155.13 1.59 | 5.82 24.79 | | | +| IMG_Logo | Image | 0.00 0.00 | 20.11 23.02 | | | +| LIB_Lib_NumInter | Libellé | 62.44 10.05 | 7.14 28.13 | | | +| LIB_NumInter | Libellé | 90.49 10.05 | 7.11 40.48 | | | +LIB_DescriptionInter Libellé 0.35 75.26 11.93 179.92 0.10 Continu HBGD +| Rubrique | :oEtat.oInter.saDescription | | | | | +| ------------------- | --------------------------- | ---------- | ---------- | --- | --- | +| LIB_Lib_Description | Libellé | 0.35 67.97 | 7.14 31.04 | | | +LIB_Contacts Libellé 0.35 60.59 6.88 180.00 0.10 Continu HBGD +| Rubrique | :oEtat.saContacts | | | | | +| ---------------- | ------------------------------- | ------------ | ----------- | --- | --- | +| LIB_Lib_Contacts | Libellé | 0.35 53.94 | 6.88 30.96 | | | +| LIB_Lib_SuiviPar | Libellé | 75.22 51.39 | 7.70 32.54 | | | +| LIB_SuiviPar | Libellé | 107.69 51.59 | 7.44 71.44 | | | +| Rubrique | :oEtat.oInter.saSuiviParNomColb | | | | | +| LIB_Lib_NoteSite | Libellé | 0.00 43.66 | 7.14 9.87 | | | +| LIB_NoteSite | Libellé | 9.87 43.66 | 7.14 170.05 | | | +| Rubrique | :oEtat.oLieu.saNote | | | | | +LIB_CodeAcces Libellé 31.38 21.28 21.40 43.92 0.10 Continu HBGD +| 06/08/2026 | | Batik | | | 6132 | +| ---------- | --- | ----- | --- | --- | ---- | + +Partie 5 › Etat › ETAT_SLAMM_FicheDeplacement_3 › Informations sur les champs +| Rubrique | :oEtat.oLieu.saCodeAcces | | | | | +| -------- | ------------------------ | --- | --- | --- | --- | +LIB_Adresse Libellé 96.31 21.43 21.70 83.95 0.10 Continu HBGD +| Rubrique | :oEtat.oLieu.oAdresse.saPresentation | | | | | +| ------------------ | ------------------------------------ | ----------- | ---------- | --- | --- | +| LIB_Lib_Adresse1 | Libellé | 75.30 21.28 | 6.88 20.98 | | | +| LIB_Lib_CodeAcces1 | Libellé | 0.35 21.28 | 7.14 31.04 | | | +INT_Badge Interrupteur 0.35 28.70 5.58 5.11 0.50 Continu HBGD +| Rubrique | :oEtat.oLieu.bBadge | | | | | +| ------------- | ------------------- | ---------- | ---------- | --- | --- | +| LIB_Lib_Badge | Libellé | 6.96 28.43 | 7.41 24.42 | | | +INT_Interphone Interrupteur 0.35 35.53 5.58 5.11 0.50 Continu HBGD +| Rubrique | :oEtat.oLieu.bInterphone | | | | | +| ------------------- | ------------------------ | ---------- | ----------- | ------------ | ---- | +| LIB_Lib_Interphone | Libellé | 6.96 35.53 | 7.41 24.42 | | | +| | | 0.35 14.50 | 6.88 79.72 | | | +| LIB_Lib_AccesInfo | Libellé | | | | | +| LIB_HeureRDV | Libellé | 44.35 6.88 | 6.88 23.37 | | | +| Rubrique | :oEtat.dhDateDebut | | | | | +| | | 31.30 6.88 | 6.88 13.05 | | | +| LIB_Lib_HeureRDV | Libellé | | | | | +| LIB_DateRDV | Libellé | 44.35 0.00 | 6.88 23.37 | | | +| Rubrique | :oEtat.dhDateDebut | | | | | +| LIB_Lib_RendezVous1 | Libellé | 0.35 0.00 | 6.88 30.96 | | | +| FRM_FORME5 | Forme | 31.30 0.27 | 13.76 36.33 | 0.20 Continu | HBGD | +| LIB_Lib_NomClient1 | Libellé | 79.99 0.26 | 6.88 16.22 | | | +LIB_NomClient Libellé 96.21 0.00 6.88 84.06 0.10 Continu HBGD +| Rubrique | :oEtat.oClient.saNom | | | | | +| --------------- | -------------------- | ----------- | ----------- | ------------ | ---- | +| FRM_FORME7 | Forme | 75.41 50.86 | 8.49 104.51 | 0.20 Continu | HBGD | +| LIB_Lib_DateRDV | Libellé | 31.77 0.74 | 5.85 13.23 | | | +LIB_Table_18 Libellé 44.00 183.91 7.67 136.00 0.00 Continu -B-D +LIB_Table_17 Libellé 44.00 175.98 7.94 136.00 0.00 Continu -B-D +LIB_Table_16 Libellé 44.00 168.04 7.67 136.00 0.00 Continu -B-D +LIB_Table_15 Libellé 44.00 159.84 7.67 136.00 0.00 Continu -B-D +LIB_Table_14 Libellé 44.00 151.90 7.94 136.00 0.00 Continu -B-D +LIB_Table_13 Libellé 44.00 143.96 7.67 136.00 0.10 Continu HB-D +| LIB_SansNom10 | Libellé | 35.84 135.35 | 6.09 36.00 | | | +| ------------- | ------- | ------------- | ----------- | ------------ | ---- | +| LIB_SansNom11 | Libellé | 71.68 135.35 | 6.09 36.00 | | | +| | | 107.42 135.35 | 6.09 36.00 | | | +| LIB_SansNom12 | Libellé | | | | | +| LIB_SansNom13 | Libellé | 143.42 135.35 | 6.09 36.00 | | | +| LIB_SansNom9 | Libellé | 0.00 128.00 | 6.09 180.00 | | | +| LIB_SansNom14 | Libellé | 0.00 135.35 | 6.09 36.00 | | | +| LIB_Table_7 | Libellé | 0.08 143.96 | 7.67 43.92 | 0.10 Continu | HBGD | +| LIB_Table_8 | Libellé | 0.08 151.90 | 7.94 43.92 | 0.00 Continu | -BGD | +| LIB_Table_9 | Libellé | 0.08 159.84 | 7.67 43.92 | 0.00 Continu | -BGD | +LIB_Table_10 Libellé 0.00 168.04 7.67 43.92 0.00 Continu -BGD +LIB_Table_11 Libellé 0.00 175.98 7.94 43.92 0.00 Continu -BGD +| | | 0.00 183.91 | 7.67 43.92 | 0.00 | | +| ------------ | ------- | ----------- | ---------- | ------------ | ---- | +| LIB_Table_12 | Libellé | | | Continu | -BGD | +| LIB_Table_3 | Libellé | 0.00 119.53 | 7.70 90.49 | 0.00 Continu | -BGD | +LIB_Table_6 Libellé 90.49 119.48 7.67 89.51 0.00 Continu -B-D +| LIB_Table_2 | Libellé | 0.00 111.83 | 7.70 90.49 | 0.00 Continu | -BGD | +| ----------- | ------- | ----------- | ---------- | ------------ | ---- | +LIB_Table_5 Libellé 90.49 111.80 7.67 89.51 0.00 Continu -B-D +| LIB_Table_1 | Libellé | 0.00 103.87 | 7.70 90.49 | 0.10 Continu | HBGD | +| ----------- | ------- | ----------- | ---------- | ------------ | ---- | +LIB_Table_4 Libellé 90.49 103.87 7.67 89.51 0.10 Continu HB-D +| FRM_FORME8 | Forme | 0.00 94.37 | 7.94 9.08 | 0.20 Continu | HBGD | +| ----------- | ----- | ------------ | --------- | ------------ | ---- | +| FRM_FORME11 | Forme | 60.88 94.37 | 7.94 9.08 | 0.20 Continu | HBGD | +| | | 133.20 94.37 | 7.94 9.08 | 0.20 | | +| FRM_FORME14 | Forme | | | Continu | HBGD | +| 06/08/2026 | | Batik | | | 6133 | + +Partie 5 › Etat › ETAT_SLAMM_FicheDeplacement_3 › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | +| --- | ---- | --- | --- | ---------------- | --- | +elbisiV erdaC +tiarT +| LIB_Check1 | Libellé | 9.75 94.51 | 6.88 34.74 | | | +| ------------------------------ | --------- | ------------ | -------------------------- | --- | --- | +| LIB_Check4 | Libellé | 70.94 94.64 | 6.88 62.26 | | | +| LIB_Check8 | Libellé | 142.96 94.78 | 6.88 37.04 | | | +| | | 0.00 87.20 | 6.88 49.29 | | | +| LIB_Lib_Acces | Libellé | | | | | +| NUMNBPAGES | Prédéfini | 146.72 0.70 | 5.72 33.28 | | | +| IMG_Omika | Image | 0.00 0.00 | 9.53 146.58 | | | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | +Epais. : Epaisseur du cadre (mm) +Détails des champs <Prédéfini> +Type de champ Prédéfini +| CHAMP58 Date | | | | | | +| -------------------------------- | --- | ----- | --- | --- | ---- | +| NUMNBPAGES [NUMPAGE] / [NBPAGES] | | | | | | +| 06/08/2026 | | Batik | | | 6134 | + +Partie 5 › Etat › ETAT_SLAMM_FicheDeplacement_3 › Code +ETAT_SLAMM_FicheDeplacement_3 +Code +Ouverture de ETAT_SLAMM_FicheDeplacement_3 +procédure ETAT_SLAMM_FicheDeplacement_3(oEtat est un MEtat_Deplacement) +ETAT_SLAMM_FicheDeplacement_3 +Code des champs +Avant impression de LIB_HeureRDV +LIB_HeureRDV = oEtat.dhDateDebut..PartieHeure +Avant impression de IMG_Logo +si oEtat:oSociete:bufLogo <> "" alors +IMG_Logo = oEtat:oSociete:bufLogo +fin +Avant impression de LIB_NumInter +LIB_NumInter = Left(oEtat.oInter.saRefInterne, Position(oEtat.oInter.saRefInterne,"-") - 1) +06/08/2026 Batik 6135 + +Partie 5 › Etat › ETAT_SLAMM_FicheDeplacement_4 › Image +ETAT_SLAMM_FicheDeplacement_4 +Image +ETAT_SLAMM_FicheDeplacement_4 +Informations générales +ETAT_SLAMM_FicheDeplacement_4 +Nom logique de l'état ETAT_SLAMM_FicheDeplacement_4 +06/08/2026 Batik 6136 + +Partie 5 › Etat › ETAT_SLAMM_FicheDeplacement_4 › Informations générales +Nom physique de l'état D:\Projets Windev\Batik\Nouvelle Version\Batik\ETAT_SLAMM_FicheDeplacement_4.wde +| Type | Tableau | | | | | | +| ------------------------- | ------------------------ | --- | --- | --- | --- | --- | +| Thème | Batik_Theme | | | | | | +| Type de source de données | Pas de source de données | | | | | | +Nom de la source +| Format de la page | A4 (210 x 297 mm) | | | | | | +| ----------------- | ----------------- | --- | ----------------- | --- | ----- | --- | +| Marge haute (mm) | 15.00 | | Marge basse (mm) | | 15.00 | | +| Marge gauche (mm) | 15.00 | | Marge droite (mm) | | 15.00 | | +ETAT_SLAMM_FicheDeplacement_4 +Informations sur les champs +)mm( ruetuaH +)mm( ruegraL +¹ txE.otuA +¹ uaelbaT +| | Type | X | Y | elbacéS | | noitisoP | +| --- | ---- | --- | --- | ------- | -------- | -------- | +| | | | | elbisiV | ¹ .siapE | | +erdaC +tiarT +| TITREDOC | Libellé | 25.93 | 0.00 9.26 129.12 | | | | +| -------------------- | ------------------------------- | ------ | ------------------- | --- | ------------ | ---- | +| CHAMP58 | Prédéfini | 155.13 | 1.59 5.82 24.79 | | | | +| IMG_Logo | Image | 0.00 | 0.00 20.11 23.02 | | | | +| LIB_Lib_NumInter | Libellé | 62.44 | 10.05 7.14 28.13 | | | | +| LIB_NumInter | Libellé | 90.49 | 10.05 7.11 40.48 | | | | +| Rubrique | :oEtat.oInter.saRefInterne | | | | | | +| LIB_NumDevis1 | Libellé | 85.20 | 148.67 6.91 94.72 | | | | +| Rubrique | :oEtat.oInter.saNumDevis | | | | | | +| | | 0.00 | 119.30 28.87 179.92 | | 0.10 | | +| LIB_DescriptionInter | Libellé | | | | Continu | HBGD | +| Rubrique | :oEtat.oInter.saDescription | | | | | | +| LIB_SansNom4 | Libellé | 0.00 | 148.46 7.12 85.20 | | | | +| LIB_RealisePar | Libellé | 0.00 | 107.37 11.40 88.90 | | | | +| Rubrique | :oEtat.saIntervenants | | | | | | +| | | 90.49 | 106.04 9.29 89.43 | | 0.20 | | +| FRM_FORME7 | Forme | | | | Continu | HBGD | +| LIB_Lib_SuiviPar | Libellé | 90.49 | 107.10 6.88 31.04 | | | | +| LIB_SuiviPar | Libellé | 121.44 | 107.10 6.88 58.55 | | | | +| Rubrique | :oEtat.oInter.saSuiviParNomColb | | | | | | +| LIB_Lib_RealisePar | Libellé | 0.00 | 99.96 6.88 49.29 | | | | +| FRM_FORME6 | Forme | 90.49 | 91.76 12.99 89.43 | | 0.20 Continu | HBGD | +| LIB_Lib_HeureDepart | Libellé | 90.57 | 97.93 6.88 43.21 | | | | +| | | 90.49 | 91.76 6.88 43.21 | | | | +| LIB_Lib_HeureArrive | Libellé | | | | | | +| FRM_FORME4 | Forme | 0.00 | 69.80 28.60 88.90 | | 0.20 Continu | HBGD | +| LIB_TitreInter | Libellé | 0.00 | 91.52 6.88 88.98 | | | | +| Rubrique | :oEtat.oInter.saTitre | | | | | | +| LIB_NumDevis | Libellé | 0.00 | 84.11 6.88 88.98 | | | | +| Rubrique | :oEtat.oInter.saNumDevis | | | | | | +| FRM_FORME5 | Forme | 90.49 | 76.15 13.78 64.56 | | 0.20 Continu | HBGD | +| 06/08/2026 | | | Batik | | | 6137 | + +Partie 5 › Etat › ETAT_SLAMM_FicheDeplacement_4 › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | +| --- | ---- | --- | --- | ---------------- | --- | +elbisiV erdaC +tiarT +| LIB_HeureRDV | Libellé | 116.50 82.98 | 6.88 34.74 | | | +| ------------------- | ----------------------- | ------------ | ---------- | --- | --- | +| Rubrique | :oEtat.dhDateDebut | | | | | +| LIB_Lib_HeureRDV | Libellé | 90.57 82.98 | 6.99 25.93 | | | +| LIB_TypeInter | Libellé | 0.00 76.99 | 6.88 88.98 | | | +| Rubrique | :oEtat.oInter.saCleType | | | | | +| LIB_Lib_DateRDV | Libellé | 90.57 76.15 | 6.99 25.93 | | | +| LIB_DateRDV | Libellé | 116.42 76.15 | 6.88 34.74 | | | +| Rubrique | :oEtat.dhDateDebut | | | | | +| LIB_EtatInter | Libellé | 0.00 70.11 | 6.88 88.98 | | | +| Rubrique | :oEtat.oInter.saCleEtat | | | | | +| LIB_Lib_RendezVous1 | Libellé | 90.57 68.11 | 6.88 30.96 | | | +LIB_Contacts Libellé 0.00 61.12 6.88 180.00 0.10 Continu HBGD +| Rubrique | :oEtat.saContacts | | | | | +| ---------------- | ------------------- | ----------- | ------------ | --- | --- | +| LIB_Lib_Contacts | Libellé | 0.00 54.47 | 6.88 30.96 | | | +| LIB_NoteSite | Libellé | 30.96 37.04 | 17.23 148.96 | | | +| Rubrique | :oEtat.oLieu.saNote | | | | | +| LIB_Lib_NoteSite | Libellé | 0.00 36.78 | 7.14 31.04 | | | +LIB_Adresse Libellé 95.94 14.81 21.72 84.14 0.10 Continu HBGD +| Rubrique | :oEtat.oLieu.oAdresse.saPresentation | | | | | +| ------------------ | ------------------------------------ | ---------- | ---------- | --- | --- | +| LIB_Lib_Interphone | Libellé | 6.62 29.06 | 7.41 24.42 | | | +LIB_CodeAcces Libellé 31.04 14.81 21.40 43.92 0.10 Continu HBGD +| Rubrique | :oEtat.oLieu.saCodeAcces | | | | | +| ------------------ | ------------------------ | ----------- | ---------- | --- | --- | +| LIB_Lib_Badge | Libellé | 6.62 21.96 | 7.41 24.42 | | | +| | | 0.00 14.81 | 7.14 31.04 | | | +| LIB_Lib_CodeAcces1 | Libellé | | | | | +| LIB_Lib_Adresse1 | Libellé | 74.96 14.81 | 6.88 20.98 | | | +| LIB_Lib_AccesInfo | Libellé | 0.00 7.41 | 6.88 79.72 | | | +LIB_NomClient Libellé 14.02 0.26 6.88 165.98 0.10 Continu HBGD +| Rubrique | :oEtat.oClient.saNom | | | | | +| ------------------ | -------------------- | --------- | ---------- | --- | --- | +| LIB_Lib_NomClient1 | Libellé | 0.00 0.00 | 6.88 14.10 | | | +INT_Badge Interrupteur 0.00 22.23 5.58 5.11 0.50 Continu HBGD +| Rubrique | :oEtat.oLieu.bBadge | | | | | +| -------- | ------------------- | --- | --- | --- | --- | +INT_Interphone Interrupteur 0.00 29.06 5.58 5.11 0.50 Continu HBGD +| Rubrique | :oEtat.oLieu.bInterphone | | | | | +| ------------------------------ | ------------------------ | ----------- | -------------------------- | --- | --- | +| NUMNBPAGES | Prédéfini | 146.72 0.70 | 5.72 33.28 | | | +| IMG_Omika | Image | 0.00 0.00 | 9.79 146.58 | | | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | +Epais. : Epaisseur du cadre (mm) +| 06/08/2026 | | Batik | | | 6138 | +| ---------- | --- | ----- | --- | --- | ---- | + +Partie 5 › Etat › ETAT_SLAMM_FicheDeplacement_4 › Informations sur les champs +Détails des champs <Prédéfini> +Type de champ Prédéfini +NUMNBPAGES [NUMPAGE] / [NBPAGES] +CHAMP58 Date +06/08/2026 Batik 6139 + +Partie 5 › Etat › ETAT_SLAMM_FicheDeplacement_4 › Code +ETAT_SLAMM_FicheDeplacement_4 +Code +Ouverture de ETAT_SLAMM_FicheDeplacement_4 +procédure ETAT_SLAMM_FicheDeplacement_4(oEtat est un MEtat_Deplacement) +ETAT_SLAMM_FicheDeplacement_4 +Code des champs +Avant impression de LIB_HeureRDV +LIB_HeureRDV = oEtat.dhDateDebut..PartieHeure +Avant impression de IMG_Logo +si oEtat:oSociete:bufLogo <> "" alors +IMG_Logo = oEtat:oSociete:bufLogo +fin +06/08/2026 Batik 6140 + +Partie 5 › Etat › ETAT_SLAMM_FicheIntervention_1 › Image +ETAT_SLAMM_FicheIntervention_1 +Image +| 06/08/2026 | Batik | 6141 | +| ---------- | ----- | ---- | + +Partie 5 › Etat › ETAT_SLAMM_FicheIntervention_1 › Informations générales +ETAT_SLAMM_FicheIntervention_1 +Informations générales +ETAT_SLAMM_FicheIntervention_1 +| Nom logique de l'état | ETAT_SLAMM_FicheIntervention_1 | | | | | +| --------------------- | ------------------------------ | --- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\Nouvelle Version\Batik\ETAT_SLAMM_FicheIntervention_1.wde +| Type | Tableau | | | | | +| ------------------------- | ------------------------ | --- | --- | --- | --- | +| Thème | Batik_Theme | | | | | +| Type de source de données | Pas de source de données | | | | | +Nom de la source +| Format de la page | A4 (210 x 297 mm) | | | | | +| ----------------- | ----------------- | --- | ----------------- | ----- | --- | +| Marge haute (mm) | 15.00 | | Marge basse (mm) | 15.00 | | +| Marge gauche (mm) | 15.00 | | Marge droite (mm) | 15.00 | | +ETAT_SLAMM_FicheIntervention_1 +Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +| | Type | X Y | | | noitisoP | +| --- | ---- | --- | --- | --- | -------- | +elbisiV elbacéS ¹ .siapE +erdaC +tiarT +| TITREDOC | Libellé | 25.93 0.00 | 9.26 129.12 | | | +| ------------------- | ------------------------------- | ------------ | ----------- | ------------ | ---- | +| CHAMP58 | Prédéfini | 155.13 1.59 | 5.82 24.79 | | | +| IMG_Logo | Image | 0.00 0.00 | 20.11 23.02 | | | +| LIB_Lib_NumInter | Libellé | 62.44 10.05 | 7.14 28.13 | | | +| LIB_NumInter | Libellé | 90.49 10.05 | 7.11 40.48 | | | +| Rubrique | :oEtat.oInter.saRefInterne | | | | | +| LIB_SansNom10 | Libellé | 142.87 99.33 | 6.20 36.64 | | | +| FRM_FORME7 | Forme | 90.00 96.25 | 9.29 89.43 | 0.20 Continu | HBGD | +| LIB_SuiviPar | Libellé | 120.96 97.31 | 6.88 58.55 | | | +| Rubrique | :oEtat.oInter.saSuiviParNomColb | | | | | +| FRM_FORME6 | Forme | 90.00 81.97 | 12.99 89.43 | 0.20 Continu | HBGD | +| LIB_Lib_HeureDepart | Libellé | 90.08 88.14 | 6.88 43.21 | | | +| LIB_Lib_SuiviPar | Libellé | 90.00 97.31 | 6.88 31.04 | | | +| LIB_Lib_HeureArrive | Libellé | 90.00 81.97 | 6.88 43.21 | | | +| FRM_FORME4 | Forme | 0.00 76.94 | 28.60 88.90 | 0.20 Continu | HBGD | +| LIB_TitreInter | Libellé | 0.00 98.66 | 6.88 88.98 | | | +| Rubrique | :oEtat.oInter.saTitre | | | | | +LIB_RealisePar Libellé 0.00 114.83 8.23 179.92 0.10 Continu HBGD +| 06/08/2026 | | Batik | | | 6142 | +| ---------- | --- | ----- | --- | --- | ---- | + +Partie 5 › Etat › ETAT_SLAMM_FicheIntervention_1 › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | +| --- | ---- | --- | --- | ---------------- | --- | +elbisiV erdaC +tiarT +| LIB_NumDevis | Libellé | 0.00 91.25 | 6.88 88.98 | | | +| ------------------- | ------------------------ | ----------- | ------------ | ------------ | ---- | +| Rubrique | :oEtat.oInter.saNumDevis | | | | | +| FRM_FORME5 | Forme | 0.00 61.86 | 13.78 64.56 | 0.20 Continu | HBGD | +| LIB_Lib_HeureRDV | Libellé | 0.08 68.70 | 6.99 25.93 | | | +| LIB_TypeInter | Libellé | 0.00 84.14 | 6.88 88.98 | | | +| Rubrique | :oEtat.oInter.saCleType | | | | | +| LIB_Lib_DateRDV | Libellé | 0.08 61.86 | 6.99 25.93 | | | +| LIB_EtatInter | Libellé | 0.00 77.26 | 6.88 88.98 | | | +| Rubrique | :oEtat.oInter.saCleEtat | | | | | +| LIB_Lib_RendezVous1 | Libellé | 0.00 55.15 | 6.88 30.96 | | | +| LIB_NoteSite | Libellé | 30.96 37.04 | 17.23 148.96 | | | +| Rubrique | :oEtat.oLieu.saNote | | | | | +LIB_Adresse Libellé 95.94 14.81 21.72 84.14 0.10 Continu HBGD +| Rubrique | :oEtat.oLieu.oAdresse.saPresentation | | | | | +| -------- | ------------------------------------ | --- | --- | --- | --- | +LIB_CodeAcces Libellé 31.04 14.81 21.40 43.92 0.10 Continu HBGD +| Rubrique | :oEtat.oLieu.saCodeAcces | | | | | +| ------------------ | ------------------------ | ----------- | ---------- | --- | --- | +| LIB_Lib_Adresse1 | Libellé | 74.96 14.81 | 6.88 20.98 | | | +| LIB_Lib_RealisePar | Libellé | 0.00 107.10 | 6.88 49.29 | | | +| | | 0.00 7.41 | 6.88 79.72 | | | +| LIB_Lib_AccesInfo | Libellé | | | | | +| LIB_Lib_CodeAcces1 | Libellé | 0.00 14.81 | 7.14 31.04 | | | +| LIB_Lib_Badge | Libellé | 6.62 21.96 | 7.41 24.42 | | | +| LIB_Lib_Interphone | Libellé | 6.62 29.06 | 7.41 24.42 | | | +| LIB_Lib_NoteSite | Libellé | 0.00 36.78 | 7.14 31.04 | | | +LIB_NomClient Libellé 14.02 0.26 6.88 165.98 0.10 Continu HBGD +| Rubrique | :oEtat.oClient.saNom | | | | | +| ------------------ | -------------------- | --------- | ---------- | --- | --- | +| | | 0.00 0.00 | 6.88 14.10 | | | +| LIB_Lib_NomClient1 | Libellé | | | | | +INT_Badge Interrupteur 0.00 22.23 5.58 5.11 0.50 Continu HBGD +| Rubrique | :oEtat.oLieu.bBadge | | | | | +| -------- | ------------------- | --- | --- | --- | --- | +INT_Interphone Interrupteur 0.00 29.06 5.58 5.11 0.50 Continu HBGD +| Rubrique | :oEtat.oLieu.bInterphone | | | | | +| ----------- | ------------------------ | ------------- | ---------- | ------------ | ---- | +| | | 142.96 179.45 | 6.88 37.04 | | | +| LIB_Check10 | Libellé | | | | | +| FRM_FORME15 | Forme | 133.20 170.07 | 7.94 9.08 | 0.20 Continu | HBGD | +| FRM_FORME16 | Forme | 133.20 179.30 | 7.94 9.08 | 0.20 Continu | HBGD | +| LIB_Check9 | Libellé | 142.96 170.19 | 6.88 37.04 | | | +| LIB_Check7 | Libellé | 108.77 179.57 | 6.88 24.42 | | | +| FRM_FORME17 | Forme | 98.53 179.30 | 7.94 9.08 | 0.20 Continu | HBGD | +| FRM_FORME14 | Forme | 133.20 161.05 | 7.94 9.08 | 0.20 Continu | HBGD | +| LIB_Check4 | Libellé | 70.94 161.31 | 6.88 62.26 | | | +| LIB_Check5 | Libellé | 70.99 170.07 | 6.88 34.74 | | | +| | | 70.94 180.63 | 6.88 27.60 | | | +| LIB_Check6 | Libellé | | | | | +| LIB_Check8 | Libellé | 142.96 161.45 | 6.88 37.04 | | | +| FRM_FORME11 | Forme | 60.88 161.05 | 7.94 9.08 | 0.20 Continu | HBGD | +| FRM_FORME12 | Forme | 60.88 170.07 | 7.94 9.08 | 0.20 Continu | HBGD | +| FRM_FORME13 | Forme | 60.88 179.30 | 7.94 9.08 | 0.20 Continu | HBGD | +| LIB_Check2 | Libellé | 8.79 171.06 | 6.88 52.73 | | | +| 06/08/2026 | | Batik | | | 6143 | + +Partie 5 › Etat › ETAT_SLAMM_FicheIntervention_1 › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | +| --- | ---- | --- | --- | ---------------- | --- | +elbisiV erdaC +tiarT +LIB_DescriptionInter Libellé 0.00 125.41 26.49 179.92 0.10 Continu HBGD +| Rubrique | :oEtat.oInter.saDescription | | | | | +| --------------- | --------------------------- | ----------- | ---------- | ------------ | ---- | +| LIB_Lib_Acces | Libellé | 0.00 154.01 | 6.88 49.29 | | | +| LIB_Check1 | Libellé | 9.75 161.19 | 6.88 34.74 | | | +| LIB_Check3 | Libellé | 9.75 179.30 | 6.88 34.74 | | | +| FRM_FORME8 | Forme | 0.00 161.05 | 7.94 9.08 | 0.20 Continu | HBGD | +| FRM_FORME9 | Forme | 0.00 170.07 | 7.94 9.08 | 0.20 Continu | HBGD | +| FRM_FORME10 | Forme | 0.00 179.30 | 7.94 9.08 | 0.20 Continu | HBGD | +| LIB_Lib_Contact | Libellé | 90.00 55.33 | 6.88 30.96 | | | +LIB_ContactInter Libellé 90.49 62.44 18.02 89.43 0.10 Continu HBGD +| Rubrique | :oEtat.saContacts | | | | | +| ------------------------------ | ----------------- | ----------- | -------------------------- | --- | --- | +| NUMNBPAGES | Prédéfini | 146.72 0.70 | 5.72 33.28 | | | +| IMG_Omika | Image | 0.00 0.00 | 9.79 146.58 | | | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | +Epais. : Epaisseur du cadre (mm) +Détails des champs <Prédéfini> +Type de champ Prédéfini +| CHAMP58 Date | | | | | | +| -------------------------------- | --- | ----- | --- | --- | ---- | +| NUMNBPAGES [NUMPAGE] / [NBPAGES] | | | | | | +| 06/08/2026 | | Batik | | | 6144 | + +Partie 5 › Etat › ETAT_SLAMM_FicheIntervention_1 › Code +ETAT_SLAMM_FicheIntervention_1 +Code +Ouverture de ETAT_SLAMM_FicheIntervention_1 +procédure ETAT_SLAMM_FicheIntervention_1(oEtat est un MEtat_Intervention) +ETAT_SLAMM_FicheIntervention_1 +Code des champs +Avant impression de IMG_Logo +si oEtat:oSociete:bufLogo <> "" alors +IMG_Logo = oEtat:oSociete:bufLogo +fin +06/08/2026 Batik 6145 + +Partie 5 › Etat › ETAT_SLAMM_FicheIntervention_2 › Image +ETAT_SLAMM_FicheIntervention_2 +Image +| 06/08/2026 | Batik | 6146 | +| ---------- | ----- | ---- | + +Partie 5 › Etat › ETAT_SLAMM_FicheIntervention_2 › Informations générales +ETAT_SLAMM_FicheIntervention_2 +Informations générales +ETAT_SLAMM_FicheIntervention_2 +| Nom logique de l'état | ETAT_SLAMM_FicheIntervention_2 | | | | | +| --------------------- | ------------------------------ | --- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\Nouvelle Version\Batik\ETAT_SLAMM_FicheIntervention_2.wde +| Type | Tableau | | | | | +| ------------------------- | ------------------------ | --- | --- | --- | --- | +| Thème | Batik_Theme | | | | | +| Type de source de données | Pas de source de données | | | | | +Nom de la source +| Format de la page | A4 (210 x 297 mm) | | | | | +| ----------------- | ----------------- | --- | ----------------- | ----- | --- | +| Marge haute (mm) | 15.00 | | Marge basse (mm) | 15.00 | | +| Marge gauche (mm) | 15.00 | | Marge droite (mm) | 15.00 | | +ETAT_SLAMM_FicheIntervention_2 +Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +| | Type | X Y | | | noitisoP | +| --- | ---- | --- | --- | --- | -------- | +elbisiV elbacéS ¹ .siapE +erdaC +tiarT +| TITREDOC | Libellé | 25.93 0.00 | 9.26 129.12 | | | +| ------------------- | ------------------------------- | ------------ | ----------- | ------------ | ---- | +| CHAMP58 | Prédéfini | 155.13 1.59 | 5.82 24.79 | | | +| IMG_Logo | Image | 0.00 0.00 | 20.11 23.02 | | | +| LIB_Lib_NumInter | Libellé | 62.44 10.05 | 7.14 28.13 | | | +| LIB_NumInter | Libellé | 90.49 10.05 | 7.11 40.48 | | | +| Rubrique | :oEtat.oInter.saRefInterne | | | | | +| LIB_SansNom10 | Libellé | 142.87 90.98 | 6.20 36.64 | | | +| FRM_FORME7 | Forme | 90.00 87.90 | 9.29 89.43 | 0.20 Continu | HBGD | +| LIB_SuiviPar | Libellé | 120.96 88.96 | 6.88 58.55 | | | +| Rubrique | :oEtat.oInter.saSuiviParNomColb | | | | | +| FRM_FORME6 | Forme | 90.00 73.61 | 12.99 89.43 | 0.20 Continu | HBGD | +| LIB_Lib_HeureDepart | Libellé | 90.08 79.78 | 6.88 43.21 | | | +| LIB_Lib_SuiviPar | Libellé | 90.00 88.96 | 6.88 31.04 | | | +| LIB_Lib_HeureArrive | Libellé | 90.00 73.61 | 6.88 43.21 | | | +| FRM_FORME4 | Forme | 0.00 68.59 | 28.60 88.90 | 0.20 Continu | HBGD | +| LIB_TitreInter | Libellé | 0.00 90.31 | 6.88 88.98 | | | +| Rubrique | :oEtat.oInter.saTitre | | | | | +LIB_RealisePar Libellé 0.00 105.06 8.23 179.92 0.10 Continu HBGD +| 06/08/2026 | | Batik | | | 6147 | +| ---------- | --- | ----- | --- | --- | ---- | + +Partie 5 › Etat › ETAT_SLAMM_FicheIntervention_2 › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | | +| --- | ---- | --- | --- | ---------------- | --- | --- | +elbisiV erdaC +tiarT +| LIB_NumDevis | Libellé | 0.00 82.90 | 6.88 88.98 | | | | +| ------------------- | ------------------------------------ | ----------- | ------------ | ---- | ------- | ---- | +| Rubrique | :oEtat.oInter.saNumDevis | | | | | | +| FRM_FORME5 | Forme | 0.00 53.50 | 13.78 64.56 | 0.20 | Continu | HBGD | +| LIB_Lib_HeureRDV | Libellé | 0.08 60.34 | 6.99 25.93 | | | | +| LIB_TypeInter | Libellé | 0.00 75.78 | 6.88 88.98 | | | | +| Rubrique | :oEtat.oInter.saCleType | | | | | | +| LIB_Lib_DateRDV | Libellé | 0.08 53.70 | 6.88 25.93 | | | | +| LIB_EtatInter | Libellé | 0.00 68.90 | 6.88 88.98 | | | | +| Rubrique | :oEtat.oInter.saCleEtat | | | | | | +| LIB_Lib_RendezVous1 | Libellé | 0.08 46.82 | 6.88 30.96 | | | | +| LIB_NoteSite | Libellé | 30.69 30.96 | 15.64 148.96 | | | | +| Rubrique | :oEtat.oLieu.saNote | | | | | | +| LIB_Adresse | Libellé | 95.94 8.81 | 21.72 84.14 | 0.10 | Continu | HBGD | +| Rubrique | :oEtat.oLieu.oAdresse.saPresentation | | | | | | +LIB_CodeAcces Libellé 31.04 8.81 21.40 43.92 0.10 Continu HBGD +| Rubrique | :oEtat.oLieu.saCodeAcces | | | | | | +| ------------------ | ------------------------ | ---------- | ---------- | --- | --- | --- | +| LIB_Lib_Adresse1 | Libellé | 74.96 8.81 | 6.88 20.98 | | | | +| LIB_Lib_RealisePar | Libellé | 0.00 97.33 | 6.88 49.29 | | | | +| | | 0.00 0.53 | 6.88 79.72 | | | | +| LIB_Lib_AccesInfo | Libellé | | | | | | +| LIB_Lib_CodeAcces1 | Libellé | 0.00 8.81 | 7.14 31.04 | | | | +| LIB_Lib_Badge | Libellé | 6.62 15.96 | 7.41 24.42 | | | | +| LIB_Lib_Interphone | Libellé | 6.62 23.06 | 7.41 24.42 | | | | +| LIB_Lib_NoteSite | Libellé | 0.00 30.78 | 7.14 31.04 | | | | +LIB_NomClient Libellé 95.86 0.53 6.88 84.06 0.10 Continu HBGD +| Rubrique | :oEtat.oClient.saNom | | | | | | +| ------------------ | -------------------- | ---------- | ---------- | --- | --- | --- | +| | | 81.72 0.53 | 6.88 14.10 | | | | +| LIB_Lib_NomClient1 | Libellé | | | | | | +INT_Badge Interrupteur 0.00 16.23 5.58 5.11 0.50 Continu HBGD +| Rubrique | :oEtat.oLieu.bBadge | | | | | | +| -------- | ------------------- | --- | --- | --- | --- | --- | +INT_Interphone Interrupteur 0.00 23.06 5.58 5.11 0.50 Continu HBGD +| Rubrique | :oEtat.oLieu.bInterphone | | | | | | +| -------------------- | --------------------------- | ----------- | ------------ | ---- | ------- | ---- | +| | | 0.00 114.32 | 16.70 179.92 | 0.10 | | | +| LIB_DescriptionInter | Libellé | | | | Continu | HBGD | +| Rubrique | :oEtat.oInter.saDescription | | | | | | +| LIB_Lib_Acces | Libellé | 0.00 136.07 | 6.88 49.29 | | | | +| LIB_Lib_Contact | Libellé | 90.00 46.97 | 6.88 30.96 | | | | +LIB_ContactInter Libellé 90.04 54.24 17.99 89.88 0.10 Continu HBGD +| Rubrique | :oEtat.saContacts | | | | | | +| ----------- | ----------------- | ------------ | ----------- | ---- | ------- | ---- | +| LIB_Check11 | Libellé | 0.00 202.66 | 6.88 180.00 | | | | +| LIB_Check13 | Libellé | 83.43 209.05 | 6.88 37.04 | | | | +| LIB_Check10 | Libellé | 10.00 195.84 | 5.85 170.13 | | | | +| LIB_Check9 | Libellé | 10.00 188.45 | 5.85 170.39 | | | | +| LIB_Check12 | Libellé | 0.00 209.05 | 6.88 37.04 | | | | +| LIB_Check7 | Libellé | 10.00 178.31 | 9.82 169.86 | | | | +| LIB_Check6 | Libellé | 10.00 173.24 | 6.38 169.86 | | | | +| LIB_Check5 | Libellé | 10.00 166.24 | 5.85 169.86 | | | | +| | | 0.00 166.24 | 6.00 8.00 | 0.20 | | | +| FRM_FORME12 | Forme | | | | Continu | HBGD | +| 06/08/2026 | | Batik | | | | 6148 | + +Partie 5 › Etat › ETAT_SLAMM_FicheIntervention_2 › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | | +| --- | ---- | --- | --- | ---------------- | --- | --- | +elbisiV erdaC +tiarT +| FRM_FORME13 | Forme | 0.00 173.20 | 6.00 8.00 | 0.20 | Continu | HBGD | +| ------------------------------ | --------- | ------------- | -------------------------- | ---- | ------- | ---- | +| FRM_FORME15 | Forme | 0.00 188.45 | 6.00 8.00 | 0.20 | Continu | HBGD | +| FRM_FORME16 | Forme | 0.00 195.84 | 6.00 8.00 | 0.20 | Continu | HBGD | +| | | 0.00 180.31 | 6.00 8.00 | 0.20 | | | +| FRM_FORME17 | Forme | | | | Continu | HBGD | +| LIB_Check3 | Libellé | 10.00 159.24 | 6.11 170.13 | | | | +| FRM_FORME10 | Forme | 0.00 159.24 | 6.00 8.00 | 0.20 | Continu | HBGD | +| FRM_FORME9 | Forme | 0.00 152.10 | 6.00 8.00 | 0.20 | Continu | HBGD | +| LIB_Check2 | Libellé | 10.00 152.10 | 5.85 170.13 | | | | +| FRM_FORME11 | Forme | 60.88 144.95 | 6.00 8.00 | 0.20 | Continu | HBGD | +| FRM_FORME14 | Forme | 133.20 144.95 | 6.00 8.00 | 0.20 | Continu | HBGD | +| FRM_FORME8 | Forme | 0.00 144.95 | 6.00 8.00 | 0.20 | Continu | HBGD | +| LIB_Check1 | Libellé | 10.00 144.95 | 5.85 34.66 | | | | +| | | 70.65 144.95 | 5.85 62.18 | | | | +| LIB_Check4 | Libellé | | | | | | +| LIB_Check8 | Libellé | 143.20 144.95 | 5.85 37.04 | | | | +| LIB_Lib_AccesTitre | Libellé | 0.00 131.01 | 7.96 179.92 | | | | +| NUMNBPAGES | Prédéfini | 146.72 0.70 | 5.72 33.28 | | | | +| IMG_Omika | Image | 0.00 0.00 | 9.79 146.58 | | | | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | | +Epais. : Epaisseur du cadre (mm) +Détails des champs <Prédéfini> +Type de champ Prédéfini +| CHAMP58 Date | | | | | | | +| -------------------------------- | --- | ----- | --- | --- | --- | ---- | +| NUMNBPAGES [NUMPAGE] / [NBPAGES] | | | | | | | +| 06/08/2026 | | Batik | | | | 6149 | + +Partie 5 › Etat › ETAT_SLAMM_FicheIntervention_2 › Code +ETAT_SLAMM_FicheIntervention_2 +Code +Ouverture de ETAT_SLAMM_FicheIntervention_2 +procédure ETAT_SLAMM_FicheIntervention_2(oEtat est un MEtat_Intervention) +ETAT_SLAMM_FicheIntervention_2 +Code des champs +Avant impression de IMG_Logo +si oEtat:oSociete:bufLogo <> "" alors +IMG_Logo = oEtat:oSociete:bufLogo +fin +06/08/2026 Batik 6150 + +Partie 5 › Etat › ETAT_SLAMM_FicheIntervention_3 › Image +ETAT_SLAMM_FicheIntervention_3 +Image +| 06/08/2026 | Batik | 6151 | +| ---------- | ----- | ---- | + +Partie 5 › Etat › ETAT_SLAMM_FicheIntervention_3 › Informations générales +ETAT_SLAMM_FicheIntervention_3 +Informations générales +ETAT_SLAMM_FicheIntervention_3 +| Nom logique de l'état | ETAT_SLAMM_FicheIntervention_3 | | | | | +| --------------------- | ------------------------------ | --- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\Nouvelle Version\Batik\ETAT_SLAMM_FicheIntervention_3.wde +| Type | Tableau | | | | | +| ------------------------- | ------------------------ | --- | --- | --- | --- | +| Thème | Batik_Theme | | | | | +| Type de source de données | Pas de source de données | | | | | +Nom de la source +| Format de la page | A4 (210 x 297 mm) | | | | | +| ----------------- | ----------------- | --- | ----------------- | ----- | --- | +| Marge haute (mm) | 15.00 | | Marge basse (mm) | 15.00 | | +| Marge gauche (mm) | 15.00 | | Marge droite (mm) | 15.00 | | +ETAT_SLAMM_FicheIntervention_3 +Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +| | Type | X Y | | | noitisoP | +| --- | ---- | --- | --- | --- | -------- | +elbisiV elbacéS ¹ .siapE +erdaC +tiarT +| TITREDOC | Libellé | 25.93 0.00 | 9.26 129.12 | | | +| ------------------- | ------------------------------- | ----------- | ----------- | ------------ | ---- | +| CHAMP58 | Prédéfini | 155.13 1.59 | 5.82 24.79 | | | +| IMG_Logo | Image | 0.00 0.00 | 20.11 23.02 | | | +| LIB_Lib_NumInter | Libellé | 62.44 10.05 | 7.14 28.13 | | | +| LIB_NumInter | Libellé | 90.49 10.05 | 7.11 40.48 | | | +| Rubrique | :oEtat.oInter.saRefInterne | | | | | +| FRM_FORME7 | Forme | 0.08 59.53 | 9.26 179.84 | 0.20 Continu | HBGD | +| LIB_SuiviPar | Libellé | 31.30 60.29 | 7.91 148.70 | | | +| Rubrique | :oEtat.oInter.saSuiviParNomColb | | | | | +| | | 0.27 60.25 | 6.88 31.04 | | | +| LIB_Lib_SuiviPar | Libellé | | | | | +| FRM_FORME5 | Forme | 0.32 7.22 | 13.78 64.56 | 0.20 Continu | HBGD | +| LIB_Lib_HeureRDV | Libellé | 0.40 14.06 | 6.99 25.93 | | | +| LIB_Lib_DateRDV | Libellé | 0.40 7.42 | 6.88 25.93 | | | +| LIB_Lib_RendezVous1 | Libellé | 0.40 0.54 | 6.88 30.96 | | | +LIB_Contacts Libellé 0.27 76.76 6.88 179.92 0.10 Continu HBGD +| Rubrique | :oEtat.saContacts | | | | | +| ------------ | ------------------- | ----------- | ----------- | --- | ---- | +| | | 30.69 49.80 | 7.38 148.96 | | | +| LIB_NoteSite | Libellé | | | | | +| Rubrique | :oEtat.oLieu.saNote | | | | | +| 06/08/2026 | | Batik | | | 6152 | + +Partie 5 › Etat › ETAT_SLAMM_FicheIntervention_3 › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | | +| --- | ---- | --- | --- | ---------------- | --- | --- | +elbisiV erdaC +tiarT +LIB_Adresse Libellé 95.94 27.81 21.72 84.14 0.10 Continu HBGD +| Rubrique | :oEtat.oLieu.oAdresse.saPresentation | | | | | | +| -------- | ------------------------------------ | --- | --- | --- | --- | --- | +LIB_CodeAcces Libellé 31.04 27.81 21.40 43.92 0.10 Continu HBGD +| Rubrique | :oEtat.oLieu.saCodeAcces | | | | | | +| ------------------ | ------------------------ | ----------- | ---------- | --- | --- | --- | +| LIB_Lib_Adresse1 | Libellé | 74.96 27.81 | 6.88 20.98 | | | | +| LIB_Lib_AccesInfo | Libellé | 0.00 21.01 | 6.88 79.72 | | | | +| LIB_Lib_Contacts | Libellé | 0.27 70.14 | 6.88 30.96 | | | | +| LIB_Lib_CodeAcces1 | Libellé | 0.00 27.81 | 7.14 31.04 | | | | +| | | 6.62 34.96 | 7.41 24.42 | | | | +| LIB_Lib_Badge | Libellé | | | | | | +| LIB_Lib_Interphone | Libellé | 6.62 42.06 | 7.41 24.42 | | | | +| LIB_Lib_NoteSite | Libellé | 0.00 49.78 | 7.14 31.04 | | | | +LIB_NomClient Libellé 95.86 0.53 6.88 84.06 0.10 Continu HBGD +| Rubrique | :oEtat.oClient.saNom | | | | | | +| ------------------ | -------------------- | ---------- | ---------- | --- | --- | --- | +| LIB_Lib_NomClient1 | Libellé | 81.72 0.53 | 6.88 14.10 | | | | +INT_Badge Interrupteur 0.00 37.23 5.58 5.11 0.50 Continu HBGD +| Rubrique | :oEtat.oLieu.bBadge | | | | | | +| -------- | ------------------- | --- | --- | --- | --- | --- | +INT_Interphone Interrupteur 0.00 44.06 5.58 5.11 0.50 Continu HBGD +| Rubrique | :oEtat.oLieu.bInterphone | | | | | | +| -------- | ------------------------ | --- | --- | --- | --- | --- | +LIB_DescriptionInter Libellé 0.27 85.55 16.70 179.92 0.10 Continu HBGD +| Rubrique | :oEtat.oInter.saDescription | | | | | | +| -------- | --------------------------- | --- | --- | --- | --- | --- | +LIB_Table_18 Libellé 44.00 198.96 7.67 136.00 0.00 Continu -B-D +LIB_Table_17 Libellé 44.00 191.03 7.94 136.00 0.00 Continu -B-D +LIB_Table_16 Libellé 44.00 183.09 7.67 136.00 0.00 Continu -B-D +LIB_Table_15 Libellé 44.00 174.89 7.67 136.00 0.00 Continu -B-D +LIB_Table_14 Libellé 44.00 166.95 7.94 136.00 0.00 Continu -B-D +| LIB_Table_8 | Libellé | 0.08 166.95 | 7.94 43.92 | 0.00 | Continu | -BGD | +| ------------ | ------- | ----------- | ---------- | ---- | ------- | ---- | +| LIB_Table_9 | Libellé | 0.08 174.89 | 7.67 43.92 | 0.00 | Continu | -BGD | +| | | 0.00 183.09 | 7.67 43.92 | 0.00 | | | +| LIB_Table_10 | Libellé | | | | Continu | -BGD | +LIB_Table_11 Libellé 0.00 191.03 7.94 43.92 0.00 Continu -BGD +LIB_Table_12 Libellé 0.00 198.96 7.67 43.92 0.00 Continu -BGD +LIB_Table_13 Libellé 44.00 159.01 7.67 136.00 0.10 Continu HB-D +| LIB_Table_7 | Libellé | 0.08 159.01 | 7.67 43.92 | 0.10 | Continu | HBGD | +| ------------- | ------- | ------------- | ----------- | ---- | ------- | ---- | +| LIB_SansNom10 | Libellé | 35.84 150.40 | 6.09 36.00 | | | | +| LIB_SansNom11 | Libellé | 71.68 150.40 | 6.09 36.00 | | | | +| LIB_SansNom12 | Libellé | 107.42 150.40 | 6.09 36.00 | | | | +| LIB_SansNom13 | Libellé | 143.42 150.40 | 6.09 36.00 | | | | +| | | 0.00 150.40 | 6.09 36.00 | | | | +| LIB_SansNom14 | Libellé | | | | | | +| LIB_SansNom9 | Libellé | 0.00 143.05 | 6.09 180.00 | | | | +| LIB_Table_3 | Libellé | 0.00 134.58 | 7.70 90.49 | 0.00 | Continu | -BGD | +LIB_Table_6 Libellé 90.49 134.53 7.67 89.51 0.00 Continu -B-D +| | | 0.00 126.88 | 7.70 90.49 | 0.00 | | | +| ----------- | ------- | ----------- | ---------- | ---- | ------- | ---- | +| LIB_Table_2 | Libellé | | | | Continu | -BGD | +LIB_Table_5 Libellé 90.49 126.85 7.67 89.51 0.00 Continu -B-D +| LIB_Table_1 | Libellé | 0.00 118.92 | 7.70 90.49 | 0.10 | Continu | HBGD | +| ----------- | ------- | ----------- | ---------- | ---- | ------- | ---- | +LIB_Table_4 Libellé 90.49 118.92 7.67 89.51 0.10 Continu HB-D +| FRM_FORME8 | Forme | 0.00 109.42 | 7.94 9.08 | 0.20 | Continu | HBGD | +| ----------- | ----- | ------------ | --------- | ---- | ------- | ---- | +| FRM_FORME11 | Forme | 60.88 109.42 | 7.94 9.08 | 0.20 | Continu | HBGD | +| 06/08/2026 | | Batik | | | | 6153 | + +Partie 5 › Etat › ETAT_SLAMM_FicheIntervention_3 › Informations sur les champs +)mm( ruetuaH )mm( ruegraL +¹ uaelbaT ¹ txE.otuA +noitisoP +| | Type | X Y | | elbacéS ¹ .siapE | | +| --- | ---- | --- | --- | ---------------- | --- | +elbisiV erdaC +tiarT +| FRM_FORME14 | Forme | 133.20 109.42 | 7.94 9.08 | 0.20 Continu | HBGD | +| ------------------------------ | --------- | ------------- | -------------------------- | ------------ | ---- | +| LIB_Check1 | Libellé | 9.75 109.57 | 6.88 34.74 | | | +| LIB_Check4 | Libellé | 70.94 109.69 | 6.88 62.26 | | | +| | | 142.96 109.83 | 6.88 37.04 | | | +| LIB_Check8 | Libellé | | | | | +| LIB_Lib_Acces | Libellé | 0.00 102.25 | 6.88 49.29 | | | +| NUMNBPAGES | Prédéfini | 146.72 0.70 | 5.72 33.28 | | | +| IMG_Omika | Image | 0.00 0.00 | 9.79 146.58 | | | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | +Epais. : Epaisseur du cadre (mm) +Détails des champs <Prédéfini> +Type de champ Prédéfini +| NUMNBPAGES [NUMPAGE] / [NBPAGES] | | | | | | +| -------------------------------- | --- | ----- | --- | --- | ---- | +| CHAMP58 Date | | | | | | +| 06/08/2026 | | Batik | | | 6154 | + +Partie 5 › Etat › ETAT_SLAMM_FicheIntervention_3 › Code +ETAT_SLAMM_FicheIntervention_3 +Code +Ouverture de ETAT_SLAMM_FicheIntervention_3 +procédure ETAT_SLAMM_FicheIntervention_3(oEtat est un MEtat_Intervention) +ETAT_SLAMM_FicheIntervention_3 +Code des champs +Avant impression de IMG_Logo +si oEtat:oSociete:bufLogo <> "" alors +IMG_Logo = oEtat:oSociete:bufLogo +fin +06/08/2026 Batik 6155 + +Partie 5 › Etat › ETAT_SLAMM_FicheIntervention_4 › Image +ETAT_SLAMM_FicheIntervention_4 +Image +ETAT_SLAMM_FicheIntervention_4 +Informations générales +ETAT_SLAMM_FicheIntervention_4 +06/08/2026 Batik 6156 + +Partie 5 › Etat › ETAT_SLAMM_FicheIntervention_4 › Informations générales +| Nom logique de l'état | ETAT_SLAMM_FicheIntervention_4 | | | | | +| --------------------- | ------------------------------ | --- | --- | --- | --- | +Nom physique de l'état D:\Projets Windev\Batik\Nouvelle Version\Batik\ETAT_SLAMM_FicheIntervention_4.wde +| Type | Tableau | | | | | +| ------------------------- | ------------------------ | --- | --- | --- | --- | +| Thème | Batik_Theme | | | | | +| Type de source de données | Pas de source de données | | | | | +Nom de la source +| Format de la page | A4 (210 x 297 mm) | | | | | +| ----------------- | ----------------- | --- | ----------------- | ----- | --- | +| Marge haute (mm) | 15.00 | | Marge basse (mm) | 15.00 | | +| Marge gauche (mm) | 15.00 | | Marge droite (mm) | 15.00 | | +ETAT_SLAMM_FicheIntervention_4 +Informations sur les champs +)mm( ruetuaH +)mm( ruegraL +¹ txE.otuA +¹ uaelbaT +| | Type | X Y | | elbacéS | noitisoP | +| --- | ---- | --- | --- | ------- | -------- | +elbisiV ¹ .siapE +erdaC +tiarT +| TITREDOC | Libellé | 25.93 0.00 | 9.26 129.12 | | | +| ------------------- | ------------------------------- | ------------ | ----------- | ------------ | ---- | +| CHAMP58 | Prédéfini | 155.13 1.59 | 5.82 24.79 | | | +| IMG_Logo | Image | 0.00 0.00 | 20.11 23.02 | | | +| LIB_Lib_NumInter | Libellé | 62.44 10.05 | 7.14 28.13 | | | +| LIB_NumInter | Libellé | 90.49 10.05 | 7.11 40.48 | | | +| Rubrique | :oEtat.oInter.saRefInterne | | | | | +| LIB_SansNom10 | Libellé | 142.87 99.33 | 6.20 36.64 | | | +| FRM_FORME7 | Forme | 90.00 96.25 | 9.29 89.43 | 0.20 Continu | HBGD | +| LIB_SuiviPar | Libellé | 120.96 97.31 | 6.88 58.55 | | | +| Rubrique | :oEtat.oInter.saSuiviParNomColb | | | | | +| FRM_FORME6 | Forme | 90.00 81.97 | 12.99 89.43 | 0.20 Continu | HBGD | +| LIB_Lib_HeureDepart | Libellé | 90.08 88.14 | 6.88 43.21 | | | +| LIB_Lib_SuiviPar | Libellé | 90.00 97.31 | 6.88 31.04 | | | +| LIB_Lib_HeureArrive | Libellé | 90.00 81.97 | 6.88 43.21 | | | +| FRM_FORME4 | Forme | 0.00 76.94 | 28.60 88.90 | 0.20 Continu | HBGD | +| LIB_TitreInter | Libellé | 0.00 98.66 | 6.88 88.98 | | | +| Rubrique | :oEtat.oInter.saTitre | | | | | +LIB_RealisePar Libellé 0.00 114.83 8.23 179.92 0.10 Continu HBGD +| LIB_NumDevis | Libellé | 0.00 91.25 | 6.88 88.98 | | | +| ---------------- | ------------------------ | ---------- | ----------- | ------------ | ---- | +| Rubrique | :oEtat.oInter.saNumDevis | | | | | +| FRM_FORME5 | Forme | 0.00 61.86 | 13.78 64.56 | 0.20 Continu | HBGD | +| | | 0.08 68.70 | 6.99 25.93 | | | +| LIB_Lib_HeureRDV | Libellé | | | | | +| LIB_TypeInter | Libellé | 0.00 84.14 | 6.88 88.98 | | | +| Rubrique | :oEtat.oInter.saCleType | | | | | +| LIB_Lib_DateRDV | Libellé | 0.08 61.86 | 6.99 25.93 | | | +| LIB_EtatInter | Libellé | 0.00 77.26 | 6.88 88.98 | | | +| 06/08/2026 | | Batik | | | 6157 | + +Partie 5 › Etat › ETAT_SLAMM_FicheIntervention_4 › Informations sur les champs +| Rubrique | :oEtat.oInter.saCleEtat | | | | | +| ------------------- | ----------------------- | ----------- | ------------ | --- | --- | +| LIB_Lib_RendezVous1 | Libellé | 0.00 55.15 | 6.88 30.96 | | | +| LIB_NoteSite | Libellé | 30.96 37.04 | 17.23 148.96 | | | +| Rubrique | :oEtat.oLieu.saNote | | | | | +LIB_Adresse Libellé 95.94 14.81 21.72 84.14 0.10 Continu HBGD +| Rubrique | :oEtat.oLieu.oAdresse.saPresentation | | | | | +| -------- | ------------------------------------ | --- | --- | --- | --- | +LIB_CodeAcces Libellé 31.04 14.81 21.40 43.92 0.10 Continu HBGD +| Rubrique | :oEtat.oLieu.saCodeAcces | | | | | +| ------------------ | ------------------------ | ----------- | ---------- | --- | --- | +| LIB_Lib_Adresse1 | Libellé | 74.96 14.81 | 6.88 20.98 | | | +| LIB_Lib_RealisePar | Libellé | 0.00 107.10 | 6.88 49.29 | | | +| LIB_Lib_AccesInfo | Libellé | 0.00 7.41 | 6.88 79.72 | | | +| | | 0.00 14.81 | 7.14 31.04 | | | +| LIB_Lib_CodeAcces1 | Libellé | | | | | +| LIB_Lib_Badge | Libellé | 6.62 21.96 | 7.41 24.42 | | | +| LIB_Lib_Interphone | Libellé | 6.62 29.06 | 7.41 24.42 | | | +| LIB_Lib_NoteSite | Libellé | 0.00 36.78 | 7.14 31.04 | | | +LIB_NomClient Libellé 14.02 0.26 6.88 165.98 0.10 Continu HBGD +| Rubrique | :oEtat.oClient.saNom | | | | | +| ------------------ | -------------------- | ---------- | ---------- | ------- | ---- | +| LIB_Lib_NomClient1 | Libellé | 0.00 0.00 | 6.88 14.10 | | | +| | | 0.00 22.23 | 5.58 5.11 | 0.50 | | +| INT_Badge | Interrupteur | | | Continu | HBGD | +| Rubrique | :oEtat.oLieu.bBadge | | | | | +INT_Interphone Interrupteur 0.00 29.06 5.58 5.11 0.50 Continu HBGD +| Rubrique | :oEtat.oLieu.bInterphone | | | | | +| -------- | ------------------------ | --- | --- | --- | --- | +LIB_DescriptionInter Libellé 0.00 125.41 26.49 179.92 0.10 Continu HBGD +| Rubrique | :oEtat.oInter.saDescription | | | | | +| --------------- | --------------------------- | ----------- | ---------- | --- | --- | +| LIB_Lib_Contact | Libellé | 90.00 55.33 | 6.88 30.96 | | | +LIB_ContactInter Libellé 90.49 62.44 18.02 89.43 0.10 Continu HBGD +| Rubrique | :oEtat.saContacts | | | | | +| ------------------------------ | ------------------------ | ------------ | -------------------------- | --- | --- | +| LIB_NumDevis1 | Libellé | 85.20 152.11 | 6.91 94.72 | | | +| Rubrique | :oEtat.oInter.saNumDevis | | | | | +| LIB_SansNom4 | Libellé | 0.00 151.90 | 7.12 85.20 | | | +| NUMNBPAGES | Prédéfini | 146.72 0.70 | 5.72 33.28 | | | +| | | 0.00 0.00 | 9.79 146.58 | | | +| IMG_Omika | Image | | | | | +| ¹ Tableau : Champ d'un tableau | | | Auto.Ext : Auto extensible | | | +Epais. : Epaisseur du cadre (mm) +Détails des champs <Prédéfini> +Type de champ Prédéfini +| NUMNBPAGES [NUMPAGE] / [NBPAGES] | | | | | | +| -------------------------------- | --- | ----- | --- | --- | ---- | +| CHAMP58 Date | | | | | | +| 06/08/2026 | | Batik | | | 6158 | + +Partie 5 › Etat › ETAT_SLAMM_FicheIntervention_4 › Code +ETAT_SLAMM_FicheIntervention_4 +Code +Ouverture de ETAT_SLAMM_FicheIntervention_4 +procédure ETAT_SLAMM_FicheIntervention_4(oEtat est un MEtat_Intervention) +ETAT_SLAMM_FicheIntervention_4 +Code des champs +Avant impression de IMG_Logo +si oEtat:oSociete:bufLogo <> "" alors +IMG_Logo = oEtat:oSociete:bufLogo +fin +06/08/2026 Batik 6159 + +Partie 6 › Classe +Partie 6 +Classe +| 06/08/2026 | Batik | 6160 | +| ---------- | ----- | ---- | + +Partie 6 › Classe +ErreurApp +Messages multilingues +¹ .ssem °N +Message +| 5000 FR: Enregistrement non trouvé dans la base de données. | | | | | +| ----------------------------------------------------------- | --- | --- | --- | --- | +| 5001 FR: Erreur base de données. | | | | | +| 5002 FR: Enregistrement non trouvé dans la base de données. | | | | | +| 5003 FR: Erreur base de données. | | | | | +| 5004 FR: Enregistrement non trouvé dans la base de données. | | | | | +| 5005 FR: Erreur base de données. | | | | | +| 5006 FR: Enregistrement non trouvé dans la base de données. | | | | | +| 5007 FR: Document verrouillé par un autre utilisateur | | | | | +¹ N° mess. : numéro de message. +ErreurApp +Code +Déclaration de ErreurApp +// types d'erreur +ECodeErreur est une Enumération +Aucune +NonTrouvé +ErreurHFSQL +ErreurHFSQLBlocage +ErreurConnexion +Fonctionnelle +ErreurProgramme +ExeptionProgramme +Grave +fin +ErreurApp est une Classe +| eCode | est une ECodeErreur | // type d'erreur | | | +| ---------------------- | --------------------- | -------------------- | --- | --- | +| saTexte | est une chaîne | // texte de l'erreur | | | +| saZone | est une chaîne | // zone de l'erreur | | | +| saNumeroest une chaîne | // Numéro de l'erreur | | | | +fin +Constructeur +procédure Constructeur() +:eCode = Aucune +Destructeur +| 06/08/2026 | | | Batik | 6161 | +| ---------- | --- | --- | ----- | ---- | + +Partie 6 › Classe › ErreurApp › Code +procédure Destructeur() +Méthode Init +procédure Init(ECodeErreur est un ECodeErreur, sTexte est une chaîne="",sZone est une chaîne="") +// Mettre tout a zéro +:eCode = Aucune +:saTexte = "" +saZone = "" +saNumero = "" +:eCode = ECodeErreur +:saZone = sZone +// aucune erreur +si :eCode=Aucune alors renvoyer "" +//# a mettre le syslog +// message adapté au type de l'erreur +sMessage est une chaîne = sTexte +selon :eCode +cas NonTrouvé: +sMessage+=[RC]+"Enregistrement non trouvé dans la base de données." +cas ErreurHFSQL: +:saNumero=HErreurInfo(hErrCodeSystème) +sMessage+=[RC]+"Erreur base de données."+HErreurInfo(hErrComplet) +cas ErreurHFSQLBlocage: +oInfBlo est un InfoBlocage(sTexte) +sMessage="Document verrouillé par un autre utilisateur"+RC+oInfBlo:LibErreur() +cas Aucune : +renvoyer "" +cas Fonctionnelle +sMessage = sTexte +cas ErreurProgramme +sMessage+=[RC]+"Erreur programme"+RC+ErreurInfo(errComplet) +cas ExeptionProgramme +sMessage+=[RC]+"Exception programme"+RC+ExceptionInfo(errComplet) +cas ErreurConnexion +sMessage+=[RC]+"Erreur programme"+RC+HErreurInfo() +autre cas: +fin +si sMessage <> "" alors +Erreur(sMessage) +LogEcrit(sMessage,eDebug) +fin +06/08/2026 Batik 6162 + +Partie 6 › Classe › ConnexionHFSQL › Code +ConnexionHFSQL +Code +Déclaration de ConnexionHFSQL +ConnexionHFSQL est une Classe +| Cnx | est une Connexion | | | | | +| --------------------------- | ----------------------------------- | --- | --- | --- | --- | +| nNbConfig | est un entier | | | | | +| tbConfigBase | est un tableau de ST_ParamConnexion | | | | | +| nNumBase est un entier | | | | | | +| saPortHF est une chaîne | | | | | | +| saLoginHF | est une chaîne | | | | | +| saPassHF est une chaîne | | | | | | +| saBaseHF est une chaîne | | | | | | +| saServeurHF | est une chaîne | | | | | +| bModifié est un booléen | | | | | | +| bServeurProd est un booléen | | | | | | +| bConnecté | est un booléen | | | | | +| sPassCryptage | est une chaîne | | | | | +fin +ST_ParamConnexionest une Structure +nOrdreApparition est un entier // Ordre d’apparition de la connexion +sNomLogique est une chaîne // Nom logique donné à la base de données +| bufSUser | est un Buffer | // | Nom utilisateur | BDD | | +| ----------------- | -------------- | --- | ------------------------------- | --- | --- | +| bufSMdp | est un Buffer | | // Mot de passe utilisateur BDD | | | +| sAdresseIPServeur | est une chaîne | // | Adresse IP du serveur | | | +| sPortServeur | est une chaîne | // | Port du serveur | | | +| sNomBDD | est une chaîne | | // Nom de la base de données | | | +| bEstCryptée | est un booléen | | // Vrai si la base est cryptée | | | +fin +constante +| cSuperUser | = "superuser" | | | | | +| ------------------------------------- | ----------------------- | --- | --- | --- | --- | +| cSUperUserPass | = "F911-Q927-K880-N196" | | | | | +| cMdp1 | = "62" | | | | | +| cMdp2 | = "Langénieux" | | | | | +| cMdp3 | = "eBdFfDxVfB" | | | | | +| cGroupeConnexion = "GROUPE_CONNEXION" | | | | | | +| cGroupeAdminClient | = "GROUPE_ADMIN_CLIENT" | | | | | +cGroupeUserClient= "GROUPE_USER_CLIENT" +fin +Constructeur +procédure Constructeur() +:bModifié = Faux +:bConnecté = Faux +TableauSupprimeTout(:tbConfigBase) +Destructeur +procédure Destructeur() +Méthode DonneMdpGroupeDeFichier +| 06/08/2026 | | Batik | | | 6163 | +| ---------- | --- | ----- | --- | --- | ---- | + +Partie 6 › Classe › ConnexionHFSQL › Code +procédure DonneMdpGroupeDeFichier(NomGroupeFichier) +Hash1 est un Buffer +selon NomGroupeFichier +cas ProtectionStd : Hash1 = HashChaîne(HA_MD5_128,:tbConfigBase[nNumBase].sNomBDD) +cas ProtectionPlus : Hash1 = HashChaîne(HA_MD5_128,cMdp3+:tbConfigBase[nNumBase].sNomBDD) +fin +sHash_Hexa est une chaîne = BufferVersHexa(Hash1,SansRegroupement) +si EnModeTest() alors +//trace(sHash_Hexa,NomGroupeFichier) +fin +renvoyer sHash_Hexa +Méthode Init +procédure Init() +:bConnecté = Faux +si fFichierExiste(gsuFicIni) alors +:nNbConfig = Val(INILit("CONFIG","NbBase","0",gsuFicIni)) +pour i =1 _à_ :nNbConfig +st est un ST_ParamConnexion +st.nOrdreApparition = INILit("BASE_"+i,"Ordre","1",gsuFicIni) +st.sAdresseIPServeur = INILit("BASE_"+i,"Serveur","",gsuFicIni) +st.sPortServeur = INILit("BASE_"+i,"Port","",gsuFicIni) +st.sNomBDD = INILit("BASE_"+i,"BDD","",gsuFicIni) +st.sNomLogique = UTF8VersAnsi(INILit("BASE_"+i,"Libelle","",gsuFicIni)) +st.bEstCryptée = Val(INILit("BASE_"+i,"Cryptee","1",gsuFicIni))=1 +:tbConfigBase.Ajoute(st) +fin +si :tbConfigBase..Occurrence<= 0 alors +UneErreur.Init(ErreurApp.Fonctionnelle,ChaîneConstruit( +"Aucun connexion n'a pu être déterminée à partir du fichier de configuration situé sous %1", +gsuFicIni)) +renvoyer Faux +fin +renvoyer Vrai +sinon +//Création du fichier ini vide +fRepCrée(fExtraitChemin(gsuFicIni,fDisque+fRépertoire)) +// Modifie la valeur 'NbBase' +INIEcrit("CONFIG", "NbBase", "0", gsuFicIni) +INIEcrit("BASE_1", "Ordre", "1", gsuFicIni) +INIEcrit("BASE_1", "Serveur", "localhost", gsuFicIni) +INIEcrit("BASE_1", "Port", "4900", gsuFicIni) +INIEcrit("BASE_1", "BDD", " ", gsuFicIni) +INIEcrit("BASE_1", "Cryptee", "0", gsuFicIni) +LanceAppliAssociée(gsuFicIni) +renvoyer Faux +fin +Méthode OuvreConnexionBase +06/08/2026 Batik 6164 + +Partie 6 › Classe › ConnexionHFSQL › Code +procédure OuvreConnexionBase() +si :nNumBase <= 0 alors +Erreur("Aucune base de données n'a été choisie") +renvoyer Faux +fin +quand exception dans +:Cnx..Provider = hAccèsHFClientServeur +:Cnx..Accès = hOLectureEcriture +:Cnx..Cryptage = hCryptageAES128 +:Cnx..Utilisateur = cSuperUser +:Cnx..MotDePasse = cSUperUserPass +:Cnx..Serveur = :tbConfigBase[nNumBase].sAdresseIPServeur+":"+:tbConfigBase[nNumBase].s +PortServeur +:Cnx..BaseDeDonnées = :tbConfigBase[nNumBase].sNomBDD +HChangeConnexion("*",:Cnx) +HPasse(ProtectionPlus,DonneMdpGroupeDeFichier(ProtectionPlus)) +//Le tables systèmes sont toujours cryptées +HPasse(ProtectionStd,DonneMdpGroupeDeFichier(ProtectionStd)) +// SI :tbConfigBase[nNumBase].bEstCryptée ALORS +// HPasse(ProtectionStd,DonneMdpGroupeDeFichier(ProtectionStd)) +// FIN +si pas :Cnx.OuvreConnexion() alors +Erreur("Erreur lors de l'ouverture de la base",ErreurInfo(errMessage)) +renvoyer Faux +fin +//Test d'ouverture d'un fichier afin de vérifier si la base est cryptée ou non +//Si la base n'est pas cryptée, l'ouverture réussie toujours, même si l'on affecte un mot de passe +avec HPasse +//SI PAS TesteOuvertureFichier("ParametreMetier") ALORS +si pas TesteOuvertureFichier(ParametreApplication..Nom) alors +Erreur("Le paramétrage de la connexion est incorrect","Cette base est cryptée") +renvoyer Faux +fin +renvoyer Vrai +faire +Erreur("Erreur lors de l'ouverture de la base",ExceptionInfo(errMessage)) +renvoyer Faux +fin +Méthode OuvreConnexionUtilisateur +procédure OuvreConnexionUtilisateur(saLogin est une chaîne ANSI, saNomUser est une chaîne ANSI) +sMdpHF est une chaîne ANSI = Crypte(saLogin, "62, rue Langénieux", crypteSécurisé, Vrai +)+"@APPLILOGIK" +bUserExiste est un booléen = HInfoUtilisateur(:Cnx,saLogin) _et_ ChaîneFormate(HUtilisateur.Login, +ccMajuscule)=ChaîneFormate(saLogin,ccMajuscule) +nMode est un entier +si bUserExiste alors +//Ré-écriture de son mdp +HUtilisateur.Login = saLogin +si pas HUtilisateur.SuperUtilisateur alors +HUtilisateur.MotDePasse = sMdpHF +fin +06/08/2026 Batik 6165 + +Partie 6 › Classe › ConnexionHFSQL › Code +HUtilisateur.NomComplet = saNomUser +HUtilisateur.Groupes = cGroupeUserClient +HModifieUtilisateur(:Cnx,HUtilisateur.Login) +// 1 : L'utilisateur est un utilisateur standard +// 2 : L'utilisateur est un utilisateur administrateur client ou un super utilisateur HFSQL +nMode = (pas HUtilisateur.Groupes dans (cGroupeAdminClient)) _et_ (pas HUtilisateur. +SuperUtilisateur) ? 1 sinon (HUtilisateur.Groupes dans (cGroupeAdminClient)) _ou_ (HUtilisateur. +SuperUtilisateur) ? 2 sinon 3 +sinon +nMode = 1 +//Création du compte de l'utilisateur +HUtilisateur.Login = saLogin +HUtilisateur.MotDePasse = sMdpHF +HUtilisateur.NomComplet = saNomUser +HUtilisateur.Groupes = cGroupeUserClient +si pas HAjouteUtilisateur(:Cnx) alors +UneErreur:Init(ErreurApp.ErreurConnexion,"Le compte utilisateur "+saLogin+ +" n'a pu être créé sur le serveur","Informez en votre administrateur") +renvoyer Faux +fin +fin +si nMode=1 alors +//Limitation à une connexion par utilisateur. Règle imposée pour gérer les licences +sListeUser est une chaîne = HListeUtilisateurConnecté(:Cnx,:Cnx..BaseDeDonnées) +si Contient(sListeUser,saLogin) alors +Erreur( "Cet utilisateur est déjà connecté") +renvoyer Faux +fin +fin +//Re-connexion à la base avec le login de l'utilisateur. +:Cnx.FermeConnexion() +:Cnx.Utilisateur = saLogin +:Cnx.MotDePasse = sMdpHF +si pas :Cnx.OuvreConnexion() alors +UneErreur:Init(ErreurApp.ErreurConnexion,"Erreur de connexion avec le compte "+saLogin) +renvoyer Faux +sinon +gsaLibConnexion = :Cnx..Serveur+" "+:Cnx..BaseDeDonnées+" "+CollaborateurEnCours:NomPrenom() +renvoyer Vrai +fin +Méthode TesteOuvertureFichier +procédure TesteOuvertureFichier(NomFichier) +//Ouverture sans mot de passe +HSurErreur(NomFichier,hErrMotDePasse,SurErrMdp) +si pas HLitPremier(NomFichier) alors +LogEcrit("Erreur dans la lecture du fichier "+NomFichier+ +" afin de vérifier si les tables sont bien accessibles "+RC+HErreur(errComplet)) +fin +renvoyer Vrai +procédure interne SurErrMdp() +06/08/2026 Batik 6166 + +Partie 6 › Classe › ConnexionHFSQL › Code +renvoyer Faux +fin +cas erreur: +renvoyer Faux +cas exception: +renvoyer Faux +06/08/2026 Batik 6167 + +Partie 6 › Classe › MUtilisateur › Code +MUtilisateur +Code +Déclaration de MUtilisateur +MUtilisateur est une Classe <mapping=Utilisateur> +hérite de Base +// Le code se trouvant entre <MAPPING> et <FIN> est généré automatiquement. +// Il sera effacé et recréé entièrement à chaque génération +<mapping> +| nPKID | est un entier sur 8 octets | | <mapping=UT_PKID, clé | | +| ----- | -------------------------- | --- | ---------------------- | --- | +unique> +| saLogin | est une chaîne | | <mapping=UT_Login> | | +| ------------------- | -------------- | --- | ----------------------- | --- | +| saNom | est une chaîne | | <mapping=UT_Nom> | | +| saPrenom | est une chaîne | | <mapping=UT_Prenom> | | +| saMotDePasse | est une chaîne | | <mapping=UT_MotDePasse> | | +| bMotDePasseAChanger | est un booléen | | <mapping= | | +UT_MotDePasseAChanger> +| saEmail | est une chaîne | | <mapping=UT_Email> | | +| --------------- | -------------- | --- | ---------------------- | --- | +| saTelMobile | est une chaîne | | <mapping=UT_TelMobile> | | +| bAdministrateur | est un booléen | | <mapping= | | +UT_Administrateur> +| dhCreationDate | est une DateHeure | | <mapping=CreationDate> | | +| -------------- | ----------------- | --- | ---------------------- | --- | +nCreationUser est un entier sur 8 octets <mapping=CreationUser> +| dhModifDate | est une DateHeure | | <mapping=ModifDate> | | +| ----------- | -------------------------- | --- | ------------------- | --- | +| nModifUser | est un entier sur 8 octets | | <mapping=ModifUser> | | +nIDCollaborateur est un entier sur 8 octets <mapping=UT_IDCollaborateur> +| nIDSocietePrincipale | est un entier sur 8 octets | | <mapping= | | +| -------------------- | -------------------------- | --- | --------- | --- | +UT_IDSocietePrincipale> +nIDTypeProfil est un entier sur 8 octets <mapping=UT_IDTypeProfil> +nIdRole est un entier sans signe sur 8 octets <mapping=UT_IdRole> +| saCleLicenceMobile | est une chaîne | | <mapping= | | +| ------------------ | -------------- | --- | --------- | --- | +UT_CleLicenceMobile> +| bAccesBO | est un booléen | | <mapping=UT_AccesBO> | | +| ------------ | -------------- | --- | ------------------------ | --- | +| bAccesMobile | est un booléen | | <mapping=UT_AccesMobile> | | +<fin> +| tbaDroits est un tableau associatif de Droit | | | | | +| --------------------------------------------- | --- | --- | --- | --- | +tbaParametres est un tableau associatif de MParametreUtilisateur +stParametresAGD est un ST_ChoixAGD +| tbCatgDocDroit est une tableau de chaînes ANSI | | | | | +| ----------------------------------------------- | --- | --- | --- | --- | +fin +Méthode ChargeDroits +procédure ChargeDroits() +// vide le tableau +TableauSupprimeTout(:tbaDroits) +TableauSupprimeTout(:tbCatgDocDroit) +si :nIDTypeProfil <= 0 alors +retour +fin +| 06/08/2026 | | Batik | | 6168 | +| ---------- | --- | ----- | --- | ---- | + +Partie 6 › Classe › MUtilisateur › Code +sReqSQL est une Requête SQL = +[ +SELECT AED_PKID, AED_CleAcces, AED_Acces FROM Role +INNER JOIN AccesEtDroit ON AED_IdRole = R_PKID +WHERE R_PKID = {p_IdRole} +] +sReqSQL.p_IDRole = :nIdRole +// exécution de la requête +si HExécuteRequête(sReqSQL,hRequêteDéfaut) alors +// charge les enregistrements en mémoire +pour tout sReqSQL +UnProfil est un Droit +UnProfil.EnrVersObjet(sReqSQL) +:tbaDroits[sReqSQL.aed_CleAcces] = UnProfil +si sReqSQL.aed_CleAcces dans (cGestion_DocNull, cGestion_DocPhoto, cGestion_DocAutre, +cGestion_DocMsgExt,... +cGestion_DocRapport, cGestion_DocBatigest) _et_ sReqSQL.aed_acces alors +selon sReqSQL.aed_CleAcces +cas cGestion_DocNull +TableauAjoute(:tbCatgDocDroit,cCle_TypeDocNull) +cas cGestion_DocPhoto +TableauAjoute(:tbCatgDocDroit,cCle_TypeDocImg) +cas cGestion_DocAutre +TableauAjoute(:tbCatgDocDroit,cCle_TypeDocAutre) +cas cGestion_DocMsgExt +TableauAjoute(:tbCatgDocDroit,cCle_TypeDocMsgExt) +cas cGestion_DocRapport +TableauAjoute(:tbCatgDocDroit,cCle_TypeDocRapport) +cas cGestion_DocBatigest +TableauAjoute(:tbCatgDocDroit,cCle_TypeDocBatigest) +autre cas +fin +fin +fin +fin +Méthode ChargeParametres +procédure ChargeParametres() +// vide le tableau +TableauSupprimeTout(:tbaParametres) +si :nPKID <= 0 alors +retour +fin +ReqSQL est une Requête SQL = +[ +SELECT * +FROM ParametreUtilisateur +WHERE ParametreUtilisateur.PU_IDUtilisateur={P_IdUtilisateur} +] +ReqSQL.P_IdUtilisateur = :nPKID +// exécution de la requête +si HExécuteRequête(ReqSQL) alors +// charge les enregistrements en mémoire +pour tout ReqSQL +Param est un MParametreUtilisateur +FichierVersMémoire(Param,ReqSQL) +:tbaParametres[ReqSQL.PU_Code] = Param +fin +06/08/2026 Batik 6169 + +Partie 6 › Classe › MUtilisateur › Code +fin +:stParametresAGD = ChargePrefAGD() +Méthode ChargeTout +procédure ChargeTout() +si :nPKID <= 0 alors +renvoyer Faux +fin +:ChargeParametres() +:ChargeDroits() +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +si :nIdRole > 0 alors +si HLitRecherchePremier(Role,R_PKID,:nIdRole) alors +si Role.R_AncienCode <> "" _et_ gtabParametresMetierCode["19"][Role.R_AncienCode].nPKID > 0 +alors +:nIDTypeProfil = gtabParametresMetierCode["19"][Role.R_AncienCode].nPKID +fin +fin +sinon +:nIDTypeProfil = gtabParametresMetierCode["19"]["0"].nPKID +fin +renvoyer :DateEnregistre() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(Valeur est entier sur 8 octets) +nPKID=Valeur +Méthode GranulariteRDV +procédure GranulariteRDV() +sGranulariteDefaut est une chaîne ANSI = "60" +si :stParametresAGD:nGranulariteRDV > 0 alors +sGranulariteDefaut = :stParametresAGD:nGranulariteRDV +fin +renvoyer Val(sGranulariteDefaut) +Méthode HeuresOuvrablesRDV +06/08/2026 Batik 6170 + +Partie 6 › Classe › MUtilisateur › Code +procédure HeuresOuvrablesRDV() +hHDO_Defaut est une Heure = "0800" +hHFO_Defaut est une Heure = "1800" +si :stParametresAGD:saHeureOuvrableDb <> "" alors +hHDO_Defaut = :stParametresAGD:saHeureOuvrableDb +fin +si :stParametresAGD:saHeureOuvrableFin <> "" alors +hHFO_Defaut = :stParametresAGD:saHeureOuvrableFin +fin +renvoyer (hHDO_Defaut, hHFO_Defaut) +Méthode HeuresVisiblesRDV +procédure HeuresVisiblesRDV() +hHDV_Defaut est une Heure = "0700" +hHFV_Defaut est une Heure = "1900" +si :stParametresAGD:saHeureVisibleDb <> "" alors +hHDV_Defaut = :stParametresAGD:saHeureVisibleDb +fin +si :stParametresAGD:saHeureVisibleFin <> "" alors +hHFV_Defaut = :stParametresAGD:saHeureVisibleFin +fin +renvoyer (hHDV_Defaut, hHFV_Defaut) +Méthode NomPrenomColb +procédure NomPrenomColb() +si :nIDCollaborateur > 0 _et_ gtabListeCollaborateurs[:nIDCollaborateur]..Existe = Vrai alors +renvoyer gtabListeCollaborateurs[:nIDCollaborateur].NomPrenom() +sinon +renvoyer "" +fin +Méthode PreferencePlanning +procédure PreferencePlanning() +si :tbaParametres[MParametreUtilisateur::cCHOIX_PLANNING]..Existe alors +renvoyer :tbaParametres[MParametreUtilisateur::cCHOIX_PLANNING]:saValeur +sinon +renvoyer MParametreUtilisateur::cPlanning +fin +Méthode TdB_Fen_Client +procédure TdB_Fen_Client() +tbaNouvelleConfigest un tableau associatif (AvecDoublon) de chaînes ANSI +si :tbaParametres[MParametreUtilisateur::cTdB_Client]..Existe _et_ :tbaParametres[MParametreUtilisateur +::cTdB_Client].saValeur <> "" alors +Désérialise(tbaNouvelleConfig,:tbaParametres[MParametreUtilisateur::cTdB_Client].saValeur,psdJSON) +sinon +06/08/2026 Batik 6171 + +Partie 6 › Classe › MUtilisateur › Code +tbaNouvelleConfig[MParametreUtilisateur::cTdB_Client] = cParamTdB_Client +fin +renvoyer tbaNouvelleConfig +Méthode TdB_Fen_Contact +procédure TdB_Fen_Contact() +tbaNouvelleConfigest un tableau associatif (AvecDoublon) de chaînes ANSI +si :tbaParametres[MParametreUtilisateur::cTdB_Contact]..Existe _et_ :tbaParametres[ +MParametreUtilisateur::cTdB_Contact].saValeur <> "" alors +Désérialise(tbaNouvelleConfig,:tbaParametres[MParametreUtilisateur::cTdB_Contact].saValeur,psdJSON) +sinon +tbaNouvelleConfig[MParametreUtilisateur::cTdB_Contact] = cParamTdB_Contact +fin +renvoyer tbaNouvelleConfig +Méthode TdB_Fen_Inter +procédure TdB_Fen_Inter() +tbaNouvelleConfigest un tableau associatif (AvecDoublon) de chaînes ANSI +si :tbaParametres[MParametreUtilisateur::cTdB_Inter]..Existe _et_ :tbaParametres[MParametreUtilisateur +::cTdB_Inter].saValeur <> "" alors +Désérialise(tbaNouvelleConfig,:tbaParametres[MParametreUtilisateur::cTdB_Inter].saValeur,psdJSON) +sinon +tbaNouvelleConfig[MParametreUtilisateur::cTdB_InterBase]= cParamTdB_InterBase +tbaNouvelleConfig[MParametreUtilisateur::cTdB_InterSupp1] = cParamTdB_InterSupp1 +tbaNouvelleConfig[MParametreUtilisateur::cTdB_InterSupp2] = cParamTdb_InterSupp2 +fin +renvoyer tbaNouvelleConfig +Méthode TdB_Fen_Menu +procédure TdB_Fen_Menu() +tbaNouvelleConfigest un tableau associatif (AvecDoublon) de chaînes ANSI +si :tbaParametres[MParametreUtilisateur::cTdB_Menu]..Existe _et_ :tbaParametres[MParametreUtilisateur:: +cTdB_Menu].saValeur <> "" alors +Désérialise(tbaNouvelleConfig,:tbaParametres[MParametreUtilisateur::cTdB_Menu].saValeur,psdJSON) +sinon +tbaNouvelleConfig[MParametreUtilisateur::cTdB_Menu] = cParamTdB_Menu +tbaNouvelleConfig[MParametreUtilisateur::cTdB_MenuRDV] = cParamTdB_MenuRDV +fin +renvoyer tbaNouvelleConfig +Méthode TdB_Fen_Site +procédure TdB_Fen_Site() +tbaNouvelleConfigest un tableau associatif (AvecDoublon) de chaînes ANSI +si :tbaParametres[MParametreUtilisateur::cTdB_Site]..Existe _et_ :tbaParametres[MParametreUtilisateur:: +cTdB_Site].saValeur <> "" alors +Désérialise(tbaNouvelleConfig,:tbaParametres[MParametreUtilisateur::cTdB_Site].saValeur,psdJSON) +sinon +06/08/2026 Batik 6172 + +Partie 6 › Classe › MUtilisateur › Code +tbaNouvelleConfig[MParametreUtilisateur::cTdB_Site] = cParamTdB_Site +fin +renvoyer tbaNouvelleConfig +Méthode TDB_Menu_Filtres +procédure TDB_Menu_Filtres() +tbWidgets est un tableau de ST_WidgetParam +si :tbaParametres[MParametreUtilisateur::cTdB_Menu_Widgets]..Existe _et_ :tbaParametres[ +MParametreUtilisateur::cTdB_Menu_Widgets].saValeur <> "" alors +Désérialise(tbWidgets,:tbaParametres[MParametreUtilisateur::cTdB_Menu_Widgets].saValeur,psdJSON) +fin +renvoyer tbWidgets +06/08/2026 Batik 6173 + +Partie 6 › Classe › MCollaborateur › Code +MCollaborateur +Code +Déclaration de MCollaborateur +MCollaborateur est une Classe <mapping=Collaborateur> +hérite de Base +// Le code se trouvant entre <MAPPING> et <FIN> est généré automatiquement. +// Il sera effacé et recréé entièrement à chaque génération +<mapping> +nPKID est un entier sur 8 octets <mapping=CO_PKID, clé unique> +nIDCivilite est un entier sur 8 octets <mapping=CO_IDCivilite> +| saCleCivilite | est une chaîne | <mapping=CO_CleCivilite> | | +| -------------- | ----------------- | ------------------------ | --- | +| saNom | est une chaîne | <mapping=CO_Nom> | | +| saPrenom | est une chaîne | <mapping=CO_Prenom> | | +| saTelFixe | est une chaîne | <mapping=CO_TelFixe> | | +| saTelMobile | est une chaîne | <mapping=CO_TelMobile> | | +| saEmail | est une chaîne | <mapping=CO_Email> | | +| saFonction | est une chaîne | <mapping=CO_Fonction> | | +| dhCreationDate | est une DateHeure | <mapping=CreationDate> | | +nCreationUser est un entier sur 8 octets <mapping=CreationUser> +| dhModifDate | est une DateHeure | <mapping=ModifDate> | | +| ----------- | -------------------------- | ----------------------- | --- | +| nModifUser | est un entier sur 8 octets | <mapping=ModifUser> | | +| bAuPlanning | est un booléen | <mapping=CO_AuPlanning> | | +| bActif | est un booléen | <mapping=CO_Actif> | | +| saIDImport | est une chaîne | <mapping=CO_IDImport> | | +rPonderation est un réel sur 4 octets <mapping=CO_Ponderation> +| saTrigramme | est une chaîne | <mapping=CO_Trigramme> | | +| ------------ | -------------------------- | ------------------------ | --- | +| nIDStatut | est un entier sur 8 octets | <mapping=CO_IDStatut> | | +| saCleStatut | est une chaîne | <mapping=CO_CleStatut> | | +| bAccesBO | est un booléen | <mapping=CO_AccesBO> | | +| bAccesMobile | est un booléen | <mapping=CO_AccesMobile> | | +| saGUID | est une chaîne | <mapping=GUID> | | +<fin> +| nIdUser | est un entier sur 8 octets | | | +| -------------- | ------------------------------------- | --- | --- | +| tbSocietes | est un tableau d'entiers sur 8 octets | | | +| clUtilisateur | est un MUtilisateur | | | +tbaConfigEmail est un tableau associatif de STParamEnvoiEmailPerso +| tbHoraires | est un tableau de ST_Horaire | | | +| ----------- | ---------------------------- | --- | --- | +fin +Méthode Charge +procédure Charge(nIdData) +bOk est un booléen +bOk = :DateCharge(nIdData) +si :nIdUser > 0 alors +:clUtilisateur:DateCharge(:nIdUser) +sinon +si HLitRecherchePremier(Utilisateur,UT_IDCollaborateur,:nPKID) alors +FichierVersMémoire(:clUtilisateur,Utilisateur) +:nIdUser = :clUtilisateur:nPKID +fin +fin +:ChargeSocietes() +| 06/08/2026 | | Batik | 6174 | +| ---------- | --- | ----- | ---- | + +Partie 6 › Classe › MCollaborateur › Code +renvoyer bOk +Méthode ChargeSocietes +procédure ChargeSocietes() +// vide le tableau +TableauSupprimeTout(:tbSocietes) +si :nPKID <= 0 alors +retour +fin +reqSQL est une Requête SQL= [ +SELECT SO_PKID +FROM Societe +LEFT OUTER JOIN Societe_Collaborateur ON (Societe_Collaborateur.SC_IDCSociete=Societe.SO_PKID) +WHERE Societe_Collaborateur.SC_IDCollaborateur = {p_IdColb} +] +reqSQL.p_IdColb = :nPKID +// exécution de la requête +si HExécuteRequête(reqSQL) alors +pour tout reqSQL +TableauAjoute(:tbSocietes,reqSQL.SO_PKID) +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +si :saCleCivilite <> "" _et_ gtabParametresMetierCode[cParam_Civilite][:saCleCivilite]..Existe alors +:nIDCivilite = gtabParametresMetierCode[cParam_Civilite][:saCleCivilite].nPKID +sinon +:nIDCivilite = 0 +fin +renvoyer :DateEnregistre() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(Valeur est entier sur 8 octets) +06/08/2026 Batik 6175 + +Partie 6 › Classe › MCollaborateur › Code +nPKID=Valeur +Récupération de la propriété IdSocPrincipal +procédure publique IdSocPrincipal() : entier sur 8 octets +renvoyer clUtilisateur.nIDSocietePrincipale +Affectation de la propriété IdSocPrincipal +procédure publique IdSocPrincipal(nValeur est entier sur 8 octets) +clUtilisateur.nIDSocietePrincipale=nValeur +Récupération de la propriété NomPrenomComplet +procédure publique NomPrenomComplet() +renvoyer :NomPrenom() +Affectation de la propriété NomPrenomComplet +procédure publique NomPrenomComplet(Valeur) +Récupération de la propriété PreferenceMessagerie +procédure publique PreferenceMessagerie():chaîne ANSI +si :clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_MESSAGERIE]..Existe = Vrai _et_ : +clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_MESSAGERIE].saValeur <> "" alors +renvoyer :clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_MESSAGERIE].saValeur +sinon +renvoyer MParametreUtilisateur::cBack_Office +fin +Affectation de la propriété PreferenceMessagerie +procédure publique PreferenceMessagerie(Valeur) +:clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_MESSAGERIE].saValeur = Valeur +Récupération de la propriété PreferencePlanning +procédure publique PreferencePlanning():chaîne ANSI +si :clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_PLANNING]..Existe = Vrai _et_ : +clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_PLANNING].saValeur <> "" alors +renvoyer :clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_PLANNING].saValeur +sinon +renvoyer MParametreUtilisateur::cPlanning +fin +Affectation de la propriété PreferencePlanning +procédure publique PreferencePlanning(Valeur) +:clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_PLANNING].saValeur = Valeur +Méthode NomPrenom +procédure NomPrenom() +06/08/2026 Batik 6176 + +Partie 6 › Classe › MCollaborateur › Code +si :saNom <> "" alors +renvoyer SansEspace(:saNom,sscExtérieur)+" "+SansEspace(:saPrenom,sscExtérieur) +sinon +renvoyer SansEspace(:saPrenom,sscExtérieur) +fin +Méthode Supprimer +procédure Supprimer() +si :nPKID <= 0 alors +renvoyer Vrai +fin +si OuiNon("Confirmez vous la suppression du collaborateur : "+:NomPrenom()+" ?") = Non alors +renvoyer Faux +fin +saMsg est une chaîne ANSI = +"Impossible de supprimer les collaborateur : des éléments y sont rattachés." +reqInterest une Requête SQL = +[ +SELECT COUNT(*) AS nombre_Inter +FROM Intervention +WHERE IN_IDSuiviPar = {p_IdColb} +] +reqInter.p_IdColb= :nPKID +si HExécuteRequêteSQL(reqInter) alors +pour tout reqInter +si reqInter.nombre_Inter > 0 alors +Erreur(saMsg) +renvoyer Faux +fin +fin +fin +reqRdv est une Requête SQL = +[ +SELECT COUNT(*) AS nombre_RDV +FROM Planning_RDV +INNER JOIN Collaborateur ON CO_PKID = PL_IDCollaborateur +WHERE CO_PKID = {p_IdColb} AND Planning_RDV.Archive = 0 +] +reqRdv.p_IdColb = :nPKID +si HExécuteRequêteSQL(reqRdv) alors +pour tout reqRdv +si reqRdv.nombre_RDV > 0 alors +Erreur(saMsg) +renvoyer Faux +fin +fin +fin +si :DateSupprime() alors +si :nIdUser > 0 _et_ HLitRecherchePremier(Utilisateur,UT_PKID,:nIdUser) alors +HSupprime(Utilisateur) +fin +renvoyer Vrai +fin +renvoyer Faux +Méthode ThemeColb +06/08/2026 Batik 6177 + +Partie 6 › Classe › MCollaborateur › Code +procédure ThemeColb() +stTheme est un ST_Theme +si :clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_Theme].saValeur <> "" alors +Désérialise(stTheme,:clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_Theme].saValeur, +psdJSON) +sinon +stTheme.nSombre = 0 +//stTheme.saCouleur = "#522A9B" +stTheme.saCouleur = CouleurBase.Couleur +fin +renvoyer stTheme +06/08/2026 Batik 6178 + +Partie 6 › Classe › Droit › Code +Droit +Code +Déclaration de Droit +Droit est une Classe +<mapping> +| nIDAccesDroit | est un entier sur 8 octets | | <mapping=AED_PKID> | | +| ------------- | -------------------------- | --- | ---------------------- | --- | +| saCleAcces | est une chaîne | | <mapping=AED_CleAcces> | | +| bAcces | est un booléen | | <mapping=AED_Acces> | | +<fin> +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode EnrVersObjet +procédure EnrVersObjet(req est une Source de Données) +FichierVersMémoire(objet,req) +| 06/08/2026 | | Batik | | 6179 | +| ---------- | --- | ----- | --- | ---- | + +Partie 6 › Classe › MParametreMetier › Code +MParametreMetier +Code +Déclaration de MParametreMetier +MParametreMetier est une Classe <mapping=ParametreMetier> +hérite de Base +// Le code se trouvant entre <MAPPING> et <FIN> est généré automatiquement. +// Il sera effacé et recréé entièrement à chaque génération +<mapping> +nPKID est un entier sur 8 octets <mapping=PA_PKID, clé unique> +| saCLE | est une chaîne | <mapping=PA_CLE> | | +| ------------- | -------------- | ------------------------- | --- | +| saCategorie | est une chaîne | <mapping=PA_Categorie> | | +| saCode | est une chaîne | <mapping=PA_Code> | | +| saLibelle | est une chaîne | <mapping=PA_Libelle> | | +| saValeur | est une chaîne | <mapping=PA_Valeur> | | +| nOrdre | est un entier | <mapping=PA_Ordre> | | +| bSysteme | est un booléen | <mapping=PA_Systeme> | | +| bInvisible | est un booléen | <mapping=PA_Invisible> | | +| saIDImport | est une chaîne | <mapping=PA_IDImport> | | +| bActif | est un booléen | <mapping=PA_Actif> | | +| saCleLiaison | est une chaîne | <mapping=PA_CleLiaison> | | +| saParametre | est une chaîne | <mapping=PA_Parametre> | | +| saibelleCourt | est une chaîne | <mapping=PA_LibelleCourt> | | +<fin> +| ParamJson | est un JSON | | | +| ---------- | ----------- | --- | --- | +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +renvoyer :DateEnregistre() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(Valeur est entier sur 8 octets) +nPKID=Valeur +| 06/08/2026 | | Batik | 6180 | +| ---------- | --- | ----- | ---- | + +Partie 6 › Classe › MSociete › Code +MSociete +Code +Déclaration de MSociete +MSociete est une Classe <mapping=Societe> +hérite de Base +// Le code se trouvant entre <MAPPING> et <FIN> est généré automatiquement. +// Il sera effacé et recréé entièrement à chaque génération +<mapping> +nPKID est un entier sur 8 octets <mapping=SO_PKID, clé unique> +| saNom | est une chaîne | | <mapping=SO_Nom> | | +| --------- | -------------- | --- | -------------------- | --- | +| saSIRET | est une chaîne | | <mapping=SO_SIRET> | | +| saSIREN | est une chaîne | | <mapping=SO_SIREN> | | +| saTel | est une chaîne | | <mapping=SO_Tel> | | +| saFax | est une chaîne | | <mapping=SO_Fax> | | +| saEmail | est une chaîne | | <mapping=SO_Email> | | +| saSiteWeb | est une chaîne | | <mapping=SO_SiteWeb> | | +nIDAdressePrincipale est un entier sur 8 octets <mapping=SO_IDAdressePrincipale> +| dhCreationDate | est une DateHeure | | <mapping=CreationDate> | | +| -------------- | ----------------- | --- | ---------------------- | --- | +nCreationUser est un entier sur 8 octets <mapping=CreationUser> +| dhModifDate | est une DateHeure | | <mapping=ModifDate> | | +| ------------ | -------------------------- | --- | ----------------------- | --- | +| nModifUser | est un entier sur 8 octets | | <mapping=ModifUser> | | +| nIDImport | est une chaîne | | <mapping=SO_IDImport> | | +| bufLogo | est un Buffer | | <mapping=SO_Logo> | | +| saParametres | est une chaîne | | <mapping=SO_Parametres> | | +| bArchive | est un booléen | | <mapping=SO_Archive> | | +| saGUID | est une chaîne | | <mapping=GUID> | | +<fin> +| stParamSoc | est un STParamSociete | | | | +| ----------- | --------------------- | --- | --- | --- | +| oAdresse | est un MAdresse | | | | +fin +Constructeur +procédure Constructeur() +:stParamSoc:tbDates = [] +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +si :stParamSoc:SMTP.sMdp <> "" alors +:stParamSoc:SMTP.sMdp = Crypte(:stParamSoc:SMTP.sMdp,gsaCleMdp) +fin +| i est un entier | = 1 | | | | +| --------------- | --- | --- | --- | --- | +nPosest un entier = PositionOccurrence(Majuscule(:stParamSoc:SMTP.bufSignature),"<IMG",i, +DepuisDébut) +tantque nPos>0 +| 06/08/2026 | | Batik | | 6181 | +| ---------- | --- | ----- | --- | ---- | + +Partie 6 › Classe › MSociete › Code +sTexte est une chaîne = Milieu(:stParamSoc:SMTP.bufSignature,nPos,(Position(:stParamSoc:SMTP.buf +Signature,">",nPos+1)+1)-nPos) +CodeSrcHtmlEnBase64IMG(sTexte,:stParamSoc.SMTP) +i+=1 +nPos = PositionOccurrence(Majuscule(:stParamSoc:SMTP.bufSignature),"<IMG",i,DepuisDébut) +fin +bufParam est un Buffer +Sérialise(:stParamSoc,bufParam,psdJSON) +:saParametres = bufParam +renvoyer :DateEnregistre() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(Valeur est entier sur 8 octets) +nPKID=Valeur +Méthode Supprimer +procédure Supprimer() +si :nPKID <= 0 alors +renvoyer Vrai +fin +si OuiNon("Confirmez vous la suppression de la société : "+:saNom+" ?") = Non alors +renvoyer Faux +fin +saMsg est une chaîne ANSI = +"Impossible de supprimer la société : des éléments y sont rattachés. Vous pouvez modifier la société et +l'archivé." +reqInter est une Requête SQL = +[ +SELECT COUNT(*) AS nombre_Inter +FROM Intervention +WHERE IN_IDSociete = {p_IdSoc} +] +reqInter.p_IdSoc = :nPKID +si HExécuteRequêteSQL(reqInter) alors +pour tout reqInter +si reqInter.nombre_Inter > 0 alors +Erreur(saMsg) +renvoyer Faux +fin +fin +fin +reqRdv est une Requête SQL = +[ +SELECT COUNT(*) AS nombre_RDV +FROM Planning_RDV +WHERE Planning_RDV.PL_IDSociete = {p_IdSoc} AND Planning_RDV.Archive = 0 +] +06/08/2026 Batik 6182 + +Partie 6 › Classe › MSociete › Code +reqRdv.p_IdSoc = :nPKID +si HExécuteRequêteSQL(reqRdv) alors +pour tout reqRdv +si reqRdv.nombre_RDV > 0 alors +Erreur(saMsg) +renvoyer Faux +fin +fin +fin +reqSup est une Requête SQL = +[ +DELETE FROM Equipe_Collaborateur +WHERE Equipe_Collaborateur.EC_IDEquipe IN (SELECT EQ_PKID FROM Equipe WHERE EQ_IDSociete = {p_id}) +] +reqSup.p_id = :nPKID +si HExécuteRequêteSQL(reqSup,hVérifieDoublon+hVérifieIntégrité) alors +reqSupEq est une Requête SQL = +[ +DELETE FROM Equipe +WHERE EQ_IDSociete = {p_id} +] +reqSupEq.p_id = :nPKID +si HExécuteRequêteSQL(reqSupEq,hVérifieDoublon+hVérifieIntégrité) _et_ :DateSupprime() alors +renvoyer Vrai +fin +fin +renvoyer :DateSupprime() +06/08/2026 Batik 6183 + +Partie 6 › Classe › MParametreUtilisateur › Code +MParametreUtilisateur +Code +Déclaration de MParametreUtilisateur +MParametreUtilisateur est une Classe <mapping=ParametreUtilisateur> +hérite de Base +// Le code se trouvant entre <MAPPING> et <FIN> est généré automatiquement. +// Il sera effacé et recréé entièrement à chaque génération +<mapping> +nPKID est un entier sur 8 octets <mapping=PU_PKID, clé unique> +saCode est une chaîne <mapping=PU_Code> +nIDUtilisateur est un entier sur 8 octets <mapping=PU_IDUtilisateur> +saValeur est une chaîne <mapping=PU_Valeur> +<fin> +constante +cCHOIX_MESSAGERIE = "CHOIX_MESSAGERIE" +cCHOIX_PLANNING = "CHOIX_PLANNING_AGENDA" +cCHOIX_TrieInter = "CHOIX_TRIE_ONGLET_DOSSIER" +cCHOIX_Theme = "CHOIX_THEME" +// cCHOIX_HeureVisiblePLG = "CHOIX_HEURE_VISIBLE_RDV" +// cCHOIX_HeureOuvrablePLG = "CHOIX_HEURE_OUVRABLE_RDV" +// cCHOIX_GRANULARITE_RDV = "CHOIX_GRANULARITE_RDV" +cCHOIX_ListeAGD = "Choix_AGD_PL" +//cCHOIX_Param_Agenda = "Choix_Param_Agenda" +cPlanning = "Planning" +cAgenda = "Agenda" +cExterne = "Externe" +cBack_Office = "Back-Office" +cEMAIL_ENVOI = "EMAIL_ENVOI" +cTdB_Inter = "TdB_Inter" +cTdB_InterBase = "Intervention" +cTdB_InterSupp1 = "RDV / Notes" +cTdB_InterSupp2 = "Informations supplémentaires" +cTdB_Client = "Client" +cTdB_Contact = "Contact" +cTdB_Site = "Site" +cTdB_Menu = "Principal" +cTdB_MenuRDV = "RDV/ATT" +cTdB_Menu_Widgets = "Principal_Widgets" +cHoraire = "HORAIRE" +fin +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +06/08/2026 Batik 6184 + +Partie 6 › Classe › MParametreUtilisateur › Code +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(Valeur est entier sur 8 octets) +nPKID=Valeur +06/08/2026 Batik 6185 + +Partie 6 › Classe › InfoBlocage › Code +InfoBlocage +Code +Déclaration de InfoBlocage +InfoBlocage est une Classe +sFichier est une chaîne //<Nom physique du fichier relatif à la database> +| nNumEnreg | est un entier | //<Numéro d'enregistrement> | | | +| ------------ | -------------- | ------------------------------------ | --- | --- | +| sUtilisateur | est une chaîne | //<Utilisateur> | | | +| sMachine | est une chaîne | //<Nom de la machine cliente> | | | +| sIP | est une chaîne | //<Adresse IP de la machine cliente> | | | +| sApplication | est une chaîne | //<Nom de l'application cliente> | | | +| sTypeVerrou | est une chaîne | | | | +//<Type de blocage> W (écriture) ,RW (lecture écriture) ,W-T,RW-T (idem, dans une transaction) +dhDate est une DateHeure//<Date de pose du blocage> AAAAMMJJHHMMSS Format UTC +nNbSecondes est un entier //<Nombre de secondes depuis lequel le blocage a commencé> +fin +Constructeur +procédure Constructeur(sNomFichier est une chaîne) +si sNomFichier = "" alors +retour +fin +| s est une chaîne | = HInfoBlocage(sNomFichier,hNumEnrEnCours) | | | | +| ---------------- | ------------------------------------------ | --- | --- | --- | +tb est un tableau de chaînes +ChaîneVersTableau(s ,tb ,TAB) +si tb..Occurrence>=9 alors +| :sFichier | =tb[1] | | | | +| --------------- | ---------- | --- | --- | --- | +| :nNumEnreg | =tb[2] | | | | +| :sUtilisateur | =tb[3] | | | | +| :sMachine | =tb[4] | | | | +| :sIP | =tb[5] | | | | +| :sApplication | =tb[6] | | | | +| :sTypeVerrou | =tb[7] | | | | +| :dhDate | =tb[8] | | | | +| :nNbSecondes | =tb[9] | | | | +fin +Destructeur +procédure Destructeur() +Méthode LibErreur +procédure LibErreur() +d est une Durée +d..Seconde=:nNbSecondes +renvoyer "Vérrouillé par :" +:sUtilisateur + " sur le poste " + :sMachine + " depuis " + +DuréeVersChaîne(d,"m:ss") +"s" +| 06/08/2026 | | | Batik | 6186 | +| ---------- | --- | --- | ----- | ---- | + +Partie 6 › Classe › Base › Code +Base +Code +Déclaration de Base +Base est une Classe +bAvecBlocage est un booléen //Vrai si l'enregistrement est verrouillé +| nVerrou | est un E_EtatVerrou | | | | +| ------------ | --------------------------- | ------ | ------------------- | --- | +| nNumEnrg | est un entier | | | | +| bModifié | est un booléen | = Faux | | | +| bSupprimé | est un booléen | = Faux | | | +| bChargé | est un booléen | = Faux | | | +| sIndexOBjet | est une chaîne | | //Nomfichier + ID | | +| nChronoObjet | est un entier | | | | +| nBidon | est un entier sur 8 octets | | | | +| sNomFenetre | est une chaîne | | //Nom de la fenetre | | + utilisée pour l'affichage Ex:FEN_Dossier +| bModifiableSansVerrouest un booléen | | = Vrai | | | +| ----------------------------------- | --- | ------ | --- | --- | +//Par défaut il n'est pas nécessaire de poser un verrou +| bDebloqueEnreg | est un booléen = Faux | | | | +| --------------- | --------------------- | --- | --- | --- | +privé +nNumeroEnregistrementest un entier +| sNomFichier | est une chaîne | | | | +| ----------- | -------------- | --- | --- | --- | +| sNomPK | est une chaîne | | | | +fin +E_EtatVerrou est une Enumération +PasDeVerrou +VerrouParMoi +VerrouParAutre +fin +Méthode bModifiable +procédure bModifiable() +selon :nVerrou +cas VerrouParMoi +renvoyer Vrai +cas VerrouParAutre +renvoyer Faux +cas PasDeVerrou +renvoyer :bModifiableSansVerrou +fin +Constructeur +procédure Constructeur() +:sNomFichier=MonFichierMappé +:sNomPK=MaCléUniqueMappée +:nChronoObjet = DonneIdentifiant() +Méthode DateCharge +procédure DateCharge(nIdData) +:nVerrou = PasDeVerrou +| 06/08/2026 | | Batik | | 6187 | +| ---------- | --- | ----- | --- | ---- | + +Partie 6 › Classe › Base › Code +si nIdData <= 0 alors +renvoyer Vrai +fin +//Si on n'est pas positionné sur le bon enregistrement, on le cherche +//Cela est utile lors d'un parcours filtré. L'enregistrement courant est chargé et le filtre n'est pas +désactivé. +bLectureRéussie est un booléen = Faux +si :bAvecBlocage alors +//Tentative de blocage +HSurErreur(:sNomFichier,hErrBlocage,"") +si pas HLitRecherchePremier(:sNomFichier,:sNomPK,nIdData,hBlocageEcriture) alors +//Pas lu :( +si HErreurBlocage() ou ErreurInfo(errCode) = ErrBlocageHFSQL alors +UneErreur:Init(ErreurApp.ErreurHFSQLBlocage,:sNomFichier) +:nVerrou =VerrouParAutre +sinon +//Pas trouvé +UneErreur:Init(ErreurApp.Aucune,"Enregistrement non trouvé") +fin +sinon +//Verrou posé par moi :) +bLectureRéussie=Vrai +:nVerrou = VerrouParMoi +fin +fin +//Lecture sans blocage +si pas bLectureRéussie alors +si pas HLitRecherchePremier(:sNomFichier,:sNomPK,nIdData,hBlocageNon) alors +//Lecture sans pose de verrou +si HErreurBlocage() ou ErreurInfo(errCode) = ErrBlocageHFSQL alors +UneErreur:Init(ErreurApp.ErreurHFSQLBlocage,:sNomFichier) +:nVerrou =VerrouParAutre +sinon +//Pas trouvé +UneErreur:Init(ErreurApp.Aucune,"Enregistrement non trouvé") +fin +sinon +bLectureRéussie=Vrai +fin +fin +//Rétabli la gestion automatique des erreurs +HSurErreur(:sNomFichier,hErrBlocage) +si bLectureRéussie alors +:IdentifiantUnique=nIdData +:nNumeroEnregistrement=HNumEnr(:sNomFichier) +//Transfert du buffer dans l'objet +:EnrVersObjet() +:bModifié =Faux +:bSupprimé =Faux +:bChargé=Vrai +renvoyer Vrai +sinon +renvoyer Faux +fin +06/08/2026 Batik 6188 + +Partie 6 › Classe › Base › Code +cas erreur: +UneErreur:Init(ErreurApp.ErreurProgramme,"","Base.DateEnregistre") +STOP +renvoyer Faux +cas exception: +UneErreur:Init(ErreurApp.ExeptionProgramme,"","Base.DateEnregistre") +STOP +renvoyer Faux +Méthode DateEnregistre +procédure DateEnregistre() +bOk est un booléen +bAjoute est un booléen = Faux +si :IdentifiantUnique <>0 alors +//Positionnement sur l'enregistrement +si pas HLitRecherchePremier(:sNomFichier,:sNomPK,:IdentifiantUnique) alors +UneErreur:Init(ErreurApp.Aucune,"Enregistrement non trouvé dans " +:sNomFichier + " pour " +: +sNomPK +" = " + :IdentifiantUnique) +renvoyer Faux +fin +sinon +bAjoute=Vrai +fin +si bAjoute alors HRAZ(:sNomFichier) +:ObjetVersEnr() +quand exception dans +{:sNomFichier+".ModifDate "} = DateHeureSys() +{:sNomFichier+".ModifUser "} = CollaborateurEnCours:nIdUser +faire +// rien , les propriétés n'existe pas dans le fichier +fin +quand exception dans +si {:sNomFichier+".GUID"} = "" alors +{:sNomFichier+".GUID"} = DonneGUID(guidBrut) +fin +si {:sNomFichier+".GUID"} <> "" ou {:sNomFichier+".GUID"} <> Null alors +{":saGUID"} = {:sNomFichier+".GUID"} +fin +faire +// rien , les propriétés n'existe pas dans le fichier +fin +si bAjoute alors +quand exception dans +{:sNomFichier+".CreationDate"} = DateHeureSys() +{:sNomFichier+".CreationUser"} = CollaborateurEnCours:nIdUser +faire +// rien , les propriétés n'existe pas dans le fichier +fin +bOk=HAjoute(:sNomFichier) +:nNumeroEnregistrement=HNumEnr(:sNomFichier) +:IdentifiantUnique = {:sNomFichier+"."+:sNomPK,indRubrique} +sinon +bOk=HModifie(:sNomFichier) +fin +06/08/2026 Batik 6189 + +Partie 6 › Classe › Base › Code +si pas bOk alors +si HErreurBlocage() ou ErreurInfo(errCode) = ErrBlocageHFSQL alors +UneErreur.Init(ErreurApp.ErreurHFSQLBlocage,:sNomFichier) +renvoyer Faux +sinon +UneErreur.Init(ErreurApp.ErreurHFSQL,"","Base.DateEnregistre") +renvoyer Faux +fin +sinon +:DebloqueFichier() +renvoyer Vrai +fin +cas erreur: +UneErreur:Init(ErreurApp.ErreurProgramme,"","Base.DateEnregistre") +STOP +renvoyer Faux +cas exception: +UneErreur:Init(ErreurApp.ExeptionProgramme,"","Base.DateEnregistre") +STOP +renvoyer Faux +Méthode DateSupprime +procédure DateSupprime() +bOk est un booléen +si :IdentifiantUnique<>0 alors +//Positionnement sur l'enregistrement +si pas HLitRecherchePremier(:sNomFichier,:sNomPK,:IdentifiantUnique) alors +renvoyer Vrai +fin +sinon +renvoyer Vrai +fin +bOk=HSupprime(:sNomFichier,hNumEnrEnCours) +si pas bOk alors +si HErreurBlocage() ou ErreurInfo(errCode) = ErrBlocageHFSQL alors +UneErreur:Init(ErreurApp.ErreurHFSQLBlocage,:sNomFichier) +:nVerrou =VerrouParAutre +renvoyer Faux +sinon +UneErreur.Init(ErreurApp.ErreurHFSQL,"","Base.DateEnregistre") +renvoyer Faux +fin +sinon +renvoyer Vrai +fin +cas erreur: +UneErreur:Init(ErreurApp.ErreurProgramme,"","Base.DateEnregistre") +STOP +renvoyer Faux +cas exception: +06/08/2026 Batik 6190 + +Partie 6 › Classe › Base › Code +UneErreur:Init(ErreurApp.ExeptionProgramme,"","Base.DateEnregistre") +STOP +renvoyer Faux +Méthode DebloqueFichier +procédure DebloqueFichier() +si :bAvecBlocage _et_ :bDebloqueEnreg _et_ :nVerrou = VerrouParMoi alors +si HDébloqueNumEnr(:sNomFichier,:nNumEnrg) alors +:bAvecBlocage = Faux +:nVerrou = PasDeVerrou +:bDebloqueEnreg = Faux +fin +fin +Destructeur +procédure Destructeur() +si :bAvecBlocage alors +si :nNumeroEnregistrement<>0 alors +HDébloqueNumEnr(:sNomFichier,:nNumeroEnregistrement) +fin +fin +Méthode EnrVersObjet +procédure EnrVersObjet() +:nNumEnrg = HNumEnr(:sNomFichier) +FichierVersMémoire(objet,:sNomFichier) +Récupération de la propriété IdentifiantUnique +procédure publique abstraite IdentifiantUnique() +Affectation de la propriété IdentifiantUnique +procédure publique abstraite IdentifiantUnique(Valeur) +Méthode ObjetVersEnr +procédure ObjetVersEnr() +MémoireVersFichier(objet,:sNomFichier) +Méthode TrouveEnregistrement +procédure TrouveEnregistrement(nIdCherché est un entier sur 8 octets) +bOk est un booléen +si :bAvecBlocage alors +bOk=HLitRecherchePremier(:sNomFichier,:sNomPK,nIdCherché,hBlocageEcriture) +sinon +bOk=HLitRecherchePremier(:sNomFichier,:sNomPK,nIdCherché,hBlocageNon) +fin +si bOk alors +:nNumeroEnregistrement=HNumEnr(:sNomFichier) +renvoyer Vrai +sinon +06/08/2026 Batik 6191 + +Partie 6 › Classe › Base › Code +si HErreurBlocage() ou ErreurInfo(errCode) = ErrBlocageHFSQL alors +UneErreur.Init(ErreurApp.ErreurHFSQLBlocage,:sNomFichier) +renvoyer Faux +sinon +UneErreur.Init(ErreurApp.ErreurHFSQL,"","Base.TrouveEnregistrement") +renvoyer Faux +fin +fin +06/08/2026 Batik 6192 + +Partie 6 › Classe › MIntervention › Code +MIntervention +Code +Déclaration de MIntervention +MIntervention est une Classe <mapping=Intervention> +hérite de Base +// Le code se trouvant entre <MAPPING> et <FIN> est généré automatiquement. +// Il sera effacé et recréé entièrement à chaque génération +<mapping> +nPKID est un entier sur 8 octets <mapping=IN_PKID, clé unique> +| saGUID | est une chaîne | | <mapping=GUID> | | +| --------- | -------------- | --- | -------------------- | --- | +| saCleType | est une chaîne | | <mapping=IN_CleType> | | +| saCleEtat | est une chaîne | | <mapping=IN_CleEtat> | | +nIDSuiviPar est un entier sur 8 octets <mapping=IN_IDSuiviPar> +| nIDDossier | est un entier sur 8 octets | | <mapping=IN_IDDossier> | | +| ---------- | -------------------------- | --- | ---------------------- | --- | +nIDDemandeur est un entier sur 8 octets <mapping=IN_IDDemandeur> +| nIDClient | est un entier sur 8 octets | | <mapping=IN_IDClient> | | +| -------------- | -------------------------- | --- | ------------------------ | --- | +| nIDLieu | est un entier sur 8 octets | | <mapping=IN_IDLieu> | | +| saDescription | est une chaîne | | <mapping=IN_Description> | | +| saNoteInterne | est une chaîne | | <mapping=IN_NoteInterne> | | +| dhCreationDate | est une DateHeure | | <mapping=CreationDate> | | +nCreationUser est un entier sur 8 octets <mapping=CreationUser> +| dhModifDate | est une DateHeure | | <mapping=ModifDate> | | +| ----------------- | -------------------------- | ----------------------------- | ----------------------- | --- | +| nModifUser | est un entier sur 8 octets | | <mapping=ModifUser> | | +| saTitre | est une chaîne | | <mapping=IN_Titre> | | +| saRefInterne | est une chaîne | | <mapping=IN_RefInterne> | | +| saRefExterne | est une chaîne | | <mapping=IN_RefExterne> | | +| saIDImport | est une chaîne | | <mapping=IN_IDImport> | | +| nIDSociete | est un entier sur 8 octets | | <mapping=IN_IDSociete> | | +| bArchive | est un booléen | | <mapping=Archive> | | +| dhDateArchivage | est une DateHeure | | <mapping=DateArchivage> | | +| dDateIntervention | est une Date | <mapping=IN_DateIntervention> | | | +rDureePrevue est un réel sur 4 octets <mapping=IN_DureePrevue> +| saNumDevis | est une chaîne | | <mapping=IN_NumDevis> | | +| ------------ | -------------- | ------------------------ | ----------------------- | --- | +| dDateDevis | est une Date | | <mapping=IN_DateDevis> | | +| saNumFacture | est une chaîne | | <mapping=IN_NumFacture> | | +| dDateFacture | est une Date | <mapping=IN_DateFacture> | | | +saNumIntervention est une chaîne <mapping=IN_NumIntervention> +//bIN_AttestationTVAPresente est un booléen <MAPPING=IN_AttestationTVAPresente> +nIDTypeIntervention est un entier sur 8 octets <mapping=IN_IDTypeIntervention> +nIDEtatIntervention est un entier sur 8 octets <mapping=IN_IDEtatIntervention> +<fin> +| saSuiviParNomColb | est une chaîne ANSI | | | | +| ------------------ | ------------------- | --- | --- | --- | +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +| 06/08/2026 | | Batik | | 6193 | +| ---------- | --- | ----- | --- | ---- | + +Partie 6 › Classe › MIntervention › Code +procédure Enregistrer() +si :saCleEtat <> "" _et_ gtabParametresMetierCode[cParam_EtatInter][:saCleEtat]..Existe alors +:nIDEtatIntervention = gtabParametresMetierCode[cParam_EtatInter][:saCleEtat].nPKID +sinon +:nIDEtatIntervention = 0 +fin +si :saCleType <> "" _et_ gtabParametresMetierCode[cParam_TypeInter][:saCleType]..Existe alors +:nIDTypeIntervention = gtabParametresMetierCode[cParam_TypeInter][:saCleType].nPKID +sinon +:nIDTypeIntervention = 0 +fin +si :DateEnregistre() alors +CreationElementModifie(:nPKID, Intervention..Nom) +renvoyer Vrai +fin +renvoyer Faux +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +Méthode Supprimer +procédure Supprimer() +si :nPKID <= 0 alors +renvoyer Vrai +fin +si OuiNon("Confirmez vous la suppression de l'intervention : "+:saRefInterne+" ?") = Non alors +renvoyer Faux +fin +saMsg est une chaîne ANSI = "Impossible de supprimer l’intervention : des éléments y sont rattachés." +reqDocument est une Requête SQL = +[ +SELECT COUNT(*) AS nombre_Doc +FROM Document +INNER JOIN Intervention ON IN_PKID = DC_IDIntervention +WHERE IN_PKID = {p_IdInter} +] +reqDocument.p_IdInter = :nPKID +si HExécuteRequêteSQL(reqDocument) alors +pour tout reqDocument +si reqDocument.nombre_Doc > 0 alors +Erreur(saMsg) +renvoyer Faux +fin +fin +fin +reqRdv est une Requête SQL = +[ +06/08/2026 Batik 6194 + +Partie 6 › Classe › MIntervention › Code +SELECT COUNT(*) AS nombre_RDV +FROM Planning_RDV +INNER JOIN Intervention ON IN_PKID = PL_IDIntervention +WHERE IN_PKID = {p_IdInter} AND Planning_RDV.Archive = 0 +] +reqRdv.p_IdInter = :nPKID +si HExécuteRequêteSQL(reqRdv) alors +pour tout reqRdv +si reqRdv.nombre_RDV > 0 alors +Erreur(saMsg) +renvoyer Faux +fin +fin +fin +reqMsg est une Requête SQL = +[ +SELECT COUNT(*) AS nombre_Msg +FROM MessageExterne +INNER JOIN Intervention ON IN_PKID = MessageExterne.ME_IDIntervention +WHERE IN_PKID = {p_IdInter} +] +reqMsg.p_IdInter = :nPKID +si HExécuteRequêteSQL(reqMsg) alors +pour tout reqMsg +si reqMsg.nombre_Msg > 0 alors +Erreur(saMsg) +renvoyer Faux +fin +fin +fin +renvoyer :DateSupprime() +06/08/2026 Batik 6195 + +Partie 6 › Classe › MDossier › Code +MDossier +Code +Déclaration de MDossier +MDossier est une Classe <mapping=Dossier> +hérite de Base +// Le code se trouvant entre <MAPPING> et <FIN> est généré automatiquement. +// Il sera effacé et recréé entièrement à chaque génération +<mapping> +nPKID est un entier sur 8 octets <mapping=DO_PKID, clé unique> +| nIDClient | est un entier sur 8 octets | <mapping=DO_IDClient> | | +| -------------- | -------------------------- | ----------------------- | --- | +| saCleType | est une chaîne | <mapping=DO_CleType> | | +| saTitre | est une chaîne | <mapping=DO_Titre> | | +| saCleStatut | est une chaîne | <mapping=DO_CleStatut> | | +| saRefInterne | est une chaîne | <mapping=DO_RefInterne> | | +| saRefExterne | est une chaîne | <mapping=DO_RefExterne> | | +| dhCreationDate | est une DateHeure | <mapping=CreationDate> | | +nCreationUser est un entier sur 8 octets <mapping=CreationUser> +| dhModifDate | est une DateHeure | <mapping=ModifDate> | | +| --------------- | -------------------------- | ----------------------- | --- | +| nModifUser | est un entier sur 8 octets | <mapping=ModifUser> | | +| saIDImport | est une chaîne | <mapping=DO_IDImport> | | +| nIDSociete | est un entier sur 8 octets | <mapping=DO_IDSociete> | | +| dDateDebut | est une Date | <mapping=DO_DateDebut> | | +| bArchive | est un booléen | <mapping=Archive> | | +| dhDateArchivage | est une DateHeure | <mapping=DateArchivage> | | +| saNumDossier | est une chaîne | <mapping=DO_NumDossier> | | +| saGUID | est une chaîne | <mapping=GUID> | | +| nIDStatut | est un entier sur 8 octets | <mapping=DO_IDStatut> | | +nIDTypeDossier est un entier sur 8 octets <mapping=DO_IDTypeDossier> +<fin> +| oClient | est un MClient | | | +| --------- | ------------------------------------------ | --- | --- | +| tbaInter | est un tableau associatif de MIntervention | | | +fin +Méthode ChargeClient +procédure ChargeClient() +si :nIDClient > 0 alors +si HLitRecherchePremier(Client,CL_PKID,:nIDClient) alors +FichierVersMémoire(:oClient,Client) +sinon +//Pas trouvé +UneErreur:Init(ErreurApp.Aucune,"Enregistrement non trouvé") +fin +fin +Méthode ChargeInterventions +procédure ChargeInterventions() +TableauSupprimeTout(:tbaInter) +odUneInter est un MIntervention dynamique +| 06/08/2026 | | Batik | 6196 | +| ---------- | --- | ----- | ---- | + +Partie 6 › Classe › MDossier › Code +si :nPKID > 0 alors +saClePar est une chaîne = HFiltre(Intervention,"IN_IDDossier="+:nPKID) +HLitPremier(Intervention, saClePar) +tantque HEnDehors() = Faux +odUneInter = allouer un MIntervention +FichierVersMémoire(odUneInter,Intervention) +odUneInter:nNumEnrg = HNumEnr(Intervention) +:tbaInter[odUneInter:nPKID] = odUneInter +HLitSuivant(Intervention,saClePar) +fin +// rqSql est une requête SQL = +// [ +// select * from Intervention where in_iddossier = {p_IdDossier} and Archive = 0 +// ] +// rqSql.p_IdDossier = :nPKID +// si pas HExécuteRequêteSQL(rqSql) ALORS +// UneErreur.Init(ErreurApp.ErreurHFSQL,"","MIntervention.ChargeInterventions") +// sinon +// pour TOUT rqSql +// odUneInter = allouer un MIntervention +// FichierVersMémoire(odUneInter,rqSql) +// odUneInter:nNumEnrg = HNumEnr(rqSql) +// :tbaInter[odUneInter:nPKID] = odUneInter +// FIN +// FIN +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +saInfoManquant est une chaîne ANSI +si :nIDClient <= 0 alors +saInfoManquant += "Le client" +fin +si saInfoManquant <> "" alors +Erreur("Le dossier ne peut pas être enregistré, les informations suivantes sont manquantes : ", +saInfoManquant) +renvoyer Faux +fin +si :saCleStatut <> "" _et_ gtabParametresMetierCode[cParam_StatutDossier][:saCleStatut]..Existe alors +:nIDStatut = gtabParametresMetierCode[cParam_StatutDossier][:saCleStatut].nPKID +sinon +:nIDStatut = 0 +fin +si :saCleType <> "" _et_ gtabParametresMetierCode[cParam_TypeDossier][:saCleType]..Existe alors +:nIDTypeDossier = gtabParametresMetierCode[cParam_TypeDossier][:saCleType].nPKID +sinon +:nIDTypeDossier = 0 +fin +renvoyer :DateEnregistre() +Récupération de la propriété IdentifiantUnique +06/08/2026 Batik 6197 + +Partie 6 › Classe › MDossier › Code +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +Méthode Supprimer +procédure Supprimer() +si :nPKID <= 0 alors +renvoyer Vrai +fin +si OuiNon("Confirmez vous la suppression du dossier : "+:saRefInterne+" ?") = Non alors +renvoyer Faux +fin +saMsg est une chaîne ANSI = +"Impossible de supprimer le dossier : des éléments y sont rattachés." +reqDocument est une Requête SQL = +[ +SELECT COUNT(*) AS nombre_Doc +FROM Document +INNER JOIN Intervention ON IN_PKID = DC_IDIntervention +INNER JOIN Dossier ON DO_PKID = IN_IDDossier +WHERE DO_PKID = {p_IdDossier} +] +reqDocument.p_IdDossier = :nPKID +si HExécuteRequêteSQL(reqDocument) alors +pour tout reqDocument +si reqDocument.nombre_Doc > 0 alors +Erreur(saMsg) +renvoyer Faux +fin +fin +fin +reqRdv est une Requête SQL = +[ +SELECT COUNT(*) AS nombre_RDV +FROM Planning_RDV +INNER JOIN Intervention ON IN_PKID = PL_IDIntervention +INNER JOIN Dossier ON DO_PKID = IN_IDDossier +WHERE DO_PKID = {p_IdDossier} AND Planning_RDV.Archive = 0 +] +reqRdv.p_IdDossier = :nPKID +si HExécuteRequêteSQL(reqRdv) alors +pour tout reqRdv +si reqRdv.nombre_RDV > 0 alors +Erreur(saMsg) +renvoyer Faux +fin +fin +fin +reqMsg est une Requête SQL = +[ +SELECT COUNT(*) AS nombre_Msg +FROM MessageExterne +INNER JOIN Intervention ON IN_PKID = MessageExterne.ME_IDIntervention +06/08/2026 Batik 6198 + +Partie 6 › Classe › MDossier › Code +INNER JOIN Dossier ON DO_PKID = IN_IDDossier +WHERE DO_PKID = {p_IdDossier} +] +reqMsg.p_IdDossier = :nPKID +si HExécuteRequêteSQL(reqMsg) alors +pour tout reqMsg +si reqMsg.nombre_Msg > 0 alors +Erreur(saMsg) +renvoyer Faux +fin +fin +fin +renvoyer :DateSupprime() +Méthode TrieInterventions +procédure TrieInterventions() +si :tbaInter..Occurrence <= 0 alors +retour +fin +nValeur est un entier = 0 +si CollaborateurEnCours:nPKID > 0 _et_ CollaborateurEnCours:clUtilisateur:tbaParametres..Occurrence > 0 +_et_ CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_TrieInter]..Existe +alors +nValeur = Val(ExtraitChaîne(CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur +::cCHOIX_TrieInter].saValeur,1,"_",DepuisDébut)) +fin +selon nValeur +cas C_DateD_R +TableauTrie(:tbaInter,ttMembre,"-dhCreationDate") +cas C_DateD_A +TableauTrie(:tbaInter,ttMembre,"+dhCreationDate") +cas C_NumInter_E +TableauTrie(:tbaInter,ttMembre+tccRespecteNumérique,"-saRefInterne") +cas C_NumInter_P +TableauTrie(:tbaInter,ttMembre+tccRespecteNumérique,"+saRefInterne") +cas C_TitreInter_A +TableauTrie(:tbaInter,ttMembre,"+saTitre") +cas C_TitreInter_Z +TableauTrie(:tbaInter,ttMembre,"-saTitre") +cas C_NumDevis_E +TableauTrie(:tbaInter,ttMembre+tccRespecteNumérique,"-saNumDevis") +cas C_NumDevis_A +TableauTrie(:tbaInter,ttMembre+tccRespecteNumérique,"+saNumDevis") +cas C_RefExtInter_E +TableauTrie(:tbaInter,ttMembre+tccRespecteNumérique,"-saRefExterne") +cas C_RefExtInter_P +TableauTrie(:tbaInter,ttMembre+tccRespecteNumérique,"+saRefExterne") +autre cas +TableauTrie(:tbaInter,ttMembre+tccRespecteNumérique,"-nPKID") +fin +06/08/2026 Batik 6199 + +Partie 6 › Classe › MClient › Code +MClient +Code +Déclaration de MClient +MClient est une Classe <mapping=Client> +hérite de Base +// Le code se trouvant entre <MAPPING> et <FIN> est généré automatiquement. +// Il sera effacé et recréé entièrement à chaque génération +<mapping> +nPKID est un entier sur 8 octets <mapping=CL_PKID, clé unique> +| saNom | est une chaîne | | <mapping=CL_Nom> | | +| ----------- | -------------- | --- | ---------------------- | --- | +| saCleType | est une chaîne | | <mapping=CL_CleType> | | +| saCleStatut | est une chaîne | | <mapping=CL_CleStatut> | | +IDAdressePrincipale est un entier sur 8 octets <mapping=CL_IDAdressePrincipale> +| dhModifDate | est une DateHeure | <mapping=ModifDate> | | | +| -------------- | -------------------------- | ---------------------- | ------------------- | --- | +| nModifUser | est un entier sur 8 octets | | <mapping=ModifUser> | | +| dhCreationDate | est une DateHeure | <mapping=CreationDate> | | | +nCreationUser est un entier sur 8 octets <mapping=CreationUser> +| saTel | est une chaîne | | <mapping=CL_Tel> | | +| ---------------- | ----------------- | --------------------------- | -------------------------- | --- | +| saFax | est une chaîne | | <mapping=CL_Fax> | | +| saIDImport | est une chaîne | | <mapping=CL_IDImport> | | +| bArchive | est un booléen | <mapping=Archive> | | | +| dhDateArchivage | est une DateHeure | <mapping=DateArchivage> | | | +| saCodeComptable | est une chaîne | | <mapping=CL_CodeComptable> | | +| saEmail | est une chaîne | | <mapping=CL_Email> | | +| saRepertoireDocs | est une chaîne | <mapping=CL_RepertoireDocs> | | | +nIDContactPrincipal est un entier sur 8 octets <mapping=CL_IDContactPrincipal> +nIDLieuPrincipal est un entier sur 8 octets <mapping=CL_IDLieuPrincipal> +| saCleApporteur | est une chaîne | | <mapping=CL_CleApporteur> | | +| -------------- | -------------- | --- | ------------------------- | --- | +saCleApporteurOrigineest une chaîne <mapping=CL_CleApporteurOrigine> +| saCodeClient | est une chaîne | <mapping=CL_CodeClient> | | | +| ---------------- | -------------- | --------------------------- | -------------------------- | --- | +| bBlocage | est un booléen | <mapping=CL_Blocage> | | | +| saRaisonBlocage | est une chaîne | | <mapping=Cl_RaisonBlocage> | | +| saFormeJuridique | est une chaîne | <mapping=CL_FormeJuridique> | | | +saCleModeReglement est une chaîne <mapping=CL_CleModeReglement> +| saInfoSup | est une chaîne | | <mapping=CL_InfoSup> | | +| --------- | -------------------------- | --- | --------------------- | --- | +| saGUID | est une chaîne | | <mapping=GUID> | | +| saPays | est une chaîne ANSI | | <mapping=CL_Pays> | | +| saCodeTVA | est une chaîne | | <mapping=CL_CodeTVA> | | +| saSIREN | est une chaîne | | <mapping=CL_SIREN> | | +| saSIRET | est une chaîne | | <mapping=CL_SIRET> | | +| nIDType | est un entier sur 8 octets | | <mapping=CL_IDType> | | +| nIDStatut | est un entier sur 8 octets | | <mapping=CL_IDStatut> | | +nIDApporteur est un entier sur 8 octets <mapping=CL_IDApporteur> +nIDApportOrigine est un entier sur 8 octets <mapping=CL_IDApportOrigine> +nIDModeReglement est un entier sur 8 octets <mapping=CL_IDModeReglement> +<fin> +| oContactPrincipal | est un MPersonne_Ct | | | | +| ------------------ | ------------------------------------------- | --- | --- | --- | +| tbaCoord | est un tableau associatif de MAdresseClient | | | | +| saIdExportClient | est une chaîne ANSI | | | | +fin +Constructeur +| 06/08/2026 | | Batik | | 6200 | +| ---------- | --- | ----- | --- | ---- | + +Partie 6 › Classe › MClient › Code +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +saInfoManquant est une chaîne ANSI +si :saNom = "" alors +saInfoManquant += "Le nom"+RC +fin +si :saCleType = "" alors +saInfoManquant += "Le type"+RC +fin +si saInfoManquant <> "" alors +Erreur("Le client ne peut pas être enregistré, les informations suivantes sont manquantes : ", +saInfoManquant) +renvoyer Faux +fin +si :saCleType <> "" _et_ gtabParametresMetierCode[cParam_TypeClient][:saCleType]..Existe alors +:nIDType = gtabParametresMetierCode[cParam_TypeClient][:saCleType].nPKID +sinon +:nIDType = 0 +fin +si :saCleStatut <> "" _et_ gtabParametresMetierCode[cParam_StatutClient][:saCleStatut]..Existe alors +:nIDStatut = gtabParametresMetierCode[cParam_StatutClient][:saCleStatut].nPKID +sinon +:nIDStatut = 0 +fin +si :saCleApporteur <> "" _et_ gtabParametresMetierCode[cParam_ApportClient][:saCleApporteur]..Existe +alors +:nIDApporteur = gtabParametresMetierCode[cParam_ApportClient][:saCleApporteur].nPKID +sinon +:nIDApporteur = 0 +fin +si :saCleApporteurOrigine <> "" _et_ gtabParametresMetierCode[cParam_ApportOrigClient][: +saCleApporteurOrigine]..Existe alors +:nIDApportOrigine = gtabParametresMetierCode[cParam_ApportOrigClient][:saCleApporteurOrigine].nPKID +sinon +:nIDApportOrigine = 0 +fin +si :saCleModeReglement <> "" _et_ gtabParametresMetierCode[cParam_ModeReglClient][:saCleModeReglement]. +.Existe alors +:nIDModeReglement = gtabParametresMetierCode[cParam_ModeReglClient][:saCleModeReglement].nPKID +sinon +:nIDModeReglement = 0 +fin +si :DateEnregistre() alors +CreationElementModifie(:nPKID, Client..Nom) +renvoyer Vrai +fin +renvoyer Faux +Récupération de la propriété IdentifiantUnique +06/08/2026 Batik 6201 + +Partie 6 › Classe › MClient › Code +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +Récupération de la propriété NomEtCode +procédure publique NomEtCode() +renvoyer :saCodeClient<>"" ? saCodeClient+" - "+saNom sinon saNom +Affectation de la propriété NomEtCode +procédure publique NomEtCode(Valeur) +Méthode Supprimer +procédure Supprimer() +//# reste a verifier envoi vers batigest +si :nPKID <= 0 alors +renvoyer Vrai +fin +si OuiNon("Êtes-vous sûr de vouloir supprimer le client "+:NomEtCode+"?") = Non alors +renvoyer Faux +fin +//On cherche si il y a des interventions avec ce client , si c'est le cas on archive le client sinon on +supprime +nNbInter est un entier +reqInter est une Requête SQL = +[ +SELECT COUNT(*) AS nombre_Inter +FROM Intervention +WHERE IN_IDClient = {p_IdClient} +] +reqInter.p_IdClient = :nPKID +si pas HExécuteRequêteSQL(reqInter) alors +UneErreur:Init(ErreurApp.ErreurHFSQL,"Erreur lors de la suppression de l'enregistrement client", +"MClient.Supprimer") +renvoyer Faux +sinon +pour tout reqInter +nNbInter = reqInter.nombre_Inter +fin +fin +si nNbInter > 0 alors +:bArchive = Vrai +:dhDateArchivage = DateHeureSys() +renvoyer :Enregistrer() +sinon +// Si on supprime le client il faut aussi supprimer les adresse liés +saIdAdresse est une chaîne ANSI +reqIdAdr est une Requête SQL = +[ +06/08/2026 Batik 6202 + +Partie 6 › Classe › MClient › Code +SELECT STRING_AGG(CA_IDAdresse, ';') AS ids FROM Client_Adresse WHERE CA_IDClient = +{p_IdClient} +] +reqIdAdr.p_IdClient = :nPKID +si pas HExécuteRequêteSQL(reqIdAdr) alors +UneErreur:Init(ErreurApp.ErreurHFSQL,"Erreur lors de la suppression de l'enregistrement client" +,"MClient.Supprimer") +renvoyer Faux +sinon +pour tout reqIdAdr +saIdAdresse = reqIdAdr.ids +fin +fin +si saIdAdresse <> "" alors +reqSupCliAd est une Requête SQL = +[ +DELETE FROM Client_Adresse WHERE CA_IDClient = {p_IdClient} +] +reqSupCliAd.p_IdClient = :nPKID +si pas HExécuteRequêteSQL(reqSupCliAd,hVérifieIntégrité) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Erreur lors de la suppression de l'enregistrement client","MClient.Supprimer") +renvoyer Faux +sinon +reqSupAd est une Requête SQL = +[ +DELETE FROM Adresse WHERE AD_PKID IN ({p_IdAd}) +] +reqSupAd.p_IdAd = saIdAdresse +si pas HExécuteRequêteSQL(reqSupAd,hVérifieIntégrité) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Erreur lors de la suppression de l'enregistrement client","MClient.Supprimer") +renvoyer Faux +fin +fin +fin +fin +renvoyer :DateSupprime() +06/08/2026 Batik 6203 + +Partie 6 › Classe › MCompteRendu › Code +MCompteRendu +Code +Déclaration de MCompteRendu +MCompteRendu est une Classe <mapping=CompteRendu> +hérite de Base +// Le code se trouvant entre <MAPPING> et <FIN> est généré automatiquement. +// Il sera effacé et recréé entièrement à chaque génération +<mapping> +nPKID est un entier sur 8 octets <mapping=CR_PKID, clé unique> +| nIDRdv | est un entier sur 8 octets | | <mapping=CR_IDRdv> | | +| ------ | -------------------------- | --- | ------------------ | --- | +nIDIntervention est un entier sur 8 octets <mapping=CR_IDIntervention> +| saGUID | est une chaîne | | <mapping=GUID> | | +| ------ | -------------- | --- | -------------- | --- | +dhDateHeureDebut est une DateHeure <mapping=CR_DateHeureDebut> +| dhDateHeureFin | est une DateHeure | <mapping=CR_DateHeureFin> | | | +| -------------- | ----------------- | ------------------------- | --- | --- | +saNoteCollaborateur est une chaîne <mapping=CR_NoteCollaborateur> +| saNomSignataire | est une chaîne | | <mapping=CR_NomSignataire> | | +| ---------------- | -------------- | --------------------------- | -------------------------- | --- | +| saNoteSignataire | est une chaîne | <mapping=CR_NoteSignataire> | | | +dhDateHeureSignature est une DateHeure <mapping=CR_DateHeureSignature> +| bufSignature | est un Buffer | <mapping=CR_Signature> | | | +| -------------- | ----------------- | ---------------------- | --- | --- | +| dhCreationDate | est une DateHeure | <mapping=CreationDate> | | | +nCreationUser est un entier sur 8 octets <mapping=CreationUser> +| dhModifDate | est une DateHeure | <mapping=ModifDate> | | | +| ----------- | -------------------------- | ------------------- | ------------------- | --- | +| nModifUser | est un entier sur 8 octets | | <mapping=ModifUser> | | +nIDCollaborateur est un entier sur 8 octets <mapping=CR_IDCollaborateur> +| bufSignatureTech | est un Buffer | <mapping=CR_SignatureTech> | | | +| ---------------- | ------------- | -------------------------- | --- | --- | +saNomSignataireTech est une chaîne <mapping=CR_NomSignataireTech> +| bDevisConforme | est un booléen | | <mapping=CR_DevisConforme> | | +| -------------- | -------------- | ------------------------ | -------------------------- | --- | +| bAvecReserve | est un booléen | <mapping=CR_AvecReserve> | | | +saReserveCommentaire est une chaîne <mapping=CR_ReserveCommentaire> +saCleTypeSignataire est une chaîne <mapping=CR_CleTypeSignataire> +nIDTypeSignataire est un entier sur 8 octets <mapping=CR_IDTypeSignataire> +<fin> +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +si :saCleTypeSignataire <> "" _et_ gtabParametresMetierCode[cParam_TypeSignCR][:saCleTypeSignataire].. +Existe alors +:nIDTypeSignataire = gtabParametresMetierCode[cParam_TypeSignCR][:saCleTypeSignataire].nPKID +sinon +:nIDTypeSignataire = 0 +fin +| 06/08/2026 | | Batik | | 6204 | +| ---------- | --- | ----- | --- | ---- | + +Partie 6 › Classe › MCompteRendu › Code +si :DateEnregistre() alors +CreationElementModifie(:nIDIntervention, Intervention..Nom) +renvoyer Vrai +fin +renvoyer Faux +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +06/08/2026 Batik 6205 + +Partie 6 › Classe › MContact_Inter › Code +MContact_Inter +Code +Déclaration de MContact_Inter +MContact_Inter est une Classe <mapping=Intervention_Personne> +hérite de Base +// Le code se trouvant entre <MAPPING> et <FIN> est généré automatiquement. +// Il sera effacé et recréé entièrement à chaque génération +<mapping> +nPKID est un entier sur 8 octets <mapping=IP_PKID, clé unique> +nIDIntervention est un entier sur 8 octets <mapping=IP_IDIntervention> +nIDPersonne est un entier sur 8 octets <mapping=IP_IDPersonne> +| nIDClient | est un entier sur 8 octets | | <mapping=IP_IDClient> | | +| -------------- | -------------------------- | ---------------------- | ------------------------- | --- | +| nIDLieu | est un entier sur 8 octets | | <mapping=IP_IDLieu> | | +| saCleRole | est une chaîne | | <mapping=IP_CleRole> | | +| nIDImport | est un entier sur 8 octets | | <mapping=IP_IDImport> | | +| bEstDemandeur | est un booléen | | <mapping=IP_EstDemandeur> | | +| saEtage | est une chaîne | | <mapping=IP_Etage> | | +| saLot | est une chaîne | | <mapping=IP_Lot> | | +| dhCreationDate | est une DateHeure | <mapping=CreationDate> | | | +nCreationUser est un entier sur 8 octets <mapping=CreationUser> +| dhModifDate | est une DateHeure | <mapping=ModifDate> | | | +| ----------- | -------------------------- | ------------------- | ------------------- | --- | +| nModifUser | est un entier sur 8 octets | | <mapping=ModifUser> | | +| nIDRole | est un entier sur 8 octets | | <mapping=IP_IDRole> | | +<fin> +nIdLienSite est un entier sur 8 octets +oPersonne est un MPersonne_Ct +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +si :saCleRole <> "" _et_ gtabParametresMetierCode[cParam_RoleContact][:saCleRole]..Existe alors +:nIDRole = gtabParametresMetierCode[cParam_RoleContact][:saCleRole].nPKID +sinon +:nIDRole = 0 +fin +si :DateEnregistre() alors +CreationElementModifie(:nIDIntervention, Intervention..Nom) +renvoyer Vrai +fin +renvoyer Faux +Récupération de la propriété IdentifiantUnique +| 06/08/2026 | | Batik | | 6206 | +| ---------- | --- | ----- | --- | ---- | + +Partie 6 › Classe › MContact_Inter › Code +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +Méthode Supprimer +procédure Supprimer() +renvoyer :DateSupprime() +06/08/2026 Batik 6207 + +Partie 6 › Classe › MPersonne_Ct › Code +MPersonne_Ct +Code +Déclaration de MPersonne_Ct +MPersonne_Ct est une Classe <mapping=Personne> +hérite de Base +// Le code se trouvant entre <MAPPING> et <FIN> est généré automatiquement. +// Il sera effacé et recréé entièrement à chaque génération +<mapping> +nPKID est un entier sur 8 octets <mapping=PE_PKID, clé unique> +| saCleCivilite | est une chaîne | | <mapping=PE_CleCivilite> | | +| ------------- | -------------- | --- | ------------------------ | --- | +| saNom | est une chaîne | | <mapping=PE_Nom> | | +| saPrenom | est une chaîne | | <mapping=PE_Prenom> | | +| saTel2 | est une chaîne | | <mapping=PE_TelFixe> | | +| saTel1 | est une chaîne | | <mapping=PE_TelMobile> | | +| saEmail | est une chaîne | | <mapping=PE_Email> | | +| saCleRole | est une chaîne | | <mapping=PE_CleRole> | | +nIDAdressePrincipale est un entier sur 8 octets <mapping=PE_IDAdressePrincipale> +| nIDClient | est un entier sur 8 octets | | <mapping=PE_IDClient> | | +| ------------- | -------------------------- | --- | ------------------------- | --- | +| bArchive | est un booléen | | <mapping=Archive> | | +| saNote | est une chaîne | | <mapping=PE_Note> | | +| saFax | est une chaîne | | <mapping=PE_Fax> | | +| bActif | est un booléen | | <mapping=PE_Actif> | | +| bUsageInterne | est un booléen | | <mapping=PE_UsageInterne> | | +| saInfoSupp | est une chaîne | | <mapping=PE_InfoSupp> | | +| saGUID | est une chaîne | | <mapping=GUID> | | +nIDCivilite est un entier sur 8 octets <mapping=PE_IDCivilite> +| nIDRole | est un entier sur 8 octets | | <mapping=PE_IDRole> | | +| ------- | -------------------------- | --- | ------------------- | --- | +<fin> +bContactPrincipal est un booléen +bContactUtilise est un booléen +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +si :saCleCivilite <> "" _et_ gtabParametresMetierCode[cParam_Civilite][:saCleCivilite]..Existe alors +:nIDCivilite = gtabParametresMetierCode[cParam_Civilite][:saCleCivilite].nPKID +sinon +:nIDCivilite = 0 +fin +si :saCleRole <> "" _et_ gtabParametresMetierCode[cParam_Civilite][:saCleRole]..Existe alors +| 06/08/2026 | | Batik | | 6208 | +| ---------- | --- | ----- | --- | ---- | + +Partie 6 › Classe › MPersonne_Ct › Code +:nIDRole = gtabParametresMetierCode[cParam_Civilite][:saCleRole].nPKID +sinon +:nIDRole = 0 +fin +si :DateEnregistre() alors +CreationElementModifie(:nPKID, Personne..Nom) +renvoyer Vrai +fin +renvoyer Faux +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +Récupération de la propriété NomPrenom +procédure publique NomPrenom() +si :saNom <> "" alors +renvoyer SansEspace(:saNom,sscExtérieur)+" "+SansEspace(:saPrenom,sscExtérieur) +sinon +renvoyer SansEspace(:saPrenom,sscExtérieur) +fin +Affectation de la propriété NomPrenom +procédure publique NomPrenom(Valeur) +Méthode NomPrenom +procédure NomPrenom() +saValeur est une chaîne ANSI = SansEspace(:saNom,sscExtérieur) +si :saPrenom <> "" alors saValeur += [" "] + :saPrenom +renvoyer saValeur +Méthode Supprimer +procédure Supprimer() +si :nPKID <= 0 alors +renvoyer Vrai +fin +si OuiNon("Confirmez vous la suppression du contact : "+:NomPrenom()+" ?") = Non alors +renvoyer Faux +fin +saMsg est une chaîne ANSI = +"Impossible de supprimer le contact : des clients y sont rattachés." +reqClient est une Requête SQL = +[ +06/08/2026 Batik 6209 + +Partie 6 › Classe › MPersonne_Ct › Code +SELECT CL_PKID, CL_Nom +FROM Client +INNER JOIN Personne ON PE_PKID = CL_IDContactPrincipal +WHERE PE_PKID = {p_IdPersonne} +] +reqClient.p_IdPersonne = :nPKID +si HExécuteRequêteSQL(reqClient) alors +pour tout reqClient +si reqClient.cl_PKID > 0 alors +Erreur("Impossible de supprimer le contact : un client est rattaché "+reqClient.CL_Nom) +renvoyer Faux +fin +fin +fin +renvoyer :DateSupprime() +06/08/2026 Batik 6210 + +Partie 6 › Classe › MAction_Inter › Code +MAction_Inter +Code +Déclaration de MAction_Inter +MAction_Inter est une Classe <mapping=Action> +hérite de Base +<mapping> +nPKID est un entier sur 8 octets <mapping=AC_PKID, clé unique> +dDateAction est une Date <mapping=AC_DateAction> +hHeureAction est une Heure <mapping=AC_HeureAction> +nIDTypeAction est un entier sur 8 octets <mapping=AC_IDTypeAction> +nIDIntervention est un entier sur 8 octets <mapping=AC_IDIntervention> +saDescription est une chaîne ANSI <mapping=AC_Description> +bClos est un booléen <mapping=AC_Clos> +nIDQui est un entier sur 8 octets <mapping=AC_IDQui> +saIDImport est une chaîne ANSI <mapping=AC_IDImport> +saCleTypeAction est une chaîne ANSI <mapping=AC_CleTypeAction> +<fin> +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +si :saCleTypeAction <> "" _et_ gtabParametresMetierCode[cParam_TypeAction][:saCleTypeAction]..Existe +alors +:nIDTypeAction = gtabParametresMetierCode[cParam_TypeAction][:saCleTypeAction].nPKID +sinon +:nIDTypeAction = 0 +fin +renvoyer :DateEnregistre() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +06/08/2026 Batik 6211 + +Partie 6 › Classe › MAction_Inter › Code +nPKID=nValeur +Méthode Supprimer +procédure Supprimer() +si :nPKID > 0 _et_ OuiNon("Êtes-vous sûr de vouloir supprimer l’action sélectionnée ?") = Oui alors +renvoyer :DateSupprime() +fin +renvoyer Faux +06/08/2026 Batik 6212 + +Partie 6 › Classe › MEtat_Intervention › Code +MEtat_Intervention +Code +Déclaration de MEtat_Intervention +MEtat_Intervention est une Classe +oInter est une MIntervention +oSociete est une MSociete +oLieu est une MLieu +oClient est un MClient +oContactDonneur est un MContact_Inter +oContactOccupant est un MContact_Inter +tbContacts est un tableau de MContact_Inter +saContacts est une chaîne ANSI +saMsgInt est une chaîne ANSI +tbaNoteInterne est un tableau associatif de MMessageInterne +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode filtrer +procédure filtrer(nIdInter est un entier sur 8 octets) +si nIdInter <= 0 alors +renvoyer Faux +fin +req est une Requête SQL = +[ +SELECT * +FROM Intervention +LEFT JOIN Intervention_Personne ON (IP_IDIntervention = IN_PKID) +LEFT JOIN Personne ON PE_PKID = IP_IDPersonne +LEFT JOIN MessageInterne ON (MessageInterne.MI_IDIntervention = IN_PKID AND MessageInterne. +MI_IDTypeMessage = 0) +LEFT JOIN Client ON Client.CL_PKID = Intervention.IN_IDClient +LEFT JOIN Lieu ON Lieu.LI_PKID = Intervention.IN_IDLieu +LEFT JOIN Adresse ON Adresse.AD_PKID = Lieu.LI_IDAdresse +WHERE IN_PKID = {p_IdInter} +] +req.p_IdInter = nIdInter +si pas HExécuteRequêteSQL(req) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +06/08/2026 Batik 6213 + +Partie 6 › Classe › MEtat_Intervention › Code +"Erreur lors de la récupération des informations sur le rendez-vous","MEtat_Intervention.Filtrer") +sinon +bInfoBasic est un booléen = Faux +odCtc est un MContact_Inter dynamique +odMsgInt est un MMessageInterne dynamique +pour tout req +si pas bInfoBasic alors // éviter de boucler sur la même info +FichierVersMémoire(:oInter,req) +FichierVersMémoire(:oClient,req) +FichierVersMémoire(:oLieu,req) +FichierVersMémoire(:oLieu:oAdresse,req) +si req.IN_IDSociete > 0 _et_ gtabListeSocietes[req.IN_IDSociete]..Existe = Vrai alors +:oSociete = gtabListeSocietes[req.IN_IDSociete] +fin +si req.IN_IDSuiviPar > 0 _et_ gtabListeCollaborateurs[req.IN_IDSuiviPar]..Existe = Vrai +alors +:oInter:saSuiviParNomColb = gtabListeCollaborateurs[req.IN_IDSuiviPar].NomPrenom() +fin +si req.IN_CleEtat <> "" _et_ gtabParametresMetierCode[cParam_EtatInter][req.IN_CleEtat].. +Existe = Vrai alors +:oInter:saCleEtat = gtabParametresMetierCode[cParam_EtatInter][req.IN_CleEtat]. +salibelle +fin +si req.IN_CleType <> "" _et_ gtabParametresMetierCode[cParam_TypeInter][req.IN_CleType].. +Existe = Vrai alors +:oInter:saCleType = gtabParametresMetierCode[cParam_TypeInter][req.IN_CleType]. +salibelle +fin +fin +bInfoBasic = Vrai +// J’utilise des tableaux associatifs afin d’éviter les doublons de données (contact, +collaborateur) présents dans la requête. +// Cela me permet d’effectuer une seule requête. +si req.IP_CleRole = cCle_TypeRoleCtcOccupant alors +FichierVersMémoire(:oContactOccupant,req) +FichierVersMémoire(:oContactOccupant.oPersonne,req) +fin +si req.IP_IDClient > 0 _et_ req.IP_IDLieu <= 0 alors +FichierVersMémoire(:oContactDonneur,req) +FichierVersMémoire(:oContactDonneur.oPersonne,req) +// si il y a un Id lieu il est un contact site +// si il y a un Id Client c'est un donneur d'ordre +sinon si req.IP_IDPersonne <> "" _et_ TableauCherche(:tbContacts,tcLinéaire,"nPKID",req.IP_PKID +) <= 0 _et_ (req.PE_Nom <> "" ou req.PE_Prenom <> "") alors +odCtc = allouer un MContact_Inter +FichierVersMémoire(odCtc,req) +si odCtc:saCleRole <> "" _et_ gtabParametresMetierCode[cParam_RoleContact][odCtc:saCleRole +]..Existe = Vrai alors +odCtc:saCleRole = gtabParametresMetierCode[cParam_RoleContact][odCtc:saCleRole]. +salibelle +sinon +odCtc:saCleRole = "" +fin +FichierVersMémoire(odCtc:oPersonne, req) +TableauAjoute(:tbContacts,odCtc) +fin +fin +06/08/2026 Batik 6214 + +Partie 6 › Classe › MEtat_Intervention › Code +si req.MI_PKID > 0 _et_ :tbaNoteInterne[req.MI_PKID]..Existe = Faux alors +odMsgInt = allouer un MMessageInterne +FichierVersMémoire(odMsgInt,req) +:tbaNoteInterne[req.MI_PKID] = odMsgInt +fin +fin +:saContacts = "" +si tbContacts..Occurrence > 0 alors +pour tout oCtc de :tbContacts +si :saContacts <> "" alors +:saContacts += RC +fin +:saContacts += oCtc.oPersonne.NomPrenom +si SansEspace(oCtc.oPersonne.saTel2) <> "" alors +:saContacts += " Tel : "+oCtc.oPersonne.saTel2 + " / " +fin +si SansEspace(oCtc.oPersonne.saTel1) <> "" alors +:saContacts += " Tel : "+oCtc.oPersonne.saTel1 + " / " +fin +si oCtc.saCleRole <> "" alors +:saContacts +=oCtc.saCleRole +fin +si SansEspace(oCtc.saEtage) <> "" alors +:saContacts += " Étage " + oCtc.saEtage +fin +si SansEspace(oCtc.saLot) <> "" alors +:saContacts += " Lot " + oCtc.saLot +fin +fin +fin +:saMsgInt = "" +pour tout oMsg de :tbaNoteInterne +si :saMsgInt <> "" alors +:saMsgInt += RC +fin +si oMsg.saMessage <> "" alors +:saMsgInt += oMsg.saMessage +fin +fin +06/08/2026 Batik 6215 + +Partie 6 › Classe › MMessageInterne › Code +MMessageInterne +Code +Déclaration de MMessageInterne +MMessageInterne est une Classe <mapping=MessageInterne> +hérite de Base +// Le code se trouvant entre <MAPPING> et <FIN> est généré automatiquement. +// Il sera effacé et recréé entièrement à chaque génération +<mapping> +nPKID est un entier sur 8 octets <mapping=MI_PKID, clé unique> +nIDTypeMessage est un entier sur 8 octets <mapping=MI_IDTypeMessage> +saMessage est une chaîne <mapping=MI_Message> +nIDIntervention est un entier sur 8 octets <mapping=MI_IDIntervention> +dhCreationDate est une DateHeure <mapping=CreationDate> +nCreationUser est un entier sur 8 octets <mapping=CreationUser> +saGUID est une chaîne <mapping=GUID> +<fin> +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +si :DateEnregistre() alors +CreationElementModifie(:nIDIntervention, Intervention..Nom) +renvoyer Vrai +fin +renvoyer Faux +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +Méthode Supprimer +procédure Supprimer() +06/08/2026 Batik 6216 + +Partie 6 › Classe › MMessageInterne › Code +renvoyer :DateSupprime() +| 06/08/2026 | Batik | 6217 | +| ---------- | ----- | ---- | + +Partie 6 › Classe › MMessage_Externe › Code +MMessage_Externe +Code +Déclaration de MMessage_Externe +MMessage_Externe est une Classe<mapping=MessageExterne> +hérite de Base +<mapping> +nPKID est un entier sur 8 octets <mapping=ME_PKID, clé unique> +nIDIntervention est un entier sur 8 octets <mapping=ME_IDIntervention> +| saAdrExp | est une chaîne ANSI | <mapping=ME_AdrExp> | | | +| ---------- | ------------------- | -------------------- | ---------------------- | --- | +| saObjet | est une chaîne ANSI | | <mapping=ME_Objet> | | +| bEnvoyer | est un booléen | <mapping=ME_Envoyer> | | | +| bBrouillon | est un booléen | | <mapping=ME_Brouillon> | | +saAdrDestinataires est une chaîne <mapping=ME_AdrDestinataires> +| saMessage | est une chaîne | | <mapping=ME_Message> | | +| -------------- | ------------------- | -------------------- | ------------------------- | --- | +| bPJ | est un booléen | | <mapping=ME_PJ> | | +| saListePJ | est une chaîne ANSI | | <mapping=ME_PieceJointes> | | +| saListePJIds | est une chaîne ANSI | <mapping=ME_IDDocPJ> | | | +| saAdrCC | est une chaîne | | <mapping=ME_AdrCC> | | +| saAdrCCI | est une chaîne | <mapping=ME_AdrCCI> | | | +| dhCreationDate | est une DateHeure | | <mapping=CreationDate> | | +nCreationUser est un entier sur 8 octets <mapping=CreationUser> +<fin> +tbaPj est un tableau associatif de MDocument +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +si :DateEnregistre() alors +CreationElementModifie(:nIDIntervention, Intervention..Nom) +renvoyer Vrai +fin +renvoyer Faux +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +| 06/08/2026 | | Batik | | 6218 | +| ---------- | --- | ----- | --- | ---- | + +Partie 6 › Classe › MMessage_Externe › Code +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +Méthode Supprimer +procédure Supprimer() +renvoyer :DateSupprime() +06/08/2026 Batik 6219 + +Partie 6 › Classe › MRDV › Code +MRDV +Code +Déclaration de MRDV +MRDV est une Classe <mapping=Planning_RDV> +hérite de Base +<mapping> +nPKID est un entier sur 8 octets <mapping=PL_PKID, clé unique> +nIDGroupe est un entier sur 8 octets <mapping=PL_IDGroupe> +| bGrouper | est un booléen | | <mapping=PL_Grouper> | | +| -------- | -------------- | --- | -------------------- | --- | +nIDSociete est un entier sur 8 octets <mapping=PL_IDSociete> +nIDEquipe est un entier sur 8 octets <mapping=PL_IDEquipe> +nIDCollaborateur est un entier sur 8 octets <mapping=PL_IDCollaborateur> +nIDDossier est un entier sur 8 octets <mapping=PL_IDDossier> +nIDIntervention est un entier sur 8 octets <mapping=PL_IDIntervention> +saCleType est une chaîne <mapping=PL_CleType> +saCleStatut est une chaîne <mapping=PL_CleStatut> +saObjet est une chaîne <mapping=PL_Objet> +saGUID est une chaîne <mapping=GUID> +saDescription est une chaîne <mapping=PL_Description> +| dhDateDebut | est une DateHeure | | <mapping=PL_DateDebut> | | +| ----------- | ----------------- | --- | ---------------------- | --- | +| dhDateFin | est une DateHeure | | <mapping=PL_DateFin> | | +bSuperposable est un booléen <mapping=PL_Superposable> +bPrive est un booléen <mapping=PL_Prive> +| bArchive | est un booléen | | <mapping=Archive> | | +| --------------- | ----------------- | --- | ----------------------- | --- | +| dhDateArchivage | est une DateHeure | | <mapping=DateArchivage> | | +saIDImport est une chaîne <mapping=PL_IDImport> +nIDPersonne est un entier sur 8 octets <mapping=PL_IDPersonne> +nIDLieu est un entier sur 8 octets <mapping=PL_IDLieu> +| bTempsValide | est un booléen | | <mapping=PL_TempsValide> | | +| ------------ | ----------------- | --- | ------------------------ | --- | +| dhDateExport | est une DateHeure | | <mapping=PL_DateExport> | | +| bSAV | est un booléen | | <mapping=PL_SAV> | | +nIdGroupeDate est un entier sur 8 octets <mapping=PL_IdGroupeDate> +bCR est un booléen <mapping=PL_CR> +| saNoteCollab | est une chaîne | | <mapping=PL_NoteCollab> | | +| ---------------- | -------------- | --- | --------------------------- | --- | +| saCleOrigineAnnu | est une chaîne | | <mapping=PL_CleOrigineAnnu> | | +saCleMotifAnnu est une chaîne <mapping=PL_CleMotifAnnu> +bRappelSMS est un booléen <mapping=PL_RappelSMS> +nIDTypeActivite est un entier sur 8 octets <mapping=PL_IDTypeActivite> +nIDStatut est un entier sur 8 octets <mapping=PL_IDStatut> +nIDMotifAnnul est un entier sans signe sur 8 octets <mapping=PL_IDMotifAnnul> +nIDOrigineAnnul est un entier sans signe sur 8 octets <mapping=PL_IDOrigineAnnul> +<fin> +tbListeColb est un tableau d'entiers sur 8 octets +tbListeContacts est un tableau de MPersonne_Ct +saNoteTousColbs est une chaîne ANSI +fin +Constructeur +procédure Constructeur() +Destructeur +| 06/08/2026 | | Batik | | 6220 | +| ---------- | --- | ----- | --- | ---- | + +Partie 6 › Classe › MRDV › Code +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +si :saCleType <> "" _et_ gtabParametresMetierCode[cParam_TypeRDV][:saCleType]..Existe alors +:nIDTypeActivite = gtabParametresMetierCode[cParam_TypeRDV][:saCleType].nPKID +sinon +:nIDTypeActivite = 0 +fin +si :saCleStatut <> "" _et_ gtabParametresMetierCode[cParam_StatusRDV][:saCleStatut]..Existe alors +:nIDStatut = gtabParametresMetierCode[cParam_StatusRDV][:saCleStatut].nPKID +sinon +:nIDStatut = 0 +fin +si :saCleOrigineAnnu <> "" _et_ gtabParametresMetierCode[cParam_OrigAnnuRDV][:saCleOrigineAnnu]..Existe +alors +:nIDOrigineAnnul = gtabParametresMetierCode[cParam_OrigAnnuRDV][:saCleOrigineAnnu].nPKID +sinon +:nIDOrigineAnnul = 0 +fin +si :saCleMotifAnnu <> "" _et_ gtabParametresMetierCode[cParam_MotifAnnuRDV][:saCleMotifAnnu]..Existe +alors +:nIDMotifAnnul = gtabParametresMetierCode[cParam_MotifAnnuRDV][:saCleMotifAnnu].nPKID +sinon +:nIDMotifAnnul = 0 +fin +renvoyer :DateEnregistre() +Méthode EstIdentique +procédure EstIdentique(oRdv est un MRDV) +si :nIDSociete <> oRdv.nIDSociete alors renvoyer Faux +si :nIDDossier <> oRdv.nIDDossier alors renvoyer Faux +si :nIDIntervention <> oRdv.nIDIntervention alors renvoyer Faux +si :saCleType <> oRdv.saCleType alors renvoyer Faux +si :saCleStatut <> oRdv.saCleStatut alors renvoyer Faux +si :saObjet <> oRdv.saObjet alors renvoyer Faux +si :saDescription <> oRdv.saDescription alors renvoyer Faux +si :dhDateDebut <> oRdv.dhDateDebut alors renvoyer Faux +si :dhDateFin <> oRdv.dhDateFin alors renvoyer Faux +si :bSuperposable <> oRdv.bSuperposable alors renvoyer Faux +si :bPrive <> oRdv.bPrive alors renvoyer Faux +si :nIDLieu <> oRdv.nIDLieu alors renvoyer Faux +si :bSAV <> oRdv.bsav alors renvoyer Faux +si :bCR <> oRdv.bcr alors renvoyer Faux +si :saNoteCollab <> oRdv.saNoteCollab alors renvoyer Faux +si :bRappelSMS <> oRdv.bRappelSMS alors renvoyer Faux +si :tbListeColb..Occurrence <> oRdv.tbListeColb..Occurrence alors renvoyer Faux +si :tbListeContacts..Occurrence <> oRdv.tbListeContacts..Occurrence alors renvoyer Faux +pour tout nIdColb de :tbListeColb +si TableauCherche(oRdv.tbListeColb,tcLinéaire,nIdColb) <= 0 alors +renvoyer Faux +fin +fin +06/08/2026 Batik 6221 + +Partie 6 › Classe › MRDV › Code +n est un entier +pour tout oCtc de :tbListeContacts +n = TableauCherche(oRdv.tbListeContacts,tcLinéaire,"nPKID",oCtc:nPKID) +si n <= 0 alors // non trouve +renvoyer Faux +sinon si oRdv:tbListeContacts[n].bContactUtilise <> oCtc:bContactUtilise alors +renvoyer Faux +fin +fin +renvoyer Vrai +Méthode FiltreColb +procédure FiltreColb() +:saNoteTousColbs = "" +TableauSupprimeTout(:tbListeColb) +si :nIDGroupe > 0 alors +reqColb est une Requête SQL = +[ +SELECT CO_PKID, PL_NoteCollab FROM Collaborateur +INNER JOIN Planning_RDV ON PL_IDCollaborateur = CO_PKID +WHERE PL_IDGroupe = {p_IdGroupe} AND Planning_RDV.Archive = 0 +] +reqColb.p_IdGroupe = :nIDGroupe +si pas HExécuteRequêteSQL(reqColb) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue lors de la récupération des informations de votre rendez-vous", +"MRDV.FiltreColb") +sinon +pour tout reqColb +TableauAjoute(:tbListeColb,reqColb.CO_PKID) +si gtabListeCollaborateurs[reqColb.co_pkid]..Existe _et_ reqColb.PL_NoteCollab <> "" alors +:saNoteTousColbs += gtabListeCollaborateurs[reqColb.CO_PKID].NomPrenom()+" : " + +reqColb.PL_NoteCollab+[RC] +fin +fin +fin +sinon +si :nIDCollaborateur > 0 alors +TableauAjoute(:tbListeColb,:nIDCollaborateur) +si gtabListeCollaborateurs[:nIDCollaborateur]..Existe _et_ :saNoteCollab <> "" alors +:saNoteTousColbs += gtabListeCollaborateurs[:nIDCollaborateur].NomPrenom()+" : " +:saNoteTousColbs += :saNoteCollab +fin +fin +fin +Méthode FiltrerContacts +procédure FiltrerContacts() +TableauSupprimeTout(:tbListeContacts) +odPers est un MPersonne_Ct dynamique +reqCtc est une Requête SQL = +[ +SELECT Personne.*, PRP_PKID +FROM Personne +06/08/2026 Batik 6222 + +Partie 6 › Classe › MRDV › Code +LEFT JOIN Intervention_Personne ON (Intervention_Personne.IP_IDPersonne=Personne.PE_PKID) +LEFT JOIN Planning_RDV_Personne ON PRP_IDPersonne = PE_PKID AND PRP_IDRdv = {p_IdRdv} +WHERE Intervention_Personne.IP_IDIntervention={p_IdIntervention} +AND Intervention_Personne.IP_IDLieu={p_IdLieu} +] +reqCtc.p_IdRdv = :nPKID +reqCtc.p_IdIntervention = :nIDIntervention +reqCtc.p_IdLieu = :nIDLieu +si pas HExécuteRequêteSQL(reqCtc) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue lors de la récupération des informations de votre rendez-vous", +"MRDV.FiltrerContacts") +sinon +pour tout reqCtc +odPers = allouer un MPersonne_Ct +si reqCtc.PRP_PKID > 0 alors +odPers.bContactUtilise = Vrai +fin +FichierVersMémoire(odPers,reqCtc) +TableauAjoute(:tbListeContacts,odPers) +fin +fin +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +06/08/2026 Batik 6223 + +Partie 6 › Classe › MDocument › Code +MDocument +Code +Déclaration de MDocument +MDocument est une Classe <mapping=Document> +hérite de Base +// Le code se trouvant entre <MAPPING> et <FIN> est généré automatiquement. +// Il sera effacé et recréé entièrement à chaque génération +<mapping> +nPKID est un entier sur 8 octets <mapping=DC_PKID, clé unique> +nIDIntervention est un entier sur 8 octets <mapping=DC_IDIntervention> +| saNom | est une chaîne | | <mapping=DC_Nom> | | +| -------------- | -------------- | ------------------------ | ------------------------- | --- | +| saCommentaire | est une chaîne | | <mapping=DC_Commentaire> | | +| saCleCategorie | est une chaîne | | <mapping=DC_CleCategorie> | | +| dDateFichier | est une Date | <mapping=DC_DateFichier> | | | +nIDMessageExterne est un entier sur 8 octets <mapping=DC_IDMessageExterne> +| saGUID | est une chaîne | | <mapping=GUID> | | +| ------------ | -------------------------- | --- | ----------------------- | --- | +| saCleEtatDoc | est une chaîne | | <mapping=DC_CleEtatDoc> | | +| saChemin | est une chaîne ANSI | | <mapping=DC_Chemin> | | +| nCategorie | est un entier sur 8 octets | | <mapping=DC_Categorie> | | +nIDEtatDocument est un entier sur 8 octets <mapping=DC_IDEtatDocument> +| nCreePar | est un entier sur 8 octets | | <mapping=CreationUser> | | +| ------------- | -------------------------- | ------------------- | ---------------------- | --- | +| nModifierPar | est un entier sur 8 octets | | <mapping=ModifUser> | | +| dhCreeLe | est une DateHeure | | <mapping=CreationDate> | | +| dhModifieLe | est une DateHeure | <mapping=ModifDate> | | | +<fin> +saCheminComplet est une chaîne ANSI +tbaNotes est un tableau associatif de MDocNote +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +si :saCleCategorie <> "" _et_ gtabParametresMetierCode[cParam_TypeDoc][:saCleCategorie]..Existe alors +:nCategorie = gtabParametresMetierCode[cParam_TypeDoc][:saCleCategorie].nPKID +sinon +:nCategorie = 0 +fin +| 06/08/2026 | | Batik | | 6224 | +| ---------- | --- | ----- | --- | ---- | + +Partie 6 › Classe › MDocument › Code +si :saCleEtatDoc <> "" _et_ gtabParametresMetierCode[cParam_EtatDoc][:saCleEtatDoc]..Existe alors +:nIDEtatDocument = gtabParametresMetierCode[cParam_EtatDoc][:saCleEtatDoc].nPKID +sinon +:nIDEtatDocument = 0 +fin +bEnrg est un booléen = Faux +si :nPKID <= 0 alors bEnrg = Vrai +// Uniquement si création de document car les documents sont enregistré systématiquement si le chemin +est trouvé +si :DateEnregistre() alors +si bEnrg alors +CreationElementModifie(:nIDIntervention, Intervention..Nom) +fin +renvoyer Vrai +fin +renvoyer Faux +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +Méthode Supprimer +procédure Supprimer() +si OuiNon("Êtes-vous sûr de vouloir supprimer définitivement le document "+:saNom+" ?") = Oui alors +si :saChemin <> "" alors +si :saCheminComplet <> "" _et_ pas fFichierExiste(:saCheminComplet) alors +:saCheminComplet = "" +fin +si :saCheminComplet = "" alors +:saCheminComplet = ComplèteRep(gtbaParametresAppli[cParam_CheminRepDocInter].saValeur+: +saChemin)+:saNom +fin +si :saCheminComplet <> "" _et_ fFichierExiste(:saCheminComplet) alors +si fSupprime(:saCheminComplet,frVersCorbeille) alors +renvoyer :DateSupprime() +sinon +UneErreur:Init(ErreurApp.ErreurProgramme,"Erreur lors de la suppression d'un fichier"+ +RC+ErreurInfo(errMessage),"MDocument.Supprimer") +fin +sinon +renvoyer :DateSupprime() +fin +sinon +renvoyer :DateSupprime() +fin +sinon +renvoyer Faux +fin +renvoyer Faux +06/08/2026 Batik 6225 + +Partie 6 › Classe › MLieu › Code +MLieu +Code +Déclaration de MLieu +MLieu est une Classe <mapping=Lieu> +hérite de Base +// Le code se trouvant entre <MAPPING> et <FIN> est généré automatiquement. +// Il sera effacé et recréé entièrement à chaque génération +<mapping> +nPKID est un entier sur 8 octets <mapping=LI_PKID, clé unique> +| saCodeLieu | est une chaîne | | <mapping=LI_CodeLieu> | | +| --------------- | -------------------------- | ----------------------- | ----------------------- | --- | +| nIDAdresse | est un entier sur 8 octets | | <mapping=LI_IDAdresse> | | +| saCleType | est une chaîne | | <mapping=LI_CleType> | | +| saCodeAcces | est une chaîne | | <mapping=LI_CodeAcces> | | +| bBadge | est un booléen | | <mapping=LI_Badge> | | +| bInterphone | est un booléen | | <mapping=LI_Interphone> | | +| saNote | est une chaîne | | <mapping=LI_Note> | | +| bArchive | est un booléen | <mapping=Archive> | | | +| dhDateArchivage | est une DateHeure | <mapping=DateArchivage> | | | +nIDClientPrincipal est un entier sur 8 octets <mapping=LI_IDClientPrincipal> +| bBlocage | est un booléen | <mapping=LI_Blocage> | | | +| --------------- | -------------------------- | -------------------- | -------------------------- | --- | +| saRaisonBlocage | est une chaîne | | <mapping=LI_RaisonBlocage> | | +| saGUID | est une chaîne | | <mapping=GUID> | | +| nIDType | est un entier sur 8 octets | | <mapping=LI_IDType> | | +<fin> +oAdresse est un MAdresse +bLieuPrincipal est un booléen +saEtage est une chaîne ANSI +saLot est une chaîne ANSI +nIdLiesonCtc est un entier sur 8 octets +saCleRoleLien est une chaîne ANSI +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +si :saCleType <> "" _et_ gtabParametresMetierCode[cparam_TypeLieu][:saCleType]..Existe alors +:nIDType= gtabParametresMetierCode[cparam_TypeLieu][:saCleType].nPKID +sinon +:nIDType = 0 +fin +si :DateEnregistre() alors +| 06/08/2026 | | Batik | | 6226 | +| ---------- | --- | ----- | --- | ---- | + +Partie 6 › Classe › MLieu › Code +CreationElementModifie(:nPKID, Lieu..Nom) +renvoyer Vrai +fin +renvoyer Faux +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +Méthode Supprimer +procédure Supprimer() +//# reste a verifier envoi vers batigest +si :nPKID <= 0 alors +renvoyer Vrai +fin +//On cherche si il y a des interventions avec ce lieu +nNbInterest un entier +reqInterest une Requête SQL = +[ +SELECT COUNT(*) AS nombre_Inter +FROM Intervention +WHERE IN_IDLieu = {p_IdLieu} +] +reqInter.p_IdLieu = :nPKID +si pas HExécuteRequêteSQL(reqInter) alors +UneErreur:Init(ErreurApp.ErreurHFSQL,"Erreur lors de la suppression de l'enregistrement site", +"MSite.Supprimer") +renvoyer Faux +sinon +pour tout reqInter +nNbInter = reqInter.nombre_Inter +fin +fin +si nNbInter > 0 alors +Erreur("Le site ne peut pas être supprimé, il est utilisé dans "+nNbInter+" interventions") +renvoyer Faux +fin +//On cherche si il y a des rdv avec ce lieu +nNbRdv est un entier +reqRdv est une Requête SQL = +[ +SELECT COUNT(*) AS nombre_RDV +FROM Planning_RDV +WHERE PL_IDLieu = {p_IdLieu} AND Planning_RDV.Archive = 0 +] +reqRdv.p_IdLieu = :nPKID +si pas HExécuteRequêteSQL(reqRdv) alors +UneErreur:Init(ErreurApp.ErreurHFSQL,"Erreur lors de la suppression de l'enregistrement site", +06/08/2026 Batik 6227 + +Partie 6 › Classe › MLieu › Code +"MSite.Supprimer") +renvoyer Faux +sinon +pour tout reqRdv +nNbRdv = reqRdv.nombre_RDV +fin +fin +si nNbRdv > 0 alors +Erreur("Le site ne peut pas être supprimé, il est utilisé dans "+nNbRdv+" rendez-vous") +renvoyer Faux +fin +// Contacts +reqSupPers est une Requête SQL = +[ +DELETE FROM Lieu_Personne WHERE Lieu_Personne.LIP_IDLieu = {p_IdLieu} +] +reqSupPers.p_IdLieu = :nPKID +si pas HExécuteRequêteSQL(reqSupPers,hVérifieIntégrité) alors +UneErreur:Init(ErreurApp.ErreurHFSQL,"Erreur lors de la suppression de l'enregistrement site", +"Msite.Supprimer") +renvoyer Faux +fin +// Client +reqSupClient est une Requête SQL = +[ +DELETE FROM Client_Lieu WHERE Client_Lieu.CLI_IDLieu = {p_IdLieu} +] +reqSupClient.p_IdLieu = :nPKID +si pas HExécuteRequêteSQL(reqSupClient,hVérifieIntégrité) alors +UneErreur:Init(ErreurApp.ErreurHFSQL,"Erreur lors de la suppression de l'enregistrement site", +"Msite.Supprimer") +renvoyer Faux +fin +si :DateSupprime() alors +// Si on supprime le site il faut aussi supprimer les adresse liés +si :nIDAdresse > 0 alors +reqSupAd est une Requête SQL = +[ +DELETE FROM Adresse WHERE Adresse.AD_PKID = {p_IdAdr} +] +reqSupAd.p_IdAdr = :nIDAdresse +si pas HExécuteRequêteSQL(reqSupAd,hVérifieIntégrité) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Erreur lors de la suppression de l'enregistrement site","Msite.Supprimer") +renvoyer Faux +fin +fin +sinon +renvoyer Faux +fin +renvoyer Vrai +06/08/2026 Batik 6228 + +Partie 6 › Classe › MAdresse › Code +MAdresse +Code +Déclaration de MAdresse +MAdresse est une Classe <mapping=Adresse> +hérite de Base +// Le code se trouvant entre <MAPPING> et <FIN> est généré automatiquement. +// Il sera effacé et recréé entièrement à chaque génération +<mapping> +nPKID est un entier sur 8 octets <mapping=AD_PKID, clé unique> +| saEtiquette | est une chaîne | <mapping=AD_Etiquette> | | +| -------------- | -------------- | ------------------------- | --- | +| saLigne_1 | est une chaîne | <mapping=AD_Ligne_4> | | +| saLigne_2 | est une chaîne | <mapping=AD_Ligne_5> | | +| saLigne_3 | est une chaîne | <mapping=AD_Ligne_2> | | +| saLigne_4 | est une chaîne | <mapping=AD_Ligne_3> | | +| saLigne_5 | est une chaîne | <mapping=AD_Ligne_1> | | +| saCodePostal | est une chaîne | <mapping=AD_CodePostal> | | +| saVille | est une chaîne | <mapping=AD_Ville> | | +| saPresentation | est une chaîne | <mapping=AD_Presentation> | | +| saAdresse | est une chaîne | <mapping=AD_Adresse> | | +| saGUID | est une chaîne | <mapping=GUID> | | +<fin> +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +si :saAdresse..Taille > 38 alors +:saLigne_1 = :saAdresse +sinon +:saLigne_1 = :saAdresse[1 à 38] +si :saAdresse..Taille < 76 alors +:saLigne_2 = :saAdresse[39 à ] +sinon +:saLigne_2 = :saAdresse[39 à 76] +si :saAdresse..Taille < 114 alors +:saLigne_3 = :saAdresse[77 à ] +sinon +:saLigne_3 = :saAdresse[77 à 114] +si :saAdresse..Taille < 152 alors +:saLigne_4 = :saAdresse[115 à ] +sinon +:saLigne_4 = :saAdresse[115 à 152] +si :saAdresse..Taille >= 153 alors +| 06/08/2026 | | Batik | 6229 | +| ---------- | --- | ----- | ---- | + +Partie 6 › Classe › MAdresse › Code +:saLigne_5 = :saAdresse[153 à ] +fin +fin +fin +fin +fin +:saPresentation = :saAdresse +si :saCodePostal <> "" alors :saPresentation+=[RC]+:saCodePostal +si :saVille <> "" alors :saPresentation+=[RC]+:saVille +renvoyer :DateEnregistre() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +Méthode Supprimer +procédure Supprimer() +renvoyer :DateSupprime() +06/08/2026 Batik 6230 + +Partie 6 › Classe › MSuiviTemps › Code +MSuiviTemps +Code +Déclaration de MSuiviTemps +MSuiviTemps est une Classe<mapping=SuiviDesTemps> +hérite de Base +<mapping> +nPKID est un entier sur 8 octets <mapping=SDT_PKID, clé unique> +dhDateDebut est une DateHeure <mapping=SDT_DateDebut> +dhDateFin est une DateHeure <mapping=SDT_DateHeureFin> +nIDIntervention est un entier sur 8 octets <mapping=SDT_IDIntervention> +nIDCollaborateur est un entier sur 8 octets <mapping=SDT_IDCollaborateur> +nNbMinutes est un entier <mapping=SDT_NbMinutes> +nIDRdv est un entier sur 8 octets <mapping=SDT_IDRdv> +rPonderation est un réel sur 4 octets <mapping=SDT_Ponderation> +bControle est un booléen <mapping=SDT_Controle> +nIDGroupe est un entier sur 8 octets <mapping=SDT_IDGroupe> +saCleType est une chaîne <mapping=SDT_CleType> +saCleTypeRDV est une chaîne ANSI <mapping=SDT_CleTypeRDV> +saNoteColb est une chaîne ANSI <mapping=SDT_NoteColb> +saNoteAdmin est une chaîne ANSI <mapping=SDT_NoteAdmin> +nIDTypeRdv est un entier sur 8 octets <mapping=SDT_IDTypeRdv> +nIDTypeTemps est un entier sur 8 octets <mapping=SDT_IDTypeTemps> +saLibelle est une chaîne ANSI <mapping=SDT_Libelle> +saGUID_RDV est une chaîne ANSI <mapping=SDT_GUID_Rdv_Colb> +<fin> +bTempsReduit est un booléen +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +si :saCleType <> "" _et_ gtabParametresMetierCode[cparam_TypeTemps][:saCleType]..Existe alors +:nIDTypeTemps = gtabParametresMetierCode[cparam_TypeTemps][:saCleType].nPKID +sinon +:nIDTypeTemps = 0 +fin +06/08/2026 Batik 6231 + +Partie 6 › Classe › MSuiviTemps › Code +si :saCleTypeRDV <> "" _et_ gtabParametresMetierCode[cParam_TypeRDV][:saCleTypeRDV]..Existe alors +:nIDTypeRdv = gtabParametresMetierCode[cParam_TypeRDV][:saCleTypeRDV].nPKID +sinon +:nIDTypeRdv = 0 +fin +:saLibelle = :saNoteColb +renvoyer :DateEnregistre() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +06/08/2026 Batik 6232 + +Partie 6 › Classe › MContact_Site › Code +MContact_Site +Code +Déclaration de MContact_Site +MContact_Site est une Classe <mapping=Lieu_Personne> +hérite de Base +<mapping> +nPKID est un entier sur 8 octets <mapping=LIP_PKID, clé unique> +nIDPersonne est un entier sur 8 octets <mapping=LIP_IDPersonne> +| nIDLieu | est un entier sur 8 octets | | <mapping=LIP_IDLieu> | | +| ----------- | -------------------------- | --- | ------------------------------ | --- | +| saCleRole | est une chaîne ANSI | | <mapping=LIP_CleRole> | | +| saCleType | est une chaîne ANSI | | <mapping=LIP_CleType> | | +| saEtage | est une chaîne | | <mapping=LIP_Etage> | | +| saLot | est une chaîne | | <mapping=LIP_Lot> | | +| saEtiquette | est une chaîne | | <mapping=LIP_EtiquetteAdresse> | | +| bActif | est un booléen | | <mapping=LIP_Actif> | | +nIDTypeLieu est un entier sur 8 octets <mapping=LIP_IDTypeLieuPersonne> +| nIDRole | est un entier sur 8 octets | | <mapping=LIP_IDRole> | | +| ------- | -------------------------- | --- | -------------------- | --- | +<fin> +oPersonne est un MPersonne_Ct +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +si :saCleRole <> "" _et_ gtabParametresMetierCode[cParam_RoleContact][:saCleRole]..Existe alors +:nIDRole = gtabParametresMetierCode[cParam_RoleContact][:saCleRole].nPKID +sinon +:nIDRole = 0 +fin +si :saCleType <> "" _et_ gtabParametresMetierCode[cparam_TypeLieu][:saCleType]..Existe alors +:nIDTypeLieu = gtabParametresMetierCode[cparam_TypeLieu][:saCleType].nPKID +sinon +:nIDTypeLieu = 0 +fin +si :DateEnregistre() alors +CreationElementModifie(:nIDLieu, Intervention..Nom) +renvoyer Vrai +fin +renvoyer Faux +Récupération de la propriété IdentifiantUnique +| 06/08/2026 | | Batik | | 6233 | +| ---------- | --- | ----- | --- | ---- | + +Partie 6 › Classe › MContact_Site › Code +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +Méthode Supprimer +procédure Supprimer() +renvoyer :DateSupprime() +06/08/2026 Batik 6234 + +Partie 6 › Classe › MEquipe › Code +MEquipe +Code +Déclaration de MEquipe +MEquipe est une Classe<mapping=Equipe> +hérite de Base +<mapping> +nPKID est un entier sur 8 octets <mapping=EQ_PKID, clé unique> +saNom est une chaîne ANSI <mapping=EQ_Nom> +nIDSociete est un entier sur 8 octets <mapping=EQ_IDSociete> +<fin> +tbaCollaborateurs est un tableau associatif de MCollaborateur +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +renvoyer :DateEnregistre() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +Méthode Supprimer +procédure Supprimer() +si :nPKID <= 0 alors +renvoyer Vrai +fin +06/08/2026 Batik 6235 + +Partie 6 › Classe › MEquipe › Code +si OuiNon("Confirmez vous la suppression de l'équipe : "+:saNom+" ?") = Non alors +renvoyer Faux +fin +reqSup est une Requête SQL = +[ +DELETE FROM Equipe_Collaborateur WHERE Equipe_Collaborateur.EC_IDEquipe = {p_id} +] +reqSup.p_id = :nPKID +si HExécuteRequêteSQL(reqSup,hVérifieDoublon+hVérifieIntégrité) _et_ :DateSupprime() alors +renvoyer Vrai +fin +renvoyer Faux +06/08/2026 Batik 6236 + +Partie 6 › Classe › MRole › Code +MRole +Code +Déclaration de MRole +MRole est une Classe<mapping=Role> +hérite de Base +<mapping> +nPKID est un entier sur 8 octets <mapping=R_PKID, clé unique> +saLibelle est une chaîne ANSI <mapping=R_Libelle> +saAncienCode est une chaîne ANSI <mapping=R_AncienCode> +<fin> +tbaAcces est un tableau associatif de MAcces +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +saCode est une chaîne ANSI +saValeur est une chaîne ANSI +si :nPKID <= 0 alors +/*************** A supprimer ******************/ +reqAncienParam est une Requête SQL = +[ +SELECT PA_PKID +FROM ParametreMetier p +JOIN ( +SELECT MAX(PA_Valeur) AS max_valeur +FROM ParametreMetier +WHERE PA_Code = '19' +) AS max_p +ON p.PA_Valeur = max_valeur AND p.PA_Code = '19' +] +si HExécuteRequêteSQL(reqAncienParam) alors +06/08/2026 Batik 6237 + +Partie 6 › Classe › MRole › Code +pour tout reqAncienParam +si reqAncienParam.PA_PKID > 0 _et_ gtabParametresMetierId[reqAncienParam.PA_PKID]..Existe +alors +saCode = gtabParametresMetierId[reqAncienParam.PA_PKID].saCode +saValeur= gtabParametresMetierId[reqAncienParam.PA_PKID].saValeur +n est un entier = Val(saValeur[saValeur..Taille]) +si n<= 0 alors +saValeur += 1 +sinon +n+= 1 +saValeur = saValeur[1 à (saValeur..Taille-1)] + n +fin +fin +fin +fin +si saValeur <> "" _et_ saCode <> "" alors +HRAZ(ParametreMetier) +ParametreMetier.PA_Code = saCode +ParametreMetier.PA_Valeur = saValeur +ParametreMetier.PA_Libelle = :saLibelle +ParametreMetier.PA_LibelleCourt = "" +ParametreMetier.PA_Ordre = 0 +ParametreMetier.PA_Actif = Vrai +ParametreMetier.PA_Parametre = "" +ParametreMetier.PA_Systeme = Faux +si pas HAjoute(ParametreMetier) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue lors de la création du nouveau paramètre métier") +renvoyer Faux +fin +fin +:saAncienCode = saValeur +/**********************************************************/ +fin +renvoyer :DateEnregistre() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +Méthode Supprimer +procédure Supprimer() +si :nPKID <= 0 alors +renvoyer Vrai +fin +si OuiNon("Confirmez vous la suppression du rôle : "+:saLibelle+" ?") = Non alors +renvoyer Faux +fin +reqColb est une Requête SQL = +06/08/2026 Batik 6238 + +Partie 6 › Classe › MRole › Code +[ +SELECT COUNT(*) AS nombre_Colb FROM Utilisateur +INNER JOIN Collaborateur ON Utilisateur.UT_IDCollaborateur = CO_PKID +WHERE UT_IdRole = {p_IdRole} AND Collaborateur.CO_Actif = 1 +] +reqColb.p_IdRole = :nPKID +si HExécuteRequêteSQL(reqColb) alors +pour tout reqColb +si reqColb.nombre_Colb > 0 alors +si OuiNon("Il existe ("+reqColb.nombre_Colb+ +") collaborateur(s) avec ce rôle, voulez-vous continuer ?") = Non alors +renvoyer Faux +fin +fin +fin +fin +reqModif est une Requête SQL = +[ +UPDATE Utilisateur SET UT_IdRole = 0 WHERE UT_IdRole = {p_IdRole} +] +reqModif.p_IdRole = :nPKID +si pas HExécuteRequêteSQL(reqModif) alors +LogEcrit("Erreur HFSQL "+HErreurInfo(errComplet),eErreur) +fin +reqAcces est une Requête SQL = +[ +DELETE FROM AccesEtDroit WHERE AccesEtDroit.AED_IdRole = {p_IdRole} +] +reqAcces.p_IdRole = :nPKID +si pas HExécuteRequêteSQL(reqAcces) alors +LogEcrit("Erreur HFSQL "+HErreurInfo(errComplet),eErreur) +fin +renvoyer :DateSupprime() +06/08/2026 Batik 6239 + +Partie 6 › Classe › MCategorieAcces › Code +MCategorieAcces +Code +Déclaration de MCategorieAcces +MCategorieAcces est une Classe<mapping=CategorieAcces> +hérite de Base +<mapping> +nPKID est un entier sur 8 octets <mapping=CAC_PKID, clé unique> +| saLibelle | est une chaîne ANSI | | <mapping=CAC_Libelle> | | +| ------------ | ------------------- | --- | ------------------------ | --- | +| saAncienCode | est une chaîne ANSI | | <mapping=CAC_AncienCode> | | +nOrdre est un entier sans signe sur 2 octets <mapping=CAC_Ordre> +| saCle | est une chaîne ANSI | | <mapping=CAC_Cle> | | +| ------------- | ------------------- | --- | ------------------------- | --- | +| bMobile | est un booléen | | <mapping=CAC_Mobile> | | +| saDescription | est une chaîne ANSI | | <mapping=CAC_Description> | | +<fin> +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +| 06/08/2026 | | Batik | | 6240 | +| ---------- | --- | ----- | --- | ---- | + +Partie 6 › Classe › MAcces › Code +MAcces +Code +Déclaration de MAcces +MAcces est une Classe<mapping=AccesEtDroit> +hérite de Base +<mapping> +nPKID est un entier sur 8 octets <mapping=AED_PKID, clé +unique> +nIdRole est un entier sans signe sur 8 octets <mapping=AED_IdRole> +saCleAcces est une chaîne ANSI <mapping=AED_CleAcces> +bAcces est un booléen <mapping=AED_Acces> +/******* A Supprimer ******/ +nIdProfil est un entier sur 8 octets <mapping=AED_IDProfil> +nIdModule est un entier sur 8 octets <mapping=AED_IDModule> +<fin> +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +renvoyer :DateEnregistre() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +06/08/2026 Batik 6241 + +Partie 6 › Classe › MAdresseClient › Code +MAdresseClient +Code +Déclaration de MAdresseClient +MAdresseClient est une Classe<mapping=Client_Adresse> +hérite de Base +// Le code se trouvant entre <MAPPING> et <FIN> est généré automatiquement. +// Il sera effacé et recréé entièrement à chaque génération +<mapping> +nPKID est un entier sur 8 octets <mapping=CA_PKID, clé unique> +| saCleType | est une chaîne | <mapping=CA_CleType> | | +| ---------- | -------------------------- | ------------------------ | --- | +| nIdAdresse | est un entier sur 8 octets | <mapping=CA_IDAdresse> | | +| nIdClient | est un entier sur 8 octets | <mapping=CA_IDClient> | | +| bPrincipal | est un booléen | <mapping=CA_Principale> | | +| bFact | est un booléen | <mapping=CA_Facturation> | | +| bLivraison | est un booléen | <mapping=CA_Livraison> | | +nIdType est un entier sur 8 octets <mapping=CA_IDTypeAdresse> +<fin> +| oAdresse | est un MAdresse | | | +| --------- | --------------- | --- | --- | +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +si :saCleType <> "" _et_ gtabParametresMetierCode[cparam_TypeAdresse][:saCleType]..Existe alors +:nIdType = gtabParametresMetierCode[cparam_TypeAdresse][:saCleType].nPKID +sinon +:nIdType = 0 +fin +renvoyer :DateEnregistre() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +| 06/08/2026 | | Batik | 6242 | +| ---------- | --- | ----- | ---- | + +Partie 6 › Classe › MAdresseClient › Code +nPKID=nValeur +Méthode Supprimer +procédure Supprimer() +renvoyer :DateSupprime() +06/08/2026 Batik 6243 + +Partie 6 › Classe › MParametreAppli › Code +MParametreAppli +Code +Déclaration de MParametreAppli +MParametreAppli est une Classe<mapping=ParametreApplication> +hérite de Base +<mapping> +nPKID est un entier sur 8 octets <mapping=PAP_PKID, clé unique> +saCode est une chaîne <mapping=PAP_Code> +saValeur est une chaîne <mapping=PAP_Valeur> +saDescription est une chaîne <mapping=PAP_Description> +<fin> +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +renvoyer :DateEnregistre() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +06/08/2026 Batik 6244 + +Partie 6 › Classe › MRubriqueDoc › Code +MRubriqueDoc +Code +Déclaration de MRubriqueDoc +MRubriqueDoc est une Classe<mapping=RubriquesDocument> +hérite de Base +<mapping> +| nPKID | est un entier sur 8 octets | | <mapping=RD_PKID, clé | | +| ----- | -------------------------- | --- | ---------------------- | --- | +unique> +| saNom | est une chaîne ANSI | | <mapping=RD_Nom> | | +| -------------- | ------------------- | --- | ------------------------- | --- | +| saDescription | est une chaîne ANSI | | <mapping=RD_Description> | | +| saRubrique | est une chaîne ANSI | | <mapping=RD_Rubrique> | | +| saTypeMembre | est une chaîne ANSI | | <mapping=RD_TypeMembre> | | +| saMasqueSaisie | est une chaîne ANSI | | <mapping=RD_MasqueSaisie> | | +| bEnvoiMob | est un booléen | | <mapping=RD_EnvoiMob> | | +| bBD | est un booléen | | <mapping=RD_BD> | | +| bModifiable | est un booléen | | <mapping=RD_Modifiable> | | +| saGroupe | est une chaîne ANSI | | <mapping=RD_Groupe> | | +| saMembreMob | est une chaîne ANSI | | <mapping=RD_MembreMob> | | +nIdRubParent est un entier sur 8 octets <mapping=RD_IdRubParent> +| nOrdre | est un entier | | <mapping=RD_Ordre> | | +| ------ | -------------- | --- | ------------------ | --- | +<fin> +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +renvoyer :DateEnregistre() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +| 06/08/2026 | | Batik | | 6245 | +| ---------- | --- | ----- | --- | ---- | + +Partie 6 › Classe › MRubriqueDoc › Code +nPKID=nValeur +| 06/08/2026 | Batik | 6246 | +| ---------- | ----- | ---- | + +Partie 6 › Classe › MModeleRapport › Code +MModeleRapport +Code +Déclaration de MModeleRapport +MModeleRapport est une Classe<mapping=ModeleRapport> +hérite de Base +<mapping> +| nPKID | est un entier sur 8 octets | | <mapping=MRP_PKID, clé | | +| ----- | -------------------------- | --- | ----------------------- | --- | +unique> +| saNom | est une chaîne ANSI | | <mapping=MRP_Nom> | | +| ----------- | ------------------- | --- | ---------------------- | --- | +| bufModele | est un Buffer | | <mapping=MRP_Modele> | | +| saExtraJson | est une chaîne ANSI | | <mapping=MRP_Extra> | | +| bMobile | est un booléen | | <mapping=MRP_EnvoiMob> | | +<fin> +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +renvoyer :DateEnregistre() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +| 06/08/2026 | | Batik | | 6247 | +| ---------- | --- | ----- | --- | ---- | + +Partie 6 › Classe › MModeleMail › Code +MModeleMail +Code +Déclaration de MModeleMail +MModeleMail est une Classe<mapping=MailModele> +hérite de Base +<mapping> +| nPKID | est un entier sur 8 octets | | <mapping=MM_PKID, clé | | +| ----- | -------------------------- | --- | ---------------------- | --- | +unique> +| saNom | est une chaîne ANSI | | <mapping=MM_Nom> | | +| ----------- | ------------------- | --- | --------------------- | --- | +| saSujet | est une chaîne ANSI | | <mapping=MM_Sujet> | | +| bufModele | est un Buffer | | <mapping=MM_MsgDoc> | | +| saExtraJson | est une chaîne ANSI | | <mapping=MM_Extra> | | +| bMobile | est un booléen | | <mapping=MM_EnvoiMob> | | +<fin> +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +renvoyer :DateEnregistre() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +| 06/08/2026 | | Batik | | 6248 | +| ---------- | --- | ----- | --- | ---- | + +Partie 6 › Classe › cPressePapier › Code +cPressePapier +Code +Déclaration de cPressePapier +cPressePapier est une Classe +ppOuvert est un booléen=Faux +fin +constant +USER32 = "user32.dll" +KERNEL32="kernel32.dll" +CF_DSPBITMAP = 0x82 +CF_DSPENHMETAFILE = 0x8E +CF_DSPMETAFILEPICT = 0x83 +CF_PRIVATEFIRST=0x200 +CF_PRIVATELAST= 0x2FF +CF_GDIOBJFIRST=0x300 +CF_GDIOBJLAST=0x3FF +fin +Méthode ChargeBuffer +procédure privé ChargeBuffer(TailleFormat est un entier système,DataHandle est un entier système,F est +un Buffer) +F=Complète("x",EntierSystèmeVersEntier(TailleFormat),"x")//Suite bug on force le type de tailleformat +vers entier standard +API(::KERNEL32,"RtlMoveMemory",&F,(DataHandle) ,(TailleFormat)) +Constructeur +procédure Constructeur() +Méthode Contenu +procédure Contenu(NumFormat est un entier système) +S est une chaîne +si :OuvrePressePapier() alors +sNomFormat est une chaîne +TailleFormat est un entier système +DataHandle est un entier système +selon NumFormat +cas CF_TEXT,CF_OEMTEXT +DataHandle=API(::USER32, "GetClipboardData", NumFormat) +si DataHandle<>Null alors +S=ChaîneRécupère(DataHandle,crAdresseASCIIZ) +fin +06/08/2026 Batik 6249 + +Partie 6 › Classe › cPressePapier › Code +:FermerPressePapier() +renvoyer S +cas CF_UNICODETEXT +DataHandle=API(::USER32, "GetClipboardData", NumFormat) +si DataHandle<>Null alors +S=ChaîneRécupère(DataHandle,crAdresseUnicode) +fin +:FermerPressePapier() +renvoyer S +cas 15 //HDROP +S=:ListeFichiers (CR) +:FermerPressePapier() +renvoyer S +cas ::CF_PRIVATEFIRST à ::CF_PRIVATELAST +:FermerPressePapier() +renvoyer S +autre cas +//Détermination de la taille des données +DataHandle=API(::USER32, "GetClipboardData", NumFormat) +TailleFormat= API(::KERNEL32, "GlobalSize", DataHandle) +F est un Buffer +sNomFormat=:NomFormat(NumFormat) +selon sNomFormat +cas "FileContents" +:ChargeBuffer(TailleFormat,DataHandle,F) +:FermerPressePapier() +renvoyer F +// Fpdf est un entier +// Fpdf=fCrée("C:\Temp\Test.pdf") +// fEcrit(Fpdf,F) +// fFerme(Fpdf) +// F="" +// LanceAppliAssociée("C:\Temp\Test.pdf") +cas "FileGroupDescriptor" +//Cette structure est à taille variable +// 4 octets + N x 332 octets +//On calcul le nb de FILEDESCRIPTOR +Nb,I sont des entier +Nb=(TailleFormat-4)/332 +:ChargeBuffer(TailleFormat,DataHandle,F) +pour I=1 à Nb +S+=[RC]+ Remplace( F[[3+(332*(I-1)) à (332*I)]],Caract(0),"") +fin +:FermerPressePapier() +renvoyer S +autre cas +si Gauche(sNomFormat,4)="text" alors +DataHandle=API(::USER32, "GetClipboardData", NumFormat) +si DataHandle<>Null alors +S=ChaîneRécupère(DataHandle,crAdresseUnicode) +fin +fin +:FermerPressePapier() +06/08/2026 Batik 6250 + +Partie 6 › Classe › cPressePapier › Code +renvoyer S +fin +fin +fin +renvoyer S +Méthode ContenuParNomFormat +procédure ContenuParNomFormat(Nom) +Numero est un entier système +//Recherche du numéro en fonction du Nom +S est une chaîne +pour toute chaîne S de :ListeFormatTaille() séparée par RC +si PositionOccurrence(S,Nom,1)>0 alors +Numero= Val( ExtraitChaîne(S,1,TAB) ) +fin +fin +si Numero>0 alors +renvoyer :Contenu(Numero) +sinon +renvoyer "" +fin +Destructeur +procédure Destructeur() +Méthode FermerPressePapier +procédure privée FermerPressePapier() +si :ppOuvert alors +API("user32","CloseClipboard") +fin +:ppOuvert=Faux +Méthode ListeFichiers +procédure privée ListeFichiers(Separateur est une chaîne=RC) +lstFichier est une chaîne +sR est une chaîne sur 3000 +HandleDonnees est un entier système = API("user32","GetClipboardData",15) //15 CF_HDROP +si HandleDonnees <> 0 alors +iTaille est un entier +NbFichiers est un entier = API("shell32","DragQueryFile",HandleDonnees,-1,Null,0) +I est un entier +//tabTemp est un tableau dynamique +pour I = 0 _à_ NbFichiers-1 +iTaille = API("shell32","DragQueryFile",HandleDonnees,I,0,0) +iTaille = iTaille + 1 +sR="" +sR=Complète(sR,iTaille) +API("shell32","DragQueryFile",HandleDonnees,I,&sR,iTaille) +lstFichier+=[Separateur]+sR +fin +fin +renvoyer lstFichier +Méthode ListeFormat +06/08/2026 Batik 6251 + +Partie 6 › Classe › cPressePapier › Code +procédure ListeFormat( Separateur est une chaîne=RC) +S est une chaîne +si :OuvrePressePapier() alors +NumFormat est un entier système +//HandleDonnee est un entier système +NumFormat=API(::USER32, "EnumClipboardFormats", 0) +tantque NumFormat<>0 // Prototype de la fonction : UINT WINAPI EnumClipboardFormats( UINT format); +//Lecture du nom du format +S+=[Separateur] + :NomFormat(NumFormat) +NumFormat=API(::USER32, "EnumClipboardFormats", NumFormat) +fin +:FermerPressePapier() +fin +renvoyer S +Méthode ListeFormatTaille +procédure ListeFormatTaille() +S est une chaîne +si :OuvrePressePapier() alors +NumFormat est un entier système +sNomFormat est une chaîne +HandleDonnee est un entier système +TailleDonnee est un entier système +NumFormat=API(::USER32, "EnumClipboardFormats", 0) +tantque NumFormat<>0 // Prototype de la fonction : UINT WINAPI EnumClipboardFormats( UINT format); +//Lecture du nom du format +sNomFormat = :NomFormat(NumFormat) +//Détermination de la taille des données +HandleDonnee=API(::USER32, "GetClipboardData", NumFormat) +TailleDonnee= API(::KERNEL32, "GlobalSize", HandleDonnee) +S+=[RC] + NumFormat + TAB + sNomFormat + TAB + TailleDonnee +NumFormat=API(::USER32, "EnumClipboardFormats", NumFormat) +fin +:FermerPressePapier() +fin +renvoyer S +Méthode NomFormat +procédure NomFormat(NumFormat est un entier système) +selon NumFormat +cas 1 +renvoyer "CF_TEXT" +cas 2 +renvoyer "CF_BITMAP" +cas 3 +renvoyer "CF_METAFILEPICT" +cas 4 +renvoyer "CF_SYLK" +06/08/2026 Batik 6252 + +Partie 6 › Classe › cPressePapier › Code +cas 5 +renvoyer "CF_DIF" +cas 6 +renvoyer "CF_TIFF" +cas 7 +renvoyer "CF_OEMTEXT" +cas 8 +renvoyer "CF_DIB" +cas 9 +renvoyer "CF_PALETTE" +cas 10 +renvoyer "CF_PENDATA" +cas 11 +renvoyer "CF_RIFF" +cas 12 +renvoyer "CF_WAVE" +cas 13 +renvoyer "CF_UNICODETEXT" +cas 14 +renvoyer "CF_ENHMETAFILE" +cas 15 +renvoyer "CF_HDROP" +cas 16 +renvoyer "CF_LOCALE" +cas 0x80 +renvoyer "CF_OWNERDISPLAY" +cas 0x82 +renvoyer "CF_DSPBITMAP" +cas 0x8E +renvoyer "CF_DSPENHMETAFILE" +cas 0x83 +renvoyer "CF_DSPMETAFILEPICT" +cas 0x81 +renvoyer "CF_DSPTEXT" +cas 0x300 à 0x3FF +renvoyer "CF_GDIOBJ " + NumFormat +cas 0x200 à 0x2FF +renvoyer "CF_PRIVATE" + NumFormat +autre cas +// Prototype de la fonction : int WINAPI GetClipboardFormatNameA( UINT format, LPSTR +lpszFormatName, int cchMaxCount) +//renvoie la longueur de la chaine retour pointée par lpszFormatName , 0 si pas de réponse +N est un entier=256 +//Pour fonctionner , il faut initialiser la chaine retour avec des caractères quelconques +// et passer en paramètre l'adresse de cette chaine +S est une chaîne +S=Complète("x",N-1,"x") +si API(::USER32, "GetClipboardFormatNameA", NumFormat, &S, N)=0 alors +renvoyer "Inconnu" +sinon +renvoyer ExtraitChaîne( S,1,Caract(0)) +fin +fin +Méthode OuvrePressePapier +06/08/2026 Batik 6253 + +Partie 6 › Classe › cPressePapier › Code +procédure privée OuvrePressePapier() +si pas :ppOuvert alors +:ppOuvert=API("user32","OpenClipboard",Null) <> 0 +fin +renvoyer :ppOuvert +Méthode Vide +procédure Vide() +API(::USER32, "EmptyClipboard") +06/08/2026 Batik 6254 + +Partie 6 › Classe › MDocNote › Code +MDocNote +Code +Déclaration de MDocNote +MDocNote est une Classe <mapping=DocumentNote> +hérite de Base +// Le code se trouvant entre <MAPPING> et <FIN> est généré automatiquement. +// Il sera effacé et recréé entièrement à chaque génération +<mapping> +nPKID est un entier sur 8 octets <mapping=DN_PKID, clé unique> +nIDDoc est un entier sur 8 octets <mapping=DN_IDDocument> +saNote est une chaîne <mapping=DN_Note> +<fin> +nCreePar est un entier sur 8 octets +dhCreeLe est une DateHeure +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +renvoyer :DateEnregistre() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +Méthode Supprimer +procédure Supprimer() +renvoyer :DateSupprime() +06/08/2026 Batik 6255 + +Partie 6 › Classe › MElementModifie › Code +MElementModifie +Code +Déclaration de MElementModifie +MElementModifie est une Classe <mapping=ElementModifie> +hérite de Base +<mapping> +nPKID est un entier sur 8 octets <mapping=EM_PKID, clé unique> +dDate est une DateHeure <mapping=EM_Date> +saFichier est une chaîne ANSI <mapping=EM_Fichier> +nIDEnrg est un entier sur 8 octets <mapping=EM_IdEnrg> +nIDUser est un entier sur 8 octets <mapping=EM_IdUser> +<fin> +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +renvoyer :DateEnregistre() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +Méthode Supprimer +procédure Supprimer() +renvoyer :DateSupprime() +06/08/2026 Batik 6256 + +Partie 6 › Classe › MRDV_Planning › Code +MRDV_Planning +Code +Déclaration de MRDV_Planning +MRDV_Planning est une Classe<mapping=RDV_Planning> +hérite de Base +<mapping> +nPKID est un entier sur 8 octets <mapping=RV_PKID, clé unique> +| saGUID | est une chaîne | | <mapping=GUID> | | +| ---------- | -------------------------- | --- | ---------------------- | --- | +| nIDSociete | est un entier sur 8 octets | | <mapping=RV_IdSociete> | | +| nIDDossier | est un entier sur 8 octets | | <mapping=RV_IdDossier> | | +nIDIntervention est un entier sur 8 octets <mapping=RV_IdInter> +| saCleType | est une chaîne | | <mapping=RV_CleType> | | +| ---------------- | -------------------------- | --- | --------------------------- | --- | +| saCleStatut | est une chaîne | | <mapping=RV_CleStatut> | | +| saObjet | est une chaîne | | <mapping=RV_Objet> | | +| saDescription | est une chaîne | | <mapping=RV_Description> | | +| nIDLieu | est un entier sur 8 octets | | <mapping=RV_IdLieu> | | +| bSAV | est un booléen | | <mapping=RV_SAV> | | +| saCleOrigineAnnu | est une chaîne | | <mapping=RV_CleOrigineAnnu> | | +| saCleMotifAnnu | est une chaîne | | <mapping=RV_CleMotifAnnu> | | +| bRappelSMS | est un booléen | | <mapping=RV_RappelSMS> | | +| bArchive | est un booléen | | <mapping=Archive> | | +| dhCreation | est une DateHeure | | <mapping=CreationDate> | | +| dhModification | est une DateHeure | | <mapping=ModifDate> | | +nCreationUser est un entier sur 8 octets <mapping=CreationUser> +| nModifUser | est un entier sur 8 octets | | <mapping=ModifUser> | | +| ---------------- | --------------------------- | --- | --------------------------- | --- | +| bGroupe | est un booléen | | <mapping=RV_Groupe> | | +| bPlusieursJours | est un booléen | | <mapping=RV_PlusieursJours> | | +| dDateRdv | est une Date | | <mapping=RV_Date> | | +<fin> +| tbaColbs | est un tableau associatif de MRDV_Colb | | | | +| ------------ | ----------------------------------------- | --- | --- | --- | +| tbaContacts | est un tableau associatif de MRDV_Contact | | | | +| nNbCr | est un entier | | | | +| dhDateDeb | est une DateHeure | | | | +| dhDateFin | est une DateHeure | | | | +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +| 06/08/2026 | | Batik | | 6257 | +| ---------- | --- | ----- | --- | ---- | + +Partie 6 › Classe › MRDV_Planning › Code +si :DateEnregistre() alors +CreationElementModifie(:nPKID, RDV_Planning..Nom) +renvoyer Vrai +sinon +renvoyer Faux +fin +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +06/08/2026 Batik 6258 + +Partie 6 › Classe › MRDV_Colb › Code +MRDV_Colb +Code +Déclaration de MRDV_Colb +MRDV_Colb est une Classe<mapping=RDV_Collaborateur> +hérite de Base +<mapping> +nPKID est un entier sur 8 octets <mapping=RVC_PKID, clé unique> +| saGUID | est une chaîne | | <mapping=GUID> | | +| -------------- | ------------------- | --- | -------------------------- | --- | +| saGUID_RDV | est une chaîne ANSI | | <mapping=RVC_GUID_RDV> | | +| saGUID_Colb | est une chaîne ANSI | | <mapping=RVC_GUID_Colb> | | +| dhDateDeb | est une DateHeure | | <mapping=RVC_DateDeb> | | +| dhDateFin | est une DateHeure | | <mapping=RVC_DateFin> | | +| saCleStatut | est une chaîne | | <mapping=RVC_CleStatut> | | +| bResponsable | est un booléen | | <mapping=RVC_Responsable> | | +| bTempsValide | est un booléen | | <mapping=RVC_TempsValide> | | +| dhDateExport | est une DateHeure | | <mapping=RVC_DateExport> | | +| bCR | est un booléen | | <mapping=RVC_CR> | | +| bSuperposable | est un booléen | | <mapping=RVC_Superposable> | | +| bArchive | est un booléen | | <mapping=Archive> | | +<fin> +| oColb | est un MCollaborateur | | | | +| ------ | --------------------- | --- | --- | --- | +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +renvoyer :DateEnregistre() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +| 06/08/2026 | | Batik | | 6259 | +| ---------- | --- | ----- | --- | ---- | + +Partie 6 › Classe › MRDV_Contact › Code +MRDV_Contact +Code +Déclaration de MRDV_Contact +MRDV_Contact est une Classe<mapping=RDV_Contact> +hérite de Base +<mapping> +nPKID est un entier sur 8 octets <mapping=RVCT_PKID, clé unique> +| saGUID | est une chaîne ANSI | | <mapping=GUID> | | +| ----------- | ------------------- | --- | ------------------------ | --- | +| saGUID_RDV | est une chaîne ANSI | | <mapping=RVCT_GUID_RDV> | | +| saGUID_Pers | est une chaîne ANSI | | <mapping=RVCT_GUID_Pers> | | +<fin> +| oPersonne | est un MPersonne_Ct | | | | +| ---------- | ------------------- | --- | --- | --- | +| saEtage | est une chaîne | | | | +| saLot | est une chaîne | | | | +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +renvoyer :DateEnregistre() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +| 06/08/2026 | | Batik | | 6260 | +| ---------- | --- | ----- | --- | ---- | + +Partie 6 › Classe › MEtat_Deplacement › Code +MEtat_Deplacement +Code +Déclaration de MEtat_Deplacement +MEtat_Deplacement est une Classe +oRdv est une MRDV_Planning +oInter est une MIntervention +oSociete est une MSociete +oLieu est une MLieu +oClient est un MClient +oContactDonneur est un MPersonne_Ct +oContactOccupant est un MPersonne_Ct +dhDateDebut est une DateHeure +dhDateFin est une DateHeure +saDateText est une chaîne ANSI +tbRdvColb est un tableau de MRDV_Colb +tbRdvCtc est un tableau de MRDV_Contact +saIntervenants est une chaîne ANSI +saContacts est une chaîne ANSI +saMsgInt est une chaîne ANSI +tbaNoteInterne est un tableau associatif de MMessageInterne +fin +Constructeur +procédure Constructeur() +dhDateDebut = Null +dhDateFin = Null +Destructeur +procédure Destructeur() +Méthode Filtrer +procédure Filtrer(nIdRdv est un entier sur 8 octets, local dDateDeb est une Date) +si nIdRdv <= 0 alors +renvoyer Faux +fin +reqRdv est une Requête SQL = +[ +SELECT * +FROM RDV_Planning +LEFT JOIN RDV_Contact ON RDV_Contact.RVCT_GUID_RDV = RDV_Planning.GUID +LEFT JOIN Personne ON Personne.GUID = RDV_Contact.RVCT_GUID_Pers +LEFT JOIN Intervention ON Intervention.IN_PKID = RDV_Planning.RV_IdInter +LEFT JOIN Intervention_Personne ON (IP_IDPersonne = PE_PKID AND IP_IDIntervention = IN_PKID) +LEFT JOIN MessageInterne ON (MessageInterne.MI_IDIntervention = RDV_Planning.RV_IdInter AND +MessageInterne.MI_IDTypeMessage = 0) +LEFT JOIN Client ON Client.CL_PKID = Intervention.IN_IDClient +LEFT JOIN Lieu ON Lieu.LI_PKID = COALESCE(Intervention.IN_IDLieu, RDV_Planning.RV_IdLieu) +06/08/2026 Batik 6261 + +Partie 6 › Classe › MEtat_Deplacement › Code +LEFT JOIN Adresse ON Adresse.AD_PKID = Lieu.LI_IDAdresse +LEFT JOIN RDV_Collaborateur ON (RDV_Collaborateur.RVC_GUID_RDV = RDV_Planning.GUID +AND LEFT(RDV_Collaborateur.RVC_DateDeb, 8) = {p_DateRDV}) +WHERE RDV_Planning.RV_PKID = {p_IdRdv} +] +reqRdv.p_IdRdv = nIdRdv +reqRdv.p_DateRDV = dDateDeb +si pas HExécuteRequêteSQL(reqRdv) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Erreur lors de la récupération des informations sur le rendez-vous","MEtat_Deplacement.Filtrer") +sinon +bInfoBasic est un booléen = Faux +odRdvColb est un MRDV_Colb dynamique +odRdvCtc est un MRDV_Contact dynamique +odMsgInt est un MMessageInterne dynamique +pour tout reqRdv +si pas bInfoBasic alors // éviter de boucler sur la même info +FichierVersMémoire(:oInter,reqRdv) +FichierVersMémoire(:oClient,reqRdv) +FichierVersMémoire(:oLieu,reqRdv) +FichierVersMémoire(:oLieu:oAdresse,reqRdv) +FichierVersMémoire(:oRdv,reqRdv) +si reqRdv.IN_IDSociete > 0 _et_ gtabListeSocietes[reqRdv.IN_IDSociete]..Existe = Vrai +alors +:oSociete = gtabListeSocietes[reqRdv.IN_IDSociete] +fin +si reqRdv.IN_IDSuiviPar > 0 _et_ gtabListeCollaborateurs[reqRdv.IN_IDSuiviPar]..Existe = +Vrai alors +:oInter:saSuiviParNomColb = gtabListeCollaborateurs[reqRdv.IN_IDSuiviPar].NomPrenom() +fin +si reqRdv.IN_CleEtat <> "" _et_ gtabParametresMetierCode[cParam_EtatInter][reqRdv. +IN_CleEtat]..Existe = Vrai alors +:oInter:saCleEtat = gtabParametresMetierCode[cParam_EtatInter][reqRdv.IN_CleEtat]. +salibelle +fin +si reqRdv.IN_CleType <> "" _et_ gtabParametresMetierCode[cParam_TypeInter][reqRdv. +IN_CleType]..Existe = Vrai alors +:oInter:saCleType = gtabParametresMetierCode[cParam_TypeInter][reqRdv.IN_CleType]. +salibelle +fin +fin +bInfoBasic = Vrai +// J’utilise des tableaux associatifs afin d’éviter les doublons de données (contact, +collaborateur) présents dans la requête. +// Cela me permet d’effectuer une seule requête. +si reqRdv.RVC_GUID_Colb <> "" _et_ :oRdv:tbaColbs[reqRdv.RVC_GUID_Colb]..Existe = Faux _et_ +gtabListeCollaborateurs[reqRdv.RVC_GUID_Colb]..Existe = Vrai alors +odRdvColb = allouer un MRDV_Colb +FichierVersMémoire(odRdvColb,reqRdv) +odRdvColb:oColb = gtabListeCollaborateurs[reqRdv.RVC_GUID_Colb] +:oRdv:tbaColbs[reqRdv.RVC_GUID_Colb] = odRdvColb +fin +si reqRdv.RVCT_GUID_Pers <> "" _et_ :oRdv:tbaContacts[reqRdv.RVCT_GUID_Pers]..Existe = Faux +_et_ (reqRdv.pe_nom <> "" ou reqRdv.PE_Prenom <> "") alors +odRdvCtc = allouer un MRDV_Contact +FichierVersMémoire(odRdvCtc,reqRdv) +06/08/2026 Batik 6262 + +Partie 6 › Classe › MEtat_Deplacement › Code +FichierVersMémoire(odRdvCtc:oPersonne, reqRdv) +odRdvCtc:saEtage = reqRdv.IP_Etage +odRdvCtc:saLot = reqRdv.IP_lot +si reqRdv.IP_CleRole <> "" _et_ gtabParametresMetierCode[cParam_RoleContact][reqRdv. +IP_CleRole]..Existe = Vrai alors +odRdvCtc.oPersonne.saCleRole =gtabParametresMetierCode[cParam_RoleContact][reqRdv. +IP_CleRole].salibelle +sinon +odRdvCtc.oPersonne.saCleRole = "" +fin +:oRdv:tbaContacts[reqRdv.RVCT_GUID_Pers] = odRdvCtc +fin +si reqRdv.mi_pkid > 0 _et_ :tbaNoteInterne[reqRdv.MI_PKID]..Existe = Faux alors +odMsgInt = allouer un MMessageInterne +FichierVersMémoire(odMsgInt,reqRdv) +:tbaNoteInterne[reqRdv.MI_PKID] = odMsgInt +fin +fin +fin +si :oInter:nPKID > 0 alors +reqDonneurs est une Requête SQL = +[ +SELECT * +FROM Intervention_Personne +INNER JOIN Personne ON Personne.PE_PKID = Intervention_Personne.IP_IDPersonne +WHERE Intervention_Personne.IP_IDIntervention = {p_IdInter} +] +reqDonneurs.p_IdInter = :oInter.nPKID +si pas HExécuteRequêteSQL(reqDonneurs) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Erreur lors de la récupération des informations sur le rendez-vous", +"MEtat_Deplacement.Filtrer") +sinon +pour tout reqDonneurs +si reqDonneurs.IP_CleRole = cCle_TypeRoleCtcOccupant alors +FichierVersMémoire(:oContactOccupant,reqDonneurs) +fin +si reqDonneurs.IP_IDClient > 0 _et_ reqDonneurs.IP_IDLieu <= 0 _et_ reqDonneurs.IP_CleRole += "" alors +FichierVersMémoire(:oContactDonneur,reqDonneurs) +// si il y a un Id lieu il est un contact site +// si il y a un Id Client c'est un donneur d'ordre +fin +fin +fin +fin +b est un entier +si oRdv:tbaColbs..Occurrence > 0 alors +TableauTrie(oRdv:tbaColbs,ttMembre,"dhDateDeb") +pour tout oRdvC de oRdv:tbaColbs +b += 1 +si b = 1 alors +:dhDateDebut = oRdvC.dhDateDeb +fin +si b = oRdv:tbaColbs..Occurrence alors +:dhDateFin = oRdvC.dhDateFin +06/08/2026 Batik 6263 + +Partie 6 › Classe › MEtat_Deplacement › Code +fin +TableauAjoute(:tbRdvColb,oRdvC) +si b > 1 alors +saIntervenants += RC +fin +:saIntervenants += oRdvC:oColb:NomPrenomComplet +fin +fin +:saContacts = "" +si oRdv:tbaContacts..Occurrence > 0 alors +pour tout oRdvCtc de oRdv:tbaContacts +TableauAjoute(:tbRdvCtc,oRdvCtc) +si :saContacts <> "" alors +:saContacts += RC +fin +:saContacts += oRdvCtc.oPersonne.NomPrenom +si SansEspace(oRdvCtc.oPersonne.saTel2) <> "" alors +:saContacts += " Tel : "+oRdvCtc.oPersonne.saTel2 + " / " +fin +si SansEspace(oRdvCtc.oPersonne.saTel1) <> "" alors +:saContacts += " Tel : "+oRdvCtc.oPersonne.saTel1 + " / " +fin +si oRdvCtc.oPersonne.saCleRole <> "" alors +:saContacts += " "+oRdvCtc.oPersonne.saCleRole +fin +si SansEspace(oRdvCtc.saEtage) <> "" alors +:saContacts += " Étage " + oRdvCtc.saEtage +fin +si SansEspace(oRdvCtc.saLot) <> "" alors +:saContacts += " Lot " + oRdvCtc.saLot +fin +fin +fin +si :dhDateDebut <> Null _et_ :dhDateFin <> Null alors +saDateText = DateVersChaîne(:dhDateDebut,"JJ/MM/AAAA HH:mm") + " - " + DateVersChaîne(:dhDateFin, +"HH:mm") +fin +:saMsgInt = "" +pour tout oMsg de :tbaNoteInterne +si :saMsgInt <> "" alors +:saMsgInt += RC +fin +si oMsg.saMessage <> "" alors +:saMsgInt += oMsg.saMessage +fin +fin +06/08/2026 Batik 6264 + +Partie 6 › Classe › MEtatIntervention › Code +MEtatIntervention +Code +Déclaration de MEtatIntervention +MEtatIntervention est une Classe <mapping=EtatIntervention> +hérite de Base +// Le code se trouvant entre <MAPPING> et <FIN> est généré automatiquement. +// Il sera effacé et recréé entièrement à chaque génération +<mapping> +nPKID est un entier sur 8 octets <mapping=EI_PKID, clé unique> +saCleEtat est une chaîne <mapping=EI_CleEtat> +dhDateDebut est une DateHeure <mapping=EI_DateDebut> +dhDateFin est une DateHeure <mapping=EI_DateFin> +saDescription est une chaîne <mapping=EI_Description> +nIDIntervention est un entier sur 8 octets <mapping=EI_IDIntervention> +nIDEtat est un entier sur 8 octets <mapping=EI_IDEtat> +<fin> +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +si :saCleEtat <> "" _et_ gtabParametresMetierCode[cParam_EtatInter][:saCleEtat]..Existe alors +:nIDEtat = gtabParametresMetierCode[cParam_EtatInter][:saCleEtat].nPKID +sinon +:nIDEtat = 0 +fin +renvoyer :DateEnregistre() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +Méthode Supprimer +06/08/2026 Batik 6265 + +Partie 6 › Classe › MEtatIntervention › Code +procédure Supprimer() +si :nPKID > 0 _et_ OuiNon("Êtes-vous sûr de vouloir supprimer l'historique d’état sélectionnée ?") = +Oui alors +renvoyer :DateSupprime() +fin +renvoyer Faux +06/08/2026 Batik 6266 + +Partie 6 › Classe › MEtats › Code +MEtats +Code +Déclaration de MEtats +MEtats est une Classe<mapping=Etats> +hérite de Base +| nPKID | est un entier sur 8 octets | | <mapping=ETA_PKID, clé | | +| ----- | -------------------------- | --- | ----------------------- | --- | +unique> +| saGroupe | est une chaîne ANSI | | <mapping=ETA_Groupe> | | +| --------- | ------------------- | --- | --------------------- | --- | +| saLibelle | est une chaîne ANSI | | <mapping=ETA_Libelle> | | +| nOrdre | est un entier | | <mapping=ETA_Ordre> | | +| saValeur | est une chaîne ANSI | | <mapping=ETA_Valeur> | | +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +renvoyer :DateEnregistre() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +| 06/08/2026 | | Batik | | 6267 | +| ---------- | --- | ----- | --- | ---- | + +Partie 6 › Classe › MDocAide › Code +MDocAide +Code +Déclaration de MDocAide +MDocAide est une Classe<mapping=Doc_Aide> +hérite de Base +<mapping> +| nPKID | est un entier sur 8 octets | | <mapping=DA_PKID, clé | | +| ----- | -------------------------- | --- | ---------------------- | --- | +unique> +| saFenetre | est une chaîne ANSI | | <mapping=DA_Fenetre> | | +| ---------- | ------------------- | --- | ------------------------- | --- | +| saChamp | est une chaîne ANSI | | <mapping=DA_Champs> | | +| saTitre | est une chaîne ANSI | | <mapping=DA_Titre> | | +| saContenu | est une chaîne ANSI | | <mapping=DA_Contenu> | | +| saTags | est une chaîne ANSI | | <mapping=DA_Tags> | | +| saTexteOri | est une chaîne ANSI | | <mapping=DA_TexteOriginal | | +> +<fin> +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +renvoyer :DateEnregistre() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(): entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +| 06/08/2026 | | Batik | | 6268 | +| ---------- | --- | ----- | --- | ---- | + +Partie 6 › Classe › MConnexionBaseExt › Code +MConnexionBaseExt +Code +Déclaration de MConnexionBaseExt +MConnexionBaseExt est une Classe <mapping=BddExterne> +hérite de Base +<mapping> +nPKID est un entier sur 8 octets <mapping=BSX_PKID, clé unique> +nIDSociete est un entier sur 8 octets <mapping=BSX_IDSociete> +sNomCnx est une chaîne ANSI <mapping=BSX_Nom> +sParam est une chaîne ANSI <mapping=BSX_Param> +<fin> +stParamCnx est un ST_ParamConfigBDExt +fin +Constructeur +procédure Constructeur() +Destructeur +procédure Destructeur() +Méthode Enregistrer +procédure Enregistrer() +bufParam est un Buffer +Sérialise(:stParamCnx,bufParam,psdJSON) +:sParam = bufParam +renvoyer :DateEnregistre() +Récupération de la propriété IdentifiantUnique +procédure publique IdentifiantUnique() : entier sur 8 octets +renvoyer nPKID +Affectation de la propriété IdentifiantUnique +procédure publique IdentifiantUnique(nValeur est entier sur 8 octets) +nPKID=nValeur +06/08/2026 Batik 6269 + +Partie 7 › Collection de procédures +Partie 7 +Collection de +procédures +| 06/08/2026 | Batik | 6270 | +| ---------- | ----- | ---- | + +Partie 7 › Collection de procédures +Lib_UI +Code +Déclaration de Lib_UI +constante +c_CouleurIconeSoc= "CIS" +| c_CouleurSociete | = "CS" | | | | +| ---------------- | ------- | --- | --- | --- | +| c_TrieInfo | = "TI" | | | | +| c_OngletInfoA | = "OIA" | | | | +// Sélection Préférences Onglet Intervention +// Trie +| C_DateD_R | = 1 | | | | +| --------------- | ---- | --- | --- | --- | +| C_DateD_A | = 2 | | | | +| C_NumInter_E | = 3 | | | | +| C_NumInter_P | = 4 | | | | +| C_TitreInter_A | = 5 | | | | +| C_TitreInter_Z | = 6 | | | | +| C_NumDevis_E | = 7 | | | | +| C_NumDevis_A | = 8 | | | | +| C_RefExtInter_E | = 9 | | | | +| C_RefExtInter_P | = 10 | | | | +//Nom dans l'onglet +| C_ParDDemd | = 1 | | | | +| ------------- | --- | --- | --- | --- | +| C_ParNumInter | = 2 | | | | +| C_ParTitre | = 3 | | | | +| C_ParNumDevis | = 4 | | | | +| C_ParRefExt | = 5 | | | | +// Diff inter par Société +| C_ParTexte | = 1 | | | | +| ------------ | --- | --- | --- | --- | +| C_ParIcone | = 2 | | | | +| C_ParTexIcon | = 3 | | | | +| C_ParAucun | = 4 | | | | +fin +Procédure globale GenerePaletteSombre +procédure GenerePaletteSombre(UneCouleur est un Couleur) +| PaletteOri | est une Palette | = PaletteGénère(UneCouleur) | | | +| ------------------------------------- | --------------- | --------------------------- | --- | --- | +| PaletteSombre | est une Palette | = PaletteOri | | | +| PaletteSombre["negative_text"] | | = RVB(0, 0, 0) | | | +| PaletteSombre["negative_background"] | | = RVB(255, 255, 255) | | | +| PaletteSombre["selected_text"] | | = RVB(255, 255, 255) | | | +| PaletteSombre["focus_outline"] | | = RVB(255, 255, 255) | | | +| PaletteSombre["window_background"] | | = RVB(49, 49, 49) | | | +| PaletteSombre["text"] | | = RVB(255, 255, 255) | | | +| PaletteSombre["container_background"] | | = RVB(102, 102, 102) | | | +| PaletteSombre["selected_background"] | | = "=MIX(primary,0,50)" | | | +renvoyer PaletteSombre +Procédure globale GenererPaletteSelonParamColb +| 06/08/2026 | | | Batik | 6271 | +| ---------- | --- | --- | ----- | ---- | + +Partie 7 › Collection de procédures › Lib_UI › Code +procédure GenererPaletteSelonParamColb() +stTheme est un ST_Theme = CollaborateurEnCours:ThemeColb() +GenereTheme(stTheme.saCouleur,stTheme.nSombre) +Procédure globale GenereTheme +procédure GenereTheme(local UneCouleur est un Couleur, local bSombre est un booléen) +si bSombre alors +Palette_du_projet = GenerePaletteSombre(UneCouleur) +sinon +Palette_du_projet = PaletteGénère(UneCouleur) +fin +Palette_du_projet["section_text"] = RendreCouleurPlusClaire(Palette_du_projet.Couleur["primary"], +bSombre) +PaletteChange(Palette_du_projet) +Procédure globale RendreCouleurPlusClaire +procédure RendreCouleurPlusClaire(local CouleurOrig est une Couleur,bSombre est un booléen) +Pourcentage est un entier = 88 +si bSombre alors +Pourcentage = 50 +fin +nRouge est un entier = RVBRouge(CouleurOrig) +nVert est un entier = RVBVert(CouleurOrig) +nBleu est un entier = RVBBleu(CouleurOrig) +nRouge += (255 - nRouge) * Pourcentage / 100 +nVert += (255 - nVert) * Pourcentage / 100 +nBleu += (255 - nBleu) * Pourcentage / 100 +si nRouge > 255 alors nRouge = 255 +si nVert > 255 alors nVert = 255 +si nBleu > 255 alors nBleu = 255 +renvoyer RVB(nRouge, nVert, nBleu) +06/08/2026 Batik 6272 + +Partie 7 › Collection de procédures › Lib_Parametres › Code +Lib_Parametres +Code +Déclaration de Lib_Parametres +constant +cParam_CloudServeur = "CLOUD_SERVEUR" +cParam_CloudPortData = "CLOUD_PORT_DATA" +cParam_CloudPortReplication = "CLOUD_PORT_REPLIC" +cParam_CloudCle = "CLOUD_CLE" +cParam_RepLog = "REP_LOG" +cParam_ServiceCommVersion = "SERVICE_COMM_VERSION" +cParam_WebServiceClient = "WEBSERVICE_CLIENT" +cParam_CodeClient = "CODE_CLIENT" +cParam_Messagerie = "PREFERENCE_MESSAGERIE" +cParam_Planning = "PREFERENCE_PLANNING" +cParam_TLM = "TLM" +cParam_Batigest = "BATIGEST_ACTIF" +cParam_LicenceMob = "SRV_LICENCE" +cParam_StructureCheminDoc = "FORMAT_REPERTOIRE_DOCUMENTS_OMIKA" +cParam_ReqCheminDoc = "REQUETE_REPERTOIRE_DOCUMENTS" +cParam_CheminRepDocInter = "CHEMIN_REPERTOIRE_BASE_DOCUMENTS" +| cParam_SMTP = "CNX_SMTP" | | | +| -------------------------------- | --- | --- | +| cParam_POP_IMAP = "CNX_IMAP" | | | +| cParam_POP = "CNX_POP3" //ZOMBIE | | | +cParam_ExpedMail = "BATIGEST_EXPED_MAIL" +| cParam_SrvMail = "BATIGEST_SRV_MAIL" | | | +| -------------------------------------------- | --- | --- | +| cParam_PrtMail = "BATIGEST_PRT_MAIL" | | | +| cParam_CptMail = "BATIGEST_CPT_MAIL" | | | +| cParam_MdpMail = "BATIGEST_MDP_MAIL" | | | +| cParam_SSLMail = "BATIGEST_SSL_MAIL" | | | +| cParam_Connect = "BATIGEST_CONNECT" | | | +| cParam_Connect_Srv = "BATIGEST_CONNECT_SRV" | | | +| cParam_Connect_BDD = "BATIGEST_CONNECT_BDD" | | | +| cParam_Connect_User = "BATIGEST_CONNECT_USR" | | | +| cParam_Connect_Mdp = "BATIGEST_CONNECT_MDP" | | | +cParam_PF_Code_Client = "PREFIXE_CODE_CLIENT" +cParam_PF_Code_Compta_Client = "PREFIXE_CODE_COMPTABLE_CLIENT" +| cParam_PF_Code_Dossier = "PREFIXE_CODE_DOSSIER" | | | +| ------------------------------------------------- | --- | --- | +| cParam_PF_Code_DevisBG = "BATIGEST_PREFIXE_DEVIS" | | | +cParam_T_Compteur_Client = "TAILLE_COMPTEUR_CLIENT" +cParam_T_Compteur_Compta_Client = "TAILLE_COMPTEUR_CLIENT_COMPTABLE" +cParam_T_Compteur_Dossier = "TAILLE_COMPTEUR_DOSSIER" +cParam_T_Compteur_DevisBG = "BATIGEST_TAILLE_COMPTEUR_DEVIS" +cCptGroupeRDVDate = "CptGroupeRDVDate" +cCptGroupeRDV = "GrpeRdv" +cCodeClientDefaut = "CLI" +cParam_CouleurSoc = "COULEUR_SOC" +cParam_CouleurRDV = "COULEUR_RDV" +cParam_TrieInter = "TRIE_INTERV" +cParam_SuiviTempsAgd = "SVT_AG" +cSocietes = "Soc" +cSocietesUtilisateur = "SocUser" +cRoleUtilisateur = "R_UT" +cFamilleParam = "Gr_Param" +| 06/08/2026 | Batik | 6273 | +| ---------- | ----- | ---- | + +Partie 7 › Collection de procédures › Lib_Parametres › Code +cCategorieParam = "Ctg_Param" +cSuiviPar = "ColbSuiviPar" +cCollaborateursPl = "ColbTousPL" +cTypeChamps = "TypeChamp" +cConfigEmailUser = "ConfigEmailUser" +cNbJoursAvantDate = "NB_Jours_Avant" +cNbJoursApresDate = "NB_Jours_Apres" +cParam_Civilite = "T.CV" +cParam_TypeRDV = "T.RDV" +cParam_StatusRDV = "S.RDV" +cParam_TypeInter = "T.INTER" +cParam_EtatInter = "E.INTER" +cParam_TypeDossier = "T.DOSS" +cParam_StatutDossier = "S.DOSS" +cParam_TypeClient = "T.CL" +cParam_StatutClient = "S.CL" +cParam_ApportClient = "T.APPOR.CL" +cParam_ApportOrigClient = "O.CL" +cParam_ModeReglClient = "M.REG" +cParam_TypeAction = "T.ACT" +cParam_TypeSignCR = "T.SIGN" +cParam_RoleContact = "R.CT" +cParam_LigneRqSql = "L.RQ.SQL" +cParam_PeriodeRqSql = "P.RQ.SQL" +cParam_OrigAnnuRDV = "O.ANU.RDV" +cParam_MotifAnnuRDV = "M.ANU.RDV" +cParam_TypeDoc = "T.DOC" +cParam_EtatDoc = "E.DOC" +cparam_TypeLieu = "T.LIEU" +cparam_TypeTemps = "T.TEMPS" +cparam_TypeAdresse = "T.ADR" +cCle_RDVFait = "S.RDV.FAIT" +cCle_RDVAnnule = "S.RDV.ANNU" +cCle_RDVInter = "T.RDV.INTER" +cCle_RDVAPlanifier = "S.RDV.PLNF" +cCle_DossierAnnule = "S.DOSS.ANNU" +cCle_DossierOuvert = "S.DOSS.OUVT" +cCle_ClientParticulier = "T.CL.PRT" +cCle_ClientEntreprise = "T.CL.ENTRP" +cCle_CiviliteMadame = "T.CV.MME" +cCle_CiviliteMonsieur = "T.CV.M" +cCle_TypeDocRapport = "T.DOC.RAPPRT" +cCle_TypeDocImg = "T.DOC.PHOT" +cCle_TypeDocAutre = "T.DOC.AUTRE" +cCle_TypeDocNull = "T.DOC.NULL" +cCle_TypeDocMsgExt = "T.DOC.MSG.EXT" +cCle_TypeDocBatigest = "T.DOC.BTGEST" +cCle_TypeTempsGlobal = "T.TEMPS.GLB" +cCle_TypeTempsNull = "T.TEMPS.NULL" +cCle_TypeTempsNonAffecte = "T.TEMPS.TMPSNNFF" +cCle_TypeTempsInter = "T.TEMPS.INTER" +cCle_NumLigneReq200 = "L.RQ.SQL.200" +cCle_PeriodeSqlReq1Mois = "P.RQ.SQL.1M" +cCle_EtatDocAbsent = "E.DOC.ABS" +cCle_EtatDocPresent = "E.DOC.PRS" +cCle_EtatDocSyncro = "E.DOC.SYNCRO" +cCle_TypeActEmail = "T.ACT.MAIL" +cCle_TypeRoleCtcOccupant = "R.CT.OCCPT" +cGroupe_EtatRDV = "EtatRDV" +06/08/2026 Batik 6274 + +Partie 7 › Collection de procédures › Lib_Parametres › Code +| cGroupe_EtatInter | | | | = "EtatInter" | | | | +| ------------------ | --- | --- | --- | ------------- | --- | --- | --- | +cParamTdB_InterBase = [ +| FI_TdB_Donneurs_Ordre48 | | | 29 | 52 21 | 0 | 1 | | +| ------------------------ | --- | ---- | ----- | ------ | --- | --- | --- | +| FI_TdB_Information_Inter | | | 0 | 0 48 | 50 | 0 1 | | +| FI_TdB_ContactSite | | | 0 50 | 100 16 | 0 | 1 | | +| FI_TdB_RDV | | 0 0 | 62 23 | 4 0 | | | | +| FI_TdB_Note_Interne | | | 0 0 | 44 27 | 4 | 0 | | +| FI_TdB_Notes_Admin | | | 0 0 | 69 33 | 4 | 0 | | +| FI_TdB_Historique_Etat | | | 0 | 0 25 | 15 | 0 0 | | +| FI_TdB_Documents | | 0 | 0 62 | 18 0 | 0 | | | +| FI_TdB_Actions | | 0 | 0 39 | 17 0 | 0 | | | +| FI_TdB_Compte_Rendus | | | 0 0 | 56 17 | 0 | 0 | | +| FI_TdB_Message_Externe | | | 0 | 0 53 | 16 | 0 0 | | +| FI_TdB_Rapports | | 0 | 0 42 | 17 0 | 0 | | | +| FI_TdB_Suivi_Temps | | | 0 0 | 62 25 | 0 | 0 | | +| FI_TdB_Site | | 48 0 | 52 29 | 0 1 | | | | +] +cParamTdB_InterSupp1 = [ +| FI_TdB_Donneurs_Ordre0 | | | 0 | 28 13 | 0 | 0 | | +| ------------------------ | --- | --- | ----- | ------ | --- | --- | --- | +| FI_TdB_Information_Inter | | | 0 | 0 37 | 28 | 0 0 | | +| FI_TdB_ContactSite | | | 0 0 | 51 14 | 4 | 0 | | +| FI_TdB_RDV | | 0 0 | 63 38 | 0 1 | | | | +| FI_TdB_Note_Interne | | | 63 0 | 54 19 | 0 | 1 | | +| FI_TdB_Notes_Admin | | | 63 19 | 54 19 | 0 | 1 | | +| FI_TdB_Historique_Etat | | | 0 | 0 25 | 15 | 0 0 | | +| FI_TdB_Documents | | 0 | 0 62 | 18 0 | 0 | | | +| FI_TdB_Actions | | 0 | 0 39 | 17 0 | 0 | | | +| FI_TdB_Compte_Rendus | | | 0 0 | 56 17 | 0 | 0 | | +| FI_TdB_Message_Externe | | | 0 | 0 53 | 16 | 0 0 | | +| FI_TdB_Rapports | | 0 | 0 42 | 17 0 | 0 | | | +| FI_TdB_Suivi_Temps | | | 0 38 | 117 24 | 0 | 1 | | +| FI_TdB_Site | | 0 0 | 37 30 | 0 0 | | | | +] +cParamTdb_InterSupp2 = [ +| FI_TdB_Donneurs_Ordre0 | | | 0 | 28 13 | 0 | 0 | | +| ------------------------ | --- | --- | ----- | ----- | --- | --- | --- | +| FI_TdB_Information_Inter | | | 0 | 0 37 | 28 | 0 0 | | +| FI_TdB_ContactSite | | | 0 0 | 51 14 | 0 | 0 | | +| FI_TdB_RDV | | 0 0 | 47 16 | 0 0 | | | | +| FI_TdB_Note_Interne | | | 0 0 | 42 28 | 0 | 0 | | +| FI_TdB_Notes_Admin | | | 0 0 | 42 28 | 0 | 0 | | +| FI_TdB_Historique_Etat | | | 60 | 22 58 | 17 | 0 1 | | +| FI_TdB_Documents | | 0 | 0 118 | 22 0 | 1 | | | +| FI_TdB_Actions | | 0 | 22 60 | 17 0 | 1 | | | +| FI_TdB_Compte_Rendus | | | 0 0 | 56 17 | 0 | 0 | | +| FI_TdB_Message_Externe | | | 60 | 39 58 | 17 | 0 1 | | +| FI_TdB_Rapports | | 0 | 39 60 | 17 0 | 1 | | | +| FI_TdB_Suivi_Temps | | | 0 0 | 62 25 | 0 | 0 | | +| FI_TdB_Site | | 0 0 | 37 30 | 0 0 | | | | +] +cParamTdB_Client = [ +| | FI_TdB_Fiche_Client | | 0 | 0 44 | 58 | 0 1 | | +| --- | --------------------------- | --- | --- | ----- | --- | --------- | --- | +| | FI_TdB_Liste_Site_Client | | | 45 59 | 71 | 18 0 1 | | +| | FI_TdB_Contact_Client45 | | | 32 71 | 26 | 0 1 | | +| | FI_TdB_Liste_Dossier_Client | | | 45 | 0 | 71 31 0 1 | | +] +cParamTdB_Contact = [ +| | FI_TdB_Fiche_Contact | | 0 | 0 37 | 37 | 0 1 | | +| --- | ---------------------------- | --- | --- | ---- | --- | --------- | --- | +| | FI_TdB_Liste_Site_Contact | | | 0 38 | 113 | 22 0 1 | | +| | FI_TdB_Liste_Dossier_Contact | | | 38 | 0 | 75 37 0 1 | | +] +| 06/08/2026 | | | | | | Batik | 6275 | +| ---------- | --- | --- | --- | --- | --- | ----- | ---- | + +Partie 7 › Collection de procédures › Lib_Parametres › Code +cParamTdB_Site = [ +| | FI_TdB_Fiche_Site0 | | 0 | 60 67 | 0 | 1 | | +| --- | ------------------------- | --- | --- | ----- | --- | ------ | --- | +| | FI_TdB_Liste_Dossier_Site | | | 60 0 | 73 | 26 0 1 | | +| | FI_Liste_Contact_Site60 | | | 50 73 | 17 | 0 1 | | +| | FI_TdB_Liste_Client_Site | | | 60 26 | 73 | 24 0 1 | | +] +cParamTdB_Menu = [ +| | FI_Ele_Inter | 0 | 0 64 | 37 0 | 1 | | | +| --- | -------------------- | --- | ----- | ----- | --- | --- | --- | +| | FI_Ele_Client | | 65 0 | 62 37 | 0 | 1 | | +| | FI_Ele_Site | 0 | 38 64 | 31 0 | 1 | | | +| | FI_Ele_Personne | | 65 38 | 62 31 | 0 | 1 | | +| | FI_Ele_RDV | 0 | 0 109 | 25 4 | 0 | | | +| | FI_Ele_RDV_Attente | | 0 | 0 108 | 24 | 4 0 | | +| | FI_Ele_Inter_Filtres | | 0 | 0 64 | 48 | 0 0 | | +] +cParamTdB_MenuRDV = [ +| | FI_Ele_Inter | 0 | 0 54 | 25 0 | 0 | | | +| --- | -------------------- | --- | ----- | ------ | --- | --- | --- | +| | FI_Ele_Client | | 0 0 | 53 25 | 0 | 0 | | +| | FI_Ele_Site | 0 | 0 108 | 25 0 | 0 | | | +| | FI_Ele_Personne | | 0 0 | 54 25 | 0 | 0 | | +| | FI_Ele_RDV | 0 | 0 103 | 36 0 | 1 | | | +| | FI_Ele_RDV_Attente | | 0 | 37 103 | 42 | 0 1 | | +| | FI_Ele_Inter_Filtres | | 0 | 0 64 | 52 | 4 0 | | +] +| cGroupe_Param_Planning | | | = "Planning" | | | | | +| ----------------------- | --- | --- | ------------ | --- | --- | --- | --- | +cGroupe_Param_Client = "Client" +| cGroupe_Param_General | | | = "Général" | | | | | +| ----------------------- | --- | --- | ------------------- | --- | --- | --- | --- | +| cGroupe_Param_Inter | | | = "Intervention" | | | | | +| cGroupe_Param_Colb | | | = "Collaborateur" | | | | | +| cGroupe_Param_SuiviTemp | | | = "Suivi des temps" | | | | | +| cGroupe_Param_Ctc | | | = "Contact" | | | | | +cGroupe_Param_Dossier= "Dossier" +| cGroupe_Param_Site | | | = "Site" | | | | | +| ------------------ | --- | --- | -------- | --- | --- | --- | --- | +fin +Procédure globale CrypteParametre +procédure CrypteParametre(sValeur):chaîne ANSI +quand exception dans +| bufValeur | | est un Buffer | | = sValeur | | | | +| --------- | --- | ------------- | --- | --------- | --- | --- | --- | +bufCle est un Buffer = HashChaîne(HA_MD5_128, ConnexionHFSQL::cMdp1+ConnexionHFSQL::cMdp2+ +ConnexionHFSQL::cMdp3) +bufRes est un Buffer = CrypteStandard(bufValeur, bufCle, crypteAES128) +//Trace("=> :[" + bufRes +"]") +renvoyer bufRes +faire +renvoyer "" +fin +Procédure globale DecrypteParametre +procédure DecrypteParametre(sValeurCryptée est une chaîne ANSI):chaîne ANSI +bufRep est un Buffer +//Trace("Décrypte :[" + sValeurCryptée +"]") +quand exception dans +| bufCrypte | | est un Buffer | | = sValeurCryptée | | | | +| --------- | --- | ------------- | --- | ---------------- | --- | --- | --- | +bufCle est un Buffer = HashChaîne(HA_MD5_128,ConnexionHFSQL::cMdp1+ConnexionHFSQL::cMdp2+ +ConnexionHFSQL::cMdp3) +si bufCrypte <>"" alors +| 06/08/2026 | | | | | | Batik | 6276 | +| ---------- | --- | --- | --- | --- | --- | ----- | ---- | + +Partie 7 › Collection de procédures › Lib_Parametres › Code +bufRep= DécrypteStandard(bufCrypte, bufCle, crypteAES128) +fin +//Trace("=> :[" + bufRep +"]") +renvoyer bufRep +faire +renvoyer bufRep +fin +Procédure globale ParametreApplicationLit +procédure ParametreApplicationLit(sCodeParametre est une chaîne,sValeurParDefaut est une chaîne="", +bCrypte est un booléen=Faux,sDescription est une chaîne="") +si gtbaParametresAppli[sCodeParametre]..Existe = Faux alors +si pas HLitRecherchePremier(ParametreApplication,PAP_Code,sCodeParametre) alors +HRAZ(ParametreApplication) +ParametreApplication.PAP_Code = sCodeParametre +ParametreApplication.PAP_Description = sDescription +si bCrypte alors +ParametreApplication.PAP_Valeur=CrypteParametre(sValeurParDefaut) +sinon +ParametreApplication.PAP_Valeur=sValeurParDefaut +fin +HAjoute(ParametreApplication) +fin +ChargeParamAppli() +sinon +si gtbaParametresAppli[sCodeParametre].saValeur = "" alors +gtbaParametresAppli[sCodeParametre].saValeur = sValeurParDefaut +gtbaParametresAppli[sCodeParametre].Enregistrer() +fin +fin +si bCrypte alors +renvoyer DecrypteParametre(gtbaParametresAppli[sCodeParametre].saValeur) +sinon +renvoyer gtbaParametresAppli[sCodeParametre].saValeur +fin +Procédure globale ParametreSystemeEcrit +procédure ParametreSystemeEcrit(sCodeParametre est une chaîne,sValeur est une chaîne,bCrypte est un +booléen=Faux,sDescription est une chaîne="") +si pas HLitRecherchePremier(ParametreSysteme,PAS_Code,sCodeParametre) alors +HRAZ(ParametreSysteme) +ParametreSysteme.PAS_Code = sCodeParametre +ParametreSysteme.PAS_Description = sDescription +sinon +si sDescription<>"" alors +ParametreSysteme.PAS_Description=sDescription +fin +fin +si bCrypte alors +ParametreSysteme.PAS_Valeur=CrypteParametre(sValeur) +sinon +ParametreSysteme.PAS_Valeur=sValeur +06/08/2026 Batik 6277 + +Partie 7 › Collection de procédures › Lib_Parametres › Code +fin +HEnregistre(ParametreSysteme) +Procédure globale ParametreSystemeLit +procédure ParametreSystemeLit(sCodeParametre est une chaîne,sValeurParDefaut est une chaîne="",bCrypte +est un booléen=Faux,sDescription est une chaîne="") +si pas HLitRecherchePremier(ParametreSysteme,PAS_Code,sCodeParametre) alors +HRAZ(ParametreSysteme) +ParametreSysteme.PAS_Code = sCodeParametre +ParametreSysteme.PAS_Description = sDescription +si bCrypte alors +ParametreSysteme.PAS_Valeur=CrypteParametre(sValeurParDefaut) +sinon +ParametreSysteme.PAS_Valeur=sValeurParDefaut +fin +HAjoute(ParametreSysteme) +fin +si bCrypte alors +renvoyer DecrypteParametre(ParametreSysteme.PAS_Valeur) +sinon +renvoyer ParametreSysteme.PAS_Valeur +fin +06/08/2026 Batik 6278 + +Partie 7 › Collection de procédures › Lib_Email › Code +Lib_Email +Code +Déclaration de Lib_Email +constante +c_Sec_Aucun = 1 +c_Sec_TLS = 2 +c_Sec_SSL = 3 +cIMAP = 1 +cPOP3 = 2 +cSMTP = 3 +fin +Procédure globale CodeSrcHtmlEnBase64IMG +procédure CodeSrcHtmlEnBase64IMG(sBaliseIMG est une chaîne,gstParamEnvoiEmail est STParamEnvoiEmail) +sCheminFichier est une chaîne +sBaliseSRC est une chaîne = [ +src="%1" +] +sBaliseBase64 est une chaîne = [ +src="data:image/%1;base64,%2" +] +//Recheche la balise src et extrait le chemin et le nom du fichier +sCheminFichier = fExtraitChemin(Remplace(ExtraitChaîne(ExtraitChaîne(sBaliseIMG,2,"src="),1,"'"), +ExtraitChaîne(ExtraitChaîne(sBaliseIMG,2,"src="),1,"""",DepuisFin),""),fDisque+fRépertoire+fFichier+ +fExtension) +sExt est une chaîne ANSI +si sCheminFichier<>"" alors +sExt = fExtraitChemin(sCheminFichier, fExtension) +fin +//Supprime les douvles cotes au début et à la fin +si sCheminFichier<>"" _et_ sExt <> "" alors +sCheminFichier = fExtraitChemin(sCheminFichier, fDisque+fRépertoire+fFichier) +si Contient(sExt,".jpeg",MotComplet) alors +sExt = ".jpeg " +sinon si Contient(sExt,".jpg",MotComplet) alors +sExt = ".jpg " +sinon si Contient(sExt,".png",MotComplet) alors +sExt = ".png " +sinon si Contient(sExt, ".gif",MotComplet) alors +sExt = ".gif " +sinon si Contient(sExt,".svg",MotComplet) alors +sExt = ".svg " +sinon +sExt = "" +fin +si sExt <> "" alors +sCheminFichier += sExt +fin +06/08/2026 Batik 6279 + +Partie 7 › Collection de procédures › Lib_Email › Code +sCheminFichier = Remplace(sCheminFichier,"","") +sCheminFichier = Milieu(sCheminFichier,2,Taille(sCheminFichier)-2) +//Stock la balise src pour le remplacement +sBaliseSRC = ChaîneConstruit(sBaliseSRC,sCheminFichier) +//Si le fichier existe +si fFichierExiste(sCheminFichier) alors +//Encode en base 64 l'image correspond au fichier +sImageEncodee est une chaîne = Encode(fChargeBuffer(sCheminFichier), encodeBASE64) +sBaliseBase64 = ChaîneConstruit(sBaliseBase64,ExtraitChaîne(fExtraitChemin(sCheminFichier, +fExtension),2,"."),sImageEncodee) +si Contient(sBaliseIMG, "width") alors +nPos2 est un entier = PositionOccurrence(sBaliseIMG,"width",1,DepuisDébut) +nPos3 est un entier = PositionOccurrence(sBaliseIMG,"align",1,DepuisDébut) +si nPos2 > 0 et nPos3 > 0 alors +gstParamEnvoiEmail.bufSignature = Remplace(gstParamEnvoiEmail.bufSignature,sBaliseIMG +[[nPos2 à (nPos3-1)]], "") +fin +fin +gstParamEnvoiEmail.bufSignature = Remplace(gstParamEnvoiEmail.bufSignature,sBaliseSRC, +sBaliseBase64) +fin +fin +Procédure globale DonneListeConfigMail +procédure DonneListeConfigMail(local nIdColb est un entier sur 8 octets = 0, local nIdUser est un +entier sur 8 octets = 0) +ParamEmailConfig est un tableau associatif de STParamEnvoiEmailPerso +ParamEmailPerso est un tableau de STParamEnvoiEmailPerso +bufValRech est un Buffer +stParametreEmail est une STParamEnvoiEmailPerso +stParametreEmailVide est une STParamEnvoiEmailPerso +n sont des entiers +si nIdColb <= 0 alors nIdColb = CollaborateurEnCours:nPKID +si nIdUser <= 0 alors nIdUser = CollaborateurEnCours:nIdUser +si nIdColb <= 0 alors renvoyer ParamEmailConfig +pour tout Societe_Collaborateur avec SC_IDCollaborateur=nIdColb +stParametreEmail = stParametreEmailVide +si gtabListeSocietes <> Null _et_ gtabListeSocietes[Societe_Collaborateur.SC_IDCSociete]. +saParametres <> "" alors +Désérialise(stParametreEmail,gtabListeSocietes[Societe_Collaborateur.SC_IDCSociete]. +saParametres,psdJSON) +AjouterListe(Societe_Collaborateur.SC_IDCSociete) +RempliListe(Societe_Collaborateur.SC_IDCSociete) +fin +fin +AjoutConfigPerso() +renvoyer ParamEmailConfig +procédure interne AjouterListe(local nIdSoc est un entier sur 8 octets = 0) +si nIdUser > 0 _et_ nIdSoc > 0 _et_ (stParametreEmail.Compte.sEmail <> "" ou stParametreEmail. +06/08/2026 Batik 6280 + +Partie 7 › Collection de procédures › Lib_Email › Code +Compte.sCompte <> "") alors +sCode est une chaîne ANSI = MParametreUtilisateur::cEMAIL_ENVOI+"_"+nIdSoc +si pas ParamEmailConfig[sCode]..Existe alors +stParametreEmail.SMTP.sMdp = Décrypte(stParametreEmail.SMTP.sMdp,gsaCleMdp) +ParamEmailConfig[sCode] = stParametreEmail +fin +// Conserver les paramètres de la société login et mot de passe ne peuvent etre changés +ParamEmailConfig[sCode].Compte = stParametreEmail.Compte +ParamEmailConfig[sCode].SMTP.bEnCopieCachee = stParametreEmail.SMTP.bEnCopieCachee +ParamEmailConfig[sCode].SMTP.bufSignature = stParametreEmail.SMTP.bufSignature +ParamEmailConfig[sCode].SMTP.tabCC_CopieEmail = stParametreEmail.SMTP.tabCC_CopieEmail +fin +fin +procédure interne RempliListe(local nIdSoc est un entier sur 8 octets = 0) +bAncienVersion est un booléen = Faux +sCode est une chaîne ANSI = MParametreUtilisateur::cEMAIL_ENVOI+"_"+nIdSoc +si nIdUser > 0 _et_ nIdSoc > 0 alors +bufValRech = HConstruitValClé(ParametreUtilisateur, PU_CodePU_IDUtilisateur, sCode, +nIdUser) +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,bufValRech) +si HTrouve(ParametreUtilisateur) alors +si ParamEmailConfig[sCode]..existe alors +Désérialise(stParametreEmail,ParametreUtilisateur.PU_Valeur,psdJSON) +Ajouterliste(nIdSoc) +fin +fin +fin +fin +procédure interne AjoutConfigPerso() +si nIdUser <= 0 alors retour +sCode est une chaîne ANSI +stParamRecep est STParamEnvoiEmail +stParamAncien est un STParamEnvoiEmailPerso +bufValRech = HConstruitValClé(ParametreUtilisateur, PU_CodePU_IDUtilisateur, +MParametreUtilisateur::cEMAIL_ENVOI, nIdUser) +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,bufValRech) +si HTrouve(ParametreUtilisateur) alors +quand exception dans +Désérialise(ParamEmailPerso,ParametreUtilisateur.PU_Valeur,psdJSON) +faire +bufCle est un Buffer = HashChaîne(HA_MD5_128,gsaCleMdp) +bufCrypte est un Buffer = ParametreUtilisateur.PU_Valeur +bufRep est un Buffer = DécrypteStandard(bufCrypte, bufCle, +crypteAES128) +Désérialise(stParamRecep,bufRep,psdJSON) +fin +si ParamEmailPerso..Occurrence <= 0 _et_ (stParamRecep.sLogin <> "") alors +stParamAncien.SMTP = stParamRecep +stParamAncien.Compte.sEmail = stParamRecep.sLogin +stParamAncien.Compte.sCompte = "" +TableauAjoute(ParamEmailPerso,stParamAncien) +fin +pour tout stParam,n de ParamEmailPerso +06/08/2026 Batik 6281 + +Partie 7 › Collection de procédures › Lib_Email › Code +si stParam.SMTP.sLogin <> "" alors +sCode = "EMAIL_ENVOI_Perso_"+n +si pas ParamEmailConfig[sCode]..Existe alors +stParam.SMTP.sMdp = Décrypte(stParam.SMTP.sMdp,gsaCleMdp) +ParamEmailConfig[sCode] = stParam +fin +fin +fin +fin +fin +Procédure globale EnvoiEmailDirecteAvecComp +procédure EnvoiEmailDirecteAvecComp(local sDestinataire est une chaîne,local sCC est une chaîne,local +sCCI est une chaîne,local sObjet est une chaîne,local sMessage est une chaîne, local sListeFichiers est + une chaîne, stParamEmailPerso est un STParamEnvoiEmailPerso) +stRep est un ST_RepEmail +| sMessageErreur | est une chaîne | = "" | | +| -------------- | ---------------------------- | ---- | --- | +| stvParamEmail | est un ST_ParamCnxEnvoiEmail | | | +si stParamEmailPerso <> Null alors +| stvParamEmail.sCompte | = stParamEmailPerso.Compte.sCompte | | | +| --------------------- | ---------------------------------- | --- | --- | +| stvParamEmail.sEmail | = stParamEmailPerso.Compte.sEmail | | | +| stvParamEmail.sLogin | = stParamEmailPerso.SMTP.sLogin | | | +| stvParamEmail.sMdp | = stParamEmailPerso.SMTP.sMdp | | | +stvParamEmail.sAdresseServeur = stParamEmailPerso.SMTP.sAdresseServeur +stvParamEmail.sPortServeur = stParamEmailPerso.SMTP.sPortServeur +| stvParamEmail.nCryptage | = stParamEmailPerso.SMTP.nCryptage | | | +| ----------------------- | ---------------------------------- | --- | --- | +| stvParamEmail.sType | = cSMTP | | | +fin +si stvParamEmail.sLogin="" alors +sMessageErreur = +"Vous n'avez pas encore paramétré votre compte de messagerie sur votre application." +fin +si sMessageErreur="" alors +stStEmail est un ST_StructureEmail +| stStEmail.sObjet | = sObjet | | | +| ----------------------------- | ---------------- | --- | --- | +| stStEmail.saAdrDestinataires | = sDestinataire | | | +| stStEmail.saCorpsHTML | = sMessage | | | +| stStEmail.saListePJ | = sListeFichiers | | | +| stStEmail.saAdrCC | = sCC | | | +| stStEmail.saAdrCCI | = sCCI | | | +si EnModeTest() alors +stStEmail.saAdrDestinataires = "susana@applilogik.fr" +stStEmail.saAdrCC = "" +stStEmail.saAdrCCI = "" +fin +stRep = EnvoiEmailDirecte(stvParamEmail,stStEmail) +si stRep.bOk alors +sMessageErreur = "" +| 06/08/2026 | | Batik | 6282 | +| ---------- | --- | ----- | ---- | + +Partie 7 › Collection de procédures › Lib_Email › Code +sinon +sMessageErreur = stRep.sMsgUser +LogEcrit("Erreur envoi email "+RC+stRep.sMsgComplet,eErreur) +fin +fin +renvoyer sMessageErreur +Procédure globale EnvoyerEmailLocalAvecComp +procédure EnvoyerEmailLocalAvecComp(MsgExt est un MMessage_Externe, bAfficherAvantEnvoi est un booléen += Faux,nModeEnvoi est un entier = elModeAuto) +stRep est un ST_RepEmail +stStEmail est un ST_StructureEmail +stStEmail.sObjet = MsgExt.saObjet +stStEmail.saAdrDestinataires = MsgExt.saAdrDestinataires +stStEmail.saCorpsHTML = MsgExt.saMessage +stStEmail.saListePJ = MsgExt.saListePJ +stStEmail.saAdrCC = MsgExt.saAdrCC +stStEmail.saAdrCCI = MsgExt.saAdrCCI +si EnModeTest() alors +stStEmail.saAdrDestinataires = "susana@applilogik.fr" +stStEmail.saAdrCC = "" +stStEmail.saAdrCCI = "" +fin +stRep = EnvoyerEmailLocal(stStEmail,bAfficherAvantEnvoi,Faux,nModeEnvoi) +si pas stRep.bok alors +Erreur(stRep.sMsgUser) +LogEcrit("Erreur envoi email "+RC+stRep.sMsgComplet,eErreur) +renvoyer Faux +sinon +renvoyer Vrai +fin +Procédure globale VerifieEmailOuvreSession +procédure VerifieEmailOuvreSession(local nMode est un entier, local sLogin est une chaîne, local sMdp +est une chaîne, local sAdresseServeur est une chaîne,local sPortServeur est une chaîne, local nCryptage +est un entier) +bResultat est un booléen +sMsg est une chaîne +stvParamEmail est un ST_ParamCnxEnvoiEmail +stvParamEmail.sLogin = sLogin +stvParamEmail.sMdp = sMdp +stvParamEmail.sAdresseServeur = sAdresseServeur +stvParamEmail.sPortServeur = sPortServeur +stvParamEmail.nCryptage = nCryptage +stvParamEmail.sType = nMode +(bResultat,sMsg) = OuvreSessionEmail(stvParamEmail) +si bResultat alors +EmailFermeSession(sLogin) +fin +renvoyer (bResultat,sMsg) +06/08/2026 Batik 6283 + +Partie 7 › Collection de procédures › Lib_DroitsAcces › Code +Lib_DroitsAcces +Code +Déclaration de Lib_DroitsAcces +constante +cGestion_Colb = "A.GEST.CLB" +cGestion_ActionInter = "A.GEST.ACT.INTER" +cGestion_SuiviInter = "A.Suivi.Colb.Inter" +cGestion_NotesInter = "A.GEST.NOTES.INT" +cGestion_Rapport = "A.GEST.RAPPORT.INTER" +cGestion_MsgExt = "A.GEST.MSG.EXT" +cGestion_Param = "A.PARAM" +cGestion_Temps = "A.GEST.TEMPS" +cGestion_Equipe = "A.GEST.EQ" +cGestion_Dossier = "A.GEST.DOSSIER" +cGestion_Document = "A.GEST.DOC" +cGestion_DocNull = "A.DOC.NULL" +cGestion_DocPhoto = "A.DOC.PHOTO" +cGestion_DocAutre = "A.DOC.AUTRE" +cGestion_DocMsgExt = "A.DOC.MGS.EXT" +cGestion_DocRapport = "A.DOC.RAPPORT" +cGestion_DocBatigest = "A.DOC.BATIGEST" +cGestion_ExtClient = "A.EXT.D.CLI" +cGestion_ExtRdv = "A.EXT.D.RDV" +fin +Procédure globale bDroit +procédure bDroit(saCode est une chaîne ANSI) +si saCode = "" alors +renvoyer Faux +fin +si CollaborateurEnCours:clUtilisateur <> Null _et_ CollaborateurEnCours:clUtilisateur:tbaDroits.. +Occurrence > 0 _et_... +CollaborateurEnCours:clUtilisateur:tbaDroits[saCode]..Existe alors +renvoyer CollaborateurEnCours:clUtilisateur:tbaDroits[saCode].bAcces +fin +renvoyer Faux +06/08/2026 Batik 6284 + +Partie 7 › Collection de procédures › Lib_AppMobile › Code +Lib_AppMobile +Code +Déclaration de Lib_AppMobile +ST_MOB_INSCRIPTION est une Structure +saSrv est une chaîne ANSI +saPort est une chaîne ANSI +saIdCli est une chaîne ANSI +saSociete est une chaîne ANSI +nIdClb est un entier sur 8 octets +nIdUsr est un entier sur 8 octets +saNom est une chaîne ANSI +saPren est une chaîne ANSI +fin +//STructure passée au mobile dans le QRCode +ST_MOB_QRCODE est une Structure +saCodeClient est une chaîne ANSI +saNumLicence est une chaîne ANSI +saURLLicence est une chaîne ANSI +fin +<bloc Structures utilisées pour le dialogue entre le Back-Office client et le serveur de licences> +//Bo Client Demande Licence Mobile +ST_CLI_DMD_LM est une Structure +saCodeClient est une chaîne ANSI +saNom est une chaîne ANSI +saPrenom est une chaîne ANSI +nIdUser est un entier sur 8 octets +nIdClb est un entier sur 8 octets +fin +//Bo Client Réponse à demande Licence Mobile +ST_CLI_REP_DMD_LM est une Structure +saNumLicence est une chaîne ANSI +saDateAttrib est une chaîne ANSI +saDateExpir est une chaîne ANSI +fin +//Bo Client Action sur Licence Mobile +ST_CLI_ACTION_LM est une Structure +saCodeClient est une chaîne ANSI +saNumLicence est une chaîne ANSI +fin +//Bo Client Demande Liste licences mobile +ST_CLI_DMD_LISTE_LM est une Structure +saCodeClient est une chaîne ANSI +fin +<fin> +constant +//Commandes utilisée par le back-office client +cCLI_LIC_ATTRIBUTION = "CLI.LM.ATT" //Déclaration de l'attribution d'une licence mobile +cCLI_LIC_ACTIVATION = "CLI.LM.ACT" //Activation +cCLI_LIC_DESACTIVATION = "CLI.LM.OFF" //Désactivation d'une licence sans la libérer +cCLI_LIC_LIBERE = "CLI.LM.RAZ" +//Libération d'une licence.(Pour la réaffecter plus tard) +cCLI_LIC_LISTE = "CLI.LM.LISTE" +06/08/2026 Batik 6285 + +Partie 7 › Collection de procédures › Lib_AppMobile › Code +//Récupération de la liste des licences attribuées (Pour un contrôle de cohérence) +//Codes Erreur du webservice Licence : WS_LICINTER_V1 +cREP_OK = "E0000" +cERR_DATA_VIDE = "E1001" +cERR_FORMAT_JSON = "E1002" +cERR_CLI_INCONNU = "E2001" +cERR_CLI_LIC = "E2002" +cERR_CLI_CONFIG = "E2003" //Configuration incomplète +cERR_CLI_BADAPI = "E2004" //La clé API n'est pas correcte +cERR_LIC_INCONNUE = "E3001" +cERR_LIC_INACTIVE = "E3002" +cERR_LIC_EXPIREE = "E3003" +cERR_LIC_ATTRIBUEE = "E3004" +cERR_LIC_AUCUNE = "E3005" +cERR_CMD_INCONNUE = "E4001" +cERR_HF_BLOCAGE = "E5001" +cERR_EXCEPTION = "E9000" +fin +06/08/2026 Batik 6286 + +Partie 7 › Collection de procédures › Lib_InitProjet › Code +Lib_InitProjet +Code +Déclaration de Lib_InitProjet +constante +fin +Procédure globale ChargeDocAide +procédure ChargeDocAide() +TableauSupprimeTout(gtbaDocAide) +odUnDocAide est un MDocAide dynamique +pour tout Doc_Aide +odUnDocAide = allouer un MDocAide +FichierVersMémoire(odUnDocAide,Doc_Aide) +si odUnDocAide.saFenetre <> "" alors +Insère(gtbaDocAide,odUnDocAide.saFenetre) +Insère(gtbaDocAide[odUnDocAide.saFenetre],odUnDocAide.saChamp) +gtbaDocAide[odUnDocAide.saFenetre ][odUnDocAide.saChamp] = odUnDocAide +fin +fin +Procédure globale ChargeEnteteParamMetier +procédure ChargeEnteteParamMetier() +TableauSupprimeTout(gtbEnteteParametresMetier) +HLitPremier(ParametreMetierEntete) +tantque pas HEnDehors(ParametreMetierEntete) +si SansEspace(ParametreMetierEntete.PM_Categorie) <> "" alors +gtbEnteteParametresMetier[ParametreMetierEntete.PM_Categorie] = ParametreMetierEntete. +PM_Libelle +fin +HLitSuivant(ParametreMetierEntete) +fin +Procédure globale ChargeEtat +procédure ChargeEtat() +odUnEtat est un MEtats dynamique +TableauSupprimeTout(gtbaListeEtat) +06/08/2026 Batik 6287 + +Partie 7 › Collection de procédures › Lib_InitProjet › Code +reqEtat est une Requête SQL = +[ +SELECT * FROM Etats ORDER BY Etats.ETA_Ordre +] +si HExécuteRequêteSQL(reqEtat) alors +pour tout reqEtat +si reqEtat.ETA_Groupe <> "" alors +odUnEtat = allouer un MEtats +FichierVersMémoire(odUnEtat,reqEtat) +Insère(gtbaListeEtat,reqEtat.ETA_Groupe) +Insère(gtbaListeEtat[reqEtat.ETA_Groupe],reqEtat.ETA_PKID) +gtbaListeEtat[reqEtat.ETA_Groupe][reqEtat.ETA_PKID] = odUnEtat +fin +fin +fin +Procédure globale ChargeHoraireCollaborateur +procédure ChargeHoraireCollaborateur() +saReq est une Requête SQL = +[ +SELECT * FROM ParametreUtilisateur WHERE PU_Code = {p_Code} +] +saReq.p_Code = MParametreUtilisateur::cHoraire +si HExécuteRequêteSQL(saReq) alors +pour tout saReq +si saReq.PU_Valeur <> "" _et_ gtbaListeUtilisateurs[saReq.PU_IDUtilisateur]..Existe = Vrai _et_ +... +gtbaListeUtilisateurs[saReq.PU_IDUtilisateur].nIDCollaborateur > 0 _et_... +gtabListeCollaborateurs[gtbaListeUtilisateurs[saReq.PU_IDUtilisateur].nIDCollaborateur].. +Existe = Vrai alors +tbConge est un tableau de ST_Horaire +Désérialise(tbConge,saReq.PU_Valeur,psdJSON) +gtabListeCollaborateurs[gtbaListeUtilisateurs[saReq.PU_IDUtilisateur].nIDCollaborateur]. +tbHoraires = tbConge +fin +fin +fin +Procédure globale ChargeListeRubDoc +procédure ChargeListeRubDoc() +TableauSupprimeTout(gtbListeRubDoc) +reqRub est une Requête SQL = +[ +SELECT * FROM RubriquesDocument ORDER BY RD_IdRubParent ASC +] +stUnRub est un STJSON_MembreRubChamps dynamique +n est un entier +si HExécuteRequêteSQL(reqRub) alors +pour tout reqRub +stUnRub = allouer un STJSON_MembreRubChamps +stUnRub.nIdRub = reqRub.RD_PKID +stUnRub.Nom = reqRub.RD_Nom +06/08/2026 Batik 6288 + +Partie 7 › Collection de procédures › Lib_InitProjet › Code +stUnRub.Description = reqRub.RD_Description +stUnRub.Rubrique = reqRub.RD_Rubrique +stUnRub.Ordre = reqRub.RD_Ordre +stUnRub.MembreMob = reqRub.RD_MembreMob +stUnRub.MasqueSaisie = reqRub.RD_MasqueSaisie +stUnRub.EnvoiMob = reqRub.RD_EnvoiMob +stUnRub.Modifiable = reqRub.RD_Modifiable +stUnRub.bd = reqRub.RD_bd +stUnRub.GroupeApp = reqRub.RD_Groupe +stUnRub.TypeMembre = reqRub.RD_TypeMembre +si reqRub.RD_IdRubParent > 0 alors +n = TableauCherche(gtbListeRubDoc,tcLinéairePremier,"nIdRub",reqRub.RD_IdRubParent) +si n > 0 alors +TableauAjoute(gtbListeRubDoc[n].ListeMembre,stUnRub) +fin +sinon +TableauAjoute(gtbListeRubDoc,stUnRub) +fin +fin +fin +Procédure globale ChargeModeleMails +procédure ChargeModeleMails() +TableauSupprimeTout(gtbaModelesMail) +UnModele est un MModeleMail dynamique +pour tout MailModele +UnModele = allouer un MModeleMail +FichierVersMémoire(UnModele,MailModele) +gtbaModelesMail[UnModele:nPKID] = UnModele +fin +Procédure globale ChargeModeleRapport +procédure ChargeModeleRapport() +TableauSupprimeTout(gtbaModelesRapport) +UnModele est un MModeleRapport dynamique +pour tout ModeleRapport +UnModele = allouer un MModeleRapport +FichierVersMémoire(UnModele,ModeleRapport) +gtbaModelesRapport[UnModele:nPKID] = UnModele +fin +Procédure globale ChargeParamAppli +procédure ChargeParamAppli() +TableauSupprimeTout(gtbaParametresAppli) +odParamAppli est un MParametreAppli dynamique +HLitPremier(ParametreApplication) +tantque pas HEnDehors(ParametreApplication) +si SansEspace(ParametreApplication.PAP_Code) <> "" alors +odParamAppli = allouer un MParametreAppli +FichierVersMémoire(odParamAppli,ParametreApplication) +gtbaParametresAppli[ParametreApplication.PAP_Code] = odParamAppli +fin +06/08/2026 Batik 6289 + +Partie 7 › Collection de procédures › Lib_InitProjet › Code +HLitSuivant(ParametreApplication) +fin +si gtbaParametresAppli[cParam_StructureCheminDoc]..Existe = Faux _ou_ gtbaParametresAppli[ +cParam_StructureCheminDoc].nPKID <= 0 alors +oParam est un MParametreAppli +oParam:saCode = cParam_StructureCheminDoc +oParam:saValeur = "[LI_CodeLieu] #[LI_PKID]\[CL_Nom] #[CL_PKID]\[IN_RefInterne] #[IN_PKID]\"+ +cRub_CategorieID +oParam:saDescription = "Format des répertoires contenant les documents d'intervention" +oParam:Enregistrer() +gtbaParametresAppli[cParam_StructureCheminDoc] = oParam +sinon si SansEspace(gtbaParametresAppli[cParam_StructureCheminDoc].saValeur) = "" alors +gtbaParametresAppli[cParam_StructureCheminDoc].saValeur = +"[LI_CodeLieu] #[LI_PKID]\[CL_Nom] #[CL_PKID]\[IN_RefInterne] #[IN_PKID]\"+cRub_CategorieID +gtbaParametresAppli[cParam_StructureCheminDoc].Enregistrer() +fin +si gtbaParametresAppli[cParam_ReqCheminDoc]..Existe = Faux _ou_ gtbaParametresAppli[cParam_ReqCheminDoc +].nPKID <= 0 alors +oParam est un MParametreAppli +oParam:saCode = cParam_ReqCheminDoc +oParam:saValeur = [ +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} +] +oParam:saDescription = +"Requête pour récupérer les informations à remplacer dans le format des répertoires contenant les +documents d'intervention" +oParam:Enregistrer() +gtbaParametresAppli[cParam_ReqCheminDoc] = oParam +sinon si SansEspace(gtbaParametresAppli[cParam_ReqCheminDoc].saValeur) = "" alors +gtbaParametresAppli[cParam_ReqCheminDoc].saValeur = [ +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} +] +gtbaParametresAppli[cParam_ReqCheminDoc].Enregistrer() +fin +si gtbaParametresAppli[cParam_CheminRepDocInter]..Existe = Faux _ou_ gtbaParametresAppli[ +cParam_CheminRepDocInter].nPKID <= 0 alors +oParam est un MParametreAppli +oParam:saCode = cParam_CheminRepDocInter +oParam:saValeur = ComplèteRep(ComplèteRep(fRepExe())+"Documents_Intervention") +oParam:saDescription = "Chemin et nom du répertoire contenant les documents d'intervention" +oParam:Enregistrer() +gtbaParametresAppli[cParam_CheminRepDocInter] = oParam +sinon si SansEspace(gtbaParametresAppli[cParam_CheminRepDocInter].saValeur) = "" alors +gtbaParametresAppli[cParam_CheminRepDocInter].saValeur = ComplèteRep(ComplèteRep(fRepExe())+ +"Documents_Intervention") +gtbaParametresAppli[cParam_CheminRepDocInter].Enregistrer() +sinon +gtbaParametresAppli[cParam_CheminRepDocInter].saValeur = ComplèteRep(gtbaParametresAppli[ +cParam_CheminRepDocInter].saValeur) +fin +Procédure globale ChargeParamMetier +06/08/2026 Batik 6290 + +Partie 7 › Collection de procédures › Lib_InitProjet › Code +procédure ChargeParamMetier() +TableauSupprimeTout(gtabParametresMetierCode) +TableauSupprimeTout(gtabParametresMetierId) +UnParam est un MParametreMetier dynamique +pour tout ParametreMetier +UnParam = allouer un MParametreMetier +FichierVersMémoire(UnParam,ParametreMetier) +si ParametreMetier.PA_Categorie <> "" alors +Insère(gtabParametresMetierCode,ParametreMetier.PA_Categorie) +Insère(gtabParametresMetierCode[ParametreMetier.PA_Categorie],ParametreMetier.PA_CLE) +si ParametreMetier.PA_Categorie dans(cParam_TypeRDV, cparam_TypeTemps, cParam_StatusRDV) _et_ +ParametreMetier.PA_Parametre <> "" alors +Désérialise(UnParam:ParamJson,UnParam:saParametre,psdJSON) +fin +gtabParametresMetierCode[ParametreMetier.PA_Categorie][ParametreMetier.PA_CLE] = UnParam +sinon +//*****************************************************// +// A supprimer => compatibilité avec l’ancien version // +//*****************************************************// +Insère(gtabParametresMetierCode,ParametreMetier.PA_Code) +Insère(gtabParametresMetierCode[ParametreMetier.PA_Code],ParametreMetier.PA_Valeur) +gtabParametresMetierCode[ParametreMetier.PA_Code][ParametreMetier.PA_Valeur] = UnParam +fin +gtabParametresMetierId[ParametreMetier.PA_PKID] = UnParam +fin +Procédure globale ChargeSocietes +procédure ChargeSocietes() +TableauSupprimeTout(gtabListeSocietes) +rqSoc est une Requête SQL = +[ +SELECT * FROM Societe +LEFT JOIN Adresse ON Adresse.AD_PKID = Societe.SO_IDAdressePrincipale +] +UneSoc est un MSociete dynamique +si HExécuteRequêteSQL(rqSoc) alors +pour tout rqSoc +UneSoc = allouer un MSociete +FichierVersMémoire(UneSoc,rqSoc) +si UneSoc.nIDAdressePrincipale > 0 alors +FichierVersMémoire(UneSoc.oAdresse, rqSoc) +fin +si UneSoc:saParametres <> "" alors +quand exception dans +Désérialise(UneSoc:stParamSoc,UneSoc:saParametres,psdJSON) +si UneSoc:stParamSoc:SMTP.sMdp <> "" alors +UneSoc:stParamSoc:SMTP.sMdp = Décrypte(UneSoc:stParamSoc:SMTP.sMdp,gsaCleMdp) +fin +faire +UneErreur:Init(ErreurApp.ExeptionProgramme,"Désérialisation paramètres de société") +fin +fin +gtabListeSocietes[rqSoc.SO_PKID] = UneSoc +fin +06/08/2026 Batik 6291 + +Partie 7 › Collection de procédures › Lib_InitProjet › Code +fin +Procédure globale ChargeTousLesCollaborateurs +procédure ChargeTousLesCollaborateurs() +TableauSupprimeTout(gtabListeCollaborateurs) +TableauSupprimeTout(gtbaListeUtilisateurs) +UnColb est un MCollaborateur dynamique +ReqSqlColb est une Requête SQL = +[ +SELECT Collaborateur.*, Collaborateur.GUID AS GUID_Colb, Utilisateur.*, +(SELECT STRING_AGG(SO_PKID,';') FROM Societe_Collaborateur INNER JOIN Societe ON +Societe_Collaborateur.SC_IDCSociete = Societe.SO_PKID WHERE Societe_Collaborateur. +SC_IDCollaborateur = Collaborateur.CO_PKID AND Societe_Collaborateur.SC_IDCSociete<>Utilisateur. +UT_IDSocietePrincipale) AS AutreSoc +FROM Collaborateur +LEFT JOIN Utilisateur ON UT_IDCollaborateur = CO_PKID +] +si HExécuteRequêteSQL(ReqSqlColb) alors +pour tout ReqSqlColb +UnColb = allouer un MCollaborateur +FichierVersMémoire(UnColb,ReqSqlColb) +FichierVersMémoire(UnColb:clUtilisateur,ReqSqlColb) +si ReqSqlColb.AutreSoc <> "" alors +ChaîneVersTableau(ReqSqlColb.AutreSoc,UnColb.tbSocietes,";") +fin +gtabListeCollaborateurs[UnColb:nPKID] = UnColb +gtabListeCollaborateurs[ReqSqlColb.GUID_Colb] = UnColb +si UnColb:clUtilisateur:nPKID > 0 alors +gtbaListeUtilisateurs[UnColb:clUtilisateur:nPKID] = UnColb:clUtilisateur +gtabListeCollaborateurs[UnColb:nPKID].nIdUser = UnColb:clUtilisateur:nPKID +gtabListeCollaborateurs[ReqSqlColb.GUID_Colb].nIdUser = UnColb:clUtilisateur:nPKID +fin +fin +sinon +UneErreur.Init(ErreurApp.ErreurHFSQL,"","ChargeTousLesCollaborateurs") +fin +ChargeHoraireCollaborateur() +Procédure globale ChargeTousLesElementsEssentiels +procédure ChargeTousLesElementsEssentiels() +ChargeSocietes() +ChargeParamMetier() +ChargeTousLesCollaborateurs() +ChargeEnteteParamMetier() +ChargeParamAppli() +ChargeTousRoles() +ChargeListeRubDoc() +ChargeModeleMails() +ChargeModeleRapport() +ChargeEtat() +ChargeDocAide() +BatigestActif() +06/08/2026 Batik 6292 + +Partie 7 › Collection de procédures › Lib_InitProjet › Code +TableauSupprimeTout(CollaborateurEnCours:tbaConfigEmail) +CollaborateurEnCours:tbaConfigEmail = DonneListeConfigMail(CollaborateurEnCours:nPKID, +CollaborateurEnCours:nIdUser) +Procédure globale ChargeTousRoles +procédure ChargeTousRoles() +TableauSupprimeTout(gtbaListeRoles) +odUnRole est un MRole dynamique +odUnAcces est un MAcces dynamique +nIdRole est un entier sur 8 octets +ReqSqlRole est une Requête SQL = +[ +SELECT Role.*, AccesEtDroit.* +FROM Role +LEFT JOIN AccesEtDroit ON AccesEtDroit.AED_IdRole = Role.R_PKID +ORDER BY Role.R_PKID, AccesEtDroit.AED_IdRole +] +si HExécuteRequêteSQL(ReqSqlRole) alors +pour tout ReqSqlRole +si nIdRole <> ReqSqlRole.R_PKID alors +odUnRole = allouer un MRole +FichierVersMémoire(odUnRole,ReqSqlRole) +gtbaListeRoles[odUnRole:nPKID] = odUnRole +fin +odUnAcces = allouer un MAcces +FichierVersMémoire(odUnAcces,ReqSqlRole) +gtbaListeRoles[odUnRole:nPKID].tbaAcces[odUnAcces.saCleAcces] = odUnAcces +nIdRole = ReqSqlRole.R_PKID +fin +sinon +UneErreur.Init(ErreurApp.ErreurHFSQL,"","ChargeTousRoles") +fin +06/08/2026 Batik 6293 + +Partie 7 › Collection de procédures › Lib_Champs › Code +Lib_Champs +Code +Procédure globale DonneBooleanSelonOuiNon +procédure DonneBooleanSelonOuiNon(local nType est un entier) +si nType = cOUI alors +renvoyer Vrai +sinon +renvoyer Faux +fin +Procédure globale DonneOuiNonSelonBoolean +procédure DonneOuiNonSelonBoolean(local bBool est un booléen) +si bBool alors +renvoyer cOUI +sinon +renvoyer cNON +fin +Procédure globale InitChamp +procédure InitChamp(saNomChamp est une chaîne ANSI, saCode est une chaîne ANSI, bActif est un booléen = +Vrai, local saValeur est une chaîne ANSI = "") +ListeSupprimeTout(saNomChamp) +nId est un entier sur 8 octets +si saValeur <> "" alors +nId = Val(saValeur) +fin +selon saCode +cas cSocietesUtilisateur +pour tout soc de gtabListeSocietes +si nId > 0 _et_ nId = soc.nPKID alors +si soc:bArchive alors +ListeAjoute(saNomChamp,gStylo(Palette_du_projet["red_text"])+soc:saNom+gLien(soc: +nPKID)) +sinon +ListeAjoute(saNomChamp,soc:saNom+gLien(soc:nPKID)) +fin +sinon +si TableauCherche(CollaborateurEnCours.tbSocietes,tcLinéairePremier,soc:nPKID) > 0 ou +CollaborateurEnCours:clUtilisateur:nIDSocietePrincipale = soc:nPKID alors +si soc:bArchive alors +si pas bActif alors +ListeAjoute(saNomChamp,gStylo(Palette_du_projet["red_text"])+soc:saNom+ +gLien(soc:nPKID)) +fin +sinon +ListeAjoute(saNomChamp,soc:saNom+gLien(soc:nPKID)) +06/08/2026 Batik 6294 + +Partie 7 › Collection de procédures › Lib_Champs › Code +fin +fin +fin +fin +cas cSocietes +pour tout soc de gtabListeSocietes +si nId > 0 _et_ nId = soc.nPKID alors +si soc:bArchive alors +ListeAjoute(saNomChamp,gStylo(Palette_du_projet["red_text"])+soc:saNom+gLien(soc: +nPKID)) +sinon +ListeAjoute(saNomChamp,soc:saNom+gLien(soc:nPKID)) +fin +sinon +si soc:bArchive alors +si pas bActif alors +ListeAjoute(saNomChamp,gStylo(Palette_du_projet["red_text"])+soc:saNom+gLien( +soc:nPKID)) +fin +sinon +ListeAjoute(saNomChamp,soc:saNom+gLien(soc:nPKID)) +fin +fin +fin +cas cSuiviPar +pour tout oColb de gtabListeCollaborateurs +si nId = oColb:npkid alors +si oColb:bActif _et_ oColb:nIdUser > 0 _et_ oColb:clUtilisateur:nIdRole > 0 _et_ +gtbaListeRoles[oColb:clUtilisateur:nIdRole]..Existe alors +si gtbaListeRoles[oColb:clUtilisateur:nIdRole].tbaAcces[cGestion_SuiviInter].. +Existe _et_ gtbaListeRoles[oColb:clUtilisateur:nIdRole].tbaAcces[ +cGestion_SuiviInter].bAcces alors +ListeAjoute(saNomChamp,oColb:NomPrenom()+gLien(oColb:nPKID)) +sinon +ListeAjoute(saNomChamp,gStylo(Palette_du_projet["red_text"])+oColb:NomPrenom( +)+gLien(oColb:nPKID)) +fin +sinon +ListeAjoute(saNomChamp,gStylo(Palette_du_projet["red_text"])+oColb:NomPrenom()+ +gLien(oColb:nPKID)) +fin +sinon +si oColb:bActif _et_ oColb:nIdUser > 0 _et_ oColb:clUtilisateur:nIdRole > 0 _et_ +gtbaListeRoles[oColb:clUtilisateur:nIdRole]..Existe alors +si gtbaListeRoles[oColb:clUtilisateur:nIdRole].tbaAcces[cGestion_SuiviInter].. +Existe _et_ gtbaListeRoles[oColb:clUtilisateur:nIdRole].tbaAcces[ +cGestion_SuiviInter].bAcces alors +ListeAjoute(saNomChamp,oColb:NomPrenom()+gLien(oColb:nPKID)) +fin +fin +fin +fin +cas cCollaborateursPl +tatbIds est un tableau d'entiers sur 8 octets +pour tout oColb de gtabListeCollaborateurs +si (oColb.bAuPlanning ou nId=oColb:nPKID) _et_ TableauCherche(tatbIds,tcLinéairePremier, +oColb:nPKID) <= 0 alors +si pas oColb.bActif alors +06/08/2026 Batik 6295 + +Partie 7 › Collection de procédures › Lib_Champs › Code +ListeAjoute(saNomChamp,gStylo(Palette_du_projet["red_text"])+oColb:NomPrenom()+ +gLien(oColb:saGUID)) +sinon +ListeAjoute(saNomChamp,oColb:NomPrenom()+gLien(oColb:saGUID)) +fin +TableauAjoute(tatbIds,oColb:nPKID) +fin +fin +cas cRoleUtilisateur +pour tout oRole de gtbaListeRoles +ListeAjoute(saNomChamp,oRole:saLibelle+gLien(oRole:nPKID)) +fin +cas cConfigEmailUser +pour tout stParam, sCode de CollaborateurEnCours:tbaConfigEmail +ListeAjoute(saNomChamp, stParam.Compte.sCompte +" <"+stParam.Compte.sEmail+">"+ +gValeurMémorisée(sCode)) +fin +cas cCategorieParam +HLitPremier(ParametreMetierEntete,PM_PKID) +tantque HEnDehors() = Faux +si ParametreMetierEntete.PM_Categorie <> "" _et_ ParametreMetierEntete.PM_Groupe <> "" +alors +ListeAjoute(saNomChamp,ParametreMetierEntete.PM_Libelle+gLien(ParametreMetierEntete. +PM_Categorie)) +fin +HLitSuivant(ParametreMetierEntete) +fin +cas cParam_StatusRDV +si gtabParametresMetierCode[saCode]..Existe _et_ gtabParametresMetierCode[saCode]..Occurrence > +0 alors +pour tout param de gtabParametresMetierCode[saCode] +si saValeur <> "" _et_ param.saCLE = saValeur alors +si pas param.bActif alors +ListeAjoute(saNomChamp,gStylo(Palette_du_projet["red_text"])+param.saLibelle+ +gLien(param.saCLE)) +sinon +ListeAjoute(saNomChamp,param.saLibelle+gLien(param.saCLE)) +fin +sinon +si param.saCLE <> cCle_RDVAPlanifier alors +si param.bActif alors +si param.saCLE <> "" alors +ListeAjoute(saNomChamp,param.saLibelle+gLien(param.saCLE)) +sinon +ListeAjoute(saNomChamp,param.saLibelle+gLien(param.nPKID)) +fin +sinon si pas bActif alors +si param.saCLE <> "" alors +ListeAjoute(saNomChamp,gStylo(Palette_du_projet["red_text"])+param. +saLibelle+gLien(param.saCLE)) +sinon +ListeAjoute(saNomChamp,gStylo(Palette_du_projet["red_text"])+param. +saLibelle+gLien(param.nPKID)) +fin +fin +fin +fin +06/08/2026 Batik 6296 + +Partie 7 › Collection de procédures › Lib_Champs › Code +fin +fin +cas cparam_TypeTemps +si gtabParametresMetierCode[saCode]..Existe _et_ gtabParametresMetierCode[saCode]..Occurrence > +0 alors +pour tout param de gtabParametresMetierCode[saCode] +si saValeur <> "" _et_ param.saCLE = saValeur alors +si pas param.bActif alors +ListeAjoute(saNomChamp,gStylo(Palette_du_projet["red_text"])+param.saLibelle+ +gLien(param.saCLE)) +sinon +ListeAjoute(saNomChamp,param.saLibelle+gLien(param.saCLE)) +fin +sinon +si param.saCLE pas dans(cCle_TypeTempsGlobal, cCle_TypeTempsNonAffecte, +cCle_TypeTempsNull) alors +si param.bActif alors +si param.saCLE <> "" alors +ListeAjoute(saNomChamp,param.saLibelle+gLien(param.saCLE)) +sinon +ListeAjoute(saNomChamp,param.saLibelle+gLien(param.nPKID)) +fin +sinon si pas bActif alors +si param.saCLE <> "" alors +ListeAjoute(saNomChamp,gStylo(Palette_du_projet["red_text"])+param. +saLibelle+gLien(param.saCLE)) +sinon +ListeAjoute(saNomChamp,gStylo(Palette_du_projet["red_text"])+param. +saLibelle+gLien(param.nPKID)) +fin +fin +fin +fin +fin +fin +cas cParam_LigneRqSql +//Nb de lignes à renvoyer pour les tableaux. Paramètre de la commande SQL TOP. +si gtabParametresMetierCode[saCode]..Existe _et_ gtabParametresMetierCode[saCode]..Occurrence > +0 alors +pour tout param de gtabParametresMetierCode[saCode] +si param.bActif alors +ListeAjoute(saNomChamp,param.saLibelle+gLien(param.saParametre)) +fin +fin +fin +cas cTypeChamps +ListeAjoute(saNomChamp,"Texte"+gLien(typTexte)) +ListeAjoute(saNomChamp,"Date"+gLien(typDate)) +ListeAjoute(saNomChamp,"Heure"+gLien(typHeure)) +ListeAjoute(saNomChamp,"Validation (Oui-Non)"+gLien(typSélect)) +cas cNbJoursApresDate +ListeAjoute(saNomChamp, "Demain" + gLien(1)) +ListeAjoute(saNomChamp, "Dans 2 jours" + gLien(2)) +ListeAjoute(saNomChamp, "Dans 3 jours" + gLien(3)) +ListeAjoute(saNomChamp, "Dans 4 jours" + gLien(4)) +ListeAjoute(saNomChamp, "Dans 5 jours" + gLien(5)) +ListeAjoute(saNomChamp, "Dans 1 semaine" + gLien(7)) +ListeAjoute(saNomChamp, "Dans 15 jours" + gLien(15)) +06/08/2026 Batik 6297 + +Partie 7 › Collection de procédures › Lib_Champs › Code +ListeAjoute(saNomChamp, "Dans 1 mois" + gLien(30)) +ListeAjoute(saNomChamp, "Dans 2 mois" + gLien(60)) +ListeAjoute(saNomChamp, "Dans 3 mois" + gLien(90)) +ListeAjoute(saNomChamp, "Dans 6 mois" + gLien(180)) +ListeAjoute(saNomChamp, "Dans 1 an" + gLien(365)) +ListeAjoute(saNomChamp, "Dans 2 ans" + gLien(730)) +cas cNbJoursAvantDate +ListeAjoute(saNomChamp, "Hier" + gLien(1)) +ListeAjoute(saNomChamp, "Il y a 2 jours" + gLien(2)) +ListeAjoute(saNomChamp, "Il y a 3 jours" + gLien(3)) +ListeAjoute(saNomChamp, "Il y a 4 jours" + gLien(4)) +ListeAjoute(saNomChamp, "Il y a 5 jours" + gLien(5)) +ListeAjoute(saNomChamp, "Il y a 1 semaine" + gLien(7)) +ListeAjoute(saNomChamp, "Il y a 15 jours" + gLien(15)) +ListeAjoute(saNomChamp, "Il y a 1 mois" + gLien(30)) +ListeAjoute(saNomChamp, "Il y a 2 mois" + gLien(60)) +ListeAjoute(saNomChamp, "Il y a 3 mois" + gLien(90)) +ListeAjoute(saNomChamp, "Il y a 6 mois" + gLien(180)) +ListeAjoute(saNomChamp, "Il y a 1 an" + gLien(365)) +ListeAjoute(saNomChamp, "Il y a 2 ans" + gLien(730)) +autre cas +si gtabParametresMetierCode[saCode]..Existe _et_ gtabParametresMetierCode[saCode]..Occurrence > +0 alors +pour tout param de gtabParametresMetierCode[saCode] +si saValeur <> "" _et_ param.saCLE = saValeur alors +si pas param.bActif alors +ListeAjoute(saNomChamp,gStylo(Palette_du_projet["red_text"])+param.saLibelle+ +gLien(param.saCLE)) +sinon +ListeAjoute(saNomChamp,param.saLibelle+gLien(param.saCLE)) +fin +sinon +si param.bActif alors +si param.saCLE <> "" alors +ListeAjoute(saNomChamp,param.saLibelle+gLien(param.sacle)) +sinon +ListeAjoute(saNomChamp,param.saLibelle+gLien(param.nPKID)) +fin +sinon si pas bActif alors +si param.saCLE <> "" alors +ListeAjoute(saNomChamp,gStylo(Palette_du_projet["red_text"])+param. +saLibelle+gLien(param.saCLE)) +sinon +ListeAjoute(saNomChamp,gStylo(Palette_du_projet["red_text"])+param. +saLibelle+gLien(param.nPKID)) +fin +fin +fin +fin +fin +fin +06/08/2026 Batik 6298 + +Partie 7 › Collection de procédures › Lib_Structures › Code +Lib_Structures +Code +Déclaration de Lib_Structures +STParamEmail est une Structure +sCompte est une chaîne +sEmail est une chaîne +fin +STParamEnvoiEmail est une Structure +sLogin est une chaîne +sMdp est une chaîne +sAdresseServeur est une chaîne +sPortServeur est une chaîne +nCryptage est un entier +bufSignature est un Buffer +bEnCopieCachee est un booléen +sType est une chaîne +tabCC_CopieEmail est un tableau de chaînes ANSI +fin +STParamEnvoiEmailPerso est une Structure +Compte est un STParamEmail +SMTP est un STParamEnvoiEmail +fin +STParamSociete est une Structure +sCouleur est une chaîne ANSI +SMTP est un STParamEnvoiEmail +Compte est un STParamEmail +tbDates est un tableau de Dates +fin +STSurveilleEnrg est une Structure +saFenetre est une chaîne ANSI +pProcedureMaJ est une procédure +tbInfoASurveiller est un tableau de STInfoSurveille +fin +STInfoSurveille est une Structure +saTable est une chaîne ANSI +n8Id est un entier sur 8 octets +saLibRubId est une chaîne ANSI +nNumErg est un entier +fin +STElementsHSurveille est une Structure +sdFichierDeDonnées est une Source de Données +nNuméroEnregistrement est un entier +nAction est un entier +fin +STJSON_MembreRubChamps est une Structure +nIdRub est un entier sur 8 octets +Nom est une chaîne ANSI +Rubrique est une chaîne ANSI +Description est une chaîne ANSI +Ordre est un entier +MembreMob est une chaîne ANSI +06/08/2026 Batik 6299 + +Partie 7 › Collection de procédures › Lib_Structures › Code +MasqueSaisie est une chaîne ANSI +EnvoiMob est un entier +Modifiable est un entier +BD est un entier +GroupeApp est une chaîne ANSI +TypeMembre est une chaîne ANSI +Utilisee est un booléen +// pour savoir si la données envoyés par le mobile a été déjà utilisé dans le document, une donné +peuvent être demande plusieurs fois dans le document ( +img par exemple) +ListeMembre est un tableau de STJSON_MembreRubChamps +ListeDonnesMob est une chaîne ANSI +ListeDonnesBD est une chaîne ANSI +fin +ST_Adresse est une Structure +saAdresse est une chaîne ANSI +saExtra est une chaîne ANSI +bSelection est un booléen +fin +ST_DOCNOTE est une Structure +nId est un entier sur 8 octets +saNote est une chaîne ANSI +nAuteur est un entier sur 8 octets +saDate est une chaîne ANSI +fin +ST_RDV_Rp est une Structure +saGuid est une chaîne ANSI +nId est un entier sur 8 octets +nIDGroupe est un entier sur 8 octets +saDateDebut est une chaîne ANSI +saDateFin est une chaîne ANSI +saObjet est une chaîne ANSI +saNote est une chaîne ANSI +saCollaborateurs est une chaîne ANSI +saExtra est une chaîne ANSI +bSelection est un booléen +nPosTable est un entier +fin +ST_CONTACT_Rp est une Structure +nID est un entier sur 8 octets +saNom est une chaîne ANSI +saPren est une chaîne ANSI +saRole est une chaîne ANSI +saTFix est une chaîne ANSI +saTMob est une chaîne ANSI +saEtage est une chaîne ANSI +saExtra est une chaîne ANSI +bSelection est un booléen +nPosTable est un entier +fin +ST_CR_Rp est une Structure +nId est un entier sur 8 octets +saDebut est une chaîne ANSI +saFin est une chaîne ANSI +saSignataire est une chaîne ANSI +saNomCollaborateur est une chaîne ANSI +saExtra est une chaîne ANSI +bSelection est un booléen +nPosTable est un entier +fin +ST_Img_Rp est une Structure +06/08/2026 Batik 6300 + +Partie 7 › Collection de procédures › Lib_Structures › Code +nDC_PKID est un entier sur 8 octets +saGUID est une chaîne ANSI +saNom est une chaîne ANSI +saExtra est une chaîne ANSI +tblNotes est un tableau de ST_DOCNOTE +saNotes est une chaîne ANSI +saDate est une chaîne ANSI +bSelection est un booléen +nPosTable est un entier +saCheminComp est une chaîne ANSI +fin +ST_RechercheGlobal est une Structure +nPKID est un entier sur 8 octets +nID_2 est un entier sur 8 octets +saType est une chaîne ANSI +saInfo_1 est une chaîne ANSI +saInfo_2 est une chaîne ANSI +saInfo_3 est une chaîne ANSI +saInfo_4 est une chaîne ANSI +saInfo_5 est une chaîne ANSI +saInfo_6 est une chaîne ANSI +fin +ST_Theme est une Structure +nSombre est un entier +saCouleur est une chaîne ANSI +fin +ST_Param_Status_RDV est une Structure +sCouleur est une chaîne ANSI +fin +ST_Param_TypeActiviteRDV est une Structure +Envoi_mobile est un entier +Saisir_temps_obligatoire est un entier +Present_devis est un entier +Valider_rdv est un entier +sCouleur est une chaîne ANSI +ComptSuiviTemp est un entier +fin +ST_Param_TypeTempsrdv est une Structure +obligatoire est un entier +heure_debut est une chaîne ANSI +heure_fin est une chaîne ANSI +temps_max est une chaîne ANSI +temps_min est une chaîne ANSI +devis est un entier +type_act est une chaîne ANSI +type_rdv est une chaîne ANSI +sCouleur est une chaîne ANSI +ComptSuiviTemp est un entier +fin +ST_TypeActiviteRDV est une Structure +Envoi_mobile est un entier +Saisir_temps_obligatoire est un entier +Present_devis est un entier +Valider_rdv est un entier +sCouleur est une chaîne ANSI +fin +ST_TableauBord est une Structure +Fen est une chaîne ANSI +X est un entier +Y est un entier +06/08/2026 Batik 6301 + +Partie 7 › Collection de procédures › Lib_Structures › Code +Hauteur est un entier +Largeur est un entier +fin +ST_Horaire est une Structure +nJour est un entier +hHeureD est une Heure +hHeureF est une Heure +bConge est un booléen +fin +ST_InfoRDV est une Structure +oRdv est un MRDV_Planning +tbColbs est un tableau de MRDV_Colb +oInter est un MIntervention +oLieu est un MLieu +oClient est un MClient +fin +ST_InfoRDVTemps est une Structure +saDateDebut est une chaîne ANSI +saDateFin est une chaîne ANSI +saHeureDebut est une chaîne ANSI +saHeureFin est une chaîne ANSI +saHeureDebutPlanning est une chaîne ANSI +saHeureFinPlanning est une chaîne ANSI +saDossier est une chaîne ANSI +saIntervention est une chaîne ANSI +saDevis est une chaîne ANSI +saNomClient est une chaîne ANSI +saCodeClient est une chaîne ANSI +saTechnicien est une chaîne ANSI +saTypeTemps est une chaîne ANSI +sAQteHeures est une chaîne ANSI +saTypeRDV est une chaîne ANSI +saNomSociete est une chaîne ANSI +saBGSociete est une chaîne ANSI +saAdresse est une chaîne ANSI +saCP est une chaîne ANSI +sAVille est une chaîne ANSI +nIdRdv est un entier sur 8 octets +nSav est un entier +sCreationCR est une chaîne ANSI +bTempsSaisie est un booléen +fin +ST_SuivisRqListe est une Structure +dhDateHeureDebut est une DateHeure +dhDateHeureFin est une DateHeure +nIN_PKID est un entier sur 8 octets +nRDV_PKID est un entier sur 8 octets +dhDateCreation est une DateHeure +sGUID est une chaîne +nNbMin est un entier +sTypeTemps est une chaîne ANSI +sCleTypeTemps est une chaîne ANSI +dhDateHDRDV est une DateHeure +dhDateHFRDV est une DateHeure +fin +ST_InfoRdvSoc est une Structure +tabRDV est un tableau de ST_InfoRDVTemps +fin +ST_InfoSuivis est une Structure +nRDV_PKID est un entier sur 8 octets +tabSuivis est un tableau associatif de ST_SuivisRqListe +fin +ST_WidgetParam est une Structure +06/08/2026 Batik 6302 + +Partie 7 › Collection de procédures › Lib_Structures › Code +sFenetre est une chaîne ANSI +sOnglet est une chaîne ANSI +sNom est une chaîne ANSI +sTitreWidget est une chaîne ANSI +nLimiteDonnees est un entier +tbFiltres est un tableau de ST_FiltresWidget +fin +ST_FiltresWidget est une Structure +sRubrique est une chaîne ANSI +sTypeHFSQL est une chaîne ANSI +sChoix est une chaîne ANSI +fin +ST_ParamConfigBDExt est une Structure +suDossier est une chaîne Unicode +sSociete est une chaîne ANSI +sConnect_Serveur est une chaîne +sConnect_Utilisateur est une chaîne +sConnect_MotDePasse est une chaîne +fin +06/08/2026 Batik 6303 + +Partie 7 › Collection de procédures › Lib_Planning › Code +Lib_Planning +Code +Déclaration de Lib_Planning +constante +cAGD_HRDV = "HeureRDV" +cAGD_NDevis = "IN_NumDevis" +cAGD_NInter = "IN_RefInterne" +cAGD_RefExtInter = "IN_RefExterne" +cAGD_TypeRDV = "TypeRDV" +cAGD_SiteNom = "SiteNom" +cAGD_Site = "Site" +cAGD_Contact = "Contact" +cAGD_Obj = "RV_Objet" +cAGD_Note = "RV_Description" +CLundi = 1 +CMardi = 2 +CMercredi = 3 +CJeudi = 4 +CVendredi = 5 +CSamedi = 6 +CDimanche = 7 +fin +ST_ChoixAGD est une Structure +tabListe est un tableau de STPrefAgdPl +tabTitreRDV est un tableau de STItemChoixRDV +tabDescrRDV est un tableau de STItemChoixRDV +tabBulleRDV est un tableau de STItemChoixRDV +saHeureOuvrableDb est une chaîne ANSI +saHeureOuvrableFin est une chaîne ANSI +saHeureVisibleDb est une chaîne ANSI +saHeureVisibleFin est une chaîne ANSI +nGranulariteRDV est un entier +fin +STItemChoixEq est une Structure +sNom est une chaîne ANSI +nOrdre est un entier +sCouleurest une chaîne ANSI +tabColb est un tableau de STItemChoix +fin +STItemChoix est une Structure +nId est un entier sur 8 octets +nOrdre est un entier +fin +STItemChoixRDV est une Structure +saOptionest une chaîne ANSI +nOrdre est un entier +fin +STPrefAgdPl est une Structure +sNom est une chaîne ANSI +nId est un entier +06/08/2026 Batik 6304 + +Partie 7 › Collection de procédures › Lib_Planning › Code +bParDefaut est un booléen +bAffichageParEq est un booléen +tabEquipe est un tableau de STItemChoixEq +tabColb est un tableau de STItemChoix +fin +RessourceColb est une Structure +bEq est un booléen +sNomEq est une chaîne ANSI +nIdEq est un entier sur 8 octets +nOrdre est un entier +nIdColb est un entier sur 8 octets +Colb est un tableau de STItemChoix +saCouleur est un Couleur +fin +Procédure globale ArchiverRDV +procédure ArchiverRDV(UnRdv est un RendezVous) +bUniquementLeRdv est un booléen = Faux +bUniquementGroupeColb est un booléen = Faux +bToutesRdvs est un booléen = Faux +si pas HLitRecherchePremier(Planning_RDV,PL_PKID,UnRdv.ID) alors +//UneErreur:Init(ErreurApp.Fonctionnelle,"Rendez-vous non trouvé","ArchiverRDV") +renvoyer Faux +fin +si Planning_RDV.PL_IdGroupeDate > 0 alors +si Planning_RDV.PL_IDGroupe > 0 alors +selon Ouvre(FEN_Choix_Modif_Dates_RDV, +"Ce rendez-vous a été créé sur plusieurs jours avec plusieurs collaborateurs. Vous souhaitez +supprimer :" +) +// Tous rendez-vous et pour tous les collaborateurs +cas 1 +bToutesRdvs = Vrai +// Uniquement cette occurrence et pour tous les collaborateurs +cas 2 +bUniquementGroupeColb = Vrai +// Uniquement cette occurrence et ce collaborateur +cas 3 +bUniquementLeRdv = Vrai +// Tous rendez-vous et uniquement pour ce collaborateur +cas 4 +reqModifest une Requête SQL = +[ +UPDATE Planning_RDV +SET Archive = 1 , ModifDate = {p_DateJour}, ModifUser = {p_IdUser} , +PL_IdGroupeDate = 0 , PL_IDGroupe = 0 +WHERE PL_IdGroupeDate = {p_IdGroupeDate} AND Archive = 0 AND PL_IDCollaborateur = +{p_IdColb} +] +reqModif.p_DateJour = DateHeureSys() +reqModif.p_IdUser = CollaborateurEnCours:nIdUser +reqModif.p_IdGroupeDate = Planning_RDV.PL_IdGroupeDate +reqModif.p_IdColb = Planning_RDV.PL_IDCollaborateur +// Il faut le dissocier des autres rendez-vous des collaborateurs afin de ne plus le +modifier. +06/08/2026 Batik 6305 + +Partie 7 › Collection de procédures › Lib_Planning › Code +si pas HExécuteRequêteSQL(reqModif,hVérifieIntégrité) alors +//UneErreur:Init(ErreurApp.ErreurHFSQL,"Une erreur est survenue pendant la +modification du rendez-vous.","ModificationRDVPlanningHeures") +renvoyer Faux +fin +fin +sinon +selon Dialogue( +"Ce rendez-vous a été créé sur plusieurs jours. Souhaitez-vous modifier l'ensemble des +occurrences ou uniquement celle-ci " +) +// Uniquement celle-ci +cas 1 +bUniquementLeRdv = Vrai +// Toutes les occurrences +cas 2 +bToutesRdvs = Vrai +fin +fin +sinon si Planning_RDV.PL_IDGroupe > 0 alors +//1 : Uniquement celle-ci +//2 : Toutes les occurrences +selon Dialogue( +"Ce rendez-vous a été créé avec plusieurs collaborateurs. Souhaitez-vous modifier l'ensemble des +occurrences ou uniquement celle-ci " +) +// Uniquement celle-ci +cas 1 +bUniquementLeRdv = Vrai +// Toutes les occurrences +cas 2 +bUniquementGroupeColb = Vrai +fin +sinon +bUniquementLeRdv = Vrai +fin +si bUniquementLeRdv alors +Planning_RDV.PL_DateDebut = UnRdv.DateDébut +Planning_RDV.PL_DateFin = UnRdv.DateFin +Planning_RDV.ModifDate = DateHeureSys() +Planning_RDV.ModifUser = CollaborateurEnCours:nIdUser +Planning_RDV.PL_IdGroupeDate = 0 +Planning_RDV.PL_IDGroupe = 0 +Planning_RDV.Archive = 1 +si pas HModifie(Planning_RDV) alors +//UneErreur:Init(ErreurApp.Fonctionnelle,"Une erreur est survenue pendant la modification du +rendez-vous.","ArchiverRDV") +renvoyer Faux +fin +sinon si bUniquementGroupeColb _et_ Planning_RDV.PL_IDGroupe > 0 alors +reqModif est une Requête SQL = +[ +UPDATE Planning_RDV +SET Archive = 1, ModifDate= {p_DateJour}, ModifUser = {p_IdUser} , +PL_IdGroupeDate = 0, PL_IDGroupe = 0 +WHERE PL_IDGroupe = {p_IdGroupe} AND Archive = 0 +] +06/08/2026 Batik 6306 + +Partie 7 › Collection de procédures › Lib_Planning › Code +reqModif.p_DateJour = DateHeureSys() +reqModif.p_IdUser = CollaborateurEnCours:nIdUser +reqModif.p_IdGroupe = Planning_RDV.PL_IDGroupe +si pas HExécuteRequêteSQL(reqModif,hVérifieIntégrité) alors +//UneErreur:Init(ErreurApp.ErreurHFSQL,"Une erreur est survenue pendant la modification du +rendez-vous.","ArchiverRDV") +renvoyer Faux +fin +sinon si bToutesRdvs _et_ Planning_RDV.PL_IdGroupeDate > 0 alors +reqModifest une Requête SQL = +[ +UPDATE Planning_RDV +SET Archive = 1, ModifDate = {p_DateJour}, ModifUser = {p_IdUser} , PL_IDGroupe = 0 , +PL_IdGroupeDate = 0 +WHERE PL_IdGroupeDate = {p_IdGroupeDate} AND Archive = 0 +] +reqModif.p_DateJour = DateHeureSys() +reqModif.p_IdUser = CollaborateurEnCours:nIdUser +reqModif.p_IdGroupeDate = Planning_RDV.PL_IdGroupeDate +si pas HExécuteRequêteSQL(reqModif,hVérifieIntégrité) alors +//UneErreur:Init(ErreurApp.ErreurHFSQL,"Une erreur est survenue pendant la modification du +rendez-vous.","ArchiverRDV") +renvoyer Faux +fin +fin +renvoyer Faux +Procédure globale ChargePrefAGD +procédure ChargePrefAGD() +stPrefUserAGD est un ST_ChoixAGD +bEnregistrer est un booléen = Faux +si CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_ListeAGD]..Existe +_et_ CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_ListeAGD].saValeur +<> "" alors +Désérialise(stPrefUserAGD,CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur:: +cCHOIX_ListeAGD].saValeur,psdJSON) +sinon +si CollaborateurEnCours:clUtilisateur:nIDSocietePrincipale > 0 alors +reqColb est une Requête SQL = +[ +SELECT CO_PKID +FROM Utilisateur +INNER JOIN Collaborateur ON Utilisateur.UT_IDCollaborateur = Collaborateur. +CO_PKID +WHERE Utilisateur.UT_IDSocietePrincipale = {p_IdSoc} AND Collaborateur. +CO_AuPlanning = 1 AND Collaborateur.CO_Actif = 1 +] +reqColb.p_IdSoc = CollaborateurEnCours:clUtilisateur:nIDSocietePrincipale +si pas HExécuteRequêteSQL(reqColb) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","ChargePrefAGD") +sinon +pref est un STPrefAgdPl +pref.sNom = "Par défaut" +06/08/2026 Batik 6307 + +Partie 7 › Collection de procédures › Lib_Planning › Code +pref.nId = 1 +pref.bAffichageParEq = Vrai +pref.bParDefaut = Vrai +b est un entier +pour tout reqColb +b+= 1 +stChoix est un STItemChoix +stChoix.nId = reqColb.co_pkid +stChoix.nOrdre = b +TableauAjoute(pref.tabColb,stChoix) +fin +TableauAjoute(stPrefUserAGD.tabListe,pref) +fin +fin +stChoixRdv est un STItemChoixRDV +stChoixRdv.nOrdre = 1 +stChoixRdv.saOption = cAGD_NInter +TableauAjoute(stPrefUserAGD.tabTitreRDV,stChoixRdv) +stChoixRdv.nOrdre= 2 +stChoixRdv.saOption = cAGD_NDevis +TableauAjoute(stPrefUserAGD.tabTitreRDV,stChoixRdv) +stChoixRdv.nOrdre= 1 +stChoixRdv.saOption = cAGD_Site +TableauAjoute(stPrefUserAGD.tabDescrRDV,stChoixRdv) +stChoixRdv.nOrdre= 2 +stChoixRdv.saOption = cAGD_Obj +TableauAjoute(stPrefUserAGD.tabDescrRDV,stChoixRdv) +stChoixRdv.nOrdre= 1 +stChoixRdv.saOption = cAGD_HRDV +TableauAjoute(stPrefUserAGD.tabBulleRDV,stChoixRdv) +bEnregistrer = Vrai +fin +si stPrefUserAGD:nGranulariteRDV <= 0 alors +stPrefUserAGD:nGranulariteRDV = 60 +bEnregistrer = Vrai +fin +si stPrefUserAGD:saHeureVisibleDb = "" alors +stPrefUserAGD:saHeureVisibleDb = "0700" +bEnregistrer = Vrai +fin +si stPrefUserAGD:saHeureVisibleFin = "" alors +stPrefUserAGD:saHeureVisibleFin = "1900" +bEnregistrer = Vrai +fin +si stPrefUserAGD:saHeureOuvrableDb = "" alors +stPrefUserAGD:saHeureOuvrableDb = "0800" +bEnregistrer = Vrai +fin +si stPrefUserAGD:saHeureOuvrableFin = "" alors +stPrefUserAGD:saHeureOuvrableFin = "1800" +bEnregistrer = Vrai +06/08/2026 Batik 6308 + +Partie 7 › Collection de procédures › Lib_Planning › Code +fin +si bEnregistrer alors +bufResulBuf est un Buffer +Sérialise(stPrefUserAGD,bufResulBuf,psdJSON) +HLitRecherchePremier(ParametreUtilisateur,PU_CodePU_IDUtilisateur,[MParametreUtilisateur:: +cCHOIX_ListeAGD,CollaborateurEnCours:nIdUser]) +si HTrouve(ParametreUtilisateur) alors +ParametreUtilisateur.PU_Valeur = bufResulBuf +sinon +HRAZ(ParametreUtilisateur) +ParametreUtilisateur.PU_IDUtilisateur = CollaborateurEnCours:nIdUser +ParametreUtilisateur.PU_Code = MParametreUtilisateur::cCHOIX_ListeAGD +ParametreUtilisateur.PU_Valeur = bufResulBuf +fin +si HEnregistre(ParametreUtilisateur) alors +Param est un MParametreUtilisateur +FichierVersMémoire(Param,ParametreUtilisateur) +CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_ListeAGD] = +Param +sinon +UneErreur.Init(ErreurApp.ErreurHFSQL,"Erreur pendant la mise à jour de la préférence agenda", +"ChargePrefAGD") +fin +fin +TableauTrie(stPrefUserAGD.tabListe,ttMembre+tccRespecteNumérique,"+nId") +renvoyer stPrefUserAGD +Procédure globale ConflitRdvCreation +procédure ConflitRdvCreation(oRdv est un MRDV, nnbrdvs est un entier) +bok est un booléen +HF est une Heure = oRdv:dhDateFin..PartieHeure +duMaDurée est une Durée +si nnbrdvs > 0 alors +/******************** Gestion conflit de RDV ******************************/ +saCr est une chaîne ANSI +dhDateDebutCr est une DateHeure= oRdv:dhDateDebut +dhDateFinCr est une DateHeure= oRdv:dhDateFin +b est un entier +boucle +b += 1 +si b > 1 alors +dhDateDebutCr.Jour++ +fin +dhDateFinCr..PartieDate = dhDateDebutCr..PartieDate +bok = (dhDateDebutCr..PartieDate <= oRdv:dhDateFin..PartieDate) +si bok alors +si HF < oRdv.dhDateDebut..PartieHeure alors // condition pour les rendez vous de nuit +duMaDurée = oRdv:dhDateFin - dhDateDebutCr +si PartieEntière(duMaDurée..EnJours) <= 0 alors +bok = Faux +fin +06/08/2026 Batik 6309 + +Partie 7 › Collection de procédures › Lib_Planning › Code +fin +fin +si bok alors +si HF < oRdv.dhDateDebut..PartieHeure alors // condition pour les rendez vous de nuit +dhDateFinCr..Jour += 1 +fin +si saCr = "" alors +saCr += " AND ((PL_DateDebut < '"+dhDateFinCr+"' AND PL_DateFin > '"+dhDateDebutCr+ +"') " +sinon +saCr += " OR (PL_DateDebut < '"+dhDateFinCr+"' AND PL_DateFin > '"+dhDateDebutCr+"') " +fin +sinon +sortir +fin +fin +si saCr <> "" alors +saCr += ")" +saIds est une chaîne ANSI +pour tout nIdColb de oRdv:tbListeColb +si saIds = "" alors +saIds = " AND PL_IDCollaborateur IN ("+nIdColb +sinon +saIds += ","+ nIdColb +fin +fin +saIds += ") " +saCr += saIds +si oRdv:nPKID > 0 alors +saCr+= " AND PL_PKID <> "+oRdv:nPKID +fin +si pas GestionConflitRDVRequete(saCr) alors +renvoyer Faux +fin +fin +fin +renvoyer Vrai +Procédure globale CreaJourFerie +procédure CreaJourFerie() +// Suppression de tous les jours fériés +JourFériéSupprimeTout() +// Initialisation des 11 jours fériés communs aux départements français et DOM/TOM +JourFériéAjoute("0101") // 1er Janvier +JourFériéAjoute(jfLundiDePâques) // Lundi de Pâques +JourFériéAjoute("0501") // 1er Mai +JourFériéAjoute("0508") // 8 Mai +JourFériéAjoute(jfJeudiDeLAscension) // Jeudi de l'Ascension +JourFériéAjoute(jfLundiDePentecôte) // Lundi de Pentecôte +JourFériéAjoute("0714") // 14 Juillet +JourFériéAjoute("0815") // 15 Août (Assomption) +JourFériéAjoute("1101") // Toussaint +JourFériéAjoute("1111") // 11 Novembre +JourFériéAjoute("1225") // Noël +Procédure globale CreationNouveauRDV +06/08/2026 Batik 6310 + +Partie 7 › Collection de procédures › Lib_Planning › Code +procédure CreationNouveauRDV(oRdv est un MRDV) +si oRdv.dhDateDebut > oRdv.dhDateFin alors +oRdv.dhDateFin..Jour += 1 // RDV de nuit +fin +| dDateDebut | est une Date | = oRdv.dhDateDebut.PartieDate | | | +| -------------- | ------------------------------------- | ----------------------------- | ----------------------------------- | --- | +| dDateFin | est une Date | = oRdv.dhDateFin.PartieDate | | | +| dhDateHeureFin | est une DateHeure | = oRdv.dhDateFin | | | +| MaDurée | est une Durée | | = oRdv.dhDateFin - oRdv.dhDateDebut | | +| nNbRdvs | est un entier | | = PartieEntière(MaDurée..EnJours) | | +| MaDurée2 | est une Durée | | | | +| i | est un entier | | | | +| HF | est une Heure | | = oRdv.dhDateFin..PartieHeure | | +| bOk | est un booléen | | | | +| tbIds | est un tableau d'entiers sur 8 octets | | | | +| tbRdvs | est un tableau de MRDV | | | | +| nIdGroupeDate | est un entier | | | | +| nIdGroupe | est un entier | | | | +si nNbRdvs > 0 alors +/******************** Gestion conflit de RDV ******************************/ +// SI PAS ConflitRdvCreation(oRdv,nNbRdvs) ALORS +| // RENVOYER Faux | | | | | +| ---------------- | --- | --- | --- | --- | +// FIN +sinon +// saCr est une chaîne ANSI +// saCr += " AND PL_PKID NOT IN ("+oRdv:nPKID+")" +// saCr += " AND PL_DateDebut < '"+oRdv:dhDateFin+"'" +// saCr += " AND PL_DateFin > '"+oRdv:dhDateDebut+"'" +// saIds est une chaîne ANSI +// +// POUR TOUT nIdColb DE oRdv:tbListeColb +| // SI saIds = "" ALORS | | | | | +| ---------------------- | ---------------------------------------------- | --- | --- | --- | +| // | saIds = " AND PL_IDCollaborateur IN ("+nIdColb | | | | +| // SINON | | | | | +| // | saIds += ","+ nIdColb | | | | +| // FIN | | | | | +// FIN +// saIds += ") " +// saCr += saIds +// SI PAS GestionConflitRDVRequete(saCr) ALORS +| // RENVOYER Faux | | | | | +| ---------------- | --- | --- | --- | --- | +// FIN +fin +si oRdv:tbListeColb..Occurrence > 1 alors +nIdGroupe = CreaCompteur(cCptGroupeRDV) +pour tout nIdColb de oRdv:tbListeColb +| oRdv:nPKID | = 0 | | | | +| ---------- | --- | --- | --- | --- | +oRdv:saGUID = "" +oRdv:nIDCollaborateur= nIdColb +| oRdv:nIDGroupe | = nIdGroupe | | | | +| --------------- | ----------- | --- | --- | --- | +TableauAjoute(tbRdvs,oRdv) +fin +sinon +si oRdv:tbListeColb..Occurrence = 1 alors +| oRdv:nPKID | = 0 | | | | +| ---------- | --- | --- | --- | --- | +oRdv:saGUID = "" +| oRdv.nIDCollaborateur | = oRdv:tbListeColb[1] | | | | +| ---------------------- | --------------------- | --- | --- | --- | +| oRdv:nIDGroupe | = 0 | | | | +TableauAjoute(tbRdvs,oRdv) +| 06/08/2026 | | | Batik | 6311 | +| ---------- | --- | --- | ----- | ---- | + +Partie 7 › Collection de procédures › Lib_Planning › Code +fin +fin +si nNbRdvs > 0 alors +/******************** Création de RDV ******************************/ +nIdGroupeDate = CreaCompteur(cCptGroupeRDVDate) +boucle +i += 1 +bOk = Vrai +bOk = (dDateDebut <= dDateFin) +si bOk alors +si HF < oRdv.dhDateDebut..PartieHeure alors // condition pour les rendez vous de nuit +MaDurée2 = dhDateHeureFin - oRdv.dhDateDebut +si PartieEntière(MaDurée2..EnJours) <= 0 alors +bOk = Faux +fin +fin +fin +si bOk alors +si i > 1 alors +oRdv.dhDateDebut.Jour++ +fin +oRdv:dhDateFin..PartieDate = oRdv.dhDateDebut..PartieDate +oRdv:dhDateFin..PartieHeure = HF +si HF < oRdv.dhDateDebut..PartieHeure alors // condition pour les rendez vous de nuit +oRdv.dhDateFin..Jour += 1 +fin +si oRdv:tbListeColb..Occurrence > 1 _et_ i > 1 alors +nIdGroupe = CreaCompteur(cCptGroupeRDV) +fin +pour tout oUnRdv de tbRdvs +oUnRdv:nPKID = 0 +oUnRdv:nIDGroupe = nIdGroupe +oUnRdv:nIdGroupeDate = nIdGroupeDate +oUnRdv:bCR = Faux +oUnRdv:dhDateFin = oRdv.dhDateFin +oUnRdv:dhDateDebut = oRdv.dhDateDebut +/********** si rendez-vous avec compte rendu il faux l'ajouter au dernier RDV ******/ +si oRdv:bCR _et_ (oRdv:dhDateDebut..PartieDate >= dhDateHeureFin..PartieDate) alors +si HF < oRdv.dhDateDebut..PartieHeure alors +// condition pour les rendez vous de nuit +MaDurée2 = dhDateHeureFin - oRdv.dhDateDebut +si PartieEntière(MaDurée2..EnJours) <= 0 alors +oUnRdv:bCR = Vrai +fin +sinon +oUnRdv:bcr = Vrai +fin +fin +si pas oUnRdv:Enregistrer() alors +renvoyer Faux +sinon +TableauAjoute(tbIds,oUnRdv:nPKID) +fin +fin +06/08/2026 Batik 6312 + +Partie 7 › Collection de procédures › Lib_Planning › Code +sinon +sortir +fin +dDateDebut.Jour++ +fin +sinon +pour tout oUnRdv de tbRdvs +si pas oUnRdv:Enregistrer() alors +renvoyer Faux +sinon +TableauAjoute(tbIds,oUnRdv:nPKID) +fin +fin +fin +si tbIds..Occurrence > 0 alors +si pas EnregistrerContactRdv(tbIds, oRdv) alors +renvoyer Faux +fin +sinon +renvoyer Faux +fin +renvoyer Vrai +Procédure globale DonneCouleurRDV +procédure DonneCouleurRDV(local saTypeAct est une chaîne ANSI) +sCouleurest une chaîne = "" +nValeur est un entier = 0 +si saTypeAct <> "" alors +si gtabParametresMetierCode[cParam_TypeRDV][saTypeAct]..Existe _et_ gtabParametresMetierCode[ +cParam_TypeRDV][saTypeAct].saParametre <> "" alors +sCouleur = gtabParametresMetierCode[cParam_TypeRDV][saTypeAct].ParamJson.sCouleur +fin +fin +si sCouleur = "" +si saTypeAct = cCle_RDVInter alors //Intervention +sCouleur = "EA5914" +sinon +sCouleur = "567C8F" +fin +fin +renvoyer sCouleur +Procédure globale DonneCouleurTypeTemps +procédure DonneCouleurTypeTemps(local saTypeTemps est une chaîne ANSI) +sCouleurest une chaîne = "" +nValeur est un entier = 0 +06/08/2026 Batik 6313 + +Partie 7 › Collection de procédures › Lib_Planning › Code +si saTypeTemps <> "" alors +si gtabParametresMetierCode[cparam_TypeTemps][saTypeTemps]..Existe _et_ gtabParametresMetierCode[ +cparam_TypeTemps][saTypeTemps].saParametre <> "" alors +sCouleur = gtabParametresMetierCode[cparam_TypeTemps][saTypeTemps].ParamJson.sCouleur +fin +fin +si sCouleur = "" +si saTypeTemps = cCle_TypeTempsInter alors //Intervention +sCouleur = "EA5914" +sinon +sCouleur = "567C8F" +fin +fin +renvoyer sCouleur +Procédure globale DonneEtatRDV +procédure DonneEtatRDV(local saEtatRDV est une chaîne ANSI) +sCouleur est une chaîne = "" +si saEtatRDV <> "" _et_ gtabParametresMetierCode[cParam_StatusRDV][saEtatRDV]..Existe _et_ +gtabParametresMetierCode[cParam_StatusRDV][saEtatRDV].saParametre <> "" alors +sCouleur = gtabParametresMetierCode[cParam_StatusRDV][saEtatRDV].ParamJson.sCouleur +fin +si sCouleur = "" alors +si saEtatRDV=cCle_RDVFait alors +sCouleur = VertFoncé +sinon +sCouleur = OrangeFoncé +fin +si saEtatRDV=cCle_RDVAnnule alors +sCouleur = RougeClair +fin +fin +renvoyer sCouleur +Procédure globale DonneIdRdvModif +procédure DonneIdRdvModif(Id est un entier sur 8 octets,bGroupe est un booléen = Vrai, bGroupeDate est +un booléen= Vrai) +tbRdv est un tableau d'entiers sur 8 octets +reqColb est une Requête SQL = +[ +SELECT PL_PKID FROM Planning_RDV +WHERE PL_IDGroupe = {p_IdGroupe} AND PL_IdGroupeDate = {p_IdGroupedate} AND Planning_RDV.Archive = +0 +] +si HLitRecherchePremier(Planning_RDV,PL_PKID,Id) alors +si Planning_RDV.PL_IDGroupe <= 0 _et_ Planning_RDV.PL_IdGroupeDate <= 0 alors +TableauAjoute(tbRdv,Planning_RDV.PL_PKID) +renvoyer tbRdv +06/08/2026 Batik 6314 + +Partie 7 › Collection de procédures › Lib_Planning › Code +fin +si pas bGroupe _et_ pas bGroupeDate alors +TableauAjoute(tbRdv,Planning_RDV.PL_PKID) +renvoyer tbRdv +fin +si (Planning_RDV.PL_IDGroupe > 0 _et_ bGroupe) ou (Planning_RDV.PL_IdGroupeDate > 0 _et_ +bGroupeDate) alors +si bGroupe alors +reqColb.p_IdGroupe = Planning_RDV.PL_IDGroupe +fin +si bGroupeDate alors +reqColb.p_IdGroupedate = Planning_RDV.PL_IdGroupeDate +fin +si pas HExécuteRequêteSQL(reqColb) alors +//UneErreur:Init(ErreurApp.ErreurHFSQL,"Erreur lors de la récupération des informations de +rendez-vous","DonneColbsEtRDVGroupe") +sinon +pour tout reqColb +si reqColb.PL_PKID > 0 alors +TableauAjoute(tbRdv,reqColb.PL_PKID) +fin +fin +fin +sinon +TableauAjoute(tbRdv,Planning_RDV.PL_PKID) +renvoyer tbRdv +fin +fin +renvoyer tbRdv +Procédure globale EnregistrerContactRdv +procédure EnregistrerContactRdv(tbIds est un tableau d'entiers sur 8 octets, oRdv est un MRDV) +/********* On Commence pour supprimer tous le contacts **********/ +si tbIds..Occurrence <= 0 alors +renvoyer Faux +fin +reqSup est une Requête SQL = +[ +DELETE FROM Planning_RDV_Personne WHERE Planning_RDV_Personne.PRP_IDRdv IN ({p_IdRdvs}) +] +reqSup.p_IdRdvs = TableauVersChaîne(tbIds,";") +si pas HExécuteRequêteSQL(reqSup,hVérifieIntégrité) alors +//UneErreur:Init(ErreurApp.ErreurHFSQL,"Une erreur s'est produite lors de la mise à jour des +informations de contact du rendez-vous.","EnregistrerContactRdv") +renvoyer Faux +fin +saReqCreation est une chaîne ANSI = +06/08/2026 Batik 6315 + +Partie 7 › Collection de procédures › Lib_Planning › Code +[ +INSERT INTO Planning_RDV_Personne +(PRP_IDPersonne,PRP_IDRdv,CreationDate,CreationUser,ModifDate,ModifUser) VALUES +] +saValues est une chaîne ANSI +pour tout nIdRdv de tbIds +si nIdRdv > 0 alors +pour tout ContactRDV de oRdv:tbListeContacts +si ContactRDV:bContactUtilise alors +si saValues <> "" alors +saValues+= "," +fin +saValues += "("+ContactRDV:nPKID+","+nIdRdv+",'"+DateHeureSys()+"',"+ +CollaborateurEnCours:nIdUser+",'"+DateHeureSys()+"',"+CollaborateurEnCours:nIdUser+")" +fin +fin +fin +fin +si saValues <> "" alors +saValues += ";" +sinon +renvoyer Vrai +fin +saReqCreation += saValues +ResInsert est une Source de Données +si pas HExécuteRequêteSQL(ResInsert,hVérifieDoublon+hVérifieIntégrité,saReqCreation) alors +//UneErreur.Init(ErreurApp.ErreurHFSQL,"Une erreur s'est produite lors de la mise à jour des +informations de contact du rendez-vous.","EnregistrerContactRdv") +renvoyer Faux +sinon +renvoyer Vrai +fin +Procédure globale EnregistrerRendezVous +procédure EnregistrerRendezVous(oRdv est un MRDV) +si oRdv:nPKID <= 0 alors +renvoyer CreationNouveauRDV(oRdv) +sinon +renvoyer ModificationRDV(oRdv) +fin +Procédure globale FiltreRessourcesPLN +procédure FiltreRessourcesPLN(gstChoixColbAgd est un STPrefAgdPl,tabRessources est un tableau de +RessourceColb) +pstColb est un RessourceColb dynamique +pstUnClb est un STItemChoix dynamique +pour tout stEq de gstChoixColbAgd.tabEquipe +si stEq.nOrdre > 0 _et_ stEq.tabColb..Occurrence > 0 alors +pstColb = allouer un RessourceColb +pstColb.nOrdre = stEq.nOrdre +pstColb.sNomEq = stEq.sNom +pstColb.nIdEq = stEq.nOrdre +06/08/2026 Batik 6316 + +Partie 7 › Collection de procédures › Lib_Planning › Code +pstColb.bEq = Vrai +pstColb.saCouleur= stEq.sCouleur <> "" ? stEq.sCouleur sinon DonneCouleur(stEq.nOrdre) +pour tout stClb de stEq.tabColb +| pstUnClb | = allouer un STItemChoix | | | | +| --------------- | ------------------------ | -------------- | --- | --- | +| pstUnClb.nId | = stClb.nId | | | | +| pstUnClb.nOrdre | | = stClb.nOrdre | | | +TableauAjoute(pstColb.Colb,pstUnClb) +fin +TableauTrie(pstColb.Colb,ttMembre+tccRespecteNumérique,"+nOrdre") +TableauAjoute(tabRessources,pstColb) +fin +fin +pour tout stColb de gstChoixColbAgd.tabColb +| pstColb | = allouer un RessourceColb | | | | +| --------------- | -------------------------- | --- | --- | --- | +| pstColb.nOrdre | = stColb.nOrdre | | | | +| pstColb.sNomEq | = "" | | | | +| pstColb.nIdEq | = 0 | | | | +| pstColb.bEq | = Faux | | | | +| pstColb.nIdColb | = stColb.nId | | | | +TableauAjoute(tabRessources,pstColb) +fin +TableauTrie(tabRessources,ttMembre+tccRespecteNumérique,"+nOrdre") +Procédure globale GestionConflitRDVReq +procédure GestionConflitRDVReq(tbGUIDsColbs est un tableau de chaînes ANSI, dhDateD est une DateHeure, +dhDateF est une DateHeure, saGUIDRdv est une chaîne ANSI,bPlusieursJours est un booléen) +si pas DateHeureValide(dhDateD) ou pas DateHeureValide(dhDateF) alors +renvoyer "" +fin +| saMsg | est une chaîne ANSI | | | | +| ------- | ------------------- | -------------------------------- | --- | --- | +| duDure | est une Durée | = dhDateF - dhDateD | | | +| nNbRdvs | est un entier | = PartieEntière(duDure..EnJours) | | | +si nNbRdvs < 1 ou pas bPlusieursJours alors +si tbGUIDsColbs..Occurrence <= 0 alors +renvoyer "" +fin +reqVerif est une Requête SQL = +[ +SELECT * +FROM RDV_Collaborateur +WHERE RDV_Collaborateur.Archive = 0 AND RVC_GUID_RDV <> {p_GUIDRdv} AND RVC_CleStatut <> +{p_planifier} +AND RVC_Superposable = 0 AND RVC_DateDeb < {p_Datef} AND RVC_DateFin > {p_Dated} +AND RVC_GUID_Colb IN +(SELECT RVC_GUID_Colb FROM RDV_Collaborateur WHERE RVC_GUID_RDV = {p_GUIDRdv} AND RVC_GUID_Colb + IN ({p_GuidsColb}) AND RVC_Superposable = 0 AND LEFT(RVC_DateDeb,8) = {p_DateDebut}) +] +reqVerif.p_GuidsColb = TableauVersChaîne(tbGUIDsColbs,";") +reqVerif.p_planifier = cCle_RDVAPlanifier +si saGUIDRdv <> Null _et_ saGUIDRdv <> "" alors +reqVerif.p_GUIDRdv = saGUIDRdv +sinon +reqVerif.p_GUIDRdv = Null +| 06/08/2026 | | | Batik | 6317 | +| ---------- | --- | --- | ----- | ---- | + +Partie 7 › Collection de procédures › Lib_Planning › Code +fin +dhDateF..PartieDate = dhDateD.PartieDate +si dhDateF..PartieHeure < dhDateD..PartieHeure alors // condition pour les rendez vous de nuit +dhDateF..Jour += 1 +fin +reqVerif.p_DateD = dhDateD +reqVerif.p_DateF = dhDateF +reqVerif.p_DateDebut = dhDateD..PartieDate +si pas HExécuteRequêteSQL(reqVerif) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue lors de la recherche de conflits entre rendez-vous", +" GestionConflitRDVReq") +renvoyer "Une erreur est survenue lors de la recherche de conflits entre rendez-vous" +sinon +pour tout reqVerif +si gtabListeCollaborateurs[reqVerif.RVC_GUID_Colb]..Existe alors +saMsg +="Un Rdv est déjà planifié et non superposable le "+ DateVersChaîne(reqVerif. +RVC_DateDeb,"JJ/MM/AAAA")+" entre "+HeureVersChaîne(Droite(reqVerif.RVC_DateDeb,9), +"HH:MM:SS")+" et "+HeureVersChaîne(Droite(reqVerif.RVC_DateFin,9),"HH:MM:SS")+... +" pour le collaborateur : "+gtabListeCollaborateurs[reqVerif.RVC_GUID_Colb].NomPrenom( +)+RC +fin +fin +fin +sinon +reqVerifPlusieurs est une Requête SQL = +[ +SELECT * +FROM RDV_Collaborateur +WHERE RDV_Collaborateur.Archive = 0 AND RVC_GUID_RDV <> {p_GUIDRdv} AND RVC_CleStatut <> +{p_planifier} +AND RVC_Superposable = 0 AND RVC_DateDeb < {p_DateF} AND RVC_DateFin > {p_DateD} +AND RVC_GUID_Colb IN +(SELECT RVC_GUID_Colb FROM RDV_Collaborateur WHERE RVC_GUID_RDV = {p_GUIDRdv} AND LEFT( +RVC_DateDeb,8) = {p_DateDebut} +AND RVC_CleStatut <> {p_planifier} AND Archive = 0 AND RVC_GUID_Colb IN ({p_GuidColb}) AND +RVC_Superposable = 0) +] +dhDateDebutCr est une DateHeure= dhDateD +dhDateFinCr est une DateHeure= dhDateF +b est un entier +boucle +b += 1 +si b > 1 alors +dhDateDebutCr.Jour++ +fin +dhDateFinCr..PartieDate = dhDateDebutCr..PartieDate +si dhDateDebutCr..PartieDate <= dhDateF..PartieDate alors +si dhDateFinCr..PartieHeure < dhDateDebutCr..PartieHeure alors +// condition pour les rendez vous de nuit +dhDateFinCr..Jour += 1 +fin +reqVerifPlusieurs.p_DateD = dhDateDebutCr +reqVerifPlusieurs.p_DateDebut = dhDateDebutCr..PartieDate +reqVerifPlusieurs.p_Datef = dhDateFinCr +reqVerifPlusieurs.p_planifier = cCle_RDVAPlanifier +06/08/2026 Batik 6318 + +Partie 7 › Collection de procédures › Lib_Planning › Code +si saGUIDRdv <> Null _et_ saGUIDRdv <> "" alors +reqVerifPlusieurs.p_GUIDRdv = saGUIDRdv +sinon +reqVerifPlusieurs.p_GUIDRdv = Null +fin +si tbGUIDsColbs..Occurrence <= 0 alors +reqVerifPlusieurs.p_GuidColb = Null +sinon +reqVerifPlusieurs.p_GuidColb = TableauVersChaîne(tbGUIDsColbs,";") +fin +si pas HExécuteRequêteSQL(reqVerifPlusieurs) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue lors de la recherche de conflits entre rendez-vous", +" GestionConflitRDVReq") +renvoyer "Une erreur est survenue lors de la recherche de conflits entre rendez-vous" +sinon +pour tout reqVerifPlusieurs +si gtabListeCollaborateurs[reqVerifPlusieurs.RVC_GUID_Colb]..Existe alors +saMsg +="Un Rdv est déjà planifié et non superposable le "+ DateVersChaîne( +reqVerifPlusieurs.RVC_DateDeb,"JJ/MM/AAAA")+" entre "+HeureVersChaîne(Droite( +reqVerifPlusieurs.RVC_DateDeb,9),"HH:MM:SS")+" et "+HeureVersChaîne(Droite( +reqVerifPlusieurs.RVC_DateFin,9),"HH:MM:SS")+... +" pour le collaborateur : "+gtabListeCollaborateurs[reqVerifPlusieurs. +RVC_GUID_Colb].NomPrenom()+RC +fin +fin +fin +sinon +sortir +fin +fin +fin +renvoyer saMsg +Procédure globale GestionConflitRDVRequete +procédure GestionConflitRDVRequete(saComplementReq est une chaîne ANSI) +si saComplementReq <> "" alors +saReq est une chaîne ANSI = [ +SELECT PL_PKID, PL_IDCollaborateur, PL_DateDebut, PL_DateFin +FROM Planning_RDV +WHERE Archive = 0 AND PL_Superposable = 0 AND PL_CleStatut <> +] +saReq += "'"+cCle_RDVAPlanifier+"'" +saReq +=" "+saComplementReq +sdRDV est une Source de Données +si pas HExécuteRequêteSQL(sdRDV,hRequêteDéfaut,saReq) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue lors de la recherche de conflits entre rendez-vous", +" GestionConflitRDVRequete") +renvoyer Faux +sinon +saMsg est une chaîne ANSI +06/08/2026 Batik 6319 + +Partie 7 › Collection de procédures › Lib_Planning › Code +pour tout sdRDV +si gtabListeCollaborateurs[sdRDV.pl_idCollaborateur]..Existe alors +saMsg +="Un Rdv est déjà planifié et non superposable le "+ DateVersChaîne(sdRDV. +pl_datedebut,"JJ/MM/AAAA")+" entre "+HeureVersChaîne(Droite(sdRDV.pl_datedebut,9), +"HH:MM:SS")+" et "+HeureVersChaîne(Droite(sdRDV.pl_datefin,9),"HH:MM:SS")+... +" pour le collaborateur : "+gtabListeCollaborateurs[sdRDV.pl_idCollaborateur]. +NomPrenom()+RC +fin +fin +si saMsg <> "" alors +//Erreur(saMsg) +renvoyer Faux +fin +fin +fin +renvoyer Vrai +Procédure globale ModificationRDV +procédure ModificationRDV(oRdv est un MRDV) +si oRdv:nPKID <= 0 alors +renvoyer Faux +fin +tbRdv est un tableau d'entiers sur 8 octets +si oRdv:nIdGroupeDate > 0 alors +//1 : Uniquement celle-ci +//2 : Toutes les occurrences +selon Dialogue( +"Ce rendez-vous a été créé avec plusieurs collaborateurs sur plusieurs jours. Souhaitez-vous +modifier l'ensemble des occurrences ou uniquement celle-ci ?" +) +// Uniquement celle-ci +cas 1 +renvoyer ModifierRdvGroupeColb(oRdv) +// Toutes les occurrences +cas 2 +renvoyer ModifierRdvGroupeDate(oRdv) +fin +sinon si oRdv:nIDGroupe > 0 alors +renvoyer ModifierRdvGroupeColb(oRdv) +sinon +MaDurée est une Durée = oRdv.dhDateFin - oRdv.dhDateDebut +nNbRdvs est un entier = PartieEntière(MaDurée..EnJours) +tbRdv = DonneIdRdvModif(oRdv:nPKID) +si nNbRdvs > 0 alors +si pas CreationNouveauRDV(oRdv) alors +renvoyer Faux +fin +sinon +si tbRdv..Occurrence = 1 et oRdv:tbListeColb..Occurrence = 1 alors +si oRdv:nIDCollaborateur = oRdv:tbListeColb[1] alors +// vérification s'il s'agit du mème collaborateur +// saCR est une chaîne ANSI +06/08/2026 Batik 6320 + +Partie 7 › Collection de procédures › Lib_Planning › Code +// saCR += " AND PL_PKID NOT IN ("+oRdv:nPKID+")" +// saCR += " AND PL_IDCollaborateur = "+oRdv:nIDCollaborateur +// saCR += " AND PL_DateDebut < '"+oRdv:dhDateFin+"'" +// saCR += " AND PL_DateFin > '"+oRdv:dhDateDebut+"'" +// +// SI PAS GestionConflitRDVRequete(saCR) ALORS +// RENVOYER Faux +// FIN +si oRdv:Enregistrer() alors +si pas EnregistrerContactRdv(tbRdv, oRdv) alors +renvoyer Faux +sinon +renvoyer Vrai +fin +fin +sinon +si pas CreationNouveauRDV(oRdv) alors +// si remplacement d'un collaborateur on supprime l'autre rdv et on recrée +renvoyer Faux +fin +fin +sinon +si TableauCherche(oRdv:tbListeColb,tcLinéairePremier,oRdv:nIDCollaborateur) alors +// saCR est une chaîne ANSI +// saCR += " AND PL_PKID NOT IN ("+oRdv:nPKID+")" +// saCR += " AND PL_DateDebut < '"+oRdv:dhDateFin+"'" +// saCR += " AND PL_DateFin > '"+oRdv:dhDateDebut+"'" +// saIds est une chaîne ANSI +// +// POUR TOUT nIdColb DE oRdv:tbListeColb +// SI saIds = "" ALORS +// saIds = " AND PL_IDCollaborateur IN ("+nIdColb +// SINON +// saIds += ","+ nIdColb +// FIN +// FIN +// +// saIds += ") " +// saCR += saIds +// +// SI PAS GestionConflitRDVRequete(saCR) ALORS +// RENVOYER Faux +// FIN +oRdv:nIDGroupe = CreaCompteur(cCptGroupeRDV) +si pas oRdv:Enregistrer() alors +renvoyer Faux +sinon +renvoyer ModifierRdvGroupeColb(oRdv) // Pour ajouter les collaborateurs manquants +fin +sinon +si pas CreationNouveauRDV(oRdv) alors +// Le collaborateur initial ne fait plus partie des rendez-vous donc que on recommence +tout +renvoyer Faux +fin +fin +fin +fin +fin +si tbRdv..Occurrence > 0 alors +si pas SupprimerRdvApresModif(tbRdv) alors +renvoyer Faux +06/08/2026 Batik 6321 + +Partie 7 › Collection de procédures › Lib_Planning › Code +fin +fin +renvoyer Vrai +Procédure globale ModifierRdvGroupeColb +procédure ModifierRdvGroupeColb(oRdv est un MRDV) +| tbSupprimer | est un tableau d'entiers sur 8 octets | | | | +| ----------- | ------------------------------------- | --- | --- | --- | +| tbFaite | est un tableau d'entiers sur 8 octets | | | | +| tbColbFaite | est un tableau d'entiers sur 8 octets | | | | +| reqColb | est une Requête SQL | = | | | +[ +SELECT PL_PKID, PL_IDCollaborateur, Planning_RDV.GUID, PL_IDGroupe, PL_IdGroupeDate +FROM Planning_RDV +WHERE PL_IDGroupe = {p_IdGroupe} AND Planning_RDV.Archive = 0 +] +si HLitRecherchePremier(Planning_RDV,PL_PKID,oRdv:nPKID) alors +si Planning_RDV.PL_IDGroupe > 0 alors +reqColb.p_IdGroupe = Planning_RDV.PL_IDGroupe +si pas HExécuteRequêteSQL(reqColb) alors +//UneErreur:Init(ErreurApp.ErreurHFSQL,"Erreur lors de la récupération des informations de +rendez-vous","DonneColbsEtRDVGroupe") +sinon +| // si pas oRdv:bSuperposable alors | | | | | +| ---------------------------------- | ------------------------ | --- | --- | --- | +| // | saCR est une chaîne ANSI | | | | +// +| // | saCR += " AND PL_IDGroupe <> "+Planning_RDV.PL_IDGroupe | | | | +| --- | ------------------------------------------------------- | --- | --- | --- | +| // | saCR += " AND PL_IDCollaborateur IN (" | | | | +| // | POUR TOUT nIdColb, i de oRdv:tbListeColb | | | | +| // | SI Val(i) > 1 ALORS | | | | +// saCR += "," +| // | FIN | | | | +| --- | -------------------------------------------------- | --- | --- | --- | +| // | saCR+= nIdColb | | | | +| // | FIN | | | | +| // | saCR += ")" | | | | +| // | saCR += " AND PL_DateDebut < '"+oRdv:dhDateFin+"'" | | | | +| // | saCR += " AND PL_DateFin > '"+oRdv:dhDateDebut+"'" | | | | +// +| // | SI PAS GestionConflitRDVRequete(saCR) ALORS | | | | +| ------ | ------------------------------------------- | --- | --- | --- | +| // | RENVOYER Faux | | | | +| // | FIN | | | | +| // fin | | | | | +nIdGroupe est un entier sur 8 octets +nIdGroupeDate est un entier sur 8 octets +pour tout reqColb +| | nIdGroupe = reqColb.PL_IDGroupe | | | | +| --- | -------------------------------- | --- | --- | --- | +| | nIdGroupeDate = 0 | | | | +si reqColb.PL_IDCollaborateur > 0 _et_ TableauCherche(oRdv:tbListeColb, +tcLinéairePremier,reqColb.PL_IDCollaborateur) > 0 alors +| | oRdv:nPKID | | = reqColb.PL_PKID | | +| --- | ----------- | --- | ----------------- | --- | +| | oRdv:saGUID | | = reqColb.GUID | | +oRdv:nIDCollaborateur= reqColb.PL_IDCollaborateur +| | oRdv:nIDGroupe | | = nIdGroupe | | +| --- | ------------------ | --- | --------------- | --- | +| | oRdv:nIdGroupeDate | | = nIdGroupeDate | | +si pas oRdv:Enregistrer() alors +| 06/08/2026 | | | Batik | 6322 | +| ---------- | --- | --- | ----- | ---- | + +Partie 7 › Collection de procédures › Lib_Planning › Code +renvoyer Faux +sinon +TableauAjoute(tbFaite,reqColb.PL_PKID) +TableauAjoute(tbColbFaite,reqColb.PL_IDCollaborateur) +fin +sinon +TableauAjoute(tbSupprimer,reqColb.PL_PKID) +fin +fin +pour tout nIdColb de oRdv:tbListeColb +si TableauCherche(tbColbFaite,tcLinéairePremier,nIdColb) <= 0 alors +oRdv:nPKID = 0 +oRdv:saGUID = "" +oRdv:nIDCollaborateur= nIdColb +oRdv:nIDGroupe = nIdGroupe +oRdv:nIdGroupeDate = nIdGroupeDate +si pas oRdv:Enregistrer() alors +renvoyer Faux +sinon +TableauAjoute(tbFaite,oRdv:nPKID) +TableauAjoute(tbColbFaite,nIdColb) +fin +fin +fin +fin +sinon +oRdv:nIDCollaborateur = oRdv:tbListeColb[1] +// saCR est une chaîne ANSI +// saCR += " AND PL_PKID NOT IN ("+oRdv:nPKID+")" +// saCR += " AND PL_IDCollaborateur = "+oRdv:nIDCollaborateur +// saCR += " AND PL_DateDebut < '"+oRdv:dhDateFin+"'" +// saCR += " AND PL_DateFin > '"+oRdv:dhDateDebut+"'" +// +// SI PAS GestionConflitRDVRequete(saCR) ALORS +// RENVOYER Faux +// FIN +si oRdv:Enregistrer() alors +TableauAjoute(tbFaite,oRdv.nPKID) +si pas EnregistrerContactRdv(tbFaite, oRdv) alors +renvoyer Faux +sinon +renvoyer Vrai +fin +fin +fin +si tbSupprimer..Occurrence > 0 alors +si pas SupprimerRdvApresModif(tbSupprimer) alors +renvoyer Faux +fin +fin +si tbFaite..Occurrence > 0 alors +si pas EnregistrerContactRdv(tbFaite, oRdv) alors +renvoyer Faux +fin +sinon +renvoyer Faux +fin +fin +renvoyer Vrai +Procédure globale ModifierRdvGroupeDate +06/08/2026 Batik 6323 + +Partie 7 › Collection de procédures › Lib_Planning › Code +procédure ModifierRdvGroupeDate(oRdv est un MRDV) +| tbSupprimer | est un tableau d'entiers sur 8 octets | | | | +| ------------- | ------------------------------------------- | --- | --- | --- | +| tbFaite | est un tableau d'entiers sur 8 octets | | | | +| tbColbFaite | est un tableau d'entiers sur 8 octets | | | | +| dDateDebRdv | est une Date = oRdv:dhDateDebut..PartieDate | | | | +| bCompteRendu | est un booléen = oRdv:bCR | | | | +| reqDates | est une Requête SQL | = | | | +[ +SELECT PL_PKID, PL_IDCollaborateur, Planning_RDV.GUID, PL_DateDebut, PL_DateFin, PL_IDGroupe, +PL_IdGroupeDate,PL_CR +FROM Planning_RDV +WHERE PL_IdGroupeDate = {p_IdGroupeDate} AND Planning_RDV.Archive = 0 ORDER BY PL_DateFin, +PL_DateFin +] +si HLitRecherchePremier(Planning_RDV,PL_PKID,oRdv:nPKID) alors +si Planning_RDV.PL_IdGroupeDate > 0 alors +| reqDates.p_IdGroupedate | | = Planning_RDV.PL_IdGroupeDate | | | +| ----------------------- | --- | ------------------------------ | --- | --- | +/****************** Gestion de conflit **************************/ +si pas oRdv:bSuperposable alors +| | reqDatesGestion | est une Requête SQL | = | | +| --- | --------------- | ------------------- | --- | --- | +[ +SELECT PL_DateDebut, PL_DateFin, PL_PKID, PL_IDCollaborateur FROM Planning_RDV WHERE +Archive = 0 AND PL_IdGroupeDate = {p_IdGroupeDate} +] +saCr est une chaîne ANSI +| | saIds | est une chaîne ANSI | | | +| --- | ------------------------------ | ------------------- | -------------------- | --- | +| | reqDatesGestion.p_IdGroupeDate | | = oRdv:nIdGroupeDate | | +si pas HExécuteRequêteSQL(reqDatesGestion) alors +UneErreur.Init(ErreurApp.ErreurHFSQL, +"Une erreur s'est produite lors de la gestion des conflits de rendez-vous.", +"ModifierRdvGroupeDate") +sinon +pour tout reqDatesGestion +dhDateDeb est une DateHeure= reqDatesGestion.PL_DateDebut +dhDateFin est une DateHeure= reqDatesGestion.PL_DateFin +dhDateDeb..PartieHeure = oRdv.dhDateDebut..PartieHeure +dhDateFin..PartieHeure = oRdv.dhDateFin..PartieHeure +si saCr = "" alors +saCr += "AND ((PL_DateDebut < '"+dhDateFin+"' AND PL_DateFin > '"+dhDateDeb+ +"' AND PL_IDCollaborateur = "+reqDatesGestion.PL_IDCollaborateur+")" +sinon +saCr += "OR (PL_DateDebut < '"+dhDateFin+"' AND PL_DateFin > '"+dhDateDeb+ +"' AND PL_IDCollaborateur = "+reqDatesGestion.PL_IDCollaborateur+")" +fin +si saIds <> "" alors saIds+= "," +saIds+= reqDatesGestion.PL_PKID +fin +fin +| // | SI saCr <> "" ALORS | | | | +| --- | -------------------- | --- | --- | --- | +| // | saCr += ")" | | | | +| // | SI saIds <> "" ALORS | | | | +// saCr += " AND PL_PKID NOT IN ("+saIds+")" +| // | FIN | | | | +| --- | --- | --- | --- | --- | +// +| // | saCr += " AND PL_IDCollaborateur IN (" | | | | +| --- | ---------------------------------------- | --- | --- | --- | +| // | POUR TOUT nIdColb, i de oRdv:tbListeColb | | | | +// SI Val(i) > 1 ALORS +| 06/08/2026 | | | Batik | 6324 | +| ---------- | --- | --- | ----- | ---- | + +Partie 7 › Collection de procédures › Lib_Planning › Code +// saCr += "," +// FIN +// saCr+= nIdColb +// FIN +// saCr += ")" +// +// SI PAS GestionConflitRDVRequete(saCr) ALORS +// RENVOYER Faux +// FIN +// FIN +fin +si pas HExécuteRequêteSQL(reqDates) alors +//UneErreur:Init(ErreurApp.ErreurHFSQL,"Erreur lors de la récupération des informations de +rendez-vous","ModifierRdvGroupeDate") +sinon +dhDateDb est une DateHeure +dhDateDb..Année = 1900 +dhDateFin est une DateHeure +dhDateFin..Année = 1900 +nIdGroupe est un entier sur 8 octets +nIdGroupeDate est un entier sur 8 octets +bCR est un booléen // La seule information qui peut être différentes dans les +rdvs sans les dissocier +pour tout reqDates +si reqDates.PL_DateDebut <> dhDateDb _et_ reqDates.PL_DateFin <> dhDateFin alors +si dhDateDb..Année > 1900 alors +pour tout nIdColb de oRdv:tbListeColb +si TableauCherche(tbColbFaite,tcLinéairePremier,nIdColb) <= 0 alors +oRdv:nPKID = 0 +oRdv:saGUID = "" +oRdv:nIDCollaborateur = nIdColb +oRdv:dhDateDebut..PartieDate = dhDateDb +oRdv:dhDatefin..PartieDate = dhDateFin +oRdv:nIDGroupe = nIdGroupe +oRdv:nIdGroupeDate = nIdGroupeDate +oRdv:bcr = bCR +si pas oRdv:Enregistrer() alors +renvoyer Faux +sinon +TableauAjoute(tbFaite,oRdv:nPKID) +TableauAjoute(tbColbFaite,nIdColb) +fin +fin +fin +fin +TableauSupprimeTout(tbColbFaite) +dhDateDb = reqDates.PL_DateDebut +dhDateFin = reqDates.PL_DateFin +nIdGroupe = reqDates.PL_IDGroupe +nIdGroupeDate = reqDates.PL_IdGroupeDate +bCR = reqDates.pl_cr +si dDateDebRdv = reqDates.PL_DateDebut..PartieDate alors +bCR = bCompteRendu +// La seule information qui peut être différentes dans les rdvs +sans les dissocier +fin +si nIdGroupe <= 0 _et_ oRdv:tbListeColb..Occurrence > 0 alors +nIdGroupe = CreaCompteur(cCptGroupeRDV) +06/08/2026 Batik 6325 + +Partie 7 › Collection de procédures › Lib_Planning › Code +fin +fin +si reqDates.PL_IDCollaborateur > 0 _et_ TableauCherche(oRdv:tbListeColb, +tcLinéairePremier,reqDates.PL_IDCollaborateur) > 0 alors +oRdv:nPKID = reqDates.PL_PKID +oRdv:saGUID = reqDates.GUID +oRdv:nIDCollaborateur = reqDates.PL_IDCollaborateur +oRdv:dhDateDebut..PartieDate = reqDates.PL_DateDebut..PartieDate +oRdv:dhDatefin..PartieDate = reqDates.PL_Datefin..PartieDate +oRdv:nIDGroupe = nIdGroupe +oRdv:nIdGroupeDate = nIdGroupeDate +oRdv:bCR = bCR +si pas oRdv:Enregistrer() alors +renvoyer Faux +sinon +TableauAjoute(tbFaite,reqDates.PL_PKID) +TableauAjoute(tbColbFaite,reqDates.PL_IDCollaborateur) +fin +sinon +TableauAjoute(tbSupprimer,reqDates.PL_PKID) +fin +fin +si tbColbFaite..Occurrence < oRdv:tbListeColb..Occurrence alors +// lors de la boucle des rendez-vous peuvent rester sans être traites car inexistantes +pour tout nIdColb de oRdv:tbListeColb +si TableauCherche(tbColbFaite,tcLinéairePremier,nIdColb) <= 0 alors +oRdv:nPKID = 0 +oRdv:saGUID = "" +oRdv:nIDCollaborateur = nIdColb +oRdv:dhDateDebut..PartieDate = dhDateDb +oRdv:dhDateFin..PartieDate = dhDateFin +oRdv:nIDGroupe = nIdGroupe +oRdv:nIdGroupeDate = nIdGroupeDate +oRdv:bCR = bCR +si pas oRdv:Enregistrer() alors +renvoyer Faux +sinon +TableauAjoute(tbFaite,oRdv:nPKID) +TableauAjoute(tbColbFaite,nIdColb) +fin +fin +fin +fin +fin +fin +si tbSupprimer..Occurrence > 0 alors +si pas SupprimerRdvApresModif(tbSupprimer) alors +renvoyer Faux +fin +fin +si tbFaite..Occurrence > 0 alors +si pas EnregistrerContactRdv(tbFaite, oRdv) alors +renvoyer Faux +fin +sinon +renvoyer Faux +fin +fin +renvoyer Vrai +Procédure globale ModifierRDVHeures +06/08/2026 Batik 6326 + +Partie 7 › Collection de procédures › Lib_Planning › Code +procédure ModifierRDVHeures(UnRdv est un RendezVous) +bUniquementLeRdv est un booléen = Faux +bUniquementGroupeColb est un booléen = Faux +bToutesRdvs est un booléen = Faux +bToutesRdvsColb est un booléen = Faux +saGuidRdv est une chaîne ANSI = UnRdv.Extra[RDV_Collaborateur.RVC_GUID_RDV..Nom] +dhDateD est une DateHeure= UnRdv.DateDébut +dhDateF est une DateHeure= UnRdv.DateFin +dhDateD..Jour -= 1 +dhDateD..PartieHeure = "235959000" +dhDateF..PartieHeure = "235959000" +si pas HLitRecherchePremier(RDV_Planning,RV_PKID,UnRdv.ID) alors +UneErreur:Init(ErreurApp.Fonctionnelle,"Rendez-vous non trouvé","ModifierRDVHeures") +renvoyer Faux +fin +si RDV_Planning.RV_PlusieursJours alors +si RDV_Planning.RV_Groupe alors +selon Ouvre(FEN_Choix_Modif_Dates_RDV, +"Ce rendez-vous a été créé sur plusieurs jours avec plusieurs collaborateurs. Vous souhaitez +modifier :" +) +// Tous rendez-vous et pour tous les collaborateurs +cas 1 +bToutesRdvs = Vrai +// Uniquement cette occurrence et pour tous les collaborateurs +cas 2 +bUniquementGroupeColb = Vrai +// Uniquement cette occurrence et ce collaborateur +cas 3 +bUniquementLeRdv = Vrai +// Tous rendez-vous et uniquement pour ce collaborateur +cas 4 +bToutesRdvsColb = Vrai +fin +sinon +selon Dialogue( +"Ce rendez-vous a été créé sur plusieurs jours. Souhaitez-vous modifier l'ensemble des +occurrences ou uniquement celle-ci " +) +// Uniquement celle-ci +cas 1 +bUniquementLeRdv = Vrai +// Toutes les occurrences +cas 2 +bToutesRdvs = Vrai +fin +fin +sinon si RDV_Planning.RV_Groupe alors +//1 : Uniquement celle-ci +//2 : Toutes les occurrences +selon Dialogue( +"Ce rendez-vous a été créé avec plusieurs collaborateurs. Souhaitez-vous modifier l'ensemble des +occurrences ou uniquement celle-ci" +) +// Uniquement celle-ci +cas 1 +bUniquementLeRdv = Vrai +// Toutes les occurrences +cas 2 +bUniquementGroupeColb = Vrai +fin +06/08/2026 Batik 6327 + +Partie 7 › Collection de procédures › Lib_Planning › Code +sinon +bUniquementLeRdv = Vrai +fin +tbGUIDsColb est un tableau de chaînes ANSI +dhDateDReq est une DateHeure +dhDateFReq est une DateHeure +dhDateDReq = UnRdv.DateDébut +dhDateFReq = UnRdv.DateFin +saMsg est une chaîne ANSI +si bUniquementLeRdv alors +TableauAjoute(tbGUIDsColb,UnRdv.Extra[RDV_Collaborateur.RVC_GUID_Colb..Nom]) +saMsg = GestionConflitRDVReq(tbGUIDsColb,dhDateDReq,dhDateFReq,saGuidRdv,Faux) +sinon si bUniquementGroupeColb _et_ RDV_Planning.RV_Groupe alors +reqGUIDs est une Requête SQL = +[ +SELECT RVC_GUID_Colb +FROM RDV_Collaborateur +WHERE RVC_GUID_RDV = {p_Guid_RDV} AND LEFT(RVC_DateDeb,8) = {p_dateDeb} +] +reqGUIDs.p_Guid_RDV = saGuidRdv +reqGUIDs.p_dateDeb = UnRdv.DateDébut..PartieDate +si pas HExécuteRequêteSQL(reqGUIDs,hVérifieIntégrité) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue pendant la modification du rendez-vous.","ModifierRDVHeures") +renvoyer Faux +sinon +pour tout reqGUIDs +si reqGUIDs.RVC_GUID_Colb <> Null _et_ reqGUIDs.RVC_GUID_Colb <> "" alors +TableauAjoute(tbGUIDsColb,reqGUIDs.RVC_GUID_Colb) +fin +fin +fin +saMsg = GestionConflitRDVReq(tbGUIDsColb,dhDateDReq,dhDateFReq,saGuidRdv,Faux) +sinon si (bToutesRdvs _et_ RDV_Planning.RV_PlusieursJours) ou bToutesRdvsColb alors +reqDates est une Requête SQL = +[ +SELECT +MIN(RVC_DateDeb) AS premier_rendezvous, +MAX(RVC_DateFin) AS dernier_rendezvous +FROM RDV_Collaborateur +WHERE RVC_GUID_RDV = {p_Guid_RDV} AND RVC_GUID_Colb = {p_guidColb} AND Archive = 0 +] +reqDates.p_Guid_RDV = saGuidRdv +reqDates.p_guidColb = Null +si bToutesRdvsColb alors +reqDates.p_guidColb = UnRdv.Extra[RDV_Collaborateur.RVC_GUID_Colb..Nom] +TableauAjoute(tbGUIDsColb,UnRdv.Extra[RDV_Collaborateur.RVC_GUID_Colb..Nom]) +fin +si pas HExécuteRequêteSQL(reqDates,hVérifieIntégrité) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue pendant la modification du rendez-vous.","ModifierRDVHeures") +renvoyer Faux +sinon +pour tout reqDates +dhDateDReq..PartieDate = reqDates.premier_rendezvous..PartieDate +dhDateFReq..PartieDate = reqDates.dernier_rendezvous..PartieDate +fin +fin +06/08/2026 Batik 6328 + +Partie 7 › Collection de procédures › Lib_Planning › Code +saMsg = GestionConflitRDVReq(tbGUIDsColb,dhDateDReq,dhDateFReq,saGuidRdv,Vrai) +fin +si saMsg <> "" alors +Erreur(saMsg) +renvoyer Faux +fin +reqModif est une Requête SQL = +[ +UPDATE RDV_Collaborateur +SET RVC_DateDeb = (LEFT(RVC_DateDeb,8)+{p_HeureD}), RVC_DateFin = (LEFT(RVC_DateFin,8)+{p_HeureF}) +WHERE RVC_GUID_RDV = {p_GuidRdv} AND Archive = 0 AND RVC_DateDeb > {p_DateD} AND RVC_DateFin < +{p_DateF} +AND RVC_PKID = {p_IdRdv} AND RVC_GUID_Colb = {p_GUIDColbs} +] +reqModif.p_GuidRdv = saGuidRdv +reqModif.p_HeureD = UnRdv.DateDébut.PartieHeure +reqModif.p_HeureF = UnRdv.DateFin.PartieHeure +reqModif.p_IdRdv = Null +reqModif.p_DateD = Null +reqModif.p_DateF = Null +reqModif.p_GUIDColbs = Null +si bUniquementLeRdv alors +reqModif.p_IdRdv = Val(UnRdv.Lieu) +sinon si bUniquementGroupeColb _et_ RDV_Planning.RV_Groupe alors +reqModif.p_DateD = dhDateD +reqModif.p_DateF = dhDateF +sinon si bToutesRdvs _et_ RDV_Planning.RV_PlusieursJours alors +// rien +sinon si bToutesRdvsColb alors +reqModif.p_GUIDColbs = UnRdv.Extra[RDV_Collaborateur.RVC_GUID_Colb..Nom] +fin +si pas HExécuteRequêteSQL(reqModif,hVérifieIntégrité) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue pendant la modification du rendez-vous.","ModifierRDVHeures") +renvoyer Faux +fin +//Mise à jour du rendez-vous principal +si HLitRecherchePremier(RDV_Planning,RV_PKID,UnRdv.ID) alors +RDV_Planning.ModifDate = DateHeureSys() +RDV_Planning.ModifUser = CollaborateurEnCours.nIdUser +si pas HEnregistre(RDV_Planning) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue pendant la modification du rendez-vous.","ModifierRDVHeures") +renvoyer Faux +fin +fin +renvoyer Vrai +Procédure globale ModifierRDVPlanningHeures +06/08/2026 Batik 6329 + +Partie 7 › Collection de procédures › Lib_Planning › Code +procédure ModifierRDVPlanningHeures(UnRdv est un RendezVous) +bUniquementLeRdv est un booléen = Faux +bUniquementGroupeColb est un booléen = Faux +bToutesRdvs est un booléen = Faux +oRdv est un MRDV +si pas HLitRecherchePremier(Planning_RDV,PL_PKID,UnRdv.ID) alors +//UneErreur:Init(ErreurApp.Fonctionnelle,"Rendez-vous non trouvé","ModificationRDVPlanningHeures") +renvoyer Faux +sinon +FichierVersMémoire(oRdv,Planning_RDV) +oRdv:dhDateDebut = UnRdv.DateDébut +oRdv:dhDateFin = UnRdv.DateFin +si UnRdv.DateDébut.PartieDate <> UnRdv.DateFin.PartieDate alors +renvoyer Faux +fin +fin +/************ On modifie quoi ? *********************/ +si oRdv:nIdGroupeDate > 0 alors +si oRdv:nIDGroupe > 0 alors +selon Ouvre(FEN_Choix_Modif_Dates_RDV, +"Ce rendez-vous a été créé sur plusieurs jours avec plusieurs collaborateurs. Vous souhaitez +modifier :" +) +// Tous rendez-vous et pour tous les collaborateurs +cas 1 +renvoyer ModifierRDVPlanningHeuresRDVGroupeDate(oRdv) +// Uniquement cette occurrence et pour tous les collaborateurs +cas 2 +renvoyer ModifierRDVPlanningHeuresRDVGroupe(oRdv) +// Uniquement cette occurrence et ce collaborateur +cas 3 +renvoyer ModifierRDVPlanningHeuresUnRdv(oRdv) +// Tous rendez-vous et uniquement pour ce collaborateur +cas 4 +renvoyer ModifierRDVPlanningHeuresTousRdvUniColb(oRdv) +fin +sinon +//1 : Uniquement celle-ci +//2 : Toutes les occurrences +selon Dialogue( +"Ce rendez-vous a été créé sur plusieurs jours. Souhaitez-vous modifier l'ensemble des +occurrences ou uniquement celle-ci " +) +// Uniquement celle-ci +cas 1 +renvoyer ModifierRDVPlanningHeuresUnRdv(oRdv) +// Toutes les occurrences +cas 2 +renvoyer ModifierRDVPlanningHeuresRDVGroupeDate(oRdv) +fin +fin +sinon si oRdv:nIDGroupe > 0 alors +//1 : Uniquement celle-ci +//2 : Toutes les occurrences +selon Dialogue( +"Ce rendez-vous a été créé avec plusieurs collaborateurs. Souhaitez-vous modifier l'ensemble des +occurrences ou uniquement celle-ci" +06/08/2026 Batik 6330 + +Partie 7 › Collection de procédures › Lib_Planning › Code +) +// Uniquement celle-ci +cas 1 +renvoyer ModifierRDVPlanningHeuresUnRdv(oRdv) +// Toutes les occurrences +cas 2 +renvoyer ModifierRDVPlanningHeuresRDVGroupe(oRdv) +fin +sinon +renvoyer ModifierRDVPlanningHeuresUnRdv(oRdv) +fin +renvoyer Faux +Procédure globale ModifierRDVPlanningHeuresRDVGroupe +procédure ModifierRDVPlanningHeuresRDVGroupe(oRdv est un MRDV) +//SI PAS oRdv:bSuperposable ALORS +// +// saCR est une chaîne ANSI +// oRdv:FiltreColb() +// saCR += " AND PL_IDGroupe <> "+oRdv:nIDGroupe +// saCR += " AND PL_IDCollaborateur IN (" +// POUR TOUT nIdColb, i de oRdv:tbListeColb +// SI Val(i) > 1 ALORS +// saCR += "," +// FIN +// saCR+= nIdColb +// FIN +// saCR += ")" +// saCR += " AND PL_DateDebut < '"+oRdv:dhDateFin+"'" +// saCR += " AND PL_DateFin > '"+oRdv:dhDateDebut+"'" +// +// SI PAS GestionConflitRDVRequete(saCR) ALORS +// RENVOYER Faux +// FIN +// +//fin +reqModif est une Requête SQL = +[ +UPDATE Planning_RDV +SET PL_DateDebut = LEFT(PL_DateDebut,8)+{p_DateDeb}, PL_DateFin = LEFT(PL_DateFin,8)+{p_DateFin}, +ModifDate = {p_DateJour}, ModifUser = {p_IdUser} , +PL_IdGroupeDate = 0, PL_Superposable = {p_Superposable} +WHERE PL_IDGroupe = {p_IdGroupe} AND Archive = 0 +] +reqModif.p_DateDeb = oRdv.dhDateDebut..PartieHeure +reqModif.p_DateFin = oRdv.dhDateFin..PartieHeure +reqModif.p_DateJour = DateHeureSys() +reqModif.p_IdUser = CollaborateurEnCours:nIdUser +reqModif.p_IdGroupe = oRdv:nIDGroupe +reqModif.p_Superposable = oRdv:bSuperposable +si pas HExécuteRequêteSQL(reqModif,hVérifieIntégrité) alors +//UneErreur:Init(ErreurApp.ErreurHFSQL,"Une erreur est survenue pendant la modification du +rendez-vous.","ModifierRDVPlanningHeuresRDVGroupe") +renvoyer Faux +fin +renvoyer Vrai +Procédure globale ModifierRDVPlanningHeuresRDVGroupeDate +06/08/2026 Batik 6331 + +Partie 7 › Collection de procédures › Lib_Planning › Code +procédure ModifierRDVPlanningHeuresRDVGroupeDate(oRdv est un MRDV) +/********** Gestion conflit RDV *************/ +si pas oRdv:bSuperposable alors +reqDatesest une Requête SQL = +[ +SELECT PL_DateDebut, PL_DateFin, PL_PKID, PL_IDCollaborateur FROM Planning_RDV WHERE Archive = +0 AND PL_IdGroupeDate = {p_IdGroupeDate} +] +//saCr est une chaîne ANSI +saIds est une chaîne ANSI +reqDates.p_IdGroupeDate = oRdv:nIdGroupeDate +si pas HExécuteRequêteSQL(reqDates) alors +//UneErreur.Init(ErreurApp.ErreurHFSQL,"Une erreur s'est produite lors de la gestion des +conflits de rendez-vous.","ModifierTousRdvUniColb") +sinon +pour tout reqDates +dhDateDeb est une DateHeure= reqDates.PL_DateDebut +dhDateFin est une DateHeure= reqDates.PL_DateFin +dhDateDeb..PartieHeure = oRdv.dhDateDebut..PartieHeure +dhDateFin..PartieHeure = oRdv.dhDateFin..PartieHeure +// si saCr = "" alors +// +saCr += "AND ((PL_DateDebut < '"+dhDateFin+"' AND PL_DateFin > '"+dhDateDeb+"' AND PL_IDCollaborateur = +"+reqDates.PL_IDCollaborateur+")" +// sinon +// +saCr += "OR (PL_DateDebut < '"+dhDateFin+"' AND PL_DateFin > '"+dhDateDeb+"' AND PL_IDCollaborateur = +"+reqDates.PL_IDCollaborateur+")" +// FIN +si saIds <> "" alors saIds+= "," +saIds+= reqDates.PL_PKID +fin +fin +// SI saCr <> "" ALORS +// saCr += ")" +// SI saIds <> "" ALORS +// saCr += " AND PL_PKID NOT IN ("+saIds+")" +// FIN +// +// SI PAS GestionConflitRDVRequete(saCr) ALORS +// RENVOYER Faux +// FIN +// FIN +fin +reqModifest une Requête SQL = +[ +UPDATE Planning_RDV +SET PL_DateDebut = LEFT(PL_DateDebut,8)+{p_DateDeb}, PL_DateFin = LEFT(PL_DateFin,8)+{p_DateFin}, +ModifDate = {p_DateJour}, +ModifUser = {p_IdUser} , PL_Superposable = {p_Superposable} +WHERE PL_IdGroupeDate = {p_IdGroupeDate} AND Archive = 0 +] +reqModif.p_DateDeb = oRdv.dhDateDebut.PartieHeure +reqModif.p_DateFin = oRdv.dhDateFin.PartieHeure +06/08/2026 Batik 6332 + +Partie 7 › Collection de procédures › Lib_Planning › Code +reqModif.p_DateJour = DateHeureSys() +reqModif.p_IdUser = CollaborateurEnCours:nIdUser +reqModif.p_IdGroupeDate = oRdv:nIdGroupeDate +reqModif.p_Superposable = oRdv:bSuperposable +si pas HExécuteRequêteSQL(reqModif,hVérifieIntégrité+hVérifieDoublon) alors +//UneErreur:Init(ErreurApp.ErreurHFSQL,"Une erreur est survenue pendant la modification du +rendez-vous.","ModificationRDVPlanningHeures") +renvoyer Faux +fin +renvoyer Vrai +Procédure globale ModifierRDVPlanningHeuresTousRdvUniColb +procédure ModifierRDVPlanningHeuresTousRdvUniColb(oRdv est un MRDV) +/********** Gestion conflit RDV *************/ +si pas oRdv:bSuperposable alors +reqDatesest une Requête SQL = +[ +SELECT PL_DateDebut, PL_DateFin, PL_PKID FROM Planning_RDV WHERE PL_IDCollaborateur = +{p_IdColb} AND Archive = 0 AND PL_IdGroupeDate = {p_IdGroupeDate} +] +//saCr est une chaîne ANSI +saIds est une chaîne ANSI +reqDates.p_IdColb = oRdv:nIDCollaborateur +reqDates.p_IdGroupeDate = oRdv:nIdGroupeDate +si pas HExécuteRequêteSQL(reqDates) alors +UneErreur.Init(ErreurApp.ErreurHFSQL, +"Une erreur s'est produite lors de la gestion des conflits de rendez-vous.", +"ModifierTousRdvUniColb") +sinon +pour tout reqDates +dhDateDeb est une DateHeure= reqDates.PL_DateDebut +dhDateFin est une DateHeure= reqDates.PL_DateFin +dhDateDeb..PartieHeure = oRdv.dhDateDebut..PartieHeure +dhDateFin..PartieHeure = oRdv.dhDateFin..PartieHeure +si saIds <> "" alors saIds+= "," +saIds+= reqDates.PL_PKID +// SI saCr = "" ALORS +// saCr += "AND ((PL_DateDebut < '"+dhDateFin+"' AND PL_DateFin > '"+dhDateDeb+"')" +// SINON +// saCr += "OR (PL_DateDebut < '"+dhDateFin+"' AND PL_DateFin > '"+dhDateDeb+"')" +// FIN +fin +fin +// SI saCr <> "" ALORS +// saCr += ")" +// si saIds <> "" alors +// saCr += " AND PL_PKID NOT IN ("+saIds+")" +// saCr += " AND PL_IDCollaborateur = "+oRdv:nIDCollaborateur +// FIN +// +// si pas GestionConflitRDVRequete(saCr) alors +// renvoyer faux +// FIN +// FIN +06/08/2026 Batik 6333 + +Partie 7 › Collection de procédures › Lib_Planning › Code +fin +/********** Modification RDV *************/ +reqModifest une Requête SQL = +[ +UPDATE Planning_RDV +SET PL_DateDebut = LEFT(PL_DateDebut,8)+{p_DateDeb}, PL_DateFin = LEFT(PL_DateFin,8)+{p_DateFin}, +ModifDate = {p_DateJour}, ModifUser = {p_IdUser} , +PL_IdGroupeDate = {p_NewIdGroupeDate} , PL_IDGroupe = 0 +WHERE PL_IdGroupeDate = {p_IdGroupeDate} AND Archive = 0 AND PL_IDCollaborateur = {p_IdColb} +] +reqModif.p_DateDeb = oRdv.dhDateDebut..PartieHeure +reqModif.p_DateFin = oRdv.dhDateFin..PartieHeure +reqModif.p_DateJour = DateHeureSys() +reqModif.p_IdUser = CollaborateurEnCours:nIdUser +reqModif.p_IdGroupeDate = oRdv:nIdGroupeDate +reqModif.p_IdColb = oRdv:nIDCollaborateur +// Il faut le dissocier des autres rendez-vous des collaborateurs afin de ne plus le modifier. +reqModif.p_NewIdGroupeDate = CreaCompteur(cCptGroupeRDVDate) +si pas HExécuteRequêteSQL(reqModif,hVérifieIntégrité+hVérifieDoublon) alors +//UneErreur:Init(ErreurApp.ErreurHFSQL,"Une erreur est survenue pendant la modification du +rendez-vous.","ModificationRDVPlanningHeures") +renvoyer Faux +sinon +renvoyer Vrai +fin +Procédure globale ModifierRDVPlanningHeuresUnRdv +procédure ModifierRDVPlanningHeuresUnRdv(oRdv est un MRDV) +//SI PAS oRdv:bSuperposable ALORS +// +// saCR est une chaîne ANSI +// saCR += " AND PL_PKID NOT IN ("+oRdv:nPKID+")" +// saCR += " AND PL_IDCollaborateur = "+oRdv:nIDCollaborateur +// saCR += " AND PL_DateDebut < '"+oRdv:dhDateFin+"'" +// saCR += " AND PL_DateFin > '"+oRdv:dhDateDebut+"'" +// +// si pas GestionConflitRDVRequete(saCR) alors +// renvoyer faux +// FIN +// +//FIN +si HLitRecherchePremier(Planning_RDV,PL_PKID,oRdv:nPKID) alors +Planning_RDV.PL_DateDebut = oRdv:dhDateDebut +Planning_RDV.PL_DateFin = oRdv:dhDateFin +Planning_RDV.ModifDate = DateHeureSys() +Planning_RDV.ModifUser = CollaborateurEnCours:nIdUser +Planning_RDV.PL_IdGroupeDate = 0 +Planning_RDV.PL_IDGroupe = 0 +si pas HModifie(Planning_RDV) alors +//UneErreur:Init(ErreurApp.Fonctionnelle,"Une erreur est survenue pendant la modification du +rendez-vous.","ModifierRDVPlanningHeureUnRdv") +renvoyer Faux +fin +fin +renvoyer Vrai +Procédure globale PlanningChargeRDVS +06/08/2026 Batik 6334 + +Partie 7 › Collection de procédures › Lib_Planning › Code +procédure PlanningChargeRDVS(NomFenetre est une chaîne ANSI,stPrefUserAGD est un ST_ChoixAGD,tabIdsColb +est un tableau d'entiers sur 8 octets... +,dhDateDeb est une DateHeure,dhDateFin est une DateHeure, local sIdColb est une chaîne ANSI = "" ,local +nIdRdv est un entier sur 8 octets = 0) +si tabIdsColb..Occurrence <= 0 alors +renvoyer Faux +fin +sRqSql est une chaîne ANSI = PlanningRqSQL(stPrefUserAGD,tabIdsColb,dhDateDeb,dhDateFin, nIdRdv) +si sRqSql = "" alors +renvoyer Faux +fin +sdRDVs est une Source de Données +si pas HExécuteRequêteSQL(sdRDVs,hRequêteDéfaut,sRqSql) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","PlanningChargeRDVS") +sinon +nIdRdvCours est un entier sur 8 octets +pour tout sdRDVs +si nIdRdvCours <> sdRDVs.RVC_PKID alors +si gtabListeCollaborateurs[sdRDVs.RVC_GUID_Colb]..Existe = Vrai _et_ +gtabListeCollaborateurs[sdRDVs.RVC_GUID_Colb].nPKID > 0 alors +sIdColbRes est une chaîne ANSI = sIdColb+gtabListeCollaborateurs[sdRDVs. +RVC_GUID_Colb].nPKID +unRdv est un RendezVous +unRdv.Ressource = sIdColbRes +PlanningRempliObjRDV(unRdv,sdRDVs,stPrefUserAGD) +WL.PlanningAjouteRendezVous(NomFenetre, unRdv) +fin +fin +nIdRdvCours = sdRDVs.RVC_PKID +fin +fin +Procédure globale PlanningRempliObjRDV +procédure PlanningRempliObjRDV(unRdv est un RendezVous, sdRDVs est un Source de Données, gstPrefUserAGD +est un ST_ChoixAGD) +si gtabListeCollaborateurs[sdRDVs.RVC_GUID_Colb]..Existe alors +unRdv.Note = gtabListeCollaborateurs[sdRDVs.RVC_GUID_Colb].NomPrenom() +fin +unRdv.DateDébut = sdRDVs.RVC_DateDeb +unRdv.DateFin = sdRDVs.RVC_DateFin +unRdv.ID = sdRDVs.RV_PKID +unRdv.Lieu = sdRDVs.RVC_PKID +unRdv.Extra[RDV_Collaborateur.RVC_GUID_RDV..Nom] = sdRDVs.RVC_GUID_RDV +unRdv.Extra[RDV_Collaborateur.RVC_GUID_Colb..Nom] = sdRDVs.RVC_GUID_Colb +scouleur est une chaîne ANSI = DonneCouleurRDV(sdRDVs.RV_CleType) +sEtatCouleur est une chaîne ANSI = DonneEtatRDV(sdRDVs.RV_CleStatut) +unRdv.Catégorie = scouleur +unRdv.CouleurFond= sEtatCouleur +si sdRDVs.RV_Groupe alors +unRdv..Image=fExtraitChemin(FEN_Menu.IMG_Lien, fFichier + fExtension) +06/08/2026 Batik 6335 + +Partie 7 › Collection de procédures › Lib_Planning › Code +sinon +unRdv..Image="" +fin +unRdv.Titre = "" +pour tout stChoix de gstPrefUserAGD.tabTitreRDV +selon stChoix.saOption +cas cAGD_HRDV +si DateValide(sdRDVs.RVC_DateDeb..PartieDate) et DateValide(sdRDVs.RVC_DateFin..PartieDate +) alors +unRdv.Titre += [RC]+HeureVersChaîne(sdRDVs.RVC_DateDeb..PartieHeure,"HH:mm")+" - "+ +HeureVersChaîne(sdRDVs.RVC_DateFin..PartieHeure,"HH:mm") +fin +autre cas +unRdv.Titre += [RC]+{sdRDVs+"."+stChoix.saOption} +fin +fin +unRdv.Contenu = "" +pour tout stChoix de gstPrefUserAGD.tabDescrRDV +selon stChoix.saOption +cas cAGD_HRDV +si DateValide(sdRDVs.RVC_DateDeb..PartieDate) et DateValide(sdRDVs.RVC_DateFin..PartieDate +) alors +unRdv.Contenu += [RC]+HeureVersChaîne(sdRDVs.RVC_DateDeb..PartieHeure,"HH:mm")+" - "+ +HeureVersChaîne(sdRDVs.RVC_DateFin..PartieHeure,"HH:mm") +fin +autre cas +unRdv.Contenu += [RC]+{sdRDVs+"."+stChoix.saOption} +fin +fin +unRdv.Bulle = "" +pour tout stChoix de gstPrefUserAGD.tabBulleRDV +selon stChoix.saOption +cas cAGD_HRDV +si DateValide(sdRDVs.RVC_DateDeb..PartieDate) et DateValide(sdRDVs.RVC_DateFin..PartieDate +) alors +unRdv.Bulle += [RC]+HeureVersChaîne(sdRDVs.RVC_DateDeb..PartieHeure,"HH:mm")+" - "+ +HeureVersChaîne(sdRDVs.RVC_DateFin..PartieHeure,"HH:mm") +fin +autre cas +unRdv.Bulle += [RC]+{sdRDVs+"."+stChoix.saOption} +fin +fin +Procédure globale PlanningRessourceNom +procédure PlanningRessourceNom(saGUIDColb est une chaîne ANSI = "", sRessource est une chaîne ANSI = "" +) +sNom est une chaîne = "" +CoulerSoc est un Couleur = Blanc +si gtabListeCollaborateurs[saGUIDColb]..Existe _et_ gtabListeCollaborateurs[saGUIDColb].clUtilisateur. +nIDSocietePrincipale <> 0 alors +sCouleurChaine est une chaîne ANSI= PreferenceCouleurSoc(c_CouleurSociete,gtabListeCollaborateurs[ +saGUIDColb].clUtilisateur.nIDSocietePrincipale) +si sCouleurChaine <> "" alors CoulerSoc = sCouleurChaine // pour éviter la couleur null donc Noir +fin +06/08/2026 Batik 6336 + +Partie 7 › Collection de procédures › Lib_Planning › Code +sNom = gPoliceGras(Vrai)+gStylo(CoulerSoc)+"# "+gStylo(Noir)+sRessource +renvoyer sNom +Procédure globale PlanningRqSQL +procédure PlanningRqSQL(gstPrefUserAGD est un ST_ChoixAGD,tabIdsColb est un tableau d'entiers sur 8 +octets... +,dhDateDeb est une DateHeure,dhDateFin est une DateHeure, local nIdRdv est un entier sur 8 octets = 0) +bInter , bSite, bAdresse, bContact, bTypeRDV sont des booléens +pour tout stChoix de gstPrefUserAGD.tabTitreRDV +selon stChoix.saOption +cas cAGD_NDevis, cAGD_NInter,cAGD_RefExtInter +bInter = Vrai +cas cAGD_SiteNom +bSite = Vrai +cas cAGD_Site +bSite = Vrai +bAdresse = Vrai +cas cAGD_Contact +bContact = Vrai +cas cAGD_TypeRDV +bTypeRDV = Vrai +autre cas +fin +fin +pour tout stChoix de gstPrefUserAGD.tabDescrRDV +selon stChoix.saOption +cas cAGD_NDevis, cAGD_NInter,cAGD_RefExtInter +bInter = Vrai +cas cAGD_SiteNom +bSite = Vrai +cas cAGD_Site +bSite = Vrai +bAdresse = Vrai +cas cAGD_Contact +bContact = Vrai +cas cAGD_TypeRDV +bTypeRDV = Vrai +autre cas +fin +fin +pour tout stChoix de gstPrefUserAGD.tabBulleRDV +selon stChoix.saOption +cas cAGD_NDevis, cAGD_NInter,cAGD_RefExtInter +bInter = Vrai +cas cAGD_SiteNom +bSite = Vrai +cas cAGD_Site +bSite = Vrai +bAdresse = Vrai +cas cAGD_Contact +bContact = Vrai +cas cAGD_TypeRDV +bTypeRDV = Vrai +autre cas +06/08/2026 Batik 6337 + +Partie 7 › Collection de procédures › Lib_Planning › Code +fin +fin +saGuids est une chaîne ANSI +pour tout nIdColb de tabIdsColb +si nIdColb > 0 _et_ gtabListeCollaborateurs[nIdColb]..Existe _et_ gtabListeCollaborateurs[nIdColb]. +saGUID <> "" alors +si saGuids <> "" alors saGuids += "," +saGuids += "'"+gtabListeCollaborateurs[nIdColb].saGUID+"'" +fin +fin +si saGuids = "" alors renvoyer "" +sSelect est une chaîne ANSI = +"SELECT RVC_PKID, RVC_GUID_RDV,RVC_GUID_Colb, RVC_DateDeb, RVC_DateFin, RV_PKID,RV_Objet, +RV_Description,RV_CleType, RV_CleStatut, RV_PlusieursJours, RV_Groupe " +sFrom est une chaîne ANSI = " FROM RDV_Collaborateur " +sFrom += " INNER JOIN RDV_Planning ON RDV_Planning.GUID = RVC_GUID_RDV " +sWhere est une chaîne ANSI = " WHERE RDV_Collaborateur.Archive = 0 AND RDV_Planning.Archive = 0 " +sWhere += " AND RVC_GUID_Colb IN ("+saGuids+") " +sWhere += " AND (RVC_DateDeb BETWEEN '"+dhDateDeb+"' AND '"+dhDateFin+"')" +sWhere += " AND RVC_CleStatut <>'"+cCle_RDVAPlanifier+"'" +si nIdRdv > 0 alors +sWhere += " AND RVC_PKID="+nIdRdv+"" +fin +//sWhere += " ORDER BY PL_PKID" +sGroupBy est une chaîne ANSI = +" GROUP BY RVC_PKID, RVC_GUID_RDV,RVC_GUID_Colb, RVC_DateDeb, RVC_DateFin, RV_PKID,RV_Objet, +RV_Description,RV_CleType, RV_CleStatut, RV_PlusieursJours, RV_Groupe" +si bInter alors +sSelect += ",IN_NumDevis, IN_RefInterne, IN_RefExterne" +sFrom += " LEFT OUTER JOIN Intervention on (IN_PKID = RV_IdInter) " +sGroupBy += ",IN_NumDevis, IN_RefInterne, IN_RefExterne" +fin +si bSite alors +sSelect += " ,LI_CodeLieu as SiteNom" +sFrom += " LEFT OUTER JOIN Lieu ON (Lieu.LI_PKID=RV_IdLieu) " +sGroupBy += ",SiteNom" +si bAdresse alors +sSelect += ",AD_Adresse AS Site" +sFrom += " LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) " +sGroupBy += ",Site" +fin +fin +si bContact alors +sSelect += +",GROUP_CONCAT( CONCAT(personne.PE_Nom, ' ', Personne.PE_Prenom) SEPARATOR ' ; ' ) as Contact" +sFrom += " LEFT OUTER JOIN RDV_Contact ON RDV_Contact.RVCT_GUID_RDV = RVC_GUID_RDV " +sFrom += " LEFT OUTER JOIN Personne ON (Personne.GUID=RVCT_GUID_Pers) " +fin +si bTypeRDV alors +sSelect += ",PA_Libelle as TypeRDV " +sFrom += +" LEFT OUTER JOIN ParametreMetier ON (ParametreMetier.PA_CLE=RDV_Planning.RV_CleType) " +sGroupBy += ",TypeRDV" +fin +06/08/2026 Batik 6338 + +Partie 7 › Collection de procédures › Lib_Planning › Code +sRqSql est une chaîne ANSI = sSelect+sFrom+sWhere+sGroupBy+" ORDER BY RVC_GUID_RDV" +renvoyer sRqSql +Procédure globale SupprimerRDV +procédure SupprimerRDV(UnRdv est un RendezVous) +bUniquementLeRdv est un booléen = Faux +bUniquementGroupeColb est un booléen = Faux +bToutesRdvs est un booléen = Faux +bToutesRdvsColb est un booléen = Faux +dhDateD est une DateHeure= UnRdv.DateDébut +dhDateF est une DateHeure= UnRdv.DateFin +dhDateD..Jour -= 1 +dhDateD..PartieHeure = "235959000" +dhDateF..PartieHeure = "235959000" +si pas HLitRecherchePremier(RDV_Planning,RV_PKID,UnRdv.ID) alors +UneErreur:Init(ErreurApp.Fonctionnelle,"Rendez-vous non trouvé","ArchiverRDV") +renvoyer Faux +fin +si RDV_Planning.RV_PlusieursJours alors +si RDV_Planning.RV_Groupe alors +selon Ouvre(FEN_Choix_Modif_Dates_RDV, +"Ce rendez-vous a été créé sur plusieurs jours avec plusieurs collaborateurs. Vous souhaitez +supprimer :" +) +// Tous rendez-vous et pour tous les collaborateurs +cas 1 +bToutesRdvs = Vrai +// Uniquement cette occurrence et pour tous les collaborateurs +cas 2 +bUniquementGroupeColb = Vrai +// Uniquement cette occurrence et ce collaborateur +cas 3 +bUniquementLeRdv = Vrai +// Tous rendez-vous et uniquement pour ce collaborateur +cas 4 +bToutesRdvsColb = Vrai +fin +sinon +selon Dialogue( +"Ce rendez-vous a été créé sur plusieurs jours. Souhaitez-vous modifier l'ensemble des +occurrences ou uniquement celle-ci " +) +// Uniquement celle-ci +cas 1 +bUniquementLeRdv = Vrai +// Toutes les occurrences +cas 2 +bToutesRdvs = Vrai +fin +fin +sinon si RDV_Planning.RV_Groupe alors +//1 : Uniquement celle-ci +//2 : Toutes les occurrences +selon Dialogue( +"Ce rendez-vous a été créé avec plusieurs collaborateurs. Souhaitez-vous modifier l'ensemble des +occurrences ou uniquement celle-ci " +06/08/2026 Batik 6339 + +Partie 7 › Collection de procédures › Lib_Planning › Code +) +// Uniquement celle-ci +cas 1 +bUniquementLeRdv = Vrai +// Toutes les occurrences +cas 2 +bUniquementGroupeColb = Vrai +fin +sinon +si OuiNon("Êtes-vous sûr de vouloir supprimer le rendez-vous sélectionné ?") = Oui alors +bUniquementLeRdv = Vrai +sinon +renvoyer Faux +fin +fin +reqModif est une Requête SQL = +[ +UPDATE RDV_Collaborateur +SET Archive = 1 +WHERE RVC_GUID_RDV = {p_GuidRdv} AND Archive = 0 AND RVC_DateDeb > {p_DateD} AND RVC_DateFin < +{p_DateF} +AND RVC_PKID = {p_IdRdv} AND RVC_GUID_Colb = {p_GUIDColbs} +] +reqModif.p_GuidRdv = UnRdv.Extra[RDV_Collaborateur.RVC_GUID_RDV..Nom] +reqModif.p_IdRdv = Null +reqModif.p_DateD = Null +reqModif.p_DateF = Null +reqModif.p_GUIDColbs = Null +si bUniquementLeRdv alors +reqModif.p_IdRdv = Val(UnRdv.Lieu) +sinon si bUniquementGroupeColb _et_ RDV_Planning.RV_Groupe alors +reqModif.p_DateD = dhDateD +reqModif.p_Datef = dhDateF +sinon si bToutesRdvs _et_ RDV_Planning.RV_PlusieursJours alors +// rien +sinon si bToutesRdvsColb alors +reqModif.p_GUIDColbs = UnRdv.Extra[RDV_Collaborateur.RVC_GUID_Colb..Nom] +fin +si pas HExécuteRequêteSQL(reqModif,hVérifieIntégrité) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue pendant la modification du rendez-vous.","SupprimerRDV") +renvoyer Faux +fin +//Mise à jour du rendez-vous principal +reqRdv est une Requête SQL = +[ +SELECT RDV_Planning.*, RDV_Collaborateur.* +FROM RDV_Planning +INNER JOIN RDV_Collaborateur ON (RDV_Collaborateur.RVC_GUID_RDV = RDV_Planning.GUID AND +RDV_Collaborateur.Archive = 0) +WHERE RV_PKID = {p_Id} ORDER BY RVC_GUID_Colb +] +reqRdv.p_Id = UnRdv.ID +nNbRdv est un entier +nNbColbs est un entier +06/08/2026 Batik 6340 + +Partie 7 › Collection de procédures › Lib_Planning › Code +si HExécuteRequêteSQL(reqRdv) alors +pour tout reqRdv +si UnRdv.Extra[RDV_Collaborateur.RVC_GUID_Colb..Nom] <> reqRdv.RVC_GUID_Colb alors +nNbColbs += 1 +fin +si reqRdv.RVC_DateDeb..PartieDate <> UnRdv.DateDébut.PartieDate alors +nNbRdv += 1 +fin +fin +fin +si HLitRecherchePremier(RDV_Planning,RV_PKID,UnRdv.ID) alors +RDV_Planning.RV_PlusieursJours = Faux +RDV_Planning.RV_Groupe = Faux +si nNbRdv > 0 alors +RDV_Planning.RV_PlusieursJours = Vrai +fin +si nNbColbs > 0 alors +RDV_Planning.RV_Groupe = Vrai +fin +si nNbColbs <= 0 _et_ nNbRdv <= 0 alors +RDV_Planning.Archive = 1 +fin +RDV_Planning.ModifDate = DateHeureSys() +RDV_Planning.ModifUser = CollaborateurEnCours.nIdUser +si pas HEnregistre(RDV_Planning) alors +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Une erreur est survenue pendant la modification du rendez-vous.","SupprimerRDV") +renvoyer Faux +fin +fin +renvoyer Vrai +Procédure globale SupprimerRdvApresModif +procédure SupprimerRdvApresModif(tbRdv est un tableau d'entiers sur 8 octets) +/** Nous devons créer de nouveaux rendez-vous si la date change sur plusieurs jours ou ajout ou +modification de collaborateurs +alors on recrée le rendez-vous, puis on Supprime le rendez-vous de Base**/ +si tbRdv..Occurrence > 0 alors +reqCtcDel est une Requête SQL = +[ +DELETE FROM Planning_RDV_Personne +WHERE PRP_IDRdv IN ({p_IdRdvs}) +] +reqCtcDel.p_IdRdvs = TableauVersChaîne(tbRdv,";") +si pas HExécuteRequêteSQL(reqCtcDel,hVérifieIntégrité) alors +//UneErreur.Init(ErreurApp.ErreurHFSQL,"Une erreur se produit lors de la mise à jour du +rendez-vous","SupprimerRdvApresModif") +renvoyer Faux +fin +reqRdvDel est une Requête SQL = +[ +UPDATE Planning_RDV SET Archive = 1 +WHERE PL_PKID IN ({p_IdRdvs}) +06/08/2026 Batik 6341 + +Partie 7 › Collection de procédures › Lib_Planning › Code +] +reqRdvDel.p_IdRdvs = TableauVersChaîne(tbRdv,";") +si pas HExécuteRequêteSQL(reqRdvDel,hVérifieIntégrité) alors +//UneErreur:Init(ErreurApp.ErreurHFSQL,"Une erreur se produit lors de la mise à jour du +rendez-vous","SupprimerRdvApresModif") +renvoyer Faux +fin +fin +renvoyer Vrai +06/08/2026 Batik 6342 + +Partie 7 › Collection de procédures › Lib_Commun › Code +Lib_Commun +Code +Procédure globale ConcatenationChaine +procédure ConcatenationChaine(saChainePrincipal est une chaîne ANSI, saChaineSec est une chaîne ANSI) +si SansEspace(saChaineSec) <> "" alors +si SansEspace(saChainePrincipal) <> "" alors +saChainePrincipal = SansEspace(saChainePrincipal,sscExtérieur)+" " +fin +saChainePrincipal += SansEspace(saChaineSec,sscExtérieur) +fin +Procédure globale ControlTemps +procédure ControlTemps(tbRdvTemps est un tableau de RendezVous) +TableauTrie(tbRdvTemps,ttMembre,"Ressource;DateDébut;DateFin") +dhDateFin est une DateHeure +dhDateFin..Année = 5000 // Date très futur car par defaut la date est la date du jour +i est un entier +b est un entier +saGUIDRdv est une chaîne ANSI +nRdv est un entier = tbRdvTemps..Occurrence +UnRdv est un RendezVous +bAjout est un booléen +// Ce traitement parcourt le tableau des rendez-vous (tbRdvTemps) trié par DateDébut/DateFin. +// Pour chaque IdRdv, il ajuste les dates de fin afin d’éviter les chevauchements, +// et génère si besoin un créneau complémentaire (UnRdv) en s’appuyant sur les dates cibles stockées +dans les champs Extra (cExtra_DateF_SDT ou cExtra_DateF_PL). +// Les nouveaux créneaux sont insérés dans le tableau puis retries +uniquement si créneau disponible dans l'agenda collaborateur. +si tbRdvTemps..Occurrence > 0 alors +boucle +b+= 1 +tbRdvTemps[b].id = b +// aucun modification est apporté pour le saisie de temps sans lien avec un rendez-vous +si tbRdvTemps[b].extra[cExtra_GUIDRdvColb] <> "" alors +si saGUIDRdv = tbRdvTemps[b].Extra[cExtra_GUIDRdvColb] alors +si b > 1 _et_ tbRdvTemps[b].DateDébut < dhDateFin alors +si tbRdvTemps[i].DateDébut = tbRdvTemps[b].DateDébut alors +// temps qui commence a la mème heure donc en retard le temps en cours +tbRdvTemps[b].DateDébut = dhDateFin +sinon +tbRdvTemps[i].DateFin= tbRdvTemps[b].DateDébut +// on finalise l'autre temps plus temps +fin +// Création de rdv tampon +si tbRdvTemps[b].DateFin < dhDateFin alors +si Val(UnRdv.Auteur) = b alors +// Il n'est peux pas exister deux rendez-vous tampon +UnRdv2 est un RendezVous +06/08/2026 Batik 6343 + +Partie 7 › Collection de procédures › Lib_Commun › Code +UnRdv2 = tbRdvTemps[i] +UnRdv2.DateDébut = tbRdvTemps[b].DateFin +si DateValide(UnRdv2.Extra[cExtra_DateF_SDT]) alors +UnRdv2.DateFin = UnRdv2.Extra[cExtra_DateF_SDT] +sinon si DateValide(UnRdv2.Extra[cExtra_DateF_PL]) alors +UnRdv2.DateFin = UnRdv2.Extra[cExtra_DateF_PL] +fin +TableauAjoute(tbRdvTemps,UnRdv2) +TableauTrie(tbRdvTemps,ttMembre,"Ressource;DateDébut;DateFin") +nRdv = tbRdvTemps..Occurrence +UnRdv.Auteur = b+1 +sinon +UnRdv = tbRdvTemps[i] +UnRdv.DateDébut = tbRdvTemps[b].DateFin +si DateValide(UnRdv.Extra[cExtra_DateF_SDT]) alors +UnRdv.DateFin = UnRdv.Extra[cExtra_DateF_SDT] +sinon si DateValide(UnRdv.Extra[cExtra_DateF_PL]) alors +UnRdv.DateFin = UnRdv.Extra[cExtra_DateF_PL] +fin +UnRdv.Auteur = b+1 +fin +fin +sinon +si Val(UnRdv.Auteur) = b alors // je verifie +les heures car il n'est peux pas avoir de trou +si tbRdvTemps[b].DateDébut > UnRdv.DateDébut _et_ tbRdvTemps[b].DateFin < +UnRdv.DateFin alors +UnRdv2 est un RendezVous = UnRdv +UnRdv2.Datefin = tbRdvTemps[b].DateDébut +TableauAjoute(tbRdvTemps,UnRdv2) +TableauTrie(tbRdvTemps,ttMembre,"Ressource;DateDébut;DateFin") +nRdv = tbRdvTemps..Occurrence +b+= 1 +i+= 1 +UnRdv.Auteur = b +fin +fin +fin +//Ajout ou modification de rdv tampon +bAjout = Faux +si Val(UnRdv.Auteur) = b alors +si tbRdvTemps[b].DateFin < UnRdv.DateFin alors +UnRdv.DateDébut = tbRdvTemps[b].DateFin +UnRdv.Auteur = b+1 +sinon si tbRdvTemps[b].DateFin = UnRdv.DateFin alors +UnRdv.Datefin = tbRdvTemps[b].DateDébut +bAjout = Vrai +sinon si tbRdvTemps[b].DateDébut >= UnRdv.DateFin alors +bAjout = Vrai +sinon si UnRdv.DateFin > tbRdvTemps[b].DateDébut alors +UnRdv.DateFin = tbRdvTemps[b].DateDébut +bAjout = Vrai +sinon +UnRdv.Auteur = 0 // Le rendez vous na pas lieu d’être +fin +si bAjout alors +dhDateFin = tbRdvTemps[b].DateFin +UnRdv.ID = b+1 +06/08/2026 Batik 6344 + +Partie 7 › Collection de procédures › Lib_Commun › Code +TableauAjoute(tbRdvTemps,UnRdv) +TableauTrie(tbRdvTemps,ttMembre,"Ressource;DateDébut;DateFin") +nRdv = tbRdvTemps..Occurrence +i+= 1 +b+= 1 +UnRdv.Auteur = 0 +fin +dhDateFin = tbRdvTemps[b].DateFin +sinon +dhDateFin = tbRdvTemps[b].DateFin +fin +sinon +saGUIDRdv = tbRdvTemps[b].Extra[cExtra_GUIDRdvColb] +si Val(UnRdv.Auteur) > 0 alors +si UnRdv.Ressource <> tbRdvTemps[b].Ressource alors +UnRdv.ID = b +tbRdvTemps[b].id = b+1 +TableauAjoute(tbRdvTemps,UnRdv) +TableauTrie(tbRdvTemps,ttMembre,"Ressource;DateDébut;DateFin") +nRdv = tbRdvTemps..Occurrence +i+= 1 +b+= 1 +UnRdv.Auteur = 0 +fin +sinon +dhDateFin = tbRdvTemps[b].DateFin +fin +fin +fin +si Val(UnRdv.Auteur) > 0 alors +UnRdv.Auteur = b+1 +fin +i += 1 +si i >= nRdv alors +sortir +fin +fin +si Val(UnRdv.Auteur) > 0 alors +UnRdv.ID = Val(UnRdv.Auteur)+1 +TableauAjoute(tbRdvTemps,UnRdv) +TableauTrie(tbRdvTemps,ttMembre,"Ressource;DateDébut;DateFin") +fin +fin +Procédure globale CreaCompteur +procédure CreaCompteur(saCode est une chaîne ANSI) +si saCode = "" alors +renvoyer 0 +fin +si pas HLitRecherchePremier(Compteur,CPT_Code,saCode) alors +HRAZ(Compteur) +Compteur.CPT_Code = saCode +Compteur.CPT_Actif = Vrai +fin +06/08/2026 Batik 6345 + +Partie 7 › Collection de procédures › Lib_Commun › Code +Compteur.CPT_Valeur += 1 +si pas HEnregistre(Compteur) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"Erreur lors de la récupération des identifiants", +"CreaCompteur") +renvoyer 0 +fin +renvoyer Compteur.CPT_Valeur +Procédure globale DonneChaineNomVariable +procédure DonneChaineNomVariable(saChaine est une chaîne ANSI) +saChaine= RegexReplace(saChaine, "[^A-Za-zÀ-ÖØ-öø-ÿ ]", "") +saChaine= SansAccent(saChaine) +saChaine= Remplace(saChaine," ","_") +renvoyer saChaine +Procédure globale DonneLibInter +procédure DonneLibInter(local oInter est un MIntervention) +sTitreOnglet est une chaîne = "" +saValeur est une chaîne ANSI +si CollaborateurEnCours:nPKID > 0 _et_ CollaborateurEnCours:clUtilisateur:tbaParametres..Occurrence > 0 +_et_ CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_TrieInter]..Existe +alors +saValeur = CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_TrieInter +].saValeur +fin +nIndice est un entier = Val(ExtraitChaîne(saValeur,2,"_",DepuisDébut)) +selon nIndice +cas C_ParDDemd +sTitreOnglet = oInter:dhCreationDate <>"" ? DateVersChaîne(oInter:dhCreationDate, "JJ MMM AAAA" +) sinon oInter:saRefInterne +cas C_ParNumInter +sTitreOnglet = oInter:saRefInterne +cas C_ParTitre +sTitreOnglet = oInter:saTitre <>"" ? oInter:saTitre sinon oInter:saRefInterne +cas C_ParNumDevis +sTitreOnglet = oInter:saNumDevis <>"" ? oInter:saNumDevis sinon oInter:saRefInterne +cas C_ParRefExt +sTitreOnglet = oInter:saRefExterne <>"" ? oInter:saRefExterne sinon oInter:saRefInterne +autre cas +sTitreOnglet = oInter:saTitre <>"" ? oInter:saTitre sinon oInter:saRefInterne +fin +renvoyer sTitreOnglet +Procédure globale DonneSousLibInter +procédure DonneSousLibInter(local oInter est un MIntervention) +sTitreOnglet est une chaîne = "" +saValeur est une chaîne ANSI +06/08/2026 Batik 6346 + +Partie 7 › Collection de procédures › Lib_Commun › Code +si CollaborateurEnCours:nPKID > 0 _et_ CollaborateurEnCours:clUtilisateur:tbaParametres..Occurrence > 0 +_et_ CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_TrieInter]..Existe +alors +saValeur = CollaborateurEnCours:clUtilisateur:tbaParametres[MParametreUtilisateur::cCHOIX_TrieInter +].saValeur +fin +nIndice est un entier = Val(ExtraitChaîne(saValeur,3,"_",DepuisDébut)) +selon nIndice +cas C_ParDDemd +sTitreOnglet = oInter:dhCreationDate <>"" ? DateVersChaîne(oInter:dhCreationDate, "JJ MMM AAAA" +) sinon oInter:saRefInterne +cas C_ParNumInter +sTitreOnglet = oInter:saRefInterne +cas C_ParTitre +sTitreOnglet = oInter:saTitre <>"" ? oInter:saTitre sinon oInter:saRefInterne +cas C_ParNumDevis +sTitreOnglet = oInter:saNumDevis <>"" ? oInter:saNumDevis sinon oInter:saRefInterne +cas C_ParRefExt +sTitreOnglet = oInter:saRefExterne <>"" ? oInter:saRefExterne sinon oInter:saRefInterne +autre cas +sTitreOnglet = oInter:saTitre <>"" ? oInter:saTitre sinon oInter:saRefInterne +fin +renvoyer sTitreOnglet +Procédure globale DonneUnCtcSiteInter +procédure DonneUnCtcSiteInter(nIdInter est un entier sur 8 octets) +tbCtc est un tableau de MContact_Inter +odCtc est un MContact_Inter dynamique +rqSql est une Requête SQL = +[ +SELECT Personne.*,Intervention_Personne.* +FROM Intervention_Personne +INNER JOIN Intervention ON IN_PKID = IP_IDIntervention +INNER JOIN Personne ON (PE_PKID=IP_IDPersonne) +LEFT JOIN Lieu_Personne ON (LIP_IDLieu = IN_IDLieu AND LIP_IDPersonne = PE_PKID) +WHERE IP_IDIntervention={p_IdInter} AND IP_IDLieu = IN_IDLieu ORDER BY IP_PKID +] +rqSql.p_IdInter = nIdInter +// si il y a un Id lieu il est un contact site +// si il y a un Id Client c'est un donneur d'ordre +si pas HExécuteRequêteSQL(rqSql) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","DonneUnCtcSiteInter") +sinon +nIdPersLieu est un entier sur 8 octets +pour tout rqSql +si nIdPersLieu <> rqSql.IP_PKID alors +odCtc = allouer un MContact_Inter +FichierVersMémoire(odCtc,rqSql) +FichierVersMémoire(odCtc.oPersonne,rqSql) +TableauAjoute(tbCtc,odCtc) +fin +nIdPersLieu = rqSql.IP_PKID +fin +06/08/2026 Batik 6347 + +Partie 7 › Collection de procédures › Lib_Commun › Code +fin +clCtcDemandeur est un MContact_Inter +si tbCtc..Occurrence > 1 alors +pour tout clUnD de tbCtc +clCtcDemandeur = clUnD +si clUnD.bEstDemandeur alors +clCtcDemandeur = clUnD +sortir +fin +fin +sinon si tbCtc..Occurrence > 0 alors +clCtcDemandeur = tbCtc[1] +fin +renvoyer clCtcDemandeur +Procédure globale DonneUnDonneurOrdreInter +procédure DonneUnDonneurOrdreInter(nIdInter est un entier sur 8 octets) +tbCtc est un tableau de MContact_Inter +odCtc est un MContact_Inter dynamique +rqSql est une Requête SQL = +[ +SELECT Personne.*,Intervention_Personne.* +FROM Intervention_Personne +INNER JOIN Intervention ON IN_PKID = {p_IdInter} +INNER JOIN Personne ON (Personne.PE_PKID=Intervention_Personne.IP_IDPersonne) +LEFT JOIN Lieu_Personne ON (LIP_IDLieu = IN_IDLieu AND LIP_IDPersonne = PE_PKID) +WHERE Intervention_Personne.IP_IDIntervention= IN_PKID +AND Intervention_Personne.IP_IDClient=IN_IDClient ORDER BY IP_PKID +] +rqSql.p_IdInter = nIdInter +// si il y a un Id lieu il est un contact site +// si il y a un Id Client c'est un donneur d'ordre +si pas HExécuteRequêteSQL(rqSql) alors +UneErreur.Init(ErreurApp.ErreurHFSQL,"","DonneUnDonneurOrdreInter") +sinon +nIdPersLieu est un entier sur 8 octets +pour tout rqSql +si nIdPersLieu <> rqSql.IP_PKID alors +odCtc = allouer un MContact_Inter +FichierVersMémoire(odCtc,rqSql) +FichierVersMémoire(odCtc.oPersonne,rqSql) +TableauAjoute(tbCtc,odCtc) +fin +nIdPersLieu = rqSql.IP_PKID +fin +fin +clDonneurOrdre est un MContact_Inter +si tbCtc..Occurrence > 1 alors +pour tout clUnD de tbCtc +clDonneurOrdre = clUnD +si clUnD.bEstDemandeur alors +clDonneurOrdre = clUnD +sortir +06/08/2026 Batik 6348 + +Partie 7 › Collection de procédures › Lib_Commun › Code +fin +fin +sinon si tbCtc..Occurrence > 0 alors +clDonneurOrdre = tbCtc[1] +fin +renvoyer clDonneurOrdre +Procédure globale FermerFenSoeurs +procédure FermerFenSoeurs(saNomFenetre est une chaîne ANSI) +gtbaAliasFenSouers[saNomFenetre] = "" +Procédure globale LanceMiseJourWidgetsMenu +procédure LanceMiseJourWidgetsMenu(pProcMisAJour est une procédure) +si pas EnModeTest() alors +quand exception dans +ExécuteThreadPrincipal(pProcMisAJour) +faire +// Rien +fin +sinon +ExécuteThreadPrincipal(pProcMisAJour) +fin +Procédure globale OuvreFenOnglet +procédure OuvreFenOnglet(saNomFenetre est une chaîne ANSI, saLibelle est une chaîne ANSI, saImage est +une chaîne ANSI) +saAlias est une chaîne = gtbaAliasFenOnglet[saNomFenetre] +// Vérifie si la fenêtre n'est pas déjà ouverte +si saAlias = "" alors +NouChamp est un Champ <- OngletOuvre(FEN_Menu.ONG_Menu,saLibelle,saNomFenetre) +NouChamp.Image = {saImage} +gtbaAliasFenOnglet[saNomFenetre] = NouChamp..Alias +sinon +si FEN_Menu.ONG_Menu.Etat(saAlias) = voletInexistant alors +NouChamp est un Champ <- OngletOuvre(FEN_Menu.ONG_Menu,saLibelle,saNomFenetre) +NouChamp.Image = {saImage} +gtbaAliasFenOnglet[saNomFenetre] = NouChamp..Alias +sinon +FEN_Menu.ONG_Menu = saAlias +fin +fin +Procédure globale OuvreFenSouers +procédure OuvreFenSouers(saNomFenetre est une chaîne ANSI,tbaParam est un tableau associatif de chaînes +ANSI) +saAliasFen est une chaîne ANSI = saNomFenetre+"_"+tbaParam[cParam_IdFen] +saAlias est une chaîne = gtbaAliasFenSouers[saAliasFen] +06/08/2026 Batik 6349 + +Partie 7 › Collection de procédures › Lib_Commun › Code +tbaParam[cParam_Alias] = saAliasFen +// Vérifie si la fenêtre n'est pas déjà ouverte +si saAlias = "" alors +gtbaAliasFenSouers[saAliasFen] = saAliasFen +//MDIOuvre(saNomFenetre,saAliasFen,"",saAliasFen,nId) +OuvreSoeur(saNomFenetre,tbaParam) +sinon +FenEtat(saAliasFen, ActifDevant) +ToastAffiche("Fenêtre déjà ouverte",toastCourt,cvMilieu) +renvoyer Vrai +fin +Procédure globale PreferenceCouleurSoc +procédure PreferenceCouleurSoc(sType est une chaîne ANSI, local nIdSoc est un entier sur 8 octets) +spref est une chaîne ANSI +si nIdSoc > 0 alors +si gtabListeSocietes[nIdSoc]..Existe _et_ gtabListeSocietes[nIdSoc].saParametres <> "" alors +si gtabListeSocietes[nIdSoc].stParamSoc.sCouleur <> "" alors +spref = gtabListeSocietes[nIdSoc].stParamSoc.sCouleur +fin +fin +fin +renvoyer spref +Procédure globale RechercheGlobal +procédure RechercheGlobal(saRecherche est une chaîne ANSI) +si SansEspace(saRecherche) = "" alors +renvoyer Faux +fin +si Taille(SansEspace(saRecherche)) <= 2 alors +Info("Vous devez saisir au moins 3 caratères pour réaliser votre recherche") +renvoyer Faux +fin +Sablier(Vrai) +tbResultat est un tableau de ST_RechercheGlobal +pstUnResultat est un ST_RechercheGlobal dynamique +ReqSQLInter est une Requête SQL = +[ +SELECT DISTINCT IN_PKID, IN_IDDossier, IN_RefInterne, IN_CleEtat, IN_Description, IN_NumDevis, +IN_RefExterne, IN_NumFacture, CL_CodeClient, CL_Nom, LI_CodeLieu,AD_CodePostal,AD_Ville +,MATCH(Client.CL_Index_FullText) AGAINST ({p_TermedePerte}) AS PertinenceClient +,MATCH(Lieu.LI_Index_FullText) AGAINST ({p_TermedePerte}) AS PertinenceLieu +,MATCH(Adresse.AD_Index_FullText) AGAINST ({p_TermedePerte}) AS PertinenceAdresse +FROM Intervention +INNER JOIN Dossier ON Dossier.DO_PKID = Intervention.IN_IDDossier +LEFT OUTER JOIN Lieu ON (LI_PKID=IN_IDLieu) +LEFT OUTER JOIN Client ON (CL_PKID=DO_IDClient) +LEFT OUTER JOIN Intervention_Personne ON (IP_IDIntervention=IN_PKID) +LEFT OUTER JOIN Personne ON (PE_PKID=IP_IDPersonne) +LEFT OUTER JOIN Adresse ON (AD_PKID=LI_IDAdresse) +WHERE Dossier.DO_CleStatut <> {p_CleStatutAnnu} AND +(Intervention.IN_RefInterne LIKE {p_TermedeRecherche} +06/08/2026 Batik 6350 + +Partie 7 › Collection de procédures › Lib_Commun › Code +OR Intervention.IN_Description LIKE {p_TermedeRecherche} +OR Intervention.IN_NoteInterne LIKE {p_TermedeRecherche} +OR Intervention.IN_Titre LIKE {p_TermedeRecherche} +OR Intervention.IN_RefExterne LIKE {p_TermedeRecherche} +OR Intervention.IN_NumIntervention LIKE {p_TermedeRecherche} +OR Intervention.IN_NumDevis LIKE {p_TermedeRecherche} +OR Intervention.IN_NumFacture LIKE {p_TermedeRecherche} +OR PertinenceClient > 0 +OR PertinenceLieu > 0 +OR PertinenceAdresse > 0) LIMIT 50 +] +ReqSQLInter.p_TermedeRecherche= "%"+saRecherche+"%" +ReqSQLInter.p_CleStatutAnnu = cCle_DossierAnnule +ReqSQLInter.p_TermedePerte = saRecherche+"*" +// Sites +ReqSQLSite est une Requête SQL = [ +SELECT LI_PKID, LI_CodeLieu,LI_CleType,LI_Note,AD_Adresse,AD_CodePostal, AD_Ville +,MATCH(Lieu.LI_Index_FullText) AGAINST ({p_TermedeRecherche}) AS PertinenceFulltext +,MATCH(Adresse.AD_Index_FullText) AGAINST ({p_TermedeRecherche}) AS PertinenceFulltext2 +FROM Lieu +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Lieu.LI_IDAdresse) +WHERE +PertinenceFulltext >0 +OR PertinenceFulltext2 >0 +ORDER BY PertinenceFulltext DESC,PertinenceFulltext2 DESC LIMIT 50 +] +ReqSQLSite.p_TermedeRecherche = saRecherche+"*" +// Client +ReqSQLClient est une Requête SQL = [ +SELECT CL_PKID,CL_Nom, CL_CleType, CL_CleStatut, CL_Tel, CL_Fax,CL_Email, AD_Adresse, AD_CodePostal +, AD_Ville +, MATCH(Client.CL_Index_FullText) AGAINST ({p_TermedeRecherche}) AS PertinenceFulltext +FROM Client +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=CL_IDAdressePrincipale) +WHERE +PertinenceFulltext >0 +ORDER BY PertinenceFulltext DESC LIMIT 50 +] +ReqSQLClient.p_TermedeRecherche = saRecherche+"*" +// Contact +ReqSQLCtc est une Requête SQL = [ +SELECT PE_PKID, PE_Nom, PE_Prenom, PE_TelFixe, PE_TelMobile, PE_Email,AD_Adresse, AD_CodePostal, +AD_Ville,MATCH(Personne.PE_Index_FullText) AGAINST ({p_TermedeRecherche}) AS PertinenceFulltext +FROM Personne +LEFT OUTER JOIN Adresse ON (Adresse.AD_PKID=Personne.PE_IDAdressePrincipale) +WHERE +PertinenceFulltext >0 +ORDER BY PertinenceFulltext DESC LIMIT 50 +] +ReqSQLCtc.p_TermedeRecherche = saRecherche+"*" +// **************************************************// +// ************exécution des requêtes****************// +// **************************************************// +si HExécuteRequête(ReqSQLInter) alors +pour tout ReqSQLInter +pstUnResultat = allouer un ST_RechercheGlobal +pstUnResultat:saType = Intervention.Nom +pstUnResultat:nPKID = ReqSQLInter.IN_PKID +pstUnResultat:nID_2 = ReqSQLInter.IN_iddossier +pstUnResultat:saInfo_1 = ReqSQLInter.IN_RefInterne +06/08/2026 Batik 6351 + +Partie 7 › Collection de procédures › Lib_Commun › Code +si ReqSQLInter.IN_CleEtat <> "" _et_ gtabParametresMetierCode[cParam_EtatInter][ReqSQLInter. +IN_CleEtat]..Existe = Vrai alors +pstUnResultat:saInfo_2 = gtabParametresMetierCode[cParam_EtatInter][ReqSQLInter.IN_CleEtat +].salibelle +fin +si ReqSQLInter.IN_NumDevis <> "" alors +pstUnResultat:saInfo_3 = "Devis :"+ReqSQLInter.IN_NumDevis +fin +si ReqSQLInter.IN_RefExterne <> "" alors +pstUnResultat:saInfo_3 +=" / Réf. ext : " + ReqSQLInter.IN_RefExterne +fin +si ReqSQLInter.IN_NumFacture <> "" alors +pstUnResultat:saInfo_3 +=" / Num Fact : "+ ReqSQLInter.IN_NumFacture +fin +pstUnResultat:saInfo_4 = ReqSQLInter.LI_CodeLieu <> "" ? "Site : " + ReqSQLInter.LI_CodeLieu+[ +" "]+ReqSQLInter.AD_Ville+[" "]+ReqSQLInter.AD_CodePostal sinon "" +pstUnResultat:saInfo_5 = ReqSQLInter.cl_nom <> "" ? "Client : " + ReqSQLInter.CL_Nom+[" "]+ +ReqSQLInter.CL_CodeClient sinon "" +pstUnResultat:saInfo_6 = RTFVersTexte(ReqSQLInter.IN_Description) +TableauAjoute(tbResultat,pstUnResultat) +fin +sinon +UneErreur:Init(ErreurApp.ErreurHFSQL,"Erreur lors de la recherche globale","RechercheGlobal") +fin +si HExécuteRequête(ReqSQLSite) alors +pour tout ReqSQLSite +pstUnResultat = allouer un ST_RechercheGlobal +pstUnResultat:saType = Lieu.Nom +pstUnResultat:nPKID = ReqSQLSite.LI_PKID +pstUnResultat:saInfo_1 = ReqSQLSite.LI_CodeLieu +si ReqSQLSite.LI_CleType <> "" _et_ gtabParametresMetierCode[cparam_TypeLieu][ReqSQLSite. +LI_CleType]..Existe = Vrai alors +pstUnResultat:saInfo_2 = gtabParametresMetierCode[cparam_TypeLieu][ReqSQLSite.LI_CleType]. +salibelle +fin +pstUnResultat:saInfo_3 = ReqSQLSite.AD_Ville +pstUnResultat:saInfo_4 = ReqSQLSite.AD_CodePostal +pstUnResultat:saInfo_5 = ReqSQLSite.AD_Adresse +pstUnResultat:saInfo_6 = ReqSQLSite.LI_Note +TableauAjoute(tbResultat,pstUnResultat) +fin +sinon +UneErreur:Init(ErreurApp.ErreurHFSQL,"Erreur lors de la recherche globale","RechercheGlobal") +fin +si HExécuteRequête(ReqSQLClient) alors +pour tout ReqSQLClient +pstUnResultat = allouer un ST_RechercheGlobal +pstUnResultat:saType = Client.Nom +pstUnResultat:nPKID = ReqSQLClient.CL_PKID +pstUnResultat:saInfo_1 = ReqSQLClient.CL_Nom +si ReqSQLClient.CL_CleType <> "" _et_ gtabParametresMetierCode[cParam_TypeClient][ReqSQLClient. +CL_CleType]..Existe = Vrai alors +pstUnResultat:saInfo_2 = gtabParametresMetierCode[cParam_TypeClient][ReqSQLClient. +CL_CleType].salibelle +fin +si ReqSQLClient.CL_CleStatut <> "" _et_ gtabParametresMetierCode[cParam_StatutClient][ +ReqSQLClient.CL_CleStatut]..Existe = Vrai alors +pstUnResultat:saInfo_3 = gtabParametresMetierCode[cParam_StatutClient][ReqSQLClient. +CL_CleStatut].salibelle +fin +si ReqSQLClient.CL_Email <> "" alors +pstUnResultat:saInfo_4 = ReqSQLClient.CL_Email +fin +06/08/2026 Batik 6352 + +Partie 7 › Collection de procédures › Lib_Commun › Code +si ReqSQLClient.CL_Tel <> "" alors +pstUnResultat:saInfo_4 +=[" / "] + ReqSQLClient.CL_Tel +fin +si ReqSQLClient.CL_Fax <> "" alors +pstUnResultat:saInfo_4 +=[" / "] + ReqSQLClient.CL_Fax +fin +pstUnResultat:saInfo_5 = ReqSQLClient.AD_Ville+[" "]+ReqSQLClient.AD_CodePostal +pstUnResultat:saInfo_6 = ReqSQLClient.AD_Adresse +TableauAjoute(tbResultat,pstUnResultat) +fin +sinon +UneErreur:Init(ErreurApp.ErreurHFSQL,"Erreur lors de la recherche globale","RechercheGlobal") +fin +si HExécuteRequête(ReqSQLCtc) alors +pour tout ReqSQLCtc +pstUnResultat = allouer un ST_RechercheGlobal +pstUnResultat:saType = Personne.Nom +pstUnResultat:nPKID = ReqSQLCtc.pe_PKID +pstUnResultat:saInfo_1 = ReqSQLCtc.pe_Nom+[" "]+ReqSQLCtc.PE_Prenom +si ReqSQLCtc.pe_Email <> "" alors +pstUnResultat:saInfo_3 = ReqSQLCtc.pe_Email +fin +si ReqSQLCtc.PE_TelMobile <> "" alors +pstUnResultat:saInfo_4 = ReqSQLCtc.PE_TelMobile +fin +si ReqSQLCtc.PE_TelFixe <> "" alors +pstUnResultat:saInfo_4 +=[" / "] + ReqSQLCtc.PE_TelFixe +fin +pstUnResultat:saInfo_5 = ReqSQLCtc.AD_Ville+[" "]+ReqSQLCtc.AD_CodePostal +pstUnResultat:saInfo_6 = ReqSQLCtc.AD_Adresse +TableauAjoute(tbResultat,pstUnResultat) +fin +sinon +UneErreur:Init(ErreurApp.ErreurHFSQL,"Erreur lors de la recherche globale","RechercheGlobal") +fin +Sablier(fauxToutSablier) +si tbResultat..Occurrence <= 0 alors +Info("Aucun résultat trouvé pour cette recherche") +renvoyer Faux +sinon si tbResultat..Occurrence > 1 alors +saAliasFen est une chaîne ANSI = "FEN_Recherche"+"_"+DateHeureSys() +saAlias est une chaîne = gtbaAliasFenSouers[saAliasFen] +gtbaAliasFenSouers[saAliasFen] = saAliasFen +OuvreSoeur(FEN_Recherche,saAliasFen,tbResultat,saRecherche) +sinon si tbResultat..Occurrence = 1 alors +saType est une chaîne ANSI = tbResultat[1]:saType +tbaParam est un tableau associatif de chaînes ANSI +selon saType +cas Intervention.Nom +tbaParam[Dossier.DO_PKID..Nom] = tbResultat[1]:nID_2 +tbaParam[Intervention.IN_PKID..Nom] = tbResultat[1]:nPKID +tbaParam[cParam_IdFen] = tbResultat[1]:nID_2 +OuvreFenSouers("FEN_Fiche_Dossier",tbaParam) +cas Lieu.Nom +tbaParam[Lieu.LI_PKID..Nom] = tbResultat[1]:nPKID +tbaParam[cParam_IdFen] = tbResultat[1]:nPKID +OuvreFenSouers("FEN_Fiche_Site",tbaParam) +cas Client.Nom +tbaParam[Client.CL_PKID..Nom] = tbResultat[1]:nPKID +06/08/2026 Batik 6353 + +Partie 7 › Collection de procédures › Lib_Commun › Code +tbaParam[cParam_IdFen] = tbResultat[1]:nPKID +OuvreFenSouers("FEN_Fiche_Client",tbaParam) +cas Personne.Nom +tbaParam[Personne.PE_PKID..Nom] = tbResultat[1]:nPKID +tbaParam[cParam_IdFen] = tbResultat[1]:nPKID +OuvreFenSouers("FEN_Fiche_Contact",tbaParam) +autre cas +Info("Aucun résultat trouvé pour cette recherche") +renvoyer Faux +fin +fin +Procédure globale RecupNbJoursRubSQL +procédure RecupNbJoursRubSQL(sOption est une chaîne ANSI) +nNbJoursest un entier +tbChaines est un tableau de chaînes ANSI +ChaîneVersTableau(sOption,tbChaines," ") +pour toute sMatch de tbChaines +si Contient(sMatch,"{DateAvant_") ou Contient(sMatch,"{DateApres_") alors +nNbJours = Val(ExtraitChaîne(sMatch, 1,"_",DepuisFin)) +fin +fin +renvoyer nNbJours +Procédure globale RemplaceDateSiPresent_SQL +procédure RemplaceDateSiPresent_SQL(sReq est une chaîne ANSI) +tbChaines est un tableau de chaînes ANSI +ChaîneVersTableau(sReq,tbChaines," ") +pour toute sMatch de tbChaines +si Contient(sMatch,"{DateAvant_") ou Contient(sMatch,"{DateApres_") alors +nNbJours est un entier = Val(ExtraitChaîne(sMatch, 1,"_",DepuisFin)) +dDate est une Date = DateDuJour() +si Contient(sMatch,"{DateAvant_") alors +dDate..Jour -= nNbJours +sinon +dDate..Jour += nNbJours +fin +sDateSQL est une chaîne = DateVersChaîne(dDate, "AAAAMMJJ") +sReq = Remplace(sReq, sMatch, "'"+sDateSQL+"'") +fin +fin +Procédure globale SuppressionVoyelle +procédure SuppressionVoyelle(saChaineModif est une chaîne ANSI) +saNouvelleChaine est une chaîne ANSI +saNouvelleChaine = Remplace(Minuscule(saChaineModif),["a", "à", "â", "e", "é", "è", "ê", "i", "î","y", +"o", "ô", "u", "û","ù","œu","-","/","\","@","_","'","`"],"") +06/08/2026 Batik 6354 + +Partie 7 › Collection de procédures › Lib_Commun › Code +renvoyer saNouvelleChaine +Procédure globale SupprimerRC +procédure SupprimerRC(sChaineModifier est une chaîne) +tantque Position(sChaineModifier, " ") > 0 +sChaineModifier = Remplace(sChaineModifier, " ", " ") +fin +renvoyer Remplace(sChaineModifier,RC," ") +06/08/2026 Batik 6355 + +Partie 7 › Collection de procédures › Lib_Version › Code +Lib_Version +Code +Déclaration de Lib_Version +constante +cVersionProjet = "30.1.0" +fin +Procédure globale JsonRubriquesDoc +procédure JsonRubriquesDoc() +Procédure globale ListeDroitDeAcces +procédure ListeDroitDeAcces(gtabPA est un tableau de [37,6] chaînes) +i est un entier=1 +//Clé //Libelle //Ordre +// Mobile ? // Ancien code paramètre +gtabPA[i][1]= cGestion_Param; gtabPA[i][2]="Paramètres"; +gtabPA[i][3]="1"; gtabPA[i][4]="0"; gtabPA[i][ +5]="16"; +gtabPA[i][6]= +"Permet d’accéder et de modifier les réglages généraux de l’application, incluant les configurations +système, les options des listes déroulantes et les préférences globales de fonctionnement." +;i+=1 +gtabPA[i][1]= cGestion_Temps; gtabPA[i][2]="Gestion des temps"; +gtabPA[i][3]="2"; gtabPA[i][4]="0"; gtabPA[i][ +5]="3"; +gtabPA[i][6]= "Autorise la saisie, la modification et le suivi des temps de travail.";i+=1 +gtabPA[i][1]= cGestion_Equipe; gtabPA[i][2]="Gestion des équipes"; +gtabPA[i][3]="3"; gtabPA[i][4]="0"; gtabPA[i][5]= +"13"; +gtabPA[i][6]= +"Donne accès à la création, la modification et la suppression des équipes, ainsi qu’à l’affectation des +collaborateurs aux différentes équipes." +;i+=1 +gtabPA[i][1]= cGestion_Colb; gtabPA[i][2]="Gestion des collaborateurs"; +gtabPA[i][3]="4"; gtabPA[i][4]="0"; gtabPA[i][ +5]="12"; +gtabPA[i][6]= +"Permet d’ajouter, de modifier ou de supprimer les fiches collaborateurs, ainsi que de gérer leurs +informations personnelles et leurs accès à l’application mobile et à la version bureau" +;i+=1 +gtabPA[i][1]= "A.SVI.INTER"; gtabPA[i][2]="Gestion suivie des interventions"; +gtabPA[i][3]="5"; gtabPA[i][4]="0"; gtabPA[i][5]="7"; +gtabPA[i][6]= +"Autorise la consultation et l’extraction des informations relatives au suivi des interventions en +cours." +;i+=1 +gtabPA[i][1]= cGestion_SuiviInter; gtabPA[i][2]="Autorisation de suivi des interventions"; +gtabPA[i][3]="6"; gtabPA[i][4]="0"; gtabPA[i][5]="20" +06/08/2026 Batik 6356 + +Partie 7 › Collection de procédures › Lib_Version › Code +; +gtabPA[i][6]= "Permet de sélectionner le collaborateur en charge du suivi d’une intervention.";i+=1 +gtabPA[i][1]= cGestion_Dossier; gtabPA[i][2]="Gestion des dossiers"; +gtabPA[i][3]="7"; gtabPA[i][4]="0"; gtabPA[i][ +5]="5"; +gtabPA[i][6]= "Donne la possibilité de créer, de modifier et de supprimer des dossiers.";i+=1 +gtabPA[i][1]= cGestion_ActionInter; gtabPA[i][2]="Gestion des actions intervention"; +gtabPA[i][3]="8"; gtabPA[i][4]="0"; gtabPA[i][ +5]="5.1"; +gtabPA[i][6]= "Autorise la suppression des actions liées à une intervention.";i+=1 +gtabPA[i][1]= cGestion_MsgExt; gtabPA[i][2]="Gestion des messages externes intervention"; +gtabPA[i][3]="9"; gtabPA[i][4]="0"; gtabPA[i][ +5]="5.2"; +gtabPA[i][6]= "Permet de visualiser ou de supprimer les messages externes liés à une intervention.";i+= +1 +gtabPA[i][1]= cGestion_NotesInter; gtabPA[i][2]="Gestion des notes internes intervention"; +gtabPA[i][3]="10"; gtabPA[i][4]="0"; gtabPA[i][5]= +"5.3"; +gtabPA[i][6]= "Autorise la création et la gestion de notes internes dans les interventions.";i+=1 +gtabPA[i][1]= cGestion_Rapport; gtabPA[i][2]="Gestion des rapports interventions"; +gtabPA[i][3]="11"; gtabPA[i][4]="0"; gtabPA[i][ +5]="5.4"; +gtabPA[i][6]= +"Donne accès à la création, à la modification et à la consultation des rapports détaillés relatifs aux +interventions." +;i+=1 +gtabPA[i][1]= "A.GEST.CR.INTER"; gtabPA[i][2]="Gestion des comptes-rendus interventions"; +gtabPA[i][3]="12"; gtabPA[i][4]="0"; gtabPA[i][5]= +"5.5"; +gtabPA[i][6]= "Permet l’édition et la suppression des comptes rendus d’interventions.";i+=1 +gtabPA[i][1]= cGestion_Document; gtabPA[i][2]="Gestion des documents interventions"; +gtabPA[i][3]="13"; gtabPA[i][4]="0"; gtabPA[i][5]= +"5.6"; +gtabPA[i][6]= +"Autorise l’ajout, la suppression et la gestion des documents liés à une intervention (photos, +rapports, etc.)." +;i+=1 +//Documents +gtabPA[i][1]= cGestion_DocNull; gtabPA[i][2]="Document 'Aucune Catégorie Document'"; +gtabPA[i][3]="14"; gtabPA[i][4]="0"; gtabPA[i][ +5]="5.6.1"; +gtabPA[i][6]= +"Donne accès à la création, à la modification et à la consultation de documents non classés dans une +catégorie spécifique" +;i+=1 +gtabPA[i][1]= cGestion_DocPhoto; gtabPA[i][2]="Document 'Photo'"; +gtabPA[i][3]="15"; gtabPA[i][4]="0"; gtabPA[i][ +5]="5.6.2"; +gtabPA[i][6]= +"Donne accès à la création, à la modification et à la consultation de documents classés dans la +catégorie Photo d’une intervention" +;i+=1 +gtabPA[i][1]= cGestion_DocAutre; gtabPA[i][2]="Document 'Autre document'"; +gtabPA[i][3]="16"; gtabPA[i][4]="0"; gtabPA[i][ +5]="5.6.3"; +gtabPA[i][6]= +"Donne accès à la création, à la modification et à la consultation de documents classés dans la +catégorie Autre document d’une intervention." +;i+=1 +gtabPA[i][1]= cGestion_DocMsgExt; gtabPA[i][2]="Document 'Message externe'"; +gtabPA[i][3]="17"; gtabPA[i][4]="0"; gtabPA[i][ +5]="5.6.4"; +gtabPA[i][6]= +"Donne accès à la création, à la modification et à la consultation de documents classés dans la +catégorie Message externe d’une intervention." +06/08/2026 Batik 6357 + +Partie 7 › Collection de procédures › Lib_Version › Code +;i+=1 +gtabPA[i][1]= cGestion_DocRapport; gtabPA[i][2]="Document 'Rapport'"; +gtabPA[i][3]="18"; gtabPA[i][4]="0"; gtabPA[i][ +5]="5.6.5"; +gtabPA[i][6]= +"Donne accès à la création, à la modification et à la consultation de documents classés dans la +catégorie Rapport d’une intervention." +;i+=1 +gtabPA[i][1]= cGestion_DocBatigest; gtabPA[i][2]="Document 'Devis&Facture BATIGEST'"; +gtabPA[i][3]="19"; gtabPA[i][4]="0"; gtabPA[i][ +5]="5.6.6"; +gtabPA[i][6]= +"Donne accès à la création, à la modification et à la consultation de documents classés dans la +catégorie Devis & Facture BATIGEST d’une intervention" +;i+=1 +//Extraction de données +gtabPA[i][1]= cGestion_ExtClient; gtabPA[i][2]="Extraction des données clients"; +gtabPA[i][3]="20"; gtabPA[i][4]="0"; gtabPA[i][ +5]="Rq.C"; +gtabPA[i][6]= "Permet d’exporter la liste et les informations des clients";i+=1 +gtabPA[i][1]= cGestion_ExtRdv; gtabPA[i][2]="Extraction des données Rendez-vous"; +gtabPA[i][3]="21"; gtabPA[i][4]="0"; gtabPA[i][ +5]="Rq.RDV"; +gtabPA[i][6]= "Autorise l’export des informations liées aux rendez-vous";i+=1 +// MOBILE +gtabPA[i][1]= "A.R.IT.SOC.ATCH"; gtabPA[i][2]= +"Recherche des interventions (Uniquement société attaché)"; +gtabPA[i][3]="1"; gtabPA[i][4]="1"; gtabPA[i][5]="M.1"; +gtabPA[i][6]= "Limite la recherche d’interventions aux dossiers liés à la société de rattachement.";i+= +1 +gtabPA[i][1]= "A.R.IT.RDV.EXST"; gtabPA[i][2]= +"Recherche des interventions (Si rendez-vous existant)"; +gtabPA[i][3]="2"; gtabPA[i][4]="1"; gtabPA[i][5]="M.2"; +gtabPA[i][6]= "Restreint la recherche aux interventions associées à un rendez-vous";i+=1 +gtabPA[i][1]= "A.R.IT.RDV.EXST.DS"; gtabPA[i][2]= +"Recherche des interventions (Si rendez-vous existant, accès à l'intégralité du dossier)"; +gtabPA[i][3]="3"; gtabPA[i][4]="1"; gtabPA[i][5]="M.3"; +gtabPA[i][6]= +"Permet la recherche d’interventions liées à un rendez-vous avec accès complet aux dossiers +correspondants." +;i+=1 +gtabPA[i][1]= "A.ENVOI.EMAIL"; gtabPA[i][2]="Envoi d'émail"; +gtabPA[i][3]="4"; gtabPA[i][4]="1"; gtabPA[i][5]="M.4"; +gtabPA[i][6]= "Autorise l’envoi de emails directement depuis l’application";i+=1 +gtabPA[i][1]= "A.CREATION.RAPPORT"; gtabPA[i][2]="Création de rapports"; +gtabPA[i][3]="5"; gtabPA[i][4]="1"; gtabPA[i][5]="M.5"; +gtabPA[i][6]= "Permet de générer des rapports prédéfinis sur les données disponibles.";i+=1 +//gtabPA[i][1]= "A.C.PL.TOUS"; gtabPA[i][2]="Consultation du planning de tous les +collaborateurs"; +gtabPA[i][3]="6"; gtabPA[i][4]="1"; gtabPA[i][5]="M.PlClb.1";i+=1 +gtabPA[i][1]= "A.C.PL.SOC.PRCP"; gtabPA[i][2]= +"Consultation du planning des collaborateurs de la même société principal"; +gtabPA[i][3]="7"; gtabPA[i][4]="1"; gtabPA[i][5]="M.PlClb.2"; +gtabPA[i][6]= +"Affiche uniquement le planning des collaborateurs rattachés à la société principale de l'utilisateur"; +i+=1 +gtabPA[i][1]= "A.C.PL.SOC"; gtabPA[i][2]= +"Consultation du planning des collaborateurs de la même société(s)"; +gtabPA[i][3]="8"; gtabPA[i][4]="1"; gtabPA[i][5]="M.PlClb.3"; +gtabPA[i][6]= +"Affiche le planning des collaborateurs appartenant à la société de rattachement de l’utilisateur";i+=1 +06/08/2026 Batik 6358 + +Partie 7 › Collection de procédures › Lib_Version › Code +gtabPA[i][1]= "A.C.PL.EQ"; gtabPA[i][2]= +"Consultation du planning des collaborateurs de la même équipe"; +gtabPA[i][3]="9"; gtabPA[i][4]="1"; gtabPA[i][5]="M.PlClb.4"; +gtabPA[i][6]= "Affiche le planning des collaborateurs appartenant a le mème équipe de l’utilisateur";i ++=1 +Procédure globale ListeEnteteParametres +procédure ListeEnteteParametres(gtabPA est un tableau de [40,5] chaînes) +i est un entier=1 +//Libelle // Categories +// Groupe // Type de paramètre // Ancien code paramètre +gtabPA[i][1]= "Champs personnalisés"; gtabPA[i][2]="CHMP.PERSO"; +gtabPA[i][3]=cGroupe_Param_Inter; gtabPA[i][4]="1"; gtabPA[i][5]="01"; i+=1 +gtabPA[i][1]= "Type de client"; gtabPA[i][2]=cParam_TypeClient; +gtabPA[i][3]=cGroupe_Param_Client; gtabPA[i][4]="1"; gtabPA[i][5]="02"; i+=1 +gtabPA[i][1]= "Statut du client"; gtabPA[i][2]=cParam_StatutClient; +gtabPA[i][3]=cGroupe_Param_Client; gtabPA[i][4]="1"; gtabPA[i][5]="03"; i+=1 +gtabPA[i][1]= "Type d'adresse"; gtabPA[i][2]=cparam_TypeAdresse; +gtabPA[i][3]=cGroupe_Param_Client; gtabPA[i][4]="1"; gtabPA[i][5]="04"; i+=1 +gtabPA[i][1]= "Civilité"; gtabPA[i][2]=cParam_Civilite; +gtabPA[i][3]=cGroupe_Param_Ctc; gtabPA[i][4]="1"; gtabPA[i][5]="05"; i+=1 +gtabPA[i][1]= "Type de dossier"; gtabPA[i][2]=cParam_TypeDossier; +gtabPA[i][3]=cGroupe_Param_Dossier; gtabPA[i][4]="1"; gtabPA[i][5]="06"; i+=1 +gtabPA[i][1]= "Statut du dossier"; gtabPA[i][2]=cParam_StatutDossier; +gtabPA[i][3]=cGroupe_Param_Dossier; gtabPA[i][4]="1"; gtabPA[i][5]="07"; i+=1 +gtabPA[i][1]= "Type de site"; gtabPA[i][2]=cparam_TypeLieu; +gtabPA[i][3]=cGroupe_Param_Site; gtabPA[i][4]="1"; gtabPA[i][5]="08"; i+=1 +gtabPA[i][1]= "Rôle contact"; gtabPA[i][2]=cParam_RoleContact; +gtabPA[i][3]=cGroupe_Param_Ctc; gtabPA[i][4]="1"; gtabPA[i][5]="11"; i+=1 +gtabPA[i][1]= "Type d'intervention"; gtabPA[i][2]=cParam_TypeInter; +gtabPA[i][3]=cGroupe_Param_Inter; gtabPA[i][4]="1"; gtabPA[i][5]="12"; i+=1 +gtabPA[i][1]= "Etat d'intervention"; gtabPA[i][2]=cParam_EtatInter; +gtabPA[i][3]=cGroupe_Param_Inter; gtabPA[i][4]="1"; gtabPA[i][5]="13"; i+=1 +gtabPA[i][1]= "Type de rendez-vous"; gtabPA[i][2]=cParam_TypeRDV; +gtabPA[i][3]=cGroupe_Param_Planning; gtabPA[i][4]="1"; gtabPA[i][5]="14"; i+=1 +gtabPA[i][1]= "Statut de rendez-vous"; gtabPA[i][2]=cParam_StatusRDV; +gtabPA[i][3]=cGroupe_Param_Planning; gtabPA[i][4]="1"; gtabPA[i][5]="15"; i+=1 +gtabPA[i][1]= "Type d'action"; gtabPA[i][2]=cParam_TypeAction; +gtabPA[i][3]=cGroupe_Param_Inter; gtabPA[i][4]="1"; gtabPA[i][5]="16"; i+=1 +gtabPA[i][1]= "Catégorie de document"; gtabPA[i][2]=cParam_TypeDoc; +gtabPA[i][3]=cGroupe_Param_Inter; gtabPA[i][4]="1"; gtabPA[i][5]="17"; i+=1 +gtabPA[i][1]= "Type de temps"; gtabPA[i][2]=cparam_TypeTemps; +gtabPA[i][3]=cGroupe_Param_SuiviTemp; gtabPA[i][4]="1"; gtabPA[i][5]="18"; i+=1 +gtabPA[i][1]= "Profil utilisateur"; gtabPA[i][2]=""; +gtabPA[i][3]=cGroupe_Param_Colb; gtabPA[i][4]="1"; gtabPA[i][5]="19"; i+=1 +gtabPA[i][1]= "Statut collaborateur"; gtabPA[i][2]="S.COLB"; +gtabPA[i][3]=cGroupe_Param_Colb; gtabPA[i][4]="1"; gtabPA[i][5]="20"; i+=1 +gtabPA[i][1]= "Catégorie de paramètre"; gtabPA[i][2]=""; +gtabPA[i][3]="Système"; gtabPA[i][4]=""; gtabPA[i][5]="21"; i+=1 +gtabPA[i][1]= "Modèles d'états d'intervention"; gtabPA[i][2]=""; +gtabPA[i][3]=cGroupe_Param_Inter; gtabPA[i][4]=""; gtabPA[i][5]="22"; i+=1 +gtabPA[i][1]= "Modèles de rapport"; gtabPA[i][2]=""; +gtabPA[i][3]=cGroupe_Param_Inter; gtabPA[i][4]=""; gtabPA[i][5]="23"; i+=1 +gtabPA[i][1]= "Etat des documents"; gtabPA[i][2]=cParam_EtatDoc; +gtabPA[i][3]=cGroupe_Param_Inter; gtabPA[i][4]="1"; gtabPA[i][5]="24"; i+=1 +gtabPA[i][1]= "Modèles d'états rendez-vous"; gtabPA[i][2]=""; +gtabPA[i][3]=cGroupe_Param_Inter; gtabPA[i][4]=""; gtabPA[i][5]="25"; i+=1 +gtabPA[i][1]= "Seuil d'affichage des listes"; gtabPA[i][2]=cParam_LigneRqSql; +gtabPA[i][3]=cGroupe_Param_General; gtabPA[i][4]="1"; gtabPA[i][5]="26"; i+=1 +gtabPA[i][1]= "Période d'affichage des listes"; gtabPA[i][2]=cParam_PeriodeRqSql; +gtabPA[i][3]=cGroupe_Param_General; gtabPA[i][4]="1"; gtabPA[i][5]="27"; i+=1 +gtabPA[i][1]= "Catégories de modèles de mail"; gtabPA[i][2]=""; +06/08/2026 Batik 6359 + +Partie 7 › Collection de procédures › Lib_Version › Code +gtabPA[i][3]=cGroupe_Param_General; gtabPA[i][4]=""; gtabPA[i][5]="MC"; i+=1 +gtabPA[i][1]= "Modules intervenir"; gtabPA[i][2]=""; +gtabPA[i][3]=cGroupe_Param_General; gtabPA[i][4]=""; gtabPA[i][5]="29"; i+=1 +gtabPA[i][1]= "Apporteur client"; gtabPA[i][2]=cParam_ApportClient; +gtabPA[i][3]=cGroupe_Param_Client; gtabPA[i][4]="1"; gtabPA[i][5]="30"; i+=1 +gtabPA[i][1]= "Origine client"; gtabPA[i][2]=cParam_ApportOrigClient; +gtabPA[i][3]=cGroupe_Param_Client; gtabPA[i][4]="1"; gtabPA[i][5]="31"; i+=1 +gtabPA[i][1]= "Type de signataire dans le compte rendu"; gtabPA[i][2]=cParam_TypeSignCR; +gtabPA[i][3]=cGroupe_Param_Client; gtabPA[i][4]="1"; gtabPA[i][5]="32"; i+=1 +gtabPA[i][1]= "Mode réglement client"; gtabPA[i][2]=cParam_ModeReglClient; +gtabPA[i][3]=cGroupe_Param_Client; gtabPA[i][4]="1"; gtabPA[i][5]="33"; i+=1 +gtabPA[i][1]= "Origine annulation rendez-vous"; gtabPA[i][2]=cParam_OrigAnnuRDV; +gtabPA[i][3]=cGroupe_Param_Planning; gtabPA[i][4]="1"; gtabPA[i][5]="34"; i+=1 +gtabPA[i][1]= "Type de motif annulation de rendez-vous"; gtabPA[i][2]=cParam_MotifAnnuRDV; +gtabPA[i][3]=cGroupe_Param_Planning; gtabPA[i][4]="1"; gtabPA[i][5]="35"; i+=1 +Procédure globale ListeEtats +procédure ListeEtats(gtabPA est un tableau de [35,4] chaînes) +i est un entier=1 +// Groupe libelle ordre valeur +gtabPA[i][1]="F.INTER"; gtabPA[i][2]="Fiche d'intervention"; gtabPA[i][3]="1"; gtabPA[i] +[4]="ETAT_FicheIntervention";i+=1 +si gsaCodeClient="BOUVARD.01" alors +gtabPA[i][1]="F.INTER"; gtabPA[i][2]="Grande fiche BOUVARD"; gtabPA[i][3]="2"; gtabPA[i][4]= +"ETAT_GrandeFiche2_BOUVARD";i+=1 +gtabPA[i][1]="F.INTER"; gtabPA[i][2]="Petite fiche BOUVARD"; gtabPA[i][3]="3"; gtabPA[i][4]= +"ETAT_PetiteFiche2_BOUVARD";i+=1 +fin +si gsaCodeClient="SLAMM.01" alors +gtabPA[i][1]="F.INTER"; gtabPA[i][2]="SLAMM"; gtabPA[i][3]="2";gtabPA[i][4]= +"ETAT_FicheIntervention_SLAMM_1";i+=1 +gtabPA[i][1]="F.INTER"; gtabPA[i][2]="SLAMM Simplifié"; gtabPA[i][3]="3";gtabPA[i][4] +="ETAT_FicheIntervention_SLAMM_2";i+=1 +gtabPA[i][1]="F.INTER"; gtabPA[i][2]="SLAMM Pochette"; gtabPA[i][3]="4";gtabPA[i][4]= +"ETAT_FicheIntervention_SLAMM_3";i+=1 +gtabPA[i][1]="F.INTER"; gtabPA[i][2]="Bon fin de travaux"; gtabPA[i][3]="5";gtabPA[i][4]= +"ETAT_FicheIntervention_SLAMM_4";i+=1 +fin +//25 = Modèle d'état d'intervention rdv +si pas gsaCodeClient="ARTPART.01" _et_ gsaCodeClient="BOUVARD.01" _et_ gsaCodeClient="SLAMM.01" alors +// nouveau client ou batik +gtabPA[i][1]="F.RDV"; gtabPA[i][2]="Fiche de déplacement"; gtabPA[i][3]="1"; gtabPA[i][ +4]="ETAT_FicheDeplacement";i+=1 +sinon +si gsaCodeClient="ARTPART.01" alors +gtabPA[i][1]="F.RDV"; gtabPA[i][2]="Fiche de déplacement"; gtabPA[i][3]="1"; +gtabPA[i][4]="ETAT_FicheDeplacement_GAP_1";i+=1 +fin +si gsaCodeClient="BOUVARD.01" alors +gtabPA[i][1]="F.RDV"; gtabPA[i][2]="Fiche de déplacement"; gtabPA[i][3]="1"; +gtabPA[i][4]="ETAT_FicheDeplacement";i+=1 +fin +si gsaCodeClient="SLAMM.01" alors +gtabPA[i][1] = "F.RDV"; gtabPA[i][2]="Fiche de déplacement"; gtabPA[i][3]="1"; +gtabPA[i][4]="ETAT_FicheDeplacement";i+=1 +gtabPA[i][1] = "F.RDV"; gtabPA[i][2]="SLAMM"; gtabPA[i][3]="2";gtabPA[i +][4]="ETAT_FicheDeplacement_SLAMM_1";i+=1 +06/08/2026 Batik 6360 + +Partie 7 › Collection de procédures › Lib_Version › Code +gtabPA[i][1] = "F.RDV"; gtabPA[i][2]="SLAMM Simplifié"; gtabPA[i][3]="3"; +gtabPA[i][4]="ETAT_FicheDeplacement_SLAMM_2";i+=1 +gtabPA[i][1] = "F.RDV"; gtabPA[i][2]="SLAMM Pochette"; gtabPA[i][3]="4";gtabPA[i +][4]="ETAT_FicheDeplacement_SLAMM_3";i+=1 +gtabPA[i][1] = "F.RDV"; gtabPA[i][2]="Bon fin de travaux"; gtabPA[i][3]="5";gtabPA[i +][4]="ETAT_FicheDeplacement_SLAMM_4";i+=1 +fin +fin +Procédure globale ListeParametresMetier +procédure ListeParametresMetier(gtabPA est un tableau de [228,9] chaînes) +i est un entier=1 +//1-Categorie 2-cle 3-Libelle +4-Ordre 5-Actif 6-Système +7-Parametre 8-Ancien Code 9-Ancien Valeur +//01 = Champ Personnalisé CHAMP.PERSO +gtabPA[i][1]= "CHMP.PERSO"; gtabPA[i][2]="CHMP.NULL"; gtabPA[i][3]= +"Champ non défini"; gtabPA[i][4]="0";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; gtabPA[i][8] +="01"; gtabPA[i][9]="0";i+=1 +//02 = Type client +gtabPA[i][1]= cParam_TypeClient; gtabPA[i][2]="T.CL.NULL"; gtabPA[i][3]= +"Type client non défini"; gtabPA[i][4]="0";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="02";gtabPA[i][9]="0";i+=1 +si gsaCodeClient="SLAMM.01" alors//SLAMM +gtabPA[i][1]= cParam_TypeClient; gtabPA[i][2]=cCle_ClientParticulier; gtabPA[i][3]= +"Particulier"; gtabPA[i][4]="1";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7] +=""; gtabPA[i][8]="02"; gtabPA[i][9]="1";i+=1 +gtabPA[i][1]= cParam_TypeClient; gtabPA[i][2]="T.CL.INDST"; gtabPA[i][3]= +"Industriel"; gtabPA[i][4]="2";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7] +=""; gtabPA[i][8]="02"; gtabPA[i][9]="2";i+=1 +gtabPA[i][1]= cParam_TypeClient; gtabPA[i][2]="T.CL.PBLC"; gtabPA[i][3]= +"Marie / Collect public"; gtabPA[i][4]="3";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="02";gtabPA[i][9]="3";i+=1 +gtabPA[i][1]= cParam_TypeClient; gtabPA[i][2]=cCle_ClientEntreprise; gtabPA[i][3]= +"Entreprise"; gtabPA[i][4]="99"; gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i +][7]=""; gtabPA[i][8]="02"; gtabPA[i][9]="99";i+=1 +sinon +gtabPA[i][1]= cParam_TypeClient; gtabPA[i][2]=cCle_ClientEntreprise; gtabPA[i][3]= +"Entreprise"; gtabPA[i][4]="1";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7] +=""; gtabPA[i][8]="02"; gtabPA[i][9]="1";i+=1 +gtabPA[i][1]= cParam_TypeClient; gtabPA[i][2]="T.CL.INDST"; gtabPA[i][3]= +"Industriel"; gtabPA[i][4]="99"; gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i +][7]=""; gtabPA[i][8]="02"; gtabPA[i][9]="99";i+=1 +gtabPA[i][1]= cParam_TypeClient; gtabPA[i][2]=cCle_ClientParticulier; gtabPA[i][3]= +"Particulier"; gtabPA[i][4]="2";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7] +=""; gtabPA[i][8]="02"; gtabPA[i][9]="2";i+=1 +gtabPA[i][1]= cParam_TypeClient; gtabPA[i][2]="T.CL.PBLC"; gtabPA[i][3]= +"Administration"; gtabPA[i][4]="3";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="02";gtabPA[i][9]="3";i+=1 +fin +//03 = Statut client STATUT.CLIENT +gtabPA[i][1]= cParam_StatutClient; gtabPA[i][2]="S.CL.NULL"; gtabPA[i][3]= +"Statut client non défini"; gtabPA[i][4]="0";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="03"; gtabPA[i][9]="0";i+=1 +gtabPA[i][1]= cParam_StatutClient; gtabPA[i][2]="S.CL.CLI"; gtabPA[i][3]= +"Client"; gtabPA[i][4]="1";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="03";gtabPA[i][9]="1";i+=1 +06/08/2026 Batik 6361 + +Partie 7 › Collection de procédures › Lib_Version › Code +gtabPA[i][1]= cParam_StatutClient; gtabPA[i][2]="S.CL.PRSPCT"; gtabPA[i][3] +="Prospect"; gtabPA[i][4]="2";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="03"; gtabPA[i][9]="2";i+=1 +gtabPA[i][1]= cParam_StatutClient; gtabPA[i][2]="S.CL.CONT"; gtabPA[i][3]= +"Contact"; gtabPA[i][4]="3";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="03";gtabPA[i][9]="3";i+=1 +//04 = Type adresse TYPE.ADRESSE +gtabPA[i][1]= cparam_TypeAdresse; gtabPA[i][2]="T.ADR.NULL"; gtabPA[i][3]= +"Type d'adresse non défini" ; gtabPA[i][4]="0";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="04"; gtabPA[i][9]="0";i+=1 +gtabPA[i][1]= cparam_TypeAdresse; gtabPA[i][2]="T.ADR.LVR"; gtabPA[i][3]= +"Livraison"; gtabPA[i][4]="1";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="04"; gtabPA[i][9]="1";i+=1 +gtabPA[i][1]= cparam_TypeAdresse; gtabPA[i][2]="T.ADR.FACT"; gtabPA[i][3]= +"Facturation"; gtabPA[i][4]="2";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="04";gtabPA[i][9]="2";i+=1 +//05 = Civilité TYPE.CIVILITE +gtabPA[i][1]= cParam_Civilite; gtabPA[i][2]="T.CV.NULL"; gtabPA[i][3]= +"Civilité non défini"; gtabPA[i][4]="0";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="05"; gtabPA[i][9]="0";i+=1 +gtabPA[i][1]= cParam_Civilite; gtabPA[i][2]=cCle_CiviliteMonsieur; gtabPA[i][3]= +"Monsieur"; gtabPA[i][4]="1";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="05"; gtabPA[i][9]="1";i+=1 +gtabPA[i][1]= cParam_Civilite; gtabPA[i][2]=cCle_CiviliteMadame; gtabPA[i][3]="Madame" +; gtabPA[i][4]="2";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; gtabPA[i +][8]="05"; gtabPA[i][9]="2";i+=1 +//06 = Type de dossier TYPE.DOSSIER +gtabPA[i][1]= cParam_TypeDossier; gtabPA[i][2]="T.DOSS.NULL"; gtabPA[i][3]= +"Type de dossier non défini"; gtabPA[i][4]="0";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="06"; gtabPA[i][9]="0";i+=1 +//07 = Statut du dossier STATUT.DOSSIER +gtabPA[i][1]= cParam_StatutDossier; gtabPA[i][2]="S.DOSS.NULL"; gtabPA[i][3]= +"Statut de dossier non défini";gtabPA[i][4]="0"; gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="07"; gtabPA[i][9]="0";i+=1 +gtabPA[i][1]= cParam_StatutDossier; gtabPA[i][2]=cCle_DossierOuvert; gtabPA[i][3]="Ouvert" +; gtabPA[i][4]="1";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; gtabPA[i +][8]="07"; gtabPA[i][9]="1";i+=1 +gtabPA[i][1]= cParam_StatutDossier; gtabPA[i][2]="S.DOSS.FRM"; gtabPA[i][3]= +"Fermé"; gtabPA[i][4]="2";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="07"; gtabPA[i][9]="2";i+=1 +gtabPA[i][1]= cParam_StatutDossier; gtabPA[i][2]=cCle_DossierAnnule; gtabPA[i][3]="Annulé" +; gtabPA[i][4]="99"; gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; +gtabPA[i][8]="07"; gtabPA[i][9]="99";i+=1 +//08 = Type de lieu TYPE.LIEU +gtabPA[i][1]= cparam_TypeLieu; gtabPA[i][2]="T.LIEU.NULL"; gtabPA[i][3]= +"Type de lieu non défini"; gtabPA[i][4]="0";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; +gtabPA[i][8]="08"; gtabPA[i][9]="0";i+=1 +gtabPA[i][1]= cparam_TypeLieu; gtabPA[i][2]="T.LIEU.IMMBL"; gtabPA[i][3]= +"Immeuble"; gtabPA[i][4]="1";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="08"; gtabPA[i][9]="1";i+=1 +gtabPA[i][1]= cparam_TypeLieu; gtabPA[i][2]="T.LIEU.INDV"; gtabPA[i][3]="Maison +indiv."; gtabPA[i][4]="2";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; gtabPA[i][8] +="08"; gtabPA[i][9]="2";i+=1 +//11 = Rôle du contact ROLE.CONTACT +gtabPA[i][1]= cParam_RoleContact; gtabPA[i][2]="R.CT.NULL"; gtabPA[i][3]= +"Rôle non défini"; gtabPA[i][4]="1";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="11"; gtabPA[i][9]="*0";i+=1 +gtabPA[i][1]= cParam_RoleContact; gtabPA[i][2]="R.CT.R.IMMBL"; gtabPA[i][3]="Resp. +Immeuble"; gtabPA[i][4]="2";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; gtabPA[i +][8]="11"; gtabPA[i][9]="S1";i+=1 //Contact d'un site +06/08/2026 Batik 6362 + +Partie 7 › Collection de procédures › Lib_Version › Code +gtabPA[i][1]= cParam_RoleContact; gtabPA[i][2]="R.CT.R.COPRO"; gtabPA[i][3]="Resp. +Copro."; gtabPA[i][4]="3";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; gtabPA[i][8] +="11"; gtabPA[i][9]="S2";i+=1 //Contact d'un site +gtabPA[i][1]= cParam_RoleContact; gtabPA[i][2]="R.CT.GARDN"; gtabPA[i][3]= +"Gardien(ne)"; gtabPA[i][4]="4";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="11"; gtabPA[i][9]="S3";i+=1 //Contact d'un site +gtabPA[i][1]= cParam_RoleContact; gtabPA[i][2]="R.CT.R.TOIT"; gtabPA[i][3]="Resp. Toît" +; gtabPA[i][4]="5";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; gtabPA[i][8] +="11"; gtabPA[i][9]="S4";i+=1 //Contact d'un site +gtabPA[i][1]= cParam_RoleContact; gtabPA[i][2]="R.CT.R.CAVE"; gtabPA[i][3]="Resp. Cave" +; gtabPA[i][4]="6";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; gtabPA[i][8] +="11"; gtabPA[i][9]="S5";i+=1 //Contact d'un site +gtabPA[i][1]= cParam_RoleContact; gtabPA[i][2]=cCle_TypeRoleCtcOccupant; gtabPA[i][3]="Occupant"; +gtabPA[i][4]="7";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; gtabPA[i][8]="11"; gtabPA[i][9] +="S6";i+=1 //Contact d'un site +gtabPA[i][1]= cParam_RoleContact; gtabPA[i][2]="R.CT.PROPRI"; gtabPA[i][3]= +"Propriétaire"; gtabPA[i][4]="8";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="11"; gtabPA[i][9]="*1";i+=1 //Contact d'un site +gtabPA[i][1]= cParam_RoleContact; gtabPA[i][2]="R.CT.GEST"; gtabPA[i][3]= +"Gestionnaire"; gtabPA[i][4]="9";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="11"; gtabPA[i][9]="C1";i+=1 //Contact d'un donneur d'ordre +gtabPA[i][1]= cParam_RoleContact; gtabPA[i][2]="R.CT.ASSIST"; gtabPA[i][3]= +"Assistante"; gtabPA[i][4]="10"; gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7] +="";gtabPA[i][8]="11"; gtabPA[i][9]="C2";i+=1 //Contact d'un donneur d'ordre +//12 = Type d'intervention TYPE.INTER +gtabPA[i][1]= cParam_TypeInter; gtabPA[i][2]="T.INTER.NULL"; gtabPA[i][3]= +"Type d'intervention non défini"; gtabPA[i][4]="0";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="12"; gtabPA[i][9]="0";i+=1 +//13 = Etat d'intervention ETAT.INTER +gtabPA[i][1]= cParam_EtatInter; gtabPA[i][2]="E.INTER.NULL"; gtabPA[i][3]= +"État d'intervention non défini"; gtabPA[i][4]="0";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="13"; gtabPA[i][9]="0";i+=1 +//14 = Type de rendez-vous TYPE.RDV +gtabPA[i][1]= cParam_TypeRDV ; gtabPA[i][2]="T.RDV.NULL"; gtabPA[i][3]= +"Type d'activité non défini"; gtabPA[i][4]="0";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]= +Type_Activite_Json();gtabPA[i][8]="14"; gtabPA[i][9]="0";i+=1 +gtabPA[i][1]= cParam_TypeRDV ; gtabPA[i][2]=cCle_RDVInter; gtabPA[i][3]= +"Intervention"; gtabPA[i][4]="1";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]= +Type_Activite_Json();gtabPA[i][8]="14"; gtabPA[i][9]="1";i+=1 +//15 = Statut de rendez-vous STATUT.RDV +gtabPA[i][1]= cParam_StatusRDV; gtabPA[i][2]="S.RDV.NULL"; gtabPA[i][3]= +"Statut de rendez-vous non défini"; gtabPA[i][4]="0";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7] +="";gtabPA[i][8]="15"; gtabPA[i][9]="0";i+=1 +gtabPA[i][1]= cParam_StatusRDV; gtabPA[i][2]="S.RDV.ATT"; gtabPA[i][3]= +"En attente"; gtabPA[i][4]="1";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; +gtabPA[i][8]="15"; gtabPA[i][9]="1";i+=1 +gtabPA[i][1]= cParam_StatusRDV; gtabPA[i][2]="S.RDV.CONF"; gtabPA[i][3]= +"Confirmé"; gtabPA[i][4]="2";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; +gtabPA[i][8]="15"; gtabPA[i][9]="2";i+=1 +gtabPA[i][1]= cParam_StatusRDV; gtabPA[i][2]="S.RDV.AFAIR"; gtabPA[i][3]= +"A faire"; gtabPA[i][4]="3";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; +gtabPA[i][8]="15"; gtabPA[i][9]="3";i+=1 +gtabPA[i][1]= cParam_StatusRDV; gtabPA[i][2]=cCle_RDVFait; gtabPA[i][3]="Fait"; +gtabPA[i][4]="4";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; gtabPA[i][8]="15"; gtabPA[i][9] +="4";i+=1 +gtabPA[i][1]= cParam_StatusRDV; gtabPA[i][2]=cCle_RDVAnnule; gtabPA[i][3]="Annulé" +; gtabPA[i][4]="98"; gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; +gtabPA[i][8]="15"; gtabPA[i][9]="98";i+=1 +gtabPA[i][1]= cParam_StatusRDV; gtabPA[i][2]=cCle_RDVAPlanifier; gtabPA[i][3]= +"A planifier"; gtabPA[i][4]="99"; gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7] +="";gtabPA[i][8]="15"; gtabPA[i][9]="99";i+=1 +06/08/2026 Batik 6363 + +Partie 7 › Collection de procédures › Lib_Version › Code +//16 = Type d'action TYPE.ACTION +gtabPA[i][1]= cParam_TypeAction; gtabPA[i][2]="T.ACT.NULL"; gtabPA[i][3]= +"Type d'action non défini"; gtabPA[i][4]="0";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; +gtabPA[i][8]="16"; gtabPA[i][9]="0";i+=1 +gtabPA[i][1]= cParam_TypeAction; gtabPA[i][2]="T.ACT.MSG.RESP"; gtabPA[i][3]= +"Message répondeur"; gtabPA[i][4]="1";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="16"; gtabPA[i][9]="1";i+=1 +gtabPA[i][1]= cParam_TypeAction; gtabPA[i][2]="T.ACT.AVIS.P"; gtabPA[i][3]= +"Avis de passage"; gtabPA[i][4]="2";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="16"; gtabPA[i][9]="2";i+=1//Non système +gtabPA[i][1]= cParam_TypeAction; gtabPA[i][2]="T.ACT.COURR"; gtabPA[i][3]= +"Courrier"; gtabPA[i][4]="3";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="16"; gtabPA[i][9]="3";i+=1//Non système +gtabPA[i][1]= cParam_TypeAction; gtabPA[i][2]="T.ACT.AUTRE"; gtabPA[i][3]="Autre"; +gtabPA[i][4]="5";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; gtabPA[i][8]="16"; gtabPA[i][9] +="5";i+=1 +gtabPA[i][1]= cParam_TypeAction; gtabPA[i][2]=cCle_TypeActEmail; gtabPA[i][3]="Mail"; +gtabPA[i][4]="7";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; gtabPA[i][8]="16"; gtabPA[i][9] +="7";i+=1 +gtabPA[i][1]= cParam_TypeAction; gtabPA[i][2]="T.ACT.MDF.FICHE"; gtabPA[i][3]= +"Modification fiche"; gtabPA[i][4]="8";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; +gtabPA[i][8]="16"; gtabPA[i][9]="8";i+=1 +//17 = Catégorie Document TYPE.DOC +gtabPA[i][1]= cParam_TypeDoc; gtabPA[i][2]=cCle_TypeDocNull; gtabPA[i][3]= +"Catégorie Document non défini"; gtabPA[i][4]="0";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; +gtabPA[i][8]="17"; gtabPA[i][9]="0";i+=1 +gtabPA[i][1]= cParam_TypeDoc; gtabPA[i][2]=cCle_TypeDocImg; gtabPA[i][3]="Photo"; +gtabPA[i][4]="1";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; gtabPA[i][8]="17"; gtabPA[i][9] +="1";i+=1 +gtabPA[i][1]= cParam_TypeDoc; gtabPA[i][2]=cCle_TypeDocAutre; gtabPA[i][3]= +"Autre document"; gtabPA[i][4]="2";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; +gtabPA[i][8]="17"; gtabPA[i][9]="2";i+=1 +gtabPA[i][1]= cParam_TypeDoc; gtabPA[i][2]=cCle_TypeDocMsgExt; gtabPA[i][3]= +"Message externe"; gtabPA[i][4]="3";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; +gtabPA[i][8]="17"; gtabPA[i][9]="3";i+=1 +gtabPA[i][1]= cParam_TypeDoc; gtabPA[i][2]=cCle_TypeDocRapport; gtabPA[i][3]= +"Rapport"; gtabPA[i][4]="4";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; +gtabPA[i][8]="17"; gtabPA[i][9]="4";i+=1 +gtabPA[i][1]= cParam_TypeDoc; gtabPA[i][2]=cCle_TypeDocBatigest; gtabPA[i][3]= +"Devis&Facture BATIGEST"; gtabPA[i][4]="5";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; +gtabPA[i][8]="17"; gtabPA[i][9]="BG";i+=1 +//18 = Aucun Type de temps TYPE.TEMPS +gtabPA[i][1]= cparam_TypeTemps; gtabPA[i][2]=cCle_TypeTempsNull; gtabPA[i][3]= +"Type de temps non défini"; gtabPA[i][4]="0";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]= +Type_Temp_Json();gtabPA[i][8]="18"; gtabPA[i][9]="0";i+=1 +gtabPA[i][1]= cparam_TypeTemps; gtabPA[i][2]=cCle_TypeTempsGlobal; gtabPA[i][3]= +"Temps global"; gtabPA[i][4]="1";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]= +Type_Temp_Json();gtabPA[i][8]="18"; gtabPA[i][9]="1";i+=1 +gtabPA[i][1]= cparam_TypeTemps; gtabPA[i][2]=cCle_TypeTempsInter ; gtabPA[i][3]= +"Temps d'intervention"; gtabPA[i][4]="2";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]= +Type_Temp_Json();gtabPA[i][8]="18"; gtabPA[i][9]="2";i+=1 +gtabPA[i][1]= cparam_TypeTemps; gtabPA[i][2]="T.TEMPS.DJNER"; gtabPA[i][3]= +"Temps pause déjeuner"; gtabPA[i][4]="98"; gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]= +Type_Temp_Json();gtabPA[i][8]="18"; gtabPA[i][9]="98";i+=1 +gtabPA[i][1]= cparam_TypeTemps; gtabPA[i][2]=cCle_TypeTempsNonAffecte; gtabPA[i][3]= +"Temps non affecté"; gtabPA[i][4]="99"; gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]= +Type_Temp_Json();gtabPA[i][8]="18"; gtabPA[i][9]="99";i+=1 +//20 = Statut collaborateur STATUT.COLB +gtabPA[i][1]= "S.COLB"; gtabPA[i][2]="S.COLB.NULL"; gtabPA[i][3]= +"Statut collaborateur non défini"; gtabPA[i][4]="0";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i +][7]=""; gtabPA[i][8]="20"; gtabPA[i][9]="0";i+=1 +gtabPA[i][1]= "S.COLB"; gtabPA[i][2]="S.COLB.SL"; gtabPA[i][3]="Salarié"; +06/08/2026 Batik 6364 + +Partie 7 › Collection de procédures › Lib_Version › Code +gtabPA[i][4]="1";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; gtabPA[i][8]="20"; gtabPA[i][9] +="1";i+=1 +gtabPA[i][1]= "S.COLB"; gtabPA[i][2]="S.COLB.INTR"; gtabPA[i][3]="Intérim"; +gtabPA[i][4]="2";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; gtabPA[i][8]="20"; gtabPA[i][9] +="2";i+=1 +gtabPA[i][1]= "S.COLB"; gtabPA[i][2]="S.COLB.APPRT"; gtabPA[i][3]="Apprenti"; +gtabPA[i][4]="3";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; gtabPA[i][8]="20"; gtabPA[i][9] +="3";i+=1 +gtabPA[i][1]= "S.COLB"; gtabPA[i][2]="S.COLB.S.TRTNT"; gtabPA[i][3]= +"Sous-traitant"; gtabPA[i][4]="4";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i +][7]=""; gtabPA[i][8]="20"; gtabPA[i][9]="4";i+=1 +gtabPA[i][1]= "S.COLB"; gtabPA[i][2]="S.COLB.ENCDRT"; gtabPA[i][3]="Encadrement"; +gtabPA[i][4]="5";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; gtabPA[i][8]="20"; gtabPA[i][9] +="5";i+=1 +//24 = Etat des documents ETAT.DOC +gtabPA[i][1]= cParam_EtatDoc; gtabPA[i][2]=cCle_EtatDocAbsent; gtabPA[i][3]="Absent"; +gtabPA[i][4]="0";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; gtabPA[i][8]="24"; gtabPA[i][9] +="0";i+=1 +gtabPA[i][1]= cParam_EtatDoc; gtabPA[i][2]=cCle_EtatDocPresent; gtabPA[i][3]="Présent"; +gtabPA[i][4]="1";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; gtabPA[i][8]="24"; gtabPA[i][9] +="1";i+=1 +gtabPA[i][1]= cParam_EtatDoc; gtabPA[i][2]=cCle_EtatDocSyncro; gtabPA[i][3]="Synchroniser"; +gtabPA[i][4]="2";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; gtabPA[i][8]="24"; gtabPA[i][9] +="2";i+=1 +//26 = Seuil d'affichage des listes LIGNE.RQ.SQL +gtabPA[i][1]= cParam_LigneRqSql; gtabPA[i][2]="L.RQ.SQL.TOUT"; gtabPA[i][3]= +"Toutes les lignes"; gtabPA[i][4]="0";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]="-1"; +gtabPA[i][8]="26"; gtabPA[i][9]="0";i+=1 +gtabPA[i][1]= cParam_LigneRqSql; gtabPA[i][2]=cCle_NumLigneReq200 ; gtabPA[i][3]= +"200 premières lignes"; gtabPA[i][4]="1";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]="200"; +gtabPA[i][8]="26"; gtabPA[i][9]="1";i+=1 +gtabPA[i][1]= cParam_LigneRqSql; gtabPA[i][2]="L.RQ.SQL.500"; gtabPA[i][3]= +"500 premières lignes"; gtabPA[i][4]="2";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]="500"; +gtabPA[i][8]="26"; gtabPA[i][9]="2";i+=1 +gtabPA[i][1]= cParam_LigneRqSql; gtabPA[i][2]="L.RQ.SQL.1000"; gtabPA[i][3]= +"1000 premières lignes"; gtabPA[i][4]="3";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]="1000"; +gtabPA[i][8]="26"; gtabPA[i][9]="3";i+=1 +//27 = Période d'affichage des listes PERIODE.RQ.SQL +gtabPA[i][1]= cParam_PeriodeRqSql ; gtabPA[i][2]="P.RQ.SQL.1M"; gtabPA[i][3]="1 mois" +; gtabPA[i][4]="0";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]="30"; +gtabPA[i][8]="27"; gtabPA[i][9]="0";i+=1 +gtabPA[i][1]= cParam_PeriodeRqSql ; gtabPA[i][2]="P.RQ.SQL.2M"; gtabPA[i][3]="2 mois" +; gtabPA[i][4]="1";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]="60"; +gtabPA[i][8]="27"; gtabPA[i][9]="1";i+=1 +gtabPA[i][1]= cParam_PeriodeRqSql ; gtabPA[i][2]="P.RQ.SQL.3M"; gtabPA[i][3]="3 mois" +; gtabPA[i][4]="2";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]="90"; +gtabPA[i][8]="27"; gtabPA[i][9]="2";i+=1 +gtabPA[i][1]= cParam_PeriodeRqSql ; gtabPA[i][2]="P.RQ.SQL.6M"; gtabPA[i][3]="6 mois" +; gtabPA[i][4]="3";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]="180"; +gtabPA[i][8]="27"; gtabPA[i][9]="3";i+=1 +gtabPA[i][1]= cParam_PeriodeRqSql ; gtabPA[i][2]="P.RQ.SQL.1A"; gtabPA[i][3]="1 an"; +gtabPA[i][4]="4";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]="365"; gtabPA[i][8]="27"; gtabPA[i +][9]="4";i+=1 +gtabPA[i][1]= cParam_PeriodeRqSql ; gtabPA[i][2]="P.RQ.SQL.2A"; gtabPA[i][3]="2 ans"; +gtabPA[i][4]="5";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]="730"; gtabPA[i][8]="27"; gtabPA[i +][9]="5";i+=1 +//30 = Apporteur Client ##SPEC Artisans Partenaires## TYPE.APPOR.CLIENT +//31 = Origine client ORIGINE.CLIENT +gtabPA[i][1]= cParam_ApportOrigClient; gtabPA[i][2]= "O.CL.VTR"; gtabPA[i][3] +="Vitrine"; gtabPA[i][4]="0";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; +gtabPA[i][8]= "31"; gtabPA[i][9]="0";i+=1 +gtabPA[i][1]= cParam_ApportOrigClient; gtabPA[i][2]= "O.CL.BCHEORE"; gtabPA[i][3]= +06/08/2026 Batik 6365 + +Partie 7 › Collection de procédures › Lib_Version › Code +"Bouche à oreille"; gtabPA[i][4]="1";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; +gtabPA[i][8]= "31"; gtabPA[i][9]="1";i+=1 +gtabPA[i][1]= cParam_ApportOrigClient; gtabPA[i][2]= "O.CL.INTERNET"; gtabPA[i][3] +="Internet"; gtabPA[i][4]="2";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; +gtabPA[i][8]= "31"; gtabPA[i][9]="2";i+=1 +gtabPA[i][1]= cParam_ApportOrigClient; gtabPA[i][2]= "O.CL.PUB.VTR"; gtabPA[i][3]= +"Pub Voiture"; gtabPA[i][4]="4";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; +gtabPA[i][8]= "31"; gtabPA[i][9]="4";i+=1 +gtabPA[i][1]= cParam_ApportOrigClient; gtabPA[i][2]= "O.CL.PUB.PRSS"; gtabPA[i][3] +="Pub Presse"; gtabPA[i][4]="5";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; +gtabPA[i][8]= "31"; gtabPA[i][9]="5";i+=1 +gtabPA[i][1]= cParam_ApportOrigClient; gtabPA[i][2]= "O.CL.FLYER"; gtabPA[i][3]= +"Flyer"; gtabPA[i][4]="6";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; +gtabPA[i][8]= "31"; gtabPA[i][9]="6";i+=1 +gtabPA[i][1]= cParam_ApportOrigClient; gtabPA[i][2]= "O.CL.AUTRE"; gtabPA[i][3]= +"Autre"; gtabPA[i][4]="7";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; +gtabPA[i][8]= "31"; gtabPA[i][9]="10";i+=1 +//32 = Type signataire CR TYPE.SIGNATAIRE +gtabPA[i][1]= cParam_TypeSignCR; gtabPA[i][2]= "T.SIGN.PROPRI"; gtabPA[i][3]= +"Propriétaire"; gtabPA[i][4]="0";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]= "32"; gtabPA[i][9]="0";i+=1 +gtabPA[i][1]= cParam_TypeSignCR; gtabPA[i][2]= "T.SIGN.LOC"; gtabPA[i][3]= +"Locataire"; gtabPA[i][4]="1";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]= "32"; gtabPA[i][9]="1";i+=1 +gtabPA[i][1]= cParam_TypeSignCR; gtabPA[i][2]= "T.SIGN.GEST"; gtabPA[i][3]= +"Gestionnaire"; gtabPA[i][4]="2";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]= "32"; gtabPA[i][9]="2";i+=1 +//33 = Mode de règlement client MODE.REGLEMENT +gtabPA[i][1]= cParam_ModeReglClient; gtabPA[i][2]= "M.REG.30J"; gtabPA[i][3] +="30 JRS DATE DE FACTURE"; gtabPA[i][4]="1";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]= "33"; gtabPA[i][9]="3000";i+=1 +gtabPA[i][1]= cParam_ModeReglClient; gtabPA[i][2]= "M.REG.CMD"; gtabPA[i][3] +="REGLT 100% A LA COMMANDE"; gtabPA[i][4]="2";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]= "33"; gtabPA[i][9]="3001";i+=1 +gtabPA[i][1]= cParam_ModeReglClient; gtabPA[i][2]= "M.REG.PAYE"; gtabPA[i][3]= +"PAYE"; gtabPA[i][4]="3";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]= "33"; gtabPA[i][9]="3002";i+=1 +gtabPA[i][1]= cParam_ModeReglClient; gtabPA[i][2]= "M.REG.REP.FACT"; gtabPA[i][3]= +"A RECEPTION DE FACTURE"; gtabPA[i][4]="4";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]= "33"; gtabPA[i][9]="CPT";i+=1 +//34 = Origine annulation rdv ORIGINE.ANNULATION.RDV +gtabPA[i][1]= cParam_OrigAnnuRDV; gtabPA[i][2]="O.ANU.RDV.E.CLI"; gtabPA[i][3]= +"Externe : Client"; gtabPA[i][4]="0";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; +gtabPA[i][8]="34"; gtabPA[i][9]="0";i+=1 +gtabPA[i][1]= cParam_OrigAnnuRDV; gtabPA[i][2]="O.ANU.RDV.I.CLB"; gtabPA[i][3]= +"Interne : Collaborateur"; gtabPA[i][4]="1";gtabPA[i][5]="1";gtabPA[i][6]="1"; gtabPA[i][7] +="";gtabPA[i][8]="34"; gtabPA[i][9]="1";i+=1 +gtabPA[i][1]= cParam_OrigAnnuRDV; gtabPA[i][2]="O.ANU.RDV.AUTRE"; gtabPA[i][3]="Autre"; +gtabPA[i][4]="2";gtabPA[i][5]="1";gtabPA[i][6]="1";gtabPA[i][7]=""; gtabPA[i][8]="34"; gtabPA[i][9] +="2";i+=1 +//35 = Motif annulation rdv MOTIF.ANNULATION.RDV +gtabPA[i][1]= cParam_MotifAnnuRDV; gtabPA[i][2]="M.ANU.RDV.ABS"; gtabPA[i][3]="Absent"; +gtabPA[i][4]="0";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; gtabPA[i][8]="35"; gtabPA[i][9] +="0";i+=1 +gtabPA[i][1]= cParam_MotifAnnuRDV; gtabPA[i][2]="M.ANU.RDV.EMPC"; gtabPA[i][3]= +"Empêchement"; gtabPA[i][4]="1";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; +gtabPA[i][8]="35"; gtabPA[i][9]="1";i+=1 +gtabPA[i][1]= cParam_MotifAnnuRDV; gtabPA[i][2]="M.ANU.RDV.AUTRE"; gtabPA[i][3]="Autre"; +gtabPA[i][4]="2";gtabPA[i][5]="1";gtabPA[i][6]="0";gtabPA[i][7]=""; gtabPA[i][8]="35"; gtabPA[i][9] +="2";i+=1 +Procédure globale MaJCategorieAccesProfil +06/08/2026 Batik 6366 + +Partie 7 › Collection de procédures › Lib_Version › Code +procédure MaJCategorieAccesProfil(bOK est un booléen) +tbCategAcces est un tableau de [37,6] chaînes +ListeDroitDeAcces(tbCategAcces) +pour nLigne = 1 _à_ TableauInfo(tbCategAcces,tiNombreLignes) +si SansEspace(tbCategAcces[nLigne][1]) <> "" alors +HLitRecherchePremier(CategorieAcces,CAC_Cle,tbCategAcces[nLigne][1]) +si pas HTrouve(CategorieAcces) alors +HRAZ(CategorieAcces) +CategorieAcces.CAC_Cle = tbCategAcces[nLigne][1] +fin +CategorieAcces.CAC_Libelle = tbCategAcces[nLigne][2] +CategorieAcces.CAC_Ordre = tbCategAcces[nLigne][3] +CategorieAcces.CAC_Mobile = tbCategAcces[nLigne][4] +CategorieAcces.CAC_AncienCode = tbCategAcces[nLigne][5] +CategorieAcces.CAC_Description = tbCategAcces[nLigne][6] +si pas HEnregistre(CategorieAcces) alors +Erreur("Erreur lors de l'enregistrement des catégories accès",HErreurInfo(hErrComplet)) +bOK = Faux +fin +fin +fin +Procédure globale MaJEnteteParamMetier +procédure MaJEnteteParamMetier(bOk est un booléen) +tbEnteteParamMetier est un tableau de [40,5] chaînes +ListeEnteteParametres(tbEnteteParamMetier) +pour nLigne = 1 _à_ TableauInfo(tbEnteteParamMetier,tiNombreLignes) +si SansEspace(tbEnteteParamMetier[nLigne][5]) <> "" alors +HLitRecherchePremier(ParametreMetierEntete,PM_Code,tbEnteteParamMetier[nLigne][5]) +si pas HTrouve(ParametreMetierEntete) alors +HRAZ(ParametreMetierEntete) +ParametreMetierEntete.PM_Code = tbEnteteParamMetier[nLigne][5] +fin +ParametreMetierEntete.PM_Libelle = tbEnteteParamMetier[nLigne][1] +ParametreMetierEntete.PM_Categorie = tbEnteteParamMetier[nLigne][2] +ParametreMetierEntete.PM_Groupe = tbEnteteParamMetier[nLigne][3] +ParametreMetierEntete.PM_Type = tbEnteteParamMetier[nLigne][4] +si pas HEnregistre(ParametreMetierEntete) alors +Erreur("Erreur lors de l'enregistrement des paramètres entête",HErreurInfo(hErrComplet)) +bOk = Faux +fin +fin +fin +Procédure globale MaJEtats +procédure MaJEtats(bOK est un booléen) +tbEtat est un tableau de [35,4] chaînes +ListeEtats(tbEtat) +pour nLigne = 1 _à_ TableauInfo(tbEtat,tiNombreLignes) +si SansEspace(tbEtat[nLigne][4]) <> "" alors +HLitRecherchePremier(Etats,ETA_Valeur,tbEtat[nLigne][4]) +si pas HTrouve(Etats) alors +HRAZ(Etats) +06/08/2026 Batik 6367 + +Partie 7 › Collection de procédures › Lib_Version › Code +| | Etats.ETA_Valeur | | = tbEtat[nLigne][4] | | | +| --- | ----------------- | --- | ------------------- | --- | --- | +fin +| Etats.ETA_Groupe | | = tbEtat[nLigne][1] | | | | +| ----------------- | --- | ------------------- | ------------------- | --- | --- | +| Etats.ETA_Libelle | | = tbEtat[nLigne][2] | | | | +| Etats.ETA_Ordre | | | = tbEtat[nLigne][3] | | | +si pas HEnregistre(Etats) alors +Erreur("Erreur lors de l'enregistrement des États",HErreurInfo(hErrComplet)) +bOK = Faux +fin +fin +fin +Procédure globale MaJParamMetier +procédure MaJParamMetier(bOk est un booléen) +| tbParamMetier | | est un tableau de [228,9] chaînes | | | | +| -------------- | --- | --------------------------------- | --- | --- | --- | +ListeParametresMetier(tbParamMetier) +pour nLigne = 1 _à_ TableauInfo(tbParamMetier,tiNombreLignes) +si SansEspace(tbParamMetier[nLigne][1]) <> "" alors +sCleFiltre est une chaîne= HFiltre(ParametreMetier,ChaîneConstruit( +"PA_Code='%1' ET PA_VAleur='%2'",tbParamMetier[nLigne][8],tbParamMetier[nLigne][9])) +HLitPremier(ParametreMetier,sCleFiltre,hRespecteFiltre) +si HEnDehors(ParametreMetier)alors +HRAZ(ParametreMetier) +| | ParametreMetier.PA_Code | | = tbParamMetier[nLigne][8] | | | +| --- | ---------------------------- | --- | -------------------------- | --- | --- | +| | ParametreMetier.PA_Valeur | | = tbParamMetier[nLigne][9] | | | +| | ParametreMetier.PA_Libelle | | = tbParamMetier[nLigne][3] | | | +| | ParametreMetier.PA_Ordre | | = tbParamMetier[nLigne][4] | | | +| | ParametreMetier.PA_Actif | | = tbParamMetier[nLigne][5] | | | +| | ParametreMetier.PA_Parametre | | = tbParamMetier[nLigne][7] | | | +fin +| ParametreMetier.PA_Categorie | | | = tbParamMetier[nLigne][1] | | | +| ---------------------------- | --- | --- | -------------------------- | --- | --- | +| ParametreMetier.PA_CLE | | | = tbParamMetier[nLigne][2] | | | +| ParametreMetier.PA_Systeme | | | = tbParamMetier[nLigne][6] | | | +si Contient(ParametreMetier.PA_CLE,"NULL") alors +ParametreMetier.PA_Libelle = tbParamMetier[nLigne][3] +fin +si pas HEnregistre(ParametreMetier) alors +Erreur("Erreur lors de l'enregistrement des paramètres métier",HErreurInfo(hErrComplet)) +bOk = Faux +fin +fin +fin +Procédure globale MaJVersion +procédure MaJVersion() +saNumVersion est une chaîne ANSI = ParametreSystemeLit("VERSION","0") +| bOk | est un booléen | = Vrai | | | | +| ---- | --------------- | ------ | --- | --- | --- | +si saNumVersion < cVersionProjet alors +//*******************************************************************// +| // | | Paramètres métier entête | | // | | +| --- | --- | ------------------------ | --- | --- | --- | +//*******************************************************************// +MaJEnteteParamMetier(bOk) +| 06/08/2026 | | | Batik | | 6368 | +| ---------- | --- | --- | ----- | --- | ---- | + +Partie 7 › Collection de procédures › Lib_Version › Code +//*******************************************************************// +| // | Paramètres métier | | | // | | +| --- | ----------------- | --- | --- | --- | --- | +//*******************************************************************// +MaJParamMetier(bOk) +//*******************************************************************// +| // | | États | | // | | +| --- | --- | ----- | --- | --- | --- | +//*******************************************************************// +MaJEtats(bOk) +//*******************************************************************// +| // | Categories accès profils | | | // | | +| --- | ------------------------ | --- | --- | --- | --- | +//*******************************************************************// +MaJCategorieAccesProfil(bOk) +si bOk alors +ParametreSystemeEcrit("VERSION",cVersionProjet, +"Version de l'application bureau correspondante (Paramètres)") +fin +fin +| 06/08/2026 | | | Batik | | 6369 | +| ---------- | --- | --- | ----- | --- | ---- | + +Partie 7 › Collection de procédures › Lib_JSON_INFO › Code +Lib_JSON_INFO +Code +Procédure globale Type_Activite_Json +procédure Type_Activite_Json():Buffer +stParamTypeAct est un ST_TypeActiviteRDV +stParamTypeAct.envoi_mobile = 0 +stParamTypeAct.present_devis = 0 +stParamTypeAct.valider_rdv = 0 +stParamTypeAct.saisir_temps_obligatoire = 0 +bufParam est un Buffer +Sérialise(stParamTypeAct,bufParam,psdJSON) +renvoyer bufParam +Procédure globale Type_Temp_Json +procédure Type_Temp_Json():Buffer +stParamTypeTemps est un ST_Param_TypeTempsrdv +stParamTypeTemps.obligatoire = "0000" +stParamTypeTemps.heure_debut = "000000" +stParamTypeTemps.heure_fin = "000000" +stParamTypeTemps.temps_max = "0" +stParamTypeTemps.temps_min = "0" +stParamTypeTemps.devis = 0 +stParamTypeTemps.type_act ="1" +bufParam est un Buffer +Sérialise(stParamTypeTemps,bufParam,psdJSON) +renvoyer bufParam +06/08/2026 Batik 6370 + +Partie 7 › Collection de procédures › LIB_HFSQL › Code +LIB_HFSQL +Code +Déclaration de LIB_HFSQL +constant +df_Milieutexte = "HFSQL_1" +df_FinTexte = "HFSQL_2" +df_DebutTexte = "HFSQL_3" +df_TexteComplet = "HFSQL_4" +df_Date = "HFSQL_5" +df_DateSup = "HFSQL_6" +df_DateInf = "HFSQL_7" +df_DateSupEgal = "HFSQL_8" +df_DateInfEgal = "HFSQL_9" +df_DateHeure = "HFSQL_10" +df_DateHeureSup = "HFSQL_11" +df_DateHeureInf = "HFSQL_12" +df_DateHeureSupEgal = "HFSQL_13" +df_DateHeureInfEgal = "HFSQL_14" +df_Numerique = "HFSQL_15" +df_Booleen = "HFSQL_16" +df_null = "HFSQL_17" +df_DansRequete = "HFSQL_18" +df_PasDansRequete = "HFSQL_19" +df_PasNull = "HFSQL_20" +df_Periode = "HFSQL_21" +df_DansListe = "HFSQL_22" +df_Zero = "HFSQL_23" +df_PasZero = "HFSQL_24" +df_SousChaine = "HFSQL_25" +df_Montant = "HFSQL_26" +df_Plage = "HFSQL_27" +df_Id = "HFSQL_28" +df_Existe = "HFSQL_29" +df_ExistePas = "HFSQL_30" +fin +Procédure globale CritereHF +procédure CritereHF(opt , local Choix, NomChamp, sTypeDonnee est une chaîne ANSI, RequeteSQL="", +FinPeriode="",Ecart=1) +si opt et Choix<>"" alors +si sTypeDonnee=df_Periode et (FinPeriode="" ou FinPeriode=Choix) alors sTypeDonnee=df_Date +selon sTypeDonnee +cas df_Milieutexte +si Choix="NULL" alors +renvoyer "AND ( " + NomChamp + " IS NULL OR " + NomChamp + "='') " +fin +renvoyer "AND Upper("+NomChamp+") Like Upper('%"+StrSQL(Choix)+"%') " +cas df_DebutTexte +si Choix="NULL" alors +renvoyer "AND ( " + NomChamp + " IS NULL OR " + NomChamp + "='') " +fin +06/08/2026 Batik 6371 + +Partie 7 › Collection de procédures › LIB_HFSQL › Code +renvoyer "AND Upper("+NomChamp+") Like Upper('"+StrSQL(Choix)+"%') " +cas df_FinTexte +si Choix="NULL" alors +renvoyer "AND ( " + NomChamp + " IS NULL OR " + NomChamp + "='') " +fin +renvoyer "AND Upper("+NomChamp+") Like Upper('%"+StrSQL(Choix)+"') " +cas df_TexteComplet +si Choix="NULL" alors +renvoyer "AND ( " + NomChamp + " IS NULL OR " + NomChamp + "='') " +fin +renvoyer "AND Upper("+NomChamp+") Like Upper('"+StrSQL(Choix)+"') " +cas df_Date +si Choix="NULL" alors +renvoyer "AND ( " + NomChamp + " IS NULL ) " +fin +renvoyer "AND LEFT(" + NomChamp + ",8)= '" + SansEspace(Choix) + "' " +cas df_DateSup +si Choix="NULL" alors +renvoyer "AND ( " + NomChamp + " IS NULL ) " +fin +renvoyer "AND LEFT(" + NomChamp + ",8) > '" + SansEspace(Choix) + "' " +cas df_DateSupEgal +si Choix="NULL" alors +renvoyer "AND ( " + NomChamp + " IS NULL ) " +fin +renvoyer "AND LEFT(" + NomChamp + ",8) >= '" + SansEspace(Choix) + "' " +cas df_DateInf +si Choix="NULL" alors +renvoyer "AND ( " + NomChamp + " IS NULL ) " +fin +renvoyer "AND LEFT(" + NomChamp + ",8) < '" + SansEspace(Choix) + "' " +cas df_DateInfEgal +si Choix="NULL" alors +renvoyer "AND ( " + NomChamp + " IS NULL ) " +fin +renvoyer "AND LEFT(" + NomChamp + ",8) <= '" + SansEspace(Choix) + "' " +cas df_DateHeure +si Choix="NULL" alors +renvoyer "AND ( " + NomChamp + " IS NULL ) " +fin +renvoyer "AND " + NomChamp + "= '" + SansEspace(Choix) + "' " +cas df_DateHeureSup +si Choix="NULL" alors +renvoyer "AND ( " + NomChamp + " IS NULL ) " +fin +renvoyer "AND " + NomChamp + " > '" + SansEspace(Choix) + "' " +cas df_DateHeureSupEgal +si Choix="NULL" alors +renvoyer "AND ( " + NomChamp + " IS NULL ) " +fin +renvoyer "AND " + NomChamp + " >= '" + SansEspace(Choix) + "' " +cas df_DateHeureInf +si Choix="NULL" alors +renvoyer "AND ( " + NomChamp + " IS NULL ) " +fin +06/08/2026 Batik 6372 + +Partie 7 › Collection de procédures › LIB_HFSQL › Code +renvoyer "AND " + NomChamp + " < '" + SansEspace(Choix) + "' " +cas df_DateHeureInfEgal +si Choix="NULL" alors +renvoyer "AND ( " + NomChamp + " IS NULL ) " +fin +renvoyer "AND " + NomChamp + " <= '" + SansEspace(Choix) + "' " +cas df_Numerique +si Choix <>"NULL" alors +renvoyer "AND " + NomChamp + "=" + NbUs((Choix)) + " " +sinon +renvoyer "AND " + NomChamp + " IS NULL " +fin +cas df_Montant +si Choix="NULL" alors +renvoyer "AND ( " + NomChamp + " IS NULL ) " +fin +renvoyer "AND " + NomChamp + " BETWEEN " + (Choix-Ecart) + " AND " + (Choix +Ecart) + " " +cas df_Booleen +si Choix alors +renvoyer "AND " + NomChamp + " =1 " +sinon +renvoyer "AND " + NomChamp + " = 0 " +fin +cas df_null +si Choix alors +renvoyer "AND " + NomChamp + " IS NULL " +sinon +renvoyer "AND " + NomChamp + " IS NOT NULL " +fin +cas df_PasNull +si Choix alors +renvoyer "AND " + NomChamp + " IS NOT NULL " +sinon +renvoyer "AND " + NomChamp + " IS NULL " +fin +cas df_DansRequete +si RequeteSQL<>"" et Choix<>"" alors +renvoyer "AND " + NomChamp + " IN (" + RequeteSQL + ") " +sinon +renvoyer "" +fin +cas df_PasDansRequete +si RequeteSQL<>"" et Choix<>"" alors +renvoyer "AND " + NomChamp + " NOT IN (" + RequeteSQL + ") " +sinon +renvoyer "" +fin +cas df_DansListe +renvoyer "AND " + NomChamp + " IN (" + Choix +") " +cas df_Periode +renvoyer "AND (" + NomChamp + " BETWEEN '" + Choix + "' AND '" + FinPeriode + "') " +cas df_Zero +si Choix alors +renvoyer "AND " + NomChamp + " = 0 " +sinon +06/08/2026 Batik 6373 + +Partie 7 › Collection de procédures › LIB_HFSQL › Code +renvoyer "AND " + NomChamp + " <>0 " +fin +cas df_PasZero +si Choix alors +renvoyer "AND " + NomChamp + " <> 0 " +sinon +renvoyer "AND " + NomChamp + " =0 " +fin +cas df_SousChaine +renvoyer "AND " + ExtraitChaîne(NomChamp,Choix,";") +cas df_Plage +s1,s2 sont des chaînes +s1 = ExtraitChaîne(Choix,1," À " ) +s2 = ExtraitChaîne(Choix,2," À " ) +si s1<>"" et s2 <>"" alors +renvoyer "AND (" + NomChamp + " BETWEEN '" + s1 + "' AND '" + s2 + "') " +sinon +renvoyer "" +fin +cas df_Id +si Choix > 0 alors +renvoyer "AND " + NomChamp + "=" + Choix + " " +fin +cas df_Existe +si RequeteSQL<>"" et Choix<>"" alors +renvoyer "AND EXISTS (" + RequeteSQL + ") " +sinon +renvoyer "" +fin +cas df_ExistePas +si RequeteSQL<>"" et Choix<>"" alors +renvoyer "AND NOT EXISTS (" + RequeteSQL + ") " +sinon +renvoyer "" +fin +autre cas +renvoyer "" +fin +sinon +renvoyer "" +fin +Procédure globale NbUs +procédure NbUs(N est réel) +renvoyer NumériqueVersChaîne(N, "-18.4f") +Procédure globale StrSQL +procédure StrSQL( S est chaîne) +Sloc est chaîne +Sloc=Remplace(S,"'","''") //remplace le ' par '' +renvoyer Sloc +06/08/2026 Batik 6374 + +Partie 7 › Collection de procédures › LIB_ConstantesGlobal › Code +LIB_ConstantesGlobal +Code +Déclaration de LIB_ConstantesGlobal +constante +cFEN_Dossier = "Dossier" +cFEN_Inter = "INTER" +cFEN_Client = "Client" +cFEN_Site = "SITE" +cFEN_Contact = "CONTACT" +cFEN_RDV = "RDV" +cFEN_Colb = "Collaborateur" +cFEN_Equipe = "Equipe" +cFEN_Societe = "Societe" +cFEN_Choix_Liste = "FEN_Choix_Liste" +cFEN_Fiche_Contact = "Contact" +cFI_DonneursOrdre = "Donneurs_Ordre" +cFI_ContactSite = "ContactSite" +cFI_Liste_ContactClient = "ContactClient" +cFI_RDV_Attente = "RDV_Attente" +cFI_Liste_ContactSite = "Liste_ContactSite" +cFI_Liste_Contact = "Liste_Contact" +cFI_Liste_DossierClient = "Liste_Dossier_Client" +cFI_Liste_DossierPers = "Liste_Dossier_Contact" +cFI_Liste_DossierSite = "Liste_Dossier_Site" +cFI_Liste_Client = "Liste_Client" +cFI_Liste_ClientSite = "Liste_Client_Site" +cFI_Liste_Site = "Liste_Site" +cFI_Liste_SiteClient = "Liste_Site_Client" +cFEN_Dossier_C = "FEN_Fiche_Dossier_Creation" +cExtra_GUID = "GUID" +cExtra_IdRdv = "IdRdv" +cExtra_GUIDRdvColb = "GUIDRdvColb" +cExtra_IdTemps = "IdTemps" +cExtra_IdInter = "IdInter" +cExtra_NumInter = "NumInter" +cExtra_TypeRdv = "TypeRdv" +cExtra_TypeTemps = "TypeTemps" +cExtra_StatusRDV = "StatusRdv" +cExtra_DateD_PL = "DateD_PL" +cExtra_DateF_PL = "DateF_PL" +cExtra_DateD_SDT = "DateD_SDT" +cExtra_DateF_SDT = "DateF_SDT" +cExtra_Control = "Control" +cExtra_Pond = "ColbPond" +cParam_Fenetre = "Fenetre" +cParam_Alias = "Alias" +cParam_IdFen = "Id" +cParam_TypeEnr = "Type_Enregistrement" +cParam_CheminFic = "CheminFic" +cParam_ListeId = "Liste_IDs" +cParam_ListeChaine = "Liste_Chaine" +cTypeRapport = "Rapport" +06/08/2026 Batik 6375 + +Partie 7 › Collection de procédures › LIB_ConstantesGlobal › Code +cTypeEmail = "Email" +fin +| 06/08/2026 | Batik | 6376 | +| ---------- | ----- | ---- | + +Partie 7 › Collection de procédures › LIB_Batigest › Code +LIB_Batigest +Code +Déclaration de LIB_Batigest +ST_BG_Adresse est une Structure +sAdd_Etiquette est une chaîne ANSI +sAdd_1 est une chaîne ANSI +sAdd_2 est une chaîne ANSI +sAdd_Ville est une chaîne ANSI +sAdd_CP est une chaîne ANSI +sAdd_Pays est une chaîne ANSI +fin +Procédure globale AdresseBatigest +procédure AdresseBatigest(oAdresse est un MAdresse) +stAdr est un ST_BG_Adresse +stAdr:sAdd_Etiquette = SupprimerRC(oAdresse:saEtiquette) +si oAdresse:saAdresse..Taille < 50 alors +stAdr:sAdd_1 = oAdresse:saAdresse +sinon +stAdr:sAdd_1 = Gauche(SupprimerRC(oAdresse:saAdresse),50) +stAdr:sAdd_2 = Milieu(SupprimerRC(oAdresse:saAdresse),51,50) +fin +stAdr:sAdd_CP = SupprimerRC(oAdresse.saCodePostal) +stAdr:sAdd_Ville = SupprimerRC(oAdresse.saVille) +renvoyer stAdr +Procédure globale BatigestActif +procédure BatigestActif() +gbBATIGESTActif = ParametreSystemeLit("BATIGEST_ACTIF",0,Faux, +"Indique si le module BATIGEST est actif") +TableauSupprimeTout(gTbConfigsBDExt) +pclUneConfig est un MConnexionBaseExt dynamique +pour tout BddExterne sur BSX_PKID +pclUneConfig = allouer un MConnexionBaseExt +FichierVersMémoire(pclUneConfig,BddExterne) +si pclUneConfig.sParam <> "" alors +Désérialise(pclUneConfig.stParamCnx,pclUneConfig.sParam,psdJSON) +fin +TableauAjoute(gTbConfigsBDExt,pclUneConfig) +fin +Procédure globale ExportDevisBDExt +06/08/2026 Batik 6377 + +Partie 7 › Collection de procédures › LIB_Batigest › Code +procédure ExportDevisBDExt(clInter est un MIntervention, clClient est un MClient) +//nPosConfigSoc est un entier = +TableauCherche(gTbConfigsBDExt,tcLinéaire,"nIDSociete",clInter:nIDSociete) +//si clInter:nIDSociete > 0 _et_ nPosConfigSoc <= 0 alors +// Erreur("Aucune configuration Batigest n'est définie pour la société de l'intervention.") +// renvoyer Faux +//fin +//bOkCl est un booléen +//stDevis est un ST_BG_DEVIS +// +//si SansEspace(clClient:saIdExportClient) = "" alors +// tbIdsSoc est un tableau associatif de chaînes ANSI +// (bOkCl,tbIdsSoc) = ExporterClientBDExt(clClient,stDevis.stClient) +// si tbIdsSoc[clInter.nidsociete]..existe _et_ tbIdsSoc[clInter.nIDSociete] <> "" alors +// clClient:saIdExportClient = tbIdsSoc[clInter.nIDSociete] +// stDevis.stClient.sCodeExterne = tbIdsSoc[clInter.nIDSociete] +// bOkCl = vrai +// FIN +// +//sinon +// bOkCl = Vrai +//FIN +// +//si pas bOkCl alors +// erreur("Une erreur est survenue lors de la création du client dans Batigest") +// renvoyer faux +//FIN +// +//si SansEspace(stDevis.stClient.sCodeExterne) = "" alors +// RemplirClientBG(stDevis.stClient,clClient) +//FIN +// +//clDonneurOrdre est un MContact_Inter = DonneUnDonneurOrdreInter(clInter.nPKID) +// +//si clDonneurOrdre.nPKID > 0 alors +// RemplirCtcBatigest(clDonneurOrdre.oPersonne,stDevis.stDonneurOrdre) +//FIN +// +//si clInter.nIDLieu > 0 _et_ HLitRecherchePremier(Lieu,LI_PKID,clInter.nIDLieu) alors +// stDevis.stSite.sAdd_Etiquette = Lieu.LI_CodeLieu +// si lieu.LI_IDAdresse > 0 _et_ HLitRecherchePremier(Adresse,AD_PKID,lieu.LI_IDAdresse) ALORS +// SI Adresse.AD_Adresse..Taille < 50 ALORS +// stDevis.stSite.sAdd_1 = SupprimerRC(Adresse.AD_Adresse) +// SINON +// stDevis.stSite.sAdd_1 = SupprimerRC(Gauche(Adresse.AD_Adresse,50)) +// stDevis.stSite.sAdd_2 = SupprimerRC(Milieu(Adresse.AD_Adresse,51,50)) +// FIN +// +// stDevis.stSite.sAdd_CP = SupprimerRC(Adresse.AD_CodePostal) +// stDevis.stSite.sAdd_Ville = SupprimerRC(Adresse.AD_Ville) +// FIN +//FIN +// +//clDemandeurSite est un MContact_Inter = DonneUnCtcSiteInter(clInter.nPKID) +// +//si clDemandeurSite.nPKID > 0 alors +// RemplirCtcBatigest(clDemandeurSite.oPersonne,stDevis.stContactSite) +//FIN +// +////Information de base de l'intervention +// +//nCodeDevis est un entier += CreaCompteur(ParametreApplicationLit(cParam_PF_Code_DevisBG,"DE",Faux,"Indique si la création du +devis contient un préfixe")) +06/08/2026 Batik 6378 + +Partie 7 › Collection de procédures › LIB_Batigest › Code +//nTailleCompteur est un entier += Val(ParametreApplicationLit(cParam_T_Compteur_DevisBG,5,Faux,"Contient la taille du compteur devis +complété par des zéros")) +// +//stDevis.sNumDevis += ParametreApplicationLit(cParam_PF_Code_DevisBG,"DE",Faux,"Indique si la création du devis contient un +préfixe")+Répète("0",nTailleCompteur-Taille(nCodeDevis))+nCodeDevis +//si clInter.saDescription <> "" alors +// stDevis.sDescription = RTFVersTexte(clInter.saDescription) +//FIN +//stDevis.dDateDebut = clInter.dDateIntervention +//stDevis.sNumIntervention = SupprimerRC(clInter.saRefInterne) +//stDevis.sRefExterneInterv = SupprimerRC(clInter.saRefExterne) +//si clInter.nIDSuiviPar > 0 _et_ gtabListeCollaborateurs[clInter.nIDSuiviPar]..existe alors +// stDevis.sRepresentant = gtabListeCollaborateurs[clInter.nIDSuiviPar].saTrigramme +//FIN +// +////sAjson est une chaîne ANSI +////Sérialise(stDevis,sAjson,psdJSON) +//stCnxBg est une Connexion +//stCnxBg.Utilisateur = gTbConfigsBDExt[nPosConfigSoc].stParamCnx.sConnect_Utilisateur +//stCnxBg.MotDePasse = gTbConfigsBDExt[nPosConfigSoc].stParamCnx.sConnect_MotDePasse +//stCnxBg.Serveur = gTbConfigsBDExt[nPosConfigSoc].stParamCnx.sConnect_Serveur +// +//stRep est un ST_BG_REP = CompBatigestOmika.CreationDevis(stCnxBg,stDevis) +// +//si stRep.bOk = Faux alors +// sErreur est une chaîne ANSI = "Une erreur est survenue lors de la création du devis dans Batigest " +// si stRep.sErr <> "" alors +// sErreur += RC +stRep.sErr +// fin +// Erreur(sErreur) +//sinon +// si clInter.DateCharge(clInter.nPKID) alors +// clInter.saNumDevis = stRep.sUUData +// clInter.Enregistrer() +// +// HRAZ(Intervention_BddExterne) +// Intervention_BddExterne.INX_IDBddExterne = gTbConfigsBDExt[nPosConfigSoc].nPKID +// Intervention_BddExterne.INX_IDExterne = stRep.sUUData +// Intervention_BddExterne.INX_IDIntervention = clInter.nPKID +// Intervention_BddExterne.CreationDate = DateHeureSys() +// Intervention_BddExterne.ModifDate = DateHeureSys() +// Intervention_BddExterne.CreationUser = CollaborateurEnCours:nIdUser +// Intervention_BddExterne.ModifUser = CollaborateurEnCours:nIdUser +// si pas HEnregistre(Intervention_BddExterne) alors +// UneErreur.Init(ErreurApp.ErreurHFSQL,"","ExportDevisBDExt") +// fin +// sinon +// erreur("Erreur dans le chargement de l'intervention") +// renvoyer faux +// FIN +// renvoyer Vrai +//fin +renvoyer Faux +Procédure globale ExporterClientBDExt +procédure ExporterClientBDExt(clClient est un MClient)///, stClientExp est un ST_BG_CLIENT) +////tbIdSoc est un tableau associatif de chaînes ANSI +06/08/2026 Batik 6379 + +Partie 7 › Collection de procédures › LIB_Batigest › Code +//// +////si SansEspace(clClient.saCodeClient) = "" alors +////Erreur("Le code client est obligatoire pour l'export vers Batigest") +////renvoyer Faux +////fin +//// +////si gTbConfigsBDExt..Occurrence <= 0 alors +////erreur("Aucune configuration de base externe n'est définie pour l'export") +////renvoyer faux +////FIN +//// +////RemplirClientBG(stClientExp,clClient) +//// +//// +////pour tout clUneBase de gTbConfigsBDExt +////stCnxBg est une Connexion +////stCnxBg.Utilisateur = clUneBase.stParamCnx.sConnect_Utilisateur +////stCnxBg.MotDePasse = clUneBase.stParamCnx.sConnect_MotDePasse +////stCnxBg.Serveur = clUneBase.stParamCnx.sConnect_Serveur +//// +////stRep est un ST_BG_REP = CompBatigestOmika.CreationClient(stCnxBg,stClientExp) +//// +////si stRep.bOk = Faux alors +//// sErreur est une chaîne ANSI = "Une erreur est survenue lors de la création du client dans +Batigest " +//// si stRep.sErr <> "" alors +//// sErreur += RC +stRep.sErr +//// fin +//// Erreur(sErreur) +////sinon +//// clClient:saIdExportClient = stRep.sUUData +//// tbIdSoc[clUneBase.nIDSociete] = stRep.sUUData +//// hraz(Client_BddExterne) +//// Client_BddExterne.CLX_IDBddExterne = clUneBase.nPKID +//// Client_BddExterne.CLX_IDCLient = clClient.nPKID +//// Client_BddExterne.CLX_IDExterne = stRep.sUUData +//// Client_BddExterne.CreationDate = DateHeureSys() +//// Client_BddExterne.ModifDate = DateHeureSys() +//// Client_BddExterne.CreationUser = CollaborateurEnCours:nIdUser +//// Client_BddExterne.ModifUser = CollaborateurEnCours:nIdUser +//// si pas HEnregistre(Client_BddExterne) alors +//// UneErreur.Init(ErreurApp.ErreurHFSQL,"","ExporterClientBDExt") +//// FIN +////fin +////FIN +//// +////renvoyer (vrai,tbIdSoc) +Procédure globale ExporterMiseJourClientBatigest +procédure ExporterMiseJourClientBatigest(clClient est un MClient) +//si SansEspace(clClient.saCodeClient) = "" alors +// erreur("Le code client est obligatoire pour l'export") +// renvoyer faux +//FIN +// +//stClientExp est un ST_BG_CLIENT +//si gTbConfigsBDExt..Occurrence <= 0 alors +// Erreur("Aucune configuration de base pour l'export existe") +// renvoyer Faux +//fin +// +//RemplirClientBG(stClientExp,clClient) +// +06/08/2026 Batik 6380 + +Partie 7 › Collection de procédures › LIB_Batigest › Code +// +//pour tout clUneBase de gTbConfigsBDExt +// stCnxBg est une Connexion +// stCnxBg.Utilisateur = clUneBase.stParamCnx.sConnect_Utilisateur +// stCnxBg.MotDePasse = clUneBase.stParamCnx.sConnect_MotDePasse +// stCnxBg.Serveur = clUneBase.stParamCnx.sConnect_Serveur +// +// stRep est un ST_BG_REP = CompBatigestOmika.CreationClient(stCnxBg,stClientExp) +// +// si stRep.bOk = Faux alors +// sErreur est une chaîne ANSI = "Une erreur est survenue lors de la mise à jour du client dans +Batigest " +// si stRep.sErr <> "" alors +// sErreur += RC +stRep.sErr +// fin +// Erreur(sErreur) +// renvoyer faux +// fin +//fin +renvoyer Vrai +Procédure globale RemplirAdresseBatigest +procédure RemplirAdresseBatigest(clAdresse est un MAdresse)//,stAdrBatigest est un ST_BG_Adresse ) +//stAdrBatigest.sAdd_Etiquette= SupprimerRC(clAdresse.saEtiquette) +//SI clAdresse:saAdresse..Taille < 50 ALORS +// stAdrBatigest.sAdd_1 = SupprimerRC(clAdresse:saAdresse) +//SINON +// stAdrBatigest.sAdd_1 = Gauche(SupprimerRC(clAdresse:saAdresse),50) +// stAdrBatigest.sAdd_2 = Milieu(SupprimerRC(clAdresse:saAdresse),51,50) +//FIN +// +//stAdrBatigest.sAdd_CP = SupprimerRC(clAdresse.saCodePostal) +//stAdrBatigest.sAdd_Ville = SupprimerRC(clAdresse.saVille) +Procédure globale RemplirClientBG +procédure RemplirClientBG()//stClientExp est un ST_BG_CLIENT,clClient est un MClient) +//stClientExp.sNomClient = SupprimerRC(clClient.saNom) +//stClientExp.sCodeExterne = SupprimerRC(clClient.saCodeClient) +//stClientExp.sCodeComptable = SupprimerRC(clClient.saCodeComptable) +// +//si clClient.saCleType <> "" _et_ gtabParametresMetierCode[cParam_TypeClient]..Existe _et_ +gtabParametresMetierCode[cParam_TypeClient][clClient.saCleType]..Existe alors +// stClientExp.sTypeClient += gtabParametresMetierCode[cParam_TypeClient][clClient.saCleType].salibelle +// stClientExp.sStatut += gtabParametresMetierCode[cParam_TypeClient][clClient.saCleType].saParametre +//fin +//si clClient.saCleApporteur <> "" _et_ gtabParametresMetierCode[cParam_ApportClient]..Existe _et_ +gtabParametresMetierCode[cParam_ApportClient][clClient.saCleApporteur]..Existe alors +// stClientExp.sApporteur += gtabParametresMetierCode[cParam_ApportClient][clClient.saCleApporteur].salibelle +//fin +//si clClient.saCleApporteurOrigine <> ""_et_ gtabParametresMetierCode[cParam_ApportOrigClient]..Existe +_et_ gtabParametresMetierCode[cParam_ApportOrigClient][clClient.saCleApporteurOrigine]..Existe alors +// stClientExp.sOrigine +06/08/2026 Batik 6381 + +Partie 7 › Collection de procédures › LIB_Batigest › Code += gtabParametresMetierCode[cParam_ApportOrigClient][clClient.saCleApporteurOrigine].salibelle +//fin +//si clClient.saCleModeReglement <> "" _et_ gtabParametresMetierCode[cParam_ModeReglClient]..Existe +_et_ gtabParametresMetierCode[cParam_ModeReglClient][clClient.saCleModeReglement]..Existe alors +// stClientExp.sModeReglement += gtabParametresMetierCode[cParam_ModeReglClient][clClient.saCleModeReglement].saParametre +//fin +// +//si clClient.nCreationUser > 0 _et_ gtbaListeUtilisateurs[clClient.nCreationUser]..Existe = Vrai alors +// stClientExp.sCreateur += SupprimerRC(gtbaListeUtilisateurs[clClient.nCreationUser].NomPrenomColb()) +//fin +//stClientExp.sPays = clClient.saPays +//stClientExp.sSiren = clClient.saSIREN +//stClientExp.ssiret = clClient.saSIRET +//stClientExp.sCodeTVA = clClient.saCodeTVA +// +//bCtcP est un booléen = Faux +//sCivilite est une chaîne ANSI +// +//si clClient.nIDContactPrincipal > 0 alors +// si HLitRecherchePremier(Personne,PE_PKID,clClient.nIDContactPrincipal) alors +// bCtcP = Vrai +// stClientExp.stContactPrincipal.sInterLocuteur += SupprimerRC(Personne.PE_Nom +" "+Personne.PE_Prenom) +// stClientExp.stContactPrincipal.sTel = SupprimerRC(Personne.PE_TelMobile) +// stClientExp.stContactPrincipal.sFax = SupprimerRC(Personne.PE_TelFixe) +// stClientExp.stContactPrincipal.sEmail = SupprimerRC(Personne.PE_Email) +// +si Personne.PE_CleCivilite <> "" _et_ gtabParametresMetierCode[cParam_Civilite]..Existe _et_ +gtabParametresMetierCode[cParam_Civilite][Personne.PE_CleCivilite]..Existe = Vrai alors +// sCivilite = gtabParametresMetierCode[cParam_Civilite][Personne.PE_CleCivilite].saLibelle +// +// fin +// +// fin +//fin +// +//si pas bCtcP alors +// stClientExp.stContactPrincipal.sTel = SupprimerRC(clClient.satel) +// stClientExp.stContactPrincipal.sFax = SupprimerRC(clClient.saFax) +// stClientExp.stContactPrincipal.sEmail = SupprimerRC(clClient.saEmail) +//fin +// +//si clClient:saCleType = cCle_ClientParticulier alors +// stClientExp.sContactCivilite = sCivilite +//sinon +// stClientExp.sContactCivilite = clClient.saFormeJuridique +//fin +// +//tbSites est un tableau de MAdresseClient +//odUnSite est un MAdresseClient dynamique +// +//RqSite est une Requête SQL = +//[ +// SELECT Client_Adresse.*,Adresse.* +// FROM Client_Adresse +// INNER JOIN Adresse ON (Adresse.AD_PKID=Client_Adresse.CA_IDAdresse) +// WHERE Client_Adresse.CA_IDClient = {p_IdClient} +//] +//RqSite.P_IdClient = clClient.nPKID +// +//si pas HExécuteRequêteSQL(RqSite) alors +// UneErreur.Init(ErreurApp.ErreurHFSQL,"","ExporterClientBDExt") +06/08/2026 Batik 6382 + +Partie 7 › Collection de procédures › LIB_Batigest › Code +// renvoyer Faux +//sinon +// +// pour tout RqSite +// odUnSite = allouer un MAdresseClient +// FichierVersMémoire(odUnSite,RqSite) +// FichierVersMémoire(odUnSite.oAdresse,RqSite) +// TableauAjoute(tbSites,odUnSite) +// fin +//fin +// +//clSiteCl est un MAdresseClient +// +//si tbSites..Occurrence > 1 alors +// tbAdr est un tableau de chaînes ANSI +// pour tout clOSite de tbSites +// TableauAjoute(tbAdr,clOSite.oAdresse.saAdresse) +// fin +// nChoix est un entier +// si tbAdr..Occurrence > 0 alors +// +nChoix = Dialogue("Plusieurs adresses sont disponibles pour ce client. Veuillez sélectionner l'adresse +à exporter vers +Batigest",tbAdr) +// b est un entier +// si nChoix > 0 _et_ nChoix <= tbAdr..Occurrence alors +// b = TableauCherche(tbSites,tcLinéaire,"oAdresse.saAdresse",tbAdr[nChoix]) +// fin +// +// si b > 0 _et_ b <= tbSites..Occurrence alors +// clSiteCl = tbSites[b] +// fin +// fin +//sinon si tbSites..Occurrence > 0 alors +// clSiteCl = tbSites[1] +//fin +// +//si clSiteCl.nPKID > 0 alors +// RemplirAdresseBatigest(clSiteCl.oAdresse,stClientExp.stAdresse) +//fin +Procédure globale RemplirCtcBatigest +procédure RemplirCtcBatigest(clCtc est un MPersonne_Ct)//, stCtcBg est un ST_BG_CONTACT) +//si clCtc.saCleCivilite <> "" _et_ gtabParametresMetierCode[cParam_Civilite]..Existe _et_ +gtabParametresMetierCode[cParam_Civilite][clCtc.saCleCivilite]..Existe = Vrai alors +// //Civilite +// +//fin +//stCtcBg.sInterLocuteur = SupprimerRC(clCtc.NomPrenom()) +//stCtcBg.sTel = SupprimerRC(clCtc.saTel1) +//stCtcBg.sFax = SupprimerRC(clCtc.saTel2) +//stCtcBg.sPortable = SupprimerRC(clCtc.saTel1) +//stCtcBg.sEmail = SupprimerRC(clCtc.saEmail) +06/08/2026 Batik 6383 + +Partie 7 › Collection de procédures › LIB_VisitesGuidées › Code +LIB_VisitesGuidées +Code +Procédure globale InitVisiteDossier +procédure InitVisiteDossier() +// Création de la Visite Guidée +Visite est une VisiteGuidée +Visite.Identifiant = "Visite_Menu_Dossier" +Visite.Version = 1 +Visite.ActionCible = vgaEtapeSuivante +Visite.ActionHorsCible = vgaAucune +Visite.Effet.Couleur = Palette_du_projet["primary_dark"] +Visite.Bulle.CouleurCadre = Palette_du_projet["primary"] +Visite.Bulle.Mode = vgModeOpaque +Etape est une VisiteGuidéeEtape +si FEN_Fiche_Dossier.CMOD_BloqueDossier..Visible alors +Etape.Cible = FEN_Fiche_Dossier.CMOD_BloqueDossier.IMG_Icone +Etape.Titre = "Bloquer / débloquer la fiche dossier" +Etape.Description= [ +Ce bouton permet de bloquer ou débloquer la fiche dossier. +] +Ajoute(Visite.Étape, Etape) +sinon +Etape.Cible = FEN_Fiche_Dossier.CMOD_OuvertDossier.IMG_Icone +Etape.Titre = "Bloquer / débloquer la fiche dossier" +Etape.Description= [ +Ce bouton permet de bloquer ou débloquer la fiche dossier. +] +Ajoute(Visite.Étape, Etape) +fin +Etape.Cible = FEN_Fiche_Dossier.CMOD_ConfigEcran.IMG_Icone +Etape.Titre = "Personnaliser l’affichage" +Etape.Description= [ +Cliquez sur ce bouton pour modifier le contenu de cet onglet. +Vous pouvez ajouter, supprimer ou modifier les éléments affichés afin d’adapter la vue à vos +besoins. +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Fiche_Dossier.CMOD_TrieInter.IMG_Icone +Etape.Titre = "Organiser les interventions" +Etape.Description= [ +Permet de modifier l’ordre d’affichage des interventions dans le dossier. +Vous pouvez également choisir les informations affichées dans la liste des interventions. +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Fiche_Dossier.CMOD_OptionsClient.IMG_Icone +Etape.Titre = "Options de la fiche client" +Etape.Description= [ +Ce bouton donne accès aux différentes options disponibles pour la fiche client. +] +Ajoute(Visite.Étape, Etape) +06/08/2026 Batik 6384 + +Partie 7 › Collection de procédures › LIB_VisitesGuidées › Code +Etape.Cible = FEN_Fiche_Dossier.CMOD_AjouterInter.IMG_Icone +Etape.Titre = "Nouvelle intervention" +Etape.Description= [ +Cliquez sur ce bouton pour ajouter une nouvelle intervention au dossier en cours. +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Fiche_Dossier.CMOD_SupprimerInter.IMG_Icone +Etape.Titre = "Supprimer une intervention" +Etape.Description= [ +Permet de supprimer l’intervention sélectionnée. +Une confirmation pourra être demandée afin d’éviter toute suppression accidentelle. +] +Ajoute(Visite.Étape, Etape) +Visite.Démarre() +Procédure globale InitVisiteFicheRDV +procédure InitVisiteFicheRDV() +// Création de la Visite Guidée +Visite est une VisiteGuidée +Visite.Identifiant = "Visite_Fiche_RDV" +Visite.Version = 1 +Visite.ActionCible = vgaEtapeSuivante +Visite.ActionHorsCible = vgaAucune +Visite.Effet.Couleur = Palette_du_projet["primary_dark"] +Visite.Bulle.CouleurCadre = Palette_du_projet["primary"] +Visite.Bulle.Mode = vgModeOpaque +Etape est une VisiteGuidéeEtape +si FEN_Fiche_RDV.CMOD_Ouvert..Visible alors +Etape.Cible = FEN_Fiche_RDV.CMOD_Ouvert.IMG_Icone +Etape.Titre = "Bloquer / débloquer" +Etape.Description= [ +Ce bouton permet de bloquer ou de débloquer le rendez-vous afin d'autoriser ou empêcher les +modifications. +] +Ajoute(Visite.Étape, Etape) +sinon +Etape.Cible = FEN_Fiche_RDV.CMOD_Bloque.IMG_Icone +Etape.Titre = "Bloquer / débloquer" +Etape.Description= [ +Ce bouton permet de bloquer ou de débloquer le rendez-vous afin d'autoriser ou empêcher les +modifications. +] +Ajoute(Visite.Étape, Etape) +fin +si FEN_Fiche_RDV.CMOD_Dossier..Visible alors +Etape.Cible = FEN_Fiche_RDV.CMOD_Dossier.IMG_Icone +Etape.Titre = "Ouverture du dossier" +Etape.Description= [ +Cliquez sur ce bouton pour ouvrir l'intervention associée au rendez-vous +] +Ajoute(Visite.Étape, Etape) +fin +Etape.Cible = FEN_Fiche_RDV.CMOD_ColbPlus.BTN_Valider +06/08/2026 Batik 6385 + +Partie 7 › Collection de procédures › LIB_VisitesGuidées › Code +Etape.Titre = "Ajouter un collaborateur" +Etape.Description= [ +Permet d'ajouter un collaborateur pour toutes les dates associées à ce rendez-vous +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Fiche_RDV.CMOD_JourPlus.BTN_Valider +Etape.Titre = "Ajouter une journée" +Etape.Description= [ +Permet d'ajouter une journée supplémentaire à ce rendez-vous +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Fiche_RDV.CMOD_Contacts.TABLE_Info +Etape.Titre = "Liste des contacts du rendez-vous" +Etape.Description= [ +Seuls les contacts sélectionnés sont envoyés aux appareils mobiles. +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Fiche_RDV.ZR_Colb +Etape.Titre = "Dates liées au rendez-vous" +Etape.Description= [ +Liste des dates liées à ce rendez-vous. Vous pouvez : +• Modifier les heures pour chaque rendez-vous +• Modifier le statut pour chaque rendez-vous et collaborateur +• Rendre le compte rendu obligatoire pour une date précise +• Attribuer un responsable pour le rendez-vous (personne chargée de signer le compte rendu si +nécessaire) +• Autoriser un rendez-vous superposable pour un collaborateur, ce qui permet d'avoir des +rendez-vous qui se chevauchent +] +Ajoute(Visite.Étape, Etape) +Visite.Démarre() +Procédure globale InitVisiteFicheSuiviTemps +procédure InitVisiteFicheSuiviTemps() +// Création de la Visite Guidée +Visite est une VisiteGuidée +Visite.Identifiant = "Visite_Fiche_Suivi_Temps" +Visite.Version = 1 +Visite.ActionCible = vgaEtapeSuivante +Visite.ActionHorsCible = vgaAucune +Visite.Effet.Couleur = Palette_du_projet["primary_dark"] +Visite.Bulle.CouleurCadre = Palette_du_projet["primary"] +Visite.Bulle.Mode = vgModeOpaque +Etape est une VisiteGuidéeEtape +Etape.Cible = FEN_Fiche_Suivi_Temps_RDV.CMOD_PlusTemps.IMG_Icone +Etape.Titre = "Ajouter une saisie de temps" +Etape.Description= [ +Ajoutez une saisie de temps pour ce rendez-vous. +Le temps est généralement saisi depuis l'application mobile. +Types possibles : intervention, pause déjeuner, transport… +] +Ajoute(Visite.Étape, Etape) +06/08/2026 Batik 6386 + +Partie 7 › Collection de procédures › LIB_VisitesGuidées › Code +Etape.Cible = FEN_Fiche_Suivi_Temps_RDV.CMOD_SupTemps.IMG_Icone +Etape.Titre = "Supprimer une saisie de temps" +Etape.Description= [ +Supprimez la saisie de temps sélectionnée pour ce rendez-vous. +] +Ajoute(Visite.Étape, Etape) +si FEN_Fiche_Suivi_Temps_RDV.CMOD_RapportTemps..Visible alors +Etape.Cible = FEN_Fiche_Suivi_Temps_RDV.CMOD_RapportTemps.BTN_Valider +Etape.Titre = "Copier la saisie de temps" +Etape.Description= [ +Copiez cette saisie vers les autres collaborateurs présents le même jour. +] +Ajoute(Visite.Étape, Etape) +fin +Visite.Démarre() +Procédure globale InitVisiteListeColbAGD +procédure InitVisiteListeColbAGD() +// Création de la Visite Guidée +Visite est une VisiteGuidée +Visite.Identifiant = "Visite_Liste_Colb_AGD" +Visite.Version = 1 +Visite.ActionCible = vgaEtapeSuivante +Visite.ActionHorsCible = vgaAucune +Visite.Effet.Couleur = Palette_du_projet["primary_dark"] +Visite.Bulle.CouleurCadre = Palette_du_projet["primary"] +Visite.Bulle.Mode = vgModeOpaque +Etape est une VisiteGuidéeEtape +Etape.Cible = FEN_Parametre_Liste_Colb_AGD.CMOD_AjouterListe.IMG_Icone +Etape.Titre = "Créer une liste" +Etape.Description= [ +Vous pouvez créer une liste de collaborateurs pour pouvoir les consulter dans l'agenda +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Parametre_Liste_Colb_AGD.CMOD_SupprimerListe.IMG_Icone +Etape.Titre = "Supprimer une liste" +Etape.Description= [ +Vous pouvez supprimer la liste sélectionnée en cliquant sur ce bouton +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Parametre_Liste_Colb_AGD.ARBRE_Colb +Etape.Titre = "Liste des collaborateurs" +Etape.Description= [ +Vous pouvez choisir les collaborateurs disponibles dans cette liste +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Parametre_Liste_Colb_AGD.CMOD_ColbPLus.IMG_Icone +Etape.Titre = "Choisir un collaborateur / équipe" +Etape.Description= [ +Vous pouvez ajouter un collaborateur ou une équipe entière en cliquant sur ce bouton ou en +double-cliquant sur le nom de l'équipe ou du collaborateur. +] +Ajoute(Visite.Étape, Etape) +06/08/2026 Batik 6387 + +Partie 7 › Collection de procédures › LIB_VisitesGuidées › Code +Etape.Cible = FEN_Parametre_Liste_Colb_AGD.CMOD_Sel.TABLE_Info +Etape.Titre = "Listes de collaborateurs" +Etape.Description= [ +Liste des collaborateurs ou équipes sélectionnés, vous pouvez modifier le nom de l'équipe et sa +couleur dans le planning en cliquant sur la palette de couleurs +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Parametre_Liste_Colb_AGD.GR_BtnOrdre +Etape.Titre = "Ordre de présentation" +Etape.Description= +"Vous pouvez modifier l'ordre dans lequel chaque collaborateur est présenté sur le planning en cliquant +sur ces boutons" +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Parametre_Liste_Colb_AGD.CMOD_ColbMoins.IMG_Icone +Etape.Titre = "Supprimer un collaborateur" +Etape.Description= "Vous pouvez supprimer un collaborateur de votre liste en cliquant sur ce bouton." +Ajoute(Visite.Étape, Etape) +Visite.Démarre() +Procédure globale InitVisiteMenuPrincipal +procédure InitVisiteMenuPrincipal() +// Création de la Visite Guidée +Visite est une VisiteGuidée +Visite.Identifiant = "Visite_Menu_Principal" +Visite.Version = 1 +Visite.ActionCible = vgaEtapeSuivante +Visite.ActionHorsCible = vgaAucune +Visite.Effet.Couleur = Palette_du_projet["primary_dark"] +Visite.Bulle.CouleurCadre = Palette_du_projet["primary"] +Visite.Bulle.Mode = vgModeOpaque +Etape est une VisiteGuidéeEtape +Etape.Cible = FEN_Menu.IMG_MenuBTN +Etape.Titre = "Menu principal" +Etape.Description= [ +Cliquez sur ce bouton pour afficher le menu principal de l’application. +Vous pourrez accéder aux différentes fonctionnalités : gestion des dossiers, clients, interventions +et autres modules disponibles. +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Menu.CMOD_Recherche.SAI_Texte +Etape.Titre = "Recherche globale" +Etape.Description= [ +Utilisez ce champ pour rechercher rapidement un dossier, un client, un site ou une intervention. +Saisissez un mot-clé, un nom ou une référence pour accéder directement aux éléments correspondants. +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Menu.ONG_Menu +Etape.Titre = "Éléments récents" +Etape.Description= [ +Cet onglet affiche les dossiers clients et les sites que vous avez modifiés récemment. +Il vous permet de reprendre rapidement votre travail sans avoir à effectuer une nouvelle recherche. +] +06/08/2026 Batik 6388 + +Partie 7 › Collection de procédures › LIB_VisitesGuidées › Code +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Menu.CMOD_ConfigEcran.IMG_Icone +Etape.Titre = "Personnaliser l’affichage" +Etape.Description= [ +Cliquez sur ce bouton pour modifier le contenu de cet onglet. +Vous pouvez ajouter, supprimer ou modifier les éléments affichés afin d’adapter la vue à vos +besoins. +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Menu.IMG_SombreClair +Etape.Titre = "Personnalisation de l’affichage" +Etape.Description= [ +Cliquez sur ce bouton pour personnaliser l’apparence de l’application. +Vous pouvez : +• Basculer entre le mode clair et le mode sombre +• Modifier la couleur principale de l’interface +Les modifications sont appliquées immédiatement et peuvent être changées à tout moment selon vos +préférences. +] +Ajoute(Visite.Étape, Etape) +Visite.Démarre() +Procédure globale InitVisiteParamAGD +procédure InitVisiteParamAGD() +// Création de la Visite Guidée +Visite est une VisiteGuidée +Visite.Identifiant = "Visite_Param_RDV_AGD" +Visite.Version = 1 +Visite.ActionCible = vgaEtapeSuivante +Visite.ActionHorsCible = vgaAucune +Visite.Effet.Couleur = Palette_du_projet["primary_dark"] +Visite.Bulle.CouleurCadre = Palette_du_projet["primary"] +Visite.Bulle.Mode = vgModeOpaque +Etape est une VisiteGuidéeEtape +Etape.Cible = FEN_Parametres_Visualisation_RDV.GR_Modif +Etape.Titre = "Paramètres de l'agenda" +Etape.Description= [ +Vous pouvez configurer les plages horaires de votre agenda ainsi que les informations affichées sur +les rendez-vous. +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Parametres_Visualisation_RDV.GR_BtnOrdre +Etape.Titre = "Ordre de présentation" +Etape.Description= [ +Vous pouvez modifier l'ordre dans lequel chaque élément est présenté en cliquant sur ces boutons +] +Ajoute(Visite.Étape, Etape) +Visite.Démarre() +Procédure globale InitVisiteParametresMetier +06/08/2026 Batik 6389 + +Partie 7 › Collection de procédures › LIB_VisitesGuidées › Code +procédure InitVisiteParametresMetier() +// Création de la Visite Guidée +Visite est une VisiteGuidée +Visite.Identifiant = "Visite_Parametres_Metier" +Visite.Version = 1 +Visite.ActionCible = vgaEtapeSuivante +Visite.ActionHorsCible = vgaAucune +Visite.Effet.Couleur = Palette_du_projet["primary_dark"] +Visite.Bulle.CouleurCadre = Palette_du_projet["primary"] +Visite.Bulle.Mode = vgModeOpaque +Etape est une VisiteGuidéeEtape +Etape.Cible = FEN_Liste_Parametres_Metier.CMOD_Catg.CMB_Combo +Etape.Titre = "Catégorie" +Etape.Description= [ +Sélectionnez la catégorie des listes déroulantes à configurer. +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Liste_Parametres_Metier.CMOD_Nouveau.IMG_Icone +Etape.Titre = "Ajouter une option" +Etape.Description= [ +Cliquez ici pour ajouter une nouvelle option dans la catégorie sélectionnée. +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Liste_Parametres_Metier.CMOD_Modifier.IMG_Icone +Etape.Titre = "Modifier une option" +Etape.Description= [ +Permet de modifier l'option actuellement sélectionnée. +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Liste_Parametres_Metier.GR_Ordre +Etape.Titre = "Ordre d'affichage" +Etape.Description= [ +Modifiez ici l'ordre d'affichage des options dans la liste déroulante. +] +Ajoute(Visite.Étape, Etape) +Visite.Démarre() +Procédure globale InitVisitePlanning +procédure InitVisitePlanning() +// Création de la Visite Guidée +Visite est une VisiteGuidée +Visite.Identifiant = "Visite_Planning" +Visite.Version = 1 +Visite.ActionCible = vgaEtapeSuivante +Visite.ActionHorsCible = vgaAucune +Visite.Effet.Couleur = Palette_du_projet["primary_dark"] +Visite.Bulle.CouleurCadre = Palette_du_projet["primary"] +Visite.Bulle.Mode = vgModeOpaque +Etape est une VisiteGuidéeEtape +Etape.Cible = FEN_Agenda.CMOD_ModifierDate.IMG_Icone +Etape.Titre = "Calendrier" +Etape.Description= [ +06/08/2026 Batik 6390 + +Partie 7 › Collection de procédures › LIB_VisitesGuidées › Code +Vous pouvez choisir une date à partir du calendrier +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Agenda.GR_BtnPeriode +Etape.Titre = "Modifier la période" +Etape.Description= [ +Vous pouvez reculer ou avancer la période en cliquant sur ces boutons +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Agenda.CMOD_Listes.CMB_Combo +Etape.Titre = "Listes de collaborateurs" +Etape.Description= [ +Vous pouvez consulter le planning en choisissant l'une des listes de collaborateurs configurées. +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Agenda.CMOD_ModifierListe.IMG_Icone +Etape.Titre = "Paramétrer les listes de collaborateurs" +Etape.Description= [ +Vous pouvez configurer des listes de collaborateurs selon vos besoins. +Conseil : Il est recommandé de créer des listes de consultation pour votre planning. Cela simplifie +la consultation et vous fait gagner du temps au lieu de sélectionner les collaborateurs un par un. +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Agenda.CMOD_FiltreColb.IMG_Icone +Etape.Titre = "Collaborateurs" +Etape.Description= "Vous pouvez choisir un ou plusieurs collaborateurs pour afficher leur planning" +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Agenda.GR_Jours +Etape.Titre = "Période affichée" +Etape.Description= [ +Vous pouvez modifier la durée de la période en cliquant sur ces boutons +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Agenda.CMOD_ParamUser.IMG_Icone +Etape.Titre = "Paramètres" +Etape.Description= +"Vous pouvez configurer l’affichage de votre planning ainsi que celui de vos rendez-vous." +Ajoute(Visite.Étape, Etape) +Visite.Démarre() +Procédure globale InitVisiteSuiviTemps +procédure InitVisiteSuiviTemps() +// Création de la Visite Guidée +Visite est une VisiteGuidée +Visite.Identifiant = "Visite_Suivi_Temps" +Visite.Version = 1 +Visite.ActionCible = vgaEtapeSuivante +Visite.ActionHorsCible = vgaAucune +Visite.Effet.Couleur = Palette_du_projet["primary_dark"] +Visite.Bulle.CouleurCadre = Palette_du_projet["primary"] +Visite.Bulle.Mode = vgModeOpaque +Etape est une VisiteGuidéeEtape +06/08/2026 Batik 6391 + +Partie 7 › Collection de procédures › LIB_VisitesGuidées › Code +Etape.Cible = FEN_Suivi_Temps.CMOD_ModifierDate.IMG_Icone +Etape.Titre = "Calendrier" +Etape.Description= [ +Vous pouvez choisir une date à partir du calendrier +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Suivi_Temps.GR_AvancerReculer +Etape.Titre = "Navigation dans les périodes" +Etape.Description= [ +Ces boutons permettent de reculer ou d’avancer dans le temps +afin de consulter les périodes précédentes ou suivantes. +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Suivi_Temps.CMOD_FiltreColb.IMG_Icone +Etape.Titre = "Choix du collaborateur" +Etape.Description= [ +Sélectionnez un collaborateur pour afficher son planning +et les rendez-vous associés à la période choisie. +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Suivi_Temps.GR_Periode +Etape.Titre = "Période affichée" +Etape.Description= [ +Choisissez le type d’affichage du planning : +jour, semaine ou mois. +Le bouton "Aujourd'hui" permet de revenir rapidement à la date actuelle. +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Suivi_Temps.AGD_PL +Etape.Titre = "Planning du collaborateur" +Etape.Description= [ +Ce planning affiche les rendez-vous du collaborateur sélectionné. +Vous pouvez : +• Consulter les temps saisie pour les rendez-vous planifiés +• Ouvrir le détail du temps saisi +• Ajouter ou ajuster du temps sur un rendez-vous +] +Ajoute(Visite.Étape, Etape) +Etape.Cible = FEN_Suivi_Temps.GR_TableRecap +Etape.Titre = "Récapitulatif des temps" +Etape.Description= [ +Cette zone affiche un récapitulatif des temps du collaborateur +pour la période sélectionnée. +Vous y trouverez notamment : +• Le cumul du temps prévu +• Le temps réellement pointé +• La répartition par type de temps ou type de rendez-vous. +] +Ajoute(Visite.Étape, Etape) +Visite.Démarre() +06/08/2026 Batik 6392 + +Partie 7 › Collection de procédures › LIB_Surveille › Code +LIB_Surveille +Code +Procédure globale ActiveSurveillance +procédure ActiveSurveillance() +si HSurveille(Intervention,AjouterEnrgPourMaJ,hNumEnrTous,hsAjout+hsModification+hsSuppression)= Faux +alors +Erreur("Impossible d'activer la surveillance : ", HErreurInfo()) +fin +si HSurveille(Dossier,AjouterEnrgPourMaJ,hNumEnrTous,hsAjout+hsModification+hsSuppression)= Faux alors +Erreur("Impossible d'activer la surveillance : ", HErreurInfo()) +fin +si HSurveille(RDV_Planning,AjouterEnrgPourMaJ,hNumEnrTous,hsAjout+hsModification+hsSuppression)= Faux +alors +Erreur("Impossible d'activer la surveillance : ", HErreurInfo()) +fin +//SI HSurveille(personne,AjouterEnrgPourMaJ,hNumEnrTous,hsAjout+hsModification+hsSuppression)= Faux +ALORS +// Erreur("Impossible d'activer la surveillance : ", HErreurInfo()) +//FIN +//SI +HSurveille(Intervention_Personne,AjouterEnrgPourMaJ,hNumEnrTous,hsAjout+hsModification+hsSuppression)= +Faux ALORS +// Erreur("Impossible d'activer la surveillance : ", HErreurInfo()) +//FIN +Procédure globale AjouterEnrgPourMaJ +procédure AjouterEnrgPourMaJ(sdFichierDeDonnées est une Source de Données, nNuméroEnregistrement est un +entier, nAction est un entier <utile>) +tbaEnrgFile est un tableau associatif de chaînes ANSI +utiliser SectionCritique(gtbaEnrgDansLaFile) dans +tbaEnrgFile = gtbaEnrgDansLaFile +fin +saCode est une chaîne ANSI = sdFichierDeDonnées..Libellé+"."+nNuméroEnregistrement +// pas encore dans la file -> on ajoute +si tbaEnrgFile[saCode]..existe = Vrai _et_ tbaEnrgFile[saCode] <> "" alors +// Rien il existe +sinon +utiliser SectionCritique(gtbaEnrgDansLaFile) dans +gtbaEnrgDansLaFile[saCode] = saCode +fin +UnEle est un STElementsHSurveille +UnEle.sdFichierDeDonnées = sdFichierDeDonnées +UnEle.nNuméroEnregistrement = nNuméroEnregistrement +UnEle.nAction = nAction +Enfile(gEmentsAttenteMaJ,UnEle) +06/08/2026 Batik 6393 + +Partie 7 › Collection de procédures › LIB_Surveille › Code +bMaJ est un booléen +utiliser SectionCritique(gbMaJUiParThread) dans +bMaJ = gbMaJUiParThread +fin +si pas bMaJ alors +si ThreadEtat("EnregistrementModifieSurveille")=threadInexistant alors +ThreadExécute("EnregistrementModifieSurveille",threadCopieLégèreContexteHFSQL, +TH_EnregistrementModifieSurveille) +sinon +ThreadEnvoieSignal("EnregistrementModifieSurveille") +fin +fin +fin +Procédure globale ArretSurveilleUneFen +procédure ArretSurveilleUneFen(saNomFen est une chaîne ANSI) +utiliser SectionCritique(gtbaElementsASurveiller) dans +si gtbaElementsASurveiller[saNomFen]..Existe = Vrai alors +TableauSupprime(gtbaElementsASurveiller,saNomFen) +fin +fin +Procédure globale LanceProcedureMaJUI +procédure LanceProcedureMaJUI(stUnEle est un STSurveilleEnrg,nIdUser est un entier sur 8 octets, +saTable est une chaîne ANSI) +si pas EnModeTest() alors +quand exception dans +ExécuteThreadPrincipal(stUnEle.pProcedureMaJ,nIdUser,saTable) +faire +// Rien +fin +sinon +ExécuteThreadPrincipal(stUnEle.pProcedureMaJ,nIdUser,saTable) +fin +Procédure globale TH_EnregistrementModifieSurveille +procédure TH_EnregistrementModifieSurveille() +//LogEcrit("TH_EnregistrementModifieSurveille Debut : "+HeureSys(),eDebug) +tbaEle est un tableau associatif de STSurveilleEnrg +utiliser SectionCritique(gtbaElementsASurveiller) dans +tbaEle = gtbaElementsASurveiller +fin +stUnEle est un STElementsHSurveille +utiliser SectionCritique(gbMaJUiParThread) dans +gbMaJUiParThread = Vrai +fin +bContinuer est un booléen +tantque Défile(gEmentsAttenteMaJ, stUnEle) +saNomTable est une chaîne ANSI = stUnEle.sdFichierDeDonnées..Libellé +saCode est une chaîne ANSI = saNomTable+"."+stUnEle.nNuméroEnregistrement +06/08/2026 Batik 6394 + +Partie 7 › Collection de procédures › LIB_Surveille › Code +si HLit(stUnEle.sdFichierDeDonnées, stUnEle.nNuméroEnregistrement) = Vrai alors +nPos est un entier +nIdUser est un entier sur 8 octets +pour tout stFen de tbaEle +bContinuer = Faux +quand exception dans +nPos= 0 +nPos= TableauCherche(stFen.tbInfoASurveiller,tcLinéairePremier,"saTable", +saNomTable) +si nPos > 0 alors +// Sur certains fiches nous pouvons avoir la mème table en observation par exemple +Intervention dans le dossier +nI est un entier = TableauCherche(stFen.tbInfoASurveiller,tcLinéairePremier, +"saTable;nNumErg",saNomTable,stUnEle.nNuméroEnregistrement) +si nI > 0 alors +nPos = nI +fin +fin +si nPos > 0 _et_ stFen.tbInfoASurveiller[nPos].n8Id > 0 _et_ stFen. +tbInfoASurveiller[nPos].saLibRubId <> "" alors +si ({saNomTable+"."+stFen.tbInfoASurveiller[nPos].saLibRubId} <= 0 _et_ +stUnEle.nNuméroEnregistrement = stFen.tbInfoASurveiller[nPos].nNumErg) ou... +({saNomTable+"."+stFen.tbInfoASurveiller[nPos].saLibRubId} = stFen. +tbInfoASurveiller[nPos].n8Id) alors +bContinuer = Vrai +fin +fin +faire +bContinuer = Faux +fin +si bContinuer alors +quand exception dans +nIdUser = {saNomTable+".ModifUser"} +faire +nIdUser = 0 +fin +LanceProcedureMaJUI(stFen,nIdUser,saNomTable) +fin +fin +fin +TableauSupprime(gtbaEnrgDansLaFile,saCode) +fin +utiliser SectionCritique(gbMaJUiParThread) dans +gbMaJUiParThread = Faux +fin +//LogEcrit("TH_EnregistrementModifieSurveille Fin : "+HeureSys(),eDebug) +ThreadFin() +06/08/2026 Batik 6395 + +Partie 7 › Collection de procédures › LIB_RubMailRapport › Code +LIB_RubMailRapport +Code +Déclaration de LIB_RubMailRapport +constante +cTypeChaineSimple = "ChpSimpleChaine" +cTypeChaineRTF = "ChpSimpleRTF" +cTypeDateSimple = "ChpSimpleDate" +cTypeDateHeure = "ChpSimpleDateHeure" +cTypeBoolean = "ChpSimpleBooleen" +cTypeReelSimple = "ChpSimpleReel" +cTypeImage = "ChpImage" +cTypeTableu = "Tableau" +//******* Rubriques rapport et modèle mail *********// +cRub_Dossier = "DOSSIER" +cRub_Client = "CLIENT" +cRub_Inter = "INTER" +cRub_CtSite = "CONTACT_SITE" +cRub_CR = "CR_INTER" +cRub_CtDonneurs = "DONNEURS_ORDRE" +cRub_Photo = "PHOTO_INTER" +cRub_RDV = "RDV_INTER" +cRub_Extra = "EXTRA" +fin +Procédure globale AjouterDonnesBDDansChampRub +procédure AjouterDonnesBDDansChampRub(nIdInter est un entier sur 8 octets, tbRubASaisir est un tableau +de STJSON_MembreRubChamps) +saRQ est une chaîne = [ +SELECT +Intervention.IN_Titre AS IN_Titre, +Intervention.IN_RefInterne AS IN_RefInterne, +Intervention.CreationDate AS IN_CreationDate, +Intervention.IN_NumDevis, +Intervention.IN_DateDevis, +Intervention.IN_NumFacture, +Intervention.IN_DateFacture, +Intervention.IN_RefExterne AS IN_RefExterne, +Intervention.IN_Description AS IN_Description, +Intervention.IN_DureePrevue, +CONCAT(Collaborateur.CO_Prenom, ' ', Collaborateur.CO_Nom) AS IN_CO_Nom, +PA_TypeInter.PA_Libelle as IN_PA_Type, +Lieu.LI_CodeLieu AS LI_CodeLieu, +( +CASE WHEN AdLieu.AD_Adresse IS NOT NULL AND AdLieu.AD_Adresse <> '' THEN CONCAT(AdLieu.AD_Adresse, +' CHAR(13) ') ELSE '' END + +CASE WHEN AdLieu.AD_CodePostal IS NOT NULL AND AdLieu.AD_CodePostal <> '' THEN +CONCAT(AdLieu.AD_CodePostal, ' ') ELSE '' END + +CASE WHEN AdLieu.AD_Ville IS NOT NULL AND AdLieu.AD_Ville <> '' THEN AdLieu.AD_Ville ELSE '' END +) AS LI_Adresse, +06/08/2026 Batik 6396 + +Partie 7 › Collection de procédures › LIB_RubMailRapport › Code +Lieu.LI_CodeAcces AS LI_CodeAcces, +Client.CL_Nom AS CL_Nom, +CONCAT(AdClient.AD_Adresse, ' ', AdClient.AD_CodePostal, ' ',AdClient.AD_Ville) AS AD_Presentation, +Societe.SO_Nom +FROM +Intervention LEFT OUTER JOIN (Lieu LEFT OUTER JOIN Adresse AdLieu ON Lieu.LI_IDAdresse = +AdLieu.AD_PKID ) ON Intervention.IN_IDLieu = Lieu.LI_PKID, +Intervention INNER JOIN +(Dossier LEFT OUTER JOIN (Client LEFT OUTER JOIN Adresse AdClient ON Client.CL_IDAdressePrincipale += AdClient.AD_PKID) ON Dossier.DO_IDClient = Client.CL_PKID ) ON Intervention.IN_IDDossier = +Dossier.DO_PKID , +Intervention LEFT OUTER JOIN Collaborateur ON Intervention.IN_IDSuiviPar=Collaborateur.CO_PKID, +Intervention LEFT OUTER JOIN Societe ON Intervention.IN_IDSociete = Societe.SO_PKID, +Intervention LEFT OUTER JOIN ParametreMetier PA_TypeInter ON Intervention.IN_CleType = +PA_TypeInter.PA_CLE +WHERE +IN_PKID={pIdInter} +] +saRQ=Remplace(saRQ,"{pIdInter}",nIdInter ) +sARQAdresseClient est une chaîne ANSI = [ +SELECT CONCAT(AdLieu.AdClient.AD_Adresse, ' ',AdLieu.AD_CodePostal, ' ', AdLieu.AD_Ville, ' ') AS +Adresse +FROM Client +INNER JOIN Intervention on Intervention.IN_IDClient = Client.CL_PKID +LEFT JOIN Client_Adresse on Client_Adresse.CA_IDClient = Client.CL_PKID +INNER JOIN Adresse AdLieu on adlieu.AD_PKID = Client_Adresse.CA_IDAdresse +WHERE Intervention.IN_PKID = {pIdInter} +] +sARQAdresseClient=Remplace(sARQAdresseClient,"{pIdInter}",nIdInter ) +sARQDossier est une chaîne ANSI = [ +SELECT Dossier.DO_Titre as DOSSIER_TITRE , dossier.DO_RefExterne as DOSSIER_REFEXT , +dossier.DO_NumDossier as DOSSIER_NUM, Dossier.DO_DateDebut as DOSSIER_DATE, +PA_StatutDossier.PA_Libelle as DOSSIER_STATUT +FROM Dossier +INNER JOIN Intervention on Intervention.IN_IDDossier = Dossier.DO_PKID +LEFT OUTER JOIN ParametreMetier PA_StatutDossier ON Dossier.DO_CleStatut = PA_StatutDossier.PA_CLE +WHERE Intervention.IN_PKID = {pIdInter} +] +sARQDossier=Remplace(sARQDossier,"{pIdInter}",nIdInter ) +saRqCR est une chaîne ANSI = [ +SELECT +CompteRendu.CR_PKID, +CompteRendu.CR_DateHeureDebut, +CompteRendu.CR_DateHeureFin, +CompteRendu.CR_NoteCollaborateur, +CompteRendu.CR_NomSignataire, +CompteRendu.CR_NomSignataireTech, +CompteRendu.CR_NoteSignataire, +CompteRendu.CR_DevisConforme, +CompteRendu.CR_AvecReserve, +CompteRendu.CR_ReserveCommentaire, +CompteRendu.CR_DateHeureSignature, +CompteRendu.CR_Signature, +06/08/2026 Batik 6397 + +Partie 7 › Collection de procédures › LIB_RubMailRapport › Code +CompteRendu.CR_SignatureTech, +CompteRendu.CR_IDTypeSignataire, +ParametreMetier.PA_Libelle AS CR_PA_Type +FROM CompteRendu +INNER JOIN RDV_Collaborateur ON RDV_Collaborateur.RVC_PKID = CR_IDRdv +INNER JOIN RDV_Planning ON RDV_Planning.GUID = RDV_Collaborateur.RVC_GUID_RDV +LEFT OUTER JOIN ParametreMetier ON ParametreMetier.PA_CLE = CompteRendu.CR_CleTypeSignataire and +CompteRendu.CR_CleTypeSignataire <> '' +WHERE +RDV_Collaborateur.Archive=0 +AND RDV_Planning.Archive = 0 +AND RDV_Planning.RV_IdInter = {p_IdInter} +] +saRqCR = Remplace(saRqCR,"{p_IdInter}",nIdInter) +saRQRDV est une chaîne ANSI = [ +SELECT +RDV_Planning.GUID, +RDV_Collaborateur.RVC_DateDeb, +RDV_Collaborateur.RVC_DateFin, +RDV_Planning.RV_Objet, +RDV_Planning.RV_Description, +RDV_Planning.RV_Groupe, +RDV_Collaborateur.RVC_PKID, +CONCAT(Collaborateur.CO_Prenom, ' ', Collaborateur.CO_Nom) AS PL_CO_NOM +FROM RDV_Planning +INNER JOIN RDV_Collaborateur ON RDV_Collaborateur.RVC_GUID_RDV = RDV_Planning.GUID +LEFT OUTER JOIN Collaborateur ON RDV_Collaborateur.RVC_GUID_Colb = Collaborateur.GUID +WHERE +RDV_Planning.Archive=0 AND RDV_Collaborateur.Archive = 0 +AND RDV_Planning.RV_IdInter = {p_IdInter} +ORDER BY RDV_Collaborateur.RVC_DateDeb +] +saRQRDV = Remplace(saRQRDV,"{p_IdInter}",nIdInter) +sdRReqInter est une Source de Données +sdRReqClient est une Source de Données +sdRReqDossier est une Source de Données +sdRReqCR est une Source de Données +sdReqRDV est une Source de Données +y est un entier +y = TableauCherche(tbRubASaisir,tcLinéaire,"GroupeApp",cRub_Inter) +si y > 0 _et_ pas HExécuteRequêteSQL(sdRReqInter,hRequêteDéfaut,saRQ) alors // ne pas exécuter la req +pour rien +fin +y = 0 +y = TableauCherche(tbRubASaisir,tcLinéaire,"GroupeApp",cRub_Client) +si y > 0 _et_ pas HExécuteRequêteSQL(sdRReqClient,hRequêteDéfaut,sARQAdresseClient) alors +// ne pas exécuter la req pour rien +fin +y = 0 +y = TableauCherche(tbRubASaisir,tcLinéaire,"GroupeApp",cRub_Dossier) +si y > 0 _et_ pas HExécuteRequêteSQL(sdRReqDossier,hRequêteDéfaut,sARQDossier) alors +// ne pas exécuter la req pour rien +fin +06/08/2026 Batik 6398 + +Partie 7 › Collection de procédures › LIB_RubMailRapport › Code +y = 0 +y = TableauCherche(tbRubASaisir,tcLinéaire,"GroupeApp",cRub_CR) +si y > 0 _et_ pas HExécuteRequêteSQL(sdRReqCR,hRequêteDéfaut,saRqCR) alors // ne pas exécuter la req +pour rien +fin +y = 0 +y = TableauCherche(tbRubASaisir,tcLinéaire,"GroupeApp",cRub_RDV) +si y > 0 _et_ pas HExécuteRequêteSQL(sdReqRDV,hRequêteDéfaut,saRQRDV) alors // ne pas exécuter la req +pour rien +fin +pour tout stEle de tbRubASaisir +si stEle:TypeMembre = "Tableau" ou stEle:GroupeApp dans (cRub_Inter, cRub_Dossier, cRub_Client) +alors +selon stEle:GroupeApp +cas cRub_Inter +quand exception dans +si "IN_Description" = stEle.MembreMob alors +stEle:ListeDonnesBD = RTFVersTexte({sdRReqInter+"."+stEle.MembreMob}) +sinon +stEle:ListeDonnesBD = Remplace({sdRReqInter+"."+stEle.MembreMob},"CHAR(13)", +RC,MotComplet) +fin +faire +stEle:ListeDonnesBD = "" +fin +cas cRub_Dossier +quand exception dans +stEle:ListeDonnesBD = {sdRReqDossier+"."+stEle.MembreMob} +faire +stEle:ListeDonnesBD = "" +fin +cas cRub_Client +tbClientAd est un tableau de ST_Adresse +stUnCliAd est un ST_Adresse +pour tout sdRReqClient +stUnCliAd.sAAdresse = sdRReqClient.Adresse +TableauAjoute(tbClientAd,stUnCliAd) +fin +sJson est une chaîne ANSI +Sérialise(tbClientAd,sJson,psdJSON) +stEle:ListeDonnesBD = sJson +stEle:TypeMembre = "Tableau" +cas cRub_CR +tbCrest un tableau de ST_CR_Rp +stUnCr est un ST_CR_Rp +pour tout sdRReqCR +stUnCr.nId = sdRReqCR.CR_PKID +stUnCr.saDebut = sdRReqCR.CR_DateHeureDebut +stUnCr.saFin = sdRReqCR.CR_DateHeureFin +stUnCr.saSignataire = sdRReqCR.cR_NomSignataire +stUnCr.saNomCollaborateur = sdRReqCR.CR_NomSignataireTech +06/08/2026 Batik 6399 + +Partie 7 › Collection de procédures › LIB_RubMailRapport › Code +TableauAjoute(tbCr,stUnCr) +fin +sJson est une chaîne ANSI +Sérialise(tbCr,sJson,psdJSON) +stEle:ListeDonnesBD = sJson +cas cRub_RDV +bDouble est un booléen +tbRDV est un tableau de ST_RDV_Rp +stUnRDV est un ST_RDV_Rp +pour tout sdReqRDV +stUnRDV:saGuid = sdReqRDV.GUID +stUnRDV:saCollaborateurs = sdReqRDV.PL_CO_NOM +stUnRDV:saDateDebut = sdReqRDV.RVC_DateDeb +stUnRDV:saDateFin = sdReqRDV.RVC_DateFin +stUnRDV:saObjet = sdReqRDV.RV_Objet +stUnRDV:nId = sdReqRDV.RVC_PKID +stUnRDV:saNote = RTFVersTexte(sdReqRDV.RV_Description) +bDouble = Faux +si sdReqRDV.RV_Groupe alors +pour tout stRDV de tbRDV +si stRDV:saGuid = sdReqRDV.GUID alors +stRDV:saCollaborateurs += RC + stUnRDV:saCollaborateurs +bDouble = Vrai +sortir +fin +fin +si pas bDouble alors +TableauAjoute(tbRDV,stUnRDV) +fin +sinon +TableauAjoute(tbRDV,stUnRDV) +fin +fin +sJson est une chaîne ANSI +Sérialise(tbRDV,sJson,psdJSON) +stEle:ListeDonnesBD = sJson +autre cas +fin +fin +fin +Procédure globale ConstructionTBRubASaisir +procédure ConstructionTBRubASaisir(tbTermeRapport est un tableau de STJSON_MembreRubChamps, tbToutesRub +est un tableau de STJSON_MembreRubChamps, tbRubASaisir est un tableau de STJSON_MembreRubChamps, +MonDoc est un Document, bToutesRub est un booléen = Faux, tbMotCleSpec est un tableau de +STJSON_MembreRubChamps = Null) +sGroupe est une chaîne ANSI +n est un entier = -1 +h est un entier +pour tout stEle de tbToutesRub +si (stEle:EnvoiMob ou bToutesRub ) alors +si Contient(stEle:Rubrique, "$TAB") ou Contient(stEle:Rubrique, "$UN") ou Contient(stEle. +Rubrique,".UNIQUE") alors +si sGroupe <> stEle:GroupeApp ou h <= 0 alors +n = TableauCherche(tbTermeRapport,tcLinéaire,"GroupeApp;TypeMembre",stEle:GroupeApp, +"Tableau") +06/08/2026 Batik 6400 + +Partie 7 › Collection de procédures › LIB_RubMailRapport › Code +si n > 0 alors +stUnTermeGr est un STJSON_MembreRubChamps = tbTermeRapport[n] +stUnTermeGr.Ordre = stEle:Ordre +TableauSupprimeTout(stUnTermeGr.ListeMembre) +TableauAjoute(stUnTermeGr:ListeMembre,stEle) +h = TableauAjoute(tbRubASaisir,stUnTermeGr) +fin +sinon +si h > 0 alors +stUnTermeRec est un STJSON_MembreRubChamps = tbRubASaisir[h] +n = 0 +pour tout stElem2 de tbRubASaisir[h]:ListeMembre +si stElem2.Rubrique = stEle:Rubrique alors +n += 1 +sortir +fin +fin +//TableauCherche(stUnTermeRec.ListeMembre,tcLinéairePremier,"Rubrique",stEle:Rubri +que) +si n <= 0 alors +TableauAjoute(tbRubASaisir[h].ListeMembre,stEle) +sinon +n = TableauCherche(tbTermeRapport,tcLinéaire,"GroupeApp;TypeMembre",stEle: +GroupeApp,"Tableau") +si n > 0 alors +stUnTermeGr est un STJSON_MembreRubChamps = tbTermeRapport[n] +stUnTermeGr.Ordre = stEle:Ordre +TableauSupprimeTout(stUnTermeGr.ListeMembre) +TableauAjoute(stUnTermeGr:ListeMembre,stEle) +h = TableauAjoute(tbRubASaisir,stUnTermeGr) +fin +fin +fin +fin +sGroupe = stEle:GroupeApp +sinon +si ChaîneOccurrence(stEle.Rubrique,".LISTE") > 0 alors +h = 0 +n = TableauCherche(tbTermeRapport,tcLinéaire,"GroupeApp;TypeMembre",stEle:GroupeApp, +"Tableau") +si n > 0 alors +stUnTermeGr est un STJSON_MembreRubChamps= tbTermeRapport[n] +pour tout stElem2 de tbTermeRapport[n]:ListeMembre +si stElem2.MembreMob <> "" alors +si h <= 0 alors +stUnTermeGr.Ordre = stEle:Ordre +TableauSupprimeTout(stUnTermeGr.ListeMembre) +stUnTermeGr.ListeMembre.Ajoute(stElem2) +h = TableauAjoute(tbRubASaisir,stUnTermeGr) +sinon +tbRubASaisir[h].ListeMembre.Ajoute(stElem2) +fin +fin +fin +fin +sinon +TableauAjoute(tbRubASaisir,stEle) +fin +h = 0 +sGroupe = "" +fin +06/08/2026 Batik 6401 + +Partie 7 › Collection de procédures › LIB_RubMailRapport › Code +sinon +h = 0 +sGroupe = "" +fin +fin +k est un entier +si tbMotCleSpec<> Null alors +pour tout stEleCle de tbMotCleSpec +tabFragments est tableau de docFragment = DocRecherche(MonDoc,stEleCle.Rubrique,MotComplet+ +SansCasse) +si tabFragments.Occurrence > 0 alors +pour b = 1 _à_ tabFragments.Occurrence +stEleCle.Ordre = tabFragments[b].PositionFin +k = TableauAjoute(tbRubASaisir,stEleCle) +TableauSupprimeTout(tbRubASaisir[k].ListeMembre) +// toujours car pas tous les termes son requis +fin +fin +fin +fin +TableauTrie(tbRubASaisir,ttMembre+tccRespecteNumérique,"+Ordre") +bufResp est un Buffer +Sérialise(tbRubASaisir,bufResp,psdJSON) +Procédure globale ConstructionTbRubBase +procédure ConstructionTbRubBase(tbTermeRapport est un tableau de STJSON_MembreRubChamps, tbToutesRub +est un tableau de STJSON_MembreRubChamps, LeDoc est un Document,bSujetEmail est un booléen = Faux) +k est un entier +MonDoc est un Document = LeDoc +pour i = 1 _à_ tbTermeRapport..Occurrence +k = 0 +stUnTerme est un STJSON_MembreRubChamps = tbTermeRapport[i] +si stUnTerme.Rubrique <> "" alors +tabFragments est tableau de docFragment = DocRecherche(MonDoc,stUnTerme.Rubrique,MotComplet+ +SansCasse) +si tabFragments.Occurrence > 0 alors +pour b = 1 _à_ tabFragments.Occurrence +stUnTerme.Ordre = tabFragments[b].PositionFin +stUnTerme.Ordre = tabFragments[b].PositionFin +si bSujetEmail alors +// si c'est dans le sujet un transforme le numéro d'ordre en décimal afin que le sujet +soit demande et traite avant le corps de +l'email +stUnTerme.Ordre ="0."+tabFragments[b].PositionFin +fin +k = TableauAjoute(tbToutesRub,stUnTerme) +TableauSupprimeTout(tbToutesRub[k].ListeMembre) +// toujours car pas tous les termes son requis +fin +fin +si stUnTerme.ListeMembre..Occurrence > 0 _et_ k <= 0 alors +06/08/2026 Batik 6402 + +Partie 7 › Collection de procédures › LIB_RubMailRapport › Code +pour c = 1 _à_ stUnTerme.ListeMembre..Occurrence +tabFragment2 est tableau de docFragment = DocRecherche(MonDoc,stUnTerme.ListeMembre[c] +.Rubrique,MotComplet+SansCasse) +si tabFragment2.Occurrence > 0 alors +pour l = 1 _à_ tabFragment2.Occurrence +stUnTerme2 est un STJSON_MembreRubChamps = stUnTerme.Listemembre[c] +stUnTerme2.Ordre = tabFragment2[l].PositionFin +k = TableauAjoute(tbToutesRub,stUnTerme2) +TableauSupprimeTout(tbToutesRub[k].ListeMembre) +// toujours car pas tous les termes son requis +fin +fin +fin +fin +fin +fin +TableauTrie(tbToutesRub,ttMembre+tccRespecteNumérique,"+Ordre") +Procédure globale CreerTableauRubSelonDoc +procédure CreerTableauRubSelonDoc(nId est un entier sur 8 octets, satype est une chaîne ANSI,nIdInter +est un entier sur 8 octets = 0) +//******* A modifier pour elements enregistrés dans une table *****// +tbTermeRapport est un tableau de STJSON_MembreRubChamps = gtbListeRubDoc +TableauTrie(tbTermeRapport,ttMembre,"GroupeApp;Ordre") +MonDoc est un Document +tbMotCleSpec est un tableau de STJSON_MembreRubChamps +tbToutesRub est un tableau de STJSON_MembreRubChamps +tbRubASaisir est un tableau de STJSON_MembreRubChamps +si satype = cTypeEmail alors +si HLitRecherchePremier(MailModele,MM_PKID,nId) alors +si MailModele.MM_Extra <> "" alors +Désérialise(tbMotCleSpec,MailModele.MM_Extra,psdJSON) +fin +MonDoc = MailModele.MM_Sujet +ConstructionTbRubBase(tbTermeRapport,tbToutesRub,MonDoc,Vrai) +MonDoc = MailModele.MM_MsgDoc +ConstructionTbRubBase(tbTermeRapport,tbToutesRub,MonDoc) +ConstructionTBRubASaisir(tbTermeRapport, tbToutesRub, tbRubASaisir, MonDoc,Vrai, tbMotCleSpec) +si nIdInter > 0 alors +AjouterDonnesBDDansChampRub(nIdInter,tbRubASaisir) +fin +fin +sinon +si HLitRecherchePremier(ModeleRapport,MRP_PKID,nId) alors +06/08/2026 Batik 6403 + +Partie 7 › Collection de procédures › LIB_RubMailRapport › Code +MonDoc = ModeleRapport.MRP_Modele +si ModeleRapport.MRP_Extra <> "" alors +Désérialise(tbMotCleSpec,ModeleRapport.MRP_Extra,psdJSON) +fin +ConstructionTbRubBase(tbTermeRapport,tbToutesRub,MonDoc) +ConstructionTBRubASaisir(tbTermeRapport, tbToutesRub, tbRubASaisir, MonDoc,Vrai, tbMotCleSpec) +si nIdInter > 0 alors +AjouterDonnesBDDansChampRub(nIdInter,tbRubASaisir) +fin +fin +fin +renvoyer tbRubASaisir +Procédure globale DonneNomGroupeRubrique +procédure DonneNomGroupeRubrique(saGroupe est une chaîne ANSI) +selon saGroupe +cas cRub_Dossier +renvoyer "Dossier" +cas cRub_Client +renvoyer "Client" +cas cRub_Inter +renvoyer "Intervention" +cas cRub_CtSite +renvoyer "Contact du site" +cas cRub_CR +renvoyer "Compte-rendus" +cas cRub_CtDonneurs +renvoyer "Donneurs d'ordre" +cas cRub_Photo +renvoyer "Photos" +cas cRub_RDV +renvoyer "Rendez-vous" +cas cRub_Extra +renvoyer "Extra" +autre cas +renvoyer "" +fin +renvoyer "" +Procédure globale RqCompteRenduRemplirDoc +procédure RqCompteRenduRemplirDoc(vInfoVariante est un Variant,sdRReqCR est une Source de Données) +tbIds est un tableau d'entiers sur 8 octets +pour tout UnEle de vInfoVariante +si UnEle.bSelection alors +06/08/2026 Batik 6404 + +Partie 7 › Collection de procédures › LIB_RubMailRapport › Code +TableauAjoute(tbIds,UnEle.nId) +fin +fin +si tbIds..Occurrence <= 0 alors +renvoyer Faux +fin +saRqCR est une chaîne ANSI = [ +SELECT +CompteRendu.CR_PKID, +CompteRendu.GUID AS CR_GUID, +CompteRendu.CR_DateHeureDebut, +CompteRendu.CR_DateHeureFin, +CompteRendu.CR_NoteCollaborateur, +CompteRendu.CR_NomSignataire, +CompteRendu.CR_NomSignataireTech, +CompteRendu.CR_NoteSignataire, +CompteRendu.CR_DevisConforme, +CompteRendu.CR_AvecReserve, +CompteRendu.CR_ReserveCommentaire, +CompteRendu.CR_DateHeureSignature, +CompteRendu.CR_Signature, +CompteRendu.CR_SignatureTech, +CompteRendu.CR_IDTypeSignataire, +CompteRendu.GUID, +ParametreMetier.PA_Libelle AS CR_PA_Type +FROM CompteRendu +LEFT OUTER JOIN ParametreMetier ON ParametreMetier.PA_CLE = CompteRendu.CR_CleTypeSignataire and +CompteRendu.CR_CleTypeSignataire <> '' +WHERE +CR_PKID IN ({p_IDS}) +] +saRqCR = Remplace(saRqCR,"{p_IDS}",TableauVersChaîne(tbIds,",")) +si pas HExécuteRequêteSQL(sdRReqCR,hRequêteDéfaut,saRqCR) alors +fin +06/08/2026 Batik 6405 + +Partie 7 › Collection de procédures › LIB_Documents › Code +LIB_Documents +Code +Déclaration de LIB_Documents +constante +cRub_Categorie = "$DC_Categorie$" +cRub_CategorieID = "$DC_Categorie_Id$" +cWhereIdInter = "{p_IdInter}" +fin +gtbExtImg est un tableau de chaînes ANSI = [".BMP",".JPG",".JPEG",".GIF",".PCD",".PCX",".PNG",".PSD", +".TGA",".TIF",".TIFF",".EMF",".WMF",".ICO",".ICW",".CUR"] +STListeDocASyncro est une Structure +pMaJ est une procédure +saCheminBase est une chaîne ANSI +tbaDocuments est un tableau associatif de MDocument +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 +saStructureDecode est 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,hRequêteDéfaut,saReq) alors +HLitPremier(sdReqDoc) +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 +06/08/2026 Batik 6406 + +Partie 7 › Collection de procédures › LIB_Documents › Code +UneErreur:Init(ErreurApp.ErreurHFSQL, +"Erreur lors de la création du chemin d’accès des documents","DecodeCheminDocSelonInter") +fin +fin +renvoyer "" +Procédure globale DonneCheminFichier +procédure DonneCheminFichier(oDoc est un MDocument, saCheminRub est une chaîne ANSI) +saCheminComplet est une chaîne ANSI +si oDoc:saCleCategorie <> "" _et_ Contient(saCheminRub,cRub_Categorie) ou Contient(saCheminRub, +cRub_CategorieID) alors +saRubCtgest une chaîne ANSI = gtabParametresMetierCode[cParam_TypeDoc][oDoc:saCleCategorie]. +salibelle +saRubCtgId est une chaîne ANSI = gtabParametresMetierCode[cParam_TypeDoc][oDoc:saCleCategorie]. +salibelle +" #"+gtabParametresMetierCode[cParam_TypeDoc][oDoc:saCleCategorie].nPKID +saCheminRub = Remplace(saCheminRub,cRub_Categorie,saRubCtg) +saCheminRub = Remplace(saCheminRub,cRub_CategorieID,saRubCtgId) +fin +saCheminComplet = ComplèteRep(gtbaParametresAppli[cParam_CheminRepDocInter].saValeur+saCheminRub)+oDoc +:saNom +renvoyer saCheminComplet +Procédure globale DonneRubSelonCheminDoc +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 LanceProcedureMaJDocFen +06/08/2026 Batik 6407 + +Partie 7 › Collection de procédures › LIB_Documents › Code +procédure LanceProcedureMaJDocFen(stInfoSyncro est un STListeDocASyncro) +si pas EnModeTest() alors +quand exception dans +ExécuteThreadPrincipal(stInfoSyncro.pMaJ,stInfoSyncro) +faire +// Rien +fin +sinon +ExécuteThreadPrincipal(stInfoSyncro.pMaJ,stInfoSyncro) +fin +Procédure globale NettoieNomRepertoire +procédure NettoieNomRepertoire(sTexte est une chaîne) : chaîne +// 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 = "" +06/08/2026 Batik 6408 + +Partie 7 › Collection de procédures › LIB_Documents › Code +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 RechercheCheminUnDoc +procédure RechercheCheminUnDoc(oDoc est un MDocument,saCheminComp est une chaîne ANSI,saRepBase est une +chaîne ANSI) +saCheminComplet est une chaîne ANSI = DonneCheminFichier(oDoc,saCheminComp) +si SansEspace(oDoc:saChemin) <> "" alors +saCheminCompTest est une chaîne ANSI = saRepBase+ComplèteRep(oDoc:saChemin)+oDoc:saNom +si fFichierExiste(saCheminCompTest) alors +oDoc:saCheminComplet = saCheminCompTest +oDoc:saCleEtatDoc = cCle_EtatDocPresent +sinon +oDoc:saCleEtatDoc = cCle_EtatDocSyncro +fin +sinon +oDoc:saCleEtatDoc = cCle_EtatDocSyncro +fin +si oDoc:saCleEtatDoc <> cCle_EtatDocPresent alors +si fFichierExiste(saCheminComplet) alors +oDoc:saCheminComplet = saCheminComplet +oDoc:saChemin = SansEspace(ComplèteRep(saCheminComp),sscExtérieur) +oDoc:saCleEtatDoc = cCle_EtatDocPresent +oDoc:Enregistrer() +sinon +nPosRub est un entier +saUneRubrique est une chaîne ANSI +saRepDocs est une chaîne ANSI = saRepBase +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 +06/08/2026 Batik 6409 + +Partie 7 › Collection de procédures › LIB_Documents › Code +saRepDocs = ComplèteRep(saRepDocs+saUnRep) +fin +fin +fin +oDoc:saCheminComplet = saCheminComplet +oDoc:saCleEtatDoc = cCle_EtatDocAbsent +saCheminCMD est une chaîne ANSI +si SansEspace(saRepDocs) = "" ou pas fFichierExiste(saRepDocs+oDoc:saNom) alors +saCheminCMD = RechercheFichierCMD(saCheminComp, saRepBase, oDoc:saNom) +fin +si fFichierExiste(saCheminCMD) alors +oDoc:saCheminComplet = saCheminCMD +oDoc:saChemin = SansEspace(Remplace(saCheminCMD,saRepBase,""),sscExtérieur) +oDoc:saChemin = SansEspace(Remplace(oDoc:saChemin,oDoc:saNom,"")) +oDoc:saCleEtatDoc = cCle_EtatDocAbsent +sinon si fFichierExiste(saRepDocs+oDoc:saNom) alors +oDoc:saCheminComplet = saRepDocs+oDoc:saNom +oDoc:saChemin = SansEspace(ComplèteRep(Remplace(saRepDocs,saRepBase,"")), +sscExtérieur) +oDoc:saCleEtatDoc = cCle_EtatDocPresent +oDoc:Enregistrer() +fin +fin +fin +Procédure globale RechercheFichierCMD +procédure RechercheFichierCMD(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 + ... +| 06/08/2026 | | Batik | 6410 | +| ---------- | --- | ----- | ---- | + +Partie 7 › Collection de procédures › LIB_Documents › Code +"if ($paths) { $paths +| Set-Content -LiteralPath $outFile } else { '' | Set-Content -LiteralPath $outFile }" + RC +// Écrit le script sur disque +si pas fSauveTexte(sScriptFile, sScript) alors +//LogEcrit("Impossible d'écrire le script PowerShell : " + sScriptFile,eErreur) +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 +//LogEcrit("Impossible de lancer le script : " + ErreurInfo(),eErreur) +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_ fFichierExiste(saCh) alors +TableauAjoute(tbDocs,saCh) +fin +fin +sinon +//LogEcrit("Commande exécutée, mais fichier de sortie introuvable : " + sOutFile,eErreur) +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" +06/08/2026 Batik 6411 + +Partie 7 › Collection de procédures › LIB_Documents › Code +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 +// É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 +//LogEcrit("Impossible de lancer le script : " + ErreurInfo(),eErreur) +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 +//LogEcrit("Commande exécutée, mais fichier de sortie introuvable : " + +sOutFile,eErreur) +fin +fin +fSupprime(sOutFile) +fSupprime(sScriptFile) +fin +06/08/2026 Batik 6412 + +Partie 7 › Collection de procédures › LIB_Documents › Code +// 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) +// -> 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 ScoreSouple +| 06/08/2026 | | | | | Batik | 6413 | +| ---------- | --- | --- | --- | --- | ----- | ---- | + +Partie 7 › Collection de procédures › LIB_Documents › Code +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 +fin +renvoyer score +Procédure globale TH_SyncroniserDocuments +procédure TH_SyncroniserDocuments(stInfoSyncro est un STListeDocASyncro) +SectionCritiqueDébut("SyncroDocs") +saCheminComp est une chaîne ANSI +//LogEcrit("TH_SyncroniserDocuments Debut : "+HeureSys(),eDebug) +si stInfoSyncro.tbaDocuments..Occurrence > 0 _et_ stInfoSyncro:saCheminBase <> "" alors +pour tout oDoc de stInfoSyncro.tbaDocuments +saCheminComp = stInfoSyncro:saCheminBase +RechercheCheminUnDoc(oDoc,saCheminComp,gtbaParametresAppli[cParam_CheminRepDocInter].saValeur) +fin +fin +LanceProcedureMaJDocFen(stInfoSyncro) +//LogEcrit("TH_SyncroniserDocuments Fin : "+HeureSys(),eDebug) +SectionCritiqueFin("SyncroDocs") +ThreadFin() +Procédure globale TokensSouples +06/08/2026 Batik 6414 + +Partie 7 › Collection de procédures › LIB_Documents › 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 +06/08/2026 Batik 6415 + +Partie 7 › Collection de procédures › LIB_ElementsModifies › Code +LIB_ElementsModifies +Code +Procédure globale CreationElementModifie +procédure CreationElementModifie(nId est un entier sur 8 octets, saType est une chaîne ANSI) +si nId <= 0 alors +renvoyer Faux +fin +si SansEspace(saType) = "" alors +renvoyer Faux +fin +tbaProcedures est un tableau associatif de Procedures +utiliser SectionCritique(gtbaProceduresMaJWidget) dans +tbaProcedures = gtbaProceduresMaJWidget +fin +tbaEle est un tableau associatif de MElementModifie +selon saType +cas Intervention..Nom +utiliser SectionCritique(gtbaElementsModifiesInter) dans +tbaEle = gtbaElementsModifiesInter +fin +cas Lieu..Nom +utiliser SectionCritique(gtbaElementsModifiesSite) dans +tbaEle = gtbaElementsModifiesSite +fin +cas Personne..Nom +utiliser SectionCritique(gtbaElementsModifiesCtc) dans +tbaEle = gtbaElementsModifiesCtc +fin +cas Client..Nom +utiliser SectionCritique(gtbaElementsModifiesClient) dans +tbaEle = gtbaElementsModifiesClient +fin +cas RDV_Planning..Nom +utiliser SectionCritique(gtbaElementsModifiesRDV) dans +tbaEle = gtbaElementsModifiesRDV +fin +autre cas +fin +si tbaEle..Occurrence > 0 _et_ tbaEle[nId]..existe = Vrai alors +tbaEle[nId].dDate = DateHeureSys() +tbaEle[nId].Enregistrer() +sinon +oUnEle est un MElementModifie +oUnEle:dDate = DateHeureSys() +oUnEle:saFichier = saType +oUnEle:nIDEnrg = nId +06/08/2026 Batik 6416 + +Partie 7 › Collection de procédures › LIB_ElementsModifies › Code +oUnEle:nIDUser = CollaborateurEnCours:nIdUser +si oUnEle:Enregistrer() _et_ tbaProcedures[saType]..Existe = Vrai alors +tbaEle[nId] = oUnEle +fin +fin +si tbaProcedures[saType]..Existe = Vrai alors +selon saType +cas Intervention..Nom +utiliser SectionCritique(gtbaElementsModifiesInter) dans +gtbaElementsModifiesInter = tbaEle +fin +cas Lieu..Nom +utiliser SectionCritique(gtbaElementsModifiesSite) dans +gtbaElementsModifiesSite = tbaEle +fin +cas Personne..Nom +utiliser SectionCritique(gtbaElementsModifiesCtc) dans +gtbaElementsModifiesCtc = tbaEle +fin +cas Client..Nom +utiliser SectionCritique(gtbaElementsModifiesClient) dans +gtbaElementsModifiesClient = tbaEle +fin +cas RDV_Planning..Nom +utiliser SectionCritique(gtbaElementsModifiesRDV) dans +gtbaElementsModifiesRDV = tbaEle +fin +autre cas +fin +LanceMiseJourWidgetsMenu(tbaProcedures[saType]) +fin +//SI ThreadEtat("LanceProcedureMaJMenu")<>threadEnCours ALORS +// +ThreadExécute("LanceProcedureMaJMenu",threadCopieLégèreContexteHFSQL,TH_LanceProcedureMaJMenu, saType) +//FIN +Procédure globale RecupHistoSelonFichier +procédure RecupHistoSelonFichier(saFichier est une chaîne ANSI) +tbaEle est un tableau associatif de MElementModifie +oUnEle est un MElementModifie dynamique +reqHistoest une Requête SQL = +[ +SELECT * FROM ElementModifie WHERE ElementModifie.EM_Fichier = {p_fichier} AND EM_IdEnrg > 0 ORDER +BY ElementModifie.EM_Date LIMIT 50 +] +reqHisto.p_fichier = saFichier +si HExécuteRequêteSQL(reqHisto) alors +pour tout reqHisto +oUnEle = allouer un MElementModifie +FichierVersMémoire(oUnEle,reqHisto) +tbaEle[oUnEle:nIDEnrg] = oUnEle +06/08/2026 Batik 6417 + +Partie 7 › Collection de procédures › LIB_ElementsModifies › Code +fin +fin +renvoyer tbaEle +Procédure globale TH_LanceProcedureMaJMenu +procédure TH_LanceProcedureMaJMenu(saType est une chaîne ANSI) +bOk est un booléen = Faux +pProc est une procédure +utiliser SectionCritique(gtbaProceduresMaJWidget) dans +// SI saType = Personne..Nom OU saType = Client..Nom ALORS +// // Les contacts sont généralement liés aux clients, nous mettons donc à jour deux +// SI gtbaProceduresMaJWidget[Personne..Nom]..Existe = Vrai ALORS +// LanceMiseJourWidgetsMenu(gtbaProceduresMaJWidget[Personne..Nom]) +// FIN +// SI gtbaProceduresMaJWidget[Client..Nom]..Existe = Vrai ALORS +// LanceMiseJourWidgetsMenu(gtbaProceduresMaJWidget[Client..Nom]) +// FIN +// SINON +// SI gtbaProceduresMaJWidget[saType]..Existe = Vrai ALORS +// LanceMiseJourWidgetsMenu(gtbaProceduresMaJWidget[saType]) +// FIN +// FIN +si gtbaProceduresMaJWidget[saType]..Existe = Vrai alors +bOk = Vrai +pProc = gtbaProceduresMaJWidget[saType] +fin +fin +si bOk alors +LanceMiseJourWidgetsMenu(pProc) +fin +ThreadFin() +Procédure globale TH_RecupererHistoModif +procédure TH_RecupererHistoModif() +tbaProcedures est un tableau associatif de Procedures +utiliser SectionCritique(gtbaProceduresMaJWidget) dans +tbaProcedures = gtbaProceduresMaJWidget +fin +tbaEle est un tableau associatif de MElementModifie +pour tout pProc, sACle de tbaProcedures +si sACle dans(Intervention..Nom,Lieu..Nom,Client..Nom,Personne..Nom,RDV_Planning..Nom) alors +TableauSupprimeTout(tbaEle) +tbaEle = RecupHistoSelonFichier(sACle) +si tbaEle..Occurrence > 0 alors +selon sACle +cas Intervention..Nom +utiliser SectionCritique(gtbaElementsModifiesInter) dans +TableauSupprimeTout(gtbaElementsModifiesInter) +gtbaElementsModifiesInter = tbaEle +fin +cas Lieu..Nom +06/08/2026 Batik 6418 + +Partie 7 › Collection de procédures › LIB_ElementsModifies › Code +utiliser SectionCritique(gtbaElementsModifiesSite) dans +TableauSupprimeTout(gtbaElementsModifiesSite) +gtbaElementsModifiesSite = tbaEle +fin +cas Client..Nom +utiliser SectionCritique(gtbaElementsModifiesClient) dans +TableauSupprimeTout(gtbaElementsModifiesClient) +gtbaElementsModifiesClient = tbaEle +fin +cas Personne..Nom +utiliser SectionCritique(gtbaElementsModifiesCtc) dans +TableauSupprimeTout(gtbaElementsModifiesCtc) +gtbaElementsModifiesCtc = tbaEle +fin +cas RDV_Planning..Nom +utiliser SectionCritique(gtbaElementsModifiesRDV) dans +TableauSupprimeTout(gtbaElementsModifiesRDV) +gtbaElementsModifiesRDV = tbaEle +fin +autre cas +fin +LanceMiseJourWidgetsMenu(tbaProcedures[sACle]) +fin +sinon +LanceMiseJourWidgetsMenu(tbaProcedures[sACle]) +fin +fin +//SI tbaProcedures[Intervention..Nom]..existe = vrai ALORS +// TableauSupprimeTout(tbaEle) +// tbaEle = RecupHistoSelonFichier(Intervention.Nom) +// SI tbaEle..Occurrence > 0 ALORS +// UTILISER SectionCritique(gtbaElementsModifiesInter) DANS +// TableauSupprimeTout(gtbaElementsModifiesInter) +// gtbaElementsModifiesInter = tbaEle +// FIN +// LanceMiseJourWidgetsMenu(tbaProcedures[Intervention.Nom]) +// FIN +//FIN +//SI tbaProcedures[lieu..Nom]..Existe = Vrai ALORS +// TableauSupprimeTout(tbaEle) +// tbaEle = RecupHistoSelonFichier(Lieu.Nom) +// SI tbaEle..Occurrence > 0 ALORS +// UTILISER SectionCritique(gtbaElementsModifiesSite) DANS +// TableauSupprimeTout(gtbaElementsModifiesSite) +// gtbaElementsModifiesSite = tbaEle +// FIN +// LanceMiseJourWidgetsMenu(tbaProcedures[Lieu.Nom]) +// FIN +//FIN +//si tbaProcedures[client..Nom]..Existe = Vrai alors +// TableauSupprimeTout(tbaEle) +// tbaEle = RecupHistoSelonFichier(Client.nom) +// si tbaEle..Occurrence > 0 alors +// UTILISER SectionCritique(gtbaElementsModifiesClient) DANS +// TableauSupprimeTout(gtbaElementsModifiesClient) +// gtbaElementsModifiesClient = tbaEle +// FIN +// LanceMiseJourWidgetsMenu(tbaProcedures[Client.Nom]) +// FIN +//FIN +//SI tbaProcedures[Personne..Nom]..Existe = Vrai ALORS +// TableauSupprimeTout(tbaEle) +// tbaEle = RecupHistoSelonFichier(Personne.Nom) +06/08/2026 Batik 6419 + +Partie 7 › Collection de procédures › LIB_ElementsModifies › Code +// SI tbaEle..Occurrence > 0 ALORS +// UTILISER SectionCritique(gtbaElementsModifiesCtc) DANS +// TableauSupprimeTout(gtbaElementsModifiesCtc) +// gtbaElementsModifiesCtc = tbaEle +// FIN +// LanceMiseJourWidgetsMenu(tbaProcedures[Personne.Nom]) +// FIN +//FIN +//SI tbaProcedures[RDV_Planning..Nom]..Existe = Vrai ALORS +// TableauSupprimeTout(tbaEle) +// tbaEle = RecupHistoSelonFichier(RDV_Planning.Nom) +// SI tbaEle..Occurrence > 0 ALORS +// UTILISER SectionCritique(gtbaElementsModifiesRDV) DANS +// TableauSupprimeTout(gtbaElementsModifiesRDV) +// gtbaElementsModifiesRDV = tbaEle +// FIN +// LanceMiseJourWidgetsMenu(tbaProcedures[RDV_Planning.Nom]) +// FIN +//FIN +//si tbaProcedures[cFI_RDV_Attente]..Existe = Vrai alors +// LanceMiseJourWidgetsMenu(tbaProcedures[cFI_RDV_Attente]) +//fin +//si tbaProcedures[cFI_Widget_Filtre]..Existe = Vrai alors +// LanceMiseJourWidgetsMenu(tbaProcedures[cFI_Widget_Filtre]) +//fin +//# Manque planning +ThreadFin() +06/08/2026 Batik 6420 + +Partie 7 › Collection de procédures › LIB_TypeChamp › Code +LIB_TypeChamp +Code +Déclaration de LIB_TypeChamp +ST_TypeChamp est une Structure +saFenetre est une chaîne ANSI +saModule est une chaîne ANSI +saNomChampComplet est une chaîne ANSI +saNomGenerique est une chaîne ANSI +nType est un entier +saConstante est une chaîne ANSI +saTypeChamp est une chaîne ANSI +saLibelleChamp est une chaîne ANSI +saMessage est une chaîne ANSI +end +Procédure globale DonneInfoTypeChamp +procédure DonneInfoTypeChamp(saChamp est une chaîne ANSI) +nType est un entier +Res est un ST_TypeChamp +quand exception dans +nType = {saChamp}..Type +faire +nType = 0 +renvoyer Res +fin +Res.nType = nType +Res.saConstante = "Inconnue" +Res.saTypeChamp = "Champ" +Res.saMessage = "" +selon nType +// -------------------------------------------------------------- +// 1 +// -------------------------------------------------------------- +cas 1 +// typFen / typPage +Res.saConstante = "typFen / typPage" +Res.saTypeChamp = "Fenêtre / Page" +// -------------------------------------------------------------- +// 3 à 17 +// -------------------------------------------------------------- +cas 3 +Res.saConstante = "typLibellé" +Res.saTypeChamp = "Texte" +cas 4 +Res.saConstante = "typBouton" +Res.saTypeChamp = "Bouton" +cas 5 +06/08/2026 Batik 6421 + +Partie 7 › Collection de procédures › LIB_TypeChamp › Code +Res.saConstante = "typInterr" +Res.saTypeChamp = "Case à cocher" +cas 6 +Res.saConstante = "typSélect" +Res.saTypeChamp = "Bouton radio" +cas 7 +Res.saConstante = "typListe" +Res.saTypeChamp = "Liste" +cas 8 +Res.saConstante = "typImage" +Res.saTypeChamp = "Image" +cas 9 +Res.saConstante = "typTable" +Res.saTypeChamp = "Table" +cas 10 +Res.saConstante = "typJauge" +Res.saTypeChamp = "Jauge" +cas 11 +Res.saConstante = "typSpin" +Res.saTypeChamp = "Sélecteur numérique" +cas 12 +Res.saConstante = "typPotentiomètre" +Res.saTypeChamp = "Curseur" +cas 13 +Res.saConstante = "typPotentiomètreRotatif" +Res.saTypeChamp = "Curseur rotatif" +cas 15 +Res.saConstante = "typOle" +Res.saTypeChamp = "Objet OLE" +cas 16 +Res.saConstante = "typOnglet" +Res.saTypeChamp = "Onglets" +cas 17 +Res.saConstante = "typActiveX" +Res.saTypeChamp = "Composant ActiveX" +// -------------------------------------------------------------- +// 18 à 31 +// -------------------------------------------------------------- +cas 18 +Res.saConstante = "typAsc" +Res.saTypeChamp = "Ascenseur" +cas 19 +Res.saConstante = "typTreeView" +Res.saTypeChamp = "Arborescence" +cas 20 +Res.saConstante = "typForme" +Res.saTypeChamp = "Forme / Dessin" +cas 22 +Res.saConstante = "typBarreOutils" +Res.saTypeChamp = "Barre d'outils" +06/08/2026 Batik 6422 + +Partie 7 › Collection de procédures › LIB_TypeChamp › Code +cas 23 +Res.saConstante = "typHTML" +Res.saTypeChamp = "Texte HTML" +cas 24 +Res.saConstante = "typWebCam" +Res.saTypeChamp = "Webcam" +cas 25 +Res.saConstante = "typConférence" +Res.saTypeChamp = "Conférence" +cas 26 +Res.saConstante = "typCodeBarres" +Res.saTypeChamp = "Code-barres" +cas 27 +Res.saConstante = "typListeImage" +Res.saTypeChamp = "Liste avec images" +cas 28 +Res.saConstante = "typSéparateur" +Res.saTypeChamp = "Séparateur" +cas 29 +Res.saConstante = "typBoîteAOutils" +Res.saTypeChamp = "Boîte à outils" +cas 30 +Res.saConstante = "typZoneRépétée" +Res.saTypeChamp = "Liste répétée" +cas 31 +// typFenêtreInterne / typPageInterne +Res.saConstante = "typFenêtreInterne / typPageInterne" +Res.saTypeChamp = "Fenêtre interne / Page interne" +// -------------------------------------------------------------- +// 33 à 48 +// -------------------------------------------------------------- +cas 33 +Res.saConstante = "typGraphe" +Res.saTypeChamp = "Graphique" +cas 34 +Res.saConstante = "typTiroir" +Res.saTypeChamp = "Tiroir" +cas 35 +Res.saConstante = "typTableHierarchique" +Res.saTypeChamp = "Table hiérarchique" +cas 36 +Res.saConstante = "typXaml" +Res.saTypeChamp = "Composant XAML" +cas 37 +Res.saConstante = "typCarrousel" +Res.saTypeChamp = "Carrousel" +cas 38 +Res.saConstante = "typCube" +Res.saTypeChamp = "Cube" +cas 39 +Res.saConstante = "typMultimédia" +06/08/2026 Batik 6423 + +Partie 7 › Collection de procédures › LIB_TypeChamp › Code +Res.saTypeChamp = "Lecteur multimédia" +cas 40 +Res.saConstante = "typSuperChamp" +Res.saTypeChamp = "Conteneur" +cas 41 +Res.saConstante = "typAttribut" +Res.saTypeChamp = "Attribut de zone répétée" +cas 43 +Res.saConstante = "typModèleDeChamp" +Res.saTypeChamp = "Modèle de champ" +cas 45 +Res.saConstante = "typPlanDeSite" +Res.saTypeChamp = "Plan du site" +cas 46 +Res.saConstante = "typSilverlight" +Res.saTypeChamp = "Composant Silverlight" +cas 47 +Res.saConstante = "typCalendrier" +Res.saTypeChamp = "Calendrier" +cas 48 +Res.saConstante = "typFlex" +Res.saTypeChamp = "Conteneur Flex" +// -------------------------------------------------------------- +// 56 à 58 +// -------------------------------------------------------------- +cas 56 +Res.saConstante = "typColonne" +Res.saTypeChamp = "Colonne" +cas 58 +Res.saConstante = "typGrp" +Res.saTypeChamp = "Groupe de champs" +// -------------------------------------------------------------- +// 72 à 92 +// -------------------------------------------------------------- +cas 72 +// typPotentiomètreIntervalle / typRangeSlider +Res.saConstante = "typPotentiomètreIntervalle / typRangeSlider" +Res.saTypeChamp = "Curseur d'intervalle" +cas 73 +Res.saConstante = "typUpload" +Res.saTypeChamp = "Envoi de fichier" +cas 74 +Res.saConstante = "typTreeMap" +Res.saTypeChamp = "Carte hiérarchique" +cas 76 +Res.saConstante = "typAgenda" +Res.saTypeChamp = "Agenda" +cas 77 +Res.saConstante = "typZoneRépétéeLinéaire" +Res.saTypeChamp = "Liste répétée linéaire" +cas 78 +06/08/2026 Batik 6424 + +Partie 7 › Collection de procédures › LIB_TypeChamp › Code +Res.saConstante = "typVidéo" +Res.saTypeChamp = "Lecteur vidéo" +cas 79 +Res.saConstante = "typPageCornée" +Res.saTypeChamp = "Page cornée" +cas 80 +Res.saConstante = "typPlanning" +Res.saTypeChamp = "Planning" +cas 82 +Res.saConstante = "typCaptcha" +Res.saTypeChamp = "Captcha" +cas 84 +Res.saConstante = "typCelluleMiseEnPage" +Res.saTypeChamp = "Cellule de mise en page" +cas 85 +Res.saConstante = "typNotation" +Res.saTypeChamp = "Notation" +cas 86 +Res.saConstante = "typOrganigramme" +Res.saTypeChamp = "Organigramme" +cas 87 +Res.saConstante = "typRuban" +Res.saTypeChamp = "Ruban" +cas 90 +Res.saConstante = "typPopup" +Res.saTypeChamp = "Popup" +cas 92 +Res.saConstante = "typCarte" +Res.saTypeChamp = "Carte" +// -------------------------------------------------------------- +// 97 à 149 +// -------------------------------------------------------------- +cas 97 +Res.saConstante = "typZoneMultiligne" +Res.saTypeChamp = "Zone de texte multiligne" +cas 102 +Res.saConstante = "typTableauCroiséDynamique" +Res.saTypeChamp = "Tableau croisé dynamique" +cas 103 +Res.saConstante = "typLienSocial" +Res.saTypeChamp = "Lien réseau social" +cas 109 +Res.saConstante = "typZoneTexteRiche" +Res.saTypeChamp = "Texte riche" +cas 110 +Res.saConstante = "typGantt" +Res.saTypeChamp = "Diagramme de Gantt" +cas 111 +Res.saConstante = "typTableauDeBord" +Res.saTypeChamp = "Tableau de bord" +06/08/2026 Batik 6425 + +Partie 7 › Collection de procédures › LIB_TypeChamp › Code +cas 113 +Res.saConstante = "typJaugeInfinie" +Res.saTypeChamp = "Jauge de chargement" +cas 114 +Res.saConstante = "typTableur" +Res.saTypeChamp = "Tableur" +cas 115 +Res.saConstante = "typCelluleDeBarreDeNavigation" +Res.saTypeChamp = "Cellule de barre de navigation" +cas 117 +Res.saConstante = "typBarreDeNavigation" +Res.saTypeChamp = "Barre de navigation" +cas 118 +Res.saConstante = "typFil" +Res.saTypeChamp = "Fil" +cas 119 +Res.saConstante = "typNoteRepositionnable" +Res.saTypeChamp = "Note repositionnable" +cas 120 +Res.saConstante = "typTraitementDeTexte" +Res.saTypeChamp = "Traitement de texte" +cas 121 +Res.saConstante = "typComposantWeb" +Res.saTypeChamp = "Composant Web" +cas 122 +Res.saConstante = "typBandeauDéfilant" +Res.saTypeChamp = "Bandeau défilant" +cas 123 +Res.saConstante = "typPlanDeBandeauDéfilant" +Res.saTypeChamp = "Plan de bandeau défilant" +cas 124 +Res.saConstante = "typEditeurImages" +Res.saTypeChamp = "Éditeur d'images" +cas 125 +Res.saConstante = "typConteneurNatif" +Res.saTypeChamp = "Conteneur natif" +cas 126 +Res.saConstante = "typDisposition" +Res.saTypeChamp = "Disposition" +cas 127 +Res.saConstante = "typCelluleDisposition" +Res.saTypeChamp = "Cellule de disposition" +cas 130 +Res.saConstante = "typEditeurDeDiagrammes" +Res.saTypeChamp = "Éditeur de diagrammes" +cas 131 +Res.saConstante = "typPanneau" +Res.saTypeChamp = "Panneau" +cas 132 +Res.saConstante = "typInterrupteurABascule" +06/08/2026 Batik 6426 + +Partie 7 › Collection de procédures › LIB_TypeChamp › Code +Res.saTypeChamp = "Interrupteur à bascule" +cas 133 +Res.saConstante = "typOptionInterrupteurABascule" +Res.saTypeChamp = "Option d'interrupteur à bascule" +cas 134 +Res.saConstante = "typEditeurHtml" +Res.saTypeChamp = "Éditeur HTML" +cas 138 +Res.saConstante = "typEditeurImagesMobile" +Res.saTypeChamp = "Éditeur d'images mobile" +cas 139 +// typCelluleFlexBox / typFlexbox +Res.saConstante = "typCelluleFlexBox / typFlexbox" +Res.saTypeChamp = "Flexbox / Cellule Flexbox" +cas 140 +Res.saConstante = "typKanban" +Res.saTypeChamp = "Kanban" +cas 141 +Res.saConstante = "typChampMenuContextuel" +Res.saTypeChamp = "Menu contextuel" +cas 142 +Res.saConstante = "typListeKanban" +Res.saTypeChamp = "Liste Kanban" +cas 146 +Res.saConstante = "typÉditeurCode" +Res.saTypeChamp = "Éditeur de code" +cas 147 +Res.saConstante = "typCelluleCSSGrid" +Res.saTypeChamp = "Cellule de grille CSS" +cas 148 +Res.saConstante = "typBoutonSegmenté" +Res.saTypeChamp = "Bouton segmenté" +cas 149 +Res.saConstante = "typOptionBoutonSegmenté" +Res.saTypeChamp = "Option de bouton segmenté" +cas 10001,10002 +Res.saConstante = "typComboSNS" +Res.saTypeChamp = "Liste déroulante" +// -------------------------------------------------------------- +// 20001 à 20006 +// -------------------------------------------------------------- +cas 20001 +Res.saConstante = "typTexte" +Res.saTypeChamp = "Zone de saisie texte" +cas 20002 +Res.saConstante = "typDate" +Res.saTypeChamp = "Zone de saisie date" +cas 20003 +Res.saConstante = "typHeure" +Res.saTypeChamp = "Zone de saisie heure" +06/08/2026 Batik 6427 + +Partie 7 › Collection de procédures › LIB_TypeChamp › Code +cas 20004 +Res.saConstante = "typNum" +Res.saTypeChamp = "Zone de saisie numérique" +cas 20005 +Res.saConstante = "typMonétaire" +Res.saTypeChamp = "Zone de saisie monétaire" +cas 20006 +Res.saConstante = "typDurée" +Res.saTypeChamp = "Zone de saisie durée" +// -------------------------------------------------------------- +// 30001 +// -------------------------------------------------------------- +cas 30001 +Res.saConstante = "typClicage" +Res.saTypeChamp = "Image cliquable" +// -------------------------------------------------------------- +// 40001 à 40002 +// -------------------------------------------------------------- +cas 40001 +Res.saConstante = "typOptionMenu" +Res.saTypeChamp = "Option de menu" +cas 40002 +Res.saConstante = "typCaseBarreDeMessage" +Res.saTypeChamp = "Case de barre de message" +// -------------------------------------------------------------- +// 50001 à 50014 +// -------------------------------------------------------------- +cas 50001 +Res.saConstante = "typChampFormaté" +Res.saTypeChamp = "Champ formaté" +cas 50002 +Res.saConstante = "typChampHTML" +Res.saTypeChamp = "Champ HTML" +cas 50003 +Res.saConstante = "typLigne" +Res.saTypeChamp = "Ligne" +cas 50004 +Res.saConstante = "typJava" +Res.saTypeChamp = "Champ Java" +cas 50005 +Res.saConstante = "typLien" +Res.saTypeChamp = "Lien" +cas 50006 +Res.saConstante = "typLibelléHTML" +Res.saTypeChamp = "Libellé HTML" +cas 50007 +Res.saConstante = "typChampMenu" +Res.saTypeChamp = "Menu" +cas 50008 +Res.saConstante = "typFlash" +Res.saTypeChamp = "Composant Flash" +cas 50009 +06/08/2026 Batik 6428 + +Partie 7 › Collection de procédures › LIB_TypeChamp › Code +Res.saConstante = "typRéglette" +Res.saTypeChamp = "Réglette" +cas 50010 +Res.saConstante = "typMapArea" +Res.saTypeChamp = "Zone d'image cliquable" +cas 50011 +Res.saConstante = "typCheminDeNavigation" +Res.saTypeChamp = "Chemin de navigation" +cas 50012 +Res.saConstante = "typVignette" +Res.saTypeChamp = "Vignette" +cas 50013 +Res.saConstante = "typIFrame" +Res.saTypeChamp = "IFrame" +cas 50014 +Res.saConstante = "typCellule" +Res.saTypeChamp = "Cellule" +autre cas +Res.saConstante = "Type inconnu" +Res.saTypeChamp = "Type de champ inconnu" +Res.saMessage = "Code non encore mappé : " + nType +fin +renvoyer Res +06/08/2026 Batik 6429 + +Partie 7 › Collection de procédures › LIB_Aide › Code +LIB_Aide +Code +Procédure globale DonneInformationChampEnCours +procédure DonneInformationChampEnCours(saChamp est une chaîne ANSI) +saNomGeneriqueChamp est une chaîne ANSI = saChamp +JJson est un JSON +stUnChamp est un ST_TypeChamp = DonneInfoTypeChamp(saChamp) +| stUnChamp.saFenetre | = DonneNomFenetreChamp(saChamp) | | | | +| ---------------------------- | ------------------------------- | --- | --- | --- | +| stUnChamp.saNomChampComplet | = saChamp | | | | +stUnChamp.saNomGenerique = DonneNomCompletChampGenerique(stUnChamp.saNomChampComplet) +saFenetre est une chaîne ANSI = DonneNomFenetreDepuisChamp(saChamp) +quand exception dans +si saFenetre <> "" _et_ FenEtat(saFenetre) <> Inexistant alors +stUnChamp.saModule = {saFenetre+".saNomUtilisateurFen"} +fin +faire +fin +//vTeste est une variant +//vTeste.Libelle = "onglet d'interveion é è à ê " +// +//bufSat est un buffer +//Sérialise(vTeste,bufSat,psdJSON) +quand exception dans +si stUnChamp.saNomGenerique <> "" _et_ ChampExiste(saChamp) alors +si {saChamp}..Note <> "" alors +Désérialise(JJson,{saChamp}..Note,psdJSON) +stUnChamp.saLibelleChamp = JJson.Libelle +fin +| // si {stUnChamp.saNomGenerique}..Note <> "" alors | | | | | +| -------------------------------------------------- | --- | --- | --- | --- | +// Désérialise(JJson,{stUnChamp.saNomGenerique}..Note,psdJSON) +| // | stUnChamp.saLibelleChamp = JJson.Libelle | | | | +| ------ | ---------------------------------------- | --- | --- | --- | +| // FIN | | | | | +fin +faire +fin +renvoyer stUnChamp +Procédure globale DonneNomCompletChampGenerique +procédure DonneNomCompletChampGenerique(saChamp est une chaîne ANSI) +| saFenetre | est une chaîne ANSI | | | | +| ----------- | ------------------- | ----------------------- | --- | --- | +| saNomChampG | est une chaîne ANSI | = saChamp | | | +| nPos | est un entier | = Position(saChamp,".") | | | +si nPos > 0 alors +| nPos | -= 1 | | | | +| ----- | ---- | --- | --- | --- | +saNomChampG = Droite(saChamp,(saChamp..Taille-nPos)) +| saFenetre | = Gauche(saChamp,nPos) | | | | +| ----------- | ---------------------- | --- | ----- | ---- | +| saFenetre | = {saFenetre}..Nom | | | | +| 06/08/2026 | | | Batik | 6430 | + +Partie 7 › Collection de procédures › LIB_Aide › Code +saNomChampG = saFenetre+saNomChampG +fin +renvoyer NettoyerNomGenerique(saNomChampG) +Procédure globale DonneNomFenetreChamp +procédure DonneNomFenetreChamp(saChamp est une chaîne ANSI) +saFenetre est une chaîne ANSI = DonneNomFenetreDepuisChamp(saChamp) +quand exception dans +saFenetre = {saFenetre}..Nom +faire +fin +si FenEtat(saFenetre) <> Inexistant alors +renvoyer saFenetre +sinon +renvoyer "" +fin +Procédure globale DonneNomFenetreDepuisChamp +procédure DonneNomFenetreDepuisChamp(saChamp est une chaîne ANSI) +saFenetre est une chaîne ANSI = saChamp +quand exception dans +nPos est un entier = Position(saFenetre,".") +si nPos > 0 alors +nPos -= 1 +saFenetre = Gauche(saFenetre,nPos) +fin +faire +fin +renvoyer saFenetre +Procédure globale ExtraitCorpsRTF +procédure ExtraitCorpsRTF() +Procédure globale NettoyerNomGenerique +procédure NettoyerNomGenerique(sNomChampComplet est une chaîne) : chaîne +tabSegments est un tableau de chaînes = ChaîneDécoupe(sNomChampComplet, ".") +sResultat est une chaîne = "" +pour tout sSegment de tabSegments +sSegment = SansEspace(sSegment) +si Majuscule(Gauche(sSegment, 6)) <> "ALIAS_" alors +si sResultat <> "" alors +sResultat += "." +fin +sResultat += sSegment +fin +fin +06/08/2026 Batik 6431 + +Partie 7 › Collection de procédures › LIB_Aide › Code +renvoyer sResultat +Procédure globale OuvreDocFenetre +procédure OuvreDocFenetre() +OuvreSoeur(FEN_DocFenetre,gsaNomChampEnCours) +Procédure globale OuvreModifDocAide +procédure OuvreModifDocAide() +saChamp est une chaîne ANSI = gsaNomChampEnCours +Ouvre(FEN_DocAide,saChamp) +06/08/2026 Batik 6432 + +Partie 8 › Table des matières +Partie 8 +Table des matières +| 06/08/2026 | Batik | 6433 | +| ---------- | ----- | ---- | + +Partie 8 › Table des matières +Projet Batik +Partie 1 Projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 +Informations générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 +Liste des éléments du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 +Liste des Perso-Dossiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 +Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 +Erreurs, warnings et informations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 +Statistiques sur le code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 +Composants inclus dans le projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 +Partie 2 Schéma des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 +Graphe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 +Informations générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 +Dictionnaire des rubriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 +Groupes de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 +Liaisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 +Connexions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 +Tables et rubriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 +AccesEtDroit 77 +Action 79 +Adresse 80 +BddExterne 82 +CategorieAcces 83 +CheckList 84 +CheckList_Collab 85 +Client 86 +Client_Adresse 88 +Client_BddExterne 89 +Client_Lieu 90 +Collaborateur 91 +CompteRendu 92 +Compteur 93 +Doc_Aide 94 +Document 95 +DocumentNote 96 +Dossier 97 +ElementModifie 98 +ElementSupprime 99 +Equipe 100 +06/08/2026 Batik 6434 + +Partie 8 › Table des matières +Equipe_Collaborateur 101 +EtatIntervention 102 +Etats 103 +Intervention 104 +Intervention_BddExterne 106 +Intervention_ChampLibre 107 +Intervention_Personne 108 +Lieu 109 +Lieu_Personne 111 +MailCat 112 +MailModele 113 +MessageExterne 114 +MessageInterne 115 +Mobile 116 +MobLog 117 +MobReception 118 +ModeleRapport 119 +ModeleRapportMob 120 +MotClef 121 +ParametreApplication 122 +ParametreMetier 123 +ParametreMetierEntete 124 +ParametreSysteme 125 +ParametreUtilisateur 126 +Personne 127 +Planning_RDV 129 +Planning_RDV_Personne 131 +RDV_Collaborateur 132 +RDV_Contact 133 +RDV_Planning 134 +Role 135 +RubriquesDocument 136 +Societe 137 +Societe_Collaborateur 139 +SuiviDesTemps 140 +Telephone 141 +Utilisateur 142 +Partie 3 Fenêtre WINDEV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 +FEN_Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 +Image 144 +Informations générales 144 +Informations sur les champs 146 +Code 156 +Code des champs 156 +Procédures 157 +FEN_Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 +Image 160 +06/08/2026 Batik 6435 + +Partie 8 › Table des matières +Informations générales 161 +Informations sur les champs 163 +Informations sur les menus 199 +Code 200 +Code des champs 201 +Procédures 209 +FEN_Agenda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 +Image 211 +Informations générales 211 +Informations sur les champs 213 +Messages multilingues 248 +Code 249 +Code des champs 250 +Procédures 267 +FEN_MaJParemApp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 +Image 280 +Informations générales 280 +Informations sur les champs 282 +Code 326 +Code des champs 326 +Procédures 335 +FEN_Fiche_Colb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 +Image 369 +Informations générales 369 +Informations sur les champs 371 +Code 505 +Code des champs 506 +Procédures 559 +FEN_Fiche_Dossier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576 +Image 576 +Informations générales 576 +Informations sur les champs 578 +Informations sur les menus 630 +Code 630 +Code des champs 631 +Procédures 654 +FEN_Tableau_Bord_Intervention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665 +Image 665 +Informations générales 665 +Informations sur les champs 667 +Informations sur les menus 680 +Code 680 +Code des champs 681 +Procédures 686 +FEN_Fiche_Rendez_Vous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688 +Image 688 +Informations générales 688 +06/08/2026 Batik 6436 + +Partie 8 › Table des matières +Informations sur les champs 690 +Code 784 +Code des champs 784 +Procédures 827 +FEN_Tableau_Bord_Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832 +Image 832 +Informations générales 833 +Informations sur les champs 834 +Informations sur les menus 847 +Code 847 +Code des champs 848 +Procédures 853 +FEN_Tableau_Bord_Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855 +Image 855 +Informations générales 855 +Informations sur les champs 857 +Informations sur les menus 870 +Code 870 +Code des champs 871 +Procédures 876 +FEN_Fiche_Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878 +Image 878 +Informations générales 878 +Informations sur les champs 880 +Code 891 +Code des champs 891 +Procédures 895 +FEN_Fiche_Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 897 +Image 897 +Informations générales 897 +Informations sur les champs 899 +Code 910 +Code des champs 910 +Procédures 914 +FEN_Tableau_Bord_Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916 +Image 916 +Informations générales 916 +Informations sur les champs 918 +Informations sur les menus 931 +Code 931 +Code des champs 932 +Procédures 937 +FEN_Fiche_Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939 +Image 939 +Informations générales 939 +Informations sur les champs 941 +Code 952 +06/08/2026 Batik 6437 + +Partie 8 › Table des matières +Code des champs 952 +Procédures 956 +FEN_Fiche_Societe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 958 +Image 958 +Informations générales 958 +Informations sur les champs 960 +Informations sur les menus 1060 +Code 1060 +Code des champs 1061 +Procédures 1105 +FEN_Choix_Couleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1109 +Image 1109 +Informations générales 1109 +Informations sur les champs 1111 +Code 1123 +Code des champs 1123 +Procédures 1127 +FEN_Fiche_Equipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1128 +Image 1128 +Informations générales 1128 +Informations sur les champs 1130 +Code 1163 +Code des champs 1163 +Procédures 1175 +FEN_Liste_Parametres_Metier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1181 +Image 1181 +Informations générales 1181 +Informations sur les champs 1183 +Code 1206 +Code des champs 1206 +Procédures 1216 +FEN_Nouveau_Parametre_Metier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1219 +Image 1219 +Informations générales 1219 +Informations sur les champs 1221 +Code 1247 +Code des champs 1247 +Procédures 1257 +FEN_Fiche_Parametre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1260 +Image 1260 +Informations générales 1260 +Informations sur les champs 1262 +Code 1289 +Code des champs 1289 +Procédures 1298 +FEN_Fiche_Parametre_Type_Temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1300 +Image 1300 +06/08/2026 Batik 6438 + +Partie 8 › Table des matières +Informations générales 1300 +Informations sur les champs 1302 +Code 1369 +Code des champs 1370 +Procédures 1398 +FEN_Fiche_Parametre_Type_RDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1400 +Image 1400 +Informations générales 1400 +Informations sur les champs 1402 +Code 1455 +Code des champs 1455 +Procédures 1478 +FEN_Liste_Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1480 +Image 1480 +Informations générales 1480 +Informations sur les champs 1482 +Informations sur les menus 1495 +Code 1496 +Code des champs 1496 +Procédures 1501 +FEN_Fiche_Role . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1503 +Image 1503 +Informations générales 1503 +Informations sur les champs 1505 +Code 1541 +Code des champs 1541 +Procédures 1553 +FEN_Fiche_RDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1557 +Image 1557 +Informations générales 1557 +Informations sur les champs 1559 +Informations sur les menus 1652 +Code 1652 +Code des champs 1653 +Procédures 1692 +FEN_Choix_Liste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1703 +Image 1703 +Informations générales 1703 +Informations sur les champs 1705 +Code 1712 +Code des champs 1712 +Procédures 1713 +FEN_Choix_Colbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1715 +Image 1715 +Informations générales 1715 +Informations sur les champs 1717 +Code 1732 +06/08/2026 Batik 6439 + +Partie 8 › Table des matières +Code des champs 1732 +Procédures 1735 +FEN_Choix_Modif_Dates_RDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1739 +Image 1739 +Informations générales 1739 +Informations sur les champs 1741 +Code 1756 +Code des champs 1756 +FEN_Suivi_Temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1762 +Image 1762 +Informations générales 1762 +Informations sur les champs 1764 +Informations sur les menus 1831 +Code 1832 +Code des champs 1833 +Procédures 1855 +FEN_Fiche_Suivi_Temps_RDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1868 +Image 1868 +Informations générales 1868 +Informations sur les champs 1870 +Code 1935 +Code des champs 1935 +Procédures 1959 +FEN_Liste_Colb_Suivi_Temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1967 +Image 1967 +Informations générales 1967 +Informations sur les champs 1969 +Code 1985 +Code des champs 1985 +Procédures 1990 +FEN_Calendrier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1993 +Image 1993 +Informations générales 1993 +Informations sur les champs 1995 +Code 1996 +Code des champs 1996 +FEN_Fiche_Suivi_Temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1998 +Image 1998 +Informations générales 1998 +Informations sur les champs 2000 +Code 2039 +Code des champs 2039 +Procédures 2053 +FEN_Fiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2056 +Image 2056 +Informations générales 2056 +Informations sur les champs 2058 +06/08/2026 Batik 6440 + +Partie 8 › Table des matières +Code 2068 +Code des champs 2069 +Procédures 2072 +FEN_Fiche_Adresse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2073 +Image 2073 +Informations générales 2073 +Informations sur les champs 2075 +Code 2117 +Code des champs 2117 +Procédures 2134 +FEN_Fiche_Dossier_Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2137 +Image 2137 +Informations générales 2137 +Informations sur les champs 2139 +Informations sur les menus 2219 +Code 2222 +Code des champs 2222 +Procédures 2254 +FEN_Parametres_Visualisation_RDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2266 +Image 2266 +Informations générales 2266 +Informations sur les champs 2268 +Code 2331 +Code des champs 2331 +Procédures 2359 +FEN_Parametre_Liste_Colb_AGD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2362 +Image 2362 +Informations générales 2362 +Informations sur les champs 2364 +Code 2420 +Code des champs 2421 +Procédures 2442 +FEN_Texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2456 +Image 2456 +Informations générales 2456 +Informations sur les champs 2458 +Code 2470 +Code des champs 2470 +FEN_Fiche_Modele_Rapport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 +Image 2475 +Informations générales 2475 +Informations sur les champs 2477 +Code 2506 +Code des champs 2506 +Procédures 2514 +FEN_Liste_Modele_Rapports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2518 +Image 2518 +06/08/2026 Batik 6441 + +Partie 8 › Table des matières +Informations générales 2518 +Informations sur les champs 2520 +Informations sur les menus 2534 +Code 2535 +Code des champs 2535 +Procédures 2540 +FEN_Mot_Cle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 +Image 2543 +Informations générales 2543 +Informations sur les champs 2545 +Code 2563 +Code des champs 2563 +Procédures 2570 +FEN_Fiche_Modele_Mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 +Image 2572 +Informations générales 2572 +Informations sur les champs 2574 +Code 2605 +Code des champs 2606 +Procédures 2615 +FEN_Liste_Modele_Mails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2619 +Image 2619 +Informations générales 2619 +Informations sur les champs 2621 +Informations sur les menus 2635 +Code 2636 +Code des champs 2636 +Procédures 2641 +FEN_Rapport_Document_Inter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2644 +Image 2644 +Informations générales 2644 +Informations sur les champs 2646 +Code 2669 +Code des champs 2670 +Procédures 2676 +FEN_Email_Nouveau_Inter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2680 +Image 2680 +Informations générales 2680 +Informations sur les champs 2682 +Code 2720 +Code des champs 2720 +Procédures 2738 +FEN_Creation_Doc_Rub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2746 +Image 2746 +Informations générales 2755 +Informations sur les champs 2757 +Code 2847 +06/08/2026 Batik 6442 + +Partie 8 › Table des matières +Code des champs 2848 +Procédures 2862 +FEN_Emails_Contact_Inter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2893 +Image 2893 +Informations générales 2893 +Informations sur les champs 2895 +Code 2912 +Code des champs 2912 +Procédures 2917 +FEN_Parametre_Structure_Chemin_Doc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2920 +Image 2920 +Informations générales 2920 +Informations sur les champs 2922 +Code 2947 +Code des champs 2948 +Procédures 2956 +FEN_Fiche_Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2959 +Image 2959 +Informations générales 2959 +Informations sur les champs 2961 +Code 3004 +Code des champs 3004 +Procédures 3019 +FEN_Liste_Documents_Inter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3024 +Image 3024 +Informations générales 3024 +Informations sur les champs 3026 +Code 3045 +Code des champs 3045 +Procédures 3048 +FEN_Email_Inter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3051 +Image 3051 +Informations générales 3051 +Informations sur les champs 3053 +Code 3079 +Code des champs 3079 +Procédures 3090 +FEN_Recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3092 +Image 3092 +Informations générales 3092 +Informations sur les champs 3094 +Code 3110 +Code des champs 3111 +Procédures 3114 +FEN_Fiche_Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3116 +Image 3116 +Informations générales 3116 +06/08/2026 Batik 6443 + +Partie 8 › Table des matières +Informations sur les champs 3118 +Code 3140 +Code des champs 3140 +Procédures 3148 +FEN_Tableau_Bord_Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3150 +Image 3150 +Informations générales 3150 +Informations sur les champs 3152 +Informations sur les menus 3165 +Code 3165 +Code des champs 3166 +Procédures 3171 +FEN_Theme_Colb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3175 +Image 3175 +Informations générales 3175 +Informations sur les champs 3177 +Code 3189 +Code des champs 3189 +Procédures 3193 +FEN_Param_Fiche_Dossier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3195 +Image 3195 +Informations générales 3195 +Informations sur les champs 3197 +Code 3219 +Code des champs 3219 +Procédures 3227 +FEN_CompteRendus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3229 +Image 3229 +Informations générales 3229 +Informations sur les champs 3231 +Code 3265 +Code des champs 3265 +Procédures 3276 +FEN_Etats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3277 +Image 3277 +Informations générales 3277 +Informations sur les champs 3279 +Code 3296 +Code des champs 3296 +Procédures 3302 +FEN_RDV_Attente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3305 +Image 3305 +Informations générales 3305 +Informations sur les champs 3307 +Informations sur les menus 3324 +Code 3325 +Code des champs 3325 +06/08/2026 Batik 6444 + +Partie 8 › Table des matières +Procédures 3329 +FEN_Menu_Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3333 +Image 3333 +Informations générales 3333 +Informations sur les champs 3335 +Informations sur les menus 3394 +Code 3394 +Code des champs 3395 +Procédures 3427 +FEN_MaJ_Donnees_Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3428 +Image 3428 +Informations générales 3428 +Informations sur les champs 3430 +Code 3439 +Code des champs 3440 +Procédures 3442 +FEN_DocAide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3447 +Image 3447 +Informations générales 3447 +Informations sur les champs 3449 +Code 3484 +Code des champs 3484 +Procédures 3496 +FEN_DocFenetre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3499 +Image 3499 +Informations générales 3499 +Informations sur les champs 3501 +Code 3512 +Code des champs 3512 +FEN_Exporter_Temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3516 +Image 3516 +Informations générales 3516 +Informations sur les champs 3518 +Messages multilingues 3541 +Code 3541 +Code des champs 3541 +Procédures 3550 +FEN_Filtre_Dossier_Widget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3561 +Image 3561 +Informations générales 3561 +Informations sur les champs 3563 +Code 3694 +Code des champs 3694 +Procédures 3745 +FEN_Parametres_Base_Ext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3750 +Image 3750 +Informations générales 3750 +06/08/2026 Batik 6445 + +Partie 8 › Table des matières +Informations sur les champs 3752 +Code 3777 +Code des champs 3778 +Procédures 3785 +FEN_ExportExcel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3787 +Image 3787 +Informations générales 3789 +Informations sur les champs 3791 +Code 3892 +Code des champs 3892 +Procédures 3926 +FI_Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3930 +Image 3930 +Informations générales 3930 +Informations sur les champs 3932 +Code des champs 3936 +Procédures 3939 +FI_Agenda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3945 +Image 3945 +Informations générales 3945 +Informations sur les champs 3947 +Code des champs 3949 +Procédures 3951 +FI_RDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3953 +Image 3953 +Informations générales 3953 +Informations sur les champs 3954 +Code des champs 3959 +FI_Liste_Collaborateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3960 +Image 3960 +Informations générales 3960 +Informations sur les champs 3962 +Informations sur les menus 4035 +Code des champs 4036 +Procédures 4059 +FI_Liste_Societes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4063 +Image 4063 +Informations générales 4063 +Informations sur les champs 4065 +Informations sur les menus 4081 +Code des champs 4082 +Procédures 4087 +FI_Liste_Dossier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4090 +Image 4090 +Informations générales 4090 +Informations sur les champs 4092 +Informations sur les menus 4191 +06/08/2026 Batik 6446 + +Partie 8 › Table des matières +Code des champs 4192 +Procédures 4231 +FI_TdB_Information_Inter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4235 +Image 4235 +Informations générales 4235 +Informations sur les champs 4237 +Informations sur les menus 4278 +Code des champs 4278 +Procédures 4296 +FI_TdB_Donneurs_Ordre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4300 +Image 4300 +Informations générales 4300 +Informations sur les champs 4301 +Informations sur les menus 4316 +Code des champs 4317 +Procédures 4322 +FI_TdB_Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4327 +Image 4327 +Informations générales 4327 +Informations sur les champs 4329 +Informations sur les menus 4353 +Code des champs 4353 +Procédures 4364 +FI_TdB_RDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4368 +Image 4368 +Informations générales 4368 +Informations sur les champs 4369 +Informations sur les menus 4387 +Code des champs 4388 +Procédures 4395 +FI_TdB_Historique_Etat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4400 +Image 4400 +Informations générales 4400 +Informations sur les champs 4401 +Informations sur les menus 4415 +Code des champs 4415 +Procédures 4420 +FI_TdB_ContactSite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4422 +Image 4422 +Informations générales 4422 +Informations sur les champs 4423 +Informations sur les menus 4440 +Code des champs 4441 +Procédures 4448 +FI_TdB_Suivi_Temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4453 +Image 4453 +Informations générales 4453 +06/08/2026 Batik 6447 + +Partie 8 › Table des matières +Informations sur les champs 4455 +Code des champs 4487 +Procédures 4498 +FI_TdB_Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4503 +Image 4503 +Informations générales 4503 +Informations sur les champs 4504 +Informations sur les menus 4517 +Code des champs 4518 +Procédures 4523 +FI_TdB_Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4526 +Image 4526 +Informations générales 4526 +Informations sur les champs 4528 +Informations sur les menus 4549 +Messages multilingues 4549 +Code des champs 4549 +Procédures 4557 +FI_TdB_Message_Externe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4566 +Image 4566 +Informations générales 4566 +Informations sur les champs 4567 +Informations sur les menus 4580 +Code des champs 4581 +Procédures 4586 +FI_TdB_Notes_Admin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4590 +Image 4590 +Informations générales 4590 +Informations sur les champs 4592 +Informations sur les menus 4603 +Code des champs 4604 +Procédures 4608 +FI_TdB_Rapports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4611 +Image 4611 +Informations générales 4611 +Informations sur les champs 4612 +Informations sur les menus 4627 +Code des champs 4628 +Procédures 4633 +FI_TdB_Note_Interne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4637 +Image 4637 +Informations générales 4637 +Informations sur les champs 4639 +Informations sur les menus 4650 +Code des champs 4651 +Procédures 4655 +FI_TdB_Compte_Rendus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4658 +06/08/2026 Batik 6448 + +Partie 8 › Table des matières +Image 4658 +Informations générales 4658 +Informations sur les champs 4659 +Code des champs 4672 +Procédures 4677 +FI_Liste_Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4678 +Image 4678 +Informations générales 4678 +Informations sur les champs 4680 +Informations sur les menus 4786 +Code des champs 4787 +Procédures 4830 +FI_Liste_Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4836 +Image 4836 +Informations générales 4836 +Informations sur les champs 4838 +Informations sur les menus 4923 +Code des champs 4923 +Procédures 4957 +FI_TdB_Liste_Site_Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4963 +Image 4963 +Informations générales 4963 +Informations sur les champs 4964 +Informations sur les menus 4979 +Code des champs 4980 +Procédures 4985 +FI_TdB_Liste_Site_Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4988 +Image 4988 +Informations générales 4988 +Informations sur les champs 4989 +Informations sur les menus 5004 +Code des champs 5004 +Procédures 5010 +FI_TdB_Contact_Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5015 +Image 5015 +Informations générales 5015 +Informations sur les champs 5016 +Informations sur les menus 5029 +Code des champs 5030 +Procédures 5035 +FI_TdB_Liste_Dossier_Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5039 +Image 5039 +Informations générales 5039 +Informations sur les champs 5041 +Informations sur les menus 5055 +Code des champs 5055 +Procédures 5060 +06/08/2026 Batik 6449 + +Partie 8 › Table des matières +FI_TdB_Fiche_Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5062 +Image 5062 +Informations générales 5062 +Informations sur les champs 5064 +Code des champs 5103 +Procédures 5120 +FI_TdB_Fiche_Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5127 +Image 5127 +Informations générales 5127 +Informations sur les champs 5129 +Informations sur les menus 5206 +Code des champs 5207 +Procédures 5241 +FI_Liste_Contact_Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5250 +Image 5250 +Informations générales 5250 +Informations sur les champs 5252 +Informations sur les menus 5265 +Code des champs 5266 +Procédures 5272 +FI_TdB_Liste_Client_Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5275 +Image 5275 +Informations générales 5275 +Informations sur les champs 5276 +Informations sur les menus 5289 +Code des champs 5290 +Procédures 5295 +FI_TdB_Fiche_Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5298 +Image 5298 +Informations générales 5298 +Informations sur les champs 5300 +Code des champs 5351 +Procédures 5374 +FI_Liste_Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5377 +Image 5377 +Informations générales 5377 +Informations sur les champs 5379 +Informations sur les menus 5475 +Code des champs 5475 +Procédures 5513 +FI_Liste_Equipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5518 +Image 5518 +Informations générales 5518 +Informations sur les champs 5520 +Informations sur les menus 5557 +Code des champs 5557 +Procédures 5571 +06/08/2026 Batik 6450 + +Partie 8 › Table des matières +FI_Temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5574 +Image 5574 +Informations générales 5574 +Informations sur les champs 5575 +Code des champs 5580 +FI_TableauBordModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5581 +Image 5581 +Informations générales 5581 +Informations sur les champs 5583 +Code des champs 5586 +Procédures 5587 +FI_TableauBordModelInter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5589 +Image 5589 +Informations générales 5589 +Informations sur les champs 5591 +Code des champs 5594 +Procédures 5595 +FI_TableauBordModelClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5596 +Image 5596 +Informations générales 5596 +Informations sur les champs 5598 +Code des champs 5601 +Procédures 5602 +FI_TdB_Liste_Dossier_Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5603 +Image 5603 +Informations générales 5603 +Informations sur les champs 5605 +Informations sur les menus 5619 +Code des champs 5619 +Procédures 5624 +FI_TdB_Liste_Dossier_Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5626 +Image 5626 +Informations générales 5626 +Informations sur les champs 5628 +Informations sur les menus 5642 +Code des champs 5642 +Procédures 5647 +FI_TableauBordModelContact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5649 +Image 5649 +Informations générales 5649 +Informations sur les champs 5651 +Code des champs 5654 +Procédures 5655 +FI_TableauBordModelSite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5656 +Image 5656 +Informations générales 5656 +Informations sur les champs 5658 +06/08/2026 Batik 6451 + +Partie 8 › Table des matières +Code des champs 5661 +Procédures 5662 +FI_Ele_Inter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5663 +Image 5663 +Informations générales 5663 +Informations sur les champs 5665 +Code des champs 5679 +Procédures 5684 +FI_Ele_Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5686 +Image 5686 +Informations générales 5686 +Informations sur les champs 5688 +Code des champs 5701 +Procédures 5705 +FI_Ele_Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5708 +Image 5708 +Informations générales 5708 +Informations sur les champs 5710 +Code des champs 5723 +Procédures 5727 +FI_Ele_Personne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5730 +Image 5730 +Informations générales 5730 +Informations sur les champs 5732 +Code des champs 5745 +Procédures 5749 +FI_Ele_RDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5752 +Image 5752 +Informations générales 5752 +Informations sur les champs 5754 +Code des champs 5769 +Procédures 5773 +FI_TableauBordModelMenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5777 +Image 5777 +Informations générales 5777 +Informations sur les champs 5779 +Code des champs 5782 +Procédures 5783 +FI_TableauBordModelSansParam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5784 +Image 5784 +Informations générales 5784 +Informations sur les champs 5786 +Code des champs 5789 +Procédures 5790 +FI_Ele_RDV_Attente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5792 +Image 5792 +Informations générales 5792 +06/08/2026 Batik 6452 + +Partie 8 › Table des matières +Informations sur les champs 5794 +Informations sur les menus 5810 +Code des champs 5810 +Procédures 5815 +FI_Ele_Inter_Filtres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5819 +Image 5819 +Informations générales 5819 +Informations sur les champs 5821 +Informations sur les menus 5839 +Code des champs 5839 +Procédures 5844 +FI_Configuration_BaseExt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5849 +Image 5849 +Informations générales 5849 +Informations sur les champs 5851 +Code des champs 5875 +Procédures 5885 +Partie 4 Modèle fenêtre WINDEV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5887 +FENMOD_Fiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5887 +Image 5887 +Informations générales 5887 +Informations sur les champs 5889 +Code 5895 +Code des champs 5896 +MDLC_Saisie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5898 +Image 5898 +Informations générales 5898 +Informations sur les champs 5899 +Code des champs 5902 +MDLC_ChoixCombo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5904 +Image 5904 +Informations générales 5904 +Informations sur les champs 5905 +Code des champs 5909 +MDLC_ChoixJetonsCombo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5911 +Image 5911 +Informations générales 5911 +Informations sur les champs 5912 +Code des champs 5918 +MDLC_ChoixBoolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5920 +Image 5920 +Informations générales 5920 +Informations sur les champs 5921 +Code des champs 5925 +MDLC_ChoixTexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5927 +06/08/2026 Batik 6453 + +Partie 8 › Table des matières +Image 5927 +Informations générales 5927 +Informations sur les champs 5928 +Code des champs 5932 +MDLC_Combo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5934 +Image 5934 +Informations générales 5934 +Informations sur les champs 5935 +Code des champs 5938 +MDLC_SaisieSansModif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5939 +Image 5939 +Informations générales 5939 +Informations sur les champs 5940 +Code des champs 5943 +MDLC_Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5945 +Image 5945 +Informations générales 5945 +Informations sur les champs 5946 +Code des champs 5949 +MDLC_Div . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5951 +Image 5951 +Informations générales 5951 +Informations sur les champs 5953 +Code des champs 5954 +MDLC_TitreFen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5956 +Image 5956 +Informations générales 5956 +Informations sur les champs 5957 +Code des champs 5963 +MDLC_SaisieMultiligne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5965 +Image 5965 +Informations générales 5965 +Informations sur les champs 5966 +Code des champs 5969 +MDLC_Jetons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5971 +Image 5971 +Informations générales 5971 +Informations sur les champs 5972 +Code des champs 5975 +MDLC_Boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5977 +Image 5977 +Informations générales 5977 +Informations sur les champs 5978 +Code des champs 5981 +MDLC_Memo_RFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5982 +Image 5982 +06/08/2026 Batik 6454 + +Partie 8 › Table des matières +Informations générales 5982 +Informations sur les champs 5983 +Code des champs 5986 +MDLC_LibTitreWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5988 +Image 5988 +Informations générales 5988 +Informations sur les champs 5989 +Code des champs 5991 +MDLC_LibNormal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5993 +Image 5993 +Informations générales 5993 +Informations sur les champs 5994 +Code des champs 5996 +MDLC_OngletFiches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5998 +Image 5998 +Informations générales 5998 +Informations sur les champs 6000 +Code des champs 6002 +MDLC_Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6003 +Image 6003 +Informations générales 6003 +Informations sur les champs 6004 +Code des champs 6008 +MDLC_LigneSepWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6010 +Image 6010 +Informations générales 6010 +Informations sur les champs 6011 +MDLC_Tableau_Bord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6014 +Image 6014 +Informations générales 6014 +Informations sur les champs 6016 +Code des champs 6018 +MDLC_BTN_Valider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6019 +Image 6019 +Informations générales 6019 +Informations sur les champs 6020 +Code des champs 6023 +MDLC_BTN_Annuler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6024 +Image 6024 +Informations générales 6024 +Informations sur les champs 6025 +Code des champs 6028 +MDLC_TdB_Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6029 +Image 6029 +Informations générales 6029 +Informations sur les champs 6031 +06/08/2026 Batik 6455 + +Partie 8 › Table des matières +Code des champs 6033 +MDLC_HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6034 +Image 6034 +Informations générales 6034 +Informations sur les champs 6036 +Code des champs 6038 +MDLC_BoutonIconeRouge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6039 +Image 6039 +Informations générales 6039 +Informations sur les champs 6040 +Code des champs 6042 +MDLC_BoutonIcone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6044 +Image 6044 +Informations générales 6044 +Informations sur les champs 6045 +Code des champs 6047 +MDLC_BoutonIconeWidgetTitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6049 +Image 6049 +Informations générales 6049 +Informations sur les champs 6050 +Code des champs 6052 +MDLC_ComboSansModif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6054 +Image 6054 +Informations générales 6054 +Informations sur les champs 6055 +Code des champs 6058 +MDLC_Segmente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6059 +Image 6059 +Informations générales 6059 +Informations sur les champs 6060 +Code des champs 6062 +MDLC_Horaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6064 +Image 6064 +Informations générales 6064 +Informations sur les champs 6065 +Code des champs 6069 +MDLC_OngletDynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6073 +Image 6073 +Informations générales 6073 +Informations sur les champs 6075 +Code des champs 6077 +MDLC_Sel2Choix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6078 +Image 6078 +Informations générales 6078 +Informations sur les champs 6079 +Code des champs 6082 +06/08/2026 Batik 6456 + +Partie 8 › Table des matières +MDLC_DivBTN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6083 +Image 6083 +Informations générales 6083 +Informations sur les champs 6084 +Code des champs 6089 +MDLC_SaisieSansModifBlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6092 +Image 6092 +Informations générales 6092 +Informations sur les champs 6093 +Code des champs 6096 +MDLC_ChampDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6098 +Image 6098 +Informations générales 6098 +Informations sur les champs 6099 +Code des champs 6104 +Partie 5 Etat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6107 +ETAT_FicheDeplacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6107 +Image 6107 +Informations générales 6107 +Informations sur les champs 6108 +Code 6111 +Code des champs 6111 +ETAT_FicheIntervention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6112 +Image 6112 +Informations générales 6112 +Informations sur les champs 6113 +Code 6115 +ETAT_GAP_FicheDeplacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6116 +Image 6116 +Informations générales 6117 +Informations sur les champs 6117 +Code 6120 +Code des champs 6120 +ETAT_SLAMM_FicheDeplacement_2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6121 +Image 6121 +Informations générales 6122 +Informations sur les champs 6122 +Code 6125 +Code des champs 6125 +ETAT_SLAMM_FicheDeplacement_1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6126 +Image 6126 +Informations générales 6127 +Informations sur les champs 6127 +Code 6130 +Code des champs 6130 +06/08/2026 Batik 6457 + +Partie 8 › Table des matières +ETAT_SLAMM_FicheDeplacement_3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6131 +Image 6131 +Informations générales 6132 +Informations sur les champs 6132 +Code 6135 +Code des champs 6135 +ETAT_SLAMM_FicheDeplacement_4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6136 +Image 6136 +Informations générales 6136 +Informations sur les champs 6137 +Code 6140 +Code des champs 6140 +ETAT_SLAMM_FicheIntervention_1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6141 +Image 6141 +Informations générales 6142 +Informations sur les champs 6142 +Code 6145 +Code des champs 6145 +ETAT_SLAMM_FicheIntervention_2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6146 +Image 6146 +Informations générales 6147 +Informations sur les champs 6147 +Code 6150 +Code des champs 6150 +ETAT_SLAMM_FicheIntervention_3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6151 +Image 6151 +Informations générales 6152 +Informations sur les champs 6152 +Code 6155 +Code des champs 6155 +ETAT_SLAMM_FicheIntervention_4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6156 +Image 6156 +Informations générales 6156 +Informations sur les champs 6157 +Code 6159 +Code des champs 6159 +Partie 6 Classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6161 +ErreurApp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6161 +Messages multilingues 6161 +Code 6161 +ConnexionHFSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6163 +Code 6163 +MUtilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6168 +Code 6168 +06/08/2026 Batik 6458 + +Partie 8 › Table des matières +MCollaborateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6174 +Code 6174 +Droit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6179 +Code 6179 +MParametreMetier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6180 +Code 6180 +MSociete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6181 +Code 6181 +MParametreUtilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6184 +Code 6184 +InfoBlocage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6186 +Code 6186 +Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6187 +Code 6187 +MIntervention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6193 +Code 6193 +MDossier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6196 +Code 6196 +MClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6200 +Code 6200 +MCompteRendu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6204 +Code 6204 +MContact_Inter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6206 +Code 6206 +MPersonne_Ct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6208 +Code 6208 +MAction_Inter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6211 +Code 6211 +MEtat_Intervention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6213 +Code 6213 +MMessageInterne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6216 +Code 6216 +MMessage_Externe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6218 +Code 6218 +MRDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6220 +Code 6220 +MDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6224 +Code 6224 +MLieu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6226 +Code 6226 +MAdresse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6229 +Code 6229 +MSuiviTemps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6231 +06/08/2026 Batik 6459 + +Partie 8 › Table des matières +Code 6231 +MContact_Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6233 +Code 6233 +MEquipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6235 +Code 6235 +MRole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6237 +Code 6237 +MCategorieAcces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6240 +Code 6240 +MAcces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6241 +Code 6241 +MAdresseClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6242 +Code 6242 +MParametreAppli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6244 +Code 6244 +MRubriqueDoc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6245 +Code 6245 +MModeleRapport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6247 +Code 6247 +MModeleMail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6248 +Code 6248 +cPressePapier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6249 +Code 6249 +MDocNote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6255 +Code 6255 +MElementModifie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6256 +Code 6256 +MRDV_Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6257 +Code 6257 +MRDV_Colb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6259 +Code 6259 +MRDV_Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6260 +Code 6260 +MEtat_Deplacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6261 +Code 6261 +MEtatIntervention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6265 +Code 6265 +MEtats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6267 +Code 6267 +MDocAide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6268 +Code 6268 +MConnexionBaseExt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6269 +Code 6269 +06/08/2026 Batik 6460 + +Partie 8 › Table des matières +Partie 7 Collection de procédures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6271 +Lib_UI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6271 +Code 6271 +Lib_Parametres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6273 +Code 6273 +Lib_Email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6279 +Code 6279 +Lib_DroitsAcces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6284 +Code 6284 +Lib_AppMobile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6285 +Code 6285 +Lib_InitProjet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6287 +Code 6287 +Lib_Champs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6294 +Code 6294 +Lib_Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6299 +Code 6299 +Lib_Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6304 +Code 6304 +Lib_Commun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6343 +Code 6343 +Lib_Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6356 +Code 6356 +Lib_JSON_INFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6370 +Code 6370 +LIB_HFSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6371 +Code 6371 +LIB_ConstantesGlobal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6375 +Code 6375 +LIB_Batigest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6377 +Code 6377 +LIB_VisitesGuidées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6384 +Code 6384 +LIB_Surveille . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6393 +Code 6393 +LIB_RubMailRapport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6396 +Code 6396 +LIB_Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6406 +Code 6406 +LIB_ElementsModifies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6416 +Code 6416 +06/08/2026 Batik 6461 + +Partie 8 › Table des matières +LIB_TypeChamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6421 +Code 6421 +LIB_Aide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6430 +Code 6430 +06/08/2026 Batik 6462 \ No newline at end of file diff --git a/docs/PublierPosteDEV.docx b/docs/PublierPosteDEV.docx new file mode 100644 index 0000000..fab2ef9 Binary files /dev/null and b/docs/PublierPosteDEV.docx differ diff --git a/docs/RECETTE_ANDROID_AUDIT.md b/docs/RECETTE_ANDROID_AUDIT.md new file mode 100644 index 0000000..f6dbf53 --- /dev/null +++ b/docs/RECETTE_ANDROID_AUDIT.md @@ -0,0 +1,283 @@ +# RECETTE ANDROID — AUDIT AVANT MODIFICATION (OBJECTIF 0 / §17) + +> Projet : `D:\Avalonia\Omika` — Base OMIKA réelle. Aucun fichier modifié au stade d'audit. +> Ce document est le livrable de l'audit préalable. Les correctifs ne sont appliqués qu'après validation. + +## Sommaire + +1. [Architecture rappelée](#architecture) +2. [Tableau de synthèse des problèmes](#tableau) +3. [Cause exacte par problème](#causes) +4. [Classification](#classification) +5. [Preuve de non-régression Batik](#batik) +6. [Routes HTTP appelées](#routes) +7. [Requêtes SQL concernées](#sql) +8. [Inventaire des icônes à remplacer](#icones) +9. [Propositions de SVG monochrome](#svg) + +<a name="architecture"></a> +## 1. Architecture rappelée + +- **Mobile** (`src/Omika.App.Local`) : offline-first sur SQLite, synchronisé avec l'API via `MobileApiClient`. +- **API** (`src/Omika.Api`) : endpoints REST, sélection de base `Batik`/`Omika` via `ApplicationRuntimeContext.Current.DetectedVersion`. +- **Données** (`src/Omika.Data`) : repositories `Adaptive*` qui délèguent à `Batik*Repository` (schéma historique) ou `Omika*Repository` (schéma physique Omika). Les mappers (`Mapping/Omika`, `Mapping/Batik`) produisent le modèle canonique. +- **Identité publique** : GUID. Omika → GUID physique (colonne `GUID`). Batik → GUID synthétique réversible (`MobileEntityIdentityResolver`). +- **UI** (`src/Omika.App`) : Avalonia, thèmes clair/sombre via `DesignTokens.axaml` (clés `DynamicResource`). + +<a name="tableau"></a> +## 2. Tableau de synthèse + +| # | PROBLÈME | SYMPTÔME | COUCHE | FICHIER(S) | CAUSE EXACTE | SPÉCIFIQUE OMIKA ? | BATIK IMPACTÉ ? | CORRECTION PROPOSÉE | +|---|---|---|---|---|---|---|---|---| +| 1 | Carte OSM bloquée | 403 / "volunteer-run servers" | ANDROID/UI (tuiles) | `Controls/LieuMap.axaml.cs:97` | `OpenStreetMap.CreateTileLayer()` (Mapsui) utilise un HttpClient sans User-Agent identifiant Omika | NON | NON (commun) | Tile source custom avec User-Agent + cache + attribution ; fallback adresse+Itinéraire | +| 2 | Icônes hétérogènes | Emoji/Unicode/couleurs | UI | multiples (cf. §8) | Emoji/Unicode et couleurs codées en dur | NON | NON | Standardiser en Path monochrome + `DynamicResource` | +| 3 | Boutons entête intervention | fond blanc massif | UI | `Views/RendezVousDetailView.axaml:120-139` | `Background=OnPrimaryColorBrush` (blanc) + emoji `⌖ ⚒ ▧` | NON | NON | Style translucide + SVG monochrome | +| 4 | Agenda équipe : icône groupe | bleue/multicolore | UI | `Views/AgendaView.axaml:377` (`👥`) | emoji `👥` utilisé comme icône de groupe (pas dans `AgendaEquipeView` qui n'a pas d'icône) | NON | NON | Remplacer par SVG/Path monochrome | +| 5 | RDV→intervention introuvable | "Intervention introuvable." | OMIKA DATA / API | `OmikaRendezVousRepository`, `MobileSnapshotService`, `OmikaInterventionRepository.GetDetailsAsync` | (voir §3.5) | OUI | NON | Corriger le mapping/guid Omika | +| 6A | Note CreationUser=0 | CreationUser=0 en base | API / OMIKA DATA | `OmikaInterventionRepository.ResolveCreationUserAsync:1560` | token `CollaborateurId` = PK numérique licence ; `ResolveCreationUserAsync` attend un GUID | OUI | NON | Résoudre l'utilisateur depuis l'identité token (UserId/UT_PKID ou PK numérique) | +| 6B | Compteur notes = 0 | "0 note(s)" | LOCAL/API | `InterventionDetailViewModel.RefreshFromApiAsync` | compteur = `Notes.Count` chargé en arrière-plan via API ; échec/guid → vide | OUI (lié #5) | NON | même cause que #5 + retry | +| 7 | Compteur images/documents = 0 | "0 fichier(s)" | API / OMIKA DATA | `MobileDocumentService.GetByInterventionAsync` + `OmikaDocumentRepository` | résolution guid intervention / filtre catégorie | OUI | NON | même cause que #5 + vérif filtre | +| 8 | Écran Images/Documents | titre redondant + bouton coupé | UI | `Views/InterventionResourcesView.axaml:37,73` | `TextBlock "Images"` redondant + `StackPanel Orientation=Horizontal` non responsive | NON | NON | Supprimer titre + WrapPanel | +| 9 | Création email 404 | 404 modèles courriel | API | `MobileApiClient.cs:761` + `ModeleDocumentEndpoints.cs:18` | **Slash final manquant** : mobile appelle `GET /modele-mails`, API enregistre `GET /modele-mails/` (`MapGroup("/modele-mails").MapGet("/")`) | NON (route commune) | NON (corrigé pour les 2) | `MapGet("/")` → `MapGet("")` (ou slash final côté mobile) | +| 10 | Rapports 404 | 404 modèles rapport | API | `MobileApiClient.cs:771` + `ModeleDocumentEndpoints.cs:28` | **Slash final manquant** : `GET /modele-rapports` vs `GET /modele-rapports/` | NON | NON | idem #9 | +| 11 | Bouton téléphone inopérant | rien ne se lance | ANDROID | `Services/PlatformPhoneLauncher.cs` | `TopLevel.Launcher.LaunchUriAsync` (ACTION_VIEW) ≠ ACTION_DIAL | NON | NON | Launcher Android `ACTION_DIAL` (tel:) | +| 12 | Bouton email inopérant | aucun client mail | ANDROID | `Services/PlatformEmailLauncher.cs` | `LaunchUriAsync` générique ≠ ACTION_SENDTO | NON | NON | Launcher Android `ACTION_SENDTO` (mailto:) | +| 13 | Fiche équipe/collaborateurs responsive | email sur plusieurs lignes, cartes hautes | UI | `CollaborateursView`, `CollaborateurDetailView`, `EquipeDetailView` | layout non responsive | NON | NON | Réorganiser grille responsive | +| 14 | Messages d'erreur techniques | "Response status code…404" affiché | UI | `NouveauEmailViewModel`, `RapportChampsViewModel` | `ErrorMessage = ex.Message` brut | NON | NON | Message utilisateur propre + log technique | + +<a name="causes"></a> +## 3. Cause exacte par problème + +### 3.1 Carte OpenStreetMap bloquée +- `LieuMap.axaml.cs:97` appelle `OpenStreetMap.CreateTileLayer()` (Mapsui). Le `HttpTileSource` par défaut de Mapsui charge `https://tile.openstreetmap.org/{z}/{x}/{y}.png` via un `HttpClient` **sans User-Agent identifiant Omika** → OSM rejette avec 403 (« volunteer-run servers »). +- Le géocodeur `AddressGeocoder` (Nominatim) a déjà un User-Agent correct (`Omika-Mobile/1.0`), mais pas le chargement des tuiles. +- Pas de cache de tuiles configuré, pas d'attribution OSM visible, pas de fallback propre : l'image 403 brute est affichée. + +### 3.5 RDV → « Ouvrir l'intervention » → introuvable +Flux tracé (lecture de code) : +1. `RendezVousDetailViewModel.OpenIntervention` → navigation avec `RendezVous.InterventionGuid` (GUID). +2. `AgendaItem.InterventionGuid` ← `AgendaService.MapToAgendaItem` ← `RendezVousDetailsDto.InterventionId`. +3. `RendezVousDetailsDto.InterventionId` ← `MobileSnapshotService.MapRendezVous` ← `MobileIdentityMapper.ResolveIdString(Intervention, dto.InterventionSourceReference)`. +4. `InterventionSourceReference` ← `OmikaRendezVousMapper` : `{ NumericId: RV_IdInter, EntityGuid: ResolveGuid(interventionGuids, RV_IdInter) }`. +5. Pour Omika, `MobileEntityIdentityResolver.CreateOmikaIdentity` retourne `physical.Guid`. Si `EntityGuid` est null (GUID intervention non résolu), `CreateOmikaIdentity` **lève `InvalidOperationException`** (« aucun GUID physique fourni »). +6. Navigation → `InterventionLocalService.GetInterventionByIdAsync(Guid)` → API `GET /interventions/{guid}` → `OmikaInterventionRepository.GetDetailsAsync` (GUID → `GUID IN (...)`). + +**Conclusion de la trace statique (chaîne vérifiée de bout en bout)** : la chaîne d'identité est **correcte** pour Omika : +- `OmikaRendezVousMapper` résout `InterventionSourceReference = { NumericId: RV_IdInter, EntityGuid: Intervention.GUID }` en bulk (`LoadInterventionGuidsAsync`, requête `IN_PKID IN (...)`). +- `MobileSnapshotService.MapRendezVous` → `ResolveIdString` → `CreateOmikaIdentity` retourne le GUID physique. +- `AgendaItem.InterventionGuid` = ce GUID ; navigation → API `GET /interventions/{guid}` → `GetDetailsAsync` (GUID) ; repli local sur la table snapshot `Intervention` (peuplée par `SnapshotApplier` à partir de `LoadInterventionsForRendezVousAsync`, clé = GUID canonique). +- `PhysicalGuidParser.GetStorageCandidates` couvre les formes D / N / D-tronquée. + +**Déclencheur exact restant = niveau données** (à confirmer par les logs temporaires demandés au §5 de la recette) : +- soit `RV_IdInter` pointe vers une intervention dont la colonne `GUID` est NULL/invalide (→ `EntityGuid` null → `CreateOmikaIdentity` lèverait, OU `InterventionId` null) ; +- soit l'intervention référencée n'existe pas dans `Intervention` (référence orpheline) ; +- soit un écart de format GUID entre `RV_IdInter→GUID` et l'`Intervention.GUID` réel (byte-order HFSQL). + +**Logs temporaires à poser (correction #5)** : `RDV_PKID`, `RDV GUID`, `RV_IdInter`, `Intervention.GUID` résolu, `InterventionGuid` envoyé à la navigation (type + valeur), requête SQL utilisée, résultat. Aucun `IN_NumIntervention` ne doit être réintroduit. + +Les compteurs #6B et #7 passent par les mêmes endpoints API (`GET /api/interventions/{guid}/notes`, `GET /api/interventions/{guid}/documents`) : si la résolution d'intervention échoue, listes vides → « 0 note(s) » / « 0 fichier(s) ». #7 a en plus un filtre par catégories de document (`BuildAllowedDocumentCategories` + `IsCategoryAllowed`) qui peut vider la liste si le profil n'a pas le droit `A.DOC.*` correspondant. + +### 3.6A Note CreationUser = 0 +- Endpoint `AddNoteForInterventionAsync` (`InterventionEndpoints.cs:427`) transmet `httpContext.GetMobileIdentity()?.CollaborateurId` à `InterventionService.AddNoteAsync` → `ResolveCreationUserAsync(collaborateurId)`. +- En **production**, `LicenseEndpoints.BuildSession` (`LicenseEndpoints.cs:72`) pose `CollaborateurId = response.CollaborateurId` = `licence.CollaborateurId.ToString()` (PK numérique du collaborateur, cf. `LicenseService.BuildSuccessAsync:404`). +- `OmikaInterventionRepository.ResolveCreationUserAsync` (`:1560`) fait `Guid.TryParse(collaborateurGuid, out Guid)` : une valeur numérique **échoue** → retour `0` → `CreationUser = 0`. +- `BatikInterventionRepository.ResolveCreationUserAsync` (`:1513`) décode un GUID synthétique Batik : une valeur numérique échoue aussi (`Guid.TryParse` → 0). +- **Racine** : incohérence de type entre la claim `CollaborateurId` du token (numérique en prod) et l'API de `ResolveCreationUserAsync` (attend un GUID). + +### 3.9 / 3.10 Email / Rapport 404 — CAUSE EXACTE CONFIRMÉE +- **Slash final manquant.** `MobileApiClient.GetModeleMailsAsync` appelle `GET {BaseUrl}/modele-mails` (sans slash), mais l'API enregistre la route `GET /modele-mails/` (avec slash) via `MapGroup("/modele-mails").MapGet("/")` (`ModeleDocumentEndpoints.cs:18`). En ASP.NET Core minimal API, `MapGroup("/x").MapGet("/")` produit `/x/` et **ne matche pas** `/x` → 404. +- Idem `GetModeleRapportsAsync` → `GET /modele-rapports` vs `GET /modele-rapports/` (`ModeleDocumentEndpoints.cs:28`). +- Les autres routes auditées (`/mot-clefs`, `/generation/email`, `/generation/rapport`, `/api/rapports/champs`, `/api/mails/champs`, `/api/mails`, `/api/mails/apercu`, `/api/rapports`) matchent **exactement**. Le préfixe `/api` est cohérent, les routes sont bien enregistrées (`Program.cs:243-244`), et `MobileAuthMiddleware` ne renvoie jamais 404. +- **Correction** : `MapGet("/")` → `MapGet("")` dans `ModeleDocumentEndpoints` (canonique, fait matcher `/modele-mails` sans slash) — sans impact Batik (route schéma-agnostique, corrige les deux schémas). Alternative : ajouter le slash final dans `MobileApiClient` (l.761/771). +- Référence historique `Mail_Modele` / `ModeleRapport WHERE MRP_EnvoiMob=1` → routes REST actuelles (cf. `docs/modeles-email-rapport.md`). + +### 3.11 / 3.12 Téléphone / Email inopérants +- `PlatformPhoneLauncher.DialAsync` et `PlatformEmailLauncher.ComposeAsync` utilisent `TopLevel.Launcher.LaunchUriAsync(uri)` (launcher générique Avalonia). Sur Android, ce launcher utilise `ACTION_VIEW`, qui **ne lance pas le composeur natif** (tel:) ni le client mail de façon fiable. +- Aucun launcher Android spécifique n'existe (`src/Omika.App.Android` ne contient pas de Phone/Email launcher). +- Les ViewModels ignorent le retour `bool` : aucun message si aucun handler n'est disponible. + +### 3.14 Messages d'erreur techniques +- `NouveauEmailViewModel.LoadAsync` et `RapportChampsViewModel.LoadAsync` font `catch (Exception ex) { ErrorMessage = ex.Message; }` ; `EnsureSuccessStatusCode()` lève `HttpRequestException` dont le message brut (« Response status code does not indicate success: 404 (Not Found). ») est affiché tel quel. + +<a name="classification"></a> +## 4. Classification + +| # | Classification | +|---|---| +| 1 | ANDROID/UI (commun, non spécifique données) | +| 2 | UI | +| 3 | UI | +| 4 | UI | +| 5 | OMIKA DATA + API (résolution identité intervention) | +| 6A | API + OMIKA DATA (résolution utilisateur) | +| 6B | LOCAL/API (compteur = source API) | +| 7 | API + OMIKA DATA (documents) | +| 8 | UI | +| 9 | API (route/déploiement) | +| 10 | API (route/déploiement) | +| 11 | ANDROID (launcher) | +| 12 | ANDROID (launcher) | +| 13 | UI | +| 14 | UI | + +<a name="batik"></a> +## 5. Preuve de non-régression Batik + +- Les corrections **UI/Android** (#1, #2, #3, #4, #8, #11, #12, #13, #14) ne touchent **aucune** requête Batik : elles portent sur les `.axaml`, les launchers Android et les messages d'erreur, partagés entre les deux schémas. +- Les corrections **données** (#5, #6A, #7, #9, #10) seront appliquées **uniquement** dans les providers/repositories/mappers **Omika** (`src/Omika.Data/Repositories/Omika/*`, `Mapping/Omika/*`) ou dans la couche d'identité commune, **sans modifier** `Batik*Repository` ni `Batik*Mapper`. +- `ResolveCreationUserAsync` Batik est déjà isolé dans `BatikInterventionRepository` ; sa correction éventuelle (acceptation du PK numérique) doit être faite symétriquement sans casser le décodage du GUID synthétique Batik (test à prévoir). +- Les routes API (#9, #10) sont communes : l'ajout d'un alias `/api/modele-mails` (si retenu) n'affecte pas le comportement Batik, qui utilise la même API. + +<a name="routes"></a> +## 6. Routes HTTP actuellement appelées (MobileApiClient → Omika.Api) + +| Méthode client | URL appelée | Route API | Match | +|---|---|---|---| +| GetModeleMailsAsync | `GET /modele-mails` | `ModeleDocumentEndpoints` `/modele-mails` | ✅ (préfixe sans `/api`) | +| GetModeleRapportsAsync | `GET /modele-rapports` | `ModeleDocumentEndpoints` `/modele-rapports` | ✅ | +| GetMotClefsAsync | `GET /mot-clefs` | `ModeleDocumentEndpoints` `/mot-clefs` | ✅ | +| GetEquipesAsync | `GET /equipes` | `EquipeEndpoints` `/equipes` | ✅ | +| GetAllEquipesAsync | `GET /equipes/all` | `EquipeEndpoints` `/equipes/all` | ✅ | +| GetCollaborateurByIdAsync | `GET /collaborateurs/{id}` | `CollaborateurEndpoints` | ✅ | +| GetRendezVousByIdAsync | `GET /rendez-vous/{id}` | `RendezVousEndpoints` | ✅ | +| GetInterventionByIdAsync | `GET /interventions/{id}` | `InterventionEndpoints` | ✅ | +| GetDossierByIdAsync | `GET /dossiers/{id}` | `DossierEndpoints` | ✅ | +| GetClientByIdAsync | `GET /clients/{id}` | `ClientEndpoints` | ✅ | +| GetSiteByIdAsync | `GET /sites/{id}` | `SiteEndpoints` | ✅ | +| GetContactByIdAsync | `GET /contacts/{id}` | `ContactEndpoints` | ✅ | +| GetCompteRenduByRendezVousAsync | `GET /rendez-vous/{id}/compte-rendu` | `CompteRenduEndpoints` | ✅ | +| GetNotesByInterventionAsync | `GET /api/interventions/{id}/notes` | `InterventionEndpoints` mobileGroup | ✅ | +| AddNoteByInterventionAsync | `POST /api/interventions/{id}/notes` | `InterventionEndpoints` mobileGroup | ✅ | +| GetDocumentsByInterventionAsync | `GET /api/interventions/{id}/documents` | `InterventionEndpoints` mobileGroup | ✅ | +| GetRendezVousByInterventionAsync | `GET /api/interventions/{id}/rendez-vous` | `InterventionEndpoints` mobileGroup | ✅ | +| GetEmailsByInterventionAsync | `GET /api/interventions/{id}/emails` | `InterventionEndpoints` mobileGroup | ✅ | +| AddEmailByInterventionAsync | `POST /api/interventions/{id}/emails` | `InterventionEndpoints` mobileGroup | ✅ | +| GetSmtpConfigurationsAsync | `GET /api/mails/configurations-smtp` | `RapportChampEndpoints` | ✅ | +| GetRapportChampsAsync | `POST /api/rapports/champs` | `RapportChampEndpoints` | ✅ | +| GetMailChampsAsync | `POST /api/mails/champs` | `RapportChampEndpoints` | ✅ | +| CreateEmailModeleAsync | `POST /api/mails` | `RapportChampEndpoints` | ✅ | +| GetEmailModeleApercuAsync | `POST /api/mails/apercu` | `RapportChampEndpoints` | ✅ | +| CreateRapportAsync | `POST /api/rapports` | `RapportChampEndpoints` | ✅ | +| GenerateEmailAsync | `POST /generation/email` | `ModeleDocumentEndpoints` | ✅ | +| GenerateRapportAsync | `POST /generation/rapport` | `ModeleDocumentEndpoints` | ✅ | +| SearchInterventionsAsync | `POST /api/interventions/search` | `InterventionEndpoints` mobileGroup | ✅ | +| GetInterventionsByIdsAsync | `POST /api/interventions/by-ids` | `InterventionEndpoints` mobileGroup | ✅ | +| SearchDossiersAsync | `GET /api/dossiers` | `DossierEndpoints` mobileGroup | ✅ | +| SearchClientsAsync | `GET /api/clients` | `ClientEndpoints` mobileGroup | ✅ | +| SearchSitesAsync | `GET /api/sites` | `SiteEndpoints` mobileGroup | ✅ | +| SearchCollaborateursAsync | `GET /collaborateurs` | `CollaborateurEndpoints` | ✅ (sans `/api`) | +| GetSuivisTempsAsync | `GET /api/suivis-temps` | `SuiviTempsEndpoints` | ✅ | +| GetBootstrapAsync | `GET /api/mobile/bootstrap` | `MobileBootstrapEndpoints` | ✅ | +| GetSnapshotAsync | `GET /api/sync/snapshot` | `SyncEndpoints` | ✅ | +| SendOperationAsync | `POST /api/sync/operations` | `SyncEndpoints` | ✅ | +| GetStatusAsync | `GET /api/sync/status/{id}` | `SyncEndpoints` | ✅ | +| ActivateAsync | `POST /api/license/activate` | `LicenseEndpoints` | ✅ | +| ValidateAsync | `POST /api/license/validate` | `LicenseEndpoints` | ✅ | +| GetDevelopmentSessionAsync | `POST /api/dev/session` | `DevelopmentAuthEndpoints` (Dev only) | ✅ | + +> **Incohérence constatée** : le mobile utilise un mélange de routes avec `/api` et sans `/api` (ex. `/modele-mails` sans préfixe vs `/api/mails`). Les routes « modèle » (`/modele-mails`, `/modele-rapports`, `/mot-clefs`, `/generation/*`) sont les seules sans `/api`. C'est cohérent avec le code API actuel mais fragile et à uniformiser. + +<a name="sql"></a> +## 7. Requêtes SQL concernées (côté API, base HFSQL) + +| Problème | Requête | +|---|---| +| #5 (intervention par GUID) | `SELECT … FROM Intervention WHERE GUID IN (?)` (formes D/N/tronquée via `PhysicalGuidParser.GetStorageCandidates`) — `OmikaInterventionRepository.GetDetailsAsync` | +| #5 (RDV→intervention) | `SELECT … FROM RDV_Planning … LEFT JOIN Intervention I ON RV.RV_IdInter = I.IN_PKID` (résolution bulk `RV_IdInter → Intervention.GUID`) — `OmikaRendezVousRepository` | +| #6A (user) | `SELECT Utilisateur.UT_PKID FROM Utilisateur INNER JOIN Collaborateur ON Collaborateur.CO_PKID = Utilisateur.UT_IDCollaborateur WHERE Collaborateur.GUID IN (?)` — `OmikaInterventionRepository.ResolveCreationUserAsync` | +| #6A (Batik) | `SELECT UT_PKID FROM Utilisateur WHERE UT_IDCollaborateur = ?` — `BatikInterventionRepository.ResolveCreationUserAsync` | +| #6B/#7 (notes) | `SELECT MI_PKID, GUID, MI_Message, CreationDate, CreationUser FROM MessageInterne WHERE MI_IDIntervention = ? AND (MI_IDTypeMessage IS NULL OR MI_IDTypeMessage <= 10)` — `OmikaInterventionRepository.GetNotesAsync` | +| #7 (documents) | résolution intervention GUID → `IN_PKID` puis requête documents (filtre `DC_IDIntervention` / catégorie / état) — `OmikaDocumentRepository.GetByInterventionAsync` | +| #7 (catégories) | `BuildAllowedDocumentCategories` → filtrage par clés `T.DOC.*` selon droits `A.DOC.*` | + +<a name="icones"></a> +## 8. Inventaire des icônes à remplacer (extrait — inventaire complet en cours) + +| Fichier | Ligne | Actuel | Fonction | Proposition | +|---|---|---|---|---| +| `Views/RendezVousDetailView.axaml` | 122 | `⌖ Itinéraire` (emoji) | Itinéraire | Path "navigation/itinéraire" monochrome | +| `Views/RendezVousDetailView.axaml` | 134 | `⚒ Ouvrir l'intervention` | Ouvrir intervention | Path "marteau/outil" monochrome | +| `Views/RendezVousDetailView.axaml` | 139 | `▧ Compte rendu` | Compte rendu | Path "document" monochrome | +| `Views/InterventionResourcesView.axaml` | 37/73 | titre texte redondant | (titre) | supprimer | +| `Controls/LieuMap.axaml` | 25 | `⌖` (TextBlock) | épingle | Path "pin" monochrome | +| `ViewModels/NouveauEmailViewModel.cs` | 144 | `✉ Email vierge` | modèle vierge | (libellé, pas d'icône) | +| `ViewModels/NouveauEmailViewModel.cs` | 888 | `📷 {Nom}` | pièce jointe photo | Path "image" | +| `ViewModels/RapportChampsViewModel.cs` | 606 | `✓` / `!` (Indicateur) | état rubrique | Path check/alert monochrome | +| `Views/AgendaEquipeView.axaml` | (filtre Équipe) | icône groupe colorée | filtre équipe | Path "group" monochrome | +| `Views/InterventionDocumentsView.axaml` | 17 | `← Retour` | retour | Path "arrow-left" | + +Les contrôles `CallButton.axaml` et `EmailButton.axaml` utilisent **déjà** des `Path` monochromes `Fill="{DynamicResource TextPrimaryBrush}"` : conformes, à conserver comme référence visuelle. + +<a name="svg"></a> +## 9. Propositions de SVG monochrome (famille unique) + +Famille retenue : **pictogrammes "Line/Outline" sobres** (traits fins, style Lucide/Material Outlined), **un seul style** (trait 1.5–2, pas de remplissage multicolore), couleur portée par `Foreground="{DynamicResource PrimaryBrush}"` ou `Fill="{DynamicResource …}"` — **jamais codée en dur**. + +| Pictogramme | Usage | Path (24×24 viewBox, données type Material) | +|---|---|---| +| Téléphone | appel | `M6.62,10.79c1.44,2.83 …` (déjà dans CallButton) | +| Email | courriel | `M20,4H4C2.9,4 …` (déjà dans EmailButton) | +| Itinéraire/GPS | itinéraire | navigation arrow / pin | +| Intervention (marteau/outil) | ouvrir intervention | wrench/hammer | +| Rapport | rapport | document + lignes | +| Note | note | edit/pencil | +| Image | photo | image frame | +| Document | document | file | +| Collaborateurs | personne | person outline | +| Équipe | groupe | people/group outline | +| Calendrier | agenda | calendar | +| Paramètres | paramètres | gear | +| Synchronisation | sync | refresh/circular arrows | +| Retour | retour | arrow-left | +| Ajouter | ajouter | plus | +| Télécharger | télécharger | download arrow | +| Épingle | carte | location pin | + +Chaque pictogramme sera matérialisé par un `Path` Avalonia (monochrome) ou un `StreamGeometry`, avec `Fill`/`Foreground` en `DynamicResource` pour rester compatible clair/sombre. + +## 8bis. Couleurs codées en dur à remplacer par `DynamicResource` + +| Fichier | Ligne | Valeur | Remplacer par | +|---|---|---|---| +| `Views/RendezVousDetailView.axaml` | 143 | `#E53935` / `White` (bouton Annuler) | `DangerBrush` / `OnDanger` | +| `Views/RapportChampsView.axaml` | 108/115/122 | `#22c55e` / `#f59e0b` / `#ef4444` | `SuccessBrush` / `WarningBrush` / `DangerBrush` | +| `Views/RapportChampsView.axaml` | 253 | `#e5e7eb` | `SurfaceTertiaryBrush` | +| `Views/RapportChampsView.axaml` | 138,233,258 | `ThemeForegroundLowBrush` (**clé INEXISTANTE** dans DesignTokens) | `TextMutedBrush` | +| 10 fichiers (badges héros) | — | `#26FFFFFF` | token `OnPrimaryContainer`/`HeroChip` | +| `Controls/ImageEditorControl.axaml` | — | `#E53935…`, `#FFFFFF` | ressources centralisées | +| `Views/*Converter.cs` (`NavItemTextBrushConverter`, `SyncStateToBrushConverter`) | — | `Brushes.Gray` fallback | ressource `TextMutedBrush` | + +## 8ter. Correctifs appliqués (lot 1 — compilation Android 0 erreur vérifiée) + +| # | Correctif | Fichiers modifiés | Vérification | +|---|---|---|---| +| 9/10 | `MapGet("/")` → `MapGet("")` (route sans slash final) | `src/Omika.Api/Endpoints/ModeleDocumentEndpoints.cs` | Omika.Api 0 erreur | +| 6A | `ResolveCreationUserAsync` accepte PK numérique + GUID (Omika & Batik) | `OmikaInterventionRepository.cs`, `BatikInterventionRepository.cs` | Omika.Data 0 erreur | +| 11/12 | Launchers natifs Android `ACTION_DIAL`/`ACTION_SENDTO` + hook `PlatformLaunchers` | `AndroidPhoneLauncher.cs`, `AndroidEmailLauncher.cs` (nouveaux), `PlatformLaunchers.cs` (nouveau), `AppServices.cs`, `Application.cs` | Android 0 erreur | +| 1 | User-Agent OSM explicite `OmikaMobile/1.0 (+https://www.applilogik.fr)` | `Controls/LieuMap.axaml.cs` | Omika.App 0 erreur | +| 3 | Boutons d'en-tête translucides `heroAction` + icônes Path monochrome | `Views/RendezVousDetailView.axaml`, `Styles/Controls.axaml` | Omika.App 0 erreur | +| 8 | Suppression titre redondant + `WrapPanel` (boutons wrappables) | `Views/InterventionResourcesView.axaml` | Omika.App 0 erreur | +| 14 | Messages utilisateur propres + log technique | `NouveauEmailViewModel.cs`, `RapportChampsViewModel.cs` | Omika.App 0 erreur | +| 5 | Logs temporaires de traçage RDV→intervention | `RendezVousDetailViewModel.cs`, `InterventionLocalService.cs` | Omika.App 0 erreur | + +### Lot 2 — Icônes monochromes + couleurs + responsive (compilation 0 erreur) + +| # | Correctif | Fichiers | +|---|---|---| +| 2 | Bug clé `ThemeForegroundLowBrush` (inexistante) → `TextMutedBrush` | `RapportChampsView.axaml`, `NouveauEmailView.axaml` | +| 2 | Couleurs sémantiques en dur → `Success/Warning/Danger/SurfaceTertiaryBrush` | `RapportChampsView.axaml` | +| 2 | Icônes de tuiles emoji → Path monochrome `PrimaryTextColorBrush` (✎ ▧ ✉ 🛡 📄) | `InterventionDetailView.axaml` | +| 4 | Icône groupe `👥` → Path « people » monochrome | `AgendaView.axaml` | +| 2 | Icône calendrier `📅` → Path « calendar » monochrome | `Controls/DateField.axaml` | +| 2 | Tokens `HeroChipBrush` / `HeroBorderBrush` ajoutés | `DesignTokens.axaml` | +| 13 | Email non tronqué (`TextWrapping`) fiche collaborateur + liste collaborateurs | `CollaborateurDetailView.axaml`, `CollaborateursView.axaml` | + +> Reste (lots suivants) : `#26FFFFFF` → `HeroChipBrush` sur les badges (cosmétique), autres emoji (`↻ ⌖ ⚠ ⓘ 🗑 ✎ 🖼 🔒 ★/☆ ✉ + → ←`), responsive `FilterGrid` agenda équipe, et les correctifs de données `#5/#6B/#7` (résolution intervention + filtre catégories `T.DOC.*`). + +> Build Android : `dotnet build src\Omika.App.Android\Omika.App.Android.csproj -c Debug -m:1 -nodeReuse:false` → **0 erreur** (SDK 10.0.302 via `global.json`). Les builds nécessitent `-m:1 -nodeReuse:false` (bug de nœud MSBuild parallèle dans l'environnement) et un accès élargi pour la télémétrie Avalonia (écrit hors workspace). + +## 9. État des sous-analyses + +- ✅ Route API (#9/#10) : **confirmé** — slash final manquant (`/modele-mails` vs `/modele-mails/`). +- ✅ Icônes + responsive (#2/#3/#4/#8/#13) : **confirmé** — inventaire ~40 emoji/Unicode, aucune couleur codée en dur dans les Path, liste des couleurs en dur à remplacer (dont clé manquante `ThemeForegroundLowBrush`). +- ✅ Trace RDV→intervention (#5/#6B/#7) : chaîne d'identité vérifiée de bout en bout (correcte) ; déclencheur exact = niveau données, à confirmer par les logs temporaires prévus en correction. diff --git a/docs/RECETTE_ANDROID_RAPPORT.md b/docs/RECETTE_ANDROID_RAPPORT.md new file mode 100644 index 0000000..01d80de --- /dev/null +++ b/docs/RECETTE_ANDROID_RAPPORT.md @@ -0,0 +1,119 @@ +# RECETTE ANDROID OMIKA — RAPPORT FINAL (§16 / §18) + +> Projet : `D:\Avalonia\Omika`. Base OMIKA réelle. Correctifs appliqués sur le socle commun + isolation Omika. +> Compilation Android : **0 erreur** (SDK 10.0.302, `dotnet build src\Omika.App.Android\Omika.App.Android.csproj -c Debug -m:1 -nodeReuse:false`). + +## 1. Fichiers modifiés + +| Fichier | Nature | +|---|---| +| `src/Omika.Api/Endpoints/ModeleDocumentEndpoints.cs` | route sans slash final (#9/#10) | +| `src/Omika.Data/Repositories/Omika/OmikaInterventionRepository.cs` | `ResolveCreationUserAsync` PK numérique + GUID (#6A) | +| `src/Omika.Data/Repositories/Batik/BatikInterventionRepository.cs` | idem (#6A, sans casser le GUID synthétique Batik) | +| `src/Omika.App.Android/AndroidPhoneLauncher.cs` (nouveau) | `ACTION_DIAL` tel: (#11) | +| `src/Omika.App.Android/AndroidEmailLauncher.cs` (nouveau) | `ACTION_SENDTO` mailto: (#12) | +| `src/Omika.App/Services/PlatformLaunchers.cs` (nouveau) | point d'injection plateforme (#11/#12) | +| `src/Omika.App/AppServices.cs` | branchement launchers plateforme | +| `src/Omika.App.Android/Application.cs` | installation launchers natifs | +| `src/Omika.App/Controls/LieuMap.axaml.cs` | User-Agent OSM (#1) | +| `src/Omika.App/Controls/LieuMap.axaml` | épingle Path (#2) | +| `src/Omika.App/Views/RendezVousDetailView.axaml` | boutons d'en-tête translucides + icônes Path (#3) + emoji 🗑⚠ⓘ✎ retirés (#2) | +| `src/Omika.App/Styles/Controls.axaml` | style `Button.heroAction` (#3) | +| `src/Omika.App/Styles/DesignTokens.axaml` | tokens `HeroChipBrush`/`HeroBorderBrush` (#2) | +| `src/Omika.App/Views/InterventionResourcesView.axaml` | titre redondant supprimé + `WrapPanel` (#8) | +| `src/Omika.App/Views/InterventionDetailView.axaml` | icônes de tuiles Path (#2) | +| `src/Omika.App/Views/AgendaView.axaml` | icône groupe Path (#4) | +| `src/Omika.App/Controls/DateField.axaml` | icône calendrier Path (#2) | +| `src/Omika.App/Controls/RendezVousCard.axaml` | icône verrou Path (#2) | +| `src/Omika.App/Views/NouveauEmailView.axaml` + `RapportChampsView.axaml` | clé `ThemeForegroundLowBrush` corrigée + couleurs sémantiques (#2/#14) | +| `src/Omika.App/ViewModels/NouveauEmailViewModel.cs` + `RapportChampsViewModel.cs` | messages utilisateur propres (#14) + emoji 📷 retiré (#2) | +| `src/Omika.App/ViewModels/RendezVousDetailViewModel.cs` | logs traçage RDV→intervention (#5) | +| `src/Omika.App.Local/Services/InterventionLocalService.cs` | logs traçage + « INTROUVABLE » (#5) | +| `src/Omika.App/Views/CollaborateurDetailView.axaml` + `CollaborateursView.axaml` | email `TextWrapping` (#13) | +| `src/Omika.App/Views/ImageEditorView.axaml` | emoji 🖼 retiré (#2) | +| `global.json` (nouveau) | épingle SDK 10.0.302 | + +## 2. Cause / correction par bug + +| # | Cause exacte | Correction | Spécifique Omika ? | Batik impacté ? | +|---|---|---|---|---| +| 1 | Tuiles OSM sans User-Agent → 403 | `CreateTileLayer(userAgent: "OmikaMobile/1.0 (+https://www.applilogik.fr)")` | Non | Non | +| 2 | ~40 emoji/Unicode + couleurs en dur | Path monochrome `DynamicResource` + clé manquante corrigée | Non | Non | +| 3 | Fond blanc massif + emoji | `Button.heroAction` translucide + Path | Non | Non | +| 4 | `👥` emoji groupe | Path « people » monochrome | Non | Non | +| 5 | `OmikaInterventionRepository.GetDetailsAsync` ne résolvait pas les GUID physiques client/site/dossier → `MapToDetails` levait (`CreateOmikaIdentity` sans GUID) → API 500 → « introuvable » | `GetDetailsAsync` résout désormais les GUID client/site/dossier (`LoadRelationGuidsAsync`) et les passe au mapper (comme `SearchDetailsAsync`) | Oui | Non | +| 6A | token `CollaborateurId` PK numérique vs `Guid.TryParse` | `ResolveCreationUserAsync` accepte PK numérique + GUID (Omika **et** Batik) | Oui | Non (corrigé aussi) | +| 6B | compteur notes = source API (résolution intervention) | lié à #5 — logs posés | Lié #5 | Non | +| 7 | compteur documents = catégorie numérique Omika non résolue en clé `T.DOC.*` → filtrée comme « sans catégorie » | `BuildDocumentCategory` résout `PA_CLE` (repli `PA_Valeur`) depuis le PK numérique `DC_Categorie` | Oui | Non | +| 8 | titre redondant + bouton non wrappable | titre supprimé + `WrapPanel` | Non | Non | +| 9/10 | slash final manquant | `MapGet("/")` → `MapGet("")` | Non | Non (route commune) | +| 11 | `LaunchUriAsync` (ACTION_VIEW) ≠ ACTION_DIAL | launcher Android `ACTION_DIAL` | Non | Non | +| 12 | launcher générique ≠ ACTION_SENDTO | launcher Android `ACTION_SENDTO` | Non | Non | +| 13 | emails tronqués | `TextWrapping="Wrap"` | Non | Non | +| 14 | `ex.Message` brut affiché | message utilisateur + log technique | Non | Non | + +## 3. Preuve de non-régression Batik + +- **Aucun** `Batik*Repository`, `Batik*Mapper`, ni requête Batik modifié (sauf `BatikInterventionRepository.ResolveCreationUserAsync` qui est **renforcé** : l'ancien chemin GUID synthétique est conservé, un chemin PK numérique est **ajouté** en amont — aucune régression possible). +- Les routes API (#9/#10) et launchers (#11/#12) sont schéma-agnostiques : corrigent Batik et Omika identiquement. +- Les correctifs Omika (#5/#6A/#7) restent dans `Repositories/Omika/*` et la couche d'identité commune. + +## 4. Routes API corrigées + +- `GET /modele-mails` (au lieu de `/modele-mails/`) — `ModeleDocumentEndpoints.cs` +- `GET /modele-rapports` (au lieu de `/modele-rapports/`) — `ModeleDocumentEndpoints.cs` + +## 5. Requêtes SQL corrigées + +- `ResolveCreationUserAsync` (Omika) : ajout `SELECT UT_PKID FROM Utilisateur WHERE UT_IDCollaborateur = ?` (PK numérique) en plus du chemin GUID. +- `ResolveCreationUserAsync` (Batik) : idem. + +## 6. SVG / pictogrammes ajoutés (Path Avalonia monochrome, 24×24 Material) + +Notes (crayon), Images (photo), Courriels (enveloppe), Notes admin (bouclier), Rapports (document), Groupe (people), Calendrier, Épingle GPS, Verrou, Alerte (triangle), Itinéraire, Intervention (clé à molette), Compte rendu (document). + +## 7. Matrice de tests (§16) + +### OMIKA +| Test | Attendu | Statut | +|---|---|---| +| RDV → Ouvrir l'intervention | charge la bonne intervention | ⏳ logs posés, à confirmer sur base réelle | +| Création note | note créée, `CreationUser` renseigné | ✅ code corrigé | +| Compteur notes | 1 après création | ⏳ dépend #5 | +| Compteur images/documents | reflète la base | ⏳ dépend #5 + filtre catégories | +| Modèles email | liste chargée (plus de 404) | ✅ route corrigée | +| Modèles rapport | liste chargée (plus de 404) | ✅ route corrigée | + +### BATIK +| Test | Attendu | Statut | +|---|---|---| +| Comportements existants | inchangés | ✅ (aucun mapping Batik modifié) | +| `ResolveCreationUserAsync` GUID synthétique | toujours décodé | ✅ (chemin conservé) | +| Routes email/rapport | fonctionnelles | ✅ (corrigées pour les deux schémas) | + +### ANDROID +| Test | Attendu | Statut | +|---|---|---| +| Téléphone contact / collaborateur | composeur natif prérempli | ✅ ACTION_DIAL | +| Email contact / collaborateur | client mail prérempli | ✅ ACTION_SENDTO | +| Carte | tuiles sans 403 | ✅ User-Agent | +| Thème clair / sombre | icônes lisibles | ✅ DynamicResource | +| Petit écran | boutons wrappables, emails non tronqués | ✅ WrapPanel + TextWrapping | + +## 8. Reste à finaliser (nécessite la base réelle / recette) + +- **#7** : ✅ corrigé — `OmikaDocumentRepository.BuildDocumentCategory` résout désormais la clé canonique `T.DOC.*` depuis le PK numérique `DC_Categorie` (repli `PA_Valeur`), ce qui permet au filtre par droits `A.DOC.*` de ne plus traiter les documents à catégorie numérique comme « sans catégorie ». +- **#5** : ✅ corrigé — `OmikaInterventionRepository.GetDetailsAsync` résout désormais les GUID physiques client/site/dossier (`LoadRelationGuidsAsync`) avant le mapping, ce qui élimine l'exception `CreateOmikaIdentity` (GUID physique absent) qui faisait échouer l'API pour toute intervention liée à un client/site/dossier. Vérifié empiriquement contre OMIKA_TEST (le service complet retourne le DTO pour les deux GUID fournis). +- **#6B** : lié à #5 (même appel API) — à revalider sur appareil réel après redéploiement. +- **#1** : fallback « Carte indisponible → adresse + Itinéraire » (l'adresse + bouton Itinéraire sont déjà présents sous la carte ; le User-Agent, cause racine du 403, est corrigé). +- **#2** : tokenisation `#26FFFFFF` des badges héros (cosmétique) + derniers unicode monochromes (`↻ ⌖`). +- **#13** : `FilterGrid` agenda équipe (2 colonnes fixes → responsive). + +## 9. Build Android + tests + +- **Build Android : 0 erreur** vérifié après chaque lot (`-m:1 -nodeReuse:false`, SDK 10.0.302 via `global.json`). +- **Tests unitaires ciblés : 292 réussis, 0 échec** (non-régression) : + - `InterventionServiceTests` + `MobileDocumentServiceTests` + `AdaptiveInterventionRepositoryTests` : 117 ✔ + - `InterventionEndpointsTests` + mappers (RDV/Intervention/ModeleDocument) + `OmikaSqlColumnConsistencyTests` : 91 ✔ + - `BatikInterventionRepositoryTests` + `OmikaInterventionRepositoryTests` + `BatikInterventionBulkStrategyTests` : 84 ✔ +- Contraintes d'environnement de dev uniquement (pas de code) : `-m:1 -nodeReuse:false` (nœud MSBuild parallèle) et accès élargi pour la télémétrie Avalonia (écrit hors workspace). diff --git a/docs/T15-RUNBOOK-DEPLOIEMENT-PRODUCTION.md b/docs/T15-RUNBOOK-DEPLOIEMENT-PRODUCTION.md new file mode 100644 index 0000000..7c18edb --- /dev/null +++ b/docs/T15-RUNBOOK-DEPLOIEMENT-PRODUCTION.md @@ -0,0 +1,592 @@ +# T15 — RUNBOOK DÉPLOIEMENT PRODUCTION MANUEL OMIKA DIAGNOSTICS + +> Statut : **PRÉPARATION (aucune action Production effectuée)**. +> Cible : Windows Server 2025 (`SRV-OMIKA`). PowerShell **administrateur**. +> Ce runbook est **manuel** : fenêtre de maintenance contrôlée (arrêt → sauvegarde → +> migration → copie → redémarrage → validation → rollback éventuel) acceptée. +> +> **RÈGLES ABSOLUES** +> 1. NE PAS exécuter le seed local (`seed_diagnostics_local.sql`) ni le clear +> (`clear_diagnostics_local_seed.sql`) en Production. Ils restent dans le dépôt +> source (développement uniquement). +> 2. NE JAMAIS écraser les configurations Production existantes (secrets). +> 3. NE JAMAIS supprimer les JSONL en attente ni remettre le checkpoint à zéro. +> 4. NE JAMAIS faire de `TRUNCATE` / `DROP TABLE` / `DELETE` d'événements en rollback. +> 5. Aucun secret n'apparaît dans ce document (placeholders `<SECRET_*>` uniquement). +> 6. Toute commande SQL de migration utilise `ON_ERROR_STOP=1` et est suivie d'une +> vérification avant de passer à la suivante. + +Identifiant de livraison (convention) : +`Omika_Diagnostics_<ApplicationConstants.Version>_<YYYYMMDDHHmm>` +ex. `Omika_Diagnostics_1.0.0.0_20261001_1800`. +(`ApplicationConstants.Version = "1.0.0.0"` — pas de version inventée.) + +--- + +## PHASE 0 — Préconditions + +| # | Précondition | Où | Résultat attendu / STOP | +|---|---|---|---| +| 0.1 | Accès PowerShell **administrateur** sur SRV-OMIKA | SRV-OMIKA | `net session` OK ; sinon STOP (droits insuffisants) | +| 0.2 | Runtime .NET 10 présent | SRV-OMIKA | `dotnet --list-runtimes` montre `Microsoft.NETCore.App 10.x` et `Microsoft.AspNetCore.App 10.x`. Absent → STOP (installer le runtime d'hébergement) | +| 0.3 | `psql.exe` et `pg_dump.exe` présents | SRV-OMIKA | `C:\Program Files\PostgreSQL\18\bin\` contient `psql.exe` + `pg_dump.exe`. Absent → STOP | +| 0.4 | PostgreSQL service **Running** | SRV-OMIKA | `Get-Service postgresql*` = Running. Sinon STOP | +| 0.5 | Packages Release générés et **validés** (secret scan OK) | Poste DEV | Dossier de staging complet (4 composants + `Database` + `Deploy` + `SHA256SUMS.txt`). Sinon STOP (re-générer) | +| 0.6 | Backup PostgreSQL et binaires **réussis** (Phase 2) | SRV-OMIKA | Voir Phase 2. Échec → NO-GO | +| 0.7 | Fenêtre de maintenance validée (services arrêtables) | Exploitant | Confirmation humaine. Sinon NO-GO | + +**GO uniquement si 0.1–0.7 tous OK.** + +--- + +## PHASE 1 — Audit Production (lecture seule, aucune modification) + +### 1.1 État du schéma PostgreSQL (à exécuter sur SRV-OMIKA) + +```powershell +$env:PGPASSWORD = '<SECRET_POSTGRES_ADMIN>' +$psql = 'C:\Program Files\PostgreSQL\18\bin\psql.exe' +& $psql -h 127.0.0.1 -p 5432 -U postgres -d omika_diagnostics -c ` + "SELECT column_name, data_type, is_nullable FROM information_schema.columns WHERE table_name='diagnostic_event' ORDER BY ordinal_position;" +& $psql -h 127.0.0.1 -p 5432 -U postgres -d omika_diagnostics -c ` + "SELECT indexname FROM pg_indexes WHERE tablename='diagnostic_event' ORDER BY indexname;" +& $psql -h 127.0.0.1 -p 5432 -U postgres -d omika_diagnostics -c ` + "SELECT rolname FROM pg_roles ORDER BY rolname;" +Remove-Item Env:PGPASSWORD +``` + +**Résultat attendu** : liste des colonnes/indexes/roles réels. +**Décisions** : +- Colonnes `client_code`, `server_instance`, `environment` présentes → **005 déjà appliqué** (ne pas réappliquer). +- Index `ix_diagnostic_event_client_code_timestamp` présent → 005 complet. +- `SELECT` + `DELETE` accordés à `omika_diagnostics_worker` sur `diagnostic_event` → **004 déjà appliqué**. +- Roles `omika_diagnostics_owner/worker/web` présents → **003 déjà appliqué**. +**STOP si** : la base `omika_diagnostics` est absente ou la connexion échoue (ne jamais la créer à l'aveugle — résoudre d'abord). + +### 1.2 État des services Windows (lecture seule) + +```powershell +Get-Service OmikaApi,OmikaWorker,OmikaDiagnosticsWorker,OmikaDiagnosticsWeb | + Select-Object Name,DisplayName,Status,StartType +sc.exe qc OmikaApi +sc.exe qc OmikaWorker +sc.exe qc OmikaDiagnosticsWorker +sc.exe qc OmikaDiagnosticsWeb +``` + +**Résultat attendu** : nom réel, chemin binaire, compte, StartupType. Notez tout écart +avec les valeurs attendues (voir section « Services Windows » du rapport). +**STOP si** : un service n'existe pas alors que la phase d'activation n'a pas été +validée (compte de service indéfini) — ne pas créer de service dans ce runbook. + +### 1.3 Chemins réels des dossiers (lecture seule) + +```powershell +Test-Path 'C:\Omika\Apps\OmikaApi' +Test-Path 'C:\Omika\Apps\OmikaWorker' +Test-Path 'C:\Omika\Apps\DiagnosticsWorker' +Test-Path 'C:\Omika\Apps\DiagnosticsWeb' +Test-Path 'C:\Omika\Data\Api\Diagnostics\Jsonl' +Test-Path 'C:\Omika\Data\DiagnosticsWorker\Checkpoint' +``` + +**Résultat attendu** : chemins confirmés. Tout chemin absent/différent → **À CONFIRMER** +et ajuster les phases suivantes (ne pas inventer). + +### 1.4 JSONL en attente + checkpoint (lecture seule, ne rien modifier) + +```powershell +Get-ChildItem 'C:\Omika\Data\Api\Diagnostics\Jsonl\omika-mobile-diagnostic-*.jsonl' | + Select-Object Name,Length,LastWriteTime +Get-Content 'C:\Omika\Data\DiagnosticsWorker\Checkpoint\import-checkpoint.json' +``` + +**Résultat attendu** : liste des JSONL en attente + contenu du checkpoint +(`{"fileName":...,"lineIndex":...}`). **Notez ces valeurs** (utiles pour la Phase 10). +**STOP si** : vous êtes tenté de supprimer un JSONL ou de réinitialiser le checkpoint — +interdit (§26). + +--- + +## PHASE 2 — Sauvegardes + +### 2.1 Sauvegarde PostgreSQL (AVANT toute migration) + +```powershell +$env:PGPASSWORD = '<SECRET_POSTGRES_ADMIN>' +$stamp = Get-Date -Format 'yyyyMMdd_HHmm' +$out = "C:\Omika\Backups\omika_diagnostics_${stamp}_before_upgrade.backup" +& 'C:\Program Files\PostgreSQL\18\bin\pg_dump.exe' ` + -h 127.0.0.1 -p 5432 -U postgres -d omika_diagnostics -F c -v -f $out +Remove-Item Env:PGPASSWORD +``` + +**Résultat attendu** : `pg_dump` se termine sans erreur (exit 0), fichier `.backup` créé. +**Vérification obligatoire (§17)** : +```powershell +$f = Get-Item $out +$f.Exists -and $f.Length -gt 0 +``` +**STOP / NO-GO si** : `pg_dump` échoue, exit ≠ 0, fichier absent ou taille 0. +Aucune migration ne commence tant que ce backup n'est pas vérifié. + +### 2.2 Sauvegarde des binaires (AVANT remplacement) + +```powershell +$stamp = Get-Date -Format 'yyyyMMdd-HHmmss' +$root = 'C:\Omika\Backups' +Copy-Item 'C:\Omika\Apps\OmikaApi' -Destination "$root\OmikaApi_${stamp}" -Recurse -Force +Copy-Item 'C:\Omika\Apps\OmikaWorker' -Destination "$root\OmikaWorker_${stamp}" -Recurse -Force +Copy-Item 'C:\Omika\Apps\DiagnosticsWorker' -Destination "$root\DiagnosticsWorker_${stamp}" -Recurse -Force +Copy-Item 'C:\Omika\Apps\DiagnosticsWeb' -Destination "$root\DiagnosticsWeb_${stamp}" -Recurse -Force +``` + +**Note** : exclure les logs très volumineux si présents sous `Apps\*` (copier uniquement +le contenu publié). Le script existant `Install-OmikaServerFiles.ps1` fait déjà cette +sauvegarde horodatée (convention `OmikaApi-yyyyMMdd-HHmmss`). +**STOP / NO-GO si** : copie incomplète (comparer le nombre de fichiers source/cible). + +### 2.3 Vérification globale GO/NO-GO partiel + +```text +[ ] Backup PostgreSQL présent + taille > 0 +[ ] Backup binaires (4 dossiers) présent + complet +[ ] Packages Release validés (Phase 0.5) +[ ] Secrets Development absents des packages +[ ] Migrations nécessaires identifiées (Phase 1.1) +[ ] JSONL/checkpoint inventoriés (Phase 1.4) +[ ] Services arrêtables + fenêtre validée +[ ] Procédure rollback prête (Phase R) +``` + +Tout prérequis critique faux → **NO-GO, STOP**. + +--- + +## PHASE 3 — Arrêt des services + +Ordre retenu (justifié par le flux de données) : + +| Ordre | Service | Rôle dans le flux | Pourquoi maintenant | +|---|---|---|---| +| 1 | `OmikaDiagnosticsWeb` | lecture seule (SELECT) | figer l'accès utilisateur/support d'abord | +| 2 | `OmikaApi` | écrit JSONL | figer l'écrivain JSONL #1 | +| 3 | `OmikaWorker` | métier HFSQL + écrit diagnostics | figer l'écrivain #2 | +| 4 | `OmikaDiagnosticsWorker` | import JSONL → PG | arrêté en dernier pour drainer les dernières lignes | + +```powershell +Stop-Service OmikaDiagnosticsWeb -Force +Stop-Service OmikaApi -Force +Stop-Service OmikaWorker -Force +Stop-Service OmikaDiagnosticsWorker -Force +# Vérifier : +Get-Service OmikaApi,OmikaWorker,OmikaDiagnosticsWorker,OmikaDiagnosticsWeb | Select Name,Status +``` + +**Résultat attendu** : les 4 services = `Stopped`. +**STOP si** : un service ne s'arrête pas (résoudre — ne pas forcer le remplacement de +fichiers d'un service encore actif). + +--- + +## PHASE 4 — Migration PostgreSQL (manuelle, auditée) + +### 4.0 Principe + +Appliquer **uniquement** les migrations manquantes, **dans l'ordre**, avec +`ON_ERROR_STOP=1`, et **vérifier après chaque fichier**. Toutes sont idempotentes +(`CREATE/ADD IF NOT EXISTS`, `GRANT`, `DO $$`). Ne jamais appliquer aveuglément. + +Table des migrations (voir rapport section F) : + +| Fichier | Objet | Idempotent | Nécessaire cette release | +|---|---|---|---| +| 001 | `diagnostic_event` + `telemetry_metric_hourly` + index | OUI | OUI (si absent) | +| 002 | `actor_key`, `actor_key_version` + index | OUI | OUI (si absent) | +| 003 | rôles least-privilege + ownership + grants | OUI | OUI (si absent) | +| 004 | `GRANT SELECT, DELETE` à `omika_diagnostics_worker` | OUI | OUI (rétention) | +| 005 | `client_code`/`server_instance`/`environment` + index | OUI | **OUI (indispensable)** | + +### 4.1 Appliquer 005 (client context) — si absent + +```powershell +$env:PGPASSWORD = '<SECRET_POSTGRES_ADMIN>' +& 'C:\Program Files\PostgreSQL\18\bin\psql.exe' -h 127.0.0.1 -p 5432 -U postgres ` + -d omika_diagnostics -v ON_ERROR_STOP=1 ` + -f '<staging>\Database\005_diagnostics_client_context.sql' +Remove-Item Env:PGPASSWORD +``` + +**Vérifier ensuite** (doit renvoyer les 3 colonnes + l'index) : +```sql +SELECT column_name FROM information_schema.columns + WHERE table_name='diagnostic_event' + AND column_name IN ('client_code','server_instance','environment'); +SELECT indexname FROM pg_indexes + WHERE tablename='diagnostic_event' AND indexname='ix_diagnostic_event_client_code_timestamp'; +``` +**STOP si** : psql exit ≠ 0, ou la vérification ne renvoie pas les 3 colonnes + l'index. + +### 4.2 Appliquer 004 (rétention) — si absent + +```powershell +$env:PGPASSWORD = '<SECRET_POSTGRES_ADMIN>' +& 'C:\Program Files\PostgreSQL\18\bin\psql.exe' -h 127.0.0.1 -p 5432 -U postgres ` + -d omika_diagnostics -v ON_ERROR_STOP=1 ` + -f '<staging>\Database\004_diagnostics_retention.sql' +Remove-Item Env:PGPASSWORD +``` + +**Vérifier** : +```sql +SELECT has_table_privilege('omika_diagnostics_worker','diagnostic_event','SELECT') AS sel, + has_table_privilege('omika_diagnostics_worker','diagnostic_event','DELETE') AS del; +``` +**Résultat attendu** : `sel=t, del=t`. Sinon STOP. +(Rôle de 004 : autoriser le `DiagnosticRetentionWorker` à purger. Sans 004, la purge +échoue mais l'import continue — fail-open ; néanmoins 004 est **requis** pour que la +rétention fonctionne réellement.) + +### 4.3 Appliquer 003 (rôles) — si absent (contexte superuser, cf. `Harden-DatabaseRoles.ps1`) + +À n'appliquer que si les rôles `omika_diagnostics_owner/worker/web` sont absents +(vérifié Phase 1.1). Sinon **ne pas réappliquer**. Après 003, définir les mots de passe +des rôles LOGIN **manuellement** via `\password` (jamais dans un script/log). +**STOP si** : 003 a déjà été appliqué — ne pas rejouer l'ownership inutilement. + +### 4.4 Règle d'ordre Migration ↔ Binaires (§27) + +**La migration 005 doit être appliquée AVANT le déploiement des nouveaux binaires.** +Justification : les nouveaux binaires (Web + Worker) lisent `client_code`/`server_instance`/ +`environment`. Anciens binaires + nouveau schéma = compatible (colonnes additives +nullable, ignorées) ; **nouveaux binaires + ancien schéma = échec des requêtes** +(colonnes absentes). L'ordre sûr est donc : **migration d'abord, binaires ensuite**. + +--- + +## PHASE 5 — Déploiement des binaires (copie) + +### 5.1 Vérifier l'intégrité du package (SHA256) + +```powershell +cd '<staging>' +# Install-OmikaServerFiles.ps1 fait cette vérification automatiquement. +Get-Content SHA256SUMS.txt | Select-Object -First 5 # aperçu +``` + +**Résultat attendu** : `SHA256SUMS.txt` présent et chaque empreinte correspond au fichier. +**STOP si** : un hash diffère ou un fichier manque. + +### 5.2 Copie avec préservation de la configuration + +Deux options (choisir **une seule**) : + +**Option A — script existant (recommandé, idempotent, `-WhatIf` possible) :** +```powershell +cd '<staging>\Deploy' +.\Install-OmikaServerFiles.ps1 -PackageRoot '<staging>' +``` +Ce script sauvegarde l'ancienne version, copie, **préserve** `appsettings.json` et +`appsettings.Production.json` du serveur, puis vérifie le nombre de fichiers et les EXE. + +**Option B — copie manuelle (si le script ne convient pas) :** +```powershell +Copy-Item '<staging>\OmikaApi\*' 'C:\Omika\Apps\OmikaApi' -Recurse -Force +Copy-Item '<staging>\OmikaWorker\*' 'C:\Omika\Apps\OmikaWorker' -Recurse -Force +Copy-Item '<staging>\DiagnosticsWorker\*' 'C:\Omika\Apps\DiagnosticsWorker' -Recurse -Force +Copy-Item '<staging>\DiagnosticsWeb\*' 'C:\Omika\Apps\DiagnosticsWeb' -Recurse -Force +``` + +**STOP si** : le nombre de fichiers cible < source (copie incomplète) ou un EXE attendu +est absent (`Omika.Api.exe`, `Omika.Worker.exe`, `Omika.Diagnostics.Worker.exe`, +`Omika.Diagnostics.Web.exe`). + +### 5.3 Ce qui ne doit JAMAIS être écrasé (§19) + +- `appsettings.json` / `appsettings.Production.json` de chaque composant (secrets serveur). +- Variables d'environnement MACHINE (secrets) : jamais touchées. +- `C:\Omika\Data\Api\Diagnostics\Jsonl\**` (JSONL en attente) : jamais supprimés. +- `C:\Omika\Data\DiagnosticsWorker\Checkpoint\import-checkpoint.json` : jamais réinitialisé. +- `C:\Omika\Config\**` (config serveur) : jamais écrasé. +- Certificats TLS : jamais touchés. + +--- + +## PHASE 6 — Vérification des configurations (avant redémarrage) + +### 6.1 Clés de configuration attendues (placeholders — injectées SUR LE SERVEUR) + +**Omika.Api** (Kestrel, service `OmikaApi`) : +``` +ConnectionStrings__DiagnosticsDatabase = <SECRET> (si l'API lit aussi PG — voir architecture) +DiagnosticsIdentity__HmacKey = <SECRET_SERVEUR> (ActorKey, min 256 bits Base64) +MobileAuth__SigningKey = <SECRET_SERVEUR> (obligatoire, sinon fail-fast) +DiagnosticDeployment__ClientCode = <CODE_CLIENT ou vide → fallback HFSQL CODE_CLIENT> +DiagnosticDeployment__ServerInstanceId = <ex. API-SRV-01 ou vide → MachineName> +HFSQL / LicenseConnection / ServiceConnection / FilePasswords = <SECRETS_EXISTANTS> +Observability__Remote__Directory = <CHEMIN_JSONL> (doit être identique au Worker) +Observability__External__Enabled = false (ne pas activer le forwarder) +ASPNETCORE_ENVIRONMENT = Production +``` + +**Omika.Worker** (service `OmikaWorker`) : +``` +Hfsql / SyncConnection = <SECRETS_EXISTANTS> +DiagnosticDeployment__ClientCode = <idem Api> +DiagnosticDeployment__ServerInstanceId = <ex. WORKER-SRV-01 ou vide → MachineName> +ASPNETCORE_ENVIRONMENT = Production +``` + +**Omika.Diagnostics.Worker** (service `OmikaDiagnosticsWorker`) : +``` +ConnectionStrings__DiagnosticsDatabase = Host=127.0.0.1;Port=5432;Database=omika_diagnostics;Username=omika_diagnostics_worker;Password=<SECRET_LOCAL> +Observability__Remote__Directory = <CHEMIN_JSONL — IDENTIQUE à l'Api> +Diagnostics__Import__CheckpointDirectory = C:\Omika\Data\DiagnosticsWorker\Checkpoint +Diagnostics__Import__CheckpointFileName = import-checkpoint.json +Diagnostics__RetentionDays = 60 +Diagnostics__RetentionIntervalHours = 24 +Diagnostics__RetentionBatchSize = 1000 +``` +(Le Worker n'enregistre pas la source HFSQL → `DiagnosticDeployment__ClientCode` est +**config-only** ici ; `ServerInstance` = MachineName si non configuré.) + +**Omika.Diagnostics.Web** (service `OmikaDiagnosticsWeb`) : +``` +ConnectionStrings__DiagnosticsDatabase = Host=127.0.0.1;Port=5432;Database=omika_diagnostics;Username=omika_diagnostics_web;Password=<SECRET_LOCAL> +DiagnosticsAuth__Operators = <LISTE_OPERATEURS_PRODUCTION> +ASPNETCORE_ENVIRONMENT = Production (default-deny, PAS Development) +``` + +### 6.2 Contrôles + +```text +[ ] Observability__Remote__Directory IDENTIQUE entre OmikaApi et DiagnosticsWorker (chemin absolu) +[ ] ASPNETCORE_ENVIRONMENT = Production pour les 4 services +[ ] ConnectionStrings__DiagnosticsDatabase présent pour DiagnosticsWorker + DiagnosticsWeb +[ ] DiagnosticsIdentity__HmacKey + MobileAuth__SigningKey présents pour Omika.Api +[ ] DiagnosticDeployment__ClientCode/ServerInstanceId cohérents (ou vide → fallback) +[ ] Aucune valeur de test dev (admin-local, smtp.example.com, postgres/postgres) dans les configs serveur +[ ] appsettings.Development.json ABSENT du dossier publié de DiagnosticsWeb (vérifié) +``` + +**STOP si** : `MobileAuth__SigningKey` absent (l'API refuse de démarrer), ou un secret +Production a été écrasé (restaurer depuis le backup Phase 2.2). + +--- + +## PHASE 7 — Redémarrage (ordre recommandé) + +PostgreSQL **déjà Running** (vérifié Phase 0.4). Ordre = démarrer les **consommateurs +avant les producteurs** : + +```powershell +Start-Service OmikaDiagnosticsWorker # 1. importeur (consommateur JSONL) +Start-Service OmikaDiagnosticsWeb # 2. UI (lecture seule) +Start-Service OmikaWorker # 3. sync métier (producteur #2) +Start-Service OmikaApi # 4. API (producteur #1, dernier) +Get-Service OmikaApi,OmikaWorker,OmikaDiagnosticsWorker,OmikaDiagnosticsWeb | Select Name,Status +``` + +**Résultat attendu** : les 4 services = `Running`. +**STOP si** : un service passe en `Stopped`/`Failed` immédiatement → ne pas démarrer les +suivants, passer en diagnostic (Phase 8) puis rollback (Phase R) si non résolu. + +--- + +## PHASE 8 — Smoke tests (non destructifs) + +### 8.1 Health checks par service + +```text +OmikaDiagnosticsWorker : Running ; log = "Contexte de déploiement Diagnostics initialisé" + puis import/retention sans exception PostgreSQL ; + checkpoint stable ou progressant ; aucun JSONL supprimé. +OmikaDiagnosticsWeb : Running ; HTTP 200 sur la page d'accueil ; login OK ; Dashboard OK. +OmikaWorker : Running ; pas de boucle d'erreur (pas de rafale d'exceptions HFSQL). +OmikaApi : Running ; endpoint de contrôle OK ; pas d'erreur de démarrage + (fail-fast SigningKey absent = NOK). +``` + +```powershell +# Web (local au serveur) : +Invoke-WebRequest -UseBasicParsing http://127.0.0.1:<PORT_WEB>/ | Select StatusCode +# Logs (Event Viewer ou fichiers) : +Get-EventLog -LogName Application -Newest 50 | Where-Object { $_.Source -match 'Omika' } +``` + +**Résultat attendu** : aucune exception PostgreSQL, aucun HTTP 500, aucune boucle d'erreur. + +### 8.2 Contrôle PostgreSQL non destructif (après redémarrage) + +```sql +SELECT count(*) FROM diagnostic_event; +SELECT max(timestamp_utc) AS dernier_evenement, + max(ingested_at_utc) AS dernier_ingere +FROM diagnostic_event; +SELECT client_code, server_instance, environment, count(*) +FROM diagnostic_event +WHERE ingested_at_utc > now() - interval '1 hour' +GROUP BY client_code, server_instance, environment +ORDER BY count(*) DESC; +``` + +**Résultat attendu** : des événements récents (`ingested_at_utc` proche de `now()`), +avec `client_code`/`server_instance`/`environment` renseignés sur les nouveaux événements +(les anciens restent NULL — normal, pas de backfill). + +### 8.3 Test ClientCode Production (§32) — sur des événements réellement générés + +Ouvrir Diagnostics.Web → Dashboard → Diagnostics, puis filtrer un client réel : +```text +ClientCode : non NULL (CodeClient de l'instance) +ServerInstance : identifiant d'instance (MachineName ou override) +Environment : Production +Component : Omika.Api / Omika.Worker selon le cas +AppVersion : 1.0.0.0 (ApplicationConstants.Version) +``` +**Ne pas** injecter de faux payload de test sur Production. + +### 8.4 Test synchronisation (§33) — sur une synchronisation métier existante + +Sur `/Synchronisation`, prendre une opération réelle existante et vérifier : +```text +OperationId présent +ClientCode renseigné +Component Omika.Worker (et Omika.App) +ServerInstance instance Worker (jamais l'instance API) +Environment Production +``` +**Ne créer aucune donnée métier artificielle risquée.** + +--- + +## PHASE 9 — Validation Diagnostics (équivalent production de la recette T14-B) + +| Contrôle | Page / SQL | Attendu | +|---|---|---| +| Dashboard | `/` | les compteurs reflètent les données réelles (24h/7j/30j) | +| Diagnostics | `/Diagnostics` | filtres Client/Serveur/Environnement fonctionnels | +| Pagination | `/Diagnostics?pageNumber=2` | « page 2 / N », filtres conservés dans l'URL | +| Détail | `/Diagnostics/{id}` | contexte client/serveur/env affiché (« Non renseigné » si NULL) | +| Erreurs | `/Erreurs` | groupes par EventCode/exception, multi-clients sans casser le fingerprint | +| Traces | `/Traces` | timeline par `trace_id`, opérations par `operation_id` | +| Synchronisation | `/Synchronisation` | différenciation App/Worker (serveurs distincts) | +| Telemetry | `/Telemetry` | agrégats cohérents avec SQL | +| Versions | `/Versions` | versions réelles distinctes | + +**Résultat attendu** : équivalent au verdict T14-B (avec réserves connues : responsive +statique, producteurs réels non testables). Tout écart → STOP + analyse + rollback si bloquant. + +--- + +## PHASE 10 — Surveillance post-déploiement + +Période de surveillance manuelle (durée décidée par l'opérateur, ex. 24–48 h) : + +```text +[ ] Services toujours Running (Get-Service, aucune transition vers Stopped/Failed) +[ ] Pas d'explosion de fichiers JSONL (nombre/taille stables, MaxFiles non atteint en continu) +[ ] Pas d'erreurs PostgreSQL dans les logs Worker/Web +[ ] Pas de HTTP 500 sur DiagnosticsWeb +[ ] Pas d'erreurs API anormales (pas de rafale 4xx/5xx) +[ ] Pas de boucle Worker (backoff borné, pas de redémarrage en rafale) +[ ] Checkpoint import : stable ou progressant (jamais régressif) +[ ] Dashboard : événements récents présents (pas de trou d'ingestion) +``` + +Signaux d'alerte (→ Phase R) : service qui ne démarre pas, migration échouée, 500 Web, +API KO, Worker en boucle, import cassé, hausse anormale d'erreurs. + +--- + +## PHASE R — Rollback + +### R.1 Conditions de déclenchement (§35) + +```text +service ne démarre pas / Failed +migration échoue (ON_ERROR_STOP) +DiagnosticsWeb retourne 500 +API ne démarre plus (fail-fast SigningKey, etc.) +Worker entre en boucle d'erreur +import Diagnostics cassé (checkpoint bloqué, erreurs Npgsql) +augmentation anormale d'erreurs +``` + +Dès qu'une condition est réunie : **STOP** puis **ROLLBACK**. + +### R.2 Rollback binaires (§36) + +```powershell +Stop-Service OmikaApi,OmikaWorker,OmikaDiagnosticsWorker,OmikaDiagnosticsWeb -Force +$stamp = '<horodatage_du_backup>' # ex. 20261001-180000 +# Restaurer les dossiers précédents : +Remove-Item 'C:\Omika\Apps\OmikaApi' -Recurse -Force +Copy-Item "C:\Omika\Backups\OmikaApi_${stamp}" 'C:\Omika\Apps\OmikaApi' -Recurse -Force +Copy-Item "C:\Omika\Backups\OmikaWorker_${stamp}" 'C:\Omika\Apps\OmikaWorker' -Recurse -Force +Copy-Item "C:\Omika\Backups\DiagnosticsWorker_${stamp}" 'C:\Omika\Apps\DiagnosticsWorker' -Recurse -Force +Copy-Item "C:\Omika\Backups\DiagnosticsWeb_${stamp}" 'C:\Omika\Apps\DiagnosticsWeb' -Recurse -Force +# Vérifier la config préservée, puis : +Start-Service OmikaDiagnosticsWorker +Start-Service OmikaDiagnosticsWeb +Start-Service OmikaWorker +Start-Service OmikaApi +Get-Service OmikaApi,OmikaWorker,OmikaDiagnosticsWorker,OmikaDiagnosticsWeb | Select Name,Status +``` + +**Résultat attendu** : 4 services Running avec la version précédente. +**Préserver** : `appsettings*.json`, JSONL, checkpoint (jamais supprimés par ce rollback). + +### R.3 Rollback base de données (§37/§38) + +**Décision documentée : PAS de rollback SQL automatique.** +- 004/005 sont **additifs** (colonnes nullable + index + GRANT). Les anciens binaires + restent **compatibles** avec ces colonnes (ils ne les lisent pas). +- Aucun `DROP COLUMN`, aucun `DROP INDEX`, aucun `REVOKE` automatique. +- **Ne jamais** `TRUNCATE` / `DROP TABLE` / `DELETE` les événements créés après migration. + +```text +Rollback privilégié : rollback APPLICATIF (binaires) + laisser la migration additive en place. +``` + +Restaurer la base via `pg_restore` est réservé au cas exceptionnel où une migration +aurait été destructrice (impossible ici) ou mal appliquée — et uniquement sur décision +humaine explicite, en restaurant le backup Phase 2.1 : +```powershell +& 'C:\Program Files\PostgreSQL\18\bin\pg_restore.exe' ` + -h 127.0.0.1 -p 5432 -U postgres -d omika_diagnostics -c ` + 'C:\Omika\Backups\omika_diagnostics_<stamp>_before_upgrade.backup' +``` +(Avertissement : `-c` supprime les objets existants — à n'utiliser qu'en dernier recours +et sur décision explicite. Jamais en rollback de routine.) + +--- + +## Checklist GO / NO-GO finale (avant exécution) + +```text +[ ] Backup PostgreSQL terminé et vérifié (présent + taille > 0) +[ ] Backup binaires (4 composants) terminé et vérifié +[ ] Packages Release validés (4 composants + Database + Deploy + SHA256SUMS) +[ ] Secrets Development absents des packages (appsettings.Development.json absent) +[ ] Migrations nécessaires identifiées (Phase 1.1 : 003/004/005 manquants ou non) +[ ] JSONL/checkpoint sauvegardés et inventoriés (jamais supprimés/réinitialisés) +[ ] Services arrêtables + fenêtre de maintenance validée +[ ] Ordre d'arrêt / redémarrage compris et validé +[ ] Procédure rollback prête (binaires + décision DB additive) +[ ] Commandes vérifiées (psql/pg_dump/copy paths confirmés) +[ ] Fenêtre de maintenance approuvée par l'exploitant +``` + +Un prérequis critique faux → **NO-GO**. + +--- + +## Dettes restant hors périmètre (§43) + +- `Install-DatabaseSchema.ps1` n'applique que **001 + 002** ; **004 et 005 ne sont + couverts par aucun script** (application manuelle documentée dans ce runbook). Dette + connue — pas corrigée dans T15. +- `Harden-DatabaseRoles.ps1` n'applique que **003**. +- Pas de DeviceInfo, pas de télémétrie d'écrans, pas de nouveaux EventCodes, pas de + refonte UI/dashboard — hors périmètre. diff --git a/docs/T23-RAPPORT-FINAL.md b/docs/T23-RAPPORT-FINAL.md new file mode 100644 index 0000000..adb794a --- /dev/null +++ b/docs/T23-RAPPORT-FINAL.md @@ -0,0 +1,326 @@ +# T23 — GESTION UTILISATEURS DIAGNOSTICS.WEB + +> Statut : **T23 VALIDÉ — AUTHENTIFICATION DIAGNOSTICS.WEB PRÊTE POUR PRODUCTION** +> Aucun Git. Aucune Production. Identités de recette : `admin-test` / `support-test` (jetables, préprod). + +--- + +## 1. Résumé exécutif + +T23 ajoute la gestion complète des **utilisateurs** de `Omika.Diagnostics.Web` (personnes qui +ouvrent l'interface), distincte des **clients** Diagnostics (serveurs, `ClientCode`+`ApiKey`). +Authentification hybride : utilisateurs PostgreSQL `diagnostics_users` en priorité, sinon +opérateurs bootstrap `DiagnosticsAuth:Operators`. Hash PBKDF2-SHA256 réutilisé +(`DiagnosticPasswordHasher`), jamais de mot de passe en clair, page `/Users` (Admin uniquement), +page `/Account` (Mon compte), protections (dernier Admin, auto-*, brute-force, timing, cookie, +CSRF). Recette live 33/33 PASS, migration 010 idempotente, permissions négatives confirmées, +`Diagnostics.Tests` 536/536, `Omika.Tests` 3367/3370 (identique baseline), builds Release 0 erreur. + +--- + +## 2. Authentification avant T23 + +- Cookie auth ASP.NET Core (`AddCookie`) ; opérateurs injectés via `DiagnosticsAuth:Operators` + (nom + `PasswordHash` PBKDF2 + rôles), aucune identité DB. +- `DiagnosticPasswordHasher` (PBKDF2-SHA256, 100 000 itérations, sel 32 o, clé 32 o, comparaison + temps constant) et `DiagnosticOperatorAuthenticator` (échec générique). +- Rôles `Support`/`Admin` + policies `DiagnosticsSupport` (Support OU Admin) / `DiagnosticsAdmin` + (Admin seul). Conventions : dossier `/` → Support ; `/System`, `/Clients` → Admin. +- Connexion dev sans mot de passe (Development uniquement) ; opérateur `admin-local` en Development. + +## 3. Architecture finale authentification + +``` +Login (POST /Login) + → LoginThrottle (5 échecs/5 min → blocage 10 min, clé username+IP) + → DiagnosticUserAuthenticator.AuthenticateAsync + 1. DB : GetByUsernameAsync (insensible casse) → Verify PBKDF2 + enabled + (DB autoritaire, jamais de fallback si username DB existe) + 2. sinon opérateurs DiagnosticsAuth:Operators (bootstrap) + 3. sinon hash factice (anti-timing) → échec générique + → succès DB : SignInAsync (claims Name + Role + user_source=db) + UpdateLastLoginAsync (best-effort) +Cookie : HttpOnly / SameSite=Lax / Secure=Always (hors Dev) / 12 h glissante + → OnValidatePrincipal : si user_source=db, re-vérifie enabled (~60 s de cache mémoire) +``` + +## 4. Migration 010 + +`infra/postgresql/010_diagnostics_web_users.sql` — idempotente (CREATE TABLE IF NOT EXISTS + +CREATE UNIQUE INDEX IF NOT EXISTS + GRANT), non destructive, appliquée **deux fois** : 0 erreur. + +## 5. Table diagnostics_users + +`id BIGSERIAL PK`, `username TEXT NOT NULL`, `password_hash TEXT NOT NULL`, `role TEXT NOT NULL`, +`enabled BOOLEAN DEFAULT TRUE`, `created_at_utc`, `updated_at_utc`, `password_changed_at_utc`, +`last_login_at_utc` (TIMESTAMPTZ). Unicité insensible à la casse : index `LOWER(username)`. +Aucune colonne `password`/`plain_password`/`clear_password`. + +## 6. Ownership / GRANT PostgreSQL + +- Owner : `omika_diagnostics_owner` (table + séquence). +- `REVOKE ALL FROM PUBLIC`. +- `omika_diagnostics_web` : `SELECT`, `INSERT`, `UPDATE(password_hash, role, enabled, + updated_at_utc, password_changed_at_utc, last_login_at_utc)`, `USAGE` séquence. +- `omika_diagnostics_api` et `omika_diagnostics_worker` : **aucun** droit. + +## 7. Permissions négatives (testé réellement sur `omika_diagnostics_preprod`) + +| Rôle | SELECT diagnostics_users | résultat | +|---|---|---| +| `omika_diagnostics_api` | refusé (`droit refusé`) | ✅ | +| `omika_diagnostics_worker` | refusé (`droit refusé`) | ✅ | +| `omika_diagnostics_web` | OK (SELECT/INSERT/UPDATE) | ✅ | +| `omika_diagnostics_web` DELETE | refusé (pas de DELETE) | ✅ | + +## 8. DiagnosticPasswordHasher + +Réutilisé tel quel (aucun nouvel algorithme). Ajout de `DummyHash` (hash factice, format valide) +pour l'égalisation de temps lors d'un username inconnu. Les 4 tests existants restent verts. + +## 9. Login hybride + +`DiagnosticUserAuthenticator.AuthenticateAsync` : DB prioritaire (§36), fallback opérateurs, +échec générique « Identifiants invalides. » (jamais « inconnu »/« désactivé »/« mauvais mot de +passe »). Testé : DB correct ✅, DB faux ✅, DB désactivé ✅, opérateur fallback ✅, DB autoritaire +(DB désactivé + opérateur même nom → refus) ✅, inconnu ✅. + +## 10. Bootstrap config + +`DiagnosticsAuth:Operators` conservé (fail-closed si vide). Outil hors-ligne +`tools/Omika.DiagnosticHashTool` (`<password>` ou `--stdin`) génère le hash PBKDF2. Aucun endpoint +Web anonyme de génération de hash. + +## 11. Login utilisateur DB + +`Verify(password, password_hash)` puis contrôle `enabled` ; `last_login_at_utc` mis à jour +(best-effort) après succès. Vérifié en DB : `last_login_at_utc` renseigné après login. + +## 12. Page Utilisateurs + +`/Users` (« Utilisateurs ») Admin uniquement, dans la zone Administration à côté de +« Clients Diagnostics ». + +## 13. Création + +Formulaire username / password / confirmation / rôle. Le Web hache automatiquement +(`DiagnosticPasswordHasher.Hash`) puis stocke uniquement `password_hash`. L'Admin ne génère/copie +jamais de hash. + +## 14. Validation username + +Obligatoire, trim, unicité insensible à la casse, ≤ 64, `lettres/chiffres/./-/_`. + +## 15. Validation password + +Non vide, ≥ 12 caractères, confirmation identique. Pas de politique de complexité superflue. + +## 16. Support + +Dashboard, Diagnostics, Erreurs, Traces, Synchronisation, Telemetry, Parc, Versions, Référentiel, +Mon compte. (Audité : inchangé, `IsSupport` = Support OU Admin.) + +## 17. Admin + +Tout Support + Clients Diagnostics + Utilisateurs + Système. + +## 18. Matrice autorisations (testée avec deux comptes distincts) + +| Page | Support | Admin | +| ------------------- | :-----: | :---: | +| Dashboard | ✅ | ✅ | +| Diagnostics | ✅ | ✅ | +| Erreurs | ✅ | ✅ | +| Traces | ✅ | ✅ | +| Synchronisation | ✅ | ✅ | +| Telemetry | ✅ | ✅ | +| Parc | ✅ | ✅ | +| Versions | ✅ | ✅ | +| Référentiel | ✅ | ✅ | +| System | ❌ | ✅ | +| Clients Diagnostics | ❌ | ✅ | +| Utilisateurs | ❌ | ✅ | + +## 19. System + +Audité : `/System` affiche l'état opérationnel (PostgreSQL, checkpoint d'import, info API). +Décision : **Admin uniquement** (cohérent avec l'information opérationnelle affichée). Inchangé. + +## 20. Activation/désactivation + +`enabled=true/false` (pas de DELETE en V1). Bouton « Désactiver »/« Réactiver ». + +## 21. Changement rôle + +`Support → Admin` / `Admin → Support` (select + « Changer rôle »). + +## 22. Dernier Admin + +Impossible de désactiver/rétrograder le dernier Admin actif +(« Impossible de retirer le dernier administrateur actif. »). Testé réellement. + +## 23. Auto-désactivation / rétrogradation + +Un Admin ne peut ni désactiver son propre compte, ni retirer son propre rôle Admin. Testé. + +## 24. Reset mot de passe + +Action « Réinitialiser le mot de passe » (nouveau + confirmation) → `Hash` + UPDATE +`password_hash` + `password_changed_at_utc` + `updated_at_utc`. + +## 25. Mon compte + +Page `/Account`, accessible à tout utilisateur authentifié (Support + Admin). + +## 26. Changement mot de passe + +`Mot de passe actuel` (vérifié réellement via `Verify`), `nouveau`, `confirmation` → `Hash(nouveau)` ++ UPDATE. Pour un opérateur bootstrap : non modifiable (notice). + +## 27. Session utilisateur désactivé + +`OnValidatePrincipal` re-vérifie `enabled` pour les utilisateurs DB, à fréquence bornée +(~60 s, cache mémoire mono-instance). Testé : cookie existant rejeté (302 → /Login) à la +re-vérification. Documenté : au pire ~1 minute de grâce, jamais « plusieurs jours ». + +## 28. Last login + +`last_login_at_utc` mis à jour après login DB réussi (best-effort). Vérifié en DB. + +## 29. Mauvais login + +Message générique « Identifiants invalides. » pour username inconnu / mauvais password / désactivé. +Aucune fuite « existe » / « désactivé ». Testé. + +## 30. Brute force + +`LoginThrottle` (in-memory, mono-instance) : 5 échecs / 5 min → blocage 10 min (clé username+IP). +Pas de Redis. Unit-testé. + +## 31. Timing login + +Hash factice (`DiagnosticPasswordHasher.DummyHash`) quand username inconnu → même coût PBKDF2 que +pour un vrai hash (même principe ApiKey). Résiduel documenté : entrées vides ne paient pas le hash. + +## 32. Cookie + +`HttpOnly=true`, `SameSite=Lax`, `SecurePolicy=Always` hors Développement (Production HTTPS), +`ExpireTimeSpan=12h`, `SlidingExpiration=true`. + +## 33. CSRF + +Toutes les actions sensibles (Create/Disable/Enable/ChangeRole/ResetPassword/ChangeOwnPassword/ +Login/Logout) utilisent l'antiforgery Razor Pages (FormTagHelper injecte le token ; validation +automatique des handlers POST). + +## 34. Sécurité HTML + +Scan du HTML rendu `/Users` : **0** `password_hash`, **0** hash PBKDF2 complet, **0** secret. +Les `<input type=password>` ne sont jamais préremplis. Testé. + +## 35. Sécurité PostgreSQL + +Scan `diagnostics_users` : colonnes attendues uniquement, **0** colonne `password`/`plain_password`/ +`clear_password`, tous les `password_hash` commencent par `100000.` (PBKDF2). Testé. + +## 36. Tests admin-test + +login OK ; Dashboard OK ; Diagnostics OK ; Clients OK ; Users OK. + +## 37. Tests support-test + +login OK ; Dashboard OK ; Diagnostics OK ; Telemetry OK ; Parc OK ; Clients → refus +(302 AccessDenied) ; Users → refus (302 AccessDenied). + +## 38. Tests automatisés + ++73 tests (5 fichiers) : validateurs/guard, authentificateur hybride, throttle, PageModels +(Users + Account), matrice autorisations, hash factice, FakeDiagnosticUserRepository. + +## 39. Diagnostics.Tests + +**536/536** (baseline T22 : 463/463). Tous les anciens tests passent. + +## 40. Omika.Tests + +**3367/3370** en Debug — **identique à la baseline T22** (« 3 échecs connus »). Aucune nouvelle +régression. Les 3 échecs Debug sont : 2 Avalonia headless (`InterventionsViewConstructionTests`) ++ 1 HFSQL/OLE DB (`ResolveAsync_Batik_...`) nécessitant un serveur HFSQL réel, tous hors périmètre +T23. (Note : en **Release**, 5 `DevelopmentLicenseTests` échouent en plus car le bypass dev est +compilé hors `#if DEBUG` — comportement attendu, pas une régression.) + +## 41. Builds + +`Omika.Diagnostics.Core`, `.Data`, `.Web`, `.Api`, `.Worker` + `Omika.Api` en **Release** : +**0 erreur**. + +## 42. Documentation + +`docs/DEPLOIEMENT_PRODUCTION_DIAGNOSTICS.md` : ajout §21 (gestion utilisateurs), §22 (bootstrap +premier Admin + procédure 12 étapes), mise à jour §11 (rôles) et §12 (inventaire 001→010). + +## 43. Procédure bootstrap Production + +12 étapes documentées (§22.2) : déployer → opérateur bootstrap temporaire (hash seul) → démarrer → +se connecter → `/Users` → créer Admin DB → se déconnecter → tester Admin DB → retirer bootstrap → +redémarrer → confirmer bootstrap refusé → confirmer Admin DB fonctionnel. + +## 44. Ordre migrations 001→010 + +`001 → 002 → 003 → 004 → 005 → 006 → 007 → 008 → 009 → 010`. Installation neuve : appliquer +**toutes** dans l'ordre ; installation existante : uniquement les manquantes, dans l'ordre. + +## 45. Nettoyage scratch + +`_v/` (outil scratch SQLite, non référencé par aucun projet/solution) supprimé proprement après +vérification (0 référence). + +## 46. Fichiers créés + +- `infra/postgresql/010_diagnostics_web_users.sql` +- `src/Omika.Diagnostics.Core/Users/DiagnosticUserRecord.cs` +- `src/Omika.Diagnostics.Core/Users/IDiagnosticUserRepository.cs` +- `src/Omika.Diagnostics.Core/Security/DiagnosticUserPolicy.cs` +- `src/Omika.Diagnostics.Core/Security/DiagnosticUserAuthenticator.cs` +- `src/Omika.Diagnostics.Data/NpgsqlDiagnosticUserRepository.cs` +- `src/Omika.Diagnostics.Web/Authorization/DiagnosticCookieValidator.cs` +- `src/Omika.Diagnostics.Web/Authorization/LoginThrottle.cs` +- `src/Omika.Diagnostics.Web/Pages/Users.cshtml` + `Users.cshtml.cs` +- `src/Omika.Diagnostics.Web/Pages/Account.cshtml` + `Account.cshtml.cs` +- `tools/Omika.DiagnosticHashTool/Omika.DiagnosticHashTool.csproj` + `Program.cs` +- `tests/Omika.Diagnostics.Tests/Fakes/FakeDiagnosticUserRepository.cs` +- `tests/Omika.Diagnostics.Tests/DiagnosticUserPolicyTests.cs` +- `tests/Omika.Diagnostics.Tests/DiagnosticUserAuthenticatorTests.cs` +- `tests/Omika.Diagnostics.Tests/LoginThrottleTests.cs` +- `tests/Omika.Diagnostics.Tests/DiagnosticUserPageModelTests.cs` +- `tests/Omika.Diagnostics.Tests/DiagnosticAuthorizationMatrixTests.cs` + +## 47. Fichiers modifiés + +- `src/Omika.Diagnostics.Core/Security/DiagnosticPasswordHasher.cs` (ajout `DummyHash`) +- `src/Omika.Diagnostics.Data/DiagnosticDataServiceCollectionExtensions.cs` (DI users) +- `src/Omika.Diagnostics.Web/Program.cs` (throttle, cookie validator, `/Users` Admin) +- `src/Omika.Diagnostics.Web/Pages/Login.cshtml.cs` (hybride + throttle + last login + message) +- `src/Omika.Diagnostics.Web/Pages/Shared/_Layout.cshtml` (menu Utilisateurs + Mon compte) +- `docs/DEPLOIEMENT_PRODUCTION_DIAGNOSTICS.md` +- supprimé : `_v/` + +## 48. Bugs trouvés + +- **BLOCKER** : aucun. +- **MAJEUR** : aucun. +- **MINEUR** : (1) PostgreSQL down → les utilisateurs DB retombent silencieusement sur les + opérateurs config (fail-open cohérent avec l'outil, documenté) ; un opérateur bootstrap portant + le même username qu'un utilisateur DB ne pourrait être distingué que DB indisponible. + (2) Grâce ~60 s avant re-déconnexion d'un utilisateur désactivé (cache mémoire, documenté). +- **COSMÉTIQUE** : lien « Mon compte » réutilise la classe `.nav-user` (style minimal). + +## 49. Actions restantes avant Production + +- Créer la **vraie** identité Admin Production (jamais dans ce rapport) via la procédure §22. +- Poser les vrais mots de passe PostgreSQL des rôles serveur (`\password`, jamais en script/log). +- Configurer les URLs/ports HTTPS + reverse proxy Apache réels. +- Publier et déployer les services (hors périmètre T23, à valider séparément). + +## 50. Décision + +**T23 VALIDÉ — AUTHENTIFICATION DIAGNOSTICS.WEB PRÊTE POUR PRODUCTION** diff --git a/docs/TRADUCTION_HORS_LIGNE_MOBILE.md b/docs/TRADUCTION_HORS_LIGNE_MOBILE.md new file mode 100644 index 0000000..1448b74 --- /dev/null +++ b/docs/TRADUCTION_HORS_LIGNE_MOBILE.md @@ -0,0 +1,360 @@ +# Traduction hors ligne — application mobile Omika + +> **Mise en place côté mobile** de la traduction hors ligne : langue secondaire, +> téléchargement des modèles, dictée traduite et bouton « Traduire ». +> Le service serveur qui distribue les modèles est décrit dans +> `DEPLOIEMENT_API_LANGUES.md` (à lire **avant** ce document). + +> **Cible** : `Omika.App` (code partagé), têtes `Omika.App.Android` / +> `Omika.App.iOS`, socle local `Omika.App.Local`. + +--- + +## 1. Règles absolues (non négociables) + +1. **La langue métier reste le français.** Tout ce qui est enregistré, mis dans + l'Outbox, synchronisé ou stocké dans HFSQL est du **français**. Une dictée en + langue secondaire est traduite **avant** d'entrer dans le champ : le texte + d'origine n'est jamais conservé. +2. **Le texte ne sort jamais de l'appareil.** Aucun appel réseau n'est fait pour + traduire : l'API des langues ne sert qu'à **descendre** des modèles. +3. **La traduction de lecture est un affichage seul.** Le texte traduit d'un + contenu (note, description) n'est écrit ni dans SQLite, ni dans l'Outbox, ni + vers l'API : il disparaît dès que le contenu change ou que l'écran est quitté. +4. **Aucune préférence de langue n'est envoyée au serveur.** La langue secondaire + est une préférence **locale par utilisateur**, au même titre que la pause + déjeuner (table technique `PreferencesUtilisateur`). + +--- + +## 2. Flux d'ensemble + +``` + ┌──────────────────────────────────────────┐ + HFSQL │ ParametreSysteme PAS_Code = SRV_LANGUES │ + (serveur) └───────────────────┬──────────────────────┘ + │ bootstrap + ▼ + ┌──────────────────────────────────────────┐ + Omika.Api │ GET /api/mobile/bootstrap │ + │ → MobileConfigurationDto.LanguesUrl │ + └───────────────────┬──────────────────────┘ + │ + ▼ + ┌──────────────────────────────────────────┐ + Omika.Langues.Api│ GET /api/langues (manifeste) │ + (anonyme) │ GET /api/langues/{code}/{sens}/{fichier} │ + └───────────────────┬──────────────────────┘ + │ téléchargement + SHA-256 + ▼ + Appareil ┌──────────────────────────────────────────┐ + │ Omika/langues/{code}/pack.json + fichiers │ + └───────────────────┬──────────────────────┘ + │ + ┌───────────────────┴──────────────────────┐ + ▼ ▼ + Dictée traduite (es → fr) Bouton « Traduire » (fr → es) + champ de saisie contenu en lecture seule +``` + +--- + +## 3. Fichiers créés ou modifiés + +### 3.1 Socle local — `src/Omika.App.Local` + +| Fichier | Rôle | +|---|---| +| `Models/LangueSecondairePreference.cs` | Préférence de langue secondaire (code ISO + libellé) | +| `Models/SensTraduction.cs` | Sens de traduction (`versFrancais` / `depuisFrancais`) | +| `Models/LangueDisponible.cs` | Langue proposée + état d'installation ; `PackLangueInstalle` (`pack.json`) | +| `Abstractions/ILangueSecondairePreferenceService.cs` | Lecture/écriture de la préférence | +| `Services/LangueSecondairePreferenceService.cs` | Implémentation (SQLite, par utilisateur) | +| `Abstractions/ILanguagePackService.cs` | Manifeste, téléchargement, suppression, `ProgressionTelechargement` | +| `Abstractions/ILanguagePackStore.cs` | Dépôt local (marqueurs, empreintes, chemins) | +| `Services/LanguagePackService.cs` | Téléchargement + vérification SHA-256 + marquage | +| `Services/LanguagePackStore.cs` | Écriture/lecture disque, calcul SHA-256 | +| `Infrastructure/LanguagePaths.cs` | Arborescence locale + assainissement des codes/noms | +| `Infrastructure/LanguageTag.cs` | Code ISO (`es`) → culture BCP-47 (`es-ES`) pour la dictée | +| `Abstractions/ITranslationService.cs` | Traduction hors ligne + `TranslationException` | +| `Abstractions/IOnnxInferenceSessionFactory.cs` | **Seam** avec ONNX Runtime | +| `Abstractions/OnnxTensor.cs` | Tenseur minimal (entiers / réels) | +| `Abstractions/ITextTokenizer.cs` | Tokenisation (`EncodeAsync` / `Decode`) | +| `Services/SentencePieceTokenizer.cs` | Tokeniseur SentencePiece (UNIGRAM/BPE), lecture protobuf autonome | +| `Services/OnnxTranslationService.cs` | Pipeline complet + `OnnxTranslationOptions` | +| `Services/UnavailableOnnxInferenceSessionFactory.cs` | Repli : traduction « indisponible » | +| `Services/OnnxRuntimeInferenceSessionFactory.cs` | **Moteur réel — compilé seulement sous `OMIKA_ONNX_RUNTIME`** | +| `Abstractions/IDicteeTraduiteService.cs` | Orchestration de la dictée traduite + `DicteeTraduiteService` | + +Fichiers modifiés : `Sqlite/SqliteSchema.cs` (2 colonnes + 2 migrations), +`Repositories/PreferencesUtilisateurRepository.cs`, +`Abstractions/IPreferencesUtilisateurRepository.cs`, +`Abstractions/IDictationService.cs` (**langue de dictée** + messages), +`Infrastructure/` (inchangé par ailleurs). + +### 3.2 Application — `src/Omika.App` + +| Fichier | Rôle | +|---|---| +| `Services/PlatformDicteeTraduite.cs` | Injection des contrôles + cache d'état (invalidable) | +| `ViewModels/LangueOptionViewModel.cs` | Ligne de langue (état, progression, actions) | +| `ViewModels/OnboardingViewModel.cs` | Écran d'accueil de première inscription | +| `Views/OnboardingView.axaml(.cs)` | Vue de l'accueil (3 étapes) | +| `Controls/TranslateButton.axaml(.cs)` | Bouton « Traduire » des contenus en lecture seule | + +Fichiers modifiés : `AppServices.cs` (composition root), `Navigation/PageViewModelFactory.cs`, +`ViewModels/ParametresViewModel.cs`, `Views/ParametresView.axaml`, +`ViewModels/RootViewModel.cs` (étape d'accueil), +`Controls/DictationTextField.axaml(.cs)` (panneau de dictée + bascule), +`Views/InterventionNotesView.axaml`, `Views/InterventionNotesAdministrativesView.axaml`, +`Views/InterventionDetailView.axaml`, `Views/RendezVousDetailView.axaml`. + +### 3.3 Têtes plateformes + +| Fichier | Modification | +|---|---| +| `src/Omika.App.Android/AndroidDictationService.cs` | `StartAsync(codeLangue)` → `LanguageTag.DepuisCode` | +| `src/Omika.App.iOS/IosDictationService.cs` | idem (`NSLocale.FromLocaleIdentifier`) | +| `src/Omika.App/Services/UnavailableDictationService.cs` | signature alignée | + +--- + +## 4. Stockage local des modèles + +``` +<données application>/Omika/langues/ +├── index.json dernier manifeste serveur connu (liste hors ligne) +├── es/ +│ ├── pack.json pack INSTALLÉ (version + empreintes) +│ ├── versFrancais/ es -> fr +│ │ ├── encoder_model.onnx +│ │ ├── decoder_model.onnx +│ │ ├── source.spm vocabulaire ESPAGNOL +│ │ └── target.spm vocabulaire FRANÇAIS +│ └── depuisFrancais/ fr -> es +│ ├── encoder_model.onnx +│ ├── decoder_model.onnx +│ ├── source.spm vocabulaire FRANÇAIS +│ └── target.spm vocabulaire ESPAGNOL +└── pt/ ... +``` + +> **Deux vocabulaires par sens.** Un modèle Marian/OPUS-MT a un vocabulaire par +> langue : `source.spm` (entrée) et `target.spm` (sortie). Les livrer **tous les +> deux** est obligatoire — décoder la sortie avec le vocabulaire d'entrée produit +> des identifiants interprétés dans le mauvais référentiel, donc du texte sans +> aucun sens. Un modèle à vocabulaire **partagé** (NLLB, mBART, M2M-100) n'a +> besoin que d'un `vocab.spm`, qui sert alors aux deux sens. Le service résout +> ces noms seul, sans configuration. +> +> Ne **jamais** livrer `decoder_with_past_model.onnx` (décodeur à cache +> `past_key_values`) : il est ignoré par le service. + +- `<données application>` = sandbox interne Android / dossier `Library` iOS + (voir `MobileStoragePaths.DataDirectory`). +- **`pack.json` est écrit en DERNIER**, après vérification de **tous** les + fichiers : sa présence est la preuve que le pack est complet et intègre. +- Un téléchargement interrompu laisse des fichiers `.part` — jamais promus — et + **aucun** `pack.json` : le pack n'est pas « installé à moitié ». +- Un retéléchargement **ignore** les fichiers déjà présents et conformes + (empreinte recalculée), donc reprendre après une coupure ne reconsomme pas de + données mobiles. + +--- + +## 5. Intégrité et sécurité du téléchargement + +1. **Assainissement.** Le code de langue est validé + (`LanguagePaths.EstCodeValide` : minuscules ASCII, chiffres, tiret) et le nom + de fichier est réduit à son nom simple (`Path.GetFileName`) : un manifeste + serveur ne peut jamais faire écrire hors du dossier de la langue. +2. **Empreinte obligatoire.** Un fichier du manifeste sans `sha256` fait + **refuser tout le pack** : mieux vaut ne rien installer que d'installer un + modèle non vérifiable. L'empreinte est **recalculée** sur les octets reçus — + jamais déduite de la taille ni d'un en-tête HTTP. +3. **Renommage atomique.** Le fichier n'apparaît à sa place définitive + (`File.Move` dans le même dossier) qu'après vérification réussie. Un fichier + non conforme est **supprimé**. +4. **Délais.** Aucun délai global sur le client HTTP (un modèle de 120 Mo sur + réseau mobile dépasse largement les 100 s par défaut). La robustesse vient + d'un **chien de garde d'inactivité** de 60 s, réarmé à chaque octet reçu : + une connexion lente mais qui progresse n'est jamais interrompue. +5. **API anonyme.** Aucun jeton n'est envoyé à l'API des langues. + +--- + +## 6. Base de données locale + +Deux colonnes ajoutées à la table technique `PreferencesUtilisateur` : + +| Colonne | Type | Rôle | +|---|---|---| +| `LangueSecondaire` | `TEXT NULL` | Code ISO de la langue secondaire (`es`, `pt`…), `NULL` = aucune | +| `LangueSecondaireLibelle` | `TEXT NULL` | Libellé affichable, conservé pour l'écran Paramètres **hors ligne** | + +- Ajout **idempotent** via `SqliteSchema.ColumnMigrations` : une base déjà + déployée reçoit les colonnes **sans perdre** les horaires de pause déjeuner. +- « Aucune langue secondaire » est représenté par `NULL`, **jamais** par une + chaîne vide (qui serait relue comme un code de langue valide). + +--- + +## 7. Activation du moteur d'inférence ONNX Runtime + +> **État actuel : le moteur n'est PAS embarqué.** L'application compile, se +> déploie, télécharge et vérifie les modèles ; la traduction est annoncée comme +> **indisponible** (`UnavailableOnnxInferenceSessionFactory`) au lieu d'échouer +> silencieusement. + +**Pourquoi** : le paquet `Microsoft.ML.OnnxRuntime` embarque une bibliothèque +native par architecture (Android arm64/x86_64, iOS, win-x64) et pèse plusieurs +dizaines de Mo par tête. L'activer est une décision de **poids de livrable**, pas +une décision de code : c'est pourquoi le point de contact est isolé dans un seul +fichier. + +**Activation — 3 modifications, aucune ligne de code à écrire :** + +1. `Directory.Packages.props` : + ```xml + <PackageVersion Include="Microsoft.ML.OnnxRuntime" Version="1.20.1" /> + ``` +2. `src/Omika.App.Local/Omika.App.Local.csproj` : + ```xml + <ItemGroup> + <PackageReference Include="Microsoft.ML.OnnxRuntime" /> + </ItemGroup> + <PropertyGroup> + <DefineConstants>$(DefineConstants);OMIKA_ONNX_RUNTIME</DefineConstants> + </PropertyGroup> + ``` +3. `src/Omika.App/AppServices.cs` — remplacer la fabrique par défaut : + ```csharp + IOnnxInferenceSessionFactory onnxFactory = OnnxRuntimeInferenceSessionFactory.Instance; + ``` + +Publier ensuite chaque tête avec le bon identifiant de runtime +(`-r android-arm64`, `-r ios-arm64`…) et **mesurer le poids** de l'APK/IPA. + +--- + +## 8. Ordre de réalisation (ce qui a été fait) + +| # | Étape | État | +|---|---|---| +| 1 | Préférence langue secondaire : modèle + repository + migration + écran Paramètres | ✅ | +| 2 | Pipeline ONNX minimal `OnnxTranslationService` | ✅ (moteur à activer §7) | +| 3 | Téléchargement des modèles + intégrité SHA-256 | ✅ | +| 4 | Dictée dynamique (Android/iOS) + panneau de dictée avec bascule | ✅ | +| 5 | Bouton « Traduire » + équipement des vues de contenu | ✅ | +| 6 | Écran d'accueil de première inscription | ✅ | + +--- + +## 9. Comportement à l'écran + +### 9.1 Écran Paramètres — section « Langue secondaire » + +- Liste des langues du manifeste (mémoire locale d'abord : consultable **hors + connexion**), avec poids, état (« Installée (v1.0.0) », « Non installée — + 122 Mo ») et mise à jour disponible. +- **Télécharger** (avec progression en Mo), **Choisir**, **Supprimer**, + **Actualiser la liste**, **Annuler le téléchargement**, **Retirer la langue**. +- Si la langue choisie n'est pas installée, un encart le dit explicitement : la + dictée traduite et le bouton « Traduire » ne peuvent pas fonctionner. +- Sans moteur d'inférence (Desktop), la section reste lisible mais explique que + la traduction est indisponible. + +### 9.2 Dictée — `DictationTextField` + +- **Sans langue secondaire exploitable** : comportement historique inchangé + (dictée française, insertion directe, message sous le champ). +- **Avec langue secondaire exploitable** : un **panneau de dictée** s'ouvre au + démarrage de l'écoute. Il affiche le texte reconnu en direct, la langue en + cours, et propose la **bascule `⇄`** entre français et langue secondaire (la + bascule **redémarre** l'écoute : un moteur natif ne change pas de langue en + cours de session). +- En dictée dans la langue secondaire, seul le **français traduit** entre dans le + champ ; le panneau montre « Entendu (Espagnol) » puis le résultat. +- **Si la traduction échoue**, le texte reconnu n'est pas perdu : le panneau + reste ouvert et propose « Insérer tel quel ». +- La dernière langue de dictée utilisée est mémorisée pour la session (confort de + saisie, jamais persistée). + +### 9.3 Bouton « Traduire » — `TranslateButton` + +- **Invisible** si l'utilisateur n'a pas de langue secondaire exploitable, ou si + le contenu est vide. +- Bascule « ⇄ Traduire » / « Voir en français ». +- Le résultat s'affiche sous le bouton, précédé de la mention + « Traduit automatiquement en Espagnol (hors ligne — affichage seul) ». +- Vues équipées : notes internes, notes administratives, description + d'intervention, description de rendez-vous. + +### 9.4 Écran d'accueil de première inscription — `OnboardingViewModel` + +Affiché **une seule fois** : après l'inscription réussie (QR → licence → API) et +après l'application des droits, **avant** le premier affichage du Shell. + +| Étape | Contenu | +|---|---| +| 1 | Langue secondaire : choisir et/ou télécharger les modèles | +| 2 | Thème (clair / sombre / système) + couleur d'accent — aperçu immédiat | +| 3 | Pause déjeuner habituelle (début / fin) | + +- Boutons **Retour**, **Suivant**, **Terminer**, **Passer**. +- **Rien n'est obligatoire** : « Passer » ferme l'accueil immédiatement. +- Un appareil **déjà inscrit** qui redémarre va directement au Shell (l'accueil + n'est pas rejoué) ; une **réinscription** le rejoue, ce qui est le + comportement voulu (nouvelle licence, nouveau client). +- La clôture de l'accueil rend la main au Shell : `RootViewModel.ShowOnboarding` + → `Onboarding.Termine` → `OnActivationSucceeded`. + +--- + +## 10. Diagnostic des problèmes courants + +| Symptôme | Cause probable | Action | +|---|---|---| +| Aucune langue dans la liste | `SRV_LANGUES` absent du bootstrap, ou `manifest.json` absent/vide | Vérifier §4 et §5 de `DEPLOIEMENT_API_LANGUES.md`, puis **Actualiser la liste** | +| « Le service des langues ne répond pas » | Service `OmikaLanguesApi` arrêté, port/URL erroné, HTTPS non exposé | §7.8 et §8 du doc de déploiement | +| « empreinte SHA-256 non conforme » | Fichier modifié sur le disque serveur sans régénérer `manifest.json` | Régénérer les empreintes (§5.3 du doc de déploiement) | +| La bascule `⇄` n'apparaît pas | Langue non installée, ou moteur d'inférence absent | Installer la langue dans les Paramètres ; activer le moteur (§7) | +| « Traduction hors ligne indisponible » | Moteur non embarqué (§7) | Activer `OMIKA_ONNX_RUNTIME` | +| Bucket de dictée vide / « Langue de dictée indisponible » | Langue non installée dans le moteur vocal du téléphone | Installer le paquet de langue dans les réglages Android/iOS | + +--- + +## 11. Limites connues et points d'extension + +> Les deux premiers points sont traités pas à pas dans +> **`VALIDATION_TRADUCTION_ONNX.md`** : activation du moteur, export d'une vraie +> paire FR⇄ES, validation sur le poste, et mesure de la divergence du tokeniseur. + +1. **Moteur ONNX non embarqué** — voir §7. C'est la seule fonctionnalité qui + n'est pas active de bout en bout. +2. **SentencePiece approximé sur un point précis** — `precompiled_charsmap` (la + table de normalisation Unicode compilée du modèle) n'est **pas** appliqué : la + réimplémenter demanderait un trie à double tableau pour un gain nul sur du + texte déjà en NFC, c'est-à-dire tout ce que produit un clavier mobile. + En revanche `add_dummy_prefix`, `escape_whitespaces`, + `remove_extra_whitespaces` et le **repli octet** sont désormais lus et + honorés : le tokeniseur se signale lui-même (`ProfilNormalisation`, + `Avertissements`) au lieu de diverger en silence. Les types `WORD` et `CHAR` + restent refusés au chargement. +3. **Décodage glouton** (pas de *beam search*) : compromis assumé pour la latence + sur téléphone. Le remplacer ne touche que `OnnxTranslationService`. +4. **Deux formes de modèles acceptées** : encodeur + décodeur séparés (un + `decoder*.onnx` hors `*_with_past*` est présent), ou modèle unique produisant + directement la séquence traduite. Les noms d'entrées/sorties sont résolus + **automatiquement** sur le modèle chargé, et restent surchargeables via + `OnnxTranslationOptions`. +5. **Poids des packs** : ~80 à 160 Mo par langue pour un modèle à vocabulaire + partagé, **~300 Mo** pour un Marian/OPUS-MT (deux sens × encodeur + décodeur + + deux vocabulaires). La taille est affichée **avant** téléchargement. +6. **Tests** : le calcul SHA-256, l'assainissement des chemins, le verrou + d'installation et la machine à états de la dictée sont couverts par + `LanguagePackTests` et `DictationTextFieldTests`. Le tokeniseur est couvert par + `SentencePieceFixturesTests`, **contre la référence Python** — voir + `VALIDATION_TRADUCTION_ONNX.md` §3.3. Dans l'environnement de compilation + utilisé ici, ces tests **compilent mais ne s'exécutent pas** (le testhost + VSTest échoue) : ils sont à lancer sur le poste de développement. diff --git a/docs/VALIDATION_TRADUCTION_ONNX.md b/docs/VALIDATION_TRADUCTION_ONNX.md new file mode 100644 index 0000000..ed2916e --- /dev/null +++ b/docs/VALIDATION_TRADUCTION_ONNX.md @@ -0,0 +1,348 @@ +# Valider la traduction ONNX — activation du moteur et mesure de la qualité + +> **Objet** : traiter les deux suites de la traduction hors ligne mobile : +> (1) activer `OMIKA_ONNX_RUNTIME` et faire tourner une **vraie** paire FR⇄ES ; +> (2) lever le doute sur le **tokeniseur** SentencePiece. +> +> **Cible** : poste de développement (accès NuGet) + un appareil Android. +> **Prérequis** : `DEPLOIEMENT_API_LANGUES.md` (service serveur) et +> `TRADUCTION_HORS_LIGNE_MOBILE.md` (côté application) déjà lus. + +--- + +## 1. Les deux problèmes ne se traitent pas de la même façon + +| | Nature | Qui peut le faire | Coût | +|---|---|---|---| +| **Point 1** — activer le moteur | **Procédure d'exécution** : aucun code à écrire, 3 modifications de projet + une validation à exécuter | Toute machine avec accès NuGet | ~1 h | +| **Point 2** — tokeniseur | **Travail de code** déjà largement fait (§3.1), puis **mesure** : on ne corrige plus à l'aveugle, on compare à la référence | Développeur | 2 h pour mesurer, variable ensuite | + +> **Règle directrice pour le point 2** : *ne jamais « améliorer » le tokeniseur +> sans mesure*. Une normalisation devinée est **pire** que pas de normalisation : +> elle produit un découpage différent de la référence de façon invisible. On +> mesure d'abord (§3.3), on corrige ensuite — et seulement ce qui diverge. + +--- + +## 2. Point 1 — activer le moteur et faire tourner une vraie paire FR⇄ES + +### 2.1 Prérequis + +```powershell +# Vérifier que NuGet est joignable (c'est le seul prérequis bloquant) +dotnet nuget list source +# Un pack de langue de test (voir §2.3), et ~5 Go de disque libre +``` + +### 2.2 Étape A — activer le moteur (3 modifications, aucune ligne de code) + +1. `Directory.Packages.props` : + ```xml + <PackageVersion Include="Microsoft.ML.OnnxRuntime" Version="1.20.1" /> + ``` +2. `src/Omika.App.Local/Omika.App.Local.csproj` : + ```xml + <ItemGroup> + <PackageReference Include="Microsoft.ML.OnnxRuntime" /> + </ItemGroup> + <PropertyGroup> + <DefineConstants>$(DefineConstants);OMIKA_ONNX_RUNTIME</DefineConstants> + </PropertyGroup> + ``` +3. `src/Omika.App/AppServices.cs` — une ligne : + ```csharp + IOnnxInferenceSessionFactory onnxFactory = OnnxRuntimeInferenceSessionFactory.Instance; + ``` + +**Vérification immédiate** — les deux commandes doivent passer : + +```powershell +dotnet build src/Omika.App.Local/Omika.App.Local.csproj -c Debug +dotnet build tools/Omika.LanguesProbe/Omika.LanguesProbe.csproj -c Debug +``` + +> `OnnxRuntimeInferenceSessionFactory.cs` est le **seul** fichier dont la +> compilation dépend du paquet : c'est voulu. S'il ne compile pas, c'est une +> incompatibilité d'API avec la version du paquet — corrigez ce fichier +> uniquement, rien d'autre n'en dépend. + +### 2.3 Étape B — obtenir une paire FR⇄ES réelle + +Les modèles de traduction ne sont pas livrés avec Omika (poids + licences). Le +plus simple est un modèle **OPUS-MT** de Helsinki-NLP, exporté en ONNX. + +```powershell +pip install "optimum[onnxruntime]" transformers sentencepiece + +# fr -> es (sert le sens « depuisFrancais » du pack « es ») +optimum-cli export onnx --model Helsinki-NLP/opus-mt-fr-es .\export\fr-es + +# es -> fr (sert le sens « versFrancais » du pack « es ») +optimum-cli export onnx --model Helsinki-NLP/opus-mt-es-fr .\export\es-fr +``` + +L'export produit notamment : + +``` +encoder_model.onnx +decoder_model.onnx +decoder_with_past_model.onnx <-- NE PAS LIVRER +source.spm +target.spm +``` + +> ⚠️ **`decoder_with_past_model.onnx` ne doit jamais être livré dans le pack.** +> C'est un décodeur à cache de clés/valeurs (`past_key_values`) destiné à la +> génération incrémentale : il attend des entrées que ce pipeline ne fournit pas. +> `OnnxTranslationService` l'exclut désormais explicitement (nom contenant +> `past`), mais autant ne pas le copier. + +> ⚠️ **Un modèle Marian a DEUX vocabulaires** : `source.spm` (langue d'entrée) et +> `target.spm` (langue de sortie). Les livrer **tous les deux** est obligatoire — +> voir §2.4. + +### 2.4 Étape C — construire le pack local + +> Cette étape construit un pack **de test sur le poste**. Pour livrer un pack en +> **production** (dépôt sous `Langues__RootPath`, génération du manifeste, +> contrôles), la procédure dédiée est `LIVRAISON_MODELES_LANGUES.md` — l' +> arborescence et les règles de nommage y sont les mêmes. + +Arborescence à créer, par exemple dans `C:\Omika\TestLangues\es` : + +``` +es/ +├── versFrancais/ (es -> fr) +│ ├── encoder_model.onnx <- depuis .\export\es-fr\ +│ ├── decoder_model.onnx <- depuis .\export\es-fr\ +│ ├── source.spm <- depuis .\export\es-fr\source.spm (ESPAGNOL) +│ └── target.spm <- depuis .\export\es-fr\target.spm (FRANÇAIS) +└── depuisFrancais/ (fr -> es) + ├── encoder_model.onnx <- depuis .\export\fr-es\ + ├── decoder_model.onnx <- depuis .\export\fr-es\ + ├── source.spm <- depuis .\export\fr-es\source.spm (FRANÇAIS) + └── target.spm <- depuis .\export\fr-es\target.spm (ESPAGNOL) +``` + +**Règles de nommage** (résolues automatiquement par le service, aucune +configuration nécessaire) : + +| Fichier | Rôle | Repli si absent | +|---|---|---| +| `source.spm` | vocabulaire d'entrée | `vocab.spm`, puis premier `.spm` | +| `target.spm` | vocabulaire de sortie | `vocab.spm`, puis premier `.spm` | +| `vocab.spm` | vocabulaire **commun** aux deux langues (NLLB, mBART, M2M-100) | premier `.spm` | +| `encoder_model.onnx` / `encoder.onnx` / tout autre `.onnx` | modèle principal | — | +| `decoder_model.onnx` / `decoder.onnx` | décodeur séparé | mode « modèle unique » | +| `*_with_past*.onnx` | **ignoré** | — | + +> **Modèle à vocabulaire partagé** (NLLB, mBART) : un seul `vocab.spm` suffit, +> il sert aux deux sens. **Modèle Marian/OPUS-MT** : `source.spm` + `target.spm` +> sont obligatoires. Les noms d'entrée du graphe (`input_ids` vs +> `decoder_input_ids`, `encoder_hidden_states` vs `memory`) sont eux aussi +> résolus automatiquement sur le modèle réellement chargé. + +### 2.5 Étape D — valider sur le POSTE, sans téléphone + +C'est le cœur du traitement du point 1 : **on ne débogue pas un modèle de 120 Mo +par déploiement d'APK.** + +```powershell +# 1) Le vocabulaire est-il lisible, et le tokeniseur cohérent ? +dotnet run --project tools/Omika.LanguesProbe -- inspecter .\TestLangues\es\versFrancais\source.spm + +# 2) Que produit exactement la tokenisation ? (à comparer à la référence, §3.3) +dotnet run --project tools/Omika.LanguesProbe -- encoder .\TestLangues\es\versFrancais\source.spm "Buenos días, ¿cómo está?" + +# 3) La traduction complète, avec les temps de chargement et d'inférence +dotnet run --project tools/Omika.LanguesProbe -- traduire ` + --dossier .\TestLangues\es\versFrancais --code es --sens versFrancais ` + --texte "Sustitución de la pieza" +``` + +> **Pack familial** (modèle multilingue, §2.1.1 de +> `LIVRAISON_MODELES_LANGUES.md`) : pointer `--dossier` sur le dossier du +> **sens** (`langues/pt/versFrancais`). La commande lit les poids dans le +> `commun/` voisin et affiche la ligne `Jeton cible : >>fra<<` — si cette ligne +> manque, le pack produira la mauvaise langue sans aucune erreur. + +**Ce qu'il faut regarder, dans cet ordre :** + +1. `inspecter` — `ProfilNormalisation`, `RepliOctetDisponible`, et surtout les + **avertissements**. S'il annonce `precompiled_charsmap … NON appliquée`, + c'est attendu (§3.2) : notez-le, ne le corrigez pas encore. +2. `inspecter` — les **aller-retours** `texte → ids → texte`. Tous doivent être + `IDENTIQUE`. Un `DIFFERENT` sur du texte ordinaire est le symptôme d'un + découpage divergent : passez au §3.3 **avant** de chercher ailleurs. +3. `traduire` — la sortie doit être une phrase **française plausible**. Pas + parfaite : plausible. « Remplacement de la pièce » ✅. Une suite de mots + espagnols, du texte répété ou des caractères isolés ❌ → voir §3.4. + +**Repères de performance à noter** (ils décideront de la faisabilité mobile) : + +| Mesure | Attendu sur poste | Seuil d'alerte | +|---|---|---| +| Chargement du modèle | < 2 s | > 5 s | +| Inférence d'une phrase courte | < 1 s | > 3 s | +| Aller-retour tokeniseur seul | < 5 ms | > 50 ms | + +### 2.6 Étape E — valider sur Android + +```powershell +dotnet publish src/Omika.App.Android/Omika.App.Android.csproj -c Release -r android-arm64 +``` + +1. Copier le dossier `es\` complet dans le stockage de l'appareil, sous + `<données app>/Omika/langues/es/` — ou, plus réaliste, publier le pack sur le + service Langues et le télécharger depuis **Paramètres → Langue secondaire** + (c'est aussi le test du §3 de `TRADUCTION_HORS_LIGNE_MOBILE.md`). +2. **Avant de tester la traduction**, vérifier le poids : un modèle Marian fait + ~300 Mo pour les deux sens. C'est la décision de livrable la plus lourde de + tout le lot. +3. Dicter en espagnol dans une note interne → le champ doit recevoir du français. +4. Ouvrir le panneau de dictée → la bascule `⇄` doit redémarrer l'écoute en + espagnol. +5. Sur une note existante, appuyer sur « ⇄ Traduire » → affichage espagnol, et + **rien** ne doit apparaître dans l'Outbox (vérifier la page Synchronisation). + +### 2.7 Critères go / no-go + +Le moteur est **validé** si et seulement si : + +- [ ] `inspecter` : aucun aller-retour `DIFFERENT` sur du texte ordinaire ; +- [ ] `traduire` : phrases françaises plausibles sur 10 phrases variées + (avec accents, chiffres, ponctuation, une phrase longue) ; +- [ ] inférence < 3 s par phrase sur l'appareil Android cible ; +- [ ] poids de l'APK mesuré et accepté ; +- [ ] la dictée traduite insère du français, et **aucune** donnée traduite + n'apparaît dans l'Outbox. + +Sinon → §3.4. + +### 2.8 Rollback + +Retirer les 3 modifications du §2.2 (le symbole, le `PackageReference`, la +ligne d'`AppServices`). L'application repasse à +`UnavailableOnnxInferenceSessionFactory` : la traduction est annoncée +indisponible, **rien d'autre ne change**. Aucune migration de données, aucun +état à nettoyer — c'est précisément pourquoi le moteur est isolé derrière une +fabrique. + +--- + +## 3. Point 2 — le tokeniseur + +### 3.1 Ce qui a été corrigé (et pourquoi c'était faux) + +Quatre défauts réels ont été corrigés. Aucun n'était visible sur les modèles les +plus courants, ce qui les rendait d'autant plus dangereux : + +| Défaut | Conséquence avant correction | État | +|---|---|---| +| `normalizer_spec` ignoré : préfixe `▁` ajouté d'office | Un modèle formé avec `add_dummy_prefix=false` (fréquent sur les modèles récents) était découpé — donc traduit — **différemment** de la référence | ✅ lu et honoré | +| Espaces multiples / de bord jamais réduits | `« Bonjour le monde »` produisait des marqueurs `▁` parasites absents de la référence | ✅ `remove_extra_whitespaces` honoré (espace, tabulation, `\n`, `\r`, `\v`, `\f`) | +| `escape_whitespaces` supposé vrai | Un modèle à espaces littéraux était découpé de travers | ✅ honoré | +| **Repli octet absent** | Sur un modèle multilingue, un caractère hors vocabulaire devenait `<unk>` : les accents et les alphabets non latins étaient **purement perdus** | ✅ implémenté (encodage **et** décodage) | +| **Un seul vocabulaire par pack** | **Le défaut le plus grave** : un modèle Marian a un vocabulaire par langue. Décoder la sortie avec le vocabulaire d'entrée produit des identifiants interprétés dans le mauvais référentiel → du charabia | ✅ `source.spm` + `target.spm` | + +Deux points qui **n'étaient pas** des défauts, vérifiés : + +- la pénalité du jeton inconnu (`min_score − 10`) est bien celle de la référence + (`kUnkPenalty = 10.0`) ; +- un `<unk>` par **point de code** (et non par unité UTF-16) est correct : une + paire de substituts ne doit jamais être coupée en deux. + +### 3.2 Ce qui reste approximé — et l'impact attendu + +**`precompiled_charsmap` n'est pas appliqué.** C'est la table de normalisation +Unicode compilée du modèle (structure de trie à double tableau, format propre à +SentencePiece). La réimplémenter représenterait plusieurs centaines de lignes +pour un gain **nul sur la majorité des textes**. + +Impact réel, à connaître : + +- **Aucun** sur du texte déjà normalisé en NFC (ce que produit tout clavier + Android/iOS, et tout ce que l'API renvoie) ; +- **Quelques cas** sur les formes de compatibilité (`fi` ligature, chiffres + pleine largeur `123`, exposants `²`) et sur les langues dont l'écriture + demande un repli de casse ou une normalisation de présentation. + +Le tokeniseur **le signale** désormais lui-même (`Avertissements`, +`ProfilNormalisation`). C'est visible dans `inspecter` et dans les diagnostics. + +### 3.3 Mesurer la divergence (avant de corriger quoi que ce soit) + +La référence est la bibliothèque Python `sentencepiece`, l'implémentation +d'origine de Google. + +```powershell +pip install sentencepiece + +# Génère une fixture de référence par modèle trouvé (récursif) +.\scripts\Generer-Fixtures-SentencePiece.ps1 -DossierModeles .\TestLangues +``` + +La fixture contient, pour chaque cas d'essai, les identifiants **de référence** +et le décodage **de référence**. Le test `SentencePieceFixturesTests` les +compare ensuite au tokeniseur Omika : + +```powershell +dotnet test tests/Omika.Tests --filter SentencePieceFixtures +``` + +- **Dossier de fixtures absent → le test passe** (sinon toute compilation sans + modèle serait rouge). Les cas d'essai couvrent accents français, accents et + `¿¡` espagnols, espaces de bord et doubles, chaîne vide, espaces seuls, + chiffres et ponctuation, casse mixte, phrase longue, et un alphabet non latin. +- **Un échec nomme le cas fautif**, le premier index divergent, les deux + identifiants et le texte de la pièce : de quoi corriger sans deviner. +- Les `.spm` ne sont **pas versionnés** (poids + licences) — voir + `tests/fixtures/sentencepiece/LISEZMOI.md`. + +### 3.4 Arbre de décision selon ce que révèle la mesure + +| Symptôme mesuré | Cause la plus probable | Action | +|---|---|---| +| Aller-retour `DIFFERENT` sur du texte **ordinaire** (accents, ponctuation) | Divergence de découpage | Comparer avec `encoder` : si les identifiants diffèrent dès le **premier**, c'est la normalisation ; s'ils divergent plus loin, c'est le Viterbi | +| Divergence **uniquement** sur les cas de compatibilité (`fi`, `123`) | `precompiled_charsmap` non appliqué | **Accepter** et documenter : impact réel nul sur une dictée | +| Traduction = suite de mots de la langue source, ou texte répété | Vocabulaire cible faux (ou absent) | Vérifier que `target.spm` est bien livré dans le sens concerné (§2.4) | +| Traduction = `<unk>`, `▁`, ou caractères isolés | Mauvais vocabulaire, ou modèle non aligné sur le vocabulaire | Vérifier que `source.spm`/`target.spm` viennent bien du **même** modèle que les `.onnx` | +| Erreur « n'expose aucune des entrées attendues (…) » | Noms d'entrée atypiques | Le message énumère les entrées réelles du modèle : renseigner `OnnxTranslationOptions` en conséquence | +| Sortie entière ignorée / erreur de type | ONNX Runtime refuse un type inattendu | Corrigé : le type est testé **avant** `AsTensor<T>` (qui lève au lieu de retourner `null`) | +| Divergence **après** avoir tout vérifié | Vraie limite de l'implémentation | Ouvrir un ticket avec la fixture en échec **jointe** : elle contient tout ce qu'il faut pour reproduire | + +> **Ce qu'il ne faut PAS faire** : assouplir la fixture attendue pour faire +> passer le test. Une fixture modifiée est une divergence rendue invisible. + +--- + +## 4. Hors périmètre (à ne pas confondre) + +- **Qualité de traduction** : ce document valide que le *pipeline* fonctionne, + pas que le modèle traduit bien. Un modèle médiocre restera médiocre — c'est un + choix de modèle, pas un défaut de code. +- **Poids du livrable mobile** : l'activation du moteur ONNX Runtime ajoute la + bibliothèque native par architecture, et les modèles pèsent 80 à 300 Mo par + langue. C'est une décision produit, pas technique. +- **Reprise/streaming** du téléchargement : non implémenté (le re-téléchargement + repart de zéro par fichier, mais les fichiers déjà conformes sont ignorés). +- **Beam search** : le décodage est glouton (compromis de latence assumé). + +--- + +## 5. Récapitulatif + +| # | Action | Qui | Où | +|---|---|---|---| +| 1 | Activer le symbole + le paquet + la fabrique (§2.2) | Dev (NuGet) | 3 fichiers | +| 2 | Exporter une paire FR⇄ES en ONNX (§2.3) | Dev | poste | +| 3 | Construire le pack `source.spm` + `target.spm` (§2.4) | Dev | disque | +| 4 | `inspecter` / `encoder` / `traduire` (§2.5) | Dev | poste — **pas de téléphone** | +| 5 | Générer les fixtures et lancer le test (§3.3) | Dev | `scripts\` + `dotnet test` | +| 6 | Trancher avec l'arbre de décision (§3.4) | Dev | — | +| 7 | Publier sur Android et mesurer poids + latence (§2.6) | Dev | appareil | +| 8 | Décider go / no-go (§2.7) | Produit + Dev | — | + +**Si une seule chose doit être retenue** : les étapes 4 et 5 se font **sur le +poste, en quelques minutes**. Tout le reste — déploiement d'APK, téléchargement +de 300 Mo sur un téléphone, instrumentation à distance — est un détour. diff --git a/docs/aide_sql.sql b/docs/aide_sql.sql new file mode 100644 index 0000000..e69de29 diff --git a/docs/analyse-marketing-omika.md b/docs/analyse-marketing-omika.md new file mode 100644 index 0000000..da57263 --- /dev/null +++ b/docs/analyse-marketing-omika.md @@ -0,0 +1,479 @@ +# Omika — Analyse complète du projet (base pour le site web marketing) + +> **Objet** : fournir une compréhension profonde du code source du projet **Omika** +> pour concevoir un site web de vente de l'application. Ce document croise +> l'architecture, les fonctionnalités réelles implémentées, la stack technique, +> le modèle de données et les différenciateurs, avec — pour chaque point — la +> preuve dans le code. +> +> **Sources** : code source (`src/`), solution `Omika.slnx`, documentation +> (`docs/*.md`), maquette UX (`docs/maquetteOmika.html`), fichiers de projet. +> +> **Statut du produit au moment de l'analyse** : version `1.0.0`, socle +> fonctionnel **solide et très avancé côté serveur/API**, application mobile +> **offline-first en progression** (consultation complète + écriture +> Intervention + documents/photos + saisie des temps), enrichi d'un +> **centre de diagnostic** d'exploitation. + +--- + +## 1. Résumé exécutif (pitch) + +**Omika** est une application de **gestion des interventions terrain** +(field service management) destinée aux entreprises de dépannage, maintenance, +installation et travaux (CVC, plomberie, électricité, couverture, SAV, etc.). +Elle couvre tout le cycle : **clients → sites → dossiers → interventions → +rendez-vous/planning → suivi des temps → documents/photos → comptes rendus → +rapports → e-mails**, avec une application **mobile offline-first** (Android, +iOS) et une console **desktop** (Windows/macOS/Linux). + +Points de vente majeurs : + +- **Migration réussie d'un logiciel métier legacy** (WinDev « Batik », ~15 ans + d'existant) vers une **stack .NET moderne** sans casser la base de données + existante (HFSQL de PC SOFT) — c'est un argument de confiance fort. +- **Offline-first** : les techniciens travaillent sans réseau ; la + synchronisation est **fiable, idempotente et asynchrone**. +- **Multi-plateforme** : une seule base de code (Avalonia) pour Android, iOS et + desktop. +- **Monétisation intégrée** : activation par **licence**, verrouillage par + appareil, jetons signés — le produit est prêt à être vendu. +- **Exploitabilité** : un **centre de diagnostic** + télémétrie OpenTelemetry + pour le support et l'exploitation. + +--- + +## 2. Qu'est-ce qu'Omika ? (positionnement produit) + +| Élément | Valeur | +|---|---| +| **Nom** | Omika | +| **Slogan / positionnement** | « Interventions terrain » (maquette `docs/maquetteOmika.html`) | +| **Catégorie** | Gestion d'interventions / Field Service Management / CRM terrain | +| **Usage** | Suivi des interventions techniques chez les clients, du RDV au rapport | +| **Public cible** | Sociétés de services techniques (artisans, PME, groupes) | +| **Éditeur historique** | Applilogik (URLs de licence `*.applilogik.fr`) | +| **Ancêtre** | Batik / Isis_BO (WinDev), décliné pour plusieurs clients (SLAMM, Bouvard, Artisans Partenaires, Batigest) | + +Le cœur métier : **l'intervention** est l'agrégat central. Autour gravitent les +**clients**, **contacts**, **sites/lieux**, **dossiers** (groupes +d'interventions), **rendez-vous** (planning individuel et d'équipe), **suivi des +temps**, **documents/photos**, **comptes rendus**, **rapports** (modèles +personnalisables), **e-mails** (modèles + SMTP), **collaborateurs/équipes**, +**rôles et droits d'accès**, et **paramètres métier** configurables. + +--- + +## 3. Historique et contexte : du WinDev au .NET + +Le projet est une **réécriture** d'un logiciel historique WinDev : + +| | Génération 1 (legacy) | Génération 2 (ce dépôt) | +|---|---|---| +| Langage | WinDev (WLanguage) | C# / **.NET 10** | +| Base de données | HFSQL (PC SOFT) | HFSQL **inchangée** + SQLite (mobile) | +| Interface | Fenêtres WinDev | **Avalonia** (Desktop / Android / iOS) | +| Web service | `Batik_WS_Com_Mob`, `Batik_WS_Lic_Mob` | **Omika.Api** (ASP.NET Core) | +| Service de sync | `Omika_S_Comm_DEV` (WinDev) | **Omika.Worker** (.NET) | + +Chiffres clés du legacy rétro-ingénieré (source : `docs/ESTIMATION_EFFORT_DEVELOPPEMENT.md`) : + +- ~**600 000 lignes** de corpus legacy analysé (2 générations WinDev + 3 web services) ; +- ~**1 600 procédures**, **140 fenêtres**, ~**380 classes**, **46 états d'impression** ; +- schéma HFSQL : **48 → 58 tables**, **720 rubriques** mappées. + +**Règle d'or du projet** : la base HFSQL existante **n'est jamais modifiée** +(aucune table/collonne ajoutée ou supprimée). Le nouveau code lit/écrit dans les +tables existantes. Cela garantit une **cohabitation sans risque** avec +l'ancien système et une bascule progressive. + +> **Argument commercial** : « On remplace votre vieux logiciel sans toucher à +> vos données. » C'est rare et rassurant pour un acheteur qui a 15 ans +> d'historique. + +--- + +## 4. Cible, personas et cas d'usage + +### 4.1 Personas + +1. **Le technicien / intervenant terrain** (mobile) : consulte son agenda du + jour, ouvre la fiche intervention, prend des photos, ajoute des documents, + saisit son temps, consulte le client/site/contact, travaille **sans réseau**. +2. **Le chef d'équipe / planificateur** (desktop) : planifie les rendez-vous, + suit l'agenda de l'équipe, affecte les collaborateurs. +3. **Le back-office / administratif** : gère clients, dossiers, documents, + modèles de rapports et d'e-mails, paramètres métier. +4. **L'exploitant / le support** : utilise le centre de diagnostic + (`Diagnostics.Web`) pour suivre la santé du parc, les erreurs, la + synchronisation, la télémétrie. + +### 4.2 Cas d'usage couverts (de bout en bout) + +1. Activation de licence → session sécurisée → shell. +2. Consultation de l'agenda (jour) et du détail d'un RDV. +3. Consultation/recherche/filtre des interventions (actif/archivé). +4. **Création / modification / archivage d'une intervention** (offline). +5. **Ajout de photos / documents** sur intervention (offline). +6. **Saisie du temps** (offline, rattachée à une intervention ou un RDV). +7. Génération de **rapports** (modèles Word/RTF → PDF) et **e-mails** (modèles + + SMTP) — backend. +8. **Synchronisation** manuelle mobile ↔ serveur. +9. **Diagnostic** du parc et de la sync (support). + +--- + +## 5. Inventaire fonctionnel (le cœur du marketing) + +> État réel par module. Légende : ✅ opérationnel · 🟡 partiel/backend · ⬜ en projet. + +### 5.1 Référentiels (données de base) + +| Fonction | État | Preuve dans le code | +|---|---|---| +| **Clients** (fiche, liste, adresses) | ✅ API + 🟡 mobile (lecture) | `ClientService`, `ClientEndpoints`, `ClientDetailView` | +| **Contacts / personnes** (rôles, civilité, tel, e-mail) | ✅ API + 🟡 mobile (lecture) | `ContactService`, `ContactEndpoints`, `ContactDetailView` | +| **Sites / lieux** (adresse, GPS prévu) | ✅ API + 🟡 mobile (lecture) | `SiteService`, `SiteEndpoints`, `SiteDetailView` | +| **Sociétés** | ✅ | `Societe` (entité), `SocieteDto` | +| **Collaborateurs** | ✅ API + 🟡 mobile (lecture) | `CollaborateurService`, `CollaborateurEndpoints` | +| **Équipes** | ✅ API | `EquipeService`, `EquipeEndpoints` | +| **Rôles & droits d'accès** | ✅ | `Role`, `DroitAcces`, `Permission`, `MobileIdentityProvider` | +| **Paramètres métier** (types, statuts, civilités, catégories…) | ✅ | `ParametreMetier`, `ReferenceDataService`, `ReferenceDataEndpoints` | + +### 5.2 Dossiers & interventions + +| Fonction | État | Preuve | +|---|---|---| +| **Dossiers** (regroupent des interventions) | ✅ API + 🟡 mobile (lecture) | `DossierService`, `DossierEndpoints`, `DossierDetailView` | +| **Interventions** (création/modif/archive) | ✅ **bout en bout offline** | `InterventionService`, `InterventionSyncOperationHandler`, `InterventionEditView` | +| Recherche d'interventions | ✅ mobile (locale) + API | `MobileInterventionSearchService`, `InterventionsView` | +| Filtre actif / archivé | ✅ | `EstArchive` | +| Actions d'intervention | ✅ | `ActionIntervention`, `ActionInterventionDto` | +| États d'intervention | ✅ | `EtatIntervention`, `EtatInterventionDto` | +| Checklists | ✅ | `Checklist`, `ChecklistItem` | +| **Compte rendu** (signé électroniquement client + technicien, devis conforme, réserves) | 🟡 backend | `CompteRenduService`, `CompteRenduEndpoints` | + +### 5.3 Planning & rendez-vous + +| Fonction | État | Preuve | +|---|---|---| +| **Agenda du jour** (RDV) | ✅ mobile | `AgendaView`, `AgendaViewModel` | +| Navigation jour précédent/suivant | ✅ | `AgendaDayDisplayItem` | +| **Détail d'un RDV** | ✅ mobile (lecture) | `RendezVousDetailView` | +| **Agenda d'équipe** | 🟡 (maquette + API) | `AgendaEquipeView`, `RendezVousEndpoints` | +| CRUD rendez-vous | 🟡 backend (API) | `RendezVousService`, `CreateRendezVousRequest` | +| Participants / contacts d'un RDV | ✅ | `ParticipantRendezVous`, `RDV_Collaborateur`, `RDV_Contact` | +| Annulation (motifs) | ✅ modèle | `AnnulationRendezVous` | + +### 5.4 Suivi des temps + +| Fonction | État | Preuve | +|---|---|---| +| Consultation des temps | ✅ mobile (liste) | `SuiviTempsLocalService`, `SuiviTempsViewModel` | +| **Saisie de temps** (offline-first) | ✅ | `SuiviTempsCreateView`, `SuiviTempsCreateViewModel`, `SuiviTempsSyncOperationHandler` | +| Référentiel « type de temps » local | ✅ | `IParametreMetierLocalService.GetTypeTempsAsync()` | +| Validation métier (champ `Valide`) | 🟡 backend | `SuiviTempsService` | + +### 5.5 Documents & photos + +| Fonction | État | Preuve | +|---|---|---| +| Liste des documents d'une intervention | ✅ mobile | `InterventionDocumentsView` | +| **Ajout photo/document (offline)** | ✅ | `OutboxService` + `DocumentGuid` + `SyncEngine` | +| Téléchargement à la demande | ✅ | `MobileDocumentService`, `GET /api/documents/{guid}` | +| Ouverture offline (cache) | ✅ | `DocumentCacheService` | +| Visionneuse photo | ✅ | `PhotoViewerView` | +| Éditeur d'image | ✅ | `ImageEditorView` (SkiaSharp) | +| Optimisation des photos | ✅ | `PhotoOptimizationSettings`, SkiaSharp | +| Lecture EXIF (date réelle de prise de vue) | ✅ | `MetadataExtractor` | + +### 5.6 Rapports & e-mails (backend) + +| Fonction | État | Preuve | +|---|---|---| +| **Modèles de rapport** (Word/RTF) | ✅ | `ModeleRapportService`, `ModeleRapport` | +| **Modèles d'e-mail** | ✅ | `ModeleMailService`, `ModeleMail` | +| Mots-clés / rubriques de substitution | ✅ | `MotClefService`, `RubriqueSubstitutionEngine` | +| **Génération DOCX → PDF** | ✅ | `DocumentGenerationService`, `RapportPdfService`, `DocumentFormat.OpenXml` | +| Pré-remplissage des champs depuis la base | ✅ | `RapportChampService`, `RapportChampEndpoints` | +| **Envoi d'e-mail (SMTP)** | ✅ | `EmailCreationService`, `MailKitEmailSender` (MailKit) | +| Images inline dans les e-mails | ✅ | `EmailImageInliner`, `EmailDocxRenderer` | +| Conversion RTF/HTML | ✅ | `RtfPlainText`, `DocxHtmlConverter` | +| Écrans mobile rapport/e-mail | ⬜ (maquette uniquement) | `RapportChampsView`, `NouveauEmailView` (partiels) | + +### 5.7 Synchronisation & hors-ligne + +| Fonction | État | Preuve | +|---|---|---| +| **Mode hors-ligne** (SQLite locale) | ✅ | `omika.db`, `LocalDatabase`, `SnapshotApplier` | +| **Moteur de synchronisation** | ✅ | `SyncEngine` | +| **Outbox** (file des changements) | ✅ | `OutboxService`, `OutboxRepository` | +| **Idempotence** (pas de doublon) | ✅ | `OperationId` + `ISyncOperationStatusStore` | +| **Retry** (max 30, rejet terminal) | ✅ | `SyncProcessor`, `MaxRetryCount=30` | +| **Snapshot** agenda serveur → mobile (RDV ±14 j + interventions/contacts liés) | ✅ | `MobileSnapshotService`, `MobileSnapshotResponse` | +| Chargement « à la demande » des fiches (client/site/dossier/document/temps) | ✅ | `MobileInterventionSearchService`, endpoints `/api/*` | +| Réconciliation d'identités (GUID mobile ↔ PK) | ✅ | `MobileIdentityReconciliationService`, `MobileEntityIdentityResolver` | +| État de sync affiché (Pending/Rejected) | ✅ | `SynchronisationView`, `PendingSyncItem` | + +### 5.8 Licence & sécurité + +| Fonction | État | Preuve | +|---|---|---| +| **Activation par licence** (code client + n° licence) | ✅ | `LicenseService`, `LicenseActivationView` | +| **Inscription par QR code signé** (RSA-SHA256, `kid`) | ✅ | `EnrollmentQrCodec` | +| Validation / révocation | ✅ | `POST /api/license/validate` | +| **Verrouillage par appareil** | ✅ | `AssignDeviceAsync` (`LI_IDMobile`) | +| **Jeton signé** HMAC-SHA256 (stateless, 2 segments) | ✅ | `TokenService`, `MobileAuthMiddleware` | +| Codes d'erreur métier | ✅ | `LicenseErrorCodes` (14 codes E0xxx/E1xxx/E2xxx/E3xxx) | +| Stockage sécurisé du token (Keystore/Keychain/secure storage) | ✅ | `PlatformSecureTokenStore` | +| Authentification back-office (PBKDF2-SHA256) | ✅ | `DiagnosticPasswordHasher`, `BackOfficeAuthEndpoints` | + +### 5.9 Exploitation & support (Diagnostic Center) + +| Fonction | État | Preuve | +|---|---|---| +| **Portail web d'exploitation** | ✅ | `Omika.Diagnostics.Web` (Dashboard, Diagnostics, Erreurs, Traces, Synchronisation, Telemetry, Parc, Versions, Référentiel) | +| Gestion des clients diagnostics (serveurs) | ✅ | `ClientCode` + `ApiKey` | +| **Gestion des utilisateurs** (rôles Support/Admin) | ✅ | `DiagnosticUserAuthenticator`, page `/Users` | +| Base PostgreSQL dédiée | ✅ | `omika_diagnostics` (Npgsql) | +| **Télémétrie** (traces/logs/métriques) | ✅ | `Omika.Observability.External` (OpenTelemetry, OTLP) | +| **Outbox de diagnostic** (buffering hors-ligne) | ✅ | `Omika.Core/Observability/Outbox` | +| Forwarding vers le centre central | ✅ | `Omika.Core/Observability/Forwarding` | + +--- + +## 6. Architecture technique + +### 6.1 Stack + +| Couche | Technologie | +|---|---| +| Langage / runtime | C# 13 / **.NET 10** | +| UI | **Avalonia 12.1.1** (Fluent, Inter, Skia) | +| MVVM | CommunityToolkit.Mvvm 8.4.2 | +| API | **ASP.NET Core** (Minimal API) + OpenAPI | +| Service de fond | `Microsoft.NET.Sdk.Worker` (BackgroundService) | +| Base serveur | **HFSQL (PC SOFT)** via **ODBC** + **OLE DB** | +| Base mobile | **SQLite** (Microsoft.Data.Sqlite) | +| Base support | **PostgreSQL** (Npgsql) | +| E-mail | **MailKit** (SMTP) | +| Documents | **DocumentFormat.OpenXml** (DOCX), conversion PDF | +| Images | **SkiaSharp** + **MetadataExtractor** (EXIF) | +| QR code | **QRCoder** + **ZXing.Net** (scan caméra Android) | +| Cartographie | **Mapsui** (composant carte) | +| Observabilité | **OpenTelemetry** (OTLP HTTP/protobuf) | +| Tests | **xUnit** (2 038 tests) | + +### 6.2 Les projets (solution `Omika.slnx`) + +| Projet | Rôle | +|---|---| +| `Omika.Core` | Cœur métier : domaine, DTO, services, sync mobile, observabilité | +| `Omika.Data` | Accès HFSQL : connexions (ODBC/OLE DB), repositories adaptatifs, modèles physiques, migration | +| `Omika.Api` | Web service REST (97 endpoints) | +| `Omika.Worker` | Service de synchronisation (arrière-plan) | +| `Omika.App` | UI Avalonia partagée (29 écrans) | +| `Omika.App.Desktop` | Hôte Windows/macOS/Linux | +| `Omika.App.Android` | Hôte Android | +| `Omika.App.iOS` | Hôte iOS | +| `Omika.App.Local` | Couche offline-first (SQLite + SyncEngine) | +| `Omika.Observability.External` | OpenTelemetry | +| `Omika.Diagnostics.*` | Centre de diagnostic (Core/Data/Api/Web/Worker) | +| `Omika.Tests`, `Omika.Diagnostics.Tests` | Tests xUnit | +| `tools/*` | Sondes de diagnostic HFSQL, générateur de modèles | + +### 6.3 Topologie des flux + +``` +Mobile (Android/iOS) ──HTTP JSON + Bearer──► Omika.Api ──► écrit TOSRV (HFSQL Service) + │ +Desktop (Windows) ───── accès HFSQL direct ─────────────────► │ + ▼ + Omika.Worker (boucle) + TOSRV → MobReception → handler + → MobLog (résultat terminal) + │ + Omika.Core (métier) + Omika.Data (HFSQL) +``` + +- Le **mobile** ne touche **jamais** HFSQL directement (toujours via l'API). +- Le **desktop** accède à HFSQL en direct (comportement historique conservé). +- L'API **reçoit** les opérations ; le Worker les **applique** de façon asynchrone. + +### 6.4 Bases de données + +| Base HFSQL | Rôle | +|---|---| +| Business / WebService | Données métier (Batik ou Omika) | +| Service | Table `TOSRV` (file d'entrée des opérations) | +| WebService | Tables `MobReception` + `MobLog` (file de travail + journal) | +| Licence | Tables `ClientBase`, `Licence`, `LicenceHisto` | +| PostgreSQL `omika_diagnostics` | Données du centre de diagnostic | +| SQLite `omika.db` | Copie locale offline sur mobile (29-30 tables) | + +### 6.5 Compatibilité bi-schéma Batik ↔ Omika + +Un mécanisme central (`ApplicationRuntimeContext`, `SchemaDetection`, +repositories **adaptatifs** `Adaptive*`) permet de lire **indifféremment une +base Batik (ancienne) ou Omika (nouvelle)**. Les modèles physiques sont +auto-générés depuis un dictionnaire machine-readable +(`docs/schema-compatibilite-batik-omika.json`) : 48 tables Batik + 58 tables +Omika, 720 couples table-rubrique, avec gestion des champs « zombie » et des +GUID. **Le mobile ne sait jamais quelle génération de base il utilise.** + +--- + +## 7. Différenciateurs (arguments de vente) + +1. **Migration sans douleur du legacy** : on conserve la base HFSQL et les + données ; bascule progressive, double schéma Batik/Omika géré en interne. +2. **Offline-first robuste** : SQLite local + Outbox + synchronisation + idempotente avec retry — les techniciens travaillent partout (sous-sol, + zone blanche, chantier). +3. **Fiabilité de la sync** : GUID de transaction, réconciliation d'identités, + pas de doublon, rejet terminal propre (pas d'écrasement silencieux). +4. **Multi-plateforme, un seul code** : Android, iOS, desktop avec Avalonia. +5. **Monétisation native** : licence par appareil, activation sécurisée, jetons + signés — le produit est « vendable » tel quel. +6. **Rapports & e-mails intégrés** : modèles personnalisables, DOCX→PDF, SMTP + avec images inline — sans outil externe. +7. **Sécurité sérieuse** : token HMAC-SHA256, PBKDF2-SHA256, secure storage, + aucune exposition des PK/chemins serveur au mobile. +8. **Exploitabilité** : centre de diagnostic + télémétrie OpenTelemetry pour un + support professionnel (orientation SaaS). +9. **Qualité** : ≈ 3 900 tests automatisés, 0 `TODO`/`NotImplementedException`, + documentation abondante. +10. **Confidentialité par conception** : télémétrie pseudonymisée + (HMAC-SHA256, tenant-scoped), liste de données interdites, whitelist — + compatible RGPD et multi-tenant. + +--- + +## 8. État d'avancement réel (honnêteté marketing) + +Il est essentiel de **ne pas survendre**. État constaté dans le code : + +- **Serveur / API** : très avancé — 97 endpoints couvrant la quasi-totalité du + périmètre métier (clients, contacts, sites, dossiers, interventions, RDV, + collaborateurs, équipes, suivi des temps, comptes rendus, documents, rapports, + e-mails, référence, licence, sync, bootstrap, back-office). +- **Mobile (consultation)** : complet — agenda, interventions, dossiers, + clients, sites, contacts, collaborateurs, documents/photos. Le périmètre de + travail est en **offline** (snapshot agenda ±14 j) ; les autres référentiels + sont chargés « à la demande » puis conservés en cache local. +- **Mobile (écriture)** : opérationnel pour **Intervention** (create/edit/ + archive), **documents/photos**, **suivi des temps** (création). Les écritures + des autres entités (RDV, dossier, client, site, collaborateur, notes, + compte rendu) sont **backend-ready** mais pas encore branchées à l'UI mobile. +- **Handlers de sync** : `Intervention` (create/update/archive), + `SuiviTemps` (create), `RendezVous` (validation de temps / annulation), + `NoteInterne`/`NoteAdministrative` (create) sont branchés ; les autres types + d'entité (Client, Contact, Site, Dossier, Document…) passent par un fallback + propre (`NO_HANDLER` → rejet explicite). +- **Licence serveur** : logique complète + tests verts, mais la **base Licence + réelle** (topologie de déploiement) est un point de vigilance documenté + (« STOP » dans `docs/LOT_SERVEUR_LICENCE.md`). + +→ Le site doit présenter Omika comme une **plateforme moderne en cours de +finalisation**, avec un cœur serveur solide et une expérience mobile offline +déjà démontrable (démo de l'agenda, des interventions, des photos, de la +saisie de temps et de la synchronisation). + +--- + +## 9. Chiffres clés (crédibilité) + +| Indicateur | Valeur | +|---|---| +| Projets | 13 (+ suite Diagnostics) | +| Écrans applicatifs | ≈ 37 vues Avalonia (29 écrans distincts) | +| ViewModels / vues XAML | 42 / 51 | +| Endpoints HTTP | ≈ 97 (plus de 90 routes desktop + mobile) | +| Tables HFSQL manipulées | 65 (118 classes de modèles) | +| Couples table-rubrique mappés | 720 | +| Repositories (Batik + Omika + adaptatifs) | 19 + 20 + 22 | +| Instructions SQL brutes | ~500 | +| Tests automatisés | **≈ 3 900** (Omika.Tests ≈ 3 370 + Diagnostics.Tests ≈ 536) | +| Lignes de code (production) | ~85 200 C# + ~7 700 XAML | +| Lignes de test | ~43 800 | +| Corpus legacy analysé | ~600 000 lignes | +| Effort humain équivalent estimé | ~800 jours-homme (3-4 ans / 1 dev) | +| Version | 1.0.0 | + +--- + +## 10. Assets disponibles pour le site web + +Le dépôt contient déjà des éléments directement réutilisables : + +- **Logos** (`src/Logos/`) : + - `Logo_principal.svg` + - `Logo_mobile.svg` + - `Logo_secondaire_blanc.svg` + - `Logo_secondaire_violet.svg` +- **Maquette UX complète** : `docs/maquetteOmika.html` — design system complet + (couleurs, composants, thèmes clair/sombre, responsive mobile/desktop), 593 + lignes. Elle montre les écrans réels du produit (agenda, équipe, + interventions, dossiers, clients, lieux, rapports, e-mails, paramètres). +- **Couleur de marque** : indigo `#4f46e5` (dégradé `#4f46e5 → #3730a3`), avec + thème sombre `#0c1320` (extrait de la maquette). +- **Marque** : monogramme « OM », accroche « Interventions terrain ». + +--- + +## 11. Angles et messages marketing suggérés + +1. **« Votre ancien logiciel, enfin moderne »** — le remplacement de WinDev sans + perdre les données (pérenne pour les acheteurs déjà équipés en Batik). +2. **« Vos techniciens travaillent partout »** — offline-first, photos, + documents, temps saisis sur le terrain, synchronisation automatique. +3. **« Du RDV au rapport, sans ressaisie »** — cycle complet intégré + (planning → intervention → temps → compte rendu → rapport → e-mail). +4. **« Un produit vendable et sécurisé »** — licence par appareil, activation, + rôles et droits, jetons signés. +5. **« Exploitable et supportable »** — centre de diagnostic, télémétrie, + monitoring (orientation SaaS). +6. **« Du sérieux industriel »** — .NET 10, tests automatisés, compatibilité + double schéma, documentation. + +### Proposition de pages pour le site + +- **Accueil** : pitch + hero (maquette/logo) + bénéfices clés. +- **Fonctionnalités** : agenda/planning, interventions, documents/photos, + suivi des temps, rapports & e-mails, synchronisation. +- **Mobile & offline** : démonstration du mode hors-ligne. +- **Sécurité & licence** : activation, rôles, jetons. +- **Exploitation / SaaS** : centre de diagnostic. +- **À propos / migration** : l'histoire Batik → Omika, compatibilité des + données. +- **Tarifs / Contact** (à définir avec l'éditeur). + +--- + +## 12. Limites et points de vigilance (à connaître avant de rédiger) + +- Le produit est en **version 1.0.0**, encore en finalisation sur la partie + écriture mobile de certaines entités (RDV, dossier, client, site, notes, + compte rendu : backend prêt, UI mobile à brancher). +- La **migration Batik → Omika** (`MigrationService`) est un **squelette** : + la conversion clés numériques → clés textuelles et le suivi + `ElementModifie`/`ElementSupprime` sont prévus mais pas encore opérationnels. +- La **base de licence réelle** doit être validée sur la topologie de + production (documenté, pas bloquant pour le code). +- La **suppression physique** (DELETE) est volontairement refusée au profit de + l'**archivage** (traçabilité) — c'est aussi un argument (aucune perte). +- **Accès HFSQL via OLE DB** : Windows-only, dépendant des drivers PC SOFT + installés sur l'hôte serveur. +- La conversion **DOCX → PDF** repose sur **LibreOffice headless** + (`soffice --headless`) : prérequis de déploiement serveur à documenter. +- **Auth à deux vitesses** : les routes desktop/back-office s'appuient sur le + réseau/hébergement (reverse proxy) plutôt que sur un rejet 401 par endpoint ; + seules les routes `/api/*` vérifient le jeton. +- Durcissements à traiter avant une production large : base SQLite locale non + chiffrée, jeton Bearer en clair (desktop), pas de rate-limiting sur les + endpoints publics de licence (voir `docs/ESTIMATION_EFFORT_DEVELOPPEMENT.md`). + +--- + +*Document généré à partir de l'analyse du code source (`src/`), de la solution +et de la documentation du dépôt `D:\Avalonia\Omika`.* diff --git a/docs/analyse-sources.md b/docs/analyse-sources.md new file mode 100644 index 0000000..b7ab25f --- /dev/null +++ b/docs/analyse-sources.md @@ -0,0 +1,941 @@ +# Analyse des sources Windev Batik / OMIKA + +**Objet :** préparer la compréhension fonctionnelle et technique nécessaire à une future migration vers une application Avalonia et une API .NET, sans créer à ce stade ni projet, ni modèle, ni code applicatif. + +**Date d'analyse :** 6 août 2026 +**Sources analysées :** `BATIK.md` et `OMIKA.md` + +--- + +## 1. Périmètre et limites de l'analyse + +Le répertoire de travail fourni contient uniquement deux exports Markdown de documentation technique générée par WINDEV : + +- `BATIK.md`, qui documente en réalité le projet WINDEV **`Isis_BO`**, situé historiquement sous `D:\Projets Windev\Batik\WD30\Dev` ; +- `OMIKA.md`, qui documente le projet WINDEV **`Batik`**, situé sous `D:\Projets Windev\Batik\Nouvelle Version\Batik`, mais dont l'initialisation définit le nom d'application **`Omika`**. + +## 2. Convention de nommage utilisée dans ce document + +Les noms des fichiers et des projets sont croisés. Pour éviter toute ambiguïté : + +| Désignation dans cette analyse | Source | Projet documenté | Interprétation | +|---|---|---|---| +| **Ancienne version / legacy Batik** | `BATIK.md` | `Isis_BO` | Ancien socle WINDEV, multi-configuration et historiquement utilisé pour Batik/Isis/SLAMM/Bouvard/Artisans Partenaires. | +| **Nouvelle version WINDEV / OMIKA** | `OMIKA.md` | `Batik`, avec `cNomApp = "Omika"` | Refonte WINDEV plus récente, distincte de la future cible Avalonia/.NET. | + + +## 3. Synthèse générale + +Les deux applications sont des applications WINDEV Windows de gestion d'interventions couvrant notamment : + +- l'authentification et les droits d'accès ; +- les sociétés, collaborateurs et équipes ; +- les clients, contacts, adresses et sites ; +- les dossiers et interventions ; +- le planning, les rendez-vous et leur affectation aux collaborateurs ; +- le suivi des temps ; +- les documents, comptes rendus, rapports et modèles de courriels ; +- les paramètres métier et utilisateur ; +- des intégrations avec Batigest, des bases externes, le mobile, un service de licence et SysLog. + +## 4. Structure générale observée + +### 4.1 Ancienne version / `BATIK.md` / projet `Isis_BO` + +#### Organisation logique + +L'ancien projet est organisé autour de plusieurs familles d'éléments : + +- `FEN_*` : fenêtres principales, fenêtres de choix, popups, login, agenda, saisie des temps, utilitaires ; +- `FI_*` : fenêtres internes de fiches, listes, planning, tableaux de bord et paramétrage ; +- `ETAT_*` : états d'impression et variantes clients, notamment SLAMM, GAP et Bouvard ; +- `M*` : classes métier ou classes de mapping d'une entité ; +- `MTableauDe*` : classes de collection ou de présentation tabulaire ; +- `PFiche*` : classes de présentation/édition d'une fiche ; +- `PTable*` : classes de présentation de listes ou tables ; +- `COL_*` et `LIB_*` : collections de procédures globales ; +- composants internes et externes, dont `COMP_SysLog` et `WDFAA`. + +La multiplication des classes `M*`, `MTableauDe*`, `PFiche*` et `PTable*` explique l'effectif élevé de 181 classes. Cette architecture semble s'appuyer sur une couche de présentation généralisée autour de chaque table, mais elle ne garantit pas une séparation nette entre domaine, accès aux données et interface. + + +## 6. Description de la base de données + +### 6.1 Emplacement de la description + +La description complète de la base se trouve dans les analyses WINDEV documentées : + +- ancienne version : `Isis_BO.ana\Isis_BO.wda` ; +- nouvelle version : `Batik.ana\Batik.wda`. + +Les parties « Schéma des données », « Dictionnaire des rubriques », « Groupes de fichiers », « Liaisons », « Connexions » et « Tables et rubriques » des deux documents constituent la source principale pour préparer un futur modèle de données .NET. + +### 6.2 Statistiques comparées + +| Mesure | Ancienne version | Nouvelle version OMIKA | Écart | +|---|---:|---:|---:| +| Génération de l'analyse | 314 | 367 | +53 | +| Tables | 48 | 58 | +10 | +| Rubriques | 720 | 872 | +152 | +| Liaisons déclarées | 38 | 38 | 0 | +| Connexions déclarées | 1 | 1 | 0 | +| Groupes de fichiers | 2 | 2 | 0 | + +Les deux analyses utilisent une connexion de type **HFSQL Classic** nommée `ConnexionLocale`, associée à `<MAIN_HF_DIR>`. Les tables sont réparties au moins entre les groupes de protection `ProtectionStd` et `ProtectionPlus`. + +### 6.3 Tables de l'ancienne version — 48 tables + +`AccesEtDroit`, `Action`, `Adresse`, `BddExterne`, `CheckList`, `CheckList_Collab`, `Client`, `Client_Adresse`, `Client_BddExterne`, `Client_Lieu`, `Collaborateur`, `CompteRendu`, `Compteur`, `Document`, `DocumentNote`, `Dossier`, `Equipe`, `Equipe_Collaborateur`, `EtatIntervention`, `Intervention`, `Intervention_BddExterne`, `Intervention_ChampLibre`, `Intervention_Collaborateur`, `Intervention_Personne`, `Lieu`, `Lieu_Personne`, `MailCat`, `MailModele`, `MessageExterne`, `MessageInterne`, `Mobile`, `MobLog`, `MobReception`, `ModeleRapportMob`, `MotClef`, `ParametreApplication`, `ParametreMetier`, `ParametreMetierEntete`, `ParametreSysteme`, `ParametreUtilisateur`, `Personne`, `Planning_RDV`, `Planning_RDV_Personne`, `Societe`, `Societe_Collaborateur`, `SuiviDesTemps`, `Telephone`, `Utilisateur`. + +### 6.4 Tables de la nouvelle version — 58 tables + +`AccesEtDroit`, `Action`, `Adresse`, `BddExterne`, `CategorieAcces`, `CheckList`, `CheckList_Collab`, `Client`, `Client_Adresse`, `Client_BddExterne`, `Client_Lieu`, `Collaborateur`, `CompteRendu`, `Compteur`, `Doc_Aide`, `Document`, `DocumentNote`, `Dossier`, `ElementModifie`, `ElementSupprime`, `Equipe`, `Equipe_Collaborateur`, `EtatIntervention`, `Etats`, `Intervention`, `Intervention_BddExterne`, `Intervention_ChampLibre`, `Intervention_Personne`, `Lieu`, `Lieu_Personne`, `MailCat`, `MailModele`, `MessageExterne`, `MessageInterne`, `Mobile`, `MobLog`, `MobReception`, `ModeleRapport`, `ModeleRapportMob`, `MotClef`, `ParametreApplication`, `ParametreMetier`, `ParametreMetierEntete`, `ParametreSysteme`, `ParametreUtilisateur`, `Personne`, `Planning_RDV`, `Planning_RDV_Personne`, `RDV_Collaborateur`, `RDV_Contact`, `RDV_Planning`, `Role`, `RubriquesDocument`, `Societe`, `Societe_Collaborateur`, `SuiviDesTemps`, `Telephone`, `Utilisateur`. + +### 6.5 Delta de tables + +#### Tables ajoutées dans la nouvelle version + +- `CategorieAcces` +- `Doc_Aide` +- `ElementModifie` +- `ElementSupprime` +- `Etats` +- `ModeleRapport` +- `RDV_Collaborateur` +- `RDV_Contact` +- `RDV_Planning` +- `Role` +- `RubriquesDocument` + +#### Table supprimée du nouveau schéma + +- `Intervention_Collaborateur` + +Le solde est bien de dix tables supplémentaires. + +### 6.6 Rubriques des tables ajoutées + +La liste ci-dessous est issue des sections « Tables et rubriques » de `OMIKA.md`. + +#### `CategorieAcces` + +- `CAC_PKID` +- `CAC_Cle` +- `CAC_Libelle` +- `CAC_Ordre` +- `CAC_Mobile` +- `CAC_AncienCode` +- `CreationDate` +- `CreationUser` +- `ModifDate` +- `ModifUser` +- `CAC_Description` + +#### `Doc_Aide` + +- `DA_PKID` +- `DA_Fenetre` +- `DA_Champs` +- `DA_Titre` +- `DA_Contenu` +- `DA_Tags` +- `DA_TexteOriginal` +- `ModifUser` +- `ModifDate` + +#### `ElementModifie` + +- `EM_PKID` +- `EM_Fichier` +- `EM_Date` +- `EM_IdUser` +- `EM_IdEnrg` + +#### `ElementSupprime` + +- `ES_PKID` +- `ES_NumEnrg` +- `ES_IdEnrg` +- `ES_Fichier` +- `ES_IdUser` +- `ES_DateHeure` +- `ES_NumEnr_Id` + +#### `Etats` + +- `ETA_PKID` +- `ETA_Groupe` +- `ETA_Libelle` +- `ETA_Ordre` +- `ETA_Valeur` + +#### `ModeleRapport` + +- `MRP_PKID` +- `MRP_Nom` +- `MRP_Modele` +- `MRP_EnvoiMob` +- `MRP_Extra` +- `CreationDate` +- `CreationUser` +- `ModifDate` +- `ModifUser` + +#### `RDV_Collaborateur` + +- `RVC_PKID` +- `RVC_GUID_RDV` +- `RVC_GUID_Colb` +- `RVC_DateDeb` +- `RVC_DateFin` +- `RVC_CleStatut` +- `RVC_Responsable` +- `RVC_TempsValide` +- `RVC_DateExport` +- `GUID` +- `Archive` +- `RVC_CR` +- `RVC_Superposable` + +#### `RDV_Contact` + +- `RVCT_PKID` +- `GUID` +- `RVCT_GUID_Pers` +- `RVCT_GUID_RDV` + +#### `RDV_Planning` + +- `RV_PKID` +- `RV_IdSociete` +- `RV_IdDossier` +- `RV_IdInter` +- `RV_CleType` +- `RV_CleStatut` +- `RV_Objet` +- `RV_Description` +- `RV_IdLieu` +- `RV_SAV` +- `RV_CleOrigineAnnu` +- `RV_CleMotifAnnu` +- `RV_RappelSMS` +- `Archive` +- `CreationDate` +- `CreationUser` +- `ModifDate` +- `ModifUser` +- `GUID` +- `RV_Groupe` +- `RV_PlusieursJours` +- `RV_Date` + +#### `Role` + +- `R_PKID` +- `R_Libelle` +- `R_AncienCode` +- `CreationDate` +- `CreationUser` +- `ModifDate` +- `ModifUser` + +#### `RubriquesDocument` + +- `RD_PKID` +- `RD_Nom` +- `RD_Description` +- `RD_Rubrique` +- `RD_TypeMembre` +- `RD_MasqueSaisie` +- `RD_EnvoiMob` +- `RD_BD` +- `RD_Modifiable` +- `RD_Groupe` +- `RD_IdRubParent` +- `RD_MembreMob` +- `RD_Ordre` + +### 6.7 Évolutions de rubriques observées sur les tables communes + +Les principales évolutions visibles sont les suivantes : + +| Table | Évolutions notables observées dans OMIKA | +|---|---| +| `Action` | Ajout de `AC_CleTypeAction`. | +| `Adresse` | Ajout de `AD_Adresse` et `GUID`. | +| `Client` | Ajout de clés textuelles pour type, statut, apporteur, origine et mode de règlement, ainsi que `GUID`. | +| `Client_Adresse` | Ajout de `CA_CleType`, `CA_Facturation` et `CA_Livraison`. | +| `Collaborateur` | Ajout de `CO_CleCivilite`, `CO_CleStatut` et `GUID`. | +| `CompteRendu` | Ajout d'une clé de type de signataire et d'un GUID de rendez-vous. | +| `Document` | Ajout de clés textuelles de catégorie et d'état documentaire. | +| `Dossier` | Ajout de clés textuelles de type et statut, plus `GUID`. | +| `EtatIntervention` | Ajout de `EI_CleEtat`. | +| `Intervention` | Ajout de clés textuelles de type et état, plus `GUID`. | +| `Intervention_Personne` | Ajout d'une clé de rôle. | +| `Lieu` | Ajout d'une clé de type et de `GUID`. | +| `Lieu_Personne` | Ajout de clés de rôle et de type. | +| `MailModele` | Ajout de données supplémentaires et d'un indicateur d'envoi mobile. | +| `MessageExterne` | Ajout d'une rubrique de pièces jointes. | +| `ParametreMetier` | Ajout de `PA_CLE` et d'une catégorie. | +| `ParametreMetierEntete` | Ajout d'une catégorie et d'un type. | +| `Personne` | Ajout de clés de civilité et de rôle, plus `GUID`. | +| `Planning_RDV` | Ajout de clés textuelles de type, statut, origine et motif d'annulation. | +| `Societe` | Ajout de `GUID` et d'un identifiant SIREN. | +| `SuiviDesTemps` | Ajout de clés de type de temps et de rendez-vous, de notes collaborateur/administration et d'un GUID de rendez-vous/collaborateur. | +| `Utilisateur` | Ajout d'une référence vers le nouveau rôle. | + +Cette liste cible les changements structurants utiles à la migration ; elle ne remplace pas un diff machine exhaustif des 872 rubriques. + +### 6.8 Tendances de modélisation + +#### Passage d'identifiants numériques à des clés stables + +La nouvelle version ajoute de nombreuses rubriques du type `*_Cle*`, souvent des chaînes de longueur 16. Les anciens identifiants numériques correspondants restent parfois dans l'analyse mais sont marqués **zombie**. + +Exemples documentés : + +- `CO_IDCivilite`, `CO_IDStatut` ; +- `PE_IDCivilite`, `PE_IDRole` ; +- `IN_IDTypeIntervention`, `IN_IDEtatIntervention` ; +- `CL_IDType`, `CL_IDStatut`, `CL_IDApporteur`, `CL_IDApportOrigine`, `CL_IDModeReglement` ; +- `LI_IDType` ; +- anciens identifiants de type et statut de `Planning_RDV` ; +- anciennes rubriques de type dans `SuiviDesTemps` ; +- anciennes catégories/états du document. + +Cela suggère une stratégie de découplage des paramètres métier vis-à-vis des identifiants physiques. Pour la future API, il faudra déterminer quelle valeur constitue désormais la vérité métier : ancien identifiant, nouvelle clé, ou combinaison des deux durant une transition. + +#### Introduction des GUID + +Des GUID sont ajoutés sur plusieurs entités principales et sont centraux dans les nouvelles tables de rendez-vous. Cela paraît destiné à stabiliser l'identité entre bases, synchronisations ou clients, mais cette finalité doit être confirmée. + +#### Refonte du planning + +La coexistence de `Planning_RDV`, `Planning_RDV_Personne` et des nouvelles tables `RDV_Planning`, `RDV_Collaborateur`, `RDV_Contact`, combinée aux procédures de migration de `FEN_MaJParemApp`, indique une refonte progressive du modèle de rendez-vous. + +Le statut exact de cette coexistence est une question prioritaire : + +- ancien modèle encore actif ; +- nouveau modèle actif avec compatibilité ; +- migration partielle selon les clients ; +- ou double écriture temporaire. + +--- + +## 7. Liaisons et intégrité + +Les deux analyses déclarent 38 liaisons, mais leur composition évolue. + +### Liaisons ou associations notables de l'ancienne version + +- `Intervention` vers `Action` ; +- `Intervention` et `Collaborateur` via `Intervention_Collaborateur` ; +- `Planning_RDV` vers les personnes via `Planning_RDV_Personne` ; +- relations client/adresse, client/lieu, lieu/personne, société/collaborateur, équipe/collaborateur ; +- relations documentaires et intervention/personne ; +- association entre modèles de mail et catégories. + +### Évolutions notables dans OMIKA + +- nouvelles associations entre `RDV_Planning` et `RDV_Collaborateur` ; +- nouvelles associations entre `RDV_Planning`, `RDV_Contact` et `Personne` ; +- disparition de la table `Intervention_Collaborateur` ; +- nouvelles tables utilisant des GUID sans que toutes les relations soient nécessairement matérialisées par des contraintes HFSQL visibles. + +Le nombre total de liaisons restant identique malgré onze ajouts et une suppression de table suggère que certaines relations du nouveau modèle sont gérées par le code ou par des clés logiques plutôt que par des contraintes déclarées. Cette conclusion est une hypothèse à vérifier dans l'analyse physique et sur une base réelle. + +--- + +## 8. Traitements métier identifiés + +### 8.1 Localisation générale + +Les traitements métier sont répartis dans quatre zones : + +1. les collections de procédures globales ; +2. les classes `M*` et classes transverses ; +3. les procédures locales des fenêtres et fenêtres internes ; +4. les requêtes SQL écrites directement dans ces procédures. + +La future extraction vers une API ne pourra donc pas se limiter à convertir les classes. Il faudra également analyser les traitements d'événements, les boutons, les validations, les filtres, les requêtes et les effets de bord dans les fenêtres. + +### 8.2 Ancienne version — collections principales + +| Collection | Responsabilités observées | +|---|---| +| `COL_COMMUN` | Utilitaires métier, chargement de paramètres, gestion de sociétés/équipes/collaborateurs, compteurs, jours fériés, planning et rendez-vous. | +| `COL_CONNEXION` | Connexions HFSQL, utilisateurs et groupes, droits de base, préparation des fichiers, contrôle utilisateur et structure. | +| `COL_HFSQL` | Paramètres de connexion, lecture INI, ouverture de base, critères, requêtes et utilitaires HFSQL. | +| `COL_DOCUMENT` | Chemins documentaires, fichiers, catégories et autorisations documentaires. | +| `COL_IHM` | Filtres, tris, blocages, mappage de champs et services d'interface. | +| `COL_THREAD` | Recherches ou chargements exécutés dans des threads. | +| `COL_MOBILE` | Services ou synchronisations mobiles. | +| `COL_VERSION` | Mise à niveau de paramètres et de structures selon la version. | +| `LIB_ModelesEmails` | Construction de courriels, remplacement de balises et modèles. | +| `LIB_Synchro` | Synchronisation avec Batigest ou sources externes. | +| `COL_EXPORT` | Exports, notamment JSON. | +| `COL_PrefAGD` | Préférences d'agenda. | +| `COL_Visite` | Visites guidées. | +| `COL_TEMPORAIRE` | Procédures temporaires ou expérimentales à auditer avant migration. | + +### 8.3 Nouvelle version — collections principales + +| Collection | Responsabilités observées | +|---|---| +| `Lib_InitProjet` | Chargement des caches globaux, rôles, paramètres, états, sociétés, collaborateurs, modèles de mail/rapport et aide. | +| `Lib_Planning` | Création, modification et suppression de rendez-vous ; rendez-vous multi-jours ; groupes de collaborateurs ; contacts ; détection de conflits ; ressources et rendu du planning. | +| `Lib_Parametres` | Lecture/écriture des paramètres application et système, chiffrement/déchiffrement, groupes de paramètres. | +| `Lib_DroitsAcces` | Calcul et contrôle des droits. | +| `Lib_Version` | Création/mise à jour des paramètres métier, catégories d'accès, états et version applicative. | +| `LIB_HFSQL` | Fonctions HFSQL communes. | +| `LIB_Documents` | Recherche et manipulation des fichiers et arborescences documentaires. | +| `LIB_RubMailRapport` | Définition et substitution des rubriques de rapports/courriels. | +| `LIB_ElementsModifies` | Suivi des modifications d'entités. | +| `LIB_Surveille` | Surveillance HFSQL, file d'événements et rafraîchissement d'interface. | +| `LIB_Batigest` | Intégration avec Batigest. | +| `Lib_Email` | Envoi et préparation des courriels. | +| `Lib_AppMobile` | Fonctions mobiles. | +| `Lib_Commun` | Utilitaires et règles transverses. | +| `Lib_UI`, `Lib_Champs`, `LIB_TypeChamp` | Abstraction partielle des champs et comportements UI. | +| `LIB_Aide`, `LIB_VisitesGuidées` | Aide contextuelle et visites guidées. | + +### 8.4 Fenêtres et classes à forte valeur métier + +#### Authentification et sécurité + +- `FEN_Login` +- ancienne version : `COL_CONNEXION`, `COL_HFSQL`, `MAccesEtDroit`, `MUtilisateur`, `PFicheUtilisateur`, `PTableUtilisateur` +- nouvelle version : `ConnexionHFSQL`, `Droit`, `MAcces`, `MRole`, `MUtilisateur`, `Lib_DroitsAcces`, `Lib_InitProjet` + +#### Référentiels clients et sites + +- clients : `FEN_Fiche_Client`, `FI_Liste_Client`, `MClient` +- contacts : `FEN_Fiche_Contact` ou `FI_Fiche_Personne`, `MPersonne_Ct` / `MPersonne` +- sites/lieux : `FEN_Fiche_Site` ou `FI_Fiche_Lieu`, `MLieu` +- adresses : `FEN_Fiche_Adresse`, `MAdresse`, `MAdresseClient` +- sociétés : `FEN_Fiche_Societe`, `MSociete` +- collaborateurs et équipes : `FEN_Fiche_Colb`, `MCollaborateur`, `FEN_Fiche_Equipe`, `MEquipe` + +#### Dossiers et interventions + +- `FEN_Fiche_Dossier`, `FEN_Fiche_Dossier_Creation`, `FI_Liste_Dossier`, `MDossier` +- `FI_Fiche_Intervention`, tableaux de bord d'intervention, `MIntervention` +- actions, comptes rendus, messages, documents et donneurs d'ordre associés + +#### Planning et rendez-vous + +- `FEN_Agenda`, `FI_Agenda`, `FI_Planning`, `FEN_Fiche_RDV`, `FI_RDV`, `FEN_RDV_Attente` +- `MRDV`, `MRDV_Planning`, `MRDV_Colb`, `MRDV_Contact` +- `Lib_Planning` + +Le code documenté gère notamment : + +- la création d'un rendez-vous simple ; +- les rendez-vous de nuit ; +- les rendez-vous répartis sur plusieurs jours ; +- les rendez-vous affectés à plusieurs collaborateurs ; +- la modification d'une occurrence ou d'un groupe ; +- la détection de chevauchements non superposables ; +- l'association de contacts ; +- la synchronisation des données affichées dans le planning ; +- les préférences de titre, description, bulle, heures visibles et granularité. + +#### Suivi des temps + +- `FEN_Suivi_Temps` +- `FEN_Fiche_Suivi_Temps` +- `FEN_Fiche_Suivi_Temps_RDV` +- `FEN_Liste_Colb_Suivi_Temps` +- `FI_Temps` +- `MSuiviTemps` + +Les traitements incluent la saisie, la validation, la pondération, le rapprochement avec les rendez-vous et des totaux par type de temps ou type de rendez-vous. + +#### Documents, rapports et courriels + +- `FEN_Creation_Doc_Rub` +- `FEN_Fiche_Document` +- `FEN_Rapport_Document_Inter` +- `FEN_Fiche_Modele_Rapport` +- `FEN_Fiche_Modele_Mail` +- `LIB_Documents` +- `LIB_RubMailRapport` +- `Lib_Email` +- `MDocument`, `MModeleRapport`, `MModeleMail`, `MRubriqueDoc` + +Les documents peuvent dépendre de chemins configurables et d'une structure de répertoires par client, intervention ou site. Les modèles de rapports et de courriels utilisent des rubriques dynamiques et des substitutions de mots-clés. + +#### Intégrations + +- Batigest : connecteurs/classes et bibliothèques dédiées ; +- bases externes : table `BddExterne`, classes de configuration et paramètres JSON ; +- mobile : bibliothèques, tables `Mobile`, `MobLog`, `MobReception`, services web ; +- licence : service web configuré dans le projet ; +- SysLog : composant de journalisation ; +- courriel local : composant spécifique dans OMIKA. + +### 8.5 Traitements de migration déjà présents dans OMIKA + +`FEN_MaJParemApp` est un élément essentiel pour comprendre la transformation de l'ancien modèle vers le nouveau. La documentation y recense notamment des procédures de : + +- mise à jour des tables ; +- création de rubriques documentaires ; +- mise à jour des adresses ; +- génération ou mise à jour des GUID ; +- migration des rendez-vous vers les nouveaux fichiers ; +- traitement des rendez-vous groupés, individuels et multi-jours ; +- mise à jour des profils et rôles ; +- migration des paramètres métier ; +- rapprochement entre comptes rendus et rendez-vous. + +`Lib_Version` complète ces traitements par des créations/mises à jour de paramètres, états et catégories d'accès. Ces deux zones devront être étudiées avant toute conception d'un script de migration .NET, car elles contiennent probablement le meilleur historique exécutable des transformations déjà décidées. + +--- + +## 9. Constantes globales et configuration + +### 9.1 Ancienne version + +Les constantes sont réparties entre : + +- l'initialisation du projet `Isis_BO` ; +- `COL_Constantes` ; +- certaines collections métier, par exemple les paramètres et le planning ; +- les variantes conditionnelles de compilation. + +Catégories observées : + +- version du projet ; +- noms de produit et de fichiers INI ; +- chemins et formats de répertoires documentaires ; +- groupes d'utilisateurs HFSQL ; +- identifiants de paramètres métier ; +- constantes d'affichage et de planning ; +- balises de signature de courriel ; +- constantes de licence et de services ; +- valeurs liées au chiffrement et aux comptes techniques. + +Le projet contient plusieurs configurations de compilation : Batik, Isis, SLAMM, Bouvard, Artisans Partenaires, utilitaire et récupération d'heures. Elles modifient notamment le produit, le fichier INI, le service de licence, les logos et certains comportements. + +### 9.2 Nouvelle version OMIKA + +Les constantes sont réparties entre : + +- l'initialisation du projet `Batik` ; +- `LIB_ConstantesGlobal` ; +- `ConnexionHFSQL` ; +- `Lib_Parametres` ; +- `Lib_Planning` ; +- `Lib_Version` ; +- diverses classes et fenêtres. + +Éléments structurants confirmés : + +- nom d'application `Omika` ; +- répertoire et fichier `Omika.ini` ; +- constantes de résultats oui/non et code d'erreur de blocage HFSQL ; +- clés des paramètres métier ; +- groupes de paramètres par domaine ; +- options d'affichage du planning ; +- noms de fenêtres et paramètres d'ouverture ; +- constantes de droits et catégories d'accès. + +### 9.3 Point de sécurité + +Les deux documentations exposent des secrets, mots de passe techniques, clés de chiffrement et adresses de services directement dans le code source ou les exemples de configuration. Les valeurs ne sont volontairement pas reproduites dans ce document. + +Avant toute migration, il faudra : + +1. inventorier ces secrets et leurs usages ; +2. les révoquer ou les faire tourner si nécessaire ; +3. les retirer du code et de l'historique distribué ; +4. les stocker dans une solution de secrets adaptée aux environnements .NET ; +5. séparer strictement les configurations développement, recette et production. + +--- + +## 10. Connexions HFSQL + +### 10.1 Connexion déclarée dans les analyses + +Les deux analyses décrivent une connexion `ConnexionLocale` de type **HFSQL Classic**, utilisant `<MAIN_HF_DIR>`. En exécution, le code reconfigure toutefois les fichiers vers une connexion HFSQL Client/Serveur. + +### 10.2 Ancienne version + +La construction de la connexion est distribuée entre `COL_HFSQL`, `COL_CONNEXION`, l'initialisation du projet et `FEN_Login`. + +Le fichier INI contient une section générale et une ou plusieurs sections de base. Les clés documentées incluent : + +- nombre de bases ; +- ordre ; +- serveur ; +- port ; +- nom de base ; +- libellé logique ; +- indicateur de chiffrement. + +Le flux d'ouverture observé est approximativement : + +1. lecture du fichier INI ; +2. construction d'une liste de connexions ; +3. sélection éventuelle d'une base dans `FEN_Login` ; +4. création/configuration d'un objet `Connexion` ; +5. configuration du provider Client/Serveur et de l'accès lecture/écriture ; +6. affectation du serveur, du port, de la base et d'un compte technique ; +7. `HChangeConnexion` pour les fichiers ; +8. application des mots de passe de groupes de fichiers ; +9. ouverture et contrôle de la structure ; +10. contrôle de l'utilisateur applicatif et de ses droits ; +11. éventuelle reconnexion avec l'utilisateur final. + +`COL_CONNEXION` contient également de la gestion d'utilisateurs et groupes HFSQL, des droits de base, des mises à jour de structure et des traitements de connexion des services mobiles. + +### 10.3 Nouvelle version OMIKA + +La logique est davantage encapsulée dans la classe `ConnexionHFSQL`, bien que des utilitaires restent dans `LIB_HFSQL` et le login. + +Le flux observé est : + +1. recherche de `Omika.ini` dans le répertoire commun global ; +2. lecture des mêmes familles de clés `[CONFIG]` et `[BASE_n]` ; +3. création d'un squelette de fichier INI si aucune configuration n'existe ; +4. configuration d'une connexion Client/Serveur en lecture/écriture ; +5. utilisation d'un chiffrement AES128 pour la connexion ; +6. affectation des mots de passe aux groupes `ProtectionPlus` et `ProtectionStd` ; +7. `HChangeConnexion("*", connexion)` ; +8. ouverture de la base ; +9. test d'ouverture d'une table pour détecter une configuration de chiffrement incorrecte ; +10. création ou mise à jour de l'utilisateur HFSQL ; +11. rattachement au groupe utilisateur ; +12. reconnexion avec le compte utilisateur. + +La classe contient également une politique de mot de passe dérivé du login et une limitation des connexions pour les utilisateurs standards. Ces mécanismes devront être remis à plat dans la future architecture : l'API devra devenir le point de contrôle d'accès, et l'application Avalonia ne devrait pas recevoir des identifiants HFSQL privilégiés. + +### 10.4 Bases externes + +Les deux versions possèdent une table `BddExterne` avec des paramètres JSON. La nouvelle version ajoute : + +- `MConnexionBaseExt` ; +- `FEN_Parametres_Base_Ext` ; +- `FI_Configuration_BaseExt` ; +- une structure `ST_ParamConfigBDExt` ; +- `LIB_Batigest`. + +Les contrats exacts, moteurs de base, requêtes, modes d'authentification et responsabilités de synchronisation restent à inventorier dans les sources physiques et les configurations réelles. + +--- + +## 11. Différences principales entre l'ancienne version Batik et OMIKA + +| Axe | Ancienne version | Nouvelle version OMIKA | Conséquence pour la migration | +|---|---|---|---| +| Projet WINDEV | `Isis_BO` | `Batik`, application `Omika` | Confirmer le référentiel fonctionnel réellement en production. | +| Schéma | `Isis_BO.wda` | `Batik.wda` | Un diff officiel du schéma est indispensable. | +| Tables/rubriques | 48 / 720 | 58 / 872 | Le nouveau modèle est plus riche et inclut des migrations en cours. | +| Classes | 181 | 46 | L'ancienne architecture est très généralisée ; la nouvelle est plus compacte. | +| Modèles de champs | 1 | 35 | OMIKA mise davantage sur la composition UI. | +| États | 26 | 11 | Des variantes d'impression ont été supprimées, regroupées ou non reprises. | +| Planning | `Planning_RDV` et tables associées | Coexistence de l'ancien modèle et de `RDV_Planning`/`RDV_Collaborateur`/`RDV_Contact` | Identifier le modèle cible réellement utilisé et les règles de double écriture. | +| Accès | Profils/modules et classes générées | `Role`, `CategorieAcces`, `Droit`, `Lib_DroitsAcces` | Reconstituer une matrice de permissions fonctionnelle. | +| Identifiants métier | Nombreux identifiants numériques | Clés textuelles et GUID ajoutés | Définir les identifiants publics de l'API et les mappings de migration. | +| Modèles de rapport | Principalement états et modèles mobiles | Table `ModeleRapport`, rubriques documentaires et éditeurs dédiés | Prévoir un sous-chantier rapports/documents. | +| Suivi des changements | Limité ou dispersé | `ElementModifie`, `ElementSupprime`, surveillance HFSQL | Comprendre les besoins de synchronisation, audit ou rafraîchissement. | +| Aide | Fichier d'aide/visites | Table `Doc_Aide`, aide contextuelle et visites | Décider si ces données sont à migrer vers l'API ou restent côté client. | +| Connexion | Collections globales et variantes de compilation | Classe `ConnexionHFSQL` plus centralisée | Ne pas reproduire l'accès direct HFSQL dans Avalonia ; passer par l'API. | +| Logique métier | Classes de présentation + fenêtres + collections | Classes plus légères, bibliothèques, mais toujours beaucoup de logique dans les fenêtres | Prévoir une phase de caractérisation avant extraction. | +| Configuration | Multiples INI et configurations compilées | `Omika.ini`, bases externes et paramètres en base | Formaliser une matrice de configuration par client/environnement. | + +--- + +## 12. Risques et points de vigilance + +### 12.1 Champs zombie encore utilisés + +La documentation OMIKA recense de nombreux avertissements indiquant que des champs zombie sont encore référencés dans des fenêtres, classes et requêtes. Cela représente un risque de divergence entre : + +- la valeur historique ; +- la nouvelle clé métier ; +- les écrans encore non migrés ; +- les scripts de mise à jour ; +- les exports et états. + +Un inventaire automatisé des références à chaque champ zombie est prioritaire. + +### 12.2 Coexistence de deux modèles de rendez-vous + +Le planning est l'une des zones les plus complexes. Les tables historiques et nouvelles semblent coexister, avec des scripts de migration et plusieurs types de regroupement. Une erreur de compréhension pourrait entraîner des pertes d'affectations, contacts, heures ou comptes rendus. + +### 12.3 Logique métier dans l'interface + +Des règles métier, requêtes SQL et effets de bord résident dans les procédures locales des fenêtres. Une migration écran par écran sans extraction préalable du comportement risquerait de réécrire des règles de manière incohérente. + +### 12.4 Secrets codés en dur + +Les identifiants techniques et clés présents dans les sources constituent un risque de sécurité et empêchent une gestion propre des environnements. + +### 12.5 Threads non sécurisés + +La documentation OMIKA contient plusieurs avertissements sur des appels `ThreadExécute` non sécurisés, notamment dans les traitements documentaires, les courriels, les rapports et la surveillance. Ces traitements devront être redéfinis avec des primitives asynchrones .NET, une gestion d'annulation et une séparation claire entre opérations serveur et client. + +### 12.6 Fonctions de chiffrement conservées pour compatibilité + +Des avertissements indiquent l'usage de fonctions `Crypte`/`Décrypte` conservées pour compatibilité. Les données déjà chiffrées devront être identifiées pour éviter de les rendre illisibles lors de la migration. + +### 12.7 Couverture de tests insuffisante + +L'ancienne version possède un objet de test isolé mais pas de suite utile. La nouvelle documentation ne montre pas de couverture automatisée comparable. Il faudra créer des tests de caractérisation avant de déplacer les règles dans l'API. + +### 12.8 États et variantes client + +L'ancienne version contient de nombreux états spécifiques SLAMM, GAP et Bouvard. La nouvelle version en conserve moins. Il faut confirmer si les états supprimés sont obsolètes, remplacés ou encore requis par certains clients. + +--- + +## 13. Hypothèses raisonnables + +Les éléments suivants sont des hypothèses, non des faits définitivement établis : + +1. `BATIK.md` représente le socle historique commun à plusieurs déclinaisons client, malgré le nom de projet `Isis_BO`. +2. `OMIKA.md` représente une nouvelle version WINDEV progressivement rebaptisée Omika, et non encore la cible Avalonia. +3. Les champs `*_Cle*` ont été ajoutés pour stabiliser les références aux paramètres métier indépendamment des identifiants numériques propres à une base. +4. Les GUID ont été introduits pour faciliter la synchronisation, la déduplication ou l'identification interbases. +5. `ElementModifie`, `ElementSupprime` et `LIB_Surveille` servent à la synchronisation ou au rafraîchissement distribué des écrans. +6. `Role` et `CategorieAcces` constituent le nouveau mécanisme de permissions destiné à remplacer ou compléter `AccesEtDroit` et les anciens profils/modules. +7. `RDV_Planning`, `RDV_Collaborateur` et `RDV_Contact` représentent le modèle cible du planning, tandis que `Planning_RDV` reste pour compatibilité ou migration. +8. La réduction de 181 à 46 classes traduit l'abandon d'un framework de présentation généralisé plutôt qu'une réduction équivalente du périmètre métier. +9. Une partie des variantes historiques est désormais portée par les données de paramétrage plutôt que par des configurations compilées. + +Toutes ces hypothèses doivent être vérifiées par lecture des fichiers WINDEV physiques, des configurations actives et d'une base représentative. + +--- + +## 14. Zones encore inconnues + +### Dépôt et compilation + +- arborescence physique complète du dépôt ; +- fichiers de projet et configurations réellement actives ; +- gestion de versions et historique des migrations ; +- dépendances externes non reprises dans les exports ; +- scripts de build, d'installation et de mise à jour ; +- déclinaisons exactes par client. + +### Données + +- version HFSQL serveur et mode de déploiement ; +- volumes par table ; +- distributions, valeurs nulles et doublons ; +- enregistrements orphelins ; +- statut réel des rubriques zombie ; +- qualité et unicité des GUID ; +- encodages et contraintes non visibles dans les extraits ; +- bases encore non migrées vers OMIKA. + +### Règles métier + +- définition officielle de chaque statut, type et paramètre métier ; +- règles de cycle de vie d'un dossier et d'une intervention ; +- invariants de planning et de suivi des temps ; +- règles de suppression, archivage et restauration ; +- portée des transactions ; +- comportement attendu lors des erreurs réseau ou de concurrence ; +- règles spécifiques à chaque client. + +### Intégrations + +- contrat exact avec Batigest ; +- formats et fréquence des échanges mobiles ; +- contrat du service de licence ; +- serveurs de courrier et modèles d'authentification ; +- rôle opérationnel de SysLog ; +- emplacement et sécurité des partages documentaires ; +- moteurs et schémas des bases externes. + +### Expérience utilisateur + +- écrans réellement utilisés ; +- fonctionnalités obsolètes ; +- parcours prioritaires ; +- exigences d'impression ; +- raccourcis, comportements implicites et habitudes utilisateurs ; +- besoins hors connexion éventuels. + +--- + +## 15. Prochaines étapes recommandées + +### Étape 1 — Obtenir le dépôt source réel + +Récupérer une copie en lecture seule contenant au minimum : + +- les fichiers projets WINDEV ; +- toutes les fenêtres, fenêtres internes, états, classes et collections ; +- les analyses `.ana`/`.wda` ; +- les composants internes et externes ; +- les fichiers de configuration d'exemple expurgés ; +- les ressources JSON et modèles ; +- les configurations de compilation. + +### Étape 2 — Déterminer la référence fonctionnelle + +Faire valider explicitement : + +- quelle version est actuellement en production ; +- quels clients utilisent l'ancienne ou la nouvelle version ; +- quelles fonctionnalités de l'ancien projet n'ont pas été reprises dans OMIKA ; +- si OMIKA doit être considéré comme la référence fonctionnelle de la migration Avalonia/API. + +### Étape 3 — Produire un inventaire de schéma machine-readable + +Exporter pour chaque analyse : + +- tables ; +- rubriques ; +- types et tailles ; +- valeurs par défaut ; +- clés simples/composées ; +- index ; +- contraintes et cardinalités ; +- groupes de protection ; +- champs zombie ; +- rubriques ajoutées, supprimées et renommées. + +Le résultat devrait être un CSV ou JSON diffable, sans créer encore les modèles .NET. + +### Étape 4 — Valider les données réelles + +Sur une copie anonymisée : + +- compter les lignes ; +- vérifier les GUID ; +- comparer anciens identifiants et nouvelles clés ; +- identifier les valeurs zombie encore alimentées ; +- vérifier les orphelins ; +- contrôler le modèle de rendez-vous ; +- mesurer les tailles de mémos, documents et historiques. + +### Étape 5 — Cartographier les cas d'usage + +Documenter de bout en bout, avec les tables lues/écrites et les effets de bord : + +1. connexion et chargement des droits ; +2. création/modification d'un client, contact et site ; +3. création d'un dossier et d'une intervention ; +4. création/modification d'un rendez-vous simple, groupé et multi-jours ; +5. saisie et validation des temps ; +6. génération d'un compte rendu et d'un rapport ; +7. gestion documentaire ; +8. envoi de courriel ; +9. synchronisation Batigest/mobile ; +10. archivage et suppression. + +### Étape 6 — Construire un catalogue des règles métier + +Pour chaque règle : + +- identifiant et description ; +- source WINDEV précise ; +- déclencheur ; +- entrées ; +- tables/rubriques ; +- validations ; +- sorties ; +- effets de bord ; +- message d'erreur ; +- variantes client ; +- test de caractérisation associé. + +### Étape 7 — Étudier les migrations existantes + +Auditer en priorité : + +- `FEN_MaJParemApp` ; +- `Lib_Version` ; +- les procédures liées aux GUID ; +- les transformations de paramètres métier ; +- les migrations d'adresses ; +- le passage de l'ancien au nouveau modèle de rendez-vous ; +- les mises à jour de profils/rôles. + +L'objectif est d'établir une table de correspondance fiable « ancien champ → nouveau champ » avant toute migration vers .NET. + +### Étape 8 — Inventorier les intégrations et secrets + +Créer une matrice contenant : + +- système externe ; +- protocole ; +- endpoint ; +- authentification ; +- données échangées ; +- fréquence ; +- sens du flux ; +- reprise sur erreur ; +- propriétaire ; +- environnement ; +- secret associé. + +Les valeurs sensibles doivent être expurgées de la documentation partagée. + +### Étape 9 — Mettre en place des tests de caractérisation + +Avant d'écrire l'API : + +- capturer des scénarios reproductibles ; +- préparer des jeux de données anonymisés ; +- vérifier les résultats WINDEV actuels ; +- figer les règles critiques de planning, droits, temps, archivage, rapports et synchronisation. + +### Étape 10 — Définir ensuite les frontières de la future architecture + +Seulement après les étapes précédentes, il sera pertinent de proposer : + +- les domaines et agrégats ; +- les contrats de l'API ; +- la stratégie d'accès HFSQL ou de migration de base ; +- les transactions ; +- les identités publiques ; +- les écrans Avalonia ; +- la stratégie de coexistence et de bascule. + +Cette étape n'est volontairement pas réalisée dans le présent document. + +--- + +## 16. Priorités d'analyse pour la suite + +### Priorité critique + +1. modèle de rendez-vous et scripts de migration ; +2. champs zombie et correspondance avec les nouvelles clés ; +3. authentification, droits et rôles ; +4. secrets et accès HFSQL ; +5. règles contenues dans les fenêtres ; +6. intégration Batigest et bases externes. + +### Priorité haute + +1. dossiers/interventions ; +2. suivi des temps ; +3. documents, rapports et courriels ; +4. archivage/suppression ; +5. surveillance et synchronisation ; +6. variantes client et états spécifiques. + +### Priorité secondaire + +1. aide contextuelle ; +2. visites guidées ; +3. thèmes et personnalisation UI ; +4. utilitaires et écrans de démonstration ; +5. éléments temporaires ou archivés. + +--- + +## 17. Conclusion + +Les deux documentations fournissent suffisamment d'éléments pour identifier les grands domaines, les emplacements de la description HFSQL, les familles de traitements et les principales transformations entre l'ancien Batik et OMIKA. + +Le point le plus structurant est que la nouvelle version OMIKA a déjà engagé une migration interne importante : nouvelles clés métier, GUID, nouveau modèle de rendez-vous, nouveau système de rôles, suivi des modifications et composants UI réutilisables. Cette migration reste toutefois partiellement superposée à l'ancien modèle, comme le montrent les champs zombie encore utilisés et les tables de planning coexistantes. + +La prochaine phase ne doit pas encore consister à générer des modèles .NET. Elle doit d'abord transformer cette connaissance documentaire en inventaires vérifiables : diff de schéma, cartographie des cas d'usage, catalogue des règles, matrice d'intégrations et tests de caractérisation. diff --git a/docs/architecture-solution.md b/docs/architecture-solution.md new file mode 100644 index 0000000..74745a5 --- /dev/null +++ b/docs/architecture-solution.md @@ -0,0 +1,318 @@ +# Architecture de la solution Omika + +Ce document décrit la structure initiale de la solution .NET **Omika**, son +organisation en projets, les dépendances entre eux, et les conventions retenues +pour la suite (migration HFSQL, application mobile, API, futur Windows). + +> **Portée** : phase d'architecture. Les modèles métier détaillés et la connexion +> HFSQL réelle ne sont **pas** encore développés (voir les sections dédiées). + +--- + +## 1. Vue d'ensemble + +``` +┌────────────────────────────────────────────────────────────┐ +│ Omika.App │ +│ Application Avalonia (code partagé UI / ViewModels) │ +│ Cibles : Android · iOS · Windows (desktop) │ +└───────────────┬─────────────────────────────┬──────────────┘ + │ │ + ▼ ▼ + Omika.App.Desktop Omika.App.Android + Omika.App.iOS (hôtes plateformes) + (hôtes plateformes) + │ + │ ProjectReference + ▼ +┌─────────────────────────────────────────────┐ ┌──────────────────────────────┐ +│ Omika.Core │ │ Omika.Api │ +│ Modèles · Interfaces · Constantes · │◄───────│ API ASP.NET Core │ +│ Logique métier (indépendant UI/API) │ │ Endpoints / DI / OpenAPI │ +└──────────────────┬──────────────────────────┘ └──────────────┬───────────────┘ + │ ProjectReference │ ProjectReference + ▼ ▼ +┌─────────────────────────────────────────────┐ ┌──────────────────────────────┐ +│ Omika.Data │ │ Omika.Tests │ +│ Connexion HFSQL · Repositories · Mapping │ │ Tests unitaires (xUnit) │ +│ Migration Batik/OMIKA │ └──────────────────────────────┘ +└─────────────────────────────────────────────┘ +``` + +## 2. Projets créés + +| Projet | Type | Rôle | +|-----------------------|-----------------------------------|------| +| `Omika.App` | Bibliothèque Avalonia (net10.0) | Code UI partagé (Views, ViewModels, Services). Cible commune aux hôtes Android / iOS / Windows. | +| `Omika.App.Desktop` | Exécutable Avalonia (net10.0) | Hôte desktop Windows/Linux/macOS. Point d'entrée pour le futur client Windows. | +| `Omika.App.Android` | Exécutable Avalonia (net10.0-android) | Hôte Android (APK/AAB). | +| `Omika.App.iOS` | Exécutable Avalonia (net10.0-ios) | Hôte iOS (simulateur/appareil). **La compilation d'un .app pour iOS exige macOS + Xcode.** | +| `Omika.Api` | API ASP.NET Core (net10.0) | Expose les fonctionnalités métier et données via HTTP + OpenAPI. | +| `Omika.Core` | Bibliothèque (net10.0) | Modèles communs, interfaces, constantes, types partagés, logique métier. Aucune dépendance UI/API. | +| `Omika.Data` | Bibliothèque (net10.0) | Accès aux données HFSQL : options de connexion, contrats, repositories, mapping de tables, migration Batik/OMIKA. | +| `Omika.Tests` | xUnit (net10.0) | Tests unitaires des éléments critiques (Result, validation HFSQL, mapping de tables). | + +## 3. Dépendances entre projets + +``` +Omika.App.Desktop ──► Omika.App ──► Omika.Core +Omika.App.Android ──► Omika.App ──► Omika.Core +Omika.App.iOS ──► Omika.App ──► Omika.Core + +Omika.Api ──► Omika.Core + ──► Omika.Data + +Omika.Data ──► Omika.Core + +Omika.Tests ──► Omika.Core + ──► Omika.Data +``` + +- **Omika.Core** n'a aucune dépendance : c'est le noyau partagé. +- **Omika.Data** dépend de **Omika.Core** (interfaces, constantes, types). +- **Omika.Api** dépend de **Omika.Core** et **Omika.Data**. +- **Omika.App** et ses hôtes dépendent de **Omika.Core** (les appels à l'API se feront + via HTTP, pas par référence directe au projet Data). +- **Omika.Tests** référence **Omika.Core** et **Omika.Data**. + +## 4. Gestion des packages + +Le fichier racine **`Directory.Packages.props`** active la gestion centralisée +des packages (CPM). Toutes les versions NuGet y sont déclarées une seule fois ; +les fichiers `.csproj` référencent les packages **sans version**. + +| Groupe | Package | +|------------------|---------| +| Avalonia | `Avalonia`, `Avalonia.Themes.Fluent`, `Avalonia.Fonts.Inter`, `Avalonia.Desktop`, `Avalonia.Android`, `Avalonia.iOS` | +| Diagnostique | `AvaloniaUI.DiagnosticsSupport` | +| Android | `Xamarin.AndroidX.Core.SplashScreen` | +| MVVM | `CommunityToolkit.Mvvm` | +| API | `Microsoft.AspNetCore.OpenApi` | +| Configuration | `Microsoft.Extensions.Options.ConfigurationExtensions` | +| Tests | `xunit`, `xunit.runner.visualstudio`, `Microsoft.NET.Test.Sdk`, `coverlet.collector` | + +## 5. Structure des dossiers + +``` +Omika.slnx → solution (format .slnx) +Directory.Packages.props → versions centralisées des packages NuGet +docs/architecture-solution.md → ce document +docs/schema-compatibilite-batik-omika.json + → dictionnaire machine-readable du schéma (tables, rubriques, liens) +analyse-sources.md → analyse WINDEV existante +BATIK.md / OMIKA.md → documentation historique +tools/generate_models.py → générateur des modèles physiques HFSQL (Batik/Omika) +src/ + Omika.Core/ + Constants/ → constantes applicatives et base de données + Interfaces/ → contrats (IRepository, IUnitOfWork) + Abstractions/ → types partagés (Result) + Runtime/ → version active de la base (BATIK/OMIKA), contexte global + Models/ → (vide pour l'instant) futurs modèles métier + Omika.Data/ + Configuration/ → HfsqlOptions + validation + Connection/ → contrats et squelette de connexion HFSQL + Repositories/ → base commune des repositories + Mapping/ → référentiel de tables + mapping Batik/OMIKA + HfSql/Metadata/ → attributs de mapping HFSQL (Table, Column, PrimaryKey, CompositeKey, LegacyField) + HfSql/Models/ → modèles physiques générés (Batik/ et Omika/) — 106 classes + Migrations/ → service de migration Batik → OMIKA + Omika.Api/ + Endpoints/ → endpoints HTTP (santé, futur métier) + Omika.App/ + Views/ → MainWindow (desktop) et MainView (partagé) + ViewModels/ → MainViewModel, ViewModelBase + Omika.App.Desktop/ + Omika.App.Android/ + Omika.App.iOS/ +tests/ + Omika.Tests/ → tests xUnit (47 tests) +``` + +## 6. Conventions et règles + +1. **Séparation des responsabilités** : l'UI (App) et l'API ne contiennent aucune + logique métier ; celle-ci vit dans **Omika.Core**. +2. **Accès aux données** : uniquement via **Omika.Data**, derrière les interfaces + `IRepository<TEntity,TId>` et `IUnitOfWork` définies dans **Omika.Core**. +3. **Pas de dépendance directe App → Data** : l'application mobile consommera + l'API (HTTP). Si un accès direct est nécessaire (hors ligne), il passera par + une façade dédiée à ajouter ultérieurement. +4. **Configuration** : les options de connexion HFSQL sont typées + (`HfsqlOptions`, section `"Hfsql"`), validées avant usage, et remplaçables + par la configuration .NET standard (appsettings / user-secrets / variables + d'environnement). +5. **Résultats d'opération** : les services renvoient `Result` / `Result<T>` + (Omika.Core) plutôt que de lever des exceptions pour les cas métier. + +## 7. État de la couche HFSQL (phase d'architecture) + +À ce stade, **aucune connexion HFSQL réelle n'est ouverte**. La couche fournit : + +- `HfsqlOptions` et `HfsqlOptionsValidator` : préparation et validation des + paramètres (serveur, port 4900, base, groupes de protection ProtectionStd / + ProtectionPlus, comptes techniques) ; +- `IHfsqlConnection` / `HfsqlConnection` : contrat + implémentation squelette + (`OpenAsync` lève volontairement `NotImplementedException`) ; +- `RepositoryBase<TEntity,TId>` : base commune prête à câbler le provider HFSQL ; +- `LegacyTableMap` : référentiel des 58 tables OMIKA et des tables de l'ancienne + version (48 tables, e.g. `Intervention_Collaborateur` supprimée) ; +- `TableAttribute` : association future entité → table HFSQL ; +- `IMigrationService` / `MigrationService` : contrat de compatibilité Batik → + OMIKA (conversion de clés numériques vers textuelles, suivi ElementModifie / + ElementSupprime), non implémenté. + +### 7.1 Modèles physiques générés (Batik / Omika) + +Le dictionnaire machine-readable **`docs/schema-compatibilite-batik-omika.json`** +décrit le schéma WINDEV (tables, rubriques, types HFSQL, liens, marquage zombie). +Le générateur **`tools/generate_models.py`** produit à partir de ce fichier les +**106 modèles physiques** dans `Omika.Data/HfSql/Models` : + +| Dossier | Contenu | +|---|---| +| `HfSql/Models/Batik/` | Modèles physiques de l'ancienne base (Isis_BO, 48 tables) | +| `HfSql/Models/Omika/` | Modèles physiques de la nouvelle base (OMIKA, 58 tables) | + +Chaque classe `XxxRow` porte les attributs de mapping suivants : + +- `[HfSqlTable]` : nom de la table, nom du fichier disque (`.fic`), groupes de + protection, versions de schéma concernées (Batik et/ou Omika) ; +- `[HfSqlColumn]` : nom physique de la rubrique, type HFSQL, longueur, + valeur par défaut, marquage « zombie » ou « Omika uniquement » ; +- `[HfSqlPrimaryKey]` / `[HfSqlCompositeKey]` : clé primaire (automatique ou composée) ; +- `[HfSqlLegacyField]` : rubrique historique à migrer, avec éventuellement la + rubrique de remplacement (`ReplacementColumn`). + +Ces modèles sont **purement descriptifs** (attributs) : aucune requête n'est +exécutée. Ils constituent le socle du futur provider HFSQL et du mapping +table → entité. + +Pour régénérer les modèles après modification du dictionnaire : + +```powershell +python .\tools\generate_models.py +``` + +**Prochaine étape HFSQL** : choisir et brancher le provider HFSQL (.NET), puis +définir les entités du domaine en s'appuyant sur ces modèles physiques. + + +## 8. Sélection de base (BATIK / OMIKA) + +Le mécanisme de sélection de la base est centralisé dans **`Omika.Core.Runtime`** +et **`Omika.Core.Compatibility`**, en distinguant deux notions : + +- **`DatabaseSchemaSelection`** (`Omika.Core.Runtime`) — enum de la **sélection + demandée par la configuration** : + - `Auto` (0) : détection automatique de la base réelle (valeur par défaut sûre) ; + - `Batik` (1) : forcer l'ancienne base ; + - `Omika` (2) : forcer la nouvelle base. +- **`DatabaseSchemaVersion`** (`Omika.Core.Compatibility`) — enum de la + **provenance / version réellement détectée** d'une donnée : + - `Unknown` (0) : état non déterminé ; + - `Batik` (1) : ancienne version ; + - `Omika` (2) : nouvelle version. + Ce type ne doit pas être confondu avec `DatabaseSchemaSelection` : l'un décrit + la sélection demandée au démarrage (configuration), l'autre la version + réellement détectée du schéma dont provient une donnée. +- **`DatabaseSchemaSelectionParser`** — analyse une chaîne de configuration + (« Auto », « Batik » ou « Omika », insensible à la casse et aux espaces). + Il retourne un `Result<DatabaseSchemaSelection>` et refuse toute valeur + inconnue avec un message d'erreur explicite. +- **`ApplicationRuntimeContext`** — contexte global de l'application : + - `ConfigurationKey` : clé conventionnelle `"Omika:DatabaseVersion"` ; + - `Configure(...)` : définit la sélection demandée au démarrage (accepte + l'enum ou une chaîne de configuration) ; + - `SetDetectedVersion(...)` : fournit la version réellement détectée + (Batik / Omika) et la **valide** contre la sélection demandée ; + - `ValidateDetectedVersion(...)` : valide une version détectée sans modifier + le contexte global ; + - `Current` : accès au contexte actif (propriétés `Selection`, + `DetectedVersion`, `IsBatik`, `IsOmika`) ; + - `FromConfiguration(...)` : crée un contexte isolé sans toucher au global + (utile pour les tests et les traitements par lot) ; + - `Reset()` : réinitialise le contexte global. + +**Sélection demandée ≠ version active** + +Une valeur de configuration n'est **jamais** présentée comme version réellement +active : seule la base **détectée et validée** (`DetectedVersion`) détermine la +base utilisée. Tant que `SetDetectedVersion` n'a pas été appelé, la version +détectée reste `Unknown`, même si une sélection forcée (`Batik` / `Omika`) est +configurée. + +**Comment changer la sélection demandée ?** + +| Méthode | Exemple | +|---|---| +| **Fichier de configuration** (recommandé pour l'API) | Modifier la clé `"Omika:DatabaseVersion"` dans `appsettings.json` (valeur `"Auto"`, `"Batik"` ou `"Omika"`) | +| **Variable d'environnement** | `Omika__DatabaseVersion=Batik` (la convention .NET `__` est lue automatiquement) | +| **Au démarrage du code** | `ApplicationRuntimeContext.Configure(DatabaseSchemaSelection.Batik)` ou `Configure("Auto")` | + +Une valeur inconnue lève une erreur explicite au démarrage. En mode `Auto`, +toute version réelle détectée (Batik ou Omika) est acceptée. En mode forcé, la +version détectée doit correspondre à la sélection demandée ; dans le cas +contraire, `SetDetectedVersion` retourne un échec explicite et **aucune version +active n'est affirmée** (la version détectée reste `Unknown`). + +## 9. État des modèles métier + +Les **modèles physiques HFSQL** (rubriques brutes du schéma WINDEV) vivent dans +`Omika.Data/HfSql/Models` (voir § 7.1). `Omika.Core/Models`, qui accueillera les +**entités du domaine**, est volontairement vide. La prochaine phase devra : + +1. s'appuyer sur l'inventaire machine-readable du schéma (déjà produit) et sur + les modèles physiques pour définir les entités du domaine (Client, Dossier, + Intervention, RDV, …) ; +2. distinguer les propriétés utiles au domaine des rubriques « zombie » + (conservées pour la lecture d'une base existante, à ne pas utiliser comme + référence dans le nouveau domaine) ; +3. définir les DTO exposés par l'API et consommés par l'application. + + +## 10. Commandes utiles + +```powershell +# Restaurer les packages +dotnet restore .\Omika.slnx + +# Compiler toute la solution (hôtes desktop + API + bibliothèques + tests) +dotnet build .\Omika.slnx + +# Compiler uniquement l'API +dotnet build .\src\Omika.Api\Omika.Api.csproj + +# Compiler le client desktop (Windows) +dotnet build .\src\Omika.App.Desktop\Omika.App.Desktop.csproj + +# Compiler l'hôte Android (APK) +dotnet build .\src\Omika.App.Android\Omika.App.Android.csproj + +# Compiler l'hôte iOS (simulateur) — nécessite macOS + Xcode +dotnet build .\src\Omika.App.iOS\Omika.App.iOS.csproj + +# Lancer les tests unitaires +dotnet test .\tests\Omika.Tests\Omika.Tests.csproj + +# Lancer l'API en développement +dotnet run --project .\src\Omika.Api\Omika.Api.csproj +# → http://localhost:5xxx/health (état de la solution) + +# Lancer le client desktop +dotnet run --project .\src\Omika.App.Desktop\Omika.App.Desktop.csproj +``` + +## 11. Prochaines étapes + +- [ ] Choisir et intégrer le provider HFSQL (.NET) dans `Omika.Data`. +- [ ] Enrichir le dictionnaire `docs/schema-compatibilite-batik-omika.json` + (liens, règles de migration) et régénérer les modèles physiques. +- [ ] Définir les entités métier dans `Omika.Core/Models`. +- [ ] Implémenter les endpoints métier de `Omika.Api`. +- [ ] Brancher l'application Avalonia sur l'API (client HTTP) et préparer la + navigation mobile. +- [ ] Ajouter un projet `Omika.App.Windows` si un client Windows dédié est requis + (le desktop actuel en tient déjà lieu). + + diff --git a/docs/audit-niveau-3.md b/docs/audit-niveau-3.md new file mode 100644 index 0000000..a859170 --- /dev/null +++ b/docs/audit-niveau-3.md @@ -0,0 +1,82 @@ +# Audit du niveau 3 — Modèle métier canonique et contrats API + +## Types déjà trouvés dans `Omika.Core` + +L'audit a couvert les dossiers existants et les dossiers créés : + +- `Omika.Core/Abstractions` : abstractions techniques existantes. +- `Omika.Core/Constants` : constantes existantes. +- `Omika.Core/Interfaces` : interfaces existantes. +- `Omika.Core/Models` : modèles préexistants (à auditer pour doublons éventuels). +- `Omika.Core/Runtime` : contexte d'exécution (ex. `ApplicationRuntimeContext`), + sélection de base demandée par la configuration (`DatabaseSchemaSelection`) + et analyse de configuration (`DatabaseSchemaSelectionParser`). +- `Omika.Core/Compatibility` (créé) : `DatabaseSchemaVersion` (provenance / + version réellement détectée), `DatabaseSource`, `LegacyEntityReference`, + `SchemaCapabilities`, `CanonicalMappingResult<T>`. +- `Omika.Core/Domain` (créé) : entités métier, objets de valeur, enums, + exceptions. +- `Omika.Core/Contracts` (créé) : DTO API. +- `Omika.Core/Mapping` (créé) : mappers entité métier → DTO. + +## Types réutilisés + +Aucun fichier existant n'a été déplacé. Les dossiers `Interfaces`, +`Abstractions`, `Constants` et `Runtime` ont été **réutilisés tels quels** : +la nouvelle structure `Domain/`, `Contracts/`, `Compatibility/` est ajoutée +**sans déplacer** les classes existantes. + +La règle « ne crée pas un deuxième dossier concurrent » a été respectée : +les nouvelles interfaces de service ont été placées dans `Omika.Core/Interfaces` +et non dans un nouveau dossier. + +## Doublons évités + +- Un seul `RendezVous` canonique (pas de `Planning_RDV` / `RDV_Planning` / + `RDV_Collaborateur` / `RDV_Contact` métier). +- Un seul `Document` (pas de duplication des classes physiques `DocumentRow`). +- Un seul `Client` (pas de duplication des tables `Client`, `ClientAdresse`, + `ClientContact`, `ClientSite`). +- Un seul `Intervention` (pas de duplication des tables `Intervention`, + `ActionIntervention`, `CompteRendu`). +- Les collections métier (adresses, contacts, sites) sont des propriétés de + l'entité racine, et non des entités séparées dupliquées. +- Pas de table de liaison métier : les références sont portées par des listes + d'identifiants ou des collections contrôlées. + +## Fichiers non déplacés + +- Les classes physiques Batik / Omika restent dans `Omika.Data`. +- Les classes de `Omika.Core/Models` existantes n'ont pas été déplacées par + sécurité : un audit manuel complémentaire est nécessaire pour décider de leur + sort (doublons éventuels avec `Domain/`). +- Les abstractions techniques de `Abstractions/`, les constantes de + `Constants/` et le runtime de `Runtime/` restent en place. + +## Ambiguïtés + +1. **`Omika.Core/Models`** : contient peut-être des DTO ou modèles intermédiaires + préexistants. Rien n'a été supprimé ; à arbitrer lors du niveau 4. +2. **Interfaces de repository** : la solution ne montre pas de convention claire + de repository. Les services (`IClientService`, `IInterventionService`, + `IRendezVousService`, `IDocumentService`, `IReferenceDataService`, + `ICurrentUserService`) ont été créés dans `Interfaces/`. Les repositories + seront définis avec l'architecture de données (Omika.Data). +3. **Identifiants publics** : chaînes. Le mobile ne doit pas voir la clé physique ; + un helper dédié sera ajouté si nécessaire. +4. **`ReferenceValue` vs enums** : les paramètres métier restent configurables. + Certains statuts pourraient devenir des enums stables ultérieurement. +5. **Dates** : `DateTime` partout ; `DateTimeOffset` seulement si un besoin + multi-fuseaux est documenté. + +## Éléments restant à traiter + +- Mapping **physique → métier** dans `Omika.Data` (Batik et Omika) : + conversion des rubriques préfixées et des champs zombie vers les entités + canoniques de `Omika.Core.Domain`. +- Implémentation des services métier (`IClientService`, etc.) côté API. +- Décision sur le devenir de `Omika.Core/Models` (fusion ou suppression). +- Contrats de mise à jour des collections (remplacement complet vs diff). +- Sécurité : hachage des mots de passe, sessions, jetons (hors périmètre + niveau 3). +- Gestion physique des documents (téléversement / téléchargement). diff --git a/docs/build_omika_test.bat b/docs/build_omika_test.bat new file mode 100644 index 0000000..834e38b --- /dev/null +++ b/docs/build_omika_test.bat @@ -0,0 +1,18 @@ +@echo off +REM ============================================================ +REM OMIKA - Compilation de l'application (test local) +REM Double-cliquez sur ce fichier pour compiler +REM API + Worker + Desktop (Debug). +REM +REM Options (transmises au script PS1) : +REM -Release compiler en Release +REM -NoStop ne pas arreter les processus en cours +REM ============================================================ +cd /d "%~dp0" +powershell -NoProfile -ExecutionPolicy Bypass -File "%~dp0build_omika_test.ps1" %* +if errorlevel 1 ( + echo. + echo [ERREUR] La compilation a echoue. Voir les messages ci-dessus. +) +echo. +pause diff --git a/docs/build_omika_test.ps1 b/docs/build_omika_test.ps1 new file mode 100644 index 0000000..fd1de50 --- /dev/null +++ b/docs/build_omika_test.ps1 @@ -0,0 +1,110 @@ +<# + OMIKA - Compilation de l'application (mode test local) + ======================================================= + Compile les 3 composants de l'application : + 1. Omika.Api (API) + 2. Omika.Worker (synchronisation) + 3. Omika.App.Desktop (application de bureau Avalonia) + + Par defaut en Debug. Avant de compiler, arrete les processus Omika en + cours (ils verrouillent les DLL de sortie -> erreur MSB3027) sauf si + -NoStop est passe. + + Utilisation : + powershell -NoProfile -ExecutionPolicy Bypass -File .\docs\build_omika_test.ps1 + .\docs\build_omika_test.ps1 -Release # compiler en Release + .\docs\build_omika_test.ps1 -NoStop # ne pas arreter les processus + + Pour lancer apres compilation : + .\docs\start_omika_test.ps1 -NoBuild +#> +[CmdletBinding()] +param( + [switch]$Release, + [switch]$NoStop +) + +$ErrorActionPreference = 'Stop' + +# Racine du depot = parent du dossier docs/ contenant ce script. +$root = Split-Path -Parent $PSScriptRoot +$config = if ($Release) { 'Release' } else { 'Debug' } + +function Banner([string]$Text) { + Write-Host '' + Write-Host '============================================================' -ForegroundColor Cyan + Write-Host " $Text" -ForegroundColor Cyan + Write-Host '============================================================' -ForegroundColor Cyan +} + +Banner "OMIKA - Compilation ($config)" + +# ---------- Arret des processus en cours (liberation des DLL) ---------- +if ($NoStop) { + Write-Host '' + Write-Host 'Arret des processus ignore (-NoStop).' -ForegroundColor DarkGray + Write-Host ' Attention : si l''application est en cours d''execution, la compilation echouera (DLL verrouillees).' -ForegroundColor Yellow +} +else { + Write-Host '' + Write-Host 'Arret des processus Omika en cours (pour liberer les DLL)...' -ForegroundColor Yellow + + $desktop = Get-Process -Name 'Omika.App.Desktop' -ErrorAction SilentlyContinue + if ($desktop) { + $desktop | Stop-Process -Force -ErrorAction SilentlyContinue + Write-Host ' Application de bureau arretee.' -ForegroundColor Green + } + + $dotnetProcs = Get-CimInstance Win32_Process -Filter "Name='dotnet.exe'" -ErrorAction SilentlyContinue | + Where-Object { $_.CommandLine -like '*Omika.Api*' -or $_.CommandLine -like '*Omika.Worker*' } + + if ($dotnetProcs) { + foreach ($proc in $dotnetProcs) { + Stop-Process -Id $proc.ProcessId -Force -ErrorAction SilentlyContinue + Write-Host " dotnet (PID $($proc.ProcessId)) arrete." -ForegroundColor Green + } + } + + if (-not $desktop -and -not $dotnetProcs) { + Write-Host ' Aucun processus Omika en cours.' -ForegroundColor DarkGray + } +} + +# ---------- Compilation ---------- +$projects = @( + (Join-Path $root 'src\Omika.Api\Omika.Api.csproj'), + (Join-Path $root 'src\Omika.Worker\Omika.Worker.csproj'), + (Join-Path $root 'src\Omika.App.Desktop\Omika.App.Desktop.csproj') +) + +$failed = $false +foreach ($project in $projects) { + Write-Host '' + Write-Host " > $project ($config)" -ForegroundColor Yellow + # CONTOURNEMENT TEMPORAIRE : --no-restore -m:1 evite l'echec MSB4276 lie au + # workload Android/iOS corrompu de cette machine (resolution SDK parallele). + # A retirer apres 'dotnet workload repair'. + dotnet build $project -c $config --nologo --no-restore -m:1 + if ($LASTEXITCODE -ne 0) { + Write-Host " [ERREUR] Echec de compilation : $project" -ForegroundColor Red + $failed = $true + break + } +} + +# ---------- Resultat ---------- +Banner 'Resultat' + +if ($failed) { + Write-Host ' ECHEC de la compilation.' -ForegroundColor Red + exit 1 +} + +Write-Host " Compilation ($config) terminee avec succes." -ForegroundColor Green +Write-Host '' +Write-Host ' Binaires generes :' -ForegroundColor Cyan +Write-Host " API : src\Omika.Api\bin\$config\net10.0\Omika.Api.dll" -ForegroundColor Cyan +Write-Host " Worker : src\Omika.Worker\bin\$config\net10.0\Omika.Worker.dll" -ForegroundColor Cyan +Write-Host " Desktop : src\Omika.App.Desktop\bin\$config\net10.0\Omika.App.Desktop.exe" -ForegroundColor Cyan +Write-Host '' +Write-Host ' Pour lancer : .\docs\start_omika_test.ps1 -NoBuild' -ForegroundColor Cyan diff --git a/docs/diagnostics/T24-A-prompt-ia-referentiel.md b/docs/diagnostics/T24-A-prompt-ia-referentiel.md new file mode 100644 index 0000000..27a9c9f --- /dev/null +++ b/docs/diagnostics/T24-A-prompt-ia-referentiel.md @@ -0,0 +1,143 @@ +# T24-A — Prompt IA local + référentiel administrable ScreenCode/FeatureCode + +> Statut : PRÉPROD LOCAL / recette manuelle. Aucun Git, aucune Production. + +## 1. Générer le prompt IA (Partie A) + +### Principe +Le centre Diagnostics génère un **prompt d'analyse local** depuis un diagnostic/erreur. +**Aucun appel IA externe** (OpenAI, ChatGPT ou autre) : le système se contente de : + +``` +diagnostic → construire un texte local → afficher le prompt → permettre « Copier » +``` + +Le prompt n'est **jamais enregistré en PostgreSQL** (génération à la demande uniquement, V1). + +### Boutons +- **Détail diagnostic** (`/Diagnostics/{id}`) : bouton « Générer le prompt IA » à proximité du + contexte technique. +- **Détail erreur** (`/Erreurs/{id}`) : bouton « Générer le prompt IA » (depuis l'occurrence la + plus récente du groupe). + +Un clic déclenche la génération **côté serveur** (handler Razor Pages `OnGetPromptAsync`), puis +affiche le prompt dans une modale dédiée avec un bouton **« Copier le prompt »** (réutilise +`OmikaCopy()`, aucune nouvelle librairie JS). + +### Service partagé +La construction du prompt est centralisée dans `Omika.Diagnostics.Core` : +`DiagnosticPromptBuilder.Build(DiagnosticEventRecord, IReadOnlyList<DiagnosticEventRecord>?)`. +Le chargement des événements corrélés est partagé par +`DiagnosticsDetailModel.GetCorrelatedEventsAsync(...)` (utilisé par le détail diagnostic ET le +détail erreur). Aucune logique dupliquée. + +### Informations incluses (si disponibles) +- **CONTEXTE** : ClientCode, Environment, ServerInstance, Source, Component, Platform, + OperatingSystem, OperatingSystemVersion, Manufacturer, Model, AppVersion, AppBuild, + ScreenCode, FeatureCode. +- **ERREUR** : EventCode, Level, Priority, ErrorCode, Timestamp, DurationMs. +- **MESSAGE** : Message (tronqué à 2000 caractères). +- **EXCEPTION** : ExceptionType, StackTrace (tronquée à 4000 caractères). +- **HTTP / MÉTADONNÉES** : uniquement les clés whitelistées (`method`, `statusCode`, + `routeTemplate`, `retryCount`, …) et valeurs simples non interdites. +- **CORRÉLATION** : TraceId, OperationId, SessionId. +- **IDENTITÉ TECHNIQUE AUTORISÉE** : LicenseNumber (numéro fonctionnel), DeviceKey et ActorKey + **tronqués** (pseudonymes HMAC-SHA256, jamais réversibles). +- **ÉVÉNEMENTS CORRÉLÉS** (si TraceId/OperationId) : chronologie compacte, **bornée à 25 + événements**, sans stack trace (timestamp, level, eventCode, component, message court, + screen/feature). + +### Informations exclues (jamais) +password, password_hash, ApiKey, api_key_hash, Bearer token, SigningKey, HmacKey, +ConnectionString, DeviceId brut, UserId brut, CollaborateurId brut, ClientId brut, email, +téléphone, IMEI, serial, MAC, secret de licence. + +La politique **réutilise** les filtres existants : `DiagnosticForbiddenData` +(jetons interdits) et `DiagnosticMetadataPolicy` (whitelist des clés). Aucune seconde logique de +filtrage. Défense en profondeur : chaque valeur relue est re-vérifiée avant inclusion. + +### Format +Le prompt commence par : +> « Analyse cette erreur Omika et aide-moi à déterminer sa cause probable. » + +puis demande explicitement : cause probable, niveau de confiance, fichier/méthode à vérifier en +priorité, éléments de preuve, hypothèses alternatives, correctif recommandé, tests de +confirmation, dire si l'erreur semble volontaire/de test, distinguer faits confirmés et hypothèses. + +### Exemple /dev/throw +L'événement de recette `API_HTTP_ERROR` / `InvalidOperationException` / `/dev/throw` / +`TELEMETRY_TEST_ERROR` / `Development` produit un prompt contenant naturellement ces données — +**aucune règle codée en dur** « /dev/throw ». + +## 2. Référentiel administrable (Partie B) + +### Règle absolue +`diagnostic_event` **reste la vérité** sur ce qui a réellement été observé. Le référentiel +(`diagnostics_reference`) est un **enrichissement** (libellé / description / ordre / état) et ne +détermine **jamais** quels événements sont acceptés. Un code observé non référencé reste visible +dans les filtres. + +### Table `diagnostics_reference` (migration 011) +`id`, `reference_type` (`SCREEN_CODE` / `FEATURE_CODE`), `code` (normalisé TRIM+UPPER), +`label`, `description`, `enabled`, `sort_order`, `created_at_utc`, `updated_at_utc`. + +- Unicité : `(reference_type, UPPER(code))` — index unique. +- **Code immuable** après création. Pour corriger un code : créer une nouvelle entrée + archiver + l'ancienne. +- **Archivage = `enabled=false`**, jamais de DELETE physique (V1). + +### Ownership / GRANT (011) +- Propriétaire : `omika_diagnostics_owner`. +- `omika_diagnostics_web` : `SELECT`, `INSERT`, `UPDATE (label, description, enabled, + sort_order, updated_at_utc)` + `USAGE` séquence. **Aucun DELETE.** +- `omika_diagnostics_api` et `omika_diagnostics_worker` : **aucun droit** (testé négativement). + +### Initialisation (idempotente) +Les **29 ScreenCode** et **3 FeatureCode** du catalogue applicatif sont seedés par la migration +avec leurs libellés (`ON CONFLICT DO NOTHING`). Un libellé modifié par un Admin n'est **jamais +écrasé** au redémarrage. + +### Pages +- `/Referentiel` : consultation (Support + Admin) — sections Codes écran / Codes fonctionnalité + alimentées par le référentiel DB (libellé + description + état), repli catalogue statique si DB + indisponible. +- `/Referentiel/Admin` : **Admin uniquement** — liste (Type, Code, Libellé, Description, État, + Dernière modification, Actions), création, modification (libellé/description/état/tri), + archivage/réactivation, et section **« Codes observés non référencés »** avec **ajout rapide**. + +### Procédure : ajout d'un nouveau code +1. Un événement arrive avec un `screen_code`/`feature_code` inconnu (ex. `FACTURE_DETAIL`). +2. Le code **apparaît automatiquement** dans les filtres Diagnostics (alimentés par + `diagnostic_event`), affiché `FACTURE_DETAIL (non référencé)`. +3. Dans `/Referentiel/Admin` → « Codes observés non référencés » → « Ajouter » (type + code + préremplis) → Admin renseigne le libellé/la description. +4. Le filtre affiche alors `Détail de facture (FACTURE_DETAIL)` — **sans modifier les données + historiques**. La recherche SQL utilise toujours le **code**, jamais le libellé. + +### Dropdowns / filtrage +Les listes déroulantes continuent d'être alimentées par les codes **réellement observés** (jamais +`SELECT` sur `diagnostics_reference` uniquement). Si une référence existe : `Libellé (CODE)` ; +sinon : `CODE (non référencé)`. La valeur du filtre reste toujours le CODE. + +## 3. Corrections UX (Partie C) +- Filtre « Acteur » → **« Acteur pseudonymisé »** + aide : « Identifiant pseudonymisé permettant + de retrouver les événements d'un même utilisateur. » +- Page/menu « Versions » → **« Versions Omika »**. +- « Version la plus représentée » → **« Version Omika la plus observée »** + note : « Les valeurs + correspondent aux événements observés, pas au nombre d'installations. » + +## 4. Sécurité +- Prompt généré : 0 fuite de données interdites (testé — `DiagnosticPromptBuilderTests`). +- HTML : le prompt est affiché via `textContent` (aucune injection HTML). +- Aucun enregistrement du prompt (ni PostgreSQL, ni log). +- Migration 011 : aucune colonne secret, aucun mot de passe. + +## 5. Tests +- `Omika.Diagnostics.Tests` : 574/574 (baseline 536 + 38 tests T24-A). +- `Omika.Tests` : 3366/3370 — 4 échecs environnementaux/préexistants (construction de vues + Avalonia ×2, course temporelle ShellViewModel, accès HFSQL), **aucune régression** liée à T24-A + (T24-A est isolé dans le sous-système Diagnostics, non référencé par Omika.Tests). + +## 6. Migration 011 +`infra/postgresql/011_diagnostics_reference.sql` — ordre final : `001 → … → 010 → 011`. +Idempotente, non destructive (aucun DROP/DELETE), aucun mot de passe. diff --git a/docs/diagnostics/backend-final-status.md b/docs/diagnostics/backend-final-status.md new file mode 100644 index 0000000..29bdc40 --- /dev/null +++ b/docs/diagnostics/backend-final-status.md @@ -0,0 +1,89 @@ +# Backend — Statut final + +État de fermeture du backend métier Omika, prêt pour la future application mobile. + +## Schéma Batik / Omika + +- Détection de schéma réelle au démarrage (`DatabaseSchemaDetector`), basée sur la structure (colonnes canaris), jamais sur le nom de la base. +- Routage runtime : `ApplicationRuntimeContext.Current.DetectedVersion` → `AdaptiveRepository` → implémentation `Batik*` ou `Omika*`. +- Aucune logique basée sur le nom de la base. + +## HFSQL + +- Accès OLE DB : **VERIFIED** (provider `PCSOFT.HFSQL`). +- Source des mots de passe : **EXPLICIT_LOCAL_CONFIG** (`config/hfsql-test.local.json`). +- Dérivation de mot de passe utilisée : **NO** (mots de passe fournis explicitement). +- `ProtectionPlusSecret` utilisé pour la connexion : **NO**. + +## Business aggregates (8 VERIFIED) + +| Agrégat | Statut | +|---------|--------| +| Client | VERIFIED | +| Personne | VERIFIED | +| Lieu/Site | VERIFIED | +| Document | VERIFIED | +| Intervention | VERIFIED | +| Dossier | VERIFIED | +| PlanningRDV | VERIFIED | +| Collaborateur | VERIFIED | + +0 PARTIAL, 0 NOT_STARTED. + +## Reference data + +- **PublicRead** : ParametreMetier (`GET /reference-data/{key}`, READ_ONLY_VERIFIED). +- **InternalOnly** : Societe, Equipe, ParametreMetierEntete, EtatIntervention. +- **SchemaSpecific** : Role, Etats (Omika uniquement). +- **NotRequired** : ModeleRapport. + +## API + +Groupes d'endpoints enregistrés dans `Program.cs` : + +- Health +- Client +- Contact (Personne) +- ReferenceData +- Document +- Site (Lieu) +- Intervention +- Dossier +- RendezVous (PlanningRDV) +- Collaborateur + +Aucun endpoint préventif supplémentaire. Conforme à la règle « ne crée pas automatiquement un endpoint pour chaque table ». + +## Adaptive repositories + +Tous les agrégats publics disposent d'un repository adaptatif (`Adaptive*Repository`) qui route selon `DetectedVersion` : + +- Client, Contact, Site, Document, Intervention, Dossier, RendezVous, Collaborateur, ReferenceData. + +## Tests + +- **1144 PASS / 0 FAIL / 0 SKIP**. +- Intégrations réelles OLE DB (BATIK_TEST / OMIKA_TEST) pour les parcours principaux : Client (Create), Intervention (lifecycle), Dossier (lifecycle), PlanningRDV (lifecycle), Collaborateur (lifecycle) — avec rollback atomique. +- Les tests d'intégration s'ignorent proprement si le serveur HFSQL est injoignable (détection `E_FAIL`/`0x80004005`). + +## Limitations connues + +- **ElementSupprime** : absent physiquement de OMIKA_TEST actuel ; traité comme optionnel (VERSION_OPTIONAL). +- **Equipe → Collaborateur** : relation INTERNAL_ONLY, pas d'identité canonique publique (aucune table de correspondance). +- **Role** : Omika-specific, non exposé publiquement. +- **ModeleRapport** : NOT_REQUIRED. +- **Document.Update** : NOT_APPLICABLE (document immuable après création). +- **Intervention PartialFailureRollback** : non couvert spécifiquement, mais transaction/lifecycle validés (rollback externe prouvé). + +## Éléments volontairement non exposés + +- Tables de jointure (JOIN_TABLE) : pas de CRUD public. +- Configuration système (Utilisateur, ParametreSysteme) : pas d'endpoint public. +- Référentiels internes (Societe, Equipe, ParametreMetierEntete, EtatIntervention, Role, Etats, ModeleRapport) : pas d'endpoint public. +- IDs publics opaques (string) : aucun PK HFSQL brut exposé, aucun GUID fabriqué pour masquer l'absence d'identité canonique. + +## Statut final + +- **BackendBusinessLayer** : READY. +- **BackendForMobileDevelopment** : READY. +- **Blockers** : NONE. diff --git a/docs/diagnostics/crud-coverage.csv b/docs/diagnostics/crud-coverage.csv new file mode 100644 index 0000000..2f35d1c --- /dev/null +++ b/docs/diagnostics/crud-coverage.csv @@ -0,0 +1,31 @@ +DomainEntity,BatikTable,OmikaTable,Category,Create,ReadOne,ReadList,Update,Delete,PublicApi,ExistingService,ExistingRepository,ExistingEndpoint,BatikSupported,OmikaSupported,Status,Notes +Client,Client,Client,BUSINESS_AGGREGATE,IMPLEMENTED,IMPLEMENTED,IMPLEMENTED,IMPLEMENTED,IMPLEMENTED,YES,YES,YES,YES,YES,YES,VERIFIED,CRUD complet via ClientService/AdaptiveClientRepository +Personne,Personne,Personne,BUSINESS_AGGREGATE,IMPLEMENTED,IMPLEMENTED,IMPLEMENTED,IMPLEMENTED,IMPLEMENTED,YES,YES,YES,YES,YES,YES,VERIFIED,CRUD complet via ContactService/AdaptiveContactRepository + +Adresse,Adresse,Adresse,BUSINESS_CHILD,NOT_STARTED,NOT_STARTED,NOT_STARTED,NOT_STARTED,NOT_STARTED,NO,NO,NO,NO,YES,YES,NOT_STARTED,Adresse partagée entre clients/personnes/sites +Lieu,Lieu,Lieu,BUSINESS_AGGREGATE,IMPLEMENTED,IMPLEMENTED,IMPLEMENTED,IMPLEMENTED,SEMANTIC_DELETE,YES,YES,YES,YES,YES,YES,VERIFIED,Site/lieu d'intervention; CRUD via SiteService/AdaptiveSiteRepository/BatikSiteRepository/OmikaSiteRepository; suppression=archivage +Document,Document,Document,BUSINESS_AGGREGATE,IMPLEMENTED,IMPLEMENTED,IMPLEMENTED,NOT_APPLICABLE,SEMANTIC_DELETE,YES,YES,YES,YES,YES,YES,VERIFIED,Document immuable après création; suppression = archivage (Archive) + + +Intervention,Intervention,Intervention,BUSINESS_AGGREGATE,IMPLEMENTED,IMPLEMENTED,IMPLEMENTED,IMPLEMENTED,SEMANTIC_DELETE,YES,YES,YES,YES,YES,YES,VERIFIED,CRUD complet via InterventionService/AdaptiveInterventionRepository; suppression=archivage; intégration réelle CREATE→UPDATE→ARCHIVE→ROLLBACK PASS sur BATIK_TEST/OMIKA_TEST; relations Collaborateur/Personne câblées; IDs invalides→DomainValidationException sans écriture partielle +Dossier,Dossier,Dossier,BUSINESS_AGGREGATE,IMPLEMENTED,IMPLEMENTED,IMPLEMENTED,IMPLEMENTED,SEMANTIC_DELETE,YES,YES,YES,YES,YES,YES,VERIFIED,CRUD complet via DossierService/AdaptiveDossierRepository; suppression=archivage; intégration réelle CREATE→UPDATE→ARCHIVE→ROLLBACK PASS sur BATIK_TEST/OMIKA_TEST; DO_NumDossier rubrique calculée Omika exclue des écritures (erreur HFSQL 28000002) + +PlanningRDV,Planning_RDV,RDVPlanning,BUSINESS_AGGREGATE,IMPLEMENTED,IMPLEMENTED,IMPLEMENTED,IMPLEMENTED,SEMANTIC_DELETE,YES,YES,YES,YES,YES,YES,VERIFIED,Rendez-vous; CRUD via RendezVousService/AdaptiveRendezVousRepository; suppression=archivage; intégration réelle CREATE→UPDATE→CANCEL→ARCHIVE→ROLLBACK PASS +Collaborateur,Collaborateur,Collaborateur,BUSINESS_AGGREGATE,IMPLEMENTED,IMPLEMENTED,IMPLEMENTED,IMPLEMENTED,SEMANTIC_DELETE,YES,YES,YES,YES,YES,YES,VERIFIED,Collaborateur interne; CRUD via CollaborateurService/AdaptiveCollaborateurRepository; suppression=archivage (CO_Actif=false); intégration réelle CREATE→UPDATE→ARCHIVE→ROLLBACK PASS +Societe,Societe,Societe,REFERENCE_DATA,NOT_APPLICABLE,NOT_APPLICABLE,NOT_APPLICABLE,NOT_APPLICABLE,NOT_APPLICABLE,NO,NO,NO,NO,YES,YES,INTERNAL_ONLY,Société (référentiel); lecture interne uniquement, aucun besoin public démontré +Equipe,Equipe,Equipe,REFERENCE_DATA,NOT_APPLICABLE,NOT_APPLICABLE,NOT_APPLICABLE,NOT_APPLICABLE,NOT_APPLICABLE,NO,NO,NO,NO,YES,YES,INTERNAL_ONLY,Équipe (référentiel); pas d'identité publique canonique, aucun GUID fabriqué +Utilisateur,Utilisateur,Utilisateur,SYSTEM_CONFIGURATION,NOT_STARTED,NOT_STARTED,NOT_STARTED,NOT_STARTED,NOT_STARTED,NO,NO,NO,NO,YES,YES,NOT_STARTED,Utilisateur système +ParametreMetier,ParametreMetier,ParametreMetier,REFERENCE_DATA,NOT_APPLICABLE,READ_ONLY,READ_ONLY,NOT_APPLICABLE,NOT_APPLICABLE,YES,YES,YES,YES,YES,YES,READ_ONLY_VERIFIED,Référentiel métier (types/statuts); lecture publique via GET /reference-data/{key}; IReferenceDataRepository/Service + Adaptive + Batik/Omika +ParametreMetierEntete,ParametreMetierEntete,ParametreMetierEntete,REFERENCE_DATA,NOT_APPLICABLE,NOT_APPLICABLE,NOT_APPLICABLE,NOT_APPLICABLE,NOT_APPLICABLE,NO,NO,NO,NO,YES,YES,INTERNAL_ONLY,En-tête des paramètres métier; historique/protégé, lecture interne uniquement +ParametreSysteme,ParametreSysteme,ParametreSysteme,SYSTEM_CONFIGURATION,NOT_STARTED,NOT_STARTED,NOT_STARTED,NOT_STARTED,NOT_STARTED,NO,NO,NO,NO,YES,YES,NOT_STARTED,Paramètres système +EtatIntervention,EtatIntervention,EtatIntervention,REFERENCE_DATA,NOT_APPLICABLE,NOT_APPLICABLE,NOT_APPLICABLE,NOT_APPLICABLE,NOT_APPLICABLE,NO,NO,NO,NO,YES,YES,INTERNAL_ONLY,États d'intervention; table d'historique chargée en interne par Intervention, pas de liste publique autonome +ClientAdresse,ClientAdresse,ClientAdresse,JOIN_TABLE,NOT_STARTED,NOT_STARTED,NOT_STARTED,NOT_STARTED,NOT_STARTED,NO,NO,NO,NO,YES,YES,NOT_STARTED,Relation client-adresse (via agrégat) +ClientLieu,ClientLieu,ClientLieu,JOIN_TABLE,NOT_STARTED,NOT_STARTED,NOT_STARTED,NOT_STARTED,NOT_STARTED,NO,NO,NO,NO,YES,YES,NOT_STARTED,Relation client-lieu (via agrégat) +ClientBddExterne,ClientBddExterne,ClientBddExterne,JOIN_TABLE,NOT_STARTED,NOT_STARTED,NOT_STARTED,NOT_STARTED,NOT_STARTED,NO,NO,NO,NO,YES,YES,NOT_STARTED,Relation client-base externe +InterventionCollaborateur,InterventionCollaborateur,InterventionCollaborateur,JOIN_TABLE,NOT_STARTED,NOT_STARTED,NOT_STARTED,NOT_STARTED,NOT_STARTED,NO,NO,NO,NO,YES,YES,NOT_STARTED,Relation intervention-collaborateur +InterventionPersonne,InterventionPersonne,InterventionPersonne,JOIN_TABLE,NOT_STARTED,NOT_STARTED,NOT_STARTED,NOT_STARTED,NOT_STARTED,NO,NO,NO,NO,YES,YES,NOT_STARTED,Relation intervention-personne +LieuPersonne,LieuPersonne,LieuPersonne,JOIN_TABLE,NOT_STARTED,NOT_STARTED,NOT_STARTED,NOT_STARTED,NOT_STARTED,NO,NO,NO,NO,YES,YES,NOT_STARTED,Relation lieu-personne +ElementSupprime,,ElementSupprime,VERSION_OPTIONAL,NOT_STARTED,NOT_STARTED,NOT_STARTED,NOT_STARTED,NOT_STARTED,NO,NO,NO,NO,NO,YES,NOT_STARTED,Table de suppression logique (Omika uniquement) +Role,,Role,REFERENCE_DATA,NOT_APPLICABLE,NOT_APPLICABLE,NOT_APPLICABLE,NOT_APPLICABLE,NOT_APPLICABLE,NO,NO,NO,NO,NO,YES,SCHEMA_SPECIFIC,Rôles (Omika uniquement); lecture interne, absent sous Batik (SchemaCapabilities.SupportsRoles) +Etats,,Etats,REFERENCE_DATA,NOT_APPLICABLE,NOT_APPLICABLE,NOT_APPLICABLE,NOT_APPLICABLE,NOT_APPLICABLE,NO,NO,NO,NO,NO,YES,SCHEMA_SPECIFIC,États (Omika uniquement); lecture interne, absent sous Batik +ModeleRapport,,ModeleRapport,REFERENCE_DATA,NOT_APPLICABLE,NOT_APPLICABLE,NOT_APPLICABLE,NOT_APPLICABLE,NOT_APPLICABLE,NO,NO,NO,NO,NO,YES,NOT_REQUIRED,Modèles de rapport (Omika uniquement); aucun besoin public démontré diff --git a/docs/diagnostics/crud-coverage.md b/docs/diagnostics/crud-coverage.md new file mode 100644 index 0000000..f45934d --- /dev/null +++ b/docs/diagnostics/crud-coverage.md @@ -0,0 +1,106 @@ +# Matrice de couverture CRUD + +État de la couverture CRUD pour les agrégats métier Batik et Omika. + +## Résumé + +| Catégorie | Nombre | Statut | +|-----------|--------|--------| +| BUSINESS_AGGREGATE | 8 | 8 VERIFIED, 0 PARTIAL, 0 NOT_STARTED | + + +| BUSINESS_CHILD | 1 | NOT_STARTED | +| REFERENCE_DATA | 8 | 1 READ_ONLY_VERIFIED, 4 INTERNAL_ONLY, 2 SCHEMA_SPECIFIC, 1 NOT_REQUIRED | +| JOIN_TABLE | 6 | NOT_STARTED | +| SYSTEM_CONFIGURATION | 2 | NOT_STARTED | +| VERSION_OPTIONAL | 1 | NOT_STARTED | + + +## Agrégats métier (BUSINESS_AGGREGATE) + +| Entité | Batik | Omika | Create | ReadOne | ReadList | Update | Delete | Statut | +|--------|-------|-------|--------|---------|----------|--------|--------|--------| +| Client | Client | Client | ✅ | ✅ | ✅ | ✅ | ✅ | VERIFIED | +| Personne | Personne | Personne | ✅ | ✅ | ✅ | ✅ | ✅ | VERIFIED | + +| Lieu | Lieu | Lieu | ✅ | ✅ | ✅ | ✅ | 🗄️ | VERIFIED | +| Document | Document | Document | ✅ | ✅ | ✅ | N/A | 🗄️ | VERIFIED | + +| Intervention | Intervention | Intervention | ✅ | ✅ | ✅ | ✅ | 🗄️ | VERIFIED | + +| Dossier | Dossier | Dossier | ✅ | ✅ | ✅ | ✅ | 🗄️ | VERIFIED | +| PlanningRDV | Planning_RDV | RDVPlanning | ✅ | ✅ | ✅ | ✅ | 🗄️ | VERIFIED | + + +| Collaborateur | Collaborateur | Collaborateur | ✅ | ✅ | ✅ | ✅ | 🗄️ | VERIFIED | + +## Référentiels (REFERENCE_DATA) + +Lecture seule uniquement. Pas de CRUD administratif générique (C/U/D volontairement absents). + +| Entité | Batik | Omika | Lecture | Classification | Statut | +|--------|-------|-------|---------|----------------|--------| +| Societe | Societe | Societe | ❌ | INTERNAL_REFERENCE_ONLY | INTERNAL_ONLY | +| Equipe | Equipe | Equipe | ❌ | INTERNAL_REFERENCE_ONLY | INTERNAL_ONLY | +| ParametreMetier | ParametreMetier | ParametreMetier | ✅ | PUBLIC_READ_REFERENCE | READ_ONLY_VERIFIED | +| ParametreMetierEntete | ParametreMetierEntete | ParametreMetierEntete | ❌ | INTERNAL_REFERENCE_ONLY | INTERNAL_ONLY | +| EtatIntervention | EtatIntervention | EtatIntervention | ❌ | INTERNAL_REFERENCE_ONLY | INTERNAL_ONLY | +| Role | — | Role | ❌ | SCHEMA_SPECIFIC | SCHEMA_SPECIFIC | +| Etats | — | Etats | ❌ | SCHEMA_SPECIFIC | SCHEMA_SPECIFIC | +| ModeleRapport | — | ModeleRapport | ❌ | NOT_REQUIRED | NOT_REQUIRED | + +### Détail des classifications + +- **ParametreMetier** (PUBLIC_READ_REFERENCE) : lecture publique via `GET /reference-data/{key}`. Câblé : `IReferenceDataRepository → AdaptiveReferenceDataRepository`, `IReferenceDataService → ReferenceDataService`, `BatikReferenceDataRepository` (filtre `PA_Code`) / `OmikaReferenceDataRepository` (filtre `PA_Categorie`). Retourne `ReferenceValueDto` (Key/LegacyId/Code/Label). +- **Societe** (INTERNAL_REFERENCE_ONLY) : aucun besoin public démontré (pas de sélecteur de société requis par l'application). +- **Equipe** (INTERNAL_REFERENCE_ONLY) : pas d'identité publique canonique exploitable indépendamment ; aucun GUID fabriqué. +- **ParametreMetierEntete** (INTERNAL_REFERENCE_ONLY) : référentiel historique/protégé, pas de CRUD public. +- **EtatIntervention** (INTERNAL_REFERENCE_ONLY) : table d'historique des états d'une intervention (chargée en interne par Intervention) ; les valeurs d'état proviennent de ParametreMetier. Pas de liste publique autonome. +- **Role** (SCHEMA_SPECIFIC) : Omika uniquement ; absent sous Batik (indiqué par `SchemaCapabilities.SupportsRoles`). Lecture interne. +- **Etats** (SCHEMA_SPECIFIC) : Omika uniquement ; absent sous Batik. Lecture interne. +- **ModeleRapport** (NOT_REQUIRED) : Omika uniquement ; aucun besoin public démontré. + +## Tables de jointure (JOIN_TABLE) + +Aucun CRUD public exposé. Gérées via les agrégats. + +| Table | Batik | Omika | +|-------|-------|-------| +| ClientAdresse | ✅ | ✅ | +| ClientLieu | ✅ | ✅ | +| ClientBddExterne | ✅ | ✅ | +| InterventionCollaborateur | ✅ | ✅ | +| InterventionPersonne | ✅ | ✅ | +| LieuPersonne | ✅ | ✅ | + +## Configuration système (SYSTEM_CONFIGURATION) + +| Table | Batik | Omika | +|-------|-------|-------| +| Utilisateur | ✅ | ✅ | +| ParametreSysteme | ✅ | ✅ | + +## Version optionnelle (VERSION_OPTIONAL) + +| Table | Batik | Omika | Statut | +|-------|-------|-------|--------| +| ElementSupprime | — | ✅ | NOT_STARTED | + +## Notes + +- Client et Personne sont entièrement implémentés (VERIFIED). +- Lieu/Site est VERIFIED : CRUD complet implémenté et testé unitairement (Create/ReadOne/ReadList/Update + Archive) via SiteService/AdaptiveSiteRepository/BatikSiteRepository/OmikaSiteRepository. BATIK : table Lieu, création Adresse transactionnelle, type résolu via ParametreMetier. OMIKA : table Lieu, LI_CleType, GUID, Adresse Omika. API /sites. DI : ISiteRepository → AdaptiveSiteRepository, ISiteService → SiteService. +- Document est VERIFIED : Create/Read/List + Archive (suppression sémantique). Update = NOT_APPLICABLE (document immuable après création). +- Intervention est VERIFIED : CRUD complet implémenté et testé unitairement (Create/ReadOne/ReadList/Update + Archive), intégration réelle CREATE→UPDATE→ARCHIVE→ROLLBACK PASS contre BATIK_TEST/OMIKA_TEST, relations Collaborateur/Personne câblées (UPDATE), IDs relation invalides → DomainValidationException sans écriture partielle. +- Dossier est VERIFIED : CRUD complet implémenté et testé unitairement (Create/ReadOne/ReadList/Update + Archive), intégration réelle CREATE→UPDATE→ARCHIVE→ROLLBACK PASS contre BATIK_TEST/OMIKA_TEST. NB : dans la base Omika, DO_NumDossier est une rubrique CALCULÉE (erreur HFSQL 28000002) — elle est exclue des INSERT/UPDATE, générée par la base. +- RendezVous (PlanningRDV) est VERIFIED : CRUD complet implémenté et testé unitairement (Create/ReadOne/ReadList/Update + Cancel + Archive), intégration réelle CREATE→UPDATE→CANCEL→ARCHIVE→ROLLBACK PASS contre BATIK_TEST/OMIKA_TEST. NB : le provider OLE DB ne sait pas marshaler `DateOnly` vers un Variant — la couche de connexion normalise désormais `DateOnly` en `DateTime` avant transmission. +- Collaborateur est VERIFIED : CRUD complet implémenté et testé unitairement (Create/ReadOne/ReadList/Update + Archive), intégration réelle CREATE→UPDATE→ARCHIVE→ROLLBACK PASS contre BATIK_TEST/OMIKA_TEST. NB : l'archivage logique est réalisé par désactivation (CO_Actif = false), aucun DELETE physique. Les associations d'équipe (Equipe_Collaborateur) sont lues mais non converties en GUID canoniques (aucune table de correspondance) ; Role est NOT_APPLICABLE (géré via les agrégats). +- Les contrats de service existent pour Document, Intervention, RendezVous, Collaborateur et ReferenceData. +- REFERENCE_DATA : seul ParametreMetier est exposé en lecture publique (READ_ONLY_VERIFIED). Les autres référentiels sont internes (INTERNAL_ONLY), spécifiques à un schéma (SCHEMA_SPECIFIC) ou non requis (NOT_REQUIRED). Aucun endpoint supplémentaire n'a été créé : conforme à la règle « ne crée pas automatiquement un endpoint pour chaque table ». + + +- Les tables de jointure ne doivent pas être exposées en CRUD public. +- ElementSupprime est absent de OMIKA_TEST actuel : à traiter comme optionnel. + + + diff --git a/docs/diagnostics/crud-implementation.md b/docs/diagnostics/crud-implementation.md new file mode 100644 index 0000000..e50be83 --- /dev/null +++ b/docs/diagnostics/crud-implementation.md @@ -0,0 +1,163 @@ +# État d'implémentation CRUD + +État réel de l'implémentation CRUD par agrégat métier, basé sur le code et les tests réellement présents. + +## Légende + +- **VERIFIED** : implémenté et testé (unitaire et/ou intégration). +- **PARTIAL** : implémenté mais avec des zones non couvertes (intégration réelle, relations). +- **NOT_STARTED** : non implémenté. +- **NOT_APPLICABLE** : opération non pertinente pour l'entité. +- **NOT_COVERED** : non exécuté (intégration réelle absente). + +## Client — VERIFIED + +- Create / ReadOne / ReadList / Update / Delete : implémentés et testés. +- Via `ClientService` / `AdaptiveClientRepository` / `ClientEndpoints`. +- Suppression : archivage logique. + +## Personne — VERIFIED + +- Create / ReadOne / ReadList / Update / Delete : implémentés et testés. +- Via `ContactService` / `AdaptiveContactRepository` / `ContactEndpoints`. +- Suppression : archivage logique. + +## Lieu/Site — VERIFIED + +- Create / ReadOne / ReadList / Update / Delete : implémentés et testés. +- Via `SiteService` / `AdaptiveSiteRepository` / `BatikSiteRepository` / `OmikaSiteRepository` / `SiteEndpoints`. +- BATIK : table physique `Lieu`, création Adresse transactionnelle, type résolu via `ParametreMetier`. +- OMIKA : table physique `Lieu`, `LI_CleType`, GUID, Adresse Omika. +- `AdaptiveSiteRepository` route selon `DatabaseSchemaVersion`. +- API : `/sites`. +- DI : `ISiteRepository → AdaptiveSiteRepository`, `ISiteService → SiteService`. +- Suppression : archivage logique. +- Tests : `BatikSiteMapperTests`, `OmikaSiteMapperTests` (PASS). + +## Document — VERIFIED + +- Create / ReadOne / ReadList : implémentés et testés. +- Update : NOT_APPLICABLE (document immuable après création). +- Delete : SEMANTIC_DELETE (archivage via `Archive`). + +## Intervention — VERIFIED + +### CRUD (implémenté et testé unitairement) + +| Opération | Statut | Implémentation | Tests | +|-----------|--------|----------------|-------| +| Create | IMPLEMENTED | `InterventionService.CreateAsync` → `AdaptiveInterventionRepository` → `Batik/OmikaInterventionRepository` | `BatikInterventionRepositoryTests`, `OmikaInterventionRepositoryTests`, `InterventionServiceTests`, `InterventionEndpointsTests` | +| ReadOne | IMPLEMENTED | `GetByIdAsync` → `GetDetailsAsync` | idem | +| ReadList/Search | IMPLEMENTED | `SearchAsync` | idem | +| Update | IMPLEMENTED | `UpdateAsync` | idem | +| Delete | SEMANTIC_DELETE | `ArchiveAsync` (archivage logique, jamais DELETE) | idem | + +### Relations + +| Relation | Statut | Détail | +|----------|--------|--------| +| EtatIntervention | VERIFIED (unitaire) | Chargée via `LoadEtatsInterventionAsync`, mappée en `ActionIntervention`. Testée dans `BatikInterventionRepositoryTests`. | +| InterventionCollaborateur | VERIFIED (unitaire) | `CollaborateurIds` persistés dans `InterventionCollaborateur` (DELETE + INSERT) sur Update. IDs invalides → `DomainValidationException` sans écriture partielle. Testé (`UpdateAsync_PersistsCollaborateurAndPersonneRelations`, `UpdateAsync_InvalidCollaborateurId_ThrowsControlledError`). | +| InterventionPersonne | VERIFIED (unitaire) | `ContactIds` persistés dans `InterventionPersonne` (DELETE + INSERT) sur Update. IDs invalides → `DomainValidationException` sans écriture partielle. Testé (`UpdateAsync_PersistsPersonneRelations`, `UpdateAsync_InvalidContactId_ThrowsControlledError`). | + +### Intégration + +| Cible | Statut | Détail | +|-------|--------|--------| +| BATIK_TEST | PASS | `HfSqlOleDbInterventionLifecycleIntegrationTests.Batik_CreateUpdateArchive_RollsBackAtomically` exécuté et PASS : CREATE → UPDATE → ARCHIVE → ROLLBACK dans une transaction externe unique. | +| OMIKA_TEST | PASS | `HfSqlOleDbInterventionLifecycleIntegrationTests.Omika_CreateUpdateArchive_RollsBackAtomically` exécuté et PASS : CREATE → UPDATE → ARCHIVE → ROLLBACK dans une transaction externe unique. | + +Les tests `HfSqlOleDbInterventionLifecycleIntegrationTests` exécutent le cycle de vie complet contre les vraies bases BATIK_TEST/OMIKA_TEST via le provider OLE DB, puis annulent (rollback) pour ne laisser aucune trace. Ils s'ignorent uniquement si la config est absente ou le serveur injoignable. + +### Transaction + +| Opération | Statut | Détail | +|-----------|--------|--------| +| CreateTransaction | PASS | `CreateAsync(command, transaction, ct)` exécute l'INSERT racine et les relations dans UNE transaction (interne ou externe). Exercé en intégration. | +| UpdateTransaction | PASS | `UpdateAsync(command, transaction, ct)` exécute UPDATE + DELETE/INSERT relations dans UNE transaction. Exercé en intégration. | +| Rollback | PASS | Rollback externe prouvé en intégration (CREATE→UPDATE→ARCHIVE→ROLLBACK). | +| PartialFailureRollback | NOT_COVERED | Aucun test ne provoque une erreur après une première écriture pour démontrer le rollback interne. Non bloquant : Create/Update utilisent bien une transaction unique, l'intégration réelle passe, le rollback externe est prouvé, aucune perte silencieuse de relations. | + +### Application + +| Couche | Statut | Détail | +|--------|--------|--------| +| AdaptiveRepository | PASS | `AdaptiveInterventionRepository` délègue selon le schéma détecté. Testé (`AdaptiveInterventionRepositoryTests`). | +| Service | PASS | `InterventionService` orchestre requête → critère → repository → DTO. Testé (`InterventionServiceTests`). | +| API | PASS | `InterventionEndpoints` (GET/POST/PUT/DELETE). Testé (`InterventionEndpointsTests`). | + +## Dossier — VERIFIED + +### CRUD (implémenté et testé unitairement) + +| Opération | Statut | Implémentation | Tests | +|-----------|--------|----------------|-------| +| Create | IMPLEMENTED | `DossierService.CreateAsync` → `AdaptiveDossierRepository` → `Batik/OmikaDossierRepository` | `BatikDossierRepositoryTests`, `OmikaDossierRepositoryTests`, `DossierServiceTests`, `DossierEndpointsTests` | +| ReadOne | IMPLEMENTED | `GetDetailsAsync` | idem | +| ReadList/Search | IMPLEMENTED | `SearchAsync` | idem | +| Update | IMPLEMENTED | `UpdateAsync` | idem | +| Delete | SEMANTIC_DELETE | `ArchiveAsync` (archivage logique, jamais DELETE) | idem | + +### Intégration + +| Cible | Statut | Détail | +|-------|--------|--------| +| BATIK_TEST | PASS | `HfSqlOleDbDossierLifecycleIntegrationTests.Batik_CreateUpdateArchive_RollsBackAtomically` exécuté et PASS : CREATE → UPDATE → ARCHIVE → ROLLBACK dans une transaction externe unique. | +| OMIKA_TEST | PASS | `HfSqlOleDbDossierLifecycleIntegrationTests.Omika_CreateUpdateArchive_RollsBackAtomically` exécuté et PASS : CREATE → UPDATE → ARCHIVE → ROLLBACK dans une transaction externe unique. | + +Les tests `HfSqlOleDbDossierLifecycleIntegrationTests` exécutent le cycle de vie complet contre les vraies bases BATIK_TEST/OMIKA_TEST via le provider OLE DB, puis annulent (rollback) pour ne laisser aucune trace. Ils s'ignorent uniquement si la config est absente ou le serveur injoignable. + +### Particularité Omika — DO_NumDossier (rubrique calculée) + +Dans la base Omika, `DO_NumDossier` est une **rubrique calculée** : toute écriture (INSERT/UPDATE) lève l'erreur HFSQL `28000002` (« Opération interdite sur la rubrique <Dossier.DO_NumDossier> : il s'agit d'une rubrique calculée »). Le `OmikaDossierRepository` exclut donc `DO_NumDossier` des INSERT/UPDATE : la valeur est générée par la base elle-même. La lecture (SELECT) reste possible. Ce comportement a été découvert et corrigé lors de l'intégration réelle. + +### Transaction + +| Opération | Statut | Détail | +|-----------|--------|--------| +| CreateTransaction | PASS | `CreateAsync(command, transaction, ct)` exécute l'INSERT racine dans UNE transaction (interne ou externe). Exercé en intégration. | +| UpdateTransaction | PASS | `UpdateAsync(command, transaction, ct)` exécute l'UPDATE dans UNE transaction. Exercé en intégration. | +| Rollback | PASS | Rollback externe prouvé en intégration (CREATE→UPDATE→ARCHIVE→ROLLBACK). | + +### Application + +| Couche | Statut | Détail | +|--------|--------|--------| +| AdaptiveRepository | PASS | `AdaptiveDossierRepository` délègue selon le schéma détecté. Testé (`AdaptiveDossierRepositoryTests`). | +| Service | PASS | `DossierService` orchestre requête → critère → repository → DTO. Testé (`DossierServiceTests`). | +| API | PASS | `DossierEndpoints` (GET/POST/PUT/DELETE). Testé (`DossierEndpointsTests`). | + +## Référentiels (REFERENCE_DATA) — lecture seule + +Les référentiels sont exposés en **lecture seule uniquement**. Aucun CRUD administratif générique (Create/Update/Delete) n'est créé : conforme à la règle « ne crée pas automatiquement un endpoint pour chaque table ». + +### ParametreMetier — READ_ONLY_VERIFIED (PUBLIC_READ_REFERENCE) + +Seul référentiel exposé en lecture publique, via le mécanisme générique existant : + +- Endpoint : `GET /reference-data/{key}` (`MapReferenceDataEndpoints`). +- Service : `IReferenceDataService → ReferenceDataService`. +- Repository : `IReferenceDataRepository → AdaptiveReferenceDataRepository` (route selon le schéma détecté). +- Implémentations : `BatikReferenceDataRepository` (filtre `PA_Code`) / `OmikaReferenceDataRepository` (filtre `PA_Categorie`). +- Retour : `ReferenceValueDto` (Key / LegacyId / Code / Label). +- DI : enregistré dans `ServiceCollectionExtensions` (Scoped). + +### Autres référentiels — aucune exposition publique + +| Entité | Classification | Justification | +|--------|----------------|---------------| +| Societe | INTERNAL_REFERENCE_ONLY | Aucun besoin public démontré (pas de sélecteur de société requis). | +| Equipe | INTERNAL_REFERENCE_ONLY | Pas d'identité publique canonique exploitable indépendamment ; aucun GUID fabriqué. | +| ParametreMetierEntete | INTERNAL_REFERENCE_ONLY | Référentiel historique/protégé, pas de CRUD public. | +| EtatIntervention | INTERNAL_REFERENCE_ONLY | Table d'historique des états d'une intervention, chargée en interne par Intervention ; les valeurs d'état proviennent de ParametreMetier. Pas de liste publique autonome. | +| Role | SCHEMA_SPECIFIC | Omika uniquement ; absent sous Batik (`SchemaCapabilities.SupportsRoles`). Lecture interne. | +| Etats | SCHEMA_SPECIFIC | Omika uniquement ; absent sous Batik. Lecture interne. | +| ModeleRapport | NOT_REQUIRED | Omika uniquement ; aucun besoin public démontré. | + +Aucun nouveau code n'a été nécessaire pour ce lot : le seul référentiel public (ParametreMetier) était déjà implémenté et câblé. Les autres restent internes. + +## Blocker + +Aucun. L'intégration réelle contre BATIK_TEST/OMIKA_TEST avec rollback est couverte et PASS pour Intervention et Dossier. Dossier est VERIFIED (avec la particularité Omika `DO_NumDossier` rubrique calculée gérée). + + diff --git a/docs/diagnostics/hfsql-model-audit.csv b/docs/diagnostics/hfsql-model-audit.csv new file mode 100644 index 0000000..c6db190 --- /dev/null +++ b/docs/diagnostics/hfsql-model-audit.csv @@ -0,0 +1,1274 @@ +Schema,Table,RowType,DiskName,ExpectedGroup,ObservedAccess,PhysicalPresent,SelectAccess,Column,Property,ModelClrType,PhysicalClrType,ProviderType,ModelLength,PhysicalLength,ModelNullable,PhysicalNullable,ModelPrimaryKey,PhysicalPrimaryKey,TypeStatus,LengthStatus,NullableStatus,PkStatus,ColumnStatus,OverallStatus,Notes +Batik,AccesEtDroit,AccesEtDroitRow,AccesEtDroit.fic,ProtectionStd,Direct,YES,PASS,AED_PKID,AEDPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,AccesEtDroit,AccesEtDroitRow,AccesEtDroit.fic,ProtectionStd,Direct,YES,PASS,AED_IDProfil,AEDIDProfil,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,AccesEtDroit,AccesEtDroitRow,AccesEtDroit.fic,ProtectionStd,Direct,YES,PASS,AED_IDModule,AEDIDModule,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,AccesEtDroit,AccesEtDroitRow,AccesEtDroit.fic,ProtectionStd,Direct,YES,PASS,AED_Acces,AEDAcces,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,AccesEtDroit,AccesEtDroitRow,AccesEtDroit.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,AccesEtDroit,AccesEtDroitRow,AccesEtDroit.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,AccesEtDroit,AccesEtDroitRow,AccesEtDroit.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,AccesEtDroit,AccesEtDroitRow,AccesEtDroit.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Action,ActionRow,Action.fic,ProtectionStd,Direct,YES,PASS,AC_PKID,ACPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Action,ActionRow,Action.fic,ProtectionStd,Direct,YES,PASS,AC_DateAction,ACDateAction,DateOnly,DateTime,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Action,ActionRow,Action.fic,ProtectionStd,Direct,YES,PASS,AC_HeureAction,ACHeureAction,TimeOnly,TimeSpan,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Action,ActionRow,Action.fic,ProtectionStd,Direct,YES,PASS,AC_IDTypeAction,ACIDTypeAction,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Action,ActionRow,Action.fic,ProtectionStd,Direct,YES,PASS,AC_IDIntervention,ACIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Action,ActionRow,Action.fic,ProtectionStd,Direct,YES,PASS,AC_Description,ACDescription,String,String,,250,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Action,ActionRow,Action.fic,ProtectionStd,Direct,YES,PASS,AC_Clos,ACClos,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Action,ActionRow,Action.fic,ProtectionStd,Direct,YES,PASS,AC_IDQui,ACIDQui,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Action,ActionRow,Action.fic,ProtectionStd,Direct,YES,PASS,AC_IDImport,ACIDImport,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,AD_PKID,ADPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,AD_Etiquette,ADEtiquette,String,String,,25,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,AD_Ligne_1,ADLigne1,String,String,,38,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,AD_Ligne_2,ADLigne2,String,String,,38,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,AD_Ligne_3,ADLigne3,String,String,,38,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,AD_Ligne_4,ADLigne4,String,String,,100,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,AD_Ligne_5,ADLigne5,String,String,,38,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,AD_CodePostal,ADCodePostal,String,String,,15,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,AD_Ville,ADVille,String,String,,45,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,AD_Presentation,ADPresentation,String,String,,255,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,BddExterne,BddExterneRow,BddExterne.fic,ProtectionStd,Direct,YES,PASS,BSX_PKID,BSXPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,BddExterne,BddExterneRow,BddExterne.fic,ProtectionStd,Direct,YES,PASS,BSX_Nom,BSXNom,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,BddExterne,BddExterneRow,BddExterne.fic,ProtectionStd,Direct,YES,PASS,BSX_Param,BSXParam,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,BddExterne,BddExterneRow,BddExterne.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,BddExterne,BddExterneRow,BddExterne.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,BddExterne,BddExterneRow,BddExterne.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,BddExterne,BddExterneRow,BddExterne.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,BddExterne,BddExterneRow,BddExterne.fic,ProtectionStd,Direct,YES,PASS,BSX_IDSociete,BSXIDSociete,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CheckList,CheckListRow,CheckList.fic,ProtectionStd,Direct,YES,PASS,CHK_PKID,CHKPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CheckList,CheckListRow,CheckList.fic,ProtectionStd,Direct,YES,PASS,CHK_Nom,CHKNom,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CheckList,CheckListRow,CheckList.fic,ProtectionStd,Direct,YES,PASS,CHK_Element,CHKElement,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CheckList,CheckListRow,CheckList.fic,ProtectionStd,Direct,YES,PASS,CHK_Fait,CHKFait,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CheckList,CheckListRow,CheckList.fic,ProtectionStd,Direct,YES,PASS,CHK_Ordre,CHKOrdre,Int32,Int32,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CheckList,CheckListRow,CheckList.fic,ProtectionStd,Direct,YES,PASS,CHK_IDModele,CHKIDModele,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CheckList,CheckListRow,CheckList.fic,ProtectionStd,Direct,YES,PASS,CHK_IDIntervention,CHKIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CheckList,CheckListRow,CheckList.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CheckList,CheckListRow,CheckList.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CheckList,CheckListRow,CheckList.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CheckList,CheckListRow,CheckList.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CheckList,CheckListRow,CheckList.fic,ProtectionStd,Direct,YES,PASS,CHK_OrdreDuGroupe,CHKOrdreDuGroupe,Int32,Int32,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CheckList_Collab,CheckListCollabRow,CheckList_Collab.fic,ProtectionStd,Direct,YES,PASS,CHC_PKID,CHCPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CheckList_Collab,CheckListCollabRow,CheckList_Collab.fic,ProtectionStd,Direct,YES,PASS,CHC_IDCollaborateur,CHCIDCollaborateur,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CheckList_Collab,CheckListCollabRow,CheckList_Collab.fic,ProtectionStd,Direct,YES,PASS,CHC_IDCheckList,CHCIDCheckList,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CheckList_Collab,CheckListCollabRow,CheckList_Collab.fic,ProtectionStd,Direct,YES,PASS,CHC_Fait,CHCFait,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CheckList_Collab,CheckListCollabRow,CheckList_Collab.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CheckList_Collab,CheckListCollabRow,CheckList_Collab.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CheckList_Collab,CheckListCollabRow,CheckList_Collab.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CheckList_Collab,CheckListCollabRow,CheckList_Collab.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_PKID,CLPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_Nom,CLNom,String,String,,100,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_IDType,CLIDType,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_IDStatut,CLIDStatut,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_IDAdressePrincipale,CLIDAdressePrincipale,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_Tel,CLTel,String,String,,15,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_Fax,CLFax,String,String,,15,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_IDImport,CLIDImport,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,Archive,Archive,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,DateArchivage,DateArchivage,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_CodeComptable,CLCodeComptable,String,String,,25,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_Email,CLEmail,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_RepertoireDocs,CLRepertoireDocs,String,String,,255,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_IDContactPrincipal,CLIDContactPrincipal,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_IDLieuPrincipal,CLIDLieuPrincipal,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_IDApporteur,CLIDApporteur,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_IDApportOrigine,CLIDApportOrigine,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_CodeClient,CLCodeClient,String,String,,10,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_Blocage,CLBlocage,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_RaisonBlocage,ClRaisonBlocage,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_FormeJuridique,CLFormeJuridique,String,String,,25,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_IDModeReglement,CLIDModeReglement,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_InfoSup,CLInfoSup,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_Pays,CLPays,String,String,,3,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_CodeTVA,CLCodeTVA,String,String,,13,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_SIREN,CLSIREN,String,String,,9,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_SIRET,CLSIRET,String,String,,14,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client_Adresse,ClientAdresseRow,Client_Adresse.fic,ProtectionStd,Direct,YES,PASS,CA_PKID,CAPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client_Adresse,ClientAdresseRow,Client_Adresse.fic,ProtectionStd,Direct,YES,PASS,CA_IDAdresse,CAIDAdresse,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client_Adresse,ClientAdresseRow,Client_Adresse.fic,ProtectionStd,Direct,YES,PASS,CA_IDClient,CAIDClient,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client_Adresse,ClientAdresseRow,Client_Adresse.fic,ProtectionStd,Direct,YES,PASS,CA_IDCli_IDAd,CAIDCliIDAd,String,,,16,,YES,,NO,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Batik,Client_Adresse,ClientAdresseRow,Client_Adresse.fic,ProtectionStd,Direct,YES,PASS,CA_IDTypeAdresse,CAIDTypeAdresse,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client_Adresse,ClientAdresseRow,Client_Adresse.fic,ProtectionStd,Direct,YES,PASS,CA_Principale,CAPrincipale,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client_BddExterne,ClientBddExterneRow,Client_BddExterne.fic,ProtectionStd,Direct,YES,PASS,CLX_PKID,CLXPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client_BddExterne,ClientBddExterneRow,Client_BddExterne.fic,ProtectionStd,Direct,YES,PASS,CLX_IDCLient,CLXIDCLient,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client_BddExterne,ClientBddExterneRow,Client_BddExterne.fic,ProtectionStd,Direct,YES,PASS,CLX_IDExterne,CLXIDExterne,String,String,,30,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client_BddExterne,ClientBddExterneRow,Client_BddExterne.fic,ProtectionStd,Direct,YES,PASS,CLX_DateSynchro,CLXDateSynchro,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client_BddExterne,ClientBddExterneRow,Client_BddExterne.fic,ProtectionStd,Direct,YES,PASS,CLX_IDBddExterne,CLXIDBddExterne,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client_BddExterne,ClientBddExterneRow,Client_BddExterne.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client_BddExterne,ClientBddExterneRow,Client_BddExterne.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client_BddExterne,ClientBddExterneRow,Client_BddExterne.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client_BddExterne,ClientBddExterneRow,Client_BddExterne.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client_BddExterne,ClientBddExterneRow,Client_BddExterne.fic,ProtectionStd,Direct,YES,PASS,CLX_IDBddExterneCLX_IDCLient,CLXIDBddExterneCLXIDCLient,String,,,16,,YES,,NO,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Batik,Client_Lieu,ClientLieuRow,Client_Lieu.fic,ProtectionStd,Direct,YES,PASS,CLI_PKID,CLIPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client_Lieu,ClientLieuRow,Client_Lieu.fic,ProtectionStd,Direct,YES,PASS,CLI_IDClient,CLIIDClient,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client_Lieu,ClientLieuRow,Client_Lieu.fic,ProtectionStd,Direct,YES,PASS,CLI_IDLieu,CLIIDLieu,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client_Lieu,ClientLieuRow,Client_Lieu.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client_Lieu,ClientLieuRow,Client_Lieu.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client_Lieu,ClientLieuRow,Client_Lieu.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Client_Lieu,ClientLieuRow,Client_Lieu.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_PKID,COPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_IDCivilite,COIDCivilite,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_Nom,CONom,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_Prenom,COPrenom,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_TelFixe,COTelFixe,String,String,,15,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_TelMobile,COTelMobile,String,String,,15,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_Email,COEmail,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_Fonction,COFonction,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_AuPlanning,COAuPlanning,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_Actif,COActif,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_IDImport,COIDImport,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_Ponderation,COPonderation,Single,Single,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_Trigramme,COTrigramme,String,String,,3,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_IDStatut,COIDStatut,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_AccesBO,COAccesBO,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_AccesMobile,COAccesMobile,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_PKID,CRPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_IDRdv,CRIDRdv,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_IDIntervention,CRIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_DateHeureDebut,CRDateHeureDebut,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_DateHeureFin,CRDateHeureFin,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_NoteCollaborateur,CRNoteCollaborateur,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_NomSignataire,CRNomSignataire,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_NoteSignataire,CRNoteSignataire,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_DateHeureSignature,CRDateHeureSignature,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_Signature,CRSignature,Byte[],Byte[],,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_IDCollaborateur,CRIDCollaborateur,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_SignatureTech,CRSignatureTech,Byte[],Byte[],,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_NomSignataireTech,CRNomSignataireTech,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_DevisConforme,CRDevisConforme,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_AvecReserve,CRAvecReserve,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_ReserveCommentaire,CRReserveCommentaire,String,String,,100,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_IDTypeSignataire,CRIDTypeSignataire,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Compteur,CompteurRow,Compteur.fic,ProtectionStd,Direct,YES,PASS,CPT_PKID,CPTPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Compteur,CompteurRow,Compteur.fic,ProtectionStd,Direct,YES,PASS,CPT_Code,CPTCode,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Compteur,CompteurRow,Compteur.fic,ProtectionStd,Direct,YES,PASS,CPT_Annee,CPTAnnee,Int16,Int16,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Compteur,CompteurRow,Compteur.fic,ProtectionStd,Direct,YES,PASS,CPT_Valeur,CPTValeur,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Compteur,CompteurRow,Compteur.fic,ProtectionStd,Direct,YES,PASS,CPT_ParAnnee,CPTParAnnee,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Compteur,CompteurRow,Compteur.fic,ProtectionStd,Direct,YES,PASS,CPT_ParMois,CPTParMois,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Compteur,CompteurRow,Compteur.fic,ProtectionStd,Direct,YES,PASS,CPT_Mois,CPTMois,SByte,Int16,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Compteur,CompteurRow,Compteur.fic,ProtectionStd,Direct,YES,PASS,CPT_Actif,CPTActif,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,DC_PKID,DCPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,DC_IDIntervention,DCIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,DC_Nom,DCNom,String,String,,255,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,DC_Commentaire,DCCommentaire,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,DC_Categorie,DCCategorie,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,DC_DateFichier,DCDateFichier,DateOnly,DateTime,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,DC_IDMessageExterne,DCIDMessageExterne,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,DC_IDEtatDocument,DCIDEtatDocument,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,DC_HeriteDroit,DCHeriteDroit,String,String,,8,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,DC_Chemin,DCChemin,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,DocumentNote,DocumentNoteRow,DocumentNote.fic,ProtectionStd,Direct,YES,PASS,DN_PKID,DNPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,DocumentNote,DocumentNoteRow,DocumentNote.fic,ProtectionStd,Direct,YES,PASS,DN_IDDocument,DNIDDocument,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,DocumentNote,DocumentNoteRow,DocumentNote.fic,ProtectionStd,Direct,YES,PASS,DN_Note,DNNote,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,DocumentNote,DocumentNoteRow,DocumentNote.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,DocumentNote,DocumentNoteRow,DocumentNote.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,DocumentNote,DocumentNoteRow,DocumentNote.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DO_PKID,DOPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DO_IDClient,DOIDClient,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DO_IDTypeDossier,DOIDTypeDossier,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DO_Titre,DOTitre,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DO_IDStatut,DOIDStatut,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DO_RefInterne,DORefInterne,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DO_RefExterne,DORefExterne,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DO_IDImport,DOIDImport,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DO_IDSociete,DOIDSociete,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DO_DateDebut,DODateDebut,DateOnly,DateTime,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,Archive,Archive,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DateArchivage,DateArchivage,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DO_NumDossier,DONumDossier,String,String,,6,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Equipe,EquipeRow,Equipe.fic,ProtectionStd,Direct,YES,PASS,EQ_PKID,EQPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Equipe,EquipeRow,Equipe.fic,ProtectionStd,Direct,YES,PASS,EQ_Nom,EQNom,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Equipe,EquipeRow,Equipe.fic,ProtectionStd,Direct,YES,PASS,EQ_IDSociete,EQIDSociete,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Equipe,EquipeRow,Equipe.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Equipe,EquipeRow,Equipe.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Equipe,EquipeRow,Equipe.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Equipe,EquipeRow,Equipe.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Equipe_Collaborateur,EquipeCollaborateurRow,Equipe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,EC_PKID,ECPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Equipe_Collaborateur,EquipeCollaborateurRow,Equipe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,EC_IDCollaborateur,ECIDCollaborateur,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Equipe_Collaborateur,EquipeCollaborateurRow,Equipe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,EC_IDEquipe,ECIDEquipe,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Equipe_Collaborateur,EquipeCollaborateurRow,Equipe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,EC_IDEquipe_EC_IDCollaborateur,ECIDEquipeECIDCollaborateur,String,,,16,,YES,,NO,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Batik,Equipe_Collaborateur,EquipeCollaborateurRow,Equipe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Equipe_Collaborateur,EquipeCollaborateurRow,Equipe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Equipe_Collaborateur,EquipeCollaborateurRow,Equipe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Equipe_Collaborateur,EquipeCollaborateurRow,Equipe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,EtatIntervention,EtatInterventionRow,EtatIntervention.fic,ProtectionStd,Direct,YES,PASS,EI_PKID,EIPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,EtatIntervention,EtatInterventionRow,EtatIntervention.fic,ProtectionStd,Direct,YES,PASS,EI_IDEtat,EIIDEtat,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,EtatIntervention,EtatInterventionRow,EtatIntervention.fic,ProtectionStd,Direct,YES,PASS,EI_DateDebut,EIDateDebut,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,EtatIntervention,EtatInterventionRow,EtatIntervention.fic,ProtectionStd,Direct,YES,PASS,EI_DateFin,EIDateFin,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,EtatIntervention,EtatInterventionRow,EtatIntervention.fic,ProtectionStd,Direct,YES,PASS,EI_Description,EIDescription,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,EtatIntervention,EtatInterventionRow,EtatIntervention.fic,ProtectionStd,Direct,YES,PASS,EI_IDIntervention,EIIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_PKID,INPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_IDTypeIntervention,INIDTypeIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_IDEtatIntervention,INIDEtatIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_IDSuiviPar,INIDSuiviPar,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_IDDossier,INIDDossier,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_IDDemandeur,INIDDemandeur,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_IDClient,INIDClient,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_IDLieu,INIDLieu,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_Description,INDescription,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_AttestationTVAPresente,INAttestationTVAPresente,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_NoteInterne,INNoteInterne,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_Titre,INTitre,String,String,,51,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_RefInterne,INRefInterne,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_RefExterne,INRefExterne,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_IDImport,INIDImport,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_IDSociete,INIDSociete,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,Archive,Archive,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,DateArchivage,DateArchivage,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_DateIntervention,INDateIntervention,DateOnly,DateTime,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_DureePrevue,INDureePrevue,Single,Single,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_NumDevis,INNumDevis,String,String,,20,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_DateDevis,INDateDevis,DateOnly,DateTime,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_NumFacture,INNumFacture,String,String,,20,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_DateFacture,INDateFacture,DateOnly,DateTime,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_NumIntervention,INNumIntervention,String,String,,6,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_BddExterne,InterventionBddExterneRow,Intervention_BddExterne.fic,ProtectionStd,Direct,YES,PASS,INX_PKID,INXPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_BddExterne,InterventionBddExterneRow,Intervention_BddExterne.fic,ProtectionStd,Direct,YES,PASS,INX_IDIntervention,INXIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_BddExterne,InterventionBddExterneRow,Intervention_BddExterne.fic,ProtectionStd,Direct,YES,PASS,INX_IDExterne,INXIDExterne,String,String,,30,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_BddExterne,InterventionBddExterneRow,Intervention_BddExterne.fic,ProtectionStd,Direct,YES,PASS,INX_IDBddExterne,INXIDBddExterne,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_BddExterne,InterventionBddExterneRow,Intervention_BddExterne.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_BddExterne,InterventionBddExterneRow,Intervention_BddExterne.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_BddExterne,InterventionBddExterneRow,Intervention_BddExterne.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_BddExterne,InterventionBddExterneRow,Intervention_BddExterne.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_BddExterne,InterventionBddExterneRow,Intervention_BddExterne.fic,ProtectionStd,Direct,YES,PASS,INX_IDBaseExtINX_IDIntervention,INXIDBaseExtINXIDIntervention,String,,,16,,YES,,NO,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Batik,Intervention_ChampLibre,InterventionChampLibreRow,Intervention_ChampLibre.fic,ProtectionStd,Direct,YES,PASS,ICL_PKID,ICLPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_ChampLibre,InterventionChampLibreRow,Intervention_ChampLibre.fic,ProtectionStd,Direct,YES,PASS,ICL_IDIntervention_ICL_IDParametreM,ICLIDInterventionICLIDParametreM,String,,,16,,YES,,NO,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Batik,Intervention_ChampLibre,InterventionChampLibreRow,Intervention_ChampLibre.fic,ProtectionStd,Direct,YES,PASS,ICL_IDIntervention,ICLIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_ChampLibre,InterventionChampLibreRow,Intervention_ChampLibre.fic,ProtectionStd,Direct,YES,PASS,ICL_IDParametreMetier,ICLIDParametreMetier,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_ChampLibre,InterventionChampLibreRow,Intervention_ChampLibre.fic,ProtectionStd,Direct,YES,PASS,ICL_ValeurDuChamp,ICLValeurDuChamp,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_ChampLibre,InterventionChampLibreRow,Intervention_ChampLibre.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_ChampLibre,InterventionChampLibreRow,Intervention_ChampLibre.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_ChampLibre,InterventionChampLibreRow,Intervention_ChampLibre.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_ChampLibre,InterventionChampLibreRow,Intervention_ChampLibre.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_Collaborateur,InterventionCollaborateurRow,Intervention_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,IC_PKID,ICPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_Collaborateur,InterventionCollaborateurRow,Intervention_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,IC_IDIntervention,ICIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_Collaborateur,InterventionCollaborateurRow,Intervention_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,IC_IDCollaborateur,ICIDCollaborateur,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_Collaborateur,InterventionCollaborateurRow,Intervention_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_Collaborateur,InterventionCollaborateurRow,Intervention_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_Collaborateur,InterventionCollaborateurRow,Intervention_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_Collaborateur,InterventionCollaborateurRow,Intervention_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,IP_PKID,IPPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,IP_IDIntervention,IPIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,IP_IDPersonne,IPIDPersonne,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,IP_IDClient,IPIDClient,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,IP_IDLieu,IPIDLieu,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,IP_IDRole,IPIDRole,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,IP_IDImport,IPIDImport,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,IP_EstDemandeur,IPEstDemandeur,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,IP_Etage,IPEtage,String,String,,10,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,IP_Lot,IPLot,String,String,,25,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu,LieuRow,Lieu.fic,ProtectionStd,ProtectionStd,YES,PASS,LI_PKID,LIPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu,LieuRow,Lieu.fic,ProtectionStd,ProtectionStd,YES,PASS,LI_CodeLieu,LICodeLieu,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu,LieuRow,Lieu.fic,ProtectionStd,ProtectionStd,YES,PASS,LI_IDAdresse,LIIDAdresse,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu,LieuRow,Lieu.fic,ProtectionStd,ProtectionStd,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu,LieuRow,Lieu.fic,ProtectionStd,ProtectionStd,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu,LieuRow,Lieu.fic,ProtectionStd,ProtectionStd,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu,LieuRow,Lieu.fic,ProtectionStd,ProtectionStd,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu,LieuRow,Lieu.fic,ProtectionStd,ProtectionStd,YES,PASS,LI_IDType,LIIDType,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu,LieuRow,Lieu.fic,ProtectionStd,ProtectionStd,YES,PASS,LI_CodeAcces,LICodeAcces,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu,LieuRow,Lieu.fic,ProtectionStd,ProtectionStd,YES,PASS,LI_Badge,LIBadge,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu,LieuRow,Lieu.fic,ProtectionStd,ProtectionStd,YES,PASS,LI_Interphone,LIInterphone,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu,LieuRow,Lieu.fic,ProtectionStd,ProtectionStd,YES,PASS,LI_Note,LINote,String,String,,250,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu,LieuRow,Lieu.fic,ProtectionStd,ProtectionStd,YES,PASS,Archive,Archive,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu,LieuRow,Lieu.fic,ProtectionStd,ProtectionStd,YES,PASS,DateArchivage,DateArchivage,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu,LieuRow,Lieu.fic,ProtectionStd,ProtectionStd,YES,PASS,LI_IDImport,LIIDImport,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu,LieuRow,Lieu.fic,ProtectionStd,ProtectionStd,YES,PASS,LI_RepertoireDocs,LIRepertoireDocs,String,String,,255,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu,LieuRow,Lieu.fic,ProtectionStd,ProtectionStd,YES,PASS,LI_IDClientPrincipal,LIIDClientPrincipal,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu,LieuRow,Lieu.fic,ProtectionStd,ProtectionStd,YES,PASS,LI_Blocage,LIBlocage,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu,LieuRow,Lieu.fic,ProtectionStd,ProtectionStd,YES,PASS,LI_RaisonBlocage,LIRaisonBlocage,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,LIP_PKID,LIPPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,LIP_IDPersonne,LIPIDPersonne,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,LIP_IDLieu,LIPIDLieu,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,LIP_IDRole,LIPIDRole,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,LIP_IDTypeLieuPersonne,LIPIDTypeLieuPersonne,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,LIP_Etage,LIPEtage,String,String,,10,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,LIP_Lot,LIPLot,String,String,,25,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,Archive,Archive,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,DateArchivage,DateArchivage,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,LIP_EtiquetteAdresse,LIPEtiquetteAdresse,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,LIP_ACTIF,LIPActif,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MailCat,MailCatRow,MailCat.fic,ProtectionStd,Direct,YES,PASS,MMC_PKID,MMCPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MailCat,MailCatRow,MailCat.fic,ProtectionStd,Direct,YES,PASS,MMC_CodeModMail,MMCCodeModMail,String,String,,5,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MailCat,MailCatRow,MailCat.fic,ProtectionStd,Direct,YES,PASS,MMC_CodeCat,MMCCodeCat,String,String,,5,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MailCat,MailCatRow,MailCat.fic,ProtectionStd,Direct,YES,PASS,MMC_CodeModMail_CodeCat,MMCCodeModMailCodeCat,String,,,10,,YES,,NO,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Batik,MailModele,MailModeleRow,MailModele.fic,ProtectionStd,Direct,YES,PASS,MM_PKID,MMPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MailModele,MailModeleRow,MailModele.fic,ProtectionStd,Direct,YES,PASS,MM_Code,MMCode,String,String,,5,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MailModele,MailModeleRow,MailModele.fic,ProtectionStd,Direct,YES,PASS,MM_Nom,MMNom,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MailModele,MailModeleRow,MailModele.fic,ProtectionStd,Direct,YES,PASS,MM_Sujet,MMSujet,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MailModele,MailModeleRow,MailModele.fic,ProtectionStd,Direct,YES,PASS,MM_MsgDoc,MMMsgDoc,Byte[],Byte[],,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MailModele,MailModeleRow,MailModele.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MailModele,MailModeleRow,MailModele.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MailModele,MailModeleRow,MailModele.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MailModele,MailModeleRow,MailModele.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MailModele,MailModeleRow,MailModele.fic,ProtectionStd,Direct,YES,PASS,MM_System,MMSystem,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MailModele,MailModeleRow,MailModele.fic,ProtectionStd,Direct,YES,PASS,MM_Langue,MMLangue,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_PKID,MEPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_IDIntervention,MEIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_AdrExp,MEAdrExp,String,String,,250,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_AdrDestinataires,MEAdrDestinataires,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_Objet,MEObjet,String,String,,200,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_Message,MEMessage,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_IDDocPJ,MEIDDocPJ,String,String,,100,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_Envoyer,MEEnvoyer,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_Brouillon,MEBrouillon,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_PJ,MEPJ,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_AdrCC,MEAdrCC,String,String,,200,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_AdrCCI,MEAdrCCI,String,String,,200,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_IDImport,MEIDImport,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_EnvoyerMob,MEEnvoyerMob,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MessageInterne,MessageInterneRow,MessageInterne.fic,ProtectionStd,Direct,YES,PASS,MI_PKID,MIPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MessageInterne,MessageInterneRow,MessageInterne.fic,ProtectionStd,Direct,YES,PASS,MI_IDTypeMessage,MIIDTypeMessage,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MessageInterne,MessageInterneRow,MessageInterne.fic,ProtectionStd,Direct,YES,PASS,MI_Message,MIMessage,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MessageInterne,MessageInterneRow,MessageInterne.fic,ProtectionStd,Direct,YES,PASS,MI_IDIntervention,MIIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MessageInterne,MessageInterneRow,MessageInterne.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MessageInterne,MessageInterneRow,MessageInterne.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MessageInterne,MessageInterneRow,MessageInterne.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Mobile,MobileRow,Mobile.fic,ProtectionStd,Direct,YES,PASS,MOB_PKID,MOBPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Mobile,MobileRow,Mobile.fic,ProtectionStd,Direct,YES,PASS,MOB_NumSerie,MOBNumSerie,String,String,,100,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Mobile,MobileRow,Mobile.fic,ProtectionStd,Direct,YES,PASS,MOB_NomPersonne,MOBNomPersonne,String,String,,100,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MobLog,MobLogRow,MobLog.fic,ProtectionStd,Direct,YES,PASS,ML_PKID,MLPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MobLog,MobLogRow,MobLog.fic,ProtectionStd,Direct,YES,PASS,ML_DateCreat,MLDateCreat,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MobLog,MobLogRow,MobLog.fic,ProtectionStd,Direct,YES,PASS,ML_Message,MLMessage,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MobLog,MobLogRow,MobLog.fic,ProtectionStd,Direct,YES,PASS,ML_Niveau,MLNiveau,SByte,Int16,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MobReception,MobReceptionRow,MobReception.fic,ProtectionStd,Direct,YES,PASS,MR_PKID,MRPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MobReception,MobReceptionRow,MobReception.fic,ProtectionStd,Direct,YES,PASS,MR_IDToSRV,MRIDToSRV,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MobReception,MobReceptionRow,MobReception.fic,ProtectionStd,Direct,YES,PASS,MR_JSON,MRJSON,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MobReception,MobReceptionRow,MobReception.fic,ProtectionStd,Direct,YES,PASS,MR_CMD,MRCMD,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MobReception,MobReceptionRow,MobReception.fic,ProtectionStd,Direct,YES,PASS,MR_Buffer,MRBuffer,Byte[],Byte[],,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MobReception,MobReceptionRow,MobReception.fic,ProtectionStd,Direct,YES,PASS,MR_NumSerie,MRNumSerie,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MobReception,MobReceptionRow,MobReception.fic,ProtectionStd,Direct,YES,PASS,MR_Fait,MRFait,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MobReception,MobReceptionRow,MobReception.fic,ProtectionStd,Direct,YES,PASS,MR_DateHeureRecep,MRDateHeureRecep,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ModeleRapportMob,ModeleRapportMobRow,ModeleRapportMob.fic,ProtectionStd,ProtectionStd,YES,PASS,MRM_PKID,MRMPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ModeleRapportMob,ModeleRapportMobRow,ModeleRapportMob.fic,ProtectionStd,ProtectionStd,YES,PASS,MRM_Nom,MRMNom,String,String,,30,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ModeleRapportMob,ModeleRapportMobRow,ModeleRapportMob.fic,ProtectionStd,ProtectionStd,YES,PASS,MRM_Modele,MRMModele,Byte[],Byte[],,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ModeleRapportMob,ModeleRapportMobRow,ModeleRapportMob.fic,ProtectionStd,ProtectionStd,YES,PASS,MRM_RubMob,MRMRubMob,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MotClef,MotClefRow,MotClef.fic,ProtectionStd,Direct,YES,PASS,MOC_PKID,MOCPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MotClef,MotClefRow,MotClef.fic,ProtectionStd,Direct,YES,PASS,MOC_Code,MOCCode,String,String,,20,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MotClef,MotClefRow,MotClef.fic,ProtectionStd,Direct,YES,PASS,MOC_Mot,MOCMot,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MotClef,MotClefRow,MotClef.fic,ProtectionStd,Direct,YES,PASS,MOC_Lib,MOCLib,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MotClef,MotClefRow,MotClef.fic,ProtectionStd,Direct,YES,PASS,MOC_Langue,MOCLangue,String,String,,3,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,MotClef,MotClefRow,MotClef.fic,ProtectionStd,Direct,YES,PASS,MOC_CodeMOC_Langue,MOCCodeMOCLangue,String,,,23,,YES,,NO,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Batik,MotClef,MotClefRow,MotClef.fic,ProtectionStd,Direct,YES,PASS,MOC_MotMOC_Langue,MOCMotMOCLangue,String,,,53,,YES,,NO,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Batik,MotClef,MotClefRow,MotClef.fic,ProtectionStd,Direct,YES,PASS,MOC_Groupe,MOCGroupe,String,String,,25,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreApplication,ParametreApplicationRow,ParametreApplication.fic,ProtectionStd,Direct,YES,PASS,PAP_PKID,PAPPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreApplication,ParametreApplicationRow,ParametreApplication.fic,ProtectionStd,Direct,YES,PASS,PAP_Code,PAPCode,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreApplication,ParametreApplicationRow,ParametreApplication.fic,ProtectionStd,Direct,YES,PASS,PAP_Description,PAPDescription,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreApplication,ParametreApplicationRow,ParametreApplication.fic,ProtectionStd,Direct,YES,PASS,PAP_Valeur,PAPValeur,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_PKID,PAPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_Code,PACode,String,String,,3,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_Libelle,PALibelle,String,String,,250,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_Valeur,PAValeur,String,String,,20,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_Ordre,PAOrdre,Int32,Int32,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_Systeme,PASysteme,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_Invisible,PAInvisible,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_IDImport,PAIDImport,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_Actif,PAActif,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_CodePA_Valeur,PACodePAValeur,String,,,23,,YES,,NO,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Batik,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_CleLiaison,PACleLiaison,String,String,,23,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_Parametre,PAParametre,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_LibelleCourt,PALibelleCourt,String,String,,20,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreMetierEntete,ParametreMetierEnteteRow,ParametreMetierEntete.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PM_PKID,PMPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreMetierEntete,ParametreMetierEnteteRow,ParametreMetierEntete.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PM_Libelle,PMLibelle,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreMetierEntete,ParametreMetierEnteteRow,ParametreMetierEntete.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PM_Description,PMDescription,String,String,,250,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreMetierEntete,ParametreMetierEnteteRow,ParametreMetierEntete.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PM_Systeme,PMSysteme,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreMetierEntete,ParametreMetierEnteteRow,ParametreMetierEntete.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PM_Groupe,PMGroupe,String,String,,25,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreMetierEntete,ParametreMetierEnteteRow,ParametreMetierEntete.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PM_Code,PMCode,String,String,,3,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreMetierEntete,ParametreMetierEnteteRow,ParametreMetierEntete.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PM_AucunPossible,PMAucunPossible,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreMetierEntete,ParametreMetierEnteteRow,ParametreMetierEntete.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PM_Specifique,PMSpecifique,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreSysteme,ParametreSystemeRow,ParametreSysteme.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PAS_PKID,PASPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreSysteme,ParametreSystemeRow,ParametreSysteme.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PAS_Code,PASCode,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreSysteme,ParametreSystemeRow,ParametreSysteme.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PAS_Description,PASDescription,String,String,,250,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreSysteme,ParametreSystemeRow,ParametreSysteme.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PAS_Valeur,PASValeur,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreUtilisateur,ParametreUtilisateurRow,ParametreUtilisateur.fic,ProtectionStd,Direct,YES,PASS,PU_PKID,PUPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreUtilisateur,ParametreUtilisateurRow,ParametreUtilisateur.fic,ProtectionStd,Direct,YES,PASS,PU_Code,PUCode,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreUtilisateur,ParametreUtilisateurRow,ParametreUtilisateur.fic,ProtectionStd,Direct,YES,PASS,PU_IDUtilisateur,PUIDUtilisateur,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreUtilisateur,ParametreUtilisateurRow,ParametreUtilisateur.fic,ProtectionStd,Direct,YES,PASS,PU_Valeur,PUValeur,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,ParametreUtilisateur,ParametreUtilisateurRow,ParametreUtilisateur.fic,ProtectionStd,Direct,YES,PASS,PU_CodePU_IDUtilisateur,PUCodePUIDUtilisateur,String,,,58,,YES,,NO,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Batik,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_PKID,PEPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_IDCivilite,PEIDCivilite,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_Nom,PENom,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_Prenom,PEPrenom,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_TelFixe,PETelFixe,String,String,,15,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_TelMobile,PETelMobile,String,String,,15,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_Email,PEEmail,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_IDRole,PEIDRole,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_IDAdressePrincipale,PEIDAdressePrincipale,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_IDClient,PEIDClient,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,Archive,Archive,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,DateArchivage,DateArchivage,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_Note,PENote,String,String,,250,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_Fax,PEFax,String,String,,15,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_IDImport,PEIDImport,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_Actif,PEActif,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_UsageInterne,PEUsageInterne,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_InfoSupp,PEInfoSupp,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_PKID,PLPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDGroupe,PLIDGroupe,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_Grouper,PLGrouper,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDSociete,PLIDSociete,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDEquipe,PLIDEquipe,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDCollaborateur,PLIDCollaborateur,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDDossier,PLIDDossier,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDIntervention,PLIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDTypeActivite,PLIDTypeActivite,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDStatut,PLIDStatut,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_Objet,PLObjet,String,String,,25,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_Description,PLDescription,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_DateDebut,PLDateDebut,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_DateFin,PLDateFin,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_Superposable,PLSuperposable,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_Prive,PLPrive,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,Archive,Archive,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,DateArchivage,DateArchivage,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDImport,PLIDImport,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDPersonne,PLIDPersonne,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDLieu,PLIDLieu,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_TempsValide,PLTempsValide,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_DateExport,PLDateExport,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_SAV,PLSAV,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IdGroupeDate,PLIdGroupeDate,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_CR,PLCR,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_NoteCollab,PLNoteCollab,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDOrigineAnnul,PLIDOrigineAnnul,UInt64,Decimal,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDMotifAnnul,PLIDMotifAnnul,UInt64,Decimal,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_RappelSMS,PLRappelSMS,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV_Personne,PlanningRDVPersonneRow,Planning_RDV_Personne.fic,ProtectionStd,Direct,YES,PASS,PRP_PKID,PRPPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV_Personne,PlanningRDVPersonneRow,Planning_RDV_Personne.fic,ProtectionStd,Direct,YES,PASS,PRP_IDPersonne,PRPIDPersonne,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV_Personne,PlanningRDVPersonneRow,Planning_RDV_Personne.fic,ProtectionStd,Direct,YES,PASS,PRP_IDRdv,PRPIDRdv,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV_Personne,PlanningRDVPersonneRow,Planning_RDV_Personne.fic,ProtectionStd,Direct,YES,PASS,PRP_PKID_PE_PKID,PRPPKIDPEPKID,String,,,16,,YES,,YES,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Batik,Planning_RDV_Personne,PlanningRDVPersonneRow,Planning_RDV_Personne.fic,ProtectionStd,Direct,YES,PASS,PRP_IDGroupeRDV,PRPIDGroupeRDV,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV_Personne,PlanningRDVPersonneRow,Planning_RDV_Personne.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV_Personne,PlanningRDVPersonneRow,Planning_RDV_Personne.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV_Personne,PlanningRDVPersonneRow,Planning_RDV_Personne.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV_Personne,PlanningRDVPersonneRow,Planning_RDV_Personne.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV_Personne,PlanningRDVPersonneRow,Planning_RDV_Personne.fic,ProtectionStd,Direct,YES,PASS,Archive,Archive,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Planning_RDV_Personne,PlanningRDVPersonneRow,Planning_RDV_Personne.fic,ProtectionStd,Direct,YES,PASS,DateArchivage,DateArchivage,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,SO_PKID,SOPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,SO_Nom,SONom,String,String,,80,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,SO_SIRET,SOSIRET,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,SO_Tel,SOTel,String,String,,25,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,SO_FAX,SOFax,String,String,,25,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,SO_Email,SOEmail,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,SO_SiteWeb,SOSiteWeb,String,String,,100,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,SO_IDAdressePrincipale,SOIDAdressePrincipale,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,SO_IDImport,SOIDImport,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,SO_Logo,SOLogo,Byte[],Byte[],,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,so_parametres,SOParametres,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,SO_Archive,SOArchive,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Societe_Collaborateur,SocieteCollaborateurRow,Societe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,SC_PKID,SCPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Societe_Collaborateur,SocieteCollaborateurRow,Societe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,SC_IDCollaborateur,SCIDCollaborateur,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Societe_Collaborateur,SocieteCollaborateurRow,Societe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,SC_IDCSociete,SCIDCSociete,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Societe_Collaborateur,SocieteCollaborateurRow,Societe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,SC_IDCSoc_IDCol,SCIDCSocIDCol,String,,,16,,YES,,NO,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Batik,Societe_Collaborateur,SocieteCollaborateurRow,Societe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,SC_IDCSociete_SC_IDCollaborateur,SCIDCSocieteSCIDCollaborateur,String,,,16,,YES,,NO,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Batik,Societe_Collaborateur,SocieteCollaborateurRow,Societe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Societe_Collaborateur,SocieteCollaborateurRow,Societe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Societe_Collaborateur,SocieteCollaborateurRow,Societe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Societe_Collaborateur,SocieteCollaborateurRow,Societe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_PKID,SDTPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_DateDebut,SDTDateDebut,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_IDIntervention,SDTIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_IDCollaborateur,SDTIDCollaborateur,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_IDPartenaire,SDTIDPartenaire,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_NbMinutes,SDTNbMinutes,Int32,Int32,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_Libelle,SDTLibelle,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_IDTypeTemps,SDTIDTypeTemps,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_IDRdv,SDTIDRdv,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_Ponderation,SDTPonderation,Single,Single,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_IDImport,SDTIDImport,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_DateHeureFin,SDTDateHeureFin,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_IDTypeRdv,SDTIDTypeRdv,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_Controle,SDTControle,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_IDGroupe,SDTIDGroupe,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Telephone,TelephoneRow,Telephone.fic,ProtectionStd,Direct,YES,PASS,TE_PKID,TEPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Telephone,TelephoneRow,Telephone.fic,ProtectionStd,Direct,YES,PASS,TE_IDQualif,TEIDQualif,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Telephone,TelephoneRow,Telephone.fic,ProtectionStd,Direct,YES,PASS,TE_Numero,TENumero,Int32,Int32,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Telephone,TelephoneRow,Telephone.fic,ProtectionStd,Direct,YES,PASS,TE_IDPersonne,TEIDPersonne,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_PKID,UTPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_Login,UTLogin,String,String,,100,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_Nom,UTNom,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_Prenom,UTPrenom,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_MotDePasse,UTMotDePasse,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_MotDePasseAChanger,UTMotDePasseAChanger,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_Email,UTEmail,String,String,,100,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_TelMobile,UTTelMobile,String,String,,25,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_Administrateur,UTAdministrateur,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_IDCollaborateur,UTIDCollaborateur,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_IDSocietePrincipale,UTIDSocietePrincipale,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_IDTypeProfil,UTIDTypeProfil,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_CleLicenceMobile,UTCleLicenceMobile,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_AccesBO,UTAccesBO,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Batik,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_AccesMobile,UTAccesMobile,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,AccesEtDroit,AccesEtDroitRow,AccesEtDroit.fic,ProtectionStd,Direct,YES,PASS,AED_PKID,AEDPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,AccesEtDroit,AccesEtDroitRow,AccesEtDroit.fic,ProtectionStd,Direct,YES,PASS,AED_IDProfil,AEDIDProfil,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,AccesEtDroit,AccesEtDroitRow,AccesEtDroit.fic,ProtectionStd,Direct,YES,PASS,AED_IDModule,AEDIDModule,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,AccesEtDroit,AccesEtDroitRow,AccesEtDroit.fic,ProtectionStd,Direct,YES,PASS,AED_Acces,AEDAcces,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,AccesEtDroit,AccesEtDroitRow,AccesEtDroit.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,AccesEtDroit,AccesEtDroitRow,AccesEtDroit.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,AccesEtDroit,AccesEtDroitRow,AccesEtDroit.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,AccesEtDroit,AccesEtDroitRow,AccesEtDroit.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,AccesEtDroit,AccesEtDroitRow,AccesEtDroit.fic,ProtectionStd,Direct,YES,PASS,AED_IdRole,AEDIdRole,UInt64,Decimal,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,AccesEtDroit,AccesEtDroitRow,AccesEtDroit.fic,ProtectionStd,Direct,YES,PASS,AED_CleAcces,AEDCleAcces,String,String,,20,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Action,ActionRow,Action.fic,ProtectionStd,Direct,YES,PASS,AC_PKID,ACPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Action,ActionRow,Action.fic,ProtectionStd,Direct,YES,PASS,AC_DateAction,ACDateAction,DateOnly,DateTime,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Action,ActionRow,Action.fic,ProtectionStd,Direct,YES,PASS,AC_HeureAction,ACHeureAction,TimeOnly,TimeSpan,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Action,ActionRow,Action.fic,ProtectionStd,Direct,YES,PASS,AC_IDTypeAction,ACIDTypeAction,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Action,ActionRow,Action.fic,ProtectionStd,Direct,YES,PASS,AC_IDIntervention,ACIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Action,ActionRow,Action.fic,ProtectionStd,Direct,YES,PASS,AC_Description,ACDescription,String,String,,250,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Action,ActionRow,Action.fic,ProtectionStd,Direct,YES,PASS,AC_Clos,ACClos,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Action,ActionRow,Action.fic,ProtectionStd,Direct,YES,PASS,AC_IDQui,ACIDQui,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Action,ActionRow,Action.fic,ProtectionStd,Direct,YES,PASS,AC_IDImport,ACIDImport,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Action,ActionRow,Action.fic,ProtectionStd,Direct,YES,PASS,AC_CleTypeAction,ACCleTypeAction,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,AD_PKID,ADPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,AD_Etiquette,ADEtiquette,String,String,,25,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,AD_Ligne_1,ADLigne1,String,String,,38,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,AD_Ligne_2,ADLigne2,String,String,,38,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,AD_Ligne_3,ADLigne3,String,String,,38,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,AD_Ligne_4,ADLigne4,String,String,,100,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,AD_Ligne_5,ADLigne5,String,String,,38,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,AD_CodePostal,ADCodePostal,String,String,,15,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,AD_Ville,ADVille,String,String,,45,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,AD_Presentation,ADPresentation,String,String,,255,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,AD_Adresse,ADAdresse,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Adresse,AdresseRow,Adresse.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,BddExterne,BddExterneRow,BddExterne.fic,ProtectionStd,Direct,YES,PASS,BSX_PKID,BSXPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,BddExterne,BddExterneRow,BddExterne.fic,ProtectionStd,Direct,YES,PASS,BSX_Nom,BSXNom,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,BddExterne,BddExterneRow,BddExterne.fic,ProtectionStd,Direct,YES,PASS,BSX_Param,BSXParam,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,BddExterne,BddExterneRow,BddExterne.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,BddExterne,BddExterneRow,BddExterne.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,BddExterne,BddExterneRow,BddExterne.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,BddExterne,BddExterneRow,BddExterne.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,BddExterne,BddExterneRow,BddExterne.fic,ProtectionStd,Direct,YES,PASS,BSX_IDSociete,BSXIDSociete,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CategorieAcces,CategorieAccesRow,CategorieAcces.fic,ProtectionStd,Direct,YES,PASS,CAC_PKID,CACPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CategorieAcces,CategorieAccesRow,CategorieAcces.fic,ProtectionStd,Direct,YES,PASS,CAC_Cle,CACCle,String,String,,20,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CategorieAcces,CategorieAccesRow,CategorieAcces.fic,ProtectionStd,Direct,YES,PASS,CAC_Libelle,CACLibelle,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CategorieAcces,CategorieAccesRow,CategorieAcces.fic,ProtectionStd,Direct,YES,PASS,CAC_Ordre,CACOrdre,UInt16,Int32,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CategorieAcces,CategorieAccesRow,CategorieAcces.fic,ProtectionStd,Direct,YES,PASS,CAC_Mobile,CACMobile,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CategorieAcces,CategorieAccesRow,CategorieAcces.fic,ProtectionStd,Direct,YES,PASS,CAC_AncienCode,CACAncienCode,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CategorieAcces,CategorieAccesRow,CategorieAcces.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CategorieAcces,CategorieAccesRow,CategorieAcces.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CategorieAcces,CategorieAccesRow,CategorieAcces.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CategorieAcces,CategorieAccesRow,CategorieAcces.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CategorieAcces,CategorieAccesRow,CategorieAcces.fic,ProtectionStd,Direct,YES,PASS,CAC_Description,CACDescription,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CheckList,CheckListRow,CheckList.fic,ProtectionStd,Direct,YES,PASS,CHK_PKID,CHKPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CheckList,CheckListRow,CheckList.fic,ProtectionStd,Direct,YES,PASS,CHK_Nom,CHKNom,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CheckList,CheckListRow,CheckList.fic,ProtectionStd,Direct,YES,PASS,CHK_Element,CHKElement,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CheckList,CheckListRow,CheckList.fic,ProtectionStd,Direct,YES,PASS,CHK_Fait,CHKFait,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CheckList,CheckListRow,CheckList.fic,ProtectionStd,Direct,YES,PASS,CHK_Ordre,CHKOrdre,Int32,Int32,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CheckList,CheckListRow,CheckList.fic,ProtectionStd,Direct,YES,PASS,CHK_IDModele,CHKIDModele,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CheckList,CheckListRow,CheckList.fic,ProtectionStd,Direct,YES,PASS,CHK_IDIntervention,CHKIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CheckList,CheckListRow,CheckList.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CheckList,CheckListRow,CheckList.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CheckList,CheckListRow,CheckList.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CheckList,CheckListRow,CheckList.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CheckList,CheckListRow,CheckList.fic,ProtectionStd,Direct,YES,PASS,CHK_OrdreDuGroupe,CHKOrdreDuGroupe,Int32,Int32,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CheckList_Collab,CheckListCollabRow,CheckList_Collab.fic,ProtectionStd,Direct,YES,PASS,CHC_PKID,CHCPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CheckList_Collab,CheckListCollabRow,CheckList_Collab.fic,ProtectionStd,Direct,YES,PASS,CHC_IDCollaborateur,CHCIDCollaborateur,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CheckList_Collab,CheckListCollabRow,CheckList_Collab.fic,ProtectionStd,Direct,YES,PASS,CHC_IDCheckList,CHCIDCheckList,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CheckList_Collab,CheckListCollabRow,CheckList_Collab.fic,ProtectionStd,Direct,YES,PASS,CHC_Fait,CHCFait,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CheckList_Collab,CheckListCollabRow,CheckList_Collab.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CheckList_Collab,CheckListCollabRow,CheckList_Collab.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CheckList_Collab,CheckListCollabRow,CheckList_Collab.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CheckList_Collab,CheckListCollabRow,CheckList_Collab.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_PKID,CLPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_Nom,CLNom,String,String,,100,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_IDType,CLIDType,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_IDStatut,CLIDStatut,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_IDAdressePrincipale,CLIDAdressePrincipale,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_Tel,CLTel,String,String,,15,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_Fax,CLFax,String,String,,15,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_IDImport,CLIDImport,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,Archive,Archive,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,DateArchivage,DateArchivage,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_CodeComptable,CLCodeComptable,String,String,,25,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_Email,CLEmail,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_RepertoireDocs,CLRepertoireDocs,String,String,,255,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_IDContactPrincipal,CLIDContactPrincipal,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_IDLieuPrincipal,CLIDLieuPrincipal,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_IDApporteur,CLIDApporteur,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_IDApportOrigine,CLIDApportOrigine,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_CodeClient,CLCodeClient,String,String,,10,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_Blocage,CLBlocage,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,Cl_RaisonBlocage,ClRaisonBlocage,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_FormeJuridique,CLFormeJuridique,String,String,,25,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_IDModeReglement,CLIDModeReglement,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_InfoSup,CLInfoSup,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_Pays,CLPays,String,String,,3,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_CodeTVA,CLCodeTVA,String,String,,13,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_SIREN,CLSIREN,String,String,,9,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_SIRET,CLSIRET,String,String,,14,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_CleType,CLCleType,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_CleStatut,CLCleStatut,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_CleApporteur,CLCleApporteur,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_CleApporteurOrigine,CLCleApporteurOrigine,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,CL_CleModeReglement,CLCleModeReglement,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client,ClientRow,Client.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client_Adresse,ClientAdresseRow,Client_Adresse.fic,ProtectionStd,Direct,YES,PASS,CA_PKID,CAPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client_Adresse,ClientAdresseRow,Client_Adresse.fic,ProtectionStd,Direct,YES,PASS,CA_IDAdresse,CAIDAdresse,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client_Adresse,ClientAdresseRow,Client_Adresse.fic,ProtectionStd,Direct,YES,PASS,CA_IDClient,CAIDClient,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client_Adresse,ClientAdresseRow,Client_Adresse.fic,ProtectionStd,Direct,YES,PASS,CA_IDCli_IDAd,CAIDCliIDAd,String,,,16,,YES,,NO,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Omika,Client_Adresse,ClientAdresseRow,Client_Adresse.fic,ProtectionStd,Direct,YES,PASS,CA_IDTypeAdresse,CAIDTypeAdresse,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client_Adresse,ClientAdresseRow,Client_Adresse.fic,ProtectionStd,Direct,YES,PASS,CA_Principale,CAPrincipale,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client_Adresse,ClientAdresseRow,Client_Adresse.fic,ProtectionStd,Direct,YES,PASS,CA_CleType,CACleType,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client_Adresse,ClientAdresseRow,Client_Adresse.fic,ProtectionStd,Direct,YES,PASS,CA_Facturation,CAFacturation,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client_Adresse,ClientAdresseRow,Client_Adresse.fic,ProtectionStd,Direct,YES,PASS,CA_Livraison,CALivraison,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client_BddExterne,ClientBddExterneRow,Client_BddExterne.fic,ProtectionStd,Direct,YES,PASS,CLX_PKID,CLXPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client_BddExterne,ClientBddExterneRow,Client_BddExterne.fic,ProtectionStd,Direct,YES,PASS,CLX_IDCLient,CLXIDCLient,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client_BddExterne,ClientBddExterneRow,Client_BddExterne.fic,ProtectionStd,Direct,YES,PASS,CLX_IDExterne,CLXIDExterne,String,String,,30,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client_BddExterne,ClientBddExterneRow,Client_BddExterne.fic,ProtectionStd,Direct,YES,PASS,CLX_DateSynchro,CLXDateSynchro,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client_BddExterne,ClientBddExterneRow,Client_BddExterne.fic,ProtectionStd,Direct,YES,PASS,CLX_IDBddExterne,CLXIDBddExterne,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client_BddExterne,ClientBddExterneRow,Client_BddExterne.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client_BddExterne,ClientBddExterneRow,Client_BddExterne.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client_BddExterne,ClientBddExterneRow,Client_BddExterne.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client_BddExterne,ClientBddExterneRow,Client_BddExterne.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client_BddExterne,ClientBddExterneRow,Client_BddExterne.fic,ProtectionStd,Direct,YES,PASS,CLX_IDBddExterneCLX_IDCLient,CLXIDBddExterneCLXIDCLient,String,,,16,,YES,,NO,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Omika,Client_Lieu,ClientLieuRow,Client_Lieu.fic,ProtectionStd,Direct,YES,PASS,CLI_PKID,CLIPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client_Lieu,ClientLieuRow,Client_Lieu.fic,ProtectionStd,Direct,YES,PASS,CLI_IDClient,CLIIDClient,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client_Lieu,ClientLieuRow,Client_Lieu.fic,ProtectionStd,Direct,YES,PASS,CLI_IDLieu,CLIIDLieu,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client_Lieu,ClientLieuRow,Client_Lieu.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client_Lieu,ClientLieuRow,Client_Lieu.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client_Lieu,ClientLieuRow,Client_Lieu.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Client_Lieu,ClientLieuRow,Client_Lieu.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_PKID,COPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_IDCivilite,COIDCivilite,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_Nom,CONom,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_Prenom,COPrenom,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_TelFixe,COTelFixe,String,String,,15,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_TelMobile,COTelMobile,String,String,,15,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_Email,COEmail,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_Fonction,COFonction,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_AuPlanning,COAuPlanning,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_Actif,COActif,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_IDImport,COIDImport,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_Ponderation,COPonderation,Single,Single,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_Trigramme,COTrigramme,String,String,,3,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_IDStatut,COIDStatut,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_AccesBO,COAccesBO,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_AccesMobile,COAccesMobile,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_CleCivilite,COCleCivilite,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CO_CleStatut,COCleStatut,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Collaborateur,CollaborateurRow,Collaborateur.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_PKID,CRPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_IDRdv,CRIDRdv,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_IDIntervention,CRIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_DateHeureDebut,CRDateHeureDebut,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_DateHeureFin,CRDateHeureFin,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_NoteCollaborateur,CRNoteCollaborateur,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_NomSignataire,CRNomSignataire,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_NoteSignataire,CRNoteSignataire,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_DateHeureSignature,CRDateHeureSignature,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_Signature,CRSignature,Byte[],Byte[],,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_IDCollaborateur,CRIDCollaborateur,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_SignatureTech,CRSignatureTech,Byte[],Byte[],,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_NomSignataireTech,CRNomSignataireTech,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_DevisConforme,CRDevisConforme,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_AvecReserve,CRAvecReserve,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_ReserveCommentaire,CRReserveCommentaire,String,String,,100,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_IDTypeSignataire,CRIDTypeSignataire,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_CleTypeSignataire,CRCleTypeSignataire,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,CompteRendu,CompteRenduRow,CompteRendu.fic,ProtectionStd,Direct,YES,PASS,CR_GUID_Rdv,CRGUIDRdv,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Compteur,CompteurRow,Compteur.fic,ProtectionStd,Direct,YES,PASS,CPT_PKID,CPTPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Compteur,CompteurRow,Compteur.fic,ProtectionStd,Direct,YES,PASS,CPT_Code,CPTCode,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Compteur,CompteurRow,Compteur.fic,ProtectionStd,Direct,YES,PASS,CPT_Annee,CPTAnnee,Int16,Int16,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Compteur,CompteurRow,Compteur.fic,ProtectionStd,Direct,YES,PASS,CPT_Valeur,CPTValeur,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Compteur,CompteurRow,Compteur.fic,ProtectionStd,Direct,YES,PASS,CPT_ParAnnee,CPTParAnnee,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Compteur,CompteurRow,Compteur.fic,ProtectionStd,Direct,YES,PASS,CPT_ParMois,CPTParMois,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Compteur,CompteurRow,Compteur.fic,ProtectionStd,Direct,YES,PASS,CPT_Mois,CPTMois,SByte,Int16,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Compteur,CompteurRow,Compteur.fic,ProtectionStd,Direct,YES,PASS,CPT_Actif,CPTActif,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Doc_Aide,DocAideRow,doc_aide.fic,ProtectionStd,Direct,YES,PASS,DA_PKID,DAPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Doc_Aide,DocAideRow,doc_aide.fic,ProtectionStd,Direct,YES,PASS,DA_Fenetre,DAFenetre,String,String,,70,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Doc_Aide,DocAideRow,doc_aide.fic,ProtectionStd,Direct,YES,PASS,DA_Champs,DAChamps,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Doc_Aide,DocAideRow,doc_aide.fic,ProtectionStd,Direct,YES,PASS,DA_Titre,DATitre,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Doc_Aide,DocAideRow,doc_aide.fic,ProtectionStd,Direct,YES,PASS,DA_Contenu,DAContenu,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Doc_Aide,DocAideRow,doc_aide.fic,ProtectionStd,Direct,YES,PASS,DA_Tags,DATags,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Doc_Aide,DocAideRow,doc_aide.fic,ProtectionStd,Direct,YES,PASS,DA_TexteOriginal,DATexteOriginal,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Doc_Aide,DocAideRow,doc_aide.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Doc_Aide,DocAideRow,doc_aide.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,DC_PKID,DCPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,DC_IDIntervention,DCIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,DC_Nom,DCNom,String,String,,255,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,DC_Commentaire,DCCommentaire,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,DC_Categorie,DCCategorie,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,DC_DateFichier,DCDateFichier,DateOnly,DateTime,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,DC_IDMessageExterne,DCIDMessageExterne,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,DC_IDEtatDocument,DCIDEtatDocument,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,DC_HeriteDroit,DCHeriteDroit,String,String,,8,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,DC_Chemin,DCChemin,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,DC_CleCategorie,DCCleCategorie,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Document,DocumentRow,Document.fic,ProtectionStd,Direct,YES,PASS,DC_CleEtatDoc,DCCleEtatDoc,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,DocumentNote,DocumentNoteRow,DocumentNote.fic,ProtectionStd,Direct,YES,PASS,DN_PKID,DNPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,DocumentNote,DocumentNoteRow,DocumentNote.fic,ProtectionStd,Direct,YES,PASS,DN_IDDocument,DNIDDocument,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,DocumentNote,DocumentNoteRow,DocumentNote.fic,ProtectionStd,Direct,YES,PASS,DN_Note,DNNote,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,DocumentNote,DocumentNoteRow,DocumentNote.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,DocumentNote,DocumentNoteRow,DocumentNote.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,DocumentNote,DocumentNoteRow,DocumentNote.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DO_PKID,DOPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DO_IDClient,DOIDClient,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DO_IDTypeDossier,DOIDTypeDossier,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DO_Titre,DOTitre,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DO_IDStatut,DOIDStatut,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DO_RefInterne,DORefInterne,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DO_RefExterne,DORefExterne,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DO_IDImport,DOIDImport,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DO_IDSociete,DOIDSociete,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DO_DateDebut,DODateDebut,DateOnly,DateTime,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,Archive,Archive,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DateArchivage,DateArchivage,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DO_NumDossier,DONumDossier,String,String,,6,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DO_CleType,DOCleType,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,DO_CleStatut,DOCleStatut,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Dossier,DossierRow,Dossier.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ElementModifie,ElementModifieRow,elementmodifie.fic,ProtectionStd,Direct,YES,PASS,EM_PKID,EMPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ElementModifie,ElementModifieRow,elementmodifie.fic,ProtectionStd,Direct,YES,PASS,EM_Fichier,EMFichier,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ElementModifie,ElementModifieRow,elementmodifie.fic,ProtectionStd,Direct,YES,PASS,EM_Date,EMDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ElementModifie,ElementModifieRow,elementmodifie.fic,ProtectionStd,Direct,YES,PASS,EM_IdUser,EMIdUser,UInt64,Decimal,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ElementModifie,ElementModifieRow,elementmodifie.fic,ProtectionStd,Direct,YES,PASS,EM_IdEnrg,EMIdEnrg,UInt64,Decimal,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ElementSupprime,ElementSupprimeRow,elementsupprime.fic,ProtectionStd,Failed,NO,FAILED,ES_PKID,ESPKID,Int64,,,,,NO,,YES,,FAILED,FAILED,FAILED,FAILED,FAILED,ABSENT_IN_CURRENT_TEST_VERSION,Physical file absent in current test database version. +Omika,ElementSupprime,ElementSupprimeRow,elementsupprime.fic,ProtectionStd,Failed,NO,FAILED,ES_NumEnrg,ESNumEnrg,UInt64,,,,,NO,,NO,,FAILED,FAILED,FAILED,FAILED,FAILED,ABSENT_IN_CURRENT_TEST_VERSION,Physical file absent in current test database version. +Omika,ElementSupprime,ElementSupprimeRow,elementsupprime.fic,ProtectionStd,Failed,NO,FAILED,ES_IdEnrg,ESIdEnrg,UInt64,,,,,NO,,NO,,FAILED,FAILED,FAILED,FAILED,FAILED,ABSENT_IN_CURRENT_TEST_VERSION,Physical file absent in current test database version. +Omika,ElementSupprime,ElementSupprimeRow,elementsupprime.fic,ProtectionStd,Failed,NO,FAILED,ES_Fichier,ESFichier,String,,,40,,YES,,NO,,FAILED,FAILED,FAILED,FAILED,FAILED,ABSENT_IN_CURRENT_TEST_VERSION,Physical file absent in current test database version. +Omika,ElementSupprime,ElementSupprimeRow,elementsupprime.fic,ProtectionStd,Failed,NO,FAILED,ES_IdUser,ESIdUser,UInt64,,,,,NO,,NO,,FAILED,FAILED,FAILED,FAILED,FAILED,ABSENT_IN_CURRENT_TEST_VERSION,Physical file absent in current test database version. +Omika,ElementSupprime,ElementSupprimeRow,elementsupprime.fic,ProtectionStd,Failed,NO,FAILED,ES_DateHeure,ESDateHeure,DateTime,,,,,NO,,NO,,FAILED,FAILED,FAILED,FAILED,FAILED,ABSENT_IN_CURRENT_TEST_VERSION,Physical file absent in current test database version. +Omika,ElementSupprime,ElementSupprimeRow,elementsupprime.fic,ProtectionStd,Failed,NO,FAILED,ES_NumEnr_Id,ESNumEnrId,String,,,50,,YES,,NO,,FAILED,FAILED,FAILED,FAILED,FAILED,ABSENT_IN_CURRENT_TEST_VERSION,Physical file absent in current test database version. +Omika,Equipe,EquipeRow,Equipe.fic,ProtectionStd,Direct,YES,PASS,EQ_PKID,EQPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Equipe,EquipeRow,Equipe.fic,ProtectionStd,Direct,YES,PASS,EQ_Nom,EQNom,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Equipe,EquipeRow,Equipe.fic,ProtectionStd,Direct,YES,PASS,EQ_IDSociete,EQIDSociete,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Equipe,EquipeRow,Equipe.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Equipe,EquipeRow,Equipe.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Equipe,EquipeRow,Equipe.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Equipe,EquipeRow,Equipe.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Equipe_Collaborateur,EquipeCollaborateurRow,Equipe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,EC_PKID,ECPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Equipe_Collaborateur,EquipeCollaborateurRow,Equipe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,EC_IDCollaborateur,ECIDCollaborateur,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Equipe_Collaborateur,EquipeCollaborateurRow,Equipe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,EC_IDEquipe,ECIDEquipe,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Equipe_Collaborateur,EquipeCollaborateurRow,Equipe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,EC_IDEquipe_EC_IDCollaborateur,ECIDEquipeECIDCollaborateur,String,,,16,,YES,,NO,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Omika,Equipe_Collaborateur,EquipeCollaborateurRow,Equipe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Equipe_Collaborateur,EquipeCollaborateurRow,Equipe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Equipe_Collaborateur,EquipeCollaborateurRow,Equipe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Equipe_Collaborateur,EquipeCollaborateurRow,Equipe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,EtatIntervention,EtatInterventionRow,EtatIntervention.fic,ProtectionStd,Direct,YES,PASS,EI_PKID,EIPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,EtatIntervention,EtatInterventionRow,EtatIntervention.fic,ProtectionStd,Direct,YES,PASS,EI_IDEtat,EIIDEtat,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,EtatIntervention,EtatInterventionRow,EtatIntervention.fic,ProtectionStd,Direct,YES,PASS,EI_DateDebut,EIDateDebut,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,EtatIntervention,EtatInterventionRow,EtatIntervention.fic,ProtectionStd,Direct,YES,PASS,EI_DateFin,EIDateFin,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,EtatIntervention,EtatInterventionRow,EtatIntervention.fic,ProtectionStd,Direct,YES,PASS,EI_Description,EIDescription,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,EtatIntervention,EtatInterventionRow,EtatIntervention.fic,ProtectionStd,Direct,YES,PASS,EI_IDIntervention,EIIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,EtatIntervention,EtatInterventionRow,EtatIntervention.fic,ProtectionStd,Direct,YES,PASS,EI_CleEtat,EICleEtat,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Etats,EtatsRow,Etats.fic,ProtectionPlus,ProtectionPlus,YES,PASS,ETA_PKID,ETAPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Etats,EtatsRow,Etats.fic,ProtectionPlus,ProtectionPlus,YES,PASS,ETA_Groupe,ETAGroupe,String,String,,20,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Etats,EtatsRow,Etats.fic,ProtectionPlus,ProtectionPlus,YES,PASS,ETA_Libelle,ETALibelle,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Etats,EtatsRow,Etats.fic,ProtectionPlus,ProtectionPlus,YES,PASS,ETA_Ordre,ETAOrdre,UInt16,Int32,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Etats,EtatsRow,Etats.fic,ProtectionPlus,ProtectionPlus,YES,PASS,ETA_Valeur,ETAValeur,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_PKID,INPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_IDTypeIntervention,INIDTypeIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_IDEtatIntervention,INIDEtatIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_IDSuiviPar,INIDSuiviPar,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_IDDossier,INIDDossier,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_IDDemandeur,INIDDemandeur,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_IDClient,INIDClient,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_IDLieu,INIDLieu,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_Description,INDescription,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_AttestationTVAPresente,INAttestationTVAPresente,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_NoteInterne,INNoteInterne,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_Titre,INTitre,String,String,,51,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_RefInterne,INRefInterne,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_RefExterne,INRefExterne,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_IDImport,INIDImport,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_IDSociete,INIDSociete,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,Archive,Archive,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,DateArchivage,DateArchivage,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_DateIntervention,INDateIntervention,DateOnly,DateTime,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_DureePrevue,INDureePrevue,Single,Single,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_NumDevis,INNumDevis,String,String,,20,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_DateDevis,INDateDevis,DateOnly,DateTime,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_NumFacture,INNumFacture,String,String,,20,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_DateFacture,INDateFacture,DateOnly,DateTime,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_NumIntervention,INNumIntervention,String,String,,6,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_CleType,INCleType,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,IN_CleEtat,INCleEtat,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention,InterventionRow,Intervention.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_BddExterne,InterventionBddExterneRow,Intervention_BddExterne.fic,ProtectionStd,Direct,YES,PASS,INX_PKID,INXPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_BddExterne,InterventionBddExterneRow,Intervention_BddExterne.fic,ProtectionStd,Direct,YES,PASS,INX_IDIntervention,INXIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_BddExterne,InterventionBddExterneRow,Intervention_BddExterne.fic,ProtectionStd,Direct,YES,PASS,INX_IDExterne,INXIDExterne,String,String,,30,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_BddExterne,InterventionBddExterneRow,Intervention_BddExterne.fic,ProtectionStd,Direct,YES,PASS,INX_IDBddExterne,INXIDBddExterne,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_BddExterne,InterventionBddExterneRow,Intervention_BddExterne.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_BddExterne,InterventionBddExterneRow,Intervention_BddExterne.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_BddExterne,InterventionBddExterneRow,Intervention_BddExterne.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_BddExterne,InterventionBddExterneRow,Intervention_BddExterne.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_BddExterne,InterventionBddExterneRow,Intervention_BddExterne.fic,ProtectionStd,Direct,YES,PASS,INX_IDBaseExtINX_IDIntervention,INXIDBaseExtINXIDIntervention,String,,,16,,YES,,NO,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Omika,Intervention_ChampLibre,InterventionChampLibreRow,Intervention_ChampLibre.fic,ProtectionStd,Direct,YES,PASS,ICL_PKID,ICLPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_ChampLibre,InterventionChampLibreRow,Intervention_ChampLibre.fic,ProtectionStd,Direct,YES,PASS,ICL_IDIntervention_ICL_IDParametreM,ICLIDInterventionICLIDParametreM,String,,,16,,YES,,NO,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Omika,Intervention_ChampLibre,InterventionChampLibreRow,Intervention_ChampLibre.fic,ProtectionStd,Direct,YES,PASS,ICL_IDIntervention,ICLIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_ChampLibre,InterventionChampLibreRow,Intervention_ChampLibre.fic,ProtectionStd,Direct,YES,PASS,ICL_IDParametreMetier,ICLIDParametreMetier,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_ChampLibre,InterventionChampLibreRow,Intervention_ChampLibre.fic,ProtectionStd,Direct,YES,PASS,ICL_ValeurDuChamp,ICLValeurDuChamp,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_ChampLibre,InterventionChampLibreRow,Intervention_ChampLibre.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_ChampLibre,InterventionChampLibreRow,Intervention_ChampLibre.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_ChampLibre,InterventionChampLibreRow,Intervention_ChampLibre.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_ChampLibre,InterventionChampLibreRow,Intervention_ChampLibre.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,IP_PKID,IPPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,IP_IDIntervention,IPIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,IP_IDPersonne,IPIDPersonne,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,IP_IDClient,IPIDClient,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,IP_IDLieu,IPIDLieu,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,IP_IDRole,IPIDRole,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,IP_IDImport,IPIDImport,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,IP_EstDemandeur,IPEstDemandeur,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,IP_Etage,IPEtage,String,String,,10,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,IP_Lot,IPLot,String,String,,25,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Intervention_Personne,InterventionPersonneRow,Intervention_Personne.fic,ProtectionStd,Direct,YES,PASS,IP_CleRole,IPCleRole,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu,LieuRow,Lieu.fic,ProtectionStd,Direct,YES,PASS,LI_PKID,LIPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu,LieuRow,Lieu.fic,ProtectionStd,Direct,YES,PASS,LI_CodeLieu,LICodeLieu,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu,LieuRow,Lieu.fic,ProtectionStd,Direct,YES,PASS,LI_IDAdresse,LIIDAdresse,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu,LieuRow,Lieu.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu,LieuRow,Lieu.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu,LieuRow,Lieu.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu,LieuRow,Lieu.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu,LieuRow,Lieu.fic,ProtectionStd,Direct,YES,PASS,LI_IDType,LIIDType,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu,LieuRow,Lieu.fic,ProtectionStd,Direct,YES,PASS,LI_CodeAcces,LICodeAcces,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu,LieuRow,Lieu.fic,ProtectionStd,Direct,YES,PASS,LI_Badge,LIBadge,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu,LieuRow,Lieu.fic,ProtectionStd,Direct,YES,PASS,LI_Interphone,LIInterphone,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu,LieuRow,Lieu.fic,ProtectionStd,Direct,YES,PASS,LI_Note,LINote,String,String,,250,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu,LieuRow,Lieu.fic,ProtectionStd,Direct,YES,PASS,Archive,Archive,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu,LieuRow,Lieu.fic,ProtectionStd,Direct,YES,PASS,DateArchivage,DateArchivage,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu,LieuRow,Lieu.fic,ProtectionStd,Direct,YES,PASS,LI_IDImport,LIIDImport,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu,LieuRow,Lieu.fic,ProtectionStd,Direct,YES,PASS,LI_RepertoireDocs,LIRepertoireDocs,String,String,,255,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu,LieuRow,Lieu.fic,ProtectionStd,Direct,YES,PASS,LI_IDClientPrincipal,LIIDClientPrincipal,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu,LieuRow,Lieu.fic,ProtectionStd,Direct,YES,PASS,LI_Blocage,LIBlocage,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu,LieuRow,Lieu.fic,ProtectionStd,Direct,YES,PASS,LI_RaisonBlocage,LIRaisonBlocage,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu,LieuRow,Lieu.fic,ProtectionStd,Direct,YES,PASS,LI_CleType,LICleType,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu,LieuRow,Lieu.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,LIP_PKID,LIPPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,LIP_IDPersonne,LIPIDPersonne,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,LIP_IDLieu,LIPIDLieu,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,LIP_IDRole,LIPIDRole,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,LIP_IDTypeLieuPersonne,LIPIDTypeLieuPersonne,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,LIP_Etage,LIPEtage,String,String,,10,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,LIP_Lot,LIPLot,String,String,,25,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,Archive,Archive,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,DateArchivage,DateArchivage,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,LIP_EtiquetteAdresse,LIPEtiquetteAdresse,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,LIP_Actif,LIPActif,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,LIP_CleRole,LIPCleRole,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Lieu_Personne,LieuPersonneRow,Lieu_Personne.fic,ProtectionStd,Direct,YES,PASS,LIP_CleType,LIPCleType,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MailCat,MailCatRow,MailCat.fic,ProtectionStd,Direct,YES,PASS,MMC_PKID,MMCPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MailCat,MailCatRow,MailCat.fic,ProtectionStd,Direct,YES,PASS,MMC_CodeModMail,MMCCodeModMail,String,String,,5,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MailCat,MailCatRow,MailCat.fic,ProtectionStd,Direct,YES,PASS,MMC_CodeCat,MMCCodeCat,String,String,,5,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MailCat,MailCatRow,MailCat.fic,ProtectionStd,Direct,YES,PASS,MMC_CodeModMail_CodeCat,MMCCodeModMailCodeCat,String,,,10,,YES,,NO,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Omika,MailModele,MailModeleRow,MailModele.fic,ProtectionStd,Direct,YES,PASS,MM_PKID,MMPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MailModele,MailModeleRow,MailModele.fic,ProtectionStd,Direct,YES,PASS,MM_Code,MMCode,String,String,,5,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MailModele,MailModeleRow,MailModele.fic,ProtectionStd,Direct,YES,PASS,MM_Nom,MMNom,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MailModele,MailModeleRow,MailModele.fic,ProtectionStd,Direct,YES,PASS,MM_Sujet,MMSujet,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MailModele,MailModeleRow,MailModele.fic,ProtectionStd,Direct,YES,PASS,MM_MsgDoc,MMMsgDoc,Byte[],Byte[],,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MailModele,MailModeleRow,MailModele.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MailModele,MailModeleRow,MailModele.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MailModele,MailModeleRow,MailModele.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MailModele,MailModeleRow,MailModele.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MailModele,MailModeleRow,MailModele.fic,ProtectionStd,Direct,YES,PASS,MM_System,MMSystem,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MailModele,MailModeleRow,MailModele.fic,ProtectionStd,Direct,YES,PASS,MM_Langue,MMLangue,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MailModele,MailModeleRow,MailModele.fic,ProtectionStd,Direct,YES,PASS,MM_Extra,MMExtra,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MailModele,MailModeleRow,MailModele.fic,ProtectionStd,Direct,YES,PASS,MM_EnvoiMob,MMEnvoiMob,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_PKID,MEPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_IDIntervention,MEIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_AdrExp,MEAdrExp,String,String,,250,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_AdrDestinataires,MEAdrDestinataires,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_Objet,MEObjet,String,String,,200,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_Message,MEMessage,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_IDDocPJ,MEIDDocPJ,String,String,,100,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_Envoyer,MEEnvoyer,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_Brouillon,MEBrouillon,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_PJ,MEPJ,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_AdrCC,MEAdrCC,String,String,,200,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_AdrCCI,MEAdrCCI,String,String,,200,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_IDImport,MEIDImport,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_EnvoyerMob,MEEnvoyerMob,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageExterne,MessageExterneRow,MessageExterne.fic,ProtectionStd,Direct,YES,PASS,ME_PieceJointes,MEPieceJointes,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageInterne,MessageInterneRow,MessageInterne.fic,ProtectionStd,Direct,YES,PASS,MI_PKID,MIPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageInterne,MessageInterneRow,MessageInterne.fic,ProtectionStd,Direct,YES,PASS,MI_IDTypeMessage,MIIDTypeMessage,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageInterne,MessageInterneRow,MessageInterne.fic,ProtectionStd,Direct,YES,PASS,MI_Message,MIMessage,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageInterne,MessageInterneRow,MessageInterne.fic,ProtectionStd,Direct,YES,PASS,MI_IDIntervention,MIIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageInterne,MessageInterneRow,MessageInterne.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageInterne,MessageInterneRow,MessageInterne.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MessageInterne,MessageInterneRow,MessageInterne.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Mobile,MobileRow,Mobile.fic,ProtectionStd,Direct,YES,PASS,MOB_PKID,MOBPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Mobile,MobileRow,Mobile.fic,ProtectionStd,Direct,YES,PASS,MOB_NumSerie,MOBNumSerie,String,String,,100,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Mobile,MobileRow,Mobile.fic,ProtectionStd,Direct,YES,PASS,MOB_NomPersonne,MOBNomPersonne,String,String,,100,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MobLog,MobLogRow,MobLog.fic,ProtectionStd,Direct,YES,PASS,ML_PKID,MLPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MobLog,MobLogRow,MobLog.fic,ProtectionStd,Direct,YES,PASS,ML_DateCreat,MLDateCreat,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MobLog,MobLogRow,MobLog.fic,ProtectionStd,Direct,YES,PASS,ML_Message,MLMessage,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MobLog,MobLogRow,MobLog.fic,ProtectionStd,Direct,YES,PASS,ML_Niveau,MLNiveau,SByte,Int16,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MobReception,MobReceptionRow,MobReception.fic,ProtectionStd,Direct,YES,PASS,MR_PKID,MRPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MobReception,MobReceptionRow,MobReception.fic,ProtectionStd,Direct,YES,PASS,MR_IDToSRV,MRIDToSRV,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MobReception,MobReceptionRow,MobReception.fic,ProtectionStd,Direct,YES,PASS,MR_JSON,MRJSON,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MobReception,MobReceptionRow,MobReception.fic,ProtectionStd,Direct,YES,PASS,MR_CMD,MRCMD,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MobReception,MobReceptionRow,MobReception.fic,ProtectionStd,Direct,YES,PASS,MR_Buffer,MRBuffer,Byte[],Byte[],,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MobReception,MobReceptionRow,MobReception.fic,ProtectionStd,Direct,YES,PASS,MR_NumSerie,MRNumSerie,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MobReception,MobReceptionRow,MobReception.fic,ProtectionStd,Direct,YES,PASS,MR_Fait,MRFait,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MobReception,MobReceptionRow,MobReception.fic,ProtectionStd,Direct,YES,PASS,MR_DateHeureRecep,MRDateHeureRecep,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ModeleRapport,ModeleRapportRow,ModeleRapport.fic,ProtectionStd,Direct,YES,PASS,MRP_PKID,MRPPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ModeleRapport,ModeleRapportRow,ModeleRapport.fic,ProtectionStd,Direct,YES,PASS,MRP_Nom,MRPNom,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ModeleRapport,ModeleRapportRow,ModeleRapport.fic,ProtectionStd,Direct,YES,PASS,MRP_Modele,MRPModele,Byte[],Byte[],,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ModeleRapport,ModeleRapportRow,ModeleRapport.fic,ProtectionStd,Direct,YES,PASS,MRP_EnvoiMob,MRPEnvoiMob,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ModeleRapport,ModeleRapportRow,ModeleRapport.fic,ProtectionStd,Direct,YES,PASS,MRP_Extra,MRPExtra,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ModeleRapport,ModeleRapportRow,ModeleRapport.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ModeleRapport,ModeleRapportRow,ModeleRapport.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ModeleRapport,ModeleRapportRow,ModeleRapport.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ModeleRapport,ModeleRapportRow,ModeleRapport.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ModeleRapportMob,ModeleRapportMobRow,ModeleRapportMob.fic,ProtectionStd,ProtectionStd,YES,PASS,MRM_PKID,MRMPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ModeleRapportMob,ModeleRapportMobRow,ModeleRapportMob.fic,ProtectionStd,ProtectionStd,YES,PASS,MRM_Nom,MRMNom,String,String,,30,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ModeleRapportMob,ModeleRapportMobRow,ModeleRapportMob.fic,ProtectionStd,ProtectionStd,YES,PASS,MRM_Modele,MRMModele,Byte[],Byte[],,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ModeleRapportMob,ModeleRapportMobRow,ModeleRapportMob.fic,ProtectionStd,ProtectionStd,YES,PASS,MRM_RubMob,MRMRubMob,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MotClef,MotClefRow,MotClef.fic,ProtectionStd,Direct,YES,PASS,MOC_PKID,MOCPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MotClef,MotClefRow,MotClef.fic,ProtectionStd,Direct,YES,PASS,MOC_Code,MOCCode,String,String,,20,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MotClef,MotClefRow,MotClef.fic,ProtectionStd,Direct,YES,PASS,MOC_Mot,MOCMot,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MotClef,MotClefRow,MotClef.fic,ProtectionStd,Direct,YES,PASS,MOC_Lib,MOCLib,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MotClef,MotClefRow,MotClef.fic,ProtectionStd,Direct,YES,PASS,MOC_Langue,MOCLangue,String,String,,3,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,MotClef,MotClefRow,MotClef.fic,ProtectionStd,Direct,YES,PASS,MOC_CodeMOC_Langue,MOCCodeMOCLangue,String,,,23,,YES,,NO,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Omika,MotClef,MotClefRow,MotClef.fic,ProtectionStd,Direct,YES,PASS,MOC_MotMOC_Langue,MOCMotMOCLangue,String,,,53,,YES,,NO,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Omika,MotClef,MotClefRow,MotClef.fic,ProtectionStd,Direct,YES,PASS,MOC_Groupe,MOCGroupe,String,String,,25,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreApplication,ParametreApplicationRow,ParametreApplication.fic,ProtectionStd,Direct,YES,PASS,PAP_PKID,PAPPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreApplication,ParametreApplicationRow,ParametreApplication.fic,ProtectionStd,Direct,YES,PASS,PAP_Code,PAPCode,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreApplication,ParametreApplicationRow,ParametreApplication.fic,ProtectionStd,Direct,YES,PASS,PAP_Description,PAPDescription,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreApplication,ParametreApplicationRow,ParametreApplication.fic,ProtectionStd,Direct,YES,PASS,PAP_Valeur,PAPValeur,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_PKID,PAPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_Code,PACode,String,String,,3,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_Libelle,PALibelle,String,String,,250,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_Valeur,PAValeur,String,String,,20,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_Ordre,PAOrdre,Int32,Int32,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_Systeme,PASysteme,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_Invisible,PAInvisible,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_IDImport,PAIDImport,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_Actif,PAActif,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_CodePA_Valeur,PACodePAValeur,String,,,23,,YES,,NO,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Omika,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_CleLiaison,PACleLiaison,String,String,,23,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_Parametre,PAParametre,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_LibelleCourt,PALibelleCourt,String,String,,20,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_CLE,PACLE,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreMetier,ParametreMetierRow,ParametreMetier.fic,ProtectionStd,ProtectionStd,YES,PASS,PA_Categorie,PACategorie,String,String,,25,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreMetierEntete,ParametreMetierEnteteRow,ParametreMetierEntete.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PM_PKID,PMPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreMetierEntete,ParametreMetierEnteteRow,ParametreMetierEntete.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PM_Libelle,PMLibelle,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreMetierEntete,ParametreMetierEnteteRow,ParametreMetierEntete.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PM_Description,PMDescription,String,String,,250,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreMetierEntete,ParametreMetierEnteteRow,ParametreMetierEntete.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PM_Systeme,PMSysteme,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreMetierEntete,ParametreMetierEnteteRow,ParametreMetierEntete.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PM_Groupe,PMGroupe,String,String,,25,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreMetierEntete,ParametreMetierEnteteRow,ParametreMetierEntete.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PM_Code,PMCode,String,String,,3,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreMetierEntete,ParametreMetierEnteteRow,ParametreMetierEntete.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PM_AucunPossible,PMAucunPossible,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreMetierEntete,ParametreMetierEnteteRow,ParametreMetierEntete.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PM_Specifique,PMSpecifique,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreMetierEntete,ParametreMetierEnteteRow,ParametreMetierEntete.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PM_Categorie,PMCategorie,String,String,,20,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreMetierEntete,ParametreMetierEnteteRow,ParametreMetierEntete.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PM_Type,PMType,UInt16,Int32,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreSysteme,ParametreSystemeRow,ParametreSysteme.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PAS_PKID,PASPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreSysteme,ParametreSystemeRow,ParametreSysteme.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PAS_Code,PASCode,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreSysteme,ParametreSystemeRow,ParametreSysteme.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PAS_Description,PASDescription,String,String,,250,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreSysteme,ParametreSystemeRow,ParametreSysteme.fic,ProtectionPlus,ProtectionPlus,YES,PASS,PAS_Valeur,PASValeur,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreUtilisateur,ParametreUtilisateurRow,ParametreUtilisateur.fic,ProtectionStd,Direct,YES,PASS,PU_PKID,PUPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreUtilisateur,ParametreUtilisateurRow,ParametreUtilisateur.fic,ProtectionStd,Direct,YES,PASS,PU_Code,PUCode,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreUtilisateur,ParametreUtilisateurRow,ParametreUtilisateur.fic,ProtectionStd,Direct,YES,PASS,PU_IDUtilisateur,PUIDUtilisateur,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreUtilisateur,ParametreUtilisateurRow,ParametreUtilisateur.fic,ProtectionStd,Direct,YES,PASS,PU_Valeur,PUValeur,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,ParametreUtilisateur,ParametreUtilisateurRow,ParametreUtilisateur.fic,ProtectionStd,Direct,YES,PASS,PU_CodePU_IDUtilisateur,PUCodePUIDUtilisateur,String,,,58,,YES,,NO,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_PKID,PEPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_IDCivilite,PEIDCivilite,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_Nom,PENom,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_Prenom,PEPrenom,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_TelFixe,PETelFixe,String,String,,15,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_TelMobile,PETelMobile,String,String,,15,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_Email,PEEmail,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_IDRole,PEIDRole,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_IDAdressePrincipale,PEIDAdressePrincipale,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_IDClient,PEIDClient,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,Archive,Archive,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,DateArchivage,DateArchivage,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_Note,PENote,String,String,,250,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_Fax,PEFax,String,String,,15,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_IDImport,PEIDImport,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_Actif,PEActif,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_UsageInterne,PEUsageInterne,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_InfoSupp,PEInfoSupp,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_CleCivilite,PECleCivilite,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,PE_CleRole,PECleRole,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Personne,PersonneRow,Personne.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_PKID,PLPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDGroupe,PLIDGroupe,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_Grouper,PLGrouper,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDSociete,PLIDSociete,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDEquipe,PLIDEquipe,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDCollaborateur,PLIDCollaborateur,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDDossier,PLIDDossier,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDIntervention,PLIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDTypeActivite,PLIDTypeActivite,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDStatut,PLIDStatut,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_Objet,PLObjet,String,String,,25,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_Description,PLDescription,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_DateDebut,PLDateDebut,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_DateFin,PLDateFin,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_Superposable,PLSuperposable,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_Prive,PLPrive,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,Archive,Archive,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,DateArchivage,DateArchivage,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDImport,PLIDImport,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDPersonne,PLIDPersonne,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDLieu,PLIDLieu,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_TempsValide,PLTempsValide,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_DateExport,PLDateExport,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_SAV,PLSAV,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IdGroupeDate,PLIdGroupeDate,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_CR,PLCR,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_NoteCollab,PLNoteCollab,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDOrigineAnnul,PLIDOrigineAnnul,UInt64,Decimal,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_IDMotifAnnul,PLIDMotifAnnul,UInt64,Decimal,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_RappelSMS,PLRappelSMS,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_CleType,PLCleType,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_CleStatut,PLCleStatut,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_CleOrigineAnnu,PLCleOrigineAnnu,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV,PlanningRDVRow,Planning_RDV.fic,ProtectionStd,Direct,YES,PASS,PL_CleMotifAnnu,PLCleMotifAnnu,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV_Personne,PlanningRDVPersonneRow,Planning_RDV_Personne.fic,ProtectionStd,Direct,YES,PASS,PRP_PKID,PRPPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV_Personne,PlanningRDVPersonneRow,Planning_RDV_Personne.fic,ProtectionStd,Direct,YES,PASS,PRP_IDPersonne,PRPIDPersonne,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV_Personne,PlanningRDVPersonneRow,Planning_RDV_Personne.fic,ProtectionStd,Direct,YES,PASS,PRP_IDRdv,PRPIDRdv,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV_Personne,PlanningRDVPersonneRow,Planning_RDV_Personne.fic,ProtectionStd,Direct,YES,PASS,PRP_PKID_PE_PKID,PRPPKIDPEPKID,String,,,16,,YES,,YES,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Omika,Planning_RDV_Personne,PlanningRDVPersonneRow,Planning_RDV_Personne.fic,ProtectionStd,Direct,YES,PASS,PRP_IDGroupeRDV,PRPIDGroupeRDV,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV_Personne,PlanningRDVPersonneRow,Planning_RDV_Personne.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV_Personne,PlanningRDVPersonneRow,Planning_RDV_Personne.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV_Personne,PlanningRDVPersonneRow,Planning_RDV_Personne.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV_Personne,PlanningRDVPersonneRow,Planning_RDV_Personne.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV_Personne,PlanningRDVPersonneRow,Planning_RDV_Personne.fic,ProtectionStd,Direct,YES,PASS,Archive,Archive,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Planning_RDV_Personne,PlanningRDVPersonneRow,Planning_RDV_Personne.fic,ProtectionStd,Direct,YES,PASS,DateArchivage,DateArchivage,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Collaborateur,RDVCollaborateurRow,RDV_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,RVC_PKID,RVCPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Collaborateur,RDVCollaborateurRow,RDV_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,RVC_GUID_RDV,RVCGUIDRDV,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Collaborateur,RDVCollaborateurRow,RDV_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,RVC_GUID_Colb,RVCGUIDColb,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Collaborateur,RDVCollaborateurRow,RDV_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,RVC_DateDeb,RVCDateDeb,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Collaborateur,RDVCollaborateurRow,RDV_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,RVC_DateFin,RVCDateFin,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Collaborateur,RDVCollaborateurRow,RDV_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,RVC_CleStatut,RVCCleStatut,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Collaborateur,RDVCollaborateurRow,RDV_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,RVC_Responsable,RVCResponsable,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Collaborateur,RDVCollaborateurRow,RDV_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,RVC_TempsValide,RVCTempsValide,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Collaborateur,RDVCollaborateurRow,RDV_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,RVC_DateExport,RVCDateExport,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Collaborateur,RDVCollaborateurRow,RDV_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Collaborateur,RDVCollaborateurRow,RDV_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,Archive,Archive,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Collaborateur,RDVCollaborateurRow,RDV_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,RVC_CR,RVCCR,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Collaborateur,RDVCollaborateurRow,RDV_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,RVC_Superposable,RVCSuperposable,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Contact,RDVContactRow,RDV_Contact.fic,ProtectionStd,Direct,YES,PASS,RVCT_PKID,RVCTPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Contact,RDVContactRow,RDV_Contact.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Contact,RDVContactRow,RDV_Contact.fic,ProtectionStd,Direct,YES,PASS,RVCT_GUID_Pers,RVCTGUIDPers,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Contact,RDVContactRow,RDV_Contact.fic,ProtectionStd,Direct,YES,PASS,RVCT_GUID_RDV,RVCTGUIDRDV,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Planning,RDVPlanningRow,RDV_Planning.fic,ProtectionStd,Direct,YES,PASS,RV_PKID,RVPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Planning,RDVPlanningRow,RDV_Planning.fic,ProtectionStd,Direct,YES,PASS,RV_IdSociete,RVIdSociete,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Planning,RDVPlanningRow,RDV_Planning.fic,ProtectionStd,Direct,YES,PASS,RV_IdDossier,RVIdDossier,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Planning,RDVPlanningRow,RDV_Planning.fic,ProtectionStd,Direct,YES,PASS,RV_IdInter,RVIdInter,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Planning,RDVPlanningRow,RDV_Planning.fic,ProtectionStd,Direct,YES,PASS,RV_CleType,RVCleType,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Planning,RDVPlanningRow,RDV_Planning.fic,ProtectionStd,Direct,YES,PASS,RV_CleStatut,RVCleStatut,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Planning,RDVPlanningRow,RDV_Planning.fic,ProtectionStd,Direct,YES,PASS,RV_Objet,RVObjet,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Planning,RDVPlanningRow,RDV_Planning.fic,ProtectionStd,Direct,YES,PASS,RV_Description,RVDescription,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Planning,RDVPlanningRow,RDV_Planning.fic,ProtectionStd,Direct,YES,PASS,RV_IdLieu,RVIdLieu,UInt64,Decimal,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Planning,RDVPlanningRow,RDV_Planning.fic,ProtectionStd,Direct,YES,PASS,RV_SAV,RVSAV,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Planning,RDVPlanningRow,RDV_Planning.fic,ProtectionStd,Direct,YES,PASS,RV_CleOrigineAnnu,RVCleOrigineAnnu,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Planning,RDVPlanningRow,RDV_Planning.fic,ProtectionStd,Direct,YES,PASS,RV_CleMotifAnnu,RVCleMotifAnnu,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Planning,RDVPlanningRow,RDV_Planning.fic,ProtectionStd,Direct,YES,PASS,RV_RappelSMS,RVRappelSMS,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Planning,RDVPlanningRow,RDV_Planning.fic,ProtectionStd,Direct,YES,PASS,Archive,Archive,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Planning,RDVPlanningRow,RDV_Planning.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Planning,RDVPlanningRow,RDV_Planning.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Planning,RDVPlanningRow,RDV_Planning.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Planning,RDVPlanningRow,RDV_Planning.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Planning,RDVPlanningRow,RDV_Planning.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Planning,RDVPlanningRow,RDV_Planning.fic,ProtectionStd,Direct,YES,PASS,RV_Groupe,RVGroupe,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Planning,RDVPlanningRow,RDV_Planning.fic,ProtectionStd,Direct,YES,PASS,RV_PlusieursJours,RVPlusieursJours,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RDV_Planning,RDVPlanningRow,RDV_Planning.fic,ProtectionStd,Direct,YES,PASS,RV_Date,RVDate,DateOnly,DateTime,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Role,RoleRow,Role.fic,ProtectionStd,Direct,YES,PASS,R_PKID,RPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Role,RoleRow,Role.fic,ProtectionStd,Direct,YES,PASS,R_Libelle,RLibelle,String,String,,30,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Role,RoleRow,Role.fic,ProtectionStd,Direct,YES,PASS,R_AncienCode,RAncienCode,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Role,RoleRow,Role.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Role,RoleRow,Role.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Role,RoleRow,Role.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Role,RoleRow,Role.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RubriquesDocument,RubriquesDocumentRow,RubriquesDocument.fic,ProtectionStd,Direct,YES,PASS,RD_PKID,RDPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RubriquesDocument,RubriquesDocumentRow,RubriquesDocument.fic,ProtectionStd,Direct,YES,PASS,RD_Nom,RDNom,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RubriquesDocument,RubriquesDocumentRow,RubriquesDocument.fic,ProtectionStd,Direct,YES,PASS,RD_Description,RDDescription,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RubriquesDocument,RubriquesDocumentRow,RubriquesDocument.fic,ProtectionStd,Direct,YES,PASS,RD_Rubrique,RDRubrique,String,String,,35,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RubriquesDocument,RubriquesDocumentRow,RubriquesDocument.fic,ProtectionStd,Direct,YES,PASS,RD_TypeMembre,RDTypeMembre,String,String,,20,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RubriquesDocument,RubriquesDocumentRow,RubriquesDocument.fic,ProtectionStd,Direct,YES,PASS,RD_MasqueSaisie,RDMasqueSaisie,String,String,,20,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RubriquesDocument,RubriquesDocumentRow,RubriquesDocument.fic,ProtectionStd,Direct,YES,PASS,RD_EnvoiMob,RDEnvoiMob,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RubriquesDocument,RubriquesDocumentRow,RubriquesDocument.fic,ProtectionStd,Direct,YES,PASS,RD_BD,RDBD,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RubriquesDocument,RubriquesDocumentRow,RubriquesDocument.fic,ProtectionStd,Direct,YES,PASS,RD_Modifiable,RDModifiable,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RubriquesDocument,RubriquesDocumentRow,RubriquesDocument.fic,ProtectionStd,Direct,YES,PASS,RD_Groupe,RDGroupe,String,String,,20,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RubriquesDocument,RubriquesDocumentRow,RubriquesDocument.fic,ProtectionStd,Direct,YES,PASS,RD_IdRubParent,RDIdRubParent,UInt64,Decimal,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RubriquesDocument,RubriquesDocumentRow,RubriquesDocument.fic,ProtectionStd,Direct,YES,PASS,RD_MembreMob,RDMembreMob,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,RubriquesDocument,RubriquesDocumentRow,RubriquesDocument.fic,ProtectionStd,Direct,YES,PASS,RD_Ordre,RDOrdre,UInt32,Int64,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,SO_PKID,SOPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,SO_Nom,SONom,String,String,,80,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,SO_SIRET,SOSIRET,String,String,,20,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,SO_Tel,SOTel,String,String,,25,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,SO_Fax,SOFax,String,String,,25,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,SO_Email,SOEmail,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,SO_SiteWeb,SOSiteWeb,String,String,,100,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,SO_IDAdressePrincipale,SOIDAdressePrincipale,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,SO_IDImport,SOIDImport,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,SO_Logo,SOLogo,Byte[],Byte[],,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,SO_Parametres,SOParametres,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,SO_Archive,SOArchive,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe,SocieteRow,Societe.fic,ProtectionStd,Direct,YES,PASS,SO_SIREN,SOSIREN,String,String,,20,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe_Collaborateur,SocieteCollaborateurRow,Societe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,SC_PKID,SCPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe_Collaborateur,SocieteCollaborateurRow,Societe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,SC_IDCollaborateur,SCIDCollaborateur,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe_Collaborateur,SocieteCollaborateurRow,Societe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,SC_IDCSociete,SCIDCSociete,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe_Collaborateur,SocieteCollaborateurRow,Societe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,SC_IDCSoc_IDCol,SCIDCSocIDCol,String,,,16,,YES,,NO,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Omika,Societe_Collaborateur,SocieteCollaborateurRow,Societe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,SC_IDCSociete_SC_IDCollaborateur,SCIDCSocieteSCIDCollaborateur,String,,,16,,YES,,NO,,VERIFIED,VERIFIED,VERIFIED,VERIFIED,MODEL_ONLY,MODEL_ONLY,Column declared in model but not present in physical schema. +Omika,Societe_Collaborateur,SocieteCollaborateurRow,Societe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe_Collaborateur,SocieteCollaborateurRow,Societe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe_Collaborateur,SocieteCollaborateurRow,Societe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Societe_Collaborateur,SocieteCollaborateurRow,Societe_Collaborateur.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_PKID,SDTPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_DateDebut,SDTDateDebut,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_IDIntervention,SDTIDIntervention,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_IDCollaborateur,SDTIDCollaborateur,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_IDPartenaire,SDTIDPartenaire,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_NbMinutes,SDTNbMinutes,Int32,Int32,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_Libelle,SDTLibelle,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_IDTypeTemps,SDTIDTypeTemps,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_IDRdv,SDTIDRdv,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_Ponderation,SDTPonderation,Single,Single,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_IDImport,SDTIDImport,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_DateHeureFin,SDTDateHeureFin,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,GUID,GUID,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_IDTypeRdv,SDTIDTypeRdv,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_Controle,SDTControle,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_IDGroupe,SDTIDGroupe,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_CleType,SDTCleType,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_CleTypeRDV,SDTCleTypeRDV,String,String,,16,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_NoteColb,SDTNoteColb,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_NoteAdmin,SDTNoteAdmin,String,String,,,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,SuiviDesTemps,SuiviDesTempsRow,SuiviDesTemps.fic,ProtectionStd,Direct,YES,PASS,SDT_GUID_Rdv_Colb,SDTGUIDRdvColb,String,String,,32,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Telephone,TelephoneRow,Telephone.fic,ProtectionStd,Direct,YES,PASS,TE_PKID,TEPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Telephone,TelephoneRow,Telephone.fic,ProtectionStd,Direct,YES,PASS,TE_IDQualif,TEIDQualif,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Telephone,TelephoneRow,Telephone.fic,ProtectionStd,Direct,YES,PASS,TE_Numero,TENumero,Int32,Int32,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Telephone,TelephoneRow,Telephone.fic,ProtectionStd,Direct,YES,PASS,TE_IDPersonne,TEIDPersonne,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_PKID,UTPKID,Int64,Int64,,,,NO,,YES,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_Login,UTLogin,String,String,,100,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_Nom,UTNom,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_Prenom,UTPrenom,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_MotDePasse,UTMotDePasse,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_MotDePasseAChanger,UTMotDePasseAChanger,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_Email,UTEmail,String,String,,100,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_TelMobile,UTTelMobile,String,String,,25,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_Administrateur,UTAdministrateur,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,CreationDate,CreationDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,CreationUser,CreationUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,ModifDate,ModifDate,DateTime,DateTime,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,ModifUser,ModifUser,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_IDCollaborateur,UTIDCollaborateur,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_IDSocietePrincipale,UTIDSocietePrincipale,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_IDTypeProfil,UTIDTypeProfil,Int64,Int64,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_CleLicenceMobile,UTCleLicenceMobile,String,String,,50,,YES,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_AccesBO,UTAccesBO,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_AccesMobile,UTAccesMobile,Boolean,Boolean,,,,NO,,NO,,VERIFIED,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, +Omika,Utilisateur,UtilisateurRow,Utilisateur.fic,ProtectionStd,Direct,YES,PASS,UT_IdRole,UTIdRole,UInt64,Decimal,,,,NO,,NO,,COMPATIBLE_PROVIDER_CONVERSION,UNKNOWN,UNKNOWN,UNKNOWN,VERIFIED,VERIFIED, diff --git a/docs/diagnostics/hfsql-model-audit.md b/docs/diagnostics/hfsql-model-audit.md new file mode 100644 index 0000000..4e8260a --- /dev/null +++ b/docs/diagnostics/hfsql-model-audit.md @@ -0,0 +1,71 @@ +# HFSQL Model Audit — Diagnostic + +## Batik + +### Résumé + +- Tables Expected: 48 +- Tables Accessible: 48 +- Tables Verified: 37 +- Tables Partial: 0 +- Tables Conflict: 11 +- Tables Failed: 0 +- Tables AbsentCurrentVersion: 0 + +- Columns Checked: 560 +- Column Conflicts: 13 + +### Divergences + +- Client_Adresse.CA_IDCli_IDAd [MODEL_ONLY] Column declared in model but not present in physical schema. +- Client_BddExterne.CLX_IDBddExterneCLX_IDCLient [MODEL_ONLY] Column declared in model but not present in physical schema. +- Equipe_Collaborateur.EC_IDEquipe_EC_IDCollaborateur [MODEL_ONLY] Column declared in model but not present in physical schema. +- Intervention_BddExterne.INX_IDBaseExtINX_IDIntervention [MODEL_ONLY] Column declared in model but not present in physical schema. +- Intervention_ChampLibre.ICL_IDIntervention_ICL_IDParametreM [MODEL_ONLY] Column declared in model but not present in physical schema. +- MailCat.MMC_CodeModMail_CodeCat [MODEL_ONLY] Column declared in model but not present in physical schema. +- MotClef.MOC_CodeMOC_Langue [MODEL_ONLY] Column declared in model but not present in physical schema. +- MotClef.MOC_MotMOC_Langue [MODEL_ONLY] Column declared in model but not present in physical schema. +- ParametreMetier.PA_CodePA_Valeur [MODEL_ONLY] Column declared in model but not present in physical schema. +- ParametreUtilisateur.PU_CodePU_IDUtilisateur [MODEL_ONLY] Column declared in model but not present in physical schema. +- Planning_RDV_Personne.PRP_PKID_PE_PKID [MODEL_ONLY] Column declared in model but not present in physical schema. +- Societe_Collaborateur.SC_IDCSoc_IDCol [MODEL_ONLY] Column declared in model but not present in physical schema. +- Societe_Collaborateur.SC_IDCSociete_SC_IDCollaborateur [MODEL_ONLY] Column declared in model but not present in physical schema. + +## Omika + +### Résumé + +- Tables Expected: 58 +- Tables Accessible: 57 +- Tables Verified: 46 +- Tables Partial: 0 +- Tables Conflict: 11 +- Tables Failed: 0 +- Tables AbsentCurrentVersion: 1 + +- Columns Checked: 713 +- Column Conflicts: 13 + +### Divergences + +- Client_Adresse.CA_IDCli_IDAd [MODEL_ONLY] Column declared in model but not present in physical schema. +- Client_BddExterne.CLX_IDBddExterneCLX_IDCLient [MODEL_ONLY] Column declared in model but not present in physical schema. +- ElementSupprime.ES_PKID [ABSENT_IN_CURRENT_TEST_VERSION] Physical file absent in current test database version. +- ElementSupprime.ES_NumEnrg [ABSENT_IN_CURRENT_TEST_VERSION] Physical file absent in current test database version. +- ElementSupprime.ES_IdEnrg [ABSENT_IN_CURRENT_TEST_VERSION] Physical file absent in current test database version. +- ElementSupprime.ES_Fichier [ABSENT_IN_CURRENT_TEST_VERSION] Physical file absent in current test database version. +- ElementSupprime.ES_IdUser [ABSENT_IN_CURRENT_TEST_VERSION] Physical file absent in current test database version. +- ElementSupprime.ES_DateHeure [ABSENT_IN_CURRENT_TEST_VERSION] Physical file absent in current test database version. +- ElementSupprime.ES_NumEnr_Id [ABSENT_IN_CURRENT_TEST_VERSION] Physical file absent in current test database version. +- Equipe_Collaborateur.EC_IDEquipe_EC_IDCollaborateur [MODEL_ONLY] Column declared in model but not present in physical schema. +- Intervention_BddExterne.INX_IDBaseExtINX_IDIntervention [MODEL_ONLY] Column declared in model but not present in physical schema. +- Intervention_ChampLibre.ICL_IDIntervention_ICL_IDParametreM [MODEL_ONLY] Column declared in model but not present in physical schema. +- MailCat.MMC_CodeModMail_CodeCat [MODEL_ONLY] Column declared in model but not present in physical schema. +- MotClef.MOC_CodeMOC_Langue [MODEL_ONLY] Column declared in model but not present in physical schema. +- MotClef.MOC_MotMOC_Langue [MODEL_ONLY] Column declared in model but not present in physical schema. +- ParametreMetier.PA_CodePA_Valeur [MODEL_ONLY] Column declared in model but not present in physical schema. +- ParametreUtilisateur.PU_CodePU_IDUtilisateur [MODEL_ONLY] Column declared in model but not present in physical schema. +- Planning_RDV_Personne.PRP_PKID_PE_PKID [MODEL_ONLY] Column declared in model but not present in physical schema. +- Societe_Collaborateur.SC_IDCSoc_IDCol [MODEL_ONLY] Column declared in model but not present in physical schema. +- Societe_Collaborateur.SC_IDCSociete_SC_IDCollaborateur [MODEL_ONLY] Column declared in model but not present in physical schema. + diff --git a/docs/diagnostics/hfsql-oledb-open-all.csv b/docs/diagnostics/hfsql-oledb-open-all.csv new file mode 100644 index 0000000..838486a --- /dev/null +++ b/docs/diagnostics/hfsql-oledb-open-all.csv @@ -0,0 +1,213 @@ +Schema,Table,DiskName,ExpectedGroup,DirectAccess,ProtectedAccess,FinalAccess,FieldCount,HasRows,HfSqlErrorCode +Batik,AccesEtDroit,AccesEtDroit.fic,ProtectionStd,True,False,DIRECT,8,True, +Batik,Action,Action.fic,ProtectionStd,True,False,DIRECT,9,True, +Batik,Adresse,Adresse.fic,ProtectionStd,True,False,DIRECT,14,True, +Batik,BddExterne,BddExterne.fic,ProtectionStd,True,False,DIRECT,8,True, +Batik,CheckList,CheckList.fic,ProtectionStd,True,False,DIRECT,12,False, +Batik,CheckList_Collab,CheckList_Collab.fic,ProtectionStd,True,False,DIRECT,8,False, +Batik,Client,Client.fic,ProtectionStd,True,False,DIRECT,31,True, +Batik,Client_Adresse,Client_Adresse.fic,ProtectionStd,True,False,DIRECT,5,True, +Batik,Client_BddExterne,Client_BddExterne.fic,ProtectionStd,True,False,DIRECT,9,True, +Batik,Client_Lieu,Client_Lieu.fic,ProtectionStd,True,False,DIRECT,7,True, +Batik,Collaborateur,Collaborateur.fic,ProtectionStd,True,False,DIRECT,20,True, +Batik,CompteRendu,CompteRendu.fic,ProtectionStd,True,False,DIRECT,22,True, +Batik,Compteur,Compteur.fic,ProtectionStd,True,False,DIRECT,8,True, +Batik,Document,Document.fic,ProtectionStd,True,False,DIRECT,15,True, +Batik,DocumentNote,DocumentNote.fic,ProtectionStd,True,False,DIRECT,6,True, +Batik,Dossier,Dossier.fic,ProtectionStd,True,False,DIRECT,17,True, +Batik,Equipe,Equipe.fic,ProtectionStd,True,False,DIRECT,7,True, +Batik,Equipe_Collaborateur,Equipe_Collaborateur.fic,ProtectionStd,True,False,DIRECT,7,True, +Batik,EtatIntervention,EtatIntervention.fic,ProtectionStd,True,False,DIRECT,6,True, +Batik,Intervention,Intervention.fic,ProtectionStd,True,False,DIRECT,29,True, +Batik,Intervention_BddExterne,Intervention_BddExterne.fic,ProtectionStd,True,False,DIRECT,8,True, +Batik,Intervention_ChampLibre,Intervention_ChampLibre.fic,ProtectionStd,True,False,DIRECT,8,False, +Batik,Intervention_Collaborateur,Intervention_Collaborateur.fic,ProtectionStd,True,False,DIRECT,7,False, +Batik,Intervention_Personne,Intervention_Personne.fic,ProtectionStd,True,False,DIRECT,14,True, +Batik,Lieu,Lieu.fic,ProtectionStd,False,False,FAILED,0,False,70114 +Batik,Lieu_Personne,Lieu_Personne.fic,ProtectionStd,True,False,DIRECT,15,True, +Batik,MailCat,MailCat.fic,ProtectionStd,True,False,DIRECT,3,True, +Batik,MailModele,MailModele.fic,ProtectionStd,True,False,DIRECT,11,True, +Batik,MessageExterne,MessageExterne.fic,ProtectionStd,True,False,DIRECT,17,True, +Batik,MessageInterne,MessageInterne.fic,ProtectionStd,True,False,DIRECT,7,True, +Batik,Mobile,Mobile.fic,ProtectionStd,True,False,DIRECT,3,False, +Batik,MobLog,MobLog.fic,ProtectionStd,True,False,DIRECT,4,True, +Batik,MobReception,MobReception.fic,ProtectionStd,True,False,DIRECT,8,False, +Batik,ModeleRapportMob,ModeleRapportMob.fic,ProtectionStd,False,False,FAILED,0,False,70114 +Batik,MotClef,MotClef.fic,ProtectionStd,True,False,DIRECT,6,True, +Batik,ParametreApplication,ParametreApplication.fic,ProtectionStd,True,False,DIRECT,4,True, +Batik,ParametreMetier,ParametreMetier.fic,ProtectionStd,False,False,FAILED,0,False,70114 +Batik,ParametreMetierEntete,ParametreMetierEntete.fic,ProtectionPlus,False,False,FAILED,0,False,70114 +Batik,ParametreSysteme,ParametreSysteme.fic,ProtectionPlus,False,False,FAILED,0,False,70114 +Batik,ParametreUtilisateur,ParametreUtilisateur.fic,ProtectionStd,True,False,DIRECT,4,True, +Batik,Personne,Personne.fic,ProtectionStd,True,False,DIRECT,22,True, +Batik,Planning_RDV,Planning_RDV.fic,ProtectionStd,True,False,DIRECT,35,True, +Batik,Planning_RDV_Personne,Planning_RDV_Personne.fic,ProtectionStd,True,False,DIRECT,10,True, +Batik,Societe,Societe.fic,ProtectionStd,True,False,DIRECT,16,True, +Batik,Societe_Collaborateur,Societe_Collaborateur.fic,ProtectionStd,True,False,DIRECT,7,True, +Batik,SuiviDesTemps,SuiviDesTemps.fic,ProtectionStd,True,False,DIRECT,20,True, +Batik,Telephone,Telephone.fic,ProtectionStd,True,False,DIRECT,4,False, +Batik,Utilisateur,Utilisateur.fic,ProtectionStd,True,False,DIRECT,19,True, +Omika,AccesEtDroit,AccesEtDroit.fic,ProtectionStd,True,False,DIRECT,10,True, +Omika,Action,Action.fic,ProtectionStd,True,False,DIRECT,10,True, +Omika,Adresse,Adresse.fic,ProtectionStd,True,False,DIRECT,16,True, +Omika,BddExterne,BddExterne.fic,ProtectionStd,True,False,DIRECT,8,True, +Omika,CategorieAcces,CategorieAcces.fic,ProtectionStd,True,False,DIRECT,11,True, +Omika,CheckList,CheckList.fic,ProtectionStd,True,False,DIRECT,12,False, +Omika,CheckList_Collab,CheckList_Collab.fic,ProtectionStd,True,False,DIRECT,8,False, +Omika,Client,Client.fic,ProtectionStd,True,False,DIRECT,37,True, +Omika,Client_Adresse,Client_Adresse.fic,ProtectionStd,True,False,DIRECT,8,True, +Omika,Client_BddExterne,Client_BddExterne.fic,ProtectionStd,True,False,DIRECT,9,True, +Omika,Client_Lieu,Client_Lieu.fic,ProtectionStd,True,False,DIRECT,7,True, +Omika,Collaborateur,Collaborateur.fic,ProtectionStd,True,False,DIRECT,23,True, +Omika,CompteRendu,CompteRendu.fic,ProtectionStd,True,False,DIRECT,24,True, +Omika,Compteur,Compteur.fic,ProtectionStd,True,False,DIRECT,8,True, +Omika,Doc_Aide,doc_aide.fic,ProtectionStd,True,False,DIRECT,9,True, +Omika,Document,Document.fic,ProtectionStd,True,False,DIRECT,17,False, +Omika,DocumentNote,DocumentNote.fic,ProtectionStd,True,False,DIRECT,6,False, +Omika,Dossier,Dossier.fic,ProtectionStd,True,False,DIRECT,20,True, +Omika,ElementModifie,elementmodifie.fic,ProtectionStd,True,False,DIRECT,5,True, +Omika,ElementSupprime,elementsupprime.fic,ProtectionStd,False,False,FAILED,0,False,70208 +Omika,Equipe,Equipe.fic,ProtectionStd,True,False,DIRECT,7,True, +Omika,Equipe_Collaborateur,Equipe_Collaborateur.fic,ProtectionStd,True,False,DIRECT,7,True, +Omika,EtatIntervention,EtatIntervention.fic,ProtectionStd,True,False,DIRECT,7,True, +Omika,Etats,Etats.fic,ProtectionPlus,False,False,FAILED,0,False,70114 +Omika,Intervention,Intervention.fic,ProtectionStd,True,False,DIRECT,32,True, +Omika,Intervention_BddExterne,Intervention_BddExterne.fic,ProtectionStd,True,False,DIRECT,8,True, +Omika,Intervention_ChampLibre,Intervention_ChampLibre.fic,ProtectionStd,True,False,DIRECT,8,False, +Omika,Intervention_Personne,Intervention_Personne.fic,ProtectionStd,True,False,DIRECT,15,True, +Omika,Lieu,Lieu.fic,ProtectionStd,True,False,DIRECT,21,True, +Omika,Lieu_Personne,Lieu_Personne.fic,ProtectionStd,True,False,DIRECT,17,True, +Omika,MailCat,MailCat.fic,ProtectionStd,True,False,DIRECT,3,True, +Omika,MailModele,MailModele.fic,ProtectionStd,True,False,DIRECT,13,True, +Omika,MessageExterne,MessageExterne.fic,ProtectionStd,True,False,DIRECT,18,True, +Omika,MessageInterne,MessageInterne.fic,ProtectionStd,True,False,DIRECT,7,True, +Omika,Mobile,Mobile.fic,ProtectionStd,True,False,DIRECT,3,False, +Omika,MobLog,MobLog.fic,ProtectionStd,True,False,DIRECT,4,False, +Omika,MobReception,MobReception.fic,ProtectionStd,True,False,DIRECT,8,True, +Omika,ModeleRapport,ModeleRapport.fic,ProtectionStd,True,False,DIRECT,9,True, +Omika,ModeleRapportMob,ModeleRapportMob.fic,ProtectionStd,False,False,FAILED,0,False,70114 +Omika,MotClef,MotClef.fic,ProtectionStd,True,False,DIRECT,6,True, +Omika,ParametreApplication,ParametreApplication.fic,ProtectionStd,True,False,DIRECT,4,True, +Omika,ParametreMetier,ParametreMetier.fic,ProtectionStd,False,False,FAILED,0,False,70114 +Omika,ParametreMetierEntete,ParametreMetierEntete.fic,ProtectionPlus,False,False,FAILED,0,False,70114 +Omika,ParametreSysteme,ParametreSysteme.fic,ProtectionPlus,False,False,FAILED,0,False,70114 +Omika,ParametreUtilisateur,ParametreUtilisateur.fic,ProtectionStd,True,False,DIRECT,4,True, +Omika,Personne,Personne.fic,ProtectionStd,True,False,DIRECT,25,True, +Omika,Planning_RDV,Planning_RDV.fic,ProtectionStd,True,False,DIRECT,39,True, +Omika,Planning_RDV_Personne,Planning_RDV_Personne.fic,ProtectionStd,True,False,DIRECT,10,True, +Omika,RDV_Collaborateur,RDV_Collaborateur.fic,ProtectionStd,True,False,DIRECT,13,True, +Omika,RDV_Contact,RDV_Contact.fic,ProtectionStd,True,False,DIRECT,4,True, +Omika,RDV_Planning,RDV_Planning.fic,ProtectionStd,True,False,DIRECT,22,True, +Omika,Role,Role.fic,ProtectionStd,True,False,DIRECT,7,True, +Omika,RubriquesDocument,RubriquesDocument.fic,ProtectionStd,True,False,DIRECT,13,True, +Omika,Societe,Societe.fic,ProtectionStd,True,False,DIRECT,18,True, +Omika,Societe_Collaborateur,Societe_Collaborateur.fic,ProtectionStd,True,False,DIRECT,7,True, +Omika,SuiviDesTemps,SuiviDesTemps.fic,ProtectionStd,True,False,DIRECT,25,True, +Omika,Telephone,Telephone.fic,ProtectionStd,True,False,DIRECT,4,False, +Omika,Utilisateur,Utilisateur.fic,ProtectionStd,True,False,DIRECT,20,True, +Batik,AccesEtDroit,AccesEtDroit.fic,ProtectionStd,True,False,DIRECT,8,True, +Batik,Action,Action.fic,ProtectionStd,True,False,DIRECT,9,True, +Batik,Adresse,Adresse.fic,ProtectionStd,True,False,DIRECT,14,True, +Batik,BddExterne,BddExterne.fic,ProtectionStd,True,False,DIRECT,8,True, +Batik,CheckList,CheckList.fic,ProtectionStd,True,False,DIRECT,12,False, +Batik,CheckList_Collab,CheckList_Collab.fic,ProtectionStd,True,False,DIRECT,8,False, +Batik,Client,Client.fic,ProtectionStd,True,False,DIRECT,31,True, +Batik,Client_Adresse,Client_Adresse.fic,ProtectionStd,True,False,DIRECT,5,True, +Batik,Client_BddExterne,Client_BddExterne.fic,ProtectionStd,True,False,DIRECT,9,True, +Batik,Client_Lieu,Client_Lieu.fic,ProtectionStd,True,False,DIRECT,7,True, +Batik,Collaborateur,Collaborateur.fic,ProtectionStd,True,False,DIRECT,20,True, +Batik,CompteRendu,CompteRendu.fic,ProtectionStd,True,False,DIRECT,22,True, +Batik,Compteur,Compteur.fic,ProtectionStd,True,False,DIRECT,8,True, +Batik,Document,Document.fic,ProtectionStd,True,False,DIRECT,15,True, +Batik,DocumentNote,DocumentNote.fic,ProtectionStd,True,False,DIRECT,6,True, +Batik,Dossier,Dossier.fic,ProtectionStd,True,False,DIRECT,17,True, +Batik,Equipe,Equipe.fic,ProtectionStd,True,False,DIRECT,7,True, +Batik,Equipe_Collaborateur,Equipe_Collaborateur.fic,ProtectionStd,True,False,DIRECT,7,True, +Batik,EtatIntervention,EtatIntervention.fic,ProtectionStd,True,False,DIRECT,6,True, +Batik,Intervention,Intervention.fic,ProtectionStd,True,False,DIRECT,29,True, +Batik,Intervention_BddExterne,Intervention_BddExterne.fic,ProtectionStd,True,False,DIRECT,8,True, +Batik,Intervention_ChampLibre,Intervention_ChampLibre.fic,ProtectionStd,True,False,DIRECT,8,False, +Batik,Intervention_Collaborateur,Intervention_Collaborateur.fic,ProtectionStd,True,False,DIRECT,7,False, +Batik,Intervention_Personne,Intervention_Personne.fic,ProtectionStd,True,False,DIRECT,14,True, +Batik,Lieu,Lieu.fic,ProtectionStd,False,True,PROTECTION_STD,19,True,70114 +Batik,Lieu_Personne,Lieu_Personne.fic,ProtectionStd,True,False,DIRECT,15,True, +Batik,MailCat,MailCat.fic,ProtectionStd,True,False,DIRECT,3,True, +Batik,MailModele,MailModele.fic,ProtectionStd,True,False,DIRECT,11,True, +Batik,MessageExterne,MessageExterne.fic,ProtectionStd,True,False,DIRECT,17,True, +Batik,MessageInterne,MessageInterne.fic,ProtectionStd,True,False,DIRECT,7,True, +Batik,Mobile,Mobile.fic,ProtectionStd,True,False,DIRECT,3,False, +Batik,MobLog,MobLog.fic,ProtectionStd,True,False,DIRECT,4,True, +Batik,MobReception,MobReception.fic,ProtectionStd,True,False,DIRECT,8,False, +Batik,ModeleRapportMob,ModeleRapportMob.fic,ProtectionStd,False,True,PROTECTION_STD,4,False,70114 +Batik,MotClef,MotClef.fic,ProtectionStd,True,False,DIRECT,6,True, +Batik,ParametreApplication,ParametreApplication.fic,ProtectionStd,True,False,DIRECT,4,True, +Batik,ParametreMetier,ParametreMetier.fic,ProtectionStd,False,True,PROTECTION_STD,12,True,70114 +Batik,ParametreMetierEntete,ParametreMetierEntete.fic,ProtectionPlus,False,True,PROTECTION_PLUS,8,True,70114 +Batik,ParametreSysteme,ParametreSysteme.fic,ProtectionPlus,False,True,PROTECTION_PLUS,4,True,70114 +Batik,ParametreUtilisateur,ParametreUtilisateur.fic,ProtectionStd,True,False,DIRECT,4,True, +Batik,Personne,Personne.fic,ProtectionStd,True,False,DIRECT,22,True, +Batik,Planning_RDV,Planning_RDV.fic,ProtectionStd,True,False,DIRECT,35,True, +Batik,Planning_RDV_Personne,Planning_RDV_Personne.fic,ProtectionStd,True,False,DIRECT,10,True, +Batik,Societe,Societe.fic,ProtectionStd,True,False,DIRECT,16,True, +Batik,Societe_Collaborateur,Societe_Collaborateur.fic,ProtectionStd,True,False,DIRECT,7,True, +Batik,SuiviDesTemps,SuiviDesTemps.fic,ProtectionStd,True,False,DIRECT,20,True, +Batik,Telephone,Telephone.fic,ProtectionStd,True,False,DIRECT,4,False, +Batik,Utilisateur,Utilisateur.fic,ProtectionStd,True,False,DIRECT,19,True, +Omika,AccesEtDroit,AccesEtDroit.fic,ProtectionStd,True,False,DIRECT,10,True, +Omika,Action,Action.fic,ProtectionStd,True,False,DIRECT,10,True, +Omika,Adresse,Adresse.fic,ProtectionStd,True,False,DIRECT,16,True, +Omika,BddExterne,BddExterne.fic,ProtectionStd,True,False,DIRECT,8,True, +Omika,CategorieAcces,CategorieAcces.fic,ProtectionStd,True,False,DIRECT,11,True, +Omika,CheckList,CheckList.fic,ProtectionStd,True,False,DIRECT,12,False, +Omika,CheckList_Collab,CheckList_Collab.fic,ProtectionStd,True,False,DIRECT,8,False, +Omika,Client,Client.fic,ProtectionStd,True,False,DIRECT,37,True, +Omika,Client_Adresse,Client_Adresse.fic,ProtectionStd,True,False,DIRECT,8,True, +Omika,Client_BddExterne,Client_BddExterne.fic,ProtectionStd,True,False,DIRECT,9,True, +Omika,Client_Lieu,Client_Lieu.fic,ProtectionStd,True,False,DIRECT,7,True, +Omika,Collaborateur,Collaborateur.fic,ProtectionStd,True,False,DIRECT,23,True, +Omika,CompteRendu,CompteRendu.fic,ProtectionStd,True,False,DIRECT,24,True, +Omika,Compteur,Compteur.fic,ProtectionStd,True,False,DIRECT,8,True, +Omika,Doc_Aide,doc_aide.fic,ProtectionStd,True,False,DIRECT,9,True, +Omika,Document,Document.fic,ProtectionStd,True,False,DIRECT,17,False, +Omika,DocumentNote,DocumentNote.fic,ProtectionStd,True,False,DIRECT,6,False, +Omika,Dossier,Dossier.fic,ProtectionStd,True,False,DIRECT,20,True, +Omika,ElementModifie,elementmodifie.fic,ProtectionStd,True,False,DIRECT,5,True, +Omika,ElementSupprime,elementsupprime.fic,ProtectionStd,False,False,FAILED,0,False,70208 +Omika,Equipe,Equipe.fic,ProtectionStd,True,False,DIRECT,7,True, +Omika,Equipe_Collaborateur,Equipe_Collaborateur.fic,ProtectionStd,True,False,DIRECT,7,True, +Omika,EtatIntervention,EtatIntervention.fic,ProtectionStd,True,False,DIRECT,7,True, +Omika,Etats,Etats.fic,ProtectionPlus,False,True,PROTECTION_PLUS,5,True,70114 +Omika,Intervention,Intervention.fic,ProtectionStd,True,False,DIRECT,32,True, +Omika,Intervention_BddExterne,Intervention_BddExterne.fic,ProtectionStd,True,False,DIRECT,8,True, +Omika,Intervention_ChampLibre,Intervention_ChampLibre.fic,ProtectionStd,True,False,DIRECT,8,False, +Omika,Intervention_Personne,Intervention_Personne.fic,ProtectionStd,True,False,DIRECT,15,True, +Omika,Lieu,Lieu.fic,ProtectionStd,True,False,DIRECT,21,True, +Omika,Lieu_Personne,Lieu_Personne.fic,ProtectionStd,True,False,DIRECT,17,True, +Omika,MailCat,MailCat.fic,ProtectionStd,True,False,DIRECT,3,True, +Omika,MailModele,MailModele.fic,ProtectionStd,True,False,DIRECT,13,True, +Omika,MessageExterne,MessageExterne.fic,ProtectionStd,True,False,DIRECT,18,True, +Omika,MessageInterne,MessageInterne.fic,ProtectionStd,True,False,DIRECT,7,True, +Omika,Mobile,Mobile.fic,ProtectionStd,True,False,DIRECT,3,False, +Omika,MobLog,MobLog.fic,ProtectionStd,True,False,DIRECT,4,False, +Omika,MobReception,MobReception.fic,ProtectionStd,True,False,DIRECT,8,True, +Omika,ModeleRapport,ModeleRapport.fic,ProtectionStd,True,False,DIRECT,9,True, +Omika,ModeleRapportMob,ModeleRapportMob.fic,ProtectionStd,False,True,PROTECTION_STD,4,False,70114 +Omika,MotClef,MotClef.fic,ProtectionStd,True,False,DIRECT,6,True, +Omika,ParametreApplication,ParametreApplication.fic,ProtectionStd,True,False,DIRECT,4,True, +Omika,ParametreMetier,ParametreMetier.fic,ProtectionStd,False,True,PROTECTION_STD,14,True,70114 +Omika,ParametreMetierEntete,ParametreMetierEntete.fic,ProtectionPlus,False,True,PROTECTION_PLUS,10,True,70114 +Omika,ParametreSysteme,ParametreSysteme.fic,ProtectionPlus,False,True,PROTECTION_PLUS,4,True,70114 +Omika,ParametreUtilisateur,ParametreUtilisateur.fic,ProtectionStd,True,False,DIRECT,4,True, +Omika,Personne,Personne.fic,ProtectionStd,True,False,DIRECT,25,True, +Omika,Planning_RDV,Planning_RDV.fic,ProtectionStd,True,False,DIRECT,39,True, +Omika,Planning_RDV_Personne,Planning_RDV_Personne.fic,ProtectionStd,True,False,DIRECT,10,True, +Omika,RDV_Collaborateur,RDV_Collaborateur.fic,ProtectionStd,True,False,DIRECT,13,True, +Omika,RDV_Contact,RDV_Contact.fic,ProtectionStd,True,False,DIRECT,4,True, +Omika,RDV_Planning,RDV_Planning.fic,ProtectionStd,True,False,DIRECT,22,True, +Omika,Role,Role.fic,ProtectionStd,True,False,DIRECT,7,True, +Omika,RubriquesDocument,RubriquesDocument.fic,ProtectionStd,True,False,DIRECT,13,True, +Omika,Societe,Societe.fic,ProtectionStd,True,False,DIRECT,18,True, +Omika,Societe_Collaborateur,Societe_Collaborateur.fic,ProtectionStd,True,False,DIRECT,7,True, +Omika,SuiviDesTemps,SuiviDesTemps.fic,ProtectionStd,True,False,DIRECT,25,True, +Omika,Telephone,Telephone.fic,ProtectionStd,True,False,DIRECT,4,False, +Omika,Utilisateur,Utilisateur.fic,ProtectionStd,True,False,DIRECT,20,True, diff --git a/docs/diagnostics/hfsql-oledb-open-all.md b/docs/diagnostics/hfsql-oledb-open-all.md new file mode 100644 index 0000000..eb51626 --- /dev/null +++ b/docs/diagnostics/hfsql-oledb-open-all.md @@ -0,0 +1,125 @@ +# HFSQL OLE DB Open All — Diagnostic + +## Batik + +### Résumé + +- Tables: 48 +- Direct: 43 +- ProtectionStd: 0 +- ProtectionPlus: 0 +- Failed: 5 + +- ParametreMetier: FAILED +- ParametreMetierEntete: FAILED +- ParametreSysteme: FAILED + +- Strategy: WILDCARD_PLUS_OVERRIDES +- ProtectionStd OLE DB: UNRESOLVED +- ProtectionPlus OLE DB: UNRESOLVED +- NegativeControl: NOT_RUN + +### Canaris + +- ParametreMetier: FAILED +- ParametreMetierEntete: FAILED +- ParametreSysteme: FAILED + +### Échecs + +- Lieu (Expected=ProtectionStd, HfSql=70114) +- ModeleRapportMob (Expected=ProtectionStd, HfSql=70114) +- ParametreMetier (Expected=ProtectionStd, HfSql=70114) +- ParametreMetierEntete (Expected=ProtectionPlus, HfSql=70114) +- ParametreSysteme (Expected=ProtectionPlus, HfSql=70114) + +## Omika + +### Résumé + +- Tables: 58 +- Direct: 52 +- ProtectionStd: 0 +- ProtectionPlus: 0 +- Failed: 6 + +- ParametreMetier: FAILED +- ParametreMetierEntete: FAILED +- ParametreSysteme: FAILED + +- Strategy: WILDCARD_PLUS_OVERRIDES +- ProtectionStd OLE DB: UNRESOLVED +- ProtectionPlus OLE DB: UNRESOLVED +- NegativeControl: NOT_RUN + +### Canaris + +- ParametreMetier: FAILED +- ParametreMetierEntete: FAILED +- ParametreSysteme: FAILED + +### Échecs + +- ElementSupprime (Expected=ProtectionStd, HfSql=70208) +- Etats (Expected=ProtectionPlus, HfSql=70114) +- ModeleRapportMob (Expected=ProtectionStd, HfSql=70114) +- ParametreMetier (Expected=ProtectionStd, HfSql=70114) +- ParametreMetierEntete (Expected=ProtectionPlus, HfSql=70114) +- ParametreSysteme (Expected=ProtectionPlus, HfSql=70114) +## Batik + +### Résumé + +- Tables: 48 +- Direct: 43 +- ProtectionStd: 3 +- ProtectionPlus: 2 +- Failed: 0 + +- ParametreMetier: PROTECTION_STD +- ParametreMetierEntete: PROTECTION_PLUS +- ParametreSysteme: PROTECTION_PLUS + +- Strategy: FAILURES_ONLY_EXPLICIT_MAP +- ProtectionStd OLE DB: VERIFIED_FROM_DATABASE +- ProtectionPlus OLE DB: VERIFIED_FROM_DATABASE +- NegativeControl: PASS + +### Canaris + +- ParametreMetier: PROTECTION_STD +- ParametreMetierEntete: PROTECTION_PLUS +- ParametreSysteme: PROTECTION_PLUS + +### Échecs + + +## Omika + +### Résumé + +- Tables: 58 +- Direct: 52 +- ProtectionStd: 2 +- ProtectionPlus: 3 +- Failed: 1 + +- ParametreMetier: PROTECTION_STD +- ParametreMetierEntete: PROTECTION_PLUS +- ParametreSysteme: PROTECTION_PLUS + +- Strategy: FAILURES_ONLY_EXPLICIT_MAP +- ProtectionStd OLE DB: VERIFIED_FROM_DATABASE +- ProtectionPlus OLE DB: VERIFIED_FROM_DATABASE +- NegativeControl: PASS + +### Canaris + +- ParametreMetier: PROTECTION_STD +- ParametreMetierEntete: PROTECTION_PLUS +- ParametreSysteme: PROTECTION_PLUS + +### Échecs + +- ElementSupprime (Expected=ProtectionStd, HfSql=70208) + diff --git a/docs/diagnostics/hfsql-schema-detector.md b/docs/diagnostics/hfsql-schema-detector.md new file mode 100644 index 0000000..5f18f2c --- /dev/null +++ b/docs/diagnostics/hfsql-schema-detector.md @@ -0,0 +1,129 @@ +# Détecteur de schéma HFSQL (DatabaseSchemaDetector) + +## Stratégie générale + +Le détecteur détermine la version réelle du schéma de base (Batik ou Omika) à +partir de la **structure physique** exposée par HFSQL OLE DB, et uniquement à +partir de celle-ci. + +La décision ne repose **jamais** sur : + +- le nom de la base (`BATIK_TEST`, `OMIKA_TEST`, ou tout autre nom client) ; +- le nom du serveur ; +- la présence d'un mot de passe ; +- le nombre de tables ; +- OpenSchema (`GetSchema`). + +Chaque canari est testé par une requête structurelle réelle et contrôlée : + +```sql +SELECT TOP 0 <colonne> FROM <table> +``` + +Le **succès / échec structurel** de la requête indique la présence ou l'absence +de la colonne. Aucune donnée métier n'est lue (`TOP 0` ne retourne aucune ligne). + +## Canaris utilisés + +### Socle commun (présent dans Batik et Omika) + +| Table | Colonne | Rôle | +|-------|---------|------| +| `Client` | `CL_PKID` | Confirme que la base est une base Omika/Batik compatible | + +### Canaris Omika (colonnes Omika-only de `Client`) + +| Table | Colonne | Rôle | +|-------|---------|------| +| `Client` | `CL_CleType` | Marqueur Omika (colonne absente de Batik) | +| `Client` | `GUID` | Marqueur Omika (colonne absente de Batik) | + +### Canari de confirmation Omika (table Omika-only) + +| Table | Colonne | Rôle | +|-------|---------|------| +| `Role` | `R_PKID` | Confirme la migration Omika en cas d'ambiguïté | + +## Pourquoi ces canaris discriminent Batik / Omika + +Les colonnes `CL_CleType` et `GUID` de la table `Client` sont marquées +`IsOmikaOnly` dans les modèles physiques générés et ont été **confirmées par le +model-audit** : + +- présentes physiquement dans `OMIKA_TEST` (statut `VERIFIED`) ; +- absentes de `BATIK_TEST`. + +La table `Role` est une table réellement Omika-only (absente de Batik), confirmée +par le model-audit. Elle sert de canari de confirmation indépendant. + +La table `Client` est accessible en accès direct dans les deux bases, ce qui rend +la détection possible sans dépendre des mots de passe de fichiers protégés. + +## Algorithme de décision + +1. **Socle commun** : `SELECT TOP 0 CL_PKID FROM Client` doit réussir. + Sinon → échec explicite (base non reconnue). +2. **Canaris Omika** : tester `CL_CleType` et `GUID` dans `Client`. +3. **Canari de confirmation** : tester `R_PKID` dans `Role`. + +Décision : + +- `CL_CleType` **et** `GUID` présents → **Omika**. +- Un seul des deux présent → ambiguïté : + - si `Role` présent → **Omika** ; + - sinon → échec explicite (structure incohérente). +- Aucun canari Omika présent (socle commun valide) → **Batik**. + +La base n'est jamais déclarée Batik ou Omika par défaut : la décision repose +toujours sur la structure réellement observée. + +## Résultats d'intégration + +| Base | Résultat attendu | Résultat observé | +|------|------------------|------------------| +| `BATIK_TEST` | `DatabaseSchemaVersion.Batik` | `Batik` | +| `OMIKA_TEST` | `DatabaseSchemaVersion.Omika` | `Omika` | + +Les tests d'intégration réels utilisent `config/hfsql-test.local.json` et le +provider OLE DB `PCSOFT.HFSQL`. Ils sont ignorés automatiquement si la +configuration locale ou le serveur sont indisponibles. + +Aucun secret, aucune chaîne de connexion, aucune donnée métier n'est exposée. + +## Tests d'intégration du chemin de création (CreateAsync) + +En complément de la détection de schéma, des tests d'intégration réels couvrent +le chemin d'écriture `CreateAsync` sur les deux schémas (Batik et Omika) : + +- `CreateAsync_Batik_PersistsAndRollsBack` +- `CreateAsync_Omika_PersistsAndRollsBack` + +### Principe + +1. Les mots de passe de fichiers (Extended Properties) sont résolus par + `HfSqlFileAccessResolver` pour les fichiers nécessaires au chemin Create + (`Client`, `ParametreMetier`, `Adresse`, `Client_Adresse`). +2. Une connexion physique OLE DB est ouverte avec ces mots de passe. +3. Une **transaction externe** est créée sur cette connexion. +4. `CreateAsync` est exécuté **dans cette transaction** via le repository + (Batik ou Omika). +5. Le client canonique retourné est vérifié (nom, identifiant non vide). +6. La transaction est **annulée (rollback)** : aucune trace n'est laissée en base. + +### Pourquoi une transaction externe + +Les repositories `BatikClientRepository` et `OmikaClientRepository` exposent une +surcharge `CreateAsync(command, DbTransaction?, cancellationToken)` qui réutilise +une transaction externe fournie par l'appelant. En production, la surcharge +standard `CreateAsync(command, cancellationToken)` est utilisée et une transaction +interne est créée puis commitée. Dans les tests, la transaction externe permet de +**vérifier la persistance réelle puis de l'annuler** sans polluer la base. + +### Garanties + +- Aucune donnée métier n'est laissée en base (rollback systématique). +- Aucun secret, aucune chaîne de connexion, aucun mot de passe n'est exposé. +- Les tests sont ignorés automatiquement si la configuration locale ou le + serveur sont indisponibles. + + diff --git a/docs/dictionnaire-compatibilite-batik-omika.md b/docs/dictionnaire-compatibilite-batik-omika.md new file mode 100644 index 0000000..717998a --- /dev/null +++ b/docs/dictionnaire-compatibilite-batik-omika.md @@ -0,0 +1,2104 @@ +# Dictionnaire complet de compatibilité des schémas Batik / Isis_BO et Omika + +## 1. Objet et périmètre + +Ce document décrit les tables et rubriques présentes dans les sections **« Tables et rubriques »** des deux analyses WINDEV : + +- ancienne base : projet `Isis_BO`, analyse `Isis_BO.wda`, document source `BATIK.md` ; +- nouvelle base : projet `Batik`, application `Omika`, analyse `Batik.wda`, document source `OMIKA.md`. + +Les rôles fonctionnels de tables sont des **inférences raisonnables** fondées sur les noms, libellés, rubriques et liaisons. Les types, tailles, valeurs par défaut, champs zombie et contraintes proviennent des exports techniques. + +> Ce document prépare la modélisation. Il ne crée ni classes C#, ni projet Avalonia, ni mapping ORM définitif. + +## 2. Conclusion d’architecture à appliquer avant de générer les modèles + +Un modèle de persistance unique ne doit pas être mappé directement sur les deux bases. Une requête qui mentionne une colonne ajoutée dans Omika échouera sur Isis_BO, et la table `Intervention_Collaborateur` n'existe plus dans le nouveau schéma. + +Architecture recommandée : + +1. **Contrats communs API / domaine** : objets canoniques indépendants de HFSQL et d’Avalonia. +2. **Modèles de persistance Isis_BO** : reproduction exacte des 48 tables historiques nécessaires. +3. **Modèles de persistance Omika** : reproduction exacte des 58 tables nouvelles. +4. **Deux adaptateurs / repositories** : conversion de chaque schéma physique vers les contrats communs. +5. **Détection explicite de version de schéma** au démarrage de l’API ; aucune détection opportuniste à chaque requête. +6. **Avalonia consomme uniquement l’API** et ne connaît ni les rubriques HFSQL, ni les mots de passe de connexion. + +Pour les référentiels migrés, le contrat commun doit temporairement porter les deux formes : + +- identifiant numérique historique, par exemple `CL_IDType` ; +- clé métier Omika, par exemple `CL_CleType` ; +- GUID lorsque la nouvelle base en fournit un. + +La règle de lecture conseillée est : **clé/GUID Omika prioritaire**, puis repli sur l’identifiant numérique historique. La règle d’écriture dépend de la base ciblée et doit rester dans l’adaptateur. + +## 3. Volumétrie et niveau de certitude + +| Mesure | Isis_BO | Omika | +|---|---:|---:| +| Tables déclarées par l’analyse | 48 | 58 | +| Rubriques annoncées dans l’en-tête du dictionnaire | 720 | 872 | +| Rubriques reconstituées dans les définitions détaillées de tables | 560 | 713 | +| Liaisons déclarées | 38 | 38 | +| Rubriques marquées zombie dans les définitions détaillées | 0 | 52 | + +L’union de compatibilité contient **59 tables** et **720 couples table/rubrique**. Les compteurs 720/872 de WINDEV incluent le dictionnaire global, qui contient aussi des alias historiques, des entrées `<Inutilisée>` et des artefacts de conversion de pages. Pour générer les modèles de persistance, les définitions détaillées par table sont la référence la plus sûre ; les anomalies du dictionnaire sont inventoriées en annexe. + +## 4. Correspondance des types HFSQL vers .NET + +| Type HFSQL | Type .NET de persistance conseillé | Observation | +|---|---|---| +| Identifiant automatique (8 octets) | `long` | Clé primaire technique. | +| Entier sur 8 octets | `long` | Les valeurs `0` servent souvent de « non renseigné » dans l’ancien code. | +| Entier non signé sur 8 octets | `ulong` | Ne convertir en `long` qu’après contrôle de plage. | +| Entier sur 4 / 2 / 1 octet(s) | `int` / `short` / `sbyte` | Conserver le signe du type source. | +| Entier non signé sur 4 / 2 / 1 octet(s) | `uint` / `ushort` / `byte` | Conserver le caractère non signé. | +| Booléen | `bool` | Nullabilité non documentée par cet export. | +| Réel sur 4 octets | `float` | À éviter pour des montants. | +| Réel / Réel sur 8 octets / Numérique | `double` | Vérifier les besoins de précision métier. | +| Monétaire | `decimal` | Mapping recommandé pour les montants. | +| Date | `DateOnly` | Le provider HFSQL peut imposer un `DateTime` dans la couche physique. | +| Heure | `TimeOnly` | Le provider HFSQL peut imposer une chaîne ou un `DateTime`. | +| Date et Heure | `DateTime` | Aucune information de fuseau n’est stockée ; ne pas inventer un `DateTimeOffset`. | +| Chaîne / Chaîne ANSI / Chaîne Unicode | `string` | Conserver les longueurs maximales dans les validateurs et mappings. | +| Mémo texte | `string` | Contenu potentiellement long. | +| Mémo binaire / Image / Buffer | `byte[]` | Prévoir du streaming dans l’API pour les gros contenus. | +| Durée | `TimeSpan` | Vérifier l’unité exacte utilisée par le code métier. | +| Clé composée | propriété technique en lecture seule | À représenter de préférence comme index composite ORM, pas comme donnée métier. | +| GUID stocké en chaîne de 32 caractères | `string` physique, `Guid?` canonique après validation | Le format probable est `N`, mais il doit être validé avant conversion. | + +**Nullabilité :** l’export ne fournit pas une information suffisamment fiable pour générer automatiquement les `?` C#. Les modèles physiques doivent suivre le provider HFSQL ; les contrats API peuvent rendre optionnels les identifiants, dates et chaînes dont l’absence est représentée par `0`, chaîne vide ou date vide dans les bases historiques. + +## 5. Synthèse des tables + +| Domaine | Table | Présence | Rubriques Isis_BO | Rubriques Omika | Observation principale | +|---|---|---|---:|---:|---| +| Documents et messages | [`Doc_Aide`](#doc-aide) | Omika uniquement | — | 9 | Aide contextuelle Omika par fenêtre ou champ, avec contenu et tags. | +| Documents et messages | [`Document`](#document) | Commun | 15 | 17 | Omika remplace progressivement les identifiants numériques de catégorie et d'état par des clés textuelles. | +| Documents et messages | [`DocumentNote`](#documentnote) | Commun | 6 | 6 | Note attachée à un document. | +| Documents et messages | [`MailCat`](#mailcat) | Commun | 4 | 4 | La table subsiste dans Omika, mais la liaison déclarée `MailModele -> MailCat` n'apparaît plus dans les liaisons du nouveau schéma. | +| Documents et messages | [`MailModele`](#mailmodele) | Commun | 11 | 13 | Modèle de courriel avec sujet, contenu, langue, code et options d'envoi mobile. | +| Documents et messages | [`MessageExterne`](#messageexterne) | Commun | 17 | 18 | Courriel ou message externe lié à une intervention, avec destinataires, contenu et pièces jointes. | +| Documents et messages | [`MessageInterne`](#messageinterne) | Commun | 7 | 7 | Note ou message interne lié à une intervention. | +| Documents et messages | [`ModeleRapport`](#modelerapport) | Omika uniquement | — | 9 | Modèle de rapport Omika, avec contenu, métadonnées et option d'envoi mobile. | +| Documents et messages | [`ModeleRapportMob`](#modelerapportmob) | Commun | 4 | 4 | Modèle historique de rapport mobile et liste de rubriques mobiles. | +| Documents et messages | [`MotClef`](#motclef) | Commun | 8 | 8 | Mots-clés localisés utilisés pour les rapports, courriels ou remplacements de contenu. | +| Documents et messages | [`RubriquesDocument`](#rubriquesdocument) | Omika uniquement | — | 13 | Métadonnées des rubriques utilisables dans les documents, rapports ou formulaires dynamiques. | +| Interventions | [`Action`](#action) | Commun | 9 | 10 | Actions ou tâches rattachées à une intervention, avec date, heure, type, description et état clos. | +| Interventions | [`CheckList`](#checklist) | Commun | 12 | 12 | Éléments et groupes de checklist associés à une intervention ou à un modèle. | +| Interventions | [`CheckList_Collab`](#checklist-collab) | Commun | 8 | 8 | État de réalisation d'un élément de checklist pour un collaborateur. | +| Interventions | [`CompteRendu`](#compterendu) | Commun | 22 | 24 | Omika ajoute une clé de type de signataire et un GUID de rendez-vous; plusieurs champs historiques restent marqués zombie dans les traitements. | +| Interventions | [`Dossier`](#dossier) | Commun | 17 | 20 | Omika ajoute des clés de type/statut et un GUID. Le champ numérique de type est zombie; le statut numérique doit aussi être considéré transitoire. | +| Interventions | [`EtatIntervention`](#etatintervention) | Commun | 6 | 7 | Historique des états d'une intervention, avec période et description. | +| Interventions | [`Intervention`](#intervention) | Commun | 29 | 32 | Omika ajoute des clés de type/état et un GUID, tout en conservant les anciens identifiants numériques comme champs transitoires. | +| Interventions | [`Intervention_ChampLibre`](#intervention-champlibre) | Commun | 9 | 9 | Valeur d'un paramètre ou champ libre pour une intervention. | +| Interventions | [`Intervention_Collaborateur`](#intervention-collaborateur) | Ancien uniquement | 7 | — | Table uniquement ancienne. Son remplacement fonctionnel n'est pas une simple table homonyme : Omika utilise le nouvel agrégat RDV et ses affectations collaborateurs. | +| Interventions | [`Intervention_Personne`](#intervention-personne) | Commun | 14 | 15 | Association entre une intervention et une personne, avec rôle, demandeur, étage et lot. | +| Intégrations et audit | [`BddExterne`](#bddexterne) | Commun | 8 | 8 | Configuration d'une base ou d'un système externe, généralement par société, avec paramètres sérialisés. | +| Intégrations et audit | [`Client_BddExterne`](#client-bddexterne) | Commun | 10 | 10 | Correspondance entre un client local et son identifiant dans une base externe. | +| Intégrations et audit | [`ElementModifie`](#elementmodifie) | Omika uniquement | — | 5 | Journal technique Omika des enregistrements modifiés. | +| Intégrations et audit | [`ElementSupprime`](#elementsupprime) | Omika uniquement | — | 7 | Journal technique Omika des enregistrements supprimés. | +| Intégrations et audit | [`Intervention_BddExterne`](#intervention-bddexterne) | Commun | 9 | 9 | Correspondance entre une intervention locale et une intervention d'une base externe. | +| Intégrations et audit | [`Mobile`](#mobile) | Commun | 3 | 3 | Terminal mobile enregistré, identifié par numéro de série et utilisateur. | +| Intégrations et audit | [`MobLog`](#moblog) | Commun | 4 | 4 | Journal de messages ou événements mobiles. | +| Intégrations et audit | [`MobReception`](#mobreception) | Commun | 8 | 8 | File de réception des commandes et données envoyées par les terminaux mobiles. | +| Organisation | [`Collaborateur`](#collaborateur) | Commun | 20 | 23 | Omika ajoute les clés de civilité/statut et un GUID; les identifiants numériques correspondants deviennent zombie. | +| Organisation | [`Equipe`](#equipe) | Commun | 7 | 7 | Équipe de collaborateurs rattachée à une société. | +| Organisation | [`Equipe_Collaborateur`](#equipe-collaborateur) | Commun | 8 | 8 | Association d'appartenance d'un collaborateur à une équipe. | +| Organisation | [`Societe`](#societe) | Commun | 16 | 18 | La taille de `SO_SIRET` passe de 50 à 20 caractères et Omika ajoute `SO_SIREN` et `GUID`. | +| Organisation | [`Societe_Collaborateur`](#societe-collaborateur) | Commun | 9 | 9 | Association entre une société et un collaborateur. | +| Paramétrage | [`Compteur`](#compteur) | Commun | 8 | 8 | Compteurs techniques utilisés pour générer des numéros ou références, éventuellement par année ou mois. | +| Paramétrage | [`Etats`](#etats) | Omika uniquement | — | 5 | Référentiel Omika générique de valeurs d'état regroupées et ordonnées. | +| Paramétrage | [`ParametreApplication`](#parametreapplication) | Commun | 4 | 4 | Paramètre applicatif clé/description/valeur. | +| Paramétrage | [`ParametreMetier`](#parametremetier) | Commun | 13 | 15 | Refonte importante : Omika ajoute `PA_CLE` et `PA_Categorie`; plusieurs anciennes rubriques sont marquées zombie. | +| Paramétrage | [`ParametreMetierEntete`](#parametremetierentete) | Commun | 8 | 10 | Omika ajoute `PM_Categorie` et `PM_Type`; les anciens codes et options restent transitoires. | +| Paramétrage | [`ParametreSysteme`](#parametresysteme) | Commun | 4 | 4 | Paramètre système clé/description/valeur, protégé par le groupe renforcé. | +| Paramétrage | [`ParametreUtilisateur`](#parametreutilisateur) | Commun | 5 | 5 | Préférence utilisateur identifiée par code et valeur. | +| Planning et temps | [`Planning_RDV`](#planning-rdv) | Commun | 35 | 39 | Table historique toujours présente dans Omika. Elle ne doit pas être confondue avec `RDV_Planning`; prévoir un adaptateur ou une vue de compatibilité. | +| Planning et temps | [`Planning_RDV_Personne`](#planning-rdv-personne) | Commun | 11 | 11 | Association historique entre un rendez-vous Planning_RDV et une personne. | +| Planning et temps | [`RDV_Collaborateur`](#rdv-collaborateur) | Omika uniquement | — | 13 | La rubrique `RVC_GUID_Colb` ne possède pas de liaison déclarée vers `Collaborateur.GUID` dans l'export; cette intégrité doit être contrôlée par l'API ou confirmée dans la WDA. | +| Planning et temps | [`RDV_Contact`](#rdv-contact) | Omika uniquement | — | 4 | Association Omika entre un rendez-vous et un contact, basée sur des GUID. | +| Planning et temps | [`RDV_Planning`](#rdv-planning) | Omika uniquement | — | 22 | Nouveau modèle de rendez-vous. Les collaborateurs et contacts sont stockés séparément dans `RDV_Collaborateur` et `RDV_Contact`. | +| Planning et temps | [`SuiviDesTemps`](#suividestemps) | Commun | 20 | 25 | Omika ajoute les clés de type, les notes collaborateur/administration et le GUID de l'affectation de rendez-vous. | +| Référentiel client | [`Adresse`](#adresse) | Commun | 14 | 16 | Omika ajoute `AD_Adresse` en mémo et `GUID`; les cinq lignes historiques restent physiquement présentes mais sont marquées zombie. | +| Référentiel client | [`Client`](#client) | Commun | 31 | 37 | Omika conserve les identifiants numériques historiques mais ajoute des clés métier textuelles et un GUID. Les adaptateurs doivent préférer les clés lorsqu'elles sont renseignées. | +| Référentiel client | [`Client_Adresse`](#client-adresse) | Commun | 6 | 9 | Association entre un client et une adresse, avec type et usages principal, facturation et livraison. | +| Référentiel client | [`Client_Lieu`](#client-lieu) | Commun | 7 | 7 | Association entre un client et un site ou lieu. | +| Référentiel client | [`Lieu`](#lieu) | Commun | 19 | 21 | Site ou lieu d'intervention, associé à une adresse et éventuellement à un client principal. | +| Référentiel client | [`Lieu_Personne`](#lieu-personne) | Commun | 15 | 17 | Association entre un site et une personne, avec rôle, type, adresse d'étiquette et état actif. | +| Référentiel client | [`Personne`](#personne) | Commun | 22 | 25 | Omika ajoute les clés de civilité/rôle et un GUID; les identifiants numériques historiques deviennent zombie. | +| Référentiel client | [`Telephone`](#telephone) | Commun | 4 | 4 | Numéro de téléphone qualifié rattaché à une personne. | +| Sécurité | [`AccesEtDroit`](#accesetdroit) | Commun | 8 | 10 | Omika introduit `AED_IdRole` et `AED_CleAcces`; `AED_IDProfil` et `AED_IDModule` restent présents mais sont marqués zombie. | +| Sécurité | [`CategorieAcces`](#categorieacces) | Omika uniquement | — | 11 | Référentiel Omika des catégories ou modules d'accès utilisés par les rôles et l'interface. | +| Sécurité | [`Role`](#role) | Omika uniquement | — | 7 | Rôle Omika utilisé pour les droits d'accès. | +| Sécurité | [`Utilisateur`](#utilisateur) | Commun | 19 | 20 | Omika ajoute `UT_IdRole`; l'ancien `UT_IDTypeProfil` est marqué zombie. | + +## 6. Description détaillée de chaque table et de chaque rubrique + +Légende des statuts : + +- **Commun** : rubrique présente dans les deux définitions détaillées ; +- **Ajout Omika** : rubrique absente d’Isis_BO ; +- **zombie dans Omika** : conservée physiquement pour compatibilité mais ne doit plus être la référence fonctionnelle ; +- **table uniquement ancienne/nouvelle** : nécessite un adaptateur ou un contrat spécifique. + +<a id="doc-aide"></a> +### Doc_Aide + +- **Domaine :** Documents et messages +- **Présence :** Omika uniquement +- **Rôle fonctionnel probable :** Aide contextuelle Omika par fenêtre ou champ, avec contenu et tags. +- **Fichier ancien :** absent +- **Fichier Omika :** `doc_aide.fic` +- **Groupe(s) ancien(s) :** sans objet +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `DA_PKID` | Identifiant de Doc_Aide | — | Identifiant automatique (8 octets) | `long` | Table Omika uniquement | PK automatique | +| `DA_Fenetre` | Fenêtre | — | Chaîne; taille 70 | `string` | Table Omika uniquement | | +| `DA_Champs` | Champs concerné | — | Mémo texte | `string` | Table Omika uniquement | | +| `DA_Titre` | Titre | — | Mémo texte | `string` | Table Omika uniquement | | +| `DA_Contenu` | Contenu | — | Mémo texte | `string` | Table Omika uniquement | | +| `DA_Tags` | Tags | — | Mémo texte | `string` | Table Omika uniquement | | +| `DA_TexteOriginal` | DA_TexteOriginal | — | Mémo texte | `string` | Table Omika uniquement | | +| `ModifUser` | Utilisateur de modification | — | Entier sur 8 octets; défaut `0` | `long` | Table Omika uniquement | | +| `ModifDate` | Modifié le | — | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Table Omika uniquement | | + +<a id="document"></a> +### Document + +- **Domaine :** Documents et messages +- **Présence :** Commun +- **Rôle fonctionnel probable :** Métadonnées d'un document ou fichier lié à une intervention ou à un message externe. +- **Fichier ancien :** `Document.fic` +- **Fichier Omika :** `Document.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` +- **Compatibilité :** Omika remplace progressivement les identifiants numériques de catégorie et d'état par des clés textuelles. + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `DC_PKID` | Identifiant de Document | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique; parent déclaré (ancien) de `DocumentNote.DN_IDDocument`; parent déclaré (Omika) de `DocumentNote.DN_IDDocument` | +| `DC_IDIntervention` | Identifiant de Intervention | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `DC_Nom` | Nom du document | Chaîne; taille 255 | Chaîne; taille 255 | `string` | Commun | | +| `DC_Commentaire` | Commentaire attaché au document | Mémo texte | Mémo texte | `string` | Commun | | +| `DC_Categorie` | Catégorie de classement (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `CreationDate` | Créé le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Créé par | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `ModifDate` | Modifié le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `DC_DateFichier` | DC_DateFichier | Date (aaaammjj) | Date (aaaammjj) | `DateOnly` | Commun | | +| `DC_IDMessageExterne` | Identifiant du Message externe | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `GUID` | GUID | Chaîne; taille 32 | Chaîne; taille 32 | `string (32) en persistance; Guid? après validation` | Commun | | +| `DC_IDEtatDocument` | Identifiant de l'état du document | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `DC_HeriteDroit` | Hérite du droit | Chaîne; taille 8 | Chaîne; taille 8 | `string` | Commun | | +| `DC_Chemin` | Chemin | Mémo texte | Mémo texte | `string` | Commun | | +| `DC_CleCategorie` | Cle Categorie | — | Chaîne; taille 16 | `string` | Ajout Omika | | +| `DC_CleEtatDoc` | Cle Etat du Document | — | Chaîne; taille 16 | `string` | Ajout Omika | | + +**Liaisons impliquant la table :** + +- Isis_BO : `Document.DC_PKID -> DocumentNote.DN_IDDocument` +- Omika : `Document.DC_PKID -> DocumentNote.DN_IDDocument` + +<a id="documentnote"></a> +### DocumentNote + +- **Domaine :** Documents et messages +- **Présence :** Commun +- **Rôle fonctionnel probable :** Note attachée à un document. +- **Fichier ancien :** `DocumentNote.fic` +- **Fichier Omika :** `DocumentNote.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `DN_PKID` | Identifiant de DocumentNote | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `DN_IDDocument` | DN_IDDocument | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `Document.DC_PKID`; FK déclarée (Omika) vers `Document.DC_PKID` | +| `DN_Note` | Note | Mémo texte | Mémo texte | `string` | Commun | | +| `CreationDate` | Créé le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Créé par | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `GUID` | GUID | Chaîne; taille 32 | Chaîne; taille 32 | `string (32) en persistance; Guid? après validation` | Commun | | + +**Liaisons impliquant la table :** + +- Isis_BO : `Document.DC_PKID -> DocumentNote.DN_IDDocument` +- Omika : `Document.DC_PKID -> DocumentNote.DN_IDDocument` + +<a id="mailcat"></a> +### MailCat + +- **Domaine :** Documents et messages +- **Présence :** Commun +- **Rôle fonctionnel probable :** Association entre un modèle de courriel et une catégorie. +- **Fichier ancien :** `MailCat.fic` +- **Fichier Omika :** `MailCat.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` +- **Compatibilité :** La table subsiste dans Omika, mais la liaison déclarée `MailModele -> MailCat` n'apparaît plus dans les liaisons du nouveau schéma. + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `MMC_PKID` | Identifiant de MailCat | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `MMC_CodeModMail` | MMC_CodeModMail | Chaîne; taille 5 | Chaîne; taille 5 | `string` | Commun | FK déclarée (ancien) vers `MailModele.MM_Code` | +| `MMC_CodeCat` | MMC_CodeCat | Chaîne; taille 5 | Chaîne; taille 5 | `string` | Commun | | +| `MMC_CodeModMail_CodeCat` | MMC_CodeModMail_Co MMC_CodeModMail + MMC_CodeCat | Clé composée; taille 10 | Clé composée; taille 10 | `string en lecture seule / index technique` | Commun | clé composée technique; MMC_CodeModMail+MMC_CodeCat | + +**Liaisons impliquant la table :** + +- Isis_BO : `MailModele.MM_Code -> MailCat.MMC_CodeModMail` + +<a id="mailmodele"></a> +### MailModele + +- **Domaine :** Documents et messages +- **Présence :** Commun +- **Rôle fonctionnel probable :** Modèle de courriel avec sujet, contenu, langue, code et options d'envoi mobile. +- **Fichier ancien :** `MailModele.fic` +- **Fichier Omika :** `MailModele.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `MM_PKID` | Identifiant de ModMail | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `MM_Code` | MM_Code | Chaîne; taille 5 | Chaîne; taille 5 | `string` | Commun | parent déclaré (ancien) de `MailCat.MMC_CodeModMail` | +| `MM_Nom` | Désignation du modèle | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `MM_Sujet` | Sujet du mail | Mémo texte | Mémo texte | `string` | Commun | | +| `MM_MsgDoc` | Corps du message | Image (mémo binaire) | Image (mémo binaire) | `byte[]` | Commun | | +| `CreationDate` | Créé le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Créé par | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `ModifDate` | Modifié le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `MM_System` | Donnée system non modifiable | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `MM_Langue` | Langue | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `MM_Extra` | Information extra | — | Mémo texte | `string` | Ajout Omika | | +| `MM_EnvoiMob` | Envoi vers le mobile | — | Booléen; défaut `0` | `bool` | Ajout Omika | | + +**Liaisons impliquant la table :** + +- Isis_BO : `MailModele.MM_Code -> MailCat.MMC_CodeModMail` + +<a id="messageexterne"></a> +### MessageExterne + +- **Domaine :** Documents et messages +- **Présence :** Commun +- **Rôle fonctionnel probable :** Courriel ou message externe lié à une intervention, avec destinataires, contenu et pièces jointes. +- **Fichier ancien :** `MessageExterne.fic` +- **Fichier Omika :** `MessageExterne.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `ME_PKID` | Identifiant de MessageExterne | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `ME_IDIntervention` | IDIntervention | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `Intervention.IN_PKID`; FK déclarée (Omika) vers `Intervention.IN_PKID` | +| `ME_AdrExp` | Adresse Expediteur | Chaîne; taille 250 | Chaîne; taille 250 | `string` | Commun | | +| `ME_AdrDestinataires` | Adresses des destinataires | Mémo texte | Mémo texte | `string` | Commun | | +| `ME_Objet` | ME_Objet | Chaîne; taille 200 | Chaîne; taille 200 | `string` | Commun | | +| `ME_Message` | Message | Mémo texte | Mémo texte | `string` | Commun | | +| `ME_IDDocPJ` | ID du document en PJ | Chaîne; taille 100; défaut `0` | Chaîne; taille 100; défaut `0` | `string` | Commun | | +| `ME_Envoyer` | Message envoyé | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `ME_Brouillon` | Mode Brouillon | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `CreationDate` | Créé le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Créé par | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `ME_PJ` | Avec PJ | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `ME_AdrCC` | Adresse expéditeur CC | Chaîne; taille 200 | Chaîne; taille 200 | `string` | Commun | | +| `ME_AdrCCI` | Adresse expéditeur CCI | Chaîne; taille 200 | Chaîne; taille 200 | `string` | Commun | | +| `GUID` | GUID | Chaîne; taille 32 | Chaîne; taille 32 | `string (32) en persistance; Guid? après validation` | Commun | | +| `ME_IDImport` | Identifiant de l'import | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `ME_EnvoyerMob` | Message envoyé par le mobile | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `ME_PieceJointes` | Chemin des documents joints | — | Mémo texte | `string` | Ajout Omika | | + +**Liaisons impliquant la table :** + +- Isis_BO : `Intervention.IN_PKID -> MessageExterne.ME_IDIntervention` +- Omika : `Intervention.IN_PKID -> MessageExterne.ME_IDIntervention` + +<a id="messageinterne"></a> +### MessageInterne + +- **Domaine :** Documents et messages +- **Présence :** Commun +- **Rôle fonctionnel probable :** Note ou message interne lié à une intervention. +- **Fichier ancien :** `MessageInterne.fic` +- **Fichier Omika :** `MessageInterne.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `MI_PKID` | Identifiant de MessageInterne | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `MI_IDTypeMessage` | Identifiant du Type de Message | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `MI_Message` | Message | Mémo texte | Mémo texte | `string` | Commun | | +| `MI_IDIntervention` | Identifiant de l'intervention | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `Intervention.IN_PKID`; FK déclarée (Omika) vers `Intervention.IN_PKID` | +| `CreationDate` | Créé le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Créé par | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `GUID` | GUID | Chaîne; taille 32 | Chaîne; taille 32 | `string (32) en persistance; Guid? après validation` | Commun | | + +**Liaisons impliquant la table :** + +- Isis_BO : `Intervention.IN_PKID -> MessageInterne.MI_IDIntervention` +- Omika : `Intervention.IN_PKID -> MessageInterne.MI_IDIntervention` + +<a id="modelerapport"></a> +### ModeleRapport + +- **Domaine :** Documents et messages +- **Présence :** Omika uniquement +- **Rôle fonctionnel probable :** Modèle de rapport Omika, avec contenu, métadonnées et option d'envoi mobile. +- **Fichier ancien :** absent +- **Fichier Omika :** `ModeleRapport.fic` +- **Groupe(s) ancien(s) :** sans objet +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `MRP_PKID` | Identifiant de ModeleRapport | — | Identifiant automatique (8 octets) | `long` | Table Omika uniquement | PK automatique | +| `MRP_Nom` | MRP_Nom | — | Mémo texte | `string` | Table Omika uniquement | | +| `MRP_Modele` | MRP_Modele | — | Mémo binaire | `byte[]` | Table Omika uniquement | | +| `MRP_EnvoiMob` | Envoi vers Mobile | — | Booléen; défaut `0` | `bool` | Table Omika uniquement | | +| `MRP_Extra` | Rub extra ajouter manuellement | — | Mémo texte | `string` | Table Omika uniquement | | +| `CreationDate` | CreationDate | — | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Table Omika uniquement | | +| `CreationUser` | Créé par | — | Entier sur 8 octets; défaut `0` | `long` | Table Omika uniquement | | +| `ModifDate` | Modifié le | — | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Table Omika uniquement | | +| `ModifUser` | Utilisateur de modification | — | Entier sur 8 octets; défaut `0` | `long` | Table Omika uniquement | | + +<a id="modelerapportmob"></a> +### ModeleRapportMob + +- **Domaine :** Documents et messages +- **Présence :** Commun +- **Rôle fonctionnel probable :** Modèle historique de rapport mobile et liste de rubriques mobiles. +- **Fichier ancien :** `ModeleRapportMob.fic` +- **Fichier Omika :** `ModeleRapportMob.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `MRM_PKID` | Identifiant de ModeleRapportMob | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `MRM_Nom` | Nom | Chaîne; taille 30 | Chaîne; taille 30 | `string` | Commun | | +| `MRM_Modele` | Buffer Modele | Image (mémo binaire) | Image (mémo binaire) | `byte[]` | Commun | | +| `MRM_RubMob` | Rubriques mobiles | Mémo texte | Mémo texte | `string` | Commun | | + +<a id="motclef"></a> +### MotClef + +- **Domaine :** Documents et messages +- **Présence :** Commun +- **Rôle fonctionnel probable :** Mots-clés localisés utilisés pour les rapports, courriels ou remplacements de contenu. +- **Fichier ancien :** `MotClef.fic` +- **Fichier Omika :** `MotClef.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `MOC_PKID` | Identifiant de MotClef | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `MOC_Code` | Code Valeur | Chaîne; taille 20 | Chaîne; taille 20 | `string` | Commun | | +| `MOC_Mot` | Mot | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `MOC_Lib` | Libellé | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `MOC_Langue` | Langue | Chaîne; taille 3 | Chaîne; taille 3 | `string` | Commun | | +| `MOC_CodeMOC_Langue` | MOC_Code + MOC_Langue | Clé composée; taille 23 | Clé composée; taille 23 | `string en lecture seule / index technique` | Commun | clé composée technique; MOC_Code+MOC_Langue | +| `MOC_MotMOC_Langue` | MOC_Mot + MOC_Langue | Clé composée; taille 53 | Clé composée; taille 53 | `string en lecture seule / index technique` | Commun | clé composée technique; MOC_Mot+MOC_Langue | +| `MOC_Groupe` | Groupe de mots clés | Chaîne; taille 25 | Chaîne; taille 25 | `string` | Commun | | + +<a id="rubriquesdocument"></a> +### RubriquesDocument + +- **Domaine :** Documents et messages +- **Présence :** Omika uniquement +- **Rôle fonctionnel probable :** Métadonnées des rubriques utilisables dans les documents, rapports ou formulaires dynamiques. +- **Fichier ancien :** absent +- **Fichier Omika :** `RubriquesDocument.fic` +- **Groupe(s) ancien(s) :** sans objet +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `RD_PKID` | Identifiant de RubriquesDocument | — | Identifiant automatique (8 octets) | `long` | Table Omika uniquement | PK automatique | +| `RD_Nom` | Nom | — | Chaîne; taille 50 | `string` | Table Omika uniquement | | +| `RD_Description` | Description (Info pour l'utilisateur) | — | Mémo texte | `string` | Table Omika uniquement | | +| `RD_Rubrique` | Rubrique (variable dans document) | — | Chaîne; taille 35 | `string` | Table Omika uniquement | | +| `RD_TypeMembre` | Type membre | — | Chaîne; taille 20 | `string` | Table Omika uniquement | | +| `RD_MasqueSaisie` | Masque de saisie | — | Chaîne; taille 20 | `string` | Table Omika uniquement | | +| `RD_EnvoiMob` | Envoi Mobile ? | — | Booléen; défaut `0` | `bool` | Table Omika uniquement | | +| `RD_BD` | Donnée disponible dans les rq | — | Booléen; défaut `0` | `bool` | Table Omika uniquement | | +| `RD_Modifiable` | Modifiable ? | — | Booléen; défaut `0` | `bool` | Table Omika uniquement | | +| `RD_Groupe` | Groupe | — | Chaîne; taille 20 | `string` | Table Omika uniquement | | +| `RD_IdRubParent` | Id rubrique parent (Ex Tableau) | — | Entier non signé sur 8 octets | `ulong` | Table Omika uniquement | | +| `RD_MembreMob` | Nom de la variable qui stocke | — | Chaîne; taille 50 | `string` | Table Omika uniquement | | +| `RD_Ordre` | Ordre de présentation | — | Entier non signé sur 4 octets; défaut `0` | `uint` | Table Omika uniquement | | + +<a id="action"></a> +### Action + +- **Domaine :** Interventions +- **Présence :** Commun +- **Rôle fonctionnel probable :** Actions ou tâches rattachées à une intervention, avec date, heure, type, description et état clos. +- **Fichier ancien :** `Action.fic` +- **Fichier Omika :** `Action.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `AC_PKID` | Identifiant de Action | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `AC_DateAction` | Date de l'action | Date (aaaammjj) | Date (aaaammjj) | `DateOnly` | Commun | | +| `AC_HeureAction` | Heure de l'action | Heure (hhmm) | Heure (hhmm) | `TimeOnly` | Commun | | +| `AC_IDTypeAction` | Identifiant du type d'action (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine | +| `AC_IDIntervention` | Identifiant de l'Intervention | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `Intervention.IN_PKID`; FK déclarée (Omika) vers `Intervention.IN_PKID` | +| `AC_Description` | Description de l'action | Chaîne; taille 250 | Chaîne; taille 250 | `string` | Commun | | +| `AC_Clos` | L'action est Clos | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `AC_IDQui` | Identifiant de la personne | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `AC_IDImport` | Identifiant de l'import | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `AC_CleTypeAction` | Cle de type action | — | Chaîne; taille 16 | `string` | Ajout Omika | | + +**Liaisons impliquant la table :** + +- Isis_BO : `Intervention.IN_PKID -> Action.AC_IDIntervention` +- Omika : `Intervention.IN_PKID -> Action.AC_IDIntervention` + +<a id="checklist"></a> +### CheckList + +- **Domaine :** Interventions +- **Présence :** Commun +- **Rôle fonctionnel probable :** Éléments et groupes de checklist associés à une intervention ou à un modèle. +- **Fichier ancien :** `CheckList.fic` +- **Fichier Omika :** `CheckList.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `CHK_PKID` | Identifiant de CheckList | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique; parent déclaré (ancien) de `CheckList_Collab.CHC_IDCheckList`; parent déclaré (Omika) de `CheckList_Collab.CHC_IDCheckList` | +| `CHK_Nom` | Nom regoupant les éléments | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `CHK_Element` | Element de la checklist | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `CHK_Fait` | Indique si l'élément est fait | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `CHK_Ordre` | Ordre d'apparation de l'élément | Entier sur 4 octets; défaut `0` | Entier sur 4 octets; défaut `0` | `int` | Commun | | +| `CHK_IDModele` | Identifiant du modèle | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `CHK_IDIntervention` | Identifiant de Intervention | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `Intervention.IN_PKID`; FK déclarée (Omika) vers `Intervention.IN_PKID` | +| `CreationDate` | Créé le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Créé par | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `ModifDate` | Modifié le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `CHK_OrdreDuGroupe` | Ordre d'apparition du Groupe | Entier sur 4 octets; défaut `0` | Entier sur 4 octets; défaut `0` | `int` | Commun | | + +**Liaisons impliquant la table :** + +- Isis_BO : `CheckList.CHK_PKID -> CheckList_Collab.CHC_IDCheckList`; `Intervention.IN_PKID -> CheckList.CHK_IDIntervention` +- Omika : `CheckList.CHK_PKID -> CheckList_Collab.CHC_IDCheckList`; `Intervention.IN_PKID -> CheckList.CHK_IDIntervention` + +<a id="checklist-collab"></a> +### CheckList_Collab + +- **Domaine :** Interventions +- **Présence :** Commun +- **Rôle fonctionnel probable :** État de réalisation d'un élément de checklist pour un collaborateur. +- **Fichier ancien :** `CheckList_Collab.fic` +- **Fichier Omika :** `CheckList_Collab.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `CHC_PKID` | Identifiant de CheckList_Collab | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `CHC_IDCollaborateur` | Identifiant de Collaborateur | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `Collaborateur.CO_PKID`; FK déclarée (Omika) vers `Collaborateur.CO_PKID` | +| `CHC_IDCheckList` | Identifiant de CheckList | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `CheckList.CHK_PKID`; FK déclarée (Omika) vers `CheckList.CHK_PKID` | +| `CHC_Fait` | Indique l'élément de la checklist | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `CreationDate` | Créé le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Créé par | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `ModifDate` | Modifié le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | + +**Liaisons impliquant la table :** + +- Isis_BO : `CheckList.CHK_PKID -> CheckList_Collab.CHC_IDCheckList`; `Collaborateur.CO_PKID -> CheckList_Collab.CHC_IDCollaborateur` +- Omika : `CheckList.CHK_PKID -> CheckList_Collab.CHC_IDCheckList`; `Collaborateur.CO_PKID -> CheckList_Collab.CHC_IDCollaborateur` + +<a id="compterendu"></a> +### CompteRendu + +- **Domaine :** Interventions +- **Présence :** Commun +- **Rôle fonctionnel probable :** Compte rendu d'intervention ou de rendez-vous, notes, signatures et informations de conformité. +- **Fichier ancien :** `CompteRendu.fic` +- **Fichier Omika :** `CompteRendu.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` +- **Compatibilité :** Omika ajoute une clé de type de signataire et un GUID de rendez-vous; plusieurs champs historiques restent marqués zombie dans les traitements. + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `CR_PKID` | Identifiant de CompteRendu | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `CR_IDRdv` | Identifiant de Planning_RDV | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `CR_IDIntervention` | Identifiant de Intervention | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `GUID` | GUID | Chaîne; taille 32 | Chaîne; taille 32 | `string (32) en persistance; Guid? après validation` | Commun | | +| `CR_DateHeureDebut` | Date et Heure de Debut | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `CR_DateHeureFin` | Date et Heure de Fin | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `CR_NoteCollaborateur` | Note du collaborateur | Mémo texte | Mémo texte | `string` | Commun | | +| `CR_NomSignataire` | Nom du Signataire | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `CR_NoteSignataire` | Note Signataire | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `CR_DateHeureSignature` | Date et Heure de Signature | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CR_Signature` | Signature | Image (mémo binaire) | Image (mémo binaire) | `byte[]` | Commun | | +| `CreationDate` | Créé le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Créé par | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `ModifDate` | Modifié le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `CR_IDCollaborateur` | Identifiant de Collaborateur | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `CR_SignatureTech` | Signature du technicien | Image (mémo binaire) | Image (mémo binaire) | `byte[]` | Commun | | +| `CR_NomSignataireTech` | Nom du technicien Signataire | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `CR_DevisConforme` | Devis Conforme | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `CR_AvecReserve` | Avec Réserve | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `CR_ReserveCommentaire` | Commentaire de Réserve | Chaîne; taille 100 | Chaîne; taille 100 | `string` | Commun | | +| `CR_IDTypeSignataire` | Identifiant du TypeSignataire (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `CR_CleTypeSignataire` | CleType du Signataire | — | Chaîne; taille 16 | `string` | Ajout Omika | | +| `CR_GUID_Rdv` | GUID du Rdv | — | Chaîne; taille 32 | `string (32) en persistance; Guid? après validation` | Ajout Omika | | + +<a id="dossier"></a> +### Dossier + +- **Domaine :** Interventions +- **Présence :** Commun +- **Rôle fonctionnel probable :** Dossier client regroupant des interventions, références, statut, type et société. +- **Fichier ancien :** `Dossier.fic` +- **Fichier Omika :** `Dossier.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` +- **Index full-text documenté :** ancien : Index full-text DO_Index_FullText (Rubriques : DO_Titre, DO_RefInterne, DO_RefExterne, DO_NumDossier) ; Omika : Index full-text DO_Index_FullText (Rubriques : DO_Titre, DO_RefInterne, DO_RefExterne, DO_NumDossier) +- **Compatibilité :** Omika ajoute des clés de type/statut et un GUID. Le champ numérique de type est zombie; le statut numérique doit aussi être considéré transitoire. + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `DO_PKID` | Identifiant de DOSSIER | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique; parent déclaré (ancien) de `Intervention.IN_IDDossier`; parent déclaré (Omika) de `Intervention.IN_IDDossier` | +| `DO_IDClient` | Identifiant de CLIENT | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `Client.CL_PKID`; FK déclarée (Omika) vers `Client.CL_PKID` | +| `DO_IDTypeDossier` | Type de Dossier (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine | +| `DO_Titre` | Titre du Dossier | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `DO_IDStatut` | Identifiant du Statut du dossier | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `DO_RefInterne` | Référence interne du dossier | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `DO_RefExterne` | Référence externe du dossier | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `CreationDate` | Date de création | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Utilisateur de création | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `ModifDate` | Date de Modification | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `DO_IDImport` | Identifiant Import | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `DO_IDSociete` | Identifiant de SOCIETE | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `DO_DateDebut` | Date de début du dossier | Date (aaaammjj) | Date (aaaammjj) | `DateOnly` | Commun | | +| `Archive` | Enregistrement Archivée | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `DateArchivage` | Date d'archivage | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `DO_NumDossier` | NumDossier | Chaîne; taille 6 | Chaîne; taille 6 | `string` | Commun | | +| `DO_CleType` | Cle Type de dossier | — | Chaîne; taille 16 | `string` | Ajout Omika | | +| `DO_CleStatut` | Cle Statut | — | Chaîne; taille 16 | `string` | Ajout Omika | | +| `GUID` | GUID | — | Chaîne; taille 32 | `string (32) en persistance; Guid? après validation` | Ajout Omika | | + +**Liaisons impliquant la table :** + +- Isis_BO : `Client.CL_PKID -> Dossier.DO_IDClient`; `Dossier.DO_PKID -> Intervention.IN_IDDossier` +- Omika : `Client.CL_PKID -> Dossier.DO_IDClient`; `Dossier.DO_PKID -> Intervention.IN_IDDossier` + +<a id="etatintervention"></a> +### EtatIntervention + +- **Domaine :** Interventions +- **Présence :** Commun +- **Rôle fonctionnel probable :** Historique des états d'une intervention, avec période et description. +- **Fichier ancien :** `EtatIntervention.fic` +- **Fichier Omika :** `EtatIntervention.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `EI_PKID` | Identifiant de | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `EI_IDEtat` | Identifiant de Etat d'intervention | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `EI_DateDebut` | Date début | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `EI_DateFin` | Date fin | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `EI_Description` | Description de l'intervention pour | Mémo texte | Mémo texte | `string` | Commun | | +| `EI_IDIntervention` | Identifiant de Intervention | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `Intervention.IN_PKID`; FK déclarée (Omika) vers `Intervention.IN_PKID` | +| `EI_CleEtat` | Cle Etat d'intervention | — | Chaîne; taille 16 | `string` | Ajout Omika | | + +**Liaisons impliquant la table :** + +- Isis_BO : `Intervention.IN_PKID -> EtatIntervention.EI_IDIntervention` +- Omika : `Intervention.IN_PKID -> EtatIntervention.EI_IDIntervention` + +<a id="intervention"></a> +### Intervention + +- **Domaine :** Interventions +- **Présence :** Commun +- **Rôle fonctionnel probable :** Intervention métier : dossier, client, site, type, état, dates, devis, facture et suivi. +- **Fichier ancien :** `Intervention.fic` +- **Fichier Omika :** `Intervention.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` +- **Index full-text documenté :** ancien : Index full-text ; Omika : Index full-text +- **Compatibilité :** Omika ajoute des clés de type/état et un GUID, tout en conservant les anciens identifiants numériques comme champs transitoires. + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `IN_PKID` | Identifiant de Intervention | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique; parent déclaré (ancien) de `Action.AC_IDIntervention`; parent déclaré (ancien) de `CheckList.CHK_IDIntervention`; parent déclaré (ancien) de `Intervention_Collaborateur.IC_IDIntervention`; parent déclaré (ancien) de `EtatIntervention.EI_IDIntervention`; parent déclaré (ancien) de `Intervention_BddExterne.INX_IDIntervention`; parent déclaré (ancien) de `MessageExterne.ME_IDIntervention`; parent déclaré (ancien) de `Intervention_ChampLibre.ICL_IDIntervention`; parent déclaré (ancien) de `MessageInterne.MI_IDIntervention`; parent déclaré (ancien) de `SuiviDesTemps.SDT_IDIntervention`; parent déclaré (Omika) de `Action.AC_IDIntervention`; parent déclaré (Omika) de `CheckList.CHK_IDIntervention`; parent déclaré (Omika) de `EtatIntervention.EI_IDIntervention`; parent déclaré (Omika) de `Intervention_BddExterne.INX_IDIntervention`; parent déclaré (Omika) de `MessageExterne.ME_IDIntervention`; parent déclaré (Omika) de `Intervention_ChampLibre.ICL_IDIntervention`; parent déclaré (Omika) de `MessageInterne.MI_IDIntervention`; parent déclaré (Omika) de `SuiviDesTemps.SDT_IDIntervention` | +| `IN_IDTypeIntervention` | Type d'Intervention (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `IN_IDEtatIntervention` | l'état de l'Intervention (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `IN_IDSuiviPar` | Identifiant du Collaborateur | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `IN_IDDossier` | Identifiant de Dossier | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `Dossier.DO_PKID`; FK déclarée (Omika) vers `Dossier.DO_PKID` | +| `IN_IDDemandeur` | Identifiant du DEMANDEUR | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `IN_IDClient` | Identifiant de Client | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `IN_IDLieu` | Identifiant de Lieu | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `IN_Description` | Description de l'intervention | Mémo texte | Mémo texte | `string` | Commun | | +| `IN_AttestationTVAPresente` | Attestation TVA présentée | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `IN_NoteInterne` | Note Interne | Mémo texte | Mémo texte | `string` | Commun | | +| `CreationDate` | Date de création | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Utilisateur de création | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `ModifDate` | Date de Modification | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `IN_Titre` | Titre de l'intervention | Chaîne; taille 51 | Chaîne; taille 51 | `string` | Commun | | +| `IN_RefInterne` | Référence interne de l'intervention | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `IN_RefExterne` | Référence externe de l'interne | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `IN_IDImport` | Identifiant Import | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `IN_IDSociete` | Identifiant de Societe | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `Archive` | Enregistrement Archivée | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `DateArchivage` | Date d'archivage | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `IN_DateIntervention` | Date d'Intervention | Date (aaaammjj) | Date (aaaammjj) | `DateOnly` | Commun | | +| `IN_DureePrevue` | Durée prévue d'intervention | Réel sur 4 octets; défaut `0` | Réel sur 4 octets; défaut `0` | `float` | Commun | | +| `IN_NumDevis` | Numéro du devis | Chaîne; taille 20 | Chaîne; taille 20 | `string` | Commun | | +| `IN_DateDevis` | Date du devis | Date (aaaammjj) | Date (aaaammjj) | `DateOnly` | Commun | | +| `IN_NumFacture` | Numéro de la facture | Chaîne; taille 20 | Chaîne; taille 20 | `string` | Commun | | +| `IN_DateFacture` | Date de la facture | Date (aaaammjj) | Date (aaaammjj) | `DateOnly` | Commun | | +| `IN_NumIntervention` | IN_NumIntervention | Chaîne; taille 6 | Chaîne; taille 6 | `string` | Commun | | +| `IN_CleType` | Clé Type d'intervention | — | Chaîne; taille 16 | `string` | Ajout Omika | | +| `IN_CleEtat` | Clé état d'intervention | — | Chaîne; taille 16 | `string` | Ajout Omika | | +| `GUID` | GUID | — | Chaîne; taille 32 | `string (32) en persistance; Guid? après validation` | Ajout Omika | | + +**Liaisons impliquant la table :** + +- Isis_BO : `Intervention.IN_PKID -> Action.AC_IDIntervention`; `Intervention.IN_PKID -> CheckList.CHK_IDIntervention`; `Dossier.DO_PKID -> Intervention.IN_IDDossier`; `Intervention.IN_PKID -> Intervention_Collaborateur.IC_IDIntervention`; `Intervention.IN_PKID -> EtatIntervention.EI_IDIntervention`; `Intervention.IN_PKID -> Intervention_BddExterne.INX_IDIntervention`; `Intervention.IN_PKID -> MessageExterne.ME_IDIntervention`; `Intervention.IN_PKID -> Intervention_ChampLibre.ICL_IDIntervention`; `Intervention.IN_PKID -> MessageInterne.MI_IDIntervention`; `Intervention.IN_PKID -> SuiviDesTemps.SDT_IDIntervention` +- Omika : `Intervention.IN_PKID -> Action.AC_IDIntervention`; `Intervention.IN_PKID -> CheckList.CHK_IDIntervention`; `Dossier.DO_PKID -> Intervention.IN_IDDossier`; `Intervention.IN_PKID -> EtatIntervention.EI_IDIntervention`; `Intervention.IN_PKID -> Intervention_BddExterne.INX_IDIntervention`; `Intervention.IN_PKID -> MessageExterne.ME_IDIntervention`; `Intervention.IN_PKID -> Intervention_ChampLibre.ICL_IDIntervention`; `Intervention.IN_PKID -> MessageInterne.MI_IDIntervention`; `Intervention.IN_PKID -> SuiviDesTemps.SDT_IDIntervention` + +<a id="intervention-champlibre"></a> +### Intervention_ChampLibre + +- **Domaine :** Interventions +- **Présence :** Commun +- **Rôle fonctionnel probable :** Valeur d'un paramètre ou champ libre pour une intervention. +- **Fichier ancien :** `Intervention_ChampLibre.fic` +- **Fichier Omika :** `Intervention_ChampLibre.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `ICL_PKID` | Identifiant de | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `ICL_IDIntervention_ICL_IDParametreM` | Identifiant de | Clé composée; taille 16 | Clé composée; taille 16 | `string en lecture seule / index technique` | Commun | clé composée technique; ICL_IDIntervention+ICL_IDParametreMetier | +| `ICL_IDIntervention` | Identifiant de Intervention | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `Intervention.IN_PKID`; FK déclarée (Omika) vers `Intervention.IN_PKID` | +| `ICL_IDParametreMetier` | Identifiant de ParametreMetier | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `ParametreMetier.PA_PKID`; FK déclarée (Omika) vers `ParametreMetier.PA_PKID` | +| `ICL_ValeurDuChamp` | Valeur Du Champ | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `CreationDate` | Créé le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Créé par | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `ModifDate` | Modifié le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | + +**Liaisons impliquant la table :** + +- Isis_BO : `Intervention.IN_PKID -> Intervention_ChampLibre.ICL_IDIntervention`; `ParametreMetier.PA_PKID -> Intervention_ChampLibre.ICL_IDParametreMetier` +- Omika : `Intervention.IN_PKID -> Intervention_ChampLibre.ICL_IDIntervention`; `ParametreMetier.PA_PKID -> Intervention_ChampLibre.ICL_IDParametreMetier` + +<a id="intervention-collaborateur"></a> +### Intervention_Collaborateur + +- **Domaine :** Interventions +- **Présence :** Ancien uniquement +- **Rôle fonctionnel probable :** Association historique entre une intervention et un collaborateur ; absente du nouveau schéma. +- **Fichier ancien :** `Intervention_Collaborateur.fic` +- **Fichier Omika :** absent +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** sans objet +- **Compatibilité :** Table uniquement ancienne. Son remplacement fonctionnel n'est pas une simple table homonyme : Omika utilise le nouvel agrégat RDV et ses affectations collaborateurs. + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `IC_PKID` | Identifiant de | Identifiant automatique (8 octets) | — | `long` | Table Isis_BO uniquement | PK automatique | +| `IC_IDIntervention` | Identifiant de Intervention | Entier sur 8 octets; défaut `0` | — | `long` | Table Isis_BO uniquement | FK déclarée (ancien) vers `Intervention.IN_PKID` | +| `IC_IDCollaborateur` | Identifiant de Collaborateur | Entier sur 8 octets; défaut `0` | — | `long` | Table Isis_BO uniquement | FK déclarée (ancien) vers `Collaborateur.CO_PKID` | +| `CreationDate` | Créé le | Date et Heure (aaaammjjhhmmssccc) | — | `DateTime` | Table Isis_BO uniquement | | +| `CreationUser` | Créé par | Entier sur 8 octets; défaut `0` | — | `long` | Table Isis_BO uniquement | | +| `ModifDate` | Modifié le | Date et Heure (aaaammjjhhmmssccc) | — | `DateTime` | Table Isis_BO uniquement | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | — | `long` | Table Isis_BO uniquement | | + +**Liaisons impliquant la table :** + +- Isis_BO : `Collaborateur.CO_PKID -> Intervention_Collaborateur.IC_IDCollaborateur`; `Intervention.IN_PKID -> Intervention_Collaborateur.IC_IDIntervention` + +<a id="intervention-personne"></a> +### Intervention_Personne + +- **Domaine :** Interventions +- **Présence :** Commun +- **Rôle fonctionnel probable :** Association entre une intervention et une personne, avec rôle, demandeur, étage et lot. +- **Fichier ancien :** `Intervention_Personne.fic` +- **Fichier Omika :** `Intervention_Personne.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `IP_PKID` | Identifiant de Intervention_Personne | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `IP_IDIntervention` | Identifiant de Intervention | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `IP_IDPersonne` | Identifiant de Personne | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `IP_IDClient` | Identifiant de Client | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `IP_IDLieu` | Identifiant de Lieu | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `IP_IDRole` | Role de la personne dans l'intervention | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `IP_IDImport` | Identifiant Import | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `IP_EstDemandeur` | La personne est le demandeur sur | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `IP_Etage` | Etage où se situe l'occupant | Chaîne; taille 10; défaut `0` | Chaîne; taille 10; défaut `0` | `string` | Commun | | +| `IP_Lot` | Lot concerné | Chaîne; taille 25 | Chaîne; taille 25 | `string` | Commun | | +| `CreationDate` | Créé le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Créé par | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `ModifDate` | Modifié le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `IP_CleRole` | Clé du Role de la personne dans | — | Chaîne; taille 16 | `string` | Ajout Omika | | + +<a id="bddexterne"></a> +### BddExterne + +- **Domaine :** Intégrations et audit +- **Présence :** Commun +- **Rôle fonctionnel probable :** Configuration d'une base ou d'un système externe, généralement par société, avec paramètres sérialisés. +- **Fichier ancien :** `BddExterne.fic` +- **Fichier Omika :** `BddExterne.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `BSX_PKID` | Identifiant de Base_Ext | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique; parent déclaré (ancien) de `Intervention_BddExterne.INX_IDBddExterne`; parent déclaré (ancien) de `Client_BddExterne.CLX_IDBddExterne`; parent déclaré (Omika) de `Intervention_BddExterne.INX_IDBddExterne`; parent déclaré (Omika) de `Client_BddExterne.CLX_IDBddExterne` | +| `BSX_Nom` | Nom | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `BSX_Param` | Paramètres JSON | Mémo texte | Mémo texte | `string` | Commun | | +| `CreationDate` | Créé le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifDate` | Modifié le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `CreationUser` | Créé par | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `BSX_IDSociete` | Identifiant de la Société | Entier sur 8 octets | Entier sur 8 octets | `long` | Commun | | + +**Liaisons impliquant la table :** + +- Isis_BO : `BddExterne.BSX_PKID -> Intervention_BddExterne.INX_IDBddExterne`; `BddExterne.BSX_PKID -> Client_BddExterne.CLX_IDBddExterne` +- Omika : `BddExterne.BSX_PKID -> Intervention_BddExterne.INX_IDBddExterne`; `BddExterne.BSX_PKID -> Client_BddExterne.CLX_IDBddExterne` + +<a id="client-bddexterne"></a> +### Client_BddExterne + +- **Domaine :** Intégrations et audit +- **Présence :** Commun +- **Rôle fonctionnel probable :** Correspondance entre un client local et son identifiant dans une base externe. +- **Fichier ancien :** `Client_BddExterne.fic` +- **Fichier Omika :** `Client_BddExterne.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `CLX_PKID` | Identifiant de Client_Ext | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `CLX_IDCLient` | ID CLient | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `Client.CL_PKID`; FK déclarée (Omika) vers `Client.CL_PKID` | +| `CLX_IDExterne` | ID Externe | Chaîne; taille 30 | Chaîne; taille 30 | `string` | Commun | | +| `CLX_DateSynchro` | Date Heure dernière synchro | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CLX_IDBddExterne` | ID Bdd externe | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `BddExterne.BSX_PKID`; FK déclarée (Omika) vers `BddExterne.BSX_PKID` | +| `CreationDate` | Créé le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Créé par | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `ModifDate` | Modifié le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `CLX_IDBddExterneCLX_IDCLient` | CLX_IDBddExterneCLX_I \| CLX_IDBddExterne + CLX_IDCLient | Clé composée; taille 16 | Clé composée; taille 16 | `string en lecture seule / index technique` | Commun | clé composée technique; CLX_IDBddExterne+CLX_IDCLient | + +**Liaisons impliquant la table :** + +- Isis_BO : `BddExterne.BSX_PKID -> Client_BddExterne.CLX_IDBddExterne`; `Client.CL_PKID -> Client_BddExterne.CLX_IDCLient` +- Omika : `BddExterne.BSX_PKID -> Client_BddExterne.CLX_IDBddExterne`; `Client.CL_PKID -> Client_BddExterne.CLX_IDCLient` + +<a id="elementmodifie"></a> +### ElementModifie + +- **Domaine :** Intégrations et audit +- **Présence :** Omika uniquement +- **Rôle fonctionnel probable :** Journal technique Omika des enregistrements modifiés. +- **Fichier ancien :** absent +- **Fichier Omika :** `elementmodifie.fic` +- **Groupe(s) ancien(s) :** sans objet +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `EM_PKID` | Identifiant de ElementModifie | — | Identifiant automatique (8 octets) | `long` | Table Omika uniquement | PK automatique | +| `EM_Fichier` | Fichier | — | Chaîne; taille 50 | `string` | Table Omika uniquement | | +| `EM_Date` | Date de modification | — | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Table Omika uniquement | | +| `EM_IdUser` | Id User | — | Entier non signé sur 8 octets; défaut `0` | `ulong` | Table Omika uniquement | | +| `EM_IdEnrg` | Id de l'enregistrement | — | Entier non signé sur 8 octets; défaut `0` | `ulong` | Table Omika uniquement | | + +<a id="elementsupprime"></a> +### ElementSupprime + +- **Domaine :** Intégrations et audit +- **Présence :** Omika uniquement +- **Rôle fonctionnel probable :** Journal technique Omika des enregistrements supprimés. +- **Fichier ancien :** absent +- **Fichier Omika :** `elementsupprime.fic` +- **Groupe(s) ancien(s) :** sans objet +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `ES_PKID` | Identifiant de ElementSupprime | — | Identifiant automatique (8 octets) | `long` | Table Omika uniquement | PK automatique | +| `ES_NumEnrg` | Numéro d'enregistrement | — | Entier non signé sur 8 octets; défaut `0` | `ulong` | Table Omika uniquement | | +| `ES_IdEnrg` | Id enregistrement | — | Entier non signé sur 8 octets; défaut `0` | `ulong` | Table Omika uniquement | | +| `ES_Fichier` | Nom du fichier | — | Chaîne; taille 40 | `string` | Table Omika uniquement | | +| `ES_IdUser` | Id User | — | Entier non signé sur 8 octets; défaut `0` | `ulong` | Table Omika uniquement | | +| `ES_DateHeure` | Date Heure suppression | — | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Table Omika uniquement | | +| `ES_NumEnr_Id` | Numéro d'enregistrement plus ID | — | Chaîne; taille 50 | `string` | Table Omika uniquement | | + +<a id="intervention-bddexterne"></a> +### Intervention_BddExterne + +- **Domaine :** Intégrations et audit +- **Présence :** Commun +- **Rôle fonctionnel probable :** Correspondance entre une intervention locale et une intervention d'une base externe. +- **Fichier ancien :** `Intervention_BddExterne.fic` +- **Fichier Omika :** `Intervention_BddExterne.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `INX_PKID` | Identifiant de Intervention_Ext | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `INX_IDIntervention` | INX_IDIntervention | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `Intervention.IN_PKID`; FK déclarée (Omika) vers `Intervention.IN_PKID` | +| `INX_IDExterne` | INX_IDExterne | Chaîne; taille 30 | Chaîne; taille 30 | `string` | Commun | | +| `INX_IDBddExterne` | Id bdd externe | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `BddExterne.BSX_PKID`; FK déclarée (Omika) vers `BddExterne.BSX_PKID` | +| `ModifDate` | Modifié le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `CreationDate` | Créé le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Créé par | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `INX_IDBaseExtINX_IDIntervention` | INX_IDBaseExtINX_IDIn \| INX_IDBaseExt + INX_IDIntervention | Clé composée; taille 16 | Clé composée; taille 16 | `string en lecture seule / index technique` | Commun | clé composée technique; INX_IDBddExterne+INX_IDIntervention | + +**Liaisons impliquant la table :** + +- Isis_BO : `BddExterne.BSX_PKID -> Intervention_BddExterne.INX_IDBddExterne`; `Intervention.IN_PKID -> Intervention_BddExterne.INX_IDIntervention` +- Omika : `BddExterne.BSX_PKID -> Intervention_BddExterne.INX_IDBddExterne`; `Intervention.IN_PKID -> Intervention_BddExterne.INX_IDIntervention` + +<a id="mobile"></a> +### Mobile + +- **Domaine :** Intégrations et audit +- **Présence :** Commun +- **Rôle fonctionnel probable :** Terminal mobile enregistré, identifié par numéro de série et utilisateur. +- **Fichier ancien :** `Mobile.fic` +- **Fichier Omika :** `Mobile.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `MOB_PKID` | Identifiant de Mobile | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `MOB_NumSerie` | MOB_NumSerie | Chaîne; taille 100 | Chaîne; taille 100 | `string` | Commun | | +| `MOB_NomPersonne` | MOB_NomPersonne | Chaîne; taille 100 | Chaîne; taille 100 | `string` | Commun | | + +<a id="moblog"></a> +### MobLog + +- **Domaine :** Intégrations et audit +- **Présence :** Commun +- **Rôle fonctionnel probable :** Journal de messages ou événements mobiles. +- **Fichier ancien :** `MobLog.fic` +- **Fichier Omika :** `MobLog.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `ML_PKID` | Identifiant de MobLog | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `ML_DateCreat` | DateHeure | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ML_Message` | Message | Mémo texte | Mémo texte | `string` | Commun | | +| `ML_Niveau` | ML_Niveau | Entier sur 1 octet; défaut `0` | Entier sur 1 octet; défaut `0` | `sbyte` | Commun | | + +<a id="mobreception"></a> +### MobReception + +- **Domaine :** Intégrations et audit +- **Présence :** Commun +- **Rôle fonctionnel probable :** File de réception des commandes et données envoyées par les terminaux mobiles. +- **Fichier ancien :** `MobReception.fic` +- **Fichier Omika :** `MobReception.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `MR_PKID` | Identifiant de MobReception | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `MR_IDToSRV` | MR_IDToSRV | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `MR_JSON` | JSON | Mémo texte | Mémo texte | `string` | Commun | | +| `MR_CMD` | Commande | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `MR_Buffer` | Buffer | Image (mémo binaire) | Image (mémo binaire) | `byte[]` | Commun | | +| `MR_NumSerie` | Numéro de Série | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `MR_Fait` | Fait | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `MR_DateHeureRecep` | DateHeure de Réception | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | + +<a id="collaborateur"></a> +### Collaborateur + +- **Domaine :** Organisation +- **Présence :** Commun +- **Rôle fonctionnel probable :** Collaborateur ou technicien planifiable, avec coordonnées, statut, accès et pondération. +- **Fichier ancien :** `Collaborateur.fic` +- **Fichier Omika :** `Collaborateur.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` +- **Index full-text documenté :** ancien : Index full-text ; Omika : Index full-text +- **Compatibilité :** Omika ajoute les clés de civilité/statut et un GUID; les identifiants numériques correspondants deviennent zombie. + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `CO_PKID` | Identifiant de Collaboteur | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique; parent déclaré (ancien) de `CheckList_Collab.CHC_IDCollaborateur`; parent déclaré (ancien) de `Equipe_Collaborateur.EC_IDCollaborateur`; parent déclaré (ancien) de `Intervention_Collaborateur.IC_IDCollaborateur`; parent déclaré (ancien) de `Societe_Collaborateur.SC_IDCollaborateur`; parent déclaré (Omika) de `CheckList_Collab.CHC_IDCollaborateur`; parent déclaré (Omika) de `Equipe_Collaborateur.EC_IDCollaborateur`; parent déclaré (Omika) de `Societe_Collaborateur.SC_IDCollaborateur` | +| `CO_IDCivilite` | civilité du collaborateur (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `CO_Nom` | CO_Nom | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `CO_Prenom` | CO_Prenom | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `CO_TelFixe` | CO_TelFixe | Chaîne; taille 15 | Chaîne; taille 15 | `string` | Commun | | +| `CO_TelMobile` | CO_TelMobile | Chaîne; taille 15 | Chaîne; taille 15 | `string` | Commun | | +| `CO_Email` | CO_Email | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `CO_Fonction` | Fonction du collaborateur | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `CreationDate` | Date de création | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Utilisateur de création | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `ModifDate` | Date de Modification | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `CO_AuPlanning` | Indique qu'on gère le planning pour ce | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `CO_Actif` | Collaborateur Actif | Booléen; défaut `1` | Booléen; défaut `1` | `bool` | Commun | | +| `CO_IDImport` | Identifiant d'Import | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `CO_Ponderation` | Pondération sur le collaborateur | Réel sur 4 octets; défaut `0` | Réel sur 4 octets; défaut `0` | `float` | Commun | | +| `CO_Trigramme` | Trigramme | Chaîne; taille 3 | Chaîne; taille 3 | `string` | Commun | | +| `CO_IDStatut` | Statut du collaborateur (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `CO_AccesBO` | Utilise le Back-Office | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `CO_AccesMobile` | Utilise le Mobile | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `CO_CleCivilite` | Cle Civilite | — | Chaîne; taille 16 | `string` | Ajout Omika | | +| `CO_CleStatut` | Cle Statut | — | Chaîne; taille 16 | `string` | Ajout Omika | | +| `GUID` | GUID | — | Chaîne; taille 32 | `string (32) en persistance; Guid? après validation` | Ajout Omika | | + +**Liaisons impliquant la table :** + +- Isis_BO : `Collaborateur.CO_PKID -> CheckList_Collab.CHC_IDCollaborateur`; `Collaborateur.CO_PKID -> Equipe_Collaborateur.EC_IDCollaborateur`; `Collaborateur.CO_PKID -> Intervention_Collaborateur.IC_IDCollaborateur`; `Collaborateur.CO_PKID -> Societe_Collaborateur.SC_IDCollaborateur` +- Omika : `Collaborateur.CO_PKID -> CheckList_Collab.CHC_IDCollaborateur`; `Collaborateur.CO_PKID -> Equipe_Collaborateur.EC_IDCollaborateur`; `Collaborateur.CO_PKID -> Societe_Collaborateur.SC_IDCollaborateur` + +<a id="equipe"></a> +### Equipe + +- **Domaine :** Organisation +- **Présence :** Commun +- **Rôle fonctionnel probable :** Équipe de collaborateurs rattachée à une société. +- **Fichier ancien :** `Equipe.fic` +- **Fichier Omika :** `Equipe.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `EQ_PKID` | Identifiant de Equipe | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique; parent déclaré (ancien) de `Equipe_Collaborateur.EC_IDEquipe`; parent déclaré (Omika) de `Equipe_Collaborateur.EC_IDEquipe` | +| `EQ_Nom` | Nom de l'équipe | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `EQ_IDSociete` | SO_PKID | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `Societe.SO_PKID`; FK déclarée (Omika) vers `Societe.SO_PKID` | +| `CreationDate` | Date de création | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Utilisateur de création | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `ModifDate` | Date de Modification | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | + +**Liaisons impliquant la table :** + +- Isis_BO : `Equipe.EQ_PKID -> Equipe_Collaborateur.EC_IDEquipe`; `Societe.SO_PKID -> Equipe.EQ_IDSociete` +- Omika : `Equipe.EQ_PKID -> Equipe_Collaborateur.EC_IDEquipe`; `Societe.SO_PKID -> Equipe.EQ_IDSociete` + +<a id="equipe-collaborateur"></a> +### Equipe_Collaborateur + +- **Domaine :** Organisation +- **Présence :** Commun +- **Rôle fonctionnel probable :** Association d'appartenance d'un collaborateur à une équipe. +- **Fichier ancien :** `Equipe_Collaborateur.fic` +- **Fichier Omika :** `Equipe_Collaborateur.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `EC_PKID` | Identifiant de Equipe_Collaborateur | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `EC_IDCollaborateur` | Identifiant de Collaborateur | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `Collaborateur.CO_PKID`; FK déclarée (Omika) vers `Collaborateur.CO_PKID` | +| `EC_IDEquipe` | Identifiant de Equipe | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `Equipe.EQ_PKID`; FK déclarée (Omika) vers `Equipe.EQ_PKID` | +| `EC_IDEquipe_EC_IDCollaborateur` | EC_IDEquipe_EC_IDColla Identifiant de Equipe_Collaborateur | Clé composée; taille 16 | Clé composée; taille 16 | `string en lecture seule / index technique` | Commun | clé composée technique; EC_IDEquipe+EC_IDCollaborateur | +| `CreationDate` | Date de création | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Utilisateur de création | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `ModifDate` | Date de Modification | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | + +**Liaisons impliquant la table :** + +- Isis_BO : `Collaborateur.CO_PKID -> Equipe_Collaborateur.EC_IDCollaborateur`; `Equipe.EQ_PKID -> Equipe_Collaborateur.EC_IDEquipe` +- Omika : `Collaborateur.CO_PKID -> Equipe_Collaborateur.EC_IDCollaborateur`; `Equipe.EQ_PKID -> Equipe_Collaborateur.EC_IDEquipe` + +<a id="societe"></a> +### Societe + +- **Domaine :** Organisation +- **Présence :** Commun +- **Rôle fonctionnel probable :** Société ou entité de rattachement, avec identité, coordonnées, logo et paramètres. +- **Fichier ancien :** `Societe.fic` +- **Fichier Omika :** `Societe.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` +- **Compatibilité :** La taille de `SO_SIRET` passe de 50 à 20 caractères et Omika ajoute `SO_SIREN` et `GUID`. + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `SO_PKID` | Identifiant de Societe | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique; FR: Identifiant unique du fichier Societe; parent déclaré (ancien) de `Societe_Collaborateur.SC_IDCSociete`; parent déclaré (ancien) de `Equipe.EQ_IDSociete`; parent déclaré (Omika) de `Societe_Collaborateur.SC_IDCSociete`; parent déclaré (Omika) de `Equipe.EQ_IDSociete` | +| `SO_Nom` | Nom | Chaîne; taille 80 | Chaîne; taille 80 | `string` | Commun | FR: Nom de la société (Raison sociale) | +| `SO_SIRET` | SIRET | Chaîne; taille 50 | Chaîne; taille 20 | `string` | Commun, définition différente | FR: SIRET de la société | +| `SO_Tel` | Téléphone | Chaîne; taille 25 | Chaîne; taille 25 | `string` | Commun | FR: Téléphone de la société | +| `SO_FAX / SO_Fax` | Fax | Chaîne; taille 25 | Chaîne; taille 25 | `string` | Commun, variation de casse | FR: Fax de la société | +| `SO_Email` | Email | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | FR: Email de la société | +| `SO_SiteWeb` | Site Web | Chaîne; taille 100 | Chaîne; taille 100 | `string` | Commun | FR: Site Web de la société | +| `SO_IDAdressePrincipale` | Adresse principale | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FR: Identifiant unique dans le fichier Adresse permettant de référencer l'adresse principale de la société; FK déclarée (ancien) vers `Adresse.AD_PKID`; FK déclarée (Omika) vers `Adresse.AD_PKID` | +| `CreationDate` | Date de création | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | FR: Date de création de l'enregistrement | +| `CreationUser` | Utilisateur de création | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FR: Utilisateur qui a créé l'enregistrement | +| `ModifDate` | Date de Modification | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | FR: Date de Modification de l'enregistrement | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FR: Utilisateur qui a modifié l'enregistrement | +| `SO_IDImport` | Identifiant d'import | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `SO_Logo` | Logo de la société | Image (mémo binaire) | Image (mémo binaire) | `byte[]` | Commun | | +| `so_parametres / SO_Parametres` | Paramètres société | Mémo texte | Mémo texte | `string` | Commun, variation de casse | | +| `SO_Archive` | SO_Archive | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `GUID` | GUID | — | Chaîne; taille 32 | `string (32) en persistance; Guid? après validation` | Ajout Omika | | +| `SO_SIREN` | SIREN | — | Chaîne; taille 20 | `string` | Ajout Omika | | + +**Liaisons impliquant la table :** + +- Isis_BO : `Adresse.AD_PKID -> Societe.SO_IDAdressePrincipale`; `Societe.SO_PKID -> Societe_Collaborateur.SC_IDCSociete`; `Societe.SO_PKID -> Equipe.EQ_IDSociete` +- Omika : `Adresse.AD_PKID -> Societe.SO_IDAdressePrincipale`; `Societe.SO_PKID -> Societe_Collaborateur.SC_IDCSociete`; `Societe.SO_PKID -> Equipe.EQ_IDSociete` + +<a id="societe-collaborateur"></a> +### Societe_Collaborateur + +- **Domaine :** Organisation +- **Présence :** Commun +- **Rôle fonctionnel probable :** Association entre une société et un collaborateur. +- **Fichier ancien :** `Societe_Collaborateur.fic` +- **Fichier Omika :** `Societe_Collaborateur.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `SC_PKID` | Identifiant de Societe_Collaborateur | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `SC_IDCollaborateur` | Identifiant de Collaborateur | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `Collaborateur.CO_PKID`; FK déclarée (Omika) vers `Collaborateur.CO_PKID` | +| `SC_IDCSociete` | Identifiant de Societe | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `Societe.SO_PKID`; FK déclarée (Omika) vers `Societe.SO_PKID` | +| `SC_IDCSoc_IDCol` | SC_IDCSociete + SC_IDCollaborateur | Clé composée; taille 16 | Clé composée; taille 16 | `string en lecture seule / index technique` | Commun | clé composée technique; SC_IDCSociete+SC_IDCollaborateur | +| `SC_IDCSociete_SC_IDCollaborateur` | SC_IDCSociete_SC_IDCol Identifiant de Societe_Collaborateur | Clé composée; taille 16 | Clé composée; taille 16 | `string en lecture seule / index technique` | Commun | clé composée technique; SC_IDCSociete+SC_IDCollaborateur | +| `CreationDate` | Date de création | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Utilisateur de création | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `ModifDate` | Date de Modification | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | + +**Liaisons impliquant la table :** + +- Isis_BO : `Collaborateur.CO_PKID -> Societe_Collaborateur.SC_IDCollaborateur`; `Societe.SO_PKID -> Societe_Collaborateur.SC_IDCSociete` +- Omika : `Collaborateur.CO_PKID -> Societe_Collaborateur.SC_IDCollaborateur`; `Societe.SO_PKID -> Societe_Collaborateur.SC_IDCSociete` + +<a id="compteur"></a> +### Compteur + +- **Domaine :** Paramétrage +- **Présence :** Commun +- **Rôle fonctionnel probable :** Compteurs techniques utilisés pour générer des numéros ou références, éventuellement par année ou mois. +- **Fichier ancien :** `Compteur.fic` +- **Fichier Omika :** `Compteur.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `CPT_PKID` | Identifiant de Compteur | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `CPT_Code` | Code Compteur | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `CPT_Annee` | Année Compteur | Entier sur 2 octets; défaut `0` | Entier sur 2 octets; défaut `0` | `short` | Commun | | +| `CPT_Valeur` | Valeur | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `CPT_ParAnnee` | Par Année | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `CPT_ParMois` | Par Mois | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `CPT_Mois` | Mois Compteur | Entier sur 1 octet; défaut `0` | Entier sur 1 octet; défaut `0` | `sbyte` | Commun | | +| `CPT_Actif` | Actif | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | + +<a id="etats"></a> +### Etats + +- **Domaine :** Paramétrage +- **Présence :** Omika uniquement +- **Rôle fonctionnel probable :** Référentiel Omika générique de valeurs d'état regroupées et ordonnées. +- **Fichier ancien :** absent +- **Fichier Omika :** `Etats.fic` +- **Groupe(s) ancien(s) :** sans objet +- **Groupe(s) Omika :** `ProtectionPlus` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `ETA_PKID` | Identifiant de Etats | — | Identifiant automatique (8 octets) | `long` | Table Omika uniquement | PK automatique | +| `ETA_Groupe` | Groupe (Intervention/rdv) | — | Chaîne; taille 20 | `string` | Table Omika uniquement | | +| `ETA_Libelle` | Libelle | — | Chaîne; taille 50 | `string` | Table Omika uniquement | | +| `ETA_Ordre` | Ordre | — | Entier non signé sur 2 octets; défaut `0` | `ushort` | Table Omika uniquement | | +| `ETA_Valeur` | Valeur , nom de l’état | — | Mémo texte | `string` | Table Omika uniquement | | + +<a id="parametreapplication"></a> +### ParametreApplication + +- **Domaine :** Paramétrage +- **Présence :** Commun +- **Rôle fonctionnel probable :** Paramètre applicatif clé/description/valeur. +- **Fichier ancien :** `ParametreApplication.fic` +- **Fichier Omika :** `ParametreApplication.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `PAP_PKID` | Identifiant de ParametreApplication | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `PAP_Code` | Code du paramètre | Chaîne; taille 50; défaut `0` | Chaîne; taille 50; défaut `0` | `string` | Commun | | +| `PAP_Description` | Description du paramètre | Mémo texte | Mémo texte | `string` | Commun | | +| `PAP_Valeur` | Valeur du paramètre | Mémo texte | Mémo texte | `string` | Commun | | + +<a id="parametremetier"></a> +### ParametreMetier + +- **Domaine :** Paramétrage +- **Présence :** Commun +- **Rôle fonctionnel probable :** Valeur d'un référentiel métier configurable : catégorie, clé, libellé, ordre et paramètres. +- **Fichier ancien :** `ParametreMetier.fic` +- **Fichier Omika :** `ParametreMetier.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` +- **Compatibilité :** Refonte importante : Omika ajoute `PA_CLE` et `PA_Categorie`; plusieurs anciennes rubriques sont marquées zombie. + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `PA_PKID` | Identifiant de PARAMETREMETIER | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique; parent déclaré (ancien) de `Intervention_ChampLibre.ICL_IDParametreMetier`; parent déclaré (Omika) de `Intervention_ChampLibre.ICL_IDParametreMetier` | +| `PA_Code` | Code (zombie) | Chaîne; taille 3 | Chaîne; taille 3 | `string` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; FR: Code du paramètre métier; FK déclarée (ancien) vers `ParametreMetierEntete.PM_Code`; FK déclarée (Omika) vers `ParametreMetierEntete.PM_Code` | +| `PA_Libelle` | Libellé | Chaîne; taille 250 | Chaîne; taille 250 | `string` | Commun | FR: Libellé du paramètre métier | +| `PA_Valeur` | Valeur (Zombie) | Chaîne; taille 20 | Chaîne; taille 20 | `string` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; FR: Valeur du paramètre métier | +| `PA_Ordre` | Ordre | Entier sur 4 octets; défaut `0` | Entier sur 4 octets; défaut `0` | `int` | Commun | FR: Ordre d'affichage du paramètre métier | +| `PA_Systeme` | Valeur Systeme | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `PA_Invisible` | Invisible pour l'utilisateur (zombie) | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine | +| `PA_IDImport` | ID Import (zombie) | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine | +| `PA_Actif` | Actif | Booléen; défaut `1` | Booléen; défaut `1` | `bool` | Commun | | +| `PA_CodePA_Valeur` | PA_Code + PA_Valeur (zombie) | Clé composée; taille 23 | Clé composée; taille 23 | `string en lecture seule / index technique` | Commun, zombie dans Omika | clé composée technique; ne pas utiliser comme référence principale dans le nouveau domaine; PA_Code+PA_Valeur | +| `PA_CleLiaison` | Clé de liaison (zombie) | Chaîne; taille 23 | Chaîne; taille 23 | `string` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine | +| `PA_Parametre` | PA_Parametre | Mémo texte | Mémo texte | `string` | Commun | | +| `PA_LibelleCourt` | Libellé court | Chaîne; taille 20 | Chaîne; taille 20 | `string` | Commun | | +| `PA_CLE` | Identifiant sur les autres tables | — | Chaîne; taille 16 | `string` | Ajout Omika | | +| `PA_Categorie` | Catégorie du paramètre métier | — | Chaîne; taille 25 | `string` | Ajout Omika | | + +**Liaisons impliquant la table :** + +- Isis_BO : `ParametreMetier.PA_PKID -> Intervention_ChampLibre.ICL_IDParametreMetier`; `ParametreMetierEntete.PM_Code -> ParametreMetier.PA_Code` +- Omika : `ParametreMetier.PA_PKID -> Intervention_ChampLibre.ICL_IDParametreMetier`; `ParametreMetierEntete.PM_Code -> ParametreMetier.PA_Code` + +<a id="parametremetierentete"></a> +### ParametreMetierEntete + +- **Domaine :** Paramétrage +- **Présence :** Commun +- **Rôle fonctionnel probable :** Définition d'une famille de paramètres métier et de ses règles de présentation. +- **Fichier ancien :** `ParametreMetierEntete.fic` +- **Fichier Omika :** `ParametreMetierEntete.fic` +- **Groupe(s) ancien(s) :** `ProtectionPlus` +- **Groupe(s) Omika :** `ProtectionPlus` +- **Compatibilité :** Omika ajoute `PM_Categorie` et `PM_Type`; les anciens codes et options restent transitoires. + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `PM_PKID` | Identifiant de ParametreMetierEntete | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `PM_Libelle` | Libellé du paramètre métier | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `PM_Description` | Description pour les utilisateurs | Chaîne; taille 250 | Chaîne; taille 250 | `string` | Commun | | +| `PM_Systeme` | Le paramètre est-il personnalisable | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `PM_Groupe` | Nom du groupe de rattachement | Chaîne; taille 25 | Chaîne; taille 25 | `string` | Commun | | +| `PM_Code` | Code interne du paramètre (zombie) | Chaîne; taille 3 | Chaîne; taille 3 | `string` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; parent déclaré (ancien) de `ParametreMetier.PA_Code`; parent déclaré (Omika) de `ParametreMetier.PA_Code` | +| `PM_AucunPossible` | Gestion de la valeur aucune (zombie) | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine | +| `PM_Specifique` | Code Specifique (zombie) | Mémo texte | Mémo texte | `string` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine | +| `PM_Categorie` | Catégorie | — | Chaîne; taille 20 | `string` | Ajout Omika | | +| `PM_Type` | Type de paramètre | — | Entier non signé sur 2 octets; défaut `0` | `ushort` | Ajout Omika | | + +**Liaisons impliquant la table :** + +- Isis_BO : `ParametreMetierEntete.PM_Code -> ParametreMetier.PA_Code` +- Omika : `ParametreMetierEntete.PM_Code -> ParametreMetier.PA_Code` + +<a id="parametresysteme"></a> +### ParametreSysteme + +- **Domaine :** Paramétrage +- **Présence :** Commun +- **Rôle fonctionnel probable :** Paramètre système clé/description/valeur, protégé par le groupe renforcé. +- **Fichier ancien :** `ParametreSysteme.fic` +- **Fichier Omika :** `ParametreSysteme.fic` +- **Groupe(s) ancien(s) :** `ProtectionPlus` +- **Groupe(s) Omika :** `ProtectionPlus` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `PAS_PKID` | Identifiant de ParametreSysteme | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `PAS_Code` | Code du paramètre | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `PAS_Description` | Description du paramètre | Chaîne; taille 250 | Chaîne; taille 250 | `string` | Commun | | +| `PAS_Valeur` | Valeur du paramètre | Mémo texte | Mémo texte | `string` | Commun | | + +<a id="parametreutilisateur"></a> +### ParametreUtilisateur + +- **Domaine :** Paramétrage +- **Présence :** Commun +- **Rôle fonctionnel probable :** Préférence utilisateur identifiée par code et valeur. +- **Fichier ancien :** `ParametreUtilisateur.fic` +- **Fichier Omika :** `ParametreUtilisateur.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `PU_PKID` | Identifiant de ParametreUtilisateur | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `PU_Code` | Code du paramètre | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `PU_IDUtilisateur` | Identifiant de Utilisateur | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `PU_Valeur` | Valeur du paramètre | Mémo texte | Mémo texte | `string` | Commun | | +| `PU_CodePU_IDUtilisateur` | PU_CodePU_IDUtilisate PU_Code + PU_IDUtilisateur | Clé composée; taille 58 | Clé composée; taille 58 | `string en lecture seule / index technique` | Commun | clé composée technique; PU_Code+PU_IDUtilisateur | + +<a id="planning-rdv"></a> +### Planning_RDV + +- **Domaine :** Planning et temps +- **Présence :** Commun +- **Rôle fonctionnel probable :** Structure historique de rendez-vous et de planning, conservée dans Omika pour compatibilité. +- **Fichier ancien :** `Planning_RDV.fic` +- **Fichier Omika :** `Planning_RDV.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` +- **Compatibilité :** Table historique toujours présente dans Omika. Elle ne doit pas être confondue avec `RDV_Planning`; prévoir un adaptateur ou une vue de compatibilité. + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `PL_PKID` | Identifiant de Planning_RDV | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `PL_IDGroupe` | Groupe de Rendez-vous | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `PL_Grouper` | Rendez-vous groupé | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `PL_IDSociete` | Identifiant de la Société | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `PL_IDEquipe` | Identifiant de l'équipe | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `PL_IDCollaborateur` | Identifiant du collaborateur | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `PL_IDDossier` | Identifiant du dossier | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `PL_IDIntervention` | Identifiant de l'intervention | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `PL_IDTypeActivite` | Type activité du RDV (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `PL_IDStatut` | Statut du RDV (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `PL_Objet` | Objet du Rendez-vous | Chaîne; taille 25 | Chaîne; taille 25 | `string` | Commun | | +| `GUID` | GUID | Chaîne; taille 32 | Chaîne; taille 32 | `string (32) en persistance; Guid? après validation` | Commun | | +| `PL_Description` | Description du Rendez-vous | Mémo texte | Mémo texte | `string` | Commun | | +| `PL_DateDebut` | Date et heure du début du RDV | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `PL_DateFin` | Date et heure de la fin du RDV | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `PL_Superposable` | Condition de superposition d'un RDV | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `PL_Prive` | RDV Prive | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `Archive` | Enregistrement Archivée | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `DateArchivage` | Date d'archivage | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationDate` | Date de création | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Utilisateur de création | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `ModifDate` | Date de Modification | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `PL_IDImport` | Identifiant Import | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `PL_IDPersonne` | Identifiant de la personne | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `PL_IDLieu` | Identifiant du site | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `PL_TempsValide` | Validation des Temps sur le RDV | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `PL_DateExport` | Date d'export du rdv | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `PL_SAV` | Rdv SAV? | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `PL_IdGroupeDate` | Id de Groupe de RDV par date | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `PL_CR` | Rdv avec CR | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `PL_NoteCollab` | Note Collaborateur depuis mobile | Mémo texte | Mémo texte | `string` | Commun | | +| `PL_IDOrigineAnnul` | ID Origine Annulation (zombie) | Entier non signé sur 8 octets | Entier non signé sur 8 octets | `ulong` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `PL_IDMotifAnnul` | ID Motif Annulation (zombie) | Entier non signé sur 8 octets | Entier non signé sur 8 octets | `ulong` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `PL_RappelSMS` | Rappel SMS | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `PL_CleType` | Cle Type | — | Chaîne; taille 16 | `string` | Ajout Omika | | +| `PL_CleStatut` | Cle Statut | — | Chaîne; taille 16 | `string` | Ajout Omika | | +| `PL_CleOrigineAnnu` | Cle Origine de Annulation | — | Chaîne; taille 16 | `string` | Ajout Omika | | +| `PL_CleMotifAnnu` | Cle Motif de Annulation | — | Chaîne; taille 16 | `string` | Ajout Omika | | + +<a id="planning-rdv-personne"></a> +### Planning_RDV_Personne + +- **Domaine :** Planning et temps +- **Présence :** Commun +- **Rôle fonctionnel probable :** Association historique entre un rendez-vous Planning_RDV et une personne. +- **Fichier ancien :** `Planning_RDV_Personne.fic` +- **Fichier Omika :** `Planning_RDV_Personne.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `PRP_PKID` | Identifiant du RDV_Personne | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `PRP_IDPersonne` | Identifiant de la personne | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `Personne.PE_PKID`; FK déclarée (Omika) vers `Personne.PE_PKID` | +| `PRP_IDRdv` | Identifiant du RDV | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `PRP_PKID_PE_PKID` | Identifiant de Planning_RDV_Personne | Clé composée; taille 16 | Clé composée; taille 16 | `string en lecture seule / index technique` | Commun | PK automatique; clé composée technique; PRP_IDRdv+PRP_IDPersonne | +| `PRP_IDGroupeRDV` | Identifiant Groupe du RDV | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `CreationDate` | Date de création | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifDate` | Modifié le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Créé par | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `Archive` | Enregistrement Archivée | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `DateArchivage` | Date d'archivage | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | + +**Liaisons impliquant la table :** + +- Isis_BO : `Personne.PE_PKID -> Planning_RDV_Personne.PRP_IDPersonne` +- Omika : `Personne.PE_PKID -> Planning_RDV_Personne.PRP_IDPersonne` + +<a id="rdv-collaborateur"></a> +### RDV_Collaborateur + +- **Domaine :** Planning et temps +- **Présence :** Omika uniquement +- **Rôle fonctionnel probable :** Affectation Omika d'un rendez-vous à un collaborateur, avec période, statut et validation du temps. +- **Fichier ancien :** absent +- **Fichier Omika :** `RDV_Collaborateur.fic` +- **Groupe(s) ancien(s) :** sans objet +- **Groupe(s) Omika :** `ProtectionStd` +- **Compatibilité :** La rubrique `RVC_GUID_Colb` ne possède pas de liaison déclarée vers `Collaborateur.GUID` dans l'export; cette intégrité doit être contrôlée par l'API ou confirmée dans la WDA. + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `RVC_PKID` | Identifiant de RDV_Collaborateur | — | Identifiant automatique (8 octets) | `long` | Table Omika uniquement | PK automatique | +| `RVC_GUID_RDV` | GUID du RDV | — | Chaîne; taille 32 | `string (32) en persistance; Guid? après validation` | Table Omika uniquement | FK déclarée (Omika) vers `RDV_Planning.GUID` | +| `RVC_GUID_Colb` | GUID du Collaborateur | — | Chaîne; taille 32 | `string (32) en persistance; Guid? après validation` | Table Omika uniquement | | +| `RVC_DateDeb` | Date debut | — | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Table Omika uniquement | | +| `RVC_DateFin` | Date fin | — | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Table Omika uniquement | | +| `RVC_CleStatut` | Statut du rendez-vous | — | Chaîne; taille 16 | `string` | Table Omika uniquement | | +| `RVC_Responsable` | Est responsable dans le rendez-vous ? | — | Booléen; défaut `0` | `bool` | Table Omika uniquement | | +| `RVC_TempsValide` | Le temps est validé ? | — | Booléen; défaut `0` | `bool` | Table Omika uniquement | | +| `RVC_DateExport` | Date de export | — | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Table Omika uniquement | | +| `GUID` | GUID | — | Chaîne; taille 32 | `string (32) en persistance; Guid? après validation` | Table Omika uniquement | | +| `Archive` | Enregistrement Archivée | — | Booléen; défaut `0` | `bool` | Table Omika uniquement | | +| `RVC_CR` | Avec Compte Rendu | — | Booléen; défaut `0` | `bool` | Table Omika uniquement | | +| `RVC_Superposable` | Superposable ? | — | Booléen; défaut `0` | `bool` | Table Omika uniquement | | + +**Liaisons impliquant la table :** + +- Omika : `RDV_Planning.GUID -> RDV_Collaborateur.RVC_GUID_RDV` + +<a id="rdv-contact"></a> +### RDV_Contact + +- **Domaine :** Planning et temps +- **Présence :** Omika uniquement +- **Rôle fonctionnel probable :** Association Omika entre un rendez-vous et un contact, basée sur des GUID. +- **Fichier ancien :** absent +- **Fichier Omika :** `RDV_Contact.fic` +- **Groupe(s) ancien(s) :** sans objet +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `RVCT_PKID` | Identifiant de RDV_Contact | — | Identifiant automatique (8 octets) | `long` | Table Omika uniquement | PK automatique | +| `GUID` | GUID | — | Chaîne; taille 32 | `string (32) en persistance; Guid? après validation` | Table Omika uniquement | | +| `RVCT_GUID_Pers` | GUID Personne | — | Chaîne; taille 32 | `string (32) en persistance; Guid? après validation` | Table Omika uniquement | FK déclarée (Omika) vers `Personne.GUID` | +| `RVCT_GUID_RDV` | GUID Rendez-vous | — | Chaîne; taille 32 | `string (32) en persistance; Guid? après validation` | Table Omika uniquement | FK déclarée (Omika) vers `RDV_Planning.GUID` | + +**Liaisons impliquant la table :** + +- Omika : `Personne.GUID -> RDV_Contact.RVCT_GUID_Pers`; `RDV_Planning.GUID -> RDV_Contact.RVCT_GUID_RDV` + +<a id="rdv-planning"></a> +### RDV_Planning + +- **Domaine :** Planning et temps +- **Présence :** Omika uniquement +- **Rôle fonctionnel probable :** Noyau Omika du nouveau modèle de rendez-vous, séparé des affectations collaborateurs et contacts. +- **Fichier ancien :** absent +- **Fichier Omika :** `RDV_Planning.fic` +- **Groupe(s) ancien(s) :** sans objet +- **Groupe(s) Omika :** `ProtectionStd` +- **Compatibilité :** Nouveau modèle de rendez-vous. Les collaborateurs et contacts sont stockés séparément dans `RDV_Collaborateur` et `RDV_Contact`. + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `RV_PKID` | Identifiant de RendezVousPlanning | — | Identifiant automatique (8 octets) | `long` | Table Omika uniquement | PK automatique | +| `RV_IdSociete` | Id societe | — | Entier sur 8 octets; défaut `0` | `long` | Table Omika uniquement | | +| `RV_IdDossier` | Id Dossier | — | Entier sur 8 octets; défaut `0` | `long` | Table Omika uniquement | | +| `RV_IdInter` | Id Intervention | — | Entier sur 8 octets; défaut `0` | `long` | Table Omika uniquement | | +| `RV_CleType` | Type de rendez-vous | — | Chaîne; taille 16 | `string` | Table Omika uniquement | | +| `RV_CleStatut` | Statut de rendez-vous | — | Chaîne; taille 16 | `string` | Table Omika uniquement | | +| `RV_Objet` | Objet | — | Mémo texte | `string` | Table Omika uniquement | | +| `RV_Description` | Description | — | Mémo texte | `string` | Table Omika uniquement | | +| `RV_IdLieu` | Id Lieu | — | Entier non signé sur 8 octets; défaut `0` | `ulong` | Table Omika uniquement | | +| `RV_SAV` | SAV ? | — | Booléen; défaut `0` | `bool` | Table Omika uniquement | | +| `RV_CleOrigineAnnu` | Origine de l'annulation | — | Chaîne; taille 16; défaut `0` | `string` | Table Omika uniquement | | +| `RV_CleMotifAnnu` | Motif de l'annulation | — | Chaîne; taille 16 | `string` | Table Omika uniquement | | +| `RV_RappelSMS` | Avec Rappel SMS ? | — | Booléen; défaut `0` | `bool` | Table Omika uniquement | | +| `Archive` | Enregistrement Archivée | — | Booléen; défaut `0` | `bool` | Table Omika uniquement | | +| `CreationDate` | Créé le | — | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Table Omika uniquement | | +| `CreationUser` | Créé par | — | Entier sur 8 octets; défaut `0` | `long` | Table Omika uniquement | | +| `ModifDate` | Modifié le | — | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Table Omika uniquement | | +| `ModifUser` | Utilisateur de modification | — | Entier sur 8 octets; défaut `0` | `long` | Table Omika uniquement | | +| `GUID` | GUID | — | Chaîne; taille 32 | `string (32) en persistance; Guid? après validation` | Table Omika uniquement | parent déclaré (Omika) de `RDV_Collaborateur.RVC_GUID_RDV`; parent déclaré (Omika) de `RDV_Contact.RVCT_GUID_RDV` | +| `RV_Groupe` | Groupe ? | — | Booléen; défaut `0` | `bool` | Table Omika uniquement | | +| `RV_PlusieursJours` | Sur plusieurs jours ? | — | Booléen; défaut `0` | `bool` | Table Omika uniquement | | +| `RV_Date` | Date du rendez-vous , utilisé si le | — | Date (aaaammjj) | `DateOnly` | Table Omika uniquement | | + +**Liaisons impliquant la table :** + +- Omika : `RDV_Planning.GUID -> RDV_Collaborateur.RVC_GUID_RDV`; `RDV_Planning.GUID -> RDV_Contact.RVCT_GUID_RDV` + +<a id="suividestemps"></a> +### SuiviDesTemps + +- **Domaine :** Planning et temps +- **Présence :** Commun +- **Rôle fonctionnel probable :** Saisie de temps d'un collaborateur sur une intervention ou un rendez-vous. +- **Fichier ancien :** `SuiviDesTemps.fic` +- **Fichier Omika :** `SuiviDesTemps.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` +- **Compatibilité :** Omika ajoute les clés de type, les notes collaborateur/administration et le GUID de l'affectation de rendez-vous. + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `SDT_PKID` | Identifiant de Temps | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `SDT_DateDebut` | Date à laquelle à débuter l'événement | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `SDT_IDIntervention` | Identifiant de Intervention | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `Intervention.IN_PKID`; FK déclarée (Omika) vers `Intervention.IN_PKID` | +| `SDT_IDCollaborateur` | Collaborateur concerné par le temps | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `SDT_IDPartenaire` | Partenaire présent avec le | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `SDT_NbMinutes` | Temps passé en minute | Entier sur 4 octets; défaut `0` | Entier sur 4 octets; défaut `0` | `int` | Commun | | +| `SDT_Libelle` | TE_Libelle | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `SDT_IDTypeTemps` | Identifiant du type de temps (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `SDT_IDRdv` | Identifiant du Rendez-vous | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `SDT_Ponderation` | Ponderation | Réel sur 4 octets; défaut `0` | Réel sur 4 octets; défaut `0` | `float` | Commun | | +| `SDT_IDImport` | Import | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `SDT_DateHeureFin` | Date à laquelle à finir l'événement | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `GUID` | GUID | Chaîne; taille 32 | Chaîne; taille 32 | `string (32) en persistance; Guid? après validation` | Commun | | +| `SDT_IDTypeRdv` | Identifiant du type de RDV (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `SDT_Controle` | Suivie des temps contrôlé | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `SDT_IDGroupe` | Identifiant Groupe | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `CreationDate` | Créé le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Créé par | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `ModifDate` | Modifié le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `SDT_CleType` | Cle Type | — | Chaîne; taille 16 | `string` | Ajout Omika | | +| `SDT_CleTypeRDV` | Cle Type de RDV | — | Chaîne; taille 16 | `string` | Ajout Omika | | +| `SDT_NoteColb` | Note collaborateur | — | Mémo texte | `string` | Ajout Omika | | +| `SDT_NoteAdmin` | Note administration | — | Mémo texte | `string` | Ajout Omika | | +| `SDT_GUID_Rdv_Colb` | GUID du rdv collaborateur | — | Chaîne; taille 32 | `string (32) en persistance; Guid? après validation` | Ajout Omika | | + +**Liaisons impliquant la table :** + +- Isis_BO : `Intervention.IN_PKID -> SuiviDesTemps.SDT_IDIntervention` +- Omika : `Intervention.IN_PKID -> SuiviDesTemps.SDT_IDIntervention` + +<a id="adresse"></a> +### Adresse + +- **Domaine :** Référentiel client +- **Présence :** Commun +- **Rôle fonctionnel probable :** Adresse postale réutilisable par les clients, personnes, sites et sociétés. +- **Fichier ancien :** `Adresse.fic` +- **Fichier Omika :** `Adresse.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` +- **Index full-text documenté :** ancien : Index full-text AD_Index_FullText (Rubriques : AD_Etiquette, AD_Presentation) ; Omika : Index full-text AD_Index_FullText (Rubriques : AD_Etiquette, AD_Presentation) +- **Compatibilité :** Omika ajoute `AD_Adresse` en mémo et `GUID`; les cinq lignes historiques restent physiquement présentes mais sont marquées zombie. + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `AD_PKID` | Identifiant de ADRESSE | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique; FR: Identifiant unique du fichier Adresse; parent déclaré (ancien) de `Client_Adresse.CA_IDAdresse`; parent déclaré (ancien) de `Lieu.LI_IDAdresse`; parent déclaré (ancien) de `Personne.PE_IDAdressePrincipale`; parent déclaré (ancien) de `Societe.SO_IDAdressePrincipale`; parent déclaré (Omika) de `Client_Adresse.CA_IDAdresse`; parent déclaré (Omika) de `Lieu.LI_IDAdresse`; parent déclaré (Omika) de `Personne.PE_IDAdressePrincipale`; parent déclaré (Omika) de `Societe.SO_IDAdressePrincipale` | +| `AD_Etiquette` | Etiquette de l'adresse | Chaîne; taille 25 | Chaîne; taille 25 | `string` | Commun | FR: Etiquette libre d'une Adresse | +| `AD_Ligne_1` | 1ère ligne d'adresse (zombie) | Chaîne; taille 38 | Chaîne; taille 38 | `string` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; FR: Première ligne d'adresse; BtoC : Civilité - Titre ou Qualité - Prénom - Nom; BtoB : Raison sociale ou dénomination; Signalé comme élément zombie dans les avertissements du projet | +| `AD_Ligne_2` | 2ème ligne d'adresse (zombie) | Chaîne; taille 38 | Chaîne; taille 38 | `string` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; FR: Deuxième ligne d'adresse; BtoC : N°APP ou BAL - Etage - Couloir - Esc; BtoB : Identité du destinataire et/ou service; Signalé comme élément zombie dans les avertissements du projet | +| `AD_Ligne_3` | 3ème ligne d'adresse (zombie) | Chaîne; taille 38 | Chaîne; taille 38 | `string` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; FR: Troisième ligne d'adresse; BtoC : Entrée - Bâtiment - Immeuble - Résidence; BtoB : Entrée - Bâtiment - Immeuble - Résidence - ZI; Signalé comme élément zombie dans les avertissements du projet | +| `AD_Ligne_4` | 4ème ligne d'adresse (zombie) | Chaîne; taille 100 | Chaîne; taille 100 | `string` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; FR: Quatrième ligne d'adresse; BtoC : Numéro - Libellé de la voie; BtoB : Numéro - Libellé de la voie; Signalé comme élément zombie dans les avertissements du projet | +| `AD_Ligne_5` | 5ème ligne d'adresse (zombie) | Chaîne; taille 38 | Chaîne; taille 38 | `string` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; FR: Cinquième ligne d'adresse; BtoC : Lieu dit ou Service particulier de distribution; BtoB : Mention spéciale et commune géographique; Signalé comme élément zombie dans les avertissements du projet | +| `AD_CodePostal` | Code Postal | Chaîne; taille 15 | Chaîne; taille 15 | `string` | Commun | FR: Code postale de l'adresse | +| `AD_Ville` | Ville | Chaîne; taille 45 | Chaîne; taille 45 | `string` | Commun | FR: Ville de l'adresse | +| `AD_Presentation` | Présentation Adresse | Chaîne; taille 255 | Chaîne; taille 255 | `string` | Commun | FR: Présentation de l'adresse composée librement pour figurer sur les documents à destination du courrier | +| `CreationDate` | Date de création | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Utilisateur de création | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `ModifDate` | Date de Modification | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `AD_Adresse` | Adresse | — | Mémo texte | `string` | Ajout Omika | | +| `GUID` | GUID | — | Chaîne; taille 32 | `string (32) en persistance; Guid? après validation` | Ajout Omika | | + +**Liaisons impliquant la table :** + +- Isis_BO : `Adresse.AD_PKID -> Client_Adresse.CA_IDAdresse`; `Adresse.AD_PKID -> Lieu.LI_IDAdresse`; `Adresse.AD_PKID -> Personne.PE_IDAdressePrincipale`; `Adresse.AD_PKID -> Societe.SO_IDAdressePrincipale` +- Omika : `Adresse.AD_PKID -> Client_Adresse.CA_IDAdresse`; `Adresse.AD_PKID -> Lieu.LI_IDAdresse`; `Adresse.AD_PKID -> Personne.PE_IDAdressePrincipale`; `Adresse.AD_PKID -> Societe.SO_IDAdressePrincipale` + +<a id="client"></a> +### Client + +- **Domaine :** Référentiel client +- **Présence :** Commun +- **Rôle fonctionnel probable :** Compte client : identité, coordonnées, statut, type, comptabilité, blocage et intégration externe. +- **Fichier ancien :** `Client.fic` +- **Fichier Omika :** `Client.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` +- **Index full-text documenté :** ancien : Index full-text CL_Index_FullText (Rubriques : CL_Nom, CL_Tel, CL_Fax, CL_CodeClient) ; Omika : Index full-text CL_Index_FullText (Rubriques : CL_Nom, CL_Tel, CL_Fax, CL_CodeClient) +- **Compatibilité :** Omika conserve les identifiants numériques historiques mais ajoute des clés métier textuelles et un GUID. Les adaptateurs doivent préférer les clés lorsqu'elles sont renseignées. + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `CL_PKID` | Identifiant de Client | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique; FR: Identifiant unique du fichier Client; parent déclaré (ancien) de `Client_Adresse.CA_IDClient`; parent déclaré (ancien) de `Client_BddExterne.CLX_IDCLient`; parent déclaré (ancien) de `Client_Lieu.CLI_IDClient`; parent déclaré (ancien) de `Dossier.DO_IDClient`; parent déclaré (ancien) de `Personne.PE_IDClient`; parent déclaré (Omika) de `Client_Adresse.CA_IDClient`; parent déclaré (Omika) de `Client_BddExterne.CLX_IDCLient`; parent déclaré (Omika) de `Client_Lieu.CLI_IDClient`; parent déclaré (Omika) de `Dossier.DO_IDClient`; parent déclaré (Omika) de `Personne.PE_IDClient` | +| `CL_Nom` | Nom | Chaîne; taille 100 | Chaîne; taille 100 | `string` | Commun | FR: Nom du client | +| `CL_IDType` | Type (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; FR: Type de client; Régie, Collectivité, Entreprise, Particulier; Signalé comme élément zombie dans les avertissements du projet | +| `CL_IDStatut` | Statut (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; FR: Statut du client; Client, Actif; Signalé comme élément zombie dans les avertissements du projet | +| `CL_IDAdressePrincipale` | Adresse principale | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FR: Identifiant unique dans le fichier Adresse permettant de référencer l'adresse principale du client | +| `ModifDate` | Date de Modification | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `CreationDate` | Date de création | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Utilisateur de création | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `CL_Tel` | Téléphone Client | Chaîne; taille 15 | Chaîne; taille 15 | `string` | Commun | | +| `CL_Fax` | Fax Client | Chaîne; taille 15 | Chaîne; taille 15 | `string` | Commun | | +| `CL_IDImport` | Identifiant Import | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `Archive` | Enregistrement Archivée | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `DateArchivage` | Date d'archivage | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CL_CodeComptable` | Code comptable | Chaîne; taille 25 | Chaîne; taille 25 | `string` | Commun | | +| `CL_Email` | Email | Mémo texte | Mémo texte | `string` | Commun | | +| `CL_RepertoireDocs` | Répertoire des docs du client | Chaîne; taille 255 | Chaîne; taille 255 | `string` | Commun | | +| `CL_IDContactPrincipal` | Identifiant du contact principal | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `CL_IDLieuPrincipal` | Identifiant du site principal | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `CL_IDApporteur` | Apporté par (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `CL_IDApportOrigine` | Apporté comment (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `CL_CodeClient` | Code client | Chaîne; taille 10 | Chaîne; taille 10 | `string` | Commun | | +| `CL_Blocage` | Blocage commerciale du client | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `CL_RaisonBlocage / Cl_RaisonBlocage` | Raison du blocage Blocage | Mémo texte | Mémo texte | `string` | Commun, variation de casse | | +| `CL_FormeJuridique` | Forme juridique | Chaîne; taille 25; défaut `0` | Chaîne; taille 25; défaut `0` | `string` | Commun | | +| `CL_IDModeReglement` | Mode de règlement (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `CL_InfoSup` | Information supplémentaire | Mémo texte | Mémo texte | `string` | Commun | | +| `CL_Pays` | Code Pays | Chaîne; taille 3 | Chaîne; taille 3 | `string` | Commun | | +| `CL_CodeTVA` | Code de TVA | Chaîne; taille 13 | Chaîne; taille 13 | `string` | Commun | | +| `CL_SIREN` | Numéro de SIREN | Chaîne; taille 9 | Chaîne; taille 9 | `string` | Commun | | +| `CL_SIRET` | Numéro de SIRET | Chaîne; taille 14 | Chaîne; taille 14 | `string` | Commun | | +| `CL_CleType` | Clé Type de client | — | Chaîne; taille 16 | `string` | Ajout Omika | | +| `CL_CleStatut` | Clé Statut | — | Chaîne; taille 16 | `string` | Ajout Omika | | +| `CL_CleApporteur` | Clé Apporteur | — | Chaîne; taille 16 | `string` | Ajout Omika | | +| `CL_CleApporteurOrigine` | Clé Apporteur Origine | — | Chaîne; taille 16 | `string` | Ajout Omika | | +| `CL_CleModeReglement` | Clé Mode de Règlement | — | Chaîne; taille 16 | `string` | Ajout Omika | | +| `GUID` | GUID | — | Chaîne; taille 32 | `string (32) en persistance; Guid? après validation` | Ajout Omika | | + +**Liaisons impliquant la table :** + +- Isis_BO : `Client.CL_PKID -> Client_Adresse.CA_IDClient`; `Client.CL_PKID -> Client_BddExterne.CLX_IDCLient`; `Client.CL_PKID -> Client_Lieu.CLI_IDClient`; `Client.CL_PKID -> Dossier.DO_IDClient`; `Client.CL_PKID -> Personne.PE_IDClient` +- Omika : `Client.CL_PKID -> Client_Adresse.CA_IDClient`; `Client.CL_PKID -> Client_BddExterne.CLX_IDCLient`; `Client.CL_PKID -> Client_Lieu.CLI_IDClient`; `Client.CL_PKID -> Dossier.DO_IDClient`; `Client.CL_PKID -> Personne.PE_IDClient` + +<a id="client-adresse"></a> +### Client_Adresse + +- **Domaine :** Référentiel client +- **Présence :** Commun +- **Rôle fonctionnel probable :** Association entre un client et une adresse, avec type et usages principal, facturation et livraison. +- **Fichier ancien :** `Client_Adresse.fic` +- **Fichier Omika :** `Client_Adresse.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `CA_PKID` | CA_PKID | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `CA_IDAdresse` | Adresse | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FR: Identifiant unique du fichier Adresse; FK déclarée (ancien) vers `Adresse.AD_PKID`; FK déclarée (Omika) vers `Adresse.AD_PKID` | +| `CA_IDClient` | Client | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FR: Identifiant unique du fichier Client; FK déclarée (ancien) vers `Client.CL_PKID`; FK déclarée (Omika) vers `Client.CL_PKID` | +| `CA_IDCli_IDAd` | Clé composée Client_Adresse | Clé composée; taille 16 | Clé composée; taille 16 | `string en lecture seule / index technique` | Commun | clé composée technique; CA_IDClient+CA_IDAdresse; FR: Clé composé du fichier Client et Adresse | +| `CA_IDTypeAdresse` | Type d'adresse (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; FR: Identifiant unique du fichier ParamètreMetier permettant d'affecter un type d'adresse au fichier de relation; Livraison, Facturation; Signalé comme élément zombie dans les avertissements du projet | +| `CA_Principale` | CA_Principale | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `CA_CleType` | Cle Type de adresse | — | Chaîne; taille 16 | `string` | Ajout Omika | | +| `CA_Facturation` | CA_Facturation | — | Booléen; défaut `0` | `bool` | Ajout Omika | | +| `CA_Livraison` | CA_Livraison | — | Booléen; défaut `0` | `bool` | Ajout Omika | | + +**Liaisons impliquant la table :** + +- Isis_BO : `Adresse.AD_PKID -> Client_Adresse.CA_IDAdresse`; `Client.CL_PKID -> Client_Adresse.CA_IDClient` +- Omika : `Adresse.AD_PKID -> Client_Adresse.CA_IDAdresse`; `Client.CL_PKID -> Client_Adresse.CA_IDClient` + +<a id="client-lieu"></a> +### Client_Lieu + +- **Domaine :** Référentiel client +- **Présence :** Commun +- **Rôle fonctionnel probable :** Association entre un client et un site ou lieu. +- **Fichier ancien :** `Client_Lieu.fic` +- **Fichier Omika :** `Client_Lieu.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `CLI_PKID` | Identifiant de Client_Lieu | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `CLI_IDClient` | CLI_IDClient | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `Client.CL_PKID`; FK déclarée (Omika) vers `Client.CL_PKID` | +| `CLI_IDLieu` | CLI_IDLieu | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `Lieu.LI_PKID`; FK déclarée (Omika) vers `Lieu.LI_PKID` | +| `CreationDate` | Date de création | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifDate` | Date de Modification | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `CreationUser` | Utilisateur de création | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | + +**Liaisons impliquant la table :** + +- Isis_BO : `Client.CL_PKID -> Client_Lieu.CLI_IDClient`; `Lieu.LI_PKID -> Client_Lieu.CLI_IDLieu` +- Omika : `Client.CL_PKID -> Client_Lieu.CLI_IDClient`; `Lieu.LI_PKID -> Client_Lieu.CLI_IDLieu` + +<a id="lieu"></a> +### Lieu + +- **Domaine :** Référentiel client +- **Présence :** Commun +- **Rôle fonctionnel probable :** Site ou lieu d'intervention, associé à une adresse et éventuellement à un client principal. +- **Fichier ancien :** `Lieu.fic` +- **Fichier Omika :** `Lieu.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` +- **Index full-text documenté :** ancien : Index full-text LI_Index_FullText (Rubriques : LI_CodeLieu, LI_Note) ; Omika : Index full-text LI_Index_FullText (Rubriques : LI_CodeLieu, LI_Note) + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `LI_PKID` | Identifiant de Lieu | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique; FR: Identifiant unique du fichier Lieu; parent déclaré (ancien) de `Client_Lieu.CLI_IDLieu`; parent déclaré (ancien) de `Lieu_Personne.LIP_IDLieu`; parent déclaré (Omika) de `Client_Lieu.CLI_IDLieu`; parent déclaré (Omika) de `Lieu_Personne.LIP_IDLieu` | +| `LI_CodeLieu` | Code du lieu | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | FR: Code interne pour situer le lieu | +| `LI_IDAdresse` | Adresse du lieu | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FR: Identifiant unique du fichier Adresse permettant de localiser le lieu; FK déclarée (ancien) vers `Adresse.AD_PKID`; FK déclarée (Omika) vers `Adresse.AD_PKID` | +| `CreationDate` | Date de création | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Utilisateur de création | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `ModifDate` | Date de Modification | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `LI_IDType` | Type (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; FR: Type de Lieu; Immeuble, Maison Indiv.; Signalé comme élément zombie dans les avertissements du projet | +| `LI_CodeAcces` | Code d'acces du lieu | Mémo texte | Mémo texte | `string` | Commun | | +| `LI_Badge` | Badge sur lieu | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `LI_Interphone` | Interphone sur lieu | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `LI_Note` | Note sur le lieu | Chaîne; taille 250 | Chaîne; taille 250 | `string` | Commun | | +| `Archive` | Enregistrement Archivée | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `DateArchivage` | Date d'archivage | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `LI_IDImport` | Identifiant Import | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `LI_RepertoireDocs` | Répertoire des docs du lieu | Chaîne; taille 255 | Chaîne; taille 255 | `string` | Commun | | +| `LI_IDClientPrincipal` | Identifiant du client principal | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `LI_Blocage` | LI_Blocage | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `LI_RaisonBlocage` | Raison de blocage | Mémo texte | Mémo texte | `string` | Commun | | +| `LI_CleType` | Cle Type de lieu | — | Chaîne; taille 16 | `string` | Ajout Omika | | +| `GUID` | GUID | — | Chaîne; taille 32 | `string (32) en persistance; Guid? après validation` | Ajout Omika | | + +**Liaisons impliquant la table :** + +- Isis_BO : `Adresse.AD_PKID -> Lieu.LI_IDAdresse`; `Lieu.LI_PKID -> Client_Lieu.CLI_IDLieu`; `Lieu.LI_PKID -> Lieu_Personne.LIP_IDLieu` +- Omika : `Adresse.AD_PKID -> Lieu.LI_IDAdresse`; `Lieu.LI_PKID -> Client_Lieu.CLI_IDLieu`; `Lieu.LI_PKID -> Lieu_Personne.LIP_IDLieu` + +<a id="lieu-personne"></a> +### Lieu_Personne + +- **Domaine :** Référentiel client +- **Présence :** Commun +- **Rôle fonctionnel probable :** Association entre un site et une personne, avec rôle, type, adresse d'étiquette et état actif. +- **Fichier ancien :** `Lieu_Personne.fic` +- **Fichier Omika :** `Lieu_Personne.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `LIP_PKID` | Identifiant de LOT_PERSONNE | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `LIP_IDPersonne` | Identifiant de la Personne | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `Personne.PE_PKID`; FK déclarée (Omika) vers `Personne.PE_PKID` | +| `LIP_IDLieu` | Identifiant du lieu | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `Lieu.LI_PKID`; FK déclarée (Omika) vers `Lieu.LI_PKID` | +| `LIP_IDRole` | Rôle de la Personne du lieu (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `LIP_IDTypeLieuPersonne` | LIP_IDTypeLieuPersonn Type du Lieu Personne (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `LIP_Etage` | Etage | Chaîne; taille 10 | Chaîne; taille 10 | `string` | Commun | | +| `LIP_Lot` | Lot | Chaîne; taille 25 | Chaîne; taille 25 | `string` | Commun | | +| `CreationDate` | Date de création | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifDate` | Date de Modification | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Utilisateur de création | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `Archive` | Enregistrement Archivée | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `DateArchivage` | Date d'archivage | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `LIP_EtiquetteAdresse` | Etiquette de l'adresse | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `LIP_ACTIF / LIP_Actif` | Adresse contact Active | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun, variation de casse | | +| `LIP_CleRole` | Cle Role de la personne | — | Chaîne; taille 16 | `string` | Ajout Omika | | +| `LIP_CleType` | Cle Type | — | Chaîne; taille 16 | `string` | Ajout Omika | | + +**Liaisons impliquant la table :** + +- Isis_BO : `Lieu.LI_PKID -> Lieu_Personne.LIP_IDLieu`; `Personne.PE_PKID -> Lieu_Personne.LIP_IDPersonne` +- Omika : `Lieu.LI_PKID -> Lieu_Personne.LIP_IDLieu`; `Personne.PE_PKID -> Lieu_Personne.LIP_IDPersonne` + +<a id="personne"></a> +### Personne + +- **Domaine :** Référentiel client +- **Présence :** Commun +- **Rôle fonctionnel probable :** Contact ou personne rattachée à un client, avec coordonnées, adresse, civilité et rôle. +- **Fichier ancien :** `Personne.fic` +- **Fichier Omika :** `Personne.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` +- **Index full-text documenté :** ancien : Index full-text ; Omika : Index full-text +- **Compatibilité :** Omika ajoute les clés de civilité/rôle et un GUID; les identifiants numériques historiques deviennent zombie. + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `PE_PKID` | Identifiant de Personne | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique; FR: Identifiants unique du fichier Personne; parent déclaré (ancien) de `Lieu_Personne.LIP_IDPersonne`; parent déclaré (ancien) de `Planning_RDV_Personne.PRP_IDPersonne`; parent déclaré (ancien) de `Telephone.TE_IDPersonne`; parent déclaré (Omika) de `Lieu_Personne.LIP_IDPersonne`; parent déclaré (Omika) de `Planning_RDV_Personne.PRP_IDPersonne`; parent déclaré (Omika) de `Telephone.TE_IDPersonne` | +| `PE_IDCivilite` | Civilite du contact (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `PE_Nom` | Nom | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | FR: Nom de la personne | +| `PE_Prenom` | Prénom | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | FR: Prénom de la personne | +| `PE_TelFixe` | Téléphone fixe | Chaîne; taille 15 | Chaîne; taille 15 | `string` | Commun | FR: Téléphone fixe de la personne | +| `PE_TelMobile` | Téléphone mobile | Chaîne; taille 15 | Chaîne; taille 15 | `string` | Commun | FR: Téléphone mobile de la personne | +| `PE_Email` | Email | Mémo texte | Mémo texte | `string` | Commun | FR: Email de la personne | +| `PE_IDRole` | Rôle (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; FR: Rôle de la personne; Signalé comme élément zombie dans les avertissements du projet | +| `PE_IDAdressePrincipale` | Adresse principale | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FR: Identifiant unique dans le fichier Adresse permettant de référencer l'adresse principale de la personne; FK déclarée (ancien) vers `Adresse.AD_PKID`; FK déclarée (Omika) vers `Adresse.AD_PKID` | +| `PE_IDClient` | Appartient au client | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FR: Identifiant unique du fichier Client; FK déclarée (ancien) vers `Client.CL_PKID`; FK déclarée (Omika) vers `Client.CL_PKID` | +| `CreationDate` | Créé le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Créé par | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `ModifDate` | Modifié le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `Archive` | Enregistrement Archivée | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `DateArchivage` | Date d'archivage | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `PE_Note` | Note sur le contact | Chaîne; taille 250 | Chaîne; taille 250 | `string` | Commun | | +| `PE_Fax` | Fax du contact | Chaîne; taille 15 | Chaîne; taille 15 | `string` | Commun | | +| `PE_IDImport` | Identifiant du contact | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `PE_Actif` | PE_Actif | Booléen; défaut `1` | Booléen; défaut `1` | `bool` | Commun | | +| `PE_UsageInterne` | Usage Interne | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `PE_InfoSupp` | Information supplémentaire | Mémo texte | Mémo texte | `string` | Commun | | +| `PE_CleCivilite` | Clé Civilité | — | Chaîne; taille 16 | `string` | Ajout Omika | | +| `PE_CleRole` | Role | — | Chaîne; taille 16 | `string` | Ajout Omika | | +| `GUID` | GUID | — | Chaîne; taille 32 | `string (32) en persistance; Guid? après validation` | Ajout Omika | parent déclaré (Omika) de `RDV_Contact.RVCT_GUID_Pers` | + +**Liaisons impliquant la table :** + +- Isis_BO : `Client.CL_PKID -> Personne.PE_IDClient`; `Adresse.AD_PKID -> Personne.PE_IDAdressePrincipale`; `Personne.PE_PKID -> Lieu_Personne.LIP_IDPersonne`; `Personne.PE_PKID -> Planning_RDV_Personne.PRP_IDPersonne`; `Personne.PE_PKID -> Telephone.TE_IDPersonne` +- Omika : `Client.CL_PKID -> Personne.PE_IDClient`; `Adresse.AD_PKID -> Personne.PE_IDAdressePrincipale`; `Personne.PE_PKID -> Lieu_Personne.LIP_IDPersonne`; `Personne.PE_PKID -> Planning_RDV_Personne.PRP_IDPersonne`; `Personne.GUID -> RDV_Contact.RVCT_GUID_Pers`; `Personne.PE_PKID -> Telephone.TE_IDPersonne` + +<a id="telephone"></a> +### Telephone + +- **Domaine :** Référentiel client +- **Présence :** Commun +- **Rôle fonctionnel probable :** Numéro de téléphone qualifié rattaché à une personne. +- **Fichier ancien :** `Telephone.fic` +- **Fichier Omika :** `Telephone.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `TE_PKID` | Identifiant de Telephone | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `TE_IDQualif` | Identifiant de ParametreMetier | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `TE_Numero` | TE_Numero | Entier sur 4 octets; défaut `0` | Entier sur 4 octets; défaut `0` | `int` | Commun | | +| `TE_IDPersonne` | Identifiant de Personne | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | FK déclarée (ancien) vers `Personne.PE_PKID`; FK déclarée (Omika) vers `Personne.PE_PKID` | + +**Liaisons impliquant la table :** + +- Isis_BO : `Personne.PE_PKID -> Telephone.TE_IDPersonne` +- Omika : `Personne.PE_PKID -> Telephone.TE_IDPersonne` + +<a id="accesetdroit"></a> +### AccesEtDroit + +- **Domaine :** Sécurité +- **Présence :** Commun +- **Rôle fonctionnel probable :** Droits fonctionnels accordés à un profil historique ou à un rôle Omika, sur un module ou une clé d'accès. +- **Fichier ancien :** `AccesEtDroit.fic` +- **Fichier Omika :** `AccesEtDroit.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` +- **Compatibilité :** Omika introduit `AED_IdRole` et `AED_CleAcces`; `AED_IDProfil` et `AED_IDModule` restent présents mais sont marqués zombie. + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `AED_PKID` | Identifiant de AccesEtDroit | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `AED_IDProfil` | Identifiant de Profil (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `AED_IDModule` | Identifiant de Module (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `AED_Acces` | L'accès est il autorisé | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `CreationDate` | Créé le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Créé par | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `ModifDate` | Modifié le | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Modifié par | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `AED_IdRole` | Identifiant du role | — | Entier non signé sur 8 octets; défaut `0` | `ulong` | Ajout Omika | | +| `AED_CleAcces` | Clé d’accès | — | Chaîne; taille 20; défaut `0` | `string` | Ajout Omika | | + +<a id="categorieacces"></a> +### CategorieAcces + +- **Domaine :** Sécurité +- **Présence :** Omika uniquement +- **Rôle fonctionnel probable :** Référentiel Omika des catégories ou modules d'accès utilisés par les rôles et l'interface. +- **Fichier ancien :** absent +- **Fichier Omika :** `CategorieAcces.fic` +- **Groupe(s) ancien(s) :** sans objet +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `CAC_PKID` | Identifiant de CategorieAcces | — | Identifiant automatique (8 octets) | `long` | Table Omika uniquement | PK automatique | +| `CAC_Cle` | Clé unique | — | Chaîne; taille 20 | `string` | Table Omika uniquement | | +| `CAC_Libelle` | Libelle | — | Mémo texte | `string` | Table Omika uniquement | | +| `CAC_Ordre` | Numero Ordre | — | Entier non signé sur 2 octets; défaut `0` | `ushort` | Table Omika uniquement | | +| `CAC_Mobile` | Accès mobile ? | — | Booléen; défaut `0` | `bool` | Table Omika uniquement | | +| `CAC_AncienCode` | Ancien Code paramètre metier à | — | Chaîne; taille 50 | `string` | Table Omika uniquement | | +| `CreationDate` | Créé le | — | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Table Omika uniquement | | +| `CreationUser` | Créé par | — | Entier sur 8 octets; défaut `0` | `long` | Table Omika uniquement | | +| `ModifDate` | Modifié le | — | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Table Omika uniquement | | +| `ModifUser` | Utilisateur de modification | — | Entier sur 8 octets; défaut `0` | `long` | Table Omika uniquement | | +| `CAC_Description` | Description | — | Mémo texte | `string` | Table Omika uniquement | | + +<a id="role"></a> +### Role + +- **Domaine :** Sécurité +- **Présence :** Omika uniquement +- **Rôle fonctionnel probable :** Rôle Omika utilisé pour les droits d'accès. +- **Fichier ancien :** absent +- **Fichier Omika :** `Role.fic` +- **Groupe(s) ancien(s) :** sans objet +- **Groupe(s) Omika :** `ProtectionStd` + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `R_PKID` | Identifiant de Role | — | Identifiant automatique (8 octets) | `long` | Table Omika uniquement | PK automatique | +| `R_Libelle` | Libelle | — | Chaîne; taille 30 | `string` | Table Omika uniquement | | +| `R_AncienCode` | Ancien Code à supprimer | — | Chaîne; taille 50 | `string` | Table Omika uniquement | | +| `CreationDate` | Créé le | — | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Table Omika uniquement | | +| `CreationUser` | Créé par | — | Entier sur 8 octets; défaut `0` | `long` | Table Omika uniquement | | +| `ModifDate` | Modifié le | — | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Table Omika uniquement | | +| `ModifUser` | Utilisateur de modification | — | Entier sur 8 octets; défaut `0` | `long` | Table Omika uniquement | | + +<a id="utilisateur"></a> +### Utilisateur + +- **Domaine :** Sécurité +- **Présence :** Commun +- **Rôle fonctionnel probable :** Compte utilisateur, authentification, administration, rôle, société et collaborateur associés. +- **Fichier ancien :** `Utilisateur.fic` +- **Fichier Omika :** `Utilisateur.fic` +- **Groupe(s) ancien(s) :** `ProtectionStd` +- **Groupe(s) Omika :** `ProtectionStd` +- **Compatibilité :** Omika ajoute `UT_IdRole`; l'ancien `UT_IDTypeProfil` est marqué zombie. + +| Rubrique ancienne / nouvelle | Libellé fonctionnel | Isis_BO | Omika | Type .NET conseillé | Statut | Clé, relation ou remarque | +|---|---|---|---|---|---|---| +| `UT_PKID` | Identifiant de Utilisateur | Identifiant automatique (8 octets) | Identifiant automatique (8 octets) | `long` | Commun | PK automatique | +| `UT_Login` | Login | Chaîne; taille 100 | Chaîne; taille 100 | `string` | Commun | | +| `UT_Nom` | Nom de l'utilisateur | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `UT_Prenom` | Prénom de l'utilisateur | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `UT_MotDePasse` | Mot De Passe | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `UT_MotDePasseAChanger` | Mot de passe à changer | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `UT_Email` | Email | Chaîne; taille 100 | Chaîne; taille 100 | `string` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `UT_TelMobile` | Téléphone Mobile | Chaîne; taille 25 | Chaîne; taille 25 | `string` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `UT_Administrateur` | Est un utilisateur admin | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `CreationDate` | Date de création | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `CreationUser` | Utilisateur de création | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `ModifDate` | Date de Modification | Date et Heure (aaaammjjhhmmssccc) | Date et Heure (aaaammjjhhmmssccc) | `DateTime` | Commun | | +| `ModifUser` | Utilisateur de modification | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `UT_IDCollaborateur` | Identifiant du Collaborateur | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `UT_IDSocietePrincipale` | Identifiant de la société principale | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun | | +| `UT_IDTypeProfil` | Identifiant du type de profil (zombie) | Entier sur 8 octets; défaut `0` | Entier sur 8 octets; défaut `0` | `long` | Commun, zombie dans Omika | ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet | +| `UT_CleLicenceMobile` | Clé de Licence Mobile | Chaîne; taille 50 | Chaîne; taille 50 | `string` | Commun | | +| `UT_AccesBO` | Acces au Back-Office | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `UT_AccesMobile` | Acces sur le Mobile | Booléen; défaut `0` | Booléen; défaut `0` | `bool` | Commun | | +| `UT_IdRole` | Identifiant Role (Profil) | — | Entier non signé sur 8 octets | `ulong` | Ajout Omika | | + +## 7. Liaisons déclarées dans Isis_BO + +| Contrainte | Parent | Cardinalité | Enfant | Cardinalité | Mise à jour | Suppression | +|---|---|---:|---|---:|---|---| +| `Contrainte_Action_Intervention` | `Intervention.IN_PKID` | 0,n | `Action.AC_IDIntervention` | 1,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Adresse_Client` | `Adresse.AD_PKID` | 0,n | `Client_Adresse.CA_IDAdresse` | 0,1 | Modification uniquement si pas d'enregistrement relié | Suppression uniquement si pas d'enregistrement relié | +| `Contrainte_BddExterne_Intervention_BddExt` | `BddExterne.BSX_PKID` | 0,n | `Intervention_BddExterne.INX_IDBddExterne` | 1,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_CheckList_Collaborateur` | `CheckList.CHK_PKID` | 0,n | `CheckList_Collab.CHC_IDCheckList` | 0,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_CheckList_Intervention` | `Intervention.IN_PKID` | 0,n | `CheckList.CHK_IDIntervention` | 0,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Client_Adresse` | `Client.CL_PKID` | 0,n | `Client_Adresse.CA_IDClient` | 0,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Client_BddExterne_BddExterne` | `BddExterne.BSX_PKID` | 0,n | `Client_BddExterne.CLX_IDBddExterne` | 1,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Client_Client_BddExterne` | `Client.CL_PKID` | 0,n | `Client_BddExterne.CLX_IDCLient` | 0,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Client_Client_Lieu` | `Client.CL_PKID` | 0,n | `Client_Lieu.CLI_IDClient` | 1,1 | Modification uniquement si pas d'enregistrement relié | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Client_Dossier` | `Client.CL_PKID` | 0,n | `Dossier.DO_IDClient` | 0,1 | Modification uniquement si pas d'enregistrement relié | Suppression uniquement si pas d'enregistrement relié | +| `Contrainte_Client_Personne` | `Client.CL_PKID` | 0,n | `Personne.PE_IDClient` | 0,1 | Modification en cascade des enregistrements reliés | Pas de suppression des enregistrements reliés | +| `Contrainte_Collaborateur_CheckList` | `Collaborateur.CO_PKID` | 0,n | `CheckList_Collab.CHC_IDCollaborateur` | 0,1 | Modification uniquement si pas d'enregistrement relié | Suppression uniquement si pas d'enregistrement relié | +| `Contrainte_Collaborateur_Equipe` | `Collaborateur.CO_PKID` | 0,n | `Equipe_Collaborateur.EC_IDCollaborateur` | 0,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Collaborateur_Intervention` | `Collaborateur.CO_PKID` | 0,n | `Intervention_Collaborateur.IC_IDCollaborateur` | 0,1 | Modification uniquement si pas d'enregistrement relié | Suppression uniquement si pas d'enregistrement relié | +| `Contrainte_Collaborateur_Societe` | `Collaborateur.CO_PKID` | 0,n | `Societe_Collaborateur.SC_IDCollaborateur` | 0,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_DocumentNote_Document` | `Document.DC_PKID` | 0,n | `DocumentNote.DN_IDDocument` | 1,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Dossier_Intervention` | `Dossier.DO_PKID` | 0,n | `Intervention.IN_IDDossier` | 0,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Equipe_Collaborateur` | `Equipe.EQ_PKID` | 0,n | `Equipe_Collaborateur.EC_IDEquipe` | 0,1 | Modification uniquement si pas d'enregistrement relié | Suppression uniquement si pas d'enregistrement relié | +| `Contrainte_Intervention_Collaborateur` | `Intervention.IN_PKID` | 0,n | `Intervention_Collaborateur.IC_IDIntervention` | 0,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Intervention_HistoriqueEtatIntervention` | `Intervention.IN_PKID` | 0,n | `EtatIntervention.EI_IDIntervention` | 1,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Intervention_Intervention_BddExt` | `Intervention.IN_PKID` | 0,n | `Intervention_BddExterne.INX_IDIntervention` | 1,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Intervention_MessageExterne` | `Intervention.IN_PKID` | 0,n | `MessageExterne.ME_IDIntervention` | 1,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Intervention_ParametreMetier` | `Intervention.IN_PKID` | 0,n | `Intervention_ChampLibre.ICL_IDIntervention` | 0,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Lieu_Adresse` | `Adresse.AD_PKID` | 0,n | `Lieu.LI_IDAdresse` | 0,1 | Modification uniquement si pas d'enregistrement relié | Suppression uniquement si pas d'enregistrement relié | +| `Contrainte_Lieu_Client_Lieu` | `Lieu.LI_PKID` | 0,n | `Client_Lieu.CLI_IDLieu` | 1,1 | Modification uniquement si pas d'enregistrement relié | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Lieu_Lieu_Personne` | `Lieu.LI_PKID` | 0,n | `Lieu_Personne.LIP_IDLieu` | 1,1 | Modification uniquement si pas d'enregistrement relié | Suppression en cascade des enregistrements reliés. | +| `Contrainte_MailModele_MailCat` | `MailModele.MM_Code` | 0,n | `MailCat.MMC_CodeModMail` | 1,1 | Modification uniquement si pas d'enregistrement relié | Suppression uniquement si pas d'enregistrement relié | +| `Contrainte_MessageInterne_Intervention` | `Intervention.IN_PKID` | 0,n | `MessageInterne.MI_IDIntervention` | 1,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_ParametreMetier_Intervention` | `ParametreMetier.PA_PKID` | 0,n | `Intervention_ChampLibre.ICL_IDParametreMetier` | 0,1 | Modification uniquement si pas d'enregistrement relié | Suppression uniquement si pas d'enregistrement relié | +| `Contrainte_ParametreMetier_ParametreMetierEntete` | `ParametreMetierEntete.PM_Code` | 0,n | `ParametreMetier.PA_Code` | 0,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Personne_Adresse` | `Adresse.AD_PKID` | 0,n | `Personne.PE_IDAdressePrincipale` | 0,1 | Modification uniquement si pas d'enregistrement relié | Suppression uniquement si pas d'enregistrement relié | +| `Contrainte_Personne_Lieu_Personne` | `Personne.PE_PKID` | 0,n | `Lieu_Personne.LIP_IDPersonne` | 1,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Personne_Planning_RDV` | `Personne.PE_PKID` | 0,n | `Planning_RDV_Personne.PRP_IDPersonne` | 0,1 | Modification uniquement si pas d'enregistrement relié | Suppression uniquement si pas d'enregistrement relié | +| `Contrainte_Societe_Adresse` | `Adresse.AD_PKID` | 0,n | `Societe.SO_IDAdressePrincipale` | 0,1 | Modification uniquement si pas d'enregistrement relié | Suppression uniquement si pas d'enregistrement relié | +| `Contrainte_Societe_Collaborateur` | `Societe.SO_PKID` | 0,n | `Societe_Collaborateur.SC_IDCSociete` | 0,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Societe_Equipe` | `Societe.SO_PKID` | 0,n | `Equipe.EQ_IDSociete` | 0,1 | Modification uniquement si pas d'enregistrement relié | Suppression uniquement si pas d'enregistrement relié | +| `Contrainte_SuiviDesTemps_Intervention` | `Intervention.IN_PKID` | 0,n | `SuiviDesTemps.SDT_IDIntervention` | 0,1 | Modification en cascade des enregistrements reliés | Pas de suppression des enregistrements reliés | +| `Contrainte_Telephone_Personne` | `Personne.PE_PKID` | 0,n | `Telephone.TE_IDPersonne` | 0,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | + +## 8. Liaisons déclarées dans Omika + +| Contrainte | Parent | Cardinalité | Enfant | Cardinalité | Mise à jour | Suppression | +|---|---|---:|---|---:|---|---| +| `Contrainte_Action_Intervention` | `Intervention.IN_PKID` | 0,n | `Action.AC_IDIntervention` | 1,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Adresse_Client` | `Adresse.AD_PKID` | 0,n | `Client_Adresse.CA_IDAdresse` | 0,1 | Modification uniquement si pas d'enregistrement relié | Suppression uniquement si pas d'enregistrement relié | +| `Contrainte_BddExterne_Intervention_BddExt` | `BddExterne.BSX_PKID` | 0,n | `Intervention_BddExterne.INX_IDBddExterne` | 1,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_CheckList_Collaborateur` | `CheckList.CHK_PKID` | 0,n | `CheckList_Collab.CHC_IDCheckList` | 0,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_CheckList_Intervention` | `Intervention.IN_PKID` | 0,n | `CheckList.CHK_IDIntervention` | 0,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Client_Adresse` | `Client.CL_PKID` | 0,n | `Client_Adresse.CA_IDClient` | 0,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Client_BddExterne_BddExterne` | `BddExterne.BSX_PKID` | 0,n | `Client_BddExterne.CLX_IDBddExterne` | 1,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Client_Client_BddExterne` | `Client.CL_PKID` | 0,n | `Client_BddExterne.CLX_IDCLient` | 0,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Client_Client_Lieu` | `Client.CL_PKID` | 0,n | `Client_Lieu.CLI_IDClient` | 1,1 | Modification uniquement si pas d'enregistrement relié | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Client_Dossier` | `Client.CL_PKID` | 0,n | `Dossier.DO_IDClient` | 0,1 | Modification uniquement si pas d'enregistrement relié | Suppression uniquement si pas d'enregistrement relié | +| `Contrainte_Client_Personne` | `Client.CL_PKID` | 0,n | `Personne.PE_IDClient` | 0,1 | Modification en cascade des enregistrements reliés | Pas de suppression des enregistrements reliés | +| `Contrainte_Collaborateur_CheckList` | `Collaborateur.CO_PKID` | 0,n | `CheckList_Collab.CHC_IDCollaborateur` | 0,1 | Modification uniquement si pas d'enregistrement relié | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Collaborateur_Equipe` | `Collaborateur.CO_PKID` | 0,n | `Equipe_Collaborateur.EC_IDCollaborateur` | 0,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Collaborateur_Societe` | `Collaborateur.CO_PKID` | 0,n | `Societe_Collaborateur.SC_IDCollaborateur` | 0,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_DocumentNote_Document` | `Document.DC_PKID` | 0,n | `DocumentNote.DN_IDDocument` | 1,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Dossier_Intervention` | `Dossier.DO_PKID` | 0,n | `Intervention.IN_IDDossier` | 0,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Equipe_Collaborateur` | `Equipe.EQ_PKID` | 0,n | `Equipe_Collaborateur.EC_IDEquipe` | 0,1 | Modification uniquement si pas d'enregistrement relié | Suppression uniquement si pas d'enregistrement relié | +| `Contrainte_Intervention_HistoriqueEtatIntervention` | `Intervention.IN_PKID` | 0,n | `EtatIntervention.EI_IDIntervention` | 1,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Intervention_Intervention_BddExt` | `Intervention.IN_PKID` | 0,n | `Intervention_BddExterne.INX_IDIntervention` | 1,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Intervention_MessageExterne` | `Intervention.IN_PKID` | 0,n | `MessageExterne.ME_IDIntervention` | 1,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Intervention_ParametreMetier` | `Intervention.IN_PKID` | 0,n | `Intervention_ChampLibre.ICL_IDIntervention` | 0,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Lieu_Adresse` | `Adresse.AD_PKID` | 0,n | `Lieu.LI_IDAdresse` | 0,1 | Modification uniquement si pas d'enregistrement relié | Suppression uniquement si pas d'enregistrement relié | +| `Contrainte_Lieu_Client_Lieu` | `Lieu.LI_PKID` | 0,n | `Client_Lieu.CLI_IDLieu` | 1,1 | Modification uniquement si pas d'enregistrement relié | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Lieu_Lieu_Personne` | `Lieu.LI_PKID` | 0,n | `Lieu_Personne.LIP_IDLieu` | 1,1 | Modification uniquement si pas d'enregistrement relié | Suppression en cascade des enregistrements reliés. | +| `Contrainte_MessageInterne_Intervention` | `Intervention.IN_PKID` | 0,n | `MessageInterne.MI_IDIntervention` | 1,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_ParametreMetier_Intervention` | `ParametreMetier.PA_PKID` | 0,n | `Intervention_ChampLibre.ICL_IDParametreMetier` | 0,1 | Modification uniquement si pas d'enregistrement relié | Suppression uniquement si pas d'enregistrement relié | +| `Contrainte_ParametreMetier_ParametreMetierEntete` | `ParametreMetierEntete.PM_Code` | 0,n | `ParametreMetier.PA_Code` | 0,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Personne_Adresse` | `Adresse.AD_PKID` | 0,n | `Personne.PE_IDAdressePrincipale` | 0,1 | Modification uniquement si pas d'enregistrement relié | Suppression uniquement si pas d'enregistrement relié | +| `Contrainte_Personne_Lieu_Personne` | `Personne.PE_PKID` | 0,n | `Lieu_Personne.LIP_IDPersonne` | 1,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Personne_Planning_RDV` | `Personne.PE_PKID` | 0,n | `Planning_RDV_Personne.PRP_IDPersonne` | 0,1 | Modification uniquement si pas d'enregistrement relié | Suppression en cascade des enregistrements reliés. | +| `Contrainte_RDV_Collaborateur_RDV_Planning` | `RDV_Planning.GUID` | 0,n | `RDV_Collaborateur.RVC_GUID_RDV` | 1,1 | Modification uniquement si pas d'enregistrement relié | Suppression uniquement si pas d'enregistrement relié | +| `Contrainte_RDV_Contact_Personne` | `Personne.GUID` | 0,n | `RDV_Contact.RVCT_GUID_Pers` | 1,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_RDV_Planning_RDV_Contact` | `RDV_Planning.GUID` | 0,n | `RDV_Contact.RVCT_GUID_RDV` | 1,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Societe_Adresse` | `Adresse.AD_PKID` | 0,n | `Societe.SO_IDAdressePrincipale` | 0,1 | Modification uniquement si pas d'enregistrement relié | Suppression uniquement si pas d'enregistrement relié | +| `Contrainte_Societe_Collaborateur` | `Societe.SO_PKID` | 0,n | `Societe_Collaborateur.SC_IDCSociete` | 0,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | +| `Contrainte_Societe_Equipe` | `Societe.SO_PKID` | 0,n | `Equipe.EQ_IDSociete` | 0,1 | Modification uniquement si pas d'enregistrement relié | Suppression uniquement si pas d'enregistrement relié | +| `Contrainte_SuiviDesTemps_Intervention` | `Intervention.IN_PKID` | 0,n | `SuiviDesTemps.SDT_IDIntervention` | 0,1 | Modification en cascade des enregistrements reliés | Pas de suppression des enregistrements reliés | +| `Contrainte_Telephone_Personne` | `Personne.PE_PKID` | 0,n | `Telephone.TE_IDPersonne` | 0,1 | Modification en cascade des enregistrements reliés | Suppression en cascade des enregistrements reliés. | + +### Différences structurelles importantes des liaisons + +- Isis_BO déclare deux liaisons autour de `Intervention_Collaborateur`; cette table disparaît dans Omika. +- Isis_BO déclare une liaison `MailModele.MM_Code -> MailCat.MMC_CodeModMail`; elle n’est plus déclarée dans Omika alors que les tables subsistent. +- Omika ajoute trois liaisons du nouveau modèle RDV : `RDV_Planning -> RDV_Collaborateur`, `Personne -> RDV_Contact` et `RDV_Planning -> RDV_Contact`. +- Aucune liaison n’est déclarée entre `Collaborateur.GUID` et `RDV_Collaborateur.RVC_GUID_Colb` dans l’export Omika. L’intégrité doit être confirmée ou gérée explicitement dans l’API. + +## 9. Anomalies du dictionnaire global WINDEV + +Les noms suivants apparaissent comme utilisés dans le dictionnaire global, mais ne correspondent à aucune rubrique des définitions détaillées de tables après comparaison globale. Ils peuvent être des alias historiques, des rubriques supprimées, des noms tronqués par l’export ou des métadonnées de dictionnaire. **Ne pas générer de propriété persistée à partir de ces noms sans vérification dans la WDA.** + +### Isis_BO — 12 noms actifs ambigus + +`AC_`, `CL_IDContactDefaut`, `CO_Civilite`, `DO_Description`, `HEI_`, `IDCompteRendu`, `IDIntervention_ChampLibre`, `IDParametreSysteme`, `PAP_ListeParametre`, `PL_Pri`, `RolePersonne`, `TE_Duree` + +### Omika — 14 noms actifs ambigus + +`AC_`, `AED_IdAcces`, `CL_IDContactDefaut`, `CO_Civilite`, `DO_Description`, `HEI_`, `IDCompteRendu`, `IDIntervention_ChampLibre`, `IDParametreSysteme`, `PAP_ListeParametre`, `PL_Pri`, `RolePersonne`, `RVC_IdColb`, `TE_Duree` + +### Entrées explicitement marquées `<Inutilisée>` dans les deux dictionnaires + +Nombre de noms communs : **286**. + +- **(sans préfixe)** : `CleComp`, `EmailPersonne`, `IDAction`, `IDADRESSE`, `IDCheckList`, `IDClient`, `IDCollaboteur`, `IDCompteur`, `IDDocument`, `IDDocumentNote`, `IDEquipe`, `IDHistoriqueEtatIntervention`, `IDIntervention`, `IDLieu`, `IDLots`, `IDMessageExterne`, `IDMessageInterne`, `IDMobile`, `IDMobLog`, `IDMobReception`, `IDModeleRapportMob`, `IDParametreApplication`, `IDPARAMETREMETIER`, `IDParametreMetierEntete`, `IDParametreUtilisateur`, `IDPersonne`, `IDSociete`, `IDTelephone`, `IDTemps`, `IDUtilisateur`, `Login`, `MotDePasseAChanger`, `NbJrsDepuisDerniereModif`, `NomPersonne`, `NomSociete`, `PEFax`, `PrenomPersonne`, `SIRETSociete`, `Te`, `TelFixePersonne`, `TelPersonne`, `TelPortablePersonne`, `ValeurDuChamp` +- **AC** : `AC_IDTypeQui` +- **AD** : `AD_AdresseLigne_1`, `AD_AdresseLigne_2`, `AD_AdresseLigne_3`, `AD_AdresseLigne_4`, `AD_AdresseLigne_5`, `AD_CodePostalAdresse`, `AD_CreationDate`, `AD_CreationUser`, `AD_IDAdresse`, `AD_LigneAdresse_1`, `AD_LigneAdresse_2`, `AD_LigneAdresse_3`, `AD_LigneAdresse_4`, `AD_LigneAdresse_5`, `AD_ModifDate`, `AD_ModifUser`, `AD_Nom`, `AD_PresentationAdresse`, `AD_VilleAdresse` +- **Belogik** : `Belogik_Adresse_ligne`, `Belogik_Créé_par`, `Belogik_ModificationUser` +- **CA** : `CA_IDClient_AD_IDAdresse` +- **CHC** : `CHC_IDCollaborateur_CHC_IDCheckLis` +- **CL** : `CL_AdresseClient`, `CL_AdresseClient_1`, `CL_AdresseClient_2`, `CL_AdresseClient_3`, `CL_AdresseClient_4`, `CL_AdresseClient_5`, `CL_Apporteur`, `CL_CodePostalClient`, `CL_CompteComptable`, `CL_CreationDate`, `CL_CreationUser`, `CL_IDClient`, `CL_IDClient_AD_IDAdresse`, `CL_IDSitePrincipal`, `CL_IDStatutClient`, `CL_IDTypeAdresse`, `CL_IDTypeClient`, `CL_ModifDate`, `CL_ModifUser`, `CL_NomClient`, `CL_Origine`, `CL_PresentationAdresse`, `CL_PresentationAdresseClient`, `CL_VilleClient` +- **CLX** : `CLX_IDBaseExt` +- **CMI** : `CMI_CMD`, `CMI_DATE`, `CMI_FROM`, `CMI_JSON`, `CMI_PKID` +- **CMO** : `CMO_CMD`, `CMO_DATE`, `CMO_JSON`, `CMO_PKID`, `CMO_TO` +- **CO** : `CO_IDUtilisateur`, `CO_UtiliseBO`, `CO_UtiliseMobile` +- **CPT** : `CPT_AvecPrefixe`, `CPT_Longueur`, `CPT_ParAn` +- **CR** : `CR_DateSignature`, `CR_GUID` +- **DC** : `DC_DroitAcces`, `DC_GUID` +- **DE** : `DE_Description`, `DE_IDAdressePrincipale`, `DE_IDDemandeur`, `DE_IDDestination`, `DE_IDPriorite`, `DE_IDStatut`, `DE_IDSuiveur`, `DE_IDTypeDemandeur`, `DE_PKID`, `DE_RefExterne`, `DE_RefInterne` +- **DL** : `DL_IDDossier`, `DL_IDLieu`, `DL_PKID` +- **DN** : `DN_GUID` +- **DO** : `DO_IDDemandeur`, `DO_IDSuiveur` +- **DP** : `DP_IDDossier`, `DP_IDPersonne`, `DP_PKID` +- **HEI** : `HEI_DateDebut`, `HEI_DateFin`, `HEI_Description`, `HEI_IDEtat`, `HEI_IDIntervention`, `HEI_PKID` +- **IC** : `IC_IDIntervention_IC_IDCollaborateur` +- **ICL** : `ICL_IDInterventionICL_IDParametreM` +- **ICP** : `ICP_IDClient`, `ICP_IDImport`, `ICP_IDIntervention`, `ICP_IDPersonne`, `ICP_PKID` +- **IDCheckList** : `IDCheckList_Collab` +- **IDClient** : `IDClient_Lieu` +- **IDEquipe** : `IDEquipe_Collaborateur` +- **IDIntervention** : `IDIntervention_Client_Personne`, `IDIntervention_Collaborateur`, `IDIntervention_Lieu_Personne`, `IDIntervention_Lot`, `IDIntervention_Personne` +- **IDLieu** : `IDLieu_Personne` +- **IDPlanning** : `IDPlanning_RDV` +- **IDSociete** : `IDSociete_Collaborateur` +- **IL** : `IL_IDIntervention`, `IL_IDIntervention_IL_IDLot`, `IL_IDLot`, `IL_PKID` +- **ILP** : `ILP_Etage`, `ILP_IDIntervention`, `ILP_IDIntervention_ILP_IDLieuPersonn`, `ILP_IDLieu`, `ILP_IDLieuPersonne`, `ILP_IDPersonne`, `ILP_Lot`, `ILP_PKID` +- **IN** : `IN_ChpPersonnalise1`, `IN_ChpPersonnalise2`, `IN_CodeBddExterne`, `IN_CodeExterne`, `IN_IDSuiveur` +- **INX** : `INX_IDBaseExt` +- **LI** : `LI_Archive`, `LI_CreationDate`, `LI_CreationUser`, `LI_DateArchivage`, `LI_ModifDate`, `LI_ModifUser` +- **LO** : `LO_IDLieu`, `LO_Localisation`, `LO_Nom`, `LO_PKID` +- **LP** : `LP_IDLot`, `LP_IDPersonne`, `LP_PKID` +- **MC** : `MC_Code`, `MC_Nom`, `MC_Note`, `MC_Ordre`, `MC_PKID`, `MC_System` +- **MM** : `MM_Corps` +- **MRM** : `MRM_Actif` +- **PA** : `PA_AjoutParametreMetier`, `PA_CodeParametreMetier`, `PA_Custom`, `PA_CustomCodeParametreMetier`, `PA_CustomParametreMetier`, `PA_Est`, `PA_EstModifiableParametreMetier`, `PA_LibelleParametreMetier`, `PA_NumeroParametreMetier`, `PA_OrdreParametreMetier`, `PA_ValeurParametreMetier`, `PA_Visible` +- **PAP** : `PAP_Categorie` +- **PE** : `PE_AdressePersonne_1`, `PE_AdressePersonne_2`, `PE_AdressePersonne_3`, `PE_AdressePersonne_4`, `PE_AdressePersonne_5`, `PE_AdresseSociete_4`, `PE_CodePostalPersonne`, `PE_CreationDate`, `PE_CreationUser`, `PE_EmailPersonne`, `PE_Etage`, `PE_IDRolePersonne`, `PE_ModifDate`, `PE_ModifUser`, `PE_NomPersonne`, `PE_PrenomPersonne`, `PE_PresentationAdressePersonne`, `PE_TelFixePersonne`, `PE_TelMobilePersonne`, `PE_TelPortablePersonne`, `PE_VillePersonne` +- **PL** : `PL_Descriptif`, `PL_Duree`, `PL_EstSuperposable`, `PL_GUID`, `PL_PKID_PE_PKID` +- **PM** : `PM_Contexte`, `PM_FormatValeur`, `PM_JSONSpec`, `PM_Personnalisable` +- **PT** : `PT_Description`, `PT_Libelle`, `PT_Personnalisable`, `PT_PKID` +- **SC** : `SC_IDCSociete_IDCollaborateur`, `SC_IDCSocieteSC_IDCollaborateur`, `SC_IDCSocite` +- **SDT** : `SDT_Collaborateur`, `SDT_DateFin`, `SDT_HeureDebut`, `SDT_HeureFin`, `SDT_Intervention`, `SDT_Partenaire` +- **SO** : `SO_AdresseSociete_1`, `SO_AdresseSociete_2`, `SO_AdresseSociete_3`, `SO_AdresseSociete_4`, `SO_AdresseSociete_5`, `SO_CodePostalSociete`, `SO_CreationDate`, `SO_CreationUser`, `SO_LigneAdresse_1`, `SO_LigneAdresse_2`, `SO_LigneAdresse_3`, `SO_LigneAdresseSociete_1`, `SO_LigneAdresseSociete_2`, `SO_ModifDate`, `SO_ModifUser`, `SO_NomSociete`, `SO_PKID_CO_PKID`, `SO_PresentationAdressePersonne`, `SO_PresentationAdresseSociete`, `SO_SIRETSociete`, `SO_VilleSociete` +- **TE** : `TE_Collaborateur`, `TE_Date`, `TE_DateDebut`, `TE_IDTypeTemps`, `TE_Intervention`, `TE_Libelle`, `TE_NbHeure`, `TE_NbMinutes`, `TE_Partenaire` +- **UT** : `UT_CleLicence`, `UT_IDProfil`, `UT_SansLicence`, `UT_UtiliseBO` + +### Entrées `<Inutilisée>` uniquement dans le dictionnaire Isis_BO + +Nombre : **0**. + + +### Entrées `<Inutilisée>` uniquement dans le dictionnaire Omika + +Nombre : **24**. + +- **(sans préfixe)** : `IDCategorieAcces`, `IDElementModifie`, `IDElementSupprime`, `IDEtats`, `IDModeleRapport`, `IDRendezVousPlanning`, `IDRole`, `IDRubriquesDocument` +- **AD** : `AD_Index_Adresse` +- **GUID** : `GUID_Pers`, `GUID_RDV` +- **IC** : `IC_IDCollaborateur`, `IC_IDIntervention`, `IC_PKID` +- **IDDoc** : `IDDoc_Aide` +- **IDRDV** : `IDRDV_Collaborateur`, `IDRDV_Contact` +- **PE** : `PE_Role` +- **RD** : `RD_Type` +- **RV** : `RV_CR`, `RV_Superposable` +- **RVC** : `RVC_IdRDV` +- **RVCT** : `RVCT_IdPersonne`, `RVCT_IdRdv` + +## 10. Règles de génération recommandées pour la prochaine étape + +1. Générer deux espaces de noms de persistance, par exemple `Infrastructure.Hfsql.IsisBo.Rows` et `Infrastructure.Hfsql.Omika.Rows`. +2. Conserver les noms de rubriques HFSQL dans les mappings, pas nécessairement dans les noms publics des propriétés. +3. Ne jamais supprimer des modèles physiques les rubriques zombie tant qu’une base Omika réelle peut encore les contenir ou que les migrations les lisent. +4. Ne pas exposer les rubriques zombie dans les nouveaux contrats métier, sauf dans un objet de migration interne. +5. Représenter les clés composées comme index et objets de clé, plutôt que comme propriétés métier modifiables. +6. Utiliser des convertisseurs explicites pour les dates vides, heures, GUID en chaîne, booléens et valeurs `0` signifiant « absent ». +7. Introduire un agrégat canonique `RendezVous` distinct des lignes physiques `Planning_RDV` et `RDV_Planning`. +8. Prévoir une table de correspondance ou une règle déterministe entre identifiants numériques historiques, clés métier Omika et GUID. +9. Valider sur une copie de chaque base réelle les longueurs, nullabilités, index uniques, encodages ANSI/Unicode et valeurs extrêmes avant de figer les annotations ORM. +10. Écrire des tests de contrat qui exécutent les mêmes cas métier contre les deux adaptateurs de persistance. + +## 11. Points encore à confirmer avant génération de code + +- nullabilité effective de chaque rubrique dans les fichiers HFSQL ; +- clés uniques et clés avec doublons, dont les indicateurs visuels ne sont pas conservés de façon fiable dans l’export Markdown ; +- comportement exact du provider .NET choisi pour `Date`, `Heure`, `DateHeure`, mémo et identifiants automatiques ; +- format réel des GUID en chaîne et garantie d’unicité ; +- stratégie fonctionnelle entre `Planning_RDV` et le nouvel ensemble `RDV_Planning` / `RDV_Collaborateur` / `RDV_Contact` ; +- statut réel de `DO_IDStatut`, qui coexiste avec `DO_CleStatut` mais n’est pas libellé zombie dans la définition détaillée ; +- intégrité attendue de `RVC_GUID_Colb` vers `Collaborateur.GUID` ; +- tables et rubriques réellement présentes dans les bases de production, qui peuvent être en retard ou en avance sur les analyses documentées. + +--- + +Document généré exclusivement à partir de `BATIK.md`, `OMIKA.md` et de l’analyse de migration précédente. Les descriptions fonctionnelles non explicitement libellées dans les sources sont signalées comme inférences. diff --git a/docs/hfsql-odbc-probe.md b/docs/hfsql-odbc-probe.md new file mode 100644 index 0000000..4582cd2 --- /dev/null +++ b/docs/hfsql-odbc-probe.md @@ -0,0 +1,114 @@ +# HFSQL ODBC Capability Probe + +## ⚠ CRITICAL — pour base de test / clone uniquement + +Cet outil est **exclusivement réservé à une base clone ou de test**. +Il ne doit **jamais** être lancé contre une base de production. + +Les probes d'écriture (`transaction`, `returning`) effectuent des INSERT temporaires +(avec ROLLBACK), mais un auto-incrément peut être consommé même après rollback. + +## Pourquoi cet outil ? + +Avant d'implémenter la création de Client (`POST /clients`), nous devons confirmer +expérimentalement que le driver ODBC HFSQL supporte : + +1. `INSERT INTO ... RETURNING <colonne_auto_id>` via `OdbcCommand.ExecuteScalar()` et `ExecuteReader()` +2. Les transactions (BEGIN / ROLLBACK) +3. Le format de GUID Omika (32 caractères, format `N`) + +Ces capacités ne peuvent pas être vérifiées sans une connexion réelle. + +## Commandes + +``` +dotnet run --project tools/Omika.HfSqlProbe -- <commande> <options> +``` + +### `capabilities` — lecture seule + +Affiche les informations du driver ODBC et teste `SELECT 1`. + +``` +dotnet run --project tools/Omika.HfSqlProbe -- capabilities --connection-string "<DSN>" +``` + +### `transaction` — écriture (exige `--allow-write-probe`) + +Teste BEGIN / INSERT / SELECT / ROLLBACK sur une table de test. + +``` +dotnet run --project tools/Omika.HfSqlProbe -- transaction ` + --connection-string "<DSN>" ` + --allow-write-probe ` + --table ProbeTable ` + --marker-column TestMarker +``` + +### `returning` — écriture (exige `--allow-write-probe`) + +Teste `INSERT ... RETURNING` via **ExecuteScalar** et **ExecuteReader**. + +``` +dotnet run --project tools/Omika.HfSqlProbe -- returning ` + --connection-string "<DSN>" ` + --allow-write-probe ` + --table ProbeTable ` + --id-column PKID ` + --marker-column TestMarker +``` + +### `omika-guid` — lecture seule + +Statistiques sur les GUID de la table Client (longueur 32/36, doublons). + +``` +dotnet run --project tools/Omika.HfSqlProbe -- omika-guid --connection-string "<DSN>" +``` + +## Options + +| Option | Description | +|---|---| +| `--connection-string` | Chaîne ODBC HFSQL (DSN=...) — obligatoire | +| `--allow-write-probe` | Confirme l'utilisation sur une base clone/test (obligatoire pour writes) | +| `--table` | Table pour les probes d'écriture | +| `--id-column` | Colonne auto-ID (défaut : PKID) | +| `--marker-column` | Colonne recevant la valeur marqueur (défaut : Marker) | +| `--schema` | `batik` ou `omika` (pour probes spécifiques Client) | +| `--use-client-table` | Écriture sur la table Client (clone DB uniquement !) | + +## Codes de sortie + +| Code | Signification | +|---|---| +| 0 | Succès | +| 1 | Capacité testée non supportée / échec | +| 2 | Arguments invalides / sécurité | +| 3 | Connexion impossible | + +## Ordre recommandé pour le premier test réel + +1. **`capabilities`** sur une clone — valider le driver et la connexion +2. **`returning`** sur une table de test dédiée avec colonne auto-ID — prouver que RETURNING fonctionne +3. **`transaction`** sur la même table — prouver l'isolation +4. Si 1/2/3 sont verts : **`omika-guid`** pour les statistiques GUID +5. Ensuite seulement : tests spécifiques Client Batik/Omika + +## Niveaux de validation + +- **Niveau 1** : capacité générique du driver (`returning`, `transaction`) +- **Niveau 2** : INSERT Client physique (Batik ou Omika) — nécessite le niveau 1 validé + +## Protection anti-production + +- `--allow-write-probe` est obligatoire pour toute commande d'écriture +- La connection string n'est jamais lue automatiquement (pas de appsettings.json) +- Les credentials sont masqués dans les messages d'erreur +- Les identifiants SQL sont strictement validés (`\A[A-Za-z_][A-Za-z0-9_]*\z`) + +## Limitations connues + +- La validation RETURNING n'a pas encore été exécutée contre un vrai driver HFSQL +- L'outil ne prouve pas comment l'application historique Omika générait ses GUID +- Un auto-ID peut être consommé par HFSQL même après ROLLBACK diff --git a/docs/maquetteOmika.html b/docs/maquetteOmika.html new file mode 100644 index 0000000..f25914b --- /dev/null +++ b/docs/maquetteOmika.html @@ -0,0 +1,622 @@ +<!doctype html> +<html lang="fr"> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"> + <meta name="theme-color" content="#4f46e5" id="themeMeta"> + <meta name="color-scheme" content="light dark"> + <title>Omika — Maquette fonctionnelle terrain + + + +
+ + + +
+
+
+ +
Omika · Espace terrain

Mes rendez-vous

+
+
+ + +
+
+
+ +
+
+ + + + + + + + + + +
+ + + + diff --git a/docs/modeles-email-rapport.md b/docs/modeles-email-rapport.md new file mode 100644 index 0000000..6346056 --- /dev/null +++ b/docs/modeles-email-rapport.md @@ -0,0 +1,62 @@ +# Modèles de courriel et de rapport — génération compatible Batik / Omika + +> Implémentation de la **génération d'un email/rapport à partir d'un modèle** +> (substitution des rubriques), utilisable dans l'application mobile quelle que +> soit la base connectée (Batik ou Omika). + +## 1. Comportement reproduit + +En WINDEV, la génération d'un email/rapport correspond à : + +1. choisir un modèle (`MailModele` / `ModeleRapport`) ; +2. insérer des rubriques/mots-clés (`MotClef`, `RubriquesDocument`) ; +3. substituer ces jetons par les données réelles (client, intervention, dates…) ; +4. prévisualiser puis envoyer/enregistrer. + +La présente implémentation reproduit l'étape 3 (substitution) côté .NET, avec une +dégradation propre sur Batik (qui n'a ni `ModeleRapport`, ni `RubriquesDocument`). + +## 2. Convention provisoire de jetons + +Les jetons sont délimités par `[[` et `]]`, insensibles à la casse : + +``` +Bonjour [[NomClient]], intervention du [[DateIntervention]]. +``` + +La clé correspond au `MotClef.Mot` (ou `MotClef.Code`, ou à une rubrique Omika). + +> ⚠️ **Convention provisoire.** La syntaxe réelle de `LIB_RubMailRapport` / +> `LIB_ModelesEmails` n'est pas dans les exports WINDEV. Le moteur est isolé dans +> `Omika.Core/Services/RubriqueSubstitutionEngine.cs` : il suffit d'ajuster le +> délimiteur pour s'aligner sur la syntaxe exacte lorsque celle-ci sera connue. + +## 3. Compatibilité Batik / Omika + +| Capacité | Batik | Omika | +|---|---|---| +| Modèles de courriel (`MailModele`) | ✅ (sans `MM_Extra`/`MM_EnvoiMob`) | ✅ | +| Modèles de rapport | lecture seule via l'ancien `ModeleRapportMob` | `ModeleRapport` | +| Mots-clés de substitution (`MotClef`) | ✅ | ✅ | +| Rubriques structurées (`RubriquesDocument`) | ❌ (liste vide) | ✅ | + +La dégradation s'appuie sur `SchemaCapabilities.SupportsReportModels` / +`SupportsDocumentFields` et sur les repositories adaptatifs. + +## 4. Endpoints ajoutés + +- `GET /modele-mails` / `GET /modele-mails/{id}` +- `GET /modele-rapports` / `GET /modele-rapports/{id}` +- `GET /mot-clefs` +- `GET /rubriques-documents` (vide sur Batik) +- `POST /generation/email` — `{ modelId, values, langue? }` → `{ sujet, corps, unknownTokens }` +- `POST /generation/rapport` + +## 5. Reste à faire (côté mobile) + +1. Appeler les endpoints depuis `Omika.App.Local` (`MobileApiClient`) ; +2. mettre en cache les modèles/mots-clés (SQLite) ; +3. appliquer la substitution **localement** avec `RubriqueSubstitutionEngine` + (déjà dans `Omika.Core`, donc disponible sur mobile) ; +4. écran « Générer un email/rapport » (Avalonia) + envoi du courriel via + `MessageExterne` ou enregistrement du rapport comme `Document`. diff --git a/docs/niveau-3-modele-canonique.md b/docs/niveau-3-modele-canonique.md new file mode 100644 index 0000000..5b3afd3 --- /dev/null +++ b/docs/niveau-3-modele-canonique.md @@ -0,0 +1,327 @@ +# Niveau 3 — Modèle métier canonique et contrats API + +## Rôle des dossiers de `Omika.Core` + +### `Domain/` + +Le domaine contient les **entités métier canoniques**, indépendantes du stockage. + +Elles correspondent aux concepts fonctionnels de l'application : + +- Client, Adresse, Contact, Site ; +- Societe, Collaborateur, Equipe, Utilisateur ; +- Dossier, Intervention, ActionIntervention, CompteRendu, Checklist ; +- RendezVous et ses éléments associés ; +- Document et modèles de courrier/rapport ; +- Role, Permission, DroitAcces ; +- ParametreMetier, ParametreApplication, PreferenceUtilisateur. + +Elles ne portent : + +- aucun attribut HFSQL ; +- aucun préfixe de rubrique physique (`CL_`, `IN_`, `PL_`, `RDV_`…) ; +- aucun champ zombie. + +Les **objets de valeur** (`ValueObjects/`) représentent des valeurs sans identité : + +- `ReferenceValue` (valeur de référentiel configurable) ; +- `DateTimeRange` (plage horaire validée) ; +- `PostalAddress`, `ContactDetails` ; +- `ExternalReference` (référence vers Batigest / base externe). + +Les **exceptions** (`Exceptions/`) portent les erreurs de validation du domaine. + +### `Contracts/` + +Les contrats sont utilisés entre `Omika.Api` et `Omika.App`. + +Ce sont des DTO purs : + +- résumés de liste ; +- détails ; +- requêtes de création / modification / recherche ; +- DTO communs (pagination, enveloppe d'erreur, référence, adresse, coordonnées). + +**Distinction `AddressDto` / `AdresseDto` :** + +- `AddressDto` (`Contracts/Common`) : adresse postale simple, sans identité + (libellé, lignes, code postal, ville, pays). Réutilisée partout où une + adresse postale brute est nécessaire. +- `AdresseDto` (`Contracts/Clients`) : adresse d'une entité du domaine Clients, + avec identifiant, type, indicateurs (« principale », « archivée ») et une + adresse postale optionnelle (`AdressePostale`). Il ne s'agit pas d'un doublon + de `AddressDto` : l'un est une valeur, l'autre un conteneur d'entité. + +Ils ne contiennent : + +- aucun attribut HFSQL ; +- aucune propriété à préfixe physique ; +- aucune dépendance vers `Omika.Data` ; +- aucun champ zombie ; +- aucun mot de passe ni objet de connexion ; +- aucun graphe cyclique. + +### `Compatibility/` + +Les types de compatibilité conservent la **provenance** des données sans exposer +la structure physique : + +- `DatabaseSchemaVersion` (Unknown / Batik / Omika) ; +- `DatabaseSource` (version + nom logique de base) ; +- `LegacyEntityReference` (référence vers l'enregistrement d'origine) ; +- `SchemaCapabilities` (capacités déclarées d'un schéma) ; +- `CanonicalMappingResult` (résultat d'un mapping physique → canonique). + +### `Interfaces/`, `Abstractions/`, `Constants/`, `Runtime/`, `Mapping/` + +- `Interfaces/` : services métier (voir ci-dessous). +- `Abstractions/` : abstractions techniques existantes, non touchées. +- `Constants/` : constantes existantes. +- `Runtime/` : contexte d'exécution existant, non touché. +- `Mapping/` : mappers purs entité métier → DTO. + +## Différence entre une entité métier et un modèle physique + +| Modèle physique (Omika.Data) | Entité métier (Omika.Core.Domain) | +|---|---| +| Correspond aux tables HFSQL (`Document.fic`, `Planning_RDV`…) | Correspond aux concepts fonctionnels (Document, RendezVous…) | +| Porte des rubriques préfixées (`DC_Categorie`, `PL_PKID`…) | Porte des propriétés métier nommées sans préfixe | +| Marque les rubriques zombie | Ne contient jamais de champ zombie | +| Connaît les clés internes et la version physique | Connaît uniquement les identifiants canoniques et la provenance | + +La chaîne attendue : + +``` +Modèle physique Batik (Isis_BO) Modèle physique Omika + | | + +----------> Modèle métier canonique <-+ + | + v + Contrat API + | + v + Application Avalonia +``` + +Le mapping **physique → métier** reste dans `Omika.Data`. +Le mapping **métier → DTO** est dans `Omika.Core/Mapping`. + +## Différence entre une entité métier et un DTO + +| Entité métier | DTO (contrat) | +|---|---| +| Évolue dans le temps (classe) | Immutable par convention (`record` avec propriétés `init`) | +| Expose des collections contrôlées (`Add*`) | Expose des listes `IReadOnlyList` en lecture seule | +| Peut contenir des objets de valeur du domaine | Ne contient que des DTO ou types primitifs | +| Vit dans `Domain/` | Vit dans `Contracts/` | +| N'est jamais sérialisé tel quel | Est la frontière de l'API | + +## Stratégie des identifiants + +Les identifiants publics des contrats sont des **chaînes** afin de permettre +temporairement : + +- le GUID Omika ; +- l'identifiant historique Batik (Isis_BO) ; +- une clé métier. + +Le domaine utilise `Guid Id` (identifiant canonique) plus +`LegacyEntityReference? SourceReference` pour conserver la référence d'origine +sans exposer la clé physique. + +`LegacyEntityReference.PublicIdentifier` fournit une représentation publique +stable (GUID → clé métier → identifiant numérique → GUID physique → ImportId). + +Un helper de représentation publique des identifiants peut être ajouté plus tard +si le besoin se fait sentir côté API/mobile. + +## Stratégie des paramètres métier + +Les paramètres métier (type de client, statut, type d'activité, priorité…) sont +représentés par `ReferenceValue` : + +- `Key` : clé métier stable (nouveau schéma Omika) ; +- `LegacyId` : identifiant historique (ancien schéma Batik) ; +- `Code` : code court éventuel ; +- `Label` : libellé d'affichage. + +Ils ne sont **pas** transformés automatiquement en `enum` : ils restent +configurables. Le passage en enum n'est envisagé que si un paramètre devient +vraiment stable et fermé. + +## Stratégie des champs zombie + +Les rubriques physiques obsolètes (anciens identifiants de civilité, de statut, +clés internes…) sont marquées **zombie** dans les modèles physiques de +`Omika.Data`. + +Dans `Omika.Core` : + +- elles n'apparaissent jamais comme propriétés publiques ; +- le mapper de `Omika.Data` est responsable de convertir les valeurs en + propriétés métier (`ReferenceValue`, libellés, etc.) ; +- les tests d'architecture interdisent leur apparition dans les contrats. + +## Stratégie de compatibilité Batik (Isis_BO) / Omika + +- Le domaine est **unique** pour les deux bases. +- La provenance est conservée via `LegacyEntityReference` / `DatabaseSource`. +- `SchemaCapabilities` permet de savoir, sans connaître la structure physique, + si une fonctionnalité est disponible dans la version source + (clés métier, GUID, rôles, nouveau modèle de rendez-vous…). +- `CanonicalMappingResult` permet à un mapper physique → canonique de + retourner la valeur plus les warnings, champs ignorés et erreurs non bloquantes. + +## Cas particulier des rendez-vous + +Un **agrégat métier unique** `RendezVous` reçoit les données des deux versions : + +- ancien modèle : `Planning_RDV`, `Planning_RDV_Personne` ; +- nouveau modèle : `RDV_Planning`, `RDV_Collaborateur`, `RDV_Contact`. + +L'entité porte : + +- une `DateTimeRange Periode` ; +- des `AffectationCollaborateur` (responsable, période particulière, statut, + temps validé) ; +- des `ParticipantRendezVous` (contact, coordonnées, type, présence confirmée) ; +- une `AnnulationRendezVous` éventuelle ; +- des liens optionnels vers Client / Site / Dossier / Intervention. + +Toute information absente dans une version est **nullable**. + +Le contrat `RendezVousDetailsDto` est **identique** pour les deux versions et ne +contient aucune notion de `Planning_RDV`, `RDV_Planning`, `PL_PKID`, +`RDP_GUID` ou autre nom physique. + +## Liste des fichiers créés + +### `Omika.Core/Compatibility` + +- `DatabaseSchemaVersion.cs` +- `DatabaseSource.cs` +- `LegacyEntityReference.cs` +- `SchemaCapabilities.cs` +- `CanonicalMappingResult.cs` + +### `Omika.Core/Domain/Common` + +- `EntityBase.cs` + +### `Omika.Core/Domain/ValueObjects` + +- `ReferenceValue.cs` +- `DateTimeRange.cs` +- `PostalAddress.cs` +- `ContactDetails.cs` +- `ExternalReference.cs` + +### `Omika.Core/Domain/Exceptions` + +- `DomainException.cs` +- `DomainValidationException.cs` + +### `Omika.Core/Domain/Entities` + +- `Clients/Client.cs`, `Adresse.cs`, `Contact.cs`, `Site.cs` +- `Organisation/Societe.cs`, `Collaborateur.cs`, `Equipe.cs`, `Utilisateur.cs` +- `Interventions/Dossier.cs`, `Intervention.cs`, `ActionIntervention.cs`, + `CompteRendu.cs`, `EtatIntervention.cs`, `Checklist.cs`, `ChecklistItem.cs` +- `Planning/RendezVous.cs`, `AffectationCollaborateur.cs`, + `ParticipantRendezVous.cs`, `AnnulationRendezVous.cs`, `SuiviTemps.cs` +- `Documents/Document.cs`, `NoteDocument.cs`, `MessageInterne.cs`, + `MessageExterne.cs`, `ModeleMail.cs`, `ModeleRapport.cs` +- `Security/Role.cs`, `Permission.cs`, `DroitAcces.cs` +- `Configuration/ParametreMetier.cs`, `ParametreApplication.cs`, + `PreferenceUtilisateur.cs` + +### `Omika.Core/Contracts/Common` + +- `ApiErrorDto.cs`, `ApiResult.cs`, `PagedRequest.cs`, `PagedResult.cs` +- `ReferenceValueDto.cs`, `AddressDto.cs`, `ContactDetailsDto.cs` + +### `Omika.Core/Contracts/Clients` + +- `ClientSummaryDto.cs`, `ClientDetailsDto.cs` +- `CreateClientRequest.cs`, `UpdateClientRequest.cs`, `SearchClientsRequest.cs` +- `AdresseDto.cs`, `ContactDto.cs`, `SiteDto.cs` + +### `Omika.Core/Contracts/Organisation` + +- `CollaborateurSummaryDto.cs`, `CollaborateurDetailsDto.cs` +- `EquipeDto.cs`, `SocieteDto.cs`, `UtilisateurDto.cs` + +### `Omika.Core/Contracts/Interventions` + +- `DossierSummaryDto.cs`, `DossierDetailsDto.cs` +- `InterventionSummaryDto.cs`, `InterventionDetailsDto.cs` +- `CreateInterventionRequest.cs`, `UpdateInterventionRequest.cs`, + `SearchInterventionsRequest.cs` +- `ActionInterventionDto.cs`, `CompteRenduDto.cs`, `EtatInterventionDto.cs` + +### `Omika.Core/Contracts/Planning` + +- `RendezVousSummaryDto.cs`, `RendezVousDetailsDto.cs` +- `CreateRendezVousRequest.cs`, `UpdateRendezVousRequest.cs`, + `SearchRendezVousRequest.cs` +- `AffectationCollaborateurDto.cs`, `ParticipantRendezVousDto.cs`, + `AnnulationRendezVousDto.cs`, `SuiviTempsDto.cs`, `CreateSuiviTempsRequest.cs` + +### `Omika.Core/Contracts/Documents` + +- `DocumentSummaryDto.cs`, `DocumentDetailsDto.cs`, `CreateDocumentRequest.cs` +- `ModeleMailDto.cs`, `ModeleRapportDto.cs` + +### `Omika.Core/Contracts/Security` + +- `LoginRequest.cs`, `CurrentUserDto.cs`, `RoleDto.cs`, `PermissionDto.cs` + +### `Omika.Core/Contracts/Configuration` + +- `ParametreMetierDto.cs`, `ApplicationConfigurationDto.cs`, + `PreferenceUtilisateurDto.cs` + +### `Omika.Core/Interfaces` + +- `IClientService.cs`, `IInterventionService.cs`, `IRendezVousService.cs`, + `IDocumentService.cs`, `IReferenceDataService.cs`, `ICurrentUserService.cs` + +### `Omika.Core/Mapping` + +- `ClientContractMapper.cs`, `InterventionContractMapper.cs`, + `RendezVousContractMapper.cs`, `DocumentContractMapper.cs` + +### `Omika.Tests` + +- Architecture : `CoreMustNotReferenceDataTests`, + `CoreMustNotReferenceAvaloniaTests`, `CoreMustNotReferenceAspNetCoreTests`, + `PublicContractsMustNotContainHfSqlNamesTests`, + `PublicContractsMustNotContainZombieFieldsTests` +- Contrats : `PagedResultTests`, `ClientContractTests`, + `InterventionContractTests`, `RendezVousContractTests` +- Domaine : `DateTimeRangeTests`, `ClientDomainTests`, + `InterventionDomainTests`, `RendezVousDomainTests`, + `RendezVousCrossSchemaTests` +- Compatibilité : `LegacyEntityReferenceTests`, `SchemaCapabilitiesTests` + +## Décisions encore à valider + +1. **Identifiants publics** : chaînes temporaires (GUID / legacy / clé métier). + Un helper dédié ou un type valeur « PublicId » reste possible. +2. **États et statuts** : conservés en `ReferenceValue`. À confirmer si certains + deviendront des enums stables. +3. **`DateTime` vs `DateTimeOffset`** : pas de gestion multi-fuseaux documentée + pour l'instant ; `DateTime` est utilisé partout. À revoir si le mobile doit + synchroniser sur plusieurs fuseaux. +4. **Collections dans les entités** : `List` privées avec méthodes `Add*`. + À confirmer si des collections doivent devenir remplaçables (remplacement + complet lors d'une mise à jour). +5. **Contrat de recherche** : `SearchClientsRequest` hérite de `PagedRequest` + avec des propriétés additionnelles. Les filtres seront consolidés lors de + l'implémentation des services. +6. **Sécurité** : `LoginRequest` accepte un mot de passe temporaire, mais aucun + service d'authentification n'est implémenté à ce niveau. Le stockage des + identifiants (hash, salt) sera décidé au niveau supérieur. +7. **Fichiers physiques des documents** : les contrats exposent des identifiants + logiques et des métadonnées ; la gestion du téléversement/téléchargement sera + définie avec l'API. diff --git a/docs/observability/README.md b/docs/observability/README.md new file mode 100644 index 0000000..c8d39ff --- /dev/null +++ b/docs/observability/README.md @@ -0,0 +1,101 @@ +# Observabilité externe Omika — Phase 5 + +Centralisation externe **optionnelle** de l'observabilité : + +```text +OpenTelemetry (adapter Omika) → OpenTelemetry Collector → SigNoz → ClickHouse +``` + +> **Règle absolue** : *Les logs servent Omika. Omika ne dépend jamais des logs.* +> OpenTelemetry, Collector, SigNoz et ClickHouse apportent visibilité, recherche, +> diagnostic et corrélation. Ils n'apportent **aucune** dépendance au fonctionnement +> métier. En cas de doute : **GARANTIR OMIKA**. + +## Sommaire + +| Document | Contenu | +|---|---| +| [configuration.md](configuration.md) | Options `Observability:External`, kill switch, endpoints | +| [deployment.md](deployment.md) | VM, ressources, ports, installation, démarrage, rétention, sauvegarde | +| [support-guide.md](support-guide.md) | Retrouver un problème dans SigNoz depuis un TraceId | +| [unplug.md](unplug.md) | Supprimer entièrement la pile externe sans casser Omika | +| [data-whitelist.md](data-whitelist.md) | Inventaire des données exportées (liste blanche officielle) | + +## Architecture finale + +```text + ┌── LocalFileTelemetryExporter (JSONL local) + │ +IOmikaTelemetry ├── DiagnosticOutboxExporter (omika-diagnostics.db) + ↓ │ +SafeTelemetrySink ──┤ + ↓ │ +PriorityQueue └── OpenTelemetryExporterAdapter ←─ RemoteDiagnosticForwarder + ↓ │ ↑ +TelemetryWorker OTLP HTTP/protobuf │ + ↓ (relit le JSONL serveur) + OTel Collector RemoteDiagnosticIngestionStore + ↓ ↑ + SigNoz POST /api/diagnostics + ↓ ↑ + ClickHouse Mobile +``` + +**Points clés :** + +1. **OpenTelemetry est UN exporter optionnel**, derrière l'architecture Omika + (`IOmikaTelemetry → SafeTelemetrySink → PriorityTelemetryQueue → TelemetryWorker → exporters`). + Jamais devant, jamais référencé par le métier. +2. **Le mobile ne parle jamais OTLP directement.** Flux mobile : + `Mobile → POST /api/diagnostics → RemoteDiagnosticIngestionStore (JSONL serveur) → ACK`. + Le forwarding vers l'externe (`RemoteDiagnosticForwarder`) est asynchrone et + best-effort, **après** l'ACK. +3. **`POST /api/diagnostics` ne dépend jamais du Collector.** L'ACK signifie + uniquement « le serveur Omika a persisté localement le diagnostic ». +4. **Kill switch** `Observability:External:Enabled=false` (défaut) : désactive + l'adaptateur OTel et le forwarder externe, sans toucher au local. +5. **Fail-open** : arrêter Collector/SigNoz/ClickHouse, bloquer le port OTLP, + éteindre la VM, DNS/TLS invalide → **Omika fonctionne normalement** (seule + conséquence : absence temporaire de centralisation). + +## Choix du protocole OTLP (§11) + +| Critère | gRPC | HTTP/protobuf | +|---|---|---| +| Dépendance native | `Grpc.Net.Client` (HTTP/2, ALPN) | `HttpClient` pur | +| Simplicité Windows | moyenne (TLS/HTTP2) | **haute** | +| Firewall | un port (4317) | un port (4318) | +| Debug/curl | non | **oui** (POST clair) | + +**Choix : OTLP HTTP/protobuf** (port 4318) — un seul protocole, `HttpClient` pur, +simple à déployer entre l'API Windows et le Collector. Le gRPC reste configuré côté +Collector pour interopérabilité mais n'est pas utilisé par Omika. + +## Versions (réellement installées, §10) + +| Package / service | Version | Notes | +|---|---|---| +| `OpenTelemetry` (SDK .NET) | **1.13.0** | stable, compatible .NET 10 | +| `OpenTelemetry.Exporter.OpenTelemetryProtocol` | **1.13.0** | train 1.13 aligné | +| OpenTelemetry Collector | 0.128.x | distribution contrib | +| SigNoz | 0.72.x (à épingler au stable officiel) | via installateur officiel | + +Les packages OpenTelemetry sont localisés **uniquement** dans le projet +`src/Omika.Observability.External`. Aucun package OpenTelemetry dans `Omika.Core`, +ni dans `Omika.App`/`Omika.App.Local`/`Omika.Data` (garanti par un test d'architecture). + +## Identifiants — ne pas confondre (§33/§34) + +| Identifiant | Format | Rôle | Où | +|---|---|---|---| +| **Omika TraceId** | GUID (`X-Omika-TraceId`) | corrélation applicative **principale** | header HTTP, attribut `omika.trace_id` | +| **OpenTelemetry TraceId** | 128 bits | trace native OTel | dérivé déterministiquement du GUID Omika | +| **OpenTelemetry SpanId** | 64 bits | span OTel | généré par le SDK (logé en `omika.span_id`) | +| **SessionId** | GUID | une exécution d'app | attribut `omika.session_id` | +| **OperationId** | GUID | une opération métier/technique | attribut `omika.operation_id` | +| **EventId** | GUID | un événement unique (dédup/doublons) | attribut + identifiant du log | +| **BatchId** | GUID | un lot de transport mobile | Phase 4 | + +Le contrat `X-Omika-TraceId` reste **inchangé** : c'est l'identifiant visible par +Omika/support. L'OTel TraceId est un mapping déterministe (GUID = 16 octets = 128 bits), +jamais un remplacement silencieux du contrat. diff --git a/docs/observability/configuration.md b/docs/observability/configuration.md new file mode 100644 index 0000000..84fef45 --- /dev/null +++ b/docs/observability/configuration.md @@ -0,0 +1,80 @@ +# Configuration de l'observabilité externe + +## Section `Observability:External` (§74) + +```json +{ + "Observability": { + "External": { + "Enabled": false, + "OtlpEndpoint": "", + "ExportTimeoutSeconds": 3, + "MaxQueueSize": 2048, + "MaxExportBatchSize": 512, + "ScheduledDelayMilliseconds": 2000, + "CircuitFailureThreshold": 5, + "CircuitCooldownSeconds": 30, + "IncludeP4": false + } + } +} +``` + +| Clé | Défaut | Rôle | +|---|---|---| +| `Enabled` | `false` | **Kill switch**. `false` = aucun export, aucun réseau, aucun thread externe. | +| `OtlpEndpoint` | `""` | Endpoint OTLP HTTP/protobuf du Collector (ex. `http://10.0.0.10:4318`). | +| `ExportTimeoutSeconds` | `3` | Timeout réseau court d'un export OTLP (2–5 s max, §13). | +| `MaxQueueSize` | `2048` | File SDK OTel bornée (§14). | +| `MaxExportBatchSize` | `512` | Taille max d'un lot OTel. | +| `ScheduledDelayMilliseconds` | `2000` | Délai de regroupement du batch. | +| `CircuitFailureThreshold` | `5` | Échecs consécutifs avant ouverture du circuit. | +| `CircuitCooldownSeconds` | `30` | Durée d'ouverture du circuit avant sonde. | +| `IncludeP4` | `false` | Exporter les événements P4 (analytics). Non exportés par défaut (§44). | + +Autres clés (forwarder) : `ForwarderBatchSize` (100), `ForwarderIntervalSeconds` (15), +`CheckpointFileName` (`forwarder-checkpoint.json`). + +## Default safe (§18) + +**`Enabled=false` par défaut.** Activation explicite après installation et validation +du Collector (test §88). Ne jamais activer en production sans avoir validé la chaîne. + +## Kill switch (§17) + +Mettre `Enabled=false` désactive **entièrement** : + +- `OpenTelemetryExporterAdapter` (aucun provider, aucun réseau, aucun thread) ; +- `RemoteDiagnosticForwarder` externe (la boucle reste au ralenti). + +Sans désactiver (inchangé) : + +- `LocalFileTelemetryExporter` (JSONL local) ; +- `DiagnosticOutbox` (`omika-diagnostics.db`) ; +- `POST /api/diagnostics` ; +- `RemoteDiagnosticIngestionStore` (JSONL serveur). + +## Configuration invalide (§75) + +`Enabled=true` + `OtlpEndpoint=""` (ou URL non http/https, ou bornes invalides) : + +- l'adaptateur externe est **désactivé** (NoOp) ; +- un warning `EmergencyLogger` est écrit ; +- **Omika démarre et fonctionne normalement** (jamais de crash au démarrage). + +## Environnements (§73) + +| Environnement | `Enabled` | Endpoint | +|---|---|---| +| Development | `false` (ou `true` + endpoint local) | `http://localhost:4318` | +| Production | explicite | `http://:4318` | + +Les endpoints ne sont **jamais codés en dur** dans le code : ils viennent de la +configuration (appsettings / variables d'environnement / secrets). + +## Secrets (§30) + +Aucun secret dans un fichier versionné. Les credentials éventuels (ClickHouse) sont +fournis via `.env` (non versionné) / variables d'environnement. **Ne jamais réutiliser** +un mot de passe utilisateur, un token mobile, une clé licence ou un secret SMTP pour +l'observabilité. diff --git a/docs/observability/data-whitelist.md b/docs/observability/data-whitelist.md new file mode 100644 index 0000000..0e356d6 --- /dev/null +++ b/docs/observability/data-whitelist.md @@ -0,0 +1,67 @@ +# Liste blanche des données exportées (§79) + +> On n'envoie **jamais** « tout parce que c'est utile ». Seuls les attributs ci-dessous +> sont exportés vers la plateforme externe. Tout le reste (identité métier, corps HTTP, +> contenus, secrets) reste **local**. + +## Attributs de logs (exportés) + +| Attribut | Raison | Cardinalité | Sensibilité | Rétention | +|---|---|---|---|---| +| `event.code` | pivot de normalisation (§39) | moyenne (catalogue borné) | faible | logs | +| `level` | sévérité | faible (6 valeurs) | faible | logs | +| `event.priority` | priorité P0–P4 | faible (5 valeurs) | faible | logs | +| `component` | émetteur | faible (liste bornée) | faible | logs | +| `omika.trace_id` | corrélation | **haute** (GUID) — OK en log, jamais en métrique | faible (GUID, pas de PII) | logs | +| `omika.session_id` | corrélation | **haute** (GUID) | faible | logs | +| `omika.operation_id` | corrélation | **haute** (GUID) | faible | logs | +| `app.version` | diagnostic par version | faible | faible | logs | +| `platform` | plateforme | faible (Windows/Android/iOS) | faible | logs | +| `os.name` / `os.version` | contexte appareil | faible | faible | logs | +| `device.model` / `device.manufacturer` | contexte appareil | faible | faible | logs | +| `error.code` | code d'erreur terminal | moyenne (codes catalogués) | faible | logs | +| `event.duration_ms` | durée | numérique | faible | logs | +| `event.success` | issue | booléen | faible | logs | +| `event.entity_type` | type d'entité | faible (énum borné) | faible | logs | +| métadonnées **filtrées** | contexte contrôlé | bornée (≤ 16, chaînes ≤ 256) | filtrée | logs | + +## Attributs **jamais** exportés (§38/§71) + +```text +Authorization, Password, Token, Cookie, ConnectionString, +RequestBody, ResponseBody, EmailBody, SMTP password, +documents, photos, signatures +``` + +et les identités métier : `DeviceId`, `ClientId`, `UserId`, `CollaborateurId`, `EntityId` +(restent locaux, uniquement utiles côté Omika). + +## Labels de métriques (autorisés, low-cardinality, §37) + +```text +component, status_class, method, route_template, +event_priority, level, result, reason, signal +``` + +**Interdit** comme label de métrique (§36) : + +```text +TraceId, SpanId, SessionId, OperationId, EventId, BatchId, +UserId, ClientId, CollaborateurId, DeviceId, EntityId, +Email, URL complète, GUID métier +``` + +## Métriques techniques (premières, §35) + +```text +omika.telemetry.accepted omika.telemetry.dropped +omika.telemetry.queue.depth + +omika.external.exported omika.external.dropped +omika.external.circuit_state + +omika.api.requests omika.api.errors +omika.api.duration + +omika.diagnostic.forwarder.forwarded / .failure (côté API) +``` diff --git a/docs/observability/deployment.md b/docs/observability/deployment.md new file mode 100644 index 0000000..32160ab --- /dev/null +++ b/docs/observability/deployment.md @@ -0,0 +1,94 @@ +# Déploiement de la pile d'observabilité + +## Hébergement recommandé (§21) + +```text +Serveur Windows +│ +├── Omika API / Worker / services métier +│ +└── Hyper-V + ↓ + VM Ubuntu Observability + ├── OpenTelemetry Collector + ├── SigNoz + └── ClickHouse +``` + +Objectif : isoler **processus / RAM / CPU / disque** de l'observabilité du métier. +Le métier Omika a **toujours priorité** sur les ressources du serveur. + +Si Hyper-V n'est pas disponible : héberger la pile sur une **machine Ubuntu distincte** +(ou un hôte Docker distinct) ; le principe d'isolation reste identique. + +## Ressources initiales proposées (§23, à ajuster) + +| Ressource | VM observabilité | Notes | +|---|---|---| +| vCPU | 2 (plafond 4) | ne pas allouer tous les cœurs du serveur | +| RAM | 8 Go (plafond 12 Go) | ClickHouse + SigNoz + Collector | +| Disque | 100 Go (volume dédié) | ne pas remplir le disque système Windows | + +## Ports / firewall (§26, §U) + +| Port | Service | Exposition | +|---|---|---| +| 4318 | Collector Omika — OTLP HTTP/protobuf | **réseau privé uniquement** (API/Worker Omika) | +| 4317 | Collector Omika — OTLP gRPC | réseau privé (désactivable) | +| 3301 | SigNoz UI | accès support autorisé uniquement (VPN/reverse-proxy + auth) | +| 8085 | SigNoz query-service | interne à la pile | +| 8123/9000 | ClickHouse | interne à la pile, **jamais** public/mobile | + +Règles : + +- Le port OTLP n'est **jamais** exposé publiquement. +- SigNoz est réservé à l'équipe dev/support (§27) ; ClickHouse jamais accessible + depuis le mobile/Internet/utilisateurs finaux (§28). + +## Installation + +1. Créer la VM Ubuntu (ressources ci-dessus). +2. Installer Docker + Docker Compose. +3. Copier `infra/observability/` sur la VM. +4. `cp .env.example .env` puis renseigner les secrets (mot de passe ClickHouse). +5. Épingler les versions d'images SigNoz aux versions stables officielles. +6. `docker compose up -d`. +7. Valider la chaîne (§88) : envoyer un événement test depuis l'API et vérifier + qu'il apparaît dans SigNoz (recherche par `EventCode` puis `TraceId`). + +## Démarrage / arrêt + +```bash +docker compose up -d # démarrer +docker compose down # arrêter (ne supprime pas les volumes) +``` + +Arrêter la pile ne doit avoir **aucun** effet sur Omika (test d'acceptation majeur, §59). + +## Stockage / disque (§24) + +- Volume dédié pour ClickHouse (`clickhouse-data`), **jamais** le disque système Windows. +- Taille maximale raisonnable + alerte de remplissage à configurer (ex. 80 %). +- Le disque d'observabilité ne doit pas pouvoir remplir le disque système d'Omika. + +## Rétention (§25, §X) + +Proposé pour une première production (à ajuster au volume observé) : + +| Signal | Rétention | +|---|---| +| Logs | 7 jours | +| Traces | 7 jours | +| Métriques | 30 jours | + +Ne pas retenir indéfiniment. La rétention se configure côté SigNoz/ClickHouse (TTL). + +## Sauvegarde + +- Sauvegarder les fichiers de configuration (`otel-collector-config.yaml`, `.env`). +- Les données ClickHouse sont de la télémétrie : leur perte n'affecte jamais Omika + (la sécurité durable reste les JSONL locaux Omika + l'outbox mobile). + +## Désinstallation complète + +Voir [unplug.md](unplug.md). diff --git a/docs/observability/support-guide.md b/docs/observability/support-guide.md new file mode 100644 index 0000000..c47207c --- /dev/null +++ b/docs/observability/support-guide.md @@ -0,0 +1,36 @@ +# Guide support — retrouver un problème dans SigNoz (§80/§81) + +## Identifiants utiles + +| Identifiant | Où le trouver | Attribut SigNoz | +|---|---|---| +| **TraceId** (`X-Omika-TraceId`) | header de réponse API, log mobile | `omika.trace_id` | +| **SessionId** | header/log | `omika.session_id` | +| **OperationId** | log de synchronisation | `omika.operation_id` | +| **EventId** | payload diagnostic | identifiant du log / attribut | + +## Scénario type (§81) + +1. Un utilisateur signale une erreur. +2. On dispose d'un **TraceId** (visible dans la réponse API ou le log mobile). +3. Dans SigNoz → **Logs** → filtre `omika.trace_id = `. +4. On retrouve, corrélés par ce TraceId : + - l'événement **mobile** (s'il a été forwardé) ; + - la **requête API** (span HTTP dérivée) ; + - l'**erreur serveur** (EventCode `OMK-API-...`). + +Aucune donnée sensible n'est exposée : les attributs exportés sont uniquement ceux de +la [liste blanche](data-whitelist.md). + +## Codes d'événements (pivot, §39) + +Les `EventCode` restent le pivot de normalisation (`OMK-MOB-...`, `OMK-API-...`, +`OMK-DIAG-...`). Ne jamais remplacer ces codes par du texte libre. Rechercher par +`EventCode` pour agréger, puis affiner par `TraceId`/`SessionId`. + +## Doublons (§42) + +La chaîne est **at-least-once** : des doublons peuvent apparaître dans SigNoz +(réessai après panne, checkpoint perdu). Utiliser `EventId` pour les identifier. +La déduplication centrale n'est pas critique et peut être ajoutée plus tard si +nécessaire, sans rendre le pipeline critique. diff --git a/docs/observability/unplug.md b/docs/observability/unplug.md new file mode 100644 index 0000000..424864a --- /dev/null +++ b/docs/observability/unplug.md @@ -0,0 +1,41 @@ +# Procédure « unplug » — supprimer l'infrastructure externe sans casser Omika (§83) + +## Objectif + +Supprimer **entièrement** OpenTelemetry Collector / SigNoz / ClickHouse et vérifier +qu'Omika continue de fonctionner normalement. C'est un **test d'acceptation obligatoire**. + +## Étapes + +1. **Kill switch** : mettre `Observability:External:Enabled=false` dans la + configuration de l'API et du Worker. +2. **Redémarrer** l'API et le Worker (ou recharger la configuration). +3. **Arrêter la pile** sur la VM : + ```bash + docker compose down + ``` +4. **Supprimer les volumes** (télémétrie externe) : + ```bash + docker compose down -v + ``` +5. **Supprimer la VM** observabilité (Hyper-V) si la désinstallation est définitive. +6. **Vérifier** le fonctionnement complet d'Omika (critères §97/H) : + - `LocalFileTelemetryExporter` écrit les JSONL locaux ; + - `DiagnosticOutbox` (`omika-diagnostics.db`) fonctionne ; + - `POST /api/diagnostics` répond (ACK après persistance locale) ; + - `RemoteDiagnosticIngestionStore` écrit le JSONL serveur ; + - API métier, Worker, synchronisation, mobile : **tout fonctionne**. + +## Résultat attendu + +```text +Omika totalement fonctionnel. +Seule conséquence : absence de centralisation externe des diagnostics. +``` + +## Re-branchement (§91) + +Réinstaller la pile, remettre `Enabled=true` avec un endpoint valide, redémarrer. +Les **nouveaux** événements recommencent à arriver. Aucun replay des événements +perdus hors mécanismes déjà persistés (les JSONL locaux + l'outbox restent la +sécurité durable). diff --git a/docs/phase5-diagnostic-center.md b/docs/phase5-diagnostic-center.md new file mode 100644 index 0000000..be32277 --- /dev/null +++ b/docs/phase5-diagnostic-center.md @@ -0,0 +1,135 @@ +# Phase 5 — Diagnostic Center (architecture & décisions) + +> Outil SUPPORT uniquement (§13). PostgreSQL et OpenTelemetry ne sont **jamais** +> critiques pour Omika : `Mobile → DiagnosticOutbox → POST /api/diagnostics → +> RemoteDiagnosticIngestionStore (JSONL durable) → ACK mobile` reste inchangé (§4). +> L'import PostgreSQL et l'export OTLP sont **asynchrones et optionnels**. + +## Architecture retenue + +```text +APPLICATIONS OMIKA (Mobile / Desktop / API / Worker) + │ + ▼ + IOmikaTelemetry + │ + ▼ + SafeTelemetrySink + │ + ▼ + PriorityTelemetryQueue (P0-P4) + │ + ┌──────┴─────────┐ + ▼ ▼ + JSONL / Outbox OpenTelemetry (OTLP HTTP, optional, kill-switch) + durable Omika │ + │ ▼ + │ OpenTelemetry Collector (Windows Service) + │ │ + ▼ ▼ + Diagnostic Import Omika Telemetry Backend ← transport finalisé Phase serveur + │ │ + └────────┬────────┘ + ▼ + PostgreSQL (omika_diagnostics) + │ + ▼ + Omika Diagnostic Center (ASP.NET Core Web) +``` + +### Projets créés (§12) + +| Projet | Rôle | +|---|---| +| `src/Omika.Diagnostics.Core` | Domain / models, abstractions repository, importer, whitelist sécurité | +| `src/Omika.Diagnostics.Data` | Persistance PostgreSQL (Npgsql direct), source JSONL, checkpoint | +| `src/Omika.Diagnostics.Worker` | Import asynchrone JSONL → PostgreSQL (BackgroundService, backoff) | +| `src/Omika.Diagnostics.Web` | Diagnostic Center Web (Razor Pages) + auth support/admin | + +## Choix d'accès données (§25) + +**Npgsql direct (pas d'ORM)**. Justification : + +- Sous-système simple : 2 tables, peu de patrons de requêtes. +- Aucune « magie » (pas de mapping réflexif, pas d'EF Core) — SQL explicite et lisible. +- Pooling intégré de Npgsql (§24) : jamais une connexion par événement. +- Dapper réduirait le boilerplate mais ajoute une dépendance + réflexion inutile ici. +- EF Core est surdimensionné pour 2 tables. + +Version : **Npgsql 10.0.3** (aligné .NET 10, présent dans le cache local du poste). + +## Données interdites (§19) et whitelist (§18) + +Réutilise `DiagnosticForbiddenData` (Phase 4) : `password`, `token`, `authorization`, +`cookie`, `connectionstring`, `requestbody`, `responsebody`, `emailbody`, `smtp`, +`imei`, `macaddress`, `advertisingid`, `signature`, `secret`. + +Les métadonnées `metadata_json` (JSONB) ne sont **pas** un stockage libre : +`DiagnosticMetadataPolicy` n'autorise qu'une whitelist de clés low-cardinality +(`method`, `routeTemplate`, `statusCode`, `exceptionType`, `retryCount`, …) et rejette +toute clé/valeur interdite. Les champs d'identité métier (`DeviceId`, `UserId`, +`ClientId`, `CollaborateurId`, `EntityId`) ne sont **pas** persistés dans PostgreSQL +(confidentialité, §30/§31). + +## Importeur JSONL → PostgreSQL (§20-§23) + +`DiagnosticImporter.ImportOnceAsync()` : lecture bornée (`BatchSize`, défaut 100) → +mapping (whitelist) → `INSERT ... ON CONFLICT (event_id) DO NOTHING` (batch) → +avancement du checkpoint **uniquement après insertion réussie**. + +- **at-least-once** : le checkpoint n'avance qu'après succès → doublons possibles, + dédupliqués par `event_id` unique en base (§16). +- **fail-open** (§22) : toute erreur PostgreSQL → résultat `Retryable`, JSONL intact, + checkpoint non avancé, backoff exponentiel borné (aucune boucle CPU). +- **idempotent** : relire un fichier déjà importé est sans effet (ON CONFLICT). + +## Checkpoint (§21) + +`import-checkpoint.json` (curseur `{ fileName, lineIndex }`), distinct du checkpoint +du forwarder OpenTelemetry. Reprise après restart / PostgreSQL down / reboot sans +réimporter tout l'historique. Les fichiers JSONL bruts ne sont **jamais** supprimés. + +## Rétention (§45) + +`Diagnostics:RetentionDays` (défaut **60 jours**), non hardcodé. La purge +(`DELETE ... WHERE timestamp_utc < now() - interval '60 days'`) est **documentée mais +non exécutée automatiquement** (purge destructive → maintenance planifiée). + +## Métriques (§28-§31) + +Table `telemetry_metric_hourly` : agrégats horaires (`bucket_utc`, `metric_name`, +`component`, `value`, `count`, `min/max`, `tags_json`). **Low-cardinality obligatoire** +(`ExternalAttributePolicy`) : jamais `TraceId`/`SessionId`/`UserId`/`DeviceId`/GUID +métier en dimension. Utilisateurs actifs/jour = agrégation respectueuse de la +confidentialité, jamais de surveillance individuelle (§31). + +## Traces (§32/§33/§39/§40) + +`X-Omika-TraceId` reste l'identifiant applicatif de support (§33). La timeline +Mobile → API → Worker se reconstruit par `trace_id` (`ORDER BY timestamp_utc ASC`), +et par `operation_id` pour les synchronisations. + +## Configuration (générique, jamais de secret §26) + +```yaml +Observability: + External: + Enabled: false # kill-switch : aucun OTLP, aucun réseau, aucun crash + OtlpEndpoint: "" + Remote: + Directory: "" # JSONL durable (frontière d'ACK Phase 4) + +Diagnostics: + ConnectionString: "" # configuration / variable d'environnement UNIQUEMENT + RetentionDays: 60 + Import: + BatchSize: 100 + CheckpointFileName: "import-checkpoint.json" +``` + +## Déploiement (Phase serveur, PAS dans cette phase) + +- Windows Server 2025 : PostgreSQL + OpenTelemetry Collector (Windows Service) + + `Omika.Diagnostics.Worker` + `Omika.Diagnostics.Web`. +- Aucune dépendance Linux / Docker / ClickHouse / SigNoz / Kubernetes. +- Rien n'est à installer sur le serveur dans cette phase (§ « NE RIEN INSTALLER »). diff --git a/docs/rapport-email-windev-spec.md b/docs/rapport-email-windev-spec.md new file mode 100644 index 0000000..d910239 --- /dev/null +++ b/docs/rapport-email-windev-spec.md @@ -0,0 +1,71 @@ +# Spécification — Création d'email et de rapport (fidèle à Windev) + +> Source : `docs/Documentation_WebService_GET.md` (web service mobile `Batik_WS_Com_Mob`), +> collection `LIB_Traitements` et `LIB_Structures`. Cette spec décrit le comportement +> réel à reproduire, distinct des « notes internes » (`MessageInterne`). + +## 1. Structures WINDEV → contrats .NET + +| Windev | .NET | Rôle | +|---|---|---| +| `STJSONMembreRubRapport` | `RapportChampDto` | Champ/rubrique du modèle (type, ordre, auto-rempli, modifiable, liste) | +| `STJSONListeMembre` | `RapportChampSousElementDto` | Colonne de tableau / rubrique fille | +| `ST_REQ_LISTE_Chp_Rapport` | `GetRapportChampsRequest` | Requête « liste des champs » | +| `STJSONInfoRapportMob` | `CreateRapportRequest` | Requête « créer le rapport » (avec `ListeMob` remplie) | +| `STJSONInfoModeleMailMob` | (à créer) | Requête « construire le modèle email » | +| `ST_ModeleMailComplet` | (à créer) | Requête « envoyer l'email » (sujet, corps HTML, destinataires, SMTP) | + +## 2. Flux « récupérer les champs à remplir » (`RecupererChampRapportInter`) + +1. Entrée : `{ modeleId, interventionId, collaborateurId }`. +2. Charge `ModeleRapport` (`MRP_Modele` = document, `MRP_Extra` = JSON de mots-clés spécifiques). +3. `ChargeListeRubDoc()` : `SELECT * FROM RubriquesDocument ORDER BY RD_IdRubParent` → hiérarchie (parent → `ListeMembre`). +4. `ConstructionTbRubBaseRapport` : extrait les rubriques présentes dans le document. +5. `ConstructionTbRubEnvoyerMob` : filtre `RD_EnvoiMob`. +6. `AjouterDonnesBDDansChampRapport(interventionId, champs)` : **pré-remplissage** depuis la base. +7. Retour : `RapportChampDto[]`. + +## 3. Pré-remplissage (`AjouterDonnesBDDansChampRapport`) + +5 requêtes SQL, exécutées **seulement si** le groupe applicatif est présent : + +| GroupeApp | Source | `ListeDonnesBD` | +|---|---|---| +| `Inter` | Intervention + Lieu + Adresse + Client + Dossier + Collaborateur + Societe + ParametreMetier | valeur simple (texte ; `IN_Description` via RTF→texte) | +| `Client` | Client + Client_Adresse + Adresse | JSON `ST_ClientAd[]` (adresses multiples) | +| `Dossier` | Dossier + ParametreMetier | valeur simple | +| `CR` | CompteRendu + RDV_Collaborateur + RDV_Planning | JSON `ST_CR_Rp[]` (comptes rendus, **choix multiple**) | +| `RDV` | RDV_Planning + RDV_Collaborateur + Collaborateur | JSON `ST_RDV_Rp[]` (rendez-vous, **choix multiple**, groupés) | + +Les champs de type `Tableau` ou groupe `Inter/Dossier/Client` reçoivent une valeur ; `CR`/`RDV`/`Client` reçoivent une **liste JSON** → choix multiple côté mobile. + +## 4. Flux « créer le rapport » (`CreationRapport`) + +1. Entrée : `{ modeleId, interventionId, nom, guid, ListeMob }` (rubriques remplies). +2. Charge `ModeleRapport` (document Word/RTF) + `MRP_Extra`. +3. `TraiteDocumentRapportMob` : remplit les rubriques dans le document. +4. `SupprimerToutesRubRapportMob` : retire les rubriques non remplies. +5. `DocVersPDF` → PDF. +6. Écrit `TOSRV` (`cCMD_DocEcrit`, type `"PDF_RP"`, nom `{nom}.pdf`). + +## 5. Flux « envoyer l'email » (`CreationETEnvoiEmail`) + +1. Entrée : `ST_ModeleMailComplet` (sujet, corps HTML, destinataires, PJ, compte SMTP). +2. `CreationUnEmail` → construit l'email. +3. `OuvreSessionEmail` + `EmailEnvoieMessage` → **envoi SMTP réel**. +4. `CreationMessageExt` → sérialise `ST_MsgExterneMail` et écrit `TOSRV` (`cCMD_MsgExtEcrit`). + +## 6. État d'avancement et décisions + +- **Fait** : lecture des modèles (`MailModele`/`ModeleRapport`/`ModeleRapportMob`), `MotClef`, `RubriquesDocument` ; moteur de substitution ; création `MessageExterne` directe. +- **À faire (priorité choisie : « champs à remplir + auto-remplissage »)** : + 1. `IRapportChampService` + `RapportChampService` (miroir de `ContruireListeChamps` + `AjouterDonnesBDDansChampRapport`). + 2. Endpoint `POST /api/rapports/champs` (récupérer les champs). + 3. Endpoint `POST /api/rapports` (créer) — la génération Word/PDF est **reportée**. +- **Reporté** : génération Word/RTF → PDF, envoi SMTP réel, file `TOSRV` (`cCMD_*`). + +## 7. Contraintes de compatibilité Batik / Omika + +- `ModeleRapport` (Omika) vs `ModeleRapportMob` (Batik, lecture seule) : le modèle est résolu par l'adaptatif existant. +- `RubriquesDocument` : Omika uniquement → sur Batik, `ChargeListeRubDoc()` retourne vide → pas de rubriques structurées (dégradation propre). +- La requête d'auto-remplissage référence des colonnes Omika (`IN_CleType`, `DO_CleStatut`, `CR_CleTypeSignataire`, `RDV_Planning`/`RDV_Collaborateur`). Sur Batik, il faudra une requête de repli (colonnes numériques `IN_IDTypeIntervention`, `Planning_RDV`, etc.). diff --git a/docs/schema-compatibilite-batik-omika.json b/docs/schema-compatibilite-batik-omika.json new file mode 100644 index 0000000..542c68a --- /dev/null +++ b/docs/schema-compatibilite-batik-omika.json @@ -0,0 +1,19021 @@ +{ + "metadata": { + "source_old": "/mnt/data/BATIK.md", + "source_new": "/mnt/data/OMIKA.md", + "old_schema": "Isis_BO.wda", + "new_schema": "Batik.wda", + "old_table_count": 48, + "new_table_count": 58, + "union_table_count": 59, + "old_detailed_field_count": 560, + "new_detailed_field_count": 713, + "union_table_field_count": 720, + "old_zombie_count": 0, + "new_zombie_count": 52, + "old_relation_count": 38, + "new_relation_count": 38, + "warning": "Nullability and unique-index flags must be verified against the actual WDA or production schema." + }, + "tables": [ + { + "name": "Doc_Aide", + "domain": "Documents et messages", + "presence": "Omika uniquement", + "purpose_inference": "Aide contextuelle Omika par fenêtre ou champ, avec contenu et tags.", + "compatibility_note": null, + "old_metadata": null, + "new_metadata": { + "disk_name": "doc_aide.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 9 + }, + "fields": [ + { + "canonical_name": "DA_PKID", + "old": null, + "new": { + "name": "DA_PKID", + "label": "Identifiant de Doc_Aide", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Table Omika uniquement", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "DA_Fenetre", + "old": null, + "new": { + "name": "DA_Fenetre", + "label": "Fenêtre", + "hfsql_type": "Chaîne", + "size": "70", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "DA_Champs", + "old": null, + "new": { + "name": "DA_Champs", + "label": "Champs concerné", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "DA_Titre", + "old": null, + "new": { + "name": "DA_Titre", + "label": "Titre", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "DA_Contenu", + "old": null, + "new": { + "name": "DA_Contenu", + "label": "Contenu", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "DA_Tags", + "old": null, + "new": { + "name": "DA_Tags", + "label": "Tags", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "DA_TexteOriginal", + "old": null, + "new": { + "name": "DA_TexteOriginal", + "label": "DA_TexteOriginal", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": null, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": null, + "new": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Table Omika uniquement", + "compatibility_notes": "" + } + ] + }, + { + "name": "Document", + "domain": "Documents et messages", + "presence": "Commun", + "purpose_inference": "Métadonnées d'un document ou fichier lié à une intervention ou à un message externe.", + "compatibility_note": "Omika remplace progressivement les identifiants numériques de catégorie et d'état par des clés textuelles.", + "old_metadata": { + "disk_name": "Document.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 15 + }, + "new_metadata": { + "disk_name": "Document.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 17 + }, + "fields": [ + { + "canonical_name": "DC_PKID", + "old": { + "name": "DC_PKID", + "label": "Identifiant de Document", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "DC_PKID", + "label": "Identifiant de Document", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique; parent déclaré (ancien) de `DocumentNote.DN_IDDocument`; parent déclaré (Omika) de `DocumentNote.DN_IDDocument`" + }, + { + "canonical_name": "DC_IDIntervention", + "old": { + "name": "DC_IDIntervention", + "label": "Identifiant de Intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "DC_IDIntervention", + "label": "Identifiant de Intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "DC_Nom", + "old": { + "name": "DC_Nom", + "label": "Nom du document", + "hfsql_type": "Chaîne", + "size": "255", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "DC_Nom", + "label": "Nom du document", + "hfsql_type": "Chaîne", + "size": "255", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "DC_Commentaire", + "old": { + "name": "DC_Commentaire", + "label": "Commentaire attaché au document", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "DC_Commentaire", + "label": "Commentaire attaché au document", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "DC_Categorie", + "old": { + "name": "DC_Categorie", + "label": "Catégorie de classement", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "DC_Categorie", + "label": "Catégorie de classement (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "DC_DateFichier", + "old": { + "name": "DC_DateFichier", + "label": "DC_DateFichier", + "hfsql_type": "Date (aaaammjj)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "DC_DateFichier", + "label": "DC_DateFichier", + "hfsql_type": "Date (aaaammjj)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateOnly", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "DC_IDMessageExterne", + "old": { + "name": "DC_IDMessageExterne", + "label": "Identifiant du Message externe", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "DC_IDMessageExterne", + "label": "Identifiant du Message externe", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "GUID", + "old": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string (32) en persistance; Guid? après validation", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "DC_IDEtatDocument", + "old": { + "name": "DC_IDEtatDocument", + "label": "Identifiant de l'état du document", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "DC_IDEtatDocument", + "label": "Identifiant de l'état du document", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "DC_HeriteDroit", + "old": { + "name": "DC_HeriteDroit", + "label": "Hérite du droit", + "hfsql_type": "Chaîne", + "size": "8", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "DC_HeriteDroit", + "label": "Hérite du droit", + "hfsql_type": "Chaîne", + "size": "8", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "DC_Chemin", + "old": { + "name": "DC_Chemin", + "label": "Chemin", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "DC_Chemin", + "label": "Chemin", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "DC_CleCategorie", + "old": null, + "new": { + "name": "DC_CleCategorie", + "label": "Cle Categorie", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "DC_CleEtatDoc", + "old": null, + "new": { + "name": "DC_CleEtatDoc", + "label": "Cle Etat du Document", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + } + ] + }, + { + "name": "DocumentNote", + "domain": "Documents et messages", + "presence": "Commun", + "purpose_inference": "Note attachée à un document.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "DocumentNote.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 6 + }, + "new_metadata": { + "disk_name": "DocumentNote.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 6 + }, + "fields": [ + { + "canonical_name": "DN_PKID", + "old": { + "name": "DN_PKID", + "label": "Identifiant de DocumentNote", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "DN_PKID", + "label": "Identifiant de DocumentNote", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "DN_IDDocument", + "old": { + "name": "DN_IDDocument", + "label": "DN_IDDocument", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "DN_IDDocument", + "label": "DN_IDDocument", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `Document.DC_PKID`; FK déclarée (Omika) vers `Document.DC_PKID`" + }, + { + "canonical_name": "DN_Note", + "old": { + "name": "DN_Note", + "label": "Note", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "DN_Note", + "label": "Note", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "GUID", + "old": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string (32) en persistance; Guid? après validation", + "status": "Commun", + "compatibility_notes": "" + } + ] + }, + { + "name": "MailCat", + "domain": "Documents et messages", + "presence": "Commun", + "purpose_inference": "Association entre un modèle de courriel et une catégorie.", + "compatibility_note": "La table subsiste dans Omika, mais la liaison déclarée `MailModele -> MailCat` n'apparaît plus dans les liaisons du nouveau schéma.", + "old_metadata": { + "disk_name": "MailCat.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 4 + }, + "new_metadata": { + "disk_name": "MailCat.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 4 + }, + "fields": [ + { + "canonical_name": "MMC_PKID", + "old": { + "name": "MMC_PKID", + "label": "Identifiant de MailCat", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MMC_PKID", + "label": "Identifiant de MailCat", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "MMC_CodeModMail", + "old": { + "name": "MMC_CodeModMail", + "label": "MMC_CodeModMail", + "hfsql_type": "Chaîne", + "size": "5", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MMC_CodeModMail", + "label": "MMC_CodeModMail", + "hfsql_type": "Chaîne", + "size": "5", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `MailModele.MM_Code`" + }, + { + "canonical_name": "MMC_CodeCat", + "old": { + "name": "MMC_CodeCat", + "label": "MMC_CodeCat", + "hfsql_type": "Chaîne", + "size": "5", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MMC_CodeCat", + "label": "MMC_CodeCat", + "hfsql_type": "Chaîne", + "size": "5", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "MMC_CodeModMail_CodeCat", + "old": { + "name": "MMC_CodeModMail_CodeCat", + "label": "MMC_CodeModMail_Co MMC_CodeModMail + MMC_CodeCat", + "hfsql_type": "Clé composée", + "size": "10", + "default": null, + "zombie": false, + "notes": [ + "MMC_CodeModMail+MMC_CodeCat" + ] + }, + "new": { + "name": "MMC_CodeModMail_CodeCat", + "label": "MMC_CodeModMail_Co MMC_CodeModMail + MMC_CodeCat", + "hfsql_type": "Clé composée", + "size": "10", + "default": null, + "zombie": false, + "notes": [ + "MMC_CodeModMail+MMC_CodeCat" + ] + }, + "dotnet_type_recommendation": "string en lecture seule / index technique", + "status": "Commun", + "compatibility_notes": "clé composée technique; MMC_CodeModMail+MMC_CodeCat" + } + ] + }, + { + "name": "MailModele", + "domain": "Documents et messages", + "presence": "Commun", + "purpose_inference": "Modèle de courriel avec sujet, contenu, langue, code et options d'envoi mobile.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "MailModele.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 11 + }, + "new_metadata": { + "disk_name": "MailModele.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 13 + }, + "fields": [ + { + "canonical_name": "MM_PKID", + "old": { + "name": "MM_PKID", + "label": "Identifiant de ModMail", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MM_PKID", + "label": "Identifiant de ModMail", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "MM_Code", + "old": { + "name": "MM_Code", + "label": "MM_Code", + "hfsql_type": "Chaîne", + "size": "5", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MM_Code", + "label": "MM_Code", + "hfsql_type": "Chaîne", + "size": "5", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "parent déclaré (ancien) de `MailCat.MMC_CodeModMail`" + }, + { + "canonical_name": "MM_Nom", + "old": { + "name": "MM_Nom", + "label": "Désignation du modèle", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MM_Nom", + "label": "Désignation du modèle", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "MM_Sujet", + "old": { + "name": "MM_Sujet", + "label": "Sujet du mail", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MM_Sujet", + "label": "Sujet du mail", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "MM_MsgDoc", + "old": { + "name": "MM_MsgDoc", + "label": "Corps du message", + "hfsql_type": "Image (mémo binaire)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MM_MsgDoc", + "label": "Corps du message", + "hfsql_type": "Image (mémo binaire)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "byte[]", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "MM_System", + "old": { + "name": "MM_System", + "label": "Donnée system non modifiable", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "MM_System", + "label": "Donnée system non modifiable", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "MM_Langue", + "old": { + "name": "MM_Langue", + "label": "Langue", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MM_Langue", + "label": "Langue", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "MM_Extra", + "old": null, + "new": { + "name": "MM_Extra", + "label": "Information extra", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "MM_EnvoiMob", + "old": null, + "new": { + "name": "MM_EnvoiMob", + "label": "Envoi vers le mobile", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Ajout Omika", + "compatibility_notes": "" + } + ] + }, + { + "name": "MessageExterne", + "domain": "Documents et messages", + "presence": "Commun", + "purpose_inference": "Courriel ou message externe lié à une intervention, avec destinataires, contenu et pièces jointes.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "MessageExterne.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 17 + }, + "new_metadata": { + "disk_name": "MessageExterne.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 18 + }, + "fields": [ + { + "canonical_name": "ME_PKID", + "old": { + "name": "ME_PKID", + "label": "Identifiant de MessageExterne", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ME_PKID", + "label": "Identifiant de MessageExterne", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "ME_IDIntervention", + "old": { + "name": "ME_IDIntervention", + "label": "IDIntervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ME_IDIntervention", + "label": "IDIntervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `Intervention.IN_PKID`; FK déclarée (Omika) vers `Intervention.IN_PKID`" + }, + { + "canonical_name": "ME_AdrExp", + "old": { + "name": "ME_AdrExp", + "label": "Adresse Expediteur", + "hfsql_type": "Chaîne", + "size": "250", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ME_AdrExp", + "label": "Adresse Expediteur", + "hfsql_type": "Chaîne", + "size": "250", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ME_AdrDestinataires", + "old": { + "name": "ME_AdrDestinataires", + "label": "Adresses des destinataires", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ME_AdrDestinataires", + "label": "Adresses des destinataires", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ME_Objet", + "old": { + "name": "ME_Objet", + "label": "ME_Objet", + "hfsql_type": "Chaîne", + "size": "200", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ME_Objet", + "label": "ME_Objet", + "hfsql_type": "Chaîne", + "size": "200", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ME_Message", + "old": { + "name": "ME_Message", + "label": "Message", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ME_Message", + "label": "Message", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ME_IDDocPJ", + "old": { + "name": "ME_IDDocPJ", + "label": "ID du document en PJ", + "hfsql_type": "Chaîne", + "size": "100", + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ME_IDDocPJ", + "label": "ID du document en PJ", + "hfsql_type": "Chaîne", + "size": "100", + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ME_Envoyer", + "old": { + "name": "ME_Envoyer", + "label": "Message envoyé", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ME_Envoyer", + "label": "Message envoyé", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ME_Brouillon", + "old": { + "name": "ME_Brouillon", + "label": "Mode Brouillon", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ME_Brouillon", + "label": "Mode Brouillon", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ME_PJ", + "old": { + "name": "ME_PJ", + "label": "Avec PJ", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ME_PJ", + "label": "Avec PJ", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ME_AdrCC", + "old": { + "name": "ME_AdrCC", + "label": "Adresse expéditeur CC", + "hfsql_type": "Chaîne", + "size": "200", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ME_AdrCC", + "label": "Adresse expéditeur CC", + "hfsql_type": "Chaîne", + "size": "200", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ME_AdrCCI", + "old": { + "name": "ME_AdrCCI", + "label": "Adresse expéditeur CCI", + "hfsql_type": "Chaîne", + "size": "200", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ME_AdrCCI", + "label": "Adresse expéditeur CCI", + "hfsql_type": "Chaîne", + "size": "200", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "GUID", + "old": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string (32) en persistance; Guid? après validation", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ME_IDImport", + "old": { + "name": "ME_IDImport", + "label": "Identifiant de l'import", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ME_IDImport", + "label": "Identifiant de l'import", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ME_EnvoyerMob", + "old": { + "name": "ME_EnvoyerMob", + "label": "Message envoyé par le mobile", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ME_EnvoyerMob", + "label": "Message envoyé par le mobile", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ME_PieceJointes", + "old": null, + "new": { + "name": "ME_PieceJointes", + "label": "Chemin des documents joints", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + } + ] + }, + { + "name": "MessageInterne", + "domain": "Documents et messages", + "presence": "Commun", + "purpose_inference": "Note ou message interne lié à une intervention.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "MessageInterne.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 7 + }, + "new_metadata": { + "disk_name": "MessageInterne.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 7 + }, + "fields": [ + { + "canonical_name": "MI_PKID", + "old": { + "name": "MI_PKID", + "label": "Identifiant de MessageInterne", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MI_PKID", + "label": "Identifiant de MessageInterne", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "MI_IDTypeMessage", + "old": { + "name": "MI_IDTypeMessage", + "label": "Identifiant du Type de Message", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "MI_IDTypeMessage", + "label": "Identifiant du Type de Message", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "MI_Message", + "old": { + "name": "MI_Message", + "label": "Message", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MI_Message", + "label": "Message", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "MI_IDIntervention", + "old": { + "name": "MI_IDIntervention", + "label": "Identifiant de l'intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "MI_IDIntervention", + "label": "Identifiant de l'intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `Intervention.IN_PKID`; FK déclarée (Omika) vers `Intervention.IN_PKID`" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "GUID", + "old": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string (32) en persistance; Guid? après validation", + "status": "Commun", + "compatibility_notes": "" + } + ] + }, + { + "name": "ModeleRapport", + "domain": "Documents et messages", + "presence": "Omika uniquement", + "purpose_inference": "Modèle de rapport Omika, avec contenu, métadonnées et option d'envoi mobile.", + "compatibility_note": null, + "old_metadata": null, + "new_metadata": { + "disk_name": "ModeleRapport.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 9 + }, + "fields": [ + { + "canonical_name": "MRP_PKID", + "old": null, + "new": { + "name": "MRP_PKID", + "label": "Identifiant de ModeleRapport", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Table Omika uniquement", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "MRP_Nom", + "old": null, + "new": { + "name": "MRP_Nom", + "label": "MRP_Nom", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "MRP_Modele", + "old": null, + "new": { + "name": "MRP_Modele", + "label": "MRP_Modele", + "hfsql_type": "Mémo binaire", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "byte[]", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "MRP_EnvoiMob", + "old": null, + "new": { + "name": "MRP_EnvoiMob", + "label": "Envoi vers Mobile", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "MRP_Extra", + "old": null, + "new": { + "name": "MRP_Extra", + "label": "Rub extra ajouter manuellement", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationDate", + "old": null, + "new": { + "name": "CreationDate", + "label": "CreationDate", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": null, + "new": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": null, + "new": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": null, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Table Omika uniquement", + "compatibility_notes": "" + } + ] + }, + { + "name": "ModeleRapportMob", + "domain": "Documents et messages", + "presence": "Commun", + "purpose_inference": "Modèle historique de rapport mobile et liste de rubriques mobiles.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "ModeleRapportMob.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 4 + }, + "new_metadata": { + "disk_name": "ModeleRapportMob.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 4 + }, + "fields": [ + { + "canonical_name": "MRM_PKID", + "old": { + "name": "MRM_PKID", + "label": "Identifiant de ModeleRapportMob", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MRM_PKID", + "label": "Identifiant de ModeleRapportMob", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "MRM_Nom", + "old": { + "name": "MRM_Nom", + "label": "Nom", + "hfsql_type": "Chaîne", + "size": "30", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MRM_Nom", + "label": "Nom", + "hfsql_type": "Chaîne", + "size": "30", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "MRM_Modele", + "old": { + "name": "MRM_Modele", + "label": "Buffer Modele", + "hfsql_type": "Image (mémo binaire)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MRM_Modele", + "label": "Buffer Modele", + "hfsql_type": "Image (mémo binaire)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "byte[]", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "MRM_RubMob", + "old": { + "name": "MRM_RubMob", + "label": "Rubriques mobiles", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MRM_RubMob", + "label": "Rubriques mobiles", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + } + ] + }, + { + "name": "MotClef", + "domain": "Documents et messages", + "presence": "Commun", + "purpose_inference": "Mots-clés localisés utilisés pour les rapports, courriels ou remplacements de contenu.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "MotClef.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 8 + }, + "new_metadata": { + "disk_name": "MotClef.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 8 + }, + "fields": [ + { + "canonical_name": "MOC_PKID", + "old": { + "name": "MOC_PKID", + "label": "Identifiant de MotClef", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MOC_PKID", + "label": "Identifiant de MotClef", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "MOC_Code", + "old": { + "name": "MOC_Code", + "label": "Code Valeur", + "hfsql_type": "Chaîne", + "size": "20", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MOC_Code", + "label": "Code Valeur", + "hfsql_type": "Chaîne", + "size": "20", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "MOC_Mot", + "old": { + "name": "MOC_Mot", + "label": "Mot", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MOC_Mot", + "label": "Mot", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "MOC_Lib", + "old": { + "name": "MOC_Lib", + "label": "Libellé", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MOC_Lib", + "label": "Libellé", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "MOC_Langue", + "old": { + "name": "MOC_Langue", + "label": "Langue", + "hfsql_type": "Chaîne", + "size": "3", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MOC_Langue", + "label": "Langue", + "hfsql_type": "Chaîne", + "size": "3", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "MOC_CodeMOC_Langue", + "old": { + "name": "MOC_CodeMOC_Langue", + "label": "MOC_Code + MOC_Langue", + "hfsql_type": "Clé composée", + "size": "23", + "default": null, + "zombie": false, + "notes": [ + "MOC_Code+MOC_Langue" + ] + }, + "new": { + "name": "MOC_CodeMOC_Langue", + "label": "MOC_Code + MOC_Langue", + "hfsql_type": "Clé composée", + "size": "23", + "default": null, + "zombie": false, + "notes": [ + "MOC_Code+MOC_Langue" + ] + }, + "dotnet_type_recommendation": "string en lecture seule / index technique", + "status": "Commun", + "compatibility_notes": "clé composée technique; MOC_Code+MOC_Langue" + }, + { + "canonical_name": "MOC_MotMOC_Langue", + "old": { + "name": "MOC_MotMOC_Langue", + "label": "MOC_Mot + MOC_Langue", + "hfsql_type": "Clé composée", + "size": "53", + "default": null, + "zombie": false, + "notes": [ + "MOC_Mot+MOC_Langue" + ] + }, + "new": { + "name": "MOC_MotMOC_Langue", + "label": "MOC_Mot + MOC_Langue", + "hfsql_type": "Clé composée", + "size": "53", + "default": null, + "zombie": false, + "notes": [ + "MOC_Mot+MOC_Langue" + ] + }, + "dotnet_type_recommendation": "string en lecture seule / index technique", + "status": "Commun", + "compatibility_notes": "clé composée technique; MOC_Mot+MOC_Langue" + }, + { + "canonical_name": "MOC_Groupe", + "old": { + "name": "MOC_Groupe", + "label": "Groupe de mots clés", + "hfsql_type": "Chaîne", + "size": "25", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MOC_Groupe", + "label": "Groupe de mots clés", + "hfsql_type": "Chaîne", + "size": "25", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + } + ] + }, + { + "name": "RubriquesDocument", + "domain": "Documents et messages", + "presence": "Omika uniquement", + "purpose_inference": "Métadonnées des rubriques utilisables dans les documents, rapports ou formulaires dynamiques.", + "compatibility_note": null, + "old_metadata": null, + "new_metadata": { + "disk_name": "RubriquesDocument.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 13 + }, + "fields": [ + { + "canonical_name": "RD_PKID", + "old": null, + "new": { + "name": "RD_PKID", + "label": "Identifiant de RubriquesDocument", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Table Omika uniquement", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "RD_Nom", + "old": null, + "new": { + "name": "RD_Nom", + "label": "Nom", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RD_Description", + "old": null, + "new": { + "name": "RD_Description", + "label": "Description (Info pour l'utilisateur)", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RD_Rubrique", + "old": null, + "new": { + "name": "RD_Rubrique", + "label": "Rubrique (variable dans document)", + "hfsql_type": "Chaîne", + "size": "35", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RD_TypeMembre", + "old": null, + "new": { + "name": "RD_TypeMembre", + "label": "Type membre", + "hfsql_type": "Chaîne", + "size": "20", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RD_MasqueSaisie", + "old": null, + "new": { + "name": "RD_MasqueSaisie", + "label": "Masque de saisie", + "hfsql_type": "Chaîne", + "size": "20", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RD_EnvoiMob", + "old": null, + "new": { + "name": "RD_EnvoiMob", + "label": "Envoi Mobile ?", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RD_BD", + "old": null, + "new": { + "name": "RD_BD", + "label": "Donnée disponible dans les rq", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RD_Modifiable", + "old": null, + "new": { + "name": "RD_Modifiable", + "label": "Modifiable ?", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RD_Groupe", + "old": null, + "new": { + "name": "RD_Groupe", + "label": "Groupe", + "hfsql_type": "Chaîne", + "size": "20", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RD_IdRubParent", + "old": null, + "new": { + "name": "RD_IdRubParent", + "label": "Id rubrique parent (Ex Tableau)", + "hfsql_type": "Entier non signé sur 8 octets", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "ulong", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RD_MembreMob", + "old": null, + "new": { + "name": "RD_MembreMob", + "label": "Nom de la variable qui stocke", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RD_Ordre", + "old": null, + "new": { + "name": "RD_Ordre", + "label": "Ordre de présentation", + "hfsql_type": "Entier non signé sur 4 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "uint", + "status": "Table Omika uniquement", + "compatibility_notes": "" + } + ] + }, + { + "name": "Action", + "domain": "Interventions", + "presence": "Commun", + "purpose_inference": "Actions ou tâches rattachées à une intervention, avec date, heure, type, description et état clos.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "Action.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 9 + }, + "new_metadata": { + "disk_name": "Action.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 10 + }, + "fields": [ + { + "canonical_name": "AC_PKID", + "old": { + "name": "AC_PKID", + "label": "Identifiant de Action", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "AC_PKID", + "label": "Identifiant de Action", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "AC_DateAction", + "old": { + "name": "AC_DateAction", + "label": "Date de l'action", + "hfsql_type": "Date (aaaammjj)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "AC_DateAction", + "label": "Date de l'action", + "hfsql_type": "Date (aaaammjj)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateOnly", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "AC_HeureAction", + "old": { + "name": "AC_HeureAction", + "label": "Heure de l'action", + "hfsql_type": "Heure (hhmm)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "AC_HeureAction", + "label": "Heure de l'action", + "hfsql_type": "Heure (hhmm)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "TimeOnly", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "AC_IDTypeAction", + "old": { + "name": "AC_IDTypeAction", + "label": "Identifiant du type d'action", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "AC_IDTypeAction", + "label": "Identifiant du type d'action (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine" + }, + { + "canonical_name": "AC_IDIntervention", + "old": { + "name": "AC_IDIntervention", + "label": "Identifiant de l'Intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "AC_IDIntervention", + "label": "Identifiant de l'Intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `Intervention.IN_PKID`; FK déclarée (Omika) vers `Intervention.IN_PKID`" + }, + { + "canonical_name": "AC_Description", + "old": { + "name": "AC_Description", + "label": "Description de l'action", + "hfsql_type": "Chaîne", + "size": "250", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "AC_Description", + "label": "Description de l'action", + "hfsql_type": "Chaîne", + "size": "250", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "AC_Clos", + "old": { + "name": "AC_Clos", + "label": "L'action est Clos", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "AC_Clos", + "label": "L'action est Clos", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "AC_IDQui", + "old": { + "name": "AC_IDQui", + "label": "Identifiant de la personne", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "AC_IDQui", + "label": "Identifiant de la personne", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "AC_IDImport", + "old": { + "name": "AC_IDImport", + "label": "Identifiant de l'import", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "AC_IDImport", + "label": "Identifiant de l'import", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "AC_CleTypeAction", + "old": null, + "new": { + "name": "AC_CleTypeAction", + "label": "Cle de type action", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + } + ] + }, + { + "name": "CheckList", + "domain": "Interventions", + "presence": "Commun", + "purpose_inference": "Éléments et groupes de checklist associés à une intervention ou à un modèle.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "CheckList.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 12 + }, + "new_metadata": { + "disk_name": "CheckList.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 12 + }, + "fields": [ + { + "canonical_name": "CHK_PKID", + "old": { + "name": "CHK_PKID", + "label": "Identifiant de CheckList", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CHK_PKID", + "label": "Identifiant de CheckList", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique; parent déclaré (ancien) de `CheckList_Collab.CHC_IDCheckList`; parent déclaré (Omika) de `CheckList_Collab.CHC_IDCheckList`" + }, + { + "canonical_name": "CHK_Nom", + "old": { + "name": "CHK_Nom", + "label": "Nom regoupant les éléments", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CHK_Nom", + "label": "Nom regoupant les éléments", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CHK_Element", + "old": { + "name": "CHK_Element", + "label": "Element de la checklist", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CHK_Element", + "label": "Element de la checklist", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CHK_Fait", + "old": { + "name": "CHK_Fait", + "label": "Indique si l'élément est fait", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CHK_Fait", + "label": "Indique si l'élément est fait", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CHK_Ordre", + "old": { + "name": "CHK_Ordre", + "label": "Ordre d'apparation de l'élément", + "hfsql_type": "Entier sur 4 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CHK_Ordre", + "label": "Ordre d'apparation de l'élément", + "hfsql_type": "Entier sur 4 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "int", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CHK_IDModele", + "old": { + "name": "CHK_IDModele", + "label": "Identifiant du modèle", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CHK_IDModele", + "label": "Identifiant du modèle", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CHK_IDIntervention", + "old": { + "name": "CHK_IDIntervention", + "label": "Identifiant de Intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CHK_IDIntervention", + "label": "Identifiant de Intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `Intervention.IN_PKID`; FK déclarée (Omika) vers `Intervention.IN_PKID`" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CHK_OrdreDuGroupe", + "old": { + "name": "CHK_OrdreDuGroupe", + "label": "Ordre d'apparition du Groupe", + "hfsql_type": "Entier sur 4 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CHK_OrdreDuGroupe", + "label": "Ordre d'apparition du Groupe", + "hfsql_type": "Entier sur 4 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "int", + "status": "Commun", + "compatibility_notes": "" + } + ] + }, + { + "name": "CheckList_Collab", + "domain": "Interventions", + "presence": "Commun", + "purpose_inference": "État de réalisation d'un élément de checklist pour un collaborateur.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "CheckList_Collab.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 8 + }, + "new_metadata": { + "disk_name": "CheckList_Collab.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 8 + }, + "fields": [ + { + "canonical_name": "CHC_PKID", + "old": { + "name": "CHC_PKID", + "label": "Identifiant de CheckList_Collab", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CHC_PKID", + "label": "Identifiant de CheckList_Collab", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "CHC_IDCollaborateur", + "old": { + "name": "CHC_IDCollaborateur", + "label": "Identifiant de Collaborateur", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CHC_IDCollaborateur", + "label": "Identifiant de Collaborateur", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `Collaborateur.CO_PKID`; FK déclarée (Omika) vers `Collaborateur.CO_PKID`" + }, + { + "canonical_name": "CHC_IDCheckList", + "old": { + "name": "CHC_IDCheckList", + "label": "Identifiant de CheckList", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CHC_IDCheckList", + "label": "Identifiant de CheckList", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `CheckList.CHK_PKID`; FK déclarée (Omika) vers `CheckList.CHK_PKID`" + }, + { + "canonical_name": "CHC_Fait", + "old": { + "name": "CHC_Fait", + "label": "Indique l'élément de la checklist", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CHC_Fait", + "label": "Indique l'élément de la checklist", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + } + ] + }, + { + "name": "CompteRendu", + "domain": "Interventions", + "presence": "Commun", + "purpose_inference": "Compte rendu d'intervention ou de rendez-vous, notes, signatures et informations de conformité.", + "compatibility_note": "Omika ajoute une clé de type de signataire et un GUID de rendez-vous; plusieurs champs historiques restent marqués zombie dans les traitements.", + "old_metadata": { + "disk_name": "CompteRendu.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 22 + }, + "new_metadata": { + "disk_name": "CompteRendu.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 24 + }, + "fields": [ + { + "canonical_name": "CR_PKID", + "old": { + "name": "CR_PKID", + "label": "Identifiant de CompteRendu", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CR_PKID", + "label": "Identifiant de CompteRendu", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "CR_IDRdv", + "old": { + "name": "CR_IDRdv", + "label": "Identifiant de Planning_RDV", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CR_IDRdv", + "label": "Identifiant de Planning_RDV", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CR_IDIntervention", + "old": { + "name": "CR_IDIntervention", + "label": "Identifiant de Intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CR_IDIntervention", + "label": "Identifiant de Intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "GUID", + "old": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string (32) en persistance; Guid? après validation", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CR_DateHeureDebut", + "old": { + "name": "CR_DateHeureDebut", + "label": "Date et Heure de Debut", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CR_DateHeureDebut", + "label": "Date et Heure de Debut", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "CR_DateHeureFin", + "old": { + "name": "CR_DateHeureFin", + "label": "Date et Heure de Fin", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CR_DateHeureFin", + "label": "Date et Heure de Fin", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "CR_NoteCollaborateur", + "old": { + "name": "CR_NoteCollaborateur", + "label": "Note du collaborateur", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CR_NoteCollaborateur", + "label": "Note du collaborateur", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CR_NomSignataire", + "old": { + "name": "CR_NomSignataire", + "label": "Nom du Signataire", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CR_NomSignataire", + "label": "Nom du Signataire", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CR_NoteSignataire", + "old": { + "name": "CR_NoteSignataire", + "label": "Note Signataire", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CR_NoteSignataire", + "label": "Note Signataire", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CR_DateHeureSignature", + "old": { + "name": "CR_DateHeureSignature", + "label": "Date et Heure de Signature", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CR_DateHeureSignature", + "label": "Date et Heure de Signature", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CR_Signature", + "old": { + "name": "CR_Signature", + "label": "Signature", + "hfsql_type": "Image (mémo binaire)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CR_Signature", + "label": "Signature", + "hfsql_type": "Image (mémo binaire)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "byte[]", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CR_IDCollaborateur", + "old": { + "name": "CR_IDCollaborateur", + "label": "Identifiant de Collaborateur", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CR_IDCollaborateur", + "label": "Identifiant de Collaborateur", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CR_SignatureTech", + "old": { + "name": "CR_SignatureTech", + "label": "Signature du technicien", + "hfsql_type": "Image (mémo binaire)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CR_SignatureTech", + "label": "Signature du technicien", + "hfsql_type": "Image (mémo binaire)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "byte[]", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CR_NomSignataireTech", + "old": { + "name": "CR_NomSignataireTech", + "label": "Nom du technicien Signataire", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CR_NomSignataireTech", + "label": "Nom du technicien Signataire", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CR_DevisConforme", + "old": { + "name": "CR_DevisConforme", + "label": "Devis Conforme", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CR_DevisConforme", + "label": "Devis Conforme", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CR_AvecReserve", + "old": { + "name": "CR_AvecReserve", + "label": "Avec Réserve", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CR_AvecReserve", + "label": "Avec Réserve", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CR_ReserveCommentaire", + "old": { + "name": "CR_ReserveCommentaire", + "label": "Commentaire de Réserve", + "hfsql_type": "Chaîne", + "size": "100", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CR_ReserveCommentaire", + "label": "Commentaire de Réserve", + "hfsql_type": "Chaîne", + "size": "100", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CR_IDTypeSignataire", + "old": { + "name": "CR_IDTypeSignataire", + "label": "Identifiant du TypeSignataire", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CR_IDTypeSignataire", + "label": "Identifiant du TypeSignataire (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "CR_CleTypeSignataire", + "old": null, + "new": { + "name": "CR_CleTypeSignataire", + "label": "CleType du Signataire", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "CR_GUID_Rdv", + "old": null, + "new": { + "name": "CR_GUID_Rdv", + "label": "GUID du Rdv", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string (32) en persistance; Guid? après validation", + "status": "Ajout Omika", + "compatibility_notes": "" + } + ] + }, + { + "name": "Dossier", + "domain": "Interventions", + "presence": "Commun", + "purpose_inference": "Dossier client regroupant des interventions, références, statut, type et société.", + "compatibility_note": "Omika ajoute des clés de type/statut et un GUID. Le champ numérique de type est zombie; le statut numérique doit aussi être considéré transitoire.", + "old_metadata": { + "disk_name": "Dossier.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [ + "Index full-text DO_Index_FullText (Rubriques : DO_Titre, DO_RefInterne, DO_RefExterne, DO_NumDossier)" + ], + "field_count": 17 + }, + "new_metadata": { + "disk_name": "Dossier.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [ + "Index full-text DO_Index_FullText (Rubriques : DO_Titre, DO_RefInterne, DO_RefExterne, DO_NumDossier)" + ], + "field_count": 20 + }, + "fields": [ + { + "canonical_name": "DO_PKID", + "old": { + "name": "DO_PKID", + "label": "Identifiant de DOSSIER", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "DO_PKID", + "label": "Identifiant de DOSSIER", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique; parent déclaré (ancien) de `Intervention.IN_IDDossier`; parent déclaré (Omika) de `Intervention.IN_IDDossier`" + }, + { + "canonical_name": "DO_IDClient", + "old": { + "name": "DO_IDClient", + "label": "Identifiant de CLIENT", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "DO_IDClient", + "label": "Identifiant de CLIENT", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `Client.CL_PKID`; FK déclarée (Omika) vers `Client.CL_PKID`" + }, + { + "canonical_name": "DO_IDTypeDossier", + "old": { + "name": "DO_IDTypeDossier", + "label": "Type de Dossier", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "DO_IDTypeDossier", + "label": "Type de Dossier (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine" + }, + { + "canonical_name": "DO_Titre", + "old": { + "name": "DO_Titre", + "label": "Titre du Dossier", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "DO_Titre", + "label": "Titre du Dossier", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "DO_IDStatut", + "old": { + "name": "DO_IDStatut", + "label": "Identifiant du Statut du dossier", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "DO_IDStatut", + "label": "Identifiant du Statut du dossier", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "DO_RefInterne", + "old": { + "name": "DO_RefInterne", + "label": "Référence interne du dossier", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "DO_RefInterne", + "label": "Référence interne du dossier", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "DO_RefExterne", + "old": { + "name": "DO_RefExterne", + "label": "Référence externe du dossier", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "DO_RefExterne", + "label": "Référence externe du dossier", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "DO_IDImport", + "old": { + "name": "DO_IDImport", + "label": "Identifiant Import", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "DO_IDImport", + "label": "Identifiant Import", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "DO_IDSociete", + "old": { + "name": "DO_IDSociete", + "label": "Identifiant de SOCIETE", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "DO_IDSociete", + "label": "Identifiant de SOCIETE", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "DO_DateDebut", + "old": { + "name": "DO_DateDebut", + "label": "Date de début du dossier", + "hfsql_type": "Date (aaaammjj)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "DO_DateDebut", + "label": "Date de début du dossier", + "hfsql_type": "Date (aaaammjj)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateOnly", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "Archive", + "old": { + "name": "Archive", + "label": "Enregistrement Archivée", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "Archive", + "label": "Enregistrement Archivée", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "DateArchivage", + "old": { + "name": "DateArchivage", + "label": "Date d'archivage", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "DateArchivage", + "label": "Date d'archivage", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "DO_NumDossier", + "old": { + "name": "DO_NumDossier", + "label": "NumDossier", + "hfsql_type": "Chaîne", + "size": "6", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "DO_NumDossier", + "label": "NumDossier", + "hfsql_type": "Chaîne", + "size": "6", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "DO_CleType", + "old": null, + "new": { + "name": "DO_CleType", + "label": "Cle Type de dossier", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "DO_CleStatut", + "old": null, + "new": { + "name": "DO_CleStatut", + "label": "Cle Statut", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "GUID", + "old": null, + "new": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string (32) en persistance; Guid? après validation", + "status": "Ajout Omika", + "compatibility_notes": "" + } + ] + }, + { + "name": "EtatIntervention", + "domain": "Interventions", + "presence": "Commun", + "purpose_inference": "Historique des états d'une intervention, avec période et description.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "EtatIntervention.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 6 + }, + "new_metadata": { + "disk_name": "EtatIntervention.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 7 + }, + "fields": [ + { + "canonical_name": "EI_PKID", + "old": { + "name": "EI_PKID", + "label": "Identifiant de", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "EI_PKID", + "label": "Identifiant de", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "EI_IDEtat", + "old": { + "name": "EI_IDEtat", + "label": "Identifiant de Etat d'intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "EI_IDEtat", + "label": "Identifiant de Etat d'intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "EI_DateDebut", + "old": { + "name": "EI_DateDebut", + "label": "Date début", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "EI_DateDebut", + "label": "Date début", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "EI_DateFin", + "old": { + "name": "EI_DateFin", + "label": "Date fin", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "EI_DateFin", + "label": "Date fin", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "EI_Description", + "old": { + "name": "EI_Description", + "label": "Description de l'intervention pour", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "EI_Description", + "label": "Description de l'intervention pour", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "EI_IDIntervention", + "old": { + "name": "EI_IDIntervention", + "label": "Identifiant de Intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "EI_IDIntervention", + "label": "Identifiant de Intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `Intervention.IN_PKID`; FK déclarée (Omika) vers `Intervention.IN_PKID`" + }, + { + "canonical_name": "EI_CleEtat", + "old": null, + "new": { + "name": "EI_CleEtat", + "label": "Cle Etat d'intervention", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + } + ] + }, + { + "name": "Intervention", + "domain": "Interventions", + "presence": "Commun", + "purpose_inference": "Intervention métier : dossier, client, site, type, état, dates, devis, facture et suivi.", + "compatibility_note": "Omika ajoute des clés de type/état et un GUID, tout en conservant les anciens identifiants numériques comme champs transitoires.", + "old_metadata": { + "disk_name": "Intervention.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [ + "Index full-text" + ], + "field_count": 29 + }, + "new_metadata": { + "disk_name": "Intervention.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [ + "Index full-text" + ], + "field_count": 32 + }, + "fields": [ + { + "canonical_name": "IN_PKID", + "old": { + "name": "IN_PKID", + "label": "Identifiant de Intervention", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "IN_PKID", + "label": "Identifiant de Intervention", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique; parent déclaré (ancien) de `Action.AC_IDIntervention`; parent déclaré (ancien) de `CheckList.CHK_IDIntervention`; parent déclaré (ancien) de `Intervention_Collaborateur.IC_IDIntervention`; parent déclaré (ancien) de `EtatIntervention.EI_IDIntervention`; parent déclaré (ancien) de `Intervention_BddExterne.INX_IDIntervention`; parent déclaré (ancien) de `MessageExterne.ME_IDIntervention`; parent déclaré (ancien) de `Intervention_ChampLibre.ICL_IDIntervention`; parent déclaré (ancien) de `MessageInterne.MI_IDIntervention`; parent déclaré (ancien) de `SuiviDesTemps.SDT_IDIntervention`; parent déclaré (Omika) de `Action.AC_IDIntervention`; parent déclaré (Omika) de `CheckList.CHK_IDIntervention`; parent déclaré (Omika) de `EtatIntervention.EI_IDIntervention`; parent déclaré (Omika) de `Intervention_BddExterne.INX_IDIntervention`; parent déclaré (Omika) de `MessageExterne.ME_IDIntervention`; parent déclaré (Omika) de `Intervention_ChampLibre.ICL_IDIntervention`; parent déclaré (Omika) de `MessageInterne.MI_IDIntervention`; parent déclaré (Omika) de `SuiviDesTemps.SDT_IDIntervention`" + }, + { + "canonical_name": "IN_IDTypeIntervention", + "old": { + "name": "IN_IDTypeIntervention", + "label": "Identifiant du Type d'Intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "IN_IDTypeIntervention", + "label": "Type d'Intervention (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "IN_IDEtatIntervention", + "old": { + "name": "IN_IDEtatIntervention", + "label": "Identifiant de l'état de l'Intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "IN_IDEtatIntervention", + "label": "l'état de l'Intervention (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "IN_IDSuiviPar", + "old": { + "name": "IN_IDSuiviPar", + "label": "Identifiant du Collaborateur", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "IN_IDSuiviPar", + "label": "Identifiant du Collaborateur", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IN_IDDossier", + "old": { + "name": "IN_IDDossier", + "label": "Identifiant de Dossier", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "IN_IDDossier", + "label": "Identifiant de Dossier", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `Dossier.DO_PKID`; FK déclarée (Omika) vers `Dossier.DO_PKID`" + }, + { + "canonical_name": "IN_IDDemandeur", + "old": { + "name": "IN_IDDemandeur", + "label": "Identifiant du DEMANDEUR", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "IN_IDDemandeur", + "label": "Identifiant du DEMANDEUR", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IN_IDClient", + "old": { + "name": "IN_IDClient", + "label": "Identifiant de Client", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "IN_IDClient", + "label": "Identifiant de Client", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IN_IDLieu", + "old": { + "name": "IN_IDLieu", + "label": "Identifiant de Lieu", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "IN_IDLieu", + "label": "Identifiant de Lieu", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IN_Description", + "old": { + "name": "IN_Description", + "label": "Description de l'intervention", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "IN_Description", + "label": "Description de l'intervention", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IN_AttestationTVAPresente", + "old": { + "name": "IN_AttestationTVAPresente", + "label": "Attestation TVA présentée", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "IN_AttestationTVAPresente", + "label": "Attestation TVA présentée", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IN_NoteInterne", + "old": { + "name": "IN_NoteInterne", + "label": "Note Interne", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "IN_NoteInterne", + "label": "Note Interne", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IN_Titre", + "old": { + "name": "IN_Titre", + "label": "Titre de l'intervention", + "hfsql_type": "Chaîne", + "size": "51", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "IN_Titre", + "label": "Titre de l'intervention", + "hfsql_type": "Chaîne", + "size": "51", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IN_RefInterne", + "old": { + "name": "IN_RefInterne", + "label": "Référence interne de l'intervention", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "IN_RefInterne", + "label": "Référence interne de l'intervention", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IN_RefExterne", + "old": { + "name": "IN_RefExterne", + "label": "Référence externe de l'interne", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "IN_RefExterne", + "label": "Référence externe de l'interne", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IN_IDImport", + "old": { + "name": "IN_IDImport", + "label": "Identifiant Import", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "IN_IDImport", + "label": "Identifiant Import", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IN_IDSociete", + "old": { + "name": "IN_IDSociete", + "label": "Identifiant de Societe", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "IN_IDSociete", + "label": "Identifiant de Societe", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "Archive", + "old": { + "name": "Archive", + "label": "Enregistrement Archivée", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "Archive", + "label": "Enregistrement Archivée", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "DateArchivage", + "old": { + "name": "DateArchivage", + "label": "Date d'archivage", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "DateArchivage", + "label": "Date d'archivage", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IN_DateIntervention", + "old": { + "name": "IN_DateIntervention", + "label": "Date d'Intervention", + "hfsql_type": "Date (aaaammjj)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "IN_DateIntervention", + "label": "Date d'Intervention", + "hfsql_type": "Date (aaaammjj)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateOnly", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IN_DureePrevue", + "old": { + "name": "IN_DureePrevue", + "label": "Durée prévue d'intervention", + "hfsql_type": "Réel sur 4 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "IN_DureePrevue", + "label": "Durée prévue d'intervention", + "hfsql_type": "Réel sur 4 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "float", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IN_NumDevis", + "old": { + "name": "IN_NumDevis", + "label": "Numéro du devis", + "hfsql_type": "Chaîne", + "size": "20", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "IN_NumDevis", + "label": "Numéro du devis", + "hfsql_type": "Chaîne", + "size": "20", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IN_DateDevis", + "old": { + "name": "IN_DateDevis", + "label": "Date du devis", + "hfsql_type": "Date (aaaammjj)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "IN_DateDevis", + "label": "Date du devis", + "hfsql_type": "Date (aaaammjj)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateOnly", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IN_NumFacture", + "old": { + "name": "IN_NumFacture", + "label": "Numéro de la facture", + "hfsql_type": "Chaîne", + "size": "20", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "IN_NumFacture", + "label": "Numéro de la facture", + "hfsql_type": "Chaîne", + "size": "20", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IN_DateFacture", + "old": { + "name": "IN_DateFacture", + "label": "Date de la facture", + "hfsql_type": "Date (aaaammjj)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "IN_DateFacture", + "label": "Date de la facture", + "hfsql_type": "Date (aaaammjj)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateOnly", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IN_NumIntervention", + "old": { + "name": "IN_NumIntervention", + "label": "IN_NumIntervention", + "hfsql_type": "Chaîne", + "size": "6", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "IN_NumIntervention", + "label": "IN_NumIntervention", + "hfsql_type": "Chaîne", + "size": "6", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IN_CleType", + "old": null, + "new": { + "name": "IN_CleType", + "label": "Clé Type d'intervention", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "IN_CleEtat", + "old": null, + "new": { + "name": "IN_CleEtat", + "label": "Clé état d'intervention", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "GUID", + "old": null, + "new": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string (32) en persistance; Guid? après validation", + "status": "Ajout Omika", + "compatibility_notes": "" + } + ] + }, + { + "name": "Intervention_ChampLibre", + "domain": "Interventions", + "presence": "Commun", + "purpose_inference": "Valeur d'un paramètre ou champ libre pour une intervention.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "Intervention_ChampLibre.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 9 + }, + "new_metadata": { + "disk_name": "Intervention_ChampLibre.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 9 + }, + "fields": [ + { + "canonical_name": "ICL_PKID", + "old": { + "name": "ICL_PKID", + "label": "Identifiant de", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ICL_PKID", + "label": "Identifiant de", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "ICL_IDIntervention_ICL_IDParametreM", + "old": { + "name": "ICL_IDIntervention_ICL_IDParametreM", + "label": "Identifiant de", + "hfsql_type": "Clé composée", + "size": "16", + "default": null, + "zombie": false, + "notes": [ + "ICL_IDIntervention+ICL_IDParametreMetier" + ] + }, + "new": { + "name": "ICL_IDIntervention_ICL_IDParametreM", + "label": "Identifiant de", + "hfsql_type": "Clé composée", + "size": "16", + "default": null, + "zombie": false, + "notes": [ + "ICL_IDIntervention+ICL_IDParametreMetier" + ] + }, + "dotnet_type_recommendation": "string en lecture seule / index technique", + "status": "Commun", + "compatibility_notes": "clé composée technique; ICL_IDIntervention+ICL_IDParametreMetier" + }, + { + "canonical_name": "ICL_IDIntervention", + "old": { + "name": "ICL_IDIntervention", + "label": "Identifiant de Intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ICL_IDIntervention", + "label": "Identifiant de Intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `Intervention.IN_PKID`; FK déclarée (Omika) vers `Intervention.IN_PKID`" + }, + { + "canonical_name": "ICL_IDParametreMetier", + "old": { + "name": "ICL_IDParametreMetier", + "label": "Identifiant de ParametreMetier", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ICL_IDParametreMetier", + "label": "Identifiant de ParametreMetier", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `ParametreMetier.PA_PKID`; FK déclarée (Omika) vers `ParametreMetier.PA_PKID`" + }, + { + "canonical_name": "ICL_ValeurDuChamp", + "old": { + "name": "ICL_ValeurDuChamp", + "label": "Valeur Du Champ", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ICL_ValeurDuChamp", + "label": "Valeur Du Champ", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + } + ] + }, + { + "name": "Intervention_Collaborateur", + "domain": "Interventions", + "presence": "Ancien uniquement", + "purpose_inference": "Association historique entre une intervention et un collaborateur ; absente du nouveau schéma.", + "compatibility_note": "Table uniquement ancienne. Son remplacement fonctionnel n'est pas une simple table homonyme : Omika utilise le nouvel agrégat RDV et ses affectations collaborateurs.", + "old_metadata": { + "disk_name": "Intervention_Collaborateur.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 7 + }, + "new_metadata": null, + "fields": [ + { + "canonical_name": "IC_PKID", + "old": { + "name": "IC_PKID", + "label": "Identifiant de", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": null, + "dotnet_type_recommendation": "long", + "status": "Table Isis_BO uniquement", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "IC_IDIntervention", + "old": { + "name": "IC_IDIntervention", + "label": "Identifiant de Intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": null, + "dotnet_type_recommendation": "long", + "status": "Table Isis_BO uniquement", + "compatibility_notes": "FK déclarée (ancien) vers `Intervention.IN_PKID`" + }, + { + "canonical_name": "IC_IDCollaborateur", + "old": { + "name": "IC_IDCollaborateur", + "label": "Identifiant de Collaborateur", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": null, + "dotnet_type_recommendation": "long", + "status": "Table Isis_BO uniquement", + "compatibility_notes": "FK déclarée (ancien) vers `Collaborateur.CO_PKID`" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": null, + "dotnet_type_recommendation": "DateTime", + "status": "Table Isis_BO uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": null, + "dotnet_type_recommendation": "long", + "status": "Table Isis_BO uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": null, + "dotnet_type_recommendation": "DateTime", + "status": "Table Isis_BO uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": null, + "dotnet_type_recommendation": "long", + "status": "Table Isis_BO uniquement", + "compatibility_notes": "" + } + ] + }, + { + "name": "Intervention_Personne", + "domain": "Interventions", + "presence": "Commun", + "purpose_inference": "Association entre une intervention et une personne, avec rôle, demandeur, étage et lot.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "Intervention_Personne.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 14 + }, + "new_metadata": { + "disk_name": "Intervention_Personne.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 15 + }, + "fields": [ + { + "canonical_name": "IP_PKID", + "old": { + "name": "IP_PKID", + "label": "Identifiant de Intervention_Personne", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "IP_PKID", + "label": "Identifiant de Intervention_Personne", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "IP_IDIntervention", + "old": { + "name": "IP_IDIntervention", + "label": "Identifiant de Intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "IP_IDIntervention", + "label": "Identifiant de Intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IP_IDPersonne", + "old": { + "name": "IP_IDPersonne", + "label": "Identifiant de Personne", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "IP_IDPersonne", + "label": "Identifiant de Personne", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IP_IDClient", + "old": { + "name": "IP_IDClient", + "label": "Identifiant de Client", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "IP_IDClient", + "label": "Identifiant de Client", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IP_IDLieu", + "old": { + "name": "IP_IDLieu", + "label": "Identifiant de Lieu", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "IP_IDLieu", + "label": "Identifiant de Lieu", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IP_IDRole", + "old": { + "name": "IP_IDRole", + "label": "Role de la personne dans l'intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "IP_IDRole", + "label": "Role de la personne dans l'intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "IP_IDImport", + "old": { + "name": "IP_IDImport", + "label": "Identifiant Import", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "IP_IDImport", + "label": "Identifiant Import", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IP_EstDemandeur", + "old": { + "name": "IP_EstDemandeur", + "label": "La personne est le demandeur sur", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "IP_EstDemandeur", + "label": "La personne est le demandeur sur", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IP_Etage", + "old": { + "name": "IP_Etage", + "label": "Etage où se situe l'occupant", + "hfsql_type": "Chaîne", + "size": "10", + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "IP_Etage", + "label": "Etage où se situe l'occupant", + "hfsql_type": "Chaîne", + "size": "10", + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IP_Lot", + "old": { + "name": "IP_Lot", + "label": "Lot concerné", + "hfsql_type": "Chaîne", + "size": "25", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "IP_Lot", + "label": "Lot concerné", + "hfsql_type": "Chaîne", + "size": "25", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "IP_CleRole", + "old": null, + "new": { + "name": "IP_CleRole", + "label": "Clé du Role de la personne dans", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + } + ] + }, + { + "name": "BddExterne", + "domain": "Intégrations et audit", + "presence": "Commun", + "purpose_inference": "Configuration d'une base ou d'un système externe, généralement par société, avec paramètres sérialisés.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "BddExterne.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 8 + }, + "new_metadata": { + "disk_name": "BddExterne.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 8 + }, + "fields": [ + { + "canonical_name": "BSX_PKID", + "old": { + "name": "BSX_PKID", + "label": "Identifiant de Base_Ext", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "BSX_PKID", + "label": "Identifiant de Base_Ext", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique; parent déclaré (ancien) de `Intervention_BddExterne.INX_IDBddExterne`; parent déclaré (ancien) de `Client_BddExterne.CLX_IDBddExterne`; parent déclaré (Omika) de `Intervention_BddExterne.INX_IDBddExterne`; parent déclaré (Omika) de `Client_BddExterne.CLX_IDBddExterne`" + }, + { + "canonical_name": "BSX_Nom", + "old": { + "name": "BSX_Nom", + "label": "Nom", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "BSX_Nom", + "label": "Nom", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "BSX_Param", + "old": { + "name": "BSX_Param", + "label": "Paramètres JSON", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "BSX_Param", + "label": "Paramètres JSON", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "BSX_IDSociete", + "old": { + "name": "BSX_IDSociete", + "label": "Identifiant de la Société", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "BSX_IDSociete", + "label": "Identifiant de la Société", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + } + ] + }, + { + "name": "Client_BddExterne", + "domain": "Intégrations et audit", + "presence": "Commun", + "purpose_inference": "Correspondance entre un client local et son identifiant dans une base externe.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "Client_BddExterne.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 10 + }, + "new_metadata": { + "disk_name": "Client_BddExterne.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 10 + }, + "fields": [ + { + "canonical_name": "CLX_PKID", + "old": { + "name": "CLX_PKID", + "label": "Identifiant de Client_Ext", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CLX_PKID", + "label": "Identifiant de Client_Ext", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "CLX_IDCLient", + "old": { + "name": "CLX_IDCLient", + "label": "ID CLient", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CLX_IDCLient", + "label": "ID CLient", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `Client.CL_PKID`; FK déclarée (Omika) vers `Client.CL_PKID`" + }, + { + "canonical_name": "CLX_IDExterne", + "old": { + "name": "CLX_IDExterne", + "label": "ID Externe", + "hfsql_type": "Chaîne", + "size": "30", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CLX_IDExterne", + "label": "ID Externe", + "hfsql_type": "Chaîne", + "size": "30", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CLX_DateSynchro", + "old": { + "name": "CLX_DateSynchro", + "label": "Date Heure dernière synchro", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CLX_DateSynchro", + "label": "Date Heure dernière synchro", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CLX_IDBddExterne", + "old": { + "name": "CLX_IDBddExterne", + "label": "ID Bdd externe", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CLX_IDBddExterne", + "label": "ID Bdd externe", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `BddExterne.BSX_PKID`; FK déclarée (Omika) vers `BddExterne.BSX_PKID`" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CLX_IDBddExterneCLX_IDCLient", + "old": { + "name": "CLX_IDBddExterneCLX_IDCLient", + "label": "CLX_IDBddExterneCLX_I | CLX_IDBddExterne + CLX_IDCLient", + "hfsql_type": "Clé composée", + "size": "16", + "default": null, + "zombie": false, + "notes": [ + "CLX_IDBddExterne+CLX_IDCLient" + ] + }, + "new": { + "name": "CLX_IDBddExterneCLX_IDCLient", + "label": "CLX_IDBddExterneCLX_I | CLX_IDBddExterne + CLX_IDCLient", + "hfsql_type": "Clé composée", + "size": "16", + "default": null, + "zombie": false, + "notes": [ + "CLX_IDBddExterne+CLX_IDCLient" + ] + }, + "dotnet_type_recommendation": "string en lecture seule / index technique", + "status": "Commun", + "compatibility_notes": "clé composée technique; CLX_IDBddExterne+CLX_IDCLient" + } + ] + }, + { + "name": "ElementModifie", + "domain": "Intégrations et audit", + "presence": "Omika uniquement", + "purpose_inference": "Journal technique Omika des enregistrements modifiés.", + "compatibility_note": null, + "old_metadata": null, + "new_metadata": { + "disk_name": "elementmodifie.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 5 + }, + "fields": [ + { + "canonical_name": "EM_PKID", + "old": null, + "new": { + "name": "EM_PKID", + "label": "Identifiant de ElementModifie", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Table Omika uniquement", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "EM_Fichier", + "old": null, + "new": { + "name": "EM_Fichier", + "label": "Fichier", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "EM_Date", + "old": null, + "new": { + "name": "EM_Date", + "label": "Date de modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "EM_IdUser", + "old": null, + "new": { + "name": "EM_IdUser", + "label": "Id User", + "hfsql_type": "Entier non signé sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "ulong", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "EM_IdEnrg", + "old": null, + "new": { + "name": "EM_IdEnrg", + "label": "Id de l'enregistrement", + "hfsql_type": "Entier non signé sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "ulong", + "status": "Table Omika uniquement", + "compatibility_notes": "" + } + ] + }, + { + "name": "ElementSupprime", + "domain": "Intégrations et audit", + "presence": "Omika uniquement", + "purpose_inference": "Journal technique Omika des enregistrements supprimés.", + "compatibility_note": null, + "old_metadata": null, + "new_metadata": { + "disk_name": "elementsupprime.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 7 + }, + "fields": [ + { + "canonical_name": "ES_PKID", + "old": null, + "new": { + "name": "ES_PKID", + "label": "Identifiant de ElementSupprime", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Table Omika uniquement", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "ES_NumEnrg", + "old": null, + "new": { + "name": "ES_NumEnrg", + "label": "Numéro d'enregistrement", + "hfsql_type": "Entier non signé sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "ulong", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "ES_IdEnrg", + "old": null, + "new": { + "name": "ES_IdEnrg", + "label": "Id enregistrement", + "hfsql_type": "Entier non signé sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "ulong", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "ES_Fichier", + "old": null, + "new": { + "name": "ES_Fichier", + "label": "Nom du fichier", + "hfsql_type": "Chaîne", + "size": "40", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "ES_IdUser", + "old": null, + "new": { + "name": "ES_IdUser", + "label": "Id User", + "hfsql_type": "Entier non signé sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "ulong", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "ES_DateHeure", + "old": null, + "new": { + "name": "ES_DateHeure", + "label": "Date Heure suppression", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "ES_NumEnr_Id", + "old": null, + "new": { + "name": "ES_NumEnr_Id", + "label": "Numéro d'enregistrement plus ID", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + } + ] + }, + { + "name": "Intervention_BddExterne", + "domain": "Intégrations et audit", + "presence": "Commun", + "purpose_inference": "Correspondance entre une intervention locale et une intervention d'une base externe.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "Intervention_BddExterne.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 9 + }, + "new_metadata": { + "disk_name": "Intervention_BddExterne.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 9 + }, + "fields": [ + { + "canonical_name": "INX_PKID", + "old": { + "name": "INX_PKID", + "label": "Identifiant de Intervention_Ext", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "INX_PKID", + "label": "Identifiant de Intervention_Ext", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "INX_IDIntervention", + "old": { + "name": "INX_IDIntervention", + "label": "INX_IDIntervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "INX_IDIntervention", + "label": "INX_IDIntervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `Intervention.IN_PKID`; FK déclarée (Omika) vers `Intervention.IN_PKID`" + }, + { + "canonical_name": "INX_IDExterne", + "old": { + "name": "INX_IDExterne", + "label": "INX_IDExterne", + "hfsql_type": "Chaîne", + "size": "30", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "INX_IDExterne", + "label": "INX_IDExterne", + "hfsql_type": "Chaîne", + "size": "30", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "INX_IDBddExterne", + "old": { + "name": "INX_IDBddExterne", + "label": "Id bdd externe", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "INX_IDBddExterne", + "label": "Id bdd externe", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `BddExterne.BSX_PKID`; FK déclarée (Omika) vers `BddExterne.BSX_PKID`" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "INX_IDBaseExtINX_IDIntervention", + "old": { + "name": "INX_IDBaseExtINX_IDIntervention", + "label": "INX_IDBaseExtINX_IDIn | INX_IDBaseExt + INX_IDIntervention", + "hfsql_type": "Clé composée", + "size": "16", + "default": null, + "zombie": false, + "notes": [ + "INX_IDBddExterne+INX_IDIntervention" + ] + }, + "new": { + "name": "INX_IDBaseExtINX_IDIntervention", + "label": "INX_IDBaseExtINX_IDIn | INX_IDBaseExt + INX_IDIntervention", + "hfsql_type": "Clé composée", + "size": "16", + "default": null, + "zombie": false, + "notes": [ + "INX_IDBddExterne+INX_IDIntervention" + ] + }, + "dotnet_type_recommendation": "string en lecture seule / index technique", + "status": "Commun", + "compatibility_notes": "clé composée technique; INX_IDBddExterne+INX_IDIntervention" + } + ] + }, + { + "name": "Mobile", + "domain": "Intégrations et audit", + "presence": "Commun", + "purpose_inference": "Terminal mobile enregistré, identifié par numéro de série et utilisateur.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "Mobile.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 3 + }, + "new_metadata": { + "disk_name": "Mobile.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 3 + }, + "fields": [ + { + "canonical_name": "MOB_PKID", + "old": { + "name": "MOB_PKID", + "label": "Identifiant de Mobile", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MOB_PKID", + "label": "Identifiant de Mobile", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "MOB_NumSerie", + "old": { + "name": "MOB_NumSerie", + "label": "MOB_NumSerie", + "hfsql_type": "Chaîne", + "size": "100", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MOB_NumSerie", + "label": "MOB_NumSerie", + "hfsql_type": "Chaîne", + "size": "100", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "MOB_NomPersonne", + "old": { + "name": "MOB_NomPersonne", + "label": "MOB_NomPersonne", + "hfsql_type": "Chaîne", + "size": "100", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MOB_NomPersonne", + "label": "MOB_NomPersonne", + "hfsql_type": "Chaîne", + "size": "100", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + } + ] + }, + { + "name": "MobLog", + "domain": "Intégrations et audit", + "presence": "Commun", + "purpose_inference": "Journal de messages ou événements mobiles.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "MobLog.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 4 + }, + "new_metadata": { + "disk_name": "MobLog.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 4 + }, + "fields": [ + { + "canonical_name": "ML_PKID", + "old": { + "name": "ML_PKID", + "label": "Identifiant de MobLog", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ML_PKID", + "label": "Identifiant de MobLog", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "ML_DateCreat", + "old": { + "name": "ML_DateCreat", + "label": "DateHeure", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ML_DateCreat", + "label": "DateHeure", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ML_Message", + "old": { + "name": "ML_Message", + "label": "Message", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ML_Message", + "label": "Message", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ML_Niveau", + "old": { + "name": "ML_Niveau", + "label": "ML_Niveau", + "hfsql_type": "Entier sur 1 octet", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ML_Niveau", + "label": "ML_Niveau", + "hfsql_type": "Entier sur 1 octet", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "sbyte", + "status": "Commun", + "compatibility_notes": "" + } + ] + }, + { + "name": "MobReception", + "domain": "Intégrations et audit", + "presence": "Commun", + "purpose_inference": "File de réception des commandes et données envoyées par les terminaux mobiles.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "MobReception.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 8 + }, + "new_metadata": { + "disk_name": "MobReception.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 8 + }, + "fields": [ + { + "canonical_name": "MR_PKID", + "old": { + "name": "MR_PKID", + "label": "Identifiant de MobReception", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MR_PKID", + "label": "Identifiant de MobReception", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "MR_IDToSRV", + "old": { + "name": "MR_IDToSRV", + "label": "MR_IDToSRV", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "MR_IDToSRV", + "label": "MR_IDToSRV", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "MR_JSON", + "old": { + "name": "MR_JSON", + "label": "JSON", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MR_JSON", + "label": "JSON", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "MR_CMD", + "old": { + "name": "MR_CMD", + "label": "Commande", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MR_CMD", + "label": "Commande", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "MR_Buffer", + "old": { + "name": "MR_Buffer", + "label": "Buffer", + "hfsql_type": "Image (mémo binaire)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MR_Buffer", + "label": "Buffer", + "hfsql_type": "Image (mémo binaire)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "byte[]", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "MR_NumSerie", + "old": { + "name": "MR_NumSerie", + "label": "Numéro de Série", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MR_NumSerie", + "label": "Numéro de Série", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "MR_Fait", + "old": { + "name": "MR_Fait", + "label": "Fait", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "MR_Fait", + "label": "Fait", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "MR_DateHeureRecep", + "old": { + "name": "MR_DateHeureRecep", + "label": "DateHeure de Réception", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "MR_DateHeureRecep", + "label": "DateHeure de Réception", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + } + ] + }, + { + "name": "Collaborateur", + "domain": "Organisation", + "presence": "Commun", + "purpose_inference": "Collaborateur ou technicien planifiable, avec coordonnées, statut, accès et pondération.", + "compatibility_note": "Omika ajoute les clés de civilité/statut et un GUID; les identifiants numériques correspondants deviennent zombie.", + "old_metadata": { + "disk_name": "Collaborateur.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [ + "Index full-text" + ], + "field_count": 20 + }, + "new_metadata": { + "disk_name": "Collaborateur.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [ + "Index full-text" + ], + "field_count": 23 + }, + "fields": [ + { + "canonical_name": "CO_PKID", + "old": { + "name": "CO_PKID", + "label": "Identifiant de Collaboteur", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CO_PKID", + "label": "Identifiant de Collaboteur", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique; parent déclaré (ancien) de `CheckList_Collab.CHC_IDCollaborateur`; parent déclaré (ancien) de `Equipe_Collaborateur.EC_IDCollaborateur`; parent déclaré (ancien) de `Intervention_Collaborateur.IC_IDCollaborateur`; parent déclaré (ancien) de `Societe_Collaborateur.SC_IDCollaborateur`; parent déclaré (Omika) de `CheckList_Collab.CHC_IDCollaborateur`; parent déclaré (Omika) de `Equipe_Collaborateur.EC_IDCollaborateur`; parent déclaré (Omika) de `Societe_Collaborateur.SC_IDCollaborateur`" + }, + { + "canonical_name": "CO_IDCivilite", + "old": { + "name": "CO_IDCivilite", + "label": "Identifiant de la civilité du", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CO_IDCivilite", + "label": "civilité du collaborateur (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "CO_Nom", + "old": { + "name": "CO_Nom", + "label": "CO_Nom", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CO_Nom", + "label": "CO_Nom", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CO_Prenom", + "old": { + "name": "CO_Prenom", + "label": "CO_Prenom", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CO_Prenom", + "label": "CO_Prenom", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CO_TelFixe", + "old": { + "name": "CO_TelFixe", + "label": "CO_TelFixe", + "hfsql_type": "Chaîne", + "size": "15", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CO_TelFixe", + "label": "CO_TelFixe", + "hfsql_type": "Chaîne", + "size": "15", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CO_TelMobile", + "old": { + "name": "CO_TelMobile", + "label": "CO_TelMobile", + "hfsql_type": "Chaîne", + "size": "15", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CO_TelMobile", + "label": "CO_TelMobile", + "hfsql_type": "Chaîne", + "size": "15", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CO_Email", + "old": { + "name": "CO_Email", + "label": "CO_Email", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CO_Email", + "label": "CO_Email", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CO_Fonction", + "old": { + "name": "CO_Fonction", + "label": "Fonction du collaborateur", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CO_Fonction", + "label": "Fonction du collaborateur", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CO_AuPlanning", + "old": { + "name": "CO_AuPlanning", + "label": "Indique qu'on gère le planning pour ce", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CO_AuPlanning", + "label": "Indique qu'on gère le planning pour ce", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CO_Actif", + "old": { + "name": "CO_Actif", + "label": "Collaborateur Actif", + "hfsql_type": "Booléen", + "size": null, + "default": "1", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CO_Actif", + "label": "Collaborateur Actif", + "hfsql_type": "Booléen", + "size": null, + "default": "1", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CO_IDImport", + "old": { + "name": "CO_IDImport", + "label": "Identifiant d'Import", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CO_IDImport", + "label": "Identifiant d'Import", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CO_Ponderation", + "old": { + "name": "CO_Ponderation", + "label": "Pondération sur le collaborateur", + "hfsql_type": "Réel sur 4 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CO_Ponderation", + "label": "Pondération sur le collaborateur", + "hfsql_type": "Réel sur 4 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "float", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CO_Trigramme", + "old": { + "name": "CO_Trigramme", + "label": "Trigramme", + "hfsql_type": "Chaîne", + "size": "3", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CO_Trigramme", + "label": "Trigramme", + "hfsql_type": "Chaîne", + "size": "3", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CO_IDStatut", + "old": { + "name": "CO_IDStatut", + "label": "Statut du collaborateur", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CO_IDStatut", + "label": "Statut du collaborateur (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "CO_AccesBO", + "old": { + "name": "CO_AccesBO", + "label": "Utilise le Back-Office", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CO_AccesBO", + "label": "Utilise le Back-Office", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CO_AccesMobile", + "old": { + "name": "CO_AccesMobile", + "label": "Utilise le Mobile", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CO_AccesMobile", + "label": "Utilise le Mobile", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CO_CleCivilite", + "old": null, + "new": { + "name": "CO_CleCivilite", + "label": "Cle Civilite", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "CO_CleStatut", + "old": null, + "new": { + "name": "CO_CleStatut", + "label": "Cle Statut", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "GUID", + "old": null, + "new": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string (32) en persistance; Guid? après validation", + "status": "Ajout Omika", + "compatibility_notes": "" + } + ] + }, + { + "name": "Equipe", + "domain": "Organisation", + "presence": "Commun", + "purpose_inference": "Équipe de collaborateurs rattachée à une société.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "Equipe.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 7 + }, + "new_metadata": { + "disk_name": "Equipe.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 7 + }, + "fields": [ + { + "canonical_name": "EQ_PKID", + "old": { + "name": "EQ_PKID", + "label": "Identifiant de Equipe", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "EQ_PKID", + "label": "Identifiant de Equipe", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique; parent déclaré (ancien) de `Equipe_Collaborateur.EC_IDEquipe`; parent déclaré (Omika) de `Equipe_Collaborateur.EC_IDEquipe`" + }, + { + "canonical_name": "EQ_Nom", + "old": { + "name": "EQ_Nom", + "label": "Nom de l'équipe", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "EQ_Nom", + "label": "Nom de l'équipe", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "EQ_IDSociete", + "old": { + "name": "EQ_IDSociete", + "label": "SO_PKID", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "EQ_IDSociete", + "label": "SO_PKID", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `Societe.SO_PKID`; FK déclarée (Omika) vers `Societe.SO_PKID`" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + } + ] + }, + { + "name": "Equipe_Collaborateur", + "domain": "Organisation", + "presence": "Commun", + "purpose_inference": "Association d'appartenance d'un collaborateur à une équipe.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "Equipe_Collaborateur.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 8 + }, + "new_metadata": { + "disk_name": "Equipe_Collaborateur.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 8 + }, + "fields": [ + { + "canonical_name": "EC_PKID", + "old": { + "name": "EC_PKID", + "label": "Identifiant de Equipe_Collaborateur", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "EC_PKID", + "label": "Identifiant de Equipe_Collaborateur", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "EC_IDCollaborateur", + "old": { + "name": "EC_IDCollaborateur", + "label": "Identifiant de Collaborateur", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "EC_IDCollaborateur", + "label": "Identifiant de Collaborateur", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `Collaborateur.CO_PKID`; FK déclarée (Omika) vers `Collaborateur.CO_PKID`" + }, + { + "canonical_name": "EC_IDEquipe", + "old": { + "name": "EC_IDEquipe", + "label": "Identifiant de Equipe", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "EC_IDEquipe", + "label": "Identifiant de Equipe", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `Equipe.EQ_PKID`; FK déclarée (Omika) vers `Equipe.EQ_PKID`" + }, + { + "canonical_name": "EC_IDEquipe_EC_IDCollaborateur", + "old": { + "name": "EC_IDEquipe_EC_IDCollaborateur", + "label": "EC_IDEquipe_EC_IDColla Identifiant de Equipe_Collaborateur", + "hfsql_type": "Clé composée", + "size": "16", + "default": null, + "zombie": false, + "notes": [ + "EC_IDEquipe+EC_IDCollaborateur" + ] + }, + "new": { + "name": "EC_IDEquipe_EC_IDCollaborateur", + "label": "EC_IDEquipe_EC_IDColla Identifiant de Equipe_Collaborateur", + "hfsql_type": "Clé composée", + "size": "16", + "default": null, + "zombie": false, + "notes": [ + "EC_IDEquipe+EC_IDCollaborateur" + ] + }, + "dotnet_type_recommendation": "string en lecture seule / index technique", + "status": "Commun", + "compatibility_notes": "clé composée technique; EC_IDEquipe+EC_IDCollaborateur" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + } + ] + }, + { + "name": "Societe", + "domain": "Organisation", + "presence": "Commun", + "purpose_inference": "Société ou entité de rattachement, avec identité, coordonnées, logo et paramètres.", + "compatibility_note": "La taille de `SO_SIRET` passe de 50 à 20 caractères et Omika ajoute `SO_SIREN` et `GUID`.", + "old_metadata": { + "disk_name": "Societe.fic", + "connection": "Connexion HFSQL Classic", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 16 + }, + "new_metadata": { + "disk_name": "Societe.fic", + "connection": "Connexion HFSQL Classic", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 18 + }, + "fields": [ + { + "canonical_name": "SO_PKID", + "old": { + "name": "SO_PKID", + "label": "Identifiant de Societe", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [ + "FR: Identifiant unique du fichier Societe" + ] + }, + "new": { + "name": "SO_PKID", + "label": "Identifiant de Societe", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [ + "FR: Identifiant unique du fichier Societe" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique; FR: Identifiant unique du fichier Societe; parent déclaré (ancien) de `Societe_Collaborateur.SC_IDCSociete`; parent déclaré (ancien) de `Equipe.EQ_IDSociete`; parent déclaré (Omika) de `Societe_Collaborateur.SC_IDCSociete`; parent déclaré (Omika) de `Equipe.EQ_IDSociete`" + }, + { + "canonical_name": "SO_Nom", + "old": { + "name": "SO_Nom", + "label": "Nom", + "hfsql_type": "Chaîne", + "size": "80", + "default": null, + "zombie": false, + "notes": [ + "FR: Nom de la société (Raison sociale)" + ] + }, + "new": { + "name": "SO_Nom", + "label": "Nom", + "hfsql_type": "Chaîne", + "size": "80", + "default": null, + "zombie": false, + "notes": [ + "FR: Nom de la société (Raison sociale)" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "FR: Nom de la société (Raison sociale)" + }, + { + "canonical_name": "SO_SIRET", + "old": { + "name": "SO_SIRET", + "label": "SIRET", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [ + "FR: SIRET de la société" + ] + }, + "new": { + "name": "SO_SIRET", + "label": "SIRET", + "hfsql_type": "Chaîne", + "size": "20", + "default": null, + "zombie": false, + "notes": [ + "FR: SIRET de la société" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun, définition différente", + "compatibility_notes": "FR: SIRET de la société" + }, + { + "canonical_name": "SO_Tel", + "old": { + "name": "SO_Tel", + "label": "Téléphone", + "hfsql_type": "Chaîne", + "size": "25", + "default": null, + "zombie": false, + "notes": [ + "FR: Téléphone de la société" + ] + }, + "new": { + "name": "SO_Tel", + "label": "Téléphone", + "hfsql_type": "Chaîne", + "size": "25", + "default": null, + "zombie": false, + "notes": [ + "FR: Téléphone de la société" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "FR: Téléphone de la société" + }, + { + "canonical_name": "SO_Fax", + "old": { + "name": "SO_FAX", + "label": "Fax", + "hfsql_type": "Chaîne", + "size": "25", + "default": null, + "zombie": false, + "notes": [ + "FR: Fax de la société" + ] + }, + "new": { + "name": "SO_Fax", + "label": "Fax", + "hfsql_type": "Chaîne", + "size": "25", + "default": null, + "zombie": false, + "notes": [ + "FR: Fax de la société" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun, variation de casse", + "compatibility_notes": "FR: Fax de la société" + }, + { + "canonical_name": "SO_Email", + "old": { + "name": "SO_Email", + "label": "Email", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [ + "FR: Email de la société" + ] + }, + "new": { + "name": "SO_Email", + "label": "Email", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [ + "FR: Email de la société" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "FR: Email de la société" + }, + { + "canonical_name": "SO_SiteWeb", + "old": { + "name": "SO_SiteWeb", + "label": "Site Web", + "hfsql_type": "Chaîne", + "size": "100", + "default": null, + "zombie": false, + "notes": [ + "FR: Site Web de la société" + ] + }, + "new": { + "name": "SO_SiteWeb", + "label": "Site Web", + "hfsql_type": "Chaîne", + "size": "100", + "default": null, + "zombie": false, + "notes": [ + "FR: Site Web de la société" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "FR: Site Web de la société" + }, + { + "canonical_name": "SO_IDAdressePrincipale", + "old": { + "name": "SO_IDAdressePrincipale", + "label": "Adresse principale", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Identifiant unique dans le fichier Adresse permettant de référencer l'adresse principale de la société" + ] + }, + "new": { + "name": "SO_IDAdressePrincipale", + "label": "Adresse principale", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Identifiant unique dans le fichier Adresse permettant de référencer l'adresse principale de la société" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FR: Identifiant unique dans le fichier Adresse permettant de référencer l'adresse principale de la société; FK déclarée (ancien) vers `Adresse.AD_PKID`; FK déclarée (Omika) vers `Adresse.AD_PKID`" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [ + "FR: Date de création de l'enregistrement" + ] + }, + "new": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [ + "FR: Date de création de l'enregistrement" + ] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "FR: Date de création de l'enregistrement" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Utilisateur qui a créé l'enregistrement" + ] + }, + "new": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Utilisateur qui a créé l'enregistrement" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FR: Utilisateur qui a créé l'enregistrement" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [ + "FR: Date de Modification de l'enregistrement" + ] + }, + "new": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [ + "FR: Date de Modification de l'enregistrement" + ] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "FR: Date de Modification de l'enregistrement" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Utilisateur qui a modifié l'enregistrement" + ] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Utilisateur qui a modifié l'enregistrement" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FR: Utilisateur qui a modifié l'enregistrement" + }, + { + "canonical_name": "SO_IDImport", + "old": { + "name": "SO_IDImport", + "label": "Identifiant d'import", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "SO_IDImport", + "label": "Identifiant d'import", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "SO_Logo", + "old": { + "name": "SO_Logo", + "label": "Logo de la société", + "hfsql_type": "Image (mémo binaire)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "SO_Logo", + "label": "Logo de la société", + "hfsql_type": "Image (mémo binaire)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "byte[]", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "SO_Parametres", + "old": { + "name": "so_parametres", + "label": "Paramètres société", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "SO_Parametres", + "label": "Paramètres société", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun, variation de casse", + "compatibility_notes": "" + }, + { + "canonical_name": "SO_Archive", + "old": { + "name": "SO_Archive", + "label": "SO_Archive", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "SO_Archive", + "label": "SO_Archive", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "GUID", + "old": null, + "new": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string (32) en persistance; Guid? après validation", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "SO_SIREN", + "old": null, + "new": { + "name": "SO_SIREN", + "label": "SIREN", + "hfsql_type": "Chaîne", + "size": "20", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + } + ] + }, + { + "name": "Societe_Collaborateur", + "domain": "Organisation", + "presence": "Commun", + "purpose_inference": "Association entre une société et un collaborateur.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "Societe_Collaborateur.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 9 + }, + "new_metadata": { + "disk_name": "Societe_Collaborateur.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 9 + }, + "fields": [ + { + "canonical_name": "SC_PKID", + "old": { + "name": "SC_PKID", + "label": "Identifiant de Societe_Collaborateur", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "SC_PKID", + "label": "Identifiant de Societe_Collaborateur", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "SC_IDCollaborateur", + "old": { + "name": "SC_IDCollaborateur", + "label": "Identifiant de Collaborateur", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "SC_IDCollaborateur", + "label": "Identifiant de Collaborateur", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `Collaborateur.CO_PKID`; FK déclarée (Omika) vers `Collaborateur.CO_PKID`" + }, + { + "canonical_name": "SC_IDCSociete", + "old": { + "name": "SC_IDCSociete", + "label": "Identifiant de Societe", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "SC_IDCSociete", + "label": "Identifiant de Societe", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `Societe.SO_PKID`; FK déclarée (Omika) vers `Societe.SO_PKID`" + }, + { + "canonical_name": "SC_IDCSoc_IDCol", + "old": { + "name": "SC_IDCSoc_IDCol", + "label": "SC_IDCSociete + SC_IDCollaborateur", + "hfsql_type": "Clé composée", + "size": "16", + "default": null, + "zombie": false, + "notes": [ + "SC_IDCSociete+SC_IDCollaborateur" + ] + }, + "new": { + "name": "SC_IDCSoc_IDCol", + "label": "SC_IDCSociete + SC_IDCollaborateur", + "hfsql_type": "Clé composée", + "size": "16", + "default": null, + "zombie": false, + "notes": [ + "SC_IDCSociete+SC_IDCollaborateur" + ] + }, + "dotnet_type_recommendation": "string en lecture seule / index technique", + "status": "Commun", + "compatibility_notes": "clé composée technique; SC_IDCSociete+SC_IDCollaborateur" + }, + { + "canonical_name": "SC_IDCSociete_SC_IDCollaborateur", + "old": { + "name": "SC_IDCSociete_SC_IDCollaborateur", + "label": "SC_IDCSociete_SC_IDCol Identifiant de Societe_Collaborateur", + "hfsql_type": "Clé composée", + "size": "16", + "default": null, + "zombie": false, + "notes": [ + "SC_IDCSociete+SC_IDCollaborateur" + ] + }, + "new": { + "name": "SC_IDCSociete_SC_IDCollaborateur", + "label": "SC_IDCSociete_SC_IDCol Identifiant de Societe_Collaborateur", + "hfsql_type": "Clé composée", + "size": "16", + "default": null, + "zombie": false, + "notes": [ + "SC_IDCSociete+SC_IDCollaborateur" + ] + }, + "dotnet_type_recommendation": "string en lecture seule / index technique", + "status": "Commun", + "compatibility_notes": "clé composée technique; SC_IDCSociete+SC_IDCollaborateur" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + } + ] + }, + { + "name": "Compteur", + "domain": "Paramétrage", + "presence": "Commun", + "purpose_inference": "Compteurs techniques utilisés pour générer des numéros ou références, éventuellement par année ou mois.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "Compteur.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 8 + }, + "new_metadata": { + "disk_name": "Compteur.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 8 + }, + "fields": [ + { + "canonical_name": "CPT_PKID", + "old": { + "name": "CPT_PKID", + "label": "Identifiant de Compteur", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CPT_PKID", + "label": "Identifiant de Compteur", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "CPT_Code", + "old": { + "name": "CPT_Code", + "label": "Code Compteur", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CPT_Code", + "label": "Code Compteur", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CPT_Annee", + "old": { + "name": "CPT_Annee", + "label": "Année Compteur", + "hfsql_type": "Entier sur 2 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CPT_Annee", + "label": "Année Compteur", + "hfsql_type": "Entier sur 2 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "short", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CPT_Valeur", + "old": { + "name": "CPT_Valeur", + "label": "Valeur", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CPT_Valeur", + "label": "Valeur", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CPT_ParAnnee", + "old": { + "name": "CPT_ParAnnee", + "label": "Par Année", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CPT_ParAnnee", + "label": "Par Année", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CPT_ParMois", + "old": { + "name": "CPT_ParMois", + "label": "Par Mois", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CPT_ParMois", + "label": "Par Mois", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CPT_Mois", + "old": { + "name": "CPT_Mois", + "label": "Mois Compteur", + "hfsql_type": "Entier sur 1 octet", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CPT_Mois", + "label": "Mois Compteur", + "hfsql_type": "Entier sur 1 octet", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "sbyte", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CPT_Actif", + "old": { + "name": "CPT_Actif", + "label": "Actif", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CPT_Actif", + "label": "Actif", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + } + ] + }, + { + "name": "Etats", + "domain": "Paramétrage", + "presence": "Omika uniquement", + "purpose_inference": "Référentiel Omika générique de valeurs d'état regroupées et ordonnées.", + "compatibility_note": null, + "old_metadata": null, + "new_metadata": { + "disk_name": "Etats.fic", + "connection": "", + "groups": [ + "ProtectionPlus" + ], + "indexes": [], + "field_count": 5 + }, + "fields": [ + { + "canonical_name": "ETA_PKID", + "old": null, + "new": { + "name": "ETA_PKID", + "label": "Identifiant de Etats", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Table Omika uniquement", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "ETA_Groupe", + "old": null, + "new": { + "name": "ETA_Groupe", + "label": "Groupe (Intervention/rdv)", + "hfsql_type": "Chaîne", + "size": "20", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "ETA_Libelle", + "old": null, + "new": { + "name": "ETA_Libelle", + "label": "Libelle", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "ETA_Ordre", + "old": null, + "new": { + "name": "ETA_Ordre", + "label": "Ordre", + "hfsql_type": "Entier non signé sur 2 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "ushort", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "ETA_Valeur", + "old": null, + "new": { + "name": "ETA_Valeur", + "label": "Valeur , nom de l’état", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + } + ] + }, + { + "name": "ParametreApplication", + "domain": "Paramétrage", + "presence": "Commun", + "purpose_inference": "Paramètre applicatif clé/description/valeur.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "ParametreApplication.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 4 + }, + "new_metadata": { + "disk_name": "ParametreApplication.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 4 + }, + "fields": [ + { + "canonical_name": "PAP_PKID", + "old": { + "name": "PAP_PKID", + "label": "Identifiant de ParametreApplication", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PAP_PKID", + "label": "Identifiant de ParametreApplication", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "PAP_Code", + "old": { + "name": "PAP_Code", + "label": "Code du paramètre", + "hfsql_type": "Chaîne", + "size": "50", + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PAP_Code", + "label": "Code du paramètre", + "hfsql_type": "Chaîne", + "size": "50", + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PAP_Description", + "old": { + "name": "PAP_Description", + "label": "Description du paramètre", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PAP_Description", + "label": "Description du paramètre", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PAP_Valeur", + "old": { + "name": "PAP_Valeur", + "label": "Valeur du paramètre", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PAP_Valeur", + "label": "Valeur du paramètre", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + } + ] + }, + { + "name": "ParametreMetier", + "domain": "Paramétrage", + "presence": "Commun", + "purpose_inference": "Valeur d'un référentiel métier configurable : catégorie, clé, libellé, ordre et paramètres.", + "compatibility_note": "Refonte importante : Omika ajoute `PA_CLE` et `PA_Categorie`; plusieurs anciennes rubriques sont marquées zombie.", + "old_metadata": { + "disk_name": "ParametreMetier.fic", + "connection": "Connexion HFSQL Classic", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 13 + }, + "new_metadata": { + "disk_name": "ParametreMetier.fic", + "connection": "Connexion HFSQL Classic", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 15 + }, + "fields": [ + { + "canonical_name": "PA_PKID", + "old": { + "name": "PA_PKID", + "label": "Identifiant de PARAMETREMETIER", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PA_PKID", + "label": "Identifiant de PARAMETREMETIER", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique; parent déclaré (ancien) de `Intervention_ChampLibre.ICL_IDParametreMetier`; parent déclaré (Omika) de `Intervention_ChampLibre.ICL_IDParametreMetier`" + }, + { + "canonical_name": "PA_Code", + "old": { + "name": "PA_Code", + "label": "Code", + "hfsql_type": "Chaîne", + "size": "3", + "default": null, + "zombie": false, + "notes": [ + "FR: Code du paramètre métier" + ] + }, + "new": { + "name": "PA_Code", + "label": "Code (zombie)", + "hfsql_type": "Chaîne", + "size": "3", + "default": null, + "zombie": true, + "notes": [ + "FR: Code du paramètre métier" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; FR: Code du paramètre métier; FK déclarée (ancien) vers `ParametreMetierEntete.PM_Code`; FK déclarée (Omika) vers `ParametreMetierEntete.PM_Code`" + }, + { + "canonical_name": "PA_Libelle", + "old": { + "name": "PA_Libelle", + "label": "Libellé", + "hfsql_type": "Chaîne", + "size": "250", + "default": null, + "zombie": false, + "notes": [ + "FR: Libellé du paramètre métier" + ] + }, + "new": { + "name": "PA_Libelle", + "label": "Libellé", + "hfsql_type": "Chaîne", + "size": "250", + "default": null, + "zombie": false, + "notes": [ + "FR: Libellé du paramètre métier" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "FR: Libellé du paramètre métier" + }, + { + "canonical_name": "PA_Valeur", + "old": { + "name": "PA_Valeur", + "label": "Valeur", + "hfsql_type": "Chaîne", + "size": "20", + "default": null, + "zombie": false, + "notes": [ + "FR: Valeur du paramètre métier" + ] + }, + "new": { + "name": "PA_Valeur", + "label": "Valeur (Zombie)", + "hfsql_type": "Chaîne", + "size": "20", + "default": null, + "zombie": true, + "notes": [ + "FR: Valeur du paramètre métier" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; FR: Valeur du paramètre métier" + }, + { + "canonical_name": "PA_Ordre", + "old": { + "name": "PA_Ordre", + "label": "Ordre", + "hfsql_type": "Entier sur 4 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Ordre d'affichage du paramètre métier" + ] + }, + "new": { + "name": "PA_Ordre", + "label": "Ordre", + "hfsql_type": "Entier sur 4 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Ordre d'affichage du paramètre métier" + ] + }, + "dotnet_type_recommendation": "int", + "status": "Commun", + "compatibility_notes": "FR: Ordre d'affichage du paramètre métier" + }, + { + "canonical_name": "PA_Systeme", + "old": { + "name": "PA_Systeme", + "label": "Valeur Systeme", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PA_Systeme", + "label": "Valeur Systeme", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PA_Invisible", + "old": { + "name": "PA_Invisible", + "label": "Invisible pour l'utilisateur", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PA_Invisible", + "label": "Invisible pour l'utilisateur (zombie)", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": true, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine" + }, + { + "canonical_name": "PA_IDImport", + "old": { + "name": "PA_IDImport", + "label": "ID Import", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PA_IDImport", + "label": "ID Import (zombie)", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": true, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine" + }, + { + "canonical_name": "PA_Actif", + "old": { + "name": "PA_Actif", + "label": "Actif", + "hfsql_type": "Booléen", + "size": null, + "default": "1", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PA_Actif", + "label": "Actif", + "hfsql_type": "Booléen", + "size": null, + "default": "1", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PA_CodePA_Valeur", + "old": { + "name": "PA_CodePA_Valeur", + "label": "PA_Code + PA_Valeur", + "hfsql_type": "Clé composée", + "size": "23", + "default": null, + "zombie": false, + "notes": [ + "PA_Code+PA_Valeur" + ] + }, + "new": { + "name": "PA_CodePA_Valeur", + "label": "PA_Code + PA_Valeur (zombie)", + "hfsql_type": "Clé composée", + "size": "23", + "default": null, + "zombie": true, + "notes": [ + "PA_Code+PA_Valeur" + ] + }, + "dotnet_type_recommendation": "string en lecture seule / index technique", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "clé composée technique; ne pas utiliser comme référence principale dans le nouveau domaine; PA_Code+PA_Valeur" + }, + { + "canonical_name": "PA_CleLiaison", + "old": { + "name": "PA_CleLiaison", + "label": "Clé de liaison", + "hfsql_type": "Chaîne", + "size": "23", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PA_CleLiaison", + "label": "Clé de liaison (zombie)", + "hfsql_type": "Chaîne", + "size": "23", + "default": null, + "zombie": true, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine" + }, + { + "canonical_name": "PA_Parametre", + "old": { + "name": "PA_Parametre", + "label": "PA_Parametre", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PA_Parametre", + "label": "PA_Parametre", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PA_LibelleCourt", + "old": { + "name": "PA_LibelleCourt", + "label": "Libellé court", + "hfsql_type": "Chaîne", + "size": "20", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PA_LibelleCourt", + "label": "Libellé court", + "hfsql_type": "Chaîne", + "size": "20", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PA_CLE", + "old": null, + "new": { + "name": "PA_CLE", + "label": "Identifiant sur les autres tables", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "PA_Categorie", + "old": null, + "new": { + "name": "PA_Categorie", + "label": "Catégorie du paramètre métier", + "hfsql_type": "Chaîne", + "size": "25", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + } + ] + }, + { + "name": "ParametreMetierEntete", + "domain": "Paramétrage", + "presence": "Commun", + "purpose_inference": "Définition d'une famille de paramètres métier et de ses règles de présentation.", + "compatibility_note": "Omika ajoute `PM_Categorie` et `PM_Type`; les anciens codes et options restent transitoires.", + "old_metadata": { + "disk_name": "ParametreMetierEntete.fic", + "connection": "", + "groups": [ + "ProtectionPlus" + ], + "indexes": [], + "field_count": 8 + }, + "new_metadata": { + "disk_name": "ParametreMetierEntete.fic", + "connection": "", + "groups": [ + "ProtectionPlus" + ], + "indexes": [], + "field_count": 10 + }, + "fields": [ + { + "canonical_name": "PM_PKID", + "old": { + "name": "PM_PKID", + "label": "Identifiant de ParametreMetierEntete", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PM_PKID", + "label": "Identifiant de ParametreMetierEntete", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "PM_Libelle", + "old": { + "name": "PM_Libelle", + "label": "Libellé du paramètre métier", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PM_Libelle", + "label": "Libellé du paramètre métier", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PM_Description", + "old": { + "name": "PM_Description", + "label": "Description pour les utilisateurs", + "hfsql_type": "Chaîne", + "size": "250", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PM_Description", + "label": "Description pour les utilisateurs", + "hfsql_type": "Chaîne", + "size": "250", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PM_Systeme", + "old": { + "name": "PM_Systeme", + "label": "Le paramètre est-il personnalisable", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PM_Systeme", + "label": "Le paramètre est-il personnalisable", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PM_Groupe", + "old": { + "name": "PM_Groupe", + "label": "Nom du groupe de rattachement", + "hfsql_type": "Chaîne", + "size": "25", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PM_Groupe", + "label": "Nom du groupe de rattachement", + "hfsql_type": "Chaîne", + "size": "25", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PM_Code", + "old": { + "name": "PM_Code", + "label": "Code interne du paramètre", + "hfsql_type": "Chaîne", + "size": "3", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PM_Code", + "label": "Code interne du paramètre (zombie)", + "hfsql_type": "Chaîne", + "size": "3", + "default": null, + "zombie": true, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; parent déclaré (ancien) de `ParametreMetier.PA_Code`; parent déclaré (Omika) de `ParametreMetier.PA_Code`" + }, + { + "canonical_name": "PM_AucunPossible", + "old": { + "name": "PM_AucunPossible", + "label": "Gestion de la valeur aucune", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PM_AucunPossible", + "label": "Gestion de la valeur aucune (zombie)", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": true, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine" + }, + { + "canonical_name": "PM_Specifique", + "old": { + "name": "PM_Specifique", + "label": "Code Specifique", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PM_Specifique", + "label": "Code Specifique (zombie)", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": true, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine" + }, + { + "canonical_name": "PM_Categorie", + "old": null, + "new": { + "name": "PM_Categorie", + "label": "Catégorie", + "hfsql_type": "Chaîne", + "size": "20", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "PM_Type", + "old": null, + "new": { + "name": "PM_Type", + "label": "Type de paramètre", + "hfsql_type": "Entier non signé sur 2 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "ushort", + "status": "Ajout Omika", + "compatibility_notes": "" + } + ] + }, + { + "name": "ParametreSysteme", + "domain": "Paramétrage", + "presence": "Commun", + "purpose_inference": "Paramètre système clé/description/valeur, protégé par le groupe renforcé.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "ParametreSysteme.fic", + "connection": "", + "groups": [ + "ProtectionPlus" + ], + "indexes": [], + "field_count": 4 + }, + "new_metadata": { + "disk_name": "ParametreSysteme.fic", + "connection": "", + "groups": [ + "ProtectionPlus" + ], + "indexes": [], + "field_count": 4 + }, + "fields": [ + { + "canonical_name": "PAS_PKID", + "old": { + "name": "PAS_PKID", + "label": "Identifiant de ParametreSysteme", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PAS_PKID", + "label": "Identifiant de ParametreSysteme", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "PAS_Code", + "old": { + "name": "PAS_Code", + "label": "Code du paramètre", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PAS_Code", + "label": "Code du paramètre", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PAS_Description", + "old": { + "name": "PAS_Description", + "label": "Description du paramètre", + "hfsql_type": "Chaîne", + "size": "250", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PAS_Description", + "label": "Description du paramètre", + "hfsql_type": "Chaîne", + "size": "250", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PAS_Valeur", + "old": { + "name": "PAS_Valeur", + "label": "Valeur du paramètre", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PAS_Valeur", + "label": "Valeur du paramètre", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + } + ] + }, + { + "name": "ParametreUtilisateur", + "domain": "Paramétrage", + "presence": "Commun", + "purpose_inference": "Préférence utilisateur identifiée par code et valeur.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "ParametreUtilisateur.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 5 + }, + "new_metadata": { + "disk_name": "ParametreUtilisateur.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 5 + }, + "fields": [ + { + "canonical_name": "PU_PKID", + "old": { + "name": "PU_PKID", + "label": "Identifiant de ParametreUtilisateur", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PU_PKID", + "label": "Identifiant de ParametreUtilisateur", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "PU_Code", + "old": { + "name": "PU_Code", + "label": "Code du paramètre", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PU_Code", + "label": "Code du paramètre", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PU_IDUtilisateur", + "old": { + "name": "PU_IDUtilisateur", + "label": "Identifiant de Utilisateur", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PU_IDUtilisateur", + "label": "Identifiant de Utilisateur", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PU_Valeur", + "old": { + "name": "PU_Valeur", + "label": "Valeur du paramètre", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PU_Valeur", + "label": "Valeur du paramètre", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PU_CodePU_IDUtilisateur", + "old": { + "name": "PU_CodePU_IDUtilisateur", + "label": "PU_CodePU_IDUtilisate PU_Code + PU_IDUtilisateur", + "hfsql_type": "Clé composée", + "size": "58", + "default": null, + "zombie": false, + "notes": [ + "PU_Code+PU_IDUtilisateur" + ] + }, + "new": { + "name": "PU_CodePU_IDUtilisateur", + "label": "PU_CodePU_IDUtilisate PU_Code + PU_IDUtilisateur", + "hfsql_type": "Clé composée", + "size": "58", + "default": null, + "zombie": false, + "notes": [ + "PU_Code+PU_IDUtilisateur" + ] + }, + "dotnet_type_recommendation": "string en lecture seule / index technique", + "status": "Commun", + "compatibility_notes": "clé composée technique; PU_Code+PU_IDUtilisateur" + } + ] + }, + { + "name": "Planning_RDV", + "domain": "Planning et temps", + "presence": "Commun", + "purpose_inference": "Structure historique de rendez-vous et de planning, conservée dans Omika pour compatibilité.", + "compatibility_note": "Table historique toujours présente dans Omika. Elle ne doit pas être confondue avec `RDV_Planning`; prévoir un adaptateur ou une vue de compatibilité.", + "old_metadata": { + "disk_name": "Planning_RDV.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 35 + }, + "new_metadata": { + "disk_name": "Planning_RDV.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 39 + }, + "fields": [ + { + "canonical_name": "PL_PKID", + "old": { + "name": "PL_PKID", + "label": "Identifiant de Planning_RDV", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_PKID", + "label": "Identifiant de Planning_RDV", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "PL_IDGroupe", + "old": { + "name": "PL_IDGroupe", + "label": "Groupe de Rendez-vous", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_IDGroupe", + "label": "Groupe de Rendez-vous", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_Grouper", + "old": { + "name": "PL_Grouper", + "label": "Rendez-vous groupé", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_Grouper", + "label": "Rendez-vous groupé", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_IDSociete", + "old": { + "name": "PL_IDSociete", + "label": "Identifiant de la Société", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_IDSociete", + "label": "Identifiant de la Société", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_IDEquipe", + "old": { + "name": "PL_IDEquipe", + "label": "Identifiant de l'équipe", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_IDEquipe", + "label": "Identifiant de l'équipe", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_IDCollaborateur", + "old": { + "name": "PL_IDCollaborateur", + "label": "Identifiant du collaborateur", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_IDCollaborateur", + "label": "Identifiant du collaborateur", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_IDDossier", + "old": { + "name": "PL_IDDossier", + "label": "Identifiant du dossier", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_IDDossier", + "label": "Identifiant du dossier", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_IDIntervention", + "old": { + "name": "PL_IDIntervention", + "label": "Identifiant de l'intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_IDIntervention", + "label": "Identifiant de l'intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_IDTypeActivite", + "old": { + "name": "PL_IDTypeActivite", + "label": "Type activité du RDV", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_IDTypeActivite", + "label": "Type activité du RDV (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "PL_IDStatut", + "old": { + "name": "PL_IDStatut", + "label": "Statut du RDV", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_IDStatut", + "label": "Statut du RDV (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "PL_Objet", + "old": { + "name": "PL_Objet", + "label": "Objet du Rendez-vous", + "hfsql_type": "Chaîne", + "size": "25", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_Objet", + "label": "Objet du Rendez-vous", + "hfsql_type": "Chaîne", + "size": "25", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "GUID", + "old": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string (32) en persistance; Guid? après validation", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_Description", + "old": { + "name": "PL_Description", + "label": "Description du Rendez-vous", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_Description", + "label": "Description du Rendez-vous", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_DateDebut", + "old": { + "name": "PL_DateDebut", + "label": "Date et heure du début du RDV", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_DateDebut", + "label": "Date et heure du début du RDV", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_DateFin", + "old": { + "name": "PL_DateFin", + "label": "Date et heure de la fin du RDV", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_DateFin", + "label": "Date et heure de la fin du RDV", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_Superposable", + "old": { + "name": "PL_Superposable", + "label": "Condition de superposition d'un RDV", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_Superposable", + "label": "Condition de superposition d'un RDV", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_Prive", + "old": { + "name": "PL_Prive", + "label": "RDV Prive", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_Prive", + "label": "RDV Prive", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "Archive", + "old": { + "name": "Archive", + "label": "Enregistrement Archivée", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "Archive", + "label": "Enregistrement Archivée", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "DateArchivage", + "old": { + "name": "DateArchivage", + "label": "Date d'archivage", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "DateArchivage", + "label": "Date d'archivage", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_IDImport", + "old": { + "name": "PL_IDImport", + "label": "Identifiant Import", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_IDImport", + "label": "Identifiant Import", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_IDPersonne", + "old": { + "name": "PL_IDPersonne", + "label": "Identifiant de la personne", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_IDPersonne", + "label": "Identifiant de la personne", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_IDLieu", + "old": { + "name": "PL_IDLieu", + "label": "Identifiant du site", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_IDLieu", + "label": "Identifiant du site", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_TempsValide", + "old": { + "name": "PL_TempsValide", + "label": "Validation des Temps sur le RDV", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_TempsValide", + "label": "Validation des Temps sur le RDV", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_DateExport", + "old": { + "name": "PL_DateExport", + "label": "Date d'export du rdv", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_DateExport", + "label": "Date d'export du rdv", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_SAV", + "old": { + "name": "PL_SAV", + "label": "Rdv SAV?", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_SAV", + "label": "Rdv SAV?", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_IdGroupeDate", + "old": { + "name": "PL_IdGroupeDate", + "label": "Id de Groupe de RDV par date", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_IdGroupeDate", + "label": "Id de Groupe de RDV par date", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_CR", + "old": { + "name": "PL_CR", + "label": "Rdv avec CR", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_CR", + "label": "Rdv avec CR", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_NoteCollab", + "old": { + "name": "PL_NoteCollab", + "label": "Note Collaborateur depuis mobile", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_NoteCollab", + "label": "Note Collaborateur depuis mobile", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_IDOrigineAnnul", + "old": { + "name": "PL_IDOrigineAnnul", + "label": "ID Origine Annulation", + "hfsql_type": "Entier non signé sur 8 octets", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_IDOrigineAnnul", + "label": "ID Origine Annulation (zombie)", + "hfsql_type": "Entier non signé sur 8 octets", + "size": null, + "default": null, + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "ulong", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "PL_IDMotifAnnul", + "old": { + "name": "PL_IDMotifAnnul", + "label": "ID Motif Annulation", + "hfsql_type": "Entier non signé sur 8 octets", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_IDMotifAnnul", + "label": "ID Motif Annulation (zombie)", + "hfsql_type": "Entier non signé sur 8 octets", + "size": null, + "default": null, + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "ulong", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "PL_RappelSMS", + "old": { + "name": "PL_RappelSMS", + "label": "Rappel SMS", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PL_RappelSMS", + "label": "Rappel SMS", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_CleType", + "old": null, + "new": { + "name": "PL_CleType", + "label": "Cle Type", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_CleStatut", + "old": null, + "new": { + "name": "PL_CleStatut", + "label": "Cle Statut", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_CleOrigineAnnu", + "old": null, + "new": { + "name": "PL_CleOrigineAnnu", + "label": "Cle Origine de Annulation", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "PL_CleMotifAnnu", + "old": null, + "new": { + "name": "PL_CleMotifAnnu", + "label": "Cle Motif de Annulation", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + } + ] + }, + { + "name": "Planning_RDV_Personne", + "domain": "Planning et temps", + "presence": "Commun", + "purpose_inference": "Association historique entre un rendez-vous Planning_RDV et une personne.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "Planning_RDV_Personne.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 11 + }, + "new_metadata": { + "disk_name": "Planning_RDV_Personne.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 11 + }, + "fields": [ + { + "canonical_name": "PRP_PKID", + "old": { + "name": "PRP_PKID", + "label": "Identifiant du RDV_Personne", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PRP_PKID", + "label": "Identifiant du RDV_Personne", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "PRP_IDPersonne", + "old": { + "name": "PRP_IDPersonne", + "label": "Identifiant de la personne", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PRP_IDPersonne", + "label": "Identifiant de la personne", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `Personne.PE_PKID`; FK déclarée (Omika) vers `Personne.PE_PKID`" + }, + { + "canonical_name": "PRP_IDRdv", + "old": { + "name": "PRP_IDRdv", + "label": "Identifiant du RDV", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PRP_IDRdv", + "label": "Identifiant du RDV", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PRP_PKID_PE_PKID", + "old": { + "name": "PRP_PKID_PE_PKID", + "label": "Identifiant de Planning_RDV_Personne", + "hfsql_type": "Clé composée", + "size": "16", + "default": null, + "zombie": false, + "notes": [ + "PRP_IDRdv+PRP_IDPersonne" + ] + }, + "new": { + "name": "PRP_PKID_PE_PKID", + "label": "Identifiant de Planning_RDV_Personne", + "hfsql_type": "Clé composée", + "size": "16", + "default": null, + "zombie": false, + "notes": [ + "PRP_IDRdv+PRP_IDPersonne" + ] + }, + "dotnet_type_recommendation": "string en lecture seule / index technique", + "status": "Commun", + "compatibility_notes": "PK automatique; clé composée technique; PRP_IDRdv+PRP_IDPersonne" + }, + { + "canonical_name": "PRP_IDGroupeRDV", + "old": { + "name": "PRP_IDGroupeRDV", + "label": "Identifiant Groupe du RDV", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PRP_IDGroupeRDV", + "label": "Identifiant Groupe du RDV", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "Archive", + "old": { + "name": "Archive", + "label": "Enregistrement Archivée", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "Archive", + "label": "Enregistrement Archivée", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "DateArchivage", + "old": { + "name": "DateArchivage", + "label": "Date d'archivage", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "DateArchivage", + "label": "Date d'archivage", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + } + ] + }, + { + "name": "RDV_Collaborateur", + "domain": "Planning et temps", + "presence": "Omika uniquement", + "purpose_inference": "Affectation Omika d'un rendez-vous à un collaborateur, avec période, statut et validation du temps.", + "compatibility_note": "La rubrique `RVC_GUID_Colb` ne possède pas de liaison déclarée vers `Collaborateur.GUID` dans l'export; cette intégrité doit être contrôlée par l'API ou confirmée dans la WDA.", + "old_metadata": null, + "new_metadata": { + "disk_name": "RDV_Collaborateur.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 13 + }, + "fields": [ + { + "canonical_name": "RVC_PKID", + "old": null, + "new": { + "name": "RVC_PKID", + "label": "Identifiant de RDV_Collaborateur", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Table Omika uniquement", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "RVC_GUID_RDV", + "old": null, + "new": { + "name": "RVC_GUID_RDV", + "label": "GUID du RDV", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string (32) en persistance; Guid? après validation", + "status": "Table Omika uniquement", + "compatibility_notes": "FK déclarée (Omika) vers `RDV_Planning.GUID`" + }, + { + "canonical_name": "RVC_GUID_Colb", + "old": null, + "new": { + "name": "RVC_GUID_Colb", + "label": "GUID du Collaborateur", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string (32) en persistance; Guid? après validation", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RVC_DateDeb", + "old": null, + "new": { + "name": "RVC_DateDeb", + "label": "Date debut", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RVC_DateFin", + "old": null, + "new": { + "name": "RVC_DateFin", + "label": "Date fin", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RVC_CleStatut", + "old": null, + "new": { + "name": "RVC_CleStatut", + "label": "Statut du rendez-vous", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RVC_Responsable", + "old": null, + "new": { + "name": "RVC_Responsable", + "label": "Est responsable dans le rendez-vous ?", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RVC_TempsValide", + "old": null, + "new": { + "name": "RVC_TempsValide", + "label": "Le temps est validé ?", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RVC_DateExport", + "old": null, + "new": { + "name": "RVC_DateExport", + "label": "Date de export", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "GUID", + "old": null, + "new": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string (32) en persistance; Guid? après validation", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "Archive", + "old": null, + "new": { + "name": "Archive", + "label": "Enregistrement Archivée", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RVC_CR", + "old": null, + "new": { + "name": "RVC_CR", + "label": "Avec Compte Rendu", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RVC_Superposable", + "old": null, + "new": { + "name": "RVC_Superposable", + "label": "Superposable ?", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Table Omika uniquement", + "compatibility_notes": "" + } + ] + }, + { + "name": "RDV_Contact", + "domain": "Planning et temps", + "presence": "Omika uniquement", + "purpose_inference": "Association Omika entre un rendez-vous et un contact, basée sur des GUID.", + "compatibility_note": null, + "old_metadata": null, + "new_metadata": { + "disk_name": "RDV_Contact.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 4 + }, + "fields": [ + { + "canonical_name": "RVCT_PKID", + "old": null, + "new": { + "name": "RVCT_PKID", + "label": "Identifiant de RDV_Contact", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Table Omika uniquement", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "GUID", + "old": null, + "new": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string (32) en persistance; Guid? après validation", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RVCT_GUID_Pers", + "old": null, + "new": { + "name": "RVCT_GUID_Pers", + "label": "GUID Personne", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string (32) en persistance; Guid? après validation", + "status": "Table Omika uniquement", + "compatibility_notes": "FK déclarée (Omika) vers `Personne.GUID`" + }, + { + "canonical_name": "RVCT_GUID_RDV", + "old": null, + "new": { + "name": "RVCT_GUID_RDV", + "label": "GUID Rendez-vous", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string (32) en persistance; Guid? après validation", + "status": "Table Omika uniquement", + "compatibility_notes": "FK déclarée (Omika) vers `RDV_Planning.GUID`" + } + ] + }, + { + "name": "RDV_Planning", + "domain": "Planning et temps", + "presence": "Omika uniquement", + "purpose_inference": "Noyau Omika du nouveau modèle de rendez-vous, séparé des affectations collaborateurs et contacts.", + "compatibility_note": "Nouveau modèle de rendez-vous. Les collaborateurs et contacts sont stockés séparément dans `RDV_Collaborateur` et `RDV_Contact`.", + "old_metadata": null, + "new_metadata": { + "disk_name": "RDV_Planning.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 22 + }, + "fields": [ + { + "canonical_name": "RV_PKID", + "old": null, + "new": { + "name": "RV_PKID", + "label": "Identifiant de RendezVousPlanning", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Table Omika uniquement", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "RV_IdSociete", + "old": null, + "new": { + "name": "RV_IdSociete", + "label": "Id societe", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RV_IdDossier", + "old": null, + "new": { + "name": "RV_IdDossier", + "label": "Id Dossier", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RV_IdInter", + "old": null, + "new": { + "name": "RV_IdInter", + "label": "Id Intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RV_CleType", + "old": null, + "new": { + "name": "RV_CleType", + "label": "Type de rendez-vous", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RV_CleStatut", + "old": null, + "new": { + "name": "RV_CleStatut", + "label": "Statut de rendez-vous", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RV_Objet", + "old": null, + "new": { + "name": "RV_Objet", + "label": "Objet", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RV_Description", + "old": null, + "new": { + "name": "RV_Description", + "label": "Description", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RV_IdLieu", + "old": null, + "new": { + "name": "RV_IdLieu", + "label": "Id Lieu", + "hfsql_type": "Entier non signé sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "ulong", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RV_SAV", + "old": null, + "new": { + "name": "RV_SAV", + "label": "SAV ?", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RV_CleOrigineAnnu", + "old": null, + "new": { + "name": "RV_CleOrigineAnnu", + "label": "Origine de l'annulation", + "hfsql_type": "Chaîne", + "size": "16", + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RV_CleMotifAnnu", + "old": null, + "new": { + "name": "RV_CleMotifAnnu", + "label": "Motif de l'annulation", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RV_RappelSMS", + "old": null, + "new": { + "name": "RV_RappelSMS", + "label": "Avec Rappel SMS ?", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "Archive", + "old": null, + "new": { + "name": "Archive", + "label": "Enregistrement Archivée", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationDate", + "old": null, + "new": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": null, + "new": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": null, + "new": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": null, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "GUID", + "old": null, + "new": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string (32) en persistance; Guid? après validation", + "status": "Table Omika uniquement", + "compatibility_notes": "parent déclaré (Omika) de `RDV_Collaborateur.RVC_GUID_RDV`; parent déclaré (Omika) de `RDV_Contact.RVCT_GUID_RDV`" + }, + { + "canonical_name": "RV_Groupe", + "old": null, + "new": { + "name": "RV_Groupe", + "label": "Groupe ?", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RV_PlusieursJours", + "old": null, + "new": { + "name": "RV_PlusieursJours", + "label": "Sur plusieurs jours ?", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "RV_Date", + "old": null, + "new": { + "name": "RV_Date", + "label": "Date du rendez-vous , utilisé si le", + "hfsql_type": "Date (aaaammjj)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateOnly", + "status": "Table Omika uniquement", + "compatibility_notes": "" + } + ] + }, + { + "name": "SuiviDesTemps", + "domain": "Planning et temps", + "presence": "Commun", + "purpose_inference": "Saisie de temps d'un collaborateur sur une intervention ou un rendez-vous.", + "compatibility_note": "Omika ajoute les clés de type, les notes collaborateur/administration et le GUID de l'affectation de rendez-vous.", + "old_metadata": { + "disk_name": "SuiviDesTemps.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 20 + }, + "new_metadata": { + "disk_name": "SuiviDesTemps.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 25 + }, + "fields": [ + { + "canonical_name": "SDT_PKID", + "old": { + "name": "SDT_PKID", + "label": "Identifiant de Temps", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "SDT_PKID", + "label": "Identifiant de Temps", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "SDT_DateDebut", + "old": { + "name": "SDT_DateDebut", + "label": "Date à laquelle à débuter l'événement", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "SDT_DateDebut", + "label": "Date à laquelle à débuter l'événement", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "SDT_IDIntervention", + "old": { + "name": "SDT_IDIntervention", + "label": "Identifiant de Intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "SDT_IDIntervention", + "label": "Identifiant de Intervention", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `Intervention.IN_PKID`; FK déclarée (Omika) vers `Intervention.IN_PKID`" + }, + { + "canonical_name": "SDT_IDCollaborateur", + "old": { + "name": "SDT_IDCollaborateur", + "label": "Collaborateur concerné par le temps", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "SDT_IDCollaborateur", + "label": "Collaborateur concerné par le temps", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "SDT_IDPartenaire", + "old": { + "name": "SDT_IDPartenaire", + "label": "Partenaire présent avec le", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "SDT_IDPartenaire", + "label": "Partenaire présent avec le", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "SDT_NbMinutes", + "old": { + "name": "SDT_NbMinutes", + "label": "Temps passé en minute", + "hfsql_type": "Entier sur 4 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "SDT_NbMinutes", + "label": "Temps passé en minute", + "hfsql_type": "Entier sur 4 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "int", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "SDT_Libelle", + "old": { + "name": "SDT_Libelle", + "label": "TE_Libelle", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "SDT_Libelle", + "label": "TE_Libelle", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "SDT_IDTypeTemps", + "old": { + "name": "SDT_IDTypeTemps", + "label": "Identifiant du type de temps", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "SDT_IDTypeTemps", + "label": "Identifiant du type de temps (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "SDT_IDRdv", + "old": { + "name": "SDT_IDRdv", + "label": "Identifiant du Rendez-vous", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "SDT_IDRdv", + "label": "Identifiant du Rendez-vous", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "SDT_Ponderation", + "old": { + "name": "SDT_Ponderation", + "label": "Ponderation", + "hfsql_type": "Réel sur 4 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "SDT_Ponderation", + "label": "Ponderation", + "hfsql_type": "Réel sur 4 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "float", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "SDT_IDImport", + "old": { + "name": "SDT_IDImport", + "label": "Import", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "SDT_IDImport", + "label": "Import", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "SDT_DateHeureFin", + "old": { + "name": "SDT_DateHeureFin", + "label": "Date à laquelle à finir l'événement", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "SDT_DateHeureFin", + "label": "Date à laquelle à finir l'événement", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "GUID", + "old": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string (32) en persistance; Guid? après validation", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "SDT_IDTypeRdv", + "old": { + "name": "SDT_IDTypeRdv", + "label": "Identifiant du type de RDV", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "SDT_IDTypeRdv", + "label": "Identifiant du type de RDV (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "SDT_Controle", + "old": { + "name": "SDT_Controle", + "label": "Suivie des temps contrôlé", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "SDT_Controle", + "label": "Suivie des temps contrôlé", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "SDT_IDGroupe", + "old": { + "name": "SDT_IDGroupe", + "label": "Identifiant Groupe", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "SDT_IDGroupe", + "label": "Identifiant Groupe", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "SDT_CleType", + "old": null, + "new": { + "name": "SDT_CleType", + "label": "Cle Type", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "SDT_CleTypeRDV", + "old": null, + "new": { + "name": "SDT_CleTypeRDV", + "label": "Cle Type de RDV", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "SDT_NoteColb", + "old": null, + "new": { + "name": "SDT_NoteColb", + "label": "Note collaborateur", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "SDT_NoteAdmin", + "old": null, + "new": { + "name": "SDT_NoteAdmin", + "label": "Note administration", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "SDT_GUID_Rdv_Colb", + "old": null, + "new": { + "name": "SDT_GUID_Rdv_Colb", + "label": "GUID du rdv collaborateur", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string (32) en persistance; Guid? après validation", + "status": "Ajout Omika", + "compatibility_notes": "" + } + ] + }, + { + "name": "Adresse", + "domain": "Référentiel client", + "presence": "Commun", + "purpose_inference": "Adresse postale réutilisable par les clients, personnes, sites et sociétés.", + "compatibility_note": "Omika ajoute `AD_Adresse` en mémo et `GUID`; les cinq lignes historiques restent physiquement présentes mais sont marquées zombie.", + "old_metadata": { + "disk_name": "Adresse.fic", + "connection": "Connexion HFSQL Classic", + "groups": [ + "ProtectionStd" + ], + "indexes": [ + "Index full-text AD_Index_FullText (Rubriques : AD_Etiquette, AD_Presentation)" + ], + "field_count": 14 + }, + "new_metadata": { + "disk_name": "Adresse.fic", + "connection": "Connexion HFSQL Classic", + "groups": [ + "ProtectionStd" + ], + "indexes": [ + "Index full-text AD_Index_FullText (Rubriques : AD_Etiquette, AD_Presentation)" + ], + "field_count": 16 + }, + "fields": [ + { + "canonical_name": "AD_PKID", + "old": { + "name": "AD_PKID", + "label": "Identifiant de ADRESSE", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [ + "FR: Identifiant unique du fichier Adresse" + ] + }, + "new": { + "name": "AD_PKID", + "label": "Identifiant de ADRESSE", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [ + "FR: Identifiant unique du fichier Adresse" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique; FR: Identifiant unique du fichier Adresse; parent déclaré (ancien) de `Client_Adresse.CA_IDAdresse`; parent déclaré (ancien) de `Lieu.LI_IDAdresse`; parent déclaré (ancien) de `Personne.PE_IDAdressePrincipale`; parent déclaré (ancien) de `Societe.SO_IDAdressePrincipale`; parent déclaré (Omika) de `Client_Adresse.CA_IDAdresse`; parent déclaré (Omika) de `Lieu.LI_IDAdresse`; parent déclaré (Omika) de `Personne.PE_IDAdressePrincipale`; parent déclaré (Omika) de `Societe.SO_IDAdressePrincipale`" + }, + { + "canonical_name": "AD_Etiquette", + "old": { + "name": "AD_Etiquette", + "label": "Etiquette de l'adresse", + "hfsql_type": "Chaîne", + "size": "25", + "default": null, + "zombie": false, + "notes": [ + "FR: Etiquette libre d'une Adresse" + ] + }, + "new": { + "name": "AD_Etiquette", + "label": "Etiquette de l'adresse", + "hfsql_type": "Chaîne", + "size": "25", + "default": null, + "zombie": false, + "notes": [ + "FR: Etiquette libre d'une Adresse" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "FR: Etiquette libre d'une Adresse" + }, + { + "canonical_name": "AD_Ligne_1", + "old": { + "name": "AD_Ligne_1", + "label": "1ère ligne d'adresse", + "hfsql_type": "Chaîne", + "size": "38", + "default": null, + "zombie": false, + "notes": [ + "FR: Première ligne d'adresse", + "BtoC : Civilité - Titre ou Qualité - Prénom - Nom", + "BtoB : Raison sociale ou dénomination" + ] + }, + "new": { + "name": "AD_Ligne_1", + "label": "1ère ligne d'adresse (zombie)", + "hfsql_type": "Chaîne", + "size": "38", + "default": null, + "zombie": true, + "notes": [ + "FR: Première ligne d'adresse", + "BtoC : Civilité - Titre ou Qualité - Prénom - Nom", + "BtoB : Raison sociale ou dénomination", + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; FR: Première ligne d'adresse; BtoC : Civilité - Titre ou Qualité - Prénom - Nom; BtoB : Raison sociale ou dénomination; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "AD_Ligne_2", + "old": { + "name": "AD_Ligne_2", + "label": "2ème ligne d'adresse", + "hfsql_type": "Chaîne", + "size": "38", + "default": null, + "zombie": false, + "notes": [ + "FR: Deuxième ligne d'adresse", + "BtoC : N°APP ou BAL - Etage - Couloir - Esc", + "BtoB : Identité du destinataire et/ou service" + ] + }, + "new": { + "name": "AD_Ligne_2", + "label": "2ème ligne d'adresse (zombie)", + "hfsql_type": "Chaîne", + "size": "38", + "default": null, + "zombie": true, + "notes": [ + "FR: Deuxième ligne d'adresse", + "BtoC : N°APP ou BAL - Etage - Couloir - Esc", + "BtoB : Identité du destinataire et/ou service", + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; FR: Deuxième ligne d'adresse; BtoC : N°APP ou BAL - Etage - Couloir - Esc; BtoB : Identité du destinataire et/ou service; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "AD_Ligne_3", + "old": { + "name": "AD_Ligne_3", + "label": "3ème ligne d'adresse", + "hfsql_type": "Chaîne", + "size": "38", + "default": null, + "zombie": false, + "notes": [ + "FR: Troisième ligne d'adresse", + "BtoC : Entrée - Bâtiment - Immeuble - Résidence", + "BtoB : Entrée - Bâtiment - Immeuble - Résidence - ZI" + ] + }, + "new": { + "name": "AD_Ligne_3", + "label": "3ème ligne d'adresse (zombie)", + "hfsql_type": "Chaîne", + "size": "38", + "default": null, + "zombie": true, + "notes": [ + "FR: Troisième ligne d'adresse", + "BtoC : Entrée - Bâtiment - Immeuble - Résidence", + "BtoB : Entrée - Bâtiment - Immeuble - Résidence - ZI", + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; FR: Troisième ligne d'adresse; BtoC : Entrée - Bâtiment - Immeuble - Résidence; BtoB : Entrée - Bâtiment - Immeuble - Résidence - ZI; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "AD_Ligne_4", + "old": { + "name": "AD_Ligne_4", + "label": "4ème ligne d'adresse", + "hfsql_type": "Chaîne", + "size": "100", + "default": null, + "zombie": false, + "notes": [ + "FR: Quatrième ligne d'adresse", + "BtoC : Numéro - Libellé de la voie", + "BtoB : Numéro - Libellé de la voie" + ] + }, + "new": { + "name": "AD_Ligne_4", + "label": "4ème ligne d'adresse (zombie)", + "hfsql_type": "Chaîne", + "size": "100", + "default": null, + "zombie": true, + "notes": [ + "FR: Quatrième ligne d'adresse", + "BtoC : Numéro - Libellé de la voie", + "BtoB : Numéro - Libellé de la voie", + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; FR: Quatrième ligne d'adresse; BtoC : Numéro - Libellé de la voie; BtoB : Numéro - Libellé de la voie; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "AD_Ligne_5", + "old": { + "name": "AD_Ligne_5", + "label": "5ème ligne d'adresse", + "hfsql_type": "Chaîne", + "size": "38", + "default": null, + "zombie": false, + "notes": [ + "FR: Cinquième ligne d'adresse", + "BtoC : Lieu dit ou Service particulier de distribution", + "BtoB : Mention spéciale et commune géographique" + ] + }, + "new": { + "name": "AD_Ligne_5", + "label": "5ème ligne d'adresse (zombie)", + "hfsql_type": "Chaîne", + "size": "38", + "default": null, + "zombie": true, + "notes": [ + "FR: Cinquième ligne d'adresse", + "BtoC : Lieu dit ou Service particulier de distribution", + "BtoB : Mention spéciale et commune géographique", + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; FR: Cinquième ligne d'adresse; BtoC : Lieu dit ou Service particulier de distribution; BtoB : Mention spéciale et commune géographique; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "AD_CodePostal", + "old": { + "name": "AD_CodePostal", + "label": "Code Postal", + "hfsql_type": "Chaîne", + "size": "15", + "default": null, + "zombie": false, + "notes": [ + "FR: Code postale de l'adresse" + ] + }, + "new": { + "name": "AD_CodePostal", + "label": "Code Postal", + "hfsql_type": "Chaîne", + "size": "15", + "default": null, + "zombie": false, + "notes": [ + "FR: Code postale de l'adresse" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "FR: Code postale de l'adresse" + }, + { + "canonical_name": "AD_Ville", + "old": { + "name": "AD_Ville", + "label": "Ville", + "hfsql_type": "Chaîne", + "size": "45", + "default": null, + "zombie": false, + "notes": [ + "FR: Ville de l'adresse" + ] + }, + "new": { + "name": "AD_Ville", + "label": "Ville", + "hfsql_type": "Chaîne", + "size": "45", + "default": null, + "zombie": false, + "notes": [ + "FR: Ville de l'adresse" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "FR: Ville de l'adresse" + }, + { + "canonical_name": "AD_Presentation", + "old": { + "name": "AD_Presentation", + "label": "Présentation Adresse", + "hfsql_type": "Chaîne", + "size": "255", + "default": null, + "zombie": false, + "notes": [ + "FR: Présentation de l'adresse composée librement pour figurer sur les documents à destination du courrier" + ] + }, + "new": { + "name": "AD_Presentation", + "label": "Présentation Adresse", + "hfsql_type": "Chaîne", + "size": "255", + "default": null, + "zombie": false, + "notes": [ + "FR: Présentation de l'adresse composée librement pour figurer sur les documents à destination du courrier" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "FR: Présentation de l'adresse composée librement pour figurer sur les documents à destination du courrier" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "AD_Adresse", + "old": null, + "new": { + "name": "AD_Adresse", + "label": "Adresse", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "GUID", + "old": null, + "new": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string (32) en persistance; Guid? après validation", + "status": "Ajout Omika", + "compatibility_notes": "" + } + ] + }, + { + "name": "Client", + "domain": "Référentiel client", + "presence": "Commun", + "purpose_inference": "Compte client : identité, coordonnées, statut, type, comptabilité, blocage et intégration externe.", + "compatibility_note": "Omika conserve les identifiants numériques historiques mais ajoute des clés métier textuelles et un GUID. Les adaptateurs doivent préférer les clés lorsqu'elles sont renseignées.", + "old_metadata": { + "disk_name": "Client.fic", + "connection": "Connexion HFSQL Classic", + "groups": [ + "ProtectionStd" + ], + "indexes": [ + "Index full-text CL_Index_FullText (Rubriques : CL_Nom, CL_Tel, CL_Fax, CL_CodeClient)" + ], + "field_count": 31 + }, + "new_metadata": { + "disk_name": "Client.fic", + "connection": "Connexion HFSQL Classic", + "groups": [ + "ProtectionStd" + ], + "indexes": [ + "Index full-text CL_Index_FullText (Rubriques : CL_Nom, CL_Tel, CL_Fax, CL_CodeClient)" + ], + "field_count": 37 + }, + "fields": [ + { + "canonical_name": "CL_PKID", + "old": { + "name": "CL_PKID", + "label": "Identifiant de Client", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [ + "FR: Identifiant unique du fichier Client" + ] + }, + "new": { + "name": "CL_PKID", + "label": "Identifiant de Client", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [ + "FR: Identifiant unique du fichier Client" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique; FR: Identifiant unique du fichier Client; parent déclaré (ancien) de `Client_Adresse.CA_IDClient`; parent déclaré (ancien) de `Client_BddExterne.CLX_IDCLient`; parent déclaré (ancien) de `Client_Lieu.CLI_IDClient`; parent déclaré (ancien) de `Dossier.DO_IDClient`; parent déclaré (ancien) de `Personne.PE_IDClient`; parent déclaré (Omika) de `Client_Adresse.CA_IDClient`; parent déclaré (Omika) de `Client_BddExterne.CLX_IDCLient`; parent déclaré (Omika) de `Client_Lieu.CLI_IDClient`; parent déclaré (Omika) de `Dossier.DO_IDClient`; parent déclaré (Omika) de `Personne.PE_IDClient`" + }, + { + "canonical_name": "CL_Nom", + "old": { + "name": "CL_Nom", + "label": "Nom", + "hfsql_type": "Chaîne", + "size": "100", + "default": null, + "zombie": false, + "notes": [ + "FR: Nom du client" + ] + }, + "new": { + "name": "CL_Nom", + "label": "Nom", + "hfsql_type": "Chaîne", + "size": "100", + "default": null, + "zombie": false, + "notes": [ + "FR: Nom du client" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "FR: Nom du client" + }, + { + "canonical_name": "CL_IDType", + "old": { + "name": "CL_IDType", + "label": "Type", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Type de client", + "Régie, Collectivité, Entreprise, Particulier" + ] + }, + "new": { + "name": "CL_IDType", + "label": "Type (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "FR: Type de client", + "Régie, Collectivité, Entreprise, Particulier", + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; FR: Type de client; Régie, Collectivité, Entreprise, Particulier; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "CL_IDStatut", + "old": { + "name": "CL_IDStatut", + "label": "Statut", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Statut du client", + "Client, Actif" + ] + }, + "new": { + "name": "CL_IDStatut", + "label": "Statut (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "FR: Statut du client", + "Client, Actif", + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; FR: Statut du client; Client, Actif; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "CL_IDAdressePrincipale", + "old": { + "name": "CL_IDAdressePrincipale", + "label": "Adresse principale", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Identifiant unique dans le fichier Adresse permettant de référencer l'adresse principale du client" + ] + }, + "new": { + "name": "CL_IDAdressePrincipale", + "label": "Adresse principale", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Identifiant unique dans le fichier Adresse permettant de référencer l'adresse principale du client" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FR: Identifiant unique dans le fichier Adresse permettant de référencer l'adresse principale du client" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CL_Tel", + "old": { + "name": "CL_Tel", + "label": "Téléphone Client", + "hfsql_type": "Chaîne", + "size": "15", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CL_Tel", + "label": "Téléphone Client", + "hfsql_type": "Chaîne", + "size": "15", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CL_Fax", + "old": { + "name": "CL_Fax", + "label": "Fax Client", + "hfsql_type": "Chaîne", + "size": "15", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CL_Fax", + "label": "Fax Client", + "hfsql_type": "Chaîne", + "size": "15", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CL_IDImport", + "old": { + "name": "CL_IDImport", + "label": "Identifiant Import", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CL_IDImport", + "label": "Identifiant Import", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "Archive", + "old": { + "name": "Archive", + "label": "Enregistrement Archivée", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "Archive", + "label": "Enregistrement Archivée", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "DateArchivage", + "old": { + "name": "DateArchivage", + "label": "Date d'archivage", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "DateArchivage", + "label": "Date d'archivage", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CL_CodeComptable", + "old": { + "name": "CL_CodeComptable", + "label": "Code comptable", + "hfsql_type": "Chaîne", + "size": "25", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CL_CodeComptable", + "label": "Code comptable", + "hfsql_type": "Chaîne", + "size": "25", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CL_Email", + "old": { + "name": "CL_Email", + "label": "Email", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CL_Email", + "label": "Email", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CL_RepertoireDocs", + "old": { + "name": "CL_RepertoireDocs", + "label": "Répertoire des docs du client", + "hfsql_type": "Chaîne", + "size": "255", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CL_RepertoireDocs", + "label": "Répertoire des docs du client", + "hfsql_type": "Chaîne", + "size": "255", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CL_IDContactPrincipal", + "old": { + "name": "CL_IDContactPrincipal", + "label": "Identifiant du contact principal", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CL_IDContactPrincipal", + "label": "Identifiant du contact principal", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CL_IDLieuPrincipal", + "old": { + "name": "CL_IDLieuPrincipal", + "label": "Identifiant du site principal", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CL_IDLieuPrincipal", + "label": "Identifiant du site principal", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CL_IDApporteur", + "old": { + "name": "CL_IDApporteur", + "label": "Apporté par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CL_IDApporteur", + "label": "Apporté par (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "CL_IDApportOrigine", + "old": { + "name": "CL_IDApportOrigine", + "label": "Apporté comment", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CL_IDApportOrigine", + "label": "Apporté comment (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "CL_CodeClient", + "old": { + "name": "CL_CodeClient", + "label": "Code client", + "hfsql_type": "Chaîne", + "size": "10", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CL_CodeClient", + "label": "Code client", + "hfsql_type": "Chaîne", + "size": "10", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CL_Blocage", + "old": { + "name": "CL_Blocage", + "label": "Blocage commerciale du client", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CL_Blocage", + "label": "Blocage commerciale du client", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "Cl_RaisonBlocage", + "old": { + "name": "CL_RaisonBlocage", + "label": "Raison du blocage Blocage", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "Cl_RaisonBlocage", + "label": "Raison du blocage Blocage", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun, variation de casse", + "compatibility_notes": "" + }, + { + "canonical_name": "CL_FormeJuridique", + "old": { + "name": "CL_FormeJuridique", + "label": "Forme juridique", + "hfsql_type": "Chaîne", + "size": "25", + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CL_FormeJuridique", + "label": "Forme juridique", + "hfsql_type": "Chaîne", + "size": "25", + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CL_IDModeReglement", + "old": { + "name": "CL_IDModeReglement", + "label": "Mode de règlement", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CL_IDModeReglement", + "label": "Mode de règlement (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "CL_InfoSup", + "old": { + "name": "CL_InfoSup", + "label": "Information supplémentaire", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CL_InfoSup", + "label": "Information supplémentaire", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CL_Pays", + "old": { + "name": "CL_Pays", + "label": "Code Pays", + "hfsql_type": "Chaîne", + "size": "3", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CL_Pays", + "label": "Code Pays", + "hfsql_type": "Chaîne", + "size": "3", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CL_CodeTVA", + "old": { + "name": "CL_CodeTVA", + "label": "Code de TVA", + "hfsql_type": "Chaîne", + "size": "13", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CL_CodeTVA", + "label": "Code de TVA", + "hfsql_type": "Chaîne", + "size": "13", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CL_SIREN", + "old": { + "name": "CL_SIREN", + "label": "Numéro de SIREN", + "hfsql_type": "Chaîne", + "size": "9", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CL_SIREN", + "label": "Numéro de SIREN", + "hfsql_type": "Chaîne", + "size": "9", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CL_SIRET", + "old": { + "name": "CL_SIRET", + "label": "Numéro de SIRET", + "hfsql_type": "Chaîne", + "size": "14", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CL_SIRET", + "label": "Numéro de SIRET", + "hfsql_type": "Chaîne", + "size": "14", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CL_CleType", + "old": null, + "new": { + "name": "CL_CleType", + "label": "Clé Type de client", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "CL_CleStatut", + "old": null, + "new": { + "name": "CL_CleStatut", + "label": "Clé Statut", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "CL_CleApporteur", + "old": null, + "new": { + "name": "CL_CleApporteur", + "label": "Clé Apporteur", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "CL_CleApporteurOrigine", + "old": null, + "new": { + "name": "CL_CleApporteurOrigine", + "label": "Clé Apporteur Origine", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "CL_CleModeReglement", + "old": null, + "new": { + "name": "CL_CleModeReglement", + "label": "Clé Mode de Règlement", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "GUID", + "old": null, + "new": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string (32) en persistance; Guid? après validation", + "status": "Ajout Omika", + "compatibility_notes": "" + } + ] + }, + { + "name": "Client_Adresse", + "domain": "Référentiel client", + "presence": "Commun", + "purpose_inference": "Association entre un client et une adresse, avec type et usages principal, facturation et livraison.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "Client_Adresse.fic", + "connection": "Connexion HFSQL Classic", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 6 + }, + "new_metadata": { + "disk_name": "Client_Adresse.fic", + "connection": "Connexion HFSQL Classic", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 9 + }, + "fields": [ + { + "canonical_name": "CA_PKID", + "old": { + "name": "CA_PKID", + "label": "CA_PKID", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CA_PKID", + "label": "CA_PKID", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "CA_IDAdresse", + "old": { + "name": "CA_IDAdresse", + "label": "Adresse", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Identifiant unique du fichier Adresse" + ] + }, + "new": { + "name": "CA_IDAdresse", + "label": "Adresse", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Identifiant unique du fichier Adresse" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FR: Identifiant unique du fichier Adresse; FK déclarée (ancien) vers `Adresse.AD_PKID`; FK déclarée (Omika) vers `Adresse.AD_PKID`" + }, + { + "canonical_name": "CA_IDClient", + "old": { + "name": "CA_IDClient", + "label": "Client", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Identifiant unique du fichier Client" + ] + }, + "new": { + "name": "CA_IDClient", + "label": "Client", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Identifiant unique du fichier Client" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FR: Identifiant unique du fichier Client; FK déclarée (ancien) vers `Client.CL_PKID`; FK déclarée (Omika) vers `Client.CL_PKID`" + }, + { + "canonical_name": "CA_IDCli_IDAd", + "old": { + "name": "CA_IDCli_IDAd", + "label": "Clé composée Client_Adresse", + "hfsql_type": "Clé composée", + "size": "16", + "default": null, + "zombie": false, + "notes": [ + "CA_IDClient+CA_IDAdresse", + "FR: Clé composé du fichier Client et Adresse" + ] + }, + "new": { + "name": "CA_IDCli_IDAd", + "label": "Clé composée Client_Adresse", + "hfsql_type": "Clé composée", + "size": "16", + "default": null, + "zombie": false, + "notes": [ + "CA_IDClient+CA_IDAdresse", + "FR: Clé composé du fichier Client et Adresse" + ] + }, + "dotnet_type_recommendation": "string en lecture seule / index technique", + "status": "Commun", + "compatibility_notes": "clé composée technique; CA_IDClient+CA_IDAdresse; FR: Clé composé du fichier Client et Adresse" + }, + { + "canonical_name": "CA_IDTypeAdresse", + "old": { + "name": "CA_IDTypeAdresse", + "label": "Type d'adresse", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Identifiant unique du fichier ParamètreMetier permettant d'affecter un type d'adresse au fichier de relation", + "Livraison, Facturation" + ] + }, + "new": { + "name": "CA_IDTypeAdresse", + "label": "Type d'adresse (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "FR: Identifiant unique du fichier ParamètreMetier permettant d'affecter un type d'adresse au fichier de relation", + "Livraison, Facturation", + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; FR: Identifiant unique du fichier ParamètreMetier permettant d'affecter un type d'adresse au fichier de relation; Livraison, Facturation; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "CA_Principale", + "old": { + "name": "CA_Principale", + "label": "CA_Principale", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CA_Principale", + "label": "CA_Principale", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CA_CleType", + "old": null, + "new": { + "name": "CA_CleType", + "label": "Cle Type de adresse", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "CA_Facturation", + "old": null, + "new": { + "name": "CA_Facturation", + "label": "CA_Facturation", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "CA_Livraison", + "old": null, + "new": { + "name": "CA_Livraison", + "label": "CA_Livraison", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Ajout Omika", + "compatibility_notes": "" + } + ] + }, + { + "name": "Client_Lieu", + "domain": "Référentiel client", + "presence": "Commun", + "purpose_inference": "Association entre un client et un site ou lieu.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "Client_Lieu.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 7 + }, + "new_metadata": { + "disk_name": "Client_Lieu.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 7 + }, + "fields": [ + { + "canonical_name": "CLI_PKID", + "old": { + "name": "CLI_PKID", + "label": "Identifiant de Client_Lieu", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CLI_PKID", + "label": "Identifiant de Client_Lieu", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "CLI_IDClient", + "old": { + "name": "CLI_IDClient", + "label": "CLI_IDClient", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CLI_IDClient", + "label": "CLI_IDClient", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `Client.CL_PKID`; FK déclarée (Omika) vers `Client.CL_PKID`" + }, + { + "canonical_name": "CLI_IDLieu", + "old": { + "name": "CLI_IDLieu", + "label": "CLI_IDLieu", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CLI_IDLieu", + "label": "CLI_IDLieu", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `Lieu.LI_PKID`; FK déclarée (Omika) vers `Lieu.LI_PKID`" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + } + ] + }, + { + "name": "Lieu", + "domain": "Référentiel client", + "presence": "Commun", + "purpose_inference": "Site ou lieu d'intervention, associé à une adresse et éventuellement à un client principal.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "Lieu.fic", + "connection": "Connexion HFSQL Classic", + "groups": [ + "ProtectionStd" + ], + "indexes": [ + "Index full-text LI_Index_FullText (Rubriques : LI_CodeLieu, LI_Note)" + ], + "field_count": 19 + }, + "new_metadata": { + "disk_name": "Lieu.fic", + "connection": "Connexion HFSQL Classic", + "groups": [ + "ProtectionStd" + ], + "indexes": [ + "Index full-text LI_Index_FullText (Rubriques : LI_CodeLieu, LI_Note)" + ], + "field_count": 21 + }, + "fields": [ + { + "canonical_name": "LI_PKID", + "old": { + "name": "LI_PKID", + "label": "Identifiant de Lieu", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [ + "FR: Identifiant unique du fichier Lieu" + ] + }, + "new": { + "name": "LI_PKID", + "label": "Identifiant de Lieu", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [ + "FR: Identifiant unique du fichier Lieu" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique; FR: Identifiant unique du fichier Lieu; parent déclaré (ancien) de `Client_Lieu.CLI_IDLieu`; parent déclaré (ancien) de `Lieu_Personne.LIP_IDLieu`; parent déclaré (Omika) de `Client_Lieu.CLI_IDLieu`; parent déclaré (Omika) de `Lieu_Personne.LIP_IDLieu`" + }, + { + "canonical_name": "LI_CodeLieu", + "old": { + "name": "LI_CodeLieu", + "label": "Code du lieu", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [ + "FR: Code interne pour situer le lieu" + ] + }, + "new": { + "name": "LI_CodeLieu", + "label": "Code du lieu", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [ + "FR: Code interne pour situer le lieu" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "FR: Code interne pour situer le lieu" + }, + { + "canonical_name": "LI_IDAdresse", + "old": { + "name": "LI_IDAdresse", + "label": "Adresse du lieu", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Identifiant unique du fichier Adresse permettant de localiser le lieu" + ] + }, + "new": { + "name": "LI_IDAdresse", + "label": "Adresse du lieu", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Identifiant unique du fichier Adresse permettant de localiser le lieu" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FR: Identifiant unique du fichier Adresse permettant de localiser le lieu; FK déclarée (ancien) vers `Adresse.AD_PKID`; FK déclarée (Omika) vers `Adresse.AD_PKID`" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "LI_IDType", + "old": { + "name": "LI_IDType", + "label": "Type", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Type de Lieu", + "Immeuble, Maison Indiv." + ] + }, + "new": { + "name": "LI_IDType", + "label": "Type (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "FR: Type de Lieu", + "Immeuble, Maison Indiv.", + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; FR: Type de Lieu; Immeuble, Maison Indiv.; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "LI_CodeAcces", + "old": { + "name": "LI_CodeAcces", + "label": "Code d'acces du lieu", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "LI_CodeAcces", + "label": "Code d'acces du lieu", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "LI_Badge", + "old": { + "name": "LI_Badge", + "label": "Badge sur lieu", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "LI_Badge", + "label": "Badge sur lieu", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "LI_Interphone", + "old": { + "name": "LI_Interphone", + "label": "Interphone sur lieu", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "LI_Interphone", + "label": "Interphone sur lieu", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "LI_Note", + "old": { + "name": "LI_Note", + "label": "Note sur le lieu", + "hfsql_type": "Chaîne", + "size": "250", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "LI_Note", + "label": "Note sur le lieu", + "hfsql_type": "Chaîne", + "size": "250", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "Archive", + "old": { + "name": "Archive", + "label": "Enregistrement Archivée", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "Archive", + "label": "Enregistrement Archivée", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "DateArchivage", + "old": { + "name": "DateArchivage", + "label": "Date d'archivage", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "DateArchivage", + "label": "Date d'archivage", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "LI_IDImport", + "old": { + "name": "LI_IDImport", + "label": "Identifiant Import", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "LI_IDImport", + "label": "Identifiant Import", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "LI_RepertoireDocs", + "old": { + "name": "LI_RepertoireDocs", + "label": "Répertoire des docs du lieu", + "hfsql_type": "Chaîne", + "size": "255", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "LI_RepertoireDocs", + "label": "Répertoire des docs du lieu", + "hfsql_type": "Chaîne", + "size": "255", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "LI_IDClientPrincipal", + "old": { + "name": "LI_IDClientPrincipal", + "label": "Identifiant du client principal", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "LI_IDClientPrincipal", + "label": "Identifiant du client principal", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "LI_Blocage", + "old": { + "name": "LI_Blocage", + "label": "LI_Blocage", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "LI_Blocage", + "label": "LI_Blocage", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "LI_RaisonBlocage", + "old": { + "name": "LI_RaisonBlocage", + "label": "Raison de blocage", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "LI_RaisonBlocage", + "label": "Raison de blocage", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "LI_CleType", + "old": null, + "new": { + "name": "LI_CleType", + "label": "Cle Type de lieu", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "GUID", + "old": null, + "new": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string (32) en persistance; Guid? après validation", + "status": "Ajout Omika", + "compatibility_notes": "" + } + ] + }, + { + "name": "Lieu_Personne", + "domain": "Référentiel client", + "presence": "Commun", + "purpose_inference": "Association entre un site et une personne, avec rôle, type, adresse d'étiquette et état actif.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "Lieu_Personne.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 15 + }, + "new_metadata": { + "disk_name": "Lieu_Personne.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 17 + }, + "fields": [ + { + "canonical_name": "LIP_PKID", + "old": { + "name": "LIP_PKID", + "label": "Identifiant de LOT_PERSONNE", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "LIP_PKID", + "label": "Identifiant de LOT_PERSONNE", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "LIP_IDPersonne", + "old": { + "name": "LIP_IDPersonne", + "label": "Identifiant de la Personne", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "LIP_IDPersonne", + "label": "Identifiant de la Personne", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `Personne.PE_PKID`; FK déclarée (Omika) vers `Personne.PE_PKID`" + }, + { + "canonical_name": "LIP_IDLieu", + "old": { + "name": "LIP_IDLieu", + "label": "Identifiant du lieu", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "LIP_IDLieu", + "label": "Identifiant du lieu", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `Lieu.LI_PKID`; FK déclarée (Omika) vers `Lieu.LI_PKID`" + }, + { + "canonical_name": "LIP_IDRole", + "old": { + "name": "LIP_IDRole", + "label": "Rôle de la Personne du lieu", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "LIP_IDRole", + "label": "Rôle de la Personne du lieu (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "LIP_IDTypeLieuPersonne", + "old": { + "name": "LIP_IDTypeLieuPersonne", + "label": "LIP_IDTypeLieuPersonn Identifiant du Type du Lieu Personne", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "LIP_IDTypeLieuPersonne", + "label": "LIP_IDTypeLieuPersonn Type du Lieu Personne (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "LIP_Etage", + "old": { + "name": "LIP_Etage", + "label": "Etage", + "hfsql_type": "Chaîne", + "size": "10", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "LIP_Etage", + "label": "Etage", + "hfsql_type": "Chaîne", + "size": "10", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "LIP_Lot", + "old": { + "name": "LIP_Lot", + "label": "Lot", + "hfsql_type": "Chaîne", + "size": "25", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "LIP_Lot", + "label": "Lot", + "hfsql_type": "Chaîne", + "size": "25", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "Archive", + "old": { + "name": "Archive", + "label": "Enregistrement Archivée", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "Archive", + "label": "Enregistrement Archivée", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "DateArchivage", + "old": { + "name": "DateArchivage", + "label": "Date d'archivage", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "DateArchivage", + "label": "Date d'archivage", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "LIP_EtiquetteAdresse", + "old": { + "name": "LIP_EtiquetteAdresse", + "label": "Etiquette de l'adresse", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "LIP_EtiquetteAdresse", + "label": "Etiquette de l'adresse", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "LIP_Actif", + "old": { + "name": "LIP_ACTIF", + "label": "Adresse contact Active", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "LIP_Actif", + "label": "Adresse contact Active", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun, variation de casse", + "compatibility_notes": "" + }, + { + "canonical_name": "LIP_CleRole", + "old": null, + "new": { + "name": "LIP_CleRole", + "label": "Cle Role de la personne", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "LIP_CleType", + "old": null, + "new": { + "name": "LIP_CleType", + "label": "Cle Type", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + } + ] + }, + { + "name": "Personne", + "domain": "Référentiel client", + "presence": "Commun", + "purpose_inference": "Contact ou personne rattachée à un client, avec coordonnées, adresse, civilité et rôle.", + "compatibility_note": "Omika ajoute les clés de civilité/rôle et un GUID; les identifiants numériques historiques deviennent zombie.", + "old_metadata": { + "disk_name": "Personne.fic", + "connection": "Connexion HFSQL Classic", + "groups": [ + "ProtectionStd" + ], + "indexes": [ + "Index full-text" + ], + "field_count": 22 + }, + "new_metadata": { + "disk_name": "Personne.fic", + "connection": "Connexion HFSQL Classic", + "groups": [ + "ProtectionStd" + ], + "indexes": [ + "Index full-text" + ], + "field_count": 25 + }, + "fields": [ + { + "canonical_name": "PE_PKID", + "old": { + "name": "PE_PKID", + "label": "Identifiant de Personne", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [ + "FR: Identifiants unique du fichier Personne" + ] + }, + "new": { + "name": "PE_PKID", + "label": "Identifiant de Personne", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [ + "FR: Identifiants unique du fichier Personne" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique; FR: Identifiants unique du fichier Personne; parent déclaré (ancien) de `Lieu_Personne.LIP_IDPersonne`; parent déclaré (ancien) de `Planning_RDV_Personne.PRP_IDPersonne`; parent déclaré (ancien) de `Telephone.TE_IDPersonne`; parent déclaré (Omika) de `Lieu_Personne.LIP_IDPersonne`; parent déclaré (Omika) de `Planning_RDV_Personne.PRP_IDPersonne`; parent déclaré (Omika) de `Telephone.TE_IDPersonne`" + }, + { + "canonical_name": "PE_IDCivilite", + "old": { + "name": "PE_IDCivilite", + "label": "Civilite du contact", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PE_IDCivilite", + "label": "Civilite du contact (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "PE_Nom", + "old": { + "name": "PE_Nom", + "label": "Nom", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [ + "FR: Nom de la personne" + ] + }, + "new": { + "name": "PE_Nom", + "label": "Nom", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [ + "FR: Nom de la personne" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "FR: Nom de la personne" + }, + { + "canonical_name": "PE_Prenom", + "old": { + "name": "PE_Prenom", + "label": "Prénom", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [ + "FR: Prénom de la personne" + ] + }, + "new": { + "name": "PE_Prenom", + "label": "Prénom", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [ + "FR: Prénom de la personne" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "FR: Prénom de la personne" + }, + { + "canonical_name": "PE_TelFixe", + "old": { + "name": "PE_TelFixe", + "label": "Téléphone fixe", + "hfsql_type": "Chaîne", + "size": "15", + "default": null, + "zombie": false, + "notes": [ + "FR: Téléphone fixe de la personne" + ] + }, + "new": { + "name": "PE_TelFixe", + "label": "Téléphone fixe", + "hfsql_type": "Chaîne", + "size": "15", + "default": null, + "zombie": false, + "notes": [ + "FR: Téléphone fixe de la personne" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "FR: Téléphone fixe de la personne" + }, + { + "canonical_name": "PE_TelMobile", + "old": { + "name": "PE_TelMobile", + "label": "Téléphone mobile", + "hfsql_type": "Chaîne", + "size": "15", + "default": null, + "zombie": false, + "notes": [ + "FR: Téléphone mobile de la personne" + ] + }, + "new": { + "name": "PE_TelMobile", + "label": "Téléphone mobile", + "hfsql_type": "Chaîne", + "size": "15", + "default": null, + "zombie": false, + "notes": [ + "FR: Téléphone mobile de la personne" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "FR: Téléphone mobile de la personne" + }, + { + "canonical_name": "PE_Email", + "old": { + "name": "PE_Email", + "label": "Email", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [ + "FR: Email de la personne" + ] + }, + "new": { + "name": "PE_Email", + "label": "Email", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [ + "FR: Email de la personne" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "FR: Email de la personne" + }, + { + "canonical_name": "PE_IDRole", + "old": { + "name": "PE_IDRole", + "label": "Rôle", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Rôle de la personne" + ] + }, + "new": { + "name": "PE_IDRole", + "label": "Rôle (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "FR: Rôle de la personne", + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; FR: Rôle de la personne; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "PE_IDAdressePrincipale", + "old": { + "name": "PE_IDAdressePrincipale", + "label": "Adresse principale", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Identifiant unique dans le fichier Adresse permettant de référencer l'adresse principale de la personne" + ] + }, + "new": { + "name": "PE_IDAdressePrincipale", + "label": "Adresse principale", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Identifiant unique dans le fichier Adresse permettant de référencer l'adresse principale de la personne" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FR: Identifiant unique dans le fichier Adresse permettant de référencer l'adresse principale de la personne; FK déclarée (ancien) vers `Adresse.AD_PKID`; FK déclarée (Omika) vers `Adresse.AD_PKID`" + }, + { + "canonical_name": "PE_IDClient", + "old": { + "name": "PE_IDClient", + "label": "Appartient au client", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Identifiant unique du fichier Client" + ] + }, + "new": { + "name": "PE_IDClient", + "label": "Appartient au client", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [ + "FR: Identifiant unique du fichier Client" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FR: Identifiant unique du fichier Client; FK déclarée (ancien) vers `Client.CL_PKID`; FK déclarée (Omika) vers `Client.CL_PKID`" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "Archive", + "old": { + "name": "Archive", + "label": "Enregistrement Archivée", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "Archive", + "label": "Enregistrement Archivée", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "DateArchivage", + "old": { + "name": "DateArchivage", + "label": "Date d'archivage", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "DateArchivage", + "label": "Date d'archivage", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PE_Note", + "old": { + "name": "PE_Note", + "label": "Note sur le contact", + "hfsql_type": "Chaîne", + "size": "250", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PE_Note", + "label": "Note sur le contact", + "hfsql_type": "Chaîne", + "size": "250", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PE_Fax", + "old": { + "name": "PE_Fax", + "label": "Fax du contact", + "hfsql_type": "Chaîne", + "size": "15", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PE_Fax", + "label": "Fax du contact", + "hfsql_type": "Chaîne", + "size": "15", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PE_IDImport", + "old": { + "name": "PE_IDImport", + "label": "Identifiant du contact", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PE_IDImport", + "label": "Identifiant du contact", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PE_Actif", + "old": { + "name": "PE_Actif", + "label": "PE_Actif", + "hfsql_type": "Booléen", + "size": null, + "default": "1", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PE_Actif", + "label": "PE_Actif", + "hfsql_type": "Booléen", + "size": null, + "default": "1", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PE_UsageInterne", + "old": { + "name": "PE_UsageInterne", + "label": "Usage Interne", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "PE_UsageInterne", + "label": "Usage Interne", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PE_InfoSupp", + "old": { + "name": "PE_InfoSupp", + "label": "Information supplémentaire", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "PE_InfoSupp", + "label": "Information supplémentaire", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "PE_CleCivilite", + "old": null, + "new": { + "name": "PE_CleCivilite", + "label": "Clé Civilité", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "PE_CleRole", + "old": null, + "new": { + "name": "PE_CleRole", + "label": "Role", + "hfsql_type": "Chaîne", + "size": "16", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "GUID", + "old": null, + "new": { + "name": "GUID", + "label": "GUID", + "hfsql_type": "Chaîne", + "size": "32", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string (32) en persistance; Guid? après validation", + "status": "Ajout Omika", + "compatibility_notes": "parent déclaré (Omika) de `RDV_Contact.RVCT_GUID_Pers`" + } + ] + }, + { + "name": "Telephone", + "domain": "Référentiel client", + "presence": "Commun", + "purpose_inference": "Numéro de téléphone qualifié rattaché à une personne.", + "compatibility_note": null, + "old_metadata": { + "disk_name": "Telephone.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 4 + }, + "new_metadata": { + "disk_name": "Telephone.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 4 + }, + "fields": [ + { + "canonical_name": "TE_PKID", + "old": { + "name": "TE_PKID", + "label": "Identifiant de Telephone", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "TE_PKID", + "label": "Identifiant de Telephone", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "TE_IDQualif", + "old": { + "name": "TE_IDQualif", + "label": "Identifiant de ParametreMetier", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "TE_IDQualif", + "label": "Identifiant de ParametreMetier", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "TE_Numero", + "old": { + "name": "TE_Numero", + "label": "TE_Numero", + "hfsql_type": "Entier sur 4 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "TE_Numero", + "label": "TE_Numero", + "hfsql_type": "Entier sur 4 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "int", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "TE_IDPersonne", + "old": { + "name": "TE_IDPersonne", + "label": "Identifiant de Personne", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "TE_IDPersonne", + "label": "Identifiant de Personne", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "FK déclarée (ancien) vers `Personne.PE_PKID`; FK déclarée (Omika) vers `Personne.PE_PKID`" + } + ] + }, + { + "name": "AccesEtDroit", + "domain": "Sécurité", + "presence": "Commun", + "purpose_inference": "Droits fonctionnels accordés à un profil historique ou à un rôle Omika, sur un module ou une clé d'accès.", + "compatibility_note": "Omika introduit `AED_IdRole` et `AED_CleAcces`; `AED_IDProfil` et `AED_IDModule` restent présents mais sont marqués zombie.", + "old_metadata": { + "disk_name": "AccesEtDroit.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 8 + }, + "new_metadata": { + "disk_name": "AccesEtDroit.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 10 + }, + "fields": [ + { + "canonical_name": "AED_PKID", + "old": { + "name": "AED_PKID", + "label": "Identifiant de AccesEtDroit", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "AED_PKID", + "label": "Identifiant de AccesEtDroit", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "AED_IDProfil", + "old": { + "name": "AED_IDProfil", + "label": "Identifiant de Profil", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "AED_IDProfil", + "label": "Identifiant de Profil (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "AED_IDModule", + "old": { + "name": "AED_IDModule", + "label": "Identifiant de Module", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "AED_IDModule", + "label": "Identifiant de Module (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "AED_Acces", + "old": { + "name": "AED_Acces", + "label": "L'accès est il autorisé", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "AED_Acces", + "label": "L'accès est il autorisé", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Modifié par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Modifié par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "AED_IdRole", + "old": null, + "new": { + "name": "AED_IdRole", + "label": "Identifiant du role", + "hfsql_type": "Entier non signé sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "ulong", + "status": "Ajout Omika", + "compatibility_notes": "" + }, + { + "canonical_name": "AED_CleAcces", + "old": null, + "new": { + "name": "AED_CleAcces", + "label": "Clé d’accès", + "hfsql_type": "Chaîne", + "size": "20", + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Ajout Omika", + "compatibility_notes": "" + } + ] + }, + { + "name": "CategorieAcces", + "domain": "Sécurité", + "presence": "Omika uniquement", + "purpose_inference": "Référentiel Omika des catégories ou modules d'accès utilisés par les rôles et l'interface.", + "compatibility_note": null, + "old_metadata": null, + "new_metadata": { + "disk_name": "CategorieAcces.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 11 + }, + "fields": [ + { + "canonical_name": "CAC_PKID", + "old": null, + "new": { + "name": "CAC_PKID", + "label": "Identifiant de CategorieAcces", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Table Omika uniquement", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "CAC_Cle", + "old": null, + "new": { + "name": "CAC_Cle", + "label": "Clé unique", + "hfsql_type": "Chaîne", + "size": "20", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "CAC_Libelle", + "old": null, + "new": { + "name": "CAC_Libelle", + "label": "Libelle", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "CAC_Ordre", + "old": null, + "new": { + "name": "CAC_Ordre", + "label": "Numero Ordre", + "hfsql_type": "Entier non signé sur 2 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "ushort", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "CAC_Mobile", + "old": null, + "new": { + "name": "CAC_Mobile", + "label": "Accès mobile ?", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "CAC_AncienCode", + "old": null, + "new": { + "name": "CAC_AncienCode", + "label": "Ancien Code paramètre metier à", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationDate", + "old": null, + "new": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": null, + "new": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": null, + "new": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": null, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "CAC_Description", + "old": null, + "new": { + "name": "CAC_Description", + "label": "Description", + "hfsql_type": "Mémo texte", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + } + ] + }, + { + "name": "Role", + "domain": "Sécurité", + "presence": "Omika uniquement", + "purpose_inference": "Rôle Omika utilisé pour les droits d'accès.", + "compatibility_note": null, + "old_metadata": null, + "new_metadata": { + "disk_name": "Role.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 7 + }, + "fields": [ + { + "canonical_name": "R_PKID", + "old": null, + "new": { + "name": "R_PKID", + "label": "Identifiant de Role", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Table Omika uniquement", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "R_Libelle", + "old": null, + "new": { + "name": "R_Libelle", + "label": "Libelle", + "hfsql_type": "Chaîne", + "size": "30", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "R_AncienCode", + "old": null, + "new": { + "name": "R_AncienCode", + "label": "Ancien Code à supprimer", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationDate", + "old": null, + "new": { + "name": "CreationDate", + "label": "Créé le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": null, + "new": { + "name": "CreationUser", + "label": "Créé par", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": null, + "new": { + "name": "ModifDate", + "label": "Modifié le", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Table Omika uniquement", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": null, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Table Omika uniquement", + "compatibility_notes": "" + } + ] + }, + { + "name": "Utilisateur", + "domain": "Sécurité", + "presence": "Commun", + "purpose_inference": "Compte utilisateur, authentification, administration, rôle, société et collaborateur associés.", + "compatibility_note": "Omika ajoute `UT_IdRole`; l'ancien `UT_IDTypeProfil` est marqué zombie.", + "old_metadata": { + "disk_name": "Utilisateur.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 19 + }, + "new_metadata": { + "disk_name": "Utilisateur.fic", + "connection": "", + "groups": [ + "ProtectionStd" + ], + "indexes": [], + "field_count": 20 + }, + "fields": [ + { + "canonical_name": "UT_PKID", + "old": { + "name": "UT_PKID", + "label": "Identifiant de Utilisateur", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "UT_PKID", + "label": "Identifiant de Utilisateur", + "hfsql_type": "Identifiant automatique (8 octets)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "PK automatique" + }, + { + "canonical_name": "UT_Login", + "old": { + "name": "UT_Login", + "label": "Login", + "hfsql_type": "Chaîne", + "size": "100", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "UT_Login", + "label": "Login", + "hfsql_type": "Chaîne", + "size": "100", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "UT_Nom", + "old": { + "name": "UT_Nom", + "label": "Nom de l'utilisateur", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "UT_Nom", + "label": "Nom de l'utilisateur", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "UT_Prenom", + "old": { + "name": "UT_Prenom", + "label": "Prénom de l'utilisateur", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "UT_Prenom", + "label": "Prénom de l'utilisateur", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "UT_MotDePasse", + "old": { + "name": "UT_MotDePasse", + "label": "Mot De Passe", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "UT_MotDePasse", + "label": "Mot De Passe", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "UT_MotDePasseAChanger", + "old": { + "name": "UT_MotDePasseAChanger", + "label": "Mot de passe à changer", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "UT_MotDePasseAChanger", + "label": "Mot de passe à changer", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "UT_Email", + "old": { + "name": "UT_Email", + "label": "Email", + "hfsql_type": "Chaîne", + "size": "100", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "UT_Email", + "label": "Email", + "hfsql_type": "Chaîne", + "size": "100", + "default": null, + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "UT_TelMobile", + "old": { + "name": "UT_TelMobile", + "label": "Téléphone Mobile", + "hfsql_type": "Chaîne", + "size": "25", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "UT_TelMobile", + "label": "Téléphone Mobile", + "hfsql_type": "Chaîne", + "size": "25", + "default": null, + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "string", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "UT_Administrateur", + "old": { + "name": "UT_Administrateur", + "label": "Est un utilisateur admin", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "UT_Administrateur", + "label": "Est un utilisateur admin", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationDate", + "old": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationDate", + "label": "Date de création", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "CreationUser", + "old": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "CreationUser", + "label": "Utilisateur de création", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifDate", + "old": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifDate", + "label": "Date de Modification", + "hfsql_type": "Date et Heure (aaaammjjhhmmssccc)", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "DateTime", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "ModifUser", + "old": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "ModifUser", + "label": "Utilisateur de modification", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "UT_IDCollaborateur", + "old": { + "name": "UT_IDCollaborateur", + "label": "Identifiant du Collaborateur", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "UT_IDCollaborateur", + "label": "Identifiant du Collaborateur", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "UT_IDSocietePrincipale", + "old": { + "name": "UT_IDSocietePrincipale", + "label": "Identifiant de la société principale", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "UT_IDSocietePrincipale", + "label": "Identifiant de la société principale", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "long", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "UT_IDTypeProfil", + "old": { + "name": "UT_IDTypeProfil", + "label": "Identifiant du type de profil", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "UT_IDTypeProfil", + "label": "Identifiant du type de profil (zombie)", + "hfsql_type": "Entier sur 8 octets", + "size": null, + "default": "0", + "zombie": true, + "notes": [ + "Signalé comme élément zombie dans les avertissements du projet" + ] + }, + "dotnet_type_recommendation": "long", + "status": "Commun, zombie dans Omika", + "compatibility_notes": "ne pas utiliser comme référence principale dans le nouveau domaine; Signalé comme élément zombie dans les avertissements du projet" + }, + { + "canonical_name": "UT_CleLicenceMobile", + "old": { + "name": "UT_CleLicenceMobile", + "label": "Clé de Licence Mobile", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "new": { + "name": "UT_CleLicenceMobile", + "label": "Clé de Licence Mobile", + "hfsql_type": "Chaîne", + "size": "50", + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "string", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "UT_AccesBO", + "old": { + "name": "UT_AccesBO", + "label": "Acces au Back-Office", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "UT_AccesBO", + "label": "Acces au Back-Office", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "UT_AccesMobile", + "old": { + "name": "UT_AccesMobile", + "label": "Acces sur le Mobile", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "new": { + "name": "UT_AccesMobile", + "label": "Acces sur le Mobile", + "hfsql_type": "Booléen", + "size": null, + "default": "0", + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "bool", + "status": "Commun", + "compatibility_notes": "" + }, + { + "canonical_name": "UT_IdRole", + "old": null, + "new": { + "name": "UT_IdRole", + "label": "Identifiant Role (Profil)", + "hfsql_type": "Entier non signé sur 8 octets", + "size": null, + "default": null, + "zombie": false, + "notes": [] + }, + "dotnet_type_recommendation": "ulong", + "status": "Ajout Omika", + "compatibility_notes": "" + } + ] + } + ], + "relations": { + "old": [ + { + "name": "Contrainte_Action_Intervention", + "source_table": "Intervention", + "source_field": "IN_PKID", + "source_cardinality": "0,n", + "target_table": "Action", + "target_field": "AC_IDIntervention", + "target_cardinality": "1,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Adresse_Client", + "source_table": "Adresse", + "source_field": "AD_PKID", + "source_cardinality": "0,n", + "target_table": "Client_Adresse", + "target_field": "CA_IDAdresse", + "target_cardinality": "0,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression uniquement si pas d'enregistrement relié" + }, + { + "name": "Contrainte_BddExterne_Intervention_BddExt", + "source_table": "BddExterne", + "source_field": "BSX_PKID", + "source_cardinality": "0,n", + "target_table": "Intervention_BddExterne", + "target_field": "INX_IDBddExterne", + "target_cardinality": "1,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_CheckList_Collaborateur", + "source_table": "CheckList", + "source_field": "CHK_PKID", + "source_cardinality": "0,n", + "target_table": "CheckList_Collab", + "target_field": "CHC_IDCheckList", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_CheckList_Intervention", + "source_table": "Intervention", + "source_field": "IN_PKID", + "source_cardinality": "0,n", + "target_table": "CheckList", + "target_field": "CHK_IDIntervention", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Client_Adresse", + "source_table": "Client", + "source_field": "CL_PKID", + "source_cardinality": "0,n", + "target_table": "Client_Adresse", + "target_field": "CA_IDClient", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Client_BddExterne_BddExterne", + "source_table": "BddExterne", + "source_field": "BSX_PKID", + "source_cardinality": "0,n", + "target_table": "Client_BddExterne", + "target_field": "CLX_IDBddExterne", + "target_cardinality": "1,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Client_Client_BddExterne", + "source_table": "Client", + "source_field": "CL_PKID", + "source_cardinality": "0,n", + "target_table": "Client_BddExterne", + "target_field": "CLX_IDCLient", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Client_Client_Lieu", + "source_table": "Client", + "source_field": "CL_PKID", + "source_cardinality": "0,n", + "target_table": "Client_Lieu", + "target_field": "CLI_IDClient", + "target_cardinality": "1,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Client_Dossier", + "source_table": "Client", + "source_field": "CL_PKID", + "source_cardinality": "0,n", + "target_table": "Dossier", + "target_field": "DO_IDClient", + "target_cardinality": "0,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression uniquement si pas d'enregistrement relié" + }, + { + "name": "Contrainte_Client_Personne", + "source_table": "Client", + "source_field": "CL_PKID", + "source_cardinality": "0,n", + "target_table": "Personne", + "target_field": "PE_IDClient", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Pas de suppression des enregistrements reliés" + }, + { + "name": "Contrainte_Collaborateur_CheckList", + "source_table": "Collaborateur", + "source_field": "CO_PKID", + "source_cardinality": "0,n", + "target_table": "CheckList_Collab", + "target_field": "CHC_IDCollaborateur", + "target_cardinality": "0,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression uniquement si pas d'enregistrement relié" + }, + { + "name": "Contrainte_Collaborateur_Equipe", + "source_table": "Collaborateur", + "source_field": "CO_PKID", + "source_cardinality": "0,n", + "target_table": "Equipe_Collaborateur", + "target_field": "EC_IDCollaborateur", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Collaborateur_Intervention", + "source_table": "Collaborateur", + "source_field": "CO_PKID", + "source_cardinality": "0,n", + "target_table": "Intervention_Collaborateur", + "target_field": "IC_IDCollaborateur", + "target_cardinality": "0,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression uniquement si pas d'enregistrement relié" + }, + { + "name": "Contrainte_Collaborateur_Societe", + "source_table": "Collaborateur", + "source_field": "CO_PKID", + "source_cardinality": "0,n", + "target_table": "Societe_Collaborateur", + "target_field": "SC_IDCollaborateur", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_DocumentNote_Document", + "source_table": "Document", + "source_field": "DC_PKID", + "source_cardinality": "0,n", + "target_table": "DocumentNote", + "target_field": "DN_IDDocument", + "target_cardinality": "1,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Dossier_Intervention", + "source_table": "Dossier", + "source_field": "DO_PKID", + "source_cardinality": "0,n", + "target_table": "Intervention", + "target_field": "IN_IDDossier", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Equipe_Collaborateur", + "source_table": "Equipe", + "source_field": "EQ_PKID", + "source_cardinality": "0,n", + "target_table": "Equipe_Collaborateur", + "target_field": "EC_IDEquipe", + "target_cardinality": "0,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression uniquement si pas d'enregistrement relié" + }, + { + "name": "Contrainte_Intervention_Collaborateur", + "source_table": "Intervention", + "source_field": "IN_PKID", + "source_cardinality": "0,n", + "target_table": "Intervention_Collaborateur", + "target_field": "IC_IDIntervention", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Intervention_HistoriqueEtatIntervention", + "source_table": "Intervention", + "source_field": "IN_PKID", + "source_cardinality": "0,n", + "target_table": "EtatIntervention", + "target_field": "EI_IDIntervention", + "target_cardinality": "1,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Intervention_Intervention_BddExt", + "source_table": "Intervention", + "source_field": "IN_PKID", + "source_cardinality": "0,n", + "target_table": "Intervention_BddExterne", + "target_field": "INX_IDIntervention", + "target_cardinality": "1,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Intervention_MessageExterne", + "source_table": "Intervention", + "source_field": "IN_PKID", + "source_cardinality": "0,n", + "target_table": "MessageExterne", + "target_field": "ME_IDIntervention", + "target_cardinality": "1,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Intervention_ParametreMetier", + "source_table": "Intervention", + "source_field": "IN_PKID", + "source_cardinality": "0,n", + "target_table": "Intervention_ChampLibre", + "target_field": "ICL_IDIntervention", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Lieu_Adresse", + "source_table": "Adresse", + "source_field": "AD_PKID", + "source_cardinality": "0,n", + "target_table": "Lieu", + "target_field": "LI_IDAdresse", + "target_cardinality": "0,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression uniquement si pas d'enregistrement relié" + }, + { + "name": "Contrainte_Lieu_Client_Lieu", + "source_table": "Lieu", + "source_field": "LI_PKID", + "source_cardinality": "0,n", + "target_table": "Client_Lieu", + "target_field": "CLI_IDLieu", + "target_cardinality": "1,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Lieu_Lieu_Personne", + "source_table": "Lieu", + "source_field": "LI_PKID", + "source_cardinality": "0,n", + "target_table": "Lieu_Personne", + "target_field": "LIP_IDLieu", + "target_cardinality": "1,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_MailModele_MailCat", + "source_table": "MailModele", + "source_field": "MM_Code", + "source_cardinality": "0,n", + "target_table": "MailCat", + "target_field": "MMC_CodeModMail", + "target_cardinality": "1,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression uniquement si pas d'enregistrement relié" + }, + { + "name": "Contrainte_MessageInterne_Intervention", + "source_table": "Intervention", + "source_field": "IN_PKID", + "source_cardinality": "0,n", + "target_table": "MessageInterne", + "target_field": "MI_IDIntervention", + "target_cardinality": "1,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_ParametreMetier_Intervention", + "source_table": "ParametreMetier", + "source_field": "PA_PKID", + "source_cardinality": "0,n", + "target_table": "Intervention_ChampLibre", + "target_field": "ICL_IDParametreMetier", + "target_cardinality": "0,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression uniquement si pas d'enregistrement relié" + }, + { + "name": "Contrainte_ParametreMetier_ParametreMetierEntete", + "source_table": "ParametreMetierEntete", + "source_field": "PM_Code", + "source_cardinality": "0,n", + "target_table": "ParametreMetier", + "target_field": "PA_Code", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Personne_Adresse", + "source_table": "Adresse", + "source_field": "AD_PKID", + "source_cardinality": "0,n", + "target_table": "Personne", + "target_field": "PE_IDAdressePrincipale", + "target_cardinality": "0,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression uniquement si pas d'enregistrement relié" + }, + { + "name": "Contrainte_Personne_Lieu_Personne", + "source_table": "Personne", + "source_field": "PE_PKID", + "source_cardinality": "0,n", + "target_table": "Lieu_Personne", + "target_field": "LIP_IDPersonne", + "target_cardinality": "1,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Personne_Planning_RDV", + "source_table": "Personne", + "source_field": "PE_PKID", + "source_cardinality": "0,n", + "target_table": "Planning_RDV_Personne", + "target_field": "PRP_IDPersonne", + "target_cardinality": "0,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression uniquement si pas d'enregistrement relié" + }, + { + "name": "Contrainte_Societe_Adresse", + "source_table": "Adresse", + "source_field": "AD_PKID", + "source_cardinality": "0,n", + "target_table": "Societe", + "target_field": "SO_IDAdressePrincipale", + "target_cardinality": "0,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression uniquement si pas d'enregistrement relié" + }, + { + "name": "Contrainte_Societe_Collaborateur", + "source_table": "Societe", + "source_field": "SO_PKID", + "source_cardinality": "0,n", + "target_table": "Societe_Collaborateur", + "target_field": "SC_IDCSociete", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Societe_Equipe", + "source_table": "Societe", + "source_field": "SO_PKID", + "source_cardinality": "0,n", + "target_table": "Equipe", + "target_field": "EQ_IDSociete", + "target_cardinality": "0,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression uniquement si pas d'enregistrement relié" + }, + { + "name": "Contrainte_SuiviDesTemps_Intervention", + "source_table": "Intervention", + "source_field": "IN_PKID", + "source_cardinality": "0,n", + "target_table": "SuiviDesTemps", + "target_field": "SDT_IDIntervention", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Pas de suppression des enregistrements reliés" + }, + { + "name": "Contrainte_Telephone_Personne", + "source_table": "Personne", + "source_field": "PE_PKID", + "source_cardinality": "0,n", + "target_table": "Telephone", + "target_field": "TE_IDPersonne", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + } + ], + "new": [ + { + "name": "Contrainte_Action_Intervention", + "source_table": "Intervention", + "source_field": "IN_PKID", + "source_cardinality": "0,n", + "target_table": "Action", + "target_field": "AC_IDIntervention", + "target_cardinality": "1,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Adresse_Client", + "source_table": "Adresse", + "source_field": "AD_PKID", + "source_cardinality": "0,n", + "target_table": "Client_Adresse", + "target_field": "CA_IDAdresse", + "target_cardinality": "0,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression uniquement si pas d'enregistrement relié" + }, + { + "name": "Contrainte_BddExterne_Intervention_BddExt", + "source_table": "BddExterne", + "source_field": "BSX_PKID", + "source_cardinality": "0,n", + "target_table": "Intervention_BddExterne", + "target_field": "INX_IDBddExterne", + "target_cardinality": "1,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_CheckList_Collaborateur", + "source_table": "CheckList", + "source_field": "CHK_PKID", + "source_cardinality": "0,n", + "target_table": "CheckList_Collab", + "target_field": "CHC_IDCheckList", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_CheckList_Intervention", + "source_table": "Intervention", + "source_field": "IN_PKID", + "source_cardinality": "0,n", + "target_table": "CheckList", + "target_field": "CHK_IDIntervention", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Client_Adresse", + "source_table": "Client", + "source_field": "CL_PKID", + "source_cardinality": "0,n", + "target_table": "Client_Adresse", + "target_field": "CA_IDClient", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Client_BddExterne_BddExterne", + "source_table": "BddExterne", + "source_field": "BSX_PKID", + "source_cardinality": "0,n", + "target_table": "Client_BddExterne", + "target_field": "CLX_IDBddExterne", + "target_cardinality": "1,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Client_Client_BddExterne", + "source_table": "Client", + "source_field": "CL_PKID", + "source_cardinality": "0,n", + "target_table": "Client_BddExterne", + "target_field": "CLX_IDCLient", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Client_Client_Lieu", + "source_table": "Client", + "source_field": "CL_PKID", + "source_cardinality": "0,n", + "target_table": "Client_Lieu", + "target_field": "CLI_IDClient", + "target_cardinality": "1,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Client_Dossier", + "source_table": "Client", + "source_field": "CL_PKID", + "source_cardinality": "0,n", + "target_table": "Dossier", + "target_field": "DO_IDClient", + "target_cardinality": "0,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression uniquement si pas d'enregistrement relié" + }, + { + "name": "Contrainte_Client_Personne", + "source_table": "Client", + "source_field": "CL_PKID", + "source_cardinality": "0,n", + "target_table": "Personne", + "target_field": "PE_IDClient", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Pas de suppression des enregistrements reliés" + }, + { + "name": "Contrainte_Collaborateur_CheckList", + "source_table": "Collaborateur", + "source_field": "CO_PKID", + "source_cardinality": "0,n", + "target_table": "CheckList_Collab", + "target_field": "CHC_IDCollaborateur", + "target_cardinality": "0,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Collaborateur_Equipe", + "source_table": "Collaborateur", + "source_field": "CO_PKID", + "source_cardinality": "0,n", + "target_table": "Equipe_Collaborateur", + "target_field": "EC_IDCollaborateur", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Collaborateur_Societe", + "source_table": "Collaborateur", + "source_field": "CO_PKID", + "source_cardinality": "0,n", + "target_table": "Societe_Collaborateur", + "target_field": "SC_IDCollaborateur", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_DocumentNote_Document", + "source_table": "Document", + "source_field": "DC_PKID", + "source_cardinality": "0,n", + "target_table": "DocumentNote", + "target_field": "DN_IDDocument", + "target_cardinality": "1,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Dossier_Intervention", + "source_table": "Dossier", + "source_field": "DO_PKID", + "source_cardinality": "0,n", + "target_table": "Intervention", + "target_field": "IN_IDDossier", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Equipe_Collaborateur", + "source_table": "Equipe", + "source_field": "EQ_PKID", + "source_cardinality": "0,n", + "target_table": "Equipe_Collaborateur", + "target_field": "EC_IDEquipe", + "target_cardinality": "0,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression uniquement si pas d'enregistrement relié" + }, + { + "name": "Contrainte_Intervention_HistoriqueEtatIntervention", + "source_table": "Intervention", + "source_field": "IN_PKID", + "source_cardinality": "0,n", + "target_table": "EtatIntervention", + "target_field": "EI_IDIntervention", + "target_cardinality": "1,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Intervention_Intervention_BddExt", + "source_table": "Intervention", + "source_field": "IN_PKID", + "source_cardinality": "0,n", + "target_table": "Intervention_BddExterne", + "target_field": "INX_IDIntervention", + "target_cardinality": "1,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Intervention_MessageExterne", + "source_table": "Intervention", + "source_field": "IN_PKID", + "source_cardinality": "0,n", + "target_table": "MessageExterne", + "target_field": "ME_IDIntervention", + "target_cardinality": "1,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Intervention_ParametreMetier", + "source_table": "Intervention", + "source_field": "IN_PKID", + "source_cardinality": "0,n", + "target_table": "Intervention_ChampLibre", + "target_field": "ICL_IDIntervention", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Lieu_Adresse", + "source_table": "Adresse", + "source_field": "AD_PKID", + "source_cardinality": "0,n", + "target_table": "Lieu", + "target_field": "LI_IDAdresse", + "target_cardinality": "0,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression uniquement si pas d'enregistrement relié" + }, + { + "name": "Contrainte_Lieu_Client_Lieu", + "source_table": "Lieu", + "source_field": "LI_PKID", + "source_cardinality": "0,n", + "target_table": "Client_Lieu", + "target_field": "CLI_IDLieu", + "target_cardinality": "1,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Lieu_Lieu_Personne", + "source_table": "Lieu", + "source_field": "LI_PKID", + "source_cardinality": "0,n", + "target_table": "Lieu_Personne", + "target_field": "LIP_IDLieu", + "target_cardinality": "1,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_MessageInterne_Intervention", + "source_table": "Intervention", + "source_field": "IN_PKID", + "source_cardinality": "0,n", + "target_table": "MessageInterne", + "target_field": "MI_IDIntervention", + "target_cardinality": "1,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_ParametreMetier_Intervention", + "source_table": "ParametreMetier", + "source_field": "PA_PKID", + "source_cardinality": "0,n", + "target_table": "Intervention_ChampLibre", + "target_field": "ICL_IDParametreMetier", + "target_cardinality": "0,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression uniquement si pas d'enregistrement relié" + }, + { + "name": "Contrainte_ParametreMetier_ParametreMetierEntete", + "source_table": "ParametreMetierEntete", + "source_field": "PM_Code", + "source_cardinality": "0,n", + "target_table": "ParametreMetier", + "target_field": "PA_Code", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Personne_Adresse", + "source_table": "Adresse", + "source_field": "AD_PKID", + "source_cardinality": "0,n", + "target_table": "Personne", + "target_field": "PE_IDAdressePrincipale", + "target_cardinality": "0,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression uniquement si pas d'enregistrement relié" + }, + { + "name": "Contrainte_Personne_Lieu_Personne", + "source_table": "Personne", + "source_field": "PE_PKID", + "source_cardinality": "0,n", + "target_table": "Lieu_Personne", + "target_field": "LIP_IDPersonne", + "target_cardinality": "1,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Personne_Planning_RDV", + "source_table": "Personne", + "source_field": "PE_PKID", + "source_cardinality": "0,n", + "target_table": "Planning_RDV_Personne", + "target_field": "PRP_IDPersonne", + "target_cardinality": "0,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_RDV_Collaborateur_RDV_Planning", + "source_table": "RDV_Planning", + "source_field": "GUID", + "source_cardinality": "0,n", + "target_table": "RDV_Collaborateur", + "target_field": "RVC_GUID_RDV", + "target_cardinality": "1,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression uniquement si pas d'enregistrement relié" + }, + { + "name": "Contrainte_RDV_Contact_Personne", + "source_table": "Personne", + "source_field": "GUID", + "source_cardinality": "0,n", + "target_table": "RDV_Contact", + "target_field": "RVCT_GUID_Pers", + "target_cardinality": "1,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_RDV_Planning_RDV_Contact", + "source_table": "RDV_Planning", + "source_field": "GUID", + "source_cardinality": "0,n", + "target_table": "RDV_Contact", + "target_field": "RVCT_GUID_RDV", + "target_cardinality": "1,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Societe_Adresse", + "source_table": "Adresse", + "source_field": "AD_PKID", + "source_cardinality": "0,n", + "target_table": "Societe", + "target_field": "SO_IDAdressePrincipale", + "target_cardinality": "0,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression uniquement si pas d'enregistrement relié" + }, + { + "name": "Contrainte_Societe_Collaborateur", + "source_table": "Societe", + "source_field": "SO_PKID", + "source_cardinality": "0,n", + "target_table": "Societe_Collaborateur", + "target_field": "SC_IDCSociete", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + }, + { + "name": "Contrainte_Societe_Equipe", + "source_table": "Societe", + "source_field": "SO_PKID", + "source_cardinality": "0,n", + "target_table": "Equipe", + "target_field": "EQ_IDSociete", + "target_cardinality": "0,1", + "update_rule": "Modification uniquement si pas d'enregistrement relié", + "delete_rule": "Suppression uniquement si pas d'enregistrement relié" + }, + { + "name": "Contrainte_SuiviDesTemps_Intervention", + "source_table": "Intervention", + "source_field": "IN_PKID", + "source_cardinality": "0,n", + "target_table": "SuiviDesTemps", + "target_field": "SDT_IDIntervention", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Pas de suppression des enregistrements reliés" + }, + { + "name": "Contrainte_Telephone_Personne", + "source_table": "Personne", + "source_field": "PE_PKID", + "source_cardinality": "0,n", + "target_table": "Telephone", + "target_field": "TE_IDPersonne", + "target_cardinality": "0,1", + "update_rule": "Modification en cascade des enregistrements reliés", + "delete_rule": "Suppression en cascade des enregistrements reliés." + } + ] + }, + "dictionary_anomalies": { + "old_active_aliases_not_in_detailed_tables": [ + "AC_", + "CL_IDContactDefaut", + "CO_Civilite", + "DO_Description", + "HEI_", + "IDCompteRendu", + "IDIntervention_ChampLibre", + "IDParametreSysteme", + "PAP_ListeParametre", + "PL_Pri", + "RolePersonne", + "TE_Duree" + ], + "new_active_aliases_not_in_detailed_tables": [ + "AC_", + "AED_IdAcces", + "CL_IDContactDefaut", + "CO_Civilite", + "DO_Description", + "HEI_", + "IDCompteRendu", + "IDIntervention_ChampLibre", + "IDParametreSysteme", + "PAP_ListeParametre", + "PL_Pri", + "RolePersonne", + "RVC_IdColb", + "TE_Duree" + ], + "unused_common": [ + "AC_IDTypeQui", + "AD_AdresseLigne_1", + "AD_AdresseLigne_2", + "AD_AdresseLigne_3", + "AD_AdresseLigne_4", + "AD_AdresseLigne_5", + "AD_CodePostalAdresse", + "AD_CreationDate", + "AD_CreationUser", + "AD_IDAdresse", + "AD_LigneAdresse_1", + "AD_LigneAdresse_2", + "AD_LigneAdresse_3", + "AD_LigneAdresse_4", + "AD_LigneAdresse_5", + "AD_ModifDate", + "AD_ModifUser", + "AD_Nom", + "AD_PresentationAdresse", + "AD_VilleAdresse", + "Belogik_Adresse_ligne", + "Belogik_Créé_par", + "Belogik_ModificationUser", + "CA_IDClient_AD_IDAdresse", + "CHC_IDCollaborateur_CHC_IDCheckLis", + "CL_AdresseClient", + "CL_AdresseClient_1", + "CL_AdresseClient_2", + "CL_AdresseClient_3", + "CL_AdresseClient_4", + "CL_AdresseClient_5", + "CL_Apporteur", + "CL_CodePostalClient", + "CL_CompteComptable", + "CL_CreationDate", + "CL_CreationUser", + "CL_IDClient", + "CL_IDClient_AD_IDAdresse", + "CL_IDSitePrincipal", + "CL_IDStatutClient", + "CL_IDTypeAdresse", + "CL_IDTypeClient", + "CL_ModifDate", + "CL_ModifUser", + "CL_NomClient", + "CL_Origine", + "CL_PresentationAdresse", + "CL_PresentationAdresseClient", + "CL_VilleClient", + "CleComp", + "CLX_IDBaseExt", + "CMI_CMD", + "CMI_DATE", + "CMI_FROM", + "CMI_JSON", + "CMI_PKID", + "CMO_CMD", + "CMO_DATE", + "CMO_JSON", + "CMO_PKID", + "CMO_TO", + "CO_IDUtilisateur", + "CO_UtiliseBO", + "CO_UtiliseMobile", + "CPT_AvecPrefixe", + "CPT_Longueur", + "CPT_ParAn", + "CR_DateSignature", + "CR_GUID", + "DC_DroitAcces", + "DC_GUID", + "DE_Description", + "DE_IDAdressePrincipale", + "DE_IDDemandeur", + "DE_IDDestination", + "DE_IDPriorite", + "DE_IDStatut", + "DE_IDSuiveur", + "DE_IDTypeDemandeur", + "DE_PKID", + "DE_RefExterne", + "DE_RefInterne", + "DL_IDDossier", + "DL_IDLieu", + "DL_PKID", + "DN_GUID", + "DO_IDDemandeur", + "DO_IDSuiveur", + "DP_IDDossier", + "DP_IDPersonne", + "DP_PKID", + "EmailPersonne", + "HEI_DateDebut", + "HEI_DateFin", + "HEI_Description", + "HEI_IDEtat", + "HEI_IDIntervention", + "HEI_PKID", + "IC_IDIntervention_IC_IDCollaborateur", + "ICL_IDInterventionICL_IDParametreM", + "ICP_IDClient", + "ICP_IDImport", + "ICP_IDIntervention", + "ICP_IDPersonne", + "ICP_PKID", + "IDAction", + "IDADRESSE", + "IDCheckList", + "IDCheckList_Collab", + "IDClient", + "IDClient_Lieu", + "IDCollaboteur", + "IDCompteur", + "IDDocument", + "IDDocumentNote", + "IDEquipe", + "IDEquipe_Collaborateur", + "IDHistoriqueEtatIntervention", + "IDIntervention", + "IDIntervention_Client_Personne", + "IDIntervention_Collaborateur", + "IDIntervention_Lieu_Personne", + "IDIntervention_Lot", + "IDIntervention_Personne", + "IDLieu", + "IDLieu_Personne", + "IDLots", + "IDMessageExterne", + "IDMessageInterne", + "IDMobile", + "IDMobLog", + "IDMobReception", + "IDModeleRapportMob", + "IDParametreApplication", + "IDPARAMETREMETIER", + "IDParametreMetierEntete", + "IDParametreUtilisateur", + "IDPersonne", + "IDPlanning_RDV", + "IDSociete", + "IDSociete_Collaborateur", + "IDTelephone", + "IDTemps", + "IDUtilisateur", + "IL_IDIntervention", + "IL_IDIntervention_IL_IDLot", + "IL_IDLot", + "IL_PKID", + "ILP_Etage", + "ILP_IDIntervention", + "ILP_IDIntervention_ILP_IDLieuPersonn", + "ILP_IDLieu", + "ILP_IDLieuPersonne", + "ILP_IDPersonne", + "ILP_Lot", + "ILP_PKID", + "IN_ChpPersonnalise1", + "IN_ChpPersonnalise2", + "IN_CodeBddExterne", + "IN_CodeExterne", + "IN_IDSuiveur", + "INX_IDBaseExt", + "LI_Archive", + "LI_CreationDate", + "LI_CreationUser", + "LI_DateArchivage", + "LI_ModifDate", + "LI_ModifUser", + "LO_IDLieu", + "LO_Localisation", + "LO_Nom", + "LO_PKID", + "Login", + "LP_IDLot", + "LP_IDPersonne", + "LP_PKID", + "MC_Code", + "MC_Nom", + "MC_Note", + "MC_Ordre", + "MC_PKID", + "MC_System", + "MM_Corps", + "MotDePasseAChanger", + "MRM_Actif", + "NbJrsDepuisDerniereModif", + "NomPersonne", + "NomSociete", + "PA_AjoutParametreMetier", + "PA_CodeParametreMetier", + "PA_Custom", + "PA_CustomCodeParametreMetier", + "PA_CustomParametreMetier", + "PA_Est", + "PA_EstModifiableParametreMetier", + "PA_LibelleParametreMetier", + "PA_NumeroParametreMetier", + "PA_OrdreParametreMetier", + "PA_ValeurParametreMetier", + "PA_Visible", + "PAP_Categorie", + "PE_AdressePersonne_1", + "PE_AdressePersonne_2", + "PE_AdressePersonne_3", + "PE_AdressePersonne_4", + "PE_AdressePersonne_5", + "PE_AdresseSociete_4", + "PE_CodePostalPersonne", + "PE_CreationDate", + "PE_CreationUser", + "PE_EmailPersonne", + "PE_Etage", + "PE_IDRolePersonne", + "PE_ModifDate", + "PE_ModifUser", + "PE_NomPersonne", + "PE_PrenomPersonne", + "PE_PresentationAdressePersonne", + "PE_TelFixePersonne", + "PE_TelMobilePersonne", + "PE_TelPortablePersonne", + "PE_VillePersonne", + "PEFax", + "PL_Descriptif", + "PL_Duree", + "PL_EstSuperposable", + "PL_GUID", + "PL_PKID_PE_PKID", + "PM_Contexte", + "PM_FormatValeur", + "PM_JSONSpec", + "PM_Personnalisable", + "PrenomPersonne", + "PT_Description", + "PT_Libelle", + "PT_Personnalisable", + "PT_PKID", + "SC_IDCSociete_IDCollaborateur", + "SC_IDCSocieteSC_IDCollaborateur", + "SC_IDCSocite", + "SDT_Collaborateur", + "SDT_DateFin", + "SDT_HeureDebut", + "SDT_HeureFin", + "SDT_Intervention", + "SDT_Partenaire", + "SIRETSociete", + "SO_AdresseSociete_1", + "SO_AdresseSociete_2", + "SO_AdresseSociete_3", + "SO_AdresseSociete_4", + "SO_AdresseSociete_5", + "SO_CodePostalSociete", + "SO_CreationDate", + "SO_CreationUser", + "SO_LigneAdresse_1", + "SO_LigneAdresse_2", + "SO_LigneAdresse_3", + "SO_LigneAdresseSociete_1", + "SO_LigneAdresseSociete_2", + "SO_ModifDate", + "SO_ModifUser", + "SO_NomSociete", + "SO_PKID_CO_PKID", + "SO_PresentationAdressePersonne", + "SO_PresentationAdresseSociete", + "SO_SIRETSociete", + "SO_VilleSociete", + "Te", + "TE_Collaborateur", + "TE_Date", + "TE_DateDebut", + "TE_IDTypeTemps", + "TE_Intervention", + "TE_Libelle", + "TE_NbHeure", + "TE_NbMinutes", + "TE_Partenaire", + "TelFixePersonne", + "TelPersonne", + "TelPortablePersonne", + "UT_CleLicence", + "UT_IDProfil", + "UT_SansLicence", + "UT_UtiliseBO", + "ValeurDuChamp" + ], + "unused_old_only": [], + "unused_new_only": [ + "AD_Index_Adresse", + "GUID_Pers", + "GUID_RDV", + "IC_IDCollaborateur", + "IC_IDIntervention", + "IC_PKID", + "IDCategorieAcces", + "IDDoc_Aide", + "IDElementModifie", + "IDElementSupprime", + "IDEtats", + "IDModeleRapport", + "IDRDV_Collaborateur", + "IDRDV_Contact", + "IDRendezVousPlanning", + "IDRole", + "IDRubriquesDocument", + "PE_Role", + "RD_Type", + "RV_CR", + "RV_Superposable", + "RVC_IdRDV", + "RVCT_IdPersonne", + "RVCT_IdRdv" + ] + } +} diff --git a/docs/start_omika_test.bat b/docs/start_omika_test.bat new file mode 100644 index 0000000..ff09f9f --- /dev/null +++ b/docs/start_omika_test.bat @@ -0,0 +1,17 @@ +@echo off +REM ============================================================ +REM OMIKA - Demarrage en mode test local +REM Double-cliquez sur ce fichier pour lancer API + Worker + Desktop. +REM Arguments optionnels (transmis au script PS1) : +REM -NoBuild ne pas recompiler +REM -SkipDesktop ne pas lancer l'application de bureau +REM -SkipWorker ne pas lancer le Worker +REM ============================================================ +cd /d "%~dp0" +powershell -NoProfile -ExecutionPolicy Bypass -File "%~dp0start_omika_test.ps1" %* +if errorlevel 1 ( + echo. + echo [ERREUR] Le lancement a echoue. Voir les messages ci-dessus. +) +echo. +pause diff --git a/docs/start_omika_test.ps1 b/docs/start_omika_test.ps1 new file mode 100644 index 0000000..0abe74a --- /dev/null +++ b/docs/start_omika_test.ps1 @@ -0,0 +1,204 @@ +<# + OMIKA - Demarrage complet en mode test local + ============================================ + Compile puis lance les 3 composants du projet : + 1. Omika.Api (API) -> http://localhost:5097 + 2. Omika.Worker (sync) -> service d'arriere-plan + 3. Omika.App.Desktop (application) -> fenetre Avalonia + + Mode test = environnement "Development" : + - charge config/hfsql-test.local.json (connexions HFSQL locales de test) ; + - l'application de bureau utilise la licence de developpement locale + (%LOCALAPPDATA%\Omika\development-license.json, dont le champ ApiUrl + pointe vers http://localhost:5097). + + Utilisation : + powershell -NoProfile -ExecutionPolicy Bypass -File .\docs\start_omika_test.ps1 + .\docs\start_omika_test.ps1 -NoBuild # sans recompiler + .\docs\start_omika_test.ps1 -SkipDesktop # sans l'application de bureau + .\docs\start_omika_test.ps1 -SkipWorker # sans le Worker + .\docs\start_omika_test.ps1 -Clean # purge la SQLite locale avant lancement + + Pour arreter : .\docs\stop_omika_test.ps1 +#> +[CmdletBinding()] +param( + [switch]$NoBuild, + [switch]$SkipDesktop, + [switch]$SkipWorker, + [switch]$Clean +) + +$ErrorActionPreference = 'Stop' + +# Racine du depot = parent du dossier docs/ contenant ce script. +$root = Split-Path -Parent $PSScriptRoot + +# Fichiers de logs (racine du depot). +$logApiOut = Join-Path $root 'omika-test-api.out.log' +$logApiErr = Join-Path $root 'omika-test-api.err.log' +$logWorkerOut = Join-Path $root 'omika-test-worker.out.log' +$logWorkerErr = Join-Path $root 'omika-test-worker.err.log' +$logDesktopOut = Join-Path $root 'omika-test-desktop.out.log' +$logDesktopErr = Join-Path $root 'omika-test-desktop.err.log' + +function Reset-Log([string]$Path) { + if (Test-Path $Path) { Remove-Item $Path -Force -ErrorAction SilentlyContinue } +} + +function Banner([string]$Text) { + Write-Host '' + Write-Host '============================================================' -ForegroundColor Cyan + Write-Host " $Text" -ForegroundColor Cyan + Write-Host '============================================================' -ForegroundColor Cyan +} + +Banner 'OMIKA - Demarrage en mode test local' + +# ---------- Preparation de la config locale de l'application de bureau ---------- +$appData = Join-Path $env:LOCALAPPDATA 'Omika' +if (-not (Test-Path $appData)) { New-Item -ItemType Directory -Path $appData | Out-Null } + +# ---------- Nettoyage optionnel de la base SQLite locale (-Clean) ---------- +# Uniquement lors d'un changement d'environnement (ex. Batik -> Omika) : repartir +# avec une base locale vierge pour ne pas melanger les snapshots de deux bases. +# Ne supprime JAMAIS development-license.json, ni documents/, ni logs/. +if ($Clean) { + Write-Host '' + Write-Host 'Nettoyage de la base SQLite locale (-Clean)...' -ForegroundColor Yellow + foreach ($db in @('omika.db', 'omika-diagnostics.db')) { + $dbPath = Join-Path $appData $db + if (Test-Path $dbPath) { + Remove-Item -Path $dbPath -Force -ErrorAction SilentlyContinue + if (Test-Path $dbPath) { + Write-Warning " Impossible de supprimer (fichier verrouille ?) : $dbPath" + } + else { + Write-Host " Supprime : $dbPath" -ForegroundColor Green + } + } + } +} + +$devLicenseConfig = Join-Path $appData 'development-license.json' +$devLicenseApiUrl = 'http://localhost:5097' +if (-not (Test-Path $devLicenseConfig)) { + [ordered]@{ + Enabled = $true + ClientCode = 'LOCAL-DEV' + UserDisplayName = 'Alexandre SALVADOR (ASA)' + ExpirationDays = 365 + ApiUrl = $devLicenseApiUrl + } | ConvertTo-Json | Set-Content -Path $devLicenseConfig -Encoding UTF8 + Write-Host " Config creee : $devLicenseConfig" -ForegroundColor Yellow +} +else { + # Le fichier existe : si le champ ApiUrl est absent ou vide, on l'ajoute + # proprement (sans ecraser les autres champs). Necessaire au flux + # DevelopmentLicense, qui lit ApiUrl pour joindre l'API locale. + try { + $license = Get-Content -Raw -Path $devLicenseConfig | ConvertFrom-Json + if ($null -eq $license.PSObject.Properties['ApiUrl'] -or [string]::IsNullOrWhiteSpace($license.ApiUrl)) { + $license | Add-Member -NotePropertyName 'ApiUrl' -NotePropertyValue $devLicenseApiUrl -Force + $license | ConvertTo-Json | Set-Content -Path $devLicenseConfig -Encoding UTF8 + Write-Host " ApiUrl ajoute a : $devLicenseConfig" -ForegroundColor Yellow + } + } + catch { + Write-Warning " $devLicenseConfig illisible : laisse tel quel." + } +} + +$hfsqlConfig = Join-Path $root 'config\hfsql-test.local.json' +if (-not (Test-Path $hfsqlConfig)) { + Write-Warning "config/hfsql-test.local.json introuvable : l'API et le Worker n'utiliseront pas la configuration HFSQL de test." +} + +# ---------- 1. Compilation ---------- +if ($NoBuild) { + Write-Host '' + Write-Host 'Compilation ignoree (-NoBuild).' -ForegroundColor DarkGray +} +else { + Banner '1/4 - Compilation des projets (Debug)' + $projects = @( + (Join-Path $root 'src\Omika.Api\Omika.Api.csproj'), + (Join-Path $root 'src\Omika.Worker\Omika.Worker.csproj'), + (Join-Path $root 'src\Omika.App.Desktop\Omika.App.Desktop.csproj') + ) + foreach ($project in $projects) { + Write-Host " > $project" -ForegroundColor Yellow + # CONTOURNEMENT TEMPORAIRE : --no-restore -m:1 evite l'echec MSB4276 lie au + # workload Android/iOS corrompu de cette machine (resolution SDK parallele). + # A retirer apres 'dotnet workload repair'. + dotnet build $project -c Debug --nologo --no-restore -m:1 + if ($LASTEXITCODE -ne 0) { throw "Echec de compilation : $project" } + } +} + +# Environnement de test : Development (charge config/hfsql-test.local.json). +$env:ASPNETCORE_ENVIRONMENT = 'Development' +$env:DOTNET_ENVIRONMENT = 'Development' + +# ---------- 2. API ---------- +Banner "2/4 - Demarrage de l'API (http://localhost:5097)" +Reset-Log $logApiOut; Reset-Log $logApiErr +$env:ASPNETCORE_URLS = 'http://localhost:5097' +$api = Start-Process -FilePath 'dotnet' ` + -ArgumentList (Join-Path $root 'src\Omika.Api\bin\Debug\net10.0\Omika.Api.dll') ` + -WorkingDirectory (Join-Path $root 'src\Omika.Api\bin\Debug\net10.0') ` + -RedirectStandardOutput $logApiOut ` + -RedirectStandardError $logApiErr ` + -NoNewWindow -PassThru +Write-Host " API demarree (PID $($api.Id))." -ForegroundColor Green + +# ---------- 3. Worker ---------- +if ($SkipWorker) { + Write-Host 'Worker ignore (-SkipWorker).' -ForegroundColor DarkGray +} +else { + Banner '3/4 - Demarrage du Worker de synchronisation' + Reset-Log $logWorkerOut; Reset-Log $logWorkerErr + $worker = Start-Process -FilePath 'dotnet' ` + -ArgumentList (Join-Path $root 'src\Omika.Worker\bin\Debug\net10.0\Omika.Worker.dll') ` + -WorkingDirectory (Join-Path $root 'src\Omika.Worker\bin\Debug\net10.0') ` + -RedirectStandardOutput $logWorkerOut ` + -RedirectStandardError $logWorkerErr ` + -NoNewWindow -PassThru + Write-Host " Worker demarre (PID $($worker.Id))." -ForegroundColor Green +} + +# ---------- 4. Application desktop ---------- +if ($SkipDesktop) { + Write-Host 'Application desktop ignoree (-SkipDesktop).' -ForegroundColor DarkGray +} +else { + Banner "4/4 - Demarrage de l'application de bureau" + Reset-Log $logDesktopOut; Reset-Log $logDesktopErr + $desktop = Start-Process -FilePath (Join-Path $root 'src\Omika.App.Desktop\bin\Debug\net10.0\Omika.App.Desktop.exe') ` + -WorkingDirectory (Join-Path $root 'src\Omika.App.Desktop\bin\Debug\net10.0') ` + -RedirectStandardOutput $logDesktopOut ` + -RedirectStandardError $logDesktopErr ` + -PassThru + Write-Host " Application de bureau demarree (PID $($desktop.Id))." -ForegroundColor Green +} + +# ---------- Verification ---------- +Banner 'Verification' +Write-Host " Attente de quelques secondes avant le controle de sante de l'API..." -ForegroundColor Yellow +Start-Sleep -Seconds 6 +try { + $health = Invoke-RestMethod -Uri 'http://localhost:5097/health' -TimeoutSec 10 + Write-Host " /health => $($health | ConvertTo-Json -Compress)" -ForegroundColor Green +} +catch { + Write-Warning " Impossible de joindre http://localhost:5097/health : $($_.Exception.Message)" + Write-Host " Consultez les logs : $logApiOut / $logApiErr" -ForegroundColor DarkGray +} + +Banner 'Termine' +Write-Host ' Logs :' -ForegroundColor Cyan +Write-Host " API : $logApiOut" -ForegroundColor Cyan +Write-Host " Worker : $logWorkerOut" -ForegroundColor Cyan +Write-Host " Desktop : $logDesktopOut" -ForegroundColor Cyan +Write-Host ' Pour arreter : .\docs\stop_omika_test.ps1' -ForegroundColor Cyan diff --git a/docs/stop_omika_test.bat b/docs/stop_omika_test.bat new file mode 100644 index 0000000..885f5a6 --- /dev/null +++ b/docs/stop_omika_test.bat @@ -0,0 +1,8 @@ +@echo off +REM ============================================================ +REM OMIKA - Arret des processus de test local +REM ============================================================ +cd /d "%~dp0" +powershell -NoProfile -ExecutionPolicy Bypass -File "%~dp0stop_omika_test.ps1" +echo. +pause diff --git a/docs/stop_omika_test.ps1 b/docs/stop_omika_test.ps1 new file mode 100644 index 0000000..d0ae1de --- /dev/null +++ b/docs/stop_omika_test.ps1 @@ -0,0 +1,42 @@ +<# + OMIKA - Arret des processus de test local + ========================================= + Arrete les 3 composants lances par start_omika_test.ps1 : + - Omika.App.Desktop (application de bureau) ; + - Omika.Api (processus dotnet) ; + - Omika.Worker (processus dotnet). +#> +[CmdletBinding()] +param() + +$ErrorActionPreference = 'Continue' + +Write-Host '' +Write-Host 'Arret des processus Omika (test local)...' -ForegroundColor Yellow + +# 1. Application de bureau (nom de processus explicite). +$desktop = Get-Process -Name 'Omika.App.Desktop' -ErrorAction SilentlyContinue +if ($desktop) { + $desktop | Stop-Process -Force -ErrorAction SilentlyContinue + Write-Host ' Application de bureau arretee.' -ForegroundColor Green +} +else { + Write-Host ' Application de bureau : aucun processus.' -ForegroundColor DarkGray +} + +# 2. API et Worker (processus dotnet dont la ligne de commande mentionne le projet). +$dotnetProcs = Get-CimInstance Win32_Process -Filter "Name='dotnet.exe'" -ErrorAction SilentlyContinue | + Where-Object { $_.CommandLine -like '*Omika.Api*' -or $_.CommandLine -like '*Omika.Worker*' } + +if ($dotnetProcs) { + foreach ($proc in $dotnetProcs) { + Stop-Process -Id $proc.ProcessId -Force -ErrorAction SilentlyContinue + Write-Host " dotnet (PID $($proc.ProcessId)) arrete." -ForegroundColor Green + } +} +else { + Write-Host ' API / Worker : aucun processus.' -ForegroundColor DarkGray +} + +Write-Host '' +Write-Host 'Termine.' -ForegroundColor Cyan diff --git a/fix-sdk-locators.ps1 b/fix-sdk-locators.ps1 new file mode 100644 index 0000000..39bf383 --- /dev/null +++ b/fix-sdk-locators.ps1 @@ -0,0 +1,17 @@ +# Correctif MSB4276 : crée les fichiers "workload locator" attendus par le SDK. +# Doit être exécuté en tant qu'administrateur. +$sdk = "C:\Program Files\dotnet\sdk\10.0.400\Sdks" + +$d1 = "$sdk\Microsoft.NET.SDK.WorkloadAutoImportPropsLocator\Sdk" +$d2 = "$sdk\Microsoft.NET.SDK.WorkloadManifestTargetsLocator\Sdk" + +New-Item -ItemType Directory -Force -Path $d1 | Out-Null +New-Item -ItemType Directory -Force -Path $d2 | Out-Null +Set-Content -Path "$d1\AutoImport.props" -Value '' +Set-Content -Path "$d2\WorkloadManifest.targets" -Value '' + +if ((Test-Path "$d1\AutoImport.props") -and (Test-Path "$d2\WorkloadManifest.targets")) { + Write-Host "SUCCES : locators crees" -ForegroundColor Green +} else { + Write-Host "ECHEC : impossible de creer les locators" -ForegroundColor Red +} diff --git a/global.json b/global.json new file mode 100644 index 0000000..e27f06f --- /dev/null +++ b/global.json @@ -0,0 +1,6 @@ +{ + "sdk": { + "version": "10.0.302", + "rollForward": "latestPatch" + } +} diff --git a/infra/collector/collector-config.example.yaml b/infra/collector/collector-config.example.yaml new file mode 100644 index 0000000..052e7b3 --- /dev/null +++ b/infra/collector/collector-config.example.yaml @@ -0,0 +1,47 @@ +# ============================================================ +# OpenTelemetry Collector — configuration EXEMPLE (Phase 5) +# Destinée au Windows Server 2025 (Phase serveur). +# NE PAS installer sur le poste développeur (§47). +# +# Pipeline retenu : recevoir OTLP HTTP → batch → memory limiter +# → envoyer vers le backend Omika (→ PostgreSQL). Le transport +# exact Collector → backend Omika est finalisé en Phase serveur +# (§48/§49) : PAS d'exporter PostgreSQL maison, PAS de faux +# récepteur OTLP codé dans cette phase. +# ============================================================ +receivers: + otlp: + protocols: + http: + endpoint: 0.0.0.0:4318 + +processors: + batch: + send_batch_size: 512 + timeout: 2s + memory_limiter: + check_interval: 5s + limit_mib: 256 + spike_limit_mib: 64 + +exporters: + # Exporter PLACEHOLDER (standard). À remplacer par l'exporteur vers le + # backend Omika défini en Phase serveur. Aucun exporter PostgreSQL + # non standard n'est inventé ici (§48). + debug: + verbosity: basic + +service: + pipelines: + logs: + receivers: [otlp] + processors: [memory_limiter, batch] + exporters: [debug] + traces: + receivers: [otlp] + processors: [memory_limiter, batch] + exporters: [debug] + metrics: + receivers: [otlp] + processors: [memory_limiter, batch] + exporters: [debug] diff --git a/infra/deploy/Harden-DatabaseRoles.ps1 b/infra/deploy/Harden-DatabaseRoles.ps1 new file mode 100644 index 0000000..e82c9b6 --- /dev/null +++ b/infra/deploy/Harden-DatabaseRoles.ps1 @@ -0,0 +1,142 @@ +# ============================================================ +# Omika Diagnostic Center - Durcissement PostgreSQL (moindre privilege) +# Applique UNIQUEMENT 003_diagnostics_roles.sql (roles + ownership + grants). +# ============================================================ +# A executer SUR LE SERVEUR (Windows Server 2025), PowerShell administrateur, +# avec un compte PostgreSQL ADMINISTRATIF (superutilisateur, ex. postgres). +# +# Ce script est VOLONTAIREMENT SEPARE de Install-DatabaseSchema.ps1 : +# 003 transfere l'ownership et gere les roles -> contexte administrateur. +# 001/002 (schema) sont appliques par Install-DatabaseSchema.ps1. +# +# NOTE (V2) : Install-DatabaseSchema.ps1 applique desormais TOUTES les +# migrations 001 -> 016 dans l'ordre (schema + roles + grants). Ce script reste +# disponible pour n'appliquer QUE 003 (transition/back-compat) ; pour une +# installation complete, preferer Install-DatabaseSchema.ps1. +# +# Garanties : +# - AUCUN mot de passe en dur, AUCUN secret (les mots de passe des roles +# LOGIN sont definis MANUELLEMENT ensuite via psql : \password ). +# - AUCUN DROP, AUCUNE suppression de role/objet/donnee (003 est idempotent). +# - Ne touche PAS au role historique omika_diagnostics_app (transition). +# +# Usage : +# $env:PGPASSWORD = '...' # facultatif - sinon saisie masquee demandee +# .\Harden-DatabaseRoles.ps1 +# .\Harden-DatabaseRoles.ps1 -DatabaseDir "C:\Omika\Deploy\phase5b2\Database" +# .\Harden-DatabaseRoles.ps1 -PsqlPath "C:\Program Files\PostgreSQL\18\bin\psql.exe" +# .\Harden-DatabaseRoles.ps1 -Username postgres +# ============================================================ + +[CmdletBinding()] +param( + [string]$DatabaseDir, + [string]$PsqlPath, + [string]$PgHost = '127.0.0.1', + [int]$PgPort = 5432, + [string]$Database = 'omika_diagnostics', + [string]$Username = 'postgres' +) + +$ErrorActionPreference = 'Stop' + +# --- Resolution de DatabaseDir APRES le bloc param (bug $PSScriptRoot). +# Valeur par defaut : dossier frere "Database" du dossier du script. +if (-not $DatabaseDir) { + if ($PSScriptRoot) { + $DatabaseDir = Join-Path (Split-Path -Parent $PSScriptRoot) 'Database' + } +} +if (-not $DatabaseDir -or -not (Test-Path -LiteralPath $DatabaseDir)) { + Write-Error "Dossier des schemas introuvable : $DatabaseDir. Fournissez -DatabaseDir '\Database'." + exit 1 +} + +# --- Detection de psql.exe (ordre : -PsqlPath, PATH, C:\Program Files\PostgreSQL\*). +function Resolve-PsqlPath { + param([string]$ExplicitPath) + + if ($ExplicitPath) { + if (-not (Test-Path -LiteralPath $ExplicitPath)) { + Write-Error "PsqlPath fourni introuvable : $ExplicitPath" + exit 1 + } + return (Resolve-Path -LiteralPath $ExplicitPath).Path + } + + $inPath = Get-Command psql.exe -ErrorAction SilentlyContinue + if ($inPath) { + return $inPath.Source + } + + $candidates = @(Get-ChildItem -Path 'C:\Program Files\PostgreSQL\*\bin\psql.exe' -ErrorAction SilentlyContinue) + if ($candidates.Count -gt 0) { + $best = $candidates | ForEach-Object { + $version = 0 + $verDir = $_.Directory.Parent.Name + if ($verDir -match '^\d+$') { $version = [int]$verDir } + [PSCustomObject]@{ Path = $_.FullName; Version = $version } + } | Sort-Object -Property Version -Descending | Select-Object -First 1 + return $best.Path + } + + return $null +} + +$psqlExe = Resolve-PsqlPath -ExplicitPath $PsqlPath +if (-not $psqlExe) { + Write-Error "Client 'psql.exe' introuvable. Fournissez -PsqlPath ou installez le client PostgreSQL." + exit 1 +} +Write-Host "psql utilise : $psqlExe" + +# --- Mot de passe : priorite a PGPASSWORD deja present ; sinon saisie masquee. +$useExistingPgPassword = -not [string]::IsNullOrEmpty($env:PGPASSWORD) +if (-not $useExistingPgPassword) { + $secure = Read-Host "Mot de passe PostgreSQL (role '$Username', base '$Database')" -AsSecureString + $plain = [Runtime.InteropServices.Marshal]::PtrToStringAuto( + [Runtime.InteropServices.Marshal]::SecureStringToBSTR($secure)) + $env:PGPASSWORD = $plain + $plain = $null +} + +$sqlPath = Join-Path $DatabaseDir '003_diagnostics_roles.sql' +if (-not (Test-Path -LiteralPath $sqlPath)) { + throw "Migration de securite introuvable : $sqlPath" +} + +try { + Write-Host "Application du durcissement : 003_diagnostics_roles.sql (${PgHost}:${PgPort}/${Database}, role $Username) ..." + & $psqlExe ` + -h $PgHost ` + -p $PgPort ` + -U $Username ` + -d $Database ` + -v ON_ERROR_STOP=1 ` + -f $sqlPath + + if ($LASTEXITCODE -ne 0) { + throw "psql a echoue (exit $LASTEXITCODE) sur 003_diagnostics_roles.sql." + } + + Write-Host '' + Write-Host "Durcissement applique (idempotent)." -ForegroundColor Green + Write-Host "Roles : omika_diagnostics_owner (NOLOGIN), omika_diagnostics_worker, omika_diagnostics_web." + Write-Host "Worker : INSERT diagnostic_event + USAGE sequence. Web : SELECT diagnostic_event." + Write-Host '' + Write-Host "ETAPES MANUELLES SUIVANTES (jamais automatisees ici) :" -ForegroundColor Yellow + Write-Host " 1. Definir les mots de passe (psql connecte comme administrateur PostgreSQL) :" + Write-Host " \password omika_diagnostics_worker" + Write-Host " \password omika_diagnostics_web" + Write-Host " (jamais dans un script, un log, une commande en clair, ni PowerShell history)." + Write-Host " 2. Pointer Worker : Username=omika_diagnostics_worker ; Web : Username=omika_diagnostics_web" + Write-Host " (ConnectionStrings__DiagnosticsDatabase, secret injecte SUR LE SERVEUR uniquement)." + Write-Host " 3. Valider Worker (INSERT) et Web (SELECT)." + Write-Host " 4. SEULEMENT APRES validation : desactiver l'ancien role (action administrateur explicite) :" + Write-Host " ALTER ROLE omika_diagnostics_app NOLOGIN;" +} +finally { + if (-not $useExistingPgPassword) { + Remove-Item Env:PGPASSWORD -ErrorAction SilentlyContinue + } +} diff --git a/infra/deploy/Install-DatabaseSchema.ps1 b/infra/deploy/Install-DatabaseSchema.ps1 new file mode 100644 index 0000000..07de5f3 --- /dev/null +++ b/infra/deploy/Install-DatabaseSchema.ps1 @@ -0,0 +1,166 @@ +# ============================================================ +# Omika Diagnostic Center - Application IDEMPOTENTE du schema PostgreSQL +# Base dediee : omika_diagnostics (outil SUPPORT uniquement) +# ============================================================ +# A executer SUR LE SERVEUR (Windows Server 2025), PowerShell administrateur. +# NE JAMAIS executer ce script depuis un poste qui n'heberge pas PostgreSQL. +# +# APPLIQUE TOUTES LES MIGRATIONS Diagnostics DANS L'ORDRE (001 -> 016). +# Inclut le schema (001/002/005/006/007/008), les roles/moindre privilege +# (003/009), les tables administrables (010/011/012) et les GRANT de +# retention/suppression (004/013/014/015/016). +# +# CONTEXTE : a executer SUR LE SERVEUR avec un compte PostgreSQL SUPERUSER +# (ex. -Username postgres), car 003/009 font du CREATE ROLE / ALTER ... OWNER +# et les migrations de GRANT (004/013/014/015/016) requierent le superuser. +# +# Garanties : +# - AUCUN mot de passe en dur (jamais dans ce fichier, jamais affiche). +# - AUCUN DROP, AUCUNE suppression de base/table, AUCUNE migration destructive. +# - AUCUNE donnee ecrasee : applique via CREATE/ADD ... IF NOT EXISTS + GRANT idempotent. +# - Idempotent : une seconde execution est un no-op (schema deja present). +# - Applique les fichiers SQL DANS L'ORDRE (001 -> 016), avec ON_ERROR_STOP=1. +# - Exclut 003_diagnostics_roles_preprod.sql (preproduction uniquement). +# +# Usage : +# $env:PGPASSWORD = '...' # facultatif - sinon saisie masquee demandee +# .\Install-DatabaseSchema.ps1 +# .\Install-DatabaseSchema.ps1 -DatabaseDir "C:\Omika\Deploy\server-full\Database" +# .\Install-DatabaseSchema.ps1 -PsqlPath "C:\Program Files\PostgreSQL\18\bin\psql.exe" +# +# Note : le script Harden-DatabaseRoles.ps1 reste disponible pour n'appliquer +# QUE 003 (transition/back-compat) ; le present script couvre l'integralite. +# ============================================================ + +[CmdletBinding()] +param( + [string[]]$SchemaFiles = @( + '001_diagnostics_schema.sql', + '002_actor_key.sql', + '003_diagnostics_roles.sql', + '004_diagnostics_retention.sql', + '005_diagnostics_client_context.sql', + '006_diagnostics_device_license.sql', + '007_diagnostics_usage.sql', + '008_diagnostics_clients.sql', + '009_diagnostics_clients_grants.sql', + '010_diagnostics_web_users.sql', + '011_diagnostics_reference.sql', + '012_diagnostics_tasks.sql', + '013_diagnostics_tasks_delete.sql', + '014_diagnostics_telemetry_retention.sql', + '015_diagnostics_retention_untreated.sql', + '016_diagnostics_event_delete.sql' + ), + [string]$DatabaseDir, + [string]$PsqlPath, + [string]$PgHost = '127.0.0.1', + [int]$PgPort = 5432, + [string]$Database = 'omika_diagnostics', + [string]$Username = 'postgres' +) + +$ErrorActionPreference = 'Stop' + +# --- Resolution de DatabaseDir APRES le bloc param (bug : $PSScriptRoot est +# vide dans une valeur par defaut de param()). Valeur par defaut : dossier +# frere "Database" du dossier du script (layout package : phase5b2\Database +# + phase5b2\Deploy). +if (-not $DatabaseDir) { + if ($PSScriptRoot) { + $DatabaseDir = Join-Path (Split-Path -Parent $PSScriptRoot) 'Database' + } +} +if (-not $DatabaseDir -or -not (Test-Path -LiteralPath $DatabaseDir)) { + Write-Error "Dossier des schemas introuvable : $DatabaseDir. Fournissez -DatabaseDir '\Database'." + exit 1 +} + +# --- Detection de psql.exe (ordre : -PsqlPath explicite, puis PATH, puis +# C:\Program Files\PostgreSQL\*\bin\psql.exe en choisissant la version la +# plus elevee de maniere deterministe). +function Resolve-PsqlPath { + param([string]$ExplicitPath) + + if ($ExplicitPath) { + if (-not (Test-Path -LiteralPath $ExplicitPath)) { + Write-Error "PsqlPath fourni introuvable : $ExplicitPath" + exit 1 + } + return (Resolve-Path -LiteralPath $ExplicitPath).Path + } + + $inPath = Get-Command psql.exe -ErrorAction SilentlyContinue + if ($inPath) { + return $inPath.Source + } + + $candidates = @(Get-ChildItem -Path 'C:\Program Files\PostgreSQL\*\bin\psql.exe' -ErrorAction SilentlyContinue) + if ($candidates.Count -gt 0) { + $best = $candidates | ForEach-Object { + $version = 0 + $verDir = $_.Directory.Parent.Name + if ($verDir -match '^\d+$') { $version = [int]$verDir } + [PSCustomObject]@{ Path = $_.FullName; Version = $version } + } | Sort-Object -Property Version -Descending | Select-Object -First 1 + return $best.Path + } + + return $null +} + +$psqlExe = Resolve-PsqlPath -ExplicitPath $PsqlPath +if (-not $psqlExe) { + Write-Error "Client 'psql.exe' introuvable. Fournissez -PsqlPath ou placez le client PostgreSQL dans le PATH." + exit 1 +} +Write-Host "psql utilise : $psqlExe" + +# --- Mot de passe : priorite a PGPASSWORD deja present ; sinon saisie masquee. +# Le mot de passe n'est JAMAIS ecrit dans un fichier ni affiche a l'ecran. +$useExistingPgPassword = -not [string]::IsNullOrEmpty($env:PGPASSWORD) +if (-not $useExistingPgPassword) { + $secure = Read-Host "Mot de passe PostgreSQL (role '$Username', base '$Database')" -AsSecureString + $plain = [Runtime.InteropServices.Marshal]::PtrToStringAuto( + [Runtime.InteropServices.Marshal]::SecureStringToBSTR($secure)) + $env:PGPASSWORD = $plain + $plain = $null +} + +try { + foreach ($schemaFile in $SchemaFiles) { + $sqlPath = Join-Path $DatabaseDir $schemaFile + if (-not (Test-Path -LiteralPath $sqlPath)) { + throw "Fichier de schema introuvable : $sqlPath" + } + + Write-Host "Application du schema IDEMPOTENT : $schemaFile (${PgHost}:${PgPort}/${Database}, role $Username) ..." + & $psqlExe ` + -h $PgHost ` + -p $PgPort ` + -U $Username ` + -d $Database ` + -v ON_ERROR_STOP=1 ` + -f $sqlPath + + if ($LASTEXITCODE -ne 0) { + throw "psql a echoue (exit $LASTEXITCODE) sur $schemaFile. Aucune modification destructive possible (CREATE/ADD IF NOT EXISTS uniquement)." + } + } + + Write-Host '' + Write-Host "Migrations appliquees (idempotent, fichiers dans l'ordre 001 -> 016)." -ForegroundColor Green + Write-Host "Tables : diagnostic_event, telemetry_metric_hourly, diagnostics_clients," + Write-Host " diagnostics_users, diagnostics_reference, diagnostics_tasks." + Write-Host "Roles : omika_diagnostics_owner/worker/web/api. Aucune donnee ecrasee." + Write-Host '' + Write-Host "Rappel : definir les mots de passe des roles LOGIN manuellement (jamais ici) :" -ForegroundColor Yellow + Write-Host " \password omika_diagnostics_worker" + Write-Host " \password omika_diagnostics_web" + Write-Host " \password omika_diagnostics_api" +} +finally { + if (-not $useExistingPgPassword) { + Remove-Item Env:PGPASSWORD -ErrorAction SilentlyContinue + } +} diff --git a/infra/deploy/Install-OmikaApi.ps1 b/infra/deploy/Install-OmikaApi.ps1 new file mode 100644 index 0000000..f32d19a --- /dev/null +++ b/infra/deploy/Install-OmikaApi.ps1 @@ -0,0 +1,125 @@ +# ============================================================ +# Omika - Installation du service Windows OmikaApi (deploiement 1/6) +# ============================================================ +# CIBLE : Windows Server 2025 (SRV-OMIKA), PowerShell ADMINISTRATEUR. +# NE PAS executer depuis le poste de developpement. +# +# CE QUE CE SCRIPT FAIT : +# 1. Cree les dossiers propres a l'API (journalisation + spool JSONL). +# 2. Pose les ACL NTFS minimales (avec CONTROLE du code retour d'icacls). +# 3. Valide le compte de service (existence + droit de connexion). +# 4. Cree le service Windows OmikaApi (idempotent, StartupType Manual). +# 5. Verifie ce qui a ete reellement cree (binaire, compte, etat). +# +# CE QU'IL NE FAIT PAS : +# - AUCUN demarrage de service. +# - AUCUN secret ecrit (variables d'environnement = action manuelle). +# - AUCUNE regle firewall, AUCUN IIS, AUCUNE modification HFSQL/PostgreSQL. +# - AUCUNE copie de binaires (voir Install-OmikaServerFiles.ps1). +# +# PREREQUIS MANUELS : +# - Le compte local dedie existe et possede le droit « Ouvrir une session en +# tant que service » (secpol.msc). Ce script le VERIFIE et avertit. +# - La publication est deja copiee dans \Apps\OmikaApi +# (Omika.Api.exe present). +# +# IDEMPOTENT : une seconde execution ne recree rien et signale toute divergence +# entre le service existant et le binaire/compte attendus. +# Prend en charge -WhatIf (aucune modification reelle). +# +# EXEMPLES : +# .\Install-OmikaApi.ps1 +# .\Install-OmikaApi.ps1 -WhatIf +# .\Install-OmikaApi.ps1 -Desinstaller # rollback du service +# ============================================================ + +[CmdletBinding(SupportsShouldProcess = $true)] +param( + [string]$InstallRoot = 'C:\Omika', + [string]$ServiceName = 'OmikaApi', + [string]$Account = '.\svc_omika_api', + + [ValidateSet('Manual', 'Automatic', 'Disabled')] + [string]$StartupType = 'Manual', + + # Rollback : supprime le service (refuse si le service tourne encore). + [switch]$Desinstaller +) + +$ErrorActionPreference = 'Stop' + +Import-Module (Join-Path $PSScriptRoot 'Omika.Deploy.Common.psm1') -Force + +# Le module a son propre etat de session : $WhatIfPreference ne s'y propage pas. +$Simulation = [bool]$WhatIfPreference + +# --- Definition du service --------------------------------------------------- +$NomAffiche = 'Omika Api' +$DossierApps = 'OmikaApi' +$Executable = 'Omika.Api.exe' +$Description = 'Omika - API metier (Kestrel) : bootstrap mobile, synchronisation, documents, exposition SRV_LANGUES.' + +# Dossiers dont CE service est proprietaire (droit Modifier). +$DossiersModifier = @( + 'Logs\Api', + 'Data\Api\Diagnostics\Jsonl' +) + +try { + Assert-OmikaAdmin + $chemins = Get-OmikaPaths -InstallRoot $InstallRoot + $cheminExe = Join-Path (Join-Path $chemins.Apps $DossierApps) $Executable + + # --- Rollback ------------------------------------------------------------ + if ($Desinstaller) { + Write-OmikaStep "Desinstallation du service $ServiceName" + Remove-OmikaService -Name $ServiceName -WhatIf:$Simulation | Out-Null + Write-OmikaServiceSummary -Name $ServiceName -Supprime + exit 0 + } + + # --- 1. Dossiers --------------------------------------------------------- + Write-OmikaStep 'Dossiers du service' + foreach ($relatif in $DossiersModifier) { + New-OmikaDirectory -Path (Join-Path $InstallRoot $relatif) -WhatIf:$Simulation | Out-Null + } + + # --- 2. ACL -------------------------------------------------------------- + Write-OmikaStep 'ACL NTFS minimales' + foreach ($relatif in $DossiersModifier) { + Grant-OmikaAcl -Path (Join-Path $InstallRoot $relatif) -Account $Account -Right 'M' ` + -RequireExisting -WhatIf:$Simulation | Out-Null + } + + # --- 3. Compte de service ------------------------------------------------ + Write-OmikaStep 'Compte de service' + Assert-OmikaServiceAccount -Account $Account | Out-Null + + # --- 4. Service Windows -------------------------------------------------- + Write-OmikaStep "Creation du service Windows ($StartupType)" + Install-OmikaService -Name $ServiceName -DisplayName $NomAffiche ` + -ExePath $cheminExe -Account $Account -Description $Description ` + -StartupType $StartupType -WhatIf:$Simulation | Out-Null + + # --- 5. Recapitulatif ---------------------------------------------------- + Write-OmikaServiceSummary -Name $ServiceName -ExePath $cheminExe -Account $Account -Rappels @( + 'Injecter les secrets en variables MACHINE (aucun secret dans ce script) :' + ' Hfsql / LicenseConnection / SyncConnection / ServiceConnection / FilePasswords' + ' ConnectionStrings__DiagnosticsDatabase (si l''API lit PostgreSQL)' + ' DiagnosticsIdentity__HmacKey (ActorKey, min 256 bits Base64)' + ' MobileAuth__SigningKey (OBLIGATOIRE : echec au demarrage sinon)' + ' DiagnosticDeployment__ClientCode / __ServerInstanceId' + ' Observability__Remote__Directory (IDENTIQUE au Worker Diagnostics)' + ' ASPNETCORE_ENVIRONMENT=Production' + ' ASPNETCORE_URLS=http://127.0.0.1:' + 'Verifier le provider OLE DB PCSOFT.HFSQL (64 bits) enregistre.' + 'Installer LibreOffice si la generation PDF des rapports est utilisee.' + 'DiagnosticsForwarding__Enabled reste false : ne l''activer que pour un serveur client distant.' + ) + + exit 0 +} +catch { + Write-OmikaFail $_.Exception.Message + exit 1 +} diff --git a/infra/deploy/Install-OmikaDiagnosticsApi.ps1 b/infra/deploy/Install-OmikaDiagnosticsApi.ps1 new file mode 100644 index 0000000..f2469d4 --- /dev/null +++ b/infra/deploy/Install-OmikaDiagnosticsApi.ps1 @@ -0,0 +1,133 @@ +# ============================================================ +# Omika - Installation du service Windows OmikaDiagnosticsApi (deploiement 5/6) +# ============================================================ +# CIBLE : Windows Server 2025 (SRV-OMIKA), PowerShell ADMINISTRATEUR. +# NE PAS executer depuis le poste de developpement. +# +# A QUOI SERT CE SERVICE : +# API centrale qui RECOIT les lots de diagnostics envoyes par les serveurs +# clients distants (multi-serveur uniquement). Sur un SRV-OMIKA mono-serveur +# (l'API ecrit son JSONL localement), ce service est INUTILE : ne pas le +# deployer, ou le laisser arrete. +# +# CE QUE CE SCRIPT FAIT : +# 1. Cree le dossier du spool central + journalisation. +# 2. Pose les ACL NTFS minimales (Modifier sur le spool central). +# 3. Valide le compte de service (existence + droit de connexion). +# 4. Cree le service Windows OmikaDiagnosticsApi (idempotent, Manual). +# 5. Verifie ce qui a ete reellement cree. +# +# CE QU'IL NE FAIT PAS : +# - AUCUN demarrage de service, AUCUN secret ecrit, AUCUNE migration SQL. +# - AUCUNE cle de client Diagnostics (se cree dans l'interface Web). +# +# PREREQUIS MANUELS : +# - Compte local dedie + droit « Ouvrir une session en tant que service ». +# - Publication copiee dans \Apps\DiagnosticsApi. +# - La table des clients Diagnostics existe (migration 006). +# - Au moins un client enregistre (OmikaDiagnosticsWeb -> Clients Diagnostics). +# +# IDEMPOTENT - prend en charge -WhatIf. +# +# EXEMPLES : +# .\Install-OmikaDiagnosticsApi.ps1 +# .\Install-OmikaDiagnosticsApi.ps1 -WhatIf +# .\Install-OmikaDiagnosticsApi.ps1 -Desinstaller +# ============================================================ + +[CmdletBinding(SupportsShouldProcess = $true)] +param( + [string]$InstallRoot = 'C:\Omika', + [string]$ServiceName = 'OmikaDiagnosticsApi', + [string]$Account = '.\svc_omika_diagapi', + + # Compte du service OmikaDiagnosticsWorker : lecteur du spool central. + [string]$AccountWorker = '.\svc_omika_diag', + + [ValidateSet('Manual', 'Automatic', 'Disabled')] + [string]$StartupType = 'Manual', + + [switch]$Desinstaller +) + +$ErrorActionPreference = 'Stop' + +Import-Module (Join-Path $PSScriptRoot 'Omika.Deploy.Common.psm1') -Force + +# Le module a son propre etat de session : $WhatIfPreference ne s'y propage pas. +$Simulation = [bool]$WhatIfPreference + +# --- Definition du service --------------------------------------------------- +$NomAffiche = 'Omika Diagnostics Api' +$DossierApps = 'DiagnosticsApi' +$Executable = 'Omika.Diagnostics.Api.exe' +$Description = 'Omika - API centrale de reception des lots de diagnostics (multi-serveur, cle client, spool central).' + +$DossiersModifier = @( + 'Logs\DiagnosticsApi', + 'Data\DiagnosticsApi\Central' +) + +try { + Assert-OmikaAdmin + $chemins = Get-OmikaPaths -InstallRoot $InstallRoot + $cheminExe = Join-Path (Join-Path $chemins.Apps $DossierApps) $Executable + + # --- Rollback ------------------------------------------------------------ + if ($Desinstaller) { + Write-OmikaStep "Desinstallation du service $ServiceName" + Remove-OmikaService -Name $ServiceName -WhatIf:$Simulation | Out-Null + Write-OmikaServiceSummary -Name $ServiceName -Supprime + exit 0 + } + + # --- 1. Dossiers --------------------------------------------------------- + Write-OmikaStep 'Dossiers du service' + foreach ($relatif in $DossiersModifier) { + New-OmikaDirectory -Path (Join-Path $InstallRoot $relatif) -WhatIf:$Simulation | Out-Null + } + + # --- 2. ACL -------------------------------------------------------------- + Write-OmikaStep 'ACL NTFS minimales' + + # 2a. Spool central + logs : ce service ecrit. + foreach ($relatif in $DossiersModifier) { + Grant-OmikaAcl -Path (Join-Path $InstallRoot $relatif) -Account $Account -Right 'M' ` + -RequireExisting -WhatIf:$Simulation | Out-Null + } + + # 2b. Le Worker Diagnostics doit pouvoir LIRE le spool central. + # Le dossier vient d'etre cree ci-dessus, il existe donc forcement. + Grant-OmikaAcl -Path (Join-Path $InstallRoot 'Data\DiagnosticsApi\Central') ` + -Account $AccountWorker -Right 'R' -RequireExisting -WhatIf:$Simulation | Out-Null + + # --- 3. Compte de service ------------------------------------------------ + Write-OmikaStep 'Compte de service' + Assert-OmikaServiceAccount -Account $Account | Out-Null + + # --- 4. Service Windows -------------------------------------------------- + Write-OmikaStep "Creation du service Windows ($StartupType)" + Install-OmikaService -Name $ServiceName -DisplayName $NomAffiche ` + -ExePath $cheminExe -Account $Account -Description $Description ` + -StartupType $StartupType -WhatIf:$Simulation | Out-Null + + # --- 5. Recapitulatif ---------------------------------------------------- + Write-OmikaServiceSummary -Name $ServiceName -ExePath $cheminExe -Account $Account -Rappels @( + 'Injecter les secrets en variables MACHINE (aucun secret dans ce script) :' + ' ConnectionStrings__DiagnosticsDatabase=' + ' Diagnostics__Central__Directory=' + ' ASPNETCORE_ENVIRONMENT=Production' + ' ASPNETCORE_URLS=http://127.0.0.1:' + 'ENREGISTRER LES CLIENTS : OmikaDiagnosticsWeb -> Clients Diagnostics -> Nouveau client.' + ' La cle n''est affichee QU''UNE FOIS : la copier immediatement.' + 'Cote serveur client, activer alors DiagnosticsForwarding__Enabled=true + Endpoint + ApiKey.' + 'Exposer en HTTPS via le reverse proxy Apache : jamais Kestrel en direct.' + 'Sur un serveur MONO-SERVEUR, ce service n''est pas necessaire.' + ) + + exit 0 +} +catch { + Write-OmikaFail $_.Exception.Message + exit 1 +} diff --git a/infra/deploy/Install-OmikaDiagnosticsWeb.ps1 b/infra/deploy/Install-OmikaDiagnosticsWeb.ps1 new file mode 100644 index 0000000..94d3ebd --- /dev/null +++ b/infra/deploy/Install-OmikaDiagnosticsWeb.ps1 @@ -0,0 +1,144 @@ +# ============================================================ +# Omika - Installation du service Windows OmikaDiagnosticsWeb (deploiement 4/6) +# ============================================================ +# CIBLE : Windows Server 2025 (SRV-OMIKA), PowerShell ADMINISTRATEUR. +# NE PAS executer depuis le poste de developpement. +# +# CE QUE CE SCRIPT FAIT : +# 1. Cree le dossier de journalisation. +# 2. Pose les ACL NTFS minimales (avec CONTROLE du code retour d'icacls). +# 3. CONTROLE qu'aucun appsettings.Development.json n'est present dans la +# publication (default-deny : un fichier de dev ferait tomber les +# protections Production). +# 4. Valide le compte de service (existence + droit de connexion). +# 5. Cree le service Windows OmikaDiagnosticsWeb (idempotent, Manual). +# 6. Verifie ce qui a ete reellement cree. +# +# CE QU'IL NE FAIT PAS : +# - AUCUN demarrage de service, AUCUN secret ecrit, AUCUNE migration SQL. +# - AUCUN certificat TLS (pose sur le reverse proxy Apache). +# +# PREREQUIS MANUELS : +# - Compte local dedie + droit « Ouvrir une session en tant que service ». +# - Publication copiee dans \Apps\DiagnosticsWeb. +# - PostgreSQL joignable + migrations 001 -> 010 appliquees. +# - Premier Admin : voir DEPLOIEMENT_PRODUCTION_DIAGNOSTICS.md §22 (12 etapes). +# +# IDEMPOTENT - prend en charge -WhatIf. +# +# EXEMPLES : +# .\Install-OmikaDiagnosticsWeb.ps1 +# .\Install-OmikaDiagnosticsWeb.ps1 -WhatIf +# .\Install-OmikaDiagnosticsWeb.ps1 -Desinstaller +# ============================================================ + +[CmdletBinding(SupportsShouldProcess = $true)] +param( + [string]$InstallRoot = 'C:\Omika', + [string]$ServiceName = 'OmikaDiagnosticsWeb', + [string]$Account = '.\svc_omika_diagweb', + + [ValidateSet('Manual', 'Automatic', 'Disabled')] + [string]$StartupType = 'Manual', + + [switch]$Desinstaller +) + +$ErrorActionPreference = 'Stop' + +Import-Module (Join-Path $PSScriptRoot 'Omika.Deploy.Common.psm1') -Force + +# Le module a son propre etat de session : $WhatIfPreference ne s'y propage pas. +$Simulation = [bool]$WhatIfPreference + +# --- Definition du service --------------------------------------------------- +$NomAffiche = 'Omika Diagnostics Web' +$DossierApps = 'DiagnosticsWeb' +$Executable = 'Omika.Diagnostics.Web.exe' +$Description = 'Omika - Interface web de consultation des diagnostics (Kestrel derriere reverse proxy Apache, HTTPS).' + +$DossiersModifier = @( + 'Logs\DiagnosticsWeb' +) + +try { + Assert-OmikaAdmin + $chemins = Get-OmikaPaths -InstallRoot $InstallRoot + $dossierPublie = Join-Path $chemins.Apps $DossierApps + $cheminExe = Join-Path $dossierPublie $Executable + + # --- Rollback ------------------------------------------------------------ + if ($Desinstaller) { + Write-OmikaStep "Desinstallation du service $ServiceName" + Remove-OmikaService -Name $ServiceName -WhatIf:$Simulation | Out-Null + Write-OmikaServiceSummary -Name $ServiceName -Supprime + exit 0 + } + + # --- 1. Dossiers --------------------------------------------------------- + Write-OmikaStep 'Dossiers du service' + foreach ($relatif in $DossiersModifier) { + New-OmikaDirectory -Path (Join-Path $InstallRoot $relatif) -WhatIf:$Simulation | Out-Null + } + + # --- 2. ACL -------------------------------------------------------------- + Write-OmikaStep 'ACL NTFS minimales' + foreach ($relatif in $DossiersModifier) { + Grant-OmikaAcl -Path (Join-Path $InstallRoot $relatif) -Account $Account -Right 'M' ` + -RequireExisting -WhatIf:$Simulation | Out-Null + } + + # --- 3. Controle default-deny ------------------------------------------- + Write-OmikaStep 'Controle de la publication (default-deny)' + if (Test-Path -LiteralPath $dossierPublie) { + $fichiersInterdits = @('appsettings.Development.json', 'appsettings.Test.json') + $trouve = $false + foreach ($nom in $fichiersInterdits) { + $chemin = Join-Path $dossierPublie $nom + if (Test-Path -LiteralPath $chemin) { + Write-OmikaWarn "Fichier de developpement PRESENT dans la publication : $nom" + Write-OmikaWarn ' -> la configuration de developpement peut desactiver les protections Production.' + Write-OmikaWarn ' -> supprimez-le de la publication avant de demarrer le service.' + $trouve = $true + } + } + if (-not $trouve) { + Write-OmikaOk 'Aucun fichier de configuration de developpement dans la publication.' + } + } + else { + Write-OmikaWarn "Publication absente : $dossierPublie (deployez les binaires d'abord)." + } + + # --- 4. Compte de service ------------------------------------------------ + Write-OmikaStep 'Compte de service' + Assert-OmikaServiceAccount -Account $Account | Out-Null + + # --- 5. Service Windows -------------------------------------------------- + Write-OmikaStep "Creation du service Windows ($StartupType)" + Install-OmikaService -Name $ServiceName -DisplayName $NomAffiche ` + -ExePath $cheminExe -Account $Account -Description $Description ` + -StartupType $StartupType -WhatIf:$Simulation | Out-Null + + # --- 6. Recapitulatif ---------------------------------------------------- + Write-OmikaServiceSummary -Name $ServiceName -ExePath $cheminExe -Account $Account -Rappels @( + 'Injecter les secrets en variables MACHINE (aucun secret dans ce script) :' + ' ConnectionStrings__DiagnosticsDatabase=Host=127.0.0.1;Port=5432;Database=omika_diagnostics;Username=omika_diagnostics_web;Password=' + ' ASPNETCORE_ENVIRONMENT=Production (OBLIGATOIRE : default-deny, PAS Development)' + ' ASPNETCORE_URLS=http://127.0.0.1:' + ' DiagnosticsWeb__PathBase=' + 'Premier Admin (DEPLOIEMENT_PRODUCTION_DIAGNOSTICS.md §22) :' + ' 1. configurer TEMPORAIREMENT DiagnosticsAuth__Operators__0__Username / __PasswordHash / __Roles__0=Admin' + ' 2. demarrer, se connecter, creer l''Admin DB dans /Users' + ' 3. RETIRER l''operateur bootstrap (DiagnosticsAuth:Operators = []) puis redemarrer' + ' 4. confirmer que le bootstrap est refuse et que l''Admin DB fonctionne' + 'Les mots de passe ne sont JAMAIS dans un appsettings versionne (hash uniquement).' + 'Exposer en HTTPS via le reverse proxy Apache, jamais Kestrel en direct.' + ) + + exit 0 +} +catch { + Write-OmikaFail $_.Exception.Message + exit 1 +} diff --git a/infra/deploy/Install-OmikaDiagnosticsWorker.ps1 b/infra/deploy/Install-OmikaDiagnosticsWorker.ps1 new file mode 100644 index 0000000..3a0c384 --- /dev/null +++ b/infra/deploy/Install-OmikaDiagnosticsWorker.ps1 @@ -0,0 +1,146 @@ +# ============================================================ +# Omika - Installation du service Windows OmikaDiagnosticsWorker (deploiement 3/6) +# ============================================================ +# CIBLE : Windows Server 2025 (SRV-OMIKA), PowerShell ADMINISTRATEUR. +# NE PAS executer depuis le poste de developpement. +# +# CE QUE CE SCRIPT FAIT : +# 1. Cree le dossier de checkpoint (propre au Worker) + journalisation. +# 2. Pose les ACL : +# - Modifier sur ses propres dossiers (checkpoint, logs) ; +# - LECTURE SEULE sur le spool JSONL de l'API et le spool central. +# 3. Valide le compte de service (existence + droit de connexion). +# 4. Cree le service Windows OmikaDiagnosticsWorker (idempotent, Manual). +# 5. Verifie ce qui a ete reellement cree. +# +# CE QU'IL NE FAIT PAS : +# - AUCUN demarrage de service. +# - AUCUN secret ecrit, AUCUNE migration PostgreSQL appliquee. +# - AUCUN demarrage du Worker pendant une migration (l'ordre est manuel). +# +# PREREQUIS MANUELS : +# - Compte local dedie + droit « Ouvrir une session en tant que service ». +# - Publication copiee dans \Apps\DiagnosticsWorker +# (Omika.Diagnostics.Worker.exe). +# - PostgreSQL joignable ET migrations 001 -> 010 appliquees +# (l'ordre sur est : migration d'abord, binaires ensuite). +# +# IDEMPOTENT - prend en charge -WhatIf. +# +# EXEMPLES : +# .\Install-OmikaDiagnosticsWorker.ps1 +# .\Install-OmikaDiagnosticsWorker.ps1 -WhatIf +# .\Install-OmikaDiagnosticsWorker.ps1 -Desinstaller +# ============================================================ + +[CmdletBinding(SupportsShouldProcess = $true)] +param( + [string]$InstallRoot = 'C:\Omika', + [string]$ServiceName = 'OmikaDiagnosticsWorker', + [string]$Account = '.\svc_omika_diag', + + # Compte du service OmikaApi : proprietaire du spool JSONL. + [string]$AccountApi = '.\svc_omika_api', + + # Compte du service OmikaDiagnosticsApi : proprietaire du spool central. + [string]$AccountDiagApi = '.\svc_omika_diagapi', + + [ValidateSet('Manual', 'Automatic', 'Disabled')] + [string]$StartupType = 'Manual', + + [switch]$Desinstaller +) + +$ErrorActionPreference = 'Stop' + +Import-Module (Join-Path $PSScriptRoot 'Omika.Deploy.Common.psm1') -Force + +# Le module a son propre etat de session : $WhatIfPreference ne s'y propage pas. +$Simulation = [bool]$WhatIfPreference + +# --- Definition du service --------------------------------------------------- +$NomAffiche = 'Omika Diagnostics Worker' +$DossierApps = 'DiagnosticsWorker' +$Executable = 'Omika.Diagnostics.Worker.exe' +$Description = 'Omika - Importateur asynchrone des diagnostics JSONL vers PostgreSQL (fail-open, checkpoint persistant).' + +# Dossiers que CE service possede (crees ici + droit Modifier). +$DossiersModifier = @( + 'Logs\DiagnosticsWorker', + 'Data\DiagnosticsWorker\Checkpoint' +) + +# Dossiers d'AUTRES services : lecture seule, jamais crees ici. +# Absents = normal si le service proprietaire n'est pas encore deploye. +$DossiersLecture = @( + @{ Relatif = 'Data\Api\Diagnostics\Jsonl'; Proprietaire = 'Install-OmikaApi.ps1' }, + @{ Relatif = 'Data\DiagnosticsApi\Central'; Proprietaire = 'Install-OmikaDiagnosticsApi.ps1' } +) + +try { + Assert-OmikaAdmin + $chemins = Get-OmikaPaths -InstallRoot $InstallRoot + $cheminExe = Join-Path (Join-Path $chemins.Apps $DossierApps) $Executable + + # --- Rollback ------------------------------------------------------------ + if ($Desinstaller) { + Write-OmikaStep "Desinstallation du service $ServiceName" + Remove-OmikaService -Name $ServiceName -WhatIf:$Simulation | Out-Null + Write-OmikaServiceSummary -Name $ServiceName -Supprime + exit 0 + } + + # --- 1. Dossiers propres ------------------------------------------------- + Write-OmikaStep 'Dossiers du service' + foreach ($relatif in $DossiersModifier) { + New-OmikaDirectory -Path (Join-Path $InstallRoot $relatif) -WhatIf:$Simulation | Out-Null + } + + # --- 2. ACL -------------------------------------------------------------- + Write-OmikaStep 'ACL NTFS minimales' + + # 2a. Ses propres dossiers : droit Modifier. + foreach ($relatif in $DossiersModifier) { + Grant-OmikaAcl -Path (Join-Path $InstallRoot $relatif) -Account $Account -Right 'M' ` + -RequireExisting -WhatIf:$Simulation | Out-Null + } + + # 2b. Lecture seule sur les spools produits par d'autres services. + foreach ($entree in $DossiersLecture) { + $cible = Join-Path $InstallRoot $entree.Relatif + if (-not (Test-Path -LiteralPath $cible)) { + Write-OmikaWarn "Spool absent : $cible" + Write-OmikaWarn (" -> normal si {0} n'est pas encore deploye ; relancez ce script ensuite." -f $entree.Proprietaire) + continue + } + Grant-OmikaAcl -Path $cible -Account $Account -Right 'R' -WhatIf:$Simulation | Out-Null + } + + # --- 3. Compte de service ------------------------------------------------ + Write-OmikaStep 'Compte de service' + Assert-OmikaServiceAccount -Account $Account | Out-Null + + # --- 4. Service Windows -------------------------------------------------- + Write-OmikaStep "Creation du service Windows ($StartupType)" + Install-OmikaService -Name $ServiceName -DisplayName $NomAffiche ` + -ExePath $cheminExe -Account $Account -Description $Description ` + -StartupType $StartupType -WhatIf:$Simulation | Out-Null + + # --- 5. Recapitulatif ---------------------------------------------------- + Write-OmikaServiceSummary -Name $ServiceName -ExePath $cheminExe -Account $Account -Rappels @( + 'Injecter les secrets en variables MACHINE (aucun secret dans ce script) :' + ' ConnectionStrings__DiagnosticsDatabase=Host=127.0.0.1;Port=5432;Database=omika_diagnostics;Username=omika_diagnostics_worker;Password=' + ' Observability__Remote__Directory=' + ' Diagnostics__Import__CheckpointDirectory=' + ' Diagnostics__RetentionDays / Diagnostics__RetentionIntervalHours / Diagnostics__RetentionBatchSize' + 'Appliquer les migrations PostgreSQL 001 -> 010 dans l''ordre AVANT de demarrer.' + 'Verifier que la migration de retention (004) est appliquee (DELETE/SELECT).' + 'Le spool central n''est utile qu''en architecture multi-serveur.' + ) + + exit 0 +} +catch { + Write-OmikaFail $_.Exception.Message + exit 1 +} diff --git a/infra/deploy/Install-OmikaLanguesApi.ps1 b/infra/deploy/Install-OmikaLanguesApi.ps1 new file mode 100644 index 0000000..552fd63 --- /dev/null +++ b/infra/deploy/Install-OmikaLanguesApi.ps1 @@ -0,0 +1,166 @@ +# ============================================================ +# Omika - Installation du service Windows OmikaLanguesApi (deploiement 6/6) +# ============================================================ +# CIBLE : Windows Server 2025 (SRV-OMIKA), PowerShell ADMINISTRATEUR. +# NE PAS executer depuis le poste de developpement. +# +# A QUOI SERT CE SERVICE : +# Service dedie au telechargement des modeles de langue ONNX (traduction hors +# ligne mobile). STATELESS : aucun acces HFSQL, aucune authentification +# (les modeles sont des fichiers generiques publics). Le mobile obtient son +# URL de base via le parametre HFSQL SRV_LANGUES, expose par Omika.Api au +# bootstrap. +# +# CE QUE CE SCRIPT FAIT : +# 1. Cree le dossier des modeles et le dossier de journalisation. +# 2. Pose les ACL NTFS minimales : LECTURE SEULE sur les modeles +# (le service ne fait que les lire et les streamer). +# 3. Valide le compte de service (existence + droit de connexion). +# 4. CONTROLE la disponibilite du port loopback, si -Port est fourni. +# 5. Cree le service Windows OmikaLanguesApi (idempotent, Manual). +# 6. Verifie ce qui a ete reellement cree. +# +# CE QU'IL NE FAIT PAS : +# - AUCUN demarrage de service. +# - AUCUN port choisi en dur : voir -Port et DEPLOIEMENT_API_LANGUES.md §6bis. +# - AUCUN modele telecharge, AUCUN manifest.json ecrit. +# - AUCUNE ligne SRV_LANGUES ecrite dans HFSQL. +# +# PREREQUIS MANUELS : +# - Compte local dedie + droit « Ouvrir une session en tant que service ». +# - Publication copiee dans \Apps\LanguesApi. +# - Le service doit contenir UseWindowsService() : sans lui, le demarrage +# echoue avec l'erreur 1053 (« le service n'a pas repondu a temps »). +# +# IDEMPOTENT - prend en charge -WhatIf. +# +# EXEMPLES : +# .\Install-OmikaLanguesApi.ps1 -Port 5099 +# .\Install-OmikaLanguesApi.ps1 -Port 5099 -WhatIf +# .\Install-OmikaLanguesApi.ps1 -Desinstaller +# ============================================================ + +[CmdletBinding(SupportsShouldProcess = $true)] +param( + [string]$InstallRoot = 'C:\Omika', + [string]$ServiceName = 'OmikaLanguesApi', + [string]$Account = '.\svc_omika_langues', + + # Port loopback a verifier AVANT de le fixer dans ASPNETCORE_URLS. + # Aucune valeur par defaut : le port se decide contre le plan Apache + # (DEPLOIEMENT_API_LANGUES.md §6bis), jamais en recopiant un exemple. + [ValidateRange(1, 65535)] + [int]$Port = 0, + + # Dossier racine des modeles (variable Langues__RootPath). + [string]$RootPathLangues, + + [ValidateSet('Manual', 'Automatic', 'Disabled')] + [string]$StartupType = 'Manual', + + [switch]$Desinstaller +) + +$ErrorActionPreference = 'Stop' + +Import-Module (Join-Path $PSScriptRoot 'Omika.Deploy.Common.psm1') -Force + +# Le module a son propre etat de session : $WhatIfPreference ne s'y propage pas. +$Simulation = [bool]$WhatIfPreference + +# --- Definition du service --------------------------------------------------- +$NomAffiche = 'Omika Langues Api' +$DossierApps = 'LanguesApi' +$Executable = 'Omika.Langues.Api.exe' +$Description = 'Omika - API de telechargement des modeles de langue (ONNX) pour la traduction hors ligne mobile. Anonyme, sans base de donnees.' + +if (-not $RootPathLangues) { $RootPathLangues = Join-Path $InstallRoot 'Data\Langues' } + +# Lecture seule : le service streame des fichiers, il n'ecrit jamais dans les modeles. +$DossiersLecture = @( + $RootPathLangues +) + +try { + Assert-OmikaAdmin + $chemins = Get-OmikaPaths -InstallRoot $InstallRoot + $cheminExe = Join-Path (Join-Path $chemins.Apps $DossierApps) $Executable + + # --- Rollback ------------------------------------------------------------ + if ($Desinstaller) { + Write-OmikaStep "Desinstallation du service $ServiceName" + Remove-OmikaService -Name $ServiceName -WhatIf:$Simulation | Out-Null + Write-OmikaServiceSummary -Name $ServiceName -Supprime + exit 0 + } + + # --- 1. Dossiers --------------------------------------------------------- + Write-OmikaStep 'Dossiers du service' + New-OmikaDirectory -Path (Join-Path $InstallRoot 'Logs\LanguesApi') -WhatIf:$Simulation | Out-Null + New-OmikaDirectory -Path $RootPathLangues -WhatIf:$Simulation | Out-Null + + # --- 2. ACL -------------------------------------------------------------- + Write-OmikaStep 'ACL NTFS minimales' + + Grant-OmikaAcl -Path (Join-Path $InstallRoot 'Logs\LanguesApi') -Account $Account -Right 'M' ` + -RequireExisting -WhatIf:$Simulation | Out-Null + + # Modeles : LECTURE SEULE. Le service ne doit jamais pouvoir les modifier. + foreach ($dossier in $DossiersLecture) { + Grant-OmikaAcl -Path $dossier -Account $Account -Right 'R' ` + -RequireExisting -WhatIf:$Simulation | Out-Null + } + + # --- 3. Compte de service ------------------------------------------------ + Write-OmikaStep 'Compte de service' + Assert-OmikaServiceAccount -Account $Account | Out-Null + + # --- 4. Port loopback ---------------------------------------------------- + if ($Port -gt 0) { + Write-OmikaStep "Verification du port loopback $Port" + $verdict = Test-OmikaPortLibre -Port $Port + if ($verdict.Libre) { + Write-OmikaOk "Port $Port disponible : peut etre fixe dans ASPNETCORE_URLS." + } + else { + Write-OmikaWarn "Port $Port NON disponible : $($verdict.Raisons)" + Write-OmikaWarn ' -> choisissez un autre port AVANT de configurer le service,' + Write-OmikaWarn ' et reportez le meme numero dans le ProxyPass du vhost Apache.' + } + } + else { + Write-OmikaStep 'Port loopback (non verifie)' + Write-OmikaInfo 'Aucun -Port fourni : le port se decide contre le plan Apache' + Write-OmikaInfo ' (DEPLOIEMENT_API_LANGUES.md §6bis). Relancez avec -Port pour le verifier.' + } + + # --- 5. Service Windows -------------------------------------------------- + Write-OmikaStep "Creation du service Windows ($StartupType)" + Install-OmikaService -Name $ServiceName -DisplayName $NomAffiche ` + -ExePath $cheminExe -Account $Account -Description $Description ` + -StartupType $StartupType -WhatIf:$Simulation | Out-Null + + # --- 6. Recapitulatif ---------------------------------------------------- + $rappelPort = 'ASPNETCORE_URLS=http://127.0.0.1: (voir §6bis, aucune valeur en dur)' + if ($Port -gt 0) { + $rappelPort = "ASPNETCORE_URLS=http://127.0.0.1:$Port (verifie disponible par ce script)" + } + + Write-OmikaServiceSummary -Name $ServiceName -ExePath $cheminExe -Account $Account -Rappels @( + 'Injecter la configuration en variables MACHINE (aucun secret : ce service est anonyme) :' + " Langues__RootPath=$RootPathLangues" + " $rappelPort" + ' ASPNETCORE_ENVIRONMENT=Production' + 'Ce service ne consomme AUCUN secret : ni HFSQL, ni PostgreSQL, ni cle.' + 'Reporter le MEME port dans le ProxyPass du vhost Apache (expose en HTTPS).' + 'Deployer les modeles + manifest.json dans Langues__RootPath (aucun redemarrage requis ensuite).' + 'Ecrire la ligne HFSQL ParametreSysteme SRV_LANGUES = URL publique du service.' + 'Le service est ANONYME : ne pas l''exposer sur Internet sans le reverse proxy.' + ) + + exit 0 +} +catch { + Write-OmikaFail $_.Exception.Message + exit 1 +} diff --git a/infra/deploy/Install-OmikaServerFiles.ps1 b/infra/deploy/Install-OmikaServerFiles.ps1 new file mode 100644 index 0000000..ddf0f8c --- /dev/null +++ b/infra/deploy/Install-OmikaServerFiles.ps1 @@ -0,0 +1,318 @@ +# ============================================================ +# Omika - Déploiement STATIQUE des fichiers serveur (Phase 5C.2A) +# ============================================================ +# CIBLE : Windows Server 2025 (SRV-OMIKA), PowerShell ADMINISTRATEUR. +# NE PAS exécuter depuis le poste de développement. +# +# Ce script fait UNIQUEMENT du déploiement de FICHIERS (statique) : +# 1. Vérifie l'intégrité du package (SHA256SUMS.txt) avant copie. +# 2. Crée l'arborescence C:\Omika (Apps / Data / Logs / Config / Backups / Deploy). +# 3. Sauvegarde les anciennes publications avant remplacement. +# 4. Copie les 5 publications (OmikaApi, OmikaWorker, DiagnosticsWorker, +# DiagnosticsWeb, DiagnosticsApi) en Release win-x64 framework-dependent. +# 5. Préserve la configuration serveur déjà injectée (jamais écrasée). +# 6. Vérifie le nombre de fichiers copiés (source vs cible) et la présence +# des exécutables. +# +# STATIC FILE DEPLOY ONLY - SERVICES NOT ACTIVATED. +# Ce script NE FAIT PAS (interdictions Phase 5C.2A) : +# - AUCUNE création / arrêt / démarrage de service Windows. +# - AUCUNE règle firewall, AUCUNE installation IIS. +# - AUCUNE modification de PostgreSQL, du Collector OpenTelemetry, de HFSQL. +# - AUCUN mot de passe, AUCUN secret, AUCUNE écriture de config secrète. +# - AUCUN choix de compte de service (A_DETERMINER_EN_PHASE_ACTIVATION). +# +# IDEMPOTENT : une seconde exécution re-sauvegarde, re-copie, ne perd ni logs, +# ni checkpoints, ni configuration serveur déjà injectée. +# Prend en charge -WhatIf (aucune modification réelle). +# ============================================================ + +[CmdletBinding(SupportsShouldProcess = $true)] +param( + [string]$PackageRoot, + [string]$InstallRoot = 'C:\Omika', + [switch]$SkipChecksum +) + +$ErrorActionPreference = 'Stop' + +# --- Résolution de PackageRoot APRÈS le bloc param (bug : $PSScriptRoot est +# vide dans une valeur par défaut de param()). Valeur par défaut : dossier +# PARENT du dossier du script (le package contient Deploy\ + OmikaApi\ + +# OmikaWorker\ + DiagnosticsWorker\ + DiagnosticsWeb\). +# --- Résolution de PackageRoot APRÈS le bloc param (bug : $PSScriptRoot est +# vide dans une valeur par défaut de param()). Valeur par défaut : dossier +# PARENT du dossier du script (le package contient Deploy\ + OmikaApi\ + +# OmikaWorker\ + DiagnosticsWorker\ + DiagnosticsWeb\ + DiagnosticsApi\). +if (-not $PackageRoot) { + if ($PSScriptRoot) { + $PackageRoot = Split-Path -Parent $PSScriptRoot + } +} +if (-not $PackageRoot -or -not (Test-Path -LiteralPath $PackageRoot)) { + Write-Error "PackageRoot introuvable : '$PackageRoot'. Fournissez -PackageRoot '' explicitement." + exit 1 +} + +function Write-Step([string]$msg) { + Write-Host "== $msg ==" -ForegroundColor Cyan +} + +function Assert-Admin { + $id = [Security.Principal.WindowsIdentity]::GetCurrent() + $principal = New-Object Security.Principal.WindowsPrincipal($id) + if (-not $principal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { + Write-Error "Ce script doit être exécuté en PowerShell ADMINISTRATEUR." + exit 1 + } +} + +# --- Calcul SHA256 read-only (indépendant de ShouldProcess) ----------------- +# Get-FileHash est SupportsShouldProcess : sous -WhatIf global, il ne retourne +# PAS l'objet attendu (null) et ".Hash.ToLowerInvariant()" lève une exception +# "Impossible d'appeler une méthode dans une expression Null". Cette fonction +# lit directement le fichier via System.IO.File + System.Security.Cryptography. +# SHA256 : opération purement READ-ONLY, insensible à $WhatIfPreference. +# - ouvre en lecture (FileAccess.Read) +# - partage en lecture (FileShare.Read) +# - retourne l'empreinte hexadécimale minuscule sur 64 caractères +# - dispose proprement le FileStream et le SHA256 (finally) +function Get-Sha256Hex { + [CmdletBinding()] + param( + [Parameter(Mandatory = $true)] + [string]$Path + ) + + $stream = $null + $sha256 = $null + + try { + $stream = [System.IO.File]::Open( + $Path, + [System.IO.FileMode]::Open, + [System.IO.FileAccess]::Read, + [System.IO.FileShare]::Read) + + $sha256 = [System.Security.Cryptography.SHA256]::Create() + $hashBytes = $sha256.ComputeHash($stream) + + return ([System.BitConverter]::ToString($hashBytes)).Replace('-', '').ToLowerInvariant() + } + finally { + if ($sha256) { $sha256.Dispose() } + if ($stream) { $stream.Dispose() } + } +} + +# --- Vérification SHA256 du package ----------------------------------------- +# SHA256SUMS.txt : une ligne par fichier, format ' '. +# Le chemin est relatif à la racine du package. Échoue si un fichier manque ou +# si un hash diffère (sauf -SkipChecksum). +function Test-PackageChecksums { + param([string]$packageRoot) + $sumsPath = Join-Path $packageRoot 'SHA256SUMS.txt' + if (-not (Test-Path -LiteralPath $sumsPath)) { + Write-Error "SHA256SUMS.txt introuvable : $sumsPath" + exit 1 + } + $ok = 0 + $fail = 0 + foreach ($line in Get-Content -LiteralPath $sumsPath) { + if ([string]::IsNullOrWhiteSpace($line)) { continue } + $parts = $line -split '\s+' + if ($parts.Count -lt 2) { continue } + $expected = $parts[0].Trim().ToLowerInvariant() + $rel = ($parts[1..($parts.Count - 1)] -join ' ').Trim().TrimStart('*') + if ([string]::IsNullOrWhiteSpace($rel)) { continue } + $file = Join-Path $packageRoot $rel + if (-not (Test-Path -LiteralPath $file)) { + Write-Warning "Fichier manquant dans le package : $rel" + $fail++ + continue + } + $actual = Get-Sha256Hex -Path $file + if ($actual -ne $expected) { + Write-Error "Checksum SHA256 KO : $rel (attendu $expected, obtenu $actual)" + $fail++ + } + else { + $ok++ + } + } + if ($fail -gt 0) { + Write-Error "Vérification SHA256 échouée : $fail fichier(s) en erreur." + exit 1 + } + Write-Host " SHA256 OK : $ok fichier(s) vérifié(s)." +} + +# --- Copie d'une publication avec sauvegarde + préservation config ---------- +function Deploy-AppFolder { + param( + [string]$Name, + [string]$Source, + [string]$Target, + [string]$BackupRoot, + [string[]]$Preserve + ) + + if (-not (Test-Path -LiteralPath $Source)) { + Write-Error "Publication introuvable : $Source" + exit 1 + } + + $backup = $null + if (Test-Path -LiteralPath $Target) { + $stamp = Get-Date -Format 'yyyyMMdd-HHmmss' + $backup = Join-Path $BackupRoot ("{0}-{1}" -f $Name, $stamp) + if ($PSCmdlet.ShouldProcess($Target, "Sauvegarder l'ancienne version vers $backup")) { + New-Item -ItemType Directory -Force -Path $backup | Out-Null + Copy-Item -Path (Join-Path $Target '*') -Destination $backup -Recurse -Force -ErrorAction SilentlyContinue + Write-Host " Ancienne version sauvegardée : $backup" + } + } + + $sourceCount = (Get-ChildItem -LiteralPath $Source -Recurse -File).Count + if ($PSCmdlet.ShouldProcess($Target, "Copier $sourceCount fichier(s) depuis $Source")) { + New-Item -ItemType Directory -Force -Path $Target | Out-Null + Copy-Item -Path (Join-Path $Source '*') -Destination $Target -Recurse -Force + + # Préserver la configuration serveur déjà injectée (secrets) : restaurer + # depuis la sauvegarde si elle existait déjà sur le serveur. + if ($backup) { + foreach ($file in $Preserve) { + $oldFile = Join-Path $backup $file + if (Test-Path -LiteralPath $oldFile) { + Copy-Item -Path $oldFile -Destination (Join-Path $Target $file) -Force + Write-Host " Configuration serveur préservée : $file" + } + } + } + + $targetCount = (Get-ChildItem -LiteralPath $Target -Recurse -File).Count + Write-Host " $Name : $sourceCount fichier(s) source -> $targetCount fichier(s) cible." + if ($targetCount -lt $sourceCount) { + Write-Warning " Nombre de fichiers cible ($targetCount) inférieur à la source ($sourceCount) : copie incomplète ?" + } + } +} + +# --- 1. Prérequis ------------------------------------------------------------ +Write-Step 'Prérequis' +Assert-Admin + +if (-not $SkipChecksum) { + Write-Step 'Vérification SHA256 du package' + Test-PackageChecksums -packageRoot $PackageRoot +} +else { + Write-Warning "Vérification SHA256 ignorée (-SkipChecksum)." +} + +# --- 2. Arborescence C:\Omika ------------------------------------------------ +Write-Step 'Création de l''arborescence' +$appsRoot = Join-Path $InstallRoot 'Apps' +$dataRoot = Join-Path $InstallRoot 'Data' +$logsRoot = Join-Path $InstallRoot 'Logs' +$configRoot = Join-Path $InstallRoot 'Config' +$backupsRoot = Join-Path $InstallRoot 'Backups' +$deployRoot = Join-Path $InstallRoot 'Deploy' + +$folders = @( + $appsRoot, + (Join-Path $appsRoot 'OmikaApi'), + (Join-Path $appsRoot 'OmikaWorker'), + (Join-Path $appsRoot 'DiagnosticsWorker'), + (Join-Path $appsRoot 'DiagnosticsWeb'), + (Join-Path $appsRoot 'DiagnosticsApi'), + (Join-Path $dataRoot 'Api\Diagnostics\Jsonl'), + (Join-Path $dataRoot 'DiagnosticsWorker\Checkpoint'), + (Join-Path $dataRoot 'DiagnosticsApi\Central'), + (Join-Path $logsRoot 'Api'), + (Join-Path $logsRoot 'Worker'), + (Join-Path $logsRoot 'DiagnosticsWorker'), + (Join-Path $logsRoot 'DiagnosticsWeb'), + (Join-Path $logsRoot 'DiagnosticsApi'), + $configRoot, + $backupsRoot, + $deployRoot +) +foreach ($folder in $folders) { + if ($PSCmdlet.ShouldProcess($folder, 'Créer le dossier')) { + New-Item -ItemType Directory -Force -Path $folder | Out-Null + } +} + +# --- 3+4. Copie des publications -------------------------------------------- +Write-Step 'Copie des publications (avec sauvegarde)' + +Deploy-AppFolder -Name 'OmikaApi' ` + -Source (Join-Path $PackageRoot 'OmikaApi') ` + -Target (Join-Path $appsRoot 'OmikaApi') ` + -BackupRoot $backupsRoot ` + -Preserve @('appsettings.json', 'appsettings.Production.json') + +Deploy-AppFolder -Name 'OmikaWorker' ` + -Source (Join-Path $PackageRoot 'OmikaWorker') ` + -Target (Join-Path $appsRoot 'OmikaWorker') ` + -BackupRoot $backupsRoot ` + -Preserve @('appsettings.json', 'appsettings.Production.json') + +Deploy-AppFolder -Name 'DiagnosticsWorker' ` + -Source (Join-Path $PackageRoot 'DiagnosticsWorker') ` + -Target (Join-Path $appsRoot 'DiagnosticsWorker') ` + -BackupRoot $backupsRoot ` + -Preserve @('appsettings.json', 'appsettings.Production.json') + +Deploy-AppFolder -Name 'DiagnosticsWeb' ` + -Source (Join-Path $PackageRoot 'DiagnosticsWeb') ` + -Target (Join-Path $appsRoot 'DiagnosticsWeb') ` + -BackupRoot $backupsRoot ` + -Preserve @('appsettings.json', 'appsettings.Production.json') + +Deploy-AppFolder -Name 'DiagnosticsApi' ` + -Source (Join-Path $PackageRoot 'DiagnosticsApi') ` + -Target (Join-Path $appsRoot 'DiagnosticsApi') ` + -BackupRoot $backupsRoot ` + -Preserve @('appsettings.json', 'appsettings.Production.json') + +# --- 5. Vérification des exécutables ---------------------------------------- +Write-Step 'Vérification des exécutables' +$expectedExe = @( + (Join-Path $appsRoot 'OmikaApi\Omika.Api.exe'), + (Join-Path $appsRoot 'OmikaWorker\Omika.Worker.exe'), + (Join-Path $appsRoot 'DiagnosticsWorker\Omika.Diagnostics.Worker.exe'), + (Join-Path $appsRoot 'DiagnosticsWeb\Omika.Diagnostics.Web.exe'), + (Join-Path $appsRoot 'DiagnosticsApi\Omika.Diagnostics.Api.exe') +) +foreach ($exe in $expectedExe) { + if (Test-Path -LiteralPath $exe) { + Write-Host " OK : $exe" + } + else { + Write-Warning " EXE absent : $exe (copie incomplète ou nom inattendu)." + } +} + +# --- Résumé ------------------------------------------------------------------ +Write-Host '' +Write-Host 'DEPLOIEMENT STATIQUE TERMINE (fichiers copies uniquement).' -ForegroundColor Green +Write-Host " Apps : $appsRoot" +Write-Host " Data : $dataRoot" +Write-Host " Logs : $logsRoot" +Write-Host " Config : $configRoot" +Write-Host " Backups : $backupsRoot" +Write-Host '' +Write-Host 'SERVICES NOT ACTIVATED.' -ForegroundColor Yellow +Write-Host 'Aucun service Windows n''a été créé, démarré ni arrêté.' -ForegroundColor Yellow +Write-Host 'Aucun firewall / IIS / PostgreSQL / Collector / HFSQL n''a été modifié.' -ForegroundColor Yellow +Write-Host '' +Write-Host 'RAPPELS (à faire manuellement, jamais automatisé ici) :' -ForegroundColor Yellow +Write-Host ' - Injecter les secrets (connection strings, HmacKey, HFSQL, licence)' +Write-Host ' uniquement SUR LE SERVEUR, via variables d''environnement ou' +Write-Host ' appsettings.Production.json local à ACL restreinte.' +Write-Host ' - Créer les comptes de service Windows dédiés et les services dans la' +Write-Host ' phase d''activation (comptes A_DETERMINER_EN_PHASE_ACTIVATION).' +Write-Host ' - Appliquer les ACL NTFS minimales (voir README-DEPLOYMENT.txt).' +Write-Host ' - Aucune règle firewall 5432/4318 n''a été ni ne doit être ajoutée.' diff --git a/infra/deploy/Install-OmikaServices.ps1 b/infra/deploy/Install-OmikaServices.ps1 new file mode 100644 index 0000000..8247b1e --- /dev/null +++ b/infra/deploy/Install-OmikaServices.ps1 @@ -0,0 +1,252 @@ +# ============================================================ +# Omika - Installation de TOUS les services Windows (orchestrateur) +# ============================================================ +# CIBLE : Windows Server 2025 (SRV-OMIKA), PowerShell ADMINISTRATEUR. +# NE PAS executer depuis le poste de developpement. +# +# Ce script ne fait plus le travail lui-meme : il appelle, DANS L'ORDRE, un +# script dedie par deploiement. Chaque service reste installable seul. +# +# 1. Install-OmikaApi.ps1 (spool JSONL de l'API) +# 2. Install-OmikaWorker.ps1 +# 3. Install-OmikaDiagnosticsApi.ps1 (spool central) [optionnel] +# 4. Install-OmikaDiagnosticsWorker.ps1 (lit les 2 spools) +# 5. Install-OmikaDiagnosticsWeb.ps1 +# 6. Install-OmikaLanguesApi.ps1 [optionnel] +# +# POURQUOI CET ORDRE : les ACL inter-services (le Worker Diagnostics lit le +# spool produit par l'API et celui produit par l'API centrale) ne peuvent etre +# posees que si le dossier existe deja. L'ancien script monolithique posait les +# ACL en bloc et IGNORAIT SILENCIEUSEMENT les dossiers absents ; ici, le +# proprietaire du dossier est installe AVANT ses lecteurs. +# +# CE QUE CE SCRIPT NE FAIT PAS : +# - AUCUN demarrage de service (doctrine : activation != demarrage). +# - AUCUN secret ecrit, AUCUNE regle firewall, AUCUN IIS, AUCUNE base modifiee. +# +# PREREQUIS MANUELS : +# - Comptes locaux dedies crees + droit « Ouvrir une session en tant que +# service » (chaque script le verifie et avertit). +# - Publications copiees dans \Apps (Install-OmikaServerFiles.ps1). +# +# IDEMPOTENT - prend en charge -WhatIf. +# +# EXEMPLES : +# .\Install-OmikaServices.ps1 +# .\Install-OmikaServices.ps1 -WhatIf +# .\Install-OmikaServices.ps1 -InclureLangues -PortLangues 5099 +# .\Install-OmikaServices.ps1 -SansDiagnosticsApi # serveur mono-serveur +# .\Install-OmikaServices.ps1 -Desinstaller +# ============================================================ + +[CmdletBinding(SupportsShouldProcess = $true)] +param( + [string]$InstallRoot = 'C:\Omika', + + # --- Noms de services ---------------------------------------------------- + [string]$ApiServiceName = 'OmikaApi', + [string]$WorkerServiceName = 'OmikaWorker', + [string]$DiagServiceName = 'OmikaDiagnosticsWorker', + [string]$DiagWebServiceName = 'OmikaDiagnosticsWeb', + [string]$DiagApiServiceName = 'OmikaDiagnosticsApi', + [string]$LanguesServiceName = 'OmikaLanguesApi', + + # --- Comptes de service (jamais LocalSystem, jamais un compte humain) ---- + [string]$ApiAccount = '.\svc_omika_api', + [string]$WorkerAccount = '.\svc_omika_worker', + [string]$DiagAccount = '.\svc_omika_diag', + [string]$DiagWebAccount = '.\svc_omika_diagweb', + [string]$DiagApiAccount = '.\svc_omika_diagapi', + [string]$LanguesAccount = '.\svc_omika_langues', + + [ValidateSet('Manual', 'Automatic', 'Disabled')] + [string]$StartupType = 'Manual', + + # --- Perimetre ----------------------------------------------------------- + # Le service Langues n'existe que si la traduction hors ligne mobile est deployee. + [switch]$InclureLangues, + + # Sur un serveur MONO-SERVEUR, l'API centrale de diagnostics est inutile + # (l'API metier ecrit son JSONL localement, sans forwarding). + [switch]$SansDiagnosticsApi, + + # Port loopback a verifier avant de le fixer dans ASPNETCORE_URLS (§6bis). + [ValidateRange(0, 65535)] + [int]$PortLangues = 0, + + # --- Rollback ------------------------------------------------------------ + [switch]$Desinstaller +) + +$ErrorActionPreference = 'Stop' + +Import-Module (Join-Path $PSScriptRoot 'Omika.Deploy.Common.psm1') -Force + +# Le module a son propre etat de session : $WhatIfPreference ne s'y propage pas. +$Simulation = [bool]$WhatIfPreference + +try { + Assert-OmikaAdmin + Write-OmikaStep 'Perimetre du deploiement' + + # --- Composition de la sequence ----------------------------------------- + $sequence = New-Object System.Collections.Generic.List[object] + + $sequence.Add(@{ + Script = 'Install-OmikaApi.ps1' + Libelle = 'OmikaApi' + Parametres = @{ + InstallRoot = $InstallRoot + ServiceName = $ApiServiceName + Account = $ApiAccount + StartupType = $StartupType + } + }) + + $sequence.Add(@{ + Script = 'Install-OmikaWorker.ps1' + Libelle = 'OmikaWorker' + Parametres = @{ + InstallRoot = $InstallRoot + ServiceName = $WorkerServiceName + Account = $WorkerAccount + StartupType = $StartupType + } + }) + + if (-not $SansDiagnosticsApi) { + $sequence.Add(@{ + Script = 'Install-OmikaDiagnosticsApi.ps1' + Libelle = 'OmikaDiagnosticsApi' + Parametres = @{ + InstallRoot = $InstallRoot + ServiceName = $DiagApiServiceName + Account = $DiagApiAccount + AccountWorker = $DiagAccount + StartupType = $StartupType + } + }) + } + else { + Write-OmikaInfo 'OmikaDiagnosticsApi EXCLU (-SansDiagnosticsApi).' + } + + $sequence.Add(@{ + Script = 'Install-OmikaDiagnosticsWorker.ps1' + Libelle = 'OmikaDiagnosticsWorker' + Parametres = @{ + InstallRoot = $InstallRoot + ServiceName = $DiagServiceName + Account = $DiagAccount + AccountApi = $ApiAccount + AccountDiagApi = $DiagApiAccount + StartupType = $StartupType + } + }) + + $sequence.Add(@{ + Script = 'Install-OmikaDiagnosticsWeb.ps1' + Libelle = 'OmikaDiagnosticsWeb' + Parametres = @{ + InstallRoot = $InstallRoot + ServiceName = $DiagWebServiceName + Account = $DiagWebAccount + StartupType = $StartupType + } + }) + + if ($InclureLangues) { + $parametresLangues = @{ + InstallRoot = $InstallRoot + ServiceName = $LanguesServiceName + Account = $LanguesAccount + StartupType = $StartupType + } + if ($PortLangues -gt 0) { $parametresLangues['Port'] = $PortLangues } + $sequence.Add(@{ + Script = 'Install-OmikaLanguesApi.ps1' + Libelle = 'OmikaLanguesApi' + Parametres = $parametresLangues + }) + } + else { + Write-OmikaInfo 'OmikaLanguesApi EXCLU (ajoutez -InclureLangues pour l''installer).' + } + + $mode = 'INSTALLATION' + if ($Desinstaller) { $mode = 'DESINSTALLATION' } + if ($Simulation) { $mode += ' (SIMULATION -WhatIf)' } + Write-OmikaInfo ("{0} - {1} service(s) dans la sequence" -f $mode, $sequence.Count) + + # --- Execution ----------------------------------------------------------- + $resultats = @() + + foreach ($etape in $sequence) { + $nomService = [string]$etape.Parametres['ServiceName'] + $cheminScript = Join-Path $PSScriptRoot $etape.Script + + if (-not (Test-Path -LiteralPath $cheminScript)) { + Write-OmikaFail ("Script introuvable : {0} (service {1} ignore)" -f $etape.Script, $nomService) + $resultats += [pscustomobject]@{ Service = $nomService; Resultat = 'SCRIPT ABSENT' } + continue + } + + $parametres = $etape.Parametres.Clone() + $parametres['WhatIf'] = $Simulation + if ($Desinstaller) { $parametres['Desinstaller'] = $true } + + & $cheminScript @parametres + $code = $LASTEXITCODE + + if ($code -eq 0) { + $resultats += [pscustomobject]@{ Service = $nomService; Resultat = 'OK' } + } + else { + $resultats += [pscustomobject]@{ Service = $nomService; Resultat = ("ECHEC (code $code)") } + } + } + + # --- Recapitulatif ------------------------------------------------------- + Write-Host '' + Write-Host '=== RECAPITULATIF ===' -ForegroundColor Cyan + foreach ($ligne in $resultats) { + $couleur = 'Red' + if ($ligne.Resultat -eq 'OK') { $couleur = 'Green' } + Write-Host (" {0,-26} {1}" -f $ligne.Service, $ligne.Resultat) -ForegroundColor $couleur + } + + Write-Host '' + Write-Host 'Etat reel des services :' -ForegroundColor Cyan + $noms = @($sequence | ForEach-Object { [string]$_.Parametres['ServiceName'] }) + Get-Service | Where-Object { $noms -contains $_.Name } | + Select-Object Name, Status, StartType | Format-Table -AutoSize + + $echecs = @($resultats | Where-Object { $_.Resultat -ne 'OK' }) + + Write-Host '' + if ($echecs.Count -eq 0) { + Write-Host 'ACTIVATION TERMINEE (services MANUAL + STOPPED).' -ForegroundColor Green + Write-Host 'AUCUN service demarre : le demarrage reste une action MANUELLE.' -ForegroundColor Yellow + Write-Host '' + Write-Host 'Ordre de demarrage (consommateurs avant producteurs) :' -ForegroundColor Yellow + Write-Host ' OmikaDiagnosticsWorker -> OmikaDiagnosticsWeb -> OmikaDiagnosticsApi -> OmikaWorker -> OmikaApi' -ForegroundColor Yellow + } + else { + Write-Host ("ACTIVATION INCOMPLETE : {0} etape(s) en echec." -f $echecs.Count) -ForegroundColor Red + Write-Host 'Corrigez chaque echec, puis relancez ce script (idempotent).' -ForegroundColor Red + } + + Write-Host '' + Write-Host 'RAPPELS (jamais automatises ici) :' -ForegroundColor Yellow + Write-Host ' - Injecter les secrets par service (voir les rappels de chaque script).' + Write-Host ' - Verifier le provider OLE DB PCSOFT.HFSQL (64 bits) enregistre.' + Write-Host ' - Installer LibreOffice si la generation PDF des rapports est utilisee.' + Write-Host ' - Appliquer les migrations PostgreSQL 001 -> 010 (retention incluse) avant demarrage.' + + if ($echecs.Count -gt 0) { exit 1 } + exit 0 +} +catch { + Write-OmikaFail $_.Exception.Message + exit 1 +} diff --git a/infra/deploy/Install-OmikaWorker.ps1 b/infra/deploy/Install-OmikaWorker.ps1 new file mode 100644 index 0000000..ea98e81 --- /dev/null +++ b/infra/deploy/Install-OmikaWorker.ps1 @@ -0,0 +1,124 @@ +# ============================================================ +# Omika - Installation du service Windows OmikaWorker (deploiement 2/6) +# ============================================================ +# CIBLE : Windows Server 2025 (SRV-OMIKA), PowerShell ADMINISTRATEUR. +# NE PAS executer depuis le poste de developpement. +# +# CE QUE CE SCRIPT FAIT : +# 1. Cree les dossiers propres au Worker (journalisation, spool local). +# 2. Pose les ACL NTFS minimales (avec CONTROLE du code retour d'icacls). +# 3. Valide le compte de service (existence + droit de connexion). +# 4. Cree le service Windows OmikaWorker (idempotent, StartupType Manual). +# 5. Verifie ce qui a ete reellement cree (binaire, compte, etat). +# +# CE QU'IL NE FAIT PAS : +# - AUCUN demarrage de service. +# - AUCUN secret ecrit (variables d'environnement = action manuelle). +# - AUCUNE modification HFSQL / PostgreSQL / firewall. +# - AUCUNE copie de binaires. +# +# PREREQUIS MANUELS : +# - Compte local dedie + droit « Ouvrir une session en tant que service ». +# - Publication copiee dans \Apps\OmikaWorker (Omika.Worker.exe). +# +# NOTE SPOOL LOCAL : +# Le dossier Data\Worker\Diagnostics\Jsonl n'est utilise QUE si ce Worker doit +# forwarder ses propres diagnostics (cas serveur SEPARE de l'API, cf. +# docs\T15-RUNBOOK-DEPLOIEMENT-PRODUCTION.md §7.3). Sur un serveur unique, +# seul Omika.Api forwarde : ne pas activer DiagnosticsForwarding ici, sinon +# les evenements partiront DEUX FOIS (un par service). +# +# IDEMPOTENT - prend en charge -WhatIf. +# +# EXEMPLES : +# .\Install-OmikaWorker.ps1 +# .\Install-OmikaWorker.ps1 -WhatIf +# .\Install-OmikaWorker.ps1 -Desinstaller +# ============================================================ + +[CmdletBinding(SupportsShouldProcess = $true)] +param( + [string]$InstallRoot = 'C:\Omika', + [string]$ServiceName = 'OmikaWorker', + [string]$Account = '.\svc_omika_worker', + + [ValidateSet('Manual', 'Automatic', 'Disabled')] + [string]$StartupType = 'Manual', + + [switch]$Desinstaller +) + +$ErrorActionPreference = 'Stop' + +Import-Module (Join-Path $PSScriptRoot 'Omika.Deploy.Common.psm1') -Force + +# Le module a son propre etat de session : $WhatIfPreference ne s'y propage pas. +$Simulation = [bool]$WhatIfPreference + +# --- Definition du service --------------------------------------------------- +$NomAffiche = 'Omika Worker' +$DossierApps = 'OmikaWorker' +$Executable = 'Omika.Worker.exe' +$Description = 'Omika - Worker de synchronisation metier (HFSQL) : traitement de la file de synchronisation et des reprises.' + +$DossiersModifier = @( + 'Logs\Worker', + 'Data\Worker\Diagnostics\Jsonl' +) + +try { + Assert-OmikaAdmin + $chemins = Get-OmikaPaths -InstallRoot $InstallRoot + $cheminExe = Join-Path (Join-Path $chemins.Apps $DossierApps) $Executable + + # --- Rollback ------------------------------------------------------------ + if ($Desinstaller) { + Write-OmikaStep "Desinstallation du service $ServiceName" + Remove-OmikaService -Name $ServiceName -WhatIf:$Simulation | Out-Null + Write-OmikaServiceSummary -Name $ServiceName -Supprime + exit 0 + } + + # --- 1. Dossiers --------------------------------------------------------- + Write-OmikaStep 'Dossiers du service' + foreach ($relatif in $DossiersModifier) { + New-OmikaDirectory -Path (Join-Path $InstallRoot $relatif) -WhatIf:$Simulation | Out-Null + } + + # --- 2. ACL -------------------------------------------------------------- + Write-OmikaStep 'ACL NTFS minimales' + foreach ($relatif in $DossiersModifier) { + Grant-OmikaAcl -Path (Join-Path $InstallRoot $relatif) -Account $Account -Right 'M' ` + -RequireExisting -WhatIf:$Simulation | Out-Null + } + + # --- 3. Compte de service ------------------------------------------------ + Write-OmikaStep 'Compte de service' + Assert-OmikaServiceAccount -Account $Account | Out-Null + + # --- 4. Service Windows -------------------------------------------------- + Write-OmikaStep "Creation du service Windows ($StartupType)" + Install-OmikaService -Name $ServiceName -DisplayName $NomAffiche ` + -ExePath $cheminExe -Account $Account -Description $Description ` + -StartupType $StartupType -WhatIf:$Simulation | Out-Null + + # --- 5. Recapitulatif ---------------------------------------------------- + Write-OmikaServiceSummary -Name $ServiceName -ExePath $cheminExe -Account $Account -Rappels @( + 'Injecter les secrets en variables MACHINE (aucun secret dans ce script) :' + ' Hfsql / SyncConnection (secrets HFSQL existants)' + ' DiagnosticDeployment__ClientCode / __ServerInstanceId' + ' ASPNETCORE_ENVIRONMENT=Production' + 'UNIQUEMENT si ce Worker est sur un serveur DIFFERENT de l''API (multi-serveur) :' + ' DiagnosticsForwarding__Enabled=true' + ' DiagnosticsForwarding__Endpoint=https:///api/v1/diagnostics/batches' + ' DiagnosticsForwarding__ApiKey=' + ' Observability__Remote__Directory=' + 'Sur un serveur unique : laisser DiagnosticsForwarding desactive (sinon double envoi).' + ) + + exit 0 +} +catch { + Write-OmikaFail $_.Exception.Message + exit 1 +} diff --git a/infra/deploy/New-OmikaLanguesManifeste.ps1 b/infra/deploy/New-OmikaLanguesManifeste.ps1 new file mode 100644 index 0000000..a80bccb --- /dev/null +++ b/infra/deploy/New-OmikaLanguesManifeste.ps1 @@ -0,0 +1,525 @@ +# ============================================================ +# Omika - Generation / verification du manifeste des packs de langue +# (manifest.json de Omika.Langues.Api) +# ============================================================ +# Le manifeste decrit les packs ONNX telechargeables par le mobile. Ce n'est PAS +# un fichier de publication : il decrit les fichiers REELLEMENT presents sous +# Langues__RootPath. Il se genere donc la ou sont les modeles, pas dans le depot. +# +# Arborescence attendue : \\\, ou vaut +# versFrancais, depuisFrancais, ou commun (poids partages par les deux sens d'un +# modele familial ; le mobile ne les telecharge qu'une fois). +# +# Deux champs ne peuvent pas etre saisis a la main sans risque : +# - tailleOctets : taille reelle (progression du telechargement mobile) ; +# - sha256 : empreinte d'integrite, reverifiee par le mobile APRES +# telechargement. Une empreinte fausse ou absente ne se voit +# QUE sur le telephone : le pack est refuse et pack.json +# n'est jamais ecrit (aucune erreur ne remonte au serveur). +# Ce script les calcule depuis les fichiers. Aucune valeur n'est inventee. +# +# Usage : +# .\New-OmikaLanguesManifeste.ps1 # genere sous RootPath +# .\New-OmikaLanguesManifeste.ps1 -WhatIf # simulation, affiche +# .\New-OmikaLanguesManifeste.ps1 -RootPathLangues D:\Modeles +# .\New-OmikaLanguesManifeste.ps1 -Verifier # controle d'integrite +# .\New-OmikaLanguesManifeste.ps1 -Libelles @{ es = 'Espagnol (Espagne)' } +# +# -Verifier compare le manifeste EXISTANT aux fichiers du disque et sort en +# erreur (code 1) au moindre ecart. Aucun droit administrateur n'est requis : +# c'est le controle a passer apres chaque ajout ou remplacement de modele. +# +# La racine par defaut est lue dans Langues__RootPath (MACHINE), donc la meme +# source de verite que le service : le manifeste est ecrit la ou l'API le lit. +# ============================================================ + +[CmdletBinding(SupportsShouldProcess = $true)] +param( + # Dossier racine des modeles. Par defaut : variable MACHINE Langues__RootPath, + # puis C:\Omika\Data\Langues (recommandation du DEPLOIEMENT_API_LANGUES.md §6). + [string]$RootPathLangues, + + # Fichier manifeste. Par defaut : \manifest.json. + [string]$Sortie, + + # Version ecrite dans chaque pack (le mobile la compare a celle installee). + [string]$Version = '1.0.0', + + # Libelles affiches, par code de langue. Complete/ecrase la table par defaut. + [hashtable]$Libelles = @{}, + + # Autorise l'ecriture d'un manifeste SANS aucun pack (deconseille : le mobile + # affiche alors « Aucun modele de langue n'est disponible sur le serveur »). + [switch]$AutoriserVide, + + # Controle le manifeste existant au lieu de le regenerer. + [switch]$Verifier +) + +$ErrorActionPreference = 'Stop' + +# Sens canoniques : le mobile compare ces valeurs de facon SENSIBLE A LA CASSE. +# « commun » porte les poids PARTAGES par les deux sens d'un modele familial +# (opus-mt-tc-big-itc-itc) : le telephone les telecharge une seule fois, et +# chaque sens ne contient que son modele.json (jeton de cible). +$SensCanoniques = @('versFrancais', 'depuisFrancais', 'commun') + +# Noms de vocabulaire reconnus par l'application (OnnxTranslationService) : +# vocab.spm = vocabulaire commun, source.spm / target.spm = vocabulaire par +# langue d'un modele Marian/OPUS-MT. Tout autre nom .spm n'est qu'un repli. +$NomsVocabulaire = @('vocab.spm', 'source.spm', 'target.spm') + +$LibellesParDefaut = @{ + 'ar' = 'Arabe' + 'bg' = 'Bulgare' + 'ca' = 'Catalan' + 'cs' = 'Tchèque' + 'da' = 'Danois' + 'de' = 'Allemand' + 'el' = 'Grec' + 'en' = 'Anglais' + 'es' = 'Espagnol' + 'et' = 'Estonien' + 'fi' = 'Finnois' + 'gl' = 'Galicien' + 'hr' = 'Croate' + 'hu' = 'Hongrois' + 'is' = 'Islandais' + 'it' = 'Italien' + 'lt' = 'Lituanien' + 'lv' = 'Letton' + 'mk' = 'Macédonien' + 'mt' = 'Maltais' + 'nl' = 'Néerlandais' + 'no' = 'Norvégien' + 'pl' = 'Polonais' + 'pt' = 'Portugais' + 'ro' = 'Roumain' + 'ru' = 'Russe' + 'sk' = 'Slovaque' + 'sl' = 'Slovène' + 'sv' = 'Suédois' + 'tr' = 'Turc' + 'uk' = 'Ukrainien' + 'zh' = 'Chinois' +} + +function Write-ManifesteInfo([string]$message) { Write-Host (' ' + $message) } +function Write-ManifesteOk([string]$message) { Write-Host ('[OK] ' + $message) -ForegroundColor Green } +function Write-ManifesteAlerte([string]$message) { Write-Host ('[ALERTE] ' + $message) -ForegroundColor Yellow } +function Write-ManifesteEchec([string]$message) { Write-Host ('[ECHEC] ' + $message) -ForegroundColor Red } + +function Format-ManifesteTaille([long]$octets) { + if ($octets -ge 1073741824) { return ('{0:N2} Gio' -f ($octets / 1073741824)) } + if ($octets -ge 1048576) { return ('{0:N1} Mio' -f ($octets / 1048576)) } + if ($octets -ge 1024) { return ('{0:N0} Kio' -f ($octets / 1024)) } + return ('{0} octets' -f $octets) +} + +# Code de langue : memes regles que LanguagePaths.EstCodeValide cote application +# (2 a 10 caracteres, minuscules ASCII, chiffres, tiret). Un code invalide fait +# IGNORER le pack SILENCIEUSEMENT par le mobile : on refuse de l'ecrire. +function Test-ManifesteCodeValide([string]$code) { + if ([string]::IsNullOrWhiteSpace($code)) { return $false } + + $valeur = $code.Trim() + if ($valeur.Length -lt 2 -or $valeur.Length -gt 10) { return $false } + if ($valeur[0] -eq '-' -or $valeur[-1] -eq '-') { return $false } + + foreach ($c in $valeur.ToCharArray()) { + $autorise = (($c -ge 'a' -and $c -le 'z') -or ($c -ge '0' -and $c -le '9') -or $c -eq '-') + if (-not $autorise) { return $false } + } + + return $true +} + +# Retourne le sens canonique, ou $null si le dossier n'est pas un sens connu. +function Resolve-ManifesteSens([string]$nomDossier) { + foreach ($canonique in $SensCanoniques) { + if ([string]::Equals($nomDossier, $canonique, [System.StringComparison]::OrdinalIgnoreCase)) { + return $canonique + } + } + return $null +} + +function Resolve-ManifesteLibelle([string]$code, [hashtable]$surcharge) { + if ($surcharge -and $surcharge.ContainsKey($code)) { return [string]$surcharge[$code] } + if ($LibellesParDefaut.ContainsKey($code)) { return [string]$LibellesParDefaut[$code] } + return $code.ToUpperInvariant() +} + +# SHA-256 hexadecimal minuscule : exactement ce que le mobile recalcule. +function Get-ManifesteEmpreinte([string]$chemin) { + return (Get-FileHash -LiteralPath $chemin -Algorithm SHA256).Hash.ToLowerInvariant() +} + +# Echappe une chaine pour du JSON (guillemets, antislash, caracteres de controle). +function ConvertTo-ManifesteJsonChaine([string]$valeur) { + $sb = New-Object System.Text.StringBuilder + [void]$sb.Append('"') + foreach ($c in $valeur.ToCharArray()) { + $code = [int]$c + if ($c -eq '"') { [void]$sb.Append('\"') } + elseif ($c -eq '\') { [void]$sb.Append('\\') } + elseif ($code -lt 32) { [void]$sb.Append(('\u{0:x4}' -f $code)) } + else { [void]$sb.Append($c) } + } + [void]$sb.Append('"') + return $sb.ToString() +} + +function New-ManifesteBlocFichier([string]$sens, [string]$nomFichier, [long]$taille, [string]$sha256) { + $lignes = @( + ' {' + (' "sens": ' + (ConvertTo-ManifesteJsonChaine $sens) + ',') + (' "nomFichier": ' + (ConvertTo-ManifesteJsonChaine $nomFichier) + ',') + (' "tailleOctets": ' + $taille + ',') + (' "sha256": ' + (ConvertTo-ManifesteJsonChaine $sha256)) + ' }' + ) + return ($lignes -join "`r`n") +} + +function New-ManifesteBlocPack([string]$code, [string]$libelle, [string]$version, $blocsFichiers) { + $lignes = @( + ' {' + (' "code": ' + (ConvertTo-ManifesteJsonChaine $code) + ',') + (' "libelle": ' + (ConvertTo-ManifesteJsonChaine $libelle) + ',') + (' "version": ' + (ConvertTo-ManifesteJsonChaine $version) + ',') + ' "fichiers": [' + ($blocsFichiers -join (",`r`n")) + ' ]' + ' }' + ) + return ($lignes -join "`r`n") +} + +function New-ManifesteJsonText($blocsPacks) { + # Tableau vide ecrit « [] » et non « [\n\n] » : lisible et sans ligne blanche. + $corps = if ($blocsPacks.Count -eq 0) { + @(' "packs": []') + } + else { + @( + ' "packs": [' + ($blocsPacks -join (",`r`n")) + ' ]' + ) + } + + $lignes = @('{') + $corps + @('}') + return (($lignes -join "`r`n") + "`r`n") +} + +# JSON ecrit en UTF-8 SANS BOM : un manifeste est un fichier de donnees lu par +# l'API et par des outils externes, jamais un script. +function Write-ManifesteFichier([string]$chemin, [string]$contenu) { + $encodage = New-Object System.Text.UTF8Encoding($false) + [System.IO.File]::WriteAllText($chemin, $contenu, $encodage) +} + +function Write-ManifesteBilan($echecs, $alertes) { + foreach ($alerte in $alertes) { Write-ManifesteAlerte $alerte } + foreach ($echec in $echecs) { Write-ManifesteEchec $echec } + Write-Host '' + if ($echecs.Count -gt 0) { + Write-Host ("=== RESULTAT : {0} ecart(s), {1} alerte(s) ===" -f $echecs.Count, $alertes.Count) -ForegroundColor Red + return $false + } + Write-Host ("=== RESULTAT : conforme ({0} alerte(s)) ===" -f $alertes.Count) -ForegroundColor Green + return $true +} + +# --- Racine effective -------------------------------------------------------- +if (-not $RootPathLangues) { + $RootPathLangues = [Environment]::GetEnvironmentVariable('Langues__RootPath', 'Machine') +} +if (-not $RootPathLangues) { + $RootPathLangues = [Environment]::GetEnvironmentVariable('Langues__RootPath', 'Process') +} +if (-not $RootPathLangues) { + $RootPathLangues = 'C:\Omika\Data\Langues' +} +$racine = $RootPathLangues.Trim().TrimEnd([char[]]@('\', '/')) +if (-not $Sortie) { $Sortie = Join-Path $racine 'manifest.json' } + +Write-Host '=== Manifeste des packs de langue (Omika Langues API) ===' +Write-ManifesteInfo ("Racine des modeles : {0}" -f $racine) +Write-ManifesteInfo ("Manifeste : {0}" -f $Sortie) +if ($Verifier) { Write-ManifesteInfo 'Mode : VERIFICATION (aucune ecriture)' } +Write-Host '' + +if (-not (Test-Path -LiteralPath $racine -PathType Container)) { + Write-ManifesteEchec ("Racine introuvable : {0}" -f $racine) + Write-ManifesteInfo 'Verifier Langues__RootPath (MACHINE), ou passer -RootPathLangues.' + exit 1 +} + +$echecs = New-Object 'System.Collections.Generic.List[string]' +$alertes = New-Object 'System.Collections.Generic.List[string]' + +# ============================================================================ +# MODE VERIFICATION +# ============================================================================ +if ($Verifier) { + if (-not (Test-Path -LiteralPath $Sortie -PathType Leaf)) { + Write-ManifesteEchec ("Manifeste ABSENT : {0}" -f $Sortie) + Write-ManifesteInfo 'Sans ce fichier, GET /api/langues repond 404 (et le mobile n''a aucune langue).' + Write-ManifesteInfo 'Generer avec : .\New-OmikaLanguesManifeste.ps1' + exit 1 + } + + $manifeste = $null + try { + $manifeste = (Get-Content -LiteralPath $Sortie -Raw -Encoding UTF8 | ConvertFrom-Json) + } + catch { + Write-ManifesteEchec ("Manifeste illisible (JSON invalide) : {0}" -f $_.Exception.Message) + Write-ManifesteInfo 'Cote service : « Manifeste des langues illisible » puis 404.' + exit 1 + } + + $packs = @($manifeste.packs) + if ($packs.Count -eq 0) { + $echecs.Add('Le manifeste ne declare aucun pack : le mobile affichera « Aucun modele de langue n''est disponible sur le serveur ».') + } + + $declare = New-Object 'System.Collections.Generic.List[string]' + $nbFichiers = 0 + $octetsTotal = [long]0 + + foreach ($pack in $packs) { + $code = ([string]$pack.code).Trim().ToLowerInvariant() + if (-not (Test-ManifesteCodeValide $code)) { + $echecs.Add(("Pack « {0} » : code de langue invalide -> IGNORE SILENCIEUSEMENT par le mobile." -f $pack.code)) + continue + } + if ([string]::IsNullOrWhiteSpace([string]$pack.libelle)) { + $alertes.Add(("Pack « {0} » : libelle vide (le code s'affichera a la place)." -f $code)) + } + if ([string]::IsNullOrWhiteSpace([string]$pack.version)) { + $alertes.Add(("Pack « {0} » : version vide (comparaison d'installation impossible)." -f $code)) + } + + $fichiers = @($pack.fichiers) + if ($fichiers.Count -eq 0) { + $echecs.Add(("Pack « {0} » : aucun fichier declare." -f $code)) + continue + } + + foreach ($fichier in $fichiers) { + $sensManifeste = [string]$fichier.sens + $sens = Resolve-ManifesteSens $sensManifeste + if (-not $sens) { + $echecs.Add(("Pack « {0} » : sens inconnu « {1} » (attendu versFrancais, depuisFrancais ou commun)." -f $code, $sensManifeste)) + continue + } + if ($sensManifeste -cne $sens) { + $echecs.Add(("Pack « {0} » : sens « {1} » a la mauvaise casse -> REFUSE par le mobile (comparaison sensible a la casse)." -f $code, $sensManifeste)) + continue + } + + $nomFichier = [string]$fichier.nomFichier + if ([string]::IsNullOrWhiteSpace($nomFichier)) { + $echecs.Add(("Pack « {0} » : nomFichier vide." -f $code)) + continue + } + if ($nomFichier -ne [System.IO.Path]::GetFileName($nomFichier)) { + $echecs.Add(("Pack « {0} » : nomFichier « {1} » contient un chemin (interdit)." -f $code, $nomFichier)) + continue + } + + $chemin = Join-Path (Join-Path (Join-Path $racine $code) $sens) $nomFichier + $declare.Add($chemin.ToLowerInvariant()) + $relatif = ('{0}/{1}/{2}' -f $code, $sens, $nomFichier) + + # Un fichier declare est un fichier TELECHARGE par chaque telephone : + # signaler ceux qui ne servent a rien. + if ($nomFichier.EndsWith('.onnx', [System.StringComparison]::OrdinalIgnoreCase) ` + -and $nomFichier -match 'past') { + $alertes.Add(("{0} : decodeur a cache (past_key_values) IGNORE par l'application, mais declare donc TELECHARGE pour rien." -f $relatif)) + } + elseif ($nomFichier.EndsWith('.spm', [System.StringComparison]::OrdinalIgnoreCase) ` + -and $NomsVocabulaire -notcontains $nomFichier) { + $alertes.Add(("{0} : nom de vocabulaire non reconnu (attendu vocab.spm, source.spm ou target.spm) : pris comme repli « premier .spm »." -f $relatif)) + } + + if (-not (Test-Path -LiteralPath $chemin -PathType Leaf)) { + $echecs.Add(("Fichier ABSENT sur le disque : {0} -> le mobile recevra 404." -f $relatif)) + continue + } + + $info = Get-Item -LiteralPath $chemin + $taille = [long]$fichier.tailleOctets + if ($taille -le 0) { + $alertes.Add(("{0} : tailleOctets non renseignee (0) -> pas de controle de taille ni de progression." -f $relatif)) + } + elseif ($taille -ne $info.Length) { + $echecs.Add(("{0} : taille differente -> manifeste {1} octet(s), disque {2}." -f $relatif, $taille, $info.Length)) + } + + $sha = ([string]$fichier.sha256).Trim() + if ([string]::IsNullOrWhiteSpace($sha)) { + $echecs.Add(("{0} : empreinte SHA-256 absente -> le pack sera REFUSE par le mobile." -f $relatif)) + continue + } + + $reel = Get-ManifesteEmpreinte $chemin + if (-not [string]::Equals($sha, $reel, [System.StringComparison]::OrdinalIgnoreCase)) { + $echecs.Add(("{0} : empreinte differente ->`r`n manifeste {1}`r`n disque {2}" -f $relatif, $sha, $reel)) + } + + $nbFichiers++ + $octetsTotal += $info.Length + } + } + + # Fichiers presents mais non declares : jamais telecharges, poids mort. + foreach ($fichierDisque in @(Get-ChildItem -LiteralPath $racine -Recurse -File)) { + if ($fichierDisque.FullName.ToLowerInvariant() -eq $Sortie.ToLowerInvariant()) { continue } + # La sauvegarde du manifeste ecrite par ce script n'est evidemment pas un + # fichier de modele : la signaler serait un faux positif a chaque controle. + if ($fichierDisque.FullName.ToLowerInvariant() -eq ($Sortie + '.bak').ToLowerInvariant()) { continue } + + $relatifDisque = $fichierDisque.FullName.Substring($racine.Length).TrimStart('\', '/') + # Dossiers techniques (ex. .hf-cache du script d'export, .tmp-*) : ce ne + # sont pas des modeles, et un cache peut contenir des milliers de fichiers. + if ($relatifDisque -match '(^|\\)\.[^\\]') { continue } + + if (-not $declare.Contains($fichierDisque.FullName.ToLowerInvariant())) { + $alertes.Add(("Fichier non declare dans le manifeste (jamais telecharge) : {0}" -f $relatifDisque)) + } + } + + Write-ManifesteInfo ("{0} pack(s), {1} fichier(s) verifie(s), {2}" -f $packs.Count, $nbFichiers, (Format-ManifesteTaille $octetsTotal)) + Write-Host '' + + if (Write-ManifesteBilan $echecs $alertes) { exit 0 } else { exit 1 } +} + +# ============================================================================ +# MODE GENERATION +# ============================================================================ +$dossiersPacks = @(Get-ChildItem -LiteralPath $racine -Directory | + Where-Object { -not $_.Name.StartsWith('.') } | + Sort-Object -Property Name) +if ($dossiersPacks.Count -eq 0) { + $message = ("Aucun sous-dossier de langue sous {0} (attendu : {0}\es\versFrancais\encoder.onnx)." -f $racine) + # -AutoriserVide couvre les DEUX causes de manifeste vide : racine sans + # dossier de langue, et dossiers sans aucun fichier exploitable. + if ($AutoriserVide) { $alertes.Add($message) } else { $echecs.Add($message) } +} + +$blocsPacks = New-Object 'System.Collections.Generic.List[string]' +$recap = New-Object 'System.Collections.Generic.List[string]' + +foreach ($dossierPack in $dossiersPacks) { + $nomDossier = $dossierPack.Name + $code = $nomDossier.Trim().ToLowerInvariant() + + if (-not (Test-ManifesteCodeValide $code)) { + $alertes.Add(("Dossier ignore « {0} » : code de langue invalide (2 a 10 caracteres, minuscules a-z, chiffres, tiret)." -f $nomDossier)) + continue + } + # -cne : comparaison SENSIBLE A LA CASSE. « -ne » considererait « ru » et + # « RU » comme egaux et ne signalerait rien. + if ($code -cne $nomDossier) { + $alertes.Add(("Dossier « {0} » : le manifeste ecrit « {1} ». Renommer le dossier si le volume peut etre sensible a la casse." -f $nomDossier, $code)) + } + + $libelle = Resolve-ManifesteLibelle $code $Libelles + $blocsFichiers = New-Object 'System.Collections.Generic.List[string]' + $nbFichiersPack = 0 + $octetsPack = [long]0 + + foreach ($dossierSens in @(Get-ChildItem -LiteralPath $dossierPack.FullName -Directory | Sort-Object -Property Name)) { + $sens = Resolve-ManifesteSens $dossierSens.Name + if (-not $sens) { + $alertes.Add(("Dossier ignore {0}\{1} : sens inconnu (attendu versFrancais, depuisFrancais ou commun)." -f $nomDossier, $dossierSens.Name)) + continue + } + if ($sens -cne $dossierSens.Name) { + $alertes.Add(("Dossier {0}\{1} : le manifeste ecrit « {2} » (casse canonique exigee par le mobile)." -f $nomDossier, $dossierSens.Name, $sens)) + } + + # L'API ne sert que {code}/{sens}/{fichier} : un sous-dossier n'est jamais atteignable. + foreach ($sousDossier in @(Get-ChildItem -LiteralPath $dossierSens.FullName -Directory)) { + $alertes.Add(("Dossier ignore {0}\{1}\{2} : l'API ne sert que {{code}}/{{sens}}/{{fichier}}." -f $nomDossier, $dossierSens.Name, $sousDossier.Name)) + } + + foreach ($fichier in @(Get-ChildItem -LiteralPath $dossierSens.FullName -File | Sort-Object -Property Name)) { + # Deux fichiers inutiles qu'il ne faut PAS livrer : declares ici, ils + # seraient telecharges par chaque telephone pour rien. + if ($fichier.Name.EndsWith('.onnx', [System.StringComparison]::OrdinalIgnoreCase) ` + -and $fichier.Name -match 'past') { + $alertes.Add(("{0}\{1}\{2} (~{3}) : decodeur a cache (past_key_values) IGNORE par l'application, mais il serait TELECHARGE. Ne pas livrer ce fichier." -f $nomDossier, $dossierSens.Name, $fichier.Name, (Format-ManifesteTaille $fichier.Length))) + } + elseif ($fichier.Name.EndsWith('.spm', [System.StringComparison]::OrdinalIgnoreCase) ` + -and $NomsVocabulaire -notcontains $fichier.Name) { + $alertes.Add(("{0}\{1}\{2} : nom de vocabulaire non reconnu (attendu vocab.spm, source.spm ou target.spm). L'application le prendrait comme repli « premier .spm » : verifier qu'il est bien le bon." -f $nomDossier, $dossierSens.Name, $fichier.Name)) + } + + $sha = Get-ManifesteEmpreinte $fichier.FullName + $blocsFichiers.Add((New-ManifesteBlocFichier -sens $sens -nomFichier $fichier.Name -taille $fichier.Length -sha256 $sha)) + $nbFichiersPack++ + $octetsPack += $fichier.Length + } + } + + if ($nbFichiersPack -eq 0) { + $alertes.Add(("Pack « {0} » ignore : aucun fichier utilisable." -f $code)) + continue + } + + $blocsPacks.Add((New-ManifesteBlocPack -code $code -libelle $libelle -version $Version -blocsFichiers $blocsFichiers)) + $recap.Add((' {0,-6} {1,-16} {2,3} fichier(s) {3,12}' -f $code, $libelle, $nbFichiersPack, (Format-ManifesteTaille $octetsPack))) +} + +if ($blocsPacks.Count -eq 0 -and -not $AutoriserVide) { + $echecs.Add('Aucun pack exploitable : manifeste NON ecrit (un manifeste vide ferait afficher au mobile « Aucun modele de langue n''est disponible sur le serveur »).') + $echecs.Add('Corriger l''arborescence, ou forcer avec -AutoriserVide si c''est volontaire.') +} + +if ($echecs.Count -gt 0) { + Write-ManifesteBilan $echecs $alertes | Out-Null + exit 1 +} + +$json = New-ManifesteJsonText $blocsPacks + +foreach ($ligne in $recap) { Write-ManifesteInfo $ligne } +Write-Host '' + +if (-not $PSCmdlet.ShouldProcess($Sortie, 'Ecriture du manifeste des packs de langue')) { + Write-ManifesteInfo 'Simulation (-WhatIf) : aucun fichier ecrit. Contenu qui aurait ete ecrit :' + Write-Host '' + Write-Host $json + Write-Host '' + Write-ManifesteBilan $echecs $alertes | Out-Null + exit 0 +} + +if (Test-Path -LiteralPath $Sortie -PathType Leaf) { + $sauvegarde = $Sortie + '.bak' + Copy-Item -LiteralPath $Sortie -Destination $sauvegarde -Force + Write-ManifesteInfo ("Manifeste precedent conserve : {0}" -f $sauvegarde) +} + +Write-ManifesteFichier -chemin $Sortie -contenu $json +Write-ManifesteOk ("Manifeste ecrit : {0}" -f $Sortie) +Write-Host '' + +foreach ($alerte in $alertes) { Write-ManifesteAlerte $alerte } +Write-Host '' +Write-ManifesteInfo 'Aucun demarrage/redemarrage de service n''est necessaire : l''API relit le' +Write-ManifesteInfo 'manifeste a CHAQUE appel de GET /api/langues.' +Write-ManifesteInfo 'Le mobile, lui, garde son index memorise : il faut un rafraichissement' +Write-ManifesteInfo '(liste des langues -> actualiser) pour voir la nouvelle liste.' +Write-Host '' +Write-ManifesteInfo 'Controles a enchainer :' +Write-ManifesteInfo (' 1. .\New-OmikaLanguesManifeste.ps1 -Verifier') +Write-ManifesteInfo ' 2. Invoke-RestMethod https:///api/langues | ConvertTo-Json -Depth 6' + +exit 0 diff --git a/infra/deploy/Omika.Deploy.Common.psm1 b/infra/deploy/Omika.Deploy.Common.psm1 new file mode 100644 index 0000000..e3638e4 --- /dev/null +++ b/infra/deploy/Omika.Deploy.Common.psm1 @@ -0,0 +1,738 @@ +# ============================================================ +# Omika - Module commun de deploiement des services Windows +# ============================================================ +# Utilise par les scripts Install-Omika*.ps1 (UN FICHIER PAR DEPLOIEMENT). +# +# Ce module regroupe ce qui etait duplique ou implicite dans l'ancien +# Install-OmikaServices.ps1 monolithique : +# - controle des droits administrateur ; +# - messages homogenes (etape / info / ok / avertissement / echec) ; +# - creation de dossiers idempotente ; +# - ACL NTFS AVEC CONTROLE DU CODE RETOUR d'icacls ; +# - validation du compte de service (existence + droit « Ouvrir une session +# en tant que service ») ; +# - creation / suppression / verification d'un service Windows. +# +# COMPATIBILITE : Windows PowerShell 5.1 (aucune syntaxe PS 7). +# +# CE MODULE NE DEMARRE JAMAIS UN SERVICE. Il cree et configure uniquement ; +# le demarrage reste une action manuelle et explicite (doctrine Phase 5C.2C). +# +# A PROPOS DE -WhatIf : +# Les variables de preference ($WhatIfPreference) NE se propagent PAS dans +# l'etat de session d'un module. Les scripts appelants doivent donc transmettre +# explicitement -WhatIf:$Simulation a chaque appel. Chaque fonction marquee +# [CmdletBinding(SupportsShouldProcess)] l'accepte. +# ============================================================ + +# --- Messages ---------------------------------------------------------------- + +function Write-OmikaStep { + param([Parameter(Mandatory = $true)][string]$Message) + Write-Host '' + Write-Host "== $Message ==" -ForegroundColor Cyan +} + +function Write-OmikaInfo { + param([Parameter(Mandatory = $true)][string]$Message) + Write-Host " .. $Message" +} + +function Write-OmikaOk { + param([Parameter(Mandatory = $true)][string]$Message) + Write-Host " OK $Message" -ForegroundColor Green +} + +function Write-OmikaWarn { + param([Parameter(Mandatory = $true)][string]$Message) + Write-Host " ATTENTION $Message" -ForegroundColor Yellow +} + +function Write-OmikaFail { + param([Parameter(Mandatory = $true)][string]$Message) + Write-Host " ECHEC $Message" -ForegroundColor Red +} + +# --- Prerequis --------------------------------------------------------------- + +function Assert-OmikaAdmin { + <# + .SYNOPSIS + Verifie que la session PowerShell est elevee. Leve une exception sinon. + #> + $identite = [Security.Principal.WindowsIdentity]::GetCurrent() + $principal = New-Object Security.Principal.WindowsPrincipal($identite) + if (-not $principal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { + throw "Ce script doit etre execute en PowerShell ADMINISTRATEUR (clic droit -> Executer en tant qu'administrateur)." + } +} + +function Get-OmikaPaths { + <# + .SYNOPSIS + Resout l'arborescence serveur C:\Omika (meme convention que + Install-OmikaServerFiles.ps1). + #> + param([string]$InstallRoot = 'C:\Omika') + + return [pscustomobject]@{ + InstallRoot = $InstallRoot + Apps = Join-Path $InstallRoot 'Apps' + Data = Join-Path $InstallRoot 'Data' + Logs = Join-Path $InstallRoot 'Logs' + Config = Join-Path $InstallRoot 'Config' + Backups = Join-Path $InstallRoot 'Backups' + Deploy = Join-Path $InstallRoot 'Deploy' + } +} + +# --- Dossiers ---------------------------------------------------------------- + +function New-OmikaDirectory { + [CmdletBinding(SupportsShouldProcess = $true)] + param([Parameter(Mandatory = $true)][string]$Path) + + if (Test-Path -LiteralPath $Path) { + Write-OmikaInfo "Dossier deja present : $Path" + return $false + } + if ($PSCmdlet.ShouldProcess($Path, 'Creer le dossier')) { + New-Item -ItemType Directory -Force -Path $Path | Out-Null + Write-OmikaOk "Dossier cree : $Path" + return $true + } + return $false +} + +# --- Compte de service ------------------------------------------------------- + +function Resolve-OmikaAccountName { + <# + .SYNOPSIS + Normalise un compte de service en forme NON AMBIGUE 'ORDINATEUR\compte'. + + .DESCRIPTION + L'ancien script passait la forme '.\svc_omika_api' directement a icacls. + La forme '.\' est une commodite de ligne de commande : elle n'est pas la + forme documentee d'icacls (qui attend 'Compte' ou 'Domaine\Compte'). + Comme le bac a sable de developpement ne permet pas de verifier les + ecritures d'ACL, ce module ne pariera pas sur la forme '.\' : il resout + systematiquement en 'ORDINATEUR\compte', forme non ambigue, et le script + CONTROLE le code retour d'icacls (voir Grant-OmikaAcl). + #> + param( + [Parameter(Mandatory = $true)][string]$Account, + [string]$ComputerName = $env:COMPUTERNAME + ) + + if ($Account -eq '.') { return "$ComputerName\$env:USERNAME" } + if ($Account.StartsWith('.\')) { return ('{0}\{1}' -f $ComputerName, $Account.Substring(2)) } + if ($Account.StartsWith('./')) { return ('{0}\{1}' -f $ComputerName, $Account.Substring(2)) } + return $Account +} + +function Test-OmikaLocalAccount { + <# + .SYNOPSIS + Verifie qu'un compte de service existe sur la machine. + .OUTPUTS + PSCustomObject : Nom, FormeResolue, Existe ($true/$false/$null si domaine), + Actif, Sid, Raison. + #> + param( + [Parameter(Mandatory = $true)][string]$Account, + [string]$ComputerName = $env:COMPUTERNAME + ) + + $resolu = Resolve-OmikaAccountName -Account $Account -ComputerName $ComputerName + $resultat = [pscustomobject]@{ + Nom = $Account + FormeResolue = $resolu + Existe = $null + Actif = $null + Sid = $null + Raison = '' + } + + # Compte de domaine : non verifiable localement (le DC est autoritaire). + $nomCourt = $resolu + if ($resolu.Contains('\')) { $nomCourt = $resolu.Substring($resolu.IndexOf('\') + 1) } + + if ($resolu.Contains('\') -and -not $resolu.StartsWith("$ComputerName\", [System.StringComparison]::OrdinalIgnoreCase)) { + $resultat.Raison = 'compte de domaine : existence non verifiable depuis ce serveur' + return $resultat + } + + # 1) Get-LocalUser (module LocalAccounts) : leve UserNotFoundException si le + # compte est absent. C'est le chemin nominal. + if (Get-Command -Name Get-LocalUser -ErrorAction SilentlyContinue) { + try { + $utilisateur = Get-LocalUser -Name $nomCourt -ErrorAction Stop + $resultat.Existe = $true + $resultat.Actif = [bool]$utilisateur.Enabled + if ($utilisateur.SID) { $resultat.Sid = $utilisateur.SID.Value } + return $resultat + } + catch { + if ($_.Exception.GetType().Name -eq 'UserNotFoundException') { + $resultat.Existe = $false + $resultat.Raison = "compte local introuvable : $resolu" + return $resultat + } + # Autre erreur (droits, module...) : on ne conclut pas, on passe au repli. + } + } + + # 2) Repli net.exe user : code retour 0 = le compte existe, non nul = absent. + # + # PAS DE REPLI ADSI. Verifie en test sur ce poste : + # [ADSI]("WinNT://ORDINATEUR/compte,user") -> AUCUNE exception pour un + # compte inexistant (et .Name vide) : ce repli produisait un FAUX POSITIF + # « Existe = True », c'est-a-dire exactement le diagnostic inverse de + # celui attendu. Un faux positif est pire qu'une incertitude ici : le + # script laisserait creer un service avec un compte inexistant. + # Le nom est filtre sur le guillemet simple (argument de ligne de commande). + if ($nomCourt -notmatch "'") { + $ancien = $ErrorActionPreference + $ErrorActionPreference = 'Continue' + try { + $null = (& net.exe user $nomCourt 2>&1 | Out-String) + $code = $LASTEXITCODE + } + finally { + $ErrorActionPreference = $ancien + } + + if ($code -eq 0) { + $resultat.Existe = $true + return $resultat + } + $resultat.Existe = $false + $resultat.Raison = "compte local introuvable : $resolu" + return $resultat + } + + # 3) Ni l'un ni l'autre exploitable : on reste INDETERMINE (jamais « existe »). + $resultat.Raison = 'existence non verifiable (ni Get-LocalUser ni net.exe exploitables)' + return $resultat +} + +function Get-OmikaServiceLogonRight { + <# + .SYNOPSIS + Lit la liste des comptes titulaires du droit « Ouvrir une session en tant + que service » (SeServiceLogonRight) via un export secedit. + .OUTPUTS + Tableau d'entrees (SID ou nom), ou $null si indeterminable (non admin). + #> + $fichier = Join-Path $env:TEMP ('omika-secedit-{0}.inf' -f ([guid]::NewGuid().ToString('N'))) + $ancien = $ErrorActionPreference + $ErrorActionPreference = 'Continue' + try { + & secedit.exe /export /areas USER_RIGHTS /cfg $fichier | Out-Null + if (-not (Test-Path -LiteralPath $fichier)) { return $null } + + # Les noms de privileges (SeServiceLogonRight) ne sont PAS localises : + # le filtrage fonctionne sur un Windows francais. + $ligne = Get-Content -LiteralPath $fichier | + Where-Object { $_ -match '^\s*SeServiceLogonRight\s*=' } | + Select-Object -First 1 + if (-not $ligne) { return @() } + + $valeur = ($ligne -split '=', 2)[1] + $entrees = @($valeur -split ',' | ForEach-Object { $_.Trim() } | Where-Object { $_ -ne '' }) + return $entrees + } + catch { + return $null + } + finally { + $ErrorActionPreference = $ancien + if (Test-Path -LiteralPath $fichier) { + Remove-Item -LiteralPath $fichier -Force -ErrorAction SilentlyContinue + } + } +} + +function Test-OmikaServiceLogonRight { + <# + .SYNOPSIS + Verifie que le compte possede le droit « Ouvrir une session en tant que + service ». C'est la cause n1 d'echec de demarrage (erreur 1069/1053). + .OUTPUTS + $true, $false, ou $null si le droit n'a pas pu etre determine. + #> + param( + [Parameter(Mandatory = $true)][string]$Account, + [string]$ComputerName = $env:COMPUTERNAME + ) + + $compte = Test-OmikaLocalAccount -Account $Account -ComputerName $ComputerName + $droits = Get-OmikaServiceLogonRight + if ($null -eq $droits) { return $null } + + $candidats = @() + if ($compte.Sid) { $candidats += $compte.Sid } + if ($compte.FormeResolue) { $candidats += $compte.FormeResolue } + $nomCourt = $compte.FormeResolue + if ($nomCourt.Contains('\')) { $nomCourt = $nomCourt.Substring($nomCourt.IndexOf('\') + 1) } + if ($nomCourt) { $candidats += $nomCourt } + + foreach ($entree in $droits) { + foreach ($candidat in $candidats) { + if ([string]::IsNullOrWhiteSpace($candidat)) { continue } + if ($entree -eq $candidat) { return $true } + # secedit exporte les comptes locaux sous forme de SID (*S-1-5-21-...). + if ($entree -like "*$candidat*") { return $true } + } + } + return $false +} + +function Assert-OmikaServiceAccount { + <# + .SYNOPSIS + Verifie le compte de service avant la creation (existence + droit de + connexion). Leve une exception si le compte n'existe pas ; avertit + seulement si un droit manque (New-Service peut encore reussir, mais le + DEMARRAGE echouera). + #> + param( + [Parameter(Mandatory = $true)][string]$Account, + [string]$ComputerName = $env:COMPUTERNAME + ) + + $compte = Test-OmikaLocalAccount -Account $Account -ComputerName $ComputerName + Write-OmikaInfo "Compte de service : $($compte.FormeResolue)" + + if ($compte.Existe -eq $false) { + throw ("Compte de service introuvable : $($compte.FormeResolue). " + + "Creez le compte local dedie AVANT ce script (jamais LocalSystem, " + + "jamais un compte humain).") + } + if ($compte.Existe -eq $null) { + Write-OmikaWarn "Existence du compte non verifiable ($($compte.Raison))." + } + elseif ($compte.Actif -eq $false) { + Write-OmikaWarn "Le compte $($compte.FormeResolue) est DESACTIVE : le service ne demarrera pas." + } + + $droit = Test-OmikaServiceLogonRight -Account $Account -ComputerName $ComputerName + if ($droit -eq $false) { + Write-OmikaWarn "Le compte $($compte.FormeResolue) ne possede PAS le droit" + Write-OmikaWarn " « Ouvrir une session en tant que service » (SeServiceLogonRight)." + Write-OmikaWarn " -> La creation du service reussira, mais le DEMARRAGE echouera (erreur 1069)." + Write-OmikaWarn " -> secpol.msc : Attribution des droits utilisateur / Ouvrir une session en tant que service." + } + elseif ($droit -eq $null) { + Write-OmikaWarn "Droit de connexion en tant que service : non verifiable (secedit inaccessible)." + } + else { + Write-OmikaOk "Droit « Ouvrir une session en tant que service » : present." + } + + return $compte +} + +# --- ACL --------------------------------------------------------------------- + +function Grant-OmikaAcl { + <# + .SYNOPSIS + Pose une ACL NTFS et CONTROLE le code retour d'icacls. + + .DESCRIPTION + L'ancien script ignorait totalement le code retour d'icacls : une ACL + refusee passait inapercue a l'installation et ne se manifestait qu'au + premier demarrage du service, par une erreur d'acces illisible. + + Deux cas sont distingues : + - dossier absent -> avertissement BRUYANT (sauf -RequireExisting) ; + - icacls en echec -> exception (le script s'arrete). + + .PARAMETER Right + M = Modifier (ecriture), R = Lecture seule. + #> + [CmdletBinding(SupportsShouldProcess = $true)] + param( + [Parameter(Mandatory = $true)][string]$Path, + [Parameter(Mandatory = $true)][string]$Account, + [ValidateSet('M', 'R')][string]$Right = 'M', + [switch]$RequireExisting + ) + + $resolu = Resolve-OmikaAccountName -Account $Account + + if (-not (Test-Path -LiteralPath $Path)) { + $message = "Dossier absent, aucune ACL posee : $Path (compte $resolu)" + if ($RequireExisting) { throw $message } + Write-OmikaWarn $message + Write-OmikaWarn ' -> le service subira une erreur d''acces a son premier demarrage.' + return $false + } + + $ace = '{0}:(OI)(CI){1}' -f $resolu, $Right + if (-not $PSCmdlet.ShouldProcess($Path, "ACL $Right pour $resolu")) { return $false } + + # icacls ecrit ses erreurs sur stderr : sous $ErrorActionPreference='Stop' une + # NativeCommandError deviendrait TERMINANTE et masquerait le vrai code retour. + # On isole donc l'appel. + $ancien = $ErrorActionPreference + $ErrorActionPreference = 'Continue' + try { + $sortie = (& icacls.exe $Path /grant:r $ace 2>&1 | Out-String) + $code = $LASTEXITCODE + } + finally { + $ErrorActionPreference = $ancien + } + + if ($code -ne 0) { + throw ("icacls a echoue (code $code) sur '$Path' pour '$resolu'.`n" + + "Sortie icacls : $($sortie.Trim())`n" + + "Verifiez que le compte existe et que la forme du nom est acceptee " + + "('ORDINATEUR\compte').") + } + + Write-OmikaOk "ACL $Right : $resolu sur $Path" + return $true +} + +# --- Service Windows --------------------------------------------------------- + +function Get-OmikaServiceState { + <# + .SYNOPSIS + Etat reel d'un service (CIM), ou $null s'il n'existe pas. + Permet de detecter un service existant qui pointe sur un AUTRE binaire + ou tourne sous un AUTRE compte que ceux attendus. + #> + param([Parameter(Mandatory = $true)][string]$Name) + + $service = Get-CimInstance -ClassName Win32_Service -Filter ("Name='{0}'" -f $Name) -ErrorAction SilentlyContinue + if (-not $service) { return $null } + + return [pscustomobject]@{ + Nom = $service.Name + NomAffiche = $service.DisplayName + Etat = $service.State + Demarrage = $service.StartMode + CheminExe = $service.PathName + Compte = $service.StartName + Description = $service.Description + } +} + +function Install-OmikaService { + <# + .SYNOPSIS + Cree un service Windows (StartupType Manual par defaut), de facon + IDEMPOTENTE, et verifie ce qui a ete reellement cree. + + .DESCRIPTION + - Service inexistant -> creation (mot de passe saisi via Get-Credential, + jamais en dur, jamais affiche). + - Service existant -> aucune creation ; comparaison du binaire et du + compte avec les valeurs attendues, avec avertissement si divergence. + - Ne demarre JAMAIS le service. + + .OUTPUTS + PSCustomObject : Nom, Cree, ExistaitDeja, Conforme, Etat. + #> + [CmdletBinding(SupportsShouldProcess = $true)] + param( + [Parameter(Mandatory = $true)][string]$Name, + [Parameter(Mandatory = $true)][string]$DisplayName, + [Parameter(Mandatory = $true)][string]$ExePath, + [Parameter(Mandatory = $true)][string]$Account, + [string]$Description = '', + [ValidateSet('Manual', 'Automatic', 'Disabled')][string]$StartupType = 'Manual' + ) + + $resultat = [pscustomobject]@{ + Nom = $Name + Cree = $false + ExistaitDeja = $false + Conforme = $null + Etat = '' + } + + if (-not (Test-Path -LiteralPath $ExePath -PathType Leaf)) { + throw "Executable introuvable pour le service '$Name' : $ExePath" + } + + $attendu = '"{0}"' -f $ExePath + $existant = Get-OmikaServiceState -Name $Name + + if ($existant) { + $resultat.ExistaitDeja = $true + $resultat.Etat = $existant.Etat + Write-OmikaInfo "Service '$Name' deja present : aucune creation (idempotent)." + + $conforme = $true + if ($existant.CheminExe -and $existant.CheminExe.Trim('"') -ne $ExePath) { + Write-OmikaWarn " Binaire DIFFERENT de celui attendu :" + Write-OmikaWarn " attendu : $ExePath" + Write-OmikaWarn " reel : $($existant.CheminExe)" + $conforme = $false + } + $compteAttendu = (Resolve-OmikaAccountName -Account $Account).ToLowerInvariant() + if ($existant.Compte -and $existant.Compte.ToLowerInvariant() -ne $compteAttendu) { + Write-OmikaWarn " Compte DIFFERENT de celui attendu :" + Write-OmikaWarn " attendu : $compteAttendu" + Write-OmikaWarn " reel : $($existant.Compte)" + $conforme = $false + } + $resultat.Conforme = $conforme + return $resultat + } + + if ($PSCmdlet.ShouldProcess($Name, "Creer le service Windows (compte $Account, $StartupType)")) { + $cred = Get-Credential -UserName $Account -Message "Mot de passe du compte de service $Name" + $parametres = @{ + Name = $Name + DisplayName = $DisplayName + BinaryPathName = $attendu + Credential = $cred + StartupType = $StartupType + } + if ($Description) { $parametres['Description'] = $Description } + + New-Service @parametres | Out-Null + Write-OmikaOk "Service cree : $Name ($StartupType, non demarre)." + $resultat.Cree = $true + + $etat = Get-OmikaServiceState -Name $Name + if ($etat) { $resultat.Etat = $etat.Etat } + } + + return $resultat +} + +function Remove-OmikaService { + <# + .SYNOPSIS + Supprime un service Windows (rollback). Refuse si le service tourne + encore : il faut l'arreter explicitement d'abord (aucun arret automatique). + #> + [CmdletBinding(SupportsShouldProcess = $true)] + param([Parameter(Mandatory = $true)][string]$Name) + + $existant = Get-OmikaServiceState -Name $Name + if (-not $existant) { + Write-OmikaInfo "Service '$Name' absent : rien a supprimer." + return $false + } + if ($existant.Etat -eq 'Running') { + throw "Le service '$Name' est en cours d'execution : arretez-le explicitement (Stop-Service $Name) avant de le supprimer." + } + + if ($PSCmdlet.ShouldProcess($Name, 'Supprimer le service Windows')) { + $ancien = $ErrorActionPreference + $ErrorActionPreference = 'Continue' + try { + $sortie = (& sc.exe delete $Name 2>&1 | Out-String) + $code = $LASTEXITCODE + } + finally { + $ErrorActionPreference = $ancien + } + if ($code -ne 0) { throw "sc.exe delete a echoue (code $code) pour '$Name' : $($sortie.Trim())" } + Write-OmikaOk "Service supprime : $Name" + return $true + } + return $false +} + +# --- Restitutions ------------------------------------------------------------ + +function Write-OmikaServiceSummary { + <# + .SYNOPSIS + Affiche un recapitulatif de fin d'installation : etat reel du service + et rappels de ce qui reste MANUEL. + #> + param( + [Parameter(Mandatory = $true)][string]$Name, + [string]$ExePath = '', + [string]$Account = '', + [string[]]$Rappels = @(), + [switch]$Supprime + ) + + Write-Host '' + if ($Supprime) { + Write-Host ("{0} : SUPPRIME." -f $Name) -ForegroundColor Green + return + } + + Write-Host ("{0} : INSTALLATION TERMINEE (service NON demarre)." -f $Name) -ForegroundColor Green + + $etat = Get-OmikaServiceState -Name $Name + if ($etat) { + Write-Host '' + Write-Host ' Etat reel du service :' + Write-Host (" Nom : {0}" -f $etat.Nom) + Write-Host (" Nom affiche : {0}" -f $etat.NomAffiche) + Write-Host (" Etat : {0}" -f $etat.Etat) + Write-Host (" Demarrage : {0}" -f $etat.Demarrage) + Write-Host (" Binaire : {0}" -f $etat.CheminExe) + Write-Host (" Compte : {0}" -f $etat.Compte) + } + else { + Write-OmikaWarn "Le service '$Name' est introuvable apres installation (mode -WhatIf ?)." + } + + if ($Rappels.Count -gt 0) { + Write-Host '' + Write-Host ' RAPPELS (jamais automatises par ce script) :' -ForegroundColor Yellow + foreach ($rappel in $Rappels) { + Write-Host (" - {0}" -f $rappel) -ForegroundColor Yellow + } + } + + Write-Host '' + Write-Host ' Le demarrage est une action MANUELLE et explicite :' -ForegroundColor Yellow + Write-Host (" Start-Service {0}" -f $Name) -ForegroundColor Yellow + Write-Host '' +} + +# --- Port loopback ----------------------------------------------------------- + +function Get-OmikaDebutPlageEphemere { + <# + .SYNOPSIS + Borne basse de la plage de ports ephemere Windows (49152 par defaut). + .DESCRIPTION + La sortie de netsh est LOCALISEE : on prend le premier nombre de la + reponse, qui est toujours le port de debut, quelle que soit la langue. + #> + $texte = (netsh int ipv4 show dynamicport tcp | Out-String) + $nombres = [regex]::Matches($texte, '\d+') + if ($nombres.Count -ge 1) { return [int]$nombres[0].Value } + return 49152 +} + +function Get-OmikaPlagesReservees { + <# + .SYNOPSIS + Plages TCP reservees par Windows (Hyper-V / WSL / Docker peuvent en + reserver arbitrairement). Necessite une session elevee. + #> + $plages = @() + $ancien = $ErrorActionPreference + $ErrorActionPreference = 'Continue' + try { + $lignes = netsh int ipv4 show excludedportrange protocol=tcp + } + finally { + $ErrorActionPreference = $ancien + } + foreach ($ligne in $lignes) { + $m = [regex]::Match([string]$ligne, '^\s*(\d{1,5})\s+(\d{1,5})\s*$') + if ($m.Success) { + $plages += [pscustomobject]@{ + Debut = [int]$m.Groups[1].Value + Fin = [int]$m.Groups[2].Value + } + } + } + return $plages +} + +function Test-OmikaPortLibre { + <# + .SYNOPSIS + Determine si un port TCP est utilisable sur ce serveur. + + .DESCRIPTION + Quatre causes de refus sont testees : + 1. un processus ecoute deja sur ce port ; + 2. le port tombe dans une plage RESERVEE par Windows ; + 3. le port tombe dans la plage EPHEMERE (une connexion sortante peut le prendre) ; + 4. la reservation reelle sur 127.0.0.1 echoue. + Le test 4 est la preuve : le port est reellement reserve puis relache. + + .OUTPUTS + PSCustomObject : Port, Libre (booleen), Raisons (texte). + #> + param( + [Parameter(Mandatory = $true)] + [ValidateRange(1, 65535)] + [int]$Port, + + [switch]$VerifierPlagesReservees + ) + + $refus = New-Object System.Collections.Generic.List[string] + + # --- 1. Deja en ecoute ? ----------------------------------------------- + $ecoute = @(Get-NetTCPConnection -LocalPort $Port -State Listen -ErrorAction SilentlyContinue) + if ($ecoute.Count -gt 0) { + $qui = @() + foreach ($connexion in $ecoute) { + $processus = Get-Process -Id $connexion.OwningProcess -ErrorAction SilentlyContinue + if ($processus) { $qui += ('{0} (PID {1})' -f $processus.ProcessName, $connexion.OwningProcess) } + else { $qui += ('PID {0}' -f $connexion.OwningProcess) } + } + $refus.Add('deja en ecoute par ' + (($qui | Select-Object -Unique) -join ', ')) + } + + # --- 2. Plage reservee ? ----------------------------------------------- + if ($VerifierPlagesReservees) { + foreach ($plage in (Get-OmikaPlagesReservees)) { + if ($Port -ge $plage.Debut -and $Port -le $plage.Fin) { + $refus.Add(('dans une plage RESERVEE par Windows ({0} a {1})' -f $plage.Debut, $plage.Fin)) + } + } + } + + # --- 3. Plage ephemere ? ---------------------------------------------- + $debutEphemere = Get-OmikaDebutPlageEphemere + if ($Port -ge $debutEphemere) { + $refus.Add(('dans la plage EPHEMERE (a partir de {0}) : une connexion sortante peut le prendre' -f $debutEphemere)) + } + + # --- 4. Test reel : reserver le port sur 127.0.0.1 --------------------- + $verrou = $null + try { + $verrou = [System.Net.Sockets.TcpListener]::new([System.Net.IPAddress]::Loopback, $Port) + $verrou.Start() + } + catch { + $refus.Add("reservation impossible : $($_.Exception.Message)") + } + finally { + if ($verrou) { try { $verrou.Stop() } catch { } } + } + + return [pscustomobject]@{ + Port = $Port + Libre = ($refus.Count -eq 0) + Raisons = ($refus -join ' ; ') + } +} + +Export-ModuleMember -Function @( + 'Write-OmikaStep', + 'Write-OmikaInfo', + 'Write-OmikaOk', + 'Write-OmikaWarn', + 'Write-OmikaFail', + 'Assert-OmikaAdmin', + 'Get-OmikaPaths', + 'New-OmikaDirectory', + 'Resolve-OmikaAccountName', + 'Test-OmikaLocalAccount', + 'Get-OmikaServiceLogonRight', + 'Test-OmikaServiceLogonRight', + 'Assert-OmikaServiceAccount', + 'Grant-OmikaAcl', + 'Get-OmikaServiceState', + 'Install-OmikaService', + 'Remove-OmikaService', + 'Write-OmikaServiceSummary', + 'Get-OmikaDebutPlageEphemere', + 'Get-OmikaPlagesReservees', + 'Test-OmikaPortLibre' +) diff --git a/infra/deploy/Test-PortDisponible.ps1 b/infra/deploy/Test-PortDisponible.ps1 new file mode 100644 index 0000000..460a8fc --- /dev/null +++ b/infra/deploy/Test-PortDisponible.ps1 @@ -0,0 +1,136 @@ +# ============================================================ +# Omika - Test de disponibilite d'un port TCP loopback +# ============================================================ +# Repond a UNE question : « puis-je utiliser ce port, oui ou non ? » +# +# A executer SUR LE SERVEUR (SRV-OMIKA), en PowerShell ADMINISTRATEUR : +# sans elevation, la verification des plages reservees par Windows +# (Hyper-V / WSL / Docker) ne peut pas etre faite et le resultat est INCOMPLET. +# +# Ce script NE MODIFIE RIEN : il lit, puis reserve brievement le port sur +# 127.0.0.1 pour le relacher aussitot. +# +# Quatre causes de refus sont detectees : +# 1. un processus ecoute deja sur ce port ; +# 2. le port est dans une plage RESERVEE par Windows ; +# 3. le port est dans la plage EPHEMERE (une connexion sortante peut le prendre) ; +# 4. la reservation reelle sur 127.0.0.1 echoue. +# +# Le port n'est PAS choisi ici : il se decide contre le plan de ports Apache +# (voir docs\DEPLOIEMENT_API_LANGUES.md §6bis). +# +# EXEMPLES : +# .\Test-PortDisponible.ps1 -Port 5099 +# .\Test-PortDisponible.ps1 -Port 5099 -EssayerSuivants 5 +# +# Codes de sortie : 0 = un port disponible trouve, 1 = aucun. +# ============================================================ + +[CmdletBinding()] +param( + [Parameter(Mandatory = $true)] + [ValidateRange(1, 65535)] + [int]$Port, + + # Nombre de ports consecutifs a tester en plus (ballotage). + [ValidateRange(0, 50)] + [int]$EssayerSuivants = 0 +) + +$ErrorActionPreference = 'Stop' + +# La logique de test vit dans le module commun : une seule implementation, +# partagee avec Install-OmikaLanguesApi.ps1 (-Port). +$moduleCommun = Join-Path $PSScriptRoot 'Omika.Deploy.Common.psm1' +if (-not (Test-Path -LiteralPath $moduleCommun)) { + Write-Host "ERREUR : module introuvable : $moduleCommun" -ForegroundColor Red + Write-Host "Copiez Omika.Deploy.Common.psm1 dans le meme dossier que ce script." -ForegroundColor Red + exit 1 +} +Import-Module $moduleCommun -Force + +function Test-EstAdministrateur { + try { + $identite = [Security.Principal.WindowsIdentity]::GetCurrent() + $principal = New-Object Security.Principal.WindowsPrincipal($identite) + return $principal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) + } + catch { + return $false + } +} + +# --- En-tete ----------------------------------------------------------------- +Write-Host '' +Write-Host '=== Test de disponibilite d''un port TCP ===' -ForegroundColor Cyan +Write-Host "Machine : $env:COMPUTERNAME" +Write-Host "Utilisateur : $env:USERNAME" + +$estAdmin = Test-EstAdministrateur +if ($estAdmin) { + Write-Host 'Mode : ADMINISTRATEUR (test complet)' -ForegroundColor Green +} +else { + Write-Host 'Mode : NON administrateur' -ForegroundColor Yellow + Write-Host ' -> les plages reservees par Windows ne sont PAS verifiables.' -ForegroundColor Yellow + Write-Host ' -> relancez ce script en tant qu''administrateur.' -ForegroundColor Yellow +} + +Write-Host ("Plage ephemere Windows : a partir de {0}" -f (Get-OmikaDebutPlageEphemere)) + +if ($estAdmin) { + $plages = @(Get-OmikaPlagesReservees) + Write-Host ("Plages reservees : {0} plage(s)" -f $plages.Count) + foreach ($plage in $plages) { + Write-Host (" {0} - {1}" -f $plage.Debut, $plage.Fin) + } +} +else { + Write-Host 'Plages reservees : NON VERIFIE (droits insuffisants)' +} + +# --- Tests ------------------------------------------------------------------- +Write-Host '' +$resultats = @() +for ($i = 0; $i -le $EssayerSuivants; $i++) { + $resultats += Test-OmikaPortLibre -Port ($Port + $i) -VerifierPlagesReservees:$estAdmin +} + +foreach ($resultat in $resultats) { + if ($resultat.Libre) { + Write-Host (" {0} DISPONIBLE" -f $resultat.Port) -ForegroundColor Green + } + else { + Write-Host (" {0} INDISPONIBLE -> {1}" -f $resultat.Port, $resultat.Raisons) -ForegroundColor Red + } +} + +$premier = $resultats | Where-Object { $_.Libre } | Select-Object -First 1 + +# --- Verdict ----------------------------------------------------------------- +Write-Host '' +if ($premier) { + Write-Host ("RESULTAT : le port {0} est DISPONIBLE sur ce serveur." -f $premier.Port) -ForegroundColor Green + Write-Host '' + Write-Host 'A poser ensuite en variable MACHINE (variables du service) :' -ForegroundColor Cyan + Write-Host '' + Write-Host (" [Environment]::SetEnvironmentVariable('ASPNETCORE_URLS', 'http://127.0.0.1:{0}', 'Machine')" -f $premier.Port) + Write-Host '' + Write-Host 'Puis, dans le vhost Apache, faire pointer le ProxyPass vers CE MEME port.' + Write-Host 'Un ecart entre les deux envoie les requetes vers un autre service, en silence.' + Write-Host '' +} +else { + Write-Host 'RESULTAT : aucun port disponible dans la plage testee.' -ForegroundColor Red + Write-Host 'Relancez avec davantage de candidats, par exemple :' -ForegroundColor Yellow + Write-Host (" .\Test-PortDisponible.ps1 -Port {0} -EssayerSuivants 10" -f ($Port + $EssayerSuivants + 1)) + Write-Host '' +} + +if (-not $estAdmin) { + Write-Host 'RAPPEL : sans droits administrateur, ce resultat est INCOMPLET.' -ForegroundColor Yellow + Write-Host 'Un port peut etre dans une plage reservee et echouer au demarrage de Kestrel.' -ForegroundColor Yellow + Write-Host '' +} + +if ($premier) { exit 0 } else { exit 1 } diff --git a/infra/deploy/install-phase5b2.ps1 b/infra/deploy/install-phase5b2.ps1 new file mode 100644 index 0000000..ca09fd3 --- /dev/null +++ b/infra/deploy/install-phase5b2.ps1 @@ -0,0 +1,181 @@ +# ============================================================ +# Omika Diagnostic Center — Déploiement Phase 5B2 (SERVER uniquement) +# ============================================================ +# CIBLE : Windows Server 2025, PowerShell ADMINISTRATEUR. +# NE PAS exécuter depuis le poste de développement. +# +# Ce script : +# 1. Vérifie les prérequis (admin + runtime .NET 10 présent). +# 2. Crée C:\Omika\Apps\DiagnosticsWorker et C:\Omika\Apps\DiagnosticsWeb. +# 3. Copie les publications (binaires framework-dependent win-x64). +# 4. Sauvegarde l'ancienne version avant remplacement. +# 5. Copie le Worker (Windows Service REEL). StartupType MANUAL + STOPPED : +# JAMAIS de demarrage avant Phase 5C. Si le service n'existe pas, sa +# creation est DIFFEREE a la Phase 5C (compte A_DETERMINER_EN_PHASE_5C, +# aucun compte LocalSystem/NetworkService fige automatiquement). +# 6. Préserve la configuration serveur déjà injectée (jamais écrasée). +# +# Ce script NE FAIT PAS (interdictions Phase 5B2A) : +# - AUCUN mot de passe PostgreSQL en dur ; AUCUNE donnée secrète écrite. +# - AUCUNE ouverture de port 5432 ni 4318 ; AUCUNE règle firewall. +# - AUCUNE modification du Collector OpenTelemetry. +# - AUCUNE modification de HFSQL ni de Omika.Api. +# - AUCUN démarrage de la Phase 5C. +# - AUCUN démarrage du Worker (service MANUAL + STOPPED, jamais Automatic). +# - AUCUN choix d'hébergement Web (IIS vs Kestrel) : le Web est copié seulement. +# +# IDEMPOTENT : une seconde exécution ne crée pas de service en double, ne +# ré-applique pas le schéma, n'écrase pas la config secrète, ne multiplie pas +# les dossiers, et ne perd ni logs ni checkpoints. +# ============================================================ + +[CmdletBinding()] +param( + [string]$PackageRoot, + [string]$ServiceName = 'OmikaDiagnosticsWorker', + [string]$DisplayName = 'Omika Diagnostics Worker', + [string]$WorkerTarget = 'C:\Omika\Apps\DiagnosticsWorker', + [string]$WebTarget = 'C:\Omika\Apps\DiagnosticsWeb', + [string]$BackupRoot = 'C:\Omika\Backups' +) + +$ErrorActionPreference = 'Stop' + +# --- Resolution de PackageRoot APRES le bloc param (bug : $PSScriptRoot est +# vide dans une valeur par defaut de param()). Valeur par defaut : dossier +# PARENT du dossier du script (le package phase5b2 contient Deploy\ + +# DiagnosticsWorker\ + DiagnosticsWeb\ + Database\). +if (-not $PackageRoot) { + if ($PSScriptRoot) { + $PackageRoot = Split-Path -Parent $PSScriptRoot + } +} +if (-not $PackageRoot -or -not (Test-Path -LiteralPath $PackageRoot)) { + Write-Error "PackageRoot introuvable : '$PackageRoot'. Fournissez -PackageRoot '' explicitement." + exit 1 +} + +function Write-Step([string]$msg) { + Write-Host "== $msg ==" -ForegroundColor Cyan +} + +function Assert-Admin { + $id = [Security.Principal.WindowsIdentity]::GetCurrent() + $principal = New-Object Security.Principal.WindowsPrincipal($id) + if (-not $principal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { + Write-Error "Ce script doit être exécuté en PowerShell ADMINISTRATEUR." + exit 1 + } +} + +function Deploy-Folder([string]$Name, [string]$Source, [string]$Target, [string[]]$Preserve) { + $backup = $null + + if (Test-Path -LiteralPath $Target) { + $stamp = Get-Date -Format 'yyyyMMdd-HHmmss' + $backup = Join-Path $BackupRoot ("{0}-{1}" -f $Name, $stamp) + New-Item -ItemType Directory -Force -Path $backup | Out-Null + Copy-Item -Path (Join-Path $Target '*') -Destination $backup -Recurse -Force -ErrorAction SilentlyContinue + Write-Host " Ancienne version sauvegardée : $backup" + } + + New-Item -ItemType Directory -Force -Path $Target | Out-Null + Copy-Item -Path (Join-Path $Source '*') -Destination $Target -Recurse -Force + + # Préserver la configuration serveur déjà injectée (secret en 5B2B) : + # on restaure les fichiers de config depuis la sauvegarde s'ils existaient. + if ($backup) { + foreach ($file in $Preserve) { + $oldFile = Join-Path $backup $file + if (Test-Path -LiteralPath $oldFile) { + Copy-Item -Path $oldFile -Destination (Join-Path $Target $file) -Force + Write-Host " Configuration serveur préservée : $file" + } + } + } +} + +# --- 1. Prérequis --------------------------------------------------------- +Write-Step 'Prérequis' +Assert-Admin + +$dotnet = Get-Command dotnet -ErrorAction SilentlyContinue +if (-not $dotnet) { + Write-Error "Runtime .NET introuvable. Installez 'ASP.NET Core Runtime 10.x' (hébergement) sur le serveur." + exit 1 +} + +$hasAspNetCore10 = (& $dotnet.Source --list-runtimes 2>$null) -match 'Microsoft\.AspNetCore\.App\s+10\.' +if (-not $hasAspNetCore10) { + Write-Warning "Runtime 'Microsoft.AspNetCore.App 10.x' non détecté. Le Worker et le Web (framework-dependent) en ont besoin. Installez le ASP.NET Core Runtime 10.x avant de démarrer les applications." +} + +$workerSource = Join-Path $PackageRoot 'DiagnosticsWorker' +$webSource = Join-Path $PackageRoot 'DiagnosticsWeb' +if (-not (Test-Path -LiteralPath $workerSource)) { Write-Error "Publication Worker introuvable : $workerSource"; exit 1 } +if (-not (Test-Path -LiteralPath $webSource)) { Write-Error "Publication Web introuvable : $webSource"; exit 1 } + +# --- 2+3+4. Dossiers + copie + sauvegarde --------------------------------- +Write-Step 'Copie des publications (avec sauvegarde)' +New-Item -ItemType Directory -Force -Path $BackupRoot | Out-Null + +Deploy-Folder 'DiagnosticsWorker' $workerSource $WorkerTarget @('appsettings.json', 'appsettings.Production.json') +Deploy-Folder 'DiagnosticsWeb' $webSource $WebTarget @('appsettings.json', 'appsettings.Production.json') + +# --- 5+6. Service Windows (Worker uniquement) ----------------------------- +Write-Step 'Service Windows Worker' +$workerExe = Join-Path $WorkerTarget 'Omika.Diagnostics.Worker.exe' +if (-not (Test-Path -LiteralPath $workerExe)) { + Write-Error "Exécutable Worker introuvable : $workerExe" + exit 1 +} + +# Binaire = VRAI Windows Service ? +$serviceCapable = Test-Path -LiteralPath (Join-Path $WorkerTarget 'Microsoft.Extensions.Hosting.WindowsServices.dll') +if (-not $serviceCapable) { + Write-Error "Le binaire Worker fourni n'est PAS un Windows Service (Microsoft.Extensions.Hosting.WindowsServices.dll absent). Re-publier avec EnableWindowsService=true. Aucun service ne sera cree." + exit 1 +} + +$existing = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue +$serviceInstalled = $false + +if ($existing) { + # Deja installe : NE JAMAIS demarrer. Forcer Manual + Stopped tant que la + # Phase 5C n'a pas valide la source JSONL distante. + Set-Service -Name $ServiceName -StartupType Manual + Stop-Service -Name $ServiceName -Force -ErrorAction SilentlyContinue + Write-Host " Service '$ServiceName' existant : force en Manual + Stopped (jamais demarre avant Phase 5C)." + $serviceInstalled = $true +} else { + # Compte de service definitif = A_DETERMINER_EN_PHASE_5C. Pour ne JAMAIS + # figer LocalSystem/NetworkService automatiquement, la creation du service + # est DIFFEREE a la Phase 5C. Seuls les fichiers sont installes ici. + Write-Warning "Creation du service '$ServiceName' DIFFEREE a la Phase 5C (compte definitif = A_DETERMINER_EN_PHASE_5C). Fichiers installes uniquement, aucun service cree, aucun compte fige." +} + +# --- Résumé ---------------------------------------------------------------- +Write-Host '' +Write-Host 'DEPLOIEMENT 5B2 TERMINE (fichiers copies ; service STOPPE / Manual).' -ForegroundColor Green +Write-Host " Worker : $WorkerTarget" +Write-Host " Web : $WebTarget (hébergement NON décidé ici — voir README-DEPLOYMENT.txt)" +Write-Host '' +if ($serviceInstalled) { + Write-Host 'OmikaDiagnosticsWorker installed but intentionally stopped.' -ForegroundColor Yellow + Write-Host 'Phase 5C is required before enabling or starting the service.' -ForegroundColor Yellow +} else { + Write-Host 'OmikaDiagnosticsWorker service creation deferred to Phase 5C.' -ForegroundColor Yellow + Write-Host 'No service installed: no Windows restart can start the Worker before Phase 5C.' -ForegroundColor Yellow + Write-Host 'Phase 5C is required before enabling or starting the service.' -ForegroundColor Yellow +} +Write-Host '' +Write-Host 'RAPPELS (a faire manuellement, jamais automatise ici) :' -ForegroundColor Yellow +Write-Host " - Injecter la connection string PostgreSQL via variable d'environnement" +Write-Host " ConnectionStrings__DiagnosticsDatabase (ou appsettings.Production.json local, ACL restreinte)." +Write-Host " - Définir le dossier JSONL : Observability__Remote__Directory." +Write-Host " - Appliquer le schéma : Deploy\Install-DatabaseSchema.ps1 (mot de passe jamais en dur)." +Write-Host " - Durcir PostgreSQL (003) : Deploy\Harden-DatabaseRoles.ps1 (contexte administrateur)." +Write-Host " - Décider l'hébergement Web (IIS ou Kestrel) après vérification des rôles serveur." +Write-Host " - Aucune règle firewall 5432/4318 n'a été ni ne doit être ajoutée." +Write-Host " - Phase 5C : determiner le compte de service (A_DETERMINER_EN_PHASE_5C)," +Write-Host " creer/activer le service, puis seulement alors demarrer le Worker." diff --git a/infra/deploy/tests/Test-DeployScripts.ps1 b/infra/deploy/tests/Test-DeployScripts.ps1 new file mode 100644 index 0000000..97d0819 --- /dev/null +++ b/infra/deploy/tests/Test-DeployScripts.ps1 @@ -0,0 +1,143 @@ +# ============================================================ +# Omika Diagnostic Center - Tests NON invasifs des scripts de deploiement +# (Phase 5B2B.3). AUCUN changement systeme : aucune creation de service, +# aucune connexion PostgreSQL, aucun psql execute, aucun fichier serveur. +# ============================================================ +# Valide : +# 1. Syntaxe PowerShell 5.1 (0 erreur) des 3 scripts. +# 2. Resolution des chemins par defaut ($PSScriptRoot corrige). +# 3. Detection psql (explicite / PATH / installation standard / absent). +# 4. Garanties install-phase5b2.ps1 : aucun service cree, aucun demarrage. +# ============================================================ + +$ErrorActionPreference = 'Stop' + +$repo = 'D:\Avalonia\Omika' +$deploySrc = Join-Path $repo 'infra\deploy' +$deployPkg = Join-Path $repo 'artifacts\phase5b2\Deploy' + +$tests = 0 +$fails = 0 + +function Assert([bool]$condition, [string]$label) { + $script:tests++ + if ($condition) { + Write-Host ("PASS {0}" -f $label) -ForegroundColor Green + } else { + $script:fails++ + Write-Host ("FAIL {0}" -f $label) -ForegroundColor Red + } +} + +Write-Host "=== 1. Syntaxe PowerShell 5.1 (0 erreur) ===" +$scripts = @( + (Join-Path $deploySrc 'Install-DatabaseSchema.ps1'), + (Join-Path $deploySrc 'install-phase5b2.ps1'), + (Join-Path $deploySrc 'Harden-DatabaseRoles.ps1') +) +foreach ($s in $scripts) { + $tokens = $null; $errors = $null + [System.Management.Automation.Language.Parser]::ParseFile($s, [ref]$tokens, [ref]$errors) | Out-Null + Assert (($errors -eq $null) -or ($errors.Count -eq 0)) ("Syntaxe OK : " + (Split-Path $s -Leaf)) +} + +Write-Host "" +Write-Host "=== 2. Resolution des chemins par defaut (bug PSScriptRoot corrige) ===" +# Miroir EXACT des expressions des scripts (calculees APRES le bloc param). +$packageRoot = Split-Path -Parent $deployPkg # phase5b2 (parent de Deploy) +$databaseDir = Join-Path $packageRoot 'Database' + +Assert (Test-Path -LiteralPath $packageRoot) "PackageRoot par defaut resout vers le package existant" +Assert (Test-Path -LiteralPath $databaseDir) "DatabaseDir par defaut resout vers ..\Database existant" +Assert (Test-Path -LiteralPath (Join-Path $packageRoot 'DiagnosticsWorker')) "Package contient DiagnosticsWorker" +Assert (Test-Path -LiteralPath (Join-Path $packageRoot 'DiagnosticsWeb')) "Package contient DiagnosticsWeb" + +Write-Host "" +Write-Host "=== 3. Detection psql (resolver) ===" +function Resolve-PsqlPath { + param([string]$ExplicitPath) + if ($ExplicitPath) { + if (-not (Test-Path -LiteralPath $ExplicitPath)) { return $null } + return (Resolve-Path -LiteralPath $ExplicitPath).Path + } + $inPath = Get-Command psql.exe -ErrorAction SilentlyContinue + if ($inPath) { return $inPath.Source } + $candidates = @(Get-ChildItem -Path 'C:\Program Files\PostgreSQL\*\bin\psql.exe' -ErrorAction SilentlyContinue) + if ($candidates.Count -gt 0) { + $best = $candidates | ForEach-Object { + $version = 0 + $verDir = $_.Directory.Parent.Name + if ($verDir -match '^\d+$') { $version = [int]$verDir } + [PSCustomObject]@{ Path = $_.FullName; Version = $version } + } | Sort-Object -Property Version -Descending | Select-Object -First 1 + return $best.Path + } + return $null +} + +# A. chemin explicite existant -> retourne ce chemin (le resolver ne verifie +# que Test-Path, donc tout fichier existant sert ici de jeton de test). +$explicitProbe = Join-Path $deploySrc 'Install-DatabaseSchema.ps1' +Assert ((Resolve-PsqlPath -ExplicitPath $explicitProbe) -eq (Resolve-Path -LiteralPath $explicitProbe).Path) "PsqlPath explicite existant -> utilise tel quel" + +# B. chemin explicite inexistant -> le script doit s'arreter avec erreur claire +# (on verifie ici que le resolver retourne null, et plus bas que le script +# contient bien Write-Error + exit 1). +Assert ((Resolve-PsqlPath -ExplicitPath 'C:\inexistant\psql.exe') -eq $null) "PsqlPath explicite inexistant -> non resolvable (arret clair du script)" + +# C. installation standard PostgreSQL -> detectee (si presente sur ce poste) ; +# sinon le fallback retourne null (comportement documente). +$std = Get-ChildItem -Path 'C:\Program Files\PostgreSQL\*\bin\psql.exe' -ErrorAction SilentlyContinue +Assert ($std -ne $null) "Installation standard PostgreSQL detectee (ou absente : fallback null attendu)" +Write-Host (" (poste dev : {0} psql.exe trouve(s) sous C:\Program Files\PostgreSQL)" -f @($std).Count) + +Write-Host "" +Write-Host "=== 4. Garanties install-phase5b2.ps1 (aucun service, aucun demarrage) ===" +$installContent = Get-Content -LiteralPath (Join-Path $deploySrc 'install-phase5b2.ps1') -Raw +Assert ($installContent -notmatch 'New-Service') "Aucun New-Service (creation differee a Phase 5C)" +Assert ($installContent -notmatch 'Start-Service') "Aucun Start-Service (jamais de demarrage)" +Assert ($installContent -notmatch '-StartupType\s+Automatic') "Aucun StartupType Automatic" +Assert ($installContent -match 'Set-Service\s+-Name\s+\$ServiceName\s+-StartupType\s+Manual') "Service existant force en Manual" +Assert ($installContent -match 'Stop-Service') "Service existant force en Stopped" +Assert ($installContent -match 'A_DETERMINER_EN_PHASE_5C') "Compte de service non fige (A_DETERMINER_EN_PHASE_5C)" + +Write-Host "" +Write-Host "=== 5. Migration 003 (SQL statique, aucun PostgreSQL requis) ===" +$sql003 = Get-Content -LiteralPath (Join-Path $repo 'infra\postgresql\003_diagnostics_roles.sql') -Raw + +# 0 commande ALTER INDEX (les commentaires ne comptent pas : ancrage en debut de ligne). +$alterIndexCmds = @([regex]::Matches($sql003, '(?m)^\s*ALTER\s+INDEX\b') | ForEach-Object { $_.Value }) +Assert ($alterIndexCmds.Count -eq 0) "Aucune commande ALTER INDEX OWNER (0 occurrence)" + +Assert ($sql003 -match 'ALTER\s+TABLE\s+diagnostic_event\s+OWNER\s+TO\s+omika_diagnostics_owner') "ALTER TABLE OWNER diagnostic_event" +Assert ($sql003 -match 'ALTER\s+TABLE\s+telemetry_metric_hourly\s+OWNER\s+TO\s+omika_diagnostics_owner') "ALTER TABLE OWNER telemetry_metric_hourly" +Assert ($sql003 -match 'ALTER\s+SEQUENCE\s+diagnostic_event_id_seq\s+OWNER\s+TO\s+omika_diagnostics_owner') "ALTER SEQUENCE OWNER diagnostic_event_id_seq" +Assert ($sql003 -match 'ALTER\s+SEQUENCE\s+telemetry_metric_hourly_id_seq\s+OWNER\s+TO\s+omika_diagnostics_owner') "ALTER SEQUENCE OWNER telemetry_metric_hourly_id_seq" + +Assert ($sql003 -notmatch '(?m)^\s*REASSIGN\s+OWNED') "Aucun REASSIGN OWNED" +Assert ($sql003 -notmatch '(?m)^\s*DROP\b') "Aucun DROP" +Assert ($sql003 -notmatch '(?m)^\s*TRUNCATE\b') "Aucun TRUNCATE" +Assert ($sql003 -notmatch '(?m)^\s*DELETE\s+FROM') "Aucun DELETE" +Assert ($sql003 -notmatch "(?i)\bPASSWORD\s+'") "Aucun mot de passe en dur" + +Assert ($sql003 -match 'GRANT\s+CONNECT\s+ON\s+DATABASE\s+omika_diagnostics\s+TO\s+omika_diagnostics_worker') "Worker : CONNECT database" +Assert ($sql003 -match 'GRANT\s+USAGE\s+ON\s+SCHEMA\s+public\s+TO\s+omika_diagnostics_worker') "Worker : USAGE schema public" +Assert ($sql003 -match 'GRANT\s+INSERT\s+ON\s+TABLE\s+diagnostic_event\s+TO\s+omika_diagnostics_worker') "Worker : INSERT diagnostic_event" +Assert ($sql003 -match 'GRANT\s+USAGE\s+ON\s+SEQUENCE\s+diagnostic_event_id_seq\s+TO\s+omika_diagnostics_worker') "Worker : USAGE sequence" +Assert ($sql003 -notmatch 'GRANT\s+(SELECT|UPDATE|DELETE|TRUNCATE|REFERENCES|TRIGGER)\s+ON\s+TABLE\s+diagnostic_event\s+TO\s+omika_diagnostics_worker') "Worker : aucun SELECT/UPDATE/DELETE/TRUNCATE/REFERENCES/TRIGGER" + +Assert ($sql003 -match 'GRANT\s+CONNECT\s+ON\s+DATABASE\s+omika_diagnostics\s+TO\s+[^;]*omika_diagnostics_web') "Web : CONNECT database" +Assert ($sql003 -match 'GRANT\s+USAGE\s+ON\s+SCHEMA\s+public\s+TO\s+[^;]*omika_diagnostics_web') "Web : USAGE schema public" +Assert ($sql003 -match 'GRANT\s+SELECT\s+ON\s+TABLE\s+diagnostic_event\s+TO\s+omika_diagnostics_web') "Web : SELECT diagnostic_event" +Assert ($sql003 -notmatch 'GRANT\s+(INSERT|UPDATE|DELETE|TRUNCATE|REFERENCES|TRIGGER)\s+ON\s+TABLE\s+diagnostic_event\s+TO\s+omika_diagnostics_web') "Web : aucun INSERT/UPDATE/DELETE/TRUNCATE/REFERENCES/TRIGGER" +Assert ($sql003 -notmatch 'GRANT\s+\w+\s+ON\s+(TABLE\s+)?telemetry_metric_hourly') "Aucun droit sur telemetry_metric_hourly" + +Assert ($sql003 -match 'ALTER\s+ROLE\s+omika_diagnostics_owner\s+.*NOLOGIN') "owner : NOLOGIN" +Assert ($sql003 -match 'ALTER\s+ROLE\s+omika_diagnostics_worker\s+.*LOGIN') "worker : LOGIN" +Assert ($sql003 -match 'ALTER\s+ROLE\s+omika_diagnostics_web\s+.*LOGIN') "web : LOGIN" +Assert ($sql003 -notmatch 'DROP\s+ROLE\s+omika_diagnostics_app') "Ancien role : aucun DROP ROLE" +Assert ($sql003 -notmatch 'ALTER\s+ROLE\s+omika_diagnostics_app\s+NOLOGIN') "Ancien role : aucun NOLOGIN automatique" + +Write-Host "" +Write-Host ("=== RESULTAT : {0} tests, {1} echec(s) ===" -f $tests, $fails) +if ($fails -gt 0) { exit 1 } else { exit 0 } diff --git a/infra/deploy/tests/Test-InstallOmikaServerFiles.ps1 b/infra/deploy/tests/Test-InstallOmikaServerFiles.ps1 new file mode 100644 index 0000000..b6fc5b9 --- /dev/null +++ b/infra/deploy/tests/Test-InstallOmikaServerFiles.ps1 @@ -0,0 +1,175 @@ +# ============================================================ +# Omika - Tests NON invasifs de Install-OmikaServerFiles.ps1 (Phase 5C.2B) +# ============================================================ +# Valide le correctif WhatIf / SHA256 : +# A. Get-Sha256Hex sur fichier connu. +# B. Get-Sha256Hex sous $WhatIfPreference = $true (aucun null). +# C. Package valide + WhatIf -> SHA256 calcule, exit 0, aucune exception. +# D. Hash incorrect + WhatIf -> mismatch detecte, arret avant copie (exit 1). +# E. Aucune mutation filesystem sous -WhatIf (dossiers + copie). +# F. PackageRoot explicite honore. +# G. PackageRoot automatique ($PSScriptRoot parent). +# AUCUN changement systeme : aucune copie reelle, aucun service, aucun admin. +# ============================================================ + +[CmdletBinding(SupportsShouldProcess = $true)] +param() + +$ErrorActionPreference = 'Stop' + +$repo = 'D:\Avalonia\Omika' +$scriptPath = Join-Path $repo 'infra\deploy\Install-OmikaServerFiles.ps1' +$pkgRoot = Join-Path $repo 'artifacts\server-full' + +$tests = 0 +$fails = 0 + +function Assert([bool]$condition, [string]$label) { + $script:tests++ + if ($condition) { + Write-Host ("PASS {0}" -f $label) -ForegroundColor Green + } + else { + $script:fails++ + Write-Host ("FAIL {0}" -f $label) -ForegroundColor Red + } +} + +# Exécute un bloc dans un process Windows PowerShell 5.1 enfant (exit-safe), +# retourne @{ Output; ExitCode }. On baisse localement $ErrorActionPreference à +# 'Continue' pendant l'appel natif : ainsi la stderr du natif (ErrorRecord) ne +# lève pas, et 2>&1 la capture dans la sortie. +function Invoke-ChildPS51([string]$scriptText) { + $encoded = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($scriptText)) + $prevEAP = $ErrorActionPreference + $ErrorActionPreference = 'Continue' + try { + $out = @(& powershell.exe -NoProfile -NonInteractive -EncodedCommand $encoded 2>&1) + $exitCode = $LASTEXITCODE + } + finally { + $ErrorActionPreference = $prevEAP + } + $text = ($out | ForEach-Object { $_.ToString() }) -join "`n" + return @{ Output = $text; ExitCode = $exitCode } +} + +Write-Host "=== 1. Syntaxe PowerShell 5.1 (0 erreur) ===" +$tokens = $null; $errors = $null +[System.Management.Automation.Language.Parser]::ParseFile($scriptPath, [ref]$tokens, [ref]$errors) | Out-Null +Assert (($errors -eq $null) -or ($errors.Count -eq 0)) "Syntaxe OK : Install-OmikaServerFiles.ps1" + +Write-Host "" +Write-Host "=== 2. Extraction des fonctions (AST) + module temporaire ===" +$content = Get-Content -LiteralPath $scriptPath -Raw +$ast = [System.Management.Automation.Language.Parser]::ParseInput($content, [ref]$tokens, [ref]$errors) +$want = @('Get-Sha256Hex', 'Test-PackageChecksums', 'Deploy-AppFolder') +$module = New-Object System.Text.StringBuilder +foreach ($f in $ast.FindAll({ param($n) $n -is [System.Management.Automation.Language.FunctionDefinitionAst] }, $true)) { + if ($want -contains $f.Name) { + [void]$module.AppendLine($f.Extent.Text) + } +} +foreach ($name in $want) { + Assert ($module.ToString() -match ("function\s+" + [regex]::Escape($name) + "\b")) ("Fonction extraite : " + $name) +} + +$modulePath = Join-Path $env:TEMP 'omika-isf-functions.ps1' +[System.IO.File]::WriteAllText($modulePath, $module.ToString(), (New-Object System.Text.UTF8Encoding($true))) +. $modulePath + +Write-Host "" +Write-Host "=== A/B. Get-Sha256Hex (unitaire) ===" +$knownFile = Join-Path $env:TEMP 'omika-isf-known.txt' +[System.IO.File]::WriteAllText($knownFile, 'abc', (New-Object System.Text.UTF8Encoding($false))) +$expectedHash = 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad' + +Assert ((Get-Sha256Hex -Path $knownFile) -eq $expectedHash) "A. Hash connu 'abc' = ba7816bf... correct" + +$prevWhatIf = $WhatIfPreference +$WhatIfPreference = $true +try { + $hashUnderWhatIf = Get-Sha256Hex -Path $knownFile + Assert ($hashUnderWhatIf -eq $expectedHash) "B. Sous WhatIfPreference=true : hash correct (aucun null)" + Assert ($hashUnderWhatIf -match '^[0-9a-f]{64}$') "B. Format hex lowercase 64 caracteres" +} +finally { + $WhatIfPreference = $prevWhatIf +} + +Write-Host "" +Write-Host "=== C. Package valide + WhatIf (Test-PackageChecksums) ===" +$childC = @" +`$ErrorActionPreference = 'Stop' +. '$modulePath' +`$WhatIfPreference = `$true +Test-PackageChecksums -packageRoot '$pkgRoot' +"@ +$resC = Invoke-ChildPS51 $childC +Assert ($resC.ExitCode -eq 0) "C. Package valide + WhatIf : exit 0" +Assert ($resC.Output -match 'SHA256 OK') "C. Package valide + WhatIf : SHA256 calcule et OK" + +Write-Host "" +Write-Host "=== D. Hash incorrect + WhatIf (mismatch detecte, arret) ===" +$corruptDir = Join-Path $env:TEMP 'omika-isf-corrupt' +if (Test-Path -LiteralPath $corruptDir) { Remove-Item -LiteralPath $corruptDir -Recurse -Force } +New-Item -ItemType Directory -Force -Path $corruptDir | Out-Null +[System.IO.File]::WriteAllText((Join-Path $corruptDir 'test.txt'), 'hello', (New-Object System.Text.UTF8Encoding($false))) +[System.IO.File]::WriteAllText((Join-Path $corruptDir 'SHA256SUMS.txt'), '0000000000000000000000000000000000000000000000000000000000000000 test.txt', (New-Object System.Text.UTF8Encoding($false))) + +$childD = @" +`$ErrorActionPreference = 'Stop' +. '$modulePath' +`$WhatIfPreference = `$true +Test-PackageChecksums -packageRoot '$corruptDir' +"@ +$resD = Invoke-ChildPS51 $childD +Assert ($resD.ExitCode -eq 1) "D. Hash incorrect + WhatIf : exit 1 (arret avant copie)" +Assert ($resD.Output -match 'Checksum SHA256 KO') "D. Hash incorrect + WhatIf : mismatch detecte" + +Write-Host "" +Write-Host "=== E. Aucune mutation filesystem sous -WhatIf ===" +$tempRoot = Join-Path $env:TEMP ('omika-isf-mut-' + [guid]::NewGuid().ToString('N')) + +# E1 : boucle de creation d'arborescence (replique de la logique top-level). +$WhatIfPreference = $true +$appsRoot = Join-Path $tempRoot 'Apps' +$folders = @( + $appsRoot, + (Join-Path $appsRoot 'OmikaApi'), + (Join-Path $appsRoot 'OmikaWorker'), + (Join-Path $tempRoot 'Data\Api\Diagnostics\Jsonl'), + (Join-Path $tempRoot 'Data\DiagnosticsWorker\Checkpoint'), + (Join-Path $tempRoot 'Logs\Api'), + (Join-Path $tempRoot 'Config'), + (Join-Path $tempRoot 'Backups'), + (Join-Path $tempRoot 'Deploy') +) +foreach ($folder in $folders) { + if ($PSCmdlet.ShouldProcess($folder, 'Créer le dossier')) { + New-Item -ItemType Directory -Force -Path $folder | Out-Null + } +} + +# E2 : Deploy-AppFolder (sauvegarde + copie) sous WhatIf. +Deploy-AppFolder -Name 'OmikaApi' ` + -Source (Join-Path $pkgRoot 'OmikaApi') ` + -Target (Join-Path $appsRoot 'OmikaApi') ` + -BackupRoot (Join-Path $tempRoot 'Backups') ` + -Preserve @('appsettings.json') +$WhatIfPreference = $prevWhatIf + +Assert (-not (Test-Path -LiteralPath $tempRoot)) "E. Aucun dossier/fichier cree sous WhatIf (arborescence + copie)" + +Write-Host "" +Write-Host "=== F/G. Resolution PackageRoot ===" +# G : automatique = parent du dossier Deploy (mirroir exact de $PSScriptRoot). +$autoResolved = Split-Path -Parent (Join-Path $pkgRoot 'Deploy') +Assert ($autoResolved -eq $pkgRoot) "G. PackageRoot automatique (parent du dossier Deploy) resout vers le package" + +# F : explicite = honore (le script ne resout que si -not $PackageRoot). +Assert ($content -match 'if \(-not \$PackageRoot\)') "F. Garde 'if (-not PackageRoot)' presente (explicite honore)" + +Write-Host "" +Write-Host ("=== RESULTAT : {0} tests, {1} echec(s) ===" -f $tests, $fails) +if ($fails -gt 0) { exit 1 } else { exit 0 } diff --git a/infra/deploy/tests/Test-InstallOmikaServicesScripts.ps1 b/infra/deploy/tests/Test-InstallOmikaServicesScripts.ps1 new file mode 100644 index 0000000..4b6f27c --- /dev/null +++ b/infra/deploy/tests/Test-InstallOmikaServicesScripts.ps1 @@ -0,0 +1,361 @@ +# ============================================================ +# Omika - Tests NON invasifs des scripts d'installation des services +# ============================================================ +# AUCUN changement systeme : aucune creation de service, aucune ACL posee, +# aucune connexion PostgreSQL/HFSQL. Seule une reservation BRIEF de ports +# loopback est faite (pour tester le module), immediatement relachee. +# +# Valide : +# 1. Syntaxe PowerShell 5.1 (0 erreur) de TOUS les fichiers de deploiement. +# 2. Import du module commun + presence des fonctions attendues. +# 3. Garanties : aucun demarrage de service, aucune creation de service hors +# du module, aucun port en dur, -WhatIf / -Desinstaller supportes. +# 4. Fiche reelle de chaque service (nom, executable, compte par defaut). +# 5. Comportement reel de la verification de port (3 cas). +# ============================================================ + +$ErrorActionPreference = 'Stop' + +$deploySrc = Split-Path -Parent $PSScriptRoot +$repo = Split-Path -Parent (Split-Path -Parent $deploySrc) + +$tests = 0 +$fails = 0 + +function Assert([bool]$condition, [string]$label) { + $script:tests++ + if ($condition) { + Write-Host ("PASS {0}" -f $label) -ForegroundColor Green + } + else { + Write-Host ("FAIL {0}" -f $label) -ForegroundColor Red + $script:fails++ + } +} + +$moduleCommun = Join-Path $deploySrc 'Omika.Deploy.Common.psm1' + +# --- 1. Syntaxe PowerShell 5.1 ---------------------------------------------- +Write-Host '=== 1. Syntaxe PowerShell 5.1 (0 erreur) ===' + +$fichiers = @( + $moduleCommun, + (Join-Path $deploySrc 'Install-OmikaApi.ps1'), + (Join-Path $deploySrc 'Install-OmikaWorker.ps1'), + (Join-Path $deploySrc 'Install-OmikaDiagnosticsApi.ps1'), + (Join-Path $deploySrc 'Install-OmikaDiagnosticsWorker.ps1'), + (Join-Path $deploySrc 'Install-OmikaDiagnosticsWeb.ps1'), + (Join-Path $deploySrc 'Install-OmikaLanguesApi.ps1'), + (Join-Path $deploySrc 'Install-OmikaServices.ps1'), + (Join-Path $deploySrc 'Test-PortDisponible.ps1'), + (Join-Path $deploySrc 'New-OmikaLanguesManifeste.ps1'), + (Join-Path $deploySrc 'Install-OmikaServerFiles.ps1') +) + +foreach ($fichier in $fichiers) { + if (-not (Test-Path -LiteralPath $fichier)) { + Assert $false ("Fichier present : " + (Split-Path $fichier -Leaf)) + continue + } + $tokens = $null + $errors = $null + [System.Management.Automation.Language.Parser]::ParseFile($fichier, [ref]$tokens, [ref]$errors) | Out-Null + $ok = (($null -eq $errors) -or ($errors.Count -eq 0)) + Assert $ok ("Syntaxe OK : " + (Split-Path $fichier -Leaf)) + if (-not $ok) { + foreach ($e in $errors) { Write-Host (" " + $e.Message) -ForegroundColor DarkRed } + } +} + +# --- 2. Module commun -------------------------------------------------------- +Write-Host '' +Write-Host '=== 2. Module commun : import + fonctions exportees ===' + +Import-Module $moduleCommun -Force +Assert $true 'Import du module sans erreur' + +$fonctionsAttendues = @( + 'Assert-OmikaAdmin', 'Get-OmikaPaths', 'New-OmikaDirectory', + 'Resolve-OmikaAccountName', 'Assert-OmikaServiceAccount', + 'Test-OmikaServiceLogonRight', 'Grant-OmikaAcl', + 'Get-OmikaServiceState', 'Install-OmikaService', 'Remove-OmikaService', + 'Write-OmikaServiceSummary', 'Test-OmikaPortLibre' +) +foreach ($nom in $fonctionsAttendues) { + $existe = $null -ne (Get-Command -Name $nom -ErrorAction SilentlyContinue) + Assert $existe ("Fonction exportee : $nom") +} + +# Le controle du code retour d'icacls est la correction cle de l'ancien script. +$contenuModule = Get-Content -LiteralPath $moduleCommun -Raw +Assert ($contenuModule -match 'LASTEXITCODE') 'Grant-OmikaAcl controle le code retour (LASTEXITCODE)' +Assert ($contenuModule -match 'icacls\.exe') 'ACL posees via icacls.exe (appel explicite)' +Assert ($contenuModule -match 'SeServiceLogonRight') 'Droit « Ouvrir une session en tant que service » verifie' +Assert ($contenuModule -notmatch '(?im)^\s*Start-Service\b') 'Le module ne demarre aucun service' +Assert ($contenuModule -notmatch '(?im)^\s*Restart-Service\b') 'Le module ne redemarre aucun service' +Assert ($contenuModule -match 'Resolve-OmikaAccountName') 'Compte normalise en ORDINATEUR\compte (forme non ambigue)' + +# --- Non-regression : detection d'existence d'un compte ---------------------- +# Le repli ADSI ([ADSI]("WinNT://ORDINATEUR/compte,user")) ne leve AUCUNE erreur +# pour un compte inexistant : il annoncait « Existe = True » a tort. Un faux +# positif est le pire des resultats ici (le script creerait un service avec un +# compte absent). Le repli est desormais net.exe user. Ces deux assertions +# verrouillent la correction. +# On ne cherche [ADSI] que dans le CODE : le module cite legitimement ADSI dans +# le commentaire qui documente la raison de son retrait. +$codeModule = @(Get-Content -LiteralPath $moduleCommun | Where-Object { $_ -notmatch '^\s*#' }) +$adsiDansLeCode = @($codeModule | Where-Object { $_ -match '\[ADSI\]' }) +Assert ($adsiDansLeCode.Count -eq 0) 'Aucun appel ADSI dans le code (source du faux positif)' + +$compteAbsent = Test-OmikaLocalAccount -Account '.\svc_omika_compte_absent_xyz' +Assert ($compteAbsent.Existe -eq $false) 'Compte inexistant detecte ABSENT (aucun faux positif)' + +$comptePresent = Test-OmikaLocalAccount -Account (".\" + $env:USERNAME) +Assert ($comptePresent.Existe -eq $true) ("Compte existant detecte PRESENT ({0})" -f $env:USERNAME) + +# --- 3. Fiche reelle de chaque service -------------------------------------- +Write-Host '' +Write-Host '=== 3. Un fichier par deploiement, fiche conforme ===' + +$servicesAttendus = @( + @{ Script = 'Install-OmikaApi.ps1'; Service = 'OmikaApi'; Exe = 'Omika.Api.exe'; Compte = '\.\\svc_omika_api' } + @{ Script = 'Install-OmikaWorker.ps1'; Service = 'OmikaWorker'; Exe = 'Omika.Worker.exe'; Compte = '\.\\svc_omika_worker' } + @{ Script = 'Install-OmikaDiagnosticsApi.ps1'; Service = 'OmikaDiagnosticsApi'; Exe = 'Omika.Diagnostics.Api.exe'; Compte = '\.\\svc_omika_diagapi' } + @{ Script = 'Install-OmikaDiagnosticsWorker.ps1'; Service = 'OmikaDiagnosticsWorker'; Exe = 'Omika.Diagnostics.Worker.exe'; Compte = '\.\\svc_omika_diag' } + @{ Script = 'Install-OmikaDiagnosticsWeb.ps1'; Service = 'OmikaDiagnosticsWeb'; Exe = 'Omika.Diagnostics.Web.exe'; Compte = '\.\\svc_omika_diagweb' } + @{ Script = 'Install-OmikaLanguesApi.ps1'; Service = 'OmikaLanguesApi'; Exe = 'Omika.Langues.Api.exe'; Compte = '\.\\svc_omika_langues' } +) + +foreach ($fiche in $servicesAttendus) { + $chemin = Join-Path $deploySrc $fiche.Script + $contenu = Get-Content -LiteralPath $chemin -Raw + + Assert ($contenu -match ('\$ServiceName\s*=\s*''' + $fiche.Service + '''')) ` + ("{0} : nom de service par defaut = {1}" -f $fiche.Script, $fiche.Service) + + Assert ($contenu -match [regex]::Escape($fiche.Exe)) ` + ("{0} : executable attendu {1}" -f $fiche.Script, $fiche.Exe) + + # Motif concatene en CHAINES SIMPLES : en chaine double, PowerShell + # n'echappe pas avec '\' -> "\$Account" deviendrait '\' + la valeur de la + # variable $Account (vide), et le motif ne correspondrait jamais. + Assert ($contenu -match ('\$Account\s*=\s*''' + $fiche.Compte + '''')) ` + ("{0} : compte par defaut = {1}" -f $fiche.Script, $fiche.Compte) + + Assert ($contenu -match 'CmdletBinding\(SupportsShouldProcess\s*=\s*\$true\)') ` + ("{0} : prend en charge -WhatIf" -f $fiche.Script) + + Assert ($contenu -match '\$Desinstaller') ` + ("{0} : prend en charge -Desinstaller (rollback)" -f $fiche.Script) + + Assert ($contenu -match 'Assert-OmikaServiceAccount') ` + ("{0} : valide le compte de service" -f $fiche.Script) + + Assert ($contenu -match 'Import-Module') ` + ("{0} : utilise le module commun" -f $fiche.Script) + + Assert ($contenu -notmatch '(?im)^\s*Start-Service\b') ` + ("{0} : ne demarre aucun service" -f $fiche.Script) + + Assert ($contenu -notmatch '(?im)^\s*New-Service\b') ` + ("{0} : ne cree pas de service directement (passe par Install-OmikaService)" -f $fiche.Script) + + Assert ($contenu -notmatch '(?im)^\s*Set-Service\b.*-StartupType\s+Automatic') ` + ("{0} : ne force pas le demarrage automatique" -f $fiche.Script) +} + +# --- 4. Garanties transverses ------------------------------------------------ +Write-Host '' +Write-Host '=== 4. Garanties transverses ===' + +# Aucun port en dur : le port se decide contre le plan Apache (doc §6bis). +# On ne cherche PAS le simple mot « 5099 » (il apparait legitimement dans les +# exemples d'usage et dans le test de port) mais les deux formes qui +# constitueraient un CHOIX code en dur : une URL ASPNETCORE_URLS et une valeur +# par defaut de parametre. +$portEnDur = @() +foreach ($fichier in (Get-ChildItem -LiteralPath $deploySrc -Filter *.ps1 -Recurse)) { + $contenu = Get-Content -LiteralPath $fichier.FullName -Raw + if ($contenu -match '127\.0\.0\.1:5099') { + $portEnDur += ("{0} (ASPNETCORE_URLS en dur)" -f $fichier.Name) + } + # 0 est autorise : il signifie « aucun port fourni », ce n'est pas un choix. + elseif ($contenu -match '(?im)^\s*\[int\]\s*\$Port\w*\s*=\s*[1-9]\d*') { + $portEnDur += ("{0} (valeur par defaut de -Port)" -f $fichier.Name) + } +} +Assert ($portEnDur.Count -eq 0) ("Aucun port code en dur dans infra\deploy ({0} fichier(s))" -f $portEnDur.Count) +if ($portEnDur.Count -gt 0) { Write-Host (" " + ($portEnDur -join ', ')) -ForegroundColor DarkRed } + +# L'orchestrateur appelle bien les 6 scripts dedies. +$orchestrateur = Get-Content -LiteralPath (Join-Path $deploySrc 'Install-OmikaServices.ps1') -Raw +foreach ($fiche in $servicesAttendus) { + Assert ($orchestrateur -match [regex]::Escape($fiche.Script)) ` + ("Orchestrateur : appelle {0}" -f $fiche.Script) +} +Assert ($orchestrateur -match 'SupportsShouldProcess') 'Orchestrateur : prend en charge -WhatIf' +Assert ($orchestrateur -match 'InclureLangues') 'Orchestrateur : service Langues optionnel (-InclureLangues)' +Assert ($orchestrateur -match 'SansDiagnosticsApi') 'Orchestrateur : API centrale optionnelle (-SansDiagnosticsApi)' + +# --- 5. Comportement reel de la verification de port ------------------------ +Write-Host '' +Write-Host '=== 5. Verification de port : 3 cas reels ===' + +# Normalisation du compte (forme '.\' -> 'ORDINATEUR\compte'). +$normalise = Resolve-OmikaAccountName -Account '.\svc_omika_api' +Assert ($normalise -eq ('{0}\svc_omika_api' -f $env:COMPUTERNAME)) "Compte normalise : $normalise" + +# A. Port libre. +$verdictLibre = Test-OmikaPortLibre -Port 5099 -VerifierPlagesReservees:$false +Assert ($verdictLibre.Libre) ("Port 5099 detecte DISPONIBLE" + $(if ($verdictLibre.Libre) { '' } else { " (raison : $($verdictLibre.Raisons))" })) + +# B. Port reellement occupe. +$verrou = $null +$verdictOccupe = $null +try { + $verrou = [System.Net.Sockets.TcpListener]::new([System.Net.IPAddress]::Loopback, 5123) + $verrou.Start() + $verdictOccupe = Test-OmikaPortLibre -Port 5123 -VerifierPlagesReservees:$false +} +finally { + if ($verrou) { try { $verrou.Stop() } catch { } } +} +Assert (($null -ne $verdictOccupe) -and (-not $verdictOccupe.Libre)) 'Port 5123 occupe detecte INDISPONIBLE' + +# C. Port dans la plage ephemere. +$verdictEphemere = Test-OmikaPortLibre -Port 50000 -VerifierPlagesReservees:$false +Assert (-not $verdictEphemere.Libre) 'Port 50000 (plage ephemere) detecte INDISPONIBLE' +Assert ($verdictEphemere.Raisons -match 'EPHEMERE') 'La raison invoquee mentionne la plage ephemere' + +# --- 6. Manifeste des packs de langue : generation reelle -------------------- +# Le manifeste contient deux champs MESURES (tailleOctets, sha256) : une valeur +# inventee ne se voit que sur le telephone, ou le pack est refuse. On verifie +# donc la generation contre une source independante (Get-FileHash / FileInfo). +Write-Host '' +Write-Host '=== 6. Manifeste des packs de langue : generation reelle ===' + +$generateur = Join-Path $deploySrc 'New-OmikaLanguesManifeste.ps1' +Assert (Test-Path -LiteralPath $generateur) 'Generateur de manifeste present' + +$bac = Join-Path ([System.IO.Path]::GetTempPath()) ('omika-manifeste-' + [guid]::NewGuid().ToString('N').Substring(0, 8)) + +try { + $null = New-Item -ItemType Directory -Path (Join-Path $bac 'es\versFrancais') -Force + $null = New-Item -ItemType Directory -Path (Join-Path $bac 'es\depuisFrancais') -Force + [System.IO.File]::WriteAllBytes((Join-Path $bac 'es\versFrancais\encoder.onnx'), (New-Object byte[] 4096)) + [System.IO.File]::WriteAllBytes((Join-Path $bac 'es\versFrancais\vocab.spm'), (New-Object byte[] 256)) + [System.IO.File]::WriteAllBytes((Join-Path $bac 'es\depuisFrancais\encoder.onnx'), (New-Object byte[] 4096)) + # Fichier inutile volontairement livre : exclu du chargement par l'application, + # mais telecharge par chaque telephone s'il est declare. Doit etre signale. + [System.IO.File]::WriteAllBytes((Join-Path $bac 'es\versFrancais\decoder_with_past_model.onnx'), (New-Object byte[] 512)) + + $sortieGeneration = (& $generateur -RootPathLangues $bac 6>&1 | Out-String) + $manifeste = Join-Path $bac 'manifest.json' + Assert (($LASTEXITCODE -eq 0) -and (Test-Path -LiteralPath $manifeste)) 'Generation : manifeste ecrit (code 0)' + Assert ($sortieGeneration -match 'past_key_values') 'Generation : decodeur « _with_past » signale (poids mobile inutile)' + + $json = Get-Content -LiteralPath $manifeste -Raw -Encoding UTF8 | ConvertFrom-Json + Assert (@($json.packs).Count -eq 1) 'Manifeste : 1 pack' + Assert (@($json.packs[0].fichiers).Count -eq 4) 'Manifeste : 4 fichiers declares' + + $ecarts = 0 + foreach ($pack in $json.packs) { + foreach ($fichier in $pack.fichiers) { + $chemin = Join-Path (Join-Path (Join-Path $bac $pack.code) $fichier.sens) $fichier.nomFichier + if ((Get-FileHash -LiteralPath $chemin -Algorithm SHA256).Hash.ToLowerInvariant() -ne $fichier.sha256) { $ecarts++ } + if ((Get-Item -LiteralPath $chemin).Length -ne $fichier.tailleOctets) { $ecarts++ } + } + } + Assert ($ecarts -eq 0) 'Manifeste : sha256 et tailles conformes (source independante)' + + $octetsManifeste = [System.IO.File]::ReadAllBytes($manifeste) + Assert (-not ($octetsManifeste[0] -eq 0xEF -and $octetsManifeste[1] -eq 0xBB -and $octetsManifeste[2] -eq 0xBF)) ` + 'Manifeste : UTF-8 sans BOM (fichier de donnees)' + + $null = & $generateur -RootPathLangues $bac -Verifier 6>&1 + Assert ($LASTEXITCODE -eq 0) 'Verification : manifeste conforme (code 0)' + + # Un modele remplace APRES generation doit etre detecte : c'est le controle + # qui evite un pack silencieusement refuse sur le telephone. + [System.IO.File]::WriteAllBytes((Join-Path $bac 'es\versFrancais\vocab.spm'), (New-Object byte[] 300)) + $sortieManifeste = (& $generateur -RootPathLangues $bac -Verifier 6>&1 | Out-String) + Assert ($LASTEXITCODE -eq 1) 'Verification : modele modifie detecte (code 1)' + Assert ($sortieManifeste -match 'empreinte differente') 'Verification : ecart d''empreinte annonce' + + # Le mobile compare le sens de facon sensible a la casse : un sens a la + # mauvaise casse ferait refuser le pack sans aucune erreur cote serveur. + $casse = Join-Path $bac 'manifest-casse.json' + (Get-Content -LiteralPath $manifeste -Raw -Encoding UTF8).Replace('"sens": "versFrancais"', '"sens": "VersFrancais"') | + Set-Content -LiteralPath $casse -Encoding UTF8 + $null = & $generateur -RootPathLangues $bac -Sortie $casse -Verifier 6>&1 + Assert ($LASTEXITCODE -eq 1) 'Verification : sens a la mauvaise casse detecte (refus mobile)' + Remove-Item -LiteralPath $casse -Force -ErrorAction SilentlyContinue + + # --- Cohabitation avec le script d'export --------------------------------- + # Le dossier des packs peut contenir le cache HuggingFace du script d'export + # (.hf-cache, des milliers de fichiers) et la sauvegarde du manifeste : ni + # l'un ni l'autre n'est un modele, et les signaler noierait le vrai controle + # sous des faux positifs. + $null = New-Item -ItemType Directory -Path (Join-Path $bac '.hf-cache\hub\models--Helsinki-NLP--opus-mt-es-fr') -Force + [System.IO.File]::WriteAllBytes((Join-Path $bac '.hf-cache\hub\models--Helsinki-NLP--opus-mt-es-fr\blob-pytorch'), (New-Object byte[] 128)) + + # Deuxieme ecriture : le generateur conserve manifest.json.bak + $null = & $generateur -RootPathLangues $bac 6>&1 + Assert (Test-Path -LiteralPath (Join-Path $bac 'manifest.json.bak')) 'Regeneration : sauvegarde manifest.json.bak ecrite' + + $sortieTechnique = (& $generateur -RootPathLangues $bac -Verifier 6>&1 | Out-String) + Assert ($LASTEXITCODE -eq 0) 'Cohabitation : verification conforme malgre .hf-cache et .bak' + Assert ($sortieTechnique -notmatch 'hf-cache') 'Cohabitation : .hf-cache jamais signale comme fichier non declare' + Assert ($sortieTechnique -notmatch 'manifest\.json\.bak') 'Cohabitation : la sauvegarde .bak n''est pas un faux positif' +} +finally { + if (Test-Path -LiteralPath $bac) { + Remove-Item -LiteralPath $bac -Recurse -Force -ErrorAction SilentlyContinue + } +} + +# --- 6bis. Manifeste : poids partages d'un modele familial (commun/) --------- +# Un modele familial range ses ~1,15 Go dans /commun/ et ne laisse qu'un +# modele.json par sens. Si le generateur traitait « commun » comme un sens +# inconnu, il l'ignorerait : le telephone ne pourrait JAMAIS telecharger les +# poids, et le pack serait declare mais inutilisable. +Write-Host '' +Write-Host '=== 6bis. Manifeste : poids partages (commun/) ===' + +$bacFamille = Join-Path ([System.IO.Path]::GetTempPath()) ('omika-manifeste-famille-' + [guid]::NewGuid().ToString('N').Substring(0, 8)) + +try { + $null = New-Item -ItemType Directory -Path (Join-Path $bacFamille 'pt\commun') -Force + $null = New-Item -ItemType Directory -Path (Join-Path $bacFamille 'pt\versFrancais') -Force + $null = New-Item -ItemType Directory -Path (Join-Path $bacFamille 'pt\depuisFrancais') -Force + [System.IO.File]::WriteAllBytes((Join-Path $bacFamille 'pt\commun\encoder_model.onnx'), (New-Object byte[] 2048)) + [System.IO.File]::WriteAllBytes((Join-Path $bacFamille 'pt\commun\source.spm'), (New-Object byte[] 128)) + [System.IO.File]::WriteAllText((Join-Path $bacFamille 'pt\versFrancais\modele.json'), '{ "version": 1, "jetonCible": ">>fra<<" }') + [System.IO.File]::WriteAllText((Join-Path $bacFamille 'pt\depuisFrancais\modele.json'), '{ "version": 1, "jetonCible": ">>por<<" }') + + $sortieFamille = (& $generateur -RootPathLangues $bacFamille 6>&1 | Out-String) + $manifesteFamille = Join-Path $bacFamille 'manifest.json' + Assert (($LASTEXITCODE -eq 0) -and (Test-Path -LiteralPath $manifesteFamille)) 'Manifeste familial : ecrit (code 0)' + Assert ($sortieFamille -notmatch 'sens inconnu') 'Manifeste familial : commun/ n''est pas traite comme un sens inconnu' + + $jsonFamille = Get-Content -LiteralPath $manifesteFamille -Raw -Encoding UTF8 | ConvertFrom-Json + $sensFamille = @($jsonFamille.packs[0].fichiers | ForEach-Object { $_.sens } | Sort-Object -Unique) + Assert ($sensFamille -contains 'commun') 'Manifeste familial : le dossier commun est declare' + Assert ($sensFamille -contains 'versFrancais' -and $sensFamille -contains 'depuisFrancais') ` + 'Manifeste familial : les deux sens (modele.json) sont declares' + Assert ((@($jsonFamille.packs[0].fichiers | Where-Object { $_.sens -eq 'commun' })).Count -eq 2) ` + 'Manifeste familial : les poids sont declares une seule fois, sous commun' + + $null = & $generateur -RootPathLangues $bacFamille -Verifier 6>&1 + Assert ($LASTEXITCODE -eq 0) 'Manifeste familial : verification conforme (code 0)' +} +finally { + if (Test-Path -LiteralPath $bacFamille) { + Remove-Item -LiteralPath $bacFamille -Recurse -Force -ErrorAction SilentlyContinue + } +} + +# --- Resultat ---------------------------------------------------------------- +Write-Host '' +Write-Host ("=== RESULTAT : {0} tests, {1} echec(s) ===" -f $tests, $fails) +if ($fails -gt 0) { exit 1 } else { exit 0 } diff --git a/infra/observability/.env.example b/infra/observability/.env.example new file mode 100644 index 0000000..e5578bc --- /dev/null +++ b/infra/observability/.env.example @@ -0,0 +1,20 @@ +# ============================================================================= +# Omika — Observabilité externe : variables d'environnement (exemple) +# ============================================================================= +# Copier vers `.env` et adapter. NE JAMAIS versionner `.env` ni les secrets réels. +# Aucun secret Omika (mot de passe utilisateur, token mobile, clé licence, secret +# SMTP) ne doit être réutilisé ici (§30). + +# --- Réseau / endpoints OTLP --- +# Endpoint OTLP du Collector Omika, vu depuis l'API/Worker Omika. +# (ex. http://:4318) +OTLP_ENDPOINT= + +# Endpoint du Collector SigNoz (interne à la pile, jamais exposé au mobile). +SIGNOZ_OTLP_ENDPOINT=signoz-otel-collector:4317 + +# --- Identifiants ClickHouse (générés, spécifiques à la pile d'observabilité) --- +CLICKHOUSE_PASSWORD=change-me + +# --- Rétention (configurée côté SigNoz/ClickHouse, voir docs) --- +# Logs / traces / métriques : fenêtres proposées par défaut (voir docs/observability). diff --git a/infra/observability/docker-compose.yml b/infra/observability/docker-compose.yml new file mode 100644 index 0000000..d893ac5 --- /dev/null +++ b/infra/observability/docker-compose.yml @@ -0,0 +1,145 @@ +# ============================================================================= +# Omika — Pile d'observabilité externe (Phase 5) +# ============================================================================= +# Topologie cible (VM Ubuntu dédiée via Hyper-V, §21) : +# +# API/Worker Omika ──OTLP HTTP/protobuf──▶ omika-otel-collector ──▶ SigNoz +# │ +# ClickHouse +# +# Ce fichier est une référence MINIMALE et commentée. Les images SigNoz doivent +# être épinglées aux versions stables officielles au moment de l'installation +# (l'installateur officiel SigNoz reste la référence exacte) : +# curl -sL https://github.com/SigNoz/signoz/raw/main/scripts/install.sh | bash +# +# RÈGLE ABSOLUE : rien ici n'est requis pour qu'Omika fonctionne. Arrêter toute +# cette pile ne casse jamais le métier (fail-open, §2/§97). +# ============================================================================= + +services: + # --------------------------------------------------------------------------- + # 1. Notre Collector Omika (le SEUL point d'entrée OTLP d'Omika). + # Reçoit OTLP des composants autorisés, limite la mémoire, batche, exporte + # vers SigNoz. Ports 4317/4318 = réseau privé uniquement, jamais publics. + # --------------------------------------------------------------------------- + omika-otel-collector: + image: otel/opentelemetry-collector:0.128.0 + container_name: omika-otel-collector + command: ["--config=/etc/otel-collector-config.yaml"] + volumes: + - ./otel-collector-config.yaml:/etc/otel-collector-config.yaml:ro + environment: + SIGNOZ_OTLP_ENDPOINT: "signoz-otel-collector:4317" + ports: + # Exposer uniquement sur le réseau privé de la VM (bind 127.0.0.1 ou VPN). + # JAMAIS "0.0.0.0" sur un réseau public. + - "127.0.0.1:4318:4318" # HTTP/protobuf (utilisé par Omika) + - "127.0.0.1:4317:4317" # gRPC (non utilisé par Omika, désactivable) + deploy: + resources: + limits: + cpus: "1.0" + memory: 768M # cohérent avec memory_limiter (512 MiB + marge) + reservations: + memory: 256M + networks: [observability] + restart: unless-stopped + + # --------------------------------------------------------------------------- + # 2. ClickHouse (stockage des signaux — infrastructure externe, jamais embarqué + # dans Omika, §22). Réseau restreint au réseau interne de la pile. + # --------------------------------------------------------------------------- + clickhouse: + image: clickhouse/clickhouse-server:24.8 + container_name: signoz-clickhouse + ports: + - "127.0.0.1:8123:8123" + - "127.0.0.1:9000:9000" + volumes: + - clickhouse-data:/var/lib/clickhouse + environment: + CLICKHOUSE_DB: signoz_metrics + CLICKHOUSE_USER: signoz + CLICKHOUSE_PASSWORD: "${CLICKHOUSE_PASSWORD:-change-me}" + deploy: + resources: + limits: + cpus: "2.0" + memory: 4G + reservations: + memory: 1G + networks: [observability] + restart: unless-stopped + + # --------------------------------------------------------------------------- + # 3. Collector SigNoz : reçoit l'OTLP de notre collector et écrit dans + # ClickHouse. Jamais exposé au mobile ni au public (§5/§28). + # --------------------------------------------------------------------------- + signoz-otel-collector: + image: signoz/otel-collector:0.128.1 + container_name: signoz-otel-collector + command: ["--config=/etc/otel-collector-config.yaml"] + volumes: + - ./signoz/otel-collector-config.yaml:/etc/otel-collector-config.yaml:ro + ports: + - "127.0.0.1:4319:4317" # entrée OTLP SigNoz (interne à la pile) + environment: + CLICKHOUSE_HOST: clickhouse + CLICKHOUSE_USER: signoz + CLICKHOUSE_PASSWORD: "${CLICKHOUSE_PASSWORD:-change-me}" + deploy: + resources: + limits: + cpus: "1.0" + memory: 768M + reservations: + memory: 256M + depends_on: [clickhouse] + networks: [observability] + restart: unless-stopped + + # --------------------------------------------------------------------------- + # 4. Query service SigNoz (backend API) + 5. Frontend (UI support/dev). + # Réservés à l'équipe support autorisée, jamais aux utilisateurs Omika (§27). + # --------------------------------------------------------------------------- + signoz-query-service: + image: signoz/query-service:0.72.0 + container_name: signoz-query-service + ports: + - "127.0.0.1:8085:8085" + environment: + ClickHouseUrl: "tcp://signoz:@clickhouse:9000" + STORAGE: clickhouse + SIGNOZ_LOCAL_DB_PATH: /var/lib/signoz + volumes: + - signoz-query-data:/var/lib/signoz + deploy: + resources: + limits: + cpus: "1.0" + memory: 1G + depends_on: [clickhouse] + networks: [observability] + restart: unless-stopped + + signoz-frontend: + image: signoz/frontend:0.72.0 + container_name: signoz-frontend + ports: + - "127.0.0.1:3301:3301" + depends_on: [signoz-query-service] + deploy: + resources: + limits: + cpus: "0.5" + memory: 512M + networks: [observability] + restart: unless-stopped + +volumes: + clickhouse-data: + signoz-query-data: + +networks: + observability: + driver: bridge diff --git a/infra/observability/otel-collector-config.yaml b/infra/observability/otel-collector-config.yaml new file mode 100644 index 0000000..e9a8677 --- /dev/null +++ b/infra/observability/otel-collector-config.yaml @@ -0,0 +1,70 @@ +# ============================================================================= +# Omika — OpenTelemetry Collector (Phase 5) +# ============================================================================= +# Collector MINIMAL et compréhensible : reçoit l'OTLP des composants Omika +# autorisés (API/Worker), limite strictement la mémoire, batche, puis exporte +# vers SigNoz (qui écrit dans ClickHouse). +# +# Réseau : le port OTLP (4317 gRPC / 4318 HTTP) NE DOIT JAMAIS être exposé +# publiquement. Il reste sur le réseau privé de la VM d'observabilité, ouvert +# uniquement aux composants Omika autorisés (firewall). +# +# Omika n'utilise QUE le protocole OTLP HTTP/protobuf (port 4318) — voir +# docs/observability/README.md pour le choix gRPC vs HTTP/protobuf. +# ============================================================================= + +receivers: + otlp: + protocols: + grpc: + endpoint: 0.0.0.0:4317 + http: + endpoint: 0.0.0.0:4318 + +processors: + # Limites mémoire STRICTES : le Collector ne peut jamais consommer toute la + # RAM du serveur/VM (§20). memory_limiter doit rester le PREMIER processor. + memory_limiter: + check_interval: 5s + limit_mib: 512 # plafond mémoire global du Collector + spike_limit_mib: 128 # marge de pointe autorisée au-dessus du plafond + + # Regroupement en lots (bornes explicites, §14). + batch: + send_batch_size: 512 + send_batch_max_size: 1024 + timeout: 2s + +exporters: + # Export vers le Collector SigNoz (qui écrit dans ClickHouse). Endpoint privé, + # injecté via variable d'environnement (jamais codé en dur en production). + otlp/signoz: + endpoint: "${SIGNOZ_OTLP_ENDPOINT:-signoz-otel-collector:4317}" + tls: + # Segment privé (VM) : TLS désactivé par défaut. Pour un segment non privé, + # retirer `insecure: true` et configurer les certificats correctement. + # JAMAIS DangerousAcceptAnyServerCertificateValidator (§29). + insecure: true + + # Exporteur de debug pour la validation d'installation UNIQUEMENT. + # À retirer (ou laisser au niveau basic) une fois la chaîne validée (§88). + debug: + verbosity: basic + +service: + telemetry: + logs: + level: "warn" + pipelines: + traces: + receivers: [otlp] + processors: [memory_limiter, batch] + exporters: [otlp/signoz, debug] + metrics: + receivers: [otlp] + processors: [memory_limiter, batch] + exporters: [otlp/signoz, debug] + logs: + receivers: [otlp] + processors: [memory_limiter, batch] + exporters: [otlp/signoz, debug] diff --git a/infra/postgresql/001_diagnostics_schema.sql b/infra/postgresql/001_diagnostics_schema.sql new file mode 100644 index 0000000..61d1c8f --- /dev/null +++ b/infra/postgresql/001_diagnostics_schema.sql @@ -0,0 +1,77 @@ +-- ============================================================ +-- Omika Diagnostic Center — base dédiée omika_diagnostics (§14) +-- Outil SUPPORT uniquement : jamais utilisé par le métier (§13). +-- 100 % Windows / PostgreSQL. Aucune dépendance Linux/Docker. +-- PostgreSQL est NON critique : Omika fonctionne sans cette base. +-- ============================================================ + +-- ------------------------------------------------------------ +-- Table principale des événements (§15) +-- ------------------------------------------------------------ +CREATE TABLE IF NOT EXISTS diagnostic_event ( + id BIGSERIAL PRIMARY KEY, + event_id UUID NOT NULL, -- clé de déduplication (§16) + timestamp_utc TIMESTAMPTZ NOT NULL, + priority TEXT, -- P0..P4 + level TEXT, -- trace..critical + event_code TEXT NOT NULL, + component TEXT, + trace_id UUID, -- X-Omika-TraceId conservé (§33) + session_id UUID, + operation_id UUID, + app_version TEXT, + platform TEXT, + error_code TEXT, + message TEXT, -- Phase 6 (crash reporting) + exception_type TEXT, -- Phase 6 + stack_trace TEXT, -- Phase 6 + duration_ms BIGINT, + source TEXT, -- mobile/api/worker/collector + metadata_json JSONB, -- whitelist sécurité (§18/§19) + ingested_at_utc TIMESTAMPTZ NOT NULL +); + +-- Déduplication at-least-once : INSERT ... ON CONFLICT (event_id) DO NOTHING (§16) +CREATE UNIQUE INDEX IF NOT EXISTS ux_diagnostic_event_event_id + ON diagnostic_event (event_id); + +-- Index utiles uniquement (§17) — pas d'index sur chaque colonne +CREATE INDEX IF NOT EXISTS ix_diagnostic_event_timestamp_utc ON diagnostic_event (timestamp_utc); +CREATE INDEX IF NOT EXISTS ix_diagnostic_event_trace_id ON diagnostic_event (trace_id); +CREATE INDEX IF NOT EXISTS ix_diagnostic_event_operation_id ON diagnostic_event (operation_id); +CREATE INDEX IF NOT EXISTS ix_diagnostic_event_session_id ON diagnostic_event (session_id); +CREATE INDEX IF NOT EXISTS ix_diagnostic_event_event_code ON diagnostic_event (event_code); +CREATE INDEX IF NOT EXISTS ix_diagnostic_event_component ON diagnostic_event (component); +CREATE INDEX IF NOT EXISTS ix_diagnostic_event_level ON diagnostic_event (level); +CREATE INDEX IF NOT EXISTS ix_diagnostic_event_error_code ON diagnostic_event (error_code); +CREATE INDEX IF NOT EXISTS ix_diagnostic_event_app_version ON diagnostic_event (app_version); + +-- ------------------------------------------------------------ +-- Métriques agrégées horaires (§28) — low-cardinality (§30) +-- ------------------------------------------------------------ +CREATE TABLE IF NOT EXISTS telemetry_metric_hourly ( + id BIGSERIAL PRIMARY KEY, + bucket_utc TIMESTAMPTZ NOT NULL, + metric_name TEXT NOT NULL, + component TEXT NOT NULL DEFAULT '', -- '' = métrique globale + value DOUBLE PRECISION NOT NULL, + count BIGINT NOT NULL, + min_value DOUBLE PRECISION NOT NULL, + max_value DOUBLE PRECISION NOT NULL, + tags_json JSONB NOT NULL DEFAULT '{}'::jsonb +); + +-- Upsert : un agrégat unique par (bucket, métrique, composant, tags) +CREATE UNIQUE INDEX IF NOT EXISTS ux_telemetry_metric_hourly + ON telemetry_metric_hourly (bucket_utc, metric_name, component, tags_json); + +CREATE INDEX IF NOT EXISTS ix_telemetry_metric_hourly_bucket + ON telemetry_metric_hourly (bucket_utc); + +-- ------------------------------------------------------------ +-- Rétention (§45) — valeur configurable (Diagnostics:RetentionDays, défaut 60). +-- NON exécutée automatiquement : à planifier en maintenance (purge destructive +-- documentée). Exemple (à adapter) : +-- DELETE FROM diagnostic_event +-- WHERE timestamp_utc < now() - interval '60 days'; +-- ------------------------------------------------------------ diff --git a/infra/postgresql/002_actor_key.sql b/infra/postgresql/002_actor_key.sql new file mode 100644 index 0000000..5400d26 --- /dev/null +++ b/infra/postgresql/002_actor_key.sql @@ -0,0 +1,23 @@ +-- ============================================================ +-- Omika Diagnostic Center — 002_actor_key.sql (Phase 5B2A.1) +-- Pseudonymisation ActorKey (HMAC-SHA256) pour la recherche support. +-- ============================================================ +-- IDEMPOTENT : ADD COLUMN IF NOT EXISTS + CREATE INDEX IF NOT EXISTS. +-- AUCUN DROP, AUCUNE suppression, AUCUNE migration destructive. +-- PostgreSQL 18 compatible (syntaxe disponible depuis 9.6). +-- +-- ActorKey = HMAC-SHA256( "v1|tenant:|collaborateur:" ) +-- calculé côté SERVEUR (Omika.Api) depuis l'identité AUTHENTIFIÉE (§3). +-- Format : hexadécimal minuscule, 64 caractères. NULL = système / sans +-- utilisateur / clé HMAC indisponible (fail-open). +-- ActorKeyVersion = version de l'algorithme (1 aujourd'hui) → rotation future. +-- ============================================================ + +ALTER TABLE diagnostic_event + ADD COLUMN IF NOT EXISTS actor_key TEXT, + ADD COLUMN IF NOT EXISTS actor_key_version INTEGER; + +-- Recherche support « tous les diagnostics d'un collaborateur » (§12) : +-- index composé (actor_key, timestamp_utc DESC). +CREATE INDEX IF NOT EXISTS ix_diagnostic_event_actor_key_timestamp + ON diagnostic_event (actor_key, timestamp_utc DESC); diff --git a/infra/postgresql/003_diagnostics_roles.sql b/infra/postgresql/003_diagnostics_roles.sql new file mode 100644 index 0000000..261e236 --- /dev/null +++ b/infra/postgresql/003_diagnostics_roles.sql @@ -0,0 +1,123 @@ +-- ============================================================ +-- Omika Diagnostic Center -- 003_diagnostics_roles.sql (Phase 5B2B.3) +-- PostgreSQL hardening : least privilege (Worker / Web / Owner). +-- ============================================================ +-- TO RUN ON SRV-OMIKA as PostgreSQL superuser (e.g. psql -U postgres), +-- BEFORE Phase 5C. DO NOT run from the development PC. +-- +-- Guarantees : +-- - PostgreSQL 18 compatible. +-- - Idempotent : re-running is a no-op. +-- - Non destructive : NO DROP, no role/object/data removal. +-- - NO password, NO secret (LOGIN role passwords are set manually via +-- \password, never in this file). +-- +-- Role model : +-- omika_diagnostics_owner NOLOGIN : owner of DB/schema/tables/sequences/indexes. +-- omika_diagnostics_worker LOGIN : Worker runtime (JSONL import). +-- omika_diagnostics_web LOGIN : Web runtime (read only). +-- omika_diagnostics_app (existing) : KEPT (controlled transition), +-- NOT disabled here. +-- +-- Server apply order : 001 (schema) -> 002 (actor_key) -> 003 (roles). +-- ============================================================ + +-- ------------------------------------------------------------ +-- 1. Create roles if absent (NO password here). +-- ------------------------------------------------------------ +DO $$ +BEGIN + IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'omika_diagnostics_owner') THEN + CREATE ROLE omika_diagnostics_owner; + END IF; + IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'omika_diagnostics_worker') THEN + CREATE ROLE omika_diagnostics_worker; + END IF; + IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'omika_diagnostics_web') THEN + CREATE ROLE omika_diagnostics_web; + END IF; +END +$$; + +-- ------------------------------------------------------------ +-- 2. Secure attributes (idempotent). +-- All: NOSUPERUSER NOCREATEDB NOCREATEROLE NOREPLICATION NOBYPASSRLS. +-- ------------------------------------------------------------ +ALTER ROLE omika_diagnostics_owner NOSUPERUSER NOCREATEDB NOCREATEROLE NOREPLICATION NOBYPASSRLS NOLOGIN; +ALTER ROLE omika_diagnostics_worker NOSUPERUSER NOCREATEDB NOCREATEROLE NOREPLICATION NOBYPASSRLS LOGIN; +ALTER ROLE omika_diagnostics_web NOSUPERUSER NOCREATEDB NOCREATEROLE NOREPLICATION NOBYPASSRLS LOGIN; + +-- ------------------------------------------------------------ +-- 3. Ownership transfer (explicit -- no global REASSIGN OWNED). +-- Only Omika Diagnostics objects are targeted. +-- ------------------------------------------------------------ +ALTER DATABASE omika_diagnostics OWNER TO omika_diagnostics_owner; +ALTER SCHEMA public OWNER TO omika_diagnostics_owner; + +ALTER TABLE diagnostic_event OWNER TO omika_diagnostics_owner; +ALTER TABLE telemetry_metric_hourly OWNER TO omika_diagnostics_owner; + +ALTER SEQUENCE diagnostic_event_id_seq OWNER TO omika_diagnostics_owner; +ALTER SEQUENCE telemetry_metric_hourly_id_seq OWNER TO omika_diagnostics_owner; + +-- PostgreSQL 18: +-- Index ownership follows table ownership. +-- No ALTER INDEX OWNER is required. +-- (Sequences are NOT auto-transferred by ALTER TABLE: the ALTER SEQUENCE +-- OWNER commands above are therefore kept and required.) + +-- ------------------------------------------------------------ +-- 4. Schema "public" hardening. +-- Decision : YES, REVOKE CREATE -- the database is dedicated to the +-- Diagnostic Center; only the owner/admin should create objects. +-- (PostgreSQL 15+ already revokes it for new databases; this is an +-- idempotent belt-and-suspenders.) +-- ------------------------------------------------------------ +REVOKE CREATE ON SCHEMA public FROM PUBLIC; + +-- ------------------------------------------------------------ +-- 5. MINIMUM runtime privileges (from real code audit). +-- +-- WORKER (omika_diagnostics_worker): +-- * diagnostic_event : INSERT only +-- (INSERT ... ON CONFLICT (event_id) DO NOTHING -- dedup). +-- * sequence diagnostic_event_id_seq : USAGE (id BIGSERIAL). +-- * NO SELECT/UPDATE/DELETE (60-day retention is NOT implemented; +-- telemetry_metric_hourly upsert is registered but has NO caller). +-- +-- WEB (omika_diagnostics_web): SELECT ONLY on diagnostic_event +-- (QueryAsync count+page, GetByTraceId, GetByOperationId, IsAvailableAsync). +-- +-- NO privilege granted on telemetry_metric_hourly while no code uses it +-- (least privilege). +-- ------------------------------------------------------------ + +-- Explicit connection intent (PUBLIC keeps default CONNECT; documented only, +-- not hardened beyond requested scope). +GRANT CONNECT ON DATABASE omika_diagnostics TO omika_diagnostics_worker, omika_diagnostics_web; + +GRANT USAGE ON SCHEMA public TO omika_diagnostics_worker, omika_diagnostics_web; + +-- Worker : JSONL import -> diagnostic_event. +GRANT INSERT ON TABLE diagnostic_event TO omika_diagnostics_worker; +GRANT USAGE ON SEQUENCE diagnostic_event_id_seq TO omika_diagnostics_worker; + +-- Web : read only. +GRANT SELECT ON TABLE diagnostic_event TO omika_diagnostics_web; + +-- ------------------------------------------------------------ +-- 6. Legacy role omika_diagnostics_app : KEPT (no DROP, no NOLOGIN here). +-- After transfer it owns no Diagnostics object and has no object privilege; +-- disabling it (ALTER ROLE ... NOLOGIN) is an EXPLICIT administrator action +-- AFTER validating the new roles. +-- ------------------------------------------------------------ + +-- ============================================================ +-- END 003. Manual next steps (outside this script): +-- 1. Set passwords: psql -> \password omika_diagnostics_worker +-- then \password omika_diagnostics_web (never in script/log/history). +-- 2. Point Worker: Username=omika_diagnostics_worker ; Web: +-- Username=omika_diagnostics_web (ConnectionStrings__DiagnosticsDatabase). +-- 3. Validate Worker (INSERT) and Web (SELECT), then only after, +-- disable omika_diagnostics_app (ALTER ROLE ... NOLOGIN) if desired. +-- ============================================================ diff --git a/infra/postgresql/003_diagnostics_roles_preprod.sql b/infra/postgresql/003_diagnostics_roles_preprod.sql new file mode 100644 index 0000000..bd1d39e --- /dev/null +++ b/infra/postgresql/003_diagnostics_roles_preprod.sql @@ -0,0 +1,62 @@ +-- ============================================================ +-- Omika Diagnostic Center -- 003_diagnostics_roles_preprod.sql +-- VARIANTE PRÉPROD LOCALE de 003_diagnostics_roles.sql (T21). +-- ============================================================ +-- ⚠️ EXCLUSIVEMENT LOCAL / PRÉPROD — jamais en Production. +-- +-- TRANSFORMATION UNIQUE par rapport à l'original 003 : +-- « ALTER DATABASE omika_diagnostics OWNER TO ... » +-- « GRANT CONNECT ON DATABASE omika_diagnostics TO ... » +-- → base cible renommée « omika_diagnostics_preprod ». +-- Rôles, privilèges, ownership et idempotence STRICTEMENT identiques. +-- (L'original code en dur le nom de la base centrale Production +-- « omika_diagnostics » ; cette variante ne change QUE ce nom.) +-- +-- Teste réellement, sur une base locale jetable, l'exécutabilité des +-- rôles/grants 003 : création de rôles cluster-wide, ownership, REVOKE +-- public, GRANT worker/web. Aucun mot de passe (posé manuellement via +-- \password, jamais dans ce fichier). +-- ============================================================ + +DO $$ +BEGIN + IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'omika_diagnostics_owner') THEN + CREATE ROLE omika_diagnostics_owner; + END IF; + IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'omika_diagnostics_worker') THEN + CREATE ROLE omika_diagnostics_worker; + END IF; + IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'omika_diagnostics_web') THEN + CREATE ROLE omika_diagnostics_web; + END IF; +END +$$; + +ALTER ROLE omika_diagnostics_owner NOSUPERUSER NOCREATEDB NOCREATEROLE NOREPLICATION NOBYPASSRLS NOLOGIN; +ALTER ROLE omika_diagnostics_worker NOSUPERUSER NOCREATEDB NOCREATEROLE NOREPLICATION NOBYPASSRLS LOGIN; +ALTER ROLE omika_diagnostics_web NOSUPERUSER NOCREATEDB NOCREATEROLE NOREPLICATION NOBYPASSRLS LOGIN; + +ALTER DATABASE omika_diagnostics_preprod OWNER TO omika_diagnostics_owner; +ALTER SCHEMA public OWNER TO omika_diagnostics_owner; + +ALTER TABLE diagnostic_event OWNER TO omika_diagnostics_owner; +ALTER TABLE telemetry_metric_hourly OWNER TO omika_diagnostics_owner; + +ALTER SEQUENCE diagnostic_event_id_seq OWNER TO omika_diagnostics_owner; +ALTER SEQUENCE telemetry_metric_hourly_id_seq OWNER TO omika_diagnostics_owner; + +REVOKE CREATE ON SCHEMA public FROM PUBLIC; + +GRANT CONNECT ON DATABASE omika_diagnostics_preprod TO omika_diagnostics_worker, omika_diagnostics_web; + +GRANT USAGE ON SCHEMA public TO omika_diagnostics_worker, omika_diagnostics_web; + +GRANT INSERT ON TABLE diagnostic_event TO omika_diagnostics_worker; +GRANT USAGE ON SEQUENCE diagnostic_event_id_seq TO omika_diagnostics_worker; + +GRANT SELECT ON TABLE diagnostic_event TO omika_diagnostics_web; + +-- ============================================================ +-- END 003 (variante preprod). Les mots de passe des rôles LOGIN +-- (worker/web) sont posés manuellement via \password si nécessaire. +-- ============================================================ diff --git a/infra/postgresql/004_diagnostics_retention.sql b/infra/postgresql/004_diagnostics_retention.sql new file mode 100644 index 0000000..9592f80 --- /dev/null +++ b/infra/postgresql/004_diagnostics_retention.sql @@ -0,0 +1,39 @@ +-- ============================================================ +-- Omika Diagnostic Center -- 004_diagnostics_retention.sql (Phase 5C.2C) +-- PostgreSQL : moindre privilège pour la rétention diagnostic. +-- ============================================================ +-- TO RUN ON SRV-OMIKA as PostgreSQL superuser (e.g. psql -U postgres). +-- DO NOT run from the development PC. +-- +-- Guarantees : +-- - PostgreSQL 18 compatible. +-- - Idempotent : re-running is a no-op (GRANT is idempotent). +-- - Non destructive : NO DROP, NO DELETE/TRUNCATE, NO role/object removal. +-- - NO password, NO secret. +-- +-- Context (Phase 5C.2C) : the retention loop (DiagnosticRetentionWorker) purges +-- diagnostic_event by BOUNDED batches : +-- +-- DELETE FROM diagnostic_event +-- WHERE id IN ( +-- SELECT id FROM diagnostic_event +-- WHERE timestamp_utc < @cutoff +-- ORDER BY timestamp_utc ASC, id ASC +-- LIMIT @batchSize +-- ) +-- +-- This SQL requires : +-- * DELETE on diagnostic_event (the target of the DELETE) ; +-- * SELECT on diagnostic_event (the sub-query reads the table). +-- +-- The worker role (omika_diagnostics_worker) currently holds only INSERT + +-- USAGE sequence (see 003). Least privilege : grant ONLY SELECT + DELETE. +-- NO UPDATE, NO TRUNCATE, NO DDL, NO privilege on telemetry_metric_hourly. +-- ============================================================ + +GRANT SELECT, DELETE ON TABLE diagnostic_event TO omika_diagnostics_worker; + +-- ============================================================ +-- END 004. Apply order on server : 001 -> 002 -> 003 -> 004. +-- No server action is performed by the development PC. +-- ============================================================ diff --git a/infra/postgresql/005_diagnostics_client_context.sql b/infra/postgresql/005_diagnostics_client_context.sql new file mode 100644 index 0000000..a2e07bb --- /dev/null +++ b/infra/postgresql/005_diagnostics_client_context.sql @@ -0,0 +1,45 @@ +-- ============================================================ +-- Omika Diagnostic Center -- 005_diagnostics_client_context.sql +-- Tâche 13-A : contexte client / serveur / environnement (additif). +-- ============================================================ +-- IDEMPOTENT : ADD COLUMN IF NOT EXISTS + CREATE INDEX IF NOT EXISTS. +-- AUCUN DROP, AUCUNE suppression, AUCUNE migration destructive. +-- PostgreSQL 18 compatible (syntaxe disponible depuis 9.6). +-- +-- Ajoute au diagnostic_event trois dimensions de contexte de déploiement, +-- NULLABLES : les événements antérieurs restent parfaitement valides +-- (client_code = NULL, server_instance = NULL, environment = NULL), +-- AUCUN backfill, AUCUNE valeur inventée (« UNKNOWN »/« N/A » interdits). +-- +-- client_code : CodeClient de référence = ClientBase.CL_Code +-- (identifiant NON secret du client Omika, jamais +-- Client.CL_CodeClient, CL_CleAPIInstall, clé licence, +-- ActorKey ni nom société). +-- server_instance : identifiant d'instance serveur (configuré, ex. +-- « API-SRV-01 ») — T13-D. +-- environment : environnement ASP.NET (Development / Production / …). +-- +-- CHOIX DE TYPE (cohérence schéma) : le schéma existant utilise TEXT sans +-- VARCHAR ni CHECK de longueur (priority, level, component, app_version…). +-- On reste cohérent : colonnes TEXT, PAS de CHECK de longueur arbitraire. +-- La validation de longueur (<= 100 / <= 100 / <= 20) sera portée par le +-- code au moment de la résolution (T13-D), comme pour les autres champs. +-- ============================================================ + +ALTER TABLE diagnostic_event + ADD COLUMN IF NOT EXISTS client_code TEXT, + ADD COLUMN IF NOT EXISTS server_instance TEXT, + ADD COLUMN IF NOT EXISTS environment TEXT; + +-- Recherche support « tous les diagnostics d'un client » : index composé +-- (client_code, timestamp_utc DESC), aligné sur le style de +-- ix_diagnostic_event_actor_key_timestamp (002). +-- +-- PAS d'index dédié sur server_instance : aucun usage immédiat ne justifie +-- le coût d'écriture/maintenance d'un second index composé (T13 — « composite +-- éventuel »). À réévaluer en T13-F si un filtre serveur devient un hot path. +-- +-- PAS d'index sur environment : très faible cardinalité (2-3 valeurs), un +-- index serait peu sélectif et sans bénéfice réel. +CREATE INDEX IF NOT EXISTS ix_diagnostic_event_client_code_timestamp + ON diagnostic_event (client_code, timestamp_utc DESC); diff --git a/infra/postgresql/006_diagnostics_device_license.sql b/infra/postgresql/006_diagnostics_device_license.sql new file mode 100644 index 0000000..941838e --- /dev/null +++ b/infra/postgresql/006_diagnostics_device_license.sql @@ -0,0 +1,69 @@ +-- ============================================================ +-- Omika Diagnostic Center -- 006_diagnostics_device_license.sql +-- Tâche 17-B : dimensions appareil + licence (additif). +-- ============================================================ +-- IDEMPOTENT : ADD COLUMN IF NOT EXISTS + CREATE INDEX IF NOT EXISTS. +-- AUCUN DROP, AUCUNE suppression, AUCUNE migration destructive. +-- PostgreSQL 18 compatible (syntaxe disponible depuis 9.6). +-- +-- Ajoute au diagnostic_event les dimensions appareil/licence, TOUTES NULLABLES : +-- les événements antérieurs restent parfaitement valides (toutes nouvelles colonnes +-- à NULL), AUCUN backfill, AUCUNE valeur inventée (« UNKNOWN »/« N/A » interdits). +-- +-- license_number : numéro de licence fonctionnel = Licence.LI_Numero, +-- dérivé SERVEUR du token authentifié +-- (MobileTokenIdentity.NumeroLicence). JAMAIS la PK HFSQL +-- LI_PKID, JAMAIS un secret, JAMAIS fourni par le mobile. +-- device_key : pseudonyme d'appareil HMAC-SHA256 calculé SERVEUR = +-- HMAC("v1|tenant:|device:"). +-- JAMAIS le DeviceId brut. +-- device_key_version : version de l'algorithme DeviceKey (1 aujourd'hui). +-- device_manufacturer : fabricant (mobile, déclaratif). +-- device_model : modèle d'appareil (mobile, déclaratif). +-- operating_system : nom de l'OS (mobile, déclaratif). +-- operating_system_version : version de l'OS (mobile, déclaratif). +-- app_build : numéro de build applicatif (mobile, déclaratif). +-- screen_width : largeur d'écran physique (px, >= 0). +-- screen_height : hauteur d'écran physique (px, >= 0). +-- logical_width : largeur d'écran logique (unités indépendantes densité). +-- logical_height : hauteur d'écran logique. +-- display_scale : facteur d'échelle (ex. 1, 1.25, 1.5, 2, 3). +-- +-- CHOIX DE TYPE (cohérence schéma) : le schéma existant utilise TEXT sans VARCHAR +-- pour les chaînes (priority, level, component, app_version…) ; on reste cohérent. +-- Les dimensions écran physiques/logiques sont des entiers non négatifs (INTEGER) ; +-- display_scale est un réel (DOUBLE PRECISION, valeurs décimales 1.25/1.5/2.75/3). +-- La validation (longueur, bornes, non-négativité) est portée par le code au moment +-- de la résolution (T17-C), comme pour les autres champs. +-- ============================================================ + +ALTER TABLE diagnostic_event + ADD COLUMN IF NOT EXISTS license_number TEXT, + ADD COLUMN IF NOT EXISTS device_key TEXT, + ADD COLUMN IF NOT EXISTS device_key_version INTEGER, + ADD COLUMN IF NOT EXISTS device_manufacturer TEXT, + ADD COLUMN IF NOT EXISTS device_model TEXT, + ADD COLUMN IF NOT EXISTS operating_system TEXT, + ADD COLUMN IF NOT EXISTS operating_system_version TEXT, + ADD COLUMN IF NOT EXISTS app_build TEXT, + ADD COLUMN IF NOT EXISTS screen_width INTEGER, + ADD COLUMN IF NOT EXISTS screen_height INTEGER, + ADD COLUMN IF NOT EXISTS logical_width INTEGER, + ADD COLUMN IF NOT EXISTS logical_height INTEGER, + ADD COLUMN IF NOT EXISTS display_scale DOUBLE PRECISION; + +-- Index composés immédiatement justifiés (recherche support « tous les diagnostics +-- d'un appareil / d'une licence »), alignés sur le style de +-- ix_diagnostic_event_actor_key_timestamp (002) et +-- ix_diagnostic_event_client_code_timestamp (005). +CREATE INDEX IF NOT EXISTS ix_diagnostic_event_device_key_timestamp + ON diagnostic_event (device_key, timestamp_utc DESC); + +CREATE INDEX IF NOT EXISTS ix_diagnostic_event_license_number_timestamp + ON diagnostic_event (license_number, timestamp_utc DESC); + +-- PAS d'index dédié sur device_manufacturer / device_model / operating_system / +-- operating_system_version / app_build / screen_* : dimensions de filtrage/agrégation +-- futures (T17-E) mais sans usage immédiat justifiant le coût d'écriture/maintenance. +-- PAS d'index sur display_scale (valeur continue, jamais filtrée par égalité). +-- À réévaluer en T17-E lorsque les statistiques de parc seront définies. diff --git a/infra/postgresql/007_diagnostics_usage.sql b/infra/postgresql/007_diagnostics_usage.sql new file mode 100644 index 0000000..cdce495 --- /dev/null +++ b/infra/postgresql/007_diagnostics_usage.sql @@ -0,0 +1,47 @@ +-- ============================================================ +-- Omika Diagnostic Center -- 007_diagnostics_usage.sql +-- Tâche 18 : télémétrie d'utilisation des écrans / fonctionnalités (additif). +-- ============================================================ +-- IDEMPOTENT : ADD COLUMN IF NOT EXISTS + CREATE INDEX IF NOT EXISTS. +-- AUCUN DROP, AUCUNE suppression, AUCUNE migration destructive. +-- PostgreSQL 18 compatible (syntaxe disponible depuis 9.6). +-- +-- Ajoute au diagnostic_event deux dimensions d'USAGE fonctionnel, NULLABLES : +-- les événements antérieurs restent parfaitement valides (screen_code = NULL, +-- feature_code = NULL), AUCUN backfill, AUCUNE valeur inventée (« UNKNOWN »/« N/A » +-- interdits). +-- +-- screen_code : code fonctionnel STABLE d'un écran (ex. AGENDA, SITE_DETAIL). +-- Produit DEPUIS le catalogue applicatif (jamais un nom de +-- Page/ViewModel, jamais un identifiant métier, jamais une saisie +-- utilisateur). Null pour les événements background sans écran. +-- feature_code: code fonctionnel STABLE d'une action métier significative +-- (ex. EMAIL_SEND, REPORT_GENERATE). Attaché à l'événement précis +-- de l'action, jamais à un « contexte courant » global. Null si non +-- applicable. +-- +-- CHOIX DE TYPE (cohérence schéma) : TEXT sans VARCHAR, comme les autres chaînes +-- (priority, level, component, license_number…). La validation (longueur, valeurs +-- bornées) est portée par le code au moment de la résolution, comme les autres +-- champs. Les deux colonnes sont NON SENSIBLES : jamais de DeviceId/UserId/ +-- CollaborateurId/email/téléphone/token/id métier dynamique (§9/§10/§72). +-- ============================================================ + +ALTER TABLE diagnostic_event + ADD COLUMN IF NOT EXISTS screen_code TEXT, + ADD COLUMN IF NOT EXISTS feature_code TEXT; + +-- Index de recherche « tous les ScreenView d'un écran dans le temps » (T18, §49) : +-- les agrégations d'usage filtrent par (event_code, screen_code) puis par période, +-- mais l'index composé (screen_code, timestamp_utc DESC) couvre le filtre écran + +-- le tri temporel des diagnostics filtrés (§60), aligné sur le style de +-- ix_diagnostic_event_device_key_timestamp (006). +CREATE INDEX IF NOT EXISTS ix_diagnostic_event_screen_code_timestamp + ON diagnostic_event (screen_code, timestamp_utc DESC); + +-- Index (feature_code, timestamp_utc DESC) : filtre fonctionnalité + tri temporel. +-- FeatureCode est une dimension de catalogue à cardinalité TRÈS faible (< 10), donc +-- un index est peu sélectif ; il est néanmoins ajouté par symétrie avec screen_code +-- car le filtre « Tous les diagnostics d'une fonctionnalité » (§60) est prévu. +CREATE INDEX IF NOT EXISTS ix_diagnostic_event_feature_code_timestamp + ON diagnostic_event (feature_code, timestamp_utc DESC); diff --git a/infra/postgresql/008_diagnostics_clients.sql b/infra/postgresql/008_diagnostics_clients.sql new file mode 100644 index 0000000..0b2297c --- /dev/null +++ b/infra/postgresql/008_diagnostics_clients.sql @@ -0,0 +1,38 @@ +-- ============================================================ +-- Omika Diagnostic Center -- 008_diagnostics_clients.sql +-- Tâche 19 : registre des clients autorisés (serveurs clients) de l'API centrale. +-- ============================================================ +-- IDEMPOTENT : CREATE TABLE IF NOT EXISTS + CREATE UNIQUE INDEX IF NOT EXISTS. +-- AUCUN DROP, AUCUNE suppression, AUCUNE migration destructive. +-- PostgreSQL 18 compatible. +-- +-- Une ligne = un SERVEUR CLIENT autorisé à transmettre ses diagnostics vers +-- Omika.Diagnostics.Api (CodeClient métier, ex. BATIK.01). +-- +-- client_code : CodeClient métier autoritaire (unique, normalisé UPPER côté code). +-- enabled : FALSE => le client ne peut plus envoyer (réponse 403). +-- api_key_hash : hash SHA-256 (hex 64) de la clé d'accès. JAMAIS la clé en clair. +-- key_prefix : préfixe d'affichage de la clé (ex. "omkdiag_"), NON secret, +-- permet d'identifier la clé dans l'interface sans l'exposer. +-- created_at_utc : création du client. +-- key_created_at_utc : génération de la clé COURANTE (utile après régénération). +-- last_seen_at_utc : dernière réception d'un lot accepté ; NULL si jamais. +-- +-- CHOIX DE TYPE : aligné sur diagnostic_event (TEXT, TIMESTAMPTZ). Aucun secret +-- réversible stocké ; la clé n'existe que sous forme de hash SHA-256 (§29/§30). +-- ============================================================ + +CREATE TABLE IF NOT EXISTS diagnostics_clients ( + id BIGSERIAL PRIMARY KEY, + client_code TEXT NOT NULL, + enabled BOOLEAN NOT NULL DEFAULT TRUE, + api_key_hash TEXT NOT NULL, + key_prefix TEXT NOT NULL, + created_at_utc TIMESTAMPTZ NOT NULL, + key_created_at_utc TIMESTAMPTZ NOT NULL, + last_seen_at_utc TIMESTAMPTZ +); + +-- Unicité par CodeClient (un seul client par code, §26). +CREATE UNIQUE INDEX IF NOT EXISTS ux_diagnostics_clients_client_code + ON diagnostics_clients (client_code); diff --git a/infra/postgresql/009_diagnostics_clients_grants.sql b/infra/postgresql/009_diagnostics_clients_grants.sql new file mode 100644 index 0000000..bc75350 --- /dev/null +++ b/infra/postgresql/009_diagnostics_clients_grants.sql @@ -0,0 +1,103 @@ +-- ============================================================ +-- Omika Diagnostic Center -- 009_diagnostics_clients_grants.sql +-- T22 : moindre privilège pour la table diagnostics_clients (008). +-- ============================================================ +-- TO RUN ON SRV-OMIKA as PostgreSQL superuser (e.g. psql -U postgres -d omika_diagnostics -f 009_...), +-- AFTER 008 (table diagnostics_clients) and AFTER 003/004 (rôles owner/worker/web). +-- +-- Guarantees : +-- - PostgreSQL 18 compatible. +-- - Idempotent : re-running is a no-op. +-- - Non destructive : NO DROP, NO DELETE/TRUNCATE, no data removal. +-- - NO password, NO secret (LOGIN role password is set manually via \password). +-- +-- Motivations (T22) : +-- 008 crée diagnostics_clients APRÈS 003/004. La table reste donc possédée +-- par le rôle qui exécute 008 (postgres) et ne reçoit AUCUN GRANT applicatif : +-- l'API centrale (authentification ClientCode+ApiKey + last_seen_at_utc) et +-- l'administration Web (/Clients) échoueraient avec leurs comptes de service. +-- +-- Rôle AJOUTÉ : omika_diagnostics_api (LOGIN). Le modèle 003 ne prévoyait que +-- owner/worker/web ; Omika.Diagnostics.Api (service distinct du Worker et du +-- Web) n'y figurait pas. Elle n'accède QU'À diagnostics_clients. +-- +-- Ownership : même propriétaire logique que les autres tables Diagnostics +-- (omika_diagnostics_owner), comme 003. Les index suivent automatiquement la +-- table ; la séquence BIGSERIAL est transférée explicitement. +-- +-- Note portabilité : GRANT CONNECT utilise current_database() — la migration +-- s'applique donc à la base courante (psql -d ), sans coder en dur le +-- nom (contrairement à 003 qui, pour ALTER DATABASE, devait le fixer). +-- ============================================================ + +-- ------------------------------------------------------------ +-- 1. Créer le rôle API s'il est absent (aucun mot de passe ici). +-- ------------------------------------------------------------ +DO $$ +BEGIN + IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'omika_diagnostics_api') THEN + CREATE ROLE omika_diagnostics_api; + END IF; +END +$$; + +ALTER ROLE omika_diagnostics_api NOSUPERUSER NOCREATEDB NOCREATEROLE NOREPLICATION NOBYPASSRLS LOGIN; + +-- ------------------------------------------------------------ +-- 2. Ownership : omika_diagnostics_owner (comme 003). +-- ------------------------------------------------------------ +ALTER TABLE diagnostics_clients OWNER TO omika_diagnostics_owner; +ALTER SEQUENCE diagnostics_clients_id_seq OWNER TO omika_diagnostics_owner; + +-- ------------------------------------------------------------ +-- 3. Défense PUBLIC (ceinture + bretelles, idempotent) : aucune +-- table Diagnostics n'est accessible à PUBLIC. +-- ------------------------------------------------------------ +REVOKE ALL ON TABLE diagnostics_clients FROM PUBLIC; + +-- ------------------------------------------------------------ +-- 4. Connexion explicite (intention documentée, comme 003) + schéma. +-- ------------------------------------------------------------ +DO $$ +BEGIN + EXECUTE format('GRANT CONNECT ON DATABASE %I TO omika_diagnostics_api', current_database()); +END +$$; + +GRANT USAGE ON SCHEMA public TO omika_diagnostics_api; + +-- ------------------------------------------------------------ +-- 5. API centrale (Omika.Diagnostics.Api) : SELECT (auth : client, +-- enabled, api_key_hash…) + UPDATE(last_seen_at_utc) uniquement. +-- AUCUN INSERT, AUCUN DELETE, AUCUNE modification de enabled / +-- api_key_hash / key_prefix (moindre privilège, anti-falsification +-- de l'autorisation en cas de compromission de l'API). +-- ------------------------------------------------------------ +GRANT SELECT ON TABLE diagnostics_clients TO omika_diagnostics_api; +GRANT UPDATE (last_seen_at_utc) ON TABLE diagnostics_clients TO omika_diagnostics_api; + +-- ------------------------------------------------------------ +-- 6. Web (Omika.Diagnostics.Web, admin /Clients) : liste + création + +-- activation/désactivation + régénération de clé. AUCUN DELETE +-- (aucune opération de suppression n'existe dans le code T19). +-- USAGE séquence : INSERT ... RETURNING id (id BIGSERIAL). +-- ------------------------------------------------------------ +GRANT SELECT ON TABLE diagnostics_clients TO omika_diagnostics_web; +GRANT INSERT ON TABLE diagnostics_clients TO omika_diagnostics_web; +GRANT UPDATE (enabled, api_key_hash, key_prefix, key_created_at_utc) + ON TABLE diagnostics_clients TO omika_diagnostics_web; +GRANT USAGE ON SEQUENCE diagnostics_clients_id_seq TO omika_diagnostics_web; + +-- ------------------------------------------------------------ +-- 7. Worker (Omika.Diagnostics.Worker) : AUCUN droit sur +-- diagnostics_clients (il n'y accède jamais : import JSONL -> +-- diagnostic_event + rétention diagnostic_event uniquement). +-- Rien à accorder. Aucun REVOKE nécessaire : le rôle n'a reçu +-- aucun privilège sur cette table. +-- ------------------------------------------------------------ + +-- ============================================================ +-- END 009. Ordre serveur : 001 -> 002 -> 003 -> 004 -> 005 -> 006 +-- -> 007 -> 008 -> 009. Mots de passe posés manuellement (\password), +-- jamais dans un script/log. +-- ============================================================ diff --git a/infra/postgresql/010_diagnostics_web_users.sql b/infra/postgresql/010_diagnostics_web_users.sql new file mode 100644 index 0000000..416c05c --- /dev/null +++ b/infra/postgresql/010_diagnostics_web_users.sql @@ -0,0 +1,99 @@ +-- ============================================================ +-- Omika Diagnostic Center -- 010_diagnostics_web_users.sql +-- T23 : gestion des utilisateurs de Omika.Diagnostics.Web. +-- ============================================================ +-- TO RUN ON SRV-OMIKA as PostgreSQL superuser (e.g. psql -U postgres -d -f 010_...), +-- AFTER 003 (rôles owner/worker/web), 008 (diagnostics_clients) and 009 (rôle api + grants clients). +-- +-- Guarantees : +-- - PostgreSQL 18 compatible. +-- - Idempotent : re-running is a no-op (CREATE ... IF NOT EXISTS + GRANT idempotent). +-- - Non destructive : NO DROP, NO DELETE/TRUNCATE, no data removal. +-- - NO password, NO secret (no column stores a clear-text password). +-- +-- Une ligne = une PERSONNE autorisée à ouvrir Omika.Diagnostics.Web +-- (username + password_hash + rôle). À NE PAS confondre avec +-- diagnostics_clients (serveurs clients, ClientCode + ApiKey). +-- +-- username : identifiant unique (unicité insensible à la casse). +-- password_hash : hash PBKDF2-SHA256 (DiagnosticPasswordHasher). JAMAIS en clair. +-- role : 'Support' ou 'Admin' (validé par le code, pas de CHECK arbitraire). +-- enabled : FALSE => l'utilisateur ne peut plus se connecter. +-- created_at_utc : création du compte. +-- updated_at_utc : dernière mutation du compte. +-- password_changed_at_utc : dernier changement de mot de passe. +-- last_login_at_utc : dernier login réussi ; NULL si jamais. +-- +-- CHOIX DE TYPE : aligné sur diagnostic_event / diagnostics_clients (TEXT, TIMESTAMPTZ, +-- BOOLEAN). Aucun VARCHAR, aucun CHECK de longueur (validation portée par le code, +-- comme 005/007/008). Aucune colonne password/plain_password/clear_password. +-- ============================================================ + +CREATE TABLE IF NOT EXISTS diagnostics_users ( + id BIGSERIAL PRIMARY KEY, + username TEXT NOT NULL, + password_hash TEXT NOT NULL, + role TEXT NOT NULL, + enabled BOOLEAN NOT NULL DEFAULT TRUE, + created_at_utc TIMESTAMPTZ NOT NULL, + updated_at_utc TIMESTAMPTZ NOT NULL, + password_changed_at_utc TIMESTAMPTZ NOT NULL, + last_login_at_utc TIMESTAMPTZ +); + +-- Unicité insensible à la casse (§T23/11) : un index sur LOWER(username) garantit +-- qu'un même identifiant ne peut exister deux fois quelle que soit la casse. +CREATE UNIQUE INDEX IF NOT EXISTS ux_diagnostics_users_username + ON diagnostics_users (LOWER(username)); + +-- ------------------------------------------------------------ +-- Ownership : omika_diagnostics_owner (comme 003/009). +-- ------------------------------------------------------------ +ALTER TABLE diagnostics_users OWNER TO omika_diagnostics_owner; +ALTER SEQUENCE diagnostics_users_id_seq OWNER TO omika_diagnostics_owner; + +-- ------------------------------------------------------------ +-- Défense PUBLIC (ceinture + bretelles, idempotent). +-- ------------------------------------------------------------ +REVOKE ALL ON TABLE diagnostics_users FROM PUBLIC; + +-- ------------------------------------------------------------ +-- Connexion explicite + schéma pour omika_diagnostics_web +-- (déjà accordés par 003 ; ré-affirmé idempotent, intention documentée). +-- ------------------------------------------------------------ +DO $$ +BEGIN + EXECUTE format('GRANT CONNECT ON DATABASE %I TO omika_diagnostics_web', current_database()); +END +$$; + +GRANT USAGE ON SCHEMA public TO omika_diagnostics_web; + +-- ------------------------------------------------------------ +-- Web (Omika.Diagnostics.Web, admin /Users) : SELECT + INSERT + +-- UPDATE colonne-ciblé (moindre privilège) + USAGE séquence. +-- - INSERT : création utilisateur (id BIGSERIAL). +-- - UPDATE (password_hash, role, enabled, updated_at_utc, +-- password_changed_at_utc, last_login_at_utc) : reset mot de passe, +-- changement rôle, activation/désactivation, last login. +-- - username n'est JAMAIS mis à jour (aucun renommage en V1). +-- - AUCUN DELETE (aucune suppression physique en V1). +-- ------------------------------------------------------------ +GRANT SELECT ON TABLE diagnostics_users TO omika_diagnostics_web; +GRANT INSERT ON TABLE diagnostics_users TO omika_diagnostics_web; +GRANT UPDATE (password_hash, role, enabled, updated_at_utc, password_changed_at_utc, last_login_at_utc) + ON TABLE diagnostics_users TO omika_diagnostics_web; +GRANT USAGE ON SEQUENCE diagnostics_users_id_seq TO omika_diagnostics_web; + +-- ------------------------------------------------------------ +-- API (omika_diagnostics_api) : AUCUN droit sur diagnostics_users. +-- Worker (omika_diagnostics_worker) : AUCUN droit sur diagnostics_users. +-- Aucun GRANT accordé ; les rôles n'ont aucun privilège par défaut. +-- (Aucun REVOKE nécessaire : aucun privilège n'a été accordé.) +-- ------------------------------------------------------------ + +-- ============================================================ +-- END 010. Ordre serveur : 001 -> 002 -> 003 -> 004 -> 005 -> 006 +-- -> 007 -> 008 -> 009 -> 010. Mots de passe posés manuellement +-- (\password), jamais dans un script/log. +-- ============================================================ diff --git a/infra/postgresql/011_diagnostics_reference.sql b/infra/postgresql/011_diagnostics_reference.sql new file mode 100644 index 0000000..51ce16f --- /dev/null +++ b/infra/postgresql/011_diagnostics_reference.sql @@ -0,0 +1,140 @@ +-- ============================================================ +-- Omika Diagnostic Center -- 011_diagnostics_reference.sql +-- T24-A : référentiel administrable ScreenCode / FeatureCode. +-- ============================================================ +-- TO RUN ON SRV-OMIKA as PostgreSQL superuser (e.g. psql -U postgres -d -f 011_...), +-- AFTER 010 (diagnostics_users). Order: 001 -> ... -> 010 -> 011. +-- +-- Guarantees : +-- - PostgreSQL 18 compatible. +-- - Idempotent : re-running is a no-op (CREATE ... IF NOT EXISTS + GRANT idempotent +-- + seed ON CONFLICT DO NOTHING). +-- - Non destructive : NO DROP, NO DELETE/TRUNCATE, no data removal. +-- - NO password, NO secret. +-- +-- PURPOSE : +-- diagnostic_event reste la VÉRITÉ sur ce qui a réellement été observé. Ce +-- référentiel est un ENRICHISSEMENT administrable (libellé / description / +-- ordre / état) depuis Diagnostics.Web. Il ne détermine JAMAIS quels événements +-- sont acceptés : un nouveau code observé reste visible même non référencé. +-- +-- reference_type : 'SCREEN_CODE' ou 'FEATURE_CODE' (V1). Extensible plus tard. +-- code : code technique, normalisé TRIM + UPPER (unique par type). +-- label : libellé métier français. +-- description : documentation métier (nullable). +-- enabled : FALSE => archivé (aucun DELETE physique en V1). +-- sort_order : ordre d'affichage. +-- created_at_utc / updated_at_utc : TIMESTAMPTZ (comme 005/007/008/010). +-- +-- Ownership : omika_diagnostics_owner (comme 003/008/009/010). +-- ============================================================ + +CREATE TABLE IF NOT EXISTS diagnostics_reference ( + id BIGSERIAL PRIMARY KEY, + reference_type TEXT NOT NULL, + code TEXT NOT NULL, + label TEXT NOT NULL, + description TEXT, + enabled BOOLEAN NOT NULL DEFAULT TRUE, + sort_order INTEGER NOT NULL DEFAULT 0, + created_at_utc TIMESTAMPTZ NOT NULL, + updated_at_utc TIMESTAMPTZ NOT NULL +); + +-- Unicité d'un code POUR SON TYPE, insensible à la casse (T24-A §20) : l'index +-- porte sur UPPER(code), donc 'agenda' / 'AGENDA' / 'Agenda' sont le même code. +CREATE UNIQUE INDEX IF NOT EXISTS ux_diagnostics_reference_type_code + ON diagnostics_reference (reference_type, UPPER(code)); + +-- ------------------------------------------------------------ +-- Ownership : omika_diagnostics_owner. +-- ------------------------------------------------------------ +ALTER TABLE diagnostics_reference OWNER TO omika_diagnostics_owner; +ALTER SEQUENCE diagnostics_reference_id_seq OWNER TO omika_diagnostics_owner; + +-- ------------------------------------------------------------ +-- Défense PUBLIC (ceinture + bretelles, idempotent). +-- ------------------------------------------------------------ +REVOKE ALL ON TABLE diagnostics_reference FROM PUBLIC; + +-- ------------------------------------------------------------ +-- Connexion explicite + schéma pour omika_diagnostics_web +-- (déjà accordés par 003 ; ré-affirmé idempotent). +-- ------------------------------------------------------------ +DO $$ +BEGIN + EXECUTE format('GRANT CONNECT ON DATABASE %I TO omika_diagnostics_web', current_database()); +END +$$; + +GRANT USAGE ON SCHEMA public TO omika_diagnostics_web; + +-- ------------------------------------------------------------ +-- Web (Omika.Diagnostics.Web, admin /Referentiel/Admin) : SELECT + INSERT + +-- UPDATE colonne-ciblé (moindre privilège) + USAGE séquence. +-- - INSERT : création d'une entrée (id BIGSERIAL). +-- - UPDATE (label, description, enabled, sort_order, updated_at_utc) : +-- modification + archivage (enabled=false). Le CODE est immuable. +-- - AUCUN DELETE (aucune suppression physique en V1, §24). +-- ------------------------------------------------------------ +GRANT SELECT ON TABLE diagnostics_reference TO omika_diagnostics_web; +GRANT INSERT ON TABLE diagnostics_reference TO omika_diagnostics_web; +GRANT UPDATE (label, description, enabled, sort_order, updated_at_utc) + ON TABLE diagnostics_reference TO omika_diagnostics_web; +GRANT USAGE ON SEQUENCE diagnostics_reference_id_seq TO omika_diagnostics_web; + +-- ------------------------------------------------------------ +-- API (omika_diagnostics_api) : AUCUN droit sur diagnostics_reference. +-- Worker (omika_diagnostics_worker) : AUCUN droit sur diagnostics_reference. +-- Aucun GRANT accordé ; les rôles n'ont aucun privilège par défaut. +-- (Testé négativement : SELECT référentiel REFUSÉ pour api et worker.) +-- ------------------------------------------------------------ + +-- ------------------------------------------------------------ +-- INITIALISATION IDEMPOTENTE (T24-A §36) : les 29 ScreenCode et 3 FeatureCode +-- du catalogue applicatif. ON CONFLICT DO NOTHING => un libellé modifié par un +-- Admin n'est JAMAIS écrasé au redémarrage. Les libellés correspondent EXACTEMENT +-- à DiagnosticScreenCodeCatalog / DiagnosticFeatureCodeCatalog. +-- ------------------------------------------------------------ + +INSERT INTO diagnostics_reference + (reference_type, code, label, description, enabled, sort_order, created_at_utc, updated_at_utc) +VALUES + ('SCREEN_CODE', 'AGENDA', 'Agenda', NULL, TRUE, 10, now(), now()), + ('SCREEN_CODE', 'INTERVENTION_SEARCH', 'Recherche d''interventions', NULL, TRUE, 20, now(), now()), + ('SCREEN_CODE', 'DOSSIER_LIST', 'Dossiers', NULL, TRUE, 30, now(), now()), + ('SCREEN_CODE', 'TEAM', 'Équipe', NULL, TRUE, 40, now(), now()), + ('SCREEN_CODE', 'TEAM_DETAIL', 'Détail d''équipe', NULL, TRUE, 50, now(), now()), + ('SCREEN_CODE', 'CLIENT_LIST', 'Clients', NULL, TRUE, 60, now(), now()), + ('SCREEN_CODE', 'SITE_LIST', 'Sites', NULL, TRUE, 70, now(), now()), + ('SCREEN_CODE', 'SETTINGS', 'Paramètres', NULL, TRUE, 80, now(), now()), + ('SCREEN_CODE', 'RENDEZVOUS_DETAIL', 'Détail de rendez-vous', NULL, TRUE, 90, now(), now()), + ('SCREEN_CODE', 'AGENDA_TEAM', 'Agenda d''équipe', NULL, TRUE, 100, now(), now()), + ('SCREEN_CODE', 'INTERVENTION_DETAIL', 'Détail d''intervention', NULL, TRUE, 110, now(), now()), + ('SCREEN_CODE', 'INTERVENTION_DOCUMENTS', 'Documents d''intervention', NULL, TRUE, 120, now(), now()), + ('SCREEN_CODE', 'INTERVENTION_NOTES', 'Notes d''intervention', NULL, TRUE, 130, now(), now()), + ('SCREEN_CODE', 'INTERVENTION_NOTES_ADMIN', 'Notes administratives', NULL, TRUE, 140, now(), now()), + ('SCREEN_CODE', 'INTERVENTION_EMAILS', 'Courriels d''intervention', NULL, TRUE, 150, now(), now()), + ('SCREEN_CODE', 'EMAIL', 'Nouveau courriel', NULL, TRUE, 160, now(), now()), + ('SCREEN_CODE', 'RAPPORT', 'Rapport', NULL, TRUE, 170, now(), now()), + ('SCREEN_CODE', 'INTERVENTION_RESOURCES', 'Contenus d''intervention', NULL, TRUE, 180, now(), now()), + ('SCREEN_CODE', 'PHOTO_VIEWER', 'Visionneuse photo', NULL, TRUE, 190, now(), now()), + ('SCREEN_CODE', 'IMAGE_EDITOR', 'Éditeur d''image', NULL, TRUE, 200, now(), now()), + ('SCREEN_CODE', 'INTERVENTION_CONTACTS', 'Contacts d''intervention', NULL, TRUE, 210, now(), now()), + ('SCREEN_CODE', 'CONTACT_DETAIL', 'Détail de contact', NULL, TRUE, 220, now(), now()), + ('SCREEN_CODE', 'DOSSIER_DETAIL', 'Détail de dossier', NULL, TRUE, 230, now(), now()), + ('SCREEN_CODE', 'CLIENT_DETAIL', 'Détail de client', NULL, TRUE, 240, now(), now()), + ('SCREEN_CODE', 'SITE_DETAIL', 'Détail de site', NULL, TRUE, 250, now(), now()), + ('SCREEN_CODE', 'COLLABORATEUR_DETAIL', 'Détail de collaborateur', NULL, TRUE, 260, now(), now()), + ('SCREEN_CODE', 'INTERVENTION_EDIT', 'Formulaire intervention', NULL, TRUE, 270, now(), now()), + ('SCREEN_CODE', 'SUIVI_TEMPS_CREATE', 'Saisie de temps', NULL, TRUE, 280, now(), now()), + ('SCREEN_CODE', 'COMPTE_RENDU_CREATE', 'Compte rendu', NULL, TRUE, 290, now(), now()), + ('FEATURE_CODE', 'INTERVENTION_SEARCH_RUN', 'Recherche d''intervention', NULL, TRUE, 10, now(), now()), + ('FEATURE_CODE', 'REPORT_GENERATE', 'Génération de rapport', NULL, TRUE, 20, now(), now()), + ('FEATURE_CODE', 'EMAIL_SEND', 'Envoi de courriel', NULL, TRUE, 30, now(), now()) +ON CONFLICT DO NOTHING; + +-- ============================================================ +-- END 011. Ordre serveur : 001 -> 002 -> 003 -> 004 -> 005 -> 006 +-- -> 007 -> 008 -> 009 -> 010 -> 011. Aucun DELETE, aucune donnée écrasée. +-- ============================================================ diff --git a/infra/postgresql/012_diagnostics_tasks.sql b/infra/postgresql/012_diagnostics_tasks.sql new file mode 100644 index 0000000..47591f1 --- /dev/null +++ b/infra/postgresql/012_diagnostics_tasks.sql @@ -0,0 +1,90 @@ +-- ============================================================ +-- Omika Diagnostic Center -- 012_diagnostics_tasks.sql +-- T25 : tâches de traitement des bugs récurrents. +-- ============================================================ +-- TO RUN ON SRV-OMIKA as PostgreSQL superuser (e.g. psql -U postgres -d -f 012_...), +-- AFTER 003 (rôles owner/worker/web) and 010 (diagnostics_users). +-- +-- Guarantees : +-- - PostgreSQL 18 compatible. +-- - Idempotent : re-running is a no-op (CREATE ... IF NOT EXISTS + GRANT idempotent). +-- - Non destructive : NO DROP, NO DELETE/TRUNCATE, no data removal. +-- - NO password, NO secret. +-- +-- Une ligne = une TÂCHE de traitement liée à un « type de bug », c'est-à-dire une +-- signature d'erreur (code événement + code erreur + exception + composant normalisés). +-- La signature est stockée sous sa forme URL-safe (DiagnosticErrorGroup.UrlIdentifier), +-- identique à celle utilisée par la page /Erreurs/{id}. Une seule tâche par signature +-- (unicité) : toutes les occurrences du même type de bug sont couvertes par la tâche. +-- +-- group_url_identifier : identifiant URL-safe du groupe d'erreurs lié (unique, immuable). +-- title : intitulé de la tâche. +-- description : description libre du bug (nullable). +-- cause : cause de l'erreur / analyse root cause (nullable). +-- status : 'Todo' | 'InProgress' | 'Resolved' | 'Rejected' (liste fermée, +-- validée par le code, pas de CHECK arbitraire). +-- created_by_username : username de l'auteur (immuable, jamais renommé en V1). +-- assignee_username : username du responsable (nullable, optionnel). +-- created_at_utc : création. +-- updated_at_utc : dernière mutation. +-- resolved_at_utc : date de résolution/rejet ; NULL si statut non terminal. +-- +-- CHOIX DE TYPE : aligné sur diagnostics_clients / diagnostics_users (TEXT, TIMESTAMPTZ, +-- BOOLEAN). Aucun VARCHAR, aucun CHECK de longueur (validation portée par le code). +-- Aucune colonne secret. Aucune colonne « password ». +-- ============================================================ + +CREATE TABLE IF NOT EXISTS diagnostics_tasks ( + id BIGSERIAL PRIMARY KEY, + group_url_identifier TEXT NOT NULL, + title TEXT NOT NULL, + description TEXT, + cause TEXT, + status TEXT NOT NULL, + created_by_username TEXT NOT NULL, + assignee_username TEXT, + created_at_utc TIMESTAMPTZ NOT NULL, + updated_at_utc TIMESTAMPTZ NOT NULL, + resolved_at_utc TIMESTAMPTZ +); + +-- Une seule tâche par signature d'erreur (T25 §4). +CREATE UNIQUE INDEX IF NOT EXISTS ux_diagnostics_tasks_group_url_identifier + ON diagnostics_tasks (group_url_identifier); + +-- ------------------------------------------------------------ +-- Ownership : omika_diagnostics_owner (comme 003/008/010). +-- ------------------------------------------------------------ +ALTER TABLE diagnostics_tasks OWNER TO omika_diagnostics_owner; +ALTER SEQUENCE diagnostics_tasks_id_seq OWNER TO omika_diagnostics_owner; + +-- ------------------------------------------------------------ +-- Défense PUBLIC (ceinture + bretelles, idempotent). +-- ------------------------------------------------------------ +REVOKE ALL ON TABLE diagnostics_tasks FROM PUBLIC; + +-- ------------------------------------------------------------ +-- Web (Omika.Diagnostics.Web) : SELECT + INSERT + UPDATE +-- colonne-ciblé (moindre privilège) + USAGE séquence. +-- - INSERT : création d'une tâche (id BIGSERIAL). +-- - UPDATE (title, description, cause, status, assignee_username, +-- updated_at_utc, resolved_at_utc) : édition de la tâche. +-- - group_url_identifier et created_by_username ne sont JAMAIS mis à jour. +-- - AUCUN DELETE (aucune suppression physique en V1). +-- ------------------------------------------------------------ +GRANT SELECT ON TABLE diagnostics_tasks TO omika_diagnostics_web; +GRANT INSERT ON TABLE diagnostics_tasks TO omika_diagnostics_web; +GRANT UPDATE (title, description, cause, status, assignee_username, updated_at_utc, resolved_at_utc) + ON TABLE diagnostics_tasks TO omika_diagnostics_web; +GRANT USAGE ON SEQUENCE diagnostics_tasks_id_seq TO omika_diagnostics_web; + +-- ------------------------------------------------------------ +-- API (omika_diagnostics_api) : AUCUN droit sur diagnostics_tasks. +-- Worker (omika_diagnostics_worker) : AUCUN droit sur diagnostics_tasks. +-- Aucun GRANT accordé ; les rôles n'ont aucun privilège par défaut. +-- (Aucun REVOKE nécessaire : aucun privilège n'a été accordé.) +-- ------------------------------------------------------------ + +-- ============================================================ +-- END 012. Ordre serveur : 001 -> 002 -> ... -> 011 -> 012. +-- ============================================================ diff --git a/infra/postgresql/013_diagnostics_tasks_delete.sql b/infra/postgresql/013_diagnostics_tasks_delete.sql new file mode 100644 index 0000000..df7aa86 --- /dev/null +++ b/infra/postgresql/013_diagnostics_tasks_delete.sql @@ -0,0 +1,24 @@ +-- ============================================================ +-- Omika Diagnostic Center -- 013_diagnostics_tasks_delete.sql +-- T25 : autorise la suppression d'une tâche de traitement (V2). +-- ============================================================ +-- TO RUN ON SRV-OMIKA as PostgreSQL superuser (e.g. psql -U postgres -d -f 013_...), +-- AFTER 012 (table diagnostics_tasks + rôles Web). +-- +-- Guarantees : +-- - PostgreSQL 18 compatible. +-- - Idempotent : re-running is a no-op (GRANT is idempotent). +-- - Non destructive : NO DROP, NO DELETE/TRUNCATE, no data removal. +-- - NO password, NO secret. +-- +-- Jusqu'en V1, aucune suppression physique n'était prévue : 012 n'accordait AUCUN +-- DELETE. La V2 ajoute un bouton « Supprimer » sur /Taches : on accorde DELETE au +-- seul rôle Web (moindre privilège). L'API (omika_diagnostics_api) et le Worker +-- (omika_diagnostics_worker) n'ont TOUJOURS aucun droit de suppression. +-- ============================================================ + +GRANT DELETE ON TABLE diagnostics_tasks TO omika_diagnostics_web; + +-- ============================================================ +-- END 013. Ordre serveur : 001 -> 002 -> ... -> 012 -> 013. +-- ============================================================ diff --git a/infra/postgresql/014_diagnostics_telemetry_retention.sql b/infra/postgresql/014_diagnostics_telemetry_retention.sql new file mode 100644 index 0000000..c88e7d0 --- /dev/null +++ b/infra/postgresql/014_diagnostics_telemetry_retention.sql @@ -0,0 +1,40 @@ +-- ============================================================ +-- Omika Diagnostic Center -- 014_diagnostics_telemetry_retention.sql +-- Rétention télémétrie : privilège de purge de telemetry_metric_hourly. +-- ============================================================ +-- TO RUN ON SRV-OMIKA as PostgreSQL superuser (e.g. psql -U postgres -d -f 014_...), +-- AFTER 003 (rôles) et 001 (table telemetry_metric_hourly). +-- +-- Guarantees : +-- - PostgreSQL 18 compatible. +-- - Idempotent : re-running is a no-op (GRANT is idempotent). +-- - Non destructive : NO DROP, NO DELETE/TRUNCATE, no data removal. +-- - NO password, NO secret. +-- +-- Context : la boucle DiagnosticTelemetryRetentionWorker purge les agrégats horaires +-- plus anciens que Diagnostics__TelemetryRetentionDays (défaut 180 j = 6 mois), par +-- LOTS BORNÉS : +-- +-- DELETE FROM telemetry_metric_hourly +-- WHERE id IN ( +-- SELECT id FROM telemetry_metric_hourly +-- WHERE bucket_utc < @cutoff +-- ORDER BY bucket_utc ASC, id ASC +-- LIMIT @batchSize +-- ) +-- +-- Cette requête requiert : +-- * DELETE sur telemetry_metric_hourly (cible du DELETE) ; +-- * SELECT sur telemetry_metric_hourly (la sous-requête lit la table). +-- +-- Jusqu'ici le rôle worker (omika_diagnostics_worker) n'avait AUCUN droit sur cette +-- table (least privilege, cf. 003). On accorde le MINIMUM pour la rétention : +-- SELECT + DELETE uniquement. NO UPDATE, NO TRUNCATE, NO DDL, NO INSERT (l'upsert de +-- télémétrie n'a toujours pas de caller, la table reste non alimentée côté worker). +-- ============================================================ + +GRANT SELECT, DELETE ON TABLE telemetry_metric_hourly TO omika_diagnostics_worker; + +-- ============================================================ +-- END 014. Ordre serveur : 001 -> 002 -> 003 -> 004 -> ... -> 013 -> 014. +-- ============================================================ diff --git a/infra/postgresql/015_diagnostics_retention_untreated.sql b/infra/postgresql/015_diagnostics_retention_untreated.sql new file mode 100644 index 0000000..f19dae3 --- /dev/null +++ b/infra/postgresql/015_diagnostics_retention_untreated.sql @@ -0,0 +1,51 @@ +-- ============================================================ +-- Omika Diagnostic Center -- 015_diagnostics_retention_untreated.sql +-- Rétention : ne pas purger les erreurs non traitées (privilège SELECT colonne-ciblé). +-- ============================================================ +-- TO RUN ON SRV-OMIKA as PostgreSQL superuser (e.g. psql -U postgres -d -f 015_...), +-- AFTER 004 (SELECT/DELETE sur diagnostic_event) et 012 (table diagnostics_tasks). +-- +-- Guarantees : +-- - PostgreSQL 18 compatible. +-- - Idempotent : re-running is a no-op (GRANT is idempotent). +-- - Non destructive : NO DROP, NO DELETE/TRUNCATE, no data removal. +-- - NO password, NO secret. +-- +-- Règle de conservation : la purge DiagnosticRetentionWorker supprime un événement +-- ancien selon DEUX cas : +-- 1) événement NON-erreur (trace/debug/info/warning, ou level NULL) → toujours purgé ; +-- 2) événement d'ERREUR (error/critical) → purgé SEULEMENT si son groupe possède une +-- tâche (diagnostics_tasks) en statut TERMINAL (Resolved/Rejected). Une erreur non +-- traitée (aucune tâche, ou Todo/InProgress) est conservée même au-delà du cutoff. +-- +-- Le DELETE joint donc diagnostics_tasks sur l'identifiant URL-safe du groupe (recalculé +-- en SQL, sans colonne fingerprint) : +-- +-- DELETE FROM diagnostic_event +-- WHERE id IN ( +-- SELECT id FROM diagnostic_event +-- WHERE timestamp_utc < @cutoff +-- AND ( +-- level IS NULL OR LOWER(level) NOT IN ('error', 'critical') OR +-- (LOWER(level) IN ('error', 'critical') AND IN ( +-- SELECT group_url_identifier FROM diagnostics_tasks +-- WHERE LOWER(status) IN ('resolved','rejected') +-- )) +-- ) +-- ORDER BY timestamp_utc ASC, id ASC +-- LIMIT @batchSize +-- ) +-- +-- Jusqu'ici le rôle worker (omika_diagnostics_worker) n'avait AUCUN droit sur +-- diagnostics_tasks (012). On accorde le MINIMUM pour le rapprochement : SELECT +-- UNIQUEMENT sur group_url_identifier (la clé) et status (le statut terminal). +-- NO SELECT sur title/description/cause (notes de support, potentiellement sensibles), +-- NO SELECT sur assignee/created_by (usernames), NO UPDATE/INSERT/DELETE. +-- ============================================================ + +GRANT SELECT (group_url_identifier, status) + ON TABLE diagnostics_tasks TO omika_diagnostics_worker; + +-- ============================================================ +-- END 015. Ordre serveur : 001 -> 002 -> ... -> 013 -> 014 -> 015. +-- ============================================================ diff --git a/infra/postgresql/016_diagnostics_event_delete.sql b/infra/postgresql/016_diagnostics_event_delete.sql new file mode 100644 index 0000000..a0a1283 --- /dev/null +++ b/infra/postgresql/016_diagnostics_event_delete.sql @@ -0,0 +1,31 @@ +-- ============================================================ +-- Omika Diagnostic Center -- 016_diagnostics_event_delete.sql +-- Erreurs : autorise la suppression d'un groupe d'erreurs complet (V2). +-- ============================================================ +-- TO RUN ON SRV-OMIKA as PostgreSQL superuser (e.g. psql -U postgres -d -f 016_...), +-- AFTER 003 (rôles owner/worker/web). +-- +-- Guarantees : +-- - PostgreSQL 18 compatible. +-- - Idempotent : re-running is a no-op (GRANT is idempotent). +-- - Non destructive : NO DROP, NO DELETE/TRUNCATE, no data removal. +-- - NO password, NO secret. +-- +-- Jusqu'ici le rôle Web (omika_diagnostics_web) n'avait que SELECT sur +-- diagnostic_event (migration 003) : il lisait les événements mais ne pouvait jamais en +-- supprimer. La V2 ajoute, sur la page /Erreurs, un bouton « Supprimer le groupe » qui +-- supprime TOUTES les occurrences d'un groupe d'erreurs (signature normalisée : +-- event_code + error_code/exception_type/component). Le DELETE est exécuté par le Web, +-- donc on accorde le privilège DELETE au seul rôle Web (moindre privilège). +-- +-- Le Worker (omika_diagnostics_worker) conserve déjà SELECT + DELETE (migration 004, +-- rétention par lots bornés) ; son périmètre est inchangé. L'API n'a AUCUN droit de +-- suppression. Le DELETE du Web est borné par la signature du groupe (jamais un DELETE +-- massif non filtré) et restreint aux niveaux d'erreur réels par le code applicatif. +-- ============================================================ + +GRANT DELETE ON TABLE diagnostic_event TO omika_diagnostics_web; + +-- ============================================================ +-- END 016. Ordre serveur : 001 -> 002 -> ... -> 015 -> 016. +-- ============================================================ diff --git a/scripts/Completer-Packs-Langues.ps1 b/scripts/Completer-Packs-Langues.ps1 new file mode 100644 index 0000000..7656e1e --- /dev/null +++ b/scripts/Completer-Packs-Langues.ps1 @@ -0,0 +1,264 @@ +# ============================================================ +# Omika - Completion des packs de langue deja exportes +# ============================================================ +# Les packs exportes avant l'introduction du vocabulaire de modele contiennent +# quatre fichiers : encoder_model.onnx, decoder_model.onnx, source.spm, +# target.spm. Il en manque deux, sans lesquels le moteur ne peut pas traduire +# correctement : +# +# vocab.json - les identifiants REELLEMENT attendus par le modele. Le .spm +# numerote ses pieces dans un ordre qui lui est propre : sur +# opus-mt-es-fr, la piece Ho vaut 5293 pour le .spm mais +# 584 pour le modele. Envoyer les identifiants du .spm revient a +# faire lire un autre texte, sans la moindre erreur levee. +# config.json - l'amorce et la fin du decodeur (74821 et 0 sur opus-mt-es-fr), +# que le .spm ne contient pas non plus. +# +# Ces deux fichiers pesent quelques mega-octets : rien n'est reexporte, les poids +# deja sur le disque (23 Gio) restent valables. +# +# GARDE-FOU : le modele d'origine n'est pas note dans le pack. Il est deduit du +# code de langue et du sens (es + versFrancais -> opus-mt-es-fr), puis VERIFIE : +# le source.spm telecharge doit etre identique, octet pour octet, a celui du +# pack. Sans cette comparaison, on attacherait le vocabulaire d'un autre modele +# - exactement le defaut que ce script repare, en pire. +# +# Usage : +# .\scripts\Completer-Packs-Langues.ps1 -Verifier +# .\scripts\Completer-Packs-Langues.ps1 +# .\scripts\Completer-Packs-Langues.ps1 -Codes "es,pt,it" +# ============================================================ + +[CmdletBinding()] +param( + # Racine des packs. Par defaut : \packs + [string]$RacinePacks = '', + + # N'ecrit rien : dit seulement quels packs sont deja alignes ou non. + [switch]$Verifier, + + # Codes de langue a traiter (ex. "es,pt"). Vide = tous les dossiers trouves. + [string]$Codes = '' +) + +$ErrorActionPreference = 'Stop' + +# --- Sortie ---------------------------------------------------------------- +function Write-Etape { param([string]$Message) Write-Host ''; Write-Host $Message -ForegroundColor Cyan } +function Write-Info { param([string]$Message) Write-Host (' ' + $Message) } +function Write-Ok { param([string]$Message) Write-Host (' [OK] ' + $Message) -ForegroundColor Green } +function Write-Alerte{ param([string]$Message) Write-Host (' [ALERTE] ' + $Message) -ForegroundColor Yellow } +function Write-Ecart { param([string]$Message) Write-Host (' [ECART] ' + $Message) -ForegroundColor DarkYellow } + +function Stop-AvecMessage { + param([string]$Message) + Write-Host '' + Write-Host '=== ARRET ===' -ForegroundColor Red + Write-Host $Message -ForegroundColor Red + exit 1 +} + +# --- Logique --------------------------------------------------------------- + +# Nom du depot HuggingFace correspondant a un pack. Convention de l'exporteur : +# versFrancais = -> francais, depuisFrancais = francais -> . +function Get-NomModele { + param( + [Parameter(Mandatory = $true)][string]$Code, + [Parameter(Mandatory = $true)][string]$Sens, + [string]$Auteur = 'Helsinki-NLP' + ) + + $codeNormalise = $Code.Trim().ToLowerInvariant() + if ($Sens -eq 'versFrancais') { + return ('{0}/opus-mt-{1}-fr' -f $Auteur, $codeNormalise) + } + + return ('{0}/opus-mt-fr-{1}' -f $Auteur, $codeNormalise) +} + +# Empreinte SHA-256 en minuscules, comparable telle quelle. +function Get-Empreinte { + param([Parameter(Mandatory = $true)][string]$Chemin) + return (Get-FileHash -LiteralPath $Chemin -Algorithm SHA256).Hash.ToLowerInvariant() +} + +# Inventaire des couples (code, sens) presents sur le disque. +function Get-PacksPresents { + param( + [Parameter(Mandatory = $true)][string]$Racine, + [string[]]$CodesFiltres = @() + ) + + $presents = New-Object 'System.Collections.Generic.List[object]' + if (-not (Test-Path -LiteralPath $Racine -PathType Container)) { + return $presents + } + + foreach ($dossierLangue in @(Get-ChildItem -LiteralPath $Racine -Directory | Sort-Object -Property Name)) { + $code = $dossierLangue.Name + # Dossiers techniques (.hf-cache) et fichiers d'essai : jamais des langues. + if ($code.StartsWith('.')) { continue } + if ($CodesFiltres.Count -gt 0 -and $CodesFiltres -notcontains $code) { continue } + + foreach ($dossierSens in @(Get-ChildItem -LiteralPath $dossierLangue.FullName -Directory | Sort-Object -Property Name)) { + $sens = $dossierSens.Name + if ($sens -ne 'versFrancais' -and $sens -ne 'depuisFrancais') { continue } + + # Un pack FAMILIAL (modele multilingue) range ses poids dans + # \commun\ et ne laisse qu'un modele.json par sens : il n'a + # aucun source.spm par sens, donc RIEN a aligner. Sans ce garde-fou + # on lui cherchait une paire bilingue qui n'existe pas et on le + # declarait « ecarte » a tort. + $spm = Join-Path $dossierSens.FullName 'source.spm' + if (-not (Test-Path -LiteralPath $spm -PathType Leaf)) { continue } + + $presents.Add([pscustomobject]@{ + Code = $code + Sens = $sens + Dossier = $dossierSens.FullName + Source = $spm + }) + } + } + + return $presents +} + +# Complete un pack. $Recuperer recoit (modele, fichier, destination) et doit +# renvoyer $true si le fichier a ete obtenu. Il est injecte pour que les tests +# s'executent sans reseau. +function Invoke-Completion { + param( + [Parameter(Mandatory = $true)][string]$Racine, + [Parameter(Mandatory = $true)][scriptblock]$Recuperer, + [switch]$SansEcrire, + [string[]]$CodesFiltres = @() + ) + + $bilan = [pscustomobject]@{ + Packs = 0 + Alignes = 0 + Ecartes = 0 + Echecs = 0 + Ecrits = 0 + } + + $packs = @(Get-PacksPresents -Racine $Racine -CodesFiltres $CodesFiltres) + if ($packs.Count -eq 0) { + Write-Alerte ("aucun pack trouve sous {0}" -f $Racine) + return $bilan + } + + $bac = Join-Path ([System.IO.Path]::GetTempPath()) ('omika-completion-' + [guid]::NewGuid().ToString('N').Substring(0, 8)) + $null = New-Item -ItemType Directory -Path $bac -Force + + try { + foreach ($pack in $packs) { + $bilan.Packs++ + $modele = Get-NomModele -Code $pack.Code -Sens $pack.Sens + $nomCourt = '{0}/{1}' -f $pack.Code, $pack.Sens + + $spmTelecharge = Join-Path $bac ('{0}-{1}-source.spm' -f $pack.Code, $pack.Sens) + $vocabTelecharge = Join-Path $bac ('{0}-{1}-vocab.json' -f $pack.Code, $pack.Sens) + $configTelecharge = Join-Path $bac ('{0}-{1}-config.json' -f $pack.Code, $pack.Sens) + + $obtenus = $true + foreach ($paire in @( + @{ Fichier = 'source.spm'; Destination = $spmTelecharge }, + @{ Fichier = 'vocab.json'; Destination = $vocabTelecharge }, + @{ Fichier = 'config.json'; Destination = $configTelecharge })) { + if (-not (& $Recuperer $modele $paire.Fichier $paire.Destination)) { + $obtenus = $false + Write-Alerte ("{0} : {1} introuvable pour {2}" -f $nomCourt, $paire.Fichier, $modele) + break + } + } + + if (-not $obtenus) { + $bilan.Echecs++ + continue + } + + # LE garde-fou : le modele deduit doit etre celui du pack. + $empreinteLocale = Get-Empreinte -Chemin $pack.Source + $empreinteDistante = Get-Empreinte -Chemin $spmTelecharge + if ($empreinteLocale -ne $empreinteDistante) { + Write-Ecart ("{0} : {1} n'est PAS le modele de ce pack (source.spm different) - non complete" -f $nomCourt, $modele) + $bilan.Ecartes++ + continue + } + + $bilan.Alignes++ + if ($SansEcrire) { + Write-Ok ("{0} : aligne sur {1}" -f $nomCourt, $modele) + continue + } + + Copy-Item -LiteralPath $vocabTelecharge -Destination (Join-Path $pack.Dossier 'vocab.json') -Force + Copy-Item -LiteralPath $configTelecharge -Destination (Join-Path $pack.Dossier 'config.json') -Force + $bilan.Ecrits++ + Write-Ok ("{0} : vocabulaire et configuration ajoutes ({1})" -f $nomCourt, $modele) + } + } + finally { + Remove-Item -LiteralPath $bac -Recurse -Force -ErrorAction SilentlyContinue + } + + return $bilan +} + +# --- Execution ------------------------------------------------------------- +# Les tests dot-sourcent ce fichier pour appeler les fonctions : dans ce cas, +# rien ne s'execute. Seul un lancement direct declenche le traitement. +if ($MyInvocation.InvocationName -ne '.') { + + if ([string]::IsNullOrWhiteSpace($RacinePacks)) { + $RacinePacks = Join-Path (Split-Path -Parent $PSScriptRoot) 'packs' + } + + $codesFiltres = @() + if (-not [string]::IsNullOrWhiteSpace($Codes)) { + $codesFiltres = @($Codes -split '[,;]' | ForEach-Object { $_.Trim().ToLowerInvariant() } | Where-Object { $_ }) + } + + Write-Host '' + Write-Host '=== Omika - Completion des packs de langue ===' -ForegroundColor Cyan + Write-Info ('Racine des packs : {0}' -f $RacinePacks) + Write-Info ('Mode : {0}' -f $(if ($Verifier) { 'verification seule (aucune ecriture)' } else { 'ecriture' })) + if ($codesFiltres.Count -gt 0) { Write-Info ('Langues : {0}' -f ($codesFiltres -join ', ')) } + + # Recuperation reelle : HuggingFace, sans jeton (les depots sont publics). + $recuperer = { + param($modele, $fichier, $destination) + $uri = 'https://huggingface.co/{0}/resolve/main/{1}' -f $modele, $fichier + try { + Invoke-WebRequest -Uri $uri -OutFile $destination -UseBasicParsing -ErrorAction Stop + return (Test-Path -LiteralPath $destination -PathType Leaf) + } + catch { + return $false + } + } + + $bilan = Invoke-Completion -Racine $RacinePacks -Recuperer $recuperer -SansEcrire:$Verifier -CodesFiltres $codesFiltres + + Write-Etape '=== RESULTAT ===' + Write-Info ('Packs examines : {0}' -f $bilan.Packs) + Write-Info ('Alignes : {0}' -f $bilan.Alignes) + Write-Info ('Completes : {0}' -f $bilan.Ecrits) + Write-Info ('Ecartes (autre modele) : {0}' -f $bilan.Ecartes) + Write-Info ('Echecs : {0}' -f $bilan.Echecs) + + if ($bilan.Echecs -gt 0) { + Stop-AvecMessage ("{0} pack(s) n'ont pas pu etre completes (reseau ou depots introuvables).`n" -f $bilan.Echecs + + " Relancer la MEME commande : les packs deja completes ne sont pas retraites.") + } + + if ($bilan.Ecartes -gt 0) { + Write-Alerte 'Les packs ecartes viennent d''une autre famille de modeles que celle deduite du code.' + Write-Alerte 'Ils doivent etre reexportes avec scripts\Exporter-Packs-Langues.ps1 (le modele d''origine y sera note).' + } + + exit 0 +} diff --git a/scripts/Exporter-Packs-Langues.ps1 b/scripts/Exporter-Packs-Langues.ps1 new file mode 100644 index 0000000..351cb15 --- /dev/null +++ b/scripts/Exporter-Packs-Langues.ps1 @@ -0,0 +1,1616 @@ +# ============================================================ +# Omika — Export des packs de langue (modèles ONNX OPUS-MT) +# ============================================================ +# Usage (poste de développement : Internet, Python 3, ~30 Go de disque libre) : +# +# .\scripts\Exporter-Packs-Langues.ps1 -Simulation # le PLAN, rien n'est telecharge +# .\scripts\Exporter-Packs-Langues.ps1 -SansExporter # quelles langues SONT livrables (rien n'est telecharge) +# .\scripts\Exporter-Packs-Langues.ps1 # toutes les langues de la table +# .\scripts\Exporter-Packs-Langues.ps1 -Codes es,pt,uk,ru +# .\scripts\Exporter-Packs-Langues.ps1 -Zone Est,Caucase +# .\scripts\Exporter-Packs-Langues.ps1 -RacinePacks D:\PacksLangues +# +# PREREQUIS (une seule fois, sur le poste qui telecharge) : +# pip install --user "optimum[onnxruntime]" transformers sentencepiece +# C'est cet outil qui telecharge le modele PyTorch puis le convertit en ONNX. +# Sans lui le script s'arrete immediatement, sans rien telecharger. Il est +# cherche dans le PATH, PUIS dans le dossier des scripts Python — car avec le +# Python du Microsoft Store « pip install » reussit alors que « optimum-cli » +# reste introuvable (ce dossier n'est pas dans le PATH). +# +# CE QUE FAIT LE SCRIPT +# 1. Pour chaque langue, verifie que les DEUX modeles bilingues existent : +# Helsinki-NLP/opus-mt--fr (langue -> francais) et +# Helsinki-NLP/opus-mt-fr- (francais -> langue). La verification se +# fait sur le CATALOGUE public de l'auteur (une requete), pas par un appel +# par modele : voir Get-CatalogueHelsinkiNLP pour les trois raisons. +# 2. Exporte chacun en ONNX avec optimum-cli. +# 3. Ne conserve QUE les fichiers utiles au pack (encoder_model.onnx, +# decoder_model.onnx, *.spm, vocab.json, config.json) : +# decoder_with_past_model.onnx est ecarte — l'application l'ignore, mais +# s'il etait livre il serait telecharge par chaque telephone (~120 Mo de +# donnees mobiles pour rien, par langue). +# +# vocab.json et config.json sont OBLIGATOIRES (mesure sur deux modeles +# reels) : le .spm numerote ses pieces autrement que le modele (▁Ho = 5293 +# cote .spm contre 584 cote modele) et il ne contient ni l'amorce du +# decodeur ni sa fin. Sans ces deux fichiers, le modele recoit un autre +# texte que celui dicte et produit du charabia, sans lever d'erreur. +# 3b. Une langue sans paire bilingue complete peut etre servie par UN SEUL +# modele multilingue de sa famille (opus-mt-tc-big-itc-itc couvre it, es, +# pt, ca, gl et ro dans les deux sens). Ses poids (~1,15 Go) sont ecrits +# UNE fois dans \commun\ ; chaque sens ne recoit qu'un modele.json de +# quelques dizaines d'octets declarant son JETON DE CIBLE (>>fra<< pour +# l'aller, >>por<< pour le retour), que l'application place elle-meme en +# tete du texte. Le telephone ne telecharge donc ces poids qu'UNE fois. +# 4. Ecrit l'arborescence attendue par l'API : \\\. +# 5. Ecrit un rapport : RAPPORT-LANGUES.md (packs construits, paires +# INDISPONIBLES, packs partiels, poids total). +# 6. Avec -SansExporter : s'arrete apres l'etape 1 et ecrit le rapport. Repond +# a « quelles langues sont manquantes ? » sans rien telecharger. +# +# CE QUE LE SCRIPT NE FAIT PAS +# - Le manifeste : il contient la taille et l'empreinte SHA-256 des fichiers +# REELLEMENT presents sur le serveur. Il se genere LA OU SONT LES MODELES +# (infra\deploy\New-OmikaLanguesManifeste.ps1), jamais ici. +# - Le transfert vers le serveur, ni la validation de la qualite de traduction +# (voir docs\VALIDATION_TRADUCTION_ONNX.md §2.5). +# +# POURQUOI UN BILINGUE EN PRIORITE, UN FAMILIAL EN REPLI +# Un modele bilingue (~300 Mo par sens) est plus leger que le familial +# (~1,15 Go pour 11 langues, deux sens compris) : il est employe des qu'il +# existe. Le familial prend le relais quand une paire manque, ou quand le +# bilingue ne s'exporte pas. Il ne sait ecrire QUE la langue que le pack lui +# demande : sans le jeton de cible declare par modele.json, il produirait sa +# langue par defaut — du texte parfaitement lisible dans la mauvaise langue, +# sans le moindre signe d'erreur. C'est pourquoi ce jeton est ecrit ici. +# ============================================================ + +[CmdletBinding()] +param( + # Dossier de sortie des packs. Peut etre directement la racine des modeles + # du serveur si le script y est lance (Langues__RootPath). + [string]$RacinePacks = 'packs', + + # Cache de telechargement de HuggingFace. Par defaut : \.hf-cache, + # pour que TOUT (packs + cache) reste sur le meme disque et se supprime d'un + # seul geste. Si HF_HOME est deja defini dans l'environnement, il est respecte. + [string]$CacheHuggingFace, + + # Conserve le cache apres un export reussi. Par defaut il est supprime : le + # modele PyTorch telecharge (~300 Mo par sens) n'est plus utile une fois + # l'export ONNX reussi, et le garder double l'espace disque necessaire. + # Le conserver n'a d'interet que pour enchainer plusieurs -Forcer. + [switch]$GarderCacheHuggingFace, + + # Sous-ensemble de langues (codes). Par defaut : toute la table ci-dessous. + [string[]]$Codes, + + # Filtre par zone geographique : Ouest, Sud, Nord, Centre, Baltes, Est, + # Caucase, AsieCentrale, Divers. + [string[]]$Zone, + + # Interpreteur Python (celui qui porte optimum). + [string]$Python = 'python', + + # Commande de l'outil d'export (installee par « pip install optimum[onnxruntime] »). + [string]$OptimumCli = 'optimum-cli', + + # Affiche le plan complet SANS reseau, sans Python, sans rien ecrire. + # A lancer en premier : c'est la seule facon de voir le volume avant de le payer. + [switch]$Simulation, + + # Reexporte une langue deja presente (par defaut elle est ignoree). + [switch]$Forcer, + + # Construit un pack meme si UNE SEULE des deux directions existe. Par defaut + # la langue est ignoree : un pack a une seule direction laisse l'application + # sans modele pour l'autre usage (dictee OU lecture). + [switch]$InclureDirectionsPartielles, + + # Ne consulte pas HuggingFace : tente l'export directement. Utile hors ligne, + # mais on perd la distinction « paire inexistante » / « reseau injoignable ». + [switch]$SansVerifierHuggingFace, + + # N'exporte RIEN : verifie seulement quelles paires existent reellement sur + # HuggingFace, puis ecrit le rapport. Repond en une minute a « quelles langues + # sont manquantes ? » sans telecharger 30 Go. Les langues introuvables sont + # listees dans « Paires indisponibles », les autres dans « Paires disponibles ». + [switch]$SansExporter +) + +$ErrorActionPreference = 'Stop' + +$RepoRoot = Split-Path -Parent $PSScriptRoot + +# ============================================================ +# Table des langues +# ============================================================ +# Le francais est le PIVOT de l'application : il n'est pas dans la table (un +# pack « fr » n'aurait aucun sens). +# +# « Alias » : codes de modele essayes si le code principal n'a pas de paire avec +# le francais (Helsinki-NLP utilise parfois un code different, ex. no/nb). +# +# Modifier cette table est sans risque : le script verifie chaque paire sur +# HuggingFace avant de telecharger quoi que ce soit, et signale les absentes. +$Langues = @( + # --- Europe de l'Ouest --- + @{ Code = 'en'; Libelle = 'Anglais'; Zone = 'Ouest' } + @{ Code = 'de'; Libelle = 'Allemand'; Zone = 'Ouest' } + @{ Code = 'nl'; Libelle = 'Néerlandais'; Zone = 'Ouest' } + @{ Code = 'lb'; Libelle = 'Luxembourgeois'; Zone = 'Ouest' } + + # --- Europe du Sud --- + @{ Code = 'es'; Libelle = 'Espagnol'; Zone = 'Sud' } + @{ Code = 'it'; Libelle = 'Italien'; Zone = 'Sud' } + @{ Code = 'pt'; Libelle = 'Portugais'; Zone = 'Sud' } + @{ Code = 'el'; Libelle = 'Grec'; Zone = 'Sud' } + @{ Code = 'mt'; Libelle = 'Maltais'; Zone = 'Sud' } + @{ Code = 'ca'; Libelle = 'Catalan'; Zone = 'Sud' } + @{ Code = 'gl'; Libelle = 'Galicien'; Zone = 'Sud' } + @{ Code = 'eu'; Libelle = 'Basque'; Zone = 'Sud' } + @{ Code = 'sq'; Libelle = 'Albanais'; Zone = 'Sud' } + + # --- Europe du Nord --- + @{ Code = 'da'; Libelle = 'Danois'; Zone = 'Nord' } + @{ Code = 'sv'; Libelle = 'Suédois'; Zone = 'Nord' } + @{ Code = 'no'; Libelle = 'Norvégien'; Zone = 'Nord'; Alias = @('nb', 'nn') } + @{ Code = 'fi'; Libelle = 'Finnois'; Zone = 'Nord' } + @{ Code = 'is'; Libelle = 'Islandais'; Zone = 'Nord' } + @{ Code = 'ga'; Libelle = 'Irlandais'; Zone = 'Nord' } + @{ Code = 'cy'; Libelle = 'Gallois'; Zone = 'Nord' } + + # --- Europe centrale --- + @{ Code = 'pl'; Libelle = 'Polonais'; Zone = 'Centre' } + @{ Code = 'cs'; Libelle = 'Tchèque'; Zone = 'Centre' } + @{ Code = 'sk'; Libelle = 'Slovaque'; Zone = 'Centre' } + @{ Code = 'hu'; Libelle = 'Hongrois'; Zone = 'Centre' } + @{ Code = 'ro'; Libelle = 'Roumain'; Zone = 'Centre' } + @{ Code = 'sl'; Libelle = 'Slovène'; Zone = 'Centre' } + @{ Code = 'hr'; Libelle = 'Croate'; Zone = 'Centre' } + @{ Code = 'sr'; Libelle = 'Serbe'; Zone = 'Centre'; Alias = @('hbs') } + @{ Code = 'bs'; Libelle = 'Bosniaque'; Zone = 'Centre' } + @{ Code = 'mk'; Libelle = 'Macédonien'; Zone = 'Centre' } + @{ Code = 'bg'; Libelle = 'Bulgare'; Zone = 'Centre' } + + # --- Pays baltes --- + @{ Code = 'lt'; Libelle = 'Lituanien'; Zone = 'Baltes' } + @{ Code = 'lv'; Libelle = 'Letton'; Zone = 'Baltes' } + @{ Code = 'et'; Libelle = 'Estonien'; Zone = 'Baltes' } + + # --- Est (pays de l'Est europeen) --- + @{ Code = 'ru'; Libelle = 'Russe'; Zone = 'Est' } + @{ Code = 'uk'; Libelle = 'Ukrainien'; Zone = 'Est' } + @{ Code = 'be'; Libelle = 'Biélorusse'; Zone = 'Est' } + + # --- Caucase --- + @{ Code = 'ka'; Libelle = 'Géorgien'; Zone = 'Caucase' } + @{ Code = 'hy'; Libelle = 'Arménien'; Zone = 'Caucase' } + @{ Code = 'az'; Libelle = 'Azéri'; Zone = 'Caucase' } + @{ Code = 'ce'; Libelle = 'Tchétchène'; Zone = 'Caucase' } + @{ Code = 'os'; Libelle = 'Ossète'; Zone = 'Caucase' } + + # --- Asie centrale et voisins --- + @{ Code = 'kk'; Libelle = 'Kazakh'; Zone = 'AsieCentrale' } + @{ Code = 'uz'; Libelle = 'Ouzbek'; Zone = 'AsieCentrale' } + @{ Code = 'ky'; Libelle = 'Kirghize'; Zone = 'AsieCentrale' } + @{ Code = 'tg'; Libelle = 'Tadjik'; Zone = 'AsieCentrale' } + @{ Code = 'tk'; Libelle = 'Turkmène'; Zone = 'AsieCentrale' } + @{ Code = 'mn'; Libelle = 'Mongol'; Zone = 'AsieCentrale' } + + # --- Divers (langues tres presentes dans le contexte Omika) --- + @{ Code = 'tr'; Libelle = 'Turc'; Zone = 'Divers' } + @{ Code = 'tt'; Libelle = 'Tatar'; Zone = 'Divers' } + @{ Code = 'ar'; Libelle = 'Arabe'; Zone = 'Divers' } +) + +# Estimation HAUTE par sens (encoder + decoder fp32 d'un modele Marian), pour le +# plan de -Simulation. Le poids reel est mesure a l'export et ecrit au rapport. +$EstimationMoParSens = 300 + +$SensCanoniques = @('versFrancais', 'depuisFrancais') + +# Dossier PARTAGE entre les deux sens d'une langue (poids d'un modele familial). +# L'application le cherche APRES le dossier du sens : un pack bilingue garde la +# priorite s'il en existe un. +$DossierCommun = 'commun' + +# Metadonnees d'un sens (`modele.json`) : le jeton de cible d'un modele +# multilingue. Format lu par l'application (ModelePackMetadonnees) : +# { "version": 1, "modeleSource": "…", "famille": "itc", "jetonCible": ">>fra<<" } +$FichierMetadonnees = 'modele.json' + +# Jeton de cible du francais : il est identique dans TOUS les modeles familiaux +# (le francais etant le pivot de l'application), donc ecrit une seule fois ici. +$JetonVersFrancais = '>>fra<<' + +# Modeles FAMILIAUX : un seul modele multilingue couvre TOUTES les langues de sa +# famille, dans les deux sens, via un jeton de cible place en tete du texte. +# - il ne sert QUE si au moins une direction n'a pas de paire bilingue ; +# - ses poids sont ecrits UNE fois dans \commun\ (partage entre les deux +# sens), et chaque sens ne recoit que son modele.json ; +# - jeton de l'aller : >>fra<< (constante ci-dessus) ; jeton du retour : +# le code de la langue dans la nomenclature du modele (>>por<<, >>ita<<…), +# qui n'est pas toujours le code ISO (galicien : >>glg<<, roumain : >>ron<<). +# Les jetons ont ete releves dans le vocab.json du modele (ils n'existent pas +# dans le .spm) et verifies par une traduction reelle. +$ModelesFamiliaux = @( + @{ Code = 'es'; Modele = 'Helsinki-NLP/opus-mt-tc-big-itc-itc'; Famille = 'itc'; JetonDepuis = '>>spa<<' } + @{ Code = 'it'; Modele = 'Helsinki-NLP/opus-mt-tc-big-itc-itc'; Famille = 'itc'; JetonDepuis = '>>ita<<' } + @{ Code = 'pt'; Modele = 'Helsinki-NLP/opus-mt-tc-big-itc-itc'; Famille = 'itc'; JetonDepuis = '>>por<<' } + @{ Code = 'ca'; Modele = 'Helsinki-NLP/opus-mt-tc-big-itc-itc'; Famille = 'itc'; JetonDepuis = '>>cat<<' } + @{ Code = 'gl'; Modele = 'Helsinki-NLP/opus-mt-tc-big-itc-itc'; Famille = 'itc'; JetonDepuis = '>>glg<<' } + @{ Code = 'ro'; Modele = 'Helsinki-NLP/opus-mt-tc-big-itc-itc'; Famille = 'itc'; JetonDepuis = '>>ron<<' } +) + +# Fichiers d'un pack complet. vocab.json et config.json ne sont pas des poids : +# ce sont les deux referentiels sans lesquels le modele lit un autre texte que +# celui dicte (voir l'en-tete du script, etape 3). +$FichiersPack = @( + 'encoder_model.onnx', 'decoder_model.onnx', + 'source.spm', 'target.spm', + 'vocab.json', 'config.json' +) + +# Modeles bilingues Helsinki-NLP, avec le francais comme pivot. Le nom du modele +# ne se deduit pas toujours du code de la langue (no/nb, sr/hbs) : les alias de +# la table sont essayes dans l'ordre, et c'est le code RETENU qui nomme le modele. +# +# DEUX FAMILLES sont essayees, dans cet ordre : +# - « opus-mt » : le modele bilingue dedie, petit (~300 Mo par sens) ; +# - « opus-mt-tc-big » : la version « big » (Tatoeba Challenge), publiee pour +# des paires que la famille standard ne couvre pas — c'est elle qui peut +# debloquer le portugais, le galicien, l'albanais, le georgien, l'hebreu… +# Elle est NETTEMENT plus lourde (~1 Go par sens) : on ne la prend qu'a +# defaut de la premiere. +# Aucune n'est choisie a l'aveugle : chaque nom est cherche dans le catalogue +# public AVANT tout telechargement, et le nom retenu est inscrit au rapport. +$Directions = @( + @{ Sens = 'versFrancais'; Gabarits = @('Helsinki-NLP/opus-mt-{0}-fr', 'Helsinki-NLP/opus-mt-tc-big-{0}-fr') } # -> francais + @{ Sens = 'depuisFrancais'; Gabarits = @('Helsinki-NLP/opus-mt-fr-{0}', 'Helsinki-NLP/opus-mt-tc-big-fr-{0}') } # francais -> +) + +# Codes a essayer pour une langue : le code principal, puis ses alias, sans les +# valeurs vides (une entree sans alias ne doit pas produire « opus-mt--fr »). +function Get-Candidats { + param($Langue) + return @(@($Langue.Code) + @($Langue.Alias) | Where-Object { $_ }) +} + +# Modele familial de cette langue, ou $null si elle n'en a pas. Une langue peut +# ne pas figurer ici : c'est le cas de toutes celles qui ont deux paires +# bilingues, et de celles qu'aucun modele familial ne couvre. +function Get-ModeleFamilial { + param([string]$Code) + foreach ($entree in $ModelesFamiliaux) { + if ($entree.Code -eq $Code) { return $entree } + } + return $null +} + + +# ============================================================ +# Affichage +# ============================================================ +function Write-Etape { param([string]$Message) Write-Host ''; Write-Host $Message -ForegroundColor Cyan } +function Write-Info { param([string]$Message) Write-Host (' ' + $Message) } +function Write-Ok { param([string]$Message) Write-Host (' [OK] ' + $Message) -ForegroundColor Green } +function Write-Alerte{ param([string]$Message) Write-Host (' [ALERTE] ' + $Message) -ForegroundColor Yellow } +function Write-Ecart { param([string]$Message) Write-Host (' [ABSENT] ' + $Message) -ForegroundColor DarkYellow } + +function Stop-AvecMessage { + param([string]$Message) + Write-Host '' + Write-Host ("ERREUR : " + $Message) -ForegroundColor Red + exit 1 +} + +function Format-Taille { + param([long]$Octets) + if ($Octets -ge 1073741824) { return ('{0:N2} Gio' -f ($Octets / 1073741824)) } + if ($Octets -ge 1048576) { return ('{0:N1} Mio' -f ($Octets / 1048576)) } + if ($Octets -ge 1024) { return ('{0:N0} Kio' -f ($Octets / 1024)) } + return ("$Octets octets") +} + +# ============================================================ +# Nettoyage du cache de telechargement +# ============================================================ +# huggingface_hub range chaque depot telecharge sous \hub\models----. +# Une fois l'export ONNX reussi, cette copie PyTorch (~300 Mo par sens) n'a plus +# d'usage : la garder doublerait l'espace disque necessaire a l'operation. +# Sans ce nettoyage, 50 langues occupent ~29 Gio de packs ET ~29 Gio de cache. +function Remove-CacheModele { + param([string]$Modele, [string]$Cache) + + $nom = 'models--' + ($Modele -replace '/', '--') + if ($nom -notlike 'models--*') { return [long]0 } + + $racineCache = [System.IO.Path]::GetFullPath((Join-Path $Cache 'hub')) + $dossier = Join-Path $racineCache $nom + + # Garde-fou : on ne supprime QUE sous \hub, et seulement un dossier + # dont le nom est celui du modele. Aucune autre suppression n'est possible. + $complet = [System.IO.Path]::GetFullPath($dossier) + if (-not $complet.StartsWith($racineCache, [System.StringComparison]::OrdinalIgnoreCase)) { return [long]0 } + if (-not (Test-Path -LiteralPath $complet -PathType Container)) { return [long]0 } + + $taille = [long]0 + $mesure = (Get-ChildItem -LiteralPath $complet -Recurse -File -ErrorAction SilentlyContinue | + Measure-Object Length -Sum).Sum + if ($mesure) { $taille = [long]$mesure } + + try { + Remove-Item -LiteralPath $complet -Recurse -Force -ErrorAction Stop + return $taille + } + catch { + # Un cache non supprime n'est jamais un echec : c'est de l'espace disque. + Write-Alerte ("cache non supprime ({0}) : {1}" -f $complet, $_.Exception.Message) + return [long]0 + } +} + +# ============================================================ +# Disponibilite d'un modele sur HuggingFace +# ============================================================ +# Trois etats, et la distinction est essentielle : « la paire n'existe pas » +# signifie qu'on ne pourra jamais la livrer, une erreur reseau signifie qu'on ne +# SAIT PAS. Confondre les deux ferait conclure « aucune paire disponible » alors +# que le poste est simplement hors ligne — et on chercherait le probleme du +# mauvais cote. +# +# MESURE (export des 50 langues, 2026-10-16) : HuggingFace ne repond JAMAIS 404 +# pour un depot absent — il repond 401 avec {"error":"Repository not found"}. +# Les 55 paires manquantes l'ont toutes ete en 401, aucune en 404. Un « 401 » +# seul est donc ambigu (depot absent ? prive ? jeton ?) : c'est le CORPS de la +# reponse qui tranche. Le lire est la seule facon de ne pas ecrire un rapport +# faux. +# +# Fonction PURE (code + corps + message) : elle est donc verifiable sans reseau. +function Get-VerdictEchecHuggingFace { + param( + [int]$Code, + [string]$Corps, + [string]$MessageErreur + ) + + if ($Code -eq 404) { + return @{ Existe = $false; Injoignable = $false; Detail = 'paire inexistante (HTTP 404)' } + } + + if ($Code -eq 401 -or $Code -eq 403) { + $texte = if ($Corps) { $Corps.ToLowerInvariant() } else { '' } + + # Reponse REELLE de HuggingFace pour un depot absent. + if ($texte -match 'not found') { + return @{ + Existe = $false; Injoignable = $false + Detail = ("paire inexistante (HTTP $Code : depot introuvable)") + } + } + + # Tout autre 401 : le corps n'est pas lisible. Mesure du 16/10 sur ce + # poste, au meme instant : un depot EXISTANT repond 200 (opus-mt-es-fr), + # un depot absent repond 401 (API et page publique). Un 401 est donc bien + # « ce depot n'est pas publie ». On le declare absent, en le disant : la + # preuve textuelle manque, le code HTTP et le temoin 200 la remplacent. + $extrait = if ($Corps) { ($Corps -replace '\s+', ' ').Trim() } else { 'aucun message' } + if ($extrait.Length -gt 40) { $extrait = $extrait.Substring(0, 40) + '...' } + return @{ + Existe = $false; Injoignable = $false + Detail = ("paire non publiee (HTTP $Code, corps illisible : $extrait ; un depot existant repond 200)") + } + } + + # Quota atteint : ce n'est PAS une absence, et relancer suffit. + if ($Code -eq 429) { + return @{ Existe = $false; Injoignable = $true; Detail = 'quota HuggingFace atteint (HTTP 429) : relancer plus tard' } + } + if ($Code -ge 500) { + return @{ Existe = $false; Injoignable = $true; Detail = ("erreur du serveur HuggingFace (HTTP $Code)") } + } + + return @{ Existe = $false; Injoignable = $true; Detail = $MessageErreur } +} + +function Test-ModeleHuggingFaceUneFois { + param([string]$Modele) + + $url = 'https://huggingface.co/api/models/' + $Modele + try { + $null = Invoke-WebRequest -Uri $url -Method Get -TimeoutSec 25 -UseBasicParsing -ErrorAction Stop + return @{ Existe = $true; Injoignable = $false; Detail = 'disponible' } + } + catch { + $code = 0 + $corps = '' + $reponse = $_.Exception.Response + + if ($reponse) { + try { $code = [int]$reponse.StatusCode } catch { $code = 0 } + } + + # Le corps porte la vraie raison. Constaté en vrai : le flux de la + # réponse ne rend RIEN (« aucun message ») — PowerShell 5.1 l'a déjà + # consommé. Le corps est en fait dans ErrorDetails.Message ; on essaie + # donc celui-ci en premier, puis le flux (PowerShell 7). + if ($_.ErrorDetails -and $_.ErrorDetails.Message) { + $corps = [string]$_.ErrorDetails.Message + } + + if (-not $corps -and $reponse) { + try { + if ($reponse.PSObject.Methods['GetResponseStream']) { + $lecteur = New-Object System.IO.StreamReader($reponse.GetResponseStream()) + try { $corps = $lecteur.ReadToEnd() } finally { $lecteur.Dispose() } + } + elseif ($reponse.Content) { + $corps = $reponse.Content.ReadAsStringAsync().GetAwaiter().GetResult() + } + } + catch { $corps = '' } + } + + $verdict = Get-VerdictEchecHuggingFace -Code $code -Corps $corps -MessageErreur $_.Exception.Message + return $verdict + } +} + +# ============================================================ +# Le catalogue : la seule preuve d'existence qui ne se discute pas +# ============================================================ +# Historique des mesures sur ce poste, dans l'ordre : +# 1. « Un depot absent repond 401, jamais 404 » — vrai, mais le CORPS de la +# reponse ({"error":"Repository not found"}) n'etait pas toujours lisible ; +# 2. on a donc interroge la PAGE publique, qui repondait 404 pour un depot +# absent ; +# 3. puis la page s'est mise a repondre 401 ELLE AUSSI, alors que le meme +# navigateur obtenait 200 sur un depot existant au meme instant. Un 401 ne +# discrimine donc plus rien, et un lancement a ecrit 55 fausses absences. +# +# La bonne reponse n'est pas un meilleur decodage d'erreur : c'est de ne plus +# demander « ce depot existe-t-il ? » depot par depot. On lit UNE FOIS la liste +# publique des depots de l'auteur (l'endpoint de recherche repond toujours 200, +# avec un tableau JSON, meme vide), et l'existence devient une egalite de chaine. +# +# Benefices mesures : +# - 1 a 3 requetes au lieu de 102 : plus de quota declenche, plus de 429 ; +# - « absent » devient une PREUVE (le nom n'est pas dans la liste) et non plus +# une deduction sur un code d'erreur ; +# - le rapport peut citer la taille du catalogue consulte. +function Get-CatalogueHelsinkiNLP { + param( + [string]$Auteur = 'Helsinki-NLP', + [int]$TaillePage = 1000, + [int]$PagesMax = 10 + ) + + try { + # InvariantCulture : « limit=1000 » ne doit pas dependre de la locale. + $separateur = [System.Globalization.CultureInfo]::InvariantCulture + $url = 'https://huggingface.co/api/models?author=' + $Auteur + + '&limit=' + $TaillePage.ToString($separateur) + $ids = New-Object 'System.Collections.Generic.HashSet[string]' ([System.StringComparer]::OrdinalIgnoreCase) + $pages = 0 + + while ($url -and $pages -lt $PagesMax) { + $reponse = Invoke-WebRequest -Uri $url -Method Get -TimeoutSec 60 -UseBasicParsing -ErrorAction Stop + $pages++ + + $lot = @($reponse.Content | ConvertFrom-Json) + Write-Info ("catalogue : page {0} -> {1} depot(s)" -f $pages, $lot.Count) + foreach ($modele in $lot) { + if ($modele.id) { $null = $ids.Add([string]$modele.id) } + } + + # Pagination : HuggingFace annonce la page suivante dans l'entete Link. + $url = $null + foreach ($entete in @($reponse.Headers['Link'])) { + if ($entete -and ($entete -match '<([^>]+)>\s*;\s*rel="?next"?')) { + $url = $Matches[1] + } + } + } + + # GARDE-FOU MESURE : un catalogue de quelques entrees n'est PAS la liste + # des depots, c'est une reponse tronquee (limite ignoree, page unique, + # parametre non pris en compte). Le 16/10, une reponse a 2 entrees a fait + # declarer « absents » 66 modeles dont 11 sont sur le disque depuis des + # semaines : le script s'est contredit lui-meme (le pack italien existait + # en 523 Mo et l'inventaire annoncait l'italien absent). Helsinki-NLP + # publie des milliers de depots : en dessous de 100, on ne conclut RIEN + # et l'appelant retombe sur l'interrogation par modele. + if ($ids.Count -lt 100) { + Write-Alerte ("catalogue inutilisable : {0} depot(s) seulement — reponse tronquee, verdict par modele" -f $ids.Count) + return $null + } + + return $ids + } + catch { + # Catalogue illisible : on ne devine rien, l'appelant retombe sur + # l'interrogation par modele et pourra dire « je ne sais pas ». + return $null + } +} + +# Une sonde unique ne doit pas condamner 33 langues : un 429 (quota) ou une +# coupure passagere est courant chez HuggingFace. Trois tentatives, avec une +# attente croissante, avant de conclure « on ne sait pas ». +# +# Avec -Catalogue (une table des depots publics), la reponse est immediate et +# sans reseau : c'est le chemin normal. Sans catalogue, on retombe sur la sonde +# directe, seule source d'information disponible. +function Test-ModeleHuggingFace { + param([string]$Modele, $Catalogue = $null, [int]$Tentatives = 3) + + if ($Catalogue) { + if ($Catalogue.Contains($Modele)) { + return @{ Existe = $true; Injoignable = $false; Detail = 'disponible (catalogue Helsinki-NLP)' } + } + return @{ + Existe = $false; Injoignable = $false + Detail = ("absent du catalogue public ({0} depots {1} consultes)" -f $Catalogue.Count, 'Helsinki-NLP') + } + } + + $verdict = $null + for ($essai = 1; $essai -le $Tentatives; $essai++) { + $verdict = Test-ModeleHuggingFaceUneFois -Modele $Modele + if (-not $verdict.Injoignable) { return $verdict } + if ($essai -lt $Tentatives) { + $attente = 3 * $essai + Write-Info ("HuggingFace ne repond pas pour {0} ({1}) : nouvel essai dans {2} s" -f $Modele, $verdict.Detail, $attente) + Start-Sleep -Seconds $attente + } + } + return $verdict +} + +# ============================================================ +# Export d'un modele (bilingue ou familial) +# ============================================================ +# Un sens est « complet » quand il porte au moins un .onnx et un .spm : c'est +# exactement ce que l'application exige pour traduire. Sert a ne PAS repayer un +# telechargement de 500 Mo a 1 Go lorsqu'on complete une langue a moitie faite +# avec -InclureDirectionsPartielles. +function Test-SensComplet { + param([string]$Dossier) + + if (-not (Test-Path -LiteralPath $Dossier)) { return $false } + $onnx = @(Get-ChildItem -LiteralPath $Dossier -Filter '*.onnx' -File -ErrorAction SilentlyContinue) + $spm = @(Get-ChildItem -LiteralPath $Dossier -Filter '*.spm' -File -ErrorAction SilentlyContinue) + return ($onnx.Count -gt 0 -and $spm.Count -gt 0) +} + +# Un pack FAMILIAL est complet quand commun/ porte les poids et chaque sens son +# modele.json — c'est la seule chose que le dossier d'un sens doit contenir. +# Sans ce controle, chaque relance reexporterait 1,15 Go pour rien. +function Test-FamilleComplete { + param([string]$DossierLangue) + + $dossierCommun = Join-Path $DossierLangue $DossierCommun + if (-not (Test-Path -LiteralPath $dossierCommun)) { return $false } + $onnx = @(Get-ChildItem -LiteralPath $dossierCommun -Filter '*.onnx' -File -ErrorAction SilentlyContinue) + $spm = @(Get-ChildItem -LiteralPath $dossierCommun -Filter '*.spm' -File -ErrorAction SilentlyContinue) + if ($onnx.Count -eq 0 -or $spm.Count -eq 0) { return $false } + + foreach ($sens in $SensCanoniques) { + if (-not (Test-Path -LiteralPath (Join-Path (Join-Path $DossierLangue $sens) $FichierMetadonnees))) { return $false } + } + return $true +} + +# Lance optimum-cli et laisse dans $DossierTravail de quoi etre copie. Le code de +# sortie est le SEUL juge d'un export (voir le commentaire sur stderr ci-dessous). +function Invoke-ExportOptimum { + param( + [string]$Modele, + [string]$DossierTravail + ) + + if (Test-Path -LiteralPath $DossierTravail) { Remove-Item -LiteralPath $DossierTravail -Recurse -Force } + $null = New-Item -ItemType Directory -Path $DossierTravail -Force + + Write-Info ("export : " + $Modele) + + # optimum-cli ecrit sur stderr des avertissements benignes — le premier etant + # celui de huggingface_hub qui signale que le cache travaille sans liens + # symboliques. Avec $ErrorActionPreference = 'Stop' ET des que l'appelant + # redirige le flux d'erreur (2>&1, Tee-Object, ou « > fichier.log » pose sur + # tout le script), PowerShell 5.1 transforme CHACUNE de ces lignes en erreur + # FATALE : l'export est tue juste apres le config.json, avant le moindre + # octet de poids, et le rapport annonce un echec qui n'en est pas un. + # Mesure en vrai : 11 exports tues ainsi, 0 octet telecharge, 23 Gio deja + # sur le disque presentes comme « en echec ». + # + # Seul le CODE DE SORTIE juge un export. On abaisse donc la severite le temps + # de l'appel, et on garde les dernieres lignes pour le diagnostic. + $severite = $ErrorActionPreference + $ErrorActionPreference = 'Continue' + $dernieres = New-Object 'System.Collections.Generic.List[string]' + $codeSortie = -1 + try { + & $OptimumCli export onnx --model $Modele $DossierTravail 2>&1 | ForEach-Object { + $ligne = ([string]$_).TrimEnd() + if ($ligne -match '\S') { + Write-Host (' ' + $ligne) + $dernieres.Add($ligne) + if ($dernieres.Count -gt 3) { $dernieres.RemoveAt(0) } + } + } + $codeSortie = $LASTEXITCODE + } + finally { + $ErrorActionPreference = $severite + } + + if ($codeSortie -ne 0) { + $detail = if ($dernieres.Count -gt 0) { ($dernieres -join ' | ') } else { 'aucun message' } + if ($detail.Length -gt 300) { $detail = $detail.Substring($detail.Length - 300) } + return @{ Ok = $false; Detail = ("optimum-cli a echoue (code $codeSortie) : " + $detail) } + } + + return @{ Ok = $true } +} + +# Copie les fichiers UTILES d'un dossier d'export vers un dossier du pack : +# encoder, decodeur, .spm, vocab.json, config.json. Retourne le nombre de +# fichiers copies (0 = export inexploitable). +# +# decoder_with_past_model.onnx n'est JAMAIS copie : inutilise par +# l'application, mais telecharge par chaque telephone s'il est declare. +function Copier-FichiersPack { + param( + [string]$DossierTravail, + [string]$DossierCible + ) + + $principal = Join-Path $DossierTravail 'encoder_model.onnx' + if (-not (Test-Path -LiteralPath $principal)) { + # Autre convention de nommage : on prend le premier .onnx qui n'est ni un + # decodeur ni un decodeur a cache. + $candidat = @(Get-ChildItem -LiteralPath $DossierTravail -Filter '*.onnx' -File | + Where-Object { $_.Name -notmatch 'decoder' -and $_.Name -notmatch 'past' } | + Sort-Object Name | Select-Object -First 1) + if ($candidat.Count -eq 0) { + return 0 + } + $principal = $candidat[0].FullName + } + + $null = New-Item -ItemType Directory -Path $DossierCible -Force + $copies = 0 + + Copy-Item -LiteralPath $principal -Destination (Join-Path $DossierCible 'encoder_model.onnx') -Force + $copies++ + + # Decodeur separe : facultatif (sinon l'application utilise le mode « modele + # unique »), mais c'est la forme attendue d'un export Marian. + $decodeur = @(Get-ChildItem -LiteralPath $DossierTravail -Filter '*.onnx' -File | + Where-Object { $_.Name -match 'decoder' -and $_.Name -notmatch 'past' } | + Sort-Object Name | Select-Object -First 1) + if ($decodeur.Count -gt 0) { + Copy-Item -LiteralPath $decodeur[0].FullName -Destination (Join-Path $DossierCible 'decoder_model.onnx') -Force + $copies++ + } + else { + Write-Alerte ("pas de decodeur separe dans l'export : mode « modele unique »") + } + + # Vocabulaires : source.spm (entree) et target.spm (sortie). Les deux sont + # obligatoires pour un modele Marian — un seul produirait du charabia. + $vocabulaires = @(Get-ChildItem -LiteralPath $DossierTravail -Filter '*.spm' -File | Sort-Object Name) + foreach ($vocabulaire in $vocabulaires) { + Copy-Item -LiteralPath $vocabulaire.FullName -Destination (Join-Path $DossierCible $vocabulaire.Name) -Force + $copies++ + } + if ($vocabulaires.Count -eq 0) { + Write-Alerte 'aucun .spm dans l''export : le tokeniseur ne pourra pas fonctionner' + } + + # vocab.json : le vocabulaire REELLEMENT attendu par le modele. Le .spm ne + # numerote pas ses pieces comme lui (mesure : ▁Ho = 5293 cote .spm, 584 cote + # modele), et il ne contient pas les etiquettes de langue des modeles + # multilingues (>>fra<< = 14666). Sans ce fichier, le modele lit un autre + # texte et produit du charabia sans lever d'erreur. + # + # config.json : l'amorce et la fin du decodeur (74821 et 0 pour opus-mt-es-fr), + # que le .spm ne contient pas non plus. Fichiers de quelques centaines de + # kilo-octets : leur poids est negligeable devant les ~700 Mo de poids. + foreach ($nomJson in @('vocab.json', 'config.json')) { + $cheminJson = Join-Path $DossierTravail $nomJson + if (Test-Path -LiteralPath $cheminJson -PathType Leaf) { + Copy-Item -LiteralPath $cheminJson -Destination (Join-Path $DossierCible $nomJson) -Force + $copies++ + } + else { + Write-Alerte ("{0} absent de l'export : le moteur lira les identifiants du .spm (traduction fausse possible)" -f $nomJson) + } + } + + return $copies +} + +# Un sens bilingue : tout le pack est ecrit dans le dossier du sens. +function Export-Sens { + param( + [string]$Modele, + [string]$DossierSens, + [string]$DossierTravail + ) + + $resultat = Invoke-ExportOptimum -Modele $Modele -DossierTravail $DossierTravail + if (-not $resultat.Ok) { return $resultat } + + $copies = Copier-FichiersPack -DossierTravail $DossierTravail -DossierCible $DossierSens + if ($copies -le 0) { + return @{ Ok = $false; Detail = 'aucun modele principal produit par l''export' } + } + + $taille = (Get-ChildItem -LiteralPath $DossierSens -File | Measure-Object Length -Sum).Sum + return @{ Ok = $true; Detail = ("$copies fichier(s), " + (Format-Taille $taille)); Taille = $taille } +} + +# Ecrit le `modele.json` d'un sens. Le JSON est ecrit a la main plutot que par +# ConvertTo-Json : ce dernier echappe « > » en \u003e, alors que le jeton de cible +# est justement ce qu'un humain doit pouvoir lire en ouvrant le fichier. +function Ecrire-MetadonneesSens { + param( + [string]$DossierSens, + [string]$Modele, + [string]$Famille, + [string]$Jeton + ) + + $null = New-Item -ItemType Directory -Path $DossierSens -Force + + $lignes = @( + '{' + ' "version": 1,' + (' "modeleSource": "{0}",' -f $Modele) + (' "famille": "{0}",' -f $Famille) + (' "jetonCible": "{0}"' -f $Jeton) + '}' + ) + + $encodage = New-Object System.Text.UTF8Encoding($false) + [System.IO.File]::WriteAllText( + (Join-Path $DossierSens $FichierMetadonnees), + (($lignes -join "`r`n") + "`r`n"), + $encodage) +} + +# Un modele FAMILIAL : les poids vont UNE seule fois dans \commun\, et +# chaque sens ne recoit que son modele.json (le jeton de cible). L'application +# cherche d'abord dans le dossier du sens, puis dans commun. +function Export-Famille { + param( + [string]$Modele, + [string]$DossierLangue, + [string]$DossierTravail, + [string]$Famille, + [string]$JetonDepuisFrancais + ) + + $resultat = Invoke-ExportOptimum -Modele $Modele -DossierTravail $DossierTravail + if (-not $resultat.Ok) { return $resultat } + + $dossierCommun = Join-Path $DossierLangue $DossierCommun + $copies = Copier-FichiersPack -DossierTravail $DossierTravail -DossierCible $dossierCommun + if ($copies -le 0) { + return @{ Ok = $false; Detail = 'aucun modele principal produit par l''export' } + } + + # Chaque sens ne garde QUE son modele.json. Un pack bilingue anterieur ferait + # doublon : ses poids l'emporteraient sur commun (priorite du dossier du sens) + # et le jeton de langue du familial s'appliquerait alors a un modele qui ne le + # veut pas — traduction fausse, sans erreur. On retire donc les fichiers de + # modele du sens avant d'y ecrire les metadonnees. + $jetons = @( + @{ Sens = 'versFrancais'; Jeton = $JetonVersFrancais } + @{ Sens = 'depuisFrancais'; Jeton = $JetonDepuisFrancais } + ) + foreach ($entree in $jetons) { + $dossierSens = Join-Path $DossierLangue $entree.Sens + $null = New-Item -ItemType Directory -Path $dossierSens -Force + + $anciens = @(Get-ChildItem -LiteralPath $dossierSens -File -ErrorAction SilentlyContinue | + Where-Object { $_.Name -match '\.(onnx|spm)$' -or $_.Name -eq 'vocab.json' -or $_.Name -eq 'config.json' }) + foreach ($ancien in $anciens) { + Remove-Item -LiteralPath $ancien.FullName -Force -ErrorAction SilentlyContinue + } + if ($anciens.Count -gt 0) { + Write-Info ("{0} : {1} fichier(s) bilingue(s) remplace(s) par le modele familial" -f $entree.Sens, $anciens.Count) + } + + Ecrire-MetadonneesSens -DossierSens $dossierSens -Modele $Modele -Famille $Famille -Jeton $entree.Jeton + } + + $taille = (Get-ChildItem -LiteralPath $DossierLangue -Recurse -File -ErrorAction SilentlyContinue | + Measure-Object Length -Sum).Sum + return @{ + Ok = $true + Detail = ("{0} fichier(s) dans {1}, modele.json par sens, {2}" -f $copies, $DossierCommun, (Format-Taille $taille)) + Taille = $taille + } +} + +# ============================================================ +# Verification des prerequis (sauf en simulation et en inventaire) +# ============================================================ +# -SansExporter n'utilise ni Python ni optimum : il interroge HuggingFace en +# HTTP. L'inventaire doit donc fonctionner AVANT d'installer 3 Go d'outils. +# +# Ou pip depose les scripts Python. Deux pieges reels, rencontres en vrai : +# - Python du Microsoft Store : le dossier utilisateur n'est PAS dans le PATH, +# donc « pip install optimum » reussit et « optimum-cli » reste introuvable ; +# - environnement virtuel (venv), la solution quand l'installation echoue sur +# la limite de 260 caracteres de Windows : les scripts sont dans le venv, et +# « nt_user » pointe ailleurs. +# On interroge donc les DEUX emplacements, dans l'ordre : le schema par defaut de +# l'interpreteur (le venv s'il y en a un), puis le dossier utilisateur. +function Get-DossiersScriptsPython { + param([string]$Interpreteur) + + # Un interpreteur bavard sur stderr ne doit pas interrompre cette recherche. + $ErrorActionPreference = 'Continue' + $dossiers = @() + + try { + $requete = "import sysconfig; print(sysconfig.get_path('scripts')); print(sysconfig.get_path('scripts','nt_user'))" + $sortie = @(& $Interpreteur -c $requete 2>$null) + if ($LASTEXITCODE -eq 0) { + foreach ($ligne in $sortie) { + $dossier = ([string]$ligne).Trim() + if ($dossier) { $dossiers += $dossier } + } + } + } + catch { } + + # Emplacements des installations classiques (python.org, par utilisateur). + if ($env:APPDATA) { + $racineAppData = Join-Path $env:APPDATA 'Python' + $dossiers += (Join-Path $racineAppData 'Scripts') + $dossiers += @(Get-ChildItem -LiteralPath $racineAppData -Directory -ErrorAction SilentlyContinue | + ForEach-Object { Join-Path $_.FullName 'Scripts' }) + } + if ($env:LOCALAPPDATA) { + $dossiers += @(Get-ChildItem -LiteralPath (Join-Path $env:LOCALAPPDATA 'Programs\Python') -Directory -ErrorAction SilentlyContinue | + ForEach-Object { Join-Path $_.FullName 'Scripts' }) + } + + return @($dossiers | Where-Object { $_ -and (Test-Path -LiteralPath $_ -PathType Container) }) +} + +function Find-OutilHorsPath { + param([string]$Nom, [string]$Interpreteur) + + # L'appelant a deja donne un chemin : on ne devine rien a sa place. + if ($Nom -match '[\\/]') { return $null } + + foreach ($dossier in @(Get-DossiersScriptsPython -Interpreteur $Interpreteur)) { + foreach ($extension in @('.exe', '.cmd', '.bat', '')) { + $candidat = Join-Path $dossier ($Nom + $extension) + if (Test-Path -LiteralPath $candidat -PathType Leaf) { return $candidat } + } + } + return $null +} + +if (-not $Simulation -and -not $SansExporter) { + # Python d'abord : c'est le prerequis du prerequis (l'outil d'export est un + # script Python). L'annoncer en premier evite d'envoyer l'utilisateur + # installer un paquet dans un Python qui ne fonctionne pas. + try { + $null = & $Python --version 2>&1 + if ($LASTEXITCODE -ne 0) { throw 'python en echec' } + } + catch { + Stop-AvecMessage ("Python introuvable via « $Python ». Verifier l'installation de Python 3.") + } + + $optimum = Get-Command $OptimumCli -ErrorAction SilentlyContinue + + if (-not $optimum) { + $horsPath = Find-OutilHorsPath -Nom $OptimumCli -Interpreteur $Python + if ($horsPath) { + Write-Info ("$OptimumCli trouve hors PATH : $horsPath") + $OptimumCli = $horsPath + $optimum = Get-Command $OptimumCli -ErrorAction SilentlyContinue + } + } + + if (-not $optimum) { + $message = ("« $OptimumCli » est introuvable. Installer d'abord (une seule fois) :`n" + + ' pip install "optimum[onnxruntime]" transformers sentencepiece') + $dossierScripts = @(Get-DossiersScriptsPython -Interpreteur $Python) + if ($dossierScripts.Count -gt 0) { + $message += ("`nSi l'installation a reussi mais que l'outil reste introuvable, c'est`n" + + "que ce dossier n'est pas dans le PATH — le script sait y aller tout seul,`n" + + "mais verifiez qu'il contient bien « $OptimumCli » :`n " + $dossierScripts[0]) + } + Stop-AvecMessage $message + } +} + +# ============================================================ +# Selection des langues +# ============================================================ +$selection = @($Langues) + +if ($Codes) { + # Le decoupage sur « , » et « ; » n'est pas cosmetique : -Codes es,pt est un + # TABLEAU pour PowerShell, mais -Codes "es,pt" (entre guillemets) ou + # -Codes $liste (variable) est UNE SEULE chaine. Sans ce decoupage, la chaine + # entiere etait vue comme un unique code inconnu, et le script s'arretait sur + # « Aucune langue selectionnee » — piege rencontre en vrai. + $voulus = @($Codes | ForEach-Object { $_ -split '[,;]' } | + ForEach-Object { $_.Trim().ToLowerInvariant() } | Where-Object { $_ }) + $selection = @($selection | Where-Object { $voulus -contains $_.Code }) + $inconnus = @($voulus | Where-Object { $c = $_; -not ($Langues | Where-Object { $_.Code -eq $c }) }) + foreach ($inconnu in $inconnus) { + Write-Alerte ("code inconnu, ignore : $inconnu") + } +} + +if ($Zone) { + $zones = @($Zone | ForEach-Object { $_ -split '[,;]' } | ForEach-Object { $_.Trim() } | Where-Object { $_ }) + $selection = @($selection | Where-Object { $zones -contains $_.Zone }) +} + +if ($selection.Count -eq 0) { + Stop-AvecMessage 'Aucune langue selectionnee. Verifier -Codes / -Zone.' +} + +# -SansExporter n'a de sens qu'avec la verification reelle : combine a +# -SansVerifierHuggingFace, le script declarerait TOUTES les paires disponibles +# sans avoir rien regarde, et le rapport affirmerait le contraire de la verite. +if ($SansExporter -and $SansVerifierHuggingFace) { + Stop-AvecMessage ('-SansExporter a besoin de la verification HuggingFace :' + "`n" + + ' retirez -SansVerifierHuggingFace (pour exporter sans verifier, lancez' + "`n" + + ' simplement le script sans -SansExporter).') +} + +$racine = if ([System.IO.Path]::IsPathRooted($RacinePacks)) { $RacinePacks } else { Join-Path $RepoRoot $RacinePacks } +$racine = $racine.TrimEnd([char[]]@('\', '/')) + +# --- Cache de telechargement HuggingFace ------------------------------------- +# optimum-cli telecharge le modele PyTorch via huggingface_hub, qui le range dans +# HF_HOME (defaut : %USERPROFILE%\.cache\huggingface). Sans intervention, chaque +# modele occupe donc DEUX fois sa taille : une fois dans le cache (sur C:) et une +# fois sous forme d'export ONNX. On force donc le cache a cote des packs, sauf si +# l'administrateur a deja defini HF_HOME. +if (-not $CacheHuggingFace) { + if ($env:HF_HOME) { + $CacheHuggingFace = $env:HF_HOME + $cacheImpose = $false + } + else { + $CacheHuggingFace = Join-Path $racine '.hf-cache' + $cacheImpose = $true + } +} +else { + $CacheHuggingFace = $CacheHuggingFace.TrimEnd([char[]]@('\', '/')) + $cacheImpose = $true +} +if ($cacheImpose) { $env:HF_HOME = $CacheHuggingFace } + +Write-Host '' +Write-Host '=== Omika — Export des packs de langue (ONNX) ===' -ForegroundColor White +Write-Info ("Langues selectionnees : {0}" -f $selection.Count) +Write-Info ("Packs ecrits dans : {0}" -f $racine) +Write-Info ("Cache HuggingFace : {0}{1}" -f $CacheHuggingFace, $(if ($cacheImpose) { ' (force par le script)' } else { ' (HF_HOME existant : respecte)' })) +if ($Simulation) { + Write-Info 'Mode : SIMULATION (aucun reseau, aucun export, aucune ecriture)' +} + +# ============================================================ +# SIMULATION : le plan, avant de payer 30 Go +# ============================================================ +if ($Simulation) { + Write-Host '' + Write-Host '--- Plan (2 modeles bilingues par langue : ->fr et fr->) ---' + $totalExports = 0 + foreach ($langue in $selection) { + $candidats = Get-Candidats -Langue $langue + $noms = ($candidats | ForEach-Object { "opus-mt-$_-fr / opus-mt-fr-$_" }) -join ' sinon ' + Write-Host (" {0,-4} {1,-16} {2,-14} {3}" -f $langue.Code, $langue.Libelle, $langue.Zone, $noms) + $totalExports += 2 + } + + $estimation = [long]$totalExports * $EstimationMoParSens * 1MB + + # Repli familial : il ne coute RIEN de plus au plan tant qu'une paire bilingue + # existe — il n'est employe que si une direction manque (voir le rapport). + $famillesSelectionnees = @($selection | Where-Object { Get-ModeleFamilial -Code $_.Code }) + if ($famillesSelectionnees.Count -gt 0) { + Write-Host '' + Write-Info ("Repli familial pour {0} langue(s) : un SEUL export couvre les deux sens," -f $famillesSelectionnees.Count) + Write-Info ('poids ecrits une seule fois dans \commun\ et partages par l''aller et le retour :') + foreach ($langueFamille in $famillesSelectionnees) { + $famille = Get-ModeleFamilial -Code $langueFamille.Code + Write-Info (" {0,-4} {1} (aller {2}, retour {3})" -f $langueFamille.Code, $famille.Modele, $JetonVersFrancais, $famille.JetonDepuis) + } + } + + Write-Host '' + Write-Info 'Chaque sens est cherche en « opus-mt », PUIS en « opus-mt-tc-big » (bien plus' + Write-Info 'lourd : ~1 Go par sens). Aucun nom n''est retenu sans avoir ete verifie, et le' + Write-Info 'modele reellement employe est inscrit au rapport.' + Write-Host '' + Write-Info ("Modeles a exporter : {0} (2 par langue)" -f $totalExports) + Write-Info ("Telechargement estime : ~{0} (estimation haute, hors fichiers temporaires d'export)" -f (Format-Taille $estimation)) + Write-Info 'Duree : de l''ordre de plusieurs heures (chaque paire est telechargee puis convertie).' + Write-Host '' + Write-Info 'Ou vont les fichiers :' + Write-Info (" packs ONNX {0}\\\ (~{1} au total)" -f $racine, (Format-Taille $estimation)) + Write-Info (" cache HuggingFace {0}\hub\ (supprime apres chaque export reussi)" -f $CacheHuggingFace) + Write-Info (" travail temporaire {0}\.tmp--\ (supprime apres chaque sens)" -f $racine) + Write-Info 'Pic de disque reel : les packs + ~300 Mo (un seul modele en cache a la fois).' + Write-Host '' + Write-Info 'Les paires reellement disponibles ne sont connues qu''a l''execution : le script' + Write-Info 'lit le catalogue public Helsinki-NLP (une seule requete), puis ecrit au rapport' + Write-Info 'les paires ABSENTES (Helsinki-NLP ne couvre pas toutes les combinaisons avec le' + Write-Info 'francais). Prevoir que plusieurs langues de la liste seront indisponibles.' + Write-Host '' + Write-Info 'Pour lancer reellement :' + Write-Info ' .\scripts\Exporter-Packs-Langues.ps1' + exit 0 +} + +# ============================================================ +# Export reel +# ============================================================ +$rapportConstruits = New-Object 'System.Collections.Generic.List[object]' +$rapportAbsents = New-Object 'System.Collections.Generic.List[object]' +$rapportPartiels = New-Object 'System.Collections.Generic.List[object]' +$rapportEchecs = New-Object 'System.Collections.Generic.List[object]' + +$totalOctets = [long]0 +$cacheLibere = [long]0 +$reseauEnEchec = $false +$motifInjoignable = '' + +# Le catalogue est lu UNE seule fois pour tout le run : 1 a 3 requetes au lieu +# d'une par modele (102 pour la table complete). C'est ce qui met fin aux 429. +$catalogue = $null +if (-not $SansVerifierHuggingFace) { + Write-Info 'Lecture du catalogue public Helsinki-NLP (une seule fois pour tout le run)...' + $catalogue = Get-CatalogueHelsinkiNLP + if ($catalogue) { + Write-Ok ("catalogue : {0} depots publics" -f $catalogue.Count) + } + else { + Write-Alerte 'catalogue illisible : repli sur une interrogation par modele (quota possible)' + } +} + +foreach ($langue in $selection) { + $code = $langue.Code + $dossierLangue = Join-Path $racine $code + + Write-Etape ("--- {0} ({1}) ---" -f $langue.Libelle, $code) + + # Deja construit : deux dossiers de sens non vides — ou un pack familial + # complet (commun/ + un modele.json par sens). + if (-not $Forcer) { + if (Test-FamilleComplete -DossierLangue $dossierLangue) { + $taille = (Get-ChildItem -LiteralPath $dossierLangue -Recurse -File | Measure-Object Length -Sum).Sum + $totalOctets += $taille + Write-Ok ('deja present (modele familial), ignore (' + (Format-Taille $taille) + ') — -Forcer pour reexporter') + $rapportConstruits.Add([pscustomobject]@{ + Code = $code; Libelle = $langue.Libelle; Zone = $langue.Zone + VersFrancais = 'deja present'; DepuisFrancais = 'deja present' + Taille = $taille; Statut = 'deja present (familial)' + }) + continue + } + $dejaLa = $true + foreach ($sens in $SensCanoniques) { + $dossierSens = Join-Path $dossierLangue $sens + if (-not (Test-Path -LiteralPath $dossierSens)) { $dejaLa = $false; break } + $onnx = @(Get-ChildItem -LiteralPath $dossierSens -Filter '*.onnx' -File -ErrorAction SilentlyContinue) + if ($onnx.Count -eq 0) { $dejaLa = $false; break } + } + if ($dejaLa) { + $taille = (Get-ChildItem -LiteralPath $dossierLangue -Recurse -File | Measure-Object Length -Sum).Sum + $totalOctets += $taille + Write-Ok ('deja present, ignore (' + (Format-Taille $taille) + ') — -Forcer pour reexporter') + $rapportConstruits.Add([pscustomobject]@{ + Code = $code; Libelle = $langue.Libelle; Zone = $langue.Zone + VersFrancais = 'deja present'; DepuisFrancais = 'deja present' + Taille = $taille; Statut = 'deja present' + }) + continue + } + } + + # --- Disponibilite des deux directions ----------------------------------- + $retenues = @() + $manquantes = @() + $couvertParFamille = $false + + foreach ($direction in $Directions) { + $trouve = $null + $detail = '' + $essayes = @() + $arretReseau = $false + + if ($SansVerifierHuggingFace) { + # @(...) OBLIGATOIRE : PowerShell « deroule » un tableau a un seul + # element, donc (Get-Candidats ...)[0] renverrait le premier CARACTERE + # du code ('es' -> 'e') et produirait « opus-mt-e-fr ». + # + # On ne choisit PAS un nom : on emporte TOUTES les familles dans + # l'ordre (petite d'abord, « tc-big » ensuite). L'export les essaiera + # l'une apres l'autre et gardera la premiere qui aboutit — sans + # verification prealable, c'est l'essai lui-meme qui tranche. Sans + # cela, -SansVerifierHuggingFace ne pouvait jamais atteindre un + # modele « tc-big », seule chance du georgien ou de l'armenien. + $codeRetenu = @(Get-Candidats -Langue $langue)[0] + foreach ($gabarit in $direction.Gabarits) { + $essayes += ($gabarit -f $codeRetenu) + } + $trouve = $essayes[0] + } + else { + # Les DEUX familles, la petite d'abord : on ne sort de la boucle que + # lorsqu'un nom a repondu 200. + foreach ($gabarit in $direction.Gabarits) { + foreach ($candidat in (Get-Candidats -Langue $langue)) { + $modele = $gabarit -f $candidat + $essayes += $modele + $verdict = Test-ModeleHuggingFace -Modele $modele -Catalogue $catalogue + if ($verdict.Injoignable) { + $reseauEnEchec = $true + $arretReseau = $true + $detail = $verdict.Detail + $motifInjoignable = ("{0} : {1}" -f $modele, $verdict.Detail) + break + } + if ($verdict.Existe) { $trouve = $modele; break } + $detail = $verdict.Detail + } + if ($trouve -or $arretReseau) { break } + } + } + + if ($trouve) { + # Modeles : les noms a essayer a l'export, dans l'ordre. En mode + # verifie il n'y en a qu'un (le catalogue a tranche) ; sans + # verification, l'export les essaie tous jusqu'au premier succes. + $modelesPossibles = if ($SansVerifierHuggingFace) { @($essayes) } else { @($trouve) } + $retenues += @{ Sens = $direction.Sens; Modele = $trouve; Modeles = $modelesPossibles } + } + else { + # On inscrit TOUS les noms essayes : le rapport doit montrer l'effort + # reel, et pas seulement le premier nom tente. + $manquantes += @{ Sens = $direction.Sens; Modele = ($essayes -join ' / '); Detail = $detail } + } + } + + # --- Modele familial : UN modele pour les DEUX sens ---------------------- + # Employe seulement si une direction n'a pas de paire bilingue (pt et gl : + # aucune ; it : fr->it absent). Les deux sens viennent alors du MEME modele : + # un export, des poids partages dans commun/. En mode verifie on interroge le + # catalogue ; sans verification, c'est l'export qui tranchera (voir le repli + # dans la boucle d'export plus bas). + # + # Une direction bilingue eventuellement trouvee est ABANDONNEE (it : it-fr) : + # melanger un bilingue et un familial dans un meme pack ferait appliquer le + # jeton de langue du familial a des poids qui n'en veulent pas — traduction + # fausse, sans erreur. Un seul modele par langue, donc. + $famille = Get-ModeleFamilial -Code $code + if ($famille -and $manquantes.Count -gt 0 -and -not $SansVerifierHuggingFace) { + $verdictFamille = Test-ModeleHuggingFace -Modele $famille.Modele -Catalogue $catalogue + if ($verdictFamille.Injoignable) { + $reseauEnEchec = $true + $motifInjoignable = ("{0} : {1}" -f $famille.Modele, $verdictFamille.Detail) + } + elseif ($verdictFamille.Existe) { + Write-Info ("modele familial : {0} couvre les deux sens (aller {1}, retour {2})" -f $famille.Modele, $JetonVersFrancais, $famille.JetonDepuis) + $retenues = @(@{ Sens = 'famille'; Modele = $famille.Modele; Modeles = @($famille.Modele); Famille = $famille }) + # Les paires absentes restent au rapport (elles le sont) : elles y sont + # simplement marquees comme couvertes par le modele familial. + $couvertParFamille = $true + } + else { + Write-Ecart ("modele familial absent : {0} ({1})" -f $famille.Modele, $verdictFamille.Detail) + } + } + + # Un verdict « je ne sais pas » interrompt TOUT le run, pas seulement la + # langue courante. Raison mesuree : une version anterieure a continue apres + # des reponses 401/429 et ecrit 55 « paires absentes » dont beaucoup sont + # fausses — un rapport qui fait supprimer 22 langues du produit. Une absence + # non prouvee ne s'ecrit pas, et continuer ne fait qu'empiler des verdicts + # faux. Ce cas ne peut plus arriver quand le catalogue a pu etre lu : il ne + # reste alors aucune interrogation reseau par modele. + if ($reseauEnEchec) { + $motif = if ($motifInjoignable) { $motifInjoignable } else { 'aucun detail' } + Stop-AvecMessage ("HuggingFace ne repond pas ($motif).`n" + + ' AUCUN modele n''a ete declare absent : on ne SAIT pas si ces paires existent.' + + "`n Ni la liste publique des depots (1 requete) ni l''interrogation par modele" + + "`n n'ont abouti : reseau, proxy, ou blocage temporaire. Attendre 10 a 15 minutes," + + "`n puis relancer la MEME commande : les packs deja sur le disque sont ignores," + + "`n rien n'est retelecharge." + + "`n Pour tenter sans verification (les noms essayes seront ecrits au rapport) :" + + "`n .\scripts\Exporter-Packs-Langues.ps1 -SansVerifierHuggingFace") + } + + foreach ($manquante in $manquantes) { + # Une paire absente mais couverte par le modele familial n'est PAS un + # echec : le rapport le dit, pour qu'on ne supprime pas la langue en + # croyant qu'elle est perdue. + $note = if ($couvertParFamille) { ' — couverte par le modele familial ' + $famille.Modele } else { '' } + Write-Ecart ("paire absente : {0} ({1}){2}" -f $manquante.Modele, $manquante.Detail, $note) + $rapportAbsents.Add([pscustomobject]@{ + Code = $code; Libelle = $langue.Libelle; Zone = $langue.Zone + Direction = $manquante.Sens; Modele = $manquante.Modele + Detail = ($manquante.Detail + $note) + }) + } + + if ($manquantes.Count -gt 0 -and $retenues.Count -gt 0 -and -not $couvertParFamille -and -not $InclureDirectionsPartielles) { + Write-Alerte 'pack INCOMPLET : la langue est ignoree (utiliser -InclureDirectionsPartielles pour la construire quand meme)' + $rapportPartiels.Add([pscustomobject]@{ + Code = $code; Libelle = $langue.Libelle; Zone = $langue.Zone + DirectionsPresentes = (($retenues | ForEach-Object { $_.Sens }) -join ', ') + DirectionsAbsentes = (($manquantes | ForEach-Object { $_.Sens }) -join ', ') + }) + continue + } + + if ($retenues.Count -eq 0) { + Write-Ecart 'aucune direction disponible : langue ignoree' + continue + } + + # --- Inventaire seul : on s'arrete ici, rien n'est telecharge ------------- + # Les deux directions existent : la langue est livrable. On l'inscrit au + # rapport avec le statut « disponible (non exporte) », pour que le lecteur + # distingue ce qui a ete verifie de ce qui est deja sur le disque. + if ($SansExporter) { + # Le modele familial couvre les DEUX sens : il est toujours seul retenu. + $familial = @($retenues | Where-Object { $_.Sens -eq 'famille' }).Count -gt 0 + $sensRetenus = if ($familial) { $SensCanoniques } else { @($retenues | ForEach-Object { $_.Sens }) } + Write-Ok ("disponible : {0}{1}" -f (($retenues | ForEach-Object { $_.Modele }) -join ' + '), $(if ($familial) { ' (modele familial : deux sens)' } else { '' })) + $rapportConstruits.Add([pscustomobject]@{ + Code = $code; Libelle = $langue.Libelle; Zone = $langue.Zone + VersFrancais = if ($sensRetenus -contains 'versFrancais') { 'disponible' } else { 'ABSENT' } + DepuisFrancais = if ($sensRetenus -contains 'depuisFrancais') { 'disponible' } else { 'ABSENT' } + Taille = [long]0; Statut = $(if ($familial) { 'disponible (familial, non exporte)' } else { 'disponible (non exporte)' }) + }) + continue + } + + # --- Export -------------------------------------------------------------- + $taillesSens = @{} + $echec = $false + $familleExportee = $false + + foreach ($retenue in $retenues) { + # Le familial vient de couvrir les deux sens : les retenues restantes + # (une par sens, trouvees avant le repli) n'ont plus rien a exporter. + if ($familleExportee) { continue } + + # --- Modele familial : UN export pour les deux sens ------------------ + if ($retenue.Sens -eq 'famille') { + $courante = $retenue.Famille + if (-not $Forcer -and (Test-FamilleComplete -DossierLangue $dossierLangue)) { + $tailleDeja = (Get-ChildItem -LiteralPath $dossierLangue -Recurse -File | Measure-Object Length -Sum).Sum + $taillesSens['versFrancais'] = $tailleDeja + $taillesSens['depuisFrancais'] = 0 + $familleExportee = $true + Write-Ok ('modele familial : deja present, ignore ({0})' -f (Format-Taille $tailleDeja)) + continue + } + + $dossierTravail = Join-Path $racine ('.tmp-' + $code + '-famille') + $resultat = $null + try { + $resultat = Export-Famille -Modele $courante.Modele -DossierLangue $dossierLangue ` + -DossierTravail $dossierTravail -Famille $courante.Famille ` + -JetonDepuisFrancais $courante.JetonDepuis + } + catch { + $resultat = @{ Ok = $false; Detail = $_.Exception.Message } + } + finally { + if (Test-Path -LiteralPath $dossierTravail) { + Remove-Item -LiteralPath $dossierTravail -Recurse -Force -ErrorAction SilentlyContinue + } + } + + if ($resultat.Ok -and -not $GarderCacheHuggingFace) { + $cacheLibere += Remove-CacheModele -Modele $courante.Modele -Cache $CacheHuggingFace + } + + if (-not $resultat.Ok) { + Write-Alerte ("echec de l'export du modele familial : {0}" -f $resultat.Detail) + $rapportEchecs.Add([pscustomobject]@{ + Code = $code; Libelle = $langue.Libelle; Direction = 'famille' + Modele = $courante.Modele; Detail = $resultat.Detail + }) + $echec = $true + break + } + + $taillesSens['versFrancais'] = $resultat.Taille + $taillesSens['depuisFrancais'] = 0 + $familleExportee = $true + Write-Ok ("modele familial : {0}" -f $resultat.Detail) + continue + } + + $dossierSens = Join-Path $dossierLangue $retenue.Sens + $dossierTravail = Join-Path $racine ('.tmp-' + $code + '-' + $retenue.Sens) + + # Sens deja construit : ne pas repayer 500 Mo a 1 Go. Sans ce garde-fou, + # -InclureDirectionsPartielles reexporte le sens qui existait deja (le + # pack n'est pas « complet », donc le test de langue entiere ne suffit + # pas) : mesure en vrai, 11 langues a moitie faites = 11 telechargements + # inutiles. « -Forcer » reste le seul moyen de reexporter. + if (-not $Forcer -and (Test-SensComplet -Dossier $dossierSens)) { + $tailleDeja = (Get-ChildItem -LiteralPath $dossierSens -Recurse -File | Measure-Object Length -Sum).Sum + $taillesSens[$retenue.Sens] = $tailleDeja + Write-Ok ("{0} : deja present, ignore ({1})" -f $retenue.Sens, (Format-Taille $tailleDeja)) + continue + } + + # Plusieurs noms possibles : « opus-mt » puis « opus-mt-tc-big ». Le + # premier qui aboutit gagne ; on ne declare l'echec du sens qu'apres les + # avoir TOUS essayes. C'est ce qui permet a -SansVerifierHuggingFace de + # trouver les langues que seule la famille « tc-big » couvre. + $modeles = @($retenue.Modeles) + if ($modeles.Count -eq 0) { $modeles = @($retenue.Modele) } + + $resultat = $null + foreach ($nomModele in $modeles) { + if ($modeles.Count -gt 1) { + Write-Info ("modele {0}/{1} : {2}" -f ($modeles.IndexOf($nomModele) + 1), $modeles.Count, $nomModele) + } + + try { + $resultat = Export-Sens -Modele $nomModele -DossierSens $dossierSens -DossierTravail $dossierTravail + } + catch { + $resultat = @{ Ok = $false; Detail = $_.Exception.Message } + } + finally { + # L'export ecrit aussi decoder_with_past_model.onnx (~120 Mo) et des + # fichiers de tokenizer : on ne les garde jamais. + if (Test-Path -LiteralPath $dossierTravail) { + Remove-Item -LiteralPath $dossierTravail -Recurse -Force -ErrorAction SilentlyContinue + } + } + + if ($resultat.Ok) { + $retenue.Modele = $nomModele + break + } + if ($modeles.IndexOf($nomModele) -lt ($modeles.Count - 1)) { + Write-Alerte ("{0} indisponible ({1}) — modele suivant" -f $nomModele, $resultat.Detail) + } + } + + # Cache du modele : supprime apres un export REUSSI (le seul cas ou la + # copie PyTorch n'a plus d'usage). En cas d'echec, on le garde : relancer + # ne retelechargera pas. + if ($resultat.Ok -and -not $GarderCacheHuggingFace) { + $cacheLibere += Remove-CacheModele -Modele $retenue.Modele -Cache $CacheHuggingFace + } + + # Aucune paire bilingue exploitable (ex. fr->it) : le modele familial + # couvre alors les DEUX sens en un seul export, poids partages. + if (-not $resultat.Ok -and $famille -and -not $familleExportee) { + Write-Alerte ("aucune paire bilingue exploitable pour {0} — repli sur {1}" -f $retenue.Sens, $famille.Modele) + + $dossierTravailFamille = Join-Path $racine ('.tmp-' + $code + '-famille') + $resultatFamille = $null + try { + $resultatFamille = Export-Famille -Modele $famille.Modele -DossierLangue $dossierLangue ` + -DossierTravail $dossierTravailFamille -Famille $famille.Famille ` + -JetonDepuisFrancais $famille.JetonDepuis + } + catch { + $resultatFamille = @{ Ok = $false; Detail = $_.Exception.Message } + } + finally { + if (Test-Path -LiteralPath $dossierTravailFamille) { + Remove-Item -LiteralPath $dossierTravailFamille -Recurse -Force -ErrorAction SilentlyContinue + } + } + + if ($resultatFamille.Ok) { + if (-not $GarderCacheHuggingFace) { + $cacheLibere += Remove-CacheModele -Modele $famille.Modele -Cache $CacheHuggingFace + } + $taillesSens['versFrancais'] = $resultatFamille.Taille + $taillesSens['depuisFrancais'] = 0 + $familleExportee = $true + Write-Ok ("modele familial : {0}" -f $resultatFamille.Detail) + continue + } + Write-Alerte ("le modele familial n'a pas pu etre exporte non plus : {0}" -f $resultatFamille.Detail) + } + + if (-not $resultat.Ok) { + Write-Alerte ("echec de l'export ({0}) : {1}" -f $retenue.Sens, $resultat.Detail) + $rapportEchecs.Add([pscustomobject]@{ + Code = $code; Libelle = $langue.Libelle; Direction = $retenue.Sens + Modele = $retenue.Modele; Detail = $resultat.Detail + }) + $echec = $true + break + } + + $taillesSens[$retenue.Sens] = $resultat.Taille + Write-Ok ("{0} : {1}" -f $retenue.Sens, $resultat.Detail) + } + + if ($echec) { continue } + + # Controle final : un pack bilingue porte au moins un .onnx et un .spm par + # sens ; un pack familial porte ses poids dans commun/ et un modele.json par + # sens (c'est tout ce que le dossier d'un sens doit contenir). + $conforme = $true + if ($familleExportee) { + if (-not (Test-FamilleComplete -DossierLangue $dossierLangue)) { + Write-Alerte 'modele familial : commun incomplet ou modele.json manquant' + $conforme = $false + } + } + else { + foreach ($retenue in $retenues) { + $dossierSens = Join-Path $dossierLangue $retenue.Sens + $onnx = @(Get-ChildItem -LiteralPath $dossierSens -Filter '*.onnx' -File) + $spm = @(Get-ChildItem -LiteralPath $dossierSens -Filter '*.spm' -File) + if ($onnx.Count -eq 0 -or $spm.Count -eq 0) { + Write-Alerte ("{0} : pack incomplet (.onnx={1}, .spm={2})" -f $retenue.Sens, $onnx.Count, $spm.Count) + $conforme = $false + } + } + } + + $tailleLangue = (Get-ChildItem -LiteralPath $dossierLangue -Recurse -File | Measure-Object Length -Sum).Sum + $totalOctets += $tailleLangue + + $rapportConstruits.Add([pscustomobject]@{ + Code = $code; Libelle = $langue.Libelle; Zone = $langue.Zone + VersFrancais = if ($taillesSens.ContainsKey('versFrancais')) { 'exporte' } else { 'ABSENT' } + DepuisFrancais = if ($taillesSens.ContainsKey('depuisFrancais')) { 'exporte' } else { 'ABSENT' } + Taille = $tailleLangue + Statut = if (-not $conforme) { 'incomplet' } elseif ($familleExportee) { 'ok (familial)' } elseif ($taillesSens.Count -lt 2) { 'un seul sens' } else { 'ok' } + }) +} + +# ============================================================ +# Rapport +# ============================================================ +# Poids REELLEMENT present sous la racine. Le total de l'execution ne suffit pas : +# « -Codes it » n'affichait que 520 Mio alors que le dossier en contenait 21 Gio, +# ce qui laissait croire a une disparition de packs. +$totalDossier = [long]0 +$sommeDossier = Get-ChildItem -LiteralPath $racine -Recurse -File -Force -ErrorAction SilentlyContinue | + Where-Object { $_.FullName -notmatch '\\\.' } | + Measure-Object Length -Sum +if ($sommeDossier) { $totalDossier = [long]$sommeDossier.Sum } + +Write-Host '' +Write-Host '=== RESULTAT ===' -ForegroundColor White +$libelleConstruits = if ($SansExporter) { 'Langues disponibles (inventaire)' } else { 'Packs construits / deja presents' } +Write-Info ("{0,-33}: {1}" -f $libelleConstruits, $rapportConstruits.Count) +Write-Info ("Paires indisponibles : {0}" -f $rapportAbsents.Count) +Write-Info ("Langues ignorees (pack partiel) : {0}" -f $rapportPartiels.Count) +Write-Info ("Echecs d'export : {0}" -f $rapportEchecs.Count) +Write-Info ("{0,-33}: {1}" -f 'Poids de cette execution', (Format-Taille $totalOctets)) +Write-Info ("Poids total sous {0} : {1}" -f $racine, (Format-Taille $totalDossier)) +if (-not $GarderCacheHuggingFace) { + Write-Info ("Cache HuggingFace libere : {0}" -f (Format-Taille $cacheLibere)) +} + +foreach ($construit in $rapportConstruits) { + Write-Ok ("{0,-4} {1,-16} {2,12} ({3})" -f $construit.Code, $construit.Libelle, (Format-Taille $construit.Taille), $construit.Statut) +} +foreach ($absent in $rapportAbsents) { + Write-Ecart ("{0,-4} {1,-16} {2}" -f $absent.Code, $absent.Libelle, $absent.Modele) +} +foreach ($echecExport in $rapportEchecs) { + Write-Alerte ("{0,-4} {1,-16} {2} : {3}" -f $echecExport.Code, $echecExport.Libelle, $echecExport.Direction, $echecExport.Detail) +} + +# --- Rapport ecrit sur disque ------------------------------------------------ +$lignes = New-Object 'System.Collections.Generic.List[string]' +$lignes.Add('# Rapport d''export des packs de langue') +$lignes.Add('') +$lignes.Add(("Généré le {0} dans {1}" -f (Get-Date -Format 'yyyy-MM-dd HH:mm'), $racine)) +$lignes.Add('') +if ($SansExporter) { + $lignes.Add('Mode : **inventaire** — disponibilité des paires vérifiée sur HuggingFace,') + $lignes.Add('aucun export lancé (rien n''a été téléchargé). Les langues déjà présentes') + $lignes.Add('sur le disque n''ont pas été revérifiées.') + $lignes.Add('') +} +$lignes.Add(("Poids des packs de cette exécution : {0}" -f (Format-Taille $totalOctets))) +$lignes.Add(("Poids total sous {0} : {1}" -f $racine, (Format-Taille $totalDossier))) +$lignes.Add('') +$lignes.Add($(if ($SansExporter) { '## Paires disponibles (vérifiées, non exportées)' } else { '## Packs construits' })) +$lignes.Add('') +$lignes.Add('| Code | Langue | Zone | versFrancais | depuisFrancais | Poids | Statut |') +$lignes.Add('|---|---|---|---|---|---|---|') +foreach ($construit in $rapportConstruits) { + $lignes.Add(("| {0} | {1} | {2} | {3} | {4} | {5} | {6} |" -f $construit.Code, $construit.Libelle, $construit.Zone, $construit.VersFrancais, $construit.DepuisFrancais, (Format-Taille $construit.Taille), $construit.Statut)) +} +$lignes.Add('') +$lignes.Add('Les packs marqués **« ok (familial) »** viennent d''un modèle multilingue') +$lignes.Add('partagé (`opus-mt-tc-big-itc-itc` pour it, es, pt, ca, gl, ro). Ses poids sont') +$lignes.Add('écrits une seule fois dans `commun/` ; chaque sens ne porte qu''un `modele.json`') +$lignes.Add('avec son jeton de cible (`>>fra<<` pour l''aller, `>>por<<` pour le retour).') +$lignes.Add('Le téléphone ne télécharge donc ces poids qu''une seule fois.') +$lignes.Add('') +$lignes.Add('## Paires indisponibles') +$lignes.Add('') +$lignes.Add('Aucun modèle bilingue Helsinki-NLP avec le français. Sans paire, aucune') +$lignes.Add('livraison n''est possible pour cette langue dans l''architecture actuelle.') +$lignes.Add('HuggingFace répond « 401 — dépôt introuvable » (et non 404) pour un dépôt') +$lignes.Add('absent : c''est le motif porté ci-dessous. Un 401 sans ce message est') +$lignes.Add('marqué « à confirmer » : il ne prouve pas à lui seul que la paire manque.') +$lignes.Add('') +$lignes.Add('| Code | Langue | Direction | Modèle testé | Détail |') +$lignes.Add('|---|---|---|---|---|') +foreach ($absent in $rapportAbsents) { + $lignes.Add(("| {0} | {1} | {2} | `{3}` | {4} |" -f $absent.Code, $absent.Libelle, $absent.Direction, $absent.Modele, $absent.Detail)) +} +$lignes.Add('') +$lignes.Add('## Langues ignorées (pack partiel)') +$lignes.Add('') +$lignes.Add('| Code | Langue | Directions présentes | Directions absentes |') +$lignes.Add('|---|---|---|---|') +foreach ($partiel in $rapportPartiels) { + $lignes.Add(("| {0} | {1} | {2} | {3} |" -f $partiel.Code, $partiel.Libelle, $partiel.DirectionsPresentes, $partiel.DirectionsAbsentes)) +} +$lignes.Add('') +$lignes.Add('## Échecs d''export') +$lignes.Add('') +$lignes.Add('| Code | Langue | Direction | Modèle | Détail |') +$lignes.Add('|---|---|---|---|---|') +foreach ($echecExport in $rapportEchecs) { + $lignes.Add(("| {0} | {1} | {2} | `{3}` | {4} |" -f $echecExport.Code, $echecExport.Libelle, $echecExport.Direction, $echecExport.Modele, $echecExport.Detail)) +} +$lignes.Add('') +$lignes.Add('## Étapes suivantes') +$lignes.Add('') +$lignes.Add('1. Valider la qualité sur le poste, pour au moins une langue, AVANT de transférer :') +$lignes.Add('') +$lignes.Add(' ```powershell') +$lignes.Add(' dotnet run --project tools/Omika.LanguesProbe -- traduire `') +$lignes.Add((' --dossier {0}\\versFrancais --code --sens versFrancais --texte "..."' -f $racine)) +$lignes.Add(' ```') +$lignes.Add('') +$lignes.Add('2. Transférer les dossiers `\` sur le serveur, sous `Langues__RootPath`.') +$lignes.Add('3. Générer le manifeste SUR LE SERVEUR (il dépend des fichiers du disque) :') +$lignes.Add('') +$lignes.Add(' ```powershell') +$lignes.Add(' cd C:\Omika\Deploy\Deploy') +$lignes.Add(' .\New-OmikaLanguesManifeste.ps1 -Version 1.0.0') +$lignes.Add(' .\New-OmikaLanguesManifeste.ps1 -Verifier') +$lignes.Add(' ```') +$lignes.Add('') +$lignes.Add('Procédure complète : `docs\LIVRAISON_MODELES_LANGUES.md`.') + +$cheminRapport = Join-Path $racine 'RAPPORT-LANGUES.md' +$null = New-Item -ItemType Directory -Path $racine -Force +$encodage = New-Object System.Text.UTF8Encoding($false) +[System.IO.File]::WriteAllText($cheminRapport, (($lignes -join "`r`n") + "`r`n"), $encodage) + +Write-Host '' +Write-Ok ("Rapport ecrit : {0}" -f $cheminRapport) + +if ($rapportEchecs.Count -gt 0) { exit 1 } +exit 0 diff --git a/scripts/Generer-Fixtures-SentencePiece.ps1 b/scripts/Generer-Fixtures-SentencePiece.ps1 new file mode 100644 index 0000000..5ff0dcb --- /dev/null +++ b/scripts/Generer-Fixtures-SentencePiece.ps1 @@ -0,0 +1,472 @@ +# ============================================================ +# Omika — Fixtures de référence SentencePiece +# ============================================================ +# Usage (poste de développement, Python 3 + sentencepiece installés) : +# .\scripts\Generer-Fixtures-SentencePiece.ps1 -DossierModeles C:\ModelesLangues +# .\scripts\Generer-Fixtures-SentencePiece.ps1 -DossierModeles .\artifacts -CopierModeles +# .\scripts\Generer-Fixtures-SentencePiece.ps1 -DossierModeles C:\M -Sortie C:\Temp\fixtures +# +# Pour chaque modèle .spm trouvé RÉCURSIVEMENT sous -DossierModeles, écrit un +# fixture JSON (.fixtures.json) contenant, pour une série de textes +# français et espagnols, les identifiants produits par la bibliothèque de +# RÉFÉRENCE (sentencepiece) et le texte qu'elle reconstruit à partir de ces +# identifiants. +# +# À quoi ça sert : le tokeniseur de src\Omika.App.Local\Services\ +# SentencePieceTokenizer.cs est réécrit à la main (lecture protobuf, Viterbi +# UNIGRAM, BPE). Son risque n'est pas de lever une exception, c'est de découper +# LÉGÈREMENT autrement que le modèle — donc de dégrader les traductions sans +# aucun signal. Ces fixtures sont la seule mesure de cette divergence : elles +# transforment un soupçon en un test rouge qui nomme la phrase fautive. +# +# Le script est idempotent : il réécrit ses propres fixtures (fichiers +# .fixtures.json du dossier -Sortie) et ne supprime jamais rien d'autre. Le +# programme Python temporaire qu'il crée est supprimé par lui, dans un finally. +# ============================================================ + +[CmdletBinding()] +param( + [Parameter(Mandatory = $true)] + [string]$DossierModeles, + + # Dossier des fixtures, relatif à la racine du dépôt s'il ne l'est pas déjà. + [string]$Sortie = 'tests\fixtures\sentencepiece', + + # Copie chaque .spm à côté de son fixture : le test .NET cherche le modèle + # dans le dossier des fixtures, et la copie évite de le faire à la main. Les + # .spm restent hors du dépôt (artefacts de modèle lourds et sous licence). + [switch]$CopierModeles +) + +$ErrorActionPreference = 'Stop' + +# Racine du dépôt = parent du dossier scripts\. +$RepoRoot = Split-Path -Parent $PSScriptRoot + +function Stop-AvecMessage { + param([string]$Message) + + Write-Host '' + Write-Host "ERREUR : $Message" -ForegroundColor Red + exit 1 +} + +function Format-CheminRelatif { + param([string]$Chemin) + + # Les chemins absolus de la machine de développement n'ont rien à faire dans + # une sortie destinée à être recopiée dans un ticket : on les rend relatifs + # au dépôt dès que c'est possible. + if ($Chemin.StartsWith($RepoRoot, [System.StringComparison]::OrdinalIgnoreCase)) { + return $Chemin.Substring($RepoRoot.Length).TrimStart('\', '/') + } + + return $Chemin +} + +function Find-Python { + # « python » sur Windows peut être l'alias du Microsoft Store, qui n'exécute + # rien : on vérifie donc que la commande RÉPOND « Python 3 », et pas + # seulement qu'un fichier de ce nom existe. Le lanceur « py -3 » couvre les + # installations qui n'exposent pas « python » dans le PATH. + $candidats = @( + @{ Nom = 'python'; Arguments = @() }, + @{ Nom = 'py'; Arguments = @('-3') } + ) + + foreach ($candidat in $candidats) { + $commande = Get-Command $candidat.Nom -ErrorAction SilentlyContinue + if (-not $commande) { continue } + + $arguments = @($candidat.Arguments) + @('--version') + $sortie = $null + $code = -1 + + # Windows PowerShell 5.1 transforme la sortie d'ERREUR d'un programme + # natif en erreur TERMINANTE dès que $ErrorActionPreference vaut Stop : + # l'alias Microsoft Store de « python », qui écrit sur stderr, ferait + # donc échouer la détection au lieu d'être simplement écarté. On + # assouplit la préférence le temps de la capture. + $preferenceErreur = $ErrorActionPreference + $ErrorActionPreference = 'Continue' + + try { + $sortie = (& $commande.Source @arguments 2>&1 | Out-String) + $code = $LASTEXITCODE + } + catch { + continue + } + finally { + $ErrorActionPreference = $preferenceErreur + } + + if ($code -eq 0 -and $sortie -match 'Python 3') { + return @{ Nom = $candidat.Nom; Chemin = $commande.Source; Arguments = @($candidat.Arguments) } + } + } + + return $null +} + +# --- Dossiers ----------------------------------------------------------------- + +if (-not (Test-Path -LiteralPath $DossierModeles -PathType Container)) { + Stop-AvecMessage "Le dossier de modèles « $DossierModeles » n'existe pas. Indiquez -DossierModeles ." +} + +if (-not [System.IO.Path]::IsPathRooted($Sortie)) { + $Sortie = Join-Path $RepoRoot $Sortie +} + +$modeles = @(Get-ChildItem -LiteralPath $DossierModeles -Filter '*.spm' -Recurse -File | Sort-Object FullName) + +if ($modeles.Count -eq 0) { + Stop-AvecMessage "Aucun fichier .spm trouvé sous « $DossierModeles ». Le vocabulaire d'un pack de langue s'appelle vocab.spm (arborescence langues\{code}\{sens}\vocab.spm) : passez le dossier qui le contient." +} + +# --- Interpréteur Python et bibliothèque de référence ------------------------- +# Ces vérifications précèdent la création du dossier de sortie : un script qui +# échoue faute de Python ne doit laisser AUCUNE trace derrière lui. + +$python = Find-Python +if (-not $python) { + Stop-AvecMessage @" +Python 3 est introuvable sur ce poste (ni « python », ni « py -3 »). +Installez Python 3 depuis https://www.python.org/downloads/ puis la bibliothèque +de référence utilisée par ce script : + + pip install sentencepiece + +Aucune fixture n'a été écrite. +"@ +} + +$commandePip = "$($python.Chemin) $($python.Arguments -join ' ') -m pip install sentencepiece".Trim() + +$verification = @($python.Arguments) + @('-c', 'import sentencepiece') + +# Même précaution que dans Find-Python : l'échec d'import écrit sur stderr, et +# sous Windows PowerShell 5.1 une erreur native redirigée devient terminante +# quand $ErrorActionPreference vaut Stop — on veut ici la LIRE pour la traduire. +$preferenceErreur = $ErrorActionPreference +$ErrorActionPreference = 'Continue' + +try { + $sortieImport = (& $python.Chemin @verification 2>&1 | Out-String).Trim() + $codeImport = $LASTEXITCODE +} +finally { + $ErrorActionPreference = $preferenceErreur +} + +if ($codeImport -ne 0) { + Stop-AvecMessage @" +La bibliothèque « sentencepiece » n'est pas installée pour l'interpréteur détecté ($($python.Chemin)). +Installez-la : + + $commandePip + +Erreur renvoyée par Python : + +$sortieImport + +Aucune fixture n'a été écrite. +"@ +} + +if (-not (Test-Path -LiteralPath $Sortie)) { + New-Item -ItemType Directory -Path $Sortie -Force | Out-Null +} + +# --- Programme Python embarqué ------------------------------------------------ +# Le programme est ÉCRIT DANS UN FICHIER TEMPORAIRE puis supprimé : l'humain n'a +# qu'un seul script à connaître, et il ne peut pas désynchroniser un second +# fichier oublié dans le dépôt. +# +# ATTENTION ENCODAGE : le programme contient des textes accentués, arabes et +# cyrilliques. Il est donc écrit explicitement en UTF-8 SANS BOM (voir l'écriture +# ci-dessous) ; il en va de même du JSON qu'il produit, un BOM en tête de fichier +# faisant échouer les lecteurs JSON stricts. +# +# Corollaire pour CE fichier : le script doit lui-même être enregistré en UTF-8 +# AVEC BOM, sinon Windows PowerShell 5.1 (qui lit l'UTF-8 sans BOM comme de +# l'ANSI) transformerait les textes de référence en caractères parasites — et un +# fixture de textes corrompus ne mesurerait plus rien. + +$ProgrammePython = @' +# -*- coding: utf-8 -*- +"""Écrit le fixture JSON d'un modèle SentencePiece .spm. + +Usage : python + +Le fixture décrit le découpage de la bibliothèque de RÉFÉRENCE, jamais celui de +l'implémentation maison : `ids` vient de EncodeAsIds et `decode` de DecodeIds +appliqué à CES identifiants. Le fixture est donc auto-cohérent, et le test .NET +compare le tokeniseur C# à la référence au lieu de le comparer à une +transcription manuelle, qui figerait une erreur de recopie. +""" + +import json +import os +import sys + +from sentencepiece import sentencepiece as spm + + +def lire_varint(donnees, position): + """Lit un entier variable protobuf : (valeur, position suivante).""" + valeur = 0 + decalage = 0 + while True: + octet = donnees[position] + position += 1 + valeur |= (octet & 0x7F) << decalage + if not octet & 0x80: + return valeur, position + decalage += 7 + + +def champs(donnees): + """Parcourt les champs d'un message protobuf : (numéro, type de fil, valeur).""" + position = 0 + while position < len(donnees): + cle, position = lire_varint(donnees, position) + champ, fil = cle >> 3, cle & 0x07 + + if fil == 0: + valeur, position = lire_varint(donnees, position) + elif fil == 1: + valeur, position = donnees[position:position + 8], position + 8 + elif fil == 2: + longueur, position = lire_varint(donnees, position) + valeur, position = donnees[position:position + longueur], position + longueur + elif fil == 5: + valeur, position = donnees[position:position + 4], position + 4 + else: + raise ValueError("type de fil protobuf non pris en charge : %d" % fil) + + yield champ, fil, valeur + + +def spec_normalisation_a_la_main(chemin): + """Repli sans dépendance : lit normalizer_spec (champ 3 du ModelProto). + + `sentencepiece_model_pb2` n'est pas toujours importable (il dépend du runtime + protobuf, absent de certaines installations minimales) ; or ces quatre + réglages décident du découpage — les deviner fausserait tout le fixture. Les + valeurs par défaut reproduites ici sont celles du proto2 de SentencePiece : + un champ absent vaut True. + """ + with open(chemin, "rb") as fichier: + donnees = fichier.read() + + for champ, fil, valeur in champs(donnees): + if champ != 3 or fil != 2: # ModelProto.normalizer_spec + continue + + nom, prefixe, superflus, echapper = "nmt_nfkc", True, True, True + for numero, type_fil, contenu in champs(valeur): + if numero == 1 and type_fil == 2: + nom = contenu.decode("utf-8") or nom + elif numero == 3 and type_fil == 0: + prefixe = bool(contenu) + elif numero == 4 and type_fil == 0: + superflus = bool(contenu) + elif numero == 5 and type_fil == 0: + echapper = bool(contenu) + + return nom, prefixe, superflus, echapper + + return "nmt_nfkc", True, True, True + + +def spec_normalisation(chemin): + """Réglages de normalisation enregistrés dans le modèle, table lue en priorité.""" + try: + from sentencepiece import sentencepiece_model_pb2 + + modele = sentencepiece_model_pb2.ModelProto() + with open(chemin, "rb") as fichier: + modele.ParseFromString(fichier.read()) + + spec = modele.normalizer_spec + return ( + spec.name or "nmt_nfkc", + bool(spec.add_dummy_prefix), + bool(spec.remove_extra_whitespaces), + bool(spec.escape_whitespaces), + ) + except Exception: + return spec_normalisation_a_la_main(chemin) + + +def version_sentencepiece(): + """Version de la référence, écrite dans le fixture : elle DATE la comparaison. + + Sans elle, une divergence constatée dans six mois ne se distingue pas d'un + changement de version de la bibliothèque. + """ + import sentencepiece + + version = getattr(sentencepiece, "__version__", None) + if not version: + version = getattr(getattr(sentencepiece, "sentencepiece", None), "__version__", None) + + return str(version) if version else "inconnue" + + +def cas_de_reference(): + """Textes comparés, avec leur étiquette. + + Les deux langues visées par les packs sont couvertes, plus les entrées qui + font diverger un tokeniseur réécrit à la main : espaces de bord et doubles, + chaîne vide, chiffres et ponctuation, casse mêlée, alphabets non latins, et + une phrase longue — c'est là, et nulle part ailleurs, que se voit le coût du + pire cas d'un Viterbi naïf. + """ + longue = ( + "La traduction hors ligne doit rester fidèle même sur une phrase très " + "longue, parce que c'est exactement le genre d'entrée qui fait diverger " + "une implémentation réécrite à la main. " + ) * 12 + + return [ + ("francais-accents", "Bonjour le monde, l'été dernier j'ai mangé une crêpe à Nîmes."), + ("espagnol-accents", "¿Qué tal? ¡Hola, señor! El niño pequeño añadió más café."), + ("espaces-bords-et-doubles", " Bonjour le monde "), + ("chaine-vide", ""), + ("espaces-seulement", " "), + ("chiffres-et-ponctuation", "Le total est 1 234,56 € (soit 42 %), lundi 03/02/2025 ; OK ?"), + ("phrase-tres-longue", longue.strip()), + ("casse-melangee", "OMIKA Omika omika BonJour LE MONDE Traduction HORS LIGNE"), + ("arabe", "مرحبا بالعالم، كيف حالك اليوم؟"), + ("cyrillique", "Здравствуйте, мир! Как ваши дела сегодня?"), + ("nouvelle-ligne-et-tabulation", "Bonjour\nle\tmonde"), + ] + + +def main(): + if len(sys.argv) != 3: + sys.stderr.write("Usage : python \n") + return 2 + + chemin_modele, chemin_sortie = sys.argv[1], sys.argv[2] + + processeur = spm.SentencePieceProcessor(model_file=chemin_modele) + + nom, prefixe, superflus, echapper = spec_normalisation(chemin_modele) + + cas = [] + for etiquette, texte in cas_de_reference(): + try: + ids = processeur.EncodeAsIds(texte) + decode = processeur.DecodeIds(ids) + except Exception as erreur: + # Le nom du cas est indispensable : sans lui, un modèle exotique + # ferait échouer la génération sans dire sur quelle entrée. + sys.stderr.write("Cas « %s » en échec : %s\n" % (etiquette, erreur)) + raise + + cas.append({"texte": texte, "ids": [int(i) for i in ids], "decode": decode}) + + fixture = { + "modele": os.path.basename(chemin_modele), + "sentencepieceVersion": version_sentencepiece(), + "vocabSize": int(processeur.get_piece_size()), + "addDummyPrefix": bool(prefixe), + "removeExtraWhitespaces": bool(superflus), + "escapeWhitespaces": bool(echapper), + "normalizerName": nom, + "cas": cas, + } + + # ensure_ascii=False : les textes accentués, arabes et cyrilliques restent + # lisibles dans le JSON, ce qui rend une divergence lisible à l'œil. + # encoding="utf-8" SANS BOM (Python n'en écrit jamais par défaut) : un BOM + # ferait échouer les lecteurs JSON stricts. + with open(chemin_sortie, "w", encoding="utf-8", newline="\n") as fichier: + json.dump(fixture, fichier, ensure_ascii=False, indent=2) + fichier.write("\n") + + return 0 + + +if __name__ == "__main__": + sys.exit(main()) +'@ + +$cheminProgramme = Join-Path ([System.IO.Path]::GetTempPath()) ('omika-fixtures-sentencepiece-' + (New-Guid).ToString('N') + '.py') +[System.IO.File]::WriteAllText($cheminProgramme, $ProgrammePython, (New-Object System.Text.UTF8Encoding($false))) + +$lignes = New-Object System.Collections.Generic.List[object] +$copies = New-Object System.Collections.Generic.List[string] + +try { + foreach ($modele in $modeles) { + $nomFixture = $modele.BaseName + '.fixtures.json' + $cheminFixture = Join-Path $Sortie $nomFixture + + Write-Host ("Génération du fixture de « {0} » ({1} Ko)…" -f $modele.Name, [int]($modele.Length / 1KB)) + + $arguments = @($python.Arguments) + @($cheminProgramme, $modele.FullName, $cheminFixture) + & $python.Chemin @arguments + + if ($LASTEXITCODE -ne 0) { + Stop-AvecMessage "La génération du fixture de « $($modele.FullName) » a échoué (code $LASTEXITCODE). Aucune fixture n'a été écrite pour ce modèle ; les messages de la bibliothèque sentencepiece ci-dessus indiquent la cause (fichier tronqué, modèle d'un type non géré…)." + } + + # Relecture du fixture écrit : c'est ce que lira le test .NET, et c'est + # donc cette relecture qui alimente le tableau récapitulatif. + $fixture = Get-Content -LiteralPath $cheminFixture -Raw -Encoding UTF8 | ConvertFrom-Json + + if (-not $fixture.vocabSize -or -not $fixture.cas) { + Stop-AvecMessage "Le fixture « $(Format-CheminRelatif $cheminFixture) » vient d'être écrit mais ne contient ni taille de vocabulaire ni cas de test : le fichier est inexploitable, ne le commitez pas." + } + + if ($CopierModeles) { + $destination = Join-Path $Sortie $modele.Name + + if (Test-Path -LiteralPath $destination) { + # Deux modèles de même nom venant de dossiers différents : on ne + # remplace jamais un .spm existant par un autre (le fixture déjà + # écrit pourrait décrire le premier). + if ((Get-FileHash -LiteralPath $modele.FullName).Hash -ne (Get-FileHash -LiteralPath $destination).Hash) { + Write-Host " ATTENTION : « $(Format-CheminRelatif $destination) » existe avec un contenu différent — copie ignorée, copiez le bon modèle à la main." -ForegroundColor Yellow + } + } + else { + Copy-Item -LiteralPath $modele.FullName -Destination $destination + $copies.Add($modele.Name) + } + } + + $lignes.Add([pscustomobject]@{ + 'Modèle' = $modele.Name + 'Vocabulaire' = [int]$fixture.vocabSize + 'Cas' = @($fixture.cas).Count + 'Fixture' = Format-CheminRelatif $cheminFixture + }) + } +} +finally { + # Rien d'autre que ce fichier temporaire n'est supprimé par ce script. + Remove-Item -LiteralPath $cheminProgramme -Force -ErrorAction SilentlyContinue +} + +Write-Host '' +Write-Host 'Résumé :' +$lignes | Format-Table -AutoSize | Out-String | Write-Host + +Write-Host ("{0} fixture(s) écrite(s) dans {1}." -f $lignes.Count, (Format-CheminRelatif $Sortie)) + +if ($CopierModeles) { + if ($copies.Count -gt 0) { + Write-Host ("{0} modèle(s) copié(s) à côté de leur fixture : {1}." -f $copies.Count, ($copies -join ', ')) + } +} +else { + Write-Host "Le test .NET cherche le .spm DANS le dossier des fixtures : relancez avec -CopierModeles, ou copiez-le à la main (il n'est pas versionné)." +} + +Write-Host "Ensuite : dotnet test tests\Omika.Tests\Omika.Tests.csproj --filter FullyQualifiedName~SentencePieceFixturesTests" diff --git a/scripts/dev/clear_diagnostics_local_seed.sql b/scripts/dev/clear_diagnostics_local_seed.sql new file mode 100644 index 0000000..4b02e32 --- /dev/null +++ b/scripts/dev/clear_diagnostics_local_seed.sql @@ -0,0 +1,42 @@ +-- ===================================================================== +-- Omika Diagnostic Center — NETTOYAGE DU SEED LOCAL (FAKE DATA) +-- clear_diagnostics_local_seed.sql +-- ===================================================================== +-- ⚠️ RÉSERVÉ AU DÉVELOPPEMENT LOCAL. Supprime UNIQUEMENT les données +-- synthétiques marquées source='local-seed'. Aucun TRUNCATE, aucune +-- suppression générale, jamais les vraies données. +-- ⚠️ À lancer manuellement (aucune exécution automatique). +-- ===================================================================== + +-- Garde-fou : refuse de s'exécuter hors de la base locale omika_diagnostics. +DO $$ +BEGIN + IF current_database() <> 'omika_diagnostics' THEN + RAISE EXCEPTION 'REFUS : nettoyage LOCAL uniquement sur la base omika_diagnostics (base détectée : %).', current_database(); + END IF; +END +$$; + +-- Suppression ciblée et sûre. +DELETE FROM diagnostic_event +WHERE source = 'local-seed'; + +-- ===================================================================== +-- VÉRIFICATION (T13-G §28) — procédure de contrôle à exécuter séparément. +-- Objectif : démontrer que le nettoyage supprime UNIQUEMENT le seed local +-- et préserve toute ligne réelle (source <> 'local-seed'). +-- +-- AVANT nettoyage (état attendu : 1 vraie ligne + N lignes local-seed) : +-- SELECT count(*) FILTER (WHERE source = 'local-seed') AS seed_rows, +-- count(*) FILTER (WHERE source <> 'local-seed') AS real_rows +-- FROM diagnostic_event; +-- +-- APRÈS exécution de ce script, vérifier : +-- SELECT count(*) FROM diagnostic_event WHERE source = 'local-seed'; +-- -- attendu : 0 +-- SELECT count(*) FROM diagnostic_event WHERE source <> 'local-seed'; +-- -- attendu : inchangé (la vraie ligne est conservée) +-- +-- GARANTIE STRUCTURELLE : l'unique instruction de suppression est bornée par +-- le marqueur source = 'local-seed'. Aucun TRUNCATE, aucun DELETE sans filtre. +-- ===================================================================== diff --git a/scripts/dev/development-upload.sample.json b/scripts/dev/development-upload.sample.json new file mode 100644 index 0000000..76c5566 --- /dev/null +++ b/scripts/dev/development-upload.sample.json @@ -0,0 +1,3 @@ +{ + "Enabled": true +} diff --git a/scripts/dev/seed_diagnostics_local.sql b/scripts/dev/seed_diagnostics_local.sql new file mode 100644 index 0000000..8cd8e00 --- /dev/null +++ b/scripts/dev/seed_diagnostics_local.sql @@ -0,0 +1,1094 @@ +-- ===================================================================== +-- Omika Diagnostic Center — SEED DE DÉVELOPPEMENT LOCAL (FAKE DATA) +-- seed_diagnostics_local.sql +-- ===================================================================== +-- ⚠️ RÉSERVÉ AU DÉVELOPPEMENT LOCAL — NE JAMAIS EXÉCUTER EN PRODUCTION. +-- ⚠️ Ce script insère des données SYNTHÉTIQUES marquées source='local-seed' +-- et message préfixé '[FAKE LOCAL]'. Aucune donnée réelle, aucune donnée +-- personnelle, aucun token, aucun mot de passe, aucun CodeClient réel, +-- aucun nom de société cliente réelle, aucun nom de machine réel. +-- ⚠️ Aucune exécution automatique : à lancer manuellement avec psql. +-- ⚠️ Nettoie UNIQUEMENT les lignes source='local-seed' avant de réinsérer +-- (ré-exécutable : clear → seed → clear → seed, aucune dérive). Ne touche +-- jamais aux vraies données. +-- +-- Tâche T13-G — SEED MULTI-CLIENTS (validation end-to-end du contexte) : +-- * 3 clients synthétiques : DEMO-CLIENT-A (fort volume), DEMO-CLIENT-B +-- (volume moyen), DEMO-CLIENT-C (faible volume). +-- * Plusieurs ServerInstance par client (API / WORKER), faibles cardinalités, +-- stables, lisibles, jamais le nom réel de la machine de dev. +-- * 3 environnements : Production (majorité), Staging, Development. +-- * Croisements RÉALISTES (pas de produit cartésien artificiel). +-- * Quelques événements historiques SANS contexte (client_code / server_instance +-- / environment = NULL) pour valider la compatibilité arrière (§T13-G/10). +-- * Source = 'local-seed' partout ; messages préfixés '[FAKE LOCAL]'. +-- ===================================================================== + +-- Garde-fou : refuse de s'exécuter hors de la base locale omika_diagnostics. +-- (Ne suffit PAS à distinguer une base de production portant le même nom : +-- la discipline manuelle reste obligatoire.) +DO $$ +BEGIN + IF current_database() <> 'omika_diagnostics' THEN + RAISE EXCEPTION 'REFUS : seed LOCAL uniquement sur la base omika_diagnostics (base détectée : %).', current_database(); + END IF; +END +$$; + +-- Nettoyage idempotent du seed précédent (source = 'local-seed' uniquement). +DELETE FROM diagnostic_event WHERE source = 'local-seed'; + +-- ===================================================================== +-- CONVENTIONS DU SEED MULTI-CLIENTS (T13-G) +-- ===================================================================== +-- ClientCode (synthétique) ServerInstance Environment +-- --------------------------- --------------------------- ----------- +-- DEMO-CLIENT-A (fort volume) API-A-01, WORKER-A-01 Production +-- DEMO-CLIENT-B (moyen) API-B-01, WORKER-B-01, Production +-- API-B-STG-01 Staging +-- DEMO-CLIENT-C (faible) API-C-DEV-01 Development +-- +-- Règle T13-G/14 : pour une même opération, API et Worker partagent +-- ClientCode + Environment, mais ont des ServerInstance différentes. +-- Les événements MOBILE (Omika.App) sont ingérés via POST /api/diagnostics +-- → ils portent la ServerInstance de l'API qui les a reçus (ex. API-A-01). +-- ===================================================================== + +-- ===================================================================== +-- 1. VOLUME DE FOND MULTI-CLIENTS (réparti 0-6h / 6-24h / 1-7j / 7-30j) +-- ===================================================================== + +-- 1.1 DEMO-CLIENT-A / API-A-01 / Production — 80 événements HTTP API. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('1a000000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - CASE (g % 4) + WHEN 0 THEN (random() * interval '6 hours') + WHEN 1 THEN interval '6 hours' + (random() * interval '18 hours') + WHEN 2 THEN interval '1 day' + (random() * interval '6 days') + ELSE interval '7 days' + (random() * interval '23 days') + END, + (ARRAY['P2','P3','P2','P1','P3'])[1 + (g % 5)], + (ARRAY['Info','Info','Debug','Warning','Info'])[1 + (g % 5)], + (ARRAY['OMK-API-HTTP-001','OMK-API-HTTP-002'])[1 + (g % 2)], + 'Omika.Api', + NULL, NULL, NULL, + (ARRAY['fake-actor-001','fake-actor-002',NULL])[1 + (g % 3)], + 1, + (ARRAY['1.4.0.0','1.4.1.0'])[1 + (g % 2)], + 'api', + NULL, + '[FAKE LOCAL] api DEMO-CLIENT-A production ' || g, + NULL, NULL, + (ARRAY[25,150,350,1200,NULL,80])[1 + (g % 6)]::bigint, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics"}'::jsonb, + now(), + 'DEMO-CLIENT-A', 'API-A-01', 'Production' +FROM generate_series(1, 80) AS g; + +-- 1.2 DEMO-CLIENT-A / WORKER-A-01 / Production — 50 traitements Worker réussis. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('1b000000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - CASE (g % 4) + WHEN 0 THEN (random() * interval '6 hours') + WHEN 1 THEN interval '6 hours' + (random() * interval '18 hours') + WHEN 2 THEN interval '1 day' + (random() * interval '6 days') + ELSE interval '7 days' + (random() * interval '23 days') + END, + 'P3', + (ARRAY['Info','Debug','Info'])[1 + (g % 3)], + 'OMK-WKR-SYNC-001', + 'Omika.Worker', + NULL, NULL, NULL, + NULL, NULL, + (ARRAY['1.4.0.0','1.4.1.0'])[1 + (g % 2)], + 'worker', + NULL, + '[FAKE LOCAL] worker DEMO-CLIENT-A production ' || g, + NULL, NULL, + (ARRAY[300,450,600,900])[1 + (g % 4)]::bigint, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","retryCount":0}'::jsonb, + now(), + 'DEMO-CLIENT-A', 'WORKER-A-01', 'Production' +FROM generate_series(1, 50) AS g; + +-- 1.3 DEMO-CLIENT-B / API-B-01 / Production — 40 événements HTTP API. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('1c000000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - CASE (g % 4) + WHEN 0 THEN (random() * interval '6 hours') + WHEN 1 THEN interval '6 hours' + (random() * interval '18 hours') + WHEN 2 THEN interval '1 day' + (random() * interval '6 days') + ELSE interval '7 days' + (random() * interval '23 days') + END, + (ARRAY['P2','P3','P2','P1','P3'])[1 + (g % 5)], + (ARRAY['Info','Info','Debug','Warning','Info'])[1 + (g % 5)], + (ARRAY['OMK-API-HTTP-001','OMK-API-HTTP-002'])[1 + (g % 2)], + 'Omika.Api', + NULL, NULL, NULL, + (ARRAY['fake-actor-002','fake-actor-003',NULL])[1 + (g % 3)], + 1, + (ARRAY['1.3.8.0','1.4.1.0'])[1 + (g % 2)], + 'api', + NULL, + '[FAKE LOCAL] api DEMO-CLIENT-B production ' || g, + NULL, NULL, + (ARRAY[30,140,360,1100,NULL,90])[1 + (g % 6)]::bigint, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics"}'::jsonb, + now(), + 'DEMO-CLIENT-B', 'API-B-01', 'Production' +FROM generate_series(1, 40) AS g; + +-- 1.4 DEMO-CLIENT-B / WORKER-B-01 / Production — 20 traitements Worker réussis. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('1d000000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - CASE (g % 4) + WHEN 0 THEN (random() * interval '6 hours') + WHEN 1 THEN interval '6 hours' + (random() * interval '18 hours') + WHEN 2 THEN interval '1 day' + (random() * interval '6 days') + ELSE interval '7 days' + (random() * interval '23 days') + END, + 'P3', + (ARRAY['Info','Debug','Info'])[1 + (g % 3)], + 'OMK-WKR-SYNC-001', + 'Omika.Worker', + NULL, NULL, NULL, + NULL, NULL, + (ARRAY['1.3.8.0','1.4.1.0'])[1 + (g % 2)], + 'worker', + NULL, + '[FAKE LOCAL] worker DEMO-CLIENT-B production ' || g, + NULL, NULL, + (ARRAY[280,420,580,850])[1 + (g % 4)]::bigint, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","retryCount":0}'::jsonb, + now(), + 'DEMO-CLIENT-B', 'WORKER-B-01', 'Production' +FROM generate_series(1, 20) AS g; + +-- 1.5 DEMO-CLIENT-B / API-B-STG-01 / Staging — 12 événements HTTP API. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('1e000000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - CASE (g % 4) + WHEN 0 THEN (random() * interval '6 hours') + WHEN 1 THEN interval '6 hours' + (random() * interval '18 hours') + WHEN 2 THEN interval '1 day' + (random() * interval '6 days') + ELSE interval '7 days' + (random() * interval '23 days') + END, + (ARRAY['P2','P3','P2'])[1 + (g % 3)], + (ARRAY['Info','Debug','Info'])[1 + (g % 3)], + (ARRAY['OMK-API-HTTP-001','OMK-API-HTTP-002'])[1 + (g % 2)], + 'Omika.Api', + NULL, NULL, NULL, + 'fake-actor-003', 1, + (ARRAY['1.4.1.0','1.3.8.0'])[1 + (g % 2)], + 'api', + NULL, + '[FAKE LOCAL] api DEMO-CLIENT-B staging ' || g, + NULL, NULL, + (ARRAY[40,150,380])[1 + (g % 3)]::bigint, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics"}'::jsonb, + now(), + 'DEMO-CLIENT-B', 'API-B-STG-01', 'Staging' +FROM generate_series(1, 12) AS g; + +-- 1.6 DEMO-CLIENT-C / API-C-DEV-01 / Development — 18 événements HTTP API. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('1f000000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - CASE (g % 4) + WHEN 0 THEN (random() * interval '6 hours') + WHEN 1 THEN interval '6 hours' + (random() * interval '18 hours') + WHEN 2 THEN interval '1 day' + (random() * interval '6 days') + ELSE interval '7 days' + (random() * interval '23 days') + END, + 'P3', + (ARRAY['Info','Debug','Warning','Info'])[1 + (g % 4)], + (ARRAY['OMK-API-HTTP-001','OMK-API-HTTP-002'])[1 + (g % 2)], + 'Omika.Api', + NULL, NULL, NULL, + NULL, NULL, + '1.5.0.0', + 'api', + NULL, + '[FAKE LOCAL] api DEMO-CLIENT-C development ' || g, + NULL, NULL, + (ARRAY[35,160,400])[1 + (g % 3)]::bigint, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics"}'::jsonb, + now(), + 'DEMO-CLIENT-C', 'API-C-DEV-01', 'Development' +FROM generate_series(1, 18) AS g; + +-- 1.7 DEMO-CLIENT-A / Production — 20 événements MOBILE (ingérés via API-A-01). +-- T17-B : dimensions appareil/licence représentatives (Android / Xiaomi). +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment, + license_number, device_key, device_key_version, device_manufacturer, + device_model, operating_system, operating_system_version, app_build, + screen_width, screen_height, logical_width, logical_height, display_scale) +SELECT + ('1a100000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - CASE (g % 4) + WHEN 0 THEN (random() * interval '6 hours') + WHEN 1 THEN interval '6 hours' + (random() * interval '18 hours') + WHEN 2 THEN interval '1 day' + (random() * interval '6 days') + ELSE interval '7 days' + (random() * interval '23 days') + END, + (ARRAY['P2','P3','P2'])[1 + (g % 3)], + (ARRAY['Info','Debug','Info'])[1 + (g % 3)], + (ARRAY['OMK-MOB-APP-001','OMK-MOB-APP-002','OMK-MOB-DIAG-001'])[1 + (g % 3)], + 'Omika.App', + NULL, NULL, NULL, + (ARRAY['fake-actor-001','fake-actor-002'])[1 + (g % 2)], + 1, + (ARRAY['1.4.0.0','1.4.1.0'])[1 + (g % 2)], + 'Android', + NULL, + '[FAKE LOCAL] mobile DEMO-CLIENT-A production ' || g, + NULL, NULL, + NULL, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics"}'::jsonb, + now(), + 'DEMO-CLIENT-A', 'API-A-01', 'Production', + 'LIC-DEMO-A', + (ARRAY['fake-device-key-001','fake-device-key-002'])[1 + (g % 2)], + 1, + 'Xiaomi', + 'POCO Demo', + 'Android', + '16', + '1410', + 1080, 2400, 360, 800, 3.0 +FROM generate_series(1, 20) AS g; + +-- 1.8 DEMO-CLIENT-B / Production — 10 événements MOBILE (ingérés via API-B-01). +-- T17-B : dimensions appareil/licence représentatives (iOS / Apple). +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment, + license_number, device_key, device_key_version, device_manufacturer, + device_model, operating_system, operating_system_version, app_build, + screen_width, screen_height, logical_width, logical_height, display_scale) +SELECT + ('1c100000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - CASE (g % 4) + WHEN 0 THEN (random() * interval '6 hours') + WHEN 1 THEN interval '6 hours' + (random() * interval '18 hours') + WHEN 2 THEN interval '1 day' + (random() * interval '6 days') + ELSE interval '7 days' + (random() * interval '23 days') + END, + 'P3', + (ARRAY['Info','Debug','Info'])[1 + (g % 3)], + (ARRAY['OMK-MOB-APP-001','OMK-MOB-DIAG-001'])[1 + (g % 2)], + 'Omika.App', + NULL, NULL, NULL, + 'fake-actor-002', 1, + (ARRAY['1.3.8.0','1.4.1.0'])[1 + (g % 2)], + 'iOS', + NULL, + '[FAKE LOCAL] mobile DEMO-CLIENT-B production ' || g, + NULL, NULL, + NULL, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics"}'::jsonb, + now(), + 'DEMO-CLIENT-B', 'API-B-01', 'Production', + 'LIC-DEMO-B', + 'fake-device-key-002', + 1, + 'Apple', + 'iPhone Demo', + 'iOS', + '18.5', + '1390', + 1179, 2556, 393, 852, 3.0 +FROM generate_series(1, 10) AS g; + +-- ===================================================================== +-- 2. GROUPES D'ERREURS MULTI-CLIENTS (fingerprint inchangé : LOWER(NULLIF(TRIM(col),''))) +-- ===================================================================== + +-- 2.1 TimeoutException — MÊME groupe logique chez DEMO-CLIENT-A (Production) +-- et DEMO-CLIENT-B (Production + Staging). Sans filtre : 1 seul groupe +-- agrégeant A + B ; filtre Client / Environnement = occurrence re-comptée +-- AVANT agrégation (T13-G §15/§17). +-- Variations de casse/espaces volontaires (test de normalisation du fingerprint). + +-- 2.1a DEMO-CLIENT-A / API-A-01 / Production — 10 occurrences. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('ee000000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - (random() * interval '7 days'), + 'P1', + (ARRAY['Error','error'])[1 + (g % 2)], + 'OMK-API-HTTP-003', + (ARRAY['Omika.Api',' omika.api ','OMIKA.API'])[1 + (g % 3)], + NULL, NULL, NULL, + 'fake-actor-001', 1, + (ARRAY['1.4.0.0','1.4.1.0'])[1 + (g % 2)], + 'api', + (ARRAY['TIMEOUT',' timeout ','timeout'])[1 + (g % 3)], + '[FAKE LOCAL] Timeout simulation A ' || g, + (ARRAY['System.TimeoutException','system.timeoutexception'])[1 + (g % 2)], + E'[FAKE LOCAL]\nSystem.TimeoutException: operation timed out\n at Omika.Api.Tests.FakeService.Execute()', + (ARRAY[1500,2500,3000,5000])[1 + (g % 4)]::bigint, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","method":"GET","endpoint":"/api/v1/fake","statusCode":504}'::jsonb, + now(), + 'DEMO-CLIENT-A', 'API-A-01', 'Production' +FROM generate_series(1, 10) AS g; + +-- 2.1b DEMO-CLIENT-B / API-B-01 / Production — 6 occurrences. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('ee010000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - (random() * interval '7 days'), + 'P1', + 'Error', + 'OMK-API-HTTP-003', + 'Omika.Api', + NULL, NULL, NULL, + 'fake-actor-002', 1, + (ARRAY['1.3.8.0','1.4.1.0'])[1 + (g % 2)], + 'api', + 'TIMEOUT', + '[FAKE LOCAL] Timeout simulation B ' || g, + 'System.TimeoutException', + E'[FAKE LOCAL]\nSystem.TimeoutException: operation timed out\n at Omika.Api.Tests.FakeService.Execute()', + (ARRAY[1600,2600,3200])[1 + (g % 3)]::bigint, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","method":"GET","endpoint":"/api/v1/fake","statusCode":504}'::jsonb, + now(), + 'DEMO-CLIENT-B', 'API-B-01', 'Production' +FROM generate_series(1, 6) AS g; + +-- 2.1c DEMO-CLIENT-B / API-B-STG-01 / Staging — 6 occurrences (volume différent). +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('ee020000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - (random() * interval '7 days'), + 'P1', + 'Error', + 'OMK-API-HTTP-003', + 'Omika.Api', + NULL, NULL, NULL, + 'fake-actor-003', 1, + '1.4.1.0', + 'api', + 'TIMEOUT', + '[FAKE LOCAL] Timeout simulation B staging ' || g, + 'System.TimeoutException', + E'[FAKE LOCAL]\nSystem.TimeoutException: operation timed out\n at Omika.Api.Tests.FakeService.Execute()', + (ARRAY[1700,2800,3400])[1 + (g % 3)]::bigint, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","method":"GET","endpoint":"/api/v1/fake","statusCode":504}'::jsonb, + now(), + 'DEMO-CLIENT-B', 'API-B-STG-01', 'Staging' +FROM generate_series(1, 6) AS g; + +-- 2.2 NullReferenceException — DEMO-CLIENT-A uniquement — 8 occurrences. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('ee100000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - (random() * interval '14 days'), + 'P1', + 'Error', + 'OMK-API-REQ-001', + 'Omika.Api', + NULL, NULL, NULL, + 'fake-actor-001', 1, + (ARRAY['1.4.0.0','1.4.1.0'])[1 + (g % 2)], + 'api', + 'NULL_REF', + '[FAKE LOCAL] NullReferenceException simulation A ' || g, + 'System.NullReferenceException', + E'[FAKE LOCAL]\nSystem.NullReferenceException: Object reference not set\n at Omika.Api.Tests.FakeService.Execute()', + NULL, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","endpoint":"/api/v1/fake"}'::jsonb, + now(), + 'DEMO-CLIENT-A', 'API-A-01', 'Production' +FROM generate_series(1, 8) AS g; + +-- 2.3 HttpRequestException (HTTP_500) — DEMO-CLIENT-B uniquement — Production + Staging. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('ee200000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - (random() * interval '30 days'), + 'P1', + 'Error', + 'OMK-API-HTTP-003', + 'Omika.Api', + NULL, NULL, NULL, + 'fake-actor-002', 1, + (ARRAY['1.3.8.0','1.4.1.0'])[1 + (g % 2)], + 'api', + 'HTTP_500', + '[FAKE LOCAL] HttpRequestException simulation B ' || g, + 'System.Net.Http.HttpRequestException', + E'[FAKE LOCAL]\nSystem.Net.Http.HttpRequestException: 500 Internal Server Error\n at Omika.Api.Tests.FakeService.Send()', + (ARRAY[800,1200,2000])[1 + (g % 3)]::bigint, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","statusCode":500}'::jsonb, + now(), + 'DEMO-CLIENT-B', + (ARRAY['API-B-01','API-B-STG-01'])[1 + (g % 2)], + (ARRAY['Production','Staging'])[1 + (g % 2)] +FROM generate_series(1, 8) AS g; + +-- 2.4 InvalidOperationException — DEMO-CLIENT-A uniquement (mobile) — 5 occurrences. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('ee300000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - (random() * interval '10 days'), + 'P2', + 'Warning', + 'OMK-MOB-APP-001', + 'Omika.App', + NULL, NULL, NULL, + 'fake-actor-001', 1, + '1.4.0.0', + 'Android', + 'INVALID_OP', + '[FAKE LOCAL] InvalidOperationException simulation A ' || g, + 'System.InvalidOperationException', + E'[FAKE LOCAL]\nSystem.InvalidOperationException: invalid state\n at Omika.App.Tests.FakeService.Run()', + NULL, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics"}'::jsonb, + now(), + 'DEMO-CLIENT-A', 'API-A-01', 'Production' +FROM generate_series(1, 5) AS g; + +-- 2.5 Crash critique (OutOfMemoryException) — DEMO-CLIENT-C UNIQUEMENT (Development). +-- Vérifie qu'un filtre Client = A/B exclut complètement ce groupe (T13-G §16). +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('ee400000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - (random() * interval '2 days'), + 'P0', + 'Critical', + 'OMK-API-HTTP-003', + 'Omika.Api', + NULL, NULL, NULL, + NULL, NULL, + '1.5.0.0', + 'api', + 'CRASH', + '[FAKE LOCAL] Critical crash simulation C ' || g, + 'System.OutOfMemoryException', + E'[FAKE LOCAL]\nSystem.OutOfMemoryException: insufficient memory\n at Omika.Api.Tests.FakeService.Allocate()', + NULL, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics"}'::jsonb, + now(), + 'DEMO-CLIENT-C', 'API-C-DEV-01', 'Development' +FROM generate_series(1, 3) AS g; + +-- ===================================================================== +-- 3. TRACES SYNTHÉTIQUES (TraceId partagé) — pour tester /Traces +-- (contexte client/serveur/environnement assigné par trace) +-- ===================================================================== + +-- Trace A : DEMO-CLIENT-A / API-A-01 / Production — mobile → API → response (4 événements). +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +VALUES + ('aa000000-0000-0000-0000-000000000001', now() - interval '35 minutes', 'P2', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + 'aaaaaaaa-1111-4111-8111-111111111111', NULL, NULL, 'fake-actor-001', 1, '1.4.1.0', 'Android', NULL, + '[FAKE LOCAL] trace A - mobile started', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics"}'::jsonb, now(), + 'DEMO-CLIENT-A', 'API-A-01', 'Production'), + ('aa000000-0000-0000-0000-000000000002', now() - interval '34 minutes', 'P2', 'Info', 'OMK-API-HTTP-001', 'Omika.Api', + 'aaaaaaaa-1111-4111-8111-111111111111', NULL, NULL, NULL, NULL, '1.4.1.0', 'api', NULL, + '[FAKE LOCAL] trace A - api request', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","method":"POST","endpoint":"/api/v1/sync"}'::jsonb, now(), + 'DEMO-CLIENT-A', 'API-A-01', 'Production'), + ('aa000000-0000-0000-0000-000000000003', now() - interval '33 minutes', 'P2', 'Info', 'OMK-API-HTTP-002', 'Omika.Api', + 'aaaaaaaa-1111-4111-8111-111111111111', NULL, NULL, NULL, NULL, '1.4.1.0', 'api', NULL, + '[FAKE LOCAL] trace A - api processing', NULL, NULL, 350, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","statusCode":200}'::jsonb, now(), + 'DEMO-CLIENT-A', 'API-A-01', 'Production'), + ('aa000000-0000-0000-0000-000000000004', now() - interval '32 minutes', 'P2', 'Info', 'OMK-API-HTTP-002', 'Omika.Api', + 'aaaaaaaa-1111-4111-8111-111111111111', NULL, NULL, NULL, NULL, '1.4.1.0', 'api', NULL, + '[FAKE LOCAL] trace A - api response', NULL, NULL, 420, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","statusCode":200}'::jsonb, now(), + 'DEMO-CLIENT-A', 'API-A-01', 'Production'); + +-- Trace B : DEMO-CLIENT-B / API-B-01 / Production — API → traitement → erreur (3 événements). +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +VALUES + ('bb000000-0000-0000-0000-000000000001', now() - interval '6 hours', 'P2', 'Info', 'OMK-API-HTTP-001', 'Omika.Api', + 'bbbbbbbb-2222-4222-8222-222222222222', NULL, NULL, NULL, NULL, '1.4.1.0', 'api', NULL, + '[FAKE LOCAL] trace B - api request', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","method":"GET","endpoint":"/api/v1/fake"}'::jsonb, now(), + 'DEMO-CLIENT-B', 'API-B-01', 'Production'), + ('bb000000-0000-0000-0000-000000000003', now() - interval '6 hours' + interval '25 ms', 'P2', 'Info', 'OMK-API-HTTP-002', 'Omika.Api', + 'bbbbbbbb-2222-4222-8222-222222222222', NULL, NULL, NULL, NULL, '1.4.1.0', 'api', NULL, + '[FAKE LOCAL] trace B - api processing', NULL, NULL, 300, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","statusCode":200}'::jsonb, now(), + 'DEMO-CLIENT-B', 'API-B-01', 'Production'), + ('bb000000-0000-0000-0000-000000000002', now() - interval '6 hours' + interval '50 ms', 'P1', 'Error', 'OMK-API-HTTP-003', 'Omika.Api', + 'bbbbbbbb-2222-4222-8222-222222222222', NULL, NULL, NULL, NULL, '1.4.1.0', 'api', 'HTTP_500', + '[FAKE LOCAL] trace B - traitement en erreur', 'System.Net.Http.HttpRequestException', + E'[FAKE LOCAL]\nSystem.Net.Http.HttpRequestException: 500\n at Omika.Api.Tests.FakeService.Send()', 1200, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","statusCode":500}'::jsonb, now(), + 'DEMO-CLIENT-B', 'API-B-01', 'Production'); + +-- Trace C : DEMO-CLIENT-C / API-C-DEV-01 / Development — succès rapide (3 événements). +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +VALUES + ('cc000000-0000-0000-0000-000000000001', now() - interval '12 hours', 'P3', 'Info', 'OMK-API-HTTP-001', 'Omika.Api', + 'cccccccc-3333-4333-8333-333333333333', NULL, NULL, NULL, NULL, '1.5.0.0', 'api', NULL, + '[FAKE LOCAL] trace C - api request', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics"}'::jsonb, now(), + 'DEMO-CLIENT-C', 'API-C-DEV-01', 'Development'), + ('cc000000-0000-0000-0000-000000000002', now() - interval '12 hours' + interval '30 ms', 'P3', 'Info', 'OMK-API-HTTP-002', 'Omika.Api', + 'cccccccc-3333-4333-8333-333333333333', NULL, NULL, NULL, NULL, '1.5.0.0', 'api', NULL, + '[FAKE LOCAL] trace C - api processing', NULL, NULL, 80, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","statusCode":200}'::jsonb, now(), + 'DEMO-CLIENT-C', 'API-C-DEV-01', 'Development'), + ('cc000000-0000-0000-0000-000000000003', now() - interval '12 hours' + interval '45 ms', 'P3', 'Info', 'OMK-API-HTTP-002', 'Omika.Api', + 'cccccccc-3333-4333-8333-333333333333', NULL, NULL, NULL, NULL, '1.5.0.0', 'api', NULL, + '[FAKE LOCAL] trace C - api response', NULL, NULL, 90, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","statusCode":200}'::jsonb, now(), + 'DEMO-CLIENT-C', 'API-C-DEV-01', 'Development'); + +-- ===================================================================== +-- 4. SYNCHRONISATION SYNTHÉTIQUE (OperationId partagé) — pour tester +-- /Synchronisation et /Traces. Même OperationId entre composants +-- différents (mobile/API vs Worker), même ClientCode + Environment, +-- ServerInstance différente (T13-G §13/§14). Aucun faux TraceId Worker. +-- EventCodes exacts de DiagnosticSyncEventCodes : +-- OMK-MOB-SYNC-001 / OMK-WKR-SYNC-001 / OMK-WKR-SYNC-002 +-- ⚠️ FAKE LOCAL : données synthétiques (source='local-seed'), ne prouvent +-- pas l'état d'instrumentation réel d'un producteur. +-- ===================================================================== + +-- Opération X (DEMO-CLIENT-A / Production) : succès mobile → worker. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +VALUES + ('55000000-0000-0000-0000-000000000001', now() - interval '1 hour', 'P2', 'Info', 'OMK-MOB-SYNC-001', 'Omika.App', + NULL, '5e5e5e5e-5000-4000-8000-000000000001', '0a0a0a0a-1000-4000-8000-000000000001', 'fake-actor-001', 1, '1.4.1.0', 'Android', NULL, + '[FAKE LOCAL] sync op X - operation reçue', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics"}'::jsonb, now(), + 'DEMO-CLIENT-A', 'API-A-01', 'Production'), + ('55000000-0000-0000-0000-000000000002', now() - interval '59 minutes', 'P3', 'Info', 'OMK-WKR-SYNC-001', 'Omika.Worker', + NULL, NULL, '0a0a0a0a-1000-4000-8000-000000000001', NULL, NULL, '1.4.1.0', 'worker', NULL, + '[FAKE LOCAL] sync op X - worker processing', NULL, NULL, 450, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","retryCount":0}'::jsonb, now(), + 'DEMO-CLIENT-A', 'WORKER-A-01', 'Production'), + ('55000000-0000-0000-0000-000000000003', now() - interval '58 minutes', 'P3', 'Info', 'OMK-WKR-SYNC-001', 'Omika.Worker', + NULL, NULL, '0a0a0a0a-1000-4000-8000-000000000001', NULL, NULL, '1.4.1.0', 'worker', NULL, + '[FAKE LOCAL] sync op X - worker success', NULL, NULL, 480, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","retryCount":0}'::jsonb, now(), + 'DEMO-CLIENT-A', 'WORKER-A-01', 'Production'); + +-- Opération Y (DEMO-CLIENT-B / Production) : échec définitif worker. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +VALUES + ('55000000-0000-0000-0000-000000000004', now() - interval '3 hours', 'P1', 'Info', 'OMK-MOB-SYNC-001', 'Omika.App', + NULL, '5e5e5e5e-5000-4000-8000-000000000002', '0b0b0b0b-1000-4000-8000-000000000002', 'fake-actor-002', 1, '1.3.8.0', 'iOS', NULL, + '[FAKE LOCAL] sync op Y - operation reçue', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics"}'::jsonb, now(), + 'DEMO-CLIENT-B', 'API-B-01', 'Production'), + ('55000000-0000-0000-0000-000000000005', now() - interval '3 hours' + interval '10 seconds', 'P1', 'Error', 'OMK-WKR-SYNC-002', 'Omika.Worker', + NULL, NULL, '0b0b0b0b-1000-4000-8000-000000000002', NULL, NULL, '1.3.8.0', 'worker', 'SYNC_FAILED', + '[FAKE LOCAL] sync op Y - worker failure', 'System.InvalidOperationException', + E'[FAKE LOCAL]\nSystem.InvalidOperationException: sync rejected\n at Omika.Worker.Tests.FakeHandler.Apply()', 600, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","retryCount":2}'::jsonb, now(), + 'DEMO-CLIENT-B', 'WORKER-B-01', 'Production'); + +-- Opération Z (DEMO-CLIENT-B / Production) : retry transitoire worker. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +VALUES + ('55000000-0000-0000-0000-000000000006', now() - interval '9 hours', 'P2', 'Warning', 'OMK-MOB-SYNC-001', 'Omika.App', + NULL, '5e5e5e5e-5000-4000-8000-000000000003', '0c0c0c0c-1000-4000-8000-000000000003', 'fake-actor-003', 1, '1.4.1.0', 'Desktop', NULL, + '[FAKE LOCAL] sync op Z - operation reçue', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics"}'::jsonb, now(), + 'DEMO-CLIENT-B', 'API-B-01', 'Production'), + ('55000000-0000-0000-0000-000000000007', now() - interval '9 hours' + interval '5 seconds', 'P2', 'Warning', 'OMK-WKR-SYNC-002', 'Omika.Worker', + NULL, NULL, '0c0c0c0c-1000-4000-8000-000000000003', NULL, NULL, '1.4.1.0', 'worker', 'SYNC_RETRY', + '[FAKE LOCAL] sync op Z - transient retry', NULL, NULL, 300, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","retryCount":1}'::jsonb, now(), + 'DEMO-CLIENT-B', 'WORKER-B-01', 'Production'); + +-- ===================================================================== +-- 5. SESSIONS PARTAGÉES (SessionId) — pour tester la corrélation du détail. +-- ===================================================================== + +-- Session S1 (DEMO-CLIENT-A / Production). +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +VALUES + ('5e000000-0000-0000-0000-000000000001', now() - interval '2 hours', 'P3', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, '5e5e5e5e-5000-4000-8000-000000000001', NULL, 'fake-actor-001', 1, '1.4.1.0', 'Android', NULL, + '[FAKE LOCAL] session S1 - app started', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics"}'::jsonb, now(), + 'DEMO-CLIENT-A', 'API-A-01', 'Production'), + ('5e000000-0000-0000-0000-000000000002', now() - interval '1 hour 50 minutes', 'P3', 'Info', 'OMK-MOB-DIAG-001', 'Omika.App', + NULL, '5e5e5e5e-5000-4000-8000-000000000001', NULL, 'fake-actor-001', 1, '1.4.1.0', 'Android', NULL, + '[FAKE LOCAL] session S1 - diagnostic init', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics"}'::jsonb, now(), + 'DEMO-CLIENT-A', 'API-A-01', 'Production'), + ('5e000000-0000-0000-0000-000000000003', now() - interval '1 hour 40 minutes', 'P2', 'Warning', 'OMK-MOB-APP-002', 'Omika.App', + NULL, '5e5e5e5e-5000-4000-8000-000000000001', NULL, 'fake-actor-001', 1, '1.4.1.0', 'Android', NULL, + '[FAKE LOCAL] session S1 - app session stopped', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics"}'::jsonb, now(), + 'DEMO-CLIENT-A', 'API-A-01', 'Production'); + +-- Session S2 (DEMO-CLIENT-B / Production). +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +VALUES + ('5f000000-0000-0000-0000-000000000001', now() - interval '30 minutes', 'P3', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, '5f5f5f5f-5000-4000-8000-000000000002', NULL, 'fake-actor-002', 1, '1.3.8.0', 'iOS', NULL, + '[FAKE LOCAL] session S2 - app started', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics"}'::jsonb, now(), + 'DEMO-CLIENT-B', 'API-B-01', 'Production'), + ('5f000000-0000-0000-0000-000000000002', now() - interval '29 minutes', 'P3', 'Info', 'OMK-MOB-DIAG-001', 'Omika.App', + NULL, '5f5f5f5f-5000-4000-8000-000000000002', NULL, 'fake-actor-002', 1, '1.3.8.0', 'iOS', NULL, + '[FAKE LOCAL] session S2 - diagnostic init', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics"}'::jsonb, now(), + 'DEMO-CLIENT-B', 'API-B-01', 'Production'); + +-- ===================================================================== +-- 6. DONNÉES HISTORIQUES SANS CONTEXTE (compatibilité arrière, T13-G §10) +-- client_code / server_instance / environment = NULL. Ces événements +-- restent EXPLICITEMENT synthétiques (source='local-seed', [FAKE LOCAL]) et +-- représentent uniquement le scénario « anciennes données avant migration ». +-- Ils doivent rester VISIBLES sans filtre, et NE PAS être inclus par erreur +-- quand un filtre Client/Serveur/Environnement est appliqué. +-- ===================================================================== +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +VALUES + ('d0000000-0000-0000-0000-000000000001', now() - interval '18 days', 'P2', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-001', 1, '1.0.0.0', 'Android', NULL, + '[FAKE LOCAL] historique sans contexte 1', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics"}'::jsonb, now(), + NULL, NULL, NULL), + ('d0000000-0000-0000-0000-000000000002', now() - interval '22 days', 'P3', 'Info', 'OMK-API-HTTP-001', 'Omika.Api', + NULL, NULL, NULL, NULL, NULL, '1.0.1.0', 'api', NULL, + '[FAKE LOCAL] historique sans contexte 2', NULL, NULL, 120, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics"}'::jsonb, now(), + NULL, NULL, NULL), + ('d0000000-0000-0000-0000-000000000003', now() - interval '26 days', 'P1', 'Error', 'OMK-API-HTTP-003', 'Omika.Api', + NULL, NULL, NULL, NULL, NULL, '1.0.1.0', 'api', 'TIMEOUT', + '[FAKE LOCAL] historique sans contexte 3', 'System.TimeoutException', + E'[FAKE LOCAL]\nSystem.TimeoutException: legacy\n at Omika.Api.Tests.FakeService.Execute()', 2000, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics"}'::jsonb, now(), + NULL, NULL, NULL), + ('d0000000-0000-0000-0000-000000000004', now() - interval '30 days', 'P2', 'Warning', 'OMK-MOB-APP-002', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-002', 1, '1.1.0.0', 'iOS', NULL, + '[FAKE LOCAL] historique sans contexte 4', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics"}'::jsonb, now(), + NULL, NULL, NULL), + ('d0000000-0000-0000-0000-000000000005', now() - interval '35 days', 'P3', 'Debug', 'OMK-MOB-DIAG-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-003', 1, '1.1.0.0', 'Desktop', NULL, + '[FAKE LOCAL] historique sans contexte 5', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics"}'::jsonb, now(), + NULL, NULL, NULL), + ('d0000000-0000-0000-0000-000000000006', now() - interval '40 days', 'P1', 'Error', 'OMK-API-REQ-001', 'Omika.Api', + NULL, NULL, NULL, NULL, NULL, '1.0.0.0', 'api', 'NULL_REF', + '[FAKE LOCAL] historique sans contexte 6', 'System.NullReferenceException', + E'[FAKE LOCAL]\nSystem.NullReferenceException: legacy\n at Omika.Api.Tests.FakeService.Execute()', NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics"}'::jsonb, now(), + NULL, NULL, NULL); + +-- ===================================================================== +-- 7. CAS T17-E — PARC (réattribution de licence, changement OS, changement version). +-- Toutes les lignes : source='local-seed', message '[FAKE LOCAL]'. +-- ===================================================================== + +-- 7.1 Réattribution de licence LIC-REASSIGNED (§58) : +-- DEVICE-A (Samsung / Android 15) ancien → DEVICE-B (Apple / iOS 18) récent. +-- MÊME LicenseNumber sur deux DeviceKey = 2 appareils DISTINCTS, jamais fusionnés. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment, + license_number, device_key, device_key_version, device_manufacturer, + device_model, operating_system, operating_system_version, app_build, + screen_width, screen_height, logical_width, logical_height, display_scale) +VALUES + ('71000000-0000-0000-0000-000000000001', now() - interval '20 days', 'P2', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-001', 1, '1.4.0', 'Android', NULL, + '[FAKE LOCAL] T17-E reassigned device A (old)', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","t17e":"license-reassigned"}'::jsonb, now(), + 'DEMO-CLIENT-A', 'API-A-01', 'Production', + 'LIC-REASSIGNED', 'device-key-reassigned-a', 1, 'Samsung', 'SM-DEMO', 'Android', '15', '1400', + 1080, 2400, 360, 800, 3.0), + ('71000000-0000-0000-0000-000000000002', now() - interval '18 days', 'P2', 'Info', 'OMK-MOB-DIAG-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-001', 1, '1.4.0', 'Android', NULL, + '[FAKE LOCAL] T17-E reassigned device A (old)', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","t17e":"license-reassigned"}'::jsonb, now(), + 'DEMO-CLIENT-A', 'API-A-01', 'Production', + 'LIC-REASSIGNED', 'device-key-reassigned-a', 1, 'Samsung', 'SM-DEMO', 'Android', '15', '1400', + 1080, 2400, 360, 800, 3.0), + ('71000000-0000-0000-0000-000000000003', now() - interval '2 days', 'P2', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-002', 1, '1.4.1', 'iOS', NULL, + '[FAKE LOCAL] T17-E reassigned device B (recent)', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","t17e":"license-reassigned"}'::jsonb, now(), + 'DEMO-CLIENT-A', 'API-A-01', 'Production', + 'LIC-REASSIGNED', 'device-key-reassigned-b', 1, 'Apple', 'iPhoneDemo', 'iOS', '18', '1500', + 1179, 2556, 393, 852, 3.0), + ('71000000-0000-0000-0000-000000000004', now() - interval '1 day', 'P2', 'Info', 'OMK-MOB-DIAG-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-002', 1, '1.4.1', 'iOS', NULL, + '[FAKE LOCAL] T17-E reassigned device B (recent)', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","t17e":"license-reassigned"}'::jsonb, now(), + 'DEMO-CLIENT-A', 'API-A-01', 'Production', + 'LIC-REASSIGNED', 'device-key-reassigned-b', 1, 'Apple', 'iPhoneDemo', 'iOS', '18', '1500', + 1179, 2556, 393, 852, 3.0); + +-- 7.2 Changement d'OS d'un même DeviceKey (§59) : DEVICE-C Android 15 → Android 16. +-- Vue parc actuelle = Android 16 UNIQUEMENT (dernière observation). +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment, + license_number, device_key, device_key_version, device_manufacturer, + device_model, operating_system, operating_system_version, app_build, + screen_width, screen_height, logical_width, logical_height, display_scale) +VALUES + ('72000000-0000-0000-0000-000000000001', now() - interval '12 days', 'P3', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-001', 1, '1.4.1', 'Android', NULL, + '[FAKE LOCAL] T17-E os change device C (old Android 15)', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","t17e":"os-change"}'::jsonb, now(), + 'DEMO-CLIENT-A', 'API-A-01', 'Production', + 'LIC-DEMO-A', 'device-key-os-change-c', 1, 'Google', 'Pixel Demo', 'Android', '15', '1410', + 1080, 2400, 360, 800, 3.0), + ('72000000-0000-0000-0000-000000000002', now() - interval '3 days', 'P3', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-001', 1, '1.4.1', 'Android', NULL, + '[FAKE LOCAL] T17-E os change device C (recent Android 16)', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","t17e":"os-change"}'::jsonb, now(), + 'DEMO-CLIENT-A', 'API-A-01', 'Production', + 'LIC-DEMO-A', 'device-key-os-change-c', 1, 'Google', 'Pixel Demo', 'Android', '16', '1410', + 1080, 2400, 360, 800, 3.0); + +-- 7.3 Changement de version Omika d'un même DeviceKey (§60) : DEVICE-D 1.4.0 → 1.4.1. +-- Vue parc actuelle = 1.4.1 UNIQUEMENT (dernière observation). +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment, + license_number, device_key, device_key_version, device_manufacturer, + device_model, operating_system, operating_system_version, app_build, + screen_width, screen_height, logical_width, logical_height, display_scale) +VALUES + ('73000000-0000-0000-0000-000000000001', now() - interval '15 days', 'P3', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-002', 1, '1.4.0', 'Android', NULL, + '[FAKE LOCAL] T17-E version change device D (old 1.4.0)', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","t17e":"version-change"}'::jsonb, now(), + 'DEMO-CLIENT-B', 'API-B-01', 'Production', + 'LIC-DEMO-B', 'device-key-version-change-d', 1, 'Samsung', 'SM-S928B-DEMO', 'Android', '15', '1400', + 1080, 2400, 360, 800, 3.0), + ('73000000-0000-0000-0000-000000000002', now() - interval '4 days', 'P3', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-002', 1, '1.4.1', 'Android', NULL, + '[FAKE LOCAL] T17-E version change device D (recent 1.4.1)', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","t17e":"version-change"}'::jsonb, now(), + 'DEMO-CLIENT-B', 'API-B-01', 'Production', + 'LIC-DEMO-B', 'device-key-version-change-d', 1, 'Samsung', 'SM-S928B-DEMO', 'Android', '15', '1400', + 1080, 2400, 360, 800, 3.0); + +-- 7.4 Variété multi-appareils (§57) : 4 DeviceKey supplémentaires (fabricants/modèles/OS +-- variés) pour enrichir les répartitions du parc. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment, + license_number, device_key, device_key_version, device_manufacturer, + device_model, operating_system, operating_system_version, app_build, + screen_width, screen_height, logical_width, logical_height, display_scale) +VALUES + ('74000000-0000-0000-0000-000000000001', now() - interval '6 days', 'P3', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-001', 1, '1.4.1', 'Android', NULL, + '[FAKE LOCAL] T17-E fleet device E', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","t17e":"fleet-variety"}'::jsonb, now(), + 'DEMO-CLIENT-A', 'API-A-01', 'Production', + 'LIC-DEMO-A', 'device-key-fleet-e', 1, 'Xiaomi', '23113RKC6G', 'Android', '16', '1400', + 1080, 2400, 393, 873, 2.75), + ('74000000-0000-0000-0000-000000000002', now() - interval '6 days', 'P3', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-001', 1, '1.4.1', 'Android', NULL, + '[FAKE LOCAL] T17-E fleet device F', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","t17e":"fleet-variety"}'::jsonb, now(), + 'DEMO-CLIENT-A', 'API-A-01', 'Production', + 'LIC-DEMO-A', 'device-key-fleet-f', 1, 'Samsung', 'SM-S928B', 'Android', '14', '1300', + 1440, 3120, 411, 914, 3.5), + ('74000000-0000-0000-0000-000000000003', now() - interval '8 days', 'P3', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-002', 1, '1.4.1', 'iOS', NULL, + '[FAKE LOCAL] T17-E fleet device G', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","t17e":"fleet-variety"}'::jsonb, now(), + 'DEMO-CLIENT-B', 'API-B-01', 'Production', + 'LIC-DEMO-B', 'device-key-fleet-g', 1, 'Apple', 'iPhone17,2', 'iOS', '18.7', '1500', + 1179, 2556, 393, 852, 3.0), + ('74000000-0000-0000-0000-000000000004', now() - interval '9 days', 'P3', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-003', 1, '1.4.0', 'iOS', NULL, + '[FAKE LOCAL] T17-E fleet device H', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","t17e":"fleet-variety"}'::jsonb, now(), + 'DEMO-CLIENT-C', 'API-C-DEV-01', 'Development', + 'LIC-DEMO-C', 'device-key-fleet-h', 1, 'Apple', 'iPhone16,2', 'iOS', '17.6', '1400', + 1170, 2532, 390, 844, 3.0); + +-- ===================================================================== +-- 8. CAS T18 — USAGE (ScreenView + FeatureUse). source='local-seed'. +-- EventCode : OMK-MOB-UI-001 (ScreenView), OMK-MOB-UI-002 (FeatureUse). +-- Unité = VUES/UTILISATIONS (événements), jamais la dernière observation. +-- ===================================================================== + +-- 8.1 ScreenView multi-écrans multi-clients (§68/§69) : 180 vues sur 17 écrans, +-- 6 DeviceKey, 3 clients, ~25 sessions. Distribution volontairement inégale +-- (AGENDA dominant, SETTINGS rare) pour valider les classements. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment, + license_number, device_key, device_key_version, device_manufacturer, + device_model, operating_system, operating_system_version, app_build, + screen_width, screen_height, logical_width, logical_height, display_scale, + screen_code, feature_code) +SELECT + ('81000000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - (g % 60) * interval '6 hours', + 'P4', 'Info', 'OMK-MOB-UI-001', 'Navigation', + NULL, ('8a000000-0000-0000-0000-' || lpad((g % 25)::text, 12, '0'))::uuid, NULL, + (ARRAY['fake-actor-001','fake-actor-002','fake-actor-003'])[1 + (g % 3)], 1, + '1.4.1', (ARRAY['Android','Android','iOS'])[1 + (g % 3)], + NULL, '[FAKE LOCAL] T18 ScreenView', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","t18":"screen-view"}'::jsonb, now(), + (ARRAY['DEMO-CLIENT-A','DEMO-CLIENT-B','DEMO-CLIENT-C'])[1 + (g % 3)], + (ARRAY['API-A-01','API-B-01','API-C-DEV-01'])[1 + (g % 3)], + (ARRAY['Production','Production','Development'])[1 + (g % 3)], + (ARRAY['LIC-DEMO-A','LIC-DEMO-B','LIC-DEMO-C'])[1 + (g % 3)], + (ARRAY['device-key-fleet-e','device-key-fleet-f','device-key-fleet-g','device-key-fleet-h','device-key-os-change-c','device-key-version-change-d'])[1 + (g % 6)], 1, + (ARRAY['Xiaomi','Samsung','Apple','Apple','Google','Samsung'])[1 + (g % 6)], + (ARRAY['23113RKC6G','SM-S928B','iPhone17,2','iPhone16,2','Pixel Demo','SM-S928B-DEMO'])[1 + (g % 6)], + (ARRAY['Android','Android','iOS','iOS','Android','Android'])[1 + (g % 6)], + (ARRAY['16','14','18.7','17.6','16','15'])[1 + (g % 6)], + '1400', 1080, 2400, 393, 873, 2.75, + (ARRAY['AGENDA','AGENDA','AGENDA','AGENDA','SITE_DETAIL','SITE_DETAIL','SITE_DETAIL', + 'RENDEZVOUS_DETAIL','RENDEZVOUS_DETAIL','INTERVENTION_SEARCH','INTERVENTION_SEARCH', + 'INTERVENTION_DETAIL','INTERVENTION_DETAIL','RAPPORT','EMAIL','TEAM','SETTINGS'])[1 + (g % 17)], + NULL +FROM generate_series(1, 180) AS g; + +-- 8.2 FeatureUse (§18/§53) : ~60 utilisations sur 3 fonctionnalités. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment, + license_number, device_key, device_key_version, device_manufacturer, + device_model, operating_system, operating_system_version, app_build, + screen_width, screen_height, logical_width, logical_height, display_scale, + screen_code, feature_code) +SELECT + ('82000000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - (g % 45) * interval '8 hours', + 'P4', 'Info', 'OMK-MOB-UI-002', (ARRAY['InterventionsViewModel','RapportChampsViewModel','NouveauEmailViewModel'])[1 + (g % 3)], + NULL, ('8a000000-0000-0000-0000-' || lpad((g % 25)::text, 12, '0'))::uuid, NULL, + (ARRAY['fake-actor-001','fake-actor-002','fake-actor-003'])[1 + (g % 3)], 1, + '1.4.1', (ARRAY['Android','Android','iOS'])[1 + (g % 3)], + NULL, '[FAKE LOCAL] T18 FeatureUse', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","t18":"feature-use"}'::jsonb, now(), + (ARRAY['DEMO-CLIENT-A','DEMO-CLIENT-B','DEMO-CLIENT-C'])[1 + (g % 3)], + (ARRAY['API-A-01','API-B-01','API-C-DEV-01'])[1 + (g % 3)], + (ARRAY['Production','Production','Development'])[1 + (g % 3)], + (ARRAY['LIC-DEMO-A','LIC-DEMO-B','LIC-DEMO-C'])[1 + (g % 3)], + (ARRAY['device-key-fleet-e','device-key-fleet-f','device-key-fleet-g','device-key-fleet-h','device-key-os-change-c','device-key-version-change-d'])[1 + (g % 6)], 1, + (ARRAY['Xiaomi','Samsung','Apple','Apple','Google','Samsung'])[1 + (g % 6)], + (ARRAY['23113RKC6G','SM-S928B','iPhone17,2','iPhone16,2','Pixel Demo','SM-S928B-DEMO'])[1 + (g % 6)], + (ARRAY['Android','Android','iOS','iOS','Android','Android'])[1 + (g % 6)], + (ARRAY['16','14','18.7','17.6','16','15'])[1 + (g % 6)], + '1400', 1080, 2400, 393, 873, 2.75, + (ARRAY['INTERVENTION_SEARCH','RAPPORT','EMAIL'])[1 + (g % 3)], + (ARRAY['INTERVENTION_SEARCH_RUN','REPORT_GENERATE','EMAIL_SEND'])[1 + (g % 3)] +FROM generate_series(1, 60) AS g; + +-- 8.3 Licence réattribuée (§70) : LIC-REASSIGNED sur DEVICE-A (AGENDA, ancien) +-- puis DEVICE-B (SITE_DETAIL, récent). Le filtre licence voit les DEUX usages ; +-- aucun appareil n'est fusionné. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment, + license_number, device_key, device_key_version, device_manufacturer, + device_model, operating_system, operating_system_version, app_build, + screen_width, screen_height, logical_width, logical_height, display_scale, + screen_code, feature_code) +VALUES + ('83000000-0000-0000-0000-000000000001', now() - interval '20 days', 'P4', 'Info', 'OMK-MOB-UI-001', 'Navigation', + NULL, '83000000-0000-0000-0000-0000000000a1', NULL, 'fake-actor-001', 1, '1.4.0', 'Android', NULL, + '[FAKE LOCAL] T18 license reassigned device A (AGENDA old)', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","t18":"license-reassigned"}'::jsonb, now(), + 'DEMO-CLIENT-A', 'API-A-01', 'Production', + 'LIC-REASSIGNED', 'device-key-reassigned-a', 1, 'Samsung', 'SM-DEMO', 'Android', '15', '1400', + 1080, 2400, 360, 800, 3.0, 'AGENDA', NULL), + ('83000000-0000-0000-0000-000000000002', now() - interval '1 day', 'P4', 'Info', 'OMK-MOB-UI-001', 'Navigation', + NULL, '83000000-0000-0000-0000-0000000000b2', NULL, 'fake-actor-002', 1, '1.4.1', 'iOS', NULL, + '[FAKE LOCAL] T18 license reassigned device B (SITE_DETAIL recent)', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics","t18":"license-reassigned"}'::jsonb, now(), + 'DEMO-CLIENT-A', 'API-A-01', 'Production', + 'LIC-REASSIGNED', 'device-key-reassigned-b', 1, 'Apple', 'iPhoneDemo', 'iOS', '18', '1500', + 1179, 2556, 393, 852, 3.0, 'SITE_DETAIL', NULL); + +-- ===================================================================== +-- FIN DU SEED. +-- ===================================================================== +-- VOLUME TOTAL (local-seed) : +-- + 250 volume de fond (80+50+40+20+12+18+20+10) +-- + 46 erreurs (10+6+6+8+8+5+3) +-- + 10 traces (4+3+3) +-- + 7 synchronisation (3+2+2) +-- + 5 sessions (3+2) +-- + 6 historiques NULL +-- + 12 T17-E parc (4 réattribution + 2 changement OS + 2 changement version + 4 flotte) +-- + 242 T18 usage (180 ScreenView + 60 FeatureUse + 2 licence réattribuée) +-- = 578 événements. +-- +-- Requêtes de contrôle (à exécuter séparément, cf. rapport §46) : +-- SELECT count(*) FROM diagnostic_event WHERE source = 'local-seed'; +-- SELECT client_code, count(*) FROM diagnostic_event WHERE source = 'local-seed' GROUP BY client_code ORDER BY client_code NULLS LAST; +-- SELECT server_instance, count(*) FROM diagnostic_event WHERE source = 'local-seed' GROUP BY server_instance ORDER BY server_instance NULLS LAST; +-- SELECT environment, count(*) FROM diagnostic_event WHERE source = 'local-seed' GROUP BY environment ORDER BY environment NULLS LAST; +-- SELECT count(*) FROM diagnostic_event WHERE source = 'local-seed' AND client_code IS NULL AND server_instance IS NULL AND environment IS NULL; +-- SELECT operation_id, count(DISTINCT component) FROM diagnostic_event WHERE source = 'local-seed' AND operation_id IS NOT NULL GROUP BY operation_id HAVING count(DISTINCT component) > 1; +-- SELECT event_code, error_code, exception_type, component, count(*) FROM diagnostic_event WHERE source = 'local-seed' AND lower(level) IN ('error','critical') GROUP BY 1,2,3,4 ORDER BY 5 DESC; +-- SELECT min(timestamp_utc), max(timestamp_utc) FROM diagnostic_event WHERE source = 'local-seed'; +-- ===================================================================== diff --git a/scripts/dev/seed_diagnostics_preprod.sql b/scripts/dev/seed_diagnostics_preprod.sql new file mode 100644 index 0000000..f631432 --- /dev/null +++ b/scripts/dev/seed_diagnostics_preprod.sql @@ -0,0 +1,949 @@ +-- ===================================================================== +-- Omika Diagnostic Center — SEED PRÉPROD LOCAL (100 % FAKE DATA) +-- seed_diagnostics_preprod.sql — T21 +-- ===================================================================== +-- ⚠️ RÉSERVÉ À LA PRÉPROD LOCALE (base omika_diagnostics_preprod). +-- ⚠️ NE JAMAIS EXÉCUTER EN PRODUCTION. +-- ⚠️ Données 100 % SYNTHÉTIQUES : source='local-seed', message préfixé +-- '[FAKE LOCAL]'. Aucune donnée réelle, aucune donnée personnelle, +-- aucun token, aucun mot de passe, aucun CodeClient réel, aucun nom +-- de société cliente réelle, aucun nom de machine réel. +-- ⚠️ Ré-exécutable : DELETE source='local-seed' puis réinsertion. +-- Ne touche JAMAIS aux lignes réelles (source <> 'local-seed'). +-- ⚠️ Ne crée AUCUN diagnostics_clients : les clients PREPROD-CLIENT-A/B +-- sont créés via l'interface /Clients (clé SHA-256 générée Web). +-- ===================================================================== + +-- Garde-fou : base préprod uniquement. +DO $$ +BEGIN + IF current_database() <> 'omika_diagnostics_preprod' THEN + RAISE EXCEPTION 'REFUS : seed préprod uniquement sur omika_diagnostics_preprod (base détectée : %).', current_database(); + END IF; +END +$$; + +-- Nettoyage idempotent du seed précédent (source = 'local-seed' uniquement). +DELETE FROM diagnostic_event WHERE source = 'local-seed'; + +-- ===================================================================== +-- CONVENTIONS CLIENTS (T21 §7) +-- FAKE-CLIENT-A (fort volume) : API-A-01, WORKER-A-01 (Production) +-- FAKE-CLIENT-B (moyen) : API-B-01, WORKER-B-01 (Production), +-- API-B-STG-01 (Staging) +-- FAKE-CLIENT-C (faible) : API-C-DEV-01 (Development) +-- ===================================================================== + +-- ===================================================================== +-- 1. VOLUME DE FOND MULTI-CLIENTS (HTTP API + Worker) +-- ===================================================================== + +-- 1.1 FAKE-CLIENT-A / API-A-01 / Production — 100 événements HTTP API. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('2a000000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - CASE (g % 4) + WHEN 0 THEN (random() * interval '6 hours') + WHEN 1 THEN interval '6 hours' + (random() * interval '18 hours') + WHEN 2 THEN interval '1 day' + (random() * interval '6 days') + ELSE interval '7 days' + (random() * interval '23 days') + END, + (ARRAY['P2','P3','P2','P1','P3'])[1 + (g % 5)], + (ARRAY['Info','Info','Debug','Warning','Info'])[1 + (g % 5)], + (ARRAY['OMK-API-HTTP-001','OMK-API-HTTP-002'])[1 + (g % 2)], + 'Omika.Api', + NULL, NULL, NULL, + (ARRAY['fake-actor-001','fake-actor-002',NULL])[1 + (g % 3)], + 1, + (ARRAY['1.0.0','1.1.0'])[1 + (g % 2)], + 'api', + NULL, + '[FAKE LOCAL] api FAKE-CLIENT-A production ' || g, + NULL, NULL, + (ARRAY[25,150,350,1200,NULL,80])[1 + (g % 6)]::bigint, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"volume"}'::jsonb, + now(), + 'FAKE-CLIENT-A', 'API-A-01', 'Production' +FROM generate_series(1, 100) AS g; + +-- 1.2 FAKE-CLIENT-A / WORKER-A-01 / Production — 60 traitements Worker réussis. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('2b000000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - CASE (g % 4) + WHEN 0 THEN (random() * interval '6 hours') + WHEN 1 THEN interval '6 hours' + (random() * interval '18 hours') + WHEN 2 THEN interval '1 day' + (random() * interval '6 days') + ELSE interval '7 days' + (random() * interval '23 days') + END, + 'P3', + (ARRAY['Info','Debug','Info'])[1 + (g % 3)], + 'OMK-WKR-SYNC-001', + 'Omika.Worker', + NULL, NULL, NULL, + NULL, NULL, + (ARRAY['1.0.0','1.1.0'])[1 + (g % 2)], + 'worker', + NULL, + '[FAKE LOCAL] worker FAKE-CLIENT-A production ' || g, + NULL, NULL, + (ARRAY[300,450,600,900])[1 + (g % 4)]::bigint, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"volume","retryCount":0}'::jsonb, + now(), + 'FAKE-CLIENT-A', 'WORKER-A-01', 'Production' +FROM generate_series(1, 60) AS g; + +-- 1.3 FAKE-CLIENT-B / API-B-01 / Production — 50 événements HTTP API. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('2c000000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - CASE (g % 4) + WHEN 0 THEN (random() * interval '6 hours') + WHEN 1 THEN interval '6 hours' + (random() * interval '18 hours') + WHEN 2 THEN interval '1 day' + (random() * interval '6 days') + ELSE interval '7 days' + (random() * interval '23 days') + END, + (ARRAY['P2','P3','P2','P1','P3'])[1 + (g % 5)], + (ARRAY['Info','Info','Debug','Warning','Info'])[1 + (g % 5)], + (ARRAY['OMK-API-HTTP-001','OMK-API-HTTP-002'])[1 + (g % 2)], + 'Omika.Api', + NULL, NULL, NULL, + (ARRAY['fake-actor-002','fake-actor-003',NULL])[1 + (g % 3)], + 1, + (ARRAY['1.0.0','1.0.1'])[1 + (g % 2)], + 'api', + NULL, + '[FAKE LOCAL] api FAKE-CLIENT-B production ' || g, + NULL, NULL, + (ARRAY[30,140,360,1100,NULL,90])[1 + (g % 6)]::bigint, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"volume"}'::jsonb, + now(), + 'FAKE-CLIENT-B', 'API-B-01', 'Production' +FROM generate_series(1, 50) AS g; + +-- 1.4 FAKE-CLIENT-B / WORKER-B-01 / Production — 25 traitements Worker réussis. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('2d000000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - CASE (g % 4) + WHEN 0 THEN (random() * interval '6 hours') + WHEN 1 THEN interval '6 hours' + (random() * interval '18 hours') + WHEN 2 THEN interval '1 day' + (random() * interval '6 days') + ELSE interval '7 days' + (random() * interval '23 days') + END, + 'P3', + (ARRAY['Info','Debug','Info'])[1 + (g % 3)], + 'OMK-WKR-SYNC-001', + 'Omika.Worker', + NULL, NULL, NULL, + NULL, NULL, + (ARRAY['1.0.0','1.0.1'])[1 + (g % 2)], + 'worker', + NULL, + '[FAKE LOCAL] worker FAKE-CLIENT-B production ' || g, + NULL, NULL, + (ARRAY[280,420,580,850])[1 + (g % 4)]::bigint, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"volume","retryCount":0}'::jsonb, + now(), + 'FAKE-CLIENT-B', 'WORKER-B-01', 'Production' +FROM generate_series(1, 25) AS g; + +-- 1.5 FAKE-CLIENT-B / API-B-STG-01 / Staging — 15 événements HTTP API. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('2e000000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - CASE (g % 4) + WHEN 0 THEN (random() * interval '6 hours') + WHEN 1 THEN interval '6 hours' + (random() * interval '18 hours') + WHEN 2 THEN interval '1 day' + (random() * interval '6 days') + ELSE interval '7 days' + (random() * interval '23 days') + END, + (ARRAY['P2','P3','P2'])[1 + (g % 3)], + (ARRAY['Info','Debug','Info'])[1 + (g % 3)], + (ARRAY['OMK-API-HTTP-001','OMK-API-HTTP-002'])[1 + (g % 2)], + 'Omika.Api', + NULL, NULL, NULL, + 'fake-actor-003', 1, + (ARRAY['1.0.1','1.1.0'])[1 + (g % 2)], + 'api', + NULL, + '[FAKE LOCAL] api FAKE-CLIENT-B staging ' || g, + NULL, NULL, + (ARRAY[40,150,380])[1 + (g % 3)]::bigint, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"volume"}'::jsonb, + now(), + 'FAKE-CLIENT-B', 'API-B-STG-01', 'Staging' +FROM generate_series(1, 15) AS g; + +-- 1.6 FAKE-CLIENT-C / API-C-DEV-01 / Development — 20 événements HTTP API. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('2f000000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - CASE (g % 4) + WHEN 0 THEN (random() * interval '6 hours') + WHEN 1 THEN interval '6 hours' + (random() * interval '18 hours') + WHEN 2 THEN interval '1 day' + (random() * interval '6 days') + ELSE interval '7 days' + (random() * interval '23 days') + END, + 'P3', + (ARRAY['Info','Debug','Warning','Info'])[1 + (g % 4)], + (ARRAY['OMK-API-HTTP-001','OMK-API-HTTP-002'])[1 + (g % 2)], + 'Omika.Api', + NULL, NULL, NULL, + NULL, NULL, + '1.1.0', + 'api', + NULL, + '[FAKE LOCAL] api FAKE-CLIENT-C development ' || g, + NULL, NULL, + (ARRAY[35,160,400])[1 + (g % 3)]::bigint, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"volume"}'::jsonb, + now(), + 'FAKE-CLIENT-C', 'API-C-DEV-01', 'Development' +FROM generate_series(1, 20) AS g; + +-- ===================================================================== +-- 2. ERREURS FAKE (Info/Warning/Error/Critical + codes répétés, §15) +-- Normalisation component/error_code testée par variations casse/espaces. +-- ===================================================================== + +-- 2.1 TIMEOUT — 15 occurrences réparties A/B (variations de casse/espaces). +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('2e100000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - (random() * interval '7 days'), + 'P1', + (ARRAY['Error','error'])[1 + (g % 2)], + 'OMK-API-HTTP-003', + (ARRAY['Omika.Api',' omika.api ','OMIKA.API'])[1 + (g % 3)], + NULL, NULL, NULL, + 'fake-actor-001', 1, + (ARRAY['1.0.0','1.1.0'])[1 + (g % 2)], + 'api', + (ARRAY['TIMEOUT',' timeout ','timeout'])[1 + (g % 3)], + '[FAKE LOCAL] Timeout simulation ' || g, + (ARRAY['System.TimeoutException','system.timeoutexception'])[1 + (g % 2)], + E'[FAKE LOCAL]\nSystem.TimeoutException: operation timed out\n at Omika.Api.Tests.FakeService.Execute()', + (ARRAY[1500,2500,3000,5000])[1 + (g % 4)]::bigint, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"errors","method":"GET","endpoint":"/api/v1/fake","statusCode":504}'::jsonb, + now(), + (ARRAY['FAKE-CLIENT-A','FAKE-CLIENT-B'])[1 + (g % 2)], + (ARRAY['API-A-01','API-B-01'])[1 + (g % 2)], + 'Production' +FROM generate_series(1, 15) AS g; + +-- 2.2 NULL_REF — 10 occurrences FAKE-CLIENT-A. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('2e200000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - (random() * interval '14 days'), + 'P1', + 'Error', + 'OMK-API-REQ-001', + 'Omika.Api', + NULL, NULL, NULL, + 'fake-actor-001', 1, + (ARRAY['1.0.0','1.1.0'])[1 + (g % 2)], + 'api', + 'NULL_REF', + '[FAKE LOCAL] NullReferenceException simulation ' || g, + 'System.NullReferenceException', + E'[FAKE LOCAL]\nSystem.NullReferenceException: Object reference not set\n at Omika.Api.Tests.FakeService.Execute()', + NULL, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"errors","endpoint":"/api/v1/fake"}'::jsonb, + now(), + 'FAKE-CLIENT-A', 'API-A-01', 'Production' +FROM generate_series(1, 10) AS g; + +-- 2.3 HTTP_500 — 12 occurrences FAKE-CLIENT-B (Production + Staging). +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('2e300000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - (random() * interval '30 days'), + 'P1', + 'Error', + 'OMK-API-HTTP-003', + 'Omika.Api', + NULL, NULL, NULL, + 'fake-actor-002', 1, + (ARRAY['1.0.0','1.0.1'])[1 + (g % 2)], + 'api', + 'HTTP_500', + '[FAKE LOCAL] HttpRequestException simulation ' || g, + 'System.Net.Http.HttpRequestException', + E'[FAKE LOCAL]\nSystem.Net.Http.HttpRequestException: 500 Internal Server Error\n at Omika.Api.Tests.FakeService.Send()', + (ARRAY[800,1200,2000])[1 + (g % 3)]::bigint, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"errors","statusCode":500}'::jsonb, + now(), + 'FAKE-CLIENT-B', + (ARRAY['API-B-01','API-B-STG-01'])[1 + (g % 2)], + (ARRAY['Production','Staging'])[1 + (g % 2)] +FROM generate_series(1, 12) AS g; + +-- 2.4 SYNC_FAILED — 8 occurrences (échec de synchronisation). +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('2e400000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - (random() * interval '10 days'), + 'P1', + 'Error', + 'OMK-WKR-SYNC-002', + 'Omika.Worker', + NULL, NULL, NULL, + NULL, NULL, + (ARRAY['1.0.0','1.0.1'])[1 + (g % 2)], + 'worker', + 'SYNC_FAILED', + '[FAKE LOCAL] sync failure simulation ' || g, + 'System.InvalidOperationException', + E'[FAKE LOCAL]\nSystem.InvalidOperationException: sync rejected\n at Omika.Worker.Tests.FakeHandler.Apply()', + (ARRAY[500,600,900])[1 + (g % 3)]::bigint, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"errors","retryCount":2}'::jsonb, + now(), + 'FAKE-CLIENT-B', 'WORKER-B-01', 'Production' +FROM generate_series(1, 8) AS g; + +-- 2.5 SYNC_RETRY — 8 occurrences (retry transitoire). +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('2e500000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - (random() * interval '8 days'), + 'P2', + 'Warning', + 'OMK-WKR-SYNC-002', + 'Omika.Worker', + NULL, NULL, NULL, + NULL, NULL, + (ARRAY['1.0.0','1.1.0'])[1 + (g % 2)], + 'worker', + 'SYNC_RETRY', + '[FAKE LOCAL] sync retry simulation ' || g, + NULL, NULL, + (ARRAY[200,300,400])[1 + (g % 3)]::bigint, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"errors","retryCount":1}'::jsonb, + now(), + 'FAKE-CLIENT-A', 'WORKER-A-01', 'Production' +FROM generate_series(1, 8) AS g; + +-- 2.6 CRASH critique — 4 occurrences FAKE-CLIENT-C (Critical). +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +SELECT + ('2e600000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - (random() * interval '2 days'), + 'P0', + 'Critical', + 'OMK-API-HTTP-003', + 'Omika.Api', + NULL, NULL, NULL, + NULL, NULL, + '1.1.0', + 'api', + 'CRASH', + '[FAKE LOCAL] Critical crash simulation ' || g, + 'System.OutOfMemoryException', + E'[FAKE LOCAL]\nSystem.OutOfMemoryException: insufficient memory\n at Omika.Api.Tests.FakeService.Allocate()', + NULL, + 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"errors"}'::jsonb, + now(), + 'FAKE-CLIENT-C', 'API-C-DEV-01', 'Development' +FROM generate_series(1, 4) AS g; + +-- ===================================================================== +-- 3. TRACES SYNTHÉTIQUES (TraceId partagé) — pour /Traces (§12) +-- ===================================================================== + +-- Trace T1 : FAKE-CLIENT-A / API-A-01 — mobile → API → réponse (4 événements). +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +VALUES + ('3a000000-0000-0000-0000-000000000001', now() - interval '35 minutes', 'P2', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + 'aaaaaaaa-1111-4111-8111-111111111111', NULL, NULL, 'fake-actor-001', 1, '1.1.0', 'Android', NULL, + '[FAKE LOCAL] trace T1 - mobile started', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"trace"}'::jsonb, now(), + 'FAKE-CLIENT-A', 'API-A-01', 'Production'), + ('3a000000-0000-0000-0000-000000000002', now() - interval '34 minutes', 'P2', 'Info', 'OMK-API-HTTP-001', 'Omika.Api', + 'aaaaaaaa-1111-4111-8111-111111111111', NULL, NULL, NULL, NULL, '1.1.0', 'api', NULL, + '[FAKE LOCAL] trace T1 - api request', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"trace","method":"POST","endpoint":"/api/v1/sync"}'::jsonb, now(), + 'FAKE-CLIENT-A', 'API-A-01', 'Production'), + ('3a000000-0000-0000-0000-000000000003', now() - interval '33 minutes', 'P2', 'Info', 'OMK-API-HTTP-002', 'Omika.Api', + 'aaaaaaaa-1111-4111-8111-111111111111', NULL, NULL, NULL, NULL, '1.1.0', 'api', NULL, + '[FAKE LOCAL] trace T1 - api processing', NULL, NULL, 350, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"trace","statusCode":200}'::jsonb, now(), + 'FAKE-CLIENT-A', 'API-A-01', 'Production'), + ('3a000000-0000-0000-0000-000000000004', now() - interval '32 minutes', 'P2', 'Info', 'OMK-API-HTTP-002', 'Omika.Api', + 'aaaaaaaa-1111-4111-8111-111111111111', NULL, NULL, NULL, NULL, '1.1.0', 'api', NULL, + '[FAKE LOCAL] trace T1 - api response', NULL, NULL, 420, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"trace","statusCode":200}'::jsonb, now(), + 'FAKE-CLIENT-A', 'API-A-01', 'Production'); + +-- Trace T2 : FAKE-CLIENT-B / API-B-01 — API → traitement → erreur (3 événements). +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +VALUES + ('3b000000-0000-0000-0000-000000000001', now() - interval '6 hours', 'P2', 'Info', 'OMK-API-HTTP-001', 'Omika.Api', + 'bbbbbbbb-2222-4222-8222-222222222222', NULL, NULL, NULL, NULL, '1.0.1', 'api', NULL, + '[FAKE LOCAL] trace T2 - api request', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"trace","method":"GET","endpoint":"/api/v1/fake"}'::jsonb, now(), + 'FAKE-CLIENT-B', 'API-B-01', 'Production'), + ('3b000000-0000-0000-0000-000000000003', now() - interval '6 hours' + interval '25 ms', 'P2', 'Info', 'OMK-API-HTTP-002', 'Omika.Api', + 'bbbbbbbb-2222-4222-8222-222222222222', NULL, NULL, NULL, NULL, '1.0.1', 'api', NULL, + '[FAKE LOCAL] trace T2 - api processing', NULL, NULL, 300, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"trace","statusCode":200}'::jsonb, now(), + 'FAKE-CLIENT-B', 'API-B-01', 'Production'), + ('3b000000-0000-0000-0000-000000000002', now() - interval '6 hours' + interval '50 ms', 'P1', 'Error', 'OMK-API-HTTP-003', 'Omika.Api', + 'bbbbbbbb-2222-4222-8222-222222222222', NULL, NULL, NULL, NULL, '1.0.1', 'api', 'HTTP_500', + '[FAKE LOCAL] trace T2 - traitement en erreur', 'System.Net.Http.HttpRequestException', + E'[FAKE LOCAL]\nSystem.Net.Http.HttpRequestException: 500\n at Omika.Api.Tests.FakeService.Send()', 1200, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"trace","statusCode":500}'::jsonb, now(), + 'FAKE-CLIENT-B', 'API-B-01', 'Production'); + +-- Trace T3 : FAKE-CLIENT-C / API-C-DEV-01 / Development — succès rapide (3 événements). +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +VALUES + ('3c000000-0000-0000-0000-000000000001', now() - interval '12 hours', 'P3', 'Info', 'OMK-API-HTTP-001', 'Omika.Api', + 'cccccccc-3333-4333-8333-333333333333', NULL, NULL, NULL, NULL, '1.1.0', 'api', NULL, + '[FAKE LOCAL] trace T3 - api request', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"trace"}'::jsonb, now(), + 'FAKE-CLIENT-C', 'API-C-DEV-01', 'Development'), + ('3c000000-0000-0000-0000-000000000002', now() - interval '12 hours' + interval '30 ms', 'P3', 'Info', 'OMK-API-HTTP-002', 'Omika.Api', + 'cccccccc-3333-4333-8333-333333333333', NULL, NULL, NULL, NULL, '1.1.0', 'api', NULL, + '[FAKE LOCAL] trace T3 - api processing', NULL, NULL, 80, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"trace","statusCode":200}'::jsonb, now(), + 'FAKE-CLIENT-C', 'API-C-DEV-01', 'Development'), + ('3c000000-0000-0000-0000-000000000003', now() - interval '12 hours' + interval '45 ms', 'P3', 'Info', 'OMK-API-HTTP-002', 'Omika.Api', + 'cccccccc-3333-4333-8333-333333333333', NULL, NULL, NULL, NULL, '1.1.0', 'api', NULL, + '[FAKE LOCAL] trace T3 - api response', NULL, NULL, 90, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"trace","statusCode":200}'::jsonb, now(), + 'FAKE-CLIENT-C', 'API-C-DEV-01', 'Development'); + +-- ===================================================================== +-- 4. SYNCHRONISATION SYNTHÉTIQUE (OperationId partagé) — succès/retry/échec (§25) +-- EventCodes exacts : OMK-MOB-SYNC-001 / OMK-WKR-SYNC-001 / OMK-WKR-SYNC-002 +-- ===================================================================== + +-- Opération OP-SUCCESS (FAKE-CLIENT-A / Production) : succès mobile → worker. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +VALUES + ('45000000-0000-0000-0000-000000000001', now() - interval '1 hour', 'P2', 'Info', 'OMK-MOB-SYNC-001', 'Omika.App', + NULL, '5e5e5e5e-5000-4000-8000-0000000000a1', '0a0a0a0a-1000-4000-8000-000000000001', 'fake-actor-001', 1, '1.1.0', 'Android', NULL, + '[FAKE LOCAL] sync OP-SUCCESS - operation reçue', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"sync"}'::jsonb, now(), + 'FAKE-CLIENT-A', 'API-A-01', 'Production'), + ('45000000-0000-0000-0000-000000000002', now() - interval '59 minutes', 'P3', 'Info', 'OMK-WKR-SYNC-001', 'Omika.Worker', + NULL, NULL, '0a0a0a0a-1000-4000-8000-000000000001', NULL, NULL, '1.1.0', 'worker', NULL, + '[FAKE LOCAL] sync OP-SUCCESS - worker processing', NULL, NULL, 450, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"sync","retryCount":0}'::jsonb, now(), + 'FAKE-CLIENT-A', 'WORKER-A-01', 'Production'), + ('45000000-0000-0000-0000-000000000003', now() - interval '58 minutes', 'P3', 'Info', 'OMK-WKR-SYNC-001', 'Omika.Worker', + NULL, NULL, '0a0a0a0a-1000-4000-8000-000000000001', NULL, NULL, '1.1.0', 'worker', NULL, + '[FAKE LOCAL] sync OP-SUCCESS - worker success', NULL, NULL, 480, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"sync","retryCount":0}'::jsonb, now(), + 'FAKE-CLIENT-A', 'WORKER-A-01', 'Production'); + +-- Opération OP-FAIL (FAKE-CLIENT-B / Production) : échec définitif worker. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +VALUES + ('45000000-0000-0000-0000-000000000004', now() - interval '3 hours', 'P1', 'Info', 'OMK-MOB-SYNC-001', 'Omika.App', + NULL, '5e5e5e5e-5000-4000-8000-0000000000a2', '0b0b0b0b-1000-4000-8000-000000000002', 'fake-actor-002', 1, '1.0.0', 'iOS', NULL, + '[FAKE LOCAL] sync OP-FAIL - operation reçue', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"sync"}'::jsonb, now(), + 'FAKE-CLIENT-B', 'API-B-01', 'Production'), + ('45000000-0000-0000-0000-000000000005', now() - interval '3 hours' + interval '10 seconds', 'P1', 'Error', 'OMK-WKR-SYNC-002', 'Omika.Worker', + NULL, NULL, '0b0b0b0b-1000-4000-8000-000000000002', NULL, NULL, '1.0.0', 'worker', 'SYNC_FAILED', + '[FAKE LOCAL] sync OP-FAIL - worker failure', 'System.InvalidOperationException', + E'[FAKE LOCAL]\nSystem.InvalidOperationException: sync rejected\n at Omika.Worker.Tests.FakeHandler.Apply()', 600, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"sync","retryCount":2}'::jsonb, now(), + 'FAKE-CLIENT-B', 'WORKER-B-01', 'Production'); + +-- Opération OP-RETRY (FAKE-CLIENT-B / Production) : retry transitoire worker. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +VALUES + ('45000000-0000-0000-0000-000000000006', now() - interval '9 hours', 'P2', 'Warning', 'OMK-MOB-SYNC-001', 'Omika.App', + NULL, '5e5e5e5e-5000-4000-8000-0000000000a3', '0c0c0c0c-1000-4000-8000-000000000003', 'fake-actor-003', 1, '1.1.0', 'Desktop', NULL, + '[FAKE LOCAL] sync OP-RETRY - operation reçue', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"sync"}'::jsonb, now(), + 'FAKE-CLIENT-B', 'API-B-01', 'Production'), + ('45000000-0000-0000-0000-000000000007', now() - interval '9 hours' + interval '5 seconds', 'P2', 'Warning', 'OMK-WKR-SYNC-002', 'Omika.Worker', + NULL, NULL, '0c0c0c0c-1000-4000-8000-000000000003', NULL, NULL, '1.1.0', 'worker', 'SYNC_RETRY', + '[FAKE LOCAL] sync OP-RETRY - transient retry', NULL, NULL, 300, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"sync","retryCount":1}'::jsonb, now(), + 'FAKE-CLIENT-B', 'WORKER-B-01', 'Production'); + +-- ===================================================================== +-- 5. SESSIONS PARTAGÉES (SessionId) — corrélation du détail. +-- ===================================================================== + +-- Session S1 (FAKE-CLIENT-A / Production). +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +VALUES + ('5a000000-0000-0000-0000-000000000001', now() - interval '2 hours', 'P3', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, '5e5e5e5e-5000-4000-8000-0000000000b1', NULL, 'fake-actor-001', 1, '1.1.0', 'Android', NULL, + '[FAKE LOCAL] session S1 - app started', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"session"}'::jsonb, now(), + 'FAKE-CLIENT-A', 'API-A-01', 'Production'), + ('5a000000-0000-0000-0000-000000000002', now() - interval '1 hour 50 minutes', 'P3', 'Info', 'OMK-MOB-DIAG-001', 'Omika.App', + NULL, '5e5e5e5e-5000-4000-8000-0000000000b1', NULL, 'fake-actor-001', 1, '1.1.0', 'Android', NULL, + '[FAKE LOCAL] session S1 - diagnostic init', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"session"}'::jsonb, now(), + 'FAKE-CLIENT-A', 'API-A-01', 'Production'), + ('5a000000-0000-0000-0000-000000000003', now() - interval '1 hour 40 minutes', 'P2', 'Warning', 'OMK-MOB-APP-002', 'Omika.App', + NULL, '5e5e5e5e-5000-4000-8000-0000000000b1', NULL, 'fake-actor-001', 1, '1.1.0', 'Android', NULL, + '[FAKE LOCAL] session S1 - app session stopped', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"session"}'::jsonb, now(), + 'FAKE-CLIENT-A', 'API-A-01', 'Production'); + +-- Session S2 (FAKE-CLIENT-B / Production). +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +VALUES + ('5b000000-0000-0000-0000-000000000001', now() - interval '30 minutes', 'P3', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, '5f5f5f5f-5000-4000-8000-0000000000b2', NULL, 'fake-actor-002', 1, '1.0.0', 'iOS', NULL, + '[FAKE LOCAL] session S2 - app started', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"session"}'::jsonb, now(), + 'FAKE-CLIENT-B', 'API-B-01', 'Production'), + ('5b000000-0000-0000-0000-000000000002', now() - interval '29 minutes', 'P3', 'Info', 'OMK-MOB-DIAG-001', 'Omika.App', + NULL, '5f5f5f5f-5000-4000-8000-0000000000b2', NULL, 'fake-actor-002', 1, '1.0.0', 'iOS', NULL, + '[FAKE LOCAL] session S2 - diagnostic init', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"session"}'::jsonb, now(), + 'FAKE-CLIENT-B', 'API-B-01', 'Production'); + +-- ===================================================================== +-- 6. SCREENVIEW (usage, §13) — 250 vues pondérées sur 12 écrans du catalogue. +-- EventCode OMK-MOB-UI-001. AGENDA dominant, SETTINGS rare. +-- ===================================================================== +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment, + license_number, device_key, device_key_version, device_manufacturer, + device_model, operating_system, operating_system_version, app_build, + screen_width, screen_height, logical_width, logical_height, display_scale, + screen_code, feature_code) +SELECT + ('61000000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - (g % 60) * interval '5 hours', + 'P4', 'Info', 'OMK-MOB-UI-001', 'Navigation', + NULL, ('6a000000-0000-0000-0000-' || lpad((g % 30)::text, 12, '0'))::uuid, NULL, + (ARRAY['fake-actor-001','fake-actor-002','fake-actor-003'])[1 + (g % 3)], 1, + (ARRAY['1.0.0','1.0.1','1.1.0'])[1 + (g % 3)], + (ARRAY['Android','Android','iOS','Desktop'])[1 + (g % 4)], + NULL, '[FAKE LOCAL] ScreenView', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"screen-view"}'::jsonb, now(), + (ARRAY['FAKE-CLIENT-A','FAKE-CLIENT-B','FAKE-CLIENT-C'])[1 + (g % 3)], + (ARRAY['API-A-01','API-B-01','API-C-DEV-01'])[1 + (g % 3)], + (ARRAY['Production','Production','Development'])[1 + (g % 3)], + (ARRAY['FAKE-LIC-C','FAKE-LIC-D','FAKE-LIC-E','FAKE-LIC-DESKTOP-A','FAKE-LIC-DESKTOP-B','FAKE-LIC-F'])[1 + (g % 6)], + (ARRAY['devk-android-google-c','devk-ios-apple-d','devk-ios-apple-e','devk-desktop-windows-f','devk-desktop-windows-g','devk-android-extra-h'])[1 + (g % 6)], 1, + (ARRAY['Google','Apple','Apple','Microsoft','Dell','OnePlus'])[1 + (g % 6)], + (ARRAY['Pixel 8','iPhone 15 Pro','iPhone 16 Pro Max','Surface Pro 9','XPS 15','OnePlus 12'])[1 + (g % 6)], + (ARRAY['Android','iOS','iOS','Windows','Windows','Android'])[1 + (g % 6)], + (ARRAY['14','17.6','18.7','11','10','14'])[1 + (g % 6)], + (ARRAY['1','2','3','4','5','6'])[1 + (g % 6)], + 1080, 2400, 393, 873, 2.75, + (CASE + WHEN g <= 40 THEN 'AGENDA' + WHEN g <= 70 THEN 'SITE_DETAIL' + WHEN g <= 100 THEN 'RENDEZVOUS_DETAIL' + WHEN g <= 130 THEN 'INTERVENTION_SEARCH' + WHEN g <= 160 THEN 'INTERVENTION_DETAIL' + WHEN g <= 180 THEN 'RAPPORT' + WHEN g <= 195 THEN 'EMAIL' + WHEN g <= 210 THEN 'TEAM' + WHEN g <= 220 THEN 'SETTINGS' + WHEN g <= 230 THEN 'DOSSIER_LIST' + WHEN g <= 240 THEN 'CLIENT_LIST' + ELSE 'SITE_LIST' + END), + NULL +FROM generate_series(1, 250) AS g; + +-- ===================================================================== +-- 7. FEATUREUSE (usage, §14) — 120 utilisations, fréquences DIFFÉRENTES. +-- INTERVENTION_SEARCH_RUN (60) > REPORT_GENERATE (36) > EMAIL_SEND (24). +-- EventCode OMK-MOB-UI-002. +-- ===================================================================== +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment, + license_number, device_key, device_key_version, device_manufacturer, + device_model, operating_system, operating_system_version, app_build, + screen_width, screen_height, logical_width, logical_height, display_scale, + screen_code, feature_code) +SELECT + ('62000000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid, + now() - (g % 50) * interval '4 hours', + 'P4', 'Info', 'OMK-MOB-UI-002', + (CASE WHEN g <= 60 THEN 'InterventionsViewModel' + WHEN g <= 96 THEN 'RapportChampsViewModel' + ELSE 'NouveauEmailViewModel' END), + NULL, ('6a000000-0000-0000-0000-' || lpad((g % 30)::text, 12, '0'))::uuid, NULL, + (ARRAY['fake-actor-001','fake-actor-002','fake-actor-003'])[1 + (g % 3)], 1, + (ARRAY['1.0.0','1.0.1','1.1.0'])[1 + (g % 3)], + (ARRAY['Android','Android','iOS','Desktop'])[1 + (g % 4)], + NULL, '[FAKE LOCAL] FeatureUse', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"feature-use"}'::jsonb, now(), + (ARRAY['FAKE-CLIENT-A','FAKE-CLIENT-B','FAKE-CLIENT-C'])[1 + (g % 3)], + (ARRAY['API-A-01','API-B-01','API-C-DEV-01'])[1 + (g % 3)], + (ARRAY['Production','Production','Development'])[1 + (g % 3)], + (ARRAY['FAKE-LIC-C','FAKE-LIC-D','FAKE-LIC-E','FAKE-LIC-DESKTOP-A','FAKE-LIC-DESKTOP-B','FAKE-LIC-F'])[1 + (g % 6)], + (ARRAY['devk-android-google-c','devk-ios-apple-d','devk-ios-apple-e','devk-desktop-windows-f','devk-desktop-windows-g','devk-android-extra-h'])[1 + (g % 6)], 1, + (ARRAY['Google','Apple','Apple','Microsoft','Dell','OnePlus'])[1 + (g % 6)], + (ARRAY['Pixel 8','iPhone 15 Pro','iPhone 16 Pro Max','Surface Pro 9','XPS 15','OnePlus 12'])[1 + (g % 6)], + (ARRAY['Android','iOS','iOS','Windows','Windows','Android'])[1 + (g % 6)], + (ARRAY['14','17.6','18.7','11','10','14'])[1 + (g % 6)], + (ARRAY['1','2','3','4','5','6'])[1 + (g % 6)], + 1080, 2400, 393, 873, 2.75, + (CASE WHEN g <= 60 THEN 'INTERVENTION_SEARCH' + WHEN g <= 96 THEN 'RAPPORT' + ELSE 'EMAIL' END), + (CASE WHEN g <= 60 THEN 'INTERVENTION_SEARCH_RUN' + WHEN g <= 96 THEN 'REPORT_GENERATE' + ELSE 'EMAIL_SEND' END) +FROM generate_series(1, 120) AS g; + +-- ===================================================================== +-- 8. CAS PARC (§9-§11) : licence réattribuée, changement OS, changement version, +-- appareils Desktop/Windows, variété de flotte. +-- ===================================================================== + +-- 8.1 Réattribution de licence FAKE-LIC-REASSIGNED : +-- Device A (Android 15, ancien) → Device B (iOS 18, récent). +-- MÊME LicenseNumber sur deux DeviceKey = 2 appareils DISTINCTS, jamais fusionnés. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment, + license_number, device_key, device_key_version, device_manufacturer, + device_model, operating_system, operating_system_version, app_build, + screen_width, screen_height, logical_width, logical_height, display_scale, + screen_code, feature_code) +VALUES + ('71000000-0000-0000-0000-000000000001', now() - interval '20 days', 'P2', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-001', 1, '1.0.0', 'Android', NULL, + '[FAKE LOCAL] reassigned device A (old)', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"license-reassigned"}'::jsonb, now(), + 'FAKE-CLIENT-A', 'API-A-01', 'Production', + 'FAKE-LIC-REASSIGNED', 'devk-reassigned-android-a', 1, 'Samsung', 'SM-S921B', 'Android', '15', '1', + 1080, 2400, 360, 800, 3.0, 'AGENDA', NULL), + ('71000000-0000-0000-0000-000000000002', now() - interval '18 days', 'P2', 'Info', 'OMK-MOB-DIAG-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-001', 1, '1.0.0', 'Android', NULL, + '[FAKE LOCAL] reassigned device A (old)', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"license-reassigned"}'::jsonb, now(), + 'FAKE-CLIENT-A', 'API-A-01', 'Production', + 'FAKE-LIC-REASSIGNED', 'devk-reassigned-android-a', 1, 'Samsung', 'SM-S921B', 'Android', '15', '1', + 1080, 2400, 360, 800, 3.0, 'SITE_DETAIL', NULL), + ('71000000-0000-0000-0000-000000000003', now() - interval '2 days', 'P2', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-002', 1, '1.1.0', 'iOS', NULL, + '[FAKE LOCAL] reassigned device B (recent)', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"license-reassigned"}'::jsonb, now(), + 'FAKE-CLIENT-A', 'API-A-01', 'Production', + 'FAKE-LIC-REASSIGNED', 'devk-reassigned-ios-b', 1, 'Apple', 'iPhone 15 Pro', 'iOS', '18', '3', + 1179, 2556, 393, 852, 3.0, 'RENDEZVOUS_DETAIL', NULL), + ('71000000-0000-0000-0000-000000000004', now() - interval '1 day', 'P2', 'Info', 'OMK-MOB-DIAG-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-002', 1, '1.1.0', 'iOS', NULL, + '[FAKE LOCAL] reassigned device B (recent)', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"license-reassigned"}'::jsonb, now(), + 'FAKE-CLIENT-A', 'API-A-01', 'Production', + 'FAKE-LIC-REASSIGNED', 'devk-reassigned-ios-b', 1, 'Apple', 'iPhone 15 Pro', 'iOS', '18', '3', + 1179, 2556, 393, 852, 3.0, 'INTERVENTION_DETAIL', NULL); + +-- 8.2 Changement d'OS d'un même DeviceKey (§10) : devk-android-samsung-a +-- Android 15 → Android 16. Vue parc actuelle = Android 16 (dernière observation). +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment, + license_number, device_key, device_key_version, device_manufacturer, + device_model, operating_system, operating_system_version, app_build, + screen_width, screen_height, logical_width, logical_height, display_scale, + screen_code, feature_code) +VALUES + ('72000000-0000-0000-0000-000000000001', now() - interval '12 days', 'P3', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-001', 1, '1.1.0', 'Android', NULL, + '[FAKE LOCAL] os change samsung-a (old Android 15)', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"os-change"}'::jsonb, now(), + 'FAKE-CLIENT-A', 'API-A-01', 'Production', + 'FAKE-LIC-A', 'devk-android-samsung-a', 1, 'Samsung', 'SM-S928B', 'Android', '15', '1', + 1080, 2400, 360, 800, 3.0, 'AGENDA', NULL), + ('72000000-0000-0000-0000-000000000002', now() - interval '3 days', 'P3', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-001', 1, '1.1.0', 'Android', NULL, + '[FAKE LOCAL] os change samsung-a (recent Android 16)', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"os-change"}'::jsonb, now(), + 'FAKE-CLIENT-A', 'API-A-01', 'Production', + 'FAKE-LIC-A', 'devk-android-samsung-a', 1, 'Samsung', 'SM-S928B', 'Android', '16', '2', + 1080, 2400, 360, 800, 3.0, 'SITE_DETAIL', NULL); + +-- 8.3 Changement de version Omika d'un même DeviceKey (§11) : devk-android-xiaomi-b +-- 1.0.0 → 1.1.0. Vue parc actuelle = 1.1.0 (dernière observation). +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment, + license_number, device_key, device_key_version, device_manufacturer, + device_model, operating_system, operating_system_version, app_build, + screen_width, screen_height, logical_width, logical_height, display_scale, + screen_code, feature_code) +VALUES + ('73000000-0000-0000-0000-000000000001', now() - interval '15 days', 'P3', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-002', 1, '1.0.0', 'Android', NULL, + '[FAKE LOCAL] version change xiaomi-b (old 1.0.0)', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"version-change"}'::jsonb, now(), + 'FAKE-CLIENT-B', 'API-B-01', 'Production', + 'FAKE-LIC-B', 'devk-android-xiaomi-b', 1, 'Xiaomi', '23113RKC6G', 'Android', '16', '1', + 1080, 2400, 393, 873, 2.75, 'AGENDA', NULL), + ('73000000-0000-0000-0000-000000000002', now() - interval '4 days', 'P3', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-002', 1, '1.1.0', 'Android', NULL, + '[FAKE LOCAL] version change xiaomi-b (recent 1.1.0)', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"version-change"}'::jsonb, now(), + 'FAKE-CLIENT-B', 'API-B-01', 'Production', + 'FAKE-LIC-B', 'devk-android-xiaomi-b', 1, 'Xiaomi', '23113RKC6G', 'Android', '16', '3', + 1080, 2400, 393, 873, 2.75, 'SITE_DETAIL', NULL); + +-- 8.4 Appareils Desktop/Windows + variété de flotte (§8) — 8 observations. +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment, + license_number, device_key, device_key_version, device_manufacturer, + device_model, operating_system, operating_system_version, app_build, + screen_width, screen_height, logical_width, logical_height, display_scale, + screen_code, feature_code) +VALUES + ('74000000-0000-0000-0000-000000000001', now() - interval '6 days', 'P3', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-001', 1, '1.0.0', 'Desktop', NULL, + '[FAKE LOCAL] fleet desktop surface', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"fleet-desktop"}'::jsonb, now(), + 'FAKE-CLIENT-A', 'API-A-01', 'Production', + 'FAKE-LIC-DESKTOP-A', 'devk-desktop-windows-f', 1, 'Microsoft', 'Surface Pro 9', 'Windows', '11', '1', + 2880, 1920, 1440, 960, 1.5, 'AGENDA', NULL), + ('74000000-0000-0000-0000-000000000002', now() - interval '6 days', 'P3', 'Info', 'OMK-MOB-DIAG-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-001', 1, '1.0.0', 'Desktop', NULL, + '[FAKE LOCAL] fleet desktop surface diag', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"fleet-desktop"}'::jsonb, now(), + 'FAKE-CLIENT-A', 'API-A-01', 'Production', + 'FAKE-LIC-DESKTOP-A', 'devk-desktop-windows-f', 1, 'Microsoft', 'Surface Pro 9', 'Windows', '11', '1', + 2880, 1920, 1440, 960, 1.5, 'SETTINGS', NULL), + ('74000000-0000-0000-0000-000000000003', now() - interval '8 days', 'P3', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-002', 1, '1.1.0', 'Desktop', NULL, + '[FAKE LOCAL] fleet desktop dell xps', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"fleet-desktop"}'::jsonb, now(), + 'FAKE-CLIENT-B', 'API-B-01', 'Production', + 'FAKE-LIC-DESKTOP-B', 'devk-desktop-windows-g', 1, 'Dell', 'XPS 15', 'Windows', '10', '3', + 3840, 2400, 1920, 1200, 2.0, 'TEAM', NULL), + ('74000000-0000-0000-0000-000000000004', now() - interval '9 days', 'P3', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-003', 1, '1.0.0', 'Android', NULL, + '[FAKE LOCAL] fleet device google pixel', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"fleet-variety"}'::jsonb, now(), + 'FAKE-CLIENT-C', 'API-C-DEV-01', 'Development', + 'FAKE-LIC-C', 'devk-android-google-c', 1, 'Google', 'Pixel 8', 'Android', '14', '2', + 1080, 2400, 360, 800, 3.0, 'SETTINGS', NULL), + ('74000000-0000-0000-0000-000000000005', now() - interval '7 days', 'P3', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-002', 1, '1.0.0', 'iOS', NULL, + '[FAKE LOCAL] fleet device iphone 15 pro', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"fleet-variety"}'::jsonb, now(), + 'FAKE-CLIENT-B', 'API-B-01', 'Production', + 'FAKE-LIC-D', 'devk-ios-apple-d', 1, 'Apple', 'iPhone 15 Pro', 'iOS', '17.6', '1', + 1179, 2556, 393, 852, 3.0, 'RENDEZVOUS_DETAIL', NULL), + ('74000000-0000-0000-0000-000000000006', now() - interval '7 days', 'P3', 'Info', 'OMK-MOB-DIAG-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-003', 1, '1.0.0', 'iOS', NULL, + '[FAKE LOCAL] fleet device iphone 16 pro max', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"fleet-variety"}'::jsonb, now(), + 'FAKE-CLIENT-C', 'API-C-DEV-01', 'Development', + 'FAKE-LIC-E', 'devk-ios-apple-e', 1, 'Apple', 'iPhone 16 Pro Max', 'iOS', '18.7', '2', + 1206, 2622, 402, 874, 3.0, 'EMAIL', NULL), + ('74000000-0000-0000-0000-000000000007', now() - interval '10 days', 'P3', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-001', 1, '1.1.0', 'Android', NULL, + '[FAKE LOCAL] fleet device samsung again', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"fleet-variety"}'::jsonb, now(), + 'FAKE-CLIENT-A', 'API-A-01', 'Production', + 'FAKE-LIC-A', 'devk-android-samsung-a', 1, 'Samsung', 'SM-S928B', 'Android', '16', '2', + 1080, 2400, 360, 800, 3.0, 'RAPPORT', NULL), + ('74000000-0000-0000-0000-000000000008', now() - interval '10 days', 'P3', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-002', 1, '1.1.0', 'Android', NULL, + '[FAKE LOCAL] fleet device xiaomi again', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"fleet-variety"}'::jsonb, now(), + 'FAKE-CLIENT-B', 'API-B-01', 'Production', + 'FAKE-LIC-B', 'devk-android-xiaomi-b', 1, 'Xiaomi', '23113RKC6G', 'Android', '16', '3', + 1080, 2400, 393, 873, 2.75, 'INTERVENTION_SEARCH', NULL); + +-- ===================================================================== +-- 9. DONNÉES HISTORIQUES SANS CONTEXTE (§16) : +-- device_key / license_number / screen_code / feature_code = NULL. +-- Elles restent affichables sans filtre, et exclues par les filtres appareil/ +-- licence/écran/fonctionnalité. Toujours source='local-seed' + [FAKE LOCAL]. +-- ===================================================================== +INSERT INTO diagnostic_event + (event_id, timestamp_utc, priority, level, event_code, component, + trace_id, session_id, operation_id, actor_key, actor_key_version, + app_version, platform, error_code, message, exception_type, stack_trace, + duration_ms, source, metadata_json, ingested_at_utc, + client_code, server_instance, environment) +VALUES + ('7a000000-0000-0000-0000-000000000001', now() - interval '18 days', 'P2', 'Info', 'OMK-MOB-APP-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-001', 1, '1.0.0', 'Android', NULL, + '[FAKE LOCAL] historique sans contexte 1', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"historical-null"}'::jsonb, now(), + NULL, NULL, NULL), + ('7a000000-0000-0000-0000-000000000002', now() - interval '22 days', 'P3', 'Info', 'OMK-API-HTTP-001', 'Omika.Api', + NULL, NULL, NULL, NULL, NULL, '1.0.0', 'api', NULL, + '[FAKE LOCAL] historique sans contexte 2', NULL, NULL, 120, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"historical-null"}'::jsonb, now(), + NULL, NULL, NULL), + ('7a000000-0000-0000-0000-000000000003', now() - interval '26 days', 'P1', 'Error', 'OMK-API-HTTP-003', 'Omika.Api', + NULL, NULL, NULL, NULL, NULL, '1.0.0', 'api', 'TIMEOUT', + '[FAKE LOCAL] historique sans contexte 3', 'System.TimeoutException', + E'[FAKE LOCAL]\nSystem.TimeoutException: legacy\n at Omika.Api.Tests.FakeService.Execute()', 2000, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"historical-null"}'::jsonb, now(), + NULL, NULL, NULL), + ('7a000000-0000-0000-0000-000000000004', now() - interval '30 days', 'P2', 'Warning', 'OMK-MOB-APP-002', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-002', 1, '1.0.0', 'iOS', NULL, + '[FAKE LOCAL] historique sans contexte 4', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"historical-null"}'::jsonb, now(), + NULL, NULL, NULL), + ('7a000000-0000-0000-0000-000000000005', now() - interval '35 days', 'P3', 'Debug', 'OMK-MOB-DIAG-001', 'Omika.App', + NULL, NULL, NULL, 'fake-actor-003', 1, '1.0.0', 'Desktop', NULL, + '[FAKE LOCAL] historique sans contexte 5', NULL, NULL, NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"historical-null"}'::jsonb, now(), + NULL, NULL, NULL), + ('7a000000-0000-0000-0000-000000000006', now() - interval '40 days', 'P1', 'Error', 'OMK-API-REQ-001', 'Omika.Api', + NULL, NULL, NULL, NULL, NULL, '1.0.0', 'api', 'NULL_REF', + '[FAKE LOCAL] historique sans contexte 6', 'System.NullReferenceException', + E'[FAKE LOCAL]\nSystem.NullReferenceException: legacy\n at Omika.Api.Tests.FakeService.Execute()', NULL, 'local-seed', + '{"synthetic":true,"seed":"omika-local-diagnostics-preprod","t21":"historical-null"}'::jsonb, now(), + NULL, NULL, NULL); + +-- ===================================================================== +-- FIN DU SEED T21. Volume attendu (~730 événements local-seed) : +-- 270 volume de fond + 57 erreurs + 10 traces + 7 synchronisation + +-- 5 sessions + 250 ScreenView + 120 FeatureUse + 16 parc + 6 historiques NULL. +-- Requêtes de contrôle : +-- SELECT count(*) FROM diagnostic_event WHERE source = 'local-seed'; +-- SELECT client_code, count(*) FROM diagnostic_event WHERE source='local-seed' GROUP BY 1 ORDER BY 1 NULLS LAST; +-- SELECT count(DISTINCT device_key) FROM diagnostic_event WHERE source='local-seed' AND device_key IS NOT NULL; +-- SELECT count(DISTINCT license_number) FROM diagnostic_event WHERE source='local-seed' AND license_number IS NOT NULL; +-- SELECT screen_code, count(*) FROM diagnostic_event WHERE source='local-seed' AND screen_code IS NOT NULL GROUP BY 1 ORDER BY 2 DESC; +-- SELECT feature_code, count(*) FROM diagnostic_event WHERE source='local-seed' AND feature_code IS NOT NULL GROUP BY 1 ORDER BY 2 DESC; +-- ===================================================================== diff --git a/scripts/dev/seed_referentiel_complet.sql b/scripts/dev/seed_referentiel_complet.sql new file mode 100644 index 0000000..e611865 --- /dev/null +++ b/scripts/dev/seed_referentiel_complet.sql @@ -0,0 +1,177 @@ +-- ===================================================================== +-- Omika Diagnostic Center — SEED RÉFÉRENTIEL COMPLET (généré) +-- Généré par scripts\seed-referentiel-complet.ps1 +-- ===================================================================== +-- NON DESTRUCTIF : INSERT ... ON CONFLICT DO NOTHING. +-- IDEMPOTENT : un libellé modifié par un Admin n'est JAMAIS écrasé. +-- Cible : table diagnostics_reference (T24-A, créée par 011_diagnostics_reference.sql). +-- Aucun mot de passe, aucune donnée personnelle, aucun secret. +-- ===================================================================== + +INSERT INTO diagnostics_reference + (reference_type, code, label, description, enabled, sort_order, created_at_utc, updated_at_utc) +VALUES + ('SCREEN_CODE', 'AGENDA', 'Agenda', NULL, TRUE, 10, now(), now()), + ('SCREEN_CODE', 'INTERVENTION_SEARCH', 'Recherche d''interventions', NULL, TRUE, 20, now(), now()), + ('SCREEN_CODE', 'DOSSIER_LIST', 'Dossiers', NULL, TRUE, 30, now(), now()), + ('SCREEN_CODE', 'TEAM', 'Équipe', NULL, TRUE, 40, now(), now()), + ('SCREEN_CODE', 'TEAM_DETAIL', 'Détail d''équipe', NULL, TRUE, 50, now(), now()), + ('SCREEN_CODE', 'CLIENT_LIST', 'Clients', NULL, TRUE, 60, now(), now()), + ('SCREEN_CODE', 'SITE_LIST', 'Sites', NULL, TRUE, 70, now(), now()), + ('SCREEN_CODE', 'SETTINGS', 'Paramètres', NULL, TRUE, 80, now(), now()), + ('SCREEN_CODE', 'RENDEZVOUS_DETAIL', 'Détail de rendez-vous', NULL, TRUE, 90, now(), now()), + ('SCREEN_CODE', 'AGENDA_TEAM', 'Agenda d''équipe', NULL, TRUE, 100, now(), now()), + ('SCREEN_CODE', 'INTERVENTION_DETAIL', 'Détail d''intervention', NULL, TRUE, 110, now(), now()), + ('SCREEN_CODE', 'INTERVENTION_DOCUMENTS', 'Documents d''intervention', NULL, TRUE, 120, now(), now()), + ('SCREEN_CODE', 'INTERVENTION_NOTES', 'Notes d''intervention', NULL, TRUE, 130, now(), now()), + ('SCREEN_CODE', 'INTERVENTION_NOTES_ADMIN', 'Notes administratives', NULL, TRUE, 140, now(), now()), + ('SCREEN_CODE', 'INTERVENTION_EMAILS', 'Courriels d''intervention', NULL, TRUE, 150, now(), now()), + ('SCREEN_CODE', 'EMAIL', 'Nouveau courriel', NULL, TRUE, 160, now(), now()), + ('SCREEN_CODE', 'RAPPORT', 'Rapport', NULL, TRUE, 170, now(), now()), + ('SCREEN_CODE', 'INTERVENTION_RESOURCES', 'Contenus d''intervention', NULL, TRUE, 180, now(), now()), + ('SCREEN_CODE', 'PHOTO_VIEWER', 'Visionneuse photo', NULL, TRUE, 190, now(), now()), + ('SCREEN_CODE', 'IMAGE_EDITOR', 'Éditeur d''image', NULL, TRUE, 200, now(), now()), + ('SCREEN_CODE', 'INTERVENTION_CONTACTS', 'Contacts d''intervention', NULL, TRUE, 210, now(), now()), + ('SCREEN_CODE', 'CONTACT_DETAIL', 'Détail de contact', NULL, TRUE, 220, now(), now()), + ('SCREEN_CODE', 'DOSSIER_DETAIL', 'Détail de dossier', NULL, TRUE, 230, now(), now()), + ('SCREEN_CODE', 'CLIENT_DETAIL', 'Détail de client', NULL, TRUE, 240, now(), now()), + ('SCREEN_CODE', 'SITE_DETAIL', 'Détail de site', NULL, TRUE, 250, now(), now()), + ('SCREEN_CODE', 'COLLABORATEUR_DETAIL', 'Détail de collaborateur', NULL, TRUE, 260, now(), now()), + ('SCREEN_CODE', 'INTERVENTION_EDIT', 'Formulaire intervention', NULL, TRUE, 270, now(), now()), + ('SCREEN_CODE', 'SUIVI_TEMPS_CREATE', 'Saisie de temps', NULL, TRUE, 280, now(), now()), + ('SCREEN_CODE', 'COMPTE_RENDU_CREATE', 'Compte rendu', NULL, TRUE, 290, now(), now()), + ('SCREEN_CODE', 'SYNC_QUEUE', 'File de synchronisation', NULL, TRUE, 300, now(), now()), + ('FEATURE_CODE', 'INTERVENTION_SEARCH_RUN', 'Recherche d''intervention', NULL, TRUE, 10, now(), now()), + ('FEATURE_CODE', 'REPORT_GENERATE', 'Génération de rapport', NULL, TRUE, 20, now(), now()), + ('FEATURE_CODE', 'EMAIL_SEND', 'Envoi de courriel', NULL, TRUE, 30, now(), now()), + ('FEATURE_CODE', 'ADD_COLLABORATEUR', 'Ajouter un collaborateur', NULL, TRUE, 1000, now(), now()), + ('FEATURE_CODE', 'ADD_DOCUMENT', 'Ajouter un document', NULL, TRUE, 1010, now(), now()), + ('FEATURE_CODE', 'ADD_NOTE', 'Ajouter une note', NULL, TRUE, 1020, now(), now()), + ('FEATURE_CODE', 'ADD_PHOTO', 'Ajouter une photo', NULL, TRUE, 1030, now(), now()), + ('FEATURE_CODE', 'ADD_PHOTO_FROM_CAMERA', 'Prendre une photo', NULL, TRUE, 1040, now(), now()), + ('FEATURE_CODE', 'ADD_TIME', 'Ajouter un temps', NULL, TRUE, 1050, now(), now()), + ('FEATURE_CODE', 'AJOUTER_DOCUMENT', 'Ajouter un document', NULL, TRUE, 1060, now(), now()), + ('FEATURE_CODE', 'AJOUTER_PHOTO', 'Ajouter une photo', NULL, TRUE, 1070, now(), now()), + ('FEATURE_CODE', 'ANNULER', 'Annuler', NULL, TRUE, 1080, now(), now()), + ('FEATURE_CODE', 'ANNULER_CONFIRMATION_ANNULATION', 'Annuler la confirmation', NULL, TRUE, 1090, now(), now()), + ('FEATURE_CODE', 'APPLY_CUSTOM_COLOR', 'Appliquer la couleur personnalisée', NULL, TRUE, 1100, now(), now()), + ('FEATURE_CODE', 'APPLY_PRIMARY_COLOR', 'Appliquer la couleur principale', NULL, TRUE, 1110, now(), now()), + ('FEATURE_CODE', 'ARCHIVE', 'Archiver', NULL, TRUE, 1120, now(), now()), + ('FEATURE_CODE', 'ASSIGN_LICENCE', 'Attribuer une licence', NULL, TRUE, 1130, now(), now()), + ('FEATURE_CODE', 'BACK', 'Retour', NULL, TRUE, 1140, now(), now()), + ('FEATURE_CODE', 'BASCULER_OPTION', 'Cocher / décocher l''option', NULL, TRUE, 1150, now(), now()), + ('FEATURE_CODE', 'BASCULER_SELECTION', 'Sélectionner la pièce jointe', NULL, TRUE, 1160, now(), now()), + ('FEATURE_CODE', 'CALL', 'Appeler', NULL, TRUE, 1170, now(), now()), + ('FEATURE_CODE', 'CALL_COLLABORATEUR', 'Appeler le collaborateur', NULL, TRUE, 1180, now(), now()), + ('FEATURE_CODE', 'CALL_CONTACT', 'Appeler le contact', NULL, TRUE, 1190, now(), now()), + ('FEATURE_CODE', 'CALL_PRIMARY', 'Appeler (contact principal)', NULL, TRUE, 1200, now(), now()), + ('FEATURE_CODE', 'CALL_SUIVI_PAR', 'Appeler (suivi par)', NULL, TRUE, 1210, now(), now()), + ('FEATURE_CODE', 'CANCEL', 'Annuler', NULL, TRUE, 1220, now(), now()), + ('FEATURE_CODE', 'CANCEL_ARCHIVE', 'Annuler l''archivage', NULL, TRUE, 1230, now(), now()), + ('FEATURE_CODE', 'CANCEL_SCAN', 'Annuler le scan', NULL, TRUE, 1240, now(), now()), + ('FEATURE_CODE', 'CLEAR_ALL_DATA', 'Vider toutes les données', NULL, TRUE, 1250, now(), now()), + ('FEATURE_CODE', 'CLEAR_DOCUMENTS', 'Vider les documents', NULL, TRUE, 1260, now(), now()), + ('FEATURE_CODE', 'CONFIRM_ARCHIVE', 'Confirmer l''archivage', NULL, TRUE, 1270, now(), now()), + ('FEATURE_CODE', 'CONFIRMER_ANNULATION', 'Confirmer l''annulation', NULL, TRUE, 1280, now(), now()), + ('FEATURE_CODE', 'CONTINUER', 'Continuer', NULL, TRUE, 1290, now(), now()), + ('FEATURE_CODE', 'DELETE_DRAFT', 'Supprimer le brouillon', NULL, TRUE, 1300, now(), now()), + ('FEATURE_CODE', 'DEMANDER_ANNULATION', 'Demander l''annulation', NULL, TRUE, 1310, now(), now()), + ('FEATURE_CODE', 'DOWNLOAD', 'Télécharger', NULL, TRUE, 1320, now(), now()), + ('FEATURE_CODE', 'DOWNLOAD_ALL_DOCUMENTS', 'Télécharger tous les documents', NULL, TRUE, 1330, now(), now()), + ('FEATURE_CODE', 'DOWNLOAD_ALL_PHOTOS', 'Télécharger toutes les photos', NULL, TRUE, 1340, now(), now()), + ('FEATURE_CODE', 'EDIT', 'Modifier', NULL, TRUE, 1350, now(), now()), + ('FEATURE_CODE', 'EDIT_DRAFT', 'Modifier le brouillon', NULL, TRUE, 1360, now(), now()), + ('FEATURE_CODE', 'EMAIL', 'Envoyer un courriel', NULL, TRUE, 1370, now(), now()), + ('FEATURE_CODE', 'EMAIL_COLLABORATEUR', 'Écrire au collaborateur', NULL, TRUE, 1380, now(), now()), + ('FEATURE_CODE', 'EMAIL_CONTACT', 'Écrire au contact', NULL, TRUE, 1390, now(), now()), + ('FEATURE_CODE', 'EMAIL_PRIMARY', 'Écrire (contact principal)', NULL, TRUE, 1400, now(), now()), + ('FEATURE_CODE', 'EMAIL_SUIVI_PAR', 'Écrire (suivi par)', NULL, TRUE, 1410, now(), now()), + ('FEATURE_CODE', 'ENREGISTRER', 'Enregistrer', NULL, TRUE, 1420, now(), now()), + ('FEATURE_CODE', 'ENROLL', 'Enrôler', NULL, TRUE, 1430, now(), now()), + ('FEATURE_CODE', 'ENVOYER', 'Envoyer', NULL, TRUE, 1440, now(), now()), + ('FEATURE_CODE', 'ENVOYER_EMAIL', 'Envoyer par courriel', NULL, TRUE, 1450, now(), now()), + ('FEATURE_CODE', 'GENERER', 'Générer', NULL, TRUE, 1460, now(), now()), + ('FEATURE_CODE', 'GO_TO_TODAY', 'Aller à aujourd''hui', NULL, TRUE, 1470, now(), now()), + ('FEATURE_CODE', 'HIDE_EDITOR', 'Masquer l''éditeur', NULL, TRUE, 1480, now(), now()), + ('FEATURE_CODE', 'INITIALIZE', 'Initialiser', NULL, TRUE, 1490, now(), now()), + ('FEATURE_CODE', 'LOAD', 'Charger', NULL, TRUE, 1500, now(), now()), + ('FEATURE_CODE', 'LOAD_AVEC_DESTINATAIRE', 'Charger avec destinataire', NULL, TRUE, 1510, now(), now()), + ('FEATURE_CODE', 'LOAD_AVEC_RAPPORT', 'Charger avec rapport', NULL, TRUE, 1520, now(), now()), + ('FEATURE_CODE', 'LOAD_EDITION', 'Charger en édition', NULL, TRUE, 1530, now(), now()), + ('FEATURE_CODE', 'LOAD_SCOPES', 'Charger les périmètres', NULL, TRUE, 1540, now(), now()), + ('FEATURE_CODE', 'LOGOUT', 'Se déconnecter', NULL, TRUE, 1550, now(), now()), + ('FEATURE_CODE', 'MODIFIER', 'Modifier', NULL, TRUE, 1560, now(), now()), + ('FEATURE_CODE', 'NAVIGATE', 'Naviguer', NULL, TRUE, 1570, now(), now()), + ('FEATURE_CODE', 'NEW_INTERVENTION', 'Nouvelle intervention', NULL, TRUE, 1580, now(), now()), + ('FEATURE_CODE', 'NEXT', 'Suivant', NULL, TRUE, 1590, now(), now()), + ('FEATURE_CODE', 'NEXT_DAY', 'Jour suivant', NULL, TRUE, 1600, now(), now()), + ('FEATURE_CODE', 'NEXT_WEEK', 'Semaine suivante', NULL, TRUE, 1610, now(), now()), + ('FEATURE_CODE', 'NOUVEAU', 'Nouveau', NULL, TRUE, 1620, now(), now()), + ('FEATURE_CODE', 'OPEN', 'Ouvrir', NULL, TRUE, 1630, now(), now()), + ('FEATURE_CODE', 'OPEN_CLIENT', 'Ouvrir le client', NULL, TRUE, 1640, now(), now()), + ('FEATURE_CODE', 'OPEN_COLLABORATEUR', 'Ouvrir le collaborateur', NULL, TRUE, 1650, now(), now()), + ('FEATURE_CODE', 'OPEN_COMPTE_RENDU', 'Ouvrir le compte rendu', NULL, TRUE, 1660, now(), now()), + ('FEATURE_CODE', 'OPEN_CONTACT', 'Ouvrir le contact', NULL, TRUE, 1670, now(), now()), + ('FEATURE_CODE', 'OPEN_CONTACTS', 'Ouvrir les contacts', NULL, TRUE, 1680, now(), now()), + ('FEATURE_CODE', 'OPEN_DOCUMENTS', 'Ouvrir les documents', NULL, TRUE, 1690, now(), now()), + ('FEATURE_CODE', 'OPEN_DOSSIER', 'Ouvrir le dossier', NULL, TRUE, 1700, now(), now()), + ('FEATURE_CODE', 'OPEN_EMAILS', 'Ouvrir les courriels', NULL, TRUE, 1710, now(), now()), + ('FEATURE_CODE', 'OPEN_EQUIPE', 'Ouvrir l''équipe', NULL, TRUE, 1720, now(), now()), + ('FEATURE_CODE', 'OPEN_FIRST_RENDEZ_VOUS', 'Ouvrir le premier rendez-vous', NULL, TRUE, 1730, now(), now()), + ('FEATURE_CODE', 'OPEN_IMAGES', 'Ouvrir les images', NULL, TRUE, 1740, now(), now()), + ('FEATURE_CODE', 'OPEN_IMAGES_ET_DOCUMENTS', 'Ouvrir images et documents', NULL, TRUE, 1750, now(), now()), + ('FEATURE_CODE', 'OPEN_INTERVENTION', 'Ouvrir l''intervention', NULL, TRUE, 1760, now(), now()), + ('FEATURE_CODE', 'OPEN_ITINERAIRE', 'Ouvrir l''itinéraire', NULL, TRUE, 1770, now(), now()), + ('FEATURE_CODE', 'OPEN_NOTES', 'Ouvrir les notes', NULL, TRUE, 1780, now(), now()), + ('FEATURE_CODE', 'OPEN_NOTES_ADMINISTRATIVES', 'Ouvrir les notes administratives', NULL, TRUE, 1790, now(), now()), + ('FEATURE_CODE', 'OPEN_RAPPORT', 'Ouvrir le rapport', NULL, TRUE, 1800, now(), now()), + ('FEATURE_CODE', 'OPEN_RENDEZ_VOUS', 'Ouvrir le rendez-vous', NULL, TRUE, 1810, now(), now()), + ('FEATURE_CODE', 'OPEN_SITE', 'Ouvrir le site', NULL, TRUE, 1820, now(), now()), + ('FEATURE_CODE', 'OPEN_SYNC_QUEUE', 'Ouvrir la file de synchronisation', NULL, TRUE, 1830, now(), now()), + ('FEATURE_CODE', 'OPEN_TEAM_AGENDA', 'Ouvrir l''agenda d''équipe', NULL, TRUE, 1840, now(), now()), + ('FEATURE_CODE', 'OUVRIR_BROUILLON', 'Ouvrir le brouillon', NULL, TRUE, 1850, now(), now()), + ('FEATURE_CODE', 'OUVRIR_RUBRIQUE', 'Ouvrir une rubrique', NULL, TRUE, 1860, now(), now()), + ('FEATURE_CODE', 'PREVIOUS', 'Précédent', NULL, TRUE, 1870, now(), now()), + ('FEATURE_CODE', 'PREVIOUS_DAY', 'Jour précédent', NULL, TRUE, 1880, now(), now()), + ('FEATURE_CODE', 'PREVIOUS_WEEK', 'Semaine précédente', NULL, TRUE, 1890, now(), now()), + ('FEATURE_CODE', 'RELEASE_LICENCE', 'Libérer la licence', NULL, TRUE, 1900, now(), now()), + ('FEATURE_CODE', 'REMOVE_COLLABORATEUR', 'Retirer un collaborateur', NULL, TRUE, 1910, now(), now()), + ('FEATURE_CODE', 'RESET_APP', 'Réinitialiser l''application', NULL, TRUE, 1920, now(), now()), + ('FEATURE_CODE', 'RESET_FILTERS', 'Réinitialiser les filtres', NULL, TRUE, 1930, now(), now()), + ('FEATURE_CODE', 'RESET_SEARCH', 'Réinitialiser la recherche', NULL, TRUE, 1940, now(), now()), + ('FEATURE_CODE', 'RETOUR', 'Retour', NULL, TRUE, 1950, now(), now()), + ('FEATURE_CODE', 'RETOUR_RUBRIQUES', 'Retour aux rubriques', NULL, TRUE, 1960, now(), now()), + ('FEATURE_CODE', 'RETRY', 'Réessayer', NULL, TRUE, 1970, now(), now()), + ('FEATURE_CODE', 'RUBRIQUE_PRECEDENTE', 'Rubrique précédente', NULL, TRUE, 1980, now(), now()), + ('FEATURE_CODE', 'RUBRIQUE_SUIVANTE', 'Rubrique suivante', NULL, TRUE, 1990, now(), now()), + ('FEATURE_CODE', 'SAVE', 'Enregistrer', NULL, TRUE, 2000, now(), now()), + ('FEATURE_CODE', 'SAVE_EDITOR', 'Enregistrer l''éditeur', NULL, TRUE, 2010, now(), now()), + ('FEATURE_CODE', 'SAVE_PAUSE_DEJEUNER', 'Enregistrer la pause déjeuner', NULL, TRUE, 2020, now(), now()), + ('FEATURE_CODE', 'SCAN', 'Scanner', NULL, TRUE, 2030, now(), now()), + ('FEATURE_CODE', 'SEARCH', 'Rechercher', NULL, TRUE, 2040, now(), now()), + ('FEATURE_CODE', 'SELECT_CALENDAR_DAY', 'Sélectionner un jour', NULL, TRUE, 2050, now(), now()), + ('FEATURE_CODE', 'SELECT_CLIENTS', 'Onglet Clients', NULL, TRUE, 2060, now(), now()), + ('FEATURE_CODE', 'SELECT_CONTACTS', 'Onglet Contacts', NULL, TRUE, 2070, now(), now()), + ('FEATURE_CODE', 'SELECT_DAY', 'Sélectionner le jour', NULL, TRUE, 2080, now(), now()), + ('FEATURE_CODE', 'SELECT_DOSSIERS', 'Onglet Dossiers', NULL, TRUE, 2090, now(), now()), + ('FEATURE_CODE', 'SELECT_INTERVENTIONS', 'Onglet Interventions', NULL, TRUE, 2100, now(), now()), + ('FEATURE_CODE', 'SELECT_RENDEZ_VOUS', 'Onglet Rendez-vous', NULL, TRUE, 2110, now(), now()), + ('FEATURE_CODE', 'SELECT_SITES', 'Onglet Sites', NULL, TRUE, 2120, now(), now()), + ('FEATURE_CODE', 'SELECT_TAB', 'Changer d''onglet', NULL, TRUE, 2130, now(), now()), + ('FEATURE_CODE', 'SEND_SUPPORT_EMAIL', 'Écrire au support', NULL, TRUE, 2140, now(), now()), + ('FEATURE_CODE', 'SET_PRIMARY_COLOR', 'Changer la couleur principale', NULL, TRUE, 2150, now(), now()), + ('FEATURE_CODE', 'SET_THEME_MODE', 'Changer le thème', NULL, TRUE, 2160, now(), now()), + ('FEATURE_CODE', 'SHOW_CALENDAR', 'Afficher le calendrier', NULL, TRUE, 2170, now(), now()), + ('FEATURE_CODE', 'SHOW_DAY', 'Afficher le jour', NULL, TRUE, 2180, now(), now()), + ('FEATURE_CODE', 'SHOW_PINNED', 'Afficher les épinglés', NULL, TRUE, 2190, now(), now()), + ('FEATURE_CODE', 'SHOW_RECENT', 'Afficher les récents', NULL, TRUE, 2200, now(), now()), + ('FEATURE_CODE', 'SHOW_WEEK', 'Afficher la semaine', NULL, TRUE, 2210, now(), now()), + ('FEATURE_CODE', 'SYNC_NOW', 'Synchroniser maintenant', NULL, TRUE, 2220, now(), now()), + ('FEATURE_CODE', 'TOGGLE_PINNED', 'Épingler / désépingler', NULL, TRUE, 2230, now(), now()), + ('FEATURE_CODE', 'VALIDER', 'Valider', NULL, TRUE, 2240, now(), now()) +ON CONFLICT DO NOTHING; + +-- ===================================================================== +-- FIN. Vérification : +-- SELECT reference_type, COUNT(*) FROM diagnostics_reference GROUP BY reference_type; +-- ===================================================================== \ No newline at end of file diff --git a/scripts/publish-diagnostics.ps1 b/scripts/publish-diagnostics.ps1 new file mode 100644 index 0000000..b869fcd --- /dev/null +++ b/scripts/publish-diagnostics.ps1 @@ -0,0 +1,112 @@ +# ============================================================ +# Omika Diagnostics — Publication des composants serveur (poste DEV) +# ============================================================ +# Usage (depuis le poste de développement, SDK .NET 10 installé) : +# .\scripts\publish-diagnostics.ps1 +# .\scripts\publish-diagnostics.ps1 -OutputRoot D:\Omika\Deploy +# .\scripts\publish-diagnostics.ps1 -IncludeCentralApi # ajoute Omika.Diagnostics.Api +# .\scripts\publish-diagnostics.ps1 -SkipDevelopmentJsonCheck +# +# Produit, pour chaque composant, un dossier "-next" contenant la +# publication Release win-x64 framework-dependent, et vérifie la présence de +# l'exécutable attendu (stop en cas d'absence). +# +# Les dossiers produits sont ensuite transférés vers SRV-OMIKA puis copiés avec +# robocopy /E /XF appsettings.json appsettings.Production.json (voir +# docs/MISE_A_JOUR_DIAGNOSTICS_SRV-OMIKA.md). +# +# Ne fait AUCUNE copie vers le serveur, ne touche à AUCUN secret. +# ============================================================ + +[CmdletBinding()] +param( + [string]$OutputRoot = 'C:\Omika\Deploy', + [switch]$IncludeCentralApi, + [switch]$SkipDevelopmentJsonCheck +) + +$ErrorActionPreference = 'Stop' + +# Racine du dépôt = parent du dossier scripts\. +$RepoRoot = Split-Path -Parent $PSScriptRoot + +$components = @( + @{ + Name = 'OmikaApi' + Proj = 'src\Omika.Api\Omika.Api.csproj' + Exe = 'Omika.Api.exe' + }, + @{ + Name = 'OmikaWorker' + Proj = 'src\Omika.Worker\Omika.Worker.csproj' + Exe = 'Omika.Worker.exe' + }, + @{ + Name = 'DiagnosticsWorker' + Proj = 'src\Omika.Diagnostics.Worker\Omika.Diagnostics.Worker.csproj' + Exe = 'Omika.Diagnostics.Worker.exe' + }, + @{ + Name = 'DiagnosticsWeb' + Proj = 'src\Omika.Diagnostics.Web\Omika.Diagnostics.Web.csproj' + Exe = 'Omika.Diagnostics.Web.exe' + } +) + +if ($IncludeCentralApi) { + $components += @{ + Name = 'DiagnosticsApi' + Proj = 'src\Omika.Diagnostics.Api\Omika.Diagnostics.Api.csproj' + Exe = 'Omika.Diagnostics.Api.exe' + } +} + +Write-Host '== Publication Omika Diagnostics (Release win-x64, framework-dependent) ==' -ForegroundColor Cyan + +foreach ($c in $components) { + $out = Join-Path $OutputRoot ($c.Name + '-next') + $proj = Join-Path $RepoRoot $c.Proj + + if (-not (Test-Path -LiteralPath $proj)) { + throw "Projet introuvable : $proj" + } + + Write-Host '' + Write-Host "== $($c.Name) -> $out ==" -ForegroundColor Cyan + + # -r win-x64 --self-contained false : framework-dependent (runtime .NET 10 requis + # sur le serveur). Le Worker conserve EnableWindowsService=true (défaut) : ne pas + # passer -p:EnableWindowsService=false pour un publish Release+RID. + dotnet publish $proj ` + -c Release ` + -r win-x64 ` + --self-contained false ` + -o $out + + if ($LASTEXITCODE -ne 0) { + throw "dotnet publish a échoué (exit $LASTEXITCODE) sur $($c.Name)." + } + + $exe = Join-Path $out $c.Exe + if (-not (Test-Path -LiteralPath $exe)) { + throw "Exécutable attendu absent : $exe" + } + Write-Host " OK : $exe" -ForegroundColor Green + + if (-not $SkipDevelopmentJsonCheck) { + $devJson = Join-Path $out 'appsettings.Development.json' + if (Test-Path -LiteralPath $devJson) { + Write-Warning " appsettings.Development.json présent dans la publication ($($c.Name)) : ne pas l'activer en Production (ASPNETCORE_ENVIRONMENT doit rester 'Production')." + } + } +} + +Write-Host '' +Write-Host 'Publication terminée.' -ForegroundColor Green +Write-Host "Dossiers produits (à transférer vers SRV-OMIKA C:\Omika\Deploy\) :" +foreach ($c in $components) { + Write-Host " $((Join-Path $OutputRoot ($c.Name + '-next')))" +} +Write-Host '' +Write-Host 'Rappel copie serveur (après backup + arrêt) :' -ForegroundColor Yellow +Write-Host " robocopy '-next' 'C:\Omika\Apps\' /E /XF appsettings.json appsettings.Production.json" diff --git a/scripts/seed-referentiel-complet.ps1 b/scripts/seed-referentiel-complet.ps1 new file mode 100644 index 0000000..efd08c2 --- /dev/null +++ b/scripts/seed-referentiel-complet.ps1 @@ -0,0 +1,461 @@ +# ============================================================ +# Omika Diagnostic Center — Seed du référentiel COMPLET +# seed-referentiel-complet.ps1 +# ============================================================ +# Génère et (optionnellement) applique le référentiel administrable +# diagnostics_reference (T24-A) pour : +# * les 30 ScreenCode du catalogue applicatif (fenêtres / écrans) ; +# * les 3 FeatureCode « action métier » historiques ; +# * TOUS les FeatureCode de boutons, dérivés AUTOMATIQUEMENT depuis les +# méthodes [RelayCommand] des ViewModels (src\Omika.App\ViewModels). +# +# PRINCIPE : le code de chaque bouton est dérivé du NOM de la méthode +# (même algorithme que DiagnosticFeatureCodes.FromCommandName) puis un +# libellé français lui est associé. Le script SCANNE le code source : +# re-exécutable après ajout d'un bouton, il reste toujours à jour. +# +# IDEMPOTENT : INSERT ... ON CONFLICT DO NOTHING. Un libellé déjà modifié +# par un Admin (via Diagnostics.Web /Referentiel/Admin) n'est JAMAIS écrasé. +# NON DESTRUCTIF : aucun DROP, aucun DELETE, aucune mise à jour. +# +# Usage : +# .\scripts\seed-referentiel-complet.ps1 # génère le .sql uniquement +# .\scripts\seed-referentiel-complet.ps1 -Apply # génère + applique via psql +# .\scripts\seed-referentiel-complet.ps1 -Apply -Database omika_diagnostics_preprod +# .\scripts\seed-referentiel-complet.ps1 -Apply -Server SRV-OMIKA -Username omika_diagnostics_web +# .\scripts\seed-referentiel-complet.ps1 -Apply -Force # sans demande de confirmation +# +# Remarques : +# - Nécessite psql (PostgreSQL) uniquement pour -Apply. +# - Rôle de connexion : 'postgres' (défaut, superutilisateur, comme 011) ou +# 'omika_diagnostics_web' (moindre privilège : INSERT accordé par 011). +# 'omika_diagnostics_owner' est NOLOGIN et ne peut PAS servir ici. +# - Le mot de passe n'est JAMAIS en clair : saisi en mode sécurisé, ou +# fourni via la variable d'environnement PGPASSWORD (jamais en paramètre). +# - Les codes de boutons dont le libellé n'est pas encore dans la table +# interne $featureLabels sont signalés (libellé de repli « humanisé »). +# ============================================================ + +[CmdletBinding()] +param( + [string]$Database = 'omika_diagnostics', + [string]$Server = 'localhost', + [int]$Port = 5432, + [string]$Username = 'postgres', + [string]$PsqlPath = '', + [string]$OutputSql = '', + [switch]$Apply, + [switch]$Force +) + +$ErrorActionPreference = 'Stop' + +# Racine du dépôt = parent du dossier scripts\. +$RepoRoot = Split-Path -Parent $PSScriptRoot +$ViewModelsDir = Join-Path $RepoRoot 'src\Omika.App\ViewModels' + +if (-not (Test-Path -LiteralPath $ViewModelsDir)) { + throw "Dossier ViewModels introuvable : $ViewModelsDir" +} + +if ([string]::IsNullOrWhiteSpace($OutputSql)) { + $OutputSql = Join-Path $RepoRoot 'scripts\dev\seed_referentiel_complet.sql' +} + +# ============================================================ +# 1. Portage EXACT de DiagnosticFeatureCodes.FromCommandName +# (retire le suffixe Async, PascalCase -> UPPER_SNAKE_CASE). +# ============================================================ +function ConvertTo-FeatureCode { + param([string]$MethodName) + + $v = $MethodName.Trim() + if ([string]::IsNullOrWhiteSpace($v)) { return 'ACTION' } + if ($v.EndsWith('Async', [System.StringComparison]::Ordinal)) { + $v = $v.Substring(0, $v.Length - 5) + } + + $sb = New-Object System.Text.StringBuilder + for ($i = 0; $i -lt $v.Length; $i++) { + $c = $v[$i] + if ([char]::IsUpper($c)) { + $prevLower = ($i -gt 0) -and [char]::IsLower($v[$i - 1]) + $prevUpper = ($i -gt 0) -and [char]::IsUpper($v[$i - 1]) + $nextLower = ($i + 1 -lt $v.Length) -and [char]::IsLower($v[$i + 1]) + if (($prevLower -or ($prevUpper -and $nextLower)) -and $sb.Length -gt 0 -and $sb[$sb.Length - 1] -ne '_') { + [void]$sb.Append('_') + } + [void]$sb.Append([char]::ToUpperInvariant($c)) + } + elseif ($c -eq '_' -or $c -eq '-' -or $c -eq ' ') { + if ($sb.Length -gt 0 -and $sb[$sb.Length - 1] -ne '_') { + [void]$sb.Append('_') + } + } + else { + [void]$sb.Append([char]::ToUpperInvariant($c)) + } + } + + if ($sb.Length -eq 0) { return 'ACTION' } + return $sb.ToString() +} + +# ============================================================ +# 2. Extraction des noms de méthodes [RelayCommand]. +# ============================================================ +function Get-RelayCommandMethodNames { + param([string]$Directory) + + $names = New-Object System.Collections.Generic.List[string] + $sigPattern = '^\s*(?:public|private|internal|protected)?\s*(?:async\s+)?(?:Task(?:<[^>]+>)?|void|bool|[A-Za-z_][A-Za-z0-9_<>,\.\[\]\? ]*)\s+([A-Za-z_][A-Za-z0-9_]*)\s*\(' + + foreach ($file in (Get-ChildItem -Path $Directory -Filter *.cs | Sort-Object Name)) { + $lines = Get-Content -Path $file.FullName + for ($i = 0; $i -lt $lines.Count; $i++) { + if ($lines[$i] -match '\[RelayCommand') { + for ($j = $i + 1; $j -lt [Math]::Min($i + 8, $lines.Count); $j++) { + if ($lines[$j] -match $sigPattern) { + $names.Add($Matches[1]) + break + } + } + } + } + } + + return $names +} + +# ============================================================ +# 3. Catalogue des 30 ScreenCode (labels = DiagnosticScreenCodeCatalog). +# ============================================================ +$screenCodes = @( + [pscustomobject]@{ Code = 'AGENDA'; Label = 'Agenda' }, + [pscustomobject]@{ Code = 'INTERVENTION_SEARCH'; Label = 'Recherche d''interventions' }, + [pscustomobject]@{ Code = 'DOSSIER_LIST'; Label = 'Dossiers' }, + [pscustomobject]@{ Code = 'TEAM'; Label = 'Équipe' }, + [pscustomobject]@{ Code = 'TEAM_DETAIL'; Label = 'Détail d''équipe' }, + [pscustomobject]@{ Code = 'CLIENT_LIST'; Label = 'Clients' }, + [pscustomobject]@{ Code = 'SITE_LIST'; Label = 'Sites' }, + [pscustomobject]@{ Code = 'SETTINGS'; Label = 'Paramètres' }, + [pscustomobject]@{ Code = 'RENDEZVOUS_DETAIL'; Label = 'Détail de rendez-vous' }, + [pscustomobject]@{ Code = 'AGENDA_TEAM'; Label = 'Agenda d''équipe' }, + [pscustomobject]@{ Code = 'INTERVENTION_DETAIL'; Label = 'Détail d''intervention' }, + [pscustomobject]@{ Code = 'INTERVENTION_DOCUMENTS'; Label = 'Documents d''intervention' }, + [pscustomobject]@{ Code = 'INTERVENTION_NOTES'; Label = 'Notes d''intervention' }, + [pscustomobject]@{ Code = 'INTERVENTION_NOTES_ADMIN'; Label = 'Notes administratives' }, + [pscustomobject]@{ Code = 'INTERVENTION_EMAILS'; Label = 'Courriels d''intervention' }, + [pscustomobject]@{ Code = 'EMAIL'; Label = 'Nouveau courriel' }, + [pscustomobject]@{ Code = 'RAPPORT'; Label = 'Rapport' }, + [pscustomobject]@{ Code = 'INTERVENTION_RESOURCES'; Label = 'Contenus d''intervention' }, + [pscustomobject]@{ Code = 'PHOTO_VIEWER'; Label = 'Visionneuse photo' }, + [pscustomobject]@{ Code = 'IMAGE_EDITOR'; Label = 'Éditeur d''image' }, + [pscustomobject]@{ Code = 'INTERVENTION_CONTACTS'; Label = 'Contacts d''intervention' }, + [pscustomobject]@{ Code = 'CONTACT_DETAIL'; Label = 'Détail de contact' }, + [pscustomobject]@{ Code = 'DOSSIER_DETAIL'; Label = 'Détail de dossier' }, + [pscustomobject]@{ Code = 'CLIENT_DETAIL'; Label = 'Détail de client' }, + [pscustomobject]@{ Code = 'SITE_DETAIL'; Label = 'Détail de site' }, + [pscustomobject]@{ Code = 'COLLABORATEUR_DETAIL'; Label = 'Détail de collaborateur' }, + [pscustomobject]@{ Code = 'INTERVENTION_EDIT'; Label = 'Formulaire intervention' }, + [pscustomobject]@{ Code = 'SUIVI_TEMPS_CREATE'; Label = 'Saisie de temps' }, + [pscustomobject]@{ Code = 'COMPTE_RENDU_CREATE'; Label = 'Compte rendu' }, + [pscustomobject]@{ Code = 'SYNC_QUEUE'; Label = 'File de synchronisation' } +) + +# ============================================================ +# 4. Libellés français des FeatureCode (boutons + 3 actions métier). +# Clé = FeatureCode dérivé ; valeur = libellé métier français. +# ============================================================ +$semanticFeatureOrder = @('INTERVENTION_SEARCH_RUN', 'REPORT_GENERATE', 'EMAIL_SEND') + +$featureLabels = @{ + # --- Actions métier historiques (semantic success events) --- + 'INTERVENTION_SEARCH_RUN' = 'Recherche d''intervention' + 'REPORT_GENERATE' = 'Génération de rapport' + 'EMAIL_SEND' = 'Envoi de courriel' + + # --- Boutons (dérivés des commandes [RelayCommand]) --- + 'ADD_COLLABORATEUR' = 'Ajouter un collaborateur' + 'ADD_DOCUMENT' = 'Ajouter un document' + 'ADD_NOTE' = 'Ajouter une note' + 'ADD_PHOTO' = 'Ajouter une photo' + 'ADD_PHOTO_FROM_CAMERA' = 'Prendre une photo' + 'ADD_TIME' = 'Ajouter un temps' + 'AJOUTER_DOCUMENT' = 'Ajouter un document' + 'AJOUTER_PHOTO' = 'Ajouter une photo' + 'ANNULER' = 'Annuler' + 'ANNULER_CONFIRMATION_ANNULATION' = 'Annuler la confirmation' + 'APPLY_CUSTOM_COLOR' = 'Appliquer la couleur personnalisée' + 'APPLY_PRIMARY_COLOR' = 'Appliquer la couleur principale' + 'ARCHIVE' = 'Archiver' + 'ASSIGN_LICENCE' = 'Attribuer une licence' + 'BACK' = 'Retour' + 'BASCULER_OPTION' = 'Cocher / décocher l''option' + 'BASCULER_SELECTION' = 'Sélectionner la pièce jointe' + 'CALL' = 'Appeler' + 'CALL_COLLABORATEUR' = 'Appeler le collaborateur' + 'CALL_CONTACT' = 'Appeler le contact' + 'CALL_PRIMARY' = 'Appeler (contact principal)' + 'CALL_SUIVI_PAR' = 'Appeler (suivi par)' + 'CANCEL' = 'Annuler' + 'CANCEL_ARCHIVE' = 'Annuler l''archivage' + 'CANCEL_SCAN' = 'Annuler le scan' + 'CLEAR_ALL_DATA' = 'Vider toutes les données' + 'CLEAR_DOCUMENTS' = 'Vider les documents' + 'CONFIRM_ARCHIVE' = 'Confirmer l''archivage' + 'CONFIRMER_ANNULATION' = 'Confirmer l''annulation' + 'CONTINUER' = 'Continuer' + 'DELETE_DRAFT' = 'Supprimer le brouillon' + 'DEMANDER_ANNULATION' = 'Demander l''annulation' + 'DOWNLOAD' = 'Télécharger' + 'DOWNLOAD_ALL_DOCUMENTS' = 'Télécharger tous les documents' + 'DOWNLOAD_ALL_PHOTOS' = 'Télécharger toutes les photos' + 'EDIT' = 'Modifier' + 'EDIT_DRAFT' = 'Modifier le brouillon' + 'EMAIL' = 'Envoyer un courriel' + 'EMAIL_COLLABORATEUR' = 'Écrire au collaborateur' + 'EMAIL_CONTACT' = 'Écrire au contact' + 'EMAIL_PRIMARY' = 'Écrire (contact principal)' + 'EMAIL_SUIVI_PAR' = 'Écrire (suivi par)' + 'ENREGISTRER' = 'Enregistrer' + 'ENROLL' = 'Enrôler' + 'ENVOYER' = 'Envoyer' + 'ENVOYER_EMAIL' = 'Envoyer par courriel' + 'GENERER' = 'Générer' + 'GO_TO_TODAY' = 'Aller à aujourd''hui' + 'HIDE_EDITOR' = 'Masquer l''éditeur' + 'INITIALIZE' = 'Initialiser' + 'LOAD' = 'Charger' + 'LOAD_AVEC_DESTINATAIRE' = 'Charger avec destinataire' + 'LOAD_AVEC_RAPPORT' = 'Charger avec rapport' + 'LOAD_EDITION' = 'Charger en édition' + 'LOAD_SCOPES' = 'Charger les périmètres' + 'LOGOUT' = 'Se déconnecter' + 'MODIFIER' = 'Modifier' + 'NAVIGATE' = 'Naviguer' + 'NEW_INTERVENTION' = 'Nouvelle intervention' + 'NEXT' = 'Suivant' + 'NEXT_DAY' = 'Jour suivant' + 'NEXT_WEEK' = 'Semaine suivante' + 'NOUVEAU' = 'Nouveau' + 'OPEN' = 'Ouvrir' + 'OPEN_CLIENT' = 'Ouvrir le client' + 'OPEN_COLLABORATEUR' = 'Ouvrir le collaborateur' + 'OPEN_COMPTE_RENDU' = 'Ouvrir le compte rendu' + 'OPEN_CONTACT' = 'Ouvrir le contact' + 'OPEN_CONTACTS' = 'Ouvrir les contacts' + 'OPEN_DOCUMENTS' = 'Ouvrir les documents' + 'OPEN_DOSSIER' = 'Ouvrir le dossier' + 'OPEN_EMAILS' = 'Ouvrir les courriels' + 'OPEN_EQUIPE' = 'Ouvrir l''équipe' + 'OPEN_FIRST_RENDEZ_VOUS' = 'Ouvrir le premier rendez-vous' + 'OPEN_IMAGES' = 'Ouvrir les images' + 'OPEN_IMAGES_ET_DOCUMENTS' = 'Ouvrir images et documents' + 'OPEN_INTERVENTION' = 'Ouvrir l''intervention' + 'OPEN_ITINERAIRE' = 'Ouvrir l''itinéraire' + 'OPEN_NOTES' = 'Ouvrir les notes' + 'OPEN_NOTES_ADMINISTRATIVES' = 'Ouvrir les notes administratives' + 'OPEN_RAPPORT' = 'Ouvrir le rapport' + 'OPEN_RENDEZ_VOUS' = 'Ouvrir le rendez-vous' + 'OPEN_SITE' = 'Ouvrir le site' + 'OPEN_SYNC_QUEUE' = 'Ouvrir la file de synchronisation' + 'OPEN_TEAM_AGENDA' = 'Ouvrir l''agenda d''équipe' + 'OUVRIR_BROUILLON' = 'Ouvrir le brouillon' + 'OUVRIR_RUBRIQUE' = 'Ouvrir une rubrique' + 'PREVIOUS' = 'Précédent' + 'PREVIOUS_DAY' = 'Jour précédent' + 'PREVIOUS_WEEK' = 'Semaine précédente' + 'RELEASE_LICENCE' = 'Libérer la licence' + 'REMOVE_COLLABORATEUR' = 'Retirer un collaborateur' + 'RESET_APP' = 'Réinitialiser l''application' + 'RESET_FILTERS' = 'Réinitialiser les filtres' + 'RESET_SEARCH' = 'Réinitialiser la recherche' + 'RETOUR' = 'Retour' + 'RETOUR_RUBRIQUES' = 'Retour aux rubriques' + 'RETRY' = 'Réessayer' + 'RUBRIQUE_PRECEDENTE' = 'Rubrique précédente' + 'RUBRIQUE_SUIVANTE' = 'Rubrique suivante' + 'SAVE' = 'Enregistrer' + 'SAVE_EDITOR' = 'Enregistrer l''éditeur' + 'SAVE_PAUSE_DEJEUNER' = 'Enregistrer la pause déjeuner' + 'SCAN' = 'Scanner' + 'SEARCH' = 'Rechercher' + 'SELECT_CALENDAR_DAY' = 'Sélectionner un jour' + 'SELECT_CLIENTS' = 'Onglet Clients' + 'SELECT_CONTACTS' = 'Onglet Contacts' + 'SELECT_DAY' = 'Sélectionner le jour' + 'SELECT_DOSSIERS' = 'Onglet Dossiers' + 'SELECT_INTERVENTIONS' = 'Onglet Interventions' + 'SELECT_RENDEZ_VOUS' = 'Onglet Rendez-vous' + 'SELECT_SITES' = 'Onglet Sites' + 'SELECT_TAB' = 'Changer d''onglet' + 'SEND_SUPPORT_EMAIL' = 'Écrire au support' + 'SET_PRIMARY_COLOR' = 'Changer la couleur principale' + 'SET_THEME_MODE' = 'Changer le thème' + 'SHOW_CALENDAR' = 'Afficher le calendrier' + 'SHOW_DAY' = 'Afficher le jour' + 'SHOW_PINNED' = 'Afficher les épinglés' + 'SHOW_RECENT' = 'Afficher les récents' + 'SHOW_WEEK' = 'Afficher la semaine' + 'SYNC_NOW' = 'Synchroniser maintenant' + 'TOGGLE_PINNED' = 'Épingler / désépingler' + 'VALIDER' = 'Valider' +} + +# ============================================================ +# 5. Dérivation des boutons depuis le code source + contrôle de +# couverture (un code non mappé => libellé de repli + avertissement). +# ============================================================ +function ConvertTo-HumanizedLabel { + param([string]$Code) + $words = $Code -split '_' + $parts = foreach ($w in $words) { + if ($w.Length -eq 0) { continue } + if ($w.Length -eq 1) { $w.ToUpperInvariant() } + else { $w.Substring(0, 1).ToUpperInvariant() + $w.Substring(1).ToLowerInvariant() } + } + return ($parts -join ' ') +} + +$methodNames = Get-RelayCommandMethodNames -Directory $ViewModelsDir +$buttonCodes = $methodNames | ForEach-Object { ConvertTo-FeatureCode $_ } | Sort-Object -Unique + +$unmapped = @() +foreach ($code in $buttonCodes) { + if (-not $featureLabels.ContainsKey($code)) { + $unmapped += $code + $featureLabels[$code] = ConvertTo-HumanizedLabel -Code $code + } +} + +if ($unmapped.Count -gt 0) { + Write-Warning "Codes de boutons sans libellé explicite (libellé humanisé appliqué) : $($unmapped -join ', ')" +} + +# ============================================================ +# 6. Génération du SQL (INSERT ... ON CONFLICT DO NOTHING). +# ============================================================ +function ConvertTo-SqlLiteral { + param([string]$Value) + return "'" + ($Value -replace "'", "''") + "'" +} + +$rows = New-Object System.Collections.Generic.List[string] + +# ScreenCodes : sort_order 10..290 (pas de 10). +$screenSort = 10 +foreach ($s in $screenCodes) { + $rows.Add(" ('SCREEN_CODE', $(ConvertTo-SqlLiteral $s.Code), $(ConvertTo-SqlLiteral $s.Label), NULL, TRUE, $screenSort, now(), now())") + $screenSort += 10 +} + +# FeatureCode « actions métier » : sort_order 10/20/30 (aligné 011). +$semanticSort = 10 +foreach ($code in $semanticFeatureOrder) { + if ($featureLabels.ContainsKey($code)) { + $rows.Add(" ('FEATURE_CODE', $(ConvertTo-SqlLiteral $code), $(ConvertTo-SqlLiteral $featureLabels[$code]), NULL, TRUE, $semanticSort, now(), now())") + } + $semanticSort += 10 +} + +# FeatureCode « boutons » : tri alphabétique, sort_order 1000, 1010, ... +$buttonSort = 1000 +foreach ($code in ($buttonCodes | Sort-Object)) { + $rows.Add(" ('FEATURE_CODE', $(ConvertTo-SqlLiteral $code), $(ConvertTo-SqlLiteral $featureLabels[$code]), NULL, TRUE, $buttonSort, now(), now())") + $buttonSort += 10 +} + +$sql = @" +-- ===================================================================== +-- Omika Diagnostic Center — SEED RÉFÉRENTIEL COMPLET (généré) +-- Généré par scripts\seed-referentiel-complet.ps1 +-- ===================================================================== +-- NON DESTRUCTIF : INSERT ... ON CONFLICT DO NOTHING. +-- IDEMPOTENT : un libellé modifié par un Admin n'est JAMAIS écrasé. +-- Cible : table diagnostics_reference (T24-A, créée par 011_diagnostics_reference.sql). +-- Aucun mot de passe, aucune donnée personnelle, aucun secret. +-- ===================================================================== + +INSERT INTO diagnostics_reference + (reference_type, code, label, description, enabled, sort_order, created_at_utc, updated_at_utc) +VALUES +$($rows -join ",`n") +ON CONFLICT DO NOTHING; + +-- ===================================================================== +-- FIN. Vérification : +-- SELECT reference_type, COUNT(*) FROM diagnostics_reference GROUP BY reference_type; +-- ===================================================================== +"@ + +$null = New-Item -ItemType Directory -Path (Split-Path -Parent $OutputSql) -Force +# UTF-8 SANS BOM (psql), indépendant de la version PowerShell. +$utf8NoBom = New-Object System.Text.UTF8Encoding($false) +[System.IO.File]::WriteAllText($OutputSql, $sql, $utf8NoBom) + +# ============================================================ +# 7. Application via psql (optionnel). +# ============================================================ +if ($Apply) { + $psql = $PsqlPath + if ([string]::IsNullOrWhiteSpace($psql)) { + $cmd = Get-Command psql -ErrorAction SilentlyContinue + if ($cmd) { $psql = $cmd.Source } + elseif (Test-Path -LiteralPath 'C:\Program Files\PostgreSQL\18\bin\psql.exe') { + $psql = 'C:\Program Files\PostgreSQL\18\bin\psql.exe' + } + else { + throw "psql introuvable : précisez -PsqlPath ou ajoutez PostgreSQL\bin au PATH." + } + } + + if (-not $Force) { + Write-Host '' + Write-Host "Application du référentiel :" -ForegroundColor Yellow + Write-Host " Fichier : $OutputSql" + Write-Host " Serveur : ${Server}:${Port}" + Write-Host " Base : $Database" + Write-Host " Utilisateur : $Username" + $confirm = Read-Host "Confirmer l'application (taper OUI) ?" + if ($confirm -cne 'OUI') { + Write-Host 'Annulé par l''utilisateur.' -ForegroundColor Yellow + exit 0 + } + } + + if ([string]::IsNullOrWhiteSpace($env:PGPASSWORD)) { + $sec = Read-Host "Mot de passe PostgreSQL pour $Username" -AsSecureString + $env:PGPASSWORD = [Runtime.InteropServices.Marshal]::PtrToStringUni( + [Runtime.InteropServices.Marshal]::SecureStringToBSTR($sec)) + } + + try { + & $psql -h $Server -p $Port -U $Username -d $Database -v ON_ERROR_STOP=1 -f $OutputSql + if ($LASTEXITCODE -ne 0) { + throw "psql a échoué (exit $LASTEXITCODE)." + } + } + finally { + $env:PGPASSWORD = $null + } +} + +# ============================================================ +# 8. Résumé. +# ============================================================ +Write-Host '' +Write-Host '== Référentiel généré ==' -ForegroundColor Cyan +Write-Host " Écrans (ScreenCode) : $($screenCodes.Count)" +Write-Host " Boutons [RelayCommand] : $($methodNames.Count) méthodes -> $($buttonCodes.Count) codes uniques" +Write-Host " Actions métier (histor.) : $($semanticFeatureOrder.Count)" +Write-Host " Total lignes SQL : $($rows.Count)" +Write-Host " Fichier SQL : $OutputSql" +if ($unmapped.Count -gt 0) { + Write-Warning "Rappel : $($unmapped.Count) code(s) sans libellé explicite : $($unmapped -join ', ')" +} +if (-not $Apply) { + Write-Host '' + Write-Host 'Relancez avec -Apply pour appliquer via psql, ou exécutez :' -ForegroundColor Yellow + Write-Host " psql -U $Username -d $Database -v ON_ERROR_STOP=1 -f $OutputSql" +} diff --git a/scripts/tests/Test-Completer-Packs-Langues.ps1 b/scripts/tests/Test-Completer-Packs-Langues.ps1 new file mode 100644 index 0000000..03bf59d --- /dev/null +++ b/scripts/tests/Test-Completer-Packs-Langues.ps1 @@ -0,0 +1,151 @@ +# ============================================================ +# Omika - Tests de scripts\Completer-Packs-Langues.ps1 +# ============================================================ +# AUCUN acces reseau : la recuperation des fichiers est injectee (scriptblock), +# ce qui permet de simuler un modele identique, un modele different et une +# panne reseau — les trois seuls cas qui decident du sort d'un pack. +# +# Ce que ces tests protegent : +# - le nom du depot deduit du code et du sens (une inversion produirait +# opus-mt-fr-es au lieu d'opus-mt-es-fr, donc le vocabulaire d'un AUTRE +# modele, c'est-a-dire un charabia silencieux) ; +# - le garde-fou : rien n'est ecrit quand le source.spm telecharge differe ; +# - le fait que -Verifier n'ecrive jamais. +# ============================================================ + +$ErrorActionPreference = 'Stop' + +$scriptTeste = Join-Path (Split-Path -Parent $PSScriptRoot) 'Completer-Packs-Langues.ps1' + +$tests = 0 +$fails = 0 + +function Assert([bool]$condition, [string]$label) { + $script:tests++ + if ($condition) { + Write-Host ("PASS {0}" -f $label) -ForegroundColor Green + } + else { + Write-Host ("FAIL {0}" -f $label) -ForegroundColor Red + $script:fails++ + } +} + +# Les fonctions du script sont chargees sans executer le traitement. +. $scriptTeste + +$bac = Join-Path ([System.IO.Path]::GetTempPath()) ('omika-completion-test-' + [guid]::NewGuid().ToString('N').Substring(0, 8)) +$packs = Join-Path $bac 'packs' + +try { + # --- Un pack par cas ----------------------------------------------------- + foreach ($couple in @( + @{ Code = 'es'; Sens = 'versFrancais'; ContenuSpm = 'source-espagnol' }, + @{ Code = 'pt'; Sens = 'versFrancais'; ContenuSpm = 'source-portugais' }, + @{ Code = 'it'; Sens = 'depuisFrancais'; ContenuSpm = 'source-italien' })) { + $dossier = Join-Path (Join-Path $packs $couple.Code) $couple.Sens + $null = New-Item -ItemType Directory -Path $dossier -Force + Set-Content -LiteralPath (Join-Path $dossier 'source.spm') -Value $couple.ContenuSpm -NoNewline + Set-Content -LiteralPath (Join-Path $dossier 'target.spm') -Value 'cible' -NoNewline + Set-Content -LiteralPath (Join-Path $dossier 'encoder_model.onnx') -Value 'faux' -NoNewline + } + + # Dossier technique : ce n'est pas une langue, il doit etre ignore. + $null = New-Item -ItemType Directory -Path (Join-Path $packs '.hf-cache\hub') -Force + + # --- 1. Nom du depot deduit --------------------------------------------- + Assert ((Get-NomModele -Code 'es' -Sens 'versFrancais') -eq 'Helsinki-NLP/opus-mt-es-fr') 'versFrancais -> opus-mt-es-fr' + Assert ((Get-NomModele -Code 'it' -Sens 'depuisFrancais') -eq 'Helsinki-NLP/opus-mt-fr-it') 'depuisFrancais -> opus-mt-fr-it' + Assert ((Get-NomModele -Code 'ES' -Sens 'versFrancais') -eq 'Helsinki-NLP/opus-mt-es-fr') 'code mis en minuscules' + Assert ((Get-NomModele -Code 'pt-br' -Sens 'depuisFrancais') -eq 'Helsinki-NLP/opus-mt-fr-pt-br') 'code compose conserve' + + # --- 2. Inventaire ------------------------------------------------------- + $presents = @(Get-PacksPresents -Racine $packs) + Assert ($presents.Count -eq 3) 'trois couples (code, sens) trouves' + Assert (@($presents | Where-Object { $_.Code -eq '.hf-cache' }).Count -eq 0) 'dossier technique ignore' + + $filtres = @(Get-PacksPresents -Racine $packs -CodesFiltres @('pt')) + Assert ($filtres.Count -eq 1 -and $filtres[0].Code -eq 'pt') 'filtre par code applique' + + # --- 3. Faux recuperateur : es identique, pt different, it en panne ------ + $appels = New-Object 'System.Collections.Generic.List[string]' + $recuperer = { + param($modele, $fichier, $destination) + $script:appels.Add(('{0}|{1}' -f $modele, $fichier)) + if ($modele -like '*fr-it') { return $false } # it : panne reseau + + $contenu = if ($fichier -eq 'source.spm') { + # pt : le depot deduit n'est pas celui du pack. + if ($modele -like '*pt-fr') { 'source-autre-modele' } else { 'source-espagnol' } + } + elseif ($fichier -eq 'vocab.json') { '{ "piece": 584 }' } + else { '{ "decoder_start_token_id": 74821, "eos_token_id": 0 }' } + + Set-Content -LiteralPath $destination -Value $contenu -NoNewline + return $true + } + + # --- 4. Verification seule : rien n'est ecrit ---------------------------- + $bilanVerif = Invoke-Completion -Racine $packs -Recuperer $recuperer -SansEcrire + Assert ($bilanVerif.Packs -eq 3) 'verification : trois packs examines' + Assert ($bilanVerif.Alignes -eq 1) 'verification : un pack aligne (es)' + Assert ($bilanVerif.Ecartes -eq 1) 'verification : un pack ecarte (pt)' + Assert ($bilanVerif.Echecs -eq 1) 'verification : un echec (it)' + Assert ($bilanVerif.Ecrits -eq 0) 'verification : aucune ecriture' + Assert (-not (Test-Path -LiteralPath (Join-Path $packs 'es\versFrancais\vocab.json'))) 'verification : vocab.json absent du pack aligne' + + # --- 5. Ecriture reelle -------------------------------------------------- + $bilan = Invoke-Completion -Racine $packs -Recuperer $recuperer + Assert ($bilan.Ecrits -eq 1) 'ecriture : un pack complete' + Assert (Test-Path -LiteralPath (Join-Path $packs 'es\versFrancais\vocab.json')) 'ecriture : vocab.json pose' + Assert (Test-Path -LiteralPath (Join-Path $packs 'es\versFrancais\config.json')) 'ecriture : config.json pose' + Assert (-not (Test-Path -LiteralPath (Join-Path $packs 'pt\versFrancais\vocab.json'))) 'ecart : aucun fichier ecrit' + Assert (-not (Test-Path -LiteralPath (Join-Path $packs 'it\depuisFrancais\vocab.json'))) 'echec : aucun fichier ecrit' + + # --- 6. Le vocabulaire n'est jamais pris pour la configuration ----------- + $config = Get-Content -LiteralPath (Join-Path $packs 'es\versFrancais\config.json') -Raw + Assert ($config -like '*decoder_start_token_id*') 'config.json recopie tel quel' + $vocab = Get-Content -LiteralPath (Join-Path $packs 'es\versFrancais\vocab.json') -Raw + Assert ($vocab -like '*584*') 'vocab.json recopie tel quel' + + # --- 7. Les bons fichiers ont ete demandes -------------------------------- + Assert ($appels -contains 'Helsinki-NLP/opus-mt-es-fr|vocab.json') 'vocabulaire demande au bon depot (es)' + Assert ($appels -contains 'Helsinki-NLP/opus-mt-fr-it|source.spm') 'source demandee au bon depot (it)' + + # --- 8. Idempotence : relancer ne casse rien ----------------------------- + $bilan2 = Invoke-Completion -Racine $packs -Recuperer $recuperer + Assert ($bilan2.Ecrits -eq 1 -and $bilan2.Packs -eq 3) 'deuxieme passage : meme resultat' + + # --- 9. Un pack familial (commun/) n'est pas un pack a completer --------- + # Un modele familial range ses poids dans \commun\ et ne laisse qu'un + # modele.json par sens : il n'a AUCUN source.spm par sens, donc rien a + # aligner. Le completer fabriquerait sinon un [ECART] trompeur (la paire + # bilingue deduite n'existe pas) et ferait croire le pack casse. + $dossierFamille = Join-Path (Join-Path $packs 'de') 'commun' + $null = New-Item -ItemType Directory -Path $dossierFamille -Force + Set-Content -LiteralPath (Join-Path $dossierFamille 'source.spm') -Value 'source-famille' -NoNewline + Set-Content -LiteralPath (Join-Path $dossierFamille 'encoder_model.onnx') -Value 'faux' -NoNewline + foreach ($sens in @('versFrancais', 'depuisFrancais')) { + $dossierSens = Join-Path (Join-Path $packs 'de') $sens + $null = New-Item -ItemType Directory -Path $dossierSens -Force + Set-Content -LiteralPath (Join-Path $dossierSens 'modele.json') -Value '{ "jetonCible": ">>fra<<" }' -NoNewline + } + + $presentsFamille = @(Get-PacksPresents -Racine $packs) + Assert ($presentsFamille.Count -eq 3) 'pack familial : aucun couple (code, sens) a completer' + $bilanFamille = Invoke-Completion -Racine $packs -Recuperer $recuperer -SansEcrire + Assert ($bilanFamille.Packs -eq 3 -and $bilanFamille.Ecartes -eq 1 -and $bilanFamille.Echecs -eq 1) ` + 'pack familial : le bilan ne change pas (aucun ecart invente)' +} +finally { + Remove-Item -LiteralPath $bac -Recurse -Force -ErrorAction SilentlyContinue +} + +Write-Host '' +if ($fails -eq 0) { + Write-Host ("{0} tests, 0 echec" -f $tests) -ForegroundColor Green + exit 0 +} + +Write-Host ("{0} tests, {1} echec(s)" -f $tests, $fails) -ForegroundColor Red +exit 1 diff --git a/scripts/tests/Test-Exporter-Packs-Langues.ps1 b/scripts/tests/Test-Exporter-Packs-Langues.ps1 new file mode 100644 index 0000000..ca95ea1 --- /dev/null +++ b/scripts/tests/Test-Exporter-Packs-Langues.ps1 @@ -0,0 +1,538 @@ +# ============================================================ +# Omika — Tests de scripts\Exporter-Packs-Langues.ps1 +# ============================================================ +# AUCUN acces reseau, AUCUN Python, AUCUN optimum : l'export est simule par un +# faux « optimum-cli » place dans un dossier temporaire ajoute au PATH. Ce qui +# est verifie ici est donc la logique du script, pas le contenu des modeles. +# +# Ce que ces tests protegent : +# - le nom des modeles demande a HuggingFace (un code de langue mal substitue +# produirait « opus-mt-e-fr » au lieu de « opus-mt-es-fr ») ; +# - les fichiers REELLEMENT ranges dans le pack (decoder_with_past_model.onnx +# ne doit jamais y entrer : il serait telecharge par chaque telephone) ; +# - l'idempotence (relancer ne reexporte pas) ; +# - -Simulation : le plan, sans rien ecrire. +# ============================================================ + +$ErrorActionPreference = 'Stop' + +$scriptTeste = Join-Path (Split-Path -Parent $PSScriptRoot) 'Exporter-Packs-Langues.ps1' + +$tests = 0 +$fails = 0 + +function Assert([bool]$condition, [string]$label) { + $script:tests++ + if ($condition) { + Write-Host ("PASS {0}" -f $label) -ForegroundColor Green + } + else { + Write-Host ("FAIL {0}" -f $label) -ForegroundColor Red + $script:fails++ + } +} + +$bac = Join-Path ([System.IO.Path]::GetTempPath()) ('omika-export-' + [guid]::NewGuid().ToString('N').Substring(0, 8)) +$shim = Join-Path $bac 'shim' +$packs = Join-Path $bac 'packs' + +try { + $null = New-Item -ItemType Directory -Path $shim -Force + + # --- Faux outils : reproduisent la sortie REELLE d'un export optimum ------- + # optimum produit encoder_model.onnx, decoder_model.onnx, + # decoder_with_past_model.onnx (a NE PAS livrer), source.spm, target.spm et + # des fichiers de tokenizer. + @' +@echo off +set OUT=%~5 +mkdir "%OUT%" 2>nul +echo fake-encoder > "%OUT%\encoder_model.onnx" +echo fake-decoder > "%OUT%\decoder_model.onnx" +echo fake-past > "%OUT%\decoder_with_past_model.onnx" +echo fake-source > "%OUT%\source.spm" +echo fake-target > "%OUT%\target.spm" +echo { "piece": 1 } > "%OUT%\vocab.json" +echo { "decoder_start_token_id": 1, "eos_token_id": 0 } > "%OUT%\config.json" +echo fake-junk > "%OUT%\tokenizer.json" +if not "%OMIKA_TEST_HFHOME_FILE%"=="" echo %HF_HOME%> "%OMIKA_TEST_HFHOME_FILE%" +exit /b 0 +'@ | Set-Content -LiteralPath (Join-Path $shim 'optimum-cli.cmd') -Encoding ASCII + + @' +@echo off +if "%~1"=="-c" ( + if not "%OMIKA_TEST_SCRIPTS_PYTHON%"=="" echo %OMIKA_TEST_SCRIPTS_PYTHON% + if not "%OMIKA_TEST_SCRIPTS_NTUSER%"=="" echo %OMIKA_TEST_SCRIPTS_NTUSER% + exit /b 0 +) +echo Python 3.11.0 +exit /b 0 +'@ | Set-Content -LiteralPath (Join-Path $shim 'python.cmd') -Encoding ASCII + + # --- 1. Syntaxe --------------------------------------------------------- + Write-Host '=== 1. Syntaxe PowerShell 5.1 ===' + $tokens = $null + $errors = $null + [System.Management.Automation.Language.Parser]::ParseFile($scriptTeste, [ref]$tokens, [ref]$errors) | Out-Null + Assert ((@($errors).Count) -eq 0) 'Syntaxe : 0 erreur' + + # --- 2. -Simulation : le plan, et RIEN sur le disque -------------------- + Write-Host '' + Write-Host '=== 2. -Simulation ===' + $plan = (& $scriptTeste -Simulation -RacinePacks $packs 6>&1 | Out-String) + Assert ($LASTEXITCODE -eq 0) '-Simulation : code retour 0' + Assert ($plan -match 'Anglais') '-Simulation : la table des langues est listee' + Assert ($plan -match 'opus-mt-uk-fr' -and $plan -match 'opus-mt-ru-fr') '-Simulation : ukrainien et russe presents' + Assert ($plan -match 'Modeles a exporter\s+:\s+102') '-Simulation : 102 modeles (2 par langue, 51 langues) annonces' + Assert ($plan -match 'opus-mt-ar-fr' -and $plan -match 'opus-mt-fr-ar') '-Simulation : l''arabe est dans la table' + Assert ($plan -match 'opus-mt-tc-big') '-Simulation : la famille de repli « tc-big » est annoncee' + Assert ($plan -match 'Repli familial pour 6 langue') '-Simulation : les 6 langues a modele familial sont annoncees' + Assert ($plan -match 'opus-mt-tc-big-itc-itc') '-Simulation : le modele de famille est nomme' + Assert (-not (Test-Path -LiteralPath $packs)) '-Simulation : aucun dossier de sortie cree' + + $zone = (& $scriptTeste -Simulation -Zone Est -RacinePacks $packs 6>&1 | Out-String) + Assert ($zone -match 'Langues selectionnees : 3') '-Zone Est : 3 langues (ru, uk, be)' + Assert ($zone -notmatch 'Espagnol') '-Zone Est : les autres zones sont exclues' + + $codes = (& $scriptTeste -Simulation -Codes es,zzz -RacinePacks $packs 6>&1 | Out-String) + Assert ($codes -match 'code inconnu, ignore : zzz') '-Codes : un code inconnu est signale' + Assert ($codes -match 'Langues selectionnees : 1') '-Codes : seule la langue connue est retenue' + + # -Codes "es,pt" (une seule chaine, entre guillemets ou via une variable) : + # piege reel — sans decoupage, la chaine entiere etait prise pour un code + # unique et le script s'arretait sur « Aucune langue selectionnee ». + $chaine = (& $scriptTeste -Simulation -Codes 'es,pt' -RacinePacks $packs 6>&1 | Out-String) + Assert ($chaine -match 'Langues selectionnees : 2') '-Codes : la liste entre guillemets est bien decoupee' + Assert ($chaine -notmatch 'code inconnu') '-Codes : aucune alerte sur une liste entre guillemets' + + # --- 3. Export reel (simule) -------------------------------------------- + Write-Host '' + Write-Host '=== 3. Export reel avec un faux optimum-cli ===' + $env:PATH = $shim + ';' + $env:PATH + + # Cache HuggingFace : le script doit le placer a cote des packs (et non sur C: + # dans %USERPROFILE%), et le vider apres un export reussi — sinon chaque + # modele occupe deux fois sa taille. + $traceHfHome = Join-Path $bac 'hfhome.txt' + $env:OMIKA_TEST_HFHOME_FILE = $traceHfHome + $cacheFaux = Join-Path (Join-Path $packs '.hf-cache') 'hub\models--Helsinki-NLP--opus-mt-es-fr' + $null = New-Item -ItemType Directory -Path $cacheFaux -Force + [System.IO.File]::WriteAllBytes((Join-Path $cacheFaux 'blob-pytorch'), (New-Object byte[] 2048)) + + $env:HF_HOME = '' + $sortie = (& $scriptTeste -SansVerifierHuggingFace -Codes es,pt -RacinePacks $packs ` + -OptimumCli 'optimum-cli' -Python 'python' 6>&1 | Out-String) + Assert ($LASTEXITCODE -eq 0) 'Export : code retour 0' + + Assert (Test-Path -LiteralPath $traceHfHome) 'Cache HuggingFace : HF_HOME est transmis a l''export' + $hfTransmis = (Get-Content -LiteralPath $traceHfHome -Raw).Trim() + Assert ($hfTransmis -eq (Join-Path $packs '.hf-cache')) ` + ('Cache HuggingFace : place a cote des packs ({0})' -f $hfTransmis) + Assert (-not (Test-Path -LiteralPath $cacheFaux)) 'Cache HuggingFace : la copie du modele est supprimee apres export' + Assert ($sortie -match 'Cache HuggingFace libere') 'Cache HuggingFace : l''espace libere est annonce' + + # Le nom du modele : le bug « opus-mt-e-fr » venait du deroulement PowerShell + # d'un tableau a un seul element ('es'[0] = 'e'). + Assert ($sortie -match 'Helsinki-NLP/opus-mt-es-fr') 'Export : modele « opus-mt-es-fr » demande' + Assert ($sortie -match 'Helsinki-NLP/opus-mt-fr-es') 'Export : modele « opus-mt-fr-es » demande' + Assert ($sortie -notmatch 'opus-mt-e-fr') 'Export : aucun code de langue tronque en un caractere' + + foreach ($sens in @('versFrancais', 'depuisFrancais')) { + $dossier = Join-Path (Join-Path $packs 'es') $sens + Assert (Test-Path -LiteralPath (Join-Path $dossier 'encoder_model.onnx')) ("es/{0} : modele principal present" -f $sens) + Assert (Test-Path -LiteralPath (Join-Path $dossier 'decoder_model.onnx')) ("es/{0} : decodeur separe present" -f $sens) + Assert (Test-Path -LiteralPath (Join-Path $dossier 'source.spm')) ("es/{0} : source.spm present" -f $sens) + Assert (Test-Path -LiteralPath (Join-Path $dossier 'target.spm')) ("es/{0} : target.spm present" -f $sens) + + # Le moteur a besoin de ces deux referentiels : sans eux il envoie au + # modele les identifiants du .spm, qui ne sont pas les siens (mesure : + # ▁Ho = 5293 cote .spm contre 584 cote modele) — traduction fausse et + # silencieuse. Les oublier ici reproduirait exactement ce defaut. + Assert (Test-Path -LiteralPath (Join-Path $dossier 'vocab.json')) ("es/{0} : vocab.json present" -f $sens) + Assert (Test-Path -LiteralPath (Join-Path $dossier 'config.json')) ("es/{0} : config.json present" -f $sens) + } + + Assert ((@(Get-ChildItem -LiteralPath $packs -Recurse -Filter '*with_past*')).Count -eq 0) ` + 'Export : decoder_with_past_model.onnx JAMAIS livre' + Assert ((@(Get-ChildItem -LiteralPath $packs -Recurse -Filter 'tokenizer.json')).Count -eq 0) ` + 'Export : fichiers de tokenizer non livres' + Assert ((@(Get-ChildItem -LiteralPath $packs -Directory -Filter '.tmp-*')).Count -eq 0) ` + 'Export : dossiers temporaires nettoyes' + + # --- 4. Idempotence et -Forcer ------------------------------------------ + Write-Host '' + Write-Host '=== 4. Idempotence ===' + $sortie2 = (& $scriptTeste -SansVerifierHuggingFace -Codes es -RacinePacks $packs ` + -OptimumCli 'optimum-cli' -Python 'python' 6>&1 | Out-String) + Assert ($sortie2 -match 'deja present') 'Idempotence : un pack deja present est ignore' + Assert ($sortie2 -notmatch 'export : Helsinki') 'Idempotence : aucun export relance' + + $sortie3 = (& $scriptTeste -SansVerifierHuggingFace -Codes es -RacinePacks $packs -Forcer ` + -OptimumCli 'optimum-cli' -Python 'python' 6>&1 | Out-String) + Assert ($sortie3 -match 'export : Helsinki') '-Forcer : l''export est relance' + + # -GarderCacheHuggingFace : on conserve la copie telechargee (utile pour + # enchainer plusieurs -Forcer sans retelecharger 300 Mo a chaque fois). + $cacheConserve = Join-Path (Join-Path $packs '.hf-cache') 'hub\models--Helsinki-NLP--opus-mt-fr-es' + $null = New-Item -ItemType Directory -Path $cacheConserve -Force + [System.IO.File]::WriteAllBytes((Join-Path $cacheConserve 'blob-pytorch'), (New-Object byte[] 1024)) + $null = & $scriptTeste -SansVerifierHuggingFace -Codes es -RacinePacks $packs -Forcer -GarderCacheHuggingFace ` + -OptimumCli 'optimum-cli' -Python 'python' 6>&1 + Assert (Test-Path -LiteralPath $cacheConserve) '-GarderCacheHuggingFace : le cache est conserve' + + # --- 4bis. Langue a moitie faite : ne pas repayer le sens deja la -------- + # Panne reelle : -InclureDirectionsPartielles sert a completer une langue qui + # n'a qu'un sens. Comme le test d'idempotence porte sur la LANGUE ENTIERE, la + # version precedente reexportait le sens deja present : 11 langues a moitie + # faites = 11 telechargements de 500 Mo inutiles. + Write-Host '' + Write-Host '=== 4bis. Sens deja present dans une langue incomplete ===' + $packsPartiel = Join-Path $bac 'packs-partiel' + $sensDejaLa = Join-Path $packsPartiel 'es\versFrancais' + $null = New-Item -ItemType Directory -Path $sensDejaLa -Force + foreach ($nom in @('encoder_model.onnx', 'decoder_model.onnx', 'source.spm', 'target.spm')) { + [System.IO.File]::WriteAllText((Join-Path $sensDejaLa $nom), 'MARQUEUR-INTACT') + } + + $sortiePartiel = (& $scriptTeste -SansVerifierHuggingFace -Codes es -RacinePacks $packsPartiel ` + -InclureDirectionsPartielles -OptimumCli 'optimum-cli' -Python 'python' 6>&1 | Out-String) + Assert ($LASTEXITCODE -eq 0) 'Partiel : code retour 0' + Assert ($sortiePartiel -match 'versFrancais : deja present, ignore') ` + 'Partiel : le sens deja present est ignore, pas reexporte' + Assert ((Get-Content -LiteralPath (Join-Path $sensDejaLa 'encoder_model.onnx') -Raw).Trim() -eq 'MARQUEUR-INTACT') ` + 'Partiel : le sens deja present n''est pas ecrase' + Assert (Test-Path -LiteralPath (Join-Path $packsPartiel 'es\depuisFrancais\encoder_model.onnx')) ` + 'Partiel : le sens manquant est bien construit' + + # --- 5. Rapport --------------------------------------------------------- + Write-Host '' + Write-Host '=== 5. Rapport ===' + $rapport = Join-Path $packs 'RAPPORT-LANGUES.md' + Assert (Test-Path -LiteralPath $rapport) 'Rapport : RAPPORT-LANGUES.md ecrit' + $contenu = Get-Content -LiteralPath $rapport -Raw -Encoding UTF8 + Assert ($contenu -match '\| es \| Espagnol') 'Rapport : la langue exportee y figure' + Assert ($contenu -match 'Paires indisponibles') 'Rapport : section des paires indisponibles presente' + Assert ($contenu -match 'New-OmikaLanguesManifeste') 'Rapport : rappelle la generation du manifeste' + + # --- 6. optimum-cli hors PATH (Python du Microsoft Store) --------------- + # Cas reel : « pip install optimum » reussit, mais pip range le programme + # dans un dossier utilisateur qui n'est PAS dans le PATH. Toutes les fenetres + # repondent alors « optimum-cli introuvable » et le script s'arrete sans rien + # faire — l'utilisateur croit que le script ne fonctionne pas. Il doit donc + # aller le chercher la ou pip l'ecrit. + Write-Host '' + Write-Host '=== 6. optimum-cli hors PATH ===' + $scriptsPython = Join-Path $bac 'scripts-python' + $null = New-Item -ItemType Directory -Path $scriptsPython -Force + Copy-Item -LiteralPath (Join-Path $shim 'optimum-cli.cmd') ` + -Destination (Join-Path $scriptsPython 'optimum-cli.cmd') -Force + + $pathSansShim = (@($env:PATH -split ';' | Where-Object { $_ -and $_ -ne $shim }) -join ';') + $env:PATH = $pathSansShim + $env:OMIKA_TEST_SCRIPTS_PYTHON = $scriptsPython + $pythonHorsPath = Join-Path $shim 'python.cmd' + $packsHorsPath = Join-Path $bac 'packs-horspath' + + $sortieHorsPath = (& $scriptTeste -SansVerifierHuggingFace -Codes es ` + -RacinePacks $packsHorsPath -Python $pythonHorsPath 6>&1 | Out-String) + Assert ($LASTEXITCODE -eq 0) 'Hors PATH : le script aboutit quand meme' + Assert ($sortieHorsPath -match 'trouve hors PATH') 'Hors PATH : la recherche est annoncee' + Assert (Test-Path -LiteralPath (Join-Path $packsHorsPath 'es\versFrancais\encoder_model.onnx')) ` + 'Hors PATH : le pack est construit malgre tout' + + # Environnement virtuel (venv) : c'est la solution quand l'installation bute + # sur la limite de 260 caracteres de Windows. Le Python du venv annonce + # D'ABORD son propre dossier de scripts, PUIS le dossier utilisateur. L'outil + # peut n'etre que dans le second : le script doit balayer les deux, sinon il + # conclut « introuvable » alors que l'installation est bonne. + $venvVide = Join-Path $bac 'venv-vide' + $null = New-Item -ItemType Directory -Path $venvVide -Force + $env:OMIKA_TEST_SCRIPTS_PYTHON = $venvVide + $env:OMIKA_TEST_SCRIPTS_NTUSER = $scriptsPython + $packsVenv = Join-Path $bac 'packs-venv' + $sortieVenv = (& $scriptTeste -SansVerifierHuggingFace -Codes pt ` + -RacinePacks $packsVenv -Python $pythonHorsPath 6>&1 | Out-String) + Assert ($LASTEXITCODE -eq 0) 'Venv : l''outil est trouve dans le SECOND dossier annonce' + Assert (Test-Path -LiteralPath (Join-Path $packsVenv 'pt\versFrancais\encoder_model.onnx')) ` + 'Venv : le pack est construit' + + # Outil reellement absent : le message doit dire QUOI installer ET OU le + # chercher, sinon l'utilisateur reinstalle en boucle sans comprendre. + $scriptsVides = Join-Path $bac 'scripts-vides' + $null = New-Item -ItemType Directory -Path $scriptsVides -Force + $env:OMIKA_TEST_SCRIPTS_PYTHON = $scriptsVides + $env:OMIKA_TEST_SCRIPTS_NTUSER = $scriptsVides + $absent = (& $scriptTeste -Codes es -RacinePacks (Join-Path $bac 'packs-absent') ` + -Python $pythonHorsPath 6>&1 | Out-String) + Assert ($LASTEXITCODE -eq 1) 'Outil absent : code retour 1' + Assert ($absent -match 'pip install') 'Outil absent : la commande d''installation est indiquee' + Assert ($absent -match 'pas dans le PATH') 'Outil absent : le piege du PATH est explique' + Assert ($absent -notmatch 'Test-Path') 'Outil absent : aucune erreur interne affichee' + + $env:PATH = $shim + ';' + $pathSansShim + + # --- 7. -SansExporter : l'inventaire des paires ------------------------- + # Repond a « quelles langues sont manquantes ? » SANS telecharger 30 Go. Il + # ne doit donc exiger NI Python NI optimum : la question se pose AVANT + # d'installer les outils. + Write-Host '' + Write-Host '=== 7. -SansExporter (inventaire) ===' + $contradiction = (& $scriptTeste -SansExporter -SansVerifierHuggingFace -Codes es ` + -RacinePacks $packs 6>&1 | Out-String) + Assert ($LASTEXITCODE -eq 1) '-SansExporter : la combinaison contradictoire est refusee' + Assert ($contradiction -match 'a besoin de la verification') '-SansExporter : la raison est expliquee' + + # Langue deja presente : aucun reseau, aucun export, rapport ecrit. + $null = (& $scriptTeste -SansExporter -Codes es -RacinePacks $packs 6>&1 | Out-String) + Assert ($LASTEXITCODE -eq 0) '-SansExporter : aboutit sans Python ni optimum' + $rapportInventaire = Get-Content -LiteralPath (Join-Path $packs 'RAPPORT-LANGUES.md') -Raw -Encoding UTF8 + Assert ($rapportInventaire -match 'inventaire') '-SansExporter : le rapport annonce le mode inventaire' + Assert ($rapportInventaire -match 'Paires disponibles') '-SansExporter : la section est renommee' + + # --- 8. Interprétation des réponses HuggingFace -------------------------- + # Mesure sur l'export des 50 langues : HuggingFace répond 401 (JAMAIS 404) + # pour un dépôt absent. Un « 401 » seul étant ambigu, c'est le CORPS de la + # réponse qui tranche — une erreur de lecture ferait écrire au rapport que + # des langues livrables n'existent pas. Fonction pure : testable sans réseau. + Write-Host '' + Write-Host '=== 8. Verdict HuggingFace ===' + $texteScript = Get-Content -LiteralPath $scriptTeste -Raw -Encoding UTF8 + $definition = [regex]::Match($texteScript, '(?s)function Get-VerdictEchecHuggingFace \{.*?\r?\n\}').Value + Assert ($definition.Length -gt 0) 'Verdict : la fonction est extractible du script' + + if ($definition.Length -gt 0) { + . ([scriptblock]::Create($definition)) + + $vAbsent = Get-VerdictEchecHuggingFace -Code 401 -Corps '{"error":"Repository not found"}' -MessageErreur 'x' + Assert (-not $vAbsent.Existe -and -not $vAbsent.Injoignable) 'Verdict : 401 « Repository not found » = paire inexistante' + Assert ($vAbsent.Detail -match 'depot introuvable') 'Verdict : le motif exact est inscrit au rapport' + + $v404 = Get-VerdictEchecHuggingFace -Code 404 -Corps '' -MessageErreur 'x' + Assert (-not $v404.Existe -and -not $v404.Injoignable) 'Verdict : 404 = paire inexistante' + + # Mesure du 16/10, meme client, meme instant : un depot EXISTANT repond + # 200 (opus-mt-es-fr) et un depot absent repond 401, sur l'API COMME sur + # la page publique. Un 401 inexplique est donc traite comme une absence, + # mais le rapport dit sur quoi il se fonde — le temoin 200. + $vDoute = Get-VerdictEchecHuggingFace -Code 401 -Corps '{"error":"Invalid credentials"}' -MessageErreur 'x' + Assert (-not $vDoute.Existe -and -not $vDoute.Injoignable) ` + 'Verdict : 401 sans « not found » = paire non publiee' + Assert ($vDoute.Detail -match 'repond 200') 'Verdict : le rapport cite le temoin qui justifie le 401' + + $vQuota = Get-VerdictEchecHuggingFace -Code 429 -Corps '' -MessageErreur 'x' + Assert ($vQuota.Injoignable) 'Verdict : 429 (quota) n''est PAS une absence' + + $vServeur = Get-VerdictEchecHuggingFace -Code 503 -Corps '' -MessageErreur 'x' + Assert ($vServeur.Injoignable) 'Verdict : 503 n''est PAS une absence' + + $vReseau = Get-VerdictEchecHuggingFace -Code 0 -Corps '' -MessageErreur 'connexion fermee' + Assert ($vReseau.Injoignable -and $vReseau.Detail -match 'connexion') 'Verdict : panne reseau = « on ne sait pas »' + } + + # --- 9. Un avertissement sur stderr ne doit JAMAIS tuer un export -------- + # Panne reelle : optimum-cli ecrit un UserWarning de huggingface_hub sur + # stderr. Lance avec « 2>&1 | Tee-Object » (naturel pour garder une trace sur + # plusieurs heures), le script transformait cette ligne en erreur FATALE + # ($ErrorActionPreference = 'Stop') et tuait les 11 exports juste apres le + # config.json : 0 octet telecharge, et un rapport annoncant 11 echecs qui + # n'en etaient pas. Seul le code de sortie doit juger un export. + Write-Host '' + Write-Host '=== 9. Avertissement stderr pendant l''export ===' + @' +@echo off +set OUT=%~5 +mkdir "%OUT%" 2>nul +echo UserWarning: the cache-system uses symlinks >&2 +echo fake-encoder > "%OUT%\encoder_model.onnx" +echo fake-decoder > "%OUT%\decoder_model.onnx" +echo fake-past > "%OUT%\decoder_with_past_model.onnx" +echo fake-source > "%OUT%\source.spm" +echo fake-target > "%OUT%\target.spm" +echo { "piece": 1 } > "%OUT%\vocab.json" +echo { "decoder_start_token_id": 1, "eos_token_id": 0 } > "%OUT%\config.json" +exit /b 0 +'@ | Set-Content -LiteralPath (Join-Path $shim 'optimum-cli.cmd') -Encoding ASCII + + $packsBruyants = Join-Path $bac 'packs-stderr' + # *>&1 : TOUS les flux, erreur comprise — c'est exactement la redirection qui + # rendait la panne possible (« 2>&1 | Tee-Object » pour garder une trace). + $sortieBruyante = (& $scriptTeste -SansVerifierHuggingFace -Codes es -RacinePacks $packsBruyants ` + -OptimumCli 'optimum-cli' -Python 'python' *>&1 | Out-String) + $sensBruyant = Join-Path $packsBruyants 'es\versFrancais' + Assert ($LASTEXITCODE -eq 0) 'stderr : l''export aboutit malgre l''avertissement (code 0)' + Assert (Test-Path -LiteralPath (Join-Path $sensBruyant 'encoder_model.onnx')) ` + 'stderr : le pack est ecrit malgre l''avertissement' + # 6 fichiers : encoder + decoder + source.spm + target.spm + vocab.json + + # config.json. Les deux derniers sont les referentiels du modele (identifiants + # et conventions du decodeur), pas des poids. + Assert ($sortieBruyante -match 'versFrancais : 6 fichier') ` + 'stderr : le sens est compte comme construit, pas comme un echec' + + # --- 10. Le catalogue : la preuve d'existence --------------------------- + # Troisieme et derniere evolution, apres mesures reelles : un depot absent + # repond 401 sur l'API, la page publique s'est mise a repondre 401 elle + # aussi, alors que le meme client obtenait 200 sur un depot existant au meme + # instant. Plus aucun code d'erreur ne discrimine. On lit donc LA LISTE + # publique des depots (une requete, toujours 200) : l'existence devient une + # egalite de chaine, et « absent » devient une preuve. + Write-Host '' + Write-Host '=== 10. Catalogue Helsinki-NLP ===' + $definitionCatalogue = [regex]::Match($texteScript, '(?s)function Get-CatalogueHelsinkiNLP \{.*?\r?\n\}').Value + Assert ($definitionCatalogue.Length -gt 0) 'Catalogue : la fonction est extractible du script' + Assert ($definitionCatalogue -match 'api/models\?author=') 'Catalogue : lit la liste publique des depots' + Assert ($definitionCatalogue -match 'Headers\[' -and $definitionCatalogue -match 'next') ` + 'Catalogue : suit la pagination annoncee par l''entete Link' + # Garde-fou mesure : une reponse a 2 entrees a fait declarer 66 modeles + # absents, dont 11 presents sur le disque. Un catalogue trop court est rejete. + Assert ($definitionCatalogue -match 'Count -lt 100') ` + 'Catalogue : une reponse tronquee est refusee (jamais « absent » sur 2 entrees)' + + $definitionSonde = [regex]::Match($texteScript, '(?s)function Test-ModeleHuggingFace \{.*?\r?\n\}').Value + Assert ($definitionSonde.Length -gt 0) 'Catalogue : la sonde est extractible du script' + + if ($definitionSonde.Length -gt 0) { + . ([scriptblock]::Create($definitionSonde)) + + $tableDepots = New-Object 'System.Collections.Generic.HashSet[string]' ([System.StringComparer]::OrdinalIgnoreCase) + $null = $tableDepots.Add('Helsinki-NLP/opus-mt-es-fr') + + $vPresent = Test-ModeleHuggingFace -Modele 'Helsinki-NLP/opus-mt-es-fr' -Catalogue $tableDepots + Assert ($vPresent.Existe -and -not $vPresent.Injoignable) 'Catalogue : un depot present est reconnu' + + $vAbsent = Test-ModeleHuggingFace -Modele 'Helsinki-NLP/opus-mt-fr-nl' -Catalogue $tableDepots + Assert (-not $vAbsent.Existe -and -not $vAbsent.Injoignable) ` + 'Catalogue : un depot absent est une PREUVE, pas un doute' + Assert ($vAbsent.Detail -match 'catalogue') 'Catalogue : le rapport cite la source du verdict' + + $vCasse = Test-ModeleHuggingFace -Modele 'helsinki-nlp/OPUS-MT-ES-FR' -Catalogue $tableDepots + Assert ($vCasse.Existe) 'Catalogue : la comparaison ignore la casse' + } + + # --- 11. Repli de famille a l'export ------------------------------------- + # Certaines langues (georgien, armenien, azari…) ne sont couvertes que par + # « opus-mt-tc-big ». En mode verifie le catalogue tranche ; sans + # verification, c'est l'export qui doit essayer la petite famille PUIS la + # « tc-big », et garder la premiere qui aboutit. Avant, il n'essayait que la + # petite : ces langues etaient declarées en echec sans avoir ete tentees. + Write-Host '' + Write-Host '=== 11. Repli opus-mt -> tc-big a l''export ===' + @' +@echo off +set MODELE=%~4 +set OUT=%~5 +echo %MODELE% | findstr /C:"tc-big" >nul +if errorlevel 1 ( + echo Error: 401 Repository not found 1>&2 + exit /b 1 +) +mkdir "%OUT%" 2>nul +echo fake-encoder > "%OUT%\encoder_model.onnx" +echo fake-decoder > "%OUT%\decoder_model.onnx" +echo fake-source > "%OUT%\source.spm" +echo fake-target > "%OUT%\target.spm" +echo { "piece": 1 } > "%OUT%\vocab.json" +echo { "decoder_start_token_id": 1, "eos_token_id": 0 } > "%OUT%\config.json" +exit /b 0 +'@ | Set-Content -LiteralPath (Join-Path $shim 'optimum-cli.cmd') -Encoding ASCII + + $packsTcBig = Join-Path $bac 'packs-tcbig' + $sortieTcBig = (& $scriptTeste -SansVerifierHuggingFace -Codes es -RacinePacks $packsTcBig ` + -OptimumCli 'optimum-cli' -Python 'python' 6>&1 | Out-String) + Assert ($LASTEXITCODE -eq 0) 'tc-big : le run aboutit' + Assert ($sortieTcBig -match 'opus-mt-es-fr indisponible') 'tc-big : la famille standard est essayee d''abord' + Assert ($sortieTcBig -match 'opus-mt-tc-big-es-fr') 'tc-big : la famille « tc-big » est essayee ensuite' + Assert (Test-Path -LiteralPath (Join-Path $packsTcBig 'es\versFrancais\encoder_model.onnx')) ` + 'tc-big : le pack est construit avec le modele de repli' + + # --- 12. Modele familial : un export, deux sens, poids partages ---------- + # pt et gl n'ont AUCUNE paire bilingue ; it n'en a qu'une. Le modele de + # famille (opus-mt-tc-big-itc-itc) les couvre dans les deux sens via un jeton + # de cible. Ses 1,15 Go doivent etre ecrits UNE seule fois (commun/) : les + # dupliquer par sens doublerait ce que telecharge chaque telephone, ce que + # l'utilisateur refuse explicitement. + Write-Host '' + Write-Host '=== 12. Modele familial (commun/ + modele.json par sens) ===' + @' +@echo off +set MODELE=%~4 +set OUT=%~5 +echo %MODELE% | findstr /C:"tc-big-itc-itc" >nul +if errorlevel 1 ( + echo Error: 401 Repository not found 1>&2 + exit /b 1 +) +mkdir "%OUT%" 2>nul +echo fake-encoder > "%OUT%\encoder_model.onnx" +echo fake-decoder > "%OUT%\decoder_model.onnx" +echo fake-past > "%OUT%\decoder_with_past_model.onnx" +echo fake-source > "%OUT%\source.spm" +echo fake-target > "%OUT%\target.spm" +echo { "piece": 1 } > "%OUT%\vocab.json" +echo { "decoder_start_token_id": 1, "eos_token_id": 0 } > "%OUT%\config.json" +exit /b 0 +'@ | Set-Content -LiteralPath (Join-Path $shim 'optimum-cli.cmd') -Encoding ASCII + + $env:HF_HOME = '' + $packsFamille = Join-Path $bac 'packs-famille' + $sortieFamille = (& $scriptTeste -SansVerifierHuggingFace -Codes pt -RacinePacks $packsFamille ` + -OptimumCli 'optimum-cli' -Python 'python' 6>&1 | Out-String) + Assert ($LASTEXITCODE -eq 0) 'Familial : le run aboutit (code 0)' + Assert ($sortieFamille -match 'opus-mt-tc-big-itc-itc') 'Familial : le modele de famille est employe' + Assert ($sortieFamille -match 'aucune paire bilingue exploitable') 'Familial : le repli est annonce' + + $commun = Join-Path $packsFamille 'pt\commun' + foreach ($nom in @('encoder_model.onnx', 'decoder_model.onnx', 'source.spm', 'target.spm', 'vocab.json', 'config.json')) { + Assert (Test-Path -LiteralPath (Join-Path $commun $nom)) ("Familial : {0} present dans commun/" -f $nom) + } + Assert ((@(Get-ChildItem -LiteralPath $packsFamille -Recurse -Filter '*with_past*')).Count -eq 0) ` + 'Familial : decoder_with_past_model.onnx jamais livre' + + foreach ($sens in @('versFrancais', 'depuisFrancais')) { + $dossierSens = Join-Path $packsFamille ('pt\' + $sens) + Assert (Test-Path -LiteralPath (Join-Path $dossierSens 'modele.json')) ("Familial : pt/{0}/modele.json present" -f $sens) + Assert ((@(Get-ChildItem -LiteralPath $dossierSens -Filter '*.onnx')).Count -eq 0) ` + ("Familial : pt/{0} ne duplique AUCUN poids" -f $sens) + } + + $metaVers = Get-Content -LiteralPath (Join-Path $packsFamille 'pt\versFrancais\modele.json') -Raw | ConvertFrom-Json + $metaDepuis = Get-Content -LiteralPath (Join-Path $packsFamille 'pt\depuisFrancais\modele.json') -Raw | ConvertFrom-Json + Assert ($metaVers.jetonCible -eq '>>fra<<') 'Familial : jeton de l''aller = >>fra<<' + Assert ($metaDepuis.jetonCible -eq '>>por<<') 'Familial : jeton du retour = >>por<<' + Assert ($metaVers.modeleSource -eq 'Helsinki-NLP/opus-mt-tc-big-itc-itc') 'Familial : le depot d''origine est inscrit' + Assert ($metaVers.famille -eq 'itc') 'Familial : la famille est inscrite' + Assert ($metaVers.version -eq 1) 'Familial : version de metadonnees = 1' + + # Le jeton doit rester LISIBLE : ConvertTo-Json l'ecrirait \u003e\u003efra\u003c\u003c, + # et c'est exactement la valeur qu'un humain doit pouvoir relire au diagnostic. + $brut = Get-Content -LiteralPath (Join-Path $packsFamille 'pt\versFrancais\modele.json') -Raw + Assert ($brut -match '"jetonCible": ">>fra<<"') 'Familial : le jeton est ecrit en clair (pas en \u003e)' + + # Reexport : 1,15 Go ne doivent pas etre repayes a chaque relance. + $sortieFamille2 = (& $scriptTeste -SansVerifierHuggingFace -Codes pt -RacinePacks $packsFamille ` + -OptimumCli 'optimum-cli' -Python 'python' 6>&1 | Out-String) + Assert ($sortieFamille2 -match 'familial\), ignore') 'Familial : un pack familial deja present est ignore' + Assert ($sortieFamille2 -notmatch 'export : Helsinki') 'Familial : aucun export relance' + + # Une langue NON couverte (uk) ne doit pas se voir inventer un modele familial. + $packsSansFamille = Join-Path $bac 'packs-sans-famille' + $null = & $scriptTeste -SansVerifierHuggingFace -Codes uk -RacinePacks $packsSansFamille ` + -OptimumCli 'optimum-cli' -Python 'python' 6>&1 + Assert ($LASTEXITCODE -eq 1) 'Familial : une langue non couverte echoue toujours (code 1)' + Assert (-not (Test-Path -LiteralPath (Join-Path $packsSansFamille 'uk\commun'))) ` + 'Familial : aucune commun/ inventee pour une langue non couverte' + + # Quand les deux paires bilingues existent (es), le familial ne doit PAS etre + # employe : il est deux fois plus lourd que les deux bilingues reunis. + Assert (-not (Test-Path -LiteralPath (Join-Path $packs 'es\commun'))) ` + 'Familial : pas de commun/ quand les deux paires bilingues existent' +} +finally { + if (Test-Path -LiteralPath $bac) { + Remove-Item -LiteralPath $bac -Recurse -Force -ErrorAction SilentlyContinue + } +} + +Write-Host '' +Write-Host ("=== RESULTAT : {0} tests, {1} echec(s) ===" -f $tests, $fails) +if ($fails -gt 0) { exit 1 } else { exit 0 } diff --git a/scripts/validate-phase5-dev.ps1 b/scripts/validate-phase5-dev.ps1 new file mode 100644 index 0000000..fa7562a --- /dev/null +++ b/scripts/validate-phase5-dev.ps1 @@ -0,0 +1,53 @@ +# ============================================================ +# Omika — Validation Phase 5 (poste développeur, 100 % Windows) +# ============================================================ +# N'exécute QUE les projets nécessaires — jamais de build solution +# complet (évite NETSDK1139 android/ios, hors périmètre §7). +# +# Usage : +# .\scripts\validate-phase5-dev.ps1 # build parallèle standard +# .\scripts\validate-phase5-dev.ps1 -SingleNode # force -m:1 (CI / sandbox sans nœuds MSBuild parallèles) +# +# NB : AVALONIA_TELEMETRY_OPTOUT=1 désactive la télémétrie build Avalonia +# (requis dans certains environnements restreints ; sans effet sinon). + +param( + [switch]$SingleNode +) + +$ErrorActionPreference = 'Stop' +$env:AVALONIA_TELEMETRY_OPTOUT = '1' + +$extra = @() +if ($SingleNode) { $extra = @('-m:1') } + +$root = Split-Path -Parent $PSScriptRoot + +# Gate 1 + Gate 2 (§8) : adapter OpenTelemetry, API, Worker +$steps = @( + @('build', "$root\src\Omika.Observability.External\Omika.Observability.External.csproj", '-c', 'Debug'), + @('build', "$root\src\Omika.Api\Omika.Api.csproj", '-c', 'Debug'), + @('build', "$root\src\Omika.Worker\Omika.Worker.csproj", '-c', 'Debug'), + # Gate 3 (§63) : tests Observability verts + @('test', "$root\tests\Omika.Tests\Omika.Tests.csproj", '-c', 'Debug', '--filter', 'FullyQualifiedName~Observability'), + # Diagnostic Center (Phase 5, §50) + @('build', "$root\src\Omika.Diagnostics.Core\Omika.Diagnostics.Core.csproj", '-c', 'Debug'), + @('build', "$root\src\Omika.Diagnostics.Data\Omika.Diagnostics.Data.csproj", '-c', 'Debug'), + @('build', "$root\src\Omika.Diagnostics.Worker\Omika.Diagnostics.Worker.csproj", '-c', 'Debug'), + @('build', "$root\src\Omika.Diagnostics.Web\Omika.Diagnostics.Web.csproj", '-c', 'Debug'), + # Tests Diagnostic Center SANS PostgreSQL réel (§51) + @('test', "$root\tests\Omika.Diagnostics.Tests\Omika.Diagnostics.Tests.csproj", '-c', 'Debug') +) + +foreach ($step in $steps) { + $cmdArgs = $step + $extra + Write-Host "> dotnet $($cmdArgs -join ' ')" -ForegroundColor Cyan + & dotnet $cmdArgs + if ($LASTEXITCODE -ne 0) { + Write-Error "ÉCHEC : dotnet $($cmdArgs -join ' ') (exit $LASTEXITCODE)" + exit $LASTEXITCODE + } +} + +Write-Host '' +Write-Host 'PHASE 5 — VALIDATION OK' -ForegroundColor Green diff --git a/src/Logos/Logo_mobile.svg b/src/Logos/Logo_mobile.svg new file mode 100644 index 0000000..fe7ba88 --- /dev/null +++ b/src/Logos/Logo_mobile.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Logos/Logo_principal.svg b/src/Logos/Logo_principal.svg new file mode 100644 index 0000000..fa4fd6d --- /dev/null +++ b/src/Logos/Logo_principal.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Logos/Logo_secondaire_blanc.svg b/src/Logos/Logo_secondaire_blanc.svg new file mode 100644 index 0000000..4abe63a --- /dev/null +++ b/src/Logos/Logo_secondaire_blanc.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Logos/Logo_secondaire_violet.svg b/src/Logos/Logo_secondaire_violet.svg new file mode 100644 index 0000000..ca6f139 --- /dev/null +++ b/src/Logos/Logo_secondaire_violet.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Omika.Api/ApiBuildInfo.cs b/src/Omika.Api/ApiBuildInfo.cs new file mode 100644 index 0000000..ed8632b --- /dev/null +++ b/src/Omika.Api/ApiBuildInfo.cs @@ -0,0 +1,44 @@ +using System.Reflection; + +namespace Omika.Api; + +/// +/// Identifiant de build discriminable de l'API, calculé UNE FOIS au démarrage +/// (jamais par requête HTTP). Combine la version informationnelle de l'assembly +/// et l'horodatage du fichier binaire : deux builds portant la même +/// AssemblyVersion (ex. 1.0.0.0) restent distinguables. +/// +/// Aucun SHA256 par requête : tout est résolu statiquement au démarrage. +/// +public static class ApiBuildInfo +{ + /// Version informationnelle (ex. 1.0.0.0), lisible. + public static string InformationalVersion { get; } + + /// Identifiant de build discriminable (ex. 1.0.0.0+20260924161900). + public static string BuildId { get; } + + static ApiBuildInfo() + { + try + { + Assembly assembly = Assembly.GetEntryAssembly() ?? typeof(ApiBuildInfo).Assembly; + InformationalVersion = assembly + .GetCustomAttribute()?.InformationalVersion + ?? assembly.GetName().Version?.ToString() + ?? "unknown"; + + string location = assembly.Location; + string stamp = File.Exists(location) + ? File.GetLastWriteTimeUtc(location).ToString("yyyyMMddHHmmss") + : DateTime.UtcNow.ToString("yyyyMMddHHmmss"); + + BuildId = $"{InformationalVersion}+{stamp}"; + } + catch + { + InformationalVersion = "unknown"; + BuildId = "unknown"; + } + } +} diff --git a/src/Omika.Api/CorrelationMiddleware.cs b/src/Omika.Api/CorrelationMiddleware.cs new file mode 100644 index 0000000..cd44e48 --- /dev/null +++ b/src/Omika.Api/CorrelationMiddleware.cs @@ -0,0 +1,180 @@ +using System.Diagnostics; +using Omika.Core.Observability; +using Omika.Core.Observability.Diagnostic; + +namespace Omika.Api; + +/// +/// Middleware de corrélation (Phase 3). Résout le TraceId de la requête +/// (header valide sinon nouveau GUID), le propage au contexte de trace et au +/// contexte diagnostic de requête, expose le TraceId en header de réponse, et +/// émet des événements techniques minimaux (HTTP_REQUEST_STARTED puis +/// HTTP_REQUEST_COMPLETED) ainsi que des breadcrumbs. +/// +/// Fail-open : l'observabilité ne bloque ni ne fait échouer la requête. En cas +/// d'exception non gérée, l'événement HTTP_REQUEST_COMPLETED n'est pas émis +/// (c'est le middleware global d'exceptions qui émet HTTP_REQUEST_FAILED). +/// +public sealed class CorrelationMiddleware +{ + private readonly RequestDelegate _next; + + public CorrelationMiddleware(RequestDelegate next) + { + _next = next; + } + + public async Task InvokeAsync( + HttpContext context, + ITraceContext traceContext, + RequestDiagnosticContext requestContext, + IOmikaTelemetry telemetry, + IBreadcrumbService breadcrumbs) + { + Guid traceId = ResolveTraceId(context); + Guid? sessionId = ResolveSessionId(context); + + TrySetResponseHeader(context, CorrelationHeaders.TraceId, traceId.ToString("D")); + if (sessionId is { } sid) + { + TrySetResponseHeader(context, CorrelationHeaders.SessionId, sid.ToString("D")); + } + + using var traceScope = traceContext.BeginTrace(traceId); + using var requestScope = requestContext.Begin(traceId, sessionId); + + var stopwatch = Stopwatch.StartNew(); + string method = context.Request.Method; + string? route = GetRouteTemplate(context); + + // Anti-boucle (Phase 4 §58) : l'endpoint d'ingestion ne produit pas + // d'événement HTTP_REQUEST_* générique (il transporterait ses propres + // diagnostics dans l'outbox, boucle infinie). Toujours sans body. + bool isDiagnosticsIngestion = context.Request.Path.StartsWithSegments("/api/diagnostics"); + + EmitStarted(telemetry, breadcrumbs, method, route, isDiagnosticsIngestion); + + await _next(context); + + EmitCompleted(telemetry, breadcrumbs, method, route, context.Response.StatusCode, stopwatch.ElapsedMilliseconds, isDiagnosticsIngestion); + } + + private static Guid ResolveTraceId(HttpContext context) + { + string? header = context.Request.Headers[CorrelationHeaders.TraceId].ToString(); + return CorrelationHeaders.TryParseTraceId(header, out Guid traceId) ? traceId : Guid.NewGuid(); + } + + private static Guid? ResolveSessionId(HttpContext context) + { + string? header = context.Request.Headers[CorrelationHeaders.SessionId].ToString(); + return CorrelationHeaders.TryParseSessionId(header, out Guid sessionId) ? sessionId : null; + } + + private static void TrySetResponseHeader(HttpContext context, string name, string value) + { + try + { + context.Response.Headers[name] = value; + } + catch + { + // Fail-open. + } + } + + private static string? GetRouteTemplate(HttpContext context) + { + try + { + Endpoint? endpoint = context.GetEndpoint(); + if (endpoint is RouteEndpoint routeEndpoint) + { + return routeEndpoint.RoutePattern.RawText; + } + + if (endpoint is not null) + { + return endpoint.DisplayName; + } + } + catch + { + // Best-effort. + } + + // Chemin sans query string : jamais l'URL complète ni les données métier. + return context.Request.Path.Value; + } + + private static void EmitStarted(IOmikaTelemetry telemetry, IBreadcrumbService breadcrumbs, string method, string? route, bool isDiagnosticsIngestion) + { + if (isDiagnosticsIngestion) + { + return; + } + + try + { + telemetry.Log(new DiagnosticEvent + { + EventCode = TelemetryEventCodes.ApiHttpRequestStarted, + Level = TelemetryLevel.Info, + Component = nameof(CorrelationMiddleware), + Metadata = TelemetryMetadata.Create( + ("method", method), + ("routeTemplate", route ?? string.Empty)) + }); + breadcrumbs.Add(new Breadcrumb + { + Code = "HTTP_REQUEST", + Category = BreadcrumbCategory.Network, + Target = route + }); + } + catch + { + // Fail-open. + } + } + + private static void EmitCompleted( + IOmikaTelemetry telemetry, + IBreadcrumbService breadcrumbs, + string method, + string? route, + int statusCode, + long durationMs, + bool isDiagnosticsIngestion) + { + if (isDiagnosticsIngestion) + { + return; + } + + try + { + telemetry.Log(new DiagnosticEvent + { + EventCode = TelemetryEventCodes.ApiHttpRequestCompleted, + Level = statusCode >= 500 ? TelemetryLevel.Error : TelemetryLevel.Info, + Component = nameof(CorrelationMiddleware), + DurationMs = durationMs, + Metadata = TelemetryMetadata.Create( + ("method", method), + ("routeTemplate", route ?? string.Empty), + ("statusCode", statusCode)) + }); + breadcrumbs.Add(new Breadcrumb + { + Code = "HTTP_RESPONSE", + Category = BreadcrumbCategory.Network, + Target = route + }); + } + catch + { + // Fail-open. + } + } +} diff --git a/src/Omika.Api/Endpoints/BackOfficeAuthEndpoints.cs b/src/Omika.Api/Endpoints/BackOfficeAuthEndpoints.cs new file mode 100644 index 0000000..441c696 --- /dev/null +++ b/src/Omika.Api/Endpoints/BackOfficeAuthEndpoints.cs @@ -0,0 +1,102 @@ +using System.Globalization; +using Omika.Core.Contracts.Security; +using Omika.Core.Domain.Entities.Security; +using Omika.Core.Interfaces; +using Omika.Core.Interfaces.Mobile; + +namespace Omika.Api.Endpoints; + +/// +/// Endpoint d'authentification du Back-Office WinDev. +/// +/// POST /api/backoffice/auth/token +/// +/// Après un login réussi dans FEN_Login, WinDev transmet le hash déjà calculé +/// (sHashMotDePasse) via HTTPS. L'API le compare directement à +/// Utilisateur.UT_MotDePasse (aucun re-hash), puis émet un Bearer token +/// via le mécanisme d'authentification déjà en place (), +/// exactement celui validé par . +/// +/// Ce flux représente la session Back-Office. Il n'utilise pas +/// /api/license/activate et n'utilise pas A.LIC.MOB comme condition d'émission : +/// les endpoints de gestion de licence vérifient ensuite ce droit via +/// . +/// +public static class BackOfficeAuthEndpoints +{ + /// Identifiant technique du « device » pour une session Back-Office. + private const string BackOfficeDeviceId = "backoffice-windev"; + + public static IEndpointRouteBuilder MapBackOfficeAuthEndpoints(this IEndpointRouteBuilder app) + { + app.MapPost("/api/backoffice/auth/token", AuthenticateAsync) + .WithName("BackOfficeAuthToken") + .WithTags("BackOffice") + .Produces(StatusCodes.Status200OK) + .ProducesProblem(StatusCodes.Status400BadRequest) + .ProducesProblem(StatusCodes.Status401Unauthorized) + .ProducesProblem(StatusCodes.Status403Forbidden); + + return app; + } + + private static async Task AuthenticateAsync( + BackOfficeAuthTokenRequest request, + IBackOfficeAuthService service, + ITokenService tokenService, + ILoggerFactory loggerFactory, + CancellationToken cancellationToken) + { + ILogger logger = loggerFactory.CreateLogger("BackOfficeAuth"); + BackOfficeAuthResult result = await service.AuthenticateAsync(request, cancellationToken); + + switch (result.Status) + { + case BackOfficeAuthStatus.Success: + BackOfficeAuthUser user = result.User!; + + var identity = new MobileTokenIdentity + { + CodeClient = result.CodeClient, + DeviceId = BackOfficeDeviceId, + UserId = user.UserId.ToString(CultureInfo.InvariantCulture), + CollaborateurId = user.CollaborateurId > 0 + ? user.CollaborateurId.ToString(CultureInfo.InvariantCulture) + : null, + NumeroLicence = string.Empty + }; + + // Journalisation sûre : jamais de hash, jamais de token, jamais de secret. + logger.LogInformation( + "BO AUTH SUCCESS codeClient={CodeClient} userId={UserId} collaborateurId={CollaborateurId}", + identity.CodeClient, + identity.UserId, + identity.CollaborateurId ?? "(none)"); + + return Results.Ok(new BackOfficeAuthTokenResponse + { + AccessToken = tokenService.GenerateToken(identity), + AccessTokenExpiresAtUtc = tokenService.GetTokenExpirationUtc(), + UserId = identity.UserId, + CollaborateurId = identity.CollaborateurId + }); + + case BackOfficeAuthStatus.InvalidCredentials: + // Message générique : ne révèle jamais si le login existe ou si + // le hash seul est incorrect. + return Results.Json( + new { message = "Compte ou mot de passe incorrect." }, + statusCode: StatusCodes.Status401Unauthorized); + + case BackOfficeAuthStatus.Forbidden: + return Results.Json( + new { message = "Accès Back-Office non autorisé." }, + statusCode: StatusCodes.Status403Forbidden); + + default: + return Results.Json( + new { message = "Requête invalide." }, + statusCode: StatusCodes.Status400BadRequest); + } + } +} diff --git a/src/Omika.Api/Endpoints/ClientEndpoints.cs b/src/Omika.Api/Endpoints/ClientEndpoints.cs new file mode 100644 index 0000000..54bf4c0 --- /dev/null +++ b/src/Omika.Api/Endpoints/ClientEndpoints.cs @@ -0,0 +1,153 @@ +using Microsoft.AspNetCore.Http.HttpResults; +using Omika.Api.Services; +using Omika.Core.Constants; +using Omika.Core.Contracts.Clients; +using Omika.Core.Contracts.Common; +using Omika.Core.Interfaces; + +namespace Omika.Api.Endpoints; + +/// +/// Endpoints de lecture des clients. +/// Utilise exclusivement — aucune connaissance +/// des repositories physiques, des schémas HFSQL, ni de ODBC. +/// +public static class ClientEndpoints +{ + public static IEndpointRouteBuilder MapClientEndpoints(this IEndpointRouteBuilder endpoints) + { + var group = endpoints.MapGroup("/clients") + .WithTags("Clients"); + + // GET /clients/{id} — détail d'un client. + group.MapGet("/{id}", GetByIdAsync) + .WithName("GetClientById") + .Produces(StatusCodes.Status200OK) + .Produces(StatusCodes.Status404NotFound); + + // Endpoints mobile (à la demande) — préfixe /api, aligné sur MobileApiClient. + // Droit requis : A.CLIENT.VOIR. + var mobileGroup = endpoints.MapGroup("/api/clients") + .WithTags("Clients"); + + // GET /api/clients — recherche paginée mobile. Pattern "" (et non "/") : + // le mobile appelle GET /api/clients SANS slash final. MapGet("") accepte + // /api/clients ET /api/clients/. + mobileGroup.MapGet("", SearchForMobileAsync) + .WithName("SearchClientsMobile") + .Produces>(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized) + .Produces(StatusCodes.Status403Forbidden); + + return endpoints; + } + + /// + /// GET /api/clients — recherche paginée mobile. Endpoint authentifié + droit A.CLIENT.VOIR. + /// + private static async Task SearchForMobileAsync( + HttpContext httpContext, + IClientService service, + IMobilePermissionService permissions, + int page = 1, + int pageSize = 20, + string? search = null, + string? sortBy = null, + bool sortDescending = false, + string? nom = null, + string? code = null, + string? ville = null, + string? codePostal = null, + string? telephone = null, + string? email = null, + string? type = null, + string? statut = null, + bool? estArchive = null, + bool? estBloque = null, + CancellationToken cancellationToken = default) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + if (!await permissions.HasPermissionAsync(MobilePermissionKeys.VoirClients, cancellationToken)) + { + return Results.Json(new { message = "Accès refusé : droit « consulter les clients » manquant." }, statusCode: StatusCodes.Status403Forbidden); + } + + return await SearchClientsCoreAsync( + service, page, pageSize, search, sortBy, sortDescending, nom, code, ville, + codePostal, telephone, email, type, statut, estArchive, estBloque, cancellationToken); + } + + /// + /// Cœur commun de la recherche clients (desktop + mobile) : validation + exécution. + /// + private static async Task>, BadRequest>> SearchClientsCoreAsync( + IClientService service, + int page, + int pageSize, + string? search, + string? sortBy, + bool sortDescending, + string? nom, + string? code, + string? ville, + string? codePostal, + string? telephone, + string? email, + string? type, + string? statut, + bool? estArchive, + bool? estBloque, + CancellationToken cancellationToken) + { + if (page <= 0) + return TypedResults.BadRequest("Page must be greater than 0."); + + if (pageSize <= 0) + return TypedResults.BadRequest("PageSize must be greater than 0."); + + if (pageSize > PagedRequest.MaxPageSize) + return TypedResults.BadRequest($"PageSize must not exceed {PagedRequest.MaxPageSize}."); + + var request = new SearchClientsRequest + { + Page = page, + PageSize = pageSize, + Search = search, + SortBy = sortBy, + SortDescending = sortDescending, + Nom = nom, + Code = code, + Ville = ville, + CodePostal = codePostal, + Telephone = telephone, + Email = email, + Type = type, + Statut = statut, + EstArchive = estArchive, + EstBloque = estBloque + }; + + PagedResult result = await service.SearchAsync(request, cancellationToken); + + return TypedResults.Ok(result); + } + + /// + /// GET /clients/{id} + /// + private static async Task, NotFound>> GetByIdAsync( + IClientService service, + string id, + CancellationToken cancellationToken) + { + ClientDetailsDto? client = await service.GetByIdAsync(id, cancellationToken); + + return client is null + ? TypedResults.NotFound() + : TypedResults.Ok(client); + } +} diff --git a/src/Omika.Api/Endpoints/CollaborateurEndpoints.cs b/src/Omika.Api/Endpoints/CollaborateurEndpoints.cs new file mode 100644 index 0000000..2933126 --- /dev/null +++ b/src/Omika.Api/Endpoints/CollaborateurEndpoints.cs @@ -0,0 +1,303 @@ +using Microsoft.AspNetCore.Http.HttpResults; +using Omika.Api.Services; +using Omika.Core.Constants; +using Omika.Core.Contracts.Common; +using Omika.Core.Contracts.Mobile.License; +using Omika.Core.Contracts.Organisation; +using Omika.Core.Contracts.Planning; +using Omika.Core.Interfaces; +using Omika.Core.Interfaces.Mobile; + +namespace Omika.Api.Endpoints; + +/// +/// Endpoints de lecture des collaborateurs. +/// Utilise exclusivement — aucune connaissance +/// des repositories physiques, des schémas HFSQL, ni de ODBC. +/// +public static class CollaborateurEndpoints +{ + public static IEndpointRouteBuilder MapCollaborateurEndpoints(this IEndpointRouteBuilder endpoints) + { + var group = endpoints.MapGroup("/collaborateurs") + .WithTags("Collaborateurs"); + + // GET /collaborateurs — recherche paginée. + // Pattern "" (et non "/") : le mobile appelle GET /collaborateurs SANS + // slash final. MapGet("/") n'enregistrerait que /collaborateurs/ (404 pour + // l'appel mobile). MapGet("") accepte /collaborateurs ET /collaborateurs/, + // comme le correctif déjà appliqué aux modèles de courriel/rapport. + group.MapGet("", SearchAsync) + .WithName("SearchCollaborateurs") + .Produces>(StatusCodes.Status200OK) + .ProducesProblem(StatusCodes.Status400BadRequest); + + // GET /collaborateurs/{id} — détail d'un collaborateur. + group.MapGet("/{id}", GetByIdAsync) + .WithName("GetCollaborateurById") + .Produces(StatusCodes.Status200OK) + .Produces(StatusCodes.Status404NotFound); + + // GET /collaborateurs/{id}/licence-mobile — licence mobile du collaborateur. + group.MapGet("/{id}/licence-mobile", GetMobileLicenceAsync) + .WithName("GetCollaborateurMobileLicence") + .Produces(StatusCodes.Status200OK) + .Produces(StatusCodes.Status404NotFound); + + // POST /collaborateurs/{id}/licence-mobile/assign — attribue une licence libre. + group.MapPost("/{id}/licence-mobile/assign", AssignMobileLicenceAsync) + .WithName("AssignCollaborateurMobileLicence") + .Produces(StatusCodes.Status200OK) + .Produces(StatusCodes.Status404NotFound) + .Produces(StatusCodes.Status401Unauthorized); + + // POST /collaborateurs/{id}/licence-mobile/release — libère la licence. + group.MapPost("/{id}/licence-mobile/release", ReleaseMobileLicenceAsync) + .WithName("ReleaseCollaborateurMobileLicence") + .Produces(StatusCodes.Status204NoContent) + .Produces(StatusCodes.Status404NotFound); + + // Endpoints mobile (à la demande) — préfixe /api, aligné sur MobileApiClient. + var mobileGroup = endpoints.MapGroup("/api/collaborateurs") + .WithTags("Collaborateurs"); + + // GET /api/collaborateurs/{id}/rendez-vous — agenda d'un collaborateur (à la demande). + mobileGroup.MapGet("/{id}/rendez-vous", GetRendezVousForMobileAsync) + .WithName("GetCollaborateurRendezVous") + .Produces>(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized); + + // POST /api/collaborateurs/rendez-vous — agenda d'un ensemble de + // collaborateurs (équipe), en un seul aller-retour (à la demande). + mobileGroup.MapPost("/rendez-vous", GetRendezVousForCollaborateursAsync) + .WithName("GetCollaborateursRendezVous") + .Produces>(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized); + + return endpoints; + } + + /// + /// GET /collaborateurs + /// + private static async Task>, BadRequest>> SearchAsync( + ICollaborateurService service, + int page = 1, + int pageSize = 20, + string? search = null, + string? equipeId = null, + bool? actif = null, + bool? estArchive = null, + CancellationToken cancellationToken = default) + { + if (page <= 0) + return TypedResults.BadRequest("Page must be greater than 0."); + + if (pageSize <= 0) + return TypedResults.BadRequest("PageSize must be greater than 0."); + + if (pageSize > PagedRequest.MaxPageSize) + return TypedResults.BadRequest($"PageSize must not exceed {PagedRequest.MaxPageSize}."); + + var request = new SearchCollaborateurRequest + { + Page = page, + PageSize = pageSize, + Search = search, + EquipeId = equipeId, + Actif = actif, + EstArchive = estArchive + }; + + PagedResult result = await service.SearchAsync(request, cancellationToken); + + return TypedResults.Ok(result); + } + + /// + /// GET /collaborateurs/{id} + /// + private static async Task, NotFound>> GetByIdAsync( + ICollaborateurService service, + string id, + CancellationToken cancellationToken) + { + CollaborateurDetailsDto? collaborateur = await service.GetByIdAsync(id, cancellationToken); + + return collaborateur is null + ? TypedResults.NotFound() + : TypedResults.Ok(collaborateur); + } + + /// + /// GET /collaborateurs/{id}/licence-mobile + /// + private static async Task, NotFound, UnauthorizedHttpResult>> GetMobileLicenceAsync( + HttpContext httpContext, + ILicenseService service, + IMobilePermissionService permissions, + string id, + CancellationToken cancellationToken) + { + MobileTokenIdentity? identity = httpContext.GetMobileIdentity(); + if (identity is null) + { + return TypedResults.Unauthorized(); + } + + if (!await permissions.HasPermissionAsync(MobilePermissionKeys.LicenceMobile, cancellationToken)) + { + return TypedResults.Unauthorized(); + } + + string codeClient = identity.CodeClient; + CollaborateurLicenceDto? licence = + await service.GetMobileLicenceForCollaborateurAsync(id, codeClient, cancellationToken); + + return licence is null + ? TypedResults.NotFound() + : TypedResults.Ok(licence); + } + + /// + /// POST /collaborateurs/{id}/licence-mobile/assign + /// + private static async Task, BadRequest, NotFound, UnauthorizedHttpResult>> AssignMobileLicenceAsync( + HttpContext httpContext, + ILicenseService service, + IMobilePermissionService permissions, + string id, + CancellationToken cancellationToken) + { + MobileTokenIdentity? identity = httpContext.GetMobileIdentity(); + if (identity is null) + { + return TypedResults.Unauthorized(); + } + + if (!await permissions.HasPermissionAsync(MobilePermissionKeys.LicenceMobile, cancellationToken)) + { + return TypedResults.Unauthorized(); + } + + try + { + CollaborateurLicenceDto? licence = + await service.AssignMobileLicenceAsync(id, identity.CodeClient, cancellationToken); + + return licence is null + ? TypedResults.NotFound() + : TypedResults.Ok(licence); + } + catch (InvalidOperationException ex) + { + return TypedResults.BadRequest(ex.Message); + } + } + + /// + /// POST /collaborateurs/{id}/licence-mobile/release + /// + private static async Task> ReleaseMobileLicenceAsync( + HttpContext httpContext, + ILicenseService service, + IMobilePermissionService permissions, + string id, + CancellationToken cancellationToken) + { + MobileTokenIdentity? identity = httpContext.GetMobileIdentity(); + if (identity is null) + { + return TypedResults.Unauthorized(); + } + + if (!await permissions.HasPermissionAsync(MobilePermissionKeys.LicenceMobile, cancellationToken)) + { + return TypedResults.Unauthorized(); + } + + bool released = await service.ReleaseMobileLicenceAsync(id, cancellationToken); + + return released + ? TypedResults.NoContent() + : TypedResults.NotFound(); + } + + /// + /// GET /api/collaborateurs/{id}/rendez-vous — agenda d'un collaborateur + /// (à la demande, authentifié). La période est exprimée en date de début + /// d'affectation (RVC_DateDeb), pas en date racine du rendez-vous. + /// + private static async Task GetRendezVousForMobileAsync( + HttpContext httpContext, + string id, + ICollaborateurService service, + IMobilePermissionService permissions, + IMobileEntityIdentityResolver identityResolver, + DateTime? debutMin, + DateTime? debutMax, + CancellationToken cancellationToken) + { + MobileTokenIdentity? identity = httpContext.GetMobileIdentity(); + if (identity is null) + { + return Results.Unauthorized(); + } + + DateTime min = debutMin ?? DateTime.Today.AddDays(-14); + DateTime max = debutMax ?? DateTime.Today.AddDays(29); + + IReadOnlyList results = + await service.GetRendezVousAsync(id, min, max, cancellationToken); + + results = await RdvScopeService.ApplyScopeAsync( + results, + identity, + await permissions.GetPermissionsAsync(cancellationToken), + service, + identityResolver, + cancellationToken); + + return Results.Ok(results); + } + + /// + /// POST /api/collaborateurs/rendez-vous — agenda d'un ensemble de + /// collaborateurs (équipe), en un seul aller-retour (à la demande, authentifié). + /// + private static async Task GetRendezVousForCollaborateursAsync( + HttpContext httpContext, + ICollaborateurService service, + IMobilePermissionService permissions, + IMobileEntityIdentityResolver identityResolver, + RendezVousByCollaborateursRequest request, + CancellationToken cancellationToken) + { + MobileTokenIdentity? identity = httpContext.GetMobileIdentity(); + if (identity is null) + { + return Results.Unauthorized(); + } + + if (request.CollaborateurIds.Count == 0) + { + return Results.Ok>([]); + } + + DateTime min = request.DebutMin == default ? DateTime.Today.AddDays(-14) : request.DebutMin; + DateTime max = request.DebutMax == default ? DateTime.Today.AddDays(29) : request.DebutMax; + + IReadOnlyList results = + await service.GetRendezVousForCollaborateursAsync(request.CollaborateurIds, min, max, cancellationToken); + + results = await RdvScopeService.ApplyScopeAsync( + results, + identity, + await permissions.GetPermissionsAsync(cancellationToken), + service, + identityResolver, + cancellationToken); + + return Results.Ok(results); + } +} diff --git a/src/Omika.Api/Endpoints/CompteRenduEndpoints.cs b/src/Omika.Api/Endpoints/CompteRenduEndpoints.cs new file mode 100644 index 0000000..ab6fda0 --- /dev/null +++ b/src/Omika.Api/Endpoints/CompteRenduEndpoints.cs @@ -0,0 +1,79 @@ +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.HttpResults; +using Omika.Core.Contracts.Interventions; +using Omika.Core.Interfaces; + +namespace Omika.Api.Endpoints; + +/// +/// Endpoints de lecture/écriture des comptes rendus rattachés à un rendez-vous. +/// Utilise exclusivement — aucune connaissance +/// des repositories physiques, des schémas HFSQL, ni de ODBC. +/// +public static class CompteRenduEndpoints +{ + public static IEndpointRouteBuilder MapCompteRenduEndpoints(this IEndpointRouteBuilder endpoints) + { + var group = endpoints.MapGroup("/rendez-vous") + .WithTags("CompteRendu"); + + // GET /rendez-vous/{id}/compte-rendu — compte rendu du rendez-vous (ou de son groupe). + group.MapGet("/{id}/compte-rendu", GetByRendezVousAsync) + .WithName("GetCompteRenduByRendezVous") + .Produces(StatusCodes.Status200OK) + .Produces(StatusCodes.Status404NotFound); + + // POST /rendez-vous/{id}/compte-rendu — création d'un compte rendu. + // Idempotent : pour un rendez-vous groupé, un seul compte rendu est créé + // pour tout le groupe. + group.MapPost("/{id}/compte-rendu", CreateAsync) + .WithName("CreateCompteRendu") + .Produces(StatusCodes.Status201Created) + .ProducesProblem(StatusCodes.Status400BadRequest) + .Produces(StatusCodes.Status404NotFound); + + return endpoints; + } + + private static async Task, NotFound>> GetByRendezVousAsync( + ICompteRenduService service, + string id, + CancellationToken cancellationToken) + { + CompteRenduDto? compteRendu = await service.GetByRendezVousAsync(id, cancellationToken); + + return compteRendu is null ? TypedResults.NotFound() : TypedResults.Ok(compteRendu); + } + + private static async Task, NotFound>> CreateAsync( + HttpContext httpContext, + ICompteRenduService service, + string id, + CreateCompteRenduRequest request, + CancellationToken cancellationToken) + { + try + { + // Auteur du compte rendu (CR_IDCollaborateur) : si le corps de la + // requête ne le porte pas, il est dérivé de l'identité mobile + // authentifiée — même règle que le handler de synchronisation Outbox, + // pour que la colonne ne reste jamais vide. + CreateCompteRenduRequest effective = request; + if (string.IsNullOrWhiteSpace(request.CollaborateurId)) + { + string? collaborateurId = httpContext.GetMobileIdentity()?.CollaborateurId; + if (!string.IsNullOrWhiteSpace(collaborateurId)) + { + effective = request with { CollaborateurId = collaborateurId }; + } + } + + CompteRenduDto compteRendu = await service.CreateAsync(id, effective, cancellationToken); + return TypedResults.Created($"/rendez-vous/{id}/compte-rendu", compteRendu); + } + catch (KeyNotFoundException) + { + return TypedResults.NotFound(); + } + } +} diff --git a/src/Omika.Api/Endpoints/ContactEndpoints.cs b/src/Omika.Api/Endpoints/ContactEndpoints.cs new file mode 100644 index 0000000..6438930 --- /dev/null +++ b/src/Omika.Api/Endpoints/ContactEndpoints.cs @@ -0,0 +1,42 @@ +using Microsoft.AspNetCore.Http.HttpResults; +using Omika.Core.Contracts.Contacts; +using Omika.Core.Interfaces; + +namespace Omika.Api.Endpoints; + +/// +/// Endpoints de lecture des contacts. +/// Utilise exclusivement — aucune connaissance +/// des repositories physiques, des schémas HFSQL, ni de ODBC. +/// +public static class ContactEndpoints +{ + public static IEndpointRouteBuilder MapContactEndpoints(this IEndpointRouteBuilder endpoints) + { + var group = endpoints.MapGroup("/contacts") + .WithTags("Contacts"); + + // GET /contacts/{id} — détail d'un contact. + group.MapGet("/{id}", GetByIdAsync) + .WithName("GetContactById") + .Produces(StatusCodes.Status200OK) + .Produces(StatusCodes.Status404NotFound); + + return endpoints; + } + + /// + /// GET /contacts/{id} + /// + private static async Task, NotFound>> GetByIdAsync( + IContactService service, + string id, + CancellationToken cancellationToken) + { + ContactDetailDto? contact = await service.GetByIdAsync(id, cancellationToken); + + return contact is null + ? TypedResults.NotFound() + : TypedResults.Ok(contact); + } +} diff --git a/src/Omika.Api/Endpoints/DevelopmentAuthEndpoints.cs b/src/Omika.Api/Endpoints/DevelopmentAuthEndpoints.cs new file mode 100644 index 0000000..58e1bd7 --- /dev/null +++ b/src/Omika.Api/Endpoints/DevelopmentAuthEndpoints.cs @@ -0,0 +1,187 @@ +using Microsoft.Extensions.Options; +using Omika.Core.Configuration; +using Omika.Core.Contracts.Mobile.License; +using Omika.Core.Contracts.Mobile.Sync; +using Omika.Core.Interfaces; +using Omika.Core.Interfaces.Mobile; +using Omika.Core.Services.Mobile; + +namespace Omika.Api.Endpoints; + +/// +/// Endpoint d'authentification Development local. +/// +/// En Development uniquement (et si DevelopmentAuth:Enabled est vrai), +/// permet au Desktop Debug d'obtenir un vrai token d'accès signé par le +/// mécanisme normal de l'API (), sans désactiver +/// l'authentification des endpoints métier. +/// +/// Sécurité : +/// - Enregistré UNIQUEMENT si app.Environment.IsDevelopment() ET +/// DevelopmentAuth:Enabled == true. En Production/Release, l'endpoint +/// n'existe pas (404). +/// - Refuse les appels dont l'adresse distante n'est pas loopback (127.0.0.1 / ::1). +/// - Réutilise le TokenService normal : même issuer, audience, signature, +/// expiration et claims que l'auth normale. Aucune implémentation JWT parallèle. +/// - Le token Development ne porte aucune identité métier réelle : il sert +/// uniquement à créer une session technique Development normale. +/// +public static class DevelopmentAuthEndpoints +{ + /// Code client technique Development (non métier). + public const string DevCodeClient = "LOCAL-DEV"; + + /// Identifiant utilisateur technique Development (non métier). + public const string DevUserId = "dev"; + + /// Numéro de licence technique Development (non métier). + public const string DevNumeroLicence = "DEV-LOCAL-LICENSE"; + + /// + /// Enregistre l'endpoint Development d'émission de token. + /// Ne fait rien si l'environnement n'est pas Development ou si l'option + /// DevelopmentAuth:Enabled n'est pas activée. + /// + public static IEndpointRouteBuilder MapDevelopmentAuthEndpoints( + this IEndpointRouteBuilder app, + IWebHostEnvironment environment, + IOptions options) + { + if (!environment.IsDevelopment()) + { + return app; + } + + if (options.Value is not { Enabled: true }) + { + return app; + } + + app.MapPost("/api/dev/session", async ( + HttpContext httpContext, + ITokenService tokenService, + ICollaborateurService collaborateurService, + IMobileEntityIdentityResolver identityResolver, + IMobileIdentityRepository identityRepository, + ILoggerFactory loggerFactory, + string? deviceId = null, + CancellationToken cancellationToken = default) => + { + // Protection locale : uniquement les appels loopback. + if (!IsLoopback(httpContext.Connection.RemoteIpAddress)) + { + return Results.Forbid(); + } + + string? collaborateurId = string.IsNullOrWhiteSpace(options.Value.DevCollaborateurId) + ? null + : options.Value.DevCollaborateurId.Trim(); + + // Identifiant utilisateur résolu à partir du collaborateur de test : + // les droits sont ceux du profil réel de ce collaborateur (et non d'un + // identifiant technique inexistant). L'identifiant utilisateur est le + // PK physique (UT_PKID), cohérent avec la claim UserId du token et la + // résolution dynamique par UT_PKID dans les repositories d'identité. + // Repli sur l'identifiant technique si aucun compte n'est lié. + string userId = DevUserId; + + if (options.Value.DevCollaborateurPkId is long collaboratorPk and > 0) + { + var collaborateur = await collaborateurService.GetByIdAsync( + collaboratorPk.ToString(System.Globalization.CultureInfo.InvariantCulture), + cancellationToken); + if (collaborateur is null) + { + return Results.NotFound(new { message = $"Collaborateur DEV PK {collaboratorPk} introuvable." }); + } + + collaborateurId = MobileIdentityMapper.ResolveIdString( + identityResolver, + SyncEntityTypes.Collaborateur, + collaborateur.SourceReference); + if (string.IsNullOrWhiteSpace(collaborateurId)) + { + return Results.Problem($"Impossible de canoniser le Collaborateur DEV PK {collaboratorPk}."); + } + + long? utilisateurPkId = await identityRepository.GetUtilisateurPkIdByCollaborateurAsync(collaboratorPk, cancellationToken); + if (utilisateurPkId is { } pkId and > 0) + { + userId = pkId.ToString(System.Globalization.CultureInfo.InvariantCulture); + } + + // Trace Development enrichie : identité réelle (login, rôle) et + // nombre de droits effectifs, exactement comme le bootstrap les + // charge (Role → AccesEtDroit). Aucun mot de passe/token loggé. + string? login = string.Equals(userId, DevUserId, StringComparison.Ordinal) + ? null + : await identityRepository.GetLoginByUserIdAsync(userId, cancellationToken); + string role = (await identityRepository.GetProfileAsync(userId, cancellationToken)).Code ?? "(aucun)"; + int rightsCount = (await identityRepository.GetPermissionsAsync(userId, cancellationToken)) + .Count(p => p.Value); + + loggerFactory.CreateLogger("DevelopmentAuth").LogInformation( + "DEV SESSION collaboratorPk={CollaboratorPk} collaboratorId={CollaboratorId} userId={UserId} login={Login} role={Role} rightsCount={RightsCount}", + collaboratorPk, + collaborateurId, + userId, + login, + role, + rightsCount); + } + + // Code client métier réel (configurable), sinon repli technique. + string codeClient = string.IsNullOrWhiteSpace(options.Value.DevCodeClient) + ? DevCodeClient + : options.Value.DevCodeClient.Trim(); + + var identity = new MobileTokenIdentity + { + CodeClient = codeClient, + // Utilise le DeviceId réel transmis par le client (cohérent avec + // le SyncEngine) ; repli sur "dev-desktop" si absent. + DeviceId = string.IsNullOrWhiteSpace(deviceId) ? "dev-desktop" : deviceId, + UserId = userId, + CollaborateurId = collaborateurId, + NumeroLicence = DevNumeroLicence + }; + + var session = new MobileLicenseSessionResponse + { + License = new LicenseResponse + { + IsValid = true, + CodeClient = DevCodeClient, + NumeroLicence = DevNumeroLicence, + UserId = DevUserId, + OfflineGraceDays = 0 + }, + AccessToken = tokenService.GenerateToken(identity), + AccessTokenExpiresAtUtc = tokenService.GetTokenExpirationUtc() + }; + + return Results.Ok(session); + }) + .WithName("GetDevelopmentSession") + .WithTags("Development"); + + return app; + } + + /// + /// Vérifie si l'adresse IP est loopback (127.0.0.1 ou ::1). + /// Une adresse nulle (connexion locale sans IP distante, cas des tests + /// WebApplicationFactory) est considérée comme loopback : l'endpoint + /// n'existe de toute façon qu'en Development. + /// + private static bool IsLoopback(System.Net.IPAddress? address) + { + if (address is null) + { + return true; + } + + return System.Net.IPAddress.IsLoopback(address); + } + +} diff --git a/src/Omika.Api/Endpoints/DiagnosticEndpoints.cs b/src/Omika.Api/Endpoints/DiagnosticEndpoints.cs new file mode 100644 index 0000000..da2e63c --- /dev/null +++ b/src/Omika.Api/Endpoints/DiagnosticEndpoints.cs @@ -0,0 +1,220 @@ +using System.Text.Json; +using Microsoft.AspNetCore.Http.HttpResults; +using Microsoft.Extensions.Options; +using Omika.Core.Interfaces.Mobile; +using Omika.Core.Observability.Deployment; +using Omika.Core.Observability.Diagnostic; +using Omika.Core.Observability.Identity; +using Omika.Core.Observability.Outbox; + +namespace Omika.Api.Endpoints; + +/// +/// Endpoint d'ingestion de diagnostic mobile (Phase 4) : POST /api/diagnostics. +/// Authentifié (token mobile existant), lecture du corps bornée, validation stricte, +/// persistance durable AVANT acquittement. Ne journalise jamais le corps de requête +/// et n'émet pas d'événement HTTP_REQUEST_* (anti-boucle, géré par le +/// middleware de corrélation qui exclut cette route). +/// +public static class DiagnosticEndpoints +{ + private static readonly JsonSerializerOptions JsonOptions = new(JsonSerializerDefaults.Web); + + public static IEndpointRouteBuilder MapDiagnosticEndpoints(this IEndpointRouteBuilder app) + { + app.MapPost("/api/diagnostics", async ( + HttpContext httpContext, + IRemoteDiagnosticIngestionStore store, + IDiagnosticActorKeyProvider actorKeyProvider, + IDiagnosticDeviceKeyProvider deviceKeyProvider, + IOptions options, + IDiagnosticDeploymentContextProvider deploymentContextProvider) => + { + // Authentification mobile existante (jamais une nouvelle clé/secret). + MobileTokenIdentity? identity = httpContext.GetMobileIdentity(); + if (identity is null) + { + return Results.Unauthorized(); + } + + // ActorKey calculé côté SERVEUR depuis l'identité AUTHENTIFIÉE (jamais + // depuis le payload mobile, qu'un client pourrait falsifier). Fail-open : + // clé HMAC absente/invalide → ActorKey null, aucune exception, l'ACK et + // la persistance JSONL continuent normalement (§3/§5). + DiagnosticActorKey actorKey = actorKeyProvider.Compute(identity.CodeClient, identity.CollaborateurId); + + // DeviceKey (T17-B) : pseudonyme serveur = HMAC(CodeClient + DeviceId du + // token). Le DeviceId brut n'est JAMAIS écrit en JSONL/PostgreSQL. Fail-open + // (clé HMAC absente/invalide ou DeviceId vide) → DeviceKey null. + DiagnosticDeviceKey deviceKey = deviceKeyProvider.Compute(identity.CodeClient, identity.DeviceId); + + // LicenseNumber (T17-B) : dérivé du token authentifié uniquement. Le payload + // mobile ne peut jamais choisir/écraser cette valeur (le DTO ne l'expose pas). + string? licenseNumber = NormalizeLicenseNumber(identity.NumeroLicence); + + RemoteDiagnosticOptions limits = options.Value; + CancellationToken cancellationToken = httpContext.RequestAborted; + + // 1. Lecture bornée du corps (jamais de JSON illimité). + byte[]? body = await ReadBodyAsync(httpContext.Request, limits.MaxRequestBodyBytes, cancellationToken); + if (body is null) + { + return Results.StatusCode(StatusCodes.Status413PayloadTooLarge); + } + + // 2. Désérialisation typée : les champs inconnus sont ignorés (jamais + // persistés), jamais de JSON brut stocké. + DiagnosticBatchDto? batch; + try + { + batch = JsonSerializer.Deserialize(body, JsonOptions); + } + catch (JsonException) + { + return Results.Problem( + statusCode: StatusCodes.Status400BadRequest, + title: "Lot de diagnostic invalide."); + } + + // 3. Validation stricte (schéma, bornes, métadonnées, données interdites). + DiagnosticValidationResult validation = DiagnosticBatchValidator.Validate(batch, limits); + if (!validation.IsValid) + { + return Results.Problem( + statusCode: StatusCodes.Status400BadRequest, + title: "Lot de diagnostic invalide."); + } + + // 4. Contexte de déploiement spécifique à la requête (T13-C §5/§9) : + // ClientCode = CodeClient du JWT authentifié (AUTORITAIRE, jamais le + // payload mobile), ServerInstance/Environment = serveur ingérant + // (provider). `with` crée une NOUVELLE instance : le contexte singleton + // du provider n'est JAMAIS muté par l'identité d'une requête HTTP. + DiagnosticDeploymentContext serverContext = + await deploymentContextProvider.GetAsync(cancellationToken); + DiagnosticDeploymentContext requestContext = serverContext with + { + ClientCode = NormalizeJwtClientCode(identity.CodeClient) + }; + + // 5. Persistance durable AVANT ACK. Si le stockage échoue → 503, le + // mobile ne supprime rien. + string ingestionTraceId = ResolveIngestionTraceId(httpContext); + try + { + int accepted = await store.StoreAsync( + batch!, + actorKey, + ingestionTraceId, + DateTimeOffset.UtcNow, + cancellationToken, + requestContext, + deviceKey, + licenseNumber); + + return Results.Ok(new DiagnosticBatchResponseDto + { + BatchId = batch!.BatchId, + AcceptedCount = accepted + }); + } + catch (OperationCanceledException) when (cancellationToken.IsCancellationRequested) + { + return Results.StatusCode(StatusCodes.Status499ClientClosedRequest); + } + catch + { + return Results.Problem( + statusCode: StatusCodes.Status503ServiceUnavailable, + title: "Stockage diagnostic indisponible."); + } + }) + .WithName("IngestDiagnostics") + .WithTags("Diagnostics"); + + return app; + } + + private static async Task ReadBodyAsync( + HttpRequest request, + int maxBytes, + CancellationToken cancellationToken) + { + if (request.ContentLength is { } length && length > maxBytes) + { + return null; + } + + using var buffer = new MemoryStream(); + byte[] chunk = new byte[81920]; + int total = 0; + int read; + while ((read = await request.Body.ReadAsync(chunk.AsMemory(), cancellationToken)) > 0) + { + total += read; + if (total > maxBytes) + { + return null; + } + + buffer.Write(chunk, 0, read); + } + + return buffer.ToArray(); + } + + private static string ResolveIngestionTraceId(HttpContext context) + { + // Header de réponse posé par le middleware de corrélation, sinon header de + // requête, sinon nouveau GUID. Jamais les TraceId des événements transportés. + try + { + string? response = context.Response.Headers[CorrelationHeaders.TraceId].ToString(); + if (Guid.TryParse(response, out Guid responseTraceId)) + { + return responseTraceId.ToString("D"); + } + } + catch + { + // Best-effort. + } + + try + { + string? request = context.Request.Headers[CorrelationHeaders.TraceId].ToString(); + if (Guid.TryParse(request, out Guid requestTraceId)) + { + return requestTraceId.ToString("D"); + } + } + catch + { + // Best-effort. + } + + return Guid.NewGuid().ToString("D"); + } + + /// + /// Normalise le CodeClient du JWT authentifié : trim + vide → null. Ne tronque + /// jamais, n'invente jamais de valeur, et ne fait JAMAIS de fallback vers le + /// payload mobile (ClientId/ClientCode) ni vers le provider (T13-C §6/§7). + /// + private static string? NormalizeJwtClientCode(string? raw) + { + string? trimmed = raw?.Trim(); + return string.IsNullOrWhiteSpace(trimmed) ? null : trimmed; + } + + /// + /// Normalise le numéro de licence du JWT authentifié (T17-B) : trim + vide → null. + /// Ne tronque jamais, n'invente jamais de valeur. Le payload mobile ne peut pas + /// écraser cette valeur (le DTO transport ne l'expose pas). + /// + private static string? NormalizeLicenseNumber(string? raw) + { + string? trimmed = raw?.Trim(); + return string.IsNullOrWhiteSpace(trimmed) ? null : trimmed; + } +} diff --git a/src/Omika.Api/Endpoints/DocAideEndpoints.cs b/src/Omika.Api/Endpoints/DocAideEndpoints.cs new file mode 100644 index 0000000..08978e0 --- /dev/null +++ b/src/Omika.Api/Endpoints/DocAideEndpoints.cs @@ -0,0 +1,61 @@ +using Microsoft.AspNetCore.Http; +using Omika.Core.Compatibility; +using Omika.Core.Contracts.Mobile.Aide; +using Omika.Core.Interfaces; +using Omika.Core.Runtime; + +namespace Omika.Api.Endpoints; + +/// +/// Endpoint d'aide contextuelle mobile : l'application synchronise au lancement +/// l'intégralité des fiches d'aide, puis les sert depuis sa base locale (aucun +/// appel réseau à l'ouverture d'une aide, donc consultable hors connexion). +/// +/// +/// La source est décidée côté serveur, selon la base réellement détectée : +/// table Doc_Aide (schéma Omika) ou fichier doc_aide.json déployé +/// à côté de appsettings.Production.json (base Batik). +/// +/// +public static class DocAideEndpoints +{ + /// Enregistre GET /api/mobile/aide. + public static IEndpointRouteBuilder MapDocAideEndpoints(this IEndpointRouteBuilder app) + { + app.MapGet("/api/mobile/aide", async ( + HttpContext httpContext, + IDocAideService aideService, + CancellationToken cancellationToken) => + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + IReadOnlyList fiches = await aideService.GetAllAsync(cancellationToken); + + return Results.Ok(new MobileAideResponse + { + Fiches = fiches, + Source = SourceCourante(), + GenereeLeUtc = DateTimeOffset.UtcNow + }); + }) + .WithName("GetMobileAide") + .WithTags("Mobile"); + + return app; + } + + /// + /// Origine réelle des données d'aide, pour le diagnostic (jamais utilisée + /// pour décider de l'affichage côté mobile). + /// + private static string SourceCourante() + => ApplicationRuntimeContext.Current.DetectedVersion switch + { + DatabaseSchemaVersion.Batik => "doc_aide.json", + DatabaseSchemaVersion.Omika => "Doc_Aide", + _ => "inconnue" + }; +} diff --git a/src/Omika.Api/Endpoints/DossierEndpoints.cs b/src/Omika.Api/Endpoints/DossierEndpoints.cs new file mode 100644 index 0000000..8a05e5c --- /dev/null +++ b/src/Omika.Api/Endpoints/DossierEndpoints.cs @@ -0,0 +1,141 @@ +using Microsoft.AspNetCore.Http.HttpResults; +using Omika.Api.Services; +using Omika.Core.Constants; +using Omika.Core.Contracts.Common; +using Omika.Core.Contracts.Interventions; +using Omika.Core.Interfaces; + +namespace Omika.Api.Endpoints; + +/// +/// Endpoints de lecture des dossiers. +/// Utilise exclusivement — aucune connaissance +/// des repositories physiques, des schémas HFSQL, ni de ODBC. +/// +public static class DossierEndpoints +{ + public static IEndpointRouteBuilder MapDossierEndpoints(this IEndpointRouteBuilder endpoints) + { + var group = endpoints.MapGroup("/dossiers") + .WithTags("Dossiers"); + + // GET /dossiers/{id} — détail d'un dossier. + group.MapGet("/{id}", GetByIdAsync) + .WithName("GetDossierById") + .Produces(StatusCodes.Status200OK) + .Produces(StatusCodes.Status404NotFound); + + // Endpoints mobile (à la demande) — préfixe /api, aligné sur MobileApiClient. + // Droit requis : A.DOSS.VOIR. + var mobileGroup = endpoints.MapGroup("/api/dossiers") + .WithTags("Dossiers"); + + // GET /api/dossiers — recherche paginée mobile. Pattern "" (et non "/") : + // le mobile appelle GET /api/dossiers SANS slash final. MapGet("") accepte + // /api/dossiers ET /api/dossiers/. + mobileGroup.MapGet("", SearchForMobileAsync) + .WithName("SearchDossiersMobile") + .Produces>(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized) + .Produces(StatusCodes.Status403Forbidden); + + return endpoints; + } + + /// + /// GET /api/dossiers — recherche paginée mobile. Endpoint authentifié + droit A.DOSS.VOIR. + /// + private static async Task SearchForMobileAsync( + HttpContext httpContext, + IDossierService service, + IMobilePermissionService permissions, + int page = 1, + int pageSize = 20, + string? titre = null, + string? referenceMetier = null, + string? refInterne = null, + string? refExterne = null, + string? clientSearch = null, + string? clientId = null, + string? type = null, + string? statut = null, + bool? estArchive = null, + CancellationToken cancellationToken = default) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + if (!await permissions.HasPermissionAsync(MobilePermissionKeys.VoirDossiers, cancellationToken)) + { + return Results.Json(new { message = "Accès refusé : droit « consulter les dossiers » manquant." }, statusCode: StatusCodes.Status403Forbidden); + } + + return await SearchDossiersCoreAsync( + service, page, pageSize, titre, referenceMetier, refInterne, refExterne, + clientSearch, clientId, type, statut, estArchive, cancellationToken); + } + + /// + /// Cœur commun de la recherche dossiers (desktop + mobile) : validation + exécution. + /// + private static async Task>, BadRequest>> SearchDossiersCoreAsync( + IDossierService service, + int page, + int pageSize, + string? titre, + string? referenceMetier, + string? refInterne, + string? refExterne, + string? clientSearch, + string? clientId, + string? type, + string? statut, + bool? estArchive, + CancellationToken cancellationToken) + { + if (page <= 0) + return TypedResults.BadRequest("Page must be greater than 0."); + + if (pageSize <= 0) + return TypedResults.BadRequest("PageSize must be greater than 0."); + + if (pageSize > PagedRequest.MaxPageSize) + return TypedResults.BadRequest($"PageSize must not exceed {PagedRequest.MaxPageSize}."); + + var request = new SearchDossiersRequest + { + Page = page, + PageSize = pageSize, + Titre = titre, + ReferenceMetier = referenceMetier, + RefInterne = refInterne, + RefExterne = refExterne, + ClientSearch = clientSearch, + ClientId = clientId, + Type = type, + Statut = statut, + EstArchive = estArchive + }; + + PagedResult result = await service.SearchAsync(request, cancellationToken); + + return TypedResults.Ok(result); + } + + /// + /// GET /dossiers/{id} + /// + private static async Task, NotFound>> GetByIdAsync( + IDossierService service, + string id, + CancellationToken cancellationToken) + { + DossierDetailsDto? dossier = await service.GetByIdAsync(id, cancellationToken); + + return dossier is null + ? TypedResults.NotFound() + : TypedResults.Ok(dossier); + } +} diff --git a/src/Omika.Api/Endpoints/EquipeEndpoints.cs b/src/Omika.Api/Endpoints/EquipeEndpoints.cs new file mode 100644 index 0000000..c074d8d --- /dev/null +++ b/src/Omika.Api/Endpoints/EquipeEndpoints.cs @@ -0,0 +1,75 @@ +using Microsoft.AspNetCore.Http.HttpResults; +using Omika.Core.Contracts.Organisation; +using Omika.Core.Interfaces; +using Omika.Core.Interfaces.Mobile; + +namespace Omika.Api.Endpoints; + +/// +/// Endpoints de lecture des équipes. +/// Un utilisateur ne consulte que les équipes où il est présent (membre) : le +/// filtrage est porté par l'identité du collaborateur authentifié, jamais par un +/// paramètre fourni librement par le client. +/// +public static class EquipeEndpoints +{ + public static IEndpointRouteBuilder MapEquipeEndpoints(this IEndpointRouteBuilder endpoints) + { + var group = endpoints.MapGroup("/equipes") + .WithTags("Equipes"); + + // GET /equipes — équipes du collaborateur authentifié (avec membres). + // Pattern "" (et non "/") : le mobile appelle GET /equipes SANS slash + // final. MapGet("") accepte /equipes ET /equipes/. + group.MapGet("", GetEquipesAsync) + .WithName("GetEquipes") + .Produces>(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized); + + // GET /equipes/all — toutes les équipes de la base (avec société), sans + // filtrage par appartenance. Destiné au filtre « équipe » de l'agenda. + group.MapGet("/all", GetAllEquipesAsync) + .WithName("GetAllEquipes") + .Produces>(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized); + + return endpoints; + } + + private static async Task>, UnauthorizedHttpResult>> GetAllEquipesAsync( + HttpContext httpContext, + IEquipeService service, + CancellationToken cancellationToken) + { + MobileTokenIdentity? identity = httpContext.GetMobileIdentity(); + if (identity is null) + { + return TypedResults.Unauthorized(); + } + + IReadOnlyList equipes = await service.GetAllEquipesAsync(cancellationToken); + return TypedResults.Ok(equipes); + } + + private static async Task>, UnauthorizedHttpResult>> GetEquipesAsync( + HttpContext httpContext, + IEquipeService service, + CancellationToken cancellationToken) + { + MobileTokenIdentity? identity = httpContext.GetMobileIdentity(); + if (identity is null) + { + return TypedResults.Unauthorized(); + } + + if (string.IsNullOrWhiteSpace(identity.CollaborateurId)) + { + return TypedResults.Ok>([]); + } + + IReadOnlyList equipes = + await service.GetEquipesForCollaborateurAsync(identity.CollaborateurId, cancellationToken); + + return TypedResults.Ok(equipes); + } +} diff --git a/src/Omika.Api/Endpoints/HealthEndpoints.cs b/src/Omika.Api/Endpoints/HealthEndpoints.cs new file mode 100644 index 0000000..0739ffb --- /dev/null +++ b/src/Omika.Api/Endpoints/HealthEndpoints.cs @@ -0,0 +1,33 @@ +using Microsoft.AspNetCore.Http.HttpResults; +using Omika.Core.Runtime; + +namespace Omika.Api.Endpoints; + +/// +/// Endpoints de supervision de la solution Omika. +/// +public static class HealthEndpoints +{ + public static IEndpointRouteBuilder MapHealthEndpoints(this IEndpointRouteBuilder app) + { + app.MapGet("/health", () => + TypedResults.Ok(new HealthStatusResponse( + Status: "Healthy", + TimestampUtc: DateTimeOffset.UtcNow, + Components: new Dictionary + { + ["api"] = "Ok", + // Reflète la version réellement détectée et validée au démarrage. + // Aucune information sensible (connexion, mot de passe, DSN) n'est exposée. + ["hfsql"] = ApplicationRuntimeContext.Current.DetectedVersion.ToString() + }))) + .WithName("GetHealth") + .WithTags("Health"); + + return app; + } +} + + +/// Réponse standard de l'endpoint de supervision. +internal sealed record HealthStatusResponse(string Status, DateTimeOffset TimestampUtc, IReadOnlyDictionary Components); diff --git a/src/Omika.Api/Endpoints/InterventionEndpoints.cs b/src/Omika.Api/Endpoints/InterventionEndpoints.cs new file mode 100644 index 0000000..fb66673 --- /dev/null +++ b/src/Omika.Api/Endpoints/InterventionEndpoints.cs @@ -0,0 +1,1138 @@ +using Microsoft.AspNetCore.Http.HttpResults; +using Microsoft.Extensions.Logging; +using Omika.Api.Services; +using Omika.Core.Constants; +using Omika.Core.Contracts.Documents; +using Omika.Core.Contracts.Interventions; +using Omika.Core.Contracts.Mobile.Documents; +using Omika.Core.Contracts.Mobile.Interventions; +using Omika.Core.Contracts.Planning; +using Omika.Core.Interfaces; +using Omika.Core.Interfaces.Mobile; +using Omika.Core.Services; + +namespace Omika.Api.Endpoints; + +/// +/// Endpoints de lecture des interventions. +/// Utilise exclusivement — aucune connaissance +/// des repositories physiques, des schémas HFSQL, ni de ODBC. +/// +public static class InterventionEndpoints +{ + /// + /// Message renvoyé quand l'utilisateur a une messagerie EXTERNE par défaut : + /// l'application ne doit pas envoyer de courriel à sa place. + /// + private const string MessageMessagerieExterne = + "Votre messagerie par défaut est externe : l'envoi d'un courriel se fait depuis votre " + + "application de messagerie, pas depuis Omika."; + + /// + /// Message renvoyé quand l'utilisateur a une messagerie INTERNE (Back-Office) : + /// le marquage « envoyé depuis une messagerie externe » n'a aucun sens, l'envoi + /// doit passer par Omika (SMTP). + /// + private const string MessageMessagerieInterne = + "Votre messagerie par défaut est interne : l'envoi du courriel doit se faire depuis Omika."; + + public static IEndpointRouteBuilder MapInterventionEndpoints(this IEndpointRouteBuilder endpoints) + { + var group = endpoints.MapGroup("/interventions") + .WithTags("Interventions"); + + // GET /interventions/{id} — détail d'une intervention. + group.MapGet("/{id}", GetByIdAsync) + .WithName("GetInterventionById") + .Produces(StatusCodes.Status200OK) + .Produces(StatusCodes.Status404NotFound); + + // Endpoints mobile (recherche à la demande + bulk) — préfixe /api, + // aligné sur MobileApiClient qui appelle /api/interventions/.... + var mobileGroup = endpoints.MapGroup("/api/interventions") + .WithTags("Interventions"); + + // POST /api/interventions/search — recherche mobile à la demande (non archivées). + mobileGroup.MapPost("/search", SearchForMobileAsync) + .WithName("SearchInterventionsForMobile") + .Produces>(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized); + + // POST /api/interventions/by-ids — récupération bulk par identités publiques. + mobileGroup.MapPost("/by-ids", GetByIdsAsync) + .WithName("GetInterventionsByIds") + .Produces>(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized); + + // GET /api/interventions/{id}/rendez-vous — rendez-vous liés (à la demande, + // tous collaborateurs), pour la fiche intervention. + mobileGroup.MapGet("/{id}/rendez-vous", GetRendezVousForInterventionAsync) + .WithName("GetInterventionRendezVous") + .Produces>(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized); + + // GET /api/interventions/{id}/notes — notes internes liées (à la demande). + mobileGroup.MapGet("/{id}/notes", GetNotesForInterventionAsync) + .WithName("GetInterventionNotes") + .Produces>(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized); + + // GET /api/interventions/{id}/notes-administratives — notes administratives + // (MI_IDTypeMessage > 10), réservées aux profils autorisés. + mobileGroup.MapGet("/{id}/notes-administratives", GetNotesAdministrativesForInterventionAsync) + .WithName("GetInterventionNotesAdministratives") + .Produces>(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized); + + // POST /api/interventions/{id}/notes — ajout d'une note interne. + mobileGroup.MapPost("/{id}/notes", AddNoteForInterventionAsync) + .WithName("AddInterventionNote") + .Produces(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized); + + // POST /api/interventions/{id}/notes-administratives — ajout d'une note + // administrative (droit A.NOTE.ADMIN requis). + mobileGroup.MapPost("/{id}/notes-administratives", AddNoteAdministrativeForInterventionAsync) + .WithName("AddInterventionNoteAdministrative") + .Produces(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized); + + // GET /api/interventions/{id}/emails — courriels liés (à la demande). + mobileGroup.MapGet("/{id}/emails", GetEmailsForInterventionAsync) + .WithName("GetInterventionEmails") + .Produces>(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized); + + // POST /api/interventions/{id}/emails — création d'un courriel lié. + mobileGroup.MapPost("/{id}/emails", AddEmailForInterventionAsync) + .WithName("AddInterventionEmail") + .Produces(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized); + + // POST /api/interventions/{id}/emails/envoyer — envoi SMTP + trace MessageExterne. + mobileGroup.MapPost("/{id}/emails/envoyer", EnvoyerEmailForInterventionAsync) + .WithName("EnvoyerInterventionEmail") + .Produces(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized); + + // POST /api/interventions/{id}/emails/{emailId}/envoyer — envoi SMTP d'un + // brouillon existant puis marquage « envoyé ». + mobileGroup.MapPost("/{id}/emails/{emailId}/envoyer", EnvoyerBrouillonForInterventionAsync) + .WithName("EnvoyerBrouillonInterventionEmail") + .Produces(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized) + .Produces(StatusCodes.Status409Conflict); + + // PUT /api/interventions/{id}/emails/{emailId} — modification d'un brouillon. + mobileGroup.MapPut("/{id}/emails/{emailId}", UpdateEmailForInterventionAsync) + .WithName("UpdateInterventionEmail") + .Produces(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized) + .Produces(StatusCodes.Status409Conflict); + + // POST /api/interventions/{id}/emails/envoye-externe — enregistre un + // courriel déclaré envoyé depuis une MESSAGERIE EXTERNE (aucun SMTP) : + // ME_Envoyer=true, ME_EnvoyerMob=true, ME_Brouillon=false. + mobileGroup.MapPost("/{id}/emails/envoye-externe", AddEmailEnvoyeExterneAsync) + .WithName("AddInterventionEmailEnvoyeExterne") + .Produces(StatusCodes.Status200OK) + .Produces(StatusCodes.Status400BadRequest) + .Produces(StatusCodes.Status401Unauthorized); + + // PUT /api/interventions/{id}/emails/{emailId}/envoye-externe — marque un + // brouillon existant comme envoyé depuis une messagerie externe. + mobileGroup.MapPut("/{id}/emails/{emailId}/envoye-externe", UpdateEmailEnvoyeExterneAsync) + .WithName("UpdateInterventionEmailEnvoyeExterne") + .Produces(StatusCodes.Status200OK) + .Produces(StatusCodes.Status400BadRequest) + .Produces(StatusCodes.Status401Unauthorized) + .Produces(StatusCodes.Status409Conflict); + + // GET /api/interventions/{id}/documents — métadonnées des documents liés + // (à la demande, filtrées par intervention). Le mobile ne reçoit jamais + // les documents d'interventions qu'il n'a pas demandées. + mobileGroup.MapGet("/{id}/documents", GetDocumentsForInterventionAsync) + .WithName("GetInterventionDocuments") + .Produces>(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized); + + return endpoints; + } + + /// + /// GET /interventions/{id} + /// + private static async Task, NotFound>> GetByIdAsync( + IInterventionService service, + string id, + CancellationToken cancellationToken) + { + InterventionDetailsDto? intervention = await service.GetByIdAsync(id, cancellationToken); + + return intervention is null + ? TypedResults.NotFound() + : TypedResults.Ok(intervention); + } + + /// + /// POST /interventions/search — recherche mobile à la demande. Endpoint + /// authentifié : renvoie uniquement des interventions non archivées. + /// + private static async Task SearchForMobileAsync( + HttpContext httpContext, + MobileInterventionSearchRequest request, + IMobileInterventionSearchService searchService, + IMobilePermissionService permissionService, + IHostEnvironment environment, + ILoggerFactory loggerFactory, + CancellationToken cancellationToken) + { + MobileTokenIdentity? identity = httpContext.GetMobileIdentity(); + if (identity is null) + { + return Results.Unauthorized(); + } + + // Accès à la recherche : au moins 1 des 3 droits de recherche requis. + IReadOnlyDictionary permissions = await permissionService.GetPermissionsAsync(cancellationToken); + bool canSearch = + (permissions.TryGetValue(MobilePermissionKeys.RechercheSocieteAttachee, out bool s) && s) + || (permissions.TryGetValue(MobilePermissionKeys.RechercheRdvExistant, out bool r) && r) + || (permissions.TryGetValue(MobilePermissionKeys.RechercheRdvExistantDossier, out bool d) && d); + + if (!canSearch) + { + return Results.Json(new { message = "Accès refusé : droit de recherche d'interventions manquant." }, statusCode: StatusCodes.Status403Forbidden); + } + + ILogger logger = loggerFactory.CreateLogger("InterventionSearch"); + if (environment.IsDevelopment()) + { + logger.LogInformation( + "INTERVENTION SEARCH refInterne='{RefInterne}' client='{Client}' site='{Site}' collaborateur='{Collaborateur}' status={Status} type={Type}", + request.Reference ?? string.Empty, request.ClientSearch ?? string.Empty, + request.SiteSearch ?? string.Empty, request.CollaborateurSearch ?? string.Empty, + request.Etat, request.Type); + } + IReadOnlyList results = + await searchService.SearchAsync(request, identity, permissions, cancellationToken); + if (environment.IsDevelopment()) + { + logger.LogInformation("INTERVENTION SEARCH resultCount={ResultCount}", results.Count); + } + return Results.Ok(results); + } + + /// + /// POST /interventions/by-ids — récupération bulk par identités publiques + /// (rafraîchissement des favoris). Endpoint authentifié. + /// + private static async Task GetByIdsAsync( + HttpContext httpContext, + MobileInterventionsByIdsRequest request, + IMobileInterventionSearchService searchService, + CancellationToken cancellationToken) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + IReadOnlyList results = + await searchService.GetByIdsAsync(request.Ids, cancellationToken); + return Results.Ok(results); + } + + /// + /// GET /interventions/{id}/rendez-vous — rendez-vous liés à une intervention + /// (à la demande). Endpoint authentifié. + /// + private static async Task GetRendezVousForInterventionAsync( + HttpContext httpContext, + string id, + IMobileInterventionSearchService searchService, + ICollaborateurService collaborateurService, + IMobilePermissionService permissions, + IMobileEntityIdentityResolver identityResolver, + CancellationToken cancellationToken) + { + MobileTokenIdentity? identity = httpContext.GetMobileIdentity(); + if (identity is null) + { + return Results.Unauthorized(); + } + + IReadOnlyList results = + await searchService.GetRendezVousAsync(id, cancellationToken); + + results = await RdvScopeService.ApplyScopeAsync( + results, + identity, + await permissions.GetPermissionsAsync(cancellationToken), + collaborateurService, + identityResolver, + cancellationToken); + + return Results.Ok(results); + } + + /// + /// GET /interventions/{id}/notes — notes internes liées à une intervention + /// (à la demande). Endpoint authentifié. + /// + private static async Task GetNotesForInterventionAsync( + HttpContext httpContext, + string id, + IInterventionService interventionService, + CancellationToken cancellationToken) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + IReadOnlyList results = + await interventionService.GetNotesAsync(id, cancellationToken); + return Results.Ok(results); + } + + /// + /// GET /api/interventions/{id}/notes-administratives — notes administratives + /// (à la demande). Endpoint authentifié + droit A.NOTE.ADMIN requis. + /// + private static async Task GetNotesAdministrativesForInterventionAsync( + HttpContext httpContext, + string id, + IInterventionService interventionService, + IMobilePermissionService permissions, + CancellationToken cancellationToken) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + if (!await permissions.HasPermissionAsync(MobilePermissionKeys.NotesAdministratives, cancellationToken)) + { + return Results.Json(new { message = "Accès refusé : droit « notes administratives » manquant." }, statusCode: StatusCodes.Status403Forbidden); + } + + IReadOnlyList results = + await interventionService.GetNotesAdministrativesAsync(id, cancellationToken); + return Results.Ok(results); + } + + /// + /// POST /interventions/{id}/notes — ajout d'une note interne. Endpoint authentifié. + /// + private static async Task AddNoteForInterventionAsync( + HttpContext httpContext, + string id, + CreateNoteInterneRequest request, + IInterventionService interventionService, + CancellationToken cancellationToken) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + if (string.IsNullOrWhiteSpace(request.Contenu)) + { + return Results.BadRequest("Le contenu de la note est obligatoire."); + } + + NoteInterneDto note = await interventionService.AddNoteAsync( + id, request.Contenu.Trim(), httpContext.GetAuditActor(), cancellationToken); + return Results.Ok(note); + } + + /// + /// POST /api/interventions/{id}/notes-administratives — ajout d'une note + /// administrative. Endpoint authentifié + droit A.NOTE.ADMIN requis. + /// + private static async Task AddNoteAdministrativeForInterventionAsync( + HttpContext httpContext, + string id, + CreateNoteInterneRequest request, + IInterventionService interventionService, + IMobilePermissionService permissions, + CancellationToken cancellationToken) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + if (!await permissions.HasPermissionAsync(MobilePermissionKeys.NotesAdministratives, cancellationToken)) + { + return Results.Json(new { message = "Accès refusé : droit « notes administratives » manquant." }, statusCode: StatusCodes.Status403Forbidden); + } + + if (string.IsNullOrWhiteSpace(request.Contenu)) + { + return Results.BadRequest("Le contenu de la note est obligatoire."); + } + + NoteInterneDto note = await interventionService.AddNoteAdministrativeAsync( + id, request.Contenu.Trim(), httpContext.GetAuditActor(), cancellationToken); + return Results.Ok(note); + } + + /// + /// GET /api/interventions/{id}/emails — courriels liés à une intervention + /// (à la demande). Endpoint authentifié. + /// + private static async Task GetEmailsForInterventionAsync( + HttpContext httpContext, + string id, + IInterventionService interventionService, + CancellationToken cancellationToken) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + IReadOnlyList results = + await interventionService.GetEmailsAsync(id, cancellationToken); + return Results.Ok(results); + } + + /// + /// POST /api/interventions/{id}/emails — création d'un courriel lié à une + /// intervention. Endpoint authentifié. + /// + private static async Task AddEmailForInterventionAsync( + HttpContext httpContext, + string id, + CreateEmailInterventionRequest request, + IInterventionService interventionService, + IMobileDocumentService documentService, + IMobilePermissionService permissions, + CancellationToken cancellationToken) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + if (!await permissions.HasPermissionAsync(MobilePermissionKeys.EnvoiEmail, cancellationToken)) + { + return Results.Json(new { message = "Accès refusé : droit d'envoi d'email manquant." }, statusCode: StatusCodes.Status403Forbidden); + } + + if (string.IsNullOrWhiteSpace(request.Message) && string.IsNullOrWhiteSpace(request.Objet)) + { + return Results.BadRequest("Le sujet ou le message du courriel est obligatoire."); + } + + // ENREGISTREMENT SANS ENVOI : brouillon (ME_Envoyer=false, ME_Brouillon=true, + // ME_EnvoyerMob=false). Le statut brouillon n'est pas un choix utilisateur. + (IReadOnlyList piecesJointesPk, IReadOnlyList piecesJointesChemins) = + await ResoudrePiecesJointesReferencesAsync(request.PiecesJointes, documentService, cancellationToken); + + EmailInterventionDto email = await interventionService.EnregistrerNouvelEmailAsync( + id, + new EmailEnregistrement + { + Objet = request.Objet ?? string.Empty, + Message = request.Message ?? string.Empty, + AdrDestinataires = request.AdrDestinataires, + AdrCC = request.AdrCC, + AdrCCI = request.AdrCCI, + PiecesJointes = request.PiecesJointes, + PiecesJointesPk = piecesJointesPk, + PiecesJointesChemins = piecesJointesChemins, + Brouillon = true, + Envoyer = false, + EnvoyerMob = false + }, + httpContext.GetAuditActor(), + cancellationToken); + return Results.Ok(email); + } + + /// + /// POST /api/interventions/{id}/emails/envoyer — envoi du courriel (SMTP + /// serveur) puis création de la trace MessageExterne. Endpoint authentifié. + /// + private static async Task EnvoyerEmailForInterventionAsync( + HttpContext httpContext, + string id, + CreateEmailInterventionRequest request, + IInterventionService interventionService, + IEmailSender emailSender, + IMobileDocumentService documentService, + ISmtpConfigurationService smtpConfigurationService, + IMobilePermissionService permissions, + ILoggerFactory loggerFactory, + CancellationToken cancellationToken) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + if (!await permissions.HasPermissionAsync(MobilePermissionKeys.EnvoiEmail, cancellationToken)) + { + return Results.Json(new { message = "Accès refusé : droit d'envoi d'email manquant." }, statusCode: StatusCodes.Status403Forbidden); + } + + if (string.IsNullOrWhiteSpace(request.Message) && string.IsNullOrWhiteSpace(request.Objet)) + { + return Results.BadRequest("Le sujet ou le message du courriel est obligatoire."); + } + + SmtpConfiguration? smtp; + try + { + smtp = await ResoudreSmtpAsync( + httpContext.GetMobileIdentity()?.CollaborateurId, request.ConfigurationSmtpId, smtpConfigurationService, cancellationToken); + } + catch (EmailEnvoiException ex) + { + // Mot de passe SMTP standard absent/illisible : erreur métier claire. + return TraduireErreurEnvoi(ex, loggerFactory.CreateLogger("Omika.Api.Email")); + } + + if (smtp is null) + { + // Messagerie EXTERNE : l'envoi ne passe pas par Omika. Le dire + // explicitement, au lieu du message « sélectionnez une configuration ». + if (await smtpConfigurationService.EstMessagerieExterneAsync( + httpContext.GetMobileIdentity()?.CollaborateurId ?? string.Empty, + cancellationToken)) + { + return Results.BadRequest(MessageMessagerieExterne); + } + + return Results.BadRequest("Sélectionnez une configuration SMTP pour envoyer le courriel."); + } + + IReadOnlyList piecesJointes = + await ResoudrePiecesJointesAsync(request.PiecesJointes, documentService, cancellationToken); + + // Références des documents joints (ME_IDDocPJ = PKID, ME_PieceJointes = chemin). + (IReadOnlyList piecesJointesPk, IReadOnlyList piecesJointesChemins) = + await ResoudrePiecesJointesReferencesAsync(request.PiecesJointes, documentService, cancellationToken); + + // Préparation de la TENTATIVE d'envoi (règles §4, §8-§11) : le corps envoyé + // = BASE BODY + signature de la configuration ; CC/CCI effectifs = saisie + // utilisateur + CC/CCI de la configuration (auto-CCI du compte si bEnCopieCachee). + string baseBody = request.Message ?? string.Empty; + string sendBody = EmailEnvoiPreparation.ComposerCorpsEnvoi(baseBody, smtp.Signature); + IReadOnlyList effectiveCc = EmailEnvoiPreparation.FusionnerCc(request.AdrCC, smtp.CcCopieEmail); + IReadOnlyList effectiveCci = EmailEnvoiPreparation.FusionnerCci(request.AdrCCI, smtp.EnCopieCachee, smtp.Email); + string sender = string.IsNullOrWhiteSpace(smtp.Email) ? (smtp.Login ?? string.Empty) : smtp.Email; + + var message = new EmailMessage + { + Sujet = request.Objet ?? string.Empty, + // Corps HTML conservé TEL QUEL pour le client mail : le modèle Email + // produit du HTML (DocxHtmlConverter). Un corps sans balisage (email + // vierge / brouillon texte) reste en texte simple. + CorpsHtml = ContientBaliseHtml(sendBody) ? sendBody : null, + CorpsTexte = ContientBaliseHtml(sendBody) ? null : sendBody, + Destinataires = SplitAdresses(request.AdrDestinataires), + Cc = effectiveCc, + Cci = effectiveCci, + PiecesJointes = piecesJointes + }; + + try + { + await emailSender.EnvoyerAsync(message, smtp, cancellationToken); + } + catch (EmailEnvoiException ex) + { + // ÉCHEC : persister un brouillon (BASE BODY, CC utilisateur, aucun CCI), + // puis remonter l'erreur métier. Les PKID + chemins des PJ sont conservés. + await interventionService.EnregistrerNouvelEmailAsync( + id, BrouillonApresEchec(request, piecesJointesPk, piecesJointesChemins), httpContext.GetAuditActor(), cancellationToken); + return TraduireErreurEnvoi(ex, loggerFactory.CreateLogger("Omika.Api.Email")); + } + + // SUCCÈS : persister le message RÉELLEMENT envoyé (SEND BODY + CC/CCI effectifs). + EmailInterventionDto email = await interventionService.EnregistrerNouvelEmailAsync( + id, + new EmailEnregistrement + { + Objet = request.Objet ?? string.Empty, + Message = sendBody, + AdrDestinataires = request.AdrDestinataires, + AdrCC = JoindreAdresses(effectiveCc), + AdrCCI = JoindreAdresses(effectiveCci), + AdrExp = sender, + PiecesJointes = request.PiecesJointes, + PiecesJointesPk = piecesJointesPk, + PiecesJointesChemins = piecesJointesChemins, + Brouillon = false, + Envoyer = true, + EnvoyerMob = true + }, + httpContext.GetAuditActor(), + cancellationToken); + return Results.Ok(email); + } + + /// + /// POST /api/interventions/{id}/emails/{emailId}/envoyer — envoi SMTP d'un + /// brouillon existant puis marquage « envoyé ». L'envoi a lieu AVANT la mise + /// à jour : en cas d'échec SMTP, le brouillon reste brouillon. + /// + private static async Task EnvoyerBrouillonForInterventionAsync( + HttpContext httpContext, + string id, + string emailId, + CreateEmailInterventionRequest request, + IInterventionService interventionService, + IEmailSender emailSender, + IMobileDocumentService documentService, + ISmtpConfigurationService smtpConfigurationService, + IMobilePermissionService permissions, + ILoggerFactory loggerFactory, + CancellationToken cancellationToken) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + if (!await permissions.HasPermissionAsync(MobilePermissionKeys.EnvoiEmail, cancellationToken)) + { + return Results.Json(new { message = "Accès refusé : droit d'envoi d'email manquant." }, statusCode: StatusCodes.Status403Forbidden); + } + + if (string.IsNullOrWhiteSpace(request.Message) && string.IsNullOrWhiteSpace(request.Objet)) + { + return Results.BadRequest("Le sujet ou le message du courriel est obligatoire."); + } + + SmtpConfiguration? smtp; + try + { + smtp = await ResoudreSmtpAsync( + httpContext.GetMobileIdentity()?.CollaborateurId, request.ConfigurationSmtpId, smtpConfigurationService, cancellationToken); + } + catch (EmailEnvoiException ex) + { + // Mot de passe SMTP standard absent/illisible : erreur métier claire. + return TraduireErreurEnvoi(ex, loggerFactory.CreateLogger("Omika.Api.Email")); + } + + if (smtp is null) + { + // Messagerie EXTERNE : l'envoi ne passe pas par Omika. Le dire + // explicitement, au lieu du message « sélectionnez une configuration ». + if (await smtpConfigurationService.EstMessagerieExterneAsync( + httpContext.GetMobileIdentity()?.CollaborateurId ?? string.Empty, + cancellationToken)) + { + return Results.BadRequest(MessageMessagerieExterne); + } + + return Results.BadRequest("Sélectionnez une configuration SMTP pour envoyer le courriel."); + } + + IReadOnlyList piecesJointes = + await ResoudrePiecesJointesAsync(request.PiecesJointes, documentService, cancellationToken); + + // Références des documents joints (ME_IDDocPJ = PKID, ME_PieceJointes = chemin). + (IReadOnlyList piecesJointesPk, IReadOnlyList piecesJointesChemins) = + await ResoudrePiecesJointesReferencesAsync(request.PiecesJointes, documentService, cancellationToken); + + // Préparation de la TENTATIVE d'envoi (règles §4, §8-§11). + string baseBody = request.Message ?? string.Empty; + string sendBody = EmailEnvoiPreparation.ComposerCorpsEnvoi(baseBody, smtp.Signature); + IReadOnlyList effectiveCc = EmailEnvoiPreparation.FusionnerCc(request.AdrCC, smtp.CcCopieEmail); + IReadOnlyList effectiveCci = EmailEnvoiPreparation.FusionnerCci(request.AdrCCI, smtp.EnCopieCachee, smtp.Email); + string sender = string.IsNullOrWhiteSpace(smtp.Email) ? (smtp.Login ?? string.Empty) : smtp.Email; + + var message = new EmailMessage + { + Sujet = request.Objet ?? string.Empty, + CorpsHtml = ContientBaliseHtml(sendBody) ? sendBody : null, + CorpsTexte = ContientBaliseHtml(sendBody) ? null : sendBody, + Destinataires = SplitAdresses(request.AdrDestinataires), + Cc = effectiveCc, + Cci = effectiveCci, + PiecesJointes = piecesJointes + }; + + try + { + await emailSender.EnvoyerAsync(message, smtp, cancellationToken); + } + catch (EmailEnvoiException ex) + { + // ÉCHEC : le brouillon existant reste brouillon (BASE BODY, CC utilisateur, + // aucun CCI), puis l'erreur métier est remontée. Les PKID + chemins des + // PJ sont conservés. + await interventionService.EnregistrerEmailExistantAsync( + emailId, BrouillonApresEchec(request, piecesJointesPk, piecesJointesChemins), cancellationToken); + return TraduireErreurEnvoi(ex, loggerFactory.CreateLogger("Omika.Api.Email")); + } + + // SUCCÈS : marquer le brouillon envoyé avec le message réellement transmis. + try + { + EmailInterventionDto email = await interventionService.EnregistrerEmailExistantAsync( + emailId, + new EmailEnregistrement + { + Objet = request.Objet ?? string.Empty, + Message = sendBody, + AdrDestinataires = request.AdrDestinataires, + AdrCC = JoindreAdresses(effectiveCc), + AdrCCI = JoindreAdresses(effectiveCci), + AdrExp = sender, + PiecesJointes = request.PiecesJointes, + PiecesJointesPk = piecesJointesPk, + PiecesJointesChemins = piecesJointesChemins, + Brouillon = false, + Envoyer = true, + EnvoyerMob = true + }, + cancellationToken); + return Results.Ok(email); + } + catch (InvalidOperationException ex) + { + return Results.Conflict(ex.Message); + } + catch (KeyNotFoundException ex) + { + return Results.NotFound(ex.Message); + } + } + + /// + /// Résout la configuration SMTP choisie pour l'utilisateur courant. Retourne + /// si l'identifiant est vide ou introuvable. + /// + private static async Task ResoudreSmtpAsync( + string? collaborateurId, + string? configurationSmtpId, + ISmtpConfigurationService smtpConfigurationService, + CancellationToken cancellationToken) + { + if (string.IsNullOrWhiteSpace(configurationSmtpId)) + { + return null; + } + + return await smtpConfigurationService.GetAsync( + collaborateurId ?? string.Empty, + configurationSmtpId, + cancellationToken); + } + + /// + /// Résout les GUID de documents joints en pièces jointes binaires (lecture + /// du stockage serveur). Les GUID introuvables ou sans contenu sont ignorés. + /// + private static async Task> ResoudrePiecesJointesAsync( + IReadOnlyList piecesJointes, + IMobileDocumentService documentService, + CancellationToken cancellationToken) + { + var result = new List(); + foreach (string guidText in piecesJointes) + { + if (!Guid.TryParse(guidText, out Guid guid) || guid == Guid.Empty) + { + continue; + } + + DocumentDownloadResponse? document = await documentService.DownloadAsync(guid, cancellationToken); + if (document is { Existe: true, Contenu.Length: > 0 }) + { + result.Add(new EmailAttachment + { + NomFichier = document.NomFichier ?? guid.ToString("N"), + Contenu = document.Contenu + }); + } + } + + return result; + } + + /// + /// Résout les GUID de documents joints en couples ALIGNÉS (PKID HFSQL, chemin + /// complet serveur), pour renseigner ME_IDDocPJ et ME_PieceJointes + /// (contrat WinDev : positions identiques, cardinalités identiques). + /// Un GUID non résolu OU sans fichier serveur est ignoré : aucune valeur + /// fausse (GUID, chemin mobile local, chemin vide) n'est jamais persistée. + /// + private static async Task<(IReadOnlyList Pks, IReadOnlyList Chemins)> ResoudrePiecesJointesReferencesAsync( + IReadOnlyList piecesJointes, + IMobileDocumentService documentService, + CancellationToken cancellationToken) + { + var pks = new List(); + var chemins = new List(); + var vus = new HashSet(); + foreach (string guidText in piecesJointes) + { + if (!Guid.TryParse(guidText, out Guid guid) || guid == Guid.Empty || !vus.Add(guid)) + { + continue; + } + + long pk = await documentService.ResolveDocumentPkAsync(guid, cancellationToken); + if (pk <= 0) + { + continue; + } + + string? chemin = await documentService.ResolveDocumentFullPathAsync(guid, cancellationToken); + if (string.IsNullOrWhiteSpace(chemin)) + { + continue; + } + + pks.Add(pk); + chemins.Add(chemin); + } + + return (pks, chemins); + } + + /// + /// PUT /api/interventions/{id}/emails/{emailId} — modification d'un courriel + /// existant. Seul un brouillon peut être modifié ; un courriel déjà envoyé + /// renvoie 409 Conflict. Endpoint authentifié. + /// + private static async Task UpdateEmailForInterventionAsync( + HttpContext httpContext, + string id, + string emailId, + CreateEmailInterventionRequest request, + IInterventionService interventionService, + IMobileDocumentService documentService, + IMobilePermissionService permissions, + CancellationToken cancellationToken) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + if (!await permissions.HasPermissionAsync(MobilePermissionKeys.EnvoiEmail, cancellationToken)) + { + return Results.Json(new { message = "Accès refusé : droit d'envoi d'email manquant." }, statusCode: StatusCodes.Status403Forbidden); + } + + if (string.IsNullOrWhiteSpace(request.Message) && string.IsNullOrWhiteSpace(request.Objet)) + { + return Results.BadRequest("Le sujet ou le message du courriel est obligatoire."); + } + + // Modification d'un brouillon (jamais d'envoi) : les PKID + chemins HFSQL des + // PJ sont résolus et persistés, sans jamais marquer « envoyé ». Le statut + // brouillon n'est pas un choix utilisateur. + (IReadOnlyList piecesJointesPk, IReadOnlyList piecesJointesChemins) = + await ResoudrePiecesJointesReferencesAsync(request.PiecesJointes, documentService, cancellationToken); + + try + { + EmailInterventionDto email = await interventionService.EnregistrerEmailExistantAsync( + emailId, + new EmailEnregistrement + { + Objet = request.Objet ?? string.Empty, + Message = request.Message ?? string.Empty, + AdrDestinataires = request.AdrDestinataires, + AdrCC = request.AdrCC, + AdrCCI = request.AdrCCI, + PiecesJointes = request.PiecesJointes, + PiecesJointesPk = piecesJointesPk, + PiecesJointesChemins = piecesJointesChemins, + Brouillon = true, + Envoyer = false, + EnvoyerMob = false + }, + cancellationToken); + return Results.Ok(email); + } + catch (InvalidOperationException ex) + { + return Results.Conflict(ex.Message); + } + catch (KeyNotFoundException ex) + { + return Results.NotFound(ex.Message); + } + } + + /// + /// POST /api/interventions/{id}/emails/envoye-externe — enregistre un courriel + /// déclaré ENVOYÉ depuis une messagerie externe (choix de messagerie + /// « Externe ») : aucun envoi SMTP, aucune signature, aucun CCI automatique. + /// Champs persistés : ME_Envoyer=true, ME_EnvoyerMob=true, + /// ME_Brouillon=false. Refusé quand la messagerie interne est active + /// (l'envoi doit passer par Omika). Endpoint authentifié. + /// + private static async Task AddEmailEnvoyeExterneAsync( + HttpContext httpContext, + string id, + CreateEmailInterventionRequest request, + IInterventionService interventionService, + IMobileDocumentService documentService, + ISmtpConfigurationService smtpConfigurationService, + IMobilePermissionService permissions, + CancellationToken cancellationToken) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + if (!await permissions.HasPermissionAsync(MobilePermissionKeys.EnvoiEmail, cancellationToken)) + { + return Results.Json(new { message = "Accès refusé : droit d'envoi d'email manquant." }, statusCode: StatusCodes.Status403Forbidden); + } + + if (string.IsNullOrWhiteSpace(request.Message) && string.IsNullOrWhiteSpace(request.Objet)) + { + return Results.BadRequest("Le sujet ou le message du courriel est obligatoire."); + } + + if (!await smtpConfigurationService.EstMessagerieExterneAsync( + httpContext.GetMobileIdentity()?.CollaborateurId ?? string.Empty, + cancellationToken)) + { + return Results.BadRequest(MessageMessagerieInterne); + } + + (IReadOnlyList piecesJointesPk, IReadOnlyList piecesJointesChemins) = + await ResoudrePiecesJointesReferencesAsync(request.PiecesJointes, documentService, cancellationToken); + + EmailInterventionDto email = await interventionService.EnregistrerNouvelEmailAsync( + id, + EmailEnvoyeExterne(request, piecesJointesPk, piecesJointesChemins), + httpContext.GetAuditActor(), + cancellationToken); + return Results.Ok(email); + } + + /// + /// PUT /api/interventions/{id}/emails/{emailId}/envoye-externe — marque un + /// brouillon EXISTANT comme envoyé depuis une messagerie externe. Un courriel + /// déjà envoyé est refusé (409 Conflict). Endpoint authentifié. + /// + private static async Task UpdateEmailEnvoyeExterneAsync( + HttpContext httpContext, + string id, + string emailId, + CreateEmailInterventionRequest request, + IInterventionService interventionService, + IMobileDocumentService documentService, + ISmtpConfigurationService smtpConfigurationService, + IMobilePermissionService permissions, + CancellationToken cancellationToken) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + if (!await permissions.HasPermissionAsync(MobilePermissionKeys.EnvoiEmail, cancellationToken)) + { + return Results.Json(new { message = "Accès refusé : droit d'envoi d'email manquant." }, statusCode: StatusCodes.Status403Forbidden); + } + + if (string.IsNullOrWhiteSpace(request.Message) && string.IsNullOrWhiteSpace(request.Objet)) + { + return Results.BadRequest("Le sujet ou le message du courriel est obligatoire."); + } + + if (!await smtpConfigurationService.EstMessagerieExterneAsync( + httpContext.GetMobileIdentity()?.CollaborateurId ?? string.Empty, + cancellationToken)) + { + return Results.BadRequest(MessageMessagerieInterne); + } + + (IReadOnlyList piecesJointesPk, IReadOnlyList piecesJointesChemins) = + await ResoudrePiecesJointesReferencesAsync(request.PiecesJointes, documentService, cancellationToken); + + try + { + EmailInterventionDto email = await interventionService.EnregistrerEmailExistantAsync( + emailId, + EmailEnvoyeExterne(request, piecesJointesPk, piecesJointesChemins), + cancellationToken); + return Results.Ok(email); + } + catch (InvalidOperationException ex) + { + return Results.Conflict(ex.Message); + } + catch (KeyNotFoundException ex) + { + return Results.NotFound(ex.Message); + } + } + + /// + /// Courriel persisté quand l'envoi a eu lieu DEPUIS UNE MESSAGERIE EXTERNE et + /// que l'utilisateur l'a confirmé : corps saisi tel quel (aucune signature, pas + /// de CC/CCI automatique, expéditeur inconnu), ME_Envoyer=true, + /// ME_EnvoyerMob=true (« envoyé par le mobile »), ME_Brouillon=false. + /// Nécessairement un brouillon (jamais un courriel déjà envoyé). + /// + private static EmailEnregistrement EmailEnvoyeExterne( + CreateEmailInterventionRequest request, + IReadOnlyList piecesJointesPk, + IReadOnlyList piecesJointesChemins) + => new() + { + Objet = request.Objet ?? string.Empty, + Message = request.Message ?? string.Empty, + AdrDestinataires = request.AdrDestinataires, + AdrCC = request.AdrCC, + AdrCCI = request.AdrCCI, + AdrExp = null, + PiecesJointes = request.PiecesJointes, + PiecesJointesPk = piecesJointesPk, + PiecesJointesChemins = piecesJointesChemins, + Brouillon = false, + Envoyer = true, + EnvoyerMob = true + }; + + private static IReadOnlyList SplitAdresses(string? adresses) + { + if (string.IsNullOrWhiteSpace(adresses)) + { + return []; + } + + return adresses.Split([';', ','], StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries); + } + + /// Joint une liste d'adresses (déjà normalisée) en chaîne « ; ». + private static string? JoindreAdresses(IReadOnlyList adresses) + => adresses is null or { Count: 0 } ? null : string.Join("; ", adresses); + + /// + /// Brouillon persisté après un ÉCHEC d'envoi : BASE BODY (aucune signature), + /// CC utilisateur uniquement, CCI vide, ME_Envoyer=false, ME_Brouillon=true. + /// Les données dépendantes du compte (signature, tabCC_CopieEmail, auto-CCI) ne + /// sont jamais persistées. + /// + private static EmailEnregistrement BrouillonApresEchec( + CreateEmailInterventionRequest request, + IReadOnlyList piecesJointesPk, + IReadOnlyList piecesJointesChemins) + => new() + { + Objet = request.Objet ?? string.Empty, + Message = request.Message ?? string.Empty, + AdrDestinataires = request.AdrDestinataires, + AdrCC = request.AdrCC, + AdrCCI = string.Empty, + AdrExp = null, + PiecesJointes = request.PiecesJointes, + PiecesJointesPk = piecesJointesPk, + PiecesJointesChemins = piecesJointesChemins, + Brouillon = true, + Envoyer = false, + EnvoyerMob = false + }; + + /// + /// Vrai si le texte contient au moins un couple de balises HTML. Utilisé pour + /// router le corps d'un courriel vers CorpsHtml (HTML conservé) ou + /// CorpsTexte (texte simple : email vierge / brouillon sans balisage). + /// + private static bool ContientBaliseHtml(string? texte) + { + if (string.IsNullOrWhiteSpace(texte)) + { + return false; + } + + int debut = texte.IndexOf('<'); + return debut >= 0 && texte.IndexOf('>', debut + 1) > debut; + } + + /// + /// Traduit un échec d'envoi SMTP () en une + /// réponse HTTP structurée : message utilisateur propre + détail technique + /// (exception interne, sans secret) pour les logs du mobile. L'exception + /// complète est logguée côté serveur. + /// + private static IResult TraduireErreurEnvoi(EmailEnvoiException ex, ILogger logger) + { + logger.LogError(ex, "Échec de l'envoi d'un courriel (type {Type}).", ex.Type); + + int statusCode = ex.Type switch + { + EmailEnvoiErreurType.DestinataireInvalide => StatusCodes.Status400BadRequest, + EmailEnvoiErreurType.ConfigurationIncomplete => StatusCodes.Status400BadRequest, + EmailEnvoiErreurType.AuthentificationRefusee => StatusCodes.Status502BadGateway, + EmailEnvoiErreurType.ServeurInaccessible => StatusCodes.Status502BadGateway, + EmailEnvoiErreurType.EnvoiRefuse => StatusCodes.Status502BadGateway, + _ => StatusCodes.Status500InternalServerError + }; + + return Results.Json( + new + { + message = ex.Message, + detail = ex.InnerException?.Message, + type = ex.Type.ToString() + }, + statusCode: statusCode); + } + + /// + /// GET /api/interventions/{id}/documents — métadonnées des documents liés à + /// une intervention (à la demande). Endpoint authentifié : renvoie uniquement + /// les documents de l'intervention demandée (jamais une collection globale). + /// + private static async Task GetDocumentsForInterventionAsync( + HttpContext httpContext, + string id, + IMobileDocumentService documentService, + IMobilePermissionService permissions, + CancellationToken cancellationToken) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + // Catégories de document autorisées par le profil courant : clés T.DOC.* + // dont le droit A.DOC.* correspondant est accordé. + IReadOnlyDictionary rights = await permissions.GetPermissionsAsync(cancellationToken); + IReadOnlyCollection allowedCategories = BuildAllowedDocumentCategories(rights); + + IReadOnlyList results = + await documentService.GetByInterventionAsync(id, allowedCategories, cancellationToken); + return Results.Ok(results); + } + + /// + /// Calcule l'ensemble des clés de catégorie de document (T.DOC.*) + /// autorisées à partir des droits (A.DOC.*) de l'utilisateur. + /// + private static IReadOnlyCollection BuildAllowedDocumentCategories( + IReadOnlyDictionary permissions) + { + var allowed = new List(); + foreach ((string cle, string droit) in MobilePermissionKeys.DocCleToRight) + { + if (permissions.TryGetValue(droit, out bool autorise) && autorise) + { + allowed.Add(cle); + } + } + + return allowed; + } +} diff --git a/src/Omika.Api/Endpoints/LicenseEndpoints.cs b/src/Omika.Api/Endpoints/LicenseEndpoints.cs new file mode 100644 index 0000000..cd2c9aa --- /dev/null +++ b/src/Omika.Api/Endpoints/LicenseEndpoints.cs @@ -0,0 +1,83 @@ +using Microsoft.AspNetCore.Http.HttpResults; +using Omika.Core.Contracts.Mobile.License; +using Omika.Core.Interfaces.Mobile; + +namespace Omika.Api.Endpoints; + +/// +/// Endpoints de licence mobile. +/// Contrôle l'activation et la validation d'une licence dans HFSQL, +/// sans jamais exposer de secret HFSQL au mobile. +/// +/// Après une activation/validation réussie, le serveur émet un Bearer token +/// de session réseau (stateless, signé) et le retourne au mobile avec son +/// expiration exacte. Aucun token n'est émis si la licence est invalide. +/// +public static class LicenseEndpoints +{ + public static IEndpointRouteBuilder MapLicenseEndpoints(this IEndpointRouteBuilder app) + { + app.MapPost("/api/license/activate", async ( + LicenseActivateRequest request, + ILicenseService licenseService, + ITokenService tokenService, + CancellationToken cancellationToken) => + { + LicenseResponse response = await licenseService.ActivateAsync(request, cancellationToken); + return response.IsValid + ? Results.Ok(BuildSession(response, request.DeviceId, tokenService)) + : Results.BadRequest(BuildSession(response, request.DeviceId, tokenService)); + }) + .WithName("ActivateLicense") + .WithTags("License"); + + app.MapPost("/api/license/validate", async ( + LicenseValidateRequest request, + ILicenseService licenseService, + ITokenService tokenService, + CancellationToken cancellationToken) => + { + LicenseResponse response = await licenseService.ValidateAsync(request, cancellationToken); + return response.IsValid + ? Results.Ok(BuildSession(response, request.DeviceId, tokenService)) + : Results.BadRequest(BuildSession(response, request.DeviceId, tokenService)); + }) + .WithName("ValidateLicense") + .WithTags("License"); + + return app; + } + + /// + /// Construit la réponse de session mobile à partir du résultat de licence validé. + /// Le token n'est émis que si la licence est valide. L'identité du token est + /// construite exclusivement à partir des données serveur validées (jamais de + /// valeurs client non validées), le DeviceId étant celui validé par le service. + /// + private static MobileLicenseSessionResponse BuildSession( + LicenseResponse response, + string deviceId, + ITokenService tokenService) + { + if (!response.IsValid) + { + return new MobileLicenseSessionResponse { License = response }; + } + + var identity = new MobileTokenIdentity + { + CodeClient = response.CodeClient, + DeviceId = deviceId, + UserId = response.UserId ?? string.Empty, + CollaborateurId = response.CollaborateurId, + NumeroLicence = response.NumeroLicence + }; + + return new MobileLicenseSessionResponse + { + License = response, + AccessToken = tokenService.GenerateToken(identity), + AccessTokenExpiresAtUtc = tokenService.GetTokenExpirationUtc() + }; + } +} diff --git a/src/Omika.Api/Endpoints/MobileBootstrapEndpoints.cs b/src/Omika.Api/Endpoints/MobileBootstrapEndpoints.cs new file mode 100644 index 0000000..f53797e --- /dev/null +++ b/src/Omika.Api/Endpoints/MobileBootstrapEndpoints.cs @@ -0,0 +1,51 @@ +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.HttpResults; +using Omika.Core.Contracts.Mobile.Bootstrap; +using Omika.Core.Interfaces.Mobile; + +namespace Omika.Api.Endpoints; + +/// +/// Endpoint de bootstrap mobile. +/// Protégé par authentification : retourne le contrat commun contenant +/// utilisateur, collaborateur, profil, droits, configuration, licence et +/// paramètres de démarrage. +/// +public static class MobileBootstrapEndpoints +{ + public static IEndpointRouteBuilder MapMobileBootstrapEndpoints(this IEndpointRouteBuilder app) + { + app.MapGet("/api/mobile/bootstrap", async ( + HttpContext httpContext, + IMobileBootstrapService bootstrapService, + CancellationToken cancellationToken) => + { + MobileTokenIdentity? identity = httpContext.GetMobileIdentity(); + if (identity is null) + { + return Results.Unauthorized(); + } + + try + { + MobileBootstrapResponse response = await bootstrapService.GetBootstrapAsync( + identity, + cancellationToken); + + return Results.Ok(response); + } + catch (UnauthorizedAccessException) + { + // Identité authentifiée mais DeviceId interdit (ne correspond pas à + // la licence attribuée). 403 Forbidden, cohérent avec la convention + // des endpoints mobiles. Jamais 500. (Results.Forbid() exigerait un + // schéma d'authentification absent ici.) + return Results.StatusCode(StatusCodes.Status403Forbidden); + } + }) + .WithName("GetMobileBootstrap") + .WithTags("Mobile"); + + return app; + } +} diff --git a/src/Omika.Api/Endpoints/MobileDocumentEndpoints.cs b/src/Omika.Api/Endpoints/MobileDocumentEndpoints.cs new file mode 100644 index 0000000..859c805 --- /dev/null +++ b/src/Omika.Api/Endpoints/MobileDocumentEndpoints.cs @@ -0,0 +1,152 @@ +using Microsoft.AspNetCore.Http.HttpResults; +using Omika.Api.Services; +using Omika.Core.Constants; +using Omika.Core.Contracts.Documents; +using Omika.Core.Contracts.Mobile.Documents; +using Omika.Core.Interfaces.Mobile; + +namespace Omika.Api.Endpoints; + +/// +/// Endpoints de documents mobile. +/// Le mobile utilise exclusivement DocumentGuid comme identifiant public. +/// Le mobile ne reçoit jamais le chemin physique du serveur. +/// +public static class MobileDocumentEndpoints +{ + public static IEndpointRouteBuilder MapMobileDocumentEndpoints(this IEndpointRouteBuilder app) + { + // Téléchargement d'un document par son GUID public. + app.MapGet("/api/documents/{documentGuid:guid}", async ( + HttpContext httpContext, + Guid documentGuid, + IMobileDocumentService documentService, + CancellationToken cancellationToken) => + { + MobileTokenIdentity? identity = httpContext.GetMobileIdentity(); + if (identity is null) + { + return Results.Unauthorized(); + } + + DocumentDownloadResponse? document = await documentService.DownloadAsync( + documentGuid, + cancellationToken); + + if (document is null) + { + return Results.NotFound(); + } + + // Le contenu est renvoyé en JSON (base64) : le mobile ne reçoit jamais + // le chemin physique. Existe=false signale un fichier introuvable sur + // le stockage (ni au chemin en base, ni au chemin reconstruit). + return Results.Ok(document); + }) + .WithName("DownloadDocument") + .WithTags("Documents"); + + // Notes d'un document (lecture). + app.MapGet("/api/documents/{documentGuid:guid}/notes", async ( + HttpContext httpContext, + Guid documentGuid, + IMobileDocumentService documentService, + CancellationToken cancellationToken) => + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + IReadOnlyList notes = await documentService.GetNotesAsync(documentGuid, cancellationToken); + return Results.Ok(notes); + }) + .WithName("GetDocumentNotes") + .WithTags("Documents"); + + // Ajout d'une note à un document. + app.MapPost("/api/documents/{documentGuid:guid}/notes", async ( + HttpContext httpContext, + Guid documentGuid, + CreateNoteInterneRequest request, + IMobileDocumentService documentService, + CancellationToken cancellationToken) => + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + if (string.IsNullOrWhiteSpace(request.Contenu)) + { + return Results.BadRequest("Le contenu de la note est obligatoire."); + } + + NoteInterneDto note = await documentService.AddNoteAsync( + documentGuid, request.Contenu.Trim(), httpContext.GetAuditActor(), cancellationToken); + return Results.Ok(note); + }) + .WithName("AddDocumentNote") + .WithTags("Documents"); + + // Upload d'un document. Un upload = UN document par requête. + app.MapPost("/api/documents", async ( + HttpContext httpContext, + DocumentUploadRequest request, + IMobileDocumentService documentService, + IMobilePermissionService permissions, + CancellationToken cancellationToken) => + { + MobileTokenIdentity? identity = httpContext.GetMobileIdentity(); + if (identity is null) + { + return Results.Unauthorized(); + } + + // Catégorie du document uploadé : clé T.DOC.* si exploitable, sinon + // catégorie « Aucune » (T.DOC.NULL) par défaut. Le droit A.DOC.* + // correspondant doit être accordé, sinon 403. + string cleCategorie = ResolveCategorieCle(request.Categorie); + string droit = MobilePermissionKeys.DocCleToRight[cleCategorie]; + + if (!await permissions.HasPermissionAsync(droit, cancellationToken)) + { + return Results.Json( + new { message = "Accès refusé : droit d'ajout de document manquant." }, + statusCode: StatusCodes.Status403Forbidden); + } + + // L'auteur (utilisateur authentifié, UserId prioritaire) renseigne + // CreationUser/ModifUser du document côté serveur. + DocumentUploadResponse response = await documentService.UploadAsync( + request, + cleCategorie, + httpContext.GetAuditActor(), + cancellationToken); + + return response.Success + ? Results.Ok(response) + : Results.BadRequest(response); + }) + .WithName("UploadDocument") + .WithTags("Documents"); + + return app; + } + + /// + /// Résout la clé canonique (T.DOC.*) de la catégorie d'un document + /// uploadé. Si la catégorie est vide ou inconnue, retourne la catégorie + /// « Aucune » (T.DOC.NULL). + /// + private static string ResolveCategorieCle(string? categorie) + { + if (!string.IsNullOrWhiteSpace(categorie) + && MobilePermissionKeys.DocCleToRight.ContainsKey(categorie)) + { + return categorie; + } + + return MobilePermissionKeys.DocCategorieAucune; + } +} diff --git a/src/Omika.Api/Endpoints/ModeleDocumentEndpoints.cs b/src/Omika.Api/Endpoints/ModeleDocumentEndpoints.cs new file mode 100644 index 0000000..07b9b45 --- /dev/null +++ b/src/Omika.Api/Endpoints/ModeleDocumentEndpoints.cs @@ -0,0 +1,127 @@ +using Microsoft.AspNetCore.Http.HttpResults; +using Omika.Core.Contracts.Documents; +using Omika.Core.Interfaces; + +namespace Omika.Api.Endpoints; + +/// +/// Endpoints des modèles de courriel/rapport et de la génération de documents. +/// Utilise exclusivement les services applicatifs — aucune connaissance des +/// schémas HFSQL, des repositories physiques, ni de ODBC. +/// +public static class ModeleDocumentEndpoints +{ + public static IEndpointRouteBuilder MapModeleDocumentEndpoints(this IEndpointRouteBuilder endpoints) + { + var modeles = endpoints.MapGroup("/modele-mails") + .WithTags("Modèles de courriel"); + // Pattern "" (et non "/") : le mobile appelle GET /modele-mails SANS slash + // final ; MapGroup("/modele-mails").MapGet("/") produirait /modele-mails/ + // et un 404 pour /modele-mails. + modeles.MapGet("", GetAllMailsAsync) + .WithName("GetModeleMails") + .Produces>(StatusCodes.Status200OK); + modeles.MapGet("/{id}", GetMailByIdAsync) + .WithName("GetModeleMailById") + .Produces(StatusCodes.Status200OK) + .ProducesProblem(StatusCodes.Status404NotFound); + + var rapports = endpoints.MapGroup("/modele-rapports") + .WithTags("Modèles de rapport"); + // Même correction : GET /modele-rapports sans slash final. + rapports.MapGet("", GetAllRapportsAsync) + .WithName("GetModeleRapports") + .Produces>(StatusCodes.Status200OK); + rapports.MapGet("/{id}", GetRapportByIdAsync) + .WithName("GetModeleRapportById") + .Produces(StatusCodes.Status200OK) + .ProducesProblem(StatusCodes.Status404NotFound); + + endpoints.MapGet("/mot-clefs", GetMotClefsAsync) + .WithName("GetMotClefs") + .WithTags("Modèles de courriel") + .Produces>(StatusCodes.Status200OK); + + endpoints.MapGet("/rubriques-documents", GetRubriquesDocumentsAsync) + .WithName("GetRubriquesDocuments") + .WithTags("Modèles de rapport") + .Produces>(StatusCodes.Status200OK); + + var generation = endpoints.MapGroup("/generation") + .WithTags("Génération de documents"); + generation.MapPost("/email", GenerateEmailAsync) + .WithName("GenerateEmail") + .Produces(StatusCodes.Status200OK) + .ProducesProblem(StatusCodes.Status404NotFound) + .ProducesProblem(StatusCodes.Status400BadRequest); + generation.MapPost("/rapport", GenerateRapportAsync) + .WithName("GenerateRapport") + .Produces(StatusCodes.Status200OK) + .ProducesProblem(StatusCodes.Status404NotFound) + .ProducesProblem(StatusCodes.Status400BadRequest); + + return endpoints; + } + + private static async Task>> GetAllMailsAsync( + IModeleMailService service, + CancellationToken cancellationToken) + => TypedResults.Ok(await service.GetAllAsync(cancellationToken)); + + private static async Task, NotFound>> GetMailByIdAsync( + IModeleMailService service, + string id, + CancellationToken cancellationToken) + { + ModeleMailDto? modele = await service.GetByIdAsync(id, cancellationToken); + return modele is null ? TypedResults.NotFound() : TypedResults.Ok(modele); + } + + private static async Task>> GetAllRapportsAsync( + IModeleRapportService service, + CancellationToken cancellationToken) + => TypedResults.Ok(await service.GetAllAsync(cancellationToken)); + + private static async Task, NotFound>> GetRapportByIdAsync( + IModeleRapportService service, + string id, + CancellationToken cancellationToken) + { + ModeleRapportDto? modele = await service.GetByIdAsync(id, cancellationToken); + return modele is null ? TypedResults.NotFound() : TypedResults.Ok(modele); + } + + private static async Task>> GetMotClefsAsync( + IMotClefService service, + CancellationToken cancellationToken) + => TypedResults.Ok(await service.GetAllAsync(cancellationToken)); + + private static async Task>> GetRubriquesDocumentsAsync( + IRubriqueDocumentService service, + CancellationToken cancellationToken) + => TypedResults.Ok(await service.GetAllAsync(cancellationToken)); + + private static async Task, NotFound, BadRequest>> GenerateEmailAsync( + IDocumentGenerationService service, + GenerateDocumentRequest request, + CancellationToken cancellationToken) + { + if (string.IsNullOrWhiteSpace(request.ModelId)) + return TypedResults.BadRequest("ModelId must not be empty."); + + GenerateDocumentResponse? result = await service.GenerateEmailAsync(request, cancellationToken); + return result is null ? TypedResults.NotFound() : TypedResults.Ok(result); + } + + private static async Task, NotFound, BadRequest>> GenerateRapportAsync( + IDocumentGenerationService service, + GenerateDocumentRequest request, + CancellationToken cancellationToken) + { + if (string.IsNullOrWhiteSpace(request.ModelId)) + return TypedResults.BadRequest("ModelId must not be empty."); + + GenerateDocumentResponse? result = await service.GenerateRapportAsync(request, cancellationToken); + return result is null ? TypedResults.NotFound() : TypedResults.Ok(result); + } +} diff --git a/src/Omika.Api/Endpoints/ObservabilityHealthEndpoints.cs b/src/Omika.Api/Endpoints/ObservabilityHealthEndpoints.cs new file mode 100644 index 0000000..635e486 --- /dev/null +++ b/src/Omika.Api/Endpoints/ObservabilityHealthEndpoints.cs @@ -0,0 +1,40 @@ +using Microsoft.AspNetCore.Http.HttpResults; +using Microsoft.Extensions.Options; +using Omika.Core.Observability.External; +using Omika.Observability.External; + +namespace Omika.Api.Endpoints; + +/// +/// Endpoint de supervision du pont d'observabilité externe (Phase 5) : +/// GET /health/observability. Indépendant de /health métier : un +/// Collector/SigNoz/ClickHouse down n'affecte JAMAIS la santé d'Omika (§48). Cet +/// endpoint reste en 200 et expose l'état du lien externe à titre informatif. +/// +public static class ObservabilityHealthEndpoints +{ + public static IEndpointRouteBuilder MapObservabilityHealthEndpoints(this IEndpointRouteBuilder app) + { + app.MapGet("/health/observability", ( + OpenTelemetryExporterAdapter adapter, + IOptions options) => + { + ExternalObservabilityState state = adapter.State; + + return TypedResults.Ok(new ObservabilityHealthResponse( + ExternalEnabled: options.Value.Enabled, + State: state.ToString(), + CollectorReachable: state == ExternalObservabilityState.Healthy)); + }) + .WithName("GetObservabilityHealth") + .WithTags("Health"); + + return app; + } +} + +/// Réponse de supervision du lien externe (aucune donnée sensible). +internal sealed record ObservabilityHealthResponse( + bool ExternalEnabled, + string State, + bool CollectorReachable); diff --git a/src/Omika.Api/Endpoints/RapportChampEndpoints.cs b/src/Omika.Api/Endpoints/RapportChampEndpoints.cs new file mode 100644 index 0000000..0b6f056 --- /dev/null +++ b/src/Omika.Api/Endpoints/RapportChampEndpoints.cs @@ -0,0 +1,191 @@ +using Microsoft.AspNetCore.Http.HttpResults; +using Omika.Api.Services; +using Omika.Core.Constants; +using Omika.Core.Contracts.Documents; +using Omika.Core.Interfaces; + +namespace Omika.Api.Endpoints; + +/// +/// Endpoint de récupération des champs/rubriques d'un modèle de rapport +/// (équivalent de RecupererChampRapportInter). Authentifié. +/// +public static class RapportChampEndpoints +{ + public static IEndpointRouteBuilder MapRapportChampEndpoints(this IEndpointRouteBuilder endpoints) + { + endpoints.MapPost("/api/rapports/champs", GetChampsAsync) + .WithName("GetRapportChamps") + .WithTags("Rapports") + .Produces>(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized); + + endpoints.MapPost("/api/mails/champs", GetChampsMailAsync) + .WithName("GetMailChamps") + .WithTags("Courriels") + .Produces>(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized); + + // POST /api/mails — construction d'un courriel depuis un modèle + // (substitution des mots-clés) + enregistrement MessageExterne. + endpoints.MapPost("/api/mails", CreerEmailAsync) + .WithName("CreerEmail") + .WithTags("Courriels") + .Produces(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized) + .ProducesProblem(StatusCodes.Status404NotFound); + + // POST /api/mails/apercu — sujet + corps substitués, sans enregistrement. + endpoints.MapPost("/api/mails/apercu", ApercuEmailAsync) + .WithName("ApercuEmail") + .WithTags("Courriels") + .Produces(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized) + .ProducesProblem(StatusCodes.Status404NotFound); + + // GET /api/mails/configurations-smtp — configurations SMTP de l'utilisateur + // (sans information sensible), pour le choix au moment de l'envoi. + endpoints.MapGet("/api/mails/configurations-smtp", GetConfigurationsSmtpAsync) + .WithName("GetConfigurationsSmtp") + .WithTags("Courriels") + .Produces>(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized); + + // POST /api/rapports — génération du PDF (DOCX → PDF) + enregistrement du document. + endpoints.MapPost("/api/rapports", CreerRapportAsync) + .WithName("CreerRapport") + .WithTags("Rapports") + .Produces(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized) + .ProducesProblem(StatusCodes.Status404NotFound); + + return endpoints; + } + + private static async Task GetChampsAsync( + HttpContext httpContext, + GetRapportChampsRequest request, + IRapportChampService service, + IMobilePermissionService permissions, + CancellationToken cancellationToken) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + if (!await permissions.HasPermissionAsync(MobilePermissionKeys.CreationRapport, cancellationToken)) + { + return Results.Json(new { message = "Accès refusé : droit de création de rapport manquant." }, statusCode: StatusCodes.Status403Forbidden); + } + + IReadOnlyList champs = await service.GetChampsAsync(request, toutesRub: true, cancellationToken: cancellationToken); + return Results.Ok(champs); + } + + private static async Task GetChampsMailAsync( + HttpContext httpContext, + GetRapportChampsRequest request, + IRapportChampService service, + IMobilePermissionService permissions, + CancellationToken cancellationToken) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + if (!await permissions.HasPermissionAsync(MobilePermissionKeys.EnvoiEmail, cancellationToken)) + { + return Results.Json(new { message = "Accès refusé : droit d'envoi d'email manquant." }, statusCode: StatusCodes.Status403Forbidden); + } + + IReadOnlyList champs = await service.GetChampsMailAsync(request, cancellationToken); + return Results.Ok(champs); + } + + private static async Task CreerRapportAsync( + HttpContext httpContext, + CreateRapportRequest request, + IRapportCreationService service, + IMobilePermissionService permissions, + CancellationToken cancellationToken) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + if (!await permissions.HasPermissionAsync(MobilePermissionKeys.CreationRapport, cancellationToken)) + { + return Results.Json(new { message = "Accès refusé : droit de création de rapport manquant." }, statusCode: StatusCodes.Status403Forbidden); + } + + DocumentSummaryDto? document = await service.CreerAsync(request, httpContext.GetAuditActor(), cancellationToken); + return document is null ? Results.NotFound() : Results.Ok(document); + } + + private static async Task CreerEmailAsync( + HttpContext httpContext, + CreateEmailModeleRequest request, + IEmailCreationService service, + IMobilePermissionService permissions, + CancellationToken cancellationToken) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + if (!await permissions.HasPermissionAsync(MobilePermissionKeys.EnvoiEmail, cancellationToken)) + { + return Results.Json(new { message = "Accès refusé : droit d'envoi d'email manquant." }, statusCode: StatusCodes.Status403Forbidden); + } + + EmailInterventionDto? email = await service.CreerAsync(request, httpContext.GetAuditActor(), cancellationToken); + return email is null ? Results.NotFound() : Results.Ok(email); + } + + private static async Task ApercuEmailAsync( + HttpContext httpContext, + CreateEmailModeleRequest request, + IEmailCreationService service, + IMobilePermissionService permissions, + CancellationToken cancellationToken) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + if (!await permissions.HasPermissionAsync(MobilePermissionKeys.EnvoiEmail, cancellationToken)) + { + return Results.Json(new { message = "Accès refusé : droit d'envoi d'email manquant." }, statusCode: StatusCodes.Status403Forbidden); + } + + EmailModeleApercuDto? apercu = await service.ApercuAsync(request, cancellationToken); + return apercu is null ? Results.NotFound() : Results.Ok(apercu); + } + + private static async Task GetConfigurationsSmtpAsync( + HttpContext httpContext, + ISmtpConfigurationService service, + IMobilePermissionService permissions, + CancellationToken cancellationToken) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + if (!await permissions.HasPermissionAsync(MobilePermissionKeys.EnvoiEmail, cancellationToken)) + { + return Results.Json(new { message = "Accès refusé : droit d'envoi d'email manquant." }, statusCode: StatusCodes.Status403Forbidden); + } + + IReadOnlyList configurations = await service.GetListAsync( + httpContext.GetMobileIdentity()?.CollaborateurId ?? string.Empty, + cancellationToken); + return Results.Ok(configurations); + } +} diff --git a/src/Omika.Api/Endpoints/ReferenceDataEndpoints.cs b/src/Omika.Api/Endpoints/ReferenceDataEndpoints.cs new file mode 100644 index 0000000..2d8a079 --- /dev/null +++ b/src/Omika.Api/Endpoints/ReferenceDataEndpoints.cs @@ -0,0 +1,43 @@ +using Microsoft.AspNetCore.Http.HttpResults; +using Omika.Core.Contracts.Common; +using Omika.Core.Interfaces; + +namespace Omika.Api.Endpoints; + +/// +/// Endpoints de lecture des données de référence (référentiels métier configurables). +/// Utilise exclusivement — aucune connaissance +/// des repositories physiques, des schémas HFSQL, ni de ODBC. +/// +public static class ReferenceDataEndpoints +{ + public static IEndpointRouteBuilder MapReferenceDataEndpoints(this IEndpointRouteBuilder endpoints) + { + var group = endpoints.MapGroup("/reference-data") + .WithTags("ReferenceData"); + + // GET /reference-data/{key} — valeurs d'un référentiel par sa clé (catégorie). + group.MapGet("/{key}", GetValuesAsync) + .WithName("GetReferenceValues") + .Produces>(StatusCodes.Status200OK) + .ProducesProblem(StatusCodes.Status400BadRequest); + + return endpoints; + } + + /// + /// GET /reference-data/{key} + /// + private static async Task>, BadRequest>> GetValuesAsync( + IReferenceDataService service, + string key, + CancellationToken cancellationToken) + { + if (string.IsNullOrWhiteSpace(key)) + return TypedResults.BadRequest("Referential key must not be empty."); + + IReadOnlyList values = await service.GetValuesAsync(key, cancellationToken); + + return TypedResults.Ok(values); + } +} diff --git a/src/Omika.Api/Endpoints/RendezVousEndpoints.cs b/src/Omika.Api/Endpoints/RendezVousEndpoints.cs new file mode 100644 index 0000000..5814a44 --- /dev/null +++ b/src/Omika.Api/Endpoints/RendezVousEndpoints.cs @@ -0,0 +1,135 @@ +using System.Globalization; +using Microsoft.AspNetCore.Http.HttpResults; +using Omika.Core.Compatibility; +using Omika.Core.Contracts.Mobile.Sync; +using Omika.Core.Contracts.Organisation; +using Omika.Core.Contracts.Planning; +using Omika.Core.Interfaces; +using Omika.Core.Interfaces.Mobile; +using Omika.Core.Services.Mobile; + +namespace Omika.Api.Endpoints; + +/// +/// Endpoints de lecture des rendez-vous (agenda). +/// Utilise exclusivement — aucune connaissance +/// des repositories physiques, des schémas HFSQL, ni de ODBC. +/// +public static class RendezVousEndpoints +{ + public static IEndpointRouteBuilder MapRendezVousEndpoints(this IEndpointRouteBuilder endpoints) + { + var group = endpoints.MapGroup("/rendez-vous") + .WithTags("RendezVous"); + + // GET /rendez-vous/{id} — détail d'un rendez-vous. + group.MapGet("/{id}", GetByIdAsync) + .WithName("GetRendezVousById") + .Produces(StatusCodes.Status200OK) + .Produces(StatusCodes.Status404NotFound); + + return endpoints; + } + + /// + /// GET /rendez-vous/{id} + /// + private static async Task, NotFound>> GetByIdAsync( + IRendezVousService service, + IMobileEntityIdentityResolver identityResolver, + ICollaborateurService collaborateurService, + string id, + CancellationToken cancellationToken) + { + string physicalId = ResolvePhysicalId(id, identityResolver); + RendezVousDetailsDto? rendezVous = await service.GetByIdAsync(physicalId, cancellationToken); + if (rendezVous is null) + { + return TypedResults.NotFound(); + } + + return TypedResults.Ok(await EnrichAsync(rendezVous, identityResolver, collaborateurService, cancellationToken)); + } + + /// + /// Convertit l'identité publique (GUID) en identité physique lisible par le + /// repository : décode le GUID synthétique Batik en PK numérique, conserve + /// le GUID Omika. Un identifiant déjà numérique est conservé tel quel. + /// + private static string ResolvePhysicalId(string id, IMobileEntityIdentityResolver identityResolver) + { + if (Guid.TryParse(id, out Guid guid) && guid != Guid.Empty) + { + PhysicalEntityIdentity? physical = identityResolver.ResolvePhysicalIdentity(SyncEntityTypes.RendezVous, guid); + if (physical?.NumericId is { } numericId && numericId > 0) + { + return numericId.ToString(CultureInfo.InvariantCulture); + } + } + + return id; + } + + /// + /// Enrichit un rendez-vous retourné en détail : identité publique canonique + /// et nom affiché des collaborateurs affectés (le repository ne les + /// dénormalise pas). + /// + private static async Task EnrichAsync( + RendezVousDetailsDto rendezVous, + IMobileEntityIdentityResolver identityResolver, + ICollaborateurService collaborateurService, + CancellationToken cancellationToken) + { + string? canonicalId = MobileIdentityMapper.ResolveIdString( + identityResolver, + SyncEntityTypes.RendezVous, + rendezVous.SourceReference); + + var cache = new Dictionary(StringComparer.OrdinalIgnoreCase); + var affectations = new List(rendezVous.Collaborateurs.Count); + foreach (AffectationCollaborateurDto affectation in rendezVous.Collaborateurs) + { + string? collaborateurCanonicalId = MobileIdentityMapper.ResolveIdString( + identityResolver, + SyncEntityTypes.Collaborateur, + affectation.SourceReference); + + string? nomAffiche = null; + string? physicalId = affectation.SourceReference?.NumericId is long numericId && numericId > 0 + ? numericId.ToString(CultureInfo.InvariantCulture) + : affectation.SourceReference?.EntityGuid?.ToString("D"); + + if (physicalId is not null) + { + if (!cache.TryGetValue(physicalId, out nomAffiche)) + { + CollaborateurDetailsDto? collaborateur = + await collaborateurService.GetByIdAsync(physicalId, cancellationToken); + nomAffiche = collaborateur?.NomAffiche; + cache[physicalId] = nomAffiche; + } + } + + affectations.Add(affectation with + { + CollaborateurId = collaborateurCanonicalId ?? affectation.CollaborateurId, + NomAffiche = nomAffiche ?? affectation.NomAffiche + }); + } + + return rendezVous with + { + Id = canonicalId ?? rendezVous.Id, + ClientId = MobileIdentityMapper.ResolveIdString( + identityResolver, SyncEntityTypes.Client, rendezVous.ClientSourceReference) ?? rendezVous.ClientId, + SiteId = MobileIdentityMapper.ResolveIdString( + identityResolver, SyncEntityTypes.Site, rendezVous.SiteSourceReference) ?? rendezVous.SiteId, + DossierId = MobileIdentityMapper.ResolveIdString( + identityResolver, SyncEntityTypes.Dossier, rendezVous.DossierSourceReference) ?? rendezVous.DossierId, + InterventionId = MobileIdentityMapper.ResolveIdString( + identityResolver, SyncEntityTypes.Intervention, rendezVous.InterventionSourceReference) ?? rendezVous.InterventionId, + Collaborateurs = affectations + }; + } +} diff --git a/src/Omika.Api/Endpoints/SiteEndpoints.cs b/src/Omika.Api/Endpoints/SiteEndpoints.cs new file mode 100644 index 0000000..48c74d7 --- /dev/null +++ b/src/Omika.Api/Endpoints/SiteEndpoints.cs @@ -0,0 +1,227 @@ +using Microsoft.AspNetCore.Http.HttpResults; +using Omika.Api.Services; +using Omika.Core.Constants; +using Omika.Core.Contracts.Clients; +using Omika.Core.Contracts.Common; +using Omika.Core.Contracts.Planning; +using Omika.Core.Contracts.Sites; +using Omika.Core.Interfaces; + +namespace Omika.Api.Endpoints; + +/// +/// Endpoints de lecture/écriture des sites (lieux). +/// Utilise exclusivement — aucune connaissance +/// des repositories physiques, des schémas HFSQL, ni de ODBC. +/// +public static class SiteEndpoints +{ + public static IEndpointRouteBuilder MapSiteEndpoints(this IEndpointRouteBuilder endpoints) + { + var group = endpoints.MapGroup("/sites") + .WithTags("Sites"); + + // GET /sites/{id} — détail d'un site. + group.MapGet("/{id}", GetByIdAsync) + .WithName("GetSiteById") + .Produces(StatusCodes.Status200OK) + .Produces(StatusCodes.Status404NotFound); + + // Endpoints mobile (à la demande) — préfixe /api, aligné sur MobileApiClient. + var mobileGroup = endpoints.MapGroup("/api/sites") + .WithTags("Sites"); + + // GET /api/sites — recherche paginée mobile. Droit A.SITE.VOIR. + // Pattern "" (et non "/") : le mobile appelle GET /api/sites SANS slash + // final. MapGet("") accepte /api/sites ET /api/sites/. + mobileGroup.MapGet("", SearchForMobileAsync) + .WithName("SearchSitesMobile") + .Produces>(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized) + .Produces(StatusCodes.Status403Forbidden); + + // GET /api/sites/{id}/contacts — contacts liés (à la demande). + mobileGroup.MapGet("/{id}/contacts", GetContactsForMobileAsync) + .WithName("GetSiteContacts") + .Produces>(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized); + + // GET /api/sites/{id}/clients — clients liés (à la demande). Droit A.CLIENT.VOIR. + mobileGroup.MapGet("/{id}/clients", GetClientsForMobileAsync) + .WithName("GetSiteClients") + .Produces>(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized) + .Produces(StatusCodes.Status403Forbidden); + + // GET /api/sites/{id}/rendez-vous — rendez-vous liés (à la demande). + mobileGroup.MapGet("/{id}/rendez-vous", GetRendezVousForMobileAsync) + .WithName("GetSiteRendezVous") + .Produces>(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized); + + return endpoints; + } + + /// + /// GET /api/sites/{id}/contacts — contacts liés à un site (à la demande). Endpoint authentifié. + /// + private static async Task GetContactsForMobileAsync( + HttpContext httpContext, + string id, + ISiteService service, + CancellationToken cancellationToken) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + IReadOnlyList results = await service.GetContactsAsync(id, cancellationToken); + return Results.Ok(results); + } + + /// + /// GET /api/sites/{id}/clients — clients liés à un site (à la demande). Endpoint authentifié + droit A.CLIENT.VOIR. + /// + private static async Task GetClientsForMobileAsync( + HttpContext httpContext, + string id, + ISiteService service, + IMobilePermissionService permissions, + CancellationToken cancellationToken) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + if (!await permissions.HasPermissionAsync(MobilePermissionKeys.VoirClients, cancellationToken)) + { + return Results.Json(new { message = "Accès refusé : droit « consulter les clients » manquant." }, statusCode: StatusCodes.Status403Forbidden); + } + + IReadOnlyList results = await service.GetClientsAsync(id, cancellationToken); + return Results.Ok(results); + } + + /// + /// GET /api/sites/{id}/rendez-vous — rendez-vous liés à un site (à la demande). Endpoint authentifié. + /// + private static async Task GetRendezVousForMobileAsync( + HttpContext httpContext, + string id, + ISiteService service, + CancellationToken cancellationToken) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + IReadOnlyList results = await service.GetRendezVousAsync(id, cancellationToken); + return Results.Ok(results); + } + + /// + /// GET /api/sites — recherche paginée mobile. Endpoint authentifié + droit A.SITE.VOIR. + /// + private static async Task SearchForMobileAsync( + HttpContext httpContext, + ISiteService service, + IMobilePermissionService permissions, + int page = 1, + int pageSize = 20, + string? sortBy = null, + bool sortDescending = false, + string? code = null, + string? nom = null, + string? clientId = null, + string? ville = null, + string? codePostal = null, + string? type = null, + string? telephone = null, + string? email = null, + bool? estArchive = null, + CancellationToken cancellationToken = default) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + if (!await permissions.HasPermissionAsync(MobilePermissionKeys.VoirSites, cancellationToken)) + { + return Results.Json(new { message = "Accès refusé : droit « consulter les sites » manquant." }, statusCode: StatusCodes.Status403Forbidden); + } + + return await SearchSitesCoreAsync( + service, page, pageSize, sortBy, sortDescending, code, nom, clientId, ville, + codePostal, type, telephone, email, estArchive, cancellationToken); + } + + /// + /// Cœur commun de la recherche sites (desktop + mobile) : validation + exécution. + /// + private static async Task>, BadRequest>> SearchSitesCoreAsync( + ISiteService service, + int page, + int pageSize, + string? sortBy, + bool sortDescending, + string? code, + string? nom, + string? clientId, + string? ville, + string? codePostal, + string? type, + string? telephone, + string? email, + bool? estArchive, + CancellationToken cancellationToken) + { + if (page <= 0) + return TypedResults.BadRequest("Page must be greater than 0."); + + if (pageSize <= 0) + return TypedResults.BadRequest("PageSize must be greater than 0."); + + if (pageSize > PagedRequest.MaxPageSize) + return TypedResults.BadRequest($"PageSize must not exceed {PagedRequest.MaxPageSize}."); + + var request = new SearchSitesRequest + { + Page = page, + PageSize = pageSize, + SortBy = sortBy, + SortDescending = sortDescending, + Code = code, + Nom = nom, + ClientId = clientId, + Ville = ville, + CodePostal = codePostal, + Type = type, + Telephone = telephone, + Email = email, + EstArchive = estArchive + }; + + PagedResult result = await service.SearchAsync(request, cancellationToken); + + return TypedResults.Ok(result); + } + + /// + /// GET /sites/{id} + /// + private static async Task, NotFound>> GetByIdAsync( + ISiteService service, + string id, + CancellationToken cancellationToken) + { + SiteDetailsDto? site = await service.GetByIdAsync(id, cancellationToken); + + return site is null + ? TypedResults.NotFound() + : TypedResults.Ok(site); + } +} diff --git a/src/Omika.Api/Endpoints/SuiviTempsEndpoints.cs b/src/Omika.Api/Endpoints/SuiviTempsEndpoints.cs new file mode 100644 index 0000000..15da1de --- /dev/null +++ b/src/Omika.Api/Endpoints/SuiviTempsEndpoints.cs @@ -0,0 +1,83 @@ +using Omika.Core.Contracts.Common; +using Omika.Core.Contracts.Planning; +using Omika.Core.Interfaces; + +namespace Omika.Api.Endpoints; + +/// +/// Endpoints de lecture des saisies de temps (SuiviTemps) pour le mobile. +/// Utilise exclusivement — aucune connaissance +/// des repositories physiques, des schémas HFSQL, ni de ODBC. +/// +/// Les saisies de temps ne sont plus embarquées dans le snapshot : elles sont +/// récupérées À LA DEMANDE par le mobile via GET /api/suivis-temps +/// (paginé, filtrable par période). +/// +public static class SuiviTempsEndpoints +{ + public static IEndpointRouteBuilder MapSuiviTempsEndpoints(this IEndpointRouteBuilder endpoints) + { + // GET /api/suivis-temps — recherche paginée (à la demande, authentifiée). + var group = endpoints.MapGroup("/api/suivis-temps") + .WithTags("SuiviTemps"); + + // GET /api/suivis-temps — recherche paginée. Pattern "" (et non "/") : + // le mobile appelle GET /api/suivis-temps SANS slash final. MapGet("") + // accepte /api/suivis-temps ET /api/suivis-temps/. + group.MapGet("", SearchForMobileAsync) + .WithName("SearchSuivisTempsForMobile") + .Produces>(StatusCodes.Status200OK) + .Produces(StatusCodes.Status401Unauthorized) + .ProducesProblem(StatusCodes.Status400BadRequest); + + return endpoints; + } + + /// + /// GET /api/suivis-temps — saisies de temps paginées, filtrées par période. + /// Endpoint authentifié (identité mobile requise). + /// + private static async Task SearchForMobileAsync( + HttpContext httpContext, + ISuiviTempsService service, + int page = 1, + int pageSize = 50, + DateTime? dateDebutMin = null, + DateTime? dateDebutMax = null, + Guid? rendezVousId = null, + CancellationToken cancellationToken = default) + { + if (httpContext.GetMobileIdentity() is null) + { + return Results.Unauthorized(); + } + + if (page <= 0) + { + return Results.BadRequest("Page must be greater than 0."); + } + + if (pageSize <= 0) + { + return Results.BadRequest("PageSize must be greater than 0."); + } + + if (pageSize > PagedRequest.MaxPageSize) + { + return Results.BadRequest($"PageSize must not exceed {PagedRequest.MaxPageSize}."); + } + + var criteria = new SuiviTempsSearchCriteria + { + Page = page, + PageSize = pageSize, + DateDebutMin = dateDebutMin, + DateDebutMax = dateDebutMax, + RendezVousId = rendezVousId + }; + + PagedResult result = await service.SearchAsync(criteria, cancellationToken); + + return Results.Ok(result); + } +} diff --git a/src/Omika.Api/Endpoints/SyncEndpoints.cs b/src/Omika.Api/Endpoints/SyncEndpoints.cs new file mode 100644 index 0000000..7b13e60 --- /dev/null +++ b/src/Omika.Api/Endpoints/SyncEndpoints.cs @@ -0,0 +1,153 @@ +using System.Diagnostics; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.HttpResults; +using Omika.Api.Services; +using Omika.Core.Constants; +using Omika.Core.Contracts.Mobile.Sync; +using Omika.Core.Contracts.Mobile.Snapshot; +using Omika.Core.Interfaces.Mobile; + + +namespace Omika.Api.Endpoints; + +/// +/// Endpoints de synchronisation mobile. +/// Protégés par authentification. +/// +public static class SyncEndpoints +{ + public static IEndpointRouteBuilder MapSyncEndpoints(this IEndpointRouteBuilder app) + { + // Réception d'une opération de l'Outbox mobile. + app.MapPost("/api/sync/operations", async ( + HttpContext httpContext, + SyncOperation operation, + ISyncOperationService syncService, + CancellationToken cancellationToken) => + { + MobileTokenIdentity? identity = httpContext.GetMobileIdentity(); + if (identity is null) + { + return Results.Unauthorized(); + } + + try + { + SyncOperationReceipt receipt = await syncService.ReceiveAsync( + operation, + identity, + cancellationToken); + return Results.Ok(receipt); + } + catch (UnauthorizedAccessException) + { + // DeviceId de l'opération ≠ identité authentifiée : 403 Forbidden + // (cohérent avec /api/mobile/bootstrap). Jamais 500. + return Results.StatusCode(StatusCodes.Status403Forbidden); + } + catch (ArgumentException ex) + { + return Results.Problem( + statusCode: StatusCodes.Status400BadRequest, + title: "Opération de synchronisation invalide", + detail: ex.Message); + } + }) + .WithName("ReceiveSyncOperation") + .WithTags("Sync"); + + + // Statut d'une opération. + app.MapGet("/api/sync/status/{operationId:guid}", async ( + HttpContext httpContext, + Guid operationId, + ISyncOperationService syncService, + CancellationToken cancellationToken) => + { + MobileTokenIdentity? identity = httpContext.GetMobileIdentity(); + if (identity is null) + { + return Results.Unauthorized(); + } + + SyncStatusResponse status = await syncService.GetStatusAsync( + operationId, + identity.DeviceId, + cancellationToken); + + if (status.Status == SyncStatus.StatusNotAvailable) + { + return Results.NotFound(status); + } + + return Results.Ok(status); + }) + .WithName("GetSyncStatus") + .WithTags("Sync"); + + // Snapshot métier destiné à reconstruire les tables locales du mobile. + app.MapGet("/api/sync/snapshot", async ( + HttpContext httpContext, + IMobileSnapshotService snapshotService, + IMobilePermissionService permissions, + IConfiguration configuration, + ILoggerFactory loggerFactory, + CancellationToken cancellationToken) => + { + ILogger logger = loggerFactory.CreateLogger("SyncEndpoints.Snapshot"); + MobileTokenIdentity? identity = httpContext.GetMobileIdentity(); + if (identity is null) + { + return Results.Unauthorized(); + } + + var sw = Stopwatch.StartNew(); + logger.LogInformation("SNAPSHOT START BusinessDb={BusinessDb}", configuration["Hfsql:DatabaseName"]); + + // Les notes administratives et les documents sont inclus dans le + // snapshot uniquement si le profil courant y a droit (mêmes règles + // que les endpoints à la demande). + bool includeNotesAdministratives = await permissions.HasPermissionAsync( + MobilePermissionKeys.NotesAdministratives, cancellationToken); + IReadOnlyCollection allowedDocumentCategories = BuildAllowedDocumentCategories( + await permissions.GetPermissionsAsync(cancellationToken)); + + MobileSnapshotResponse snapshot = await snapshotService.GetSnapshotAsync( + identity.UserId, + identity.DeviceId, + identity.CollaborateurId, + includeNotesAdministratives, + allowedDocumentCategories, + cancellationToken); + + logger.LogInformation("SNAPSHOT END elapsed={Elapsed}ms", sw.ElapsedMilliseconds); + + return Results.Ok(snapshot); + }) + + .WithName("GetMobileSnapshot") + .WithTags("Sync"); + + return app; + } + + /// + /// Calcule l'ensemble des clés de catégorie de document (T.DOC.*) + /// autorisées à partir des droits (A.DOC.*) de l'utilisateur. Miroir de + /// InterventionEndpoints.BuildAllowedDocumentCategories. + /// + private static IReadOnlyCollection BuildAllowedDocumentCategories( + IReadOnlyDictionary permissions) + { + var allowed = new List(); + foreach ((string cle, string droit) in MobilePermissionKeys.DocCleToRight) + { + if (permissions.TryGetValue(droit, out bool autorise) && autorise) + { + allowed.Add(cle); + } + } + + return allowed; + } +} diff --git a/src/Omika.Api/ForwardedHeadersConfiguration.cs b/src/Omika.Api/ForwardedHeadersConfiguration.cs new file mode 100644 index 0000000..350c4bb --- /dev/null +++ b/src/Omika.Api/ForwardedHeadersConfiguration.cs @@ -0,0 +1,61 @@ +using System.Net; +using Microsoft.AspNetCore.HttpOverrides; + +namespace Omika.Api; + +/// +/// Configuration de confiance des en-têtes Forwarded pour le reverse proxy Apache +/// local (Phase 5C.2F). +/// +/// Architecture cible : +/// Client Internet --HTTPS--> Apache (omika.applilogik.fr, TLS terminé ici) +/// --HTTP (loopback)--> Kestrel (port défini par Kestrel:Endpoints:Http:Url) +/// +/// Apache transmet ProxyPreserveHost On, X-Forwarded-Proto=https et +/// X-Forwarded-Port=443. Kestrel reste HTTP uniquement sur loopback et ne +/// termine jamais TLS. +/// +/// Sécurité : +/// - Confiance limitée au SEUL proxy local (127.0.0.1 / ::1). Aucun wildcard, +/// aucun réseau public. +/// - conserve ses valeurs par +/// défaut (loopback) : on n'appelle JAMAIS Clear() sur KnownNetworks ni +/// KnownProxies, et RequireHeaderSymmetry reste explicitement activé +/// (jamais false, ce qui serait une configuration permissive). +/// - Un client Internet direct qui forgerait les en-têtes Forwarded ne sera donc +/// jamais considéré comme un proxy de confiance. +/// +public static class ForwardedHeadersConfiguration +{ + /// En-têtes Forwarded auxquels le proxy local est habilité à contribuer. + public const ForwardedHeaders TrustedHeaders = + ForwardedHeaders.XForwardedFor | + ForwardedHeaders.XForwardedProto | + ForwardedHeaders.XForwardedHost; + + /// Nombre maximal de proxies de confiance traversés par la requête. + public const int ForwardLimit = 1; + + /// + /// Construit les options ForwardedHeaders : seul le proxy Apache local + /// (loopback IPv4 + IPv6) est reconnu comme proxy de confiance. + /// + public static ForwardedHeadersOptions CreateOptions() + { + var options = new ForwardedHeadersOptions + { + ForwardedHeaders = TrustedHeaders, + ForwardLimit = ForwardLimit, + // Symétrie des en-têtes explicitement activée : toutes les valeurs + // Forwarded doivent provenir du même proxy de confiance (le proxy + // local). Jamais désactivée (configuration permissive interdite). + RequireHeaderSymmetry = true, + }; + + // Le SEUL proxy autorisé : le reverse proxy Apache local. + options.KnownProxies.Add(IPAddress.Loopback); + options.KnownProxies.Add(IPAddress.IPv6Loopback); + + return options; + } +} diff --git a/src/Omika.Api/GlobalExceptionMiddleware.cs b/src/Omika.Api/GlobalExceptionMiddleware.cs new file mode 100644 index 0000000..0108b4b --- /dev/null +++ b/src/Omika.Api/GlobalExceptionMiddleware.cs @@ -0,0 +1,173 @@ +using System.Diagnostics; +using System.Text.Json; +using Omika.Core.Contracts.Common; +using Omika.Core.Interfaces.Mobile; +using Omika.Core.Observability; +using Omika.Core.Observability.Diagnostic; + +namespace Omika.Api; + +/// +/// Middleware global de gestion des exceptions (Phase 3). Intercepte toute +/// exception non gérée, journalise un diagnostic best-effort, et produit une +/// réponse API contrôlée () avec le TraceId — sans jamais +/// exposer de stack trace, message interne, chemin, token ou donnée sensible. +/// +/// Même si l'observabilité (logger/exporter) est en panne, la réponse d'erreur est +/// quand même produite : la corrélation n'est jamais nécessaire au métier. +/// +public sealed class GlobalExceptionMiddleware +{ + private static readonly JsonSerializerOptions ErrorJsonOptions = new(JsonSerializerDefaults.Web); + + private readonly RequestDelegate _next; + + public GlobalExceptionMiddleware(RequestDelegate next) + { + _next = next; + } + + public async Task InvokeAsync( + HttpContext context, + IOmikaTelemetry telemetry, + IBreadcrumbService breadcrumbs) + { + var stopwatch = Stopwatch.StartNew(); + try + { + await _next(context); + } + catch (Exception ex) + { + Guid traceId = ResolveTraceId(context); + + LogFailure(telemetry, breadcrumbs, context, traceId, stopwatch.ElapsedMilliseconds, ex); + + if (context.Response.HasStarted) + { + // La réponse est déjà engagée : impossible de produire un corps + // contrôlé. On ne relance jamais l'exception dans le pipeline. + return; + } + + context.Response.Clear(); + context.Response.StatusCode = StatusCodes.Status500InternalServerError; + TrySetResponseHeader(context, CorrelationHeaders.TraceId, traceId.ToString("D")); + + var error = new ApiErrorDto + { + Code = "UnhandledException", + Message = "Une erreur interne est survenue.", + TraceId = traceId.ToString("D") + }; + + try + { + await context.Response.WriteAsJsonAsync(error, ErrorJsonOptions, context.RequestAborted); + } + catch + { + // L'écriture a échoué : rien d'autre à faire, on ne relance jamais. + } + } + } + + private static Guid ResolveTraceId(HttpContext context) + { + // 1. Header de réponse déjà posé par le middleware de corrélation. + try + { + string? responseHeader = context.Response.Headers[CorrelationHeaders.TraceId].ToString(); + if (CorrelationHeaders.TryParseTraceId(responseHeader, out Guid responseTraceId)) + { + return responseTraceId; + } + } + catch + { + // Best-effort. + } + + // 2. Header de requête (client), sinon nouveau GUID. + try + { + string? requestHeader = context.Request.Headers[CorrelationHeaders.TraceId].ToString(); + if (CorrelationHeaders.TryParseTraceId(requestHeader, out Guid requestTraceId)) + { + return requestTraceId; + } + } + catch + { + // Best-effort. + } + + return Guid.NewGuid(); + } + + private static void LogFailure( + IOmikaTelemetry telemetry, + IBreadcrumbService breadcrumbs, + HttpContext context, + Guid traceId, + long durationMs, + Exception ex) + { + try + { + MobileTokenIdentity? identity = context.GetMobileIdentity(); + Guid? sessionId = ResolveSessionId(context); + + telemetry.Log(new DiagnosticEvent + { + EventCode = TelemetryEventCodes.ApiHttpRequestFailed, + Level = TelemetryLevel.Error, + Component = nameof(GlobalExceptionMiddleware), + ErrorCode = "UnhandledException", + DurationMs = durationMs, + TraceId = traceId, + SessionId = sessionId, + DeviceId = identity?.DeviceId, + ClientId = identity?.CodeClient, + UserId = identity?.UserId, + CollaborateurId = identity?.CollaborateurId, + Metadata = TelemetryMetadata.Create(("exceptionType", ex.GetType().Name)) + }); + breadcrumbs.Add(new Breadcrumb + { + Code = "HTTP_REQUEST_FAILED", + Category = BreadcrumbCategory.Network, + TraceId = traceId + }); + } + catch + { + // Le logger peut échouer : la réponse d'erreur doit quand même être produite. + } + } + + private static Guid? ResolveSessionId(HttpContext context) + { + try + { + string? header = context.Request.Headers[CorrelationHeaders.SessionId].ToString(); + return CorrelationHeaders.TryParseSessionId(header, out Guid sessionId) ? sessionId : null; + } + catch + { + return null; + } + } + + private static void TrySetResponseHeader(HttpContext context, string name, string value) + { + try + { + context.Response.Headers[name] = value; + } + catch + { + // Fail-open. + } + } +} diff --git a/src/Omika.Api/MobileAuthMiddleware.cs b/src/Omika.Api/MobileAuthMiddleware.cs new file mode 100644 index 0000000..52c0c27 --- /dev/null +++ b/src/Omika.Api/MobileAuthMiddleware.cs @@ -0,0 +1,83 @@ +using Omika.Core.Domain; +using Omika.Core.Interfaces.Mobile; + +using Omika.Data.HfSql.Audit; + +namespace Omika.Api; + +/// +/// Middleware d'authentification mobile. +/// Valide le token Bearer signé et stocke l'identité mobile dans +/// pour les endpoints protégés. +/// +public sealed class MobileAuthMiddleware +{ + /// Clé de l'identité mobile dans HttpContext.Items. + public const string IdentityKey = "Omika.MobileIdentity"; + + private readonly RequestDelegate _next; + + public MobileAuthMiddleware(RequestDelegate next) + { + _next = next; + } + + public async Task InvokeAsync(HttpContext context, ITokenService tokenService) + { + string? authorization = context.Request.Headers.Authorization.ToString(); + if (!string.IsNullOrWhiteSpace(authorization) + && authorization.StartsWith("Bearer ", StringComparison.OrdinalIgnoreCase)) + { + string token = authorization["Bearer ".Length..].Trim(); + MobileTokenIdentity? identity = tokenService.ValidateToken(token); + if (identity is not null) + { + context.Items[IdentityKey] = identity; + } + } + + await _next(context); + } +} + +/// +/// Extensions pour récupérer l'identité mobile authentifiée. +/// +public static class MobileAuthExtensions +{ + /// + /// Retourne l'identité mobile authentifiée, ou si non authentifié. + /// + public static MobileTokenIdentity? GetMobileIdentity(this HttpContext context) + => context.Items.TryGetValue(MobileAuthMiddleware.IdentityKey, out var value) + ? value as MobileTokenIdentity + : null; + + /// + /// Retourne l'identifiant canonique du collaborateur auteur (GUID) à partir de + /// l'identité mobile authentifiée, ou si non authentifié + /// ou non renseigné. Sert à alimenter les colonnes d'audit CreationUser/ModifUser. + /// + public static Guid? GetAuteurCollaborateurId(this HttpContext context) + { + string? collaborateurId = context.GetMobileIdentity()?.CollaborateurId; + return Guid.TryParse(collaborateurId, out Guid guid) ? guid : null; + } + + /// + /// Retourne le contexte d'audit de l'utilisateur courant (UserId prioritaire, + /// CollaborateurId en fallback), à partir de l'identité mobile authentifiée. + /// La résolution finale (UserId → UT_PKID, sinon CollaborateurId → UT_PKID) + /// est centralisée dans HfSqlAuditUserResolver. + /// + public static AuditActor? GetAuditActor(this HttpContext context) + { + MobileTokenIdentity? identity = context.GetMobileIdentity(); + if (identity is null) + { + return null; + } + + return new AuditActor(identity.UserId, identity.CollaborateurId); + } +} diff --git a/src/Omika.Api/MobileIdentityEnrichmentMiddleware.cs b/src/Omika.Api/MobileIdentityEnrichmentMiddleware.cs new file mode 100644 index 0000000..059f04d --- /dev/null +++ b/src/Omika.Api/MobileIdentityEnrichmentMiddleware.cs @@ -0,0 +1,52 @@ +using Omika.Core.Interfaces.Mobile; +using Omika.Core.Observability.Diagnostic; + +namespace Omika.Api; + +/// +/// Middleware qui associe l'identité applicative déjà authentifiée au contexte +/// diagnostic de requête (DeviceId/ClientId/UserId/CollaborateurId) et ajoute un +/// breadcrumb technique. Aucune décision d'autorisation ici : uniquement de la +/// corrélation diagnostique, best-effort, fail-open. +/// +public sealed class MobileIdentityEnrichmentMiddleware +{ + private readonly RequestDelegate _next; + + public MobileIdentityEnrichmentMiddleware(RequestDelegate next) + { + _next = next; + } + + public async Task InvokeAsync( + HttpContext context, + RequestDiagnosticContext requestContext, + IBreadcrumbService breadcrumbs) + { + try + { + MobileTokenIdentity? identity = context.GetMobileIdentity(); + if (identity is not null) + { + requestContext.SetIdentity( + identity.DeviceId, + identity.CodeClient, + identity.UserId, + identity.CollaborateurId); + + breadcrumbs.Add(new Breadcrumb + { + Code = "AUTH_CONTEXT_RESOLVED", + Category = BreadcrumbCategory.App, + EntityType = "MobileIdentity" + }); + } + } + catch + { + // Fail-open : l'identité diagnostique ne doit jamais bloquer la requête. + } + + await _next(context); + } +} diff --git a/src/Omika.Api/Omika.Api.csproj b/src/Omika.Api/Omika.Api.csproj new file mode 100644 index 0000000..ccfa9e0 --- /dev/null +++ b/src/Omika.Api/Omika.Api.csproj @@ -0,0 +1,39 @@ + + + + net10.0 + enable + enable + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Omika.Api/Omika.Api.http b/src/Omika.Api/Omika.Api.http new file mode 100644 index 0000000..c0b2af9 --- /dev/null +++ b/src/Omika.Api/Omika.Api.http @@ -0,0 +1,6 @@ +@Omika.Api_HostAddress = http://localhost:5097 + +GET {{Omika.Api_HostAddress}}/weatherforecast/ +Accept: application/json + +### diff --git a/src/Omika.Api/Program.cs b/src/Omika.Api/Program.cs new file mode 100644 index 0000000..f57d781 --- /dev/null +++ b/src/Omika.Api/Program.cs @@ -0,0 +1,404 @@ +using Omika.Api; +using Omika.Api.Endpoints; +using Omika.Api.Services; +using Omika.Data; +using Omika.Core; +using Omika.Core.Configuration; +using Omika.Core.Constants; +using Omika.Core.Interfaces; +using Omika.Core.Observability.Diagnostic; +using Omika.Core.Observability.Deployment; +using Omika.Core.Observability.External; +using Omika.Core.Observability.Forwarding; +using Omika.Core.Observability.Identity; +using Omika.Core.Observability.Outbox; +using Omika.Core.Runtime; +using Omika.Core.Services; +using Omika.Data.Configuration; +using Omika.Data.Runtime; +using Omika.Observability.External; + +var builder = WebApplication.CreateBuilder(args); + +// Windows Service (Phase 5C.2C) : hébergement Kestrel en service Windows. +// No-op hors contexte service (le lancement console/dev reste inchangé). +// Le nom réel du service est posé par le script d'activation serveur (sc.exe / +// New-Service) et doit correspondre à cette valeur. +builder.Host.UseWindowsService(options => +{ + options.ServiceName = "OmikaApi"; +}); + +// Logging : on retire les providers par défaut (dont EventLog, dont la source +// « .NET Runtime » n'est pas toujours enregistrée et lève « Accès refusé », +// ce qui fait échouer les requêtes HTTP). On conserve la console uniquement. +builder.Logging.ClearProviders(); +builder.Logging.AddConsole(); + +// Configuration locale HFSQL de test (fichier non versionné) : chargée uniquement +// en environnement Development/Test, surcharge les placeholders appsettings pour +// les connexions Business/License/Sync. Les variables d'environnement restent +// prioritaires. Jamais chargée en Production. +HfSqlTestConfigurationLoader.AddLocalTestConfiguration( + builder.Configuration, + builder.Environment.EnvironmentName); + +// Services de l'API Omika. +builder.Services.AddOmikaData(); + +// Connexion à la base HFSQL Licence (via OLEDB) et branchement du repository de +// licence sur cette connexion. La configuration est centralisée dans la section +// "LicenseConnection" (appsettings / variables d'environnement / secrets). +builder.Services.AddOmikaDataLicenseConnection(); +// Connexion à la base HFSQL technique de synchronisation (via OLEDB) et +// branchement du repository de synchronisation sur cette connexion. La +// configuration est centralisée dans la section "SyncConnection" (appsettings / +// variables d'environnement / secrets). +builder.Services.AddOmikaDataSyncConnection(); +// Connexion à la base HFSQL Service (via OLEDB) : base propre au service de +// synchronisation, hébergeant la table TOSRV. Le SyncTransferRepository utilise +// cette connexion pour TOSRV et la connexion WebService/Business (enregistrée par +// AddOmikaData) pour MobReception/MobLog. +builder.Services.AddOmikaDataServiceConnection(); +// Override ciblé OLE DB : remplace la connexion métier ODBC par défaut +// (IHfsqlConnection) par une connexion OLE DB PCSOFT.HFSQL pour la base +// Business/WebService. La détection de schéma, les repositories métier et le +// wrapper WebService (MobReception/MobLog) utilisent ainsi OLE DB, sans driver +// ODBC. À appeler après AddOmikaData(). +builder.Services.AddOmikaDataBusinessOleDb(); +builder.Services.AddOmikaMobileServices(); + +// Aide contextuelle mobile : sur base Omika, la table Doc_Aide ; sur base Batik +// (qui ne possède pas cette table), le fichier doc_aide.json déployé dans le +// MÊME dossier que appsettings.Production.json. Le chemin est résolu au démarrage +// (config Omika:DocAide:JsonPath prioritaire), afin que la mise à jour des textes +// d'aide ne demande ni redéploiement du binaire ni accès en écriture à HFSQL. +builder.Services.AddOmikaDocAide( + ResoudreCheminAideJson( + builder.Environment.ContentRootPath, + builder.Configuration["Omika:DocAide:JsonPath"])); + +// Observabilité (Phase 3) : branche le pipeline local complet (enricheur → sink → +// file → worker → exporteur fichier local). Le dossier est configurable +// (Observability:Local:Directory) ; défaut : logs/diagnostics sous le content root. +// Omika ne dépend jamais de l'observabilité : en cas d'échec, tout continue sans elle. +builder.Services.AddOmikaApiDiagnostics(configureLocal: options => +{ + options.Directory = builder.Configuration[LocalDiagnosticOptions.SectionName + ":Directory"] + ?? Path.Combine(builder.Environment.ContentRootPath, "logs", "diagnostics"); + builder.Configuration.GetSection(LocalDiagnosticOptions.SectionName).Bind(options); +}); +builder.Services.AddHostedService(); + +// Observabilité (Phase 4) : stockage d'ingestion distant côté API +// (POST /api/diagnostics). Dossier borné configurable ; défaut +// logs/diagnostics-remote sous le content root. Aucun serveur externe. +string remoteSpoolDirectory = builder.Configuration[RemoteDiagnosticOptions.SectionName + ":Directory"] + ?? Path.Combine(builder.Environment.ContentRootPath, "logs", "diagnostics-remote"); +builder.Services.AddOmikaRemoteDiagnostics(configureRemote: options => +{ + options.Directory = remoteSpoolDirectory; + builder.Configuration.GetSection(RemoteDiagnosticOptions.SectionName).Bind(options); +}); + +// Observabilité (T19) : forwarder serveur client → API Diagnostics centrale. Lit le +// spool local disque (dossier ci-dessus), envoie par lots bornés, ACK → suppression, +// backoff borné, quota/rétention. Fail-open : l'ACK mobile POST /api/diagnostics reste +// indépendant de ce forwarding (§7). Désactivé par défaut (DiagnosticsForwarding:Enabled). +builder.Services.AddOmikaDiagnosticsForwarding( + remoteSpoolDirectory, + configure: options => builder.Configuration.GetSection(DiagnosticsForwardingOptions.SectionName).Bind(options)); +builder.Services.AddHostedService(); + +// Identité diagnostique pseudonymisée (Phase 5B2A.1) : la clé HMAC est fournie via +// DiagnosticsIdentity:HmacKey (variable d'environnement DiagnosticsIdentity__HmacKey), +// jamais en dur. Clé absente/invalide → ActorKey null (fail-open, aucun impact métier). +builder.Services.AddSingleton(_ => + new DiagnosticActorKeyProvider(builder.Configuration[DiagnosticActorKeyOptions.SectionName + ":HmacKey"])); + +// Identité appareil pseudonymisée (T17-B) : MÊME clé HMAC que l'ActorKey +// (DiagnosticsIdentity:HmacKey), séparation de domaine par la chaîne canonique +// (device: vs collaborateur:). Clé absente/invalide → DeviceKey null (fail-open). +builder.Services.AddSingleton(_ => + new DiagnosticDeviceKeyProvider(builder.Configuration[DiagnosticActorKeyOptions.SectionName + ":HmacKey"])); + +// Contexte de déploiement Diagnostics (T13-D) : ClientCode (config DiagnosticDeployment +// prioritaire, sinon ParametreSysteme CODE_CLIENT HFSQL), ServerInstance, Environment. +// Provider singleton, fail-open, résolu une seule fois par process. T13-C branche ce +// provider dans ServerDiagnosticMiddleware (événements API internes) et dans +// POST /api/diagnostics (ClientCode = JWT authentifié, ServerInstance/Environment = provider). +builder.Services.AddOmikaDiagnosticClientCodeSource(); +builder.Services.AddOmikaDiagnosticDeployment(builder.Configuration); + +// Diagnostic serveur (Phase 5B2B/5C) : forwarder Omika.Api → JSONL remote +// (PostgreSQL/DiagnosticsWeb). Actif si Observability:ServerDiagnostics:Enabled=true. +// Configurable (Development ET Production), fail-open, anti-boucle. +builder.Services.Configure(options => + builder.Configuration.GetSection(ServerDiagnosticOptions.SectionName).Bind(options)); + +// Observabilité (Phase 5) : pont externe OPTIONNEL (OpenTelemetry → Collector → +// SigNoz → ClickHouse), UN EXPORTER supplémentaire derrière l'architecture Omika. +// Désactivé par défaut (Observability:External:Enabled=false). Fail-open : aucune +// dépendance métier — arrêter Collector/SigNoz/ClickHouse n'affecte jamais Omika. +builder.Services.AddOmikaExternalObservability( + configure: options => + builder.Configuration.GetSection(ExternalObservabilityOptions.SectionName).Bind(options), + serviceName: "Omika.Api"); + +// Mots de passe SMTP fournis par configuration (override de la valeur Windev +// chiffrée, non déchiffrable sans l'algorithme legacy). Section "Omika:SmtpPasswords". +builder.Services.Configure(options => +{ + Dictionary? loaded = builder.Configuration + .GetSection(SmtpPasswordOptions.SectionName) + .Get>(); + if (loaded is not null) + { + options.Passwords = loaded; + } +}); + +// Droits de l'utilisateur mobile courant (contrôle d'accès par permission). +builder.Services.AddHttpContextAccessor(); +builder.Services.AddScoped(); + +// Services d'envoi d'email (MailKit, config SMTP résolue par message depuis +// ParametreUtilisateur) et de génération de rapport DOCX→PDF (OpenXML + LibreOffice). +builder.Services.AddSingleton(); +builder.Services.AddSingleton(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); + + +builder.Services.AddOpenApi(); + + +var app = builder.Build(); + +// Sélection de base demandée (Auto, Batik ou Omika), lue depuis la configuration +// (clé "Omika:DatabaseVersion" dans appsettings.json / variables d'environnement). +// Une valeur inconnue provoque une erreur explicite au démarrage. +ApplicationRuntimeContext.Configure( + app.Configuration[ApplicationRuntimeContext.ConfigurationKey] ?? "Auto"); + +// Détection réelle de la base connectée et validation contre la sélection demandée. +// Le détecteur et l'initialisateur étant Scoped, on résout l'initialisateur dans un +// scope dédié (jamais depuis le root provider). En cas d'échec (connexion impossible, +// métadonnées illisibles, base inconnue, structure partiellement migrée, version +// inconnue, ou sélection incompatible), l'API s'arrête immédiatement (fail fast) avec +// une erreur claire : elle ne démarre jamais en prétendant que la base est utilisable. +// Le scope contient des services qui n'implémentent que IAsyncDisposable +// (ex. HfsqlConnection). On utilise donc un scope asynchrone (CreateAsyncScope) +// pour permettre un DisposeAsync propre, sans erreur de destruction synchrone. +await using var scope = app.Services.CreateAsyncScope(); +{ + var initializer = scope.ServiceProvider.GetRequiredService(); + var initResult = await initializer.InitializeAsync(); + if (initResult.IsFailure) + { + var selection = ApplicationRuntimeContext.Current.Selection; + throw new InvalidOperationException( + $"Impossible d'initialiser le runtime Omika. Sélection demandée : {selection}. " + + string.Join(" ", initResult.Errors)); + } +} + +if (app.Environment.IsDevelopment()) +{ + app.Logger.LogInformation( + "OMIKA DEV BusinessDatabase={BusinessDatabase} Schema={Schema} DevCollaborateurPkId={DevCollaborateurPkId} DevCollaborateurId={DevCollaborateurId}", + app.Configuration["Hfsql:DatabaseName"], + ApplicationRuntimeContext.Current.DetectedVersion, + app.Configuration["DevelopmentAuth:DevCollaborateurPkId"] ?? "(null)", + app.Configuration["DevelopmentAuth:DevCollaborateurId"] ?? "(null)"); +} + + +if (app.Environment.IsDevelopment()) +{ + app.MapOpenApi(); + + // Endpoint de test Development UNIQUEMENT : provoque une exception contrôlée + // pour valider la capture serveur 500 (ExceptionType/Message/StackTrace) dans + // le JSONL remote → PostgreSQL → DiagnosticsWeb. Jamais enregistré en Production. + app.MapGet("/dev/throw", (HttpContext _) => throw new InvalidOperationException( + "TELEMETRY_TEST_ERROR : exception contrôlée Development.")); +} + +// Validation fail-fast de la configuration d'authentification mobile. +// En Production, une API Mobile ne doit pas démarrer dans un état où elle est +// incapable de signer/valider correctement les tokens : la clé de signature +// (MobileAuth:SigningKey) doit être fournie via configuration sécurisée +// (variables d'environnement, User Secrets, autre provider). Aucun secret en source. +if (app.Environment.IsProduction()) +{ + string? signingKey = app.Configuration[Omika.Core.Configuration.MobileAuthOptions.SectionName + ":SigningKey"]; + if (string.IsNullOrWhiteSpace(signingKey)) + { + throw new InvalidOperationException( + "La configuration MobileAuth:SigningKey est obligatoire en Production. " + + "Elle doit provenir de configuration sécurisée (variables d'environnement, User Secrets), jamais du code source."); + } +} + + + +// Reverse proxy Apache (Phase 5C.2F) : Apache termine TLS sur +// https://omika.applilogik.fr et transmet vers Kestrel (HTTP loopback, port +// défini par Kestrel:Endpoints:Http:Url dans appsettings.Production.json) en +// posant X-Forwarded-For/Proto/Host (ProxyPreserveHost On). Kestrel reste HTTP +// sur loopback. Ce middleware doit s'exécuter AVANT UseHttpsRedirection (et +// avant tout middleware lisant Request.Scheme/Host/RemoteIpAddress) pour que le +// schéma https soit correctement reconstitué derrière le proxy. +app.UseForwardedHeaders(ForwardedHeadersConfiguration.CreateOptions()); + +app.UseHttpsRedirection(); + +// Phase 3 : corrélation (TraceId) puis gestion globale des exceptions. +// Le middleware d'exceptions est le plus externe pour intercepter toute exception, +// y compris celles des middlewares de corrélation/d'authentification. Fail-open. +app.UseMiddleware(); +app.UseMiddleware(); + +// Forwarder serveur : 4xx/5xx/exceptions → JSONL remote (PostgreSQL/DiagnosticsWeb). +// Placé APRÈS la corrélation (TraceId disponible) et AVANT MobileAuthMiddleware afin +// d'envelopper TOUTE la chaîne d'authentification : les réponses 401/403 rejetées par +// l'authentification (comme par les endpoints) sont capturées. L'identité (ActorKey) +// est lue APRÈS _next (posée par MobileAuthMiddleware pendant l'exécution) : elle +// reste donc disponible à l'enregistrement. À l'intérieur du GlobalExceptionMiddleware +// (il capture l'exception puis la relance). +app.UseMiddleware(); + +// Authentification mobile : valide le token Bearer signé et stocke l'identité +// dans HttpContext.Items pour les endpoints protégés. +app.UseMiddleware(); + +// Associe l'identité authentifiée au contexte diagnostic de requête (best-effort). +app.UseMiddleware(); + +// Rappel de mise en production (fail-open) : la capture serveur 4xx/5xx/exceptions +// est OPT-IN. En Production sans ServerDiagnostics:Enabled=true, aucune erreur +// serveur n'atteint le JSONL remote → DiagnosticsWeb (risque de « boîte noire »). +// Ce log Warning rend l'omission visible au démarrage, sans jamais bloquer l'API. +if (app.Environment.IsProduction()) +{ + bool serverDiagnosticsEnabled = bool.TryParse( + app.Configuration[$"{ServerDiagnosticOptions.SectionName}:Enabled"], + out bool diagnosticsEnabled) + && diagnosticsEnabled; + + if (!serverDiagnosticsEnabled) + { + app.Logger.LogWarning( + "{Section}:Enabled est false en Production : les erreurs serveur 4xx/5xx/exceptions " + + "ne sont PAS enregistrées dans le JSONL remote (aucune capture d'erreurs). " + + "Activez Observability__ServerDiagnostics__Enabled=true pour les capter.", + ServerDiagnosticOptions.SectionName); + } +} + +app.Logger.LogInformation("[Omika.Api] API métier/mobile — prête."); + +// Endpoints racine : état de la solution Omika. +app.MapGet("/", () => Results.Ok(new +{ + name = ApplicationConstants.ApplicationName, + version = ApplicationConstants.Version, + schemaSelection = ApplicationRuntimeContext.Current.Selection.ToString(), + databaseVersion = ApplicationRuntimeContext.Current.DetectedVersion.ToString(), + status = "ok", + message = "API Omika prête. Les endpoints métier seront exposés lorsque les modèles seront définis." +})); + +app.MapHealthEndpoints(); + +// Endpoint de supervision du pont externe (Phase 5). Indépendant de /health : +// un Collector down n'affecte JAMAIS la santé métier d'Omika. +app.MapObservabilityHealthEndpoints(); + +app.MapClientEndpoints(); +app.MapContactEndpoints(); +app.MapReferenceDataEndpoints(); +app.MapModeleDocumentEndpoints(); +app.MapRapportChampEndpoints(); +app.MapSiteEndpoints(); +app.MapInterventionEndpoints(); +app.MapDossierEndpoints(); +app.MapRendezVousEndpoints(); +app.MapCompteRenduEndpoints(); +app.MapCollaborateurEndpoints(); +app.MapEquipeEndpoints(); +app.MapSuiviTempsEndpoints(); + +// Endpoints mobile (licence, bootstrap, synchronisation, documents). +app.MapLicenseEndpoints(); +app.MapMobileBootstrapEndpoints(); + +// Endpoint d'authentification du Back-Office WinDev (POST /api/backoffice/auth/token). +// Disponible dans tous les environnements : c'est le point d'entrée de session BO. +app.MapBackOfficeAuthEndpoints(); +app.MapSyncEndpoints(); +app.MapMobileDocumentEndpoints(); + +// Aide contextuelle mobile (GET /api/mobile/aide) : synchronisée par l'application +// au lancement, servie ensuite depuis la base locale (hors connexion). +app.MapDocAideEndpoints(); + +// Endpoint d'ingestion de diagnostic distant (Phase 4). +app.MapDiagnosticEndpoints(); + +// Endpoint d'authentification Development local (POST /api/dev/session). +// Enregistré UNIQUEMENT en Development et si DevelopmentAuth:Enabled est vrai. +// En Production/Release, l'endpoint n'existe pas (404). +app.MapDevelopmentAuthEndpoints( + app.Environment, + app.Services.GetRequiredService>()); + +// Correction shutdown natif : libère explicitement le pool de sessions OLE DB +// (provider PCSOFT.HFSQL) avant la sortie du process. Le teardown natif du pool +// à l'unload de wd300vm64.dll provoque un crash (0xc0000005 / 0xc0000409) à +// chaque Stop-Service. La libération anticipée, dans un contexte managé stable +// (requêtes et hosted services terminés), évite ce teardown natif. Sans effet +// sur le fonctionnement normal : les connexions restent poolées pendant toute +// la durée de vie du service. +app.Lifetime.ApplicationStopped.Register(() => +{ + System.Data.OleDb.OleDbConnection.ReleaseObjectPool(); +}); + +app.Run(); + + +/// +/// Résout le chemin du fichier d'aide doc_aide.json (source des textes sur +/// base Batik). +/// +/// +/// Ordre de priorité : valeur de configuration Omika:DocAide:JsonPath, +/// puis le fichier présent dans la racine de contenu (le dossier de +/// appsettings.Production.json), puis celui du dossier du binaire. Le +/// chemin par défaut est retourné même s'il n'existe pas encore : le repository +/// journalise alors un avertissement et sert une liste vide, sans faire échouer +/// l'API. +/// +/// +static string ResoudreCheminAideJson(string racineContenu, string? cheminConfigure) +{ + if (!string.IsNullOrWhiteSpace(cheminConfigure)) + { + return cheminConfigure; + } + + string dansRacine = Path.Combine(racineContenu, "doc_aide.json"); + if (File.Exists(dansRacine)) + { + return dansRacine; + } + + string dansBinaire = Path.Combine(AppContext.BaseDirectory, "doc_aide.json"); + return File.Exists(dansBinaire) ? dansBinaire : dansRacine; +} + + +/// Point d'entrée public pour les tests d'intégration (WebApplicationFactory). +public partial class Program; diff --git a/src/Omika.Api/Properties/launchSettings.json b/src/Omika.Api/Properties/launchSettings.json new file mode 100644 index 0000000..9b61109 --- /dev/null +++ b/src/Omika.Api/Properties/launchSettings.json @@ -0,0 +1,23 @@ +{ + "$schema": "https://json.schemastore.org/launchsettings.json", + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": false, + "applicationUrl": "http://localhost:5097", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": false, + "applicationUrl": "https://localhost:7160;http://localhost:5097", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/src/Omika.Api/ServerDiagnosticMiddleware.cs b/src/Omika.Api/ServerDiagnosticMiddleware.cs new file mode 100644 index 0000000..dca587a --- /dev/null +++ b/src/Omika.Api/ServerDiagnosticMiddleware.cs @@ -0,0 +1,268 @@ +using System.Diagnostics; +using System.Text.Json; +using Microsoft.Extensions.Options; +using Omika.Core.Configuration; +using Omika.Core.Constants; +using Omika.Core.Interfaces.Mobile; +using Omika.Core.Observability.Deployment; +using Omika.Core.Observability.Diagnostic; +using Omika.Core.Observability.Identity; +using Omika.Core.Observability.Outbox; + +namespace Omika.Api; + +/// +/// Forwarder serveur : écrit dans le JSONL remote (lu par DiagnosticsWorker puis +/// PostgreSQL/DiagnosticsWeb) les réponses HTTP 4xx/5xx et les exceptions serveur. +/// +/// Réutilise (même format que +/// l'ingestion mobile POST /api/diagnostics) : aucun second format de +/// diagnostic n'est introduit. Corrélation par TraceId (X-Omika-TraceId), +/// déjà propagé par le client et résolu par CorrelationMiddleware. +/// +/// Règles : fail-open (jamais d'échec métier), anti-boucle (/health et +/// /api/diagnostics exclus), aucun body/query string/secrets persistés. +/// +public sealed class ServerDiagnosticMiddleware +{ + private readonly RequestDelegate _next; + private readonly ServerDiagnosticOptions _options; + private readonly IRemoteDiagnosticIngestionStore _store; + private readonly IDiagnosticActorKeyProvider _actorKeyProvider; + private readonly IDiagnosticDeviceKeyProvider _deviceKeyProvider; + private readonly IDiagnosticDeploymentContextProvider _deploymentContextProvider; + + public ServerDiagnosticMiddleware( + RequestDelegate next, + IOptions options, + IRemoteDiagnosticIngestionStore store, + IDiagnosticActorKeyProvider actorKeyProvider, + IDiagnosticDeviceKeyProvider deviceKeyProvider, + IDiagnosticDeploymentContextProvider deploymentContextProvider) + { + _next = next; + _options = options.Value; + _store = store; + _actorKeyProvider = actorKeyProvider; + _deviceKeyProvider = deviceKeyProvider; + _deploymentContextProvider = deploymentContextProvider; + } + + public async Task InvokeAsync(HttpContext context) + { + if (!_options.Enabled || IsExcluded(context.Request.Path)) + { + await _next(context); + return; + } + + var stopwatch = Stopwatch.StartNew(); + try + { + await _next(context); + await TryRecordAsync(context, exception: null, stopwatch.ElapsedMilliseconds); + } + catch (Exception ex) + { + // Fail-open : l'écriture diagnostic ne doit jamais masquer l'exception. + // On enregistre puis on relance (le GlobalExceptionMiddleware gère la réponse 500). + await TryRecordAsync(context, ex, stopwatch.ElapsedMilliseconds); + throw; + } + } + + private bool IsExcluded(PathString path) + => _options.ExcludedPaths.Any(p => path.StartsWithSegments(p)); + + private async Task TryRecordAsync(HttpContext context, Exception? exception, long durationMs) + { + int statusCode = exception is not null + ? StatusCodes.Status500InternalServerError + : context.Response.StatusCode; + + if (statusCode < _options.MinStatusCode) + { + return; + } + + try + { + Guid traceId = ResolveTraceId(context); + + var metadata = new Dictionary + { + ["method"] = context.Request.Method, + ["routeTemplate"] = ResolveRoute(context), + ["routeValues"] = ResolveRouteValuesJson(context), + ["statusCode"] = statusCode, + ["environment"] = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Production", + ["buildId"] = ApiBuildInfo.BuildId + }; + + var evt = new DiagnosticEventDto + { + EventId = Guid.NewGuid(), + EventCode = statusCode >= 500 ? "API_HTTP_ERROR" : "API_HTTP_4XX", + TimestampUtc = DateTimeOffset.UtcNow, + Level = statusCode >= 500 ? "error" : "warning", + Priority = statusCode >= 500 ? "P1" : "P2", + Component = "Omika.Api", + TraceId = traceId, + SessionId = ResolveSessionId(context), + OperationId = ResolveOperationId(context), + AppVersion = ApplicationConstants.Version, + Platform = "api", + Source = "api", + DurationMs = durationMs, + ErrorCode = exception?.GetType().Name, + Message = exception is null ? null : Truncate(exception.Message, _options.MaxMessageLength), + ExceptionType = exception?.GetType().FullName, + StackTrace = exception is null ? null : Truncate(exception.StackTrace, _options.MaxStackTraceLength), + Metadata = metadata + }; + + var batch = new DiagnosticBatchDto { Events = [evt] }; + + // Contexte de déploiement (T13-C) : événement API INTERNE → ClientCode du + // provider (client propriétaire de l'instance), ServerInstance/Environment + // du provider. Fail-open : GetAsync ne lève jamais ; l'écriture reste + // best-effort dans le try/catch englobant. + DiagnosticDeploymentContext deploymentContext = + await _deploymentContextProvider.GetAsync(context.RequestAborted); + + await _store.StoreAsync( + batch, + ResolveActorKey(context), + traceId.ToString("D"), + DateTimeOffset.UtcNow, + context.RequestAborted, + deploymentContext, + ResolveDeviceKey(context), + ResolveLicenseNumber(context)); + } + catch + { + // Fail-open : jamais d'échec métier à cause du diagnostic. + } + } + + private DiagnosticActorKey ResolveActorKey(HttpContext context) + { + MobileTokenIdentity? identity = context.GetMobileIdentity(); + return identity is null + ? DiagnosticActorKey.Empty + : _actorKeyProvider.Compute(identity.CodeClient, identity.CollaborateurId); + } + + /// + /// DeviceKey (T17-B) : pseudonyme serveur depuis l'identité authentifiée. Null pour + /// les événements API internes sans identité mobile (jamais le DeviceId brut). + /// + private DiagnosticDeviceKey ResolveDeviceKey(HttpContext context) + { + MobileTokenIdentity? identity = context.GetMobileIdentity(); + return identity is null + ? DiagnosticDeviceKey.Empty + : _deviceKeyProvider.Compute(identity.CodeClient, identity.DeviceId); + } + + /// + /// LicenseNumber (T17-B) : dérivé du token authentifié. Null pour les événements + /// API internes sans identité mobile ; jamais lu depuis le payload mobile. + /// + private string? ResolveLicenseNumber(HttpContext context) + { + MobileTokenIdentity? identity = context.GetMobileIdentity(); + string? trimmed = identity?.NumeroLicence?.Trim(); + return string.IsNullOrWhiteSpace(trimmed) ? null : trimmed; + } + + private static Guid ResolveTraceId(HttpContext context) + { + // Header de réponse posé par CorrelationMiddleware, sinon header de requête, + // sinon nouveau GUID (aucun identifiant client fourni). + string? header = context.Response.Headers[CorrelationHeaders.TraceId].ToString(); + if (string.IsNullOrWhiteSpace(header)) + { + header = context.Request.Headers[CorrelationHeaders.TraceId].ToString(); + } + + return CorrelationHeaders.TryParseTraceId(header, out Guid traceId) ? traceId : Guid.NewGuid(); + } + + private static Guid? ResolveSessionId(HttpContext context) + { + string? header = context.Request.Headers[CorrelationHeaders.SessionId].ToString(); + return CorrelationHeaders.TryParseSessionId(header, out Guid sessionId) ? sessionId : null; + } + + private static Guid? ResolveOperationId(HttpContext context) + { + // L'OperationId n'est pas un header de corrélation standard (seul TraceId / + // SessionId le sont). La corrélation mobile→API est assurée par le TraceId. + // L'OperationId reste donc null pour une réponse HTTP ; il est réservé aux + // opérations de synchronisation métier. + return null; + } + + private static string? ResolveRoute(HttpContext context) + { + try + { + Endpoint? endpoint = context.GetEndpoint(); + if (endpoint is RouteEndpoint routeEndpoint) + { + return routeEndpoint.RoutePattern.RawText; + } + + return endpoint?.DisplayName; + } + catch + { + // Chemin sans query string : jamais l'URL complète ni les données métier. + return context.Request.Path.Value; + } + } + + /// + /// Sérialise les route values (ex. {"id":"36853158-..."}) en JSON compact, + /// uniquement pour les valeurs simples (GUID, numérique, chaîne courte). Permet de + /// rechercher un GUID métier dans DiagnosticsWeb sans exposer de données sensibles. + /// + private static string? ResolveRouteValuesJson(HttpContext context) + { + try + { + if (context.Request.RouteValues is not { Count: > 0 } routeValues) + { + return null; + } + + var safe = new Dictionary(); + foreach (KeyValuePair kv in routeValues) + { + switch (kv.Value) + { + case Guid g: + safe[kv.Key] = g.ToString("D"); + break; + case string s when s.Length <= 256 && !DiagnosticForbiddenData.ContainsForbiddenValue(s): + safe[kv.Key] = s; + break; + case int or long: + safe[kv.Key] = kv.Value; + break; + } + } + + return safe.Count == 0 ? null : JsonSerializer.Serialize(safe); + } + catch + { + return null; + } + } + + private static string? Truncate(string? value, int maxLength) + => value is null || value.Length <= maxLength ? value : value[..maxLength]; +} diff --git a/src/Omika.Api/Services/MobilePermissionService.cs b/src/Omika.Api/Services/MobilePermissionService.cs new file mode 100644 index 0000000..0f49e83 --- /dev/null +++ b/src/Omika.Api/Services/MobilePermissionService.cs @@ -0,0 +1,71 @@ +using Omika.Core.Constants; +using Omika.Core.Interfaces.Mobile; + +namespace Omika.Api.Services; + +/// +/// Fournit les droits de l'utilisateur mobile courant (identité issue du token), +/// résolus à la demande et mis en cache pour la durée de la requête. +/// Source de vérité des contrôles d'accès côté API. +/// +public interface IMobilePermissionService +{ + /// Identité mobile authentifiée, ou . + MobileTokenIdentity? Identity { get; } + + /// + /// Récapitulatif complet des droits (dictionnaire clé canonique → autorisé). + /// Mis en cache pour la durée de la requête. + /// + Task> GetPermissionsAsync(CancellationToken cancellationToken = default); + + /// + /// Indique si l'utilisateur courant possède la permission donnée. + /// + Task HasPermissionAsync(string key, CancellationToken cancellationToken = default); +} + +/// Implémentation scoped de . +public sealed class MobilePermissionService : IMobilePermissionService +{ + private readonly IHttpContextAccessor _httpContextAccessor; + private readonly IMobileIdentityProvider _identityProvider; + private IReadOnlyDictionary? _permissions; + + public MobilePermissionService( + IHttpContextAccessor httpContextAccessor, + IMobileIdentityProvider identityProvider) + { + _httpContextAccessor = httpContextAccessor; + _identityProvider = identityProvider; + } + + /// + public MobileTokenIdentity? Identity => _httpContextAccessor.HttpContext?.GetMobileIdentity(); + + /// + public async Task> GetPermissionsAsync(CancellationToken cancellationToken = default) + { + if (_permissions is not null) + { + return _permissions; + } + + MobileTokenIdentity? identity = Identity; + if (identity is null || string.IsNullOrWhiteSpace(identity.UserId)) + { + _permissions = MobilePermissionKeys.Empty(); + return _permissions; + } + + _permissions = await _identityProvider.GetPermissionsAsync(identity.UserId, cancellationToken); + return _permissions; + } + + /// + public async Task HasPermissionAsync(string key, CancellationToken cancellationToken = default) + { + IReadOnlyDictionary permissions = await GetPermissionsAsync(cancellationToken); + return permissions.TryGetValue(key, out bool allowed) && allowed; + } +} diff --git a/src/Omika.Api/Services/RdvScopeService.cs b/src/Omika.Api/Services/RdvScopeService.cs new file mode 100644 index 0000000..39d308b --- /dev/null +++ b/src/Omika.Api/Services/RdvScopeService.cs @@ -0,0 +1,88 @@ +using Omika.Core.Constants; +using Omika.Core.Contracts.Mobile.Sync; +using Omika.Core.Contracts.Planning; +using Omika.Core.Interfaces; +using Omika.Core.Interfaces.Mobile; + +namespace Omika.Api.Services; + +/// +/// Filtre de périmètre pour la consultation des rendez-vous d'autres +/// collaborateurs (droits A.C.PL.*). +/// +/// Règles : +/// +/// les 3 droits → aucune restriction ; +/// A.C.PL.SOC.PRCP → collaborateurs de la même société principale ; +/// A.C.PL.SOC → collaborateurs des sociétés principale + secondaires ; +/// A.C.PL.EQ → collaborateurs d'au moins une équipe commune. +/// +/// Le collaborateur courant est toujours inclus. +/// +public static class RdvScopeService +{ + /// + /// Applique le périmètre de consultation des RDV : ne conserve que les RDV + /// ayant au moins un collaborateur dans le périmètre autorisé. + /// + public static async Task> ApplyScopeAsync( + IReadOnlyList rendezVous, + MobileTokenIdentity? identity, + IReadOnlyDictionary permissions, + ICollaborateurService collaborateurService, + IMobileEntityIdentityResolver identityResolver, + CancellationToken cancellationToken) + { + bool hasPrcp = permissions.TryGetValue(MobilePermissionKeys.PlanningSocietePrincipale, out bool prcp) && prcp; + bool hasSoc = permissions.TryGetValue(MobilePermissionKeys.PlanningSocietes, out bool soc) && soc; + bool hasEq = permissions.TryGetValue(MobilePermissionKeys.PlanningEquipe, out bool eq) && eq; + + // Les 3 droits présents → aucune restriction. + if (hasPrcp && hasSoc && hasEq) + { + return rendezVous; + } + + long? collaborateurPk = ResolveCollaborateurPk(identity?.CollaborateurId, identityResolver); + if (collaborateurPk is not { } pk || pk <= 0) + { + // Périmètre non résolvable : on ne filtre pas (aucun faux négatif). + return rendezVous; + } + + IReadOnlyList allowed = await collaborateurService.GetAllowedCollaborateurIdsAsync( + pk, hasPrcp, hasSoc, hasEq, cancellationToken); + var allowedSet = new HashSet(allowed); + + return rendezVous + .Where(r => r.Collaborateurs.Any(a => a.SourceReference?.NumericId is { } n && allowedSet.Contains(n))) + .ToList(); + } + + private static long? ResolveCollaborateurPk(string? collaborateurId, IMobileEntityIdentityResolver identityResolver) + { + if (string.IsNullOrWhiteSpace(collaborateurId)) + { + return null; + } + + string trimmed = collaborateurId.Trim(); + + // Le token porte le PK numérique du collaborateur (CO_PKID Omika / + // UT_IDCollaborateur Batik) : il est exploitable directement, sans GUID + // ni résolveur. Sans ce repli, le périmètre ne pouvait jamais être résolu + // pour Omika et le filtre restait inopérant (fail-open). + if (long.TryParse(trimmed, out long numericId) && numericId > 0) + { + return numericId; + } + + if (!Guid.TryParse(trimmed, out Guid guid) || guid == Guid.Empty) + { + return null; + } + + PhysicalEntityIdentity? physical = identityResolver.ResolvePhysicalIdentity(SyncEntityTypes.Collaborateur, guid); + return physical?.NumericId is { } physicalNumericId && physicalNumericId > 0 ? physicalNumericId : null; + } +} diff --git a/src/Omika.Api/TelemetryWorkerHostedService.cs b/src/Omika.Api/TelemetryWorkerHostedService.cs new file mode 100644 index 0000000..f6aadcc --- /dev/null +++ b/src/Omika.Api/TelemetryWorkerHostedService.cs @@ -0,0 +1,55 @@ +using Microsoft.Extensions.Options; +using Omika.Core.Observability; +using Omika.Core.Observability.Diagnostic; + +namespace Omika.Api; + +/// +/// Hôte du worker de télémétrie local côté API : démarre la boucle de traitement +/// au démarrage et l'arrête avec un flush court borné à la fermeture (fail-open, +/// jamais bloquant). +/// +public sealed class TelemetryWorkerHostedService : IHostedService +{ + private readonly TelemetryWorker _worker; + private readonly LocalFileTelemetryExporter _exporter; + private readonly LocalDiagnosticOptions _options; + private readonly CancellationTokenSource _cts = new(); + private Task? _workerTask; + + public TelemetryWorkerHostedService( + TelemetryWorker worker, + LocalFileTelemetryExporter exporter, + IOptions options) + { + _worker = worker; + _exporter = exporter; + _options = options.Value; + } + + /// + public Task StartAsync(CancellationToken cancellationToken) + { + _workerTask = _worker.ExecuteAsync(_cts.Token); + return Task.CompletedTask; + } + + /// + public async Task StopAsync(CancellationToken cancellationToken) + { + _cts.Cancel(); + try + { + if (_workerTask is not null) + { + await Task.WhenAny(_workerTask, Task.Delay(_options.FlushTimeout)).ConfigureAwait(false); + } + } + catch + { + // Best-effort : la fermeture d'Omika ne dépend jamais de l'observabilité. + } + + await _exporter.DisposeAsync().ConfigureAwait(false); + } +} diff --git a/src/Omika.Api/appsettings.Development.json b/src/Omika.Api/appsettings.Development.json new file mode 100644 index 0000000..72a9b8a --- /dev/null +++ b/src/Omika.Api/appsettings.Development.json @@ -0,0 +1,14 @@ +{ + "DevelopmentAuth": { + "Enabled": true + }, + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "Omika": { + "SmtpPasswords": {} + } +} diff --git a/src/Omika.Api/appsettings.json b/src/Omika.Api/appsettings.json new file mode 100644 index 0000000..3d46b0c --- /dev/null +++ b/src/Omika.Api/appsettings.json @@ -0,0 +1,92 @@ +{ + "Omika": { + "DatabaseVersion": "Auto" + }, + "LicenseConnection": { + "Server": "localhost", + "Port": 4900, + "DatabaseName": "Licence", + "Login": "", + "Password": "", + "FilePasswords": { + "ProtectionStd": "", + "ProtectionPlus": "" + } + }, + "SyncConnection": { + "Server": "localhost", + "Port": 4900, + "DatabaseName": "Sync", + "Login": "", + "Password": "", + "FilePasswords": { + "ProtectionStd": "", + "ProtectionPlus": "" + } + }, + "Smtp": { + "Hote": "smtp.example.com", + "Port": 587, + "Login": "", + "MotDePasse": "", + "From": "no-reply@example.com", + "UseSsl": false + }, + "Documents": { + "RootPath": "", + "MaxUploadSizeBytes": 52428800 + }, + "Support": { + "Email": "support@example.com" + }, + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "Observability": { + "Remote": { + "Directory": "" + }, + "ServerDiagnostics": { + "Enabled": false, + "MinStatusCode": 400, + "ExcludedPaths": [ "/health", "/api/diagnostics" ], + "MaxMessageLength": 2000, + "MaxStackTraceLength": 8000 + }, + "External": { + "Enabled": false, + "OtlpEndpoint": "", + "ExportTimeoutSeconds": 3, + "MaxQueueSize": 2048, + "MaxExportBatchSize": 512, + "ScheduledDelayMilliseconds": 2000, + "CircuitFailureThreshold": 5, + "CircuitCooldownSeconds": 30, + "IncludeP4": false + } + }, + "DiagnosticsIdentity": { + "HmacKey": "" + }, + "DiagnosticsForwarding": { + "Enabled": false, + "Endpoint": "", + "ApiKey": "", + "TimeoutSeconds": 10, + "BatchSize": 100, + "MaxBatchBytes": 524288, + "RetryInitialSeconds": 15, + "RetryMaxMinutes": 30, + "Spool": { + "MaxFileSizeMb": 10, + "MaxTotalSizeMb": 1024, + "RetentionDays": 14 + } + }, + "AllowedHosts": "*" +} + + diff --git a/src/Omika.Api/doc_aide.json b/src/Omika.Api/doc_aide.json new file mode 100644 index 0000000..4be7c07 --- /dev/null +++ b/src/Omika.Api/doc_aide.json @@ -0,0 +1,198 @@ +{ + "version": 1, + "genereeLeUtc": "2026-10-22T13:21:18.1795138+00:00", + "fiches": [ + { + "fenetre": "mobile_agenda", + "titre": "Agenda personnel", + "tags": "mobile,agenda,planning", + "contenu": "

Votre planning personnel. Affiche les rendez-vous du jour, de la semaine ou du mois, sans aucun appel réseau : tout est lu localement, même hors connexion.

Comment faire

• Jour, Semaine, Calendrier : changez de vue.

• Aujourd'hui : revenez à la date du jour.

• ‹ et › : changez de période.

• Touchez un rendez-vous pour ouvrir sa fiche.

Attention

• Aucune création ni modification ici : les actions se font dans la fiche du rendez-vous.

" + }, + { + "fenetre": "mobile_interventions", + "titre": "Recherche d'interventions", + "tags": "mobile,interventions,recherche", + "contenu": "

Retrouvez une intervention par référence, client, site, collaborateur, état ou type.

Comment faire

• Rechercher les interventions : lance la recherche.

• Réinitialiser : vide les filtres.

• Onglets Récentes et Épinglées : retrouvent votre dernière recherche et vos favoris.

• L'étoile sur une carte épingle ou désépingle l'intervention.

Attention

• Cet écran n'est visible que si votre profil a le droit de rechercher des interventions.

• La recherche appelle le serveur : hors connexion, seul le cache déjà enregistré s'affiche.

" + }, + { + "fenetre": "mobile_dossiers", + "titre": "Dossiers", + "tags": "mobile,dossiers,recherche", + "contenu": "

Recherchez un dossier et consultez les interventions qui lui sont liées.

Comment faire

• Rechercher puis Réinitialiser gèrent la recherche.

• Onglets Récentes et Épinglées : dernière recherche et favoris.

• L'étoile épingle ou désépingle un dossier.

Attention

• Écran soumis au droit Voir les dossiers.

• Le contenu est lu localement puis rafraîchi à la demande.

" + }, + { + "fenetre": "mobile_equipe", + "titre": "Équipes", + "tags": "mobile,equipe,equipes", + "contenu": "

Liste des équipes auxquelles vous appartenez.

Comment faire

• Touchez une équipe pour ouvrir sa fiche et voir ses membres.

Attention

• Aucune création ni modification d'équipe ici : c'est une consultation.

" + }, + { + "fenetre": "mobile_equipe_detail", + "titre": "Membres de l'équipe", + "tags": "mobile,equipe,membres", + "contenu": "

Liste des membres d'une équipe.

Comment faire

• Touchez un collaborateur pour ouvrir sa fiche.

• Les boutons d'appel et d'email sont disponibles si des coordonnées existent.

Attention

• Lecture seule.

" + }, + { + "fenetre": "mobile_clients", + "titre": "Clients", + "tags": "mobile,clients,recherche", + "contenu": "

Recherchez un client par nom ou code.

Comment faire

• Rechercher puis Réinitialiser gèrent la recherche.

• Onglets Récentes et Épinglés.

• L'étoile épingle ou désépingle un client.

Attention

• Écran soumis au droit Voir les clients.

" + }, + { + "fenetre": "mobile_sites", + "titre": "Sites", + "tags": "mobile,sites,recherche", + "contenu": "

Recherchez un site ou lieu d'intervention.

Comment faire

• Rechercher puis Réinitialiser gèrent la recherche.

• Onglets Récentes et Épinglés.

• L'étoile épingle ou désépingle un site.

Attention

• Écran soumis au droit Voir les sites.

" + }, + { + "fenetre": "mobile_parametres", + "titre": "Paramètres", + "tags": "mobile,parametres,reglages", + "contenu": "

Réglages de l'application, répartis en trois onglets : Apparence, Langues, Général.

Comment faire

• Apparence : thème clair/sombre/système et couleur principale (avec Appliquer la couleur personnalisée).

• Général : pause déjeuner (Enregistrer les horaires), Synchroniser maintenant, maintenance des données, Envoyer un email au support.

Attention

• Supprimer toutes les données et Supprimer le compte (réinitialiser) sont irréversibles : elles effacent les données locales et déconnectent l'application.

" + }, + { + "fenetre": "mobile_rendezvous", + "titre": "Fiche rendez-vous", + "tags": "mobile,rendezvous,detail", + "contenu": "

Tout ce qui concerne un rendez-vous : contacts, temps, annulation, finalisation.

Comment faire

• ⌖ Lancer l'itinéraire : ouvre la navigation GPS.

• Voir la fiche du lieu : ouvre le site lié.

• + Ajouter un temps : saisit un temps.

• Modifier / Supprimer : agissent sur un temps saisi.

• ✓ Valider le rendez-vous : finalise le rendez-vous.

• Annuler le rendez-vous : annule avec motif.

Attention

• Une annulation est définitive une fois synchronisée.

• La finalisation exige des temps validés : sans temps valide, le bouton de validation reste inopérant.

" + }, + { + "fenetre": "mobile_agenda_equipe", + "titre": "Agenda d'équipe", + "tags": "mobile,agenda,equipe,planning", + "contenu": "

Planning d'une équipe ou d'un collaborateur.

Comment faire

• Choisissez une équipe ou un collaborateur dans les filtres.

• Jour, Semaine, Calendrier : changez de vue.

• Aujourd'hui, ‹, › : naviguez dans les dates.

Attention

• Écran soumis au droit Voir l'agenda d'équipe.

• Consultation seule.

" + }, + { + "fenetre": "mobile_intervention", + "titre": "Fiche intervention", + "tags": "mobile,intervention,detail", + "contenu": "

La fiche complète d'une intervention : contacts, documents, notes, courriels, rapport.

Comment faire

• Utilisez les onglets pour ouvrir les sous-écrans (contacts, documents, notes, courriels).

• Modifier : ouvre le formulaire d'édition.

• Archiver : archive l'intervention.

Attention

• Archiver est irréversible une fois synchronisé.

• Les modifications sont enregistrées localement puis envoyées (offline-first).

" + }, + { + "fenetre": "mobile_intervention_documents", + "titre": "Documents et photos", + "tags": "mobile,intervention,documents,photos", + "contenu": "

Documents et photos de l'intervention.

Comment faire

• Ajouter une photo : choisit une image du téléphone.

• Prendre une photo : capture avec l'appareil photo.

• Ajouter un document : ajoute un fichier.

• Télécharger : récupère un document pour le lire hors connexion.

Attention

• Le poids des photos est limité par la politique du client (optimisation automatique).

• Un document n'est lisible hors connexion qu'après avoir été téléchargé.

" + }, + { + "fenetre": "mobile_intervention_notes", + "titre": "Notes internes", + "tags": "mobile,intervention,notes", + "contenu": "

Notes internes de l'intervention.

Comment faire

• Ajouter la note : crée une nouvelle note.

Attention

• Les notes sont enregistrées hors connexion puis synchronisées.

" + }, + { + "fenetre": "mobile_intervention_notes_admin", + "titre": "Notes administratives", + "tags": "mobile,intervention,notes,administratives", + "contenu": "

Notes administratives de l'intervention.

Comment faire

• Ajouter la note : crée une nouvelle note administrative.

Attention

• Écran réservé au droit A.NOTE.ADMIN.

" + }, + { + "fenetre": "mobile_intervention_emails", + "titre": "Courriels", + "tags": "mobile,intervention,emails,courriels", + "contenu": "

Courriels liés à l'intervention.

Comment faire

• + Nouveau courriel : compose un courriel.

• Modifier : modifie un courriel existant.

Attention

• La composition exige le droit Envoyer un email.

" + }, + { + "fenetre": "mobile_nouveau_email", + "titre": "Nouveau courriel", + "tags": "mobile,email,nouveau,courriel", + "contenu": "

Composition d'un courriel depuis un modèle, un rapport ou un contact.

Comment faire

• Continuer → puis Suivant → / ← Précédent : naviguez dans les rubriques.

• ← Rubriques : revenez au résumé.

• + Document (téléphone) / + Photo (téléphone) : ajoutez une pièce jointe.

• Envoyer : envoie le courriel.

Attention

• Envoi soumis au droit Envoyer un email.

• L'envoi réel nécessite une connexion.

" + }, + { + "fenetre": "mobile_rapport", + "titre": "Rapport", + "tags": "mobile,rapport,champs", + "contenu": "

Saisie des champs d'un modèle de rapport puis génération du document.

Comment faire

• ← Rubriques : revenez au résumé.

• ← Précédent / Suivant → : naviguez dans les rubriques.

• ENREGISTRER : enregistre un brouillon.

• CRÉER : génère le document.

• ✉ Envoyer un email : génère puis joint au courriel.

Attention

• Génération soumise au droit Créer un rapport.

• CRÉER nécessite une connexion.

" + }, + { + "fenetre": "mobile_intervention_ressources", + "titre": "Ressources", + "tags": "mobile,intervention,ressources", + "contenu": "

Vue regroupant images, photos et documents de l'intervention.

Comment faire

• Ajouter une image, Prendre une photo, Ajouter un document : ajoutez des contenus.

• Télécharger tout / Télécharger : récupérez les fichiers.

Attention

• Téléchargement à la demande : hors connexion, seuls les fichiers déjà récupérés sont consultables.

" + }, + { + "fenetre": "mobile_photo", + "titre": "Visionneuse photo", + "tags": "mobile,photo,visionneuse", + "contenu": "

Parcours des photos de l'intervention.

Comment faire

• ‹ Précédente / Suivante › : changez de photo.

• Modifier : ouvre l'éditeur d'image.

• Ajouter la note : ajoute une note à la photo.

Attention

• Lecture : toute modification passe par l'éditeur d'image.

" + }, + { + "fenetre": "mobile_editeur_image", + "titre": "Éditeur d'image", + "tags": "mobile,image,editeur,annotation", + "contenu": "

Annotation d'une image (dessin, texte, signature) en plein écran.

Comment faire

• ↶ Annuler / ↷ Rétablir : défait/refait un tracé.

• ⟳ Réinitialiser : efface toutes les annotations.

• Choisissez une couleur dans la palette.

• ✓ Enregistrer : sauvegarde l'image annotée.

• ✕ Quitter / ‹ Retour : quitte l'éditeur.

Attention

• Quitter sans Enregistrer abandonne les annotations.

• Enregistrer sauvegarde localement puis synchronise.

" + }, + { + "fenetre": "mobile_intervention_contacts", + "titre": "Contacts", + "tags": "mobile,intervention,contacts", + "contenu": "

Contacts liés à l'intervention.

Comment faire

• Touchez un contact pour ouvrir sa fiche.

• Appel et email disponibles si des coordonnées existent.

Attention

• Lecture seule.

" + }, + { + "fenetre": "mobile_contact", + "titre": "Fiche contact", + "tags": "mobile,contact,detail", + "contenu": "

Coordonnées d'un contact.

Comment faire

• Appelez ou envoyez un email via les boutons d'action.

Attention

• Fiche en lecture seule.

" + }, + { + "fenetre": "mobile_dossier", + "titre": "Fiche dossier", + "tags": "mobile,dossier,detail", + "contenu": "

Informations du dossier et interventions liées.

Comment faire

• Touchez une intervention liée pour ouvrir sa fiche.

Attention

• Fiche en lecture seule.

" + }, + { + "fenetre": "mobile_client", + "titre": "Fiche client", + "tags": "mobile,client,detail", + "contenu": "

Fiche client avec onglets Contacts, Sites, Dossiers.

Comment faire

• Naviguez entre les onglets.

• Appel et email disponibles si des coordonnées existent.

Attention

• Fiche en lecture seule.

" + }, + { + "fenetre": "mobile_site", + "titre": "Fiche site", + "tags": "mobile,site,detail,carte", + "contenu": "

Fiche site avec carte et onglets Interventions, Contacts, Clients, Rendez-vous.

Comment faire

• Naviguez entre les onglets.

• Lancez l'itinéraire vers le site.

Attention

• Fiche en lecture seule.

" + }, + { + "fenetre": "mobile_collaborateur", + "titre": "Fiche collaborateur", + "tags": "mobile,collaborateur,detail,licence", + "contenu": "

Fiche d'un collaborateur.

Comment faire

• Attribuer une licence : active l'accès mobile du collaborateur.

• Retirer la licence : révoque l'accès mobile.

• Appel et email disponibles.

Attention

• L'attribution/révocation exige le droit Licence mobile.

• Retirer la licence prive le collaborateur de l'accès mobile.

" + }, + { + "fenetre": "mobile_intervention_edition", + "titre": "Créer / modifier une intervention", + "tags": "mobile,intervention,edition,formulaire", + "contenu": "

Formulaire partagé de création ou d'édition d'une intervention.

Comment faire

• Ajouter / Retirer : gèrent les éléments liés.

• Enregistrer : enregistre l'intervention.

• Annuler : abandonne la saisie.

Attention

• Enregistrement offline-first : les données partent à la synchronisation.

• Annuler abandonne la saisie en cours.

" + }, + { + "fenetre": "mobile_saisie_temps", + "titre": "Saisie de temps", + "tags": "mobile,temps,saisie", + "contenu": "

Saisie d'un temps : début, fin, pause déjeuner.

Comment faire

• Renseignez les horaires puis Enregistrer.

• Annuler : abandonne la saisie.

Attention

• La pause déjeuner est préremplie depuis vos préférences.

• Enregistrement local puis synchronisé.

• La saisie pour un autre collaborateur exige le droit A.TEMP.COLB.

" + }, + { + "fenetre": "mobile_compte_rendu", + "titre": "Compte rendu", + "tags": "mobile,compte,rendu", + "contenu": "

Saisie du compte rendu d'un rendez-vous (individuel ou de groupe).

Comment faire

• Devis conforme / Avec réserve : signez.

• ✓ Enregistrer le compte rendu : enregistre.

• Annuler : abandonne.

Attention

• Un compte rendu documente une intervention : un rendez-vous sans intervention liée ne peut pas en porter un (aucun bouton proposé).

• Un compte rendu ne peut pas être créé deux fois pour le même rendez-vous (anti-doublon).

" + }, + { + "fenetre": "mobile_synchronisation", + "titre": "Synchronisation", + "tags": "mobile,synchronisation,outbox", + "contenu": "

File des opérations en attente d'envoi.

Comment faire

• Synchroniser maintenant : lance la synchronisation manuelle.

Attention

• Hors connexion, la synchronisation ne tente aucun appel réseau.

• Les opérations restent en attente et repartent dès le retour du réseau.

" + }, + { + "fenetre": "mobile_activation", + "titre": "Activation / licence", + "tags": "mobile,activation,licence,qr", + "contenu": "

Inscription au premier démarrage.

Comment faire

• Scanner le QR Code : scanne le QR fourni par votre administrateur.

• Ou saisissez manuellement le code puis S'inscrire.

• Réessayer : relance en cas d'échec.

Attention

• La licence est vérifiée en ligne : une licence expirée ou révoquée bloque l'accès.

• Aucune adresse n'est saisissable librement : tout vient du QR.

" + }, + { + "fenetre": "mobile_onboarding", + "titre": "Bienvenue dans Omika", + "tags": "mobile,onboarding,bienvenue", + "contenu": "

Accueil de première inscription : langue de terrain, thème, pause déjeuner.

Comment faire

• Suivant / Retour : naviguez entre les étapes.

• Terminer : enregistre et ferme.

• Passer : ferme sans rien régler.

• Annuler (dans le bloc de la langue en cours de téléchargement) : interrompt le téléchargement.

Attention

• Rien n'est obligatoire : tout reste modifiable dans les Paramètres.

• Le téléchargement d'une langue peut être volumineux (données mobiles).

" + } + ] +} diff --git a/src/Omika.App.Android/AndroidContactsTelephoneService.cs b/src/Omika.App.Android/AndroidContactsTelephoneService.cs new file mode 100644 index 0000000..650445f --- /dev/null +++ b/src/Omika.App.Android/AndroidContactsTelephoneService.cs @@ -0,0 +1,123 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Android.Content; +using Android.Database; +using Android.Provider; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; + +namespace Omika.App.Android; + +/// +/// Lecture du carnet d'adresses Android (ContactsContract) pour proposer, en PLUS +/// des contacts de l'intervention, les contacts PERSONNELS du téléphone comme +/// destinataires d'un courriel. L'origine de chaque entrée reste identifiée dans +/// la vue de composition (« Intervention » / « Téléphone »). +/// +/// Autorisation : READ_CONTACTS demandée au runtime au premier usage. Un refus +/// produit une liste vide — la composition du courriel reste possible, seuls les +/// contacts de l'intervention sont proposés. Aucune donnée du carnet n'est +/// envoyée ni conservée par Omika : la lecture est faite à la demande, en mémoire. +/// +public sealed class AndroidContactsTelephoneService : IContactsTelephoneService +{ + /// + /// Garde-fou : un carnet très volumineux ne doit pas bloquer l'écran de + /// composition. Les contacts sont triés par nom par l'appelant. + /// + private const int NombreMaximumContacts = 2000; + + /// + public async Task> GetContactsAvecEmailAsync( + CancellationToken cancellationToken = default) + { + cancellationToken.ThrowIfCancellationRequested(); + + // Autorisation READ_CONTACTS (une seule demande : Android mémorise le choix). + bool autorise = await MainActivity.RequestReadContactsPermissionAsync(); + if (!autorise) + { + return []; + } + + return await Task.Run(() => LireContacts(cancellationToken), cancellationToken); + } + + /// + /// Interroge la table des adresses email des contacts (une entrée par adresse) + /// et ne retient que les adresses valides, dédupliquées sans tenir compte de la + /// casse. Toute erreur de lecture produit une liste vide : cette source est + /// optionnelle. + /// + private static IReadOnlyList LireContacts(CancellationToken cancellationToken) + { + var resultat = new List(); + var emailsVus = new HashSet(StringComparer.OrdinalIgnoreCase); + + Context context = global::Android.App.Application.Context; + ContentResolver? resolver = context.ContentResolver; + if (resolver is null) + { + return []; + } + + // Seules deux colonnes sont lues : nom affiché du contact et adresse email. + string[] colonnes = + [ + ContactsContract.CommonDataKinds.Email.DisplayName, + ContactsContract.CommonDataKinds.Email.Address + ]; + + try + { + using ICursor? curseur = resolver.Query( + ContactsContract.CommonDataKinds.Email.ContentUri, + colonnes, + null, + null, + null); + + if (curseur is null) + { + return []; + } + + int colonneNom = curseur.GetColumnIndex(ContactsContract.CommonDataKinds.Email.DisplayName); + int colonneEmail = curseur.GetColumnIndex(ContactsContract.CommonDataKinds.Email.Address); + + while (resultat.Count < NombreMaximumContacts && curseur.MoveToNext()) + { + if (cancellationToken.IsCancellationRequested) + { + break; + } + + string adresse = colonneEmail >= 0 ? curseur.GetString(colonneEmail)?.Trim() ?? string.Empty : string.Empty; + if (adresse.Length == 0 || !adresse.Contains('@', StringComparison.Ordinal)) + { + continue; + } + + if (!emailsVus.Add(adresse)) + { + continue; + } + + string nom = colonneNom >= 0 ? curseur.GetString(colonneNom)?.Trim() ?? string.Empty : string.Empty; + resultat.Add(new ContactTelephone(nom.Length > 0 ? nom : adresse, adresse)); + } + } + catch + { + // Carnet illisible / autorisation retirée en cours de lecture : liste vide. + return []; + } + + return resultat + .OrderBy(c => c.Nom ?? c.Email ?? string.Empty, StringComparer.OrdinalIgnoreCase) + .ToList(); + } +} diff --git a/src/Omika.App.Android/AndroidDeviceInfoProvider.cs b/src/Omika.App.Android/AndroidDeviceInfoProvider.cs new file mode 100644 index 0000000..9fce875 --- /dev/null +++ b/src/Omika.App.Android/AndroidDeviceInfoProvider.cs @@ -0,0 +1,139 @@ +using System; +using System.Linq; +using System.Runtime.InteropServices; +using Android.Content.PM; +using Android.OS; +using Omika.Core.Observability.Diagnostic; + +namespace Omika.App.Android; + +/// +/// Capture d'appareil Android (T17-C) : fabricant/modèle (Build.*), version OS +/// (Build.VERSION.Release, ex. « 16 »), ABI, version/build du package +/// (PackageInfo) et dimensions d'écran (DisplayMetrics). +/// +/// Règles : +/// +/// snapshot capturé UNE fois à la construction (aucun appel natif sur le hot path) ; +/// fail-open : toute valeur inaccessible devient null, jamais une exception ; +/// aucun identifiant matériel interdit (IMEI/AndroidId/serial/MAC) ; +/// dimensions normalisées en orientation stable (min/max) via +/// — la rotation n'invalide pas les stats. +/// +/// +public sealed class AndroidDeviceInfoProvider : IDeviceInfoProvider +{ + private readonly DeviceInfoSnapshot _snapshot; + + public AndroidDeviceInfoProvider() + { + _snapshot = Capture(); + } + + /// + public DeviceInfoSnapshot GetSnapshot() => _snapshot; + + private static DeviceInfoSnapshot Capture() + { + try + { + global::Android.Content.Context context = global::Android.App.Application.Context; + var metrics = context.Resources?.DisplayMetrics; + + (int? screenWidth, int? screenHeight) = CapturePhysical(metrics); + (int? logicalWidth, int? logicalHeight) = CaptureLogical(metrics); + + return new DeviceInfoSnapshot + { + AppVersion = ReadVersionName(context), + AppBuild = ReadVersionCode(context), + Platform = "Android", + OperatingSystem = "Android", + // Version Android (ex. « 16 »), PAS l'API/SDK level (SdkInt = 36). + OperatingSystemVersion = DeviceInfoCapture.Clean(Build.VERSION.Release), + DeviceManufacturer = DeviceInfoCapture.Clean(Build.Manufacturer), + DeviceModel = DeviceInfoCapture.Clean(Build.Model), + Architecture = ReadPrimaryAbi(), + ScreenWidth = screenWidth, + ScreenHeight = screenHeight, + LogicalWidth = logicalWidth, + LogicalHeight = logicalHeight, + DisplayScale = DeviceInfoCapture.NormalizeScale(metrics?.Density) + }; + } + catch + { + return DeviceInfoSnapshot.Empty; + } + } + + /// Version fonctionnelle réelle du package (versionName = OmikaVersion). + private static string? ReadVersionName(global::Android.Content.Context context) + { + try + { + PackageInfo? info = context.PackageManager?.GetPackageInfo(context.PackageName ?? string.Empty, 0); + return DeviceInfoCapture.Clean(info?.VersionName); + } + catch + { + return null; + } + } + + /// Numéro de build réel du package (versionCode = OmikaBuild). + private static string? ReadVersionCode(global::Android.Content.Context context) + { + try + { + PackageInfo? info = context.PackageManager?.GetPackageInfo(context.PackageName ?? string.Empty, 0); + // VersionCode (int) : disponible depuis API 1, suffisant pour un numéro + // de build monotone (LongVersionCode nécessiterait API 28). + return info is null + ? null + : info.VersionCode.ToString(System.Globalization.CultureInfo.InvariantCulture); + } + catch + { + return null; + } + } + + private static string? ReadPrimaryAbi() + { + try + { + string? abi = Build.SupportedAbis?.FirstOrDefault(); + return DeviceInfoCapture.Clean(abi) ?? RuntimeInformation.OSArchitecture.ToString(); + } + catch + { + return RuntimeInformation.OSArchitecture.ToString(); + } + } + + private static (int?, int?) CapturePhysical(global::Android.Util.DisplayMetrics? metrics) + { + if (metrics is null) + { + return (null, null); + } + + (int Width, int Height)? normalized = DeviceInfoCapture.Normalize(metrics.WidthPixels, metrics.HeightPixels); + return normalized is { } n ? (n.Width, n.Height) : (null, null); + } + + private static (int?, int?) CaptureLogical(global::Android.Util.DisplayMetrics? metrics) + { + if (metrics is null || metrics.Density <= 0) + { + return (null, null); + } + + // Surface logique (DIP) = pixels physiques / densité. Ex. 1080/2.75 ≈ 393. + int? width = DeviceInfoCapture.RoundDimension(metrics.WidthPixels / (double)metrics.Density); + int? height = DeviceInfoCapture.RoundDimension(metrics.HeightPixels / (double)metrics.Density); + (int Width, int Height)? normalized = DeviceInfoCapture.Normalize(width, height); + return normalized is { } n ? (n.Width, n.Height) : (null, null); + } +} diff --git a/src/Omika.App.Android/AndroidDictationService.cs b/src/Omika.App.Android/AndroidDictationService.cs new file mode 100644 index 0000000..c6c1dc1 --- /dev/null +++ b/src/Omika.App.Android/AndroidDictationService.cs @@ -0,0 +1,320 @@ +using System; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using Android.Content; +using Android.OS; +using Android.Runtime; +using Android.Speech; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; + +namespace Omika.App.Android; + +/// +/// Dictée vocale native Android (android.speech.SpeechRecognizer). +/// +/// Un seul clic suffit : l'écoute démarre sans passer par le clavier virtuel et +/// sans écran intermédiaire. Le moteur est celui du téléphone (service de +/// reconnaissance installé), donc aucune donnée ne transite par nos serveurs ; +/// la préférence hors ligne n'est PAS forcée : le système choisit entre le +/// modèle embarqué et le service en ligne selon la connectivité et les langues +/// installées par l'utilisateur. +/// +/// Prérequis de déploiement : +/// +/// permission RECORD_AUDIO déclarée au manifeste et demandée au +/// runtime (premier clic) ; +/// élément <queries> pour android.speech.RecognitionService, +/// obligatoire depuis Android 11 pour que la détection de disponibilité +/// fonctionne. +/// +/// +public sealed class AndroidDictationService : IDictationService +{ + /// + public bool IsAvailable + { + get + { + try + { + return MainActivity.Instance is { } contexte + && SpeechRecognizer.IsRecognitionAvailable(contexte); + } + catch (Exception) + { + // Certains appareils (ROM constructeur sans service de + // reconnaissance) lèvent au lieu de renvoyer faux. + return false; + } + } + } + + /// + public async Task StartAsync( + string? codeLangue = null, + CancellationToken cancellationToken = default) + { + if (MainActivity.Instance is not { } activite || !IsAvailable) + { + return null; + } + + if (!await MainActivity.RequestMicrophonePermissionAsync()) + { + return null; + } + + // Langue dictée : celle demandée par l'appelant (langue secondaire de + // l'utilisateur), ou le français — langue de référence de l'application. + // La conversion « es » → « es-ES » est centralisée dans LanguageTag : + // Android refuse une langue qu'il ne sait pas résoudre, et un code ISO + // court seul n'est pas une locale valide. + string langue = LanguageTag.DepuisCode(codeLangue); + + // SpeechRecognizer DOIT être créé et piloté sur le thread principal. + // L'appel vient d'un clic (thread UI), mais l'attente de la permission + // ci-dessus a pu reprendre sur un thread de pool : on repasse + // explicitement par le thread principal. + var demarrage = new TaskCompletionSource( + TaskCreationOptions.RunContinuationsAsynchronously); + + activite.RunOnUiThread(() => + { + try + { + var session = new AndroidDictationSession(activite); + session.CommencerEcoute(langue); + demarrage.TrySetResult(session); + } + catch (Exception) + { + demarrage.TrySetResult(null); + } + }); + + return await demarrage.Task.ConfigureAwait(true); + } +} + +/// +/// Écoute en cours. Reçoit les rappels du et les +/// traduit en texte partiel, texte final, échec ou fin sans parole. +/// +/// Toutes les méthodes publiques sont appelées depuis le thread d'interface +/// (le contrôle de saisie s'en charge) ; l'arrêt et la libération sont en plus +/// re-marshallés par sécurité. +/// +internal sealed class AndroidDictationSession : Java.Lang.Object, IDictationSession, IRecognitionListener +{ + private readonly MainActivity _activite; + private readonly SpeechRecognizer _reconnaissance; + + /// Vrai dès qu'un événement terminal a été levé (un seul autorisé). + private bool _termine; + + public AndroidDictationSession(MainActivity activite) + { + _activite = activite; + _reconnaissance = SpeechRecognizer.CreateSpeechRecognizer(activite) + ?? throw new InvalidOperationException("Moteur de dictée Android indisponible."); + _reconnaissance.SetRecognitionListener(this); + } + + /// + public event EventHandler? PartialText; + + /// + public event EventHandler? FinalText; + + /// + public event EventHandler? Failed; + + /// + public event EventHandler? Ended; + + /// Démarre l'écoute (thread principal uniquement). + public void CommencerEcoute(string langue) + { + var intention = new Intent(RecognizerIntent.ActionRecognizeSpeech); + intention.PutExtra(RecognizerIntent.ExtraLanguageModel, RecognizerIntent.LanguageModelFreeForm); + intention.PutExtra(RecognizerIntent.ExtraLanguage, langue); + + // Texte livré au fil de la parole : l'utilisateur voit ce qui est + // reconnu pendant qu'il dicte, sans attendre la fin. + intention.PutExtra(RecognizerIntent.ExtraPartialResults, true); + intention.PutExtra(RecognizerIntent.ExtraMaxResults, 1); + + _reconnaissance.StartListening(intention); + } + + /// + public Task StopAsync() + { + ExecuterSurThreadPrincipal(() => + { + try + { + // StopListening laisse le moteur livrer son dernier résultat : + // la parole déjà prononcée n'est pas perdue. + _reconnaissance.StopListening(); + } + catch (Exception) + { + // Déjà arrêté ou détruit : rien à faire. + } + }); + + return Task.CompletedTask; + } + + /// + public ValueTask DisposeAsync() + { + _termine = true; + ExecuterSurThreadPrincipal(() => + { + try + { + _reconnaissance.Destroy(); + _reconnaissance.Dispose(); + } + catch (Exception) + { + // Libération best-effort. + } + }); + + return ValueTask.CompletedTask; + } + + // ===== Rappels Android.Speech.IRecognitionListener ===== + + /// + public void OnReadyForSpeech(Bundle? @params) + { + // Rien à faire : l'état visuel est piloté par le bouton du champ. + } + + /// + public void OnBeginningOfSpeech() + { + } + + /// + public void OnEndOfSpeech() + { + } + + /// + public void OnRmsChanged(float rmsdB) + { + // Niveau sonore : non utilisé (aucune animation de niveau demandée). + } + + /// + public void OnBufferReceived(byte[]? buffer) + { + } + + /// + public void OnEvent(int eventType, Bundle? @params) + { + } + + /// + public void OnLanguageDetection(Bundle? results) + { + // Détection de langue non demandée (langue fixée au démarrage). + } + + /// + public void OnSegmentResults(Bundle? segmentResults) + { + // Résultats segmentés non demandés. + } + + /// + public void OnPartialResults(Bundle? partialResults) + { + string? texte = TexteReconnu(partialResults); + if (!_termine && !string.IsNullOrWhiteSpace(texte)) + { + PartialText?.Invoke(this, texte); + } + } + + /// + public void OnResults(Bundle? results) => Terminer(TexteReconnu(results), null); + + /// + public void OnError(SpeechRecognizerError error) + { + // Silence ou parole non comprise : l'utilisateur n'a rien dit. Ce n'est + // pas une panne, donc pas de message d'erreur anxiogène. + if (error is SpeechRecognizerError.NoMatch or SpeechRecognizerError.SpeechTimeout) + { + Terminer(null, null); + return; + } + + Terminer(null, MessageErreur(error)); + } + + // ===== Aides ===== + + /// Extrait le meilleur texte reconnu d'un de résultat. + private static string? TexteReconnu(Bundle? resultats) + { + var textes = resultats?.GetStringArrayList(SpeechRecognizer.ResultsRecognition); + return textes is { Count: > 0 } ? textes[0] : null; + } + + /// Traduit une erreur du moteur en message compréhensible. + private static string MessageErreur(SpeechRecognizerError erreur) => erreur switch + { + SpeechRecognizerError.InsufficientPermissions => DictationMessages.MicroRefuse, + SpeechRecognizerError.Network or SpeechRecognizerError.NetworkTimeout => DictationMessages.HorsLigne, + SpeechRecognizerError.LanguageNotSupported or SpeechRecognizerError.LanguageUnavailable + => DictationMessages.LangueIndisponible, + SpeechRecognizerError.RecognizerBusy => DictationMessages.Occupe, + _ => DictationMessages.Interrompue, + }; + + /// Lève l'unique événement terminal de la session. + private void Terminer(string? texte, string? erreur) + { + if (_termine) + { + return; + } + + _termine = true; + + if (!string.IsNullOrWhiteSpace(texte)) + { + FinalText?.Invoke(this, texte); + } + else if (erreur is not null) + { + Failed?.Invoke(this, erreur); + } + else + { + Ended?.Invoke(this, EventArgs.Empty); + } + } + + /// Exécute une action sur le thread principal Android. + private void ExecuterSurThreadPrincipal(Action action) + { + if (Looper.MyLooper() == Looper.MainLooper) + { + action(); + return; + } + + _activite.RunOnUiThread(action); + } +} diff --git a/src/Omika.App.Android/AndroidEmailLauncher.cs b/src/Omika.App.Android/AndroidEmailLauncher.cs new file mode 100644 index 0000000..a6a0ccc --- /dev/null +++ b/src/Omika.App.Android/AndroidEmailLauncher.cs @@ -0,0 +1,363 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Net.Mail; +using System.Text; +using System.Threading.Tasks; +using Android.Content; +using AndroidX.Core.Content; +using JavaFile = Java.IO.File; +using AndroidUri = Android.Net.Uri; +using Omika.App.Local.Abstractions; + +namespace Omika.App.Android; + +/// +/// Ouverture du client email Android. +/// +/// Simple composeur : ACTION_SENDTO (URI mailto:), avec +/// l'adresse pré-remplie. +/// Avec pièces jointes : ACTION_SEND + EXTRA_STREAM (URI +/// content:// du FileProvider, jamais de file://), utilisé +/// notamment pour joindre les journaux de diagnostic au support. +/// Courriel complet de la messagerie externe +/// () : choeur limité aux +/// applications EMAIL (jamais SMS/WhatsApp), voir les commentaires de la +/// méthode. +/// +/// L'adresse métier n'est jamais modifiée. +/// +public sealed class AndroidEmailLauncher : IEmailLauncher +{ + public Task ComposeAsync(string email) + { + if (string.IsNullOrWhiteSpace(email)) + { + return Task.FromResult(false); + } + + // L'adresse métier peut être mal formée (champ libre) : on ne construit + // un URI mailto que pour une adresse syntaxiquement valide. + if (!MailAddress.TryCreate(email.Trim(), out MailAddress? address)) + { + return Task.FromResult(false); + } + + try + { + // ACTION_SENDTO (mailto:) : ouvre exclusivement un client email avec le + // destinataire pré-rempli. Pas de ResolveActivity préalable : sur + // Android 11+ la résolution est soumise à la visibilité des packages + // () ; StartActivity lève ActivityNotFoundException si aucun + // client email n'est disponible. La query SENDTO/mailto: du manifest + // permet la résolution. + var intent = new Intent(Intent.ActionSendto, AndroidUri.Parse("mailto:" + address.Address)); + intent.AddFlags(ActivityFlags.NewTask); + + Context context = global::Android.App.Application.Context; + context.StartActivity(intent); + return Task.FromResult(true); + } + catch (ActivityNotFoundException) + { + // Aucun client email disponible : l'appelant affichera un message propre. + Console.WriteLine("[EMAIL-LAUNCHER] Aucun client email disponible."); + return Task.FromResult(false); + } + catch (Exception) + { + return Task.FromResult(false); + } + } + + /// + public async Task ComposeAsync( + string email, + string? subject, + string? body, + IReadOnlyList? attachmentPaths) + { + if (string.IsNullOrWhiteSpace(email)) + { + return false; + } + + if (!MailAddress.TryCreate(email.Trim(), out MailAddress? address)) + { + return false; + } + + // Composeur avec pièces jointes : Android ne rend AUCUN résultat d'envoi, + // seul le lancement (application ouverte) est observable. + EmailExterneResultat resultat = await EnvoyerAvecPiecesJointesAsync( + [address.Address], + null, + null, + subject, + body, + attachmentPaths); + + return resultat.Lance; + } + + /// + /// Courriel complet de la MESSAGERIE EXTERNE. + /// + /// Choix du type d'intent (garantit un choeur EMAIL uniquement — ni SMS, ni + /// WhatsApp, ni Bluetooth) : + /// + /// SANS pièce jointe : ACTION_SENDTO + URI mailto: avec + /// destinataires, copies, objet et corps. Android ne propose que les + /// applications déclarant le schéma mailto:, c'est-à-dire les + /// clients email. + /// AVEC pièces jointes : ACTION_SEND de type + /// message/rfc822 (type MIME d'un message email) + EXTRA_STREAM + /// par le FileProvider. Aucun réseau social ni messagerie instantanée + /// ne traite ce type : le choeur reste email. + /// + /// Aucune plateforme Android ne renvoie de résultat d'envoi : le résultat est + /// donc et + /// l'application demande à l'utilisateur si le courriel est parti. + /// + public Task ComposerEmailExterneAsync(EmailExterneDemande demande) + { + if (demande.Destinataires.Count == 0) + { + return Task.FromResult(EmailExterneResultat.Echec); + } + + var adresses = new List(demande.Destinataires.Count); + foreach (string destinataire in demande.Destinataires) + { + if (!MailAddress.TryCreate(destinataire.Trim(), out MailAddress? adresse)) + { + // Une adresse de la sélection est invalide : on ne construit pas un + // intent partiellement faux, l'appelant affiche une erreur. + return Task.FromResult(EmailExterneResultat.Echec); + } + + adresses.Add(adresse.Address); + } + + return demande.CheminsPiecesJointes.Count > 0 + ? EnvoyerAvecPiecesJointesAsync( + adresses, + NormaliserAdresses(demande.Cc), + NormaliserAdresses(demande.Cci), + demande.Sujet, + demande.CorpsTexte, + demande.CheminsPiecesJointes) + : EnvoyerParMailtoAsync( + adresses, + NormaliserAdresses(demande.Cc), + NormaliserAdresses(demande.Cci), + demande.Sujet, + demande.CorpsTexte); + } + + /// + /// Composeur email SANS pièce jointe : ACTION_SENDTO + mailto:, + /// avec choeur explicite. Seuls les clients email sont proposés. + /// + private static Task EnvoyerParMailtoAsync( + IReadOnlyList destinataires, + IReadOnlyList cc, + IReadOnlyList cci, + string? sujet, + string? corps) + { + try + { + var uri = new StringBuilder("mailto:"); + uri.Append(string.Join(",", destinataires)); + + var parametres = new List(); + if (cc.Count > 0) + { + parametres.Add("cc=" + AndroidUri.Encode(string.Join(",", cc))); + } + + if (cci.Count > 0) + { + parametres.Add("bcc=" + AndroidUri.Encode(string.Join(",", cci))); + } + + if (!string.IsNullOrWhiteSpace(sujet)) + { + parametres.Add("subject=" + AndroidUri.Encode(sujet)); + } + + if (!string.IsNullOrWhiteSpace(corps)) + { + parametres.Add("body=" + AndroidUri.Encode(corps)); + } + + if (parametres.Count > 0) + { + uri.Append('?').Append(string.Join("&", parametres)); + } + + var intent = new Intent(Intent.ActionSendto, AndroidUri.Parse(uri.ToString())); + intent.AddFlags(ActivityFlags.NewTask); + + Context context = global::Android.App.Application.Context; + context.StartActivity(Intent.CreateChooser(intent, "Envoyer l'email")); + return Task.FromResult(EmailExterneResultat.LanceSansConfirmation); + } + catch (ActivityNotFoundException) + { + Console.WriteLine("[EMAIL-LAUNCHER] Aucun client email disponible."); + return Task.FromResult(EmailExterneResultat.Echec); + } + catch (Exception) + { + return Task.FromResult(EmailExterneResultat.Echec); + } + } + + /// + /// Composeur email AVEC pièces jointes : ACTION_SEND de type + /// message/rfc822 (choeur limité aux applications email) + URI + /// content:// du FileProvider. + /// + private static Task EnvoyerAvecPiecesJointesAsync( + IReadOnlyList destinataires, + IReadOnlyList? cc, + IReadOnlyList? cci, + string? sujet, + string? corps, + IReadOnlyList? cheminsPiecesJointes) + { + try + { + Context context = global::Android.App.Application.Context; + + // ACTION_SEND (message/rfc822) : composeur email avec destinataire, + // objet, corps et pièces jointes. Les pièces jointes passent par le + // FileProvider (content://) : le fichier doit se trouver sous un des + // chemins déclarés dans file_paths.xml. + var intent = new Intent(Intent.ActionSend); + intent.SetType("message/rfc822"); + + string[] adressesPrincipales = [.. destinataires]; + intent.PutExtra(Intent.ExtraEmail, adressesPrincipales); + if (cc is { Count: > 0 }) + { + string[] adressesCc = [.. cc]; + intent.PutExtra(Intent.ExtraCc, adressesCc); + } + + if (cci is { Count: > 0 }) + { + string[] adressesCci = [.. cci]; + intent.PutExtra(Intent.ExtraBcc, adressesCci); + } + + if (!string.IsNullOrWhiteSpace(sujet)) + { + intent.PutExtra(Intent.ExtraSubject, sujet); + } + + if (!string.IsNullOrWhiteSpace(corps)) + { + intent.PutExtra(Intent.ExtraText, corps); + } + + var uris = new List(); + if (cheminsPiecesJointes is not null) + { + foreach (string path in cheminsPiecesJointes) + { + if (string.IsNullOrWhiteSpace(path) || !File.Exists(path)) + { + continue; + } + + AndroidUri uri = FileProvider.GetUriForFile( + context, + $"{context.PackageName}.fileprovider", + new JavaFile(path)); + if (uri is not null) + { + uris.Add(uri); + } + } + } + + if (uris.Count > 0) + { + // Pièce jointe unique : EXTRA_STREAM en Uri unique. C'est la forme la + // plus largement comprise par les clients email (Gmail, Samsung + // Email, Outlook…) ; une ArrayList à un seul élément est parfois lue + // comme « aucun flux » et la pièce jointe est abandonnée. + if (uris.Count == 1) + { + intent.PutExtra(Intent.ExtraStream, uris[0]); + } + else + { + var parcelables = new List(uris.Count); + foreach (AndroidUri u in uris) + { + parcelables.Add(u); + } + + intent.PutParcelableArrayListExtra(Intent.ExtraStream, parcelables); + } + + // Autorise le client email à lire les URI content:// (permission + // temporaire attachée à l'intent). + intent.AddFlags(ActivityFlags.GrantReadUriPermission); + + // ClipData : nécessaire pour que la permission de lecture soit + // propagée au client email lorsque l'intent transite par le chooser + // (ACTION_CHOOSER). Sans lui, certains clients (Gmail, Samsung Email) + // n'arrivent pas à lire l'URI content:// et abandonnent + // silencieusement la pièce jointe. Tous les URI sont portés par le + // ClipData (pas seulement le 1er). + ClipData clipData = ClipData.NewRawUri("pieces-jointes", uris[0]); + for (int i = 1; i < uris.Count; i++) + { + clipData.AddItem(new ClipData.Item(uris[i])); + } + + intent.ClipData = clipData; + } + + intent.AddFlags(ActivityFlags.NewTask); + + // Chooser : l'utilisateur choisit son client email. Le chooser porte + // lui-même FLAG_ACTIVITY_NEW_TASK (démarrage depuis un contexte + // Application, non-Activity). + Intent chooser = Intent.CreateChooser(intent, "Envoyer l'email"); + chooser.AddFlags(ActivityFlags.NewTask); + + context.StartActivity(chooser); + return Task.FromResult(EmailExterneResultat.LanceSansConfirmation); + } + catch (ActivityNotFoundException) + { + Console.WriteLine("[EMAIL-LAUNCHER] Aucun client email disponible."); + return Task.FromResult(EmailExterneResultat.Echec); + } + catch (Exception) + { + return Task.FromResult(EmailExterneResultat.Echec); + } + } + + /// Filtre les adresses syntaxiquement valides d'une liste de copies. + private static List NormaliserAdresses(IReadOnlyList adresses) + { + var resultat = new List(adresses.Count); + foreach (string adresse in adresses) + { + if (MailAddress.TryCreate(adresse.Trim(), out MailAddress? valide)) + { + resultat.Add(valide.Address); + } + } + + return resultat; + } +} diff --git a/src/Omika.App.Android/AndroidEnrollmentQrScanner.cs b/src/Omika.App.Android/AndroidEnrollmentQrScanner.cs new file mode 100644 index 0000000..a17f2e7 --- /dev/null +++ b/src/Omika.App.Android/AndroidEnrollmentQrScanner.cs @@ -0,0 +1,486 @@ +using System; +using System.Threading; +using System.Threading.Tasks; +using Android.Content; +using Android.Content.PM; +using Android.Graphics; +using Android.Hardware.Camera2; +using Android.Media; +using Android.OS; +using Android.Runtime; +using Android.Views; +using AndroidX.Core.Content; +using Java.Lang; +using Omika.App.Local.Abstractions; +using ZXing; + +namespace Omika.App.Android; + +/// +/// Lecture optique du QR d'inscription Android via Camera2 (capture YUV en +/// continu) + ZXing.Net (décodage). La caméra est libérée dès qu'un QR est +/// détecté (ou sur annulation). +/// +/// Cette classe ne fait QUE produire le contenu brut du QR. Le décodage métier, +/// la vérification RSA et la validation d'endpoint restent dans les services +/// partagés. Aucune URL ni secret ici. +/// +public sealed class AndroidEnrollmentQrScanner : IEnrollmentQrScanner +{ + private const int PreviewWidth = 1280; + private const int PreviewHeight = 720; + private const string LogTag = "OmikaQR"; + + /// Trace de diagnostic visible dans logcat sur un appareil réel. + private static void Trace(string message) => global::Android.Util.Log.Info(LogTag, message); + + private static void TraceError(string message, System.Exception? ex = null) + => global::Android.Util.Log.Error(LogTag, ex is null ? message : $"{message} :: {ex}"); + + public async Task ScanAsync( + IQrScannerPreviewSink? previewSink, + CancellationToken cancellationToken = default) + { + Context context = Application.Context; + if (ContextCompat.CheckSelfPermission(context, global::Android.Manifest.Permission.Camera) != Permission.Granted) + { + // La demande runtime est gérée par MainActivity (OnRequestPermissionsResult). + Trace("QR_SCAN_PERMISSION_REQUEST"); + bool granted = await MainActivity.RequestCameraPermissionAsync(); + if (!granted) + { + TraceError("QR_SCAN_ERROR permission caméra refusée"); + throw new QrScanException( + "Permission caméra refusée. Autorisez l'accès à la caméra pour scanner le QR d'inscription."); + } + } + + Trace("QR_SCAN_PERMISSION_GRANTED"); + + var cameraManager = (CameraManager?)context.GetSystemService(Context.CameraService); + if (cameraManager is null) + { + TraceError("QR_SCAN_ERROR CameraManager indisponible"); + throw new QrScanException("Caméra indisponible sur cet appareil."); + } + + string? cameraId = null; + int sensorOrientation = 0; + try + { + foreach (string id in cameraManager.GetCameraIdList()) + { + CameraCharacteristics c = cameraManager.GetCameraCharacteristics(id); + var lensFacing = c.Get(CameraCharacteristics.LensFacing) as Java.Lang.Integer; + if (lensFacing?.IntValue() == (int)LensFacing.Back) + { + cameraId = id; + var orientation = c.Get(CameraCharacteristics.SensorOrientation) as Java.Lang.Integer; + sensorOrientation = orientation?.IntValue() ?? 0; + break; + } + } + } + catch (System.Exception ex) + { + TraceError("QR_SCAN_ERROR énumération des caméras", ex); + throw QrScanException.Defaillance("Impossible d'énumérer les caméras de l'appareil.", ex); + } + + if (cameraId is null) + { + TraceError("QR_SCAN_ERROR aucune caméra arrière"); + throw new QrScanException("Aucune caméra arrière disponible sur cet appareil."); + } + + var tcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + + var handlerThread = new HandlerThread("omika-qr-scan"); + handlerThread.Start(); + var backgroundHandler = new Handler(handlerThread.Looper!); + + using var imageReader = ImageReader.NewInstance(PreviewWidth, PreviewHeight, ImageFormatType.Yuv420888, 2); + + // Décodage du QR sur chaque frame disponible + prévisualisation caméra + // (plan Y → niveaux de gris → rotation) publiée vers la vue Avalonia. + long lastPreviewMs = 0; + imageReader.SetOnImageAvailableListener(new ImageAvailableListener(image => + { + try + { + string? text = DecodeYuv(image); + if (!string.IsNullOrWhiteSpace(text)) + { + Trace("QR_SCAN_DECODED"); + tcs.TrySetResult(text); + } + else if (previewSink is not null) + { + // ~10 fps : évite de saturer l'UI avec une conversion par frame. + long now = System.Environment.TickCount64; + if (now - lastPreviewMs >= 100) + { + lastPreviewMs = now; + PublishPreview(image, sensorOrientation, previewSink); + } + } + } + catch (System.Exception ex) + { + // Frame illisible : on ignore, mais on trace pour diagnostic. + TraceError("QR_SCAN_ERROR décodage d'une frame", ex); + } + finally + { + image.Close(); + } + }), backgroundHandler); + + var stateCallback = new CameraStateCallback( + imageReader, + tcs, + cameraId, + backgroundHandler); + + Trace("QR_SCAN_CAMERA_OPENING"); + try + { + cancellationToken.ThrowIfCancellationRequested(); + cameraManager.OpenCamera(cameraId, stateCallback, backgroundHandler); + } + catch (System.OperationCanceledException) + { + tcs.TrySetResult(null); + stateCallback.Close(); + handlerThread.QuitSafely(); + throw; + } + catch (System.Exception ex) + { + TraceError("QR_SCAN_ERROR ouverture de la caméra", ex); + tcs.TrySetResult(null); + stateCallback.Close(); + handlerThread.QuitSafely(); + throw QrScanException.Defaillance($"Ouverture de la caméra impossible : {ex.Message}", ex); + } + + // Arrêt caméra sur annulation. + using var registration = cancellationToken.Register(() => + { + Trace("QR_SCAN_CANCELLED"); + tcs.TrySetResult(null); + stateCallback.Close(); + }); + + try + { + return await tcs.Task; + } + finally + { + stateCallback.Close(); + handlerThread.QuitSafely(); + } + } + + /// Décode un frame YUV_420_888 avec ZXing (PlanarYUVLuminanceSource). + private static string? DecodeYuv(Image image) + { + Image.Plane[]? planes = image.GetPlanes(); + if (planes is null || planes.Length == 0) + { + return null; + } + + Image.Plane yPlane = planes[0]; + var buffer = yPlane.Buffer; + if (buffer is null) + { + return null; + } + + int rowStride = yPlane.RowStride; + int pixelStride = yPlane.PixelStride; + int width = image.Width; + int height = image.Height; + + byte[] yuv = new byte[rowStride * height]; + for (int row = 0; row < height; row++) + { + buffer.Position(row * rowStride); + buffer.Get(yuv, row * rowStride, System.Math.Min(width * pixelStride, rowStride)); + } + + var source = new PlanarYUVLuminanceSource(yuv, rowStride, height, 0, 0, width, height, false); + Result? result = new BarcodeReaderGeneric().Decode(source); + return result?.Text; + } + + /// Publie un frame de prévisualisation (plan Y → BGRA, orienté droit). + private static void PublishPreview(Image image, int sensorOrientation, IQrScannerPreviewSink sink) + { + byte[] gray = ExtractYPlane(image); + if (gray.Length == 0) + { + return; + } + + (int outWidth, int outHeight) = RotatedSize(image.Width, image.Height, sensorOrientation); + byte[] bgra = GrayToBgraRotated(gray, image.Width, image.Height, outWidth, outHeight, sensorOrientation); + + sink.OnFrame(new QrScannerPreviewFrame + { + BgraPixels = bgra, + Width = outWidth, + Height = outHeight + }); + } + + /// Extrait le plan de luminance Y (niveaux de gris) d'un frame YUV_420_888. + private static byte[] ExtractYPlane(Image image) + { + Image.Plane[]? planes = image.GetPlanes(); + if (planes is null || planes.Length == 0) + { + return []; + } + + Image.Plane yPlane = planes[0]; + var buffer = yPlane.Buffer; + if (buffer is null) + { + return []; + } + + int rowStride = yPlane.RowStride; + int pixelStride = yPlane.PixelStride; + int width = image.Width; + int height = image.Height; + + var y = new byte[width * height]; + if (pixelStride == 1 && rowStride == width) + { + buffer.Position(0); + buffer.Get(y, 0, y.Length); + return y; + } + + for (int row = 0; row < height; row++) + { + buffer.Position(row * rowStride); + buffer.Get(y, row * width, System.Math.Min(width, rowStride)); + } + + return y; + } + + /// Dimensions après rotation selon l'orientation du capteur. + private static (int Width, int Height) RotatedSize(int width, int height, int sensorOrientation) + { + int rotation = ((sensorOrientation % 360) + 360) % 360; + return rotation is 90 or 270 ? (height, width) : (width, height); + } + + /// Convertit un plan Y (gris) en BGRA8888, avec rotation pour un affichage droit. + private static byte[] GrayToBgraRotated( + byte[] gray, + int width, + int height, + int outWidth, + int outHeight, + int sensorOrientation) + { + int rotation = ((sensorOrientation % 360) + 360) % 360; + var bgra = new byte[outWidth * outHeight * 4]; + + for (int y = 0; y < height; y++) + { + for (int x = 0; x < width; x++) + { + byte v = gray[y * width + x]; + int outX; + int outY; + switch (rotation) + { + case 90: + outX = height - 1 - y; + outY = x; + break; + case 180: + outX = width - 1 - x; + outY = height - 1 - y; + break; + case 270: + outX = y; + outY = width - 1 - x; + break; + default: + outX = x; + outY = y; + break; + } + + int i = (outY * outWidth + outX) * 4; + bgra[i] = v; + bgra[i + 1] = v; + bgra[i + 2] = v; + bgra[i + 3] = 255; + } + } + + return bgra; + } + + private sealed class ImageAvailableListener : Java.Lang.Object, ImageReader.IOnImageAvailableListener + { + private readonly Action _onImage; + + public ImageAvailableListener(Action onImage) => _onImage = onImage; + + public void OnImageAvailable(ImageReader? reader) + { + if (reader is null) + { + return; + } + + Image? image = reader.AcquireLatestImage(); + if (image is not null) + { + _onImage(image); + } + } + } + + private sealed class CameraStateCallback : CameraDevice.StateCallback + { + private readonly ImageReader _imageReader; + private readonly TaskCompletionSource _tcs; + private readonly string _cameraId; + private readonly Handler _handler; + private CameraDevice? _camera; + private CameraCaptureSession? _session; + private int _closed; + + public CameraStateCallback( + ImageReader imageReader, + TaskCompletionSource tcs, + string cameraId, + Handler handler) + { + _imageReader = imageReader; + _tcs = tcs; + _cameraId = cameraId; + _handler = handler; + } + + public override void OnOpened(CameraDevice camera) + { + Trace("QR_SCAN_CAMERA_OPENED"); + _camera = camera; + try + { + var surface = _imageReader.Surface!; + camera.CreateCaptureSession( + new System.Collections.Generic.List { surface }, + new SessionStateCallback(surface, _tcs, OnSessionConfigured), + _handler); + } + catch (System.Exception ex) + { + TraceError("QR_SCAN_ERROR création de la session de capture", ex); + _tcs.TrySetResult(null); + } + } + + /// + /// Mémorise la session Camera2 pour pouvoir la fermer proprement. Si la + /// fermeture a déjà eu lieu (annulation avant configuration), la session + /// est fermée immédiatement pour éviter toute fuite. + /// + private void OnSessionConfigured(CameraCaptureSession session) + { + if (Volatile.Read(ref _closed) != 0) + { + session.Close(); + session.Dispose(); + return; + } + + _session = session; + } + + public override void OnDisconnected(CameraDevice camera) + { + TraceError("QR_SCAN_ERROR caméra déconnectée"); + _tcs.TrySetResult(null); + } + + public override void OnError(CameraDevice camera, CameraError error) + { + TraceError($"QR_SCAN_ERROR erreur caméra : {error}"); + _tcs.TrySetResult(null); + } + + /// + /// Libère la session et la caméra. Idempotente : les appels multiples + /// (annulation + finally) ne provoquent pas de double Dispose. + /// + public void Close() + { + if (Interlocked.Exchange(ref _closed, 1) != 0) + { + return; + } + + CameraCaptureSession? session = _session; + _session = null; + session?.Close(); + session?.Dispose(); + + CameraDevice? camera = _camera; + _camera = null; + camera?.Close(); + camera?.Dispose(); + } + } + + private sealed class SessionStateCallback : CameraCaptureSession.StateCallback + { + private readonly global::Android.Views.Surface _targetSurface; + private readonly TaskCompletionSource _tcs; + private readonly Action _onConfigured; + + public SessionStateCallback( + global::Android.Views.Surface targetSurface, + TaskCompletionSource tcs, + Action onConfigured) + { + _targetSurface = targetSurface; + _tcs = tcs; + _onConfigured = onConfigured; + } + + public override void OnConfigureFailed(CameraCaptureSession session) + { + TraceError("QR_SCAN_ERROR configuration de la session échouée"); + _tcs.TrySetResult(null); + } + + public override void OnConfigured(CameraCaptureSession session) + { + try + { + _onConfigured(session); + var requestBuilder = session.Device.CreateCaptureRequest(CameraTemplate.Preview); + requestBuilder.AddTarget(_targetSurface); + session.SetRepeatingRequest(requestBuilder.Build(), null, null); + } + catch (System.Exception ex) + { + TraceError("QR_SCAN_ERROR démarrage de la capture", ex); + _tcs.TrySetResult(null); + } + } + } +} diff --git a/src/Omika.App.Android/AndroidFileLauncher.cs b/src/Omika.App.Android/AndroidFileLauncher.cs new file mode 100644 index 0000000..a93b252 --- /dev/null +++ b/src/Omika.App.Android/AndroidFileLauncher.cs @@ -0,0 +1,60 @@ +using System; +using System.IO; +using System.Threading.Tasks; +using Android.Content; +using AndroidX.Core.Content; +using JavaFile = Java.IO.File; +using AndroidUri = Android.Net.Uri; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; + +namespace Omika.App.Android; + +/// +/// Ouverture d'un fichier local contrôlé par Omika via Intent.ActionView + +/// FileProvider (URI content://, jamais de file://). Utilisé pour +/// les DOCUMENTS (PDF, Word, Excel…) ; les photos passent par la visionneuse +/// intégrée et n'utilisent pas ce launcher. +/// +/// Le repli partagé PlatformFileLauncher (basé sur TopLevel.Launcher) +/// est inopérant sur Android : la vue unique n'est pas un TopLevel. +/// +public sealed class AndroidFileLauncher : IFileLauncher +{ + public Task OpenAsync(string localPath) + { + if (string.IsNullOrWhiteSpace(localPath) || !File.Exists(localPath)) + { + return Task.FromResult(false); + } + + try + { + Context context = global::Android.App.Application.Context; + + string mimeType = FileMimeTypes.FromExtension(localPath) ?? "application/octet-stream"; + AndroidUri uri = FileProvider.GetUriForFile( + context, + $"{context.PackageName}.fileprovider", + new JavaFile(localPath)); + + var intent = new Intent(Intent.ActionView); + intent.SetDataAndType(uri, mimeType); + intent.AddFlags(ActivityFlags.GrantReadUriPermission | ActivityFlags.NewTask); + intent.ClipData = ClipData.NewRawUri("document", uri); + + context.StartActivity(intent); + return Task.FromResult(true); + } + catch (ActivityNotFoundException) + { + // Aucune application capable d'ouvrir ce type de fichier. + return Task.FromResult(false); + } + catch (Exception) + { + // URI hors racine FileProvider, fichier verrouillé, etc. + return Task.FromResult(false); + } + } +} diff --git a/src/Omika.App.Android/AndroidFilePicker.cs b/src/Omika.App.Android/AndroidFilePicker.cs new file mode 100644 index 0000000..22d29d8 --- /dev/null +++ b/src/Omika.App.Android/AndroidFilePicker.cs @@ -0,0 +1,211 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; +using Android.Content; +using Android.Database; +using Android.Provider; +using AndroidUri = Android.Net.Uri; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; + +namespace Omika.App.Android; + +/// +/// Sélecteur de fichier Android basé sur le Storage Access Framework +/// (ACTION_OPEN_DOCUMENT). L'URI content:// renvoyée est lue via +/// ContentResolver.OpenInputStream puis copiée dans le stockage privé de +/// l'application, car le contrat attend un chemin local +/// réel. Aucune permission de stockage n'est requise (SAF). +/// +public sealed class AndroidFilePicker : IFilePicker +{ + public Task PickPhotoAsync() + => PickSingleAsync(Intent.ActionOpenDocument, "image/*"); + + public Task PickDocumentAsync() + => PickSingleAsync(Intent.ActionOpenDocument, "*/*"); + + /// + public async Task> PickPhotosAsync() + { + Intent intent = BuildIntent(Intent.ActionOpenDocument, "image/*", allowMultiple: true); + + IReadOnlyList uris = await MainActivity.PickFilesAsync(intent); + var result = new List(uris.Count); + foreach (AndroidUri uri in uris) + { + PickedFile? picked = await ReadPickedFileAsync(uri); + if (picked is not null) + { + result.Add(picked); + } + else + { + // Lecture/copie d'une URI impossible : ce fichier est ignoré sans + // interrompre le lot. Aucune donnée personnelle n'est journalisée. + Console.WriteLine("[FILE-PICKER] Lecture d'une URI de sélection impossible (fichier ignoré)."); + } + } + + return result; + } + + private static async Task PickSingleAsync(string action, string mimeType) + { + Intent intent = BuildIntent(action, mimeType, allowMultiple: false); + + // Ouvre le sélecteur système ; liste vide si l'utilisateur annule. + IReadOnlyList uris = await MainActivity.PickFilesAsync(intent); + if (uris.Count == 0) + { + return null; + } + + return await ReadPickedFileAsync(uris[0]); + } + + private static Intent BuildIntent(string action, string mimeType, bool allowMultiple) + { + var intent = new Intent(action); + intent.AddCategory(Intent.CategoryOpenable); + intent.SetType(mimeType); + + // Sélection multiple : Android renvoie la liste dans ClipData (une seule + // URI continue d'arriver dans Data). Les deux situations sont gérées côté + // MainActivity. Aucune permission de stockage supplémentaire (SAF). + if (allowMultiple) + { + intent.PutExtra(Intent.ExtraAllowMultiple, true); + } + + return intent; + } + + private static async Task ReadPickedFileAsync(AndroidUri uri) + { + Context context = global::Android.App.Application.Context; + ContentResolver resolver = context.ContentResolver!; + + string? mimeType = resolver.GetType(uri); + string? displayName = QueryDisplayName(resolver, uri); + + // MIME indisponible : repli sur l'extension du nom affiché. + mimeType ??= FileMimeTypes.FromExtension(displayName); + + string? localPath = await CopyToLocalAsync(resolver, uri, displayName); + if (localPath is null) + { + // Lecture ou copie impossible : erreur contrôlée (pas d'exception). + Console.WriteLine("[FILE-PICKER] Lecture/copie du fichier sélectionné impossible."); + return null; + } + + string fileName = !string.IsNullOrWhiteSpace(displayName) + ? Path.GetFileName(displayName) + : FallbackFileName(mimeType); + + // Date source du fichier (SAF LastModified) : disponible pour les + // documents, utilisée comme date métier (jamais pour les photos, qui + // conservent leur date EXIF). + DateTimeOffset? sourceDate = QueryLastModified(resolver, uri); + + return new PickedFile + { + SourcePath = localPath, + FileName = fileName, + MimeType = mimeType, + SourceDate = sourceDate + }; + } + + /// + /// Lit la date de dernière modification fournie par le Storage Access + /// Framework (DocumentsContract.Document.ColumnLastModified, en + /// millisecondes epoch UTC). Retourne si le fournisseur + /// ne la fournit pas. Jamais présentée comme une date de création réelle. + /// + private static DateTimeOffset? QueryLastModified(ContentResolver resolver, AndroidUri uri) + { + try + { + using ICursor? cursor = resolver.Query(uri, null, null, null, null); + if (cursor is not null && cursor.MoveToFirst()) + { + int index = cursor.GetColumnIndex(DocumentsContract.Document.ColumnLastModified); + if (index >= 0 && !cursor.IsNull(index)) + { + return DateTimeOffset.FromUnixTimeMilliseconds(cursor.GetLong(index)); + } + } + } + catch + { + // Date source indisponible : repli géré par l'appelant. + } + + return null; + } + + private static string? QueryDisplayName(ContentResolver resolver, AndroidUri uri) + { + try + { + using ICursor? cursor = resolver.Query(uri, null, null, null, null); + if (cursor is not null && cursor.MoveToFirst()) + { + int index = cursor.GetColumnIndex(OpenableColumns.DisplayName); + if (index >= 0) + { + return cursor.GetString(index); + } + } + } + catch + { + // Nom indisponible : repli géré par l'appelant. + } + + return null; + } + + private static async Task CopyToLocalAsync( + ContentResolver resolver, + AndroidUri uri, + string? displayName) + { + try + { + Context context = global::Android.App.Application.Context; + string dir = Path.Combine(context.CacheDir!.AbsolutePath, "filepicker"); + Directory.CreateDirectory(dir); + + // Nom AFFICHÉ conservé pour l'utilisateur ; nom INTERNE unique pour + // ne jamais écraser un fichier de même nom déjà sélectionné. + string safeName = !string.IsNullOrWhiteSpace(displayName) + ? Path.GetFileName(displayName) + : $"selection-{Guid.NewGuid():N}"; + string localPath = Path.Combine(dir, $"{Guid.NewGuid():N}_{safeName}"); + + using Stream? input = resolver.OpenInputStream(uri); + if (input is null) + { + return null; + } + + using FileStream output = File.Create(localPath); + await input.CopyToAsync(output); + return localPath; + } + catch (Exception ex) + { + Console.WriteLine($"[FILE-PICKER] Copie locale impossible : {ex.Message}"); + return null; + } + } + + private static string FallbackFileName(string? mimeType) + => mimeType is not null && mimeType.StartsWith("image/", StringComparison.OrdinalIgnoreCase) + ? $"photo-{Guid.NewGuid():N}.jpg" + : $"document-{Guid.NewGuid():N}"; +} diff --git a/src/Omika.App.Android/AndroidMapLauncher.cs b/src/Omika.App.Android/AndroidMapLauncher.cs new file mode 100644 index 0000000..8743654 --- /dev/null +++ b/src/Omika.App.Android/AndroidMapLauncher.cs @@ -0,0 +1,59 @@ +using System; +using System.Threading.Tasks; +using Android.Content; +using AndroidUri = Android.Net.Uri; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; + +namespace Omika.App.Android; + +/// +/// Lancement d'un itinéraire Android via ACTION_VIEW sur une URI +/// geo: (RFC 5870), compatible avec Google Maps et tout autre client de +/// navigation. Le chooser Android est utilisé pour ne jamais forcer Google Maps. +/// Aucune permission spécifique n'est requise. +/// +public sealed class AndroidMapLauncher : IMapLauncher +{ + public Task OpenItineraireAsync(string address) + { + if (string.IsNullOrWhiteSpace(address)) + { + return Task.FromResult(false); + } + + try + { + var intent = new Intent(Intent.ActionView, AndroidUri.Parse(MapUri.Build(address))); + intent.AddFlags(ActivityFlags.NewTask); + + // Chooser : l'utilisateur choisit son application de navigation + // (Google Maps ou tout autre client geo:), sans forcer Google Maps. + Intent chooser = Intent.CreateChooser(intent, "Ouvrir l'itinéraire"); + + // Le chooser est l'intent réellement démarré : il doit lui-même porter + // FLAG_ACTIVITY_NEW_TASK, car le démarrage se fait depuis un contexte + // Application (non-Activity). Sans ce flag, StartActivity lève + // AndroidRuntimeException ("requires the FLAG_ACTIVITY_NEW_TASK flag"). + chooser.AddFlags(ActivityFlags.NewTask); + + global::Android.App.Application.Context.StartActivity(chooser); + return Task.FromResult(true); + } + catch (ActivityNotFoundException) + { + // Aucune application de navigation disponible : l'appelant affiche un message. + Console.WriteLine("[MAP-LAUNCHER] Aucune application de navigation disponible."); + return Task.FromResult(false); + } + catch (Exception ex) + { + // Échec de lancement (ex. erreur Android) : ne jamais faire planter + // l'application. On journalise uniquement le TYPE d'exception (jamais + // l'adresse, l'URI complète ni aucune donnée personnelle) et on + // retourne false pour que l'appelant affiche un message propre. + Console.WriteLine($"[MAP-LAUNCHER] FailureType={ex.GetType().Name}"); + return Task.FromResult(false); + } + } +} diff --git a/src/Omika.App.Android/AndroidNetworkConnectivity.cs b/src/Omika.App.Android/AndroidNetworkConnectivity.cs new file mode 100644 index 0000000..28999ee --- /dev/null +++ b/src/Omika.App.Android/AndroidNetworkConnectivity.cs @@ -0,0 +1,64 @@ +using System.Threading; +using System.Threading.Tasks; +using Android.Content; +using Android.Net; +using Omika.App.Local.Abstractions; + +namespace Omika.App.Android; + +/// +/// Détection de connectivité réseau Android fiable via . +/// +/// Le repli portable (NetworkInterface) reste « Up » même quand Wi-Fi et +/// données mobiles sont coupés, ce qui faisait échouer la synchronisation avec une +/// erreur au lieu d'afficher l'état « Hors ligne ». Ici on s'appuie sur le réseau +/// actif ET ses capacités INTERNET + VALIDATED (le système a validé +/// une vraie connectivité Internet), ce qui distingue correctement en ligne / hors +/// ligne (mode avion, Wi-Fi sans Internet, point d'accès captif). +/// +public sealed class AndroidNetworkConnectivity : INetworkConnectivity +{ + /// + public Task IsOnlineAsync(CancellationToken cancellationToken = default) + { + cancellationToken.ThrowIfCancellationRequested(); + + try + { + var context = global::Android.App.Application.Context; + if (context is null) + { + return Task.FromResult(false); + } + + if (context.GetSystemService(Context.ConnectivityService) is not ConnectivityManager manager) + { + return Task.FromResult(false); + } + + Network? activeNetwork = manager.ActiveNetwork; + if (activeNetwork is null) + { + return Task.FromResult(false); + } + + NetworkCapabilities? capabilities = manager.GetNetworkCapabilities(activeNetwork); + if (capabilities is null) + { + return Task.FromResult(false); + } + + bool online = capabilities.HasCapability(NetCapability.Internet) + && capabilities.HasCapability(NetCapability.Validated); + + return Task.FromResult(online); + } + catch + { + // Défensif : une erreur de la plateforme (permission absente, service + // indisponible) ne doit jamais faire échouer la synchronisation. On + // retombe sur le repli portable (NetworkInterface). + return new Omika.App.Local.Services.NetworkConnectivity().IsOnlineAsync(cancellationToken); + } + } +} diff --git a/src/Omika.App.Android/AndroidPhoneLauncher.cs b/src/Omika.App.Android/AndroidPhoneLauncher.cs new file mode 100644 index 0000000..21f6750 --- /dev/null +++ b/src/Omika.App.Android/AndroidPhoneLauncher.cs @@ -0,0 +1,47 @@ +using System; +using System.Threading.Tasks; +using Android.Content; +using AndroidUri = Android.Net.Uri; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; + +namespace Omika.App.Android; + +/// +/// Lancement d'un appel Android via ACTION_DIAL (composeur système +/// pré-rempli). Aucune permission CALL_PHONE requise : l'utilisateur +/// choisit lui-même de déclencher l'appel. Le numéro est sanitisé uniquement +/// pour l'URI, jamais modifié en base. +/// +public sealed class AndroidPhoneLauncher : IPhoneLauncher +{ + public Task DialAsync(string phoneNumber) + { + if (string.IsNullOrWhiteSpace(phoneNumber)) + { + return Task.FromResult(false); + } + + // Sanitisation URI : on retire uniquement les espaces/séparateurs blancs. + // Les séparateurs visuels (points, tirets, parenthèses) et le « + » restent + // valides dans un URI tel: (RFC 3966). Le numéro n'est jamais modifié en base. + try + { + // ACTION_DIAL (composeur pré-rempli), jamais ACTION_CALL (appel direct). + var intent = new Intent(Intent.ActionDial, AndroidUri.Parse(PhoneDialUri.Build(phoneNumber))); + intent.AddFlags(ActivityFlags.NewTask); + + // Pas de ResolveActivity préalable : StartActivity lève ActivityNotFoundException + // si aucun composeur n'est disponible. La déclaration du manifest + // permet de toute façon la résolution sur Android 11+. + global::Android.App.Application.Context.StartActivity(intent); + return Task.FromResult(true); + } + catch (ActivityNotFoundException) + { + // Aucun composeur disponible : l'appelant affichera un message propre. + Console.WriteLine($"[PHONE-LAUNCHER] Aucun composeur disponible pour {PhoneDialUri.Sanitize(phoneNumber)}."); + return Task.FromResult(false); + } + } +} diff --git a/src/Omika.App.Android/AndroidPhotoCapture.cs b/src/Omika.App.Android/AndroidPhotoCapture.cs new file mode 100644 index 0000000..9d7e21f --- /dev/null +++ b/src/Omika.App.Android/AndroidPhotoCapture.cs @@ -0,0 +1,162 @@ +using System; +using System.IO; +using System.Threading; +using System.Threading.Tasks; +using Android.Content; +using Android.Provider; +using AndroidX.Core.Content; +using JavaFile = Java.IO.File; +using AndroidUri = Android.Net.Uri; +using Omika.App.Local.Abstractions; + +namespace Omika.App.Android; + +/// +/// Prise de photo Android via l'application caméra externe +/// (ACTION_IMAGE_CAPTURE). La photo est écrite dans un fichier local temporaire +/// contrôlé par Omika (cacheDir/capture) et exposé à l'application caméra via +/// un FileProvider (jamais de file://). +/// +/// Le produit est ensuite injecté dans le pipeline +/// Documents / Photos existant (identique à une image sélectionnée). +/// +public sealed class AndroidPhotoCapture : IPhotoCapture +{ + public async Task CapturePhotoAsync(CancellationToken cancellationToken = default) + { + cancellationToken.ThrowIfCancellationRequested(); + + Context context = global::Android.App.Application.Context; + + // 1. Permission CAMERA. ACTION_IMAGE_CAPTURE délègue la capture à + // l'application caméra, mais la permission est DÉCLARÉE dans le + // manifest (pour le scanner QR) : il faut donc s'assurer qu'elle est + // accordée au runtime, sinon certains appareils lèvent une + // SecurityException. Réutilise la demande runtime existante. + bool granted = await MainActivity.RequestCameraPermissionAsync(); + if (!granted) + { + throw new PhotoCaptureException( + "Permission caméra refusée. Autorisez l'accès à la caméra pour prendre une photo."); + } + + // 2. Fichier temporaire contrôlé par Omika, créé AVANT l'ouverture de la + // caméra (le chemin est transmis via EXTRA_OUTPUT). + string captureDir = Path.Combine(context.CacheDir!.AbsolutePath, "capture"); + Directory.CreateDirectory(captureDir); + string fileName = $"photo-{DateTime.UtcNow:yyyyMMddHHmmssfff}.jpg"; + string tempPath = Path.Combine(captureDir, fileName); + + // Le fichier doit exister pour que certaines applications caméra + // acceptent d'y écrire via EXTRA_OUTPUT. + using (FileStream _ = File.Create(tempPath)) + { + } + + AndroidUri photoUri = FileProvider.GetUriForFile( + context, + $"{context.PackageName}.fileprovider", + new JavaFile(tempPath))!; + + var intent = new Intent(MediaStore.ActionImageCapture); + intent.PutExtra(MediaStore.ExtraOutput, photoUri); + intent.AddFlags(ActivityFlags.GrantReadUriPermission | ActivityFlags.GrantWriteUriPermission); + intent.ClipData = ClipData.NewRawUri("photo", photoUri); + + try + { + CameraCaptureResult result = await MainActivity.StartCameraCaptureAsync(intent); + if (!result.Succeeded) + { + // Annulation ou échec : aucun document, aucun fichier fantôme. + TryDelete(tempPath); + return null; + } + + if (!File.Exists(tempPath) || new FileInfo(tempPath).Length == 0) + { + // Repli : certaines applications caméra renvoient l'image dans + // Intent.Data au lieu d'écrire dans EXTRA_OUTPUT. + PickedFile? fromData = await ReadFromDataAsync(context, result.Data); + TryDelete(tempPath); + if (fromData is not null) + { + return fromData; + } + + throw new PhotoCaptureException("La photo n'a pas pu être enregistrée."); + } + + return new PickedFile + { + SourcePath = tempPath, + FileName = fileName, + MimeType = "image/jpeg" + }; + } + catch (PhotoCaptureException) + { + throw; + } + catch (Exception ex) + { + TryDelete(tempPath); + throw new PhotoCaptureException("Impossible de prendre la photo.", ex); + } + } + + private static async Task ReadFromDataAsync(Context context, Intent? data) + { + AndroidUri? uri = data?.Data; + if (uri is null) + { + return null; + } + + try + { + ContentResolver resolver = context.ContentResolver!; + using Stream? input = resolver.OpenInputStream(uri); + if (input is null) + { + return null; + } + + string dir = Path.Combine(context.CacheDir!.AbsolutePath, "capture"); + Directory.CreateDirectory(dir); + string fileName = $"photo-{DateTime.UtcNow:yyyyMMddHHmmssfff}.jpg"; + string localPath = Path.Combine(dir, fileName); + + using FileStream output = File.Create(localPath); + await input.CopyToAsync(output); + + return new PickedFile + { + SourcePath = localPath, + FileName = fileName, + MimeType = "image/jpeg" + }; + } + catch + { + // Repli impossible : l'appelant signale l'échec proprement. + return null; + } + } + + private static void TryDelete(string path) + { + try + { + if (File.Exists(path)) + { + File.Delete(path); + } + } + catch + { + // Nettoyage best-effort : un fichier temporaire résiduel dans cacheDir + // est sans effet et peut être purgé par Android. + } + } +} diff --git a/src/Omika.App.Android/AndroidSecureTokenStore.cs b/src/Omika.App.Android/AndroidSecureTokenStore.cs new file mode 100644 index 0000000..c47ee1e --- /dev/null +++ b/src/Omika.App.Android/AndroidSecureTokenStore.cs @@ -0,0 +1,226 @@ +using System; +using System.IO; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using Android.Security.Keystore; +using Java.Security; +using Javax.Crypto; +using Javax.Crypto.Spec; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; + +namespace Omika.App.Android; + +/// +/// Stockage sécurisé du token de session Android via Android Keystore : +/// le token est chiffré en AES-GCM avec une clé générée dans le Keystore +/// matériel/système. +/// +/// Garanties : +/// +/// la clé n'est jamais exportée, jamais écrite dans un fichier, jamais +/// loggée, jamais incluse dans une sauvegarde ; +/// le blob chiffré (session.token.secure) ne contient jamais la clé ; +/// la désinstallation supprime la clé Keystore ET la sandbox → le blob +/// devient illisible/absent → réinstallation = écran QR ; +/// un blob corrompu/altéré retourne (jamais +/// d'exception, jamais de valeur invalide) et est supprimé. +/// +/// +/// Format du blob (versionné) : [version:1][nonceLen:1][nonce][ciphertext+tag]. +/// +public sealed class AndroidSecureTokenStore : ISecureTokenStore +{ + private const string KeyAlias = "com.applilogik.omika.session.v2"; + private const string AndroidKeyStore = "AndroidKeyStore"; + private const string Transformation = "AES/GCM/NoPadding"; + private const int GcmTagLengthBits = 128; + private const byte FormatVersion = 1; + + private readonly string _secureFilePath; + + public AndroidSecureTokenStore() + { + _secureFilePath = Path.Combine(MobileStoragePaths.DataDirectory, "session.token.secure"); + EnsureKey(); + } + + /// + public Task SaveAsync(string token, CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(token); + + // ===== DIAGNOSTIC TEMPORAIRE [TOKEN-DIAG] (à retirer après diagnostic) ===== + Console.WriteLine("[TOKEN-DIAG] SaveAttempt=True"); + Console.WriteLine($"[TOKEN-DIAG] StoreType={GetType().FullName}"); + Console.WriteLine($"[TOKEN-DIAG] StorageKey={KeyAlias}"); + Console.WriteLine($"[TOKEN-DIAG] FilePath={_secureFilePath}"); + // ===== FIN DIAGNOSTIC TEMPORAIRE ===== + + try + { + Directory.CreateDirectory(Path.GetDirectoryName(_secureFilePath)!); + // Encrypt renvoie le ciphertext (return) et sort le nonce (out) : + // l'affectation doit respecter cet ordre, sinon BuildBlob reçoit + // (ciphertext, IV) et blob[1] = longueur du ciphertext (bug IV 167). + byte[] ciphertext = Encrypt(token, out byte[] nonce); + File.WriteAllBytes(_secureFilePath, BuildBlob(nonce, ciphertext)); + Console.WriteLine("[TOKEN-DIAG] SaveSuccess=True"); + } + catch (Exception ex) + { + Console.WriteLine($"[TOKEN-DIAG] SaveSuccess=False ErrorType={ex.GetType().FullName}"); + throw; + } + return Task.CompletedTask; + } + + /// + public Task GetAsync(CancellationToken cancellationToken = default) + { + // ===== DIAGNOSTIC TEMPORAIRE [TOKEN-DIAG] (à retirer après diagnostic) ===== + Console.WriteLine("[TOKEN-DIAG] StartupReadAttempt=True"); + Console.WriteLine($"[TOKEN-DIAG] StartupStoreType={GetType().FullName}"); + Console.WriteLine($"[TOKEN-DIAG] StartupFilePath={_secureFilePath}"); + // ===== FIN DIAGNOSTIC TEMPORAIRE ===== + + if (!File.Exists(_secureFilePath)) + { + Console.WriteLine("[TOKEN-DIAG] StartupTokenPresent=False Reason=FileAbsent"); + return Task.FromResult(null); + } + + try + { + byte[] blob = File.ReadAllBytes(_secureFilePath); + (byte[] nonce, byte[] ciphertext) = ParseBlob(blob); + string token = Decrypt(nonce, ciphertext); + bool present = !string.IsNullOrWhiteSpace(token); + Console.WriteLine($"[TOKEN-DIAG] StartupTokenPresent={present} Length={(token ?? string.Empty).Length}"); + return Task.FromResult(present ? token : null); + } + catch (Exception ex) + { + // Log du TYPE d'erreur (jamais de secret) pour distinguer : + // AEADBadTagException (clé régénérée/altérée), KeyStoreException, + // FormatException (blob corrompu), IOException (fichier). + Console.WriteLine($"[TOKEN-DIAG] StartupTokenPresent=False Reason=Exception ErrorType={ex.GetType().FullName} Msg={ex.Message}"); + // NB diagnostic : le blob n'est PAS supprimé afin de pouvoir réessayer + // la lecture (distinguer une panne transitoire d'une perte définitive). + return Task.FromResult(null); + } + } + + /// + public Task ClearAsync(CancellationToken cancellationToken = default) + { + TryDeleteBlob(); + return Task.CompletedTask; + } + + /// + /// Crée la clé AES-GCM dans le Keystore Android si elle n'existe pas encore. + /// La clé n'est jamais extraite ni persistée hors du Keystore. + /// + private static void EnsureKey() + { + KeyStore keyStore = KeyStore.GetInstance(AndroidKeyStore)!; + keyStore.Load(null); + + if (keyStore.ContainsAlias(KeyAlias)) + { + return; + } + + KeyGenerator keyGenerator = KeyGenerator.GetInstance(KeyProperties.KeyAlgorithmAes, AndroidKeyStore)!; + keyGenerator.Init( + new KeyGenParameterSpec.Builder(KeyAlias, KeyStorePurpose.Encrypt | KeyStorePurpose.Decrypt) + .SetBlockModes(KeyProperties.BlockModeGcm) + .SetEncryptionPaddings(KeyProperties.EncryptionPaddingNone) + // IV explicite de 12 octets fourni par l'appelant (SecureRandom) : + // randomizedEncryptionRequired=true rejetterait cet IV au chiffrement. + .SetRandomizedEncryptionRequired(false) + .Build()); + keyGenerator.GenerateKey(); + } + + private static IKey GetKey() + { + KeyStore keyStore = KeyStore.GetInstance(AndroidKeyStore)!; + keyStore.Load(null); + return keyStore.GetKey(KeyAlias, null) + ?? throw new InvalidOperationException("Clé Keystore Omika introuvable."); + } + + /// + /// Chiffre le token en AES-GCM. Le nonce (IV) de 12 octets est généré + /// explicitement puis passé au chiffreur : sur Android Keystore, se fier à + /// cipher.GetIV() après un Init(EncryptMode, key) sans IV peut + /// produire un IV inexploitable, rendant le déchiffrement impossible + /// (InvalidAlgorithmParameterException au relancement). + /// + private static byte[] Encrypt(string plaintext, out byte[] nonce) + { + using Cipher cipher = Cipher.GetInstance(Transformation)!; + nonce = System.Security.Cryptography.RandomNumberGenerator.GetBytes(12); + var spec = new GCMParameterSpec(GcmTagLengthBits, nonce); + cipher.Init(CipherMode.EncryptMode, GetKey(), spec); + return cipher.DoFinal(Encoding.UTF8.GetBytes(plaintext))!; + } + + /// Déchiffre le token ; lève si l'authentification AES-GCM échoue. + private static string Decrypt(byte[] nonce, byte[] ciphertext) + { + Console.WriteLine($"[TOKEN-DIAG] DecryptNonceLength={nonce.Length}"); + using Cipher cipher = Cipher.GetInstance(Transformation)!; + var spec = new GCMParameterSpec(GcmTagLengthBits, nonce); + cipher.Init(CipherMode.DecryptMode, GetKey(), spec); + return Encoding.UTF8.GetString(cipher.DoFinal(ciphertext)!); + } + + private static byte[] BuildBlob(byte[] nonce, byte[] ciphertext) + { + var blob = new byte[2 + nonce.Length + ciphertext.Length]; + blob[0] = FormatVersion; + blob[1] = (byte)nonce.Length; + Array.Copy(nonce, 0, blob, 2, nonce.Length); + Array.Copy(ciphertext, 0, blob, 2 + nonce.Length, ciphertext.Length); + return blob; + } + + private static (byte[] nonce, byte[] ciphertext) ParseBlob(byte[] blob) + { + if (blob.Length < 3 || blob[0] != FormatVersion) + { + throw new FormatException("Blob de token sécurisé invalide."); + } + + int nonceLength = blob[1]; + if (nonceLength <= 0 || 2 + nonceLength >= blob.Length) + { + throw new FormatException("Blob de token sécurisé invalide."); + } + + var nonce = new byte[nonceLength]; + var ciphertext = new byte[blob.Length - 2 - nonceLength]; + Array.Copy(blob, 2, nonce, 0, nonceLength); + Array.Copy(blob, 2 + nonceLength, ciphertext, 0, ciphertext.Length); + return (nonce, ciphertext); + } + + private void TryDeleteBlob() + { + try + { + if (File.Exists(_secureFilePath)) + { + File.Delete(_secureFilePath); + } + } + catch + { + // Best-effort : l'échec de suppression ne bloque jamais la session. + } + } +} diff --git a/src/Omika.App.Android/Application.cs b/src/Omika.App.Android/Application.cs new file mode 100644 index 0000000..f67b331 --- /dev/null +++ b/src/Omika.App.Android/Application.cs @@ -0,0 +1,84 @@ +using Android.App; +using Android.Runtime; +using Avalonia; +using Avalonia.Android; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Security; + +namespace Omika.App.Android +{ + [Application] + public class Application : AvaloniaAndroidApplication + { + protected Application(nint javaReference, JniHandleOwnership transfer) : base(javaReference, transfer) + { + } + + protected override AppBuilder CustomizeAppBuilder(AppBuilder builder) + { + // Installe le scanner QR natif Android (Camera2 + ZXing) avant + // l'initialisation de l'application. + Omika.App.Services.PlatformQrScanner.Instance = new AndroidEnrollmentQrScanner(); + + // Installe les launchers natifs Android : ACTION_DIAL (tel:) et + // ACTION_SENDTO (mailto:), plus fiables que TopLevel.Launcher. + Omika.App.Services.PlatformLaunchers.Phone = new AndroidPhoneLauncher(); + Omika.App.Services.PlatformLaunchers.Email = new AndroidEmailLauncher(); + + // Launcher carte/itinéraire : ACTION_VIEW geo: (RFC 5870) avec chooser, + // sans dépendance exclusive à Google Maps. + Omika.App.Services.PlatformLaunchers.Map = new AndroidMapLauncher(); + + // Sélecteur de fichier Android : Storage Access Framework (ACTION_OPEN_DOCUMENT) + // + lecture content:// via ContentResolver + copie locale. + Omika.App.Services.PlatformFilePickers.Current = new AndroidFilePicker(); + + // Prise de photo Android : application caméra externe + // (ACTION_IMAGE_CAPTURE) + FileProvider + copie locale. + Omika.App.Services.PlatformPhotoCapture.Current = new AndroidPhotoCapture(); + + // Dictée vocale Android (SpeechRecognizer) : le bouton micro des + // champs texte démarre l'écoute en un seul clic, sans clavier. + Omika.App.Services.PlatformDictation.Current = new AndroidDictationService(); + + // Carnet d'adresses Android (ContactsContract) : proposé en PLUS des + // contacts de l'intervention dans le choix d'un destinataire de + // courriel, toujours sous l'origine « Téléphone ». Autorisation + // READ_CONTACTS demandée au premier usage. + Omika.App.Services.PlatformContactsTelephone.Current = new AndroidContactsTelephoneService(); + + // Ouverture des DOCUMENTS via ACTION_VIEW + FileProvider. Le repli + // partagé (TopLevel.Launcher) est inopérant sur Android (la vue + // unique n'est pas un TopLevel). + Omika.App.Services.PlatformFileLaunchers.Current = new AndroidFileLauncher(); + + // Stockage sécurisé du token de session : Android Keystore (AES-GCM). + // La clé est générée dans le Keystore (jamais exportée/sauvegardée) et + // est supprimée à la désinstallation → réinstallation = écran QR. + var secureTokenStore = new AndroidSecureTokenStore(); + Omika.App.Services.PlatformSecureTokenStores.Current = secureTokenStore; + + // Capture d'appareil Android (fabricant/modèle/OS/écran/version) : le + // snapshot est capturé une fois ici (main thread) puis consommé par + // l'infrastructure Diagnostics ET l'activation de licence. + Omika.App.Services.PlatformDeviceInfo.Current = new AndroidDeviceInfoProvider(); + + // Détection de connectivité réseau fiable (ConnectivityManager) : évite + // les faux positifs « en ligne » du repli portable (NetworkInterface) + // quand Wi-Fi/données mobiles sont coupés (mode avion, hotspot sans + // Internet). La synchronisation affiche alors « Hors ligne » au lieu + // d'une erreur de contact serveur. + Omika.App.Services.PlatformNetworkConnectivity.Current = new AndroidNetworkConnectivity(); + + // Migration idempotente et crash-safe de l'ancien session.token en + // clair (installations existantes) vers le blob chiffré. + new LegacyTokenMigrator(secureTokenStore, MobileStoragePaths.LegacyTokenPath) + .MigrateAsync() + .GetAwaiter() + .GetResult(); + + return base.CustomizeAppBuilder(builder) + .WithInterFont(); + } + } +} diff --git a/src/Omika.App.Android/Icon.png b/src/Omika.App.Android/Icon.png new file mode 100644 index 0000000..3c39845 Binary files /dev/null and b/src/Omika.App.Android/Icon.png differ diff --git a/src/Omika.App.Android/MainActivity.cs b/src/Omika.App.Android/MainActivity.cs new file mode 100644 index 0000000..3e56eee --- /dev/null +++ b/src/Omika.App.Android/MainActivity.cs @@ -0,0 +1,317 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Android.App; +using Android.Content; +using Android.Content.PM; +using Android.Runtime; +using AndroidUri = Android.Net.Uri; +using Android.OS; +using AndroidX.Core.App; +using Avalonia; +using Avalonia.Android; +using Omika.Core.Observability; + +namespace Omika.App.Android; + +/// +/// Résultat d'une capture photo via l'application caméra externe. L'image est +/// normalement écrite dans le fichier local passé via EXTRA_OUTPUT ; +/// est conservé uniquement comme repli (certaines applications caméra renvoient +/// l'image dans Intent.Data). +/// +public readonly record struct CameraCaptureResult(bool Succeeded, Intent? Data); + +[Activity( + Label = "Omika.App.Android", + Theme = "@style/MyTheme.NoActionBar", + Icon = "@drawable/icon", + MainLauncher = true, + ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.ScreenSize | ConfigChanges.UiMode)] +public class MainActivity : AvaloniaMainActivity +{ + private const int CameraPermissionRequestCode = 100; + private const int FilePickerRequestCode = 200; + private const int CameraCaptureRequestCode = 300; + private const int MicrophonePermissionRequestCode = 400; + private const int ContactsPermissionRequestCode = 500; + + /// Instance courante (pour la demande runtime de permission caméra). + public static MainActivity? Instance { get; private set; } + + private static TaskCompletionSource? _cameraPermissionTcs; + private static TaskCompletionSource? _microphonePermissionTcs; + private static TaskCompletionSource? _contactsPermissionTcs; + private static TaskCompletionSource>? _filePickerTcs; + private static TaskCompletionSource? _cameraCaptureTcs; + + protected override void OnCreate(Bundle? savedInstanceState) + { + Instance = this; + base.OnCreate(savedInstanceState); + RegisterExceptionHandlers(); + } + + /// + /// L'activité revient au premier plan : c'est le RETOUR de l'utilisateur dans + /// Omika (ex. après un envoi depuis sa messagerie externe). Signalé au code + /// partagé, qui demande alors si le courriel est parti — Android ne fournit + /// aucun résultat d'envoi pour une application tierce. + /// + protected override void OnResume() + { + base.OnResume(); + Omika.App.Services.PlatformAppLifecycle.NotifyRetourAuPremierPlan(); + } + + /// + /// Capture globale des exceptions non gérées (crash) et des tâches non observées : + /// achemine vers le diagnostic (JSONL → email support + outbox → API). Best-effort : + /// un échec d'enregistrement n'empêche jamais le démarrage. Le crash natif reste + /// non intercepté ( Handled + /// reste false) : on trace, on ne masque pas. + /// + private static void RegisterExceptionHandlers() + { + try + { + AppDomain.CurrentDomain.UnhandledException += (_, args) => + ExceptionTelemetry.Capture( + args.ExceptionObject as Exception ?? new Exception("Exception non gérée sans objet Exception."), + isFatal: true); + + TaskScheduler.UnobservedTaskException += (_, args) => + { + ExceptionTelemetry.Capture(args.Exception, isFatal: false); + // Trace complète (y compris les exceptions imbriquées d'une + // AggregateException) dans logcat : indispensable pour localiser + // l'origine exacte (ex. « CancellationTokenSource has been + // disposed ») que le diagnostic agrégé ne retient pas. + global::Android.Util.Log.Error("OmikaUnobserved", Flatten(args.Exception)); + args.SetObserved(); + }; + + AndroidEnvironment.UnhandledExceptionRaiser += (_, args) => + { + ExceptionTelemetry.Capture(args.Exception, isFatal: true); + args.Handled = false; + }; + } + catch + { + // Best-effort : la capture ne doit jamais faire échouer le démarrage. + } + } + + /// Demande la permission CAMERA au runtime et attend le résultat. + public static Task RequestCameraPermissionAsync() + { + _cameraPermissionTcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + if (Instance is null) + { + _cameraPermissionTcs.TrySetResult(false); + return _cameraPermissionTcs.Task; + } + + if (ActivityCompat.CheckSelfPermission(Instance, global::Android.Manifest.Permission.Camera) == Permission.Granted) + { + _cameraPermissionTcs.TrySetResult(true); + } + else + { + ActivityCompat.RequestPermissions(Instance, [global::Android.Manifest.Permission.Camera], CameraPermissionRequestCode); + } + + return _cameraPermissionTcs.Task; + } + + /// + /// Demande la permission RECORD_AUDIO au runtime et attend le résultat. + /// Nécessaire à la dictée vocale (bouton micro des champs de saisie) : le + /// premier clic sur le micro déclenche cette demande système, les suivants + /// démarrent l'écoute directement. + /// + public static Task RequestMicrophonePermissionAsync() + { + _microphonePermissionTcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + if (Instance is null) + { + _microphonePermissionTcs.TrySetResult(false); + return _microphonePermissionTcs.Task; + } + + if (ActivityCompat.CheckSelfPermission(Instance, global::Android.Manifest.Permission.RecordAudio) == Permission.Granted) + { + _microphonePermissionTcs.TrySetResult(true); + } + else + { + ActivityCompat.RequestPermissions(Instance, [global::Android.Manifest.Permission.RecordAudio], MicrophonePermissionRequestCode); + } + + return _microphonePermissionTcs.Task; + } + + /// + /// Demande la permission READ_CONTACTS au runtime et attend le résultat. + /// Nécessaire pour proposer les contacts du téléphone comme destinataires d'un + /// courriel, en plus des contacts de l'intervention. + /// + public static Task RequestReadContactsPermissionAsync() + { + _contactsPermissionTcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + if (Instance is null) + { + _contactsPermissionTcs.TrySetResult(false); + return _contactsPermissionTcs.Task; + } + + if (ActivityCompat.CheckSelfPermission(Instance, global::Android.Manifest.Permission.ReadContacts) == Permission.Granted) + { + _contactsPermissionTcs.TrySetResult(true); + } + else + { + ActivityCompat.RequestPermissions(Instance, [global::Android.Manifest.Permission.ReadContacts], ContactsPermissionRequestCode); + } + + return _contactsPermissionTcs.Task; + } + + /// + /// Ouvre le sélecteur de fichier Android (SAF) et attend la liste des URI + /// résultat. Une sélection unique arrive dans Intent.Data ; une + /// sélection multiple arrive dans Intent.ClipData (les deux sont + /// fusionnées et dédupliquées). Liste vide si l'utilisateur annule. + /// + public static Task> PickFilesAsync(Intent intent) + { + _filePickerTcs = new TaskCompletionSource>(TaskCreationOptions.RunContinuationsAsynchronously); + if (Instance is null) + { + _filePickerTcs.TrySetResult([]); + return _filePickerTcs.Task; + } + + Instance.StartActivityForResult(intent, FilePickerRequestCode); + return _filePickerTcs.Task; + } + + /// + /// Lance l'application caméra externe (ACTION_IMAGE_CAPTURE) et attend son + /// résultat. est faux si + /// l'utilisateur annule ou si l'application caméra échoue. + /// + public static Task StartCameraCaptureAsync(Intent intent) + { + _cameraCaptureTcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + if (Instance is null) + { + _cameraCaptureTcs.TrySetResult(new CameraCaptureResult(false, null)); + return _cameraCaptureTcs.Task; + } + + Instance.StartActivityForResult(intent, CameraCaptureRequestCode); + return _cameraCaptureTcs.Task; + } + + protected override void OnActivityResult(int requestCode, Result resultCode, Intent? data) + { + base.OnActivityResult(requestCode, resultCode, data); + + if (requestCode == FilePickerRequestCode) + { + IReadOnlyList uris = resultCode == Result.Ok ? ReadUris(data) : []; + _filePickerTcs?.TrySetResult(uris); + _filePickerTcs = null; + } + else if (requestCode == CameraCaptureRequestCode) + { + _cameraCaptureTcs?.TrySetResult(new CameraCaptureResult(resultCode == Result.Ok, data)); + _cameraCaptureTcs = null; + } + } + + /// + /// Aplatit une exception (et ses exceptions imbriquées, notamment celles d'une + /// ) en un texte unique pour logcat. + /// + private static string Flatten(Exception exception) + { + var sb = new System.Text.StringBuilder(); + void Append(Exception ex, int depth) + { + sb.Append(' ', depth * 2).Append(ex.GetType().FullName).Append(": ").AppendLine(ex.Message); + sb.Append(' ', depth * 2).AppendLine(ex.StackTrace); + if (ex is AggregateException aggregate) + { + foreach (Exception inner in aggregate.InnerExceptions) + { + Append(inner, depth + 1); + } + } + else if (ex.InnerException is not null) + { + Append(ex.InnerException, depth + 1); + } + } + + Append(exception, 0); + return sb.ToString(); + } + + private static IReadOnlyList ReadUris(Intent? data) + { + if (data is null) + { + return []; + } + + var uris = new List(); + + // 1. Sélection unique : Android la renvoie dans Intent.Data. + if (data.Data is { } single) + { + uris.Add(single); + } + + // 2. Sélection multiple : Android la renvoie dans Intent.ClipData. + if (data.ClipData is { } clipData) + { + for (int i = 0; i < clipData.ItemCount; i++) + { + AndroidUri? uri = clipData.GetItemAt(i)?.Uri; + if (uri is not null && !uris.Contains(uri)) + { + uris.Add(uri); + } + } + } + + return uris; + } + + public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults) + { + base.OnRequestPermissionsResult(requestCode, permissions, grantResults); + + if (requestCode == CameraPermissionRequestCode) + { + bool granted = grantResults.Length > 0 && grantResults[0] == Permission.Granted; + _cameraPermissionTcs?.TrySetResult(granted); + _cameraPermissionTcs = null; + } + else if (requestCode == MicrophonePermissionRequestCode) + { + bool granted = grantResults.Length > 0 && grantResults[0] == Permission.Granted; + _microphonePermissionTcs?.TrySetResult(granted); + _microphonePermissionTcs = null; + } + else if (requestCode == ContactsPermissionRequestCode) + { + bool granted = grantResults.Length > 0 && grantResults[0] == Permission.Granted; + _contactsPermissionTcs?.TrySetResult(granted); + _contactsPermissionTcs = null; + } + } +} diff --git a/src/Omika.App.Android/Omika.App.Android.csproj b/src/Omika.App.Android/Omika.App.Android.csproj new file mode 100644 index 0000000..53d3088 --- /dev/null +++ b/src/Omika.App.Android/Omika.App.Android.csproj @@ -0,0 +1,36 @@ + + + Exe + net10.0-android + 23 + enable + com.applilogik.omika.app + + $(OmikaBuild) + $(OmikaVersion) + apk + false + + + + + Resources\drawable\Icon.png + + + + + + + + + + + + + + + true + + + diff --git a/src/Omika.App.Android/Properties/AndroidManifest.xml b/src/Omika.App.Android/Properties/AndroidManifest.xml new file mode 100644 index 0000000..1e34aa4 --- /dev/null +++ b/src/Omika.App.Android/Properties/AndroidManifest.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Omika.App.Android/Resources/AboutResources.txt b/src/Omika.App.Android/Resources/AboutResources.txt new file mode 100644 index 0000000..c2bca97 --- /dev/null +++ b/src/Omika.App.Android/Resources/AboutResources.txt @@ -0,0 +1,44 @@ +Images, layout descriptions, binary blobs and string dictionaries can be included +in your application as resource files. Various Android APIs are designed to +operate on the resource IDs instead of dealing with images, strings or binary blobs +directly. + +For example, a sample Android app that contains a user interface layout (main.axml), +an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) +would keep its resources in the "Resources" directory of the application: + +Resources/ + drawable/ + icon.png + + layout/ + main.axml + + values/ + strings.xml + +In order to get the build system to recognize Android resources, set the build action to +"AndroidResource". The native Android APIs do not operate directly with filenames, but +instead operate on resource IDs. When you compile an Android application that uses resources, +the build system will package the resources for distribution and generate a class called "R" +(this is an Android convention) that contains the tokens for each one of the resources +included. For example, for the above Resources layout, this is what the R class would expose: + +public class R { + public class drawable { + public const int icon = 0x123; + } + + public class layout { + public const int main = 0x456; + } + + public class strings { + public const int first_string = 0xabc; + public const int second_string = 0xbcd; + } +} + +You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main +to reference the layout/main.axml file, or R.strings.first_string to reference the first +string in the dictionary file values/strings.xml. \ No newline at end of file diff --git a/src/Omika.App.Android/Resources/drawable-night-v31/avalonia_anim.xml b/src/Omika.App.Android/Resources/drawable-night-v31/avalonia_anim.xml new file mode 100644 index 0000000..dde4b5a --- /dev/null +++ b/src/Omika.App.Android/Resources/drawable-night-v31/avalonia_anim.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Omika.App.Android/Resources/drawable-v31/avalonia_anim.xml b/src/Omika.App.Android/Resources/drawable-v31/avalonia_anim.xml new file mode 100644 index 0000000..94f27d9 --- /dev/null +++ b/src/Omika.App.Android/Resources/drawable-v31/avalonia_anim.xml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Omika.App.Android/Resources/drawable/splash_screen.xml b/src/Omika.App.Android/Resources/drawable/splash_screen.xml new file mode 100644 index 0000000..2e920b4 --- /dev/null +++ b/src/Omika.App.Android/Resources/drawable/splash_screen.xml @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/src/Omika.App.Android/Resources/values-night/colors.xml b/src/Omika.App.Android/Resources/values-night/colors.xml new file mode 100644 index 0000000..3d47b6f --- /dev/null +++ b/src/Omika.App.Android/Resources/values-night/colors.xml @@ -0,0 +1,4 @@ + + + #212121 + diff --git a/src/Omika.App.Android/Resources/values-v31/styles.xml b/src/Omika.App.Android/Resources/values-v31/styles.xml new file mode 100644 index 0000000..d5ecec4 --- /dev/null +++ b/src/Omika.App.Android/Resources/values-v31/styles.xml @@ -0,0 +1,21 @@ + + + + + + + + diff --git a/src/Omika.App.Android/Resources/values/colors.xml b/src/Omika.App.Android/Resources/values/colors.xml new file mode 100644 index 0000000..59279d5 --- /dev/null +++ b/src/Omika.App.Android/Resources/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/src/Omika.App.Android/Resources/values/styles.xml b/src/Omika.App.Android/Resources/values/styles.xml new file mode 100644 index 0000000..6e534de --- /dev/null +++ b/src/Omika.App.Android/Resources/values/styles.xml @@ -0,0 +1,12 @@ + + + + + + + diff --git a/src/Omika.App.Android/Resources/xml/data_extraction_rules.xml b/src/Omika.App.Android/Resources/xml/data_extraction_rules.xml new file mode 100644 index 0000000..5c05b3c --- /dev/null +++ b/src/Omika.App.Android/Resources/xml/data_extraction_rules.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/Omika.App.Android/Resources/xml/file_paths.xml b/src/Omika.App.Android/Resources/xml/file_paths.xml new file mode 100644 index 0000000..c900957 --- /dev/null +++ b/src/Omika.App.Android/Resources/xml/file_paths.xml @@ -0,0 +1,12 @@ + + + + + + + + + diff --git a/src/Omika.App.Android/Resources/xml/network_security_config.xml b/src/Omika.App.Android/Resources/xml/network_security_config.xml new file mode 100644 index 0000000..dd22024 --- /dev/null +++ b/src/Omika.App.Android/Resources/xml/network_security_config.xml @@ -0,0 +1,16 @@ + + + + + + localhost + 127.0.0.1 + 10.0.2.2 + + diff --git a/src/Omika.App.Desktop/Omika.App.Desktop.csproj b/src/Omika.App.Desktop/Omika.App.Desktop.csproj new file mode 100644 index 0000000..5e449dd --- /dev/null +++ b/src/Omika.App.Desktop/Omika.App.Desktop.csproj @@ -0,0 +1,21 @@ + + + WinExe + + net10.0 + enable + + + + app.manifest + + + + + + + + + + diff --git a/src/Omika.App.Desktop/Program.cs b/src/Omika.App.Desktop/Program.cs new file mode 100644 index 0000000..4963932 --- /dev/null +++ b/src/Omika.App.Desktop/Program.cs @@ -0,0 +1,56 @@ +using System; +using System.IO; +using System.Threading.Tasks; +using Avalonia; +using Omika.Core.Observability; + +namespace Omika.App.Desktop; + +sealed class Program +{ + // Initialization code. Don't use any Avalonia, third-party APIs or any + // SynchronizationContext-reliant code before AppMain is called: things aren't initialized + // yet and stuff might break. + [STAThread] + public static void Main(string[] args) + { + AppDomain.CurrentDomain.UnhandledException += OnUnhandledException; + TaskScheduler.UnobservedTaskException += (_, args) => + { + ExceptionTelemetry.Capture(args.Exception, isFatal: false); + args.SetObserved(); + }; + BuildAvaloniaApp().StartWithClassicDesktopLifetime(args); + } + + /// Journalise les exceptions non gérées pour faciliter le diagnostic. + private static void OnUnhandledException(object sender, UnhandledExceptionEventArgs e) + { + try + { + string directory = Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), + "Omika"); + Directory.CreateDirectory(directory); + File.WriteAllText( + Path.Combine(directory, "crash.log"), + $"[{DateTime.Now:yyyy-MM-dd HH:mm:ss}] {e.ExceptionObject}"); + } + catch + { + // Le journal de crash ne doit jamais faire planter l'application. + } + + // Achemine aussi vers le diagnostic (JSONL → email support + outbox → API). + ExceptionTelemetry.Capture( + e.ExceptionObject as Exception ?? new Exception("Exception non gérée sans objet Exception."), + isFatal: true); + } + + // Avalonia configuration, don't remove; also used by visual designer. + public static AppBuilder BuildAvaloniaApp() + => AppBuilder.Configure() + .UsePlatformDetect() + .WithInterFont() + .LogToTrace(); +} diff --git a/src/Omika.App.Desktop/app.manifest b/src/Omika.App.Desktop/app.manifest new file mode 100644 index 0000000..590493f --- /dev/null +++ b/src/Omika.App.Desktop/app.manifest @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + diff --git a/src/Omika.App.Desktop/development-license.json b/src/Omika.App.Desktop/development-license.json new file mode 100644 index 0000000..805998f --- /dev/null +++ b/src/Omika.App.Desktop/development-license.json @@ -0,0 +1,7 @@ +{ + "Enabled": true, + "ClientCode": "LOCAL-DEV", + "UserDisplayName": "Alexandre SALVADOR (ASA)", + "ExpirationDays": 365, + "ApiUrl": "http://localhost:5097" +} diff --git a/src/Omika.App.Local/Abstractions/AddPhotosResult.cs b/src/Omika.App.Local/Abstractions/AddPhotosResult.cs new file mode 100644 index 0000000..55304e8 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/AddPhotosResult.cs @@ -0,0 +1,24 @@ +using System.Collections.Generic; +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Résultat de l'ajout d'un lot de photos (sélection multiple). Distingue les +/// photos effectivement créées des échecs, afin que l'interface puisse afficher +/// un message cohérent sans supprimer les succès. +/// +public sealed class AddPhotosResult +{ + /// Photos effectivement créées (metadata locale + cache + Outbox). + public IReadOnlyList Added { get; init; } = []; + + /// Nombre de photos du lot qui n'ont PAS pu être créées. + public int FailedCount { get; init; } + + /// Nombre total de fichiers du lot (succès + échecs). + public int TotalCount => Added.Count + FailedCount; + + /// Vrai si l'utilisateur a annulé la sélection (aucun fichier). + public bool Cancelled => TotalCount == 0; +} diff --git a/src/Omika.App.Local/Abstractions/IAgendaService.cs b/src/Omika.App.Local/Abstractions/IAgendaService.cs new file mode 100644 index 0000000..bb62421 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IAgendaService.cs @@ -0,0 +1,98 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Service de lecture de l'Agenda depuis les données locales SQLite. +/// Ne déclenche aucun appel API : les données proviennent exclusivement du +/// dernier snapshot local (tables métier). +/// +public interface IAgendaService +{ + /// + /// Retourne les rendez-vous d'une journée donnée, triés chronologiquement. + /// Les rendez-vous sont enrichis avec les informations Client/Site/Intervention + /// disponibles localement. Les relations optionnelles absentes ne provoquent + /// pas d'erreur. + /// + /// Journée ciblée (la partie heure est ignorée). + /// Jeton d'annulation. + Task> GetRendezVousForDayAsync( + DateTime date, + CancellationToken cancellationToken = default); + + /// + /// Retourne les rendez-vous dont la date de début appartient à la plage + /// [, [, + /// triés chronologiquement. Une seule lecture SQLite est effectuée pour la + /// plage entière (aucune requête par jour). + /// + /// Borne de début incluse (début de journée). + /// Borne de fin exclue (début du jour suivant). + /// Jeton d'annulation. + Task> GetRendezVousForRangeAsync( + DateTime startInclusive, + DateTime endExclusive, + CancellationToken cancellationToken = default); + + /// + /// Retourne un rendez-vous par son identité publique locale, enrichi avec + /// les informations Client/Site/Intervention disponibles localement. + /// Retourne null si le rendez-vous est introuvable. + /// + /// Identité publique du rendez-vous. + /// Jeton d'annulation. + /// + /// Identité de l'affectation (RDV_Collaborateur) à présenter : sur un + /// rendez-vous de groupe, c'est elle qui porte le créneau et le collaborateur + /// réellement ouverts. null → enveloppe du rendez-vous. + /// + Task GetRendezVousByIdAsync( + Guid rendezVousGuid, + CancellationToken cancellationToken = default, + string? affectationId = null); + + /// + /// Enrichit un élément d'agenda avec les informations d'accès du site lié + /// (code d'accès, badge, interphone, note), récupérées À LA DEMANDE via l'API. + /// Ces champs ne sont pas dénormalisés dans le DTO RendezVous. Échec toléré + /// (offline) : les valeurs locales sont conservées. + /// + Task EnrichSiteAccessAsync( + AgendaItem item, + CancellationToken cancellationToken = default); + + /// + /// Retourne les rendez-vous d'un ou plusieurs collaborateurs (identités + /// publiques) dont la date de début d'affectation appartient à la plage + /// [, [, + /// triés chronologiquement. Lecture À LA DEMANDE via l'API : le snapshot + /// local ne porte que les rendez-vous du collaborateur authentifié. + /// + /// Collaborateurs ciblés (équipe ou individu). + /// Borne de début incluse. + /// Borne de fin exclue. + /// Jeton d'annulation. + Task> GetRendezVousForCollaborateursAsync( + IReadOnlyList collaborateurGuids, + DateTime startInclusive, + DateTime endExclusive, + CancellationToken cancellationToken = default); + + /// + /// Retourne les rendez-vous du collaborateur authentifié dont la date de début + /// d'affectation appartient à la plage donnée, triés chronologiquement. Lecture + /// À LA DEMANDE via l'API (agenda personnel) : contrairement à l'agenda + /// d'équipe, le serveur applique le filtre métier « Envoi_mobile » (les types + /// de RDV non envoyés au mobile, ex. « CP », sont exclus). + /// + /// Identité publique du collaborateur connecté. + /// Borne de début incluse. + /// Borne de fin exclue. + /// Jeton d'annulation. + Task> GetRendezVousForCollaborateurAsync( + Guid collaborateurGuid, + DateTime startInclusive, + DateTime endExclusive, + CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IAppRetourService.cs b/src/Omika.App.Local/Abstractions/IAppRetourService.cs new file mode 100644 index 0000000..bd12117 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IAppRetourService.cs @@ -0,0 +1,36 @@ +using System; +using System.Threading; +using System.Threading.Tasks; + +namespace Omika.App.Local.Abstractions; + +/// +/// Observation du RETOUR de l'application au premier plan. +/// +/// Cas d'usage : une messagerie externe a été ouverte pour composer un courriel. +/// Aucune plateforme ne dit à l'application si le message est parti ; la seule +/// information disponible est le RETOUR de l'utilisateur dans Omika. On arme donc +/// l'attente AVANT d'ouvrir la messagerie, puis on interroge l'utilisateur. +/// +public interface IAppRetourService +{ + /// + /// Arme l'attente du PROCHAIN retour au premier plan. À appeler impérativement + /// AVANT d'ouvrir l'application externe (sinon le retour peut survenir avant + /// l'armement et être manqué). + /// + IAppRetourAttente Armer(); +} + +/// +/// Attente armée du retour au premier plan. +/// +public interface IAppRetourAttente : IDisposable +{ + /// + /// Attend le retour au premier plan. Lève + /// si est annulé (page quittée) : dans ce + /// cas aucun enregistrement n'a lieu. + /// + Task AttendreAsync(CancellationToken cancellationToken); +} diff --git a/src/Omika.App.Local/Abstractions/IBackgroundSyncService.cs b/src/Omika.App.Local/Abstractions/IBackgroundSyncService.cs new file mode 100644 index 0000000..983769d --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IBackgroundSyncService.cs @@ -0,0 +1,53 @@ +namespace Omika.App.Local.Abstractions; + +/// +/// Surveillance de fond de la file Outbox : elle vérifie périodiquement (et à +/// chaque écriture locale) s'il reste des données à envoyer ET si le réseau est +/// disponible, puis déclenche automatiquement leur envoi. +/// +/// +/// Portée volontairement limitée à l'envoi des données : elle ne réalise +/// jamais de synchronisation globale (aucun snapshot serveur, aucun +/// rafraîchissement de données, aucune modification de l'écran en cours). +/// La synchronisation globale reste déclenchée par le lancement de +/// l'application, le bouton « Synchroniser » et l'ouverture de chaque fiche. +/// +/// +/// Principe offline-first conservé : toute saisie utilisateur est d'abord écrite +/// en local (SQLite + Outbox), puis envoyée dès que possible sans action de +/// l'utilisateur. L'envoi manuel reste disponible et visible : il est +/// indépendant de cette surveillance. +/// +public interface IBackgroundSyncService +{ + /// + /// Démarre la surveillance (idempotent : un second appel sans + /// intermédiaire est ignoré). + /// + /// + /// Lecture du nombre d'opérations locales en attente d'envoi (lecture locale + /// SQLite, jamais réseau). Un résultat ≤ 0 signifie qu'il n'y a rien à faire. + /// + /// + /// Envoi des données en attente (partie « envoi » du moteur, appelée sur le + /// thread d'interface par l'appelant). Ne doit contenir aucune + /// synchronisation globale : l'écran en cours ne doit pas être modifié. + /// Toute exception est absorbée : la surveillance ne s'arrête jamais sur une + /// erreur d'envoi. + /// + /// Annulation globale (arrêt de l'application). + void Start( + Func> pendingCountProvider, + Func sendPendingOperations, + CancellationToken cancellationToken = default); + + /// + /// Demande une évaluation immédiate : appelé après chaque écriture locale + /// (mutation Outbox) pour que l'envoi ait lieu sans attendre le prochain + /// passage périodique. Sans effet si la surveillance n'est pas démarrée. + /// + void RequestSync(); + + /// Arrête la surveillance (best-effort borné, jamais bloquant). + Task StopAsync(); +} diff --git a/src/Omika.App.Local/Abstractions/IClientLocalService.cs b/src/Omika.App.Local/Abstractions/IClientLocalService.cs new file mode 100644 index 0000000..0240e30 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IClientLocalService.cs @@ -0,0 +1,95 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Service de lecture des clients depuis les données locales SQLite (dernier +/// snapshot). Ne déclenche aucun appel API : les données proviennent +/// exclusivement des tables métier locales. Lecture seule : aucune écriture ni +/// Outbox n'est créée pour les clients. +/// +public interface IClientLocalService +{ + /// + /// Retourne la liste des clients réellement présents dans SQLite, triés de + /// façon déterministe (nom puis code). Les payloads locaux invalides sont + /// ignorés proprement. + /// + /// Jeton d'annulation. + Task> GetClientsAsync(CancellationToken cancellationToken = default); + + /// + /// Recherche de clients À LA DEMANDE côté serveur (filtres nom, code, type, + /// statut, coordonnées, ville, code postal). Ne dépend pas du snapshot local + /// (limité) : interroge l'ensemble du référentiel, non archivé uniquement. + /// + Task> SearchClientsAsync( + string? nom, + string? code, + string? telephone, + string? email, + string? ville, + string? codePostal, + string? type, + string? statut, + CancellationToken cancellationToken = default) + => throw new NotSupportedException(); + + /// + /// Retourne les résultats de la dernière recherche de clients (persistés + /// localement). Vide si aucune recherche n'a encore été effectuée. + /// + Task> GetLastSearchAsync(CancellationToken cancellationToken = default) + => throw new NotSupportedException(); + + /// Efface la dernière recherche de clients (préférence locale). + Task ClearLastSearchAsync(CancellationToken cancellationToken = default) + => throw new NotSupportedException(); + + /// Retourne les clients épinglés (fiches complètes persistées localement). + Task> GetPinnedAsync(CancellationToken cancellationToken = default) + => throw new NotSupportedException(); + + /// Définit l'état d'épinglage d'un client (préférence locale, aucune API). + Task SetPinnedAsync(Guid clientId, bool isPinned, ClientListItem? item, CancellationToken cancellationToken = default) + => throw new NotSupportedException(); + + /// + /// Retourne le détail d'un client par son identité publique locale, enrichi + /// avec les relations réellement démontrables : Sites et Contacts embarqués + /// dans le DTO Client, Dossiers et Interventions liés par identité publique + /// Client. Retourne null si le client est introuvable. Les relations + /// optionnelles absentes ne provoquent pas d'erreur. + /// + /// Identité publique du client. + /// Jeton d'annulation. + Task GetClientByIdAsync( + Guid clientGuid, + CancellationToken cancellationToken = default); + + /// + /// Retourne uniquement les informations de base d'un client (nom, code, + /// coordonnées, adresse) SANS les contacts ni les autres collections. + /// Utilisé par la fiche dossier : les contacts ne doivent JAMAIS être + /// synchronisés lors de la recherche ou de l'ouverture d'un dossier. + /// L'implémentation réelle ne persiste pas le client complet dans SQLite. + /// + Task GetClientBasicInfoAsync( + Guid clientGuid, + CancellationToken cancellationToken = default) + => GetClientByIdAsync(clientGuid, cancellationToken); + + Task RefreshClientInterventionsAsync( + Guid clientGuid, + CancellationToken cancellationToken = default) + => Task.FromResult(null); + + /// + /// Récupère À LA DEMANDE les dossiers liés à un client (résumé serveur, non + /// archivés). Utilisé car le snapshot ne charge plus les dossiers en bloc. + /// + Task> RefreshClientDossiersAsync( + Guid clientGuid, + CancellationToken cancellationToken = default) + => throw new NotSupportedException(); +} diff --git a/src/Omika.App.Local/Abstractions/IClientLocalStateRepository.cs b/src/Omika.App.Local/Abstractions/IClientLocalStateRepository.cs new file mode 100644 index 0000000..3dcb517 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IClientLocalStateRepository.cs @@ -0,0 +1,30 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Préférence locale d'épinglage des clients (table technique +/// ClientLocalState) et de la dernière recherche (ClientLastSearch). +/// Indépendante du snapshot métier : aucune écriture HFSQL, aucun Outbox, aucune +/// API. Survit à la navigation, au redémarrage et à SyncNow. +/// +public interface IClientLocalStateRepository +{ + /// Retourne les identités des clients épinglés. + Task> GetPinnedIdsAsync(CancellationToken cancellationToken = default); + + /// Retourne les fiches (modèle liste) des clients épinglés. + Task> GetPinnedItemsAsync(CancellationToken cancellationToken = default); + + /// Définit l'état d'épinglage d'un client (idempotent). + Task SetPinnedAsync(Guid clientId, bool isPinned, string payloadJson, CancellationToken cancellationToken = default); + + /// Sauvegarde le JSON des résultats de la dernière recherche de clients. + Task SaveLastSearchAsync(string payloadJson, CancellationToken cancellationToken = default); + + /// Retourne le JSON de la dernière recherche, ou null si aucune. + Task GetLastSearchJsonAsync(CancellationToken cancellationToken = default); + + /// Efface la dernière recherche de clients. + Task ClearLastSearchAsync(CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/ICollaborateurLocalService.cs b/src/Omika.App.Local/Abstractions/ICollaborateurLocalService.cs new file mode 100644 index 0000000..7e62ab2 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/ICollaborateurLocalService.cs @@ -0,0 +1,56 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Service de lecture des collaborateurs depuis les données locales SQLite +/// (dernier snapshot). Ne déclenche aucun appel API : les données proviennent +/// exclusivement des tables métier locales. Lecture seule : aucune écriture ni +/// Outbox n'est créée pour les collaborateurs. +/// +public interface ICollaborateurLocalService +{ + /// + /// Retourne la liste des collaborateurs réellement présents dans SQLite, + /// triés de façon déterministe (nom affiché puis code). Les payloads locaux + /// invalides sont ignorés proprement. + /// + /// Jeton d'annulation. + Task> GetCollaborateursAsync(CancellationToken cancellationToken = default); + + /// + /// Retourne le détail d'un collaborateur par son identité publique locale, + /// enrichi avec les relations réellement démontrables : RendezVous liés par + /// RendezVousDetailsDto.Collaborateurs et Interventions liées par + /// InterventionDetailsDto.CollaborateurIds. Retourne null si le + /// collaborateur est introuvable. Les relations optionnelles absentes ne + /// provoquent pas d'erreur. + /// + /// Identité publique du collaborateur. + /// Jeton d'annulation. + Task GetCollaborateurByIdAsync( + Guid collaborateurGuid, + CancellationToken cancellationToken = default); + + Task RefreshCollaborateurInterventionsAsync( + Guid collaborateurGuid, + CancellationToken cancellationToken = default) + => Task.FromResult(null); + + /// + /// Attribue une licence mobile libre au collaborateur. Retourne la licence + /// attribuée, ou si impossible. + /// + Task AssignMobileLicenceAsync( + Guid collaborateurGuid, + CancellationToken cancellationToken = default) + => Task.FromResult(null); + + /// + /// Libère la licence mobile du collaborateur. + /// + Task ReleaseMobileLicenceAsync( + Guid collaborateurGuid, + CancellationToken cancellationToken = default) + => Task.FromResult(false); +} diff --git a/src/Omika.App.Local/Abstractions/ICompteRenduLocalRepository.cs b/src/Omika.App.Local/Abstractions/ICompteRenduLocalRepository.cs new file mode 100644 index 0000000..c8dfdeb --- /dev/null +++ b/src/Omika.App.Local/Abstractions/ICompteRenduLocalRepository.cs @@ -0,0 +1,19 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Accès aux comptes rendus locaux (table technique CompteRendu). +/// Aucun appel API. +/// +public interface ICompteRenduLocalRepository +{ + /// Insère ou remplace le compte rendu d'un rendez-vous. + Task UpsertAsync(LocalCompteRendu compteRendu, CancellationToken cancellationToken = default); + + /// + /// Retourne le compte rendu local d'un rendez-vous, ou + /// s'il est absent. + /// + Task GetByRendezVousAsync(Guid rendezVousId, CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/ICompteRenduScopeService.cs b/src/Omika.App.Local/Abstractions/ICompteRenduScopeService.cs new file mode 100644 index 0000000..af88de9 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/ICompteRenduScopeService.cs @@ -0,0 +1,54 @@ +using Omika.App.Local.Models; +using Omika.Core.Contracts.Interventions; + +namespace Omika.App.Local.Abstractions; + +/// +/// Service métier centralisé du périmètre « compte rendu » d'un rendez-vous. +/// +/// Toutes les fonctionnalités liées au compte rendu (recherche, existence, +/// validation, autorisation de création) passent par ce service afin de partager +/// exactement la même règle entre le détail du rendez-vous et le formulaire de +/// création — jamais de logique dupliquée dans les ViewModels. +/// +/// Le périmètre () est résolu côté serveur : pour +/// un rendez-vous groupé, GET /rendez-vous/{id}/compte-rendu retourne le +/// compte rendu partagé du groupe/journée, quel que soit le collaborateur. +/// +public interface ICompteRenduScopeService +{ + /// + /// Résout le périmètre métier du compte rendu pour ce rendez-vous. + /// + CompteRenduScope ResolveScope(AgendaItem rendezVous); + + /// + /// Retourne le compte rendu du périmètre (individuel ou groupe/journée), + /// ou s'il n'existe pas encore. + /// + Task GetCompteRenduAsync( + AgendaItem rendezVous, + CancellationToken cancellationToken = default); + + /// Indique si un compte rendu existe déjà dans le périmètre. + Task CompteRenduExistsAsync( + AgendaItem rendezVous, + CancellationToken cancellationToken = default); + + /// + /// Indique si un compte rendu validé existe dans le périmètre. Sans statut de + /// validation explicite, l'existence du compte rendu vaut validation. + /// + Task CompteRenduIsValidatedAsync( + AgendaItem rendezVous, + CancellationToken cancellationToken = default); + + /// + /// Indique si la création d'un nouveau compte rendu est autorisée : aucune + /// création si un compte rendu existe déjà dans le périmètre (anti-doublon, + /// y compris pour un rendez-vous groupé partagé). + /// + Task CanCreateCompteRenduAsync( + AgendaItem rendezVous, + CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IContactsTelephoneService.cs b/src/Omika.App.Local/Abstractions/IContactsTelephoneService.cs new file mode 100644 index 0000000..42bcd1c --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IContactsTelephoneService.cs @@ -0,0 +1,34 @@ +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Lecture du carnet d'adresses du TÉLÉPHONE (contacts personnels de +/// l'utilisateur). Sert uniquement à proposer des destinataires de courriel en +/// plus des contacts de l'intervention, et toujours sous une origine distincte. +/// +/// Aucune donnée du carnet n'est envoyée ni stockée par Omika : la lecture est +/// faite à la demande, en mémoire, pour remplir la liste de choix. +/// +/// Implémentations : Android (ContactsContract, autorisation +/// READ_CONTACTS), iOS (CNContactStore, autorisation Contacts), aucune +/// sur les plateformes sans carnet (bureau) — le seam reste alors +/// et la liste ne contient que les contacts de +/// l'intervention. +/// +public interface IContactsTelephoneService +{ + /// + /// Retourne les contacts du téléphone possédant une adresse email, triés par + /// nom affiché. Un refus d'autorisation, un carnet vide ou une erreur de + /// lecture produit une liste vide : la composition du courriel n'échoue + /// jamais à cause de cette source optionnelle. + /// + /// Annulation de la lecture. + /// Contacts du carnet portant une adresse email (jamais ). + Task> GetContactsAvecEmailAsync( + CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IContextInterventionCacheRepository.cs b/src/Omika.App.Local/Abstractions/IContextInterventionCacheRepository.cs new file mode 100644 index 0000000..8fef670 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IContextInterventionCacheRepository.cs @@ -0,0 +1,30 @@ +using Omika.Core.Contracts.Interventions; + +namespace Omika.App.Local.Abstractions; + +/// +/// Cache technique des interventions chargees a l'ouverture d'un contexte +/// metier (Client, Site, Collaborateur). Distinct de InterventionCache : +/// aucune modification de IsInLastSearch ni de IsPinned. +/// +public interface IContextInterventionCacheRepository +{ + Task GetByContextAsync( + string contextType, + Guid contextId, + CancellationToken cancellationToken = default); + + Task GetByInterventionIdAsync( + Guid interventionId, + CancellationToken cancellationToken = default); + + Task ReplaceAsync( + string contextType, + Guid contextId, + IReadOnlyList interventions, + CancellationToken cancellationToken = default); +} + +public sealed record ContextInterventionCacheResult( + bool HasCache, + IReadOnlyList Interventions); diff --git a/src/Omika.App.Local/Abstractions/IDevelopmentLicenseProvider.cs b/src/Omika.App.Local/Abstractions/IDevelopmentLicenseProvider.cs new file mode 100644 index 0000000..c1b837c --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IDevelopmentLicenseProvider.cs @@ -0,0 +1,28 @@ +using System.Threading; +using System.Threading.Tasks; +using Omika.Core.Contracts.Mobile.License; + +namespace Omika.App.Local.Abstractions; + +/// +/// Fournisseur de licence de développement locale (MICRO-LOT). +/// +/// En environnement Development/Debug uniquement, permet d'obtenir une licence +/// locale valide SANS appeler le serveur de licence, afin de tester l'application +/// (navigation, SQLite locale, snapshot, offline-first, etc.). +/// +/// RÈGLE DE SÉCURITÉ ABSOLUE : +/// Le bypass est exclusivement compilé sous #if DEBUG. En Release/ +/// Production, l'implémentation retourne toujours et +/// aucune licence locale ne peut être acceptée. La vraie validation de licence +/// production n'est jamais supprimée ni affaiblie. +/// +public interface IDevelopmentLicenseProvider +{ + /// + /// Retourne une licence de développement locale valide si le mode dev est + /// activé, ou sinon (comportement normal). + /// En Release/Production, retourne toujours . + /// + Task TryGetDevelopmentLicenseAsync(CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IDeviceIdProvider.cs b/src/Omika.App.Local/Abstractions/IDeviceIdProvider.cs new file mode 100644 index 0000000..a4eb03f --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IDeviceIdProvider.cs @@ -0,0 +1,17 @@ +using System.Threading; +using System.Threading.Tasks; + +namespace Omika.App.Local.Abstractions; + +/// +/// Fournit un identifiant unique et stable du téléphone, utilisé pour +/// l'activation et la validation de la licence. Ne contient aucune donnée +/// personnelle. L'implémentation plateforme génère et persiste un GUID stable. +/// +public interface IDeviceIdProvider +{ + /// + /// Retourne l'identifiant unique du téléphone (stable entre les lancements). + /// + Task GetDeviceIdAsync(CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IDictationService.cs b/src/Omika.App.Local/Abstractions/IDictationService.cs new file mode 100644 index 0000000..f9d927e --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IDictationService.cs @@ -0,0 +1,133 @@ +using System; +using System.Threading; +using System.Threading.Tasks; + +namespace Omika.App.Local.Abstractions; + +/// +/// Abstraction plateforme de dictée vocale : l'utilisateur tape UNE fois sur le +/// bouton micro d'un champ texte et dicte ; le texte reconnu est écrit dans le +/// champ, sans ouvrir le clavier virtuel du téléphone. +/// +/// Avalonia n'offre AUCUNE API de dictée : la reconnaissance vient +/// obligatoirement du système (SpeechRecognizer sur Android, SFSpeechRecognizer +/// sur iOS). Comme pour et , +/// chaque tête installe SON implémentation et le code partagé n'en sait rien. +/// Sur Desktop (Windows), aucune implémentation n'est installée : +/// vaut et le bouton micro +/// n'est pas affiché. +/// +public interface IDictationService +{ + /// + /// Vrai si un moteur de dictée est réellement utilisable sur cet appareil + /// (service de reconnaissance présent, langue disponible). Faux sur Desktop. + /// + bool IsAvailable { get; } + + /// + /// Demande l'autorisation micro si nécessaire puis démarre une écoute dans + /// la langue demandée. + /// + /// + /// Code ISO court de la langue dictée (fr, es…), ou + /// pour la langue de référence de l'application (le + /// français). La conversion vers la culture BCP-47 attendue par le moteur + /// natif est faite par + /// : un code + /// inconnu ne doit jamais produire un démarrage sans langue. + /// + /// Annulation de la demande d'autorisation. + /// + /// La session d'écoute, ou si l'écoute n'a pas pu + /// démarrer (autorisation micro refusée, moteur indisponible, langue non + /// installée sur l'appareil, erreur d'initialisation). Aucune exception + /// n'est levée : l'appelant affiche un message et la saisie au clavier reste + /// possible. + /// + Task StartAsync( + string? codeLangue = null, + CancellationToken cancellationToken = default); +} + +/// +/// Écoute micro en cours. Les événements peuvent être levés depuis n'importe +/// quel thread : l'appelant (le contrôle de saisie) marshale lui-même sur le +/// thread d'interface. +/// +/// Une session se termine par UN SEUL événement terminal +/// (, ou ), +/// après quoi elle doit être libérée. +/// +public interface IDictationSession : IAsyncDisposable +{ + /// + /// Texte provisoire, réémis au fil de la parole (peut arriver plusieurs + /// fois ; chaque texte partiel REMPLACE le précédent). + /// + event EventHandler? PartialText; + + /// Texte final reconnu. Événement terminal. + event EventHandler? FinalText; + + /// + /// Message d'échec lisible par l'utilisateur (micro refusé, panne du + /// moteur, langue absente…). Événement terminal. + /// + event EventHandler? Failed; + + /// + /// Fin d'écoute sans texte reconnu (silence : rien n'a été entendu). + /// Événement terminal. + /// + event EventHandler? Ended; + + /// + /// Arrête l'écoute. L'implémentation peut encore lever son événement + /// terminal (dernier texte reconnu) avant la libération. + /// + Task StopAsync(); +} + +/// +/// Messages affichés sous le champ texte quand la dictée ne peut pas aboutir. +/// Regroupés ici pour que le contrôle de saisie et les deux implémentations +/// natives (Android, iOS) parlent d'une seule voix. +/// +public static class DictationMessages +{ + /// Autorisation micro refusée par l'utilisateur ou par la politique. + public const string MicroRefuse = "Micro refusé — autorisez l'accès au micro dans les réglages du téléphone."; + + /// Aucun moteur de dictée n'est utilisable sur l'appareil. + public const string Indisponible = "Dictée vocale indisponible sur cet appareil."; + + /// L'écoute s'est terminée sans qu'aucune parole ne soit reconnue. + public const string RienEntendu = "Rien entendu — réessayez en parlant plus près du micro."; + + /// Panne ou interruption du moteur de dictée en cours d'écoute. + public const string Interrompue = "Dictée interrompue — le texte déjà reconnu a été conservé."; + + /// Reconnaissance impossible sans connexion (modèle hors ligne absent). + public const string HorsLigne = "Dictée impossible sans connexion — installez la langue de dictée dans les réglages."; + + /// La langue de dictée demandée n'est pas installée. + public const string LangueIndisponible = "Langue de dictée indisponible sur cet appareil."; + + /// Une autre application utilise déjà le moteur de reconnaissance. + public const string Occupe = "Moteur de dictée déjà occupé par une autre application."; + + /// + /// Le texte a bien été dicté, mais sa traduction vers le français a échoué : + /// le texte d'origine reste affiché, jamais perdu. + /// + public const string TraductionImpossible = + "Traduction impossible — le texte dicté est conservé tel quel."; + + /// + /// Les modèles de la langue secondaire ne sont pas installés : la dictée + /// traduite ne peut pas fonctionner. + /// + public const string ModelesLangueAbsents = + "Modèles de la langue secondaire absents — installez la langue dans les Paramètres."; +} diff --git a/src/Omika.App.Local/Abstractions/IDicteeTraduiteService.cs b/src/Omika.App.Local/Abstractions/IDicteeTraduiteService.cs new file mode 100644 index 0000000..f8d12d7 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IDicteeTraduiteService.cs @@ -0,0 +1,142 @@ +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// État de la dictée traduite sur cet appareil : quelle langue secondaire est +/// choisie, et cette langue est-elle réellement exploitable (moteur présent et +/// modèles installés). +/// +public sealed record DicteeTraduiteEtat +{ + /// Code ISO court de la langue secondaire, ou vide si aucune. + public string LangueSecondaireCode { get; init; } = string.Empty; + + /// Libellé affichable de la langue secondaire. + public string LangueSecondaireLibelle { get; init; } = string.Empty; + + /// Vrai si un moteur de traduction est installé sur la plateforme. + public bool TraductionDisponible { get; init; } + + /// Vrai si les modèles de la langue secondaire sont installés. + public bool ModelesInstalles { get; init; } + + /// Vrai si une langue secondaire autre que le français est choisie. + public bool ALangueSecondaire => + !string.IsNullOrWhiteSpace(LangueSecondaireCode) + && !LanguageTag.EstFrancais(LangueSecondaireCode); + + /// + /// Vrai si la dictée en langue secondaire avec traduction peut réellement + /// fonctionner. Faux : le bascule de langue n'est pas proposé et l'utilisateur + /// en est informé, plutôt que de dicter dans le vide. + /// + public bool EstExploitable => ALangueSecondaire && TraductionDisponible && ModelesInstalles; +} + +/// +/// Orchestration de la dictée traduite : dicter dans sa langue +/// secondaire, obtenir du français. +/// +/// +/// Ce service regroupe les trois questions que se pose le champ de saisie au +/// moment du clic sur le micro, et rien d'autre : +/// +/// +/// quelle langue secondaire l'utilisateur a-t-il choisie ? +/// cette langue est-elle exploitable maintenant (moteur + modèles) ? +/// traduire un texte dicté vers le français. +/// +/// +/// +/// Le texte d'origine n'est jamais conservé : seule la traduction +/// française entre dans le champ, et c'est elle qui sera enregistrée, +/// synchronisée et stockée. Aucune donnée ne sort de l'appareil. +/// +/// +public interface IDicteeTraduiteService +{ + /// État courant de la dictée traduite (lecture locale, sans réseau). + Task GetEtatAsync(CancellationToken cancellationToken = default); + + /// + /// Traduit un texte dicté dans la langue secondaire vers le français. + /// + /// + /// Moteur absent, modèles absents, ou échec d'inférence. + /// + Task TraduireVersFrancaisAsync( + string texte, + string codeLangue, + CancellationToken cancellationToken = default); + + /// + /// Traduit un contenu français vers la langue secondaire, pour un + /// affichage seul (bouton « Traduire » d'un contenu en lecture + /// seule). Le résultat n'est jamais enregistré. + /// + /// + /// Moteur absent, modèles absents, ou échec d'inférence. + /// + Task TraduireDepuisFrancaisAsync( + string texte, + string codeLangue, + CancellationToken cancellationToken = default); +} + +/// +/// Implémentation de adossée à la +/// préférence locale de langue secondaire et au service de traduction. +/// +public sealed class DicteeTraduiteService : IDicteeTraduiteService +{ + private readonly ILangueSecondairePreferenceService _preference; + private readonly ITranslationService _traduction; + + public DicteeTraduiteService( + ILangueSecondairePreferenceService preference, + ITranslationService traduction) + { + ArgumentNullException.ThrowIfNull(preference); + ArgumentNullException.ThrowIfNull(traduction); + _preference = preference; + _traduction = traduction; + } + + /// + public async Task GetEtatAsync(CancellationToken cancellationToken = default) + { + LangueSecondairePreference langue = await _preference.GetAsync(cancellationToken); + + if (!langue.EstDefinie) + { + return new DicteeTraduiteEtat { TraductionDisponible = _traduction.EstDisponible }; + } + + bool installee = await _traduction.EstInstalleeAsync( + langue.Code, SensTraduction.VersFrancais, cancellationToken); + + return new DicteeTraduiteEtat + { + LangueSecondaireCode = langue.Code, + LangueSecondaireLibelle = langue.LibelleAffichage, + TraductionDisponible = _traduction.EstDisponible, + ModelesInstalles = installee + }; + } + + /// + public Task TraduireVersFrancaisAsync( + string texte, + string codeLangue, + CancellationToken cancellationToken = default) + => _traduction.TraduireAsync(texte, codeLangue, SensTraduction.VersFrancais, cancellationToken); + + /// + public Task TraduireDepuisFrancaisAsync( + string texte, + string codeLangue, + CancellationToken cancellationToken = default) + => _traduction.TraduireAsync(texte, codeLangue, SensTraduction.DepuisFrancais, cancellationToken); +} diff --git a/src/Omika.App.Local/Abstractions/IDocAideRepository.cs b/src/Omika.App.Local/Abstractions/IDocAideRepository.cs new file mode 100644 index 0000000..b376300 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IDocAideRepository.cs @@ -0,0 +1,38 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Repository des entrées d'aide contextuelle mobile. Table technique : jamais +/// purgée par un refresh snapshot (le contenu d'aide n'est pas une donnée métier). +/// +public interface IDocAideRepository +{ + /// Retourne l'entrée d'aide d'une fenêtre/champ, ou . + Task GetByFenetreAsync(string fenetre, CancellationToken cancellationToken = default); + + /// Retourne toutes les entrées d'aide. + Task> GetAllAsync(CancellationToken cancellationToken = default); + + /// Insère ou remplace une entrée (clé : ). + Task UpsertAsync(DocAideEntry entry, CancellationToken cancellationToken = default); + + /// + /// Supprime les entrées dont la clé n'appartient PAS à . + /// + /// Utilisée après une synchronisation serveur réussie : la table + /// Doc_Aide (ou le fichier doc_aide.json sur base Batik) est la + /// source de référence, donc une fiche retirée côté serveur doit disparaître + /// de l'appareil. Une liste VIDE ne supprime RIEN : une réponse serveur vide + /// signifie « rien à synchroniser », jamais « efface toute l'aide ». + /// + /// Clés conservées. + /// Jeton d'annulation. + /// Nombre d'entrées supprimées. + Task DeleteExceptAsync( + IReadOnlyCollection fenetres, + CancellationToken cancellationToken = default); + + /// Nombre d'entrées présentes. + Task CountAsync(CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IDocumentCacheRepository.cs b/src/Omika.App.Local/Abstractions/IDocumentCacheRepository.cs new file mode 100644 index 0000000..3111704 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IDocumentCacheRepository.cs @@ -0,0 +1,22 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Repository du cache document local (métadonnées SQLite ; le binaire est dans +/// un fichier local). Survit au refresh snapshot. +/// +public interface IDocumentCacheRepository +{ + /// Enregistre une entrée de cache (upsert). + Task UpsertAsync(DocumentCacheEntry entry, CancellationToken cancellationToken = default); + + /// Retourne une entrée de cache par DocumentGuid. + Task GetAsync(Guid documentGuid, CancellationToken cancellationToken = default); + + /// Retourne toutes les entrées de cache. + Task> GetAllAsync(CancellationToken cancellationToken = default); + + /// Supprime une entrée de cache. + Task DeleteAsync(Guid documentGuid, CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IDocumentCacheService.cs b/src/Omika.App.Local/Abstractions/IDocumentCacheService.cs new file mode 100644 index 0000000..8848ea0 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IDocumentCacheService.cs @@ -0,0 +1,16 @@ +namespace Omika.App.Local.Abstractions; + +/// +/// Service de cache document local. Le contenu binaire est stocké dans un +/// fichier local ; SQLite ne contient que les métadonnées. Le cache survit au +/// refresh snapshot. +/// +public interface IDocumentCacheService +{ + /// + /// Purge le cache document : supprime les fichiers locaux et les entrées de + /// cache associées. Ne supprime PAS les métadonnées métier Document du + /// snapshot. + /// + Task PurgeAsync(CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IDocumentDateResolver.cs b/src/Omika.App.Local/Abstractions/IDocumentDateResolver.cs new file mode 100644 index 0000000..24f84b3 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IDocumentDateResolver.cs @@ -0,0 +1,99 @@ +namespace Omika.App.Local.Abstractions; + +/// +/// Origine de la date retenue pour un document. Permet de tracer précisément +/// d'où vient la valeur affichée (métadonnée réelle ou repli système). +/// +public enum DocumentDateSource +{ + /// + /// EXIF DateTimeOriginal : date et heure réelles de prise de vue. + /// C'est la valeur métier recherchée en priorité pour une photo. + /// + ExifDateTimeOriginal = 0, + + /// + /// EXIF DateTimeDigitized : date de numérisation. Utilisée seulement + /// lorsque DateTimeOriginal est absente. + /// + ExifDateTimeDigitized = 1, + + /// + /// EXIF DateTime (IFD0) : dernière écriture du fichier par l'appareil. + /// Dernier recours EXIF, moins fiable que les deux précédentes. + /// + ExifDateTime = 2, + + /// + /// Date reprise du document source (copie annotée d'une photo existante) : + /// le dérivé conserve la date métier de l'original. + /// + SourceDocument = 3, + + /// + /// Date source du fichier fournie par la plateforme (SAF LastModified sur + /// Android, dernière écriture filesystem sur Desktop). Utilisée pour les + /// DOCUMENTS non image : ce n'est pas une vraie date de création, mais la + /// date de dernière modification du fichier source. + /// + SourceFileDate = 5, + + /// + /// Aucune date fiable trouvée : date/heure système au moment de l'ajout + /// dans Omika. Jamais présentée comme la date originale du fichier. + /// + SystemFallback = 4 +} + +/// +/// Date métier retenue pour un document, avec son origine. +/// La date est une heure locale « naïve » (sans décalage), cohérente avec le +/// type utilisé partout dans Omika et avec la +/// colonne HFSQL Document.CreationDate (« Date et Heure », sans fuseau). +/// +/// Date et heure retenues (heure locale, heure conservée). +/// Origine de la valeur. +public readonly record struct DocumentDateResolution(DateTime Value, DocumentDateSource Source) +{ + /// Indique que la valeur provient du repli système (aucune métadonnée fiable). + public bool IsFallback => Source == DocumentDateSource.SystemFallback; + + /// Libellé stable de l'origine, utilisé dans les logs. + public string SourceLabel => Source switch + { + DocumentDateSource.ExifDateTimeOriginal => "EXIF DateTimeOriginal", + DocumentDateSource.ExifDateTimeDigitized => "EXIF DateTimeDigitized", + DocumentDateSource.ExifDateTime => "EXIF DateTime", + DocumentDateSource.SourceDocument => "SourceDocument", + DocumentDateSource.SourceFileDate => "SourceFileDate", + _ => "SystemFallback" + }; +} + +/// +/// Lit la date réelle de création d'un fichier à partir de ses métadonnées +/// internes, en priorité EXIF DateTimeOriginal pour une photo. +/// +/// Contrat important : cette lecture doit être effectuée AVANT toute +/// optimisation/compression de l'image, car le réencodage peut supprimer les +/// métadonnées EXIF. Elle ne doit jamais faire échouer l'ajout d'un document : +/// en l'absence de métadonnée fiable et exploitable, l'implémentation retourne +/// la date/heure système avec . +/// +public interface IDocumentDateResolver +{ + /// + /// Résout la date métier d'un fichier. + /// + /// Chemin du fichier source (avant toute transformation). + /// Nom du fichier, utilisé pour les logs uniquement. + /// Jeton d'annulation. + /// + /// La date retenue et son origine. Ne retourne jamais + /// et ne lève jamais d'exception pour cause de métadonnée absente ou illisible. + /// + Task ResolveAsync( + string filePath, + string? fileName, + CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IDocumentLocalService.cs b/src/Omika.App.Local/Abstractions/IDocumentLocalService.cs new file mode 100644 index 0000000..6dbd652 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IDocumentLocalService.cs @@ -0,0 +1,137 @@ +using Omika.App.Local.Models; +using Omika.Core.Contracts.Documents; + +namespace Omika.App.Local.Abstractions; + +/// +/// Service local Documents / Photos d'une intervention. +/// Lecture des métadonnées depuis SQLite (snapshot), gestion du cache fichier +/// local, téléchargement à la demande, ouverture offline et ajout +/// photo/document offline-first (Outbox). Aucun appel réseau automatique à +/// l'ouverture de l'écran. +/// +public interface IDocumentLocalService +{ + /// + /// Retourne les documents d'une intervention depuis les métadonnées locales + /// (SQLite), enrichis avec l'état du cache et l'état de synchronisation. + /// Aucun appel réseau. Les métadonnées invalides sont ignorées proprement. + /// + Task> GetDocumentsForInterventionAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default); + + /// + /// Télécharge à la demande un document non présent localement (si online). + /// Stocke le fichier dans le cache local et enregistre l'entrée SQLite. + /// Retourne si le fichier est disponible localement + /// après l'appel (déjà en cache ou téléchargé). + /// + Task EnsureDownloadedAsync( + Guid documentGuid, + CancellationToken cancellationToken = default); + + /// + /// Ouvre un document déjà présent dans le cache local (aucun HTTP). + /// Retourne si le fichier n'est pas disponible. + /// + Task OpenAsync( + Guid documentGuid, + CancellationToken cancellationToken = default); + + /// + /// Retourne le chemin local d'un document déjà présent dans le cache, ou + /// s'il n'est pas disponible localement. + /// + Task GetCachedFilePathAsync( + Guid documentGuid, + CancellationToken cancellationToken = default); + + /// + /// Notes d'un document : liste LOCALE, disponible hors ligne. En ligne, un + /// rafraîchissement serveur best-effort remplace les notes confirmées (les + /// notes saisies hors ligne et pas encore envoyées sont conservées et + /// signalées comme telles par ). + /// Aucune exception réseau n'est remontée : le panneau reste exploitable. + /// + Task> GetNotesForDocumentAsync( + Guid documentGuid, + CancellationToken cancellationToken = default); + + /// + /// Ajoute une note à un document de façon OFFLINE-FIRST : écriture locale + /// SQLite puis opération Outbox. Aucun appel réseau, aucune attente — la note + /// est visible immédiatement, même hors ligne, et sera synchronisée au + /// prochain cycle. + /// + /// L'opération est enregistrée avec une DÉPENDANCE sur l'opération du + /// document : une note ne part jamais avant que le document qu'elle référence + /// n'existe côté serveur (l'API refuse une note sur un document inconnu). + /// + Task AddNoteAsync( + Guid documentGuid, + string contenu, + CancellationToken cancellationToken = default); + + /// + /// Ajoute une photo offline-first : copie locale, metadata locale, Outbox. + /// Aucun appel réseau requis. + /// + Task AddPhotoAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default); + + /// + /// Ajoute PLUSIEURS photos offline-first (sélection multiple du sélecteur + /// d'images). Chaque photo suit le pipeline individuel existant (copie + /// locale, metadata locale, Outbox). Les fichiers indépendants sont traités + /// sans interrompre le lot : les succès sont conservés, les échecs sont + /// comptés dans . + /// + Task AddPhotosAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default); + + /// + /// Ajoute une photo prise depuis l'appareil photo (caméra) offline-first, + /// via EXACTEMENT le même pipeline qu'une image sélectionnée. + /// Retourne si l'utilisateur annule la prise de vue. + /// + Task AddPhotoFromCameraAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default); + + /// + /// Ajoute un document offline-first : copie locale, metadata locale, Outbox. + /// Aucun appel réseau requis. + /// + Task AddDocumentAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default); + + /// + /// Ajoute une photo annotée offline-first à partir d'octets PNG déjà rendus + /// (copie modifiée d'une image existante). L'image d'origine n'est JAMAIS + /// modifiée : un nouveau DocumentGuid est créé, le PNG est copié dans + /// le cache local, puis les métadonnées et l'opération Outbox sont créées. + /// Aucun appel réseau requis. + /// + /// La copie annotée hérite de la date métier du document SOURCE : c'est un + /// dérivé, sa date de prise de vue reste celle de l'original. Le PNG produit + /// par l'éditeur ne porte en effet lui-même aucune métadonnée EXIF. + /// + /// Intervention de rattachement. + /// + /// Document source dont la date métier est héritée. Si son identité est + /// inconnue du cache local, la date système est utilisée. + /// + /// Contenu PNG annoté. + /// Nom du fichier créé. + /// Jeton d'annulation. + Task AddAnnotatedPhotoAsync( + Guid interventionGuid, + Guid sourceDocumentGuid, + byte[] pngBytes, + string fileName, + CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IDossierInterventionCacheRepository.cs b/src/Omika.App.Local/Abstractions/IDossierInterventionCacheRepository.cs new file mode 100644 index 0000000..5b8653c --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IDossierInterventionCacheRepository.cs @@ -0,0 +1,24 @@ +using Omika.Core.Contracts.Interventions; + +namespace Omika.App.Local.Abstractions; + +/// +/// Cache contextuel des interventions chargées depuis un dossier (table +/// technique DossierInterventionCache). Distinct de +/// InterventionCache.IsInLastSearch : l'ouverture d'un dossier ne +/// remplace jamais la « dernière recherche Interventions ». Aucune écriture +/// HFSQL, aucun favori automatique. +/// +public interface IDossierInterventionCacheRepository +{ + /// Retourne les interventions contextuelles d'un dossier. + Task> GetByDossierAsync( + Guid dossierId, + CancellationToken cancellationToken = default); + + /// Remplace le cache contextuel d'un dossier (atomique). + Task ReplaceAsync( + Guid dossierId, + IReadOnlyList interventions, + CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IDossierLocalService.cs b/src/Omika.App.Local/Abstractions/IDossierLocalService.cs new file mode 100644 index 0000000..a94f12f --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IDossierLocalService.cs @@ -0,0 +1,86 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Service de lecture des dossiers depuis les données locales SQLite (dernier +/// snapshot). Lecture seule pour le snapshot ; l'épinglage est une préférence +/// locale technique (jamais envoyée au serveur). +/// +public interface IDossierLocalService +{ + /// + /// Retourne la liste des dossiers réellement présents dans SQLite (non + /// archivés), triés de façon déterministe, enrichis des préférences locales. + /// + Task> GetDossiersAsync(CancellationToken cancellationToken = default); + + /// + /// Recherche de dossiers À LA DEMANDE côté serveur (jointure Client, LIKE + /// partiel sur références/titre/client). Ne dépend pas du snapshot local + /// (limité) : interroge l'ensemble du référentiel, non archivé uniquement. + /// + Task> SearchDossiersAsync( + string? refInterne, + string? titre, + string? client, + string? statut, + string? type, + string? refExterne, + CancellationToken cancellationToken = default); + + /// + /// Retourne les résultats de la dernière recherche de dossiers (persistés + /// localement, dans l'ordre de la recherche). Vide si aucune recherche n'a + /// encore été effectuée. + /// + Task> GetLastSearchAsync(CancellationToken cancellationToken = default); + + /// Efface la dernière recherche de dossiers (préférence locale). + Task ClearLastSearchAsync(CancellationToken cancellationToken = default); + + /// + /// Retourne le détail d'un dossier par son identité publique locale, enrichi + /// avec le client. Les interventions liées sont chargées séparément à + /// l'ouverture (voir ). + /// + Task GetDossierByIdAsync( + Guid dossierGuid, + CancellationToken cancellationToken = default); + + /// + /// Définit l'état d'épinglage d'un dossier (préférence locale, aucune API). + /// Quand vaut true, (fiche + /// complète) est conservée pour une consultation hors réseau. + /// + Task SetPinnedAsync( + Guid dossierGuid, + bool isPinned, + DossierListItem? item, + CancellationToken cancellationToken = default); + + /// + /// Retourne les dossiers épinglés, avec leurs données complètes conservées + /// localement (consultables hors réseau, aucun appel API). + /// + Task> GetPinnedAsync(CancellationToken cancellationToken = default); + + /// + /// Retourne les interventions NON archivées liées à un dossier, chargées à + /// la demande : cache contextuel puis repli sur le snapshot local. Aucun + /// préchargement dans la liste des dossiers. + /// + Task> GetDossierInterventionsAsync( + Guid dossierGuid, + CancellationToken cancellationToken = default); + + /// + /// Recherche en ligne les interventions NON archivées d'un dossier (critère + /// DossierId), remplace le cache contextuel de CE dossier et retourne la + /// liste rafraîchie. Ne modifie jamais la « dernière recherche + /// Interventions ». + /// + Task> RefreshDossierInterventionsAsync( + Guid dossierGuid, + CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IDossierLocalStateRepository.cs b/src/Omika.App.Local/Abstractions/IDossierLocalStateRepository.cs new file mode 100644 index 0000000..a1e3993 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IDossierLocalStateRepository.cs @@ -0,0 +1,41 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Préférence locale d'épinglage des dossiers (table technique +/// DossierLocalState). Indépendante du snapshot métier : aucune écriture +/// HFSQL, aucun Outbox, aucune API. Survit à la navigation, au redémarrage et à +/// SyncNow. +/// +public interface IDossierLocalStateRepository +{ + /// Retourne les identités des dossiers épinglés. + Task> GetPinnedIdsAsync(CancellationToken cancellationToken = default); + + /// + /// Retourne les fiches complètes des dossiers épinglés (données conservées + /// localement, consultables hors réseau). + /// + Task> GetPinnedItemsAsync(CancellationToken cancellationToken = default); + + /// + /// Définit l'état d'épinglage d'un dossier (idempotent). Quand + /// vaut true, + /// (fiche complète) est conservée pour la consultation hors réseau. + /// + Task SetPinnedAsync( + Guid dossierId, + bool isPinned, + string payloadJson, + CancellationToken cancellationToken = default); + + /// Sauvegarde le JSON des résultats de la dernière recherche de dossiers. + Task SaveLastSearchAsync(string payloadJson, CancellationToken cancellationToken = default); + + /// Retourne le JSON de la dernière recherche, ou null si aucune. + Task GetLastSearchJsonAsync(CancellationToken cancellationToken = default); + + /// Efface la dernière recherche de dossiers. + Task ClearLastSearchAsync(CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IEmailInterventionLocalRepository.cs b/src/Omika.App.Local/Abstractions/IEmailInterventionLocalRepository.cs new file mode 100644 index 0000000..a3de781 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IEmailInterventionLocalRepository.cs @@ -0,0 +1,23 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Accès aux courriels locaux (table technique EmailIntervention). Aucun +/// appel API. +/// +public interface IEmailInterventionLocalRepository +{ + /// Insère ou remplace un courriel local. + Task UpsertAsync(LocalEmailIntervention email, CancellationToken cancellationToken = default); + + /// Retourne les courriels d'une intervention (triés par date de création). + Task> GetByInterventionAsync( + Guid interventionId, CancellationToken cancellationToken = default); + + /// Supprime tous les courriels d'une intervention. + Task DeleteByInterventionAsync(Guid interventionId, CancellationToken cancellationToken = default); + + /// Supprime tous les courriels locaux (remplacement par le snapshot). + Task DeleteAllAsync(CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IEmailLauncher.cs b/src/Omika.App.Local/Abstractions/IEmailLauncher.cs new file mode 100644 index 0000000..25f31e3 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IEmailLauncher.cs @@ -0,0 +1,120 @@ +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace Omika.App.Local.Abstractions; + +/// +/// Abstraction plateforme d'ouverture du client email système. +/// Le ViewModel ne connaît jamais l'implémentation Android/iOS : il transmet une +/// adresse email à l'abstraction qui délègue à la plateforme. Aucune donnée +/// personnelle n'est loguée par cette abstraction. +/// +public interface IEmailLauncher +{ + /// + /// Ouvre le client email système pour l'adresse fournie. + /// + /// Adresse email (non vide). + /// si le lancement a été demandé. + Task ComposeAsync(string email); + + /// + /// Ouvre le client email système avec un destinataire, un objet, un corps et + /// d'éventuelles pièces jointes (chemins de fichiers locaux). + /// + /// Implémentation par défaut : compose vers l'adresse seule (le client + /// mailto: ne supporte pas les pièces jointes). Les implémentations + /// natives Android/iOS surchargent cette méthode pour joindre les fichiers. + /// + /// Adresse email du destinataire (non vide). + /// Objet du message (optionnel). + /// Corps du message en texte brut (optionnel). + /// Chemins de fichiers locaux à joindre (optionnel). + /// si le lancement a été demandé. + Task ComposeAsync( + string email, + string? subject, + string? body, + IReadOnlyList? attachmentPaths) + { + return ComposeAsync(email); + } + + /// + /// Ouvre une messagerie EXTERNE avec un courriel complet pré-rempli + /// (destinataires, copies, objet, corps, pièces jointes) et restitue ce que la + /// plateforme a réellement observé. + /// + /// Implémentation par défaut : compose vers le premier destinataire, sans + /// confirmation d'envoi (aucun résultat définitif n'existe pour un + /// mailto:). Les implémentations natives Android/iOS précisent + /// quand la plateforme le permet + /// (composeur système d'iOS) ; sinon il reste et + /// l'application doit demander à l'utilisateur si le courriel est parti. + /// + async Task ComposerEmailExterneAsync(EmailExterneDemande demande) + { + string? premierDestinataire = demande.Destinataires.FirstOrDefault(); + if (string.IsNullOrWhiteSpace(premierDestinataire)) + { + return EmailExterneResultat.Echec; + } + + bool lance = await ComposeAsync( + premierDestinataire, + demande.Sujet, + demande.CorpsTexte, + demande.CheminsPiecesJointes); + + return lance ? EmailExterneResultat.LanceSansConfirmation : EmailExterneResultat.Echec; + } +} + +/// +/// Courriel complet à pré-remplir dans une messagerie externe (application de +/// messagerie du téléphone). Le corps est en TEXTE : aucun balisage HTML n'est +/// transmis au client email. +/// +public sealed record EmailExterneDemande +{ + /// Destinataires principaux (au moins un). + public IReadOnlyList Destinataires { get; init; } = []; + + /// Destinataires en copie (optionnel). + public IReadOnlyList Cc { get; init; } = []; + + /// Destinataires en copie cachée (optionnel). + public IReadOnlyList Cci { get; init; } = []; + + /// Objet du courriel (optionnel). + public string? Sujet { get; init; } + + /// Corps du courriel en texte brut (jamais de HTML). + public string CorpsTexte { get; init; } = string.Empty; + + /// Chemins locaux des pièces jointes (vide si aucune). + public IReadOnlyList CheminsPiecesJointes { get; init; } = []; +} + +/// +/// Résultat observé de l'ouverture d'une messagerie externe. +/// +/// Vrai si une application de messagerie a été ouverte. +/// +/// ou quand la plateforme connaît +/// le résultat de l'envoi (composeur système iOS) ; quand +/// il est impossible de le savoir (Android, mailto:) : dans ce cas +/// l'application doit demander à l'utilisateur. +/// +public readonly record struct EmailExterneResultat(bool Lance, bool? Envoye) +{ + /// Aucune application de messagerie n'a pu être ouverte. + public static EmailExterneResultat Echec => new(false, null); + + /// Messagerie ouverte, résultat d'envoi inconnu. + public static EmailExterneResultat LanceSansConfirmation => new(true, null); + + /// Messagerie ouverte et résultat d'envoi connu de la plateforme. + public static EmailExterneResultat Confirme(bool envoye) => new(true, envoye); +} diff --git a/src/Omika.App.Local/Abstractions/IEnrollmentQrScanner.cs b/src/Omika.App.Local/Abstractions/IEnrollmentQrScanner.cs new file mode 100644 index 0000000..d08844b --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IEnrollmentQrScanner.cs @@ -0,0 +1,24 @@ +namespace Omika.App.Local.Abstractions; + +/// +/// Abstraction de lecture optique du QR d'inscription. +/// Retourne le CONTENU texte du QR (décodé par la couche plateforme), qui est +/// ensuite interprété par le codec d'inscription. +/// +/// L'implémentation plateforme (caméra Android/iOS/Desktop) produit la chaîne ; +/// aucune logique métier ne dépend du mécanisme de capture. +/// +public interface IEnrollmentQrScanner +{ + /// + /// Lit un QR d'inscription et retourne son contenu texte, ou + /// si la lecture est annulée. + /// + /// reçoit, lorsqu'il est fourni et supporté + /// par la plateforme, les frames de prévisualisation caméra (aperçu en + /// direct). Les plateformes sans preview (Desktop, repli) l'ignorent. + /// + Task ScanAsync( + IQrScannerPreviewSink? previewSink, + CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IEnrollmentService.cs b/src/Omika.App.Local/Abstractions/IEnrollmentService.cs new file mode 100644 index 0000000..7b9a3e2 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IEnrollmentService.cs @@ -0,0 +1,30 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Service d'inscription de l'appareil : QR → licence → API → stockage local. +/// +/// Flux exact : +/// 1. décoder/vérifier le QR (CodeClient, NumeroLicence, UrlLicence) ; +/// 2. valider UrlLicence (HTTPS strict) ; +/// 3. appeler le service de licence pour activer/valider ; +/// 4. valider l'URL de l'API Omika retournée (HTTPS strict) ; +/// 5. persister la configuration d'inscription et configurer le client métier. +/// +/// Aucune URL n'est codée en dur ni fournie par un fichier embarqué. +/// +public interface IEnrollmentService +{ + /// Retourne la configuration d'inscription persistée, ou null. + Task LoadAsync(CancellationToken cancellationToken = default); + + /// + /// Inscrit l'appareil à partir du contenu du QR d'inscription. En cas de + /// succès, l'URL de l'API Omika est persistée et le client métier est prêt. + /// + Task EnrollAsync(string qrContent, CancellationToken cancellationToken = default); + + /// Supprime l'inscription (configuration + client métier reconfiguré). + Task ClearAsync(CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IEquipeLocalService.cs b/src/Omika.App.Local/Abstractions/IEquipeLocalService.cs new file mode 100644 index 0000000..45f7626 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IEquipeLocalService.cs @@ -0,0 +1,25 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Service de lecture des équipes de l'utilisateur courant. Le serveur filtre +/// déjà les équipes (uniquement celles où le collaborateur authentifié est +/// présent) : le mobile reçoit la liste prête à afficher, sans filtre local. +/// +public interface IEquipeLocalService +{ + /// + /// Retourne les équipes de l'utilisateur courant, triées par nom, chacune + /// portant ses membres (collaborateurs). + /// + /// Jeton d'annulation. + Task> GetEquipesAsync(CancellationToken cancellationToken = default); + + /// + /// Retourne TOUTES les équipes de la base (avec leurs membres et le nom de + /// leur société de rattachement), sans filtrage par appartenance. Destiné au + /// filtre « équipe » de l'agenda d'équipe. + /// + Task> GetAllEquipesAsync(CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IFileLauncher.cs b/src/Omika.App.Local/Abstractions/IFileLauncher.cs new file mode 100644 index 0000000..c440d26 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IFileLauncher.cs @@ -0,0 +1,19 @@ +using System.Threading.Tasks; + +namespace Omika.App.Local.Abstractions; + +/// +/// Abstraction plateforme d'ouverture d'un fichier local contrôlé par +/// l'application. Le ViewModel ne connaît jamais le chemin physique : il +/// transmet une référence/identifiant au service d'ouverture. +/// +public interface IFileLauncher +{ + /// + /// Ouvre le fichier local identifié par avec + /// l'application système appropriée. + /// + /// Chemin local contrôlé par l'application. + /// si l'ouverture a été demandée. + Task OpenAsync(string localPath); +} diff --git a/src/Omika.App.Local/Abstractions/IFilePicker.cs b/src/Omika.App.Local/Abstractions/IFilePicker.cs new file mode 100644 index 0000000..9b71c8f --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IFilePicker.cs @@ -0,0 +1,57 @@ +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace Omika.App.Local.Abstractions; + +/// +/// Résultat d'une sélection/capture de fichier. Le fichier source peut être +/// temporaire ou externe : le service local le copie immédiatement dans un +/// espace contrôlé par l'application avant toute utilisation. +/// +public sealed class PickedFile +{ + /// Chemin du fichier source (temporaire ou externe). + public string SourcePath { get; init; } = string.Empty; + + /// Nom du fichier. + public string FileName { get; init; } = string.Empty; + + /// Type MIME détecté (si disponible). + public string? MimeType { get; init; } + + /// + /// Date source du fichier fournie par la plateforme (SAF + /// LastModified sur Android, dernière écriture filesystem sur + /// Desktop). Utilisée comme date métier pour les DOCUMENTS non image ; les + /// photos continuent d'utiliser la date EXIF. si la + /// plateforme ne fournit pas cette information. + /// + public DateTimeOffset? SourceDate { get; init; } +} + +/// +/// Abstraction plateforme de sélection d'un fichier (document) ou de capture +/// d'une photo. Aucun code Android/iOS dans le ViewModel. +/// +public interface IFilePicker +{ + /// + /// Ouvre le sélecteur de fichier pour choisir UN document. + /// Retourne si l'utilisateur annule. + /// + Task PickDocumentAsync(); + + /// + /// Ouvre la capture caméra ou le sélecteur d'image pour UNE photo. + /// Retourne si l'utilisateur annule. + /// + Task PickPhotoAsync(); + + /// + /// Ouvre le sélecteur d'image en sélection multiple. Retourne la liste des + /// fichiers sélectionnés dans l'ordre renvoyé par la plateforme, ou une + /// liste vide si l'utilisateur annule. Chaque fichier est déjà copié dans un + /// espace local contrôlé par l'application et porte un nom interne unique. + /// + Task> PickPhotosAsync(); +} diff --git a/src/Omika.App.Local/Abstractions/IIdentityMappingRepository.cs b/src/Omika.App.Local/Abstractions/IIdentityMappingRepository.cs new file mode 100644 index 0000000..efaba7e --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IIdentityMappingRepository.cs @@ -0,0 +1,25 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Repository de la table de correspondance d'identités +/// (RequestedEntityGuid → CanonicalEntityGuid). +/// +public interface IIdentityMappingRepository +{ + /// Enregistre une correspondance A → B (idempotent). + Task UpsertAsync(IdentityMapping mapping, CancellationToken cancellationToken = default); + + /// Résout A → B. Retourne si absente. + Task GetAsync( + string entityType, + Guid requestedGuid, + CancellationToken cancellationToken = default); + + /// Indique si une correspondance existe pour A. + Task ExistsAsync( + string entityType, + Guid requestedGuid, + CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IImageOptimizer.cs b/src/Omika.App.Local/Abstractions/IImageOptimizer.cs new file mode 100644 index 0000000..a0c366a --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IImageOptimizer.cs @@ -0,0 +1,87 @@ +namespace Omika.App.Local.Abstractions; + +/// +/// Résultat d'une tentative d'optimisation d'image. +/// +/// est toujours un fichier existant et exploitable +/// lorsque l'appel se termine sans exception : si l'image n'avait pas besoin +/// d'être optimisée, ou si l'optimisation a échoué, le fichier d'origine y est +/// simplement copié à l'identique. L'ajout de document ne doit jamais être bloqué +/// par l'optimisation. +/// +public sealed record ImageOptimizationResult +{ + /// Chemin du fichier final (toujours présent). + public string DestinationPath { get; init; } = string.Empty; + + /// Vrai si le fichier final a réellement été réencodé. + public bool WasOptimized { get; init; } + + /// Poids du fichier source (octets). + public long OriginalBytes { get; init; } + + /// Poids du fichier final (octets). + public long FinalBytes { get; init; } + + /// Largeur d'origine (0 si inconnue). + public int OriginalWidth { get; init; } + + /// Hauteur d'origine (0 si inconnue). + public int OriginalHeight { get; init; } + + /// Largeur finale (0 si inconnue). + public int FinalWidth { get; init; } + + /// Hauteur finale (0 si inconnue). + public int FinalHeight { get; init; } + + /// Qualité d'encodage retenue, si un encodage avec perte a eu lieu. + public int? Quality { get; init; } + + /// + /// Vrai si le format n'est pas optimisable (HEIC, GIF animé, TIFF…) : le + /// fichier est laissé intact et seulement copié. + /// + public bool FormatNotOptimizable { get; init; } +} + +/// +/// Optimisation du poids d'une image avant son enregistrement. +/// +/// Contrat volontairement indépendant de toute bibliothèque de traitement +/// d'image : l'abstraction vit dans Omika.App.Local (sans dépendance), +/// l'implémentation plateforme dans Omika.App. +/// +/// Ce service ne traite QUE des images. Il n'est jamais appelé pour un PDF, un +/// Word, un Excel, un ZIP, un fichier texte, un rapport, ni pour une image déjà +/// stockée sur le serveur : l'optimisation a lieu au moment de l'ajout d'une +/// NOUVELLE image, avant l'enregistrement local et l'envoi. +/// +public interface IImageOptimizer +{ + /// + /// Optimise vers + /// afin de respecter , en conservant le meilleur + /// compromis qualité d'image poids. + /// + /// Le fichier de destination est TOUJOURS écrit : + /// + /// image déjà sous la limite → copie à l'identique, aucune modification ; + /// image au-dessus → réencodage progressif jusqu'à passer sous la limite ; + /// format non optimisable ou erreur → copie à l'identique, signalée dans le résultat. + /// + /// Une à 0 (aucune limite) entraîne une simple copie. + /// + /// Fichier image source (externe ou temporaire). + /// Fichier de destination à produire. + /// Nom logique du fichier (sert à déterminer le format). + /// Type MIME détecté, si disponible. + /// Limite en kilo-octets (0 = aucune limite). + Task OptimizeFileAsync( + string sourcePath, + string destinationPath, + string? fileName, + string? mimeType, + int maxSizeKb, + CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IInterventionCacheRepository.cs b/src/Omika.App.Local/Abstractions/IInterventionCacheRepository.cs new file mode 100644 index 0000000..1cccd5a --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IInterventionCacheRepository.cs @@ -0,0 +1,37 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Repository du cache local des interventions (dernière recherche + favoris). +/// Table technique indépendante du snapshot général. +/// +public interface IInterventionCacheRepository +{ + /// Insère ou remplace une entrée de cache. + Task UpsertAsync(CachedIntervention entity, CancellationToken cancellationToken = default); + + /// Retourne une entrée par identité publique. + Task GetByIdAsync(Guid id, CancellationToken cancellationToken = default); + + /// Retourne la dernière recherche (ordre conservé). + Task> GetLastSearchAsync(CancellationToken cancellationToken = default); + + /// Retourne les interventions épinglées. + Task> GetPinnedAsync(CancellationToken cancellationToken = default); + + /// Retourne les identités des interventions épinglées. + Task> GetPinnedIdsAsync(CancellationToken cancellationToken = default); + + /// Supprime une entrée par identité publique. + Task DeleteAsync(Guid id, CancellationToken cancellationToken = default); + + /// Supprime les entrées qui ne sont ni en dernière recherche, ni épinglées. + Task DeleteOrphansAsync(CancellationToken cancellationToken = default); + + /// Retire le marqueur « dernière recherche » de toutes les entrées. + Task ClearLastSearchAsync(CancellationToken cancellationToken = default); + + /// Compte les entrées du cache. + Task CountAsync(CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IInterventionContactsService.cs b/src/Omika.App.Local/Abstractions/IInterventionContactsService.cs new file mode 100644 index 0000000..19126db --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IInterventionContactsService.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Service de lecture des contacts liés à une intervention depuis les données +/// locales SQLite (dernier snapshot). Ne déclenche aucun appel API. +/// La relation utilisée est la liste explicite ContactIds portée par le +/// DTO d'intervention (), +/// résolue vers les Personnes/Contacts stockées localement (table Personne, +/// payload ContactDto). +/// +public interface IInterventionContactsService +{ + /// + /// Retourne les contacts réellement liés à l'intervention, triés par nom + /// affiché (règle déterministe). Ne retourne jamais de contact déduit du + /// Client : seule la relation explicite Intervention → Contact est utilisée. + /// + /// Identité publique de l'intervention. + /// Liste des contacts liés (vide si aucun). + Task> GetContactsForInterventionAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default); + + /// + /// Retourne le détail d'un contact par son identité publique. + /// + /// Identité publique du contact. + /// Le contact, ou s'il est introuvable. + Task GetContactByIdAsync( + Guid contactGuid, + CancellationToken cancellationToken = default); + + /// + /// Retourne les contacts de l'intervention proposés comme destinataires d'un + /// courriel : EXACTEMENT la même liste que + /// (relation explicite Intervention → Contact), filtrée sur ceux possédant une + /// adresse email. Le répertoire local complet n'est volontairement pas inclus : + /// les contacts du carnet d'adresses du téléphone constituent une source + /// distincte (), identifiée séparément + /// dans la vue de composition. + /// + Task> GetContactsDisponiblesAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IInterventionLocalService.cs b/src/Omika.App.Local/Abstractions/IInterventionLocalService.cs new file mode 100644 index 0000000..66b4e88 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IInterventionLocalService.cs @@ -0,0 +1,289 @@ +using Omika.App.Local.Models; +using Omika.Core.Contracts.Documents; +using Omika.Core.Contracts.Interventions; +using Omika.Core.Contracts.Mobile.Interventions; +using Omika.Core.Contracts.Mobile.Sync; + +namespace Omika.App.Local.Abstractions; + +/// +/// Service des interventions côté mobile. Couvre à la fois l'écriture +/// offline-first (création / mise à jour / archivage via Outbox) et le cache de +/// lecture à la demande (recherche + favoris), distinct du snapshot général. +/// +public interface IInterventionLocalService +{ + /// + /// Crée une Intervention localement (offline-first) : écrit l'entité dans + /// SQLite puis enqueue une opération Outbox CREATE dans la même unité locale + /// logique. Aucune attente réseau. Retourne le RequestedEntityGuid + /// mobile (A) généré, distinct de l'OperationId de l'Outbox. + /// + Task CreateAsync( + InterventionSyncPayload payload, + CancellationToken cancellationToken = default); + + /// + /// Met à jour une Intervention localement (offline-first) : modifie l'entité + /// dans SQLite puis enqueue une opération Outbox UPDATE. L'identité cible + /// est résolue A → B via la réconciliation existante. Retourne l'identité + /// cible utilisée pour l'Outbox. + /// + Task UpdateAsync( + Guid interventionGuid, + InterventionSyncPayload payload, + CancellationToken cancellationToken = default); + + /// + /// Archive une Intervention localement (offline-first) : applique + /// EstArchive = true dans SQLite puis enqueue une opération Outbox + /// ARCHIVE. Aucun DELETE. + /// + Task ArchiveAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default); + + /// + /// Retourne la fiche d'une intervention par son identité publique locale, + /// enrichie avec les relations disponibles localement. Retourne null + /// si l'intervention est introuvable. + /// + Task GetInterventionByIdAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default); + + /// + /// Retourne la fiche d'une intervention exclusivement depuis les données + /// locales SQLite (snapshot, cache à la demande, cache contextuel), sans + /// aucun appel API. Retourne null si l'intervention n'est pas encore + /// disponible localement. Utilisé pour afficher immédiatement la fiche + /// pendant que la synchronisation API s'exécute en arrière-plan. + /// + Task GetLocalInterventionByIdAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) + => throw new NotSupportedException(); + + /// + /// Retourne la liste des interventions depuis le snapshot local SQLite, + /// enrichie avec les relations Client/Site/Dossier/Collaborateurs résolues + /// localement. Ne déclenche aucun appel API. + /// + Task> GetInterventionsAsync( + CancellationToken cancellationToken = default); + + /// + /// Recherche des interventions à la demande (appel API) et persiste le + /// résultat comme nouvelle « dernière recherche » dans le cache local. + /// Les épinglées sont conservées ; une erreur réseau lève l'exception sans + /// modifier le cache. + /// + Task> SearchAsync( + MobileInterventionSearchRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Retourne la dernière recherche réussie depuis le cache local (offline). + /// + Task> GetLastSearchAsync( + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Retourne les interventions épinglées depuis le cache local (offline). + /// + Task> GetPinnedAsync( + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Épingle / désépingle une intervention (flag purement local, sans Outbox). + /// + Task SetPinnedAsync( + Guid interventionGuid, + bool isPinned, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Rafraîchit les interventions épinglées depuis l'API en une seule requête + /// bulk. En cas d'échec réseau, conserve le cache inchangé. + /// + Task RefreshPinnedAsync( + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Rafraîchit une intervention depuis l'API (bulk par identifiant) et met à + /// jour le cache. En cas d'échec réseau, conserve la copie locale. + /// + Task RefreshInterventionAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère à la demande les rendez-vous liés à une intervention (tous + /// collaborateurs) depuis l'API. Lève l'exception en cas d'échec réseau : + /// l'appelant conserve alors la copie locale (snapshot). + /// + Task> GetRendezVousAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère à la demande les notes internes liées à une intervention depuis + /// l'API. Lève l'exception en cas d'échec réseau. + /// + Task> GetNotesAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Ajoute une note interne à une intervention (appel API) et retourne la note créée. + /// + Task AddNoteAsync( + Guid interventionGuid, + string contenu, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère à la demande les notes administratives liées à une intervention + /// (appel API, droit A.NOTE.ADMIN requis côté serveur). + /// + Task> GetNotesAdministrativesAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Ajoute une note administrative à une intervention (appel API) et retourne + /// la note créée. + /// + Task AddNoteAdministrativeAsync( + Guid interventionGuid, + string contenu, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère à la demande les courriels liés à une intervention (appel API). + /// + Task> GetEmailsAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Crée un courriel lié à une intervention (appel API) et retourne le courriel créé. + /// + Task AddEmailAsync( + Guid interventionGuid, + CreateEmailInterventionRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Met à jour un brouillon de courriel existant (appel API) et retourne le + /// courriel mis à jour. Seul un brouillon peut être modifié. + /// + Task UpdateEmailAsync( + Guid interventionGuid, + string emailId, + CreateEmailInterventionRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Envoie un courriel via le serveur (SMTP) et retourne le courriel envoyé. + /// non nul envoie un brouillon existant. + /// + Task SendEmailAsync( + Guid interventionGuid, + string? emailId, + CreateEmailInterventionRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Enregistre un courriel DÉJÀ ENVOYÉ depuis une messagerie externe (choix de + /// messagerie « Externe » + confirmation de l'utilisateur) : côté serveur + /// ME_Envoyer=true, ME_EnvoyerMob=true, ME_Brouillon=false. + /// Aucun envoi SMTP n'a lieu : c'est une déclaration, pas une remise. + /// + Task AddEmailEnvoyeExterneAsync( + Guid interventionGuid, + CreateEmailInterventionRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Marque un brouillon existant comme ENVOYÉ depuis une messagerie externe + /// (mêmes champs que ). Seul un + /// brouillon peut être marqué : un courriel déjà envoyé est refusé. + /// + Task UpdateEmailEnvoyeExterneAsync( + Guid interventionGuid, + string emailId, + CreateEmailInterventionRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// Récupère les configurations SMTP de l'utilisateur (appel API). + Task> GetSmtpConfigurationsAsync( + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// Récupère les modèles de courriel (appel API). + Task> GetModeleMailsAsync( + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// Récupère les modèles de rapport (appel API). + Task> GetModeleRapportsAsync( + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// Récupère les mots-clés de substitution (appel API). + Task> GetMotClefsAsync( + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// Génère un email substitué (appel API). + Task GenerateEmailAsync( + GenerateDocumentRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// Génère un rapport substitué (appel API). + Task GenerateRapportAsync( + GenerateDocumentRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// Récupère les champs/rubriques d'un modèle de rapport (appel API). + Task> GetRapportChampsAsync( + GetRapportChampsRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// Récupère les champs/rubriques d'un modèle de courriel (appel API). + Task> GetMailChampsAsync( + GetRapportChampsRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// Crée un courriel depuis un modèle (appel API, substitution serveur). + Task CreateEmailModeleAsync( + CreateEmailModeleRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// Construit l'aperçu d'un courriel (sujet + corps substitués). + Task GetEmailModeleApercuAsync( + CreateEmailModeleRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// Crée un rapport (PDF) depuis un modèle (appel API). + Task CreateRapportAsync( + CreateRapportRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère le compte rendu attaché à un rendez-vous (ou à son groupe). + /// Offline-safe : lit d'abord la copie locale, puis tente un rafraîchissement + /// serveur best-effort. Ne lève jamais d'exception réseau : hors ligne, la + /// copie locale (ou ) est retournée. + /// + Task GetCompteRenduByRendezVousAsync( + Guid rendezVousGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Crée un compte rendu attaché à un rendez-vous de façon offline-first : + /// écriture locale SQLite puis opération Outbox CREATE. Aucun appel réseau, + /// aucune attente. Le compte rendu sera synchronisé au prochain cycle. + /// + Task CreateCompteRenduAsync( + Guid rendezVousGuid, + CreateCompteRenduRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); +} diff --git a/src/Omika.App.Local/Abstractions/ILanguagePackService.cs b/src/Omika.App.Local/Abstractions/ILanguagePackService.cs new file mode 100644 index 0000000..b844edf --- /dev/null +++ b/src/Omika.App.Local/Abstractions/ILanguagePackService.cs @@ -0,0 +1,113 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Avancement d'un téléchargement de pack de langue, exprimé en octets +/// globaux (tous fichiers du pack confondus) afin que l'utilisateur voie +/// une progression continue et non redémarrant à chaque fichier. +/// +/// Index (1-based) du fichier en cours. +/// Nombre total de fichiers du pack. +/// Nom du fichier en cours. +/// Octets déjà reçus pour l'ensemble du pack. +/// Poids total annoncé du pack (0 si inconnu). +public readonly record struct ProgressionTelechargement( + int FichierIndex, + int NombreFichiers, + string NomFichier, + long OctetsTelecharges, + long TotalOctets) +{ + /// Fraction accomplie entre 0 et 1 (0 si le total est inconnu). + public double Fraction => + TotalOctets > 0 ? Math.Clamp((double)OctetsTelecharges / TotalOctets, 0d, 1d) : 0d; + + /// Libellé lisible : « 42 Mo / 122 Mo (fichier 1/3) ». + public string Libelle => + TotalOctets > 0 + ? $"{LangueDisponible.FormaterTaille(OctetsTelecharges)} / {LangueDisponible.FormaterTaille(TotalOctets)}" + : LangueDisponible.FormaterTaille(OctetsTelecharges); +} + +/// +/// Service de gestion des packs de langue côté mobile : liste des langues +/// proposées par l'API des langues, téléchargement avec vérification +/// d'intégrité SHA-256, et suppression. +/// +/// +/// L'URL de base du service est lue dans le bootstrap local +/// (MobileConfigurationDto.LanguesUrl, alimenté par le paramètre +/// SRV_LANGUES) : elle n'est jamais codée en dur dans l'application. +/// L'API des langues est anonyme : aucun jeton n'est envoyé. +/// +/// +/// +/// Les textes ne quittent jamais l'appareil : ce service ne fait que +/// descendre des modèles. +/// +/// +public interface ILanguagePackService +{ + /// + /// URL de base du service des langues (paramètre SRV_LANGUES du + /// bootstrap), ou si elle n'est pas configurée. + /// + Task GetUrlBaseAsync(CancellationToken cancellationToken = default); + + /// + /// Langues proposées, croisées avec l'état d'installation local. + /// + /// + /// à (défaut) : + /// le manifeste mémorisé localement est utilisé en priorité, ce qui rend la + /// liste disponible hors connexion. À , le + /// manifeste est rechargé depuis le serveur (et mémorisé). + /// + /// + /// + /// URL non configurée, service injoignable et aucun manifeste mémorisé. + /// + Task> ListerLanguesAsync( + bool forcerReseau = false, + CancellationToken cancellationToken = default); + + /// + /// Télécharge un pack de langue, vérifie l'empreinte SHA-256 de chaque + /// fichier, puis marque le pack comme installé. + /// + /// + /// L'opération est reprenable : les fichiers déjà présents et + /// conformes sont ignorés, et un téléchargement interrompu laisse des + /// fichiers .part qui ne sont jamais considérés comme installés. + /// + /// + /// + /// Langue absente du manifeste, téléchargement échoué, ou empreinte + /// non conforme (le pack n'est alors PAS marqué installé). + /// + Task TelechargerAsync( + string code, + IProgress? progression = null, + CancellationToken cancellationToken = default); + + /// Supprime un pack installé (libère l'espace disque). + Task SupprimerAsync(string code, CancellationToken cancellationToken = default); +} + +/// +/// Erreur de gestion d'un pack de langue, portant un message directement +/// affichable à l'utilisateur (en français, sans terme technique). +/// +public sealed class LanguagePackException : Exception +{ + public LanguagePackException(string message) + : base(message) + { + } + + public LanguagePackException(string message, Exception innerException) + : base(message, innerException) + { + } +} diff --git a/src/Omika.App.Local/Abstractions/ILanguagePackStore.cs b/src/Omika.App.Local/Abstractions/ILanguagePackStore.cs new file mode 100644 index 0000000..a311cae --- /dev/null +++ b/src/Omika.App.Local/Abstractions/ILanguagePackStore.cs @@ -0,0 +1,85 @@ +using Omika.App.Local.Models; +using Omika.Core.Contracts.Mobile.Languages; + +namespace Omika.App.Local.Abstractions; + +/// +/// Dépôt local des packs de langue (fichiers sur disque + marqueurs +/// pack.json). Aucun appel réseau : ce service ne sait que lire, écrire, +/// vérifier et supprimer ce qui est déjà sur l'appareil. +/// +/// +/// Le téléchargement lui-même appartient à . +/// Cette séparation permet de vérifier l'intégrité et l'état d'installation +/// sans réseau (écran Paramètres hors ligne, démarrage de la traduction). +/// +/// +public interface ILanguagePackStore +{ + /// Répertoire racine des packs sur l'appareil. + string Racine { get; } + + /// + /// Dernier manifeste serveur mémorisé localement, ou + /// si aucun téléchargement n'a encore eu lieu. Permet d'afficher les langues + /// disponibles hors connexion. + /// + Task GetIndexAsync(CancellationToken cancellationToken = default); + + /// Mémorise le manifeste serveur (écrit après un appel réussi). + Task EnregistrerIndexAsync( + LanguageManifestResponse manifeste, + CancellationToken cancellationToken = default); + + /// + /// Marqueur d'installation d'une langue, ou si la + /// langue n'est pas installée (ou si le marqueur est illisible : un marqueur + /// corrompu est traité comme une absence, jamais comme une installation + /// valide). + /// + Task GetPackInstalleAsync( + string code, + CancellationToken cancellationToken = default); + + /// Tous les packs installés sur l'appareil. + Task> ListerPacksInstallesAsync( + CancellationToken cancellationToken = default); + + /// + /// Écrit le marqueur d'installation. Appelé uniquement après + /// vérification de l'empreinte de tous les fichiers : c'est ce qui rend + /// fiable comme preuve d'intégrité. + /// + Task EnregistrerPackAsync( + PackLangueInstalle pack, + CancellationToken cancellationToken = default); + + /// Supprime tous les fichiers d'une langue et son marqueur. + Task SupprimerPackAsync(string code, CancellationToken cancellationToken = default); + + /// + /// Vrai si le fichier d'un modèle est présent sur le disque avec la taille + /// attendue. Ne calcule pas l'empreinte (contrôle rapide, utilisé + /// avant de décider d'un re-téléchargement). + /// + bool FichierPresent(string code, FichierModeleInstalle fichier); + + /// + /// Recalcule l'empreinte SHA-256 d'un fichier et la compare à celle + /// attendue. Retourne si le fichier est absent, + /// illisible ou ne correspond pas. + /// + Task VerifierFichierAsync( + string code, + FichierModeleInstalle fichier, + CancellationToken cancellationToken = default); + + /// Chemin absolu du fichier d'un modèle (pour l'inférence ONNX). + string CheminFichier(string code, string sens, string nomFichier); + + /// + /// Prépare l'arborescence de travail (racine + dossier temporaire) et + /// retourne le chemin du fichier partiel à écrire pour un téléchargement. + /// + string PreparerFichierPartiel(string code, string sens, string nomFichier); +} diff --git a/src/Omika.App.Local/Abstractions/ILangueSecondairePreferenceService.cs b/src/Omika.App.Local/Abstractions/ILangueSecondairePreferenceService.cs new file mode 100644 index 0000000..679befc --- /dev/null +++ b/src/Omika.App.Local/Abstractions/ILangueSecondairePreferenceService.cs @@ -0,0 +1,49 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Service de la langue secondaire de l'utilisateur connecté : réglage LOCAL, +/// disponible hors connexion. +/// +/// +/// Aucun appel réseau n'est effectué : la valeur est lue et écrite dans SQLite +/// local (table technique PreferencesUtilisateur). Elle n'est jamais +/// envoyée à l'API, jamais placée dans l'Outbox et jamais inscrite dans la base +/// HFSQL. +/// +/// +/// +/// La source de vérité de l'identité est le bootstrap local +/// (Utilisateur.Id) : sur un appareil partagé, deux utilisateurs +/// successifs conservent chacun leur propre langue secondaire. +/// +/// +public interface ILangueSecondairePreferenceService +{ + /// + /// Retourne la langue secondaire de l'utilisateur connecté. Si aucune + /// préférence n'a été enregistrée (ou si elle n'est plus exploitable), + /// est retournée : + /// jamais . + /// + Task GetAsync(CancellationToken cancellationToken = default); + + /// + /// Enregistre la langue secondaire de l'utilisateur connecté. + /// + /// Code ISO court (es, pt…). + /// Libellé affichable issu du manifeste. + /// + /// Code vide : pour retirer la langue secondaire, utiliser + /// (une suppression n'est jamais un enregistrement + /// silencieux d'une langue vide). + /// + Task SaveAsync(string code, string libelle, CancellationToken cancellationToken = default); + + /// + /// Retire la langue secondaire de l'utilisateur connecté (retour à + /// « aucune langue »). + /// + Task EffacerAsync(CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/ILicenseEnrollmentClient.cs b/src/Omika.App.Local/Abstractions/ILicenseEnrollmentClient.cs new file mode 100644 index 0000000..f48e53e --- /dev/null +++ b/src/Omika.App.Local/Abstractions/ILicenseEnrollmentClient.cs @@ -0,0 +1,31 @@ +using Omika.Core.Contracts.Mobile.License; + +namespace Omika.App.Local.Abstractions; + +/// +/// Client HTTP dédié à l'inscription/activation initiale de licence, utilisé +/// AVANT que l'URL de l'API Omika soit connue. +/// +/// Il n'appelle QUE le service de licence dont l'URL provient du QR ; il ne +/// partage aucune URL implicite avec le client métier (). +/// +public interface ILicenseEnrollmentClient +{ + /// + /// Active une licence via POST {licenseServiceUrl}/api/license/activate. + /// L'URL est validée strictement (HTTPS, non loopback) avant tout appel. + /// + Task ActivateAsync( + string licenseServiceUrl, + LicenseActivateRequest request, + CancellationToken cancellationToken = default); + + /// + /// Valide une licence déjà activée via + /// POST {licenseServiceUrl}/api/license/validate. + /// + Task ValidateAsync( + string licenseServiceUrl, + LicenseValidateRequest request, + CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/ILocalBootstrapRepository.cs b/src/Omika.App.Local/Abstractions/ILocalBootstrapRepository.cs new file mode 100644 index 0000000..c9080d4 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/ILocalBootstrapRepository.cs @@ -0,0 +1,16 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Repository de l'état de bootstrap local (profil, droits, licence, +/// configuration, paramètres métier). Survit au refresh snapshot. +/// +public interface ILocalBootstrapRepository +{ + /// Enregistre l'état de bootstrap (upsert singleton). + Task SaveAsync(LocalBootstrapState state, CancellationToken cancellationToken = default); + + /// Retourne l'état de bootstrap, ou si absent. + Task GetAsync(CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/ILocalDataMaintenanceService.cs b/src/Omika.App.Local/Abstractions/ILocalDataMaintenanceService.cs new file mode 100644 index 0000000..85c44e1 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/ILocalDataMaintenanceService.cs @@ -0,0 +1,34 @@ +namespace Omika.App.Local.Abstractions; + +/// +/// Maintenance des données locales de l'application : purge du cache document, +/// suppression des données métier (en conservant la connexion) et +/// réinitialisation complète (état « comme après installation »). +/// +public interface ILocalDataMaintenanceService +{ + /// + /// Supprime les documents/images téléchargés en cache local (fichiers + + /// table DocumentCache). Les métadonnées (DocumentMetadata) + /// sont conservées : un document peut être re-téléchargé depuis la fiche + /// intervention. Les fichiers en attente d'envoi (Outbox) ne sont pas touchés. + /// Retourne le nombre de fichiers supprimés. + /// + Task ClearDocumentCacheAsync(CancellationToken cancellationToken = default); + + /// + /// Supprime toutes les données SQLite (tables métier + techniques) SAUF les + /// paramètres de connexion (LocalBootstrap : configuration, licence, + /// identité, droits, référentiels) et les préférences d'interface + /// (UiPreferences). Une synchronisation ultérieure récupère les + /// informations de base. + /// + Task ClearAllDataAsync(CancellationToken cancellationToken = default); + + /// + /// Réinitialise l'application : supprime toutes les données SQLite, les + /// documents en cache et le token de session. L'application redevient vierge + /// (retour à l'écran d'activation), comme après une installation neuve. + /// + Task ResetAsync(CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/ILocalRepository.cs b/src/Omika.App.Local/Abstractions/ILocalRepository.cs new file mode 100644 index 0000000..2f7afd3 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/ILocalRepository.cs @@ -0,0 +1,31 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Repository générique des entités métier locales (tables issues du snapshot). +/// +/// Type d'entité locale (ex. ). +public interface ILocalRepository where TEntity : LocalEntityBase +{ + /// Nom de la table SQLite. + string TableName { get; } + + /// Insère ou remplace une entité. + Task UpsertAsync(TEntity entity, CancellationToken cancellationToken = default); + + /// Retourne une entité par son identité publique. + Task GetByIdAsync(Guid id, CancellationToken cancellationToken = default); + + /// Retourne toutes les entités. + Task> GetAllAsync(CancellationToken cancellationToken = default); + + /// Supprime une entité par son identité publique. + Task DeleteAsync(Guid id, CancellationToken cancellationToken = default); + + /// Supprime toutes les entités de la table. + Task ClearAsync(CancellationToken cancellationToken = default); + + /// Compte les entités. + Task CountAsync(CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IMapLauncher.cs b/src/Omika.App.Local/Abstractions/IMapLauncher.cs new file mode 100644 index 0000000..c0a804b --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IMapLauncher.cs @@ -0,0 +1,21 @@ +using System.Threading.Tasks; + +namespace Omika.App.Local.Abstractions; + +/// +/// Abstraction plateforme de lancement d'un itinéraire dans un outil de +/// cartographie/GPS externe à partir d'une adresse libre. Le ViewModel ne +/// connaît jamais l'implémentation Android/iOS/Desktop : il transmet l'adresse +/// à l'abstraction qui délègue à la plateforme. Aucune donnée personnelle +/// n'est loguée par cette abstraction. +/// +public interface IMapLauncher +{ + /// + /// Ouvre l'outil de cartographie externe pour calculer un itinéraire vers + /// l'adresse fournie. + /// + /// Adresse de destination (non vide). + /// si le lancement a été demandé. + Task OpenItineraireAsync(string address); +} diff --git a/src/Omika.App.Local/Abstractions/IMobileApiClient.cs b/src/Omika.App.Local/Abstractions/IMobileApiClient.cs new file mode 100644 index 0000000..070452a --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IMobileApiClient.cs @@ -0,0 +1,542 @@ +using System.Threading; +using System.Threading.Tasks; +using Omika.Core.Contracts.Clients; +using Omika.Core.Contracts.Common; +using Omika.Core.Contracts.Documents; +using Omika.Core.Contracts.Interventions; +using Omika.Core.Contracts.Mobile.Aide; +using Omika.Core.Contracts.Mobile.Bootstrap; +using Omika.Core.Contracts.Mobile.Documents; +using Omika.Core.Contracts.Mobile.Interventions; +using Omika.Core.Contracts.Mobile.License; +using Omika.Core.Contracts.Mobile.Snapshot; +using Omika.Core.Contracts.Mobile.Sync; +using Omika.Core.Contracts.Organisation; +using Omika.Core.Contracts.Planning; +using Omika.Core.Contracts.Sites; + +namespace Omika.App.Local.Abstractions; + +/// +/// Client HTTP typé vers l'API mobile Omika. +/// Réutilise les contrats backend existants (Omika.Core.Contracts.Mobile). +/// Ne recrée pas de DTO différents. +/// +public interface IMobileApiClient +{ + /// + /// Bearer token de session réseau. S'il est défini, il est ajouté à chaque + /// requête authentifiée (bootstrap, sync, documents). Le token n'est jamais + /// loggé. + /// + string? AccessToken { get; set; } + + /// + /// Active une licence via POST /api/license/activate. + /// Retourne la session (token + licence) ou la réponse d'erreur. + /// + Task ActivateAsync( + LicenseActivateRequest request, + CancellationToken cancellationToken = default); + + /// + /// Valide une licence via POST /api/license/validate. + /// Retourne la session (token + licence) ou la réponse d'erreur. + /// + Task ValidateAsync( + LicenseValidateRequest request, + CancellationToken cancellationToken = default); + + /// + /// Obtient une session technique Development via POST /api/dev/session. + /// Endpoint disponible UNIQUEMENT en Development (et si + /// DevelopmentAuth:Enabled est vrai) : il permet au Desktop Debug + /// d'obtenir un vrai token signé par le mécanisme normal de l'API, sans + /// désactiver l'authentification des endpoints métier. En Production/Release, + /// l'endpoint n'existe pas (404). + /// + Task GetDevelopmentSessionAsync(string deviceId, CancellationToken cancellationToken = default); + + + /// + /// Télécharge le bootstrap mobile via GET /api/mobile/bootstrap + /// (authentifié par Bearer token). + /// + Task GetBootstrapAsync(CancellationToken cancellationToken = default); + + /// + /// Télécharge l'aide contextuelle mobile via GET /api/mobile/aide + /// (authentifié par Bearer token). + /// + /// Les textes viennent du serveur : table Doc_Aide sur base Omika, + /// fichier doc_aide.json déployé sur base Batik. La synchronisation a + /// lieu au lancement de l'application ; l'ouverture d'une aide reste ensuite + /// purement locale (donc disponible hors connexion). + /// + /// + /// Implémentation par défaut : aucune fiche. L'aide est une donnée de + /// confort — une doublure de test (ou une plateforme sans aide serveur) n'a + /// rien à répondre, et la synchronisation ne modifie alors rien côté local. + /// + /// + Task GetAideAsync(CancellationToken cancellationToken = default) + => Task.FromResult(new MobileAideResponse()); + + /// + /// Envoie une opération de l'Outbox vers POST /api/sync/operations. + /// Retourne le reçu (RECEIVED). + /// + Task SendOperationAsync( + SyncOperation operation, + CancellationToken cancellationToken = default); + + /// + /// Interroge le statut d'une opération via GET /api/sync/status/{operationId}. + /// + Task GetStatusAsync( + Guid operationId, + CancellationToken cancellationToken = default); + + /// + /// Télécharge le snapshot métier via GET /api/sync/snapshot. + /// + Task GetSnapshotAsync(CancellationToken cancellationToken = default); + + /// + /// Recherche des interventions à la demande via POST /api/interventions/search + /// (authentifié). Renvoie uniquement des interventions non archivées. + /// + Task> SearchInterventionsAsync( + MobileInterventionSearchRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère en bulk des interventions via POST /api/interventions/by-ids. + /// Une seule requête quel que soit le nombre d'identifiants. + /// + Task> GetInterventionsByIdsAsync( + MobileInterventionsByIdsRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Recherche des dossiers à la demande via GET /api/dossiers + /// (authentifié). Recherche partielle (LIKE) côté serveur sur les références, + /// le titre et le client, avec jointure Client. Renvoie uniquement des + /// dossiers non archivés. + /// + Task> SearchDossiersAsync( + SearchDossiersRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère le détail d'un dossier par identité publique via + /// GET /dossiers/{id}. Utilisé en repli quand le dossier n'est pas + /// présent dans le snapshot local (recherche plein référentiel). + /// + Task GetDossierByIdAsync( + Guid dossierGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère le détail d'une intervention par identité publique via + /// GET /interventions/{id}. Utilisé en repli quand l'intervention + /// n'est pas dans le snapshot/cache local (ex. ouverte depuis un dossier). + /// + Task GetInterventionByIdAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère le détail d'un client par identité publique via + /// GET /clients/{id}. Utilisé en repli quand le client n'est pas + /// présent dans le snapshot local. + /// + Task GetClientByIdAsync( + Guid clientGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Recherche des clients à la demande via GET /api/clients (paginée). + /// Utilisée par les listes quand le snapshot local ne porte plus les clients. + /// + Task> SearchClientsAsync( + SearchClientsRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Recherche des collaborateurs à la demande via GET /collaborateurs. + /// + Task> SearchCollaborateursAsync( + SearchCollaborateurRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère le détail d'un collaborateur par identité publique via + /// GET /collaborateurs/{id}. Utilisé en repli quand le collaborateur + /// n'est pas présent dans le snapshot local (ex. membre d'une équipe). + /// + Task GetCollaborateurByIdAsync( + Guid collaborateurGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère la licence mobile d'un collaborateur via + /// GET /collaborateurs/{id}/licence-mobile. Retourne + /// si aucune licence mobile n'est attribuée. + /// + Task GetCollaborateurLicenceAsync( + Guid collaborateurGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Attribue une licence mobile libre au collaborateur via + /// POST /collaborateurs/{id}/licence-mobile/assign. + /// + Task AssignMobileLicenceAsync( + Guid collaborateurGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Libère la licence mobile du collaborateur via + /// POST /collaborateurs/{id}/licence-mobile/release. + /// + Task ReleaseMobileLicenceAsync( + Guid collaborateurGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère à la demande les équipes du collaborateur authentifié via + /// GET /equipes (uniquement celles où il est présent, avec membres). + /// + Task> GetEquipesAsync( + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère TOUTES les équipes de la base via GET /equipes/all (avec + /// membres et nom de la société de rattachement), sans filtrage par appartenance. + /// + Task> GetAllEquipesAsync( + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Recherche des sites à la demande via GET /api/sites (paginée). + /// + Task> SearchSitesAsync( + SearchSitesRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère le détail d'un site par identité publique via GET /sites/{id}. + /// Utilisé en repli quand le site n'est pas présent dans le cache local. + /// + Task GetSiteByIdAsync( + Guid siteGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère à la demande les contacts liés à un site via + /// GET /api/sites/{id}/contacts. + /// + Task> GetContactsBySiteAsync( + Guid siteGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère à la demande un contact par son identité publique via + /// GET /contacts/{id}. Utilisé en repli quand le contact n'est pas + /// présent dans la table locale Personne (ex. contact d'un site chargé à la + /// demande). + /// + Task GetContactByIdAsync( + Guid contactGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère à la demande les clients liés à un site via + /// GET /api/sites/{id}/clients. + /// + Task> GetClientsBySiteAsync( + Guid siteGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère à la demande les rendez-vous liés à un site via + /// GET /api/sites/{id}/rendez-vous. + /// + Task> GetRendezVousBySiteAsync( + Guid siteGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère à la demande l'agenda d'un collaborateur via + /// GET /api/collaborateurs/{id}/rendez-vous. La période porte sur la + /// date de début d'affectation du collaborateur (pas la date racine du RDV). + /// + Task> GetRendezVousByCollaborateurAsync( + Guid collaborateurGuid, + DateTime debutMin, + DateTime debutMax, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère à la demande l'agenda d'un ensemble de collaborateurs (équipe) + /// via POST /api/collaborateurs/rendez-vous, en un seul aller-retour. + /// + Task> GetRendezVousByCollaborateursAsync( + IReadOnlyList collaborateurGuids, + DateTime debutMin, + DateTime debutMax, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère à la demande un rendez-vous par son identité publique via + /// GET /rendez-vous/{id}. Utilisé en repli quand le rendez-vous + /// n'est pas présent dans le snapshot local (ex. rendez-vous ancien). + /// + Task GetRendezVousByIdAsync( + Guid rendezVousGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Recherche les saisies de temps à la demande via GET /api/suivis-temps + /// (paginée, filtrée par période). Utilisée en repli quand le cache local est vide. + /// + Task> GetSuivisTempsAsync( + SuiviTempsSearchCriteria criteria, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère à la demande les rendez-vous liés à une intervention via + /// GET /api/interventions/{id}/rendez-vous (tous collaborateurs). + /// + Task> GetRendezVousByInterventionAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère à la demande les notes internes liées à une intervention via + /// GET /api/interventions/{id}/notes. + /// + Task> GetNotesByInterventionAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Ajoute une note interne via POST /api/interventions/{id}/notes. + /// + Task AddNoteByInterventionAsync( + Guid interventionGuid, + string contenu, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère les notes administratives via + /// GET /api/interventions/{id}/notes-administratives. + /// + Task> GetNotesAdministrativesByInterventionAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Ajoute une note administrative via + /// POST /api/interventions/{id}/notes-administratives. + /// + Task AddNoteAdministrativeByInterventionAsync( + Guid interventionGuid, + string contenu, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère les notes d'un document via GET /api/documents/{id}/notes. + /// + Task> GetNotesByDocumentAsync( + Guid documentGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère à la demande les courriels liés à une intervention via + /// GET /api/interventions/{id}/emails. + /// + Task> GetEmailsByInterventionAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Crée un courriel lié à une intervention via + /// POST /api/interventions/{id}/emails. + /// + Task AddEmailByInterventionAsync( + Guid interventionGuid, + CreateEmailInterventionRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Met à jour un brouillon de courriel via + /// PUT /api/interventions/{id}/emails/{emailId}. + /// + Task UpdateEmailByInterventionAsync( + Guid interventionGuid, + string emailId, + CreateEmailInterventionRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Envoie un courriel via le serveur (SMTP) puis enregistre la trace. + /// non nul envoie un brouillon existant, sinon crée + /// un nouveau courriel envoyé. + /// + Task SendEmailByInterventionAsync( + Guid interventionGuid, + string? emailId, + CreateEmailInterventionRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Enregistre un courriel déclaré ENVOYÉ depuis une messagerie externe (aucun + /// envoi SMTP) via POST /api/interventions/{id}/emails/envoye-externe. + /// + Task AddEmailEnvoyeExterneAsync( + Guid interventionGuid, + CreateEmailInterventionRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Marque un brouillon existant comme envoyé depuis une messagerie externe via + /// PUT /api/interventions/{id}/emails/{emailId}/envoye-externe. + /// + Task UpdateEmailEnvoyeExterneAsync( + Guid interventionGuid, + string emailId, + CreateEmailInterventionRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère les configurations SMTP de l'utilisateur (sans information + /// sensible) via GET /api/mails/configurations-smtp. + /// + Task> GetSmtpConfigurationsAsync( + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère les modèles de courriel via GET /modele-mails. + /// + Task> GetModeleMailsAsync( + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère les modèles de rapport via GET /modele-rapports. + /// + Task> GetModeleRapportsAsync( + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère les mots-clés de substitution via GET /mot-clefs. + /// + Task> GetMotClefsAsync( + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Génère un email substitué via POST /generation/email. Retourne + /// si le modèle est introuvable. + /// + Task GenerateEmailAsync( + GenerateDocumentRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Génère un rapport substitué via POST /generation/rapport. Retourne + /// si le modèle est introuvable. + /// + Task GenerateRapportAsync( + GenerateDocumentRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère les champs/rubriques d'un modèle de rapport pour une intervention + /// via POST /api/rapports/champs (auto-remplis depuis la base). + /// + Task> GetRapportChampsAsync( + GetRapportChampsRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère les champs/rubriques d'un modèle de courriel via + /// POST /api/mails/champs (auto-remplis depuis la base). + /// + Task> GetMailChampsAsync( + GetRapportChampsRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Crée un courriel depuis un modèle via POST /api/mails. Retourne + /// si le modèle est introuvable. + /// + Task CreateEmailModeleAsync( + CreateEmailModeleRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Construit l'aperçu (sujet + corps substitués) via POST /api/mails/apercu. + /// Retourne si le modèle est introuvable. + /// + Task GetEmailModeleApercuAsync( + CreateEmailModeleRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Crée un rapport (PDF) depuis un modèle via POST /api/rapports. + /// Retourne si le modèle est introuvable. + /// + Task CreateRapportAsync( + CreateRapportRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Récupère À LA DEMANDE les métadonnées des documents d'une intervention via + /// GET /api/interventions/{id}/documents. Le serveur renvoie uniquement + /// les documents de l'intervention demandée. + /// + Task> GetDocumentsByInterventionAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Ajoute une note à un document via POST /api/documents/{id}/notes. + /// + Task AddNoteByDocumentAsync( + Guid documentGuid, + string contenu, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Télécharge un document via GET /api/documents/{documentGuid}. + /// + Task DownloadDocumentAsync( + Guid documentGuid, + CancellationToken cancellationToken = default); + + /// + /// Upload un document via POST /api/documents. + /// + Task UploadDocumentAsync( + DocumentUploadRequest request, + CancellationToken cancellationToken = default); + + /// + /// Récupère le compte rendu attaché à un rendez-vous (ou à son groupe) via + /// GET /rendez-vous/{id}/compte-rendu. Retourne + /// si aucun compte rendu n'existe. + /// + Task GetCompteRenduByRendezVousAsync( + Guid rendezVousGuid, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); + + /// + /// Crée un compte rendu attaché à un rendez-vous via + /// POST /rendez-vous/{id}/compte-rendu. + /// + Task CreateCompteRenduAsync( + Guid rendezVousGuid, + CreateCompteRenduRequest request, + CancellationToken cancellationToken = default) => throw new NotSupportedException(); +} diff --git a/src/Omika.App.Local/Abstractions/IMobileEnrollmentStore.cs b/src/Omika.App.Local/Abstractions/IMobileEnrollmentStore.cs new file mode 100644 index 0000000..e9a22a3 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IMobileEnrollmentStore.cs @@ -0,0 +1,22 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Stockage local de la configuration d'inscription de l'appareil. +/// Généré dynamiquement après inscription ; jamais fourni avec l'application. +/// +public interface IMobileEnrollmentStore +{ + /// + /// Retourne la configuration d'inscription, ou si + /// l'appareil n'est pas inscrit. + /// + Task LoadAsync(CancellationToken cancellationToken = default); + + /// Enregistre (ou remplace) la configuration d'inscription (singleton). + Task SaveAsync(MobileEnrollmentConfiguration configuration, CancellationToken cancellationToken = default); + + /// Supprime la configuration d'inscription (désinscription). + Task ClearAsync(CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IMobileIdentityReconciliationService.cs b/src/Omika.App.Local/Abstractions/IMobileIdentityReconciliationService.cs new file mode 100644 index 0000000..ab3370d --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IMobileIdentityReconciliationService.cs @@ -0,0 +1,34 @@ +namespace Omika.App.Local.Abstractions; + +/// +/// Service de réconciliation des identités locales. +/// Cas CREATE Batik : le mobile crée localement RequestedEntityGuid = A, le +/// serveur répond CanonicalEntityGuid = B. Ce service enregistre A → B puis +/// réconcilie de manière transactionnelle les données locales concernées +/// (PK logique, références enfants, Outbox en attente). +/// +public interface IMobileIdentityReconciliationService +{ + /// + /// Réconcilie une identité locale A vers son identité canonique B. + /// Idempotent : un second traitement de la même réconciliation ne produit + /// aucun effet dangereux. Si A == B, aucun effet. + /// + /// Type d'entité (ex. SyncEntityTypes.Intervention). + /// Identité locale demandée (A). + /// Identité publique canonique (B). + Task ReconcileAsync( + string entityType, + Guid requestedGuid, + Guid canonicalGuid, + CancellationToken cancellationToken = default); + + /// + /// Résout une identité locale A vers son identité canonique B. + /// Retourne si aucune correspondance. + /// + Task ResolveAsync( + string entityType, + Guid requestedGuid, + CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IMobileSessionService.cs b/src/Omika.App.Local/Abstractions/IMobileSessionService.cs new file mode 100644 index 0000000..39192cc --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IMobileSessionService.cs @@ -0,0 +1,107 @@ +using System.Threading; +using System.Threading.Tasks; +using Omika.App.Local.Models; +using Omika.Core.Contracts.Mobile.License; + +namespace Omika.App.Local.Abstractions; + +/// +/// État de session mobile : token sécurisé + données bootstrap locales. +/// Gère l'activation, la validation, la persistance du token (secure storage) +/// et le calcul de la période offline autorisée. +/// +/// Règles : +/// - Le token n'est jamais stocké en SQLite en clair (secure storage dédié). +/// - Une licence expirée/révoquée ne supprime jamais les données locales +/// (SQLite métier, cache, Documents, Outbox). +/// - Session déjà validée + période offline autorisée → accès aux données +/// SQLite sans connexion obligatoire. +/// +public interface IMobileSessionService +{ + /// + /// Indique si une session valide est présente localement (token + bootstrap). + /// + Task HasValidSessionAsync(CancellationToken cancellationToken = default); + + /// + /// Indique si une session est présente mais expirée (hors période offline). + /// + Task HasExpiredSessionAsync(CancellationToken cancellationToken = default); + + /// + /// Active la licence via le serveur, persiste le token (secure storage) et + /// les données bootstrap (SQLite). Retourne la réponse de licence. + /// + Task ActivateAsync( + string codeClient, + string numeroLicence, + CancellationToken cancellationToken = default); + + /// + /// Persiste une session d'inscription réussie : token en secure storage et + /// bootstrap local, puis branche le token sur le client API (déjà configuré + /// avec l'URL de l'API Omika retournée par le serveur de licence). + /// + Task ApplyEnrollmentSessionAsync( + MobileLicenseSessionResponse session, + CancellationToken cancellationToken = default) + => Task.CompletedTask; + + /// + /// Valide la session courante auprès du serveur et rafraîchit le token et + /// le bootstrap si la licence reste valide. + /// + Task ValidateAsync(CancellationToken cancellationToken = default); + + /// + /// Retourne l'état de bootstrap local (profil, droits, licence, config), + /// ou si aucune session. + /// + Task GetBootstrapAsync(CancellationToken cancellationToken = default); + + /// + /// Retourne le token de session courant, ou si absent. + /// + Task GetAccessTokenAsync(CancellationToken cancellationToken = default); + + /// + /// En Development/Debug uniquement, s'assure qu'une session réseau technique + /// existe (token signé par l'API via l'endpoint Development). Si la licence + /// Development locale est activée et qu'aucun token n'est encore présent, + /// obtient un token via POST /api/dev/session et persiste la session. + /// En Release, ne fait rien (comportement normal inchangé). + /// + Task EnsureDevelopmentSessionAsync(CancellationToken cancellationToken = default); + + /// + /// Rafraîchit le bootstrap (référentiels ParametreMetier, équipes, + /// collaborateurs) depuis l'API et le persiste localement, sans toucher au + /// token. Utilisé par la synchronisation à la demande. + /// + Task RefreshBootstrapAsync(CancellationToken cancellationToken = default) + => Task.CompletedTask; + + /// + /// S'assure qu'un token utilisable est disponible : si le token courant est + /// absent ou localement expiré, tente un renouvellement single-flight via + /// license/validate. Ne supprime jamais la session, n'émet jamais de + /// QR. Retourne l'issue détaillée (succès, rejet terminal, erreur réseau). + /// + Task EnsureValidSessionAsync(CancellationToken cancellationToken = default) + => Task.FromResult(new SessionRevalidationResult { Outcome = SessionRevalidationOutcome.NoSession }); + + /// + /// Renouvelle la session (single-flight) après un 401. + /// est le token qui a produit le 401 : si un autre appel a déjà renouvelé le + /// token entre-temps, aucun nouvel appel serveur n'est émis. + /// + Task RevalidateSessionAsync(string? failedToken, CancellationToken cancellationToken = default) + => Task.FromResult(new SessionRevalidationResult { Outcome = SessionRevalidationOutcome.NoSession }); + + + /// + /// Supprime la session (token + bootstrap) sans toucher aux données métier. + /// + Task ClearSessionAsync(CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IMobileTokenProvider.cs b/src/Omika.App.Local/Abstractions/IMobileTokenProvider.cs new file mode 100644 index 0000000..59000f6 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IMobileTokenProvider.cs @@ -0,0 +1,15 @@ +namespace Omika.App.Local.Abstractions; + +/// +/// Fournisseur du token d'authentification mobile. +/// Le token doit être stocké dans un secure storage dédié (jamais dans les +/// tables métier ordinaires). Cette abstraction isole la source du token. +/// +public interface IMobileTokenProvider +{ + /// + /// Retourne le token Bearer courant, ou si non + /// authentifié. + /// + Task GetTokenAsync(CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/INetworkConnectivity.cs b/src/Omika.App.Local/Abstractions/INetworkConnectivity.cs new file mode 100644 index 0000000..9629b28 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/INetworkConnectivity.cs @@ -0,0 +1,14 @@ +namespace Omika.App.Local.Abstractions; + +/// +/// Abstraction de connectivité réseau. Les tests peuvent simuler online/offline. +/// La logique Sync ne dépend jamais d'une API Android/iOS statique. +/// +public interface INetworkConnectivity +{ + /// + /// Indique si le réseau est disponible. Retourne + /// quand l'appareil est hors ligne. + /// + Task IsOnlineAsync(CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/INoteDocumentLocalRepository.cs b/src/Omika.App.Local/Abstractions/INoteDocumentLocalRepository.cs new file mode 100644 index 0000000..a4e5939 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/INoteDocumentLocalRepository.cs @@ -0,0 +1,31 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Accès aux notes de documents / photos stockées localement (table technique +/// NoteDocument). Aucun appel API : c'est ce qui rend la saisie d'une +/// note possible HORS LIGNE. +/// +public interface INoteDocumentLocalRepository +{ + /// Insère ou remplace une note de document. + Task UpsertAsync(LocalNoteDocument note, CancellationToken cancellationToken = default); + + /// Retourne les notes d'un document, les plus récentes d'abord. + Task> GetByDocumentAsync( + Guid documentId, CancellationToken cancellationToken = default); + + /// Supprime une note précise. + Task DeleteAsync(Guid noteId, CancellationToken cancellationToken = default); + + /// + /// Supprime les notes d'un document dont l'identité n'a plus d'opération + /// Outbox en attente : elles ont été confirmées par le serveur et seront + /// rechargées depuis l'API. Les notes encore en attente d'envoi (ou en + /// réémission) sont conservées : une saisie utilisateur non confirmée ne + /// doit jamais être perdue. + /// + Task DeleteNonPendingByDocumentAsync( + Guid documentId, CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/INoteInterneLocalRepository.cs b/src/Omika.App.Local/Abstractions/INoteInterneLocalRepository.cs new file mode 100644 index 0000000..d655a7c --- /dev/null +++ b/src/Omika.App.Local/Abstractions/INoteInterneLocalRepository.cs @@ -0,0 +1,29 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Accès aux notes internes / administratives locales (table technique +/// NoteInterne). Aucun appel API. +/// +public interface INoteInterneLocalRepository +{ + /// Insère ou remplace une note locale. + Task UpsertAsync(LocalNoteInterne note, CancellationToken cancellationToken = default); + + /// Retourne toutes les notes (internes et administratives) d'une intervention. + Task> GetByInterventionAsync( + Guid interventionId, CancellationToken cancellationToken = default); + + /// Supprime une note précise. + Task DeleteAsync(Guid noteId, CancellationToken cancellationToken = default); + + /// + /// Supprime les notes de l'intervention (et du type donné) dont l'identité + /// n'a plus d'opération Outbox en attente : elles ont été confirmées par le + /// serveur et seront rechargées depuis l'API. Les notes encore en attente + /// d'envoi sont conservées. + /// + Task DeleteNonPendingByInterventionAsync( + Guid interventionId, bool estAdministrative, CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IOnnxInferenceSessionFactory.cs b/src/Omika.App.Local/Abstractions/IOnnxInferenceSessionFactory.cs new file mode 100644 index 0000000..ba011d7 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IOnnxInferenceSessionFactory.cs @@ -0,0 +1,76 @@ +namespace Omika.App.Local.Abstractions; + +/// +/// Fabrique de sessions d'inférence ONNX : unique point de contact entre +/// le pipeline de traduction et le moteur d'exécution ONNX Runtime. +/// +/// +/// Pourquoi cette abstraction existe. Le reste de l'application +/// (dictée, bouton « Traduire », écran Paramètres, téléchargement des modèles) +/// ne doit dépendre ni du paquet NuGet Microsoft.ML.OnnxRuntime, ni de +/// ses types. Deux raisons : +/// +/// +/// le paquet n'est requis que sur les têtes mobile ; le Desktop et +/// les tests unitaires doivent pouvoir compiler et s'exécuter sans lui ; +/// une absence de moteur doit être un état géré (message clair à +/// l'utilisateur) et jamais un plantage au démarrage. +/// +/// +/// +/// L'implémentation réelle (OnnxRuntimeInferenceSessionFactory) est le +/// seul fichier à activer le jour où le paquet ONNX Runtime est ajouté au +/// projet. Tant qu'aucune implémentation n'est installée, +/// répond +/// = et l'interface affiche +/// « traduction indisponible sur cet appareil » au lieu de proposer un bouton +/// qui échouerait. +/// +/// +public interface IOnnxInferenceSessionFactory +{ + /// + /// Vrai si un moteur d'inférence est réellement utilisable sur cette + /// plateforme (bibliothèque native présente et chargeable). + /// + bool EstDisponible { get; } + + /// Nom du moteur (« ONNX Runtime 1.x »), pour le diagnostic. + string NomMoteur { get; } + + /// + /// Ouvre une session sur un fichier .onnx. + /// + /// + /// Modèle illisible, corrompu, ou moteur indisponible. + /// + IOnnxInferenceSession Ouvrir(string cheminModele); +} + +/// +/// Session d'inférence sur un modèle ONNX chargé. +/// +/// +/// Le contrat est synchrone : l'inférence ONNX Runtime l'est, et +/// l'appelant () est seul responsable de ne pas +/// exécuter un calcul long sur le thread d'interface. +/// +/// +public interface IOnnxInferenceSession : IDisposable +{ + /// Noms des entrées attendues par le modèle. + IReadOnlyList NomsEntrees { get; } + + /// Noms des sorties produites par le modèle. + IReadOnlyList NomsSorties { get; } + + /// + /// Exécute le modèle. Les clés de doivent + /// appartenir à . + /// + /// + /// Entrée manquante ou de type incompatible, ou échec du moteur. + /// + IReadOnlyDictionary Executer( + IReadOnlyDictionary entrees); +} diff --git a/src/Omika.App.Local/Abstractions/IOutboxPayloadRewriter.cs b/src/Omika.App.Local/Abstractions/IOutboxPayloadRewriter.cs new file mode 100644 index 0000000..858f011 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IOutboxPayloadRewriter.cs @@ -0,0 +1,18 @@ +namespace Omika.App.Local.Abstractions; + +/// +/// Réécrit le payload JSON d'une opération Outbox lors d'une réconciliation +/// d'identité (A → B). Évite les string.Replace aveugles : chaque type +/// d'entité fournit un mécanisme typé fiable. +/// +public interface IOutboxPayloadRewriter +{ + /// Type d'entité géré (ex. SyncEntityTypes.Intervention). + string EntityType { get; } + + /// + /// Réécrit le payload en remplaçant la référence à l'ancien GUID par le + /// nouveau GUID canonique. Retourne le payload réécrit. + /// + string Rewrite(string payload, Guid oldGuid, Guid newGuid); +} diff --git a/src/Omika.App.Local/Abstractions/IOutboxRepository.cs b/src/Omika.App.Local/Abstractions/IOutboxRepository.cs new file mode 100644 index 0000000..600a81e --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IOutboxRepository.cs @@ -0,0 +1,127 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Repository de l'Outbox locale. +/// +public interface IOutboxRepository +{ + /// Ajoute une opération à l'Outbox. + Task AddAsync(OutboxOperation operation, CancellationToken cancellationToken = default); + + /// Met à jour une opération existante. + Task UpdateAsync(OutboxOperation operation, CancellationToken cancellationToken = default); + + /// Retourne une opération par son OperationId. + Task GetByIdAsync(Guid operationId, CancellationToken cancellationToken = default); + + /// + /// Retourne les opérations prêtes à être envoyées, dans l'ordre logique + /// CREATE → UPDATE → DELETE/ARCHIVE, puis par date de création. + /// + Task> GetReadyAsync(CancellationToken cancellationToken = default); + + /// + /// Retourne les opérations en attente de résultat (Accepted / WaitingResult). + /// + Task> GetWaitingResultAsync(CancellationToken cancellationToken = default); + + /// + /// Retourne toutes les opérations non synchronisées (Pending / Sending / + /// Accepted / WaitingResult), triées par date de création décroissante + /// (les plus récentes d'abord), pour l'affichage de la file de synchronisation. + /// + Task> GetPendingOperationsAsync(CancellationToken cancellationToken = default); + + /// + /// Retourne les opérations non encore envoyées (Pending / Sending), triées par + /// date de création décroissante (les plus récentes d'abord), pour l'affichage + /// de la file « à envoyer ». Les opérations déjà envoyées (Accepted / + /// WaitingResult) sont exclues : elles ne dépendent plus de l'appareil et sont + /// suivies par le moteur de confirmation, pas affichées ici. + /// + Task> GetNotYetSentAsync(CancellationToken cancellationToken = default); + + /// + /// Retourne les opérations rejetées (Rejected), pour affichage d'un état + /// visuel sans supprimer le fichier local ni la metadata. + /// + Task> GetRejectedAsync(CancellationToken cancellationToken = default); + + + /// + /// Retourne les opérations dans un état temporaire (Sending / WaitingResult) + /// laissées après un crash, pour récupération au démarrage. + /// + Task> GetTemporaryStateAsync(CancellationToken cancellationToken = default); + + /// + /// Réinitialise les opérations dans un état temporaire vers + /// (récupération après crash). + /// + Task RecoverTemporaryStatesAsync(CancellationToken cancellationToken = default); + + /// + /// Remet en les seules opérations restées en + /// « Envoi en cours » () : envoi interrompu par + /// un arrêt de l'application, une annulation en pleine émission ou un échec + /// d'écriture locale. Sans cette remise en attente, une opération dans cet état + /// n'est plus jamais sélectionnée par (qui ne lit que + /// ) : elle resterait indéfiniment visible comme + /// « en attente » sans jamais partir. + /// + /// Les opérations en attente de résultat serveur + /// ( / ) + /// ne sont volontairement PAS touchées : elles sont suivies par + /// et se rétablissent par l'interrogation de + /// leur statut (les remettre en attente provoquerait une réémission inutile à + /// chaque cycle d'une opération déjà reçue par le serveur). + /// + /// Idempotent. + /// + Task RecoverSendingStatesAsync(CancellationToken cancellationToken = default); + + /// + /// Met à jour les références d'une opération lors d'une réconciliation + /// d'identité (RequestedEntityGuid → CanonicalEntityGuid). + /// + Task ReconcileReferencesAsync( + string entityType, + Guid requestedGuid, + Guid canonicalGuid, + CancellationToken cancellationToken = default); + + /// Compte les opérations non synchronisées (Pending/Sending/Accepted/WaitingResult). + Task CountPendingAsync(CancellationToken cancellationToken = default); + + /// + /// Compte les opérations non encore envoyées (Pending / Sending). Utilisé pour + /// le badge « à envoyer ». Les opérations déjà envoyées (Accepted / + /// WaitingResult) ne sont pas comptées : elles sont hors de portée de + /// l'appareil et restent suivies par le moteur de confirmation. + /// + Task CountNotYetSentAsync(CancellationToken cancellationToken = default); + + /// + /// Retourne les identités d'entités (RequestedEntityGuid) ayant au moins une + /// opération locale en attente (non confirmée par le serveur) pour le type + /// d'entité donné. Utilisé pour ne pas écraser une mutation locale en attente + /// par un snapshot serveur plus ancien. + /// + Task> GetPendingEntityGuidsAsync( + string entityType, + CancellationToken cancellationToken = default); + + /// + /// Indique si une opération locale active (Pending / Sending / Accepted / + /// WaitingResult) existe pour le type d'entité et le GUID d'entité donnés. + /// Utilisé pour différer une opération enfant (ex. une note) tant que + /// l'opération de son entité parente (ex. l'intervention) n'est pas terminée + /// et réconciliée. + /// + Task HasActiveOperationAsync( + string entityType, + Guid requestedEntityGuid, + CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IOutboxService.cs b/src/Omika.App.Local/Abstractions/IOutboxService.cs new file mode 100644 index 0000000..eb6c9a7 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IOutboxService.cs @@ -0,0 +1,33 @@ +using Omika.Core.Contracts.Mobile.Sync; + +namespace Omika.App.Local.Abstractions; + +/// +/// Service de l'Outbox locale. Chaque mutation métier locale produit une +/// opération Outbox via . +/// +public interface IOutboxService +{ + /// + /// Ajoute une opération à l'Outbox. Un est généré + /// comme OperationId (créé UNE fois, ne change jamais). + /// + Task EnqueueAsync( + string entityType, + SyncOperationType operationType, + Guid requestedEntityGuid, + string payload, + string? dependencyEntityType = null, + Guid? dependencyRequestedEntityGuid = null, + CancellationToken cancellationToken = default); + + /// Compte les opérations non synchronisées. + Task CountPendingAsync(CancellationToken cancellationToken = default); + + /// + /// Compte les opérations non encore envoyées (Pending / Sending), pour le + /// badge « à envoyer ». Les opérations déjà envoyées (Accepted / WaitingResult) + /// sont exclues : elles ne dépendent plus de l'appareil. + /// + Task CountNotYetSentAsync(CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IParametreMetierLocalService.cs b/src/Omika.App.Local/Abstractions/IParametreMetierLocalService.cs new file mode 100644 index 0000000..950bb96 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IParametreMetierLocalService.cs @@ -0,0 +1,126 @@ +using Omika.Core.Contracts.Common; +using Omika.Core.Contracts.Configuration; + +namespace Omika.App.Local.Abstractions; + +/// +/// Service de lecture du référentiel ParametreMetier depuis les données locales +/// SQLite (bootstrap). Ne déclenche aucun appel API : les données proviennent +/// exclusivement du dernier bootstrap local. +/// +public interface IParametreMetierLocalService +{ + /// + /// Retourne la liste ordonnée des types de temps (référentiel TypeTemps) + /// depuis le bootstrap local. Chaque option expose la clé métier canonique + /// (Key) utilisable comme SuiviTempsSyncPayload.TypeTempsKey + /// et le libellé métier (Label). Ne déclenche aucun appel API. + /// + Task> GetTypeTempsAsync( + CancellationToken cancellationToken = default); + + /// + /// Retourne les paramètres JSON (PA_Parametre) d'un type de temps par + /// sa clé métier, ou si absent/vide. + /// + Task GetTypeTempsParametresAsync( + string typeTempsKey, + CancellationToken cancellationToken = default); + + /// + /// Retourne tous les types de temps du référentiel avec leurs paramètres déjà + /// décodés, en une seule lecture du bootstrap local. + /// + /// + /// Les règles de saisie (plage horaire, seuil d'obligation, types de RDV + /// autorisés) doivent être évaluées pour l'ensemble du référentiel : appeler + /// type par type relirait le bootstrap + /// autant de fois, ce qui est inutilement coûteux (lecture SQLite + JSON). + /// + /// + /// + /// L'implémentation par défaut compose les deux méthodes existantes : les + /// implémentations qui savent lire le bootstrap d'un coup la remplacent. + /// + /// + async Task> GetTypeTempsAvecParametresAsync( + CancellationToken cancellationToken = default) + { + IReadOnlyList types = await GetTypeTempsAsync(cancellationToken); + var resultat = new List(types.Count); + + foreach (ReferenceValueDto type in types) + { + resultat.Add(new TypeTempsParametre( + type, + await GetTypeTempsParametresAsync(type.Key ?? string.Empty, cancellationToken))); + } + + return resultat; + } + + /// + /// Retourne les paramètres JSON (PA_Parametre) d'un type de rendez-vous + /// par sa clé métier, ou si absent/vide. + /// + Task GetTypeRdvParametresAsync( + string typeRdvKey, + CancellationToken cancellationToken = default); + + /// + /// Retourne les paramètres JSON (PA_Parametre) d'un statut de + /// rendez-vous par sa clé métier, ou si absent/vide. + /// + Task GetStatutRdvParametresAsync( + string statutRdvKey, + CancellationToken cancellationToken = default); + + Task> GetInterventionTypesAsync( + CancellationToken cancellationToken = default); + + Task> GetInterventionEtatsAsync( + CancellationToken cancellationToken = default); + + /// Types de dossier (catégorie « Type de dossier »). + Task> GetDossierTypesAsync( + CancellationToken cancellationToken = default); + + /// Statuts de dossier (catégorie « Statut de dossier »). + Task> GetDossierStatutsAsync( + CancellationToken cancellationToken = default); + + /// Types de client (catégorie « Type client »). + Task> GetClientTypesAsync( + CancellationToken cancellationToken = default); + + /// Statuts de client (catégorie « Statut client »). + Task> GetClientStatutsAsync( + CancellationToken cancellationToken = default); + + /// Types de lieu / site (catégorie « Type de lieu »). + Task> GetSiteTypesAsync( + CancellationToken cancellationToken = default); + + /// + /// Types de signataire d'un compte rendu (Batik : code « 32 », Omika : + /// catégorie « T.SIGN ») — ex. Propriétaire, Locataire, Gestionnaire. + /// + Task> GetTypeSignatairesAsync( + CancellationToken cancellationToken = default); + + /// + /// Origines d'annulation d'un rendez-vous (Batik : code « 34 », Omika : + /// catégorie « O.ANU.RDV ») — ex. Externe : Client, Interne : Collaborateur. + /// + Task> GetOriginesAnnulationAsync( + CancellationToken cancellationToken = default) + => Task.FromResult>([]); + + /// + /// Motifs d'annulation d'un rendez-vous (Batik : code « 35 », Omika : + /// catégorie « M.ANU.RDV ») — ex. Absent, Empêchement. + /// + Task> GetMotifsAnnulationAsync( + CancellationToken cancellationToken = default) + => Task.FromResult>([]); +} diff --git a/src/Omika.App.Local/Abstractions/IPauseDejeunerPreferenceService.cs b/src/Omika.App.Local/Abstractions/IPauseDejeunerPreferenceService.cs new file mode 100644 index 0000000..da2730e --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IPauseDejeunerPreferenceService.cs @@ -0,0 +1,41 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Service des horaires habituels de pause déjeuner : réglage LOCAL à +/// l'utilisateur connecté, disponible hors connexion. +/// +/// +/// Aucun appel réseau n'est effectué : la valeur est lue et écrite dans SQLite +/// local. Elle n'est jamais envoyée à l'API, jamais placée dans l'Outbox et +/// jamais inscrite dans la base HFSQL. +/// +/// +/// +/// La source de vérité de l'identité est le bootstrap local +/// (Utilisateur.Id) : deux utilisateurs successifs sur le même appareil +/// ont donc chacun leurs propres horaires. +/// +/// +public interface IPauseDejeunerPreferenceService +{ + /// + /// Retourne les horaires habituels de l'utilisateur connecté. Si aucune + /// préférence n'a été enregistrée (ou si elle n'est plus exploitable), les + /// valeurs par défaut centralisées sont retournées. + /// + Task GetAsync(CancellationToken cancellationToken = default); + + /// + /// Enregistre les horaires habituels de l'utilisateur connecté. + /// + /// + /// Horaires incohérents (heure de fin non postérieure à l'heure de début) : + /// une configuration incohérente n'est jamais enregistrée silencieusement. + /// + Task SaveAsync( + TimeSpan debut, + TimeSpan fin, + CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IPhoneLauncher.cs b/src/Omika.App.Local/Abstractions/IPhoneLauncher.cs new file mode 100644 index 0000000..0d9e3a2 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IPhoneLauncher.cs @@ -0,0 +1,19 @@ +using System.Threading.Tasks; + +namespace Omika.App.Local.Abstractions; + +/// +/// Abstraction plateforme de lancement d'un appel téléphonique. +/// Le ViewModel ne connaît jamais l'implémentation Android/iOS : il transmet un +/// numéro à l'abstraction qui délègue à la plateforme. Aucune donnée personnelle +/// n'est loguée par cette abstraction. +/// +public interface IPhoneLauncher +{ + /// + /// Ouvre le composeur système pour le numéro fourni. + /// + /// Numéro de téléphone (non vide). + /// si le lancement a été demandé. + Task DialAsync(string phoneNumber); +} diff --git a/src/Omika.App.Local/Abstractions/IPhotoCapture.cs b/src/Omika.App.Local/Abstractions/IPhotoCapture.cs new file mode 100644 index 0000000..1bd73b4 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IPhotoCapture.cs @@ -0,0 +1,22 @@ +using System.Threading; +using System.Threading.Tasks; + +namespace Omika.App.Local.Abstractions; + +/// +/// Abstraction plateforme de prise de photo via l'appareil photo (caméra). +/// Retourne un exploitable par le pipeline +/// Documents / Photos (local → Outbox → POST /api/documents), ou +/// si l'utilisateur annule. Aucun code Android/iOS dans +/// le ViewModel partagé. +/// +public interface IPhotoCapture +{ + /// + /// Ouvre l'appareil photo, laisse l'utilisateur prendre une photo et + /// retourne le fichier local produit, ou si la prise + /// de vue a été annulée (aucune erreur, aucun document, aucun fichier + /// fantôme). + /// + Task CapturePhotoAsync(CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IPhotoPolicyProvider.cs b/src/Omika.App.Local/Abstractions/IPhotoPolicyProvider.cs new file mode 100644 index 0000000..364daa3 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IPhotoPolicyProvider.cs @@ -0,0 +1,23 @@ +using Omika.Core.Constants; + +namespace Omika.App.Local.Abstractions; + +/// +/// Fournit la limite de poids applicable aux NOUVELLES photos ajoutées à une +/// intervention, ainsi que l'origine de cette valeur. +/// +/// La valeur provient du paramètre applicatif POIDS_MAX_PHOTO_KO de la +/// table ParametreApplication de la base du client, transmise par le canal +/// de configuration standard (bootstrap mobile) et mise en cache localement. Elle +/// est donc identique sur tous les appareils d'un même client et disponible +/// hors connexion : aucun appel réseau n'est effectué au moment de l'ajout +/// d'une photo. +/// +public interface IPhotoPolicyProvider +{ + /// + /// Retourne la limite résolue (valeur en kilo-octets + origine). + /// Une limite de 0 signifie « aucune limite ». + /// + Task GetResolutionAsync(CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IPreferencesUtilisateurRepository.cs b/src/Omika.App.Local/Abstractions/IPreferencesUtilisateurRepository.cs new file mode 100644 index 0000000..ee85401 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IPreferencesUtilisateurRepository.cs @@ -0,0 +1,65 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Repository des préférences locales par utilisateur (table technique +/// PreferencesUtilisateur). +/// +/// +/// Distinct de : cette dernière est une +/// table mono-ligne (Id = 1) qui porte des réglages d'APPAREIL (thème, +/// couleur) partagés par tous les utilisateurs du terminal. Les préférences +/// gérées ici sont au contraire rattachées à l'identité de l'utilisateur +/// connecté : sur un appareil partagé, l'utilisateur A et l'utilisateur B +/// conservent chacun leurs propres valeurs après déconnexion / reconnexion. +/// +/// +/// +/// Aucune donnée ne sort de l'appareil : ni API, ni bootstrap, ni Outbox. +/// +/// +public interface IPreferencesUtilisateurRepository +{ + /// + /// Retourne la préférence « pause déjeuner » d'un utilisateur, ou + /// null si elle n'a jamais été enregistrée (ou si la valeur stockée + /// n'est plus exploitable : illisible, ou fin non postérieure au début). + /// + Task GetPauseDejeunerAsync( + string utilisateurId, + CancellationToken cancellationToken = default); + + /// + /// Enregistre la préférence « pause déjeuner » d'un utilisateur. + /// + Task SavePauseDejeunerAsync( + string utilisateurId, + TimeSpan debut, + TimeSpan fin, + CancellationToken cancellationToken = default); + + /// + /// Retourne la préférence « langue secondaire » d'un utilisateur, ou + /// null si elle n'a jamais été enregistrée (ou si le code stocké est + /// vide : « aucune langue secondaire » est représenté par l'absence de + /// valeur, jamais par une chaîne vide relue comme une langue). + /// + Task GetLangueSecondaireAsync( + string utilisateurId, + CancellationToken cancellationToken = default); + + /// + /// Enregistre la préférence « langue secondaire » d'un utilisateur. + /// + /// + /// Code ISO court (es, pt…), ou null/blanc pour + /// retirer la langue secondaire (les colonnes sont remises à NULL). + /// + /// Libellé affichable, ou null. + Task SaveLangueSecondaireAsync( + string utilisateurId, + string? code, + string? libelle, + CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IQrScannerPreviewSink.cs b/src/Omika.App.Local/Abstractions/IQrScannerPreviewSink.cs new file mode 100644 index 0000000..685c56f --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IQrScannerPreviewSink.cs @@ -0,0 +1,13 @@ +namespace Omika.App.Local.Abstractions; + +/// +/// Récepteur des frames de prévisualisation du scanner QR. +/// +/// La méthode est appelée par la couche plateforme depuis un thread +/// d'arrière-plan : l'implémentation doit rebasculer sur le thread UI avant de +/// mettre à jour la vue. +/// +public interface IQrScannerPreviewSink +{ + void OnFrame(QrScannerPreviewFrame frame); +} diff --git a/src/Omika.App.Local/Abstractions/IRapportBrouillonRepository.cs b/src/Omika.App.Local/Abstractions/IRapportBrouillonRepository.cs new file mode 100644 index 0000000..85f8f53 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IRapportBrouillonRepository.cs @@ -0,0 +1,23 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Accès aux brouillons locaux de rapport d'intervention (table technique +/// RapportBrouillon). Aucun appel API. +/// +public interface IRapportBrouillonRepository +{ + /// Insère ou remplace un brouillon (clé : ). + Task UpsertAsync(RapportBrouillonEntry entry, CancellationToken cancellationToken = default); + + /// Retourne un brouillon précis, ou si absent. + Task GetAsync(Guid id, CancellationToken cancellationToken = default); + + /// Retourne tous les brouillons d'une intervention (du plus récent au plus ancien). + Task> GetByInterventionAsync( + Guid interventionGuid, CancellationToken cancellationToken = default); + + /// Supprime un brouillon précis. + Task DeleteAsync(Guid id, CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IRendezVousAnnulationLocalService.cs b/src/Omika.App.Local/Abstractions/IRendezVousAnnulationLocalService.cs new file mode 100644 index 0000000..6e69072 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IRendezVousAnnulationLocalService.cs @@ -0,0 +1,43 @@ +namespace Omika.App.Local.Abstractions; + +/// +/// Service local d'annulation d'un rendez-vous (offline-first). +/// +/// L'annulation ne supprime jamais le rendez-vous : elle applique l'origine et +/// le motif d'annulation sur la copie locale (SQLite), puis place une opération +/// Outbox UPDATE qui sera synchronisée dès qu'une connexion est disponible. +/// +public interface IRendezVousAnnulationLocalService +{ + /// + /// Annule localement le rendez-vous : met à jour la copie SQLite (champs + /// d'annulation du DTO) et enqueue l'opération Outbox correspondante. + /// + /// Sur un rendez-vous groupé, l'annulation porte sur TOUT le groupe : toutes + /// les affectations locales passent au statut « Annulé » (aucun rendez-vous du + /// groupe n'est épargné). + /// + /// Identité publique canonique du rendez-vous. + /// Identité publique du collaborateur à l'origine de l'annulation (peut être null). + /// Clé métier de l'origine d'annulation (optionnelle). + /// Clé métier du motif d'annulation (optionnelle). + /// Message libre du collaborateur, inscrit dans la description du rendez-vous sous la forme Note (Nom) : message (optionnel). + /// Nom affiché du collaborateur qui annule, inscrit entre parenthèses après le mot « Note » (optionnel). + /// + /// Libellé affiché de l'origine (optionnel). Le référentiel local le connaît : + /// il est conservé dans la copie locale afin que la fiche affiche le libellé et + /// non le code du paramètre tant que le serveur n'a pas été réinterrogé. + /// + /// Libellé affiché du motif (optionnel), conservé pour la même raison. + /// Jeton d'annulation. + Task AnnulerAsync( + Guid rendezVousGuid, + Guid? collaborateurGuid, + string? origineKey, + string? motifKey, + string? noteCollaborateur, + string? collaborateurNom = null, + string? origineLabel = null, + string? motifLabel = null, + CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IRendezVousFinalisationLocalService.cs b/src/Omika.App.Local/Abstractions/IRendezVousFinalisationLocalService.cs new file mode 100644 index 0000000..4e86c71 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IRendezVousFinalisationLocalService.cs @@ -0,0 +1,23 @@ +namespace Omika.App.Local.Abstractions; + +/// +/// Service local de finalisation d'un rendez-vous (passage à « Fait »), +/// offline-first. +/// +/// Après la validation des temps, le rendez-vous passe immédiatement au statut +/// S.RDV.FAIT EN LOCAL : la copie SQLite est mise à jour, puis un +/// événement de changement d'état est publié pour que l'écran détail, l'agenda et +/// l'agenda d'équipe reflètent le nouveau statut sans attendre la synchronisation. +/// +public interface IRendezVousFinalisationLocalService +{ + /// + /// Marque localement le rendez-vous comme « Fait » : met à jour le statut du + /// DTO dans SQLite (jamais de suppression) et publie le changement d'état. + /// + /// Identité publique canonique du rendez-vous. + /// Jeton d'annulation. + Task MarquerFaitAsync( + Guid rendezVousGuid, + CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/IRendezVousStateNotifier.cs b/src/Omika.App.Local/Abstractions/IRendezVousStateNotifier.cs new file mode 100644 index 0000000..ed7b8dd --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IRendezVousStateNotifier.cs @@ -0,0 +1,17 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Bus de notification local des changements d'état d'un rendez-vous. +/// Permet aux ViewModels (détail, agenda, agenda d'équipe) de réagir à une +/// mutation locale (annulation) sans couplage direct entre eux. +/// +public interface IRendezVousStateNotifier +{ + /// Événement levé lorsqu'un rendez-vous change d'état localement. + event EventHandler? StateChanged; + + /// Publie un changement d'état de rendez-vous. + void Publish(RendezVousStateChange change); +} diff --git a/src/Omika.App.Local/Abstractions/IRendezVousTempsValidationRepository.cs b/src/Omika.App.Local/Abstractions/IRendezVousTempsValidationRepository.cs new file mode 100644 index 0000000..8365806 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IRendezVousTempsValidationRepository.cs @@ -0,0 +1,18 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Accès au marqueur local de validation des temps d'un rendez-vous (table +/// technique RendezVousTempsValidation). Aucun appel API. +/// +public interface IRendezVousTempsValidationRepository +{ + /// Retourne le marqueur d'un rendez-vous, ou . + Task GetAsync( + Guid rendezVousGuid, CancellationToken cancellationToken = default); + + /// Enregistre (ou remplace) le marqueur de validation. + Task SetAsync( + Guid rendezVousGuid, DateTimeOffset validatedAtUtc, CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/ISecureTokenStore.cs b/src/Omika.App.Local/Abstractions/ISecureTokenStore.cs new file mode 100644 index 0000000..4f4f2a6 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/ISecureTokenStore.cs @@ -0,0 +1,28 @@ +using System.Threading; +using System.Threading.Tasks; + +namespace Omika.App.Local.Abstractions; + +/// +/// Stockage sécurisé du Bearer token de session réseau. +/// Le token est un secret : il ne doit jamais être loggé, stocké en SQLite en +/// clair, ni exposé dans une exception. L'implémentation plateforme utilise le +/// stockage sécurisé natif (Android Keystore / iOS Keychain) via Avalonia. +/// +public interface ISecureTokenStore +{ + /// + /// Enregistre le token de session. Remplace toute valeur existante. + /// + Task SaveAsync(string token, CancellationToken cancellationToken = default); + + /// + /// Retourne le token de session, ou si absent. + /// + Task GetAsync(CancellationToken cancellationToken = default); + + /// + /// Supprime le token de session (déconnexion / réactivation). + /// + Task ClearAsync(CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/ISiteLocalService.cs b/src/Omika.App.Local/Abstractions/ISiteLocalService.cs new file mode 100644 index 0000000..c71a4d0 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/ISiteLocalService.cs @@ -0,0 +1,93 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Service de lecture des sites / lieux depuis les données locales SQLite +/// (dernier snapshot). Ne déclenche aucun appel API : les données proviennent +/// exclusivement des tables métier locales. Lecture seule : aucune écriture ni +/// Outbox n'est créée pour les sites. +/// +public interface ISiteLocalService +{ + /// + /// Retourne la liste des sites réellement présents dans SQLite, triés de + /// façon déterministe (nom puis code). Les payloads locaux invalides sont + /// ignorés proprement. + /// + /// Jeton d'annulation. + Task> GetSitesAsync(CancellationToken cancellationToken = default); + + /// + /// Recherche de sites À LA DEMANDE côté serveur (filtres nom, code, type, + /// ville, code postal, coordonnées). Ne dépend pas du snapshot local (limité). + /// + Task> SearchSitesAsync( + string? nom, + string? code, + string? type, + string? ville, + string? codePostal, + string? telephone, + string? email, + CancellationToken cancellationToken = default) + => throw new NotSupportedException(); + + /// Retourne les résultats de la dernière recherche de sites (persistés). + Task> GetLastSearchAsync(CancellationToken cancellationToken = default) + => throw new NotSupportedException(); + + /// Efface la dernière recherche de sites (préférence locale). + Task ClearLastSearchAsync(CancellationToken cancellationToken = default) + => throw new NotSupportedException(); + + /// Retourne les sites épinglés (fiches complètes persistées localement). + Task> GetPinnedAsync(CancellationToken cancellationToken = default) + => throw new NotSupportedException(); + + /// Définit l'état d'épinglage d'un site (préférence locale, aucune API). + Task SetPinnedAsync(Guid siteId, bool isPinned, SiteListItem? item, CancellationToken cancellationToken = default) + => throw new NotSupportedException(); + + /// Récupère À LA DEMANDE les contacts liés à un site. + Task> GetSiteContactsAsync(Guid siteGuid, CancellationToken cancellationToken = default) + => throw new NotSupportedException(); + + /// Récupère À LA DEMANDE les clients liés à un site (Client_Lieu). + Task> GetSiteClientsAsync(Guid siteGuid, CancellationToken cancellationToken = default) + => throw new NotSupportedException(); + + /// Récupère À LA DEMANDE les rendez-vous liés à un site. + Task> GetSiteRendezVousAsync(Guid siteGuid, CancellationToken cancellationToken = default) + => throw new NotSupportedException(); + + /// + /// Retourne le détail d'un site par son identité publique locale, enrichi + /// avec les relations réellement démontrables : Client (relation explicite + /// ClientId), Contacts (liste explicite ContactIds) et + /// Interventions (relation directe SiteId). Retourne null si + /// le site est introuvable. Les relations optionnelles absentes ne + /// provoquent pas d'erreur. + /// + /// Identité publique du site. + /// Jeton d'annulation. + Task GetSiteByIdAsync( + Guid siteGuid, + CancellationToken cancellationToken = default); + + /// + /// Retourne le détail d'un site exclusivement depuis les données locales + /// SQLite (snapshot), sans aucun appel API. Retourne null si le site + /// n'est pas encore disponible localement. Utilisé pour afficher + /// immédiatement la fiche pendant que la synchronisation API s'exécute. + /// + Task GetLocalSiteByIdAsync( + Guid siteGuid, + CancellationToken cancellationToken = default) + => throw new NotSupportedException(); + + Task RefreshSiteInterventionsAsync( + Guid siteGuid, + CancellationToken cancellationToken = default) + => Task.FromResult(null); +} diff --git a/src/Omika.App.Local/Abstractions/ISiteLocalStateRepository.cs b/src/Omika.App.Local/Abstractions/ISiteLocalStateRepository.cs new file mode 100644 index 0000000..68224cd --- /dev/null +++ b/src/Omika.App.Local/Abstractions/ISiteLocalStateRepository.cs @@ -0,0 +1,30 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Préférence locale d'épinglage des sites (table technique +/// SiteLocalState) et de la dernière recherche (SiteLastSearch). +/// Indépendante du snapshot métier : aucune écriture HFSQL, aucun Outbox, aucune +/// API. Survit à la navigation, au redémarrage et à SyncNow. +/// +public interface ISiteLocalStateRepository +{ + /// Retourne les identités des sites épinglés. + Task> GetPinnedIdsAsync(CancellationToken cancellationToken = default); + + /// Retourne les fiches (modèle liste) des sites épinglés. + Task> GetPinnedItemsAsync(CancellationToken cancellationToken = default); + + /// Définit l'état d'épinglage d'un site (idempotent). + Task SetPinnedAsync(Guid siteId, bool isPinned, string payloadJson, CancellationToken cancellationToken = default); + + /// Sauvegarde le JSON des résultats de la dernière recherche de sites. + Task SaveLastSearchAsync(string payloadJson, CancellationToken cancellationToken = default); + + /// Retourne le JSON de la dernière recherche, ou null si aucune. + Task GetLastSearchJsonAsync(CancellationToken cancellationToken = default); + + /// Efface la dernière recherche de sites. + Task ClearLastSearchAsync(CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/ISnapshotApplier.cs b/src/Omika.App.Local/Abstractions/ISnapshotApplier.cs new file mode 100644 index 0000000..3811159 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/ISnapshotApplier.cs @@ -0,0 +1,28 @@ +using Omika.Core.Contracts.Mobile.Snapshot; + +namespace Omika.App.Local.Abstractions; + +/// +/// Applique un snapshot métier de manière atomique aux tables métier locales. +/// Le snapshot est entièrement téléchargé et validé AVANT de modifier les +/// tables actives. En cas d'erreur avant commit, rollback : l'ancienne base +/// métier locale reste utilisable. +/// +public interface ISnapshotApplier +{ + /// + /// Applique le snapshot aux tables métier locales (remplacement atomique). + /// Ne supprime JAMAIS les tables techniques (Outbox, mapping, état, cache, + /// bootstrap). + /// + /// Snapshot serveur téléchargé. + /// + /// Rendez-vous ayant une mutation locale en attente (Outbox non confirmée) : + /// leur copie locale est conservée au lieu d'être écrasée par le snapshot. + /// + /// Jeton d'annulation. + Task ApplyAsync( + MobileSnapshotResponse snapshot, + IReadOnlyCollection? preserveRendezVousGuids = null, + CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/ISuiviTempsDraftRepository.cs b/src/Omika.App.Local/Abstractions/ISuiviTempsDraftRepository.cs new file mode 100644 index 0000000..6c7b1a4 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/ISuiviTempsDraftRepository.cs @@ -0,0 +1,29 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Accès aux brouillons locaux de saisie de temps (table technique +/// SuiviTempsDraft). Aucun appel API. +/// +public interface ISuiviTempsDraftRepository +{ + /// Insère ou remplace un brouillon (clé : RendezVousId + TypeTempsKey). + Task UpsertAsync(SuiviTempsDraftEntry entry, CancellationToken cancellationToken = default); + + /// Retourne tous les brouillons d'un rendez-vous (envoyés ou non). + Task> GetByRendezVousAsync( + Guid rendezVousGuid, CancellationToken cancellationToken = default); + + /// Retourne un brouillon précis, ou si absent. + Task GetAsync( + Guid rendezVousGuid, string typeTempsKey, CancellationToken cancellationToken = default); + + /// Marque un brouillon comme envoyé (EstEnvoye = 1). + Task MarkEnvoyeAsync( + Guid rendezVousGuid, string typeTempsKey, CancellationToken cancellationToken = default); + + /// Supprime un brouillon précis. + Task DeleteAsync( + Guid rendezVousGuid, string typeTempsKey, CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/ISuiviTempsLocalService.cs b/src/Omika.App.Local/Abstractions/ISuiviTempsLocalService.cs new file mode 100644 index 0000000..ebd2ab0 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/ISuiviTempsLocalService.cs @@ -0,0 +1,138 @@ +using Omika.App.Local.Models; +using Omika.Core.Contracts.Mobile.Sync; +using Omika.Core.Contracts.Planning; + +namespace Omika.App.Local.Abstractions; + +/// +/// Service de lecture des suivis de temps depuis les données locales SQLite. +/// Ne déclenche aucun appel API : les données proviennent exclusivement du +/// dernier snapshot local (table métier SuiviTemps). Les relations optionnelles +/// absentes (Collaborateur / Intervention / RendezVous) ne provoquent pas +/// d'erreur. +/// +public interface ISuiviTempsLocalService +{ + /// + /// Crée un SuiviTemps localement (offline-first) : écrit l'entité dans + /// SQLite puis enqueue une opération Outbox CREATE dans la même unité locale + /// logique. Aucune attente réseau. Retourne le RequestedEntityGuid + /// mobile (A) généré, distinct de l'OperationId de l'Outbox. + /// + Task CreateAsync( + SuiviTempsSyncPayload payload, + CancellationToken cancellationToken = default); + + /// + /// Retourne un suivi de temps par son identité publique locale. Retourne + /// null si introuvable. + /// + Task GetByGuidAsync( + Guid suiviTempsGuid, + CancellationToken cancellationToken = default); + + /// + /// Retourne la liste des suivis de temps depuis le snapshot local SQLite. + /// Les entrées au payload invalide sont ignorées sans erreur. Ne déclenche + /// aucun appel API. + /// + Task> GetAllAsync( + CancellationToken cancellationToken = default); + + /// + /// Retourne les suivis de temps rattachés à une intervention donnée + /// (référence locale InterventionId), triés par date puis durée. Ne + /// déclenche aucun appel API. + /// + Task> GetByInterventionAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default); + + /// + /// Retourne les suivis de temps rattachés à un rendez-vous donné + /// (référence locale RendezVousId), triés par date puis durée. Ne + /// déclenche aucun appel API. + /// + Task> GetByRendezVousAsync( + Guid rendezVousGuid, + CancellationToken cancellationToken = default); + + // ===== Brouillons et validation (flux « valider le rendez-vous ») ===== + + /// + /// Retourne les brouillons de saisie d'un rendez-vous (envoyés ou non). + /// Aucun appel API : lecture de la table technique SuiviTempsDraft. + /// + Task> GetDraftsByRendezVousAsync( + Guid rendezVousGuid, + CancellationToken cancellationToken = default); + + /// + /// Enregistre un brouillon de saisie (non envoyé). La clé + /// (RendezVousId, TypeTempsKey) impose une seule saisie par type et par + /// rendez-vous. + /// + Task CreateDraftAsync( + SuiviTempsDraftEntry draft, + CancellationToken cancellationToken = default); + + /// + /// Supprime un brouillon de saisie de temps non encore synchronisé + /// (en attente de validation). Ne touche jamais aux saisies déjà envoyées. + /// + Task DeleteDraftAsync( + Guid rendezVousGuid, + string typeTempsKey, + CancellationToken cancellationToken = default); + + /// + /// Indique si un type de temps est déjà saisi (brouillon, envoyé ou non) + /// pour ce rendez-vous. + /// + Task HasTypeTempsAsync( + Guid rendezVousGuid, + string typeTempsKey, + CancellationToken cancellationToken = default); + + /// + /// Indique si les temps de ce rendez-vous ont déjà été validés localement. + /// + Task IsValideAsync( + Guid rendezVousGuid, + CancellationToken cancellationToken = default); + + /// + /// Valide un rendez-vous : envoie tous les brouillons en attente (CREATE + /// SuiviTemps via l'Outbox), marque le drapeau de validation local et + /// enqueue une opération RendezVous UPDATE (TempsValide) pour le + /// collaborateur courant. Offline-first : aucun appel API bloquant. + /// + Task ValidateRendezVousAsync( + Guid rendezVousGuid, + CancellationToken cancellationToken = default); + + // ===== Conservation des rendez-vous porteurs de brouillons non envoyés ===== + + /// + /// Conserve localement la fiche d'un rendez-vous porteur d'un brouillon de + /// temps non envoyé, afin qu'il reste affiché dans l'agenda même hors fenêtre + /// de synchronisation (et consultable hors réseau). Survit aux snapshots. + /// + Task SaveRendezVousPourBrouillonAsync( + AgendaItem rendezVous, + CancellationToken cancellationToken = default); + + /// + /// Retourne les rendez-vous conservés (porteurs de brouillons non envoyés), + /// désérialisés en . Aucun appel API. + /// + Task> GetRendezVousAvecBrouillonAsync( + CancellationToken cancellationToken = default); + + /// + /// Retire un rendez-vous conservé (plus aucun brouillon non envoyé). + /// + Task DeleteRendezVousPourBrouillonAsync( + Guid rendezVousId, + CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/ISupportLogExporter.cs b/src/Omika.App.Local/Abstractions/ISupportLogExporter.cs new file mode 100644 index 0000000..3f3b715 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/ISupportLogExporter.cs @@ -0,0 +1,17 @@ +namespace Omika.App.Local.Abstractions; + +/// +/// Exporte les derniers journaux de diagnostic locaux (JSONL écrits par le +/// système de diagnostic) vers un fichier .txt unique, destiné à être +/// joint à un email de support. Aucune donnée n'est envoyée sur le réseau par +/// cette abstraction : elle ne fait que relire des fichiers locaux. +/// +public interface ISupportLogExporter +{ + /// + /// Exporte les journaux de diagnostic locaux dans un fichier .txt et + /// retourne son chemin complet, ou si aucun journal + /// n'est disponible ou si l'écriture échoue (fail-open, jamais d'exception). + /// + string? ExportLatestLogs(); +} diff --git a/src/Omika.App.Local/Abstractions/ISyncEngine.cs b/src/Omika.App.Local/Abstractions/ISyncEngine.cs new file mode 100644 index 0000000..b0ce5f5 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/ISyncEngine.cs @@ -0,0 +1,92 @@ +namespace Omika.App.Local.Abstractions; + +/// +/// Moteur de synchronisation unique du mobile. +/// Il expose deux usages strictement séparés : +/// +/// : envoi seul des données saisies +/// localement (envoi automatique de fond) ; +/// : synchronisation globale (envoi + +/// snapshot serveur), réservée au lancement de l'application et à l'action +/// manuelle. +/// +/// Il ne doit jamais exister deux implémentations. +/// +public interface ISyncEngine +{ + /// + /// Envoi des données locales en attente, sans synchronisation globale : + /// récupérer les envois interrompus → vérifier réseau → envoyer Outbox → + /// interroger les statuts → réconcilier les identités. + /// Aucun snapshot n'est téléchargé ni appliqué : les données locales affichées + /// (écran en cours, formulaire ouvert) ne sont jamais remplacées. Utilisé par + /// la surveillance de fond, indépendamment de la synchronisation globale. + /// reste donc + /// et ne doit pas être interprété comme un échec. + /// + Task PushAsync(CancellationToken cancellationToken = default); + + /// + /// Exécute un cycle de synchronisation global : + /// récupérer les envois interrompus → vérifier réseau → envoyer Outbox → + /// interroger statuts → réconcilier identités → appliquer snapshot + /// atomiquement. + /// + Task SyncAsync(CancellationToken cancellationToken = default); +} + +/// +/// Résultat d'un cycle de synchronisation. +/// +public sealed record SyncCycleResult +{ + /// Indique si le cycle a été exécuté (false si hors ligne ou déjà en cours). + public bool Executed { get; set; } + + /// + /// Indique que le cycle n'a effectué AUCUN appel réseau : l'appareil a été détecté + /// hors ligne par le moteur, qui sort avant toute requête ( + /// porte alors « Hors ligne. »). + /// + /// Permet aux appelants d'éviter à leur tour un appel voué à l'échec — notamment le + /// rafraîchissement des référentiels qui suit la synchronisation — et d'afficher un + /// état non intrusif sans comparer de chaîne de caractères. + /// + public bool Offline { get; set; } + + /// Nombre d'opérations envoyées. + public int OperationsSent { get; set; } + + /// Nombre d'opérations réussies. + public int OperationsSucceeded { get; set; } + + /// Nombre d'opérations rejetées. + public int OperationsRejected { get; set; } + + /// Nombre d'opérations en anomalie (STATUS_NOT_AVAILABLE). + public int OperationsAnomaly { get; set; } + + /// Indique si un snapshot a été appliqué. + public bool SnapshotApplied { get; set; } + + /// Message de fin de cycle (diagnostic). + public string? Message { get; set; } + + /// + /// Étape du cycle ayant échoué ("download" = téléchargement du snapshot, + /// "apply" = application SQLite). Null si aucun échec de snapshot. + /// + public string? FailureStage { get; set; } + + /// + /// Nom court du type d'exception à l'origine de l'échec du snapshot + /// (diagnostic, ex. "FormatException"). Null si succès. + /// + public string? ExceptionType { get; set; } + + /// + /// Message court de l'exception (diagnostic, sans stack trace ni donnée + /// sensible). Null si succès. + /// + public string? ErrorMessage { get; set; } +} diff --git a/src/Omika.App.Local/Abstractions/ISyncStateRepository.cs b/src/Omika.App.Local/Abstractions/ISyncStateRepository.cs new file mode 100644 index 0000000..5a2348c --- /dev/null +++ b/src/Omika.App.Local/Abstractions/ISyncStateRepository.cs @@ -0,0 +1,16 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Repository de l'état de synchronisation local (store clé/valeur). +/// Survit au refresh snapshot. +/// +public interface ISyncStateRepository +{ + /// Lit une valeur d'état. Retourne si absente. + Task GetAsync(string key, CancellationToken cancellationToken = default); + + /// Écrit une valeur d'état (upsert). + Task SetAsync(string key, string value, CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/ITextTokenizer.cs b/src/Omika.App.Local/Abstractions/ITextTokenizer.cs new file mode 100644 index 0000000..e0fbea6 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/ITextTokenizer.cs @@ -0,0 +1,76 @@ +namespace Omika.App.Local.Abstractions; + +/// +/// Tokeniseur d'un modèle de traduction : fichier de vocabulaire SentencePiece +/// (.spm) téléchargé avec le pack de langue. +/// +/// +/// L'abstraction protège les appelants du format réel du vocabulaire : le moteur +/// de traduction ne manipule que des identifiants de pièces, ceux-là mêmes que +/// consomme et produit le modèle ONNX du pack. Un test peut ainsi injecter un +/// tokeniseur en mémoire, et un changement de format (BPE appris, vocabulaire +/// embarqué dans l'application) ne se propage pas au-delà de l'implémentation. +/// +/// +/// +/// Les identifiants sont ceux du vocabulaire du modèle : et +/// encadrent une séquence, complète +/// un lot. L'implémentation attendue est immuable après chargement, donc +/// utilisable depuis plusieurs threads sans verrou. +/// +/// +public interface ITextTokenizer +{ + /// Nombre de pièces du vocabulaire. + int TailleVocabulaire { get; } + + /// Identifiant du jeton inconnu (<unk>). + int IdTokenInconnu { get; } + + /// Identifiant du jeton de début de séquence (<s>). + int IdDebut { get; } + + /// Identifiant du jeton de fin de séquence (</s>). + int IdFin { get; } + + /// Identifiant du jeton de remplissage (<pad>). + int IdRemplissage { get; } + + /// + /// Découpe un texte en identifiants de pièces. + /// + /// + /// Un texte vide (ou null) donne une liste vide, et un caractère que le + /// vocabulaire ne sait pas former donne : cette + /// méthode ne lève jamais pour une entrée mal formée. + /// + /// + Task> EncodeAsync(string? texte, CancellationToken cancellationToken = default); + + /// Reconstruit un texte à partir d'identifiants de pièces. + string Decode(IReadOnlyList ids); + + /// + /// Pièce associée à un identifiant, ou s'il est hors + /// vocabulaire. + /// + /// + /// Indispensable aux modèles dont le vocabulaire effectif (vocab.json) + /// ne suit pas la numérotation du .spm : la pièce est la seule écriture + /// commune aux deux référentiels, donc le seul moyen de passer de l'un à + /// l'autre sans se tromper. + /// + /// + string? PieceDe(int id); + + /// Identifiant d'une pièce, ou -1 si le vocabulaire ne la contient pas. + int IdDePiece(string? piece); + + /// + /// Reconstruit un texte à partir de pièces et non d'identifiants : c'est + /// la seule voie de décodage possible quand les identifiants produits par le + /// modèle appartiennent à un autre référentiel que le .spm. Une pièce + /// inconnue de ce vocabulaire est ignorée, jamais fatale. + /// + string DecodePieces(IReadOnlyList pieces); +} diff --git a/src/Omika.App.Local/Abstractions/ITranslationService.cs b/src/Omika.App.Local/Abstractions/ITranslationService.cs new file mode 100644 index 0000000..1c0fa6f --- /dev/null +++ b/src/Omika.App.Local/Abstractions/ITranslationService.cs @@ -0,0 +1,72 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Service de traduction hors ligne : tout est calculé sur l'appareil, à +/// partir des modèles téléchargés. Aucun texte n'est jamais envoyé à un +/// serveur, ni journalisé, ni stocké. +/// +/// +/// Deux usages, et deux seulement : +/// +/// +/// Dictée () : le texte +/// reconnu dans la langue secondaire est traduit en français avant +/// d'entrer dans le champ. Le français produit est ensuite traité comme une +/// saisie normale (enregistrement local, Outbox, synchronisation). Le texte +/// d'origine n'est jamais conservé. +/// Lecture () : un +/// contenu français est affiché traduit, à la demande. Affichage seul : +/// rien n'est écrit dans SQLite, dans l'Outbox ni vers l'API. +/// +/// +public interface ITranslationService +{ + /// + /// Vrai si un moteur d'inférence ONNX est installé sur cette plateforme. + /// Faux (par exemple sur Desktop/Windows aujourd'hui) : le bouton + /// « Traduire » et la dictée en langue secondaire ne sont alors pas + /// proposés. + /// + bool EstDisponible { get; } + + /// + /// Vrai si les modèles du couple demandé sont installés et exploitables + /// (marqueur d'installation présent + vocabulaire et modèle lisibles). + /// + Task EstInstalleeAsync( + string codeLangue, + SensTraduction sens, + CancellationToken cancellationToken = default); + + /// + /// Traduit un texte. + /// + /// + /// Moteur absent, modèles non installés, ou échec d'inférence. Le message + /// est directement affichable à l'utilisateur. + /// + Task TraduireAsync( + string? texte, + string codeLangue, + SensTraduction sens, + CancellationToken cancellationToken = default); +} + +/// +/// Erreur de traduction, portant un message directement affichable à +/// l'utilisateur (en français, sans terme technique). +/// +public sealed class TranslationException : Exception +{ + public TranslationException(string message) + : base(message) + { + } + + public TranslationException(string message, Exception innerException) + : base(message, innerException) + { + } +} diff --git a/src/Omika.App.Local/Abstractions/IUiPreferencesRepository.cs b/src/Omika.App.Local/Abstractions/IUiPreferencesRepository.cs new file mode 100644 index 0000000..111a57b --- /dev/null +++ b/src/Omika.App.Local/Abstractions/IUiPreferencesRepository.cs @@ -0,0 +1,21 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Abstractions; + +/// +/// Repository des préférences d'interface utilisateur (thème, couleur principale). +/// Persistance locale technique, jamais touchée par le refresh snapshot. +/// +public interface IUiPreferencesRepository +{ + /// + /// Charge les préférences UI. Retourne les valeurs par défaut si aucune + /// préférence n'a encore été enregistrée. + /// + Task GetAsync(CancellationToken cancellationToken = default); + + /// + /// Enregistre les préférences UI (ligne unique, upsert). + /// + Task SaveAsync(UiPreferences preferences, CancellationToken cancellationToken = default); +} diff --git a/src/Omika.App.Local/Abstractions/MobileEnrollmentRequiredException.cs b/src/Omika.App.Local/Abstractions/MobileEnrollmentRequiredException.cs new file mode 100644 index 0000000..da5c79c --- /dev/null +++ b/src/Omika.App.Local/Abstractions/MobileEnrollmentRequiredException.cs @@ -0,0 +1,41 @@ +namespace Omika.App.Local.Abstractions; + +/// +/// Levée lorsqu'une opération nécessite une URL d'API Omika alors que l'appareil +/// n'est pas (ou plus) inscrit : l'application reste utilisable en local — c'est +/// un état dégradé assumé de l'application offline-first — mais aucun appel +/// serveur n'est possible avant une nouvelle inscription par QR. +/// +/// Type dédié, et non une générique, pour +/// que le classement de télémétrie distingue cet état **actionnable** (« rescannez +/// le QR ») d'une vraie erreur applicative : il est journalisé en Warning/P2 et +/// n'alimente donc jamais les groupes d'erreurs du Diagnostic Center. +/// +/// Dérive d' pour rester compatible avec les +/// traitements existants qui considèrent cet état comme non terminal (voir +/// MobileSessionService.IsTransientError : la session n'est jamais purgée). +/// +public sealed class MobileEnrollmentRequiredException : InvalidOperationException +{ + /// Message technique par défaut (identique à celui du garde-fou historique). + public const string DefaultMessage = + "Aucune URL d'API Omika configurée. L'inscription via QR est requise avant tout appel métier."; + + /// Initialise l'exception avec le message par défaut. + public MobileEnrollmentRequiredException() + : base(DefaultMessage) + { + } + + /// Initialise l'exception avec un message explicite. + public MobileEnrollmentRequiredException(string message) + : base(message) + { + } + + /// Initialise l'exception avec un message explicite et une cause. + public MobileEnrollmentRequiredException(string message, Exception? innerException) + : base(message, innerException) + { + } +} diff --git a/src/Omika.App.Local/Abstractions/OnnxTensor.cs b/src/Omika.App.Local/Abstractions/OnnxTensor.cs new file mode 100644 index 0000000..bd53942 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/OnnxTensor.cs @@ -0,0 +1,100 @@ +namespace Omika.App.Local.Abstractions; + +/// +/// Tenseur échangé avec le moteur d'inférence ONNX : soit un tenseur d'entiers +/// (int64, identifiants de pièces), soit un tenseur de réels +/// (float, états cachés et logits). +/// +/// +/// Cette abstraction est volontairement minimale : elle ne couvre que ce dont un +/// pipeline de traduction séquence-à-séquence a besoin. Elle évite que le +/// reste du code mobile dépende du type Tensor<T> d'ONNX +/// Runtime, qui n'est disponible que dans le paquet optionnel du moteur. +/// +/// +public sealed class OnnxTensor +{ + private OnnxTensor(long[] dimensions, long[]? entiers, float[]? reels) + { + Dimensions = dimensions; + DonneesEntieres = entiers; + DonneesReelles = reels; + } + + /// Dimensions du tenseur (parcours ligne par ligne, C-order). + public long[] Dimensions { get; } + + /// Données entières, ou si le tenseur est réel. + public long[]? DonneesEntieres { get; } + + /// Données réelles, ou si le tenseur est entier. + public float[]? DonneesReelles { get; } + + /// Vrai si le tenseur porte des int64. + public bool EstEntier => DonneesEntieres is not null; + + /// Nombre total d'éléments. + public long Longueur + { + get + { + long total = 1; + foreach (long d in Dimensions) + { + total *= d; + } + + return total; + } + } + + /// Crée un tenseur d'entiers int64. + public static OnnxTensor Entier(long[] dimensions, long[] donnees) + { + ArgumentNullException.ThrowIfNull(dimensions); + ArgumentNullException.ThrowIfNull(donnees); + return new OnnxTensor(dimensions, donnees, null); + } + + /// Crée un tenseur de réels float. + public static OnnxTensor Reel(long[] dimensions, float[] donnees) + { + ArgumentNullException.ThrowIfNull(dimensions); + ArgumentNullException.ThrowIfNull(donnees); + return new OnnxTensor(dimensions, null, donnees); + } + + /// + /// Crée un tenseur d'entiers à partir d'une séquence, de forme + /// [1, longueur] (lot de 1 : une seule dictée, une seule traduction + /// à la fois sur un terminal). + /// + public static OnnxTensor Sequence(IReadOnlyList ids) + { + ArgumentNullException.ThrowIfNull(ids); + + var donnees = new long[ids.Count]; + for (int i = 0; i < ids.Count; i++) + { + donnees[i] = ids[i]; + } + + return new OnnxTensor([1, ids.Count], donnees, null); + } + + /// + /// Crée le masque d'attention [1, longueur] correspondant à une + /// séquence : 1 pour chaque position réelle (aucun remplissage n'est utilisé + /// ici, chaque requête portant une seule séquence). + /// + public static OnnxTensor Masque(int longueur) + { + var donnees = new long[Math.Max(0, longueur)]; + for (int i = 0; i < donnees.Length; i++) + { + donnees[i] = 1L; + } + + return new OnnxTensor([1, donnees.Length], donnees, null); + } +} diff --git a/src/Omika.App.Local/Abstractions/PhotoCaptureException.cs b/src/Omika.App.Local/Abstractions/PhotoCaptureException.cs new file mode 100644 index 0000000..8a6178e --- /dev/null +++ b/src/Omika.App.Local/Abstractions/PhotoCaptureException.cs @@ -0,0 +1,23 @@ +using System; + +namespace Omika.App.Local.Abstractions; + +/// +/// Erreur de prise de photo (permission caméra refusée, caméra indisponible, +/// échec du lancement de l'application caméra, fichier non produit, etc.). +/// +/// Le message est destiné à être affiché à l'utilisateur : il ne contient aucun +/// secret, aucun chemin complet, aucune URI ni détail interne de l'appareil. +/// +public sealed class PhotoCaptureException : Exception +{ + public PhotoCaptureException(string message) + : base(message) + { + } + + public PhotoCaptureException(string message, Exception innerException) + : base(message, innerException) + { + } +} diff --git a/src/Omika.App.Local/Abstractions/QrScanException.cs b/src/Omika.App.Local/Abstractions/QrScanException.cs new file mode 100644 index 0000000..ef9ef01 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/QrScanException.cs @@ -0,0 +1,53 @@ +using System; + +namespace Omika.App.Local.Abstractions; + +/// +/// Erreur de lecture optique du QR d'inscription (permission caméra refusée, +/// caméra indisponible, échec d'ouverture de la caméra, etc.). +/// +/// Le message est destiné à être affiché à l'utilisateur : il ne contient aucun +/// secret, aucune URL ni détail interne de l'appareil. +/// +/// Deux familles sont distinguées par , car elles ne se +/// journalisent pas de la même façon : une DÉFAILLANCE technique est un incident, +/// une INDISPONIBILITÉ attendue (repli plateforme, permission refusée, appareil sans +/// caméra arrière) n'en est pas un. +/// +public sealed class QrScanException : Exception +{ + /// + /// Vrai quand l'échec traduit une défaillance technique du scanner (énumération ou + /// ouverture de la caméra en échec, cause d'origine conservée). + /// + /// Faux pour les indisponibilités ATTENDUES — scan non implémenté sur la + /// plateforme, permission caméra refusée par l'utilisateur, appareil sans caméra + /// arrière : leur message porte déjà le geste de repli (« collez le contenu du QR + /// dans le champ ci-dessous »), et les journaliser comme des incidents produirait + /// un faux P1 à chaque appui sur « Scanner ». + /// + public bool EstDefaillance { get; } + + public QrScanException(string message) + : this(message, null, estDefaillance: false) + { + } + + public QrScanException(string message, Exception innerException) + : this(message, innerException, estDefaillance: false) + { + } + + private QrScanException(string message, Exception? innerException, bool estDefaillance) + : base(message, innerException) + { + EstDefaillance = estDefaillance; + } + + /// + /// Défaillance technique du scanner (échec d'énumération ou d'ouverture de la + /// caméra) : à journaliser comme un incident, la cause d'origine étant conservée. + /// + public static QrScanException Defaillance(string message, Exception? innerException = null) + => new(message, innerException, estDefaillance: true); +} diff --git a/src/Omika.App.Local/Abstractions/QrScannerPreviewFrame.cs b/src/Omika.App.Local/Abstractions/QrScannerPreviewFrame.cs new file mode 100644 index 0000000..60a1f76 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/QrScannerPreviewFrame.cs @@ -0,0 +1,18 @@ +namespace Omika.App.Local.Abstractions; + +/// +/// Frame de prévisualisation caméra produite par la couche plateforme du +/// scanner QR (Android). Les pixels sont déjà au format BGRA8888 (B, G, R, A +/// par pixel) et déjà orientés pour un affichage droit à l'écran. +/// +public sealed class QrScannerPreviewFrame +{ + /// Pixels BGRA8888, longueur = Width * Height * 4. + public required byte[] BgraPixels { get; init; } + + /// Largeur en pixels de l'image (après rotation). + public required int Width { get; init; } + + /// Hauteur en pixels de l'image (après rotation). + public required int Height { get; init; } +} diff --git a/src/Omika.App.Local/Abstractions/SessionRevalidation.cs b/src/Omika.App.Local/Abstractions/SessionRevalidation.cs new file mode 100644 index 0000000..2e9e886 --- /dev/null +++ b/src/Omika.App.Local/Abstractions/SessionRevalidation.cs @@ -0,0 +1,39 @@ +using Omika.Core.Contracts.Mobile.License; + +namespace Omika.App.Local.Abstractions; + +/// +/// Issue d'une tentative de renouvellement de session mobile. +/// +public enum SessionRevalidationOutcome +{ + /// Nouveau token obtenu, sauvegardé et branché sur le client API. + Success, + + /// + /// Le serveur a rejeté la licence de façon terminale (inactive, expirée, + /// inconnue, client inconnu, ou DeviceId attribué à un autre mobile). + /// Aucun nouveau token n'est conservé. + /// + InvalidLicense, + + /// Aucune donnée locale (CodeClient/NumeroLicence) pour revalider. + NoSession, + + /// + /// Erreur réseau/temporaire (timeout, DNS, hors ligne, HTTP 5xx). Rien n'est + /// purgé : le token, l'enrollment, le bootstrap et device.id sont conservés. + /// + TransientError +} + +/// +/// Résultat détaillé d'un renouvellement de session. +/// +public sealed record SessionRevalidationResult +{ + public SessionRevalidationOutcome Outcome { get; init; } + + /// Réponse de licence (renseignée en cas de succès ou de rejet terminal). + public LicenseResponse? License { get; init; } +} diff --git a/src/Omika.App.Local/Diagnostics/DiagnosticOutboxSqliteStore.cs b/src/Omika.App.Local/Diagnostics/DiagnosticOutboxSqliteStore.cs new file mode 100644 index 0000000..10402eb --- /dev/null +++ b/src/Omika.App.Local/Diagnostics/DiagnosticOutboxSqliteStore.cs @@ -0,0 +1,305 @@ +using System.Text; +using Microsoft.Data.Sqlite; +using Omika.Core.Observability; +using Omika.Core.Observability.Outbox; + +namespace Omika.App.Local.Diagnostics; + +/// +/// Implémentation SQLite du (Phase 4), dans une +/// base dédiée omika-diagnostics.db physiquement séparée de la base métier. +/// +/// Fail-open : la construction peut lever (AppServices l'avale et dégrade le +/// diagnostic) ; les commandes utilisent un timeout court (anti-verrou). Aucune +/// transaction partagée avec le métier. +/// +public sealed class DiagnosticOutboxSqliteStore : IDiagnosticOutboxStore, IDisposable, IAsyncDisposable +{ + private readonly SqliteConnection _connection; + private readonly DiagnosticOutboxOptions _options; + private bool _disposed; + + public DiagnosticOutboxSqliteStore(DiagnosticOutboxOptions options) + { + ArgumentNullException.ThrowIfNull(options); + _options = options; + + string path = string.IsNullOrWhiteSpace(options.DatabasePath) + ? ":memory:" + : options.DatabasePath; + _connection = new SqliteConnection($"Data Source={path}"); + _connection.Open(); + InitializeSchema(); + } + + /// + public async Task StoreAsync(IReadOnlyList rows, CancellationToken cancellationToken = default) + { + await using SqliteCommand command = CreateCommand(); + command.CommandText = """ + INSERT OR IGNORE INTO "DiagnosticOutbox" + ("EventId", "Priority", "CreatedAtUtc", "ExpiresAtUtc", "PayloadVersion", + "PayloadJson", "AttemptCount", "NextAttemptUtc", "LastAttemptUtc", "LastErrorCode") + VALUES + (@EventId, @Priority, @CreatedAtUtc, @ExpiresAtUtc, @PayloadVersion, + @PayloadJson, @AttemptCount, @NextAttemptUtc, @LastAttemptUtc, @LastErrorCode) + """; + + foreach (DiagnosticOutboxRow row in rows) + { + command.Parameters.Clear(); + command.Parameters.Add(Parameter("@EventId", row.EventId.ToString())); + command.Parameters.Add(Parameter("@Priority", (int)row.Priority)); + command.Parameters.Add(Parameter("@CreatedAtUtc", row.CreatedAtUtc.ToString("O"))); + command.Parameters.Add(Parameter("@ExpiresAtUtc", row.ExpiresAtUtc.ToString("O"))); + command.Parameters.Add(Parameter("@PayloadVersion", row.PayloadVersion)); + command.Parameters.Add(Parameter("@PayloadJson", row.PayloadJson)); + command.Parameters.Add(Parameter("@AttemptCount", row.AttemptCount)); + command.Parameters.Add(Parameter("@NextAttemptUtc", row.NextAttemptUtc.ToString("O"))); + command.Parameters.Add(Parameter("@LastAttemptUtc", row.LastAttemptUtc?.ToString("O"))); + command.Parameters.Add(Parameter("@LastErrorCode", row.LastErrorCode)); + await command.ExecuteNonQueryAsync(cancellationToken); + } + } + + /// + public async Task> GetNextBatchAsync( + int maxCount, + long maxBytes, + DateTimeOffset now, + CancellationToken cancellationToken = default) + { + await using SqliteCommand command = CreateCommand(); + command.CommandText = """ + SELECT * FROM "DiagnosticOutbox" + WHERE "NextAttemptUtc" <= @Now + ORDER BY "Priority" ASC, "CreatedAtUtc" ASC + LIMIT @MaxCount + """; + command.Parameters.Add(Parameter("@Now", now.ToString("O"))); + command.Parameters.Add(Parameter("@MaxCount", Math.Max(1, maxCount))); + + var result = new List(); + long accumulated = 0; + await using SqliteDataReader reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + DiagnosticOutboxRow row = ReadRow(reader); + long rowBytes = Encoding.UTF8.GetByteCount(row.PayloadJson); + + // On autorise toujours la première ligne (un singleton trop volumineux + // sera géré comme poison par le worker), puis on borne la somme en octets. + if (result.Count > 0 && accumulated + rowBytes > maxBytes) + { + break; + } + + result.Add(row); + accumulated += rowBytes; + } + + return result; + } + + /// + public async Task DeleteAsync(IReadOnlyList eventIds, CancellationToken cancellationToken = default) + { + if (eventIds.Count == 0) + { + return; + } + + await using SqliteCommand command = CreateCommand(); + command.CommandText = BuildInClause("DELETE FROM \"DiagnosticOutbox\" WHERE \"EventId\" IN", eventIds.Count); + AddIds(command, eventIds); + await command.ExecuteNonQueryAsync(cancellationToken); + } + + /// + public async Task UpdateAttemptAsync( + IReadOnlyList eventIds, + int attemptCount, + DateTimeOffset nextAttemptUtc, + string? lastErrorCode, + CancellationToken cancellationToken = default) + { + if (eventIds.Count == 0) + { + return; + } + + await using SqliteCommand command = CreateCommand(); + command.CommandText = BuildInClause( + """ + UPDATE "DiagnosticOutbox" SET + "AttemptCount" = @AttemptCount, + "NextAttemptUtc" = @NextAttemptUtc, + "LastAttemptUtc" = @LastAttemptUtc, + "LastErrorCode" = @LastErrorCode + WHERE "EventId" IN + """, + eventIds.Count); + command.Parameters.Add(Parameter("@AttemptCount", attemptCount)); + command.Parameters.Add(Parameter("@NextAttemptUtc", nextAttemptUtc.ToString("O"))); + command.Parameters.Add(Parameter("@LastAttemptUtc", DateTimeOffset.UtcNow.ToString("O"))); + command.Parameters.Add(Parameter("@LastErrorCode", lastErrorCode)); + AddIds(command, eventIds); + await command.ExecuteNonQueryAsync(cancellationToken); + } + + /// + public async Task CountAsync(CancellationToken cancellationToken = default) + { + await using SqliteCommand command = CreateCommand(); + command.CommandText = "SELECT COUNT(*) FROM \"DiagnosticOutbox\""; + object? result = await command.ExecuteScalarAsync(cancellationToken); + return Convert.ToInt32(result); + } + + /// + public async Task DeleteExpiredAsync(DateTimeOffset now, CancellationToken cancellationToken = default) + { + await using SqliteCommand command = CreateCommand(); + command.CommandText = "DELETE FROM \"DiagnosticOutbox\" WHERE \"ExpiresAtUtc\" <= @Now"; + command.Parameters.Add(Parameter("@Now", now.ToString("O"))); + return await command.ExecuteNonQueryAsync(cancellationToken); + } + + /// + public async Task DeleteOldestAsync( + TelemetryPriority priority, + int count, + CancellationToken cancellationToken = default) + { + if (count <= 0) + { + return 0; + } + + await using SqliteCommand command = CreateCommand(); + command.CommandText = """ + DELETE FROM "DiagnosticOutbox" + WHERE "EventId" IN ( + SELECT "EventId" FROM "DiagnosticOutbox" + WHERE "Priority" = @Priority + ORDER BY "CreatedAtUtc" ASC + LIMIT @Count + ) + """; + command.Parameters.Add(Parameter("@Priority", (int)priority)); + command.Parameters.Add(Parameter("@Count", count)); + return await command.ExecuteNonQueryAsync(cancellationToken); + } + + /// + public async Task GetDatabaseSizeBytesAsync(CancellationToken cancellationToken = default) + { + try + { + await using SqliteCommand command = CreateCommand(); + command.CommandText = "PRAGMA page_count"; + object? pageCount = await command.ExecuteScalarAsync(cancellationToken); + command.CommandText = "PRAGMA page_size"; + object? pageSize = await command.ExecuteScalarAsync(cancellationToken); + if (pageCount is null || pageSize is null) + { + return -1; + } + + return Convert.ToInt64(pageCount) * Convert.ToInt64(pageSize); + } + catch + { + return -1; + } + } + + private void InitializeSchema() + { + foreach (string statement in DiagnosticSqliteSchema.CreateStatements) + { + using SqliteCommand command = CreateCommand(); + command.CommandText = statement; + command.ExecuteNonQuery(); + } + + using SqliteCommand version = CreateCommand(); + version.CommandText = $"PRAGMA user_version = {DiagnosticSqliteSchema.DiagnosticSchemaVersion}"; + version.ExecuteNonQuery(); + } + + private SqliteCommand CreateCommand() + { + SqliteCommand command = _connection.CreateCommand(); + command.CommandTimeout = Math.Max(1, (int)Math.Ceiling(_options.CommandTimeout.TotalSeconds)); + return command; + } + + private static SqliteParameter Parameter(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } + + private static void AddIds(SqliteCommand command, IReadOnlyList eventIds) + { + for (int i = 0; i < eventIds.Count; i++) + { + command.Parameters.Add(Parameter($"@Id{i}", eventIds[i].ToString())); + } + } + + private static string BuildInClause(string prefix, int count) + { + string[] names = new string[count]; + for (int i = 0; i < count; i++) + { + names[i] = $"@Id{i}"; + } + + return prefix + " (" + string.Join(", ", names) + ")"; + } + + private static DiagnosticOutboxRow ReadRow(SqliteDataReader reader) => new() + { + EventId = Guid.Parse(reader.GetString(reader.GetOrdinal("EventId"))), + Priority = (TelemetryPriority)reader.GetInt32(reader.GetOrdinal("Priority")), + CreatedAtUtc = DateTimeOffset.Parse(reader.GetString(reader.GetOrdinal("CreatedAtUtc"))), + ExpiresAtUtc = DateTimeOffset.Parse(reader.GetString(reader.GetOrdinal("ExpiresAtUtc"))), + PayloadVersion = reader.GetInt32(reader.GetOrdinal("PayloadVersion")), + PayloadJson = reader.GetString(reader.GetOrdinal("PayloadJson")), + AttemptCount = reader.GetInt32(reader.GetOrdinal("AttemptCount")), + NextAttemptUtc = DateTimeOffset.Parse(reader.GetString(reader.GetOrdinal("NextAttemptUtc"))), + LastAttemptUtc = reader.IsDBNull(reader.GetOrdinal("LastAttemptUtc")) + ? null + : DateTimeOffset.Parse(reader.GetString(reader.GetOrdinal("LastAttemptUtc"))), + LastErrorCode = reader.IsDBNull(reader.GetOrdinal("LastErrorCode")) + ? null + : reader.GetString(reader.GetOrdinal("LastErrorCode")) + }; + + /// + public void Dispose() + { + if (_disposed) + { + return; + } + + _disposed = true; + _connection.Dispose(); + } + + /// + public async ValueTask DisposeAsync() + { + if (_disposed) + { + return; + } + + _disposed = true; + await _connection.DisposeAsync(); + } +} diff --git a/src/Omika.App.Local/Diagnostics/DiagnosticSqliteSchema.cs b/src/Omika.App.Local/Diagnostics/DiagnosticSqliteSchema.cs new file mode 100644 index 0000000..c4a2c26 --- /dev/null +++ b/src/Omika.App.Local/Diagnostics/DiagnosticSqliteSchema.cs @@ -0,0 +1,44 @@ +namespace Omika.App.Local.Diagnostics; + +/// +/// Schéma SQLite du DiagnosticOutbox (Phase 4). Base séparée +/// (omika-diagnostics.db) et versionnée indépendamment des migrations métier +/// via PRAGMA user_version. Une migration diagnostic cassée désactive le +/// diagnostic, jamais le démarrage d'Omika. +/// +public static class DiagnosticSqliteSchema +{ + /// Version du schéma diagnostic (indépendante de la base métier). + public const int DiagnosticSchemaVersion = 1; + + /// Instructions DDL idempotentes (création si absent). + public static readonly string[] CreateStatements = + [ + """ + CREATE TABLE IF NOT EXISTS "DiagnosticOutbox" ( + "EventId" TEXT NOT NULL PRIMARY KEY, + "Priority" INTEGER NOT NULL, + "CreatedAtUtc" TEXT NOT NULL, + "ExpiresAtUtc" TEXT NOT NULL, + "PayloadVersion" INTEGER NOT NULL, + "PayloadJson" TEXT NOT NULL, + "AttemptCount" INTEGER NOT NULL DEFAULT 0, + "NextAttemptUtc" TEXT NOT NULL, + "LastAttemptUtc" TEXT NULL, + "LastErrorCode" TEXT NULL + ) + """, + """ + CREATE INDEX IF NOT EXISTS "IX_DiagnosticOutbox_NextAttemptUtc" + ON "DiagnosticOutbox" ("NextAttemptUtc") + """, + """ + CREATE INDEX IF NOT EXISTS "IX_DiagnosticOutbox_Priority" + ON "DiagnosticOutbox" ("Priority") + """, + """ + CREATE INDEX IF NOT EXISTS "IX_DiagnosticOutbox_CreatedAtUtc" + ON "DiagnosticOutbox" ("CreatedAtUtc") + """ + ]; +} diff --git a/src/Omika.App.Local/Infrastructure/AppleMapsUri.cs b/src/Omika.App.Local/Infrastructure/AppleMapsUri.cs new file mode 100644 index 0000000..855def1 --- /dev/null +++ b/src/Omika.App.Local/Infrastructure/AppleMapsUri.cs @@ -0,0 +1,21 @@ +using System; + +namespace Omika.App.Local.Infrastructure; + +/// +/// Construction d'une URI Apple Maps (https://maps.apple.com) pour ouvrir +/// l'application Plans d'iOS avec une adresse de destination pré-remplie. +/// +/// N'impose jamais Google Maps : Apple Maps est toujours présent sur iOS, donc +/// l'itinéraire fonctionne même sans application tierce installée. L'adresse est +/// encodée en UTF-8, jamais modifiée ; aucune coordonnée n'est inventée. +/// +public static class AppleMapsUri +{ + /// + /// URI Apple Maps complète (ex. + /// https://maps.apple.com/?q=12%20rue%20de%20la%20Paix%2075002%20Paris). + /// + public static string Build(string address) + => $"https://maps.apple.com/?q={Uri.EscapeDataString(address)}"; +} diff --git a/src/Omika.App.Local/Infrastructure/FileMimeTypes.cs b/src/Omika.App.Local/Infrastructure/FileMimeTypes.cs new file mode 100644 index 0000000..f001810 --- /dev/null +++ b/src/Omika.App.Local/Infrastructure/FileMimeTypes.cs @@ -0,0 +1,37 @@ +using System.IO; + +namespace Omika.App.Local.Infrastructure; + +/// +/// Résolution du type MIME à partir de l'extension d'un nom de fichier. +/// Réutilisée par les pickers Desktop et Android comme repli lorsque le +/// fournisseur ne fournit pas de type MIME explicite. +/// +public static class FileMimeTypes +{ + public static string? FromExtension(string? fileName) + { + if (string.IsNullOrWhiteSpace(fileName)) + { + return null; + } + + string ext = Path.GetExtension(fileName).TrimStart('.').ToLowerInvariant(); + return ext switch + { + "jpg" or "jpeg" => "image/jpeg", + "png" => "image/png", + "gif" => "image/gif", + "bmp" => "image/bmp", + "webp" => "image/webp", + "heic" => "image/heic", + "pdf" => "application/pdf", + "doc" => "application/msword", + "docx" => "application/vnd.openxmlformats-officedocument.wordprocessingml.document", + "xls" => "application/vnd.ms-excel", + "xlsx" => "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", + "txt" => "text/plain", + _ => null + }; + } +} diff --git a/src/Omika.App.Local/Infrastructure/InterventionContextTypes.cs b/src/Omika.App.Local/Infrastructure/InterventionContextTypes.cs new file mode 100644 index 0000000..8381989 --- /dev/null +++ b/src/Omika.App.Local/Infrastructure/InterventionContextTypes.cs @@ -0,0 +1,11 @@ +namespace Omika.App.Local.Infrastructure; + +public static class InterventionContextTypes +{ + public const string Client = "Client"; + public const string Site = "Site"; + public const string Collaborateur = "Collaborateur"; + + public static bool IsKnown(string value) + => value is Client or Site or Collaborateur; +} diff --git a/src/Omika.App.Local/Infrastructure/JsonHelper.cs b/src/Omika.App.Local/Infrastructure/JsonHelper.cs new file mode 100644 index 0000000..44c83d3 --- /dev/null +++ b/src/Omika.App.Local/Infrastructure/JsonHelper.cs @@ -0,0 +1,33 @@ +using System.Text.Json; +using System.Text.Json.Serialization; + +namespace Omika.App.Local.Infrastructure; + +/// +/// Helper de sérialisation JSON pour les données locales. +/// +internal static class JsonHelper +{ + private static readonly JsonSerializerOptions Options = new() + { + PropertyNameCaseInsensitive = true, + DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull + }; + + public static string Serialize(T value) + => JsonSerializer.Serialize(value, Options); + + public static T? Deserialize(string json) + { + try + { + return JsonSerializer.Deserialize(json, Options); + } + catch (JsonException) + { + // Donnée locale corrompue : traitée comme absente plutôt que de + // faire échouer l'application. Les appelants gèrent déjà le cas null. + return default; + } + } +} diff --git a/src/Omika.App.Local/Infrastructure/LanguagePaths.cs b/src/Omika.App.Local/Infrastructure/LanguagePaths.cs new file mode 100644 index 0000000..aee1732 --- /dev/null +++ b/src/Omika.App.Local/Infrastructure/LanguagePaths.cs @@ -0,0 +1,125 @@ +namespace Omika.App.Local.Infrastructure; + +/// +/// Chemins du stockage local des packs de langue (modèles ONNX + +/// vocabulaires SentencePiece téléchargés depuis l'API des langues). +/// +/// +/// Arborescence sous (elle-même sous le répertoire de +/// données de l'application, donc dans la sandbox Android / le dossier +/// Library iOS) : +/// +/// +/// langues/ +/// ├── index.json dernier manifeste serveur connu (écran hors ligne) +/// ├── es/ +/// │ ├── pack.json pack INSTALLÉ (version + empreintes vérifiées) +/// │ ├── versFrancais/ +/// │ │ ├── encoder.onnx +/// │ │ └── vocab.spm +/// │ └── depuisFrancais/ +/// │ └── ... +/// └── pt/ ... +/// +/// +/// +/// Un pack n'est « installé » que si pack.json existe. Ce fichier +/// n'est écrit qu'après vérification de l'empreinte SHA-256 de tous ses +/// fichiers : un téléchargement interrompu ne laisse donc jamais un pack +/// utilisable à moitié, et les fichiers partiels (.part) sont repris au +/// prochain essai. +/// +/// +public static class LanguagePaths +{ + /// Nom du fichier marqueur d'un pack installé. + public const string FichierPack = "pack.json"; + + /// Nom du fichier de manifeste serveur mémorisé localement. + public const string FichierIndex = "index.json"; + + /// Extension des téléchargements en cours (jamais utilisée telle quelle). + public const string ExtensionPartielle = ".part"; + + /// Répertoire racine des langues dans le stockage local. + public static string Racine => Path.Combine(MobileStoragePaths.DataDirectory, "langues"); + + /// Chemin du manifeste serveur mémorisé (index.json). + public static string Index => IndexDans(Racine); + + /// Chemin du manifeste serveur mémorisé, sous une racine donnée. + public static string IndexDans(string racine) => Path.Combine(racine, FichierIndex); + + /// Répertoire d'une langue (langues/es). + public static string DossierLangue(string code) => DossierLangueDans(Racine, code); + + /// Répertoire d'une langue, sous une racine donnée. + public static string DossierLangueDans(string racine, string code) + => Path.Combine(racine, NormaliserCode(code)); + + /// Répertoire d'un sens de traduction (langues/es/versFrancais). + public static string DossierSens(string code, string sens) + => DossierSensDans(Racine, code, sens); + + /// Répertoire d'un sens de traduction, sous une racine donnée. + public static string DossierSensDans(string racine, string code, string sens) + => Path.Combine(DossierLangueDans(racine, code), NormaliserSens(sens)); + + /// Chemin du marqueur d'installation d'une langue (langues/es/pack.json). + public static string PackInstalle(string code) => PackInstalleDans(Racine, code); + + /// Marqueur d'installation d'une langue, sous une racine donnée. + public static string PackInstalleDans(string racine, string code) + => Path.Combine(DossierLangueDans(racine, code), FichierPack); + + /// + /// Chemin du fichier d'un modèle. Le nom de fichier est réduit à son nom + /// simple () : un manifeste serveur ne + /// peut jamais faire écrire hors du répertoire de la langue. + /// + public static string FichierModele(string code, string sens, string nomFichier) + => FichierModeleDans(Racine, code, sens, nomFichier); + + /// Chemin du fichier d'un modèle, sous une racine donnée. + public static string FichierModeleDans(string racine, string code, string sens, string nomFichier) + => Path.Combine(DossierSensDans(racine, code, sens), Path.GetFileName(nomFichier)); + + /// Normalise un code de langue (minuscules, sans espace). + public static string NormaliserCode(string? code) + => (code ?? string.Empty).Trim().ToLowerInvariant(); + + /// Normalise un sens de traduction (tel quel, sans espace). + public static string NormaliserSens(string? sens) + => (sens ?? string.Empty).Trim(); + + /// + /// Vrai si le code de langue est exploitable comme nom de dossier : + /// uniquement des minuscules ASCII, des chiffres et un tiret (codes type + /// es, pt-br, zh). Tout le reste est refusé — un code + /// venu du réseau ne doit jamais pouvoir désigner .. ou un chemin. + /// + public static bool EstCodeValide(string? code) + { + if (string.IsNullOrWhiteSpace(code)) + { + return false; + } + + string valeur = code.Trim(); + if (valeur.Length is < 2 or > 10 || valeur[0] == '-' || valeur[^1] == '-') + { + return false; + } + + foreach (char c in valeur) + { + bool autorise = c is >= 'a' and <= 'z' or >= '0' and <= '9' or '-'; + if (!autorise) + { + return false; + } + } + + return true; + } +} diff --git a/src/Omika.App.Local/Infrastructure/LanguageTag.cs b/src/Omika.App.Local/Infrastructure/LanguageTag.cs new file mode 100644 index 0000000..623ac29 --- /dev/null +++ b/src/Omika.App.Local/Infrastructure/LanguageTag.cs @@ -0,0 +1,108 @@ +namespace Omika.App.Local.Infrastructure; + +/// +/// Conversion entre le code ISO court d'une langue tel qu'il apparaît +/// dans l'API des langues et le code de culture BCP-47 attendu par les +/// moteurs de reconnaissance vocale natifs +/// (RecognizerIntent.ExtraLanguage sur Android, +/// NSLocale sur iOS). +/// +/// +/// Les deux vocabulaires ne se déduisent pas l'un de l'autre : en ne +/// devient pas en-EN (inexistant) mais en-US, et ar devient +/// ar-SA. Une table explicite couvre les langues secondaires réellement +/// proposées ; le repli générique (xx → xx-XX) couvre les autres +/// sans jamais produire une culture vide. +/// +/// +/// +/// La langue de référence de l'application est le français : c'est elle +/// qui est utilisée quand l'utilisateur dicte dans sa langue de travail +/// habituelle, et c'est vers elle que la dictée en langue secondaire est +/// traduite. +/// +/// +public static class LanguageTag +{ + /// Culture du français (langue de référence de l'application). + public const string Francais = "fr-FR"; + + /// Code ISO court du français. + public const string CodeFrancais = "fr"; + + /// + /// Cultures correspondant aux codes ISO courts. Volontairement limitée aux + /// langues secondaires plausibles pour un utilisateur francophone ; toute + /// autre langue passe par le repli générique. + /// + private static readonly Dictionary Cultures = new(StringComparer.Ordinal) + { + ["fr"] = Francais, + ["en"] = "en-US", + ["es"] = "es-ES", + ["pt"] = "pt-PT", + ["it"] = "it-IT", + ["de"] = "de-DE", + ["nl"] = "nl-NL", + ["pl"] = "pl-PL", + ["ro"] = "ro-RO", + ["ru"] = "ru-RU", + ["tr"] = "tr-TR", + ["ar"] = "ar-SA", + ["zh"] = "zh-CN", + ["ja"] = "ja-JP", + ["ko"] = "ko-KR", + ["hi"] = "hi-IN", + ["vi"] = "vi-VN", + ["th"] = "th-TH" + }; + + /// + /// Culture BCP-47 d'un code ISO court. Un code déjà complet + /// (pt-BR) est conservé tel quel. + /// + public static string DepuisCode(string? code) + { + if (string.IsNullOrWhiteSpace(code)) + { + return Francais; + } + + string valeur = code.Trim(); + + // Code déjà régionalisé : respecté tel quel (le serveur peut proposer + // une variante précise, la dictée doit l'utiliser). + if (valeur.Contains('-', StringComparison.Ordinal)) + { + return valeur; + } + + string cle = valeur.ToLowerInvariant(); + if (Cultures.TryGetValue(cle, out string? culture)) + { + return culture; + } + + // Repli générique : « xx » → « xx-XX ». Toujours non vide, donc jamais + // de dictée silencieusement lancée sans langue. + return cle.Length == 2 + ? $"{cle}-{cle.ToUpperInvariant()}" + : valeur; + } + + /// + /// Indique si un code de langue désigne le français (langue de référence de + /// l'application) : dans ce cas aucune traduction n'est nécessaire. + /// + public static bool EstFrancais(string? code) + { + if (string.IsNullOrWhiteSpace(code)) + { + return true; + } + + string valeur = code.Trim().ToLowerInvariant(); + return valeur.StartsWith(CodeFrancais, StringComparison.Ordinal) + && (valeur.Length == 2 || valeur[2] is '-' or '_'); + } +} diff --git a/src/Omika.App.Local/Infrastructure/MapUri.cs b/src/Omika.App.Local/Infrastructure/MapUri.cs new file mode 100644 index 0000000..41aaef3 --- /dev/null +++ b/src/Omika.App.Local/Infrastructure/MapUri.cs @@ -0,0 +1,19 @@ +using System; + +namespace Omika.App.Local.Infrastructure; + +/// +/// Construction d'une URI geo: (RFC 5870) de destination à partir d'une +/// adresse libre. L'adresse est encodée ; aucune coordonnée n'est inventée. +/// L'URI est compatible avec Google Maps comme avec tout client de navigation +/// capable de traiter le schéma geo:. +/// +public static class MapUri +{ + /// + /// Construit l'URI de destination (ex. + /// geo:0,0?q=12%20rue%20de%20la%20Paix%2075002%20Paris). + /// + public static string Build(string address) + => $"geo:0,0?q={Uri.EscapeDataString(address)}"; +} diff --git a/src/Omika.App.Local/Infrastructure/MobileStoragePaths.cs b/src/Omika.App.Local/Infrastructure/MobileStoragePaths.cs new file mode 100644 index 0000000..7f7ca51 --- /dev/null +++ b/src/Omika.App.Local/Infrastructure/MobileStoragePaths.cs @@ -0,0 +1,31 @@ +using System; +using System.IO; + +namespace Omika.App.Local.Infrastructure; + +/// +/// Chemins du stockage local mobile (répertoire de données partagé par toutes +/// les implémentations de stockage : token, identifiant d'appareil, SQLite, +/// diagnostics). +/// +/// Le répertoire LocalApplicationData/Omika est : +/// +/// Android : le stockage interne de l'application (sandbox, non exporté, +/// non sauvegardé car allowBackup=false) ; +/// iOS : le dossier Library de la sandbox (durable, effacé à la +/// désinstallation). +/// +/// +public static class MobileStoragePaths +{ + /// Répertoire racine des données locales de l'application. + public static string DataDirectory => Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), + "Omika"); + + /// Chemin de l'ancien token de session en clair (héritage). + public static string LegacyTokenPath => Path.Combine(DataDirectory, "session.token"); + + /// Chemin de l'identifiant d'appareil (fichier sandbox, jamais en Keystore/Keychain). + public static string DeviceIdPath => Path.Combine(DataDirectory, "device.id"); +} diff --git a/src/Omika.App.Local/Infrastructure/PhoneDialUri.cs b/src/Omika.App.Local/Infrastructure/PhoneDialUri.cs new file mode 100644 index 0000000..efb9815 --- /dev/null +++ b/src/Omika.App.Local/Infrastructure/PhoneDialUri.cs @@ -0,0 +1,22 @@ +namespace Omika.App.Local.Infrastructure; + +/// +/// Construction d'une URI tel: (RFC 3966) depuis un numéro libre. +/// Retire uniquement les espaces/séparateurs blancs ; les séparateurs visuels +/// (points, tirets, parenthèses) et le « + » restent valides dans un URI tel:. +/// Le numéro métier n'est jamais modifié ni journalisé. +/// +public static class PhoneDialUri +{ + /// + /// Numéro sans séparateurs blancs (conserve « + », points, tirets, parenthèses). + /// + public static string Sanitize(string phoneNumber) + => string.Concat(phoneNumber.Split((char[]?)null, StringSplitOptions.RemoveEmptyEntries)); + + /// + /// URI tel: complète (ex. tel:+33612345678). + /// + public static string Build(string phoneNumber) + => $"tel:{Sanitize(phoneNumber)}"; +} diff --git a/src/Omika.App.Local/Infrastructure/SuiviTempsConstants.cs b/src/Omika.App.Local/Infrastructure/SuiviTempsConstants.cs new file mode 100644 index 0000000..5fb316f --- /dev/null +++ b/src/Omika.App.Local/Infrastructure/SuiviTempsConstants.cs @@ -0,0 +1,158 @@ +using Omika.Core.Contracts.Common; + +namespace Omika.App.Local.Infrastructure; + +/// +/// Constantes métier du suivi des temps, partagées par le service local et l'UI. +/// Les clés reproduisent les constantes WINDEV du référentiel TypeTemps +/// (voir cCle_TypeTempsInter et consorts dans la documentation Batik/Omika). +/// +public static class SuiviTempsConstants +{ + /// Clé métier Omika du type de temps « intervention ». + public const string InterventionTypeTempsKey = "T.TEMPS.INTER"; + + /// + /// Clé métier Omika du type de temps « pause déjeuner » + /// (PA_CLE, libellé « Temps pause déjeuner »). + /// + /// + /// La génération Batik ne porte pas de PA_CLE pour ce type : il n'est + /// alors identifiable que par son libellé (voir ). + /// + /// + public const string PauseDejeunerTypeTempsKey = "T.TEMPS.DJNER"; + + /// + /// Écart maximal toléré (en minutes) entre la période d'un rendez-vous et une + /// pause déjeuner qui lui est rattachée, lorsque les deux périodes ne se + /// chevauchent pas. + /// + /// + /// Une pause déjeuner est acceptée si elle chevauche la période du rendez-vous + /// OU si la distance qui la sépare de cette période (avant ou après) ne dépasse + /// pas cette tolérance. Exemple : une intervention qui se termine à 11:40 peut + /// recevoir une pause déjeuner à 12:00 (20 minutes d'écart), mais pas une + /// intervention terminée à 09:00 (3 heures d'écart). + /// + /// + /// + /// Valeur métier centralisée : elle ne doit pas être dupliquée dans les + /// ViewModels. Elle remplace les anciens écarts de début saisis dispersés. + /// + /// + public const int PauseDejeunerToleranceMinutes = 30; + + /// + /// Clés « système » Omika du référentiel TypeTemps qui ne sont pas + /// saisissables manuellement (global, null, non affecté). + /// + public static readonly IReadOnlySet SystemTypeTempsKeys = + new HashSet(StringComparer.OrdinalIgnoreCase) + { + "T.TEMPS.GLB", + "T.TEMPS.NULL", + "T.TEMPS.TMPSNNFF" + }; + + /// + /// Libellés « système » Batik du référentiel TypeTemps (aucun PA_CLE + /// en Batik : le libellé tient lieu de clé publique). + /// + public static readonly IReadOnlySet SystemTypeTempsLabels = + new HashSet(StringComparer.OrdinalIgnoreCase) + { + "Aucun Type de temps", + "Temps global", + "Temps non affecté" + }; + + /// + /// Retrouve le type de temps « intervention » dans un référentiel, quelle que + /// soit la génération : par clé métier (T.TEMPS.INTER, Omika) ou par + /// libellé contenant « intervention » (Batik, sans clé). + /// + public static ReferenceValueDto? FindInterventionTypeTemps(IReadOnlyList types) + { + ArgumentNullException.ThrowIfNull(types); + + return types.FirstOrDefault(t => + string.Equals(t.Key, InterventionTypeTempsKey, StringComparison.OrdinalIgnoreCase) + || ContainsIntervention(t.Key) + || ContainsIntervention(t.Label)); + } + + /// + /// Retourne l'identifiant à utiliser comme TypeTempsKey pour une valeur + /// de référentiel : la clé métier si disponible, sinon le libellé. + /// + public static string? TypeTempsIdentifier(ReferenceValueDto? type) + => type is null ? null : (string.IsNullOrWhiteSpace(type.Key) ? type.Label : type.Key); + + /// + /// Indique si un identifiant de type de temps correspond au type + /// « intervention » (clé métier Omika ou libellé Batik contenant + /// « intervention »). + /// + public static bool IsInterventionTypeTemps(string? identifier) + => !string.IsNullOrWhiteSpace(identifier) + && (string.Equals(identifier, InterventionTypeTempsKey, StringComparison.OrdinalIgnoreCase) + || ContainsIntervention(identifier)); + + /// + /// Indique si une valeur de référentiel est un type « système » non + /// saisissable (par clé ou par libellé, selon la génération). + /// + public static bool IsSystemTypeTemps(ReferenceValueDto type) + { + if (!string.IsNullOrWhiteSpace(type.Key) && SystemTypeTempsKeys.Contains(type.Key)) + { + return true; + } + + return !string.IsNullOrWhiteSpace(type.Label) && SystemTypeTempsLabels.Contains(type.Label); + } + + /// + /// Retrouve le type de temps « pause déjeuner » dans un référentiel, quelle + /// que soit la génération : par clé métier (T.TEMPS.DJNER, Omika) ou + /// par libellé contenant « déjeuner » (Batik, sans clé). + /// + public static ReferenceValueDto? FindPauseDejeunerTypeTemps(IReadOnlyList types) + { + ArgumentNullException.ThrowIfNull(types); + + return types.FirstOrDefault(t => IsPauseDejeunerTypeTemps(TypeTempsIdentifier(t))); + } + + /// + /// Indique si un identifiant de type de temps correspond à la pause déjeuner. + /// + /// + /// L'identification privilégie la clé métier stable + /// T.TEMPS.DJNER : le libellé affiché peut changer ou être traduit sans + /// casser le préremplissage. + /// + /// + /// + /// Le repli sur le libellé n'existe que pour la génération Batik, qui ne + /// porte pas de PA_CLE pour ce type. Il cherche « déjeuner » (et sa + /// forme sans accent) et JAMAIS « pause » seul, car le référentiel contient + /// aussi « Temps de pause », qui est un type métier différent. + /// + /// + public static bool IsPauseDejeunerTypeTemps(string? identifier) + => !string.IsNullOrWhiteSpace(identifier) + && (string.Equals(identifier, PauseDejeunerTypeTempsKey, StringComparison.OrdinalIgnoreCase) + || ContientDejeuner(identifier)); + + /// Détecte « déjeuner » (avec ou sans accent) dans un libellé. + private static bool ContientDejeuner(string? value) + => !string.IsNullOrWhiteSpace(value) + && (value.Contains("déjeuner", StringComparison.OrdinalIgnoreCase) + || value.Contains("dejeuner", StringComparison.OrdinalIgnoreCase)); + + private static bool ContainsIntervention(string? value) + => !string.IsNullOrWhiteSpace(value) + && value.Contains("intervention", StringComparison.OrdinalIgnoreCase); +} diff --git a/src/Omika.App.Local/Infrastructure/SyncEntityTypes.cs b/src/Omika.App.Local/Infrastructure/SyncEntityTypes.cs new file mode 100644 index 0000000..a2ad1bc --- /dev/null +++ b/src/Omika.App.Local/Infrastructure/SyncEntityTypes.cs @@ -0,0 +1,31 @@ +namespace Omika.App.Local.Infrastructure; + +/// +/// Constantes des types d'entité métier utilisés par l'Outbox et la +/// réconciliation d'identité. Doivent correspondre aux valeurs du backend. +/// +public static class SyncEntityTypes +{ + public const string Client = "Client"; + public const string Personne = "Personne"; + public const string Site = "Site"; + public const string Intervention = "Intervention"; + public const string Dossier = "Dossier"; + public const string RendezVous = "RendezVous"; + public const string Collaborateur = "Collaborateur"; + public const string Document = "Document"; + public const string SuiviTemps = "SuiviTemps"; + public const string NoteInterne = "NoteInterne"; + public const string NoteAdministrative = "NoteAdministrative"; + + /// + /// Note libre attachée à un document / une photo (et non à une intervention). + /// La note dépend TOUJOURS de l'opération de son document : elle n'est envoyée + /// qu'une fois le document présent côté serveur, sinon l'API n'a pas de + /// document auquel rattacher la note. + /// + public const string NoteDocument = "NoteDocument"; + public const string CompteRendu = "CompteRendu"; +} + + diff --git a/src/Omika.App.Local/Models/AgendaItem.cs b/src/Omika.App.Local/Models/AgendaItem.cs new file mode 100644 index 0000000..4f34e4e --- /dev/null +++ b/src/Omika.App.Local/Models/AgendaItem.cs @@ -0,0 +1,339 @@ +using System.ComponentModel; +using System.Runtime.CompilerServices; + +namespace Omika.App.Local.Models; + +/// +/// Élément d'agenda : un rendez-vous enrichi pour l'affichage. +/// Porte uniquement des identités publiques locales (GUID réconciliés), +/// jamais de PK HFSQL. Les relations optionnelles absentes restent null. +/// +public sealed class AgendaItem : INotifyPropertyChanged +{ + /// + public event PropertyChangedEventHandler? PropertyChanged; + /// Identité publique du rendez-vous. + public Guid RendezVousGuid { get; init; } + + /// + /// Identité de l'AFFECTATION ouverte (Omika : RDV_Collaborateur.GUID ; + /// Batik : ligne Planning_RDV). Un rendez-vous de groupe porte une + /// affectation par collaborateur et, sur plusieurs jours, une affectation par + /// jour : l'agenda présente donc une carte par affectation, et la fiche doit + /// conserver cette identité pour afficher le créneau et le collaborateur + /// réellement ouverts. + /// + public string? AffectationId { get; init; } + + /// + /// Jours couverts par le rendez-vous (dates distinctes, ordre chronologique). + /// Alimente le bloc informatif de la fiche : un rendez-vous de plusieurs jours + /// y énumère ses journées. + /// + public IReadOnlyList JoursDuGroupe { get; init; } = []; + + /// + /// Journées couvertes par le rendez-vous AVEC le créneau réellement occupé + /// dans chacune d'elles (heures issues des affectations + /// RDV_Collaborateur, jamais de l'enveloppe du noyau). Vide si le + /// rendez-vous ne porte aucune date exploitable. + /// + public IReadOnlyList JoursAvecHoraires { get; init; } = []; + + /// + /// Journées de CHAQUE collaborateur affecté (une entrée par collaborateur). + /// + /// + /// Un rendez-vous groupé n'a pas les mêmes journées pour tous : chaque + /// collaborateur n'est concerné que par les jours où il porte une affectation. + /// La fiche affiche donc les journées du collaborateur dont l'occurrence est + /// ouverte (), et non l'enveloppe de + /// qui réunit les créneaux de toute l'équipe. + /// + /// + public IReadOnlyList JoursParCollaborateur { get; init; } = []; + + /// + /// Identité publique du collaborateur de l'affectation OUVERTE (la personne à + /// qui appartient le créneau présenté). quand aucune + /// affectation n'a pu être identifiée : la fiche se rabat alors sur le nom + /// . + /// + public Guid? CollaborateurOccurrenceGuid { get; init; } + + /// + /// Indique que la fiche doit afficher le bloc « Rendez-vous groupé » : le + /// rendez-vous couvre plusieurs jours ou concerne plusieurs collaborateurs. + /// + public bool AfficheBlocPeriode => JoursDuGroupe.Count > 1 || Collaborateurs.Count > 1; + + /// Identité publique de l'intervention liée (si présente). + public Guid? InterventionGuid { get; init; } + + /// Identité publique du client lié (si présente). + public Guid? ClientGuid { get; init; } + + /// Identité publique du site lié (si présente). + public Guid? SiteGuid { get; init; } + + /// Titre du rendez-vous. + public string Titre { get; init; } = string.Empty; + + /// + /// Description du rendez-vous. Notifiante : une annulation locale y concatène + /// immédiatement le message d'annulation suivi du nom du collaborateur, sans + /// attendre la synchronisation serveur. + /// + public string? Description + { + get => _description; + set { _description = value; OnPropertyChanged(); } + } + + /// Date et heure de début. + public DateTime Debut { get; init; } + + /// Date et heure de fin. + public DateTime Fin { get; init; } + + /// Libellé du type d'activité (si disponible). + public string? TypeActivite { get; init; } + + /// Clé métier du type d'activité (si disponible). + public string? TypeActiviteKey { get; init; } + + /// + /// Indique si le type du rendez-vous est marqué « Envoi_mobile » (visible et + /// ouvrable sur mobile). Défaut : (comportement + /// compatible) ; l'agenda d'équipe le fixe à pour les + /// rendez-vous non synchronisés avec le mobile (consultables mais non ouvrables). + /// + public bool EstEnvoyeMobile { get; set; } = true; + + /// + /// Libellé du statut (si disponible). Notifiant : une annulation locale met + /// à jour ce libellé et les vues liées réagissent immédiatement. + /// + public string? Statut + { + get => _statut; + set { _statut = value; OnPropertyChanged(); } + } + + /// Clé métier du statut (si disponible). Notifiante. + public string? StatutKey + { + get => _statutKey; + set { _statutKey = value; OnPropertyChanged(); } + } + + /// Couleur hexadécimale du type de rendez-vous (ex. #RRGGBB). + public string? Couleur { get; set; } + + /// Couleur hexadécimale du statut de rendez-vous (ex. #RRGGBB). + public string? StatutCouleur { get; set; } + + /// Nom du client lié (si disponible). + public string? ClientNom { get; init; } + + /// Nom du site lié (si disponible). + public string? SiteNom { get; init; } + + /// Adresse du site lié (si disponible). + public string? SiteAdresse { get; init; } + + /// Référence de l'intervention liée (si disponible). + public string? InterventionReference { get; init; } + + /// Numéro de devis de l'intervention liée (si disponible). + public string? InterventionNumeroDevis { get; init; } + + /// Référence externe de l'intervention liée (si disponible). + public string? InterventionReferenceExterne { get; init; } + + /// Titre de l'intervention liée (si disponible). + public string? InterventionTitre { get; init; } + + /// Description de l'intervention liée (si disponible). + public string? InterventionDescription { get; init; } + + /// Nom du collaborateur affecté (si disponible). + public string? CollaborateurNom { get; init; } + + /// + /// Identités publiques des collaborateurs affectés au rendez-vous (liste des + /// Collaborateurs du DTO). Utilisé pour filtrer l'agenda par équipe ou + /// par collaborateur. Vide si aucun collaborateur n'est affecté. + /// + public IReadOnlyList CollaborateurGuids { get; init; } = []; + + /// + /// Noms affichés des collaborateurs affectés (dédupliqués, pour présentation). + /// + public IReadOnlyList Collaborateurs { get; init; } = []; + + /// + /// Identités publiques des collaborateurs dont l'affectation porte + /// TempsValide (validation métier synchronisée PAR AFFECTATION). Vide + /// si aucune affectation n'est validée. Permet d'évaluer la validation POUR + /// le collaborateur courant (RDV groupe) au lieu de « au moins une + /// affectation ». + /// + public IReadOnlyList CollaborateursTempsValides { get; init; } = []; + + /// + /// Indique que le temps du rendez-vous a été validé côté serveur (au moins une + /// affectation porte TempsValide). Représente l'état de validation + /// métier synchronisé, indépendant du marqueur local de validation. + /// + public bool TempsValide { get; init; } + + /// Indique qu'un compte rendu est requis/lié sur ce rendez-vous. + public bool AvecCompteRendu { get; init; } + + /// Indique que le rendez-vous est un rendez-vous SAV. + public bool EstSav { get; init; } + + /// + /// Indique que le rendez-vous est GROUPÉ : plusieurs collaborateurs partagent + /// le même rendez-vous. Une annulation porte alors sur l'intégralité du groupe + /// (toutes les affectations sont annulées) : la fiche détail doit en avertir le + /// collaborateur avant qu'il confirme. + /// + public bool EstGroupe { get; init; } + + /// + /// Libellé principal affiché : le nom du site (sinon le titre du rendez-vous). + /// + public string? DisplayTitre => SiteNom ?? Titre; + + /// Accès / informations complémentaires du site (si disponible). + public string? SiteAcces { get; init; } + + private string? _siteCodeAcces; + /// Code d'accès du site lié (si disponible). + public string? SiteCodeAcces + { + get => _siteCodeAcces; + set { _siteCodeAcces = value; OnPropertyChanged(); } + } + + private string? _siteType; + /// Libellé du type de site lié (si disponible). + public string? SiteType + { + get => _siteType; + set { _siteType = value; OnPropertyChanged(); } + } + + private bool _siteBadge; + /// Indique qu'un badge est requis pour accéder au site lié. + public bool SiteBadge + { + get => _siteBadge; + set { _siteBadge = value; OnPropertyChanged(); } + } + + private bool _siteInterphone; + /// Indique qu'un interphone est disponible sur le site lié. + public bool SiteInterphone + { + get => _siteInterphone; + set { _siteInterphone = value; OnPropertyChanged(); } + } + + private string? _siteNote; + /// Note / informations complémentaires du site lié (si disponible). + public string? SiteNote + { + get => _siteNote; + set { _siteNote = value; OnPropertyChanged(); } + } + + private void OnPropertyChanged([CallerMemberName] string? propertyName = null) + => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + + /// Contacts/participants du rendez-vous (résolus côté serveur). + public IReadOnlyList Contacts { get; init; } = []; + + private string? _statut; + private string? _statutKey; + private bool _estAnnule; + private string? _description; + /// + /// Indique si le rendez-vous est annulé (annulation renseignée) ou archivé. + /// Modifiable après construction afin de refléter immédiatement une annulation + /// locale sans attendre la synchronisation. + /// + /// + /// Indique si le rendez-vous est annulé (annulation renseignée) ou archivé. + /// Notifie son changement pour que l'UI (badge, boutons grisés) réagisse + /// immédiatement après une annulation locale. + /// + public bool EstAnnule + { + get => _estAnnule; + set { _estAnnule = value; OnPropertyChanged(); } + } + + /// Libellé de l'origine de l'annulation (si annulé). + public string? OrigineAnnulationLabel { get; set; } + + /// Libellé du motif de l'annulation (si annulé). + public string? MotifAnnulationLabel { get; set; } + + /// Indique si le rendez-vous occupe toute la journée. + public bool EstTouteLaJournee { get; init; } + + /// Durée du rendez-vous (fin - début). + public TimeSpan Duree => Fin >= Debut ? Fin - Debut : TimeSpan.Zero; + + /// + /// Dernière date réellement couverte par le rendez-vous : la fin si elle est + /// exploitable, sinon le début (rendez-vous ponctuel ou fin manquante). + /// + public DateTime FinCouverte => Fin >= Debut ? Fin : Debut; + + /// + /// Indique si le rendez-vous couvre la journée demandée. Un rendez-vous de + /// plusieurs jours (rendez-vous groupé, affectation sur plusieurs créneaux) + /// est ainsi présenté sur CHACUNE des journées de son intervalle, et jamais + /// sur la seule journée de son début. + /// + public bool CouvreLeJour(DateTime jour) + => Debut != default && Debut.Date <= jour.Date && jour.Date <= FinCouverte.Date; + + /// + /// Indique si le rendez-vous chevauche la plage + /// (inclus) … (exclue) : un rendez-vous commencé + /// avant la plage mais qui la couvre encore reste visible. + /// + public bool ChevauchePlage(DateTime debutInclus, DateTime finExclue) + => Debut != default && Debut.Date < finExclue.Date && FinCouverte.Date >= debutInclus.Date; + + /// + /// Durée formatée pour l'affichage (ex. « 45 min », « 1 h 30 »). + /// Retourne null si la durée n'est pas exploitable. + /// + public string? DureeTexte + { + get + { + TimeSpan duree = Duree; + if (duree <= TimeSpan.Zero) + { + return null; + } + + int totalMinutes = (int)Math.Round(duree.TotalMinutes); + if (totalMinutes < 60) + { + return $"{totalMinutes} min"; + } + + int heures = totalMinutes / 60; + int minutes = totalMinutes % 60; + return minutes == 0 ? $"{heures} h" : $"{heures} h {minutes:00}"; + } + } +} diff --git a/src/Omika.App.Local/Models/CachedIntervention.cs b/src/Omika.App.Local/Models/CachedIntervention.cs new file mode 100644 index 0000000..5d237a1 --- /dev/null +++ b/src/Omika.App.Local/Models/CachedIntervention.cs @@ -0,0 +1,44 @@ +namespace Omika.App.Local.Models; + +/// +/// Entrée du cache local des interventions (recherche à la demande + favoris). +/// Table technique : jamais remplacée par un refresh snapshot. Le payload est +/// le détail complet (InterventionDetailsDto) sérialisé, les colonnes de +/// présentation (nombre de rendez-vous, site, client, contact) sont stockées +/// dénormalisées pour l'affichage offline sans jointure. +/// +public sealed class CachedIntervention +{ + /// Identité publique de l'intervention. + public Guid Id { get; set; } + + /// Détail complet de l'intervention sérialisé en JSON. + public string PayloadJson { get; set; } = string.Empty; + + /// L'intervention est épinglée (favori). + public bool IsPinned { get; set; } + + /// L'intervention appartient à la dernière recherche réussie. + public bool IsInLastSearch { get; set; } + + /// Ordre d'affichage dans la dernière recherche. + public int? SearchOrder { get; set; } + + /// Nombre de rendez-vous liés (enrichi côté serveur). + public int NbRendezVous { get; set; } + + /// Nom du site lié. + public string? SiteNom { get; set; } + + /// Adresse postale du site, formatée (si disponible). + public string? SiteAddressDisplay { get; set; } + + /// Nom du client lié. + public string? ClientNom { get; set; } + + /// Nom affiché du contact de référence. + public string? ContactNom { get; set; } + + /// Date de dernière mise à jour (UTC). + public DateTimeOffset UpdatedAtUtc { get; set; } +} diff --git a/src/Omika.App.Local/Models/ClientDetail.cs b/src/Omika.App.Local/Models/ClientDetail.cs new file mode 100644 index 0000000..7d525ba --- /dev/null +++ b/src/Omika.App.Local/Models/ClientDetail.cs @@ -0,0 +1,348 @@ +using System.ComponentModel; + +namespace Omika.App.Local.Models; + +/// +/// Modèle de présentation d'un client dans la liste, chargé depuis le snapshot +/// local SQLite. Expose uniquement les informations réellement disponibles dans +/// le payload ClientDetailsDto. Les champs optionnels absents restent +/// nuls sans erreur. +/// +public sealed class ClientListItem : INotifyPropertyChanged +{ + /// Identité publique du client (GUID canonique local). + public Guid ClientGuid { get; init; } + + /// Nom / raison sociale du client (si disponible). + public string? Nom { get; init; } + + /// Code du client (si disponible). + public string? Code { get; init; } + + /// Libellé du type du client (si disponible). + public string? Type { get; init; } + + /// Libellé du statut du client (si disponible). + public string? Statut { get; init; } + + /// Ville de l'adresse principale (si disponible). + public string? Ville { get; init; } + + /// Code postal de l'adresse principale (si disponible). + public string? CodePostal { get; init; } + + /// Téléphone (fixe ou mobile) du client (si disponible). + public string? Telephone { get; init; } + + /// Adresse email du client (si disponible). + public string? Email { get; init; } + + /// Indique si le client est épinglé (préférence locale). + /// + /// Propriété OBSERVABLE : l'épinglage est reflété immédiatement dans la liste + /// affichée, sans reconstruire les cartes ni relire la base. + /// + public bool IsPinned + { + get => _isPinned; + set + { + if (_isPinned == value) + { + return; + } + + _isPinned = value; + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(IsPinned))); + } + } + + /// + public event PropertyChangedEventHandler? PropertyChanged; + + private bool _isPinned; +} + +/// +/// Modèle de présentation d'un client chargé depuis le snapshot local SQLite. +/// Expose uniquement les informations réellement disponibles dans le payload +/// ClientDetailsDto, enrichies avec les relations réellement démontrables +/// localement : Sites et Contacts embarqués dans le DTO Client, Dossiers et +/// Interventions liés par identité publique Client. Les relations optionnelles +/// absentes restent nulles/vides sans provoquer d'erreur. +/// +public sealed class ClientDetail +{ + /// Identité publique du client (GUID canonique local). + public Guid ClientGuid { get; init; } + + /// Code du client (si disponible). + public string? Code { get; init; } + + /// Nom / raison sociale du client (si disponible). + public string? Nom { get; init; } + + /// Nom affiché : nom sinon code (Batik ne porte souvent que le code). + public string DisplayName + => !string.IsNullOrWhiteSpace(Nom) ? Nom : (Code ?? "Sans nom"); + + /// + /// Indique que le code est renseigné et distinct du nom (évite d'afficher + /// deux fois la même valeur). + /// + public bool HasDistinctCode + => !string.IsNullOrWhiteSpace(Code) + && !string.IsNullOrWhiteSpace(Nom) + && !string.Equals(Code, Nom, StringComparison.OrdinalIgnoreCase); + + /// Libellé du type du client (si disponible). + public string? Type { get; init; } + + /// Libellé du statut du client (si disponible). + public string? Statut { get; init; } + + /// Libellé de la forme juridique (si disponible). + public string? FormeJuridique { get; init; } + + /// Numéro SIREN (si disponible). + public string? Siren { get; init; } + + /// Numéro SIRET (si disponible). + public string? Siret { get; init; } + + /// Pays (si disponible). + public string? Pays { get; init; } + + /// Informations complémentaires (si disponibles). + public string? InformationsComplementaires { get; init; } + + /// Indique si la forme juridique est réellement renseignée. + public bool HasFormeJuridique => !string.IsNullOrWhiteSpace(FormeJuridique); + + /// Indique si le SIREN est réellement renseigné. + public bool HasSiren => !string.IsNullOrWhiteSpace(Siren); + + /// Indique si le SIRET est réellement renseigné. + public bool HasSiret => !string.IsNullOrWhiteSpace(Siret); + + /// Indique si le pays est réellement renseigné. + public bool HasPays => !string.IsNullOrWhiteSpace(Pays); + + /// Indique si la note (informations complémentaires) est réellement renseignée. + public bool HasInformationsComplementaires => !string.IsNullOrWhiteSpace(InformationsComplementaires); + + /// + /// Indique si AU MOINS une information du bloc « Informations » est + /// renseignée : le bloc entier est masqué quand il n'y a rien à afficher. + /// + public bool HasInformations + => HasFormeJuridique || HasSiren || HasSiret || HasPays || HasInformationsComplementaires; + + /// Indique si le client est archivé. + public bool EstArchive { get; init; } + + // ===== Coordonnées ===== + + /// Adresse email du client (si disponible). + public string? Email { get; init; } + + /// Téléphone fixe du client (si disponible). + public string? Phone { get; init; } + + /// Téléphone mobile du client (si disponible). + public string? Mobile { get; init; } + + /// Numéro de fax du client (si disponible). + public string? Fax { get; init; } + + /// Adresse principale du client (si disponible). + public ClientAdresse? AdressePrincipale { get; init; } + + /// Indique si un numéro de téléphone (fixe ou mobile) est disponible. + public bool HasPhone => !string.IsNullOrWhiteSpace(Phone) || !string.IsNullOrWhiteSpace(Mobile); + + /// Indique si une adresse email est disponible. + public bool HasEmail => !string.IsNullOrWhiteSpace(Email); + + /// Indique si une adresse principale est disponible. + public bool HasAdresse => AdressePrincipale is not null; + + // ===== Relations réellement démontrables ===== + + /// Sites réellement liés au client (relation embarquée dans le DTO Client). + public IReadOnlyList Sites { get; init; } = []; + + /// Contacts réellement liés au client (relation embarquée dans le DTO Client). + public IReadOnlyList Contacts { get; init; } = []; + + /// Dossiers réellement liés au client (relation ClientId). + public IReadOnlyList Dossiers { get; init; } = []; + + /// Interventions réellement liées au client (relation ClientId). + public IReadOnlyList Interventions { get; init; } = []; + + /// Indique qu'un cache contextuel a deja ete constitue pour ce client. + public bool InterventionsCacheAvailable { get; init; } +} + +/// +/// Adresse principale d'un client, pour l'affichage. +/// +public sealed class ClientAdresse +{ + /// Ligne 1 de l'adresse (si disponible). + public string? Line1 { get; init; } + + /// Ligne 2 de l'adresse (si disponible). + public string? Line2 { get; init; } + + /// Code postal (si disponible). + public string? PostalCode { get; init; } + + /// Ville (si disponible). + public string? City { get; init; } + + /// Pays (si disponible). + public string? CountryCode { get; init; } + + /// Adresse sur une ligne (si disponible). + public string? OneLine { get; init; } +} + +/// +/// Site lié à un client, pour l'affichage. Relation réellement portée par la +/// liste Sites embarquée dans le DTO Client. +/// +public sealed class ClientSite +{ + /// Identité publique du site (GUID canonique local). + public Guid SiteGuid { get; init; } + + /// Code du site (si disponible). + public string? Code { get; init; } + + /// Nom du site (si disponible). + public string? Nom { get; init; } + + /// Ville du site (si disponible). + public string? Ville { get; init; } +} + +/// +/// Contact lié à un client, pour l'affichage. Relation réellement portée par la +/// liste Contacts embarquée dans le DTO Client. +/// +public sealed class ClientContact +{ + /// Identité publique du contact (GUID canonique local). + public Guid ContactGuid { get; init; } + + /// Nom affiché du contact (si disponible). + public string? DisplayName { get; init; } + + /// Adresse email du contact (si disponible). + public string? Email { get; init; } + + /// Téléphone fixe du contact (si disponible). + public string? Phone { get; init; } + + /// Téléphone mobile du contact (si disponible). + public string? Mobile { get; init; } + + /// Libellés des rôles/fonctions (si disponibles). + public IReadOnlyList Roles { get; init; } = []; + + /// Indique si le contact est actif. + public bool Actif { get; init; } + + /// Indique si le contact est archivé. + public bool EstArchive { get; init; } + + // ===== Affichage ===== + + /// Rôles joints pour affichage (si disponibles). + public string RolesDisplay => string.Join(", ", Roles); + + /// Indique si le contact possède au moins un rôle. + public bool HasRoles => Roles.Count > 0; + + /// Indique si un téléphone (fixe ou mobile) est disponible. + public bool HasPhone => !string.IsNullOrWhiteSpace(Phone) || !string.IsNullOrWhiteSpace(Mobile); + + /// Indique si seul le téléphone fixe est disponible (pas de mobile). + public bool HasPhoneOnly => string.IsNullOrWhiteSpace(Mobile) && !string.IsNullOrWhiteSpace(Phone); + + /// Indique si un mobile est disponible. + public bool HasMobile => !string.IsNullOrWhiteSpace(Mobile); + + /// Indique si un email est disponible. + public bool HasEmail => !string.IsNullOrWhiteSpace(Email); +} + +/// +/// Dossier lié à un client, pour l'affichage. Relation réellement portée par +/// ClientId sur le DTO Dossier. +/// +public sealed class ClientDossier +{ + /// Identité publique du dossier (GUID canonique local). + public Guid DossierGuid { get; init; } + + /// Référence interne du dossier (si disponible). + public string? RefInterne { get; init; } + + /// Titre du dossier (si disponible). + public string? Titre { get; init; } + + /// Nom du client lié (si disponible). + public string? ClientNom { get; init; } + + /// Libellé du statut du dossier (si disponible). + public string? Statut { get; init; } + + /// Libellé du type du dossier (si disponible). + public string? Type { get; init; } + + /// Référence externe du dossier (si disponible). + public string? RefExterne { get; init; } + + /// Nombre d'interventions non archivées liées. + public int NbInterventions { get; init; } +} + +/// +/// Intervention liée à un client, pour l'affichage. Relation réellement portée +/// par ClientId sur le DTO Intervention. +/// +public sealed class ClientIntervention +{ + /// Identité publique de l'intervention (GUID canonique local). + public Guid InterventionGuid { get; init; } + + /// Référence de l'intervention (si disponible). + public string? Reference { get; init; } + + /// Titre de l'intervention (si disponible). + public string? Titre { get; init; } + + /// Libellé de l'état (si disponible). + public string? Etat { get; init; } + + /// Libellé du type d'intervention (si disponible). + public string? Type { get; init; } + + /// Nom du client lié (si disponible). + public string? ClientNom { get; init; } + + /// Nom du site lié (si disponible). + public string? SiteNom { get; init; } + + /// Adresse du site, formatée (si disponible). + public string? SiteAddressDisplay { get; init; } + + /// Nom affiché du contact de référence (si disponible). + public string? ContactNom { get; init; } + + /// Date prévue de début (si disponible). + public DateTime? DatePrevueDebut { get; init; } +} diff --git a/src/Omika.App.Local/Models/CollaborateurDetail.cs b/src/Omika.App.Local/Models/CollaborateurDetail.cs new file mode 100644 index 0000000..7e529b2 --- /dev/null +++ b/src/Omika.App.Local/Models/CollaborateurDetail.cs @@ -0,0 +1,208 @@ +namespace Omika.App.Local.Models; + +/// +/// Modèle de présentation d'un collaborateur dans la liste, chargé depuis le +/// snapshot local SQLite. Expose uniquement les informations réellement +/// disponibles dans le payload CollaborateurDetailsDto. Les champs +/// optionnels absents restent nuls sans erreur. +/// +public sealed class CollaborateurListItem +{ + /// Identité publique du collaborateur (GUID canonique local). + public Guid CollaborateurGuid { get; init; } + + /// Nom affiché du collaborateur (si disponible). + public string? DisplayName { get; init; } + + /// Code du collaborateur (si disponible). + public string? Code { get; init; } + + /// Libellé de la fonction/statut (si disponible). + public string? Fonction { get; init; } + + /// Adresse email du collaborateur (si disponible). + public string? Email { get; init; } + + /// Téléphone (fixe ou mobile) du collaborateur (si disponible). + public string? Telephone { get; init; } + + /// Indique si le collaborateur est actif. + public bool Actif { get; init; } + + /// Indique si le collaborateur est archivé. + public bool EstArchive { get; init; } +} + +/// +/// Modèle de présentation d'un collaborateur chargé depuis le snapshot local +/// SQLite. Expose uniquement les informations réellement disponibles dans le +/// payload CollaborateurDetailsDto, enrichies avec les relations +/// réellement démontrables localement : RendezVous liés par +/// RendezVousDetailsDto.Collaborateurs et Interventions liées par +/// InterventionDetailsDto.CollaborateurIds. Les relations optionnelles +/// absentes restent nulles/vides sans provoquer d'erreur. +/// +public sealed class CollaborateurDetail +{ + /// Identité publique du collaborateur (GUID canonique local). + public Guid CollaborateurGuid { get; init; } + + /// Code du collaborateur (si disponible). + public string? Code { get; init; } + + /// Nom du collaborateur (si disponible). + public string? Nom { get; init; } + + /// Prénom du collaborateur (si disponible). + public string? Prenom { get; init; } + + /// Nom affiché du collaborateur (si disponible). + public string? NomAffiche { get; init; } + + /// Fonction du collaborateur (si disponible). + public string? Fonction { get; init; } + + /// Libellé de la civilité (si disponible). + public string? Civilite { get; init; } + + /// Libellé du statut (si disponible). + public string? Statut { get; init; } + + /// Couleur planning (si disponible, donnée métier de présentation). + public string? CouleurPlanning { get; init; } + + /// Indique si le collaborateur est actif. + public bool Actif { get; init; } + + /// Indique si le collaborateur est archivé. + public bool EstArchive { get; init; } + + // ===== Coordonnées ===== + + /// Adresse email du collaborateur (si disponible). + public string? Email { get; init; } + + /// Téléphone fixe du collaborateur (si disponible). + public string? Phone { get; init; } + + /// Téléphone mobile du collaborateur (si disponible). + public string? Mobile { get; init; } + + /// Numéro de fax du collaborateur (si disponible). + public string? Fax { get; init; } + + /// Indique si un numéro de téléphone (fixe ou mobile) est disponible. + public bool HasPhone => !string.IsNullOrWhiteSpace(Phone) || !string.IsNullOrWhiteSpace(Mobile); + + /// Indique si une adresse email est disponible. + public bool HasEmail => !string.IsNullOrWhiteSpace(Email); + + // ===== Relations réellement démontrables ===== + + /// Rendez-vous réellement liés au collaborateur (relation Collaborateurs du DTO RendezVous). + public IReadOnlyList RendezVous { get; init; } = []; + + /// Interventions réellement liées au collaborateur (relation CollaborateurIds du DTO Intervention). + public IReadOnlyList Interventions { get; init; } = []; + + /// Indique qu'un cache contextuel a deja ete constitue pour ce collaborateur. + public bool InterventionsCacheAvailable { get; init; } + + /// Licence mobile du collaborateur (si attribuée). + public CollaborateurLicence? LicenceMobile { get; init; } +} + +/// +/// État de la licence mobile d'un collaborateur (lecture seule). +/// +public sealed class CollaborateurLicence +{ + /// Numéro de licence (si attribuée). + public string? Numero { get; init; } + + /// Indique si la licence est active. + public bool Active { get; init; } + + /// Date d'attribution (si renseignée). + public DateTime? DateAttribution { get; init; } + + /// Date d'expiration (si renseignée). + public DateTime? DateExpiration { get; init; } + + /// Identifiant du mobile attribué (si renseigné). + public string? DeviceId { get; init; } + + /// Code client (pour l'inscription d'un autre mobile). + public string? CodeClient { get; init; } + + /// QR code d'inscription chiffré (base64), si une licence est attribuée. + public string? QrCode { get; init; } + + /// Indique si une licence mobile est attribuée. + public bool HasLicence => !string.IsNullOrWhiteSpace(Numero); + + /// Indique si un QR code d'inscription est disponible. + public bool HasQrCode => !string.IsNullOrWhiteSpace(QrCode); +} + +/// +/// Rendez-vous lié à un collaborateur, pour l'affichage. Relation réellement +/// portée par la liste Collaborateurs du DTO RendezVous. +/// +public sealed class CollaborateurRendezVous +{ + /// Identité publique du rendez-vous (GUID canonique local). + public Guid RendezVousGuid { get; init; } + + /// Titre du rendez-vous. + public string Titre { get; init; } = string.Empty; + + /// Date et heure de début. + public DateTime Debut { get; init; } + + /// Date et heure de fin. + public DateTime Fin { get; init; } + + /// Libellé du statut (si disponible). + public string? Statut { get; init; } + + /// Indique si le rendez-vous est annulé. + public bool EstAnnule { get; init; } +} + +/// +/// Intervention liée à un collaborateur, pour l'affichage. Relation réellement +/// portée par la liste CollaborateurIds du DTO Intervention. +/// +public sealed class CollaborateurIntervention +{ + /// Identité publique de l'intervention (GUID canonique local). + public Guid InterventionGuid { get; init; } + + /// Référence de l'intervention (si disponible). + public string? Reference { get; init; } + + /// Titre de l'intervention (si disponible). + public string? Titre { get; init; } + + /// Libellé de l'état (si disponible). + public string? Etat { get; init; } + + /// Libellé du type d'intervention (si disponible). + public string? Type { get; init; } + + /// Nom du client lié (si disponible). + public string? ClientNom { get; init; } + + /// Nom du site lié (si disponible). + public string? SiteNom { get; init; } + + /// Adresse du site, formatée (si disponible). + public string? SiteAddressDisplay { get; init; } + + /// Nom affiché du contact de référence (si disponible). + public string? ContactNom { get; init; } + + /// Date prévue de début (si disponible). + public DateTime? DatePrevueDebut { get; init; } +} diff --git a/src/Omika.App.Local/Models/CompteRenduScope.cs b/src/Omika.App.Local/Models/CompteRenduScope.cs new file mode 100644 index 0000000..a7d0c89 --- /dev/null +++ b/src/Omika.App.Local/Models/CompteRenduScope.cs @@ -0,0 +1,27 @@ +namespace Omika.App.Local.Models; + +/// +/// Périmètre métier d'un compte rendu de rendez-vous. +/// +/// Un compte rendu est unique par périmètre : +/// +/// rendez-vous individuel : le périmètre est l'identité du +/// rendez-vous lui-même ; +/// rendez-vous groupé : le périmètre est le groupe + la journée +/// (un seul compte rendu partagé par tous les collaborateurs du même +/// groupe/journée). +/// +/// +/// Le mobile ne porte pas les identifiants physiques de groupe +/// (PL_IDGroupe, RV_Groupe) : ceux-ci vivent côté serveur. Ce +/// type décrit donc le périmètre tel que le mobile peut l'exprimer (identité +/// publique + date + intervention), et la résolution effective du « groupe + +/// journée » est déléguée au serveur via GET /rendez-vous/{id}/compte-rendu +/// (déjà group-aware dans les deux schémas). Il garantit que toutes les +/// fonctionnalités (recherche, création, affichage, contrôle d'obligation, +/// validation) passent par le même concept de périmètre, sans logique dupliquée. +/// +public readonly record struct CompteRenduScope( + Guid RendezVousGuid, + DateOnly Date, + Guid? InterventionGuid); diff --git a/src/Omika.App.Local/Models/ConfigurationModele.cs b/src/Omika.App.Local/Models/ConfigurationModele.cs new file mode 100644 index 0000000..af11068 --- /dev/null +++ b/src/Omika.App.Local/Models/ConfigurationModele.cs @@ -0,0 +1,108 @@ +using System.Text.Json; + +namespace Omika.App.Local.Models; + +/// +/// Conventions de génération déclarées par le modèle (config.json). +/// +/// +/// Pourquoi les lire plutôt que les deviner. Un modèle Marian ne démarre +/// pas son décodeur sur <s> et ne s'arrête pas sur +/// </s> : il utilise deux identifiants qui dépendent de la façon +/// dont le vocabulaire a été construit. Mesuré sur deux modèles réels : +/// +/// +/// opus-mt-es-fr : départ 74821 (dernière ligne remplie du +/// vocabulaire), fin 0 ; +/// opus-mt-tc-big-itc-itc : départ 35282, fin 29158. +/// +/// +/// Deviner à partir du .spm (départ = <s> = 1, fin = +/// </s> = 2) donne donc des valeurs fausses : le décodeur démarre +/// sur un jeton qui ne veut rien dire et ne s'arrête jamais, jusqu'à la limite de +/// longueur. Les trois valeurs sont ici lues, jamais supposées. +/// +/// +/// +/// Facultatif. Son absence signifie « pack ancien » : le moteur retombe +/// alors sur les identifiants du .spm, seul comportement disponible. +/// +/// +public sealed class ConfigurationModele +{ + /// Nom du fichier dans le répertoire d'un sens (config.json). + public const string NomFichier = "config.json"; + + private static readonly JsonSerializerOptions Options = new() + { + PropertyNameCaseInsensitive = true, + ReadCommentHandling = JsonCommentHandling.Skip, + AllowTrailingCommas = true + }; + + /// Identifiant d'amorce du décodeur (decoder_start_token_id). + public int? IdDebutDecodeur { get; set; } + + /// Identifiant de fin de séquence (eos_token_id). + public int? IdFin { get; set; } + + /// Identifiant de remplissage (pad_token_id). + public int? IdRemplissage { get; set; } + + /// + /// Lit une configuration depuis son JSON. signifie + /// « fichier vide ou JSON null », donc absent. + /// + /// JSON illisible. + public static ConfigurationModele? DepuisJson(string? json) + { + if (string.IsNullOrWhiteSpace(json)) + { + return null; + } + + try + { + // Les noms du fichier sont en snake_case ; la correspondance est faite + // ici pour ne pas dépendre d'une convention de sérialisation. + using JsonDocument document = JsonDocument.Parse(json, new JsonDocumentOptions + { + CommentHandling = JsonCommentHandling.Skip, + AllowTrailingCommas = true + }); + + if (document.RootElement.ValueKind != JsonValueKind.Object) + { + return null; + } + + return new ConfigurationModele + { + IdDebutDecodeur = LireEntier(document.RootElement, "decoder_start_token_id"), + IdFin = LireEntier(document.RootElement, "eos_token_id"), + IdRemplissage = LireEntier(document.RootElement, "pad_token_id") + }; + } + catch (JsonException ex) + { + throw new FormatException("configuration JSON invalide", ex); + } + } + + private static int? LireEntier(JsonElement racine, string nom) + { + if (!racine.TryGetProperty(nom, out JsonElement valeur)) + { + return null; + } + + return valeur.ValueKind switch + { + JsonValueKind.Number when valeur.TryGetInt32(out int nombre) && nombre >= 0 => nombre, + // Une valeur négative n'a pas de sens pour un identifiant : traitée + // comme absente plutôt que propagée jusqu'à l'inférence, où elle + // ferait échouer la génération sans explication utile. + _ => null + }; + } +} diff --git a/src/Omika.App.Local/Models/ContactTelephone.cs b/src/Omika.App.Local/Models/ContactTelephone.cs new file mode 100644 index 0000000..5daba1e --- /dev/null +++ b/src/Omika.App.Local/Models/ContactTelephone.cs @@ -0,0 +1,26 @@ +namespace Omika.App.Local.Models; + +/// +/// Contact issu du carnet d'adresses du téléphone (contact PERSONNEL de +/// l'utilisateur, sans lien avec Omika). Seuls les contacts possédant une +/// adresse email sont proposés comme destinataires d'un courriel. +/// +/// Cette source est TOUJOURS distincte des contacts de l'intervention : la vue +/// de composition identifie l'origine de chaque entrée (intervention ou +/// téléphone) pour que l'utilisateur ne confonde jamais les deux. +/// +/// Nom affiché du contact (nom complet, ou adresse si le carnet n'a pas de nom). +/// Adresse email du contact. +public sealed record ContactTelephone(string? Nom, string? Email); + +/// +/// Origine d'un contact proposé comme destinataire de courriel. +/// +public enum OrigineContactEmail +{ + /// Contact lié à l'intervention affichée (même source que la fiche « Contacts »). + Intervention = 0, + + /// Contact du carnet d'adresses du téléphone (personnel, hors Omika). + Telephone = 1 +} diff --git a/src/Omika.App.Local/Models/DocAideEntry.cs b/src/Omika.App.Local/Models/DocAideEntry.cs new file mode 100644 index 0000000..011d25f --- /dev/null +++ b/src/Omika.App.Local/Models/DocAideEntry.cs @@ -0,0 +1,25 @@ +namespace Omika.App.Local.Models; + +/// +/// Entrée d'aide contextuelle mobile. Stockée dans la table technique locale +/// « DocAide » : miroir hors ligne de la table serveur Doc_Aide du schéma +/// Omika (ou d'un catalogue embarqué pour le schéma Batik). Le contenu est du +/// HTML (sous-ensemble rendu par EmailHtmlPreviewControl), jamais du RTF. +/// +public sealed class DocAideEntry +{ + /// Clé fenêtre/champ (ex. « mobile_agenda »). + public string Fenetre { get; set; } = string.Empty; + + /// Titre affiché (texte court). + public string Titre { get; set; } = string.Empty; + + /// Contenu HTML (jamais RTF). + public string Contenu { get; set; } = string.Empty; + + /// Tags (optionnels, libres). + public string? Tags { get; set; } + + /// Date de dernière mise à jour (UTC). + public DateTimeOffset UpdatedAtUtc { get; set; } +} diff --git a/src/Omika.App.Local/Models/DocumentCacheEntry.cs b/src/Omika.App.Local/Models/DocumentCacheEntry.cs new file mode 100644 index 0000000..bd0d7a1 --- /dev/null +++ b/src/Omika.App.Local/Models/DocumentCacheEntry.cs @@ -0,0 +1,45 @@ +namespace Omika.App.Local.Models; + +/// +/// État du cache local d'un document. Le contenu binaire n'est PAS stocké dans +/// SQLite : il est stocké dans un fichier local référencé par . +/// Survit au refresh snapshot. +/// +public sealed class DocumentCacheEntry +{ + /// GUID public du document. + public Guid DocumentGuid { get; set; } + + /// Chemin local du fichier téléchargé. + public string LocalPath { get; set; } = string.Empty; + + /// Nom du fichier. + public string? NomFichier { get; set; } + + /// Type MIME. + public string? MimeType { get; set; } + + /// Taille en octets. + public long Size { get; set; } + + /// Date de téléchargement (UTC). + public DateTimeOffset DownloadedAtUtc { get; set; } + + /// État du cache. + public DocumentCacheState State { get; set; } = DocumentCacheState.Downloaded; +} + +/// +/// État d'une entrée du cache document. +/// +public enum DocumentCacheState +{ + /// Fichier téléchargé et disponible localement. + Downloaded = 0, + + /// Fichier en cours de téléchargement (état temporaire). + Downloading = 1, + + /// Fichier marqué pour suppression (purge). + PendingPurge = 2 +} diff --git a/src/Omika.App.Local/Models/DocumentNoteItem.cs b/src/Omika.App.Local/Models/DocumentNoteItem.cs new file mode 100644 index 0000000..60a0923 --- /dev/null +++ b/src/Omika.App.Local/Models/DocumentNoteItem.cs @@ -0,0 +1,33 @@ +namespace Omika.App.Local.Models; + +/// +/// Note d'un document / d'une photo telle qu'affichée par l'écran de +/// visionneuse. Distincte de NoteInterneDto parce qu'elle porte, en plus +/// du contenu, l'ÉTAT DE SYNCHRONISATION de la note : une note saisie hors +/// ligne est enregistrée localement et doit être annoncée comme « en attente +/// d'envoi » plutôt que présentée comme déjà enregistrée côté serveur. +/// +public sealed class DocumentNoteItem +{ + /// Identité publique de la note (GUID mobile temporaire ou canonique serveur). + public Guid NoteGuid { get; init; } + + /// Contenu de la note. + public string Contenu { get; init; } = string.Empty; + + /// Date de création (heure locale). + public DateTime DateCreation { get; init; } + + /// Nom affiché de l'auteur, sinon null (note saisie sur l'appareil). + public string? AuteurNom { get; init; } + + /// + /// Libellé d'état affiché sous la note : quand la note + /// est confirmée par le serveur (ou lue depuis le serveur), sinon la raison + /// lisible (« En attente d'envoi », « Envoi impossible : … »). + /// + public string? SyncLabel { get; init; } + + /// Vrai tant que la note n'a pas été confirmée par le serveur. + public bool EnAttenteSynchronisation => SyncLabel is not null; +} diff --git a/src/Omika.App.Local/Models/DocumentOutboxPayload.cs b/src/Omika.App.Local/Models/DocumentOutboxPayload.cs new file mode 100644 index 0000000..99c186b --- /dev/null +++ b/src/Omika.App.Local/Models/DocumentOutboxPayload.cs @@ -0,0 +1,57 @@ +namespace Omika.App.Local.Models; + +/// +/// Payload de l'opération Outbox d'un document. +/// Ne contient JAMAIS le fichier en Base64 : il porte une référence locale +/// persistante vers le fichier (), qui survit au +/// redémarrage de l'application. est l'identité +/// métier publique ; (de l'Outbox) est distinct. +/// +public sealed class DocumentOutboxPayload +{ + /// Identité métier publique du document (DocumentGuid). + public Guid DocumentGuid { get; set; } + + /// Identité de l'intervention associée. + public Guid InterventionGuid { get; set; } + + /// Nom du fichier. + public string? NomFichier { get; set; } + + /// Type MIME. + public string? MimeType { get; set; } + + /// Extension du fichier. + public string? Extension { get; set; } + + /// Catégorie du document. + public string? Categorie { get; set; } + + /// + /// Référence locale persistante vers le fichier copié dans l'espace + /// contrôlé par l'application. Survit au redémarrage. + /// + public string LocalPath { get; set; } = string.Empty; + + /// + /// Date métier du document : date et heure réelles du fichier (EXIF + /// DateTimeOriginal pour une photo), ou date système de l'ajout en + /// dernier recours. + /// + /// Elle est transportée jusqu'au serveur par l'upload : sans cela, le serveur + /// horodaterait le document au moment de la synchronisation, et le + /// rafraîchissement à la demande écraserait ensuite cette valeur sur + /// l'appareil avec la date d'upload. + /// + /// pour une opération Outbox créée avant l'ajout de + /// cette information : le serveur applique alors sa date courante. + /// + public DateTime? DateCreation { get; set; } + + /// + /// Origine de (voir + /// DocumentDateSource). Conservée pour l'observabilité : elle explique, + /// y compris après redémarrage, pourquoi une date a été retenue. + /// + public string? DateCreationSource { get; set; } +} diff --git a/src/Omika.App.Local/Models/DossierDetail.cs b/src/Omika.App.Local/Models/DossierDetail.cs new file mode 100644 index 0000000..840d47e --- /dev/null +++ b/src/Omika.App.Local/Models/DossierDetail.cs @@ -0,0 +1,183 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; + +namespace Omika.App.Local.Models; + +/// +/// Modèle de présentation d'un dossier dans la liste, chargé depuis le snapshot +/// local SQLite. Expose uniquement les informations réellement disponibles dans +/// le payload DossierDetailsDto, enrichies avec le nom du client résolu +/// localement. Les relations optionnelles absentes restent nulles sans erreur. +/// +public sealed class DossierListItem : INotifyPropertyChanged +{ + /// Identité publique du dossier (GUID canonique local). + public Guid DossierGuid { get; init; } + + /// Référence métier du dossier (si disponible). + public string? Reference { get; init; } + + /// Référence interne (si disponible). + public string? RefInterne { get; init; } + + /// Référence externe (si disponible). + public string? RefExterne { get; init; } + + /// Titre / libellé du dossier (si disponible). + public string? Titre { get; init; } + + /// Statut du dossier (libellé, si disponible). + public string? Statut { get; init; } + + /// Type du dossier (libellé, si disponible). + public string? Type { get; init; } + + /// Date d'ouverture du dossier (si disponible). + public DateTime? DateOuverture { get; init; } + + /// Indique si le dossier est archivé. + public bool EstArchive { get; init; } + + /// Nombre d'interventions NON archivées liées (agrégation serveur). + public int NbInterventionsNonArchivees { get; init; } + + /// Nom du client lié (si résolu localement). + public string? ClientNom { get; init; } + + /// Nom du site lié (si résolu localement). + public string? SiteNom { get; init; } + + /// Indique si le dossier est épinglé (préférence locale). + /// + /// Propriété OBSERVABLE : l'épinglage est reflété immédiatement dans la liste + /// affichée, sans reconstruire les cartes ni relire la base. + /// + public bool IsPinned + { + get => _isPinned; + set + { + if (_isPinned == value) + { + return; + } + + _isPinned = value; + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(IsPinned))); + } + } + + /// + public event PropertyChangedEventHandler? PropertyChanged; + + private bool _isPinned; +} + +/// +/// Modèle de présentation d'un dossier chargé depuis le snapshot local SQLite. + +/// Expose uniquement les informations réellement disponibles dans le payload +/// DossierDetailsDto, enrichies avec le client et les interventions liées +/// résolus localement. Les relations optionnelles absentes restent nulles/vides +/// sans provoquer d'erreur. +/// +public sealed class DossierDetail +{ + /// Identité publique du dossier (GUID canonique local). + public Guid DossierGuid { get; init; } + + /// Référence métier du dossier (si disponible). + public string? Reference { get; init; } + + /// Référence interne (si disponible). + public string? RefInterne { get; init; } + + /// Référence externe (si disponible). + public string? RefExterne { get; init; } + + /// Titre / libellé du dossier (si disponible). + public string? Titre { get; init; } + + /// Description du dossier (si disponible). + public string? Description { get; init; } + + /// Type du dossier (libellé, si disponible). + public string? Type { get; init; } + + /// Statut du dossier (libellé, si disponible). + public string? Statut { get; init; } + + /// Priorité du dossier (libellé, si disponible). + public string? Priorite { get; init; } + + /// Date d'ouverture du dossier (si disponible). + public DateTime? DateOuverture { get; init; } + + /// Date de clôture du dossier (si disponible). + public DateTime? DateCloture { get; init; } + + /// Indique si le dossier est archivé (si renseigné). + public bool EstArchive { get; init; } + + /// Nombre d'interventions NON archivées liées (agrégation serveur). + public int NbInterventionsNonArchivees { get; init; } + + /// Identité publique du client lié (si relation disponible). + public Guid? ClientGuid { get; init; } + + /// Nom du client lié (si résolu localement). + public string? ClientNom { get; init; } + + /// Code du client lié (si résolu localement). + public string? ClientCode { get; init; } + + /// Identité publique du site lié (si relation disponible). + public Guid? SiteGuid { get; init; } + + /// Nom du site lié (si résolu localement). + public string? SiteNom { get; init; } + + /// Code du site lié (si résolu localement). + public string? SiteCode { get; init; } + + /// Interventions réellement liées à ce dossier (relation DossierId). + public IReadOnlyList Interventions { get; init; } = []; +} + +/// +/// Intervention liée à un dossier, présentée avec les informations déjà +/// utilisées dans l'application (référence, titre, état, dates). +/// +public sealed class DossierIntervention +{ + /// Identité publique de l'intervention (GUID canonique local). + public Guid InterventionGuid { get; init; } + + /// Référence de l'intervention (si disponible). + public string? Reference { get; init; } + + /// Titre de l'intervention (si disponible). + public string? Titre { get; init; } + + /// État de l'intervention (libellé, si disponible). + public string? Etat { get; init; } + + /// Libellé du type d'intervention (si disponible). + public string? Type { get; init; } + + /// Nom du client lié (si disponible). + public string? ClientNom { get; init; } + + /// Nom du site lié (si disponible). + public string? SiteNom { get; init; } + + /// Adresse du site, formatée (si disponible). + public string? SiteAddressDisplay { get; init; } + + /// Nom affiché du contact de référence (si disponible). + public string? ContactNom { get; init; } + + /// Date de début prévue (si disponible). + public DateTime? DatePrevueDebut { get; init; } +} diff --git a/src/Omika.App.Local/Models/EnrollmentResult.cs b/src/Omika.App.Local/Models/EnrollmentResult.cs new file mode 100644 index 0000000..e88a200 --- /dev/null +++ b/src/Omika.App.Local/Models/EnrollmentResult.cs @@ -0,0 +1,26 @@ +namespace Omika.App.Local.Models; + +/// +/// Résultat d'une tentative d'inscription (QR → licence → API). +/// Ne transporte aucun secret : uniquement l'état et un message lisible. +/// +public sealed record EnrollmentResult +{ + /// Indique si l'inscription a abouti (URL API validée et persistée). + public bool Success { get; init; } + + /// Configuration d'inscription persistée (non null si ). + public MobileEnrollmentConfiguration? Configuration { get; init; } + + /// Code d'erreur métier éventuel (ex. code licence serveur). + public string? ErrorCode { get; init; } + + /// Message d'erreur lisible (vide si succès). + public string? ErrorMessage { get; init; } + + public static EnrollmentResult Succeeded(MobileEnrollmentConfiguration configuration) + => new() { Success = true, Configuration = configuration }; + + public static EnrollmentResult Failed(string message, string? errorCode = null) + => new() { Success = false, ErrorMessage = message, ErrorCode = errorCode }; +} diff --git a/src/Omika.App.Local/Models/EntityLookup.cs b/src/Omika.App.Local/Models/EntityLookup.cs new file mode 100644 index 0000000..43dbe8d --- /dev/null +++ b/src/Omika.App.Local/Models/EntityLookup.cs @@ -0,0 +1,9 @@ +namespace Omika.App.Local.Models; + +/// +/// Lookup léger d'une entité (Client/Site/Collaborateur) pour les filtres de la +/// page Interventions : identité canonique interne () + libellé +/// humain (). Aucun GUID n'est affiché à l'utilisateur. +/// Id = null représente « Tous ». +/// +public sealed record EntityLookup(string? Id, string DisplayText); diff --git a/src/Omika.App.Local/Models/EquipeListItem.cs b/src/Omika.App.Local/Models/EquipeListItem.cs new file mode 100644 index 0000000..1e54d48 --- /dev/null +++ b/src/Omika.App.Local/Models/EquipeListItem.cs @@ -0,0 +1,29 @@ +namespace Omika.App.Local.Models; + +/// +/// Modèle de présentation d'une équipe dans la liste « Équipes ». Une équipe +/// porte ses membres (collaborateurs) directement, afin d'afficher la liste des +/// membres sans appel supplémentaire. +/// +public sealed class EquipeListItem +{ + /// Identité publique de l'équipe (GUID canonique). + public Guid EquipeGuid { get; init; } + + /// Nom de l'équipe (si disponible). + public string? Nom { get; init; } + + /// Nom de la société à laquelle l'équipe est rattachée (si disponible). + public string? SocieteNom { get; init; } + + /// Membres de l'équipe (collaborateurs). + public IReadOnlyList Membres { get; init; } = []; + + /// Libellé du nombre de membres (pour l'affichage). + public string MembresDisplay => Membres.Count switch + { + 0 => "Aucun membre", + 1 => "1 membre", + _ => $"{Membres.Count} membres" + }; +} diff --git a/src/Omika.App.Local/Models/IdentityMapping.cs b/src/Omika.App.Local/Models/IdentityMapping.cs new file mode 100644 index 0000000..63ca11c --- /dev/null +++ b/src/Omika.App.Local/Models/IdentityMapping.cs @@ -0,0 +1,21 @@ +namespace Omika.App.Local.Models; + +/// +/// Correspondance d'identité locale : RequestedEntityGuid → CanonicalEntityGuid. +/// Table technique locale (SQLite appartient au mobile). Permet de retrouver +/// rapidement A → B après redémarrage de l'application. +/// +public sealed class IdentityMapping +{ + /// Type d'entité métier (ex. SyncEntityTypes.Intervention). + public string EntityType { get; set; } = string.Empty; + + /// Identité locale demandée (GUID mobile temporaire). + public Guid RequestedEntityGuid { get; set; } + + /// Identité publique canonique et stable. + public Guid CanonicalEntityGuid { get; set; } + + /// Date de création de la correspondance (UTC). + public DateTimeOffset CreatedAtUtc { get; set; } +} diff --git a/src/Omika.App.Local/Models/InterventionCardItem.cs b/src/Omika.App.Local/Models/InterventionCardItem.cs new file mode 100644 index 0000000..e5e7795 --- /dev/null +++ b/src/Omika.App.Local/Models/InterventionCardItem.cs @@ -0,0 +1,69 @@ +using System.ComponentModel; + +namespace Omika.App.Local.Models; + +/// +/// Élément d'affichage d'une card Intervention (recherche à la demande et +/// favoris). Dérivé du cache local : le détail +/// complet est dans le payload, les champs de présentation sont dénormalisés. +/// +public sealed class InterventionCardItem : INotifyPropertyChanged +{ + /// Identité publique de l'intervention. + public Guid InterventionGuid { get; init; } + + /// Numéro interne / référence métier (IN_RefInterne). + public string? Reference { get; init; } + + /// Titre de l'intervention. + public string? Titre { get; init; } + + /// Statut (libellé d'état). + public string? Etat { get; init; } + + /// Type (libellé). + public string? Type { get; init; } + + /// Nombre de rendez-vous liés. + public int NbRendezVous { get; init; } + + /// Nom du client lié. + public string? ClientNom { get; init; } + + /// Nom du site lié. + public string? SiteNom { get; init; } + + /// Adresse postale du site, formatée (si disponible). + public string? SiteAddressDisplay { get; init; } + + /// Nom affiché du contact de référence. + public string? ContactNom { get; init; } + + /// L'intervention est archivée. + public bool EstArchive { get; init; } + + /// L'intervention est épinglée (favori). + /// + /// Propriété OBSERVABLE : l'épinglage est reflété immédiatement dans la liste + /// affichée, sans reconstruire les cartes ni relire la base. + /// + public bool IsPinned + { + get => _isPinned; + set + { + if (_isPinned == value) + { + return; + } + + _isPinned = value; + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(IsPinned))); + } + } + + /// + public event PropertyChangedEventHandler? PropertyChanged; + + private bool _isPinned; +} diff --git a/src/Omika.App.Local/Models/InterventionContact.cs b/src/Omika.App.Local/Models/InterventionContact.cs new file mode 100644 index 0000000..0854206 --- /dev/null +++ b/src/Omika.App.Local/Models/InterventionContact.cs @@ -0,0 +1,70 @@ +namespace Omika.App.Local.Models; + +/// +/// Contact lié à une intervention, pour l'affichage. +/// Porte uniquement l'identité publique du contact (GUID canonique), jamais de +/// PK HFSQL. Seules les propriétés réellement alimentables depuis le snapshot +/// local (payload ContactDto) sont exposées ; les coordonnées absentes +/// restent . +/// +public sealed class InterventionContact +{ + /// Identité publique du contact. + public Guid ContactGuid { get; init; } + + /// Nom affiché (si disponible). + public string? DisplayName { get; init; } + + /// Nom de famille (si disponible). + public string? LastName { get; init; } + + /// Prénom (si disponible). + public string? FirstName { get; init; } + + /// Libellé de la civilité (si disponible). + public string? Civilite { get; init; } + + /// Adresse email (si disponible). + public string? Email { get; init; } + + /// Téléphone fixe (si disponible). + public string? Phone { get; init; } + + /// Téléphone mobile (si disponible). + public string? Mobile { get; init; } + + /// Numéro de fax (si disponible). + public string? Fax { get; init; } + + /// Libellés des rôles/fonctions (si disponibles). + public IReadOnlyList Roles { get; init; } = []; + + /// Identité publique du client parent (si présente). + public Guid? ClientGuid { get; init; } + + /// Indique si le contact est actif. + public bool Actif { get; init; } + + /// Indique si le contact est archivé. + public bool EstArchive { get; init; } + + /// Indique si un numéro de téléphone (fixe ou mobile) est disponible. + public bool HasPhone => !string.IsNullOrWhiteSpace(Phone) || !string.IsNullOrWhiteSpace(Mobile); + + /// Indique si un numéro mobile est disponible. + public bool HasMobile => !string.IsNullOrWhiteSpace(Mobile); + + /// Indique si un numéro fixe est disponible (sans mobile). + public bool HasPhoneOnly => !string.IsNullOrWhiteSpace(Phone) && string.IsNullOrWhiteSpace(Mobile); + + /// Indique si une adresse email est disponible. + public bool HasEmail => !string.IsNullOrWhiteSpace(Email); + + /// Indique si au moins un rôle/fonction est disponible. + public bool HasRoles => Roles.Count > 0; + + /// Libellés des rôles/fonctions concaténés pour l'affichage. + public string RolesDisplay => string.Join(", ", Roles); +} + + diff --git a/src/Omika.App.Local/Models/InterventionDetail.cs b/src/Omika.App.Local/Models/InterventionDetail.cs new file mode 100644 index 0000000..4f8eee5 --- /dev/null +++ b/src/Omika.App.Local/Models/InterventionDetail.cs @@ -0,0 +1,284 @@ +namespace Omika.App.Local.Models; + +/// +/// Élément de la liste des interventions, chargé depuis le snapshot local +/// SQLite. Modèle de présentation léger : ne contient que les champs affichés +/// ou nécessaires à la navigation/recherche. Les relations optionnelles +/// absentes restent null/vides sans erreur. +/// +public sealed class InterventionListItem +{ + /// Identité publique de l'intervention. + public Guid InterventionGuid { get; init; } + + /// Référence métier de l'intervention (si disponible). + public string? Reference { get; init; } + + /// Titre de l'intervention (si disponible). + public string? Titre { get; init; } + + /// Libellé de l'état (si disponible). + public string? Etat { get; init; } + + /// Libellé du type d'intervention (si disponible). + public string? Type { get; init; } + + /// Libellé de la priorité (si disponible). + public string? Priorite { get; init; } + + /// Date prévue de début (si disponible). + public DateTime? DatePrevueDebut { get; init; } + + /// Date prévue de fin (si disponible). + public DateTime? DatePrevueFin { get; init; } + + /// Indique si l'intervention est archivée. + public bool EstArchive { get; init; } + + // ===== Relations résolues localement ===== + + /// Nom du client lié (si disponible). + public string? ClientNom { get; init; } + + /// Nom du site lié (si disponible). + public string? SiteNom { get; init; } + + /// Référence métier du dossier lié (si disponible). + public string? DossierReference { get; init; } + + /// Noms affichés des collaborateurs explicitement affectés (si disponibles). + public IReadOnlyList Collaborateurs { get; init; } = []; +} + +/// +/// Fiche d'intervention enrichie pour l'affichage. +/// Porte uniquement des identités publiques locales (GUID réconciliés), +/// jamais de PK HFSQL. Les relations optionnelles absentes restent null. +/// +public sealed class InterventionDetail + +{ + /// Identité publique de l'intervention. + public Guid InterventionGuid { get; init; } + + /// Référence métier de l'intervention (si disponible). + public string? Reference { get; init; } + + /// Numéro de devis (si disponible). + public string? NumeroDevis { get; init; } + + /// Référence externe (si disponible). + public string? ReferenceExterne { get; init; } + + /// Numéro de facture (si disponible). + public string? NumeroFacture { get; init; } + + /// Nom de la société (si disponible). + public string? Societe { get; init; } + + /// Titre de l'intervention (si disponible). + public string? Titre { get; init; } + + /// Description de l'intervention (si disponible). + public string? Description { get; init; } + + /// Libellé du type d'intervention (si disponible). + public string? Type { get; init; } + + /// Libellé de l'état (si disponible). + public string? Etat { get; init; } + + /// Libellé de la priorité (si disponible). + public string? Priorite { get; init; } + + /// Date prévue de début (si disponible). + public DateTime? DatePrevueDebut { get; init; } + + /// Date prévue de fin (si disponible). + public DateTime? DatePrevueFin { get; init; } + + /// Date réelle de début (si disponible). + public DateTime? DateReelleDebut { get; init; } + + /// Date réelle de fin (si disponible). + public DateTime? DateReelleFin { get; init; } + + /// Indique si l'intervention est archivée. + public bool EstArchive { get; init; } + + /// Nom affiché du collaborateur « suivi par » (si disponible). + public string? SuiviParNom { get; init; } + + /// Trigramme du collaborateur « suivi par » (si disponible). + public string? SuiviParCode { get; init; } + + /// Fonction du collaborateur « suivi par » (si disponible). + public string? SuiviParFonction { get; init; } + + /// Téléphone fixe du collaborateur « suivi par » (si disponible). + public string? SuiviParPhone { get; init; } + + /// Téléphone mobile du collaborateur « suivi par » (si disponible). + public string? SuiviParMobile { get; init; } + + /// Email du collaborateur « suivi par » (si disponible). + public string? SuiviParEmail { get; init; } + + // ===== Relations ===== + + /// Identité publique du client lié (si présente). + public Guid? ClientGuid { get; init; } + + /// Nom du client lié (si disponible). + public string? ClientNom { get; init; } + + /// Code du client lié (si disponible). + public string? ClientCode { get; init; } + + /// Identité publique du site lié (si présente). + public Guid? SiteGuid { get; init; } + + /// Nom du site lié (si disponible). + public string? SiteNom { get; init; } + + /// Code du site lié (si disponible). + public string? SiteCode { get; init; } + + /// Adresse du site lié (si disponible). + public string? SiteAdresse { get; init; } + + /// Code d'accès du site lié (si disponible). + public string? SiteCodeAcces { get; init; } + + /// Indique qu'un badge est requis pour accéder au site lié. + public bool SiteBadge { get; init; } + + /// Indique qu'un interphone est disponible sur le site lié. + public bool SiteInterphone { get; init; } + + /// Note / informations complémentaires du site lié (si disponible). + public string? SiteNote { get; init; } + + /// Identité publique du dossier lié (si présente). + public Guid? DossierGuid { get; init; } + + /// Référence métier du dossier lié (si disponible). + public string? DossierReference { get; init; } + + /// Titre du dossier lié (si disponible). + public string? DossierTitre { get; init; } + + /// Libellé du statut du dossier lié (si disponible). + public string? DossierStatut { get; init; } + + // ===== Ressources ===== + + /// Rendez-vous liés à l'intervention, triés chronologiquement. + public IReadOnlyList RendezVous { get; set; } = []; + + /// Métadonnées des documents liés à l'intervention. + public IReadOnlyList Documents { get; init; } = []; +} + +/// +/// Rendez-vous lié à une intervention, pour l'affichage dans la fiche. +/// +public sealed class InterventionRendezVous +{ + /// Identité publique du rendez-vous. + public Guid RendezVousGuid { get; init; } + + /// Objet du rendez-vous (RV_Objet / PL_Objet). + public string Titre { get; init; } = string.Empty; + + /// Date et heure de début. + public DateTime Debut { get; init; } + + /// Date et heure de fin. + public DateTime Fin { get; init; } + + /// Libellé du type d'activité (si disponible). + public string? TypeActivite { get; init; } + + /// Libellé du statut (si disponible). + public string? Statut { get; init; } + + /// Indique si le rendez-vous est annulé. + public bool EstAnnule { get; init; } + + /// Noms affichés des collaborateurs affectés. + public IReadOnlyList Collaborateurs { get; init; } = []; + + /// Adresse du site lié (si disponible). + public string? SiteAdresse { get; init; } + + /// Description du rendez-vous (si disponible). + public string? Description { get; init; } + + /// Durée formatée pour l'affichage (ex. « 45 min », « 1 h 30 »). + public string? DureeTexte + { + get + { + TimeSpan duree = Fin >= Debut ? Fin - Debut : TimeSpan.Zero; + if (duree <= TimeSpan.Zero) + { + return null; + } + + int totalMinutes = (int)Math.Round(duree.TotalMinutes); + if (totalMinutes < 60) + { + return $"{totalMinutes} min"; + } + + int heures = totalMinutes / 60; + int minutes = totalMinutes % 60; + return minutes == 0 ? $"{heures} h" : $"{heures} h {minutes:00}"; + } + } +} + +/// +/// Regroupement des rendez-vous d'une intervention par jour, pour l'affichage +/// groupé par date (les rendez-vous d'un même jour sont triés par heure). +/// +public sealed class InterventionRendezVousGroup +{ + /// Date du groupe (jour). + public DateTime Date { get; init; } + + /// Libellé de la date, formaté pour l'affichage (ex. « Mercredi 11 décembre 2024 »). + public string DateLabel { get; init; } = string.Empty; + + /// Rendez-vous du jour, triés par heure de début. + public IReadOnlyList Items { get; init; } = []; +} + +/// +/// Métadonnées d'un document lié à une intervention, pour l'affichage. +/// Ne contient AUCUN contenu binaire. +/// +public sealed class InterventionDocument +{ + /// Identité publique du document. + public Guid DocumentGuid { get; init; } + + /// Nom du document (si disponible). + public string? Nom { get; init; } + + /// Titre du document (si disponible). + public string? Titre { get; init; } + + /// Libellé de la catégorie (si disponible). + public string? Categorie { get; init; } + + /// Extension du fichier (si disponible). + public string? Extension { get; init; } + + /// Taille en octets. + public long TailleOctets { get; init; } + + /// Date de création. + public DateTime DateCreation { get; init; } +} diff --git a/src/Omika.App.Local/Models/InterventionDocumentItem.cs b/src/Omika.App.Local/Models/InterventionDocumentItem.cs new file mode 100644 index 0000000..24e9355 --- /dev/null +++ b/src/Omika.App.Local/Models/InterventionDocumentItem.cs @@ -0,0 +1,91 @@ +namespace Omika.App.Local.Models; + +/// +/// Élément de la liste Documents / Photos d'une intervention. +/// Porte les métadonnées réelles (issues du snapshot SQLite) enrichies avec +/// l'état du cache local et l'état de synchronisation (Outbox). +/// Ne contient AUCUN contenu binaire. +/// +public sealed class InterventionDocumentItem +{ + /// Identité publique du document (DocumentGuid). + public Guid DocumentGuid { get; init; } + + /// Nom du fichier (si disponible). + public string? Nom { get; init; } + + /// Titre du document (si disponible). + public string? Titre { get; init; } + + /// Libellé de la catégorie (si disponible). + public string? Categorie { get; init; } + + /// Type MIME (si disponible). + public string? MimeType { get; init; } + + /// Extension du fichier (si disponible). + public string? Extension { get; init; } + + /// Taille en octets. + public long TailleOctets { get; init; } + + /// Date de création. + public DateTime DateCreation { get; init; } + + /// + /// Indique si l'élément est considéré comme une photo, déterminé à partir + /// d'une information réellement disponible (catégorie métier, MIME type, + /// extension en dernier recours). Si aucune donnée fiable ne permet la + /// distinction, l'élément est présenté comme un document. + /// + public bool IsPhoto { get; init; } + + /// Indique si le fichier est présent dans le cache local. + public bool IsCached { get; init; } + + /// Indique si le fichier est en cours de téléchargement. + public bool IsDownloading { get; init; } + + /// Indique si une erreur de téléchargement est survenue. + public bool HasDownloadError { get; init; } + + /// Message d'erreur de téléchargement (nettoyé, sans chemin système). + public string? DownloadErrorMessage { get; init; } + + /// État de synchronisation de l'opération Outbox associée (si pertinent). + public DocumentSyncState SyncState { get; init; } = DocumentSyncState.None; + + /// Message d'erreur de synchronisation (nettoyé, sans chemin système). + public string? SyncErrorMessage { get; init; } + + /// Indique si le document est en attente de synchronisation (Outbox Pending). + public bool IsPendingSync => SyncState == DocumentSyncState.Pending; + + /// Indique si le document a été rejeté par le serveur (Outbox Rejected). + public bool IsRejectedSync => SyncState == DocumentSyncState.Rejected; + + /// Indique si le document est synchronisé avec succès (Outbox Succeeded). + public bool IsSucceededSync => SyncState == DocumentSyncState.Succeeded; + + /// Indique si le fichier n'est pas présent dans le cache local. + public bool IsNotCached => !IsCached; +} + + +/// +/// État de synchronisation d'un document local (reflète l'Outbox). +/// +public enum DocumentSyncState +{ + /// Aucune opération de synchronisation associée (document serveur). + None = 0, + + /// Document local en attente d'envoi (Outbox Pending). + Pending = 1, + + /// Document local rejeté par le serveur (Outbox Rejected). + Rejected = 2, + + /// Document local synchronisé avec succès (Outbox Succeeded). + Succeeded = 3 +} diff --git a/src/Omika.App.Local/Models/JourRendezVous.cs b/src/Omika.App.Local/Models/JourRendezVous.cs new file mode 100644 index 0000000..f6ccc46 --- /dev/null +++ b/src/Omika.App.Local/Models/JourRendezVous.cs @@ -0,0 +1,19 @@ +namespace Omika.App.Local.Models; + +/// +/// Journée couverte par un rendez-vous et le créneau que le rendez-vous y occupe. +/// +/// +/// Un rendez-vous de groupe porte une affectation par collaborateur et, sur +/// plusieurs jours, une affectation par jour : la période du NOYAU +/// (RDV_Planning) n'est qu'une enveloppe et ne dit pas ce qui se passe +/// chaque journée. Cette plage est calculée à partir des affectations réelles +/// (RDV_Collaborateur.RVC_DateDeb/RVC_DateFin) : lorsque plusieurs +/// collaborateurs interviennent le même jour, la plage retenue va du premier +/// démarrage à la dernière fin de la journée. +/// +/// +/// Journée concernée (date seule). +/// Heure de début occupée dans la journée. +/// Heure de fin occupée dans la journée. +public sealed record JourRendezVous(DateTime Jour, DateTime Debut, DateTime Fin); diff --git a/src/Omika.App.Local/Models/JoursParCollaborateur.cs b/src/Omika.App.Local/Models/JoursParCollaborateur.cs new file mode 100644 index 0000000..72f5202 --- /dev/null +++ b/src/Omika.App.Local/Models/JoursParCollaborateur.cs @@ -0,0 +1,19 @@ +namespace Omika.App.Local.Models; + +/// +/// Journées d'UN collaborateur affecté à un rendez-vous. +/// +/// +/// Un rendez-vous de groupe porte une affectation par collaborateur et par jour. +/// Les journées du rendez-vous ne sont donc pas les mêmes pour tout le monde : +/// chaque collaborateur n'est concerné que par les journées où il a réellement +/// une affectation (RDV_Collaborateur). La fiche présente les journées du +/// collaborateur dont l'occurrence est ouverte, jamais la réunion de tous les +/// créneaux de l'équipe. +/// +/// +/// Identité publique du collaborateur affecté. +/// Journées du collaborateur, ordre chronologique, horaires réels. +public sealed record JoursParCollaborateur( + Guid CollaborateurGuid, + IReadOnlyList Jours); diff --git a/src/Omika.App.Local/Models/LangueDisponible.cs b/src/Omika.App.Local/Models/LangueDisponible.cs new file mode 100644 index 0000000..bbd253d --- /dev/null +++ b/src/Omika.App.Local/Models/LangueDisponible.cs @@ -0,0 +1,187 @@ +using Omika.Core.Contracts.Mobile.Languages; + +namespace Omika.App.Local.Models; + +/// +/// Pack de langue INSTALLÉ sur l'appareil, tel que mémorisé dans +/// langues/{code}/pack.json. +/// +/// +/// Ce fichier est écrit uniquement après vérification de l'empreinte +/// SHA-256 de tous les fichiers du pack : sa présence est donc la preuve que le +/// pack est complet et intègre. Il est conservé pour deux usages : +/// +/// +/// réafficher l'état d'installation hors connexion dans l'écran +/// Paramètres (aucun appel à l'API des langues n'est nécessaire) ; +/// détecter une mise à jour : la version installée est comparée à la +/// version annoncée par le manifeste serveur. +/// +/// +public sealed class PackLangueInstalle +{ + /// Code ISO court de la langue (es, pt…). + public string Code { get; set; } = string.Empty; + + /// Libellé affichable (« Espagnol »). + public string Libelle { get; set; } = string.Empty; + + /// Version du pack installé (« 1.0.0 »). + public string Version { get; set; } = string.Empty; + + /// Date d'installation (UTC). + public DateTimeOffset InstalleLeUtc { get; set; } + + /// Fichiers vérifiés composant le pack. + public IReadOnlyList Fichiers { get; set; } = []; + + /// Poids total du pack sur le disque, en octets. + public long TailleTotaleOctets + { + get + { + long total = 0; + foreach (FichierModeleInstalle fichier in Fichiers) + { + total += fichier.TailleOctets; + } + + return total; + } + } + + /// + /// Vrai si le pack contient les deux sens de traduction + /// (versFrancais et depuisFrancais) : sans les deux, la dictée + /// OU la lecture traduite resterait indisponible. + /// + public bool EstComplet => + ContientSens(LanguageModelDirections.VersFrancais) + && ContientSens(LanguageModelDirections.DepuisFrancais); + + /// Vrai si le pack déclare au moins un fichier pour le sens demandé. + public bool ContientSens(string sens) + { + foreach (FichierModeleInstalle fichier in Fichiers) + { + if (string.Equals(fichier.Sens, sens, StringComparison.Ordinal)) + { + return true; + } + } + + return false; + } + + /// Construit le marqueur d'installation à partir du pack serveur. + public static PackLangueInstalle DepuisManifeste(LanguagePackDto pack, DateTimeOffset installeLe) + { + ArgumentNullException.ThrowIfNull(pack); + + var fichiers = new List(pack.Fichiers.Count); + foreach (LanguageModelFileDto fichier in pack.Fichiers) + { + fichiers.Add(new FichierModeleInstalle + { + Sens = fichier.Sens, + NomFichier = fichier.NomFichier, + TailleOctets = fichier.TailleOctets, + Sha256 = fichier.Sha256 + }); + } + + return new PackLangueInstalle + { + Code = pack.Code, + Libelle = pack.Libelle, + Version = pack.Version, + InstalleLeUtc = installeLe, + Fichiers = fichiers + }; + } +} + +/// Fichier d'un pack installé (modèle ONNX ou vocabulaire). +public sealed class FichierModeleInstalle +{ + /// Sens de traduction (versFrancais / depuisFrancais). + public string Sens { get; set; } = string.Empty; + + /// Nom du fichier (« encoder.onnx », « vocab.spm »). + public string NomFichier { get; set; } = string.Empty; + + /// Taille attendue, en octets. + public long TailleOctets { get; set; } + + /// Empreinte SHA-256 attendue (hexadécimale minuscule). + public string Sha256 { get; set; } = string.Empty; +} + +/// +/// Langue proposée à l'utilisateur : croisement du manifeste serveur +/// (ce qui est téléchargeable) et de l'état local (ce qui est déjà +/// installé sur cet appareil). +/// +public sealed class LangueDisponible +{ + /// Code ISO court de la langue. + public string Code { get; set; } = string.Empty; + + /// Libellé affichable (« Espagnol »). + public string Libelle { get; set; } = string.Empty; + + /// Version annoncée par le serveur. + public string Version { get; set; } = string.Empty; + + /// Poids total à télécharger, en octets. + public long TailleOctets { get; set; } + + /// Nombre de fichiers du pack. + public int NombreFichiers { get; set; } + + /// Vrai si le pack est installé localement et complet. + public bool EstInstallee { get; set; } + + /// Version installée localement (vide si non installée). + public string VersionInstallee { get; set; } = string.Empty; + + /// + /// Vrai si le pack est installé mais dans une version différente de celle + /// annoncée par le serveur : une mise à jour est proposée. + /// + public bool MiseAJourDisponible => + EstInstallee + && !string.IsNullOrWhiteSpace(Version) + && !string.Equals(Version, VersionInstallee, StringComparison.Ordinal); + + /// + /// Libellé d'état affiché dans l'écran Paramètres. + /// + public string EtatAffichage => EstInstallee + ? MiseAJourDisponible + ? $"Installée (v{VersionInstallee}) — mise à jour disponible" + : $"Installée (v{VersionInstallee})" + : $"Non installée — {FormaterTaille(TailleOctets)}"; + + /// Formate un poids en octets de façon lisible (Mo/Go). + public static string FormaterTaille(long octets) + { + if (octets <= 0) + { + return "taille inconnue"; + } + + const double Ko = 1024d; + const double Mo = Ko * 1024d; + const double Go = Mo * 1024d; + + if (octets >= Go) + { + return $"{octets / Go:0.##} Go"; + } + + return octets >= Mo + ? $"{octets / Mo:0.#} Mo" + : $"{octets / Ko:0} Ko"; + } +} diff --git a/src/Omika.App.Local/Models/LangueSecondairePreference.cs b/src/Omika.App.Local/Models/LangueSecondairePreference.cs new file mode 100644 index 0000000..b041eee --- /dev/null +++ b/src/Omika.App.Local/Models/LangueSecondairePreference.cs @@ -0,0 +1,95 @@ +namespace Omika.App.Local.Models; + +/// +/// Préférence LOCALE de langue secondaire de l'utilisateur connecté. +/// +/// +/// Cette préférence désigne la langue « de terrain » parlée par l'utilisateur +/// en plus du français. Elle pilote deux choses : +/// +/// +/// la langue demandée au moteur de dictée natif (Android/iOS) lorsque +/// l'utilisateur dicte dans sa langue secondaire : le texte reconnu est ensuite +/// traduit vers le français avant d'être inséré dans le champ ; +/// la langue cible du bouton « Traduire » des contenus en lecture seule +/// (français → langue secondaire, affichage seul). +/// +/// +/// +/// Comme , ce réglage est une préférence +/// d'UTILISATEUR portée par le terminal : +/// +/// +/// il n'est jamais transmis à l'API ni au WebService ; +/// il n'existe pas dans ParametreSysteme côté serveur ; +/// il n'est jamais ajouté au bootstrap ni à MobileConfigurationDto ; +/// il ne passe jamais par l'Outbox et ne modifie jamais la base HFSQL. +/// +/// +/// +/// Le code stocké est le code ISO court utilisé par l'API des langues +/// (es, pt, ar…), jamais un identifiant de culture .NET : +/// c'est la clé du dossier de modèles et du manifeste. +/// +/// +public sealed class LangueSecondairePreference +{ + /// + /// Valeur de lorsqu'aucune langue secondaire n'est + /// définie : l'utilisateur travaille alors exclusivement en français et + /// aucune traduction n'est proposée. + /// + public const string CodeAucune = ""; + + /// + /// Code ISO court de la langue secondaire (es, pt…), ou + /// si aucune langue n'est définie. + /// + public string Code { get; set; } = CodeAucune; + + /// + /// Libellé affichable de la langue secondaire (« Espagnol »), tel que fourni + /// par le manifeste. Conservé localement pour que l'écran Paramètres reste + /// lisible hors connexion, sans avoir à interroger l'API des langues. + /// + public string Libelle { get; set; } = string.Empty; + + /// + /// Indique qu'une langue secondaire est réellement définie. Une préférence + /// dont le code est vide ou blanc est traitée comme « aucune langue ». + /// + public bool EstDefinie => !string.IsNullOrWhiteSpace(Code); + + /// + /// Libellé à afficher : nom connu du mobile pour ce code, sinon le libellé + /// enregistré, sinon le code brut (jamais une chaîne vide à l'écran). + /// + /// + /// Le nom connu passe en premier : une préférence enregistrée avant la + /// correction des libellés peut porter « bg » au lieu de « Bulgare », et ce + /// code technique ne doit pas remonter dans l'interface. + /// + /// + public string LibelleAffichage => + !EstDefinie + ? "Aucune" + : LibellesLangues.Resoudre(Code, Libelle); + + /// Préférence par défaut : aucune langue secondaire. + public static LangueSecondairePreference ParDefaut => new(); + + /// Normalise une préférence lue depuis SQLite (code blanc → aucune). + public static LangueSecondairePreference Normaliser(string? code, string? libelle) + { + if (string.IsNullOrWhiteSpace(code)) + { + return ParDefaut; + } + + return new LangueSecondairePreference + { + Code = code.Trim().ToLowerInvariant(), + Libelle = libelle?.Trim() ?? string.Empty + }; + } +} diff --git a/src/Omika.App.Local/Models/LibellesLangues.cs b/src/Omika.App.Local/Models/LibellesLangues.cs new file mode 100644 index 0000000..76ba431 --- /dev/null +++ b/src/Omika.App.Local/Models/LibellesLangues.cs @@ -0,0 +1,85 @@ +namespace Omika.App.Local.Models; + +/// +/// Noms français des langues proposées au téléchargement. +/// +/// +/// Pourquoi une table locale alors que le manifeste porte déjà un libellé. +/// Le libellé vient du serveur, et il dépend de la façon dont le manifeste a été +/// généré : un pack dont la langue n'y figure pas encore arrive avec un libellé +/// vide, et l'écran d'accueil affichait alors le CODE technique (« bg », « ca »…) +/// au milieu de noms lisibles (« Espagnol »). Le mobile ne doit pas dépendre du +/// serveur pour un simple nom de langue : cette table sert de repli et garantit +/// que la liste est toujours lisible, même hors connexion ou avec un manifeste +/// ancien. +/// +/// +/// +/// La table est celle du catalogue de packs (packs/). Une langue qui n'y +/// figure pas garde le libellé du serveur, puis son code en dernier recours. +/// +/// +public static class LibellesLangues +{ + private static readonly Dictionary Noms = new(StringComparer.Ordinal) + { + ["ar"] = "Arabe", + ["bg"] = "Bulgare", + ["ca"] = "Catalan", + ["cs"] = "Tchèque", + ["da"] = "Danois", + ["de"] = "Allemand", + ["el"] = "Grec", + ["en"] = "Anglais", + ["es"] = "Espagnol", + ["et"] = "Estonien", + ["fi"] = "Finnois", + ["gl"] = "Galicien", + ["hr"] = "Croate", + ["hu"] = "Hongrois", + ["is"] = "Islandais", + ["it"] = "Italien", + ["lt"] = "Lituanien", + ["lv"] = "Letton", + ["mk"] = "Macédonien", + ["mt"] = "Maltais", + ["nl"] = "Néerlandais", + ["no"] = "Norvégien", + ["pl"] = "Polonais", + ["pt"] = "Portugais", + ["ro"] = "Roumain", + ["ru"] = "Russe", + ["sk"] = "Slovaque", + ["sl"] = "Slovène", + ["sv"] = "Suédois", + ["tr"] = "Turc", + ["uk"] = "Ukrainien", + ["zh"] = "Chinois" + }; + + /// + /// Libellé à afficher pour une langue : nom connu pour ce code, sinon le + /// libellé fourni par le serveur, sinon le code lui-même (jamais une chaîne + /// vide : un élément de liste sans titre serait invisible). + /// + public static string Resoudre(string? code, string? libelleServeur) + { + if (!string.IsNullOrWhiteSpace(code) && Noms.TryGetValue(code.Trim().ToLowerInvariant(), out string? nom)) + { + return nom; + } + + if (!string.IsNullOrWhiteSpace(libelleServeur)) + { + return libelleServeur.Trim(); + } + + return code?.Trim() ?? string.Empty; + } + + /// Nom français d'un code, ou s'il est inconnu. + public static string? NomDe(string? code) + => !string.IsNullOrWhiteSpace(code) && Noms.TryGetValue(code.Trim().ToLowerInvariant(), out string? nom) + ? nom + : null; +} diff --git a/src/Omika.App.Local/Models/LocalBootstrapState.cs b/src/Omika.App.Local/Models/LocalBootstrapState.cs new file mode 100644 index 0000000..aca21a9 --- /dev/null +++ b/src/Omika.App.Local/Models/LocalBootstrapState.cs @@ -0,0 +1,77 @@ +using Omika.Core.Contracts.Common; +using Omika.Core.Contracts.Configuration; +using Omika.Core.Contracts.Mobile.Bootstrap; +using Omika.Core.Contracts.Mobile.License; +using Omika.Core.Contracts.Organisation; +using Omika.Core.Contracts.Security; + +namespace Omika.App.Local.Models; + +/// +/// État de bootstrap local (profil, droits, licence, configuration, paramètres +/// métier). Survit au refresh snapshot : un refresh métier ne supprime JAMAIS +/// ces données. Les tokens d'authentification restent hors de cette table +/// (secure storage dédié). +/// +public sealed class LocalBootstrapState +{ + /// Identifiant de la ligne (toujours 1, singleton). + public int Id { get; set; } = 1; + + /// Utilisateur authentifié. + public CurrentUserDto? Utilisateur { get; set; } + + /// Collaborateur associé (si disponible). + public CollaborateurDetailsDto? Collaborateur { get; set; } + + /// Profil commun (Batik via ParametreMetier, Omika via Role). + public MobileProfileDto? Profil { get; set; } + + /// + /// Récapitulatif complet des droits : dictionnaire plat clé canonique + /// A.* → autorisé. + /// + public IReadOnlyDictionary Droits { get; set; } + = new Dictionary(); + + /// + /// Vrai si la messagerie par défaut du collaborateur est EXTERNE : l'envoi des + /// courriels se fait depuis sa propre messagerie, jamais depuis l'application. + /// Persisté avec le reste de l'identité (il conditionne l'accès au composeur + /// interne, y compris hors ligne). + /// + public bool MessagerieExterne { get; set; } + + /// Configuration utile au mobile. + public MobileConfigurationDto? Configuration { get; set; } + + /// Informations de licence utiles. + public LicenseResponse? Licence { get; set; } + + /// Paramètres nécessaires au démarrage. + public IReadOnlyList ParametresMetier { get; set; } = []; + + /// Équipes (avec leurs membres) de l'utilisateur. + public IReadOnlyList Equipes { get; set; } = []; + + /// Collaborateurs actifs (annuaire de l'équipe/entreprise). + public IReadOnlyList Collaborateurs { get; set; } = []; + + /// + /// Identités publiques (GUID canoniques) des collaborateurs dont le + /// collaborateur courant peut consulter le planning (périmètre A.C.PL.*). + /// Sert à filtrer les suggestions de l'agenda d'équipe côté mobile. + /// + public IReadOnlyList CollaborateursAutorises { get; set; } = []; + + /// + /// Date UTC de la dernière confirmation réussie de la licence par le serveur + /// (activation QR ou license/validate). Source UNIQUE du calcul + /// OfflineGraceDays. Distinct de (dernière + /// écriture du bootstrap) qui, lui, ne doit JAMAIS influencer la grace. + /// + public DateTimeOffset? LastLicenseValidationUtc { get; set; } + + /// Date de dernière mise à jour (UTC). + public DateTimeOffset UpdatedAtUtc { get; set; } +} diff --git a/src/Omika.App.Local/Models/LocalClient.cs b/src/Omika.App.Local/Models/LocalClient.cs new file mode 100644 index 0000000..a88f97b --- /dev/null +++ b/src/Omika.App.Local/Models/LocalClient.cs @@ -0,0 +1,8 @@ +namespace Omika.App.Local.Models; + +/// +/// Client local (table métier issue du snapshot). +/// +public sealed class LocalClient : LocalEntityBase +{ +} diff --git a/src/Omika.App.Local/Models/LocalCollaborateur.cs b/src/Omika.App.Local/Models/LocalCollaborateur.cs new file mode 100644 index 0000000..e1245c5 --- /dev/null +++ b/src/Omika.App.Local/Models/LocalCollaborateur.cs @@ -0,0 +1,10 @@ +namespace Omika.App.Local.Models; + +/// +/// Collaborateur local (table métier issue du snapshot). +/// +public sealed class LocalCollaborateur : LocalEntityBase +{ + /// Identité de la société (référence locale réconciliable). + public Guid? SocieteId { get; set; } +} diff --git a/src/Omika.App.Local/Models/LocalCompteRendu.cs b/src/Omika.App.Local/Models/LocalCompteRendu.cs new file mode 100644 index 0000000..5cd3c3c --- /dev/null +++ b/src/Omika.App.Local/Models/LocalCompteRendu.cs @@ -0,0 +1,19 @@ +namespace Omika.App.Local.Models; + +/// +/// Compte rendu rattaché à un rendez-vous, stocké localement (table technique +/// CompteRendu). Permet l'affichage immédiat d'un compte rendu créé hors +/// ligne avant sa confirmation serveur, et la lecture hors ligne du dernier état +/// connu. +/// +public sealed class LocalCompteRendu +{ + /// Identité publique du rendez-vous lié (clé unique locale). + public Guid RendezVousId { get; set; } + + /// Payload CompteRenduDto sérialisé. + public string PayloadJson { get; set; } = string.Empty; + + /// Date de dernière mise à jour (UTC). + public DateTimeOffset UpdatedAtUtc { get; set; } +} diff --git a/src/Omika.App.Local/Models/LocalDocumentMetadata.cs b/src/Omika.App.Local/Models/LocalDocumentMetadata.cs new file mode 100644 index 0000000..5635fe6 --- /dev/null +++ b/src/Omika.App.Local/Models/LocalDocumentMetadata.cs @@ -0,0 +1,12 @@ +namespace Omika.App.Local.Models; + +/// +/// Métadonnées de document locales (table métier issue du snapshot). +/// Ne contient AUCUN contenu binaire : le binaire est géré par le cache +/// document (fichier local + ). +/// +public sealed class LocalDocumentMetadata : LocalEntityBase +{ + /// Identité de l'intervention associée (référence locale réconciliable). + public Guid? InterventionId { get; set; } +} diff --git a/src/Omika.App.Local/Models/LocalDossier.cs b/src/Omika.App.Local/Models/LocalDossier.cs new file mode 100644 index 0000000..bdf84d4 --- /dev/null +++ b/src/Omika.App.Local/Models/LocalDossier.cs @@ -0,0 +1,13 @@ +namespace Omika.App.Local.Models; + +/// +/// Dossier local (table métier issue du snapshot). +/// +public sealed class LocalDossier : LocalEntityBase +{ + /// Identité du client (référence locale réconciliable). + public Guid? ClientId { get; set; } + + /// Identité du site (référence locale réconciliable). + public Guid? SiteId { get; set; } +} diff --git a/src/Omika.App.Local/Models/LocalEmailIntervention.cs b/src/Omika.App.Local/Models/LocalEmailIntervention.cs new file mode 100644 index 0000000..6d573a6 --- /dev/null +++ b/src/Omika.App.Local/Models/LocalEmailIntervention.cs @@ -0,0 +1,21 @@ +namespace Omika.App.Local.Models; + +/// +/// Courriel (MessageExterne) lié à une intervention, stocké localement (table +/// technique EmailIntervention). Fourni par le snapshot et complété à la +/// demande, pour permettre la consultation hors ligne. +/// +public sealed class LocalEmailIntervention +{ + /// Identité publique du courriel (GUID). + public Guid Id { get; set; } + + /// Identité publique de l'intervention liée. + public Guid InterventionId { get; set; } + + /// DTO EmailInterventionDto sérialisé en JSON. + public string PayloadJson { get; set; } = string.Empty; + + /// Date de dernière mise à jour (UTC). + public DateTimeOffset UpdatedAtUtc { get; set; } +} diff --git a/src/Omika.App.Local/Models/LocalEntityBase.cs b/src/Omika.App.Local/Models/LocalEntityBase.cs new file mode 100644 index 0000000..13a4af7 --- /dev/null +++ b/src/Omika.App.Local/Models/LocalEntityBase.cs @@ -0,0 +1,21 @@ +namespace Omika.App.Local.Models; + +/// +/// Base commune des entités métier locales issues du snapshot. +/// Chaque entité porte son identité publique canonique () et le +/// DTO complet sérialisé en JSON () pour préserver +/// toutes les données utiles aux futurs écrans. Les colonnes de référence +/// typées permettent une réconciliation d'identité sûre (A → B) sans +/// string.Replace dangereux sur le JSON. +/// +public abstract class LocalEntityBase +{ + /// Identité publique canonique (GUID). PK logique locale. + public Guid Id { get; set; } + + /// DTO métier complet sérialisé en JSON. + public string PayloadJson { get; set; } = string.Empty; + + /// Date de dernière mise à jour (UTC). + public DateTimeOffset UpdatedAtUtc { get; set; } +} diff --git a/src/Omika.App.Local/Models/LocalIntervention.cs b/src/Omika.App.Local/Models/LocalIntervention.cs new file mode 100644 index 0000000..2a471e9 --- /dev/null +++ b/src/Omika.App.Local/Models/LocalIntervention.cs @@ -0,0 +1,16 @@ +namespace Omika.App.Local.Models; + +/// +/// Intervention locale (table métier issue du snapshot). +/// +public sealed class LocalIntervention : LocalEntityBase +{ + /// Identité du client (référence locale réconciliable). + public Guid? ClientId { get; set; } + + /// Identité du site (référence locale réconciliable). + public Guid? SiteId { get; set; } + + /// Identité du dossier (référence locale réconciliable). + public Guid? DossierId { get; set; } +} diff --git a/src/Omika.App.Local/Models/LocalNoteDocument.cs b/src/Omika.App.Local/Models/LocalNoteDocument.cs new file mode 100644 index 0000000..3ee1c96 --- /dev/null +++ b/src/Omika.App.Local/Models/LocalNoteDocument.cs @@ -0,0 +1,29 @@ +namespace Omika.App.Local.Models; + +/// +/// Note libre attachée à un document / une photo, stockée localement (table +/// technique NoteDocument). Permet la saisie HORS LIGNE : la note est +/// enregistrée immédiatement sur l'appareil, puis synchronisée à la reconnexion +/// — toujours APRÈS le document qu'elle référence (le document doit exister +/// côté serveur pour recevoir ses notes). +/// +public sealed class LocalNoteDocument +{ + /// Identité publique de la note (GUID mobile temporaire ou canonique serveur). + public Guid Id { get; set; } + + /// Identité publique du document porteur (GUID mobile puis canonique). + public Guid DocumentId { get; set; } + + /// Contenu de la note (MI_Message). + public string Contenu { get; set; } = string.Empty; + + /// Date de création (heure locale, comme le serveur). + public DateTime DateCreation { get; set; } + + /// Nom affiché de l'auteur (résolu serveur), sinon null pour une note locale. + public string? AuteurNom { get; set; } + + /// Date de dernière mise à jour (UTC). + public DateTimeOffset UpdatedAtUtc { get; set; } +} diff --git a/src/Omika.App.Local/Models/LocalNoteInterne.cs b/src/Omika.App.Local/Models/LocalNoteInterne.cs new file mode 100644 index 0000000..88fb73f --- /dev/null +++ b/src/Omika.App.Local/Models/LocalNoteInterne.cs @@ -0,0 +1,30 @@ +namespace Omika.App.Local.Models; + +/// +/// Note interne / administrative liée à une intervention, stockée localement +/// (table technique NoteInterne). Permet l'affichage immédiat des notes +/// créées hors ligne avant leur confirmation serveur. +/// +public sealed class LocalNoteInterne +{ + /// Identité publique de la note (GUID mobile temporaire ou canonique serveur). + public Guid Id { get; set; } + + /// Identité publique de l'intervention liée. + public Guid InterventionId { get; set; } + + /// Vrai pour une note administrative, faux pour une note interne. + public bool EstAdministrative { get; set; } + + /// Contenu de la note (MI_Message). + public string Contenu { get; set; } = string.Empty; + + /// Date de création (heure locale, comme le serveur). + public DateTime DateCreation { get; set; } + + /// Nom affiché de l'auteur (résolu serveur), sinon null pour une note locale. + public string? AuteurNom { get; set; } + + /// Date de dernière mise à jour (UTC). + public DateTimeOffset UpdatedAtUtc { get; set; } +} diff --git a/src/Omika.App.Local/Models/LocalPersonne.cs b/src/Omika.App.Local/Models/LocalPersonne.cs new file mode 100644 index 0000000..73b3772 --- /dev/null +++ b/src/Omika.App.Local/Models/LocalPersonne.cs @@ -0,0 +1,10 @@ +namespace Omika.App.Local.Models; + +/// +/// Personne / contact local (table métier issue du snapshot). +/// +public sealed class LocalPersonne : LocalEntityBase +{ + /// Identité du client parent (référence locale réconciliable). + public Guid? ClientId { get; set; } +} diff --git a/src/Omika.App.Local/Models/LocalRendezVous.cs b/src/Omika.App.Local/Models/LocalRendezVous.cs new file mode 100644 index 0000000..ff5e3c6 --- /dev/null +++ b/src/Omika.App.Local/Models/LocalRendezVous.cs @@ -0,0 +1,19 @@ +namespace Omika.App.Local.Models; + +/// +/// Rendez-vous local (table métier issue du snapshot, modèle commun). +/// +public sealed class LocalRendezVous : LocalEntityBase +{ + /// Identité du client (référence locale réconciliable). + public Guid? ClientId { get; set; } + + /// Identité du site (référence locale réconciliable). + public Guid? SiteId { get; set; } + + /// Identité du dossier (référence locale réconciliable). + public Guid? DossierId { get; set; } + + /// Identité de l'intervention (référence locale réconciliable). + public Guid? InterventionId { get; set; } +} diff --git a/src/Omika.App.Local/Models/LocalSite.cs b/src/Omika.App.Local/Models/LocalSite.cs new file mode 100644 index 0000000..7e744a9 --- /dev/null +++ b/src/Omika.App.Local/Models/LocalSite.cs @@ -0,0 +1,10 @@ +namespace Omika.App.Local.Models; + +/// +/// Site / lieu local (table métier issue du snapshot). +/// +public sealed class LocalSite : LocalEntityBase +{ + /// Identité du client parent (référence locale réconciliable). + public Guid? ClientId { get; set; } +} diff --git a/src/Omika.App.Local/Models/LocalSuiviTemps.cs b/src/Omika.App.Local/Models/LocalSuiviTemps.cs new file mode 100644 index 0000000..101b874 --- /dev/null +++ b/src/Omika.App.Local/Models/LocalSuiviTemps.cs @@ -0,0 +1,21 @@ +namespace Omika.App.Local.Models; + +/// +/// Suivi de temps local (table métier issue du snapshot). +/// Hérite de : porte l'identité publique canonique +/// () et le DTO complet sérialisé en JSON +/// (). Les colonnes de référence typées +/// (Collaborateur / Intervention / RendezVous) permettent une réconciliation +/// d'identité sûre (A → B) sans string.Replace dangereux sur le JSON. +/// +public sealed class LocalSuiviTemps : LocalEntityBase +{ + /// Identité du collaborateur (référence locale réconciliable). + public Guid? CollaborateurId { get; set; } + + /// Identité de l'intervention (référence locale réconciliable). + public Guid? InterventionId { get; set; } + + /// Identité du rendez-vous (référence locale réconciliable). + public Guid? RendezVousId { get; set; } +} diff --git a/src/Omika.App.Local/Models/MobileEnrollmentConfiguration.cs b/src/Omika.App.Local/Models/MobileEnrollmentConfiguration.cs new file mode 100644 index 0000000..dbf952d --- /dev/null +++ b/src/Omika.App.Local/Models/MobileEnrollmentConfiguration.cs @@ -0,0 +1,33 @@ +namespace Omika.App.Local.Models; + +/// +/// Configuration d'inscription de l'appareil, générée dynamiquement APRÈS une +/// inscription réussie (QR → licence → API). +/// +/// C'est la source unique de vérité des URLs côté client : +/// - : obtenue depuis le QR ; +/// - : retournée par le serveur de licence. +/// +/// Aucun fichier de configuration embarqué ne fournit ces valeurs : elles +/// n'existent qu'après inscription et sont stockées localement. +/// +public sealed class MobileEnrollmentConfiguration +{ + /// Version du modèle d'inscription. + public int Version { get; set; } = 1; + + /// Code client inscrit. + public string CodeClient { get; set; } = string.Empty; + + /// Numéro de licence inscrit (GUID). + public string NumeroLicence { get; set; } = string.Empty; + + /// URL HTTPS du service de licence (issue du QR). + public string LicenseServiceUrl { get; set; } = string.Empty; + + /// URL HTTPS de l'API Omika (issue de la validation de licence). + public string OmikaApiUrl { get; set; } = string.Empty; + + /// Date/heure (UTC) de l'inscription. + public DateTimeOffset EnrolledAtUtc { get; set; } +} diff --git a/src/Omika.App.Local/Models/ModelePackMetadonnees.cs b/src/Omika.App.Local/Models/ModelePackMetadonnees.cs new file mode 100644 index 0000000..4a4c735 --- /dev/null +++ b/src/Omika.App.Local/Models/ModelePackMetadonnees.cs @@ -0,0 +1,164 @@ +using System.Text.Json; + +namespace Omika.App.Local.Models; + +/// +/// Métadonnées d'un sens de traduction, lues dans le fichier +/// {sens}/modele.json du pack. +/// +/// +/// Un modèle dédié à une paire (« es→fr ») n'a besoin d'aucune métadonnée : son +/// nom dit tout, et le pack se suffit à lui-même. Un modèle multilingue +/// — une famille de langues, type opus-mt-tc-big-itc-itc — partage ses +/// poids entre plusieurs langues : il ne sait laquelle écrire que par un +/// jeton de cible placé en tête du texte source +/// (>>fra<<, >>por<<…). Ce fichier déclare +/// ce jeton, et rien d'autre : le moteur n'a pas à connaître la liste des +/// modèles du dépôt HuggingFace. +/// +/// +/// +/// Le fichier est facultatif. Son absence signifie « modèle dédié, aucun +/// jeton » : c'est l'état de tous les packs installés avant son introduction, +/// qui doivent continuer de fonctionner tels quels. +/// +/// +/// +/// Sa présence mais son illisibilité est une erreur, volontairement. Un +/// jeton de cible ignoré en silence ferait produire au modèle une traduction +/// dans la mauvaise langue — du texte parfaitement lisible, aucune exception : +/// le défaut le plus coûteux à diagnostiquer. Mieux vaut refuser de traduire. +/// +/// +/// +/// { +/// "version": 1, +/// "modeleSource": "Helsinki-NLP/opus-mt-tc-big-itc-itc", +/// "famille": "itc", +/// "jetonCible": ">>fra<<" +/// } +/// +/// +/// +/// modeleSource et famille ne sont lus par aucun calcul : ils +/// documentent l'origine du pack pour le diagnostic (l'outil +/// Omika.LanguesProbe et le rapport d'export s'en servent). +/// +/// +public sealed class ModelePackMetadonnees +{ + /// Nom du fichier dans le répertoire d'un sens (modele.json). + public const string NomFichier = "modele.json"; + + /// Version de métadonnées comprise par cette application. + public const int VersionSupportee = 1; + + /// + /// Longueur maximale d'un jeton de cible. Un jeton Marian réel fait 7 + /// caractères (>>fra<<) ; cette borne n'existe que pour + /// qu'un manifeste serveur ne puisse pas imposer un préfixe arbitrairement + /// long à chaque phrase dictée. + /// + public const int LongueurMaxJeton = 32; + + private static readonly JsonSerializerOptions Options = new() + { + PropertyNameCaseInsensitive = true, + ReadCommentHandling = JsonCommentHandling.Skip, + AllowTrailingCommas = true + }; + + /// Version du format (1 si le fichier ne la déclare pas). + public int Version { get; set; } = VersionSupportee; + + /// Dépôt d'origine du modèle (« Helsinki-NLP/opus-mt-tc-big-itc-itc »). + public string ModeleSource { get; set; } = string.Empty; + + /// Famille de langues du modèle (« itc », « zle »…) — documentaire. + public string Famille { get; set; } = string.Empty; + + /// + /// Jeton de cible à placer en tête du texte source (« >>fra<< »). + /// Vide pour un modèle dédié à une paire. + /// + public string JetonCible { get; set; } = string.Empty; + + /// Vrai si la traduction doit préfixer le texte par . + public bool AjouteUnJeton => JetonCible.Length > 0; + + /// + /// Lit une métadonnée depuis son JSON. signifie + /// « fichier vide ou JSON null » : traité comme absent. + /// + /// + /// est levée pour un contenu inexploitable + /// (JSON invalide, version future, jeton malformé). L'appelant la traduit en + /// message utilisateur ; cette classe ne fait aucune entrée/sortie et ne + /// dépend d'aucune couche. + /// + /// + public static ModelePackMetadonnees? DepuisJson(string? json) + { + if (string.IsNullOrWhiteSpace(json)) + { + return null; + } + + ModelePackMetadonnees? lu; + try + { + lu = JsonSerializer.Deserialize(json, Options); + } + catch (JsonException ex) + { + throw new FormatException("JSON invalide", ex); + } + + if (lu is null) + { + return null; + } + + if (lu.Version is < 1 or > VersionSupportee) + { + throw new FormatException( + $"version {lu.Version} non prise en charge (maximum connu : {VersionSupportee})"); + } + + lu.ModeleSource = (lu.ModeleSource ?? string.Empty).Trim(); + lu.Famille = (lu.Famille ?? string.Empty).Trim(); + lu.JetonCible = NormaliserJeton(lu.JetonCible); + return lu; + } + + /// + /// Valide et nettoie un jeton de cible. Un jeton contenant un espace serait + /// découpé par le tokeniseur et n'atteindrait jamais le modèle sous sa forme + /// attendue : il est refusé plutôt que de produire une sortie silencieusement + /// fausse. + /// + private static string NormaliserJeton(string? brut) + { + string jeton = (brut ?? string.Empty).Trim(); + if (jeton.Length == 0) + { + return string.Empty; + } + + if (jeton.Length > LongueurMaxJeton) + { + throw new FormatException( + $"jetonCible trop long ({jeton.Length} caractères, maximum {LongueurMaxJeton})"); + } + + foreach (char c in jeton) + { + if (char.IsWhiteSpace(c) || char.IsControl(c)) + { + throw new FormatException("jetonCible contient un espace ou un caractère de contrôle"); + } + } + + return jeton; + } +} diff --git a/src/Omika.App.Local/Models/OutboxOperation.cs b/src/Omika.App.Local/Models/OutboxOperation.cs new file mode 100644 index 0000000..2bc777f --- /dev/null +++ b/src/Omika.App.Local/Models/OutboxOperation.cs @@ -0,0 +1,61 @@ +using Omika.Core.Contracts.Mobile.Sync; + +namespace Omika.App.Local.Models; + +/// +/// Opération de l'Outbox locale. +/// OperationId est créé UNE fois, ne change jamais et reste identique +/// pendant tous les retries réseau. Il n'est pas l'identité métier +/// (RequestedEntityGuid). +/// +public sealed class OutboxOperation +{ + /// GUID de transaction créé par le téléphone. Unique et immuable. + public Guid OperationId { get; set; } + + /// Type d'entité métier (ex. SyncEntityTypes.Intervention). + public string EntityType { get; set; } = string.Empty; + + /// Type d'opération (CREATE, UPDATE, DELETE, ARCHIVE). + public SyncOperationType OperationType { get; set; } + + /// Identité locale demandée (GUID mobile temporaire pour un CREATE). + public Guid RequestedEntityGuid { get; set; } + + /// + /// Identité publique canonique, renseignée après réconciliation (A → B). + /// tant que non réconciliée. + /// + public Guid? CanonicalEntityGuid { get; set; } + + /// Contenu sérialisé de l'opération (contrat JSON typé). + public string Payload { get; set; } = string.Empty; + + /// Date de création (UTC). + public DateTimeOffset CreatedAtUtc { get; set; } + + /// État interne de l'opération. + public OutboxState State { get; set; } = OutboxState.Pending; + + /// Nombre de tentatives réseau déjà effectuées. + public int RetryCount { get; set; } + + /// Dernière erreur rencontrée (nettoyée, sans secret). + public string? LastError { get; set; } + + /// + /// Type d'entité dont dépend cette opération (ex. une opération RendezVous + /// dépend de l'Intervention). si aucune dépendance. + /// + public string? DependencyEntityType { get; set; } + + /// + /// Identité locale (RequestedEntityGuid) de la dépendance qui doit être + /// réconciliée avant l'envoi de cette opération. si + /// aucune dépendance. + /// + public Guid? DependencyRequestedEntityGuid { get; set; } + + /// Date de dernière mise à jour (UTC). + public DateTimeOffset UpdatedAtUtc { get; set; } +} diff --git a/src/Omika.App.Local/Models/OutboxState.cs b/src/Omika.App.Local/Models/OutboxState.cs new file mode 100644 index 0000000..904c568 --- /dev/null +++ b/src/Omika.App.Local/Models/OutboxState.cs @@ -0,0 +1,32 @@ +namespace Omika.App.Local.Models; + +/// +/// État interne d'une opération de l'Outbox locale. +/// Les noms suivent les conventions du projet (contrat SyncStatus). +/// +public enum OutboxState +{ + /// En attente d'envoi. État initial et état de récupération après crash. + Pending = 0, + + /// En cours d'envoi vers l'API (état temporaire, récupérable au démarrage). + Sending = 1, + + /// Opération acceptée par le serveur (RECEIVED), en attente du résultat. + Accepted = 2, + + /// En attente du résultat via GET /api/sync/status (état temporaire). + WaitingResult = 3, + + /// Opération traitée avec succès (SUCCESS). + Succeeded = 4, + + /// Opération rejetée définitivement (REJECTED). Conservée pour diagnostic. + Rejected = 5, + + /// + /// Statut non disponible (STATUS_NOT_AVAILABLE). Anomalie : jamais convertie + /// artificiellement en succès. Rendu visible au moteur de diagnostic futur. + /// + StatusNotAvailable = 6 +} diff --git a/src/Omika.App.Local/Models/PauseDejeunerPreference.cs b/src/Omika.App.Local/Models/PauseDejeunerPreference.cs new file mode 100644 index 0000000..477b04f --- /dev/null +++ b/src/Omika.App.Local/Models/PauseDejeunerPreference.cs @@ -0,0 +1,49 @@ +namespace Omika.App.Local.Models; + +/// +/// Préférence LOCALE des horaires habituels de pause déjeuner. +/// +/// Ce réglage est une préférence d'UTILISATEUR portée par le terminal : +/// +/// il n'est jamais transmis à l'API ni au WebService ; +/// il n'existe pas dans ParametreApplication côté serveur ; +/// il n'est jamais ajouté au bootstrap ni à MobileConfigurationDto ; +/// il ne passe jamais par l'Outbox et ne modifie jamais la base HFSQL. +/// +/// +/// Il ne contient que des heures (aucune date) : la date d'une saisie +/// provient toujours du contexte de saisie existant (le rendez-vous). +/// +/// Les valeurs par défaut sont centralisées ici et nulle part ailleurs : elles +/// servent à la fois de repli (aucune préférence enregistrée) et de valeurs +/// initiales de l'écran Paramètres. +/// +public sealed class PauseDejeunerPreference +{ + /// + /// Heure de début proposée par défaut (12:00) lorsqu'aucune préférence n'a + /// été enregistrée. Aucun préremplissage métier n'existait auparavant pour + /// une pause déjeuner (le formulaire proposait le créneau du rendez-vous). + /// + public static readonly TimeSpan DebutParDefaut = new(12, 0, 0); + + /// Heure de fin proposée par défaut (13:00). Voir . + public static readonly TimeSpan FinParDefaut = new(13, 0, 0); + + /// Heure habituelle de début de pause déjeuner. + public TimeSpan Debut { get; set; } = DebutParDefaut; + + /// Heure habituelle de fin de pause déjeuner. + public TimeSpan Fin { get; set; } = FinParDefaut; + + /// + /// Indique si la préférence est exploitable : l'heure de fin doit être + /// strictement postérieure à l'heure de début. Une préférence incohérente est + /// ignorée (le formulaire reste sur le créneau du rendez-vous) plutôt que de + /// produire une pause aberrante. + /// + public bool EstValide => Fin > Debut; + + /// Préférence par défaut (12:00 → 13:00), utilisée en repli. + public static PauseDejeunerPreference ParDefaut => new(); +} diff --git a/src/Omika.App.Local/Models/RapportBrouillonEntry.cs b/src/Omika.App.Local/Models/RapportBrouillonEntry.cs new file mode 100644 index 0000000..b9ba2c9 --- /dev/null +++ b/src/Omika.App.Local/Models/RapportBrouillonEntry.cs @@ -0,0 +1,33 @@ +namespace Omika.App.Local.Models; + +/// +/// Brouillon local d'un rapport d'intervention. +/// +/// Stocké dans une table TECHNIQUE (jamais purgée par un refresh snapshot), il +/// conserve le modèle choisi, le nom et les valeurs saisies (rubriques remplies +/// par l'utilisateur, sérialisées en ChampsJson) afin de pouvoir +/// enregistrer, revenir plus tard, modifier puis (re)générer le PDF. +/// +public sealed class RapportBrouillonEntry +{ + /// Identité publique locale du brouillon (GUID). + public Guid Id { get; set; } + + /// Identité publique de l'intervention concernée. + public Guid InterventionId { get; set; } + + /// Identifiant public du modèle de rapport choisi. + public string ModeleId { get; set; } = string.Empty; + + /// Nom du rapport (facultatif). + public string? Nom { get; set; } + + /// + /// Valeurs saisies par l'utilisateur, sérialisées en JSON + /// (liste de rubriques avec Rubrique + ListeDonnesMob). + /// + public string ChampsJson { get; set; } = string.Empty; + + /// Date de dernière mise à jour (UTC). + public DateTimeOffset UpdatedAtUtc { get; set; } +} diff --git a/src/Omika.App.Local/Models/RendezVousCollaborateurItem.cs b/src/Omika.App.Local/Models/RendezVousCollaborateurItem.cs new file mode 100644 index 0000000..589c9c2 --- /dev/null +++ b/src/Omika.App.Local/Models/RendezVousCollaborateurItem.cs @@ -0,0 +1,37 @@ +namespace Omika.App.Local.Models; + +/// +/// Collaborateur affecté à un rendez-vous, tel que présenté dans le bloc +/// informatif de la fiche du rendez-vous (nom, téléphone, e-mail). +/// +/// +/// Les coordonnées proviennent de la table LOCALE des collaborateurs (dernier +/// snapshot SQLite) : elles sont donc disponibles hors connexion, comme le reste +/// de la fiche. Un collaborateur dont les coordonnées ne sont pas connues +/// localement est affiché avec son seul nom, sans inventer de donnée. +/// +/// +public sealed class RendezVousCollaborateurItem +{ + /// + /// Identité publique du collaborateur (affectation RDV_Collaborateur). + /// quand les noms n'ont pas pu être rapprochés de leurs + /// identités (snapshot partiel) : la ligne reste présentée avec son nom seul. + /// + public Guid? CollaborateurGuid { get; init; } + + /// Nom affiché du collaborateur. + public string Nom { get; init; } = string.Empty; + + /// Téléphone (fixe ou mobile) du collaborateur, si connu. + public string? Telephone { get; init; } + + /// Adresse email du collaborateur, si connue. + public string? Email { get; init; } + + /// Indique si un numéro de téléphone est disponible. + public bool HasPhone => !string.IsNullOrWhiteSpace(Telephone); + + /// Indique si une adresse email est disponible. + public bool HasEmail => !string.IsNullOrWhiteSpace(Email); +} diff --git a/src/Omika.App.Local/Models/RendezVousContactItem.cs b/src/Omika.App.Local/Models/RendezVousContactItem.cs new file mode 100644 index 0000000..0139b2b --- /dev/null +++ b/src/Omika.App.Local/Models/RendezVousContactItem.cs @@ -0,0 +1,24 @@ +namespace Omika.App.Local.Models; + +/// +/// Contact/participant d'un rendez-vous pour l'affichage. Les informations sont +/// résolues côté serveur (jointure RDV_Contact → Personne) et portées par le +/// rendez-vous lui-même. Aucune donnée métier inventée. +/// +public sealed class RendezVousContactItem +{ + /// Nom affiché (si disponible). + public string? NomAffiche { get; init; } + + /// Adresse email (si disponible). + public string? Email { get; init; } + + /// Téléphone (fixe ou mobile, si disponible). + public string? Telephone { get; init; } + + /// Indique si une adresse email est disponible. + public bool HasEmail => !string.IsNullOrWhiteSpace(Email); + + /// Indique si un numéro de téléphone est disponible. + public bool HasTelephone => !string.IsNullOrWhiteSpace(Telephone); +} diff --git a/src/Omika.App.Local/Models/RendezVousStateChange.cs b/src/Omika.App.Local/Models/RendezVousStateChange.cs new file mode 100644 index 0000000..7a76dee --- /dev/null +++ b/src/Omika.App.Local/Models/RendezVousStateChange.cs @@ -0,0 +1,15 @@ +namespace Omika.App.Local.Models; + +/// +/// Changement d'état local d'un rendez-vous, publié après une mutation locale +/// (ex. annulation) pour propager immédiatement l'état à toutes les vues qui +/// détiennent une copie de ce rendez-vous (détail, agenda, agenda d'équipe). +/// +public sealed record RendezVousStateChange( + Guid RendezVousGuid, + bool EstAnnule, + bool EstFait, + string? StatutKey, + string? StatutLabel, + string? OrigineAnnulationLabel, + string? MotifAnnulationLabel); diff --git a/src/Omika.App.Local/Models/RendezVousStatut.cs b/src/Omika.App.Local/Models/RendezVousStatut.cs new file mode 100644 index 0000000..f15ce8d --- /dev/null +++ b/src/Omika.App.Local/Models/RendezVousStatut.cs @@ -0,0 +1,68 @@ +namespace Omika.App.Local.Models; + +/// +/// Clés métier et libellés des statuts de rendez-vous utilisés par le mobile. +/// +/// Le statut est la source de vérité de l'état d'un rendez-vous : +/// +/// S.RDV.FAIT (« Fait ») est posé exclusivement par la validation +/// des temps (Valider le rendez-vous), jamais par la création d'un compte +/// rendu ; +/// S.RDV.ANNU (« Annulé ») est posé par l'annulation. +/// +/// Les libellés associés servent de repli d'affichage pour le schéma Batik, qui +/// n'expose pas de clé métier séparée. +/// +public static class RendezVousStatut +{ + /// Clé métier du statut « Fait » (S.RDV.FAIT). + public const string FaitKey = "S.RDV.FAIT"; + + /// Libellé d'affichage du statut « Fait ». + public const string FaitLabel = "Fait"; + + /// Clé métier du statut « Annulé » (S.RDV.ANNU). + public const string AnnuleKey = "S.RDV.ANNU"; + + /// Libellé d'affichage du statut « Annulé ». + public const string AnnuleLabel = "Annulé"; + + /// + /// Indique si un statut correspond à « Fait » : clé métier S.RDV.FAIT + /// (Omika) ou libellé « Fait » (Batik). Tolérant aux variations de casse. + /// + public static bool EstStatutFait(string? statutKey, string? statutLabel) + { + if (string.Equals(statutKey, FaitKey, System.StringComparison.OrdinalIgnoreCase)) + { + return true; + } + + return statutLabel is not null + && statutLabel.Contains("fait", System.StringComparison.OrdinalIgnoreCase); + } + + /// + /// Indique si un statut de validation de compte rendu représente un compte + /// rendu « validé ». En l'absence de statut explicite (le schéma actuel ne + /// porte pas de rubrique de validation du compte rendu), l'existence du compte + /// rendu vaut validation : la création est l'acte de validation (notes + + /// signatures). Si un statut est présent, il est reconnu « validé » lorsqu'il + /// évoque « validé » / « signé ». + /// + public static bool EstCompteRenduValide(string? statutKey, string? statutLabel) + { + if (string.IsNullOrWhiteSpace(statutKey) && string.IsNullOrWhiteSpace(statutLabel)) + { + // Pas de statut : existence = validation (comportement historique). + return true; + } + + string? normalized = (statutKey + " " + statutLabel).ToLowerInvariant(); + return normalized.Contains("valid") + || normalized.Contains("validé") + || normalized.Contains("valide") + || normalized.Contains("signé") + || normalized.Contains("signe"); + } +} diff --git a/src/Omika.App.Local/Models/RendezVousTempsValidation.cs b/src/Omika.App.Local/Models/RendezVousTempsValidation.cs new file mode 100644 index 0000000..047fd0b --- /dev/null +++ b/src/Omika.App.Local/Models/RendezVousTempsValidation.cs @@ -0,0 +1,18 @@ +namespace Omika.App.Local.Models; + +/// +/// Marqueur local de validation des temps d'un rendez-vous. +/// +/// Stocké dans une table TECHNIQUE (jamais purgée par un refresh snapshot), il +/// permet de savoir, même hors ligne, qu'un rendez-vous a déjà été validé et que +/// ses temps ont été envoyés. Ce marqueur est distinct du drapeau métier +/// TempsValide porté par le rendez-vous côté serveur. +/// +public sealed class RendezVousTempsValidation +{ + /// Identité publique du rendez-vous. + public Guid RendezVousId { get; set; } + + /// Horodatage de la validation (UTC). + public DateTimeOffset ValidatedAtUtc { get; set; } +} diff --git a/src/Omika.App.Local/Models/SensTraduction.cs b/src/Omika.App.Local/Models/SensTraduction.cs new file mode 100644 index 0000000..48ff1e6 --- /dev/null +++ b/src/Omika.App.Local/Models/SensTraduction.cs @@ -0,0 +1,60 @@ +using Omika.Core.Contracts.Mobile.Languages; + +namespace Omika.App.Local.Models; + +/// +/// Sens d'une traduction, dans le vocabulaire métier de l'application. +/// +/// +/// Les deux valeurs correspondent exactement aux valeurs canoniques du +/// manifeste de l'API des langues () : la +/// conversion est centralisée ici pour qu'aucune chaîne « versFrancais » ne soit +/// écrite à la main ailleurs dans le code mobile. +/// +/// +public enum SensTraduction +{ + /// + /// Langue secondaire → français. Utilisé à la dictée : le texte + /// reconnu dans la langue de l'utilisateur est traduit en français AVANT + /// d'être inséré dans le champ. C'est ce texte français qui est enregistré, + /// synchronisé et stocké — jamais le texte d'origine. + /// + VersFrancais, + + /// + /// Français → langue secondaire. Utilisé à la lecture : le contenu + /// français de l'application est affiché traduit, à la demande. + /// Affichage seul : rien n'est écrit, ni dans SQLite, ni dans + /// l'Outbox, ni vers l'API. + /// + DepuisFrancais +} + +/// Conversion entre et les valeurs du manifeste. +public static class SensTraductionExtensions +{ + /// Valeur canonique attendue par l'API des langues et le manifeste. + public static string VersCode(this SensTraduction sens) + => sens == SensTraduction.VersFrancais + ? LanguageModelDirections.VersFrancais + : LanguageModelDirections.DepuisFrancais; + + /// + /// Convertit une valeur de manifeste. Toute valeur inconnue retourne + /// : un sens non reconnu ne doit jamais être + /// interprété comme l'un des deux sens valides. + /// + public static SensTraduction? DepuisCode(string? code) => code switch + { + LanguageModelDirections.VersFrancais => SensTraduction.VersFrancais, + LanguageModelDirections.DepuisFrancais => SensTraduction.DepuisFrancais, + _ => null + }; + + /// Sens inverse (pour la bascule FR ⇄ langue secondaire de l'interface). + public static SensTraduction Inverse(this SensTraduction sens) + => sens == SensTraduction.VersFrancais + ? SensTraduction.DepuisFrancais + : SensTraduction.VersFrancais; +} diff --git a/src/Omika.App.Local/Models/SiteDetail.cs b/src/Omika.App.Local/Models/SiteDetail.cs new file mode 100644 index 0000000..bd9aea7 --- /dev/null +++ b/src/Omika.App.Local/Models/SiteDetail.cs @@ -0,0 +1,355 @@ +using System.ComponentModel; + +namespace Omika.App.Local.Models; + +/// +/// Modèle de présentation d'un site / lieu dans la liste, chargé depuis le +/// snapshot local SQLite. Expose uniquement les informations réellement +/// disponibles dans le payload SiteDetailsDto. Les champs optionnels +/// absents restent nuls sans erreur. +/// +public sealed class SiteListItem : INotifyPropertyChanged +{ + /// Identité publique du site (GUID canonique local). + public Guid SiteGuid { get; init; } + + /// Code du site (si disponible). + public string? Code { get; init; } + + /// Nom du site (si disponible). + public string? Nom { get; init; } + + /// Libellé du type du site (si disponible). + public string? Type { get; init; } + + /// Ville de l'adresse du site (si disponible). + public string? Ville { get; init; } + + /// Code postal de l'adresse du site (si disponible). + public string? CodePostal { get; init; } + + /// Nom du client lié (si résolu localement). + public string? ClientNom { get; init; } + + /// Indique si le site est épinglé (préférence locale). + /// + /// Propriété OBSERVABLE : l'épinglage est reflété immédiatement dans la liste + /// affichée, sans reconstruire les cartes ni relire la base. + /// + public bool IsPinned + { + get => _isPinned; + set + { + if (_isPinned == value) + { + return; + } + + _isPinned = value; + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(IsPinned))); + } + } + + /// + public event PropertyChangedEventHandler? PropertyChanged; + + private bool _isPinned; +} + +/// +/// Modèle de présentation d'un site / lieu chargé depuis le snapshot local +/// SQLite. Expose uniquement les informations réellement disponibles dans le +/// payload SiteDetailsDto, enrichies avec les relations réellement +/// démontrables localement : Client (relation explicite ClientId), +/// Contacts (liste explicite ContactIds) et Interventions (relation +/// directe SiteId). Les relations optionnelles absentes restent +/// nulles/vides sans provoquer d'erreur. +/// +public sealed class SiteDetail +{ + /// Identité publique du site (GUID canonique local). + public Guid SiteGuid { get; init; } + + /// Code du site (si disponible). + public string? Code { get; init; } + + /// Nom du site (si disponible). + public string? Nom { get; init; } + + /// + /// Indique que le code est renseigné et différent du nom (évite d'afficher + /// deux fois la même valeur lorsque Batik porte le code comme nom). + /// + public bool HasDistinctCode + => !string.IsNullOrWhiteSpace(Code) + && !string.Equals(Code, Nom, StringComparison.OrdinalIgnoreCase); + + /// Libellé du type du site (si disponible). + public string? Type { get; init; } + + /// Code d'accès du site (si disponible). + public string? CodeAcces { get; init; } + + /// Indique qu'un badge est requis pour accéder au site. + public bool Badge { get; init; } + + /// Indique qu'un interphone est disponible sur le site. + public bool Interphone { get; init; } + + /// Informations complémentaires (si disponibles). + public string? InformationsComplementaires { get; init; } + + /// Indique si le code d'accès est réellement renseigné. + public bool HasCodeAcces => !string.IsNullOrWhiteSpace(CodeAcces); + + /// Indique si la note (informations complémentaires) est réellement renseignée. + public bool HasInformationsComplementaires => !string.IsNullOrWhiteSpace(InformationsComplementaires); + + /// + /// Indique si AU MOINS une information du bloc « Accès et note » est + /// renseignée : le bloc entier est masqué quand il n'y a rien à afficher. + /// + public bool HasAccesOuNote => HasCodeAcces || HasInformationsComplementaires; + + /// Indique si le site est archivé. + public bool EstArchive { get; init; } + + /// Adresse du site (si disponible). + public SiteAdresse? Adresse { get; init; } + + /// Indique si une adresse est disponible. + public bool HasAdresse => Adresse is not null; + + // ===== Relations réellement démontrables ===== + + /// Clients réellement liés au site (relation Client_Lieu). + public IReadOnlyList Clients { get; init; } = []; + + /// Contacts réellement liés au site (liste explicite ContactIds). + public IReadOnlyList Contacts { get; init; } = []; + + /// Interventions réellement liées au site (relation directe SiteId). + public IReadOnlyList Interventions { get; init; } = []; + + /// Rendez-vous réellement liés au site (relation directe SiteId). + public IReadOnlyList RendezVous { get; init; } = []; + + /// Indique qu'un cache contextuel a deja ete constitue pour ce site. + public bool InterventionsCacheAvailable { get; init; } +} + +/// +/// Client lié à un site, pour l'affichage. Relation portée par la table +/// Client_Lieu (association many-to-many Client ↔ Lieu). +/// +public sealed class SiteClient +{ + /// Identité publique du client (GUID canonique local). + public Guid ClientGuid { get; init; } + + /// Code du client (si disponible). + public string? Code { get; init; } + + /// Nom du client (si disponible). + public string? Nom { get; init; } + + /// Libellé du type de client (si disponible). + public string? Type { get; init; } + + /// Libellé du statut du client (si disponible). + public string? Statut { get; init; } + + /// Ville de l'adresse principale (si disponible). + public string? Ville { get; init; } + + /// Code postal de l'adresse principale (si disponible). + public string? CodePostal { get; init; } + + /// Téléphone du client (si disponible). + public string? Telephone { get; init; } + + /// Adresse email du client (si disponible). + public string? Email { get; init; } + + /// Libellé d'affichage : nom sinon code, sinon « Sans nom ». + public string DisplayName + => string.IsNullOrWhiteSpace(Nom) ? (Code ?? "Sans nom") : Nom; +} + +/// +/// Rendez-vous lié à un site, pour l'affichage. Relation réellement portée par +/// SiteId sur le DTO RendezVous. +/// +public sealed class SiteRendezVous +{ + /// Identité publique du rendez-vous (GUID canonique). + public Guid RendezVousGuid { get; init; } + + /// Objet du rendez-vous. + public string Titre { get; init; } = string.Empty; + + /// Date et heure de début. + public DateTime Debut { get; init; } + + /// Date et heure de fin. + public DateTime Fin { get; init; } + + /// Libellé du type d'activité (si disponible). + public string? TypeActivite { get; init; } + + /// Libellé du statut (si disponible). + public string? Statut { get; init; } + + /// Nom du site lié (si disponible). + public string? SiteNom { get; init; } + + /// Adresse du site lié (si disponible). + public string? SiteAdresse { get; init; } + + /// Référence de l'intervention liée (si disponible). + public string? InterventionReference { get; init; } + + /// Numéro de devis de l'intervention liée (si disponible). + public string? InterventionNumeroDevis { get; init; } + + /// Référence externe de l'intervention liée (si disponible). + public string? InterventionReferenceExterne { get; init; } + + /// Noms affichés des collaborateurs affectés. + public IReadOnlyList Collaborateurs { get; init; } = []; + + /// Description du rendez-vous (si disponible). + public string? Description { get; init; } + + /// Indique si le rendez-vous est annulé. + public bool EstAnnule { get; init; } + + /// Durée formatée pour l'affichage (ex. « 45 min », « 1 h 30 »). + public string? DureeTexte + { + get + { + TimeSpan duree = Fin >= Debut ? Fin - Debut : TimeSpan.Zero; + if (duree <= TimeSpan.Zero) + { + return null; + } + + int totalMinutes = (int)Math.Round(duree.TotalMinutes); + if (totalMinutes < 60) + { + return $"{totalMinutes} min"; + } + + int heures = totalMinutes / 60; + int minutes = totalMinutes % 60; + return minutes == 0 ? $"{heures} h" : $"{heures} h {minutes:00}"; + } + } +} + +/// +/// Adresse d'un site, pour l'affichage. Composée uniquement depuis les champs +/// réellement présents dans le DTO Site. La présentation sur une ligne n'est +/// pas stockée comme donnée métier. +/// +public sealed class SiteAdresse +{ + /// Ligne 1 de l'adresse (si disponible). + public string? Line1 { get; init; } + + /// Ligne 2 de l'adresse (si disponible). + public string? Line2 { get; init; } + + /// Ligne 3 de l'adresse (si disponible). + public string? Line3 { get; init; } + + /// Code postal (si disponible). + public string? PostalCode { get; init; } + + /// Ville (si disponible). + public string? City { get; init; } + + /// Pays (si disponible). + public string? CountryCode { get; init; } + + /// Adresse sur une ligne (si disponible). + public string? OneLine { get; init; } +} + +/// +/// Contact lié à un site, pour l'affichage. Relation réellement portée par la +/// liste ContactIds du DTO Site, résolue vers les Personnes/Contacts +/// stockées localement. +/// +public sealed class SiteContact +{ + /// Identité publique du contact (GUID canonique local). + public Guid ContactGuid { get; init; } + + /// Nom affiché du contact (si disponible). + public string? DisplayName { get; init; } + + /// Adresse email du contact (si disponible). + public string? Email { get; init; } + + /// Téléphone fixe du contact (si disponible). + public string? Phone { get; init; } + + /// Téléphone mobile du contact (si disponible). + public string? Mobile { get; init; } +} + +/// +/// Intervention liée à un site, pour l'affichage. Relation réellement portée par +/// SiteId sur le DTO Intervention. +/// +public sealed class SiteIntervention +{ + /// Identité publique de l'intervention (GUID canonique local). + public Guid InterventionGuid { get; init; } + + /// Référence de l'intervention (si disponible). + public string? Reference { get; init; } + + /// Titre de l'intervention (si disponible). + public string? Titre { get; init; } + + /// Libellé de l'état (si disponible). + public string? Etat { get; init; } + + /// Libellé du type d'intervention (si disponible). + public string? Type { get; init; } + + /// Nom du client lié (si disponible). + public string? ClientNom { get; init; } + + /// Nom du site lié (si disponible). + public string? SiteNom { get; init; } + + /// Adresse du site, formatée (si disponible). + public string? SiteAddressDisplay { get; init; } + + /// Nom affiché du contact de référence (si disponible). + public string? ContactNom { get; init; } + + /// Date prévue de début (si disponible). + public DateTime? DatePrevueDebut { get; init; } +} + +/// +/// Rendez-vous d'un site groupés par jour, pour l'affichage groupé par date +/// (les rendez-vous d'un même jour sont triés par heure). +/// +public sealed class SiteRendezVousGroup +{ + /// Date du groupe (jour). + public DateTime Date { get; init; } + + /// Libellé de la date, formaté pour l'affichage (ex. « Mercredi 11 décembre 2024 »). + public string DateLabel { get; init; } = string.Empty; + + /// Rendez-vous du jour, triés par heure de début. + public IReadOnlyList Items { get; init; } = []; +} diff --git a/src/Omika.App.Local/Models/SuiviTempsDisplayItem.cs b/src/Omika.App.Local/Models/SuiviTempsDisplayItem.cs new file mode 100644 index 0000000..aa9aa2f --- /dev/null +++ b/src/Omika.App.Local/Models/SuiviTempsDisplayItem.cs @@ -0,0 +1,64 @@ +using System; +using Omika.Core.Contracts.Planning; + +namespace Omika.App.Local.Models; + +/// +/// Élément d'affichage d'un suivi de temps dans la fiche rendez-vous. +/// Porte des libellés déjà formatés (type, période, durée) dérivés du +/// local. Aucune donnée métier inventée. +/// +public sealed class SuiviTempsDisplayItem +{ + /// Libellé du type de temps (référentiel) ou valeur neutre. + public string TypeLabel { get; init; } = "Temps saisi"; + + /// Période formatée (date + heures de début et de fin). + public string PeriodeTexte { get; init; } = string.Empty; + + /// Durée formatée (ex. « 1 h 30 »). + public string DureeTexte { get; init; } = string.Empty; + + /// Durée en minutes (pour les totaux). + public int DureeMinutes { get; init; } + + /// Description / commentaire de la saisie. + public string? Description { get; init; } + + /// Convertit un en élément d'affichage. + public static SuiviTempsDisplayItem From(SuiviTempsDto dto) + { + string typeLabel = dto.TypeTemps?.Label ?? dto.TypeTemps?.Key ?? "Temps saisi"; + + string periodeTexte = dto.Date == default + ? string.Empty + : $"{dto.Date:dd/MM/yyyy HH\\:mm} – {dto.Date.AddMinutes(dto.DureeMinutes):HH\\:mm}"; + + return new SuiviTempsDisplayItem + { + TypeLabel = typeLabel, + PeriodeTexte = periodeTexte, + DureeTexte = FormatDuree(dto.DureeMinutes), + DureeMinutes = dto.DureeMinutes, + Description = string.IsNullOrWhiteSpace(dto.Description) ? null : dto.Description + }; + } + + /// Formate une durée en minutes pour l'affichage. + public static string FormatDuree(int totalMinutes) + { + if (totalMinutes <= 0) + { + return "0 min"; + } + + if (totalMinutes < 60) + { + return $"{totalMinutes} min"; + } + + int heures = totalMinutes / 60; + int minutes = totalMinutes % 60; + return minutes == 0 ? $"{heures} h" : $"{heures} h {minutes:00}"; + } +} diff --git a/src/Omika.App.Local/Models/SuiviTempsDraftDisplayItem.cs b/src/Omika.App.Local/Models/SuiviTempsDraftDisplayItem.cs new file mode 100644 index 0000000..7ff2afa --- /dev/null +++ b/src/Omika.App.Local/Models/SuiviTempsDraftDisplayItem.cs @@ -0,0 +1,105 @@ +using System; +using Omika.App.Local.Infrastructure; +using Omika.Core.Contracts.Planning; + +namespace Omika.App.Local.Models; + +/// +/// Élément d'affichage d'un brouillon de saisie de temps dans la fiche +/// rendez-vous. Porte des libellés déjà formatés (type, période, durée) et l'état +/// de validation (). +/// +public sealed class SuiviTempsDraftDisplayItem +{ + /// Libellé du type de temps (résolu depuis le référentiel). + public string TypeLabel { get; init; } = string.Empty; + + /// Clé métier du type de temps. + public string TypeTempsKey { get; init; } = string.Empty; + + /// Période formatée (date + heures de début et de fin). + public string PeriodeTexte { get; init; } = string.Empty; + + /// Durée formatée (ex. « 1 h 30 »). + public string DureeTexte { get; init; } = string.Empty; + + /// Durée en minutes (pour les totaux). + public int DureeMinutes { get; init; } + + /// Début de la saisie (pour le calcul du total sans double compte des chevauchements). + public DateTime Date { get; init; } + + /// Description / commentaire de la saisie. + public string? Description { get; init; } + + /// Indique si la saisie a déjà été envoyée (rendez-vous validé). + public bool EstEnvoye { get; init; } + + /// Brouillon source (pour l'édition avant validation). + public SuiviTempsDraftEntry? Draft { get; init; } + + /// Construit un élément d'affichage à partir d'un brouillon. + public static SuiviTempsDraftDisplayItem From(SuiviTempsDraftEntry draft, string? typeLabel) + { + string periodeTexte = draft.Date == default + ? string.Empty + : $"{draft.Date:dd/MM/yyyy HH\\:mm} – {draft.Date.AddMinutes(draft.DureeMinutes):HH\\:mm}"; + + return new SuiviTempsDraftDisplayItem + { + TypeLabel = string.IsNullOrWhiteSpace(typeLabel) ? draft.TypeTempsKey : typeLabel, + TypeTempsKey = draft.TypeTempsKey, + PeriodeTexte = periodeTexte, + DureeTexte = FormatDuree(draft.DureeMinutes), + DureeMinutes = draft.DureeMinutes, + Date = draft.Date, + Description = string.IsNullOrWhiteSpace(draft.Description) ? null : draft.Description, + EstEnvoye = draft.EstEnvoye, + Draft = draft + }; + } + + /// + /// Construit un élément d'affichage à partir d'une saisie de temps déjà + /// synchronisée (serveur), sans brouillon local associé. L'état est toujours + /// « envoyé » et le brouillon source est . + /// + public static SuiviTempsDraftDisplayItem FromSynced(SuiviTempsDto dto, string? typeLabel) + { + string typeTempsKey = SuiviTempsConstants.TypeTempsIdentifier(dto.TypeTemps) ?? string.Empty; + string periodeTexte = dto.Date == default + ? string.Empty + : $"{dto.Date:dd/MM/yyyy HH\\:mm} – {dto.Date.AddMinutes(dto.DureeMinutes):HH\\:mm}"; + + return new SuiviTempsDraftDisplayItem + { + TypeLabel = string.IsNullOrWhiteSpace(typeLabel) ? typeTempsKey : typeLabel, + TypeTempsKey = typeTempsKey, + PeriodeTexte = periodeTexte, + DureeTexte = FormatDuree(dto.DureeMinutes), + DureeMinutes = dto.DureeMinutes, + Date = dto.Date, + Description = string.IsNullOrWhiteSpace(dto.Description) ? null : dto.Description, + EstEnvoye = true, + Draft = null + }; + } + + /// Formate une durée en minutes pour l'affichage. + public static string FormatDuree(int totalMinutes) + { + if (totalMinutes <= 0) + { + return "0 min"; + } + + if (totalMinutes < 60) + { + return $"{totalMinutes} min"; + } + + int heures = totalMinutes / 60; + int minutes = totalMinutes % 60; + return minutes == 0 ? $"{heures} h" : $"{heures} h {minutes:00}"; + } +} diff --git a/src/Omika.App.Local/Models/SuiviTempsDraftEntry.cs b/src/Omika.App.Local/Models/SuiviTempsDraftEntry.cs new file mode 100644 index 0000000..d223d12 --- /dev/null +++ b/src/Omika.App.Local/Models/SuiviTempsDraftEntry.cs @@ -0,0 +1,45 @@ +namespace Omika.App.Local.Models; + +/// +/// Brouillon local d'une saisie de temps rattachée à un rendez-vous. +/// +/// Stocké dans une table TECHNIQUE (jamais purgée par un refresh snapshot), +/// contrairement à la table métier SuiviTemps. Une saisie reste donc +/// visible et modifiable tant que le rendez-vous n'a pas été validé, même après +/// une synchronisation. +/// +/// L'unicité (RendezVousId, TypeTempsKey) impose une seule saisie par type de +/// temps et par rendez-vous (règle métier « un type par rendez-vous »). +/// +public sealed class SuiviTempsDraftEntry +{ + /// Identité publique du rendez-vous concerné. + public Guid RendezVousId { get; set; } + + /// Clé métier du type de temps (référentiel ParametreMetier). + public string TypeTempsKey { get; set; } = string.Empty; + + /// Identité publique du collaborateur (l'utilisateur courant). + public Guid? CollaborateurId { get; set; } + + /// Identité publique de l'intervention liée (si présente). + public Guid? InterventionId { get; set; } + + /// Date et heure de début de la saisie. + public DateTime Date { get; set; } + + /// Durée en minutes. + public int DureeMinutes { get; set; } + + /// Description / commentaire (optionnel). + public string? Description { get; set; } + + /// + /// si la saisie a déjà été envoyée (rendez-vous validé), + /// si elle est encore en attente de validation. + /// + public bool EstEnvoye { get; set; } + + /// Date de dernière mise à jour (UTC). + public DateTimeOffset UpdatedAtUtc { get; set; } +} diff --git a/src/Omika.App.Local/Models/SuiviTempsListItem.cs b/src/Omika.App.Local/Models/SuiviTempsListItem.cs new file mode 100644 index 0000000..639a895 --- /dev/null +++ b/src/Omika.App.Local/Models/SuiviTempsListItem.cs @@ -0,0 +1,57 @@ +using System; +using Omika.Core.Contracts.Planning; + +namespace Omika.App.Local.Models; + +/// +/// Élément d'affichage d'un suivi de temps dans la liste mobile. +/// Encapsule le DTO métier local () et l'état de +/// synchronisation réel (Pending / Rejected) issu de l'Outbox. Ne transporte +/// aucun payload JSON brut ni identifiant technique HFSQL. +/// +public sealed class SuiviTempsListItem +{ + public SuiviTempsListItem(SuiviTempsDto dto) + { + Dto = dto; + } + + /// DTO métier local sous-jacent. + public SuiviTempsDto Dto { get; } + + /// Identité publique locale (Guid mobile A). + public Guid SuiviTempsGuid => Guid.TryParse(Dto.Id, out Guid guid) ? guid : Guid.Empty; + + /// Date de la saisie. + public DateTime Date => Dto.Date; + + /// Durée en minutes. + public int DureeMinutes => Dto.DureeMinutes; + + /// Clé métier du type de temps (référentiel ParametreMetier). + public string? TypeTempsKey => Dto.TypeTemps?.Key; + + /// Description / libellé de la saisie. + public string? Description => Dto.Description; + + /// Identité du collaborateur (opaque). + public string? CollaborateurId => Dto.CollaborateurId; + + /// Identité de l'intervention (opaque). + public string? InterventionId => Dto.InterventionId; + + /// Identité du rendez-vous (opaque). + public string? RendezVousId => Dto.RendezVousId; + + /// État de validation métier (lecture seule, géré côté backend). + public bool Valide => Dto.Valide; + + /// Indique si la saisie est en attente de synchronisation (Pending). + public bool IsPendingSync { get; set; } + + /// Indique si la synchronisation a été rejetée (Rejected). + public bool HasSyncError { get; set; } + + /// Message d'erreur de synchronisation (Rejected). + public string? SyncErrorMessage { get; set; } +} diff --git a/src/Omika.App.Local/Models/SyncStateEntry.cs b/src/Omika.App.Local/Models/SyncStateEntry.cs new file mode 100644 index 0000000..18bfa6c --- /dev/null +++ b/src/Omika.App.Local/Models/SyncStateEntry.cs @@ -0,0 +1,17 @@ +namespace Omika.App.Local.Models; + +/// +/// Entrée d'état de synchronisation locale (store clé/valeur technique). +/// Survit au refresh snapshot. Ne contient aucun secret. +/// +public sealed class SyncStateEntry +{ + /// Clé d'état (ex. "LastSyncUtc", "LastSnapshotUtc", "LastSnapshotVersion"). + public string Key { get; set; } = string.Empty; + + /// Valeur d'état (sérialisée). + public string Value { get; set; } = string.Empty; + + /// Date de dernière mise à jour (UTC). + public DateTimeOffset UpdatedAtUtc { get; set; } +} diff --git a/src/Omika.App.Local/Models/UiPreferences.cs b/src/Omika.App.Local/Models/UiPreferences.cs new file mode 100644 index 0000000..7e31456 --- /dev/null +++ b/src/Omika.App.Local/Models/UiPreferences.cs @@ -0,0 +1,25 @@ +namespace Omika.App.Local.Models; + +/// +/// Préférences d'interface utilisateur persistées localement. +/// Ne fait PAS partie des données métier du snapshot : il s'agit d'un réglage +/// d'appareil (thème, couleur principale) qui survit au refresh snapshot. +/// +public sealed class UiPreferences +{ + /// Identifiant unique (toujours 1, ligne unique). + public int Id { get; set; } = 1; + + /// + /// Mode de thème : System, Light ou Dark. + /// + public string ThemeMode { get; set; } = "System"; + + /// + /// Couleur principale (hexadécimale, ex. #4f46e5). + /// + public string PrimaryColor { get; set; } = "#4f46e5"; + + /// Date de dernière mise à jour (UTC). + public DateTimeOffset UpdatedAtUtc { get; set; } +} diff --git a/src/Omika.App.Local/Models/VocabulaireModele.cs b/src/Omika.App.Local/Models/VocabulaireModele.cs new file mode 100644 index 0000000..794b985 --- /dev/null +++ b/src/Omika.App.Local/Models/VocabulaireModele.cs @@ -0,0 +1,143 @@ +using System.Text.Json; + +namespace Omika.App.Local.Models; + +/// +/// Vocabulaire du modèle (vocab.json), distinct du fichier +/// SentencePiece (.spm) qui ne sert qu'à découper le texte. +/// +/// +/// Pourquoi deux fichiers. Un modèle Marian d'OPUS-MT lit et produit des +/// identifiants qui sont ceux de son vocabulaire d'entraînement +/// (vocab.json), alors que le .spm numérote ses pièces dans un +/// ordre qui lui est propre. Les deux numérotations ne coïncident pas : +/// sur opus-mt-es-fr, la pièce ▁Ho vaut 5293 pour le .spm +/// mais 584 pour le modèle, et , vaut 4 contre 3. Envoyer au modèle les +/// identifiants du .spm revient donc à lui faire lire un autre texte : +/// une traduction sans aucun sens, et sans la moindre erreur levée. C'est le +/// défaut le plus coûteux à diagnostiquer, et la raison d'être de cette classe. +/// +/// +/// +/// Le fichier contient en outre les jetons que le .spm ignore +/// complètement : les étiquettes de langue des modèles multilingues +/// (>>fra<<) et les jetons techniques du modèle +/// (<pad> en fin de vocabulaire, sur une ligne d'embedding remplie). +/// +/// +/// +/// Facultatif. Son absence signifie « pack ancien, identifiants +/// SentencePiece » : c'était l'hypothèse de tous les packs exportés avant son +/// introduction, et elle reste la seule exploitable tant que le fichier manque. +/// +/// +public sealed class VocabulaireModele +{ + /// Nom du fichier dans le répertoire d'un sens (vocab.json). + public const string NomFichier = "vocab.json"; + + private static readonly JsonSerializerOptions Options = new() + { + ReadCommentHandling = JsonCommentHandling.Skip, + AllowTrailingCommas = true + }; + + private readonly Dictionary _ids; + private readonly Dictionary _pieces; + + private VocabulaireModele(Dictionary ids) + { + _ids = ids; + + _pieces = new Dictionary(ids.Count); + foreach (KeyValuePair paire in ids) + { + // Un identifiant dupliqué signalerait un vocabulaire incohérent : le + // premier gagne, et l'inverse reste ainsi toujours défini. + _pieces.TryAdd(paire.Value, paire.Key); + } + } + + /// Nombre d'entrées du vocabulaire (lignes d'embedding du modèle). + public int Taille => _ids.Count; + + /// Identifiant du jeton inconnu, ou -1 s'il n'est pas déclaré. + public int IdInconnu => IdDePiece("") ?? -1; + + /// Identifiant du jeton de fin de séquence, ou -1 s'il n'est pas déclaré. + public int IdFin => IdDePiece("
") ?? -1; + + /// + /// Lit un vocabulaire depuis son JSON. signifie + /// « fichier vide ou JSON null », donc absent. + /// + /// JSON illisible ou structure inattendue. + public static VocabulaireModele? DepuisJson(string? json) + { + if (string.IsNullOrWhiteSpace(json)) + { + return null; + } + + Dictionary? lu; + try + { + lu = JsonSerializer.Deserialize>(json, Options); + } + catch (JsonException ex) + { + throw new FormatException("vocabulaire JSON invalide", ex); + } + + return lu is null || lu.Count == 0 ? null : new VocabulaireModele(lu); + } + + /// Identifiant d'une pièce, ou si elle est absente. + public int? IdDePiece(string? piece) + => string.IsNullOrEmpty(piece) ? null : _ids.TryGetValue(piece, out int id) ? id : null; + + /// Pièce associée à un identifiant, ou s'il est hors vocabulaire. + public string? PieceDeId(int id) + => _pieces.TryGetValue(id, out string? piece) ? piece : null; + + /// + /// Traduit des identifiants SentencePiece en identifiants du modèle. Une pièce + /// absente du vocabulaire devient le jeton inconnu du modèle : la position est + /// conservée, ce qui évite de décaler la suite de la phrase. + /// + public IReadOnlyList MapperIdentifiants(IReadOnlyList ids, Func pieceDeId) + { + ArgumentNullException.ThrowIfNull(ids); + ArgumentNullException.ThrowIfNull(pieceDeId); + + var resultat = new List(ids.Count); + foreach (int id in ids) + { + int? mappe = IdDePiece(pieceDeId(id)); + resultat.Add(mappe ?? IdInconnu); + } + + return resultat; + } + + /// + /// Pièces correspondant à des identifiants du modèle. Les identifiants hors + /// vocabulaire sont omis : un décodeur peut produire une ligne de + /// remplissage, qui ne représente aucun texte. + /// + public IReadOnlyList PiecesDeIds(IReadOnlyList ids) + { + ArgumentNullException.ThrowIfNull(ids); + + var pieces = new List(ids.Count); + foreach (int id in ids) + { + if (PieceDeId(id) is { } piece) + { + pieces.Add(piece); + } + } + + return pieces; + } +} diff --git a/src/Omika.App.Local/Omika.App.Local.csproj b/src/Omika.App.Local/Omika.App.Local.csproj new file mode 100644 index 0000000..839212b --- /dev/null +++ b/src/Omika.App.Local/Omika.App.Local.csproj @@ -0,0 +1,24 @@ + + + + net10.0 + enable + enable + Omika.App.Local + + $(DefineConstants);OMIKA_ONNX_RUNTIME + + + + + + + + + + + + + diff --git a/src/Omika.App.Local/Repositories/ClientLocalStateRepository.cs b/src/Omika.App.Local/Repositories/ClientLocalStateRepository.cs new file mode 100644 index 0000000..280aaae --- /dev/null +++ b/src/Omika.App.Local/Repositories/ClientLocalStateRepository.cs @@ -0,0 +1,134 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.App.Local.Sqlite; + +namespace Omika.App.Local.Repositories; + +/// +/// Repository de la préférence locale d'épinglage des clients (table technique +/// ClientLocalState) et de la dernière recherche (ClientLastSearch). +/// Jamais remplacée par un refresh snapshot. +/// +public sealed class ClientLocalStateRepository : IClientLocalStateRepository +{ + private readonly LocalDatabase _database; + + public ClientLocalStateRepository(LocalDatabase database) + { + _database = database; + } + + public async Task> GetPinnedIdsAsync(CancellationToken cancellationToken = default) + { + const string sql = "SELECT \"ClientId\" FROM \"ClientLocalState\""; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + + var result = new List(); + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + result.Add(Guid.Parse(reader.GetString(0))); + } + + return result; + } + + public async Task> GetPinnedItemsAsync(CancellationToken cancellationToken = default) + { + const string sql = "SELECT \"PayloadJson\" FROM \"ClientLocalState\""; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + + var result = new List(); + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + ClientListItem? item = JsonHelper.Deserialize(reader.GetString(0)); + if (item is not null) + { + result.Add(WithPinned(item, true)); + } + } + + return result + .OrderBy(c => c.Nom, StringComparer.OrdinalIgnoreCase) + .ThenBy(c => c.Code, StringComparer.OrdinalIgnoreCase) + .ToList(); + } + + public async Task SetPinnedAsync(Guid clientId, bool isPinned, string payloadJson, CancellationToken cancellationToken = default) + { + if (isPinned) + { + const string sql = """ + INSERT OR REPLACE INTO "ClientLocalState" ("ClientId", "PayloadJson", "UpdatedAtUtc") + VALUES (@Id, @PayloadJson, @UpdatedAtUtc) + """; + await _database.ExecuteNonQueryAsync(sql, + [ + Param("@Id", clientId.ToString()), + Param("@PayloadJson", payloadJson), + Param("@UpdatedAtUtc", DateTimeOffset.UtcNow.ToString("O")) + ], cancellationToken); + } + else + { + const string sql = """DELETE FROM "ClientLocalState" WHERE "ClientId" = @Id"""; + await _database.ExecuteNonQueryAsync(sql, [Param("@Id", clientId.ToString())], cancellationToken); + } + } + + public async Task SaveLastSearchAsync(string payloadJson, CancellationToken cancellationToken = default) + { + const string sql = """ + INSERT OR REPLACE INTO "ClientLastSearch" ("Id", "PayloadJson", "UpdatedAtUtc") + VALUES (1, @PayloadJson, @UpdatedAtUtc) + """; + await _database.ExecuteNonQueryAsync(sql, + [ + Param("@PayloadJson", payloadJson), + Param("@UpdatedAtUtc", DateTimeOffset.UtcNow.ToString("O")) + ], cancellationToken); + } + + public async Task GetLastSearchJsonAsync(CancellationToken cancellationToken = default) + { + const string sql = """SELECT "PayloadJson" FROM "ClientLastSearch" WHERE "Id" = 1"""; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + object? result = await command.ExecuteScalarAsync(cancellationToken); + return result as string; + } + + public async Task ClearLastSearchAsync(CancellationToken cancellationToken = default) + { + const string sql = """DELETE FROM "ClientLastSearch" WHERE "Id" = 1"""; + await _database.ExecuteNonQueryAsync(sql, [], cancellationToken); + } + + private static SqliteParameter Param(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } + + /// Recopie un item de liste avec l'état d'épinglage forcé. + private static ClientListItem WithPinned(ClientListItem item, bool isPinned) + => new() + { + ClientGuid = item.ClientGuid, + Nom = item.Nom, + Code = item.Code, + Type = item.Type, + Statut = item.Statut, + Ville = item.Ville, + CodePostal = item.CodePostal, + Telephone = item.Telephone, + Email = item.Email, + IsPinned = isPinned + }; +} diff --git a/src/Omika.App.Local/Repositories/CompteRenduLocalRepository.cs b/src/Omika.App.Local/Repositories/CompteRenduLocalRepository.cs new file mode 100644 index 0000000..ce09391 --- /dev/null +++ b/src/Omika.App.Local/Repositories/CompteRenduLocalRepository.cs @@ -0,0 +1,80 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; +using Omika.App.Local.Sqlite; + +namespace Omika.App.Local.Repositories; + +/// +/// Repository des comptes rendus locaux (table technique CompteRendu). +/// Lecture/écriture directe SQLite, aucun appel API. +/// +public sealed class CompteRenduLocalRepository : ICompteRenduLocalRepository +{ + private readonly LocalDatabase _database; + + public CompteRenduLocalRepository(LocalDatabase database) + { + ArgumentNullException.ThrowIfNull(database); + _database = database; + } + + /// + public async Task UpsertAsync(LocalCompteRendu compteRendu, CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(compteRendu); + compteRendu.UpdatedAtUtc = DateTimeOffset.UtcNow; + + const string sql = """ + INSERT INTO "CompteRendu" + ("RendezVousId", "PayloadJson", "UpdatedAtUtc") + VALUES + (@RendezVousId, @PayloadJson, @UpdatedAtUtc) + ON CONFLICT("RendezVousId") DO UPDATE SET + "PayloadJson" = excluded."PayloadJson", + "UpdatedAtUtc" = excluded."UpdatedAtUtc"; + """; + + await _database.ExecuteNonQueryAsync(sql, new List + { + P("@RendezVousId", compteRendu.RendezVousId.ToString()), + P("@PayloadJson", compteRendu.PayloadJson), + P("@UpdatedAtUtc", compteRendu.UpdatedAtUtc.ToString("O")) + }, cancellationToken); + } + + /// + public async Task GetByRendezVousAsync( + Guid rendezVousId, CancellationToken cancellationToken = default) + { + const string sql = """ + SELECT * FROM "CompteRendu" + WHERE "RendezVousId" = @RendezVousId + LIMIT 1; + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(P("@RendezVousId", rendezVousId.ToString())); + + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + if (!await reader.ReadAsync(cancellationToken)) + { + return null; + } + + return new LocalCompteRendu + { + RendezVousId = Guid.Parse(reader.GetString(reader.GetOrdinal("RendezVousId"))), + PayloadJson = reader.GetString(reader.GetOrdinal("PayloadJson")), + UpdatedAtUtc = DateTimeOffset.Parse(reader.GetString(reader.GetOrdinal("UpdatedAtUtc"))) + }; + } + + private static SqliteParameter P(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } +} diff --git a/src/Omika.App.Local/Repositories/ContextInterventionCacheRepository.cs b/src/Omika.App.Local/Repositories/ContextInterventionCacheRepository.cs new file mode 100644 index 0000000..0033e80 --- /dev/null +++ b/src/Omika.App.Local/Repositories/ContextInterventionCacheRepository.cs @@ -0,0 +1,170 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Sqlite; +using Omika.Core.Contracts.Interventions; + +namespace Omika.App.Local.Repositories; + +public sealed class ContextInterventionCacheRepository : IContextInterventionCacheRepository +{ + private readonly LocalDatabase _database; + + public ContextInterventionCacheRepository(LocalDatabase database) + { + _database = database; + } + + public async Task GetByContextAsync( + string contextType, + Guid contextId, + CancellationToken cancellationToken = default) + { + ValidateContextType(contextType); + + bool hasCache = await HasStateAsync(contextType, contextId, cancellationToken); + const string sql = """ + SELECT "PayloadJson" + FROM "ContextInterventionCache" + WHERE "ContextType" = @ContextType AND "ContextId" = @ContextId + ORDER BY "SearchOrder" ASC, "InterventionId" ASC + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(Param("@ContextType", contextType)); + command.Parameters.Add(Param("@ContextId", contextId.ToString())); + + var result = new List(); + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + InterventionDetailsDto? dto = JsonHelper.Deserialize(reader.GetString(0)); + if (dto is not null) + { + result.Add(dto); + } + } + + return new ContextInterventionCacheResult(hasCache, result); + } + + public async Task GetByInterventionIdAsync( + Guid interventionId, + CancellationToken cancellationToken = default) + { + const string sql = """ + SELECT "PayloadJson" + FROM "ContextInterventionCache" + WHERE "InterventionId" = @InterventionId + ORDER BY "UpdatedAtUtc" DESC + LIMIT 1 + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(Param("@InterventionId", interventionId.ToString())); + + object? scalar = await command.ExecuteScalarAsync(cancellationToken); + return scalar is string payload + ? JsonHelper.Deserialize(payload) + : null; + } + + public async Task ReplaceAsync( + string contextType, + Guid contextId, + IReadOnlyList interventions, + CancellationToken cancellationToken = default) + { + ValidateContextType(contextType); + + await using SqliteTransaction transaction = await _database.BeginTransactionAsync(cancellationToken); + try + { + string updatedAt = DateTimeOffset.UtcNow.ToString("O"); + await _database.ExecuteNonQueryAsync( + """ + INSERT OR REPLACE INTO "ContextInterventionCacheState" + ("ContextType", "ContextId", "UpdatedAtUtc") + VALUES + (@ContextType, @ContextId, @UpdatedAtUtc) + """, + [ + Param("@ContextType", contextType), + Param("@ContextId", contextId.ToString()), + Param("@UpdatedAtUtc", updatedAt) + ], + cancellationToken); + + await _database.ExecuteNonQueryAsync( + """DELETE FROM "ContextInterventionCache" WHERE "ContextType" = @ContextType AND "ContextId" = @ContextId""", + [Param("@ContextType", contextType), Param("@ContextId", contextId.ToString())], + cancellationToken); + + for (int i = 0; i < interventions.Count; i++) + { + InterventionDetailsDto dto = interventions[i]; + const string sql = """ + INSERT OR REPLACE INTO "ContextInterventionCache" + ("ContextType", "ContextId", "InterventionId", "PayloadJson", "SearchOrder", "UpdatedAtUtc") + VALUES + (@ContextType, @ContextId, @InterventionId, @PayloadJson, @SearchOrder, @UpdatedAtUtc) + """; + + await _database.ExecuteNonQueryAsync(sql, + [ + Param("@ContextType", contextType), + Param("@ContextId", contextId.ToString()), + Param("@InterventionId", dto.Id), + Param("@PayloadJson", JsonHelper.Serialize(dto)), + Param("@SearchOrder", i), + Param("@UpdatedAtUtc", updatedAt) + ], cancellationToken); + } + + await transaction.CommitAsync(cancellationToken); + } + catch + { + await transaction.RollbackAsync(cancellationToken); + throw; + } + } + + private async Task HasStateAsync( + string contextType, + Guid contextId, + CancellationToken cancellationToken) + { + const string sql = """ + SELECT 1 + FROM "ContextInterventionCacheState" + WHERE "ContextType" = @ContextType AND "ContextId" = @ContextId + LIMIT 1 + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(Param("@ContextType", contextType)); + command.Parameters.Add(Param("@ContextId", contextId.ToString())); + + object? scalar = await command.ExecuteScalarAsync(cancellationToken); + return scalar is not null; + } + + private static void ValidateContextType(string contextType) + { + if (!InterventionContextTypes.IsKnown(contextType)) + { + throw new ArgumentOutOfRangeException(nameof(contextType), contextType, "Unknown intervention context type."); + } + } + + private static SqliteParameter Param(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } +} diff --git a/src/Omika.App.Local/Repositories/DocAideRepository.cs b/src/Omika.App.Local/Repositories/DocAideRepository.cs new file mode 100644 index 0000000..d1e030f --- /dev/null +++ b/src/Omika.App.Local/Repositories/DocAideRepository.cs @@ -0,0 +1,151 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; +using Omika.App.Local.Sqlite; + +namespace Omika.App.Local.Repositories; + +/// +/// Repository des entrées d'aide contextuelle mobile, persistées dans la table +/// technique SQLite « DocAide ». Lecture locale uniquement : le contenu est +/// disponible hors connexion. +/// +public sealed class DocAideRepository : IDocAideRepository +{ + private readonly LocalDatabase _database; + + public DocAideRepository(LocalDatabase database) + { + _database = database; + } + + public async Task GetByFenetreAsync(string fenetre, CancellationToken cancellationToken = default) + { + const string sql = "SELECT * FROM \"DocAide\" WHERE \"Fenetre\" = @Fenetre"; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@Fenetre", fenetre)); + + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + if (!await reader.ReadAsync(cancellationToken)) + { + return null; + } + + return ReadEntry(reader); + } + + public async Task> GetAllAsync(CancellationToken cancellationToken = default) + { + const string sql = "SELECT * FROM \"DocAide\" ORDER BY \"Fenetre\""; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + + var result = new List(); + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + result.Add(ReadEntry(reader)); + } + + return result; + } + + public async Task UpsertAsync(DocAideEntry entry, CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(entry); + entry.UpdatedAtUtc = DateTimeOffset.UtcNow; + + const string sql = """ + INSERT INTO "DocAide" ("Fenetre", "Titre", "Contenu", "Tags", "UpdatedAtUtc") + VALUES (@Fenetre, @Titre, @Contenu, @Tags, @UpdatedAtUtc) + ON CONFLICT("Fenetre") + DO UPDATE SET + "Titre" = @Titre, + "Contenu" = @Contenu, + "Tags" = @Tags, + "UpdatedAtUtc" = @UpdatedAtUtc + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@Fenetre", entry.Fenetre)); + command.Parameters.Add(CreateParameter("@Titre", entry.Titre)); + command.Parameters.Add(CreateParameter("@Contenu", entry.Contenu)); + command.Parameters.Add(CreateParameter("@Tags", entry.Tags)); + command.Parameters.Add(CreateParameter("@UpdatedAtUtc", entry.UpdatedAtUtc.ToString("O"))); + await command.ExecuteNonQueryAsync(cancellationToken); + } + + public async Task CountAsync(CancellationToken cancellationToken = default) + { + object? result = await _database.ExecuteScalarAsync("SELECT COUNT(*) FROM \"DocAide\"", cancellationToken); + return Convert.ToInt32(result); + } + + /// + public async Task DeleteExceptAsync( + IReadOnlyCollection fenetres, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(fenetres); + + // Liste vide = aucune référence serveur : ne rien supprimer. C'est le + // garde-fou qui empêche une réponse vide (ou un serveur muet) d'effacer + // toute l'aide locale. + if (fenetres.Count == 0) + { + return 0; + } + + // Paramètres nommés plutôt qu'une liste littérale : les clés viennent du + // serveur, elles ne sont jamais concaténées dans le SQL. + var noms = new List(fenetres.Count); + await using var command = _database.CreateCommand(); + + int index = 0; + foreach (string fenetre in fenetres) + { + if (string.IsNullOrWhiteSpace(fenetre)) + { + continue; + } + + string nom = $"@F{index++}"; + noms.Add(nom); + command.Parameters.Add(CreateParameter(nom, fenetre)); + } + + if (noms.Count == 0) + { + return 0; + } + + command.CommandText = + $"DELETE FROM \"DocAide\" WHERE \"Fenetre\" NOT IN ({string.Join(", ", noms)})"; + + return await command.ExecuteNonQueryAsync(cancellationToken); + } + + private static DocAideEntry ReadEntry(SqliteDataReader reader) + { + return new DocAideEntry + { + Fenetre = reader.GetString(reader.GetOrdinal("Fenetre")), + Titre = reader.GetString(reader.GetOrdinal("Titre")), + Contenu = reader.GetString(reader.GetOrdinal("Contenu")), + Tags = reader.IsDBNull(reader.GetOrdinal("Tags")) ? null : reader.GetString(reader.GetOrdinal("Tags")), + UpdatedAtUtc = DateTimeOffset.Parse(reader.GetString(reader.GetOrdinal("UpdatedAtUtc"))) + }; + } + + /// + /// Crée un paramètre SQLite en gérant correctement les valeurs null. + /// + private static SqliteParameter CreateParameter(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } +} diff --git a/src/Omika.App.Local/Repositories/DocumentCacheRepository.cs b/src/Omika.App.Local/Repositories/DocumentCacheRepository.cs new file mode 100644 index 0000000..4c414bc --- /dev/null +++ b/src/Omika.App.Local/Repositories/DocumentCacheRepository.cs @@ -0,0 +1,118 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; +using Omika.App.Local.Sqlite; + +namespace Omika.App.Local.Repositories; + +/// +/// Repository du cache document local (métadonnées SQLite). +/// +public sealed class DocumentCacheRepository : IDocumentCacheRepository +{ + private readonly LocalDatabase _database; + + public DocumentCacheRepository(LocalDatabase database) + { + _database = database; + } + + public async Task UpsertAsync(DocumentCacheEntry entry, CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(entry); + entry.DownloadedAtUtc = DateTimeOffset.UtcNow; + + const string sql = """ + INSERT INTO "DocumentCache" + ("DocumentGuid", "LocalPath", "NomFichier", "MimeType", "Size", "DownloadedAtUtc", "State") + VALUES + (@DocumentGuid, @LocalPath, @NomFichier, @MimeType, @Size, @DownloadedAtUtc, @State) + ON CONFLICT("DocumentGuid") + DO UPDATE SET + "LocalPath" = @LocalPath, + "NomFichier" = @NomFichier, + "MimeType" = @MimeType, + "Size" = @Size, + "DownloadedAtUtc" = @DownloadedAtUtc, + "State" = @State + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@DocumentGuid", entry.DocumentGuid.ToString())); + command.Parameters.Add(CreateParameter("@LocalPath", entry.LocalPath)); + command.Parameters.Add(CreateParameter("@NomFichier", entry.NomFichier)); + command.Parameters.Add(CreateParameter("@MimeType", entry.MimeType)); + command.Parameters.Add(CreateParameter("@Size", entry.Size)); + command.Parameters.Add(CreateParameter("@DownloadedAtUtc", entry.DownloadedAtUtc.ToString("O"))); + command.Parameters.Add(CreateParameter("@State", (int)entry.State)); + await command.ExecuteNonQueryAsync(cancellationToken); + } + + public async Task GetAsync(Guid documentGuid, CancellationToken cancellationToken = default) + { + const string sql = "SELECT * FROM \"DocumentCache\" WHERE \"DocumentGuid\" = @DocumentGuid"; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@DocumentGuid", documentGuid.ToString())); + + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + if (!await reader.ReadAsync(cancellationToken)) + { + return null; + } + return ReadEntry(reader); + } + + public async Task> GetAllAsync(CancellationToken cancellationToken = default) + { + const string sql = "SELECT * FROM \"DocumentCache\""; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + + var result = new List(); + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + result.Add(ReadEntry(reader)); + } + return result; + } + + public async Task DeleteAsync(Guid documentGuid, CancellationToken cancellationToken = default) + { + const string sql = "DELETE FROM \"DocumentCache\" WHERE \"DocumentGuid\" = @DocumentGuid"; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@DocumentGuid", documentGuid.ToString())); + await command.ExecuteNonQueryAsync(cancellationToken); + } + + /// + /// Crée un paramètre SQLite en gérant correctement les valeurs null. + /// + private static SqliteParameter CreateParameter(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } + + private static DocumentCacheEntry ReadEntry(SqliteDataReader reader) + { + return new DocumentCacheEntry + { + DocumentGuid = Guid.Parse(reader.GetString(reader.GetOrdinal("DocumentGuid"))), + LocalPath = reader.GetString(reader.GetOrdinal("LocalPath")), + NomFichier = reader.IsDBNull(reader.GetOrdinal("NomFichier")) + ? null + : reader.GetString(reader.GetOrdinal("NomFichier")), + MimeType = reader.IsDBNull(reader.GetOrdinal("MimeType")) + ? null + : reader.GetString(reader.GetOrdinal("MimeType")), + Size = reader.GetInt64(reader.GetOrdinal("Size")), + DownloadedAtUtc = DateTimeOffset.Parse(reader.GetString(reader.GetOrdinal("DownloadedAtUtc"))), + State = (DocumentCacheState)reader.GetInt32(reader.GetOrdinal("State")) + }; + } +} diff --git a/src/Omika.App.Local/Repositories/DossierInterventionCacheRepository.cs b/src/Omika.App.Local/Repositories/DossierInterventionCacheRepository.cs new file mode 100644 index 0000000..85174af --- /dev/null +++ b/src/Omika.App.Local/Repositories/DossierInterventionCacheRepository.cs @@ -0,0 +1,92 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Sqlite; +using Omika.Core.Contracts.Interventions; + +namespace Omika.App.Local.Repositories; + +/// +/// Repository du cache contextuel des interventions chargées depuis un dossier +/// (table technique DossierInterventionCache). Jamais remplacée par un +/// refresh snapshot. L'ouverture d'un dossier ne touche pas +/// InterventionCache.IsInLastSearch. +/// +public sealed class DossierInterventionCacheRepository : IDossierInterventionCacheRepository +{ + private readonly LocalDatabase _database; + + public DossierInterventionCacheRepository(LocalDatabase database) + { + _database = database; + } + + public async Task> GetByDossierAsync( + Guid dossierId, + CancellationToken cancellationToken = default) + { + const string sql = """SELECT "PayloadJson" FROM "DossierInterventionCache" WHERE "DossierId" = @Id"""; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(Param("@Id", dossierId.ToString())); + + var result = new List(); + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + InterventionDetailsDto? dto = JsonHelper.Deserialize(reader.GetString(0)); + if (dto is not null) + { + result.Add(dto); + } + } + + return result; + } + + public async Task ReplaceAsync( + Guid dossierId, + IReadOnlyList interventions, + CancellationToken cancellationToken = default) + { + await using SqliteTransaction transaction = await _database.BeginTransactionAsync(cancellationToken); + try + { + await _database.ExecuteNonQueryAsync( + """DELETE FROM "DossierInterventionCache" WHERE "DossierId" = @Id""", + [Param("@Id", dossierId.ToString())], + cancellationToken); + + foreach (InterventionDetailsDto dto in interventions) + { + const string sql = """ + INSERT OR REPLACE INTO "DossierInterventionCache" + ("DossierId", "InterventionId", "PayloadJson", "UpdatedAtUtc") + VALUES + (@DossierId, @InterventionId, @PayloadJson, @UpdatedAtUtc) + """; + await _database.ExecuteNonQueryAsync(sql, + [ + Param("@DossierId", dossierId.ToString()), + Param("@InterventionId", dto.Id), + Param("@PayloadJson", JsonHelper.Serialize(dto)), + Param("@UpdatedAtUtc", DateTimeOffset.UtcNow.ToString("O")) + ], cancellationToken); + } + + await transaction.CommitAsync(cancellationToken); + } + catch + { + await transaction.RollbackAsync(cancellationToken); + throw; + } + } + + private static SqliteParameter Param(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } +} diff --git a/src/Omika.App.Local/Repositories/DossierLocalStateRepository.cs b/src/Omika.App.Local/Repositories/DossierLocalStateRepository.cs new file mode 100644 index 0000000..133ff67 --- /dev/null +++ b/src/Omika.App.Local/Repositories/DossierLocalStateRepository.cs @@ -0,0 +1,140 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.App.Local.Sqlite; + +namespace Omika.App.Local.Repositories; + +/// +/// Repository de la préférence locale d'épinglage des dossiers (table technique +/// DossierLocalState). Jamais remplacée par un refresh snapshot. +/// +public sealed class DossierLocalStateRepository : IDossierLocalStateRepository +{ + private readonly LocalDatabase _database; + + public DossierLocalStateRepository(LocalDatabase database) + { + _database = database; + } + + public async Task> GetPinnedIdsAsync(CancellationToken cancellationToken = default) + { + const string sql = """SELECT "DossierId" FROM "DossierLocalState" WHERE "IsPinned" = 1"""; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + + var result = new List(); + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + result.Add(Guid.Parse(reader.GetString(0))); + } + + return result; + } + + public async Task> GetPinnedItemsAsync(CancellationToken cancellationToken = default) + { + const string sql = """SELECT "PayloadJson" FROM "DossierLocalState" WHERE "IsPinned" = 1"""; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + + var result = new List(); + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + DossierListItem? item = JsonHelper.Deserialize(reader.GetString(0)); + if (item is not null) + { + result.Add(WithPinned(item, true)); + } + } + + return result + .OrderBy(d => d.Titre, StringComparer.OrdinalIgnoreCase) + .ThenBy(d => d.Reference, StringComparer.OrdinalIgnoreCase) + .ToList(); + } + + public async Task SetPinnedAsync( + Guid dossierId, + bool isPinned, + string payloadJson, + CancellationToken cancellationToken = default) + { + if (isPinned) + { + const string sql = """ + INSERT OR REPLACE INTO "DossierLocalState" ("DossierId", "PayloadJson", "IsPinned", "UpdatedAtUtc") + VALUES (@Id, @PayloadJson, 1, @UpdatedAtUtc) + """; + await _database.ExecuteNonQueryAsync(sql, + [ + Param("@Id", dossierId.ToString()), + Param("@PayloadJson", payloadJson), + Param("@UpdatedAtUtc", DateTimeOffset.UtcNow.ToString("O")) + ], cancellationToken); + } + else + { + const string sql = """DELETE FROM "DossierLocalState" WHERE "DossierId" = @Id"""; + await _database.ExecuteNonQueryAsync(sql, [Param("@Id", dossierId.ToString())], cancellationToken); + } + } + + public async Task SaveLastSearchAsync(string payloadJson, CancellationToken cancellationToken = default) + { + const string sql = """ + INSERT OR REPLACE INTO "DossierLastSearch" ("Id", "PayloadJson", "UpdatedAtUtc") + VALUES (1, @PayloadJson, @UpdatedAtUtc) + """; + await _database.ExecuteNonQueryAsync(sql, + [ + Param("@PayloadJson", payloadJson), + Param("@UpdatedAtUtc", DateTimeOffset.UtcNow.ToString("O")) + ], cancellationToken); + } + + public async Task GetLastSearchJsonAsync(CancellationToken cancellationToken = default) + { + const string sql = """SELECT "PayloadJson" FROM "DossierLastSearch" WHERE "Id" = 1"""; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + object? result = await command.ExecuteScalarAsync(cancellationToken); + return result as string; + } + + public async Task ClearLastSearchAsync(CancellationToken cancellationToken = default) + { + const string sql = """DELETE FROM "DossierLastSearch" WHERE "Id" = 1"""; + await _database.ExecuteNonQueryAsync(sql, [], cancellationToken); + } + + private static SqliteParameter Param(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } + + /// Recopie un item de liste avec l'état d'épinglage forcé. + private static DossierListItem WithPinned(DossierListItem item, bool isPinned) + => new() + { + DossierGuid = item.DossierGuid, + Reference = item.Reference, + RefInterne = item.RefInterne, + RefExterne = item.RefExterne, + Titre = item.Titre, + Statut = item.Statut, + Type = item.Type, + DateOuverture = item.DateOuverture, + EstArchive = item.EstArchive, + NbInterventionsNonArchivees = item.NbInterventionsNonArchivees, + ClientNom = item.ClientNom, + SiteNom = item.SiteNom, + IsPinned = isPinned + }; +} diff --git a/src/Omika.App.Local/Repositories/EmailInterventionLocalRepository.cs b/src/Omika.App.Local/Repositories/EmailInterventionLocalRepository.cs new file mode 100644 index 0000000..2c7d095 --- /dev/null +++ b/src/Omika.App.Local/Repositories/EmailInterventionLocalRepository.cs @@ -0,0 +1,116 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.App.Local.Sqlite; + +namespace Omika.App.Local.Repositories; + +/// +/// Repository des courriels locaux (table technique EmailIntervention). +/// Lecture/écriture directe SQLite, aucun appel API. +/// +public sealed class EmailInterventionLocalRepository : IEmailInterventionLocalRepository +{ + private readonly LocalDatabase _database; + + public EmailInterventionLocalRepository(LocalDatabase database) + { + ArgumentNullException.ThrowIfNull(database); + _database = database; + } + + /// + public async Task UpsertAsync(LocalEmailIntervention email, CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(email); + email.UpdatedAtUtc = DateTimeOffset.UtcNow; + + const string sql = """ + INSERT INTO "EmailIntervention" + ("Id", "InterventionId", "PayloadJson", "UpdatedAtUtc") + VALUES + (@Id, @InterventionId, @PayloadJson, @UpdatedAtUtc) + ON CONFLICT("Id") DO UPDATE SET + "InterventionId" = excluded."InterventionId", + "PayloadJson" = excluded."PayloadJson", + "UpdatedAtUtc" = excluded."UpdatedAtUtc"; + """; + + await _database.ExecuteNonQueryAsync(sql, new List + { + P("@Id", email.Id.ToString()), + P("@InterventionId", email.InterventionId.ToString()), + P("@PayloadJson", email.PayloadJson), + P("@UpdatedAtUtc", email.UpdatedAtUtc.ToString("O")) + }, cancellationToken); + } + + /// + public async Task> GetByInterventionAsync( + Guid interventionId, CancellationToken cancellationToken = default) + { + const string sql = """ + SELECT * FROM "EmailIntervention" + WHERE "InterventionId" = @InterventionId + ORDER BY "UpdatedAtUtc"; + """; + + return await QueryListAsync( + sql, [P("@InterventionId", interventionId.ToString())], cancellationToken); + } + + /// + public async Task DeleteByInterventionAsync(Guid interventionId, CancellationToken cancellationToken = default) + { + const string sql = """DELETE FROM "EmailIntervention" WHERE "InterventionId" = @InterventionId;"""; + await _database.ExecuteNonQueryAsync(sql, new List + { + P("@InterventionId", interventionId.ToString()) + }, cancellationToken); + } + + /// + public async Task DeleteAllAsync(CancellationToken cancellationToken = default) + { + await _database.ExecuteNonQueryAsync("DELETE FROM \"EmailIntervention\"", cancellationToken); + } + + private async Task> QueryListAsync( + string sql, IReadOnlyList parameters, CancellationToken cancellationToken) + { + await using var command = _database.CreateCommand(); + command.CommandText = sql; + foreach (SqliteParameter parameter in parameters) + { + command.Parameters.Add(parameter); + } + + var result = new List(); + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + result.Add(ReadEmail(reader)); + } + + return result; + } + + private static LocalEmailIntervention ReadEmail(SqliteDataReader reader) + { + return new LocalEmailIntervention + { + Id = Guid.Parse(reader.GetString(reader.GetOrdinal("Id"))), + InterventionId = Guid.Parse(reader.GetString(reader.GetOrdinal("InterventionId"))), + PayloadJson = reader.GetString(reader.GetOrdinal("PayloadJson")), + UpdatedAtUtc = DateTimeOffset.Parse(reader.GetString(reader.GetOrdinal("UpdatedAtUtc"))) + }; + } + + private static SqliteParameter P(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } +} diff --git a/src/Omika.App.Local/Repositories/IdentityMappingRepository.cs b/src/Omika.App.Local/Repositories/IdentityMappingRepository.cs new file mode 100644 index 0000000..d5ef65b --- /dev/null +++ b/src/Omika.App.Local/Repositories/IdentityMappingRepository.cs @@ -0,0 +1,105 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; +using Omika.App.Local.Sqlite; + +namespace Omika.App.Local.Repositories; + +/// +/// Repository de la table de correspondance d'identités. +/// +public sealed class IdentityMappingRepository : IIdentityMappingRepository +{ + private readonly LocalDatabase _database; + + public IdentityMappingRepository(LocalDatabase database) + { + _database = database; + } + + public async Task UpsertAsync(IdentityMapping mapping, CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(mapping); + mapping.CreatedAtUtc = DateTimeOffset.UtcNow; + + const string sql = """ + INSERT INTO "IdentityMapping" + ("EntityType", "RequestedEntityGuid", "CanonicalEntityGuid", "CreatedAtUtc") + VALUES + (@EntityType, @RequestedEntityGuid, @CanonicalEntityGuid, @CreatedAtUtc) + ON CONFLICT("EntityType", "RequestedEntityGuid") + DO UPDATE SET + "CanonicalEntityGuid" = @CanonicalEntityGuid, + "CreatedAtUtc" = @CreatedAtUtc + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@EntityType", mapping.EntityType)); + command.Parameters.Add(CreateParameter("@RequestedEntityGuid", mapping.RequestedEntityGuid.ToString())); + command.Parameters.Add(CreateParameter("@CanonicalEntityGuid", mapping.CanonicalEntityGuid.ToString())); + command.Parameters.Add(CreateParameter("@CreatedAtUtc", mapping.CreatedAtUtc.ToString("O"))); + await command.ExecuteNonQueryAsync(cancellationToken); + } + + public async Task GetAsync( + string entityType, + Guid requestedGuid, + CancellationToken cancellationToken = default) + { + const string sql = """ + SELECT * FROM "IdentityMapping" + WHERE "EntityType" = @EntityType AND "RequestedEntityGuid" = @RequestedEntityGuid + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@EntityType", entityType)); + command.Parameters.Add(CreateParameter("@RequestedEntityGuid", requestedGuid.ToString())); + + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + if (!await reader.ReadAsync(cancellationToken)) + { + return null; + } + + return new IdentityMapping + { + EntityType = reader.GetString(reader.GetOrdinal("EntityType")), + RequestedEntityGuid = Guid.Parse(reader.GetString(reader.GetOrdinal("RequestedEntityGuid"))), + CanonicalEntityGuid = Guid.Parse(reader.GetString(reader.GetOrdinal("CanonicalEntityGuid"))), + CreatedAtUtc = DateTimeOffset.Parse(reader.GetString(reader.GetOrdinal("CreatedAtUtc"))) + }; + } + + public async Task ExistsAsync( + string entityType, + Guid requestedGuid, + CancellationToken cancellationToken = default) + { + const string sql = """ + SELECT COUNT(*) FROM "IdentityMapping" + WHERE "EntityType" = @EntityType AND "RequestedEntityGuid" = @RequestedEntityGuid + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@EntityType", entityType)); + command.Parameters.Add(CreateParameter("@RequestedEntityGuid", requestedGuid.ToString())); + + object? result = await command.ExecuteScalarAsync(cancellationToken); + return Convert.ToInt32(result) > 0; + } + + /// + /// Crée un paramètre SQLite en gérant correctement les valeurs null. + /// Le constructeur SqliteParameter(string, object) ne définit pas + /// correctement la propriété Value : on la définit explicitement. + /// + private static SqliteParameter CreateParameter(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } +} diff --git a/src/Omika.App.Local/Repositories/InterventionCacheRepository.cs b/src/Omika.App.Local/Repositories/InterventionCacheRepository.cs new file mode 100644 index 0000000..9aa962e --- /dev/null +++ b/src/Omika.App.Local/Repositories/InterventionCacheRepository.cs @@ -0,0 +1,173 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; +using Omika.App.Local.Sqlite; + +namespace Omika.App.Local.Repositories; + +/// +/// Repository du cache local des interventions (dernière recherche + favoris). +/// La table InterventionCache est technique : jamais remplacée par un +/// refresh snapshot. Le flag favori reste strictement local au terminal. +/// +public sealed class InterventionCacheRepository : IInterventionCacheRepository +{ + private readonly LocalDatabase _database; + + public InterventionCacheRepository(LocalDatabase database) + { + _database = database; + } + + public async Task UpsertAsync(CachedIntervention entity, CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(entity); + entity.UpdatedAtUtc = DateTimeOffset.UtcNow; + + const string sql = """ + INSERT OR REPLACE INTO "InterventionCache" + ("Id", "PayloadJson", "IsPinned", "IsInLastSearch", "SearchOrder", + "NbRendezVous", "SiteNom", "SiteAddressDisplay", "ClientNom", "ContactNom", "UpdatedAtUtc") + VALUES + (@Id, @PayloadJson, @IsPinned, @IsInLastSearch, @SearchOrder, + @NbRendezVous, @SiteNom, @SiteAddressDisplay, @ClientNom, @ContactNom, @UpdatedAtUtc) + """; + + await _database.ExecuteNonQueryAsync(sql, + [ + Param("@Id", entity.Id.ToString()), + Param("@PayloadJson", entity.PayloadJson), + Param("@IsPinned", entity.IsPinned ? 1 : 0), + Param("@IsInLastSearch", entity.IsInLastSearch ? 1 : 0), + Param("@SearchOrder", entity.SearchOrder), + Param("@NbRendezVous", entity.NbRendezVous), + Param("@SiteNom", entity.SiteNom), + Param("@SiteAddressDisplay", entity.SiteAddressDisplay), + Param("@ClientNom", entity.ClientNom), + Param("@ContactNom", entity.ContactNom), + Param("@UpdatedAtUtc", entity.UpdatedAtUtc.ToString("O")) + ], cancellationToken); + } + + public async Task GetByIdAsync(Guid id, CancellationToken cancellationToken = default) + { + const string sql = """SELECT * FROM "InterventionCache" WHERE "Id" = @Id"""; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(Param("@Id", id.ToString())); + + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + return await reader.ReadAsync(cancellationToken) ? Read(reader) : null; + } + + public async Task> GetLastSearchAsync(CancellationToken cancellationToken = default) + { + const string sql = """ + SELECT * FROM "InterventionCache" + WHERE "IsInLastSearch" = 1 + ORDER BY "SearchOrder" ASC + """; + return await QueryAsync(sql, [], cancellationToken); + } + + public async Task> GetPinnedAsync(CancellationToken cancellationToken = default) + { + const string sql = """ + SELECT * FROM "InterventionCache" + WHERE "IsPinned" = 1 + ORDER BY "UpdatedAtUtc" DESC + """; + return await QueryAsync(sql, [], cancellationToken); + } + + public async Task> GetPinnedIdsAsync(CancellationToken cancellationToken = default) + { + const string sql = """SELECT "Id" FROM "InterventionCache" WHERE "IsPinned" = 1"""; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + + var result = new List(); + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + result.Add(Guid.Parse(reader.GetString(reader.GetOrdinal("Id")))); + } + return result; + } + + public async Task DeleteAsync(Guid id, CancellationToken cancellationToken = default) + { + const string sql = """DELETE FROM "InterventionCache" WHERE "Id" = @Id"""; + await _database.ExecuteNonQueryAsync(sql, [Param("@Id", id.ToString())], cancellationToken); + } + + public async Task DeleteOrphansAsync(CancellationToken cancellationToken = default) + { + const string sql = """DELETE FROM "InterventionCache" WHERE "IsPinned" = 0 AND "IsInLastSearch" = 0"""; + return await _database.ExecuteNonQueryAsync(sql, cancellationToken); + } + + public async Task ClearLastSearchAsync(CancellationToken cancellationToken = default) + { + const string sql = """UPDATE "InterventionCache" SET "IsInLastSearch" = 0, "SearchOrder" = NULL WHERE "IsInLastSearch" = 1"""; + return await _database.ExecuteNonQueryAsync(sql, cancellationToken); + } + + public async Task CountAsync(CancellationToken cancellationToken = default) + { + object? result = await _database.ExecuteScalarAsync("SELECT COUNT(*) FROM InterventionCache", cancellationToken); + return Convert.ToInt32(result); + } + + private async Task> QueryAsync( + string sql, + IEnumerable parameters, + CancellationToken cancellationToken) + { + await using var command = _database.CreateCommand(); + command.CommandText = sql; + foreach (SqliteParameter parameter in parameters) + { + command.Parameters.Add(parameter); + } + + var result = new List(); + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + result.Add(Read(reader)); + } + return result; + } + + private static CachedIntervention Read(SqliteDataReader reader) + { + return new CachedIntervention + { + Id = Guid.Parse(reader.GetString(reader.GetOrdinal("Id"))), + PayloadJson = reader.GetString(reader.GetOrdinal("PayloadJson")), + IsPinned = reader.GetInt64(reader.GetOrdinal("IsPinned")) != 0, + IsInLastSearch = reader.GetInt64(reader.GetOrdinal("IsInLastSearch")) != 0, + SearchOrder = reader.IsDBNull(reader.GetOrdinal("SearchOrder")) ? null : checked((int)reader.GetInt64(reader.GetOrdinal("SearchOrder"))), + NbRendezVous = checked((int)reader.GetInt64(reader.GetOrdinal("NbRendezVous"))), + SiteNom = ReadNullableString(reader, "SiteNom"), + SiteAddressDisplay = ReadNullableString(reader, "SiteAddressDisplay"), + ClientNom = ReadNullableString(reader, "ClientNom"), + ContactNom = ReadNullableString(reader, "ContactNom"), + UpdatedAtUtc = DateTimeOffset.Parse(reader.GetString(reader.GetOrdinal("UpdatedAtUtc"))) + }; + } + + private static string? ReadNullableString(SqliteDataReader reader, string column) + { + int ordinal = reader.GetOrdinal(column); + return reader.IsDBNull(ordinal) ? null : reader.GetString(ordinal); + } + + private static SqliteParameter Param(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } +} diff --git a/src/Omika.App.Local/Repositories/LocalBootstrapRepository.cs b/src/Omika.App.Local/Repositories/LocalBootstrapRepository.cs new file mode 100644 index 0000000..a87b060 --- /dev/null +++ b/src/Omika.App.Local/Repositories/LocalBootstrapRepository.cs @@ -0,0 +1,179 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.App.Local.Sqlite; +using Omika.Core.Contracts.Common; +using Omika.Core.Contracts.Configuration; +using Omika.Core.Contracts.Mobile.Bootstrap; +using Omika.Core.Contracts.Mobile.License; +using Omika.Core.Contracts.Organisation; +using Omika.Core.Contracts.Security; + +namespace Omika.App.Local.Repositories; + +/// +/// Repository de l'état de bootstrap local (profil, droits, licence, +/// configuration, paramètres métier). Survit au refresh snapshot. +/// +public sealed class LocalBootstrapRepository : ILocalBootstrapRepository +{ + private readonly LocalDatabase _database; + + public LocalBootstrapRepository(LocalDatabase database) + { + _database = database; + } + + public async Task SaveAsync(LocalBootstrapState state, CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(state); + state.UpdatedAtUtc = DateTimeOffset.UtcNow; + + const string sql = """ + INSERT INTO "LocalBootstrap" + ("Id", "UtilisateurJson", "CollaborateurJson", "ProfilJson", "DroitsJson", + "ConfigurationJson", "LicenceJson", "ParametresMetierJson", + "EquipesJson", "CollaborateursJson", "CollaborateursAutorisesJson", + "LastLicenseValidationUtc", "UpdatedAtUtc") + VALUES + (1, @UtilisateurJson, @CollaborateurJson, @ProfilJson, @DroitsJson, + @ConfigurationJson, @LicenceJson, @ParametresMetierJson, + @EquipesJson, @CollaborateursJson, @CollaborateursAutorisesJson, + @LastLicenseValidationUtc, @UpdatedAtUtc) + ON CONFLICT("Id") + DO UPDATE SET + "UtilisateurJson" = @UtilisateurJson, + "CollaborateurJson" = @CollaborateurJson, + "ProfilJson" = @ProfilJson, + "DroitsJson" = @DroitsJson, + "ConfigurationJson" = @ConfigurationJson, + "LicenceJson" = @LicenceJson, + "ParametresMetierJson" = @ParametresMetierJson, + "EquipesJson" = @EquipesJson, + "CollaborateursJson" = @CollaborateursJson, + "CollaborateursAutorisesJson" = @CollaborateursAutorisesJson, + "LastLicenseValidationUtc" = @LastLicenseValidationUtc, + "UpdatedAtUtc" = @UpdatedAtUtc + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@UtilisateurJson", state.Utilisateur is null ? null : JsonHelper.Serialize(state.Utilisateur))); + command.Parameters.Add(CreateParameter("@CollaborateurJson", state.Collaborateur is null ? null : JsonHelper.Serialize(state.Collaborateur))); + command.Parameters.Add(CreateParameter("@ProfilJson", state.Profil is null ? null : JsonHelper.Serialize(state.Profil))); + command.Parameters.Add(CreateParameter("@DroitsJson", state.Droits.Count == 0 ? null : JsonHelper.Serialize(state.Droits))); + command.Parameters.Add(CreateParameter("@ConfigurationJson", state.Configuration is null ? null : JsonHelper.Serialize(state.Configuration))); + command.Parameters.Add(CreateParameter("@LicenceJson", state.Licence is null ? null : JsonHelper.Serialize(state.Licence))); + command.Parameters.Add(CreateParameter("@ParametresMetierJson", state.ParametresMetier.Count == 0 ? null : JsonHelper.Serialize(state.ParametresMetier))); + command.Parameters.Add(CreateParameter("@EquipesJson", state.Equipes.Count == 0 ? null : JsonHelper.Serialize(state.Equipes))); + command.Parameters.Add(CreateParameter("@CollaborateursJson", state.Collaborateurs.Count == 0 ? null : JsonHelper.Serialize(state.Collaborateurs))); + command.Parameters.Add(CreateParameter("@CollaborateursAutorisesJson", state.CollaborateursAutorises.Count == 0 ? null : JsonHelper.Serialize(state.CollaborateursAutorises))); + command.Parameters.Add(CreateParameter("@LastLicenseValidationUtc", state.LastLicenseValidationUtc?.ToString("O"))); + command.Parameters.Add(CreateParameter("@UpdatedAtUtc", state.UpdatedAtUtc.ToString("O"))); + await command.ExecuteNonQueryAsync(cancellationToken); + + } + + public async Task GetAsync(CancellationToken cancellationToken = default) + { + const string sql = "SELECT * FROM \"LocalBootstrap\" WHERE \"Id\" = 1"; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + if (!await reader.ReadAsync(cancellationToken)) + { + return null; + } + + var state = new LocalBootstrapState + { + Utilisateur = ReadJson(reader, "UtilisateurJson"), + Collaborateur = ReadJson(reader, "CollaborateurJson"), + Profil = ReadJson(reader, "ProfilJson"), + Droits = ReadJsonRights(reader, "DroitsJson"), + Configuration = ReadJson(reader, "ConfigurationJson"), + Licence = ReadJson(reader, "LicenceJson"), + ParametresMetier = ReadJsonList(reader, "ParametresMetierJson"), + Equipes = ReadJsonList(reader, "EquipesJson"), + Collaborateurs = ReadJsonList(reader, "CollaborateursJson"), + CollaborateursAutorises = ReadJsonList(reader, "CollaborateursAutorisesJson"), + LastLicenseValidationUtc = ReadNullableDateTimeOffset(reader, "LastLicenseValidationUtc"), + UpdatedAtUtc = DateTimeOffset.Parse(reader.GetString(reader.GetOrdinal("UpdatedAtUtc"))) + }; + + // Migration des installations existantes : sans date de validation licence + // persistée, on l'initialise UNE SEULE FOIS depuis UpdatedAtUtc (même fenêtre + // qu'avant la mise à jour, donc aucun QR subit). Ensuite UpdatedAtUtc ne sert + // plus jamais au calcul de grace. + if (state.Licence is not null && state.LastLicenseValidationUtc is null) + { + state.LastLicenseValidationUtc = state.UpdatedAtUtc; + await UpdateLastLicenseValidationAsync(state.UpdatedAtUtc, cancellationToken); + } + + return state; + } + + private async Task UpdateLastLicenseValidationAsync( + DateTimeOffset value, + CancellationToken cancellationToken) + { + const string sql = "UPDATE \"LocalBootstrap\" SET \"LastLicenseValidationUtc\" = @Value WHERE \"Id\" = 1"; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@Value", value.ToString("O"))); + await command.ExecuteNonQueryAsync(cancellationToken); + } + + private static DateTimeOffset? ReadNullableDateTimeOffset(SqliteDataReader reader, string column) + { + int ordinal = reader.GetOrdinal(column); + return reader.IsDBNull(ordinal) + ? null + : DateTimeOffset.Parse(reader.GetString(ordinal)); + } + + /// + /// Crée un paramètre SQLite en gérant correctement les valeurs null. + /// + private static SqliteParameter CreateParameter(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } + + private static T? ReadJson(SqliteDataReader reader, string column) + + { + int ordinal = reader.GetOrdinal(column); + if (reader.IsDBNull(ordinal)) + { + return default; + } + return JsonHelper.Deserialize(reader.GetString(ordinal)); + } + + private static IReadOnlyList ReadJsonList(SqliteDataReader reader, string column) + { + int ordinal = reader.GetOrdinal(column); + if (reader.IsDBNull(ordinal)) + { + return []; + } + return JsonHelper.Deserialize>(reader.GetString(ordinal)) ?? []; + } + + private static IReadOnlyDictionary ReadJsonRights(SqliteDataReader reader, string column) + { + int ordinal = reader.GetOrdinal(column); + if (reader.IsDBNull(ordinal)) + { + return new Dictionary(); + } + return JsonHelper.Deserialize>(reader.GetString(ordinal)) + ?? new Dictionary(); + } +} diff --git a/src/Omika.App.Local/Repositories/LocalRepository.cs b/src/Omika.App.Local/Repositories/LocalRepository.cs new file mode 100644 index 0000000..46936be --- /dev/null +++ b/src/Omika.App.Local/Repositories/LocalRepository.cs @@ -0,0 +1,146 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.App.Local.Sqlite; + +namespace Omika.App.Local.Repositories; + +/// +/// Repository générique des entités métier locales. +/// Chaque entité est stockée avec son identité publique (PK), ses colonnes de +/// référence typées et le DTO complet en JSON. +/// +/// Type d'entité locale. +public sealed class LocalRepository : ILocalRepository + where TEntity : LocalEntityBase, new() +{ + private readonly LocalDatabase _database; + private readonly string _tableName; + private readonly IReadOnlyList _referenceColumns; + + public LocalRepository(LocalDatabase database, string tableName, IReadOnlyList referenceColumns) + { + ArgumentNullException.ThrowIfNull(database); + ArgumentException.ThrowIfNullOrWhiteSpace(tableName); + _database = database; + _tableName = tableName; + _referenceColumns = referenceColumns ?? []; + } + + public string TableName => _tableName; + + public async Task UpsertAsync(TEntity entity, CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(entity); + entity.UpdatedAtUtc = DateTimeOffset.UtcNow; + + var columns = new List { "Id", "PayloadJson", "UpdatedAtUtc" }; + var values = new List { "@Id", "@PayloadJson", "@UpdatedAtUtc" }; + var parameters = new List + { + CreateParameter("@Id", entity.Id.ToString()), + CreateParameter("@PayloadJson", entity.PayloadJson), + CreateParameter("@UpdatedAtUtc", entity.UpdatedAtUtc.ToString("O")) + }; + + foreach (string column in _referenceColumns) + { + Guid? value = ReferenceColumnMapper.GetReferenceValue(entity, column); + columns.Add(column); + values.Add($"@{column}"); + var parameter = new SqliteParameter { ParameterName = $"@{column}" }; + parameter.Value = value?.ToString() ?? (object)DBNull.Value; + parameters.Add(parameter); + } + + + string sql = $"INSERT OR REPLACE INTO \"{_tableName}\" ({string.Join(", ", columns.Select(c => $"\"{c}\""))}) " + + $"VALUES ({string.Join(", ", values)})"; + + await _database.ExecuteNonQueryAsync(sql, parameters, cancellationToken); + } + + public async Task GetByIdAsync(Guid id, CancellationToken cancellationToken = default) + { + string sql = $"SELECT * FROM \"{_tableName}\" WHERE \"Id\" = @Id"; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@Id", id.ToString())); + + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + if (!await reader.ReadAsync(cancellationToken)) + { + return null; + } + return ReadEntity(reader); + } + + public async Task> GetAllAsync(CancellationToken cancellationToken = default) + { + string sql = $"SELECT * FROM \"{_tableName}\""; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + + var result = new List(); + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + result.Add(ReadEntity(reader)); + } + return result; + } + + public async Task DeleteAsync(Guid id, CancellationToken cancellationToken = default) + { + string sql = $"DELETE FROM \"{_tableName}\" WHERE \"Id\" = @Id"; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@Id", id.ToString())); + await command.ExecuteNonQueryAsync(cancellationToken); + } + + public async Task ClearAsync(CancellationToken cancellationToken = default) + { + await _database.ExecuteNonQueryAsync($"DELETE FROM \"{_tableName}\"", cancellationToken); + } + + public async Task CountAsync(CancellationToken cancellationToken = default) + { + object? result = await _database.ExecuteScalarAsync($"SELECT COUNT(*) FROM \"{_tableName}\"", cancellationToken); + return Convert.ToInt32(result); + } + + private TEntity ReadEntity(SqliteDataReader reader) + { + var entity = new TEntity + { + Id = Guid.Parse(reader.GetString(reader.GetOrdinal("Id"))), + PayloadJson = reader.GetString(reader.GetOrdinal("PayloadJson")), + UpdatedAtUtc = DateTimeOffset.Parse(reader.GetString(reader.GetOrdinal("UpdatedAtUtc"))) + }; + + foreach (string column in _referenceColumns) + { + int ordinal = reader.GetOrdinal(column); + if (!reader.IsDBNull(ordinal)) + { + ReferenceColumnMapper.SetReferenceValue(entity, column, Guid.Parse(reader.GetString(ordinal))); + } + } + + return entity; + } + + /// + /// Crée un paramètre SQLite en gérant correctement les valeurs null. + /// Le constructeur SqliteParameter(string, object) ne définit pas + /// correctement la propriété Value : on la définit explicitement. + /// + private static SqliteParameter CreateParameter(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } +} diff --git a/src/Omika.App.Local/Repositories/MobileEnrollmentStore.cs b/src/Omika.App.Local/Repositories/MobileEnrollmentStore.cs new file mode 100644 index 0000000..eeb5bea --- /dev/null +++ b/src/Omika.App.Local/Repositories/MobileEnrollmentStore.cs @@ -0,0 +1,73 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.App.Local.Sqlite; + +namespace Omika.App.Local.Repositories; + +/// +/// Stockage SQLite de la configuration d'inscription (ligne singleton Id = 1). +/// Générée dynamiquement après inscription ; jamais embarquée avec l'application. +/// +public sealed class MobileEnrollmentStore : IMobileEnrollmentStore +{ + private readonly LocalDatabase _database; + + public MobileEnrollmentStore(LocalDatabase database) + { + _database = database; + } + + public async Task SaveAsync(MobileEnrollmentConfiguration configuration, CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(configuration); + + const string sql = """ + INSERT INTO "MobileEnrollment" ("Id", "PayloadJson", "UpdatedAtUtc") + VALUES (1, @PayloadJson, @UpdatedAtUtc) + ON CONFLICT("Id") DO UPDATE SET + "PayloadJson" = @PayloadJson, + "UpdatedAtUtc" = @UpdatedAtUtc + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@PayloadJson", JsonHelper.Serialize(configuration))); + command.Parameters.Add(CreateParameter("@UpdatedAtUtc", DateTimeOffset.UtcNow.ToString("O"))); + await command.ExecuteNonQueryAsync(cancellationToken); + } + + public async Task LoadAsync(CancellationToken cancellationToken = default) + { + const string sql = "SELECT \"PayloadJson\" FROM \"MobileEnrollment\" WHERE \"Id\" = 1"; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + if (!await reader.ReadAsync(cancellationToken)) + { + return null; + } + + if (reader.IsDBNull(0)) + { + return null; + } + + return JsonHelper.Deserialize(reader.GetString(0)); + } + + public async Task ClearAsync(CancellationToken cancellationToken = default) + { + await _database.ExecuteNonQueryAsync( + "DELETE FROM \"MobileEnrollment\" WHERE \"Id\" = 1", cancellationToken); + } + + private static SqliteParameter CreateParameter(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } +} diff --git a/src/Omika.App.Local/Repositories/NoteDocumentLocalRepository.cs b/src/Omika.App.Local/Repositories/NoteDocumentLocalRepository.cs new file mode 100644 index 0000000..289316c --- /dev/null +++ b/src/Omika.App.Local/Repositories/NoteDocumentLocalRepository.cs @@ -0,0 +1,149 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.App.Local.Sqlite; + +namespace Omika.App.Local.Repositories; + +/// +/// Repository des notes de documents / photos locales (table technique +/// NoteDocument). Lecture/écriture directe SQLite, aucun appel API. +/// +public sealed class NoteDocumentLocalRepository : INoteDocumentLocalRepository +{ + private readonly LocalDatabase _database; + + public NoteDocumentLocalRepository(LocalDatabase database) + { + ArgumentNullException.ThrowIfNull(database); + _database = database; + } + + /// + public async Task UpsertAsync(LocalNoteDocument note, CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(note); + note.UpdatedAtUtc = DateTimeOffset.UtcNow; + + const string sql = """ + INSERT INTO "NoteDocument" + ("Id", "DocumentId", "Contenu", "DateCreation", "AuteurNom", "UpdatedAtUtc") + VALUES + (@Id, @DocumentId, @Contenu, @DateCreation, @AuteurNom, @UpdatedAtUtc) + ON CONFLICT("Id") DO UPDATE SET + "DocumentId" = excluded."DocumentId", + "Contenu" = excluded."Contenu", + "DateCreation" = excluded."DateCreation", + "AuteurNom" = excluded."AuteurNom", + "UpdatedAtUtc" = excluded."UpdatedAtUtc"; + """; + + await _database.ExecuteNonQueryAsync(sql, new List + { + P("@Id", note.Id.ToString()), + P("@DocumentId", note.DocumentId.ToString()), + P("@Contenu", note.Contenu), + P("@DateCreation", note.DateCreation.ToString("O")), + P("@AuteurNom", note.AuteurNom), + P("@UpdatedAtUtc", note.UpdatedAtUtc.ToString("O")) + }, cancellationToken); + } + + /// + public async Task> GetByDocumentAsync( + Guid documentId, CancellationToken cancellationToken = default) + { + const string sql = """ + SELECT * FROM "NoteDocument" + WHERE "DocumentId" = @DocumentId + ORDER BY "DateCreation" DESC; + """; + + return await QueryListAsync( + sql, [P("@DocumentId", documentId.ToString())], cancellationToken); + } + + /// + public async Task DeleteAsync(Guid noteId, CancellationToken cancellationToken = default) + { + const string sql = """DELETE FROM "NoteDocument" WHERE "Id" = @Id;"""; + await _database.ExecuteNonQueryAsync(sql, new List + { + P("@Id", noteId.ToString()) + }, cancellationToken); + } + + /// + public async Task DeleteNonPendingByDocumentAsync( + Guid documentId, CancellationToken cancellationToken = default) + { + // Les notes dont l'identité a encore une opération Outbox active + // (Pending/Sending/Accepted/WaitingResult) ou en anomalie « statut + // indisponible » (réémission en cours) sont CONSERVÉES : elles ne sont + // pas encore confirmées côté serveur et ne reviendront donc pas du + // prochain chargement serveur. + const string sql = """ + DELETE FROM "NoteDocument" + WHERE "DocumentId" = @DocumentId + AND "Id" NOT IN ( + SELECT "RequestedEntityGuid" FROM "Outbox" + WHERE "EntityType" = @NoteDocument + AND "State" IN (@Pending, @Sending, @Accepted, @WaitingResult, @StatusNotAvailable) + ); + """; + + await _database.ExecuteNonQueryAsync(sql, new List + { + P("@DocumentId", documentId.ToString()), + P("@NoteDocument", SyncEntityTypes.NoteDocument), + P("@Pending", (int)OutboxState.Pending), + P("@Sending", (int)OutboxState.Sending), + P("@Accepted", (int)OutboxState.Accepted), + P("@WaitingResult", (int)OutboxState.WaitingResult), + P("@StatusNotAvailable", (int)OutboxState.StatusNotAvailable) + }, cancellationToken); + } + + private async Task> QueryListAsync( + string sql, IReadOnlyList parameters, CancellationToken cancellationToken) + { + await using var command = _database.CreateCommand(); + command.CommandText = sql; + foreach (SqliteParameter parameter in parameters) + { + command.Parameters.Add(parameter); + } + + var result = new List(); + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + result.Add(ReadNote(reader)); + } + + return result; + } + + private static LocalNoteDocument ReadNote(SqliteDataReader reader) + { + return new LocalNoteDocument + { + Id = Guid.Parse(reader.GetString(reader.GetOrdinal("Id"))), + DocumentId = Guid.Parse(reader.GetString(reader.GetOrdinal("DocumentId"))), + Contenu = reader.GetString(reader.GetOrdinal("Contenu")), + DateCreation = DateTime.Parse(reader.GetString(reader.GetOrdinal("DateCreation"))), + AuteurNom = reader.IsDBNull(reader.GetOrdinal("AuteurNom")) + ? null + : reader.GetString(reader.GetOrdinal("AuteurNom")), + UpdatedAtUtc = DateTimeOffset.Parse(reader.GetString(reader.GetOrdinal("UpdatedAtUtc"))) + }; + } + + private static SqliteParameter P(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } +} diff --git a/src/Omika.App.Local/Repositories/NoteInterneLocalRepository.cs b/src/Omika.App.Local/Repositories/NoteInterneLocalRepository.cs new file mode 100644 index 0000000..7b720f0 --- /dev/null +++ b/src/Omika.App.Local/Repositories/NoteInterneLocalRepository.cs @@ -0,0 +1,155 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.App.Local.Sqlite; + +namespace Omika.App.Local.Repositories; + +/// +/// Repository des notes internes / administratives locales (table technique +/// NoteInterne). Lecture/écriture directe SQLite, aucun appel API. +/// +public sealed class NoteInterneLocalRepository : INoteInterneLocalRepository +{ + private readonly LocalDatabase _database; + + public NoteInterneLocalRepository(LocalDatabase database) + { + ArgumentNullException.ThrowIfNull(database); + _database = database; + } + + /// + public async Task UpsertAsync(LocalNoteInterne note, CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(note); + note.UpdatedAtUtc = DateTimeOffset.UtcNow; + + const string sql = """ + INSERT INTO "NoteInterne" + ("Id", "InterventionId", "EstAdministrative", "Contenu", "DateCreation", "AuteurNom", "UpdatedAtUtc") + VALUES + (@Id, @InterventionId, @EstAdministrative, @Contenu, @DateCreation, @AuteurNom, @UpdatedAtUtc) + ON CONFLICT("Id") DO UPDATE SET + "InterventionId" = excluded."InterventionId", + "EstAdministrative" = excluded."EstAdministrative", + "Contenu" = excluded."Contenu", + "DateCreation" = excluded."DateCreation", + "AuteurNom" = excluded."AuteurNom", + "UpdatedAtUtc" = excluded."UpdatedAtUtc"; + """; + + await _database.ExecuteNonQueryAsync(sql, new List + { + P("@Id", note.Id.ToString()), + P("@InterventionId", note.InterventionId.ToString()), + P("@EstAdministrative", note.EstAdministrative ? 1 : 0), + P("@Contenu", note.Contenu), + P("@DateCreation", note.DateCreation.ToString("O")), + P("@AuteurNom", note.AuteurNom), + P("@UpdatedAtUtc", note.UpdatedAtUtc.ToString("O")) + }, cancellationToken); + } + + /// + public async Task> GetByInterventionAsync( + Guid interventionId, CancellationToken cancellationToken = default) + { + const string sql = """ + SELECT * FROM "NoteInterne" + WHERE "InterventionId" = @InterventionId + ORDER BY "DateCreation" DESC; + """; + + return await QueryListAsync( + sql, [P("@InterventionId", interventionId.ToString())], cancellationToken); + } + + /// + public async Task DeleteAsync(Guid noteId, CancellationToken cancellationToken = default) + { + const string sql = """DELETE FROM "NoteInterne" WHERE "Id" = @Id;"""; + await _database.ExecuteNonQueryAsync(sql, new List + { + P("@Id", noteId.ToString()) + }, cancellationToken); + } + + /// + public async Task DeleteNonPendingByInterventionAsync( + Guid interventionId, bool estAdministrative, CancellationToken cancellationToken = default) + { + // Supprime les notes confirmées (sans opération Outbox en attente) : elles + // seront rechargées depuis l'API. Les notes dont l'identité a encore une + // opération Outbox en attente (Pending/Sending/Accepted/WaitingResult) ou + // en anomalie « statut indisponible » (réémission en cours) sont conservées, + // afin de ne jamais perdre une saisie utilisateur non confirmée. + const string sql = """ + DELETE FROM "NoteInterne" + WHERE "InterventionId" = @InterventionId + AND "EstAdministrative" = @EstAdministrative + AND "Id" NOT IN ( + SELECT "RequestedEntityGuid" FROM "Outbox" + WHERE "EntityType" IN (@NoteInterne, @NoteAdministrative) + AND "State" IN (@Pending, @Sending, @Accepted, @WaitingResult, @StatusNotAvailable) + ); + """; + + await _database.ExecuteNonQueryAsync(sql, new List + { + P("@InterventionId", interventionId.ToString()), + P("@EstAdministrative", estAdministrative ? 1 : 0), + P("@NoteInterne", SyncEntityTypes.NoteInterne), + P("@NoteAdministrative", SyncEntityTypes.NoteAdministrative), + P("@Pending", (int)OutboxState.Pending), + P("@Sending", (int)OutboxState.Sending), + P("@Accepted", (int)OutboxState.Accepted), + P("@WaitingResult", (int)OutboxState.WaitingResult), + P("@StatusNotAvailable", (int)OutboxState.StatusNotAvailable) + }, cancellationToken); + } + + private async Task> QueryListAsync( + string sql, IReadOnlyList parameters, CancellationToken cancellationToken) + { + await using var command = _database.CreateCommand(); + command.CommandText = sql; + foreach (SqliteParameter parameter in parameters) + { + command.Parameters.Add(parameter); + } + + var result = new List(); + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + result.Add(ReadNote(reader)); + } + + return result; + } + + private static LocalNoteInterne ReadNote(SqliteDataReader reader) + { + return new LocalNoteInterne + { + Id = Guid.Parse(reader.GetString(reader.GetOrdinal("Id"))), + InterventionId = Guid.Parse(reader.GetString(reader.GetOrdinal("InterventionId"))), + EstAdministrative = reader.GetInt32(reader.GetOrdinal("EstAdministrative")) != 0, + Contenu = reader.GetString(reader.GetOrdinal("Contenu")), + DateCreation = DateTime.Parse(reader.GetString(reader.GetOrdinal("DateCreation"))), + AuteurNom = reader.IsDBNull(reader.GetOrdinal("AuteurNom")) + ? null + : reader.GetString(reader.GetOrdinal("AuteurNom")), + UpdatedAtUtc = DateTimeOffset.Parse(reader.GetString(reader.GetOrdinal("UpdatedAtUtc"))) + }; + } + + private static SqliteParameter P(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } +} diff --git a/src/Omika.App.Local/Repositories/OutboxRepository.cs b/src/Omika.App.Local/Repositories/OutboxRepository.cs new file mode 100644 index 0000000..c0d70cb --- /dev/null +++ b/src/Omika.App.Local/Repositories/OutboxRepository.cs @@ -0,0 +1,423 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; +using Omika.App.Local.Sqlite; +using Omika.Core.Contracts.Mobile.Sync; + +namespace Omika.App.Local.Repositories; + +/// +/// Repository de l'Outbox locale. +/// +public sealed class OutboxRepository : IOutboxRepository +{ + private readonly LocalDatabase _database; + + public OutboxRepository(LocalDatabase database) + { + _database = database; + } + + public async Task AddAsync(OutboxOperation operation, CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(operation); + operation.CreatedAtUtc = DateTimeOffset.UtcNow; + operation.UpdatedAtUtc = operation.CreatedAtUtc; + + const string sql = """ + INSERT INTO "Outbox" + ("OperationId", "EntityType", "OperationType", "RequestedEntityGuid", + "CanonicalEntityGuid", "Payload", "CreatedAtUtc", "State", "RetryCount", + "LastError", "DependencyEntityType", "DependencyRequestedEntityGuid", "UpdatedAtUtc") + VALUES + (@OperationId, @EntityType, @OperationType, @RequestedEntityGuid, + @CanonicalEntityGuid, @Payload, @CreatedAtUtc, @State, @RetryCount, + @LastError, @DependencyEntityType, @DependencyRequestedEntityGuid, @UpdatedAtUtc) + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + AddParameters(command, operation); + await command.ExecuteNonQueryAsync(cancellationToken); + } + + public async Task UpdateAsync(OutboxOperation operation, CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(operation); + operation.UpdatedAtUtc = DateTimeOffset.UtcNow; + + const string sql = """ + UPDATE "Outbox" SET + "EntityType" = @EntityType, + "OperationType" = @OperationType, + "RequestedEntityGuid" = @RequestedEntityGuid, + "CanonicalEntityGuid" = @CanonicalEntityGuid, + "Payload" = @Payload, + "State" = @State, + "RetryCount" = @RetryCount, + "LastError" = @LastError, + "DependencyEntityType" = @DependencyEntityType, + "DependencyRequestedEntityGuid" = @DependencyRequestedEntityGuid, + "UpdatedAtUtc" = @UpdatedAtUtc + WHERE "OperationId" = @OperationId + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + AddParameters(command, operation); + await command.ExecuteNonQueryAsync(cancellationToken); + } + + public async Task GetByIdAsync(Guid operationId, CancellationToken cancellationToken = default) + { + const string sql = "SELECT * FROM \"Outbox\" WHERE \"OperationId\" = @OperationId"; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@OperationId", operationId.ToString())); + + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + if (!await reader.ReadAsync(cancellationToken)) + { + return null; + } + return ReadOperation(reader); + } + + public async Task> GetReadyAsync(CancellationToken cancellationToken = default) + { + // Ordre logique : CREATE (0) → UPDATE (1) → DELETE (2) / ARCHIVE (3), + // puis par date de création. Les opérations dépendantes (dont la + // dépendance n'est pas encore réconciliée) sont exclues ici et gérées + // par le SyncEngine. + const string sql = """ + SELECT * FROM "Outbox" + WHERE "State" = @Pending + ORDER BY "OperationType" ASC, "CreatedAtUtc" ASC + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@Pending", (int)OutboxState.Pending)); + + return await ReadAllAsync(command, cancellationToken); + } + + public async Task> GetWaitingResultAsync(CancellationToken cancellationToken = default) + { + const string sql = """ + SELECT * FROM "Outbox" + WHERE "State" IN (@Accepted, @WaitingResult) + ORDER BY "CreatedAtUtc" ASC + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@Accepted", (int)OutboxState.Accepted)); + command.Parameters.Add(CreateParameter("@WaitingResult", (int)OutboxState.WaitingResult)); + + return await ReadAllAsync(command, cancellationToken); + } + + public async Task> GetPendingOperationsAsync(CancellationToken cancellationToken = default) + { + const string sql = """ + SELECT * FROM "Outbox" + WHERE "State" IN (@Pending, @Sending, @Accepted, @WaitingResult) + ORDER BY "CreatedAtUtc" DESC + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@Pending", (int)OutboxState.Pending)); + command.Parameters.Add(CreateParameter("@Sending", (int)OutboxState.Sending)); + command.Parameters.Add(CreateParameter("@Accepted", (int)OutboxState.Accepted)); + command.Parameters.Add(CreateParameter("@WaitingResult", (int)OutboxState.WaitingResult)); + + return await ReadAllAsync(command, cancellationToken); + } + + public async Task> GetNotYetSentAsync(CancellationToken cancellationToken = default) + { + const string sql = """ + SELECT * FROM "Outbox" + WHERE "State" IN (@Pending, @Sending) + ORDER BY "CreatedAtUtc" DESC + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@Pending", (int)OutboxState.Pending)); + command.Parameters.Add(CreateParameter("@Sending", (int)OutboxState.Sending)); + + return await ReadAllAsync(command, cancellationToken); + } + + public async Task> GetRejectedAsync(CancellationToken cancellationToken = default) + { + const string sql = """ + SELECT * FROM "Outbox" + WHERE "State" = @Rejected + ORDER BY "CreatedAtUtc" ASC + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@Rejected", (int)OutboxState.Rejected)); + + return await ReadAllAsync(command, cancellationToken); + } + + public async Task> GetTemporaryStateAsync(CancellationToken cancellationToken = default) + { + const string sql = """ + SELECT * FROM "Outbox" + WHERE "State" IN (@Sending, @WaitingResult) + ORDER BY "CreatedAtUtc" ASC + """; + + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@Sending", (int)OutboxState.Sending)); + command.Parameters.Add(CreateParameter("@WaitingResult", (int)OutboxState.WaitingResult)); + + return await ReadAllAsync(command, cancellationToken); + } + + public async Task RecoverTemporaryStatesAsync(CancellationToken cancellationToken = default) + { + const string sql = """ + UPDATE "Outbox" + SET "State" = @Pending, "UpdatedAtUtc" = @Now + WHERE "State" IN (@Sending, @WaitingResult) + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@Pending", (int)OutboxState.Pending)); + command.Parameters.Add(CreateParameter("@Sending", (int)OutboxState.Sending)); + command.Parameters.Add(CreateParameter("@WaitingResult", (int)OutboxState.WaitingResult)); + command.Parameters.Add(CreateParameter("@Now", DateTimeOffset.UtcNow.ToString("O"))); + + return await command.ExecuteNonQueryAsync(cancellationToken); + } + + /// + /// Remet en attente les seules opérations restées en « Envoi en cours » + /// (envoi interrompu : arrêt de l'application, annulation en pleine émission, + /// échec d'écriture locale). Une opération dans cet état n'est plus jamais + /// sélectionnée par : sans cette remise en attente, + /// elle ne partirait jamais. Les états Accepted/WaitingResult ne sont pas + /// touchés (suivis par ). + /// + public async Task RecoverSendingStatesAsync(CancellationToken cancellationToken = default) + { + const string sql = """ + UPDATE "Outbox" + SET "State" = @Pending, "UpdatedAtUtc" = @Now + WHERE "State" = @Sending + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@Pending", (int)OutboxState.Pending)); + command.Parameters.Add(CreateParameter("@Sending", (int)OutboxState.Sending)); + command.Parameters.Add(CreateParameter("@Now", DateTimeOffset.UtcNow.ToString("O"))); + + return await command.ExecuteNonQueryAsync(cancellationToken); + } + + public async Task ReconcileReferencesAsync( + string entityType, + Guid requestedGuid, + Guid canonicalGuid, + CancellationToken cancellationToken = default) + { + // Met à jour RequestedEntityGuid → CanonicalEntityGuid pour les + // opérations de ce type encore en attente. Le payload est réécrit par + // le service de réconciliation (mécanisme typé, pas de string.Replace). + const string sql = """ + UPDATE "Outbox" + SET "RequestedEntityGuid" = @CanonicalGuid, + "CanonicalEntityGuid" = @CanonicalGuid, + "UpdatedAtUtc" = @Now + WHERE "EntityType" = @EntityType + AND "RequestedEntityGuid" = @RequestedGuid + AND "State" IN (@Pending, @Sending, @Accepted, @WaitingResult) + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@EntityType", entityType)); + command.Parameters.Add(CreateParameter("@RequestedGuid", requestedGuid.ToString())); + command.Parameters.Add(CreateParameter("@CanonicalGuid", canonicalGuid.ToString())); + command.Parameters.Add(CreateParameter("@Now", DateTimeOffset.UtcNow.ToString("O"))); + command.Parameters.Add(CreateParameter("@Pending", (int)OutboxState.Pending)); + command.Parameters.Add(CreateParameter("@Sending", (int)OutboxState.Sending)); + command.Parameters.Add(CreateParameter("@Accepted", (int)OutboxState.Accepted)); + command.Parameters.Add(CreateParameter("@WaitingResult", (int)OutboxState.WaitingResult)); + + await command.ExecuteNonQueryAsync(cancellationToken); + } + + public async Task CountPendingAsync(CancellationToken cancellationToken = default) + { + const string sql = """ + SELECT COUNT(*) FROM "Outbox" + WHERE "State" IN (@Pending, @Sending, @Accepted, @WaitingResult) + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@Pending", (int)OutboxState.Pending)); + command.Parameters.Add(CreateParameter("@Sending", (int)OutboxState.Sending)); + command.Parameters.Add(CreateParameter("@Accepted", (int)OutboxState.Accepted)); + command.Parameters.Add(CreateParameter("@WaitingResult", (int)OutboxState.WaitingResult)); + + object? result = await command.ExecuteScalarAsync(cancellationToken); + return Convert.ToInt32(result); + } + + public async Task CountNotYetSentAsync(CancellationToken cancellationToken = default) + { + const string sql = """ + SELECT COUNT(*) FROM "Outbox" + WHERE "State" IN (@Pending, @Sending) + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@Pending", (int)OutboxState.Pending)); + command.Parameters.Add(CreateParameter("@Sending", (int)OutboxState.Sending)); + + object? result = await command.ExecuteScalarAsync(cancellationToken); + return Convert.ToInt32(result); + } + + public async Task> GetPendingEntityGuidsAsync( + string entityType, + CancellationToken cancellationToken = default) + { + const string sql = """ + SELECT DISTINCT "RequestedEntityGuid" FROM "Outbox" + WHERE "EntityType" = @EntityType + AND "State" IN (@Pending, @Sending, @Accepted, @WaitingResult) + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@EntityType", entityType)); + command.Parameters.Add(CreateParameter("@Pending", (int)OutboxState.Pending)); + command.Parameters.Add(CreateParameter("@Sending", (int)OutboxState.Sending)); + command.Parameters.Add(CreateParameter("@Accepted", (int)OutboxState.Accepted)); + command.Parameters.Add(CreateParameter("@WaitingResult", (int)OutboxState.WaitingResult)); + + var result = new List(); + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + result.Add(Guid.Parse(reader.GetString(0))); + } + return result; + } + + public async Task HasActiveOperationAsync( + string entityType, + Guid requestedEntityGuid, + CancellationToken cancellationToken = default) + { + const string sql = """ + SELECT EXISTS( + SELECT 1 FROM "Outbox" + WHERE "EntityType" = @EntityType + AND "RequestedEntityGuid" = @RequestedGuid + AND "State" IN (@Pending, @Sending, @Accepted, @WaitingResult) + ) + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@EntityType", entityType)); + command.Parameters.Add(CreateParameter("@RequestedGuid", requestedEntityGuid.ToString())); + command.Parameters.Add(CreateParameter("@Pending", (int)OutboxState.Pending)); + command.Parameters.Add(CreateParameter("@Sending", (int)OutboxState.Sending)); + command.Parameters.Add(CreateParameter("@Accepted", (int)OutboxState.Accepted)); + command.Parameters.Add(CreateParameter("@WaitingResult", (int)OutboxState.WaitingResult)); + + object? result = await command.ExecuteScalarAsync(cancellationToken); + return Convert.ToInt32(result) != 0; + } + + private static void AddParameters(SqliteCommand command, OutboxOperation operation) + { + command.Parameters.Add(CreateParameter("@OperationId", operation.OperationId.ToString())); + command.Parameters.Add(CreateParameter("@EntityType", operation.EntityType)); + command.Parameters.Add(CreateParameter("@OperationType", (int)operation.OperationType)); + command.Parameters.Add(CreateParameter("@RequestedEntityGuid", operation.RequestedEntityGuid.ToString())); + command.Parameters.Add(CreateParameter("@CanonicalEntityGuid", operation.CanonicalEntityGuid?.ToString())); + command.Parameters.Add(CreateParameter("@Payload", operation.Payload)); + command.Parameters.Add(CreateParameter("@CreatedAtUtc", operation.CreatedAtUtc.ToString("O"))); + command.Parameters.Add(CreateParameter("@State", (int)operation.State)); + command.Parameters.Add(CreateParameter("@RetryCount", operation.RetryCount)); + command.Parameters.Add(CreateParameter("@LastError", operation.LastError)); + command.Parameters.Add(CreateParameter("@DependencyEntityType", operation.DependencyEntityType)); + command.Parameters.Add(CreateParameter("@DependencyRequestedEntityGuid", operation.DependencyRequestedEntityGuid?.ToString())); + command.Parameters.Add(CreateParameter("@UpdatedAtUtc", operation.UpdatedAtUtc.ToString("O"))); + } + + /// + /// Crée un paramètre SQLite en gérant correctement les valeurs null. + /// Le constructeur SqliteParameter(string, object) ne gère pas + /// correctement DBNull.Value : on définit la propriété Value + /// explicitement. + /// + private static SqliteParameter CreateParameter(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } + + + + private static async Task> ReadAllAsync( + SqliteCommand command, + CancellationToken cancellationToken) + { + var result = new List(); + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + result.Add(ReadOperation(reader)); + } + return result; + } + + private static OutboxOperation ReadOperation(SqliteDataReader reader) + { + return new OutboxOperation + { + OperationId = Guid.Parse(reader.GetString(reader.GetOrdinal("OperationId"))), + EntityType = reader.GetString(reader.GetOrdinal("EntityType")), + OperationType = (SyncOperationType)reader.GetInt32(reader.GetOrdinal("OperationType")), + RequestedEntityGuid = Guid.Parse(reader.GetString(reader.GetOrdinal("RequestedEntityGuid"))), + CanonicalEntityGuid = reader.IsDBNull(reader.GetOrdinal("CanonicalEntityGuid")) + ? null + : Guid.Parse(reader.GetString(reader.GetOrdinal("CanonicalEntityGuid"))), + Payload = reader.GetString(reader.GetOrdinal("Payload")), + CreatedAtUtc = DateTimeOffset.Parse(reader.GetString(reader.GetOrdinal("CreatedAtUtc"))), + State = (OutboxState)reader.GetInt32(reader.GetOrdinal("State")), + RetryCount = reader.GetInt32(reader.GetOrdinal("RetryCount")), + LastError = reader.IsDBNull(reader.GetOrdinal("LastError")) + ? null + : reader.GetString(reader.GetOrdinal("LastError")), + DependencyEntityType = reader.IsDBNull(reader.GetOrdinal("DependencyEntityType")) + ? null + : reader.GetString(reader.GetOrdinal("DependencyEntityType")), + DependencyRequestedEntityGuid = reader.IsDBNull(reader.GetOrdinal("DependencyRequestedEntityGuid")) + ? null + : Guid.Parse(reader.GetString(reader.GetOrdinal("DependencyRequestedEntityGuid"))), + UpdatedAtUtc = DateTimeOffset.Parse(reader.GetString(reader.GetOrdinal("UpdatedAtUtc"))) + }; + } +} diff --git a/src/Omika.App.Local/Repositories/PreferencesUtilisateurRepository.cs b/src/Omika.App.Local/Repositories/PreferencesUtilisateurRepository.cs new file mode 100644 index 0000000..74ceae2 --- /dev/null +++ b/src/Omika.App.Local/Repositories/PreferencesUtilisateurRepository.cs @@ -0,0 +1,230 @@ +using System.Globalization; +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; +using Omika.App.Local.Sqlite; + +namespace Omika.App.Local.Repositories; + +/// +/// Repository des préférences locales par utilisateur (table technique +/// PreferencesUtilisateur). Lecture/écriture SQLite directe, aucun appel +/// API : le réglage reste strictement sur l'appareil. +/// +/// +/// Les heures sont stockées sous une forme texte stable et non ambiguë +/// (HH:mm, invariant culturel) : jamais « 12h00 », jamais « 12:00 PM », +/// jamais dépendant de la culture de l'appareil. La conversion vers +/// est faite à la lecture. +/// +/// +public sealed class PreferencesUtilisateurRepository : IPreferencesUtilisateurRepository +{ + /// Format de stockage des heures (HH:mm, invariant). + private const string FormatHeure = @"hh\:mm"; + + private readonly LocalDatabase _database; + + public PreferencesUtilisateurRepository(LocalDatabase database) + { + ArgumentNullException.ThrowIfNull(database); + _database = database; + } + + /// + public async Task GetPauseDejeunerAsync( + string utilisateurId, + CancellationToken cancellationToken = default) + { + if (string.IsNullOrWhiteSpace(utilisateurId)) + { + return null; + } + + const string sql = """ + SELECT "PauseDejeunerDebut", "PauseDejeunerFin" + FROM "PreferencesUtilisateur" + WHERE "UtilisateurId" = @UtilisateurId; + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(P("@UtilisateurId", utilisateurId)); + + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + if (!await reader.ReadAsync(cancellationToken)) + { + return null; + } + + TimeSpan? debut = LireHeure(reader, "PauseDejeunerDebut"); + TimeSpan? fin = LireHeure(reader, "PauseDejeunerFin"); + if (debut is not { } d || fin is not { } f) + { + // Colonne absente ou valeur illisible : aucune préférence exploitable. + return null; + } + + var preference = new PauseDejeunerPreference { Debut = d, Fin = f }; + return preference.EstValide ? preference : null; + } + + /// + public async Task SavePauseDejeunerAsync( + string utilisateurId, + TimeSpan debut, + TimeSpan fin, + CancellationToken cancellationToken = default) + { + if (string.IsNullOrWhiteSpace(utilisateurId)) + { + throw new ArgumentException("L'identifiant utilisateur est requis.", nameof(utilisateurId)); + } + + const string sql = """ + INSERT INTO "PreferencesUtilisateur" + ("UtilisateurId", "PauseDejeunerDebut", "PauseDejeunerFin", "UpdatedAtUtc") + VALUES + (@UtilisateurId, @Debut, @Fin, @UpdatedAtUtc) + ON CONFLICT("UtilisateurId") DO UPDATE SET + "PauseDejeunerDebut" = excluded."PauseDejeunerDebut", + "PauseDejeunerFin" = excluded."PauseDejeunerFin", + "UpdatedAtUtc" = excluded."UpdatedAtUtc"; + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(P("@UtilisateurId", utilisateurId)); + command.Parameters.Add(P("@Debut", FormaterHeure(debut))); + command.Parameters.Add(P("@Fin", FormaterHeure(fin))); + command.Parameters.Add(P("@UpdatedAtUtc", DateTimeOffset.UtcNow.ToString("O"))); + + await command.ExecuteNonQueryAsync(cancellationToken); + } + + /// + public async Task GetLangueSecondaireAsync( + string utilisateurId, + CancellationToken cancellationToken = default) + { + if (string.IsNullOrWhiteSpace(utilisateurId)) + { + return null; + } + + const string sql = """ + SELECT "LangueSecondaire", "LangueSecondaireLibelle" + FROM "PreferencesUtilisateur" + WHERE "UtilisateurId" = @UtilisateurId; + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(P("@UtilisateurId", utilisateurId)); + + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + if (!await reader.ReadAsync(cancellationToken)) + { + return null; + } + + string? code = LireTexte(reader, "LangueSecondaire"); + if (string.IsNullOrWhiteSpace(code)) + { + // Aucune langue secondaire définie : l'absence de langue est + // représentée par null, jamais par une préférence vide. + return null; + } + + return LangueSecondairePreference.Normaliser(code, LireTexte(reader, "LangueSecondaireLibelle")); + } + + /// + public async Task SaveLangueSecondaireAsync( + string utilisateurId, + string? code, + string? libelle, + CancellationToken cancellationToken = default) + { + if (string.IsNullOrWhiteSpace(utilisateurId)) + { + throw new ArgumentException("L'identifiant utilisateur est requis.", nameof(utilisateurId)); + } + + // Un code blanc REMET la langue à NULL : c'est la seule façon de + // représenter « aucune langue secondaire », et cela évite qu'une chaîne + // vide soit relue plus tard comme un code de langue valide. + bool retirer = string.IsNullOrWhiteSpace(code); + string? codeNormalise = retirer ? null : code!.Trim().ToLowerInvariant(); + string? libelleNormalise = retirer || string.IsNullOrWhiteSpace(libelle) ? null : libelle!.Trim(); + + const string sql = """ + INSERT INTO "PreferencesUtilisateur" + ("UtilisateurId", "LangueSecondaire", "LangueSecondaireLibelle", "UpdatedAtUtc") + VALUES + (@UtilisateurId, @Code, @Libelle, @UpdatedAtUtc) + ON CONFLICT("UtilisateurId") DO UPDATE SET + "LangueSecondaire" = excluded."LangueSecondaire", + "LangueSecondaireLibelle" = excluded."LangueSecondaireLibelle", + "UpdatedAtUtc" = excluded."UpdatedAtUtc"; + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(P("@UtilisateurId", utilisateurId)); + command.Parameters.Add(P("@Code", codeNormalise)); + command.Parameters.Add(P("@Libelle", libelleNormalise)); + command.Parameters.Add(P("@UpdatedAtUtc", DateTimeOffset.UtcNow.ToString("O"))); + + await command.ExecuteNonQueryAsync(cancellationToken); + } + + /// Formate une heure au format de stockage invariant (HH:mm). + private static string FormaterHeure(TimeSpan valeur) + => valeur.ToString(FormatHeure, CultureInfo.InvariantCulture); + + /// + /// Lit une heure stockée. Retourne null si la colonne est absente, + /// NULL ou illisible : une valeur corrompue ne doit jamais faire échouer + /// l'affichage du formulaire. + /// + private static TimeSpan? LireHeure(SqliteDataReader reader, string colonne) + { + int index = reader.GetOrdinal(colonne); + if (reader.IsDBNull(index)) + { + return null; + } + + string? valeur = reader.GetString(index); + if (string.IsNullOrWhiteSpace(valeur)) + { + return null; + } + + return TimeSpan.TryParseExact(valeur, FormatHeure, CultureInfo.InvariantCulture, out TimeSpan heure) + ? heure + : null; + } + + /// + /// Lit une colonne texte. Retourne null si la colonne est absente, + /// NULL ou vide : une base plus ancienne (colonne pas encore migrée) ne doit + /// jamais faire échouer l'affichage de l'écran Paramètres. + /// + private static string? LireTexte(SqliteDataReader reader, string colonne) + { + int index = reader.GetOrdinal(colonne); + if (reader.IsDBNull(index)) + { + return null; + } + + string? valeur = reader.GetString(index); + return string.IsNullOrWhiteSpace(valeur) ? null : valeur; + } + + /// Crée un paramètre SQLite en gérant correctement les valeurs null. + private static SqliteParameter P(string name, object? value) + => new() { ParameterName = name, Value = value ?? DBNull.Value }; +} diff --git a/src/Omika.App.Local/Repositories/RapportBrouillonRepository.cs b/src/Omika.App.Local/Repositories/RapportBrouillonRepository.cs new file mode 100644 index 0000000..6d371c7 --- /dev/null +++ b/src/Omika.App.Local/Repositories/RapportBrouillonRepository.cs @@ -0,0 +1,135 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; +using Omika.App.Local.Sqlite; + +namespace Omika.App.Local.Repositories; + +/// +/// Repository des brouillons de rapport d'intervention (table technique +/// RapportBrouillon). Lecture/écriture directe SQLite, aucun appel API. +/// +public sealed class RapportBrouillonRepository : IRapportBrouillonRepository +{ + private readonly LocalDatabase _database; + + public RapportBrouillonRepository(LocalDatabase database) + { + ArgumentNullException.ThrowIfNull(database); + _database = database; + } + + /// + public async Task UpsertAsync(RapportBrouillonEntry entry, CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(entry); + entry.UpdatedAtUtc = DateTimeOffset.UtcNow; + + const string sql = """ + INSERT INTO "RapportBrouillon" + ("Id", "InterventionId", "ModeleId", "Nom", "ChampsJson", "UpdatedAtUtc") + VALUES + (@Id, @InterventionId, @ModeleId, @Nom, @ChampsJson, @UpdatedAtUtc) + ON CONFLICT("Id") DO UPDATE SET + "InterventionId" = excluded."InterventionId", + "ModeleId" = excluded."ModeleId", + "Nom" = excluded."Nom", + "ChampsJson" = excluded."ChampsJson", + "UpdatedAtUtc" = excluded."UpdatedAtUtc"; + """; + + await _database.ExecuteNonQueryAsync(sql, new List + { + P("@Id", entry.Id.ToString("D")), + P("@InterventionId", entry.InterventionId.ToString("D")), + P("@ModeleId", entry.ModeleId), + P("@Nom", entry.Nom), + P("@ChampsJson", entry.ChampsJson), + P("@UpdatedAtUtc", entry.UpdatedAtUtc.ToString("O")) + }, cancellationToken); + } + + /// + public async Task GetAsync(Guid id, CancellationToken cancellationToken = default) + { + const string sql = """ + SELECT * FROM "RapportBrouillon" WHERE "Id" = @Id; + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(P("@Id", id.ToString("D"))); + + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + return await reader.ReadAsync(cancellationToken) ? ReadEntry(reader) : null; + } + + /// + public async Task> GetByInterventionAsync( + Guid interventionGuid, CancellationToken cancellationToken = default) + { + const string sql = """ + SELECT * FROM "RapportBrouillon" + WHERE "InterventionId" = @InterventionId + ORDER BY "UpdatedAtUtc" DESC; + """; + + return await QueryListAsync( + sql, [P("@InterventionId", interventionGuid.ToString("D"))], cancellationToken); + } + + /// + public async Task DeleteAsync(Guid id, CancellationToken cancellationToken = default) + { + const string sql = """ + DELETE FROM "RapportBrouillon" WHERE "Id" = @Id; + """; + + await _database.ExecuteNonQueryAsync(sql, new List + { + P("@Id", id.ToString("D")) + }, cancellationToken); + } + + private async Task> QueryListAsync( + string sql, IReadOnlyList parameters, CancellationToken cancellationToken) + { + await using var command = _database.CreateCommand(); + command.CommandText = sql; + foreach (SqliteParameter parameter in parameters) + { + command.Parameters.Add(parameter); + } + + var result = new List(); + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + result.Add(ReadEntry(reader)); + } + + return result; + } + + private static RapportBrouillonEntry ReadEntry(SqliteDataReader reader) + { + return new RapportBrouillonEntry + { + Id = Guid.Parse(reader.GetString(reader.GetOrdinal("Id"))), + InterventionId = Guid.Parse(reader.GetString(reader.GetOrdinal("InterventionId"))), + ModeleId = reader.GetString(reader.GetOrdinal("ModeleId")), + Nom = reader.IsDBNull(reader.GetOrdinal("Nom")) + ? null + : reader.GetString(reader.GetOrdinal("Nom")), + ChampsJson = reader.GetString(reader.GetOrdinal("ChampsJson")), + UpdatedAtUtc = DateTimeOffset.Parse(reader.GetString(reader.GetOrdinal("UpdatedAtUtc"))) + }; + } + + private static SqliteParameter P(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } +} diff --git a/src/Omika.App.Local/Repositories/ReferenceColumnMapper.cs b/src/Omika.App.Local/Repositories/ReferenceColumnMapper.cs new file mode 100644 index 0000000..cb58509 --- /dev/null +++ b/src/Omika.App.Local/Repositories/ReferenceColumnMapper.cs @@ -0,0 +1,90 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Repositories; + +/// +/// Source unique du mapping entre les tables métier locales et leurs colonnes de +/// référence typées (GUID). Utilisé à la fois par +/// (upsert/lecture) et par le SnapshotApplier (refresh snapshot) afin de +/// garantir une persistance cohérente des colonnes structurées. +/// +public static class ReferenceColumnMapper +{ + /// + /// Retourne les colonnes de référence typées pour une table métier locale. + /// Une table sans colonne structurée retourne une liste vide. + /// + public static IReadOnlyList GetReferenceColumns(string tableName) + { + return tableName switch + { + "Client" => [], + "Personne" => ["ClientId"], + "Site" => ["ClientId"], + "Intervention" => ["ClientId", "SiteId", "DossierId"], + "Dossier" => ["ClientId", "SiteId"], + "RendezVous" => ["ClientId", "SiteId", "DossierId", "InterventionId"], + "Collaborateur" => ["SocieteId"], + "DocumentMetadata" => ["InterventionId"], + "SuiviTemps" => ["CollaborateurId", "InterventionId", "RendezVousId"], + _ => [] + }; + } + + /// + /// Retourne la valeur de référence typée (GUID) pour une entité et une colonne + /// données. Retourne null si la colonne n'est pas une référence de + /// l'entité ou si la référence est absente. + /// + public static Guid? GetReferenceValue(LocalEntityBase entity, string column) + { + return entity switch + { + LocalPersonne p when column == "ClientId" => p.ClientId, + LocalSite s when column == "ClientId" => s.ClientId, + LocalIntervention i when column == "ClientId" => i.ClientId, + LocalIntervention i when column == "SiteId" => i.SiteId, + LocalIntervention i when column == "DossierId" => i.DossierId, + LocalDossier d when column == "ClientId" => d.ClientId, + LocalDossier d when column == "SiteId" => d.SiteId, + LocalRendezVous r when column == "ClientId" => r.ClientId, + LocalRendezVous r when column == "SiteId" => r.SiteId, + LocalRendezVous r when column == "DossierId" => r.DossierId, + LocalRendezVous r when column == "InterventionId" => r.InterventionId, + LocalCollaborateur c when column == "SocieteId" => c.SocieteId, + LocalDocumentMetadata m when column == "InterventionId" => m.InterventionId, + LocalSuiviTemps s when column == "CollaborateurId" => s.CollaborateurId, + LocalSuiviTemps s when column == "InterventionId" => s.InterventionId, + LocalSuiviTemps s when column == "RendezVousId" => s.RendezVousId, + _ => null + }; + } + + /// + /// Définit la valeur de référence typée (GUID) sur une entité pour une colonne + /// donnée. Ignore silencieusement les colonnes qui ne sont pas des références + /// de l'entité. + /// + public static void SetReferenceValue(LocalEntityBase entity, string column, Guid value) + { + switch (entity) + { + case LocalPersonne p when column == "ClientId": p.ClientId = value; break; + case LocalSite s when column == "ClientId": s.ClientId = value; break; + case LocalIntervention i when column == "ClientId": i.ClientId = value; break; + case LocalIntervention i when column == "SiteId": i.SiteId = value; break; + case LocalIntervention i when column == "DossierId": i.DossierId = value; break; + case LocalDossier d when column == "ClientId": d.ClientId = value; break; + case LocalDossier d when column == "SiteId": d.SiteId = value; break; + case LocalRendezVous r when column == "ClientId": r.ClientId = value; break; + case LocalRendezVous r when column == "SiteId": r.SiteId = value; break; + case LocalRendezVous r when column == "DossierId": r.DossierId = value; break; + case LocalRendezVous r when column == "InterventionId": r.InterventionId = value; break; + case LocalCollaborateur c when column == "SocieteId": c.SocieteId = value; break; + case LocalDocumentMetadata m when column == "InterventionId": m.InterventionId = value; break; + case LocalSuiviTemps s when column == "CollaborateurId": s.CollaborateurId = value; break; + case LocalSuiviTemps s when column == "InterventionId": s.InterventionId = value; break; + case LocalSuiviTemps s when column == "RendezVousId": s.RendezVousId = value; break; + } + } +} diff --git a/src/Omika.App.Local/Repositories/RendezVousDraftReferenceRepository.cs b/src/Omika.App.Local/Repositories/RendezVousDraftReferenceRepository.cs new file mode 100644 index 0000000..a9fd6e5 --- /dev/null +++ b/src/Omika.App.Local/Repositories/RendezVousDraftReferenceRepository.cs @@ -0,0 +1,84 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Sqlite; + +namespace Omika.App.Local.Repositories; + +/// Entrée de la table technique RendezVousDraftReference. +public sealed record RendezVousDraftReferenceEntry(Guid RendezVousId, string PayloadJson); + +/// +/// Repository de la table technique RendezVousDraftReference : conserve la +/// fiche (JSON AgendaItem) des rendez-vous porteurs de brouillons de temps +/// non envoyés. Jamais purgée par un refresh snapshot. +/// +public sealed class RendezVousDraftReferenceRepository +{ + private readonly LocalDatabase _database; + + public RendezVousDraftReferenceRepository(LocalDatabase database) + { + ArgumentNullException.ThrowIfNull(database); + _database = database; + } + + /// Insère ou remplace la fiche d'un rendez-vous conservé. + public async Task UpsertAsync(Guid rendezVousId, string payloadJson, CancellationToken cancellationToken = default) + { + const string sql = """ + INSERT INTO "RendezVousDraftReference" ("RendezVousId", "PayloadJson", "UpdatedAtUtc") + VALUES (@RendezVousId, @PayloadJson, @UpdatedAtUtc) + ON CONFLICT("RendezVousId") DO UPDATE SET + "PayloadJson" = excluded."PayloadJson", + "UpdatedAtUtc" = excluded."UpdatedAtUtc"; + """; + + await _database.ExecuteNonQueryAsync(sql, new List + { + P("@RendezVousId", rendezVousId.ToString()), + P("@PayloadJson", payloadJson), + P("@UpdatedAtUtc", DateTimeOffset.UtcNow.ToString("O")) + }, cancellationToken); + } + + /// Retourne tous les rendez-vous conservés. + public async Task> GetAllAsync(CancellationToken cancellationToken = default) + { + const string sql = """ + SELECT "RendezVousId", "PayloadJson" FROM "RendezVousDraftReference"; + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + + var result = new List(); + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + result.Add(new RendezVousDraftReferenceEntry( + Guid.Parse(reader.GetString(reader.GetOrdinal("RendezVousId"))), + reader.GetString(reader.GetOrdinal("PayloadJson")))); + } + + return result; + } + + /// Retire un rendez-vous conservé (plus aucun brouillon non envoyé). + public async Task DeleteAsync(Guid rendezVousId, CancellationToken cancellationToken = default) + { + const string sql = """ + DELETE FROM "RendezVousDraftReference" WHERE "RendezVousId" = @RendezVousId; + """; + + await _database.ExecuteNonQueryAsync(sql, new List + { + P("@RendezVousId", rendezVousId.ToString()) + }, cancellationToken); + } + + private static SqliteParameter P(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } +} diff --git a/src/Omika.App.Local/Repositories/RendezVousTempsValidationRepository.cs b/src/Omika.App.Local/Repositories/RendezVousTempsValidationRepository.cs new file mode 100644 index 0000000..ade9131 --- /dev/null +++ b/src/Omika.App.Local/Repositories/RendezVousTempsValidationRepository.cs @@ -0,0 +1,72 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; +using Omika.App.Local.Sqlite; + +namespace Omika.App.Local.Repositories; + +/// +/// Repository du marqueur local de validation des temps d'un rendez-vous (table +/// technique RendezVousTempsValidation). Lecture/écriture directe SQLite. +/// +public sealed class RendezVousTempsValidationRepository : IRendezVousTempsValidationRepository +{ + private readonly LocalDatabase _database; + + public RendezVousTempsValidationRepository(LocalDatabase database) + { + ArgumentNullException.ThrowIfNull(database); + _database = database; + } + + /// + public async Task GetAsync( + Guid rendezVousGuid, CancellationToken cancellationToken = default) + { + const string sql = """ + SELECT * FROM "RendezVousTempsValidation" + WHERE "RendezVousId" = @RendezVousId; + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(P("@RendezVousId", rendezVousGuid.ToString())); + + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + if (!await reader.ReadAsync(cancellationToken)) + { + return null; + } + + return new RendezVousTempsValidation + { + RendezVousId = Guid.Parse(reader.GetString(reader.GetOrdinal("RendezVousId"))), + ValidatedAtUtc = DateTimeOffset.Parse(reader.GetString(reader.GetOrdinal("ValidatedAtUtc"))) + }; + } + + /// + public async Task SetAsync( + Guid rendezVousGuid, DateTimeOffset validatedAtUtc, CancellationToken cancellationToken = default) + { + const string sql = """ + INSERT INTO "RendezVousTempsValidation" ("RendezVousId", "ValidatedAtUtc") + VALUES (@RendezVousId, @ValidatedAtUtc) + ON CONFLICT("RendezVousId") DO UPDATE SET + "ValidatedAtUtc" = excluded."ValidatedAtUtc"; + """; + + await _database.ExecuteNonQueryAsync(sql, new List + { + P("@RendezVousId", rendezVousGuid.ToString()), + P("@ValidatedAtUtc", validatedAtUtc.ToString("O")) + }, cancellationToken); + } + + private static SqliteParameter P(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } +} diff --git a/src/Omika.App.Local/Repositories/SiteLocalStateRepository.cs b/src/Omika.App.Local/Repositories/SiteLocalStateRepository.cs new file mode 100644 index 0000000..aa55092 --- /dev/null +++ b/src/Omika.App.Local/Repositories/SiteLocalStateRepository.cs @@ -0,0 +1,132 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.App.Local.Sqlite; + +namespace Omika.App.Local.Repositories; + +/// +/// Repository de la préférence locale d'épinglage des sites (table technique +/// SiteLocalState) et de la dernière recherche (SiteLastSearch). +/// Jamais remplacée par un refresh snapshot. +/// +public sealed class SiteLocalStateRepository : ISiteLocalStateRepository +{ + private readonly LocalDatabase _database; + + public SiteLocalStateRepository(LocalDatabase database) + { + _database = database; + } + + public async Task> GetPinnedIdsAsync(CancellationToken cancellationToken = default) + { + const string sql = "SELECT \"SiteId\" FROM \"SiteLocalState\""; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + + var result = new List(); + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + result.Add(Guid.Parse(reader.GetString(0))); + } + + return result; + } + + public async Task> GetPinnedItemsAsync(CancellationToken cancellationToken = default) + { + const string sql = "SELECT \"PayloadJson\" FROM \"SiteLocalState\""; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + + var result = new List(); + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + SiteListItem? item = JsonHelper.Deserialize(reader.GetString(0)); + if (item is not null) + { + result.Add(WithPinned(item, true)); + } + } + + return result + .OrderBy(s => s.Nom, StringComparer.OrdinalIgnoreCase) + .ThenBy(s => s.Code, StringComparer.OrdinalIgnoreCase) + .ToList(); + } + + public async Task SetPinnedAsync(Guid siteId, bool isPinned, string payloadJson, CancellationToken cancellationToken = default) + { + if (isPinned) + { + const string sql = """ + INSERT OR REPLACE INTO "SiteLocalState" ("SiteId", "PayloadJson", "UpdatedAtUtc") + VALUES (@Id, @PayloadJson, @UpdatedAtUtc) + """; + await _database.ExecuteNonQueryAsync(sql, + [ + Param("@Id", siteId.ToString()), + Param("@PayloadJson", payloadJson), + Param("@UpdatedAtUtc", DateTimeOffset.UtcNow.ToString("O")) + ], cancellationToken); + } + else + { + const string sql = "DELETE FROM \"SiteLocalState\" WHERE \"SiteId\" = @Id"; + await _database.ExecuteNonQueryAsync(sql, [Param("@Id", siteId.ToString())], cancellationToken); + } + } + + public async Task SaveLastSearchAsync(string payloadJson, CancellationToken cancellationToken = default) + { + const string sql = """ + INSERT OR REPLACE INTO "SiteLastSearch" ("Id", "PayloadJson", "UpdatedAtUtc") + VALUES (1, @PayloadJson, @UpdatedAtUtc) + """; + await _database.ExecuteNonQueryAsync(sql, + [ + Param("@PayloadJson", payloadJson), + Param("@UpdatedAtUtc", DateTimeOffset.UtcNow.ToString("O")) + ], cancellationToken); + } + + public async Task GetLastSearchJsonAsync(CancellationToken cancellationToken = default) + { + const string sql = "SELECT \"PayloadJson\" FROM \"SiteLastSearch\" WHERE \"Id\" = 1"; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + object? result = await command.ExecuteScalarAsync(cancellationToken); + return result as string; + } + + public async Task ClearLastSearchAsync(CancellationToken cancellationToken = default) + { + const string sql = "DELETE FROM \"SiteLastSearch\" WHERE \"Id\" = 1"; + await _database.ExecuteNonQueryAsync(sql, [], cancellationToken); + } + + private static SqliteParameter Param(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } + + /// Recopie un item de liste avec l'état d'épinglage forcé. + private static SiteListItem WithPinned(SiteListItem item, bool isPinned) + => new() + { + SiteGuid = item.SiteGuid, + Code = item.Code, + Nom = item.Nom, + Type = item.Type, + Ville = item.Ville, + CodePostal = item.CodePostal, + ClientNom = item.ClientNom, + IsPinned = isPinned + }; +} diff --git a/src/Omika.App.Local/Repositories/SuiviTempsDraftRepository.cs b/src/Omika.App.Local/Repositories/SuiviTempsDraftRepository.cs new file mode 100644 index 0000000..85f8e47 --- /dev/null +++ b/src/Omika.App.Local/Repositories/SuiviTempsDraftRepository.cs @@ -0,0 +1,182 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; +using Omika.App.Local.Sqlite; + +namespace Omika.App.Local.Repositories; + +/// +/// Repository des brouillons de saisie de temps (table technique +/// SuiviTempsDraft). Lecture/écriture directe SQLite, aucun appel API. +/// +public sealed class SuiviTempsDraftRepository : ISuiviTempsDraftRepository +{ + private readonly LocalDatabase _database; + + public SuiviTempsDraftRepository(LocalDatabase database) + { + ArgumentNullException.ThrowIfNull(database); + _database = database; + } + + /// + public async Task UpsertAsync(SuiviTempsDraftEntry entry, CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(entry); + entry.UpdatedAtUtc = DateTimeOffset.UtcNow; + + const string sql = """ + INSERT INTO "SuiviTempsDraft" + ("RendezVousId", "TypeTempsKey", "CollaborateurId", "InterventionId", + "Date", "DureeMinutes", "Description", "EstEnvoye", "UpdatedAtUtc") + VALUES + (@RendezVousId, @TypeTempsKey, @CollaborateurId, @InterventionId, + @Date, @DureeMinutes, @Description, @EstEnvoye, @UpdatedAtUtc) + ON CONFLICT("RendezVousId", "TypeTempsKey") DO UPDATE SET + "CollaborateurId" = excluded."CollaborateurId", + "InterventionId" = excluded."InterventionId", + "Date" = excluded."Date", + "DureeMinutes" = excluded."DureeMinutes", + "Description" = excluded."Description", + "EstEnvoye" = excluded."EstEnvoye", + "UpdatedAtUtc" = excluded."UpdatedAtUtc"; + """; + + var parameters = new List + { + P("@RendezVousId", entry.RendezVousId.ToString()), + P("@TypeTempsKey", entry.TypeTempsKey), + P("@CollaborateurId", entry.CollaborateurId?.ToString()), + P("@InterventionId", entry.InterventionId?.ToString()), + P("@Date", entry.Date.ToString("O")), + P("@DureeMinutes", entry.DureeMinutes), + P("@Description", entry.Description), + P("@EstEnvoye", entry.EstEnvoye ? 1 : 0), + P("@UpdatedAtUtc", entry.UpdatedAtUtc.ToString("O")) + }; + + await _database.ExecuteNonQueryAsync(sql, parameters, cancellationToken); + } + + /// + public async Task> GetByRendezVousAsync( + Guid rendezVousGuid, CancellationToken cancellationToken = default) + { + const string sql = """ + SELECT * FROM "SuiviTempsDraft" + WHERE "RendezVousId" = @RendezVousId + ORDER BY "TypeTempsKey"; + """; + + return await QueryListAsync( + sql, [P("@RendezVousId", rendezVousGuid.ToString())], cancellationToken); + } + + /// + public async Task GetAsync( + Guid rendezVousGuid, string typeTempsKey, CancellationToken cancellationToken = default) + { + const string sql = """ + SELECT * FROM "SuiviTempsDraft" + WHERE "RendezVousId" = @RendezVousId AND "TypeTempsKey" = @TypeTempsKey; + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(P("@RendezVousId", rendezVousGuid.ToString())); + command.Parameters.Add(P("@TypeTempsKey", typeTempsKey)); + + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + if (!await reader.ReadAsync(cancellationToken)) + { + return null; + } + + return ReadEntry(reader); + } + + /// + public async Task MarkEnvoyeAsync( + Guid rendezVousGuid, string typeTempsKey, CancellationToken cancellationToken = default) + { + const string sql = """ + UPDATE "SuiviTempsDraft" + SET "EstEnvoye" = 1, "UpdatedAtUtc" = @UpdatedAtUtc + WHERE "RendezVousId" = @RendezVousId AND "TypeTempsKey" = @TypeTempsKey; + """; + + await _database.ExecuteNonQueryAsync(sql, new List + { + P("@UpdatedAtUtc", DateTimeOffset.UtcNow.ToString("O")), + P("@RendezVousId", rendezVousGuid.ToString()), + P("@TypeTempsKey", typeTempsKey) + }, cancellationToken); + } + + /// + public async Task DeleteAsync( + Guid rendezVousGuid, string typeTempsKey, CancellationToken cancellationToken = default) + { + const string sql = """ + DELETE FROM "SuiviTempsDraft" + WHERE "RendezVousId" = @RendezVousId AND "TypeTempsKey" = @TypeTempsKey; + """; + + await _database.ExecuteNonQueryAsync(sql, new List + { + P("@RendezVousId", rendezVousGuid.ToString()), + P("@TypeTempsKey", typeTempsKey) + }, cancellationToken); + } + + private async Task> QueryListAsync( + string sql, IReadOnlyList parameters, CancellationToken cancellationToken) + { + await using var command = _database.CreateCommand(); + command.CommandText = sql; + foreach (SqliteParameter parameter in parameters) + { + command.Parameters.Add(parameter); + } + + var result = new List(); + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + result.Add(ReadEntry(reader)); + } + + return result; + } + + private static SuiviTempsDraftEntry ReadEntry(SqliteDataReader reader) + { + return new SuiviTempsDraftEntry + { + RendezVousId = Guid.Parse(reader.GetString(reader.GetOrdinal("RendezVousId"))), + TypeTempsKey = reader.GetString(reader.GetOrdinal("TypeTempsKey")), + CollaborateurId = ReadNullableGuid(reader, "CollaborateurId"), + InterventionId = ReadNullableGuid(reader, "InterventionId"), + Date = DateTime.Parse(reader.GetString(reader.GetOrdinal("Date"))), + DureeMinutes = reader.GetInt32(reader.GetOrdinal("DureeMinutes")), + Description = reader.IsDBNull(reader.GetOrdinal("Description")) + ? null + : reader.GetString(reader.GetOrdinal("Description")), + EstEnvoye = reader.GetInt32(reader.GetOrdinal("EstEnvoye")) != 0, + UpdatedAtUtc = DateTimeOffset.Parse(reader.GetString(reader.GetOrdinal("UpdatedAtUtc"))) + }; + } + + private static Guid? ReadNullableGuid(SqliteDataReader reader, string column) + { + int ordinal = reader.GetOrdinal(column); + return reader.IsDBNull(ordinal) ? null : Guid.Parse(reader.GetString(ordinal)); + } + + private static SqliteParameter P(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } +} diff --git a/src/Omika.App.Local/Repositories/SyncStateRepository.cs b/src/Omika.App.Local/Repositories/SyncStateRepository.cs new file mode 100644 index 0000000..8116f8c --- /dev/null +++ b/src/Omika.App.Local/Repositories/SyncStateRepository.cs @@ -0,0 +1,63 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Sqlite; + +namespace Omika.App.Local.Repositories; + +/// +/// Repository de l'état de synchronisation local (store clé/valeur). +/// +public sealed class SyncStateRepository : ISyncStateRepository +{ + private readonly LocalDatabase _database; + + public SyncStateRepository(LocalDatabase database) + { + _database = database; + } + + public async Task GetAsync(string key, CancellationToken cancellationToken = default) + { + ArgumentException.ThrowIfNullOrWhiteSpace(key); + + const string sql = "SELECT \"Value\" FROM \"SyncState\" WHERE \"Key\" = @Key"; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@Key", key)); + + object? result = await command.ExecuteScalarAsync(cancellationToken); + return result as string; + } + + public async Task SetAsync(string key, string value, CancellationToken cancellationToken = default) + { + ArgumentException.ThrowIfNullOrWhiteSpace(key); + ArgumentNullException.ThrowIfNull(value); + + const string sql = """ + INSERT INTO "SyncState" ("Key", "Value", "UpdatedAtUtc") + VALUES (@Key, @Value, @UpdatedAtUtc) + ON CONFLICT("Key") + DO UPDATE SET "Value" = @Value, "UpdatedAtUtc" = @UpdatedAtUtc + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@Key", key)); + command.Parameters.Add(CreateParameter("@Value", value)); + command.Parameters.Add(CreateParameter("@UpdatedAtUtc", DateTimeOffset.UtcNow.ToString("O"))); + await command.ExecuteNonQueryAsync(cancellationToken); + } + + /// + /// Crée un paramètre SQLite en gérant correctement les valeurs null. + /// Le constructeur SqliteParameter(string, object) ne définit pas + /// correctement la propriété Value : on la définit explicitement. + /// + private static SqliteParameter CreateParameter(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } +} diff --git a/src/Omika.App.Local/Repositories/UiPreferencesRepository.cs b/src/Omika.App.Local/Repositories/UiPreferencesRepository.cs new file mode 100644 index 0000000..d78fe4b --- /dev/null +++ b/src/Omika.App.Local/Repositories/UiPreferencesRepository.cs @@ -0,0 +1,75 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.App.Local.Sqlite; + +namespace Omika.App.Local.Repositories; + +/// +/// Repository des préférences d'interface utilisateur (thème, couleur principale). +/// Stocké dans une table technique qui survit au refresh snapshot. +/// +public sealed class UiPreferencesRepository : IUiPreferencesRepository +{ + private readonly LocalDatabase _database; + + public UiPreferencesRepository(LocalDatabase database) + { + _database = database; + } + + public async Task GetAsync(CancellationToken cancellationToken = default) + { + const string sql = "SELECT * FROM \"UiPreferences\" WHERE \"Id\" = 1"; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + if (!await reader.ReadAsync(cancellationToken)) + { + return new UiPreferences(); + } + + return new UiPreferences + { + Id = reader.GetInt32(reader.GetOrdinal("Id")), + ThemeMode = reader.GetString(reader.GetOrdinal("ThemeMode")), + PrimaryColor = reader.GetString(reader.GetOrdinal("PrimaryColor")), + UpdatedAtUtc = DateTimeOffset.Parse(reader.GetString(reader.GetOrdinal("UpdatedAtUtc"))) + }; + } + + public async Task SaveAsync(UiPreferences preferences, CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(preferences); + preferences.UpdatedAtUtc = DateTimeOffset.UtcNow; + + const string sql = """ + INSERT INTO "UiPreferences" ("Id", "ThemeMode", "PrimaryColor", "UpdatedAtUtc") + VALUES (1, @ThemeMode, @PrimaryColor, @UpdatedAtUtc) + ON CONFLICT("Id") + DO UPDATE SET + "ThemeMode" = @ThemeMode, + "PrimaryColor" = @PrimaryColor, + "UpdatedAtUtc" = @UpdatedAtUtc + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@ThemeMode", preferences.ThemeMode)); + command.Parameters.Add(CreateParameter("@PrimaryColor", preferences.PrimaryColor)); + command.Parameters.Add(CreateParameter("@UpdatedAtUtc", preferences.UpdatedAtUtc.ToString("O"))); + await command.ExecuteNonQueryAsync(cancellationToken); + } + + /// + /// Crée un paramètre SQLite en gérant correctement les valeurs null. + /// + private static SqliteParameter CreateParameter(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } +} diff --git a/src/Omika.App.Local/Security/EnrollmentVerificationKey.cs b/src/Omika.App.Local/Security/EnrollmentVerificationKey.cs new file mode 100644 index 0000000..6c844f4 --- /dev/null +++ b/src/Omika.App.Local/Security/EnrollmentVerificationKey.cs @@ -0,0 +1,44 @@ +namespace Omika.App.Local.Security; + +/// +/// Registre des clés PUBLIQUES de vérification des QR d'inscription (RSA, +/// signature SHA-256), indexé par keyId. +/// +/// Ces clés ne permettent QUE de vérifier la signature d'un QR produit par le +/// serveur : elles ne permettent en aucun cas de produire un QR valide. La clé +/// privée correspondante est détenue exclusivement par le serveur (config +/// LicenseQr:PrivateKeyXml), jamais embarquée dans le client. +/// +/// Le registre contient la clé PUBLIQUE Production sous le kid +/// omika-qr-2026-prod-01. Aucune clé de démonstration n'est approuvée +/// (elle n'y figure pas) : un QR signé sous le kid de démonstration est refusé. +/// +/// Rotation de clé : générer une nouvelle paire RSA côté serveur, ajouter la +/// nouvelle clé publique à ce registre sous un nouveau keyId, puis +/// configurer le serveur avec le nouveau LicenseQr:KeyId. Les anciens +/// appareils continuent de vérifier avec l'ancienne clé tant que son entrée +/// reste dans le registre (période de transition). +/// +public static class EnrollmentVerificationKey +{ + /// + /// Kid de la clé de DÉMONSTRATION utilisée pendant le développement. Sa clé + /// privée a circulé dans des journaux/outils de développement : elle ne doit + /// JAMAIS être approuvée en Production et ne figure pas dans + /// . + /// + public const string DemoKeyId = "omika-qr-2026-01"; + + /// + /// Registre kid → clé publique RSA au format XML (<RSAKeyValue>). + /// Contient uniquement des clés PUBLIQUES (aucune clé privée) : elles ne + /// permettent que de VÉRIFIER une signature, jamais d'en produire une. + /// La clé de démonstration () n'y figure jamais. + /// + public static readonly IReadOnlyDictionary PublicKeysByKeyId = + new Dictionary + { + ["omika-qr-2026-prod-01"] = + "xVdOjJmmRbZ1Kq3kNJG7foYyR9VHGHB8YJwbTWVudFq28a1qVbaqMJuUHpYlDsKnHMZBVOgrbXUmx5ZE/AnGi0Ele2h/H2MkvPphK+bo3j9al/YkSmFwN0ma9xHT0Zkv8fKAJZ1+w5N3etFrTNSqdDVFGT5hZib3YzbbwRy9WmG++iNvw4dLWlieYjTUO1kl9GtfnzeFmWNoRBfsl+oh02u8I6m7vY3bW+SB11GsJ/ObaqczIXAMy4kB8UPyTiBZyUvwh22SKX/+4njAUMKJFlnxx4hm+vkTjM5IQhS2kBRNRP7gqo3CdQCg9awpG89DSgukh4XHdajXfER94ysnHV90e0xiqfMkK2IaxvECk7hwNQ+efknMkhs3QY1baz+ohtqOcto9MZjMJmr0MSTTvBTp3hxhc04NIpsOQjNloutfaSJ2uiLLgA6Y42W/IqpOpEm+Kk+QH7cuYrV1Jez4ppG9EaPV3BoXblvrd4+YlMFZ95rMPrdt9kYw9/7rb0mpAQAB" + }; +} diff --git a/src/Omika.App.Local/Security/InstallationBootstrapper.cs b/src/Omika.App.Local/Security/InstallationBootstrapper.cs new file mode 100644 index 0000000..a101b43 --- /dev/null +++ b/src/Omika.App.Local/Security/InstallationBootstrapper.cs @@ -0,0 +1,73 @@ +using System.IO; + +namespace Omika.App.Local.Security; + +/// Nature de l'installation détectée au démarrage. +public enum InstallationKind +{ + /// Marker présent : installation existante déjà initialisée. + Normal, + + /// Marker absent mais preuve historique présente : mise à niveau d'une installation existante. + Upgrade, + + /// Marker absent + aucune preuve : nouvelle installation / réinstallation. + FreshInstall +} + +/// +/// Distinction déterministe entre « mise à niveau d'une installation existante » +/// et « installation vierge / réinstallation », utilisée par iOS pour décider de +/// purger ou non le Keychain (qui peut survivre à une désinstallation). +/// +/// La règle métier absolue est : DÉSINSTALLATION → RÉINSTALLATION → QR +/// obligatoire. Comme la première version avec marker ne l'a pas encore créé +/// chez les utilisateurs actuels, l'absence de marker ne signifie PAS à elle +/// seule « nouvelle installation » : une preuve historique (identifiant +/// d'appareil, base SQLite, ancien token) dans la sandbox prouve une mise à +/// niveau, pas une réinstallation. +/// +public static class InstallationBootstrapper +{ + /// + /// Décide de la nature de l'installation à partir de deux faits observables. + /// + public static InstallationKind Decide(bool markerExists, bool hasHistoricalProof) + => markerExists + ? InstallationKind.Normal + : hasHistoricalProof + ? InstallationKind.Upgrade + : InstallationKind.FreshInstall; + + /// + /// Vrai si le répertoire de données contient une trace d'installation + /// antérieure (identifiant d'appareil, base SQLite, ancien token en clair ou + /// blob sécurisé). Utilisé pour distinguer une mise à niveau d'une + /// réinstallation. + /// + public static bool HasHistoricalProof(string dataDirectory) + { + if (string.IsNullOrWhiteSpace(dataDirectory) || !Directory.Exists(dataDirectory)) + { + return false; + } + + string[] proofs = + [ + Path.Combine(dataDirectory, "device.id"), + Path.Combine(dataDirectory, "omika.db"), + Path.Combine(dataDirectory, "session.token"), + Path.Combine(dataDirectory, "session.token.secure") + ]; + + foreach (string proof in proofs) + { + if (File.Exists(proof)) + { + return true; + } + } + + return false; + } +} diff --git a/src/Omika.App.Local/Security/LegacyTokenMigrator.cs b/src/Omika.App.Local/Security/LegacyTokenMigrator.cs new file mode 100644 index 0000000..0541866 --- /dev/null +++ b/src/Omika.App.Local/Security/LegacyTokenMigrator.cs @@ -0,0 +1,141 @@ +using System; +using System.IO; +using System.Threading; +using System.Threading.Tasks; +using Omika.App.Local.Abstractions; + +namespace Omika.App.Local.Security; + +/// Résultat d'un cycle de migration de l'ancien token en clair. +public enum LegacyTokenMigrationOutcome +{ + /// Aucune session : ni token sécurisé ni ancien token. + NoSession, + + /// Token sécurisé présent, ancien token absent (déjà migré ou jamais existé). + SecureOnly, + + /// Token sécurisé présent + ancien token présent : le sécurisé fait foi. + SecurePrioritaire, + + /// Ancien token migré vers le stockage sécurisé, ancien fichier supprimé. + Migrated, + + /// Migration impossible (écriture/vérification échouée) : ancien fichier conservé. + MigrationFailed +} + +/// +/// Migration idempotente et sûre du token de session depuis l'ancien fichier +/// en clair (session.token) vers un stockage sécurisé +/// ( : Android Keystore / iOS Keychain). +/// +/// Garanties : +/// +/// idempotente : relancer N fois ne change rien une fois migré ; +/// crash-safe : l'ancien fichier n'est supprimé qu'APRÈS relecture et +/// vérification d'égalité du stockage sécurisé ; +/// aucune perte de session : tout échec conserve l'ancien fichier ; +/// le sécurisé est toujours prioritaire : un token sécurisé présent n'est +/// jamais écrasé par l'ancien. +/// +/// +public sealed class LegacyTokenMigrator +{ + private readonly ISecureTokenStore _secureStore; + private readonly string _legacyTokenPath; + + public LegacyTokenMigrator(ISecureTokenStore secureStore, string legacyTokenPath) + { + _secureStore = secureStore ?? throw new ArgumentNullException(nameof(secureStore)); + _legacyTokenPath = legacyTokenPath ?? throw new ArgumentNullException(nameof(legacyTokenPath)); + } + + /// Exécute un cycle de migration (idempotent, crash-safe). + public async Task MigrateAsync(CancellationToken cancellationToken = default) + { + string? secure = await _secureStore.GetAsync(cancellationToken); + bool legacyExists = File.Exists(_legacyTokenPath); + + // Cas 1 : sécurisé présent, ancien absent → rien à faire. + if (!string.IsNullOrWhiteSpace(secure) && !legacyExists) + { + return LegacyTokenMigrationOutcome.SecureOnly; + } + + // Cas 2 : sécurisé présent + ancien présent → le sécurisé fait foi. + // On ne supprime l'ancien que s'il est strictement identique. + if (!string.IsNullOrWhiteSpace(secure) && legacyExists) + { + string legacy = ReadLegacy(); + if (string.Equals(secure, legacy, StringComparison.Ordinal)) + { + TryDeleteLegacy(); + } + return LegacyTokenMigrationOutcome.SecurePrioritaire; + } + + // Cas 3 : sécurisé absent + ancien absent → aucune session. + if (!legacyExists) + { + return LegacyTokenMigrationOutcome.NoSession; + } + + // Cas 4 : sécurisé absent + ancien présent → migration. + string legacyToken = ReadLegacy(); + if (string.IsNullOrWhiteSpace(legacyToken)) + { + // Ancien fichier vide/blanc : traité comme absent. + TryDeleteLegacy(); + return LegacyTokenMigrationOutcome.NoSession; + } + + // Écriture sécurisée → relecture → vérification d'égalité exacte. + try + { + await _secureStore.SaveAsync(legacyToken, cancellationToken); + string? verify = await _secureStore.GetAsync(cancellationToken); + if (!string.Equals(legacyToken, verify, StringComparison.Ordinal)) + { + // Vérification échouée : conserver l'ancien fichier. + return LegacyTokenMigrationOutcome.MigrationFailed; + } + } + catch + { + // Échec d'écriture/lecture sécurisée : conserver l'ancien fichier. + return LegacyTokenMigrationOutcome.MigrationFailed; + } + + // Suppression de l'ancien fichier UNIQUEMENT après vérification réussie. + TryDeleteLegacy(); + return LegacyTokenMigrationOutcome.Migrated; + } + + private string ReadLegacy() + { + try + { + return File.ReadAllText(_legacyTokenPath); + } + catch + { + return string.Empty; + } + } + + private void TryDeleteLegacy() + { + try + { + if (File.Exists(_legacyTokenPath)) + { + File.Delete(_legacyTokenPath); + } + } + catch + { + // Best-effort : l'échec de suppression ne bloque jamais la session. + } + } +} diff --git a/src/Omika.App.Local/Services/AgendaService.cs b/src/Omika.App.Local/Services/AgendaService.cs new file mode 100644 index 0000000..a78fa07 --- /dev/null +++ b/src/Omika.App.Local/Services/AgendaService.cs @@ -0,0 +1,1121 @@ +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.Core.Contracts.Clients; +using Omika.Core.Contracts.Common; +using Omika.Core.Contracts.Interventions; +using Omika.Core.Contracts.Organisation; +using Omika.Core.Contracts.Planning; +using Omika.Core.Contracts.Sites; + +namespace Omika.App.Local.Services; + +/// +/// Service de lecture de l'Agenda depuis les données locales SQLite. +/// Ne déclenche aucun appel API : les données proviennent exclusivement du +/// dernier snapshot local (tables métier). Les rendez-vous sont enrichis avec +/// les informations Client/Site/Intervention disponibles localement. +/// +public sealed class AgendaService : IAgendaService +{ + private readonly ILocalRepository _rendezVousRepository; + private readonly ILocalRepository _clientRepository; + private readonly ILocalRepository _siteRepository; + private readonly ILocalRepository _interventionRepository; + private readonly ILocalRepository _collaborateurRepository; + private readonly IMobileApiClient _apiClient; + private readonly IMobileSessionService _sessionService; + + public AgendaService( + ILocalRepository rendezVousRepository, + ILocalRepository clientRepository, + ILocalRepository siteRepository, + ILocalRepository interventionRepository, + ILocalRepository collaborateurRepository, + IMobileApiClient apiClient, + IMobileSessionService sessionService) + { + _rendezVousRepository = rendezVousRepository; + _clientRepository = clientRepository; + _siteRepository = siteRepository; + _interventionRepository = interventionRepository; + _collaborateurRepository = collaborateurRepository; + _apiClient = apiClient; + _sessionService = sessionService; + } + + /// + public async Task> GetRendezVousForDayAsync( + DateTime date, + CancellationToken cancellationToken = default) + { + return await GetRendezVousForRangeAsync(date.Date, date.Date.AddDays(1), cancellationToken); + } + + /// + public async Task> GetRendezVousForRangeAsync( + DateTime startInclusive, + DateTime endExclusive, + CancellationToken cancellationToken = default) + { + // Charge les rendez-vous locaux (dernier snapshot) : UNE seule requête + // SQLite pour la plage entière (jamais une requête par jour). + IReadOnlyList localRendezVous = await _rendezVousRepository.GetAllAsync(cancellationToken); + + // Charge les références Client/Site/Intervention une seule fois pour + // enrichir tous les rendez-vous de la plage. + ReferenceCollections references = await LoadReferencesAsync(cancellationToken); + + DateTime start = startInclusive.Date; + DateTime end = endExclusive.Date; + + // Portée de la lecture locale : l'agenda embarqué est celui du + // collaborateur connecté. Sans cette portée, un rendez-vous de groupe + // produirait une carte par collaborateur dans l'agenda personnel. + IReadOnlyCollection? portee = await ResolveCollaborateursPorteeAsync(cancellationToken); + + var result = new List(); + + foreach (LocalRendezVous local in localRendezVous) + { + RendezVousDetailsDto? dto = JsonHelper.Deserialize(local.PayloadJson); + if (dto is null) + { + continue; + } + + // Règle métier : un rendez-vous ARCHIVÉ ne monte jamais dans le mobile. + // Garde-fou local (une copie peut dater d'un snapshot antérieur au + // filtre serveur). + if (dto.EstArchive) + { + continue; + } + + // Bornes robustes sur la partie date : 00:00 inclus, + // moins que lendemain 00:00 (donc 23:59 inclus, lendemain exclu). + // Le test porte sur l'INTERVALLE du rendez-vous, pas sur sa seule + // date de début : un rendez-vous groupé sur plusieurs jours reste + // visible sur chaque journée qu'il couvre (et un rendez-vous commencé + // avant la plage mais qui la couvre encore reste visible). + if (dto.Debut == default) + { + continue; + } + + DateTime debutRdv = dto.Debut.Date; + DateTime finRdv = (dto.Fin >= dto.Debut ? dto.Fin : dto.Debut).Date; + if (finRdv < start || debutRdv >= end) + { + continue; + } + + result.AddRange(MapToAgendaItems(dto, references, portee)); + } + + // Tri chronologique par heure de début. + result.Sort((a, b) => a.Debut.CompareTo(b.Debut)); + + return result; + } + + /// + public async Task GetRendezVousByIdAsync( + Guid rendezVousGuid, + CancellationToken cancellationToken = default, + string? affectationId = null) + { + RendezVousDetailsDto? dto = null; + + // Rafraîchit TOUJOURS depuis le serveur (les données locales peuvent être + // obsolètes ou absentes). En cas d'échec (offline), repli sur le snapshot local. + try + { + dto = await _apiClient.GetRendezVousByIdAsync(rendezVousGuid, cancellationToken); + // Un rendez-vous archivé ne monte JAMAIS dans le mobile : il n'est pas + // persisté localement et la fiche n'est pas ouverte. + if (dto is { EstArchive: true }) + { + return null; + } + + if (dto is not null) + { + await _rendezVousRepository.UpsertAsync(new LocalRendezVous + { + Id = rendezVousGuid, + ClientId = TryParseGuid(dto.ClientId), + SiteId = TryParseGuid(dto.SiteId), + DossierId = TryParseGuid(dto.DossierId), + InterventionId = TryParseGuid(dto.InterventionId), + PayloadJson = JsonHelper.Serialize(dto), + UpdatedAtUtc = DateTimeOffset.UtcNow + }, cancellationToken); + } + } + catch (OperationCanceledException) + { + throw; + } + catch + { + // Offline ou serveur indisponible : repli sur le snapshot local. + } + + if (dto is null) + { + LocalRendezVous? local = await _rendezVousRepository.GetByIdAsync(rendezVousGuid, cancellationToken); + dto = local is null + ? null + : JsonHelper.Deserialize(local.PayloadJson); + + if (dto is { EstArchive: true }) + { + return null; + } + } + + if (dto is null) + { + return null; + } + + ReferenceCollections references = await LoadReferencesAsync(cancellationToken); + + // Occurrence demandée (affectation précise) : la fiche conserve ainsi le + // créneau et le collaborateur réellement ouverts, même après un + // rafraîchissement qui relit le rendez-vous par son noyau. + if (!string.IsNullOrWhiteSpace(affectationId)) + { + return MapToAgendaItems(dto, references, null, affectationId).FirstOrDefault(); + } + + return MapToAgendaItem(dto, references); + } + + /// + /// Enrichit un élément d'agenda avec les informations d'accès du site lié, + /// récupérées À LA DEMANDE via l'API (GET /sites/{id}). Les champs d'accès + /// (code, badge, interphone, note) ne sont pas dénormalisés dans le DTO + /// RendezVous ; ils ne sont donc disponibles qu'en interrogeant le site. + /// Échec toléré (offline) : les valeurs locales sont conservées. + /// + public async Task EnrichSiteAccessAsync(AgendaItem item, CancellationToken cancellationToken = default) + { + if (item?.SiteGuid is not { } siteGuid) + { + return; + } + + SiteDetailsDto? site; + try + { + site = await _apiClient.GetSiteByIdAsync(siteGuid, cancellationToken); + } + catch (OperationCanceledException) + { + throw; + } + catch + { + // Offline : conserve les valeurs locales (éventuellement absentes). + return; + } + + if (site is null) + { + return; + } + + item.SiteCodeAcces = site.CodeAcces; + item.SiteBadge = site.Badge; + item.SiteInterphone = site.Interphone; + item.SiteNote = site.InformationsComplementaires; + item.SiteType = site.Type?.Label; + } + + /// + public async Task> GetRendezVousForCollaborateursAsync( + IReadOnlyList collaborateurGuids, + DateTime startInclusive, + DateTime endExclusive, + CancellationToken cancellationToken = default) + { + if (collaborateurGuids.Count == 0) + { + return []; + } + + // Références locales (repli) + champs dénormalisés portés par l'API. + ReferenceCollections references = await LoadReferencesAsync(cancellationToken); + + // UN seul aller-retour réseau pour toute l'équipe (bulk). + IReadOnlyList dtos = await _apiClient.GetRendezVousByCollaborateursAsync( + collaborateurGuids.Distinct().ToList(), + startInclusive, + endExclusive, + cancellationToken); + + // Une carte par AFFECTATION (collaborateur × jour) du périmètre demandé. + // Les rendez-vous archivés sont écartés : ils ne montent jamais dans le + // mobile (garde-fou face à une API antérieure au filtre serveur). + var result = dtos + .Where(dto => !dto.EstArchive) + .SelectMany(dto => MapToAgendaItems(dto, references, collaborateurGuids)) + .ToList(); + + // Tri chronologique par heure de début (période d'affectation rabattue). + result.Sort((a, b) => a.Debut.CompareTo(b.Debut)); + return result; + } + + /// + public async Task> GetRendezVousForCollaborateurAsync( + Guid collaborateurGuid, + DateTime startInclusive, + DateTime endExclusive, + CancellationToken cancellationToken = default) + { + // Références locales (repli) + champs dénormalisés portés par l'API. + ReferenceCollections references = await LoadReferencesAsync(cancellationToken); + + // Agenda personnel du collaborateur connecté : le serveur applique le + // filtre « Envoi_mobile » (les types non envoyés au mobile sont exclus). + IReadOnlyList dtos = await _apiClient.GetRendezVousByCollaborateurAsync( + collaborateurGuid, + startInclusive, + endExclusive, + cancellationToken); + + // Offline-first : le repli API se produit quand la plage locale est vide + // (ex. snapshot absent/incomplet, date hors fenêtre [-2 sem, +4 sem]). + // On persiste immédiatement les rendez-vous récupérés (et leurs + // interventions liées) afin qu'ils restent consultables hors connexion + // lors d'un retour à l'agenda — sans quoi l'agenda ne montrerait plus que + // les rendez-vous porteurs d'un brouillon (symptôme « un seul RDV »). + await PersistRendezVousAsync(dtos, cancellationToken); + await PersistLinkedInterventionsAsync(dtos, cancellationToken); + + // Une carte par AFFECTATION du collaborateur demandé : un rendez-vous de + // groupe sur plusieurs jours porte une affectation par jour, chacune avec + // son propre créneau. Les rendez-vous archivés sont écartés. + var result = dtos + .Where(dto => !dto.EstArchive) + .SelectMany(dto => MapToAgendaItems(dto, references, [collaborateurGuid])) + .ToList(); + + // Tri chronologique par heure de début (période d'affectation rabattue). + result.Sort((a, b) => a.Debut.CompareTo(b.Debut)); + return result; + } + + /// + /// Persiste dans la table locale « RendezVous » les rendez-vous récupérés à la + /// demande via l'API. La période d'affectation est rabattue AVANT persistance : + /// le filtre de plage de s'appuie sur + /// Debut, qui doit donc porter la date réelle du collaborateur. + /// + private async Task PersistRendezVousAsync( + IReadOnlyList dtos, + CancellationToken cancellationToken) + { + foreach (RendezVousDetailsDto dto in dtos) + { + // Un rendez-vous archivé n'est jamais persisté : il ne doit pas + // réapparaître dans l'agenda local (ni dans la fiche). + if (dto.EstArchive) + { + continue; + } + + RendezVousDetailsDto persisted = RabattrePeriodeAffectation(dto); + if (persisted.Debut == default || !Guid.TryParse(persisted.Id, out Guid id)) + { + continue; + } + + try + { + await _rendezVousRepository.UpsertAsync(new LocalRendezVous + { + Id = id, + ClientId = TryParseGuid(persisted.ClientId), + SiteId = TryParseGuid(persisted.SiteId), + DossierId = TryParseGuid(persisted.DossierId), + InterventionId = TryParseGuid(persisted.InterventionId), + PayloadJson = JsonHelper.Serialize(persisted) + }, cancellationToken); + } + catch (OperationCanceledException) + { + throw; + } + catch + { + // Échec de persistance isolé : ne bloque jamais l'affichage de + // l'agenda (le rendez-vous reste retourné en mémoire). + } + } + } + + /// + /// Persiste les interventions liées aux rendez-vous récupérés à la demande. + /// Best-effort : un échec (offline, droit, intervention inaccessible) ne + /// bloque jamais le chargement de l'agenda. Les interventions déjà présentes + /// localement ne sont pas re-téléchargées. + /// + private async Task PersistLinkedInterventionsAsync( + IReadOnlyList dtos, + CancellationToken cancellationToken) + { + IReadOnlyList interventionGuids = dtos + .Select(d => TryParseGuid(d.InterventionId)) + .Where(g => g is not null) + .Select(g => g!.Value) + .Distinct() + .ToList(); + + if (interventionGuids.Count == 0) + { + return; + } + + foreach (Guid guid in interventionGuids) + { + cancellationToken.ThrowIfCancellationRequested(); + try + { + LocalIntervention? existing = await _interventionRepository.GetByIdAsync(guid, cancellationToken); + if (existing is not null) + { + continue; + } + + InterventionDetailsDto? dto = await _apiClient.GetInterventionByIdAsync(guid, cancellationToken); + if (dto is null) + { + continue; + } + + await _interventionRepository.UpsertAsync(new LocalIntervention + { + Id = guid, + ClientId = TryParseGuid(dto.ClientId), + SiteId = TryParseGuid(dto.SiteId), + DossierId = TryParseGuid(dto.DossierId), + PayloadJson = JsonHelper.Serialize(dto) + }, cancellationToken); + } + catch (OperationCanceledException) + { + throw; + } + catch + { + // Offline ou intervention inaccessible : on conserve l'existant. + } + } + } + + private async Task LoadReferencesAsync(CancellationToken cancellationToken) + { + IReadOnlyList clients = await _clientRepository.GetAllAsync(cancellationToken); + IReadOnlyList sites = await _siteRepository.GetAllAsync(cancellationToken); + IReadOnlyList interventions = await _interventionRepository.GetAllAsync(cancellationToken); + IReadOnlyList collaborateurs = await _collaborateurRepository.GetAllAsync(cancellationToken); + + var clientById = clients + .Select(c => (c.Id, Dto: JsonHelper.Deserialize(c.PayloadJson))) + .Where(x => x.Dto is not null) + .ToDictionary(x => x.Id, x => x.Dto!); + + var siteById = sites + .Select(s => (s.Id, Dto: JsonHelper.Deserialize(s.PayloadJson))) + .Where(x => x.Dto is not null) + .ToDictionary(x => x.Id, x => x.Dto!); + + var interventionById = interventions + .Select(i => (i.Id, Dto: JsonHelper.Deserialize(i.PayloadJson))) + .Where(x => x.Dto is not null) + .ToDictionary(x => x.Id, x => x.Dto!); + + var collaborateurById = collaborateurs + .Select(c => (c.Id, Dto: JsonHelper.Deserialize(c.PayloadJson))) + .Where(x => x.Dto is not null) + .ToDictionary(x => x.Id, x => x.Dto!); + + return new ReferenceCollections( + clientById, + siteById, + interventionById, + collaborateurById, + await ChargerAnnuaireCollaborateursAsync(cancellationToken)); + } + + /// + /// Annuaire local des collaborateurs (identité publique → nom affiché), lu + /// depuis le bootstrap : c'est la SEULE source de noms disponible hors + /// connexion sur un appareil mobile. + /// + /// + /// Le snapshot mobile ne transporte JAMAIS les collaborateurs en bloc (voir + /// MobileSnapshotService : ils sont récupérés à la demande) et + /// l'affectation d'un rendez-vous n'est pas dénormalisée avec le nom du + /// collaborateur. Sans cet annuaire, un rendez-vous affichait donc un + /// collaborateur vide — dans l'agenda comme dans la fiche. + /// + /// + /// + /// Lecture locale et best-effort : un bootstrap absent ou illisible laisse + /// l'annuaire vide. Aucun nom n'est inventé et aucune exception ne remonte. + /// + /// + private async Task> ChargerAnnuaireCollaborateursAsync( + CancellationToken cancellationToken) + { + var annuaire = new Dictionary(); + + try + { + LocalBootstrapState? bootstrap = await _sessionService.GetBootstrapAsync(cancellationToken); + if (bootstrap is null) + { + return annuaire; + } + + AjouterAnnuaire(annuaire, bootstrap.Collaborateurs); + + // Les équipes portent les mêmes collaborateurs (avec leur nom) : + // elles complètent l'annuaire quand celui-ci est partiel. + foreach (EquipeDto equipe in bootstrap.Equipes) + { + AjouterAnnuaire(annuaire, equipe.Collaborateurs); + } + + if (bootstrap.Collaborateur is { } moi + && Guid.TryParse(moi.Id, out Guid idMoi) + && BuildCollaborateurNom(moi) is { } nomMoi) + { + annuaire.TryAdd(idMoi, nomMoi); + } + } + catch (OperationCanceledException) + { + throw; + } + catch + { + // Bootstrap indisponible : l'annuaire reste vide (repli silencieux). + } + + return annuaire; + } + + /// + /// Éclate un rendez-vous en AUTANT d'occurrences que d'affectations + /// (RDV_Collaborateur) : une carte par collaborateur et par jour, avec + /// la date, les heures et le collaborateur de la ligne réelle. + /// + /// + /// limite les occurrences aux + /// collaborateurs consultés (agenda personnel ou équipe) ; + /// cible une affectation précise (fiche ouverte depuis une carte). + /// + /// + /// + /// Sans affectation datée exploitable, l'élément décrit l'enveloppe du + /// rendez-vous (aucune date n'est inventée). + /// + /// + private static IReadOnlyList MapToAgendaItems( + RendezVousDetailsDto dto, + ReferenceCollections references, + IReadOnlyCollection? collaborateursPortee = null, + string? affectationId = null) + { + var occurrences = new List(); + var creneauxVus = new HashSet(StringComparer.OrdinalIgnoreCase); + + foreach (AffectationCollaborateurDto affectation in dto.Collaborateurs) + { + if (!string.IsNullOrWhiteSpace(affectationId)) + { + if (!string.Equals(affectation.Id, affectationId, StringComparison.OrdinalIgnoreCase)) + { + continue; + } + } + else if (collaborateursPortee is { Count: > 0 }) + { + Guid? collaborateurGuidAffecte = TryParseGuid(affectation.CollaborateurId); + if (collaborateurGuidAffecte is null + || !collaborateursPortee.Contains(collaborateurGuidAffecte.Value)) + { + continue; + } + } + + if (affectation.PeriodeDebut is not DateTime debut || debut == default) + { + continue; + } + + DateTime fin = affectation.PeriodeFin is DateTime finAffectation && finAffectation >= debut + ? finAffectation + : debut; + + // Lignes d'affectation dupliquées (même collaborateur, même créneau) : + // une seule carte, jamais de doublon dans la journée. + string identite = string.IsNullOrWhiteSpace(affectation.Id) + ? $"{affectation.CollaborateurId}|{debut:O}|{fin:O}" + : affectation.Id!; + if (!creneauxVus.Add(identite)) + { + continue; + } + + occurrences.Add(MapToAgendaItem( + dto, + references, + debut, + fin, + ResolveAffectationNom(affectation, references), + affectation.Id, + TryParseGuid(affectation.CollaborateurId))); + } + + if (occurrences.Count == 0) + { + return [MapToAgendaItem(dto, references)]; + } + + return occurrences; + } + + /// + /// Jours couverts par le rendez-vous : réunion des journées de toutes ses + /// affectations (une affectation peut elle-même couvrir plusieurs jours), avec + /// pour CHAQUE journée le créneau réellement occupé — du premier démarrage au + /// dernier arrêt de la journée lorsque plusieurs collaborateurs interviennent + /// le même jour. Alimente le bloc informatif « rendez-vous groupé » de la + /// fiche, qui présente les jours ET leurs horaires. + /// + private static IReadOnlyList ResolveJoursRendezVous(RendezVousDetailsDto dto) + { + const int NombreJoursMaximum = 400; + var parJour = new SortedDictionary(); + + foreach (AffectationCollaborateurDto affectation in dto.Collaborateurs) + { + if (affectation.PeriodeDebut is not DateTime debut || debut == default) + { + continue; + } + + DateTime fin = affectation.PeriodeFin is DateTime finAffectation && finAffectation >= debut + ? finAffectation + : debut; + + AjouterPlage(parJour, debut, fin, NombreJoursMaximum); + } + + if (parJour.Count == 0 && dto.Debut != default) + { + DateTime fin = dto.Fin >= dto.Debut ? dto.Fin : dto.Debut; + AjouterPlage(parJour, dto.Debut, fin, NombreJoursMaximum); + } + + return parJour + .Select(jour => new JourRendezVous(jour.Key, jour.Value.Debut, jour.Value.Fin)) + .ToList(); + } + + /// + /// Répartit une période sur ses journées et fusionne le résultat avec les + /// plages déjà connues : chaque journée retient le créneau le plus large + /// (premier démarrage, dernière fin) de tous les collaborateurs affectés ce + /// jour-là. La fin d'une journée est bornée à la dernière minute du jour. + /// + private static void AjouterPlage( + SortedDictionary parJour, + DateTime debut, + DateTime fin, + int nombreJoursMaximum) + { + for (DateTime jour = debut.Date; jour <= fin.Date && parJour.Count < nombreJoursMaximum; jour = jour.AddDays(1)) + { + DateTime jourSuivant = jour.AddDays(1); + DateTime debutJour = debut > jour ? debut : jour; + DateTime finJour = fin < jourSuivant ? fin : jourSuivant.AddMinutes(-1); + + if (finJour < debutJour) + { + continue; + } + + if (parJour.TryGetValue(jour, out (DateTime Debut, DateTime Fin) existante)) + { + parJour[jour] = ( + existante.Debut < debutJour ? existante.Debut : debutJour, + existante.Fin > finJour ? existante.Fin : finJour); + } + else + { + parJour[jour] = (debutJour, finJour); + } + } + } + + /// + /// Journées de CHAQUE collaborateur affecté : une entrée par collaborateur, + /// portant uniquement les journées où il a réellement une affectation. + /// + /// + /// Un rendez-vous de groupe crée une affectation par collaborateur ET par jour : + /// réunir tous les créneaux (voir ) donne + /// l'enveloppe de l'équipe, où chaque collaborateur « hérite » des heures des + /// autres. La fiche, elle, présente les journées du collaborateur dont + /// l'occurrence est ouverte : d'où ce calcul PAR collaborateur. + /// + /// + private static IReadOnlyList ResolveJoursParCollaborateur(RendezVousDetailsDto dto) + { + const int NombreJoursMaximum = 400; + var parCollaborateur = new Dictionary>(); + var ordre = new List(); + + foreach (AffectationCollaborateurDto affectation in dto.Collaborateurs) + { + Guid? collaborateurGuid = TryParseGuid(affectation.CollaborateurId); + if (collaborateurGuid is not { } collab + || affectation.PeriodeDebut is not DateTime debut + || debut == default) + { + continue; + } + + DateTime fin = affectation.PeriodeFin is DateTime finAffectation && finAffectation >= debut + ? finAffectation + : debut; + + if (!parCollaborateur.TryGetValue(collab, out SortedDictionary? jours)) + { + jours = new SortedDictionary(); + parCollaborateur[collab] = jours; + ordre.Add(collab); + } + + AjouterPlage(jours, debut, fin, NombreJoursMaximum); + } + + return ordre + .Select(collab => new JoursParCollaborateur( + collab, + parCollaborateur[collab] + .Select(jour => new JourRendezVous(jour.Key, jour.Value.Debut, jour.Value.Fin)) + .ToList())) + .ToList(); + } + + /// + /// Portée de la lecture LOCALE : l'agenda embarqué est celui du collaborateur + /// connecté (bootstrap local). Retourne null quand l'identité n'est pas + /// disponible : toutes les affectations sont alors présentées. + /// + private async Task?> ResolveCollaborateursPorteeAsync( + CancellationToken cancellationToken) + { + try + { + LocalBootstrapState? bootstrap = await _sessionService.GetBootstrapAsync(cancellationToken); + return Guid.TryParse(bootstrap?.Collaborateur?.Id, out Guid guid) && guid != Guid.Empty + ? [guid] + : null; + } + catch (OperationCanceledException) + { + throw; + } + catch + { + // Bootstrap illisible : aucune portée (comportement de repli). + return null; + } + } + + private static void AjouterAnnuaire( + Dictionary annuaire, + IEnumerable collaborateurs) + { + foreach (CollaborateurSummaryDto collaborateur in collaborateurs) + { + if (Guid.TryParse(collaborateur.Id, out Guid id) + && !string.IsNullOrWhiteSpace(collaborateur.NomAffiche)) + { + annuaire.TryAdd(id, collaborateur.NomAffiche.Trim()); + } + } + } + + /// + /// Construit UNE occurrence d'agenda : une carte par affectation + /// (RDV_Collaborateur), c'est-à-dire par collaborateur et par jour. + /// + /// + /// Les paramètres d'occurrence permettent de porter le créneau et le + /// collaborateur RÉELS de la ligne cliquée ; sans eux l'élément décrit + /// l'enveloppe du rendez-vous (compatibilité Batik, où il n'existe qu'une + /// affectation par rendez-vous). + /// + /// + private static AgendaItem MapToAgendaItem( + RendezVousDetailsDto dto, + ReferenceCollections references, + DateTime? debutOccurrence = null, + DateTime? finOccurrence = null, + string? collaborateurOccurrence = null, + string? affectationId = null, + Guid? collaborateurOccurrenceGuid = null) + { + // Règle Omika : la date réelle est portée par l'affectation + // (RVC_DateDeb/RVC_DateFin), pas par la racine RDV_Planning.RV_Date. + // On rabat la période de la première affectation datée AVANT le mapping, + // sinon la fiche rendez-vous affiche un créneau vide (01/01/0001). + dto = RabattrePeriodeAffectation(dto); + + Guid? clientGuid = TryParseGuid(dto.ClientId); + Guid? siteGuid = TryParseGuid(dto.SiteId); + Guid? interventionGuid = TryParseGuid(dto.InterventionId); + + ClientDetailsDto? client = clientGuid is not null && references.Clients.TryGetValue(clientGuid.Value, out var c) ? c : null; + SiteDetailsDto? site = siteGuid is not null && references.Sites.TryGetValue(siteGuid.Value, out var s) ? s : null; + InterventionDetailsDto? intervention = interventionGuid is not null && references.Interventions.TryGetValue(interventionGuid.Value, out var i) ? i : null; + + // L'adresse de l'intervention est portée par le SITE de l'intervention + // (IN_IDLieu), pas par le site éventuellement lié au rendez-vous. + Guid? interventionSiteGuid = TryParseGuid(intervention?.SiteId); + SiteDetailsDto? interventionSite = interventionSiteGuid is not null + && references.Sites.TryGetValue(interventionSiteGuid.Value, out var interventionSiteDto) + ? interventionSiteDto + : null; + + // Le nom / l'adresse affichés privilégient le site de l'intervention + // (source métier de l'adresse), avec repli sur le site du rendez-vous. + SiteDetailsDto? sitePourAffichage = interventionSite ?? site; + + // Collaborateurs affectés : identités publiques (pour le filtrage par + // équipe/collaborateur) + noms affichés dédupliqués (pour la présentation). + var collaborateurGuids = new List(); + var collaborateursTempsValides = new List(); + var collaborateurNoms = new List(); + foreach (AffectationCollaborateurDto affectation in dto.Collaborateurs) + { + Guid? affectationGuid = TryParseGuid(affectation.CollaborateurId); + if (affectationGuid is not null) + { + collaborateurGuids.Add(affectationGuid.Value); + + // Temps validé PAR AFFECTATION (RDV_Collaborateur.RVC_TempsValide) : + // on mémorise le collaborateur dont l'affectation est validée, afin + // que la fiche détail puisse distinguer le collaborateur courant + // (RDV groupe) au lieu d'agréger sur toutes les affectations. + if (affectation.TempsValide) + { + collaborateursTempsValides.Add(affectationGuid.Value); + } + } + + string? nom = ResolveAffectationNom(affectation, references); + if (!string.IsNullOrWhiteSpace(nom)) + { + collaborateurNoms.Add(nom.Trim()); + } + } + + IReadOnlyList jours = ResolveJoursRendezVous(dto); + + // Collaborateur de l'affectation OUVERTE : celui à qui appartient le + // rendez-vous présenté. Sans affectation identifiée (Batik, ouverture par + // lien), c'est le premier affecté — le même que CollaborateurNom. + Guid? occurrenceGuid = collaborateurOccurrenceGuid; + if (occurrenceGuid is null || occurrenceGuid == Guid.Empty) + { + Guid premier = collaborateurGuids.FirstOrDefault(); + occurrenceGuid = premier == Guid.Empty ? null : premier; + } + + return new AgendaItem + { + RendezVousGuid = Guid.Parse(dto.Id), + AffectationId = affectationId, + JoursDuGroupe = jours.Select(j => j.Jour).ToList(), + JoursAvecHoraires = jours, + JoursParCollaborateur = ResolveJoursParCollaborateur(dto), + // Le collaborateur de l'affectation ouverte est celui à qui appartient + // le rendez-vous présenté (voir occurrenceGuid ci-dessus). + CollaborateurOccurrenceGuid = occurrenceGuid, + InterventionGuid = interventionGuid, + ClientGuid = clientGuid, + // Site affiché (celui de l'intervention, sinon celui du RDV) : sert à + // la navigation « Voir la fiche du lieu ». + SiteGuid = interventionSiteGuid ?? siteGuid, + Titre = dto.Titre, + Description = dto.Description, + Debut = debutOccurrence ?? dto.Debut, + Fin = finOccurrence ?? dto.Fin, + TypeActivite = dto.TypeActivite?.Label, + TypeActiviteKey = ResolveReferenceKey(dto.TypeActivite), + Statut = dto.Statut?.Label, + StatutKey = ResolveReferenceKey(dto.Statut), + CollaborateurNom = collaborateurOccurrence ?? collaborateurNoms.FirstOrDefault(), + CollaborateurGuids = collaborateurGuids.Distinct().ToList(), + CollaborateursTempsValides = collaborateursTempsValides.Distinct().ToList(), + Collaborateurs = collaborateurNoms.Distinct(StringComparer.OrdinalIgnoreCase).ToList(), + TempsValide = dto.Collaborateurs.Any(a => a.TempsValide), + ClientNom = dto.ClientNom ?? client?.Nom, + SiteNom = dto.SiteNom ?? sitePourAffichage?.Nom, + SiteAdresse = dto.SiteAdresse ?? FormatSiteAdresse(sitePourAffichage), + SiteAcces = sitePourAffichage?.InformationsComplementaires, + SiteCodeAcces = sitePourAffichage?.CodeAcces, + SiteBadge = sitePourAffichage?.Badge ?? false, + SiteInterphone = sitePourAffichage?.Interphone ?? false, + SiteNote = sitePourAffichage?.InformationsComplementaires, + InterventionReference = dto.InterventionReference ?? intervention?.Reference, + InterventionNumeroDevis = dto.InterventionNumeroDevis ?? intervention?.NumeroDevis, + InterventionReferenceExterne = dto.InterventionReferenceExterne ?? intervention?.ReferenceExterne, + InterventionTitre = intervention?.Titre, + InterventionDescription = intervention?.Description, + Contacts = dto.Contacts + .Select(c => new RendezVousContactItem + { + NomAffiche = c.NomAffiche, + Email = c.Email, + Telephone = c.Telephone + }) + .ToList(), + // L'état « annulé » est porté par le STATUT (S.RDV.ANNU / « Annulé »), + // pas par la présence des champs d'annulation : un rendez-vous dont le + // statut a été remis à « Confirmé » ne doit plus apparaître annulé. + EstAnnule = dto.EstArchive || EstStatutAnnule(dto.Statut), + OrigineAnnulationLabel = ResolveReferenceLabel(dto.Annulation?.Origine), + MotifAnnulationLabel = ResolveReferenceLabel(dto.Annulation?.Motif), + EstTouteLaJournee = dto.EstTouteLaJournee, + EstSav = dto.EstSav, + AvecCompteRendu = dto.AvecCompteRendu, + // Rendez-vous groupé : le serveur le signale explicitement (Omika : + // plusieurs affectations sur le même noyau ; Batik : PL_IDGroupe > 0). + // Le repli « plusieurs collaborateurs affectés » couvre les snapshots + // antérieurs à l'ajout du champ, afin que l'avertissement d'annulation + // reste affiché. + EstGroupe = dto.EstGroupe || dto.Collaborateurs.Count > 1 + }; + } + + /// + /// Rabat la période d'affectation (PeriodeDebut / PeriodeFin) sur Debut/Fin + /// lorsque la racine ne porte pas de date exploitable (RV_Date vide → Debut + /// = default). L'enveloppe des affectations datées est retenue (début le plus + /// tôt, fin la plus tardive) : un rendez-vous groupé sur plusieurs jours porte + /// une affectation par jour. Aucune date n'est inventée : un rendez-vous sans + /// date exploitable reste « à attribuer ». + /// + private static RendezVousDetailsDto RabattrePeriodeAffectation(RendezVousDetailsDto rdv) + { + if (rdv.Debut != default) + { + return rdv; + } + + var periodes = new List<(DateTime Debut, DateTime Fin)>(); + foreach (AffectationCollaborateurDto affectation in rdv.Collaborateurs) + { + if (affectation.PeriodeDebut is not DateTime debut || debut == default) + { + continue; + } + + DateTime fin = affectation.PeriodeFin is DateTime finAffectation && finAffectation >= debut + ? finAffectation + : debut; + periodes.Add((debut, fin)); + } + + if (periodes.Count == 0) + { + return rdv; + } + + return rdv with + { + Debut = periodes.Min(p => p.Debut), + Fin = periodes.Max(p => p.Fin) + }; + } + + /// + /// Construit une adresse d'affichage sur une ligne à partir du site : + /// la ligne préformatée si disponible, + /// sinon un assemblage Code postal + Ville, sinon la première ligne d'adresse. + /// + private static string? FormatSiteAdresse(SiteDetailsDto? site) + { + AddressDto? adresse = site?.Adresse; + if (adresse is null) + { + return null; + } + + if (!string.IsNullOrWhiteSpace(adresse.OneLine)) + { + return adresse.OneLine; + } + + string? codeVille = string.IsNullOrWhiteSpace(adresse.PostalCode) + ? adresse.City + : string.IsNullOrWhiteSpace(adresse.City) + ? adresse.PostalCode + : $"{adresse.PostalCode} {adresse.City}"; + + if (!string.IsNullOrWhiteSpace(codeVille)) + { + return codeVille; + } + + return string.IsNullOrWhiteSpace(adresse.Line1) ? null : adresse.Line1; + } + + private static Guid? TryParseGuid(string? value) + { + return Guid.TryParse(value, out Guid guid) ? guid : null; + } + + /// + /// Clé métier effective d'une valeur de référentiel. Le schéma Omika porte la + /// clé canonique (PA_CLE) dans ; + /// le schéma Batik n'a pas de clé séparée et utilise le libellé + /// (PA_Libelle) comme clé métier. On retombe donc sur le libellé quand + /// la clé est vide, afin que la résolution (couleur, Envoi_mobile…) puisse + /// retrouver le paramètre métier dans les deux schémas. + /// + private static string? ResolveReferenceKey(ReferenceValueDto? reference) + { + if (reference is null) + { + return null; + } + + if (!string.IsNullOrWhiteSpace(reference.Key)) + { + return reference.Key; + } + + return string.IsNullOrWhiteSpace(reference.Label) ? null : reference.Label; + } + + /// + /// Libellé d'affichage d'une valeur de référentiel. Utilisé pour présenter le + /// motif et l'origine d'une annulation. À défaut de libellé, la clé métier + /// sert de repli (jamais de libellé inventé). + /// + private static string? ResolveReferenceLabel(ReferenceValueDto? reference) + { + if (reference is null) + { + return null; + } + + if (!string.IsNullOrWhiteSpace(reference.Label)) + { + return reference.Label; + } + + return string.IsNullOrWhiteSpace(reference.Key) ? null : reference.Key; + } + + /// + /// Indique si un statut de rendez-vous correspond à « Annulé » : clé métier + /// S.RDV.ANNU (Omika) ou libellé contenant « annul » (Batik). + /// + private static bool EstStatutAnnule(ReferenceValueDto? statut) + { + if (statut is null) + { + return false; + } + + if (string.Equals(statut.Key, "S.RDV.ANNU", StringComparison.OrdinalIgnoreCase)) + { + return true; + } + + return statut.Label is not null + && statut.Label.Contains("annul", StringComparison.OrdinalIgnoreCase); + } + + /// + /// Résout le nom affiché d'une affectation collaborateur : valeur portée par + /// l'affectation, sinon la table locale des collaborateurs, sinon l'annuaire + /// du bootstrap. Aucun nom n'est inventé : une affectation non résolvable + /// reste sans nom plutôt que d'afficher un identifiant technique. + /// + private static string? ResolveAffectationNom( + AffectationCollaborateurDto affectation, + ReferenceCollections references) + { + if (!string.IsNullOrWhiteSpace(affectation.NomAffiche)) + { + return affectation.NomAffiche.Trim(); + } + + Guid? collaborateurGuid = TryParseGuid(affectation.CollaborateurId); + if (collaborateurGuid is null) + { + return null; + } + + if (references.Collaborateurs.TryGetValue(collaborateurGuid.Value, out CollaborateurDetailsDto? collaborateur) + && BuildCollaborateurNom(collaborateur) is { } nom) + { + return nom; + } + + // Repli final : annuaire du bootstrap local (disponible hors connexion). + return references.AnnuaireCollaborateurs.TryGetValue(collaborateurGuid.Value, out string? nomAnnuaire) + ? nomAnnuaire + : null; + } + + private static string? BuildCollaborateurNom(CollaborateurDetailsDto collaborateur) + { + if (!string.IsNullOrWhiteSpace(collaborateur.NomAffiche)) + { + return collaborateur.NomAffiche.Trim(); + } + + string prenom = collaborateur.Prenom?.Trim() ?? string.Empty; + string nom = collaborateur.Nom?.Trim() ?? string.Empty; + + if (prenom.Length > 0 && nom.Length > 0) + { + return $"{prenom} {nom}"; + } + + return prenom.Length > 0 ? prenom : nom.Length > 0 ? nom : null; + } + + /// + /// Regroupe les références Client/Site/Intervention/Collaborateur chargées + /// une seule fois pour enrichir les rendez-vous. + /// + /// + /// Noms affichés des collaborateurs issus du bootstrap local, par identité + /// publique. Sert de repli lorsque ni l'affectation ni la table locale ne + /// portent le nom (cas courant en mobilité). + /// + private sealed record ReferenceCollections( + IReadOnlyDictionary Clients, + IReadOnlyDictionary Sites, + IReadOnlyDictionary Interventions, + IReadOnlyDictionary Collaborateurs, + IReadOnlyDictionary AnnuaireCollaborateurs); +} diff --git a/src/Omika.App.Local/Services/AideMobileCatalog.cs b/src/Omika.App.Local/Services/AideMobileCatalog.cs new file mode 100644 index 0000000..5abe6b0 --- /dev/null +++ b/src/Omika.App.Local/Services/AideMobileCatalog.cs @@ -0,0 +1,502 @@ +using Omika.App.Local.Models; + +namespace Omika.App.Local.Services; + +/// +/// Catalogue d'aide contextuelle mobile EMBARQUÉ (filet de sécurité hors +/// connexion). +/// +/// +/// La source de référence est le SERVEUR : table Doc_Aide sur base Omika, +/// fichier doc_aide.json déployé à côté de appsettings.Production.json +/// sur base Batik. L'application la synchronise au lancement +/// (DocAideSyncService) et remplace alors ces textes, clé par clé. +/// +/// +/// +/// Ce catalogue n'est amorcé dans la table technique « DocAide » qu'au démarrage, +/// avant la synchronisation : il garantit qu'une première installation hors +/// connexion a déjà de l'aide à afficher. Le Contenu est du HTML +/// (sous-ensemble rendu par EmailHtmlPreviewControl : <p>, <b>, +/// <i>, <u>, <br>, <table>), jamais du RTF. +/// +/// +public static class AideMobileCatalog +{ + /// + /// Entrées du catalogue, clés par . + /// Les clés suivent la convention mobile_<écran> (miroir des + /// DA_Fenetre de la table serveur Doc_Aide). + /// + public static IReadOnlyList Entries { get; } = + [ + new() + { + Fenetre = "mobile_agenda", + Titre = "Agenda personnel", + Tags = "mobile,agenda,planning", + Contenu = + "

Votre planning personnel. Affiche les rendez-vous du jour, de la semaine ou du mois, sans aucun appel réseau : tout est lu localement, même hors connexion.

" + + "

Comment faire

" + + "

• Jour, Semaine, Calendrier : changez de vue.

" + + "

• Aujourd'hui : revenez à la date du jour.

" + + "

• ‹ et › : changez de période.

" + + "

• Touchez un rendez-vous pour ouvrir sa fiche.

" + + "

Attention

" + + "

• Aucune création ni modification ici : les actions se font dans la fiche du rendez-vous.

" + }, + new() + { + Fenetre = "mobile_interventions", + Titre = "Recherche d'interventions", + Tags = "mobile,interventions,recherche", + Contenu = + "

Retrouvez une intervention par référence, client, site, collaborateur, état ou type.

" + + "

Comment faire

" + + "

• Rechercher les interventions : lance la recherche.

" + + "

• Réinitialiser : vide les filtres.

" + + "

• Onglets Récentes et Épinglées : retrouvent votre dernière recherche et vos favoris.

" + + "

• L'étoile sur une carte épingle ou désépingle l'intervention.

" + + "

Attention

" + + "

• Cet écran n'est visible que si votre profil a le droit de rechercher des interventions.

" + + "

• La recherche appelle le serveur : hors connexion, seul le cache déjà enregistré s'affiche.

" + }, + new() + { + Fenetre = "mobile_dossiers", + Titre = "Dossiers", + Tags = "mobile,dossiers,recherche", + Contenu = + "

Recherchez un dossier et consultez les interventions qui lui sont liées.

" + + "

Comment faire

" + + "

• Rechercher puis Réinitialiser gèrent la recherche.

" + + "

• Onglets Récentes et Épinglées : dernière recherche et favoris.

" + + "

• L'étoile épingle ou désépingle un dossier.

" + + "

Attention

" + + "

• Écran soumis au droit Voir les dossiers.

" + + "

• Le contenu est lu localement puis rafraîchi à la demande.

" + }, + new() + { + Fenetre = "mobile_equipe", + Titre = "Équipes", + Tags = "mobile,equipe,equipes", + Contenu = + "

Liste des équipes auxquelles vous appartenez.

" + + "

Comment faire

" + + "

• Touchez une équipe pour ouvrir sa fiche et voir ses membres.

" + + "

Attention

" + + "

• Aucune création ni modification d'équipe ici : c'est une consultation.

" + }, + new() + { + Fenetre = "mobile_equipe_detail", + Titre = "Membres de l'équipe", + Tags = "mobile,equipe,membres", + Contenu = + "

Liste des membres d'une équipe.

" + + "

Comment faire

" + + "

• Touchez un collaborateur pour ouvrir sa fiche.

" + + "

• Les boutons d'appel et d'email sont disponibles si des coordonnées existent.

" + + "

Attention

" + + "

• Le bouton d'email est désactivé hors connexion : un email ne peut être envoyé qu'en ligne.

" + + "

• Lecture seule.

" + }, + new() + { + Fenetre = "mobile_clients", + Titre = "Clients", + Tags = "mobile,clients,recherche", + Contenu = + "

Recherchez un client par nom ou code.

" + + "

Comment faire

" + + "

• Rechercher puis Réinitialiser gèrent la recherche.

" + + "

• Onglets Récentes et Épinglés.

" + + "

• L'étoile épingle ou désépingle un client.

" + + "

Attention

" + + "

• Écran soumis au droit Voir les clients.

" + }, + new() + { + Fenetre = "mobile_sites", + Titre = "Sites", + Tags = "mobile,sites,recherche", + Contenu = + "

Recherchez un site ou lieu d'intervention.

" + + "

Comment faire

" + + "

• Rechercher puis Réinitialiser gèrent la recherche.

" + + "

• Onglets Récentes et Épinglés.

" + + "

• L'étoile épingle ou désépingle un site.

" + + "

Attention

" + + "

• Écran soumis au droit Voir les sites.

" + }, + new() + { + Fenetre = "mobile_parametres", + Titre = "Paramètres", + Tags = "mobile,parametres,reglages", + Contenu = + "

Réglages de l'application, répartis en trois onglets : Apparence, Langues, Général.

" + + "

Comment faire

" + + "

• Apparence : thème clair/sombre/système et couleur principale (avec Appliquer la couleur personnalisée).

" + + "

• Général : pause déjeuner (Enregistrer les horaires), Synchroniser maintenant, maintenance des données, Envoyer un email au support.

" + + "

Attention

" + + "

• Supprimer toutes les données et Supprimer le compte (réinitialiser) sont irréversibles : elles effacent les données locales et déconnectent l'application.

" + }, + new() + { + Fenetre = "mobile_rendezvous", + Titre = "Fiche rendez-vous", + Tags = "mobile,rendezvous,detail", + Contenu = + "

Tout ce qui concerne un rendez-vous : contacts, temps, annulation, finalisation.

" + + "

Comment faire

" + + "

• ⌖ Lancer l'itinéraire : ouvre la navigation GPS.

" + + "

• Voir la fiche du lieu : ouvre le site lié.

" + + "

• + Ajouter un temps : saisit un temps.

" + + "

• Modifier / Supprimer : agissent sur un temps saisi.

" + + "

• ✓ Valider le rendez-vous : finalise le rendez-vous.

" + + "

• Annuler le rendez-vous : annule avec motif.

" + + "

Attention

" + + "

• Une annulation est définitive une fois synchronisée.

" + + "

• La finalisation exige des temps validés : sans temps valide, le bouton de validation reste inopérant.

" + }, + new() + { + Fenetre = "mobile_agenda_equipe", + Titre = "Agenda d'équipe", + Tags = "mobile,agenda,equipe,planning", + Contenu = + "

Planning d'une équipe ou d'un collaborateur.

" + + "

Comment faire

" + + "

• Choisissez une équipe ou un collaborateur dans les filtres.

" + + "

• Jour, Semaine, Calendrier : changez de vue.

" + + "

• Aujourd'hui, ‹, › : naviguez dans les dates.

" + + "

Attention

" + + "

• Écran soumis au droit Voir l'agenda d'équipe.

" + + "

• Consultation seule.

" + }, + new() + { + Fenetre = "mobile_intervention", + Titre = "Fiche intervention", + Tags = "mobile,intervention,detail", + Contenu = + "

La fiche complète d'une intervention : contacts, documents, notes, courriels, rapport.

" + + "

Comment faire

" + + "

• Utilisez les onglets pour ouvrir les sous-écrans (contacts, documents, notes, courriels).

" + + "

• Modifier : ouvre le formulaire d'édition.

" + + "

• Archiver : archive l'intervention.

" + + "

Attention

" + + "

• Archiver est irréversible une fois synchronisé.

" + + "

• Les modifications sont enregistrées localement puis envoyées (offline-first).

" + + "

• Hors connexion, les cartes Courriels et Rapports restent visibles mais désactivées (elles passent par le serveur) ; le reste de la fiche reste consultable.

" + }, + new() + { + Fenetre = "mobile_intervention_documents", + Titre = "Documents et photos", + Tags = "mobile,intervention,documents,photos", + Contenu = + "

Documents et photos de l'intervention.

" + + "

Comment faire

" + + "

• Ajouter une photo : choisit une image du téléphone.

" + + "

• Prendre une photo : capture avec l'appareil photo.

" + + "

• Ajouter un document : ajoute un fichier.

" + + "

• Télécharger : récupère un document pour le lire hors connexion.

" + + "

Attention

" + + "

• Le poids des photos est limité par la politique du client (optimisation automatique).

" + + "

• Un document n'est lisible hors connexion qu'après avoir été téléchargé.

" + }, + new() + { + Fenetre = "mobile_intervention_notes", + Titre = "Notes internes", + Tags = "mobile,intervention,notes", + Contenu = + "

Notes internes de l'intervention.

" + + "

Comment faire

" + + "

• Ajouter la note : crée une nouvelle note.

" + + "

Attention

" + + "

• Les notes sont enregistrées hors connexion puis synchronisées.

" + }, + new() + { + Fenetre = "mobile_intervention_notes_admin", + Titre = "Notes administratives", + Tags = "mobile,intervention,notes,administratives", + Contenu = + "

Notes administratives de l'intervention.

" + + "

Comment faire

" + + "

• Ajouter la note : crée une nouvelle note administrative.

" + + "

Attention

" + + "

• Écran réservé au droit A.NOTE.ADMIN.

" + }, + new() + { + Fenetre = "mobile_intervention_emails", + Titre = "Courriels", + Tags = "mobile,intervention,emails,courriels", + Contenu = + "

Courriels liés à l'intervention.

" + + "

Comment faire

" + + "

• + Nouveau courriel : compose un courriel.

" + + "

• Modifier : modifie un courriel existant.

" + + "

Attention

" + + "

• La composition exige le droit Envoyer un email.

" + + "

• Hors connexion, + Nouveau courriel est désactivé (la composition passe par le serveur) ; les courriels déjà enregistrés restent consultables.

" + }, + new() + { + Fenetre = "mobile_nouveau_email", + Titre = "Nouveau courriel", + Tags = "mobile,email,nouveau,courriel", + Contenu = + "

Composition d'un courriel depuis un modèle, un rapport ou un contact.

" + + "

Comment faire

" + + "

• Continuer → puis Suivant → / ← Précédent : naviguez dans les rubriques.

" + + "

• ← Rubriques : revenez au résumé.

" + + "

• + Document (téléphone) / + Photo (téléphone) : ajoutez une pièce jointe.

" + + "

• Liste des destinataires : elle contient uniquement les contacts de l'intervention, puis les contacts de votre téléphone. L'origine est indiquée à droite de chaque nom (Intervention / Téléphone) ; la saisie directe d'une adresse reste possible.

" + + "

• Envoyer : envoie le courriel depuis Omika (messagerie interne), ou l'ouvre dans votre application de messagerie (messagerie externe).

" + + "

Messagerie externe

" + + "

• La messagerie s'ouvre avec le courriel pré-rempli (destinataires, objet, corps, pièces jointes) : aucun courriel n'est envoyé par Omika.

" + + "

• Au retour dans Omika, répondez à la question « Le courriel a-t-il été envoyé ? » : Oui l'enregistre comme envoyé, Non le conserve en brouillon. Omika ne peut pas le savoir à votre place.

" + + "

Attention

" + + "

• Composition soumise au droit Envoyer un email.

" + + "

• Les contacts du téléphone nécessitent l'autorisation Contacts ; si elle est refusée, seuls les contacts de l'intervention sont proposés.

" + + "

• L'envoi réel nécessite une connexion (messagerie interne) ou une application de messagerie installée.

" + }, + new() + { + Fenetre = "mobile_rapport", + Titre = "Rapport", + Tags = "mobile,rapport,champs", + Contenu = + "

Saisie des champs d'un modèle de rapport puis génération du document.

" + + "

Comment faire

" + + "

• ← Rubriques : revenez au résumé.

" + + "

• ← Précédent / Suivant → : naviguez dans les rubriques.

" + + "

• Enregistrer : enregistre un brouillon.

" + + "

• Créer : génère le document.

" + + "

• Envoyer un email : génère puis joint au courriel.

" + + "

Attention

" + + "

• Génération soumise au droit Créer un rapport.

" + + "

• Créer nécessite une connexion.

" + + "

• Envoyer un email est désactivé hors connexion (génération et envoi passent par le serveur).

" + }, + new() + { + Fenetre = "mobile_intervention_ressources", + Titre = "Ressources", + Tags = "mobile,intervention,ressources", + Contenu = + "

Vue regroupant images, photos et documents de l'intervention.

" + + "

Comment faire

" + + "

• Ajouter une image, Prendre une photo, Ajouter un document : ajoutez des contenus.

" + + "

• Télécharger tout / Télécharger : récupérez les fichiers.

" + + "

Attention

" + + "

• Téléchargement à la demande : hors connexion, seuls les fichiers déjà récupérés sont consultables.

" + }, + new() + { + Fenetre = "mobile_photo", + Titre = "Visionneuse photo", + Tags = "mobile,photo,visionneuse", + Contenu = + "

Parcours des photos de l'intervention.

" + + "

Comment faire

" + + "

• ‹ Précédente / Suivante › : changez de photo.

" + + "

• Modifier : ouvre l'éditeur d'image.

" + + "

• Ajouter la note : ajoute une note à la photo.

" + + "

Attention

" + + "

• Les notes s'ajoutent même hors connexion : elles sont conservées sur l'appareil, puis envoyées à la reconnexion (après la photo elle-même).

" + + "

• Lecture : toute modification passe par l'éditeur d'image.

" + }, + new() + { + Fenetre = "mobile_editeur_image", + Titre = "Éditeur d'image", + Tags = "mobile,image,editeur,annotation", + Contenu = + "

Annotation d'une image (dessin, texte, signature) en plein écran.

" + + "

Comment faire

" + + "

• ↶ Annuler / ↷ Rétablir : défait/refait un tracé.

" + + "

• ⟳ Réinitialiser : efface toutes les annotations.

" + + "

• Choisissez une couleur dans la palette.

" + + "

• ✓ Enregistrer : sauvegarde l'image annotée.

" + + "

• ✕ Quitter / ‹ Retour : quitte l'éditeur.

" + + "

Attention

" + + "

• Quitter sans Enregistrer abandonne les annotations.

" + + "

• Enregistrer sauvegarde localement puis synchronise.

" + }, + new() + { + Fenetre = "mobile_intervention_contacts", + Titre = "Contacts", + Tags = "mobile,intervention,contacts", + Contenu = + "

Contacts liés à l'intervention.

" + + "

Comment faire

" + + "

• Touchez un contact pour ouvrir sa fiche.

" + + "

• Appel et email disponibles si des coordonnées existent.

" + + "

Attention

" + + "

• Le bouton d'email est désactivé hors connexion : un email ne peut être envoyé qu'en ligne.

" + + "

• Lecture seule.

" + }, + new() + { + Fenetre = "mobile_contact", + Titre = "Fiche contact", + Tags = "mobile,contact,detail", + Contenu = + "

Coordonnées d'un contact.

" + + "

Comment faire

" + + "

• Appelez ou envoyez un email via les boutons d'action.

" + + "

Attention

" + + "

• Fiche en lecture seule.

" + }, + new() + { + Fenetre = "mobile_dossier", + Titre = "Fiche dossier", + Tags = "mobile,dossier,detail", + Contenu = + "

Informations du dossier et interventions liées.

" + + "

Comment faire

" + + "

• Touchez une intervention liée pour ouvrir sa fiche.

" + + "

Attention

" + + "

• Fiche en lecture seule.

" + }, + new() + { + Fenetre = "mobile_client", + Titre = "Fiche client", + Tags = "mobile,client,detail", + Contenu = + "

Fiche client avec onglets Contacts, Sites, Dossiers.

" + + "

Comment faire

" + + "

• Naviguez entre les onglets.

" + + "

• Appel et email disponibles si des coordonnées existent.

" + + "

Attention

" + + "

• Fiche en lecture seule.

" + }, + new() + { + Fenetre = "mobile_site", + Titre = "Fiche site", + Tags = "mobile,site,detail,carte", + Contenu = + "

Fiche site avec carte et onglets Interventions, Contacts, Clients, Rendez-vous.

" + + "

Comment faire

" + + "

• Naviguez entre les onglets.

" + + "

• ⌖ Lancer l'itinéraire : ouvre la navigation GPS vers le site.

" + + "

Attention

" + + "

• Fiche en lecture seule.

" + }, + new() + { + Fenetre = "mobile_collaborateur", + Titre = "Fiche collaborateur", + Tags = "mobile,collaborateur,detail,licence", + Contenu = + "

Fiche d'un collaborateur.

" + + "

Comment faire

" + + "

• Attribuer une licence : active l'accès mobile du collaborateur.

" + + "

• Retirer la licence : révoque l'accès mobile.

" + + "

• Appel et email disponibles.

" + + "

Attention

" + + "

• L'attribution/révocation exige le droit Licence mobile.

" + + "

• Retirer la licence prive le collaborateur de l'accès mobile.

" + }, + new() + { + Fenetre = "mobile_intervention_edition", + Titre = "Créer / modifier une intervention", + Tags = "mobile,intervention,edition,formulaire", + Contenu = + "

Formulaire partagé de création ou d'édition d'une intervention.

" + + "

Comment faire

" + + "

• Ajouter / Retirer : gèrent les éléments liés.

" + + "

• Enregistrer : enregistre l'intervention.

" + + "

• Annuler : abandonne la saisie.

" + + "

Attention

" + + "

• Enregistrement offline-first : les données partent à la synchronisation.

" + + "

• Annuler abandonne la saisie en cours.

" + }, + new() + { + Fenetre = "mobile_saisie_temps", + Titre = "Saisie de temps", + Tags = "mobile,temps,saisie", + Contenu = + "

Saisie d'un temps : début, fin, pause déjeuner.

" + + "

Comment faire

" + + "

• Renseignez les horaires puis Enregistrer.

" + + "

• Annuler : abandonne la saisie.

" + + "

Attention

" + + "

• La pause déjeuner est préremplie depuis vos préférences.

" + + "

• Enregistrement local puis synchronisé.

" + + "

• La saisie pour un autre collaborateur exige le droit A.TEMP.COLB.

" + }, + new() + { + Fenetre = "mobile_compte_rendu", + Titre = "Compte rendu", + Tags = "mobile,compte,rendu", + Contenu = + "

Saisie du compte rendu d'un rendez-vous (individuel ou de groupe).

" + + "

Comment faire

" + + "

• Devis conforme / Avec réserve : signez.

" + + "

• ✓ Enregistrer le compte rendu : enregistre.

" + + "

• Annuler : abandonne.

" + + "

Attention

" + + "

• Un compte rendu ne peut pas être créé deux fois pour le même rendez-vous (anti-doublon).

" + + "

• Un compte rendu ne se saisit qu'après le rendez-vous : sur un rendez-vous futur, la saisie est indisponible (le bouton reste visible mais grisé).

" + }, + new() + { + Fenetre = "mobile_synchronisation", + Titre = "Synchronisation", + Tags = "mobile,synchronisation,outbox", + Contenu = + "

File des opérations en attente d'envoi.

" + + "

Comment faire

" + + "

• Synchroniser maintenant : lance la synchronisation manuelle.

" + + "

Attention

" + + "

• Hors connexion, la synchronisation ne tente aucun appel réseau.

" + + "

• Les opérations restent en attente et repartent dès le retour du réseau.

" + }, + new() + { + Fenetre = "mobile_activation", + Titre = "Activation / licence", + Tags = "mobile,activation,licence,qr", + Contenu = + "

Inscription au premier démarrage.

" + + "

Comment faire

" + + "

• Scanner le QR Code : scanne le QR fourni par votre administrateur.

" + + "

• Ou saisissez manuellement le code puis S'inscrire.

" + + "

• Réessayer : relance en cas d'échec.

" + + "

Attention

" + + "

• La licence est vérifiée en ligne : une licence expirée ou révoquée bloque l'accès.

" + + "

• Aucune adresse n'est saisissable librement : tout vient du QR.

" + }, + new() + { + Fenetre = "mobile_onboarding", + Titre = "Bienvenue dans Omika", + Tags = "mobile,onboarding,bienvenue", + Contenu = + "

Accueil de première inscription : langue de terrain, thème, pause déjeuner.

" + + "

Comment faire

" + + "

• Suivant / Retour : naviguez entre les étapes.

" + + "

• Terminer : enregistre et ferme.

" + + "

• Passer : ferme sans rien régler.

" + + "

• Annuler (dans le bloc de la langue en cours de téléchargement) : interrompt le téléchargement.

" + + "

Attention

" + + "

• Rien n'est obligatoire : tout reste modifiable dans les Paramètres.

" + + "

• Le téléchargement d'une langue peut être volumineux (données mobiles).

" + } + ]; +} diff --git a/src/Omika.App.Local/Services/BackgroundSyncService.cs b/src/Omika.App.Local/Services/BackgroundSyncService.cs new file mode 100644 index 0000000..b6b75b2 --- /dev/null +++ b/src/Omika.App.Local/Services/BackgroundSyncService.cs @@ -0,0 +1,281 @@ +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Abstractions; +using Omika.App.Local.Abstractions; + +namespace Omika.App.Local.Services; + +/// +/// Surveillance de fond de la file Outbox (« thread » d'envoi automatique). +/// Boucle d'arrière-plan qui, à chaque tour : +/// +/// compte les opérations locales en attente d'envoi (lecture SQLite) ; +/// vérifie la connectivité réseau ; +/// déclenche l'envoi des données s'il y a des données ET du réseau. +/// +/// +/// +/// Portée : l'envoi uniquement. Cette surveillance ne réalise jamais de +/// synchronisation globale de données (aucun snapshot serveur, aucun +/// rafraîchissement de référentiel, aucune modification de la page courante) : +/// elle ne doit jamais interférer avec l'écran affiché. La synchronisation +/// globale reste déclenchée au lancement de l'application, par le bouton +/// « Synchroniser » et à l'ouverture de chaque fiche. +/// +/// +/// Deux déclencheurs : +/// +/// immédiat : est appelé après chaque +/// écriture locale (Outbox), donc une saisie part dès que le réseau est là ; +/// périodique : un tour toutes les +/// couvre le retour du réseau, les opérations restées en attente après un échec +/// et les statuts encore en cours de traitement côté serveur. +/// +/// +/// Garde-fous : un seul envoi à la fois (le moteur possède déjà son propre +/// verrou, partagé avec la synchronisation globale), un repli exponentiel quand +/// la file ne progresse pas (jamais de martèlement réseau), et aucune exception +/// ne termine la boucle. L'envoi manuel reste disponible et inchangé. +/// +public sealed class BackgroundSyncService : IBackgroundSyncService, IDisposable +{ + /// Délai entre deux tours de surveillance en l'absence de réveil explicite. + public static readonly TimeSpan DefaultInterval = TimeSpan.FromSeconds(30); + + /// Délai maximal entre deux tours quand la file ne progresse pas. + public static readonly TimeSpan DefaultMaxBackoff = TimeSpan.FromMinutes(2); + + /// Borne d'arrêt : ne jamais retarder l'arrêt de l'application. + private static readonly TimeSpan StopTimeout = TimeSpan.FromSeconds(2); + + private readonly INetworkConnectivity _network; + private readonly ILogger _logger; + private readonly TimeSpan _interval; + private readonly TimeSpan _maxBackoff; + + /// Réveil immédiat (au plus un signal en attente : la boucle réévalue tout). + private readonly SemaphoreSlim _wake = new(0, 1); + + private readonly object _stateLock = new(); + private CancellationTokenSource? _cancellation; + private Task? _loop; + private bool _disposed; + + public BackgroundSyncService( + INetworkConnectivity network, + ILogger? logger = null, + TimeSpan? interval = null, + TimeSpan? maxBackoff = null) + { + ArgumentNullException.ThrowIfNull(network); + + _network = network; + _logger = logger ?? NullLogger.Instance; + _interval = interval is { TotalMilliseconds: > 0 } ? interval.Value : DefaultInterval; + _maxBackoff = maxBackoff is { TotalMilliseconds: > 0 } ? maxBackoff.Value : DefaultMaxBackoff; + } + + /// + public void Start( + Func> pendingCountProvider, + Func sendPendingOperations, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(pendingCountProvider); + ArgumentNullException.ThrowIfNull(sendPendingOperations); + + lock (_stateLock) + { + ObjectDisposedException.ThrowIf(_disposed, this); + + if (_loop is not null) + { + // Surveillance déjà active : un seul « thread » par application. + return; + } + + _cancellation = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken); + CancellationToken token = _cancellation.Token; + _loop = Task.Run( + () => RunAsync(pendingCountProvider, sendPendingOperations, token), + CancellationToken.None); + + _logger.LogInformation( + "BackgroundSyncService : surveillance démarrée (intervalle {Interval}s).", + _interval.TotalSeconds); + } + } + + /// + public void RequestSync() + { + if (_disposed) + { + return; + } + + try + { + // Un seul signal en attente suffit : la boucle réévalue la file entière. + if (_wake.CurrentCount == 0) + { + _wake.Release(); + } + } + catch (SemaphoreFullException) + { + // Course bénigne entre deux écritures simultanées : le signal en + // attente couvre déjà les deux (aucun envoi perdu). + } + catch (ObjectDisposedException) + { + // Arrêt en cours : plus rien à réveiller. + } + } + + /// + public async Task StopAsync() + { + Task? loop; + lock (_stateLock) + { + loop = _loop; + _loop = null; + _cancellation?.Cancel(); + _cancellation?.Dispose(); + _cancellation = null; + } + + if (loop is null) + { + return; + } + + // Arrêt borné : la surveillance ne doit jamais retarder la fermeture de + // l'application (même si le cycle en cours ne répond plus). + try + { + await Task.WhenAny(loop, Task.Delay(StopTimeout)).ConfigureAwait(false); + } + catch (OperationCanceledException) + { + // Annulation normale. + } + + _logger.LogInformation("BackgroundSyncService : surveillance arrêtée."); + } + + private async Task RunAsync( + Func> pendingCountProvider, + Func sendPendingOperations, + CancellationToken cancellationToken) + { + TimeSpan delay = _interval; + + while (!cancellationToken.IsCancellationRequested) + { + bool woken; + try + { + // Attente bornée : réveil immédiat si une écriture locale a eu lieu, + // sinon évaluation périodique. + woken = await _wake.WaitAsync(delay, cancellationToken).ConfigureAwait(false); + } + catch (OperationCanceledException) + { + break; + } + catch (ObjectDisposedException) + { + break; + } + + if (cancellationToken.IsCancellationRequested) + { + break; + } + + try + { + int pending = await pendingCountProvider(cancellationToken).ConfigureAwait(false); + if (pending <= 0) + { + // Rien à envoyer : aucun appel réseau. + delay = _interval; + continue; + } + + if (!await _network.IsOnlineAsync(cancellationToken).ConfigureAwait(false)) + { + // Hors ligne : les données restent en local (aucune perte), on + // retentera au prochain tour. + delay = _interval; + continue; + } + + _logger.LogInformation( + "BackgroundSyncService : {Pending} opération(s) locale(s) à envoyer, envoi automatique.", + pending); + + await sendPendingOperations(cancellationToken).ConfigureAwait(false); + + int remaining = await pendingCountProvider(cancellationToken).ConfigureAwait(false); + + // Progrès (file réduite ou vidée, ou réveil explicite) : on repart + // sur l'intervalle nominal. Sinon repli exponentiel pour ne pas + // interroger le serveur en boucle sur une file bloquée. + delay = woken || remaining < pending || remaining <= 0 + ? _interval + : NextDelay(delay); + } + catch (OperationCanceledException) + { + break; + } + catch (Exception ex) + { + // La surveillance ne meurt jamais sur une erreur : elle réessaie en + // respectant le repli exponentiel. + _logger.LogWarning(ex, "BackgroundSyncService : envoi automatique en échec."); + delay = NextDelay(delay); + } + } + + _logger.LogInformation("BackgroundSyncService : boucle de surveillance terminée."); + } + + /// Double le délai courant sans dépasser le repli maximal. + private TimeSpan NextDelay(TimeSpan current) + { + double next = Math.Min(current.TotalMilliseconds * 2, _maxBackoff.TotalMilliseconds); + return TimeSpan.FromMilliseconds(next); + } + + public void Dispose() + { + CancellationTokenSource? cancellation; + lock (_stateLock) + { + if (_disposed) + { + return; + } + + _disposed = true; + cancellation = _cancellation; + _cancellation = null; + _loop = null; + } + + try + { + cancellation?.Cancel(); + } + catch (ObjectDisposedException) + { + // Déjà libéré. + } + + cancellation?.Dispose(); + _wake.Dispose(); + } +} diff --git a/src/Omika.App.Local/Services/ClientLocalService.cs b/src/Omika.App.Local/Services/ClientLocalService.cs new file mode 100644 index 0000000..bc4e8f8 --- /dev/null +++ b/src/Omika.App.Local/Services/ClientLocalService.cs @@ -0,0 +1,647 @@ +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.Core.Contracts.Clients; +using Omika.Core.Contracts.Common; +using Omika.Core.Contracts.Interventions; +using Omika.Core.Contracts.Mobile.Interventions; + +namespace Omika.App.Local.Services; + +/// +/// Service de lecture des clients depuis les données locales SQLite (dernier +/// snapshot). Ne déclenche aucun appel API : les données proviennent +/// exclusivement des tables métier locales. Lecture seule : aucune écriture ni +/// Outbox n'est créée pour les clients. +/// +/// Relations réellement démontrables localement : +/// +/// Client → Sites : liste Sites embarquée dans le DTO Client. +/// Client → Contacts : liste Contacts embarquée dans le DTO Client. +/// Client → Dossiers : DossierDetailsDto.ClientId == ClientGuid. +/// Client → Interventions : InterventionDetailsDto.ClientId == ClientGuid. +/// +/// Aucune relation n'est déduite par commodité (nom, adresse, transitivité). +/// +public sealed class ClientLocalService : IClientLocalService +{ + private readonly ILocalRepository _clientRepository; + private readonly ILocalRepository _dossierRepository; + private readonly IContextInterventionCacheRepository _interventionCacheRepository; + private readonly IClientLocalStateRepository _stateRepository; + private readonly IMobileApiClient _apiClient; + + public ClientLocalService( + ILocalRepository clientRepository, + ILocalRepository dossierRepository, + IContextInterventionCacheRepository interventionCacheRepository, + IClientLocalStateRepository stateRepository, + IMobileApiClient apiClient) + { + _clientRepository = clientRepository; + _dossierRepository = dossierRepository; + _interventionCacheRepository = interventionCacheRepository; + _stateRepository = stateRepository; + _apiClient = apiClient; + } + + /// + public async Task> GetClientsAsync( + CancellationToken cancellationToken = default) + { + IReadOnlyList clients = await _clientRepository.GetAllAsync(cancellationToken); + + IReadOnlyList pinnedIds = await _stateRepository.GetPinnedIdsAsync(cancellationToken); + var pinnedSet = new HashSet(pinnedIds); + + var items = new List(); + foreach (LocalClient local in clients) + { + ClientDetailsDto? dto = JsonHelper.Deserialize(local.PayloadJson); + if (dto is null) + { + // Payload local invalide : entrée ignorée proprement (log technique). + continue; + } + + items.Add(MapToListItem(local.Id, dto, pinnedSet)); + } + + // Tri déterministe : nom (insensible à la casse) puis code. + return items + .OrderBy(c => c.Nom, StringComparer.OrdinalIgnoreCase) + .ThenBy(c => c.Code, StringComparer.OrdinalIgnoreCase) + .ToList(); + } + + /// + public async Task> SearchClientsAsync( + string? nom, + string? code, + string? telephone, + string? email, + string? ville, + string? codePostal, + string? type, + string? statut, + CancellationToken cancellationToken = default) + { + PagedResult page = await _apiClient.SearchClientsAsync( + new SearchClientsRequest + { + Page = 1, + PageSize = 200, + Nom = nom, + Code = code, + Telephone = telephone, + Email = email, + Ville = ville, + CodePostal = codePostal, + Type = type, + Statut = statut, + EstArchive = false + }, cancellationToken); + + IReadOnlyList pinnedIds = await _stateRepository.GetPinnedIdsAsync(cancellationToken); + var pinnedSet = new HashSet(pinnedIds); + + IReadOnlyList results = page.Items + .Select(d => MapSummaryToListItem(d, pinnedSet)) + .OrderBy(c => c.Nom, StringComparer.OrdinalIgnoreCase) + .ThenBy(c => c.Code, StringComparer.OrdinalIgnoreCase) + .ToList(); + + // Persiste la dernière recherche : elle survit à la navigation + // (retour depuis la fiche client) et à SyncNow. + await _stateRepository.SaveLastSearchAsync(JsonHelper.Serialize(results), cancellationToken); + + return results; + } + + /// + public async Task> GetLastSearchAsync( + CancellationToken cancellationToken = default) + { + string? json = await _stateRepository.GetLastSearchJsonAsync(cancellationToken); + if (string.IsNullOrWhiteSpace(json)) + { + return []; + } + + IReadOnlyList? results = JsonHelper.Deserialize>(json); + if (results is null) + { + return []; + } + + // Rafraîchit l'état d'épinglage (préférence locale, peut avoir changé). + IReadOnlyList pinnedIds = await _stateRepository.GetPinnedIdsAsync(cancellationToken); + var pinnedSet = new HashSet(pinnedIds); + + return results.Select(c => new ClientListItem + { + ClientGuid = c.ClientGuid, + Nom = c.Nom, + Code = c.Code, + Type = c.Type, + Statut = c.Statut, + Ville = c.Ville, + CodePostal = c.CodePostal, + Telephone = c.Telephone, + Email = c.Email, + IsPinned = pinnedSet.Contains(c.ClientGuid) + }).ToList(); + } + + /// + public Task ClearLastSearchAsync(CancellationToken cancellationToken = default) + => _stateRepository.ClearLastSearchAsync(cancellationToken); + + /// + public Task> GetPinnedAsync(CancellationToken cancellationToken = default) + => _stateRepository.GetPinnedItemsAsync(cancellationToken); + + /// + public Task SetPinnedAsync(Guid clientId, bool isPinned, ClientListItem? item, CancellationToken cancellationToken = default) + => _stateRepository.SetPinnedAsync( + clientId, + isPinned, + item is null ? "{}" : JsonHelper.Serialize(item), + cancellationToken); + + private static ClientListItem MapSummaryToListItem(ClientSummaryDto dto, HashSet pinnedSet) + { + Guid guid = Guid.TryParse(dto.Id, out Guid parsed) ? parsed : Guid.Empty; + return new ClientListItem + { + ClientGuid = guid, + Nom = dto.Nom, + Code = dto.Code, + Type = dto.Type, + Statut = dto.Statut, + Ville = dto.Ville, + CodePostal = dto.CodePostal, + Telephone = dto.Telephone, + Email = dto.Email, + IsPinned = guid != Guid.Empty && pinnedSet.Contains(guid) + }; + } + + /// + public async Task GetClientByIdAsync( + Guid clientGuid, + CancellationToken cancellationToken = default) + { + ClientDetailsDto? dto = null; + + // Rafraîchit TOUJOURS depuis le serveur (les données locales peuvent être + // obsolètes ou absentes). En cas d'échec (offline), repli sur le cache local. + try + { + dto = await _apiClient.GetClientByIdAsync(clientGuid, cancellationToken); + if (dto is not null) + { + await _clientRepository.UpsertAsync(new LocalClient + { + Id = clientGuid, + PayloadJson = JsonHelper.Serialize(dto), + UpdatedAtUtc = DateTimeOffset.UtcNow + }, cancellationToken); + } + } + catch + { + // Offline : repli sur le cache local. + } + + if (dto is null) + { + LocalClient? local = await _clientRepository.GetByIdAsync(clientGuid, cancellationToken); + dto = local is null + ? null + : JsonHelper.Deserialize(local.PayloadJson); + } + + if (dto is null) + { + // Hors connexion, la table Client (chargée À LA DEMANDE) peut être + // vide après un snapshot. On reconstruit une fiche PARTIELLE depuis le + // résumé connu (dernière recherche / épinglage). Les champs manquants + // restent nuls/vides. + return await BuildPartialDetailAsync(clientGuid, cancellationToken); + } + + // Charge les références une seule fois pour enrichir le détail. + ReferenceCollections references = await LoadReferencesAsync(clientGuid, cancellationToken); + + return MapToDetail(clientGuid, dto, references); + } + + /// + public async Task GetClientBasicInfoAsync( + Guid clientGuid, + CancellationToken cancellationToken = default) + { + LocalClient? local = await _clientRepository.GetByIdAsync(clientGuid, cancellationToken); + ClientDetailsDto? dto = local is null + ? null + : JsonHelper.Deserialize(local.PayloadJson); + + // Repli serveur SANS synchronisation des contacts : si le client n'est + // pas déjà en cache local, on lit uniquement ses informations de base. + // Le DTO complet (avec contacts) n'est JAMAIS persisté depuis ce chemin : + // les contacts ne sont donc pas synchronisés lors de l'ouverture d'une + // fiche dossier. + if (dto is null) + { + // Échec toléré (offline ou droit A.CLIENT.VOIR absent) : la fiche + // dossier retombe sur le nom dénormalisé porté par le DTO dossier. + try + { + dto = await _apiClient.GetClientByIdAsync(clientGuid, cancellationToken); + } + catch + { + dto = null; + } + } + + return dto is null ? null : MapBasicInfo(clientGuid, dto); + } + + /// + /// Reconstruit une fiche client PARTIELLE hors connexion à partir du résumé + /// connu (dernière recherche / épinglage) et des dossiers liés du snapshot. + /// Les champs manquants (sites, contacts, interventions, etc.) restent + /// nuls/vides. Retourne null si aucun résumé local n'existe. + /// + private async Task BuildPartialDetailAsync( + Guid clientGuid, + CancellationToken cancellationToken) + { + ClientListItem? item = await FindListItemAsync(clientGuid, cancellationToken); + if (item is null) + { + return null; + } + + // Dossiers réellement liés : relation ClientId (table snapshot). + ReferenceCollections references = await LoadReferencesAsync(clientGuid, cancellationToken); + var dossiers = references.Dossiers + .Where(d => d.ClientId == clientGuid) + .Select(d => new ClientDossier + { + DossierGuid = d.Id, + RefInterne = d.Dto!.RefInterne, + Titre = d.Dto.Titre, + Statut = d.Dto.Statut?.Label, + Type = d.Dto.Type?.Label, + RefExterne = d.Dto.RefExterne, + NbInterventions = d.Dto.NbInterventionsNonArchivees + }) + .OrderBy(d => d.Titre, StringComparer.OrdinalIgnoreCase) + .ThenBy(d => d.RefInterne, StringComparer.OrdinalIgnoreCase) + .ToList(); + + ClientAdresse? adresse = null; + if (!string.IsNullOrWhiteSpace(item.Ville) || !string.IsNullOrWhiteSpace(item.CodePostal)) + { + string oneLine = string.Join( + " ", + new[] { item.CodePostal, item.Ville }.Where(p => !string.IsNullOrWhiteSpace(p))); + adresse = new ClientAdresse + { + PostalCode = item.CodePostal, + City = item.Ville, + OneLine = oneLine + }; + } + + return new ClientDetail + { + ClientGuid = clientGuid, + Code = item.Code, + Nom = item.Nom, + Type = item.Type, + Statut = item.Statut, + EstArchive = false, + Email = item.Email, + Phone = item.Telephone, + Mobile = null, + Fax = null, + AdressePrincipale = adresse, + Sites = [], + Contacts = [], + Dossiers = dossiers, + Interventions = [], + InterventionsCacheAvailable = false + }; + } + + /// + /// Recherche le résumé d'un client dans la dernière recherche puis parmi les + /// clients épinglés (données de liste conservées localement, jamais purgées + /// par un snapshot). + /// + private async Task FindListItemAsync( + Guid clientGuid, + CancellationToken cancellationToken) + { + string? json = await _stateRepository.GetLastSearchJsonAsync(cancellationToken); + if (!string.IsNullOrWhiteSpace(json)) + { + IReadOnlyList? items = JsonHelper.Deserialize>(json); + ClientListItem? match = items?.FirstOrDefault(i => i.ClientGuid == clientGuid); + if (match is not null) + { + return match; + } + } + + IReadOnlyList pinned = await _stateRepository.GetPinnedItemsAsync(cancellationToken); + return pinned.FirstOrDefault(i => i.ClientGuid == clientGuid); + } + + public async Task RefreshClientInterventionsAsync( + Guid clientGuid, + CancellationToken cancellationToken = default) + { + var request = new MobileInterventionSearchRequest { ClientId = clientGuid.ToString() }; + IReadOnlyList results = + await _apiClient.SearchInterventionsAsync(request, cancellationToken); + + IReadOnlyList details = results + .Select(r => r.Detail) + .Where(d => !d.EstArchive) + .ToList(); + + await _interventionCacheRepository.ReplaceAsync( + InterventionContextTypes.Client, + clientGuid, + details, + cancellationToken); + + return await GetClientByIdAsync(clientGuid, cancellationToken); + } + + /// + public async Task> RefreshClientDossiersAsync( + Guid clientGuid, + CancellationToken cancellationToken = default) + { + var request = new SearchDossiersRequest + { + Page = 1, + PageSize = 200, + ClientId = clientGuid.ToString(), + EstArchive = false + }; + + PagedResult page = + await _apiClient.SearchDossiersAsync(request, cancellationToken); + + return page.Items + .Select(d => new ClientDossier + { + DossierGuid = Guid.TryParse(d.Id, out Guid id) ? id : Guid.Empty, + RefInterne = d.RefInterne, + Titre = d.Titre, + ClientNom = d.ClientNom, + Statut = d.Statut, + Type = d.Type, + RefExterne = d.RefExterne, + NbInterventions = d.NombreInterventions + }) + .Where(d => d.DossierGuid != Guid.Empty) + .OrderBy(d => d.Titre, StringComparer.OrdinalIgnoreCase) + .ThenBy(d => d.RefInterne, StringComparer.OrdinalIgnoreCase) + .ToList(); + } + + private async Task LoadReferencesAsync( + Guid clientGuid, + CancellationToken cancellationToken) + { + IReadOnlyList dossiers = await _dossierRepository.GetAllAsync(cancellationToken); + ContextInterventionCacheResult cachedInterventions = + await _interventionCacheRepository.GetByContextAsync( + InterventionContextTypes.Client, + clientGuid, + cancellationToken); + + var dossiersByClient = dossiers + .Where(d => d.ClientId is not null) + .Select(d => (d.Id, ClientId: d.ClientId!.Value, Dto: JsonHelper.Deserialize(d.PayloadJson))) + .Where(x => x.Dto is not null) + .ToList(); + + var interventionsByClient = cachedInterventions.Interventions + .Select(i => (Id: TryParseGuid(i.Id) ?? Guid.Empty, ClientId: TryParseGuid(i.ClientId), Dto: i)) + .Where(x => x.Id != Guid.Empty && x.ClientId is not null) + .Select(x => (x.Id, ClientId: x.ClientId!.Value, Dto: (InterventionDetailsDto?)x.Dto)) + .Where(x => x.Dto is not null) + .ToList(); + + return new ReferenceCollections(dossiersByClient, interventionsByClient, cachedInterventions.HasCache); + } + + private static ClientListItem MapToListItem(Guid clientGuid, ClientDetailsDto dto, HashSet pinnedSet) + { + string? telephone = dto.Coordonnees?.Phone; + if (string.IsNullOrWhiteSpace(telephone)) + { + telephone = dto.Coordonnees?.Mobile; + } + + return new ClientListItem + { + ClientGuid = clientGuid, + Nom = dto.Nom, + Code = dto.Code, + Type = dto.Type?.Label, + Statut = dto.Statut?.Label, + Ville = dto.AdressePrincipale?.AdressePostale?.City, + CodePostal = dto.AdressePrincipale?.AdressePostale?.PostalCode, + Telephone = telephone, + Email = dto.Coordonnees?.Email, + IsPinned = pinnedSet.Contains(clientGuid) + }; + } + + /// + /// Construit un réduit aux informations de base + /// (identité + coordonnées + adresse). Les collections Sites, Contacts, + /// Dossiers et Interventions restent vides : ce mapping est utilisé par la + /// fiche dossier, où les contacts ne doivent jamais être synchronisés. + /// + private static ClientDetail MapBasicInfo(Guid clientGuid, ClientDetailsDto dto) => new() + { + ClientGuid = clientGuid, + Code = dto.Code, + Nom = dto.Nom, + Type = dto.Type?.Label, + Statut = dto.Statut?.Label, + FormeJuridique = dto.FormeJuridique?.Label, + Siren = dto.Siren, + Siret = dto.Siret, + Pays = dto.Pays, + InformationsComplementaires = dto.InformationsComplementaires, + EstArchive = dto.EstArchive, + Email = dto.Coordonnees?.Email, + Phone = dto.Coordonnees?.Phone, + Mobile = dto.Coordonnees?.Mobile, + Fax = dto.Coordonnees?.Fax, + AdressePrincipale = MapAdresse(dto.AdressePrincipale) + }; + + private static ClientDetail MapToDetail( + Guid clientGuid, + ClientDetailsDto dto, + ReferenceCollections references) + { + // Sites réellement liés : liste embarquée dans le DTO Client. + var sites = dto.Sites + .Select(s => new ClientSite + { + SiteGuid = TryParseGuid(s.Id) ?? Guid.Empty, + Code = s.Code, + Nom = s.Nom, + Ville = s.Adresse?.City + }) + .Where(s => s.SiteGuid != Guid.Empty) + .OrderBy(s => s.Nom, StringComparer.OrdinalIgnoreCase) + .ThenBy(s => s.Code, StringComparer.OrdinalIgnoreCase) + .ToList(); + + // Contacts réellement liés : liste embarquée dans le DTO Client. + var contacts = dto.Contacts + .Select(c => new ClientContact + { + ContactGuid = TryParseGuid(c.Id) ?? Guid.Empty, + DisplayName = c.NomAffiche ?? BuildDisplayName(c), + Email = c.Coordonnees?.Email, + Phone = c.Coordonnees?.Phone, + Mobile = c.Coordonnees?.Mobile, + Roles = c.Roles.Select(r => r.Label).Where(l => !string.IsNullOrWhiteSpace(l)).ToList(), + Actif = c.Actif, + EstArchive = c.EstArchive + }) + .Where(c => c.ContactGuid != Guid.Empty) + .OrderBy(c => c.DisplayName, StringComparer.OrdinalIgnoreCase) + .ToList(); + + // Dossiers réellement liés : relation ClientId. + var dossiers = references.Dossiers + .Where(d => d.ClientId == clientGuid) + .Select(d => new ClientDossier + { + DossierGuid = d.Id, + RefInterne = d.Dto!.RefInterne, + Titre = d.Dto.Titre, + Statut = d.Dto.Statut?.Label, + Type = d.Dto.Type?.Label, + RefExterne = d.Dto.RefExterne, + NbInterventions = d.Dto.NbInterventionsNonArchivees + }) + .OrderBy(d => d.Titre, StringComparer.OrdinalIgnoreCase) + .ThenBy(d => d.RefInterne, StringComparer.OrdinalIgnoreCase) + .ToList(); + + // Interventions réellement liées : relation ClientId. + var interventions = references.Interventions + .Where(i => i.ClientId == clientGuid) + .Select(i => new ClientIntervention + { + InterventionGuid = i.Id, + Reference = i.Dto!.Reference, + Titre = i.Dto.Titre, + Etat = i.Dto.Etat?.Label, + Type = i.Dto.Type?.Label, + ClientNom = i.Dto.ClientNom, + SiteNom = i.Dto.SiteNom, + SiteAddressDisplay = i.Dto.SiteAdresse, + ContactNom = i.Dto.Contacts.FirstOrDefault()?.NomAffiche, + DatePrevueDebut = i.Dto.DatePrevueDebut + }) + .OrderByDescending(i => i.DatePrevueDebut) + .ThenBy(i => i.Reference, StringComparer.OrdinalIgnoreCase) + .ToList(); + + return new ClientDetail + { + ClientGuid = clientGuid, + Code = dto.Code, + Nom = dto.Nom, + Type = dto.Type?.Label, + Statut = dto.Statut?.Label, + FormeJuridique = dto.FormeJuridique?.Label, + Siren = dto.Siren, + Siret = dto.Siret, + Pays = dto.Pays, + InformationsComplementaires = dto.InformationsComplementaires, + EstArchive = dto.EstArchive, + Email = dto.Coordonnees?.Email, + Phone = dto.Coordonnees?.Phone, + Mobile = dto.Coordonnees?.Mobile, + Fax = dto.Coordonnees?.Fax, + AdressePrincipale = MapAdresse(dto.AdressePrincipale), + Sites = sites, + Contacts = contacts, + Dossiers = dossiers, + Interventions = interventions, + InterventionsCacheAvailable = references.HasInterventionCache + }; + } + + private static ClientAdresse? MapAdresse(AdresseDto? adresse) + { + if (adresse?.AdressePostale is null) + { + return null; + } + + return new ClientAdresse + { + Line1 = adresse.AdressePostale.Line1, + Line2 = adresse.AdressePostale.Line2, + PostalCode = adresse.AdressePostale.PostalCode, + City = adresse.AdressePostale.City, + CountryCode = adresse.AdressePostale.CountryCode, + OneLine = adresse.AdressePostale.OneLine + }; + } + + private static string BuildDisplayName(ContactDto contact) + { + string prenom = contact.Prenom?.Trim() ?? string.Empty; + string nom = contact.Nom?.Trim() ?? string.Empty; + + if (prenom.Length > 0 && nom.Length > 0) + { + return $"{prenom} {nom}"; + } + if (prenom.Length > 0) + { + return prenom; + } + if (nom.Length > 0) + { + return nom; + } + return "Contact"; + } + + private static Guid? TryParseGuid(string? value) + { + return Guid.TryParse(value, out Guid guid) ? guid : null; + } + + /// + /// Regroupe les références Dossiers et Interventions chargées une seule fois + /// pour enrichir le détail d'un client. + /// + private sealed record ReferenceCollections( + IReadOnlyList<(Guid Id, Guid ClientId, DossierDetailsDto? Dto)> Dossiers, + IReadOnlyList<(Guid Id, Guid ClientId, InterventionDetailsDto? Dto)> Interventions, + bool HasInterventionCache); +} diff --git a/src/Omika.App.Local/Services/CollaborateurLocalService.cs b/src/Omika.App.Local/Services/CollaborateurLocalService.cs new file mode 100644 index 0000000..e1ef46c --- /dev/null +++ b/src/Omika.App.Local/Services/CollaborateurLocalService.cs @@ -0,0 +1,439 @@ +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.Core.Contracts.Common; +using Omika.Core.Contracts.Interventions; +using Omika.Core.Contracts.Mobile.Interventions; +using Omika.Core.Contracts.Mobile.License; +using Omika.Core.Contracts.Organisation; +using Omika.Core.Contracts.Planning; + +namespace Omika.App.Local.Services; + +/// +/// Service de lecture des collaborateurs depuis les données locales SQLite +/// (dernier snapshot). Ne déclenche aucun appel API : les données proviennent +/// exclusivement des tables métier locales. Lecture seule : aucune écriture ni +/// Outbox n'est créée pour les collaborateurs. +/// +/// Relations réellement démontrables localement : +/// +/// Collaborateur → RendezVous : RendezVousDetailsDto.Collaborateurs +/// contient une affectation dont CollaborateurId correspond au GUID public. +/// Collaborateur → Interventions : InterventionDetailsDto.CollaborateurIds +/// contient le GUID public du collaborateur. +/// +/// Aucune relation n'est déduite par transitivité (Collaborateur → RendezVous → +/// Intervention) ni par commodité. +/// +public sealed class CollaborateurLocalService : ICollaborateurLocalService +{ + private readonly ILocalRepository _collaborateurRepository; + private readonly ILocalRepository _rendezVousRepository; + private readonly IContextInterventionCacheRepository _interventionCacheRepository; + private readonly IMobileApiClient _apiClient; + private readonly IMobileSessionService _sessionService; + + public CollaborateurLocalService( + ILocalRepository collaborateurRepository, + ILocalRepository rendezVousRepository, + IContextInterventionCacheRepository interventionCacheRepository, + IMobileApiClient apiClient, + IMobileSessionService sessionService) + { + _collaborateurRepository = collaborateurRepository; + _rendezVousRepository = rendezVousRepository; + _interventionCacheRepository = interventionCacheRepository; + _apiClient = apiClient; + _sessionService = sessionService; + } + + /// + public async Task> GetCollaborateursAsync( + CancellationToken cancellationToken = default) + { + // Annuaire local d'abord (bootstrap, consultable hors réseau). + LocalBootstrapState? bootstrap = await _sessionService.GetBootstrapAsync(cancellationToken); + if (bootstrap is not null && bootstrap.Collaborateurs.Count > 0) + { + return bootstrap.Collaborateurs + .Select(MapSummaryToListItem) + .OrderBy(c => c.DisplayName, StringComparer.OrdinalIgnoreCase) + .ThenBy(c => c.Code, StringComparer.OrdinalIgnoreCase) + .ToList(); + } + + IReadOnlyList collaborateurs = await _collaborateurRepository.GetAllAsync(cancellationToken); + + // Repli À LA DEMANDE : le snapshot ne charge plus les collaborateurs en bloc. + if (collaborateurs.Count == 0) + { + try + { + PagedResult page = + await _apiClient.SearchCollaborateursAsync(new SearchCollaborateurRequest { Page = 1, PageSize = 200 }, cancellationToken); + + return page.Items + .Select(MapSummaryToListItem) + .OrderBy(c => c.DisplayName, StringComparer.OrdinalIgnoreCase) + .ThenBy(c => c.Code, StringComparer.OrdinalIgnoreCase) + .ToList(); + } + catch (OperationCanceledException) + { + throw; + } + catch (Exception) + { + // Offline ou serveur indisponible : aucune donnée locale. + return []; + } + } + + var items = new List(); + foreach (LocalCollaborateur local in collaborateurs) + { + CollaborateurDetailsDto? dto = JsonHelper.Deserialize(local.PayloadJson); + if (dto is null) + { + // Payload local invalide : entrée ignorée proprement (log technique). + continue; + } + + items.Add(MapToListItem(local.Id, dto)); + } + + // Tri déterministe : nom affiché (insensible à la casse) puis code. + return items + .OrderBy(c => c.DisplayName, StringComparer.OrdinalIgnoreCase) + .ThenBy(c => c.Code, StringComparer.OrdinalIgnoreCase) + .ToList(); + } + + private static CollaborateurListItem MapSummaryToListItem(CollaborateurSummaryDto dto) + { + return new CollaborateurListItem + { + CollaborateurGuid = Guid.TryParse(dto.Id, out Guid guid) ? guid : Guid.Empty, + DisplayName = dto.NomAffiche, + Code = dto.Code, + Fonction = dto.Fonction, + Email = dto.Email, + Telephone = dto.Telephone, + Actif = dto.Actif + }; + } + + /// + public async Task GetCollaborateurByIdAsync( + Guid collaborateurGuid, + CancellationToken cancellationToken = default) + { + CollaborateurDetailsDto? dto = null; + + // Rafraîchit TOUJOURS depuis le serveur. En cas d'échec (offline), repli local. + try + { + dto = await _apiClient.GetCollaborateurByIdAsync(collaborateurGuid, cancellationToken); + if (dto is not null) + { + Guid? societeId = Guid.TryParse(dto.SocieteId, out Guid societe) ? societe : (Guid?)null; + await _collaborateurRepository.UpsertAsync(new LocalCollaborateur + { + Id = collaborateurGuid, + SocieteId = societeId, + PayloadJson = JsonHelper.Serialize(dto), + UpdatedAtUtc = DateTimeOffset.UtcNow + }, cancellationToken); + } + } + catch (OperationCanceledException) + { + throw; + } + catch + { + // Offline : repli sur le cache local. + } + + if (dto is null) + { + LocalCollaborateur? local = await _collaborateurRepository.GetByIdAsync(collaborateurGuid, cancellationToken); + dto = local is null ? null : JsonHelper.Deserialize(local.PayloadJson); + } + + if (dto is null) + { + // Hors connexion, la table Collaborateur (chargée À LA DEMANDE) peut + // être vide après un snapshot. On reconstruit une fiche PARTIELLE + // depuis l'annuaire bootstrap et les affectations des rendez-vous + // locaux : les champs manquants restent nuls/vides. + return await BuildPartialDetailAsync(collaborateurGuid, cancellationToken); + } + + // Licence mobile (à la demande, best effort) : une indisponibilité réseau + // ne bloque pas l'affichage de la fiche collaborateur. + CollaborateurLicenceDto? licence = null; + try + { + licence = await _apiClient.GetCollaborateurLicenceAsync(collaborateurGuid, cancellationToken); + } + catch (OperationCanceledException) + { + throw; + } + catch (Exception) + { + // Offline / licence indisponible : fiche affichée sans licence. + } + + // Interventions liées : lues depuis le cache contextuel constitué par + // RefreshCollaborateurInterventionsAsync (miroir de Client/Site). + ContextInterventionCacheResult cachedInterventions = + await _interventionCacheRepository.GetByContextAsync( + InterventionContextTypes.Collaborateur, + collaborateurGuid, + cancellationToken); + + return MapToDetail(collaborateurGuid, dto, licence, cachedInterventions); + } + + /// + /// Reconstruit une fiche collaborateur PARTIELLE à partir des seules données + /// locales disponibles hors connexion : l'annuaire des collaborateurs actifs + /// du bootstrap (puis les membres des équipes), enfin les affectations des + /// rendez-vous du snapshot. Les champs absents restent nuls (affichage en + /// blanc côté fiche). Retourne null si aucune donnée locale n'existe. + /// + private async Task BuildPartialDetailAsync( + Guid collaborateurGuid, + CancellationToken cancellationToken) + { + LocalBootstrapState? bootstrap = await _sessionService.GetBootstrapAsync(cancellationToken); + + // 1. Annuaire des collaborateurs actifs du bootstrap. + if (bootstrap is not null) + { + CollaborateurSummaryDto? summary = bootstrap.Collaborateurs + .FirstOrDefault(c => Guid.TryParse(c.Id, out Guid id) && id == collaborateurGuid); + + if (summary is null) + { + summary = bootstrap.Equipes + .SelectMany(e => e.Collaborateurs) + .FirstOrDefault(c => Guid.TryParse(c.Id, out Guid id) && id == collaborateurGuid); + } + + if (summary is not null) + { + return MapSummaryToPartialDetail(collaborateurGuid, summary); + } + } + + // 2. Affectations des rendez-vous du snapshot (nom affiché uniquement). + IReadOnlyList rendezVous = await _rendezVousRepository.GetAllAsync(cancellationToken); + foreach (LocalRendezVous local in rendezVous) + { + RendezVousDetailsDto? rdv = JsonHelper.Deserialize(local.PayloadJson); + if (rdv is null) + { + continue; + } + + AffectationCollaborateurDto? affectation = rdv.Collaborateurs + .FirstOrDefault(a => Guid.TryParse(a.CollaborateurId, out Guid id) && id == collaborateurGuid); + + if (affectation is not null && !string.IsNullOrWhiteSpace(affectation.NomAffiche)) + { + return new CollaborateurDetail + { + CollaborateurGuid = collaborateurGuid, + NomAffiche = affectation.NomAffiche, + RendezVous = [], + Interventions = [] + }; + } + } + + return null; + } + + /// + /// Construit un réduit aux informations + /// portées par un (annuaire bootstrap). + /// Les champs non disponibles hors connexion (nom, prénom, civilité, statut, + /// mobile, fax, licence) restent nuls. + /// + private static CollaborateurDetail MapSummaryToPartialDetail( + Guid collaborateurGuid, + CollaborateurSummaryDto summary) + => new() + { + CollaborateurGuid = collaborateurGuid, + Code = summary.Code, + NomAffiche = summary.NomAffiche, + Fonction = summary.Fonction, + CouleurPlanning = summary.CouleurPlanning, + Actif = summary.Actif, + Email = summary.Email, + Phone = summary.Telephone, + RendezVous = [], + Interventions = [] + }; + + /// + public async Task AssignMobileLicenceAsync( + Guid collaborateurGuid, + CancellationToken cancellationToken = default) + { + CollaborateurLicenceDto? dto = await _apiClient.AssignMobileLicenceAsync(collaborateurGuid, cancellationToken); + return dto is null ? null : MapLicence(dto); + } + + /// + public async Task ReleaseMobileLicenceAsync( + Guid collaborateurGuid, + CancellationToken cancellationToken = default) + => await _apiClient.ReleaseMobileLicenceAsync(collaborateurGuid, cancellationToken); + + private static CollaborateurLicence MapLicence(CollaborateurLicenceDto dto) + => new() + { + Numero = dto.Numero, + Active = dto.Active, + DateAttribution = dto.DateAttribution, + DateExpiration = dto.DateExpiration, + DeviceId = dto.DeviceId, + CodeClient = dto.CodeClient, + QrCode = dto.QrCode + }; + + public async Task RefreshCollaborateurInterventionsAsync( + Guid collaborateurGuid, + CancellationToken cancellationToken = default) + { + var request = new MobileInterventionSearchRequest { CollaborateurId = collaborateurGuid.ToString() }; + IReadOnlyList results = + await _apiClient.SearchInterventionsAsync(request, cancellationToken); + + IReadOnlyList details = results + .Select(r => r.Detail) + .Where(d => !d.EstArchive) + .ToList(); + + await _interventionCacheRepository.ReplaceAsync( + InterventionContextTypes.Collaborateur, + collaborateurGuid, + details, + cancellationToken); + + return await GetCollaborateurByIdAsync(collaborateurGuid, cancellationToken); + } + + private static CollaborateurListItem MapToListItem(Guid collaborateurGuid, CollaborateurDetailsDto dto) + { + string? telephone = dto.Coordonnees?.Phone; + if (string.IsNullOrWhiteSpace(telephone)) + { + telephone = dto.Coordonnees?.Mobile; + } + + return new CollaborateurListItem + { + CollaborateurGuid = collaborateurGuid, + DisplayName = BuildDisplayName(dto), + Code = dto.Code, + Fonction = dto.Fonction, + Email = dto.Coordonnees?.Email, + Telephone = telephone, + Actif = dto.Actif, + EstArchive = dto.EstArchive + }; + } + + private static CollaborateurDetail MapToDetail( + Guid collaborateurGuid, + CollaborateurDetailsDto dto, + CollaborateurLicenceDto? licence, + ContextInterventionCacheResult cachedInterventions) + { + return new CollaborateurDetail + { + CollaborateurGuid = collaborateurGuid, + Code = dto.Code, + Nom = dto.Nom, + Prenom = dto.Prenom, + Fonction = dto.Fonction, + NomAffiche = BuildDisplayName(dto), + + Civilite = dto.Civilite?.Label, + Statut = dto.Statut?.Label, + CouleurPlanning = dto.CouleurPlanning, + Actif = dto.Actif, + EstArchive = dto.EstArchive, + Email = dto.Coordonnees?.Email, + Phone = dto.Coordonnees?.Phone, + Mobile = dto.Coordonnees?.Mobile, + Fax = dto.Coordonnees?.Fax, + RendezVous = [], + Interventions = MapInterventions(collaborateurGuid, cachedInterventions.Interventions), + InterventionsCacheAvailable = cachedInterventions.HasCache, + LicenceMobile = licence is null ? null : MapLicence(licence) + }; + } + + private static List MapInterventions( + Guid collaborateurGuid, + IReadOnlyList interventions) + { + return interventions + .Where(i => i.CollaborateurIds.Any(id => Guid.TryParse(id, out Guid guid) && guid == collaborateurGuid)) + .Select(i => new CollaborateurIntervention + { + InterventionGuid = Guid.TryParse(i.Id, out Guid id) ? id : Guid.Empty, + Reference = i.Reference, + Titre = i.Titre, + Etat = i.Etat?.Label, + Type = i.Type?.Label, + ClientNom = i.ClientNom, + SiteNom = i.SiteNom, + SiteAddressDisplay = i.SiteAdresse, + ContactNom = i.Contacts.FirstOrDefault()?.NomAffiche, + DatePrevueDebut = i.DatePrevueDebut + }) + .Where(i => i.InterventionGuid != Guid.Empty) + .OrderByDescending(i => i.DatePrevueDebut) + .ThenBy(i => i.Reference, StringComparer.OrdinalIgnoreCase) + .ToList(); + } + + /// + /// Construit le nom affiché d'un collaborateur à partir de son prénom et de + /// son nom, avec un fallback propre si une partie est absente. Le nom affiché + /// est une présentation UI, pas une donnée métier stockée. + /// + private static string BuildDisplayName(CollaborateurDetailsDto dto) + { + if (!string.IsNullOrWhiteSpace(dto.NomAffiche)) + { + return dto.NomAffiche.Trim(); + } + + string prenom = dto.Prenom?.Trim() ?? string.Empty; + string nom = dto.Nom?.Trim() ?? string.Empty; + + if (prenom.Length > 0 && nom.Length > 0) + { + return $"{prenom} {nom}"; + } + if (prenom.Length > 0) + { + return prenom; + } + if (nom.Length > 0) + { + return nom; + } + return "Collaborateur"; + } +} diff --git a/src/Omika.App.Local/Services/CompteRenduScopeService.cs b/src/Omika.App.Local/Services/CompteRenduScopeService.cs new file mode 100644 index 0000000..e94e475 --- /dev/null +++ b/src/Omika.App.Local/Services/CompteRenduScopeService.cs @@ -0,0 +1,74 @@ +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; +using Omika.Core.Contracts.Interventions; + +namespace Omika.App.Local.Services; + +/// +/// Implémentation du . +/// +/// Le mobile délègue la résolution du périmètre « groupe + journée » au serveur : +/// interroge +/// GET /rendez-vous/{id}/compte-rendu, qui est déjà group-aware dans les +/// deux schémas (Batik : PL_IDGroupe ; Omika : GUID partagé). Toutes les +/// décisions (existence, validation, création autorisée) dérivent donc du même +/// appel, garantissant une règle unique côté mobile. +/// +public sealed class CompteRenduScopeService : ICompteRenduScopeService +{ + private readonly IInterventionLocalService _interventionService; + + public CompteRenduScopeService(IInterventionLocalService interventionService) + { + ArgumentNullException.ThrowIfNull(interventionService); + _interventionService = interventionService; + } + + /// + public CompteRenduScope ResolveScope(AgendaItem rendezVous) + { + ArgumentNullException.ThrowIfNull(rendezVous); + return new CompteRenduScope( + rendezVous.RendezVousGuid, + DateOnly.FromDateTime(rendezVous.Debut), + rendezVous.InterventionGuid); + } + + /// + public Task GetCompteRenduAsync( + AgendaItem rendezVous, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(rendezVous); + return _interventionService.GetCompteRenduByRendezVousAsync( + rendezVous.RendezVousGuid, cancellationToken); + } + + /// + public async Task CompteRenduExistsAsync( + AgendaItem rendezVous, + CancellationToken cancellationToken = default) + => await GetCompteRenduAsync(rendezVous, cancellationToken) is not null; + + /// + public async Task CompteRenduIsValidatedAsync( + AgendaItem rendezVous, + CancellationToken cancellationToken = default) + { + CompteRenduDto? compteRendu = await GetCompteRenduAsync(rendezVous, cancellationToken); + if (compteRendu is null) + { + return false; + } + + return RendezVousStatut.EstCompteRenduValide( + compteRendu.StatutValidation?.Key, + compteRendu.StatutValidation?.Label); + } + + /// + public async Task CanCreateCompteRenduAsync( + AgendaItem rendezVous, + CancellationToken cancellationToken = default) + => !await CompteRenduExistsAsync(rendezVous, cancellationToken); +} diff --git a/src/Omika.App.Local/Services/DevelopmentLicenseConfigurationLoader.cs b/src/Omika.App.Local/Services/DevelopmentLicenseConfigurationLoader.cs new file mode 100644 index 0000000..a6d340f --- /dev/null +++ b/src/Omika.App.Local/Services/DevelopmentLicenseConfigurationLoader.cs @@ -0,0 +1,71 @@ +using System; +using System.IO; +using System.Text.Json; +using Omika.Core.Configuration; + +namespace Omika.App.Local.Services; + +/// +/// Charge la configuration locale de licence de développement (MICRO-LOT) +/// depuis un fichier JSON local development-license.json. +/// +/// Ce fichier est : +/// - local (dans le dossier de données de l'application) ; +/// - non sensible (aucun secret réel) ; +/// - clairement identifié Development ; +/// - ignoré en Release (le bypass est compilé hors sous #if DEBUG). +/// +/// Si le fichier est absent ou invalide, la licence de développement est +/// simplement désactivée (comportement normal). +/// +public static class DevelopmentLicenseConfigurationLoader +{ + private static readonly JsonSerializerOptions JsonOptions = new() + { + PropertyNameCaseInsensitive = true + }; + + /// Nom du fichier de configuration locale. + public const string FileName = "development-license.json"; + + /// + /// Charge les options depuis le fichier local. Retourne des options + /// désactivées si le fichier est absent ou invalide. + /// + public static DevelopmentLicenseOptions Load(string? filePath = null) + { + string path = filePath ?? DefaultPath(); + bool exists = File.Exists(path); + + // [STARTUP] trace diagnostic temporaire (retirée après diagnostic). + Console.WriteLine($"[STARTUP] DevLicensePath={path} DevLicenseFileExists={exists}"); + + if (!exists) + { + return new DevelopmentLicenseOptions { Enabled = false }; + } + + try + { + string json = File.ReadAllText(path); + var options = JsonSerializer.Deserialize(json, JsonOptions) + ?? new DevelopmentLicenseOptions { Enabled = false }; + Console.WriteLine($"[STARTUP] DevLicenseEnabled={options.Enabled}"); + return options; + } + catch (Exception) + { + // Fichier local corrompu : licence de développement désactivée. + return new DevelopmentLicenseOptions { Enabled = false }; + } + } + + /// + /// Chemin par défaut du fichier dans le dossier de données de l'application. + /// + public static string DefaultPath() + => Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), + "Omika", + FileName); +} diff --git a/src/Omika.App.Local/Services/DevelopmentLicenseProvider.cs b/src/Omika.App.Local/Services/DevelopmentLicenseProvider.cs new file mode 100644 index 0000000..9c9cbf1 --- /dev/null +++ b/src/Omika.App.Local/Services/DevelopmentLicenseProvider.cs @@ -0,0 +1,81 @@ +using System; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using Omika.App.Local.Abstractions; +using Omika.Core.Configuration; +using Omika.Core.Contracts.Mobile.License; + +namespace Omika.App.Local.Services; + +/// +/// Fournisseur de licence de développement locale (MICRO-LOT). +/// +/// En environnement Development/Debug uniquement, si la configuration locale +/// DevelopmentLicense.Enabled = true, retourne une licence locale valide +/// SANS appeler le serveur de licence. Cela permet de tester l'application +/// (navigation, SQLite locale, snapshot, offline-first, Agenda, RendezVous, +/// Interventions, SuiviTemps, Clients, Sites, Dossiers, Documents) sans base de +/// licences HFSQL fonctionnelle. +/// +/// RÈGLE DE SÉCURITÉ ABSOLUE : +/// Le bypass est exclusivement compilé sous #if DEBUG. En Release/ +/// Production, la méthode retourne toujours : aucune +/// licence locale ne peut être acceptée, et la vraie validation de licence +/// production reste inchangée. Aucun secret réel n'est utilisé. +/// +public sealed class DevelopmentLicenseProvider : IDevelopmentLicenseProvider +{ + private readonly DevelopmentLicenseOptions _options; + private readonly ILogger _logger; + + public DevelopmentLicenseProvider( + DevelopmentLicenseOptions options, + ILogger logger) + { + ArgumentNullException.ThrowIfNull(options); + ArgumentNullException.ThrowIfNull(logger); + _options = options; + _logger = logger; + } + + /// + public Task TryGetDevelopmentLicenseAsync(CancellationToken cancellationToken = default) + { +#if DEBUG + // Chemin de code EXCLUSIVEMENT compilé en Debug/Development. + // En Release, ce bloc est entièrement retiré du binaire : aucune licence + // locale ne peut être acceptée en production. + if (!_options.Enabled) + { + Console.WriteLine("[STARTUP] DevLicenseValid=false"); + return Task.FromResult(null); + } + + int expirationDays = _options.ExpirationDays > 0 ? _options.ExpirationDays : 365; + var license = new LicenseResponse + { + IsValid = true, + CodeClient = string.IsNullOrWhiteSpace(_options.ClientCode) ? "LOCAL-DEV" : _options.ClientCode, + NumeroLicence = "DEV-LOCAL-LICENSE", + NomSociete = "Développement local", + UserNom = _options.UserDisplayName, + UserPrenom = string.Empty, + DateAttribution = DateTime.Now, + DateExpiration = DateTime.Now.AddDays(expirationDays), + OfflineGraceDays = expirationDays, + ServerTimeUtc = DateTimeOffset.UtcNow, + ErrorCode = LicenseErrorCodes.Ok + }; + + _logger.LogInformation( + "Licence de développement locale activée pour le client {CodeClient} (expiration {Expiration:yyyy-MM-dd}).", + license.CodeClient, license.DateExpiration); + Console.WriteLine("[STARTUP] DevLicenseValid=true"); + return Task.FromResult(license); +#else + // Release/Production : jamais de licence locale. Comportement inchangé. + return Task.FromResult(null); +#endif + } +} diff --git a/src/Omika.App.Local/Services/DiagnosticUploadConfigurationLoader.cs b/src/Omika.App.Local/Services/DiagnosticUploadConfigurationLoader.cs new file mode 100644 index 0000000..da45848 --- /dev/null +++ b/src/Omika.App.Local/Services/DiagnosticUploadConfigurationLoader.cs @@ -0,0 +1,106 @@ +using System; +using System.IO; +using System.Text.Json; +using Omika.Core.Observability.Outbox; + +namespace Omika.App.Local.Services; + +/// +/// Charge la configuration locale d'upload de diagnostic depuis un fichier JSON +/// local diagnostics-upload.json. +/// +/// Ce fichier est : +/// - local (dans le dossier de données de l'application) ; +/// - non sensible (aucun secret, aucune URL codée en dur : la cible et le token +/// sont lus depuis le client API déjà configuré par l'enrôlement/licence) ; +/// - écrit automatiquement par l'application à l'inscription (voir +/// ) : l'envoi des diagnostics devient actif dès que +/// l'utilisateur s'inscrit, sur toutes les plateformes (Android/iOS/Desktop). +/// +/// Si le fichier est absent ou invalide, l'upload reste désactivé +/// (Enabled = false par défaut) : comportement normal, aucun appel réseau. +/// Un fichier existant (y compris un kill-switch manuel Enabled=false) est +/// respecté, jamais écrasé par la restauration de session (voir ). +/// Le format du fichier est le POCO (ex. +/// { "Enabled": true }) ; tous les autres champs gardent leurs valeurs par +/// défaut bornées et sûres. +/// +public static class DiagnosticUploadConfigurationLoader +{ + private static readonly JsonSerializerOptions JsonOptions = new() + { + PropertyNameCaseInsensitive = true + }; + + /// Nom du fichier de configuration locale d'upload (opt-in). + public const string FileName = "diagnostics-upload.json"; + + /// + /// Charge les options depuis le fichier local. Retourne des options + /// désactivées si le fichier est absent ou invalide. + /// + public static DiagnosticUploadOptions Load(string? filePath = null) + { + string path = filePath ?? DefaultPath(); + + if (!File.Exists(path)) + { + return new DiagnosticUploadOptions { Enabled = false }; + } + + try + { + string json = File.ReadAllText(path); + return JsonSerializer.Deserialize(json, JsonOptions) + ?? new DiagnosticUploadOptions { Enabled = false }; + } + catch (Exception) + { + // Fichier local corrompu : upload désactivé (fail-open, aucun impact métier). + return new DiagnosticUploadOptions { Enabled = false }; + } + } + + /// + /// Indique si le fichier de configuration locale d'upload existe déjà. Utilisé + /// pour la migration des appareils inscrits avant l'activation automatique : + /// un fichier existant (y compris un kill-switch manuel Enabled=false) + /// est respecté, jamais écrasé. + /// + public static bool Exists(string? filePath = null) + => File.Exists(filePath ?? DefaultPath()); + + /// + /// Active l'upload de diagnostic en écrivant le fichier d'opt-in + /// { "Enabled": true } (best-effort, dossier créé si nécessaire). + /// Une erreur d'écriture n'est jamais remontée : l'activation en mémoire + /// suffit pour la session courante, seule la persistance est perdue. + /// + public static void Enable(string? filePath = null) + { + try + { + string path = filePath ?? DefaultPath(); + string? directory = Path.GetDirectoryName(path); + if (!string.IsNullOrEmpty(directory)) + { + Directory.CreateDirectory(directory); + } + + File.WriteAllText(path, """{ "Enabled": true }"""); + } + catch + { + // Best-effort : l'activation en mémoire suffit pour la session courante. + } + } + + /// + /// Chemin par défaut du fichier dans le dossier de données de l'application. + /// + public static string DefaultPath() + => Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), + "Omika", + FileName); +} diff --git a/src/Omika.App.Local/Services/DocAideSeeder.cs b/src/Omika.App.Local/Services/DocAideSeeder.cs new file mode 100644 index 0000000..88212ea --- /dev/null +++ b/src/Omika.App.Local/Services/DocAideSeeder.cs @@ -0,0 +1,41 @@ +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; + +namespace Omika.App.Local.Services; + +/// +/// Insère le catalogue d'aide embarqué () dans la +/// table technique locale « DocAide ». Idempotent : les clés du catalogue sont +/// réécrites (les textes mis à jour se propagent), les éventuelles lignes déjà +/// présentes sous d'autres clés ne sont jamais supprimées. +/// +/// +/// Amorçage hors connexion uniquement : la source de référence est le +/// serveur (table Doc_Aide, ou fichier doc_aide.json sur base +/// Batik), appliquée juste après par . Ce +/// catalogue évite qu'une première installation sans réseau n'affiche aucune +/// aide. +/// +/// +public sealed class DocAideSeeder +{ + private readonly IDocAideRepository _repository; + + public DocAideSeeder(IDocAideRepository repository) + { + _repository = repository; + } + + /// + /// Insère (upsert) toutes les entrées du catalogue. Purement local, jamais + /// d'appel réseau : l'aide reste disponible hors connexion. + /// + public async Task SeedAsync(CancellationToken cancellationToken = default) + { + foreach (DocAideEntry entry in AideMobileCatalog.Entries) + { + cancellationToken.ThrowIfCancellationRequested(); + await _repository.UpsertAsync(entry, cancellationToken); + } + } +} diff --git a/src/Omika.App.Local/Services/DocAideSyncService.cs b/src/Omika.App.Local/Services/DocAideSyncService.cs new file mode 100644 index 0000000..1c9789f --- /dev/null +++ b/src/Omika.App.Local/Services/DocAideSyncService.cs @@ -0,0 +1,118 @@ +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; +using Omika.Core.Contracts.Mobile.Aide; + +namespace Omika.App.Local.Services; + +/// +/// Synchronisation de l'aide contextuelle mobile au lancement de l'application. +/// +/// +/// Source de référence : l'API (`GET /api/mobile/aide`), qui lit la table +/// Doc_Aide sur base Omika et le fichier doc_aide.json déployé à +/// côté de appsettings.Production.json sur base Batik. Les textes affichés +/// sur le téléphone ne sont donc plus figés dans le binaire. +/// +/// +/// +/// Offline-first : la réponse est stockée dans la table technique locale +/// « DocAide », puis les fiches retirées côté serveur sont supprimées. Une erreur +/// réseau, un serveur indisponible ou un appareil non inscrit ne modifient RIEN : +/// la synchronisation renvoie 0 et l'aide déjà présente reste consultable. +/// +/// +/// +/// Le catalogue embarqué () reste amorcé au +/// démarrage comme filet de sécurité pour une première installation hors +/// connexion ; chaque synchronisation réussie le remplace, clé par clé. +/// +/// +public sealed class DocAideSyncService +{ + private readonly IMobileApiClient _apiClient; + private readonly IDocAideRepository _repository; + + public DocAideSyncService(IMobileApiClient apiClient, IDocAideRepository repository) + { + ArgumentNullException.ThrowIfNull(apiClient); + ArgumentNullException.ThrowIfNull(repository); + _apiClient = apiClient; + _repository = repository; + } + + /// + /// Télécharge l'aide serveur et l'applique localement (upsert + purge des + /// fiches obsolètes). + /// + /// Jeton d'annulation. + /// + /// Nombre de fiches appliquées ; 0 si rien n'a été reçu (hors ligne, appareil + /// non inscrit, liste vide). Jamais d'exception : l'aide ne doit pas bloquer + /// le démarrage. + /// + public async Task SynchroniserAsync(CancellationToken cancellationToken = default) + { + MobileAideResponse reponse; + + try + { + reponse = await _apiClient.GetAideAsync(cancellationToken); + } + catch (OperationCanceledException) + { + throw; + } + catch (MobileEnrollmentRequiredException) + { + // Aucune URL d'API : l'appareil n'est pas encore inscrit, rien à + // synchroniser (et surtout rien à effacer). + return 0; + } + catch (Exception) + { + // Hors ligne, 401/5xx, réponse illisible : on conserve l'aide locale. + return 0; + } + + IReadOnlyList fiches = reponse.Fiches; + if (fiches.Count == 0) + { + // Réponse vide (source serveur absente) : ne jamais vider l'appareil. + return 0; + } + + var cles = new List(fiches.Count); + foreach (MobileAideFicheDto fiche in fiches) + { + if (string.IsNullOrWhiteSpace(fiche.Fenetre)) + { + continue; + } + + string cle = fiche.Fenetre.Trim(); + + await _repository.UpsertAsync( + new DocAideEntry + { + Fenetre = cle, + Titre = fiche.Titre ?? string.Empty, + Contenu = fiche.Contenu ?? string.Empty, + Tags = fiche.Tags, + UpdatedAtUtc = fiche.ModifieLeUtc ?? DateTimeOffset.UtcNow + }, + cancellationToken); + + cles.Add(cle); + } + + if (cles.Count == 0) + { + return 0; + } + + // Le serveur fait référence : une fiche qu'il ne renvoie plus disparaît. + await _repository.DeleteExceptAsync(cles, cancellationToken); + + return cles.Count; + } +} diff --git a/src/Omika.App.Local/Services/DocumentCacheService.cs b/src/Omika.App.Local/Services/DocumentCacheService.cs new file mode 100644 index 0000000..a874f0a --- /dev/null +++ b/src/Omika.App.Local/Services/DocumentCacheService.cs @@ -0,0 +1,55 @@ +using Microsoft.Extensions.Logging; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; + +namespace Omika.App.Local.Services; + +/// +/// Service de cache document local. Le contenu binaire est stocké dans un +/// fichier local ; SQLite ne contient que les métadonnées. Le cache survit au +/// refresh snapshot. +/// +public sealed class DocumentCacheService : IDocumentCacheService +{ + private readonly IDocumentCacheRepository _cacheRepository; + private readonly ILogger _logger; + + public DocumentCacheService( + IDocumentCacheRepository cacheRepository, + ILogger logger) + { + _cacheRepository = cacheRepository; + _logger = logger; + } + + public async Task PurgeAsync(CancellationToken cancellationToken = default) + { + IReadOnlyList entries = await _cacheRepository.GetAllAsync(cancellationToken); + int purged = 0; + + foreach (DocumentCacheEntry entry in entries) + { + cancellationToken.ThrowIfCancellationRequested(); + + // Supprime le fichier local s'il existe. + try + { + if (File.Exists(entry.LocalPath)) + { + File.Delete(entry.LocalPath); + } + } + catch (Exception ex) + { + _logger.LogWarning(ex, "DocumentCache : impossible de supprimer le fichier {Path}.", entry.LocalPath); + } + + // Supprime l'entrée de cache. + await _cacheRepository.DeleteAsync(entry.DocumentGuid, cancellationToken); + purged++; + } + + _logger.LogInformation("DocumentCache : purge terminée ({Count} entrées).", purged); + return purged; + } +} diff --git a/src/Omika.App.Local/Services/DocumentLocalService.cs b/src/Omika.App.Local/Services/DocumentLocalService.cs new file mode 100644 index 0000000..9ff3164 --- /dev/null +++ b/src/Omika.App.Local/Services/DocumentLocalService.cs @@ -0,0 +1,1232 @@ +using System.IO; +using Microsoft.Extensions.Logging; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.Core.Constants; +using Omika.Core.Contracts.Documents; +using Omika.Core.Contracts.Mobile.Documents; +using Omika.Core.Contracts.Mobile.Sync; +using LocalSyncEntityTypes = Omika.App.Local.Infrastructure.SyncEntityTypes; + +namespace Omika.App.Local.Services; + + +/// +/// Service local Documents / Photos d'une intervention. +/// Lecture des métadonnées depuis SQLite (snapshot), gestion du cache fichier +/// local, téléchargement à la demande, ouverture offline et ajout +/// photo/document offline-first (Outbox). Aucun appel réseau automatique à +/// l'ouverture de l'écran. +/// +public sealed class DocumentLocalService : IDocumentLocalService +{ + private readonly ILocalRepository _documentRepository; + private readonly INoteDocumentLocalRepository _noteDocumentRepository; + private readonly IDocumentCacheRepository _cacheRepository; + private readonly IOutboxRepository _outboxRepository; + private readonly IMobileApiClient _apiClient; + private readonly IFileLauncher _fileLauncher; + private readonly IFilePicker _filePicker; + private readonly IPhotoCapture _photoCapture; + private readonly IImageOptimizer _imageOptimizer; + private readonly IPhotoPolicyProvider _photoPolicy; + private readonly IDocumentDateResolver _dateResolver; + private readonly INetworkConnectivity _network; + private readonly IMobileIdentityReconciliationService _reconciliation; + private readonly string _filesDirectory; + private readonly ILogger _logger; + + /// + /// Surveillance de fond réveillée après l'enregistrement local d'un document, + /// afin que l'upload parte automatiquement dès que le réseau est disponible + /// (la synchronisation manuelle reste disponible). + /// + private readonly IBackgroundSyncService? _backgroundSync; + + public DocumentLocalService( + ILocalRepository documentRepository, + INoteDocumentLocalRepository noteDocumentRepository, + IDocumentCacheRepository cacheRepository, + IOutboxRepository outboxRepository, + IMobileApiClient apiClient, + IFileLauncher fileLauncher, + IFilePicker filePicker, + IPhotoCapture photoCapture, + IImageOptimizer imageOptimizer, + IPhotoPolicyProvider photoPolicy, + IDocumentDateResolver dateResolver, + INetworkConnectivity network, + IMobileIdentityReconciliationService reconciliation, + string filesDirectory, + ILogger logger, + IBackgroundSyncService? backgroundSync = null) + { + _documentRepository = documentRepository; + _noteDocumentRepository = noteDocumentRepository; + _cacheRepository = cacheRepository; + _outboxRepository = outboxRepository; + _apiClient = apiClient; + _fileLauncher = fileLauncher; + _filePicker = filePicker; + _photoCapture = photoCapture; + _imageOptimizer = imageOptimizer; + _photoPolicy = photoPolicy; + _dateResolver = dateResolver; + _network = network; + _reconciliation = reconciliation; + _filesDirectory = filesDirectory; + _logger = logger; + _backgroundSync = backgroundSync; + } + + /// + public async Task> GetDocumentsForInterventionAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) + { + // 1. Rafraîchissement À LA DEMANDE depuis l'API (si online) : uniquement + // les documents de CETTE intervention, puis remplacement du cache local. + // En échec réseau, le cache local existant est conservé (offline-first). + if (await _network.IsOnlineAsync(cancellationToken)) + { + try + { + IReadOnlyList serverDocuments = + await _apiClient.GetDocumentsByInterventionAsync(interventionGuid, cancellationToken); + await ReplaceLocalDocumentsAsync(interventionGuid, serverDocuments, cancellationToken); + } + catch (OperationCanceledException) + { + throw; + } + catch (Exception ex) + { + _logger.LogWarning(ex, + "DocumentLocalService : échec du rafraîchissement des documents de l'intervention {InterventionGuid}; cache local conservé.", + interventionGuid); + } + } + + // 2. Lecture du cache local (métadonnées de cette intervention) enrichie + // de l'état du cache fichier et de l'état de synchronisation. + return await BuildItemsAsync(interventionGuid, cancellationToken); + } + + /// + /// Remplace les métadonnées locales des documents d'une intervention par la + /// liste fraîche renvoyée par le serveur. N'affecte jamais les documents + /// d'autres interventions. Les documents ajoutés localement et pas encore + /// confirmés sur le serveur (présents en Outbox) sont conservés : ils restent + /// visibles immédiatement, même hors ligne. + /// + private async Task ReplaceLocalDocumentsAsync( + Guid interventionGuid, + IReadOnlyList serverDocuments, + CancellationToken cancellationToken) + { + // GUID des documents locaux encore en file d'envoi (pas encore confirmés + // sur le serveur). Ils ne doivent pas être supprimés par le refresh. + IReadOnlyList ready = await _outboxRepository.GetReadyAsync(cancellationToken); + IReadOnlyList waiting = await _outboxRepository.GetWaitingResultAsync(cancellationToken); + IReadOnlyList rejected = await _outboxRepository.GetRejectedAsync(cancellationToken); + var pendingGuids = ready + .Concat(waiting) + .Concat(rejected) + .Where(o => o.EntityType == LocalSyncEntityTypes.Document) + .Select(o => o.RequestedEntityGuid) + .ToHashSet(); + + IReadOnlyList existing = await _documentRepository.GetAllAsync(cancellationToken); + foreach (LocalDocumentMetadata local in existing.Where(d => d.InterventionId == interventionGuid)) + { + if (pendingGuids.Contains(local.Id)) + { + // Document ajouté localement, pas encore synchronisé : conservé. + continue; + } + + await _documentRepository.DeleteAsync(local.Id, cancellationToken); + } + + foreach (DocumentSummaryDto dto in serverDocuments) + { + Guid id = Guid.TryParse(dto.Id, out Guid parsed) ? parsed : Guid.NewGuid(); + await _documentRepository.UpsertAsync(new LocalDocumentMetadata + { + Id = id, + InterventionId = interventionGuid, + PayloadJson = JsonHelper.Serialize(dto) + }, cancellationToken); + } + } + + private async Task> BuildItemsAsync( + Guid interventionGuid, + CancellationToken cancellationToken) + { + IReadOnlyList all = await _documentRepository.GetAllAsync(cancellationToken); + IReadOnlyList cacheEntries = await _cacheRepository.GetAllAsync(cancellationToken); + IReadOnlyList outbox = await _outboxRepository.GetReadyAsync(cancellationToken); + IReadOnlyList waiting = await _outboxRepository.GetWaitingResultAsync(cancellationToken); + IReadOnlyList rejected = await _outboxRepository.GetRejectedAsync(cancellationToken); + + var cacheByGuid = cacheEntries.ToDictionary(c => c.DocumentGuid, c => c); + var outboxByGuid = outbox + .Concat(waiting) + .Concat(rejected) + .Where(o => o.EntityType == LocalSyncEntityTypes.Document) + .GroupBy(o => o.RequestedEntityGuid) + .ToDictionary(g => g.Key, g => g.First()); + + var result = new List(); + + foreach (LocalDocumentMetadata local in all) + { + if (local.InterventionId is null || local.InterventionId.Value != interventionGuid) + { + continue; + } + + DocumentSummaryDto? dto = JsonHelper.Deserialize(local.PayloadJson); + if (dto is null) + { + // Métadonnée locale corrompue : ignorée proprement. + _logger.LogWarning("DocumentLocalService : métadonnée locale invalide ignorée (DocumentGuid={DocumentGuid}).", local.Id); + continue; + } + + bool isCached = cacheByGuid.TryGetValue(local.Id, out DocumentCacheEntry? cache) + && cache.State == DocumentCacheState.Downloaded + && File.Exists(cache.LocalPath); + + DocumentSyncState syncState = DocumentSyncState.None; + string? syncError = null; + if (outboxByGuid.TryGetValue(local.Id, out OutboxOperation? op)) + { + (syncState, syncError) = MapOutboxState(op); + } + + result.Add(new InterventionDocumentItem + { + DocumentGuid = local.Id, + Nom = dto.Nom, + Titre = dto.Titre, + Categorie = dto.Categorie, + MimeType = dto.MimeType, + Extension = dto.Extension, + TailleOctets = dto.TailleOctets, + DateCreation = dto.DateCreation, + IsPhoto = IsPhoto(dto), + IsCached = isCached, + SyncState = syncState, + SyncErrorMessage = syncError + }); + } + + // Ordre cohérent : photos d'abord (si distinguées), puis par date de création. + return result + .OrderByDescending(d => d.IsPhoto) + .ThenBy(d => d.DateCreation) + .ToList(); + } + + /// + public async Task EnsureDownloadedAsync( + Guid documentGuid, + CancellationToken cancellationToken = default) + { + // Résout le GUID mobile temporaire vers le GUID canonique serveur (Batik), + // pour que le cache local et le téléchargement utilisent toujours l'identité + // stable du document. + Guid canonical = await ResolveCanonicalDocumentGuidAsync(documentGuid, cancellationToken); + + // Déjà en cache et fichier présent : aucun HTTP. + DocumentCacheEntry? existing = await _cacheRepository.GetAsync(canonical, cancellationToken); + if (existing is not null + && existing.State == DocumentCacheState.Downloaded + && File.Exists(existing.LocalPath)) + { + return true; + } + + // Hors ligne : aucun appel HTTP. + if (!await _network.IsOnlineAsync(cancellationToken)) + { + return false; + } + + try + { + DocumentDownloadResponse response = await _apiClient.DownloadDocumentAsync(canonical, cancellationToken); + + if (!response.Existe) + { + // Le GUID n'est jamais exposé à l'utilisateur : il reste dans les logs. + _logger.LogWarning( + "DocumentLocalService : document absent du stockage serveur (DocumentGuid={DocumentGuid}).", + canonical); + throw new FileNotFoundException( + "Le document n'existe pas sur le stockage serveur."); + } + + string localPath = WriteToCache(canonical, response.NomFichier, response.Contenu); + + await _cacheRepository.UpsertAsync(new DocumentCacheEntry + { + DocumentGuid = canonical, + LocalPath = localPath, + NomFichier = response.NomFichier, + MimeType = response.MimeType, + Size = response.TailleOctets, + State = DocumentCacheState.Downloaded + }, cancellationToken); + + return true; + } + catch (OperationCanceledException) + { + throw; + } + catch (FileNotFoundException) + { + throw; + } + catch (Exception ex) + { + _logger.LogWarning(ex, "DocumentLocalService : échec du téléchargement du document {DocumentGuid}.", canonical); + return false; + } + } + + /// + public async Task OpenAsync( + Guid documentGuid, + CancellationToken cancellationToken = default) + { + // Résout le GUID mobile temporaire vers le GUID canonique serveur (Batik), + // afin que l'ouverture fonctionne aussi pendant la fenêtre de synchronisation + // (le cache a été réconcilié vers le GUID canonique). + Guid canonical = await ResolveCanonicalDocumentGuidAsync(documentGuid, cancellationToken); + + DocumentCacheEntry? cache = await _cacheRepository.GetAsync(canonical, cancellationToken); + if (cache is not null && File.Exists(cache.LocalPath)) + { + return await _fileLauncher.OpenAsync(cache.LocalPath); + } + + // Repli : fichier absent du cache (GUID canonique serveur non encore + // aligné avec l'entrée de cache locale). Télécharge à la demande, comme la + // visionneuse photo, puis ouvre. Hors ligne ou document absent du serveur + // → false (l'utilisateur est prévenu). + try + { + if (await EnsureDownloadedAsync(canonical, cancellationToken)) + { + cache = await _cacheRepository.GetAsync(canonical, cancellationToken); + if (cache is not null && File.Exists(cache.LocalPath)) + { + return await _fileLauncher.OpenAsync(cache.LocalPath); + } + } + } + catch (OperationCanceledException) + { + throw; + } + catch + { + // Échec du repli (document introuvable sur le serveur, réseau, etc.) : + // on retombe sur l'échec d'ouverture. + } + + return false; + } + + /// + public async Task GetCachedFilePathAsync( + Guid documentGuid, + CancellationToken cancellationToken = default) + { + Guid canonical = await ResolveCanonicalDocumentGuidAsync(documentGuid, cancellationToken); + + DocumentCacheEntry? cache = await _cacheRepository.GetAsync(canonical, cancellationToken); + if (cache is not null && cache.State == DocumentCacheState.Downloaded && File.Exists(cache.LocalPath)) + { + return cache.LocalPath; + } + + return null; + } + + /// + /// Résout l'identité d'un document vers son GUID canonique serveur. Un GUID + /// temporaire mobile (créé hors ligne) est remplacé par le GUID canonique + /// renvoyé après l'upload ; un GUID déjà canonique est conservé tel quel. + /// + private async Task ResolveCanonicalDocumentGuidAsync( + Guid documentGuid, + CancellationToken cancellationToken) + => await _reconciliation.ResolveAsync( + LocalSyncEntityTypes.Document, documentGuid, cancellationToken); + + /// + public async Task> GetNotesForDocumentAsync( + Guid documentGuid, + CancellationToken cancellationToken = default) + { + // Identité canonique : le cache local et le serveur désignent le document + // par le même GUID après réconciliation (A → B). + Guid canonical = await ResolveCanonicalDocumentGuidAsync(documentGuid, cancellationToken); + + // Rafraîchissement serveur BEST-EFFORT : hors ligne, aucun appel n'est + // tenté (donc aucune latence d'échec) et la copie locale est servie + // telle quelle. En échec serveur, la copie locale est conservée. + if (await _network.IsOnlineAsync(cancellationToken)) + { + try + { + IReadOnlyList serverNotes = + await _apiClient.GetNotesByDocumentAsync(canonical, cancellationToken); + + // Purge des notes CONFIRMÉES de ce document, puis réinsertion des + // notes serveur fraîches. Les notes saisies hors ligne et encore + // en attente d'envoi sont conservées : ce sont des saisies + // utilisateur non confirmées. + await _noteDocumentRepository.DeleteNonPendingByDocumentAsync(canonical, cancellationToken); + + foreach (NoteInterneDto dto in serverNotes) + { + if (!Guid.TryParse(dto.Id, out Guid noteGuid)) + { + continue; + } + + await _noteDocumentRepository.UpsertAsync(new LocalNoteDocument + { + Id = noteGuid, + DocumentId = canonical, + Contenu = dto.Contenu ?? string.Empty, + DateCreation = dto.DateCreation, + AuteurNom = dto.AuteurNom + }, cancellationToken); + } + } + catch (OperationCanceledException) + { + throw; + } + catch (Exception ex) + { + _logger.LogWarning(ex, + "DocumentLocalService : notes du document {DocumentGuid} non rafraîchies ; copie locale conservée.", + canonical); + } + } + + IReadOnlyList local = + await _noteDocumentRepository.GetByDocumentAsync(canonical, cancellationToken); + + if (local.Count == 0) + { + return []; + } + + Dictionary syncLabels = await BuildNoteSyncLabelsAsync(cancellationToken); + + return local + .Select(note => new DocumentNoteItem + { + NoteGuid = note.Id, + Contenu = note.Contenu, + DateCreation = note.DateCreation, + AuteurNom = note.AuteurNom, + SyncLabel = syncLabels.TryGetValue(note.Id, out string? label) ? label : null + }) + .ToList(); + } + + /// + /// Construit, pour les notes encore en cours de synchronisation, le libellé + /// d'état à afficher sous la note (« En attente d'envoi », « Non + /// synchronisée : … »). Les notes déjà confirmées n'apparaissent pas ici : + /// elles s'affichent sans mention d'état. + /// + private async Task> BuildNoteSyncLabelsAsync( + CancellationToken cancellationToken) + { + IReadOnlyList ready = await _outboxRepository.GetReadyAsync(cancellationToken); + IReadOnlyList waiting = await _outboxRepository.GetWaitingResultAsync(cancellationToken); + IReadOnlyList rejected = await _outboxRepository.GetRejectedAsync(cancellationToken); + + var labels = new Dictionary(); + foreach (OutboxOperation operation in ready + .Concat(waiting) + .Concat(rejected) + .Where(o => o.EntityType == LocalSyncEntityTypes.NoteDocument)) + { + labels[operation.RequestedEntityGuid] = operation.State switch + { + OutboxState.Rejected => string.IsNullOrWhiteSpace(operation.LastError) + ? "Non synchronisée : envoi refusé." + : $"Non synchronisée : {operation.LastError}", + OutboxState.Pending or OutboxState.Sending or OutboxState.StatusNotAvailable + => "En attente d'envoi", + _ => "En cours d'envoi" + }; + } + + return labels; + } + + /// + public async Task AddNoteAsync( + Guid documentGuid, + string contenu, + CancellationToken cancellationToken = default) + { + // OFFLINE-FIRST : aucune connexion n'est requise ni tentée. La note est + // écrite sur l'appareil puis mise en file d'envoi ; elle partira au + // prochain cycle de synchronisation, JAMAIS avant le document qu'elle + // référence (dépendance Outbox ci-dessous). + string texte = contenu?.Trim() ?? string.Empty; + Guid noteGuid = Guid.NewGuid(); + DateTime now = DateTime.Now; + + // Identité canonique du document : si la photo a déjà été uploadée, la + // note part directement avec le GUID serveur ; sinon le payload sera + // réécrit lors de la réconciliation (A → B) du document. + Guid canonicalDocument = await ResolveCanonicalDocumentGuidAsync(documentGuid, cancellationToken); + + // 1. Écriture locale : la note est visible immédiatement, même hors ligne. + await _noteDocumentRepository.UpsertAsync(new LocalNoteDocument + { + Id = noteGuid, + DocumentId = canonicalDocument, + Contenu = texte, + DateCreation = now, + AuteurNom = null + }, cancellationToken); + + // 2. Opération Outbox CREATE, DIFFÉRÉE tant que l'opération de son + // document est encore active : le serveur ne peut pas rattacher une + // note à un document qu'il ne connaît pas encore. + var payload = new NoteDocumentSyncPayload + { + DocumentId = canonicalDocument.ToString("D"), + Contenu = texte + }; + + await _outboxRepository.AddAsync(new OutboxOperation + { + OperationId = Guid.NewGuid(), + EntityType = LocalSyncEntityTypes.NoteDocument, + OperationType = SyncOperationType.Create, + RequestedEntityGuid = noteGuid, + Payload = JsonHelper.Serialize(payload), + State = OutboxState.Pending, + DependencyEntityType = LocalSyncEntityTypes.Document, + DependencyRequestedEntityGuid = canonicalDocument + }, cancellationToken); + + // Enregistrement local effectué : réveille la surveillance de fond + // (envoi automatique dès que le réseau est disponible). + _backgroundSync?.RequestSync(); + + return new DocumentNoteItem + { + NoteGuid = noteGuid, + Contenu = texte, + DateCreation = now, + SyncLabel = "En attente d'envoi" + }; + } + + /// + public async Task AddPhotoAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) + { + PickedFile? picked = await _filePicker.PickPhotoAsync(); + if (picked is null) + { + return null; + } + return await AddPickedFileAsync(interventionGuid, picked, isPhoto: true, cancellationToken); + } + + /// + public async Task AddPhotosAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) + { + IReadOnlyList picked = await _filePicker.PickPhotosAsync(); + + var added = new List(); + int failed = 0; + + foreach (PickedFile file in picked) + { + cancellationToken.ThrowIfCancellationRequested(); + try + { + InterventionDocumentItem? item = await AddPickedFileAsync( + interventionGuid, file, isPhoto: true, cancellationToken); + if (item is not null) + { + added.Add(item); + } + else + { + failed++; + } + } + catch (OperationCanceledException) + { + throw; + } + catch (Exception ex) + { + // Fichier indépendant : l'échec d'un élément ne doit pas + // interrompre le lot. Les succès déjà enregistrés sont conservés. + // Aucune donnée personnelle n'est journalisée. + _logger.LogWarning(ex, + "DocumentLocalService : échec de l'ajout d'une photo du lot (élément ignoré)."); + failed++; + } + } + + return new AddPhotosResult + { + Added = added, + FailedCount = failed + }; + } + + /// + public async Task AddPhotoFromCameraAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) + { + PickedFile? picked = await _photoCapture.CapturePhotoAsync(cancellationToken); + if (picked is null) + { + // Prise de vue annulée : aucun document, aucune erreur. + return null; + } + + try + { + return await AddPickedFileAsync(interventionGuid, picked, isPhoto: true, cancellationToken); + } + finally + { + // Le fichier temporaire produit par la caméra a été copié/optimisé + // dans l'espace contrôlé par AddPickedFileAsync : suppression + // best-effort pour éviter l'accumulation de fichiers orphelins. + TryDeleteFile(picked.SourcePath); + } + } + + /// + public async Task AddDocumentAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) + { + PickedFile? picked = await _filePicker.PickDocumentAsync(); + if (picked is null) + { + return null; + } + return await AddPickedFileAsync(interventionGuid, picked, isPhoto: false, cancellationToken); + } + + /// + public async Task AddAnnotatedPhotoAsync( + Guid interventionGuid, + Guid sourceDocumentGuid, + byte[] pngBytes, + string fileName, + CancellationToken cancellationToken = default) + { + if (pngBytes is null || pngBytes.Length == 0) + { + return null; + } + + // 0. DATE MÉTIER HÉRITÉE du document source. La copie annotée est un + // DÉRIVÉ d'une photo existante : sa date de prise de vue reste celle de + // l'original. Le PNG produit par l'éditeur ne porte aucune métadonnée + // EXIF exploitable, il ne faut donc pas la chercher dans le fichier. + DocumentDateResolution date = await ResolveSourceDocumentDateAsync( + sourceDocumentGuid, cancellationToken); + LogDocumentDate(fileName, date, sourceDocumentGuid); + + // 1. Copie locale du PNG annoté (nouveau DocumentGuid : l'original reste intact). + // C'est une NOUVELLE image ajoutée à l'intervention : elle relève donc de + // la même politique de poids que les photos prises ou sélectionnées. + Guid documentGuid = Guid.NewGuid(); + string localPath = await OptimizeInMemoryImageToCacheAsync( + documentGuid, fileName, "image/png", pngBytes, cancellationToken); + + // Taille réelle du fichier conservé : celle de la version optimisée lorsqu'une + // optimisation a eu lieu, celle de l'original sinon. + long tailleFinale = new FileInfo(localPath).Length; + + // 1b. Entrée de cache : le fichier local est immédiatement disponible, + // sans téléchargement ultérieur (visible même hors ligne). + await _cacheRepository.UpsertAsync(new DocumentCacheEntry + { + DocumentGuid = documentGuid, + LocalPath = localPath, + NomFichier = fileName, + MimeType = "image/png", + Size = tailleFinale, + State = DocumentCacheState.Downloaded + }, cancellationToken); + + // 2. Création de la metadata locale (DocumentMetadata). + var dto = new DocumentSummaryDto + { + Id = documentGuid.ToString(), + Nom = fileName, + Titre = fileName, + Categorie = "Photo", + MimeType = "image/png", + Extension = ".png", + TailleOctets = tailleFinale, + DateCreation = date.Value, + InterventionId = interventionGuid.ToString() + }; + + await _documentRepository.UpsertAsync(new LocalDocumentMetadata + { + Id = documentGuid, + InterventionId = interventionGuid, + PayloadJson = JsonHelper.Serialize(dto) + }, cancellationToken); + + // 3. Création de l'opération Outbox (DocumentGuid ≠ OperationId). + var payload = new DocumentOutboxPayload + { + DocumentGuid = documentGuid, + InterventionGuid = interventionGuid, + NomFichier = fileName, + MimeType = "image/png", + Extension = ".png", + Categorie = MobilePermissionKeys.DocCategoriePhoto, + LocalPath = localPath, + DateCreation = date.Value, + DateCreationSource = date.Source.ToString() + }; + + await _outboxRepository.AddAsync(new OutboxOperation + { + OperationId = Guid.NewGuid(), + EntityType = LocalSyncEntityTypes.Document, + + OperationType = SyncOperationType.Create, + RequestedEntityGuid = documentGuid, + Payload = JsonHelper.Serialize(payload), + State = OutboxState.Pending + }, cancellationToken); + + // Enregistrement local effectué : on réveille la surveillance de fond + // (envoi automatique dès que le réseau est disponible). + _backgroundSync?.RequestSync(); + + // 4. UI mise à jour immédiatement (retour de l'élément). + return new InterventionDocumentItem + { + DocumentGuid = documentGuid, + Nom = fileName, + Titre = fileName, + Categorie = "Photo", + MimeType = "image/png", + Extension = ".png", + TailleOctets = tailleFinale, + DateCreation = date.Value, + IsPhoto = true, + IsCached = true, + SyncState = DocumentSyncState.Pending + }; + } + + /// + /// Résout la date métier d'un document déjà présent dans le cache local, à + /// partir de la seule source fiable disponible : la métadonnée que le service + /// a elle-même enregistrée pour ce document. Aucune relecture du fichier n'est + /// effectuée : le fichier local peut être la version OPTIMISÉE, dont les + /// métadonnées EXIF ont pu être supprimées par le réencodage. + /// + /// Si le document source n'est pas connu localement (identité non encore + /// réconciliée, métadonnée absente ou illisible), la date système est utilisée + /// plutôt que d'échouer. + /// + private async Task ResolveSourceDocumentDateAsync( + Guid sourceDocumentGuid, + CancellationToken cancellationToken) + { + if (sourceDocumentGuid == Guid.Empty) + { + return new DocumentDateResolution(DateTime.Now, DocumentDateSource.SystemFallback); + } + + try + { + LocalDocumentMetadata? source = + await _documentRepository.GetByIdAsync(sourceDocumentGuid, cancellationToken); + if (source is not null) + { + DocumentSummaryDto? sourceDto = JsonHelper.Deserialize(source.PayloadJson); + if (sourceDto is not null && sourceDto.DateCreation != default) + { + return new DocumentDateResolution( + sourceDto.DateCreation, DocumentDateSource.SourceDocument); + } + } + } + catch (OperationCanceledException) + { + throw; + } + catch (Exception ex) + { + _logger.LogWarning(ex, + "DocumentLocalService : date du document source indisponible ; date système utilisée (DocumentGuid={DocumentGuid}).", + sourceDocumentGuid); + } + + return new DocumentDateResolution(DateTime.Now, DocumentDateSource.SystemFallback); + } + + private async Task AddPickedFileAsync( + Guid interventionGuid, + PickedFile picked, + bool isPhoto, + CancellationToken cancellationToken) + { + // 1. Fichier local dans l'espace contrôlé par l'application. + // Les images passent par la politique de poids du client : optimisation + // AVANT l'enregistrement local, donc avant tout envoi serveur. Les + // fichiers non image (PDF, Word, Excel, ZIP, texte…) sont copiés tels + // quels, sans traitement. + // La date réelle du fichier (EXIF pour une photo) est résolue dans le + // même appel, AVANT l'optimisation qui peut supprimer les métadonnées. + Guid documentGuid = Guid.NewGuid(); + PreparedLocalFile prepared = await PrepareLocalFileAsync(documentGuid, picked, cancellationToken); + string localPath = prepared.LocalPath; + + // Taille réelle et date métier réellement retenues : celles du fichier + // conservé (version optimisée ou original), jamais une valeur recalculée. + long tailleFinale = new FileInfo(localPath).Length; + LogDocumentDate(picked.FileName, prepared.Date); + + // 1b. Entrée de cache : le fichier local est immédiatement disponible, + // sans téléchargement ultérieur (visible même hors ligne). + await _cacheRepository.UpsertAsync(new DocumentCacheEntry + { + DocumentGuid = documentGuid, + LocalPath = localPath, + NomFichier = picked.FileName, + MimeType = picked.MimeType, + Size = tailleFinale, + State = DocumentCacheState.Downloaded + }, cancellationToken); + + // 2. Création de la metadata locale (DocumentMetadata). + // La date est aussi portée par le payload Outbox afin de traverser la + // synchronisation : sans elle, le serveur horodaterait à l'upload et le + // rafraîchissement à la demande écraserait cette valeur côté appareil. + var dto = new DocumentSummaryDto + { + Id = documentGuid.ToString(), + Nom = picked.FileName, + Titre = picked.FileName, + Categorie = isPhoto ? "Photo" : "Document", + MimeType = picked.MimeType, + Extension = Path.GetExtension(picked.FileName), + TailleOctets = tailleFinale, + DateCreation = prepared.Date.Value, + InterventionId = interventionGuid.ToString() + }; + + await _documentRepository.UpsertAsync(new LocalDocumentMetadata + { + Id = documentGuid, + InterventionId = interventionGuid, + PayloadJson = JsonHelper.Serialize(dto) + }, cancellationToken); + + // 3. Création de l'opération Outbox (DocumentGuid ≠ OperationId). + var payload = new DocumentOutboxPayload + { + DocumentGuid = documentGuid, + InterventionGuid = interventionGuid, + NomFichier = picked.FileName, + MimeType = picked.MimeType, + Extension = Path.GetExtension(picked.FileName), + Categorie = isPhoto ? MobilePermissionKeys.DocCategoriePhoto : MobilePermissionKeys.DocCategorieAutre, + LocalPath = localPath, + DateCreation = prepared.Date.Value, + DateCreationSource = prepared.Date.Source.ToString() + }; + + await _outboxRepository.AddAsync(new OutboxOperation + { + OperationId = Guid.NewGuid(), + EntityType = LocalSyncEntityTypes.Document, + + OperationType = SyncOperationType.Create, + RequestedEntityGuid = documentGuid, + Payload = JsonHelper.Serialize(payload), + State = OutboxState.Pending + }, cancellationToken); + + // Enregistrement local effectué : on réveille la surveillance de fond + // (envoi automatique dès que le réseau est disponible). + _backgroundSync?.RequestSync(); + + // 4. UI mise à jour immédiatement (retour de l'élément). + return new InterventionDocumentItem + { + DocumentGuid = documentGuid, + Nom = picked.FileName, + Titre = picked.FileName, + Categorie = isPhoto ? "Photo" : "Document", + MimeType = picked.MimeType, + Extension = Path.GetExtension(picked.FileName), + TailleOctets = tailleFinale, + DateCreation = prepared.Date.Value, + IsPhoto = isPhoto, + IsCached = true, + SyncState = DocumentSyncState.Pending + }; + } + + private string WriteToCache(Guid documentGuid, string? nomFichier, byte[] contenu) + { + string localPath = BuildCachePath(documentGuid, nomFichier); + File.WriteAllBytes(localPath, contenu); + return localPath; + } + + private string CopyToCache(Guid documentGuid, string fileName, string sourcePath) + { + string localPath = BuildCachePath(documentGuid, fileName); + File.Copy(sourcePath, localPath, overwrite: true); + return localPath; + } + + /// + /// Résout le chemin local de destination dans l'espace contrôlé par + /// l'application, en garantissant l'existence du répertoire. + /// + private string BuildCachePath(Guid documentGuid, string? fileName) + { + Directory.CreateDirectory(_filesDirectory); + string safeName = SanitizeFileName(fileName, documentGuid); + return Path.Combine(_filesDirectory, safeName); + } + + /// + /// Prépare le fichier local d'un document sélectionné ou capturé. + /// + /// Point d'entrée unique de la politique de poids : les flux « prise de + /// photo » et « sélection d'image » aboutissent tous deux ici, il n'existe + /// donc qu'une seule implémentation d'optimisation. Les fichiers non image ne + /// sont jamais ouverts ni transformés. + /// + /// La date réelle du fichier est résolue AVANT l'optimisation : le réencodage + /// de l'image peut supprimer les métadonnées EXIF, il serait donc trop tard + /// de la lire ensuite. + /// + private async Task PrepareLocalFileAsync( + Guid documentGuid, + PickedFile picked, + CancellationToken cancellationToken) + { + // 1. DATE RÉELLE DU FICHIER — toujours résolue, y compris lorsque la + // politique de poids est désactivée (POIDS_MAX_PHOTO_KO = 0) : la date + // métier du document ne dépend pas de la compression. + DocumentDateResolution date = await _dateResolver.ResolveAsync( + picked.SourcePath, + picked.FileName, + cancellationToken); + + // 2. NON IMAGE (PDF, Word, Excel, ZIP, texte…) : copie directe, inchangée. + // La date métier privilégie la date SOURCE du fichier fournie par la + // plateforme (SAF LastModified / dernière écriture filesystem) lorsque + // le lecteur EXIF n'a rien trouvé (cas systématique pour ces formats). + if (!ImageFileTypes.IsImage(picked.FileName, picked.MimeType)) + { + if (date.IsFallback && picked.SourceDate is { } sourceDate) + { + date = new DocumentDateResolution( + sourceDate.ToLocalTime().DateTime, + DocumentDateSource.SourceFileDate); + } + + return new PreparedLocalFile( + CopyToCache(documentGuid, picked.FileName, picked.SourcePath), + date); + } + + PhotoLimitResolution resolution = await _photoPolicy.GetResolutionAsync(cancellationToken); + + // Aucune limite configurée : copie directe, aucun traitement. + if (resolution.IsDisabled) + { + LogOptimizationDisabled(resolution); + return new PreparedLocalFile( + CopyToCache(documentGuid, picked.FileName, picked.SourcePath), + date); + } + + string destination = BuildCachePath(documentGuid, picked.FileName); + + // Le service d'optimisation écrit TOUJOURS la destination : image copiée à + // l'identique si elle respecte déjà la limite, réencodée sinon. + ImageOptimizationResult result = await _imageOptimizer.OptimizeFileAsync( + picked.SourcePath, + destination, + picked.FileName, + picked.MimeType, + resolution.LimitKb, + cancellationToken); + + LogOptimization(result, resolution, picked.FileName); + return new PreparedLocalFile(result.DestinationPath, date); + } + + /// + /// Applique la politique de poids à une image déjà en mémoire (PNG produit par + /// l'éditeur d'annotation). En cas d'échec de l'optimisation, l'image + /// d'origine est enregistrée telle quelle : l'ajout n'est jamais bloqué. + /// + private async Task OptimizeInMemoryImageToCacheAsync( + Guid documentGuid, + string fileName, + string mimeType, + byte[] content, + CancellationToken cancellationToken) + { + PhotoLimitResolution resolution = await _photoPolicy.GetResolutionAsync(cancellationToken); + if (resolution.IsDisabled) + { + LogOptimizationDisabled(resolution); + return WriteToCache(documentGuid, fileName, content); + } + + string destination = BuildCachePath(documentGuid, fileName); + string tempPath = Path.Combine(_filesDirectory, $"{documentGuid:N}.tmp"); + + try + { + await File.WriteAllBytesAsync(tempPath, content, cancellationToken); + + ImageOptimizationResult result = await _imageOptimizer.OptimizeFileAsync( + tempPath, destination, fileName, mimeType, resolution.LimitKb, cancellationToken); + + LogOptimization(result, resolution, fileName); + return result.DestinationPath; + } + catch (OperationCanceledException) + { + throw; + } + catch (Exception ex) + { + // Optimisation impossible : le document est créé avec l'image d'origine. + _logger.LogWarning(ex, + "DocumentLocalService : optimisation de l'image annotée impossible ; image d'origine conservée (Fichier={FileName}).", + fileName); + return WriteToCache(documentGuid, fileName, content); + } + finally + { + TryDeleteFile(tempPath); + } + } + + /// + /// Trace le résultat de l'optimisation, avec la limite réellement utilisée et + /// son origine. Aucune donnée métier n'est journalisée : seuls le paramètre, + /// le poids, la résolution et la qualité le sont. + /// + private void LogOptimization( + ImageOptimizationResult result, + PhotoLimitResolution resolution, + string? fileName) + { + if (result.FormatNotOptimizable) + { + _logger.LogInformation( + "PhotoOptimization: Parameter={Parameter}, ConfiguredValue={ConfiguredValue}, Source={Source}, " + + "Original={OriginalMB} MB, Optimization=Skipped (format non optimisable)", + PhotoOptimizationSettings.PoidsMaxPhotoKoParameterCode, + DescribeConfiguredValue(resolution), + resolution.Source, + ToMegabytes(result.OriginalBytes)); + return; + } + + if (!result.WasOptimized) + { + _logger.LogInformation( + "PhotoOptimization: Parameter={Parameter}, ConfiguredValue={ConfiguredValue}, Source={Source}, " + + "EffectiveLimit={EffectiveLimit} KB, Original={OriginalMB} MB, Optimization=NotNeeded", + PhotoOptimizationSettings.PoidsMaxPhotoKoParameterCode, + DescribeConfiguredValue(resolution), + resolution.Source, + resolution.LimitKb, + ToMegabytes(result.OriginalBytes)); + return; + } + + _logger.LogInformation( + "PhotoOptimization: Parameter={Parameter}, ConfiguredValue={ConfiguredValue}, Source={Source}, " + + "EffectiveLimit={EffectiveLimit} KB, Original={OriginalMB} MB, OriginalResolution={OriginalWidth}x{OriginalHeight}, " + + "Final={FinalMB} MB, FinalResolution={FinalWidth}x{FinalHeight}, Quality={Quality}", + PhotoOptimizationSettings.PoidsMaxPhotoKoParameterCode, + DescribeConfiguredValue(resolution), + resolution.Source, + resolution.LimitKb, + ToMegabytes(result.OriginalBytes), + result.OriginalWidth, + result.OriginalHeight, + ToMegabytes(result.FinalBytes), + result.FinalWidth, + result.FinalHeight, + result.Quality); + } + + /// + /// Trace le cas « aucune limite » : l'image est conservée sans traitement. + /// + private void LogOptimizationDisabled(PhotoLimitResolution resolution) + { + _logger.LogInformation( + "PhotoOptimization: Parameter={Parameter}, ConfiguredValue={ConfiguredValue}, Source={Source}, Optimization=Disabled", + PhotoOptimizationSettings.PoidsMaxPhotoKoParameterCode, + DescribeConfiguredValue(resolution), + resolution.Source); + } + + /// + /// Représentation lisible de la valeur configurée : « missing » lorsque le + /// repli s'applique, la valeur en Ko sinon (y compris 0). + /// + private static string DescribeConfiguredValue(PhotoLimitResolution resolution) + => resolution.IsFallback ? "missing" : resolution.LimitKb.ToString(); + + private static string ToMegabytes(long bytes) + => (bytes / 1024d / 1024d).ToString("0.00", System.Globalization.CultureInfo.InvariantCulture); + + private static void TryDeleteFile(string path) + { + try + { + if (File.Exists(path)) + { + File.Delete(path); + } + } + catch + { + // Nettoyage best-effort : un fichier temporaire résiduel est sans effet + // sur le document créé. + } + } + + private static string SanitizeFileName(string? fileName, Guid documentGuid) + { + string safe = string.IsNullOrWhiteSpace(fileName) + ? documentGuid.ToString("N") + : Path.GetFileName(fileName); + return $"{documentGuid:N}_{safe}"; + } + + private static bool IsPhoto(DocumentSummaryDto dto) + { + // 1. Catégorie métier réelle. + if (!string.IsNullOrWhiteSpace(dto.Categorie)) + { + string cat = dto.Categorie.ToLowerInvariant(); + if (cat.Contains("photo") || cat.Contains("image")) + { + return true; + } + } + + // 2. MIME type fiable. + if (!string.IsNullOrWhiteSpace(dto.MimeType) + && dto.MimeType.StartsWith("image/", StringComparison.OrdinalIgnoreCase)) + { + return true; + } + + // 3. Extension, uniquement comme information de présentation. + if (!string.IsNullOrWhiteSpace(dto.Extension)) + { + string ext = dto.Extension.TrimStart('.').ToLowerInvariant(); + if (ext is "jpg" or "jpeg" or "png" or "gif" or "bmp" or "webp" or "heic") + { + return true; + } + } + + return false; + } + + private static (DocumentSyncState State, string? Error) MapOutboxState(OutboxOperation op) + { + return op.State switch + { + OutboxState.Pending or OutboxState.Sending or OutboxState.Accepted or OutboxState.WaitingResult + => (DocumentSyncState.Pending, null), + OutboxState.Rejected => (DocumentSyncState.Rejected, op.LastError), + OutboxState.Succeeded => (DocumentSyncState.Succeeded, null), + _ => (DocumentSyncState.None, null) + }; + } + + /// + /// Fichier local préparé pour un document ajouté, accompagné de la date métier + /// résolue. Les deux informations sont produites par le même appel afin que la + /// date soit LUE AVANT l'optimisation, qui peut supprimer les métadonnées EXIF. + /// + /// Chemin du fichier conservé (optimisé ou original). + /// Date métier retenue et son origine. + private readonly record struct PreparedLocalFile(string LocalPath, DocumentDateResolution Date); + + /// + /// Trace la date métier retenue pour un document et son origine, afin de + /// pouvoir expliquer a posteriori pourquoi une date a été choisie (métadonnée + /// réelle ou repli système). Aucune donnée métier n'est journalisée : seuls le + /// nom du fichier, l'origine, la valeur et — le cas échéant — le document + /// source le sont. + /// + private void LogDocumentDate( + string? fileName, + DocumentDateResolution date, + Guid? sourceDocumentGuid = null) + { + if (sourceDocumentGuid is { } source && source != Guid.Empty) + { + _logger.LogInformation( + "DocumentDate: File={FileName}, Source={Source}, SourceDocumentGuid={SourceDocumentGuid}, Value={Value}", + fileName ?? string.Empty, + date.SourceLabel, + source, + date.Value.ToString("yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture)); + return; + } + + _logger.LogInformation( + "DocumentDate: File={FileName}, Source={Source}, Value={Value}", + fileName ?? string.Empty, + date.SourceLabel, + date.Value.ToString("yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture)); + } +} diff --git a/src/Omika.App.Local/Services/DossierLocalService.cs b/src/Omika.App.Local/Services/DossierLocalService.cs new file mode 100644 index 0000000..fa94bcc --- /dev/null +++ b/src/Omika.App.Local/Services/DossierLocalService.cs @@ -0,0 +1,459 @@ +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.Core.Contracts.Clients; +using Omika.Core.Contracts.Common; +using Omika.Core.Contracts.Interventions; +using Omika.Core.Contracts.Mobile.Interventions; + +namespace Omika.App.Local.Services; + +/// +/// Service de lecture des dossiers depuis les données locales SQLite (dernier +/// snapshot). Lecture seule pour le snapshot métier ; l'épinglage est une +/// préférence locale technique (table DossierLocalState), jamais envoyée +/// au serveur. Les interventions liées sont chargées À L'OUVERTURE du dossier +/// (cache contextuel, puis recherche ciblée DossierId online) ; la table +/// historique Intervention n'est JAMAIS utilisée comme fallback. +/// +public sealed class DossierLocalService : IDossierLocalService +{ + private readonly ILocalRepository _dossierRepository; + private readonly ILocalRepository _clientRepository; + private readonly IDossierLocalStateRepository _stateRepository; + private readonly IDossierInterventionCacheRepository _interventionCacheRepository; + private readonly IMobileApiClient _apiClient; + + public DossierLocalService( + ILocalRepository dossierRepository, + ILocalRepository clientRepository, + IDossierLocalStateRepository stateRepository, + IDossierInterventionCacheRepository interventionCacheRepository, + IMobileApiClient apiClient) + { + _dossierRepository = dossierRepository; + _clientRepository = clientRepository; + _stateRepository = stateRepository; + _interventionCacheRepository = interventionCacheRepository; + _apiClient = apiClient; + } + + /// + public async Task> GetDossiersAsync( + CancellationToken cancellationToken = default) + { + IReadOnlyList dossiers = await _dossierRepository.GetAllAsync(cancellationToken); + + IReadOnlyList clients = await _clientRepository.GetAllAsync(cancellationToken); + IReadOnlyList pinnedIds = await _stateRepository.GetPinnedIdsAsync(cancellationToken); + var pinnedSet = new HashSet(pinnedIds); + + // Lookups chargés une seule fois : aucune requête N+1 (200 dossiers ne + // déclenchent pas 200 lectures Client). + var clientById = clients + .Select(c => (c.Id, Dto: JsonHelper.Deserialize(c.PayloadJson))) + .Where(x => x.Dto is not null) + .ToDictionary(x => x.Id, x => x.Dto!); + + var items = new List(); + foreach (LocalDossier local in dossiers) + { + DossierDetailsDto? dto = JsonHelper.Deserialize(local.PayloadJson); + if (dto is null) + { + // Payload local invalide : entrée ignorée proprement. + continue; + } + + // Les dossiers archivés ne sont jamais envoyés au mobile ; ce filtre + // défensif protège d'une base ancienne pas encore resynchronisée. + if (dto.EstArchive) + { + continue; + } + + Guid? clientGuid = TryParseGuid(dto.ClientId); + ClientDetailsDto? client = clientGuid is not null && clientById.TryGetValue(clientGuid.Value, out var c) ? c : null; + + items.Add(new DossierListItem + { + DossierGuid = local.Id, + Reference = dto.ReferenceMetier, + RefInterne = NullIfBlank(dto.RefInterne), + RefExterne = NullIfBlank(dto.RefExterne), + Titre = NullIfBlank(dto.Titre), + Statut = NullIfBlank(dto.Statut?.Label), + Type = NormalizeTypeLabel(dto.Type?.Label), + DateOuverture = dto.DateOuverture, + EstArchive = dto.EstArchive, + NbInterventionsNonArchivees = dto.NbInterventionsNonArchivees, + ClientNom = client?.Nom, + IsPinned = pinnedSet.Contains(local.Id) + }); + } + + // Tri déterministe : titre puis référence. + return items + .OrderBy(d => d.Titre, StringComparer.OrdinalIgnoreCase) + .ThenBy(d => d.Reference, StringComparer.OrdinalIgnoreCase) + .ToList(); + } + + /// + public async Task> SearchDossiersAsync( + string? refInterne, + string? titre, + string? client, + string? statut, + string? type, + string? refExterne, + CancellationToken cancellationToken = default) + => await SearchDossiersServerAsync( + refInterne, + titre, + client, + statut, + type, + refExterne, + persistLastSearch: true, + cancellationToken); + + /// + /// Recherche serveur de dossiers. Ne persiste la « dernière recherche » que + /// lorsque vaut true (recherche explicite + /// de l'utilisateur) — jamais pour le repli de lecture brut de + /// . + /// + private async Task> SearchDossiersServerAsync( + string? refInterne, + string? titre, + string? client, + string? statut, + string? type, + string? refExterne, + bool persistLastSearch, + CancellationToken cancellationToken) + { + var request = new SearchDossiersRequest + { + Page = 1, + PageSize = 200, + EstArchive = false, + RefInterne = NullIfBlank(refInterne), + Titre = NullIfBlank(titre), + ClientSearch = NullIfBlank(client), + Statut = NullIfBlank(statut), + Type = NullIfBlank(type), + RefExterne = NullIfBlank(refExterne) + }; + + PagedResult page = + await _apiClient.SearchDossiersAsync(request, cancellationToken); + + IReadOnlyList pinnedIds = await _stateRepository.GetPinnedIdsAsync(cancellationToken); + var pinnedSet = new HashSet(pinnedIds); + + IReadOnlyList results = page.Items.Select(dto => new DossierListItem + { + DossierGuid = Guid.Parse(dto.Id), + Reference = dto.ReferenceMetier, + RefInterne = NullIfBlank(dto.RefInterne), + RefExterne = NullIfBlank(dto.RefExterne), + Titre = NullIfBlank(dto.Titre), + Statut = NullIfBlank(dto.Statut), + Type = NormalizeTypeLabel(dto.Type), + NbInterventionsNonArchivees = dto.NombreInterventions, + ClientNom = NullIfBlank(dto.ClientNom), + EstArchive = false, + IsPinned = pinnedSet.Contains(Guid.Parse(dto.Id)) + }).ToList(); + + // Persiste la dernière recherche : elle survit à la navigation + // (retour depuis la fiche dossier) et à SyncNow. + if (persistLastSearch) + { + await _stateRepository.SaveLastSearchAsync(JsonHelper.Serialize(results), cancellationToken); + } + + return results; + } + + /// + public async Task> GetLastSearchAsync( + CancellationToken cancellationToken = default) + { + string? json = await _stateRepository.GetLastSearchJsonAsync(cancellationToken); + if (string.IsNullOrWhiteSpace(json)) + { + return []; + } + + IReadOnlyList? results = JsonHelper.Deserialize>(json); + if (results is null) + { + return []; + } + + // Rafraîchit l'état d'épinglage (préférence locale, peut avoir changé). + IReadOnlyList pinnedIds = await _stateRepository.GetPinnedIdsAsync(cancellationToken); + var pinnedSet = new HashSet(pinnedIds); + + return results.Select(d => new DossierListItem + { + DossierGuid = d.DossierGuid, + Reference = d.Reference, + RefInterne = d.RefInterne, + RefExterne = d.RefExterne, + Titre = d.Titre, + Statut = d.Statut, + Type = d.Type, + DateOuverture = d.DateOuverture, + EstArchive = d.EstArchive, + NbInterventionsNonArchivees = d.NbInterventionsNonArchivees, + ClientNom = d.ClientNom, + SiteNom = d.SiteNom, + IsPinned = pinnedSet.Contains(d.DossierGuid) + }).ToList(); + } + + /// + public Task ClearLastSearchAsync(CancellationToken cancellationToken = default) + => _stateRepository.ClearLastSearchAsync(cancellationToken); + + /// + public async Task GetDossierByIdAsync( + Guid dossierGuid, + CancellationToken cancellationToken = default) + { + DossierDetailsDto? dto = null; + + // Rafraîchit TOUJOURS depuis le serveur (les données locales peuvent être + // obsolètes ou absentes). En cas d'échec (offline), repli sur le cache local. + try + { + dto = await _apiClient.GetDossierByIdAsync(dossierGuid, cancellationToken); + if (dto is not null) + { + await _dossierRepository.UpsertAsync(new LocalDossier + { + Id = dossierGuid, + ClientId = TryParseGuid(dto.ClientId), + SiteId = TryParseGuid(dto.SiteId), + PayloadJson = JsonHelper.Serialize(dto), + UpdatedAtUtc = DateTimeOffset.UtcNow + }, cancellationToken); + } + } + catch + { + // Offline : repli sur le cache local. + } + + if (dto is null) + { + LocalDossier? local = await _dossierRepository.GetByIdAsync(dossierGuid, cancellationToken); + dto = local is null + ? null + : JsonHelper.Deserialize(local.PayloadJson); + } + + if (dto is null) + { + // Hors connexion, la table Dossier (chargée À LA DEMANDE) peut être + // vide après un snapshot. On reconstruit une fiche PARTIELLE depuis le + // résumé connu (dernière recherche / épinglage). Les champs manquants + // restent nuls/vides. + return await BuildPartialDetailAsync(dossierGuid, cancellationToken); + } + + IReadOnlyList clients = await _clientRepository.GetAllAsync(cancellationToken); + var clientById = clients + .Select(c => (c.Id, Dto: JsonHelper.Deserialize(c.PayloadJson))) + .Where(x => x.Dto is not null) + .ToDictionary(x => x.Id, x => x.Dto!); + + Guid? clientGuid = TryParseGuid(dto.ClientId); + ClientDetailsDto? client = clientGuid is not null && clientById.TryGetValue(clientGuid.Value, out var c) ? c : null; + + // Les interventions liées sont chargées séparément (à la demande), jamais + // ici. Le détail ne contient que les données métier réelles du dossier. + return new DossierDetail + { + DossierGuid = Guid.Parse(dto.Id), + Reference = dto.ReferenceMetier, + RefInterne = NullIfBlank(dto.RefInterne), + RefExterne = NullIfBlank(dto.RefExterne), + Titre = NullIfBlank(dto.Titre), + Description = dto.Description, + Type = NormalizeTypeLabel(dto.Type?.Label), + Statut = NullIfBlank(dto.Statut?.Label), + Priorite = dto.Priorite?.Label, + DateOuverture = dto.DateOuverture, + DateCloture = dto.DateCloture, + EstArchive = dto.EstArchive, + NbInterventionsNonArchivees = dto.NbInterventionsNonArchivees, + ClientGuid = clientGuid, + ClientNom = client?.Nom, + ClientCode = client?.Code + }; + } + + /// + /// Reconstruit une fiche dossier PARTIELLE hors connexion à partir du résumé + /// connu (dernière recherche / épinglage). Les champs manquants (description, + /// priorité, date de clôture, guid client/site, interventions) restent + /// nuls/vides. Retourne null si aucun résumé local n'existe. + /// + private async Task BuildPartialDetailAsync( + Guid dossierGuid, + CancellationToken cancellationToken) + { + DossierListItem? item = await FindListItemAsync(dossierGuid, cancellationToken); + if (item is null) + { + return null; + } + + return new DossierDetail + { + DossierGuid = dossierGuid, + Reference = item.Reference, + RefInterne = item.RefInterne, + RefExterne = item.RefExterne, + Titre = item.Titre, + Description = null, + Type = item.Type, + Statut = item.Statut, + Priorite = null, + DateOuverture = item.DateOuverture, + DateCloture = null, + EstArchive = item.EstArchive, + NbInterventionsNonArchivees = item.NbInterventionsNonArchivees, + ClientGuid = null, + ClientNom = item.ClientNom, + ClientCode = null, + SiteGuid = null, + SiteNom = item.SiteNom, + SiteCode = null, + Interventions = [] + }; + } + + /// + /// Recherche le résumé d'un dossier dans la dernière recherche puis parmi les + /// dossiers épinglés (données de liste conservées localement, jamais purgées + /// par un snapshot). + /// + private async Task FindListItemAsync( + Guid dossierGuid, + CancellationToken cancellationToken) + { + string? json = await _stateRepository.GetLastSearchJsonAsync(cancellationToken); + if (!string.IsNullOrWhiteSpace(json)) + { + IReadOnlyList? items = JsonHelper.Deserialize>(json); + DossierListItem? match = items?.FirstOrDefault(i => i.DossierGuid == dossierGuid); + if (match is not null) + { + return match; + } + } + + IReadOnlyList pinned = await _stateRepository.GetPinnedItemsAsync(cancellationToken); + return pinned.FirstOrDefault(i => i.DossierGuid == dossierGuid); + } + + /// + public Task SetPinnedAsync( + Guid dossierGuid, + bool isPinned, + DossierListItem? item, + CancellationToken cancellationToken = default) + => _stateRepository.SetPinnedAsync( + dossierGuid, + isPinned, + item is null ? "{}" : JsonHelper.Serialize(item), + cancellationToken); + + /// + public Task> GetPinnedAsync(CancellationToken cancellationToken = default) + => _stateRepository.GetPinnedItemsAsync(cancellationToken); + + /// + public async Task> GetDossierInterventionsAsync( + Guid dossierGuid, + CancellationToken cancellationToken = default) + { + // Cache contextuel uniquement (chargé lors d'une précédente ouverture + // online). AUCUN repli sur la table historique Intervention : offline + // sans cache, la liste est vide et l'UI affiche l'état « indisponible + // hors ligne ». + IReadOnlyList cached = + await _interventionCacheRepository.GetByDossierAsync(dossierGuid, cancellationToken); + + return cached + .Where(d => !d.EstArchive) + .Select(MapIntervention) + .OrderBy(i => i.DatePrevueDebut) + .ThenBy(i => i.Reference, StringComparer.OrdinalIgnoreCase) + .ToList(); + } + + /// + public async Task> RefreshDossierInterventionsAsync( + Guid dossierGuid, + CancellationToken cancellationToken = default) + { + // Recherche ciblée par DossierId, toujours EstArchive = false (côté + // serveur). Ne remplace pas InterventionCache.IsInLastSearch. + var request = new MobileInterventionSearchRequest { DossierId = dossierGuid.ToString() }; + IReadOnlyList results = + await _apiClient.SearchInterventionsAsync(request, cancellationToken); + + IReadOnlyList details = results + .Select(r => r.Detail) + .Where(d => !d.EstArchive) + .ToList(); + + await _interventionCacheRepository.ReplaceAsync(dossierGuid, details, cancellationToken); + + return details + .Select(MapIntervention) + .OrderBy(i => i.DatePrevueDebut) + .ThenBy(i => i.Reference, StringComparer.OrdinalIgnoreCase) + .ToList(); + } + + private static DossierIntervention MapIntervention(InterventionDetailsDto dto) => new() + { + InterventionGuid = Guid.Parse(dto.Id), + Reference = dto.Reference, + Titre = dto.Titre, + Etat = dto.Etat?.Label, + Type = dto.Type?.Label, + ClientNom = dto.ClientNom, + SiteNom = dto.SiteNom, + SiteAddressDisplay = dto.SiteAdresse, + ContactNom = dto.Contacts.FirstOrDefault()?.NomAffiche, + DatePrevueDebut = dto.DatePrevueDebut + }; + + private static Guid? TryParseGuid(string? value) + => Guid.TryParse(value, out Guid guid) ? guid : null; + + private static string? NormalizeTypeLabel(string? value) + { + string? label = NullIfBlank(value); + if (label is null) + { + return null; + } + + return string.Equals(label, "Aucun Type de dossier", StringComparison.OrdinalIgnoreCase) + ? null + : label; + } + + private static string? NullIfBlank(string? value) + => string.IsNullOrWhiteSpace(value) ? null : value.Trim(); +} diff --git a/src/Omika.App.Local/Services/EquipeLocalService.cs b/src/Omika.App.Local/Services/EquipeLocalService.cs new file mode 100644 index 0000000..8a4501a --- /dev/null +++ b/src/Omika.App.Local/Services/EquipeLocalService.cs @@ -0,0 +1,96 @@ +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; +using Omika.Core.Contracts.Organisation; + +namespace Omika.App.Local.Services; + +/// +/// Service de lecture des équipes de l'utilisateur courant. +/// Lecture locale d'abord (bootstrap SQLite, consultable hors réseau), puis +/// repli API à la demande. Le bootstrap est rafraîchi au démarrage et à la +/// demande (bouton Synchroniser) via . +/// +public sealed class EquipeLocalService : IEquipeLocalService +{ + private readonly IMobileApiClient _apiClient; + private readonly IMobileSessionService _sessionService; + + public EquipeLocalService(IMobileApiClient apiClient, IMobileSessionService sessionService) + { + ArgumentNullException.ThrowIfNull(apiClient); + ArgumentNullException.ThrowIfNull(sessionService); + _apiClient = apiClient; + _sessionService = sessionService; + } + + /// + public async Task> GetEquipesAsync( + CancellationToken cancellationToken = default) + { + IReadOnlyList equipes = await LoadEquipesAsync(cancellationToken); + + // Règle métier « mes équipes » : uniquement les équipes auxquelles le + // collaborateur authentifié est associé. + LocalBootstrapState? bootstrap = await _sessionService.GetBootstrapAsync(cancellationToken); + string? collaborateurId = bootstrap?.Collaborateur?.Id; + if (string.IsNullOrWhiteSpace(collaborateurId)) + { + return []; + } + + return equipes + .Where(e => e.Collaborateurs.Any(c => + string.Equals(c.Id, collaborateurId, StringComparison.OrdinalIgnoreCase))) + .Select(MapToListItem) + .OrderBy(e => e.Nom, StringComparer.OrdinalIgnoreCase) + .ToList(); + } + + /// + public async Task> GetAllEquipesAsync( + CancellationToken cancellationToken = default) + { + IReadOnlyList equipes = await LoadEquipesAsync(cancellationToken); + return equipes.Select(MapToListItem) + .OrderBy(e => e.Nom, StringComparer.OrdinalIgnoreCase) + .ToList(); + } + + private async Task> LoadEquipesAsync(CancellationToken cancellationToken) + { + LocalBootstrapState? bootstrap = await _sessionService.GetBootstrapAsync(cancellationToken); + if (bootstrap is not null && bootstrap.Equipes.Count > 0) + { + return bootstrap.Equipes; + } + + return await _apiClient.GetAllEquipesAsync(cancellationToken); + } + + private static EquipeListItem MapToListItem(EquipeDto dto) + { + return new EquipeListItem + { + EquipeGuid = Guid.TryParse(dto.Id, out Guid guid) ? guid : Guid.Empty, + Nom = dto.Nom, + SocieteNom = dto.SocieteNom, + Membres = dto.Collaborateurs + .Select(MapMembre) + .OrderBy(m => m.DisplayName, StringComparer.OrdinalIgnoreCase) + .ToList() + }; + } + + private static CollaborateurListItem MapMembre(CollaborateurSummaryDto dto) + { + return new CollaborateurListItem + { + CollaborateurGuid = Guid.TryParse(dto.Id, out Guid guid) ? guid : Guid.Empty, + DisplayName = dto.NomAffiche, + Code = dto.Code, + Email = dto.Email, + Telephone = dto.Telephone, + Actif = dto.Actif + }; + } +} diff --git a/src/Omika.App.Local/Services/InterventionContactsService.cs b/src/Omika.App.Local/Services/InterventionContactsService.cs new file mode 100644 index 0000000..70f97ce --- /dev/null +++ b/src/Omika.App.Local/Services/InterventionContactsService.cs @@ -0,0 +1,278 @@ +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.Core.Contracts.Clients; +using Omika.Core.Contracts.Interventions; + +namespace Omika.App.Local.Services; + +/// +/// Service de lecture des contacts liés à une intervention depuis les données +/// locales SQLite. Ne déclenche aucun appel API. +/// La relation utilisée est la liste explicite Contacts/ContactIds +/// portée par le DTO d'intervention (). +/// Le DTO est résolu par la même chaîne de secours que +/// (snapshot → +/// cache de recherche → cache contextuel) afin que la fiche affiche les mêmes +/// contacts quel que soit le point d'entrée (rendez-vous ou liste). Aucun +/// contact n'est déduit du Client : seule la relation explicite +/// Intervention → Contact est utilisée. +/// +public sealed class InterventionContactsService : IInterventionContactsService +{ + private readonly ILocalRepository _interventionRepository; + private readonly ILocalRepository _personneRepository; + private readonly IInterventionCacheRepository _cacheRepository; + private readonly IContextInterventionCacheRepository _contextInterventionCacheRepository; + private readonly IMobileApiClient _apiClient; + + public InterventionContactsService( + ILocalRepository interventionRepository, + ILocalRepository personneRepository, + IInterventionCacheRepository cacheRepository, + IContextInterventionCacheRepository contextInterventionCacheRepository, + IMobileApiClient apiClient) + { + _interventionRepository = interventionRepository; + _personneRepository = personneRepository; + _cacheRepository = cacheRepository; + _contextInterventionCacheRepository = contextInterventionCacheRepository; + _apiClient = apiClient; + } + + /// + public async Task> GetContactsForInterventionAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) + { + InterventionDetailsDto? dto = await ResolveDtoAsync(interventionGuid, cancellationToken); + + // Repli À LA DEMANDE : le snapshot et la recherche bulk ne portent plus + // les contacts complets (la table Personne est volumineuse). On récupère + // donc les contacts de CETTE SEULE intervention via l'API, par identité + // publique. + if (dto is null || (dto.Contacts.Count == 0 && dto.ContactIds.Count == 0)) + { + try + { + dto = await _apiClient.GetInterventionByIdAsync(interventionGuid, cancellationToken); + } + catch (OperationCanceledException) + { + throw; + } + catch (Exception) + { + // Offline : aucun contact disponible. + return []; + } + } + + if (dto is null) + { + return []; + } + + // Contacts résolus côté serveur et portés directement par le DTO : + // aucun aller-retour vers la table Personne locale n'est nécessaire. + if (dto.Contacts.Count > 0) + { + return dto.Contacts + .Select(MapToContact) + .OrderBy(c => c.DisplayName, StringComparer.OrdinalIgnoreCase) + .ToList(); + } + + if (dto.ContactIds.Count == 0) + { + return []; + } + + // Résout les identités publiques des contacts liés. + var contactIds = new HashSet(); + foreach (string id in dto.ContactIds) + { + if (Guid.TryParse(id, out Guid guid)) + { + contactIds.Add(guid); + } + } + + if (contactIds.Count == 0) + { + return []; + } + + IReadOnlyList personnes = await _personneRepository.GetAllAsync(cancellationToken); + + var result = new List(); + foreach (LocalPersonne personne in personnes) + { + if (!contactIds.Contains(personne.Id)) + { + continue; + } + + ContactDto? contact = JsonHelper.Deserialize(personne.PayloadJson); + if (contact is null) + { + // Payload local invalide : entrée ignorée proprement (log technique). + continue; + } + + result.Add(MapToContact(contact)); + } + + // Règle déterministe : tri par nom affiché (insensible à la casse). + return result + .OrderBy(c => c.DisplayName, StringComparer.OrdinalIgnoreCase) + .ToList(); + } + + /// + /// Résout le DTO d'intervention via la chaîne de secours identique à celle + /// de la fiche : snapshot → cache de recherche → cache contextuel. Garantit + /// que la liste des contacts est identique depuis la fiche rendez-vous et + /// depuis la liste des interventions. + /// + private async Task ResolveDtoAsync( + Guid interventionGuid, + CancellationToken cancellationToken) + { + // 1. Table snapshot (relations + interventions créées localement). + LocalIntervention? local = await _interventionRepository.GetByIdAsync(interventionGuid, cancellationToken); + if (local is not null) + { + InterventionDetailsDto? dto = JsonHelper.Deserialize(local.PayloadJson); + if (dto is not null) + { + return dto; + } + } + + // 2. Cache de recherche (dernière recherche + favoris). + CachedIntervention? cached = await _cacheRepository.GetByIdAsync(interventionGuid, cancellationToken); + if (cached is not null) + { + InterventionDetailsDto? dto = JsonHelper.Deserialize(cached.PayloadJson); + if (dto is not null) + { + return dto; + } + } + + // 3. Cache contextuel Client/Site/Collaborateur. + return await _contextInterventionCacheRepository.GetByInterventionIdAsync(interventionGuid, cancellationToken); + } + + /// + public async Task GetContactByIdAsync( + Guid contactGuid, + CancellationToken cancellationToken = default) + { + // Rafraîchit TOUJOURS depuis le serveur. En cas d'échec (offline), repli local. + try + { + ContactDto? contact = await _apiClient.GetContactByIdAsync(contactGuid, cancellationToken); + if (contact is not null) + { + Guid? clientId = Guid.TryParse(contact.ClientId, out Guid client) ? client : (Guid?)null; + await _personneRepository.UpsertAsync(new LocalPersonne + { + Id = contactGuid, + ClientId = clientId, + PayloadJson = JsonHelper.Serialize(contact), + UpdatedAtUtc = DateTimeOffset.UtcNow + }, cancellationToken); + + return MapToContact(contact); + } + } + catch (OperationCanceledException) + { + throw; + } + catch + { + // Offline : repli sur la table locale Personne. + } + + LocalPersonne? personne = await _personneRepository.GetByIdAsync(contactGuid, cancellationToken); + if (personne is not null) + { + ContactDto? contact = JsonHelper.Deserialize(personne.PayloadJson); + if (contact is not null) + { + return MapToContact(contact); + } + } + + return null; + } + + /// + public async Task> GetContactsDisponiblesAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) + { + // STRICTEMENT les contacts de CETTE intervention, obtenus par la même + // relation explicite que la fiche « Contacts » de l'intervention + // (Intervention → ContactIds/Contacts du DTO), puis filtrés sur ceux qui + // possèdent une adresse email. + // + // Le répertoire local complet (table Personne) n'est PLUS proposé : il + // contenait tous les contacts synchronisés (autres interventions, autres + // clients), ce qui noyait la liste du choix du destinataire. Les contacts + // du téléphone (carnet personnel) viennent d'une source distincte, + // identifiée comme telle dans la vue de composition. + IReadOnlyList intervention = + await GetContactsForInterventionAsync(interventionGuid, cancellationToken); + + return intervention + .Where(c => c.HasEmail) + .OrderBy(c => c.DisplayName, StringComparer.OrdinalIgnoreCase) + .ToList(); + } + + private static InterventionContact MapToContact(ContactDto contact) + { + Guid? clientGuid = Guid.TryParse(contact.ClientId, out Guid client) ? client : null; + + return new InterventionContact + { + ContactGuid = Guid.TryParse(contact.Id, out Guid id) ? id : Guid.Empty, + DisplayName = contact.NomAffiche ?? BuildDisplayName(contact), + LastName = contact.Nom, + FirstName = contact.Prenom, + Civilite = contact.Civilite?.Label, + Email = contact.Coordonnees?.Email, + Phone = contact.Coordonnees?.Phone, + Mobile = contact.Coordonnees?.Mobile, + Fax = contact.Coordonnees?.Fax, + Roles = contact.Roles.Select(r => r.Label).Where(l => !string.IsNullOrWhiteSpace(l)).ToList(), + ClientGuid = clientGuid, + Actif = contact.Actif, + EstArchive = contact.EstArchive + }; + } + + private static string BuildDisplayName(ContactDto contact) + { + string prenom = contact.Prenom?.Trim() ?? string.Empty; + string nom = contact.Nom?.Trim() ?? string.Empty; + + if (prenom.Length > 0 && nom.Length > 0) + { + return $"{prenom} {nom}"; + } + if (prenom.Length > 0) + { + return prenom; + } + if (nom.Length > 0) + { + return nom; + } + return "Contact"; + } +} diff --git a/src/Omika.App.Local/Services/InterventionLocalService.cs b/src/Omika.App.Local/Services/InterventionLocalService.cs new file mode 100644 index 0000000..0132a73 --- /dev/null +++ b/src/Omika.App.Local/Services/InterventionLocalService.cs @@ -0,0 +1,1458 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.App.Local.Repositories; +using Omika.App.Local.Sqlite; +using Omika.Core.Contracts.Clients; +using Omika.Core.Contracts.Documents; +using Omika.Core.Contracts.Interventions; +using Omika.Core.Contracts.Mobile.Interventions; +using Omika.Core.Contracts.Mobile.Sync; +using Omika.Core.Contracts.Organisation; +using Omika.Core.Contracts.Planning; +using Omika.Core.Contracts.Sites; +using LocalSyncEntityTypes = Omika.App.Local.Infrastructure.SyncEntityTypes; + + + + +namespace Omika.App.Local.Services; + + +/// +/// Service de lecture de la fiche Intervention depuis les données locales SQLite. +/// Ne déclenche aucun appel API : les données proviennent exclusivement du +/// dernier snapshot local (tables métier). La fiche est enrichie avec les +/// relations Client/Site/Dossier/RendezVous/Documents disponibles localement. +/// Les relations optionnelles absentes ne provoquent pas d'erreur. +/// +public sealed class InterventionLocalService : IInterventionLocalService +{ + private readonly ILocalRepository _interventionRepository; + private readonly ILocalRepository _clientRepository; + private readonly ILocalRepository _siteRepository; + private readonly ILocalRepository _dossierRepository; + private readonly ILocalRepository _rendezVousRepository; + private readonly ILocalRepository _documentRepository; + private readonly ILocalRepository _collaborateurRepository; + private readonly IOutboxService _outboxService; + private readonly IMobileIdentityReconciliationService _reconciliation; + private readonly IMobileApiClient _apiClient; + private readonly IInterventionCacheRepository _cacheRepository; + private readonly IContextInterventionCacheRepository _contextInterventionCacheRepository; + private readonly INoteInterneLocalRepository _noteRepository; + private readonly IEmailInterventionLocalRepository _emailRepository; + private readonly ICompteRenduLocalRepository _compteRenduRepository; + private readonly INetworkConnectivity _network; + private readonly LocalDatabase _database; + + public InterventionLocalService( + ILocalRepository interventionRepository, + ILocalRepository clientRepository, + ILocalRepository siteRepository, + ILocalRepository dossierRepository, + ILocalRepository rendezVousRepository, + ILocalRepository documentRepository, + ILocalRepository collaborateurRepository, + IOutboxService outboxService, + IMobileIdentityReconciliationService reconciliation, + IMobileApiClient apiClient, + IInterventionCacheRepository cacheRepository, + IContextInterventionCacheRepository contextInterventionCacheRepository, + LocalDatabase database, + INetworkConnectivity? network = null) + { + _interventionRepository = interventionRepository; + _clientRepository = clientRepository; + _siteRepository = siteRepository; + _dossierRepository = dossierRepository; + _rendezVousRepository = rendezVousRepository; + _documentRepository = documentRepository; + _collaborateurRepository = collaborateurRepository; + _outboxService = outboxService; + _reconciliation = reconciliation; + _apiClient = apiClient; + _cacheRepository = cacheRepository; + _contextInterventionCacheRepository = contextInterventionCacheRepository; + _noteRepository = new NoteInterneLocalRepository(database); + _emailRepository = new EmailInterventionLocalRepository(database); + _compteRenduRepository = new CompteRenduLocalRepository(database); + _network = network ?? new NetworkConnectivity(); + _database = database; + } + + /// + public async Task CreateAsync( + InterventionSyncPayload payload, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(payload); + + // Identité mobile (A) : distincte de l'OperationId de l'Outbox. + Guid requestedGuid = Guid.NewGuid(); + + // 1. Écrire l'entité locale dans SQLite (offline-first). + InterventionDetailsDto dto = MapToLocalDto(payload, requestedGuid, estArchive: false); + await SaveLocalAsync(requestedGuid, dto, cancellationToken); + + // 2. Enqueue l'opération Outbox CREATE (même unité locale logique). + string payloadJson = JsonHelper.Serialize(payload); + await _outboxService.EnqueueAsync( + LocalSyncEntityTypes.Intervention, + SyncOperationType.Create, + requestedGuid, + payloadJson, + cancellationToken: cancellationToken); + + return requestedGuid; + } + + /// + public async Task UpdateAsync( + Guid interventionGuid, + InterventionSyncPayload payload, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(payload); + + // Résout A → B : l'UPDATE cible l'identité canonique si déjà réconciliée. + Guid canonical = await _reconciliation.ResolveAsync( + LocalSyncEntityTypes.Intervention, + interventionGuid, + cancellationToken); + + LocalIntervention? local = await _interventionRepository.GetByIdAsync(interventionGuid, cancellationToken); + if (local is null) + { + throw new KeyNotFoundException($"Intervention locale introuvable : {interventionGuid}."); + } + + InterventionDetailsDto? existing = JsonHelper.Deserialize(local.PayloadJson); + if (existing is null) + { + throw new InvalidOperationException($"Payload local invalide pour l'intervention {interventionGuid}."); + } + + // Applique les champs modifiables du payload sur le DTO local. + InterventionDetailsDto updated = existing with + { + Reference = payload.Reference, + Titre = payload.Titre, + Description = payload.Description, + ClientId = payload.ClientId, + SiteId = payload.SiteId, + DossierId = payload.DossierId, + DatePrevueDebut = payload.DatePrevueDebut, + DatePrevueFin = payload.DatePrevueFin, + CollaborateurIds = payload.CollaborateurIds, + ContactIds = payload.ContactIds + }; + + await SaveLocalAsync(interventionGuid, updated, cancellationToken); + + string payloadJson = JsonHelper.Serialize(payload); + await _outboxService.EnqueueAsync( + LocalSyncEntityTypes.Intervention, + SyncOperationType.Update, + canonical, + payloadJson, + cancellationToken: cancellationToken); + + return canonical; + } + + /// + public async Task ArchiveAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) + { + // Résout A → B : l'ARCHIVE cible l'identité canonique si déjà réconciliée. + Guid canonical = await _reconciliation.ResolveAsync( + LocalSyncEntityTypes.Intervention, + interventionGuid, + cancellationToken); + + LocalIntervention? local = await _interventionRepository.GetByIdAsync(interventionGuid, cancellationToken); + if (local is null) + { + throw new KeyNotFoundException($"Intervention locale introuvable : {interventionGuid}."); + } + + InterventionDetailsDto? existing = JsonHelper.Deserialize(local.PayloadJson); + if (existing is null) + { + throw new InvalidOperationException($"Payload local invalide pour l'intervention {interventionGuid}."); + } + + // Applique l'archivage localement (aucun DELETE). + InterventionDetailsDto archived = existing with { EstArchive = true }; + await SaveLocalAsync(interventionGuid, archived, cancellationToken); + + // Le payload ne porte pas EstArchive (géré côté serveur via OperationType). + InterventionSyncPayload payload = MapToPayload(archived); + string payloadJson = JsonHelper.Serialize(payload); + await _outboxService.EnqueueAsync( + LocalSyncEntityTypes.Intervention, + SyncOperationType.Archive, + canonical, + payloadJson, + cancellationToken: cancellationToken); + + return canonical; + } + + /// + /// Persiste une Intervention locale (Upsert) avec son DTO sérialisé et ses + /// références typées pour une réconciliation d'identité sûre. + /// + private async Task SaveLocalAsync( + Guid id, + InterventionDetailsDto dto, + CancellationToken cancellationToken) + { + var local = new LocalIntervention + { + Id = id, + PayloadJson = JsonHelper.Serialize(dto), + UpdatedAtUtc = DateTimeOffset.UtcNow, + ClientId = TryParseGuid(dto.ClientId), + SiteId = TryParseGuid(dto.SiteId), + DossierId = TryParseGuid(dto.DossierId) + }; + + await _interventionRepository.UpsertAsync(local, cancellationToken); + } + + /// + /// Construit le DTO local (InterventionDetailsDto) à partir du payload + /// mobile. Seuls les champs réellement présents dans le payload sont + /// renseignés ; les champs protégés (PK, audit, Archive) restent gérés + /// localement/serveur. + /// + private static InterventionDetailsDto MapToLocalDto( + InterventionSyncPayload payload, + Guid id, + bool estArchive) + { + return new InterventionDetailsDto + { + Id = id.ToString(), + Reference = payload.Reference, + Titre = payload.Titre, + Description = payload.Description, + ClientId = payload.ClientId, + SiteId = payload.SiteId, + DossierId = payload.DossierId, + DatePrevueDebut = payload.DatePrevueDebut, + DatePrevueFin = payload.DatePrevueFin, + CollaborateurIds = payload.CollaborateurIds, + ContactIds = payload.ContactIds, + EstArchive = estArchive + }; + } + + /// + /// Construit le payload mobile (InterventionSyncPayload) à partir du DTO + /// local. Les clés de référentiel (TypeKey/PrioriteKey) ne sont pas + /// dérivées ici : leur mapping relève du lot écran. + /// + private static InterventionSyncPayload MapToPayload(InterventionDetailsDto dto) + { + return new InterventionSyncPayload + { + Reference = dto.Reference, + Titre = dto.Titre, + Description = dto.Description, + ClientId = dto.ClientId, + SiteId = dto.SiteId, + DossierId = dto.DossierId, + DatePrevueDebut = dto.DatePrevueDebut, + DatePrevueFin = dto.DatePrevueFin, + CollaborateurIds = dto.CollaborateurIds, + ContactIds = dto.ContactIds + }; + } + + /// + public async Task GetInterventionByIdAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) + { + Console.WriteLine($"[RDV→Intervention] GetInterventionByIdAsync guid={interventionGuid}"); + // Rafraîchit TOUJOURS depuis le serveur. En cas d'échec (offline), repli + // sur le snapshot/cache local. + try + { + InterventionDetailsDto? serverDto = + await _apiClient.GetInterventionByIdAsync(interventionGuid, cancellationToken); + if (serverDto is not null) + { + Console.WriteLine( + $"[RDV→Intervention] server OK guid={interventionGuid} reference={serverDto.Reference}"); + // Préserve les flags du cache (IsInLastSearch / IsPinned / SearchOrder + // et colonnes d'affichage) : sinon l'ouverture d'une intervention + // l'effacerait de la « dernière recherche » après relance. + CachedIntervention? existing = await _cacheRepository.GetByIdAsync(interventionGuid, cancellationToken); + CachedIntervention entity = existing ?? new CachedIntervention { Id = interventionGuid }; + entity.PayloadJson = JsonHelper.Serialize(serverDto); + await _cacheRepository.UpsertAsync(entity, cancellationToken); + + return await MapToDetailAsync(serverDto, await LoadReferencesAsync(cancellationToken), cancellationToken); + } + } + catch (OperationCanceledException) + { + throw; + } + catch (Exception ex) + { + // Offline : repli sur le cache local. Log TEMPORAIRE d'observation. + Console.WriteLine( + $"[RDV→Intervention] API exception => repli local guid={interventionGuid} " + + $"type={ex.GetType().Name} message={ex.Message}"); + } + + return await ReadLocalAsync(interventionGuid, cancellationToken); + } + + /// + public async Task GetLocalInterventionByIdAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) + => await ReadLocalAsync(interventionGuid, cancellationToken); + + /// + /// Lit l'intervention exclusivement depuis les sources locales SQLite + /// (snapshot → cache à la demande → cache contextuel), sans aucun appel API. + /// + private async Task ReadLocalAsync( + Guid interventionGuid, + CancellationToken cancellationToken) + { + // 1. Table snapshot (relations + interventions créées localement). + LocalIntervention? local = await _interventionRepository.GetByIdAsync(interventionGuid, cancellationToken); + if (local is not null) + { + InterventionDetailsDto? dto = JsonHelper.Deserialize(local.PayloadJson); + if (dto is not null) + { + return await MapToDetailAsync(dto, await LoadReferencesAsync(cancellationToken), cancellationToken, resolveOnDemand: false); + } + } + + Console.WriteLine($"[RDV→Intervention] fallback snapshot absent guid={interventionGuid}"); + + // 2. Fallback cache (recherche à la demande + favoris). + CachedIntervention? cached = await _cacheRepository.GetByIdAsync(interventionGuid, cancellationToken); + if (cached is not null) + { + InterventionDetailsDto? dto = JsonHelper.Deserialize(cached.PayloadJson); + if (dto is not null) + { + return await MapToDetailAsync(dto, await LoadReferencesAsync(cancellationToken), cancellationToken, resolveOnDemand: false); + } + } + + Console.WriteLine($"[RDV→Intervention] fallback cache absent guid={interventionGuid}"); + + // 3. Fallback cache contextuel Client/Site/Collaborateur. + InterventionDetailsDto? contextDto = + await _contextInterventionCacheRepository.GetByInterventionIdAsync(interventionGuid, cancellationToken); + if (contextDto is not null) + { + return await MapToDetailAsync(contextDto, await LoadReferencesAsync(cancellationToken), cancellationToken); + } + + Console.WriteLine($"[RDV→Intervention] fallback cache contextuel absent guid={interventionGuid}"); + + Console.WriteLine( + $"[RDV→Intervention] GetInterventionByIdAsync INTROUVABLE guid={interventionGuid} " + + "(voir [INTERVENTION-HTTP] RESULT + snapshot absent + cache absent + cache contextuel absent)"); + return null; + } + + /// + public async Task> GetInterventionsAsync( + CancellationToken cancellationToken = default) + { + IReadOnlyList interventions = await _interventionRepository.GetAllAsync(cancellationToken); + + // Charge les références une seule fois pour enrichir la liste. + ReferenceCollections references = await LoadReferencesAsync(cancellationToken); + + var items = new List(); + foreach (LocalIntervention local in interventions) + { + InterventionDetailsDto? dto = JsonHelper.Deserialize(local.PayloadJson); + if (dto is null) + { + // Payload local invalide : entrée ignorée proprement (log technique). + continue; + } + + items.Add(MapToListItem(local.Id, dto, references)); + } + + // Tri déterministe : date prévue de début (les plus proches d'abord), + // puis référence (insensible à la casse) pour un ordre stable. + return items + .OrderBy(i => i.DatePrevueDebut) + .ThenBy(i => i.Reference, StringComparer.OrdinalIgnoreCase) + .ToList(); + } + + private static InterventionListItem MapToListItem( + Guid interventionGuid, + InterventionDetailsDto dto, + ReferenceCollections references) + { + Guid? clientGuid = TryParseGuid(dto.ClientId); + Guid? siteGuid = TryParseGuid(dto.SiteId); + Guid? dossierGuid = TryParseGuid(dto.DossierId); + + ClientDetailsDto? client = clientGuid is not null && references.Clients.TryGetValue(clientGuid.Value, out var c) ? c : null; + SiteDetailsDto? site = siteGuid is not null && references.Sites.TryGetValue(siteGuid.Value, out var s) ? s : null; + DossierDetailsDto? dossier = dossierGuid is not null && references.Dossiers.TryGetValue(dossierGuid.Value, out var d) ? d : null; + + // Collaborateurs explicitement affectés (CollaborateurIds), résolus par + // leur GUID public. Aucune déduction transitive. + var collaborateurs = dto.CollaborateurIds + .Select(TryParseGuid) + .Where(g => g is not null) + .Select(g => references.Collaborateurs.TryGetValue(g!.Value, out var c) ? BuildDisplayName(c) : null) + .Where(n => n is not null) + .Select(n => n!) + .ToList(); + + return new InterventionListItem + { + InterventionGuid = interventionGuid, + Reference = dto.Reference, + Titre = dto.Titre, + Etat = dto.Etat?.Label, + Type = dto.Type?.Label, + Priorite = dto.Priorite?.Label, + DatePrevueDebut = dto.DatePrevueDebut, + DatePrevueFin = dto.DatePrevueFin, + EstArchive = dto.EstArchive, + ClientNom = client?.Nom, + SiteNom = site?.Nom, + DossierReference = dossier?.ReferenceMetier, + Collaborateurs = collaborateurs + }; + } + + /// + /// Construit le nom affiché d'un collaborateur à partir de son prénom et de + /// son nom, avec un fallback propre si une partie est absente. Le nom affiché + /// est une présentation UI, pas une donnée métier stockée. + /// + private static string BuildDisplayName(CollaborateurDetailsDto dto) + { + if (!string.IsNullOrWhiteSpace(dto.NomAffiche)) + { + return dto.NomAffiche.Trim(); + } + + string prenom = dto.Prenom?.Trim() ?? string.Empty; + string nom = dto.Nom?.Trim() ?? string.Empty; + + if (prenom.Length > 0 && nom.Length > 0) + { + return $"{prenom} {nom}"; + } + if (prenom.Length > 0) + { + return prenom; + } + if (nom.Length > 0) + { + return nom; + } + return "Collaborateur"; + } + + private async Task LoadReferencesAsync(CancellationToken cancellationToken) + + { + IReadOnlyList clients = await _clientRepository.GetAllAsync(cancellationToken); + IReadOnlyList sites = await _siteRepository.GetAllAsync(cancellationToken); + IReadOnlyList dossiers = await _dossierRepository.GetAllAsync(cancellationToken); + IReadOnlyList rendezVous = await _rendezVousRepository.GetAllAsync(cancellationToken); + IReadOnlyList documents = await _documentRepository.GetAllAsync(cancellationToken); + IReadOnlyList collaborateurs = await _collaborateurRepository.GetAllAsync(cancellationToken); + + var clientById = clients + .Select(c => (c.Id, Dto: JsonHelper.Deserialize(c.PayloadJson))) + .Where(x => x.Dto is not null) + .ToDictionary(x => x.Id, x => x.Dto!); + + var siteById = sites + .Select(s => (s.Id, Dto: JsonHelper.Deserialize(s.PayloadJson))) + .Where(x => x.Dto is not null) + .ToDictionary(x => x.Id, x => x.Dto!); + + var dossierById = dossiers + .Select(d => (d.Id, Dto: JsonHelper.Deserialize(d.PayloadJson))) + .Where(x => x.Dto is not null) + .ToDictionary(x => x.Id, x => x.Dto!); + + var collaborateurById = collaborateurs + .Select(c => (c.Id, Dto: JsonHelper.Deserialize(c.PayloadJson))) + .Where(x => x.Dto is not null) + .ToDictionary(x => x.Id, x => x.Dto!); + + var rendezVousByIntervention = rendezVous + .Where(r => r.InterventionId is not null) + .Select(r => (r.Id, InterventionId: r.InterventionId!.Value, Dto: JsonHelper.Deserialize(r.PayloadJson))) + .Where(x => x.Dto is not null) + .ToList(); + + var documentsByIntervention = documents + .Where(d => d.InterventionId is not null) + .Select(d => (d.Id, InterventionId: d.InterventionId!.Value, Dto: JsonHelper.Deserialize(d.PayloadJson))) + .Where(x => x.Dto is not null) + .ToList(); + + return new ReferenceCollections( + clientById, siteById, dossierById, collaborateurById, rendezVousByIntervention, documentsByIntervention); + } + + + private async Task MapToDetailAsync( + InterventionDetailsDto dto, + ReferenceCollections references, + CancellationToken cancellationToken, + bool resolveOnDemand = true) + { + Guid? clientGuid = TryParseGuid(dto.ClientId); + Guid? siteGuid = TryParseGuid(dto.SiteId); + Guid? dossierGuid = TryParseGuid(dto.DossierId); + + // Client : référentiel local puis repli À LA DEMANDE vers l'API (le + // snapshot ne charge plus les clients en bloc). Échec toléré (offline ou + // droit A.CLIENT.VOIR absent) : on retombe sur le nom dénormalisé du DTO. + // En lecture locale (resolveOnDemand=false), aucun appel API : la fiche + // s'affiche immédiatement et l'API enrichit en arrière-plan. + ClientDetailsDto? client = clientGuid is not null && references.Clients.TryGetValue(clientGuid.Value, out var c) ? c : null; + if (resolveOnDemand && client is null && clientGuid is not null) + { + client = await TryResolveAsync(() => _apiClient.GetClientByIdAsync(clientGuid.Value, cancellationToken)); + } + + // Site : préfère TOUJOURS les données fraîches de l'API (détail non + // protégé, GET /sites/{id}) puis repli sur le référentiel local (snapshot + // / cache). Les caches locaux antérieurs ne portent pas les champs d'accès + // récemment ajoutés (badge, interphone) ; on les rafraîchit donc à chaque + // ouverture pour éviter d'afficher des valeurs obsolètes. En lecture + // locale (resolveOnDemand=false), seul le référentiel local est utilisé. + SiteDetailsDto? site = null; + if (siteGuid is not null) + { + if (resolveOnDemand) + { + site = await TryResolveAsync(() => _apiClient.GetSiteByIdAsync(siteGuid.Value, cancellationToken)); + } + site ??= references.Sites.TryGetValue(siteGuid.Value, out var s) ? s : null; + } + + // Dossier : référentiel local puis repli À LA DEMANDE vers l'API. + DossierDetailsDto? dossier = dossierGuid is not null && references.Dossiers.TryGetValue(dossierGuid.Value, out var d) ? d : null; + if (resolveOnDemand && dossier is null && dossierGuid is not null) + { + dossier = await TryResolveAsync(() => _apiClient.GetDossierByIdAsync(dossierGuid.Value, cancellationToken)); + } + + // Rendez-vous liés à l'intervention, triés chronologiquement. + // Résout les noms des collaborateurs affectés À LA DEMANDE (le snapshot ne + // charge plus les collaborateurs en bloc et ne dénormalise pas les noms). + IReadOnlyList interventionRendezVous = references.RendezVous + .Where(r => r.InterventionId == Guid.Parse(dto.Id)) + .Select(r => r.Dto!) + .ToList(); + + IReadOnlyDictionary collaborateursById = resolveOnDemand + ? await ResolveCollaborateursAsync(interventionRendezVous, references.Collaborateurs, cancellationToken) + : references.Collaborateurs; + + var rendezVous = interventionRendezVous + .Select(rdv => MapRendezVous(Guid.Parse(rdv.Id), rdv, collaborateursById)) + .OrderByDescending(r => r.Debut) + .ToList(); + + // Métadonnées des documents liés à l'intervention. + var documents = references.Documents + .Where(d => d.InterventionId == Guid.Parse(dto.Id)) + .Select(d => new InterventionDocument + { + DocumentGuid = d.Id, + Nom = d.Dto!.Nom, + Titre = d.Dto.Titre, + Categorie = d.Dto.Categorie, + Extension = d.Dto.Extension, + TailleOctets = d.Dto.TailleOctets, + DateCreation = d.Dto.DateCreation + }) + .OrderBy(d => d.DateCreation) + .ToList(); + + return new InterventionDetail + { + InterventionGuid = Guid.Parse(dto.Id), + Reference = dto.Reference, + NumeroDevis = dto.NumeroDevis, + ReferenceExterne = dto.ReferenceExterne, + NumeroFacture = dto.NumeroFacture, + Societe = dto.Societe, + SuiviParNom = dto.SuiviParNom, + SuiviParCode = dto.SuiviParCode, + SuiviParFonction = dto.SuiviParFonction, + SuiviParPhone = dto.SuiviParPhone, + SuiviParMobile = dto.SuiviParMobile, + SuiviParEmail = dto.SuiviParEmail, + Titre = dto.Titre, + Description = dto.Description, + Type = dto.Type?.Label, + Etat = dto.Etat?.Label, + Priorite = dto.Priorite?.Label, + DatePrevueDebut = dto.DatePrevueDebut, + DatePrevueFin = dto.DatePrevueFin, + DateReelleDebut = dto.DateReelleDebut, + DateReelleFin = dto.DateReelleFin, + EstArchive = dto.EstArchive, + ClientGuid = clientGuid, + ClientNom = client?.Nom ?? dto.ClientNom, + ClientCode = client?.Code, + SiteGuid = siteGuid, + SiteNom = site?.Nom ?? dto.SiteNom, + SiteCode = site?.Code, + SiteAdresse = dto.SiteAdresse ?? site?.Adresse?.OneLine, + SiteCodeAcces = site?.CodeAcces, + SiteBadge = site?.Badge ?? false, + SiteInterphone = site?.Interphone ?? false, + SiteNote = site?.InformationsComplementaires, + DossierGuid = dossierGuid, + DossierReference = dossier?.ReferenceMetier, + DossierTitre = dossier?.Titre, + DossierStatut = dossier?.Statut?.Label, + RendezVous = rendezVous, + Documents = documents + }; + } + + /// + /// Résout une entité liée à la demande en tolérant l'échec (offline ou droit + /// d'accès absent) : retourne au lieu de faire échouer + /// le chargement de l'intervention. Les noms dénormalisés du DTO servent de + /// repli pour l'affichage. + /// + private static async Task TryResolveAsync(Func> fetch) where T : class + { + try + { + return await fetch(); + } + catch (OperationCanceledException) + { + throw; + } + catch + { + return null; + } + } + + /// + /// Convertit un rendez-vous (DTO) en modèle d'affichage de la fiche, en + /// résolvant les noms des collaborateurs depuis le référentiel local. + /// + private static InterventionRendezVous MapRendezVous( + Guid id, + RendezVousDetailsDto dto, + IReadOnlyDictionary collaborateursById) + { + return new InterventionRendezVous + { + RendezVousGuid = id, + Titre = dto.Titre, + Debut = dto.Debut, + Fin = dto.Fin, + TypeActivite = dto.TypeActivite?.Label, + Statut = dto.Statut?.Label, + EstAnnule = dto.Annulation is not null || dto.EstArchive, + Collaborateurs = dto.Collaborateurs + .Select(c => ResolveCollaborateurNom(c, collaborateursById)) + .Where(n => !string.IsNullOrWhiteSpace(n)) + .Select(n => n!.Trim()) + .Distinct(StringComparer.OrdinalIgnoreCase) + .ToList(), + SiteAdresse = dto.SiteAdresse, + Description = dto.Description + }; + } + + /// + /// Résout le nom affiché d'une affectation collaborateur : valeur portée par + /// le DTO sinon référentiel local (snapshot Collaborateur) par GUID public. + /// + private static string? ResolveCollaborateurNom( + AffectationCollaborateurDto affectation, + IReadOnlyDictionary collaborateursById) + { + if (!string.IsNullOrWhiteSpace(affectation.NomAffiche)) + { + return affectation.NomAffiche; + } + + if (Guid.TryParse(affectation.CollaborateurId, out Guid guid) + && collaborateursById.TryGetValue(guid, out CollaborateurDetailsDto? collaborateur)) + { + return BuildDisplayName(collaborateur); + } + + return null; + } + + /// + public async Task> SearchAsync( + MobileInterventionSearchRequest request, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(request); + + // 1. Appel API. En cas d'échec réseau, l'exception remonte SANS modifier + // le cache : la dernière recherche précédente reste intacte. + IReadOnlyList results = + await _apiClient.SearchInterventionsAsync(request, cancellationToken); + + // Identités épinglées à préserver (une requête bulk, aucun N+1). + var pinnedIds = new HashSet(await _cacheRepository.GetPinnedIdsAsync(cancellationToken)); + + var entities = new List(results.Count); + for (int i = 0; i < results.Count; i++) + { + Guid id = Guid.Parse(results[i].Detail.Id); + entities.Add(ToCacheEntity(results[i], isInLastSearch: true, isPinned: pinnedIds.Contains(id), order: i)); + } + + // 2. Transaction locale : remplace la dernière recherche, conserve les + // épinglées, purge les orphelins. + await using SqliteTransaction transaction = await _database.BeginTransactionAsync(cancellationToken); + try + { + await _cacheRepository.ClearLastSearchAsync(cancellationToken); + foreach (CachedIntervention entity in entities) + { + await _cacheRepository.UpsertAsync(entity, cancellationToken); + } + await _cacheRepository.DeleteOrphansAsync(cancellationToken); + await transaction.CommitAsync(cancellationToken); + } + catch + { + await transaction.RollbackAsync(cancellationToken); + throw; + } + + return entities.Select(MapToCardItem).ToList(); + } + + /// + public async Task> GetLastSearchAsync( + CancellationToken cancellationToken = default) + { + IReadOnlyList cached = await _cacheRepository.GetLastSearchAsync(cancellationToken); + return cached.Select(MapToCardItem).ToList(); + } + + /// + public async Task> GetPinnedAsync( + CancellationToken cancellationToken = default) + { + IReadOnlyList cached = await _cacheRepository.GetPinnedAsync(cancellationToken); + return cached.Select(MapToCardItem).ToList(); + } + + /// + public async Task SetPinnedAsync( + Guid interventionGuid, + bool isPinned, + CancellationToken cancellationToken = default) + { + CachedIntervention? existing = await _cacheRepository.GetByIdAsync(interventionGuid, cancellationToken); + if (existing is null) + { + return; + } + + existing.IsPinned = isPinned; + await _cacheRepository.UpsertAsync(existing, cancellationToken); + } + + /// + public async Task RefreshPinnedAsync(CancellationToken cancellationToken = default) + { + IReadOnlyList pinnedIds = await _cacheRepository.GetPinnedIdsAsync(cancellationToken); + if (pinnedIds.Count == 0) + { + return; + } + + var request = new MobileInterventionsByIdsRequest + { + Ids = pinnedIds.Select(id => id.ToString()).ToList() + }; + + // Une seule requête bulk pour N favoris. + IReadOnlyList results = + await _apiClient.GetInterventionsByIdsAsync(request, cancellationToken); + + foreach (MobileInterventionSearchResult result in results) + { + Guid id = Guid.Parse(result.Detail.Id); + CachedIntervention? existing = await _cacheRepository.GetByIdAsync(id, cancellationToken); + await _cacheRepository.UpsertAsync( + ToCacheEntity(result, existing?.IsInLastSearch ?? false, isPinned: true, existing?.SearchOrder), + cancellationToken); + } + } + + /// + public async Task RefreshInterventionAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) + { + var request = new MobileInterventionsByIdsRequest + { + Ids = [interventionGuid.ToString()] + }; + + IReadOnlyList results = + await _apiClient.GetInterventionsByIdsAsync(request, cancellationToken); + + MobileInterventionSearchResult? result = results.FirstOrDefault(r => + string.Equals(r.Detail.Id, interventionGuid.ToString(), StringComparison.OrdinalIgnoreCase)); + if (result is null) + { + return; + } + + CachedIntervention? existing = await _cacheRepository.GetByIdAsync(interventionGuid, cancellationToken); + await _cacheRepository.UpsertAsync( + ToCacheEntity(result, existing?.IsInLastSearch ?? false, existing?.IsPinned ?? false, existing?.SearchOrder), + cancellationToken); + } + + /// + public async Task> GetRendezVousAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) + { + IReadOnlyList dtos = + await _apiClient.GetRendezVousByInterventionAsync(interventionGuid, cancellationToken); + + IReadOnlyDictionary local = + await LoadCollaborateursByIdAsync(cancellationToken); + + // Complète les collaborateurs manquants À LA DEMANDE (le snapshot ne charge + // plus les collaborateurs en bloc et ne dénormalise pas leurs noms). + IReadOnlyDictionary collaborateursById = + await ResolveCollaborateursAsync(dtos, local, cancellationToken); + + return dtos + .Select(dto => MapRendezVous(Guid.Parse(dto.Id), dto, collaborateursById)) + .OrderByDescending(r => r.Debut) + .ToList(); + } + + /// + public async Task> GetNotesAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) + => await GetNotesAsync(interventionGuid, estAdministrative: false, cancellationToken); + + /// + public async Task AddNoteAsync( + Guid interventionGuid, + string contenu, + CancellationToken cancellationToken = default) + => await AddNoteAsync(interventionGuid, contenu, estAdministrative: false, cancellationToken); + + /// + public async Task> GetNotesAdministrativesAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) + => await GetNotesAsync(interventionGuid, estAdministrative: true, cancellationToken); + + /// + public async Task AddNoteAdministrativeAsync( + Guid interventionGuid, + string contenu, + CancellationToken cancellationToken = default) + => await AddNoteAsync(interventionGuid, contenu, estAdministrative: true, cancellationToken); + + /// + /// Charge les notes (internes ou administratives) d'une intervention. + /// Offline-safe : tente un rafraîchissement serveur best-effort (remplace les + /// notes confirmées, conserve les notes encore en attente d'envoi), puis + /// retourne la liste locale. En cas d'échec réseau, la liste locale reste + /// exploitable (aucune exception remontée). + /// + private async Task> GetNotesAsync( + Guid interventionGuid, + bool estAdministrative, + CancellationToken cancellationToken) + { + // Rafraîchissement serveur best-effort : hors ligne, on saute l'appel + // réseau (aucune latence d'échec) et on lit directement la copie locale. + // En cas d'échec (serveur indisponible), les notes locales déjà affichées + // restent en place. + if (await IsOnlineAsync(cancellationToken)) + { + try + { + IReadOnlyList serverNotes = estAdministrative + ? await _apiClient.GetNotesAdministrativesByInterventionAsync(interventionGuid, cancellationToken) + : await _apiClient.GetNotesByInterventionAsync(interventionGuid, cancellationToken); + + // Purge les notes locales confirmées (sans opération Outbox en attente), + // puis réinsère les notes serveur fraîches. Les notes créées hors ligne + // et encore en attente d'envoi sont conservées. + await _noteRepository.DeleteNonPendingByInterventionAsync( + interventionGuid, estAdministrative, cancellationToken); + + foreach (NoteInterneDto dto in serverNotes) + { + if (!Guid.TryParse(dto.Id, out Guid noteGuid)) + { + continue; + } + + await _noteRepository.UpsertAsync(new LocalNoteInterne + { + Id = noteGuid, + InterventionId = interventionGuid, + EstAdministrative = estAdministrative, + Contenu = dto.Contenu ?? string.Empty, + DateCreation = dto.DateCreation, + AuteurNom = dto.AuteurNom + }, cancellationToken); + } + } + catch (OperationCanceledException) + { + throw; + } + catch (Exception) + { + // Serveur indisponible : la liste locale reste exploitable. + } + } + + IReadOnlyList local = + await _noteRepository.GetByInterventionAsync(interventionGuid, cancellationToken); + + return local + .Where(n => n.EstAdministrative == estAdministrative) + .Select(n => new NoteInterneDto + { + Id = n.Id.ToString("D"), + Contenu = n.Contenu, + DateCreation = n.DateCreation, + AuteurNom = n.AuteurNom + }) + .ToList(); + } + + /// + /// Ajoute une note (interne ou administrative) de façon offline-first : + /// écriture locale SQLite puis opération Outbox CREATE. Aucun appel réseau, + /// aucune attente. La note apparaît immédiatement dans la liste et sera + /// synchronisée au prochain cycle. + /// + private async Task AddNoteAsync( + Guid interventionGuid, + string contenu, + bool estAdministrative, + CancellationToken cancellationToken) + { + // Identité mobile (A) de la note : distincte de l'OperationId de l'Outbox. + Guid noteGuid = Guid.NewGuid(); + DateTime now = DateTime.Now; + + // L'intervention peut être une identité mobile (A) déjà réconciliée vers + // son GUID canonique (B) : le payload doit porter l'identité canonique, + // sinon le serveur ne pourra pas résoudre l'intervention. + Guid canonicalIntervention = await _reconciliation.ResolveAsync( + LocalSyncEntityTypes.Intervention, interventionGuid, cancellationToken); + + // 1. Écriture locale (offline-first) : la note est visible immédiatement. + await _noteRepository.UpsertAsync(new LocalNoteInterne + { + Id = noteGuid, + InterventionId = interventionGuid, + EstAdministrative = estAdministrative, + Contenu = contenu, + DateCreation = now, + AuteurNom = null + }, cancellationToken); + + // 2. Enqueue l'opération Outbox CREATE (même unité locale logique). + var payload = new NoteInterneSyncPayload + { + InterventionId = canonicalIntervention.ToString("D"), + Contenu = contenu + }; + + // La note est différée tant que l'opération de son intervention parente + // est encore active : si l'intervention a été créée hors ligne (GUID + // mobile A), la note doit attendre que le CREATE aboutisse et que A soit + // réconcilié vers le GUID canonique B (le payload sera alors réécrit), + // sinon le serveur ne peut pas résoudre l'intervention. + await _outboxService.EnqueueAsync( + estAdministrative ? LocalSyncEntityTypes.NoteAdministrative : LocalSyncEntityTypes.NoteInterne, + SyncOperationType.Create, + noteGuid, + JsonHelper.Serialize(payload), + dependencyEntityType: LocalSyncEntityTypes.Intervention, + dependencyRequestedEntityGuid: interventionGuid, + cancellationToken: cancellationToken); + + return new NoteInterneDto + { + Id = noteGuid.ToString("D"), + Contenu = contenu, + DateCreation = now + }; + } + + /// + public async Task> GetEmailsAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) + { + // Rafraîchissement serveur best-effort : hors ligne, on saute l'appel + // réseau (aucune latence d'échec) et on lit directement la copie locale. + // En cas d'échec (serveur indisponible), la copie locale (fournie par le + // snapshot) reste exploitable. + if (await IsOnlineAsync(cancellationToken)) + { + try + { + IReadOnlyList serverEmails = + await _apiClient.GetEmailsByInterventionAsync(interventionGuid, cancellationToken); + + await _emailRepository.DeleteByInterventionAsync(interventionGuid, cancellationToken); + foreach (EmailInterventionDto dto in serverEmails) + { + if (!Guid.TryParse(dto.Id, out Guid emailGuid)) + { + continue; + } + + await _emailRepository.UpsertAsync(new LocalEmailIntervention + { + Id = emailGuid, + InterventionId = interventionGuid, + PayloadJson = JsonHelper.Serialize(dto) + }, cancellationToken); + } + } + catch (OperationCanceledException) + { + throw; + } + catch (Exception) + { + // Serveur indisponible : la copie locale reste exploitable. + } + } + + IReadOnlyList local = + await _emailRepository.GetByInterventionAsync(interventionGuid, cancellationToken); + + return local + .Select(e => JsonHelper.Deserialize(e.PayloadJson)) + .Where(dto => dto is not null) + .Select(dto => dto!) + .ToList(); + } + + /// + /// Indique si l'appareil est en ligne, sans jamais faire échouer la lecture : + /// une détection de connectivité impossible (plateforme sans implémentation + /// fiable) est assimilée à « en ligne » afin de conserver le comportement + /// historique (tentative d'appel API). Sert à court-circuiter les + /// rafraîchissements serveur des notes/courriels hors ligne, pour une lecture + /// locale immédiate sans latence d'échec réseau. + /// + private async Task IsOnlineAsync(CancellationToken cancellationToken) + { + try + { + return await _network.IsOnlineAsync(cancellationToken); + } + catch (OperationCanceledException) + { + throw; + } + catch + { + return true; + } + } + + /// + public async Task AddEmailAsync( + Guid interventionGuid, + CreateEmailInterventionRequest request, + CancellationToken cancellationToken = default) + => await _apiClient.AddEmailByInterventionAsync(interventionGuid, request, cancellationToken); + + /// + public async Task UpdateEmailAsync( + Guid interventionGuid, + string emailId, + CreateEmailInterventionRequest request, + CancellationToken cancellationToken = default) + => await _apiClient.UpdateEmailByInterventionAsync(interventionGuid, emailId, request, cancellationToken); + + /// + public async Task SendEmailAsync( + Guid interventionGuid, + string? emailId, + CreateEmailInterventionRequest request, + CancellationToken cancellationToken = default) + => await _apiClient.SendEmailByInterventionAsync(interventionGuid, emailId, request, cancellationToken); + + /// + public async Task AddEmailEnvoyeExterneAsync( + Guid interventionGuid, + CreateEmailInterventionRequest request, + CancellationToken cancellationToken = default) + => await _apiClient.AddEmailEnvoyeExterneAsync(interventionGuid, request, cancellationToken); + + /// + public async Task UpdateEmailEnvoyeExterneAsync( + Guid interventionGuid, + string emailId, + CreateEmailInterventionRequest request, + CancellationToken cancellationToken = default) + => await _apiClient.UpdateEmailEnvoyeExterneAsync(interventionGuid, emailId, request, cancellationToken); + + /// + public async Task> GetSmtpConfigurationsAsync( + CancellationToken cancellationToken = default) + => await _apiClient.GetSmtpConfigurationsAsync(cancellationToken); + + /// + public async Task> GetModeleMailsAsync( + CancellationToken cancellationToken = default) + => await _apiClient.GetModeleMailsAsync(cancellationToken); + + /// + public async Task> GetModeleRapportsAsync( + CancellationToken cancellationToken = default) + => await _apiClient.GetModeleRapportsAsync(cancellationToken); + + /// + public async Task> GetMotClefsAsync( + CancellationToken cancellationToken = default) + => await _apiClient.GetMotClefsAsync(cancellationToken); + + /// + public async Task GenerateEmailAsync( + GenerateDocumentRequest request, + CancellationToken cancellationToken = default) + => await _apiClient.GenerateEmailAsync(request, cancellationToken); + + /// + public async Task GenerateRapportAsync( + GenerateDocumentRequest request, + CancellationToken cancellationToken = default) + => await _apiClient.GenerateRapportAsync(request, cancellationToken); + + /// + public async Task> GetRapportChampsAsync( + GetRapportChampsRequest request, + CancellationToken cancellationToken = default) + => await _apiClient.GetRapportChampsAsync(request, cancellationToken); + + /// + public async Task> GetMailChampsAsync( + GetRapportChampsRequest request, + CancellationToken cancellationToken = default) + => await _apiClient.GetMailChampsAsync(request, cancellationToken); + + /// + public async Task CreateEmailModeleAsync( + CreateEmailModeleRequest request, + CancellationToken cancellationToken = default) + => await _apiClient.CreateEmailModeleAsync(request, cancellationToken); + + /// + public async Task GetEmailModeleApercuAsync( + CreateEmailModeleRequest request, + CancellationToken cancellationToken = default) + => await _apiClient.GetEmailModeleApercuAsync(request, cancellationToken); + + /// + public async Task CreateRapportAsync( + CreateRapportRequest request, + CancellationToken cancellationToken = default) + => await _apiClient.CreateRapportAsync(request, cancellationToken); + + /// + public async Task GetCompteRenduByRendezVousAsync( + Guid rendezVousGuid, + CancellationToken cancellationToken = default) + { + // 1. Copie locale : dernier état connu (compte rendu créé hors ligne en + // attente d'envoi, ou dernier état lu depuis le serveur). + LocalCompteRendu? local = await _compteRenduRepository.GetByRendezVousAsync(rendezVousGuid, cancellationToken); + CompteRenduDto? localDto = local is not null + ? JsonHelper.Deserialize(local.PayloadJson) + : null; + + // 2. Rafraîchissement serveur best-effort : hors ligne on saute l'appel + // réseau (aucune latence d'échec) et on lit directement la copie + // locale. En cas d'échec réseau, la copie locale reste exploitable. + if (await IsOnlineAsync(cancellationToken)) + { + try + { + CompteRenduDto? server = await _apiClient.GetCompteRenduByRendezVousAsync(rendezVousGuid, cancellationToken); + if (server is not null) + { + await _compteRenduRepository.UpsertAsync(new LocalCompteRendu + { + RendezVousId = rendezVousGuid, + PayloadJson = JsonHelper.Serialize(server), + UpdatedAtUtc = DateTimeOffset.UtcNow + }, cancellationToken); + return server; + } + } + catch (OperationCanceledException) + { + throw; + } + catch (Exception) + { + // Serveur indisponible : la copie locale reste exploitable. + } + } + + return localDto; + } + + /// + public async Task CreateCompteRenduAsync( + Guid rendezVousGuid, + CreateCompteRenduRequest request, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(request); + + // Identité mobile (A) du compte rendu : distincte de l'OperationId Outbox. + Guid requestedGuid = Guid.NewGuid(); + + // 1. Écriture locale (offline-first) : le compte rendu est visible + // immédiatement et sera synchronisé au prochain cycle. + CompteRenduDto localDto = MapToLocalCompteRenduDto(rendezVousGuid, request, requestedGuid); + await _compteRenduRepository.UpsertAsync(new LocalCompteRendu + { + RendezVousId = rendezVousGuid, + PayloadJson = JsonHelper.Serialize(localDto), + UpdatedAtUtc = DateTimeOffset.UtcNow + }, cancellationToken); + + // 2. Enqueue l'opération Outbox CREATE (aucun appel réseau, aucune attente). + var payload = new CompteRenduSyncPayload + { + RendezVousId = rendezVousGuid.ToString(), + NoteCollaborateur = request.NoteCollaborateur, + NomSignataire = request.NomSignataire, + NoteSignataire = request.NoteSignataire, + NomSignataireTech = request.NomSignataireTech, + DateInterventionDebut = request.DateInterventionDebut, + DateInterventionFin = request.DateInterventionFin, + DateSignature = request.DateSignature, + Signature = request.Signature, + SignatureTech = request.SignatureTech, + DevisConforme = request.DevisConforme, + AvecReserve = request.AvecReserve, + ReserveCommentaire = request.ReserveCommentaire, + TypeSignataireKey = request.TypeSignataire?.Key, + TypeSignataireLegacyId = request.TypeSignataire?.LegacyId ?? 0 + }; + + await _outboxService.EnqueueAsync( + LocalSyncEntityTypes.CompteRendu, + SyncOperationType.Create, + requestedGuid, + JsonHelper.Serialize(payload), + cancellationToken: cancellationToken); + + return localDto; + } + + /// + /// Construit le DTO local (CompteRenduDto) à partir de la requête de création. + /// Les champs protégés (PK, GUID serveur, audit) restent gérés côté serveur ; + /// le GUID mobile sert d'identité locale tant que le CREATE n'est pas confirmé. + /// + private static CompteRenduDto MapToLocalCompteRenduDto( + Guid rendezVousGuid, + CreateCompteRenduRequest request, + Guid id) + { + return new CompteRenduDto + { + Id = id.ToString(), + RendezVousId = rendezVousGuid.ToString(), + AuteurId = request.CollaborateurId, + NoteCollaborateur = request.NoteCollaborateur, + NomSignataire = request.NomSignataire, + NoteSignataire = request.NoteSignataire, + NomSignataireTech = request.NomSignataireTech, + DateSignature = request.DateSignature, + Signature = request.Signature, + SignatureTech = request.SignatureTech, + DevisConforme = request.DevisConforme, + AvecReserve = request.AvecReserve, + ReserveCommentaire = request.ReserveCommentaire, + TypeSignataire = request.TypeSignataire, + DateCreation = DateTime.Now, + DateInterventionDebut = request.DateInterventionDebut, + DateInterventionFin = request.DateInterventionFin + }; + } + + /// + /// Charge le référentiel local des collaborateurs (snapshot) indexé par GUID + /// public, pour résoudre les noms des affectations de rendez-vous. + /// + private async Task> LoadCollaborateursByIdAsync( + CancellationToken cancellationToken) + { + IReadOnlyList collaborateurs = await _collaborateurRepository.GetAllAsync(cancellationToken); + return collaborateurs + .Select(c => (c.Id, Dto: JsonHelper.Deserialize(c.PayloadJson))) + .Where(x => x.Dto is not null) + .ToDictionary(x => x.Id, x => x.Dto!); + } + + /// + /// Complète le référentiel local des collaborateurs avec ceux référencés par + /// les rendez-vous, récupérés À LA DEMANDE via l'API (le snapshot ne charge + /// plus les collaborateurs en bloc et ne dénormalise pas leurs noms). + /// + private async Task> ResolveCollaborateursAsync( + IReadOnlyList rendezVous, + IReadOnlyDictionary local, + CancellationToken cancellationToken) + { + var result = new Dictionary(local); + var missingIds = new HashSet(); + + foreach (RendezVousDetailsDto rdv in rendezVous) + { + foreach (AffectationCollaborateurDto affectation in rdv.Collaborateurs) + { + if (Guid.TryParse(affectation.CollaborateurId, out Guid guid) + && !result.ContainsKey(guid)) + { + missingIds.Add(guid); + } + } + } + + foreach (Guid guid in missingIds) + { + try + { + CollaborateurDetailsDto? collaborateur = + await _apiClient.GetCollaborateurByIdAsync(guid, cancellationToken); + if (collaborateur is not null) + { + result[guid] = collaborateur; + } + } + catch (OperationCanceledException) + { + throw; + } + catch + { + // Offline : la carte s'affiche sans le nom du collaborateur. + } + } + + return result; + } + + /// Convertit un résultat enrichi en entrée de cache local. + private static CachedIntervention ToCacheEntity( + MobileInterventionSearchResult result, + bool isInLastSearch, + bool isPinned, + int? order) + { + return new CachedIntervention + { + Id = Guid.Parse(result.Detail.Id), + PayloadJson = JsonHelper.Serialize(result.Detail), + IsPinned = isPinned, + IsInLastSearch = isInLastSearch, + SearchOrder = order, + NbRendezVous = result.NbRendezVous, + SiteNom = result.SiteNom, + SiteAddressDisplay = result.SiteAddressDisplay, + ClientNom = result.ClientNom, + ContactNom = result.ContactNom + }; + } + + /// Convertit une entrée de cache en card d'affichage. + private static InterventionCardItem MapToCardItem(CachedIntervention cached) + { + InterventionDetailsDto? dto = JsonHelper.Deserialize(cached.PayloadJson); + return new InterventionCardItem + { + InterventionGuid = cached.Id, + Reference = dto?.Reference, + Titre = dto?.Titre, + Etat = dto?.Etat?.Label, + Type = dto?.Type?.Label, + NbRendezVous = cached.NbRendezVous, + ClientNom = cached.ClientNom, + SiteNom = cached.SiteNom, + SiteAddressDisplay = cached.SiteAddressDisplay, + ContactNom = cached.ContactNom, + EstArchive = dto?.EstArchive ?? false, + IsPinned = cached.IsPinned + }; + } + + private static Guid? TryParseGuid(string? value) + { + return Guid.TryParse(value, out Guid guid) ? guid : null; + } + + /// + /// Regroupe les références Client/Site/Dossier/Collaborateur/RendezVous/ + /// Documents chargées une seule fois pour enrichir la fiche et la liste + /// des interventions. + /// + private sealed record ReferenceCollections( + IReadOnlyDictionary Clients, + IReadOnlyDictionary Sites, + IReadOnlyDictionary Dossiers, + IReadOnlyDictionary Collaborateurs, + IReadOnlyList<(Guid Id, Guid InterventionId, RendezVousDetailsDto? Dto)> RendezVous, + IReadOnlyList<(Guid Id, Guid InterventionId, DocumentSummaryDto? Dto)> Documents); +} + + diff --git a/src/Omika.App.Local/Services/LanguagePackService.cs b/src/Omika.App.Local/Services/LanguagePackService.cs new file mode 100644 index 0000000..4dc3679 --- /dev/null +++ b/src/Omika.App.Local/Services/LanguagePackService.cs @@ -0,0 +1,542 @@ +using System.Net; +using System.Net.Http; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.Core.Contracts.Mobile.Languages; + +namespace Omika.App.Local.Services; + +/// +/// Téléchargement des packs de langue depuis l'API des langues +/// (SRV_LANGUES), avec vérification d'intégrité SHA-256. +/// +/// +/// Sécurité et intégrité — trois garanties, dans cet ordre : +/// +/// +/// les noms de fichiers et codes de langue venus du réseau sont +/// assainis (, +/// ) : un manifeste ne peut jamais faire +/// écrire hors du dossier de la langue ; +/// chaque fichier est téléchargé sous .part, son empreinte SHA-256 +/// est recalculée et comparée à celle du manifeste, puis seulement +/// ensuite il est renommé à sa place définitive ; +/// le marqueur pack.json n'est écrit qu'après vérification de +/// tous les fichiers : un pack à moitié téléchargé n'est jamais +/// utilisable. +/// +/// +/// +/// L'API des langues est anonyme : aucun jeton n'est envoyé, et l'URL est lue +/// dans le bootstrap (SRV_LANGUES) — jamais codée en dur. +/// +/// +public sealed class LanguagePackService : ILanguagePackService +{ + /// Délai d'établissement de connexion / de réception des en-têtes. + private static readonly TimeSpan DelaiRequete = TimeSpan.FromSeconds(30); + + /// + /// Délai maximal sans aucun octet reçu pendant le transfert du corps. + /// Un modèle de 120 Mo sur un réseau mobile lent reste légitime (plusieurs + /// minutes) : borner la durée totale interromprait un téléchargement sain. + /// C'est donc l'inactivité qui est bornée, pas la durée. + /// + private static readonly TimeSpan DelaiInactivite = TimeSpan.FromSeconds(60); + + /// Taille du tampon de lecture du flux réseau (128 Kio). + private const int TailleTampon = 128 * 1024; + + private readonly ILanguagePackStore _store; + private readonly Func> _urlBase; + private readonly HttpClient _httpClient; + + public LanguagePackService( + ILanguagePackStore store, + IMobileSessionService sessionService, + HttpClient? httpClient = null) + : this(store, UrlDepuisBootstrap(sessionService), httpClient ?? CreerHttpClient()) + { + ArgumentNullException.ThrowIfNull(sessionService); + } + + /// + /// Crée le service avec une source d'URL explicite. + /// + /// + /// Ce constructeur rend la source de l'URL explicite : en production + /// elle vient du bootstrap (SRV_LANGUES), et en test elle peut être + /// fournie directement — sans avoir à simuler tout le service de session + /// pour vérifier le téléchargement et l'intégrité. + /// + /// + public LanguagePackService( + ILanguagePackStore store, + Func> urlBase, + HttpClient httpClient) + { + ArgumentNullException.ThrowIfNull(store); + ArgumentNullException.ThrowIfNull(urlBase); + ArgumentNullException.ThrowIfNull(httpClient); + + _store = store; + _urlBase = urlBase; + _httpClient = httpClient; + } + + /// Lit l'URL de base du service des langues dans le bootstrap local. + private static Func> UrlDepuisBootstrap( + IMobileSessionService sessionService) + => async cancellationToken => + { + LocalBootstrapState? bootstrap = await sessionService.GetBootstrapAsync(cancellationToken); + string? url = bootstrap?.Configuration?.LanguesUrl; + + return string.IsNullOrWhiteSpace(url) ? null : url.Trim().TrimEnd('/'); + }; + + /// + /// Client HTTP dédié aux gros transferts : aucun délai global. Le + /// HttpClient.Timeout couvre la totalité de l'opération, corps de la + /// réponse compris : avec le délai par défaut (100 s), un modèle de 120 Mo + /// sur un réseau mobile lent serait interrompu en cours de route. Seule + /// l'annulation explicite (bouton « Annuler ») arrête le transfert. + /// + public static HttpClient CreerHttpClient() + { + var client = new HttpClient { Timeout = Timeout.InfiniteTimeSpan }; + + // Les fichiers modèles ne sont pas compressibles (poids déjà optimisé) : + // demander une compression gaspillerait du temps CPU sur le terminal. + client.DefaultRequestHeaders.AcceptEncoding.Clear(); + + return client; + } + + /// + public async Task GetUrlBaseAsync(CancellationToken cancellationToken = default) + { + string? url = await _urlBase(cancellationToken); + + return string.IsNullOrWhiteSpace(url) ? null : url.Trim().TrimEnd('/'); + } + + /// + public async Task> ListerLanguesAsync( + bool forcerReseau = false, + CancellationToken cancellationToken = default) + { + LanguageManifestResponse? manifeste = null; + + if (!forcerReseau) + { + // Hors ligne d'abord : la liste reste consultable sans réseau. + manifeste = await _store.GetIndexAsync(cancellationToken); + } + + if (manifeste is null) + { + manifeste = await ChargerManifesteAsync(cancellationToken); + await _store.EnregistrerIndexAsync(manifeste, cancellationToken); + } + + IReadOnlyList installes = + await _store.ListerPacksInstallesAsync(cancellationToken); + + var parCode = new Dictionary(StringComparer.OrdinalIgnoreCase); + foreach (PackLangueInstalle pack in installes) + { + parCode[pack.Code] = pack; + } + + var langues = new List(manifeste.Packs.Count); + foreach (LanguagePackDto pack in manifeste.Packs) + { + // Le code est normalisé AVANT validation : un manifeste qui + // écrirait « ES » désigne bien la même langue que « es », et il n'y + // a aucune raison de l'ignorer silencieusement. + string code = LanguagePaths.NormaliserCode(pack.Code); + if (!LanguagePaths.EstCodeValide(code)) + { + continue; + } + + long taille = 0; + foreach (LanguageModelFileDto fichier in pack.Fichiers) + { + taille += fichier.TailleOctets; + } + + parCode.TryGetValue(code, out PackLangueInstalle? installe); + + langues.Add(new LangueDisponible + { + Code = code, + // Nom connu du mobile d'abord : un manifeste généré sans table de + // libellés faisait afficher « bg » ou « ca » au milieu de + // « Espagnol » (voir LibellesLangues). + Libelle = LibellesLangues.Resoudre(code, pack.Libelle), + Version = pack.Version, + TailleOctets = taille, + NombreFichiers = pack.Fichiers.Count, + EstInstallee = installe is not null, + VersionInstallee = installe?.Version ?? string.Empty + }); + } + + langues.Sort(static (a, b) => string.Compare(a.Libelle, b.Libelle, StringComparison.CurrentCulture)); + return langues; + } + + /// + public async Task TelechargerAsync( + string code, + IProgress? progression = null, + CancellationToken cancellationToken = default) + { + string codeNormalise = LanguagePaths.NormaliserCode(code); + if (!LanguagePaths.EstCodeValide(codeNormalise)) + { + throw new LanguagePackException($"Langue inconnue : « {code} »."); + } + + LanguageManifestResponse manifeste = await ChargerManifesteAsync(cancellationToken); + LanguagePackDto? pack = TrouverPack(manifeste, codeNormalise); + + if (pack is null) + { + throw new LanguagePackException( + $"La langue « {codeNormalise} » n'est pas proposée par le serveur."); + } + + if (pack.Fichiers.Count == 0) + { + throw new LanguagePackException( + $"Le pack « {pack.Libelle} » ne contient aucun fichier à télécharger."); + } + + string? urlBase = await GetUrlBaseAsync(cancellationToken); + if (string.IsNullOrWhiteSpace(urlBase)) + { + throw new LanguagePackException( + "Le service de téléchargement des langues n'est pas configuré sur ce serveur."); + } + + await _store.EnregistrerIndexAsync(manifeste, cancellationToken); + + long totalOctets = 0; + foreach (LanguageModelFileDto fichier in pack.Fichiers) + { + totalOctets += Math.Max(0, fichier.TailleOctets); + } + + long octetsFaits = 0; + int index = 0; + + foreach (LanguageModelFileDto fichier in pack.Fichiers) + { + cancellationToken.ThrowIfCancellationRequested(); + index++; + + var attendu = new FichierModeleInstalle + { + Sens = fichier.Sens, + NomFichier = fichier.NomFichier, + TailleOctets = fichier.TailleOctets, + Sha256 = fichier.Sha256 + }; + + if (!ValiderFichier(fichier, pack, out string? erreur)) + { + throw new LanguagePackException(erreur!); + } + + // Déjà présent ET conforme : aucun octet n'est retéléchargé (reprise + // après interruption, ou réinstallation d'un pack inchangé). + if (_store.FichierPresent(codeNormalise, attendu) + && await _store.VerifierFichierAsync(codeNormalise, attendu, cancellationToken)) + { + octetsFaits += Math.Max(0, fichier.TailleOctets); + progression?.Report(new ProgressionTelechargement( + index, pack.Fichiers.Count, fichier.NomFichier, octetsFaits, totalOctets)); + continue; + } + + long dejaFaits = octetsFaits; + await TelechargerFichierAsync( + urlBase, codeNormalise, fichier, + recus => progression?.Report(new ProgressionTelechargement( + index, pack.Fichiers.Count, fichier.NomFichier, + dejaFaits + recus, totalOctets)), + cancellationToken); + + octetsFaits += Math.Max(0, fichier.TailleOctets); + progression?.Report(new ProgressionTelechargement( + index, pack.Fichiers.Count, fichier.NomFichier, octetsFaits, totalOctets)); + } + + var installe = PackLangueInstalle.DepuisManifeste(pack, DateTimeOffset.UtcNow); + + // Écrit en DERNIER : c'est la preuve que tous les fichiers sont vérifiés. + await _store.EnregistrerPackAsync(installe, cancellationToken); + + return installe; + } + + /// + public Task SupprimerAsync(string code, CancellationToken cancellationToken = default) + => _store.SupprimerPackAsync(code, cancellationToken); + + // ===== Téléchargement d'un fichier ===== + + /// + /// Télécharge un fichier sous .part, vérifie son empreinte SHA-256, + /// puis le renomme à sa place définitive. Un fichier non conforme est + /// supprimé : jamais conservé à moitié. + /// + private async Task TelechargerFichierAsync( + string urlBase, + string code, + LanguageModelFileDto fichier, + Action surProgres, + CancellationToken cancellationToken) + { + string url = ConstruireUrl(urlBase, code, fichier); + string partiel = _store.PreparerFichierPartiel(code, fichier.Sens, fichier.NomFichier); + string definitif = _store.CheminFichier(code, fichier.Sens, fichier.NomFichier); + + // Surveillance d'inactivité : voir DelaiInactivite. Le compte à rebours + // est réarmé à chaque octet reçu, donc une connexion qui progresse n'est + // jamais interrompue, même très lente. + using var transfert = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken); + + try + { + transfert.CancelAfter(DelaiInactivite); + + using HttpResponseMessage reponse = await _httpClient.SendAsync( + new HttpRequestMessage(HttpMethod.Get, url), + HttpCompletionOption.ResponseHeadersRead, + transfert.Token); + + if (!reponse.IsSuccessStatusCode) + { + throw new LanguagePackException(MessageErreurHttp(reponse.StatusCode, fichier.NomFichier)); + } + + long recus = 0; + await using (Stream source = await reponse.Content.ReadAsStreamAsync(transfert.Token)) + await using (var destination = new FileStream( + partiel, FileMode.Create, FileAccess.Write, FileShare.None, TailleTampon, useAsync: true)) + { + byte[] tampon = new byte[TailleTampon]; + int lus; + while ((lus = await source.ReadAsync(tampon, transfert.Token)) > 0) + { + await destination.WriteAsync(tampon.AsMemory(0, lus), transfert.Token); + recus += lus; + + // Octets reçus : le délai d'inactivité est repoussé. + transfert.CancelAfter(DelaiInactivite); + surProgres(recus); + } + } + + // Intégrité : l'empreinte est recalculée sur le fichier REÇU, jamais + // déduite de la taille ni de l'en-tête du serveur. + string? empreinte = await LanguagePackStore.CalculerSha256Async(partiel, cancellationToken); + if (empreinte is null + || !string.Equals(empreinte, fichier.Sha256.Trim(), StringComparison.OrdinalIgnoreCase)) + { + SupprimerSilencieusement(partiel); + throw new LanguagePackException( + $"Le fichier « {fichier.NomFichier} » téléchargé est incomplet ou altéré " + + "(empreinte SHA-256 non conforme). Le téléchargement a été annulé."); + } + + // Renommage sur le même volume : le fichier n'apparaît à sa place + // définitive qu'une fois complet et vérifié. + File.Move(partiel, definitif, overwrite: true); + } + catch (LanguagePackException) + { + throw; + } + catch (OperationCanceledException) when (!cancellationToken.IsCancellationRequested) + { + // Ni l'utilisateur ni l'application n'ont annulé : c'est le + // chien de garde d'inactivité. Le .part est conservé (il sera + // écrasé au prochain essai) : aucun fichier corrompu n'est promu. + throw new LanguagePackException( + $"Le téléchargement de « {fichier.NomFichier} » s'est interrompu " + + "(plus aucune donnée reçue). Réessayez : les fichiers déjà complets ne seront pas retéléchargés."); + } + catch (OperationCanceledException) + { + // Annulation demandée par l'utilisateur : remontée telle quelle. + throw; + } + catch (Exception ex) + { + SupprimerSilencieusement(partiel); + throw new LanguagePackException( + $"Téléchargement impossible ({fichier.NomFichier}) : vérifiez votre connexion.", ex); + } + } + + /// Charge le manifeste depuis le service des langues. + private async Task ChargerManifesteAsync(CancellationToken cancellationToken) + { + string? urlBase = await GetUrlBaseAsync(cancellationToken); + if (string.IsNullOrWhiteSpace(urlBase)) + { + throw new LanguagePackException( + "Le service de téléchargement des langues n'est pas configuré sur ce serveur."); + } + + string url = $"{urlBase}/api/langues"; + + try + { + using var delai = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken); + delai.CancelAfter(DelaiRequete); + + using HttpResponseMessage reponse = await _httpClient.GetAsync( + url, HttpCompletionOption.ResponseContentRead, delai.Token); + + if (reponse.StatusCode == HttpStatusCode.NotFound) + { + throw new LanguagePackException( + "Aucun modèle de langue n'est disponible sur le serveur."); + } + + if (!reponse.IsSuccessStatusCode) + { + throw new LanguagePackException( + $"Le service des langues a répondu { (int)reponse.StatusCode }."); + } + + string json = await reponse.Content.ReadAsStringAsync(cancellationToken); + LanguageManifestResponse? manifeste = + System.Text.Json.JsonSerializer.Deserialize( + json, new System.Text.Json.JsonSerializerOptions { PropertyNameCaseInsensitive = true }); + + return manifeste is { Packs.Count: > 0 } + ? manifeste + : throw new LanguagePackException("Aucun modèle de langue n'est disponible sur le serveur."); + } + catch (LanguagePackException) + { + throw; + } + catch (OperationCanceledException) when (!cancellationToken.IsCancellationRequested) + { + throw new LanguagePackException( + "Le service des langues ne répond pas — vérifiez votre connexion."); + } + catch (OperationCanceledException) + { + throw; + } + catch (Exception ex) + { + throw new LanguagePackException( + "Service des langues injoignable — vérifiez votre connexion.", ex); + } + } + + /// Retrouve un pack par code, sans tenir compte de la casse. + private static LanguagePackDto? TrouverPack(LanguageManifestResponse manifeste, string code) + { + foreach (LanguagePackDto pack in manifeste.Packs) + { + if (string.Equals( + LanguagePaths.NormaliserCode(pack.Code), code, StringComparison.Ordinal)) + { + return pack; + } + } + + return null; + } + + /// + /// Valide un fichier du manifeste avant tout accès disque : le nom ne doit + /// pas désigner un chemin et le sens doit être l'une des deux valeurs + /// canoniques. + /// + private static bool ValiderFichier( + LanguageModelFileDto fichier, LanguagePackDto pack, out string? erreur) + { + erreur = null; + + if (string.IsNullOrWhiteSpace(fichier.NomFichier) + || !string.Equals(fichier.NomFichier, Path.GetFileName(fichier.NomFichier), StringComparison.Ordinal)) + { + erreur = $"Le manifeste du pack « {pack.Code} » contient un nom de fichier invalide."; + return false; + } + + if (fichier.Sens is not (LanguageModelDirections.VersFrancais + or LanguageModelDirections.DepuisFrancais + or LanguageModelDirections.Commun)) + { + erreur = $"Le manifeste du pack « {pack.Code} » contient un sens de traduction inconnu " + + $"({fichier.Sens})."; + return false; + } + + if (string.IsNullOrWhiteSpace(fichier.Sha256)) + { + // Sans empreinte, l'intégrité ne peut pas être prouvée : mieux vaut + // refuser le pack que d'installer un modèle non vérifiable. + erreur = $"Le manifeste du pack « {pack.Code} » ne fournit pas d'empreinte SHA-256 " + + $"pour « {fichier.NomFichier} »."; + return false; + } + + return true; + } + + /// + /// Construit l'URL absolue d'un fichier : l'URL relative du manifeste est + /// utilisée si elle est fournie, sinon elle est déduite de la convention de + /// l'API (/api/langues/{code}/{sens}/{fichier}). + /// + private static string ConstruireUrl(string urlBase, string code, LanguageModelFileDto fichier) + { + string relative = string.IsNullOrWhiteSpace(fichier.Url) + ? $"/api/langues/{code}/{LanguagePaths.NormaliserSens(fichier.Sens)}/{fichier.NomFichier}" + : fichier.Url; + + return $"{urlBase.TrimEnd('/')}/{relative.TrimStart('/')}"; + } + + /// Message affichable pour un échec HTTP du service des langues. + private static string MessageErreurHttp(HttpStatusCode statut, string nomFichier) => statut switch + { + HttpStatusCode.NotFound => $"Le fichier « {nomFichier} » est absent du serveur.", + HttpStatusCode.Unauthorized or HttpStatusCode.Forbidden + => "Le serveur a refusé le téléchargement des modèles.", + HttpStatusCode.RequestTimeout or HttpStatusCode.GatewayTimeout + => "Le serveur des langues a mis trop de temps à répondre.", + _ => $"Téléchargement impossible ({nomFichier}) : erreur {(int)statut}." + }; + + /// Supprime un fichier partiel sans jamais faire échouer l'appelant. + private static void SupprimerSilencieusement(string chemin) + { + try + { + if (File.Exists(chemin)) + { + File.Delete(chemin); + } + } + catch (Exception) + { + // Best-effort : un .part résiduel est écrasé au prochain essai. + } + } +} diff --git a/src/Omika.App.Local/Services/LanguagePackStore.cs b/src/Omika.App.Local/Services/LanguagePackStore.cs new file mode 100644 index 0000000..f8eb6ee --- /dev/null +++ b/src/Omika.App.Local/Services/LanguagePackStore.cs @@ -0,0 +1,327 @@ +using System.Security.Cryptography; +using System.Text.Json; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.Core.Contracts.Mobile.Languages; + +namespace Omika.App.Local.Services; + +/// +/// Dépôt local des packs de langue, adossé au système de fichiers de +/// l'application (sandbox Android / dossier Library iOS). +/// +/// +/// Toutes les opérations sont best-effort et sans exception remontée pour +/// la lecture : une arborescence absente, un marqueur corrompu ou un fichier +/// illisible sont traités comme « pas installé ». En revanche l'écriture du +/// marqueur d'installation peut échouer et remonte l'erreur : sans marqueur, le +/// pack ne doit jamais être considéré comme utilisable. +/// +/// +public sealed class LanguagePackStore : ILanguagePackStore +{ + /// Taille du tampon de calcul d'empreinte (1 Mio). + private const int TailleTampon = 1024 * 1024; + + private static readonly JsonSerializerOptions Options = new() + { + PropertyNameCaseInsensitive = true, + WriteIndented = true + }; + + private readonly string _racine; + + /// + /// Crée le dépôt. + /// + /// + /// Racine des packs sur le disque. (cas normal) : + /// <données application>/Omika/langues. Une racine explicite est + /// acceptée pour les tests : un test ne doit jamais écrire dans le vrai + /// dossier de données de l'application. + /// + public LanguagePackStore(string? racine = null) + => _racine = string.IsNullOrWhiteSpace(racine) ? LanguagePaths.Racine : racine; + + /// + public string Racine => _racine; + + /// + public async Task GetIndexAsync( + CancellationToken cancellationToken = default) + { + string chemin = LanguagePaths.IndexDans(_racine); + if (!File.Exists(chemin)) + { + return null; + } + + try + { + string json = await File.ReadAllTextAsync(chemin, cancellationToken); + LanguageManifestResponse? manifeste = + JsonSerializer.Deserialize(json, Options); + + return manifeste?.Packs is { Count: > 0 } ? manifeste : null; + } + catch (JsonException) + { + // Manifeste mémorisé corrompu : traité comme absent (l'écran + // Paramètres repartira d'un appel réseau). + return null; + } + catch (Exception) + { + return null; + } + } + + /// + public async Task EnregistrerIndexAsync( + LanguageManifestResponse manifeste, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(manifeste); + + Directory.CreateDirectory(_racine); + string json = JsonSerializer.Serialize(manifeste, Options); + await File.WriteAllTextAsync(LanguagePaths.IndexDans(_racine), json, cancellationToken); + } + + /// + public async Task GetPackInstalleAsync( + string code, + CancellationToken cancellationToken = default) + { + if (!LanguagePaths.EstCodeValide(code)) + { + return null; + } + + string chemin = LanguagePaths.PackInstalleDans(_racine, code); + if (!File.Exists(chemin)) + { + return null; + } + + PackLangueInstalle? pack; + try + { + string json = await File.ReadAllTextAsync(chemin, cancellationToken); + pack = JsonSerializer.Deserialize(json, Options); + } + catch (JsonException) + { + return null; + } + catch (Exception) + { + return null; + } + + if (pack is null || pack.Fichiers.Count == 0) + { + return null; + } + + // Contrôle rapide de présence + taille : détecte un fichier effacé par + // le système (nettoyage de stockage) sans recalculer les empreintes. + foreach (FichierModeleInstalle fichier in pack.Fichiers) + { + if (!FichierPresent(code, fichier)) + { + return null; + } + } + + return pack; + } + + /// + public async Task> ListerPacksInstallesAsync( + CancellationToken cancellationToken = default) + { + var packs = new List(); + string racine = _racine; + + if (!Directory.Exists(racine)) + { + return packs; + } + + string[] dossiers; + try + { + dossiers = Directory.GetDirectories(racine); + } + catch (Exception) + { + return packs; + } + + foreach (string dossier in dossiers) + { + string code = Path.GetFileName(dossier); + if (!LanguagePaths.EstCodeValide(code)) + { + continue; + } + + PackLangueInstalle? pack = await GetPackInstalleAsync(code, cancellationToken); + if (pack is not null) + { + packs.Add(pack); + } + } + + return packs; + } + + /// + public async Task EnregistrerPackAsync( + PackLangueInstalle pack, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(pack); + + if (!LanguagePaths.EstCodeValide(pack.Code)) + { + throw new ArgumentException($"Code de langue invalide : « {pack.Code} ».", nameof(pack)); + } + + Directory.CreateDirectory(LanguagePaths.DossierLangueDans(_racine, pack.Code)); + string json = JsonSerializer.Serialize(pack, Options); + + // Écriture par fichier temporaire puis renommage : un arrêt brutal ne + // laisse jamais un pack.json tronqué (donc jamais un faux « installé »). + string chemin = LanguagePaths.PackInstalleDans(_racine, pack.Code); + string temporaire = chemin + ".ecriture"; + await File.WriteAllTextAsync(temporaire, json, cancellationToken); + File.Move(temporaire, chemin, overwrite: true); + } + + /// + public Task SupprimerPackAsync(string code, CancellationToken cancellationToken = default) + { + if (!LanguagePaths.EstCodeValide(code)) + { + return Task.CompletedTask; + } + + string dossier = LanguagePaths.DossierLangueDans(_racine, code); + try + { + if (Directory.Exists(dossier)) + { + Directory.Delete(dossier, recursive: true); + } + } + catch (Exception) + { + // Best-effort : un fichier verrouillé (inférence en cours) empêche la + // suppression ; l'écran Paramètres signalera simplement que la langue + // est toujours installée. + } + + return Task.CompletedTask; + } + + /// + public bool FichierPresent(string code, FichierModeleInstalle fichier) + { + ArgumentNullException.ThrowIfNull(fichier); + + try + { + string chemin = LanguagePaths.FichierModeleDans(_racine, code, fichier.Sens, fichier.NomFichier); + var info = new FileInfo(chemin); + + if (!info.Exists) + { + return false; + } + + // Taille annoncée à 0 (manifeste incomplet) : la présence suffit. + return fichier.TailleOctets <= 0 || info.Length == fichier.TailleOctets; + } + catch (Exception) + { + return false; + } + } + + /// + public async Task VerifierFichierAsync( + string code, + FichierModeleInstalle fichier, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(fichier); + + if (string.IsNullOrWhiteSpace(fichier.Sha256)) + { + // Sans empreinte annoncée, l'intégrité ne peut pas être prouvée : + // le fichier est refusé plutôt que d'être installé à l'aveugle. + return false; + } + + string chemin = LanguagePaths.FichierModeleDans(_racine, code, fichier.Sens, fichier.NomFichier); + string? empreinte = await CalculerSha256Async(chemin, cancellationToken); + + return empreinte is not null + && string.Equals(empreinte, fichier.Sha256.Trim(), StringComparison.OrdinalIgnoreCase); + } + + /// + public string CheminFichier(string code, string sens, string nomFichier) + => LanguagePaths.FichierModeleDans(_racine, code, sens, nomFichier); + + /// + public string PreparerFichierPartiel(string code, string sens, string nomFichier) + { + string dossier = LanguagePaths.DossierSensDans(_racine, code, sens); + Directory.CreateDirectory(dossier); + + // Le fichier partiel vit DANS le dossier de destination : le renommage + // final est alors un déplacement sur le même volume (atomique), jamais + // une copie qui pourrait être interrompue. + return LanguagePaths.FichierModeleDans(_racine, code, sens, nomFichier) + LanguagePaths.ExtensionPartielle; + } + + /// + /// Calcule l'empreinte SHA-256 d'un fichier en hexadécimal minuscule. + /// Retourne si le fichier est absent ou illisible. + /// + public static async Task CalculerSha256Async( + string chemin, + CancellationToken cancellationToken = default) + { + try + { + await using var flux = new FileStream( + chemin, FileMode.Open, FileAccess.Read, FileShare.Read, + TailleTampon, useAsync: true); + + using var sha = SHA256.Create(); + byte[] tampon = new byte[TailleTampon]; + int lus; + + while ((lus = await flux.ReadAsync(tampon, cancellationToken)) > 0) + { + sha.TransformBlock(tampon, 0, lus, null, 0); + } + + sha.TransformFinalBlock([], 0, 0); + return Convert.ToHexString(sha.Hash!).ToLowerInvariant(); + } + catch (OperationCanceledException) + { + throw; + } + catch (Exception) + { + return null; + } + } +} diff --git a/src/Omika.App.Local/Services/LangueSecondairePreferenceService.cs b/src/Omika.App.Local/Services/LangueSecondairePreferenceService.cs new file mode 100644 index 0000000..4502c5b --- /dev/null +++ b/src/Omika.App.Local/Services/LangueSecondairePreferenceService.cs @@ -0,0 +1,91 @@ +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; + +namespace Omika.App.Local.Services; + +/// +/// Implémentation de adossée au +/// stockage local par utilisateur (table technique +/// PreferencesUtilisateur). +/// +/// +/// L'identité de l'utilisateur est lue dans le bootstrap local (SQLite), donc +/// disponible hors connexion : choisir ou consulter sa langue secondaire ne +/// dépend jamais d'un appel serveur en temps réel. +/// +/// +/// +/// Repli : lorsqu'aucune préférence n'a été enregistrée, la préférence +/// par défaut (« aucune langue secondaire ») est retournée. La lecture ne +/// modifie jamais la base : ouvrir l'écran Paramètres ne crée aucune ligne. +/// +/// +public sealed class LangueSecondairePreferenceService : ILangueSecondairePreferenceService +{ + /// + /// Clé de stockage utilisée lorsqu'aucune identité n'est disponible + /// localement (bootstrap absent). Identique à celle du service de pause + /// déjeuner : le même utilisateur « appareil » porte les deux préférences. + /// + public const string CleSansUtilisateur = PauseDejeunerPreferenceService.CleSansUtilisateur; + + private readonly IPreferencesUtilisateurRepository _repository; + private readonly IMobileSessionService _sessionService; + + public LangueSecondairePreferenceService( + IPreferencesUtilisateurRepository repository, + IMobileSessionService sessionService) + { + ArgumentNullException.ThrowIfNull(repository); + ArgumentNullException.ThrowIfNull(sessionService); + _repository = repository; + _sessionService = sessionService; + } + + /// + public async Task GetAsync(CancellationToken cancellationToken = default) + { + string utilisateurId = await ResoudreUtilisateurIdAsync(cancellationToken); + LangueSecondairePreference? enregistree = + await _repository.GetLangueSecondaireAsync(utilisateurId, cancellationToken); + + return enregistree ?? LangueSecondairePreference.ParDefaut; + } + + /// + public async Task SaveAsync( + string code, + string libelle, + CancellationToken cancellationToken = default) + { + if (string.IsNullOrWhiteSpace(code)) + { + throw new ArgumentException( + "Le code de langue est requis (utiliser EffacerAsync pour retirer la langue secondaire).", + nameof(code)); + } + + string utilisateurId = await ResoudreUtilisateurIdAsync(cancellationToken); + await _repository.SaveLangueSecondaireAsync( + utilisateurId, code.Trim().ToLowerInvariant(), libelle?.Trim(), cancellationToken); + } + + /// + public async Task EffacerAsync(CancellationToken cancellationToken = default) + { + string utilisateurId = await ResoudreUtilisateurIdAsync(cancellationToken); + await _repository.SaveLangueSecondaireAsync(utilisateurId, null, null, cancellationToken); + } + + /// + /// Résout l'identité de stockage : l'identifiant public de l'utilisateur + /// connecté, ou la clé de repli si le bootstrap n'est pas disponible. + /// + private async Task ResoudreUtilisateurIdAsync(CancellationToken cancellationToken) + { + LocalBootstrapState? bootstrap = await _sessionService.GetBootstrapAsync(cancellationToken); + string? id = bootstrap?.Utilisateur?.Id; + + return string.IsNullOrWhiteSpace(id) ? CleSansUtilisateur : id; + } +} diff --git a/src/Omika.App.Local/Services/LicenseEnrollmentClient.cs b/src/Omika.App.Local/Services/LicenseEnrollmentClient.cs new file mode 100644 index 0000000..810c9c6 --- /dev/null +++ b/src/Omika.App.Local/Services/LicenseEnrollmentClient.cs @@ -0,0 +1,82 @@ +using System.Net.Http; +using System.Net.Http.Json; +using System.Text.Json; +using Omika.App.Local.Abstractions; +using Omika.Core.Contracts.Mobile.License; +using Omika.Core.Networking; + +namespace Omika.App.Local.Services; + +/// +/// Client HTTP dédié à l'inscription/activation initiale de licence. +/// L'URL du service de licence provient du QR et est validée strictement avant +/// chaque appel (HTTPS, non loopback). Aucune URL par défaut, aucun fallback. +/// +public sealed class LicenseEnrollmentClient : ILicenseEnrollmentClient +{ + private readonly HttpClient _http; + private readonly JsonSerializerOptions _jsonOptions; + + public LicenseEnrollmentClient(HttpClient http) + { + _http = http ?? throw new ArgumentNullException(nameof(http)); + _jsonOptions = new JsonSerializerOptions(JsonSerializerDefaults.Web); + } + + /// + public async Task ActivateAsync( + string licenseServiceUrl, + LicenseActivateRequest request, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(request); + string baseUrl = RequireValidEndpoint(licenseServiceUrl); + + HttpResponseMessage response = await _http.PostAsJsonAsync( + $"{baseUrl}/api/license/activate", request, _jsonOptions, cancellationToken); + return await ReadSessionAsync(response, cancellationToken); + } + + /// + public async Task ValidateAsync( + string licenseServiceUrl, + LicenseValidateRequest request, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(request); + string baseUrl = RequireValidEndpoint(licenseServiceUrl); + + HttpResponseMessage response = await _http.PostAsJsonAsync( + $"{baseUrl}/api/license/validate", request, _jsonOptions, cancellationToken); + return await ReadSessionAsync(response, cancellationToken); + } + + private static string RequireValidEndpoint(string? url) + { + if (!EndpointValidator.TryValidateHttpsEndpoint(url, out Uri? uri)) + { + throw new InvalidOperationException( + "URL du service de licence invalide : une URL HTTPS non locale est requise."); + } + + return uri!.ToString().TrimEnd('/'); + } + + /// + /// Lit une réponse de session licence (activate/validate). Le serveur + /// retourne 200 si valide, 400 si invalide ; dans les deux cas le corps est + /// un . + /// + private async Task ReadSessionAsync( + HttpResponseMessage response, + CancellationToken cancellationToken) + { + if (response.IsSuccessStatusCode || response.StatusCode == System.Net.HttpStatusCode.BadRequest) + { + return (await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken))!; + } + + response.EnsureSuccessStatusCode(); + return new MobileLicenseSessionResponse(); + } +} diff --git a/src/Omika.App.Local/Services/LocalDataMaintenanceService.cs b/src/Omika.App.Local/Services/LocalDataMaintenanceService.cs new file mode 100644 index 0000000..d1ef9b4 --- /dev/null +++ b/src/Omika.App.Local/Services/LocalDataMaintenanceService.cs @@ -0,0 +1,177 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading; +using System.Threading.Tasks; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Sqlite; + +namespace Omika.App.Local.Services; + +/// +/// Implémentation de la maintenance des données locales (purge cache document, +/// suppression des données métier, réinitialisation complète). +/// +public sealed class LocalDataMaintenanceService : ILocalDataMaintenanceService +{ + private readonly LocalDatabase _database; + private readonly string _filesDirectory; + private readonly ISecureTokenStore _tokenStore; + + /// + /// Tables conservées par : la connexion + /// (LocalBootstrap), les réglages d'appareil (UiPreferences) et + /// les préférences locales par utilisateur (PreferencesUtilisateur). + /// Une préférence n'est pas une donnée métier : elle survit à une purge de + /// données, mais pas à une réinitialisation complète + /// (), qui vide toutes les tables. + /// + private static readonly HashSet PreservedTables = new(StringComparer.OrdinalIgnoreCase) + { + "LocalBootstrap", + "MobileEnrollment", + "UiPreferences", + "PreferencesUtilisateur" + }; + + public LocalDataMaintenanceService( + LocalDatabase database, + string filesDirectory, + ISecureTokenStore tokenStore) + { + ArgumentNullException.ThrowIfNull(database); + ArgumentNullException.ThrowIfNull(tokenStore); + _database = database; + _filesDirectory = filesDirectory; + _tokenStore = tokenStore; + } + + /// + public async Task ClearDocumentCacheAsync(CancellationToken cancellationToken = default) + { + // 1. Chemins des fichiers téléchargés (référencés par DocumentCache). + var paths = new List(); + await using (var command = _database.CreateCommand()) + { + command.CommandText = "SELECT \"LocalPath\" FROM \"DocumentCache\""; + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + string? path = reader.IsDBNull(0) ? null : reader.GetString(0); + if (!string.IsNullOrWhiteSpace(path)) + { + paths.Add(path); + } + } + } + + // 2. Suppression physique des fichiers (best-effort, jamais bloquant). + int deleted = 0; + foreach (string path in paths) + { + try + { + if (File.Exists(path)) + { + File.Delete(path); + deleted++; + } + } + catch (IOException) + { + // Fichier verrouillé/absent : ignoré, la ligne SQLite sera purgée. + } + catch (UnauthorizedAccessException) + { + // Idem : aucun blocage de la purge des métadonnées. + } + } + + // 3. Purge des métadonnées du cache (les métadonnées DocumentMetadata + // restent : le document est re-téléchargeable depuis la fiche). + await _database.ExecuteNonQueryAsync("DELETE FROM \"DocumentCache\"", cancellationToken); + + return deleted; + } + + /// + public async Task ClearAllDataAsync(CancellationToken cancellationToken = default) + { + IReadOnlyList tables = await GetUserTablesAsync(cancellationToken); + foreach (string table in tables) + { + if (PreservedTables.Contains(table)) + { + continue; + } + + await _database.ExecuteNonQueryAsync($"DELETE FROM \"{table}\"", cancellationToken); + } + } + + /// + public async Task ResetAsync(CancellationToken cancellationToken = default) + { + // 1. Toutes les tables SQLite (sans exception). + IReadOnlyList tables = await GetUserTablesAsync(cancellationToken); + foreach (string table in tables) + { + await _database.ExecuteNonQueryAsync($"DELETE FROM \"{table}\"", cancellationToken); + } + + // 2. Fichiers documents en cache. + DeleteAllFiles(); + + // 3. Token de session (le login de connexion est effacé). + await _tokenStore.ClearAsync(cancellationToken); + } + + /// + /// Retourne les noms des tables utilisateur SQLite (hors tables internes + /// sqlite_*). + /// + private async Task> GetUserTablesAsync(CancellationToken cancellationToken) + { + var tables = new List(); + await using var command = _database.CreateCommand(); + command.CommandText = "SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%'"; + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + string? name = reader.IsDBNull(0) ? null : reader.GetString(0); + if (!string.IsNullOrWhiteSpace(name)) + { + tables.Add(name); + } + } + + return tables; + } + + /// + /// Supprime tous les fichiers du répertoire document local (best-effort). + /// + private void DeleteAllFiles() + { + if (string.IsNullOrWhiteSpace(_filesDirectory) || !Directory.Exists(_filesDirectory)) + { + return; + } + + foreach (string file in Directory.EnumerateFiles(_filesDirectory)) + { + try + { + File.Delete(file); + } + catch (IOException) + { + // Fichier verrouillé : ignoré. + } + catch (UnauthorizedAccessException) + { + // Idem. + } + } + } +} diff --git a/src/Omika.App.Local/Services/MobileApiClient.cs b/src/Omika.App.Local/Services/MobileApiClient.cs new file mode 100644 index 0000000..eca9e36 --- /dev/null +++ b/src/Omika.App.Local/Services/MobileApiClient.cs @@ -0,0 +1,1203 @@ +using System; +using System.Net.Http; +using System.Net.Http.Headers; +using System.Net.Http.Json; +using System.Text.Json; +using System.Threading; +using System.Threading.Tasks; +using Omika.App.Local.Abstractions; +using Omika.Core.Contracts.Clients; +using Omika.Core.Contracts.Common; +using Omika.Core.Contracts.Documents; +using Omika.Core.Contracts.Interventions; +using Omika.Core.Contracts.Mobile.Aide; +using Omika.Core.Contracts.Mobile.Bootstrap; +using Omika.Core.Contracts.Mobile.Documents; +using Omika.Core.Contracts.Mobile.Interventions; +using Omika.Core.Contracts.Mobile.License; +using Omika.Core.Contracts.Mobile.Snapshot; +using Omika.Core.Contracts.Mobile.Sync; +using Omika.Core.Contracts.Organisation; +using Omika.Core.Contracts.Planning; +using Omika.Core.Contracts.Sites; +using Omika.Core.Observability.Diagnostic; + +namespace Omika.App.Local.Services; + +/// +/// Client HTTP typé vers l'API mobile Omika. +/// Réutilise les contrats backend existants (Omika.Core.Contracts.Mobile). +/// L'URL de base provient exclusivement de l'inscription (QR → licence → API) : +/// aucune valeur par défaut, aucun localhost, aucun fallback. Le Bearer token +/// de session est ajouté aux requêtes authentifiées. +/// +public sealed class MobileApiClient : IMobileApiClient +{ + /// + /// Délai maximal d'une requête vers l'API Omika. + /// + /// Le défaut de est de 100 secondes : sur un réseau mobile + /// dégradé, l'utilisateur attendrait plus d'une minute un échec de toute façon + /// inévitable, en laissant l'indicateur de chargement affiché. Un délai court + /// transforme cette attente en état « hors ligne » rapide, l'application étant + /// offline-first (les données locales restent consultables). + /// + public static readonly TimeSpan DefaultTimeout = TimeSpan.FromSeconds(15); + + /// + /// Construit le client HTTP de l'API métier, délai borné (voir + /// ), quel que soit le handler de corrélation fourni. + /// Point d'entrée unique : aucun appel métier ne doit hériter des 100 s par défaut. + /// + public static HttpClient CreateHttpClient(HttpMessageHandler handler) + { + ArgumentNullException.ThrowIfNull(handler); + return new HttpClient(handler) { Timeout = DefaultTimeout }; + } + + private readonly HttpClient _http; + private readonly JsonSerializerOptions _jsonOptions; + + /// + /// URL de base de l'API mobile Omika. + /// Aucune valeur par défaut : elle est tant que + /// l'appareil n'est pas inscrit, puis fixée depuis la configuration + /// d'inscription. Aucune URL n'est codée en dur et aucun fallback n'existe. + /// + public string? BaseUrl { get; set; } + + /// + public string? AccessToken { get; set; } + + public MobileApiClient() + : this(new HttpClient()) + { + } + + /// + /// Crée un client avec un injectable (tests). + /// L'URL de base doit être affectée explicitement avant tout appel métier. + /// + public MobileApiClient(HttpClient http) + { + ArgumentNullException.ThrowIfNull(http); + _http = http; + _jsonOptions = new JsonSerializerOptions(JsonSerializerDefaults.Web); + } + + /// + /// Échoue proprement si aucune URL d'API Omika n'est encore configurée. + /// Aucun appel métier ne peut partir sans URL : pas de localhost, pas de + /// fallback. + /// + /// L'échec est levé AVANT toute construction de requête : aucun octet ne part, + /// aucune latence réseau n'est consommée. Le type dédié + /// permet aux appelants de + /// classer cet état (Warning/P2, jamais un incident) et de l'annoncer à + /// l'utilisateur comme une action à faire (« rescannez le QR »). + /// + private string RequireBaseUrl() + { + if (string.IsNullOrWhiteSpace(BaseUrl)) + { + throw new MobileEnrollmentRequiredException(); + } + + return BaseUrl.TrimEnd('/'); + } + + + /// + public async Task ActivateAsync( + LicenseActivateRequest request, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(request); + string baseUrl = RequireBaseUrl(); + using var httpRequest = new HttpRequestMessage(HttpMethod.Post, $"{baseUrl}/api/license/activate"); + httpRequest.Content = JsonContent.Create(request, options: _jsonOptions); + // Ne jamais passer par le handler de refresh (anti-récursion). + httpRequest.Options.Set(SessionRefreshHandler.SkipAuthRefresh, true); + HttpResponseMessage response = await _http.SendAsync(httpRequest, cancellationToken); + return await ReadSessionAsync(response, cancellationToken); + } + + /// + public async Task ValidateAsync( + LicenseValidateRequest request, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(request); + string baseUrl = RequireBaseUrl(); + using var httpRequest = new HttpRequestMessage(HttpMethod.Post, $"{baseUrl}/api/license/validate"); + httpRequest.Content = JsonContent.Create(request, options: _jsonOptions); + // Ne jamais passer par le handler de refresh (anti-récursion). + httpRequest.Options.Set(SessionRefreshHandler.SkipAuthRefresh, true); + HttpResponseMessage response = await _http.SendAsync(httpRequest, cancellationToken); + return await ReadSessionAsync(response, cancellationToken); + } + + /// + public async Task GetDevelopmentSessionAsync( + string deviceId, + CancellationToken cancellationToken = default) + { + // Transmet l'identifiant d'appareil réel : le serveur l'utilise pour signer + // le token. Le DeviceId des opérations de synchronisation (SyncEngine) doit + // alors correspondre à celui du token. + string url = $"{RequireBaseUrl()}/api/dev/session?deviceId={Uri.EscapeDataString(deviceId)}"; + using var httpRequest = new HttpRequestMessage(HttpMethod.Post, url); + // Ne jamais passer par le handler de refresh (anti-récursion). + httpRequest.Options.Set(SessionRefreshHandler.SkipAuthRefresh, true); + HttpResponseMessage response = await _http.SendAsync(httpRequest, cancellationToken); + return await ReadSessionAsync(response, cancellationToken); + } + + + /// + public async Task GetBootstrapAsync(CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/api/mobile/bootstrap"); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken))!; + } + + /// + public async Task GetAideAsync(CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/api/mobile/aide"); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken))!; + } + + /// + public async Task SendOperationAsync( + SyncOperation operation, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Post, $"{BaseUrl}/api/sync/operations"); + request.Content = JsonContent.Create(operation, options: _jsonOptions); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken))!; + } + + /// + public async Task GetStatusAsync( + Guid operationId, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/api/sync/status/{operationId}"); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + + // Le serveur répond 404 (avec un corps SyncStatusResponse) quand le statut + // n'est plus disponible : opération purgée ou inconnue. Ce n'est PAS une + // erreur HTTP à remonter : on désérialise le corps et on laisse le moteur + // traiter l'état StatusNotAvailable (anomalie), sans message anglais. + if (response.StatusCode == System.Net.HttpStatusCode.NotFound) + { + SyncStatusResponse? notAvailable = + await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken); + if (notAvailable is not null) + { + return notAvailable; + } + + return new SyncStatusResponse + { + OperationId = operationId, + Status = SyncStatus.StatusNotAvailable + }; + } + + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken))!; + } + + /// + public async Task GetSnapshotAsync(CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/api/sync/snapshot"); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken))!; + } + + /// + public async Task> SearchInterventionsAsync( + MobileInterventionSearchRequest request, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(request); + using var httpRequest = CreateAuthenticatedRequest(HttpMethod.Post, $"{BaseUrl}/api/interventions/search"); + httpRequest.Content = JsonContent.Create(request, options: _jsonOptions); + HttpResponseMessage response = await _http.SendAsync(httpRequest, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task> GetInterventionsByIdsAsync( + MobileInterventionsByIdsRequest request, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(request); + using var httpRequest = CreateAuthenticatedRequest(HttpMethod.Post, $"{BaseUrl}/api/interventions/by-ids"); + httpRequest.Content = JsonContent.Create(request, options: _jsonOptions); + HttpResponseMessage response = await _http.SendAsync(httpRequest, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task> SearchDossiersAsync( + SearchDossiersRequest request, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(request); + + var query = new List + { + $"page={request.Page}", + $"pageSize={request.PageSize}", + "estArchive=false" + }; + AppendQuery(query, "titre", request.Titre); + AppendQuery(query, "referenceMetier", request.ReferenceMetier); + AppendQuery(query, "refInterne", request.RefInterne); + AppendQuery(query, "refExterne", request.RefExterne); + AppendQuery(query, "clientSearch", request.ClientSearch); + AppendQuery(query, "clientId", request.ClientId); + AppendQuery(query, "type", request.Type); + AppendQuery(query, "statut", request.Statut); + + string url = $"{BaseUrl}/api/dossiers?{string.Join("&", query)}"; + using var httpRequest = CreateAuthenticatedRequest(HttpMethod.Get, url); + HttpResponseMessage response = await _http.SendAsync(httpRequest, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task> SearchClientsAsync( + SearchClientsRequest request, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(request); + + var query = new List + { + $"page={request.Page}", + $"pageSize={request.PageSize}" + }; + AppendQuery(query, "search", request.Search); + AppendQuery(query, "nom", request.Nom); + AppendQuery(query, "code", request.Code); + AppendQuery(query, "ville", request.Ville); + AppendQuery(query, "codePostal", request.CodePostal); + AppendQuery(query, "telephone", request.Telephone); + AppendQuery(query, "email", request.Email); + AppendQuery(query, "type", request.Type); + AppendQuery(query, "statut", request.Statut); + + string url = $"{BaseUrl}/api/clients?{string.Join("&", query)}"; + using var httpRequest = CreateAuthenticatedRequest(HttpMethod.Get, url); + HttpResponseMessage response = await _http.SendAsync(httpRequest, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task> SearchCollaborateursAsync( + SearchCollaborateurRequest request, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(request); + + var query = new List + { + $"page={request.Page}", + $"pageSize={request.PageSize}" + }; + AppendQuery(query, "search", request.Search); + + string url = $"{BaseUrl}/collaborateurs?{string.Join("&", query)}"; + using var httpRequest = CreateAuthenticatedRequest(HttpMethod.Get, url); + HttpResponseMessage response = await _http.SendAsync(httpRequest, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task> GetEquipesAsync( + CancellationToken cancellationToken = default) + { + using var httpRequest = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/equipes"); + HttpResponseMessage response = await _http.SendAsync(httpRequest, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task> GetAllEquipesAsync( + CancellationToken cancellationToken = default) + { + using var httpRequest = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/equipes/all"); + HttpResponseMessage response = await _http.SendAsync(httpRequest, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task GetCollaborateurByIdAsync( + Guid collaborateurGuid, + CancellationToken cancellationToken = default) + { + using var httpRequest = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/collaborateurs/{collaborateurGuid}"); + HttpResponseMessage response = await _http.SendAsync(httpRequest, cancellationToken); + if (response.StatusCode == System.Net.HttpStatusCode.NotFound) + { + return null; + } + response.EnsureSuccessStatusCode(); + return await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken); + } + + /// + public async Task GetCollaborateurLicenceAsync( + Guid collaborateurGuid, + CancellationToken cancellationToken = default) + { + using var httpRequest = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/collaborateurs/{collaborateurGuid}/licence-mobile"); + HttpResponseMessage response = await _http.SendAsync(httpRequest, cancellationToken); + if (response.StatusCode == System.Net.HttpStatusCode.NotFound) + { + return null; + } + response.EnsureSuccessStatusCode(); + return await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken); + } + + /// + public async Task AssignMobileLicenceAsync( + Guid collaborateurGuid, + CancellationToken cancellationToken = default) + { + using var httpRequest = CreateAuthenticatedRequest(HttpMethod.Post, $"{BaseUrl}/collaborateurs/{collaborateurGuid}/licence-mobile/assign"); + HttpResponseMessage response = await _http.SendAsync(httpRequest, cancellationToken); + if (response.StatusCode == System.Net.HttpStatusCode.NotFound) + { + return null; + } + if (!response.IsSuccessStatusCode) + { + string body = await response.Content.ReadAsStringAsync(cancellationToken); + string message = string.IsNullOrWhiteSpace(body) + ? $"Erreur {response.StatusCode} lors de l'attribution." + : body.Trim('"'); + throw new InvalidOperationException(message); + } + return await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken); + } + + /// + public async Task ReleaseMobileLicenceAsync( + Guid collaborateurGuid, + CancellationToken cancellationToken = default) + { + using var httpRequest = CreateAuthenticatedRequest(HttpMethod.Post, $"{BaseUrl}/collaborateurs/{collaborateurGuid}/licence-mobile/release"); + HttpResponseMessage response = await _http.SendAsync(httpRequest, cancellationToken); + if (response.StatusCode == System.Net.HttpStatusCode.NotFound) + { + return false; + } + response.EnsureSuccessStatusCode(); + return true; + } + + /// + public async Task> SearchSitesAsync( + SearchSitesRequest request, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(request); + + var query = new List + { + $"page={request.Page}", + $"pageSize={request.PageSize}" + }; + AppendQuery(query, "nom", request.Nom); + AppendQuery(query, "code", request.Code); + AppendQuery(query, "ville", request.Ville); + AppendQuery(query, "codePostal", request.CodePostal); + AppendQuery(query, "type", request.Type); + AppendQuery(query, "telephone", request.Telephone); + AppendQuery(query, "email", request.Email); + + string url = $"{BaseUrl}/api/sites?{string.Join("&", query)}"; + using var httpRequest = CreateAuthenticatedRequest(HttpMethod.Get, url); + HttpResponseMessage response = await _http.SendAsync(httpRequest, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task GetSiteByIdAsync( + Guid siteGuid, + CancellationToken cancellationToken = default) + { + using var httpRequest = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/sites/{siteGuid}"); + HttpResponseMessage response = await _http.SendAsync(httpRequest, cancellationToken); + if (response.StatusCode == System.Net.HttpStatusCode.NotFound) + { + return null; + } + response.EnsureSuccessStatusCode(); + return await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken); + } + + /// + public async Task> GetContactsBySiteAsync( + Guid siteGuid, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/api/sites/{siteGuid}/contacts"); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task GetContactByIdAsync( + Guid contactGuid, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/contacts/{contactGuid}"); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + if (response.StatusCode == System.Net.HttpStatusCode.NotFound) + { + return null; + } + response.EnsureSuccessStatusCode(); + return await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken); + } + + /// + public async Task> GetClientsBySiteAsync( + Guid siteGuid, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/api/sites/{siteGuid}/clients"); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task> GetRendezVousBySiteAsync( + Guid siteGuid, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/api/sites/{siteGuid}/rendez-vous"); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task> GetRendezVousByCollaborateurAsync( + Guid collaborateurGuid, + DateTime debutMin, + DateTime debutMax, + CancellationToken cancellationToken = default) + { + string url = $"{BaseUrl}/api/collaborateurs/{collaborateurGuid}/rendez-vous" + + $"?debutMin={Uri.EscapeDataString(debutMin.ToString("O"))}" + + $"&debutMax={Uri.EscapeDataString(debutMax.ToString("O"))}"; + using var request = CreateAuthenticatedRequest(HttpMethod.Get, url); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task> GetRendezVousByCollaborateursAsync( + IReadOnlyList collaborateurGuids, + DateTime debutMin, + DateTime debutMax, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Post, $"{BaseUrl}/api/collaborateurs/rendez-vous"); + request.Content = JsonContent.Create( + new RendezVousByCollaborateursRequest + { + CollaborateurIds = collaborateurGuids.Select(g => g.ToString("D")).ToList(), + DebutMin = debutMin, + DebutMax = debutMax + }, + options: _jsonOptions); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task GetRendezVousByIdAsync( + Guid rendezVousGuid, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/rendez-vous/{rendezVousGuid}"); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + if (response.StatusCode == System.Net.HttpStatusCode.NotFound) + { + return null; + } + response.EnsureSuccessStatusCode(); + return await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken); + } + + /// + public async Task> GetSuivisTempsAsync( + SuiviTempsSearchCriteria criteria, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(criteria); + + var query = new List + { + $"page={criteria.Page}", + $"pageSize={criteria.PageSize}" + }; + if (criteria.DateDebutMin is { } min) + { + query.Add($"dateDebutMin={Uri.EscapeDataString(min.ToString("O"))}"); + } + if (criteria.DateDebutMax is { } max) + { + query.Add($"dateDebutMax={Uri.EscapeDataString(max.ToString("O"))}"); + } + if (criteria.RendezVousId is { } rendezVousId) + { + query.Add($"rendezVousId={rendezVousId}"); + } + + string url = $"{BaseUrl}/api/suivis-temps?{string.Join("&", query)}"; + using var httpRequest = CreateAuthenticatedRequest(HttpMethod.Get, url); + HttpResponseMessage response = await _http.SendAsync(httpRequest, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task GetDossierByIdAsync( + Guid dossierGuid, + CancellationToken cancellationToken = default) + { + using var httpRequest = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/dossiers/{dossierGuid}"); + HttpResponseMessage response = await _http.SendAsync(httpRequest, cancellationToken); + if (response.StatusCode == System.Net.HttpStatusCode.NotFound) + { + return null; + } + response.EnsureSuccessStatusCode(); + return await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken); + } + + /// + public async Task GetInterventionByIdAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) + { + string baseUrl = BaseUrl ?? ""; + string uri = $"{BaseUrl}/interventions/{interventionGuid}"; + + // Journalisation TEMPORAIRE [INTERVENTION-HTTP] (observation uniquement). + // Jamais de secret : ni token, ni Authorization, ni corps de requête/réponse. + Console.WriteLine("[INTERVENTION-HTTP] REQUEST"); + Console.WriteLine($" baseUrl={baseUrl}"); + Console.WriteLine($" uri={uri}"); + Console.WriteLine(" method=GET"); + + HttpResponseMessage? response = null; + string traceId = ""; + string result = "API_NOT_CALLED"; + try + { + using HttpRequestMessage httpRequest = CreateAuthenticatedRequest(HttpMethod.Get, uri); + // À partir d'ici la requête est construite : tout échec est une exception + // d'appel/transport (jamais un « non appelé »). + result = "API_EXCEPTION"; + response = await _http.SendAsync(httpRequest, cancellationToken); + traceId = GetTraceId(httpRequest, response); + + Console.WriteLine("[INTERVENTION-HTTP] RESPONSE"); + Console.WriteLine($" status={(int)response.StatusCode}"); + Console.WriteLine($" contentType={response.Content.Headers.ContentType?.ToString() ?? ""}"); + Console.WriteLine($" contentLength={response.Content.Headers.ContentLength?.ToString() ?? ""}"); + Console.WriteLine($" traceId={traceId}"); + + if (response.StatusCode == System.Net.HttpStatusCode.NotFound) + { + result = "API_HTTP_404"; + Console.WriteLine($"[INTERVENTION-HTTP] RESULT={result}"); + return null; + } + + if (!response.IsSuccessStatusCode) + { + result = "API_HTTP_OTHER"; + Console.WriteLine($"[INTERVENTION-HTTP] RESULT={result}"); + // Préserve le comportement d'origine : exception → repli local côté appelant. + throw new HttpRequestException( + $"Réponse HTTP inattendue : {(int)response.StatusCode} {response.ReasonPhrase}"); + } + + InterventionDetailsDto? dto = + await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken); + + if (dto is null) + { + result = "API_DESERIALIZATION_NULL"; + Console.WriteLine($"[INTERVENTION-HTTP] RESULT={result}"); + return null; + } + + result = "API_HTTP_200"; + Console.WriteLine("[INTERVENTION-HTTP] DESERIALIZE"); + Console.WriteLine(" dtoNull=false"); + Console.WriteLine($" id={dto.Id}"); + Console.WriteLine($" reference={dto.Reference}"); + Console.WriteLine($"[INTERVENTION-HTTP] RESULT={result}"); + return dto; + } + catch (OperationCanceledException) when (cancellationToken.IsCancellationRequested) + { + Console.WriteLine("[INTERVENTION-HTTP] ERROR"); + Console.WriteLine(" exceptionType=OperationCanceledException"); + Console.WriteLine(" message=annulation demandée"); + Console.WriteLine($" status={(response is null ? "" : ((int)response.StatusCode).ToString())}"); + Console.WriteLine($" traceId={traceId}"); + Console.WriteLine($"[INTERVENTION-HTTP] RESULT={result}"); + throw; + } + catch (Exception ex) + { + Console.WriteLine("[INTERVENTION-HTTP] ERROR"); + Console.WriteLine($" exceptionType={ex.GetType().FullName}"); + Console.WriteLine($" message={ex.Message}"); + Console.WriteLine($" status={(response is null ? "" : ((int)response.StatusCode).ToString())}"); + Console.WriteLine($" traceId={traceId}"); + Console.WriteLine($"[INTERVENTION-HTTP] RESULT={result}"); + throw; + } + } + + /// + /// Lit le TraceId effectivement propagé (header de requête posé par le handler + /// de corrélation, sinon header de réponse). Jamais de secret. + /// + private static string GetTraceId(HttpRequestMessage request, HttpResponseMessage response) + { + if (request.Headers.TryGetValues(CorrelationHeaders.TraceId, out var requestValues)) + { + return requestValues.FirstOrDefault() ?? ""; + } + + if (response.Headers.TryGetValues(CorrelationHeaders.TraceId, out var responseValues)) + { + return responseValues.FirstOrDefault() ?? ""; + } + + return ""; + } + + /// + public async Task GetClientByIdAsync( + Guid clientGuid, + CancellationToken cancellationToken = default) + { + using var httpRequest = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/clients/{clientGuid}"); + HttpResponseMessage response = await _http.SendAsync(httpRequest, cancellationToken); + if (response.StatusCode == System.Net.HttpStatusCode.NotFound) + { + return null; + } + response.EnsureSuccessStatusCode(); + return await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken); + } + + private static void AppendQuery(List query, string name, string? value) + { + if (!string.IsNullOrWhiteSpace(value)) + { + query.Add($"{name}={Uri.EscapeDataString(value)}"); + } + } + + /// + public async Task> GetRendezVousByInterventionAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/api/interventions/{interventionGuid}/rendez-vous"); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task> GetNotesByInterventionAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/api/interventions/{interventionGuid}/notes"); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task AddNoteByInterventionAsync( + Guid interventionGuid, + string contenu, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Post, $"{BaseUrl}/api/interventions/{interventionGuid}/notes"); + request.Content = JsonContent.Create(new { contenu }, options: _jsonOptions); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken))!; + } + + /// + public async Task> GetNotesAdministrativesByInterventionAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/api/interventions/{interventionGuid}/notes-administratives"); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task AddNoteAdministrativeByInterventionAsync( + Guid interventionGuid, + string contenu, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Post, $"{BaseUrl}/api/interventions/{interventionGuid}/notes-administratives"); + request.Content = JsonContent.Create(new { contenu }, options: _jsonOptions); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken))!; + } + + /// + public async Task> GetNotesByDocumentAsync( + Guid documentGuid, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/api/documents/{documentGuid}/notes"); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task AddNoteByDocumentAsync( + Guid documentGuid, + string contenu, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Post, $"{BaseUrl}/api/documents/{documentGuid}/notes"); + request.Content = JsonContent.Create(new { contenu }, options: _jsonOptions); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken))!; + } + + /// + public async Task> GetDocumentsByInterventionAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/api/interventions/{interventionGuid}/documents"); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task> GetEmailsByInterventionAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/api/interventions/{interventionGuid}/emails"); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task AddEmailByInterventionAsync( + Guid interventionGuid, + CreateEmailInterventionRequest emailRequest, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Post, $"{BaseUrl}/api/interventions/{interventionGuid}/emails"); + request.Content = JsonContent.Create(emailRequest, options: _jsonOptions); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken))!; + } + + /// + public async Task UpdateEmailByInterventionAsync( + Guid interventionGuid, + string emailId, + CreateEmailInterventionRequest emailRequest, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Put, $"{BaseUrl}/api/interventions/{interventionGuid}/emails/{emailId}"); + request.Content = JsonContent.Create(emailRequest, options: _jsonOptions); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken))!; + } + + /// + public async Task AddEmailEnvoyeExterneAsync( + Guid interventionGuid, + CreateEmailInterventionRequest emailRequest, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest( + HttpMethod.Post, + $"{BaseUrl}/api/interventions/{interventionGuid}/emails/envoye-externe"); + request.Content = JsonContent.Create(emailRequest, options: _jsonOptions); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken))!; + } + + /// + public async Task UpdateEmailEnvoyeExterneAsync( + Guid interventionGuid, + string emailId, + CreateEmailInterventionRequest emailRequest, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest( + HttpMethod.Put, + $"{BaseUrl}/api/interventions/{interventionGuid}/emails/{emailId}/envoye-externe"); + request.Content = JsonContent.Create(emailRequest, options: _jsonOptions); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken))!; + } + + /// + public async Task SendEmailByInterventionAsync( + Guid interventionGuid, + string? emailId, + CreateEmailInterventionRequest emailRequest, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(emailRequest); + + string url = emailId is null + ? $"{BaseUrl}/api/interventions/{interventionGuid}/emails/envoyer" + : $"{BaseUrl}/api/interventions/{interventionGuid}/emails/{emailId}/envoyer"; + using var request = CreateAuthenticatedRequest(HttpMethod.Post, url); + request.Content = JsonContent.Create(emailRequest, options: _jsonOptions); + + // Trace Debug du DTO envoyé (aucun secret : pas de mot de passe SMTP ni token). + System.Diagnostics.Debug.WriteLine( + $"Envoi email — {url} — {JsonSerializer.Serialize(emailRequest, _jsonOptions)}"); + + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + + // Lit le corps AVANT EnsureSuccessStatusCode : une erreur serveur (ex. 500, + // 502, 400) expose un message utilisateur exploitable au lieu du message + // technique « Response status code does not indicate success ». + if (!response.IsSuccessStatusCode) + { + string body = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false); + string message = ExtraireMessageErreur(body); + System.Diagnostics.Debug.WriteLine( + $"Envoi email échoué — {response.StatusCode} — {url} — {body}"); + throw new InvalidOperationException(message); + } + + return (await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken))!; + } + + /// + public async Task> GetSmtpConfigurationsAsync( + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/api/mails/configurations-smtp"); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task> GetModeleMailsAsync( + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/modele-mails"); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task> GetModeleRapportsAsync( + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/modele-rapports"); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task> GetMotClefsAsync( + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/mot-clefs"); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task GenerateEmailAsync( + GenerateDocumentRequest generationRequest, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Post, $"{BaseUrl}/generation/email"); + request.Content = JsonContent.Create(generationRequest, options: _jsonOptions); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + if (response.StatusCode == System.Net.HttpStatusCode.NotFound) + { + return null; + } + response.EnsureSuccessStatusCode(); + return await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken); + } + + /// + public async Task GenerateRapportAsync( + GenerateDocumentRequest generationRequest, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Post, $"{BaseUrl}/generation/rapport"); + request.Content = JsonContent.Create(generationRequest, options: _jsonOptions); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + if (response.StatusCode == System.Net.HttpStatusCode.NotFound) + { + return null; + } + response.EnsureSuccessStatusCode(); + return await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken); + } + + /// + public async Task> GetRapportChampsAsync( + GetRapportChampsRequest champsRequest, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Post, $"{BaseUrl}/api/rapports/champs"); + request.Content = JsonContent.Create(champsRequest, options: _jsonOptions); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task> GetMailChampsAsync( + GetRapportChampsRequest champsRequest, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Post, $"{BaseUrl}/api/mails/champs"); + request.Content = JsonContent.Create(champsRequest, options: _jsonOptions); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync>(_jsonOptions, cancellationToken))!; + } + + /// + public async Task CreateEmailModeleAsync( + CreateEmailModeleRequest emailRequest, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Post, $"{BaseUrl}/api/mails"); + request.Content = JsonContent.Create(emailRequest, options: _jsonOptions); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + if (response.StatusCode == System.Net.HttpStatusCode.NotFound) + { + return null; + } + response.EnsureSuccessStatusCode(); + return await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken); + } + + /// + public async Task GetEmailModeleApercuAsync( + CreateEmailModeleRequest emailRequest, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Post, $"{BaseUrl}/api/mails/apercu"); + request.Content = JsonContent.Create(emailRequest, options: _jsonOptions); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + if (response.StatusCode == System.Net.HttpStatusCode.NotFound) + { + return null; + } + response.EnsureSuccessStatusCode(); + return await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken); + } + + /// + public async Task CreateRapportAsync( + CreateRapportRequest rapportRequest, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Post, $"{BaseUrl}/api/rapports"); + request.Content = JsonContent.Create(rapportRequest, options: _jsonOptions); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + if (response.StatusCode == System.Net.HttpStatusCode.NotFound) + { + return null; + } + response.EnsureSuccessStatusCode(); + return await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken); + } + + /// + public async Task DownloadDocumentAsync( + Guid documentGuid, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/api/documents/{documentGuid}"); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken))!; + } + + /// + public async Task UploadDocumentAsync( + DocumentUploadRequest request, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(request); + using var httpRequest = CreateAuthenticatedRequest(HttpMethod.Post, $"{BaseUrl}/api/documents"); + httpRequest.Content = JsonContent.Create(request, options: _jsonOptions); + HttpResponseMessage response = await _http.SendAsync(httpRequest, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken))!; + } + + /// + public async Task GetCompteRenduByRendezVousAsync( + Guid rendezVousGuid, + CancellationToken cancellationToken = default) + { + using var request = CreateAuthenticatedRequest(HttpMethod.Get, $"{BaseUrl}/rendez-vous/{rendezVousGuid}/compte-rendu"); + HttpResponseMessage response = await _http.SendAsync(request, cancellationToken); + if (response.StatusCode == System.Net.HttpStatusCode.NotFound) + { + return null; + } + + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken))!; + } + + /// + public async Task CreateCompteRenduAsync( + Guid rendezVousGuid, + CreateCompteRenduRequest request, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(request); + using var httpRequest = CreateAuthenticatedRequest(HttpMethod.Post, $"{BaseUrl}/rendez-vous/{rendezVousGuid}/compte-rendu"); + httpRequest.Content = JsonContent.Create(request, options: _jsonOptions); + HttpResponseMessage response = await _http.SendAsync(httpRequest, cancellationToken); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken))!; + } + + /// + /// Lit une réponse de session licence (activate/validate). Le serveur + /// retourne 200 si valide, 400 si invalide ; dans les deux cas le corps est + /// un . + /// + private async Task ReadSessionAsync( + HttpResponseMessage response, + CancellationToken cancellationToken) + { + if (response.IsSuccessStatusCode || response.StatusCode == System.Net.HttpStatusCode.BadRequest) + { + return (await response.Content.ReadFromJsonAsync(_jsonOptions, cancellationToken))!; + } + response.EnsureSuccessStatusCode(); + return new MobileLicenseSessionResponse(); + } + + /// + /// Crée une requête HTTP avec le Bearer token si présent. Le token n'est + /// jamais loggé. + /// + private HttpRequestMessage CreateAuthenticatedRequest(HttpMethod method, string url) + { + _ = RequireBaseUrl(); + var request = new HttpRequestMessage(method, url); + if (!string.IsNullOrWhiteSpace(AccessToken)) + { + request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken); + } + return request; + } + + /// + /// Extrait le message utilisateur d'une réponse d'erreur serveur. Le serveur + /// renvoie soit du JSON { "message": "..." }, soit un texte brut. + /// Retourne un libellé générique si le corps est vide ou illisible. + /// + private static string ExtraireMessageErreur(string body) + { + if (string.IsNullOrWhiteSpace(body)) + { + return "Impossible d'envoyer l'email."; + } + + try + { + using JsonDocument document = JsonDocument.Parse(body); + if (document.RootElement.ValueKind == JsonValueKind.Object + && document.RootElement.TryGetProperty("message", out JsonElement message) + && message.ValueKind == JsonValueKind.String) + { + string? texte = message.GetString(); + if (!string.IsNullOrWhiteSpace(texte)) + { + return texte; + } + } + } + catch (JsonException) + { + // Corps non JSON : on tente le texte brut ci-dessous. + } + + string brut = body.Trim().Trim('"'); + return brut.Length > 0 ? brut : "Impossible d'envoyer l'email."; + } +} diff --git a/src/Omika.App.Local/Services/MobileEnrollmentService.cs b/src/Omika.App.Local/Services/MobileEnrollmentService.cs new file mode 100644 index 0000000..9f829ad --- /dev/null +++ b/src/Omika.App.Local/Services/MobileEnrollmentService.cs @@ -0,0 +1,137 @@ +using System.Net.Http; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; +using Omika.App.Local.Security; +using Omika.Core.Contracts.Mobile.Enrollment; +using Omika.Core.Contracts.Mobile.License; +using Omika.Core.Networking; +using Omika.Core.Observability.Diagnostic; +using Omika.Core.Services.Mobile; + +namespace Omika.App.Local.Services; + +/// +/// Orchestration de l'inscription : QR → licence → API → stockage local. +/// +/// Aucune URL n'est codée en dur. Le seul flux autorisé est : +/// contenu QR → URL licence → activation licence → URL API Omika → stockage. +/// +public sealed class MobileEnrollmentService : IEnrollmentService +{ + private readonly ILicenseEnrollmentClient _licenseClient; + private readonly IMobileEnrollmentStore _store; + private readonly IDeviceIdProvider _deviceIdProvider; + private readonly IMobileSessionService _sessionService; + private readonly MobileApiClient _apiClient; + private readonly IReadOnlyDictionary _verificationKeysByKeyId; + private readonly DeviceInfoSnapshot? _deviceInfo; + + public MobileEnrollmentService( + ILicenseEnrollmentClient licenseClient, + IMobileEnrollmentStore store, + IDeviceIdProvider deviceIdProvider, + IMobileSessionService sessionService, + MobileApiClient apiClient, + IReadOnlyDictionary? verificationKeysByKeyId = null, + DeviceInfoSnapshot? deviceInfo = null) + { + ArgumentNullException.ThrowIfNull(licenseClient); + ArgumentNullException.ThrowIfNull(store); + ArgumentNullException.ThrowIfNull(deviceIdProvider); + ArgumentNullException.ThrowIfNull(sessionService); + ArgumentNullException.ThrowIfNull(apiClient); + _licenseClient = licenseClient; + _store = store; + _deviceIdProvider = deviceIdProvider; + _sessionService = sessionService; + _apiClient = apiClient; + _verificationKeysByKeyId = verificationKeysByKeyId ?? EnrollmentVerificationKey.PublicKeysByKeyId; + _deviceInfo = deviceInfo; + } + + /// + public async Task LoadAsync(CancellationToken cancellationToken = default) + => await _store.LoadAsync(cancellationToken); + + /// + public async Task EnrollAsync(string qrContent, CancellationToken cancellationToken = default) + { + // 1. Lecture et décodage du QR (vérification de signature par kid). + EnrollmentQrPayload? payload = EnrollmentQrCodec.Decode(qrContent, _verificationKeysByKeyId); + if (payload is null) + { + return EnrollmentResult.Failed("QR d'inscription invalide ou altéré."); + } + + // 2. Validation stricte de l'URL du service de licence. + if (!EndpointValidator.TryValidateHttpsEndpoint(payload.UrlLicence, out _)) + { + return EnrollmentResult.Failed( + "L'URL du service de licence est invalide : une URL HTTPS non locale est requise."); + } + + // 3. Activation auprès du service de licence (premier appel réseau). + string deviceId = await _deviceIdProvider.GetDeviceIdAsync(cancellationToken); + var request = new LicenseActivateRequest + { + CodeClient = payload.CodeClient.Trim(), + NumeroLicence = payload.NumeroLicence.Trim(), + DeviceId = deviceId + }.ApplyDeviceSnapshot(_deviceInfo); + + MobileLicenseSessionResponse session; + try + { + session = await _licenseClient.ActivateAsync(payload.UrlLicence, request, cancellationToken); + } + catch (Exception ex) when (ex is HttpRequestException or TaskCanceledException) + { + return EnrollmentResult.Failed( + "Impossible de contacter le service de licence. Vérifiez la connexion."); + } + + if (!session.License.IsValid) + { + return EnrollmentResult.Failed( + string.IsNullOrWhiteSpace(session.License.ErrorMessage) + ? "Activation refusée par le serveur de licence." + : session.License.ErrorMessage, + session.License.ErrorCode); + } + + // 4. Validation stricte de l'URL de l'API Omika retournée par le serveur. + if (!EndpointValidator.TryValidateHttpsEndpoint(session.License.ApiUrl, out Uri? apiUri)) + { + return EnrollmentResult.Failed( + "Le serveur de licence n'a pas renvoyé d'URL d'API Omika valide (HTTPS requis)."); + } + + // 5. Persistance de la configuration d'inscription. + var configuration = new MobileEnrollmentConfiguration + { + Version = 1, + CodeClient = session.License.CodeClient, + NumeroLicence = session.License.NumeroLicence, + LicenseServiceUrl = payload.UrlLicence.Trim(), + OmikaApiUrl = apiUri!.ToString().TrimEnd('/'), + EnrolledAtUtc = DateTimeOffset.UtcNow + }; + await _store.SaveAsync(configuration, cancellationToken); + + // 6. Configuration du client métier (source unique de vérité) puis + // persistance de la session (token sécurisé + bootstrap). + _apiClient.BaseUrl = configuration.OmikaApiUrl; + Console.WriteLine($"[API-CONFIG] BaseUrl={_apiClient.BaseUrl} (après inscription QR)"); + await _sessionService.ApplyEnrollmentSessionAsync(session, cancellationToken); + + return EnrollmentResult.Succeeded(configuration); + } + + /// + public async Task ClearAsync(CancellationToken cancellationToken = default) + { + await _store.ClearAsync(cancellationToken); + _apiClient.BaseUrl = null; + _apiClient.AccessToken = null; + } +} diff --git a/src/Omika.App.Local/Services/MobileIdentityReconciliationService.cs b/src/Omika.App.Local/Services/MobileIdentityReconciliationService.cs new file mode 100644 index 0000000..ba7877e --- /dev/null +++ b/src/Omika.App.Local/Services/MobileIdentityReconciliationService.cs @@ -0,0 +1,277 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; +using Omika.App.Local.Sqlite; + +namespace Omika.App.Local.Services; + +/// +/// Service de réconciliation des identités locales (A → B). +/// Enregistre la correspondance puis réconcilie de manière transactionnelle : +/// PK logique de l'entité, références enfants, Outbox en attente. +/// Idempotent : un second traitement de la même réconciliation ne produit +/// aucun effet dangereux. Si A == B, aucun effet. +/// +public sealed class MobileIdentityReconciliationService : IMobileIdentityReconciliationService +{ + private readonly LocalDatabase _database; + private readonly IIdentityMappingRepository _mappingRepository; + private readonly IOutboxRepository _outboxRepository; + private readonly IReadOnlyList _payloadRewriters; + + public MobileIdentityReconciliationService( + LocalDatabase database, + IIdentityMappingRepository mappingRepository, + IOutboxRepository outboxRepository, + IEnumerable payloadRewriters) + { + _database = database; + _mappingRepository = mappingRepository; + _outboxRepository = outboxRepository; + _payloadRewriters = payloadRewriters?.ToList() ?? []; + } + + public async Task ReconcileAsync( + string entityType, + Guid requestedGuid, + Guid canonicalGuid, + CancellationToken cancellationToken = default) + { + ArgumentException.ThrowIfNullOrWhiteSpace(entityType); + + // Si A == B, aucun effet dangereux. + if (requestedGuid == canonicalGuid) + { + return; + } + + // Idempotence : si la correspondance existe déjà avec la même cible, + // ne rien refaire. + IdentityMapping? existing = await _mappingRepository.GetAsync(entityType, requestedGuid, cancellationToken); + if (existing is not null && existing.CanonicalEntityGuid == canonicalGuid) + { + return; + } + + await using SqliteTransaction transaction = await _database.BeginTransactionAsync(cancellationToken); + + try + { + // 1. Enregistrer la correspondance A → B. + await _mappingRepository.UpsertAsync(new IdentityMapping + { + EntityType = entityType, + RequestedEntityGuid = requestedGuid, + CanonicalEntityGuid = canonicalGuid + }, cancellationToken); + + // 2. Réconcilier la PK logique de l'entité principale (A → B). + await ReconcilePrimaryKeyAsync(entityType, requestedGuid, canonicalGuid, cancellationToken); + + // 2b. Le cache document (DocumentCache) est keyé par DocumentGuid : le + // réconcilier pour que le fichier local reste associé au GUID canonique. + if (string.Equals(entityType, Infrastructure.SyncEntityTypes.Document, StringComparison.OrdinalIgnoreCase)) + { + await ReconcileDocumentCacheAsync(requestedGuid, canonicalGuid, cancellationToken); + } + + // 3. Réconcilier les références enfants (foreign keys locales). + await ReconcileChildReferencesAsync(entityType, requestedGuid, canonicalGuid, cancellationToken); + + // 4. Réconcilier l'Outbox en attente (RequestedEntityGuid → CanonicalEntityGuid). + await _outboxRepository.ReconcileReferencesAsync(entityType, requestedGuid, canonicalGuid, cancellationToken); + + // 5. Réécrire les payloads Outbox contenant explicitement l'ancien GUID. + await RewriteOutboxPayloadsAsync(entityType, requestedGuid, canonicalGuid, cancellationToken); + + await transaction.CommitAsync(cancellationToken); + } + catch + { + await transaction.RollbackAsync(cancellationToken); + throw; + } + } + + public async Task ResolveAsync( + string entityType, + Guid requestedGuid, + CancellationToken cancellationToken = default) + { + IdentityMapping? mapping = await _mappingRepository.GetAsync(entityType, requestedGuid, cancellationToken); + return mapping?.CanonicalEntityGuid ?? requestedGuid; + } + + private async Task ReconcilePrimaryKeyAsync( + string entityType, + Guid requestedGuid, + Guid canonicalGuid, + CancellationToken cancellationToken) + { + string? table = GetTableName(entityType); + if (table is null) + { + return; + } + + // Déplace la ligne A → B (si B n'existe pas déjà). + string sql = $""" + UPDATE "{table}" + SET "Id" = @CanonicalGuid, "UpdatedAtUtc" = @Now + WHERE "Id" = @RequestedGuid + AND NOT EXISTS (SELECT 1 FROM "{table}" WHERE "Id" = @CanonicalGuid) + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@CanonicalGuid", canonicalGuid.ToString())); + command.Parameters.Add(CreateParameter("@RequestedGuid", requestedGuid.ToString())); + command.Parameters.Add(CreateParameter("@Now", DateTimeOffset.UtcNow.ToString("O"))); + await command.ExecuteNonQueryAsync(cancellationToken); + } + + /// + /// Réconcilie la clé du cache fichier document (DocumentCache.DocumentGuid) + /// de l'ancien GUID mobile vers le GUID canonique, afin que le fichier local + /// reste associé au document après la réconciliation (pas de re-téléchargement). + /// + private async Task ReconcileDocumentCacheAsync( + Guid requestedGuid, + Guid canonicalGuid, + CancellationToken cancellationToken) + { + const string sql = """ + UPDATE "DocumentCache" + SET "DocumentGuid" = @CanonicalGuid + WHERE "DocumentGuid" = @RequestedGuid + AND NOT EXISTS (SELECT 1 FROM "DocumentCache" WHERE "DocumentGuid" = @CanonicalGuid) + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@CanonicalGuid", canonicalGuid.ToString())); + command.Parameters.Add(CreateParameter("@RequestedGuid", requestedGuid.ToString())); + await command.ExecuteNonQueryAsync(cancellationToken); + } + + private async Task ReconcileChildReferencesAsync( + string entityType, + Guid requestedGuid, + Guid canonicalGuid, + CancellationToken cancellationToken) + { + // Met à jour les références enfants pointant vers A → B. + // Chaque table enfant est traitée avec ses colonnes de référence. + var childTables = GetChildReferenceTables(entityType); + foreach ((string table, string column) in childTables) + { + string sql = $""" + UPDATE "{table}" + SET "{column}" = @CanonicalGuid, "UpdatedAtUtc" = @Now + WHERE "{column}" = @RequestedGuid + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@CanonicalGuid", canonicalGuid.ToString())); + command.Parameters.Add(CreateParameter("@RequestedGuid", requestedGuid.ToString())); + command.Parameters.Add(CreateParameter("@Now", DateTimeOffset.UtcNow.ToString("O"))); + await command.ExecuteNonQueryAsync(cancellationToken); + } + } + + /// + /// Crée un paramètre SQLite en gérant correctement les valeurs null. + /// Le constructeur SqliteParameter(string, object) ne définit pas + /// correctement la propriété Value : on la définit explicitement. + /// + private static SqliteParameter CreateParameter(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } + + private async Task RewriteOutboxPayloadsAsync( + string entityType, + Guid requestedGuid, + Guid canonicalGuid, + CancellationToken cancellationToken) + { + // Réécrit les payloads des opérations Outbox encore en attente qui + // référencent l'ancien GUID. On applique TOUS les réécrivains (et non + // seulement celui du type réconcilié) : la réconciliation d'une + // intervention doit aussi mettre à jour la référence "InterventionId" + // portée par les notes, les rendez-vous, etc. + IReadOnlyList pending = await _outboxRepository.GetReadyAsync(cancellationToken); + foreach (IOutboxPayloadRewriter rewriter in _payloadRewriters) + { + foreach (OutboxOperation operation in pending.Where(o => o.EntityType == rewriter.EntityType)) + { + string rewritten = rewriter.Rewrite(operation.Payload, requestedGuid, canonicalGuid); + if (rewritten != operation.Payload) + { + operation.Payload = rewritten; + await _outboxRepository.UpdateAsync(operation, cancellationToken); + } + } + } + } + + private static string? GetTableName(string entityType) + => entityType switch + { + Infrastructure.SyncEntityTypes.Client => "Client", + Infrastructure.SyncEntityTypes.Personne => "Personne", + Infrastructure.SyncEntityTypes.Site => "Site", + Infrastructure.SyncEntityTypes.Intervention => "Intervention", + Infrastructure.SyncEntityTypes.Dossier => "Dossier", + Infrastructure.SyncEntityTypes.RendezVous => "RendezVous", + Infrastructure.SyncEntityTypes.Collaborateur => "Collaborateur", + Infrastructure.SyncEntityTypes.Document => "DocumentMetadata", + Infrastructure.SyncEntityTypes.SuiviTemps => "SuiviTemps", + Infrastructure.SyncEntityTypes.NoteInterne => "NoteInterne", + Infrastructure.SyncEntityTypes.NoteAdministrative => "NoteInterne", + Infrastructure.SyncEntityTypes.NoteDocument => "NoteDocument", + _ => null + }; + + + private static IReadOnlyList<(string Table, string Column)> GetChildReferenceTables(string entityType) + => entityType switch + { + Infrastructure.SyncEntityTypes.Client => + [ + ("Personne", "ClientId"), + ("Site", "ClientId"), + ("Intervention", "ClientId"), + ("Dossier", "ClientId"), + ("RendezVous", "ClientId") + ], + Infrastructure.SyncEntityTypes.Site => + [ + ("Intervention", "SiteId"), + ("Dossier", "SiteId"), + ("RendezVous", "SiteId") + ], + Infrastructure.SyncEntityTypes.Dossier => + [ + ("Intervention", "DossierId"), + ("RendezVous", "DossierId") + ], + Infrastructure.SyncEntityTypes.Intervention => + [ + ("RendezVous", "InterventionId"), + ("DocumentMetadata", "InterventionId"), + ("NoteInterne", "InterventionId") + ], + // Une note saisie hors ligne sur une photo est rattachée au GUID + // mobile du document : elle doit suivre la réconciliation du + // document (A → B) sinon elle resterait orpheline sur l'appareil. + Infrastructure.SyncEntityTypes.Document => + [ + ("NoteDocument", "DocumentId") + ], + _ => [] + }; +} diff --git a/src/Omika.App.Local/Services/MobileSessionService.cs b/src/Omika.App.Local/Services/MobileSessionService.cs new file mode 100644 index 0000000..7eb71ad --- /dev/null +++ b/src/Omika.App.Local/Services/MobileSessionService.cs @@ -0,0 +1,575 @@ +using System; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; +using Omika.Core.Contracts.Mobile.Bootstrap; +using Omika.Core.Contracts.Mobile.License; +using Omika.Core.Observability.Diagnostic; +using Omika.Core.Services.Mobile; + +namespace Omika.App.Local.Services; + +/// +/// Service de session mobile : token sécurisé + données bootstrap locales. +/// +/// Règles de sécurité : +/// - Le token n'est jamais stocké en SQLite en clair (secure storage dédié). +/// - Une licence expirée/révoquée ne supprime jamais les données locales +/// (SQLite métier, cache, Documents, Outbox). +/// - Session déjà validée + période offline autorisée → accès aux données +/// SQLite sans connexion obligatoire. +/// - Premier démarrage sans session valide + offline → activation impossible. +/// +public sealed class MobileSessionService : IMobileSessionService +{ + private readonly IMobileApiClient _apiClient; + private readonly ISecureTokenStore _tokenStore; + private readonly IDeviceIdProvider _deviceIdProvider; + private readonly ILocalBootstrapRepository _bootstrapRepository; + private readonly ILogger _logger; + private readonly IDevelopmentLicenseProvider? _developmentLicenseProvider; + private readonly DeviceInfoSnapshot? _deviceInfo; + + // Renouvellement single-flight : un seul license/validate à la fois, quel que + // soit le nombre de requêtes simultanées en échec d'authentification. + private readonly SemaphoreSlim _revalidationLock = new(1, 1); + + // Mémorisation d'un rejet terminal pour le même token : évite de marteler le + // serveur quand plusieurs requêtes concurrentes reçoivent le même 401. + private string? _lastFailedToken; + private SessionRevalidationOutcome? _lastFailedOutcome; + private LicenseResponse? _lastFailedLicense; + + public MobileSessionService( + IMobileApiClient apiClient, + ISecureTokenStore tokenStore, + IDeviceIdProvider deviceIdProvider, + ILocalBootstrapRepository bootstrapRepository, + ILogger logger, + IDevelopmentLicenseProvider? developmentLicenseProvider = null, + DeviceInfoSnapshot? deviceInfo = null) + { + _apiClient = apiClient; + _tokenStore = tokenStore; + _deviceIdProvider = deviceIdProvider; + _bootstrapRepository = bootstrapRepository; + _logger = logger; + _developmentLicenseProvider = developmentLicenseProvider; + _deviceInfo = deviceInfo; + } + + + /// + public async Task HasValidSessionAsync(CancellationToken cancellationToken = default) + { +#if DEBUG + // MICRO-LOT : en Development/Debug uniquement, si la licence de + // développement locale est activée, la session est considérée valide + // localement (accès direct au Shell) SANS appeler le serveur de licence. + // En Release, ce bloc est compilé hors : comportement normal inchangé. + if (_developmentLicenseProvider is not null) + { + LicenseResponse? devLicense = await _developmentLicenseProvider.TryGetDevelopmentLicenseAsync(cancellationToken); + if (devLicense is { IsValid: true }) + { + Console.WriteLine("[STARTUP] DevLicenseReturnedValid=true HasValidSessionResult=true HasValidSessionReason=DevLicense"); + return true; + } + + Console.WriteLine("[STARTUP] DevLicenseReturnedValid=false"); + } +#endif + + string? token = await _tokenStore.GetAsync(cancellationToken); + if (string.IsNullOrWhiteSpace(token)) + { + Console.WriteLine("[STARTUP] TokenPresent=false HasValidSessionResult=false HasValidSessionReason=None"); + return false; + } + + Console.WriteLine("[STARTUP] TokenPresent=true"); + + + LocalBootstrapState? bootstrap = await _bootstrapRepository.GetAsync(cancellationToken); + if (bootstrap?.Licence is null) + { + Console.WriteLine("[STARTUP] BootstrapPresent=false HasValidSessionResult=false HasValidSessionReason=None"); + return false; + } + + Console.WriteLine("[STARTUP] BootstrapPresent=true"); + + // Session valide si la licence est valide OU si on est dans la période + // offline autorisée (session déjà validée + grace non dépassée). + bool valid = bootstrap.Licence.IsValid || IsWithinOfflineGrace(bootstrap); + Console.WriteLine($"[STARTUP] HasValidSessionResult={valid} HasValidSessionReason=TokenBootstrap"); + return valid; + } + + /// + public async Task HasExpiredSessionAsync(CancellationToken cancellationToken = default) + { + string? token = await _tokenStore.GetAsync(cancellationToken); + if (string.IsNullOrWhiteSpace(token)) + { + return false; + } + + LocalBootstrapState? bootstrap = await _bootstrapRepository.GetAsync(cancellationToken); + if (bootstrap?.Licence is null) + { + return false; + } + + // Session présente mais hors période offline autorisée. + return !bootstrap.Licence.IsValid && !IsWithinOfflineGrace(bootstrap); + } + + /// + public async Task ActivateAsync( + string codeClient, + string numeroLicence, + CancellationToken cancellationToken = default) + { + ArgumentException.ThrowIfNullOrWhiteSpace(codeClient); + ArgumentException.ThrowIfNullOrWhiteSpace(numeroLicence); + +#if DEBUG + // MICRO-LOT : en Development/Debug uniquement, si la licence de + // développement locale est activée, on retourne une licence locale + // valide SANS appeler le serveur de licence. En Release, ce bloc est + // compilé hors : le serveur reste l'autorité (comportement inchangé). + if (_developmentLicenseProvider is not null) + { + LicenseResponse? devLicense = await _developmentLicenseProvider.TryGetDevelopmentLicenseAsync(cancellationToken); + if (devLicense is { IsValid: true }) + { + return devLicense; + } + } +#endif + + string deviceId = await _deviceIdProvider.GetDeviceIdAsync(cancellationToken); + + var request = new LicenseActivateRequest + { + CodeClient = codeClient.Trim(), + NumeroLicence = numeroLicence.Trim(), + DeviceId = deviceId + }.ApplyDeviceSnapshot(_deviceInfo); + + MobileLicenseSessionResponse session = await _apiClient.ActivateAsync(request, cancellationToken); + + if (session.License.IsValid) + { + await ApplyEnrollmentSessionAsync(session, cancellationToken); + } + + return session.License; + } + + + /// + public async Task ValidateAsync(CancellationToken cancellationToken = default) + { + LocalBootstrapState? bootstrap = await _bootstrapRepository.GetAsync(cancellationToken); + if (bootstrap?.Licence is null) + { + return new LicenseResponse { IsValid = false, ErrorCode = "E9000", ErrorMessage = "Aucune session locale." }; + } + + string deviceId = await _deviceIdProvider.GetDeviceIdAsync(cancellationToken); + + var request = new LicenseValidateRequest + { + CodeClient = bootstrap.Licence.CodeClient, + NumeroLicence = bootstrap.Licence.NumeroLicence, + DeviceId = deviceId + }; + + MobileLicenseSessionResponse session = await _apiClient.ValidateAsync(request, cancellationToken); + + if (session.License.IsValid) + { + await ApplyEnrollmentSessionAsync(session, cancellationToken); + } + + return session.License; + } + + /// + public async Task GetBootstrapAsync(CancellationToken cancellationToken = default) + => await _bootstrapRepository.GetAsync(cancellationToken); + + /// + public async Task GetAccessTokenAsync(CancellationToken cancellationToken = default) + => await _tokenStore.GetAsync(cancellationToken); + + /// + public async Task EnsureDevelopmentSessionAsync(CancellationToken cancellationToken = default) + { +#if DEBUG + // En Development/Debug uniquement : si la licence Development locale est + // activée, on s'assure qu'une session réseau technique existe (token signé + // par l'API via l'endpoint Development). En Release, ce bloc est compilé + // hors : comportement normal inchangé. + if (_developmentLicenseProvider is null) + { + return; + } + + LicenseResponse? devLicense = await _developmentLicenseProvider.TryGetDevelopmentLicenseAsync(cancellationToken); + if (devLicense is not { IsValid: true }) + { + return; + } + + // Un token réseau existe déjà : rien à faire. + string? existingToken = await _tokenStore.GetAsync(cancellationToken); + _logger.LogInformation( + "Session Development au démarrage : tokenExistant={TokenExistant}; renouvellement demandé.", + !string.IsNullOrWhiteSpace(existingToken)); + + try + { + // Obtient un vrai token signé par l'API (endpoint Development). + // Le DeviceId réel est transmis afin que le token et le SyncEngine + // utilisent le même identifiant d'appareil. + string deviceId = await _deviceIdProvider.GetDeviceIdAsync(cancellationToken); + MobileLicenseSessionResponse session = await _apiClient.GetDevelopmentSessionAsync(deviceId, cancellationToken); + if (session.License.IsValid && !string.IsNullOrWhiteSpace(session.AccessToken)) + { + await ApplyEnrollmentSessionAsync(session, cancellationToken); + _logger.LogInformation("Session réseau Development établie (token signé par l'API)."); + } + } + catch (Exception ex) + { + // L'API n'est pas joignable : on retombe sur la licence Development + // locale (session valide sans token réseau). Le snapshot ne sera pas + // possible tant que l'API n'est pas lancée, mais l'app ne plante pas. + _logger.LogWarning(ex, "Impossible d'établir la session réseau Development (API non joignable ?)."); + } +#endif + } + + + /// + public async Task ClearSessionAsync(CancellationToken cancellationToken = default) + { + // Supprime uniquement le token et le bootstrap. Ne touche JAMAIS aux + // données métier (SQLite, cache, Documents, Outbox). + await _tokenStore.ClearAsync(cancellationToken); + await _bootstrapRepository.SaveAsync(new LocalBootstrapState(), cancellationToken); + _logger.LogInformation("Session mobile supprimée (token + bootstrap). Données métier conservées."); + } + + /// + public async Task RefreshBootstrapAsync(CancellationToken cancellationToken = default) + { + string? token = await _tokenStore.GetAsync(cancellationToken); + if (string.IsNullOrWhiteSpace(token)) + { + return; + } + + _apiClient.AccessToken = token; + MobileBootstrapResponse bootstrap = await _apiClient.GetBootstrapAsync(cancellationToken); + + LocalBootstrapState? existing = await _bootstrapRepository.GetAsync(cancellationToken); + var state = new LocalBootstrapState + { + Utilisateur = bootstrap.Utilisateur, + Collaborateur = bootstrap.Collaborateur, + Profil = bootstrap.Profil, + Droits = bootstrap.Droits, + MessagerieExterne = bootstrap.MessagerieExterne, + Configuration = bootstrap.Configuration, + Licence = bootstrap.Licence ?? existing?.Licence, + ParametresMetier = bootstrap.ParametresMetier, + Equipes = bootstrap.Equipes, + Collaborateurs = bootstrap.Collaborateurs, + CollaborateursAutorises = bootstrap.CollaborateursAutorises, + // Un simple refresh bootstrap NE repousse PAS la grace : la date de + // validation licence est préservée telle quelle. + LastLicenseValidationUtc = existing?.LastLicenseValidationUtc + }; + + await _bootstrapRepository.SaveAsync(state, cancellationToken); + _logger.LogInformation("Bootstrap mobile rafraîchi (référentiels, équipes, collaborateurs)."); + } + + /// + public async Task EnsureValidSessionAsync(CancellationToken cancellationToken = default) + { + await _revalidationLock.WaitAsync(cancellationToken); + try + { + string? current = await _tokenStore.GetAsync(cancellationToken); + + // Token déjà présent et non expiré (lecture locale non autoritative) : + // rien à renouveler. + if (!string.IsNullOrWhiteSpace(current) && !TokenExpirationReader.IsExpired(current)) + { + _apiClient.AccessToken = current; + return new SessionRevalidationResult { Outcome = SessionRevalidationOutcome.Success }; + } + + return await RevalidateCoreAsync(cancellationToken); + } + finally + { + _revalidationLock.Release(); + } + } + + /// + public async Task RevalidateSessionAsync( + string? failedToken, + CancellationToken cancellationToken = default) + { + await _revalidationLock.WaitAsync(cancellationToken); + try + { + string? current = await _tokenStore.GetAsync(cancellationToken); + + // Un autre appel a déjà renouvelé le token : on le réutilise sans + // nouvel appel serveur. + if (!string.IsNullOrWhiteSpace(failedToken) + && !string.Equals(failedToken, current, StringComparison.Ordinal)) + { + _apiClient.AccessToken = current; + return new SessionRevalidationResult { Outcome = SessionRevalidationOutcome.Success }; + } + + // Même token déjà rejeté de façon terminale : ne pas marteler le serveur. + if (!string.IsNullOrWhiteSpace(failedToken) + && string.Equals(failedToken, _lastFailedToken, StringComparison.Ordinal)) + { + return new SessionRevalidationResult + { + Outcome = _lastFailedOutcome ?? SessionRevalidationOutcome.InvalidLicense, + License = _lastFailedLicense + }; + } + + SessionRevalidationResult result = await RevalidateCoreAsync(cancellationToken); + + if (result.Outcome is SessionRevalidationOutcome.InvalidLicense or SessionRevalidationOutcome.NoSession) + { + _lastFailedToken = failedToken ?? current; + _lastFailedOutcome = result.Outcome; + _lastFailedLicense = result.License; + } + + return result; + } + finally + { + _revalidationLock.Release(); + } + } + + /// + /// Cœur du renouvellement : appelle license/validate, puis persiste le + /// nouveau token et rafraîchit le bootstrap en best-effort. Ne supprime jamais + /// la session et ne lève pas pour une erreur réseau/temporaire. + /// + private async Task RevalidateCoreAsync(CancellationToken cancellationToken) + { + LocalBootstrapState? bootstrap = await _bootstrapRepository.GetAsync(cancellationToken); + if (bootstrap?.Licence is null + || string.IsNullOrWhiteSpace(bootstrap.Licence.CodeClient) + || string.IsNullOrWhiteSpace(bootstrap.Licence.NumeroLicence)) + { + return new SessionRevalidationResult { Outcome = SessionRevalidationOutcome.NoSession }; + } + + string deviceId = await _deviceIdProvider.GetDeviceIdAsync(cancellationToken); + + var request = new LicenseValidateRequest + { + CodeClient = bootstrap.Licence.CodeClient, + NumeroLicence = bootstrap.Licence.NumeroLicence, + DeviceId = deviceId + }; + + MobileLicenseSessionResponse session; + try + { + session = await _apiClient.ValidateAsync(request, cancellationToken); + } + catch (OperationCanceledException) when (cancellationToken.IsCancellationRequested) + { + throw; + } + catch (Exception ex) when (IsTransientError(ex)) + { + _logger.LogWarning(ex, "Renouvellement de session impossible (erreur réseau/temporaire)."); + return new SessionRevalidationResult { Outcome = SessionRevalidationOutcome.TransientError }; + } + + if (!session.License.IsValid) + { + _logger.LogWarning( + "Renouvellement de session refusé : {ErrorCode} {ErrorMessage}.", + session.License.ErrorCode, session.License.ErrorMessage); + return new SessionRevalidationResult + { + Outcome = SessionRevalidationOutcome.InvalidLicense, + License = session.License + }; + } + + // 1. Token renouvelé : persisté en secure storage + branché sur le client. + await _tokenStore.SaveAsync(session.AccessToken, cancellationToken); + _apiClient.AccessToken = session.AccessToken; + + // 1bis. La licence vient d'être confirmée par le serveur : enregistrer la + // date de validation AVANT le refresh bootstrap (best-effort). Même si le + // refresh échoue ensuite, la grace est correctement recalculée. + await RecordLicenseValidationAsync(DateTimeOffset.UtcNow, cancellationToken); + + // 2. Bootstrap rafraîchi en best-effort : le token est déjà renouvelé, un + // échec réseau ici ne doit pas invalider le renouvellement. + try + { + await RefreshBootstrapAsync(cancellationToken); + } + catch (OperationCanceledException) when (cancellationToken.IsCancellationRequested) + { + throw; + } + catch (Exception ex) + { + _logger.LogWarning(ex, "Session renouvelée ; rafraîchissement bootstrap différé."); + } + + return new SessionRevalidationResult + { + Outcome = SessionRevalidationOutcome.Success, + License = session.License + }; + } + + /// + /// Enregistre la date de dernière validation licence réussie. N'est appelée + /// QU'après une confirmation serveur (activation QR ou license/validate OK). + /// Jamais depuis un refresh bootstrap, une sync, un GET ni un renouvellement + /// ayant échoué. + /// + private async Task RecordLicenseValidationAsync( + DateTimeOffset validatedAtUtc, + CancellationToken cancellationToken) + { + LocalBootstrapState? existing = await _bootstrapRepository.GetAsync(cancellationToken); + if (existing is null) + { + return; + } + + existing.LastLicenseValidationUtc = validatedAtUtc; + await _bootstrapRepository.SaveAsync(existing, cancellationToken); + } + + /// + /// Erreur non terminale : réseau/timeout (HttpRequestException, + /// TaskCanceledException) ou URL d'API non configurée (InvalidOperationException + /// levée par MobileApiClient.RequireBaseUrl). Dans tous les cas, la + /// session n'est jamais purgée. + /// + private static bool IsTransientError(Exception ex) + => ex is HttpRequestException or TaskCanceledException or InvalidOperationException; + + /// + public async Task ApplyEnrollmentSessionAsync( + MobileLicenseSessionResponse session, + CancellationToken cancellationToken) + { + // ===== DIAGNOSTIC TEMPORAIRE [TOKEN-DIAG] (à retirer après diagnostic) ===== + // Trace le chemin du token depuis la réponse API jusqu'au store sécurisé. + // Jamais le token complet ni aucun secret. + string apiToken = session.AccessToken ?? string.Empty; + Console.WriteLine($"[TOKEN-DIAG] ApiTokenPresent={!string.IsNullOrWhiteSpace(apiToken)}"); + Console.WriteLine($"[TOKEN-DIAG] ApiTokenLength={apiToken.Length}"); + Console.WriteLine("[TOKEN-DIAG] SaveAttempt=True"); + Console.WriteLine($"[TOKEN-DIAG] StoreType={_tokenStore.GetType().FullName}"); + // ===== FIN DIAGNOSTIC TEMPORAIRE ===== + + // 1. Token en secure storage (jamais en SQLite en clair). + try + { + await _tokenStore.SaveAsync(session.AccessToken, cancellationToken); + Console.WriteLine("[TOKEN-DIAG] SaveSuccess=True"); + } + catch (Exception ex) + { + Console.WriteLine($"[TOKEN-DIAG] SaveSuccess=False ErrorType={ex.GetType().FullName}"); + throw; + } + + // Relecture immédiate avec le même store (même processus) : distingue le + // CAS C (sauvé mais illisible immédiatement) du CAS D (perte au redémarrage). + string? readBack = await _tokenStore.GetAsync(cancellationToken); + Console.WriteLine($"[TOKEN-DIAG] ReadImmediatelyPresent={!string.IsNullOrWhiteSpace(readBack)}"); + Console.WriteLine($"[TOKEN-DIAG] ReadImmediatelyLength={(readBack ?? string.Empty).Length}"); + + // 2. Bootstrap : on récupère les données profil/droits via l'endpoint + // authentifié, puis on les persiste en SQLite. + _apiClient.AccessToken = session.AccessToken; + MobileBootstrapResponse bootstrap = await _apiClient.GetBootstrapAsync(cancellationToken); + + var state = new LocalBootstrapState + { + Utilisateur = bootstrap.Utilisateur, + Collaborateur = bootstrap.Collaborateur, + Profil = bootstrap.Profil, + Droits = bootstrap.Droits, + MessagerieExterne = bootstrap.MessagerieExterne, + Configuration = bootstrap.Configuration, + Licence = bootstrap.Licence ?? session.License, + ParametresMetier = bootstrap.ParametresMetier, + Equipes = bootstrap.Equipes, + Collaborateurs = bootstrap.Collaborateurs, + CollaborateursAutorises = bootstrap.CollaborateursAutorises, + // Activation/validation réussie : le serveur vient de confirmer la licence. + LastLicenseValidationUtc = DateTimeOffset.UtcNow + }; + + await _bootstrapRepository.SaveAsync(state, cancellationToken); + _logger.LogInformation("Session mobile activée/validée pour le client {CodeClient}.", session.License.CodeClient); + } + + /// + /// Calcule si la session est dans la période offline autorisée. + /// Une session déjà validée reste accessible offline pendant + /// OfflineGraceDays jours après la dernière validation. + /// + private static bool IsWithinOfflineGrace(LocalBootstrapState bootstrap) + { + LicenseResponse? licence = bootstrap.Licence; + if (licence is null) + { + return false; + } + + int graceDays = licence.OfflineGraceDays; + if (graceDays <= 0) + { + return false; + } + + // La période offline court STRICTEMENT depuis la dernière confirmation + // réussie de la licence par le serveur. Jamais depuis UpdatedAtUtc (réécrit + // à chaque sauvegarde/refresh bootstrap), qui ne doit plus influencer la grace. + DateTimeOffset? lastValidated = bootstrap.LastLicenseValidationUtc; + if (lastValidated is null) + { + return false; + } + + return DateTimeOffset.UtcNow <= lastValidated.Value.AddDays(graceDays); + } +} diff --git a/src/Omika.App.Local/Services/NetworkConnectivity.cs b/src/Omika.App.Local/Services/NetworkConnectivity.cs new file mode 100644 index 0000000..c667d82 --- /dev/null +++ b/src/Omika.App.Local/Services/NetworkConnectivity.cs @@ -0,0 +1,33 @@ +using System.Net.NetworkInformation; +using System.Threading; +using System.Threading.Tasks; +using Omika.App.Local.Abstractions; + +namespace Omika.App.Local.Services; + +/// +/// Implémentation réelle de . +/// Vérifie la présence d'une interface réseau active. Ne dépend pas d'une API +/// Android/iOS statique : la logique reste portable. +/// +public sealed class NetworkConnectivity : INetworkConnectivity +{ + /// + /// Indique si au moins une interface réseau est active et connectée. + /// + public Task IsOnlineAsync(CancellationToken cancellationToken = default) + { + cancellationToken.ThrowIfCancellationRequested(); + + foreach (NetworkInterface networkInterface in NetworkInterface.GetAllNetworkInterfaces()) + { + if (networkInterface.OperationalStatus == OperationalStatus.Up && + networkInterface.NetworkInterfaceType != NetworkInterfaceType.Loopback) + { + return Task.FromResult(true); + } + } + + return Task.FromResult(false); + } +} diff --git a/src/Omika.App.Local/Services/OnnxRuntimeInferenceSessionFactory.cs b/src/Omika.App.Local/Services/OnnxRuntimeInferenceSessionFactory.cs new file mode 100644 index 0000000..52eeab1 --- /dev/null +++ b/src/Omika.App.Local/Services/OnnxRuntimeInferenceSessionFactory.cs @@ -0,0 +1,270 @@ +// ============================================================================ +// MOTEUR D'INFÉRENCE ONNX RUNTIME — FICHIER CONDITIONNEL +// ============================================================================ +// +// Ce fichier n'est compilé QUE si le symbole de compilation OMIKA_ONNX_RUNTIME +// est défini. Tant qu'il ne l'est pas, le projet compile sans le paquet NuGet +// Microsoft.ML.OnnxRuntime et le composition root installe +// UnavailableOnnxInferenceSessionFactory : la traduction est alors +// « indisponible » (message clair à l'utilisateur), jamais un plantage. +// +// POUR ACTIVER LE MOTEUR (3 modifications, aucune ligne de code à changer) : +// +// 1. Directory.Packages.props — ajouter la version : +// +// +// 2. src/Omika.App.Local/Omika.App.Local.csproj — référencer le paquet : +// +// +// 3. src/Omika.App.Local/Omika.App.Local.csproj — définir le symbole : +// +// $(DefineConstants);OMIKA_ONNX_RUNTIME +// +// +// Puis, dans le composition root (src/Omika.App/AppServices.cs), remplacer +// UnavailableOnnxInferenceSessionFactory.Instance par +// OnnxRuntimeInferenceSessionFactory.Instance. +// +// ATTENTION — poids et plateformes : Microsoft.ML.OnnxRuntime embarque une +// bibliothèque native par architecture (Android arm64/x86_64, iOS, win-x64…). +// Vérifier le poids de l'APK/IPA après activation, et publier avec les bons +// identifiants de runtime (RuntimeIdentifier) pour chaque tête. +// +// ============================================================================ + +#if OMIKA_ONNX_RUNTIME +using Microsoft.ML.OnnxRuntime; +using Microsoft.ML.OnnxRuntime.Tensors; +using Omika.App.Local.Abstractions; + +namespace Omika.App.Local.Services; + +/// +/// Implémentation réelle de sur +/// ONNX Runtime. Activée uniquement lorsque le symbole +/// OMIKA_ONNX_RUNTIME est défini (voir l'en-tête de ce fichier). +/// +/// +/// Aucune optimisation d'exécution n'est imposée ici : les valeurs par défaut +/// d'ONNX Runtime privilégient la portabilité. Sur un terminal mobile on peut +/// gagner notablement en latence en n'utilisant qu'un seul thread +/// d'intra-opération (les cœurs mobiles sont hétérogènes et la sursouscription +/// coûte plus qu'elle ne rapporte sur un modèle de traduction). +/// +/// +public sealed class OnnxRuntimeInferenceSessionFactory : IOnnxInferenceSessionFactory +{ + /// Instance partagée (la fabrique est sans état). + public static OnnxRuntimeInferenceSessionFactory Instance { get; } = new(); + + /// + public bool EstDisponible + { + get + { + try + { + // Force le chargement de la bibliothèque native : sur certaines + // architectures (émulateur, ABI non embarquée) le paquet managé + // se charge mais la native est absente. On le détecte ici, une + // fois, plutôt qu'au premier appel de traduction. + OrtEnv environnement = OrtEnv.Instance(); + GC.KeepAlive(environnement); + return true; + } + catch (Exception) + { + return false; + } + } + } + + /// + public string NomMoteur => $"ONNX Runtime {typeof(InferenceSession).Assembly.GetName().Version}"; + + /// + public IOnnxInferenceSession Ouvrir(string cheminModele) + { + if (string.IsNullOrWhiteSpace(cheminModele)) + { + throw new TranslationException("Aucun modèle de traduction n'a été fourni."); + } + + try + { + var options = new SessionOptions + { + // Un seul thread d'intra-opération : voir le commentaire de + // classe (cœurs hétérogènes sur mobile). + IntraOpNumThreads = 1, + InterOpNumThreads = 1, + GraphOptimizationLevel = GraphOptimizationLevel.ORT_ENABLE_ALL + }; + + return new OnnxRuntimeInferenceSession(new InferenceSession(cheminModele, options)); + } + catch (TranslationException) + { + throw; + } + catch (Exception ex) + { + throw new TranslationException( + "Le modèle de traduction n'a pas pu être chargé (fichier illisible ou corrompu).", ex); + } + } +} + +/// +/// Session ONNX Runtime. Traduit les de l'application +/// vers les DenseTensor du moteur, et inversement. +/// +internal sealed class OnnxRuntimeInferenceSession : IOnnxInferenceSession +{ + private readonly InferenceSession _session; + + public OnnxRuntimeInferenceSession(InferenceSession session) + { + _session = session; + NomsEntrees = [.. session.InputMetadata.Keys]; + NomsSorties = [.. session.OutputMetadata.Keys]; + } + + /// + public IReadOnlyList NomsEntrees { get; } + + /// + public IReadOnlyList NomsSorties { get; } + + /// + public IReadOnlyDictionary Executer( + IReadOnlyDictionary entrees) + { + ArgumentNullException.ThrowIfNull(entrees); + + var requetes = new List(entrees.Count); + foreach (KeyValuePair entree in entrees) + { + OnnxTensor tenseur = entree.Value; + + if (tenseur.DonneesEntieres is { } entiers) + { + // Constructeur (Memory, dimensions) : c'est la surcharge garantie par le type + // DenseTensor de System.Numerics.Tensors embarqué par ONNX Runtime. La surcharge + // (T[], int[]) n'existe pas dans toutes les versions du paquet. + requetes.Add(NamedOnnxValue.CreateFromTensor( + entree.Key, + new DenseTensor(new Memory(entiers), VersDimensions(tenseur.Dimensions)))); + } + else if (tenseur.DonneesReelles is { } reels) + { + requetes.Add(NamedOnnxValue.CreateFromTensor( + entree.Key, + new DenseTensor(new Memory(reels), VersDimensions(tenseur.Dimensions)))); + } + else + { + throw new TranslationException( + $"Entrée « {entree.Key} » vide : la traduction ne peut pas être calculée."); + } + } + + try + { + using IDisposableReadOnlyCollection resultats = + _session.Run(requetes); + + var sorties = new Dictionary(StringComparer.Ordinal); + foreach (DisposableNamedOnnxValue resultat in resultats) + { + sorties[resultat.Name] = Convertir(resultat); + } + + return sorties; + } + catch (TranslationException) + { + throw; + } + catch (Exception ex) + { + throw new TranslationException("La traduction a échoué sur cet appareil.", ex); + } + } + + /// Convertit une sortie du moteur vers le tenseur de l'application. + /// + /// Convertit une sortie du moteur vers le tenseur de l'application. + /// + /// + /// Le type est testé AVANT d'appeler AsTensor<T> : cette méthode + /// lève quand le type demandé ne correspond pas à celui du tenseur (elle ne retourne pas + /// ). Tester AsTensor<float>() en premier ferait donc échouer + /// toute sortie entière — ce qui est exactement le cas d'un modèle qui expose directement ses + /// identifiants de pièces. + /// + /// + private static OnnxTensor Convertir(DisposableNamedOnnxValue resultat) + { + // ElementType est un enum TensorElementType (et non un System.Type) : le + // comparer à typeof(float) ne compilait pas — ce fichier n'avait jamais été + // compilé, le moteur étant absent du projet. + TensorElementType typeElement = resultat.ElementType; + + if (typeElement == TensorElementType.Float) + { + Tensor tenseur = resultat.AsTensor(); + return OnnxTensor.Reel(VersLongs(tenseur.Dimensions), tenseur.ToArray()); + } + + if (typeElement == TensorElementType.Int64) + { + Tensor tenseur = resultat.AsTensor(); + return OnnxTensor.Entier(VersLongs(tenseur.Dimensions), tenseur.ToArray()); + } + + if (typeElement == TensorElementType.Int32) + { + // Certains exports produisent des int32 : le modèle ONNX manipule des identifiants de + // pièces, la conversion est sans perte pour tout vocabulaire réel. + Tensor tenseur = resultat.AsTensor(); + int[] valeurs = tenseur.ToArray(); + var converties = new long[valeurs.Length]; + for (int i = 0; i < valeurs.Length; i++) + { + converties[i] = valeurs[i]; + } + + return OnnxTensor.Entier(VersLongs(tenseur.Dimensions), converties); + } + + throw new TranslationException( + $"Sortie « {resultat.Name} » de type inattendu ({typeElement}) : réel ou entier attendu."); + } + + private static int[] VersDimensions(long[] dimensions) + { + var resultat = new int[dimensions.Length]; + for (int i = 0; i < dimensions.Length; i++) + { + resultat[i] = (int)dimensions[i]; + } + + return resultat; + } + + private static long[] VersLongs(ReadOnlySpan dimensions) + { + var resultat = new long[dimensions.Length]; + for (int i = 0; i < dimensions.Length; i++) + { + resultat[i] = dimensions[i]; + } + + return resultat; + } + + /// + public void Dispose() => _session.Dispose(); +} +#endif diff --git a/src/Omika.App.Local/Services/OnnxTranslationService.cs b/src/Omika.App.Local/Services/OnnxTranslationService.cs new file mode 100644 index 0000000..79d3397 --- /dev/null +++ b/src/Omika.App.Local/Services/OnnxTranslationService.cs @@ -0,0 +1,1260 @@ +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.Core.Contracts.Mobile.Languages; + +namespace Omika.App.Local.Services; + +/// +/// Réglages du pipeline ONNX de traduction. Regroupés ici parce qu'ils décrivent +/// le contrat d'entrées/sorties du modèle exporté : ils ne dépendent pas +/// de l'application mais de la façon dont le modèle a été exporté. +/// +/// +/// Les valeurs par défaut correspondent à l'export le plus répandu d'un modèle +/// de traduction séquence-à-séquence (Marian/OPUS-MT, NLLB) en ONNX : +/// input_ids / attention_mask en entrée, +/// decoder_input_ids / encoder_hidden_states / +/// encoder_attention_mask en entrée de décodeur, logits en sortie. +/// +/// +public sealed class OnnxTranslationOptions +{ + /// Nom de l'entrée des identifiants de pièces. + public string EntreeIdentifiants { get; set; } = "input_ids"; + + /// Nom de l'entrée du masque d'attention. + public string EntreeMasque { get; set; } = "attention_mask"; + + /// Nom de l'entrée des identifiants du décodeur. + public string EntreeIdentifiantsDecodeur { get; set; } = "decoder_input_ids"; + + /// Nom de l'entrée des états cachés de l'encodeur (décodeur). + public string EntreeEtatsEncodeur { get; set; } = "encoder_hidden_states"; + + /// Nom de l'entrée du masque de l'encodeur (décodeur). + public string EntreeMasqueEncodeur { get; set; } = "encoder_attention_mask"; + + /// Nom de la sortie de l'encodeur (états cachés). + public string SortieEncodeur { get; set; } = "last_hidden_state"; + + /// Nom de la sortie des logits. + public string SortieLogits { get; set; } = "logits"; + + /// + /// Nombre maximal de pièces générées par le décodeur. Borne le temps de + /// calcul : sans elle, un modèle qui ne produirait jamais son jeton de fin + /// boucherait le terminal. 160 pièces ≈ 120 mots, largement au-delà d'une + /// phrase dictée, et deux fois moins long qu'une borne à 256 sur un téléphone + /// où chaque pas coûte quelques centaines de millisecondes. + /// + public int LongueurMax { get; set; } = 160; + + /// Nombre maximal de pièces acceptées en entrée (garde-fou mémoire). + public int LongueurMaxEntree { get; set; } = 512; +} + +/// +/// Pipeline de traduction hors ligne fondé sur ONNX Runtime. +/// +/// +/// Le texte ne quitte jamais l'appareil. Ce service ne fait aucun appel +/// réseau : il lit les modèles déjà téléchargés et calcule la traduction +/// localement. +/// +/// +/// +/// Deux formes de modèles sont prises en charge, selon ce que contient le +/// pack installé : +/// +/// +/// encodeur + décodeur séparés — un fichier decoder.onnx est +/// présent en plus du modèle principal. Le modèle principal produit les états +/// cachés de la source, puis le décodeur génère la traduction jeton par jeton +/// (décodage glouton). +/// modèle unique — un seul fichier .onnx. Le graphe reçoit +/// input_ids (+ attention_mask) et produit directement la +/// séquence traduite, soit sous forme d'identifiants entiers +/// (output_ids), soit sous forme de logits +/// [1, longueur, vocabulaire] dont on prend l'argmax position par +/// position. +/// +/// +/// +/// Chargement paresseux. Ni le tokenizer ni les sessions ONNX ne sont +/// ouverts au démarrage de l'application : un modèle de 120 Mo ne doit pas être +/// chargé avant que l'utilisateur en ait besoin. Une fois ouvert, un modèle +/// reste en cache tant que l'application vit — le rouvrir à chaque phrase serait +/// inutilisable sur un téléphone. +/// +/// +/// +/// Thread d'interface. L'inférence est un calcul synchrone et long +/// (quelques centaines de millisecondes à plusieurs secondes selon l'appareil) : +/// elle est systématiquement exécutée hors du thread UI, sinon l'écran fige. +/// +/// +public sealed class OnnxTranslationService : ITranslationService, IDisposable +{ + /// + /// Nom du vocabulaire commun aux deux langues. Correct uniquement pour + /// un modèle à vocabulaire partagé (NLLB, mBART, M2M-100…). + /// + public const string FichierVocabulaire = "vocab.spm"; + + /// + /// Vocabulaire de la langue source (celle du texte à traduire). Un + /// modèle Marian/OPUS-MT a un vocabulaire par langue : celui-ci est + /// indispensable, car l'encodeur ne comprend que des identifiants issus de SON + /// vocabulaire. + /// + public const string FichierVocabulaireSource = "source.spm"; + + /// + /// Vocabulaire de la langue cible (celle du texte produit). Sans lui, un + /// modèle Marian produirait des identifiants décodés avec le mauvais + /// vocabulaire, c'est-à-dire du texte sans aucun sens. + /// + public const string FichierVocabulaireCible = "target.spm"; + + /// Nom attendu du modèle principal dans le pack. + public const string FichierEncodeur = "encoder.onnx"; + + /// Nom attendu du modèle de décodeur (facultatif) dans le pack. + public const string FichierDecodeur = "decoder.onnx"; + + /// + /// Métadonnées facultatives du sens (modele.json) : elles déclarent le + /// jeton de cible d'un modèle multilingue. Absent, le pack est traité + /// comme un modèle dédié à une seule paire — le comportement de tous les + /// packs antérieurs à ce fichier. Voir . + /// + public const string FichierMetadonnees = ModelePackMetadonnees.NomFichier; + + /// + /// Nombre de répétitions consécutives d'un même identifiant au-delà duquel la + /// génération est interrompue. Une traduction légitime ne répète jamais huit + /// fois le même morceau ; une boucle de décodeur, si. + /// + private const int RepetitionsTolerees = 8; + + private readonly ILanguagePackStore _store; + private readonly IOnnxInferenceSessionFactory _factory; + private readonly OnnxTranslationOptions _options; + + /// Protège le cache de modèles (chargement paresseux concurrent). + private readonly SemaphoreSlim _verrou = new(1, 1); + + private readonly Dictionary _modeles = new(StringComparer.Ordinal); + private bool _libere; + + public OnnxTranslationService( + ILanguagePackStore store, + IOnnxInferenceSessionFactory factory, + OnnxTranslationOptions? options = null) + { + ArgumentNullException.ThrowIfNull(store); + ArgumentNullException.ThrowIfNull(factory); + + _store = store; + _factory = factory; + _options = options ?? new OnnxTranslationOptions(); + } + + /// + public bool EstDisponible => _factory.EstDisponible; + + /// + public async Task EstInstalleeAsync( + string codeLangue, + SensTraduction sens, + CancellationToken cancellationToken = default) + { + if (!_factory.EstDisponible || !LanguagePaths.EstCodeValide(codeLangue)) + { + return false; + } + + PackLangueInstalle? pack = await _store.GetPackInstalleAsync(codeLangue, cancellationToken); + if (pack is null) + { + return false; + } + + // Le vocabulaire SOURCE suffit à considérer le pack utilisable : c'est lui + // qui permet d'encoder le texte dicté. Le vocabulaire cible retombe sur le + // source quand il est absent (modèle à vocabulaire partagé). + return TrouverVocabulaireSource(pack, sens) is not null && TrouverModele(pack, sens) is not null; + } + + /// + public async Task TraduireAsync( + string? texte, + string codeLangue, + SensTraduction sens, + CancellationToken cancellationToken = default) + { + if (string.IsNullOrWhiteSpace(texte)) + { + return string.Empty; + } + + if (!_factory.EstDisponible) + { + throw new TranslationException( + "Traduction hors ligne indisponible sur cet appareil."); + } + + if (!LanguagePaths.EstCodeValide(codeLangue)) + { + throw new TranslationException($"Langue inconnue : « {codeLangue} »."); + } + + ModeleCharge modele = await ObtenirModeleAsync(codeLangue, sens, cancellationToken); + + // Le texte n'est pas envoyé tel quel : la fin de phrase est ancrée avant + // l'inférence, puis les nombres de la sortie sont remplacés par les valeurs + // réellement saisies. Les mesures qui motivent ces deux étapes — et celle qui + // a fait écarter le masquage des nombres avant l'inférence — sont décrites + // dans PreparationTraduction. Le traitement s'applique aux deux sens : la + // dictée colle elle aussi des chiffres en fin de phrase. + PreparationTraduction preparation = PreparationTraduction.Depuis(texte); + + // L'inférence est un calcul long et synchrone : jamais sur le thread + // d'interface. + string brut = await Task.Run( + () => Traduire(modele, preparation.TexteModele, cancellationToken), cancellationToken); + + // Le point ajouté pour ancrer la phrase peut déstabiliser une suite de + // chiffres (mesuré : « 18h » devient « 6:00 »). Si des valeurs saisies ne se + // retrouvent plus dans la sortie, la source est retraduite telle quelle : une + // seconde inférence coûte moins qu'une heure fausse, et c'est la variante qui + // retrouve le plus de valeurs qui est retenue. + int retrouves = preparation.NombresRetrouves(brut); + if (preparation.PointAjoute && retrouves < preparation.Nombres.Count) + { + string sansAncrage = await Task.Run( + () => Traduire(modele, preparation.Source, cancellationToken), cancellationToken); + + if (preparation.NombresRetrouves(sansAncrage) > retrouves) + { + return preparation.Restituer(sansAncrage); + } + } + + return preparation.Restituer(brut); + } + + // ===== Chargement paresseux des modèles ===== + + /// Charge (ou récupère du cache) le tokenizer et les sessions d'un couple. + private async Task ObtenirModeleAsync( + string codeLangue, + SensTraduction sens, + CancellationToken cancellationToken) + { + string cle = $"{LanguagePaths.NormaliserCode(codeLangue)}|{sens.VersCode()}"; + + await _verrou.WaitAsync(cancellationToken); + try + { + ObjectDisposedException.ThrowIf(_libere, this); + + if (_modeles.TryGetValue(cle, out ModeleCharge? existant)) + { + return existant; + } + + PackLangueInstalle pack = await _store.GetPackInstalleAsync(codeLangue, cancellationToken) + ?? throw new TranslationException( + $"Les modèles de la langue « {codeLangue} » ne sont pas installés sur cet appareil. " + + "Installez la langue dans les Paramètres."); + + FichierModeleInstalle vocabulaireSource = TrouverVocabulaireSource(pack, sens) + ?? throw new TranslationException( + $"Le vocabulaire de la langue « {codeLangue} » est absent. " + + "Réinstallez la langue dans les Paramètres."); + + // Vocabulaire de sortie : celui de la langue cible s'il est fourni, + // sinon celui de l'entrée. Un modèle Marian a DEUX vocabulaires + // distincts : décoder avec celui de l'entrée produirait des + // identifiants interprétés dans le mauvais référentiel, donc du texte + // sans aucun sens — l'erreur la plus difficile à diagnostiquer. + FichierModeleInstalle vocabulaireCible = TrouverVocabulaireCible(pack, sens) ?? vocabulaireSource; + + FichierModeleInstalle modelePrincipal = TrouverModele(pack, sens) + ?? throw new TranslationException( + $"Le modèle de la langue « {codeLangue} » est absent. " + + "Réinstallez la langue dans les Paramètres."); + + string cheminVocabulaireSource = + _store.CheminFichier(codeLangue, vocabulaireSource.Sens, vocabulaireSource.NomFichier); + string cheminVocabulaireCible = + _store.CheminFichier(codeLangue, vocabulaireCible.Sens, vocabulaireCible.NomFichier); + string cheminModele = + _store.CheminFichier(codeLangue, modelePrincipal.Sens, modelePrincipal.NomFichier); + + ITextTokenizer tokenizerEntree; + ITextTokenizer tokenizerSortie; + try + { + tokenizerEntree = SentencePieceTokenizer.Charger(cheminVocabulaireSource); + tokenizerSortie = string.Equals( + cheminVocabulaireCible, cheminVocabulaireSource, StringComparison.Ordinal) + ? tokenizerEntree + : SentencePieceTokenizer.Charger(cheminVocabulaireCible); + } + catch (SentencePieceException ex) + { + throw new TranslationException( + $"Le vocabulaire de la langue « {codeLangue} » est illisible. " + + "Réinstallez la langue dans les Paramètres.", ex); + } + + string? cheminDecodeur = TrouverDecodeur(pack, sens) is { } fichierDecodeur + ? _store.CheminFichier(codeLangue, fichierDecodeur.Sens, fichierDecodeur.NomFichier) + : null; + + // Jeton de cible, vocabulaire et configuration : lus AVANT d'ouvrir les + // sessions, pour qu'un fichier corrompu échoue en un message clair plutôt + // qu'après avoir chargé plusieurs centaines de mégaoctets de poids. + string sensCourant = sens.VersCode(); + string? etiquetteCible = LireJetonCible(codeLangue, sensCourant); + VocabulaireModele? vocabulaire = LireVocabulaire(codeLangue, sensCourant); + ConfigurationModele? configuration = LireConfiguration(codeLangue, sensCourant); + int? idJetonCible = ResoudreJetonCible(codeLangue, etiquetteCible, vocabulaire); + + try + { + var charge = new ModeleCharge( + tokenizerEntree, + tokenizerSortie, + _factory.Ouvrir(cheminModele), + cheminDecodeur is null ? null : _factory.Ouvrir(cheminDecodeur), + vocabulaire, + idJetonCible, + configuration?.IdDebutDecodeur ?? IdDebutParDefaut(tokenizerSortie), + configuration?.IdFin ?? tokenizerSortie.IdFin, + ResoudreIdFinSource(vocabulaire, configuration, tokenizerEntree)); + + _modeles[cle] = charge; + return charge; + } + catch (TranslationException) + { + throw; + } + catch (Exception ex) + { + throw new TranslationException( + $"Le modèle de la langue « {codeLangue} » n'a pas pu être chargé.", ex); + } + } + finally + { + _verrou.Release(); + } + } + + // ===== Pipeline ===== + + /// Exécute le pipeline complet sur un modèle chargé (thread appelant). + private string Traduire(ModeleCharge modele, string source, CancellationToken cancellationToken) + { + // 1. Découpage par le fichier SentencePiece. 2. Conversion vers les identifiants + // DU MODÈLE : les deux numérotations ne coïncident pas (mesuré sur + // opus-mt-es-fr : la pièce ▁Ho vaut 5293 côté .spm et 584 côté modèle). + // Envoyer les identifiants du .spm reviendrait à faire lire un autre texte. + IReadOnlyList ids = modele.TokenizerEntree.EncodeAsync(source, cancellationToken) + .GetAwaiter().GetResult(); + + if (ids.Count == 0) + { + return string.Empty; + } + + if (modele.Vocabulaire is { } vocabulaire) + { + ids = vocabulaire.MapperIdentifiants(ids, modele.TokenizerEntree.PieceDe); + } + + // 3. Étiquette de langue des modèles multilingues : elle doit être un + // IDENTIFIANT du vocabulaire du modèle. Écrite comme du texte, le .spm la + // découperait en jetons inconnus — mesuré : [13285, 3279, 0, …] au lieu de + // [14666, …] — et le modèle garderait sa langue par défaut. + if (modele.IdJetonCible is { } idJeton) + { + ids = InsererJetonCible(ids, idJeton); + } + + if (ids.Count > _options.LongueurMaxEntree) + { + // Troncature explicite plutôt qu'un échec mémoire : la dictée est + // faite de phrases, jamais de pages entières. + var tronque = new List(_options.LongueurMaxEntree); + for (int i = 0; i < _options.LongueurMaxEntree; i++) + { + tronque.Add(ids[i]); + } + + ids = tronque; + } + + // 4. Jeton de FIN ajouté à la SOURCE. Ce n'est pas une option de style : + // tous les modèles Marian d'OPUS-MT (c'est-à-dire toutes les paires + // bilingues de ce catalogue) ont été entraînés sur des phrases terminées + // par « », et leur tokenizer officiel l'ajoute. Sans lui, le décodeur + // ne voit jamais la fin de la phrase source : mesuré sur es→fr, en→fr et + // de→fr, il traduit les deux ou trois premiers mots puis boucle + // (« le plafond le le le le… ») et ne produit JAMAIS son jeton de fin — + // la génération allait donc jusqu'à la borne de longueur, d'où l'attente + // interminable. Avec ce jeton, la même phrase donne « Le plafond était + // mouillé. » et la génération s'arrête au bout de 6 pas. + if (modele.IdFinSource >= 0) + { + ids = TerminerPar(ids, modele.IdFinSource); + } + + OnnxTensor masque = OnnxTensor.Masque(ids.Count); + + var entrees = new Dictionary(StringComparer.Ordinal); + AjouterEntree(entrees, modele.Principal, requis: true, OnnxTensor.Sequence(ids), + _options.EntreeIdentifiants, "input_ids", "source_ids", "inputs_ids"); + AjouterEntree(entrees, modele.Principal, requis: false, masque, + _options.EntreeMasque, "attention_mask", "input_mask", "source_mask"); + + IReadOnlyDictionary sorties = modele.Principal.Executer(entrees); + + if (modele.Decodeur is null) + { + // Modèle unique : la séquence traduite est lue directement, puis + // décodée avec le vocabulaire de la langue cible. + return Detokeniser(modele, LireSequenceTraduite(sorties), retirerAmorce: false); + } + + OnnxTensor etats = LireSortie(sorties, _options.SortieEncodeur, "encodeur"); + IReadOnlyList generes = GenererGlouton(modele, etats, masque, cancellationToken); + + return Detokeniser(modele, generes, retirerAmorce: true); + } + + /// + /// Décodage glouton : à chaque pas, le jeton de plus forte probabilité est + /// retenu, jusqu'au jeton de fin ou à + /// . + /// + private IReadOnlyList GenererGlouton( + ModeleCharge modele, + OnnxTensor etatsEncodeur, + OnnxTensor masqueSource, + CancellationToken cancellationToken) + { + IOnnxInferenceSession decodeur = modele.Decodeur!; + var ids = new List(_options.LongueurMax); + + // Amorce et fin viennent de la configuration du modèle (config.json) : un + // décodeur Marian ne démarre ni ne s'arrête sur / . Mesuré : + // 74821 / 0 sur opus-mt-es-fr, 35282 / 29158 sur opus-mt-tc-big-itc-itc. + // Sans configuration, on retombe sur les identifiants du .spm. + ids.Add(modele.IdDebutDecodeur); + + for (int pas = 0; pas < _options.LongueurMax; pas++) + { + cancellationToken.ThrowIfCancellationRequested(); + + var entrees = new Dictionary(StringComparer.Ordinal); + + // Les noms d'entrée d'un décodeur exporté ne sont PAS normalisés : le décodeur produit par + // l'outillage standard (optimum / torch.onnx.export) nomme son entrée « input_ids », pas + // « decoder_input_ids », et certains exports exposent « memory » au lieu de + // « encoder_hidden_states ». Les noms sont donc résolus sur le modèle réellement chargé, avec + // repli sur les conventions connues — sans quoi un modèle parfaitement valide échouerait. + AjouterEntree(entrees, decodeur, requis: true, OnnxTensor.Sequence(ids), + _options.EntreeIdentifiantsDecodeur, "decoder_input_ids", "input_ids", "decoder_ids"); + AjouterEntree(entrees, decodeur, requis: true, etatsEncodeur, + _options.EntreeEtatsEncodeur, "encoder_hidden_states", "encoder_outputs", "memory", "hidden_states"); + AjouterEntree(entrees, decodeur, requis: false, masqueSource, + _options.EntreeMasqueEncodeur, "encoder_attention_mask", "encoder_mask", "attention_mask"); + + OnnxTensor logits = LireSortie(decodeur.Executer(entrees), _options.SortieLogits, "décodeur"); + int suivant = ArgmaxDernierePosition(logits); + + if (suivant < 0) + { + break; + } + + ids.Add(suivant); + + if (suivant == modele.IdFinDecodeur) + { + break; + } + + // Filet de sécurité : un décodeur qui répète le même jeton (« le le le + // le… ») n'a plus rien à dire. On coupe la répétition plutôt que de + // la poursuivre jusqu'à la borne de longueur, qui coûterait plusieurs + // dizaines de secondes pour un résultat inutilisable. + int repetitions = CompterRepetitionsFinales(ids); + if (repetitions >= RepetitionsTolerees) + { + ids.RemoveRange(ids.Count - repetitions, repetitions); + break; + } + } + + return ids; + } + + /// + /// Nombre de fois que le dernier identifiant se répète à la fin de la + /// séquence (1 s'il apparaît une seule fois). + /// + private static int CompterRepetitionsFinales(IReadOnlyList ids) + { + if (ids.Count == 0) + { + return 0; + } + + int dernier = ids[^1]; + int repetitions = 0; + for (int i = ids.Count - 1; i >= 0 && ids[i] == dernier; i--) + { + repetitions++; + } + + return repetitions; + } + + /// + /// Lit la séquence traduite d'un modèle unique : identifiants entiers s'ils + /// sont exposés tels quels, sinon argmax du vocabulaire à chaque + /// position des logits. + /// + private IReadOnlyList LireSequenceTraduite(IReadOnlyDictionary sorties) + { + // Sortie entière explicite : la plus fiable, aucun choix à faire. + foreach (OnnxTensor sortie in sorties.Values) + { + if (sortie.DonneesEntieres is { } entiers && entiers.Length > 0) + { + var ids = new List(entiers.Length); + foreach (long valeur in entiers) + { + ids.Add((int)valeur); + } + + return ids; + } + } + + OnnxTensor logits = LireSortie(sorties, _options.SortieLogits, "modèle"); + + float[]? donnees = logits.DonneesReelles + ?? throw new TranslationException( + "Le modèle de traduction n'a produit aucune sortie exploitable."); + + long[] dimensions = logits.Dimensions; + if (dimensions.Length < 2) + { + throw new TranslationException( + "Le modèle de traduction a produit une sortie de forme inattendue."); + } + + int vocabulaire = (int)dimensions[^1]; + int positions = (int)dimensions[^2]; + + if (vocabulaire <= 0 || positions <= 0 || (long)vocabulaire * positions > donnees.Length) + { + throw new TranslationException( + "Le modèle de traduction a produit une sortie incohérente."); + } + + var resultat = new List(positions); + for (int position = 0; position < positions; position++) + { + int decalage = position * vocabulaire; + int meilleur = 0; + float meilleureValeur = donnees[decalage]; + + for (int i = 1; i < vocabulaire; i++) + { + float valeur = donnees[decalage + i]; + if (valeur > meilleureValeur) + { + meilleureValeur = valeur; + meilleur = i; + } + } + + resultat.Add(meilleur); + } + + return resultat; + } + + /// + /// Retourne l'index du maximum sur la dernière position de la + /// séquence. Les logits d'un décodeur sont de forme + /// [1, longueur, vocabulaire] : seules les valeurs de la dernière + /// position importent, les précédentes ayant déjà été consommées. + /// + private static int ArgmaxDernierePosition(OnnxTensor logits) + { + float[]? donnees = logits.DonneesReelles; + if (donnees is null || donnees.Length == 0) + { + return -1; + } + + long[] dimensions = logits.Dimensions; + int vocabulaire = dimensions.Length >= 1 ? (int)dimensions[^1] : donnees.Length; + if (vocabulaire <= 0 || vocabulaire > donnees.Length) + { + vocabulaire = donnees.Length; + } + + long positions = dimensions.Length >= 2 ? Math.Max(1, dimensions[^2]) : 1; + int decalage = (int)(positions - 1) * vocabulaire; + if (decalage < 0 || decalage + vocabulaire > donnees.Length) + { + decalage = donnees.Length - vocabulaire; + } + + int meilleur = 0; + float meilleureValeur = donnees[decalage]; + for (int i = 1; i < vocabulaire; i++) + { + float valeur = donnees[decalage + i]; + if (valeur > meilleureValeur) + { + meilleureValeur = valeur; + meilleur = i; + } + } + + return meilleur; + } + + /// + /// Ajoute une entrée au dictionnaire sous le nom que le modèle expose + /// réellement, en essayant les conventions connues dans l'ordre. + /// + /// + /// Pourquoi cette résolution. Les noms d'entrée/sortie d'un modèle ONNX + /// dépendent entièrement de l'outil d'export : le décodeur produit par + /// optimum nomme son entrée input_ids (et non + /// decoder_input_ids), et certains exports exposent memory au lieu + /// de encoder_hidden_states. Coder un seul nom en dur ferait échouer un + /// modèle parfaitement valide, avec un message du moteur incompréhensible. + /// + /// + /// + /// Quand une entrée obligatoire est introuvable, l'erreur énumère les + /// entrées réellement exposées par le modèle : c'est l'information qui permet de + /// corriger en une minute, au lieu de deviner. + /// + /// + private static void AjouterEntree( + Dictionary entrees, + IOnnxInferenceSession session, + bool requis, + OnnxTensor valeur, + params string[] candidats) + { + foreach (string candidat in candidats) + { + foreach (string nom in session.NomsEntrees) + { + if (string.Equals(nom, candidat, StringComparison.Ordinal)) + { + entrees[nom] = valeur; + return; + } + } + } + + if (!requis) + { + // Entrée facultative (masque d'attention) : son absence est un cas + // normal, le modèle s'en passe. + return; + } + + if (session.NomsEntrees.Count == 0 && candidats.Length > 0) + { + // Modèle qui n'annonce aucune entrée (session de test, export + // atypique) : on retombe sur la convention principale plutôt que + // d'échouer sans raison. + entrees[candidats[0]] = valeur; + return; + } + + throw new TranslationException( + $"Le modèle de traduction n'expose aucune des entrées attendues ({string.Join(", ", candidats)}). " + + $"Entrées réellement exposées par le modèle : {string.Join(", ", session.NomsEntrees)}."); + } + + /// Lit une sortie nommée, avec repli sur la première sortie du modèle. + private static OnnxTensor LireSortie( + IReadOnlyDictionary sorties, string nomAttendu, string role) + { + if (sorties.TryGetValue(nomAttendu, out OnnxTensor? trouvee)) + { + return trouvee; + } + + // Export aux noms différents : la première sortie du graphe est utilisée. + // Cela reste sans ambiguïté pour un modèle de traduction, qui n'expose + // qu'une sortie exploitable. + foreach (OnnxTensor sortie in sorties.Values) + { + return sortie; + } + + throw new TranslationException($"Le modèle {role} n'a produit aucune sortie exploitable."); + } + + /// Reconstruit le texte à partir des identifiants produits par le modèle. + private static string Detokeniser( + ModeleCharge modele, IReadOnlyList ids, bool retirerAmorce) + { + int debut = retirerAmorce ? 1 : 0; + if (ids.Count <= debut) + { + return string.Empty; + } + + var retenus = new List(ids.Count); + for (int i = debut; i < ids.Count; i++) + { + retenus.Add(ids[i]); + } + + // Le jeton de fin de séquence ne fait pas partie du texte. + if (retenus.Count > 0 && modele.IdFinDecodeur >= 0 && retenus[^1] == modele.IdFinDecodeur) + { + retenus.RemoveAt(retenus.Count - 1); + } + + // Les identifiants appartiennent au vocabulaire du MODÈLE : on repasse par les + // pièces, seul langage commun avec le fichier SentencePiece. Sans vocabulaire + // (pack ancien), la numérotation est réputée être celle du .spm. + if (modele.Vocabulaire is { } vocabulaire) + { + return modele.TokenizerSortie.DecodePieces(vocabulaire.PiecesDeIds(retenus)).Trim(); + } + + return modele.TokenizerSortie.Decode(retenus).Trim(); + } + + /// + /// Amorce de repli quand le pack ne déclare pas de configuration : le jeton de + /// début du vocabulaire, à défaut le jeton inconnu — jamais un index arbitraire. + /// + private static int IdDebutParDefaut(ITextTokenizer tokenizer) + => tokenizer.IdDebut >= 0 ? tokenizer.IdDebut : Math.Max(0, tokenizer.IdTokenInconnu); + + // ===== Jeton de cible (modèles multilingues) ===== + + /// + /// Ajoute le jeton de fin de phrase à la source (dernière position). + /// + /// + /// Pourquoi la source et non la cible. Un modèle Marian d'OPUS-MT a été + /// entraîné sur des phrases d'entrée terminées par </s> ; ce jeton + /// n'est pas du texte, c'est le signal « la phrase est finie » sur lequel le + /// décodeur s'appuie pour savoir qu'il a tout lu. Omis, le décodeur s'arrête au + /// milieu de la phrase source puis boucle sur le dernier mot traduit. + /// + /// + /// + /// La cible n'a pas besoin de ce jeton : le décodeur le produit lui-même, et + /// c'est justement lui qui termine la génération. + /// + /// + public static IReadOnlyList TerminerPar(IReadOnlyList ids, int idFin) + { + ArgumentNullException.ThrowIfNull(ids); + + // Un identifiant négatif n'existe pas : rien à ajouter. Un jeton déjà + // présent en dernière position n'est pas dupliqué. + if (idFin < 0 || (ids.Count > 0 && ids[^1] == idFin)) + { + return ids; + } + + var termines = new List(ids.Count + 1); + foreach (int id in ids) + { + termines.Add(id); + } + + termines.Add(idFin); + return termines; + } + + /// + /// Identifiant à placer en fin de la séquence source (le + /// </s> des modèles Marian). Préférence au vocabulaire du modèle — + /// c'est lui qui fixe la numérotation réellement lue par l'encodeur —, puis à + /// config.json, puis au fichier SentencePiece (seule numérotation + /// disponible pour un pack ancien). -1 si aucun ne le déclare. + /// + private static int ResoudreIdFinSource( + VocabulaireModele? vocabulaire, + ConfigurationModele? configuration, + ITextTokenizer tokenizerEntree) + { + if (vocabulaire?.IdFin is int id && id >= 0) + { + return id; + } + + if (configuration?.IdFin is int idConfiguration && idConfiguration >= 0) + { + return idConfiguration; + } + + return tokenizerEntree.IdFin; + } + + /// + /// Place l'étiquette de langue en tête de la séquence d'identifiants + /// ([14666, 6636, 5, …] pour >>fra<<). + /// + /// + /// C'est un identifiant et non un préfixe de texte : mesuré sur + /// opus-mt-tc-big-itc-itc, le fichier .spm ne contient aucune + /// étiquette >>…<< et découperait le texte en jetons inconnus. + /// Le préfixe n'apparaît jamais dans la sortie. + /// + /// + public static IReadOnlyList InsererJetonCible(IReadOnlyList ids, int idJeton) + { + ArgumentNullException.ThrowIfNull(ids); + + if (idJeton < 0) + { + return ids; + } + + var avecJeton = new List(ids.Count + 1) { idJeton }; + foreach (int id in ids) + { + avecJeton.Add(id); + } + + return avecJeton; + } + + /// + /// Jeton de cible déclaré par le pack pour ce sens, ou + /// si le pack n'a pas de modele.json (modèle dédié). + /// + /// + /// Un fichier présent mais inexploitable lève une + /// : traduire sans le jeton demandé + /// produirait la mauvaise langue sans aucun signe d'erreur. + /// + /// + private string? LireJetonCible(string codeLangue, string sens) + { + string chemin = _store.CheminFichier(codeLangue, sens, FichierMetadonnees); + if (!File.Exists(chemin)) + { + return null; + } + + try + { + ModelePackMetadonnees? metadonnees = ModelePackMetadonnees.DepuisJson(File.ReadAllText(chemin)); + return metadonnees is { AjouteUnJeton: true } ? metadonnees.JetonCible : null; + } + catch (FormatException ex) + { + throw new TranslationException( + $"Les métadonnées de la langue « {codeLangue} » sont inexploitables ({ex.Message}). " + + "Réinstallez la langue dans les Paramètres.", ex); + } + catch (Exception ex) when (ex is IOException or UnauthorizedAccessException) + { + throw new TranslationException( + $"Les métadonnées de la langue « {codeLangue} » n'ont pas pu être lues. " + + "Réinstallez la langue dans les Paramètres.", ex); + } + } + + /// + /// Vocabulaire du modèle (vocab.json) pour ce sens, ou + /// si le pack n'en contient pas (pack ancien, dont les + /// identifiants sont ceux du .spm). + /// + /// + /// Ce fichier est indispensable à tout modèle dont le .spm et le + /// vocabulaire d'entraînement ne sont pas numérotés pareil — c'est le cas de + /// tous les modèles Marian mesurés. Un fichier présent mais illisible lève une + /// erreur : sans lui, le modèle lirait un autre texte, sans le dire. + /// + /// + private VocabulaireModele? LireVocabulaire(string codeLangue, string sens) + { + string? chemin = CheminOptionnel(codeLangue, sens, VocabulaireModele.NomFichier); + if (chemin is null) + { + return null; + } + + try + { + return VocabulaireModele.DepuisJson(File.ReadAllText(chemin)); + } + catch (FormatException ex) + { + throw new TranslationException( + $"Le vocabulaire de la langue « {codeLangue} » est inexploitable ({ex.Message}). " + + "Réinstallez la langue dans les Paramètres.", ex); + } + catch (Exception ex) when (ex is IOException or UnauthorizedAccessException) + { + throw new TranslationException( + $"Le vocabulaire de la langue « {codeLangue} » n'a pas pu être lu. " + + "Réinstallez la langue dans les Paramètres.", ex); + } + } + + /// + /// Conventions de génération du modèle (config.json) pour ce sens, ou + /// si le pack n'en contient pas. + /// + private ConfigurationModele? LireConfiguration(string codeLangue, string sens) + { + string? chemin = CheminOptionnel(codeLangue, sens, ConfigurationModele.NomFichier); + if (chemin is null) + { + return null; + } + + try + { + return ConfigurationModele.DepuisJson(File.ReadAllText(chemin)); + } + catch (FormatException ex) + { + throw new TranslationException( + $"La configuration de la langue « {codeLangue} » est inexploitable ({ex.Message}). " + + "Réinstallez la langue dans les Paramètres.", ex); + } + catch (Exception ex) when (ex is IOException or UnauthorizedAccessException) + { + throw new TranslationException( + $"La configuration de la langue « {codeLangue} » n'a pas pu être lue. " + + "Réinstallez la langue dans les Paramètres.", ex); + } + } + + /// + /// Chemin d'un fichier facultatif du pack : dossier du sens demandé d'abord, + /// puis dossier partagé commun. si aucun des deux + /// ne le contient. + /// + private string? CheminOptionnel(string codeLangue, string sens, string nomFichier) + { + string chemin = _store.CheminFichier(codeLangue, sens, nomFichier); + if (File.Exists(chemin)) + { + return chemin; + } + + string partage = _store.CheminFichier(codeLangue, LanguageModelDirections.Commun, nomFichier); + return File.Exists(partage) ? partage : null; + } + + /// + /// Traduit l'étiquette de langue déclarée par le pack (>>fra<<) + /// en identifiant du vocabulaire du modèle. + /// + /// + /// Une étiquette déclarée mais introuvable dans vocab.json est une + /// erreur, jamais un silence : le modèle produirait alors sa langue par + /// défaut, c'est-à-dire du texte parfaitement lisible dans la mauvaise langue. + /// + /// + private static int? ResoudreJetonCible(string codeLangue, string? etiquette, VocabulaireModele? vocabulaire) + { + if (string.IsNullOrWhiteSpace(etiquette)) + { + return null; + } + + if (vocabulaire is null) + { + throw new TranslationException( + $"La langue « {codeLangue} » utilise une étiquette de langue ({etiquette}) " + + "mais son vocabulaire (vocab.json) est absent : le pack est incomplet. " + + "Réinstallez la langue dans les Paramètres."); + } + + int? id = vocabulaire.IdDePiece(etiquette); + if (id is null) + { + throw new TranslationException( + $"L'étiquette de langue « {etiquette} » est absente du vocabulaire de la langue " + + $"« {codeLangue} ». Réinstallez la langue dans les Paramètres."); + } + + return id; + } + + // ===== Recherche des fichiers du pack ===== + + /// + /// Fichiers disponibles pour un sens : ceux du dossier du sens demandé, + /// puis ceux du dossier partagé commun. + /// + /// + /// L'ordre est la règle de priorité : un pack qui fournit son propre + /// vocabulaire dans le dossier du sens l'emporte ; un modèle multilingue + /// déclare ses 1,15 Go une seule fois sous commun, et ses deux sens + /// les utilisent. Sans ce partage, le même fichier serait téléchargé deux + /// fois sur chaque téléphone. + /// + /// + private static IEnumerable FichiersDuSens( + PackLangueInstalle pack, SensTraduction sens) + { + string code = sens.VersCode(); + foreach (FichierModeleInstalle fichier in pack.Fichiers) + { + if (string.Equals(fichier.Sens, code, StringComparison.Ordinal)) + { + yield return fichier; + } + } + + foreach (FichierModeleInstalle fichier in pack.Fichiers) + { + if (string.Equals(fichier.Sens, LanguageModelDirections.Commun, StringComparison.Ordinal)) + { + yield return fichier; + } + } + } + + /// + /// Vocabulaire d'ENTRÉE du sens demandé : « source.spm » s'il existe, sinon + /// « vocab.spm » (modèle à vocabulaire partagé), sinon le premier .spm. + /// + private static FichierModeleInstalle? TrouverVocabulaireSource( + PackLangueInstalle pack, SensTraduction sens) + => TrouverVocabulaire(pack, sens, [FichierVocabulaireSource, FichierVocabulaire]); + + /// + /// Vocabulaire de SORTIE du sens demandé : « target.spm » s'il existe, sinon + /// « vocab.spm », sinon le premier .spm. signifie + /// « même vocabulaire que l'entrée », ce qui est le cas d'un modèle à + /// vocabulaire partagé. + /// + private static FichierModeleInstalle? TrouverVocabulaireCible( + PackLangueInstalle pack, SensTraduction sens) + => TrouverVocabulaire(pack, sens, [FichierVocabulaireCible, FichierVocabulaire]); + + /// + /// Cherche un vocabulaire par ordre de préférence de noms. Le premier + /// .spm rencontré sert de repli quand aucun nom attendu n'est présent. + /// + private static FichierModeleInstalle? TrouverVocabulaire( + PackLangueInstalle pack, SensTraduction sens, string[] nomsPreferes) + { + FichierModeleInstalle? premier = null; + + foreach (FichierModeleInstalle fichier in FichiersDuSens(pack, sens)) + { + if (!fichier.NomFichier.EndsWith(".spm", StringComparison.OrdinalIgnoreCase)) + { + continue; + } + + foreach (string nom in nomsPreferes) + { + if (string.Equals(fichier.NomFichier, nom, StringComparison.OrdinalIgnoreCase)) + { + return fichier; + } + } + + premier ??= fichier; + } + + return premier; + } + + /// + /// Modèle ONNX principal du sens demandé : « encoder.onnx » s'il existe, + /// sinon le premier fichier .onnx du sens qui n'est pas le décodeur. + /// + private static FichierModeleInstalle? TrouverModele( + PackLangueInstalle pack, SensTraduction sens) + { + FichierModeleInstalle? premier = null; + + foreach (FichierModeleInstalle fichier in FichiersDuSens(pack, sens)) + { + if (!fichier.NomFichier.EndsWith(".onnx", StringComparison.OrdinalIgnoreCase)) + { + continue; + } + + if (string.Equals(fichier.NomFichier, FichierEncodeur, StringComparison.OrdinalIgnoreCase)) + { + return fichier; + } + + if (EstDecodeur(fichier)) + { + continue; + } + + premier ??= fichier; + } + + return premier; + } + + /// + /// Décodeur séparé du sens demandé : un fichier .onnx dont le nom + /// contient « decoder », distinct du modèle principal. + /// + private static FichierModeleInstalle? TrouverDecodeur( + PackLangueInstalle pack, SensTraduction sens) + { + foreach (FichierModeleInstalle fichier in FichiersDuSens(pack, sens)) + { + if (EstDecodeur(fichier)) + { + return fichier; + } + } + + return null; + } + + /// + /// Vrai si le fichier est un décodeur séparé. Le modèle principal ne peut + /// jamais être pris pour un décodeur, même s'il s'appelle « encoder.onnx ». + /// + /// + /// Les variantes *_with_past* sont exclues : ce sont des décodeurs + /// à cache de clés/valeurs (past_key_values) destinés à la génération + /// incrémentale. Ils attendent des entrées que ce pipeline ne fournit pas — les + /// prendre pour le décodeur principal produirait un échec d'inférence + /// incompréhensible, alors que l'outillage standard exporte les DEUX fichiers + /// côte à côte. + /// + /// + private static bool EstDecodeur(FichierModeleInstalle fichier) + => fichier.NomFichier.EndsWith(".onnx", StringComparison.OrdinalIgnoreCase) + && !string.Equals(fichier.NomFichier, FichierEncodeur, StringComparison.OrdinalIgnoreCase) + && !fichier.NomFichier.Contains("past", StringComparison.OrdinalIgnoreCase) + && fichier.NomFichier.Contains("decoder", StringComparison.OrdinalIgnoreCase); + + /// + public void Dispose() + { + if (_libere) + { + return; + } + + _libere = true; + + foreach (ModeleCharge modele in _modeles.Values) + { + modele.Dispose(); + } + + _modeles.Clear(); + _verrou.Dispose(); + } + + /// + /// Modèle chargé pour un couple (langue, sens) : tokenizer + sessions ONNX. + /// + private sealed class ModeleCharge : IDisposable + { + public ModeleCharge( + ITextTokenizer tokenizerEntree, + ITextTokenizer tokenizerSortie, + IOnnxInferenceSession principal, + IOnnxInferenceSession? decodeur, + VocabulaireModele? vocabulaire, + int? idJetonCible, + int idDebutDecodeur, + int idFinDecodeur, + int idFinSource) + { + TokenizerEntree = tokenizerEntree; + TokenizerSortie = tokenizerSortie; + Principal = principal; + Decodeur = decodeur; + Vocabulaire = vocabulaire; + IdJetonCible = idJetonCible; + IdDebutDecodeur = idDebutDecodeur; + IdFinDecodeur = idFinDecodeur; + IdFinSource = idFinSource; + } + + /// + /// Vocabulaire du modèle (vocab.json), ou + /// pour un pack ancien dont les identifiants sont ceux du .spm. + /// + public VocabulaireModele? Vocabulaire { get; } + + /// + /// Identifiant de l'étiquette de langue à placer en tête de la source + /// (>>fra<< → 14666), ou pour un + /// modèle dédié à une seule paire. + /// + public int? IdJetonCible { get; } + + /// + /// Identifiant d'amorce du décodeur, lu dans config.json (repli : + /// <s> du vocabulaire pour les packs anciens). + /// + public int IdDebutDecodeur { get; } + + /// + /// Identifiant de fin de séquence, lu dans config.json (repli : + /// </s> du vocabulaire pour les packs anciens). + /// + public int IdFinDecodeur { get; } + + /// + /// Identifiant à ajouter en fin de séquence source + /// (</s>), ou -1 si le pack n'en déclare aucun. + /// Voir . + /// + public int IdFinSource { get; } + + /// Tokeniseur de la langue source : sert à encoder le texte à traduire. + public ITextTokenizer TokenizerEntree { get; } + + /// + /// Tokeniseur de la langue cible : sert à décoder les identifiants produits et à reconnaître les + /// jetons de début et de fin du décodeur. Identique à quand le modèle + /// partage un seul vocabulaire. + /// + public ITextTokenizer TokenizerSortie { get; } + + public IOnnxInferenceSession Principal { get; } + + public IOnnxInferenceSession? Decodeur { get; } + + public void Dispose() + { + Principal.Dispose(); + Decodeur?.Dispose(); + } + } +} diff --git a/src/Omika.App.Local/Services/OutboxService.cs b/src/Omika.App.Local/Services/OutboxService.cs new file mode 100644 index 0000000..da43523 --- /dev/null +++ b/src/Omika.App.Local/Services/OutboxService.cs @@ -0,0 +1,70 @@ +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; +using Omika.Core.Contracts.Mobile.Sync; + +namespace Omika.App.Local.Services; + +/// +/// Service de l'Outbox locale. Chaque mutation métier locale produit une +/// opération Outbox via . +/// +public sealed class OutboxService : IOutboxService +{ + private readonly IOutboxRepository _outboxRepository; + private readonly IBackgroundSyncService? _backgroundSync; + + /// Persistance de la file locale. + /// + /// Surveillance de fond à réveiller après chaque écriture locale, afin que la + /// donnée part dès que le réseau est disponible sans action de l'utilisateur. + /// quand aucune surveillance n'est installée (tests, + /// écran d'activation) : la file reste envoyée par le cycle manuel. + /// + public OutboxService( + IOutboxRepository outboxRepository, + IBackgroundSyncService? backgroundSync = null) + { + _outboxRepository = outboxRepository; + _backgroundSync = backgroundSync; + } + + public async Task EnqueueAsync( + string entityType, + SyncOperationType operationType, + Guid requestedEntityGuid, + string payload, + string? dependencyEntityType = null, + Guid? dependencyRequestedEntityGuid = null, + CancellationToken cancellationToken = default) + { + ArgumentException.ThrowIfNullOrWhiteSpace(entityType); + ArgumentNullException.ThrowIfNull(payload); + + var operation = new OutboxOperation + { + OperationId = Guid.NewGuid(), + EntityType = entityType, + OperationType = operationType, + RequestedEntityGuid = requestedEntityGuid, + Payload = payload, + State = OutboxState.Pending, + DependencyEntityType = dependencyEntityType, + DependencyRequestedEntityGuid = dependencyRequestedEntityGuid + }; + + await _outboxRepository.AddAsync(operation, cancellationToken); + + // La donnée est écrite en local (offline-first) : on réveille la + // surveillance de fond pour qu'elle soit envoyée immédiatement si le + // réseau est disponible. La synchronisation manuelle reste disponible. + _backgroundSync?.RequestSync(); + + return operation.OperationId; + } + + public Task CountPendingAsync(CancellationToken cancellationToken = default) + => _outboxRepository.CountPendingAsync(cancellationToken); + + public Task CountNotYetSentAsync(CancellationToken cancellationToken = default) + => _outboxRepository.CountNotYetSentAsync(cancellationToken); +} diff --git a/src/Omika.App.Local/Services/ParametreMetierLocalService.cs b/src/Omika.App.Local/Services/ParametreMetierLocalService.cs new file mode 100644 index 0000000..ac54231 --- /dev/null +++ b/src/Omika.App.Local/Services/ParametreMetierLocalService.cs @@ -0,0 +1,262 @@ +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; +using Omika.Core.Contracts.Common; +using Omika.Core.Contracts.Configuration; + +namespace Omika.App.Local.Services; + +/// +/// Service de lecture du référentiel ParametreMetier depuis le bootstrap local +/// SQLite. Ne déclenche aucun appel API : les données proviennent exclusivement +/// du dernier bootstrap local (colonne ParametresMetierJson). +/// +/// La catégorie d'un paramètre métier est identifiée de façon unifiée : +/// +/// Batik : PA_Code (code numérique, ex. « 06 » = Type de +/// dossier, « 07 » = Statut de dossier) ; +/// Omika : PA_Code conserve le code numérique historique et +/// PA_Categorie porte la catégorie sémantique (« TYPE.DOSSIER », …). +/// +/// Dans les deux cas, le code numérique PA_Code est disponible : c'est la +/// clé de regroupement utilisée ici, complétée par la catégorie sémantique Omika +/// pour rester robuste à une base Omika dont PA_Code serait absent. +/// +public sealed class ParametreMetierLocalService : IParametreMetierLocalService +{ + /// Valeur métier identifiant le groupe TypeTemps (Batik et Omika). + private const string TypeTempsCode = "18"; + + /// Valeur métier identifiant le groupe TypeRDV (Batik et Omika). + private const string TypeRdvCode = "14"; + + /// Catégorie sémantique Omika du groupe TypeRDV. + private const string TypeRdvCategorie = "T.RDV"; + + /// Valeur métier identifiant le groupe StatutRDV (Batik et Omika). + private const string StatutRdvCode = "15"; + + /// Catégorie sémantique Omika du groupe StatutRDV. + private const string StatutRdvCategorie = "S.RDV"; + + // Codes numériques Batik (PA_Code) — conservés par Omika. + private const string TypeDossierCode = "06"; + private const string StatutDossierCode = "07"; + private const string TypeClientCode = "02"; + private const string StatutClientCode = "03"; + private const string TypeLieuCode = "08"; + private const string TypeInterCode = "12"; + private const string EtatInterCode = "13"; + private const string TypeSignataireCode = "32"; + private const string OrigineAnnulationCode = "34"; + private const string MotifAnnulationCode = "35"; + + // Catégories sémantiques Omika (PA_Categorie) — repli si PA_Code absent. + private const string TypeDossierCategorie = "TYPE.DOSSIER"; + private const string StatutDossierCategorie = "STATUT.DOSSIER"; + private const string TypeClientCategorie = "TYPE.CLIENT"; + private const string StatutClientCategorie = "STATUT.CLIENT"; + private const string TypeLieuCategorie = "TYPE.LIEU"; + private const string TypeInterCategorie = "TYPE.INTER"; + private const string EtatInterCategorie = "ETAT.INTER"; + private const string TypeSignataireCategorie = "T.SIGN"; + private const string OrigineAnnulationCategorie = "O.ANU.RDV"; + private const string MotifAnnulationCategorie = "M.ANU.RDV"; + + private readonly IMobileSessionService _sessionService; + + public ParametreMetierLocalService(IMobileSessionService sessionService) + { + ArgumentNullException.ThrowIfNull(sessionService); + _sessionService = sessionService; + } + + /// + public async Task> GetTypeTempsAsync( + CancellationToken cancellationToken = default) + { + LocalBootstrapState? bootstrap = await _sessionService.GetBootstrapAsync(cancellationToken); + if (bootstrap is null) + { + return []; + } + + return bootstrap.ParametresMetier + .Where(p => !string.IsNullOrWhiteSpace(p.Id) && IsTypeTemps(p)) + .OrderBy(p => p.Ordre) + .Select(ToReferenceValue) + .ToList(); + } + + /// + public async Task GetTypeTempsParametresAsync( + string typeTempsKey, + CancellationToken cancellationToken = default) + { + ParametreMetierDto? parametre = await FindAsync(typeTempsKey, IsTypeTemps, cancellationToken); + return ParametreMetierParametresParser.ParseTypeTemps(parametre?.Parametre); + } + + /// + public async Task> GetTypeTempsAvecParametresAsync( + CancellationToken cancellationToken = default) + { + LocalBootstrapState? bootstrap = await _sessionService.GetBootstrapAsync(cancellationToken); + if (bootstrap is null) + { + return []; + } + + return bootstrap.ParametresMetier + .Where(p => !string.IsNullOrWhiteSpace(p.Id) && IsTypeTemps(p)) + .OrderBy(p => p.Ordre) + .Select(p => new TypeTempsParametre( + ToReferenceValue(p), + ParametreMetierParametresParser.ParseTypeTemps(p.Parametre))) + .ToList(); + } + + /// + public async Task GetTypeRdvParametresAsync( + string typeRdvKey, + CancellationToken cancellationToken = default) + { + ParametreMetierDto? parametre = await FindAsync(typeRdvKey, IsTypeRdv, cancellationToken); + return ParametreMetierParametresParser.ParseTypeRdv(parametre?.Parametre); + } + + /// + public async Task GetStatutRdvParametresAsync( + string statutRdvKey, + CancellationToken cancellationToken = default) + { + ParametreMetierDto? parametre = await FindAsync(statutRdvKey, IsStatutRdv, cancellationToken); + return ParametreMetierParametresParser.ParseStatutRdv(parametre?.Parametre); + } + + /// + public Task> GetInterventionTypesAsync( + CancellationToken cancellationToken = default) + => GetByCategoryAsync(TypeInterCode, TypeInterCategorie, cancellationToken); + + /// + public Task> GetInterventionEtatsAsync( + CancellationToken cancellationToken = default) + => GetByCategoryAsync(EtatInterCode, EtatInterCategorie, cancellationToken); + + /// + public Task> GetDossierTypesAsync( + CancellationToken cancellationToken = default) + => GetByCategoryAsync(TypeDossierCode, TypeDossierCategorie, cancellationToken); + + /// + public Task> GetDossierStatutsAsync( + CancellationToken cancellationToken = default) + => GetByCategoryAsync(StatutDossierCode, StatutDossierCategorie, cancellationToken); + + /// + public Task> GetClientTypesAsync( + CancellationToken cancellationToken = default) + => GetByCategoryAsync(TypeClientCode, TypeClientCategorie, cancellationToken); + + /// + public Task> GetClientStatutsAsync( + CancellationToken cancellationToken = default) + => GetByCategoryAsync(StatutClientCode, StatutClientCategorie, cancellationToken); + + /// + public Task> GetSiteTypesAsync( + CancellationToken cancellationToken = default) + => GetByCategoryAsync(TypeLieuCode, TypeLieuCategorie, cancellationToken); + + /// + public Task> GetTypeSignatairesAsync( + CancellationToken cancellationToken = default) + => GetByCategoryAsync(TypeSignataireCode, TypeSignataireCategorie, cancellationToken); + + /// + public Task> GetOriginesAnnulationAsync( + CancellationToken cancellationToken = default) + => GetByCategoryAsync(OrigineAnnulationCode, OrigineAnnulationCategorie, cancellationToken); + + /// + public Task> GetMotifsAnnulationAsync( + CancellationToken cancellationToken = default) + => GetByCategoryAsync(MotifAnnulationCode, MotifAnnulationCategorie, cancellationToken); + + /// + /// Filtre les paramètres métier par catégorie. Le code numérique Batik + /// () est prioritaire ; la catégorie sémantique Omika + /// () sert de repli. Seuls les paramètres + /// visibles et porteurs d'une clé métier sont retournés, dans l'ordre métier. + /// + private async Task> GetByCategoryAsync( + string code, + string? categorie, + CancellationToken cancellationToken) + { + LocalBootstrapState? bootstrap = await _sessionService.GetBootstrapAsync(cancellationToken); + if (bootstrap is null) + { + return []; + } + + return bootstrap.ParametresMetier + .Where(p => !string.IsNullOrWhiteSpace(p.Id) + && p.Visible + && (string.Equals(p.Code, code, StringComparison.OrdinalIgnoreCase) + || (categorie is not null + && string.Equals(p.Categorie, categorie, StringComparison.OrdinalIgnoreCase)))) + .OrderBy(p => p.Ordre) + .Select(ToReferenceValue) + .ToList(); + } + + private static ReferenceValueDto ToReferenceValue(ParametreMetierDto p) + => new() + { + Key = p.Id, + Code = p.Code, + Label = string.IsNullOrWhiteSpace(p.Libelle) ? p.Id : p.Libelle + }; + + /// + /// Détermine si un paramètre métier appartient au référentiel TypeTemps. + /// Batik porte le groupe sur PA_Code, Omika sur PA_Categorie. + /// + private static bool IsTypeTemps(ParametreMetierDto parametre) + => string.Equals(parametre.Code, TypeTempsCode, StringComparison.OrdinalIgnoreCase) + || string.Equals(parametre.Categorie, TypeTempsCode, StringComparison.OrdinalIgnoreCase); + + /// Détermine si un paramètre métier appartient au référentiel TypeRDV. + private static bool IsTypeRdv(ParametreMetierDto parametre) + => string.Equals(parametre.Code, TypeRdvCode, StringComparison.OrdinalIgnoreCase) + || string.Equals(parametre.Categorie, TypeRdvCategorie, StringComparison.OrdinalIgnoreCase); + + /// Détermine si un paramètre métier appartient au référentiel StatutRDV. + private static bool IsStatutRdv(ParametreMetierDto parametre) + => string.Equals(parametre.Code, StatutRdvCode, StringComparison.OrdinalIgnoreCase) + || string.Equals(parametre.Categorie, StatutRdvCategorie, StringComparison.OrdinalIgnoreCase); + + /// Recherche un paramètre métier par clé métier dans le bootstrap local. + private async Task FindAsync( + string key, + Func categoryPredicate, + CancellationToken cancellationToken) + { + if (string.IsNullOrWhiteSpace(key)) + { + return null; + } + + LocalBootstrapState? bootstrap = await _sessionService.GetBootstrapAsync(cancellationToken); + if (bootstrap is null) + { + return null; + } + + return bootstrap.ParametresMetier.FirstOrDefault(p => + !string.IsNullOrWhiteSpace(p.Id) + && string.Equals(p.Id, key, StringComparison.OrdinalIgnoreCase) + && categoryPredicate(p)); + } +} diff --git a/src/Omika.App.Local/Services/PauseDejeunerPreferenceService.cs b/src/Omika.App.Local/Services/PauseDejeunerPreferenceService.cs new file mode 100644 index 0000000..af3fdcc --- /dev/null +++ b/src/Omika.App.Local/Services/PauseDejeunerPreferenceService.cs @@ -0,0 +1,84 @@ +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; + +namespace Omika.App.Local.Services; + +/// +/// Implémentation de adossée au +/// stockage local par utilisateur. +/// +/// +/// L'identité de l'utilisateur est lue dans le bootstrap local (SQLite), donc +/// disponible hors connexion : configurer ou préremplir une pause déjeuner ne +/// dépend jamais d'un appel serveur en temps réel. +/// +/// +/// +/// Repli : lorsqu'aucune préférence n'a été enregistrée (ou qu'elle n'est +/// plus exploitable), les valeurs par défaut centralisées de +/// sont retournées. Le repli ne modifie +/// jamais la base : ouvrir le formulaire ne crée aucune préférence. +/// +/// +public sealed class PauseDejeunerPreferenceService : IPauseDejeunerPreferenceService +{ + /// + /// Clé de stockage utilisée lorsqu'aucune identité n'est disponible + /// localement (bootstrap absent). Elle isole ce cas des vrais utilisateurs : + /// aucune valeur d'utilisateur identifié n'est jamais écrasée. + /// + public const string CleSansUtilisateur = "(appareil)"; + + private readonly IPreferencesUtilisateurRepository _repository; + private readonly IMobileSessionService _sessionService; + + public PauseDejeunerPreferenceService( + IPreferencesUtilisateurRepository repository, + IMobileSessionService sessionService) + { + ArgumentNullException.ThrowIfNull(repository); + ArgumentNullException.ThrowIfNull(sessionService); + _repository = repository; + _sessionService = sessionService; + } + + /// + public async Task GetAsync(CancellationToken cancellationToken = default) + { + string utilisateurId = await ResoudreUtilisateurIdAsync(cancellationToken); + PauseDejeunerPreference? enregistree = + await _repository.GetPauseDejeunerAsync(utilisateurId, cancellationToken); + + return enregistree ?? PauseDejeunerPreference.ParDefaut; + } + + /// + public async Task SaveAsync( + TimeSpan debut, + TimeSpan fin, + CancellationToken cancellationToken = default) + { + // Validation métier minimale : pour une pause déjeuner normale, l'heure + // de fin doit être postérieure à l'heure de début. Aucune autre + // contrainte n'est ajoutée. + if (fin <= debut) + { + throw new ArgumentException("L'heure de fin doit être postérieure à l'heure de début.", nameof(fin)); + } + + string utilisateurId = await ResoudreUtilisateurIdAsync(cancellationToken); + await _repository.SavePauseDejeunerAsync(utilisateurId, debut, fin, cancellationToken); + } + + /// + /// Résout l'identité de stockage : l'identifiant public de l'utilisateur + /// connecté, ou la clé de repli si le bootstrap n'est pas disponible. + /// + private async Task ResoudreUtilisateurIdAsync(CancellationToken cancellationToken) + { + LocalBootstrapState? bootstrap = await _sessionService.GetBootstrapAsync(cancellationToken); + string? id = bootstrap?.Utilisateur?.Id; + + return string.IsNullOrWhiteSpace(id) ? CleSansUtilisateur : id; + } +} diff --git a/src/Omika.App.Local/Services/PayloadRewriters/ClientPayloadRewriter.cs b/src/Omika.App.Local/Services/PayloadRewriters/ClientPayloadRewriter.cs new file mode 100644 index 0000000..9ae7241 --- /dev/null +++ b/src/Omika.App.Local/Services/PayloadRewriters/ClientPayloadRewriter.cs @@ -0,0 +1,32 @@ +using System.Text.Json.Nodes; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; + +namespace Omika.App.Local.Services.PayloadRewriters; + +/// +/// Réécrit le payload JSON d'une opération Outbox Client lors d'une +/// réconciliation d'identité. Mécanisme typé : ne fait pas de string.Replace +/// aveugle. +/// +public sealed class ClientPayloadRewriter : IOutboxPayloadRewriter +{ + public string EntityType => SyncEntityTypes.Client; + + public string Rewrite(string payload, Guid oldGuid, Guid newGuid) + { + JsonNode? node = JsonNode.Parse(payload); + if (node is null) + { + return payload; + } + + if (node["Id"]?.GetValue() == oldGuid.ToString()) + { + node["Id"] = newGuid.ToString(); + return node.ToJsonString(); + } + + return payload; + } +} diff --git a/src/Omika.App.Local/Services/PayloadRewriters/DossierPayloadRewriter.cs b/src/Omika.App.Local/Services/PayloadRewriters/DossierPayloadRewriter.cs new file mode 100644 index 0000000..ca9f745 --- /dev/null +++ b/src/Omika.App.Local/Services/PayloadRewriters/DossierPayloadRewriter.cs @@ -0,0 +1,43 @@ +using System.Text.Json.Nodes; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; + +namespace Omika.App.Local.Services.PayloadRewriters; + +/// +/// Réécrit le payload JSON d'une opération Outbox Dossier lors d'une +/// réconciliation d'identité. Mécanisme typé : ne fait pas de string.Replace +/// aveugle. +/// +public sealed class DossierPayloadRewriter : IOutboxPayloadRewriter +{ + public string EntityType => SyncEntityTypes.Dossier; + + public string Rewrite(string payload, Guid oldGuid, Guid newGuid) + { + JsonNode? node = JsonNode.Parse(payload); + if (node is null) + { + return payload; + } + + bool changed = false; + + if (node["Id"]?.GetValue() == oldGuid.ToString()) + { + node["Id"] = newGuid.ToString(); + changed = true; + } + + foreach (string prop in new[] { "ClientId", "SiteId" }) + { + if (node[prop]?.GetValue() == oldGuid.ToString()) + { + node[prop] = newGuid.ToString(); + changed = true; + } + } + + return changed ? node.ToJsonString() : payload; + } +} diff --git a/src/Omika.App.Local/Services/PayloadRewriters/InterventionPayloadRewriter.cs b/src/Omika.App.Local/Services/PayloadRewriters/InterventionPayloadRewriter.cs new file mode 100644 index 0000000..3acbcb6 --- /dev/null +++ b/src/Omika.App.Local/Services/PayloadRewriters/InterventionPayloadRewriter.cs @@ -0,0 +1,46 @@ +using System.Text.Json; +using System.Text.Json.Nodes; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; + +namespace Omika.App.Local.Services.PayloadRewriters; + +/// +/// Réécrit le payload JSON d'une opération Outbox Intervention lors d'une +/// réconciliation d'identité. Mécanisme typé : ne fait pas de string.Replace +/// aveugle. +/// +public sealed class InterventionPayloadRewriter : IOutboxPayloadRewriter +{ + public string EntityType => SyncEntityTypes.Intervention; + + public string Rewrite(string payload, Guid oldGuid, Guid newGuid) + { + JsonNode? node = JsonNode.Parse(payload); + if (node is null) + { + return payload; + } + + bool changed = false; + + // Réécrit l'identité principale si présente. + if (node["Id"]?.GetValue() == oldGuid.ToString()) + { + node["Id"] = newGuid.ToString(); + changed = true; + } + + // Réécrit les références. + foreach (string prop in new[] { "ClientId", "SiteId", "DossierId" }) + { + if (node[prop]?.GetValue() == oldGuid.ToString()) + { + node[prop] = newGuid.ToString(); + changed = true; + } + } + + return changed ? node.ToJsonString() : payload; + } +} diff --git a/src/Omika.App.Local/Services/PayloadRewriters/NoteDocumentPayloadRewriter.cs b/src/Omika.App.Local/Services/PayloadRewriters/NoteDocumentPayloadRewriter.cs new file mode 100644 index 0000000..f70abfc --- /dev/null +++ b/src/Omika.App.Local/Services/PayloadRewriters/NoteDocumentPayloadRewriter.cs @@ -0,0 +1,38 @@ +using System.Text.Json.Nodes; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; + +namespace Omika.App.Local.Services.PayloadRewriters; + +/// +/// Réécrit le payload JSON d'une opération Outbox NoteDocument lors d'une +/// réconciliation d'identité du DOCUMENT support : remplace l'ancien GUID mobile +/// du document (DocumentId) par son GUID canonique serveur. +/// +/// Sans cette réécriture, une note saisie hors ligne sur une photo créée hors +/// ligne partirait avec l'identité mobile du document : le serveur ne pourrait +/// pas le résoudre et la note serait refusée. +/// Mécanisme typé : ne fait pas de string.Replace aveugle. +/// +public sealed class NoteDocumentPayloadRewriter : IOutboxPayloadRewriter +{ + public string EntityType => SyncEntityTypes.NoteDocument; + + public string Rewrite(string payload, Guid oldGuid, Guid newGuid) + { + JsonNode? node = JsonNode.Parse(payload); + if (node is null) + { + return payload; + } + + // La note référence le document par "DocumentId" (NoteDocumentSyncPayload). + if (node["DocumentId"]?.GetValue() == oldGuid.ToString()) + { + node["DocumentId"] = newGuid.ToString(); + return node.ToJsonString(); + } + + return payload; + } +} diff --git a/src/Omika.App.Local/Services/PayloadRewriters/NoteInternePayloadRewriter.cs b/src/Omika.App.Local/Services/PayloadRewriters/NoteInternePayloadRewriter.cs new file mode 100644 index 0000000..386a622 --- /dev/null +++ b/src/Omika.App.Local/Services/PayloadRewriters/NoteInternePayloadRewriter.cs @@ -0,0 +1,53 @@ +using System.Text.Json.Nodes; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; + +namespace Omika.App.Local.Services.PayloadRewriters; + +/// +/// Réécrit le payload JSON d'une opération Outbox NoteInterne lors d'une +/// réconciliation d'identité de l'intervention référencée : remplace l'ancien +/// GUID mobile de l'intervention (InterventionId) par son GUID canonique. +/// Mécanisme typé : ne fait pas de string.Replace aveugle. +/// +public sealed class NoteInternePayloadRewriter : IOutboxPayloadRewriter +{ + public string EntityType => SyncEntityTypes.NoteInterne; + + public string Rewrite(string payload, Guid oldGuid, Guid newGuid) + => NotePayloadRewriterCore.Rewrite(payload, oldGuid, newGuid); +} + +/// +/// Variante du réécrivain de payload de note : +/// même logique (référence InterventionId), type d'entité distinct. +/// +public sealed class NoteAdministrativePayloadRewriter : IOutboxPayloadRewriter +{ + public string EntityType => SyncEntityTypes.NoteAdministrative; + + public string Rewrite(string payload, Guid oldGuid, Guid newGuid) + => NotePayloadRewriterCore.Rewrite(payload, oldGuid, newGuid); +} + +/// Logique commune de réécriture du payload de note (référence InterventionId). +internal static class NotePayloadRewriterCore +{ + public static string Rewrite(string payload, Guid oldGuid, Guid newGuid) + { + JsonNode? node = JsonNode.Parse(payload); + if (node is null) + { + return payload; + } + + // La note référence l'intervention par "InterventionId" (NoteInterneSyncPayload). + if (node["InterventionId"]?.GetValue() == oldGuid.ToString()) + { + node["InterventionId"] = newGuid.ToString(); + return node.ToJsonString(); + } + + return payload; + } +} diff --git a/src/Omika.App.Local/Services/PayloadRewriters/RendezVousPayloadRewriter.cs b/src/Omika.App.Local/Services/PayloadRewriters/RendezVousPayloadRewriter.cs new file mode 100644 index 0000000..00671c0 --- /dev/null +++ b/src/Omika.App.Local/Services/PayloadRewriters/RendezVousPayloadRewriter.cs @@ -0,0 +1,43 @@ +using System.Text.Json.Nodes; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; + +namespace Omika.App.Local.Services.PayloadRewriters; + +/// +/// Réécrit le payload JSON d'une opération Outbox RendezVous lors d'une +/// réconciliation d'identité. Mécanisme typé : ne fait pas de string.Replace +/// aveugle. +/// +public sealed class RendezVousPayloadRewriter : IOutboxPayloadRewriter +{ + public string EntityType => SyncEntityTypes.RendezVous; + + public string Rewrite(string payload, Guid oldGuid, Guid newGuid) + { + JsonNode? node = JsonNode.Parse(payload); + if (node is null) + { + return payload; + } + + bool changed = false; + + if (node["Id"]?.GetValue() == oldGuid.ToString()) + { + node["Id"] = newGuid.ToString(); + changed = true; + } + + foreach (string prop in new[] { "ClientId", "SiteId", "DossierId", "InterventionId" }) + { + if (node[prop]?.GetValue() == oldGuid.ToString()) + { + node[prop] = newGuid.ToString(); + changed = true; + } + } + + return changed ? node.ToJsonString() : payload; + } +} diff --git a/src/Omika.App.Local/Services/PayloadRewriters/SitePayloadRewriter.cs b/src/Omika.App.Local/Services/PayloadRewriters/SitePayloadRewriter.cs new file mode 100644 index 0000000..3bc166a --- /dev/null +++ b/src/Omika.App.Local/Services/PayloadRewriters/SitePayloadRewriter.cs @@ -0,0 +1,40 @@ +using System.Text.Json.Nodes; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; + +namespace Omika.App.Local.Services.PayloadRewriters; + +/// +/// Réécrit le payload JSON d'une opération Outbox Site lors d'une +/// réconciliation d'identité. Mécanisme typé : ne fait pas de string.Replace +/// aveugle. +/// +public sealed class SitePayloadRewriter : IOutboxPayloadRewriter +{ + public string EntityType => SyncEntityTypes.Site; + + public string Rewrite(string payload, Guid oldGuid, Guid newGuid) + { + JsonNode? node = JsonNode.Parse(payload); + if (node is null) + { + return payload; + } + + bool changed = false; + + if (node["Id"]?.GetValue() == oldGuid.ToString()) + { + node["Id"] = newGuid.ToString(); + changed = true; + } + + if (node["ClientId"]?.GetValue() == oldGuid.ToString()) + { + node["ClientId"] = newGuid.ToString(); + changed = true; + } + + return changed ? node.ToJsonString() : payload; + } +} diff --git a/src/Omika.App.Local/Services/PhotoPolicyProvider.cs b/src/Omika.App.Local/Services/PhotoPolicyProvider.cs new file mode 100644 index 0000000..0e16f8c --- /dev/null +++ b/src/Omika.App.Local/Services/PhotoPolicyProvider.cs @@ -0,0 +1,55 @@ +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; +using Omika.Core.Constants; +using Omika.Core.Contracts.Mobile.Bootstrap; + +namespace Omika.App.Local.Services; + +/// +/// Implémentation de adossée au bootstrap +/// local (SQLite). +/// +/// Aucun appel réseau n'est effectué : la valeur est lue dans le cache de +/// configuration persisté lors de la dernière synchronisation. Une photo prise +/// hors connexion est donc optimisée avec la dernière limite connue du client. +/// +/// Le repli ne s'applique que si le paramètre est réellement indisponible : +/// +/// ImageMaxSizeKb absent (serveur antérieur à cette fonctionnalité) → repli ; +/// ImageMaxSizeKb négatif → repli ; +/// ImageMaxSizeKb = 0 → aucune limite, valeur métier valide, PAS de repli. +/// +/// +public sealed class PhotoPolicyProvider : IPhotoPolicyProvider +{ + private readonly IMobileSessionService _sessionService; + + public PhotoPolicyProvider(IMobileSessionService sessionService) + { + ArgumentNullException.ThrowIfNull(sessionService); + _sessionService = sessionService; + } + + /// + public async Task GetResolutionAsync(CancellationToken cancellationToken = default) + { + LocalBootstrapState? bootstrap = await _sessionService.GetBootstrapAsync(cancellationToken); + MobileConfigurationDto? configuration = bootstrap?.Configuration; + + // Paramètre non transmis par le serveur : repli assumé et tracé. + if (configuration?.ImageMaxSizeKb is not int configure) + { + return new PhotoLimitResolution( + PhotoOptimizationSettings.PoidsMaxPhotoKoParDefaut, + PhotoLimitSource.DefaultFallback); + } + + // Valeur négative inexploitable : repli. La valeur 0 est conservée telle + // quelle (aucune limite), c'est un choix explicite du client. + return configure < 0 + ? new PhotoLimitResolution( + PhotoOptimizationSettings.PoidsMaxPhotoKoParDefaut, + PhotoLimitSource.DefaultFallback) + : new PhotoLimitResolution(configure, PhotoLimitSource.ApplicationParameter); + } +} diff --git a/src/Omika.App.Local/Services/PreparationTraduction.cs b/src/Omika.App.Local/Services/PreparationTraduction.cs new file mode 100644 index 0000000..8f1c090 --- /dev/null +++ b/src/Omika.App.Local/Services/PreparationTraduction.cs @@ -0,0 +1,373 @@ +using System.Globalization; +using System.Text; +using System.Text.RegularExpressions; + +namespace Omika.App.Local.Services; + +/// +/// Prépare le texte avant l'inférence et remet en état le texte produit +/// après, sans jamais toucher aux modèles. +/// +/// +/// Ce que la mesure a établi. Sur le pack opus-mt-fr-ar et le décodeur +/// glouton du service, phrase d'une intervention réelle : +/// +/// +/// « remplacement chauffe-eau electrique selon devis 640330 » (sans ponctuation +/// finale) donne « … سـل سـل سـل … 64033030 » : fragments rejoués et numéro de devis +/// déformé ; +/// la même phrase terminée par un point donne une traduction correcte, nombre +/// compris ; +/// la même phrase sans le nombre donne aussi une traduction correcte : +/// c'est la suite de chiffres collée à la fin de la source qui déstabilise le +/// décodeur. +/// +/// +/// +/// Ancrage de la fin de phrase. Un texte sans ponctuation finale est envoyé +/// au modèle avec un point : ces modèles sont entraînés sur des phrases terminées, +/// et sans ce repère le décodeur ne sait pas que la source s'arrête. C'est la +/// correction qui change le moins de choses et qui répare le plus de cas. +/// +/// +/// +/// Réparation des nombres, après l'inférence. Les nombres de la sortie sont +/// comparés à ceux de la source et remplacés par les valeurs réellement saisies. +/// Une première tentative avait remplacé les nombres par des zéros avant +/// l'inférence : mesurée sur quatre langues et 52 phrases, elle a été écartée +/// — elle dégradait les dates, les décimaux et les numéros de téléphone (le modèle +/// perd la structure interne de 12/03/2026 ou de 06 12 34 56 78) et +/// pouvait même vider complètement la traduction d'une phrase. La réparation après +/// coup ne touche que les chiffres : le texte produit par le modèle reste intact. +/// +/// +/// +/// La classe est volontairement pure : même entrée, même sortie, aucun accès +/// au disque ni au moteur. Elle est donc vérifiable sans téléphone ni modèle chargé. +/// +/// +public sealed class PreparationTraduction +{ + /// + /// Suite de chiffres décimaux Unicode : couvre les chiffres latins comme les + /// chiffres arabes (٦٤٠٣٣٠) ou persans, que la dictée peut produire. + /// + private static readonly Regex MotifNombres = new(@"\p{Nd}+", RegexOptions.CultureInvariant); + + /// + /// Ponctuations qui terminent déjà une phrase : dans ce cas aucun point n'est + /// ajouté. Les deux-points et le point-virgule en font partie pour ne pas + /// fabriquer « : » suivi d'un point, qui n'existe dans aucune langue. + /// + private static readonly char[] PonctuationsFinales = + [ + '.', '!', '?', '…', ':', ';', + '\u061F', // ؟ point d'interrogation arabe + '\u06D4', // ۔ point final ourdou + '\u3002', // 。 point final japonais/chinois + '\uFF01', // ! point d'exclamation pleine chasse + '\uFF1F' // ? point d'interrogation pleine chasse + ]; + + /// + /// Caractères qui peuvent suivre la ponctuation finale sans la masquer + /// (guillemets, parenthèses fermantes) : « Il est parti. » se termine bien par + /// un point du point de vue du modèle. + /// + private static readonly char[] Fermetures = + [ + '"', '\'', ')', ']', '}', '»', '”', '’', '\u00BB' + ]; + + private readonly IReadOnlyList _nombres; + + private PreparationTraduction(string source, string texteModele, IReadOnlyList nombres, bool pointAjoute) + { + Source = source; + TexteModele = texteModele; + _nombres = nombres; + PointAjoute = pointAjoute; + } + + /// Texte saisi, sans transformation : sert à une seconde inférence non ancrée. + public string Source { get; } + + /// + /// Texte réellement envoyé au modèle : la source, avec un point final ajouté + /// s'il manquait. Vide si la source l'était. + /// + public string TexteModele { get; } + + /// + /// Valeurs des nombres de la source, dans l'ordre, en chiffres latins. Une liste + /// vide signifie « aucun nombre » : la sortie est alors rendue telle quelle. + /// + public IReadOnlyList Nombres => _nombres; + + /// Vrai si un point a été ajouté pour ancrer la fin de phrase. + public bool PointAjoute { get; } + + /// Prépare une source. Ne lève jamais : une entrée vide reste vide. + public static PreparationTraduction Depuis(string? source) + { + string texte = (source ?? string.Empty).Trim(); + if (texte.Length == 0) + { + return new PreparationTraduction(string.Empty, string.Empty, Array.Empty(), pointAjoute: false); + } + + var nombres = new List(); + foreach (Match correspondance in MotifNombres.Matches(texte)) + { + nombres.Add(EnChiffresLatins(correspondance.Value)); + } + + string sourceRetenue = texte; + bool pointAjoute = false; + if (!SeTermineParPonctuation(texte)) + { + texte += "."; + pointAjoute = true; + } + + return new PreparationTraduction(sourceRetenue, texte, nombres, pointAjoute); + } + + /// + /// Nombre de valeurs de la source retrouvées telles quelles dans la sortie. + /// + /// + /// C'est le critère qui choisit entre deux inférences : le point ajouté pour + /// ancrer la phrase peut déstabiliser une suite de chiffres (mesuré : « 18h » + /// devient « 6:00 »), et la variante qui retrouve le plus de valeurs saisies doit + /// l'emporter. Un simple comptage des nombres ne suffirait pas : le modèle ajoute + /// parfois des zéros de minutes (« 18:00 »), ce qui change le compte sans changer + /// la valeur. + /// + /// + public int NombresRetrouves(string? sortie) + { + if (_nombres.Count == 0 || string.IsNullOrEmpty(sortie)) + { + return 0; + } + + List<(int Index, int Longueur)> positions = TrouverNombres(sortie); + var utilises = new bool[positions.Count]; + int trouves = 0; + + foreach (string valeur in _nombres) + { + for (int i = 0; i < positions.Count; i++) + { + if (utilises[i]) + { + continue; + } + + if (string.Equals(sortie.Substring(positions[i].Index, positions[i].Longueur), valeur, StringComparison.Ordinal)) + { + utilises[i] = true; + trouves++; + break; + } + } + } + + return trouves; + } + + /// + /// Remet dans la sortie les nombres réellement saisis, et retire le point ajouté + /// pour l'inférence quand la source n'en avait pas. + /// + /// + /// Quand la réparation a lieu, et quand elle s'abstient. Remplacer des + /// chiffres demande de savoir lequel correspond à lequel : la correspondance est + /// l'ordre d'apparition. Elle n'est fiable que si les deux côtés comptent + /// le même nombre de valeurs, d'où des règles explicites : + /// + /// + /// autant de nombres des deux côtés — correspondance directe, chaque + /// valeur saisie remplace celle du modèle ; c'est le cas normal, et une valeur + /// déjà juste est simplement réécrite à l'identique ; + /// un seul nombre dans la source, plusieurs dans la sortie — c'est + /// la signature d'un décodeur qui rejoue la fin de la source (mesuré : + /// 640330 640330) : la première occurrence garde la valeur, les suivantes + /// sont supprimées ; + /// un seul nombre dans la source, aucun dans la sortie — la valeur + /// est remise en fin de texte plutôt que perdue : un numéro de devis qui + /// disparaît est pire qu'un numéro déplacé, et le déplacement reste visible ; + /// plusieurs nombres et des comptes différents — rien n'est + /// touché. Sans correspondance sûre, remplacer au hasard ferait plus de mal + /// que de bien : la traduction reste celle du modèle. + /// + /// + public string Restituer(string? sortie) + { + if (string.IsNullOrEmpty(sortie)) + { + return string.Empty; + } + + string resultat = PointAjoute ? RetirerPoint(sortie) : sortie; + + if (_nombres.Count == 0) + { + return resultat; + } + + List<(int Index, int Longueur)> positions = TrouverNombres(resultat); + + if (positions.Count == _nombres.Count) + { + return Appliquer(resultat, positions, indices => _nombres[indices]); + } + + if (_nombres.Count == 1) + { + if (positions.Count == 0) + { + return resultat + " " + _nombres[0]; + } + + // Une seule valeur attendue : la première occurrence la reçoit, les + // suivantes sont des rejeux du décodeur. + return Appliquer(resultat, positions, indices => indices == 0 ? _nombres[0] : null); + } + + return resultat; + } + + // ===== Application des valeurs ===== + + /// + /// Réécrit le texte en remplaçant chaque nombre par la valeur rendue par + /// . Une valeur supprime le + /// nombre et referme le trou laissé derrière lui. + /// + private static string Appliquer( + string texte, + IReadOnlyList<(int Index, int Longueur)> positions, + Func valeur) + { + var construit = new StringBuilder(texte.Length + 16); + int curseur = 0; + int supprimes = 0; + + for (int i = 0; i < positions.Count; i++) + { + (int index, int longueur) = positions[i]; + construit.Append(texte, curseur, index - curseur); + + if (valeur(i) is { } remplacement) + { + construit.Append(remplacement); + } + else + { + supprimes++; + } + + curseur = index + longueur; + } + + construit.Append(texte, curseur, texte.Length - curseur); + + string rendu = construit.ToString(); + return supprimes > 0 ? NettoyerEspaces(rendu) : rendu; + } + + /// + /// Convertit une suite de chiffres Unicode en chiffres latins : la valeur + /// affichée est celle saisie, sous la forme utilisée partout ailleurs dans + /// l'application (devis, références, téléphones). + /// + private static string EnChiffresLatins(string chiffres) + { + var latins = new StringBuilder(chiffres.Length); + foreach (char c in chiffres) + { + int valeur = CharUnicodeInfo.GetDecimalDigitValue(c); + latins.Append(valeur >= 0 ? (char)('0' + valeur) : c); + } + + return latins.ToString(); + } + + // ===== Ancrage ===== + + /// + /// Vrai si le texte se termine déjà par une ponctuation de fin de phrase, en + /// ignorant les espaces et les caractères de fermeture qui peuvent la suivre. + /// + private static bool SeTermineParPonctuation(string texte) + { + int i = texte.Length - 1; + while (i >= 0 && (char.IsWhiteSpace(texte[i]) || Array.IndexOf(Fermetures, texte[i]) >= 0)) + { + i--; + } + + return i < 0 || Array.IndexOf(PonctuationsFinales, texte[i]) >= 0; + } + + /// + /// Retire le point que l'inférence a nécessité, pour que l'affichage reste + /// fidèle à la saisie : une description sans point final ne doit pas en gagner + /// un du seul fait d'avoir été traduite. + /// + private static string RetirerPoint(string texte) + { + string garni = texte.TrimEnd(); + if (garni.Length > 0 && (garni[^1] == '.' || garni[^1] == '\u06D4')) + { + return garni[..^1]; + } + + return texte; + } + + // ===== Outils ===== + + /// Positions et longueurs des nombres d'un texte, dans l'ordre. + private static List<(int Index, int Longueur)> TrouverNombres(string texte) + { + var positions = new List<(int Index, int Longueur)>(4); + foreach (Match correspondance in MotifNombres.Matches(texte)) + { + positions.Add((correspondance.Index, correspondance.Length)); + } + + return positions; + } + + /// + /// Referme les trous laissés par la suppression de nombres : espaces multiples + /// réduits à un seul, et aucun espace devant une ponctuation. + /// + private static string NettoyerEspaces(string texte) + { + var compact = new StringBuilder(texte.Length); + bool espaceEnAttente = false; + + foreach (char c in texte) + { + if (char.IsWhiteSpace(c)) + { + espaceEnAttente = compact.Length > 0; + continue; + } + + if (espaceEnAttente) + { + compact.Append(' '); + espaceEnAttente = false; + } + + compact.Append(c); + } + + return Regex.Replace(compact.ToString(), @" ([.,;:!?،؛؟])", "$1", RegexOptions.CultureInvariant); + } +} diff --git a/src/Omika.App.Local/Services/RendezVousAnnulationLocalService.cs b/src/Omika.App.Local/Services/RendezVousAnnulationLocalService.cs new file mode 100644 index 0000000..3e40805 --- /dev/null +++ b/src/Omika.App.Local/Services/RendezVousAnnulationLocalService.cs @@ -0,0 +1,203 @@ +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.Core.Contracts.Common; +using Omika.Core.Contracts.Mobile.Sync; +using Omika.Core.Contracts.Planning; +using Omika.Core.Services; +using LocalSyncEntityTypes = Omika.App.Local.Infrastructure.SyncEntityTypes; + +namespace Omika.App.Local.Services; + +/// +/// Implémentation locale de l'annulation d'un rendez-vous. +/// +/// Offline-first : la copie locale SQLite est modifiée immédiatement (le DTO +/// reçoit son +/// ET son statut « Annulé »), une opération Outbox UPDATE est enqueuée, puis le +/// changement d'état est publié aux abonnés. Aucun appel réseau, aucun DELETE, +/// aucun changement d'identité. +/// +/// +/// Un rendez-vous GROUPÉ () est un +/// noyau unique partagé par plusieurs collaborateurs : l'annulation porte sur +/// tout le groupe. Toutes les affectations locales passent donc au statut +/// « Annulé », et la description du rendez-vous reçoit la mention d'annulation +/// Note (Nom) : message (règle métier unique +/// , appliquée à l'identique côté +/// serveur). +/// +/// +public sealed class RendezVousAnnulationLocalService : IRendezVousAnnulationLocalService +{ + /// Clé métier du statut « Annulé » (S.RDV.ANNU). + public const string StatutAnnuleKey = "S.RDV.ANNU"; + + /// Libellé d'affichage du statut « Annulé ». + public const string StatutAnnuleLabel = "Annulé"; + + private readonly ILocalRepository _rendezVousRepository; + private readonly IOutboxService _outboxService; + private readonly IRendezVousStateNotifier _stateNotifier; + + public RendezVousAnnulationLocalService( + ILocalRepository rendezVousRepository, + IOutboxService outboxService, + IRendezVousStateNotifier stateNotifier) + { + ArgumentNullException.ThrowIfNull(rendezVousRepository); + ArgumentNullException.ThrowIfNull(outboxService); + ArgumentNullException.ThrowIfNull(stateNotifier); + _rendezVousRepository = rendezVousRepository; + _outboxService = outboxService; + _stateNotifier = stateNotifier; + } + + /// + public async Task AnnulerAsync( + Guid rendezVousGuid, + Guid? collaborateurGuid, + string? origineKey, + string? motifKey, + string? noteCollaborateur, + string? collaborateurNom = null, + string? origineLabel = null, + string? motifLabel = null, + CancellationToken cancellationToken = default) + { + LocalRendezVous? local = await _rendezVousRepository.GetByIdAsync(rendezVousGuid, cancellationToken); + + // Copie locale du DTO : peut être absente (rendez-vous ouvert depuis + // l'agenda d'équipe via l'API et jamais stocké). + RendezVousDetailsDto? existing = local is null + ? null + : JsonHelper.Deserialize(local.PayloadJson); + + // Libellés d'origine et de motif : ceux fournis par l'appelant (le + // référentiel local les connaît) priment, sinon on CONSERVE ceux déjà + // portés par la copie locale. Sans cette résolution, la copie locale ne + // porterait plus que la clé métier et la fiche afficherait le CODE du + // paramètre (ex. « O.ANU.RDV.E.CLI ») au lieu de son libellé, tant que le + // serveur n'a pas été réinterrogé. + origineLabel = ResolveLabel(origineLabel, existing?.Annulation?.Origine, origineKey); + motifLabel = ResolveLabel(motifLabel, existing?.Annulation?.Motif, motifKey); + + if (local is not null && existing is not null) + { + // Applique l'annulation ET le statut localement (jamais de DELETE). + // La mention d'annulation est inscrite dans la description locale + // (Note (Nom) : message), à l'identique de ce que le serveur écrira : + // la fiche reste cohérente hors ligne. + RendezVousDetailsDto annule = existing with + { + Description = AnnulationRendezVousDescription.Concatener( + existing.Description, noteCollaborateur, collaborateurNom), + Statut = new ReferenceValueDto { Key = StatutAnnuleKey, Label = StatutAnnuleLabel }, + Annulation = new AnnulationRendezVousDto + { + DateAnnulation = DateTime.UtcNow, + Origine = string.IsNullOrWhiteSpace(origineKey) + ? null + : new ReferenceValueDto { Key = origineKey, Label = origineLabel ?? string.Empty }, + Motif = string.IsNullOrWhiteSpace(motifKey) + ? null + : new ReferenceValueDto { Key = motifKey, Label = motifLabel ?? string.Empty }, + Commentaire = string.IsNullOrWhiteSpace(noteCollaborateur) ? null : noteCollaborateur, + CollaborateurId = collaborateurGuid?.ToString("D"), + CollaborateurNom = string.IsNullOrWhiteSpace(collaborateurNom) ? null : collaborateurNom + }, + // RDV groupé : TOUTES les affectations du noyau sont annulées, + // aucun rendez-vous du groupe n'est épargné (même règle que le + // serveur, qui met à jour toutes les lignes RDV_Collaborateur). + Collaborateurs = AnnulerAffectations(existing.Collaborateurs) + }; + + await _rendezVousRepository.UpsertAsync(new LocalRendezVous + { + Id = rendezVousGuid, + ClientId = local.ClientId, + SiteId = local.SiteId, + DossierId = local.DossierId, + InterventionId = local.InterventionId, + PayloadJson = JsonHelper.Serialize(annule), + UpdatedAtUtc = DateTimeOffset.UtcNow + }, cancellationToken); + } + + // Enqueue l'opération Outbox UPDATE (offline-first). + var payload = new RendezVousAnnulationPayload + { + OrigineKey = origineKey, + MotifKey = motifKey, + NoteCollaborateur = noteCollaborateur, + CollaborateurId = collaborateurGuid?.ToString(), + CollaborateurNom = collaborateurNom + }; + + await _outboxService.EnqueueAsync( + LocalSyncEntityTypes.RendezVous, + SyncOperationType.Update, + rendezVousGuid, + JsonHelper.Serialize(payload), + cancellationToken: cancellationToken); + + // Publie le changement d'état : toutes les vues qui détiennent ce GUID + // mettent à jour leur copie en mémoire immédiatement. + _stateNotifier.Publish(new RendezVousStateChange( + rendezVousGuid, + EstAnnule: true, + EstFait: false, + StatutKey: StatutAnnuleKey, + StatutLabel: StatutAnnuleLabel, + OrigineAnnulationLabel: origineLabel, + MotifAnnulationLabel: motifLabel)); + } + + /// + /// Résout le libellé affiché d'une origine ou d'un motif d'annulation. Le + /// libellé fourni par l'appelant (référentiel local) est prioritaire, puis + /// celui déjà porté par la copie locale, puis sa clé métier — dernier repli + /// qui évite une mention vide. Retourne lorsque rien + /// n'est connu : aucun libellé n'est inventé. + /// + private static string? ResolveLabel(string? libelleFourni, ReferenceValueDto? referenceExistante, string? cle) + { + if (!string.IsNullOrWhiteSpace(libelleFourni)) + { + return libelleFourni.Trim(); + } + + if (!string.IsNullOrWhiteSpace(referenceExistante?.Label)) + { + return referenceExistante.Label; + } + + if (!string.IsNullOrWhiteSpace(referenceExistante?.Key)) + { + return referenceExistante.Key; + } + + return string.IsNullOrWhiteSpace(cle) ? null : cle; + } + + /// + /// Passe toutes les affectations collaborateur du rendez-vous au statut + /// « Annulé ». Sur un rendez-vous individuel, l'unique affectation est + /// annulée ; sur un rendez-vous groupé, le groupe entier l'est. + /// + private static IReadOnlyList AnnulerAffectations( + IReadOnlyList affectations) + { + if (affectations.Count == 0) + { + return affectations; + } + + return affectations + .Select(a => a with + { + Statut = new ReferenceValueDto { Key = StatutAnnuleKey, Label = StatutAnnuleLabel } + }) + .ToList(); + } +} diff --git a/src/Omika.App.Local/Services/RendezVousFinalisationLocalService.cs b/src/Omika.App.Local/Services/RendezVousFinalisationLocalService.cs new file mode 100644 index 0000000..e0d6026 --- /dev/null +++ b/src/Omika.App.Local/Services/RendezVousFinalisationLocalService.cs @@ -0,0 +1,82 @@ +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.Core.Contracts.Common; +using Omika.Core.Contracts.Planning; + +namespace Omika.App.Local.Services; + +/// +/// Implémentation locale du passage d'un rendez-vous à « Fait ». +/// +/// Offline-first : la copie locale SQLite () reçoit +/// son statut « Fait » immédiatement, puis le changement d'état est publié aux +/// abonnés (détail, agenda, agenda d'équipe). Aucun appel réseau : la +/// synchronisation serveur suit via l'opération Outbox de validation des temps +/// (qui pose elle aussi S.RDV.FAIT côté serveur). +/// +public sealed class RendezVousFinalisationLocalService : IRendezVousFinalisationLocalService +{ + private readonly ILocalRepository _rendezVousRepository; + private readonly IRendezVousStateNotifier _stateNotifier; + + public RendezVousFinalisationLocalService( + ILocalRepository rendezVousRepository, + IRendezVousStateNotifier stateNotifier) + { + ArgumentNullException.ThrowIfNull(rendezVousRepository); + ArgumentNullException.ThrowIfNull(stateNotifier); + _rendezVousRepository = rendezVousRepository; + _stateNotifier = stateNotifier; + } + + /// + public async Task MarquerFaitAsync( + Guid rendezVousGuid, + CancellationToken cancellationToken = default) + { + // Le rendez-vous peut ne pas être dans le snapshot local (ex. ouvert depuis + // l'agenda d'équipe via l'API) : l'événement est alors le seul vecteur + // d'UI immédiate, et le snapshot local sera mis à jour à la synchronisation. + LocalRendezVous? local = await _rendezVousRepository.GetByIdAsync(rendezVousGuid, cancellationToken); + if (local is not null) + { + RendezVousDetailsDto? existing = JsonHelper.Deserialize(local.PayloadJson); + if (existing is not null) + { + // Applique le statut « Fait » localement (source de vérité), sans + // toucher aux autres champs (annulation, affectations, …). + RendezVousDetailsDto fait = existing with + { + Statut = new ReferenceValueDto + { + Key = RendezVousStatut.FaitKey, + Label = RendezVousStatut.FaitLabel + } + }; + + await _rendezVousRepository.UpsertAsync(new LocalRendezVous + { + Id = rendezVousGuid, + ClientId = local.ClientId, + SiteId = local.SiteId, + DossierId = local.DossierId, + InterventionId = local.InterventionId, + PayloadJson = JsonHelper.Serialize(fait), + UpdatedAtUtc = DateTimeOffset.UtcNow + }, cancellationToken); + } + } + + // Publie le changement d'état : toutes les vues qui détiennent ce GUID + // mettent à jour leur copie en mémoire immédiatement. + _stateNotifier.Publish(new RendezVousStateChange( + rendezVousGuid, + EstAnnule: false, + EstFait: true, + StatutKey: RendezVousStatut.FaitKey, + StatutLabel: RendezVousStatut.FaitLabel, + OrigineAnnulationLabel: null, + MotifAnnulationLabel: null)); + } +} diff --git a/src/Omika.App.Local/Services/RendezVousStateNotifier.cs b/src/Omika.App.Local/Services/RendezVousStateNotifier.cs new file mode 100644 index 0000000..d0f01b1 --- /dev/null +++ b/src/Omika.App.Local/Services/RendezVousStateNotifier.cs @@ -0,0 +1,17 @@ +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; + +namespace Omika.App.Local.Services; + +/// +/// Implémentation simple du : lève +/// l'événement de façon synchrone. Les abonnés (ViewModels) appliquent +/// immédiatement le changement à leurs collections en mémoire. +/// +public sealed class RendezVousStateNotifier : IRendezVousStateNotifier +{ + public event EventHandler? StateChanged; + + public void Publish(RendezVousStateChange change) + => StateChanged?.Invoke(this, change); +} diff --git a/src/Omika.App.Local/Services/ReseauMessages.cs b/src/Omika.App.Local/Services/ReseauMessages.cs new file mode 100644 index 0000000..425a610 --- /dev/null +++ b/src/Omika.App.Local/Services/ReseauMessages.cs @@ -0,0 +1,133 @@ +using System.IO; +using System.Net; +using System.Net.Http; +using System.Net.Sockets; +using System.Threading.Tasks; +using Omika.App.Local.Abstractions; + +namespace Omika.App.Local.Services; + +/// +/// Traduction des erreurs réseau en messages utilisateur français. +/// Les exceptions techniques (HttpRequestException, SocketException, IOException, +/// timeout) portent souvent des messages anglais fournis par la plateforme +/// (ex. « connection failure ») : on les remplace par un libellé stable. +/// +public static class ReseauMessages +{ + /// + /// Indique si l'exception (ou son exception interne) correspond à une erreur + /// réseau/temporaire : connexion impossible, hors ligne, timeout. + /// + public static bool EstErreurReseau(Exception ex) + { + // Parcourt toute la chaîne d'exceptions internes : Android/OkHttp enveloppe + // souvent l'erreur réelle (ex. « unexpected end of stream ») dans une + // WebException → exception Java, imbriquées sur plusieurs niveaux. + for (Exception? current = ex; current is not null; current = current.InnerException) + { + // Types .NET de transport connus. WebException couvre le handler + // Android (Xamarin.Android.Net.AndroidMessageHandler) qui remonte + // « unexpected end of stream » sur une connexion coupée en plein + // transfert. + if (current is HttpRequestException or SocketException or IOException or TaskCanceledException or WebException) + { + return true; + } + + // Types Java de la pile réseau Android/OkHttp : non typables ici (le + // projet partagé ne référence pas Xamarin.Android), on les reconnaît + // par leur nom qualifié. + string? typeName = current.GetType().FullName; + if (typeName is "Java.IO.IOException" + or "Java.Net.SocketException" + or "Java.Net.SocketTimeoutException" + or "Java.Net.ConnectException" + or "Java.Net.UnknownHostException" + or "Java.Net.ProtocolException") + { + return true; + } + + // Fallback par message : certaines plateformes remontent « connection + // failure », « unexpected end of stream », « timeout », etc. sous un + // type générique. On ne traduit que les indices réseau, jamais les + // messages métier. + if (ContientIndiceReseau(current.Message)) + { + return true; + } + } + + return false; + } + + /// + /// Indique si l'exception correspond à une inscription incomplète : aucune URL + /// d'API Omika n'est configurée (). + /// + /// Ce n'est PAS un problème réseau — l'appareil peut être parfaitement en ligne — + /// mais un état applicatif actionnable : l'application fonctionne en local et + /// aucun appel serveur ne peut partir avant une nouvelle inscription par QR. + /// À distinguer pour l'affichage : « hors ligne » serait mensonger, et l'action + /// attendue (rescan du QR) ne serait pas indiquée. + /// + public static bool EstInscriptionIncomplete(Exception ex) + => ex is MobileEnrollmentRequiredException; + + /// + /// Indique si l'exception traduit une indisponibilité du serveur du point de vue + /// de l'application : erreur réseau/temporaire, ou inscription incomplète (aucune + /// URL d'API configurée). Dans les deux cas, ce n'est pas un incident : c'est + /// l'état dégradé que le classement de télémétrie doit journaliser en Warning/P2. + /// + public static bool EstIndisponibiliteServeur(Exception ex) + => EstErreurReseau(ex) || EstInscriptionIncomplete(ex); + + /// + /// Retourne un message utilisateur français pour une erreur réseau ou une + /// inscription incomplète, ou le message d'origine s'il ne s'agit pas d'un cas + /// connu. + /// + public static string Traduire(Exception ex) + { + if (EstInscriptionIncomplete(ex)) + { + // État actionnable : on indique le geste attendu, pas un état réseau. + return "Inscription incomplète — rescannez le QR code pour reconnecter l'application."; + } + + return EstErreurReseau(ex) + ? "Hors ligne — impossible de contacter le serveur." + : ex.Message; + } + + /// + /// Détecte un indice d'erreur réseau dans un message technique (insensible à + /// la casse). Sert de repli quand le type d'exception n'est pas reconnu. + /// + private static bool ContientIndiceReseau(string? message) + { + if (string.IsNullOrWhiteSpace(message)) + { + return false; + } + + string m = message.ToLowerInvariant(); + return m.Contains("connection") + || m.Contains("network") + || m.Contains("timeout") + || m.Contains("timed out") + || m.Contains("unreachable") + || m.Contains("refused") + || m.Contains("end of stream") + || m.Contains("connection reset") + || m.Contains("reset by peer") + || m.Contains("broken pipe") + || m.Contains("stream closed") + || m.Contains("connexion") + || m.Contains("réseau") + || m.Contains("hors ligne") + || m.Contains("offline"); + } +} diff --git a/src/Omika.App.Local/Services/SentencePieceTokenizer.cs b/src/Omika.App.Local/Services/SentencePieceTokenizer.cs new file mode 100644 index 0000000..469d2f9 --- /dev/null +++ b/src/Omika.App.Local/Services/SentencePieceTokenizer.cs @@ -0,0 +1,920 @@ +using System.Text; +using Omika.App.Local.Abstractions; + +namespace Omika.App.Local.Services; + +/// +/// Tokeniseur SentencePiece adossé au fichier de vocabulaire .spm du pack de langue : +/// découpe un texte en identifiants de pièces et le reconstruit. +/// +/// +/// Un .spm est un ModelProto protobuf, lu par un lecteur minimal qui saute tout champ +/// qu'il ne connaît pas : aucune bibliothèque protobuf n'est référencée, et un vocabulaire produit par +/// une version plus récente de SentencePiece reste lisible malgré les champs ajoutés. +/// +/// +/// +/// Immuabilité : pièces, scores et types sont chargés une fois par , puis +/// jamais modifiés. Une instance peut donc être gardée toute la vie de l'application et appelée depuis +/// plusieurs threads (un tokeniseur par sens de traduction, sollicité par le moteur et les écrans). +/// +/// +/// +/// Robustesse : et ne lèvent jamais, quelle que +/// soit l'entrée — un caractère hors vocabulaire devient une suite de pièces d'octet (ou +/// <unk>), un identifiant hors vocabulaire est ignoré ; une phrase mal comprise doit +/// dégrader la traduction, pas la faire échouer. Seul un modèle absent, illisible ou corrompu lève +/// . +/// +/// +/// +/// Réglages lus dans le modèle : model_type (UNIGRAM, BPE) et l'intégralité de +/// normalizer_spec — add_dummy_prefix, escape_whitespaces, +/// remove_extra_whitespaces. Les supposer aux valeurs par défaut ferait diverger en silence +/// tout modèle formé autrement, ce qui est indétectable sans comparer à la référence. +/// +/// +/// +/// Limite assumée : la table de normalisation compilée du modèle +/// (precompiled_charsmap) n'est pas appliquée — elle demanderait de réimplémenter un trie +/// à double tableau, pour un gain nul sur du texte déjà en NFC (ce que produit tout clavier mobile). +/// Cette approximation est signalée par et +/// , jamais silencieuse. Les pièces USER_DEFINED sont traitées +/// comme des pièces ordinaires. +/// +/// +public sealed class SentencePieceTokenizer : ITextTokenizer +{ + // Types de pièce (ModelProto.SentencePiece.Type), types de fil protobuf et numéros de champ du + // ModelProto dont le découpage a besoin. + private const int TypeNormal = 1; + private const int TypeInconnu = 2; + private const int TypeControle = 3; + private const int TypeOctet = 6; + private const int FilVarint = 0; + private const int Fil64Bits = 1; + private const int FilLongueur = 2; + private const int FilGroupeDebut = 3; + private const int FilGroupeFin = 4; + private const int Fil32Bits = 5; + private const int ChampPieces = 1; + private const int ChampTrainerSpec = 2; + private const int ChampModelType = 3; + private const int ChampNormalizerSpec = 3; + private const int ChampNormalizerNom = 1; + private const int ChampNormalizerCharsmap = 2; + private const int ChampNormalizerPrefixeFactice = 3; + private const int ChampNormalizerEspacesSuperflus = 4; + private const int ChampNormalizerEchapperEspaces = 5; + + // Marqueur d'espace de SentencePiece (U+2581), substitué aux espaces dans le vocabulaire : sans + // lui, un modèle ne distinguerait pas le début d'un mot de sa présence en milieu de phrase. + private const char MarqueurEspace = '\u2581'; + + // Pénalité du caractère hors vocabulaire, reprise du modèle UNIGRAM de référence (min_score - 10) : + // toute pièce réelle couvrant le caractère est donc préférée, et n'apparaît que faute de mieux. + private const float PenaliteInconnu = 10f; + + private readonly string[] _pieces; + private readonly float[] _scores; + private readonly int[] _types; + + /// Pièce → identifiant, en comparaison ordinale (un vocabulaire est sensible à la casse). + private readonly Dictionary _idsParPiece; + + private readonly int _longueurMaxPiece; + private readonly float _scoreInconnu; + private readonly bool _modeleBpe; + + /// Réglages de normalisation lus dans le fichier (voir ). + private readonly SpecNormalisation _normalisation; + + /// + /// Identifiant de la pièce d'octet pour chaque valeur de 0 à 255, ou -1 si le vocabulaire n'a pas + /// cette pièce. Rempli seulement quand le repli octet est disponible. + /// + private readonly int[] _idOctetParValeur; + + /// Valeur d'octet portée par chaque pièce, ou -1 : l'inverse de . + private readonly int[] _octetParId; + + private SentencePieceTokenizer( + string[] pieces, float[] scores, int[] types, bool modeleBpe, + int idInconnu, int idDebut, int idFin, int idRemplissage, + SpecNormalisation normalisation, List avertissements) + { + _pieces = pieces; + _scores = scores; + _types = types; + _modeleBpe = modeleBpe; + _normalisation = normalisation; + IdTokenInconnu = idInconnu; + IdDebut = idDebut; + IdFin = idFin; + IdRemplissage = idRemplissage; + _idsParPiece = new Dictionary(pieces.Length, StringComparer.Ordinal); + _octetParId = new int[pieces.Length]; + _idOctetParValeur = new int[256]; + Array.Fill(_idOctetParValeur, -1); + + int longueurMax = 0; + float scoreMinimal = float.MaxValue; + for (int i = 0; i < pieces.Length; i++) + { + // Premier identifiant gagnant : quand un vocabulaire contient deux fois la même pièce, c'est + // le plus petit identifiant que le modèle ONNX associe à ce texte. + _idsParPiece.TryAdd(pieces[i], i); + longueurMax = Math.Max(longueurMax, pieces[i].Length); + scoreMinimal = Math.Min(scoreMinimal, scores[i]); + + _octetParId[i] = types[i] == TypeOctet ? ValeurOctet(pieces[i]) : -1; + if (_octetParId[i] >= 0) _idOctetParValeur[_octetParId[i]] = i; + } + + _longueurMaxPiece = longueurMax; + _scoreInconnu = scoreMinimal - PenaliteInconnu; + + // Le repli octet n'est possible que si TOUTES les valeurs d'octet sont présentes : avec un + // vocabulaire partiel, un caractère produirait une séquence d'octets tronquée, donc un texte + // corrompu au décodage. Mieux vaut alors , visible et réparable, qu'un mojibake silencieux. + int octetsManquants = 0; + for (int valeur = 0; valeur < _idOctetParValeur.Length; valeur++) + { + if (_idOctetParValeur[valeur] < 0) octetsManquants++; + } + + RepliOctetDisponible = octetsManquants == 0 && idInconnu >= 0; + Avertissements = avertissements; + + if (normalisation.CharsmapPresent) + { + // Le tableau de normalisation compilé (precompiled_charsmap) n'est pas appliqué : il faudrait + // réimplémenter la structure de trie à double tableau de SentencePiece. On le dit, parce que + // c'est la première cause à examiner si les traductions sortent dégradées. + avertissements.Add( + $"Normalisation « {normalisation.Nom} » approximée : la table compilée du modèle " + + "(precompiled_charsmap) n'est pas appliquée."); + } + + ProfilNormalisation = normalisation.Description(); + } + + /// + /// Réglages de normalisation du modèle, lus dans normalizer_spec. + /// + /// + /// Les valeurs par défaut sont celles de SentencePiece : un normalizer_spec absent doit + /// produire le même découpage qu'un modèle formé avec les réglages par défaut, et non un découpage + /// arbitraire. + /// + /// + private readonly record struct SpecNormalisation( + string Nom, + bool CharsmapPresent, + bool PrefixeFactice, + bool SupprimerEspacesSuperflus, + bool EchapperEspaces) + { + /// Réglages par défaut de SentencePiece, utilisés quand la section est absente. + public static SpecNormalisation ParDefaut => new( + "nmt_nfkc", + CharsmapPresent: false, + PrefixeFactice: true, + SupprimerEspacesSuperflus: true, + EchapperEspaces: true); + + /// Description lisible, affichée par le diagnostic. + public string Description() + { + string table = CharsmapPresent ? "table compilée NON appliquée" : "sans table compilée"; + string espaces = EchapperEspaces ? "échappés" : "littéraux"; + string superflus = SupprimerEspacesSuperflus ? "supprimés" : "conservés"; + + return $"{Nom} ({table}, préfixe={PrefixeFactice}, espaces={espaces}, espaces superflus={superflus})"; + } + } + + // Taille du vocabulaire et identifiants des jetons techniques ; la documentation de chaque + // identifiant est celle de ITextTokenizer. Un identifiant absent du fichier vaut -1. + public int TailleVocabulaire => _pieces.Length; + public int IdTokenInconnu { get; } + public int IdDebut { get; } + public int IdFin { get; } + public int IdRemplissage { get; } + + /// + /// Réglages de normalisation effectivement appliqués, sous forme lisible. Sert au diagnostic : c'est + /// la première chose à comparer avec la sortie de référence quand un découpage diverge. + /// + public string ProfilNormalisation { get; } + + /// + /// Vrai si le vocabulaire permet le repli octet : les 256 pièces <0xXX> existent et + /// un jeton inconnu est déclaré. Un caractère absent du vocabulaire est alors découpé en octets UTF-8 + /// au lieu de devenir un <unk> — c'est ce qui évite de perdre les accents, les lettres + /// arabes ou cyrilliques sur un modèle multilingue. + /// + public bool RepliOctetDisponible { get; } + + /// + /// Avertissements sur les approximations assumées par cette implémentation. Vide quand le modèle est + /// entièrement couvert. À afficher dans un écran de diagnostic, jamais à l'utilisateur final. + /// + public IReadOnlyList Avertissements { get; } + + /// + /// Charge un vocabulaire .spm. La lecture est synchrone : le fichier ne pèse que quelques + /// centaines de kilo-octets et n'est lu qu'une fois, quand le pack de langue devient utilisable. + /// + /// + /// Fichier absent ou illisible, contenu qui n'est pas un modèle SentencePiece exploitable, ou type + /// de segmentation non pris en charge. + /// + public static SentencePieceTokenizer Charger(string cheminModele) + { + if (string.IsNullOrWhiteSpace(cheminModele)) + { + throw new SentencePieceException("Aucun fichier de vocabulaire n'a été indiqué."); + } + + // Les messages remontent jusqu'à l'utilisateur : on n'y met que le nom du fichier, jamais le + // chemin complet de la sandbox. + string nomFichier = Path.GetFileName(cheminModele); + byte[] octets; + try + { + octets = File.ReadAllBytes(cheminModele); + } + catch (FileNotFoundException ex) + { + throw new SentencePieceException( + $"Le fichier de vocabulaire « {nomFichier} » est introuvable. Réinstallez le pack de langue.", ex); + } + catch (Exception ex) when (ex is IOException or UnauthorizedAccessException) + { + throw new SentencePieceException( + $"Le fichier de vocabulaire « {nomFichier} » n'a pas pu être lu. Réinstallez le pack de langue.", ex); + } + + return Analyser(octets, nomFichier); + } + + /// + public Task> EncodeAsync(string? texte, CancellationToken cancellationToken = default) + { + // Le vocabulaire est en mémoire : aucune E/S n'est à interrompre, l'annulation est donc honorée + // avant le calcul et jamais pendant. Une tâche annulée est retournée plutôt qu'une exception + // levée synchroniquement, pour respecter le contrat de la méthode. + if (cancellationToken.IsCancellationRequested) + { + return Task.FromCanceled>(cancellationToken); + } + + return Task.FromResult(Encode(texte)); + } + + /// + public string Decode(IReadOnlyList ids) + { + ArgumentNullException.ThrowIfNull(ids); + + var texte = new StringBuilder(); + var octets = new List(); + + foreach (int id in ids) + { + // Pièce d'octet : accumulée pour être reconstituée en caractère UTF-8. Sans cette + // reconstitution, un texte découpé en octets (repli octet) s'afficherait « <0xC3><0xA9> » au + // lieu de « é ». + if (id >= 0 && id < _pieces.Length && _types[id] == TypeOctet && _octetParId[id] >= 0) + { + octets.Add((byte)_octetParId[id]); + continue; + } + + ViderOctets(texte, octets); + + // Identifiant hors vocabulaire ou jeton technique : ignoré, jamais fatal. Aucun espace n'est + // inséré entre les pièces, le marqueur ▁ qu'elles contiennent portant déjà leur position. + if (id < 0 || id >= _pieces.Length || EstJetonSpecial(id)) continue; + + texte.Append(_pieces[id]); + } + + ViderOctets(texte, octets); + + // Le ▁ est une convention interne au modèle : on le retraduit en espaces ordinaires seulement si + // le modèle les a échappés. + string resultat = _normalisation.EchapperEspaces + ? texte.ToString().Replace(MarqueurEspace, ' ') + : texte.ToString(); + + // On retire UNIQUEMENT le préfixe factice que nous avons nous-mêmes ajouté à l'encodage — et + // seulement s'il a été ajouté. Un Trim() inconditionnel mangerait aussi les espaces de FIN d'un + // texte réel lorsque remove_extra_whitespaces vaut faux : c'est une divergence mesurable, et + // c'est le harnais de fixtures qui fait foi sur ce point. + if (_normalisation.PrefixeFactice && resultat.StartsWith(' ')) + { + resultat = resultat[1..]; + } + + return resultat; + } + + /// + public string? PieceDe(int id) + => id >= 0 && id < _pieces.Length ? _pieces[id] : null; + + /// + public int IdDePiece(string? piece) + => !string.IsNullOrEmpty(piece) && _idsParPiece.TryGetValue(piece, out int id) ? id : -1; + + /// + public string DecodePieces(IReadOnlyList pieces) + { + ArgumentNullException.ThrowIfNull(pieces); + + // Les pièces sont ramenées aux identifiants de CE vocabulaire : le décodage + // (marqueur ▁, repli octet, jetons techniques) reste ainsi écrit une seule + // fois, et une pièce inconnue — par exemple une étiquette de langue + // >>fra<< — est simplement ignorée au lieu de produire du charabia. + var ids = new List(pieces.Count); + foreach (string piece in pieces) + { + int id = IdDePiece(piece); + if (id >= 0) + { + ids.Add(id); + } + } + + return Decode(ids); + } + + /// Reconstitue en texte la suite d'octets accumulée, puis vide l'accumulateur. + private static void ViderOctets(StringBuilder texte, List octets) { + if (octets.Count == 0) + { + return; + } + + // Les octets viennent d'un encodage UTF-8 produit par nos soins : une séquence invalide signalerait + // un modèle incohérent. Un remplacement par U+FFFD est préférable à une exception qui ferait + // échouer toute la traduction. + texte.Append(Encoding.UTF8.GetString(octets.ToArray())); + octets.Clear(); + } + + // Pièces qui ne participent JAMAIS au découpage : contrôle (, , ), inconnu () et + // octet (<0xE2>) — exactement ce que le modèle UNIGRAM de référence exclut de son trie. Les produire + // par segmentation ferait apparaître des marqueurs techniques au milieu du texte traduit. + private bool EstJetonSpecial(int id) + => id == IdTokenInconnu || _types[id] is TypeInconnu or TypeControle or TypeOctet; + + private IReadOnlyList Encode(string? texte) + { + // Un texte vide ne produit rien, pas même le préfixe ▁ : l'appelant ne doit pas voir un jeton + // fantôme là où il n'y avait aucun mot. + if (string.IsNullOrEmpty(texte)) return Array.Empty(); + + string normalise = Normaliser(texte); + return _modeleBpe ? EncodeBpe(normalise) : EncodeUnigram(normalise); + } + + // Normalisation, dans l'ORDRE de l'implémentation de référence : réduire les espaces, puis ajouter le + // préfixe factice, puis échapper les espaces restants en marqueurs ▁. + // + // Les trois réglages sont LUS dans normalizer_spec au lieu d'être supposés : un modèle formé avec + // add_dummy_prefix=false (fréquent sur les modèles récents) serait découpé différemment, donc traduit + // différemment, si le préfixe était ajouté d'office. + private string Normaliser(string texte) + { + string resultat = _normalisation.SupprimerEspacesSuperflus ? ReduireEspaces(texte) : texte; + + // La table de normalisation compilée du modèle (precompiled_charsmap) n'est PAS appliquée : voir + // Avertissements. Seuls la réduction d'espaces et le marqueur d'espace le sont. + if (_normalisation.PrefixeFactice) resultat = string.Concat(" ", resultat); + if (_normalisation.EchapperEspaces) resultat = resultat.Replace(' ', MarqueurEspace); + + return resultat; + } + + // Supprime les espaces de bord et réduit toute suite d'espaces à un seul espace ordinaire. Les + // caractères concernés sont ceux de SentencePiece (espace, tabulation, fins de ligne, tabulation + // verticale, saut de page) : traiter seulement l'espace laisserait passer des doubles espaces. + private static string ReduireEspaces(string texte) + { + var resultat = new StringBuilder(texte.Length); + bool espaceEnAttente = false; + + foreach (char c in texte) + { + if (EstEspace(c)) + { + // Un espace en tête est ignoré ; un espace en fin ne sera jamais écrit puisque le tampon + // n'est vidé qu'avant un caractère réel. + if (resultat.Length > 0) espaceEnAttente = true; + continue; + } + + if (espaceEnAttente) + { + resultat.Append(' '); + espaceEnAttente = false; + } + + resultat.Append(c); + } + + return resultat.ToString(); + } + + private static bool EstEspace(char c) => c is ' ' or '\t' or '\n' or '\r' or '\v' or '\f'; + + // Longueur en unités UTF-16 du point de code commençant à index. On avance toujours d'un point de + // code entier : couper une paire de substituts produirait un identifiant inconnu par demi-caractère + // et rendrait le texte irreconstituable. + private static int LongueurPointDeCode(string texte, int index) + => char.IsHighSurrogate(texte[index]) && index + 1 < texte.Length && char.IsLowSurrogate(texte[index + 1]) + ? 2 + : 1; + + // Segmentation UNIGRAM : meilleur chemin au sens de Viterbi, c'est-à-dire la suite de pièces qui + // maximise la somme des scores (ce sont des log-probabilités, donc additives). Le raisonnement se fait + // sur les frontières de points de code, une pièce ne pouvant commencer ni finir au milieu d'une paire + // de substituts. + private List EncodeUnigram(string texte) + { + var frontieres = new List(); + for (int i = 0; i < texte.Length; i += LongueurPointDeCode(texte, i)) frontieres.Add(i); + frontieres.Add(texte.Length); + int points = frontieres.Count - 1; + + var meilleur = new double[points + 1]; + var precedent = new int[points + 1]; + for (int k = 1; k <= points; k++) meilleur[k] = double.NegativeInfinity; + + // Toutes les positions sont atteignables, la transition « inconnu » avançant d'un point de code + // depuis n'importe quelle position : aucun test d'atteignabilité n'est nécessaire ici. + for (int k = 0; k < points; k++) + { + int borne = Math.Min(points, k + _longueurMaxPiece); + bool couvertParUnePiece = false; + + for (int suivant = k + 1; suivant <= borne; suivant++) + { + string morceau = texte.Substring(frontieres[k], frontieres[suivant] - frontieres[k]); + if (!_idsParPiece.TryGetValue(morceau, out int id) || EstJetonSpecial(id)) continue; + if (suivant == k + 1) couvertParUnePiece = true; + if (meilleur[k] + _scores[id] <= meilleur[suivant]) continue; + meilleur[suivant] = meilleur[k] + _scores[id]; + precedent[suivant] = k; + } + + // Transition de secours, pour un seul point de code : le repli octet quand le vocabulaire le + // permet, sinon le jeton inconnu. Elle garantit que le texte entier est couvert. + // + // Le repli octet n'est calculé QUE si aucune pièce ne couvre ce point de code isolé : c'est la + // condition de la référence (« has_single_node »), qui ajoute alors les nœuds d'octet À LA PLACE + // du nœud inconnu. Cela évite aussi de calculer un encodage UTF-8 pour chaque position d'une + // phrase alors qu'un seul caractère, au plus, en a besoin. + double coutSecours = !couvertParUnePiece + && CoutOctets(texte, frontieres[k], frontieres[k + 1], out double coutOctets) + ? coutOctets + : _scoreInconnu; + + if (meilleur[k] + coutSecours > meilleur[k + 1]) + { + meilleur[k + 1] = meilleur[k] + coutSecours; + precedent[k + 1] = k; + } + } + + // Remontée du chemin depuis la fin du texte, puis remise dans l'ordre. + var chemin = new List(points); + for (int k = points; k > 0; k = precedent[k]) chemin.Add(k); + chemin.Reverse(); + + var ids = new List(chemin.Count); + int depuis = 0; + foreach (int k in chemin) + { + string morceau = texte.Substring(frontieres[depuis], frontieres[k] - frontieres[depuis]); + + // Fragment couvert par la transition de secours : repli octet si le vocabulaire le permet, + // sinon un identifiant inconnu par point de code — jamais zéro, sinon du texte disparaîtrait. + if (_idsParPiece.TryGetValue(morceau, out int id) && !EstJetonSpecial(id)) + { + ids.Add(id); + } + else + { + EmettreSecours(ids, texte, frontieres[depuis], frontieres[k]); + } + + depuis = k; + } + + return ids; + } + + // Émission du texte qu'aucune pièce ne couvre : un ou plusieurs caractères d'un seul tenant. + private void EmettreSecours(List ids, string texte, int debut, int fin) + { + for (int i = debut; i < fin; i += LongueurPointDeCode(texte, i)) + { + int longueur = LongueurPointDeCode(texte, i); + + // Repli octet d'abord : sur un modèle multilingue, il préserve les accents et les alphabets + // non latins là où les effacerait purement et simplement. + if (!EmettreOctets(ids, texte.Substring(i, longueur))) + { + ids.Add(IdTokenInconnu); + } + } + } + + // Coût (somme des scores) du repli octet pour un fragment. Faux si le repli est indisponible ou si une + // des valeurs d'octet manque du vocabulaire. + private bool CoutOctets(string texte, int debut, int fin, out double cout) + { + cout = 0d; + + if (!RepliOctetDisponible || fin <= debut) + { + return false; + } + + byte[] octets = Encoding.UTF8.GetBytes(texte.Substring(debut, fin - debut)); + for (int i = 0; i < octets.Length; i++) + { + int id = _idOctetParValeur[octets[i]]; + if (id < 0) return false; + cout += _scores[id]; + } + + return octets.Length > 0; + } + + // Ajoute les pièces d'octet d'un fragment, ou ne fait rien et retourne faux si l'une manque. + private bool EmettreOctets(List ids, string fragment) + { + if (!CoutOctets(fragment, 0, fragment.Length, out _)) + { + return false; + } + + byte[] octets = Encoding.UTF8.GetBytes(fragment); + for (int i = 0; i < octets.Length; i++) + { + ids.Add(_idOctetParValeur[octets[i]]); + } + + return true; + } + + // Segmentation BPE : un symbole par caractère au départ, puis fusion gloutonne de la paire adjacente + // dont la concaténation est une pièce connue de meilleur score, jusqu'à ce qu'aucune fusion ne soit + // possible. En cas d'égalité de score, la paire la plus à gauche gagne : le découpage reste + // déterministe. Ce traitement est quadratique et vise une phrase, pas un document. + private List EncodeBpe(string texte) + { + var symboles = new List(); + for (int i = 0; i < texte.Length; i += LongueurPointDeCode(texte, i)) + { + symboles.Add(texte.Substring(i, LongueurPointDeCode(texte, i))); + } + + while (symboles.Count > 1) + { + int indexRetenu = -1; + float scoreRetenu = float.NegativeInfinity; + for (int i = 0; i < symboles.Count - 1; i++) + { + if (!_idsParPiece.TryGetValue(symboles[i] + symboles[i + 1], out int id) || EstJetonSpecial(id)) + { + continue; + } + + if (_scores[id] > scoreRetenu) { scoreRetenu = _scores[id]; indexRetenu = i; } + } + + if (indexRetenu < 0) break; // plus aucune fusion connue : le découpage est terminé + + symboles[indexRetenu] += symboles[indexRetenu + 1]; + symboles.RemoveAt(indexRetenu + 1); + } + + var ids = new List(symboles.Count); + foreach (string symbole in symboles) + { + if (_idsParPiece.TryGetValue(symbole, out int id) && !EstJetonSpecial(id)) + { + ids.Add(id); + continue; + } + + // Symbole qui n'est pas une pièce du vocabulaire : repli octet si le vocabulaire le permet, + // sinon un identifiant inconnu par point de code. + EmettreSecours(ids, symbole, 0, symbole.Length); + } + + return ids; + } + + // Lit le ModelProto : seules les pièces, le type de modèle et normalizer_spec (sauté) sont examinés ; + // tout le reste est ignoré champ par champ grâce au saut protobuf. + private static SentencePieceTokenizer Analyser(byte[] octets, string nomFichier) + { + var pieces = new List(); + var scores = new List(); + var types = new List(); + var avertissements = new List(); + int typeModele = 1; // UNIGRAM : un trainer_spec absent ne doit pas rendre le vocabulaire inutilisable + SpecNormalisation normalisation = SpecNormalisation.ParDefaut; + + var lecteur = new LecteurProtobuf(octets, 0, octets.Length); + while (!lecteur.EstFini) + { + (int champ, int fil) = lecteur.LireCle(); + if (champ == ChampPieces && fil == FilLongueur) LirePiece(lecteur.LireSousLecteur(), pieces, scores, types); + else if (champ == ChampTrainerSpec && fil == FilLongueur) typeModele = LireTypeModele(lecteur.LireSousLecteur(), typeModele); + else if (champ == ChampNormalizerSpec && fil == FilLongueur) normalisation = LireSpecNormalisation(lecteur.LireSousLecteur(), normalisation); + else if (champ == 0) throw new SentencePieceException(PasUnModele(nomFichier)); + else lecteur.Sauter(fil); + } + + if (pieces.Count == 0) + { + throw new SentencePieceException( + $"Le fichier de vocabulaire « {nomFichier} » ne contient aucune pièce : il est incomplet ou corrompu. " + + "Réinstallez le pack de langue."); + } + + bool modeleBpe = typeModele switch + { + 1 => false, + 2 => true, + _ => throw new SentencePieceException( + $"Le fichier de vocabulaire « {nomFichier} » utilise un type de segmentation non pris en charge " + + $"(code {typeModele}). Seuls les modèles SentencePiece UNIGRAM et BPE sont gérés."), + }; + + // Une pièce d'octet sans jeton inconnu déclaré signalerait un vocabulaire incohérent : le repli + // octet serait alors inutilisable, ce qui mérite d'être signalé plutôt que découvert en production. + bool aDesPiecesOctet = types.Contains(TypeOctet); + if (aDesPiecesOctet && !pieces.Contains("")) + { + avertissements.Add( + "Le vocabulaire déclare des pièces d'octet mais aucun jeton : le repli octet est " + + "désactivé."); + } + + // Jetons techniques retrouvés par leur texte exact, leur position dans le vocabulaire n'étant pas + // garantie. -1 signale une pièce absente, cas normal pour . + return new SentencePieceTokenizer( + pieces.ToArray(), scores.ToArray(), types.ToArray(), modeleBpe, + pieces.IndexOf(""), pieces.IndexOf(""), pieces.IndexOf(""), pieces.IndexOf(""), + normalisation, avertissements); + } + + /// + /// Lit normalizer_spec. Les champs absents gardent leur valeur par défaut, qui est celle de + /// SentencePiece : un modèle formé sans toucher à ces réglages doit être découpé exactement comme un + /// modèle dont la section est absente. + /// + private static SpecNormalisation LireSpecNormalisation( + LecteurProtobuf spec, SpecNormalisation defaut) + { + string nom = defaut.Nom; + bool charsmap = defaut.CharsmapPresent; + bool prefixeFactice = defaut.PrefixeFactice; + bool supprimerSuperflus = defaut.SupprimerEspacesSuperflus; + bool echapper = defaut.EchapperEspaces; + + while (!spec.EstFini) + { + (int champ, int fil) = spec.LireCle(); + + if (champ == ChampNormalizerNom && fil == FilLongueur) nom = spec.LireChaine(); + else if (champ == ChampNormalizerCharsmap && fil == FilLongueur) + { + // Seule la PRÉSENCE de la table compte ici : sa longueur n'est pas lue, donc le champ est + // simplement sauté. Une table vide n'existe pas dans un modèle formé par SentencePiece. + charsmap = true; + spec.Sauter(fil); + } + else if (champ == ChampNormalizerPrefixeFactice && fil == FilVarint) prefixeFactice = spec.LireVarint() != 0; + else if (champ == ChampNormalizerEspacesSuperflus && fil == FilVarint) supprimerSuperflus = spec.LireVarint() != 0; + else if (champ == ChampNormalizerEchapperEspaces && fil == FilVarint) echapper = spec.LireVarint() != 0; + else spec.Sauter(fil); + } + + return new SpecNormalisation(nom, charsmap, prefixeFactice, supprimerSuperflus, echapper); + } + + /// + /// Valeur d'octet portée par une pièce de type OCTET (<0xE2>), ou -1 si le texte n'a pas + /// cette forme. Un nom inattendu est traité comme absent plutôt que comme une valeur arbitraire. + /// + private static int ValeurOctet(string piece) + { + if (piece.Length != 6 + || !piece.StartsWith("<0x", StringComparison.Ordinal) + || piece[5] != '>') + { + return -1; + } + + int valeur = 0; + for (int i = 3; i < 5; i++) + { + int chiffre = ConvertirHexa(piece[i]); + if (chiffre < 0) return -1; + valeur = (valeur << 4) | chiffre; + } + + return valeur; + } + + private static int ConvertirHexa(char c) => c switch + { + >= '0' and <= '9' => c - '0', + >= 'a' and <= 'f' => c - 'a' + 10, + >= 'A' and <= 'F' => c - 'A' + 10, + _ => -1 + }; + + // Un numéro de champ nul n'existe pas en protobuf : ce fichier n'en est pas un. + private static string PasUnModele(string nomFichier) + => $"Le fichier de vocabulaire « {nomFichier} » n'est pas un modèle SentencePiece valide."; + + /// Lit un ModelProto.SentencePiece (champs 1, 2 et 3 seulement). + private static void LirePiece(LecteurProtobuf piece, List pieces, List scores, List types) + { + string texte = string.Empty; + float score = 0f; + int type = TypeNormal; + + while (!piece.EstFini) + { + (int champ, int fil) = piece.LireCle(); + if (champ == 1 && fil == FilLongueur) texte = piece.LireChaine(); + else if (champ == 2 && fil == Fil32Bits) score = piece.LireFlottant32(); + else if (champ == 3 && fil == FilVarint) type = (int)piece.LireVarint(); + else piece.Sauter(fil); + } + + pieces.Add(texte); + scores.Add(score); + types.Add(type); + } + + /// Lit trainer_spec.model_type en sautant les autres réglages d'entraînement. + private static int LireTypeModele(LecteurProtobuf spec, int typeParDefaut) + { + int typeModele = typeParDefaut; + while (!spec.EstFini) + { + (int champ, int fil) = spec.LireCle(); + if (champ == ChampModelType && fil == FilVarint) typeModele = (int)spec.LireVarint(); + else spec.Sauter(fil); + } + + return typeModele; + } + + // Lecteur protobuf minimal : les primitives du format, plus le saut de tout champ non reconnu. C'est ce + // saut qui rend un .spm lisible sans décrire l'intégralité du schéma de SentencePiece. + private sealed class LecteurProtobuf + { + private readonly byte[] _octets; + private readonly int _fin; + private int _position; + + public LecteurProtobuf(byte[] octets, int position, int fin) + { + _octets = octets; + _position = position; + _fin = fin; + } + + public bool EstFini => _position >= _fin; + + /// Lit la clé du champ suivant : numéro de champ et type de fil. + public (int Champ, int Fil) LireCle() + { + ulong cle = LireVarint(); + return ((int)(cle >> 3), (int)(cle & 0x7)); + } + + public ulong LireVarint() + { + ulong valeur = 0; + for (int decalage = 0; decalage <= 63; decalage += 7) + { + if (_position >= _fin) + { + throw new SentencePieceException("Le fichier de vocabulaire est tronqué (entier variable incomplet)."); + } + + byte octet = _octets[_position++]; + valeur |= (ulong)(octet & 0x7F) << decalage; + if ((octet & 0x80) == 0) return valeur; + } + + // Plus de 10 octets pour un entier de 64 bits : ce fichier n'est plus un protobuf. + throw new SentencePieceException("Le fichier de vocabulaire contient un entier variable invalide."); + } + + public string LireChaine() + { + int longueur = LireLongueur(); + string valeur = Encoding.UTF8.GetString(_octets, _position, longueur); + _position += longueur; + return valeur; + } + + public float LireFlottant32() + { + if (_position + 4 > _fin) + { + throw new SentencePieceException("Le fichier de vocabulaire est tronqué (nombre flottant incomplet)."); + } + + // protobuf encode les fixed32 en petit-boutiste quelle que soit la plateforme : la recomposition + // est faite à la main, BitConverter suivant l'ordre des octets de la machine. + uint brut = (uint)(_octets[_position] | (_octets[_position + 1] << 8) + | (_octets[_position + 2] << 16) | (_octets[_position + 3] << 24)); + _position += 4; + return BitConverter.UInt32BitsToSingle(brut); + } + + // Ouvre une vue bornée sur un message imbriqué : rien n'est copié, le lecteur parent reprend + // exactement après ce message. + public LecteurProtobuf LireSousLecteur() + { + int longueur = LireLongueur(); + var sousLecteur = new LecteurProtobuf(_octets, _position, _position + longueur); + _position += longueur; + return sousLecteur; + } + + /// Saut d'un champ dont la valeur n'est pas exploitée. + public void Sauter(int fil) + { + if (fil == FilVarint) { LireVarint(); return; } + if (fil == Fil64Bits) { Avancer(8); return; } + if (fil == FilLongueur) { Avancer(LireLongueur()); return; } + if (fil == Fil32Bits) { Avancer(4); return; } + + // Les groupes (protobuf 1) ne sont jamais produits par SentencePiece. Les ignorer correctement + // demanderait une pile d'imbrication : les refuser vaut mieux qu'une lecture fausse. + if (fil is FilGroupeDebut or FilGroupeFin) + { + throw new SentencePieceException( + "Le fichier de vocabulaire utilise des groupes protobuf, qui ne sont pas pris en charge."); + } + + throw new SentencePieceException($"Le fichier de vocabulaire contient un type de fil inconnu ({fil})."); + } + + // Lit la longueur délimitant un champ : une longueur annoncée au-delà de la fin du message signale + // un fichier tronqué, détecté ici avant toute lecture hors bornes. + private int LireLongueur() + { + ulong longueur = LireVarint(); + if (longueur > (ulong)(_fin - _position)) + { + throw new SentencePieceException( + "Le fichier de vocabulaire est tronqué (champ annoncé au-delà de la fin du fichier)."); + } + + return (int)longueur; + } + + private void Avancer(int nombre) + { + if (nombre < 0 || _position + nombre > _fin) + { + throw new SentencePieceException("Le fichier de vocabulaire est tronqué."); + } + + _position += nombre; + } + } +} + +/// +/// Erreur de lecture d'un fichier de vocabulaire SentencePiece. Le message est destiné à l'utilisateur : +/// il est en français et sans détail technique (ni chemin de sandbox, ni décalage binaire), la cause réelle +/// restant disponible pour les journaux via . +/// +public sealed class SentencePieceException : Exception +{ + public SentencePieceException(string message) + : base(message) { } + + public SentencePieceException(string message, Exception innerException) + : base(message, innerException) { } +} diff --git a/src/Omika.App.Local/Services/SessionRefreshHandler.cs b/src/Omika.App.Local/Services/SessionRefreshHandler.cs new file mode 100644 index 0000000..12ca106 --- /dev/null +++ b/src/Omika.App.Local/Services/SessionRefreshHandler.cs @@ -0,0 +1,129 @@ +using System.Net; +using System.Net.Http.Headers; + +namespace Omika.App.Local.Services; + +/// +/// Handler HTTP central qui intercepte un 401 Unauthorized sur les appels +/// authentifiés, déclenche un renouvellement de session (single-flight, délégué) +/// puis, si le renouvellement aboutit, rejoue UNE seule fois les requêtes sûres +/// (GET/HEAD sans corps). +/// +/// Garde-fous : +/// - La revalidation elle-même (license/activate, license/validate) doit marquer +/// sa requête avec pour ne pas se ré-intercepter +/// (absence de récursion) ; +/// - Maximum 1 renouvellement + 1 retry : le retry passe directement au handler +/// interne, donc un second 401 est propagé sans nouvelle revalidation ; +/// - Les écritures (POST/PUT/DELETE) ne sont JAMAIS rejouées automatiquement. +/// +public sealed class SessionRefreshHandler : DelegatingHandler +{ + /// + /// Marqueur de requête : les appels non authentifiés de licence + /// (activate/validate) posent cette option pour contourner le refresh. + /// + public static readonly HttpRequestOptionsKey SkipAuthRefresh = new("Omika.SkipAuthRefresh"); + + private Func>? _revalidate; + private Func? _getAccessToken; + + public SessionRefreshHandler(HttpMessageHandler innerHandler) + { + InnerHandler = innerHandler ?? throw new ArgumentNullException(nameof(innerHandler)); + } + + /// + /// Branche le coordinateur de renouvellement et l'accès au token courant. + /// Appelé après la construction (dépendance circulaire session ↔ client). + /// + public void Configure( + Func> revalidate, + Func getAccessToken) + { + _revalidate = revalidate ?? throw new ArgumentNullException(nameof(revalidate)); + _getAccessToken = getAccessToken ?? throw new ArgumentNullException(nameof(getAccessToken)); + } + + /// + protected override async Task SendAsync( + HttpRequestMessage request, + CancellationToken cancellationToken) + { + // Requête de licence non authentifiée : ne jamais intercepter son 400/401. + if (request.Options.TryGetValue(SkipAuthRefresh, out bool skip) && skip) + { + return await base.SendAsync(request, cancellationToken).ConfigureAwait(false); + } + + HttpResponseMessage response = await base.SendAsync(request, cancellationToken).ConfigureAwait(false); + if (response.StatusCode != HttpStatusCode.Unauthorized) + { + return response; + } + + if (_revalidate is null || _getAccessToken is null) + { + return response; + } + + // Un 401 sans Authorization (appel anonyme) n'a pas vocation à revalider. + string? failedToken = request.Headers.Authorization?.Parameter; + if (string.IsNullOrWhiteSpace(failedToken)) + { + return response; + } + + string? currentToken = _getAccessToken(); + + bool renewed; + if (!string.Equals(failedToken, currentToken, StringComparison.Ordinal)) + { + // Un autre appel vient déjà de renouveler le token : on le réutilise. + renewed = true; + } + else + { + renewed = await _revalidate(failedToken, cancellationToken).ConfigureAwait(false); + } + + if (!renewed) + { + return response; + } + + // Rejoue uniquement les méthodes sûres SANS corps. Les écritures ne sont + // jamais rejouées (risque de double écriture) : le nouveau token profitera + // aux appels suivants. + if ((request.Method == HttpMethod.Get || request.Method == HttpMethod.Head) + && request.Content is null) + { + response.Dispose(); + using HttpRequestMessage retry = CloneSafeRequest(request, _getAccessToken()); + return await base.SendAsync(retry, cancellationToken).ConfigureAwait(false); + } + + return response; + } + + private static HttpRequestMessage CloneSafeRequest(HttpRequestMessage request, string? token) + { + var retry = new HttpRequestMessage(request.Method, request.RequestUri); + foreach (KeyValuePair> header in request.Headers) + { + if (header.Key.Equals("Authorization", StringComparison.OrdinalIgnoreCase)) + { + continue; + } + + retry.Headers.TryAddWithoutValidation(header.Key, header.Value); + } + + if (!string.IsNullOrWhiteSpace(token)) + { + retry.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token); + } + + return retry; + } +} diff --git a/src/Omika.App.Local/Services/SiteLocalService.cs b/src/Omika.App.Local/Services/SiteLocalService.cs new file mode 100644 index 0000000..d0255b9 --- /dev/null +++ b/src/Omika.App.Local/Services/SiteLocalService.cs @@ -0,0 +1,681 @@ +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.Core.Contracts.Clients; +using Omika.Core.Contracts.Common; +using Omika.Core.Contracts.Interventions; +using Omika.Core.Contracts.Mobile.Interventions; +using Omika.Core.Contracts.Planning; +using Omika.Core.Contracts.Sites; + +namespace Omika.App.Local.Services; + +/// +/// Service de lecture des sites / lieux depuis les données locales SQLite +/// (dernier snapshot). Ne déclenche aucun appel API : les données proviennent +/// exclusivement des tables métier locales. Lecture seule : aucune écriture ni +/// Outbox n'est créée pour les sites. +/// +/// Relations réellement démontrables localement : +/// +/// Site → Client : relation explicite SiteDetailsDto.ClientId. +/// Site → Contacts : liste explicite SiteDetailsDto.ContactIds, résolue vers les Personnes/Contacts locales. +/// Site → Interventions : relation directe InterventionDetailsDto.SiteId. +/// +/// Aucune relation n'est déduite par commodité (nom, adresse, transitivité). +/// +public sealed class SiteLocalService : ISiteLocalService +{ + private readonly ILocalRepository _siteRepository; + private readonly ILocalRepository _clientRepository; + private readonly ILocalRepository _personneRepository; + private readonly ILocalRepository _rendezVousRepository; + private readonly ILocalRepository _interventionRepository; + private readonly IContextInterventionCacheRepository _interventionCacheRepository; + private readonly ISiteLocalStateRepository _stateRepository; + private readonly IMobileApiClient _apiClient; + + public SiteLocalService( + ILocalRepository siteRepository, + ILocalRepository clientRepository, + ILocalRepository personneRepository, + ILocalRepository rendezVousRepository, + ILocalRepository interventionRepository, + IContextInterventionCacheRepository interventionCacheRepository, + ISiteLocalStateRepository stateRepository, + IMobileApiClient apiClient) + { + _siteRepository = siteRepository; + _clientRepository = clientRepository; + _personneRepository = personneRepository; + _rendezVousRepository = rendezVousRepository; + _interventionRepository = interventionRepository; + _interventionCacheRepository = interventionCacheRepository; + _stateRepository = stateRepository; + _apiClient = apiClient; + } + + /// + public async Task> GetSitesAsync( + CancellationToken cancellationToken = default) + { + IReadOnlyList sites = await _siteRepository.GetAllAsync(cancellationToken); + + IReadOnlyList pinnedIds = await _stateRepository.GetPinnedIdsAsync(cancellationToken); + var pinnedSet = new HashSet(pinnedIds); + + IReadOnlyList clients = await _clientRepository.GetAllAsync(cancellationToken); + + var clientById = clients + .Select(c => (c.Id, Dto: JsonHelper.Deserialize(c.PayloadJson))) + .Where(x => x.Dto is not null) + .ToDictionary(x => x.Id, x => x.Dto!); + + var items = new List(); + foreach (LocalSite local in sites) + { + SiteDetailsDto? dto = JsonHelper.Deserialize(local.PayloadJson); + if (dto is null) + { + // Payload local invalide : entrée ignorée proprement (log technique). + continue; + } + + Guid? clientGuid = TryParseGuid(dto.ClientId); + ClientDetailsDto? client = clientGuid is not null && clientById.TryGetValue(clientGuid.Value, out var c) ? c : null; + + items.Add(new SiteListItem + { + SiteGuid = local.Id, + Code = dto.Code, + Nom = dto.Nom, + Type = dto.Type?.Label, + Ville = dto.Adresse?.City, + CodePostal = dto.Adresse?.PostalCode, + ClientNom = client?.Nom, + IsPinned = pinnedSet.Contains(local.Id) + }); + } + + // Tri déterministe : nom (insensible à la casse) puis code. + return items + .OrderBy(s => s.Nom, StringComparer.OrdinalIgnoreCase) + .ThenBy(s => s.Code, StringComparer.OrdinalIgnoreCase) + .ToList(); + } + + /// + public async Task> SearchSitesAsync( + string? nom, + string? code, + string? type, + string? ville, + string? codePostal, + string? telephone, + string? email, + CancellationToken cancellationToken = default) + { + PagedResult page = await _apiClient.SearchSitesAsync( + new SearchSitesRequest + { + Page = 1, + PageSize = 200, + Nom = nom, + Code = code, + Type = type, + Ville = ville, + CodePostal = codePostal, + Telephone = telephone, + Email = email, + EstArchive = false + }, cancellationToken); + + IReadOnlyList pinnedIds = await _stateRepository.GetPinnedIdsAsync(cancellationToken); + var pinnedSet = new HashSet(pinnedIds); + + IReadOnlyList results = page.Items + .Select(d => MapSummaryToListItem(d, pinnedSet)) + .OrderBy(s => s.Nom, StringComparer.OrdinalIgnoreCase) + .ThenBy(s => s.Code, StringComparer.OrdinalIgnoreCase) + .ToList(); + + await _stateRepository.SaveLastSearchAsync(JsonHelper.Serialize(results), cancellationToken); + + return results; + } + + /// + public async Task> GetLastSearchAsync( + CancellationToken cancellationToken = default) + { + string? json = await _stateRepository.GetLastSearchJsonAsync(cancellationToken); + if (string.IsNullOrWhiteSpace(json)) + { + return []; + } + + IReadOnlyList? results = JsonHelper.Deserialize>(json); + if (results is null) + { + return []; + } + + IReadOnlyList pinnedIds = await _stateRepository.GetPinnedIdsAsync(cancellationToken); + var pinnedSet = new HashSet(pinnedIds); + + return results.Select(s => new SiteListItem + { + SiteGuid = s.SiteGuid, + Code = s.Code, + Nom = s.Nom, + Type = s.Type, + Ville = s.Ville, + CodePostal = s.CodePostal, + ClientNom = s.ClientNom, + IsPinned = pinnedSet.Contains(s.SiteGuid) + }).ToList(); + } + + /// + public Task ClearLastSearchAsync(CancellationToken cancellationToken = default) + => _stateRepository.ClearLastSearchAsync(cancellationToken); + + /// + public Task> GetPinnedAsync(CancellationToken cancellationToken = default) + => _stateRepository.GetPinnedItemsAsync(cancellationToken); + + /// + public Task SetPinnedAsync(Guid siteId, bool isPinned, SiteListItem? item, CancellationToken cancellationToken = default) + => _stateRepository.SetPinnedAsync( + siteId, + isPinned, + item is null ? "{}" : JsonHelper.Serialize(item), + cancellationToken); + + /// + public async Task> GetSiteContactsAsync( + Guid siteGuid, + CancellationToken cancellationToken = default) + { + IReadOnlyList contacts = await _apiClient.GetContactsBySiteAsync(siteGuid, cancellationToken); + return contacts + .Select(MapToSiteContact) + .OrderBy(c => c.DisplayName, StringComparer.OrdinalIgnoreCase) + .ToList(); + } + + /// + public async Task> GetSiteClientsAsync( + Guid siteGuid, + CancellationToken cancellationToken = default) + { + IReadOnlyList clients = await _apiClient.GetClientsBySiteAsync(siteGuid, cancellationToken); + return clients + .Select(MapToSiteClient) + .OrderBy(c => c.Nom ?? c.Code, StringComparer.OrdinalIgnoreCase) + .ToList(); + } + + private static SiteClient MapToSiteClient(ClientSummaryDto client) + => new() + { + ClientGuid = Guid.TryParse(client.Id, out Guid id) ? id : Guid.Empty, + Code = client.Code, + Nom = client.Nom, + Type = client.Type, + Statut = client.Statut, + Ville = client.Ville, + CodePostal = client.CodePostal, + Telephone = client.Telephone, + Email = client.Email + }; + + /// + public async Task> GetSiteRendezVousAsync( + Guid siteGuid, + CancellationToken cancellationToken = default) + { + IReadOnlyList rendezVous = await _apiClient.GetRendezVousBySiteAsync(siteGuid, cancellationToken); + return rendezVous + .Select(MapToSiteRendezVous) + .OrderBy(r => r.Debut) + .ToList(); + } + + private static SiteContact MapToSiteContact(ContactDto contact) + => new() + { + ContactGuid = Guid.TryParse(contact.Id, out Guid id) ? id : Guid.Empty, + DisplayName = contact.NomAffiche ?? BuildDisplayName(contact), + Email = contact.Coordonnees?.Email, + Phone = contact.Coordonnees?.Phone, + Mobile = contact.Coordonnees?.Mobile + }; + + private static SiteRendezVous MapToSiteRendezVous(RendezVousDetailsDto rdv) + => new() + { + RendezVousGuid = Guid.Parse(rdv.Id), + Titre = rdv.Titre ?? string.Empty, + Debut = rdv.Debut, + Fin = rdv.Fin, + TypeActivite = rdv.TypeActivite?.Label, + Statut = rdv.Statut?.Label, + SiteNom = rdv.SiteNom, + SiteAdresse = rdv.SiteAdresse, + InterventionReference = rdv.InterventionReference, + InterventionNumeroDevis = rdv.InterventionNumeroDevis, + InterventionReferenceExterne = rdv.InterventionReferenceExterne, + Collaborateurs = rdv.Collaborateurs + .Select(c => c.NomAffiche) + .Where(n => !string.IsNullOrWhiteSpace(n)) + .Select(n => n!.Trim()) + .Distinct(StringComparer.OrdinalIgnoreCase) + .ToList(), + Description = rdv.Description, + EstAnnule = rdv.Annulation is not null || rdv.EstArchive + }; + + /// + public async Task GetSiteByIdAsync( + Guid siteGuid, + CancellationToken cancellationToken = default) + { + SiteDetailsDto? dto = null; + + // Rafraîchit TOUJOURS depuis le serveur (les données locales peuvent être + // obsolètes ou absentes). En cas d'échec (offline), repli sur le cache local. + try + { + dto = await _apiClient.GetSiteByIdAsync(siteGuid, cancellationToken); + if (dto is not null) + { + await _siteRepository.UpsertAsync(new LocalSite + { + Id = siteGuid, + ClientId = TryParseGuid(dto.ClientId), + PayloadJson = JsonHelper.Serialize(dto), + UpdatedAtUtc = DateTimeOffset.UtcNow + }, cancellationToken); + } + } + catch + { + // Offline : repli sur le cache local. + } + + if (dto is null) + { + return await GetLocalSiteByIdAsync(siteGuid, cancellationToken); + } + + // Charge les références une seule fois pour enrichir le détail. + ReferenceCollections references = await LoadReferencesAsync(siteGuid, cancellationToken); + + return MapToDetail(siteGuid, dto, references); + } + + /// + public async Task GetLocalSiteByIdAsync( + Guid siteGuid, + CancellationToken cancellationToken = default) + { + LocalSite? local = await _siteRepository.GetByIdAsync(siteGuid, cancellationToken); + SiteDetailsDto? dto = local is null + ? null + : JsonHelper.Deserialize(local.PayloadJson); + + if (dto is null) + { + // Hors connexion, la table Site (chargée À LA DEMANDE) peut être vide + // après un snapshot. On reconstruit une fiche PARTIELLE depuis le + // résumé connu (dernière recherche / épinglage) et les références + // dénormalisées des rendez-vous / interventions du snapshot. Les + // champs manquants restent nuls/vides. + return await BuildPartialDetailAsync(siteGuid, cancellationToken); + } + + ReferenceCollections references = await LoadReferencesAsync(siteGuid, cancellationToken); + return MapToDetail(siteGuid, dto, references); + } + + /// + /// Reconstruit une fiche site PARTIELLE hors connexion à partir des données + /// locales réellement disponibles : résumé connu (dernière recherche / + /// épinglage) et références dénormalisées portées par les rendez-vous et + /// interventions du snapshot (SiteNom / SiteAdresse, relation + /// directe SiteId). Les champs manquants restent nuls/vides. Retourne + /// null uniquement si aucune donnée locale ne permet d'identifier le + /// site. + /// + private async Task BuildPartialDetailAsync( + Guid siteGuid, + CancellationToken cancellationToken) + { + SiteListItem? item = await FindListItemAsync(siteGuid, cancellationToken); + + string? siteNom = item?.Nom; + string? siteAdresse = null; + + // 1. Rendez-vous du snapshot liés au site (relation directe SiteId). + var rendezVous = new List(); + IReadOnlyList localRendezVous = await _rendezVousRepository.GetAllAsync(cancellationToken); + foreach (LocalRendezVous local in localRendezVous) + { + if (local.SiteId != siteGuid) + { + continue; + } + + RendezVousDetailsDto? rdv = JsonHelper.Deserialize(local.PayloadJson); + if (rdv is null) + { + continue; + } + + siteNom ??= rdv.SiteNom; + siteAdresse ??= rdv.SiteAdresse; + rendezVous.Add(MapToSiteRendezVous(rdv)); + } + + // 2. Interventions du snapshot liées au site (relation directe SiteId). + var interventions = new List(); + IReadOnlyList localInterventions = await _interventionRepository.GetAllAsync(cancellationToken); + foreach (LocalIntervention local in localInterventions) + { + if (local.SiteId != siteGuid) + { + continue; + } + + InterventionDetailsDto? intervention = JsonHelper.Deserialize(local.PayloadJson); + if (intervention is null) + { + continue; + } + + siteNom ??= intervention.SiteNom; + siteAdresse ??= intervention.SiteAdresse; + interventions.Add(MapToSiteIntervention(intervention)); + } + + // Aucune donnée locale (ni résumé, ni référence) : introuvable à juste titre. + if (item is null + && string.IsNullOrWhiteSpace(siteNom) + && string.IsNullOrWhiteSpace(siteAdresse) + && rendezVous.Count == 0 + && interventions.Count == 0) + { + return null; + } + + SiteAdresse? adresse = null; + if (!string.IsNullOrWhiteSpace(siteAdresse)) + { + adresse = new SiteAdresse { Line1 = siteAdresse, OneLine = siteAdresse }; + } + else if (item is not null + && (!string.IsNullOrWhiteSpace(item.Ville) || !string.IsNullOrWhiteSpace(item.CodePostal))) + { + string oneLine = string.Join( + " ", + new[] { item.CodePostal, item.Ville }.Where(p => !string.IsNullOrWhiteSpace(p))); + adresse = new SiteAdresse + { + PostalCode = item.CodePostal, + City = item.Ville, + OneLine = oneLine + }; + } + + return new SiteDetail + { + SiteGuid = siteGuid, + Nom = string.IsNullOrWhiteSpace(siteNom) ? null : siteNom, + Code = item?.Code, + Type = item?.Type, + EstArchive = false, + Adresse = adresse, + Contacts = [], + Clients = [], + Interventions = interventions + .OrderByDescending(i => i.DatePrevueDebut) + .ThenBy(i => i.Reference, StringComparer.OrdinalIgnoreCase) + .ToList(), + RendezVous = rendezVous + .OrderBy(r => r.Debut) + .ToList(), + InterventionsCacheAvailable = false + }; + } + + /// + /// Recherche le résumé d'un site dans la dernière recherche puis parmi les + /// sites épinglés (données de liste conservées localement, jamais purgées + /// par un snapshot). + /// + private async Task FindListItemAsync( + Guid siteGuid, + CancellationToken cancellationToken) + { + string? json = await _stateRepository.GetLastSearchJsonAsync(cancellationToken); + if (!string.IsNullOrWhiteSpace(json)) + { + IReadOnlyList? items = JsonHelper.Deserialize>(json); + SiteListItem? match = items?.FirstOrDefault(i => i.SiteGuid == siteGuid); + if (match is not null) + { + return match; + } + } + + IReadOnlyList pinned = await _stateRepository.GetPinnedItemsAsync(cancellationToken); + return pinned.FirstOrDefault(i => i.SiteGuid == siteGuid); + } + + /// Mappe une intervention du snapshot vers l'affichage « Intervention liée au site ». + private static SiteIntervention MapToSiteIntervention(InterventionDetailsDto intervention) + => new() + { + InterventionGuid = Guid.TryParse(intervention.Id, out Guid id) ? id : Guid.Empty, + Reference = intervention.Reference, + Titre = intervention.Titre, + Etat = intervention.Etat?.Label, + Type = intervention.Type?.Label, + ClientNom = intervention.ClientNom, + SiteNom = intervention.SiteNom, + SiteAddressDisplay = intervention.SiteAdresse, + ContactNom = intervention.Contacts.FirstOrDefault()?.NomAffiche, + DatePrevueDebut = intervention.DatePrevueDebut + }; + + public async Task RefreshSiteInterventionsAsync( + Guid siteGuid, + CancellationToken cancellationToken = default) + { + var request = new MobileInterventionSearchRequest { SiteId = siteGuid.ToString() }; + IReadOnlyList results = + await _apiClient.SearchInterventionsAsync(request, cancellationToken); + + IReadOnlyList details = results + .Select(r => r.Detail) + .Where(d => !d.EstArchive) + .ToList(); + + await _interventionCacheRepository.ReplaceAsync( + InterventionContextTypes.Site, + siteGuid, + details, + cancellationToken); + + return await GetSiteByIdAsync(siteGuid, cancellationToken); + } + + private async Task LoadReferencesAsync( + Guid siteGuid, + CancellationToken cancellationToken) + { + IReadOnlyList personnes = await _personneRepository.GetAllAsync(cancellationToken); + ContextInterventionCacheResult cachedInterventions = + await _interventionCacheRepository.GetByContextAsync( + InterventionContextTypes.Site, + siteGuid, + cancellationToken); + + var personneById = personnes + .Select(p => (p.Id, Dto: JsonHelper.Deserialize(p.PayloadJson))) + .Where(x => x.Dto is not null) + .ToDictionary(x => x.Id, x => x.Dto!); + + var interventionsBySite = cachedInterventions.Interventions + .Select(i => (Id: TryParseGuid(i.Id) ?? Guid.Empty, SiteId: TryParseGuid(i.SiteId), Dto: i)) + .Where(x => x.Id != Guid.Empty && x.SiteId is not null) + .Select(x => (x.Id, SiteId: x.SiteId!.Value, Dto: (InterventionDetailsDto?)x.Dto)) + .Where(x => x.Dto is not null) + .ToList(); + + return new ReferenceCollections(personneById, interventionsBySite, cachedInterventions.HasCache); + } + + private static SiteListItem MapSummaryToListItem(SiteSummaryDto dto, HashSet pinnedSet) + { + Guid guid = Guid.TryParse(dto.Id, out Guid parsed) ? parsed : Guid.Empty; + return new SiteListItem + { + SiteGuid = guid, + Code = dto.Code, + Nom = dto.Nom, + Type = dto.Type, + Ville = dto.Ville, + CodePostal = dto.CodePostal, + IsPinned = guid != Guid.Empty && pinnedSet.Contains(guid) + }; + } + + private static SiteDetail MapToDetail( + Guid siteGuid, + SiteDetailsDto dto, + ReferenceCollections references) + { + // Contacts réellement liés : liste explicite ContactIds du DTO Site. + var contactIds = new HashSet(); + foreach (string id in dto.ContactIds) + { + if (Guid.TryParse(id, out Guid guid)) + { + contactIds.Add(guid); + } + } + + var contacts = new List(); + foreach (Guid contactId in contactIds) + { + if (!references.Personnes.TryGetValue(contactId, out ContactDto? contact)) + { + continue; + } + + contacts.Add(new SiteContact + { + ContactGuid = contactId, + DisplayName = contact.NomAffiche ?? BuildDisplayName(contact), + Email = contact.Coordonnees?.Email, + Phone = contact.Coordonnees?.Phone, + Mobile = contact.Coordonnees?.Mobile + }); + } + + // Interventions réellement liées : relation directe SiteId. + var interventions = references.Interventions + .Where(i => i.SiteId == siteGuid) + .Select(i => new SiteIntervention + { + InterventionGuid = i.Id, + Reference = i.Dto!.Reference, + Titre = i.Dto.Titre, + Etat = i.Dto.Etat?.Label, + Type = i.Dto.Type?.Label, + ClientNom = i.Dto.ClientNom, + SiteNom = i.Dto.SiteNom, + SiteAddressDisplay = i.Dto.SiteAdresse, + ContactNom = i.Dto.Contacts.FirstOrDefault()?.NomAffiche, + DatePrevueDebut = i.Dto.DatePrevueDebut + }) + .OrderByDescending(i => i.DatePrevueDebut) + .ThenBy(i => i.Reference, StringComparer.OrdinalIgnoreCase) + .ToList(); + + return new SiteDetail + { + SiteGuid = siteGuid, + Code = dto.Code, + Nom = dto.Nom, + Type = dto.Type?.Label, + CodeAcces = dto.CodeAcces, + Badge = dto.Badge, + Interphone = dto.Interphone, + InformationsComplementaires = dto.InformationsComplementaires, + EstArchive = dto.EstArchive, + Adresse = MapAdresse(dto.Adresse), + Contacts = contacts + .OrderBy(c => c.DisplayName, StringComparer.OrdinalIgnoreCase) + .ToList(), + Interventions = interventions, + InterventionsCacheAvailable = references.HasInterventionCache + }; + } + + private static SiteAdresse? MapAdresse(Omika.Core.Contracts.Common.AddressDto? adresse) + { + if (adresse is null) + { + return null; + } + + return new SiteAdresse + { + Line1 = adresse.Line1, + Line2 = adresse.Line2, + Line3 = adresse.Line3, + PostalCode = adresse.PostalCode, + City = adresse.City, + CountryCode = adresse.CountryCode, + OneLine = adresse.OneLine + }; + } + + private static string BuildDisplayName(ContactDto contact) + { + string prenom = contact.Prenom?.Trim() ?? string.Empty; + string nom = contact.Nom?.Trim() ?? string.Empty; + + if (prenom.Length > 0 && nom.Length > 0) + { + return $"{prenom} {nom}"; + } + if (prenom.Length > 0) + { + return prenom; + } + if (nom.Length > 0) + { + return nom; + } + return "Contact"; + } + + private static Guid? TryParseGuid(string? value) + { + return Guid.TryParse(value, out Guid guid) ? guid : null; + } + + /// + /// Regroupe les références Personnes et Interventions chargées une + /// seule fois pour enrichir le détail d'un site. Les clients sont résolus + /// À LA DEMANDE via (Client_Lieu). + /// + private sealed record ReferenceCollections( + IReadOnlyDictionary Personnes, + IReadOnlyList<(Guid Id, Guid SiteId, InterventionDetailsDto? Dto)> Interventions, + bool HasInterventionCache); +} diff --git a/src/Omika.App.Local/Services/SnapshotApplier.cs b/src/Omika.App.Local/Services/SnapshotApplier.cs new file mode 100644 index 0000000..1495a6a --- /dev/null +++ b/src/Omika.App.Local/Services/SnapshotApplier.cs @@ -0,0 +1,585 @@ +using Microsoft.Data.Sqlite; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.App.Local.Repositories; +using Omika.App.Local.Sqlite; +using Omika.Core.Contracts.Clients; +using Omika.Core.Contracts.Documents; +using Omika.Core.Contracts.Mobile.Snapshot; +using Omika.Core.Contracts.Planning; + +namespace Omika.App.Local.Services; + +/// +/// Applique un snapshot métier de manière atomique aux tables métier locales. +/// Le snapshot est entièrement téléchargé et validé AVANT de modifier les +/// tables actives. En cas d'erreur avant commit, rollback : l'ancienne base +/// métier locale reste utilisable. +/// +public sealed class SnapshotApplier : ISnapshotApplier +{ + private readonly LocalDatabase _database; + + /// + /// Fenêtre de rétention (en jours, passé et futur) des rendez-vous locaux + /// ABSENTS du snapshot (chargés à la demande hors fenêtre d'agenda). Au-delà, + /// ils ne sont plus préservés lors de l'application du snapshot, afin de ne + /// pas faire grossir indéfiniment la table locale « RendezVous ». + /// + private const int PreserveRendezVousWindowDays = 90; + + public SnapshotApplier(LocalDatabase database) + { + _database = database; + } + + public async Task ApplyAsync( + MobileSnapshotResponse snapshot, + IReadOnlyCollection? preserveRendezVousGuids = null, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(snapshot); + + // Validation minimale avant toute modification. + ValidateSnapshot(snapshot); + + var importSw = System.Diagnostics.Stopwatch.StartNew(); + + await using SqliteTransaction transaction = await _database.BeginTransactionAsync(cancellationToken); + + try + { + // Remplace uniquement les tables métier provenant du snapshot. + // Les tables techniques (Outbox, IdentityMapping, SyncState, + // DocumentCache, LocalBootstrap) ne sont JAMAIS touchées. + await ReplaceTableAsync("Personne", snapshot.Personnes, p => new LocalPersonne { Id = Guid.Parse(p.Id), PayloadJson = JsonHelper.Serialize(p) }, cancellationToken); + await ReplaceTableAsync("Intervention", snapshot.Interventions, i => new LocalIntervention + { + Id = Guid.Parse(i.Id), + ClientId = TryParseGuid(i.ClientId), + SiteId = TryParseGuid(i.SiteId), + DossierId = TryParseGuid(i.DossierId), + PayloadJson = JsonHelper.Serialize(i) + }, cancellationToken); + + // Rendez-vous : on préserve les copies locales ABSENTES du snapshot + // — mutations en attente (Outbox non confirmée) ET rendez-vous chargés + // à la demande hors fenêtre d'agenda — afin qu'ils restent consultables + // hors connexion (l'agenda lit la table locale). La conservation est + // bornée dans le temps (fenêtre de rétention) pour éviter une croissance + // sans fin. Les rendez-vous présents dans le snapshot restent la + // référence (version serveur la plus récente). + // + // Les rendez-vous ARCHIVÉS ne sont JAMAIS conservés : un rendez-vous + // retiré de l'exploitation ne doit plus apparaître sur le mobile. + IReadOnlyList snapshotRendezVous = snapshot.RendezVous + .Where(r => !r.EstArchive) + .ToList(); + + HashSet snapshotRendezVousGuids = snapshotRendezVous + .Select(r => Guid.Parse(r.Id)) + .ToHashSet(); + HashSet pendingRendezVousGuids = + preserveRendezVousGuids is { Count: > 0 } + ? preserveRendezVousGuids.ToHashSet() + : new HashSet(); + + IReadOnlyList existingRendezVousGuids = + await ReadAllRendezVousGuidsAsync(cancellationToken); + IReadOnlyList preserveCandidateGuids = existingRendezVousGuids + .Where(id => pendingRendezVousGuids.Contains(id) || !snapshotRendezVousGuids.Contains(id)) + .ToList(); + + IReadOnlyList preservedRendezVous = + preserveCandidateGuids.Count > 0 + ? (await ReadRendezVousAsync(preserveCandidateGuids, cancellationToken)) + .Where(local => pendingRendezVousGuids.Contains(local.Id) + || EstRendezVousHorsFenetreAGarder(local)) + .ToList() + : []; + + await ReplaceTableAsync("RendezVous", snapshotRendezVous, r => new LocalRendezVous + { + Id = Guid.Parse(r.Id), + ClientId = TryParseGuid(r.ClientId), + SiteId = TryParseGuid(r.SiteId), + DossierId = TryParseGuid(r.DossierId), + InterventionId = TryParseGuid(r.InterventionId), + PayloadJson = JsonHelper.Serialize(r) + }, cancellationToken); + + foreach (LocalRendezVous local in preservedRendezVous) + { + await InsertRendezVousAsync(local, cancellationToken); + } + + // Informations complètes des interventions liées aux rendez-vous de la + // fenêtre d'agenda : notes (internes + administratives), courriels et + // métadonnées de documents. Elles sont fournies par le snapshot afin + // d'être disponibles hors ligne dès le lancement. + await ApplyNotesAsync(snapshot.Notes, cancellationToken); + await ApplyEmailsAsync(snapshot.Emails, cancellationToken); + await ApplyDocumentsAsync(snapshot.Documents, cancellationToken); + + // Tables métier À LA DEMANDE : le snapshot ne les fournit plus + // (Client, Site, Dossier, Collaborateur, SuiviTemps). Toute donnée + // encore présente provient d'un ancien snapshot « en bloc » dont le + // format de payload est obsolète (par ex. Site sans CodeAcces / + // ClientId). On les purge donc à chaque snapshot : elles seront + // rechargées à la demande avec le format courant. Les préférences + // techniques (épinglage, dernière recherche) vivent dans des tables + // dédiées et ne sont pas affectées. + await PurgeOnDemandBusinessTablesAsync(cancellationToken); + + await transaction.CommitAsync(cancellationToken); + + importSw.Stop(); + Console.WriteLine($"SQLITE IMPORT END elapsed={importSw.Elapsed.TotalSeconds:F3}s"); + } + catch + { + await transaction.RollbackAsync(cancellationToken); + throw; + } + } + + /// Lit les copies locales complètes des rendez-vous à préserver. + private async Task> ReadRendezVousAsync( + IReadOnlyCollection guids, + CancellationToken cancellationToken) + { + var result = new List(); + foreach (Guid guid in guids) + { + const string sql = """ + SELECT "Id", "PayloadJson", "UpdatedAtUtc", "ClientId", "SiteId", "DossierId", "InterventionId" + FROM "RendezVous" WHERE "Id" = @Id + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@Id", guid.ToString())); + + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + if (await reader.ReadAsync(cancellationToken)) + { + result.Add(new LocalRendezVous + { + Id = Guid.Parse(reader.GetString(0)), + PayloadJson = reader.GetString(1), + UpdatedAtUtc = DateTimeOffset.Parse(reader.GetString(2)), + ClientId = ReadGuid(reader, 3), + SiteId = ReadGuid(reader, 4), + DossierId = ReadGuid(reader, 5), + InterventionId = ReadGuid(reader, 6) + }); + } + } + return result; + } + + /// + /// Lit l'ensemble des identifiants (clé primaire) de la table locale + /// « RendezVous » avant son remplacement par le snapshot. + /// + private async Task> ReadAllRendezVousGuidsAsync(CancellationToken cancellationToken) + { + var result = new List(); + const string sql = "SELECT \"Id\" FROM \"RendezVous\""; + await using var command = _database.CreateCommand(); + command.CommandText = sql; + + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + result.Add(Guid.Parse(reader.GetString(0))); + } + return result; + } + + /// + /// Indique si une copie locale ABSENTE du snapshot doit être conservée parce + /// qu'elle a été chargée À LA DEMANDE, c'est-à-dire HORS de la fenêtre + /// d'agenda fournie par le snapshot (). + /// + /// + /// Dans la fenêtre d'agenda, un rendez-vous absent du snapshot ne relève plus + /// du périmètre du collaborateur : il a été archivé, retiré de son agenda, ou + /// le collaborateur a été retiré du rendez-vous groupé. Le conserver ferait + /// réapparaître sur le mobile une donnée retirée de l'exploitation. Hors de la + /// fenêtre (rendez-vous ouvert depuis une recherche ou une fiche), la copie + /// reste utile hors connexion — la rétention reste bornée dans le temps. + /// Les rendez-vous archivés ne sont jamais conservés, quelle que soit leur date. + /// + /// + private static bool EstRendezVousHorsFenetreAGarder(LocalRendezVous local) + { + RendezVousDetailsDto? dto = JsonHelper.Deserialize(local.PayloadJson); + if (dto is null || dto.Debut == default || dto.EstArchive) + { + return false; + } + + DateTime today = DateTime.Today; + return !MobileAgendaWindow.Contains(dto.Debut, today) && IsWithinPreserveWindow(local); + } + + /// + /// Indique si un rendez-vous local (absent du snapshot) doit être conservé : + /// sa date d'agenda (Debut, déjà rabattue côté serveur) doit être dans la + /// fenêtre de rétention. Les rendez-vous sans date exploitable ou trop + /// anciens/futurs ne sont pas préservés. + /// + private static bool IsWithinPreserveWindow(LocalRendezVous local) + { + RendezVousDetailsDto? dto = JsonHelper.Deserialize(local.PayloadJson); + if (dto is null || dto.Debut == default) + { + return false; + } + + DateTime today = DateTime.Today; + return dto.Debut.Date >= today.AddDays(-PreserveRendezVousWindowDays) + && dto.Debut.Date <= today.AddDays(PreserveRendezVousWindowDays); + } + + /// Ré-insère un rendez-vous local préservé après le remplacement. + private async Task InsertRendezVousAsync(LocalRendezVous entity, CancellationToken cancellationToken) + { + entity.UpdatedAtUtc = DateTimeOffset.UtcNow; + + const string sql = """ + INSERT OR REPLACE INTO "RendezVous" ("Id", "PayloadJson", "UpdatedAtUtc", "ClientId", "SiteId", "DossierId", "InterventionId") + VALUES (@Id, @PayloadJson, @UpdatedAtUtc, @ClientId, @SiteId, @DossierId, @InterventionId) + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@Id", entity.Id.ToString())); + command.Parameters.Add(CreateParameter("@PayloadJson", entity.PayloadJson)); + command.Parameters.Add(CreateParameter("@UpdatedAtUtc", entity.UpdatedAtUtc.ToString("O"))); + command.Parameters.Add(CreateParameter("@ClientId", entity.ClientId?.ToString())); + command.Parameters.Add(CreateParameter("@SiteId", entity.SiteId?.ToString())); + command.Parameters.Add(CreateParameter("@DossierId", entity.DossierId?.ToString())); + command.Parameters.Add(CreateParameter("@InterventionId", entity.InterventionId?.ToString())); + await command.ExecuteNonQueryAsync(cancellationToken); + } + + /// + /// Insère/met à jour les notes (internes + administratives) fournies par le + /// snapshot. Aucune suppression : les notes créées hors ligne (en attente + /// d'envoi) sont conservées, et les notes supprimées côté serveur seront + /// nettoyées par le rafraîchissement à la demande une fois en ligne. + /// + private async Task ApplyNotesAsync( + IReadOnlyList notes, + CancellationToken cancellationToken) + { + var repository = new NoteInterneLocalRepository(_database); + foreach (InterventionNoteSnapshotDto note in notes) + { + if (!Guid.TryParse(note.Id, out Guid noteId) + || !Guid.TryParse(note.InterventionId, out Guid interventionId)) + { + continue; + } + + await repository.UpsertAsync(new LocalNoteInterne + { + Id = noteId, + InterventionId = interventionId, + EstAdministrative = note.EstAdministrative, + Contenu = note.Contenu ?? string.Empty, + DateCreation = note.DateCreation, + AuteurNom = note.AuteurNom + }, cancellationToken); + } + } + + /// + /// Remplace les courriels locaux par ceux du snapshot. Les courriels ne sont + /// jamais créés hors ligne (toujours via l'API), donc le remplacement est sans + /// perte de saisie utilisateur. + /// + private async Task ApplyEmailsAsync( + IReadOnlyList emails, + CancellationToken cancellationToken) + { + var repository = new EmailInterventionLocalRepository(_database); + await repository.DeleteAllAsync(cancellationToken); + + foreach (InterventionEmailSnapshotDto email in emails) + { + if (!Guid.TryParse(email.Id, out Guid emailId) + || !Guid.TryParse(email.InterventionId, out Guid interventionId)) + { + continue; + } + + await repository.UpsertAsync(new LocalEmailIntervention + { + Id = emailId, + InterventionId = interventionId, + PayloadJson = JsonHelper.Serialize(email) + }, cancellationToken); + } + } + + /// + /// Remplace les métadonnées de documents par celles du snapshot, en préservant + /// les documents créés hors ligne (opération Outbox Document encore en attente). + /// + private async Task ApplyDocumentsAsync( + IReadOnlyList documents, + CancellationToken cancellationToken) + { + HashSet pendingGuids = (await ReadPendingDocumentGuidsAsync(cancellationToken)).ToHashSet(); + + IReadOnlyList preserved = + pendingGuids.Count > 0 + ? await ReadDocumentsAsync(pendingGuids, cancellationToken) + : []; + + await _database.ExecuteNonQueryAsync("DELETE FROM \"DocumentMetadata\"", cancellationToken); + + foreach (DocumentSummaryDto dto in documents) + { + if (!Guid.TryParse(dto.Id, out Guid id)) + { + continue; + } + + await InsertDocumentMetadataAsync(new LocalDocumentMetadata + { + Id = id, + InterventionId = TryParseGuid(dto.InterventionId), + PayloadJson = JsonHelper.Serialize(dto) + }, cancellationToken); + } + + foreach (LocalDocumentMetadata local in preserved) + { + await InsertDocumentMetadataAsync(local, cancellationToken); + } + } + + /// Lit les GUID des documents ayant une opération Outbox en attente. + private async Task> ReadPendingDocumentGuidsAsync(CancellationToken cancellationToken) + { + const string sql = """ + SELECT "RequestedEntityGuid" FROM "Outbox" + WHERE "EntityType" = @Document + AND "State" IN (@Pending, @Sending, @Accepted, @WaitingResult, @StatusNotAvailable) + """; + + var result = new List(); + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@Document", SyncEntityTypes.Document)); + command.Parameters.Add(CreateParameter("@Pending", (int)OutboxState.Pending)); + command.Parameters.Add(CreateParameter("@Sending", (int)OutboxState.Sending)); + command.Parameters.Add(CreateParameter("@Accepted", (int)OutboxState.Accepted)); + command.Parameters.Add(CreateParameter("@WaitingResult", (int)OutboxState.WaitingResult)); + command.Parameters.Add(CreateParameter("@StatusNotAvailable", (int)OutboxState.StatusNotAvailable)); + + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + result.Add(Guid.Parse(reader.GetString(0))); + } + + return result; + } + + /// Lit les métadonnées de documents locales par GUID. + private async Task> ReadDocumentsAsync( + IReadOnlyCollection guids, + CancellationToken cancellationToken) + { + var result = new List(); + foreach (Guid guid in guids) + { + const string sql = """ + SELECT "Id", "PayloadJson", "InterventionId" + FROM "DocumentMetadata" WHERE "Id" = @Id + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@Id", guid.ToString())); + + await using var reader = await command.ExecuteReaderAsync(cancellationToken); + if (await reader.ReadAsync(cancellationToken)) + { + result.Add(new LocalDocumentMetadata + { + Id = Guid.Parse(reader.GetString(0)), + PayloadJson = reader.GetString(1), + InterventionId = ReadGuid(reader, 2) + }); + } + } + + return result; + } + + /// Insère (ou remplace) une métadonnée de document locale. + private async Task InsertDocumentMetadataAsync( + LocalDocumentMetadata entity, + CancellationToken cancellationToken) + { + entity.UpdatedAtUtc = DateTimeOffset.UtcNow; + + const string sql = """ + INSERT OR REPLACE INTO "DocumentMetadata" ("Id", "InterventionId", "PayloadJson", "UpdatedAtUtc") + VALUES (@Id, @InterventionId, @PayloadJson, @UpdatedAtUtc) + """; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + command.Parameters.Add(CreateParameter("@Id", entity.Id.ToString())); + command.Parameters.Add(CreateParameter("@InterventionId", entity.InterventionId?.ToString())); + command.Parameters.Add(CreateParameter("@PayloadJson", entity.PayloadJson)); + command.Parameters.Add(CreateParameter("@UpdatedAtUtc", entity.UpdatedAtUtc.ToString("O"))); + await command.ExecuteNonQueryAsync(cancellationToken); + } + + private static Guid? ReadGuid(SqliteDataReader reader, int ordinal) + => reader.IsDBNull(ordinal) ? null : Guid.Parse(reader.GetString(ordinal)); + + private static void ValidateSnapshot(MobileSnapshotResponse snapshot) + { + // Validation minimale : le snapshot doit avoir une date de génération + // valide. Les listes peuvent être vides (premier snapshot). + if (snapshot.GeneratedAtUtc == default) + { + throw new InvalidOperationException("Snapshot invalide : GeneratedAtUtc manquant."); + } + + // Validation défensive AVANT toute modification (DELETE/INSERT). Une + // collision sur la clé primaire UNIQUE Personne.Id ne doit jamais + // atteindre SQLite et produire une erreur SQL peu explicite. On valide + // l'Id public exactement comme il sera converti pour l'INSERT + // (Guid.Parse) : deux formats différents du même Guid sont donc aussi + // détectés comme doublons. + ValidatePersonneIds(snapshot.Personnes); + } + + private static void ValidatePersonneIds(IReadOnlyList personnes) + { + var seen = new HashSet(); + foreach (ContactDto personne in personnes) + { + string id = personne.Id; + if (string.IsNullOrWhiteSpace(id) || !Guid.TryParse(id, out Guid guid)) + { + throw new InvalidOperationException("Snapshot invalide : Personne.Id nul ou invalide."); + } + + if (!seen.Add(guid)) + { + throw new InvalidOperationException("Snapshot invalide : Personne.Id dupliqué."); + } + } + } + + /// + /// Purge les tables métier chargées À LA DEMANDE (non fournies par le + /// snapshot) afin d'éliminer tout payload obsolète laissé par un ancien + /// snapshot « en bloc ». Le rechargement à la demande reconstruit ces + /// tables avec le format de payload courant. + /// + private async Task PurgeOnDemandBusinessTablesAsync(CancellationToken cancellationToken) + { + foreach (string table in OnDemandBusinessTables) + { + await _database.ExecuteNonQueryAsync($"DELETE FROM \"{table}\"", cancellationToken); + } + } + + /// + /// Tables métier désormais chargées À LA DEMANDE et donc purgées à chaque + /// snapshot (le snapshot ne les fournit plus). DocumentMetadata est + /// exclue : le snapshot la fournit désormais (métadonnées des documents des + /// interventions de la fenêtre d'agenda). + /// + private static readonly string[] OnDemandBusinessTables = + [ + "Client", + "Site", + "Dossier", + "Collaborateur", + "SuiviTemps" + ]; + + private async Task ReplaceTableAsync( + string tableName, + IReadOnlyList items, + Func mapper, + CancellationToken cancellationToken) + where TEntity : LocalEntityBase + { + // Supprime toutes les lignes de la table métier. + await _database.ExecuteNonQueryAsync($"DELETE FROM \"{tableName}\"", cancellationToken); + + // Colonnes de référence typées définies par le modèle/table. + IReadOnlyList referenceColumns = ReferenceColumnMapper.GetReferenceColumns(tableName); + + // Insère les nouvelles lignes. + foreach (TDto item in items) + { + TEntity entity = mapper(item); + entity.UpdatedAtUtc = DateTimeOffset.UtcNow; + + var columns = new List { "Id", "PayloadJson", "UpdatedAtUtc" }; + var values = new List { "@Id", "@PayloadJson", "@UpdatedAtUtc" }; + var parameters = new List + { + CreateParameter("@Id", entity.Id.ToString()), + CreateParameter("@PayloadJson", entity.PayloadJson), + CreateParameter("@UpdatedAtUtc", entity.UpdatedAtUtc.ToString("O")) + }; + + foreach (string column in referenceColumns) + { + Guid? value = ReferenceColumnMapper.GetReferenceValue(entity, column); + columns.Add(column); + values.Add($"@{column}"); + parameters.Add(CreateParameter($"@{column}", value?.ToString())); + } + + string sql = $"INSERT INTO \"{tableName}\" ({string.Join(", ", columns.Select(c => $"\"{c}\""))}) " + + $"VALUES ({string.Join(", ", values)})"; + + await using var command = _database.CreateCommand(); + command.CommandText = sql; + foreach (SqliteParameter parameter in parameters) + { + command.Parameters.Add(parameter); + } + await command.ExecuteNonQueryAsync(cancellationToken); + } + } + + /// + /// Crée un paramètre SQLite en gérant correctement les valeurs null. + /// Le constructeur SqliteParameter(string, object) ne définit pas + /// correctement la propriété Value : on la définit explicitement. + /// + private static SqliteParameter CreateParameter(string name, object? value) + { + var parameter = new SqliteParameter { ParameterName = name }; + parameter.Value = value ?? DBNull.Value; + return parameter; + } + + /// + /// Tente de convertir une chaîne en GUID. Retourne null si la valeur + /// est absente ou invalide (référence optionnelle non résolue). + /// + private static Guid? TryParseGuid(string? value) + => Guid.TryParse(value, out Guid guid) ? guid : null; +} + + diff --git a/src/Omika.App.Local/Services/SuiviTempsLocalService.cs b/src/Omika.App.Local/Services/SuiviTempsLocalService.cs new file mode 100644 index 0000000..21e4f46 --- /dev/null +++ b/src/Omika.App.Local/Services/SuiviTempsLocalService.cs @@ -0,0 +1,469 @@ +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.App.Local.Repositories; +using Omika.Core.Contracts.Common; +using Omika.Core.Contracts.Mobile.Sync; +using Omika.Core.Contracts.Planning; +using LocalSyncEntityTypes = Omika.App.Local.Infrastructure.SyncEntityTypes; + +namespace Omika.App.Local.Services; + +/// +/// Service de lecture des suivis de temps depuis les données locales SQLite. +/// Ne déclenche aucun appel API : les données proviennent exclusivement du +/// dernier snapshot local (table métier SuiviTemps). La création est +/// offline-first : écriture locale + opération Outbox CREATE. Le champ +/// Valide n'est jamais positionnable depuis le mobile : il représente un +/// état de validation métier géré côté backend. +/// +public sealed class SuiviTempsLocalService : ISuiviTempsLocalService +{ + private readonly ILocalRepository _suiviTempsRepository; + private readonly IOutboxService _outboxService; + private readonly IMobileApiClient _apiClient; + private readonly ISuiviTempsDraftRepository _draftRepository; + private readonly IRendezVousTempsValidationRepository _validationRepository; + private readonly RendezVousDraftReferenceRepository _rendezVousDraftReferenceRepository; + private readonly IMobileSessionService _sessionService; + + public SuiviTempsLocalService( + ILocalRepository suiviTempsRepository, + IOutboxService outboxService, + IMobileApiClient apiClient, + ISuiviTempsDraftRepository draftRepository, + IRendezVousTempsValidationRepository validationRepository, + RendezVousDraftReferenceRepository rendezVousDraftReferenceRepository, + IMobileSessionService sessionService) + { + _suiviTempsRepository = suiviTempsRepository; + _outboxService = outboxService; + _apiClient = apiClient; + _draftRepository = draftRepository; + _validationRepository = validationRepository; + _rendezVousDraftReferenceRepository = rendezVousDraftReferenceRepository; + _sessionService = sessionService; + } + + /// + public async Task CreateAsync( + SuiviTempsSyncPayload payload, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(payload); + + // Identité mobile (A) : distincte de l'OperationId de l'Outbox. + Guid requestedGuid = Guid.NewGuid(); + + // 1. Écrire l'entité locale dans SQLite (offline-first). + // Valide est toujours false : le mobile ne peut pas fixer l'état de + // validation métier (géré côté backend). + SuiviTempsDto dto = MapToLocalDto(payload, requestedGuid); + await SaveLocalAsync(requestedGuid, dto, cancellationToken); + + // 2. Enqueue l'opération Outbox CREATE (même unité locale logique). + string payloadJson = JsonHelper.Serialize(payload); + await _outboxService.EnqueueAsync( + LocalSyncEntityTypes.SuiviTemps, + SyncOperationType.Create, + requestedGuid, + payloadJson, + cancellationToken: cancellationToken); + + Console.WriteLine( + $"[SuiviTemps] CreateAsync ENQUEUE entity=SuiviTemps op=Create guid={requestedGuid} " + + $"collab={payload.CollaborateurId} rdv={payload.RendezVousId} type={payload.TypeTempsKey} " + + $"date={payload.Date:O} fin={payload.DateHeureFin:O} duree={payload.DureeMinutes}"); + + return requestedGuid; + } + + /// + public async Task GetByGuidAsync( + Guid suiviTempsGuid, + CancellationToken cancellationToken = default) + { + LocalSuiviTemps? local = await _suiviTempsRepository.GetByIdAsync(suiviTempsGuid, cancellationToken); + if (local is null) + { + return null; + } + + return JsonHelper.Deserialize(local.PayloadJson); + } + + /// + public async Task> GetAllAsync( + CancellationToken cancellationToken = default) + { + await EnsureLoadedAsync(cancellationToken); + + IReadOnlyList items = await _suiviTempsRepository.GetAllAsync(cancellationToken); + + var result = new List(); + foreach (LocalSuiviTemps local in items) + { + SuiviTempsDto? dto = JsonHelper.Deserialize(local.PayloadJson); + if (dto is null) + { + // Payload local invalide : entrée ignorée proprement. + continue; + } + result.Add(dto); + } + + // Tri déterministe : date puis durée. + return result + .OrderBy(s => s.Date) + .ThenBy(s => s.DureeMinutes) + .ToList(); + } + + /// + public async Task> GetByInterventionAsync( + Guid interventionGuid, + CancellationToken cancellationToken = default) + { + await EnsureLoadedAsync(cancellationToken); + + IReadOnlyList items = await _suiviTempsRepository.GetAllAsync(cancellationToken); + + var result = new List(); + foreach (LocalSuiviTemps local in items) + { + // Filtre par référence locale InterventionId (réconciliable A → B). + if (local.InterventionId != interventionGuid) + { + continue; + } + + SuiviTempsDto? dto = JsonHelper.Deserialize(local.PayloadJson); + if (dto is null) + { + continue; + } + result.Add(dto); + } + + return result + .OrderBy(s => s.Date) + .ThenBy(s => s.DureeMinutes) + .ToList(); + } + + /// + public async Task> GetByRendezVousAsync( + Guid rendezVousGuid, + CancellationToken cancellationToken = default) + { + // Charge les saisies de CE rendez-vous (filtre serveur), puis repli sur le + // cache local. C'est ce chemin ciblé qui permet de ré-afficher les temps + // validés après une purge locale : le chargement générique « première page » + // d'EnsureLoadedAsync ne contient pas forcément ce rendez-vous. + await EnsureRendezVousLoadedAsync(rendezVousGuid, cancellationToken); + + IReadOnlyList items = await _suiviTempsRepository.GetAllAsync(cancellationToken); + + var result = new List(); + foreach (LocalSuiviTemps local in items) + { + // Filtre par référence locale RendezVousId (réconciliable A → B). + if (local.RendezVousId != rendezVousGuid) + { + continue; + } + + SuiviTempsDto? dto = JsonHelper.Deserialize(local.PayloadJson); + if (dto is null) + { + continue; + } + result.Add(dto); + } + + return result + .OrderBy(s => s.Date) + .ThenBy(s => s.DureeMinutes) + .ToList(); + } + + /// + public Task> GetDraftsByRendezVousAsync( + Guid rendezVousGuid, + CancellationToken cancellationToken = default) + => _draftRepository.GetByRendezVousAsync(rendezVousGuid, cancellationToken); + + /// + public Task CreateDraftAsync( + SuiviTempsDraftEntry draft, + CancellationToken cancellationToken = default) + => _draftRepository.UpsertAsync(draft, cancellationToken); + + /// + public Task DeleteDraftAsync( + Guid rendezVousGuid, + string typeTempsKey, + CancellationToken cancellationToken = default) + => _draftRepository.DeleteAsync(rendezVousGuid, typeTempsKey, cancellationToken); + + /// + public async Task HasTypeTempsAsync( + Guid rendezVousGuid, + string typeTempsKey, + CancellationToken cancellationToken = default) + => await _draftRepository.GetAsync(rendezVousGuid, typeTempsKey, cancellationToken) is not null; + + /// + public async Task IsValideAsync( + Guid rendezVousGuid, + CancellationToken cancellationToken = default) + => await _validationRepository.GetAsync(rendezVousGuid, cancellationToken) is not null; + + /// + public async Task ValidateRendezVousAsync( + Guid rendezVousGuid, + CancellationToken cancellationToken = default) + { + // 1. Envoie chaque brouillon encore en attente (offline-first). + IReadOnlyList drafts = await _draftRepository.GetByRendezVousAsync(rendezVousGuid, cancellationToken); + List pendingDrafts = drafts.Where(d => !d.EstEnvoye).ToList(); + + Console.WriteLine( + $"[SuiviTemps] ValidateRendezVousAsync rdv={rendezVousGuid} " + + $"drafts={drafts.Count} pending={pendingDrafts.Count}"); + + foreach (SuiviTempsDraftEntry draft in pendingDrafts) + { + var payload = new SuiviTempsSyncPayload + { + CollaborateurId = draft.CollaborateurId?.ToString(), + InterventionId = draft.InterventionId?.ToString(), + RendezVousId = rendezVousGuid.ToString(), + Date = draft.Date, + DateHeureFin = draft.Date.AddMinutes(draft.DureeMinutes), + DureeMinutes = draft.DureeMinutes, + TypeTempsKey = draft.TypeTempsKey, + Description = draft.Description + }; + + await CreateAsync(payload, cancellationToken); + await _draftRepository.MarkEnvoyeAsync(rendezVousGuid, draft.TypeTempsKey, cancellationToken); + } + + // 2. Marqueur local de validation (survit aux snapshots). + await _validationRepository.SetAsync(rendezVousGuid, DateTimeOffset.UtcNow, cancellationToken); + + // 3. Enqueue la validation du rendez-vous (TempsValide) côté serveur. + string? collaborateurId = await GetCurrentCollaborateurIdAsync(cancellationToken); + if (!string.IsNullOrWhiteSpace(collaborateurId)) + { + var rdvPayload = new RendezVousTempsValidePayload + { + CollaborateurId = collaborateurId, + TempsValide = true + }; + + await _outboxService.EnqueueAsync( + LocalSyncEntityTypes.RendezVous, + SyncOperationType.Update, + rendezVousGuid, + JsonHelper.Serialize(rdvPayload), + cancellationToken: cancellationToken); + } + } + + /// + public async Task SaveRendezVousPourBrouillonAsync( + AgendaItem rendezVous, + CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(rendezVous); + await _rendezVousDraftReferenceRepository.UpsertAsync( + rendezVous.RendezVousGuid, + JsonHelper.Serialize(rendezVous), + cancellationToken); + } + + /// + public async Task> GetRendezVousAvecBrouillonAsync( + CancellationToken cancellationToken = default) + { + IReadOnlyList entries = + await _rendezVousDraftReferenceRepository.GetAllAsync(cancellationToken); + + var result = new List(entries.Count); + foreach (RendezVousDraftReferenceEntry entry in entries) + { + AgendaItem? item = JsonHelper.Deserialize(entry.PayloadJson); + if (item is not null) + { + result.Add(item); + } + } + + return result; + } + + /// + public Task DeleteRendezVousPourBrouillonAsync( + Guid rendezVousId, + CancellationToken cancellationToken = default) + => _rendezVousDraftReferenceRepository.DeleteAsync(rendezVousId, cancellationToken); + + /// + /// Identifiant public du collaborateur associé à l'utilisateur authentifié + /// (source : bootstrap local). si indisponible. + /// + private async Task GetCurrentCollaborateurIdAsync(CancellationToken cancellationToken) + { + LocalBootstrapState? bootstrap = await _sessionService.GetBootstrapAsync(cancellationToken); + return bootstrap?.Collaborateur?.Id; + } + + /// + /// Repli À LA DEMANDE : le snapshot ne charge plus les saisies de temps en + /// bloc. Si le cache local est vide, on télécharge la première page (bornée) + /// depuis l'API et on la met en cache. Offline-safe : l'échec réseau ne + /// lève rien (le cache local, même vide, reste exploitable). + /// + private async Task EnsureLoadedAsync(CancellationToken cancellationToken) + { + IReadOnlyList existing = await _suiviTempsRepository.GetAllAsync(cancellationToken); + if (existing.Count > 0) + { + return; + } + + try + { + PagedResult page = await _apiClient.GetSuivisTempsAsync( + new SuiviTempsSearchCriteria { Page = 1, PageSize = 200 }, cancellationToken); + + foreach (SuiviTempsDto dto in page.Items) + { + await UpsertServerDtoAsync(dto, cancellationToken); + } + } + catch (OperationCanceledException) + { + throw; + } + catch (Exception) + { + // Offline ou serveur indisponible : aucune donnée locale à charger. + } + } + + /// + /// Charge les saisies de temps d'un rendez-vous précis depuis l'API (filtre + /// RendezVousId), sauf si le cache local en possède déjà. Offline-safe : + /// l'échec réseau ne lève rien (le cache local reste exploitable). + /// + private async Task EnsureRendezVousLoadedAsync( + Guid rendezVousGuid, + CancellationToken cancellationToken) + { + IReadOnlyList existing = await _suiviTempsRepository.GetAllAsync(cancellationToken); + if (existing.Any(s => s.RendezVousId == rendezVousGuid)) + { + return; + } + + try + { + PagedResult page = await _apiClient.GetSuivisTempsAsync( + new SuiviTempsSearchCriteria + { + Page = 1, + PageSize = 200, + RendezVousId = rendezVousGuid + }, + cancellationToken); + + foreach (SuiviTempsDto dto in page.Items) + { + await UpsertServerDtoAsync(dto, cancellationToken); + } + } + catch (OperationCanceledException) + { + throw; + } + catch (Exception) + { + // Offline ou serveur indisponible : aucune donnée locale à charger. + } + } + + /// + /// Persiste un serveur dans le cache local, avec + /// ses références typées (réconciliation d'identité sûre). + /// + private async Task UpsertServerDtoAsync(SuiviTempsDto dto, CancellationToken cancellationToken) + { + if (!Guid.TryParse(dto.Id, out Guid id)) + { + return; + } + + await _suiviTempsRepository.UpsertAsync(new LocalSuiviTemps + { + Id = id, + PayloadJson = JsonHelper.Serialize(dto), + UpdatedAtUtc = DateTimeOffset.UtcNow, + CollaborateurId = TryParseGuid(dto.CollaborateurId), + InterventionId = TryParseGuid(dto.InterventionId), + RendezVousId = TryParseGuid(dto.RendezVousId) + }, cancellationToken); + } + + /// + /// Construit le DTO local (SuiviTempsDto) à partir du payload mobile. Seuls + /// les champs réellement présents dans le payload sont renseignés ; le champ + /// protégé Valide reste géré côté serveur (toujours false localement + /// pour une création). + /// + private static SuiviTempsDto MapToLocalDto( + SuiviTempsSyncPayload payload, + Guid id) + { + return new SuiviTempsDto + { + Id = id.ToString(), + CollaborateurId = payload.CollaborateurId, + InterventionId = payload.InterventionId, + RendezVousId = payload.RendezVousId, + Date = payload.Date, + DureeMinutes = payload.DureeMinutes, + Description = payload.Description, + Valide = false + }; + } + + /// + /// Persiste un SuiviTemps local (Upsert) avec son DTO sérialisé et ses + /// références typées pour une réconciliation d'identité sûre. + /// + private async Task SaveLocalAsync( + Guid id, + SuiviTempsDto dto, + CancellationToken cancellationToken) + { + var local = new LocalSuiviTemps + { + Id = id, + PayloadJson = JsonHelper.Serialize(dto), + UpdatedAtUtc = DateTimeOffset.UtcNow, + CollaborateurId = TryParseGuid(dto.CollaborateurId), + InterventionId = TryParseGuid(dto.InterventionId), + RendezVousId = TryParseGuid(dto.RendezVousId) + }; + + await _suiviTempsRepository.UpsertAsync(local, cancellationToken); + } + + private static Guid? TryParseGuid(string? value) + { + return Guid.TryParse(value, out Guid guid) ? guid : null; + } +} diff --git a/src/Omika.App.Local/Services/SupportLogExporter.cs b/src/Omika.App.Local/Services/SupportLogExporter.cs new file mode 100644 index 0000000..69370eb --- /dev/null +++ b/src/Omika.App.Local/Services/SupportLogExporter.cs @@ -0,0 +1,123 @@ +using System; +using System.IO; +using System.Linq; +using System.Text; +using Omika.App.Local.Abstractions; + +namespace Omika.App.Local.Services; + +/// +/// Exporte les journaux de diagnostic locaux (omika-diagnostic-*.jsonl, +/// écrits par le système de diagnostic) dans un fichier .txt unique +/// (omika-support-logs.txt) placé dans le même répertoire, destiné à être +/// joint à un email de support. +/// +/// Fail-open : toute erreur (dossier inaccessible, fichier verrouillé, disque +/// plein…) retourne sans jamais lever d'exception. Le +/// fichier de sortie est écrit avec un partage en lecture pour cohabiter avec le +/// writer de diagnostic encore actif. +/// +public sealed class SupportLogExporter : ISupportLogExporter +{ + private const string FilePattern = "omika-diagnostic-*.jsonl"; + private const string CrashFilePattern = "omika-crash-*.log"; + private const string OutputFileName = "omika-support-logs.txt"; + + private readonly string _directory; + + public SupportLogExporter(string directory) + { + if (string.IsNullOrWhiteSpace(directory)) + { + throw new ArgumentException("Le répertoire des diagnostics est requis.", nameof(directory)); + } + + _directory = directory; + } + + /// + public string? ExportLatestLogs() + { + try + { + // Le dossier des diagnostics est créé au démarrage par le writer ; + // on le (re)crée si besoin afin que la pièce jointe de support soit + // toujours produite (même si aucun journal n'a encore été écrit). + if (!Directory.Exists(_directory)) + { + Directory.CreateDirectory(_directory); + } + + // Ordre chronologique (date + séquence) : le fichier .txt se lit du + // plus ancien au plus récent, les derniers logs en fin de fichier. + string[] files = Directory.EnumerateFiles(_directory, FilePattern) + .OrderBy(Path.GetFileName, StringComparer.OrdinalIgnoreCase) + .ToArray(); + + string targetPath = Path.Combine(_directory, OutputFileName); + using var writer = new StreamWriter( + targetPath, append: false, new UTF8Encoding(encoderShouldEmitUTF8Identifier: false)); + writer.WriteLine("=== Journaux de diagnostic Omika Mobile ==="); + writer.WriteLine($"Généré le : {DateTime.Now:dd/MM/yyyy HH:mm:ss}"); + writer.WriteLine(); + + if (files.Length == 0) + { + // Aucun journal local : on produit quand même une pièce jointe + // (l'email de support ne part jamais sans fichier joint). + writer.WriteLine("Aucun journal de diagnostic n'a encore été enregistré pour cette session."); + } + else + { + foreach (string file in files) + { + writer.WriteLine($"--- {Path.GetFileName(file)} ---"); + + // Lecture en FileShare.ReadWrite pour cohabiter avec le writer + // de diagnostic encore actif sur le même fichier. + using var reader = new StreamReader( + new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.ReadWrite), + Encoding.UTF8); + string? line; + while ((line = reader.ReadLine()) is not null) + { + writer.WriteLine(line); + } + + writer.WriteLine(); + } + } + + // Journaux de crash (exceptions non gérées, écrits en secours par + // ExceptionTelemetry) : joints pour que le support voie aussi les crashs, + // même si le pipeline de diagnostic asynchrone n'a pas pu flusher avant la + // mort du processus. + string[] crashFiles = Directory.EnumerateFiles(_directory, CrashFilePattern) + .OrderBy(Path.GetFileName, StringComparer.OrdinalIgnoreCase) + .ToArray(); + foreach (string crashFile in crashFiles) + { + writer.WriteLine($"--- {Path.GetFileName(crashFile)} ---"); + using var crashReader = new StreamReader( + new FileStream(crashFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite), + Encoding.UTF8); + string? crashLine; + while ((crashLine = crashReader.ReadLine()) is not null) + { + writer.WriteLine(crashLine); + } + + writer.WriteLine(); + } + + writer.Flush(); + return targetPath; + } + catch + { + // Fail-open : l'export des journaux ne doit jamais faire échouer + // l'envoi d'un email de support. + return null; + } + } +} diff --git a/src/Omika.App.Local/Services/SyncEngine.cs b/src/Omika.App.Local/Services/SyncEngine.cs new file mode 100644 index 0000000..bca9a25 --- /dev/null +++ b/src/Omika.App.Local/Services/SyncEngine.cs @@ -0,0 +1,597 @@ +using Microsoft.Extensions.Logging; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Models; +using Omika.Core.Contracts.Documents; +using Omika.Core.Contracts.Mobile.Documents; +using Omika.Core.Contracts.Mobile.Sync; +using LocalSyncEntityTypes = Omika.App.Local.Infrastructure.SyncEntityTypes; + +namespace Omika.App.Local.Services; + + +/// +/// Moteur de synchronisation unique du mobile. +/// Deux usages : +/// +/// : envoi seul (réseau → Outbox → statuts → +/// réconciliation). Aucun snapshot : les données locales et l'écran en cours ne +/// sont jamais touchés. Utilisé par la surveillance de fond. +/// : cycle global = envoi + snapshot +/// atomique. Utilisé au lancement de l'application et par l'action manuelle. +/// +/// Protégé contre deux cycles concurrents (SemaphoreSlim) : un envoi de fond et +/// une synchronisation globale ne peuvent jamais s'exécuter en parallèle sur la +/// même file locale. +/// +public sealed class SyncEngine : ISyncEngine +{ + private readonly INetworkConnectivity _network; + private readonly IMobileApiClient _apiClient; + private readonly IOutboxRepository _outboxRepository; + private readonly IMobileIdentityReconciliationService _reconciliation; + private readonly ISnapshotApplier _snapshotApplier; + private readonly IDeviceIdProvider _deviceIdProvider; + private readonly ILogger _logger; + private readonly SemaphoreSlim _syncLock = new(1, 1); + + /// + /// Nombre maximal de ré-émissions d'une opération dont le serveur répond + /// « statut indisponible » (opération reçue mais introuvable dans ses files). + /// Au-delà, l'opération est marquée en anomalie terminale (visible). + /// + private const int MaxStatusNotAvailableRetries = 5; + + public SyncEngine( + INetworkConnectivity network, + IMobileApiClient apiClient, + IOutboxRepository outboxRepository, + IMobileIdentityReconciliationService reconciliation, + ISnapshotApplier snapshotApplier, + IDeviceIdProvider deviceIdProvider, + ILogger logger) + { + _network = network; + _apiClient = apiClient; + _outboxRepository = outboxRepository; + _reconciliation = reconciliation; + _snapshotApplier = snapshotApplier; + _deviceIdProvider = deviceIdProvider; + _logger = logger; + } + + /// + public Task PushAsync(CancellationToken cancellationToken = default) + => RunCycleAsync(applySnapshot: false, cancellationToken); + + /// + public Task SyncAsync(CancellationToken cancellationToken = default) + => RunCycleAsync(applySnapshot: true, cancellationToken); + + /// + /// Exécute un cycle. est le SEUL point de + /// divergence entre l'envoi seul et la synchronisation globale : quand il est + /// faux, le cycle s'arrête après l'envoi et l'interrogation des statuts, sans + /// jamais télécharger ni appliquer de snapshot (l'écran en cours est donc + /// totalement préservé). + /// Dans les deux cas, le cycle commence par remettre en attente les envois + /// interrompus (état « Envoi en cours » resté d'un arrêt brutal), sinon ces + /// données ne partiraient jamais. + /// + private async Task RunCycleAsync( + bool applySnapshot, + CancellationToken cancellationToken) + { + // Protection contre deux cycles simultanés (envoi de fond ou synchronisation + // globale) : le second appel est ignoré. + if (!await _syncLock.WaitAsync(0, cancellationToken)) + { + _logger.LogInformation("SyncEngine : un cycle est déjà en cours, appel ignoré."); + return new SyncCycleResult { Executed = false, Message = "Cycle déjà en cours." }; + } + + var cycleSw = System.Diagnostics.Stopwatch.StartNew(); + + try + { + _logger.LogInformation("SyncEngine : début du cycle de synchronisation."); + if (applySnapshot) + { + Console.WriteLine("REFRESH START"); + } + + // 0. Récupération des envois interrompus. Une opération restée en + // « Envoi en cours » (application fermée en pleine émission, annulation + // du cycle d'envoi, échec d'écriture locale) n'est plus jamais + // sélectionnée par GetReadyAsync : sans cette remise en attente, la + // donnée saisie ne partirait jamais, tout en restant affichée comme + // « en attente ». Le verrou ci-dessus garantit qu'aucun envoi réel n'est + // en cours à cet instant, donc aucun risque de doubler une émission. + // Fail-open : un échec de récupération ne bloque pas le cycle. + try + { + int recovered = await _outboxRepository.RecoverSendingStatesAsync(cancellationToken); + if (recovered > 0) + { + _logger.LogInformation( + "SyncEngine : {Count} opération(s) restée(s) en envoi interrompu remise(s) en attente.", + recovered); + } + } + catch (OperationCanceledException) + { + throw; + } + catch (Exception ex) + { + _logger.LogWarning(ex, "SyncEngine : récupération des envois interrompus ignorée."); + } + + // 1. Vérifier la connectivité. + if (!await _network.IsOnlineAsync(cancellationToken)) + { + _logger.LogInformation("SyncEngine : hors ligne, aucune tentative HTTP."); + return new SyncCycleResult { Executed = true, Offline = true, Message = "Hors ligne." }; + } + + var result = new SyncCycleResult { Executed = true }; + + // 2. Lire l'Outbox et envoyer les opérations prêtes. + IReadOnlyList ready = await _outboxRepository.GetReadyAsync(cancellationToken); + var sent = new List(); + + foreach (OutboxOperation operation in ready) + { + cancellationToken.ThrowIfCancellationRequested(); + + // Différer les opérations dépendantes tant que l'opération de + // l'entité parente est encore active (non terminée/réconciliée). + // Ex. une note ne part pas avant que le CREATE de son intervention + // n'ait abouti et que son identité (A → B) soit réconciliée. + if (operation.DependencyEntityType is not null && operation.DependencyRequestedEntityGuid is not null) + { + bool dependencyActive = await _outboxRepository.HasActiveOperationAsync( + operation.DependencyEntityType, + operation.DependencyRequestedEntityGuid.Value, + cancellationToken); + + if (dependencyActive) + { + // La dépendance n'est pas encore terminée : différer. + _logger.LogInformation( + "SyncEngine : opération {OperationId} différée (dépendance {DepType} {DepGuid} encore active).", + operation.OperationId, operation.DependencyEntityType, operation.DependencyRequestedEntityGuid); + continue; + } + } + + // Marquer Sending avant l'envoi. + operation.State = OutboxState.Sending; + await _outboxRepository.UpdateAsync(operation, cancellationToken); + + // L'identifiant d'appareil doit correspondre à celui porté par le + // token d'authentification : le serveur vérifie la cohérence + // (SyncOperationService.ReceiveAsync). On utilise donc l'identifiant + // réel fourni par le provider de device, jamais une valeur codée en dur. + string deviceId = await _deviceIdProvider.GetDeviceIdAsync(cancellationToken); + + var syncOp = new SyncOperation + { + OperationId = operation.OperationId, + DeviceId = deviceId, + EntityType = operation.EntityType, + OperationType = operation.OperationType, + EntityGuid = operation.RequestedEntityGuid, + Payload = operation.Payload + }; + + try + { + if (operation.EntityType == LocalSyncEntityTypes.Document) + { + // Upload synchrone : le résultat est connu immédiatement + // (Succeeded/Rejected), sans file TOSRV ni polling statut. + if (await SendDocumentAsync(operation, cancellationToken)) + { + result.OperationsSucceeded++; + } + } + else if (operation.EntityType == LocalSyncEntityTypes.NoteDocument) + { + // Note de document : appel REST synchrone (même raison que + // l'upload — résultat immédiat, aucun statut à interroger). + // L'ordre documents → notes est garanti en amont par la + // dépendance Outbox de l'opération (voir AddNoteAsync). + if (await SendNoteDocumentAsync(operation, cancellationToken)) + { + result.OperationsSucceeded++; + } + } + else + { + SyncOperationReceipt receipt = await _apiClient.SendOperationAsync(syncOp, cancellationToken); + operation.State = OutboxState.Accepted; + operation.CanonicalEntityGuid = operation.RequestedEntityGuid; + await _outboxRepository.UpdateAsync(operation, cancellationToken); + } + sent.Add(operation); + result.OperationsSent++; + } + + catch (OperationCanceledException) + { + throw; + } + catch (Exception ex) + { + // Erreur réseau significative : remettre en Pending pour + // un prochain cycle. + operation.State = OutboxState.Pending; + operation.LastError = ReseauMessages.Traduire(ex); + operation.RetryCount++; + await _outboxRepository.UpdateAsync(operation, cancellationToken); + _logger.LogWarning(ex, "SyncEngine : erreur d'envoi de l'opération {OperationId}.", operation.OperationId); + } + } + + // 3. Interroger les statuts des opérations acceptées. + IReadOnlyList waiting = await _outboxRepository.GetWaitingResultAsync(cancellationToken); + foreach (OutboxOperation operation in waiting) + { + cancellationToken.ThrowIfCancellationRequested(); + + try + { + SyncStatusResponse status = await _apiClient.GetStatusAsync(operation.OperationId, cancellationToken); + + switch (status.Status) + { + case SyncStatus.Success: + operation.State = OutboxState.Succeeded; + operation.CanonicalEntityGuid = status.CanonicalEntityGuid ?? operation.RequestedEntityGuid; + await _outboxRepository.UpdateAsync(operation, cancellationToken); + result.OperationsSucceeded++; + + // Réconcilier RequestedEntityGuid → CanonicalEntityGuid. + if (status.CanonicalEntityGuid is not null && status.CanonicalEntityGuid != operation.RequestedEntityGuid) + { + await _reconciliation.ReconcileAsync( + operation.EntityType, + operation.RequestedEntityGuid, + status.CanonicalEntityGuid.Value, + cancellationToken); + } + break; + + case SyncStatus.Rejected: + operation.State = OutboxState.Rejected; + operation.LastError = $"{status.ErrorCode}: {status.ErrorMessage}"; + await _outboxRepository.UpdateAsync(operation, cancellationToken); + result.OperationsRejected++; + _logger.LogWarning( + "SyncEngine : opération {OperationId} rejetée ({ErrorCode}).", + operation.OperationId, status.ErrorCode); + break; + + case SyncStatus.StatusNotAvailable: + // « Statut indisponible » : le serveur ne connaît plus + // cette opération (reçue puis perdue, ou pas encore + // visible dans ses files). Ce n'est PAS un état terminal : + // on ré-émet l'opération (idempotente par OperationId) + // plutôt que de l'abandonner définitivement, ce qui + // garantit la convergence de l'Outbox. On borne les + // ré-émissions pour éviter une boucle infinie, puis on + // signale l'anomalie de façon visible. + operation.RetryCount++; + if (operation.RetryCount > MaxStatusNotAvailableRetries) + { + operation.State = OutboxState.StatusNotAvailable; + operation.LastError = "STATUS_NOT_AVAILABLE"; + result.OperationsAnomaly++; + _logger.LogWarning( + "SyncEngine : opération {OperationId} en anomalie (STATUS_NOT_AVAILABLE après {Retry} ré-émissions).", + operation.OperationId, operation.RetryCount); + } + else + { + operation.State = OutboxState.Pending; + operation.LastError = "STATUS_NOT_AVAILABLE (réémission)"; + _logger.LogWarning( + "SyncEngine : opération {OperationId} en statut indisponible, réémission ({Retry}/{Max}).", + operation.OperationId, operation.RetryCount, MaxStatusNotAvailableRetries); + } + await _outboxRepository.UpdateAsync(operation, cancellationToken); + break; + + default: + // Pending / Processing : laisser en WaitingResult. + operation.State = OutboxState.WaitingResult; + await _outboxRepository.UpdateAsync(operation, cancellationToken); + break; + } + } + catch (OperationCanceledException) + { + throw; + } + catch (Exception ex) + { + operation.State = OutboxState.WaitingResult; + operation.LastError = ReseauMessages.Traduire(ex); + await _outboxRepository.UpdateAsync(operation, cancellationToken); + _logger.LogWarning(ex, "SyncEngine : erreur de statut pour {OperationId}.", operation.OperationId); + } + } + + // 4. Appliquer le snapshot atomiquement — SYNCHRONISATION GLOBALE + // UNIQUEMENT. En envoi seul (PushAsync), ce bloc n'est jamais exécuté : + // aucune donnée locale n'est remplacée, l'écran en cours est préservé. + if (applySnapshot) + { + string snapshotStage = "download"; + try + { + var downloadSw = System.Diagnostics.Stopwatch.StartNew(); + var snapshot = await _apiClient.GetSnapshotAsync(cancellationToken); + downloadSw.Stop(); + Console.WriteLine($"SNAPSHOT DOWNLOAD END elapsed={downloadSw.Elapsed.TotalSeconds:F3}s"); + + // Rendez-vous ayant une mutation locale en attente (ex. annulation + // pas encore confirmée par le serveur) : ne pas écraser leur copie + // locale par un snapshot serveur potentiellement plus ancien. + IReadOnlyList pendingRendezVous = await _outboxRepository.GetPendingEntityGuidsAsync( + LocalSyncEntityTypes.RendezVous, cancellationToken); + + snapshotStage = "apply"; + await _snapshotApplier.ApplyAsync(snapshot, pendingRendezVous, cancellationToken); + result.SnapshotApplied = true; + _logger.LogInformation("SyncEngine : snapshot appliqué atomiquement."); + } + catch (OperationCanceledException) + { + throw; + } + catch (Exception ex) + { + // Le snapshot a échoué : les données locales précédentes sont + // conservées (rollback dans SnapshotApplier). La cause réelle + // est conservée de manière structurée (étape, type, message) + // sans stack trace ni donnée sensible. + _logger.LogWarning(ex, "SyncEngine : échec d'application du snapshot, données locales conservées."); + result.FailureStage = snapshotStage; + result.ExceptionType = ex.GetType().Name; + // Message TECHNIQUE conservé tel quel : ce champ est le support de + // diagnostic (journalisé ci-dessous) et non le texte utilisateur — + // le traduire effacerait la cause réelle (ex. « Snapshot error »). + result.ErrorMessage = ex.Message; + result.Message = $"Snapshot non appliqué : {ReseauMessages.Traduire(ex)}"; + } + } + + + cycleSw.Stop(); + if (result.SnapshotApplied) + { + Console.WriteLine($"REFRESH SUCCESS elapsed={cycleSw.Elapsed.TotalSeconds:F3}s"); + } + else if (applySnapshot) + { + Console.WriteLine( + "REFRESH FAILED " + + $"stage={result.FailureStage} " + + $"exceptionType={result.ExceptionType} " + + $"message={result.ErrorMessage}"); + } + + + _logger.LogInformation( + "SyncEngine : fin du cycle. Envoyées={Sent}, Réussies={Succeeded}, Rejetées={Rejected}, Anomalies={Anomaly}, Snapshot={Snapshot}.", + result.OperationsSent, result.OperationsSucceeded, result.OperationsRejected, result.OperationsAnomaly, result.SnapshotApplied); + + return result; + + } + finally + { + _syncLock.Release(); + } + } + + /// + /// Envoie une opération NoteDocument : une note libre attachée à une photo / + /// un document, via POST /api/documents/{documentGuid}/notes. + /// + /// L'ORDRE documents → notes est une contrainte serveur : la note n'est + /// émise qu'une fois le document connu du serveur. Elle est garantie à deux + /// niveaux : + /// + /// la dépendance Outbox (DependencyEntityType = Document) fait + /// différer la note tant que l'opération du document est active ; + /// l'identité du document est résolue ici vers son GUID canonique, donc + /// la note vise le document réellement présent en base. + /// + /// Le résultat est synchrone : succès → Succeeded (aucun statut à + /// interroger), refus définitif (document introuvable, droit manquant) → + /// Rejected visible, erreur réseau → exception (remise en attente par + /// le cycle, rien n'est perdu). + /// + private async Task SendNoteDocumentAsync( + OutboxOperation operation, + CancellationToken cancellationToken) + { + NoteDocumentSyncPayload? payload = JsonHelper.Deserialize(operation.Payload); + if (payload is null + || string.IsNullOrWhiteSpace(payload.DocumentId) + || string.IsNullOrWhiteSpace(payload.Contenu)) + { + operation.State = OutboxState.Rejected; + operation.LastError = "Payload de note de document invalide."; + await _outboxRepository.UpdateAsync(operation, cancellationToken); + return false; + } + + if (!Guid.TryParse(payload.DocumentId, out Guid documentGuid) || documentGuid == Guid.Empty) + { + operation.State = OutboxState.Rejected; + operation.LastError = "Document de la note introuvable."; + await _outboxRepository.UpdateAsync(operation, cancellationToken); + return false; + } + + // Le document doit exister côté serveur : on vise son identité canonique. + Guid canonicalDocument = await _reconciliation.ResolveAsync( + LocalSyncEntityTypes.Document, documentGuid, cancellationToken); + + NoteInterneDto created; + try + { + created = await _apiClient.AddNoteByDocumentAsync( + canonicalDocument, payload.Contenu.Trim(), cancellationToken); + } + catch (HttpRequestException ex) when (IsDefinitiveRefusal(ex)) + { + // Refus définitif : réessayer ne changera rien sans intervention + // (document absent du serveur, droit d'ajout manquant). L'état est + // visible dans la file de synchronisation et la note reste locale. + operation.State = OutboxState.Rejected; + operation.LastError = ex.StatusCode switch + { + System.Net.HttpStatusCode.NotFound => "Document absent côté serveur.", + System.Net.HttpStatusCode.Forbidden => "Ajout de note non autorisé.", + System.Net.HttpStatusCode.Unauthorized => "Session expirée.", + _ => "Note refusée par le serveur." + }; + await _outboxRepository.UpdateAsync(operation, cancellationToken); + _logger.LogWarning( + "SyncEngine : note du document {DocumentGuid} refusée ({StatusCode}).", + canonicalDocument, ex.StatusCode); + return false; + } + + // Le serveur génère son propre GUID de note : on réconcilie l'identité + // locale (note mobile → note serveur) pour qu'un rafraîchissement des + // notes ne crée pas de doublon. + Guid canonicalNote = Guid.TryParse(created.Id, out Guid parsedNote) + ? parsedNote + : operation.RequestedEntityGuid; + + if (canonicalNote != operation.RequestedEntityGuid) + { + await _reconciliation.ReconcileAsync( + LocalSyncEntityTypes.NoteDocument, + operation.RequestedEntityGuid, + canonicalNote, + cancellationToken); + } + + operation.RequestedEntityGuid = canonicalNote; + operation.CanonicalEntityGuid = canonicalNote; + operation.State = OutboxState.Succeeded; + await _outboxRepository.UpdateAsync(operation, cancellationToken); + return true; + } + + /// + /// Indique si le refus serveur est définitif (rien à retenter) plutôt que + /// transitoire (réseau, passerelle, indisponibilité). + /// + private static bool IsDefinitiveRefusal(HttpRequestException ex) + => ex.StatusCode is System.Net.HttpStatusCode.NotFound + or System.Net.HttpStatusCode.Forbidden + or System.Net.HttpStatusCode.Unauthorized; + + /// + /// Envoie une opération Document : lit le fichier local référencé dans le + /// payload Outbox et l'upload via POST /api/documents (multipart). + /// Le payload ne contient jamais le fichier en Base64. Si le fichier local + /// a disparu, l'opération est mise en état Rejected local cohérent (aucun + /// faux SUCCESS). OperationId et DocumentGuid sont conservés. + /// L'upload est synchrone : le résultat est connu immédiatement, donc + /// l'opération passe directement à Succeeded (et non Accepted), + /// afin de ne jamais interroger /api/sync/status pour un OperationId + /// qui n'a jamais transité par la file TOSRV. + /// + private async Task SendDocumentAsync( + OutboxOperation operation, + CancellationToken cancellationToken) + { + DocumentOutboxPayload? payload = JsonHelper.Deserialize(operation.Payload); + if (payload is null || string.IsNullOrWhiteSpace(payload.LocalPath)) + { + // Payload corrompu : rejet local cohérent, sans exposer de chemin. + operation.State = OutboxState.Rejected; + operation.LastError = "Payload de document invalide."; + await _outboxRepository.UpdateAsync(operation, cancellationToken); + return false; + } + + if (!File.Exists(payload.LocalPath)) + { + // Fichier local manquant avant upload : ne pas prétendre un succès. + operation.State = OutboxState.Rejected; + operation.LastError = "Fichier local du document introuvable."; + await _outboxRepository.UpdateAsync(operation, cancellationToken); + _logger.LogWarning( + "SyncEngine : fichier local manquant pour l'opération Document {OperationId} (DocumentGuid {DocumentGuid}).", + operation.OperationId, payload.DocumentGuid); + return false; + } + + byte[] contenu = await File.ReadAllBytesAsync(payload.LocalPath, cancellationToken); + + var request = new DocumentUploadRequest + { + DocumentGuid = payload.DocumentGuid, + NomFichier = payload.NomFichier, + MimeType = payload.MimeType, + Extension = payload.Extension, + Categorie = payload.Categorie, + InterventionId = payload.InterventionGuid.ToString(), + Contenu = contenu, + // Date métier réelle du fichier (EXIF pour une photo) : elle doit + // traverser la synchronisation, sinon le serveur horodaterait le + // document à l'instant de l'upload et cette valeur serait ensuite + // écrasée sur l'appareil par le rafraîchissement à la demande. + DateCreation = payload.DateCreation + }; + + DocumentUploadResponse response = await _apiClient.UploadDocumentAsync(request, cancellationToken); + + if (response.Success) + { + Guid canonicalGuid = response.CanonicalDocumentGuid ?? payload.DocumentGuid; + + // Réconcilie l'identité locale (GUID mobile temporaire → GUID canonique + // serveur) : métadonnées, cache fichier, Outbox et mapping suivent le + // GUID canonique, afin que le document reste associé à son fichier + // local (aucun re-téléchargement nécessaire). + if (canonicalGuid != payload.DocumentGuid) + { + await _reconciliation.ReconcileAsync( + LocalSyncEntityTypes.Document, + payload.DocumentGuid, + canonicalGuid, + cancellationToken); + } + + operation.RequestedEntityGuid = canonicalGuid; + operation.CanonicalEntityGuid = canonicalGuid; + operation.State = OutboxState.Succeeded; + await _outboxRepository.UpdateAsync(operation, cancellationToken); + return true; + } + else + { + // Le serveur a rejeté l'upload : état Rejected conservé. + operation.State = OutboxState.Rejected; + operation.LastError = $"{response.ErrorCode}: {response.ErrorMessage}"; + await _outboxRepository.UpdateAsync(operation, cancellationToken); + _logger.LogWarning( + "SyncEngine : upload du document {DocumentGuid} rejeté ({ErrorCode}).", + payload.DocumentGuid, response.ErrorCode); + return false; + } + } +} + + diff --git a/src/Omika.App.Local/Services/UnavailableOnnxInferenceSessionFactory.cs b/src/Omika.App.Local/Services/UnavailableOnnxInferenceSessionFactory.cs new file mode 100644 index 0000000..9bbb355 --- /dev/null +++ b/src/Omika.App.Local/Services/UnavailableOnnxInferenceSessionFactory.cs @@ -0,0 +1,32 @@ +using Omika.App.Local.Abstractions; + +namespace Omika.App.Local.Services; + +/// +/// Repli utilisé tant qu'aucun moteur d'inférence ONNX n'est installé sur la +/// plateforme : la traduction est alors indisponible, et l'application le +/// dit clairement plutôt que de proposer une fonction qui échouerait. +/// +/// +/// C'est l'implémentation par défaut du composition root. Le jour où la tête +/// mobile (ou le Desktop) installe un vrai moteur +/// (OnnxRuntimeInferenceSessionFactory), ce repli n'est plus utilisé — +/// sans qu'aucun autre fichier ne change. +/// +/// +public sealed class UnavailableOnnxInferenceSessionFactory : IOnnxInferenceSessionFactory +{ + /// Instance partagée (le repli est sans état). + public static UnavailableOnnxInferenceSessionFactory Instance { get; } = new(); + + /// + public bool EstDisponible => false; + + /// + public string NomMoteur => "aucun"; + + /// + public IOnnxInferenceSession Ouvrir(string cheminModele) + => throw new TranslationException( + "Traduction hors ligne indisponible sur cet appareil : aucun moteur d'inférence n'est installé."); +} diff --git a/src/Omika.App.Local/Sqlite/LocalDatabase.cs b/src/Omika.App.Local/Sqlite/LocalDatabase.cs new file mode 100644 index 0000000..f9bfdb2 --- /dev/null +++ b/src/Omika.App.Local/Sqlite/LocalDatabase.cs @@ -0,0 +1,229 @@ +using Microsoft.Data.Sqlite; + +namespace Omika.App.Local.Sqlite; + +/// +/// Gestionnaire de la base SQLite locale. +/// Fournit la connexion, la création/migration du schéma et l'exécution de +/// transactions. Les opérations async SQLite sont propagées avec +/// . +/// +public sealed class LocalDatabase : IDisposable +{ + private readonly LocalDatabaseOptions _options; + private readonly SqliteConnection _connection; + private bool _disposed; + + /// + /// Crée une base locale. Si + /// est vide, une base en mémoire est utilisée (mode test). + /// + public LocalDatabase(LocalDatabaseOptions options) + { + ArgumentNullException.ThrowIfNull(options); + _options = options; + + string connectionString = _options.InMemory + ? "Data Source=:memory:" + : $"Data Source={_options.DatabasePath}"; + + _connection = new SqliteConnection(connectionString); + _connection.Open(); + } + + /// Connexion SQLite sous-jacente. + public SqliteConnection Connection => _connection; + + /// Options de la base. + public LocalDatabaseOptions Options => _options; + + /// + /// Crée le schéma local (tables métier + techniques) de manière synchrone, + /// s'il n'existe pas. Idempotent. Utilisé par la composition racine au + /// démarrage pour garantir que les tables existent AVANT la première lecture + /// (ex. agenda) — sinon SQLite renvoie « no such table ». + /// + public void InitializeSchema() + { + foreach (string statement in SqliteSchema.CreateStatements) + { + using var command = _connection.CreateCommand(); + command.CommandText = statement; + command.ExecuteNonQuery(); + } + + foreach (SqliteSchema.ColumnMigration migration in SqliteSchema.ColumnMigrations) + { + EnsureColumn(migration.Table, migration.Column, migration.Definition); + } + } + + /// + /// Crée le schéma local (tables métier + techniques) s'il n'existe pas. + /// Idempotent. + /// + public async Task InitializeSchemaAsync(CancellationToken cancellationToken = default) + { + foreach (string statement in SqliteSchema.CreateStatements) + { + cancellationToken.ThrowIfCancellationRequested(); + await using var command = _connection.CreateCommand(); + command.CommandText = statement; + await command.ExecuteNonQueryAsync(cancellationToken); + } + + foreach (SqliteSchema.ColumnMigration migration in SqliteSchema.ColumnMigrations) + { + cancellationToken.ThrowIfCancellationRequested(); + await EnsureColumnAsync(migration.Table, migration.Column, migration.Definition, cancellationToken); + } + } + + /// + /// Ajoute une colonne à une table existante si elle est absente (idempotent, + /// version synchrone). Ne modifie jamais une table/colonne déjà présente et + /// ne supprime aucune ligne. + /// + private void EnsureColumn(string table, string column, string definition) + { + if (HasColumn(table, column)) + { + return; + } + + using var command = _connection.CreateCommand(); + command.CommandText = $"ALTER TABLE \"{table}\" ADD COLUMN \"{column}\" {definition}"; + command.ExecuteNonQuery(); + } + + /// + /// Indique si une colonne existe déjà dans la table (comparaison insensible + /// à la casse, version synchrone). + /// + private bool HasColumn(string table, string column) + { + using var command = _connection.CreateCommand(); + command.CommandText = $"PRAGMA table_info(\"{table}\")"; + using var reader = command.ExecuteReader(); + while (reader.Read()) + { + string name = reader.GetString(reader.GetOrdinal("name")); + if (string.Equals(name, column, StringComparison.OrdinalIgnoreCase)) + { + return true; + } + } + + return false; + } + + /// + /// Ajoute une colonne à une table existante si elle est absente (idempotent). + /// Ne modifie jamais une table/colonne déjà présente et ne supprime aucune + /// ligne. Utilise PRAGMA table_info pour détecter l'état réel. + /// + private async Task EnsureColumnAsync( + string table, + string column, + string definition, + CancellationToken cancellationToken) + { + if (await HasColumnAsync(table, column, cancellationToken)) + { + return; + } + + await ExecuteNonQueryAsync( + $"ALTER TABLE \"{table}\" ADD COLUMN \"{column}\" {definition}", + cancellationToken); + } + + /// + /// Indique si une colonne existe déjà dans la table (comparaison insensible + /// à la casse, comme le catalogue SQLite). + /// + private async Task HasColumnAsync( + string table, + string column, + CancellationToken cancellationToken) + { + await using var command = _connection.CreateCommand(); + command.CommandText = $"PRAGMA table_info(\"{table}\")"; + await using SqliteDataReader reader = await command.ExecuteReaderAsync(cancellationToken); + while (await reader.ReadAsync(cancellationToken)) + { + string name = reader.GetString(reader.GetOrdinal("name")); + if (string.Equals(name, column, StringComparison.OrdinalIgnoreCase)) + { + return true; + } + } + + return false; + } + + /// + /// Ouvre une transaction SQLite. Utilisée pour le refresh snapshot atomique + /// et la réconciliation d'identité transactionnelle. + /// + public async Task BeginTransactionAsync(CancellationToken cancellationToken = default) + { + System.Data.Common.DbTransaction transaction = await _connection.BeginTransactionAsync(cancellationToken); + return (SqliteTransaction)transaction; + } + + /// + /// Exécute une commande SQL simple (sans paramètres) et retourne le nombre + /// de lignes affectées. + /// + public async Task ExecuteNonQueryAsync(string sql, CancellationToken cancellationToken = default) + { + await using var command = _connection.CreateCommand(); + command.CommandText = sql; + return await command.ExecuteNonQueryAsync(cancellationToken); + } + + /// + /// Exécute une commande SQL avec paramètres et retourne le nombre de lignes + /// affectées. + /// + public async Task ExecuteNonQueryAsync( + string sql, + IEnumerable parameters, + CancellationToken cancellationToken = default) + { + await using var command = _connection.CreateCommand(); + command.CommandText = sql; + foreach (SqliteParameter parameter in parameters) + { + command.Parameters.Add(parameter); + } + return await command.ExecuteNonQueryAsync(cancellationToken); + } + + /// + /// Exécute une requête SQL et retourne le premier résultat scalaire. + /// + public async Task ExecuteScalarAsync(string sql, CancellationToken cancellationToken = default) + { + await using var command = _connection.CreateCommand(); + command.CommandText = sql; + return await command.ExecuteScalarAsync(cancellationToken); + } + + /// + /// Crée une commande SQLite liée à la connexion courante. + /// + public SqliteCommand CreateCommand() + => _connection.CreateCommand(); + + public void Dispose() + { + if (_disposed) + { + return; + } + _disposed = true; + _connection.Dispose(); + } +} diff --git a/src/Omika.App.Local/Sqlite/LocalDatabaseOptions.cs b/src/Omika.App.Local/Sqlite/LocalDatabaseOptions.cs new file mode 100644 index 0000000..7a18530 --- /dev/null +++ b/src/Omika.App.Local/Sqlite/LocalDatabaseOptions.cs @@ -0,0 +1,19 @@ +namespace Omika.App.Local.Sqlite; + +/// +/// Options de la base SQLite locale. +/// +public sealed class LocalDatabaseOptions +{ + /// + /// Chemin du fichier SQLite. Si vide, une base en mémoire est utilisée + /// (utile pour les tests). + /// + public string DatabasePath { get; set; } = string.Empty; + + /// + /// Indique si la base est en mémoire (mode test). Dérivé de + /// vide. + /// + public bool InMemory => string.IsNullOrWhiteSpace(DatabasePath); +} diff --git a/src/Omika.App.Local/Sqlite/SqliteSchema.cs b/src/Omika.App.Local/Sqlite/SqliteSchema.cs new file mode 100644 index 0000000..5e4e3fa --- /dev/null +++ b/src/Omika.App.Local/Sqlite/SqliteSchema.cs @@ -0,0 +1,528 @@ +namespace Omika.App.Local.Sqlite; + +/// +/// Définition du schéma SQLite local. +/// Les tables métier (issues du snapshot) sont séparées des tables techniques +/// (Outbox, mapping, état, cache, bootstrap). Un refresh snapshot ne touche que +/// les tables métier ; les tables techniques survivent. +/// +public static class SqliteSchema +{ + /// Version du schéma local. + public const int CurrentVersion = 1; + + /// Tables métier remplacées atomiquement par le refresh snapshot. + public static readonly IReadOnlyList BusinessTables = + [ + "Client", + "Personne", + "Site", + "Intervention", + "Dossier", + "RendezVous", + "Collaborateur", + "DocumentMetadata", + "SuiviTemps" + ]; + + + /// + /// Tables techniques JAMAIS supprimées par un refresh snapshot. + /// + public static readonly IReadOnlyList TechnicalTables = + [ + "Outbox", + "IdentityMapping", + "SyncState", + "DocumentCache", + "LocalBootstrap", + "MobileEnrollment", + "UiPreferences", + "PreferencesUtilisateur", + "SuiviTempsDraft", + "RendezVousTempsValidation", + "RendezVousDraftReference", + "InterventionCache", + "DossierLocalState", + "DossierInterventionCache", + "ContextInterventionCacheState", + "ContextInterventionCache", + "RapportBrouillon", + "NoteInterne", + "NoteDocument", + "EmailIntervention", + "CompteRendu", + "DocAide" + ]; + + + /// + /// Scripts de création des tables. Exécutés dans l'ordre. + /// + public static readonly IReadOnlyList CreateStatements = + [ + // ===== Tables métier (snapshot) ===== + """ + CREATE TABLE IF NOT EXISTS "Client" ( + "Id" TEXT NOT NULL PRIMARY KEY, + "PayloadJson" TEXT NOT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + """ + CREATE TABLE IF NOT EXISTS "Personne" ( + "Id" TEXT NOT NULL PRIMARY KEY, + "ClientId" TEXT NULL, + "PayloadJson" TEXT NOT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + """ + CREATE TABLE IF NOT EXISTS "Site" ( + "Id" TEXT NOT NULL PRIMARY KEY, + "ClientId" TEXT NULL, + "PayloadJson" TEXT NOT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + """ + CREATE TABLE IF NOT EXISTS "Intervention" ( + "Id" TEXT NOT NULL PRIMARY KEY, + "ClientId" TEXT NULL, + "SiteId" TEXT NULL, + "DossierId" TEXT NULL, + "PayloadJson" TEXT NOT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + """ + CREATE TABLE IF NOT EXISTS "Dossier" ( + "Id" TEXT NOT NULL PRIMARY KEY, + "ClientId" TEXT NULL, + "SiteId" TEXT NULL, + "PayloadJson" TEXT NOT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + """ + CREATE TABLE IF NOT EXISTS "RendezVous" ( + "Id" TEXT NOT NULL PRIMARY KEY, + "ClientId" TEXT NULL, + "SiteId" TEXT NULL, + "DossierId" TEXT NULL, + "InterventionId" TEXT NULL, + "PayloadJson" TEXT NOT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + """ + CREATE TABLE IF NOT EXISTS "Collaborateur" ( + "Id" TEXT NOT NULL PRIMARY KEY, + "SocieteId" TEXT NULL, + "PayloadJson" TEXT NOT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + """ + CREATE TABLE IF NOT EXISTS "DocumentMetadata" ( + "Id" TEXT NOT NULL PRIMARY KEY, + "InterventionId" TEXT NULL, + "PayloadJson" TEXT NOT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + """ + CREATE TABLE IF NOT EXISTS "SuiviTemps" ( + "Id" TEXT NOT NULL PRIMARY KEY, + "CollaborateurId" TEXT NULL, + "InterventionId" TEXT NULL, + "RendezVousId" TEXT NULL, + "PayloadJson" TEXT NOT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + + // ===== Tables techniques (jamais supprimées par le refresh) ===== + + // Notes internes / administratives créées hors ligne : table technique + // qui survit aux refresh snapshot (les notes ne sont pas dans le snapshot). + """ + CREATE TABLE IF NOT EXISTS "NoteInterne" ( + "Id" TEXT NOT NULL PRIMARY KEY, + "InterventionId" TEXT NOT NULL, + "EstAdministrative" INTEGER NOT NULL, + "Contenu" TEXT NOT NULL, + "DateCreation" TEXT NOT NULL, + "AuteurNom" TEXT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + + // Notes libres attachées à un document / une photo : Saisie HORS LIGNE. + // Table technique distincte de NoteInterne (qui porte les notes d'une + // intervention) : une note de document n'a pas d'intervention de + // rattachement obligatoire et sa clé étrangère est le document. Elle + // survit aux refresh snapshot (les notes ne sont pas dans le snapshot) et + // n'est confirmée qu'après l'envoi du document qu'elle référence. + """ + CREATE TABLE IF NOT EXISTS "NoteDocument" ( + "Id" TEXT NOT NULL PRIMARY KEY, + "DocumentId" TEXT NOT NULL, + "Contenu" TEXT NOT NULL, + "DateCreation" TEXT NOT NULL, + "AuteurNom" TEXT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + + // Courriels (MessageExterne) liés à une intervention, fournis par le + // snapshot pour la consultation hors ligne. Table technique : jamais + // purgée globalement par le refresh snapshot (remplacée par le snapshot + // pour les interventions de la fenêtre d'agenda, complétée à la demande). + """ + CREATE TABLE IF NOT EXISTS "EmailIntervention" ( + "Id" TEXT NOT NULL PRIMARY KEY, + "InterventionId" TEXT NOT NULL, + "PayloadJson" TEXT NOT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + + // Compte rendu rattaché à un rendez-vous, créé hors ligne (offline-first) + // ou mémorisé après lecture serveur. Table technique : jamais purgée par + // un refresh snapshot (les comptes rendus ne sont pas dans le snapshot). + """ + CREATE TABLE IF NOT EXISTS "CompteRendu" ( + "RendezVousId" TEXT NOT NULL PRIMARY KEY, + "PayloadJson" TEXT NOT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + + """ + CREATE TABLE IF NOT EXISTS "Outbox" ( + "OperationId" TEXT NOT NULL PRIMARY KEY, + "EntityType" TEXT NOT NULL, + "OperationType" INTEGER NOT NULL, + "RequestedEntityGuid" TEXT NOT NULL, + "CanonicalEntityGuid" TEXT NULL, + "Payload" TEXT NOT NULL, + "CreatedAtUtc" TEXT NOT NULL, + "State" INTEGER NOT NULL, + "RetryCount" INTEGER NOT NULL DEFAULT 0, + "LastError" TEXT NULL, + "DependencyEntityType" TEXT NULL, + "DependencyRequestedEntityGuid" TEXT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + """ + CREATE TABLE IF NOT EXISTS "IdentityMapping" ( + "EntityType" TEXT NOT NULL, + "RequestedEntityGuid" TEXT NOT NULL, + "CanonicalEntityGuid" TEXT NOT NULL, + "CreatedAtUtc" TEXT NOT NULL, + PRIMARY KEY ("EntityType", "RequestedEntityGuid") + ); + """, + """ + CREATE TABLE IF NOT EXISTS "SyncState" ( + "Key" TEXT NOT NULL PRIMARY KEY, + "Value" TEXT NOT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + """ + CREATE TABLE IF NOT EXISTS "DocumentCache" ( + "DocumentGuid" TEXT NOT NULL PRIMARY KEY, + "LocalPath" TEXT NOT NULL, + "NomFichier" TEXT NULL, + "MimeType" TEXT NULL, + "Size" INTEGER NOT NULL DEFAULT 0, + "DownloadedAtUtc" TEXT NOT NULL, + "State" INTEGER NOT NULL DEFAULT 0 + ); + """, + """ + CREATE TABLE IF NOT EXISTS "LocalBootstrap" ( + "Id" INTEGER NOT NULL PRIMARY KEY, + "UtilisateurJson" TEXT NULL, + "CollaborateurJson" TEXT NULL, + "ProfilJson" TEXT NULL, + "DroitsJson" TEXT NULL, + "ConfigurationJson" TEXT NULL, + "LicenceJson" TEXT NULL, + "ParametresMetierJson" TEXT NULL, + "EquipesJson" TEXT NULL, + "CollaborateursJson" TEXT NULL, + "CollaborateursAutorisesJson" TEXT NULL, + "LastLicenseValidationUtc" TEXT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + // ===== Configuration d'inscription (URLs licence/API) ===== + // Ligne singleton (Id = 1), générée dynamiquement APRÈS inscription. + // Jamais fournie avec l'application : aucune URL embarquée. + """ + CREATE TABLE IF NOT EXISTS "MobileEnrollment" ( + "Id" INTEGER NOT NULL PRIMARY KEY, + "PayloadJson" TEXT NOT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + """ + CREATE TABLE IF NOT EXISTS "UiPreferences" ( + "Id" INTEGER NOT NULL PRIMARY KEY, + "ThemeMode" TEXT NOT NULL DEFAULT 'System', + "PrimaryColor" TEXT NOT NULL DEFAULT '#4f46e5', + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + + // ===== Préférences LOCALES par utilisateur ===== + // Table technique : jamais purgée par un refresh snapshot. Distincte de + // UiPreferences, qui est mono-ligne (Id = 1) et porte des réglages + // d'APPAREIL partagés (thème, couleur). Ici, une ligne PAR UTILISATEUR : + // sur un appareil partagé, l'utilisateur A et l'utilisateur B conservent + // chacun leurs propres valeurs après déconnexion / reconnexion. + // Aucune donnée ne sort de l'appareil (ni API, ni bootstrap, ni Outbox). + """ + CREATE TABLE IF NOT EXISTS "PreferencesUtilisateur" ( + "UtilisateurId" TEXT NOT NULL PRIMARY KEY, + "PauseDejeunerDebut" TEXT NULL, + "PauseDejeunerFin" TEXT NULL, + "LangueSecondaire" TEXT NULL, + "LangueSecondaireLibelle" TEXT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + + // ===== Brouillons de saisie de temps par rendez-vous ===== + // Table technique : jamais purgée par un refresh snapshot (les saisies + // non validées doivent survivre aux synchronisations). La clé primaire + // (RendezVousId, TypeTempsKey) impose une seule saisie par type de temps + // et par rendez-vous. + """ + CREATE TABLE IF NOT EXISTS "SuiviTempsDraft" ( + "RendezVousId" TEXT NOT NULL, + "TypeTempsKey" TEXT NOT NULL, + "CollaborateurId" TEXT NULL, + "InterventionId" TEXT NULL, + "Date" TEXT NOT NULL, + "DureeMinutes" INTEGER NOT NULL, + "Description" TEXT NULL, + "EstEnvoye" INTEGER NOT NULL DEFAULT 0, + "UpdatedAtUtc" TEXT NOT NULL, + PRIMARY KEY ("RendezVousId", "TypeTempsKey") + ); + """, + + // ===== Marqueur local de validation des temps d'un rendez-vous ===== + // Table technique : jamais purgée par un refresh snapshot. + """ + CREATE TABLE IF NOT EXISTS "RendezVousTempsValidation" ( + "RendezVousId" TEXT NOT NULL PRIMARY KEY, + "ValidatedAtUtc" TEXT NOT NULL + ); + """, + + // ===== Rendez-vous porteurs de brouillons de temps non envoyés ===== + // Table technique : jamais purgée par un refresh snapshot. Conserve la + // fiche (AgendaItem) d'un rendez-vous hors fenêtre de synchronisation + // afin que la saisie de temps non envoyée reste consultable et renvoyable. + """ + CREATE TABLE IF NOT EXISTS "RendezVousDraftReference" ( + "RendezVousId" TEXT NOT NULL PRIMARY KEY, + "PayloadJson" TEXT NOT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + + // ===== Cache de recherche Intervention (flux à la demande + favoris) ===== + // Table technique : jamais remplacée par un refresh snapshot. Le flag + // favori appartient exclusivement au terminal. + """ + CREATE TABLE IF NOT EXISTS "InterventionCache" ( + "Id" TEXT NOT NULL PRIMARY KEY, + "PayloadJson" TEXT NOT NULL, + "IsPinned" INTEGER NOT NULL DEFAULT 0, + "IsInLastSearch" INTEGER NOT NULL DEFAULT 0, + "SearchOrder" INTEGER NULL, + "NbRendezVous" INTEGER NOT NULL DEFAULT 0, + "SiteNom" TEXT NULL, + "SiteAddressDisplay" TEXT NULL, + "ClientNom" TEXT NULL, + "ContactNom" TEXT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + + // ===== Préférence locale d'épinglage des dossiers ===== + // Table technique indépendante du snapshot métier : un refresh snapshot + // ne supprime jamais l'état d'épinglage (favori) d'un dossier. La présence + // d'une ligne = dossier épinglé ; PayloadJson stocke la fiche complète + // (les dossiers ne sont plus dans le snapshot, donc la liste épinglée doit + // conserver ses propres données et rester consultable hors réseau). + """ + CREATE TABLE IF NOT EXISTS "DossierLocalState" ( + "DossierId" TEXT NOT NULL PRIMARY KEY, + "PayloadJson" TEXT NOT NULL, + "IsPinned" INTEGER NOT NULL DEFAULT 0, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + + // ===== Dernière recherche de dossiers (résultats persistés) ===== + // Table technique indépendante du snapshot : survit à la navigation + // (retour depuis la fiche dossier) et à SyncNow. Stocke la liste JSON. + """ + CREATE TABLE IF NOT EXISTS "DossierLastSearch" ( + "Id" INTEGER NOT NULL PRIMARY KEY CHECK ("Id" = 1), + "PayloadJson" TEXT NOT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + + // ===== Préférence locale d'épinglage des clients ===== + // Table technique indépendante du snapshot métier : un refresh snapshot + // ne supprime jamais l'état d'épinglage (favori) d'un client. La présence + // d'une ligne = client épinglé ; PayloadJson stocke la fiche complète + // (les clients ne sont plus dans le snapshot, donc la liste épinglée doit + // conserver ses propres données). + """ + CREATE TABLE IF NOT EXISTS "ClientLocalState" ( + "ClientId" TEXT NOT NULL PRIMARY KEY, + "PayloadJson" TEXT NOT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + + // ===== Dernière recherche de clients (résultats persistés) ===== + // Table technique indépendante du snapshot : survit à la navigation + // (retour depuis la fiche client) et à SyncNow. Stocke la liste JSON. + """ + CREATE TABLE IF NOT EXISTS "ClientLastSearch" ( + "Id" INTEGER NOT NULL PRIMARY KEY CHECK ("Id" = 1), + "PayloadJson" TEXT NOT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + + // ===== Préférence locale d'épinglage des sites ===== + // Table technique indépendante du snapshot métier : un refresh snapshot + // ne supprime jamais l'état d'épinglage (favori) d'un site. + """ + CREATE TABLE IF NOT EXISTS "SiteLocalState" ( + "SiteId" TEXT NOT NULL PRIMARY KEY, + "PayloadJson" TEXT NOT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + + // ===== Dernière recherche de sites (résultats persistés) ===== + """ + CREATE TABLE IF NOT EXISTS "SiteLastSearch" ( + "Id" INTEGER NOT NULL PRIMARY KEY CHECK ("Id" = 1), + "PayloadJson" TEXT NOT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + + // ===== Cache contextuel des interventions chargées depuis un dossier ===== + // Distinct de InterventionCache.IsInLastSearch : l'ouverture d'un dossier + // ne remplace jamais la « dernière recherche Interventions ». + """ + CREATE TABLE IF NOT EXISTS "DossierInterventionCache" ( + "DossierId" TEXT NOT NULL, + "InterventionId" TEXT NOT NULL, + "PayloadJson" TEXT NOT NULL, + "UpdatedAtUtc" TEXT NOT NULL, + PRIMARY KEY ("DossierId", "InterventionId") + ); + """, + + // ===== Cache contextuel des interventions chargees depuis Client/Site/Collaborateur ===== + // Distinct de InterventionCache.IsInLastSearch/IsPinned et distinct du + // cache Dossier specialise. + """ + CREATE TABLE IF NOT EXISTS "ContextInterventionCacheState" ( + "ContextType" TEXT NOT NULL, + "ContextId" TEXT NOT NULL, + "UpdatedAtUtc" TEXT NOT NULL, + PRIMARY KEY ("ContextType", "ContextId") + ); + """, + """ + CREATE TABLE IF NOT EXISTS "ContextInterventionCache" ( + "ContextType" TEXT NOT NULL, + "ContextId" TEXT NOT NULL, + "InterventionId" TEXT NOT NULL, + "PayloadJson" TEXT NOT NULL, + "SearchOrder" INTEGER NULL, + "UpdatedAtUtc" TEXT NOT NULL, + PRIMARY KEY ("ContextType", "ContextId", "InterventionId") + ); + """, + + // ===== Brouillons de rapport d'intervention ===== + // Table technique : jamais purgée par un refresh snapshot. Conserve le + // modèle, le nom et les valeurs saisies (ListeMob) d'un rapport en cours + // de rédaction, afin de pouvoir enregistrer, revenir plus tard, modifier + // puis (re)générer le PDF. + """ + CREATE TABLE IF NOT EXISTS "RapportBrouillon" ( + "Id" TEXT NOT NULL PRIMARY KEY, + "InterventionId" TEXT NOT NULL, + "ModeleId" TEXT NOT NULL, + "Nom" TEXT NULL, + "ChampsJson" TEXT NOT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """, + + // ===== Aide contextuelle mobile ===== + // Table technique : jamais purgée par un refresh snapshot. Miroir hors + // ligne de la source SERVEUR : table Doc_Aide (schéma Omika) ou fichier + // doc_aide.json déployé avec l'API (schéma Batik). Remplie par la + // synchronisation de lancement, après l'amorçage du catalogue embarqué + // (première installation hors connexion). Contenu en HTML, jamais en RTF. + """ + CREATE TABLE IF NOT EXISTS "DocAide" ( + "Fenetre" TEXT NOT NULL PRIMARY KEY, + "Titre" TEXT NOT NULL, + "Contenu" TEXT NOT NULL, + "Tags" TEXT NULL, + "UpdatedAtUtc" TEXT NOT NULL + ); + """ + ]; + + /// + /// Migrations de colonnes techniques (idempotentes). + /// + /// CREATE TABLE IF NOT EXISTS n'ajoute PAS une colonne à une table + /// déjà existante. Ces entrées garantissent l'ajout des colonnes ajoutées + /// après coup sur des bases déjà déployées, sans jamais détruire les lignes + /// existantes (favoris, dernière recherche, payload). + /// + public static readonly IReadOnlyList ColumnMigrations = + [ + new("InterventionCache", "SiteAddressDisplay", "TEXT NULL"), + new("DossierLocalState", "PayloadJson", "TEXT NOT NULL DEFAULT '{}'"), + new("LocalBootstrap", "EquipesJson", "TEXT NULL"), + new("LocalBootstrap", "CollaborateursJson", "TEXT NULL"), + new("LocalBootstrap", "CollaborateursAutorisesJson", "TEXT NULL"), + new("LocalBootstrap", "LastLicenseValidationUtc", "TEXT NULL"), + // Langue secondaire de l'utilisateur (traduction hors ligne). Ajoutées + // après coup : une base déjà déployée doit recevoir les colonnes sans + // perdre les horaires de pause déjeuner déjà enregistrés. + new("PreferencesUtilisateur", "LangueSecondaire", "TEXT NULL"), + new("PreferencesUtilisateur", "LangueSecondaireLibelle", "TEXT NULL") + ]; + + /// + /// Migration de colonne : ajoute à + /// (avec SQL) si elle est absente. + /// + public sealed record ColumnMigration(string Table, string Column, string Definition); +} diff --git a/src/Omika.App.iOS/AppDelegate.cs b/src/Omika.App.iOS/AppDelegate.cs new file mode 100644 index 0000000..b6809a9 --- /dev/null +++ b/src/Omika.App.iOS/AppDelegate.cs @@ -0,0 +1,112 @@ +using System; +using System.Threading.Tasks; +using Foundation; +using UIKit; +using Avalonia; +using Avalonia.Controls; +using Avalonia.iOS; +using Avalonia.Media; +using Omika.Core.Observability; + +namespace Omika.App.iOS; + +// The UIApplicationDelegate for the application. This class is responsible for launching the +// User Interface of the application, as well as listening (and optionally responding) to +// application events from iOS. +[Register("AppDelegate")] +#pragma warning disable CA1711 // Identifiers should not have incorrect suffix +public partial class AppDelegate : AvaloniaAppDelegate +#pragma warning restore CA1711 // Identifiers should not have incorrect suffix +{ + protected override AppBuilder CustomizeAppBuilder(AppBuilder builder) + { + RegisterExceptionHandlers(); + + // Installe les implémentations natives iOS AVANT l'initialisation de + // l'application Avalonia (et donc avant la construction d'AppServices, + // qui lit ces seams dans OnFrameworkInitializationCompleted). + Omika.App.Services.PlatformQrScanner.Instance = new IosEnrollmentQrScanner(); + + // Launchers natifs iOS : composeur téléphonique (tel:), client email + // (mailto:), itinéraire Apple Maps (maps.apple.com). + Omika.App.Services.PlatformLaunchers.Phone = new IosPhoneLauncher(); + Omika.App.Services.PlatformLaunchers.Email = new IosEmailLauncher(); + Omika.App.Services.PlatformLaunchers.Map = new IosMapLauncher(); + + // Sélecteur de fichier iOS : document (UIDocumentPickerViewController) + + // photos (PHPickerViewController, sélection simple ou multiple). + Omika.App.Services.PlatformFilePickers.Current = new IosFilePicker(); + + // Prise de photo iOS : UIImagePickerController (caméra native). + Omika.App.Services.PlatformPhotoCapture.Current = new IosPhotoCapture(); + + // Dictée vocale iOS (SFSpeechRecognizer) : le bouton micro des champs + // texte démarre l'écoute en un seul clic, sans clavier. + Omika.App.Services.PlatformDictation.Current = new IosDictationService(); + + // Carnet d'adresses iOS (Contacts) : proposé en PLUS des contacts de + // l'intervention dans le choix d'un destinataire de courriel, toujours + // sous l'origine « Téléphone ». Autorisation « Contacts » demandée au + // premier usage (NSContactsUsageDescription dans Info.plist). + Omika.App.Services.PlatformContactsTelephone.Current = new IosContactsTelephoneService(); + + // Ouverture des DOCUMENTS via UIDocumentInteractionController (feuille + // « Ouvrir dans… » native). Le repli partagé TopLevel.Launcher n'est pas + // fiable sur iOS pour un fichier du stockage interne. + Omika.App.Services.PlatformFileLaunchers.Current = new IosFileLauncher(); + + // Stockage sécurisé du token de session : iOS Keychain. Le bootstrap + // gère le marker d'installation (purge Keychain sur réinstallation) et la + // migration idempotente de l'ancien session.token en clair, AVANT la + // construction d'AppServices (donc avant toute lecture du token). + var secureTokenStore = new IosSecureTokenStore(); + Omika.App.Services.PlatformSecureTokenStores.Current = secureTokenStore; + IosTokenBootstrap.Initialize(secureTokenStore); + + // Capture d'appareil iOS (Apple/modèle matériel/OS/écran/version) : le + // snapshot est capturé une fois ici (main thread) puis consommé par + // l'infrastructure Diagnostics ET l'activation de licence. + Omika.App.Services.PlatformDeviceInfo.Current = new IosDeviceInfoProvider(); + + return base.CustomizeAppBuilder(builder) + .WithInterFont(); + } + + /// + /// L'application revient au premier plan (retour depuis une autre + /// application). Signalé au code partagé : après l'ouverture d'une messagerie + /// EXTERNE, c'est le moment de demander à l'utilisateur si le courriel est + /// parti (iOS ne fournit aucun résultat pour un mailto:). + /// + public override void OnActivated(UIApplication application) + { + base.OnActivated(application); + Omika.App.Services.PlatformAppLifecycle.NotifyRetourAuPremierPlan(); + } + + /// + /// Capture globale des exceptions non gérées (crash) et des tâches non observées : + /// achemine vers le diagnostic (JSONL → email support + outbox → API). Best-effort : + /// un échec d'enregistrement n'empêche jamais le démarrage. + /// + private static void RegisterExceptionHandlers() + { + try + { + AppDomain.CurrentDomain.UnhandledException += (_, args) => + ExceptionTelemetry.Capture( + args.ExceptionObject as Exception ?? new Exception("Exception non gérée sans objet Exception."), + isFatal: true); + + TaskScheduler.UnobservedTaskException += (_, args) => + { + ExceptionTelemetry.Capture(args.Exception, isFatal: false); + args.SetObserved(); + }; + } + catch + { + // Best-effort : la capture ne doit jamais faire échouer le démarrage. + } + } +} diff --git a/src/Omika.App.iOS/Entitlements.plist b/src/Omika.App.iOS/Entitlements.plist new file mode 100644 index 0000000..0c67376 --- /dev/null +++ b/src/Omika.App.iOS/Entitlements.plist @@ -0,0 +1,5 @@ + + + + + diff --git a/src/Omika.App.iOS/Info.plist b/src/Omika.App.iOS/Info.plist new file mode 100644 index 0000000..a776c23 --- /dev/null +++ b/src/Omika.App.iOS/Info.plist @@ -0,0 +1,51 @@ + + + + + CFBundleDisplayName + Omika.App + NSCameraUsageDescription + Omika utilise la caméra pour scanner le QR d'inscription et pour prendre des photos à joindre aux interventions. + NSMicrophoneUsageDescription + Omika utilise le micro pour vous permettre de dicter le texte des champs de saisie. + NSSpeechRecognitionUsageDescription + Omika utilise la reconnaissance vocale pour convertir votre dictée en texte. La reconnaissance se fait sur l'appareil lorsqu'il le permet. + NSContactsUsageDescription + Omika lit les adresses email de vos contacts pour vous permettre de choisir un destinataire de courriel. Les contacts de l'intervention sont toujours proposés séparément des contacts du téléphone, et aucune donnée du carnet n'est envoyée ni conservée par Omika. + CFBundleIdentifier + companyName.Omika.App + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + MinimumOSVersion + 14.0 + UIDeviceFamily + + 1 + 2 + + UILaunchStoryboardName + LaunchScreen + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/src/Omika.App.iOS/IosContactsTelephoneService.cs b/src/Omika.App.iOS/IosContactsTelephoneService.cs new file mode 100644 index 0000000..5eb2076 --- /dev/null +++ b/src/Omika.App.iOS/IosContactsTelephoneService.cs @@ -0,0 +1,151 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Contacts; +using Foundation; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Models; + +namespace Omika.App.iOS; + +/// +/// Lecture du carnet d'adresses iOS (Contacts) pour proposer, en PLUS des +/// contacts de l'intervention, les contacts PERSONNELS du téléphone comme +/// destinataires d'un courriel. L'origine de chaque entrée reste identifiée dans +/// la vue de composition (« Intervention » / « Téléphone »). +/// +/// Autorisation : « Contacts » demandée au premier usage (NSContactsUsageDescription +/// déclaré dans Info.plist). Un refus produit une liste vide — la composition du +/// courriel reste possible, seuls les contacts de l'intervention sont proposés. +/// Aucune donnée du carnet n'est envoyée ni conservée par Omika : la lecture est +/// faite à la demande, en mémoire. +/// +public sealed class IosContactsTelephoneService : IContactsTelephoneService +{ + /// + /// Garde-fou : un carnet très volumineux ne doit pas bloquer l'écran de + /// composition. Les contacts sont triés par nom par l'appelant. + /// + private const int NombreMaximumContacts = 2000; + + /// + public async Task> GetContactsAvecEmailAsync( + CancellationToken cancellationToken = default) + { + cancellationToken.ThrowIfCancellationRequested(); + + if (!await AutoriserAsync().ConfigureAwait(false)) + { + return []; + } + + return await Task.Run(() => LireContacts(cancellationToken), cancellationToken).ConfigureAwait(false); + } + + /// + /// Vérifie / demande l'autorisation d'accès aux contacts. La demande système + /// doit être déclenchée depuis la file principale (UIKit), d'où le passage par + /// . + /// + private static async Task AutoriserAsync() + { + switch (CNContactStore.GetAuthorizationStatus(CNEntityType.Contacts)) + { + case CNAuthorizationStatus.Authorized: + return true; + + case CNAuthorizationStatus.Denied: + case CNAuthorizationStatus.Restricted: + return false; + } + + // NotDetermined : demande systeme (une seule fois par installation). + var magasin = new CNContactStore(); + try + { + Task demande = await IosUiHelper + .OnMainAsync(() => magasin.RequestAccessAsync(CNEntityType.Contacts)) + .ConfigureAwait(false); + + return await demande.ConfigureAwait(false); + } + catch + { + return false; + } + finally + { + magasin.Dispose(); + } + } + + /// + /// Énumère les contacts unifiés et ne retient que ceux qui portent au moins une + /// adresse email (une entrée par adresse). Toute erreur de lecture produit une + /// liste vide : cette source est optionnelle. + /// + private static IReadOnlyList LireContacts(CancellationToken cancellationToken) + { + var resultat = new List(); + var emailsVus = new HashSet(StringComparer.OrdinalIgnoreCase); + + var magasin = new CNContactStore(); + CNContactFetchRequest? requete = null; + try + { + // Clés demandées uniquement (jamais le carnet entier) : prénom, nom et + // adresses email. Le reste des fiches n'est ni lu ni conservé. + var cles = new NSString[] + { + CNContactKey.GivenName, + CNContactKey.FamilyName, + CNContactKey.EmailAddresses + }; + + requete = new CNContactFetchRequest(cles); + + magasin.EnumerateContacts(requete, out _, (CNContact contact, ref bool stop) => + { + if (cancellationToken.IsCancellationRequested || resultat.Count >= NombreMaximumContacts) + { + stop = true; + return; + } + + string nom = $"{contact.GivenName?.Trim()} {contact.FamilyName?.Trim()}".Trim(); + + foreach (CNLabeledValue email in contact.EmailAddresses) + { + string adresse = email.Value?.ToString()?.Trim() ?? string.Empty; + if (adresse.Length == 0 || !adresse.Contains('@', StringComparison.Ordinal)) + { + continue; + } + + if (!emailsVus.Add(adresse)) + { + continue; + } + + resultat.Add(new ContactTelephone(nom.Length > 0 ? nom : adresse, adresse)); + } + }); + } + catch + { + // Carnet illisible / autorisation retirée en cours de lecture : liste vide. + return []; + } + finally + { + requete?.Dispose(); + magasin.Dispose(); + } + + return resultat + .OrderBy(c => c.Nom ?? c.Email ?? string.Empty, StringComparer.OrdinalIgnoreCase) + .ToList(); + } +} diff --git a/src/Omika.App.iOS/IosDeviceInfoProvider.cs b/src/Omika.App.iOS/IosDeviceInfoProvider.cs new file mode 100644 index 0000000..1a85eb0 --- /dev/null +++ b/src/Omika.App.iOS/IosDeviceInfoProvider.cs @@ -0,0 +1,162 @@ +using System; +using System.Runtime.InteropServices; +using Foundation; +using UIKit; +using Omika.Core.Observability.Diagnostic; + +namespace Omika.App.iOS; + +/// +/// Capture d'appareil iOS (T17-C) : fabricant (« Apple »), modèle matériel +/// (sysctlbyname("hw.machine"), ex. « iPhone17,2 », repli sur +/// UIDevice.Model), version OS (UIDevice.SystemVersion, ex. « 18.6 »), +/// version/build du package (CFBundleShortVersionString / CFBundleVersion) +/// et dimensions d'écran (UIScreen : NativeBounds = pixels physiques, +/// Bounds = points logiques, Scale). +/// +/// Règles : +/// +/// snapshot capturé UNE fois à la construction (main thread, avant l'UI) ; +/// fail-open : toute valeur inaccessible devient null, jamais une exception ; +/// aucun identifiant matériel interdit (identifierForVendor/IDFA/serial/MAC) ; +/// pas de table de correspondance modèle → nom marketing : l'identifiant +/// matériel est stocké tel quel (conversion éventuelle en T17-E/D). +/// +/// +public sealed class IosDeviceInfoProvider : IDeviceInfoProvider +{ + private readonly DeviceInfoSnapshot _snapshot; + + public IosDeviceInfoProvider() + { + _snapshot = Capture(); + } + + /// + public DeviceInfoSnapshot GetSnapshot() => _snapshot; + + private static DeviceInfoSnapshot Capture() + { + try + { + UIDevice device = UIDevice.CurrentDevice; + UIScreen screen = UIScreen.MainScreen; + + (int? screenWidth, int? screenHeight) = CapturePhysical(screen); + (int? logicalWidth, int? logicalHeight) = CaptureLogical(screen); + + return new DeviceInfoSnapshot + { + AppVersion = ReadBundleString("CFBundleShortVersionString"), + AppBuild = ReadBundleString("CFBundleVersion"), + Platform = "iOS", + // Dimension analytique stable « iOS » (y compris sur iPad, dont + // SystemName = « iPadOS ») : une seule série pour les stats mobiles. + OperatingSystem = "iOS", + OperatingSystemVersion = DeviceInfoCapture.Clean(device.SystemVersion), + DeviceManufacturer = "Apple", + DeviceModel = DeviceInfoCapture.Clean(ReadMachineModel() ?? device.Model), + Architecture = RuntimeInformation.OSArchitecture.ToString(), + ScreenWidth = screenWidth, + ScreenHeight = screenHeight, + LogicalWidth = logicalWidth, + LogicalHeight = logicalHeight, + DisplayScale = DeviceInfoCapture.NormalizeScale((double)screen.Scale) + }; + } + catch + { + return DeviceInfoSnapshot.Empty; + } + } + + private static string? ReadBundleString(string key) + { + try + { + return DeviceInfoCapture.Clean(NSBundle.MainBundle.ObjectForInfoDictionary(key)?.ToString()); + } + catch + { + return null; + } + } + + /// + /// Identifiant matériel iOS (ex. « iPhone17,2 ») via sysctlbyname("hw.machine"). + /// Repli null (le provider retombe alors sur UIDevice.Model générique). + /// + private static string? ReadMachineModel() + { + try + { + UIntPtr size = UIntPtr.Zero; + if (sysctlbyname("hw.machine", IntPtr.Zero, ref size, IntPtr.Zero, UIntPtr.Zero) != 0 + || size == UIntPtr.Zero) + { + return null; + } + + int length = checked((int)size.ToUInt32()); + byte[] buffer = new byte[length]; + IntPtr ptr = Marshal.AllocHGlobal(length); + try + { + UIntPtr len = size; + if (sysctlbyname("hw.machine", ptr, ref len, IntPtr.Zero, UIntPtr.Zero) != 0) + { + return null; + } + + Marshal.Copy(ptr, buffer, 0, checked((int)len.ToUInt32())); + } + finally + { + Marshal.FreeHGlobal(ptr); + } + + int nul = Array.IndexOf(buffer, (byte)0); + int actual = nul >= 0 ? nul : buffer.Length; + return System.Text.Encoding.ASCII.GetString(buffer, 0, actual); + } + catch + { + return null; + } + } + + private static (int?, int?) CapturePhysical(UIScreen screen) + { + try + { + // NativeBounds = pixels physiques (ex. 1290 × 2796). + var width = DeviceInfoCapture.RoundDimension((double)screen.NativeBounds.Width); + var height = DeviceInfoCapture.RoundDimension((double)screen.NativeBounds.Height); + (int Width, int Height)? normalized = DeviceInfoCapture.Normalize(width, height); + return normalized is { } n ? (n.Width, n.Height) : (null, null); + } + catch + { + return (null, null); + } + } + + private static (int?, int?) CaptureLogical(UIScreen screen) + { + try + { + // Bounds = points logiques (ex. 393 × 852). + var width = DeviceInfoCapture.RoundDimension((double)screen.Bounds.Width); + var height = DeviceInfoCapture.RoundDimension((double)screen.Bounds.Height); + (int Width, int Height)? normalized = DeviceInfoCapture.Normalize(width, height); + return normalized is { } n ? (n.Width, n.Height) : (null, null); + } + catch + { + return (null, null); + } + } + + [DllImport("libSystem.B.dylib", EntryPoint = "sysctlbyname")] + private static extern int sysctlbyname(string name, IntPtr oldp, ref UIntPtr oldlenp, IntPtr newp, UIntPtr newlen); +} diff --git a/src/Omika.App.iOS/IosDictationService.cs b/src/Omika.App.iOS/IosDictationService.cs new file mode 100644 index 0000000..78446a5 --- /dev/null +++ b/src/Omika.App.iOS/IosDictationService.cs @@ -0,0 +1,334 @@ +using System; +using System.Threading; +using System.Threading.Tasks; +using AVFoundation; +using CoreFoundation; +using Foundation; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Speech; + +namespace Omika.App.iOS; + +/// +/// Dictée vocale native iOS (SFSpeechRecognizer + AVAudioEngine). +/// +/// Un seul clic suffit : l'écoute démarre sans clavier ni écran intermédiaire. +/// La reconnaissance embarquée est demandée quand l'appareil la propose +/// (SupportsOnDeviceRecognition) : la dictée fonctionne alors sans réseau +/// et la voix ne quitte pas le téléphone ; sinon iOS utilise son service. +/// +/// Prérequis de déploiement (Info.plist) : +/// +/// NSMicrophoneUsageDescription — accès au micro ; +/// NSSpeechRecognitionUsageDescription — reconnaissance vocale. +/// +/// Les deux autorisations sont demandées au premier clic sur le micro. +/// +public sealed class IosDictationService : IDictationService +{ + /// + public bool IsAvailable + { + get + { + try + { + using SFSpeechRecognizer? reconnaissance = CreerReconnaissance(null); + return reconnaissance?.Available ?? false; + } + catch (Exception) + { + return false; + } + } + } + + /// + public async Task StartAsync( + string? codeLangue = null, + CancellationToken cancellationToken = default) + { + if (!await DemanderAutorisationsAsync()) + { + return null; + } + + SFSpeechRecognizer? reconnaissance = CreerReconnaissance(codeLangue); + if (reconnaissance is null || !reconnaissance.Available) + { + reconnaissance?.Dispose(); + return null; + } + + var session = new IosDictationSession(reconnaissance); + if (!session.CommencerEcoute()) + { + await session.DisposeAsync(); + return null; + } + + return session; + } + + /// + /// Crée le moteur de reconnaissance pour la langue dictée : celle demandée + /// par l'appelant (langue secondaire de l'utilisateur), ou le français — + /// langue de référence de l'application. NSLocale attend une culture + /// BCP-47 : la conversion depuis le code ISO court du serveur est faite par + /// . + /// + private static SFSpeechRecognizer? CreerReconnaissance(string? codeLangue) + => new(NSLocale.FromLocaleIdentifier(LanguageTag.DepuisCode(codeLangue))); + + /// + /// Demande l'autorisation de reconnaissance vocale puis l'accès au micro. + /// Les deux sont exigées par iOS ; la demande est idempotente (immédiate + /// après le premier accord). + /// + private static Task DemanderAutorisationsAsync() + { + var autorisation = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + + SFSpeechRecognizer.RequestAuthorization(statut => + { + if (statut != SFSpeechRecognizerAuthorizationStatus.Authorized) + { + autorisation.TrySetResult(false); + return; + } + + AVAudioSession sessionAudio = AVAudioSession.SharedInstance(); + +#pragma warning disable CA1422 // Microsoft.iOS ne fournit pas encore AVAudioApplication (API iOS 17+). + // Déjà accordé : on évite de rappeler l'API de demande d'autorisation. + if (sessionAudio.RecordPermission == AVAudioSessionRecordPermission.Granted) + { + autorisation.TrySetResult(true); + return; + } + + sessionAudio.RequestRecordPermission(accorde => autorisation.TrySetResult(accorde)); +#pragma warning restore CA1422 + }); + + return autorisation.Task; + } +} + +/// +/// Écoute en cours. Capture le micro via AVAudioEngine, l'envoie à la +/// requête de reconnaissance et traduit les résultats en texte partiel, texte +/// final, échec ou fin sans parole. +/// +/// Toutes les méthodes publiques sont appelées depuis le thread d'interface +/// (contrat du service) ; les opérations audio sont re-marshallées par sécurité. +/// +internal sealed class IosDictationSession : IDictationSession +{ + private readonly SFSpeechRecognizer _reconnaissance; + private readonly AVAudioEngine _moteur = new(); + private SFSpeechAudioBufferRecognitionRequest? _requete; + private SFSpeechRecognitionTask? _tache; + + /// Vrai si l'écoute du micro est installée (à retirer à l'arrêt). + private bool _microBranche; + + /// Vrai dès qu'un événement terminal a été levé (un seul autorisé). + private bool _termine; + + public IosDictationSession(SFSpeechRecognizer reconnaissance) => _reconnaissance = reconnaissance; + + /// + public event EventHandler? PartialText; + + /// + public event EventHandler? FinalText; + + /// + public event EventHandler? Failed; + + /// + public event EventHandler? Ended; + + /// + /// Démarre l'écoute (thread principal uniquement). + /// + /// si le moteur audio n'a pas pu démarrer. + public bool CommencerEcoute() + { + // Sans catégorie « enregistrement » active, le moteur ne reçoit aucun + // échantillon du micro. + AVAudioSession sessionAudio = AVAudioSession.SharedInstance(); + sessionAudio.SetCategory(AVAudioSessionCategory.Record, AVAudioSessionCategoryOptions.AllowBluetooth); + + if (!sessionAudio.SetActive(true, out _)) + { + return false; + } + + _requete = new SFSpeechAudioBufferRecognitionRequest + { + ShouldReportPartialResults = true, + }; + + // Reconnaissance embarquée quand l'appareil la propose : la dictée + // fonctionne alors sans réseau et la voix ne quitte pas le téléphone. + if (_reconnaissance.SupportsOnDeviceRecognition) + { + _requete.RequiresOnDeviceRecognition = true; + } + + _tache = _reconnaissance.GetRecognitionTask(_requete, (resultat, erreur) => OnResultat(resultat, erreur)); + + AVAudioInputNode entree = _moteur.InputNode; + AVFoundation.AVAudioFormat format = entree.GetBusOutputFormat(0); + entree.InstallTapOnBus(0, 1024, format, (tampon, _) => _requete?.Append(tampon)); + _microBranche = true; + + _moteur.Prepare(); + if (!_moteur.StartAndReturnError(out _)) + { + ArreterEcoute(); + sessionAudio.SetActive(false, out _); + return false; + } + + return true; + } + + /// + public Task StopAsync() + { + // EndAudio laisse la reconnaissance produire son résultat final : la fin + // de la phrase dictée n'est pas perdue. La tâche n'est PAS annulée ici. + ExecuterSurThreadPrincipal(() => + { + try + { + _requete?.EndAudio(); + ArreterEcoute(); + } + catch (Exception) + { + // Déjà arrêté : rien à faire. + } + }); + + return Task.CompletedTask; + } + + /// + public ValueTask DisposeAsync() + { + _termine = true; + + ExecuterSurThreadPrincipal(() => + { + try + { + ArreterEcoute(); + _tache?.Cancel(); + _requete?.Dispose(); + _tache?.Dispose(); + _moteur.Dispose(); + _reconnaissance.Dispose(); + AVAudioSession.SharedInstance().SetActive(false, AVAudioSessionSetActiveOptions.NotifyOthersOnDeactivation); + } + catch (Exception) + { + // Libération best-effort. + } + }); + + return ValueTask.CompletedTask; + } + + // ===== Aides ===== + + /// Arrête le moteur audio et retire l'écoute du micro. + private void ArreterEcoute() + { + _moteur.Stop(); + + if (_microBranche) + { + _microBranche = false; + _moteur.InputNode.RemoveTapOnBus(0); + } + } + + /// Reçoit un résultat (partiel ou final) ou une erreur de reconnaissance. + private void OnResultat(SFSpeechRecognitionResult? resultat, NSError? erreur) + { + if (_termine) + { + return; + } + + string? texte = resultat?.BestTranscription?.FormattedString; + + if (resultat is { Final: true }) + { + Terminer(texte, null); + return; + } + + if (!string.IsNullOrWhiteSpace(texte)) + { + PartialText?.Invoke(this, texte); + } + + if (erreur is null) + { + return; + } + + // Domaine de l'assistant vocal : 203 = aucune parole détectée, + // 216 / 1110 = requête annulée ou silence. Ce ne sont pas des pannes : + // l'utilisateur n'a simplement rien dit. + if (erreur.Domain == "kAFAssistantErrorDomain" && erreur.Code is 203 or 216 or 1110) + { + Terminer(null, null); + return; + } + + Terminer(null, DictationMessages.Interrompue); + } + + /// Lève l'unique événement terminal de la session. + private void Terminer(string? texte, string? erreur) + { + if (_termine) + { + return; + } + + _termine = true; + + if (!string.IsNullOrWhiteSpace(texte)) + { + FinalText?.Invoke(this, texte); + } + else if (erreur is not null) + { + Failed?.Invoke(this, erreur); + } + else + { + Ended?.Invoke(this, EventArgs.Empty); + } + } + + /// Exécute une action sur le thread principal iOS. + private static void ExecuterSurThreadPrincipal(Action action) + { + if (NSThread.IsMain) + { + action(); + return; + } + + DispatchQueue.MainQueue.DispatchSync(action); + } +} diff --git a/src/Omika.App.iOS/IosEmailLauncher.cs b/src/Omika.App.iOS/IosEmailLauncher.cs new file mode 100644 index 0000000..dd6faae --- /dev/null +++ b/src/Omika.App.iOS/IosEmailLauncher.cs @@ -0,0 +1,371 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Net.Mail; +using System.Text; +using System.Threading.Tasks; +using Foundation; +using MessageUI; +using Omika.App.Local.Abstractions; +using UIKit; + +namespace Omika.App.iOS; + +/// +/// Ouverture du client email iOS. +/// +/// Simple composeur : URI mailto: remis au système +/// (), avec le destinataire +/// pré-rempli — c'est l'application de messagerie PAR DÉFAUT de +/// l'utilisateur qui s'ouvre (iOS n'autorise aucun choeur d'application +/// pour un mailto:). +/// Avec pièces jointes : (le +/// mailto: ne supporte pas les pièces jointes), utilisé notamment +/// pour joindre les journaux de diagnostic au support. +/// +/// L'adresse métier n'est jamais modifiée, et un email invalide retourne +/// . +/// +public sealed class IosEmailLauncher : IEmailLauncher +{ + // Référence forte au delegate du composeur : UIKit garde le delegate en + // référence FAIBLE, sans ce champ le GC pourrait le collecter avant la + // fermeture de l'écran de composition. + private MailComposeDelegate? _mailComposeDelegate; + + public async Task ComposeAsync(string email) + { + if (string.IsNullOrWhiteSpace(email)) + { + return false; + } + + // L'adresse métier peut être mal formée (champ libre) : on ne construit + // un URI mailto que pour une adresse syntaxiquement valide. + if (!MailAddress.TryCreate(email.Trim(), out MailAddress? address)) + { + return false; + } + + NSUrl? url = NSUrl.FromString($"mailto:{address.Address}"); + if (url is null) + { + return false; + } + + try + { + return await UIApplication.SharedApplication.OpenUrlAsync(url, new UIApplicationOpenUrlOptions()); + } + catch (Exception ex) + { + // Aucun client email configuré ou échec d'ouverture : l'appelant + // affiche un message propre. L'adresse n'est jamais journalisée. + Console.WriteLine($"[EMAIL-LAUNCHER] FailureType={ex.GetType().Name}"); + return false; + } + } + + /// + public Task ComposeAsync( + string email, + string? subject, + string? body, + IReadOnlyList? attachmentPaths) + { + if (string.IsNullOrWhiteSpace(email)) + { + return Task.FromResult(false); + } + + if (!MailAddress.TryCreate(email.Trim(), out MailAddress? address)) + { + return Task.FromResult(false); + } + + return IosUiHelper.OnMainAsync(() => + { + // Aucun compte mail configuré : impossible d'ouvrir le composeur. + if (!MFMailComposeViewController.CanSendMail) + { + return false; + } + + try + { + var mail = new MFMailComposeViewController(); + mail.SetToRecipients(new[] { address.Address }); + if (!string.IsNullOrWhiteSpace(subject)) + { + mail.SetSubject(subject); + } + + // isHtml:false → corps en texte brut (aucun HTML, aucune injection). + if (!string.IsNullOrWhiteSpace(body)) + { + mail.SetMessageBody(body, false); + } + + AjouterPiecesJointes(mail, attachmentPaths, "text/plain"); + + // Référence forte au delegate (UIKit le garde en référence faible). + var composeDelegate = new MailComposeDelegate(this, resultat: null); + _mailComposeDelegate = composeDelegate; + mail.MailComposeDelegate = composeDelegate; + + bool presented = IosUiHelper.Present(mail); + if (!presented) + { + // Présentation impossible (view controller disparu) : on + // libère le delegate et le composeur, jamais laissés en attente. + _mailComposeDelegate = null; + mail.Dispose(); + return false; + } + + return true; + } + catch (Exception ex) + { + Console.WriteLine($"[EMAIL-LAUNCHER] FailureType={ex.GetType().Name}"); + return false; + } + }); + } + + /// + /// Courriel complet de la MESSAGERIE EXTERNE. + /// + /// + /// AVEC pièces jointes : composeur SYSTÈME + /// (), qui permet les pièces + /// jointes ET qui rend le résultat réel — les APIs UIKit exposent + /// Envoyé / Enregistré / Annulé / Échec : aucune question n'est + /// alors nécessaire. Condition : un compte est configuré dans Mail + /// (CanSendMail), sinon repli sur mailto:. + /// SANS pièce jointe : URI mailto: avec objet, corps et copies, + /// remis à l'application de messagerie PAR DÉFAUT de l'utilisateur. + /// iOS ne fournit alors AUCUN résultat d'envoi : l'application demande + /// à l'utilisateur si le courriel est parti. + /// + /// + public async Task ComposerEmailExterneAsync(EmailExterneDemande demande) + { + List destinataires = NormaliserAdresses(demande.Destinataires); + if (destinataires.Count == 0) + { + return EmailExterneResultat.Echec; + } + + if (demande.CheminsPiecesJointes.Count > 0 && MFMailComposeViewController.CanSendMail) + { + EmailExterneResultat resultat = await PresenterComposeurSystemeAsync(demande, destinataires); + if (resultat.Lance) + { + return resultat; + } + } + + return await EnvoyerParMailtoAsync(demande, destinataires); + } + + /// + /// Présente le composeur système d'iOS et ATTEND sa fermeture : le résultat + /// () indique si l'utilisateur a réellement + /// envoyé le courriel. + /// + private async Task PresenterComposeurSystemeAsync( + EmailExterneDemande demande, + IReadOnlyList destinataires) + { + var resultat = + new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + + bool presente = false; + await IosUiHelper.OnMainAsync(() => + { + try + { + var mail = new MFMailComposeViewController(); + mail.SetToRecipients([.. destinataires]); + if (demande.Cc.Count > 0) + { + mail.SetCcRecipients([.. demande.Cc]); + } + + if (demande.Cci.Count > 0) + { + mail.SetBccRecipients([.. demande.Cci]); + } + + if (!string.IsNullOrWhiteSpace(demande.Sujet)) + { + mail.SetSubject(demande.Sujet); + } + + // isHtml:false → corps en texte brut (aucun HTML, aucune injection). + if (!string.IsNullOrWhiteSpace(demande.CorpsTexte)) + { + mail.SetMessageBody(demande.CorpsTexte, false); + } + + AjouterPiecesJointes(mail, demande.CheminsPiecesJointes, "application/octet-stream"); + + // Référence forte au delegate (UIKit le garde en référence faible). + var composeDelegate = new MailComposeDelegate(this, resultat); + _mailComposeDelegate = composeDelegate; + mail.MailComposeDelegate = composeDelegate; + + presente = IosUiHelper.Present(mail); + if (!presente) + { + _mailComposeDelegate = null; + mail.Dispose(); + } + } + catch (Exception ex) + { + Console.WriteLine($"[EMAIL-LAUNCHER] FailureType={ex.GetType().Name}"); + presente = false; + } + + return presente; + }); + + if (!presente) + { + return EmailExterneResultat.Echec; + } + + MFMailComposeResult issue = await resultat.Task; + return EmailExterneResultat.Confirme(issue == MFMailComposeResult.Sent); + } + + /// + /// Ouvre l'application de messagerie PAR DÉFAUT via mailto: (objet, + /// corps et copies pré-remplis). iOS n'expose aucun résultat d'envoi pour ce + /// mécanisme : . + /// + private static async Task EnvoyerParMailtoAsync( + EmailExterneDemande demande, + IReadOnlyList destinataires) + { + var uri = new StringBuilder("mailto:"); + uri.Append(string.Join(",", destinataires)); + + var parametres = new List(); + if (demande.Cc.Count > 0) + { + parametres.Add("cc=" + Uri.EscapeDataString(string.Join(",", demande.Cc))); + } + + if (demande.Cci.Count > 0) + { + parametres.Add("bcc=" + Uri.EscapeDataString(string.Join(",", demande.Cci))); + } + + if (!string.IsNullOrWhiteSpace(demande.Sujet)) + { + parametres.Add("subject=" + Uri.EscapeDataString(demande.Sujet)); + } + + if (!string.IsNullOrWhiteSpace(demande.CorpsTexte)) + { + parametres.Add("body=" + Uri.EscapeDataString(demande.CorpsTexte)); + } + + if (parametres.Count > 0) + { + uri.Append('?').Append(string.Join("&", parametres)); + } + + NSUrl? url = NSUrl.FromString(uri.ToString()); + if (url is null) + { + return EmailExterneResultat.Echec; + } + + try + { + bool ouvert = await UIApplication.SharedApplication.OpenUrlAsync(url, new UIApplicationOpenUrlOptions()); + return ouvert ? EmailExterneResultat.LanceSansConfirmation : EmailExterneResultat.Echec; + } + catch (Exception ex) + { + Console.WriteLine($"[EMAIL-LAUNCHER] FailureType={ex.GetType().Name}"); + return EmailExterneResultat.Echec; + } + } + + /// Ajoute au composeur les pièces jointes présentes sur le disque. + private static void AjouterPiecesJointes( + MFMailComposeViewController mail, + IReadOnlyList? chemins, + string typeMime) + { + if (chemins is null) + { + return; + } + + foreach (string path in chemins) + { + if (string.IsNullOrWhiteSpace(path) || !File.Exists(path)) + { + continue; + } + + NSData? data = NSData.FromFile(path); + if (data is null) + { + continue; + } + + mail.AddAttachmentData(data, typeMime, Path.GetFileName(path)); + } + } + + /// Filtre les adresses syntaxiquement valides d'une liste. + private static List NormaliserAdresses(IReadOnlyList adresses) + { + var resultat = new List(adresses.Count); + foreach (string adresse in adresses) + { + if (MailAddress.TryCreate(adresse.Trim(), out MailAddress? valide)) + { + resultat.Add(valide.Address); + } + } + + return resultat; + } + + private sealed class MailComposeDelegate : MFMailComposeViewControllerDelegate + { + private readonly IosEmailLauncher _owner; + + /// + /// Résultat attendu par l'appelant, ou quand + /// l'ouverture ne demande pas de résultat (envoi des journaux au support). + /// + private readonly TaskCompletionSource? _resultat; + + public MailComposeDelegate( + IosEmailLauncher owner, + TaskCompletionSource? resultat = null) + { + _owner = owner; + _resultat = resultat; + } + + public override void Finished( + MFMailComposeViewController controller, + MFMailComposeResult result, + NSError? error) + { + controller.DismissViewController(true, completionHandler: null); + _owner._mailComposeDelegate = null; + _resultat?.TrySetResult(result); + } + } +} diff --git a/src/Omika.App.iOS/IosEnrollmentQrScanner.cs b/src/Omika.App.iOS/IosEnrollmentQrScanner.cs new file mode 100644 index 0000000..c07f991 --- /dev/null +++ b/src/Omika.App.iOS/IosEnrollmentQrScanner.cs @@ -0,0 +1,127 @@ +using System; +using System.Threading; +using System.Threading.Tasks; +using AVFoundation; +using CoreFoundation; +using Foundation; +using Omika.App.Local.Abstractions; + +namespace Omika.App.iOS; + +/// +/// Lecture optique du QR d'inscription via AVFoundation (détection QR native iOS). +/// +/// Cette classe ne fait QUE lire le contenu brut du QR. Le décodage métier, la +/// vérification RSA et la validation d'endpoint restent dans les services +/// partagés (EnrollmentQrCodec, EndpointValidator, +/// MobileEnrollmentService). +/// +/// Aucune URL ni secret n'est présent ici. +/// +public sealed class IosEnrollmentQrScanner : IEnrollmentQrScanner +{ + public async Task ScanAsync( + IQrScannerPreviewSink? previewSink, + CancellationToken cancellationToken = default) + { + // 1. Autorisation caméra (NSCameraUsageDescription requise dans Info.plist). + AVAuthorizationStatus status = AVCaptureDevice.GetAuthorizationStatus(AVAuthorizationMediaType.Video); + if (status == AVAuthorizationStatus.NotDetermined) + { + bool granted = await AVCaptureDevice.RequestAccessForMediaTypeAsync(AVAuthorizationMediaType.Video); + status = granted ? AVAuthorizationStatus.Authorized : AVAuthorizationStatus.Denied; + } + + if (status != AVAuthorizationStatus.Authorized) + { + return null; + } + + // 2. Périphérique et entrée vidéo. + using var device = AVCaptureDevice.GetDefaultDevice(AVMediaTypes.Video); + if (device is null) + { + return null; + } + + var input = new AVCaptureDeviceInput(device, out NSError? inputError); + if (inputError is not null || input is null) + { + return null; + } + + // 3. Session + sortie de métadonnées (QR natif). + using var session = new AVCaptureSession(); + if (!session.CanAddInput(input)) + { + input.Dispose(); + return null; + } + session.AddInput(input); + + using var output = new AVCaptureMetadataOutput(); + if (!session.CanAddOutput(output)) + { + return null; + } + session.AddOutput(output); + output.MetadataObjectTypes = output.AvailableMetadataObjectTypes; + + var tcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + var metadataDelegate = new QrMetadataDelegate(tcs); + output.SetDelegate(metadataDelegate, DispatchQueue.MainQueue); + + // 4. Annulation → libération de la session. + using var registration = cancellationToken.Register(() => + { + tcs.TrySetResult(null); + session.StopRunning(); + }); + + // 5. Démarrage de la capture ; la caméra est arrêtée dans finally. + session.StartRunning(); + try + { + return await tcs.Task; + } + finally + { + session.StopRunning(); + } + } + + /// Déclenche la résolution dès qu'un QR lisible est détecté. + private sealed class QrMetadataDelegate : AVCaptureMetadataOutputObjectsDelegate + { + private readonly TaskCompletionSource _tcs; + private bool _handled; + + public QrMetadataDelegate(TaskCompletionSource tcs) + { + _tcs = tcs; + } + + public override void DidOutputMetadataObjects( + AVCaptureMetadataOutput captureOutput, + AVMetadataObject[] metadataObjects, + AVCaptureConnection connection) + { + if (_handled) + { + return; + } + + foreach (AVMetadataObject obj in metadataObjects) + { + if (obj is AVMetadataMachineReadableCodeObject code + && code.Type == AVMetadataObjectType.QRCode + && !string.IsNullOrWhiteSpace(code.StringValue)) + { + _handled = true; + _tcs.TrySetResult(code.StringValue); + return; + } + } + } + } +} diff --git a/src/Omika.App.iOS/IosFileLauncher.cs b/src/Omika.App.iOS/IosFileLauncher.cs new file mode 100644 index 0000000..79aa938 --- /dev/null +++ b/src/Omika.App.iOS/IosFileLauncher.cs @@ -0,0 +1,94 @@ +using System; +using System.IO; +using System.Threading.Tasks; +using Foundation; +using Omika.App.Local.Abstractions; +using UIKit; + +namespace Omika.App.iOS; + +/// +/// Ouverture d'un fichier local contrôlé par Omika via +/// (feuille « Ouvrir dans… » native). +/// Utilisé pour les DOCUMENTS (PDF, Word, Excel, TXT…). Si aucune application ne +/// peut ouvrir le fichier, la présentation échoue et est +/// retourné (le ViewModel affiche le message existant). +/// +/// Le controller et son delegate sont conservés dans des champs : UIKit garde +/// ces objets en référence FAIBLE, une instance locale serait collectée par le GC +/// avant la fermeture de la feuille. +/// +public sealed class IosFileLauncher : IFileLauncher +{ + private UIDocumentInteractionController? _currentController; + private UIDocumentInteractionControllerDelegate? _currentDelegate; + + public Task OpenAsync(string localPath) + { + if (string.IsNullOrWhiteSpace(localPath) || !File.Exists(localPath)) + { + return Task.FromResult(false); + } + + return IosUiHelper.OnMainAsync(() => + { + try + { + if (_currentController is not null) + { + // Une feuille « Ouvrir dans… » est déjà affichée : on ignore la + // seconde demande (garde anti double-présentation). + return false; + } + + UIViewController? host = IosUiHelper.GetTopViewController(); + if (host?.View is null) + { + return false; + } + + var url = NSUrl.FromFilename(localPath); + var controller = UIDocumentInteractionController.FromUrl(url); + controller.Url = url; + controller.Name = Path.GetFileName(localPath); + + // Références fortes : le controller et le delegate survivent à + // l'ouverture de la feuille (UIKit ne les retient pas fortement). + var interactionDelegate = new InteractionDelegate(this); + _currentDelegate = interactionDelegate; + _currentController = controller; + controller.Delegate = interactionDelegate; + + bool presented = controller.PresentOpenInMenu(host.View.Bounds, host.View, animated: true); + if (!presented) + { + _currentController = null; + _currentDelegate = null; + } + + return presented; + } + catch (Exception ex) + { + // Fichier verrouillé, type non géré, etc. : l'appelant affiche un + // message propre. Le chemin n'est pas journalisé. + Console.WriteLine($"[FILE-LAUNCHER] FailureType={ex.GetType().Name}"); + return false; + } + }); + } + + private sealed class InteractionDelegate : UIDocumentInteractionControllerDelegate + { + private readonly IosFileLauncher _owner; + + public InteractionDelegate(IosFileLauncher owner) => _owner = owner; + + public override void DidDismissOpenInMenu(UIDocumentInteractionController controller) + { + // Feuille fermée : libère les références fortes (ni fuite, ni objet mort). + _owner._currentController = null; + _owner._currentDelegate = null; + } + } +} diff --git a/src/Omika.App.iOS/IosFilePicker.cs b/src/Omika.App.iOS/IosFilePicker.cs new file mode 100644 index 0000000..f01fdda --- /dev/null +++ b/src/Omika.App.iOS/IosFilePicker.cs @@ -0,0 +1,347 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading; +using System.Threading.Tasks; +using CoreFoundation; +using Foundation; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using PhotosUI; +using UniformTypeIdentifiers; +using UIKit; + +namespace Omika.App.iOS; + +/// +/// Sélecteur de fichier iOS (iOS 14+, cible minimale du projet). +/// +/// +/// Document : (mode import/copie), +/// un fichier à la fois, tous types (public.data). La ressource +/// security-scoped est accédée, copiée localement puis relâchée. +/// Photos : (hors processus, aucune +/// permission Photos requise) en sélection unique ou multiple. C'est le +/// chemin unique de sélection galerie : aucun UIImagePickerController de +/// galerie, aucun NSPhotoLibraryUsageDescription. +/// +/// +/// Chaque fichier sélectionné est copié immédiatement dans un espace local +/// contrôlé par Omika : aucune URL externe éphémère n'est conservée. +/// +public sealed class IosFilePicker : IFilePicker +{ + // Référence forte au delegate courant (UIKit/PhotosUI garde les delegates en + // référence FAIBLE) : sans ce champ, le GC pourrait collecter le delegate + // avant le callback et la sélection serait perdue. + private DocumentPickerDelegate? _activeDocumentDelegate; + private PhotoPickerDelegate? _activePhotoDelegate; + + // Garde anti double-présentation : un seul picker (document OU photo) à la + // fois. Sans cela, une double commande écraserait le delegate fort du premier + // picker (TaskCompletionSource jamais complétée) et présenterait un second + // controller par-dessus le premier. + private int _presentationInFlight; + + /// + public Task PickDocumentAsync() + { + if (Interlocked.Exchange(ref _presentationInFlight, 1) != 0) + { + return Task.FromResult(null); + } + + var tcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + DispatchQueue.MainQueue.DispatchAsync(() => PresentDocumentPicker(tcs)); + return tcs.Task; + } + + /// + public async Task PickPhotoAsync() + { + IReadOnlyList picked = await PickPhotosViaPhPickerAsync(allowMultiple: false); + return picked.Count == 0 ? null : picked[0]; + } + + /// + public Task> PickPhotosAsync() + => PickPhotosViaPhPickerAsync(allowMultiple: true); + + // ------------------------------------------------------------------ DOCUMENT + + private void PresentDocumentPicker(TaskCompletionSource tcs) + { + UIViewController? host = IosUiHelper.GetTopViewController(); + if (host is null) + { + ReleasePresentation(); + tcs.TrySetResult(null); + return; + } + + var picker = new UIDocumentPickerViewController(new[] { UTTypes.Data }, asCopy: true) + { + AllowsMultipleSelection = false + }; + var documentDelegate = new DocumentPickerDelegate(tcs, this); + _activeDocumentDelegate = documentDelegate; + picker.Delegate = documentDelegate; + + if (!IosUiHelper.Present(picker)) + { + // Présentation impossible (view controller disparu entre-temps) : + // la tâche est refermée et le delegate relâché, jamais laissée en attente. + _activeDocumentDelegate = null; + ReleasePresentation(); + tcs.TrySetResult(null); + } + } + + private async Task ReadDocumentAsync(ScopedFile scoped) + { + NSUrl url = scoped.Url; + bool secured = scoped.Secured; + try + { + string? sourcePath = url.Path; + if (string.IsNullOrWhiteSpace(sourcePath) || !File.Exists(sourcePath)) + { + return null; + } + + string originalName = string.IsNullOrWhiteSpace(url.LastPathComponent) + ? $"document-{Guid.NewGuid():N}" + : url.LastPathComponent; + + // Copie locale immédiate : le document source (iCloud, Files, …) peut + // devenir indisponible après le callback. Nom interne unique ; le nom + // affiché d'origine est conservé pour l'utilisateur. + string dir = Path.Combine(Path.GetTempPath(), "omika-picker"); + Directory.CreateDirectory(dir); + string safeName = Path.GetFileName(originalName); + string localPath = Path.Combine(dir, $"{Guid.NewGuid():N}_{safeName}"); + + await using (FileStream input = File.OpenRead(sourcePath)) + await using (FileStream output = File.Create(localPath)) + { + await input.CopyToAsync(output); + } + + return new PickedFile + { + SourcePath = localPath, + FileName = originalName, + MimeType = FileMimeTypes.FromExtension(originalName), + SourceDate = ReadSourceDate(sourcePath) + }; + } + catch (Exception ex) + { + Console.WriteLine($"[FILE-PICKER] Copie locale du document impossible : {ex.Message}"); + return null; + } + finally + { + if (secured) + { + url.StopAccessingSecurityScopedResource(); + } + } + } + + /// + /// Date de dernière modification du document source (métadonnée NSURL/NSFileManager). + /// Utilisée comme date métier pour les DOCUMENTS non image ; jamais pour les + /// photos (qui conservent leur date EXIF). + /// + private static DateTimeOffset? ReadSourceDate(string path) + { + try + { + NSFileAttributes? attributes = NSFileManager.DefaultManager.GetAttributes(path, out NSError? error); + if (error is null && attributes?.ModificationDate is NSDate date) + { + var utc = DateTime.SpecifyKind((DateTime)date, DateTimeKind.Utc); + return new DateTimeOffset(utc); + } + } + catch + { + // Date source indisponible : l'appelant retombe sur la date d'upload. + } + + return null; + } + + // -------------------------------------------------------------------- PHOTOS + + private Task> PickPhotosViaPhPickerAsync(bool allowMultiple) + { + if (Interlocked.Exchange(ref _presentationInFlight, 1) != 0) + { + return Task.FromResult>(Array.Empty()); + } + + var tcs = new TaskCompletionSource>(TaskCreationOptions.RunContinuationsAsynchronously); + DispatchQueue.MainQueue.DispatchAsync(() => PresentPhotoPicker(tcs, allowMultiple)); + return tcs.Task; + } + + private void PresentPhotoPicker(TaskCompletionSource> tcs, bool allowMultiple) + { + var configuration = new PHPickerConfiguration + { + // 0 = sélection illimitée. Images uniquement. + SelectionLimit = allowMultiple ? 0 : 1, + Filter = PHPickerFilter.ImagesFilter + }; + + var picker = new PHPickerViewController(configuration); + var photoDelegate = new PhotoPickerDelegate(tcs, this); + _activePhotoDelegate = photoDelegate; + picker.Delegate = photoDelegate; + + if (!IosUiHelper.Present(picker)) + { + // Présentation impossible : la tâche est refermée, jamais laissée en attente. + _activePhotoDelegate = null; + ReleasePresentation(); + tcs.TrySetResult(Array.Empty()); + } + } + + private async Task> ReadPhotosAsync(PHPickerResult[] results) + { + var picked = new List(results.Length); + foreach (PHPickerResult result in results) + { + try + { + PickedFile? file = await ReadPhotoAsync(result); + if (file is not null) + { + picked.Add(file); + } + } + catch + { + // Lecture d'une image impossible : cet élément est ignoré sans + // interrompre le lot (même comportement qu'Android). + } + } + + return picked; + } + + private static async Task ReadPhotoAsync(PHPickerResult result) + { + // Chargement des octets EN MÉMOIRE (LoadDataRepresentation) : aucune + // dépendance à un fichier temporaire que PHPicker supprime après le + // callback. Le nom suggéré conserve l'extension d'origine si disponible. + NSData? data = await result.ItemProvider.LoadDataRepresentationAsync(UTTypes.Image.Identifier); + if (data is null) + { + return null; + } + + string? suggestedName = result.ItemProvider.SuggestedName; + string fileName = !string.IsNullOrWhiteSpace(suggestedName) + ? Path.GetFileName(suggestedName) + : $"photo-{Guid.NewGuid():N}.jpg"; + + string dir = Path.Combine(Path.GetTempPath(), "omika-picker"); + Directory.CreateDirectory(dir); + string localPath = Path.Combine(dir, $"{Guid.NewGuid():N}_{fileName}"); + + await File.WriteAllBytesAsync(localPath, data.ToArray()); + + return new PickedFile + { + SourcePath = localPath, + FileName = fileName, + MimeType = FileMimeTypes.FromExtension(fileName) ?? "image/jpeg" + }; + } + + /// Libère la garde de présentation (idempotent). + private void ReleasePresentation() => Interlocked.Exchange(ref _presentationInFlight, 0); + + // --------------------------------------------------------------- DELEGATES + + private readonly record struct ScopedFile(NSUrl Url, bool Secured); + + private sealed class DocumentPickerDelegate : UIDocumentPickerDelegate + { + private readonly TaskCompletionSource _tcs; + private readonly IosFilePicker _owner; + + public DocumentPickerDelegate(TaskCompletionSource tcs, IosFilePicker owner) + { + _tcs = tcs; + _owner = owner; + } + + public override void DidPickDocument(UIDocumentPickerViewController controller, NSUrl url) + { + _owner._activeDocumentDelegate = null; + _owner.ReleasePresentation(); + controller.DismissViewController(true, completionHandler: null); + Complete(url); + } + + public override void DidPickDocument(UIDocumentPickerViewController controller, NSUrl[] urls) + { + _owner._activeDocumentDelegate = null; + _owner.ReleasePresentation(); + controller.DismissViewController(true, completionHandler: null); + Complete(urls.Length > 0 ? urls[0] : null); + } + + public override void WasCancelled(UIDocumentPickerViewController controller) + { + _owner._activeDocumentDelegate = null; + _owner.ReleasePresentation(); + controller.DismissViewController(true, completionHandler: null); + _tcs.TrySetResult(null); + } + + private void Complete(NSUrl? url) + { + if (url is null) + { + _tcs.TrySetResult(null); + return; + } + + // Accès security-scoped : démarre l'accès ici (le callback est sur le + // main thread) et le stoppe après la copie locale (ReadDocumentAsync). + bool secured = url.StartAccessingSecurityScopedResource(); + _ = _owner.ReadDocumentAsync(new ScopedFile(url, secured)).ContinueWith( + task => _tcs.TrySetResult(task.IsCompletedSuccessfully ? task.Result : null), + TaskScheduler.Default); + } + } + + private sealed class PhotoPickerDelegate : PHPickerViewControllerDelegate + { + private readonly TaskCompletionSource> _tcs; + private readonly IosFilePicker _owner; + + public PhotoPickerDelegate(TaskCompletionSource> tcs, IosFilePicker owner) + { + _tcs = tcs; + _owner = owner; + } + + public override void DidFinishPicking(PHPickerViewController picker, PHPickerResult[] results) + { + _owner._activePhotoDelegate = null; + _owner.ReleasePresentation(); + picker.DismissViewController(true, completionHandler: null); + + _ = _owner.ReadPhotosAsync(results).ContinueWith( + task => _tcs.TrySetResult(task.IsCompletedSuccessfully ? task.Result : []), + TaskScheduler.Default); + } + } +} diff --git a/src/Omika.App.iOS/IosInstallationMarker.cs b/src/Omika.App.iOS/IosInstallationMarker.cs new file mode 100644 index 0000000..878970f --- /dev/null +++ b/src/Omika.App.iOS/IosInstallationMarker.cs @@ -0,0 +1,59 @@ +using System.IO; +using Foundation; + +namespace Omika.App.iOS; + +/// +/// Marker d'installation iOS (installation.marker) dans la sandbox. +/// +/// Il permet de détecter une vraie réinstallation alors que le Keychain peut +/// encore contenir un token d'une installation précédente : +/// +/// survit aux relances et aux mises à jour (fichier sandbox durable) ; +/// disparaît à la désinstallation (la sandbox est effacée) ; +/// n'est PAS restauré depuis une sauvegarde (exclusion explicite du +/// backup iCloud/iTunes). +/// +/// +public sealed class IosInstallationMarker +{ + private const string BackupExcludedKey = "NSURLIsExcludedFromBackupKey"; + + private readonly string _markerPath; + + public IosInstallationMarker(string dataDirectory) + { + _markerPath = Path.Combine(dataDirectory, "installation.marker"); + } + + /// Vrai si le marker existe déjà. + public bool Exists() => File.Exists(_markerPath); + + /// Crée le marker et l'exclut du backup iCloud/iTunes. + public void Create() + { + Directory.CreateDirectory(Path.GetDirectoryName(_markerPath)!); + File.WriteAllText(_markerPath, "1"); + ExcludeFromBackup(_markerPath); + } + + /// + /// Exclut le fichier/dossier du backup iCloud/iTunes (best-effort). Échouer + /// ici ne doit jamais bloquer le démarrage de l'application. + /// + internal static void ExcludeFromBackup(string path) + { + try + { + NSUrl url = NSUrl.FromFilename(path); + // Binding .NET : SetResource(NSString clé, NSObject valeur). + url.SetResource(new NSString(BackupExcludedKey), NSNumber.FromBoolean(true)); + } + catch + { + // Best-effort : sans exclusion, le pire cas est une restauration de + // sandbox sans token (le token est en Keychain ThisDeviceOnly), ce + // qui retombe de toute façon sur l'écran QR. + } + } +} diff --git a/src/Omika.App.iOS/IosMapLauncher.cs b/src/Omika.App.iOS/IosMapLauncher.cs new file mode 100644 index 0000000..6a97c9c --- /dev/null +++ b/src/Omika.App.iOS/IosMapLauncher.cs @@ -0,0 +1,44 @@ +using System; +using System.Threading.Tasks; +using Foundation; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using UIKit; + +namespace Omika.App.iOS; + +/// +/// Lancement d'un itinéraire iOS via l'URI Apple Maps +/// (https://maps.apple.com/?q=…). Apple Maps est toujours présent sur iOS : +/// l'itinéraire fonctionne donc sans Google Maps. Aucune permission requise. +/// +public sealed class IosMapLauncher : IMapLauncher +{ + public async Task OpenItineraireAsync(string address) + { + if (string.IsNullOrWhiteSpace(address)) + { + return false; + } + + // L'adresse est encodée (jamais modifiée) via le helper partagé testable. + string uriString = AppleMapsUri.Build(address); + NSUrl? url = NSUrl.FromString(uriString); + if (url is null) + { + return false; + } + + try + { + return await UIApplication.SharedApplication.OpenUrlAsync(url, new UIApplicationOpenUrlOptions()); + } + catch (Exception ex) + { + // Échec d'ouverture : l'appelant affiche un message propre. L'adresse + // n'est jamais journalisée. + Console.WriteLine($"[MAP-LAUNCHER] FailureType={ex.GetType().Name}"); + return false; + } + } +} diff --git a/src/Omika.App.iOS/IosPhoneLauncher.cs b/src/Omika.App.iOS/IosPhoneLauncher.cs new file mode 100644 index 0000000..f56b5f1 --- /dev/null +++ b/src/Omika.App.iOS/IosPhoneLauncher.cs @@ -0,0 +1,52 @@ +using System; +using System.Threading.Tasks; +using Foundation; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using UIKit; + +namespace Omika.App.iOS; + +/// +/// Lancement d'un appel iOS via l'URI tel: (RFC 3966) remis au système +/// (). Ouvre uniquement le +/// composeur natif pré-rempli : jamais d'appel automatique, aucune permission +/// microphone/téléphone requise. +/// +/// Sur un appareil sans capacité téléphonique (iPad, etc.), l'ouverture échoue +/// et est retourné, comme Android. +/// +public sealed class IosPhoneLauncher : IPhoneLauncher +{ + public async Task DialAsync(string phoneNumber) + { + if (string.IsNullOrWhiteSpace(phoneNumber)) + { + return false; + } + + // Le numéro est sanitisé uniquement pour l'URI (espaces retirés) ; les + // séparateurs visuels et le « + » restent valides (RFC 3966). Le numéro + // métier n'est jamais modifié ni journalisé. + string uriString = PhoneDialUri.Build(phoneNumber); + NSUrl? url = NSUrl.FromString(uriString); + if (url is null) + { + return false; + } + + try + { + // tel: est un schéma exempté de LSApplicationQueriesSchemes ; OpenUrlAsync + // retourne false si aucun composeur n'est disponible (iPad, etc.). + return await UIApplication.SharedApplication.OpenUrlAsync(url, new UIApplicationOpenUrlOptions()); + } + catch (Exception ex) + { + // Échec d'ouverture (schéma non géré, etc.) : l'appelant affiche un + // message propre. On ne journalise jamais le numéro ni l'URI complète. + Console.WriteLine($"[PHONE-LAUNCHER] FailureType={ex.GetType().Name}"); + return false; + } + } +} diff --git a/src/Omika.App.iOS/IosPhotoCapture.cs b/src/Omika.App.iOS/IosPhotoCapture.cs new file mode 100644 index 0000000..e3ed56d --- /dev/null +++ b/src/Omika.App.iOS/IosPhotoCapture.cs @@ -0,0 +1,154 @@ +using System; +using System.IO; +using System.Threading; +using System.Threading.Tasks; +using AVFoundation; +using CoreFoundation; +using Foundation; +using Omika.App.Local.Abstractions; +using UIKit; + +namespace Omika.App.iOS; + +/// +/// Prise de photo iOS via l'appareil photo natif ( +/// en mode ). +/// +/// La photo est écrite dans un fichier JPEG local contrôlé par Omika (l'orientation +/// est conservée par , qui encode l'orientation EXIF), +/// puis injectée dans le pipeline Documents/Photos existant — identique à une image +/// sélectionnée. L'annulation retourne (aucun fichier fantôme). +/// +public sealed class IosPhotoCapture : IPhotoCapture +{ + // Référence forte au delegate (UIKit garde les delegates en référence FAIBLE). + private CameraPickerDelegate? _activeDelegate; + + // Garde anti double-présentation : un seul UIImagePickerController à la fois. + private int _presentationInFlight; + + public async Task CapturePhotoAsync(CancellationToken cancellationToken = default) + { + cancellationToken.ThrowIfCancellationRequested(); + + // Permission caméra : si déjà refusée/restreinte, on échoue proprement avec + // un message clair (comportement équivalent à Android). Si indéterminée, + // UIImagePickerViewController déclenche la demande via NSCameraUsageDescription. + AVAuthorizationStatus status = AVCaptureDevice.GetAuthorizationStatus(AVAuthorizationMediaType.Video); + if (status is AVAuthorizationStatus.Denied or AVAuthorizationStatus.Restricted) + { + throw new PhotoCaptureException( + "Permission caméra refusée. Autorisez l'accès à la caméra pour prendre une photo."); + } + + // Une prise de vue est déjà ouverte : la seconde demande est ignorée + // (évite un double UIImagePickerController et la perte du delegate fort). + if (Interlocked.Exchange(ref _presentationInFlight, 1) != 0) + { + return null; + } + + var tcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + DispatchQueue.MainQueue.DispatchAsync(() => PresentCamera(tcs)); + + using var registration = cancellationToken.Register(() => tcs.TrySetResult(null)); + + UIImage? image = await tcs.Task; + if (image is null) + { + // Annulation ou caméra indisponible : aucun document, aucun fichier fantôme. + return null; + } + + return await WriteImageAsync(image); + } + + private void PresentCamera(TaskCompletionSource tcs) + { + if (!UIImagePickerController.IsSourceTypeAvailable(UIImagePickerControllerSourceType.Camera)) + { + ReleasePresentation(); + tcs.TrySetException(new PhotoCaptureException("Caméra indisponible sur cet appareil.")); + return; + } + + var picker = new UIImagePickerController + { + SourceType = UIImagePickerControllerSourceType.Camera, + CameraCaptureMode = UIImagePickerControllerCameraCaptureMode.Photo + }; + + var cameraDelegate = new CameraPickerDelegate(tcs, this); + _activeDelegate = cameraDelegate; + picker.Delegate = cameraDelegate; + + if (!IosUiHelper.Present(picker)) + { + // Présentation impossible : la tâche est refermée, jamais laissée en attente. + _activeDelegate = null; + ReleasePresentation(); + tcs.TrySetException(new PhotoCaptureException("Impossible d'ouvrir l'appareil photo.")); + } + } + + /// Libère la garde de présentation (idempotent). + private void ReleasePresentation() => Interlocked.Exchange(ref _presentationInFlight, 0); + + private static async Task WriteImageAsync(UIImage image) + { + try + { + NSData? jpeg = image.AsJPEG(); + if (jpeg is null) + { + return null; + } + + string fileName = $"photo-{DateTime.UtcNow:yyyyMMddHHmmssfff}.jpg"; + string dir = Path.Combine(Path.GetTempPath(), "omika-capture"); + Directory.CreateDirectory(dir); + string localPath = Path.Combine(dir, fileName); + + await File.WriteAllBytesAsync(localPath, jpeg.ToArray()); + + return new PickedFile + { + SourcePath = localPath, + FileName = fileName, + MimeType = "image/jpeg" + }; + } + catch (Exception ex) + { + throw new PhotoCaptureException("Impossible de prendre la photo.", ex); + } + } + + private sealed class CameraPickerDelegate : UIImagePickerControllerDelegate + { + private readonly TaskCompletionSource _tcs; + private readonly IosPhotoCapture _owner; + + public CameraPickerDelegate(TaskCompletionSource tcs, IosPhotoCapture owner) + { + _tcs = tcs; + _owner = owner; + } + + public override void FinishedPickingMedia(UIImagePickerController picker, NSDictionary info) + { + _owner._activeDelegate = null; + _owner.ReleasePresentation(); + picker.DismissViewController(true, completionHandler: null); + _tcs.TrySetResult(info[UIImagePickerController.OriginalImage] as UIImage); + } + + public override void Canceled(UIImagePickerController picker) + { + _owner._activeDelegate = null; + _owner.ReleasePresentation(); + picker.DismissViewController(true, completionHandler: null); + _tcs.TrySetResult(null); + } + } +} diff --git a/src/Omika.App.iOS/IosSecureTokenStore.cs b/src/Omika.App.iOS/IosSecureTokenStore.cs new file mode 100644 index 0000000..d465280 --- /dev/null +++ b/src/Omika.App.iOS/IosSecureTokenStore.cs @@ -0,0 +1,82 @@ +using System; +using System.Threading; +using System.Threading.Tasks; +using Foundation; +using Omika.App.Local.Abstractions; +using Security; + +namespace Omika.App.iOS; + +/// +/// Stockage sécurisé du token de session iOS via le Keychain. +/// +/// Le token n'est jamais copié dans NSUserDefaults, un fichier plat ou +/// SQLite. L'attribut d'accessibilité +/// garantit que le secret n'est PAS restauré sur un autre appareil (ni sur une +/// réinstallation depuis une sauvegarde) : il reste local à ce device. +/// +/// Une valeur absente/corrompue retourne (jamais +/// d'exception, jamais de valeur invalide), afin que la session soit simplement +/// considérée invalide. +/// +public sealed class IosSecureTokenStore : ISecureTokenStore +{ + private const string Service = "com.applilogik.omika.session"; + private const string Account = "access-token"; + + /// + public Task SaveAsync(string token, CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(token); + + // Le Keychain n'écrase pas par Add : on retire d'abord toute entrée + // existante, puis on écrit la nouvelle valeur. + Delete(); + + var record = new SecRecord(SecKind.GenericPassword) + { + Service = Service, + Account = Account, + ValueData = NSData.FromString(token, NSStringEncoding.UTF8), + Accessible = SecAccessible.AfterFirstUnlockThisDeviceOnly + }; + SecKeyChain.Add(record); + return Task.CompletedTask; + } + + /// + public Task GetAsync(CancellationToken cancellationToken = default) + { + var query = new SecRecord(SecKind.GenericPassword) + { + Service = Service, + Account = Account + }; + + SecRecord? match = SecKeyChain.QueryAsRecord(query, out SecStatusCode status); + if (status != SecStatusCode.Success || match?.ValueData is null) + { + return Task.FromResult(null); + } + + string? token = NSString.FromData(match.ValueData, NSStringEncoding.UTF8); + return Task.FromResult(string.IsNullOrWhiteSpace(token) ? null : token); + } + + /// + public Task ClearAsync(CancellationToken cancellationToken = default) + { + Delete(); + return Task.CompletedTask; + } + + private static void Delete() + { + var record = new SecRecord(SecKind.GenericPassword) + { + Service = Service, + Account = Account + }; + SecKeyChain.Remove(record); + } +} diff --git a/src/Omika.App.iOS/IosTokenBootstrap.cs b/src/Omika.App.iOS/IosTokenBootstrap.cs new file mode 100644 index 0000000..a7dfc37 --- /dev/null +++ b/src/Omika.App.iOS/IosTokenBootstrap.cs @@ -0,0 +1,69 @@ +using Omika.App.Local.Abstractions; +using Omika.App.Local.Infrastructure; +using Omika.App.Local.Security; + +namespace Omika.App.iOS; + +/// +/// Bootstrap d'installation iOS exécuté AVANT la construction d'AppServices +/// (dans AppDelegate.CustomizeAppBuilder), c'est-à-dire avant la première +/// lecture du token. +/// +/// Il orchestre, dans l'ordre : +/// +/// la distinction mise à niveau / réinstallation (marker + preuve) ; +/// la purge du Keychain sur une vraie réinstallation (le Keychain survit +/// à la désinstallation et ne doit PAS réutiliser un ancien token) ; +/// la création du marker d'installation (exclu du backup) ; +/// l'exclusion du répertoire de données des sauvegardes iCloud/iTunes ; +/// la migration idempotente de l'ancien session.token en clair. +/// +/// +/// Garantie métier : DÉSINSTALLATION → RÉINSTALLATION → écran QR obligatoire. +/// +public static class IosTokenBootstrap +{ + /// + /// Initialise le stockage sécurisé pour cette installation. Doit être appelé + /// une seule fois, au démarrage, avant toute lecture du token. + /// + public static void Initialize(ISecureTokenStore secureStore) + { + string dataDir = MobileStoragePaths.DataDirectory; + + var marker = new IosInstallationMarker(dataDir); + bool markerExists = marker.Exists(); + bool hasHistoricalProof = InstallationBootstrapper.HasHistoricalProof(dataDir); + InstallationKind kind = InstallationBootstrapper.Decide(markerExists, hasHistoricalProof); + + // Réinstallation (ou toute première installation) : le Keychain peut + // contenir un token d'une installation précédente → on le purge avant + // tout, pour garantir l'écran QR. + if (kind == InstallationKind.FreshInstall) + { + secureStore.ClearAsync().GetAwaiter().GetResult(); + } + + // Crée le marker pour les installations existantes (mise à niveau) ET les + // installations vierges. Il est exclu du backup pour ne jamais être + // restauré depuis une sauvegarde. + if (!markerExists) + { + marker.Create(); + } + + // Exclut le répertoire de données (device.id, omika.db, enrollment, + // ancien token, diagnostics) des sauvegardes iCloud/iTunes, afin qu'une + // restauration ne ressuscite pas une identité/session/enrollment sans + // token. Compatible avec la règle métier : une restauration équivaut à + // une réinstallation → écran QR. + IosInstallationMarker.ExcludeFromBackup(dataDir); + + // Migration idempotente de l'ancien token en clair (installations + // existantes). Sans effet sur une installation vierge. + new LegacyTokenMigrator(secureStore, MobileStoragePaths.LegacyTokenPath) + .MigrateAsync() + .GetAwaiter() + .GetResult(); + } +} diff --git a/src/Omika.App.iOS/IosUiHelper.cs b/src/Omika.App.iOS/IosUiHelper.cs new file mode 100644 index 0000000..4838fbb --- /dev/null +++ b/src/Omika.App.iOS/IosUiHelper.cs @@ -0,0 +1,110 @@ +using System; +using System.Threading; +using System.Threading.Tasks; +using CoreFoundation; +using UIKit; + +namespace Omika.App.iOS; + +/// +/// Aides UI partagées par les implémentations natives iOS (pickers, caméra, +/// ouverture de document). Aucune logique métier ici : uniquement la résolution +/// du view controller courant et l'exécution sur la file principale (UIKit +/// exige le main thread pour présenter un view controller). +/// +internal static class IosUiHelper +{ + /// Fenêtre clé iOS 13+ (scenes), sans dépendre de l'API obsolète KeyWindow. + private static UIWindow? GetKeyWindow() + { + foreach (UIScene scene in UIApplication.SharedApplication.ConnectedScenes) + { + if (scene is not UIWindowScene windowScene) + { + continue; + } + + foreach (UIWindow window in windowScene.Windows) + { + if (window.IsKeyWindow) + { + return window; + } + } + } + + return null; + } + + /// + /// View controller le plus « en avant » (déroule navigation, onglets et + /// présentation modale). C'est lui qui doit présenter les pickers/caméra. + /// + internal static UIViewController? GetTopViewController() + { + UIViewController? current = GetKeyWindow()?.RootViewController; + return Unwrap(current); + } + + private static UIViewController? Unwrap(UIViewController? controller) + { + while (controller?.PresentedViewController is { } presented) + { + controller = presented; + } + + if (controller is UINavigationController navigation) + { + return Unwrap(navigation.VisibleViewController); + } + + if (controller is UITabBarController tabBar) + { + return Unwrap(tabBar.SelectedViewController); + } + + return controller; + } + + /// + /// Exécute sur la file principale puis renvoie le + /// résultat. Toute exception est encapsulée dans la tâche (jamais perdue). + /// + public static Task OnMainAsync(Func action) + { + var tcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + DispatchQueue.MainQueue.DispatchAsync(() => + { + try + { + tcs.TrySetResult(action()); + } + catch (Exception ex) + { + tcs.TrySetException(ex); + } + }); + return tcs.Task; + } + + /// + /// Présente depuis le view controller courant et + /// retourne si la présentation a pu être demandée. + /// + public static bool Present(UIViewController toPresent) + { + UIViewController? host = GetTopViewController(); + if (host is null) + { + toPresent.Dispose(); + return false; + } + + // UIModalPresentationStyle.FullScreen évite les surprises de swipe-to-dismiss + // sur iPhone et le comportement pageSheet sur iPad (où le delegate pourrait + // ne pas être invoqué si l'utilisateur ferme par glissement). + toPresent.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; + host.PresentViewController(toPresent, animated: true, completionHandler: null); + return true; + } +} diff --git a/src/Omika.App.iOS/Main.cs b/src/Omika.App.iOS/Main.cs new file mode 100644 index 0000000..d23814b --- /dev/null +++ b/src/Omika.App.iOS/Main.cs @@ -0,0 +1,14 @@ +using UIKit; + +namespace Omika.App.iOS; + +public class Application +{ + // This is the main entry point of the application. + static void Main(string[] args) + { + // if you want to use a different Application Delegate class from "AppDelegate" + // you can specify it here. + UIApplication.Main(args, null, typeof(AppDelegate)); + } +} diff --git a/src/Omika.App.iOS/Omika.App.iOS.csproj b/src/Omika.App.iOS/Omika.App.iOS.csproj new file mode 100644 index 0000000..aea6c95 --- /dev/null +++ b/src/Omika.App.iOS/Omika.App.iOS.csproj @@ -0,0 +1,20 @@ + + + Exe + net10.0-ios + 14.0 + enable + + $(OmikaVersion) + $(OmikaBuild) + + + + + + + + + + diff --git a/src/Omika.App.iOS/Resources/LaunchScreen.xib b/src/Omika.App.iOS/Resources/LaunchScreen.xib new file mode 100644 index 0000000..44d0c73 --- /dev/null +++ b/src/Omika.App.iOS/Resources/LaunchScreen.xib @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Omika.App/App.axaml b/src/Omika.App/App.axaml new file mode 100644 index 0000000..f121fc8 --- /dev/null +++ b/src/Omika.App/App.axaml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Omika.App/App.axaml.cs b/src/Omika.App/App.axaml.cs new file mode 100644 index 0000000..9c5c5f7 --- /dev/null +++ b/src/Omika.App/App.axaml.cs @@ -0,0 +1,130 @@ +using System; +using System.Threading.Tasks; +using Avalonia; +using Avalonia.Controls.ApplicationLifetimes; +using Avalonia.Markup.Xaml; +using Omika.App.Controls; +using Omika.App.Views; +using Omika.Core.Observability; + +namespace Omika.App; + +public partial class App : Application +{ + private AppServices? _services; + + public override void Initialize() + { + AvaloniaXamlLoader.Load(this); + + // Placement des listes déroulantes (ComboBox / AutoCompleteBox) : le + // volet doit s'ouvrir sous le champ et tenir dans l'écran, au lieu de + // basculer au-dessus quand la place manque en dessous. + ListeDeroulante.Installer(); +#if DEBUG + // DevTools best-effort : sur un terminal sans instance DevTools joignable + // (ex. build Debug utilisé sur le terrain), l'attachement échoue avec + // DevToolsUnreachableException après le polling HTTP. On ne laisse jamais + // cet échec faire tomber l'application : le diagnostic reste disponible + // via les canaux Omika. + try + { + this.AttachDeveloperTools(); + } + catch + { + // DevTools absent : jamais bloquant ni fatal. + } +#endif + } + + public override void OnFrameworkInitializationCompleted() + { + // Composition root : construit les services locaux (SQLite, SyncEngine, + // thème, navigation) sans nouvelle bibliothèque de DI. + _services = new AppServices(); + + // Associe l'application au service de thème pour appliquer les ressources. + _services.ThemeService.Application = this; + + // Initialisation asynchrone (schéma SQLite, restauration du thème). + _ = InitializeServicesAsync(); + + + if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) + { + // Flush diagnostic court et borné à la fermeture (jamais bloquant). + desktop.ShutdownRequested += (_, _) => + { + try + { + _services?.ShutdownAsync().GetAwaiter().GetResult(); + } + catch + { + // Best-effort : la fermeture d'Omika n'est jamais bloquée. + } + }; + + desktop.MainWindow = new MainWindow + { + DataContext = _services.RootViewModel + }; + } + else if (ApplicationLifetime is IActivityApplicationLifetime singleViewFactoryApplicationLifetime) + { + singleViewFactoryApplicationLifetime.MainViewFactory = () => new MainView + { + DataContext = _services.RootViewModel + }; + } + else if (ApplicationLifetime is ISingleViewApplicationLifetime singleViewPlatform) + { + singleViewPlatform.MainView = new MainView + { + DataContext = _services.RootViewModel + }; + } + + + base.OnFrameworkInitializationCompleted(); + } + + /// + /// Initialise la base locale, le thème et la session au démarrage, sans + /// bloquer l'UI. Décide ensuite d'afficher l'activation ou le Shell. + /// + private async Task InitializeServicesAsync() + { + try + { + if (_services is not null) + { + await _services.InitializeAsync(); + await _services.InitializeSessionAsync(); + await _services.RootViewModel.EvaluateSessionAsync(); + + // Synchronisation automatique au lancement : si le Shell est + // affiché (session valide) et que le réseau est disponible, on + // récupère le snapshot puis on rafraîchit la page courante + // (agenda) pour afficher les rendez-vous sans action manuelle. + if (!_services.RootViewModel.IsActivationRequired) + { + _ = _services.StartInitialSyncAsync(); + } + } + } + catch (Exception ex) + { + // Capture de l'erreur d'initialisation (diagnostic → JSONL/email + outbox/API). + ExceptionTelemetry.LogException( + ex, + TelemetryEventCodes.MobileHandledException, + component: nameof(App)); + + // L'application reste utilisable : le Shell affiche un état neutre. + // L'erreur d'initialisation sera visible via l'état de synchronisation. + } + } + +} diff --git a/src/Omika.App/AppServices.cs b/src/Omika.App/AppServices.cs new file mode 100644 index 0000000..4bf203a --- /dev/null +++ b/src/Omika.App/AppServices.cs @@ -0,0 +1,1075 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Net.Http; +using System.Threading; +using System.Threading.Tasks; + +using Microsoft.Extensions.Logging.Abstractions; +using Omika.App.Controls; +using Omika.App.Diagnostics; +using Omika.App.Local.Abstractions; +using Omika.App.Local.Diagnostics; +using Omika.App.Local.Models; +using Omika.App.Local.Repositories; +using Omika.App.Local.Services; +using Omika.App.Local.Services.PayloadRewriters; +using Omika.App.Local.Sqlite; +using Omika.App.Navigation; +using Omika.App.Services; +using Omika.App.ViewModels; +using Omika.Core.Configuration; +using Omika.Core.Observability; +using Omika.Core.Observability.Diagnostic; +using Omika.Core.Observability.Outbox; + + +namespace Omika.App; + +/// +/// Composition root léger de l'application mobile. +/// Construit les services locaux existants (SQLite, repositories, SyncEngine, +/// thème, navigation) sans introduire de nouvelle bibliothèque de DI. +/// +public sealed class AppServices +{ + private readonly LocalDatabase _database; + private readonly ThemeService _themeService; + private readonly ShellViewModel _shellViewModel; + private readonly IMobileSessionService _sessionService; + private readonly LicenseActivationViewModel _licenseActivationViewModel; + private readonly MobileApiClient _apiClient; + private readonly RootViewModel _rootViewModel; + private readonly IInterventionLocalService _interventionService; + private readonly PermissionService _permissionService; + private readonly IEnrollmentService _enrollmentService; + private readonly IEnrollmentQrScanner _enrollmentQrScanner; + + // Traduction hors ligne (langue secondaire) : préférence locale, dépôt de + // packs sur disque, téléchargement depuis l'API des langues, moteur de + // traduction. Aucune donnée métier n'est concernée : ces services ne + // produisent que du texte français à insérer dans un champ, ou un affichage + // traduit qui n'est jamais enregistré. + private readonly ILangueSecondairePreferenceService _langueSecondairePreference; + private readonly ILanguagePackService _languagePackService; + private readonly ITranslationService _translationService; + + // Écran d'accueil de première inscription (langue secondaire + thème + + // pause déjeuner) : affiché UNE SEULE FOIS, entre l'inscription réussie et + // le premier affichage du Shell. + private readonly OnboardingViewModel _onboardingViewModel; + + // Surveillance de fond de la file Outbox : envoie automatiquement les données + // locales dès qu'il y en a et que le réseau est disponible (la synchronisation + // manuelle reste disponible et visible : badge + page « Synchronisation »). + private readonly BackgroundSyncService _backgroundSync; + private readonly IOutboxService _outboxService; + private readonly DocAideSeeder _docAideSeeder; + + // Aide contextuelle : synchronisation serveur (table Doc_Aide ou fichier + // doc_aide.json) au lancement, en remplacement du seul catalogue embarqué. + private readonly DocAideSyncService _docAideSync; + private bool _backgroundSyncStarted; + + // Observabilité : repli fail-open NullTelemetryService si le diagnostic local + // ne peut pas être initialisé. Omika ne dépend jamais de l'observabilité. + private readonly OmikaLocalDiagnostics? _diagnostics; + private readonly IOmikaTelemetry _telemetry; + + // Diagnostic distant (Phase 4) : outbox SQLite séparée + uploader best-effort. + // Nullable (repli fail-open si l'initialisation échoue). + private readonly DiagnosticOutboxSqliteStore? _diagnosticStore; + private readonly DiagnosticUploadWorker? _diagnosticUploader; + + // Options d'upload partagées avec le worker : leur instance est conservée pour + // activer l'envoi à l'inscription (Enabled=true) sans redémarrer la boucle. + private readonly DiagnosticUploadOptions? _diagnosticUploadOptions; + + // Télémétrie d'usage (T18) : ScreenView centralisé + écran courant. + private readonly ScreenUsageTelemetry _screenUsageTelemetry; + + + + + public AppServices() + { + // Base SQLite locale (fichier dans le dossier de données de l'application). + string dbPath = Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), + "Omika", + "omika.db"); + Directory.CreateDirectory(Path.GetDirectoryName(dbPath)!); + + // Journalisation persistante : sans elle, un repli silencieux (métadonnée + // absente, format non géré, échec de lecture) est indiscernable d'un + // fonctionnement normal sur un appareil réel. + string? logFilePath = AppLog.Configure( + Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Omika", "logs")); + + _database = new LocalDatabase(new LocalDatabaseOptions { DatabasePath = dbPath }); + + // Garantit que le schéma SQLite existe AVANT la construction du Shell et + // de la première page (Agenda) : sans cela, la lecture initiale des + // rendez-vous échoue avec « no such table: RendezVous ». + _database.InitializeSchema(); + + AppLog.Write( + Microsoft.Extensions.Logging.LogLevel.Information, + nameof(AppServices), + $"Démarrage Omika : base={dbPath}, journal={logFilePath ?? "(mémoire seule)"}."); + + // Diagnostic local (Phase 2) + outbox/upload distant (Phase 4) : initialisation + // best-effort APRÈS le socle essentiel (SQLite). En cas d'échec, repli + // NullTelemetryService : Omika démarre normalement, seule la collecte de + // diagnostic est perdue. Le DiagnosticOutbox est physiquement isolé dans une + // base SQLite dédiée (omika-diagnostics.db), jamais dans la base métier. + OmikaLocalDiagnostics? diagnostics = null; + DiagnosticOutboxSqliteStore? diagnosticStore = null; + DiagnosticUploadWorker? diagnosticUploader = null; + IOmikaTelemetry telemetry; + + // Capture d'appareil (T17-C) : source unique (plateforme native ou repli + // portable) pour l'enrichissement Diagnostics ET l'activation de licence. + // Fail-open : toute erreur → DeviceInfoSnapshot.Empty, jamais un blocage. + IDeviceInfoProvider deviceInfoProvider; + DeviceInfoSnapshot deviceInfo; + try + { + deviceInfoProvider = PlatformDeviceInfo.Current ?? new PortableDeviceInfoProvider(); + deviceInfo = deviceInfoProvider.GetSnapshot(); + } + catch + { + deviceInfoProvider = new PortableDeviceInfoProvider(); + deviceInfo = DeviceInfoSnapshot.Empty; + } + + try + { + string dataRoot = Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), + "Omika"); + + // Outbox SQLite séparée (Phase 4). Une panne ici ne bloque jamais la + // suite : le bloc try/catch la rend optionnelle. + var outboxOptions = new DiagnosticOutboxOptions + { + DatabasePath = Path.Combine(dataRoot, "omika-diagnostics.db") + }; + diagnosticStore = new DiagnosticOutboxSqliteStore(outboxOptions); + var diagnosticCounters = new DiagnosticCounters(); + var diagnosticOutbox = new DiagnosticOutbox(diagnosticStore, outboxOptions, diagnosticCounters); + var outboxExporter = new DiagnosticOutboxExporter(diagnosticOutbox); + + diagnostics = new OmikaLocalDiagnostics( + new LocalDiagnosticOptions + { + Directory = Path.Combine(dataRoot, "diagnostics") + }, + deviceInfoProvider: deviceInfoProvider, + additionalExporters: [outboxExporter]); + diagnostics.Start(); + + // Uploader best-effort (Phase 4). Le token est lu paresseusement depuis + // le client API (déjà branché sur la session) : aucun stockage de secret. + // Activation de l'upload : fichier local diagnostics-upload.json + // (DiagnosticUploadConfigurationLoader). Désactivé par défaut (Enabled=false), + // puis activé automatiquement dès l'inscription (EnableDiagnosticUpload) : + // aucun appel réseau diagnostic tant que l'appareil n'est pas inscrit. + var uploadOptions = DiagnosticUploadConfigurationLoader.Load(); + _diagnosticUploadOptions = uploadOptions; + var uploadClient = new DiagnosticUploadClient( + new HttpClient(), + () => _apiClient.BaseUrl, + () => _apiClient.AccessToken, + uploadOptions); + diagnosticUploader = new DiagnosticUploadWorker( + diagnosticOutbox, + uploadClient, + uploadOptions, + diagnosticCounters, + () => _apiClient.AccessToken); + diagnosticUploader.Start(); + + telemetry = diagnostics.Telemetry; + + telemetry.Track(new TelemetryEvent + { + EventCode = TelemetryEventCodes.MobileDiagnosticInitialized, + Level = TelemetryLevel.Info, + Component = "LocalDiagnostics" + }); + + diagnostics.Breadcrumbs.Add(new Breadcrumb + { + Code = "APP_STARTED", + Category = BreadcrumbCategory.App + }); + } + catch + { + diagnostics = null; + telemetry = NullTelemetryService.Instance; + try + { + diagnosticStore?.Dispose(); + } + catch + { + // Best-effort : l'échec de libération ne doit jamais remonter. + } + } + + _diagnostics = diagnostics; + _telemetry = telemetry; + _diagnosticStore = diagnosticStore; + _diagnosticUploader = diagnosticUploader; + + // Capture centralisée des exceptions (crash/erreurs) : achemine vers + // l'observabilité (JSONL → email support + outbox → API) et écrit un journal + // de crash de secours synchrone dans le même dossier que le diagnostic local. + ExceptionTelemetry.Initialize( + _telemetry, + Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), + "Omika", + "diagnostics")); + + // Repositories locaux. + var uiPreferencesRepository = new UiPreferencesRepository(_database); + var outboxRepository = new OutboxRepository(_database); + var identityMappingRepository = new IdentityMappingRepository(_database); + var documentCacheRepository = new DocumentCacheRepository(_database); + + // Aide contextuelle mobile : miroir local de la table serveur Doc_Aide + // (ou du fichier doc_aide.json sur base Batik). Le catalogue embarqué est + // amorcé pour qu'une première installation hors connexion ait déjà de + // l'aide ; la synchronisation au lancement le remplace ensuite. + var docAideRepository = new DocAideRepository(_database); + _docAideSeeder = new DocAideSeeder(docAideRepository); + IAideService aideService = new AideService(docAideRepository); + + + // Repositories métier locaux (tables du snapshot) pour l'Agenda et la Fiche Intervention. + var clientRepository = new LocalRepository(_database, "Client", []); + var siteRepository = new LocalRepository(_database, "Site", ["ClientId"]); + var interventionRepository = new LocalRepository(_database, "Intervention", ["ClientId", "SiteId", "DossierId"]); + var rendezVousRepository = new LocalRepository(_database, "RendezVous", ["ClientId", "SiteId", "DossierId", "InterventionId"]); + var dossierRepository = new LocalRepository(_database, "Dossier", ["ClientId", "SiteId"]); + var documentMetadataRepository = new LocalRepository(_database, "DocumentMetadata", ["InterventionId"]); + // Notes libres attachées à une photo : table technique locale, alimentée + // hors ligne puis synchronisée après le document (jamais avant). + var noteDocumentRepository = new NoteDocumentLocalRepository(_database); + var personneRepository = new LocalRepository(_database, "Personne", ["ClientId"]); + var collaborateurRepository = new LocalRepository(_database, "Collaborateur", ["SocieteId"]); + var suiviTempsRepository = new LocalRepository(_database, "SuiviTemps", ["CollaborateurId", "InterventionId", "RendezVousId"]); + + // Cache de recherche Intervention (dernière recherche + favoris) : table + // technique indépendante du snapshot général. + var interventionCacheRepository = new InterventionCacheRepository(_database); + var contextInterventionCacheRepository = new ContextInterventionCacheRepository(_database); + + // Préférence locale d'épinglage des dossiers + cache contextuel des + // interventions chargées depuis un dossier : tables techniques + // indépendantes du snapshot général. + var dossierLocalStateRepository = new DossierLocalStateRepository(_database); + var dossierInterventionCacheRepository = new DossierInterventionCacheRepository(_database); + var clientLocalStateRepository = new ClientLocalStateRepository(_database); + var siteLocalStateRepository = new SiteLocalStateRepository(_database); + + // Préférence LOCALE par utilisateur (horaires habituels de pause déjeuner). + // Table technique dédiée : le réglage reste sur l'appareil, rattaché à + // l'identité de l'utilisateur connecté. Jamais envoyé à l'API, jamais + // dans l'Outbox, jamais dans la base HFSQL. + var preferencesUtilisateurRepository = new PreferencesUtilisateurRepository(_database); + + // Brouillons de saisie de temps + marqueur de validation des temps d'un + // rendez-vous : tables techniques indépendantes du snapshot métier. + var suiviTempsDraftRepository = new SuiviTempsDraftRepository(_database); + var rendezVousTempsValidationRepository = new RendezVousTempsValidationRepository(_database); + var rendezVousDraftReferenceRepository = new RendezVousDraftReferenceRepository(_database); + var rapportBrouillonRepository = new RapportBrouillonRepository(_database); + + + + + + // Services de synchronisation (LE SyncEngine existant). + var reconciliation = new MobileIdentityReconciliationService( + _database, identityMappingRepository, outboxRepository, BuildPayloadRewriters()); + var snapshotApplier = new SnapshotApplier(_database); + // Détection de connectivité : implémentation plateforme fiable (Android + // ConnectivityManager) sinon repli portable (NetworkInterface). + var network = PlatformNetworkConnectivity.Current ?? new NetworkConnectivity(); + + // Boutons « Envoyer un email » : un email ne peut être composé/senti + // qu'en ligne. Le CONTRÔLE réutilisable reçoit ici la MÊME source de + // connectivité que le moteur de synchronisation : tous les écrans + // (fiche intervention, rendez-vous, contacts, clients, collaborateurs, + // équipe) désactivent leur bouton d'email hors ligne, sans règle à + // répéter écran par écran. + EmailButton.Connectivite = network; + + // Propagation centrale du TraceId (et SessionId) vers l'API : un + // DelegatingHandler branché sur le HttpClient partagé, sans modifier chaque + // service. Fail-open : même sans diagnostic local, un TraceId par requête + // est généré pour la corrélation. + var propagationHandler = new TraceIdPropagationHandler( + _diagnostics?.TraceContext ?? new TraceContext(), + _diagnostics?.Session); + // Renouvellement de session sur 401 (single-flight). Le handler est branché + // APRÈS la construction de la session pour lever la dépendance circulaire + // session ↔ client (le client porte le handler, la session porte le client). + var sessionRefreshHandler = new SessionRefreshHandler(propagationHandler); + // Client API métier SANS URL par défaut : l'URL de l'API Omika est fournie + // uniquement par l'inscription (QR → licence → API), jamais codée en dur. + // Délai BORNÉ (voir MobileApiClient.DefaultTimeout) : le défaut HttpClient de + // 100 s ferait patienter plus d'une minute sur un réseau mobile dégradé. + _apiClient = new MobileApiClient(MobileApiClient.CreateHttpClient(sessionRefreshHandler)); + + // Aide contextuelle : synchronisation au lancement depuis l'API (source de + // référence), puis lecture locale à l'ouverture d'une aide. Fail-open : un + // échec ne touche pas à l'aide déjà présente sur l'appareil. + _docAideSync = new DocAideSyncService(_apiClient, docAideRepository); + + // Identifiant d'appareil stable : partagé entre l'activation de licence, + // la session (token) et le moteur de synchronisation. Le serveur vérifie + // la cohérence du DeviceId des opérations avec celui du token. + var deviceIdProvider = new PlatformDeviceIdProvider(); + + ISyncEngine syncEngine = new SyncEngine( + network, _apiClient, outboxRepository, reconciliation, snapshotApplier, + deviceIdProvider, NullLogger.Instance); + + + // Session mobile : token sécurisé + bootstrap local + activation/validation. + // Le token n'est jamais stocké en SQLite en clair (secure storage dédié). + // Android/iOS installent leur implémentation native (Keystore/Keychain) + // via PlatformSecureTokenStores.Current dans CustomizeAppBuilder ; le + // repli partagé (fichier) ne sert que pour Desktop/développement. + var bootstrapRepository = new LocalBootstrapRepository(_database); + var secureTokenStore = PlatformSecureTokenStores.Current ?? new PlatformSecureTokenStore(); + + // MICRO-LOT : licence de développement locale (Development uniquement). + // Chargée depuis un fichier local non sensible. En Release, le bypass est + // compilé hors (#if DEBUG) : le provider retourne toujours null. + var developmentLicenseOptions = DevelopmentLicenseConfigurationLoader.Load(); + IDevelopmentLicenseProvider? developmentLicenseProvider = null; +#if DEBUG + developmentLicenseProvider = new DevelopmentLicenseProvider( + developmentLicenseOptions, + NullLogger.Instance); + + // URL de l'API locale injectée pour le flux Development Desktop : permet + // à la session DEV d'atteindre l'API locale (sans QR ni inscription). + // En Release, ce bloc est compilé hors : aucune URL locale possible. + if (developmentLicenseOptions.Enabled + && !string.IsNullOrWhiteSpace(developmentLicenseOptions.ApiUrl)) + { + _apiClient.BaseUrl = developmentLicenseOptions.ApiUrl.TrimEnd('/'); + } +#endif + + _sessionService = new MobileSessionService( + _apiClient, secureTokenStore, deviceIdProvider, bootstrapRepository, + NullLogger.Instance, + developmentLicenseProvider, + deviceInfo); + + // Branche le renouvellement 401 sur le service de session (dépendance + // circulaire résolue : le handler lit le token via _apiClient.AccessToken + // mis à jour par MobileSessionService pendant le renouvellement). + sessionRefreshHandler.Configure( + revalidate: async (failedToken, ct) => + { + SessionRevalidationResult result = await _sessionService.RevalidateSessionAsync(failedToken, ct); + return result.Outcome == SessionRevalidationOutcome.Success; + }, + getAccessToken: () => _apiClient.AccessToken); + + // Inscription (QR → licence → API) : stockage local + client dédié au + // service de licence + orchestration. Aucune URL codée en dur. + var enrollmentStore = new MobileEnrollmentStore(_database); + var licenseEnrollmentClient = new LicenseEnrollmentClient(new HttpClient()); + _enrollmentService = new MobileEnrollmentService( + licenseEnrollmentClient, enrollmentStore, deviceIdProvider, _sessionService, _apiClient, + deviceInfo: deviceInfo); + _enrollmentQrScanner = PlatformQrScanner.Instance ?? new EnrollmentQrScanner(); + + // Page d'inscription (premier démarrage sans configuration). + _licenseActivationViewModel = new LicenseActivationViewModel(_enrollmentService, _enrollmentQrScanner); + + + // Services UI. + _themeService = new ThemeService(uiPreferencesRepository); + + // Droits de l'utilisateur mobile (alimenté au démarrage depuis le bootstrap). + _permissionService = new PermissionService(); + + // Navigation (bloque les pages non autorisées via PermissionGuard). + var navigation = new NavigationService(_permissionService); + + // Service Agenda (lecture locale SQLite, repli API à la demande). + // Le service de session fournit l'annuaire local des collaborateurs + // (bootstrap) : sans lui, un rendez-vous n'afficherait pas le nom de son + // collaborateur hors connexion. + IAgendaService agendaService = new AgendaService( + rendezVousRepository, clientRepository, siteRepository, interventionRepository, + collaborateurRepository, _apiClient, _sessionService); + + // Service Fiche Intervention (lecture locale SQLite, aucun appel API). + // La surveillance de fond est branchée sur l'Outbox : chaque écriture + // locale la réveille (envoi automatique dès que le réseau est disponible). + _backgroundSync = new BackgroundSyncService( + network, NullLogger.Instance); + IOutboxService outboxService = new OutboxService(outboxRepository, _backgroundSync); + _outboxService = outboxService; + _interventionService = new InterventionLocalService( + interventionRepository, clientRepository, siteRepository, dossierRepository, + rendezVousRepository, documentMetadataRepository, collaborateurRepository, + outboxService, reconciliation, _apiClient, interventionCacheRepository, + contextInterventionCacheRepository, _database, network); + + // Service Suivi des temps (lecture locale SQLite + création offline-first, + // brouillons et validation des temps d'un rendez-vous, repli à la demande + // vers l'API quand le cache local est vide). + ISuiviTempsLocalService suiviTempsService = new SuiviTempsLocalService( + suiviTempsRepository, outboxService, _apiClient, + suiviTempsDraftRepository, rendezVousTempsValidationRepository, + rendezVousDraftReferenceRepository, _sessionService); + + // Notificateur d'état des rendez-vous : propage immédiatement une mutation + // locale (annulation) aux vues Agenda / Agenda équipe / Détail. + IRendezVousStateNotifier rendezVousStateNotifier = new RendezVousStateNotifier(); + + // Annulation d'un rendez-vous (offline-first : mise à jour locale SQLite + // + opération Outbox UPDATE, jamais de suppression physique). + IRendezVousAnnulationLocalService rendezVousAnnulation = + new RendezVousAnnulationLocalService(rendezVousRepository, outboxService, rendezVousStateNotifier); + + // Finalisation d'un rendez-vous (passage immédiat à « Fait » en local après + // validation des temps : statut SQLite + événement de changement d'état). + IRendezVousFinalisationLocalService rendezVousFinalisation = + new RendezVousFinalisationLocalService(rendezVousRepository, rendezVousStateNotifier); + + // Périmètre « compte rendu » (individuel ou groupe/journée) : règle métier + // centralisée (recherche, existence, validation, anti-doublon). + ICompteRenduScopeService compteRenduScopeService = + new CompteRenduScopeService(_interventionService); + + // Service référentiel ParametreMetier (lecture locale SQLite, aucun appel API). + // Fournit les types de temps (TypeTemps) pour le futur formulaire CREATE. + IParametreMetierLocalService parametreMetierService = new ParametreMetierLocalService( + _sessionService); + + + + + // Service Documents / Photos (métadonnées SQLite, cache fichier local, + // téléchargement à la demande, ajout offline-first via Outbox). + string filesDirectory = Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), + "Omika", + "documents"); + + // Optimisation du poids des photos : le service est branché au point + // d'insertion unique du service de documents, il couvre donc à la fois la + // prise de photo et la sélection d'image, sans code dupliqué. + IImageOptimizer imageOptimizer = new SkiaImageOptimizer(new AppFileLogger()); + + // Politique de poids du client : lue dans le bootstrap local (SQLite), + // donc disponible hors connexion. + IPhotoPolicyProvider photoPolicy = new PhotoPolicyProvider(_sessionService); + + // Horaires habituels de pause déjeuner : préférence LOCALE de l'utilisateur + // connecté, stockée dans SQLite (table technique PreferencesUtilisateur). + // Aucun appel API : le préremplissage fonctionne hors connexion. + IPauseDejeunerPreferenceService pauseDejeunerPreference = + new PauseDejeunerPreferenceService(preferencesUtilisateurRepository, _sessionService); + + // Langue secondaire de l'utilisateur connecté : même table technique, + // même logique — le réglage reste sur l'appareil et fonctionne hors + // connexion. + _langueSecondairePreference = + new LangueSecondairePreferenceService(preferencesUtilisateurRepository, _sessionService); + + // Packs de langue : dépôt sur disque (marqueurs d'installation vérifiés) + // + téléchargement depuis l'API des langues (SRV_LANGUES, anonyme). + // Le client HTTP est dédié aux gros transferts : il n'a AUCUN délai + // global (un modèle de 120 Mo sur réseau mobile dépasse largement le + // délai par défaut de 100 s), et la robustesse vient du chien de garde + // d'inactivité du service. + ILanguagePackStore languagePackStore = new LanguagePackStore(); + _languagePackService = new LanguagePackService( + languagePackStore, _sessionService, LanguagePackService.CreerHttpClient()); + + // Traduction hors ligne. Le moteur ONNX Runtime est embarqué : le symbole + // OMIKA_ONNX_RUNTIME est défini dans Omika.App.Local.csproj, et le paquet + // Microsoft.ML.OnnxRuntime fournit les bibliothèques natives. Si elles + // manquent sur une plateforme, la fabrique répond « indisponible » au lieu + // de planter : la traduction se dégrade, le reste de l'application continue. + IOnnxInferenceSessionFactory onnxFactory = OnnxRuntimeInferenceSessionFactory.Instance; + _translationService = new OnnxTranslationService(languagePackStore, onnxFactory); + + // Dictée traduite : dicter dans sa langue secondaire, insérer du + // français. Le contrôle de saisie à dictée est autonome (il ne reçoit + // aucun ViewModel) : il lit ce service par PlatformDicteeTraduite, sur + // le même principe que PlatformDictation pour la dictée native. + PlatformDicteeTraduite.Current = + new DicteeTraduiteService(_langueSecondairePreference, _translationService); + + // Date réelle du fichier (EXIF DateTimeOriginal pour une photo) : lue dans + // le même point d'entrée unique que l'optimisation, mais AVANT elle, car le + // réencodage peut supprimer les métadonnées EXIF. + IDocumentDateResolver dateResolver = + new MetadataDocumentDateResolver(new AppFileLogger()); + + IDocumentLocalService documentService = new DocumentLocalService( + documentMetadataRepository, + noteDocumentRepository, + documentCacheRepository, + outboxRepository, + _apiClient, + PlatformFileLaunchers.Current ?? new PlatformFileLauncher(), + + PlatformFilePickers.Current ?? new PlatformFilePicker(), + PlatformPhotoCapture.Current ?? new PlatformPhotoCaptureFallback(), + imageOptimizer, + photoPolicy, + dateResolver, + network, + reconciliation, + filesDirectory, + new AppFileLogger(), + _backgroundSync); + + // Service Contacts d'une intervention (lecture locale SQLite + repli à la + // demande vers l'API quand les contacts ne sont pas en cache local). + IInterventionContactsService contactsService = new InterventionContactsService( + interventionRepository, personneRepository, interventionCacheRepository, + contextInterventionCacheRepository, _apiClient); + + // Service Dossiers (lecture locale SQLite + épinglage local + chargement + // des interventions liées à la demande via l'API à l'ouverture du dossier). + IDossierLocalService dossierService = new DossierLocalService( + dossierRepository, clientRepository, + dossierLocalStateRepository, dossierInterventionCacheRepository, _apiClient); + + // Service Clients (lecture locale SQLite + recherche à la demande + épinglage). + IClientLocalService clientService = new ClientLocalService( + clientRepository, dossierRepository, contextInterventionCacheRepository, + clientLocalStateRepository, _apiClient); + + // Service Sites / Lieux (lecture locale + recherche à la demande + épinglage). + ISiteLocalService siteService = new SiteLocalService( + siteRepository, clientRepository, personneRepository, rendezVousRepository, + interventionRepository, contextInterventionCacheRepository, siteLocalStateRepository, _apiClient); + + // Service Collaborateurs / Équipe (annuaire local bootstrap + repli API). + ICollaborateurLocalService collaborateurService = new CollaborateurLocalService( + collaborateurRepository, rendezVousRepository, contextInterventionCacheRepository, _apiClient, _sessionService); + + // Service Équipes (annuaire local bootstrap + repli API à la demande). + IEquipeLocalService equipeService = new EquipeLocalService(_apiClient, _sessionService); + + // Launchers plateforme (téléphone / email / carte) : aucune logique + // Android/iOS dans les ViewModels. L'implémentation Android native est + // installée dans CustomizeAppBuilder (PlatformLaunchers) ; sinon repli + // partagé TopLevel.Launcher. + IPhoneLauncher phoneLauncher = PlatformLaunchers.Phone ?? new PlatformPhoneLauncher(); + IEmailLauncher emailLauncher = PlatformLaunchers.Email ?? new PlatformEmailLauncher(); + IMapLauncher mapLauncher = PlatformLaunchers.Map ?? new PlatformMapLauncher(); + + // Observation du RETOUR au premier plan (Android : OnResume, iOS : + // OnActivated, bureau : fenêtre réactivée). Sert au flux « envoi via une + // messagerie externe » : après l'ouverture de la messagerie du téléphone, + // on demande à l'utilisateur si le courriel est bien parti. + IAppRetourService appRetour = new PlatformAppRetourService(); + + // Carnet d'adresses du TÉLÉPHONE (contacts personnels) : implémentation + // installée dans CustomizeAppBuilder par les têtes Android/iOS. Sur une + // plateforme sans carnet (bureau) la valeur reste null : la liste des + // destinataires ne contient alors que les contacts de l'intervention. + IContactsTelephoneService? contactsTelephone = PlatformContactsTelephone.Current; + + // Maintenance des données locales (purge cache document, suppression des + // données, réinitialisation complète). + ILocalDataMaintenanceService dataMaintenance = new LocalDataMaintenanceService( + _database, filesDirectory, secureTokenStore); + + // Export des journaux de diagnostic locaux (JSONL → .txt) pour l'envoi + // d'un email au support depuis la page Paramètres. Même répertoire que le + // writer de diagnostic local (LocalDiagnosticOptions.Directory). + ISupportLogExporter supportLogExporter = new SupportLogExporter( + Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), + "Omika", + "diagnostics")); + + // Factory de pages (résout la dépendance circulaire via SetShell). + var pageViewModelFactory = new PageViewModelFactory( + _themeService, agendaService, _interventionService, documentService, + contactsService, dossierService, clientService, siteService, collaborateurService, + equipeService, + suiviTempsService, parametreMetierService, interventionRepository, outboxRepository, + rapportBrouillonRepository, + phoneLauncher, emailLauncher, mapLauncher, appRetour, navigation, _sessionService, _permissionService, + syncEngine, + dataMaintenance, + photoPolicy, + pauseDejeunerPreference, + rendezVousAnnulation, + rendezVousFinalisation, + compteRenduScopeService, + rendezVousStateNotifier, + supportLogExporter, + _telemetry, + network, + _langueSecondairePreference, + _languagePackService, + _translationService, + contactsTelephone); + + + + + + + + + + + + // Shell. + _shellViewModel = new ShellViewModel(navigation, _themeService, syncEngine, pageViewModelFactory, _sessionService, _permissionService, outboxService, aideService); + pageViewModelFactory.SetShell(_shellViewModel); + + // Télémétrie d'usage (T18) : écoute la navigation centralisée et émet un + // ScreenView par changement d'écran + définit l'écran courant du contexte. + // L'écran initial (Agenda) est émis explicitement après le câblage. + _screenUsageTelemetry = new ScreenUsageTelemetry(navigation, _telemetry, _diagnostics?.Context); + _screenUsageTelemetry.TrackInitialScreen(); + + // Écran d'accueil de première inscription : langue secondaire + modèles + // hors ligne, thème, pause déjeuner. Il n'est affiché QU'APRÈS une + // inscription réussie (voir CompleteEnrollmentAsync) : un appareil déjà + // inscrit qui redémarre va directement au Shell. + _onboardingViewModel = new OnboardingViewModel( + _themeService, + pauseDejeunerPreference, + _langueSecondairePreference, + _languagePackService, + _translationService); + + // ViewModel racine : décide au démarrage entre activation et Shell. + _rootViewModel = new RootViewModel( + _sessionService, _shellViewModel, _licenseActivationViewModel, _onboardingViewModel); + + // Inscription réussie : applique les droits du bootstrap AVANT de basculer + // vers le Shell, afin que le menu (bouton Interventions, etc.) soit correct + // dès le premier affichage. L'orchestration est ici pour garantir l'ordre + // droits → Shell (source de vérité unique : le bootstrap local). + _licenseActivationViewModel.Enrolled += () => _ = CompleteEnrollmentAsync(); + + // Réinitialisation complète (bouton « Supprimer le compte ») : revient + // à l'écran d'inscription après effacement des données + session, et + // réinitialise le client API (aucune ancienne URL conservée). + _shellViewModel.SessionResetRequested += () => + { + _apiClient.BaseUrl = null; + _apiClient.AccessToken = null; + + // Arrêt de la surveillance de fond : plus de session, plus rien à + // envoyer (la file locale est effacée par la réinitialisation). + _backgroundSyncStarted = false; + _ = _backgroundSync.StopAsync(); + + _rootViewModel.ShowActivation(); + }; + } + + + /// Service de droits de l'utilisateur mobile. + public IPermissionService PermissionService => _permissionService; + + + /// ViewModel du Shell principal. + public ShellViewModel ShellViewModel => _shellViewModel; + + /// Service de session mobile (token sécurisé + bootstrap). + public IMobileSessionService SessionService => _sessionService; + + /// Service d'inscription (QR → licence → API). + public IEnrollmentService EnrollmentService => _enrollmentService; + + /// ViewModel de la page d'activation de licence. + public LicenseActivationViewModel LicenseActivationViewModel => _licenseActivationViewModel; + + /// ViewModel racine (décide entre activation et Shell au démarrage). + public RootViewModel RootViewModel => _rootViewModel; + + /// Service de thème. + public ThemeService ThemeService => _themeService; + + /// Facade d'observabilité (enrichie par le contexte diagnostic). + public IOmikaTelemetry Telemetry => _telemetry; + + /// Hôte de diagnostic local, ou null si le repli est actif. + public OmikaLocalDiagnostics? Diagnostics => _diagnostics; + + /// Service de breadcrumbs (borné), ou null si le repli est actif. + public IBreadcrumbService? Breadcrumbs => _diagnostics?.Breadcrumbs; + + /// + /// Arrêt propre : émet l'événement de fin de session puis arrête le worker avec + /// un flush court borné (jamais bloquant). + /// + public async Task ShutdownAsync() + { + // Arrêt de la surveillance de fond (borné : ne retarde jamais la fermeture). + await _backgroundSync.StopAsync(); + + // Arrêt de l'uploader diagnostic (flush court borné, jamais bloquant). + if (_diagnosticUploader is not null) + { + await _diagnosticUploader.StopAsync(); + } + + if (_diagnostics is not null) + { + _telemetry.Track(new TelemetryEvent + { + EventCode = TelemetryEventCodes.MobileAppSessionStopped, + Level = TelemetryLevel.Info, + Component = nameof(AppServices) + }); + + await _diagnostics.StopAsync(); + } + + // Libération de la base SQLite diagnostic (best-effort). + if (_diagnosticStore is not null) + { + try + { + await _diagnosticStore.DisposeAsync(); + } + catch + { + // Best-effort : jamais bloquant. + } + } + } + + + /// Base SQLite locale. + public LocalDatabase Database => _database; + + + /// + /// Initialise la base locale (schéma) et le thème au démarrage. + /// + public async Task InitializeAsync(CancellationToken cancellationToken = default) + { + await _database.InitializeSchemaAsync(cancellationToken); + + // Insère le catalogue d'aide embarqué (upsert idempotent) : l'aide de + // chaque écran est consultable hors connexion dès le premier démarrage. + await _docAideSeeder.SeedAsync(cancellationToken); + + await _themeService.InitializeAsync(cancellationToken); + + // Le métier est capable de démarrer : événement de session démarrée + // (best-effort, jamais bloquant). + _telemetry.Track(new TelemetryEvent + { + EventCode = TelemetryEventCodes.MobileAppStarted, + Level = TelemetryLevel.Info, + Component = nameof(AppServices) + }); + } + + /// + /// Restaure la session mobile au démarrage : recharge le token sécurisé dans + /// le client API et branche l'identité réelle dans le Shell. + /// + public async Task InitializeSessionAsync(CancellationToken cancellationToken = default) + { + // 0. Restaure l'URL de l'API Omika depuis l'inscription locale (si + // présente). Aucune URL codée en dur, aucun fallback. + MobileEnrollmentConfiguration? enrollment = await _enrollmentService.LoadAsync(cancellationToken); + if (enrollment is not null && !string.IsNullOrWhiteSpace(enrollment.OmikaApiUrl)) + { + _apiClient.BaseUrl = enrollment.OmikaApiUrl; + } + + // L'envoi des diagnostics est actif dès l'inscription : à la restauration + // d'une session déjà inscrite, on ré-active l'upload en mémoire et on migre + // le fichier d'opt-in s'il n'existe pas encore (appareils inscrits avant + // cette version). Un fichier existant (y compris un kill-switch manuel + // Enabled=false) est respecté, jamais écrasé. + if (enrollment is not null) + { + EnableDiagnosticUpload(persist: !DiagnosticUploadConfigurationLoader.Exists()); + } + + // 1. Recharge le token sécurisé (jamais en SQLite en clair). + string? token = await _sessionService.GetAccessTokenAsync(cancellationToken); + _apiClient.AccessToken = token; + + // Log TEMPORAIRE d'observation : URL effective + présence de la config et du + // token. Jamais de secret (le token lui-même n'est jamais journalisé). + Console.WriteLine( + $"[API-CONFIG] BaseUrl={_apiClient.BaseUrl ?? ""} " + + $"enrollmentPresent={enrollment is not null} " + + $"omikaApiUrl={(string.IsNullOrWhiteSpace(enrollment?.OmikaApiUrl) ? "" : enrollment!.OmikaApiUrl)} " + + $"codeClient={(string.IsNullOrWhiteSpace(enrollment?.CodeClient) ? "" : enrollment!.CodeClient)} " + + $"tokenPresent={!string.IsNullOrWhiteSpace(token)}"); + + // 2. Branche l'identité réelle (profil/droits) dans le Shell. + await ApplyBootstrapToShellAsync(cancellationToken); + + // 3. Rafraîchit les favoris Intervention en arrière-plan (bulk, une seule + // requête). Offline-first : en cas d'échec réseau, le cache local reste + // intact et le démarrage n'est pas bloqué. + _ = RefreshPinnedFavoritesAsync(); + } + + /// + /// Applique au service de droits et au Shell l'identité et les droits issus du + /// bootstrap local. Appelé au démarrage (restauration de session) ET + /// immédiatement après une inscription réussie : le menu reflète ainsi les + /// droits dès le premier affichage du Shell, sans fermeture/réouverture. + /// + public async Task ApplyBootstrapToShellAsync(CancellationToken cancellationToken = default) + { + var bootstrap = await _sessionService.GetBootstrapAsync(cancellationToken); + if (bootstrap?.Utilisateur is not null) + { + string displayName = bootstrap.Utilisateur.NomAffiche ?? bootstrap.Utilisateur.Login ?? "Utilisateur"; + _permissionService.SetRights(bootstrap.Droits); + _permissionService.SetMessagerieExterne(bootstrap.MessagerieExterne); + _shellViewModel.SetIdentity(displayName, bootstrap.Utilisateur.Login); + +#if DEBUG + // Trace Development : prouve la chaîne locale (API URL, identité, + // rôle, droits) sans jamais journaliser de mot de passe ni de token. + AppLog.Write( + Microsoft.Extensions.Logging.LogLevel.Information, + nameof(AppServices), + $"DEV BOOTSTRAP API={_apiClient.BaseUrl} UT_PKID={bootstrap.Utilisateur.Id} " + + $"UT_LOGIN={bootstrap.Utilisateur.Login} UT_IDCollaborateur={bootstrap.Utilisateur.CollaborateurId} " + + $"ROLE={string.Join(",", bootstrap.Utilisateur.Roles)} " + + $"BOOTSTRAP_RIGHTS_COUNT={bootstrap.Droits.Count(d => d.Value)}"); +#endif + } + } + + /// + /// Termine le flux d'inscription : applique les droits du bootstrap puis + /// bascule vers le Shell. Le basculement a lieu APRÈS l'application des droits, + /// jamais avant, afin d'éviter un Shell construit avec un état de droits vide. + /// + private async Task CompleteEnrollmentAsync() + { + // Inscription réussie (événement Enrolled) : l'envoi des diagnostics devient + // actif immédiatement (en mémoire) et pour les prochains démarrages (fichier). + EnableDiagnosticUpload(persist: true); + + try + { + await ApplyBootstrapToShellAsync(); + } + catch (Exception ex) + { + AppLog.Write( + Microsoft.Extensions.Logging.LogLevel.Error, + nameof(AppServices), + $"ENROLL: échec de l'application du bootstrap après inscription : {ex.Message}"); + } + finally + { + // Accueil de première inscription : l'utilisateur règle sa langue + // secondaire (et télécharge ses modèles), son thème et sa pause + // déjeuner AVANT de découvrir l'application. L'accueil rend la main + // au Shell lui-même (bouton « Terminer » ou « Passer »). + _rootViewModel.ShowOnboarding(); + } + + // Inscription réussie : déclenche la synchronisation initiale (snapshot + + // agenda) une fois le Shell affiché. Sans cela, l'agenda resterait vide + // après l'inscription jusqu'à une navigation manuelle ou un appui sur + // « Synchroniser ». Fire-and-forget pour ne jamais retarder le basculement. + _ = StartInitialSyncAsync(); + } + + /// + /// Active l'envoi des diagnostics (kill-switch Enabled passé à true) + /// sur l'instance d'options partagée avec le worker d'upload, avec persistance + /// optionnelle du fichier d'opt-in pour les prochains démarrages. Fail-open : + /// aucun effet si l'observabilité n'a pas pu être initialisée. + /// + private void EnableDiagnosticUpload(bool persist) + { + if (_diagnosticUploadOptions is null) + { + return; + } + + _diagnosticUploadOptions.Enabled = true; + + if (persist) + { + DiagnosticUploadConfigurationLoader.Enable(); + } + } + + /// + /// Synchronisation automatique au lancement : récupère le snapshot serveur + /// (rendez-vous, personnes, interventions) si le réseau est disponible, puis + /// rafraîchit la page courante pour afficher les données fraîchement + /// synchronisées. Hors ligne, le moteur retourne « Hors ligne. » sans erreur + /// et la page affiche le contenu local déjà présent (aucune donnée perdue). + /// + public async Task StartInitialSyncAsync(CancellationToken cancellationToken = default) + { + AppLog.Write(Microsoft.Extensions.Logging.LogLevel.Information, nameof(AppServices), "[STARTUP-SYNC] begin"); + await _shellViewModel.SyncNowAsync(cancellationToken); + AppLog.Write(Microsoft.Extensions.Logging.LogLevel.Information, nameof(AppServices), "[STARTUP-SYNC] sync completed, refreshing current page"); + + // Aide contextuelle : synchronisée depuis l'API au lancement (table + // Doc_Aide, ou fichier doc_aide.json sur base Batik). Les textes affichés + // ne sont donc plus ceux figés dans le binaire. Ramenée sur le thread + // d'interface : la base SQLite locale partage une connexion unique. + await SynchroniserAideAsync(cancellationToken); + + _shellViewModel.RefreshCurrentPage(); + + // À partir de cet instant (Shell affiché, session valide), la file locale + // est surveillée : toute saisie enregistrée en local part automatiquement + // dès que le réseau est disponible, sans action de l'utilisateur. Cet + // envoi de fond est indépendant de la synchronisation globale : il ne + // déclenche aucun snapshot et ne touche jamais l'écran en cours. L'envoi + // manuel (bouton « Synchroniser », page « Synchronisation ») reste + // disponible et inchangé. + StartBackgroundSync(); + } + + /// + /// Synchronise l'aide contextuelle depuis l'API (source de référence : + /// table Doc_Aide, ou fichier doc_aide.json sur base Batik). + /// + /// + /// Fail-open de bout en bout : hors connexion, appareil non inscrit ou + /// serveur en erreur, l'aide déjà présente sur l'appareil est conservée et le + /// démarrage n'est jamais retardé ni interrompu. L'accès SQLite est ramené sur + /// le thread d'interface (connexion unique partagée). + /// + /// + private async Task SynchroniserAideAsync(CancellationToken cancellationToken) + { + try + { + int synchronisees = await Avalonia.Threading.Dispatcher.UIThread.InvokeAsync( + () => _docAideSync.SynchroniserAsync(cancellationToken)); + + AppLog.Write( + Microsoft.Extensions.Logging.LogLevel.Information, + nameof(AppServices), + $"[AIDE-SYNC] {synchronisees} fiche(s) synchronisée(s)"); + } + catch (OperationCanceledException) + { + // Démarrage interrompu : rien à signaler. + } + catch (Exception ex) + { + AppLog.Write( + Microsoft.Extensions.Logging.LogLevel.Warning, + nameof(AppServices), + $"[AIDE-SYNC] synchronisation impossible, aide locale conservée : {ex.Message}"); + } + } + + /// + /// Démarre la surveillance de fond de la file Outbox (idempotent). Elle + /// n'exécute QUE l'envoi des données locales en attente + /// () : aucune + /// synchronisation globale, aucun rafraîchissement de l'écran en cours. + /// La synchronisation globale (snapshot + rafraîchissement de la vue) reste + /// déclenchée au lancement, par le bouton « Synchroniser » et à l'ouverture + /// de chaque fiche. + /// + /// Les deux délégués sont ramenés sur le thread d'interface : la base SQLite + /// locale partage une connexion unique, elle ne doit jamais être utilisée + /// depuis deux threads en parallèle (saisie en cours vs envoi de fond). + /// + /// + private void StartBackgroundSync() + { + if (_backgroundSyncStarted) + { + return; + } + + _backgroundSyncStarted = true; + + // NB : ce compteur pilote la boucle de fond et DOIT rester le compteur + // « travail restant » (Pending/Sending/Accepted/WaitingResult) : il couvre + // à la fois l'envoi et la confirmation des statuts. Le badge affiché, lui, + // utilise CountNotYetSentAsync (Pending/Sending uniquement). + _backgroundSync.Start( + pendingCountProvider: cancellationToken => + Avalonia.Threading.Dispatcher.UIThread.InvokeAsync( + () => _outboxService.CountPendingAsync(cancellationToken)), + sendPendingOperations: cancellationToken => + Avalonia.Threading.Dispatcher.UIThread.InvokeAsync( + () => _shellViewModel.SendPendingDataAsync(cancellationToken))); + + AppLog.Write( + Microsoft.Extensions.Logging.LogLevel.Information, + nameof(AppServices), + "[BACKGROUND-SYNC] surveillance d'envoi démarrée"); + } + + /// + /// Rafraîchit les interventions épinglées depuis l'API au démarrage, sans + /// bloquer l'UI ni supprimer la copie locale en cas d'échec. + /// + private async Task RefreshPinnedFavoritesAsync() + { + try + { + await _interventionService.RefreshPinnedAsync(); + } + catch + { + // Offline : conserve les favoris locaux, aucun blocage. + } + } + + + /// + /// Construit la liste des réécrivains de payload Outbox utilisés par la + /// réconciliation d'identité (A → B). Chaque type d'entité métier apporte son + /// mécanisme typé ; ils sont tous enregistrés ici (aucune logique Android/iOS). + /// + private static IReadOnlyList BuildPayloadRewriters() => + [ + new ClientPayloadRewriter(), + new SitePayloadRewriter(), + new DossierPayloadRewriter(), + new InterventionPayloadRewriter(), + new RendezVousPayloadRewriter(), + new NoteInternePayloadRewriter(), + new NoteAdministrativePayloadRewriter(), + new NoteDocumentPayloadRewriter() + ]; + + /// Libère les ressources (base SQLite). + public void Dispose() + { + _database.Dispose(); + } +} diff --git a/src/Omika.App/AssemblyInfo.cs b/src/Omika.App/AssemblyInfo.cs new file mode 100644 index 0000000..426be80 --- /dev/null +++ b/src/Omika.App/AssemblyInfo.cs @@ -0,0 +1,5 @@ +using System.Runtime.CompilerServices; + +// Les tests doivent pouvoir vérifier la journalisation applicative (destination +// persistante) : un défaut silencieux y rendrait tout diagnostic impossible. +[assembly: InternalsVisibleTo("Omika.Tests")] diff --git a/src/Omika.App/Assets/Icon.png b/src/Omika.App/Assets/Icon.png new file mode 100644 index 0000000..3c39845 Binary files /dev/null and b/src/Omika.App/Assets/Icon.png differ diff --git a/src/Omika.App/Assets/avalonia-logo.ico b/src/Omika.App/Assets/avalonia-logo.ico new file mode 100644 index 0000000..f7da8bb Binary files /dev/null and b/src/Omika.App/Assets/avalonia-logo.ico differ diff --git a/src/Omika.App/Controls/CallButton.axaml b/src/Omika.App/Controls/CallButton.axaml new file mode 100644 index 0000000..8659446 --- /dev/null +++ b/src/Omika.App/Controls/CallButton.axaml @@ -0,0 +1,18 @@ + + + + diff --git a/src/Omika.App/Controls/CallButton.axaml.cs b/src/Omika.App/Controls/CallButton.axaml.cs new file mode 100644 index 0000000..c779642 --- /dev/null +++ b/src/Omika.App/Controls/CallButton.axaml.cs @@ -0,0 +1,34 @@ +using System.Windows.Input; +using Avalonia; +using Avalonia.Controls; + +namespace Omika.App.Controls; + +/// +/// Bouton « Appeler » réutilisable (icône téléphone, sans texte). +/// +public partial class CallButton : UserControl +{ + public CallButton() + { + InitializeComponent(); + } + + public static readonly StyledProperty CommandProperty = + AvaloniaProperty.Register(nameof(Command)); + + public static readonly StyledProperty CommandParameterProperty = + AvaloniaProperty.Register(nameof(CommandParameter)); + + public ICommand? Command + { + get => GetValue(CommandProperty); + set => SetValue(CommandProperty, value); + } + + public object? CommandParameter + { + get => GetValue(CommandParameterProperty); + set => SetValue(CommandParameterProperty, value); + } +} diff --git a/src/Omika.App/Controls/ClientCard.axaml b/src/Omika.App/Controls/ClientCard.axaml new file mode 100644 index 0000000..45238a7 --- /dev/null +++ b/src/Omika.App/Controls/ClientCard.axaml @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Omika.App/Controls/ClientCard.axaml.cs b/src/Omika.App/Controls/ClientCard.axaml.cs new file mode 100644 index 0000000..9e18f45 --- /dev/null +++ b/src/Omika.App/Controls/ClientCard.axaml.cs @@ -0,0 +1,136 @@ +using System.Windows.Input; +using Avalonia; +using Avalonia.Controls; + +namespace Omika.App.Controls; + +/// +/// Carte de client réutilisable : présente un client de façon homogène +/// (nom, code, type, statut, ville, code postal, coordonnées) avec une +/// action d'épinglage optionnelle et une ouverture de la fiche client. +/// Les champs non renseignés sont masqués automatiquement. +/// +public partial class ClientCard : UserControl +{ + public ClientCard() + { + InitializeComponent(); + } + + public static readonly StyledProperty NomProperty = + AvaloniaProperty.Register(nameof(Nom)); + + public static readonly StyledProperty CodeProperty = + AvaloniaProperty.Register(nameof(Code)); + + public static readonly StyledProperty TypeProperty = + AvaloniaProperty.Register(nameof(Type)); + + public static readonly StyledProperty StatutProperty = + AvaloniaProperty.Register(nameof(Statut)); + + public static readonly StyledProperty VilleProperty = + AvaloniaProperty.Register(nameof(Ville)); + + public static readonly StyledProperty CodePostalProperty = + AvaloniaProperty.Register(nameof(CodePostal)); + + public static readonly StyledProperty TelephoneProperty = + AvaloniaProperty.Register(nameof(Telephone)); + + public static readonly StyledProperty EmailProperty = + AvaloniaProperty.Register(nameof(Email)); + + public static readonly StyledProperty IsPinnedProperty = + AvaloniaProperty.Register(nameof(IsPinned)); + + public static readonly StyledProperty ShowPinProperty = + AvaloniaProperty.Register(nameof(ShowPin)); + + public static readonly StyledProperty OpenCommandProperty = + AvaloniaProperty.Register(nameof(OpenCommand)); + + public static readonly StyledProperty PinCommandProperty = + AvaloniaProperty.Register(nameof(PinCommand)); + + public static readonly StyledProperty CommandParameterProperty = + AvaloniaProperty.Register(nameof(CommandParameter)); + + public string? Nom + { + get => GetValue(NomProperty); + set => SetValue(NomProperty, value); + } + + public string? Code + { + get => GetValue(CodeProperty); + set => SetValue(CodeProperty, value); + } + + public string? Type + { + get => GetValue(TypeProperty); + set => SetValue(TypeProperty, value); + } + + public string? Statut + { + get => GetValue(StatutProperty); + set => SetValue(StatutProperty, value); + } + + public string? Ville + { + get => GetValue(VilleProperty); + set => SetValue(VilleProperty, value); + } + + public string? CodePostal + { + get => GetValue(CodePostalProperty); + set => SetValue(CodePostalProperty, value); + } + + public string? Telephone + { + get => GetValue(TelephoneProperty); + set => SetValue(TelephoneProperty, value); + } + + public string? Email + { + get => GetValue(EmailProperty); + set => SetValue(EmailProperty, value); + } + + public bool IsPinned + { + get => GetValue(IsPinnedProperty); + set => SetValue(IsPinnedProperty, value); + } + + public bool ShowPin + { + get => GetValue(ShowPinProperty); + set => SetValue(ShowPinProperty, value); + } + + public ICommand? OpenCommand + { + get => GetValue(OpenCommandProperty); + set => SetValue(OpenCommandProperty, value); + } + + public ICommand? PinCommand + { + get => GetValue(PinCommandProperty); + set => SetValue(PinCommandProperty, value); + } + + public object? CommandParameter + { + get => GetValue(CommandParameterProperty); + set => SetValue(CommandParameterProperty, value); + } +} diff --git a/src/Omika.App/Controls/ContactCard.axaml b/src/Omika.App/Controls/ContactCard.axaml new file mode 100644 index 0000000..ff91f8c --- /dev/null +++ b/src/Omika.App/Controls/ContactCard.axaml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Omika.App/Controls/ContactCard.axaml.cs b/src/Omika.App/Controls/ContactCard.axaml.cs new file mode 100644 index 0000000..671884c --- /dev/null +++ b/src/Omika.App/Controls/ContactCard.axaml.cs @@ -0,0 +1,80 @@ +using System.Windows.Input; +using Avalonia; +using Avalonia.Controls; + +namespace Omika.App.Controls; + +/// +/// Carte de contact réutilisable (fiche Client et fiche Site) : nom affiché, +/// rôle éventuel, coordonnées et bouton « Ouvrir ». +/// +public partial class ContactCard : UserControl +{ + public ContactCard() + { + InitializeComponent(); + } + + public static readonly StyledProperty DisplayNameProperty = + AvaloniaProperty.Register(nameof(DisplayName)); + + public static readonly StyledProperty RolesDisplayProperty = + AvaloniaProperty.Register(nameof(RolesDisplay)); + + public static readonly StyledProperty PhoneProperty = + AvaloniaProperty.Register(nameof(Phone)); + + public static readonly StyledProperty MobileProperty = + AvaloniaProperty.Register(nameof(Mobile)); + + public static readonly StyledProperty EmailProperty = + AvaloniaProperty.Register(nameof(Email)); + + public static readonly StyledProperty OpenCommandProperty = + AvaloniaProperty.Register(nameof(OpenCommand)); + + public static readonly StyledProperty CommandParameterProperty = + AvaloniaProperty.Register(nameof(CommandParameter)); + + public string? DisplayName + { + get => GetValue(DisplayNameProperty); + set => SetValue(DisplayNameProperty, value); + } + + public string? RolesDisplay + { + get => GetValue(RolesDisplayProperty); + set => SetValue(RolesDisplayProperty, value); + } + + public string? Phone + { + get => GetValue(PhoneProperty); + set => SetValue(PhoneProperty, value); + } + + public string? Mobile + { + get => GetValue(MobileProperty); + set => SetValue(MobileProperty, value); + } + + public string? Email + { + get => GetValue(EmailProperty); + set => SetValue(EmailProperty, value); + } + + public ICommand? OpenCommand + { + get => GetValue(OpenCommandProperty); + set => SetValue(OpenCommandProperty, value); + } + + public object? CommandParameter + { + get => GetValue(CommandParameterProperty); + set => SetValue(CommandParameterProperty, value); + } +} diff --git a/src/Omika.App/Controls/DateField.axaml b/src/Omika.App/Controls/DateField.axaml new file mode 100644 index 0000000..cda08c5 --- /dev/null +++ b/src/Omika.App/Controls/DateField.axaml @@ -0,0 +1,34 @@ + + + + + diff --git a/src/Omika.App/Controls/DateField.axaml.cs b/src/Omika.App/Controls/DateField.axaml.cs new file mode 100644 index 0000000..1f88617 --- /dev/null +++ b/src/Omika.App/Controls/DateField.axaml.cs @@ -0,0 +1,27 @@ +using System; +using Avalonia; +using Avalonia.Controls; + +namespace Omika.App.Controls; + +/// +/// Champ date réutilisable (valeur + icône calendrier) qui ouvre un petit +/// calendrier. Identique au sélecteur de l'Agenda, à utiliser partout où une +/// date doit être saisie. +/// +public partial class DateField : UserControl +{ + public DateField() + { + InitializeComponent(); + } + + public static readonly StyledProperty SelectedDateProperty = + AvaloniaProperty.Register(nameof(SelectedDate)); + + public DateTime? SelectedDate + { + get => GetValue(SelectedDateProperty); + set => SetValue(SelectedDateProperty, value); + } +} diff --git a/src/Omika.App/Controls/DictationTextField.axaml b/src/Omika.App/Controls/DictationTextField.axaml new file mode 100644 index 0000000..ab68823 --- /dev/null +++ b/src/Omika.App/Controls/DictationTextField.axaml @@ -0,0 +1,354 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Omika.App/Controls/DossierCard.axaml.cs b/src/Omika.App/Controls/DossierCard.axaml.cs new file mode 100644 index 0000000..164400d --- /dev/null +++ b/src/Omika.App/Controls/DossierCard.axaml.cs @@ -0,0 +1,126 @@ +using System.Windows.Input; +using Avalonia; +using Avalonia.Controls; + +namespace Omika.App.Controls; + +/// +/// Carte de dossier réutilisable : référence interne, titre, client, statut, +/// type, référence externe et nombre d'interventions. Les champs manquants +/// restent vides (masqués). +/// +public partial class DossierCard : UserControl +{ + public DossierCard() + { + InitializeComponent(); + } + + public static readonly StyledProperty RefInterneProperty = + AvaloniaProperty.Register(nameof(RefInterne)); + + public static readonly StyledProperty TitreProperty = + AvaloniaProperty.Register(nameof(Titre)); + + public static readonly StyledProperty ClientNomProperty = + AvaloniaProperty.Register(nameof(ClientNom)); + + public static readonly StyledProperty StatutProperty = + AvaloniaProperty.Register(nameof(Statut)); + + public static readonly StyledProperty TypeProperty = + AvaloniaProperty.Register(nameof(Type)); + + public static readonly StyledProperty RefExterneProperty = + AvaloniaProperty.Register(nameof(RefExterne)); + + public static readonly StyledProperty NbInterventionsProperty = + AvaloniaProperty.Register(nameof(NbInterventions)); + + public static readonly StyledProperty IsPinnedProperty = + AvaloniaProperty.Register(nameof(IsPinned)); + + public static readonly StyledProperty ShowPinProperty = + AvaloniaProperty.Register(nameof(ShowPin)); + + public static readonly StyledProperty OpenCommandProperty = + AvaloniaProperty.Register(nameof(OpenCommand)); + + public static readonly StyledProperty PinCommandProperty = + AvaloniaProperty.Register(nameof(PinCommand)); + + public static readonly StyledProperty CommandParameterProperty = + AvaloniaProperty.Register(nameof(CommandParameter)); + + public string? RefInterne + { + get => GetValue(RefInterneProperty); + set => SetValue(RefInterneProperty, value); + } + + public string? Titre + { + get => GetValue(TitreProperty); + set => SetValue(TitreProperty, value); + } + + public string? ClientNom + { + get => GetValue(ClientNomProperty); + set => SetValue(ClientNomProperty, value); + } + + public string? Statut + { + get => GetValue(StatutProperty); + set => SetValue(StatutProperty, value); + } + + public string? Type + { + get => GetValue(TypeProperty); + set => SetValue(TypeProperty, value); + } + + public string? RefExterne + { + get => GetValue(RefExterneProperty); + set => SetValue(RefExterneProperty, value); + } + + public int? NbInterventions + { + get => GetValue(NbInterventionsProperty); + set => SetValue(NbInterventionsProperty, value); + } + + public bool IsPinned + { + get => GetValue(IsPinnedProperty); + set => SetValue(IsPinnedProperty, value); + } + + public bool ShowPin + { + get => GetValue(ShowPinProperty); + set => SetValue(ShowPinProperty, value); + } + + public ICommand? OpenCommand + { + get => GetValue(OpenCommandProperty); + set => SetValue(OpenCommandProperty, value); + } + + public ICommand? PinCommand + { + get => GetValue(PinCommandProperty); + set => SetValue(PinCommandProperty, value); + } + + public object? CommandParameter + { + get => GetValue(CommandParameterProperty); + set => SetValue(CommandParameterProperty, value); + } +} diff --git a/src/Omika.App/Controls/EmailButton.axaml b/src/Omika.App/Controls/EmailButton.axaml new file mode 100644 index 0000000..5b4db9b --- /dev/null +++ b/src/Omika.App/Controls/EmailButton.axaml @@ -0,0 +1,22 @@ + + + + + diff --git a/src/Omika.App/Controls/EmailButton.axaml.cs b/src/Omika.App/Controls/EmailButton.axaml.cs new file mode 100644 index 0000000..cac3c40 --- /dev/null +++ b/src/Omika.App/Controls/EmailButton.axaml.cs @@ -0,0 +1,228 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using System.Windows.Input; +using Avalonia; +using Avalonia.Controls; +using Avalonia.Threading; +using Omika.App.Local.Abstractions; + +namespace Omika.App.Controls; + +/// +/// Bouton « Envoyer un email » réutilisable (icône enveloppe, sans texte). +/// +/// +/// Réseau obligatoire. Un email ne peut être composé/senti qu'en ligne : +/// le bouton devient donc inactif (grisé, non cliquable) dès que l'appareil +/// est hors connexion. Il reste VISIBLE et à sa place : l'utilisateur comprend +/// que l'action existe mais qu'elle est momentanément impossible, au lieu de la +/// voir disparaître. +/// +/// +/// +/// La règle est portée par le CONTRÔLE, pas par chaque écran : tous les boutons +/// d'email de l'application (fiche intervention, rendez-vous, contacts, clients, +/// collaborateurs, équipe) en héritent automatiquement, sans risque d'oubli sur +/// un nouvel usage. +/// +/// +/// +/// La connectivité est fournie par la composition racine +/// (, la même instance que celle du moteur de +/// synchronisation). Une détection en échec ne bloque JAMAIS l'action +/// (repli « considéré en ligne ») : on n'empêche pas un envoi à cause d'un +/// capteur réseau indisponible. +/// +/// +public partial class EmailButton : UserControl +{ + /// Info-bulle en fonctionnement normal. + internal const string InfoBulleDisponible = "Envoyer un email"; + + /// Info-bulle hors ligne : l'action n'est pas disponible. + internal const string InfoBulleHorsLigne = "Hors ligne — envoi d'email indisponible"; + + /// + /// Réévaluation périodique de la connectivité pendant que des boutons sont + /// affichés (20 s). Un seul appel réseau pour tous les boutons attachés : le + /// passage hors ligne / retour en ligne est reflété sans avoir à changer + /// d'écran. + /// + private static readonly TimeSpan IntervalleVeille = TimeSpan.FromSeconds(20); + + /// Boutons actuellement affichés (la veille les met à jour ensemble). + private static readonly List BoutonsAttaches = []; + + private static DispatcherTimer? _veille; + private static INetworkConnectivity? _connectivite; + + public EmailButton() + { + InitializeComponent(); + } + + /// + /// Connectivité de l'application, installée une seule fois par la composition + /// racine. (tests, aperçu de design) : les boutons + /// restent actifs. + /// + public static INetworkConnectivity? Connectivite + { + get => _connectivite; + set + { + _connectivite = value; + _ = RafraichirTousAsync(); + } + } + + public static readonly StyledProperty CommandProperty = + AvaloniaProperty.Register(nameof(Command)); + + public static readonly StyledProperty CommandParameterProperty = + AvaloniaProperty.Register(nameof(CommandParameter)); + + /// + /// Vrai quand l'envoi d'email est possible (en ligne). Faux hors ligne : le + /// bouton est alors désactivé et son info-bulle l'explique. + /// + public static readonly StyledProperty EstDisponibleProperty = + AvaloniaProperty.Register(nameof(EstDisponible), defaultValue: true); + + /// Texte de l'info-bulle, cohérent avec . + public static readonly StyledProperty InfoBulleProperty = + AvaloniaProperty.Register( + nameof(InfoBulle), defaultValue: InfoBulleDisponible); + + public ICommand? Command + { + get => GetValue(CommandProperty); + set => SetValue(CommandProperty, value); + } + + public object? CommandParameter + { + get => GetValue(CommandParameterProperty); + set => SetValue(CommandParameterProperty, value); + } + + public bool EstDisponible + { + get => GetValue(EstDisponibleProperty); + private set => SetValue(EstDisponibleProperty, value); + } + + public string InfoBulle + { + get => GetValue(InfoBulleProperty); + private set => SetValue(InfoBulleProperty, value); + } + + /// Réévalue la disponibilité de CE bouton (appelée à l'affichage). + public async Task RafraichirDisponibiliteAsync() + { + bool disponible = await EvaluerDisponibiliteAsync(); + AppliquerDisponibilite(disponible); + } + + protected override void OnAttachedToVisualTree(VisualTreeAttachmentEventArgs e) + { + base.OnAttachedToVisualTree(e); + + if (!BoutonsAttaches.Contains(this)) + { + BoutonsAttaches.Add(this); + } + + DemarrerVeille(); + _ = RafraichirDisponibiliteAsync(); + } + + protected override void OnDetachedFromVisualTree(VisualTreeAttachmentEventArgs e) + { + BoutonsAttaches.Remove(this); + if (BoutonsAttaches.Count == 0) + { + ArreterVeille(); + } + + base.OnDetachedFromVisualTree(e); + } + + /// + /// Évalue la connectivité. Toute erreur de détection est traitée comme + /// « en ligne » : une panne du capteur réseau ne doit pas empêcher l'envoi. + /// + private static async Task EvaluerDisponibiliteAsync() + { + INetworkConnectivity? connectivite = _connectivite; + if (connectivite is null) + { + return true; + } + + try + { + return await connectivite.IsOnlineAsync(); + } + catch (OperationCanceledException) + { + return true; + } + catch + { + return true; + } + } + + /// Met à jour tous les boutons affichés avec une seule évaluation réseau. + /// + /// Point d'entrée public : la veille périodique l'appelle, et un écran peut + /// le déclencher après une action qui change l'état du réseau (synchronisation + /// manuelle, retour d'un appel serveur). + /// + public static async Task RafraichirTousAsync() + { + bool disponible = await EvaluerDisponibiliteAsync(); + + foreach (EmailButton bouton in BoutonsAttaches.ToArray()) + { + bouton.AppliquerDisponibilite(disponible); + } + } + + /// + /// Applique l'état, toujours sur le thread d'interface (les propriétés liées + /// par la vue doivent être modifiées depuis le thread UI). + /// + private void AppliquerDisponibilite(bool disponible) + { + if (!Dispatcher.UIThread.CheckAccess()) + { + Dispatcher.UIThread.Post(() => AppliquerDisponibilite(disponible)); + return; + } + + EstDisponible = disponible; + InfoBulle = disponible ? InfoBulleDisponible : InfoBulleHorsLigne; + } + + private static void DemarrerVeille() + { + if (_veille is not null || _connectivite is null) + { + return; + } + + _veille = new DispatcherTimer { Interval = IntervalleVeille }; + _veille.Tick += (_, _) => _ = RafraichirTousAsync(); + _veille.Start(); + } + + private static void ArreterVeille() + { + _veille?.Stop(); + _veille = null; + } +} diff --git a/src/Omika.App/Controls/EmailHtmlParser.cs b/src/Omika.App/Controls/EmailHtmlParser.cs new file mode 100644 index 0000000..1d90f37 --- /dev/null +++ b/src/Omika.App/Controls/EmailHtmlParser.cs @@ -0,0 +1,606 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Text.RegularExpressions; +using System.Xml.Linq; + +namespace Omika.App.Controls; + +/// Bloc de contenu HTML (paragraphe ou tableau). +public abstract record HtmlBlock; + +/// Paragraphe : contenu inline (texte, sauts, images). +public sealed record HtmlParagraph(IReadOnlyList Inlines) : HtmlBlock; + +/// Tableau : lignes. +public sealed record HtmlTable(IReadOnlyList Rows) : HtmlBlock; + +/// Ligne de tableau : cellules. +public sealed record HtmlRow(IReadOnlyList Cells); + +/// Cellule de tableau : contenu inline. +public sealed record HtmlCell(IReadOnlyList Inlines); + +/// Contenu inline (texte formaté, saut de ligne, image). +public abstract record HtmlInline; + +/// Fragment de texte avec formatage (gras / italique / souligné). +public sealed record HtmlRun(string Text, bool Bold, bool Italic, bool Underline) : HtmlInline; + +/// Saut de ligne (<br>). +public sealed record HtmlLineBreak : HtmlInline; + +/// Image data URI (type MIME + base64, jamais décodée ici). +public sealed record HtmlImage( + string MimeType, + string Base64Data, + int? Width = null, + int? Height = null) : HtmlInline; + +/// +/// Parse le HTML des corps de courriel vers un modèle structuré : +/// +/// le sous-ensemble produit par DocxHtmlConverter/EmailImageInliner +/// (paragraphes, <br>, <b>/<i>/<u>, tableaux, images data URI) ; +/// le HTML complet produit par WINDEV DocVersHTML +/// (<!DOCTYPE>, <html>/<head>/<style>/<body>, +/// <tbody>, attributs non quotés, classes .Normal/.TableauNormal…). +/// +/// Les éléments NON VISUELS (head, style, script, meta, +/// link, title, base, noscript) ne produisent jamais de +/// TextBlock. Pur (aucune dépendance Avalonia) afin d'être testable. +/// Ne journalise ni n'expose aucun contenu. +/// +public static class EmailHtmlParser +{ + /// Éléments structurels/non visuels : jamais rendus comme texte. + private static readonly HashSet NonVisuels = new(StringComparer.OrdinalIgnoreCase) + { + "head", "style", "script", "meta", "link", "title", "base", "noscript" + }; + + /// Éléments conteneurs traversés sans produire de bloc. + private static readonly HashSet Conteneurs = new(StringComparer.OrdinalIgnoreCase) + { + "html", "body" + }; + + /// Éléments vides (sans balise fermante) à auto-fermer avant parsing XML. + private static readonly string[] ElementsVides = + [ + "meta", "img", "br", "hr", "link", "col", "input", "area", "base", + "wbr", "embed", "param", "source", "track" + ]; + + public static IReadOnlyList Parser(string html) + { + if (string.IsNullOrWhiteSpace(html)) + { + return []; + } + + string nettoye = Normaliser(html); + try + { + XDocument doc = XDocument.Parse("" + nettoye + "", LoadOptions.PreserveWhitespace); + + var blocs = new List(); + foreach (XElement element in doc.Root!.Elements()) + { + AjouterBloc(element, blocs); + } + + return blocs; + } + catch (Exception) + { + // HTML malformé : repli texte brut (aucune balise brute affichée), sur la + // version NORMALISÉE (head/style/script déjà retirés → aucun CSS visible). + return [new HtmlParagraph([new HtmlRun(HtmlToPlainText(nettoye), false, false, false)])]; + } + } + + /// Ajoute un bloc (ou traverse les conteneurs) à partir d'un élément racine. + private static void AjouterBloc(XElement element, List blocs) + { + string nom = element.Name.LocalName; + + if (NonVisuels.Contains(nom)) + { + return; + } + + if (Conteneurs.Contains(nom)) + { + foreach (XElement enfant in element.Elements()) + { + AjouterBloc(enfant, blocs); + } + return; + } + + if (string.Equals(nom, "table", StringComparison.OrdinalIgnoreCase)) + { + blocs.Add(ParserTable(element)); + } + else + { + blocs.Add(new HtmlParagraph(ParserInlines(element))); + } + } + + private static HtmlTable ParserTable(XElement table) + { + var lignes = new List(); + foreach (XElement ligneElement in LignesDirectes(table)) + { + var cellules = new List(); + foreach (XElement td in ligneElement.Elements()) + { + string nom = td.Name.LocalName; + if (string.Equals(nom, "td", StringComparison.OrdinalIgnoreCase) + || string.Equals(nom, "th", StringComparison.OrdinalIgnoreCase)) + { + cellules.Add(new HtmlCell(ParserInlines(td))); + } + } + + lignes.Add(new HtmlRow(cellules)); + } + + return new HtmlTable(lignes); + } + + /// + /// Parcourt les <tr> directs d'une table, en traversant les sections + /// <tbody>/<thead>/<tfoot> émises par WINDEV (sans inclure les + /// lignes d'une éventuelle table imbriquée). + /// + private static IEnumerable LignesDirectes(XElement table) + { + foreach (XElement section in table.Elements()) + { + string nom = section.Name.LocalName; + if (string.Equals(nom, "tbody", StringComparison.OrdinalIgnoreCase) + || string.Equals(nom, "thead", StringComparison.OrdinalIgnoreCase) + || string.Equals(nom, "tfoot", StringComparison.OrdinalIgnoreCase)) + { + foreach (XElement tr in section.Elements()) + { + if (string.Equals(tr.Name.LocalName, "tr", StringComparison.OrdinalIgnoreCase)) + { + yield return tr; + } + } + continue; + } + + if (string.Equals(nom, "tr", StringComparison.OrdinalIgnoreCase)) + { + yield return section; + } + } + } + + private static IReadOnlyList ParserInlines(XElement parent) + { + var result = new List(); + foreach (XNode node in parent.Nodes()) + { + result.AddRange(ParserNoeudInline(node, bold: false, italic: false, underline: false)); + } + + return result; + } + + private static IEnumerable ParserNoeudInline(XNode node, bool bold, bool italic, bool underline) + { + if (node is XText text) + { + string valeur = text.Value; + // Le whitespace STRUCTUREL (retours à la ligne / indentation entre + // balises, présent dans le HTML pretty-printé) ne produit ni texte ni + // saut de ligne — sinon il créerait des espaces vides parasites entre + // image/date/note. Les espaces inline simples (« a b ») + // restent conservés. + if (valeur.Length > 0 + && !(valeur.Trim().Length == 0 && (valeur.Contains('\n') || valeur.Contains('\r')))) + { + yield return new HtmlRun(valeur, bold, italic, underline); + } + + yield break; + } + + if (node is not XElement element) + { + yield break; + } + + string nom = element.Name.LocalName.ToLowerInvariant(); + + // Éléments non visuels : ne JAMAIS produire de texte. + if (NonVisuels.Contains(nom)) + { + yield break; + } + + switch (nom) + { + case "br": + yield return new HtmlLineBreak(); + yield break; + + case "p": + case "div": + // Bloc : contenu puis saut de ligne (ex. cellule « image / date / note » + // de WINDEV, ou

imbriqués dans un ). + foreach (HtmlInline inline in ParserEnfants(element, bold, italic, underline)) + { + yield return inline; + } + yield return new HtmlLineBreak(); + yield break; + + case "img": + HtmlImage? image = ParserImage(element); + if (image is not null) + { + yield return image; + } + yield break; + + case "table": + // Table imbriquée (bloc photo WINDEV : ligne image / ligne date / ligne + // note) : aplatie en contenu inline, chaque ligne séparée par un saut. + foreach (HtmlInline inline in AplatirTable(element, bold, italic, underline)) + { + yield return inline; + } + yield break; + + case "b": + case "strong": + foreach (HtmlInline inline in ParserEnfants(element, bold: true, italic, underline)) + { + yield return inline; + } + yield break; + + case "i": + case "em": + foreach (HtmlInline inline in ParserEnfants(element, bold, italic: true, underline)) + { + yield return inline; + } + yield break; + + case "u": + foreach (HtmlInline inline in ParserEnfants(element, bold, italic, underline: true)) + { + yield return inline; + } + yield break; + + default: + // Élément inconnu (ex. ) : on traite son contenu (défensif). + foreach (HtmlInline inline in ParserEnfants(element, bold, italic, underline)) + { + yield return inline; + } + yield break; + } + } + + ///

Aplatit une table imbriquée en inline (ligne → saut de ligne). + private static IEnumerable AplatirTable(XElement table, bool bold, bool italic, bool underline) + { + bool premiere = true; + bool lignePrecedenteTermineParSaut = false; + foreach (XElement tr in LignesDirectes(table)) + { + var inlines = new List(); + foreach (XElement td in tr.Elements()) + { + string nom = td.Name.LocalName; + if (!string.Equals(nom, "td", StringComparison.OrdinalIgnoreCase) + && !string.Equals(nom, "th", StringComparison.OrdinalIgnoreCase)) + { + continue; + } + + inlines.AddRange(ParserInlines(td)); + } + + // Séparateur de ligne uniquement si la ligne précédente ne se termine + // PAS déjà par un saut (les cellules WINDEV finissent par

→ saut) : + // évite les lignes vides doublées entre image / date / note. + if (!premiere && !lignePrecedenteTermineParSaut && inlines.Count > 0) + { + yield return new HtmlLineBreak(); + } + + foreach (HtmlInline inline in inlines) + { + yield return inline; + } + + lignePrecedenteTermineParSaut = inlines.Count > 0 && inlines[^1] is HtmlLineBreak; + premiere = false; + } + } + + private static IEnumerable ParserEnfants(XElement element, bool bold, bool italic, bool underline) + { + foreach (XNode node in element.Nodes()) + { + foreach (HtmlInline inline in ParserNoeudInline(node, bold, italic, underline)) + { + yield return inline; + } + } + } + + private static HtmlImage? ParserImage(XElement img) + { + string? src = img.Attribute("src")?.Value; + if (string.IsNullOrWhiteSpace(src) || !src.StartsWith("data:", StringComparison.OrdinalIgnoreCase)) + { + return null; + } + + int virgule = src.IndexOf(','); + if (virgule <= "data:".Length) + { + return null; + } + + string meta = src["data:".Length..virgule]; + if (!meta.Contains("base64", StringComparison.OrdinalIgnoreCase)) + { + return null; + } + + int sep = meta.IndexOf(';'); + string mime = (sep >= 0 ? meta[..sep] : meta).Trim(); + string base64 = src[(virgule + 1)..]; + + // Valide que le Base64 est décodable (sinon l'image est ignorée sans crash). + try + { + _ = Convert.FromBase64String(base64); + } + catch (FormatException) + { + return null; + } + + // Dimensions d'affichage explicites de la balise (ex. WINDEV + // width=305 height=206) : conservées pour que l'aperçu respecte la taille + // voulue par l'émetteur (et non la taille intrinsèque du bitmap). + int? width = ParserDimension(img.Attribute("width")?.Value); + int? height = ParserDimension(img.Attribute("height")?.Value); + + return new HtmlImage(mime, base64, width, height); + } + + ///

Lit une dimension HTML (entier positif ; ignore l'unité px/pt). + private static int? ParserDimension(string? valeur) + { + if (string.IsNullOrWhiteSpace(valeur)) + { + return null; + } + + int i = 0; + while (i < valeur.Length && char.IsDigit(valeur[i])) + { + i++; + } + + if (i == 0) + { + return null; + } + + return int.TryParse(valeur[..i], out int resultat) && resultat > 0 ? resultat : null; + } + + // ------------------------------------------------------------------ + // Normalisation du HTML réel (WINDEV) avant parsing XML + // ------------------------------------------------------------------ + + /// + /// Transforme un HTML réel (WINDEV DocVersHTML) en XML analysable : + /// retire <!DOCTYPE>/commentaires/PI, extrait le <body>, + /// supprime les blocs non visuels, quote les attributs non quotés et auto-ferme + /// les éléments vides. Le CSS/script n'est jamais conservé. + /// + private static string Normaliser(string html) + { + try + { + string s = html; + + // 1. Déclarations, commentaires, instructions de traitement. + s = Regex.Replace(s, "]*>", string.Empty, RegexOptions.IgnoreCase); + s = Regex.Replace(s, "<\\?[^>]*\\?>", string.Empty, RegexOptions.Singleline); + s = Regex.Replace(s, "", string.Empty, RegexOptions.Singleline); + + // 2. Corps du document : on ne garde QUE le contenu de (le , + // + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Omika.App/Views/AgendaEquipeView.axaml.cs b/src/Omika.App/Views/AgendaEquipeView.axaml.cs new file mode 100644 index 0000000..7eb9305 --- /dev/null +++ b/src/Omika.App/Views/AgendaEquipeView.axaml.cs @@ -0,0 +1,102 @@ +using Avalonia; +using Avalonia.Controls; + +namespace Omika.App.Views; + +/// +/// Vue de l'agenda d'équipe : liste des rendez-vous d'une équipe ou d'un +/// collaborateur, groupés par date, avec accès aux fiches rendez-vous. +/// +public partial class AgendaEquipeView : UserControl +{ + /// + /// Largeur (px) en dessous de laquelle la toolbar passe sur trois lignes + /// (mode / [Aujourd'hui][date] / navigation) pour que le champ date ne + /// sorte jamais de la card. + /// + private const double ToolbarStackBreakpoint = 480; + + /// + /// Largeur (px) en dessous de laquelle les filtres Équipe / Collaborateur + /// passent en une seule colonne empilée. + /// + private const double FilterStackBreakpoint = 600; + + public AgendaEquipeView() + { + InitializeComponent(); + SizeChanged += OnSizeChanged; + } + + private void OnSizeChanged(object? sender, SizeChangedEventArgs e) + => ApplyResponsive(e.NewSize.Width); + + /// + /// Réorganise la toolbar et les filtres selon la largeur disponible. + /// Aucune logique métier n'est touchée : seuls les positionnements Grid + /// sont adaptés. + /// + private void ApplyResponsive(double width) + { + if (ToolbarGrid is null || SegmentedControl is null || TodayDateRow is null || PeriodNavRow is null + || FilterGrid is null || EquipeFilterColumn is null || CollaborateurFilterColumn is null) + { + return; + } + + ApplyToolbarLayout(width); + ApplyFilterLayout(width); + } + + private void ApplyToolbarLayout(double width) + { + if (width < ToolbarStackBreakpoint) + { + // Mobile : mode sur sa ligne, [Aujourd'hui][date] en dessous, puis navigation. + ToolbarGrid.ColumnDefinitions = new ColumnDefinitions("*"); + ToolbarGrid.RowDefinitions = new RowDefinitions("Auto,Auto,Auto"); + Grid.SetColumn(SegmentedControl, 0); + Grid.SetRow(SegmentedControl, 0); + Grid.SetColumn(TodayDateRow, 0); + Grid.SetRow(TodayDateRow, 1); + Grid.SetColumn(PeriodNavRow, 0); + Grid.SetRow(PeriodNavRow, 2); + Grid.SetColumnSpan(PeriodNavRow, 1); + } + else + { + // Tablette / desktop : mode + [Aujourd'hui][date] sur la ligne 1, navigation en dessous. + ToolbarGrid.ColumnDefinitions = new ColumnDefinitions("Auto,Auto,*"); + ToolbarGrid.RowDefinitions = new RowDefinitions("Auto,Auto"); + Grid.SetColumn(SegmentedControl, 0); + Grid.SetRow(SegmentedControl, 0); + Grid.SetColumn(TodayDateRow, 1); + Grid.SetRow(TodayDateRow, 0); + Grid.SetColumn(PeriodNavRow, 0); + Grid.SetRow(PeriodNavRow, 1); + Grid.SetColumnSpan(PeriodNavRow, 3); + } + } + + private void ApplyFilterLayout(double width) + { + if (width < FilterStackBreakpoint) + { + FilterGrid.ColumnDefinitions = new ColumnDefinitions("*"); + FilterGrid.RowDefinitions = new RowDefinitions("Auto,Auto"); + Grid.SetColumn(EquipeFilterColumn, 0); + Grid.SetRow(EquipeFilterColumn, 0); + Grid.SetColumn(CollaborateurFilterColumn, 0); + Grid.SetRow(CollaborateurFilterColumn, 1); + } + else + { + FilterGrid.ColumnDefinitions = new ColumnDefinitions("*,*"); + FilterGrid.RowDefinitions = new RowDefinitions("Auto"); + Grid.SetColumn(EquipeFilterColumn, 0); + Grid.SetRow(EquipeFilterColumn, 0); + Grid.SetColumn(CollaborateurFilterColumn, 1); + Grid.SetRow(CollaborateurFilterColumn, 0); + } + } +} diff --git a/src/Omika.App/Views/AgendaView.axaml b/src/Omika.App/Views/AgendaView.axaml new file mode 100644 index 0000000..f5ee0f5 --- /dev/null +++ b/src/Omika.App/Views/AgendaView.axaml @@ -0,0 +1,745 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Omika.App/Views/AgendaView.axaml.cs b/src/Omika.App/Views/AgendaView.axaml.cs new file mode 100644 index 0000000..df45810 --- /dev/null +++ b/src/Omika.App/Views/AgendaView.axaml.cs @@ -0,0 +1,74 @@ +using Avalonia; +using Avalonia.Controls; + +namespace Omika.App.Views; + +/// +/// Vue de la page Agenda. +/// Affiche les rendez-vous d'une journée donnée, chargés depuis les données +/// locales SQLite. Ne déclenche aucun appel API. +/// +public partial class AgendaView : UserControl +{ + /// + /// Largeur (px) en dessous de laquelle la toolbar de l'agenda se réorganise + /// sur trois lignes (mode / [Aujourd'hui][date] / navigation). + /// + private const double MobileBreakpoint = 450; + + public AgendaView() + { + InitializeComponent(); + SizeChanged += OnSizeChanged; + } + + private void OnSizeChanged(object? sender, SizeChangedEventArgs e) + => ApplyResponsive(e.NewSize.Width); + + /// + /// Réorganise la mise en page selon la largeur disponible. Aucune logique + /// métier n'est touchée : seuls les positionnements Grid sont adaptés. + /// + private void ApplyResponsive(double width) + { + if (ToolbarGrid is null || SegmentedControl is null || TodayDateRow is null || PeriodNavRow is null) + { + return; + } + + ApplyToolbarLayout(width); + } + + /// + /// Toolbar : sur mobile, le sélecteur Jour/Semaine/Calendrier occupe sa + /// propre ligne, puis [Aujourd'hui][date], puis la navigation de période. + /// Au-dessus du seuil, la disposition d'origine est conservée. + /// + private void ApplyToolbarLayout(double width) + { + if (width < MobileBreakpoint) + { + ToolbarGrid.ColumnDefinitions = new ColumnDefinitions("*"); + ToolbarGrid.RowDefinitions = new RowDefinitions("Auto,Auto,Auto"); + Grid.SetColumn(SegmentedControl, 0); + Grid.SetRow(SegmentedControl, 0); + Grid.SetColumn(TodayDateRow, 0); + Grid.SetRow(TodayDateRow, 1); + Grid.SetColumn(PeriodNavRow, 0); + Grid.SetRow(PeriodNavRow, 2); + Grid.SetColumnSpan(PeriodNavRow, 1); + } + else + { + ToolbarGrid.ColumnDefinitions = new ColumnDefinitions("Auto,Auto,*"); + ToolbarGrid.RowDefinitions = new RowDefinitions("Auto,Auto"); + Grid.SetColumn(SegmentedControl, 0); + Grid.SetRow(SegmentedControl, 0); + Grid.SetColumn(TodayDateRow, 1); + Grid.SetRow(TodayDateRow, 0); + Grid.SetColumn(PeriodNavRow, 0); + Grid.SetRow(PeriodNavRow, 1); + Grid.SetColumnSpan(PeriodNavRow, 3); + } + } +} diff --git a/src/Omika.App/Views/AllTrueConverter.cs b/src/Omika.App/Views/AllTrueConverter.cs new file mode 100644 index 0000000..8fae513 --- /dev/null +++ b/src/Omika.App/Views/AllTrueConverter.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using Avalonia.Data.Converters; + +namespace Omika.App.Views; + +/// +/// Convertit plusieurs valeurs booléennes en un seul booléen : true si +/// toutes les valeurs sont true. Utilisé pour combiner la visibilité d'une +/// action par item (ex. « le contact a un email ») avec un droit de l'utilisateur +/// porté par le ViewModel (ex. « PeutEnvoyerEmail »). +/// +public sealed class AllTrueConverter : IMultiValueConverter +{ + /// Instance singleton utilisable en XAML. + public static readonly AllTrueConverter Instance = new(); + + public object? Convert(IList values, Type targetType, object? parameter, CultureInfo culture) + { + if (values is null || values.Count == 0) + { + return false; + } + + return values.All(v => v is true); + } + + public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) + => throw new NotSupportedException(); +} diff --git a/src/Omika.App/Views/BoolToTextConverter.cs b/src/Omika.App/Views/BoolToTextConverter.cs new file mode 100644 index 0000000..6508db6 --- /dev/null +++ b/src/Omika.App/Views/BoolToTextConverter.cs @@ -0,0 +1,21 @@ +using System; +using System.Globalization; +using Avalonia.Data.Converters; + +namespace Omika.App.Views; + +/// +/// Convertit un booléen en texte d'état de connexion. +/// true → "Connecté", false → "Non connecté". +/// +public sealed class BoolToTextConverter : IValueConverter +{ + /// Instance singleton utilisable en XAML. + public static readonly BoolToTextConverter Instance = new(); + + public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture) + => value is true ? "Connecté" : "Non connecté"; + + public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) + => throw new NotSupportedException(); +} diff --git a/src/Omika.App/Views/ChampEditionTemplates.axaml b/src/Omika.App/Views/ChampEditionTemplates.axaml new file mode 100644 index 0000000..b6c765e --- /dev/null +++ b/src/Omika.App/Views/ChampEditionTemplates.axaml @@ -0,0 +1,383 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Omika.App/Views/ClientDetailView.axaml b/src/Omika.App/Views/ClientDetailView.axaml new file mode 100644 index 0000000..6eb6a28 --- /dev/null +++ b/src/Omika.App/Views/ClientDetailView.axaml @@ -0,0 +1,261 @@ + + + + + + + + + + + + + + + diff --git a/src/Omika.App/Views/CollaborateursView.axaml.cs b/src/Omika.App/Views/CollaborateursView.axaml.cs new file mode 100644 index 0000000..d3641b1 --- /dev/null +++ b/src/Omika.App/Views/CollaborateursView.axaml.cs @@ -0,0 +1,14 @@ +using Avalonia.Controls; + +namespace Omika.App.Views; + +/// +/// Vue de la liste des collaborateurs / équipe (lecture seule, données locales SQLite). +/// +public partial class CollaborateursView : UserControl +{ + public CollaborateursView() + { + InitializeComponent(); + } +} diff --git a/src/Omika.App/Views/CompteRenduCreateView.axaml b/src/Omika.App/Views/CompteRenduCreateView.axaml new file mode 100644 index 0000000..fe2c57a --- /dev/null +++ b/src/Omika.App/Views/CompteRenduCreateView.axaml @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Omika.App/Views/EquipeDetailView.axaml.cs b/src/Omika.App/Views/EquipeDetailView.axaml.cs new file mode 100644 index 0000000..72adcef --- /dev/null +++ b/src/Omika.App/Views/EquipeDetailView.axaml.cs @@ -0,0 +1,14 @@ +using Avalonia.Controls; + +namespace Omika.App.Views; + +/// +/// Détail d'une équipe : nom + liste des membres (collaborateurs). +/// +public partial class EquipeDetailView : UserControl +{ + public EquipeDetailView() + { + InitializeComponent(); + } +} diff --git a/src/Omika.App/Views/EquipesView.axaml b/src/Omika.App/Views/EquipesView.axaml new file mode 100644 index 0000000..b3c8811 --- /dev/null +++ b/src/Omika.App/Views/EquipesView.axaml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Omika.App/Views/EquipesView.axaml.cs b/src/Omika.App/Views/EquipesView.axaml.cs new file mode 100644 index 0000000..76b9e60 --- /dev/null +++ b/src/Omika.App/Views/EquipesView.axaml.cs @@ -0,0 +1,14 @@ +using Avalonia.Controls; + +namespace Omika.App.Views; + +/// +/// Liste des équipes de l'utilisateur courant. +/// +public partial class EquipesView : UserControl +{ + public EquipesView() + { + InitializeComponent(); + } +} diff --git a/src/Omika.App/Views/HexColorToBrushConverter.cs b/src/Omika.App/Views/HexColorToBrushConverter.cs new file mode 100644 index 0000000..69c2bff --- /dev/null +++ b/src/Omika.App/Views/HexColorToBrushConverter.cs @@ -0,0 +1,37 @@ +using System; +using System.Globalization; +using Avalonia.Data.Converters; +using Avalonia.Media; + +namespace Omika.App.Views; + +/// +/// Convertit une couleur hexadécimale (#RRGGBB) en pinceau. Retourne +/// si la valeur est vide ou invalide, ce qui laisse le +/// contrôle cible sur son pinceau par défaut (l'élément est masqué par ailleurs +/// via ObjectConverters.IsNotNull quand la couleur est absente). +/// +public sealed class HexColorToBrushConverter : IValueConverter +{ + public static readonly HexColorToBrushConverter Instance = new(); + + public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture) + { + if (value is not string hex || string.IsNullOrWhiteSpace(hex)) + { + return null; + } + + try + { + return new SolidColorBrush(Color.Parse(hex)); + } + catch (FormatException) + { + return null; + } + } + + public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) + => throw new NotSupportedException(); +} diff --git a/src/Omika.App/Views/ImageEditorView.axaml b/src/Omika.App/Views/ImageEditorView.axaml new file mode 100644 index 0000000..fc8f990 --- /dev/null +++ b/src/Omika.App/Views/ImageEditorView.axaml @@ -0,0 +1,377 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Omika.App/Views/ImageEditorView.axaml.cs b/src/Omika.App/Views/ImageEditorView.axaml.cs new file mode 100644 index 0000000..d320c10 --- /dev/null +++ b/src/Omika.App/Views/ImageEditorView.axaml.cs @@ -0,0 +1,323 @@ +using System; +using Avalonia; +using Avalonia.Controls; +using Avalonia.Controls.Primitives; +using Avalonia.Interactivity; +using Avalonia.Media; +using Omika.App.Controls; +using Omika.App.ViewModels; + +namespace Omika.App.Views; + +/// +/// Vue de la page « Modifier l'image » : éditeur d'annotation plein écran, +/// responsive (layout desktop à 3 colonnes / layout mobile avec dock + feuilles +/// en bas). Toute la logique de dessin est déléguée au contrôle +/// ; cette vue ne gère que l'UI. +/// +public partial class ImageEditorView : UserControl +{ + private const double MobileBreakpoint = 820; + + private bool _initialized; + private bool _isMobile; + private bool _updating; + + public ImageEditorView() + { + InitializeComponent(); + Editor.Changed += OnEditorChanged; + } + + protected override void OnDataContextChanged(EventArgs e) + { + base.OnDataContextChanged(e); + if (DataContext is ImageEditorViewModel vm) + { + Initialize(vm); + } + } + + protected override void OnSizeChanged(SizeChangedEventArgs size) + { + base.OnSizeChanged(size); + ApplyLayout(size.NewSize.Width); + } + + private void Initialize(ImageEditorViewModel vm) + { + if (_initialized) + { + return; + } + + _initialized = true; + Editor.LoadImage(vm.SourceImagePath); + SyncControls(); + ApplyLayout(Bounds.Width); + UpdateState(); + } + + private void ApplyLayout(double width) + { + bool mobile = width > 0 && width < MobileBreakpoint; + _isMobile = mobile; + DesktopTopBar.IsVisible = !mobile; + MobileTopBar.IsVisible = mobile; + LeftSidebar.IsVisible = !mobile; + MobileDock.IsVisible = mobile; + + if (!mobile) + { + HideSheets(); + } + } + + // ------------------------------------------------------------------ + // État / labels + // ------------------------------------------------------------------ + + private void SyncControls() + { + SetThickness(Editor.StrokeThickness); + SetOpacity(Editor.BrushOpacity); + SetTextSize(Editor.TextSize); + UpdateZoomLabel(); + } + + private void UpdateState() + { + UndoBtn.IsEnabled = Editor.CanUndo; + RedoBtn.IsEnabled = Editor.CanRedo; + ResetBtn.IsEnabled = Editor.HasAnnotations; + SaveBtn.IsEnabled = Editor.HasAnnotations; + } + + private void OnEditorChanged(object? sender, EventArgs e) + => UpdateState(); + + private void UpdateZoomLabel() + => ZoomLabel.Text = $"{(int)Math.Round(Editor.Zoom * 100)} %"; + + // ------------------------------------------------------------------ + // Outils / couleurs / réglages + // ------------------------------------------------------------------ + + private void OnToolClick(object? sender, RoutedEventArgs e) + { + if (sender is not Button { Tag: AnnotationTool tool }) + { + return; + } + + Editor.Tool = tool; + ShowSheetForTool(tool); + } + + private void ShowSheetForTool(AnnotationTool tool) + { + HideSheets(); + + if (tool == AnnotationTool.Text) + { + TextSheet.IsVisible = true; + DraftTextBox.Focus(); + } + else if (_isMobile && tool is AnnotationTool.Arrow or AnnotationTool.Rectangle + or AnnotationTool.Ellipse or AnnotationTool.Highlight + or AnnotationTool.Blur or AnnotationTool.Freehand) + { + ToolSheetTitle.Text = ToolLabel(tool); + ToolSheet.IsVisible = true; + } + } + + private void HideSheets() + { + ToolSheet.IsVisible = false; + TextSheet.IsVisible = false; + MoreSheet.IsVisible = false; + } + + private void OnMoreClick(object? sender, RoutedEventArgs e) + { + if (MoreSheet.IsVisible) + { + HideSheets(); + } + else + { + HideSheets(); + MoreSheet.IsVisible = true; + } + } + + private void OnSheetClose(object? sender, RoutedEventArgs e) + => HideSheets(); + + private void OnSheetApply(object? sender, RoutedEventArgs e) + => HideSheets(); + + private void OnSheetCancel(object? sender, RoutedEventArgs e) + { + HideSheets(); + Editor.Tool = AnnotationTool.Select; + } + + private void OnTextAdd(object? sender, RoutedEventArgs e) + { + if (Editor.CommitDraftText()) + { + HideSheets(); + Editor.Tool = AnnotationTool.Select; + } + } + + private void OnTextCancel(object? sender, RoutedEventArgs e) + { + Editor.ClearDraftText(); + HideSheets(); + Editor.Tool = AnnotationTool.Select; + } + + private void OnThicknessChanged(object? sender, RangeBaseValueChangedEventArgs e) + => SetThickness(e.NewValue); + + private void OnOpacityChanged(object? sender, RangeBaseValueChangedEventArgs e) + => SetOpacity(e.NewValue); + + private void OnTextSizeChanged(object? sender, RangeBaseValueChangedEventArgs e) + => SetTextSize(e.NewValue); + + private void SetThickness(double value) + { + if (_updating) + { + return; + } + + _updating = true; + Editor.StrokeThickness = value; + ThicknessSlider.Value = value; + ToolThicknessSlider.Value = value; + ThicknessLabel.Text = $"{value:0} px"; + ToolThicknessLabel.Text = $"{value:0} px"; + _updating = false; + } + + private void SetOpacity(double value) + { + if (_updating) + { + return; + } + + _updating = true; + Editor.BrushOpacity = value; + OpacitySlider.Value = value; + ToolOpacitySlider.Value = value; + string percent = $"{(int)Math.Round(value * 100)} %"; + OpacityLabel.Text = percent; + ToolOpacityLabel.Text = percent; + _updating = false; + } + + private void SetTextSize(double value) + { + if (_updating) + { + return; + } + + _updating = true; + Editor.TextSize = value; + TextSizeSlider.Value = value; + TextSizeLabel.Text = $"{value:0}"; + _updating = false; + } + + // ------------------------------------------------------------------ + // Couleurs + // ------------------------------------------------------------------ + + private void OnColorRed(object? sender, RoutedEventArgs e) => SetColor(Color.FromRgb(0xE5, 0x39, 0x35)); + private void OnColorOrange(object? sender, RoutedEventArgs e) => SetColor(Color.FromRgb(0xFB, 0x8C, 0x00)); + private void OnColorGreen(object? sender, RoutedEventArgs e) => SetColor(Color.FromRgb(0x43, 0xA0, 0x47)); + private void OnColorBlue(object? sender, RoutedEventArgs e) => SetColor(Color.FromRgb(0x1E, 0x88, 0xE5)); + private void OnColorPurple(object? sender, RoutedEventArgs e) => SetColor(Color.FromRgb(0x8E, 0x24, 0xAA)); + private void OnColorBlack(object? sender, RoutedEventArgs e) => SetColor(Color.FromRgb(0x21, 0x21, 0x21)); + private void OnColorWhite(object? sender, RoutedEventArgs e) => SetColor(Colors.White); + + private void SetColor(Color color) + => Editor.StrokeColor = color; + + // ------------------------------------------------------------------ + // Annuler / rétablir / réinitialiser / zoom / enregistrer + // ------------------------------------------------------------------ + + private void OnUndoClick(object? sender, RoutedEventArgs e) => Editor.Undo(); + private void OnRedoClick(object? sender, RoutedEventArgs e) => Editor.Redo(); + private void OnResetClick(object? sender, RoutedEventArgs e) => Editor.Reset(); + + private void OnZoomIn(object? sender, RoutedEventArgs e) + { + Editor.ZoomIn(); + UpdateZoomLabel(); + } + + private void OnZoomOut(object? sender, RoutedEventArgs e) + { + Editor.ZoomOut(); + UpdateZoomLabel(); + } + + private void OnFit(object? sender, RoutedEventArgs e) + { + Editor.Fit(); + UpdateZoomLabel(); + } + + private async void OnSaveClick(object? sender, RoutedEventArgs e) + { + if (DataContext is not ImageEditorViewModel vm || vm.IsSaving) + { + return; + } + + byte[]? png = Editor.RenderToPng(); + if (png is null) + { + vm.ErrorMessage = "Ajoutez au moins une annotation avant d'enregistrer."; + return; + } + + // Grise le bouton pendant l'enregistrement + l'envoi, pour éviter un + // second clic pendant le traitement. + SaveBtn.IsEnabled = false; + try + { + await vm.SaveAnnotatedPhotoAsync(png); + } + finally + { + SaveBtn.IsEnabled = Editor.HasAnnotations; + } + } + + // ------------------------------------------------------------------ + // Helpers + // ------------------------------------------------------------------ + + private static string ToolLabel(AnnotationTool tool) => tool switch + { + AnnotationTool.Select => "Sélection", + AnnotationTool.Text => "Texte", + AnnotationTool.Arrow => "Flèche", + AnnotationTool.Rectangle => "Rectangle", + AnnotationTool.Ellipse => "Cercle", + AnnotationTool.Highlight => "Surligneur", + AnnotationTool.Blur => "Floutage", + AnnotationTool.Freehand => "Crayon", + _ => "Outil" + }; +} diff --git a/src/Omika.App/Views/InitialsConverter.cs b/src/Omika.App/Views/InitialsConverter.cs new file mode 100644 index 0000000..79b27eb --- /dev/null +++ b/src/Omika.App/Views/InitialsConverter.cs @@ -0,0 +1,42 @@ +using System; +using System.Globalization; +using Avalonia.Data.Converters; + +namespace Omika.App.Views; + +/// +/// Convertit un nom affiché en initiales purement visuelles (1 à 2 lettres). +/// Dérivé uniquement des valeurs réelles : « Jean Dupont » → « JD », +/// « Dupont » → « DU ». Aucune donnée fictive n'est produite. +/// +public sealed class InitialsConverter : IValueConverter +{ + public static readonly InitialsConverter Instance = new(); + + public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture) + { + if (value is not string name) + { + return string.Empty; + } + + string[] parts = name.Split(' ', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries); + if (parts.Length == 0) + { + return string.Empty; + } + + if (parts.Length == 1) + { + string single = parts[0]; + return single[..Math.Min(2, single.Length)].ToUpperInvariant(); + } + + return string.Concat(char.ToUpperInvariant(parts[0][0]), char.ToUpperInvariant(parts[^1][0])); + } + + public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) + { + throw new NotSupportedException(); + } +} diff --git a/src/Omika.App/Views/InterventionContactsView.axaml b/src/Omika.App/Views/InterventionContactsView.axaml new file mode 100644 index 0000000..7720b76 --- /dev/null +++ b/src/Omika.App/Views/InterventionContactsView.axaml @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + diff --git a/src/Omika.App/Views/InterventionContactsView.axaml.cs b/src/Omika.App/Views/InterventionContactsView.axaml.cs new file mode 100644 index 0000000..d924b71 --- /dev/null +++ b/src/Omika.App/Views/InterventionContactsView.axaml.cs @@ -0,0 +1,16 @@ +using Avalonia.Controls; + +namespace Omika.App.Views; + +/// +/// Vue de la page Contacts d'une intervention. +/// Affiche les contacts réellement liés depuis SQLite (aucun appel réseau) et +/// ouvre le détail d'un contact. Lecture seule. +/// +public partial class InterventionContactsView : UserControl +{ + public InterventionContactsView() + { + InitializeComponent(); + } +} diff --git a/src/Omika.App/Views/InterventionDetailView.axaml b/src/Omika.App/Views/InterventionDetailView.axaml new file mode 100644 index 0000000..be484ee --- /dev/null +++ b/src/Omika.App/Views/InterventionDetailView.axaml @@ -0,0 +1,608 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +